@cntrl-site/sdk-nextjs 1.9.52 → 1.9.53-0

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 (134) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +4 -4
  3. package/TODO.md +1 -1
  4. package/eslint.config.mjs +35 -35
  5. package/jest.config.js +6 -6
  6. package/lib/common/useItemFXData.js +7 -7
  7. package/lib/components/Article.js +5 -5
  8. package/lib/components/LayoutStyle.js +4 -4
  9. package/lib/components/ScrollPlaybackVideo.js +17 -6
  10. package/lib/components/Section/Section.js +27 -27
  11. package/lib/components/items/CodeEmbedItem/CodeEmbedItem.js +36 -36
  12. package/lib/components/items/ComponentItem/ComponentItem.js +13 -13
  13. package/lib/components/items/CompoundItem/CompoundChild.js +20 -20
  14. package/lib/components/items/CompoundItem/CompoundItem.js +14 -14
  15. package/lib/components/items/CustomItem/CustomItem.js +9 -9
  16. package/lib/components/items/EmbedVideoItem/VimeoEmbed.js +24 -24
  17. package/lib/components/items/EmbedVideoItem/YoutubeEmbed.js +27 -27
  18. package/lib/components/items/FileItem/ImageItem.js +40 -40
  19. package/lib/components/items/FileItem/VideoItem.js +67 -67
  20. package/lib/components/items/GroupItem/GroupItem.js +14 -14
  21. package/lib/components/items/Item.js +30 -30
  22. package/lib/components/items/RectangleItem/RectangleItem.js +27 -27
  23. package/lib/components/items/RichTextItem/RichTextItem.js +22 -22
  24. package/lib/utils/RichTextConverter/RichTextConverter.js +21 -21
  25. package/package.json +61 -60
  26. package/src/ItemGeometry/CSSPropertyNameMap.ts +37 -37
  27. package/src/ItemGeometry/GenericGeometryController.ts +59 -59
  28. package/src/ItemGeometry/ItemGeometryContext.ts +4 -4
  29. package/src/ItemGeometry/ItemGeometryController.ts +22 -22
  30. package/src/ItemGeometry/ItemGeometryService.ts +34 -34
  31. package/src/ItemGeometry/RichTextGeometryController.ts +166 -166
  32. package/src/ItemGeometry/useItemGeometry.ts +25 -25
  33. package/src/common/useCurrentLayout.ts +52 -52
  34. package/src/common/useExemplary.ts +9 -9
  35. package/src/common/useItemFXData.ts +47 -47
  36. package/src/common/useKeyframeValue.ts +85 -85
  37. package/src/common/useRegisterResize.ts +16 -16
  38. package/src/components/Article.tsx +75 -75
  39. package/src/components/ArticleWrapper.tsx +21 -21
  40. package/src/components/Head.tsx +57 -57
  41. package/src/components/LayoutStyle.tsx +21 -21
  42. package/src/components/Page.tsx +38 -38
  43. package/src/components/ScrollPlaybackVideo.tsx +73 -56
  44. package/src/components/Section/Section.tsx +129 -129
  45. package/src/components/Section/SectionImage.tsx +48 -48
  46. package/src/components/Section/SectionVideo.tsx +144 -144
  47. package/src/components/Section/useSectionColor.ts +19 -19
  48. package/src/components/Section/useSectionHeightMap.ts +19 -19
  49. package/src/components/items/CodeEmbedItem/CodeEmbedItem.tsx +147 -147
  50. package/src/components/items/CodeEmbedItem/useCodeEmbedItem.ts +36 -36
  51. package/src/components/items/ComponentItem/ComponentItem.tsx +72 -72
  52. package/src/components/items/ComponentItem/useComponentItem.ts +35 -35
  53. package/src/components/items/CompoundItem/CompoundChild.tsx +150 -150
  54. package/src/components/items/CompoundItem/CompoundItem.tsx +87 -87
  55. package/src/components/items/CompoundItem/useCompoundItem.ts +21 -21
  56. package/src/components/items/CustomItem/CustomItem.tsx +50 -50
  57. package/src/components/items/EmbedVideoItem/VimeoEmbed.tsx +216 -216
  58. package/src/components/items/EmbedVideoItem/YoutubeEmbed.tsx +200 -200
  59. package/src/components/items/EmbedVideoItem/useEmbedVideoItem.ts +46 -46
  60. package/src/components/items/FileItem/ImageItem.tsx +165 -165
  61. package/src/components/items/FileItem/VideoItem.tsx +284 -282
  62. package/src/components/items/FileItem/useFileItem.ts +81 -81
  63. package/src/components/items/GroupItem/GroupItem.tsx +98 -98
  64. package/src/components/items/GroupItem/useGroupItem.ts +34 -34
  65. package/src/components/items/Item.tsx +267 -267
  66. package/src/components/items/LinkWrapper.tsx +39 -39
  67. package/src/components/items/RectangleItem/RectangleItem.tsx +176 -176
  68. package/src/components/items/RectangleItem/useRectangleItem.ts +89 -89
  69. package/src/components/items/RichTextItem/RichTextItem.tsx +112 -112
  70. package/src/components/items/RichTextItem/useRichTextItem.ts +12 -12
  71. package/src/components/items/RichTextWrapper.tsx +15 -15
  72. package/src/components/items/itemsMap.ts +28 -28
  73. package/src/components/items/useDraggable.ts +252 -252
  74. package/src/components/items/useItemAngle.ts +13 -13
  75. package/src/components/items/useItemArea.ts +35 -35
  76. package/src/components/items/useItemPointerEvents.ts +23 -23
  77. package/src/components/items/useItemScale.ts +17 -17
  78. package/src/components/items/useItemTriggers.ts +15 -15
  79. package/src/components/items/useRichTextItemValues.ts +66 -66
  80. package/src/components/items/useSizing.ts +25 -25
  81. package/src/components/items/useStickyItemTop.ts +21 -21
  82. package/src/components/useLayoutContext.ts +7 -7
  83. package/src/index.ts +24 -24
  84. package/src/interactions/InteractionsRegistry.ts +512 -512
  85. package/src/interactions/ItemInteractionCtrl.ts +78 -78
  86. package/src/interactions/getTransition.ts +27 -27
  87. package/src/interactions/types.ts +36 -36
  88. package/src/interactions/useItemInteractionCtrl.ts +18 -18
  89. package/src/provider/ArticleRectContext.ts +4 -4
  90. package/src/provider/CntrlContext.ts +5 -5
  91. package/src/provider/CntrlProvider.tsx +11 -11
  92. package/src/provider/CntrlSdkContext.ts +84 -84
  93. package/src/provider/CustomItemRegistry.ts +14 -14
  94. package/src/provider/CustomItemTypes.ts +3 -3
  95. package/src/provider/CustomSectionRegistry.ts +25 -25
  96. package/src/provider/InteractionsContext.tsx +73 -73
  97. package/src/provider/Keyframes.ts +11 -11
  98. package/src/provider/KeyframesContext.ts +5 -5
  99. package/src/provider/LayoutContext.ts +3 -3
  100. package/src/provider/WebGLContextManagerContext.tsx +4 -4
  101. package/src/provider/defaultContext.ts +8 -8
  102. package/src/provider/useCntrlContext.ts +8 -8
  103. package/src/styled-jsx.d.ts +1 -1
  104. package/src/utils/Animator/Animator.ts +570 -570
  105. package/src/utils/ArticleRectManager/ArticleRectObserver.ts +93 -93
  106. package/src/utils/ArticleRectManager/useArticleRectObserver.ts +17 -17
  107. package/src/utils/ArticleRectManager/useSectionRegistry.ts +11 -11
  108. package/src/utils/CSSNumeric.ts +19 -19
  109. package/src/utils/EventEmitter.ts +41 -41
  110. package/src/utils/RichTextConverter/RichTextConverter.tsx +342 -342
  111. package/src/utils/ScaleAnchorMap.ts +13 -13
  112. package/src/utils/StickyManager/StickyManager.ts +23 -23
  113. package/src/utils/Youtube/YouTubeIframeApiLoader.ts +58 -58
  114. package/src/utils/Youtube/YoutubeIframeApi.ts +101 -101
  115. package/src/utils/Youtube/useYouTubeIframeApi.ts +12 -12
  116. package/src/utils/areFillsVisible/areFillsVisible.test.ts +63 -63
  117. package/src/utils/areFillsVisible/areFillsVisible.ts +37 -37
  118. package/src/utils/binSearchInsertAt.ts +33 -33
  119. package/src/utils/castObject.ts +10 -10
  120. package/src/utils/checkOverflowClipSupport.ts +13 -13
  121. package/src/utils/domDfs.ts +11 -11
  122. package/src/utils/effects/useImageFx.ts +156 -156
  123. package/src/utils/effects/useVideoFx.ts +158 -158
  124. package/src/utils/getAnchoredItemTop.ts +12 -12
  125. package/src/utils/getCompoundBoundaryStyles.ts +60 -60
  126. package/src/utils/getFill.ts +46 -46
  127. package/src/utils/getFontFamilyValue.ts +3 -3
  128. package/src/utils/getInvertedRanges.ts +43 -43
  129. package/src/utils/getItemTopStyle.ts +39 -39
  130. package/src/utils/getStyleFromItemStateAndParams.ts +8 -8
  131. package/src/utils/getValidYoutubeUrl.ts +29 -29
  132. package/src/utils/isItemType.ts +5 -5
  133. package/src/utils/rangeMap.ts +13 -13
  134. package/src/utils/useElementRect.ts +23 -23
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2022 CNTRL
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2022 CNTRL
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # sdk-nextjs
2
- SDK is the code that transforms the raw data from the API
3
- into React components. In Control this happens at build time,
4
- when users hit the "Publish" button from the Project Dashboard.
1
+ # sdk-nextjs
2
+ SDK is the code that transforms the raw data from the API
3
+ into React components. In Control this happens at build time,
4
+ when users hit the "Publish" button from the Project Dashboard.
package/TODO.md CHANGED
@@ -1 +1 @@
1
- 1. Uninstall `@types/isomorphic-fetch` package and run `npm run build` - results in a TS compile error
1
+ 1. Uninstall `@types/isomorphic-fetch` package and run `npm run build` - results in a TS compile error
package/eslint.config.mjs CHANGED
@@ -1,35 +1,35 @@
1
- import antfu from '@antfu/eslint-config';
2
-
3
- export default antfu(
4
- {
5
- ignores: [],
6
- },
7
- {
8
- rules: {
9
- 'import/order': 'off',
10
- 'style/semi': 'off',
11
- 'antfu/if-newline': 'off',
12
- 'style/comma-dangle': 'off',
13
- 'style/member-delimiter-style': 'off',
14
- 'semi': ['error', 'always'],
15
- 'no-alert': 'off',
16
- 'ts/consistent-type-definitions': 'off',
17
- 'perfectionist/sort-imports': 'off',
18
- 'perfectionist/sort-named-imports': 'off',
19
- 'ts/consistent-type-imports': 'off',
20
- 'jsonc/sort-keys': 'off',
21
- 'node/prefer-global/process': 'off',
22
- 'style/arrow-parens': 'off',
23
- 'ts/method-signature-style': 'off',
24
- 'style/brace-style': 'off',
25
- 'style/jsx-one-expression-per-line': 'off',
26
- 'test/prefer-lowercase-title': 'off',
27
- 'perfectionist/sort-exports': 'off',
28
- 'no-extra-boolean-cast': 'off',
29
- 'prefer-promise-reject-errors': 'off',
30
- 'new-cap': 'off',
31
- 'perfectionist/sort-named-exports': 'off',
32
- 'style/multiline-ternary': 'off'
33
- },
34
- },
35
- );
1
+ import antfu from '@antfu/eslint-config';
2
+
3
+ export default antfu(
4
+ {
5
+ ignores: [],
6
+ },
7
+ {
8
+ rules: {
9
+ 'import/order': 'off',
10
+ 'style/semi': 'off',
11
+ 'antfu/if-newline': 'off',
12
+ 'style/comma-dangle': 'off',
13
+ 'style/member-delimiter-style': 'off',
14
+ 'semi': ['error', 'always'],
15
+ 'no-alert': 'off',
16
+ 'ts/consistent-type-definitions': 'off',
17
+ 'perfectionist/sort-imports': 'off',
18
+ 'perfectionist/sort-named-imports': 'off',
19
+ 'ts/consistent-type-imports': 'off',
20
+ 'jsonc/sort-keys': 'off',
21
+ 'node/prefer-global/process': 'off',
22
+ 'style/arrow-parens': 'off',
23
+ 'ts/method-signature-style': 'off',
24
+ 'style/brace-style': 'off',
25
+ 'style/jsx-one-expression-per-line': 'off',
26
+ 'test/prefer-lowercase-title': 'off',
27
+ 'perfectionist/sort-exports': 'off',
28
+ 'no-extra-boolean-cast': 'off',
29
+ 'prefer-promise-reject-errors': 'off',
30
+ 'new-cap': 'off',
31
+ 'perfectionist/sort-named-exports': 'off',
32
+ 'style/multiline-ternary': 'off'
33
+ },
34
+ },
35
+ );
package/jest.config.js CHANGED
@@ -1,6 +1,6 @@
1
- /** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */
2
- module.exports = {
3
- preset: 'ts-jest',
4
- testEnvironment: 'jsdom',
5
- rootDir: './src'
6
- };
1
+ /** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */
2
+ module.exports = {
3
+ preset: 'ts-jest',
4
+ testEnvironment: 'jsdom',
5
+ rootDir: './src'
6
+ };
@@ -3,13 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useItemFXData = void 0;
4
4
  const sdk_1 = require("@cntrl-site/sdk");
