@se-studio/core-ui 1.0.91 → 1.0.93

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.
Files changed (75) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/cmsRegistration.d.ts +41 -4
  3. package/dist/cmsRegistration.d.ts.map +1 -1
  4. package/dist/cmsRegistration.js.map +1 -1
  5. package/dist/components/ExternalVideoComponent.d.ts.map +1 -1
  6. package/dist/components/ExternalVideoComponent.js +6 -1
  7. package/dist/components/ExternalVideoComponent.js.map +1 -1
  8. package/dist/components/ExternalVimeoEmbed.d.ts.map +1 -1
  9. package/dist/components/ExternalVimeoEmbed.js +4 -4
  10. package/dist/components/ExternalVimeoEmbed.js.map +1 -1
  11. package/dist/components/ExternalYouTubeEmbed.js +1 -1
  12. package/dist/components/ExternalYouTubeEmbed.js.map +1 -1
  13. package/dist/components/ImageKitClientVideo.js +1 -1
  14. package/dist/components/ImageKitClientVideo.js.map +1 -1
  15. package/dist/components/ImageKitHlsVideoClient.js +1 -1
  16. package/dist/components/ImageKitHlsVideoClient.js.map +1 -1
  17. package/dist/components/{LocalVideoServer.d.ts → LocalVideo.d.ts} +3 -3
  18. package/dist/components/LocalVideo.d.ts.map +1 -0
  19. package/dist/components/LocalVideo.js +34 -0
  20. package/dist/components/LocalVideo.js.map +1 -0
  21. package/dist/components/VideoComponent.js +4 -4
  22. package/dist/components/VideoComponent.js.map +1 -1
  23. package/dist/components/VisualComponent.d.ts +1 -1
  24. package/dist/components/VisualComponent.js +3 -3
  25. package/dist/components/VisualComponent.js.map +1 -1
  26. package/dist/showcase/components/AllViewPanel.d.ts.map +1 -1
  27. package/dist/showcase/components/AllViewPanel.js +20 -3
  28. package/dist/showcase/components/AllViewPanel.js.map +1 -1
  29. package/dist/showcase/components/IframeHeightReporter.d.ts +10 -0
  30. package/dist/showcase/components/IframeHeightReporter.d.ts.map +1 -0
  31. package/dist/showcase/components/IframeHeightReporter.js +24 -0
  32. package/dist/showcase/components/IframeHeightReporter.js.map +1 -0
  33. package/dist/showcase/components/PreviewPanel.d.ts.map +1 -1
  34. package/dist/showcase/components/PreviewPanel.js +3 -4
  35. package/dist/showcase/components/PreviewPanel.js.map +1 -1
  36. package/dist/showcase/components/ScaledIframe.d.ts +3 -2
  37. package/dist/showcase/components/ScaledIframe.d.ts.map +1 -1
  38. package/dist/showcase/components/ScaledIframe.js +22 -4
  39. package/dist/showcase/components/ScaledIframe.js.map +1 -1
  40. package/dist/showcase/components/ShowcaseAllRenderPage.d.ts +1 -1
  41. package/dist/showcase/components/ShowcaseAllRenderPage.d.ts.map +1 -1
  42. package/dist/showcase/components/ShowcaseAllRenderPage.js +26 -25
  43. package/dist/showcase/components/ShowcaseAllRenderPage.js.map +1 -1
  44. package/dist/showcase/components/ShowcasePage.d.ts +4 -1
  45. package/dist/showcase/components/ShowcasePage.d.ts.map +1 -1
  46. package/dist/showcase/components/ShowcasePage.js +28 -2
  47. package/dist/showcase/components/ShowcasePage.js.map +1 -1
  48. package/dist/showcase/components/ShowcaseRenderPage.d.ts +1 -1
  49. package/dist/showcase/components/ShowcaseRenderPage.d.ts.map +1 -1
  50. package/dist/showcase/components/ShowcaseRenderPage.js +15 -8
  51. package/dist/showcase/components/ShowcaseRenderPage.js.map +1 -1
  52. package/dist/showcase/index.d.ts +1 -0
  53. package/dist/showcase/index.d.ts.map +1 -1
  54. package/dist/showcase/index.js +1 -0
  55. package/dist/showcase/index.js.map +1 -1
  56. package/dist/showcase/mergeShowcaseMocks.d.ts +34 -0
  57. package/dist/showcase/mergeShowcaseMocks.d.ts.map +1 -0
  58. package/dist/showcase/mergeShowcaseMocks.js +31 -0
  59. package/dist/showcase/mergeShowcaseMocks.js.map +1 -0
  60. package/dist/showcase/mockFactory.d.ts +9 -5
  61. package/dist/showcase/mockFactory.d.ts.map +1 -1
  62. package/dist/showcase/mockFactory.js +207 -33
  63. package/dist/showcase/mockFactory.js.map +1 -1
  64. package/package.json +6 -6
  65. package/dist/components/AnimationServer.d.ts +0 -9
  66. package/dist/components/AnimationServer.d.ts.map +0 -1
  67. package/dist/components/AnimationServer.js +0 -34
  68. package/dist/components/AnimationServer.js.map +0 -1
  69. package/dist/components/ExternalVideoServer.d.ts +0 -9
  70. package/dist/components/ExternalVideoServer.d.ts.map +0 -1
  71. package/dist/components/ExternalVideoServer.js +0 -26
  72. package/dist/components/ExternalVideoServer.js.map +0 -1
  73. package/dist/components/LocalVideoServer.d.ts.map +0 -1
  74. package/dist/components/LocalVideoServer.js +0 -54
  75. package/dist/components/LocalVideoServer.js.map +0 -1
@@ -2,8 +2,8 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useEffect, useRef, useState } from 'react';
4
4
  import { ScaledIframe } from './ScaledIframe';
5
- const VIEWPORT_MOBILE = { width: 375, height: 812 };
6
- const VIEWPORT_DESKTOP = { width: 1440, height: 1200 };
5
+ const VIEWPORT_MOBILE = { width: 375 };
6
+ const VIEWPORT_DESKTOP = { width: 1440 };
7
7
  export const PreviewPanel = ({ type, mode, controls, basePath }) => {
8
8
  const containerRef = useRef(null);
9
9
  const [containerWidth, setContainerWidth] = useState(0);
@@ -29,7 +29,6 @@ export const PreviewPanel = ({ type, mode, controls, basePath }) => {
29
29
  params.set(key, String(value));
30
30
  }
31
31
  });
32
- // Ensure basePath ends with /render if not already present or handle accordingly
33
32
  const renderPath = basePath.endsWith('/') ? `${basePath}render` : `${basePath}/render`;
34
33
  return `${renderPath}?${params.toString()}`;
35
34
  };
