@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.
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
- const useRegisterResize = (ref, onResize) => {
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
- ${fontCustomTags}
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: (_c = stateParams === null || stateParams === void 0 ? void 0 : stateParams.transition) !== null && _c !== void 0 ? _c : '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
+ 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.10",
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.13",
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 const useRegisterResize = (ref: HTMLElement | null, onResize?: (height: number) => void) => {
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
- ${fontCustomTags}
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