5
5
  const useKeyframeValue_1 = require("./useKeyframeValue");
6
- const baseVariables = `precision mediump float;
7
- uniform sampler2D u_image;
8
- uniform sampler2D u_pattern;
9
- uniform vec2 u_imgDimensions;
10
- uniform vec2 u_patternDimensions;
11
- uniform float u_time;
12
- uniform vec2 u_cursor;
6
+ const baseVariables = `precision mediump float;
7
+ uniform sampler2D u_image;
8
+ uniform sampler2D u_pattern;
9
+ uniform vec2 u_imgDimensions;
10
+ uniform vec2 u_patternDimensions;
11
+ uniform float u_time;
12
+ uniform vec2 u_cursor;
13
13
  varying vec2 v_texCoord;`;
14
14
  function useItemFXData(item, sectionId) {
15
15
  const { fragmentShader: shaderBody, FXControls } = item.commonParams;
@@ -32,11 +32,11 @@ const Article = ({ article, sectionData }) => {
32
32
  return ((0, jsx_runtime_1.jsx)(ArticleRectContext_1.ArticleRectContext.Provider, { value: articleRectObserver, children: (0, jsx_runtime_1.jsxs)(InteractionsContext_1.InteractionsProvider, { article: article, children: [(0, jsx_runtime_1.jsx)(ArticleWrapper_1.ArticleWrapper, { children: (0, jsx_runtime_1.jsxs)("div", { className: "article", ref: articleRef, children: [(0, jsx_runtime_1.jsx)(WebGLContextManagerContext_1.WebglContextManagerContext.Provider, { value: webglContextManager, children: article.sections.map((section, i) => {
33
33
  const data = section.name ? sectionData[section.name] : {};
34
34
  return ((0, jsx_runtime_1.jsx)(Section_1.Section, { section: section, data: data, zIndex: sectionsLength - i, children: article.sections[i].items.map(item => ((0, jsx_runtime_1.jsx)(Item_1.Item, { item: item, sectionId: section.id, articleHeight: articleHeight }, item.id))) }, section.id));
35
- }) }), (0, jsx_runtime_1.jsx)("div", { id: "component-portal" })] }) }), (0, jsx_runtime_1.jsx)(style_1.default, { id: id, children: `
36
- .article {
37
- position: relative;
38
- overflow: clip;
39
- }
35
+ }) }), (0, jsx_runtime_1.jsx)("div", { id: "component-portal" })] }) }), (0, jsx_runtime_1.jsx)(style_1.default, { id: id, children: `
36
+ .article {
37
+ position: relative;
38
+ overflow: clip;
39
+ }
40
40
  ` })] }) }));
