@cntrl-site/sdk-nextjs 1.9.14-4 → 1.9.14-6
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/lib/ItemGeometry/RichTextGeometryController.js +2 -2
- package/lib/ItemGeometry/useItemGeometry.js +0 -10
- package/lib/interactions/InteractionsRegistry.js +4 -5
- package/package.json +1 -1
- package/src/ItemGeometry/RichTextGeometryController.ts +3 -3
- package/src/ItemGeometry/useItemGeometry.ts +4 -17
- package/src/interactions/InteractionsRegistry.ts +4 -5
|
@@ -83,9 +83,9 @@ class RichTextGeometryController {
|
|
|
83
83
|
setAngle(angle) {
|
|
84
84
|
this.angle = angle;
|
|
85
85
|
}
|
|
86
|
-
getContentBoundary(
|
|
86
|
+
getContentBoundary() {
|
|
87
87
|
if (this.getAngle() !== 0) {
|
|
88
|
-
return this.getBoundary(
|
|
88
|
+
return this.getBoundary(true);
|
|
89
89
|
}
|
|
90
90
|
const [boundary, xs, ys] = this.getContentGuides();
|
|
91
91
|
const left = Math.min(...xs);
|
|
@@ -19,16 +19,6 @@ controllerCtor = GenericGeometryController_1.GenericGeometryController, options)
|
|
|
19
19
|
controller.setOptions(options);
|
|
20
20
|
return itemGeometryService.register(itemId, controller);
|
|
21
21
|
}, [itemGeometryService, itemId, controller]);
|
|
22
|
-
(0, react_1.useEffect)(() => {
|
|
23
|
-
return () => {
|
|
24
|
-
console.log('element unmount');
|
|
25
|
-
};
|
|
26
|
-
}, [element]);
|
|
27
|
-
(0, react_1.useEffect)(() => {
|
|
28
|
-
return () => {
|
|
29
|
-
console.log('controllerCtor unmount');
|
|
30
|
-
};
|
|
31
|
-
}, [controllerCtor]);
|
|
32
22
|
// @ts-ignore
|
|
33
23
|
return controller;
|
|
34
24
|
}
|
|
@@ -110,7 +110,7 @@ class InteractionsRegistry {
|
|
|
110
110
|
getTriggerPositionForItemScrollTrigger(trigger) {
|
|
111
111
|
const itemRect = this.itemGeometryService.getItemBoundary(trigger.itemId);
|
|
112
112
|
let triggerPosition = 0;
|
|
113
|
-
switch (trigger.
|
|
113
|
+
switch (trigger.screenPosition) {
|
|
114
114
|
case 'top':
|
|
115
115
|
triggerPosition = itemRect.top;
|
|
116
116
|
break;
|
|
@@ -124,7 +124,7 @@ class InteractionsRegistry {
|
|
|
124
124
|
triggerPosition = itemRect.top;
|
|
125
125
|
break;
|
|
126
126
|
}
|
|
127
|
-
switch (trigger.
|
|
127
|
+
switch (trigger.itemPosition) {
|
|
128
128
|
case 'top':
|
|
129
129
|
triggerPosition += 0;
|
|
130
130
|
break;
|
|
@@ -143,7 +143,6 @@ class InteractionsRegistry {
|
|
|
143
143
|
}
|
|
144
144
|
isItemScrollTriggerOnStartScreen(trigger) {
|
|
145
145
|
const triggerPosition = this.getTriggerPositionForItemScrollTrigger(trigger);
|
|
146
|
-
console.log(triggerPosition, triggerPosition < 0);
|
|
147
146
|
return triggerPosition < 0;
|
|
148
147
|
}
|
|
149
148
|
notifyLoad() {
|
|
@@ -202,7 +201,7 @@ class InteractionsRegistry {
|
|
|
202
201
|
const itemRect = this.itemGeometryService.getItemBoundary(trigger.itemId);
|
|
203
202
|
if (!itemRect)
|
|
204
203
|
return false;
|
|
205
|
-
switch (trigger.
|
|
204
|
+
switch (trigger.screenPosition) {
|
|
206
205
|
case 'top':
|
|
207
206
|
triggerPosition = 0;
|
|
208
207
|
break;
|
|
@@ -217,7 +216,7 @@ class InteractionsRegistry {
|
|
|
217
216
|
break;
|
|
218
217
|
}
|
|
219
218
|
triggerPosition -= trigger.offset;
|
|
220
|
-
switch (trigger.
|
|
219
|
+
switch (trigger.itemPosition) {
|
|
221
220
|
case 'top':
|
|
222
221
|
isScrolledPastTrigger = itemRect.y < triggerPosition;
|
|
223
222
|
break;
|
package/package.json
CHANGED
|
@@ -111,9 +111,9 @@ export class RichTextGeometryController implements ItemGeometryController {
|
|
|
111
111
|
this.angle = angle;
|
|
112
112
|
}
|
|
113
113
|
|
|
114
|
-
getContentBoundary(
|
|
114
|
+
getContentBoundary(): Rect {
|
|
115
115
|
if (this.getAngle() !== 0) {
|
|
116
|
-
return this.getBoundary(
|
|
116
|
+
return this.getBoundary(true);
|
|
117
117
|
}
|
|
118
118
|
const [boundary, xs, ys] = this.getContentGuides();
|
|
119
119
|
const left = Math.min(...xs);
|
|
@@ -170,7 +170,7 @@ export class RichTextGeometryController implements ItemGeometryController {
|
|
|
170
170
|
}
|
|
171
171
|
|
|
172
172
|
setOptions(options?: RichTextGeometryOptions) {
|
|
173
|
-
if(!options) return;
|
|
173
|
+
if (!options) return;
|
|
174
174
|
this.options = options;
|
|
175
175
|
}
|
|
176
176
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { useContext, useEffect, useMemo } from
|
|
2
|
-
import { GenericGeometryController } from
|
|
3
|
-
import { GeometryControllerCtor } from
|
|
4
|
-
import { ItemGeometryContext } from
|
|
1
|
+
import { useContext, useEffect, useMemo } from 'react';
|
|
2
|
+
import { GenericGeometryController } from './GenericGeometryController';
|
|
3
|
+
import { GeometryControllerCtor } from './ItemGeometryController';
|
|
4
|
+
import { ItemGeometryContext } from './ItemGeometryContext';
|
|
5
5
|
|
|
6
6
|
export function useItemGeometry<T extends GeometryControllerCtor = typeof GenericGeometryController>(
|
|
7
7
|
itemId: string,
|
|
@@ -20,19 +20,6 @@ export function useItemGeometry<T extends GeometryControllerCtor = typeof Generi
|
|
|
20
20
|
controller.setOptions(options);
|
|
21
21
|
return itemGeometryService.register(itemId, controller);
|
|
22
22
|
}, [itemGeometryService, itemId, controller]);
|
|
23
|
-
|
|
24
|
-
useEffect(() => {
|
|
25
|
-
return () => {
|
|
26
|
-
console.log('element unmount');
|
|
27
|
-
};
|
|
28
|
-
}, [element]);
|
|
29
|
-
|
|
30
|
-
useEffect(() => {
|
|
31
|
-
return () => {
|
|
32
|
-
console.log('controllerCtor unmount');
|
|
33
|
-
};
|
|
34
|
-
}, [controllerCtor]);
|
|
35
|
-
|
|
36
23
|
// @ts-ignore
|
|
37
24
|
return controller;
|
|
38
25
|
}
|
|
@@ -121,7 +121,7 @@ export class InteractionsRegistry implements InteractionsRegistryPort {
|
|
|
121
121
|
getTriggerPositionForItemScrollTrigger(trigger: InteractionItemScrollTrigger): number {
|
|
122
122
|
const itemRect = this.itemGeometryService.getItemBoundary(trigger.itemId);
|
|
123
123
|
let triggerPosition = 0;
|
|
124
|
-
switch (trigger.
|
|
124
|
+
switch (trigger.screenPosition) {
|
|
125
125
|
case 'top':
|
|
126
126
|
triggerPosition = itemRect.top;
|
|
127
127
|
break;
|
|
@@ -135,7 +135,7 @@ export class InteractionsRegistry implements InteractionsRegistryPort {
|
|
|
135
135
|
triggerPosition = itemRect.top;
|
|
136
136
|
break;
|
|
137
137
|
}
|
|
138
|
-
switch (trigger.
|
|
138
|
+
switch (trigger.itemPosition) {
|
|
139
139
|
case 'top':
|
|
140
140
|
triggerPosition += 0;
|
|
141
141
|
break;
|
|
@@ -155,7 +155,6 @@ export class InteractionsRegistry implements InteractionsRegistryPort {
|
|
|
155
155
|
|
|
156
156
|
isItemScrollTriggerOnStartScreen(trigger: InteractionItemScrollTrigger): boolean {
|
|
157
157
|
const triggerPosition = this.getTriggerPositionForItemScrollTrigger(trigger);
|
|
158
|
-
console.log(triggerPosition, triggerPosition < 0);
|
|
159
158
|
return triggerPosition < 0;
|
|
160
159
|
}
|
|
161
160
|
|
|
@@ -214,7 +213,7 @@ export class InteractionsRegistry implements InteractionsRegistryPort {
|
|
|
214
213
|
let isScrolledPastTrigger = false;
|
|
215
214
|
const itemRect = this.itemGeometryService.getItemBoundary(trigger.itemId);
|
|
216
215
|
if (!itemRect) return false;
|
|
217
|
-
switch (trigger.
|
|
216
|
+
switch (trigger.screenPosition) {
|
|
218
217
|
case 'top':
|
|
219
218
|
triggerPosition = 0;
|
|
220
219
|
break;
|
|
@@ -229,7 +228,7 @@ export class InteractionsRegistry implements InteractionsRegistryPort {
|
|
|
229
228
|
break;
|
|
230
229
|
}
|
|
231
230
|
triggerPosition -= trigger.offset;
|
|
232
|
-
switch (trigger.
|
|
231
|
+
switch (trigger.itemPosition) {
|
|
233
232
|
case 'top':
|
|
234
233
|
isScrolledPastTrigger = itemRect.y < triggerPosition;
|
|
235
234
|
break;
|