@acoustte-digital-services/digitalstore-controls-dev 0.8.1-dev.20260420121019 → 0.8.1-dev.20260421105518

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.
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  HlsPlayer_default
4
- } from "./chunk-CVVLFQ4J.mjs";
4
+ } from "./chunk-SA6A3K2T.mjs";
5
5
  export {
6
6
  HlsPlayer_default as default
7
7
  };
@@ -48,9 +48,15 @@ var HlsPlayer = React.memo(
48
48
  });
49
49
  hlsRef.current = hls;
50
50
  } else if (v.canPlayType("application/vnd.apple.mpegurl")) {
51
- v.src = assetUrl;
51
+ v.load();
52
52
  }
53
- }, [assetUrl, isPlaying]);
53
+ return () => {
54
+ if (hlsRef.current) {
55
+ hlsRef.current.destroy();
56
+ hlsRef.current = null;
57
+ }
58
+ };
59
+ }, [assetUrl]);
54
60
  const handlePlayPause = useCallback(() => {
55
61
  const v = videoRef.current;
56
62
  if (!v) return;
@@ -97,7 +103,8 @@ var HlsPlayer = React.memo(
97
103
  autoPlay: playOptions === "autoplay",
98
104
  loop,
99
105
  playsInline: true,
100
- onClick: !isMobile && !isPlaying ? handlePlayPause : void 0
106
+ onClick: !isMobile && !isPlaying ? handlePlayPause : void 0,
107
+ children: assetUrl && /* @__PURE__ */ jsx("source", { src: assetUrl, type: "application/x-mpegURL" })
101
108
  }
102
109
  ),
103
110
  !isMobile && playOptions === "playOnHover" && posterUrl && /* @__PURE__ */ jsx(
package/dist/index.js CHANGED
@@ -325,9 +325,15 @@ var init_HlsPlayer = __esm({
325
325
  });
326
326
  hlsRef.current = hls;
327
327
  } else if (v.canPlayType("application/vnd.apple.mpegurl")) {
328
- v.src = assetUrl;
328
+ v.load();
329
329
  }
330
- }, [assetUrl, isPlaying]);
330
+ return () => {
331
+ if (hlsRef.current) {
332
+ hlsRef.current.destroy();
333
+ hlsRef.current = null;
334
+ }
335
+ };
336
+ }, [assetUrl]);
331
337
  const handlePlayPause = (0, import_react33.useCallback)(() => {
332
338
  const v = videoRef.current;
333
339
  if (!v) return;
@@ -374,7 +380,8 @@ var init_HlsPlayer = __esm({
374
380
  autoPlay: playOptions === "autoplay",
375
381
  loop,
376
382
  playsInline: true,
377
- onClick: !isMobile && !isPlaying ? handlePlayPause : void 0
383
+ onClick: !isMobile && !isPlaying ? handlePlayPause : void 0,
384
+ children: assetUrl && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("source", { src: assetUrl, type: "application/x-mpegURL" })
378
385
  }
379
386
  ),
380
387
  !isMobile && playOptions === "playOnHover" && posterUrl && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
@@ -5098,11 +5105,22 @@ var Pagination_default = Pagination;
5098
5105
 
5099
5106
  // src/components/pageRenderingEngine/nodes/ImageGalleryNode.tsx
5100
5107
  var import_dynamic5 = __toESM(require("next/dynamic"));
5101
- init_HlsPlayer();
5102
5108
  var import_jsx_runtime67 = require("react/jsx-runtime");
5103
- var HlsPlayer1 = (0, import_dynamic5.default)(() => Promise.resolve().then(() => (init_HlsPlayer(), HlsPlayer_exports)), {
5104
- ssr: false
5105
- });
5109
+ var HlsPlayer3 = (0, import_dynamic5.default)(() => Promise.resolve().then(() => (init_HlsPlayer(), HlsPlayer_exports)), { ssr: false });
5110
+ var deviceToMediaQuery = (device) => {
5111
+ switch (device) {
5112
+ case "sm":
5113
+ return "(max-width: 767px)";
5114
+ case "md":
5115
+ return "(min-width: 768px) and (max-width: 1199px)";
5116
+ case "lg":
5117
+ return "(min-width: 1200px) and (max-width: 1919px)";
5118
+ case "tv":
5119
+ return "(min-width: 1920px)";
5120
+ default:
5121
+ return null;
5122
+ }
5123
+ };
5106
5124
  var parseMaybeNumber = (value) => {
5107
5125
  if (typeof value === "number") {
5108
5126
  return Number.isFinite(value) ? value : void 0;
@@ -5111,14 +5129,15 @@ var parseMaybeNumber = (value) => {
5111
5129
  const n = Number(value);
5112
5130
  return Number.isFinite(n) ? n : void 0;
5113
5131
  };
5114
- var shouldRenderForDevice = (imageDevice, currentDevice) => {
5115
- if (!imageDevice) return true;
5116
- return imageDevice === currentDevice;
5132
+ var groupImagesForPicture = (images) => {
5133
+ const sources = images.filter((img) => !!img.device);
5134
+ const fallbacks = images.filter((img) => !img.device);
5135
+ return {
5136
+ sources,
5137
+ fallback: fallbacks[0] ?? sources[0] ?? null
5138
+ };
5117
5139
  };
5118
5140
  var ImageGalleryNode = (props) => {
5119
- console.log("Gallery Component Loaded");
5120
- console.log("Current Device:", props.device);
5121
- console.log("Gallery Images:", props.node.images);
5122
5141
  const resolveImageUrl = (imageUrl) => {
5123
5142
  if (!imageUrl) return "";
5124
5143
  if (imageUrl.startsWith("http")) return imageUrl;
@@ -5130,62 +5149,106 @@ var ImageGalleryNode = (props) => {
5130
5149
  if (!posterUrl) return void 0;
5131
5150
  return AssetUtility_default.resolveUrl(props.assetBaseUrl, posterUrl);
5132
5151
  };
5133
- const images = Array.isArray(props.node.images) ? props.node.images : [];
5152
+ const rawImages = Array.isArray(props.node.images) ? props.node.images : [];
5153
+ const hlsImages = rawImages.filter(
5154
+ (img) => resolveImageUrl(img.imageUrl).endsWith(".m3u8")
5155
+ );
5156
+ const staticImages = rawImages.filter(
5157
+ (img) => !resolveImageUrl(img.imageUrl).endsWith(".m3u8")
5158
+ );
5159
+ const { sources: staticSources, fallback: staticFallback } = groupImagesForPicture(staticImages);
5134
5160
  const FormatClass = {
5135
5161
  center: "justify-center",
5136
5162
  left: "justify-start",
5137
5163
  right: "justify-end"
5138
5164
  };
5139
5165
  const formatClasses = FormatClass[props.node.format || ""] || "";
5140
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: `flex flex-wrap gap-4 ${formatClasses}`, children: images.map((img, idx) => {
5141
- console.log("Checking Image:", img.imageUrl);
5142
- console.log("Image Device:", img.device);
5143
- console.log("Page Device:", props.device);
5144
- if (!shouldRenderForDevice(img.device, props.device)) {
5145
- console.log("\u274C Skipping Image (device mismatch)");
5146
- return null;
5147
- }
5148
- console.log("\u2705 Rendering Image");
5149
- const imageUrl = resolveImageUrl(img.imageUrl);
5150
- if (!imageUrl) return null;
5151
- const posterUrl = resolvePosterUrl(img.posterUrl);
5152
- const intrinsicWidth = parseMaybeNumber(img.intrinsicWidth);
5153
- const intrinsicHeight = parseMaybeNumber(img.intrinsicHeight);
5154
- const isHls = imageUrl.endsWith(".m3u8");
5155
- const alt = img.title || "Gallery image";
5156
- const styles = {};
5157
- if (img.height) styles.height = img.height;
5158
- if (img.width) styles.width = img.width;
5159
- if (img.borderRadius) styles.borderRadius = img.borderRadius;
5160
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "max-w-full", children: isHls ? /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5161
- HlsPlayer_default,
5162
- {
5163
- assetUrl: imageUrl,
5164
- posterUrl,
5165
- intrinsicWidth: intrinsicWidth?.toString(),
5166
- intrinsicHeight: intrinsicHeight?.toString(),
5167
- showControls: true,
5168
- loop: false,
5169
- playOptions: void 0,
5170
- apiBaseUrl: props.apiBaseUrl,
5171
- session: props.session
5172
- }
5173
- ) : (
5174
- /* eslint-disable-next-line @next/next/no-img-element */
5175
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5176
- "img",
5166
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: `flex flex-wrap gap-4 ${formatClasses}`, children: [
5167
+ hlsImages.map((img, idx) => {
5168
+ const assetUrl = resolveImageUrl(img.imageUrl);
5169
+ if (!assetUrl) return null;
5170
+ const posterUrl = resolvePosterUrl(img.posterUrl);
5171
+ const intrinsicWidth = parseMaybeNumber(img.intrinsicWidth);
5172
+ const intrinsicHeight = parseMaybeNumber(img.intrinsicHeight);
5173
+ const mediaQuery = deviceToMediaQuery(img.device);
5174
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
5175
+ "div",
5177
5176
  {
5178
- loading: "lazy",
5179
- style: styles,
5180
- className: "object-cover max-w-full",
5181
- src: imageUrl,
5182
- width: intrinsicWidth,
5183
- height: intrinsicHeight,
5184
- alt
5185
- }
5186
- )
5187
- ) }, `${idx}-${img.imageUrl}`);
5188
- }) });
5177
+ className: "max-w-full",
5178
+ style: mediaQuery ? { "--media-query": mediaQuery } : void 0,
5179
+ children: [
5180
+ mediaQuery && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("style", { children: `
5181
+ [data-hls-idx="${idx}"] { display: none; }
5182
+ @media ${mediaQuery} { [data-hls-idx="${idx}"] { display: block; } }
5183
+ ` }),
5184
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { "data-hls-idx": mediaQuery ? idx : void 0, children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5185
+ HlsPlayer3,
5186
+ {
5187
+ assetUrl,
5188
+ posterUrl,
5189
+ intrinsicWidth: intrinsicWidth?.toString(),
5190
+ intrinsicHeight: intrinsicHeight?.toString(),
5191
+ showControls: true,
5192
+ loop: false,
5193
+ playOptions: void 0,
5194
+ apiBaseUrl: props.apiBaseUrl,
5195
+ session: props.session
5196
+ }
5197
+ ) })
5198
+ ]
5199
+ },
5200
+ `hls-${idx}-${img.imageUrl}`
5201
+ );
5202
+ }),
5203
+ staticFallback && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "w-full", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("picture", { children: [
5204
+ ["sm", "md", "lg", "tv"].map((deviceKey) => {
5205
+ const match = staticSources.find(
5206
+ (img) => img.device === deviceKey
5207
+ );
5208
+ if (!match) return null;
5209
+ const srcUrl = resolveImageUrl(match.imageUrl);
5210
+ if (!srcUrl) return null;
5211
+ const mediaQuery = deviceToMediaQuery(match.device);
5212
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5213
+ "source",
5214
+ {
5215
+ media: mediaQuery,
5216
+ srcSet: srcUrl,
5217
+ width: parseMaybeNumber(match.intrinsicWidth),
5218
+ height: parseMaybeNumber(match.intrinsicHeight)
5219
+ },
5220
+ deviceKey
5221
+ );
5222
+ }),
5223
+ (() => {
5224
+ const img = staticFallback;
5225
+ const imageUrl = resolveImageUrl(img.imageUrl);
5226
+ if (!imageUrl) return null;
5227
+ const intrinsicWidth = parseMaybeNumber(img.intrinsicWidth);
5228
+ const intrinsicHeight = parseMaybeNumber(img.intrinsicHeight);
5229
+ const alt = img.title || "Gallery image";
5230
+ const styles = {};
5231
+ if (img.height) styles.height = img.height;
5232
+ if (img.width) styles.width = img.width;
5233
+ if (img.borderRadius) styles.borderRadius = img.borderRadius;
5234
+ return (
5235
+ /* eslint-disable-next-line @next/next/no-img-element */
5236
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
5237
+ "img",
5238
+ {
5239
+ loading: "lazy",
5240
+ style: styles,
5241
+ className: "object-cover max-w-full",
5242
+ src: imageUrl,
5243
+ width: intrinsicWidth,
5244
+ height: intrinsicHeight,
5245
+ alt
5246
+ }
5247
+ )
5248
+ );
5249
+ })()
5250
+ ] }) })
5251
+ ] });
5189
5252
  };