41
41
  };
42
42
  exports.Article = Article;
@@ -9,10 +9,10 @@ const sdk_1 = require("@cntrl-site/sdk");
9
9
  const style_1 = __importDefault(require("styled-jsx/style"));
10
10
  const LayoutStyle = ({ id, layouts, layoutId, children }) => {
11
11
  const layout = layouts.find(l => l.id === layoutId);
12
- return ((0, jsx_runtime_1.jsx)(style_1.default, { id: id, children: `
13
- ${(0, sdk_1.getLayoutMediaQuery)(layoutId, layouts)} {
14
- ${children === null || children === void 0 ? void 0 : children(layout)}
15
- }
12
+ return ((0, jsx_runtime_1.jsx)(style_1.default, { id: id, children: `
13
+ ${(0, sdk_1.getLayoutMediaQuery)(layoutId, layouts)} {
14
+ ${children === null || children === void 0 ? void 0 : children(layout)}
15
+ }
16
16
  ` }));
17
17
  };
18
18
  exports.LayoutStyle = LayoutStyle;
@@ -6,10 +6,16 @@ const react_1 = require("react");
6
6
  const rangeMap_1 = require("../utils/rangeMap");
7
7
  const ArticleRectContext_1 = require("../provider/ArticleRectContext");
8
8
  const sdk_1 = require("@cntrl-site/sdk");
9
- const ScrollPlaybackVideo = ({ sectionId, src, playbackParams, style, className }) => {
9
+ const ScrollPlaybackVideo = ({ sectionId, src, playbackParams, style, className, scrollPlaybackFrameData, frameBaseUrl }) => {
10
10
  const [containerElement, setContainerElement] = (0, react_1.useState)(null);
11
11
  const [time, setTime] = (0, react_1.useState)(0);
12
12
  const articleRectObserver = (0, react_1.useContext)(ArticleRectContext_1.ArticleRectContext);
13
+ const hasServerFrames = (scrollPlaybackFrameData === null || scrollPlaybackFrameData === void 0 ? void 0 : scrollPlaybackFrameData.status) === 'ready'
14
+ && scrollPlaybackFrameData.batchId
15
+ && scrollPlaybackFrameData.frameCount
16
+ && scrollPlaybackFrameData.frameRate
17
+ && scrollPlaybackFrameData.frameFormat
18
+ && frameBaseUrl;
13
19
  (0, react_1.useEffect)(() => {
14
20
  if (!playbackParams || !articleRectObserver)
15
21
  return;
@@ -22,12 +28,17 @@ const ScrollPlaybackVideo = ({ sectionId, src, playbackParams, style, className
22
28
  const scrollVideoManager = (0, react_1.useMemo)(() => {
23
29
  if (!containerElement)
24
30
  return null;
25
- const manager = new sdk_1.ScrollPlaybackVideoManager({
26
- src,
27
- videoContainer: containerElement
28
- });
31
+ const manager = new sdk_1.ScrollPlaybackVideoManager(Object.assign({ src, videoContainer: containerElement }, (hasServerFrames ? {
32
+ frameData: {
33
+ batchId: scrollPlaybackFrameData.batchId,
34
+ frameCount: scrollPlaybackFrameData.frameCount,
35
+ frameRate: scrollPlaybackFrameData.frameRate,
36
+ frameFormat: scrollPlaybackFrameData.frameFormat
37
+ },
38
+ frameBaseUrl
39
+ } : {})));
29
40
  return manager;
30
- }, [containerElement, src]);
41
+ }, [containerElement, src, hasServerFrames, frameBaseUrl]);
31
42
  (0, react_1.useEffect)(() => {
32
43
  return () => {
33
44
  scrollVideoManager === null || scrollVideoManager === void 0 ? void 0 : scrollVideoManager.destroy();
@@ -38,38 +38,38 @@ const Section = ({ section, data, children, zIndex }) => {
38
38
  .sort((a, b) => a.startsWith - b.startsWith)
39
39
  .reduce((acc, layout) => {
40
40
  const isHidden = section.hidden[layout.id];
41
- return `
42
- ${acc}
43
- ${(0, sdk_1.getLayoutMediaQuery)(layout.id, layouts)} {
44
- .section-${section.id} {
45
- display: ${isHidden ? 'none' : 'block'};
46
- }
41
+ return `
42
+ ${acc}
43
+ ${(0, sdk_1.getLayoutMediaQuery)(layout.id, layouts)} {
44
+ .section-${section.id} {
45
+ display: ${isHidden ? 'none' : 'block'};
46
+ }
47
47
  }`;
48
48
  }, '');
49
49
  };
50
50
  if (SectionComponent)
51
51
  return (0, jsx_runtime_1.jsx)("div", { ref: sectionRef, children: (0, jsx_runtime_1.jsx)(SectionComponent, { data: data, children: children }) });
52
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { className: `section-${section.id}`, id: section.name, ref: sectionRef, style: { zIndex }, children: [media && media.size !== 'none' && sectionRef.current && ((0, jsx_runtime_1.jsx)("div", { className: `section-background-overlay-${section.id}`, children: (0, jsx_runtime_1.jsxs)("div", { className: `section-background-wrapper-${section.id}`, style: Object.assign({ transform: media.position === 'fixed' ? 'translateY(-100vh)' : 'unset' }, (sectionHeight && { height: media.position === 'fixed' ? `calc(${getSectionHeight(sectionHeight)} + 200vh)` : getSectionHeight(sectionHeight) })), children: [media.type === 'video' && ((0, jsx_runtime_1.jsx)(SectionVideo_1.SectionVideo, { container: sectionRef.current, sectionId: section.id, media: media })), media.type === 'image' && ((0, jsx_runtime_1.jsx)(SectionImage_1.SectionImage, { media: media, sectionId: section.id }))] }, `section-background-wrapper-${section.id}`) })), children] }), (0, jsx_runtime_1.jsx)(style_1.default, { id: id, children: `
53
- ${(0, sdk_1.getLayoutStyles)(layouts, layoutValues, ([height, color, media]) => (`
54
- .section-${section.id} {
55
- height: ${getSectionHeight(height)};
56
- position: relative;
57
- background-color: ${color_1.CntrlColor.parse(color !== null && color !== void 0 ? color : DEFAULT_COLOR).fmt('rgba')};
58
- }
59
- .section-background-overlay-${section.id} {
60
- height: ${getSectionHeight(height)};
61
- width: 100%;
62
- position: relative;
63
- overflow: clip;
64
- }
65
- .section-background-wrapper-${section.id} {
66
- transform: ${(media === null || media === void 0 ? void 0 : media.position) === 'fixed' ? 'translateY(-100vh)' : 'unset'};
67
- position: relative;
68
- height: ${(media === null || media === void 0 ? void 0 : media.position) === 'fixed' ? `calc(${getSectionHeight(height)} + 200vh)` : getSectionHeight(height)};
69
- width: 100%;
70
- }
71
- `))}
72
- ${getSectionVisibilityStyles()}
52
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { className: `section-${section.id}`, id: section.name, ref: sectionRef, style: { zIndex }, children: [media && media.size !== 'none' && sectionRef.current && ((0, jsx_runtime_1.jsx)("div", { className: `section-background-overlay-${section.id}`, children: (0, jsx_runtime_1.jsxs)("div", { className: `section-background-wrapper-${section.id}`, style: Object.assign({ transform: media.position === 'fixed' ? 'translateY(-100vh)' : 'unset' }, (sectionHeight && { height: media.position === 'fixed' ? `calc(${getSectionHeight(sectionHeight)} + 200vh)` : getSectionHeight(sectionHeight) })), children: [media.type === 'video' && ((0, jsx_runtime_1.jsx)(SectionVideo_1.SectionVideo, { container: sectionRef.current, sectionId: section.id, media: media })), media.type === 'image' && ((0, jsx_runtime_1.jsx)(SectionImage_1.SectionImage, { media: media, sectionId: section.id }))] }, `section-background-wrapper-${section.id}`) })), children] }), (0, jsx_runtime_1.jsx)(style_1.default, { id: id, children: `
53
+ ${(0, sdk_1.getLayoutStyles)(layouts, layoutValues, ([height, color, media]) => (`
54
+ .section-${section.id} {
55
+ height: ${getSectionHeight(height)};
56
+ position: relative;
57
+ background-color: ${color_1.CntrlColor.parse(color !== null && color !== void 0 ? color : DEFAULT_COLOR).fmt('rgba')};
58
+ }
59
+ .section-background-overlay-${section.id} {
60
+ height: ${getSectionHeight(height)};
61
+ width: 100%;
62
+ position: relative;
63
+ overflow: clip;
64
+ }
65
+ .section-background-wrapper-${section.id} {
66
+ transform: ${(media === null || media === void 0 ? void 0 : media.position) === 'fixed' ? 'translateY(-100vh)' : 'unset'};
67
+ position: relative;
68
+ height: ${(media === null || media === void 0 ? void 0 : media.position) === 'fixed' ? `calc(${getSectionHeight(height)} + 200vh)` : getSectionHeight(height)};
69
+ width: 100%;
70
+ }
71
+ `))}
72
+ ${getSectionVisibilityStyles()}
73
73
  ` })] }));
74
74
  };
75
75
  exports.Section = Section;
@@ -64,18 +64,18 @@ const CodeEmbedItem = ({ item, sectionId, onResize, interactionCtrl, onVisibilit
64
64
  const iframe = ref.querySelector(`[data-embed="${item.id}"]`);
65
65
  if (!iframe)
66
66
  return;
67
- const htmlWithStyles = `
68
- ${fontGoogleTags}
69
- ${fontAdobeTags}
70
- <style>
71
- ${fontCustomTags}
72
- html, body {
73
- height: 100%;
74
- margin: 0 !important;
75
- padding: 0 !important;
76
- }
77
- </style>
78
- ${html}
67
+ const htmlWithStyles = `
68
+ ${fontGoogleTags}
69
+ ${fontAdobeTags}
70
+ <style>
71
+ ${fontCustomTags}
72
+ html, body {
73
+ height: 100%;
74
+ margin: 0 !important;
75
+ padding: 0 !important;
76
+ }
77
+ </style>
78
+ ${html}
79
79
  `;
80
80
  iframe.srcdoc = htmlWithStyles;
81
81
  }, [html, item.commonParams.iframe, ref]);
@@ -83,32 +83,32 @@ const CodeEmbedItem = ({ item, sectionId, onResize, interactionCtrl, onVisibilit
83
83
  (0, react_1.useEffect)(() => {
84
84
  onVisibilityChange === null || onVisibilityChange === void 0 ? void 0 : onVisibilityChange(isInteractive);
85
85
  }, [isInteractive, onVisibilityChange]);
86
- return ((0, jsx_runtime_1.jsxs)(LinkWrapper_1.LinkWrapper, { url: (_h = item.link) === null || _h === void 0 ? void 0 : _h.url, target: (_j = item.link) === null || _j === void 0 ? void 0 : _j.target, children: [(0, jsx_runtime_1.jsx)("div", { className: `embed-wrapper-${item.id}`, style: Object.assign(Object.assign(Object.assign(Object.assign({}, (angle !== undefined ? { transform: `rotate(${angle}deg)` } : {})), (blur !== undefined ? { filter: `blur(${blur * 100}vw)` } : {})), (opacity !== undefined ? { opacity } : {})), { willChange: blur !== 0 && blur !== undefined ? 'transform' : 'unset', transition: (_k = stateParams === null || stateParams === void 0 ? void 0 : stateParams.transition) !== null && _k !== void 0 ? _k : 'none' }), ref: setRef, children: item.commonParams.iframe ? ((0, jsx_runtime_1.jsx)("iframe", { "data-embed": item.id, className: `embed-${item.id}`, style: Object.assign(Object.assign({}, pos), { border: 'unset' }) })) : ((0, jsx_runtime_1.jsx)("div", { className: `embed-${item.id}`, style: Object.assign({}, pos), dangerouslySetInnerHTML: { __html: html } })) }), (0, jsx_runtime_1.jsx)(style_1.default, { id: id, children: `
87
- .embed-wrapper-${item.id} {
88
- position: absolute;
89
- width: 100%;
90
- height: 100%;
91
- }
92
- .embed-${item.id} {
93
- transform: ${item.commonParams.scale ? 'scale(var(--layout-deviation))' : 'none'};
94
- transform-origin: top left;
95
- z-index: 1;
96
- border: none;
97
- }
86
+ return ((0, jsx_runtime_1.jsxs)(LinkWrapper_1.LinkWrapper, { url: (_h = item.link) === null || _h === void 0 ? void 0 : _h.url, target: (_j = item.link) === null || _j === void 0 ? void 0 : _j.target, children: [(0, jsx_runtime_1.jsx)("div", { className: `embed-wrapper-${item.id}`, style: Object.assign(Object.assign(Object.assign(Object.assign({}, (angle !== undefined ? { transform: `rotate(${angle}deg)` } : {})), (blur !== undefined ? { filter: `blur(${blur * 100}vw)` } : {})), (opacity !== undefined ? { opacity } : {})), { willChange: blur !== 0 && blur !== undefined ? 'transform' : 'unset', transition: (_k = stateParams === null || stateParams === void 0 ? void 0 : stateParams.transition) !== null && _k !== void 0 ? _k : 'none' }), ref: setRef, children: item.commonParams.iframe ? ((0, jsx_runtime_1.jsx)("iframe", { "data-embed": item.id, className: `embed-${item.id}`, style: Object.assign(Object.assign({}, pos), { border: 'unset' }) })) : ((0, jsx_runtime_1.jsx)("div", { className: `embed-${item.id}`, style: Object.assign({}, pos), dangerouslySetInnerHTML: { __html: html } })) }), (0, jsx_runtime_1.jsx)(style_1.default, { id: id, children: `
87
+ .embed-wrapper-${item.id} {
88
+ position: absolute;
89
+ width: 100%;
90
+ height: 100%;
91
+ }
92
+ .embed-${item.id} {
93
+ transform: ${item.commonParams.scale ? 'scale(var(--layout-deviation))' : 'none'};
94
+ transform-origin: top left;
95
+ z-index: 1;
96
+ border: none;
97
+ }
98
98
  ${(0, sdk_1.getLayoutStyles)(layouts, layoutValues, ([area, layoutParams], exemplary) => {
99
- return (`
100
- .embed-wrapper-${item.id} {
101
- opacity: ${layoutParams.opacity};
102
- transform: rotate(${area.angle}deg);
103
- filter: ${layoutParams.blur !== 0 ? `blur(${layoutParams.blur * 100}vw)` : 'unset'};
104
- ${layoutParams.blur !== 0 ? 'will-change: transform;' : ''}
105
- }
106
- .embed-${item.id} {
107
- width: ${item.commonParams.scale ? `${area.width * exemplary}px` : '100%'};
108
- height: ${item.commonParams.scale ? `${area.height * exemplary}px` : '100%'};
109
- }
99
+ return (`
100
+ .embed-wrapper-${item.id} {
101
+ opacity: ${layoutParams.opacity};
102
+ transform: rotate(${area.angle}deg);
103
+ filter: ${layoutParams.blur !== 0 ? `blur(${layoutParams.blur * 100}vw)` : 'unset'};
104
+ ${layoutParams.blur !== 0 ? 'will-change: transform;' : ''}
105
+ }
106
+ .embed-${item.id} {
107
+ width: ${item.commonParams.scale ? `${area.width * exemplary}px` : '100%'};
108
+ height: ${item.commonParams.scale ? `${area.height * exemplary}px` : '100%'};
109
+ }
110
110
  `);
111
- })}
111
+ })}
112
112
  ` })] }));
113
113
  };
114
114
  exports.CodeEmbedItem = CodeEmbedItem;
@@ -33,20 +33,20 @@ const ComponentItem = ({ item, sectionId, onResize, interactionCtrl }) => {
33
33
  const blur = (0, getStyleFromItemStateAndParams_1.getStyleFromItemStateAndParams)((_c = stateParams === null || stateParams === void 0 ? void 0 : stateParams.styles) === null || _c === void 0 ? void 0 : _c.blur, itemBlur);
34
34
  const Element = component ? component.element : undefined;
35
35
  const parameters = layout ? item.layoutParams[layout].parameters : undefined;
36
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: `custom-component-${item.id}`, ref: setRef, style: Object.assign(Object.assign(Object.assign(Object.assign({}, (opacity !== undefined ? { opacity } : {})), (angle !== undefined ? { transform: `rotate(${angle}deg)` } : {})), (blur !== undefined ? { filter: `blur(${blur * 100}vw)` } : {})), { willChange: blur !== 0 && blur !== undefined ? 'transform' : 'unset', transition: (_d = stateParams === null || stateParams === void 0 ? void 0 : stateParams.transition) !== null && _d !== void 0 ? _d : 'none' }), children: parameters && Element && ((0, jsx_runtime_1.jsx)(Element, Object.assign({ metadata: { itemId: item.id }, portalId: "component-portal", content: item.commonParams.content }, parameters))) }), (0, jsx_runtime_1.jsx)(style_1.default, { id: item.id, children: `
37
- .custom-component-${item.id} {
38
- width: 100%;
39
- height: 100%;
40
- pointer-events: auto;
41
- }
36
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: `custom-component-${item.id}`, ref: setRef, style: Object.assign(Object.assign(Object.assign(Object.assign({}, (opacity !== undefined ? { opacity } : {})), (angle !== undefined ? { transform: `rotate(${angle}deg)` } : {})), (blur !== undefined ? { filter: `blur(${blur * 100}vw)` } : {})), { willChange: blur !== 0 && blur !== undefined ? 'transform' : 'unset', transition: (_d = stateParams === null || stateParams === void 0 ? void 0 : stateParams.transition) !== null && _d !== void 0 ? _d : 'none' }), children: parameters && Element && ((0, jsx_runtime_1.jsx)(Element, Object.assign({ metadata: { itemId: item.id }, portalId: "component-portal", content: item.commonParams.content }, parameters))) }), (0, jsx_runtime_1.jsx)(style_1.default, { id: item.id, children: `
37
+ .custom-component-${item.id} {
38
+ width: 100%;
39
+ height: 100%;
40
+ pointer-events: auto;
41
+ }
42
42
  ${(0, sdk_1.getLayoutStyles)(layouts, layoutValues, ([area, layoutParams]) => {
43
- return (`
44
- .custom-component-${item.id} {
45
- transform: rotate(${area.angle}deg);
46
- opacity: ${layoutParams.opacity};
47
- filter: blur(${layoutParams.blur}vw);
48
- ${layoutParams.blur !== 0 ? 'will-change: transform;' : ''}
49
- }
43
+ return (`
44
+ .custom-component-${item.id} {
45
+ transform: rotate(${area.angle}deg);
46
+ opacity: ${layoutParams.opacity};
47
+ filter: blur(${layoutParams.blur}vw);
48
+ ${layoutParams.blur !== 0 ? 'will-change: transform;' : ''}
49
+ }
50
50
  `);
51
51
  })}` })] }));
52
52
  };
@@ -70,32 +70,32 @@ const CompoundChild = ({ item, sectionId, isParentVisible = true }) => {
70
70
  ? { height: `${sizingAxis.y === 'manual'
71
71
  ? (0, getCompoundBoundaryStyles_1.getCompoundHeight)(compoundSettings, height)
72
72
  : 'unset'}` }
73
- : {})), (compoundSettings ? { transform: `${(0, getCompoundBoundaryStyles_1.getCompoundTransform)(compoundSettings)}` } : {})), { transition: (_k = wrapperStateProps === null || wrapperStateProps === void 0 ? void 0 : wrapperStateProps.transition) !== null && _k !== void 0 ? _k : 'none', cursor: hasClickTriggers ? 'pointer' : 'unset', pointerEvents: allowPointerEvents ? 'auto' : 'none' }) }, triggers, { children: [(0, jsx_runtime_1.jsx)("div", { className: `item-${item.id}-inner`, style: Object.assign({ transition: (_l = innerStateProps === null || innerStateProps === void 0 ? void 0 : innerStateProps.transition) !== null && _l !== void 0 ? _l : 'none' }, (scale !== undefined ? { transform: `scale(${scale})` } : {})), children: (0, jsx_runtime_1.jsx)(RichTextWrapper_1.RichTextWrapper, { isRichText: isRichText, transformOrigin: transformOrigin, children: (0, jsx_runtime_1.jsx)(ItemComponent, { item: item, sectionId: sectionId, interactionCtrl: interactionCtrl, onVisibilityChange: handleVisibilityChange, isInCompound: true }) }) }), (0, jsx_runtime_1.jsx)(style_1.default, { id: id, children: `
73
+ : {})), (compoundSettings ? { transform: `${(0, getCompoundBoundaryStyles_1.getCompoundTransform)(compoundSettings)}` } : {})), { transition: (_k = wrapperStateProps === null || wrapperStateProps === void 0 ? void 0 : wrapperStateProps.transition) !== null && _k !== void 0 ? _k : 'none', cursor: hasClickTriggers ? 'pointer' : 'unset', pointerEvents: allowPointerEvents ? 'auto' : 'none' }) }, triggers, { children: [(0, jsx_runtime_1.jsx)("div", { className: `item-${item.id}-inner`, style: Object.assign({ transition: (_l = innerStateProps === null || innerStateProps === void 0 ? void 0 : innerStateProps.transition) !== null && _l !== void 0 ? _l : 'none' }, (scale !== undefined ? { transform: `scale(${scale})` } : {})), children: (0, jsx_runtime_1.jsx)(RichTextWrapper_1.RichTextWrapper, { isRichText: isRichText, transformOrigin: transformOrigin, children: (0, jsx_runtime_1.jsx)(ItemComponent, { item: item, sectionId: sectionId, interactionCtrl: interactionCtrl, onVisibilityChange: handleVisibilityChange, isInCompound: true }) }) }), (0, jsx_runtime_1.jsx)(style_1.default, { id: id, children: `
74
74
  ${(0, sdk_1.getLayoutStyles)(layouts, layoutValues, ([area, hidden, compoundSettings, layoutParams]) => {
75
75
  const sizingAxis = (0, useSizing_1.parseSizing)(layoutParams.sizing);
76
76
  const scaleAnchor = area.scaleAnchor;
77
- return (`
78
- .item-${item.id}-inner {
79
- width: 100%;
80
- height: 100%;
81
- transform-origin: ${ScaleAnchorMap_1.ScaleAnchorMap[scaleAnchor]};
82
- transform: scale(${area.scale});
83
- }
84
- .item-${item.id} {
85
- position: absolute;
86
- top: ${(0, getCompoundBoundaryStyles_1.getCompoundTop)(compoundSettings, area.top)};
87
- left: ${(0, getCompoundBoundaryStyles_1.getCompoundLeft)(compoundSettings, area.left)};
88
- transition: opacity 0.2s linear 0.1s;
89
- display: ${hidden ? 'none' : 'block'};
77
+ return (`
78
+ .item-${item.id}-inner {
79
+ width: 100%;
80
+ height: 100%;
81
+ transform-origin: ${ScaleAnchorMap_1.ScaleAnchorMap[scaleAnchor]};
82
+ transform: scale(${area.scale});
83
+ }
84
+ .item-${item.id} {
85
+ position: absolute;
86
+ top: ${(0, getCompoundBoundaryStyles_1.getCompoundTop)(compoundSettings, area.top)};
87
+ left: ${(0, getCompoundBoundaryStyles_1.getCompoundLeft)(compoundSettings, area.left)};
88
+ transition: opacity 0.2s linear 0.1s;
89
+ display: ${hidden ? 'none' : 'block'};
90
90
  width: ${sizingAxis.x === 'manual'
91
91
  ? `${(0, getCompoundBoundaryStyles_1.getCompoundWidth)(compoundSettings, area.width, isRichText)}`
92
- : 'max-content'};
93
- height: ${sizingAxis.y === 'manual' ? `${(0, getCompoundBoundaryStyles_1.getCompoundHeight)(compoundSettings, area.height)}` : 'unset'};
94
- transform: ${(0, getCompoundBoundaryStyles_1.getCompoundTransform)(compoundSettings)};
95
- z-index: ${area.zIndex};
96
- }
92
+ : 'max-content'};
93
+ height: ${sizingAxis.y === 'manual' ? `${(0, getCompoundBoundaryStyles_1.getCompoundHeight)(compoundSettings, area.height)}` : 'unset'};
94
+ transform: ${(0, getCompoundBoundaryStyles_1.getCompoundTransform)(compoundSettings)};
95
+ z-index: ${area.zIndex};
96
+ }
97
97
  `);
98
- })}
98
+ })}
99
99
  ` })] })));