@@ -37,6 +36,6 @@ export const PreviewPanel = ({ type, mode, controls, basePath }) => {
37
36
  // Desktop gets roughly 2/3 of the space, Mobile gets 1/3
38
37
  const mobileContainerWidth = containerWidth * 0.35;
39
38
  const desktopContainerWidth = containerWidth * 0.65;
40
- return (_jsxs("div", { ref: containerRef, className: "flex-1 bg-[#f3f4f6] p-8 flex gap-8 justify-center items-start overflow-auto", children: [_jsx(ScaledIframe, { src: iframeUrl, viewportWidth: VIEWPORT_MOBILE.width, viewportHeight: VIEWPORT_MOBILE.height, label: "Mobile", containerWidth: mobileContainerWidth }), _jsx(ScaledIframe, { src: iframeUrl, viewportWidth: VIEWPORT_DESKTOP.width, viewportHeight: VIEWPORT_DESKTOP.height, label: "Desktop", containerWidth: desktopContainerWidth })] }));
39
+ return (_jsxs("div", { ref: containerRef, className: "flex-1 bg-[#f3f4f6] p-8 flex gap-8 justify-center items-start overflow-auto", children: [_jsx(ScaledIframe, { src: iframeUrl, viewportWidth: VIEWPORT_MOBILE.width, label: "Mobile", containerWidth: mobileContainerWidth }), _jsx(ScaledIframe, { src: iframeUrl, viewportWidth: VIEWPORT_DESKTOP.width, label: "Desktop", containerWidth: desktopContainerWidth })] }));
41
40
  };
42
41
  //# sourceMappingURL=PreviewPanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PreviewPanel.js","sourceRoot":"","sources":["../../../src/showcase/components/PreviewPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PreviewPanel.js","sourceRoot":"","sources":["../../../src/showcase/components/PreviewPanel.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAS9C,MAAM,eAAe,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACvC,MAAM,gBAAgB,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAEzC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAqB,EAAE,EAAE;IACpF,MAAM,YAAY,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAClD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAExD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,CAAC,OAAO,EAAE,EAAE;YAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,KAAK,EAAE,CAAC;gBACV,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IACrC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACzB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAChD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC1C,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACjC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,SAAS,CAAC;QACvF,OAAO,GAAG,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC9C,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,QAAQ,EAAE,CAAC;IAE7B,yDAAyD;IACzD,MAAM,oBAAoB,GAAG,cAAc,GAAG,IAAI,CAAC;IACnD,MAAM,qBAAqB,GAAG,cAAc,GAAG,IAAI,CAAC;IAEpD,OAAO,CACL,eACE,GAAG,EAAE,YAAY,EACjB,SAAS,EAAC,6EAA6E,aAEvF,KAAC,YAAY,IACX,GAAG,EAAE,SAAS,EACd,aAAa,EAAE,eAAe,CAAC,KAAK,EACpC,KAAK,EAAC,QAAQ,EACd,cAAc,EAAE,oBAAoB,GACpC,EACF,KAAC,YAAY,IACX,GAAG,EAAE,SAAS,EACd,aAAa,EAAE,gBAAgB,CAAC,KAAK,EACrC,KAAK,EAAC,SAAS,EACf,cAAc,EAAE,qBAAqB,GACrC,IACE,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -1,10 +1,11 @@
1
1
  interface ScaledIframeProps {
2
2
  src: string;
3
3
  viewportWidth: number;
4
- viewportHeight: number;
4
+ /** Initial height used before the iframe reports its content height. */
5
+ initialHeight?: number;
5
6
  label: string;
6
7
  containerWidth: number;
7
8
  }
8
- export declare const ScaledIframe: ({ src, viewportWidth, viewportHeight, label, containerWidth, }: ScaledIframeProps) => import("react/jsx-runtime").JSX.Element;
9
+ export declare const ScaledIframe: ({ src, viewportWidth, initialHeight, label, containerWidth, }: ScaledIframeProps) => import("react/jsx-runtime").JSX.Element;
9
10
  export {};
10
11
  //# sourceMappingURL=ScaledIframe.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScaledIframe.d.ts","sourceRoot":"","sources":["../../../src/showcase/components/ScaledIframe.tsx"],"names":[],"mappings":"AAEA,UAAU,iBAAiB;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,YAAY,GAAI,gEAM1B,iBAAiB,4CAgCnB,CAAC"}
1
+ {"version":3,"file":"ScaledIframe.d.ts","sourceRoot":"","sources":["../../../src/showcase/components/ScaledIframe.tsx"],"names":[],"mappings":"AAIA,UAAU,iBAAiB;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,YAAY,GAAI,+DAM1B,iBAAiB,4CAuDnB,CAAC"}
@@ -1,15 +1,33 @@
1
1
  'use client';
2
2
  import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
