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