100
100
  };
101
101
  exports.CompoundChild = CompoundChild;
@@ -49,22 +49,22 @@ const CompoundItem = ({ item, sectionId, onResize, interactionCtrl, onVisibility
49
49
  }
50
50
  }, 0);
51
51
  }, [itemIds, item.id]);
52
- return ((0, jsx_runtime_1.jsx)(LinkWrapper_1.LinkWrapper, { url: (_c = item.link) === null || _c === void 0 ? void 0 : _c.url, target: (_d = item.link) === null || _d === void 0 ? void 0 : _d.target, children: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: `compound-${item.id}`, ref: setRef, style: Object.assign(Object.assign(Object.assign({}, (opacity !== undefined ? { opacity } : {})), (angle !== undefined ? { transform: `rotate(${angle}deg)` } : {})), { transition: (_e = stateParams === null || stateParams === void 0 ? void 0 : stateParams.transition) !== null && _e !== void 0 ? _e : 'none' }), children: items && items.map(item => ((0, jsx_runtime_1.jsx)(CompoundChild_1.CompoundChild, { item: item, sectionId: sectionId, isParentVisible: isInteractive }, item.id))) }), (0, jsx_runtime_1.jsx)(style_1.default, { id: id, children: `
53
- .compound-${item.id} {
54
- overflow: ${item.commonParams.overflow};
55
- position: absolute;
56
- width: 100%;
57
- height: 100%;
58
- box-sizing: border-box;
59
- }
52
+ return ((0, jsx_runtime_1.jsx)(LinkWrapper_1.LinkWrapper, { url: (_c = item.link) === null || _c === void 0 ? void 0 : _c.url, target: (_d = item.link) === null || _d === void 0 ? void 0 : _d.target, children: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: `compound-${item.id}`, ref: setRef, style: Object.assign(Object.assign(Object.assign({}, (opacity !== undefined ? { opacity } : {})), (angle !== undefined ? { transform: `rotate(${angle}deg)` } : {})), { transition: (_e = stateParams === null || stateParams === void 0 ? void 0 : stateParams.transition) !== null && _e !== void 0 ? _e : 'none' }), children: items && items.map(item => ((0, jsx_runtime_1.jsx)(CompoundChild_1.CompoundChild, { item: item, sectionId: sectionId, isParentVisible: isInteractive }, item.id))) }), (0, jsx_runtime_1.jsx)(style_1.default, { id: id, children: `
53
+ .compound-${item.id} {
54
+ overflow: ${item.commonParams.overflow};
55
+ position: absolute;
56
+ width: 100%;
57
+ height: 100%;
58
+ box-sizing: border-box;
59
+ }
60
60
  ${(0, sdk_1.getLayoutStyles)(layouts, layoutValues, ([area, layoutParams]) => {
61
- return (`
62
- .compound-${item.id} {
63
- opacity: ${layoutParams.opacity};
64
- transform: rotate(${area.angle}deg);
65
- }
61
+ return (`
62
+ .compound-${item.id} {
63
+ opacity: ${layoutParams.opacity};
64
+ transform: rotate(${area.angle}deg);
65
+ }
66
66
  `);
67
- })}
67
+ })}
68
68
  ` })] }) }));
