@cntrl-site/sdk-nextjs 1.9.7 → 1.9.8
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.9.8.tgz +0 -0
- package/lib/components/Section/useSectionHeightMap.js +2 -2
- package/lib/components/items/Item.js +6 -4
- package/package.json +1 -1
- package/src/components/Section/useSectionHeightMap.ts +3 -3
- package/src/components/items/Item.tsx +6 -4
- package/src/components/items/useItemArea.ts +1 -1
- package/src/components/items/useStickyItemTop.ts +1 -1
- package/.idea/codeStyles/codeStyleConfig.xml +0 -5
- package/.idea/modules.xml +0 -8
- package/.idea/sdk-nextjs.iml +0 -12
- package/.idea/vcs.xml +0 -6
|
Binary file
|
|
@@ -4,12 +4,12 @@ exports.getSectionHeightMap = exports.useSectionHeightData = void 0;
|
|
|
4
4
|
const react_1 = require("react");
|
|
5
5
|
const CntrlContext_1 = require("../../provider/CntrlContext");
|
|
6
6
|
const Section_1 = require("./Section");
|
|
7
|
-
|
|
7
|
+
function useSectionHeightData(sectionId) {
|
|
8
8
|
const sectionHeightContext = (0, react_1.useContext)(CntrlContext_1.CntrlContext);
|
|
9
9
|
const layouts = sectionHeightContext.layouts;
|
|
10
10
|
const sectionHeightData = sectionHeightContext.getSectionHeightData(sectionId);
|
|
11
11
|
return sectionHeightData ? getSectionHeightMap(sectionHeightData) : getDefaultHeightData(layouts);
|
|
12
|
-
}
|
|
12
|
+
}
|
|
13
13
|
exports.useSectionHeightData = useSectionHeightData;
|
|
14
14
|
function getSectionHeightMap(sectionHeight) {
|
|
15
15
|
return Object.fromEntries(Object.entries(sectionHeight).map(([sectionId, heightData]) => [sectionId, (0, Section_1.getSectionHeight)(heightData)]));
|
|
@@ -60,14 +60,16 @@ const Item = ({ item, sectionId, articleHeight, isParentVisible = true, isInGrou
|
|
|
60
60
|
width: (_d = innerStateProps === null || innerStateProps === void 0 ? void 0 : innerStateProps.styles) === null || _d === void 0 ? void 0 : _d.width,
|
|
61
61
|
height: (_e = innerStateProps === null || innerStateProps === void 0 ? void 0 : innerStateProps.styles) === null || _e === void 0 ? void 0 : _e.height
|
|
62
62
|
});
|
|
63
|
-
const
|
|
63
|
+
const sectionHeightLayoutMap = (0, useSectionHeightMap_1.useSectionHeightData)(sectionId);
|
|
64
|
+
const sectionHeight = layout && sectionHeightLayoutMap[layout] ? sectionHeightLayoutMap[layout] : '0';
|
|
64
65
|
const stickyTop = (0, useStickyItemTop_1.useStickyItemTop)(item, sectionId, (_f = wrapperStateProps === null || wrapperStateProps === void 0 ? void 0 : wrapperStateProps.styles) === null || _f === void 0 ? void 0 : _f.top);
|
|
65
66
|
const layoutValues = [item.area, item.hidden];
|
|
66
67
|
layoutValues.push(item.sticky);
|
|
67
|
-
layoutValues.push(
|
|
68
|
+
layoutValues.push(sectionHeightLayoutMap);
|
|
68
69
|
if (item.layoutParams) {
|
|
69
70
|
layoutValues.push(item.layoutParams);
|
|
70
71
|
}
|
|
72
|
+
const sticky = layout ? item.sticky[layout] : undefined;
|
|
71
73
|
const sizingAxis = (0, useSizing_1.useSizing)(item);
|
|
72
74
|
const ItemComponent = itemsMap_1.itemsMap[item.type] || noop;
|
|
73
75
|
const sectionTop = rectObserver ? rectObserver.getSectionTop(sectionId) : 0;
|
|
@@ -117,8 +119,8 @@ const Item = ({ item, sectionId, articleHeight, isParentVisible = true, isInGrou
|
|
|
117
119
|
(_a = interactionCtrl === null || interactionCtrl === void 0 ? void 0 : interactionCtrl.handleTransitionEnd) === null || _a === void 0 ? void 0 : _a.call(interactionCtrl, e.propertyName);
|
|
118
120
|
}, style: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (top !== undefined ? { top: isScreenBasedBottom ? 'unset' : (0, getItemTopStyle_1.getItemTopStyle)(top, anchorSide) } : {})), (left !== undefined ? { left: `${left * 100}vw` } : {})), (top !== undefined ? { bottom: isScreenBasedBottom ? `${-top * 100}vw` : 'unset' } : {})), (wrapperHeight !== undefined ? { height: `${wrapperHeight * 100}vw` } : {})), { transition: (_k = wrapperStateProps === null || wrapperStateProps === void 0 ? void 0 : wrapperStateProps.transition) !== null && _k !== void 0 ? _k : 'none' }), children: [(0, jsx_runtime_1.jsx)("div", { suppressHydrationWarning: true, className: `item-${item.id}`, style: {
|
|
119
121
|
opacity: (keyframes.length !== 0 && !layout) ? 0 : 1,
|
|
120
|
-
top:
|
|
121
|
-
height: isRichText && itemHeight !== undefined ? `${itemHeight * 100}vw` : 'unset'
|
|
122
|
+
top: sticky ? (0, getAnchoredItemTop_1.getAnchoredItemTop)(stickyTop, sectionHeight, anchorSide) : 0,
|
|
123
|
+
height: isRichText && itemHeight !== undefined ? `${itemHeight * 100}vw` : 'unset'
|
|
122
124
|
}, children: (0, jsx_runtime_1.jsx)(RichTextWrapper_1.RichTextWrapper, { isRichText: isRichText, children: (0, jsx_runtime_1.jsx)("div", Object.assign({ className: `item-${item.id}-inner`, ref: itemInnerRef, style: Object.assign(Object.assign(Object.assign({ top: `${position.y}px`, left: `${position.x}px` }, ((width !== undefined && height !== undefined)
|
|
123
125
|
? {
|
|
124
126
|
width: `${sizingAxis.x === 'manual'
|
package/package.json
CHANGED
|
@@ -3,17 +3,17 @@ import { CntrlContext } from '../../provider/CntrlContext';
|
|
|
3
3
|
import { Layout, SectionHeight } from '@cntrl-site/sdk';
|
|
4
4
|
import { getSectionHeight } from './Section';
|
|
5
5
|
|
|
6
|
-
export
|
|
6
|
+
export function useSectionHeightData(sectionId: string): Record<string, string> {
|
|
7
7
|
const sectionHeightContext = useContext(CntrlContext);
|
|
8
8
|
const layouts = sectionHeightContext.layouts;
|
|
9
9
|
const sectionHeightData = sectionHeightContext.getSectionHeightData(sectionId);
|
|
10
10
|
return sectionHeightData ? getSectionHeightMap(sectionHeightData) : getDefaultHeightData(layouts);
|
|
11
|
-
}
|
|
11
|
+
}
|
|
12
12
|
|
|
13
13
|
export function getSectionHeightMap(sectionHeight: Record<string, SectionHeight>): Record<string, string> {
|
|
14
14
|
return Object.fromEntries(Object.entries(sectionHeight).map(([sectionId, heightData]) => [sectionId, getSectionHeight(heightData)]));
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
function getDefaultHeightData(layouts: Layout[]) {
|
|
18
|
-
return layouts.reduce((acc, layout) => ({...acc, [layout.id]: '0'}), {});
|
|
18
|
+
return layouts.reduce((acc, layout) => ({ ...acc, [layout.id]: '0' }), {});
|
|
19
19
|
}
|
|
@@ -90,14 +90,16 @@ export const Item: FC<ItemWrapperProps> = ({ item, sectionId, articleHeight, isP
|
|
|
90
90
|
width: innerStateProps?.styles?.width as number,
|
|
91
91
|
height: innerStateProps?.styles?.height as number
|
|
92
92
|
});
|
|
93
|
-
const
|
|
93
|
+
const sectionHeightLayoutMap = useSectionHeightData(sectionId);
|
|
94
|
+
const sectionHeight = layout && sectionHeightLayoutMap[layout] ? sectionHeightLayoutMap[layout] : '0';
|
|
94
95
|
const stickyTop = useStickyItemTop(item, sectionId, wrapperStateProps?.styles?.top as number);
|
|
95
96
|
const layoutValues: Record<string, any>[] = [item.area, item.hidden];
|
|
96
97
|
layoutValues.push(item.sticky);
|
|
97
|
-
layoutValues.push(
|
|
98
|
+
layoutValues.push(sectionHeightLayoutMap);
|
|
98
99
|
if (item.layoutParams) {
|
|
99
100
|
layoutValues.push(item.layoutParams);
|
|
100
101
|
}
|
|
102
|
+
const sticky = layout ? item.sticky[layout] : undefined;
|
|
101
103
|
const sizingAxis = useSizing(item);
|
|
102
104
|
const ItemComponent = itemsMap[item.type] || noop;
|
|
103
105
|
const sectionTop = rectObserver ? rectObserver.getSectionTop(sectionId) : 0;
|
|
@@ -161,8 +163,8 @@ export const Item: FC<ItemWrapperProps> = ({ item, sectionId, articleHeight, isP
|
|
|
161
163
|
className={`item-${item.id}`}
|
|
162
164
|
style={{
|
|
163
165
|
opacity: (keyframes.length !== 0 && !layout) ? 0 : 1,
|
|
164
|
-
top:
|
|
165
|
-
height: isRichText && itemHeight !== undefined ? `${itemHeight * 100}vw` : 'unset'
|
|
166
|
+
top: sticky ?getAnchoredItemTop(stickyTop, sectionHeight, anchorSide) : 0,
|
|
167
|
+
height: isRichText && itemHeight !== undefined ? `${itemHeight * 100}vw` : 'unset'
|
|
166
168
|
}}
|
|
167
169
|
>
|
|
168
170
|
<RichTextWrapper isRichText={isRichText}>
|
|
@@ -13,7 +13,7 @@ export function useItemArea(
|
|
|
13
13
|
KeyframeType.Position,
|
|
14
14
|
(item, layoutId) => {
|
|
15
15
|
if (!layoutId) return;
|
|
16
|
-
return item.area[layoutId]
|
|
16
|
+
return item.area[layoutId];
|
|
17
17
|
},
|
|
18
18
|
(animator, scroll, value) => value ? animator.getPositions(value, scroll) : undefined,
|
|
19
19
|
sectionId,
|
|
@@ -2,7 +2,7 @@ import { ItemAny, KeyframeType } from '@cntrl-site/sdk';
|
|
|
2
2
|
import { useKeyframeValue } from '../../common/useKeyframeValue';
|
|
3
3
|
import { useLayoutContext } from '../useLayoutContext';
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
export function useStickyItemTop(item: ItemAny, sectionId: string, stateTop?: number) {
|
|
6
6
|
const layoutId = useLayoutContext();
|
|
7
7
|
const data = useKeyframeValue<{ top: number; left: number } | undefined>(
|
|
8
8
|
item,
|
package/.idea/modules.xml
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<project version="4">
|
|
3
|
-
<component name="ProjectModuleManager">
|
|
4
|
-
<modules>
|
|
5
|
-
<module fileurl="file://$PROJECT_DIR$/.idea/sdk-nextjs.iml" filepath="$PROJECT_DIR$/.idea/sdk-nextjs.iml" />
|
|
6
|
-
</modules>
|
|
7
|
-
</component>
|
|
8
|
-
</project>
|
package/.idea/sdk-nextjs.iml
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<module type="WEB_MODULE" version="4">
|
|
3
|
-
<component name="NewModuleRootManager">
|
|
4
|
-
<content url="file://$MODULE_DIR$">
|
|
5
|
-
<excludeFolder url="file://$MODULE_DIR$/temp" />
|
|
6
|
-
<excludeFolder url="file://$MODULE_DIR$/.tmp" />
|
|
7
|
-
<excludeFolder url="file://$MODULE_DIR$/tmp" />
|
|
8
|
-
</content>
|
|
9
|
-
<orderEntry type="inheritedJdk" />
|
|
10
|
-
<orderEntry type="sourceFolder" forTests="false" />
|
|
11
|
-
</component>
|
|
12
|
-
</module>
|