5190
5253
  var ImageGalleryNode_default = ImageGalleryNode;
5191
5254
 
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  HlsPlayer_default
3
- } from "./chunk-CVVLFQ4J.mjs";
3
+ } from "./chunk-SA6A3K2T.mjs";
4
4
  import {
5
5
  Button_default,
6
6
  ServiceClient_default,
@@ -2638,7 +2638,7 @@ var DeviceAssetSelector_default = DeviceAssetSelector;
2638
2638
 
2639
2639
  // src/components/pageRenderingEngine/nodes/ImageNode.tsx
2640
2640
  import { Fragment as Fragment3, jsx as jsx39 } from "react/jsx-runtime";
2641
- var HlsPlayer = dynamic(() => import("./HlsPlayer-FFEIK6FG.mjs"), {
2641
+ var HlsPlayer = dynamic(() => import("./HlsPlayer-5AJ5M4IS.mjs"), {
2642
2642
  ssr: false
2643
2643
  });
2644
2644
  var getNestedValue = (obj, path) => {
@@ -4106,10 +4106,22 @@ var Pagination_default = Pagination;
4106
4106
 
4107
4107
  // src/components/pageRenderingEngine/nodes/ImageGalleryNode.tsx
4108
4108
  import dynamic5 from "next/dynamic";
4109
- import { jsx as jsx58 } from "react/jsx-runtime";
4110
- var HlsPlayer1 = dynamic5(() => import("./HlsPlayer-FFEIK6FG.mjs"), {
4111
- ssr: false
4112
- });
4109
+ import { jsx as jsx58, jsxs as jsxs33 } from "react/jsx-runtime";
4110
+ var HlsPlayer2 = dynamic5(() => import("./HlsPlayer-5AJ5M4IS.mjs"), { ssr: false });
4111
+ var deviceToMediaQuery = (device) => {
4112
+ switch (device) {
4113
+ case "sm":
4114
+ return "(max-width: 767px)";
4115
+ case "md":
4116
+ return "(min-width: 768px) and (max-width: 1199px)";
4117
+ case "lg":
4118
+ return "(min-width: 1200px) and (max-width: 1919px)";
4119
+ case "tv":
4120
+ return "(min-width: 1920px)";
4121
+ default:
4122
+ return null;
4123
+ }
4124
+ };
4113
4125
  var parseMaybeNumber = (value) => {
4114
4126
  if (typeof value === "number") {
4115
4127
  return Number.isFinite(value) ? value : void 0;
@@ -4118,14 +4130,15 @@ var parseMaybeNumber = (value) => {
4118
4130
  const n = Number(value);
4119
4131
  return Number.isFinite(n) ? n : void 0;
4120
4132
  };
4121
- var shouldRenderForDevice = (imageDevice, currentDevice) => {
4122
- if (!imageDevice) return true;
4123
- return imageDevice === currentDevice;
4133
+ var groupImagesForPicture = (images) => {
4134
+ const sources = images.filter((img) => !!img.device);
4135
+ const fallbacks = images.filter((img) => !img.device);
4136
+ return {
4137
+ sources,
4138
+ fallback: fallbacks[0] ?? sources[0] ?? null
4139
+ };
4124
4140
  };
4125
4141
  var ImageGalleryNode = (props) => {
4126
- console.log("Gallery Component Loaded");
4127
- console.log("Current Device:", props.device);
4128
- console.log("Gallery Images:", props.node.images);
4129
4142
  const resolveImageUrl = (imageUrl) => {
4130
4143
  if (!imageUrl) return "";
4131
4144
  if (imageUrl.startsWith("http")) return imageUrl;
@@ -4137,68 +4150,112 @@ var ImageGalleryNode = (props) => {
4137
4150
  if (!posterUrl) return void 0;
4138
4151
  return AssetUtility_default.resolveUrl(props.assetBaseUrl, posterUrl);
4139
4152
  };
4140
- const images = Array.isArray(props.node.images) ? props.node.images : [];
4153
+ const rawImages = Array.isArray(props.node.images) ? props.node.images : [];
4154
+ const hlsImages = rawImages.filter(
4155
+ (img) => resolveImageUrl(img.imageUrl).endsWith(".m3u8")
4156
+ );
4157
+ const staticImages = rawImages.filter(
4158
+ (img) => !resolveImageUrl(img.imageUrl).endsWith(".m3u8")
4159
+ );
4160
+ const { sources: staticSources, fallback: staticFallback } = groupImagesForPicture(staticImages);
4141
4161
  const FormatClass = {
4142
4162
  center: "justify-center",
4143
4163
  left: "justify-start",
4144
4164
  right: "justify-end"
4145
4165
  };
4146
4166
  const formatClasses = FormatClass[props.node.format || ""] || "";
4147
- return /* @__PURE__ */ jsx58("div", { className: `flex flex-wrap gap-4 ${formatClasses}`, children: images.map((img, idx) => {
4148
- console.log("Checking Image:", img.imageUrl);
4149
- console.log("Image Device:", img.device);
4150
- console.log("Page Device:", props.device);
4151
- if (!shouldRenderForDevice(img.device, props.device)) {
4152
- console.log("\u274C Skipping Image (device mismatch)");
4153
- return null;
4154
- }
4155
- console.log("\u2705 Rendering Image");
4156
- const imageUrl = resolveImageUrl(img.imageUrl);
4157
- if (!imageUrl) return null;
4158
- const posterUrl = resolvePosterUrl(img.posterUrl);
4159
- const intrinsicWidth = parseMaybeNumber(img.intrinsicWidth);
4160
- const intrinsicHeight = parseMaybeNumber(img.intrinsicHeight);
4161
- const isHls = imageUrl.endsWith(".m3u8");
4162
- const alt = img.title || "Gallery image";
4163
- const styles = {};
4164
- if (img.height) styles.height = img.height;
4165
- if (img.width) styles.width = img.width;
4166
- if (img.borderRadius) styles.borderRadius = img.borderRadius;
4167
- return /* @__PURE__ */ jsx58("div", { className: "max-w-full", children: isHls ? /* @__PURE__ */ jsx58(
4168
- HlsPlayer_default,
4169
- {
4170
- assetUrl: imageUrl,
4171
- posterUrl,
4172
- intrinsicWidth: intrinsicWidth?.toString(),
4173
- intrinsicHeight: intrinsicHeight?.toString(),
4174
- showControls: true,
4175
- loop: false,
4176
- playOptions: void 0,
4177
- apiBaseUrl: props.apiBaseUrl,
4178
- session: props.session
4179
- }
4180
- ) : (
4181
- /* eslint-disable-next-line @next/next/no-img-element */
4182
- /* @__PURE__ */ jsx58(
4183
- "img",
4167
+ return /* @__PURE__ */ jsxs33("div", { className: `flex flex-wrap gap-4 ${formatClasses}`, children: [
4168
+ hlsImages.map((img, idx) => {
4169
+ const assetUrl = resolveImageUrl(img.imageUrl);
4170
+ if (!assetUrl) return null;
4171
+ const posterUrl = resolvePosterUrl(img.posterUrl);
4172
+ const intrinsicWidth = parseMaybeNumber(img.intrinsicWidth);
4173
+ const intrinsicHeight = parseMaybeNumber(img.intrinsicHeight);
4174
+ const mediaQuery = deviceToMediaQuery(img.device);
4175
+ return /* @__PURE__ */ jsxs33(
4176
+ "div",
4184
4177
  {
4185
- loading: "lazy",
4186
- style: styles,
4187
- className: "object-cover max-w-full",
4188
- src: imageUrl,
4189
- width: intrinsicWidth,
4190
- height: intrinsicHeight,
4191
- alt
4192
- }
4193
- )
4194
- ) }, `${idx}-${img.imageUrl}`);
4195
- }) });
4178
+ className: "max-w-full",
4179
+ style: mediaQuery ? { "--media-query": mediaQuery } : void 0,
4180
+ children: [
4181
+ mediaQuery && /* @__PURE__ */ jsx58("style", { children: `
4182
+ [data-hls-idx="${idx}"] { display: none; }
4183
+ @media ${mediaQuery} { [data-hls-idx="${idx}"] { display: block; } }
4184
+ ` }),
4185
+ /* @__PURE__ */ jsx58("div", { "data-hls-idx": mediaQuery ? idx : void 0, children: /* @__PURE__ */ jsx58(
4186
+ HlsPlayer2,
4187
+ {
4188
+ assetUrl,
4189
+ posterUrl,
4190
+ intrinsicWidth: intrinsicWidth?.toString(),
4191
+ intrinsicHeight: intrinsicHeight?.toString(),
4192
+ showControls: true,
4193
+ loop: false,
4194
+ playOptions: void 0,
4195
+ apiBaseUrl: props.apiBaseUrl,
4196
+ session: props.session
4197
+ }
4198
+ ) })
4199
+ ]
4200
+ },
4201
+ `hls-${idx}-${img.imageUrl}`
4202
+ );
4203
+ }),
4204
+ staticFallback && /* @__PURE__ */ jsx58("div", { className: "w-full", children: /* @__PURE__ */ jsxs33("picture", { children: [
4205
+ ["sm", "md", "lg", "tv"].map((deviceKey) => {
4206
+ const match = staticSources.find(
4207
+ (img) => img.device === deviceKey
4208
+ );
4209
+ if (!match) return null;
4210
+ const srcUrl = resolveImageUrl(match.imageUrl);
4211
+ if (!srcUrl) return null;
4212
+ const mediaQuery = deviceToMediaQuery(match.device);
4213
+ return /* @__PURE__ */ jsx58(
4214
+ "source",
4215
+ {
4216
+ media: mediaQuery,
4217
+ srcSet: srcUrl,
4218
+ width: parseMaybeNumber(match.intrinsicWidth),
4219
+ height: parseMaybeNumber(match.intrinsicHeight)
4220
+ },
4221
+ deviceKey
4222
+ );
4223
+ }),
4224
+ (() => {
4225
+ const img = staticFallback;
4226
+ const imageUrl = resolveImageUrl(img.imageUrl);
4227
+ if (!imageUrl) return null;
4228
+ const intrinsicWidth = parseMaybeNumber(img.intrinsicWidth);
4229
+ const intrinsicHeight = parseMaybeNumber(img.intrinsicHeight);
4230
+ const alt = img.title || "Gallery image";
4231
+ const styles = {};
4232
+ if (img.height) styles.height = img.height;
4233
+ if (img.width) styles.width = img.width;
4234
+ if (img.borderRadius) styles.borderRadius = img.borderRadius;
4235
+ return (
4236
+ /* eslint-disable-next-line @next/next/no-img-element */
4237
+ /* @__PURE__ */ jsx58(
4238
+ "img",
4239
+ {
4240
+ loading: "lazy",
4241
+ style: styles,
4242
+ className: "object-cover max-w-full",
4243
+ src: imageUrl,
4244
+ width: intrinsicWidth,
4245
+ height: intrinsicHeight,
4246
+ alt
4247
+ }
4248
+ )
4249
+ );
4250
+ })()
4251
+ ] }) })
4252
+ ] });
4196
4253
  };
4197
4254
  var ImageGalleryNode_default = ImageGalleryNode;
4198
4255
 
4199
4256
  // src/components/pageRenderingEngine/nodes/DivContainer.tsx
4200
4257
  import Link2 from "next/link";
4201
- import { jsx as jsx59, jsxs as jsxs33 } from "react/jsx-runtime";
4258
+ import { jsx as jsx59, jsxs as jsxs34 } from "react/jsx-runtime";
4202
4259
  function toCamelCase(str) {
4203
4260
  return str.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase());
4204
4261
  }
@@ -4522,7 +4579,7 @@ var DivContainer = async (props) => {
4522
4579
  props.node.autoFormat && "auto-format",
4523
4580
  props.node.bgClass
4524
4581
  ].filter(Boolean).join(" ");
4525
- return /* @__PURE__ */ jsxs33(React42.Fragment, { children: [
4582
+ return /* @__PURE__ */ jsxs34(React42.Fragment, { children: [
4526
4583
  /* @__PURE__ */ jsx59("style", { dangerouslySetInnerHTML: { __html: cssResult.css + animationCSS } }),
4527
4584
  /* @__PURE__ */ jsx59(React42.Fragment, { children: /* @__PURE__ */ jsx59(
4528
4585
  Wrapper,
@@ -4614,7 +4671,7 @@ var PageBodyRenderer_default = PageBodyRenderer;
4614
4671
 
4615
4672
  // src/components/Toast.tsx
4616
4673
  import { useState as useState8 } from "react";
4617
- import { Fragment as Fragment9, jsx as jsx61, jsxs as jsxs34 } from "react/jsx-runtime";
4674
+ import { Fragment as Fragment9, jsx as jsx61, jsxs as jsxs35 } from "react/jsx-runtime";
4618
4675
  var Toast = () => {
4619
4676
  const [showToast, setShowToast] = useState8(false);
4620
4677
  const [message, setMessage] = useState8("");
@@ -4657,7 +4714,7 @@ var Toast = () => {
4657
4714
  const closeToast = () => {
4658
4715
  setShowToast(false);
4659
4716
  };
4660
- return /* @__PURE__ */ jsx61(Fragment9, { children: showToast && /* @__PURE__ */ jsx61("div", { className: "fixed top-2 flex justify-center w-1/2 max-w-xl left-1/2 -translate-x-1/2", style: { zIndex: 1e3 }, children: /* @__PURE__ */ jsxs34("div", { className: `w-full items-center flex justify-between p-3 rounded-md relative shadow border bg-${messageType}-soft`, children: [
4717
+ return /* @__PURE__ */ jsx61(Fragment9, { children: showToast && /* @__PURE__ */ jsx61("div", { className: "fixed top-2 flex justify-center w-1/2 max-w-xl left-1/2 -translate-x-1/2", style: { zIndex: 1e3 }, children: /* @__PURE__ */ jsxs35("div", { className: `w-full items-center flex justify-between p-3 rounded-md relative shadow border bg-${messageType}-soft`, children: [
4661
4718
  /* @__PURE__ */ jsx61(
4662
4719
  "span",
4663
4720
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acoustte-digital-services/digitalstore-controls-dev",
3
- "version": "0.8.1-dev.20260420121019",
3
+ "version": "0.8.1-dev.20260421105518",
4
4
  "description": "Reusable React components",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",