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