3
- export const ScaledIframe = ({ src, viewportWidth, viewportHeight, label, containerWidth, }) => {
3
+ import { useEffect, useRef, useState } from 'react';
4
+ export const ScaledIframe = ({ src, viewportWidth, initialHeight = 600, label, containerWidth, }) => {
5
+ const iframeRef = useRef(null);
6
+ const [iframeHeight, setIframeHeight] = useState(initialHeight);
7
+ // Listen for height reports from this specific iframe's content.
8
+ // Filtering by event.source ensures two side-by-side iframes don't
9
+ // interfere with each other.
10
+ useEffect(() => {
11
+ const handler = (event) => {
12
+ if (event.data?.type === 'showcase-iframe-height' &&
13
+ iframeRef.current &&
14
+ event.source === iframeRef.current.contentWindow) {
15
+ setIframeHeight(event.data.height);
16
+ }
17
+ };
18
+ window.addEventListener('message', handler);
19
+ return () => window.removeEventListener('message', handler);
20
+ }, []);
4
21
  // Calculate scale to fit container with padding
5
22
  const padding = 32; // 16px each side
6
23
  const availableWidth = Math.max(containerWidth - padding, 100);
7
24
  const scale = Math.min(availableWidth / viewportWidth, 1.0);
8
25
  const scaledWidth = viewportWidth * scale;
9
- const scaledHeight = viewportHeight * scale;
10
- return (_jsxs("div", { className: "flex flex-col items-center shrink-0", children: [_jsxs("div", { className: "text-[11px] font-[600] text-[#6b7280] uppercase tracking-wider mb-3", children: [label, " (", viewportWidth, "px)"] }), _jsx("div", { className: "bg-[#ffffff] shadow-lg rounded-lg overflow-hidden border border-[#e5e7eb]", style: { width: scaledWidth, height: scaledHeight }, children: _jsx("iframe", { src: src, title: `${label} preview`, className: "origin-top-left border-none", style: {
26
+ // The outer box must reflect the visual (scaled) height so layout doesn't collapse.
27
+ const scaledHeight = iframeHeight * scale;
28
+ return (_jsxs("div", { className: "flex flex-col items-center shrink-0", children: [_jsxs("div", { className: "text-[11px] font-[600] text-[#6b7280] uppercase tracking-wider mb-3", children: [label, " (", viewportWidth, "px)"] }), _jsx("div", { className: "bg-[#ffffff] shadow-lg rounded-lg overflow-hidden border border-[#e5e7eb]", style: { width: scaledWidth, height: scaledHeight }, children: _jsx("iframe", { ref: iframeRef, src: src, title: `${label} preview`, className: "origin-top-left border-none", style: {
11
29
  width: viewportWidth,
12
- height: viewportHeight,
30
+ height: iframeHeight,
13
31
  transform: `scale(${scale})`,
14
32
  } }) })] }));
15
33
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ScaledIframe.js","sourceRoot":"","sources":["../../../src/showcase/components/ScaledIframe.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAUb,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAC3B,GAAG,EACH,aAAa,EACb,cAAc,EACd,KAAK,EACL,cAAc,GACI,EAAE,EAAE;IACtB,gDAAgD;IAChD,MAAM,OAAO,GAAG,EAAE,CAAC,CAAC,iBAAiB;IACrC,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,OAAO,EAAE,GAAG,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,aAAa,EAAE,GAAG,CAAC,CAAC;IAE5D,MAAM,WAAW,GAAG,aAAa,GAAG,KAAK,CAAC;IAC1C,MAAM,YAAY,GAAG,cAAc,GAAG,KAAK,CAAC;IAE5C,OAAO,CACL,eAAK,SAAS,EAAC,qCAAqC,aAClD,eAAK,SAAS,EAAC,qEAAqE,aACjF,KAAK,QAAI,aAAa,WACnB,EAEN,cACE,SAAS,EAAC,2EAA2E,EACrF,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,YAEnD,iBACE,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,GAAG,KAAK,UAAU,EACzB,SAAS,EAAC,6BAA6B,EACvC,KAAK,EAAE;wBACL,KAAK,EAAE,aAAa;wBACpB,MAAM,EAAE,cAAc;wBACtB,SAAS,EAAE,SAAS,KAAK,GAAG;qBAC7B,GACD,GACE,IACF,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"ScaledIframe.js","sourceRoot":"","sources":["../../../src/showcase/components/ScaledIframe.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAWpD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAC3B,GAAG,EACH,aAAa,EACb,aAAa,GAAG,GAAG,EACnB,KAAK,EACL,cAAc,GACI,EAAE,EAAE;IACtB,MAAM,SAAS,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAClD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;IAEhE,iEAAiE;IACjE,mEAAmE;IACnE,6BAA6B;IAC7B,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,CAAC,KAAmB,EAAE,EAAE;YACtC,IACE,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK,wBAAwB;gBAC7C,SAAS,CAAC,OAAO;gBACjB,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,OAAO,CAAC,aAAa,EAChD,CAAC;gBACD,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,MAAgB,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,gDAAgD;IAChD,MAAM,OAAO,GAAG,EAAE,CAAC,CAAC,iBAAiB;IACrC,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,OAAO,EAAE,GAAG,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,aAAa,EAAE,GAAG,CAAC,CAAC;IAE5D,MAAM,WAAW,GAAG,aAAa,GAAG,KAAK,CAAC;IAC1C,oFAAoF;IACpF,MAAM,YAAY,GAAG,YAAY,GAAG,KAAK,CAAC;IAE1C,OAAO,CACL,eAAK,SAAS,EAAC,qCAAqC,aAClD,eAAK,SAAS,EAAC,qEAAqE,aACjF,KAAK,QAAI,aAAa,WACnB,EAEN,cACE,SAAS,EAAC,2EAA2E,EACrF,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,YAEnD,iBACE,GAAG,EAAE,SAAS,EACd,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,GAAG,KAAK,UAAU,EACzB,SAAS,EAAC,6BAA6B,EACvC,KAAK,EAAE;wBACL,KAAK,EAAE,aAAa;wBACpB,MAAM,EAAE,YAAY;wBACpB,SAAS,EAAE,SAAS,KAAK,GAAG;qBAC7B,GACD,GACE,IACF,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -12,7 +12,7 @@ interface ShowcaseAllRenderPageProps {
12
12
  contentContext?: IContentContext;
13
13
  componentMockMap?: Record<string, MockData>;
14
14
  collectionMockMap?: Record<string, MockData>;
15
- collectionCardMockMap?: Record<string, MockData>;
15
+ collectionCardMockMap?: Record<string, MockData | MockData[]>;
16
16
  excludedComponents?: string[];
17
17
  excludedCollections?: string[];
18
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ShowcaseAllRenderPage.d.ts","sourceRoot":"","sources":["../../../src/showcase/components/ShowcaseAllRenderPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAItD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAErD,UAAU,0BAA0B;IAClC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IAC5D,cAAc,EAAE,iBAAiB,CAAC;IAClC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACjD,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACrD,YAAY,EAAE,oBAAoB,CAAC;IACnC,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5C,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7C,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjD,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAQD,eAAO,MAAM,qBAAqB,GAAI,wOAanC,0BAA0B,4CAiF5B,CAAC"}
1
+ {"version":3,"file":"ShowcaseAllRenderPage.d.ts","sourceRoot":"","sources":["../../../src/showcase/components/ShowcaseAllRenderPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAItD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAGrD,UAAU,0BAA0B;IAClC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IAC5D,cAAc,EAAE,iBAAiB,CAAC;IAClC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACjD,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACrD,YAAY,EAAE,oBAAoB,CAAC;IACnC,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5C,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7C,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAC,CAAC;IAC9D,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAQD,eAAO,MAAM,qBAAqB,GAAI,wOAanC,0BAA0B,4CAkF5B,CAAC"}
@@ -2,6 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { CmsCollection } from '../../components/CmsCollection';
3
3
  import { CmsComponent } from '../../components/CmsComponent';
4
4
  import { createMockShowcaseData } from '../mockFactory';
5
+ import { IframeHeightReporter } from './IframeHeightReporter';
5
6
  const DEFAULT_MOCK_CONTEXT = {
6
7
  current: { type: 'Page', id: 'mock-page' },
7
8
  pageContext: {},
@@ -18,32 +19,32 @@ export const ShowcaseAllRenderPage = ({ searchParams, rendererConfig, componentF
18
19
  : Object.keys(rendererConfig.collectionMap)
19
20
  .filter((type) => !excludedCollections.includes(type))
20
21
  .sort();
21
- return (_jsx("div", { className: "min-h-screen bg-[#f3f4f6]", children: types.map((type) => {
22
- // Merge default state with mock data overrides for this type
23
- const currentMockData = mode === 'component' ? componentMockMap[type] : collectionMockMap[type];
24
- const mergedDefaultState = { ...baseDefaultState };
25
- if (currentMockData) {
26
- if (typeof currentMockData.heading === 'string')
27
- mergedDefaultState.heading = currentMockData.heading;
28
- if (typeof currentMockData.preHeading === 'string')
29
- mergedDefaultState.preHeading = currentMockData.preHeading;
30
- if (typeof currentMockData.postHeading === 'string')
31
- mergedDefaultState.postHeading = currentMockData.postHeading;
32
- if (typeof currentMockData.body === 'string')
33
- mergedDefaultState.body = currentMockData.body;
34
- if (typeof currentMockData.additionalCopy === 'string')
35
- mergedDefaultState.additionalCopy = currentMockData.additionalCopy;
36
- }
37
- const mockData = createMockShowcaseData(type, mode, mergedDefaultState, componentFieldsMap, collectionFieldsMap, collectionCardFieldsMap, componentMockMap, collectionMockMap, collectionCardMockMap);
38
- return (_jsxs("div", { id: `component-${type.replace(/\s+/g, '-').toLowerCase()}`, children: [_jsxs("div", { className: "sticky top-0 z-[10] px-[16px] py-[8px] bg-[#1f2937] text-[#ffffff] text-[14px] font-[600] border-b-[2px] border-[#3b82f6]", children: [_jsx("span", { className: "text-[#9ca3af] mr-[8px]", children: mode === 'component' ? 'Component:' : 'Collection:' }), type] }), _jsx("div", { className: "bg-[#ffffff]", children: mode === 'component' ? (_jsx(CmsComponent
39
- // biome-ignore lint/suspicious/noExplicitAny: Any is allowed for mock data
40
- , {
22
+ return (_jsxs("div", { className: "bg-[#f3f4f6]", children: [types.map((type) => {
23
+ // Merge default state with mock data overrides for this type
24
+ const currentMockData = mode === 'component' ? componentMockMap[type] : collectionMockMap[type];
25
+ const mergedDefaultState = { ...baseDefaultState };
26
+ if (currentMockData) {
27
+ if (typeof currentMockData.heading === 'string')
28
+ mergedDefaultState.heading = currentMockData.heading;
29
+ if (typeof currentMockData.preHeading === 'string')
30
+ mergedDefaultState.preHeading = currentMockData.preHeading;
31
+ if (typeof currentMockData.postHeading === 'string')
32
+ mergedDefaultState.postHeading = currentMockData.postHeading;
33
+ if (typeof currentMockData.body === 'string')
34
+ mergedDefaultState.body = currentMockData.body;
35
+ if (typeof currentMockData.additionalCopy === 'string')
36
+ mergedDefaultState.additionalCopy = currentMockData.additionalCopy;
37
+ }
38
+ const mockData = createMockShowcaseData(type, mode, mergedDefaultState, componentFieldsMap, collectionFieldsMap, collectionCardFieldsMap, componentMockMap, collectionMockMap, collectionCardMockMap);
39
+ return (_jsxs("div", { id: `component-${type.replace(/\s+/g, '-').toLowerCase()}`, children: [_jsxs("div", { className: "sticky top-0 z-[10] px-[16px] py-[8px] bg-[#1f2937] text-[#ffffff] text-[14px] font-[600] border-b-[2px] border-[#3b82f6]", children: [_jsx("span", { className: "text-[#9ca3af] mr-[8px]", children: mode === 'component' ? 'Component:' : 'Collection:' }), type] }), _jsx("div", { children: mode === 'component' ? (_jsx(CmsComponent
41
40
  // biome-ignore lint/suspicious/noExplicitAny: Any is allowed for mock data
42
- information: mockData, rendererConfig: rendererConfig, contentContext: contentContext })) : (_jsx(CmsCollection
43
- // biome-ignore lint/suspicious/noExplicitAny: Any is allowed for mock data
44
- , {
41
+ , {
42
+ // biome-ignore lint/suspicious/noExplicitAny: Any is allowed for mock data
43
+ information: mockData, rendererConfig: rendererConfig, contentContext: contentContext })) : (_jsx(CmsCollection
45
44
  // biome-ignore lint/suspicious/noExplicitAny: Any is allowed for mock data
46
- information: mockData, rendererConfig: rendererConfig, contentContext: contentContext })) })] }, type));
47
- }) }));
45
+ , {
46
+ // biome-ignore lint/suspicious/noExplicitAny: Any is allowed for mock data
47
+ information: mockData, rendererConfig: rendererConfig, contentContext: contentContext })) })] }, type));
48
+ }), _jsx(IframeHeightReporter, {})] }));
48
49
  };
49
50
  //# sourceMappingURL=ShowcaseAllRenderPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ShowcaseAllRenderPage.js","sourceRoot":"","sources":["../../../src/showcase/components/ShowcaseAllRenderPage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ShowcaseAllRenderPage.js","sourceRoot":"","sources":["../../../src/showcase/components/ShowcaseAllRenderPage.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAiB9D,MAAM,oBAAoB,GAAoB;IAC5C,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE;IAC1C,WAAW,EAAE,EAAE;IACf,gBAAgB,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE;CAC/C,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EACpC,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,YAAY,EACZ,cAAc,GAAG,oBAAoB,EACrC,gBAAgB,GAAG,EAAE,EACrB,iBAAiB,GAAG,EAAE,EACtB,qBAAqB,GAAG,EAAE,EAC1B,kBAAkB,GAAG,EAAE,EACvB,mBAAmB,GAAG,EAAE,GACG,EAAE,EAAE;IAC/B,MAAM,IAAI,GAAI,YAAY,CAAC,IAAmC,IAAI,WAAW,CAAC;IAC9E,MAAM,gBAAgB,GAAG,YAAY,CAAC;IAEtC,8BAA8B;IAC9B,MAAM,KAAK,GACT,IAAI,KAAK,WAAW;QAClB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;aACrC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;aACpD,IAAI,EAAE;QACX,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;aACtC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;aACrD,IAAI,EAAE,CAAC;IAEhB,OAAO,CACL,eAAK,SAAS,EAAC,cAAc,aAC1B,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAClB,6DAA6D;gBAC7D,MAAM,eAAe,GACnB,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAE1E,MAAM,kBAAkB,GAAG,EAAE,GAAG,gBAAgB,EAA0B,CAAC;gBAE3E,IAAI,eAAe,EAAE,CAAC;oBACpB,IAAI,OAAO,eAAe,CAAC,OAAO,KAAK,QAAQ;wBAC7C,kBAAkB,CAAC,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC;oBACvD,IAAI,OAAO,eAAe,CAAC,UAAU,KAAK,QAAQ;wBAChD,kBAAkB,CAAC,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC;oBAC7D,IAAI,OAAO,eAAe,CAAC,WAAW,KAAK,QAAQ;wBACjD,kBAAkB,CAAC,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC;oBAC/D,IAAI,OAAO,eAAe,CAAC,IAAI,KAAK,QAAQ;wBAC1C,kBAAkB,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;oBACjD,IAAI,OAAO,eAAe,CAAC,cAAc,KAAK,QAAQ;wBACpD,kBAAkB,CAAC,cAAc,GAAG,eAAe,CAAC,cAAc,CAAC;gBACvE,CAAC;gBAED,MAAM,QAAQ,GAAG,sBAAsB,CACrC,IAAI,EACJ,IAAI,EACJ,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,CACtB,CAAC;gBAEF,OAAO,CACL,eAAgB,EAAE,EAAE,aAAa,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,aAExE,eAAK,SAAS,EAAC,2HAA2H,aACxI,eAAM,SAAS,EAAC,yBAAyB,YACtC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,GAC/C,EACN,IAAI,IACD,EAGN,wBACG,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,CACtB,KAAC,YAAY;4BACX,2EAA2E;;gCAA3E,2EAA2E;gCAC3E,WAAW,EAAE,QAAe,EAC5B,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,GAC9B,CACH,CAAC,CAAC,CAAC,CACF,KAAC,aAAa;4BACZ,2EAA2E;;gCAA3E,2EAA2E;gCAC3E,WAAW,EAAE,QAAe,EAC5B,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,GAC9B,CACH,GACG,KA1BE,IAAI,CA2BR,CACP,CAAC;YACJ,CAAC,CAAC,EACF,KAAC,oBAAoB,KAAG,IACpB,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { CmsRendererConfig } from '../../CmsRendererConfig';
2
+ import type { MockData } from '../../cmsRegistration';
2
3
  import type { ShowcaseControlState } from '../types';
3
4
  interface ShowcasePageProps {
4
5
  searchParams: Record<string, string | string[] | undefined>;
@@ -11,7 +12,9 @@ interface ShowcasePageProps {
11
12
  defaultState: ShowcaseControlState;
12
13
  excludedComponents?: string[];
13
14
  excludedCollections?: string[];
15
+ componentMockMap?: Record<string, MockData>;
16
+ collectionMockMap?: Record<string, MockData>;
14
17
  }
15
- export declare const ShowcasePage: ({ searchParams, rendererConfig, componentFieldsMap, collectionFieldsMap, colorOptions, foregroundColors, basePath, defaultState, excludedComponents, excludedCollections, }: ShowcasePageProps) => import("react/jsx-runtime").JSX.Element;
18
+ export declare const ShowcasePage: ({ searchParams, rendererConfig, componentFieldsMap, collectionFieldsMap, colorOptions, foregroundColors, basePath, defaultState, excludedComponents, excludedCollections, componentMockMap, collectionMockMap, }: ShowcasePageProps) => import("react/jsx-runtime").JSX.Element;
16
19
  export {};
17
20
  //# sourceMappingURL=ShowcasePage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ShowcasePage.d.ts","sourceRoot":"","sources":["../../../src/showcase/components/ShowcasePage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAMrD,UAAU,iBAAiB;IACzB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IAC5D,cAAc,EAAE,iBAAiB,CAAC;IAClC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACjD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,oBAAoB,CAAC;IACnC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,eAAO,MAAM,YAAY,GAAI,6KAW1B,iBAAiB,4CA4CnB,CAAC"}
1
+ {"version":3,"file":"ShowcasePage.d.ts","sourceRoot":"","sources":["../../../src/showcase/components/ShowcasePage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAMrD,UAAU,iBAAiB;IACzB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IAC5D,cAAc,EAAE,iBAAiB,CAAC;IAClC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACjD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,oBAAoB,CAAC;IACnC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5C,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CAC9C;AAED,eAAO,MAAM,YAAY,GAAI,kNAa1B,iBAAiB,4CAuEnB,CAAC"}
@@ -4,7 +4,7 @@ import { AllViewPanel } from './AllViewPanel';
4
4
  import { ControlsWrapper } from './ControlsWrapper';
5
5
  import { PreviewPanel } from './PreviewPanel';
6
6
  import { TopBar } from './TopBar';
7
- export const ShowcasePage = ({ searchParams, rendererConfig, componentFieldsMap, collectionFieldsMap, colorOptions, foregroundColors, basePath, defaultState, excludedComponents = [], excludedCollections = [], }) => {
7
+ export const ShowcasePage = ({ searchParams, rendererConfig, componentFieldsMap, collectionFieldsMap, colorOptions, foregroundColors, basePath, defaultState, excludedComponents = [], excludedCollections = [], componentMockMap = {}, collectionMockMap = {}, }) => {
8
8
  const componentTypes = Object.keys(rendererConfig.componentMap)
9
9
  .filter((type) => !excludedComponents.includes(type))
10
10
  .sort();
@@ -14,7 +14,33 @@ export const ShowcasePage = ({ searchParams, rendererConfig, componentFieldsMap,
14
14
  const type = searchParams.type || componentTypes[0] || '';
15
15
  const mode = searchParams.mode || 'component';
16
16
  const view = (searchParams.view || 'single');
17
- const controls = parseShowcaseControls(searchParams, defaultState);
17
+ // Merge curated mock data into defaultState so the initial iframe URL encodes the
18
+ // real heading/preHeading/colours rather than the generic placeholder defaults.
19
+ // Without this, PreviewPanel serialises "Sample Heading" into the URL and the
20
+ // render page's own merge is overridden by the explicit URL param.
21
+ const mergedDefaultState = { ...defaultState };
22
+ const currentMockData = type
23
+ ? mode === 'component'
24
+ ? componentMockMap[type]
25
+ : collectionMockMap[type]
26
+ : undefined;
27
+ if (currentMockData) {
28
+ if (typeof currentMockData.heading === 'string')
29
+ mergedDefaultState.heading = currentMockData.heading;
30
+ if (typeof currentMockData.preHeading === 'string')
31
+ mergedDefaultState.preHeading = currentMockData.preHeading;
32
+ if (typeof currentMockData.postHeading === 'string')
33
+ mergedDefaultState.postHeading = currentMockData.postHeading;
34
+ if (typeof currentMockData.body === 'string')
35
+ mergedDefaultState.body = currentMockData.body;
36
+ if (typeof currentMockData.additionalCopy === 'string')
37
+ mergedDefaultState.additionalCopy = currentMockData.additionalCopy;
38
+ if (typeof currentMockData.backgroundColour === 'string')
39
+ mergedDefaultState.backgroundColour = currentMockData.backgroundColour;
40
+ if (typeof currentMockData.textColour === 'string')
41
+ mergedDefaultState.textColour = currentMockData.textColour;
42
+ }
43
+ const controls = parseShowcaseControls(searchParams, mergedDefaultState);
18
44
  return (_jsxs("div", { className: "flex flex-col h-screen bg-[#ffffff] overflow-hidden", children: [_jsx(TopBar, { componentTypes: componentTypes, collectionTypes: collectionTypes, selectedType: type, mode: mode, view: view }), _jsx("div", { className: "flex-1 flex overflow-hidden relative", children: view === 'all' ? (_jsx(AllViewPanel, { mode: mode, basePath: basePath })) : (_jsxs(_Fragment, { children: [_jsx(PreviewPanel, { type: type, mode: mode, controls: controls, basePath: basePath }), _jsx(ControlsWrapper, { initialState: controls, type: type, mode: mode, colorOptions: colorOptions, foregroundColors: foregroundColors, componentFieldsMap: componentFieldsMap, collectionFieldsMap: collectionFieldsMap })] })) })] }));
19
45
  };
20
46
  //# sourceMappingURL=ShowcasePage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ShowcasePage.js","sourceRoot":"","sources":["../../../src/showcase/components/ShowcasePage.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAqB,MAAM,EAAE,MAAM,UAAU,CAAC;AAerD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAC3B,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,QAAQ,EACR,YAAY,EACZ,kBAAkB,GAAG,EAAE,EACvB,mBAAmB,GAAG,EAAE,GACN,EAAE,EAAE;IACtB,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;SAC5D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACpD,IAAI,EAAE,CAAC;IACV,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;SAC9D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACrD,IAAI,EAAE,CAAC;IAEV,MAAM,IAAI,GAAI,YAAY,CAAC,IAAe,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACtE,MAAM,IAAI,GAAI,YAAY,CAAC,IAAmC,IAAI,WAAW,CAAC;IAC9E,MAAM,IAAI,GAAG,CAAE,YAAY,CAAC,IAAe,IAAI,QAAQ,CAAiB,CAAC;IAEzE,MAAM,QAAQ,GAAG,qBAAqB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAEnE,OAAO,CACL,eAAK,SAAS,EAAC,qDAAqD,aAClE,KAAC,MAAM,IACL,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,IAAI,EAClB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,GACV,EAEF,cAAK,SAAS,EAAC,sCAAsC,YAClD,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAChB,KAAC,YAAY,IAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,GAAI,CACjD,CAAC,CAAC,CAAC,CACF,8BACE,KAAC,YAAY,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAI,EAChF,KAAC,eAAe,IACd,YAAY,EAAE,QAAQ,EACtB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,gBAAgB,EAClC,kBAAkB,EAAE,kBAAkB,EACtC,mBAAmB,EAAE,mBAAmB,GACxC,IACD,CACJ,GACG,IACF,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"ShowcasePage.js","sourceRoot":"","sources":["../../../src/showcase/components/ShowcasePage.tsx"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ interface ShowcaseRenderPageProps {
12
12
  contentContext?: IContentContext;
13
13
  componentMockMap?: Record<string, MockData>;
14
14
  collectionMockMap?: Record<string, MockData>;
15
- collectionCardMockMap?: Record<string, MockData>;
15
+ collectionCardMockMap?: Record<string, MockData | MockData[]>;
16
16
  }
17
17
  export declare const ShowcaseRenderPage: ({ searchParams, rendererConfig, componentFieldsMap, collectionFieldsMap, collectionCardFieldsMap, defaultState, contentContext, componentMockMap, collectionMockMap, collectionCardMockMap, }: ShowcaseRenderPageProps) => import("react/jsx-runtime").JSX.Element;
18
18
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"ShowcaseRenderPage.d.ts","sourceRoot":"","sources":["../../../src/showcase/components/ShowcaseRenderPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAItD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAErD,UAAU,uBAAuB;IAC/B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IAC5D,cAAc,EAAE,iBAAiB,CAAC;IAClC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACjD,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACrD,YAAY,EAAE,oBAAoB,CAAC;IACnC,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5C,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7C,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CAClD;AAQD,eAAO,MAAM,kBAAkB,GAAI,+LAWhC,uBAAuB,4CA+DzB,CAAC"}
1
+ {"version":3,"file":"ShowcaseRenderPage.d.ts","sourceRoot":"","sources":["../../../src/showcase/components/ShowcaseRenderPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAItD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAGrD,UAAU,uBAAuB;IAC/B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IAC5D,cAAc,EAAE,iBAAiB,CAAC;IAClC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACjD,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACrD,YAAY,EAAE,oBAAoB,CAAC;IACnC,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5C,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7C,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAC,CAAC;CAC/D;AAQD,eAAO,MAAM,kBAAkB,GAAI,+LAWhC,uBAAuB,4CAsEzB,CAAC"}
@@ -1,7 +1,8 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { CmsCollection } from '../../components/CmsCollection';
3
3
  import { CmsComponent } from '../../components/CmsComponent';
4
4
  import { createMockShowcaseData, parseShowcaseControls } from '../mockFactory';
5
+ import { IframeHeightReporter } from './IframeHeightReporter';
5
6
  const DEFAULT_MOCK_CONTEXT = {
6
7
  current: { type: 'Page', id: 'mock-page' },
7
8
  pageContext: {},
@@ -28,6 +29,12 @@ export const ShowcaseRenderPage = ({ searchParams, rendererConfig, componentFiel
28
29
  mergedDefaultState.body = currentMockData.body;
29
30
  if (typeof currentMockData.additionalCopy === 'string')
30
31
  mergedDefaultState.additionalCopy = currentMockData.additionalCopy;
32
+ // Apply colors from mock data so components default to their real brand colors.
33
+ // The user can still override these via the sidebar controls.
34
+ if (typeof currentMockData.backgroundColour === 'string')
35
+ mergedDefaultState.backgroundColour = currentMockData.backgroundColour;
36
+ if (typeof currentMockData.textColour === 'string')
37
+ mergedDefaultState.textColour = currentMockData.textColour;
31
38
  }
32
39
  const controls = parseShowcaseControls(searchParams, mergedDefaultState);
33
40
  const mockData = type
@@ -36,14 +43,14 @@ export const ShowcaseRenderPage = ({ searchParams, rendererConfig, componentFiel
36
43
  if (!mockData) {
37
44
  return _jsx("div", { className: "p-4 text-red-500 text-sm", children: "No component selected" });
38
45
  }
39
- return (_jsx("div", { className: "min-h-screen", children: mode === 'component' ? (_jsx(CmsComponent
40
- // biome-ignore lint/suspicious/noExplicitAny: Any is allowed
41
- , {
46
+ return (_jsxs("div", { children: [mode === 'component' ? (_jsx(CmsComponent
42
47
  // biome-ignore lint/suspicious/noExplicitAny: Any is allowed
43
- information: mockData, rendererConfig: rendererConfig, contentContext: contentContext })) : (_jsx(CmsCollection
44
- // biome-ignore lint/suspicious/noExplicitAny: Any is allowed
45
- , {
48
+ , {
49
+ // biome-ignore lint/suspicious/noExplicitAny: Any is allowed
50
+ information: mockData, rendererConfig: rendererConfig, contentContext: contentContext })) : (_jsx(CmsCollection
46
51
  // biome-ignore lint/suspicious/noExplicitAny: Any is allowed
47
- information: mockData, rendererConfig: rendererConfig, contentContext: contentContext })) }));
52
+ , {
53
+ // biome-ignore lint/suspicious/noExplicitAny: Any is allowed
54
+ information: mockData, rendererConfig: rendererConfig, contentContext: contentContext })), _jsx(IframeHeightReporter, {})] }));
48
55
  };
49
56
  //# sourceMappingURL=ShowcaseRenderPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ShowcaseRenderPage.js","sourceRoot":"","sources":["../../../src/showcase/components/ShowcaseRenderPage.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAgB/E,MAAM,oBAAoB,GAAoB;IAC5C,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE;IAC1C,WAAW,EAAE,EAAE;IACf,gBAAgB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE;CAC3C,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EACjC,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,YAAY,EACZ,cAAc,GAAG,oBAAoB,EACrC,gBAAgB,GAAG,EAAE,EACrB,iBAAiB,GAAG,EAAE,EACtB,qBAAqB,GAAG,EAAE,GACF,EAAE,EAAE;IAC5B,MAAM,IAAI,GAAI,YAAY,CAAC,IAAe,IAAI,EAAE,CAAC;IACjD,MAAM,IAAI,GAAI,YAAY,CAAC,IAAmC,IAAI,WAAW,CAAC;IAE9E,+CAA+C;IAC/C,MAAM,kBAAkB,GAAG,EAAE,GAAG,YAAY,EAA0B,CAAC;IAEvE,MAAM,eAAe,GAAG,IAAI;QAC1B,CAAC,CAAC,IAAI,KAAK,WAAW;YACpB,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACxB,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC;QAC3B,CAAC,CAAC,IAAI,CAAC;IAET,IAAI,eAAe,EAAE,CAAC;QACpB,IAAI,OAAO,eAAe,CAAC,OAAO,KAAK,QAAQ;YAC7C,kBAAkB,CAAC,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC;QACvD,IAAI,OAAO,eAAe,CAAC,UAAU,KAAK,QAAQ;YAChD,kBAAkB,CAAC,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC;QAC7D,IAAI,OAAO,eAAe,CAAC,WAAW,KAAK,QAAQ;YACjD,kBAAkB,CAAC,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC;QAC/D,IAAI,OAAO,eAAe,CAAC,IAAI,KAAK,QAAQ;YAAE,kBAAkB,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;QAC7F,IAAI,OAAO,eAAe,CAAC,cAAc,KAAK,QAAQ;YACpD,kBAAkB,CAAC,cAAc,GAAG,eAAe,CAAC,cAAc,CAAC;IACvE,CAAC;IAED,MAAM,QAAQ,GAAG,qBAAqB,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAG,IAAI;QACnB,CAAC,CAAC,sBAAsB,CACpB,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,CACtB;QACH,CAAC,CAAC,IAAI,CAAC;IAET,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,cAAK,SAAS,EAAC,0BAA0B,sCAA4B,CAAC;IAC/E,CAAC;IAED,OAAO,CACL,cAAK,SAAS,EAAC,cAAc,YAC1B,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,CACtB,KAAC,YAAY;QACX,6DAA6D;;YAA7D,6DAA6D;YAC7D,WAAW,EAAE,QAAe,EAC5B,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,GAC9B,CACH,CAAC,CAAC,CAAC,CACF,KAAC,aAAa;QACZ,6DAA6D;;YAA7D,6DAA6D;YAC7D,WAAW,EAAE,QAAe,EAC5B,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,GAC9B,CACH,GACG,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"ShowcaseRenderPage.js","sourceRoot":"","sources":["../../../src/showcase/components/ShowcaseRenderPage.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAE/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAe9D,MAAM,oBAAoB,GAAoB;IAC5C,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE;IAC1C,WAAW,EAAE,EAAE;IACf,gBAAgB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE;CAC3C,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EACjC,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,YAAY,EACZ,cAAc,GAAG,oBAAoB,EACrC,gBAAgB,GAAG,EAAE,EACrB,iBAAiB,GAAG,EAAE,EACtB,qBAAqB,GAAG,EAAE,GACF,EAAE,EAAE;IAC5B,MAAM,IAAI,GAAI,YAAY,CAAC,IAAe,IAAI,EAAE,CAAC;IACjD,MAAM,IAAI,GAAI,YAAY,CAAC,IAAmC,IAAI,WAAW,CAAC;IAE9E,+CAA+C;IAC/C,MAAM,kBAAkB,GAAG,EAAE,GAAG,YAAY,EAA0B,CAAC;IAEvE,MAAM,eAAe,GAAG,IAAI;QAC1B,CAAC,CAAC,IAAI,KAAK,WAAW;YACpB,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACxB,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC;QAC3B,CAAC,CAAC,IAAI,CAAC;IAET,IAAI,eAAe,EAAE,CAAC;QACpB,IAAI,OAAO,eAAe,CAAC,OAAO,KAAK,QAAQ;YAC7C,kBAAkB,CAAC,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC;QACvD,IAAI,OAAO,eAAe,CAAC,UAAU,KAAK,QAAQ;YAChD,kBAAkB,CAAC,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC;QAC7D,IAAI,OAAO,eAAe,CAAC,WAAW,KAAK,QAAQ;YACjD,kBAAkB,CAAC,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC;QAC/D,IAAI,OAAO,eAAe,CAAC,IAAI,KAAK,QAAQ;YAAE,kBAAkB,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;QAC7F,IAAI,OAAO,eAAe,CAAC,cAAc,KAAK,QAAQ;YACpD,kBAAkB,CAAC,cAAc,GAAG,eAAe,CAAC,cAAc,CAAC;QACrE,gFAAgF;QAChF,8DAA8D;QAC9D,IAAI,OAAO,eAAe,CAAC,gBAAgB,KAAK,QAAQ;YACtD,kBAAkB,CAAC,gBAAgB,GAAG,eAAe,CAAC,gBAAgB,CAAC;QACzE,IAAI,OAAO,eAAe,CAAC,UAAU,KAAK,QAAQ;YAChD,kBAAkB,CAAC,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC;IAC/D,CAAC;IAED,MAAM,QAAQ,GAAG,qBAAqB,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAG,IAAI;QACnB,CAAC,CAAC,sBAAsB,CACpB,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,CACtB;QACH,CAAC,CAAC,IAAI,CAAC;IAET,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,cAAK,SAAS,EAAC,0BAA0B,sCAA4B,CAAC;IAC/E,CAAC;IAED,OAAO,CACL,0BACG,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,CACtB,KAAC,YAAY;YACX,6DAA6D;;gBAA7D,6DAA6D;gBAC7D,WAAW,EAAE,QAAe,EAC5B,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,GAC9B,CACH,CAAC,CAAC,CAAC,CACF,KAAC,aAAa;YACZ,6DAA6D;;gBAA7D,6DAA6D;gBAC7D,WAAW,EAAE,QAAe,EAC5B,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,GAC9B,CACH,EACD,KAAC,oBAAoB,KAAG,IACpB,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -7,6 +7,7 @@ export { ShowcaseAllRenderPage } from './components/ShowcaseAllRenderPage';
7
7
  export { ShowcasePage } from './components/ShowcasePage';
8
8
  export { ShowcaseRenderPage } from './components/ShowcaseRenderPage';
9
9
  export { type ShowcaseView, TopBar } from './components/TopBar';
10
+ export * from './mergeShowcaseMocks';
10
11
  export * from './mockFactory';
11
12
  export * from './types';
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/showcase/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAChE,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/showcase/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAChE,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC"}
@@ -7,6 +7,7 @@ export { ShowcaseAllRenderPage } from './components/ShowcaseAllRenderPage';
7
7
  export { ShowcasePage } from './components/ShowcasePage';
8
8
  export { ShowcaseRenderPage } from './components/ShowcaseRenderPage';
9
9
  export { TopBar } from './components/TopBar';
10
+ export * from './mergeShowcaseMocks';
10
11
  export * from './mockFactory';
11
12
  export * from './types';
12
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/showcase/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAqB,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAChE,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/showcase/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAqB,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAChE,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,34 @@
1
+ import type { MockData } from '../cmsRegistration';
2
+ /**
3
+ * Shape of the curated showcase-mocks.json file produced by the curate-showcase-mocks skill.
4
+ * Components are keyed by their CMS type name, collections include both the collection-level
5
+ * mock and an optional array of distinct card mocks.
6
+ */
7
+ export interface CuratedShowcaseMocks {
8
+ curatedAt: string;
9
+ components: Record<string, MockData>;
10
+ collections: Record<string, {
11
+ mock: MockData;
12
+ cards?: MockData[];
13
+ }>;
14
+ }
15
+ /**
16
+ * Merges curated showcase mock data (from showcase-mocks.json) over the base mock maps
17
+ * derived from component/collection registrations. Curated data takes precedence; types
18
+ * without curated data fall back to their inline registration mock.
19
+ *
20
+ * @param curatedJson - Parsed contents of showcase-mocks.json. Pass null/undefined if the
21
+ * file does not exist yet — the base maps will be returned unchanged.
22
+ * @param base - Mock maps built from registrations via buildComponentMaps/buildCollectionMaps.
23
+ * @returns Merged mock maps ready to pass to ShowcaseRenderPage / ShowcaseAllRenderPage.
24
+ */
25
+ export declare function mergeShowcaseMocks(curatedJson: CuratedShowcaseMocks | null | undefined, base: {
26
+ componentMockMap: Record<string, MockData>;
27
+ collectionMockMap: Record<string, MockData>;
28
+ collectionCardMockMap: Record<string, MockData | MockData[]>;
29
+ }): {
30
+ componentMockMap: Record<string, MockData>;
31
+ collectionMockMap: Record<string, MockData>;
32
+ collectionCardMockMap: Record<string, MockData | MockData[]>;
33
+ };
34
+ //# sourceMappingURL=mergeShowcaseMocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mergeShowcaseMocks.d.ts","sourceRoot":"","sources":["../../src/showcase/mergeShowcaseMocks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACrC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAA;KAAE,CAAC,CAAC;CACrE;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,EACpD,IAAI,EAAE;IACJ,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3C,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5C,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAC,CAAC;CAC9D,GACA;IACD,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3C,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5C,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAC,CAAC;CAC9D,CAuBA"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Merges curated showcase mock data (from showcase-mocks.json) over the base mock maps
3
+ * derived from component/collection registrations. Curated data takes precedence; types
4
+ * without curated data fall back to their inline registration mock.
5
+ *
6
+ * @param curatedJson - Parsed contents of showcase-mocks.json. Pass null/undefined if the
7
+ * file does not exist yet — the base maps will be returned unchanged.
8
+ * @param base - Mock maps built from registrations via buildComponentMaps/buildCollectionMaps.
9
+ * @returns Merged mock maps ready to pass to ShowcaseRenderPage / ShowcaseAllRenderPage.
10
+ */
11
+ export function mergeShowcaseMocks(curatedJson, base) {
12
+ if (!curatedJson) {
13
+ return base;
14
+ }
15
+ const componentMockMap = {
16
+ ...base.componentMockMap,
17
+ ...curatedJson.components,
18
+ };
19
+ const collectionMockMap = { ...base.collectionMockMap };
20
+ const collectionCardMockMap = {
21
+ ...base.collectionCardMockMap,
22
+ };
23
+ for (const [name, entry] of Object.entries(curatedJson.collections)) {
24
+ collectionMockMap[name] = entry.mock;
25
+ if (entry.cards && entry.cards.length > 0) {
26
+ collectionCardMockMap[name] = entry.cards;
27
+ }
28
+ }
29
+ return { componentMockMap, collectionMockMap, collectionCardMockMap };
30
+ }
31
+ //# sourceMappingURL=mergeShowcaseMocks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mergeShowcaseMocks.js","sourceRoot":"","sources":["../../src/showcase/mergeShowcaseMocks.ts"],"names":[],"mappings":"AAaA;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAChC,WAAoD,EACpD,IAIC;IAMD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,gBAAgB,GAA6B;QACjD,GAAG,IAAI,CAAC,gBAAgB;QACxB,GAAG,WAAW,CAAC,UAAU;KAC1B,CAAC;IAEF,MAAM,iBAAiB,GAA6B,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAClF,MAAM,qBAAqB,GAA0C;QACnE,GAAG,IAAI,CAAC,qBAAqB;KAC9B,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;QACpE,iBAAiB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;QACrC,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,qBAAqB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,CAAC;AACxE,CAAC"}
@@ -11,13 +11,17 @@ import type { ShowcaseControlState } from './types';
11
11
  */
12
12
  export declare function createRichTextFromMarkdown(text: string): IContentfulRichText;
13
13
  /**
14
- * Creates a valid Visual object
14
+ * Creates a valid Visual object.
15
+ * - When `lottieUrl` is provided the visual wraps an IAnimation.
16
+ * - When `url` is provided it is used as the image src.
17
+ * - Otherwise a placehold.co placeholder is generated from the dimensions.
15
18
  */
16
- export declare function createVisual(id: string, width: number, height: number): IVisual;
19
+ export declare function createVisual(id: string, width: number, height: number, url?: string, lottieUrl?: string): IVisual;
17
20
  /**
18
- * Creates a Responsive Visual object
21
+ * Creates a Responsive Visual object.
22
+ * Passes through real image URL or Lottie URL from curated mock when available.
19
23
  */
20
- export declare function createResponsiveVisual(showVisual: boolean, showMobile: boolean, width?: number, height?: number): IResponsiveVisual | undefined;
24
+ export declare function createResponsiveVisual(showVisual: boolean, showMobile: boolean, width?: number, height?: number, url?: string, lottieUrl?: string): IResponsiveVisual | undefined;
21
25
  /**
22
26
  * Creates sample links
23
27
  */
@@ -30,5 +34,5 @@ export declare function createMockCardContent(collectionType: string, index: num
30
34
  /**
31
35
  * Generates a mock component or collection based on the control state
32
36
  */
33
- export declare function createMockShowcaseData(type: string, mode: 'component' | 'collection', controls: ShowcaseControlState, componentFieldsMap: Record<string, Set<string>>, collectionFieldsMap: Record<string, Set<string>>, collectionCardFieldsMap: Record<string, Set<string>>, componentMockMap?: Record<string, MockData>, collectionMockMap?: Record<string, MockData>, collectionCardMockMap?: Record<string, MockData>): IContentfulComponent | IContentfulCollection;
37
+ export declare function createMockShowcaseData(type: string, mode: 'component' | 'collection', controls: ShowcaseControlState, componentFieldsMap: Record<string, Set<string>>, collectionFieldsMap: Record<string, Set<string>>, collectionCardFieldsMap: Record<string, Set<string>>, componentMockMap?: Record<string, MockData>, collectionMockMap?: Record<string, MockData>, collectionCardMockMap?: Record<string, MockData | MockData[]>): IContentfulComponent | IContentfulCollection;
34
38
  //# sourceMappingURL=mockFactory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mockFactory.d.ts","sourceRoot":"","sources":["../../src/showcase/mockFactory.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC5F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AA4BpD;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAmF5E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAgB/E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,OAAO,EACnB,UAAU,EAAE,OAAO,EACnB,KAAK,SAAM,EACX,MAAM,SAAM,GACX,iBAAiB,GAAG,SAAS,CAgB/B;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,EAAE,CAc1D;AAED,wBAAgB,qBAAqB,CAAC,MAAM,GAAG,MAAM,EAAE,SAAS,GAAG,MAAM,EACvE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,EAC3D,YAAY,EAAE,oBAAoB,CAAC,MAAM,EAAE,SAAS,CAAC,GACpD,oBAAoB,CAAC,MAAM,EAAE,SAAS,CAAC,CAwCzC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,oBAAoB,EAC9B,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,EACpD,YAAY,CAAC,EAAE,QAAQ,GACtB,oBAAoB,GAAG,OAAO,CA0GhC;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,WAAW,GAAG,YAAY,EAChC,QAAQ,EAAE,oBAAoB,EAC9B,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,EAC/C,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,EAChD,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,EACpD,gBAAgB,GAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAM,EAC/C,iBAAiB,GAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAM,EAChD,qBAAqB,GAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAM,GACnD,oBAAoB,GAAG,qBAAqB,CA2G9C"}
1
+ {"version":3,"file":"mockFactory.d.ts","sourceRoot":"","sources":["../../src/showcase/mockFactory.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAIV,aAAa,EAEb,iBAAiB,EACjB,OAAO,EACR,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,QAAQ,EAA0B,MAAM,oBAAoB,CAAC;AAE3E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AA4BpD;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAmF5E;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,GAAG,CAAC,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CA4BT;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,OAAO,EACnB,UAAU,EAAE,OAAO,EACnB,KAAK,SAAM,EACX,MAAM,SAAM,EACZ,GAAG,CAAC,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,MAAM,GACjB,iBAAiB,GAAG,SAAS,CA0B/B;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,EAAE,CAc1D;AA0FD,wBAAgB,qBAAqB,CAAC,MAAM,GAAG,MAAM,EAAE,SAAS,GAAG,MAAM,EACvE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,EAC3D,YAAY,EAAE,oBAAoB,CAAC,MAAM,EAAE,SAAS,CAAC,GACpD,oBAAoB,CAAC,MAAM,EAAE,SAAS,CAAC,CAwCzC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,oBAAoB,EAC9B,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,EACpD,YAAY,CAAC,EAAE,QAAQ,GACtB,oBAAoB,GAAG,OAAO,CAuJhC;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,WAAW,GAAG,YAAY,EAChC,QAAQ,EAAE,oBAAoB,EAC9B,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,EAC/C,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,EAChD,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,EACpD,gBAAgB,GAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAM,EAC/C,iBAAiB,GAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAM,EAChD,qBAAqB,GAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAM,GAChE,oBAAoB,GAAG,qBAAqB,CAmJ9C"}