@cntrl-site/sdk-nextjs 1.8.10 → 1.8.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cntrl-site-sdk-nextjs-1.8.12.tgz +0 -0
- package/cntrl-site-sdk-nextjs-1.8.13.tgz +0 -0
- package/lib/common/useRegisterResize.js +2 -2
- package/lib/components/items/CodeEmbedItem/CodeEmbedItem.js +6 -1
- package/lib/components/items/ComponentItem/ComponentItem.js +6 -4
- package/lib/components/items/ComponentItem/useComponentItem.js +8 -1
- package/package.json +2 -2
- package/src/common/useRegisterResize.ts +2 -3
- package/src/components/items/CodeEmbedItem/CodeEmbedItem.tsx +6 -1
- package/src/components/items/ComponentItem/ComponentItem.tsx +5 -2
- package/src/components/items/ComponentItem/useComponentItem.ts +14 -2
- package/cntrl-site-sdk-nextjs-1.8.1.tgz +0 -0
|
Binary file
|
|
Binary file
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.useRegisterResize = void 0;
|
|
7
7
|
const react_1 = require("react");
|
|
8
8
|
const resize_observer_polyfill_1 = __importDefault(require("resize-observer-polyfill"));
|
|
9
|
-
|
|
9
|
+
function useRegisterResize(ref, onResize) {
|
|
10
10
|
(0, react_1.useEffect)(() => {
|
|
11
11
|
if (!ref || !onResize)
|
|
12
12
|
return;
|
|
@@ -19,5 +19,5 @@ const useRegisterResize = (ref, onResize) => {
|
|
|
19
19
|
observer.unobserve(ref);
|
|
20
20
|
};
|
|
21
21
|
}, [ref, onResize]);
|
|
22
|
-
}
|
|
22
|
+
}
|
|
23
23
|
exports.useRegisterResize = useRegisterResize;
|
|
@@ -66,7 +66,12 @@ const CodeEmbedItem = ({ item, sectionId, onResize, interactionCtrl, onVisibilit
|
|
|
66
66
|
${fontGoogleTags}
|
|
67
67
|
${fontAdobeTags}
|
|
68
68
|
<style>
|
|
69
|
-
|
|
69
|
+
${fontCustomTags}
|
|
70
|
+
html, body {
|
|
71
|
+
height: 100%;
|
|
72
|
+
margin: 0 !important;
|
|
73
|
+
padding: 0 !important;
|
|
74
|
+
}
|
|
70
75
|
</style>
|
|
71
76
|
${item.commonParams.html}
|
|
72
77
|
`;
|
|
@@ -15,7 +15,7 @@ const useRegisterResize_1 = require("../../../common/useRegisterResize");
|
|
|
15
15
|
const getStyleFromItemStateAndParams_1 = require("../../../utils/getStyleFromItemStateAndParams");
|
|
16
16
|
const useLayoutContext_1 = require("../../useLayoutContext");
|
|
17
17
|
const ComponentItem = ({ item, sectionId, onResize, interactionCtrl }) => {
|
|
18
|
-
var _a, _b, _c;
|
|
18
|
+
var _a, _b, _c, _d;
|
|
19
19
|
const sdk = (0, useCntrlContext_1.useCntrlContext)();
|
|
20
20
|
const { layouts } = sdk;
|
|
21
21
|
const itemAngle = (0, useItemAngle_1.useItemAngle)(item, sectionId);
|
|
@@ -23,14 +23,15 @@ const ComponentItem = ({ item, sectionId, onResize, interactionCtrl }) => {
|
|
|
23
23
|
const layoutValues = [item.area, item.layoutParams];
|
|
24
24
|
const component = sdk.getComponent(item.commonParams.componentId);
|
|
25
25
|
const [ref, setRef] = (0, react_1.useState)(null);
|
|
26
|
-
const { opacity: itemOpacity } = (0, useComponentItem_1.useComponentItem)(item, sectionId);
|
|
26
|
+
const { opacity: itemOpacity, blur: itemBlur } = (0, useComponentItem_1.useComponentItem)(item, sectionId);
|
|
27
27
|
(0, useRegisterResize_1.useRegisterResize)(ref, onResize);
|
|
28
|
-
const stateParams = interactionCtrl === null || interactionCtrl === void 0 ? void 0 : interactionCtrl.getState(['opacity', 'angle']);
|
|
28
|
+
const stateParams = interactionCtrl === null || interactionCtrl === void 0 ? void 0 : interactionCtrl.getState(['opacity', 'angle, blur']);
|
|
29
29
|
const angle = (0, getStyleFromItemStateAndParams_1.getStyleFromItemStateAndParams)((_a = stateParams === null || stateParams === void 0 ? void 0 : stateParams.styles) === null || _a === void 0 ? void 0 : _a.angle, itemAngle);
|
|
30
30
|
const opacity = (0, getStyleFromItemStateAndParams_1.getStyleFromItemStateAndParams)((_b = stateParams === null || stateParams === void 0 ? void 0 : stateParams.styles) === null || _b === void 0 ? void 0 : _b.opacity, itemOpacity);
|
|
31
|
+
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);
|
|
31
32
|
const Element = component ? component.element : undefined;
|
|
32
33
|
const parameters = layout ? item.layoutParams[layout].parameters : undefined;
|
|
33
|
-
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({}, (opacity !== undefined ? { opacity } : {})), (angle !== undefined ? { transform: `rotate(${angle}deg)` } : {})), { transition: (
|
|
34
|
+
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)` } : {})), { 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({ content: item.commonParams.content }, parameters))) }), (0, jsx_runtime_1.jsx)(style_1.default, { id: item.id, children: `
|
|
34
35
|
.custom-component-${item.id} {
|
|
35
36
|
width: 100%;
|
|
36
37
|
height: 100%;
|
|
@@ -41,6 +42,7 @@ const ComponentItem = ({ item, sectionId, onResize, interactionCtrl }) => {
|
|
|
41
42
|
.custom-component-${item.id} {
|
|
42
43
|
transform: rotate(${area.angle}deg);
|
|
43
44
|
opacity: ${layoutParams.opacity};
|
|
45
|
+
filter: blur(${layoutParams.blur}vw);
|
|
44
46
|
}
|
|
45
47
|
`);
|
|
46
48
|
})}` })] }));
|
|
@@ -12,8 +12,15 @@ function useComponentItem(item, sectionId) {
|
|
|
12
12
|
const layoutParams = item.layoutParams[layoutId];
|
|
13
13
|
return 'opacity' in layoutParams ? layoutParams.opacity : 1;
|
|
14
14
|
}, (animator, scroll, value) => value !== undefined ? animator.getOpacity({ opacity: value }, scroll).opacity : undefined, sectionId, [layoutId]);
|
|
15
|
+
const blur = (0, useKeyframeValue_1.useKeyframeValue)(item, sdk_1.KeyframeType.Blur, (item, layoutId) => {
|
|
16
|
+
if (!layoutId)
|
|
17
|
+
return;
|
|
18
|
+
const layoutParams = item.layoutParams[layoutId];
|
|
19
|
+
return 'blur' in layoutParams ? layoutParams.blur : 0;
|
|
20
|
+
}, (animator, scroll, value) => value !== undefined ? animator.getBlur({ blur: value }, scroll).blur : undefined, sectionId, [layoutId]);
|
|
15
21
|
return {
|
|
16
|
-
opacity
|
|
22
|
+
opacity,
|
|
23
|
+
blur
|
|
17
24
|
};
|
|
18
25
|
}
|
|
19
26
|
exports.useComponentItem = useComponentItem;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cntrl-site/sdk-nextjs",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.12",
|
|
4
4
|
"description": "SDK for Next.js",
|
|
5
5
|
"author": "arsen@momdesign.nyc",
|
|
6
6
|
"license": "MIT",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"@antfu/eslint-config": "^3.8.0",
|
|
32
32
|
"@cntrl-site/color": "^1.0.0",
|
|
33
33
|
"@cntrl-site/effects": "^1.3.2",
|
|
34
|
-
"@cntrl-site/sdk": "^1.22.
|
|
34
|
+
"@cntrl-site/sdk": "^1.22.15",
|
|
35
35
|
"@types/vimeo__player": "^2.18.0",
|
|
36
36
|
"@vimeo/player": "^2.25.0",
|
|
37
37
|
"html-react-parser": "^3.0.1",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useEffect } from 'react';
|
|
2
2
|
import ResizeObserver from 'resize-observer-polyfill';
|
|
3
3
|
|
|
4
|
-
export
|
|
4
|
+
export function useRegisterResize(ref: HTMLElement | null, onResize?: (height: number) => void) {
|
|
5
5
|
useEffect(() => {
|
|
6
6
|
if (!ref || !onResize) return;
|
|
7
7
|
const observer = new ResizeObserver((entries) => {
|
|
@@ -13,5 +13,4 @@ export const useRegisterResize = (ref: HTMLElement | null, onResize?: (height: n
|
|
|
13
13
|
observer.unobserve(ref);
|
|
14
14
|
};
|
|
15
15
|
}, [ref, onResize]);
|
|
16
|
-
}
|
|
17
|
-
|
|
16
|
+
}
|
|
@@ -60,7 +60,12 @@ export const CodeEmbedItem: FC<ItemProps<TCodeEmbedItem>> = ({ item, sectionId,
|
|
|
60
60
|
${fontGoogleTags}
|
|
61
61
|
${fontAdobeTags}
|
|
62
62
|
<style>
|
|
63
|
-
|
|
63
|
+
${fontCustomTags}
|
|
64
|
+
html, body {
|
|
65
|
+
height: 100%;
|
|
66
|
+
margin: 0 !important;
|
|
67
|
+
padding: 0 !important;
|
|
68
|
+
}
|
|
64
69
|
</style>
|
|
65
70
|
${item.commonParams.html}
|
|
66
71
|
`;
|
|
@@ -17,11 +17,12 @@ export const ComponentItem: FC<ItemProps<TComponentItem>> = ({ item, sectionId,
|
|
|
17
17
|
const layoutValues: Record<string, any>[] = [item.area, item.layoutParams];
|
|
18
18
|
const component = sdk.getComponent(item.commonParams.componentId);
|
|
19
19
|
const [ref, setRef] = useState<HTMLDivElement | null>(null);
|
|
20
|
-
const { opacity: itemOpacity } = useComponentItem(item, sectionId);
|
|
20
|
+
const { opacity: itemOpacity, blur: itemBlur } = useComponentItem(item, sectionId);
|
|
21
21
|
useRegisterResize(ref, onResize);
|
|
22
|
-
const stateParams = interactionCtrl?.getState(['opacity', 'angle']);
|
|
22
|
+
const stateParams = interactionCtrl?.getState(['opacity', 'angle, blur']);
|
|
23
23
|
const angle = getStyleFromItemStateAndParams(stateParams?.styles?.angle, itemAngle);
|
|
24
24
|
const opacity = getStyleFromItemStateAndParams(stateParams?.styles?.opacity, itemOpacity);
|
|
25
|
+
const blur = getStyleFromItemStateAndParams(stateParams?.styles?.blur, itemBlur);
|
|
25
26
|
const Element = component ? component.element : undefined;
|
|
26
27
|
const parameters = layout ? item.layoutParams[layout].parameters : undefined;
|
|
27
28
|
return (
|
|
@@ -32,6 +33,7 @@ export const ComponentItem: FC<ItemProps<TComponentItem>> = ({ item, sectionId,
|
|
|
32
33
|
style={{
|
|
33
34
|
...(opacity !== undefined ? { opacity } : {}),
|
|
34
35
|
...(angle !== undefined ? { transform: `rotate(${angle}deg)` } : {}),
|
|
36
|
+
...(blur !== undefined ? { filter: `blur(${blur * 100}vw)` } : {}),
|
|
35
37
|
transition: stateParams?.transition ?? 'none'
|
|
36
38
|
}}
|
|
37
39
|
>
|
|
@@ -53,6 +55,7 @@ export const ComponentItem: FC<ItemProps<TComponentItem>> = ({ item, sectionId,
|
|
|
53
55
|
.custom-component-${item.id} {
|
|
54
56
|
transform: rotate(${area.angle}deg);
|
|
55
57
|
opacity: ${layoutParams.opacity};
|
|
58
|
+
filter: blur(${layoutParams.blur}vw);
|
|
56
59
|
}
|
|
57
60
|
`);
|
|
58
61
|
})}`}
|
|
@@ -16,8 +16,20 @@ export function useComponentItem(item: ComponentItem, sectionId: string) {
|
|
|
16
16
|
sectionId,
|
|
17
17
|
[layoutId]
|
|
18
18
|
);
|
|
19
|
-
|
|
19
|
+
const blur = useKeyframeValue(
|
|
20
|
+
item,
|
|
21
|
+
KeyframeType.Blur,
|
|
22
|
+
(item, layoutId) => {
|
|
23
|
+
if (!layoutId) return;
|
|
24
|
+
const layoutParams = item.layoutParams[layoutId];
|
|
25
|
+
return 'blur' in layoutParams ? layoutParams.blur : 0;
|
|
26
|
+
},
|
|
27
|
+
(animator, scroll, value) => value !== undefined ? animator.getBlur({ blur: value }, scroll).blur : undefined,
|
|
28
|
+
sectionId,
|
|
29
|
+
[layoutId]
|
|
30
|
+
);
|
|
20
31
|
return {
|
|
21
|
-
opacity
|
|
32
|
+
opacity,
|
|
33
|
+
blur
|
|
22
34
|
};
|
|
23
35
|
}
|
|
Binary file
|