@gxpl/sdk 0.0.56 → 0.0.58
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/sdk/transitions/transitionMachine.js +4 -4
- package/lib/sdk/transitions/utils/getScenesOnEnd.d.ts +2 -2
- package/lib/sdk/transitions/utils/getScenesOnEnd.js +8 -7
- package/lib/sdk/transitions/utils/getScenesOnInstantTransition.js +24 -1
- package/lib/sdk/transitions/utils/getScenesOnProgressUpdate.js +1 -2
- package/lib/sdk/transitions/utils/getScenesOnStart.js +7 -5
- package/lib/sdk-nextjs/components/fixedLayers/FixedLayer.js +1 -1
- package/lib/sdk-nextjs/utils/RichTextConverter/RichTextConverter.d.ts +1 -0
- package/lib/sdk-nextjs/utils/RichTextConverter/RichTextConverter.js +28 -5
- package/package.json +1 -1
|
@@ -124,7 +124,7 @@ exports.transitionMachine = (0, xstate_1.setup)({
|
|
|
124
124
|
const start = { x: transition.startX, y: transition.startY };
|
|
125
125
|
const { deltaX, deltaY, progress } = (0, getDeltaAndProgress_1.getDeltaAndProgress)(event.touchData, start, direction, previewWindow !== null && previewWindow !== void 0 ? previewWindow : window);
|
|
126
126
|
const newScenes = relation.type === 'slide'
|
|
127
|
-
? (0, getScenesOnStart_1.getScenesOnSlideStart)(relation, { x: deltaX, y: deltaY }, direction, window)
|
|
127
|
+
? (0, getScenesOnStart_1.getScenesOnSlideStart)(relation, { x: deltaX, y: deltaY }, direction, previewWindow !== null && previewWindow !== void 0 ? previewWindow : window)
|
|
128
128
|
: relation.type === 'reveal'
|
|
129
129
|
? (0, getScenesOnStart_1.getScenesOnRevealStart)(relation, { x: deltaX, y: deltaY }, direction, relation.offset, relation.mode, previewWindow !== null && previewWindow !== void 0 ? previewWindow : window)
|
|
130
130
|
: (0, getScenesOnStart_1.getScenesOnFadeStart)(relation, progress);
|
|
@@ -183,16 +183,16 @@ exports.transitionMachine = (0, xstate_1.setup)({
|
|
|
183
183
|
};
|
|
184
184
|
},
|
|
185
185
|
scenes: ({ context }) => {
|
|
186
|
-
const { transition, scenes } = context;
|
|
186
|
+
const { transition, scenes, input: { previewWindow } } = context;
|
|
187
187
|
if (!(0, isActiveSwipeTransition_1.isActiveSwipeTransition)(transition))
|
|
188
188
|
return scenes;
|
|
189
189
|
const { type } = transition;
|
|
190
190
|
const threshold = transition.type === 'slide' ? SWIPE_SLIDE_SUCCESS_THRESHOLD : SWIPE_FADE_SUCCESS_THRESHOLD;
|
|
191
191
|
const transitionSuccess = (0, isTransitionSuccess_1.isTransitionSuccess)(transition, threshold);
|
|
192
192
|
const newScenes = type === 'slide'
|
|
193
|
-
? (0, getScenesOnEnd_1.getScenesOnSlideEnd)(scenes, transition, transitionSuccess)
|
|
193
|
+
? (0, getScenesOnEnd_1.getScenesOnSlideEnd)(scenes, transition, transitionSuccess, previewWindow !== null && previewWindow !== void 0 ? previewWindow : window)
|
|
194
194
|
: type === 'reveal'
|
|
195
|
-
? (0, getScenesOnEnd_1.getScenesOnRevealEnd)(scenes, transition, transitionSuccess, transition.offset, transition.mode)
|
|
195
|
+
? (0, getScenesOnEnd_1.getScenesOnRevealEnd)(scenes, transition, transitionSuccess, transition.offset, transition.mode, previewWindow !== null && previewWindow !== void 0 ? previewWindow : window)
|
|
196
196
|
: (0, getScenesOnEnd_1.getScenesOnFadeEnd)(scenes);
|
|
197
197
|
return newScenes;
|
|
198
198
|
},
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ActiveTransition, TransitionScene } from './types';
|
|
2
|
-
export declare function getScenesOnSlideEnd(scenes: TransitionScene[], transition: ActiveTransition, success: boolean): {
|
|
2
|
+
export declare function getScenesOnSlideEnd(scenes: TransitionScene[], transition: ActiveTransition, success: boolean, window: Window): {
|
|
3
3
|
styles: {
|
|
4
4
|
x: number;
|
|
5
5
|
y: number;
|
|
@@ -10,7 +10,7 @@ export declare function getScenesOnSlideEnd(scenes: TransitionScene[], transitio
|
|
|
10
10
|
};
|
|
11
11
|
id: string;
|
|
12
12
|
}[];
|
|
13
|
-
export declare function getScenesOnRevealEnd(scenes: TransitionScene[], transition: ActiveTransition, success: boolean, offset: number, mode: 'normal' | 'reverse'): {
|
|
13
|
+
export declare function getScenesOnRevealEnd(scenes: TransitionScene[], transition: ActiveTransition, success: boolean, offset: number, mode: 'normal' | 'reverse', window: Window): {
|
|
14
14
|
styles: {
|
|
15
15
|
zIndex: number;
|
|
16
16
|
x: number;
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getScenesOnSlideEnd = getScenesOnSlideEnd;
|
|
4
4
|
exports.getScenesOnRevealEnd = getScenesOnRevealEnd;
|
|
5
5
|
exports.getScenesOnFadeEnd = getScenesOnFadeEnd;
|
|
6
|
-
function getScenesOnSlideEnd(scenes, transition, success) {
|
|
6
|
+
function getScenesOnSlideEnd(scenes, transition, success, window) {
|
|
7
7
|
const { from, to, direction } = transition;
|
|
8
8
|
return scenes.map((s) => {
|
|
9
9
|
const isNextActiveScene = success ? s.id === to : s.id === from;
|
|
@@ -24,25 +24,26 @@ function getScenesOnSlideEnd(scenes, transition, success) {
|
|
|
24
24
|
return Object.assign(Object.assign({}, s), { styles: Object.assign(Object.assign({}, s.styles), { x: isNextActiveScene ? 0 : prevElX, y: isNextActiveScene ? 0 : prevElY }) });
|
|
25
25
|
});
|
|
26
26
|
}
|
|
27
|
-
function getScenesOnRevealEnd(scenes, transition, success, offset, mode) {
|
|
27
|
+
function getScenesOnRevealEnd(scenes, transition, success, offset, mode, window) {
|
|
28
28
|
const { from, to, direction } = transition;
|
|
29
29
|
return scenes.map((s) => {
|
|
30
30
|
const isNextActiveScene = success ? s.id === to : s.id === from;
|
|
31
31
|
let prevElX = 0;
|
|
32
32
|
if (direction === 'east') {
|
|
33
|
-
prevElX = success ? -window.innerWidth : window.innerWidth * offset;
|
|
33
|
+
prevElX = success ? -window.innerWidth * (mode === 'normal' ? 1 : offset) : window.innerWidth * (mode === 'normal' ? offset : 1);
|
|
34
34
|
}
|
|
35
35
|
else if (direction === 'west') {
|
|
36
|
-
prevElX = success ? window.innerWidth : -window.innerWidth * offset;
|
|
36
|
+
prevElX = success ? window.innerWidth * (mode === 'normal' ? 1 : offset) : -window.innerWidth * (mode === 'normal' ? offset : 1);
|
|
37
37
|
}
|
|
38
38
|
let prevElY = 0;
|
|
39
39
|
if (direction === 'north') {
|
|
40
|
-
prevElY = success ? window.innerHeight : -window.innerHeight * offset;
|
|
40
|
+
prevElY = success ? window.innerHeight * (mode === 'normal' ? 1 : offset) : -window.innerHeight * (mode === 'normal' ? offset : 1);
|
|
41
41
|
}
|
|
42
42
|
else if (direction === 'south') {
|
|
43
|
-
prevElY = success ? -window.innerHeight : window.innerHeight * offset;
|
|
43
|
+
prevElY = success ? -window.innerHeight * (mode === 'normal' ? 1 : offset) : window.innerHeight * (mode === 'normal' ? offset : 1);
|
|
44
44
|
}
|
|
45
|
-
|
|
45
|
+
const zIndex = mode === 'reverse' ? (isNextActiveScene ? 1 : 0) : (isNextActiveScene ? 1 : 2);
|
|
46
|
+
return Object.assign(Object.assign({}, s), { styles: Object.assign(Object.assign({}, s.styles), { zIndex, x: isNextActiveScene ? 0 : prevElX, y: isNextActiveScene ? 0 : prevElY }) });
|
|
46
47
|
});
|
|
47
48
|
}
|
|
48
49
|
function getScenesOnFadeEnd(scenes) {
|
|
@@ -3,14 +3,37 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getScenesOnInstantTransition = getScenesOnInstantTransition;
|
|
4
4
|
function getScenesOnInstantTransition(scenes, transition, window) {
|
|
5
5
|
const { type, to } = transition;
|
|
6
|
-
if (
|
|
6
|
+
if (type === 'slide' && transition.direction) {
|
|
7
7
|
return getScenesOnInstantSlideTransition(scenes, to, transition.direction, window);
|
|
8
8
|
}
|
|
9
|
+
else if (type === 'reveal' && transition.direction) {
|
|
10
|
+
return getScenesOnInstantRevealTransition(scenes, to, transition.direction, transition.offset, transition.mode, window);
|
|
11
|
+
}
|
|
9
12
|
else if (type === 'fade') {
|
|
10
13
|
return getScenesOnInstantFadeTransition(scenes);
|
|
11
14
|
}
|
|
12
15
|
return scenes;
|
|
13
16
|
}
|
|
17
|
+
function getScenesOnInstantRevealTransition(scenes, to, direction, offset, mode, window) {
|
|
18
|
+
let fromFinalX = 0;
|
|
19
|
+
let fromFinalY = 0;
|
|
20
|
+
if (direction === 'east') {
|
|
21
|
+
fromFinalX = -window.innerWidth * (mode === 'normal' ? 1 : offset);
|
|
22
|
+
}
|
|
23
|
+
else if (direction === 'west') {
|
|
24
|
+
fromFinalX = window.innerWidth * (mode === 'normal' ? 1 : offset);
|
|
25
|
+
}
|
|
26
|
+
else if (direction === 'north') {
|
|
27
|
+
fromFinalY = window.innerHeight * (mode === 'normal' ? 1 : offset);
|
|
28
|
+
}
|
|
29
|
+
else if (direction === 'south') {
|
|
30
|
+
fromFinalY = -window.innerHeight * (mode === 'normal' ? 1 : offset);
|
|
31
|
+
}
|
|
32
|
+
return scenes.map((scene) => {
|
|
33
|
+
const isToScene = scene.id === to;
|
|
34
|
+
return Object.assign(Object.assign({}, scene), { styles: Object.assign(Object.assign({}, scene.styles), { x: isToScene ? 0 : fromFinalX, y: isToScene ? 0 : fromFinalY }) });
|
|
35
|
+
});
|
|
36
|
+
}
|
|
14
37
|
function getScenesOnInstantSlideTransition(scenes, to, direction, window) {
|
|
15
38
|
let fromFinalX = 0;
|
|
16
39
|
let fromFinalY = 0;
|
|
@@ -9,8 +9,7 @@ function getScenesOnSlideProgressUpdate(scenes, delta) {
|
|
|
9
9
|
}
|
|
10
10
|
function getScenesOnRevealProgressUpdate(scenes, delta, to, offset, mode) {
|
|
11
11
|
return scenes.map((scene) => {
|
|
12
|
-
const
|
|
13
|
-
const sceneOffset = isNextScene ? offset : 1;
|
|
12
|
+
const sceneOffset = (scene.id === to) === (mode === 'normal') ? offset : 1;
|
|
14
13
|
return Object.assign(Object.assign({}, scene), { styles: Object.assign(Object.assign({}, scene.styles), { x: scene.styles.startX + delta.x * sceneOffset, y: scene.styles.startY + delta.y * sceneOffset }) });
|
|
15
14
|
});
|
|
16
15
|
}
|
|
@@ -43,16 +43,18 @@ function getScenesOnRevealStart({ from, to }, delta, direction, offset, mode, wi
|
|
|
43
43
|
const common = {
|
|
44
44
|
opacity: 1,
|
|
45
45
|
};
|
|
46
|
+
const fromSceneOffset = mode === 'normal' ? 1 : offset;
|
|
46
47
|
const sceneFrom = {
|
|
47
48
|
id: from,
|
|
48
|
-
styles: Object.assign(Object.assign({}, common), { startX: 0, zIndex: 2, startY: 0, x: delta.x, y: delta.y })
|
|
49
|
+
styles: Object.assign(Object.assign({}, common), { startX: 0, zIndex: mode === 'normal' ? 2 : 1, startY: 0, x: delta.x * fromSceneOffset, y: delta.y * fromSceneOffset })
|
|
49
50
|
};
|
|
50
|
-
const
|
|
51
|
-
const
|
|
51
|
+
const toSceneOffset = mode === 'normal' ? offset : 1;
|
|
52
|
+
const startX = getNextSceneSlideStartX(direction, window, toSceneOffset);
|
|
53
|
+
const startY = getNextSceneSlideStartY(direction, window, toSceneOffset);
|
|
52
54
|
const sceneTo = {
|
|
53
55
|
id: to,
|
|
54
|
-
styles: Object.assign(Object.assign({}, common), { zIndex: 1, startX,
|
|
55
|
-
startY, x: startX + delta.x *
|
|
56
|
+
styles: Object.assign(Object.assign({}, common), { zIndex: mode === 'normal' ? 1 : 2, startX,
|
|
57
|
+
startY, x: startX + delta.x * toSceneOffset, y: startY + delta.y * toSceneOffset })
|
|
56
58
|
};
|
|
57
59
|
return [sceneFrom, sceneTo];
|
|
58
60
|
}
|
|
@@ -151,7 +151,6 @@ class RichTextConverter {
|
|
|
151
151
|
return styleGroups;
|
|
152
152
|
}
|
|
153
153
|
groupEntities(entities, styleGroups) {
|
|
154
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
155
154
|
const entitiesGroups = [];
|
|
156
155
|
if (!entities.length && !styleGroups)
|
|
157
156
|
return;
|
|
@@ -170,8 +169,8 @@ class RichTextConverter {
|
|
|
170
169
|
const start = dividers[i];
|
|
171
170
|
const end = dividers[i + 1];
|
|
172
171
|
const entity = entities.find(e => e.start === start);
|
|
173
|
-
entitiesGroups.push(Object.assign(
|
|
174
|
-
end },
|
|
172
|
+
entitiesGroups.push(Object.assign({ stylesGroup: [], start,
|
|
173
|
+
end }, this.getLinkFromEntity(entity)));
|
|
175
174
|
}
|
|
176
175
|
return entitiesGroups;
|
|
177
176
|
}
|
|
@@ -197,11 +196,35 @@ class RichTextConverter {
|
|
|
197
196
|
const start = entityDividers[i];
|
|
198
197
|
const end = entityDividers[i + 1];
|
|
199
198
|
const entity = entities.find(e => e.start === start);
|
|
200
|
-
|
|
201
|
-
|
|
199
|
+
const link = this.getLinkFromEntity(entity);
|
|
200
|
+
entitiesGroups.push(Object.assign({ stylesGroup: styleGroups.filter(s => s.start >= start && s.end <= end), start,
|
|
201
|
+
end }, link));
|
|
202
202
|
}
|
|
203
203
|
return entitiesGroups;
|
|
204
204
|
}
|
|
205
|
+
getLinkFromEntity(entity) {
|
|
206
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
207
|
+
if (!entity)
|
|
208
|
+
return;
|
|
209
|
+
const { data } = entity;
|
|
210
|
+
if (!data)
|
|
211
|
+
return;
|
|
212
|
+
if (data.type === 'url' || data.type === 'anchor') {
|
|
213
|
+
return { url: data.url, target: (_a = data.target) !== null && _a !== void 0 ? _a : '_self' };
|
|
214
|
+
}
|
|
215
|
+
if (data.type === 'scene') {
|
|
216
|
+
if (data.animation === 'fade') {
|
|
217
|
+
return { type: 'scene', value: data.value, animation: 'fade', duration: (_b = data.duration) !== null && _b !== void 0 ? _b : 0 };
|
|
218
|
+
}
|
|
219
|
+
if (data.animation === 'slide') {
|
|
220
|
+
return { type: 'scene', value: data.value, animation: 'slide', direction: (_c = data.direction) !== null && _c !== void 0 ? _c : 'north', duration: (_d = data.duration) !== null && _d !== void 0 ? _d : 0 };
|
|
221
|
+
}
|
|
222
|
+
if (data.animation === 'reveal') {
|
|
223
|
+
return { type: 'scene', value: data.value, animation: 'reveal', direction: (_e = data.direction) !== null && _e !== void 0 ? _e : 'north', offset: (_f = data.offset) !== null && _f !== void 0 ? _f : 0, mode: (_g = data.mode) !== null && _g !== void 0 ? _g : 'normal', duration: (_h = data.duration) !== null && _h !== void 0 ? _h : 0 };
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
return;
|
|
227
|
+
}
|
|
205
228
|
static fromRangeStylesToInline(draftStyle, exemplary) {
|
|
206
229
|
const { value, name } = draftStyle;
|
|
207
230
|
const map = {
|