chayns-api 3.0.0-beta.4 → 3.1.0-beta.0
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/README.md +4 -11
- package/dist/cjs/calls/index.js +4 -1
- package/dist/cjs/calls/visibilityChangeListener.js +4 -4
- package/dist/cjs/components/ChaynsProvider.js +34 -6
- package/dist/cjs/components/withHydrationBoundary.js +2 -2
- package/dist/cjs/constants/index.js +0 -22
- package/dist/cjs/contexts/HistoryLayerContext.js +89 -0
- package/dist/cjs/contexts/index.js +38 -0
- package/dist/cjs/handler/history/FrameHistoryLayer.js +100 -0
- package/dist/cjs/handler/history/HistoryLayer.js +321 -0
- package/dist/cjs/handler/history/index.js +19 -0
- package/dist/cjs/hooks/history.js +454 -0
- package/dist/cjs/hooks/index.js +62 -1
- package/dist/cjs/host/ChaynsHost.js +113 -54
- package/dist/cjs/host/iframe/HostIframe.js +70 -5
- package/dist/cjs/host/module/ModuleHost.js +50 -44
- package/dist/cjs/index.js +139 -6
- package/dist/cjs/types/history.js +1 -0
- package/dist/cjs/umd.index.js +2 -2
- package/dist/cjs/utils/EventBus.js +33 -0
- package/dist/cjs/{util → utils}/appStorage.js +2 -2
- package/dist/cjs/utils/equality.js +19 -0
- package/dist/cjs/utils/history/BlockRegistry.js +110 -0
- package/dist/cjs/utils/history/NavigationQueue.js +388 -0
- package/dist/cjs/utils/history/layerTree.js +32 -0
- package/dist/cjs/utils/history/navigationIndex.js +42 -0
- package/dist/cjs/utils/history/rootLayer.js +175 -0
- package/dist/cjs/utils/history/segments.js +15 -0
- package/dist/cjs/utils/history/stateProjector.js +156 -0
- package/dist/cjs/utils/history/url.js +47 -0
- package/dist/cjs/utils/history/window.js +9 -0
- package/dist/cjs/wrapper/AppWrapper.js +23 -23
- package/dist/cjs/wrapper/FrameWrapper.js +35 -2
- package/dist/cjs/wrapper/ModuleFederationWrapper.js +2 -0
- package/dist/cjs/wrapper/StaticChaynsApi.js +1 -1
- package/dist/esm/calls/index.js +2 -0
- package/dist/esm/calls/visibilityChangeListener.js +1 -1
- package/dist/esm/components/ChaynsProvider.js +34 -6
- package/dist/esm/components/withHydrationBoundary.js +1 -1
- package/dist/esm/constants/index.js +1 -3
- package/dist/esm/contexts/HistoryLayerContext.js +76 -0
- package/dist/esm/contexts/index.js +3 -0
- package/dist/esm/handler/history/FrameHistoryLayer.js +105 -0
- package/dist/esm/handler/history/HistoryLayer.js +321 -0
- package/dist/esm/handler/history/index.js +2 -0
- package/dist/esm/hooks/history.js +428 -0
- package/dist/esm/hooks/index.js +2 -1
- package/dist/esm/host/ChaynsHost.js +113 -54
- package/dist/esm/host/iframe/HostIframe.js +70 -5
- package/dist/esm/host/module/ModuleHost.js +50 -44
- package/dist/esm/index.js +15 -6
- package/dist/esm/types/history.js +1 -0
- package/dist/esm/umd.index.js +2 -2
- package/dist/esm/utils/EventBus.js +31 -0
- package/dist/esm/{util → utils}/appStorage.js +1 -1
- package/dist/esm/utils/equality.js +12 -0
- package/dist/esm/utils/history/BlockRegistry.js +108 -0
- package/dist/esm/utils/history/NavigationQueue.js +385 -0
- package/dist/esm/utils/history/layerTree.js +24 -0
- package/dist/esm/utils/history/navigationIndex.js +33 -0
- package/dist/esm/utils/history/rootLayer.js +167 -0
- package/dist/esm/utils/history/segments.js +7 -0
- package/dist/esm/utils/history/stateProjector.js +147 -0
- package/dist/esm/utils/history/url.js +40 -0
- package/dist/esm/utils/history/window.js +3 -0
- package/dist/esm/wrapper/AppWrapper.js +5 -5
- package/dist/esm/wrapper/FrameWrapper.js +35 -2
- package/dist/esm/wrapper/ModuleFederationWrapper.js +2 -0
- package/dist/esm/wrapper/StaticChaynsApi.js +2 -1
- package/dist/types/calls/index.d.ts +5 -0
- package/dist/types/components/ChaynsProvider.d.ts +21 -0
- package/dist/types/constants/index.d.ts +0 -2
- package/dist/types/contexts/HistoryLayerContext.d.ts +33 -0
- package/dist/types/contexts/index.d.ts +3 -0
- package/dist/types/handler/history/FrameHistoryLayer.d.ts +99 -0
- package/dist/types/handler/history/HistoryLayer.d.ts +117 -0
- package/dist/types/handler/history/index.d.ts +2 -0
- package/dist/types/hooks/history.d.ts +89 -0
- package/dist/types/hooks/index.d.ts +1 -0
- package/dist/types/host/ChaynsHost.d.ts +12 -0
- package/dist/types/host/iframe/HostIframe.d.ts +4 -0
- package/dist/types/host/module/ModuleHost.d.ts +4 -0
- package/dist/types/index.d.ts +15 -6
- package/dist/types/types/IChaynsReact.d.ts +3 -0
- package/dist/types/types/history.d.ts +74 -0
- package/dist/types/umd.index.d.ts +2 -2
- package/dist/types/utils/EventBus.d.ts +10 -0
- package/dist/types/{util → utils}/collectCssChunks.d.ts +1 -1
- package/dist/types/utils/equality.d.ts +2 -0
- package/dist/types/utils/history/BlockRegistry.d.ts +38 -0
- package/dist/types/utils/history/NavigationQueue.d.ts +109 -0
- package/dist/types/utils/history/layerTree.d.ts +10 -0
- package/dist/types/utils/history/navigationIndex.d.ts +14 -0
- package/dist/types/utils/history/rootLayer.d.ts +42 -0
- package/dist/types/utils/history/segments.d.ts +2 -0
- package/dist/types/utils/history/stateProjector.d.ts +24 -0
- package/dist/types/utils/history/url.d.ts +17 -0
- package/dist/types/utils/history/window.d.ts +1 -0
- package/dist/types/wrapper/FrameWrapper.d.ts +1 -0
- package/dist/types/wrapper/StaticChaynsApi.d.ts +1 -0
- package/package.json +2 -1
- /package/dist/cjs/{constants → contexts}/hydrationContext.js +0 -0
- /package/dist/cjs/{constants → contexts}/moduleContext.js +0 -0
- /package/dist/cjs/{helper/apiListenerHelper.js → utils/apiListener.js} +0 -0
- /package/dist/cjs/{util → utils}/appCall.js +0 -0
- /package/dist/cjs/{util → utils}/bindChaynsApi.js +0 -0
- /package/dist/cjs/{util → utils}/collectCssChunks.js +0 -0
- /package/dist/cjs/{util → utils}/deviceHelper.js +0 -0
- /package/dist/cjs/{util → utils}/heightHelper.js +0 -0
- /package/dist/cjs/{util → utils}/initModuleFederationSharing.js +0 -0
- /package/dist/cjs/{util → utils}/is.js +0 -0
- /package/dist/cjs/{util → utils}/postIframeForm.js +0 -0
- /package/dist/cjs/{util → utils}/transferNestedFunctions.js +0 -0
- /package/dist/cjs/{util → utils}/url.js +0 -0
- /package/dist/esm/{constants → contexts}/hydrationContext.js +0 -0
- /package/dist/esm/{constants → contexts}/moduleContext.js +0 -0
- /package/dist/esm/{helper/apiListenerHelper.js → utils/apiListener.js} +0 -0
- /package/dist/esm/{util → utils}/appCall.js +0 -0
- /package/dist/esm/{util → utils}/bindChaynsApi.js +0 -0
- /package/dist/esm/{util → utils}/collectCssChunks.js +0 -0
- /package/dist/esm/{util → utils}/deviceHelper.js +0 -0
- /package/dist/esm/{util → utils}/heightHelper.js +0 -0
- /package/dist/esm/{util → utils}/initModuleFederationSharing.js +0 -0
- /package/dist/esm/{util → utils}/is.js +0 -0
- /package/dist/esm/{util → utils}/postIframeForm.js +0 -0
- /package/dist/esm/{util → utils}/transferNestedFunctions.js +0 -0
- /package/dist/esm/{util → utils}/url.js +0 -0
- /package/dist/types/{constants → contexts}/hydrationContext.d.ts +0 -0
- /package/dist/types/{constants → contexts}/moduleContext.d.ts +0 -0
- /package/dist/types/{helper/apiListenerHelper.d.ts → utils/apiListener.d.ts} +0 -0
- /package/dist/types/{util → utils}/appCall.d.ts +0 -0
- /package/dist/types/{util → utils}/appStorage.d.ts +0 -0
- /package/dist/types/{util → utils}/bindChaynsApi.d.ts +0 -0
- /package/dist/types/{util → utils}/deviceHelper.d.ts +0 -0
- /package/dist/types/{util → utils}/heightHelper.d.ts +0 -0
- /package/dist/types/{util → utils}/initModuleFederationSharing.d.ts +0 -0
- /package/dist/types/{util → utils}/is.d.ts +0 -0
- /package/dist/types/{util → utils}/postIframeForm.d.ts +0 -0
- /package/dist/types/{util → utils}/transferNestedFunctions.d.ts +0 -0
- /package/dist/types/{util → utils}/url.d.ts +0 -0
|
@@ -0,0 +1,428 @@
|
|
|
1
|
+
import { c as _c } from "react-compiler-runtime";
|
|
2
|
+
import { useCallback, useEffect, useRef, useSyncExternalStore } from 'react';
|
|
3
|
+
import { useChaynsHistoryLayerContext } from '../contexts/HistoryLayerContext';
|
|
4
|
+
import { shallowEqualObj } from '../utils/equality';
|
|
5
|
+
export function useChaynsHistoryLayer() {
|
|
6
|
+
const $ = _c(1);
|
|
7
|
+
const ctx = useChaynsHistoryLayerContext();
|
|
8
|
+
if (ctx) {
|
|
9
|
+
return ctx;
|
|
10
|
+
}
|
|
11
|
+
let t0;
|
|
12
|
+
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
13
|
+
var _chaynsHost, _chaynsHost$getOwnLay;
|
|
14
|
+
t0 = typeof window !== "undefined" ? (_chaynsHost = window.__chaynsHost) === null || _chaynsHost === void 0 || (_chaynsHost = _chaynsHost.history) === null || _chaynsHost === void 0 || (_chaynsHost$getOwnLay = _chaynsHost.getOwnLayer) === null || _chaynsHost$getOwnLay === void 0 ? void 0 : _chaynsHost$getOwnLay.call(_chaynsHost) : undefined;
|
|
15
|
+
$[0] = t0;
|
|
16
|
+
} else {
|
|
17
|
+
t0 = $[0];
|
|
18
|
+
}
|
|
19
|
+
const globalLayer = t0;
|
|
20
|
+
if (globalLayer) {
|
|
21
|
+
return globalLayer;
|
|
22
|
+
}
|
|
23
|
+
throw new Error("[chaynsHistory] useChaynsHistoryLayer must be used inside a <ChaynsHistoryLayerProvider>.");
|
|
24
|
+
}
|
|
25
|
+
export function useChaynsHistoryRoute() {
|
|
26
|
+
const $ = _c(10);
|
|
27
|
+
const layer = useChaynsHistoryLayer();
|
|
28
|
+
let t0;
|
|
29
|
+
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
30
|
+
t0 = [];
|
|
31
|
+
$[0] = t0;
|
|
32
|
+
} else {
|
|
33
|
+
t0 = $[0];
|
|
34
|
+
}
|
|
35
|
+
const segRef = useRef(t0);
|
|
36
|
+
let t1;
|
|
37
|
+
if ($[1] !== layer) {
|
|
38
|
+
t1 = () => {
|
|
39
|
+
const next = layer.getRoute();
|
|
40
|
+
const prev = segRef.current;
|
|
41
|
+
if (prev.length === next.length && prev.every((s, i) => s === next[i])) {
|
|
42
|
+
return prev;
|
|
43
|
+
}
|
|
44
|
+
return segRef.current = next;
|
|
45
|
+
};
|
|
46
|
+
$[1] = layer;
|
|
47
|
+
$[2] = t1;
|
|
48
|
+
} else {
|
|
49
|
+
t1 = $[2];
|
|
50
|
+
}
|
|
51
|
+
const getSnapshot = t1;
|
|
52
|
+
let t2;
|
|
53
|
+
if ($[3] !== layer) {
|
|
54
|
+
t2 = notify => {
|
|
55
|
+
const unsub1 = layer.addEventListener("change", notify);
|
|
56
|
+
const unsub2 = layer.addEventListener("popstate", notify);
|
|
57
|
+
return () => {
|
|
58
|
+
unsub1();
|
|
59
|
+
unsub2();
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
$[3] = layer;
|
|
63
|
+
$[4] = t2;
|
|
64
|
+
} else {
|
|
65
|
+
t2 = $[4];
|
|
66
|
+
}
|
|
67
|
+
const subscribe = t2;
|
|
68
|
+
const segments = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
|
|
69
|
+
let t3;
|
|
70
|
+
if ($[5] !== layer) {
|
|
71
|
+
t3 = (route, opts) => layer.setRoute(route, opts);
|
|
72
|
+
$[5] = layer;
|
|
73
|
+
$[6] = t3;
|
|
74
|
+
} else {
|
|
75
|
+
t3 = $[6];
|
|
76
|
+
}
|
|
77
|
+
const setRoute = t3;
|
|
78
|
+
let t4;
|
|
79
|
+
if ($[7] !== segments || $[8] !== setRoute) {
|
|
80
|
+
t4 = {
|
|
81
|
+
segments,
|
|
82
|
+
setRoute
|
|
83
|
+
};
|
|
84
|
+
$[7] = segments;
|
|
85
|
+
$[8] = setRoute;
|
|
86
|
+
$[9] = t4;
|
|
87
|
+
} else {
|
|
88
|
+
t4 = $[9];
|
|
89
|
+
}
|
|
90
|
+
return t4;
|
|
91
|
+
}
|
|
92
|
+
export function useChaynsHistoryState() {
|
|
93
|
+
const $ = _c(9);
|
|
94
|
+
const layer = useChaynsHistoryLayer();
|
|
95
|
+
const stateRef = useRef(undefined);
|
|
96
|
+
let t0;
|
|
97
|
+
if ($[0] !== layer) {
|
|
98
|
+
t0 = () => {
|
|
99
|
+
const next = layer.getState();
|
|
100
|
+
if (shallowEqualStateSnapshot(stateRef.current, next)) {
|
|
101
|
+
return stateRef.current;
|
|
102
|
+
}
|
|
103
|
+
return stateRef.current = next;
|
|
104
|
+
};
|
|
105
|
+
$[0] = layer;
|
|
106
|
+
$[1] = t0;
|
|
107
|
+
} else {
|
|
108
|
+
t0 = $[1];
|
|
109
|
+
}
|
|
110
|
+
const getSnapshot = t0;
|
|
111
|
+
let t1;
|
|
112
|
+
if ($[2] !== layer) {
|
|
113
|
+
t1 = notify => {
|
|
114
|
+
const unsub1 = layer.addEventListener("change", notify);
|
|
115
|
+
const unsub2 = layer.addEventListener("popstate", notify);
|
|
116
|
+
return () => {
|
|
117
|
+
unsub1();
|
|
118
|
+
unsub2();
|
|
119
|
+
};
|
|
120
|
+
};
|
|
121
|
+
$[2] = layer;
|
|
122
|
+
$[3] = t1;
|
|
123
|
+
} else {
|
|
124
|
+
t1 = $[3];
|
|
125
|
+
}
|
|
126
|
+
const subscribe = t1;
|
|
127
|
+
const state = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
|
|
128
|
+
let t2;
|
|
129
|
+
if ($[4] !== layer) {
|
|
130
|
+
t2 = (s, opts) => layer.setState(s, opts);
|
|
131
|
+
$[4] = layer;
|
|
132
|
+
$[5] = t2;
|
|
133
|
+
} else {
|
|
134
|
+
t2 = $[5];
|
|
135
|
+
}
|
|
136
|
+
const setState = t2;
|
|
137
|
+
let t3;
|
|
138
|
+
if ($[6] !== setState || $[7] !== state) {
|
|
139
|
+
t3 = [state, setState];
|
|
140
|
+
$[6] = setState;
|
|
141
|
+
$[7] = state;
|
|
142
|
+
$[8] = t3;
|
|
143
|
+
} else {
|
|
144
|
+
t3 = $[8];
|
|
145
|
+
}
|
|
146
|
+
return t3;
|
|
147
|
+
}
|
|
148
|
+
export function useChaynsHistoryNavigate() {
|
|
149
|
+
const $ = _c(2);
|
|
150
|
+
const layer = useChaynsHistoryLayer();
|
|
151
|
+
let t0;
|
|
152
|
+
if ($[0] !== layer) {
|
|
153
|
+
t0 = opts => layer.navigate(opts);
|
|
154
|
+
$[0] = layer;
|
|
155
|
+
$[1] = t0;
|
|
156
|
+
} else {
|
|
157
|
+
t0 = $[1];
|
|
158
|
+
}
|
|
159
|
+
return t0;
|
|
160
|
+
}
|
|
161
|
+
export function useChaynsHistoryParams() {
|
|
162
|
+
const $ = _c(10);
|
|
163
|
+
const layer = useChaynsHistoryLayer();
|
|
164
|
+
let t0;
|
|
165
|
+
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
166
|
+
t0 = {};
|
|
167
|
+
$[0] = t0;
|
|
168
|
+
} else {
|
|
169
|
+
t0 = $[0];
|
|
170
|
+
}
|
|
171
|
+
const paramsRef = useRef(t0);
|
|
172
|
+
let t1;
|
|
173
|
+
if ($[1] !== layer) {
|
|
174
|
+
t1 = () => {
|
|
175
|
+
const next = layer.getParams();
|
|
176
|
+
if (shallowEqualObj(paramsRef.current, next)) {
|
|
177
|
+
return paramsRef.current;
|
|
178
|
+
}
|
|
179
|
+
return paramsRef.current = next;
|
|
180
|
+
};
|
|
181
|
+
$[1] = layer;
|
|
182
|
+
$[2] = t1;
|
|
183
|
+
} else {
|
|
184
|
+
t1 = $[2];
|
|
185
|
+
}
|
|
186
|
+
const getSnapshot = t1;
|
|
187
|
+
let t2;
|
|
188
|
+
if ($[3] !== layer) {
|
|
189
|
+
t2 = notify => {
|
|
190
|
+
const unsub1 = layer.addEventListener("change", notify);
|
|
191
|
+
const unsub2 = layer.addEventListener("popstate", notify);
|
|
192
|
+
return () => {
|
|
193
|
+
unsub1();
|
|
194
|
+
unsub2();
|
|
195
|
+
};
|
|
196
|
+
};
|
|
197
|
+
$[3] = layer;
|
|
198
|
+
$[4] = t2;
|
|
199
|
+
} else {
|
|
200
|
+
t2 = $[4];
|
|
201
|
+
}
|
|
202
|
+
const subscribe = t2;
|
|
203
|
+
const params = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
|
|
204
|
+
let t3;
|
|
205
|
+
if ($[5] !== layer) {
|
|
206
|
+
t3 = (p, opts) => layer.setParams(p, opts);
|
|
207
|
+
$[5] = layer;
|
|
208
|
+
$[6] = t3;
|
|
209
|
+
} else {
|
|
210
|
+
t3 = $[6];
|
|
211
|
+
}
|
|
212
|
+
const setParams = t3;
|
|
213
|
+
let t4;
|
|
214
|
+
if ($[7] !== params || $[8] !== setParams) {
|
|
215
|
+
t4 = [params, setParams];
|
|
216
|
+
$[7] = params;
|
|
217
|
+
$[8] = setParams;
|
|
218
|
+
$[9] = t4;
|
|
219
|
+
} else {
|
|
220
|
+
t4 = $[9];
|
|
221
|
+
}
|
|
222
|
+
return t4;
|
|
223
|
+
}
|
|
224
|
+
export function useChaynsHistoryHash() {
|
|
225
|
+
const $ = _c(11);
|
|
226
|
+
const layer = useChaynsHistoryLayer();
|
|
227
|
+
let t0;
|
|
228
|
+
if ($[0] !== layer) {
|
|
229
|
+
t0 = notify => {
|
|
230
|
+
const unsub1 = layer.addEventListener("change", notify);
|
|
231
|
+
const unsub2 = layer.addEventListener("popstate", notify);
|
|
232
|
+
return () => {
|
|
233
|
+
unsub1();
|
|
234
|
+
unsub2();
|
|
235
|
+
};
|
|
236
|
+
};
|
|
237
|
+
$[0] = layer;
|
|
238
|
+
$[1] = t0;
|
|
239
|
+
} else {
|
|
240
|
+
t0 = $[1];
|
|
241
|
+
}
|
|
242
|
+
const subscribe = t0;
|
|
243
|
+
let t1;
|
|
244
|
+
if ($[2] !== layer) {
|
|
245
|
+
t1 = () => layer.getHash();
|
|
246
|
+
$[2] = layer;
|
|
247
|
+
$[3] = t1;
|
|
248
|
+
} else {
|
|
249
|
+
t1 = $[3];
|
|
250
|
+
}
|
|
251
|
+
const getSnapshot = t1;
|
|
252
|
+
let t2;
|
|
253
|
+
if ($[4] !== layer) {
|
|
254
|
+
t2 = () => layer.getHash();
|
|
255
|
+
$[4] = layer;
|
|
256
|
+
$[5] = t2;
|
|
257
|
+
} else {
|
|
258
|
+
t2 = $[5];
|
|
259
|
+
}
|
|
260
|
+
const getServerSnapshot = t2;
|
|
261
|
+
const hash = useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);
|
|
262
|
+
let t3;
|
|
263
|
+
if ($[6] !== layer) {
|
|
264
|
+
t3 = (h, opts) => layer.setHash(h, opts);
|
|
265
|
+
$[6] = layer;
|
|
266
|
+
$[7] = t3;
|
|
267
|
+
} else {
|
|
268
|
+
t3 = $[7];
|
|
269
|
+
}
|
|
270
|
+
const setHash = t3;
|
|
271
|
+
let t4;
|
|
272
|
+
if ($[8] !== hash || $[9] !== setHash) {
|
|
273
|
+
t4 = [hash, setHash];
|
|
274
|
+
$[8] = hash;
|
|
275
|
+
$[9] = setHash;
|
|
276
|
+
$[10] = t4;
|
|
277
|
+
} else {
|
|
278
|
+
t4 = $[10];
|
|
279
|
+
}
|
|
280
|
+
return t4;
|
|
281
|
+
}
|
|
282
|
+
export function useChaynsHistoryBlock(callback, t0) {
|
|
283
|
+
const $ = _c(9);
|
|
284
|
+
let t1;
|
|
285
|
+
if ($[0] !== t0) {
|
|
286
|
+
t1 = t0 === undefined ? {} : t0;
|
|
287
|
+
$[0] = t0;
|
|
288
|
+
$[1] = t1;
|
|
289
|
+
} else {
|
|
290
|
+
t1 = $[1];
|
|
291
|
+
}
|
|
292
|
+
const opts = t1;
|
|
293
|
+
const layer = useChaynsHistoryLayer();
|
|
294
|
+
const {
|
|
295
|
+
isEnabled: t2,
|
|
296
|
+
scope,
|
|
297
|
+
isBeforeUnload
|
|
298
|
+
} = opts;
|
|
299
|
+
const isEnabled = t2 === undefined ? true : t2;
|
|
300
|
+
let t3;
|
|
301
|
+
let t4;
|
|
302
|
+
if ($[2] !== callback || $[3] !== isBeforeUnload || $[4] !== isEnabled || $[5] !== layer || $[6] !== scope) {
|
|
303
|
+
t3 = () => {
|
|
304
|
+
if (!isEnabled) {
|
|
305
|
+
return;
|
|
306
|
+
}
|
|
307
|
+
return layer.addBlock(callback, {
|
|
308
|
+
scope,
|
|
309
|
+
isBeforeUnload
|
|
310
|
+
});
|
|
311
|
+
};
|
|
312
|
+
t4 = [layer, callback, isEnabled, scope, isBeforeUnload];
|
|
313
|
+
$[2] = callback;
|
|
314
|
+
$[3] = isBeforeUnload;
|
|
315
|
+
$[4] = isEnabled;
|
|
316
|
+
$[5] = layer;
|
|
317
|
+
$[6] = scope;
|
|
318
|
+
$[7] = t3;
|
|
319
|
+
$[8] = t4;
|
|
320
|
+
} else {
|
|
321
|
+
t3 = $[7];
|
|
322
|
+
t4 = $[8];
|
|
323
|
+
}
|
|
324
|
+
useEffect(t3, t4);
|
|
325
|
+
}
|
|
326
|
+
export function useChaynsHistoryEvent(type, handler) {
|
|
327
|
+
const $ = _c(5);
|
|
328
|
+
const layer = useChaynsHistoryLayer();
|
|
329
|
+
let t0;
|
|
330
|
+
let t1;
|
|
331
|
+
if ($[0] !== handler || $[1] !== layer || $[2] !== type) {
|
|
332
|
+
t0 = () => layer.addEventListener(type, handler);
|
|
333
|
+
t1 = [layer, type, handler];
|
|
334
|
+
$[0] = handler;
|
|
335
|
+
$[1] = layer;
|
|
336
|
+
$[2] = type;
|
|
337
|
+
$[3] = t0;
|
|
338
|
+
$[4] = t1;
|
|
339
|
+
} else {
|
|
340
|
+
t0 = $[3];
|
|
341
|
+
t1 = $[4];
|
|
342
|
+
}
|
|
343
|
+
useEffect(t0, t1);
|
|
344
|
+
}
|
|
345
|
+
export function useChaynsHistoryChildLayer(id) {
|
|
346
|
+
const $ = _c(6);
|
|
347
|
+
const layer = useChaynsHistoryLayer();
|
|
348
|
+
let t0;
|
|
349
|
+
if ($[0] !== id || $[1] !== layer) {
|
|
350
|
+
t0 = layer.getChildLayer(id);
|
|
351
|
+
$[0] = id;
|
|
352
|
+
$[1] = layer;
|
|
353
|
+
$[2] = t0;
|
|
354
|
+
} else {
|
|
355
|
+
t0 = $[2];
|
|
356
|
+
}
|
|
357
|
+
let child = t0;
|
|
358
|
+
if (!child) {
|
|
359
|
+
let t1;
|
|
360
|
+
if ($[3] !== id || $[4] !== layer) {
|
|
361
|
+
t1 = layer.createChildLayer(id);
|
|
362
|
+
$[3] = id;
|
|
363
|
+
$[4] = layer;
|
|
364
|
+
$[5] = t1;
|
|
365
|
+
} else {
|
|
366
|
+
t1 = $[5];
|
|
367
|
+
}
|
|
368
|
+
child = t1;
|
|
369
|
+
}
|
|
370
|
+
return child;
|
|
371
|
+
}
|
|
372
|
+
export function useChaynsHistoryActiveChild() {
|
|
373
|
+
const $ = _c(9);
|
|
374
|
+
const layer = useChaynsHistoryLayer();
|
|
375
|
+
let t0;
|
|
376
|
+
if ($[0] !== layer) {
|
|
377
|
+
t0 = notify => layer.addEventListener("change", notify);
|
|
378
|
+
$[0] = layer;
|
|
379
|
+
$[1] = t0;
|
|
380
|
+
} else {
|
|
381
|
+
t0 = $[1];
|
|
382
|
+
}
|
|
383
|
+
const subscribe = t0;
|
|
384
|
+
let t1;
|
|
385
|
+
if ($[2] !== layer) {
|
|
386
|
+
t1 = () => layer.getActiveChildId();
|
|
387
|
+
$[2] = layer;
|
|
388
|
+
$[3] = t1;
|
|
389
|
+
} else {
|
|
390
|
+
t1 = $[3];
|
|
391
|
+
}
|
|
392
|
+
const getSnapshot = t1;
|
|
393
|
+
const activeChildId = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
|
|
394
|
+
let t2;
|
|
395
|
+
if ($[4] !== layer) {
|
|
396
|
+
t2 = (id, init) => layer.setActiveChild(id, init);
|
|
397
|
+
$[4] = layer;
|
|
398
|
+
$[5] = t2;
|
|
399
|
+
} else {
|
|
400
|
+
t2 = $[5];
|
|
401
|
+
}
|
|
402
|
+
const setActiveChild = t2;
|
|
403
|
+
let t3;
|
|
404
|
+
if ($[6] !== activeChildId || $[7] !== setActiveChild) {
|
|
405
|
+
t3 = {
|
|
406
|
+
activeChildId,
|
|
407
|
+
setActiveChild
|
|
408
|
+
};
|
|
409
|
+
$[6] = activeChildId;
|
|
410
|
+
$[7] = setActiveChild;
|
|
411
|
+
$[8] = t3;
|
|
412
|
+
} else {
|
|
413
|
+
t3 = $[8];
|
|
414
|
+
}
|
|
415
|
+
return t3;
|
|
416
|
+
}
|
|
417
|
+
function shallowEqualStateSnapshot(a, b) {
|
|
418
|
+
if (a === b) return true;
|
|
419
|
+
if (!a || !b) return false;
|
|
420
|
+
const ak = Object.keys(a);
|
|
421
|
+
const bk = Object.keys(b);
|
|
422
|
+
if (ak.length !== bk.length) return false;
|
|
423
|
+
for (const k of ak) {
|
|
424
|
+
if (a[k] !== b[k]) return false;
|
|
425
|
+
}
|
|
426
|
+
return true;
|
|
427
|
+
}
|
|
428
|
+
export { ChaynsHistoryLayerProvider, useChaynsHistoryLayerContext } from '../contexts/HistoryLayerContext';
|
package/dist/esm/hooks/index.js
CHANGED
|
@@ -18,4 +18,5 @@ export { useDialogState, useDialogData } from './useDialogState';
|
|
|
18
18
|
export { useCustomCallbackFunction } from './useCustomCallbackFunction';
|
|
19
19
|
export { useCustomFunction } from './useCustomFunction';
|
|
20
20
|
export { useStyleSettings } from './useStyleSettings';
|
|
21
|
-
export { useChaynsApiId } from './useChaynsApiId';
|
|
21
|
+
export { useChaynsApiId } from './useChaynsApiId';
|
|
22
|
+
export { useChaynsHistoryLayer, useChaynsHistoryRoute, useChaynsHistoryParams, useChaynsHistoryHash, useChaynsHistoryState, useChaynsHistoryNavigate, useChaynsHistoryBlock, useChaynsHistoryEvent, useChaynsHistoryChildLayer, useChaynsHistoryActiveChild } from './history';
|
|
@@ -2,9 +2,11 @@ import { c as _c } from "react-compiler-runtime";
|
|
|
2
2
|
import React, { useDeferredValue, useSyncExternalStore } from 'react';
|
|
3
3
|
import HostIframe from './iframe/HostIframe';
|
|
4
4
|
import ModuleHost from './module/ModuleHost';
|
|
5
|
+
import { ChaynsHistoryLayerProvider } from '../contexts/HistoryLayerContext';
|
|
6
|
+
import { getOrInitRootChaynsHistoryLayer } from '../utils/history/rootLayer';
|
|
5
7
|
const subscribeToHydration = () => () => {};
|
|
6
8
|
const ChaynsHost = t0 => {
|
|
7
|
-
const $ = _c(
|
|
9
|
+
const $ = _c(53);
|
|
8
10
|
const {
|
|
9
11
|
type,
|
|
10
12
|
iFrameProps,
|
|
@@ -26,24 +28,51 @@ const ChaynsHost = t0 => {
|
|
|
26
28
|
environment,
|
|
27
29
|
preventStagingReplacement,
|
|
28
30
|
dialog,
|
|
29
|
-
styleSettings
|
|
31
|
+
styleSettings,
|
|
32
|
+
historyLayer,
|
|
33
|
+
historyChildId,
|
|
34
|
+
isHistoryDisabled: t3
|
|
30
35
|
} = t0;
|
|
31
36
|
const iFrameRef = t1 === undefined ? undefined : t1;
|
|
32
37
|
const loadingComponent = t2 === undefined ? undefined : t2;
|
|
38
|
+
const isHistoryDisabled = t3 === undefined ? true : t3;
|
|
33
39
|
const isInitiallyVisible = type !== "client-module" && (type !== "server-module" || !!(system !== null && system !== void 0 && system.serverUrl));
|
|
34
40
|
const isHydrated = useSyncExternalStore(subscribeToHydration, _temp, _temp2);
|
|
35
41
|
const isVisible = useDeferredValue(isInitiallyVisible || isHydrated);
|
|
36
42
|
if (!isVisible) {
|
|
37
43
|
return null;
|
|
38
44
|
}
|
|
45
|
+
let t4;
|
|
46
|
+
if ($[0] !== historyLayer) {
|
|
47
|
+
t4 = historyLayer !== null && historyLayer !== void 0 ? historyLayer : getOrInitRootChaynsHistoryLayer().rootLayer;
|
|
48
|
+
$[0] = historyLayer;
|
|
49
|
+
$[1] = t4;
|
|
50
|
+
} else {
|
|
51
|
+
t4 = $[1];
|
|
52
|
+
}
|
|
53
|
+
const resolvedLayer = t4;
|
|
54
|
+
let layer;
|
|
55
|
+
if (!isHistoryDisabled) {
|
|
56
|
+
let t5;
|
|
57
|
+
if ($[2] !== historyChildId || $[3] !== resolvedLayer) {
|
|
58
|
+
var _resolvedLayer$getChi;
|
|
59
|
+
t5 = historyChildId ? (_resolvedLayer$getChi = resolvedLayer.getChildLayer(historyChildId)) !== null && _resolvedLayer$getChi !== void 0 ? _resolvedLayer$getChi : resolvedLayer.createChildLayer(historyChildId) : resolvedLayer;
|
|
60
|
+
$[2] = historyChildId;
|
|
61
|
+
$[3] = resolvedLayer;
|
|
62
|
+
$[4] = t5;
|
|
63
|
+
} else {
|
|
64
|
+
t5 = $[4];
|
|
65
|
+
}
|
|
66
|
+
layer = t5;
|
|
67
|
+
}
|
|
39
68
|
switch (type) {
|
|
40
69
|
case "client-iframe":
|
|
41
70
|
case "server-iframe":
|
|
42
71
|
{
|
|
43
|
-
const
|
|
44
|
-
let
|
|
45
|
-
if ($[
|
|
46
|
-
|
|
72
|
+
const t5 = type === "server-iframe";
|
|
73
|
+
let t6;
|
|
74
|
+
if ($[5] !== currentPage || $[6] !== customData || $[7] !== customFunctions || $[8] !== device || $[9] !== dialog || $[10] !== environment || $[11] !== functions || $[12] !== iFrameProps || $[13] !== iFrameRef || $[14] !== isAdminModeActive || $[15] !== isHistoryDisabled || $[16] !== language || $[17] !== layer || $[18] !== pages || $[19] !== parameters || $[20] !== preventStagingReplacement || $[21] !== site || $[22] !== src || $[23] !== styleSettings || $[24] !== t5 || $[25] !== user) {
|
|
75
|
+
t6 = React.createElement(HostIframe, {
|
|
47
76
|
iFrameRef: iFrameRef,
|
|
48
77
|
iFrameProps: iFrameProps,
|
|
49
78
|
pages: pages,
|
|
@@ -55,46 +84,61 @@ const ChaynsHost = t0 => {
|
|
|
55
84
|
functions: functions,
|
|
56
85
|
customFunctions: customFunctions,
|
|
57
86
|
src: src,
|
|
58
|
-
postForm:
|
|
87
|
+
postForm: t5,
|
|
59
88
|
language: language,
|
|
60
89
|
parameters: parameters,
|
|
61
90
|
environment: environment,
|
|
62
91
|
customData: customData,
|
|
63
92
|
preventStagingReplacement: preventStagingReplacement,
|
|
64
93
|
dialog: dialog,
|
|
65
|
-
styleSettings: styleSettings
|
|
94
|
+
styleSettings: styleSettings,
|
|
95
|
+
historyLayer: layer,
|
|
96
|
+
isHistoryDisabled: isHistoryDisabled
|
|
66
97
|
});
|
|
67
|
-
$[
|
|
68
|
-
$[
|
|
69
|
-
$[
|
|
70
|
-
$[
|
|
71
|
-
$[
|
|
72
|
-
$[
|
|
73
|
-
$[
|
|
74
|
-
$[
|
|
75
|
-
$[
|
|
76
|
-
$[
|
|
77
|
-
$[
|
|
78
|
-
$[
|
|
79
|
-
$[
|
|
80
|
-
$[
|
|
81
|
-
$[
|
|
82
|
-
$[
|
|
83
|
-
$[
|
|
84
|
-
$[
|
|
85
|
-
$[
|
|
86
|
-
$[
|
|
98
|
+
$[5] = currentPage;
|
|
99
|
+
$[6] = customData;
|
|
100
|
+
$[7] = customFunctions;
|
|
101
|
+
$[8] = device;
|
|
102
|
+
$[9] = dialog;
|
|
103
|
+
$[10] = environment;
|
|
104
|
+
$[11] = functions;
|
|
105
|
+
$[12] = iFrameProps;
|
|
106
|
+
$[13] = iFrameRef;
|
|
107
|
+
$[14] = isAdminModeActive;
|
|
108
|
+
$[15] = isHistoryDisabled;
|
|
109
|
+
$[16] = language;
|
|
110
|
+
$[17] = layer;
|
|
111
|
+
$[18] = pages;
|
|
112
|
+
$[19] = parameters;
|
|
113
|
+
$[20] = preventStagingReplacement;
|
|
114
|
+
$[21] = site;
|
|
115
|
+
$[22] = src;
|
|
116
|
+
$[23] = styleSettings;
|
|
117
|
+
$[24] = t5;
|
|
118
|
+
$[25] = user;
|
|
119
|
+
$[26] = t6;
|
|
120
|
+
} else {
|
|
121
|
+
t6 = $[26];
|
|
122
|
+
}
|
|
123
|
+
let t7;
|
|
124
|
+
if ($[27] !== resolvedLayer || $[28] !== t6) {
|
|
125
|
+
t7 = React.createElement(ChaynsHistoryLayerProvider, {
|
|
126
|
+
layer: resolvedLayer
|
|
127
|
+
}, t6);
|
|
128
|
+
$[27] = resolvedLayer;
|
|
129
|
+
$[28] = t6;
|
|
130
|
+
$[29] = t7;
|
|
87
131
|
} else {
|
|
88
|
-
|
|
132
|
+
t7 = $[29];
|
|
89
133
|
}
|
|
90
|
-
return
|
|
134
|
+
return t7;
|
|
91
135
|
}
|
|
92
136
|
case "client-module":
|
|
93
137
|
case "server-module":
|
|
94
138
|
{
|
|
95
|
-
let
|
|
96
|
-
if ($[
|
|
97
|
-
|
|
139
|
+
let t5;
|
|
140
|
+
if ($[30] !== currentPage || $[31] !== customData || $[32] !== customFunctions || $[33] !== device || $[34] !== dialog || $[35] !== environment || $[36] !== functions || $[37] !== isAdminModeActive || $[38] !== isHistoryDisabled || $[39] !== language || $[40] !== layer || $[41] !== loadingComponent || $[42] !== pages || $[43] !== parameters || $[44] !== preventStagingReplacement || $[45] !== site || $[46] !== styleSettings || $[47] !== system || $[48] !== user) {
|
|
141
|
+
t5 = React.createElement(ModuleHost, {
|
|
98
142
|
system: system,
|
|
99
143
|
pages: pages,
|
|
100
144
|
isAdminModeActive: isAdminModeActive,
|
|
@@ -111,30 +155,45 @@ const ChaynsHost = t0 => {
|
|
|
111
155
|
environment: environment,
|
|
112
156
|
preventStagingReplacement: preventStagingReplacement,
|
|
113
157
|
dialog: dialog,
|
|
114
|
-
styleSettings: styleSettings
|
|
158
|
+
styleSettings: styleSettings,
|
|
159
|
+
historyLayer: layer,
|
|
160
|
+
isHistoryDisabled: isHistoryDisabled
|
|
115
161
|
});
|
|
116
|
-
$[
|
|
117
|
-
$[
|
|
118
|
-
$[
|
|
119
|
-
$[
|
|
120
|
-
$[
|
|
121
|
-
$[
|
|
122
|
-
$[
|
|
123
|
-
$[
|
|
124
|
-
$[
|
|
125
|
-
$[
|
|
126
|
-
$[
|
|
127
|
-
$[
|
|
128
|
-
$[
|
|
129
|
-
$[
|
|
130
|
-
$[
|
|
131
|
-
$[
|
|
132
|
-
$[
|
|
133
|
-
$[
|
|
162
|
+
$[30] = currentPage;
|
|
163
|
+
$[31] = customData;
|
|
164
|
+
$[32] = customFunctions;
|
|
165
|
+
$[33] = device;
|
|
166
|
+
$[34] = dialog;
|
|
167
|
+
$[35] = environment;
|
|
168
|
+
$[36] = functions;
|
|
169
|
+
$[37] = isAdminModeActive;
|
|
170
|
+
$[38] = isHistoryDisabled;
|
|
171
|
+
$[39] = language;
|
|
172
|
+
$[40] = layer;
|
|
173
|
+
$[41] = loadingComponent;
|
|
174
|
+
$[42] = pages;
|
|
175
|
+
$[43] = parameters;
|
|
176
|
+
$[44] = preventStagingReplacement;
|
|
177
|
+
$[45] = site;
|
|
178
|
+
$[46] = styleSettings;
|
|
179
|
+
$[47] = system;
|
|
180
|
+
$[48] = user;
|
|
181
|
+
$[49] = t5;
|
|
182
|
+
} else {
|
|
183
|
+
t5 = $[49];
|
|
184
|
+
}
|
|
185
|
+
let t6;
|
|
186
|
+
if ($[50] !== resolvedLayer || $[51] !== t5) {
|
|
187
|
+
t6 = React.createElement(ChaynsHistoryLayerProvider, {
|
|
188
|
+
layer: resolvedLayer
|
|
189
|
+
}, t5);
|
|
190
|
+
$[50] = resolvedLayer;
|
|
191
|
+
$[51] = t5;
|
|
192
|
+
$[52] = t6;
|
|
134
193
|
} else {
|
|
135
|
-
|
|
194
|
+
t6 = $[52];
|
|
136
195
|
}
|
|
137
|
-
return
|
|
196
|
+
return t6;
|
|
138
197
|
}
|
|
139
198
|
default:
|
|
140
199
|
{
|