69
69
  };
70
70
  exports.CompoundItem = CompoundItem;
@@ -27,15 +27,15 @@ const CustomItem = ({ item, onResize, sectionId, interactionCtrl }) => {
27
27
  if (!component)
28
28
  return null;
29
29
  return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: `custom-component-${item.id}`, ref: setRef, style: Object.assign(Object.assign({}, (angle !== undefined ? { transform: `rotate(${angle}deg)` } : {})), { transition: (_c = stateParams === null || stateParams === void 0 ? void 0 : stateParams.transition) !== null && _c !== void 0 ? _c : 'none' }), children: component({}) }), (0, jsx_runtime_1.jsx)(style_1.default, { id: item.id, children: `${(0, sdk_1.getLayoutStyles)(layouts, layoutValues, ([area]) => {
30
- return (`
31
- .custom-component-${item.id} {
32
- transform: rotate(${area.angle}deg);
33
- height: 100%;
34
- width: 100%;
35
- position: absolute;
36
- left: 0;
37
- top: 0;
38
- }
30
+ return (`
31
+ .custom-component-${item.id} {
32
+ transform: rotate(${area.angle}deg);
33
+ height: 100%;
34
+ width: 100%;
35
+ position: absolute;
36
+ left: 0;
37
+ top: 0;
38
+ }
39
39
  `);
40
40
  })}` })] }));
41
41
  };
@@ -149,32 +149,32 @@ const VimeoEmbedItem = ({ item, sectionId, onResize, interactionCtrl, onVisibili
149
149
  width: '100%',
150
150
  top: '0',
151
151
  left: '0'
152
- } })), (0, jsx_runtime_1.jsx)("iframe", { ref: setIframeRef, className: "embed-video", src: validUrl || '', allow: "autoplay; fullscreen; picture-in-picture;", allowFullScreen: true, style: Object.assign(Object.assign({}, (radius !== undefined ? { borderRadius: `${radius * 100}vw` } : {})), { transition: (_j = frameStateParams === null || frameStateParams === void 0 ? void 0 : frameStateParams.transition) !== null && _j !== void 0 ? _j : 'none' }) })] }), (0, jsx_runtime_1.jsx)(style_1.default, { id: id, children: `
153
- .embed-video-wrapper-${item.id} {
154
- position: absolute;
155
- width: 100%;
156
- height: 100%;
157
- }
158
- .embed-video {
159
- width: 100%;
160
- height: 100%;
161
- z-index: 1;
162
- border: none;
163
- overflow: hidden;
164
- }
152
+ } })), (0, jsx_runtime_1.jsx)("iframe", { ref: setIframeRef, className: "embed-video", src: validUrl || '', allow: "autoplay; fullscreen; picture-in-picture;", allowFullScreen: true, style: Object.assign(Object.assign({}, (radius !== undefined ? { borderRadius: `${radius * 100}vw` } : {})), { transition: (_j = frameStateParams === null || frameStateParams === void 0 ? void 0 : frameStateParams.transition) !== null && _j !== void 0 ? _j : 'none' }) })] }), (0, jsx_runtime_1.jsx)(style_1.default, { id: id, children: `
153
+ .embed-video-wrapper-${item.id} {
154
+ position: absolute;
155
+ width: 100%;
156
+ height: 100%;
157
+ }
158
+ .embed-video {
159
+ width: 100%;
160
+ height: 100%;
161
+ z-index: 1;
162
+ border: none;
163
+ overflow: hidden;
164
+ }
165
165
  ${(0, sdk_1.getLayoutStyles)(layouts, layoutValues, ([area, layoutParams]) => {
166
- return (`
167
- .embed-video-wrapper-${item.id} {
168
- opacity: ${layoutParams.opacity};
169
- transform: rotate(${area.angle}deg);
170
- filter: ${layoutParams.blur !== 0 ? `blur(${layoutParams.blur * 100}vw)` : 'unset'};
171
- ${layoutParams.blur !== 0 ? 'will-change: transform;' : ''}
172
- }
173
- .embed-video-wrapper-${item.id} .embed-video {
174
- border-radius: ${layoutParams.radius * 100}vw;
175
- }
166
+ return (`
167
+ .embed-video-wrapper-${item.id} {
168
+ opacity: ${layoutParams.opacity};
169
+ transform: rotate(${area.angle}deg);
170
+ filter: ${layoutParams.blur !== 0 ? `blur(${layoutParams.blur * 100}vw)` : 'unset'};
171
+ ${layoutParams.blur !== 0 ? 'will-change: transform;' : ''}
172
+ }
173
+ .embed-video-wrapper-${item.id} .embed-video {
174
+ border-radius: ${layoutParams.radius * 100}vw;
175
+ }
176
176
  `);
177
- })}
177
+ })}
178
178
  ` })] }));
179
179
  };
180
180
  exports.VimeoEmbedItem = VimeoEmbedItem;