From 6aaeae269e2884c0de3abd90c647b751c04a7bf3 Mon Sep 17 00:00:00 2001 From: Steven H Date: Wed, 12 Mar 2025 14:52:27 +0000 Subject: [PATCH] Fix an issue where ContentKit iframes were not resizing. (#2967) --- .changeset/afraid-countries-own.md | 5 ++ .../react-contentkit/src/ElementWebframe.tsx | 80 +++++++++++-------- 2 files changed, 51 insertions(+), 34 deletions(-) create mode 100644 .changeset/afraid-countries-own.md diff --git a/.changeset/afraid-countries-own.md b/.changeset/afraid-countries-own.md new file mode 100644 index 000000000..4f91e8b4d --- /dev/null +++ b/.changeset/afraid-countries-own.md @@ -0,0 +1,5 @@ +--- +'@gitbook/react-contentkit': minor +--- + +Fix an issue where ContentKit iframes were not resizing. diff --git a/packages/react-contentkit/src/ElementWebframe.tsx b/packages/react-contentkit/src/ElementWebframe.tsx index 6e68fb896..63ee2345d 100644 --- a/packages/react-contentkit/src/ElementWebframe.tsx +++ b/packages/react-contentkit/src/ElementWebframe.tsx @@ -14,8 +14,7 @@ export function ElementWebframe(props: ContentKitClientElementProps(null); const [size, setSize] = React.useState<{ - maxWidth?: number; - maxHeight?: number; + height?: number; aspectRatio?: number; }>({}); @@ -88,9 +87,8 @@ export function ElementWebframe(props: ContentKitClientElementProps ({ + aspectRatio: + typeof message.action.size.aspectRatio !== 'undefined' + ? Number(message.action.size.aspectRatio) + : size.aspectRatio, + + height: (() => { + if (typeof message.action.size.height !== 'undefined') { + return Number(message.action.size.height); + } + + // maxHeight was used prior to moving to height, maintain it for backward compatibility. + if (typeof message.action.size.maxHeight !== 'undefined') { + return Number(message.action.size.maxHeight); + } + + return size.height; + })(), + })); break; default: renderer.update({ @@ -149,33 +161,33 @@ export function ElementWebframe(props: ContentKitClientElementProps - {mounted ? ( -