@devsym/graph-toolkit-react 1.0.0-next.10 → 1.0.0-next.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,110 +1,120 @@
1
- import { jsx as m, jsxs as z } from "react/jsx-runtime";
2
- import { Persona as he, TagPicker as it, TagPickerControl as at, TagPickerGroup as lt, InteractionTag as ut, InteractionTagPrimary as At, InteractionTagSecondary as dt, TagPickerInput as gt, TagPickerList as ft, TagPickerOption as pe, Avatar as ht } from "@fluentui/react-components";
3
- import * as j from "react";
4
- import { createContext as pt, useCallback as U, useSyncExternalStore as St, useMemo as Q, useContext as ce, useState as N, useEffect as xe } from "react";
5
- import { Client as kt } from "@microsoft/microsoft-graph-client";
6
- const Pt = "graph-toolkit-person-cache", b = "personData", wt = 1, mt = 3600 * 1e3, yt = 3600 * 1e3, Bt = 300 * 1e3, De = {
1
+ import { jsx as I, jsxs as W } from "react/jsx-runtime";
2
+ import { Persona as we, Spinner as pt, AvatarGroup as ht, AvatarGroupPopover as St, AvatarGroupItem as Pt, TagPicker as mt, TagPickerControl as yt, TagPickerGroup as wt, InteractionTag as kt, InteractionTagPrimary as It, InteractionTagSecondary as Bt, TagPickerInput as Ct, TagPickerList as jt, TagPickerOption as ke, Avatar as Ot } from "@fluentui/react-components";
3
+ import * as H from "react";
4
+ import { createContext as xt, useCallback as b, useSyncExternalStore as Ht, useMemo as R, useContext as de, useState as N, useEffect as ge } from "react";
5
+ import { Client as Dt } from "@microsoft/microsoft-graph-client";
6
+ const Et = "graph-toolkit-person-cache", L = "personData", vt = 1, Rt = 3600 * 1e3, Jt = 3600 * 1e3, Tt = 300 * 1e3, Me = {
7
7
  enabled: !0,
8
- userTtlMs: mt,
9
- photoTtlMs: yt,
10
- presenceTtlMs: Bt
11
- }, ie = () => typeof window < "u" && typeof window.indexedDB < "u", Ee = (t) => new Promise((e, n) => {
12
- t.onsuccess = () => e(t.result), t.onerror = () => n(t.error);
13
- }), Re = () => new Promise((t, e) => {
14
- if (!ie()) {
15
- e(new Error("IndexedDB unavailable"));
8
+ userTtlMs: Rt,
9
+ photoTtlMs: Jt,
10
+ presenceTtlMs: Tt
11
+ }, fe = () => typeof window < "u" && typeof window.indexedDB < "u", Qe = (e) => new Promise((t, n) => {
12
+ e.onsuccess = () => t(e.result), e.onerror = () => n(e.error);
13
+ }), Ue = () => new Promise((e, t) => {
14
+ if (!fe()) {
15
+ t(new Error("IndexedDB unavailable"));
16
16
  return;
17
17
  }
18
- const n = window.indexedDB.open(Pt, wt);
18
+ const n = window.indexedDB.open(Et, vt);
19
19
  n.onupgradeneeded = () => {
20
20
  const s = n.result;
21
- s.objectStoreNames.contains(b) || s.createObjectStore(b);
22
- }, n.onsuccess = () => t(n.result), n.onerror = () => e(n.error);
23
- }), It = (t) => `person:${t.trim().toLowerCase()}`, ee = (t, e) => t ? Date.now() - t < e : !1, jt = async (t) => {
24
- if (!ie())
21
+ s.objectStoreNames.contains(L) || s.createObjectStore(L);
22
+ }, n.onsuccess = () => e(n.result), n.onerror = () => t(n.error);
23
+ }), Gt = (e) => `person:${e.trim().toLowerCase()}`, oe = (e, t) => e ? Date.now() - e < t : !1, Mt = async (e) => {
24
+ if (!fe())
25
25
  return null;
26
- let e = null;
26
+ let t = null;
27
27
  try {
28
- e = await Re();
29
- const s = e.transaction(b, "readonly").objectStore(b);
30
- return await Ee(s.get(t)) ?? null;
28
+ t = await Ue();
29
+ const s = t.transaction(L, "readonly").objectStore(L);
30
+ return await Qe(s.get(e)) ?? null;
31
31
  } catch {
32
32
  return null;
33
33
  } finally {
34
- e?.close();
34
+ t?.close();
35
35
  }
36
- }, Ct = async (t, e) => {
37
- if (!ie())
36
+ }, Qt = async (e, t) => {
37
+ if (!fe())
38
38
  return;
39
39
  let n = null;
40
40
  try {
41
- n = await Re();
42
- const r = n.transaction(b, "readwrite").objectStore(b);
43
- await Ee(r.put(e, t));
41
+ n = await Ue();
42
+ const r = n.transaction(L, "readwrite").objectStore(L);
43
+ await Qe(r.put(t, e));
44
44
  } catch {
45
45
  return;
46
46
  } finally {
47
47
  n?.close();
48
48
  }
49
- }, $ = pt({
49
+ }, ne = xt({
50
50
  provider: null,
51
51
  state: "Loading",
52
- personCacheOptions: De
53
- }), zn = ({
54
- provider: t,
55
- children: e,
52
+ personCacheOptions: Me
53
+ }), As = ({
54
+ provider: e,
55
+ children: t,
56
56
  personCacheOptions: n
57
57
  }) => {
58
- const s = U(
59
- () => t?.getState?.() ?? "Loading",
60
- [t]
61
- ), r = U(
62
- (l) => (t.onStateChanged?.(l), () => {
63
- const d = t;
64
- typeof d.removeStateChangedHandler == "function" && d.removeStateChangedHandler(l);
58
+ const s = b(
59
+ () => e?.getState?.() ?? "Loading",
60
+ [e]
61
+ ), r = b(
62
+ (a) => (e.onStateChanged?.(a), () => {
63
+ const u = e;
64
+ typeof u.removeStateChangedHandler == "function" && u.removeStateChangedHandler(a);
65
65
  }),
66
- [t]
67
- ), o = St(r, s, s), c = Q(
66
+ [e]
67
+ ), o = Ht(r, s, s), i = R(
68
68
  () => ({
69
- ...De,
69
+ ...Me,
70
70
  ...n ?? {}
71
71
  }),
72
72
  [n]
73
- ), i = Q(
73
+ ), c = R(
74
74
  () => ({
75
- provider: t,
75
+ provider: e,
76
76
  state: o,
77
- personCacheOptions: c
77
+ personCacheOptions: i
78
78
  }),
79
- [t, o, c]
79
+ [e, o, i]
80
80
  );
81
- return /* @__PURE__ */ m($.Provider, { value: i, children: e });
82
- }, ae = () => {
83
- const { provider: t } = ce($);
84
- return t;
85
- }, le = () => {
86
- const { state: t } = ce($);
87
- return t;
88
- }, Ot = () => {
89
- const { personCacheOptions: t } = ce($);
90
- return t;
91
- }, Ht = (t) => kt.init({
92
- authProvider: async (e) => {
81
+ return /* @__PURE__ */ I(ne.Provider, { value: c, children: t });
82
+ }, se = () => {
83
+ const { provider: e } = de(ne);
84
+ return e;
85
+ }, re = () => {
86
+ const { state: e } = de(ne);
87
+ return e;
88
+ }, Ut = () => {
89
+ const { personCacheOptions: e } = de(ne);
90
+ return e;
91
+ }, Nt = (e) => Dt.init({
92
+ authProvider: async (t) => {
93
93
  try {
94
- const n = await t.getAccessToken();
95
- e(null, n);
94
+ const n = await e.getAccessToken();
95
+ t(null, n);
96
96
  } catch (n) {
97
- e(n, null);
97
+ t(n, null);
98
98
  }
99
99
  }
100
- }), Je = (t) => {
101
- if (!t) return "";
102
- const e = t.trim().split(" ");
103
- return e.length === 1 ? e[0].substring(0, 2).toUpperCase() : (e[0][0] + e[e.length - 1][0]).toUpperCase();
104
- }, Te = () => {
105
- const t = ae(), e = le();
106
- return Q(() => !t || e !== "SignedIn" ? null : Ht(t), [t, e]);
107
- }, xt = (t) => typeof t == "object" && t !== null && typeof t.getPersonData == "function", Dt = (t) => typeof t == "object" && t !== null && typeof t.searchPeople == "function", Se = [
100
+ }), Ne = (e) => {
101
+ if (!e) return "";
102
+ const t = e.trim().split(" ");
103
+ return t.length === 1 ? t[0].substring(0, 2).toUpperCase() : (t[0][0] + t[t.length - 1][0]).toUpperCase();
104
+ }, be = async (e) => {
105
+ if (!e)
106
+ return null;
107
+ if (typeof e == "string")
108
+ return e;
109
+ const t = e instanceof Blob ? e : e instanceof ArrayBuffer ? new Blob([e]) : null;
110
+ return t ? new Promise((n, s) => {
111
+ const r = new FileReader();
112
+ r.onloadend = () => n(typeof r.result == "string" ? r.result : null), r.onerror = () => s(r.error), r.readAsDataURL(t);
113
+ }) : null;
114
+ }, U = (e) => encodeURIComponent(e.trim()), pe = () => {
115
+ const e = se(), t = re();
116
+ return R(() => !e || t !== "SignedIn" ? null : Nt(e), [e, t]);
117
+ }, Fe = (e) => typeof e == "object" && e !== null && typeof e.getPersonData == "function", Ae = (e) => typeof e == "object" && e !== null && typeof e.searchPeople == "function", Ie = [
108
118
  "id",
109
119
  "displayName",
110
120
  "jobTitle",
@@ -112,62 +122,52 @@ const Pt = "graph-toolkit-person-cache", b = "personData", wt = 1, mt = 3600 * 1
112
122
  "department",
113
123
  "officeLocation",
114
124
  "userPrincipalName"
115
- ], Et = async (t) => {
116
- if (!t)
117
- return null;
118
- if (typeof t == "string")
119
- return t;
120
- const e = t instanceof Blob ? t : t instanceof ArrayBuffer ? new Blob([t]) : null;
121
- return e ? new Promise((n, s) => {
122
- const r = new FileReader();
123
- r.onloadend = () => n(typeof r.result == "string" ? r.result : null), r.onerror = () => s(r.error), r.readAsDataURL(e);
124
- }) : null;
125
- }, Ge = (t) => {
126
- const e = Te(), n = ae(), s = le(), r = Ot(), { userId: o, userPrincipalName: c, fetchPresence: i = !1, fetchPhoto: l = !0, selectFields: d } = t, g = [
125
+ ], Le = (e) => {
126
+ const t = pe(), n = se(), s = re(), r = Ut(), { userId: o, userPrincipalName: i, fetchPresence: c = !1, fetchPhoto: a = !0, selectFields: u } = e, d = [
127
127
  .../* @__PURE__ */ new Set([
128
- ...Se,
129
- ...(d ?? []).map((a) => a.trim()).filter((a) => a.length > 0 && /^[a-zA-Z0-9_./]+$/.test(a))
128
+ ...Ie,
129
+ ...(u ?? []).map((l) => l.trim()).filter((l) => l.length > 0 && /^[a-zA-Z0-9_./]+$/.test(l))
130
130
  ])
131
- ].join(","), [h, u] = N({
131
+ ].join(","), [g, A] = N({
132
132
  user: null,
133
133
  presence: null,
134
134
  photoUrl: null,
135
135
  loading: !0,
136
136
  error: null
137
137
  });
138
- return xe(() => {
139
- let a = !1;
140
- const f = g.split(",").filter((P) => !Se.includes(P));
138
+ return ge(() => {
139
+ let l = !1;
140
+ const p = d.split(",").filter((S) => !Ie.includes(S));
141
141
  return (async () => {
142
- const P = o || c;
143
- if (xt(n)) {
142
+ const S = o || i;
143
+ if (Fe(n)) {
144
144
  try {
145
- const k = await n.getPersonData({
146
- identifier: P,
147
- fetchPresence: i,
148
- fetchPhoto: l,
149
- selectFields: f.length > 0 ? f : void 0
145
+ const w = await n.getPersonData({
146
+ identifier: S,
147
+ fetchPresence: c,
148
+ fetchPhoto: a,
149
+ selectFields: p.length > 0 ? p : void 0
150
150
  });
151
- a || u({
152
- user: k.user,
153
- presence: k.presence,
154
- photoUrl: k.photoUrl,
151
+ l || A({
152
+ user: w.user,
153
+ presence: w.presence,
154
+ photoUrl: w.photoUrl,
155
155
  loading: !1,
156
156
  error: null
157
157
  });
158
- } catch (k) {
159
- a || u({
158
+ } catch (w) {
159
+ l || A({
160
160
  user: null,
161
161
  presence: null,
162
162
  photoUrl: null,
163
163
  loading: !1,
164
- error: k
164
+ error: w
165
165
  });
166
166
  }
167
167
  return;
168
168
  }
169
169
  if (s !== "SignedIn") {
170
- a || u({
170
+ l || A({
171
171
  user: null,
172
172
  presence: null,
173
173
  photoUrl: null,
@@ -176,12 +176,12 @@ const Pt = "graph-toolkit-person-cache", b = "personData", wt = 1, mt = 3600 * 1
176
176
  });
177
177
  return;
178
178
  }
179
- if (!e) {
180
- a || u((k) => ({ ...k, loading: !0 }));
179
+ if (!t) {
180
+ l || A((w) => ({ ...w, loading: !0 }));
181
181
  return;
182
182
  }
183
- if (!P) {
184
- a || u({
183
+ if (!S) {
184
+ l || A({
185
185
  user: null,
186
186
  presence: null,
187
187
  photoUrl: null,
@@ -190,73 +190,77 @@ const Pt = "graph-toolkit-person-cache", b = "personData", wt = 1, mt = 3600 * 1
190
190
  });
191
191
  return;
192
192
  }
193
- const B = It(P), S = r.enabled ? await jt(B) : null, T = !!(S?.user && ee(S.userCachedAt, r.userTtlMs)), v = !!(S?.presenceCachedAt && ee(S.presenceCachedAt, r.presenceTtlMs)), x = !!(S?.photoCachedAt && ee(S.photoCachedAt, r.photoTtlMs));
194
- if (T && (!i || v) && (!l || x)) {
195
- a || u({
196
- user: S?.user ?? null,
197
- presence: i ? S?.presence ?? null : null,
198
- photoUrl: l ? S?.photoUrl ?? null : null,
193
+ const m = Gt(S), h = r.enabled ? await Mt(m) : null, y = !!(h?.user && oe(h.userCachedAt, r.userTtlMs)), O = !!(h?.presenceCachedAt && oe(h.presenceCachedAt, r.presenceTtlMs)), k = !!(h?.photoCachedAt && oe(h.photoCachedAt, r.photoTtlMs));
194
+ if (y && (!c || O) && (!a || k)) {
195
+ l || A({
196
+ user: h?.user ?? null,
197
+ presence: c ? h?.presence ?? null : null,
198
+ photoUrl: a ? h?.photoUrl ?? null : null,
199
199
  loading: !1,
200
200
  error: null
201
201
  });
202
202
  return;
203
203
  }
204
204
  try {
205
- u((p) => ({ ...p, loading: !0, error: null }));
206
- const k = P.toLowerCase() === "me", D = Date.now();
207
- let R = !1, C = !1, O = !1, I = T ? S?.user ?? null : null;
208
- if (I || (I = await e.api(k ? "/me" : `/users/${P}`).select(g).get(), R = !0), a) return;
209
- let H = null, w = null;
210
- if (i) {
211
- if (v)
212
- H = S?.presence ?? null;
213
- else if (I?.id) {
205
+ A((P) => ({ ...P, loading: !0, error: null }));
206
+ const w = S.toLowerCase() === "me", C = Date.now();
207
+ let T = !1, D = !1, E = !1, x = y ? h?.user ?? null : null;
208
+ if (x || (x = await t.api(w ? "/me" : `/users/${U(S)}`).select(d).get(), T = !0), l) return;
209
+ let v = null, B = null;
210
+ if (c) {
211
+ if (O)
212
+ v = h?.presence ?? null;
213
+ else if (x?.id) {
214
214
  try {
215
- H = await e.api(k ? "/me/presence" : `/users/${I.id}/presence`).get();
216
- } catch (p) {
217
- console.warn("Failed to fetch presence:", p);
215
+ v = await t.api(
216
+ w ? "/me/presence" : `/users/${U(x.id)}/presence`
217
+ ).get();
218
+ } catch (P) {
219
+ console.warn("Failed to fetch presence:", P);
218
220
  }
219
- C = !0;
221
+ D = !0;
220
222
  }
221
223
  }
222
- if (l) {
223
- if (x)
224
- w = S?.photoUrl ?? null;
225
- else if (I?.id) {
224
+ if (a) {
225
+ if (k)
226
+ B = h?.photoUrl ?? null;
227
+ else if (x?.id) {
226
228
  try {
227
- const p = await e.api(k ? "/me/photo/$value" : `/users/${I.id}/photo/$value`).get();
228
- w = await Et(p);
229
- } catch (p) {
230
- console.warn("Failed to fetch photo:", p);
229
+ const P = await t.api(
230
+ w ? "/me/photo/$value" : `/users/${U(x.id)}/photo/$value`
231
+ ).get();
232
+ B = await be(P);
233
+ } catch (P) {
234
+ console.warn("Failed to fetch photo:", P);
231
235
  }
232
- O = !0;
236
+ E = !0;
233
237
  }
234
238
  }
235
- const y = {
236
- ...S ?? {}
239
+ const j = {
240
+ ...h ?? {}
237
241
  };
238
- R && I && (y.user = I, y.userCachedAt = D), i && (C || v) && (y.presence = C ? H : S?.presence, y.presenceCachedAt = C ? D : S?.presenceCachedAt), l && (O || x) && (y.photoUrl = O ? w : S?.photoUrl, y.photoCachedAt = O ? D : S?.photoCachedAt), r.enabled && (R || C || O) && y.user && await Ct(B, y), a || u({
239
- user: I,
240
- presence: H,
241
- photoUrl: w,
242
+ T && x && (j.user = x, j.userCachedAt = C), c && (D || O) && (j.presence = D ? v : h?.presence, j.presenceCachedAt = D ? C : h?.presenceCachedAt), a && (E || k) && (j.photoUrl = E ? B : h?.photoUrl, j.photoCachedAt = E ? C : h?.photoCachedAt), r.enabled && (T || D || E) && j.user && await Qt(m, j), l || A({
243
+ user: x,
244
+ presence: v,
245
+ photoUrl: B,
242
246
  loading: !1,
243
247
  error: null
244
248
  });
245
- } catch (k) {
246
- a || u({
249
+ } catch (w) {
250
+ l || A({
247
251
  user: null,
248
252
  presence: null,
249
253
  photoUrl: null,
250
254
  loading: !1,
251
- error: k
255
+ error: w
252
256
  });
253
257
  }
254
258
  })(), () => {
255
- a = !0;
259
+ l = !0;
256
260
  };
257
- }, [e, n, s, o, c, i, l, r, g]), h;
258
- }, Rt = (t) => {
259
- switch (t?.toLowerCase()) {
261
+ }, [t, n, s, o, i, c, a, r, d]), g;
262
+ }, bt = (e) => {
263
+ switch (e?.toLowerCase()) {
260
264
  case "available":
261
265
  case "availableidle":
262
266
  return "available";
@@ -270,289 +274,460 @@ const Pt = "graph-toolkit-person-cache", b = "personData", wt = 1, mt = 3600 * 1
270
274
  default:
271
275
  return "offline";
272
276
  }
273
- }, Jt = {
277
+ }, Ft = {
274
278
  avatar: [void 0, void 0, void 0, void 0],
275
279
  oneline: ["displayName", void 0, void 0, void 0],
276
280
  twolines: ["displayName", "jobTitle", void 0, void 0],
277
281
  threelines: ["displayName", "jobTitle", "department", void 0],
278
282
  fourlines: ["displayName", "jobTitle", "department", "officeLocation,mail"]
279
- }, ve = /* @__PURE__ */ new Set(["presenceActivity", "presenceAvailability"]), Tt = /* @__PURE__ */ new Set(["email", ...ve]), ue = (t) => t?.split(",").map((e) => e.trim()).filter(Boolean) ?? [], G = (t) => {
280
- if (t != null) {
281
- if (typeof t == "string")
282
- return t || void 0;
283
- if (typeof t == "number" || typeof t == "boolean")
284
- return String(t);
285
- if (Array.isArray(t)) {
286
- const e = t.map((n) => G(n)).filter((n) => !!n);
287
- return e.length > 0 ? e.join(", ") : void 0;
283
+ }, Ke = /* @__PURE__ */ new Set(["presenceActivity", "presenceAvailability"]), Lt = /* @__PURE__ */ new Set(["email", ...Ke]), he = (e) => e?.split(",").map((t) => t.trim()).filter(Boolean) ?? [], M = (e) => {
284
+ if (e != null) {
285
+ if (typeof e == "string")
286
+ return e || void 0;
287
+ if (typeof e == "number" || typeof e == "boolean")
288
+ return String(e);
289
+ if (Array.isArray(e)) {
290
+ const t = e.map((n) => M(n)).filter((n) => !!n);
291
+ return t.length > 0 ? t.join(", ") : void 0;
288
292
  }
289
293
  }
290
- }, Gt = (t) => G(t.mail) ?? G(t.email) ?? G(t.userPrincipalName), X = (t, e) => {
291
- const n = ue(e);
294
+ }, Kt = (e) => M(e.mail) ?? M(e.email) ?? M(e.userPrincipalName), Z = (e, t) => {
295
+ const n = he(t);
292
296
  for (const s of n)
293
297
  switch (s) {
294
298
  case "mail":
295
299
  case "email": {
296
- const r = Gt(t);
300
+ const r = Kt(e);
297
301
  if (r)
298
302
  return r;
299
303
  break;
300
304
  }
301
305
  default: {
302
- const r = G(t[s]);
306
+ const r = M(e[s]);
303
307
  if (r)
304
308
  return r;
305
309
  }
306
310
  }
307
- }, vt = (t, e, n) => ({ line: t, person: e, text: n }), L = (t, e, n, s) => s ? s(vt(t, e, n)) : n, V = (t, e, n) => n ?? Jt[t][e - 1], Mt = (t) => [...new Set(t.flatMap((e) => ue(e)))].filter((e) => !Tt.has(e)), Xn = ({
308
- userId: t,
309
- userPrincipalName: e,
311
+ }, qt = (e, t, n) => ({ line: e, person: t, text: n }), K = (e, t, n, s) => s ? s(qt(e, t, n)) : n, _ = (e, t, n) => n ?? Ft[e][t - 1], Wt = (e) => [...new Set(e.flatMap((t) => he(t)))].filter((t) => !Lt.has(t)), ds = ({
312
+ userId: e,
313
+ userPrincipalName: t,
310
314
  email: n,
311
315
  personDetails: s,
312
316
  view: r = "oneline",
313
317
  showPresence: o = !1,
314
- line1Property: c,
315
- line2Property: i,
316
- line3Property: l,
317
- line4Property: d,
318
- renderLine1: g,
319
- renderLine2: h,
320
- renderLine3: u,
321
- renderLine4: a,
322
- fetchImage: f = !0,
323
- ...A
318
+ line1Property: i,
319
+ line2Property: c,
320
+ line3Property: a,
321
+ line4Property: u,
322
+ renderLine1: d,
323
+ renderLine2: g,
324
+ renderLine3: A,
325
+ renderLine4: l,
326
+ fetchImage: p = !0,
327
+ ...f
324
328
  }) => {
325
- const P = r === "avatar" ? void 0 : V(r, 1, c), B = r === "avatar" ? void 0 : V(r, 2, i), S = r === "threelines" || r === "fourlines" ? V(r, 3, l) : void 0, T = r === "fourlines" ? V(r, 4, d) : void 0, v = [P, B, S, T].some((ot) => ue(ot).some((ct) => ve.has(ct))), { user: x, presence: k, photoUrl: D, loading: R } = Ge({
326
- userId: s ? void 0 : t || e || n,
327
- fetchPresence: o || v,
328
- fetchPhoto: f,
329
- selectFields: Mt([
330
- P,
331
- B,
329
+ const S = r === "avatar" ? void 0 : _(r, 1, i), m = r === "avatar" ? void 0 : _(r, 2, c), h = r === "threelines" || r === "fourlines" ? _(r, 3, a) : void 0, y = r === "fourlines" ? _(r, 4, u) : void 0, O = [S, m, h, y].some((gt) => he(gt).some((ft) => Ke.has(ft))), { user: k, presence: w, photoUrl: C, loading: T } = Le({
330
+ userId: s ? void 0 : e || t || n,
331
+ fetchPresence: o || O,
332
+ fetchPhoto: p,
333
+ selectFields: Wt([
332
334
  S,
333
- T
335
+ m,
336
+ h,
337
+ y
334
338
  ])
335
- }), C = s || x;
336
- if (R)
337
- return /* @__PURE__ */ m(
338
- he,
339
+ }), D = s || k;
340
+ if (T)
341
+ return /* @__PURE__ */ I(
342
+ we,
339
343
  {
340
- ...A,
341
- name: A.name ?? "Loading..."
344
+ ...f,
345
+ name: f.name ?? "Loading..."
342
346
  }
343
347
  );
344
- if (!C)
348
+ if (!D)
345
349
  return null;
346
- const O = C.displayName || "Unknown User", I = Je(O), H = C, w = {
347
- ...H,
348
- email: n ?? G(H.email),
349
- presenceActivity: k?.activity ?? G(H.presenceActivity),
350
- presenceAvailability: k?.availability ?? G(H.presenceAvailability)
351
- }, y = X(w, P), p = X(w, B), J = X(w, S), Y = X(w, T), M = P && y !== O || g ? L(1, w, y, g) : A.primaryText, ze = L(2, w, p, h), Xe = L(3, w, J, u), Ve = L(4, w, Y, a), Ze = o && k ? {
352
- status: Rt(k.availability)
353
- } : void 0, _e = A.presence ?? Ze, $e = A.avatar ?? {
354
- image: D ? { src: D } : void 0,
355
- initials: D ? void 0 : I
356
- }, et = A.name ?? O, tt = A.primaryText ?? M, nt = A.secondaryText ?? ze, st = A.tertiaryText ?? Xe, rt = A.quaternaryText ?? Ve;
357
- return /* @__PURE__ */ m(
358
- he,
350
+ const E = D.displayName || "Unknown User", x = Ne(E), v = D, B = {
351
+ ...v,
352
+ email: n ?? M(v.email),
353
+ presenceActivity: w?.activity ?? M(v.presenceActivity),
354
+ presenceAvailability: w?.availability ?? M(v.presenceAvailability)
355
+ }, j = Z(B, S), P = Z(B, m), G = Z(B, h), V = Z(B, y), Q = S && j !== E || d ? K(1, B, j, d) : f.primaryText, nt = K(2, B, P, g), st = K(3, B, G, A), rt = K(4, B, V, l), ot = o && w ? {
356
+ status: bt(w.availability)
357
+ } : void 0, it = f.presence ?? ot, ct = f.avatar ?? {
358
+ image: C ? { src: C } : void 0,
359
+ initials: C ? void 0 : x
360
+ }, at = f.name ?? E, lt = f.primaryText ?? Q, ut = f.secondaryText ?? nt, At = f.tertiaryText ?? st, dt = f.quaternaryText ?? rt;
361
+ return /* @__PURE__ */ I(
362
+ we,
359
363
  {
360
- ...A,
361
- name: et,
362
- primaryText: tt,
363
- avatar: $e,
364
- presence: _e,
365
- secondaryText: nt,
366
- tertiaryText: st,
367
- quaternaryText: rt
364
+ ...f,
365
+ name: at,
366
+ primaryText: lt,
367
+ avatar: ct,
368
+ presence: it,
369
+ secondaryText: ut,
370
+ tertiaryText: At,
371
+ quaternaryText: dt
368
372
  }
369
373
  );
370
- }, te = typeof window > "u" ? global : window, ne = "@griffel/";
371
- function Me(t, e) {
372
- return te[/* @__PURE__ */ Symbol.for(ne + t)] || (te[/* @__PURE__ */ Symbol.for(ne + t)] = e), te[/* @__PURE__ */ Symbol.for(ne + t)];
374
+ }, Be = "id,displayName,mail,userPrincipalName,jobTitle,department", Yt = "id,displayName,mail,userPrincipalName,jobTitle,department", zt = 10, $ = (e) => ({
375
+ id: e.id ?? e.userPrincipalName ?? e.mail ?? "unknown-user",
376
+ displayName: e.displayName ?? null,
377
+ mail: e.mail ?? null,
378
+ userPrincipalName: e.userPrincipalName ?? null,
379
+ jobTitle: e.jobTitle ?? null,
380
+ department: e.department ?? null
381
+ }), Xt = (e, t) => ({
382
+ ...e,
383
+ presenceActivity: t?.activity ?? null,
384
+ presenceAvailability: t?.availability ?? null
385
+ }), Vt = (e) => e.id ?? e.userPrincipalName ?? e.mail ?? void 0, Zt = (e) => e.userPrincipalName ?? e.mail ?? e.id ?? void 0, _t = (e) => Array.from(new Set((e ?? []).map((t) => t.trim()).filter(Boolean))), $t = (e) => {
386
+ const t = pe(), n = se(), s = re(), r = JSON.stringify(e?.people ?? null), o = R(() => {
387
+ if (r !== "null")
388
+ return JSON.parse(r);
389
+ }, [r]), i = R(() => _t(e?.userIds), [e?.userIds]), c = R(() => e?.groupId?.trim(), [e?.groupId]), a = e?.maxPeople ?? zt, u = e?.showPresence ?? !1, [d, g] = N({
390
+ people: [],
391
+ loading: !0,
392
+ error: null
393
+ });
394
+ return ge(() => {
395
+ let A = !1;
396
+ const l = async (S) => {
397
+ if (Fe(n)) {
398
+ const k = await n.getPersonData({
399
+ identifier: S,
400
+ fetchPresence: u,
401
+ fetchPhoto: !0
402
+ });
403
+ return k.user ? {
404
+ ...$(k.user),
405
+ photoUrl: k.photoUrl,
406
+ presenceActivity: k.presence?.activity ?? null,
407
+ presenceAvailability: k.presence?.availability ?? null
408
+ } : null;
409
+ }
410
+ if (s !== "SignedIn" || !t)
411
+ return null;
412
+ const m = S.toLowerCase() === "me", h = await t.api(m ? "/me" : `/users/${U(S)}`).select(Be).get();
413
+ let y = null, O = null;
414
+ if (u && h.id)
415
+ try {
416
+ y = await t.api(
417
+ m ? "/me/presence" : `/users/${U(h.id)}/presence`
418
+ ).get();
419
+ } catch {
420
+ y = null;
421
+ }
422
+ if (h.id)
423
+ try {
424
+ const k = await t.api(
425
+ m ? "/me/photo/$value" : `/users/${U(h.id)}/photo/$value`
426
+ ).get();
427
+ O = await be(k);
428
+ } catch {
429
+ O = null;
430
+ }
431
+ return {
432
+ ...$(h),
433
+ photoUrl: O,
434
+ presenceActivity: y?.activity ?? null,
435
+ presenceAvailability: y?.availability ?? null
436
+ };
437
+ }, p = async (S, m = Vt) => (await Promise.all(
438
+ S.map(async (y) => {
439
+ const O = m(y);
440
+ if (!O)
441
+ return u ? Xt(y, null) : y;
442
+ const k = u && !y.presenceAvailability && !y.presenceActivity, w = !y.photoUrl;
443
+ if (!k && !w)
444
+ return y;
445
+ try {
446
+ const C = await l(O);
447
+ return C ? {
448
+ ...y,
449
+ photoUrl: y.photoUrl ?? C.photoUrl,
450
+ presenceActivity: y.presenceActivity ?? C.presenceActivity,
451
+ presenceAvailability: y.presenceAvailability ?? C.presenceAvailability
452
+ } : y;
453
+ } catch {
454
+ return y;
455
+ }
456
+ })
457
+ )).filter((y) => !!y.id);
458
+ return (async () => {
459
+ if (A || g((S) => ({ ...S, loading: !0, error: null })), o) {
460
+ const m = u || o.some((h) => !h.photoUrl) ? await p(o, Zt) : o;
461
+ A || g({ people: m, loading: !1, error: null });
462
+ return;
463
+ }
464
+ if (i.length > 0) {
465
+ const m = (await Promise.allSettled(i.map((h) => l(h)))).flatMap((h) => h.status === "fulfilled" && h.value ? [h.value] : []);
466
+ A || g({ people: m, loading: !1, error: null });
467
+ return;
468
+ }
469
+ if (!Ae(n) && s !== "SignedIn") {
470
+ A || g({ people: [], loading: !1, error: null });
471
+ return;
472
+ }
473
+ try {
474
+ let S = [];
475
+ c ? t && s === "SignedIn" && (S = ((await t.api(`/groups/${U(c)}/members/microsoft.graph.user`).select(Yt).top(a).get()).value ?? []).map($)) : Ae(n) ? S = (await n.searchPeople("", a)).map((m) => ({
476
+ ...m,
477
+ presenceActivity: null,
478
+ presenceAvailability: null
479
+ })) : t && s === "SignedIn" && (S = ((await t.api("/users").select(Be).top(a).get()).value ?? []).map($)), (u || S.some((m) => !m.photoUrl)) && (S = await p(S)), A || g({ people: S, loading: !1, error: null });
480
+ } catch (S) {
481
+ A || g({ people: [], loading: !1, error: S });
482
+ }
483
+ })(), () => {
484
+ A = !0;
485
+ };
486
+ }, [o, r, t, c, a, n, s, u, i]), d;
487
+ }, en = 3, tn = 10, nn = (e) => {
488
+ switch (e?.toLowerCase()) {
489
+ case "available":
490
+ case "availableidle":
491
+ return "available";
492
+ case "away":
493
+ case "berightback":
494
+ return "away";
495
+ case "busy":
496
+ case "busyidle":
497
+ case "donotdisturb":
498
+ return "busy";
499
+ case "offline":
500
+ case "presenceunknown":
501
+ return "offline";
502
+ default:
503
+ return;
504
+ }
505
+ }, sn = (e) => e.displayName ?? e.mail ?? e.userPrincipalName ?? e.id, Ce = (e) => {
506
+ const t = sn(e), n = nn(e.presenceAvailability);
507
+ return /* @__PURE__ */ I(
508
+ Pt,
509
+ {
510
+ avatar: {
511
+ name: t,
512
+ image: e.photoUrl ? { src: e.photoUrl } : void 0,
513
+ badge: n ? { status: n } : void 0,
514
+ color: "colorful"
515
+ }
516
+ },
517
+ e.id
518
+ );
519
+ }, gs = ({
520
+ people: e,
521
+ userIds: t,
522
+ groupId: n,
523
+ showMax: s = en,
524
+ showPresence: r = !1,
525
+ layout: o = "stack",
526
+ size: i = 32,
527
+ ...c
528
+ }) => {
529
+ const { people: a, loading: u } = $t({
530
+ people: e,
531
+ userIds: t,
532
+ groupId: n,
533
+ maxPeople: Math.max(tn, s + 5),
534
+ showPresence: r
535
+ });
536
+ if (u)
537
+ return /* @__PURE__ */ I(pt, { size: "tiny" });
538
+ if (a.length === 0)
539
+ return null;
540
+ const d = Math.max(0, s), g = a.slice(0, d), A = a.slice(d);
541
+ return /* @__PURE__ */ W(ht, { layout: o, size: i, ...c, children: [
542
+ g.map(Ce),
543
+ A.length > 0 && /* @__PURE__ */ I(St, { count: A.length, children: A.map(Ce) })
544
+ ] });
545
+ }, ie = typeof window > "u" ? global : window, ce = "@griffel/";
546
+ function qe(e, t) {
547
+ return ie[/* @__PURE__ */ Symbol.for(ce + e)] || (ie[/* @__PURE__ */ Symbol.for(ce + e)] = t), ie[/* @__PURE__ */ Symbol.for(ce + e)];
373
548
  }
374
- const Ae = /* @__PURE__ */ Me("DEBUG_RESET_CLASSES", {}), W = /* @__PURE__ */ Me("DEFINITION_LOOKUP_TABLE", {}), K = "data-make-styles-bucket", Qt = "data-priority", Ut = "r", q = 7, E = "___", Qe = "_", Ue = process.env.NODE_ENV === "production" ? E.length + q : E.length + q + Qe.length + q, Nt = 0, ke = 1;
375
- function se(t) {
376
- for (var e = 0, n, s = 0, r = t.length; r >= 4; ++s, r -= 4)
377
- n = t.charCodeAt(s) & 255 | (t.charCodeAt(++s) & 255) << 8 | (t.charCodeAt(++s) & 255) << 16 | (t.charCodeAt(++s) & 255) << 24, n = /* Math.imul(k, m): */
549
+ const Se = /* @__PURE__ */ qe("DEBUG_RESET_CLASSES", {}), X = /* @__PURE__ */ qe("DEFINITION_LOOKUP_TABLE", {}), Y = "data-make-styles-bucket", rn = "data-priority", on = "r", z = 7, J = "___", We = "_", Ye = process.env.NODE_ENV === "production" ? J.length + z : J.length + z + We.length + z, cn = 0, je = 1;
550
+ function ae(e) {
551
+ for (var t = 0, n, s = 0, r = e.length; r >= 4; ++s, r -= 4)
552
+ n = e.charCodeAt(s) & 255 | (e.charCodeAt(++s) & 255) << 8 | (e.charCodeAt(++s) & 255) << 16 | (e.charCodeAt(++s) & 255) << 24, n = /* Math.imul(k, m): */
378
553
  (n & 65535) * 1540483477 + ((n >>> 16) * 59797 << 16), n ^= /* k >>> r: */
379
- n >>> 24, e = /* Math.imul(k, m): */
554
+ n >>> 24, t = /* Math.imul(k, m): */
380
555
  (n & 65535) * 1540483477 + ((n >>> 16) * 59797 << 16) ^ /* Math.imul(h, m): */
381
- (e & 65535) * 1540483477 + ((e >>> 16) * 59797 << 16);
556
+ (t & 65535) * 1540483477 + ((t >>> 16) * 59797 << 16);
382
557
  switch (r) {
383
558
  case 3:
384
- e ^= (t.charCodeAt(s + 2) & 255) << 16;
559
+ t ^= (e.charCodeAt(s + 2) & 255) << 16;
385
560
  case 2:
386
- e ^= (t.charCodeAt(s + 1) & 255) << 8;
561
+ t ^= (e.charCodeAt(s + 1) & 255) << 8;
387
562
  case 1:
388
- e ^= t.charCodeAt(s) & 255, e = /* Math.imul(h, m): */
389
- (e & 65535) * 1540483477 + ((e >>> 16) * 59797 << 16);
563
+ t ^= e.charCodeAt(s) & 255, t = /* Math.imul(h, m): */
564
+ (t & 65535) * 1540483477 + ((t >>> 16) * 59797 << 16);
390
565
  }
391
- return e ^= e >>> 13, e = /* Math.imul(h, m): */
392
- (e & 65535) * 1540483477 + ((e >>> 16) * 59797 << 16), ((e ^ e >>> 15) >>> 0).toString(36);
566
+ return t ^= t >>> 13, t = /* Math.imul(h, m): */
567
+ (t & 65535) * 1540483477 + ((t >>> 16) * 59797 << 16), ((t ^ t >>> 15) >>> 0).toString(36);
393
568
  }
394
- function re(t) {
395
- const e = t.length;
396
- if (e === q)
397
- return t;
398
- for (let n = e; n < q; n++)
399
- t += "0";
400
- return t;
569
+ function le(e) {
570
+ const t = e.length;
571
+ if (t === z)
572
+ return e;
573
+ for (let n = t; n < z; n++)
574
+ e += "0";
575
+ return e;
401
576
  }
402
- function Ne(t, e, n = []) {
403
- return process.env.NODE_ENV === "production" ? E + re(se(t + e)) : E + re(se(t + e)) + Qe + re(se(n.join("")));
577
+ function ze(e, t, n = []) {
578
+ return process.env.NODE_ENV === "production" ? J + le(ae(e + t)) : J + le(ae(e + t)) + We + le(ae(n.join("")));
404
579
  }
405
- function Fe(t, e) {
580
+ function Xe(e, t) {
406
581
  let n = "", s = "";
407
- for (const r in t) {
408
- const o = t[r];
582
+ for (const r in e) {
583
+ const o = e[r];
409
584
  if (o === 0) {
410
585
  s += r + " ";
411
586
  continue;
412
587
  }
413
- const c = Array.isArray(o), i = e === "rtl" ? (c ? o[1] : o) + " " : (c ? o[0] : o) + " ";
414
- n += i, s += i;
588
+ const i = Array.isArray(o), c = t === "rtl" ? (i ? o[1] : o) + " " : (i ? o[0] : o) + " ";
589
+ n += c, s += c;
415
590
  }
416
591
  return [n.slice(0, -1), s.slice(0, -1)];
417
592
  }
418
- function Pe(t, e) {
593
+ function Oe(e, t) {
419
594
  const n = {};
420
- for (const s in t) {
421
- const [r, o] = Fe(t[s], e);
595
+ for (const s in e) {
596
+ const [r, o] = Xe(e[s], t);
422
597
  if (o === "") {
423
598
  n[s] = "";
424
599
  continue;
425
600
  }
426
- const c = Ne(o, e), i = c + (r === "" ? "" : " " + r);
427
- W[c] = [t[s], e], n[s] = i;
601
+ const i = ze(o, t), c = i + (r === "" ? "" : " " + r);
602
+ X[i] = [e[s], t], n[s] = c;
428
603
  }
429
604
  return n;
430
605
  }
431
- const Z = {};
432
- function be() {
433
- let t = null, e = "", n = "";
606
+ const ee = {};
607
+ function Ve() {
608
+ let e = null, t = "", n = "";
434
609
  const s = new Array(arguments.length);
435
610
  let r = "";
436
- for (let u = 0; u < arguments.length; u++) {
437
- const a = arguments[u];
438
- if (typeof a == "string" && a !== "") {
439
- const f = a.indexOf(E);
440
- if (f === -1)
441
- process.env.NODE_ENV !== "production" && a.split(" ").forEach((A) => {
442
- A.startsWith(Ut) && Ae[A] && (r ? console.error(`mergeClasses(): a passed string contains multiple classes produced by makeResetStyles (${a} & ${e}, this will lead to non-deterministic behavior. Learn more:https://griffel.js.org/react/api/make-reset-styles#limitations
443
- Source string: ${a}`) : r = A);
444
- }), e += a + " ";
611
+ for (let A = 0; A < arguments.length; A++) {
612
+ const l = arguments[A];
613
+ if (typeof l == "string" && l !== "") {
614
+ const p = l.indexOf(J);
615
+ if (p === -1)
616
+ process.env.NODE_ENV !== "production" && l.split(" ").forEach((f) => {
617
+ f.startsWith(on) && Se[f] && (r ? console.error(`mergeClasses(): a passed string contains multiple classes produced by makeResetStyles (${l} & ${t}, this will lead to non-deterministic behavior. Learn more:https://griffel.js.org/react/api/make-reset-styles#limitations
618
+ Source string: ${l}`) : r = f);
619
+ }), t += l + " ";
445
620
  else {
446
- const A = a.substr(f, Ue);
447
- f > 0 && (e += a.slice(0, f)), n += A, s[u] = A;
621
+ const f = l.substr(p, Ye);
622
+ p > 0 && (t += l.slice(0, p)), n += f, s[A] = f;
448
623
  }
449
- process.env.NODE_ENV !== "production" && a.indexOf(E, f + 1) !== -1 && console.error(`mergeClasses(): a passed string contains multiple identifiers of atomic classes (classes that start with "${E}"), it's possible that passed classes were concatenated in a wrong way. Source string: ${a}`);
624
+ process.env.NODE_ENV !== "production" && l.indexOf(J, p + 1) !== -1 && console.error(`mergeClasses(): a passed string contains multiple identifiers of atomic classes (classes that start with "${J}"), it's possible that passed classes were concatenated in a wrong way. Source string: ${l}`);
450
625
  }
451
626
  }
452
627
  if (n === "")
453
- return e.slice(0, -1);
454
- const o = Z[n];
628
+ return t.slice(0, -1);
629
+ const o = ee[n];
455
630
  if (o !== void 0)
456
- return e + o;
457
- const c = [];
458
- for (let u = 0; u < arguments.length; u++) {
459
- const a = s[u];
460
- if (a) {
461
- const f = W[a];
462
- f ? (c.push(f[Nt]), process.env.NODE_ENV !== "production" && t !== null && t !== f[ke] && console.error(`mergeClasses(): a passed string contains an identifier (${a}) that has different direction (dir="${f[1] ? "rtl" : "ltr"}") setting than other classes. This is not supported. Source string: ${arguments[u]}`), t = f[ke]) : process.env.NODE_ENV !== "production" && console.error(`mergeClasses(): a passed string contains an identifier (${a}) that does not match any entry in cache. Source string: ${arguments[u]}`);
631
+ return t + o;
632
+ const i = [];
633
+ for (let A = 0; A < arguments.length; A++) {
634
+ const l = s[A];
635
+ if (l) {
636
+ const p = X[l];
637
+ p ? (i.push(p[cn]), process.env.NODE_ENV !== "production" && e !== null && e !== p[je] && console.error(`mergeClasses(): a passed string contains an identifier (${l}) that has different direction (dir="${p[1] ? "rtl" : "ltr"}") setting than other classes. This is not supported. Source string: ${arguments[A]}`), e = p[je]) : process.env.NODE_ENV !== "production" && console.error(`mergeClasses(): a passed string contains an identifier (${l}) that does not match any entry in cache. Source string: ${arguments[A]}`);
463
638
  }
464
639
  }
465
- const i = Object.assign.apply(
640
+ const c = Object.assign.apply(
466
641
  Object,
467
642
  // .assign() mutates the first object, we can't mutate mappings as it will produce invalid results later
468
- [{}].concat(c)
469
- ), [l, d] = Fe(i, t), g = Ne(d, t, s), h = g + " " + l;
470
- return Z[n] = h, W[g] = [i, t], e + h;
643
+ [{}].concat(i)
644
+ ), [a, u] = Xe(c, e), d = ze(u, e, s), g = d + " " + a;
645
+ return ee[n] = g, X[d] = [c, e], t + g;
471
646
  }
472
- const we = {}, me = /* @__PURE__ */ new Set(), F = {
473
- getChildrenSequences: (t) => {
474
- const e = Object.keys(Z).find((n) => Z[n].startsWith(t));
475
- return e ? e.split(E).filter((n) => n.length).map((n) => E + n) : [];
647
+ const xe = {}, He = /* @__PURE__ */ new Set(), F = {
648
+ getChildrenSequences: (e) => {
649
+ const t = Object.keys(ee).find((n) => ee[n].startsWith(e));
650
+ return t ? t.split(J).filter((n) => n.length).map((n) => J + n) : [];
476
651
  },
477
- addCSSRule: (t) => {
478
- me.add(t);
652
+ addCSSRule: (e) => {
653
+ He.add(e);
479
654
  },
480
- addSequenceDetails: (t, e) => {
481
- Object.entries(t).forEach(([n, s]) => {
482
- we[s.substring(0, Ue)] = {
655
+ addSequenceDetails: (e, t) => {
656
+ Object.entries(e).forEach(([n, s]) => {
657
+ xe[s.substring(0, Ye)] = {
483
658
  slotName: n,
484
- sourceURL: e
659
+ sourceURL: t
485
660
  };
486
661
  });
487
662
  },
488
- getCSSRules: () => Array.from(me),
489
- getSequenceDetails: (t) => we[t]
663
+ getCSSRules: () => Array.from(He),
664
+ getSequenceDetails: (e) => xe[e]
490
665
  };
491
- function ye(t, e) {
492
- return Array.isArray(t) ? e === "rtl" ? t[1] : t[0] : t || "";
666
+ function De(e, t) {
667
+ return Array.isArray(e) ? t === "rtl" ? e[1] : e[0] : e || "";
493
668
  }
494
- function Ft(t, e, n, s) {
495
- const r = t[0], o = t[1];
496
- return Object.entries(r).map(([c, i]) => {
497
- const l = ye(i, o);
498
- let d;
499
- if (n && e) {
500
- const g = n.find(({
501
- className: h
502
- }) => h === l);
503
- !g && e[0][c] ? d = ye(e[0][c], e[1]) : g && e[0][c] ? d = (s ? s.filter(({
504
- debugClassNames: u
505
- }) => u.filter(({
506
- className: a
507
- }) => a === l).length > 0).length > 0 : !1) ? g.className : g.overriddenBy : (!g && !e[0][c] || g && !e[0][c]) && (d = void 0);
669
+ function an(e, t, n, s) {
670
+ const r = e[0], o = e[1];
671
+ return Object.entries(r).map(([i, c]) => {
672
+ const a = De(c, o);
673
+ let u;
674
+ if (n && t) {
675
+ const d = n.find(({
676
+ className: g
677
+ }) => g === a);
678
+ !d && t[0][i] ? u = De(t[0][i], t[1]) : d && t[0][i] ? u = (s ? s.filter(({
679
+ debugClassNames: A
680
+ }) => A.filter(({
681
+ className: l
682
+ }) => l === a).length > 0).length > 0 : !1) ? d.className : d.overriddenBy : (!d && !t[0][i] || d && !t[0][i]) && (u = void 0);
508
683
  }
509
684
  return {
510
- className: l,
511
- overriddenBy: d
685
+ className: a,
686
+ overriddenBy: u
512
687
  };
513
688
  });
514
689
  }
515
- function Le(t, e) {
516
- const n = W[t];
690
+ function Ze(e, t) {
691
+ const n = X[e];
517
692
  if (n === void 0)
518
693
  return;
519
- const s = e ? W[e.sequenceHash] : void 0, r = Ft(n, s, e?.debugClassNames, e?.children), o = {
520
- sequenceHash: t,
694
+ const s = t ? X[t.sequenceHash] : void 0, r = an(n, s, t?.debugClassNames, t?.children), o = {
695
+ sequenceHash: e,
521
696
  direction: n[1],
522
697
  children: [],
523
698
  debugClassNames: r
524
699
  };
525
- return F.getChildrenSequences(o.sequenceHash).reverse().forEach((i) => {
526
- const l = Le(i, o);
527
- l && o.children.push(l);
700
+ return F.getChildrenSequences(o.sequenceHash).reverse().forEach((c) => {
701
+ const a = Ze(c, o);
702
+ a && o.children.push(a);
528
703
  }), o.children.length || (o.rules = {}, o.debugClassNames.forEach(({
529
- className: i
704
+ className: c
530
705
  }) => {
531
- const l = F.getSequenceDetails(t);
532
- l && (o.slot = l.slotName, o.sourceURL = l.sourceURL);
533
- const d = F.getCSSRules().find((g) => g.includes(i));
534
- o.rules[i] = d;
706
+ const a = F.getSequenceDetails(e);
707
+ a && (o.slot = a.slotName, o.sourceURL = a.sourceURL);
708
+ const u = F.getCSSRules().find((d) => d.includes(c));
709
+ o.rules[c] = u;
535
710
  })), o;
536
711
  }
537
- function bt(t) {
538
- if (Ae[t] === void 0)
712
+ function ln(e) {
713
+ if (Se[e] === void 0)
539
714
  return;
540
715
  const s = {
541
- sequenceHash: t,
716
+ sequenceHash: e,
542
717
  direction: "ltr",
543
718
  children: [],
544
719
  debugClassNames: [{
545
- className: t
720
+ className: e
546
721
  }]
547
722
  };
548
723
  s.rules = {}, s.slot = "makeResetStyles()";
549
724
  const [{
550
725
  className: r
551
- }] = s.debugClassNames, o = F.getCSSRules().filter((c) => c.includes(`.${r}`));
726
+ }] = s.debugClassNames, o = F.getCSSRules().filter((i) => i.includes(`.${r}`));
552
727
  return s.rules[r] = o.join(""), s;
553
728
  }
554
- function Lt(t, e) {
555
- const n = t ? Le(t) : void 0, s = e ? bt(e) : void 0;
729
+ function un(e, t) {
730
+ const n = e ? Ze(e) : void 0, s = t ? ln(t) : void 0;
556
731
  return !n && !s ? void 0 : n ? s ? {
557
732
  sequenceHash: n.sequenceHash + s.sequenceHash,
558
733
  direction: n.direction,
@@ -560,19 +735,19 @@ function Lt(t, e) {
560
735
  debugClassNames: [...n.debugClassNames, ...s.debugClassNames]
561
736
  } : n : s;
562
737
  }
563
- function Kt(t) {
564
- const e = t.defaultView;
565
- if (!e || e.__GRIFFEL_DEVTOOLS__)
738
+ function An(e) {
739
+ const t = e.defaultView;
740
+ if (!t || t.__GRIFFEL_DEVTOOLS__)
566
741
  return;
567
742
  const n = {
568
743
  getInfo: (s) => {
569
744
  let r, o;
570
- for (const c of s.classList)
571
- c.startsWith(E) && (r = c), Ae[c] && (o = c);
572
- return Lt(r, o);
745
+ for (const i of s.classList)
746
+ i.startsWith(J) && (r = i), Se[i] && (o = i);
747
+ return un(r, o);
573
748
  }
574
749
  };
575
- Object.defineProperty(e, "__GRIFFEL_DEVTOOLS__", {
750
+ Object.defineProperty(t, "__GRIFFEL_DEVTOOLS__", {
576
751
  configurable: !1,
577
752
  enumerable: !1,
578
753
  get() {
@@ -580,40 +755,40 @@ function Kt(t) {
580
755
  }
581
756
  });
582
757
  }
583
- const _ = /* @__PURE__ */ (() => {
584
- var t;
758
+ const te = /* @__PURE__ */ (() => {
759
+ var e;
585
760
  try {
586
- return !!(typeof window < "u" && (!((t = window.sessionStorage) === null || t === void 0) && t.getItem("__GRIFFEL_DEVTOOLS__")));
761
+ return !!(typeof window < "u" && (!((e = window.sessionStorage) === null || e === void 0) && e.getItem("__GRIFFEL_DEVTOOLS__")));
587
762
  } catch {
588
763
  return !1;
589
764
  }
590
765
  })();
591
- function qt(t) {
592
- if (!Array.isArray(t))
593
- return [t];
594
- if (process.env.NODE_ENV !== "production" && t.length > 2)
766
+ function dn(e) {
767
+ if (!Array.isArray(e))
768
+ return [e];
769
+ if (process.env.NODE_ENV !== "production" && e.length > 2)
595
770
  throw new Error("CSS Bucket contains an entry with greater than 2 items, please report this to https://github.com/microsoft/griffel/issues");
596
- return t;
771
+ return e;
597
772
  }
598
- function Wt(t, e, n, s) {
773
+ function gn(e, t, n, s) {
599
774
  const r = [];
600
- if (s[K] = e, s[Qt] = String(n), t)
601
- for (const c in s)
602
- t.setAttribute(c, s[c]);
603
- function o(c) {
604
- return t?.sheet ? t.sheet.insertRule(c, t.sheet.cssRules.length) : r.push(c);
775
+ if (s[Y] = t, s[rn] = String(n), e)
776
+ for (const i in s)
777
+ e.setAttribute(i, s[i]);
778
+ function o(i) {
779
+ return e?.sheet ? e.sheet.insertRule(i, e.sheet.cssRules.length) : r.push(i);
605
780
  }
606
781
  return {
607
782
  elementAttributes: s,
608
783
  insertRule: o,
609
- element: t,
610
- bucketName: e,
784
+ element: e,
785
+ bucketName: t,
611
786
  cssRules() {
612
- return t?.sheet ? Array.from(t.sheet.cssRules).map((c) => c.cssText) : r;
787
+ return e?.sheet ? Array.from(e.sheet.cssRules).map((i) => i.cssText) : r;
613
788
  }
614
789
  };
615
790
  }
616
- const Yt = [
791
+ const fn = [
617
792
  // reset styles
618
793
  "r",
619
794
  // catch-all
@@ -642,192 +817,192 @@ const Yt = [
642
817
  "m",
643
818
  // @container rules
644
819
  "c"
645
- ], Be = /* @__PURE__ */ Yt.reduce((t, e, n) => (t[e] = n, t), {});
646
- function zt(t, e, n) {
647
- return (t === "m" ? t + e : t) + n;
820
+ ], Ee = /* @__PURE__ */ fn.reduce((e, t, n) => (e[t] = n, e), {});
821
+ function pn(e, t, n) {
822
+ return (e === "m" ? e + t : e) + n;
648
823
  }
649
- function Xt(t, e, n, s, r = {}) {
650
- var o, c;
651
- const i = t === "m", l = (o = r.m) !== null && o !== void 0 ? o : "0", d = (c = r.p) !== null && c !== void 0 ? c : 0, g = zt(t, l, d);
652
- if (!s.stylesheets[g]) {
653
- const h = e && e.createElement("style"), u = Wt(h, t, d, Object.assign({}, s.styleElementAttributes, i && {
654
- media: l
824
+ function hn(e, t, n, s, r = {}) {
825
+ var o, i;
826
+ const c = e === "m", a = (o = r.m) !== null && o !== void 0 ? o : "0", u = (i = r.p) !== null && i !== void 0 ? i : 0, d = pn(e, a, u);
827
+ if (!s.stylesheets[d]) {
828
+ const g = t && t.createElement("style"), A = gn(g, e, u, Object.assign({}, s.styleElementAttributes, c && {
829
+ media: a
655
830
  }));
656
- s.stylesheets[g] = u, e?.head && h && e.head.insertBefore(h, Zt(e, n, t, s, r));
831
+ s.stylesheets[d] = A, t?.head && g && t.head.insertBefore(g, Pn(t, n, e, s, r));
657
832
  }
658
- return s.stylesheets[g];
833
+ return s.stylesheets[d];
659
834
  }
660
- function Vt(t, e, n) {
835
+ function Sn(e, t, n) {
661
836
  var s, r;
662
- const o = e + ((s = n.m) !== null && s !== void 0 ? s : ""), c = t.getAttribute(K) + ((r = t.media) !== null && r !== void 0 ? r : "");
663
- return o === c;
837
+ const o = t + ((s = n.m) !== null && s !== void 0 ? s : ""), i = e.getAttribute(Y) + ((r = e.media) !== null && r !== void 0 ? r : "");
838
+ return o === i;
664
839
  }
665
- function Zt(t, e, n, s, r = {}) {
666
- var o, c;
667
- const i = Be[n], l = (o = r.m) !== null && o !== void 0 ? o : "", d = (c = r.p) !== null && c !== void 0 ? c : 0;
668
- let g = (A) => i - Be[A.getAttribute(K)], h = t.head.querySelectorAll(`[${K}]`);
840
+ function Pn(e, t, n, s, r = {}) {
841
+ var o, i;
842
+ const c = Ee[n], a = (o = r.m) !== null && o !== void 0 ? o : "", u = (i = r.p) !== null && i !== void 0 ? i : 0;
843
+ let d = (f) => c - Ee[f.getAttribute(Y)], g = e.head.querySelectorAll(`[${Y}]`);
669
844
  if (n === "m") {
670
- const A = t.head.querySelectorAll(`[${K}="${n}"]`);
671
- A.length && (h = A, g = (P) => s.compareMediaQueries(l, P.media));
845
+ const f = e.head.querySelectorAll(`[${Y}="${n}"]`);
846
+ f.length && (g = f, d = (S) => s.compareMediaQueries(a, S.media));
672
847
  }
673
- const u = (A) => Vt(A, n, r) ? d - Number(A.getAttribute("data-priority")) : g(A), a = h.length;
674
- let f = a - 1;
675
- for (; f >= 0; ) {
676
- const A = h.item(f);
677
- if (u(A) > 0)
678
- return A.nextSibling;
679
- f--;
848
+ const A = (f) => Sn(f, n, r) ? u - Number(f.getAttribute("data-priority")) : d(f), l = g.length;
849
+ let p = l - 1;
850
+ for (; p >= 0; ) {
851
+ const f = g.item(p);
852
+ if (A(f) > 0)
853
+ return f.nextSibling;
854
+ p--;
680
855
  }
681
- return a > 0 ? h.item(0) : e ? e.nextSibling : null;
856
+ return l > 0 ? g.item(0) : t ? t.nextSibling : null;
682
857
  }
683
- const _t = /* @__PURE__ */ ["-moz-placeholder", "-moz-focus-inner", "-moz-focusring", "-ms-input-placeholder", "-moz-read-write", "-moz-read-only"].join("|"), $t = /* @__PURE__ */ new RegExp(`:(${_t})`);
684
- function Ie(t, e) {
858
+ const mn = /* @__PURE__ */ ["-moz-placeholder", "-moz-focus-inner", "-moz-focusring", "-ms-input-placeholder", "-moz-read-write", "-moz-read-only"].join("|"), yn = /* @__PURE__ */ new RegExp(`:(${mn})`);
859
+ function ve(e, t) {
685
860
  try {
686
- t.insertRule(e);
861
+ e.insertRule(t);
687
862
  } catch (n) {
688
- process.env.NODE_ENV !== "production" && !$t.test(e) && console.error(`There was a problem inserting the following rule: "${e}"`, n);
863
+ process.env.NODE_ENV !== "production" && !yn.test(t) && console.error(`There was a problem inserting the following rule: "${t}"`, n);
689
864
  }
690
865
  }
691
- let en = 0;
692
- const tn = (t, e) => t < e ? -1 : t > e ? 1 : 0;
693
- function nn(t = typeof document > "u" ? void 0 : document, e = {}) {
866
+ let wn = 0;
867
+ const kn = (e, t) => e < t ? -1 : e > t ? 1 : 0;
868
+ function In(e = typeof document > "u" ? void 0 : document, t = {}) {
694
869
  const {
695
870
  classNameHashSalt: n,
696
871
  unstable_filterCSSRule: s,
697
872
  insertionPoint: r,
698
873
  styleElementAttributes: o,
699
- compareMediaQueries: c = tn
700
- } = e, i = {
874
+ compareMediaQueries: i = kn
875
+ } = t, c = {
701
876
  classNameHashSalt: n,
702
877
  insertionCache: {},
703
878
  stylesheets: {},
704
879
  styleElementAttributes: Object.freeze(o),
705
- compareMediaQueries: c,
706
- id: `d${en++}`,
707
- insertCSSRules(l) {
708
- for (const d in l) {
709
- const g = l[d];
710
- for (let h = 0, u = g.length; h < u; h++) {
711
- const [a, f] = qt(g[h]), A = Xt(d, t, r || null, i, f);
712
- i.insertionCache[a] || (i.insertionCache[a] = d, process.env.NODE_ENV !== "production" && _ && F.addCSSRule(a), s ? s(a) && Ie(A, a) : Ie(A, a));
880
+ compareMediaQueries: i,
881
+ id: `d${wn++}`,
882
+ insertCSSRules(a) {
883
+ for (const u in a) {
884
+ const d = a[u];
885
+ for (let g = 0, A = d.length; g < A; g++) {
886
+ const [l, p] = dn(d[g]), f = hn(u, e, r || null, c, p);
887
+ c.insertionCache[l] || (c.insertionCache[l] = u, process.env.NODE_ENV !== "production" && te && F.addCSSRule(l), s ? s(l) && ve(f, l) : ve(f, l));
713
888
  }
714
889
  }
715
890
  }
716
891
  };
717
- return t && process.env.NODE_ENV !== "production" && _ && Kt(t), i;
892
+ return e && process.env.NODE_ENV !== "production" && te && An(e), c;
718
893
  }
719
- const de = "<unknown>";
720
- function sn(t) {
721
- return an(t) || An(t) || gn(t);
894
+ const Pe = "<unknown>";
895
+ function Bn(e) {
896
+ return xn(e) || En(e) || Rn(e);
722
897
  }
723
- const rn = /^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\/|[a-z]:\\|\\\\).*?)?\)?\s*$/i, on = /^\s*at ()((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\/|[a-z]:\\|\\\\).*?)\s*$/i, cn = /\((\S*)\)/;
724
- function an(t) {
725
- const e = rn.exec(t) || on.exec(t);
726
- if (!e)
898
+ const Cn = /^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\/|[a-z]:\\|\\\\).*?)?\)?\s*$/i, jn = /^\s*at ()((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\/|[a-z]:\\|\\\\).*?)\s*$/i, On = /\((\S*)\)/;
899
+ function xn(e) {
900
+ const t = Cn.exec(e) || jn.exec(e);
901
+ if (!t)
727
902
  return null;
728
- let n = e[2];
729
- const s = n && n.indexOf("native") === 0, r = n && n.indexOf("eval") === 0, o = cn.exec(n);
903
+ let n = t[2];
904
+ const s = n && n.indexOf("native") === 0, r = n && n.indexOf("eval") === 0, o = On.exec(n);
730
905
  return r && o != null && (n = o[1]), {
731
- loc: s ? null : e[2],
732
- name: e[1] || de
906
+ loc: s ? null : t[2],
907
+ name: t[1] || Pe
733
908
  };
734
909
  }
735
- const ln = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\[native).*?|[^@]*bundle)\s*$/i, un = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i;
736
- function An(t) {
737
- const e = ln.exec(t);
738
- if (!e)
910
+ const Hn = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\[native).*?|[^@]*bundle)\s*$/i, Dn = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i;
911
+ function En(e) {
912
+ const t = Hn.exec(e);
913
+ if (!t)
739
914
  return null;
740
- let n = e[3];
741
- const s = n && n.indexOf(" > eval") > -1, r = un.exec(n);
915
+ let n = t[3];
916
+ const s = n && n.indexOf(" > eval") > -1, r = Dn.exec(n);
742
917
  return s && r != null && (n = r[1]), {
743
- loc: e[3],
744
- name: e[1] || de
918
+ loc: t[3],
919
+ name: t[1] || Pe
745
920
  };
746
921
  }
747
- const dn = /^\s*(?:([^@]*)(?:\((.*?)\))?@)?(\S.*?)\s*$/i;
748
- function gn(t) {
749
- const e = dn.exec(t);
750
- return e ? {
751
- loc: e[3],
752
- name: e[1] || de
922
+ const vn = /^\s*(?:([^@]*)(?:\((.*?)\))?@)?(\S.*?)\s*$/i;
923
+ function Rn(e) {
924
+ const t = vn.exec(e);
925
+ return t ? {
926
+ loc: t[3],
927
+ name: t[1] || Pe
753
928
  } : null;
754
929
  }
755
- function fn() {
756
- const t = String(new Error().stack).split(`
757
- `), e = hn(t);
758
- if (e === void 0)
930
+ function Jn() {
931
+ const e = String(new Error().stack).split(`
932
+ `), t = Tn(e);
933
+ if (t === void 0)
759
934
  return;
760
- const n = sn(e);
935
+ const n = Bn(t);
761
936
  return n?.loc;
762
937
  }
763
- function hn(t) {
764
- for (let e = t.length - 1; e >= 0; --e)
765
- if (t[e].includes("at getSourceURLfromError"))
766
- return t[e + 3];
938
+ function Tn(e) {
939
+ for (let t = e.length - 1; t >= 0; --t)
940
+ if (e[t].includes("at getSourceURLfromError"))
941
+ return e[t + 3];
767
942
  }
768
- const pn = () => {
769
- const t = {};
943
+ const Gn = () => {
944
+ const e = {};
770
945
  return function(n, s) {
771
- t[n.id] === void 0 && (n.insertCSSRules(s), t[n.id] = !0);
946
+ e[n.id] === void 0 && (n.insertCSSRules(s), e[n.id] = !0);
772
947
  };
773
948
  };
774
- function Sn(t, e, n = pn) {
949
+ function Mn(e, t, n = Gn) {
775
950
  const s = n();
776
- let r = null, o = null, c;
777
- process.env.NODE_ENV !== "production" && _ && (c = fn());
778
- function i(l) {
951
+ let r = null, o = null, i;
952
+ process.env.NODE_ENV !== "production" && te && (i = Jn());
953
+ function c(a) {
779
954
  const {
780
- dir: d,
781
- renderer: g
782
- } = l, h = d === "ltr";
783
- h ? r === null && (r = Pe(t, d)) : o === null && (o = Pe(t, d)), s(g, e);
784
- const u = h ? r : o;
785
- return process.env.NODE_ENV !== "production" && _ && F.addSequenceDetails(u, c), u;
955
+ dir: u,
956
+ renderer: d
957
+ } = a, g = u === "ltr";
958
+ g ? r === null && (r = Oe(e, u)) : o === null && (o = Oe(e, u)), s(d, t);
959
+ const A = g ? r : o;
960
+ return process.env.NODE_ENV !== "production" && te && F.addSequenceDetails(A, i), A;
786
961
  }
787
- return i;
962
+ return c;
788
963
  }
789
- function kn() {
964
+ function Qn() {
790
965
  return typeof window < "u" && !!(window.document && window.document.createElement);
791
966
  }
792
- const je = (
967
+ const Re = (
793
968
  // @ts-expect-error Hack to make sure that `useInsertionEffect` will not cause bundling issues in older React versions
794
969
  // eslint-disable-next-line no-useless-concat
795
- j.useInsertionEffect ? j.useInsertionEffect : void 0
796
- ), Pn = () => {
797
- const t = {};
970
+ H.useInsertionEffect ? H.useInsertionEffect : void 0
971
+ ), Un = () => {
972
+ const e = {};
798
973
  return function(n, s) {
799
- if (je && kn()) {
800
- je(() => {
974
+ if (Re && Qn()) {
975
+ Re(() => {
801
976
  n.insertCSSRules(s);
802
977
  }, [n, s]);
803
978
  return;
804
979
  }
805
- t[n.id] === void 0 && (n.insertCSSRules(s), t[n.id] = !0);
980
+ e[n.id] === void 0 && (n.insertCSSRules(s), e[n.id] = !0);
806
981
  };
807
- }, wn = /* @__PURE__ */ j.createContext(/* @__PURE__ */ nn());
808
- function mn() {
809
- return j.useContext(wn);
982
+ }, Nn = /* @__PURE__ */ H.createContext(/* @__PURE__ */ In());
983
+ function bn() {
984
+ return H.useContext(Nn);
810
985
  }
811
- const yn = /* @__PURE__ */ j.createContext("ltr");
812
- function Bn() {
813
- return j.useContext(yn);
986
+ const Fn = /* @__PURE__ */ H.createContext("ltr");
987
+ function Ln() {
988
+ return H.useContext(Fn);
814
989
  }
815
- function Ke(t, e) {
816
- const n = Sn(t, e, Pn);
990
+ function _e(e, t) {
991
+ const n = Mn(e, t, Un);
817
992
  return function() {
818
- const r = Bn(), o = mn();
993
+ const r = Ln(), o = bn();
819
994
  return n({
820
995
  dir: r,
821
996
  renderer: o
822
997
  });
823
998
  };
824
999
  }
825
- const qe = j.createContext(void 0), In = {};
826
- qe.Provider;
827
- const jn = () => {
828
- const t = j.useContext(qe);
829
- return t ?? In;
830
- }, Cn = Ke({
1000
+ const $e = H.createContext(void 0), Kn = {};
1001
+ $e.Provider;
1002
+ const qn = () => {
1003
+ const e = H.useContext($e);
1004
+ return e ?? Kn;
1005
+ }, Wn = _e({
831
1006
  root: {
832
1007
  mc9l5x: "f1w7gpdv",
833
1008
  Bg96gwp: "fez10in"
@@ -837,7 +1012,7 @@ const jn = () => {
837
1012
  }
838
1013
  }, {
839
1014
  d: [".f1w7gpdv{display:inline;}", ".fez10in{line-height:0;}", ".f13rod7r{transform:scaleX(-1);}"]
840
- }), On = (t, e) => {
1015
+ }), Yn = (e, t) => {
841
1016
  const {
842
1017
  // remove unwanted props to be set on the svg/html element
843
1018
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -845,12 +1020,12 @@ const jn = () => {
845
1020
  title: s,
846
1021
  primaryFill: r = "currentColor",
847
1022
  ...o
848
- } = t, c = {
1023
+ } = e, i = {
849
1024
  ...o,
850
1025
  fill: r
851
- }, i = Cn(), l = jn();
852
- return c.className = be(i.root, e?.flipInRtl && l?.textDirection === "rtl" && i.rtl, c.className), s && (c["aria-label"] = s), !c["aria-label"] && !c["aria-labelledby"] ? c["aria-hidden"] = !0 : c.role = "img", c;
853
- }, Hn = Ke({
1026
+ }, c = Wn(), a = qn();
1027
+ return i.className = Ve(c.root, t?.flipInRtl && a?.textDirection === "rtl" && c.rtl, i.className), s && (i["aria-label"] = s), !i["aria-label"] && !i["aria-labelledby"] ? i["aria-hidden"] = !0 : i.role = "img", i;
1028
+ }, zn = _e({
854
1029
  root: {
855
1030
  B8gzw0y: "f1dd5bof"
856
1031
  }
@@ -858,197 +1033,187 @@ const jn = () => {
858
1033
  m: [["@media (forced-colors: active){.f1dd5bof{forced-color-adjust:auto;}}", {
859
1034
  m: "(forced-colors: active)"
860
1035
  }]]
861
- }), xn = "fui-Icon", Dn = (t, e, n, s) => {
862
- const o = j.forwardRef((c, i) => {
863
- const l = Hn(), d = On(c, { flipInRtl: s?.flipInRtl }), g = {
864
- ...d,
865
- className: be(xn, d.className, l.root),
866
- ref: i,
867
- width: e,
868
- height: e,
1036
+ }), Xn = "fui-Icon", Vn = (e, t, n, s) => {
1037
+ const o = H.forwardRef((i, c) => {
1038
+ const a = zn(), u = Yn(i, { flipInRtl: s?.flipInRtl }), d = {
1039
+ ...u,
1040
+ className: Ve(Xn, u.className, a.root),
1041
+ ref: c,
1042
+ width: t,
1043
+ height: t,
869
1044
  viewBox: "0 0 20 20",
870
1045
  xmlns: "http://www.w3.org/2000/svg"
871
1046
  };
872
- return typeof n == "string" ? j.createElement("svg", { ...g, dangerouslySetInnerHTML: { __html: n } }) : j.createElement("svg", g, ...n.map((h) => j.createElement("path", { d: h, fill: g.fill })));
1047
+ return typeof n == "string" ? H.createElement("svg", { ...d, dangerouslySetInnerHTML: { __html: n } }) : H.createElement("svg", d, ...n.map((g) => H.createElement("path", { d: g, fill: d.fill })));
873
1048
  });
874
- return o.displayName = t, o;
875
- }, En = /* @__PURE__ */ Dn("SearchRegular", "1em", ["M13.73 14.44a6.5 6.5 0 1 1 .7-.7l3.42 3.4a.5.5 0 0 1-.63.77l-.07-.06-3.42-3.41Zm-.71-.71A5.54 5.54 0 0 0 15 9.5a5.5 5.5 0 1 0-1.98 4.23Z"]), Rn = "id,displayName,mail,userPrincipalName,jobTitle,department", Jn = "id,displayName,scoredEmailAddresses,userPrincipalName,jobTitle,department", Tn = (t) => {
876
- const e = t.scoredEmailAddresses?.[0]?.address ?? null, n = `person-suggestion:${t.displayName ?? "unknown"}:${t.userPrincipalName ?? e ?? t.jobTitle ?? "no-identity"}`;
877
- return {
878
- id: t.id ?? t.userPrincipalName ?? e ?? t.displayName ?? n,
879
- displayName: t.displayName ?? null,
880
- mail: e,
881
- userPrincipalName: t.userPrincipalName ?? null,
882
- jobTitle: t.jobTitle ?? null,
883
- department: t.department ?? null
884
- };
885
- }, Gn = (t) => t.trim().replace(/"/g, "").trim(), vn = (t, e) => {
886
- const n = Te(), s = ae(), r = le(), o = e?.minChars ?? 1, c = e?.maxResults ?? 10, i = e?.loadInitialResults ?? !1, [l, d] = N([]), [g, h] = N(!1);
887
- return xe(() => {
888
- const u = Gn(t), a = i && t.length === 0;
889
- if (!a && (!u || u.length < o)) {
890
- d([]), h(!1);
1049
+ return o.displayName = e, o;
1050
+ }, Zn = /* @__PURE__ */ Vn("SearchRegular", "1em", ["M13.73 14.44a6.5 6.5 0 1 1 .7-.7l3.42 3.4a.5.5 0 0 1-.63.77l-.07-.06-3.42-3.41Zm-.71-.71A5.54 5.54 0 0 0 15 9.5a5.5 5.5 0 1 0-1.98 4.23Z"]), Je = "id,displayName,mail,userPrincipalName,jobTitle,department", _n = (e) => e.trim().replace(/"/g, "").trim(), $n = (e, t) => {
1051
+ const n = pe(), s = se(), r = re(), o = t?.minChars ?? 1, i = t?.maxResults ?? 10, c = t?.loadInitialResults ?? !1, [a, u] = N([]), [d, g] = N(!1);
1052
+ return ge(() => {
1053
+ const A = _n(e), l = c && e.length === 0;
1054
+ if (!l && (!A || A.length < o)) {
1055
+ u([]), g(!1);
891
1056
  return;
892
1057
  }
893
- let f = !1;
894
- const A = async () => {
895
- h(!0);
1058
+ let p = !1;
1059
+ const f = async () => {
1060
+ g(!0);
896
1061
  try {
897
- if (Dt(s)) {
898
- const B = await s.searchPeople(
899
- a ? "" : u,
900
- c
1062
+ if (Ae(s)) {
1063
+ const m = await s.searchPeople(
1064
+ l ? "" : A,
1065
+ i
901
1066
  );
902
- f || d(B);
1067
+ p || u(m);
903
1068
  } else if (r === "SignedIn" && n) {
904
- let B;
905
- a ? B = ((await n.api("/me/people").select(Jn).top(c).get()).value ?? []).map(Tn) : B = (await n.api("/users").header("ConsistencyLevel", "eventual").search(`"displayName:${u}" OR "mail:${u}" OR "userPrincipalName:${u}"`).select(Rn).top(c).get()).value ?? [], f || d(B);
1069
+ let m;
1070
+ l ? m = (await n.api("/users").select(Je).top(i).get()).value ?? [] : m = (await n.api("/users").header("ConsistencyLevel", "eventual").search(`"displayName:${A}" OR "mail:${A}" OR "userPrincipalName:${A}"`).select(Je).top(i).get()).value ?? [], p || u(m);
906
1071
  } else
907
- f || d([]);
1072
+ p || u([]);
908
1073
  } catch {
909
- f || d([]);
1074
+ p || u([]);
910
1075
  } finally {
911
- f || h(!1);
1076
+ p || g(!1);
912
1077
  }
913
1078
  };
914
- if (a)
915
- return A(), () => {
916
- f = !0;
1079
+ if (l)
1080
+ return f(), () => {
1081
+ p = !0;
917
1082
  };
918
- const P = setTimeout(() => {
919
- A();
1083
+ const S = setTimeout(() => {
1084
+ f();
920
1085
  }, 300);
921
1086
  return () => {
922
- f = !0, clearTimeout(P);
1087
+ p = !0, clearTimeout(S);
923
1088
  };
924
- }, [t, n, s, r, o, c, i]), { results: l, loading: g };
925
- }, Ce = "__no_results__", Mn = 50, oe = (t) => t.displayName || t.mail || t.userPrincipalName || t.id, Qn = (t) => t.mail ?? t.userPrincipalName ?? void 0, We = ({
926
- person: t,
927
- size: e,
1089
+ }, [e, n, s, r, o, i, c]), { results: a, loading: d };
1090
+ }, Te = "__no_results__", es = 50, ue = (e) => e.displayName || e.mail || e.userPrincipalName || e.id, ts = (e) => e.mail ?? e.userPrincipalName ?? void 0, et = ({
1091
+ person: e,
1092
+ size: t,
928
1093
  photoUrl: n
929
- }) => /* @__PURE__ */ m(
930
- ht,
1094
+ }) => /* @__PURE__ */ I(
1095
+ Ot,
931
1096
  {
932
- name: t.displayName ?? void 0,
1097
+ name: e.displayName ?? void 0,
933
1098
  image: n ? { src: n } : void 0,
934
- initials: n ? void 0 : Je(t.displayName ?? void 0),
935
- size: e
1099
+ initials: n ? void 0 : Ne(e.displayName ?? void 0),
1100
+ size: t
936
1101
  }
937
- ), Un = ({
938
- person: t,
939
- size: e
1102
+ ), ns = ({
1103
+ person: e,
1104
+ size: t
940
1105
  }) => {
941
- const { photoUrl: n } = Ge({
942
- userId: t.id,
1106
+ const { photoUrl: n } = Le({
1107
+ userId: e.id,
943
1108
  fetchPhoto: !0
944
1109
  });
945
- return /* @__PURE__ */ m(We, { person: t, size: e, photoUrl: n });
946
- }, Oe = ({
947
- person: t,
948
- size: e
949
- }) => t.photoUrl ? /* @__PURE__ */ m(We, { person: t, size: e, photoUrl: t.photoUrl }) : /* @__PURE__ */ m(Un, { person: t, size: e }), Vn = ({
950
- selectedPeople: t,
951
- defaultSelectedPeople: e,
1110
+ return /* @__PURE__ */ I(et, { person: e, size: t, photoUrl: n });
1111
+ }, Ge = ({
1112
+ person: e,
1113
+ size: t
1114
+ }) => e.photoUrl ? /* @__PURE__ */ I(et, { person: e, size: t, photoUrl: e.photoUrl }) : /* @__PURE__ */ I(ns, { person: e, size: t }), fs = ({
1115
+ selectedPeople: e,
1116
+ defaultSelectedPeople: t,
952
1117
  onSelectionChange: n,
953
1118
  placeholder: s = "Search for people...",
954
1119
  maxPeople: r,
955
1120
  searchMinChars: o = 1,
956
- maxSearchResults: c = 10,
957
- excludeUserIds: i = [],
958
- appearance: l,
959
- size: d,
960
- disabled: g
1121
+ maxSearchResults: i = 10,
1122
+ excludeUserIds: c = [],
1123
+ appearance: a,
1124
+ size: u,
1125
+ disabled: d
961
1126
  }) => {
962
- const h = t !== void 0, [u, a] = N(
963
- e ?? []
964
- ), f = h ? t : u, [A, P] = N(""), [B, S] = N(!1), T = Q(
965
- () => Array.from(new Set(i)),
966
- [i]
967
- ), v = Math.min(
968
- c + T.length,
969
- Mn
970
- ), { results: x, loading: k } = vn(A, {
1127
+ const g = e !== void 0, [A, l] = N(
1128
+ t ?? []
1129
+ ), p = g ? e : A, [f, S] = N(""), [m, h] = N(!1), y = R(
1130
+ () => Array.from(new Set(c)),
1131
+ [c]
1132
+ ), O = Math.min(
1133
+ i + y.length,
1134
+ es
1135
+ ), { results: k, loading: w } = $n(f, {
971
1136
  minChars: o,
972
- maxResults: v,
973
- loadInitialResults: B
974
- }), D = Q(() => {
975
- const p = /* @__PURE__ */ new Map();
976
- for (const J of f)
977
- p.set(J.id, J);
978
- for (const J of x)
979
- p.set(J.id, J);
980
- return p;
981
- }, [f, x]), R = Q(() => f.map((p) => p.id), [f]), C = U(
982
- (p, J) => {
983
- const Y = J.selectedOptions.filter((M) => M !== Ce).map((M) => D.get(M)).filter((M) => M !== void 0);
984
- h || a(Y), n?.(Y), P("");
1137
+ maxResults: O,
1138
+ loadInitialResults: m
1139
+ }), C = R(() => {
1140
+ const P = /* @__PURE__ */ new Map();
1141
+ for (const G of p)
1142
+ P.set(G.id, G);
1143
+ for (const G of k)
1144
+ P.set(G.id, G);
1145
+ return P;
1146
+ }, [p, k]), T = R(() => p.map((P) => P.id), [p]), D = b(
1147
+ (P, G) => {
1148
+ const V = G.selectedOptions.filter((Q) => Q !== Te).map((Q) => C.get(Q)).filter((Q) => Q !== void 0);
1149
+ g || l(V), n?.(V), S("");
985
1150
  },
986
- [h, n, D]
987
- ), O = U((p) => {
988
- P(p.target.value);
989
- }, []), I = U(() => {
990
- S(!0);
991
- }, []), H = U(() => {
992
- S(!1);
993
- }, []), w = r !== void 0 && f.length >= r, y = Q(
994
- () => x.filter((p) => !R.includes(p.id) && !i.includes(p.id)).slice(0, c),
995
- [x, R, i, c]
1151
+ [g, n, C]
1152
+ ), E = b((P) => {
1153
+ S(P.target.value);
1154
+ }, []), x = b(() => {
1155
+ h(!0);
1156
+ }, []), v = b(() => {
1157
+ h(!1);
1158
+ }, []), B = r !== void 0 && p.length >= r, j = R(
1159
+ () => k.filter((P) => !T.includes(P.id) && !c.includes(P.id)).slice(0, i),
1160
+ [k, T, c, i]
996
1161
  );
997
- return /* @__PURE__ */ z(
998
- it,
1162
+ return /* @__PURE__ */ W(
1163
+ mt,
999
1164
  {
1000
- onOptionSelect: C,
1001
- selectedOptions: R,
1002
- appearance: l,
1003
- size: d,
1004
- disabled: g,
1165
+ onOptionSelect: D,
1166
+ selectedOptions: T,
1167
+ appearance: a,
1168
+ size: u,
1169
+ disabled: d,
1005
1170
  children: [
1006
- /* @__PURE__ */ z(at, { expandIcon: /* @__PURE__ */ m(En, {}), children: [
1007
- /* @__PURE__ */ m(lt, { children: f.map((p) => /* @__PURE__ */ z(ut, { value: p.id, shape: "rounded", children: [
1008
- /* @__PURE__ */ m(
1009
- At,
1171
+ /* @__PURE__ */ W(yt, { expandIcon: /* @__PURE__ */ I(Zn, {}), children: [
1172
+ /* @__PURE__ */ I(wt, { children: p.map((P) => /* @__PURE__ */ W(kt, { value: P.id, shape: "rounded", children: [
1173
+ /* @__PURE__ */ I(
1174
+ It,
1010
1175
  {
1011
1176
  hasSecondaryAction: !0,
1012
- media: /* @__PURE__ */ m(Oe, { person: p, size: 16 }),
1013
- children: oe(p)
1177
+ media: /* @__PURE__ */ I(Ge, { person: P, size: 16 }),
1178
+ children: ue(P)
1014
1179
  }
1015
1180
  ),
1016
- /* @__PURE__ */ m(
1017
- dt,
1181
+ /* @__PURE__ */ I(
1182
+ Bt,
1018
1183
  {
1019
- "aria-label": `Remove ${oe(p)}`
1184
+ "aria-label": `Remove ${ue(P)}`
1020
1185
  }
1021
1186
  )
1022
- ] }, p.id)) }),
1023
- !w && /* @__PURE__ */ m(
1024
- gt,
1187
+ ] }, P.id)) }),
1188
+ !B && /* @__PURE__ */ I(
1189
+ Ct,
1025
1190
  {
1026
- value: A,
1027
- onChange: O,
1028
- onFocus: I,
1029
- onBlur: H,
1030
- placeholder: f.length === 0 ? s : void 0,
1031
- disabled: g
1191
+ value: f,
1192
+ onChange: E,
1193
+ onFocus: x,
1194
+ onBlur: v,
1195
+ placeholder: p.length === 0 ? s : void 0,
1196
+ disabled: d
1032
1197
  }
1033
1198
  )
1034
1199
  ] }),
1035
- /* @__PURE__ */ z(ft, { children: [
1036
- A.length >= o && !k && y.length === 0 && /* @__PURE__ */ m(pe, { value: Ce, text: "No people found", style: { pointerEvents: "none", color: "var(--colorNeutralForegroundDisabled)" }, children: "No people found" }),
1037
- y.map((p) => /* @__PURE__ */ m(
1038
- pe,
1200
+ /* @__PURE__ */ W(jt, { children: [
1201
+ f.length >= o && !w && j.length === 0 && /* @__PURE__ */ I(ke, { value: Te, text: "No people found", style: { pointerEvents: "none", color: "var(--colorNeutralForegroundDisabled)" }, children: "No people found" }),
1202
+ j.map((P) => /* @__PURE__ */ I(
1203
+ ke,
1039
1204
  {
1040
- value: p.id,
1041
- media: /* @__PURE__ */ m(Oe, { person: p, size: 32 }),
1042
- secondaryContent: Qn(p),
1043
- children: oe(p)
1205
+ value: P.id,
1206
+ media: /* @__PURE__ */ I(Ge, { person: P, size: 32 }),
1207
+ secondaryContent: ts(P),
1208
+ children: ue(P)
1044
1209
  },
1045
- p.id
1210
+ P.id
1046
1211
  ))
1047
1212
  ] })
1048
1213
  ]
1049
1214
  }
1050
1215
  );
1051
- }, Ye = "data:image/jpeg;base64,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", He = [
1216
+ }, tt = "data:image/jpeg;base64,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", q = [
1052
1217
  {
1053
1218
  id: "00000000-0000-0000-0000-000000000001",
1054
1219
  displayName: "Adele Vance",
@@ -1129,46 +1294,48 @@ const jn = () => {
1129
1294
  jobTitle: "Marketing Manager",
1130
1295
  department: "Marketing"
1131
1296
  }
1132
- ].map((t) => ({
1133
- ...t,
1134
- photoUrl: Ye
1297
+ ].map((e) => ({
1298
+ ...e,
1299
+ photoUrl: tt
1135
1300
  }));
1136
- class Nn {
1301
+ class ss {
1137
1302
  state = "SignedOut";
1138
1303
  listeners = [];
1139
- constructor(e) {
1140
- e?.autoSignIn && (this.state = "SignedIn");
1304
+ constructor(t) {
1305
+ t?.autoSignIn && (this.state = "SignedIn");
1141
1306
  }
1142
1307
  getAccessToken() {
1143
1308
  return this.state !== "SignedIn" ? Promise.reject(new Error("Not signed in")) : Promise.resolve("mock-token");
1144
1309
  }
1145
- async getPersonData(e) {
1146
- const n = "Adele Vance", s = e.identifier && e.identifier !== "me" ? e.identifier : "adelev@contoso.com", r = {
1147
- id: "00000000-0000-0000-0000-000000000000",
1148
- displayName: n,
1149
- userPrincipalName: s,
1150
- jobTitle: "Product Manager",
1151
- department: "Marketing",
1310
+ async getPersonData(t) {
1311
+ const n = t.identifier?.trim(), s = n?.toLowerCase(), r = s && s !== "me" ? q.find(
1312
+ (u) => u.id.toLowerCase() === s || u.mail?.toLowerCase() === s || u.userPrincipalName?.toLowerCase() === s || u.displayName?.toLowerCase() === s
1313
+ ) : q[0], o = r ?? q[0], i = r || !n || n === "me" ? o.userPrincipalName : n, c = {
1314
+ id: o.id,
1315
+ displayName: o.displayName,
1316
+ userPrincipalName: i,
1317
+ jobTitle: o.jobTitle,
1318
+ department: o.department,
1152
1319
  officeLocation: "19/3106",
1153
- mail: "adelev@contoso.com"
1154
- }, o = {
1320
+ mail: o.mail
1321
+ }, a = {
1155
1322
  availability: "Available",
1156
1323
  activity: "Available",
1157
- id: r.id,
1324
+ id: c.id,
1158
1325
  odataType: "#microsoft.graph.presence"
1159
1326
  };
1160
1327
  return {
1161
- user: r,
1162
- presence: e.fetchPresence ? o : null,
1163
- photoUrl: e.fetchPhoto ? Ye : null
1328
+ user: c,
1329
+ presence: t.fetchPresence ? a : null,
1330
+ photoUrl: t.fetchPhoto ? tt : null
1164
1331
  };
1165
1332
  }
1166
- async searchPeople(e, n = 10) {
1167
- const s = e.trim();
1333
+ async searchPeople(t, n = 10) {
1334
+ const s = t.trim();
1168
1335
  if (!s)
1169
- return He.slice(0, n);
1336
+ return q.slice(0, n);
1170
1337
  const r = s.toLowerCase();
1171
- return He.filter(
1338
+ return q.filter(
1172
1339
  (o) => o.displayName?.toLowerCase().includes(r) || o.mail?.toLowerCase().includes(r) || o.userPrincipalName?.toLowerCase().includes(r)
1173
1340
  ).slice(0, n);
1174
1341
  }
@@ -1181,77 +1348,77 @@ class Nn {
1181
1348
  getState() {
1182
1349
  return this.state;
1183
1350
  }
1184
- onStateChanged(e) {
1185
- this.listeners.push(e);
1351
+ onStateChanged(t) {
1352
+ this.listeners.push(t);
1186
1353
  }
1187
- removeStateChangedHandler(e) {
1188
- this.listeners = this.listeners.filter((n) => n !== e);
1354
+ removeStateChangedHandler(t) {
1355
+ this.listeners = this.listeners.filter((n) => n !== t);
1189
1356
  }
1190
1357
  emit() {
1191
- for (const e of this.listeners)
1358
+ for (const t of this.listeners)
1192
1359
  try {
1193
- e();
1360
+ t();
1194
1361
  } catch {
1195
1362
  }
1196
1363
  }
1197
1364
  }
1198
- const Zn = () => new Nn({ autoSignIn: !0 });
1199
- function Fn(t) {
1200
- return `See https://aka.ms/msal.js.errors#${t} for details`;
1365
+ const ps = () => new ss({ autoSignIn: !0 });
1366
+ function rs(e) {
1367
+ return `See https://aka.ms/msal.js.errors#${e} for details`;
1201
1368
  }
1202
- class ge extends Error {
1203
- constructor(e, n, s) {
1204
- const r = n || (e ? Fn(e) : ""), o = r ? `${e}: ${r}` : e;
1205
- super(o), Object.setPrototypeOf(this, ge.prototype), this.errorCode = e || "", this.errorMessage = r || "", this.subError = s || "", this.name = "AuthError";
1369
+ class me extends Error {
1370
+ constructor(t, n, s) {
1371
+ const r = n || (t ? rs(t) : ""), o = r ? `${t}: ${r}` : t;
1372
+ super(o), Object.setPrototypeOf(this, me.prototype), this.errorCode = t || "", this.errorMessage = r || "", this.subError = s || "", this.name = "AuthError";
1206
1373
  }
1207
- setCorrelationId(e) {
1208
- this.correlationId = e;
1374
+ setCorrelationId(t) {
1375
+ this.correlationId = t;
1209
1376
  }
1210
1377
  }
1211
- class fe extends ge {
1212
- constructor(e, n, s, r, o, c, i, l) {
1213
- super(e, n, s), Object.setPrototypeOf(this, fe.prototype), this.timestamp = r || "", this.traceId = o || "", this.correlationId = c || "", this.claims = i || "", this.name = "InteractionRequiredAuthError", this.errorNo = l;
1378
+ class ye extends me {
1379
+ constructor(t, n, s, r, o, i, c, a) {
1380
+ super(t, n, s), Object.setPrototypeOf(this, ye.prototype), this.timestamp = r || "", this.traceId = o || "", this.correlationId = i || "", this.claims = c || "", this.name = "InteractionRequiredAuthError", this.errorNo = a;
1214
1381
  }
1215
1382
  }
1216
- class bn extends Error {
1383
+ class os extends Error {
1217
1384
  /**
1218
1385
  * Creates a new instance of RedirectInProgressError.
1219
1386
  *
1220
1387
  * @param message - A human-readable description of the redirect state.
1221
1388
  */
1222
- constructor(e) {
1223
- super(e), this.name = "RedirectInProgressError";
1389
+ constructor(t) {
1390
+ super(t), this.name = "RedirectInProgressError";
1224
1391
  }
1225
1392
  }
1226
- class _n {
1393
+ class hs {
1227
1394
  msalInstance;
1228
1395
  defaultScopes;
1229
1396
  account = null;
1230
1397
  state = "Loading";
1231
1398
  listeners = [];
1232
- constructor(e, n) {
1233
- this.msalInstance = e, this.defaultScopes = n;
1399
+ constructor(t, n) {
1400
+ this.msalInstance = t, this.defaultScopes = n;
1234
1401
  }
1235
1402
  async initialize() {
1236
1403
  await this.msalInstance.initialize();
1237
- const e = await this.msalInstance.handleRedirectPromise();
1238
- if (e?.account) {
1239
- this.account = e.account, this.msalInstance.setActiveAccount(this.account), this.setState("SignedIn");
1404
+ const t = await this.msalInstance.handleRedirectPromise();
1405
+ if (t?.account) {
1406
+ this.account = t.account, this.msalInstance.setActiveAccount(this.account), this.setState("SignedIn");
1240
1407
  return;
1241
1408
  }
1242
1409
  const n = this.msalInstance.getActiveAccount(), s = this.msalInstance.getAllAccounts();
1243
1410
  this.account = n ?? s[0] ?? null, this.account ? (this.msalInstance.setActiveAccount(this.account), this.setState("SignedIn")) : this.setState("SignedOut");
1244
1411
  }
1245
1412
  async login() {
1246
- const e = { scopes: this.defaultScopes };
1247
- await this.msalInstance.loginRedirect(e);
1413
+ const t = { scopes: this.defaultScopes };
1414
+ await this.msalInstance.loginRedirect(t);
1248
1415
  }
1249
1416
  async logout() {
1250
- const e = this.msalInstance.getActiveAccount() ?? this.account ?? void 0;
1251
- this.account = null, this.msalInstance.setActiveAccount(null), this.setState("SignedOut"), await this.msalInstance.logoutRedirect({ account: e });
1417
+ const t = this.msalInstance.getActiveAccount() ?? this.account ?? void 0;
1418
+ this.account = null, this.msalInstance.setActiveAccount(null), this.setState("SignedOut"), await this.msalInstance.logoutRedirect({ account: t });
1252
1419
  }
1253
- async getAccessToken(e) {
1254
- const n = e && e.length > 0 ? e : this.defaultScopes, s = this.msalInstance.getActiveAccount() ?? this.account;
1420
+ async getAccessToken(t) {
1421
+ const n = t && t.length > 0 ? t : this.defaultScopes, s = this.msalInstance.getActiveAccount() ?? this.account;
1255
1422
  if (!s)
1256
1423
  throw new Error("No active account. User must sign in first.");
1257
1424
  const r = {
@@ -1261,12 +1428,12 @@ class _n {
1261
1428
  try {
1262
1429
  return (await this.msalInstance.acquireTokenSilent(r)).accessToken;
1263
1430
  } catch (o) {
1264
- if (o instanceof fe) {
1265
- const c = {
1431
+ if (o instanceof ye) {
1432
+ const i = {
1266
1433
  scopes: n,
1267
1434
  account: s
1268
1435
  };
1269
- throw await this.msalInstance.acquireTokenRedirect(c), new bn("Redirecting for interactive token acquisition.");
1436
+ throw await this.msalInstance.acquireTokenRedirect(i), new os("Redirecting for interactive token acquisition.");
1270
1437
  }
1271
1438
  throw o;
1272
1439
  }
@@ -1274,31 +1441,31 @@ class _n {
1274
1441
  getState() {
1275
1442
  return this.state;
1276
1443
  }
1277
- onStateChanged(e) {
1278
- this.listeners.push(e);
1444
+ onStateChanged(t) {
1445
+ this.listeners.push(t);
1279
1446
  }
1280
- removeStateChangedHandler(e) {
1281
- this.listeners = this.listeners.filter((n) => n !== e);
1447
+ removeStateChangedHandler(t) {
1448
+ this.listeners = this.listeners.filter((n) => n !== t);
1282
1449
  }
1283
- setState(e) {
1284
- this.state = e, this.emit();
1450
+ setState(t) {
1451
+ this.state = t, this.emit();
1285
1452
  }
1286
1453
  emit() {
1287
- for (const e of this.listeners)
1454
+ for (const t of this.listeners)
1288
1455
  try {
1289
- e();
1456
+ t();
1290
1457
  } catch {
1291
1458
  }
1292
1459
  }
1293
1460
  }
1294
- const Ln = 6e4;
1295
- function $n(t) {
1296
- const e = t.fetchFn ?? fetch;
1461
+ const is = 6e4;
1462
+ function Ss(e) {
1463
+ const t = e.fetchFn ?? fetch;
1297
1464
  return async ({
1298
1465
  ssoToken: n,
1299
1466
  scopes: s
1300
1467
  }) => {
1301
- const r = await e(t.endpoint, {
1468
+ const r = await t(e.endpoint, {
1302
1469
  method: "POST",
1303
1470
  headers: {
1304
1471
  Authorization: `Bearer ${n}`,
@@ -1307,8 +1474,8 @@ function $n(t) {
1307
1474
  body: JSON.stringify({ scopes: s })
1308
1475
  }), o = await r.json().catch(() => ({ error: r.statusText || "Token exchange failed" }));
1309
1476
  if (!r.ok) {
1310
- const c = o?.error || o?.message || r.statusText;
1311
- throw new Error(`Backend token exchange failed: ${c}`);
1477
+ const i = o?.error || o?.message || r.statusText;
1478
+ throw new Error(`Backend token exchange failed: ${i}`);
1312
1479
  }
1313
1480
  if (!o?.accessToken)
1314
1481
  throw new Error("Backend token exchange response did not include accessToken.");
@@ -1318,7 +1485,7 @@ function $n(t) {
1318
1485
  };
1319
1486
  };
1320
1487
  }
1321
- class es {
1488
+ class Ps {
1322
1489
  defaultScopes;
1323
1490
  getTeamsSsoTokenFn;
1324
1491
  exchangeForGraphTokenFn;
@@ -1326,102 +1493,104 @@ class es {
1326
1493
  state = "SignedOut";
1327
1494
  listeners = [];
1328
1495
  tokenCache = /* @__PURE__ */ new Map();
1329
- constructor(e) {
1330
- if (!e.defaultScopes || e.defaultScopes.length === 0)
1496
+ constructor(t) {
1497
+ if (!t.defaultScopes || t.defaultScopes.length === 0)
1331
1498
  throw new Error("TeamsHostedProvider requires at least one default scope.");
1332
- this.defaultScopes = [...new Set(e.defaultScopes)], this.getTeamsSsoTokenFn = e.getTeamsSsoToken, this.exchangeForGraphTokenFn = e.exchangeForGraphToken, this.refreshSkewMs = e.refreshSkewMs ?? Ln;
1499
+ this.defaultScopes = [...new Set(t.defaultScopes)], this.getTeamsSsoTokenFn = t.getTeamsSsoToken, this.exchangeForGraphTokenFn = t.exchangeForGraphToken, this.refreshSkewMs = t.refreshSkewMs ?? is;
1333
1500
  }
1334
1501
  async login() {
1335
1502
  try {
1336
1503
  await this.getAccessToken(), this.setState("SignedIn");
1337
- } catch (e) {
1338
- throw this.clearCache(), this.setState("SignedOut"), e;
1504
+ } catch (t) {
1505
+ throw this.clearCache(), this.setState("SignedOut"), t;
1339
1506
  }
1340
1507
  }
1341
1508
  async logout() {
1342
1509
  this.clearCache(), this.setState("SignedOut");
1343
1510
  }
1344
- async getAccessToken(e) {
1345
- const n = this.normalizeScopes(e), s = this.buildScopeKey(n), r = this.tokenCache.get(s);
1511
+ async getAccessToken(t) {
1512
+ const n = this.normalizeScopes(t), s = this.buildScopeKey(n), r = this.tokenCache.get(s);
1346
1513
  if (r && this.isTokenValid(r))
1347
1514
  return r.accessToken;
1348
1515
  const o = await this.getTeamsSsoTokenFn(n);
1349
1516
  if (!o)
1350
1517
  throw new Error("Teams SSO token acquisition returned empty token.");
1351
- const c = await this.exchangeForGraphTokenFn({
1518
+ const i = await this.exchangeForGraphTokenFn({
1352
1519
  ssoToken: o,
1353
1520
  scopes: n
1354
- }), i = this.normalizeExchangedToken(c);
1355
- return this.tokenCache.set(s, i), this.setState("SignedIn"), i.accessToken;
1521
+ }), c = this.normalizeExchangedToken(i);
1522
+ return this.tokenCache.set(s, c), this.setState("SignedIn"), c.accessToken;
1356
1523
  }
1357
1524
  getState() {
1358
1525
  return this.state;
1359
1526
  }
1360
- onStateChanged(e) {
1361
- this.listeners.push(e);
1527
+ onStateChanged(t) {
1528
+ this.listeners.push(t);
1362
1529
  }
1363
- removeStateChangedHandler(e) {
1364
- this.listeners = this.listeners.filter((n) => n !== e);
1530
+ removeStateChangedHandler(t) {
1531
+ this.listeners = this.listeners.filter((n) => n !== t);
1365
1532
  }
1366
- normalizeScopes(e) {
1367
- const n = e && e.length > 0 ? e : this.defaultScopes, s = [...new Set(n.filter(Boolean))];
1533
+ normalizeScopes(t) {
1534
+ const n = t && t.length > 0 ? t : this.defaultScopes, s = [...new Set(n.filter(Boolean))];
1368
1535
  if (s.length === 0)
1369
1536
  throw new Error("At least one scope is required to request a Graph token.");
1370
1537
  return s;
1371
1538
  }
1372
- buildScopeKey(e) {
1373
- return [...e].sort().join(" ");
1539
+ buildScopeKey(t) {
1540
+ return [...t].sort().join(" ");
1374
1541
  }
1375
- isTokenValid(e) {
1376
- return e.expiresAtMs ? Date.now() + this.refreshSkewMs < e.expiresAtMs : !0;
1542
+ isTokenValid(t) {
1543
+ return t.expiresAtMs ? Date.now() + this.refreshSkewMs < t.expiresAtMs : !0;
1377
1544
  }
1378
- normalizeExchangedToken(e) {
1379
- if (typeof e == "string") {
1380
- if (!e)
1545
+ normalizeExchangedToken(t) {
1546
+ if (typeof t == "string") {
1547
+ if (!t)
1381
1548
  throw new Error("Graph token exchange returned empty access token.");
1382
- return { accessToken: e };
1549
+ return { accessToken: t };
1383
1550
  }
1384
- if (!e.accessToken)
1551
+ if (!t.accessToken)
1385
1552
  throw new Error("Graph token exchange returned empty access token.");
1386
1553
  return {
1387
- accessToken: e.accessToken,
1388
- expiresAtMs: this.toEpochMs(e.expiresAt)
1554
+ accessToken: t.accessToken,
1555
+ expiresAtMs: this.toEpochMs(t.expiresAt)
1389
1556
  };
1390
1557
  }
1391
- toEpochMs(e) {
1392
- if (e)
1393
- return e instanceof Date ? e.getTime() : e;
1558
+ toEpochMs(t) {
1559
+ if (t)
1560
+ return t instanceof Date ? t.getTime() : t;
1394
1561
  }
1395
1562
  clearCache() {
1396
1563
  this.tokenCache.clear();
1397
1564
  }
1398
- setState(e) {
1399
- this.state !== e && (this.state = e, this.emit());
1565
+ setState(t) {
1566
+ this.state !== t && (this.state = t, this.emit());
1400
1567
  }
1401
1568
  emit() {
1402
- for (const e of this.listeners)
1569
+ for (const t of this.listeners)
1403
1570
  try {
1404
- e();
1571
+ t();
1405
1572
  } catch {
1406
1573
  }
1407
1574
  }
1408
1575
  }
1409
1576
  export {
1410
- zn as GraphProvider,
1411
- Nn as MockProvider,
1412
- _n as MsalBrowserProvider,
1413
- Vn as PeoplePicker,
1414
- Xn as Person,
1415
- bn as RedirectInProgressError,
1416
- es as TeamsHostedProvider,
1417
- $n as createBackendTokenExchange,
1418
- Zn as createMockSignedInProvider,
1419
- Dt as isPeopleSearchProvider,
1420
- xt as isPersonDataProvider,
1421
- Te as useGraphClient,
1422
- vn as usePeopleSearch,
1423
- Ot as usePersonCacheOptions,
1424
- Ge as usePersonData,
1425
- ae as useProvider,
1426
- le as useProviderState
1577
+ As as GraphProvider,
1578
+ ss as MockProvider,
1579
+ hs as MsalBrowserProvider,
1580
+ gs as People,
1581
+ fs as PeoplePicker,
1582
+ ds as Person,
1583
+ os as RedirectInProgressError,
1584
+ Ps as TeamsHostedProvider,
1585
+ Ss as createBackendTokenExchange,
1586
+ ps as createMockSignedInProvider,
1587
+ Ae as isPeopleSearchProvider,
1588
+ Fe as isPersonDataProvider,
1589
+ pe as useGraphClient,
1590
+ $t as usePeopleList,
1591
+ $n as usePeopleSearch,
1592
+ Ut as usePersonCacheOptions,
1593
+ Le as usePersonData,
1594
+ se as useProvider,
1595
+ re as useProviderState
1427
1596
  };