@machinemetrics/mm-react-embeddable 2.0.3-1 → 2.0.3-2
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.
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
const
|
|
1
|
+
import F, { createContext as ye, useContext as ne, useState as D, useRef as l, useCallback as h, useEffect as g, useMemo as Ce } from "react";
|
|
2
|
+
import w from "prop-types";
|
|
3
|
+
import Re from "styled-components";
|
|
4
|
+
const le = ye(null), ue = ye({
|
|
5
5
|
pending: [],
|
|
6
6
|
authorize: () => {
|
|
7
7
|
},
|
|
@@ -16,317 +16,317 @@ const se = fe(null), te = fe({
|
|
|
16
16
|
unsupported: {},
|
|
17
17
|
setDelivered: () => {
|
|
18
18
|
}
|
|
19
|
-
}),
|
|
20
|
-
kind:
|
|
21
|
-
accessToken:
|
|
22
|
-
expiresAt:
|
|
23
|
-
} : null : null,
|
|
19
|
+
}), Ue = "access_token", Ee = (e) => e ? e.kind ? e : e.accessToken ? {
|
|
20
|
+
kind: Ue,
|
|
21
|
+
accessToken: e.accessToken,
|
|
22
|
+
expiresAt: e.expiresAt || null
|
|
23
|
+
} : null : null, Se = 60, xe = 120, Oe = 3e4, $e = /* @__PURE__ */ new Set([
|
|
24
24
|
"host_not_allowed",
|
|
25
25
|
"unbound_host_bound_guest",
|
|
26
26
|
"invalid_token",
|
|
27
27
|
"provider_unavailable"
|
|
28
|
-
]),
|
|
28
|
+
]), oe = (e) => {
|
|
29
29
|
try {
|
|
30
|
-
return new URL(
|
|
30
|
+
return new URL(e).origin;
|
|
31
31
|
} catch {
|
|
32
32
|
return null;
|
|
33
33
|
}
|
|
34
|
-
},
|
|
34
|
+
}, we = (e, s) => {
|
|
35
35
|
const u = s == null ? void 0 : s.origin;
|
|
36
|
-
return !u ||
|
|
37
|
-
},
|
|
38
|
-
if (!
|
|
39
|
-
return
|
|
40
|
-
const s =
|
|
41
|
-
return s.length <= 2 ?
|
|
42
|
-
},
|
|
36
|
+
return !u || oe(e == null ? void 0 : e.authUrl) !== u ? null : u;
|
|
37
|
+
}, Te = (e) => {
|
|
38
|
+
if (!e || /^\d{1,3}(?:\.\d{1,3}){3}$/.test(e) || e.includes(":"))
|
|
39
|
+
return e;
|
|
40
|
+
const s = e.split(".");
|
|
41
|
+
return s.length <= 2 ? e : s.slice(-2).join(".");
|
|
42
|
+
}, ke = (e, s) => {
|
|
43
43
|
try {
|
|
44
|
-
const u = new URL(
|
|
45
|
-
return u.protocol !==
|
|
44
|
+
const u = new URL(e), m = new URL(s);
|
|
45
|
+
return u.protocol !== m.protocol ? !0 : Te(u.hostname) !== Te(m.hostname);
|
|
46
46
|
} catch {
|
|
47
47
|
return !0;
|
|
48
48
|
}
|
|
49
|
-
},
|
|
50
|
-
const
|
|
51
|
-
|
|
49
|
+
}, ze = (e, { onBlocked: s, onClosed: u }) => {
|
|
50
|
+
const m = window.open(
|
|
51
|
+
e.authUrl,
|
|
52
52
|
"mm-embed-auth",
|
|
53
53
|
"popup,width=600,height=700"
|
|
54
54
|
);
|
|
55
|
-
if (!
|
|
55
|
+
if (!m)
|
|
56
56
|
return s(), () => {
|
|
57
57
|
};
|
|
58
58
|
const R = setInterval(() => {
|
|
59
|
-
|
|
59
|
+
m.closed && (clearInterval(R), u());
|
|
60
60
|
}, 1e3);
|
|
61
61
|
return () => clearInterval(R);
|
|
62
|
-
},
|
|
63
|
-
const R =
|
|
64
|
-
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
const
|
|
68
|
-
|
|
69
|
-
const
|
|
70
|
-
!
|
|
71
|
-
}, []),
|
|
72
|
-
const n =
|
|
62
|
+
}, Ae = ({ children: e, launcher: s, broker: u, ready: m }) => {
|
|
63
|
+
const R = ne(le), [y, A] = D({}), [q, J] = D({}), [H, L] = D({}), [U, M] = D({}), E = l(H);
|
|
64
|
+
E.current = H;
|
|
65
|
+
const j = l(y);
|
|
66
|
+
j.current = y;
|
|
67
|
+
const P = l(null), b = l({}), G = l({}), V = l(u);
|
|
68
|
+
V.current = u;
|
|
69
|
+
const C = l({}), Z = l({}), N = h((r, n, t) => {
|
|
70
|
+
!r || !n || (C.current[r] || (C.current[r] = /* @__PURE__ */ new Set()), t ? C.current[r].add(n) : C.current[r].delete(n));
|
|
71
|
+
}, []), S = h((r) => {
|
|
72
|
+
const n = b.current[r];
|
|
73
73
|
if (!n)
|
|
74
74
|
return;
|
|
75
|
-
const
|
|
76
|
-
|
|
77
|
-
}, []), i =
|
|
78
|
-
(
|
|
79
|
-
|
|
80
|
-
...
|
|
81
|
-
[
|
|
82
|
-
origin:
|
|
75
|
+
const t = (o) => !o[r] || o[r].clientId ? o : { ...o, [r]: { ...o[r], clientId: n } };
|
|
76
|
+
A(t), M(t);
|
|
77
|
+
}, []), i = h(
|
|
78
|
+
(r, n) => {
|
|
79
|
+
r && (M((t) => t[r] ? t : {
|
|
80
|
+
...t,
|
|
81
|
+
[r]: {
|
|
82
|
+
origin: r,
|
|
83
83
|
reason: n,
|
|
84
|
-
clientId:
|
|
84
|
+
clientId: b.current[r] || null
|
|
85
85
|
}
|
|
86
|
-
}),
|
|
86
|
+
}), S(r));
|
|
87
87
|
},
|
|
88
|
-
[
|
|
89
|
-
), a =
|
|
90
|
-
(
|
|
91
|
-
var
|
|
92
|
-
if (
|
|
93
|
-
if (n &&
|
|
94
|
-
if (!((
|
|
88
|
+
[S]
|
|
89
|
+
), a = h(
|
|
90
|
+
(r, { v2: n = !1, origin: t = null } = {}) => {
|
|
91
|
+
var o;
|
|
92
|
+
if (t) {
|
|
93
|
+
if (n && E.current[t]) {
|
|
94
|
+
if (!((o = C.current[t]) != null && o.has(r.instanceId)))
|
|
95
95
|
return;
|
|
96
|
-
const
|
|
97
|
-
if (
|
|
96
|
+
const p = Date.now();
|
|
97
|
+
if (p - (Z.current[t] || 0) < Oe)
|
|
98
98
|
return;
|
|
99
|
-
|
|
100
|
-
const
|
|
101
|
-
delete
|
|
99
|
+
Z.current[t] = p, C.current[t].clear();
|
|
100
|
+
const I = { ...E.current };
|
|
101
|
+
delete I[t], E.current = I, L(I);
|
|
102
102
|
}
|
|
103
|
-
|
|
104
|
-
...
|
|
105
|
-
[
|
|
106
|
-
origin:
|
|
107
|
-
authUrl:
|
|
108
|
-
status: n &&
|
|
103
|
+
A((p) => p[t] ? p : {
|
|
104
|
+
...p,
|
|
105
|
+
[t]: {
|
|
106
|
+
origin: t,
|
|
107
|
+
authUrl: r.authUrl,
|
|
108
|
+
status: n && V.current ? "broker" : "interactive",
|
|
109
109
|
v2: n,
|
|
110
|
-
scope:
|
|
111
|
-
acceptsCredentials:
|
|
110
|
+
scope: r.scope || null,
|
|
111
|
+
acceptsCredentials: G.current[t] || null,
|
|
112
112
|
consent: null,
|
|
113
113
|
error: null,
|
|
114
|
-
clientId:
|
|
114
|
+
clientId: r.clientId || b.current[t] || null,
|
|
115
115
|
popupBlocked: !1
|
|
116
116
|
}
|
|
117
|
-
}),
|
|
117
|
+
}), S(t);
|
|
118
118
|
}
|
|
119
119
|
},
|
|
120
|
-
[
|
|
121
|
-
),
|
|
122
|
-
|
|
123
|
-
}, []),
|
|
124
|
-
(
|
|
125
|
-
|
|
126
|
-
if (!n[
|
|
120
|
+
[S]
|
|
121
|
+
), c = l({}), f = h((r) => {
|
|
122
|
+
c.current[r] && (clearTimeout(c.current[r]), delete c.current[r]);
|
|
123
|
+
}, []), d = h(
|
|
124
|
+
(r) => {
|
|
125
|
+
f(r), A((n) => {
|
|
126
|
+
if (!n[r])
|
|
127
127
|
return n;
|
|
128
|
-
const
|
|
129
|
-
return delete r
|
|
128
|
+
const t = { ...n };
|
|
129
|
+
return delete t[r], t;
|
|
130
130
|
});
|
|
131
131
|
},
|
|
132
|
-
[
|
|
133
|
-
),
|
|
134
|
-
(
|
|
135
|
-
|
|
132
|
+
[f]
|
|
133
|
+
), T = h(
|
|
134
|
+
(r) => {
|
|
135
|
+
r && (d(r), J((n) => ({
|
|
136
136
|
...n,
|
|
137
|
-
[
|
|
137
|
+
[r]: (n[r] || 0) + 1
|
|
138
138
|
})));
|
|
139
139
|
},
|
|
140
|
-
[
|
|
141
|
-
),
|
|
142
|
-
(
|
|
143
|
-
|
|
140
|
+
[d]
|
|
141
|
+
), B = h(
|
|
142
|
+
(r) => {
|
|
143
|
+
d(r.origin);
|
|
144
144
|
},
|
|
145
|
-
[
|
|
146
|
-
),
|
|
147
|
-
(
|
|
148
|
-
const
|
|
149
|
-
if (
|
|
150
|
-
if (
|
|
151
|
-
i(
|
|
145
|
+
[d]
|
|
146
|
+
), x = h(
|
|
147
|
+
(r, n) => {
|
|
148
|
+
const t = we(r, n);
|
|
149
|
+
if (t) {
|
|
150
|
+
if (ke(t, window.location.origin)) {
|
|
151
|
+
i(t, "cross-site-legacy");
|
|
152
152
|
return;
|
|
153
153
|
}
|
|
154
|
-
a(
|
|
154
|
+
a(r, { origin: t });
|
|
155
155
|
}
|
|
156
156
|
},
|
|
157
157
|
[a, i]
|
|
158
158
|
);
|
|
159
|
-
|
|
159
|
+
g(() => {
|
|
160
160
|
if (!R)
|
|
161
161
|
return;
|
|
162
|
-
const
|
|
163
|
-
R.addListener("*", "init", (n,
|
|
164
|
-
|
|
162
|
+
const r = [
|
|
163
|
+
R.addListener("*", "init", (n, t) => {
|
|
164
|
+
t != null && t.origin && (n != null && n.clientId) && (b.current[t.origin] = n.clientId, S(t.origin)), t != null && t.origin && Array.isArray(n == null ? void 0 : n.acceptsCredentials) ? G.current[t.origin] = n.acceptsCredentials : t != null && t.origin && ke(t.origin, window.location.origin) && i(t.origin, "cross-site-legacy");
|
|
165
165
|
}),
|
|
166
|
-
R.addListener("*", "authorize",
|
|
167
|
-
R.addListener("*", "login",
|
|
166
|
+
R.addListener("*", "authorize", x),
|
|
167
|
+
R.addListener("*", "login", x),
|
|
168
168
|
R.addListener(
|
|
169
169
|
"*",
|
|
170
170
|
"credential-request",
|
|
171
|
-
(n,
|
|
171
|
+
(n, t) => a(n, { v2: !0, origin: we(n, t) })
|
|
172
172
|
)
|
|
173
173
|
];
|
|
174
|
-
return () =>
|
|
175
|
-
}, [R,
|
|
176
|
-
const
|
|
177
|
-
const
|
|
178
|
-
if (!
|
|
174
|
+
return () => r.forEach((n) => n());
|
|
175
|
+
}, [R, x, a, S, i]), g(() => {
|
|
176
|
+
const r = (n) => {
|
|
177
|
+
const t = n == null ? void 0 : n.data;
|
|
178
|
+
if (!t || t.type !== "authorized")
|
|
179
179
|
return;
|
|
180
|
-
const
|
|
181
|
-
if (!
|
|
180
|
+
const o = oe(t.authUrl);
|
|
181
|
+
if (!o || n.origin !== o)
|
|
182
182
|
return;
|
|
183
|
-
const
|
|
184
|
-
if (!(!
|
|
185
|
-
if (
|
|
186
|
-
|
|
187
|
-
...
|
|
188
|
-
[
|
|
189
|
-
})),
|
|
183
|
+
const p = j.current[o];
|
|
184
|
+
if (!(!p || p.status !== "interactive")) {
|
|
185
|
+
if (t.accessToken) {
|
|
186
|
+
L((I) => ({
|
|
187
|
+
...I,
|
|
188
|
+
[o]: Ee({ accessToken: t.accessToken })
|
|
189
|
+
})), d(o);
|
|
190
190
|
return;
|
|
191
191
|
}
|
|
192
|
-
|
|
192
|
+
T(o);
|
|
193
193
|
}
|
|
194
194
|
};
|
|
195
|
-
return window.addEventListener("message",
|
|
196
|
-
}, [
|
|
197
|
-
const
|
|
198
|
-
(
|
|
199
|
-
const
|
|
200
|
-
!
|
|
195
|
+
return window.addEventListener("message", r), () => window.removeEventListener("message", r);
|
|
196
|
+
}, [d, T]);
|
|
197
|
+
const O = h(
|
|
198
|
+
(r, n) => {
|
|
199
|
+
const t = r == null ? void 0 : r.origin, o = Ee(n);
|
|
200
|
+
!t || !o || (L((p) => ({ ...p, [t]: o })), d(t));
|
|
201
201
|
},
|
|
202
|
-
[
|
|
203
|
-
),
|
|
204
|
-
|
|
205
|
-
}, []),
|
|
206
|
-
async (
|
|
207
|
-
const
|
|
208
|
-
let
|
|
202
|
+
[d]
|
|
203
|
+
), k = h((r, n) => {
|
|
204
|
+
A((t) => t[r] ? { ...t, [r]: { ...t[r], ...n } } : t);
|
|
205
|
+
}, []), v = l({}), $ = h(
|
|
206
|
+
async (r, { approve: n } = {}) => {
|
|
207
|
+
const t = V.current, { origin: o } = r;
|
|
208
|
+
let p;
|
|
209
209
|
try {
|
|
210
|
-
|
|
210
|
+
p = await t(
|
|
211
211
|
{
|
|
212
|
-
origin:
|
|
213
|
-
clientId:
|
|
214
|
-
scope:
|
|
215
|
-
authUrl:
|
|
212
|
+
origin: o,
|
|
213
|
+
clientId: r.clientId,
|
|
214
|
+
scope: r.scope,
|
|
215
|
+
authUrl: r.authUrl
|
|
216
216
|
},
|
|
217
217
|
{ approve: n }
|
|
218
218
|
);
|
|
219
219
|
} catch {
|
|
220
|
-
n ?
|
|
220
|
+
n ? k(o, { error: { reason: "broker_unavailable" } }) : k(o, { status: "interactive" });
|
|
221
221
|
return;
|
|
222
222
|
}
|
|
223
|
-
const
|
|
224
|
-
if (
|
|
225
|
-
|
|
223
|
+
const I = p == null ? void 0 : p.status, z = (p == null ? void 0 : p.body) || {};
|
|
224
|
+
if (I === 200 && z.credential) {
|
|
225
|
+
O(r, z.credential);
|
|
226
226
|
return;
|
|
227
227
|
}
|
|
228
|
-
if (
|
|
229
|
-
|
|
228
|
+
if (I === 409 && z.consentRequired) {
|
|
229
|
+
k(o, {
|
|
230
230
|
status: "interactive",
|
|
231
231
|
consent: {
|
|
232
|
-
client:
|
|
233
|
-
stepUp: !!
|
|
234
|
-
scope:
|
|
232
|
+
client: z.client || null,
|
|
233
|
+
stepUp: !!z.stepUp,
|
|
234
|
+
scope: z.scope || r.scope
|
|
235
235
|
},
|
|
236
236
|
error: null
|
|
237
237
|
});
|
|
238
238
|
return;
|
|
239
239
|
}
|
|
240
|
-
const
|
|
241
|
-
if (!n &&
|
|
242
|
-
|
|
240
|
+
const K = z.error || "broker_error";
|
|
241
|
+
if (!n && $e.has(K)) {
|
|
242
|
+
k(o, { status: "interactive" });
|
|
243
243
|
return;
|
|
244
244
|
}
|
|
245
|
-
if (n &&
|
|
246
|
-
|
|
245
|
+
if (n && K === "consent_denied") {
|
|
246
|
+
k(o, { error: null });
|
|
247
247
|
return;
|
|
248
248
|
}
|
|
249
|
-
if (
|
|
250
|
-
const
|
|
251
|
-
Number(
|
|
252
|
-
|
|
253
|
-
),
|
|
254
|
-
|
|
255
|
-
delete
|
|
256
|
-
delete
|
|
249
|
+
if (K === "rate_limited" && !r.rateLimitRetried) {
|
|
250
|
+
const X = Math.min(
|
|
251
|
+
Number(z.retryAfter) > 0 ? Number(z.retryAfter) : Se,
|
|
252
|
+
xe
|
|
253
|
+
), te = { ...r, rateLimitRetried: !0 };
|
|
254
|
+
f(o), c.current[o] = setTimeout(() => {
|
|
255
|
+
delete c.current[o], v.current[o] = !0, ee.current(te, { approve: n }).finally(() => {
|
|
256
|
+
delete v.current[o];
|
|
257
257
|
});
|
|
258
|
-
},
|
|
258
|
+
}, X * 1e3), k(o, { rateLimitRetried: !0 });
|
|
259
259
|
return;
|
|
260
260
|
}
|
|
261
|
-
|
|
262
|
-
...
|
|
263
|
-
[
|
|
264
|
-
origin:
|
|
265
|
-
reason: `broker:${
|
|
266
|
-
detail: { status:
|
|
267
|
-
clientId:
|
|
261
|
+
d(o), M((X) => ({
|
|
262
|
+
...X,
|
|
263
|
+
[o]: {
|
|
264
|
+
origin: o,
|
|
265
|
+
reason: `broker:${K}`,
|
|
266
|
+
detail: { status: I != null ? I : null, reason: K },
|
|
267
|
+
clientId: r.clientId || b.current[o] || null
|
|
268
268
|
}
|
|
269
269
|
}));
|
|
270
270
|
},
|
|
271
|
-
[
|
|
272
|
-
),
|
|
273
|
-
|
|
274
|
-
Object.values(
|
|
275
|
-
|
|
276
|
-
delete
|
|
271
|
+
[O, k, d, f]
|
|
272
|
+
), ee = l($);
|
|
273
|
+
ee.current = $, g(() => {
|
|
274
|
+
Object.values(y).forEach((r) => {
|
|
275
|
+
r.status !== "broker" || v.current[r.origin] || c.current[r.origin] || (v.current[r.origin] = !0, $(r).finally(() => {
|
|
276
|
+
delete v.current[r.origin];
|
|
277
277
|
}));
|
|
278
278
|
});
|
|
279
|
-
}, [
|
|
280
|
-
const
|
|
281
|
-
(
|
|
282
|
-
delete
|
|
279
|
+
}, [y, $]);
|
|
280
|
+
const W = h(
|
|
281
|
+
(r) => !V.current || !(r != null && r.consent) || v.current[r.origin] ? Promise.resolve() : (v.current[r.origin] = !0, $(r, { approve: !0 }).finally(() => {
|
|
282
|
+
delete v.current[r.origin];
|
|
283
283
|
})),
|
|
284
|
-
[
|
|
284
|
+
[$]
|
|
285
285
|
);
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
}, []),
|
|
289
|
-
|
|
290
|
-
}, [
|
|
291
|
-
const
|
|
292
|
-
(
|
|
293
|
-
|
|
294
|
-
const n = s ||
|
|
295
|
-
|
|
286
|
+
g(() => () => {
|
|
287
|
+
P.current && P.current(), Object.values(c.current).forEach(clearTimeout);
|
|
288
|
+
}, []), g(() => {
|
|
289
|
+
m === !1 && (Object.values(c.current).forEach(clearTimeout), c.current = {}, v.current = {}, b.current = {}, G.current = {}, C.current = {}, Z.current = {}, E.current = {}, L({}), A({}), M({}));
|
|
290
|
+
}, [m]);
|
|
291
|
+
const Q = h(
|
|
292
|
+
(r) => {
|
|
293
|
+
P.current && (P.current(), P.current = null);
|
|
294
|
+
const n = s || ze;
|
|
295
|
+
P.current = n(r, {
|
|
296
296
|
onBlocked: () => {
|
|
297
|
-
|
|
298
|
-
...
|
|
299
|
-
[
|
|
300
|
-
} :
|
|
297
|
+
A((t) => t[r.origin] ? {
|
|
298
|
+
...t,
|
|
299
|
+
[r.origin]: { ...t[r.origin], popupBlocked: !0 }
|
|
300
|
+
} : t);
|
|
301
301
|
},
|
|
302
302
|
// A completed login already removed the entry. A v2 entry stays pending so the prompt remains;
|
|
303
303
|
// a legacy guest is remounted because it only learns of a login by reloading.
|
|
304
304
|
onClosed: () => {
|
|
305
|
-
const
|
|
306
|
-
!
|
|
305
|
+
const t = j.current[r.origin];
|
|
306
|
+
!t || t.v2 || T(r.origin);
|
|
307
307
|
}
|
|
308
308
|
});
|
|
309
309
|
},
|
|
310
|
-
[s,
|
|
311
|
-
),
|
|
312
|
-
pending: Object.values(
|
|
313
|
-
(
|
|
310
|
+
[s, T]
|
|
311
|
+
), re = {
|
|
312
|
+
pending: Object.values(y).filter(
|
|
313
|
+
(r) => r.status === "interactive"
|
|
314
314
|
),
|
|
315
|
-
authorize:
|
|
316
|
-
approve:
|
|
317
|
-
complete:
|
|
318
|
-
dismiss:
|
|
319
|
-
originEpochs:
|
|
315
|
+
authorize: Q,
|
|
316
|
+
approve: W,
|
|
317
|
+
complete: O,
|
|
318
|
+
dismiss: B,
|
|
319
|
+
originEpochs: q,
|
|
320
320
|
credentials: H,
|
|
321
|
-
unsupported:
|
|
322
|
-
setDelivered:
|
|
321
|
+
unsupported: U,
|
|
322
|
+
setDelivered: N
|
|
323
323
|
};
|
|
324
|
-
return /* @__PURE__ */
|
|
324
|
+
return /* @__PURE__ */ F.createElement(ue.Provider, { value: re }, e);
|
|
325
325
|
};
|
|
326
|
-
|
|
327
|
-
children:
|
|
328
|
-
launcher:
|
|
329
|
-
ready:
|
|
326
|
+
Ae.propTypes = {
|
|
327
|
+
children: w.node,
|
|
328
|
+
launcher: w.func,
|
|
329
|
+
ready: w.bool,
|
|
330
330
|
/**
|
|
331
331
|
* `async (request, { approve }) => result` where request =
|
|
332
332
|
* `{ origin, clientId, scope, authUrl }` (origin is the zone-attested frame origin) and result
|
|
@@ -335,181 +335,181 @@ pe.propTypes = {
|
|
|
335
335
|
* on 200, `{ consentRequired: true, client: { name, hostname }, stepUp }` on 409, `{ error,
|
|
336
336
|
* … }` otherwise. Provided only by hosts that are themselves first-party clients.
|
|
337
337
|
*/
|
|
338
|
-
broker:
|
|
338
|
+
broker: w.func
|
|
339
339
|
};
|
|
340
|
-
const
|
|
341
|
-
const { originEpochs: s } =
|
|
340
|
+
const De = () => ne(ue), Fe = (e) => {
|
|
341
|
+
const { originEpochs: s } = ne(ue), u = oe(e);
|
|
342
342
|
return u && s[u] || 0;
|
|
343
|
-
},
|
|
344
|
-
const { credentials: s } =
|
|
343
|
+
}, Pe = (e) => {
|
|
344
|
+
const { credentials: s } = ne(ue), u = oe(e);
|
|
345
345
|
return u && s[u] || null;
|
|
346
|
-
},
|
|
347
|
-
const { unsupported: s } =
|
|
346
|
+
}, Be = (e) => {
|
|
347
|
+
const { unsupported: s } = ne(ue), u = oe(e);
|
|
348
348
|
return u && s[u] || null;
|
|
349
|
-
},
|
|
350
|
-
children:
|
|
349
|
+
}, Ie = "MMEmbeddableZoneProvider requires a boolean `ready` prop (true once the host holds the bearer its credentialBroker needs). Embedded apps will not load until it is provided.", We = ({
|
|
350
|
+
children: e,
|
|
351
351
|
authorizationLauncher: s,
|
|
352
352
|
credentialBroker: u,
|
|
353
|
-
ready:
|
|
353
|
+
ready: m
|
|
354
354
|
}) => {
|
|
355
|
-
const R =
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
}, [
|
|
359
|
-
const [
|
|
360
|
-
var
|
|
361
|
-
return !!((
|
|
362
|
-
}, []),
|
|
363
|
-
|
|
364
|
-
}, []),
|
|
365
|
-
|
|
366
|
-
const
|
|
367
|
-
return delete
|
|
355
|
+
const R = m === !0, y = l(!1);
|
|
356
|
+
g(() => {
|
|
357
|
+
m !== void 0 || y.current || (y.current = !0, console.error(Ie), typeof window != "undefined" && typeof window.alert == "function" && window.alert(Ie));
|
|
358
|
+
}, [m]);
|
|
359
|
+
const [A, q] = D({}), [J, H] = D({}), L = l({}), U = l({}), M = l({}), E = h((i, a) => {
|
|
360
|
+
var c;
|
|
361
|
+
return !!((c = M.current[i]) != null && c.has(a));
|
|
362
|
+
}, []), j = h((i, a, c) => {
|
|
363
|
+
q((f) => ({ ...f, [i]: { origin: a, frameRef: c } }));
|
|
364
|
+
}, []), P = h((i) => {
|
|
365
|
+
q((a) => {
|
|
366
|
+
const c = { ...a };
|
|
367
|
+
return delete c[i], c;
|
|
368
368
|
}), H((a) => {
|
|
369
|
-
const
|
|
370
|
-
return delete
|
|
371
|
-
}), delete
|
|
372
|
-
|
|
369
|
+
const c = { ...a };
|
|
370
|
+
return delete c[i], c;
|
|
371
|
+
}), delete M.current[i], Object.keys(U.current).forEach((a) => {
|
|
372
|
+
U.current[a].instanceId === i && delete U.current[a];
|
|
373
373
|
});
|
|
374
374
|
}, []);
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
}, []),
|
|
378
|
-
const i = (
|
|
379
|
-
|
|
380
|
-
}, a = (
|
|
381
|
-
var
|
|
382
|
-
if (!((
|
|
375
|
+
g(() => () => {
|
|
376
|
+
U.current = {};
|
|
377
|
+
}, []), g(() => {
|
|
378
|
+
const i = (c = [], f, d) => {
|
|
379
|
+
c.forEach((T) => T(f, d));
|
|
380
|
+
}, a = (c) => {
|
|
381
|
+
var k, v, $, ee, W, Q, re;
|
|
382
|
+
if (!((k = c == null ? void 0 : c.data) != null && k.instanceId))
|
|
383
383
|
return;
|
|
384
|
-
const { instanceId:
|
|
385
|
-
if (
|
|
384
|
+
const { instanceId: f, type: d } = c.data, T = A[f], B = ($ = (v = T == null ? void 0 : T.frameRef) == null ? void 0 : v.current) == null ? void 0 : $.contentWindow;
|
|
385
|
+
if (!B || c.source !== B || c.origin !== T.origin)
|
|
386
386
|
return;
|
|
387
|
-
const
|
|
388
|
-
if (
|
|
389
|
-
const { callbackId:
|
|
390
|
-
|
|
387
|
+
const x = { origin: c.origin }, O = L.current;
|
|
388
|
+
if (d === "response") {
|
|
389
|
+
const { callbackId: r, response: n, error: t } = c.data, o = U.current[r];
|
|
390
|
+
o && o.instanceId === f && (o.callback(n, t), delete U.current[r]);
|
|
391
391
|
return;
|
|
392
392
|
}
|
|
393
|
-
if (
|
|
394
|
-
const { requestType:
|
|
395
|
-
|
|
393
|
+
if (d === "mark-registered") {
|
|
394
|
+
const { requestType: r } = c.data;
|
|
395
|
+
M.current[f] || (M.current[f] = /* @__PURE__ */ new Set()), M.current[f].add(r);
|
|
396
396
|
return;
|
|
397
397
|
}
|
|
398
|
-
|
|
398
|
+
d === "ready" && H((r) => ({ ...r, [f]: !0 })), i((ee = O[f]) == null ? void 0 : ee[d], c.data, x), i((W = O["*"]) == null ? void 0 : W[d], c.data, x), i((Q = O[f]) == null ? void 0 : Q["*"], c.data, x), i((re = O["*"]) == null ? void 0 : re["*"], c.data, x);
|
|
399
399
|
};
|
|
400
400
|
return window.addEventListener("message", a), () => {
|
|
401
401
|
window.removeEventListener("message", a);
|
|
402
402
|
};
|
|
403
|
-
}, [
|
|
404
|
-
const
|
|
405
|
-
(i, a,
|
|
406
|
-
var
|
|
407
|
-
const
|
|
408
|
-
if (!
|
|
403
|
+
}, [A]);
|
|
404
|
+
const b = h(
|
|
405
|
+
(i, a, c, f) => {
|
|
406
|
+
var T, B;
|
|
407
|
+
const d = A[i];
|
|
408
|
+
if (!d) {
|
|
409
409
|
console.warn(`Origin not set for id: ${i}. Unable to send message.`);
|
|
410
410
|
return;
|
|
411
411
|
}
|
|
412
|
-
(
|
|
413
|
-
{ type: a, ...
|
|
414
|
-
|
|
412
|
+
(B = (T = d == null ? void 0 : d.frameRef) == null ? void 0 : T.current) != null && B.contentWindow && d.frameRef.current.contentWindow.postMessage(
|
|
413
|
+
{ type: a, ...c, instanceId: i },
|
|
414
|
+
f || d.origin
|
|
415
415
|
);
|
|
416
416
|
},
|
|
417
|
-
[
|
|
418
|
-
),
|
|
419
|
-
async (i, a,
|
|
420
|
-
const
|
|
421
|
-
delete
|
|
417
|
+
[A]
|
|
418
|
+
), G = l(0), V = h(() => `${Date.now()}-${++G.current}`, []), C = h(
|
|
419
|
+
async (i, a, c = {}) => new Promise((f, d) => {
|
|
420
|
+
const T = V(), B = (x, O) => {
|
|
421
|
+
delete U.current[T], O ? d(O) : f(x);
|
|
422
422
|
};
|
|
423
|
-
|
|
423
|
+
U.current[T] = { instanceId: i, callback: B }, b(i, "request", { callbackId: T, requestType: a, data: c });
|
|
424
424
|
}),
|
|
425
|
-
[
|
|
426
|
-
),
|
|
425
|
+
[b]
|
|
426
|
+
), Z = h(
|
|
427
427
|
(i, a) => {
|
|
428
|
-
|
|
428
|
+
b(i, "load-options", a);
|
|
429
429
|
},
|
|
430
|
-
[
|
|
431
|
-
),
|
|
430
|
+
[b]
|
|
431
|
+
), N = h(
|
|
432
432
|
(i, a) => {
|
|
433
|
-
|
|
433
|
+
b(i, "validate", a);
|
|
434
434
|
},
|
|
435
|
-
[
|
|
436
|
-
),
|
|
435
|
+
[b]
|
|
436
|
+
), S = Ce(
|
|
437
437
|
() => ({
|
|
438
|
-
registerFrame:
|
|
439
|
-
unregisterFrame:
|
|
440
|
-
sendMessage:
|
|
441
|
-
sendRequest:
|
|
442
|
-
loadOptions:
|
|
443
|
-
validate:
|
|
444
|
-
hasHandler:
|
|
445
|
-
readyFrames:
|
|
438
|
+
registerFrame: j,
|
|
439
|
+
unregisterFrame: P,
|
|
440
|
+
sendMessage: b,
|
|
441
|
+
sendRequest: C,
|
|
442
|
+
loadOptions: Z,
|
|
443
|
+
validate: N,
|
|
444
|
+
hasHandler: E,
|
|
445
|
+
readyFrames: J,
|
|
446
446
|
ready: R,
|
|
447
|
-
addListener: (i, a,
|
|
448
|
-
|
|
447
|
+
addListener: (i, a, c) => (L.current[i] || (L.current[i] = {}), L.current[i][a] || (L.current[i][a] = []), L.current[i][a].push(c), () => {
|
|
448
|
+
L.current[i][a] = L.current[i][a].filter((f) => f !== c);
|
|
449
449
|
})
|
|
450
450
|
}),
|
|
451
451
|
[
|
|
452
|
-
|
|
453
|
-
O,
|
|
454
|
-
M,
|
|
455
|
-
U,
|
|
456
|
-
D,
|
|
452
|
+
j,
|
|
457
453
|
P,
|
|
458
|
-
|
|
459
|
-
|
|
454
|
+
b,
|
|
455
|
+
C,
|
|
456
|
+
Z,
|
|
457
|
+
N,
|
|
458
|
+
E,
|
|
459
|
+
J,
|
|
460
460
|
R
|
|
461
461
|
]
|
|
462
462
|
);
|
|
463
|
-
return /* @__PURE__ */
|
|
464
|
-
|
|
463
|
+
return /* @__PURE__ */ F.createElement(le.Provider, { value: S }, /* @__PURE__ */ F.createElement(
|
|
464
|
+
Ae,
|
|
465
465
|
{
|
|
466
466
|
launcher: s,
|
|
467
467
|
broker: u,
|
|
468
468
|
ready: R
|
|
469
469
|
},
|
|
470
|
-
|
|
470
|
+
e
|
|
471
471
|
));
|
|
472
|
-
},
|
|
473
|
-
const
|
|
474
|
-
if (
|
|
472
|
+
}, se = (e, s, u) => {
|
|
473
|
+
const m = ne(le);
|
|
474
|
+
if (m === null)
|
|
475
475
|
throw new Error(
|
|
476
476
|
"useEmbeddedEffect must be used within a MMEmbeddableZoneProvider"
|
|
477
477
|
);
|
|
478
|
-
const R =
|
|
479
|
-
|
|
478
|
+
const R = l(u);
|
|
479
|
+
g(() => {
|
|
480
480
|
R.current = u;
|
|
481
|
-
}, [u]),
|
|
482
|
-
if (!(!
|
|
481
|
+
}, [u]), g(() => {
|
|
482
|
+
if (!(!e || !s)) {
|
|
483
483
|
if (s.startsWith("key:")) {
|
|
484
|
-
const
|
|
485
|
-
return
|
|
486
|
-
|
|
487
|
-
`key-pressed:${
|
|
488
|
-
(...
|
|
484
|
+
const y = s.substring(4);
|
|
485
|
+
return m.readyFrames[e] && m.sendMessage(e, "subscribe-key", { keyChord: y }), m.addListener(
|
|
486
|
+
e,
|
|
487
|
+
`key-pressed:${y}`,
|
|
488
|
+
(...q) => R.current(...q)
|
|
489
489
|
);
|
|
490
490
|
}
|
|
491
|
-
return
|
|
492
|
-
|
|
491
|
+
return m.addListener(
|
|
492
|
+
e,
|
|
493
493
|
s,
|
|
494
|
-
(...
|
|
494
|
+
(...y) => R.current(...y)
|
|
495
495
|
);
|
|
496
496
|
}
|
|
497
|
-
}, [
|
|
497
|
+
}, [m, e, s]);
|
|
498
498
|
};
|
|
499
|
-
|
|
500
|
-
children:
|
|
499
|
+
We.propTypes = {
|
|
500
|
+
children: w.node.isRequired,
|
|
501
501
|
/**
|
|
502
502
|
* Required. True once the host holds its bearer; zones mount no iframe until then. Missing =
|
|
503
503
|
* not ready, plus a one-time alert.
|
|
504
504
|
*/
|
|
505
|
-
ready:
|
|
505
|
+
ready: w.bool.isRequired,
|
|
506
506
|
/**
|
|
507
507
|
* Optional interactive-step launcher for embedded authorizations,
|
|
508
508
|
* `(entry, { onBlocked, onClosed }) => cleanup`. Defaults to a top-level
|
|
509
509
|
* popup. Hosts that cannot open windows (Android WebView shells) drive
|
|
510
510
|
* their own UI from useEmbeddedAuthorizations() instead.
|
|
511
511
|
*/
|
|
512
|
-
authorizationLauncher:
|
|
512
|
+
authorizationLauncher: w.func,
|
|
513
513
|
/**
|
|
514
514
|
* Optional credential broker for hosts that are first-party MachineMetrics clients
|
|
515
515
|
* (`async (request, { approve }) => result`, see EmbeddedAuthorizationManager). When present,
|
|
@@ -517,16 +517,36 @@ Ce.propTypes = {
|
|
|
517
517
|
* from the broker's `client` identity; a broker answer the host may not act on falls back to the
|
|
518
518
|
* interactive entry and its popup.
|
|
519
519
|
*/
|
|
520
|
-
credentialBroker:
|
|
520
|
+
credentialBroker: w.func
|
|
521
521
|
};
|
|
522
|
-
const
|
|
522
|
+
const he = Re.default || Re, qe = 1e4, je = 6e3, _e = 15e3, He = 2e3, Ze = 3e3, Le = () => typeof document != "undefined" && document.visibilityState === "hidden", ce = (e, s, u) => {
|
|
523
|
+
if (e.current && clearTimeout(e.current.handle), Le()) {
|
|
524
|
+
e.current = { ms: s, fn: u, suspended: !0 };
|
|
525
|
+
return;
|
|
526
|
+
}
|
|
527
|
+
const m = Date.now(), R = setTimeout(() => {
|
|
528
|
+
if (Date.now() - m - s > Ze) {
|
|
529
|
+
ce(e, s, u);
|
|
530
|
+
return;
|
|
531
|
+
}
|
|
532
|
+
e.current = void 0, u();
|
|
533
|
+
}, s);
|
|
534
|
+
e.current = { handle: R, ms: s, fn: u };
|
|
535
|
+
}, Y = (e) => {
|
|
536
|
+
e.current && clearTimeout(e.current.handle), e.current = void 0;
|
|
537
|
+
}, fe = (e) => {
|
|
538
|
+
e.current && !e.current.suspended && (clearTimeout(e.current.handle), e.current = { ms: e.current.ms, fn: e.current.fn, suspended: !0 });
|
|
539
|
+
}, pe = (e) => {
|
|
540
|
+
e.current && e.current.suspended && ce(e, e.current.ms, e.current.fn);
|
|
541
|
+
}, Ke = "credentials", Ye = (e, s) => `${e}/mm-embedded-interop?id=${encodeURIComponent(s)}&origin=${encodeURIComponent(
|
|
523
542
|
window.location.origin
|
|
524
|
-
)}&caps=${
|
|
543
|
+
)}&caps=${Ke}`, Ge = he.iframe`
|
|
525
544
|
width: 100%;
|
|
526
545
|
height: 100%;
|
|
527
546
|
border: none;
|
|
528
|
-
visibility: ${(
|
|
529
|
-
|
|
547
|
+
visibility: ${(e) => e.$isReady ? "visible" : "hidden"};
|
|
548
|
+
${(e) => e.$collapsed ? "position: absolute; width: 1px; height: 1px; overflow: hidden;" : ""}
|
|
549
|
+
`, Ve = he.div`
|
|
530
550
|
width: 100%;
|
|
531
551
|
height: 100%;
|
|
532
552
|
display: flex;
|
|
@@ -539,8 +559,8 @@ const oe = ce.default || ce, Le = 1e4, Ae = 2e3, Ue = "credentials", ve = (t, s)
|
|
|
539
559
|
text-align: center;
|
|
540
560
|
color: #555;
|
|
541
561
|
font-size: 14px;
|
|
542
|
-
`,
|
|
543
|
-
const s =
|
|
562
|
+
`, Qe = (e) => {
|
|
563
|
+
const s = e && e.origin || "This app", u = e && e.reason || "";
|
|
544
564
|
switch (u) {
|
|
545
565
|
case "broker:scope_above_ceiling":
|
|
546
566
|
return {
|
|
@@ -567,176 +587,208 @@ const oe = ce.default || ce, Le = 1e4, Ae = 2e3, Ue = "credentials", ve = (t, s)
|
|
|
567
587
|
detail: "It needs an update to support embedding from a different domain."
|
|
568
588
|
};
|
|
569
589
|
}
|
|
570
|
-
},
|
|
571
|
-
const s =
|
|
572
|
-
return /* @__PURE__ */
|
|
590
|
+
}, Me = ({ entry: e }) => {
|
|
591
|
+
const s = Qe(e);
|
|
592
|
+
return /* @__PURE__ */ F.createElement(Ve, { "data-reason": e && e.reason || void 0 }, /* @__PURE__ */ F.createElement("div", { style: { fontWeight: 600 } }, s.title), /* @__PURE__ */ F.createElement("div", { style: { fontSize: 12, color: "#888" } }, s.detail));
|
|
573
593
|
};
|
|
574
|
-
|
|
575
|
-
entry:
|
|
576
|
-
origin:
|
|
577
|
-
name:
|
|
578
|
-
reason:
|
|
579
|
-
detail:
|
|
594
|
+
Me.propTypes = {
|
|
595
|
+
entry: w.shape({
|
|
596
|
+
origin: w.string,
|
|
597
|
+
name: w.string,
|
|
598
|
+
reason: w.string,
|
|
599
|
+
detail: w.object
|
|
580
600
|
})
|
|
581
601
|
};
|
|
582
|
-
const
|
|
602
|
+
const Xe = he.div`
|
|
583
603
|
height: 100%;
|
|
584
604
|
display: flex;
|
|
585
605
|
flex: 1;
|
|
586
606
|
align-items: center;
|
|
587
607
|
justify-content: center;
|
|
588
|
-
`,
|
|
589
|
-
id:
|
|
608
|
+
`, Je = () => /* @__PURE__ */ F.createElement(Xe, null, /* @__PURE__ */ F.createElement("div", { style: { textAlign: "center" } }, "This app couldn’t be loaded as an embeddable widget.")), Ne = ({
|
|
609
|
+
id: e,
|
|
590
610
|
src: s,
|
|
591
611
|
path: u,
|
|
592
|
-
onInit:
|
|
612
|
+
onInit: m = () => {
|
|
593
613
|
},
|
|
594
614
|
onTimeout: R,
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
615
|
+
onRemount: y,
|
|
616
|
+
onStall: A,
|
|
617
|
+
context: q = {},
|
|
618
|
+
params: J = {},
|
|
619
|
+
renderUnsupported: H,
|
|
620
|
+
renderTimeout: L,
|
|
621
|
+
...U
|
|
600
622
|
}) => {
|
|
601
|
-
if ("isConfiguring" in
|
|
623
|
+
if ("isConfiguring" in U)
|
|
602
624
|
return console.error(
|
|
603
625
|
"isConfiguring must be passed via the params prop to MMEmbeddableZone"
|
|
604
626
|
), null;
|
|
605
|
-
if ("colorMode" in
|
|
627
|
+
if ("colorMode" in q)
|
|
606
628
|
return console.error(
|
|
607
629
|
"colorMode must be passed via the params prop to MMEmbeddableZone"
|
|
608
630
|
), null;
|
|
609
|
-
if ("isFullScreen" in
|
|
631
|
+
if ("isFullScreen" in q)
|
|
610
632
|
return console.error(
|
|
611
633
|
"isFullScreen must be passed via the params prop to MMEmbeddableZone"
|
|
612
634
|
), null;
|
|
613
|
-
const
|
|
614
|
-
|
|
615
|
-
), [
|
|
616
|
-
|
|
617
|
-
}, [
|
|
618
|
-
|
|
619
|
-
(
|
|
620
|
-
}, [
|
|
621
|
-
|
|
622
|
-
}, [R]),
|
|
623
|
-
|
|
624
|
-
}, [
|
|
625
|
-
|
|
626
|
-
|
|
635
|
+
const M = l(), E = oe(s), [j, P] = D(), [b, G] = D(0), [V, C] = D(!1), [Z, N] = D(!1), S = Fe(s), i = Pe(s), a = Be(s), { setDelivered: c } = De(), [f, d] = D(0), [T, B] = D(null), { registerFrame: x, unregisterFrame: O, sendMessage: k, ready: v } = ne(
|
|
636
|
+
le
|
|
637
|
+
), [$, ee] = D(), W = l(), Q = l(R), re = l(m), r = l(y), n = l(A), t = l(!1), o = l(), p = l(), I = l(), z = l(!1), K = l(!1), X = l(null), te = h(() => {
|
|
638
|
+
t.current = !1, z.current = !1, K.current = !1, X.current = null, Y(W), Y(o), Y(p), clearTimeout(I.current), G(0), C(!1), N(!1), B(null), c(E, e, !1);
|
|
639
|
+
}, [c, E, e]);
|
|
640
|
+
g(() => {
|
|
641
|
+
(S > 0 || f > 0) && te();
|
|
642
|
+
}, [S, f, te]), g(() => {
|
|
643
|
+
Q.current = R;
|
|
644
|
+
}, [R]), g(() => {
|
|
645
|
+
re.current = m;
|
|
646
|
+
}, [m]), g(() => {
|
|
647
|
+
r.current = y;
|
|
648
|
+
}, [y]), g(() => {
|
|
649
|
+
n.current = A;
|
|
650
|
+
}, [A]), g(() => {
|
|
651
|
+
const _ = () => {
|
|
652
|
+
if (Le()) {
|
|
653
|
+
fe(W), fe(o), fe(p);
|
|
654
|
+
return;
|
|
655
|
+
}
|
|
656
|
+
pe(W), pe(p), z.current && pe(o);
|
|
657
|
+
};
|
|
658
|
+
return document.addEventListener("visibilitychange", _), () => document.removeEventListener("visibilitychange", _);
|
|
659
|
+
}, []), g(() => {
|
|
660
|
+
b && k(
|
|
661
|
+
e,
|
|
627
662
|
"set-context",
|
|
628
663
|
{
|
|
629
664
|
context: {
|
|
630
|
-
...
|
|
665
|
+
...q
|
|
631
666
|
}
|
|
632
667
|
},
|
|
633
|
-
|
|
668
|
+
E
|
|
634
669
|
);
|
|
635
|
-
}, [
|
|
636
|
-
|
|
637
|
-
}, [
|
|
638
|
-
u !== void 0 &&
|
|
639
|
-
}, [u]),
|
|
640
|
-
|
|
641
|
-
}, [
|
|
642
|
-
if (!s || !
|
|
670
|
+
}, [q, e, b, E]), g(() => {
|
|
671
|
+
b && k(e, "set-params", { params: J }, E);
|
|
672
|
+
}, [J, e, b, E]), g(() => {
|
|
673
|
+
u !== void 0 && ee((u == null ? void 0 : u.indexOf("/")) === 0 ? u : `/${u}`);
|
|
674
|
+
}, [u]), g(() => {
|
|
675
|
+
$ === void 0 || !b || k(e, "navigate", { path: $ }, E);
|
|
676
|
+
}, [$, b, e, k, E]), g(() => {
|
|
677
|
+
if (!s || !e || !M)
|
|
643
678
|
return;
|
|
644
679
|
if (!v) {
|
|
645
|
-
|
|
680
|
+
te(), P(void 0);
|
|
646
681
|
return;
|
|
647
682
|
}
|
|
648
|
-
|
|
649
|
-
const
|
|
650
|
-
return
|
|
651
|
-
|
|
683
|
+
te();
|
|
684
|
+
const _ = new URL(s);
|
|
685
|
+
return x(e, _.origin, M), re.current(), P(Ye(_.origin, e)), () => {
|
|
686
|
+
O(e);
|
|
652
687
|
};
|
|
653
|
-
}, [s,
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
K(!0), G.current && G.current();
|
|
657
|
-
}, Le), () => clearTimeout(B.current);
|
|
658
|
-
}, [A, s, D, a]);
|
|
659
|
-
const c = m(() => {
|
|
660
|
-
V.current = !0, clearTimeout(B.current), K(!1);
|
|
688
|
+
}, [s, e, v, x, M, te]);
|
|
689
|
+
const ae = h(() => {
|
|
690
|
+
C(!0), Q.current && Q.current();
|
|
661
691
|
}, []);
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
692
|
+
g(() => {
|
|
693
|
+
if (!(!j || t.current))
|
|
694
|
+
return ce(W, qe, ae), () => Y(W);
|
|
695
|
+
}, [j, s, S, f, ae]);
|
|
696
|
+
const ie = h(() => {
|
|
697
|
+
t.current = !0, Y(W), C(!1);
|
|
698
|
+
}, []), me = h(() => {
|
|
699
|
+
const _ = X.current;
|
|
700
|
+
if (_ && !K.current) {
|
|
701
|
+
K.current = !0, k(e, "credential", _, E), n.current && n.current("redelivered"), ce(p, _e, me);
|
|
702
|
+
return;
|
|
703
|
+
}
|
|
704
|
+
n.current && n.current("ready"), ae();
|
|
705
|
+
}, [e, k, E, ae]);
|
|
706
|
+
se(e, "init", (_) => {
|
|
707
|
+
ie(), ce(p, _e, me), Array.isArray(_ == null ? void 0 : _.acceptsCredentials) && B(_.acceptsCredentials);
|
|
708
|
+
}), se(e, "authorize", ie), se(e, "login", ie), se(e, "credential-request", () => {
|
|
709
|
+
ie(), N(!0);
|
|
710
|
+
}), g(() => {
|
|
711
|
+
if (!Z || !i)
|
|
668
712
|
return;
|
|
669
|
-
const
|
|
670
|
-
if (Array.isArray(
|
|
713
|
+
const _ = T;
|
|
714
|
+
if (Array.isArray(_) && !_.includes(i.kind))
|
|
671
715
|
return;
|
|
672
|
-
const
|
|
673
|
-
return k(
|
|
674
|
-
|
|
675
|
-
},
|
|
716
|
+
const de = { ...i.kind === "access_token" ? { accessToken: i.accessToken } : {}, credential: i };
|
|
717
|
+
return X.current = de, k(e, "credential", de, E), c(E, e, !0), clearTimeout(I.current), I.current = setTimeout(() => {
|
|
718
|
+
I.current = void 0, k(e, "credential", de, E);
|
|
719
|
+
}, He), () => clearTimeout(I.current);
|
|
676
720
|
}, [
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
721
|
+
Z,
|
|
722
|
+
i,
|
|
723
|
+
T,
|
|
724
|
+
e,
|
|
681
725
|
k,
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
]),
|
|
685
|
-
|
|
686
|
-
})
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
},
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
return
|
|
696
|
-
const
|
|
697
|
-
return delete
|
|
698
|
-
|
|
726
|
+
E,
|
|
727
|
+
c
|
|
728
|
+
]), se(e, "ready", () => {
|
|
729
|
+
ie(), Y(p), clearTimeout(I.current), I.current = void 0, G((_) => _ + 1);
|
|
730
|
+
});
|
|
731
|
+
const ve = h(() => {
|
|
732
|
+
r.current && r.current("heartbeat"), d((_) => _ + 1);
|
|
733
|
+
}, []);
|
|
734
|
+
if (se(e, "heartbeat", () => {
|
|
735
|
+
z.current = !0, ce(o, je, ve);
|
|
736
|
+
}), g(() => () => {
|
|
737
|
+
Y(o), Y(p), Y(W), clearTimeout(I.current);
|
|
738
|
+
}, []), a)
|
|
739
|
+
return H ? H(a) : /* @__PURE__ */ F.createElement(Me, { entry: a });
|
|
740
|
+
const be = !!(V && !b), ge = { ...U };
|
|
741
|
+
return delete ge.skipManifestCheck, /* @__PURE__ */ F.createElement(F.Fragment, null, be && (L ? L() : /* @__PURE__ */ F.createElement(Je, null)), /* @__PURE__ */ F.createElement(
|
|
742
|
+
Ge,
|
|
699
743
|
{
|
|
700
|
-
key: `auth-epoch-${
|
|
701
|
-
$isReady:
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
744
|
+
key: `auth-epoch-${S}-frame-${f}`,
|
|
745
|
+
$isReady: b,
|
|
746
|
+
$collapsed: be,
|
|
747
|
+
ref: M,
|
|
748
|
+
src: j,
|
|
749
|
+
...ge
|
|
705
750
|
}
|
|
706
|
-
);
|
|
751
|
+
));
|
|
707
752
|
};
|
|
708
|
-
|
|
709
|
-
id:
|
|
710
|
-
src:
|
|
711
|
-
path:
|
|
712
|
-
onInit:
|
|
713
|
-
onTimeout:
|
|
753
|
+
Ne.propTypes = {
|
|
754
|
+
id: w.string,
|
|
755
|
+
src: w.string.isRequired,
|
|
756
|
+
path: w.string,
|
|
757
|
+
onInit: w.func,
|
|
758
|
+
onTimeout: w.func,
|
|
759
|
+
/** Called with the reason ('heartbeat') just before the frame is re-keyed. */
|
|
760
|
+
onRemount: w.func,
|
|
761
|
+
/**
|
|
762
|
+
* Called when a frame that said init has not said ready: 'redelivered' when the held credential is
|
|
763
|
+
* sent once more, 'ready' when the failure message is shown instead.
|
|
764
|
+
*/
|
|
765
|
+
onStall: w.func,
|
|
714
766
|
/**
|
|
715
767
|
* Optional host-styled renderer for the structurally-unsupported embed
|
|
716
768
|
* state (legacy app on a cross-site origin), `(entry) => ReactNode`. Falls
|
|
717
769
|
* back to a minimal built-in placeholder.
|
|
718
770
|
*/
|
|
719
|
-
renderUnsupported:
|
|
771
|
+
renderUnsupported: w.func,
|
|
720
772
|
/**
|
|
721
773
|
* Optional host-styled renderer for the handshake-timeout failure state
|
|
722
774
|
* (the app is not embeddable / could not load), `() => ReactNode`. Falls
|
|
723
775
|
* back to a minimal centered message.
|
|
724
776
|
*/
|
|
725
|
-
renderTimeout:
|
|
777
|
+
renderTimeout: w.func
|
|
726
778
|
};
|
|
727
779
|
export {
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
780
|
+
Ue as CREDENTIAL_KIND_ACCESS_TOKEN,
|
|
781
|
+
ue as EmbeddedAuthorizationContext,
|
|
782
|
+
Ne as MMEmbeddableZone,
|
|
783
|
+
le as MMEmbeddableZoneContext,
|
|
784
|
+
We as MMEmbeddableZoneProvider,
|
|
785
|
+
ke as isCrossSite,
|
|
786
|
+
Ee as normalizeCredential,
|
|
787
|
+
ze as popupAuthorizationLauncher,
|
|
788
|
+
Qe as unsupportedCopy,
|
|
789
|
+
De as useEmbeddedAuthorizations,
|
|
790
|
+
Pe as useEmbeddedCredential,
|
|
791
|
+
se as useEmbeddedEffect,
|
|
792
|
+
Fe as useEmbeddedOriginEpoch,
|
|
793
|
+
Be as useEmbeddedUnsupported
|
|
742
794
|
};
|