@arcgis/portal-components 5.2.0-next.77 → 5.2.0-next.79

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,39 +1,39 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import { g as ee, c as gt } from "../../chunks/runtime.js";
3
- import { safeStyleMap as ke, safeClassMap as H, LitElement as bt, createEvent as V } from "@arcgis/lumina";
4
- import { u as vt } from "../../chunks/useT9n.js";
5
- import { nothing as L, html as c, svg as _t, css as wt } from "lit";
6
- import { formatDate as yt, substitute as K, getLocale as $t } from "@arcgis/core/intl.js";
7
- import { g as re, b as Ae } from "../../chunks/url.js";
8
- import { a as G } from "../../chunks/requests.js";
9
- import { repeat as z } from "lit/directives/repeat.js";
10
- import { m as kt } from "../../chunks/icons.js";
11
- import { i as C, c as he, a as At } from "../../chunks/user2.js";
2
+ import { g as ee, c as yt } from "../../chunks/runtime.js";
3
+ import { safeStyleMap as ke, safeClassMap as te, LitElement as $t, createEvent as H } from "@arcgis/lumina";
4
+ import { u as At } from "../../chunks/useT9n.js";
5
+ import { nothing as O, html as c, svg as kt, css as xt } from "lit";
6
+ import { formatDate as St, substitute as K, getLocale as It } from "@arcgis/core/intl.js";
7
+ import { g as oe, b as xe } from "../../chunks/url.js";
8
+ import { a as B } from "../../chunks/requests.js";
9
+ import { repeat as U } from "lit/directives/repeat.js";
10
+ import { m as Pt } from "../../chunks/icons.js";
11
+ import { i as M, c as me, a as Tt } from "../../chunks/user2.js";
12
12
  import "@arcgis/core/portal/Portal.js";
13
- import { c as xt, d as St, e as It, f as Pt, h as Nt } from "../../chunks/portal2.js";
14
- import { c as Tt, d as Ct, e as Mt } from "../../chunks/user.js";
15
- import { i as xe, a as Lt } from "../../chunks/utils2.js";
16
- import { g as Ot } from "../../chunks/request.js";
17
- import { g as Se } from "../../chunks/item2.js";
18
- import { keyed as oe } from "lit/directives/keyed.js";
19
- import { e as se, n as Et, g as ae, f as q, a as jt } from "../../chunks/portal.js";
20
- import { ref as F, createRef as B } from "lit/directives/ref.js";
21
- import { c as Dt, g as zt } from "../../chunks/dom.js";
22
- import { debounce as me } from "@arcgis/toolkit/function";
23
- import Gt from "@arcgis/core/identity/IdentityManager.js";
24
- import { t as Ut } from "../../chunks/functionalities.js";
25
- import { c as Bt } from "../../chunks/string.js";
26
- function fe({ portal: e, productInfo: t }) {
13
+ import { c as Nt, d as Ct, e as Mt, f as Lt, h as Ot } from "../../chunks/portal2.js";
14
+ import { c as Et, d as jt, e as Dt } from "../../chunks/user.js";
15
+ import { i as Se, a as zt } from "../../chunks/utils2.js";
16
+ import { g as Gt } from "../../chunks/request.js";
17
+ import { g as Ie } from "../../chunks/item2.js";
18
+ import { keyed as se } from "lit/directives/keyed.js";
19
+ import { e as ae, n as Ut, g as ce, f as q, a as Bt } from "../../chunks/portal.js";
20
+ import { ref as R, createRef as W } from "lit/directives/ref.js";
21
+ import { c as Ft, g as Wt } from "../../chunks/dom.js";
22
+ import { debounce as fe } from "@arcgis/toolkit/function";
23
+ import Rt from "@arcgis/core/identity/IdentityManager.js";
24
+ import { t as Vt } from "../../chunks/functionalities.js";
25
+ import { c as Ht } from "../../chunks/string.js";
26
+ function ge({ portal: e, productInfo: t }) {
27
27
  const { name: i, glyph: n } = t || {};
28
- return c`<img alt class="logo__glyph" src=${n ?? L}><span class="logo__text"><span class="logo__title">${i}</span>${e?.name && c`<span class="logo__subtitle">${e.name}</span>` || ""}</span>`;
28
+ return c`<img alt class="logo__glyph" src=${n ?? O}><span class="logo__text"><span class="logo__title">${i}</span>${e?.name && c`<span class="logo__subtitle">${e.name}</span>` || ""}</span>`;
29
29
  }
30
- function Ft({ navigate: e, portal: t, product: i, productInfo: n, productHref: r, messages: o, searchActive: s, showNav: a, projectTitleEditing: l }) {
31
- const u = s && i === "Online" && !a || i !== "Online" && l && window.innerWidth < 960;
32
- return !i || !t || !o || u ? null : r ? c`<a href=${r ?? L} @click=${(h) => {
33
- e({ event: h, href: r });
34
- }} class="logo fade-in logo--link">${fe({ portal: t, productInfo: n })}</a>` : c`<div class="logo fade-in">${fe({ portal: t, productInfo: n })}</div>`;
30
+ function qt({ navigate: e, portal: t, product: i, productInfo: n, productHref: r, messages: o, searchActive: s, showNav: a, projectTitleEditing: l }) {
31
+ const d = s && i === "Online" && !a || i !== "Online" && l && window.innerWidth < 960;
32
+ return !i || !t || !o || d ? null : r ? c`<a href=${r ?? O} @click=${(m) => {
33
+ e({ event: m, href: r });
34
+ }} class="logo fade-in logo--link">${ge({ portal: t, productInfo: n })}</a>` : c`<div class="logo fade-in">${ge({ portal: t, productInfo: n })}</div>`;
35
35
  }
36
- const Y = {}, T = {
36
+ const Y = {}, C = {
37
37
  Month: 2628e3,
38
38
  Week: 604800,
39
39
  Day: 86400,
@@ -41,73 +41,73 @@ const Y = {}, T = {
41
41
  Minute: 60,
42
42
  Second: 1
43
43
  };
44
- function Ie(e) {
44
+ function Pe(e) {
45
45
  if (!e)
46
46
  return null;
47
- const t = Math.floor(e / 1e3), i = Math.abs(t), n = T.Day * 365;
47
+ const t = Math.floor(e / 1e3), i = Math.abs(t), n = C.Day * 365;
48
48
  switch (!0) {
49
- case i < T.Minute:
50
- return [Math.floor(t / T.Second), "second"];
51
- case i < T.Hour:
52
- return [Math.floor(t / T.Minute), "minute"];
53
- case i < T.Day:
54
- return [Math.floor(t / T.Hour), "hour"];
55
- case i < T.Week:
56
- return [Math.floor(t / T.Day), "day"];
57
- case i < T.Month:
58
- return [Math.floor(t / T.Week), "week"];
49
+ case i < C.Minute:
50
+ return [Math.floor(t / C.Second), "second"];
51
+ case i < C.Hour:
52
+ return [Math.floor(t / C.Minute), "minute"];
53
+ case i < C.Day:
54
+ return [Math.floor(t / C.Hour), "hour"];
55
+ case i < C.Week:
56
+ return [Math.floor(t / C.Day), "day"];
57
+ case i < C.Month:
58
+ return [Math.floor(t / C.Week), "week"];
59
59
  case i < n:
60
- return [Math.floor(t / T.Month), "month"];
60
+ return [Math.floor(t / C.Month), "month"];
61
61
  default:
62
62
  return [Math.floor(t / n), "year"];
63
63
  }
64
64
  }
65
- function Pe(e) {
65
+ function Te(e) {
66
66
  return (typeof e == "number" ? e : e.getTime?.()) - (/* @__PURE__ */ new Date()).getTime();
67
67
  }
68
68
  function Ne({ locale: e, time: t, t9n: i }) {
69
69
  if (!e || !t)
70
70
  return "";
71
- const n = Pe(t);
71
+ const n = Te(t);
72
72
  Y[e] ??= new Intl.RelativeTimeFormat(e, { style: "long" });
73
- const r = Ie(n);
73
+ const r = Pe(n);
74
74
  return r ? r[1] === "second" ? i?.lessThanOneMinute || `< ${Y[e].format(r[0] > 0 ? 1 : -1, "minutes")}` : Y[e].format(r[0], r[1]) : "";
75
75
  }
76
- const Wt = {
76
+ const Jt = {
77
77
  month: "long",
78
78
  day: "numeric",
79
79
  year: "numeric"
80
- }, Rt = {
80
+ }, Kt = {
81
81
  month: "long",
82
82
  day: "numeric"
83
83
  };
84
- function Vt({ locale: e, time: t }, i) {
84
+ function Qt({ locale: e, time: t }, i) {
85
85
  if (!e || !t)
86
86
  return "";
87
87
  const n = new Date(t);
88
- return yt(n, i ? Wt : Rt);
88
+ return St(n, i ? Jt : Kt);
89
89
  }
90
- async function Ht({ portal: e }) {
90
+ async function Xt({ portal: e }) {
91
91
  if (!e?.user)
92
92
  return { result: [] };
93
- const t = `${e.restUrl}/community/users/${e.user.id}/notifications`, { result: i, error: n } = await G(t);
93
+ const t = `${e.restUrl}/community/users/${e.user.id}/notifications`, { result: i, error: n } = await B(t);
94
94
  return n ? { error: n } : { result: i?.notifications };
95
95
  }
96
- async function qt(e, t) {
96
+ async function Yt(e, t) {
97
97
  if (!e?.user)
98
98
  return { success: !0 };
99
- const i = t.map((o) => ({ portal: e, id: o })).map(Te);
99
+ const i = t.map((o) => ({ portal: e, id: o })).map(Ce);
100
100
  return { success: !((await Promise.allSettled(i))?.filter((o) => o.status === "rejected" || !o.value?.success)).length };
101
101
  }
102
- async function Te({
102
+ async function Ce({
103
103
  portal: e,
104
104
  id: t
105
105
  }) {
106
- const i = `${e.restUrl}/community/users/${e.user?.id}/notifications/${t}/delete`, { result: n } = await G(i, { method: "post" });
106
+ const i = `${e.restUrl}/community/users/${e.user?.id}/notifications/${t}/delete`, { result: n } = await B(i, { method: "post" });
107
107
  return n?.success ? { success: !0, id: t } : { success: !1, id: t };
108
108
  }
109
- const Ce = "notifications-menu";
110
- function Jt(e) {
109
+ const Me = "notifications-menu";
110
+ function Zt(e) {
111
111
  try {
112
112
  const t = decodeURIComponent(e);
113
113
  return t !== e ? t : e;
@@ -115,7 +115,7 @@ function Jt(e) {
115
115
  return e;
116
116
  }
117
117
  }
118
- function Kt(e) {
118
+ function ei(e) {
119
119
  switch (e) {
120
120
  case "group_join_admin":
121
121
  return "users";
@@ -170,7 +170,7 @@ function Kt(e) {
170
170
  return "bell";
171
171
  }
172
172
  }
173
- function Qt({
173
+ function ti({
174
174
  notification: e,
175
175
  portal: t,
176
176
  locale: i,
@@ -181,12 +181,12 @@ function Qt({
181
181
  date: Ne({ locale: i, time: e.received, t9n: n }),
182
182
  id: e.id,
183
183
  text: "",
184
- icon: Kt(e.type)
184
+ icon: ei(e.type)
185
185
  };
186
- if (e.type === "webapp_not_copied" && t.isPortal && (e.type = "webapp_not_copied_portal"), e.data?.taskTitle && (e.data.taskTitle = Jt(e.data.taskTitle)), e.type === "message_received")
186
+ if (e.type === "webapp_not_copied" && t.isPortal && (e.type = "webapp_not_copied_portal"), e.data?.taskTitle && (e.data.taskTitle = Zt(e.data.taskTitle)), e.type === "message_received")
187
187
  r.text = e.data.message || "";
188
188
  else if (n.types[e.type]) {
189
- const o = re({ portal: t, usePortalHostname: !!t.user });
189
+ const o = oe({ portal: t, usePortalHostname: !!t.user });
190
190
  e.data.baseUrl = `${o}/home/`, r.text = K(n.types[e.type], e.data);
191
191
  }
192
192
  if (r.text)
@@ -194,64 +194,64 @@ function Qt({
194
194
  }
195
195
  return null;
196
196
  }
197
- async function ge({
197
+ async function be({
198
198
  portal: e,
199
199
  locale: t,
200
200
  t9n: i
201
201
  }) {
202
202
  if (!i)
203
203
  return [];
204
- const { result: n, error: r } = await Ht({ portal: e });
205
- return r && console.error(r), n?.length ? n.map((s) => Qt({ notification: s, portal: e, t9n: i, locale: t })).filter((s) => s) : [];
204
+ const { result: n, error: r } = await Xt({ portal: e });
205
+ return r && console.error(r), n?.length ? n.map((s) => ti({ notification: s, portal: e, t9n: i, locale: t })).filter((s) => s) : [];
206
206
  }
207
- function Xt({ notifications: e, messages: t, handleToggleNotifications: i, handleToggleSearch: n, notificationsActive: r }) {
208
- return t ? c`<calcite-action class="action" scale=l .text=${t.label} icon=bell .indicator=${!!e?.length} id=${Ce} @click=${() => i(!r)} @focusin=${() => n(!1, !0)}></calcite-action>` : null;
207
+ function ii({ notifications: e, messages: t, handleToggleNotifications: i, handleToggleSearch: n, notificationsActive: r }) {
208
+ return t ? c`<calcite-action class="action" scale=l .text=${t.label} icon=bell .indicator=${!!e?.length} id=${Me} @click=${() => i(!r)} @focusin=${() => n(!1, !0)}></calcite-action>` : null;
209
209
  }
210
210
  function J({ icon: e, title: t, description: i }) {
211
- return !t && !i ? null : c`<div class="empty">${e && c`<svg xmlns=http://www.w3.org/2000/svg width=64 height=64 viewBox="0 0 64 64" fill=none>${_t`<path d=${kt[e] ?? L} fill=var(--calcite-color-border-input) />`}</svg>` || ""}${t && c`<h3 class="notifications__empty__header">${t}</h3>` || ""}${i && c`<p class="notifications__empty__text">${i}</p>` || ""}</div>`;
212
- }
213
- function Yt({ notifications: e, deleteNotifications: t, messages: i, navigate: n, portal: r, notificationsActive: o, handleToggleNotifications: s, notificationDeleteProgress: a }) {
214
- return i ? c`<calcite-popover .referenceElement=${Ce} @calcitePopoverClose=${() => s(!1)} .label=${i.label} auto-close .open=${o} pointer-disabled flip-disabled trigger-disabled placement=bottom-end scale=l .heading=${i.label}>${e?.length > 0 ? c`<div class="notifications notifications--full">${typeof a == "number" && c`<calcite-scrim><calcite-loader type=determinate-value .label=${i.deleting} .value=${a}></calcite-loader></calcite-scrim>` || ""}<calcite-list .label=${i.label} interaction-mode=static class="notifications__list" scale=l>${z(e, (l) => l.id, (l) => c`<calcite-list-item closable @calciteListItemClose=${async () => await t([l.id])} .messageOverrides=${{ close: i.dismissLabel }} .iconStart=${l.icon}><div slot=content class="notification"><div class="notification__message" .innerHTML=${l.text ?? ""} @click=${(u) => {
215
- const h = u.target, b = h.href;
216
- if (h.nodeName === "CALCITE-LINK" && b) {
217
- const p = `${re({ portal: r, usePortalHostname: !!r.user })}/home/`;
218
- n({ event: u, href: b, relativePath: b.replace(p, "") });
211
+ return !t && !i ? null : c`<div class="empty">${e && c`<svg xmlns=http://www.w3.org/2000/svg width=64 height=64 viewBox="0 0 64 64" fill=none>${kt`<path d=${Pt[e] ?? O} fill=var(--calcite-color-border-input) />`}</svg>` || ""}${t && c`<h3 class="notifications__empty__header">${t}</h3>` || ""}${i && c`<p class="notifications__empty__text">${i}</p>` || ""}</div>`;
212
+ }
213
+ function ni({ notifications: e, deleteNotifications: t, messages: i, navigate: n, portal: r, notificationsActive: o, handleToggleNotifications: s, notificationDeleteProgress: a }) {
214
+ return i ? c`<calcite-popover .referenceElement=${Me} @calcitePopoverClose=${() => s(!1)} .label=${i.label} auto-close .open=${o} pointer-disabled flip-disabled trigger-disabled placement=bottom-end scale=l .heading=${i.label}>${e?.length > 0 ? c`<div class="notifications notifications--full">${typeof a == "number" && c`<calcite-scrim><calcite-loader type=determinate-value .label=${i.deleting} .value=${a}></calcite-loader></calcite-scrim>` || ""}<calcite-list .label=${i.label} interaction-mode=static class="notifications__list" scale=l>${U(e, (l) => l.id, (l) => c`<calcite-list-item closable @calciteListItemClose=${async () => await t([l.id])} .messageOverrides=${{ close: i.dismissLabel }} .iconStart=${l.icon}><div slot=content class="notification"><div class="notification__message" .innerHTML=${l.text ?? ""} @click=${(d) => {
215
+ const m = d.target, g = m.href;
216
+ if (m.nodeName === "CALCITE-LINK" && g) {
217
+ const p = `${oe({ portal: r, usePortalHostname: !!r.user })}/home/`;
218
+ n({ event: d, href: g, relativePath: g.replace(p, "") });
219
219
  }
220
220
  }}></div><div class="notification__date">${l.date}</div></div></calcite-list-item>`)}</calcite-list></div><calcite-button class="notifications__dismiss" scale=l appearance=transparent @click=${async (l) => {
221
- const u = l.currentTarget?.parentElement;
222
- await t(e?.map(({ id: h }) => h)), u.open = !1;
221
+ const d = l.currentTarget?.parentElement;
222
+ await t(e?.map(({ id: m }) => m)), d.open = !1;
223
223
  }}>${i.dismissAllLabel}</calcite-button>` : c`<div class="notifications">${J({ title: i.noNotifications, description: i.noNotificationsDescription, icon: "check" })}</div>`}</calcite-popover>` : null;
224
224
  }
225
- function Zt(e) {
225
+ function ri(e) {
226
226
  return e.replace(/[.*+?^${}()|[\]\\]/gu, "\\$&");
227
227
  }
228
- function ei(e, t, i, n) {
229
- si(e, JSON.stringify(t), i);
228
+ function oi(e, t, i, n) {
229
+ di(e, JSON.stringify(t), i);
230
230
  }
231
- function ti(e) {
232
- return ri(e, !0);
231
+ function si(e) {
232
+ return li(e, !0);
233
233
  }
234
- function ii(e) {
234
+ function ai(e) {
235
235
  try {
236
236
  window.localStorage.removeItem(e);
237
237
  } catch {
238
238
  }
239
239
  }
240
- function ni(e) {
240
+ function ci(e) {
241
241
  try {
242
242
  window.sessionStorage.removeItem(e);
243
243
  } catch {
244
244
  }
245
245
  }
246
- function ri(e, t) {
247
- const i = oi(e);
246
+ function li(e, t) {
247
+ const i = ui(e);
248
248
  return i && t ? JSON.parse(i) : i;
249
249
  }
250
- function oi(e) {
251
- const t = document.cookie, i = new RegExp(`(?:^|; )${Zt(e)}=([^;]*)`, "u"), n = t.match(i);
250
+ function ui(e) {
251
+ const t = document.cookie, i = new RegExp(`(?:^|; )${ri(e)}=([^;]*)`, "u"), n = t.match(i);
252
252
  return n ? decodeURIComponent(n[1]) : "";
253
253
  }
254
- function si(e, t, i) {
254
+ function di(e, t, i) {
255
255
  i = i || {};
256
256
  let n = i?.expires;
257
257
  if (typeof n == "number") {
@@ -267,9 +267,9 @@ function si(e, t, i) {
267
267
  }
268
268
  document.cookie = r;
269
269
  }
270
- async function ai(e) {
270
+ async function pi(e) {
271
271
  const i = `owner:"${e.isPortal ? "esri" : "esri_config"}" AND title:"AppSwitcher Config" AND type:"Application Configuration"`, n = `${e.restUrl}/search`;
272
- return await G(n, { query: {
272
+ return await B(n, { query: {
273
273
  num: 1,
274
274
  start: 0,
275
275
  sortField: "title",
@@ -277,46 +277,46 @@ async function ai(e) {
277
277
  q: i
278
278
  } });
279
279
  }
280
- async function ci(e) {
280
+ async function hi(e) {
281
281
  const t = { appSwitcher: { apps: [] } };
282
282
  if (!e?.id || !e.user)
283
283
  return t;
284
- const { result: i } = await ai(e), n = i?.results?.[0];
284
+ const { result: i } = await pi(e), n = i?.results?.[0];
285
285
  if (!n)
286
286
  return t;
287
287
  const r = n.id;
288
- return (await Se(e, r)).result;
288
+ return (await Ie(e, r)).result;
289
289
  }
290
- async function li(e, t, i) {
290
+ async function mi(e, t, i) {
291
291
  if (!t || !e?.length)
292
292
  return { result: null };
293
293
  const n = `${i.restUrl}/search`;
294
- return await G(n, {
294
+ return await B(n, {
295
295
  query: {
296
296
  num: 100,
297
297
  q: `id:(${e.map((r) => `"${r.itemId}"`).join(" OR ")})`
298
298
  }
299
299
  });
300
300
  }
301
- async function ui(e) {
301
+ async function fi(e) {
302
302
  const t = `${e.restUrl}/search`, i = {
303
303
  num: 10,
304
304
  start: 0,
305
305
  sortField: "title",
306
306
  sortOrder: "asc",
307
307
  q: 'owner:"esri" AND title:"BlockedApps Config" AND type: "Application Configuration"'
308
- }, { result: n } = await G(t, { query: i }), r = n?.results?.[0]?.id;
309
- return r ? (await Se(e, r))?.result?.blockedApps || [] : [];
308
+ }, { result: n } = await B(t, { query: i }), r = n?.results?.[0]?.id;
309
+ return r ? (await Ie(e, r))?.result?.blockedApps || [] : [];
310
310
  }
311
- function di(e, t) {
311
+ function gi(e, t) {
312
312
  const i = e?.toLowerCase() || "", n = `${t.title || ""} ${t.label || ""}`;
313
313
  return !i || n.toLowerCase().includes(i);
314
314
  }
315
- function pi() {
316
- if (ti("APSW-query")?.expires > (/* @__PURE__ */ new Date()).setHours((/* @__PURE__ */ new Date()).getHours()))
315
+ function bi() {
316
+ if (si("APSW-query")?.expires > (/* @__PURE__ */ new Date()).setHours((/* @__PURE__ */ new Date()).getHours()))
317
317
  return !0;
318
318
  const t = { expires: (/* @__PURE__ */ new Date()).setHours((/* @__PURE__ */ new Date()).getHours() + 5) };
319
- return ei(
319
+ return oi(
320
320
  "APSW-query",
321
321
  t,
322
322
  {
@@ -326,16 +326,16 @@ function pi() {
326
326
  }
327
327
  ), !1;
328
328
  }
329
- function hi(e, t) {
329
+ function vi(e, t) {
330
330
  const { landingPage: i } = t || {};
331
331
  return {
332
332
  image: "arcgis-online.png",
333
333
  label: "ArcGIS Online",
334
334
  title: "ArcGIS Online",
335
- url: `${Ae({ portal: e })}/${i?.url ? i.url : xe(e.user) ? "organization.html" : "index.html"}`
335
+ url: `${xe({ portal: e })}/${i?.url ? i.url : Se(e.user) ? "organization.html" : "index.html"}`
336
336
  };
337
337
  }
338
- function be(e) {
338
+ function ve(e) {
339
339
  const i = [
340
340
  "api-for-python",
341
341
  "appstudio",
@@ -418,10 +418,10 @@ function be(e) {
418
418
  "workflow-manager-beta",
419
419
  "workflow-manager",
420
420
  "workforce"
421
- ].find((n) => e?.includes(n) && W(`${n}.png`) === e);
422
- return i ? W(`${i}.avif`) : e;
421
+ ].find((n) => e?.includes(n) && V(`${n}.png`) === e);
422
+ return i ? V(`${i}.avif`) : e;
423
423
  }
424
- function mi(e, t) {
424
+ function _i(e, t) {
425
425
  const i = e?.blockedApps || [], n = [];
426
426
  return !i.length && !e.blockBetaApps || !t?.length ? [] : (e.blockBetaApps && t.forEach((r) => {
427
427
  r.isBeta && !i.includes(r.clientid) && i.push(r.clientid);
@@ -430,102 +430,102 @@ function mi(e, t) {
430
430
  o && n.push(o);
431
431
  }), n);
432
432
  }
433
- function I(e, t) {
433
+ function S(e, t) {
434
434
  return t && t[e.toLowerCase()]?.valid || !1;
435
435
  }
436
- function fi(e, t) {
437
- return e?.portalProperties && !e.portalProperties?.openData?.enabled ? !1 : I("HubforArcGIS", t);
436
+ function wi(e, t) {
437
+ return e?.portalProperties && !e.portalProperties?.openData?.enabled ? !1 : S("HubforArcGIS", t);
438
438
  }
439
- function gi(e, t) {
439
+ function yi(e, t) {
440
440
  if (!e)
441
441
  return !1;
442
442
  const i = [
443
443
  "portal:publisher:publishFeeds",
444
444
  "portal:publisher:publishRealTimeAnalytics",
445
445
  "portal:publisher:publishBigDataAnalytics"
446
- ], r = (e?.privileges || []).some((s) => i.includes(s)), o = I("velocity", t);
446
+ ], r = (e?.privileges || []).some((s) => i.includes(s)), o = S("velocity", t);
447
447
  return r && o;
448
448
  }
449
- function bi(e) {
450
- return I("HubforArcGIS", e);
449
+ function $i(e) {
450
+ return S("HubforArcGIS", e);
451
451
  }
452
- function vi(e, t) {
453
- return !(e.isPortal && e.portalProperties?.newMapViewerEnabled === !1) && I("arcgisWebApps", t);
452
+ function Ai(e, t) {
453
+ return !(e.isPortal && e.portalProperties?.newMapViewerEnabled === !1) && S("arcgisWebApps", t);
454
454
  }
455
- function _i(e) {
455
+ function ki(e) {
456
456
  return !!e.helperServices?.rasterAnalytics && !!e.helperServices.orthoMapping;
457
457
  }
458
- function wi(e, t, i) {
458
+ function xi(e, t, i) {
459
459
  const n = i && (!e.isPortal || !!e.sourceJSON?.supportsHostedNotebooks), r = !!t?.privileges?.length && t.privileges.some((o) => o === "premium:publisher:createNotebooks");
460
460
  return n && r;
461
461
  }
462
- function yi(e, t) {
462
+ function Si(e, t) {
463
463
  return !!e.helperServices?.locationTracking && t;
464
464
  }
465
- function $i(e, t, i, n) {
465
+ function Ii(e, t, i, n) {
466
466
  const r = e?.user;
467
467
  return {
468
468
  "Open Data": {
469
- hasAccess: () => fi(e, n)
469
+ hasAccess: () => wi(e, n)
470
470
  },
471
471
  AppStudio: {
472
- hasAccess: () => I("arcgisWebApps", n)
472
+ hasAccess: () => S("arcgisWebApps", n)
473
473
  },
474
474
  "ArcGIS Velocity": {
475
- hasAccess: () => e.isPortal || gi(r, n)
475
+ hasAccess: () => e.isPortal || yi(r, n)
476
476
  },
477
477
  "ArcGIS Hub": {
478
- hasAccess: () => I("HubforArcGIS", n)
478
+ hasAccess: () => S("HubforArcGIS", n)
479
479
  },
480
480
  "ArcGIS Enterprise Sites": {
481
- hasAccess: () => bi(n)
481
+ hasAccess: () => $i(n)
482
482
  },
483
483
  "ArcGIS QuickCapture Web Designer": {
484
- hasAccess: () => I("arcgisWebApps", n)
484
+ hasAccess: () => S("arcgisWebApps", n)
485
485
  },
486
486
  "ArcGIS Dashboards": {
487
- hasAccess: () => I("dashboards", n)
487
+ hasAccess: () => S("dashboards", n)
488
488
  },
489
489
  "Map Viewer": {
490
- hasAccess: () => vi(e, n)
490
+ hasAccess: () => Ai(e, n)
491
491
  },
492
492
  "Map Viewer Classic": {
493
- hasAccess: () => I("arcgisWebApps", n)
493
+ hasAccess: () => S("arcgisWebApps", n)
494
494
  },
495
495
  "Operations Dashboard for ArcGIS": {
496
- hasAccess: () => I("opsdashboard", n)
496
+ hasAccess: () => S("opsdashboard", n)
497
497
  },
498
498
  "ArcGIS Dashboards Classic": {
499
- hasAccess: () => I("opsdashboard", n)
499
+ hasAccess: () => S("opsdashboard", n)
500
500
  },
501
501
  "Ortho Maker": {
502
- hasAccess: () => _i(e)
502
+ hasAccess: () => ki(e)
503
503
  },
504
504
  Notebook: {
505
- hasAccess: () => wi(e, r, t)
505
+ hasAccess: () => xi(e, r, t)
506
506
  },
507
507
  "Scene Viewer": {
508
- hasAccess: () => I("arcgisWebApps", n)
508
+ hasAccess: () => S("arcgisWebApps", n)
509
509
  },
510
510
  "Story Maps": {
511
- hasAccess: () => I("arcgisWebApps", n)
511
+ hasAccess: () => S("arcgisWebApps", n)
512
512
  },
513
513
  Survey123: {
514
- hasAccess: () => I("survey123", n)
514
+ hasAccess: () => S("survey123", n)
515
515
  },
516
516
  "Track Viewer": {
517
- hasAccess: () => yi(e, i)
517
+ hasAccess: () => Si(e, i)
518
518
  },
519
519
  "Instant Apps": {
520
520
  // For Portal
521
- hasAccess: () => I("arcgisWebApps", n)
521
+ hasAccess: () => S("arcgisWebApps", n)
522
522
  },
523
523
  "ArcGIS Maps for Adobe Creative Cloud": {
524
- hasAccess: () => I("arcgisWebApps", n) && !e.isPortal
524
+ hasAccess: () => S("arcgisWebApps", n) && !e.isPortal
525
525
  }
526
526
  };
527
527
  }
528
- function ki(e) {
528
+ function Pi(e) {
529
529
  let t = {
530
530
  opsdashboard: 1,
531
531
  arcgisWebApps: 1,
@@ -549,47 +549,47 @@ function ki(e) {
549
549
  };
550
550
  return e.isPortal && (t = { ...t, arcgisonline: 1, arcgisUrban: 1, arcgisinstantapps: 1 }), t;
551
551
  }
552
- function te(e) {
552
+ function ie(e) {
553
553
  return e.sourceJSON?.subscriptionInfo?.options?.includes("Developer");
554
554
  }
555
- function W(e) {
555
+ function V(e) {
556
556
  return ee(`assets/portal-navigation/apps/${e || ""}`);
557
557
  }
558
- function Me(e, t, i) {
558
+ function Le(e, t, i) {
559
559
  return e.icon ? `${t.restUrl}/portals/self/resources/${e.icon}?token=${i}` : `${t.restUrl}/content/items/${e.itemId}/resources/${e.image || e.properties?.appSwitcher?.image}?token=${i}`;
560
560
  }
561
- function D(e, t, i) {
562
- if (e.image ? e.image = W(e.image) : e.placeHolderIcon = `${W()}svg-app-icon.svg`, e.url?.startsWith("../")) {
561
+ function G(e, t, i) {
562
+ if (e.image ? e.image = V(e.image) : e.placeHolderIcon = `${V()}svg-app-icon.svg`, e.url?.startsWith("../")) {
563
563
  const n = i.urlKey ? `${i.urlKey}.${i.customBaseUrl}` : i.portalHostname;
564
564
  e.url = `${window.location.protocol}//${n}${e.url.substring(2, e.url.length)}`;
565
565
  }
566
566
  return delete e.isLicensed, delete e.privileges, e.itemId = t, e;
567
567
  }
568
- function Le() {
569
- return `${W()}svg-app-circle.svg`;
568
+ function Oe() {
569
+ return `${V()}svg-app-circle.svg`;
570
570
  }
571
- function Ai(e, t, i) {
571
+ function Ti(e, t, i) {
572
572
  const n = e.properties?.appSwitcher?.image || e.icon;
573
573
  return {
574
574
  abbr: e.properties?.appSwitcher?.abbr || e.abbreviation,
575
575
  itemId: e.itemId,
576
576
  canAccess: !0,
577
577
  webMappingApp: !0,
578
- image: n ? Me(e, t, i) : void 0,
578
+ image: n ? Le(e, t, i) : void 0,
579
579
  label: e.title || e.label,
580
580
  url: e.url,
581
- placeHolderIcon: e.placeHolderIcon || Le()
581
+ placeHolderIcon: e.placeHolderIcon || Oe()
582
582
  };
583
583
  }
584
- function xi(e, t, i) {
585
- return e.appSwitcher?.image || e.icon ? e.image = Me(e, t, i) : e.placeHolderIcon = Le(), e.abbr = e.appSwitcher?.abbr || e.abbreviation, delete e.abbreviation, delete e.appSwitcher, delete e.approvedApp, delete e.webMappingApp, e;
584
+ function Ni(e, t, i) {
585
+ return e.appSwitcher?.image || e.icon ? e.image = Le(e, t, i) : e.placeHolderIcon = Oe(), e.abbr = e.appSwitcher?.abbr || e.abbreviation, delete e.abbreviation, delete e.appSwitcher, delete e.approvedApp, delete e.webMappingApp, e;
586
586
  }
587
- function ve(e, t) {
587
+ function _e(e, t) {
588
588
  e.forEach((i) => {
589
589
  i.uid === "Map Viewer Beta" && (i.uid = "Map Viewer"), t.isPortal && (i.uid === "Operations Dashboard for ArcGIS" ? i.uid = "ArcGIS Dashboards Classic" : i.uid === "Workforce for ArcGIS" && (i.uid = "ArcGIS Workforce"));
590
590
  });
591
591
  }
592
- async function Si({
592
+ async function Ci({
593
593
  userApps: e,
594
594
  servers: t,
595
595
  portal: i,
@@ -599,76 +599,76 @@ async function Si({
599
599
  orgCapabilities: s,
600
600
  trackViewerEnabled: a,
601
601
  notebookServerEnabled: l,
602
- willQueryForItems: u,
603
- approvedApps: h
602
+ willQueryForItems: d,
603
+ approvedApps: m
604
604
  }) {
605
- const b = {}, p = {}, y = $i(i, l, a, n), x = ki(i), k = [], P = e.length;
606
- for (let m = 0; m < P; m++) {
607
- const d = e[m], _ = d.itemId || d.title;
608
- let N = !0;
609
- const g = !d.serverFunction || t?.some((S) => (S.serverFunction?.split(",") || []).includes(d.serverFunction)), v = r?.some(
610
- (S) => d.itemId && d.itemId === S.itemid || d.title && d.title === S.title
605
+ const g = {}, p = {}, $ = Ii(i, l, a, n), y = Pi(i), w = [], I = e.length;
606
+ for (let h = 0; h < I; h++) {
607
+ const u = e[h], v = u.itemId || u.title;
608
+ let T = !0;
609
+ const _ = !u.serverFunction || t?.some((x) => (x.serverFunction?.split(",") || []).includes(u.serverFunction)), b = r?.some(
610
+ (x) => u.itemId && u.itemId === x.itemid || u.title && u.title === x.title
611
611
  );
612
- if (b[_] = 1, p[_] = d, v || te(i) && !d.showInLocationPlatform || i.sourceJSON?.portalDeploymentType === "ArcGISEnterpriseOnKubernetes" && d.supportsKubernetes === !1)
612
+ if (g[v] = 1, p[v] = u, b || ie(i) && !u.showInLocationPlatform || i.sourceJSON?.portalDeploymentType === "ArcGISEnterpriseOnKubernetes" && u.supportsKubernetes === !1)
613
613
  continue;
614
- const A = d.title;
615
- if (y[A] && !y[A]?.hasAccess())
614
+ const k = u.title;
615
+ if ($[k] && !$[k]?.hasAccess())
616
616
  continue;
617
- const E = i.sourceJSON?.subscriptionInfo;
618
- if (d.subscriptionType) {
619
- E?.type === d.subscriptionType && (p[_].canAccess = !0, k.push(D(d, _, i)));
617
+ const N = i.sourceJSON?.subscriptionInfo;
618
+ if (u.subscriptionType) {
619
+ N?.type === u.subscriptionType && (p[v].canAccess = !0, w.push(G(u, v, i)));
620
620
  continue;
621
621
  }
622
- if (d.orgCapabilities) {
623
- s?.length && s.some((M) => d.orgCapabilities?.includes(M.id)) && (p[_].canAccess = !0, k.push(D(d, _, i)));
622
+ if (u.orgCapabilities) {
623
+ s?.length && s.some((j) => u.orgCapabilities?.includes(j.id)) && (p[v].canAccess = !0, w.push(G(u, v, i)));
624
624
  continue;
625
625
  }
626
- if (!d.privileges?.length && !d.isLicensed && g && (d.label !== "ArcGIS Location Platform" || te(i))) {
627
- p[_].canAccess = !0, k.push(D(d, _, i));
626
+ if (!u.privileges?.length && !u.isLicensed && _ && (u.label !== "ArcGIS Location Platform" || ie(i))) {
627
+ p[v].canAccess = !0, w.push(G(u, v, i));
628
628
  continue;
629
629
  }
630
- if (i.user?.sourceJSON?.userLicenseTypeId?.toLowerCase() === "storytellerut" && d.label?.toLowerCase() === "storymaps") {
631
- p[_].canAccess = !0, k.push(D(d, _, i));
630
+ if (i.user?.sourceJSON?.userLicenseTypeId?.toLowerCase() === "storytellerut" && u.label?.toLowerCase() === "storymaps") {
631
+ p[v].canAccess = !0, w.push(G(u, v, i));
632
632
  continue;
633
633
  }
634
- if (d.privileges?.length && i.user?.privileges) {
635
- for (let S = 0; S < d.privileges.length; S++)
636
- if (!i.user.privileges.includes(d.privileges[S])) {
637
- N = !1;
634
+ if (u.privileges?.length && i.user?.privileges) {
635
+ for (let x = 0; x < u.privileges.length; x++)
636
+ if (!i.user.privileges.includes(u.privileges[x])) {
637
+ T = !1;
638
638
  break;
639
639
  }
640
- if (!d.isLicensed && N && g) {
641
- p[_].canAccess = !0, k.push(D(d, _, i));
640
+ if (!u.isLicensed && T && _) {
641
+ p[v].canAccess = !0, w.push(G(u, v, i));
642
642
  continue;
643
643
  }
644
644
  }
645
- if (d.isLicensed && N && g) {
646
- for (let S = 0; S < o.length; S++)
647
- if (_ === o[S].itemId || _ === o[S].title) {
648
- p[_].canAccess = !0, k.push(D(d, _, i));
645
+ if (u.isLicensed && T && _) {
646
+ for (let x = 0; x < o.length; x++)
647
+ if (v === o[x].itemId || v === o[x].title) {
648
+ p[v].canAccess = !0, w.push(G(u, v, i));
649
649
  break;
650
650
  }
651
651
  }
652
652
  }
653
- const w = await Ot(i);
654
- return o.forEach((m) => {
655
- if (m.type === "Web Mapping Application" && !x[m.clientId] && !b[m.itemId] && m.url && m.title && !b[m.title] && !m.typeKeywords.includes("hideFromAppSwitcher")) {
656
- const d = Ai(m, i, w);
657
- p[m.itemId] = d, k.push(d);
653
+ const P = await Gt(i);
654
+ return o.forEach((h) => {
655
+ if (h.type === "Web Mapping Application" && !y[h.clientId] && !g[h.itemId] && h.url && h.title && !g[h.title] && !h.typeKeywords.includes("hideFromAppSwitcher")) {
656
+ const u = Ti(h, i, P);
657
+ p[h.itemId] = u, w.push(u);
658
658
  }
659
659
  }), {
660
660
  apps: [
661
- ...h.map((m) => {
662
- const d = {
663
- ...m.appProperties,
664
- itemId: m.itemId,
661
+ ...m.map((h) => {
662
+ const u = {
663
+ ...h.appProperties,
664
+ itemId: h.itemId,
665
665
  webMappingApp: !0,
666
666
  approvedApp: !0,
667
- canAccess: !u
667
+ canAccess: !d
668
668
  };
669
- return p[m.itemId] = d, xi(d, i, w);
669
+ return p[h.itemId] = u, Ni(u, i, P);
670
670
  }),
671
- ...k
671
+ ...w
672
672
  ],
673
673
  appDictionary: p
674
674
  };
@@ -678,7 +678,7 @@ function Z(e, t) {
678
678
  (r) => i.itemId && i.itemId === r.itemid || i.title && i.title === r.title
679
679
  ));
680
680
  }
681
- function _e({
681
+ function we({
682
682
  apps: e,
683
683
  app: t,
684
684
  appDictionary: i,
@@ -686,92 +686,92 @@ function _e({
686
686
  portal: r
687
687
  }) {
688
688
  let s = Object.keys(i).map((a) => i[a]).filter((a) => a.itemId === t.uid || a.title === t.uid).shift();
689
- return s && !i[t.uid] && (t.uid = s.itemId || s.title || ""), s?.hasBeenPopulated || (s ? ((t.hasChanged || s.hasChanged || !s.canAccess && !s.ignoreNoAccess) && xe(r.user) && (i[t.uid].hasChanged = !0, i[t.uid].ignoreNoAccess = t.ignoreNoAccess), t.isNew && (i[t.uid].isNew = !0), delete n[t.uid]) : (s = t, s.canAccess = !1, s.itemId = t.uid, i[t.uid] = s), i[t.uid].hasBeenPopulated = !0, e.push(s)), e;
689
+ return s && !i[t.uid] && (t.uid = s.itemId || s.title || ""), s?.hasBeenPopulated || (s ? ((t.hasChanged || s.hasChanged || !s.canAccess && !s.ignoreNoAccess) && Se(r.user) && (i[t.uid].hasChanged = !0, i[t.uid].ignoreNoAccess = t.ignoreNoAccess), t.isNew && (i[t.uid].isNew = !0), delete n[t.uid]) : (s = t, s.canAccess = !1, s.itemId = t.uid, i[t.uid] = s), i[t.uid].hasBeenPopulated = !0, e.push(s)), e;
690
690
  }
691
- async function Ii({
691
+ async function Mi({
692
692
  portal: e,
693
693
  trackViewerEnabled: t,
694
694
  notebookServerEnabled: i
695
695
  }) {
696
696
  if (!e?.id || !e.user)
697
697
  return { apps: [], hiddenApps: {} };
698
- const n = pi(), [r, o, s, a, l, u, h] = await Promise.all([
699
- ci(e),
698
+ const n = bi(), [r, o, s, a, l, d, m] = await Promise.all([
699
+ hi(e),
700
+ jt(e),
701
+ Dt(e),
702
+ Nt(e),
700
703
  Ct(e),
701
704
  Mt(e),
702
- xt(e),
703
- St(e),
704
- It(e),
705
- ui(e)
706
- ]), b = e.isPortal ? await Pt(e) : null, p = s?.result?.properties;
707
- let y = r?.appSwitcher?.apps || [];
708
- e.isPortal || (y = y.filter(
709
- (g) => g.title !== "Map Viewer Classic" || e.sourceJSON.created < /* @__PURE__ */ new Date("February 26 2025")
710
- ), y.unshift(hi(e, p)));
711
- const x = a?.result?.approvedApps?.filter((g) => !g.hideForNonPrivilegedMember) || [], k = {};
712
- o?.forEach((g) => {
713
- const v = g.clientId?.toLowerCase();
714
- v && (k[v] = {
705
+ fi(e)
706
+ ]), g = e.isPortal ? await Lt(e) : null, p = s?.result?.properties;
707
+ let $ = r?.appSwitcher?.apps || [];
708
+ e.isPortal || ($ = $.filter(
709
+ (_) => _.title !== "Map Viewer Classic" || e.sourceJSON.created < /* @__PURE__ */ new Date("February 26 2025")
710
+ ), $.unshift(vi(e, p)));
711
+ const y = a?.result?.approvedApps?.filter((_) => !_.hideForNonPrivilegedMember) || [], w = {};
712
+ o?.forEach((_) => {
713
+ const b = _.clientId?.toLowerCase();
714
+ b && (w[b] = {
715
715
  valid: !0,
716
- itemId: g.itemId,
717
- clientId: g.clientId
716
+ itemId: _.itemId,
717
+ clientId: _.clientId
718
718
  });
719
- }), l?.forEach((g) => {
720
- const v = g.id?.toLowerCase();
721
- v && (k[v] = {
719
+ }), l?.forEach((_) => {
720
+ const b = _.id?.toLowerCase();
721
+ b && (w[b] = {
722
722
  valid: !0,
723
- clientId: g.id
723
+ clientId: _.id
724
724
  });
725
725
  });
726
- const P = mi(u, h), { apps: w, appDictionary: f } = await Si({
727
- userApps: y,
728
- servers: b,
726
+ const I = _i(d, m), { apps: P, appDictionary: f } = await Ci({
727
+ userApps: $,
728
+ servers: g,
729
729
  portal: e,
730
- blockedApps: P,
730
+ blockedApps: I,
731
731
  provisionedListings: o,
732
732
  orgCapabilities: l,
733
- licenses: k,
733
+ licenses: w,
734
734
  trackViewerEnabled: t,
735
735
  notebookServerEnabled: i,
736
736
  willQueryForItems: n,
737
- approvedApps: x
737
+ approvedApps: y
738
738
  });
739
- p?.appLauncher && (p?.appLauncher.primary && ve(p?.appLauncher.primary, e), p?.appLauncher.secondary && ve(p?.appLauncher.secondary, e));
740
- let m = [], d = [];
739
+ p?.appLauncher && (p?.appLauncher.primary && _e(p?.appLauncher.primary, e), p?.appLauncher.secondary && _e(p?.appLauncher.secondary, e));
740
+ let h = [], u = [];
741
741
  if (!p?.appLauncher?.primary || !p?.appLauncher.secondary)
742
- m = w.slice().sort((g, v) => (g.label || "") < (v.label || "") ? -1 : 1), m = Z(m, P), d = [];
742
+ h = P.slice().sort((_, b) => (_.label || "") < (b.label || "") ? -1 : 1), h = Z(h, I), u = [];
743
743
  else {
744
- const { result: g } = await li(x, n, e);
745
- g?.results?.length && g.results.forEach(($) => {
746
- const A = f[$.id];
747
- A.canAccess = !0, A.hasChanged = A.url !== $.url ? !!$.url : !1;
744
+ const { result: _ } = await mi(y, n, e);
745
+ _?.results?.length && _.results.forEach((A) => {
746
+ const k = f[A.id];
747
+ k.canAccess = !0, k.hasChanged = k.url !== A.url ? !!A.url : !1;
748
748
  });
749
- const v = { ...f };
750
- p?.appLauncher?.primary?.forEach(($) => {
751
- $.label === "Map Viewer" && ($.uid = "Map Viewer");
752
- }), m = p?.appLauncher.primary.reduce(
753
- ($, A) => _e({ apps: $, app: A, appDictionary: f, newAppDictionary: v, portal: e }),
749
+ const b = { ...f };
750
+ p?.appLauncher?.primary?.forEach((A) => {
751
+ A.label === "Map Viewer" && (A.uid = "Map Viewer");
752
+ }), h = p?.appLauncher.primary.reduce(
753
+ (A, k) => we({ apps: A, app: k, appDictionary: f, newAppDictionary: b, portal: e }),
754
754
  []
755
- ) || [], d = p?.appLauncher.secondary.reduce(
756
- ($, A) => _e({ apps: $, app: A, appDictionary: f, newAppDictionary: v, portal: e }),
755
+ ) || [], u = p?.appLauncher.secondary.reduce(
756
+ (A, k) => we({ apps: A, app: k, appDictionary: f, newAppDictionary: b, portal: e }),
757
757
  []
758
- ) || [], m = Z(m, P), d = Z(d, P), te(e) && (m = m.filter(($) => $.canAccess), d = d.filter(($) => $.canAccess));
759
- for (const $ of Object.keys(v))
760
- v[$].canAccess && (v[$].isNew = !0, f[$] = v[$], m.push(v[$]));
758
+ ) || [], h = Z(h, I), u = Z(u, I), ie(e) && (h = h.filter((A) => A.canAccess), u = u.filter((A) => A.canAccess));
759
+ for (const A of Object.keys(b))
760
+ b[A].canAccess && (b[A].isNew = !0, f[A] = b[A], h.push(b[A]));
761
761
  }
762
- const _ = [...m, ...d], N = d.reduce((g, v) => (v.itemId && (g[v.itemId] = !0), g), {});
762
+ const v = [...h, ...u], T = u.reduce((_, b) => (b.itemId && (_[b.itemId] = !0), _), {});
763
763
  return {
764
- apps: _,
765
- hiddenApps: N,
766
- signInSettings: u,
767
- licenses: k,
764
+ apps: v,
765
+ hiddenApps: T,
766
+ signInSettings: d,
767
+ licenses: w,
768
768
  userProperties: p
769
769
  };
770
770
  }
771
- function Pi(e, t) {
771
+ function Li(e, t) {
772
772
  return !e?.itemId || !t ? !1 : t[e.itemId];
773
773
  }
774
- async function Ni({
774
+ async function Oi({
775
775
  apps: e,
776
776
  hiddenApps: t,
777
777
  userProperties: i,
@@ -787,63 +787,63 @@ async function Ni({
787
787
  },
788
788
  { primary: [], secondary: [] }
789
789
  ), o = { ...i || {}, appLauncher: r };
790
- return await Tt(o, n);
790
+ return await Et(o, n);
791
791
  }
792
- function Oe({ app: e }) {
792
+ function Ee({ app: e }) {
793
793
  if (!e)
794
794
  return null;
795
795
  if (!e.canAccess)
796
796
  return c`<span class="list-item__logo list-item__logo-empty"></span>`;
797
797
  const t = !e.image && e.abbr;
798
- return c`${t && c`<span class="list-item__logo">${e.placeHolderIcon && c`<img src=${be(e.placeHolderIcon) ?? L} class="list-item__logo-bg" alt>` || ""}<span style=${ke({ fontSize: e.fontSize || "20px" })} class="list-item__abbr">${e.abbr}</span></span>` || ""}${e.image && c`<img src=${be(e.image) ?? L} class="list-item__logo" alt>` || ""}${e.isNew && c`<span class=${H({ "list-item__indicator": !0 })}></span>` || ""}`;
798
+ return c`${t && c`<span class="list-item__logo">${e.placeHolderIcon && c`<img src=${ve(e.placeHolderIcon) ?? O} class="list-item__logo-bg" alt>` || ""}<span style=${ke({ fontSize: e.fontSize || "20px" })} class="list-item__abbr">${e.abbr}</span></span>` || ""}${e.image && c`<img src=${ve(e.image) ?? O} class="list-item__logo" alt>` || ""}`;
799
799
  }
800
- function Ti({ app: e, hiddenApps: t, messages: i, toggleAppVisibility: n }) {
800
+ function Ei({ app: e, hiddenApps: t, messages: i, toggleAppVisibility: n, handleAppDelete: r }) {
801
801
  if (!e || !i)
802
802
  return null;
803
- const r = Pi(e, t), { title: o, itemId: s, label: a } = e;
804
- return c`<calcite-list-item .label=${o || a} class=${H(r ? "app--hidden" : "")}><span slot=content-start>${Oe({ app: e })}</span><calcite-action .text=${r ? i.show : i.hide} .icon=${r ? "view-hide" : "view-visible"} slot=actions-end @click=${() => s && n(s, !r)}></calcite-action></calcite-list-item>`;
803
+ const o = Li(e, t), { title: s, itemId: a, label: l } = e;
804
+ return c`<calcite-list-item .label=${s || l} class=${te(o ? "app--hidden" : "")}><span slot=content-start>${Ee({ app: e })}</span>${e.canAccess ? c`<calcite-action .text=${o ? i.show : i.hide} .icon=${o ? "view-hide" : "view-visible"} slot=actions-end @click=${() => a && n(a, !o)}></calcite-action>` : c`<calcite-action .text=${i.delete} icon=x slot=actions-end @click=${() => a && r(a)}></calcite-action>`}</calcite-list-item>`;
805
805
  }
806
- function Ci({ app: e, messages: t }) {
806
+ function ji({ app: e, messages: t }) {
807
807
  if (!e || !t)
808
808
  return null;
809
809
  const { title: i, itemId: n, label: r, url: o, isNew: s } = e, a = t?.descriptions?.[i] || t?.descriptions?.[r];
810
- return c`<li class="list-item"><a class="list-item__link" href=${o ?? L} target=_blank id=${n ?? L} aria-describedby=${`${n}--tooltip`}>${c`<span class="list-item__container">${Oe({ app: e })}<span class="list-item__title">${i || r}</span>${s && c`<calcite-chip scale=s class="list-item__chip" icon=asterisk-small .label=${t.new}>${t.new}</calcite-chip>` || ""}</span>`}</a>${a && c`<calcite-tooltip .referenceElement=${n} placement=trailing .id=${`${n}--tooltip`} role=tooltip>${a}</calcite-tooltip>` || ""}</li>`;
810
+ return c`<li class="list-item"><a class="list-item__link" href=${o ?? O} target=_blank id=${n ?? O} aria-describedby=${`${n}--tooltip`}>${c`<span class="list-item__container">${Ee({ app: e })}<span class="list-item__title">${i || r}</span>${s && c`<calcite-chip scale=s class="list-item__chip" .label=${t.new}>${t.new}</calcite-chip>` || ""}</span>`}</a>${a && c`<calcite-tooltip .referenceElement=${n} placement=trailing .id=${`${n}--tooltip`} role=tooltip>${a}</calcite-tooltip>` || ""}</li>`;
811
811
  }
812
- function Mi({ apps: e, appsLoading: t, appsSearchTerm: i, hiddenApps: n, messages: r, handleAppsSearch: o, handleAppReorder: s, handleAppSave: a, handleAppHide: l, handleAppCancel: u, handleAppEdit: h, editingApplications: b, portal: p }) {
812
+ function Di({ apps: e, appsLoading: t, appsSearchTerm: i, hiddenApps: n, messages: r, handleAppsSearch: o, handleAppReorder: s, handleAppSave: a, handleAppHide: l, handleAppDelete: d, handleAppCancel: m, handleAppEdit: g, editingApplications: p, portal: $ }) {
813
813
  if (!e || !r)
814
814
  return null;
815
- const y = i?.length > 0, x = (e || []).filter((w) => w.itemId && (!n?.[w.itemId] || y) && di(i, w)), k = y ? r.noAppResults.replace("{term}", i) : r.noAppsAvailable, P = y ? C(p) ? r.noAppsDescriptionPublic : r.noAppResultsDescriptionOrg : r.noAppsAvailable;
816
- return b ? c`<div class="list__header"><calcite-button appearance=outline width=half @click=${() => {
817
- u();
815
+ const y = i?.length > 0, w = (e || []).filter((f) => f.itemId && (!n?.[f.itemId] || y) && gi(i, f)), I = y ? r.noAppResults.replace("{term}", i) : r.noAppsAvailable, P = y ? M($) ? r.noAppsDescriptionPublic : r.noAppResultsDescriptionOrg : r.noAppsAvailable;
816
+ return p ? c`<div class="list__header"><calcite-button appearance=outline width=half @click=${() => {
817
+ m();
818
818
  }}>${r.cancel}</calcite-button><calcite-button width=half @click=${() => {
819
819
  a();
820
- }}>${r.applyChanges}</calcite-button></div><calcite-list .label=${r.allMyApplications} drag-enabled @calciteListDragEnd=${(w) => {
821
- const { newIndex: f, oldIndex: m } = w.detail;
822
- s({ newIndex: f, oldIndex: m });
823
- }} .loading=${t}>${z(e, (w) => w.itemId, (w) => Ti({ app: w, hiddenApps: n, messages: r, toggleAppVisibility: (f, m) => {
824
- l({ app: f, hidden: m });
825
- } }))}</calcite-list>` : c`<div class="list__header"><calcite-input type=search icon .placeholder=${r.searchMyApps} scale=m class="list__search" @calciteInputInput=${(w) => {
826
- o(w.currentTarget.value);
827
- }}></calcite-input><calcite-button appearance=transparent kind=neutral icon-start=reorder-cards .label=${r.reorder} @click=${() => h()} id=customize-apps></calcite-button><calcite-tooltip reference-element=customize-apps><span>${r.customizeApps}</span></calcite-tooltip></div>${x?.length > 0 ? c`<ul class="list">${z(x, (w) => w.itemId, (w) => Ci({ app: w, messages: r }))}</ul>` : J({ title: k, description: P, icon: i ? "search" : "apps" })}`;
828
- }
829
- const we = "portalAppClientId", ce = {
820
+ }}>${r.applyChanges}</calcite-button></div><calcite-list .label=${r.allMyApplications} drag-enabled @calciteListDragEnd=${(f) => {
821
+ const { newIndex: h, oldIndex: u } = f.detail;
822
+ s({ newIndex: h, oldIndex: u });
823
+ }} .loading=${t}>${U(e, (f) => f.itemId, (f) => Ei({ app: f, hiddenApps: n, messages: r, toggleAppVisibility: (h, u) => {
824
+ l({ app: h, hidden: u });
825
+ }, handleAppDelete: d }))}</calcite-list>` : c`<div class="list__header"><calcite-input type=search icon .placeholder=${r.searchMyApps} .value=${i} scale=m class="list__search" @calciteInputInput=${(f) => {
826
+ o(f.currentTarget.value);
827
+ }}></calcite-input><calcite-button appearance=transparent kind=neutral icon-start=reorder-cards .label=${r.reorder} @click=${() => g()} id=customize-apps></calcite-button><calcite-tooltip reference-element=customize-apps><span>${r.customizeApps}</span></calcite-tooltip></div>${w?.length > 0 ? c`<ul class="list">${U(w, (f) => f.itemId, (f) => ji({ app: f, messages: r }))}</ul>` : J({ title: I, description: P, icon: i ? "search" : "apps" })}`;
828
+ }
829
+ const ye = "portalAppClientId", le = {
830
830
  GeoanalyticsEngine: "geoanalyticsengine",
831
831
  GeoanalyticsFabric: "geoanalyticsfabric",
832
832
  IndoorsOnline: "indoorsonline"
833
833
  };
834
- function le(e) {
835
- return ce.GeoanalyticsEngine === e;
836
- }
837
834
  function ue(e) {
838
- return ce.GeoanalyticsFabric === e;
839
- }
840
- function Ee(e) {
841
- return ce.IndoorsOnline === e;
835
+ return le.GeoanalyticsEngine === e;
842
836
  }
843
837
  function de(e) {
838
+ return le.GeoanalyticsFabric === e;
839
+ }
840
+ function je(e) {
841
+ return le.IndoorsOnline === e;
842
+ }
843
+ function pe(e) {
844
844
  return ["Location Platform", "GeoAnalytics Fabric", "GeoAnalytics Engine", "Online", "Enterprise"].includes(e);
845
845
  }
846
- function Li({
846
+ function zi({
847
847
  portal: e,
848
848
  messages: t,
849
849
  licenses: i,
@@ -852,68 +852,68 @@ function Li({
852
852
  }) {
853
853
  if (!t || !e)
854
854
  return [];
855
- const o = e.sourceJSON?.subscriptionInfo, s = Di({ messages: t, portal: e });
855
+ const o = e.sourceJSON?.subscriptionInfo, s = Fi({ messages: t, portal: e });
856
856
  if (!e.user)
857
857
  return s;
858
- if (!e || !s || e?.user && !i && !C(e))
858
+ if (!e || !s || e?.user && !i && !M(e))
859
859
  return [];
860
- const a = Gi({
860
+ const a = Ri({
861
861
  portal: e,
862
862
  licenses: i,
863
863
  subscriptionInfo: o
864
864
  });
865
- return zi({ messages: t, portal: e, clientId: n, signInSettings: r, navLinkDictionary: a });
865
+ return Wi({ messages: t, portal: e, clientId: n, signInSettings: r, navLinkDictionary: a });
866
866
  }
867
- function Oi(e) {
867
+ function Gi(e) {
868
868
  const { id: t, access: i, isPortal: n } = e;
869
869
  return !t && !i && !n;
870
870
  }
871
- function Ei(e, t) {
871
+ function Ui(e, t) {
872
872
  const i = new URL(e), n = t || window.location.pathname;
873
873
  return i.pathname === n;
874
874
  }
875
- function je({
875
+ function De({
876
876
  portal: e,
877
877
  clientId: t,
878
878
  signInSettings: i
879
879
  }) {
880
- const n = e.user, r = Ee(t), o = !!i?.blockedApps?.includes("arcgisnotebooks"), {
880
+ const n = e.user, r = je(t), o = !!i?.blockedApps?.includes("arcgisnotebooks"), {
881
881
  gallery: s = "all",
882
882
  groups: a = "all",
883
883
  map: l = "all",
884
- notebook: u = "notebookCreators",
885
- scene: h = "all"
884
+ notebook: d = "notebookCreators",
885
+ scene: m = "all"
886
886
  } = e.portalProperties?.topNav || {};
887
- let b = ["home"];
887
+ let g = ["home"];
888
888
  if (!n) {
889
889
  if (!e.portalProperties?.topNav) {
890
- const y = ["gallery", "map", "scene", "groups"], x = e.isPortal ? ["help"] : [];
891
- return [...b, ...y, ...x];
890
+ const $ = ["gallery", "map", "scene", "groups"], y = e.isPortal ? ["help"] : [];
891
+ return [...g, ...$, ...y];
892
892
  }
893
893
  return [
894
- ...b,
894
+ ...g,
895
895
  ...s === "all" ? ["gallery"] : [],
896
896
  ...l === "all" ? ["map"] : [],
897
- ...h === "all" ? ["scene"] : [],
897
+ ...m === "all" ? ["scene"] : [],
898
898
  ...a === "all" ? ["groups"] : [],
899
899
  ...e.isPortal ? ["help"] : []
900
900
  ];
901
901
  }
902
902
  const p = n.orgId === e.id;
903
- return !e.portalProperties?.topNav && C(e) ? b = ["ArcGIS", "overview", "pricing", "map", "scene", "groups", "myContent"] : b = [
904
- ...b,
903
+ return !e.portalProperties?.topNav && M(e) ? g = ["ArcGIS", "overview", "pricing", "map", "scene", "groups", "myContent"] : g = [
904
+ ...g,
905
905
  ...(s === "all" || s === "members" && p) && !r ? ["gallery"] : [],
906
- ...(l === "all" || l === "members" && p || l === "mapCreators" && he(n)) && !r ? ["map"] : [],
907
- ...(h === "all" || h === "members" && p || h === "sceneCreators" && he(n)) && !r ? ["scene"] : [],
908
- ...!o && (!e.isPortal || e.sourceJSON.supportsHostedNotebooks) && (u === "members" && p || u === "notebookCreators" && At(n)) && !r ? ["notebook"] : [],
906
+ ...(l === "all" || l === "members" && p || l === "mapCreators" && me(n)) && !r ? ["map"] : [],
907
+ ...(m === "all" || m === "members" && p || m === "sceneCreators" && me(n)) && !r ? ["scene"] : [],
908
+ ...!o && (!e.isPortal || e.sourceJSON.supportsHostedNotebooks) && (d === "members" && p || d === "notebookCreators" && Tt(n)) && !r ? ["notebook"] : [],
909
909
  ...(a === "all" || a === "members" && p) && !r ? ["groups"] : [],
910
910
  ...p && !r ? ["myContent", "organization"] : []
911
- ], b;
911
+ ], g;
912
912
  }
913
- function O(e) {
914
- return `${Ae({ portal: e })}/`;
913
+ function E(e) {
914
+ return `${xe({ portal: e })}/`;
915
915
  }
916
- function ji({
916
+ function Bi({
917
917
  keys: e,
918
918
  navLinkDictionary: t,
919
919
  messages: i
@@ -922,44 +922,44 @@ function ji({
922
922
  return e.forEach((r) => {
923
923
  const o = t[r];
924
924
  if (o && (!("show" in o) || o.show)) {
925
- const { href: s, newTab: a, icon: l, relativePath: u } = o;
925
+ const { href: s, newTab: a, icon: l, relativePath: d } = o;
926
926
  n.push({
927
927
  label: i[r],
928
928
  href: s,
929
929
  newTab: a,
930
- relativePath: u,
930
+ relativePath: d,
931
931
  icon: l
932
932
  });
933
933
  }
934
934
  }), n;
935
935
  }
936
- function Di({
936
+ function Fi({
937
937
  messages: e,
938
938
  portal: t
939
939
  }) {
940
940
  if (!e || !t)
941
941
  return [];
942
- const i = O(t), n = {
942
+ const i = E(t), n = {
943
943
  overview: { label: e.overview, href: `${i}../features/features.html`, icon: "information" },
944
944
  pricing: { label: e.pricing, href: `${i}../features/plans/pricing.html`, icon: "credit-card" },
945
945
  map: { label: e.map, href: `${i}apps/mapviewer/index.html`, icon: "map" },
946
946
  scene: { label: e.scene, href: `${i}webscene/viewer.html`, icon: "globe" },
947
- help: { label: e.help, href: se(t), newTab: !0, icon: "headset" },
947
+ help: { label: e.help, href: ae(t), newTab: !0, icon: "headset" },
948
948
  home: { label: e.home, href: `${i}index.html`, relativePath: "index.html", icon: "home" },
949
949
  gallery: { label: e.gallery, href: `${i}gallery.html`, relativePath: "gallery.html", icon: "gallery" },
950
950
  groups: { label: e.groups, href: `${i}groups.html`, relativePath: "groups.html", icon: "group" }
951
951
  };
952
- return (Oi(t) ? ["overview", "pricing", "map", "scene", "help"] : je({ portal: t })).map((o) => n[o]);
952
+ return (Gi(t) ? ["overview", "pricing", "map", "scene", "help"] : De({ portal: t })).map((o) => n[o]);
953
953
  }
954
- function zi({
954
+ function Wi({
955
955
  messages: e,
956
956
  portal: t,
957
957
  clientId: i,
958
958
  signInSettings: n,
959
959
  navLinkDictionary: r
960
960
  }) {
961
- const o = le(i), s = je({ portal: t, clientId: i, signInSettings: n }), a = `${O(t)}geoanalytics${o ? "engine" : "fabric"}.html`;
962
- return o || ue(i) ? [
961
+ const o = ue(i), s = De({ portal: t, clientId: i, signInSettings: n }), a = `${E(t)}geoanalytics${o ? "engine" : "fabric"}.html`;
962
+ return o || de(i) ? [
963
963
  {
964
964
  // TODO: active calculations in the component need to account for hash for these options
965
965
  href: `${a}#subscription`,
@@ -979,20 +979,20 @@ function zi({
979
979
  href: `${a}#account`,
980
980
  label: e.account
981
981
  }
982
- ] : ji({ keys: s, messages: e, navLinkDictionary: r });
982
+ ] : Bi({ keys: s, messages: e, navLinkDictionary: r });
983
983
  }
984
- function Gi({
984
+ function Ri({
985
985
  portal: e,
986
986
  licenses: t,
987
987
  subscriptionInfo: i
988
988
  }) {
989
- const n = e.user, r = O(e), o = i?.options?.includes("Developer"), s = I("arcgiswebapps", t) || o && I("locationplatformwebapps", t) || C(e);
989
+ const n = e.user, r = E(e), o = i?.options?.includes("Developer"), s = S("arcgiswebapps", t) || o && S("locationplatformwebapps", t) || M(e);
990
990
  return {
991
991
  pricing: { href: `${r}../features/plans/pricing.html` },
992
992
  overview: { href: `${r}../features/features.html` },
993
993
  ArcGIS: {
994
- href: `${r}${C(e) ? "index.html" : "../features/features.html"}`,
995
- show: C(e) || !n
994
+ href: `${r}${M(e) ? "index.html" : "../features/features.html"}`,
995
+ show: M(e) || !n
996
996
  },
997
997
  groups: {
998
998
  href: `${r}groups.html`,
@@ -1010,7 +1010,7 @@ function Gi({
1010
1010
  icon: "map"
1011
1011
  },
1012
1012
  help: {
1013
- href: se(e),
1013
+ href: ae(e),
1014
1014
  newTab: !0
1015
1015
  },
1016
1016
  gallery: {
@@ -1020,7 +1020,7 @@ function Gi({
1020
1020
  icon: "gallery"
1021
1021
  },
1022
1022
  home: {
1023
- show: !C(e) && !o,
1023
+ show: !M(e) && !o,
1024
1024
  href: `${r}index.html`,
1025
1025
  relativePath: "index.html",
1026
1026
  icon: "home"
@@ -1031,43 +1031,43 @@ function Gi({
1031
1031
  icon: "globe"
1032
1032
  },
1033
1033
  notebook: {
1034
- show: Et(e),
1034
+ show: Ut(e),
1035
1035
  href: `${r}notebook/notebookhome.html`,
1036
1036
  relativePath: "notebook/notebookhome.html",
1037
1037
  icon: "notebook"
1038
1038
  },
1039
1039
  organization: {
1040
- show: !C(e),
1040
+ show: !M(e),
1041
1041
  href: `${r}organization.html`,
1042
1042
  relativePath: "organization.html",
1043
1043
  icon: "organization"
1044
1044
  },
1045
1045
  features: {
1046
- show: C(e) && !e.isPortal,
1046
+ show: M(e) && !e.isPortal,
1047
1047
  href: `${r}../features/features.html`,
1048
1048
  icon: "information"
1049
1049
  }
1050
1050
  };
1051
1051
  }
1052
- function Ui({ portal: e, item: t, messages: i, navigate: n, locale: r }) {
1052
+ function Vi({ portal: e, item: t, messages: i, navigate: n, locale: r }) {
1053
1053
  if (!t || !i || !t.modified)
1054
1054
  return null;
1055
- const o = t.modified, s = { lessThanOneMinute: i.lessThanOneMinute }, a = Ie(Pe(o)), l = a?.[1] === "year" || a?.[1] === "month" ? Vt({ locale: r, time: o }, a?.[1] === "year") : Ne({ locale: r, time: o, t9n: s }), u = `item.html?id=${t.id}`, h = `${O(e)}${u}}`;
1056
- return oe(t.id, c`<li class="list-item"><a class="list-item__link" href=${h ?? L} @click=${(b) => {
1057
- n({ event: b, href: h, relativePath: u });
1055
+ const o = t.modified, s = { lessThanOneMinute: i.lessThanOneMinute }, a = Pe(Te(o)), l = a?.[1] === "year" || a?.[1] === "month" ? Qt({ locale: r, time: o }, a?.[1] === "year") : Ne({ locale: r, time: o, t9n: s }), d = `item.html?id=${t.id}`, m = `${E(e)}${d}}`;
1056
+ return se(t.id, c`<li class="list-item"><a class="list-item__link" href=${m ?? O} @click=${(g) => {
1057
+ n({ event: g, href: m, relativePath: d });
1058
1058
  }}>${c`<span class="list-item__container"><span class="list-item__logo list-item__logo--item-type"><arcgis-portal-item-type .item=${t} .user=${e.user} hide-text></arcgis-portal-item-type></span><span class="list-item__content"><span class="list-item__title list-item__title--regular">${t.title}</span><span class="list-item__subtitle">${K(i.lastUpdated, { date: l })}</span></span></span>`}</a></li>`);
1059
1059
  }
1060
- function Bi({ locale: e, navigate: t, portal: i, open: n, apps: r, appsLoading: o, hiddenApps: s, appsSearchTerm: a, handlePlatformClose: l, handleAppsSearch: u, handleAppReorder: h, handleAppSave: b, handleAppHide: p, handleAppCancel: y, handleAppEdit: x, handleItemSearch: k, editingApplications: P, recentContent: w, recentContentLoading: f, recentContentSearchTerm: m, product: d, productInfo: _, links: N, messages: g }) {
1061
- if (!d || !i || !g)
1060
+ function Hi({ locale: e, navigate: t, portal: i, open: n, apps: r, appsLoading: o, hiddenApps: s, appsSearchTerm: a, handlePlatformClose: l, handleAppsSearch: d, handleAppReorder: m, handleAppSave: g, handleAppDelete: p, handleAppHide: $, handleAppCancel: y, handleAppEdit: w, handleItemSearch: I, editingApplications: P, recentContent: f, recentContentLoading: h, recentContentSearchTerm: u, product: v, platformInfo: T, links: _, messages: b }) {
1061
+ if (!v || !i || !b)
1062
1062
  return null;
1063
- const { name: v, icon: $ } = _ || {};
1064
- return c`<calcite-sheet class="platform" .label=${g.label} position=inline-start display-mode=overlay id=example-sheet .open=${n} @calciteSheetClose=${l}><calcite-panel class="platform__panel"><div slot=header-content class="platform__header"><img src=${$ ?? L} class="platform__header-image"><div class="platform__header-text"><h2 class="platform__title">${v}</h2><p class="platform__subtitle">${i.name}</p></div><calcite-action icon=x text="Close menu" scale=l @click=${l}></calcite-action></div><div class="platform__container"><div class="platform__tiles">${N.filter(({ icon: A }) => A).map(({ label: A, href: E, icon: R, relativePath: S }) => c`<calcite-tile .icon=${R} .description=${A} .href=${E} alignment=center scale=s @keydown=${(M) => {
1065
- (M.key === "Enter" || M.key === " ") && t({ event: M, href: E, relativePath: S });
1066
- }} @click=${(M) => {
1067
- t({ event: M, href: E, relativePath: S });
1068
- }}></calcite-tile>`)}</div>${i?.user && c`<calcite-tabs layout=center class="platform__tabs"><calcite-tab-nav slot=title-group>${!C(i) && c`<calcite-tab-title selected>${g.myApps}</calcite-tab-title>` || ""}<calcite-tab-title>${g.recentContent}</calcite-tab-title></calcite-tab-nav>${!C(i) && c`<calcite-tab selected class="platform__tab">${o && c`<calcite-scrim loading></calcite-scrim>` || ""}${Mi({ apps: r, appsLoading: o, appsSearchTerm: a, hiddenApps: s, messages: g, handleAppsSearch: u, handleAppReorder: h, handleAppSave: b, handleAppHide: p, handleAppCancel: y, handleAppEdit: x, editingApplications: P, portal: i })}</calcite-tab>` || ""}<calcite-tab class="platform__tab"><div class="list__header"><calcite-input type=search icon .placeholder=${g.searchRecentContent} scale=m class="list__search" @calciteInputInput=${(A) => k(A.target.value)}></calcite-input></div>${f && !o && c`<calcite-scrim loading></calcite-scrim>` || ""}<div class="list__container">${w?.length > 0 || f ? c`<ul class="list">${z(w, (A) => A.id, (A) => Ui({ portal: i, messages: g, navigate: t, item: A, locale: e }))}</ul>` : m?.length ? J({ title: K(g.noAppResults, { term: m }), description: g.recentContentNoResultsDescription, icon: "search" }) : J({ title: g.noContent, description: g.noContentDescription, icon: "clock" })}</div></calcite-tab></calcite-tabs>` || ""}</div></calcite-panel></calcite-sheet>`;
1069
- }
1070
- const ie = [
1063
+ const { name: A, icon: k } = T || {};
1064
+ return c`<calcite-sheet class="platform" .label=${b.label} position=inline-start display-mode=overlay id=example-sheet .open=${n} @calciteSheetClose=${l}><calcite-panel class="platform__panel"><div slot=header-content class="platform__header"><img src=${k ?? O} class="platform__header-image"><div class="platform__header-text"><h2 class="platform__title">${A}</h2><p class="platform__subtitle">${i.name}</p></div><calcite-action icon=x text="Close menu" scale=l @click=${l}></calcite-action></div><div class="platform__container"><div class="platform__tiles">${_.filter(({ icon: N }) => N).map(({ label: N, href: L, icon: x, relativePath: j }) => c`<calcite-tile .icon=${x} .description=${N} .href=${L} alignment=center scale=s @keydown=${(D) => {
1065
+ (D.key === "Enter" || D.key === " ") && t({ event: D, href: L, relativePath: j });
1066
+ }} @click=${(D) => {
1067
+ t({ event: D, href: L, relativePath: j });
1068
+ }}></calcite-tile>`)}</div>${i?.user && c`<calcite-tabs layout=center class="platform__tabs"><calcite-tab-nav slot=title-group>${!M(i) && c`<calcite-tab-title selected>${b.myApps}</calcite-tab-title>` || ""}<calcite-tab-title>${b.recentContent}</calcite-tab-title></calcite-tab-nav>${!M(i) && c`<calcite-tab selected class="platform__tab">${o && c`<calcite-scrim loading></calcite-scrim>` || ""}${Di({ apps: r, appsLoading: o, appsSearchTerm: a, hiddenApps: s, messages: b, handleAppsSearch: d, handleAppReorder: m, handleAppSave: g, handleAppDelete: p, handleAppHide: $, handleAppCancel: y, handleAppEdit: w, editingApplications: P, portal: i })}</calcite-tab>` || ""}<calcite-tab class="platform__tab"><div class="list__header"><calcite-input type=search icon .placeholder=${b.searchRecentContent} scale=m class="list__search" @calciteInputInput=${(N) => I(N.target.value)}></calcite-input></div>${h && !o && c`<calcite-scrim loading></calcite-scrim>` || ""}<div class="list__container">${f?.length > 0 || h ? c`<ul class="list">${U(f, (N) => N.id, (N) => Vi({ portal: i, messages: b, navigate: t, item: N, locale: e }))}</ul>` : u?.length ? J({ title: K(b.noAppResults, { term: u }), description: b.recentContentNoResultsDescription, icon: "search" }) : J({ title: b.noContent, description: b.noContentDescription, icon: "clock" })}</div></calcite-tab></calcite-tabs>` || ""}</div></calcite-panel></calcite-sheet>`;
1069
+ }
1070
+ const ne = [
1071
1071
  "new",
1072
1072
  "open",
1073
1073
  "rename",
@@ -1078,19 +1078,19 @@ const ie = [
1078
1078
  "embed",
1079
1079
  "details"
1080
1080
  ];
1081
- async function Fi(e) {
1081
+ async function qi(e) {
1082
1082
  return await Promise.resolve({ status: "success" });
1083
1083
  }
1084
- function ne(e) {
1085
- return ie.includes(e.id);
1084
+ function re(e) {
1085
+ return ne.includes(e.id);
1086
1086
  }
1087
- function Wi(e) {
1087
+ function Ji(e) {
1088
1088
  return (e || [])?.toSorted((t, i) => {
1089
- const n = ne(t), r = ne(i);
1090
- return n && !r ? -1 : r && !n ? 1 : r && n ? ie.indexOf(t.id) - ie.indexOf(i.id) : -1;
1089
+ const n = re(t), r = re(i);
1090
+ return n && !r ? -1 : r && !n ? 1 : r && n ? ne.indexOf(t.id) - ne.indexOf(i.id) : -1;
1091
1091
  });
1092
1092
  }
1093
- function Ri(e, t) {
1093
+ function Ki(e, t) {
1094
1094
  const i = {
1095
1095
  new: [],
1096
1096
  save: [],
@@ -1110,47 +1110,47 @@ function Ri(e, t) {
1110
1110
  copyLink: { text: t.copyLink, group: "share" },
1111
1111
  embed: { text: t.embed, group: "share" },
1112
1112
  details: { text: t.itemDetails, group: "details", external: !0 }
1113
- }, r = Wi(e), o = [];
1113
+ }, r = Ji(e), o = [];
1114
1114
  return r.forEach((s) => {
1115
- if (!ne(s)) {
1115
+ if (!re(s)) {
1116
1116
  o.push(s);
1117
1117
  return;
1118
1118
  }
1119
- const { text: l, external: u, group: h } = n[s.id];
1120
- i[h].push({ text: l, external: u, ...s });
1119
+ const { text: l, external: d, group: m } = n[s.id];
1120
+ i[m].push({ text: l, external: d, ...s });
1121
1121
  }), o.forEach((s) => {
1122
1122
  const a = s.group || "custom";
1123
1123
  i[a].push(s);
1124
1124
  }), i;
1125
1125
  }
1126
- function Vi({ navigate: e, portal: t, menuItem: i, messages: n, portalItem: r, openProjectTitleEdit: o, projectMenuClick: s }) {
1126
+ function Qi({ navigate: e, portal: t, menuItem: i, messages: n, portalItem: r, openProjectTitleEdit: o, projectMenuClick: s }) {
1127
1127
  if (!t || !n || !i || i.id === "details" && !r)
1128
1128
  return null;
1129
- const { external: a, id: l, text: u } = i, h = `${O(t)}item.html?id=${r?.id}`;
1130
- return oe(`${l}${u}`, c`<calcite-dropdown-item .iconEnd=${a ? "launch" : void 0} .href=${l === "details" ? h : i.href} .target=${a ? "_blank" : void 0} @calciteDropdownItemSelect=${(b) => {
1129
+ const { external: a, id: l, text: d } = i, m = `${E(t)}item.html?id=${r?.id}`;
1130
+ return se(`${l}${d}`, c`<calcite-dropdown-item .iconEnd=${a ? "launch" : void 0} .href=${l === "details" ? m : i.href} .target=${a ? "_blank" : void 0} @calciteDropdownItemSelect=${(g) => {
1131
1131
  if (l === "rename") {
1132
1132
  o?.();
1133
1133
  return;
1134
1134
  }
1135
- l === "details" && e({ event: b, href: h }), s?.({ type: l });
1136
- }}>${u}${l === "save" && c`<calcite-icon icon=bullet-point-large class="project__indicator" scale=s></calcite-icon>` || ""}</calcite-dropdown-item>`);
1135
+ l === "details" && e({ event: g, href: m }), s?.({ type: l });
1136
+ }}>${d}${l === "save" && c`<calcite-icon icon=bullet-point-large class="project__indicator" scale=s></calcite-icon>` || ""}</calcite-dropdown-item>`);
1137
1137
  }
1138
- function Hi({ navigate: e, portal: t, projectTitle: i, editedProjectTitle: n, handleProjectTitleSave: r, handleProjectTitleEdit: o, handleProjectTitleCancel: s, openProjectTitleEdit: a, portalItem: l, projectTitleEditing: u, projectTitleSaving: h, projectTitleErrorMessage: b, projectMenuIcon: p, projectMenuSaveIndicator: y, projectMenuClick: x, projectMenuOptions: k, projectTitleInputRef: P, projectButtonRef: w, messages: f }) {
1139
- if (!t || !f || !k?.length && !i)
1138
+ function Xi({ navigate: e, portal: t, projectTitle: i, editedProjectTitle: n, handleProjectTitleSave: r, handleProjectTitleEdit: o, handleProjectTitleCancel: s, openProjectTitleEdit: a, portalItem: l, projectTitleEditing: d, projectTitleSaving: m, projectTitleErrorMessage: g, projectMenuIcon: p, projectMenuSaveIndicator: $, projectMenuClick: y, projectMenuOptions: w, projectTitleInputRef: I, projectButtonRef: P, messages: f }) {
1139
+ if (!t || !f || !w?.length && !i)
1140
1140
  return null;
1141
- if (!k?.length)
1142
- return c`<div class="project__title">${p && c`<calcite-icon .icon=${p} scale=s class="project__menu-icon"></calcite-icon>` || ""}<h1 class="project__title__header">${i}</h1>${y && c`<calcite-icon scale=s icon=bullet-point-large class="project__indicator"></calcite-icon>` || ""}</div>`;
1143
- const m = Ri(k, f), d = !!b;
1144
- return u ? c`<form class="rename" @submit=${async (_) => {
1145
- _.preventDefault(), await r?.(n);
1146
- }} @keydown=${(_) => {
1147
- _.key === "Escape" && s?.();
1148
- }}><calcite-input id=project-title-input type=text scale=l class="rename__input" .label=${f.title} .value=${n} .status=${d ? "invalid" : "idle"} @calciteInputInput=${(_) => o?.(_.target.value)} ${F(P)}></calcite-input>${d && c`<calcite-popover open .label=${f.error} .referenceElement=${P?.value || "project-title-input"} pointer-disabled placement=bottom-start><calcite-notice kind=danger open><div slot=message>${b}</div></calcite-notice></calcite-popover>` || ""}<calcite-action .disabled=${h} icon=check scale=l .text=${f?.saveRename} active class="rename__action" type=submit .loading=${h}></calcite-action><calcite-action .disabled=${h} icon=x scale=l .text=${f?.cancelRename} class="rename__action" @click=${() => s?.()}></calcite-action></form>` : c`<calcite-dropdown width=m class="fade-in project__dropdown"><button slot=trigger class="project" ${F(w)}>${p && c`<calcite-icon scale=s .icon=${p} class="project__menu-icon"></calcite-icon>` || ""}<span class="project__text">${i}</span>${y && c`<calcite-icon scale=s icon=bullet-point-large class="project__indicator"></calcite-icon>` || ""}<calcite-icon scale=s icon=chevron-down></calcite-icon></button>${z(Object.entries(m).filter(([_, N]) => N.length), ([_, N]) => _, ([_, N]) => c`<calcite-dropdown-group selection-mode=none>${N.map((g) => Vi({ menuItem: g, navigate: e, portal: t, messages: f, portalItem: l, openProjectTitleEdit: a, projectMenuClick: x }))}</calcite-dropdown-group>`)}</calcite-dropdown>`;
1149
- }
1150
- function qi(e) {
1141
+ if (!w?.length)
1142
+ return c`<div class="project__title">${p && c`<calcite-icon .icon=${p} scale=s class="project__menu-icon"></calcite-icon>` || ""}<h1 class="project__title__header">${i}</h1>${$ && c`<calcite-icon scale=s icon=bullet-point-large class="project__indicator"></calcite-icon>` || ""}</div>`;
1143
+ const h = Ki(w, f), u = !!g;
1144
+ return d ? c`<form class="rename" @submit=${async (v) => {
1145
+ v.preventDefault(), await r?.(n);
1146
+ }} @keydown=${(v) => {
1147
+ v.key === "Escape" && s?.();
1148
+ }}><calcite-input id=project-title-input type=text scale=l class="rename__input" .label=${f.title} .value=${n} .status=${u ? "invalid" : "idle"} @calciteInputInput=${(v) => o?.(v.target.value)} ${R(I)}></calcite-input>${u && c`<calcite-popover open .label=${f.error} .referenceElement=${I?.value || "project-title-input"} pointer-disabled placement=bottom-start><calcite-notice kind=danger open><div slot=message>${g}</div></calcite-notice></calcite-popover>` || ""}<calcite-action .disabled=${m} icon=check scale=l .text=${f?.saveRename} active class="rename__action" type=submit .loading=${m}></calcite-action><calcite-action .disabled=${m} icon=x scale=l .text=${f?.cancelRename} class="rename__action" @click=${() => s?.()}></calcite-action></form>` : c`<calcite-dropdown width=m class="fade-in project__dropdown"><button slot=trigger class="project" ${R(P)}>${p && c`<calcite-icon scale=s .icon=${p} class="project__menu-icon"></calcite-icon>` || ""}<span class="project__text">${i}</span>${$ && c`<calcite-icon scale=s icon=bullet-point-large class="project__indicator"></calcite-icon>` || ""}<calcite-icon scale=s icon=chevron-down></calcite-icon></button>${U(Object.entries(h).filter(([v, T]) => T.length), ([v, T]) => v, ([v, T]) => c`<calcite-dropdown-group selection-mode=none>${T.map((_) => Qi({ menuItem: _, navigate: e, portal: t, messages: f, portalItem: l, openProjectTitleEdit: a, projectMenuClick: y }))}</calcite-dropdown-group>`)}</calcite-dropdown>`;
1149
+ }
1150
+ function Yi(e) {
1151
1151
  return ["Location Platform", "Online", "Enterprise"].includes(e);
1152
1152
  }
1153
- function De({
1153
+ function ze({
1154
1154
  portal: e,
1155
1155
  searchType: t,
1156
1156
  searchTerm: i
@@ -1158,61 +1158,61 @@ function De({
1158
1158
  const r = e?.sourceJSON?.vectorSearchEnabled ? `&mode=${t}` : "";
1159
1159
  return `search.html?q=${i}${r}`;
1160
1160
  }
1161
- function Ji({ portal: e, item: t, messages: i, navigate: n }) {
1161
+ function Zi({ portal: e, item: t, messages: i, navigate: n }) {
1162
1162
  if (!t || !i)
1163
1163
  return null;
1164
1164
  const r = K(i.by, {
1165
- itemType: Lt(t),
1165
+ itemType: zt(t),
1166
1166
  owner: t.owner
1167
- }), o = `item.html?id=${t.id}`, s = `${O(e)}${o}`;
1168
- return oe(t.id, c`<li class="list-item"><a class="list-item__link" href=${s ?? L} @click=${(a) => n({ event: a, href: s, relativePath: o })}>${c`<span class="list-item__container"><span class="list-item__logo list-item__logo--item-type"><arcgis-portal-item-type .item=${t} .user=${e.user} hide-text></arcgis-portal-item-type></span><span class="list-item__content"><span class="list-item__title list-item__title--regular list-item__title--large">${t.title}</span><span class="list-item__subtitle list-item__subtitle--large">${r}</span></span></span>`}</a></li>`);
1167
+ }), o = `item.html?id=${t.id}`, s = `${E(e)}${o}`;
1168
+ return se(t.id, c`<li class="list-item"><a class="list-item__link" href=${s ?? O} @click=${(a) => n({ event: a, href: s, relativePath: o })}>${c`<span class="list-item__container"><span class="list-item__logo list-item__logo--item-type"><arcgis-portal-item-type .item=${t} .user=${e.user} hide-text></arcgis-portal-item-type></span><span class="list-item__content"><span class="list-item__title list-item__title--regular list-item__title--large">${t.title}</span><span class="list-item__subtitle list-item__subtitle--large">${r}</span></span></span>`}</a></li>`);
1169
1169
  }
1170
- function Ki({ portal: e, suggestions: t, messages: i, navigate: n, searchType: r, searchTerm: o }) {
1170
+ function en({ portal: e, suggestions: t, messages: i, navigate: n, searchType: r, searchTerm: o }) {
1171
1171
  if (!i || !e || !o)
1172
1172
  return null;
1173
1173
  if (!t)
1174
1174
  return c`<div><calcite-loader scale=l .label=${i.loadingResults}></calcite-loader></div>`;
1175
- const s = De({ portal: e, searchType: r, searchTerm: o }), a = `/${s}`, l = `${O(e)}${s}`;
1176
- return c`<ul class="list">${t.map((u) => Ji({ messages: i, portal: e, item: u, navigate: n }))}</ul><div class="suggestions__footer"><calcite-button icon-end=arrow-right scale=l appearance=outline class="suggestions__footer__button" kind=neutral round .href=${l} @click=${(u) => {
1177
- n({ href: l, event: u, relativePath: a });
1175
+ const s = ze({ portal: e, searchType: r, searchTerm: o }), a = `/${s}`, l = `${E(e)}${s}`;
1176
+ return c`<ul class="list">${t.map((d) => Zi({ messages: i, portal: e, item: d, navigate: n }))}</ul><div class="suggestions__footer"><calcite-button icon-end=arrow-right scale=l appearance=outline class="suggestions__footer__button" kind=neutral round .href=${l} @click=${(d) => {
1177
+ n({ href: l, event: d, relativePath: a });
1178
1178
  }}>${i.viewAll}</calcite-button></div>`;
1179
1179
  }
1180
- function Qi({ portal: e, messages: t, searchType: i, handleSearchTypeChange: n }) {
1180
+ function tn({ portal: e, messages: t, searchType: i, handleSearchTypeChange: n }) {
1181
1181
  if (!t || !e?.sourceJSON?.vectorSearchEnabled)
1182
1182
  return null;
1183
1183
  const r = i === "keyword", o = t.searchType;
1184
1184
  return c`<calcite-chip .label=${o.label} .icon=${r ? "text" : "effects"} id=search-type-toggle appearance=solid kind=neutral><span>${r ? o.keywordTitle : o.semanticTitle}</span><calcite-icon icon=chevron-down scale=s class="suggestions__search-type__icon" aria-hidden=true></calcite-icon></calcite-chip><calcite-popover pointer-disabled .label=${t.searchType.label} reference-element=search-type-toggle placement=bottom-end class="suggestions__search-type"><div class="esri-header-search-type-popover-contents"><calcite-list .label=${t.searchType.label} interaction-mode=interactive display-mode=flat scale=m selection-mode=none><calcite-list-item @calciteListItemSelect=${() => n("keyword")} icon-start=text value=keyword .label=${o.keywordTitle} .description=${o.keywordDescription}></calcite-list-item><calcite-list-item @calciteListItemSelect=${() => n("vector")} icon-start=effects value=semantic .label=${o.semanticTitle} .description=${o.semanticDescription}></calcite-list-item></calcite-list></div></calcite-popover>`;
1185
1185
  }
1186
- function Xi({ currentPathname: e, navigate: t, product: i, portal: n, messages: r, searchActive: o, searchType: s, searchTerm: a, suggestions: l, searchInputRef: u, searchActionRef: h, searchPopoverRef: b, handleSearch: p, handleToggleSearch: y, handleSearchTypeChange: x }) {
1187
- if (!qi(i) || !r || !n || e?.includes("search.html"))
1186
+ function nn({ currentPathname: e, navigate: t, product: i, portal: n, messages: r, searchActive: o, searchType: s, searchTerm: a, suggestions: l, searchInputRef: d, searchActionRef: m, searchPopoverRef: g, handleSearch: p, handleToggleSearch: $, handleSearchTypeChange: y }) {
1187
+ if (!Yi(i) || !r || !n || e?.includes("search.html"))
1188
1188
  return null;
1189
- const k = De({ portal: n, searchType: s, searchTerm: a }), P = `/${k}`, w = `${O(n)}${k}`;
1189
+ const w = ze({ portal: n, searchType: s, searchTerm: a }), I = `/${w}`, P = `${E(n)}${w}`;
1190
1190
  return o ? c`<div class="search" id=search-reference-element><calcite-input type=search scale=l icon=search class="search__input" .ariaLabel=${r.label} .placeholder=${s === "vector" ? r.searchType.semanticPlaceholder : r.searchType.keywordPlaceholder} @calciteInputInput=${(f) => p(f.target.value)} @keydown=${(f) => {
1191
- f.key === "Enter" && (t({ href: w, event: f, relativePath: P }), f.defaultPrevented || (window.location.href = w)), f.key === "Escape" && y(!1);
1192
- }} ${F(u)}></calcite-input><calcite-action icon=x scale=l .text=${r?.close} active class="search__action" @click=${() => y(!1)}></calcite-action><calcite-popover .label=${r.suggestions} reference-element=search-reference-element .open=${o && !!a} pointer-disabled placement=bottom-start trigger-disabled .focusTrapOptions=${{ initialFocus: !1 }} ${F(b)}><div class="suggestions__header"><h3 class="suggestions__title">${r.topResults}</h3>${Qi({ portal: n, messages: r, searchType: s, handleSearchTypeChange: x })}</div><div class="suggestions__results">${Ki({ portal: n, suggestions: l, navigate: t, messages: r, searchType: s, searchTerm: a })}</div></calcite-popover></div>` : c`<calcite-action icon=search scale=l text=search class="search__action fade-in" @click=${() => y(!0)} ${F(h)}></calcite-action>`;
1191
+ f.key === "Enter" && (t({ href: P, event: f, relativePath: I }), f.defaultPrevented || (window.location.href = P)), f.key === "Escape" && $(!1);
1192
+ }} ${R(d)}></calcite-input><calcite-action icon=x scale=l .text=${r?.close} active class="search__action" @click=${() => $(!1)}></calcite-action><calcite-popover .label=${r.suggestions} reference-element=search-reference-element .open=${o && !!a} pointer-disabled placement=bottom-start trigger-disabled .focusTrapOptions=${{ initialFocus: !1 }} ${R(g)}><div class="suggestions__header"><h3 class="suggestions__title">${r.topResults}</h3>${tn({ portal: n, messages: r, searchType: s, handleSearchTypeChange: y })}</div><div class="suggestions__results">${en({ portal: n, suggestions: l, navigate: t, messages: r, searchType: s, searchTerm: a })}</div></calcite-popover></div>` : c`<calcite-action icon=search scale=l text=search class="search__action fade-in" @click=${() => $(!0)} ${R(m)}></calcite-action>`;
1193
1193
  }
1194
- function Yi({ signIn: e, messages: t }) {
1194
+ function rn({ signIn: e, messages: t }) {
1195
1195
  return c`<calcite-menu slot=user .label=${t?.account || ""} class="border-start fade-in"><calcite-menu-item .label=${t?.signIn || ""} text-enabled .text=${t?.signIn || ""} @calciteMenuItemSelect=${() => e()}></calcite-menu-item></calcite-menu>`;
1196
1196
  }
1197
- function Zi({ navigate: e, portal: t, product: i, links: n, messages: r, currentPathname: o, searchActive: s }) {
1198
- return !i || !t || !r || !de(i) || !n || s ? null : c`<calcite-menu slot=content-start .label=${r.label} class="site-nav fade-in">${z(n, ({ href: a }) => a, ({ label: a, href: l, relativePath: u }) => c`<calcite-menu-item .text=${a} text-enabled .label=${a} .href=${l} .active=${Ei(l, o)} @click=${(h) => e({ event: h, href: l, relativePath: u })}></calcite-menu-item>`)}</calcite-menu>`;
1197
+ function on({ navigate: e, portal: t, product: i, links: n, messages: r, currentPathname: o, searchActive: s }) {
1198
+ return !i || !t || !r || !pe(i) || !n || s ? null : c`<calcite-menu slot=content-start .label=${r.label} class="site-nav fade-in">${U(n, ({ href: a }) => a, ({ label: a, href: l, relativePath: d }) => c`<calcite-menu-item .text=${a} text-enabled .label=${a} .href=${l} .active=${Ui(l, o)} @click=${(m) => e({ event: m, href: l, relativePath: d })}></calcite-menu-item>`)}</calcite-menu>`;
1199
1199
  }
1200
- function en({ userLinks: e, messages: t, navigate: i, openAccountSwitcher: n, portal: r, signOut: o, textDisabled: s }) {
1200
+ function sn({ userLinks: e, messages: t, navigate: i, openAccountSwitcher: n, portal: r, signOut: o, textDisabled: s }) {
1201
1201
  const a = r?.user;
1202
- return !a || !e || !t || e?.account?.options.length < 1 && e?.resources?.options.length < 1 ? null : c`<div class="user fade-in"><calcite-dropdown .width=${s ? "l" : "m"} class="user__dropdown"><calcite-button class="user__button" slot=trigger appearance=transparent kind=neutral><span class="user__button__contents"><arcgis-portal-user-avatar .user=${a} .portal=${r} scale=l class="user__button__avatar"></arcgis-portal-user-avatar>${!s && c`<span class="user__button__text"><h2 class="user__button__full user__full">${a.fullName}</h2><p class="user__button__username user__username">${a.username}</p></span>` || ""}</span></calcite-button>${s && c`<div class="user__top"><arcgis-portal-user-avatar .user=${a} .portal=${r} scale=l class="user__avatar"></arcgis-portal-user-avatar><div class="user__top__text"><h2 class="user__top__full user__full">${a.fullName}</h2><p class="user__top__username user__username">${a.username}</p></div></div>` || ""}${Object.values(e).filter((l) => l.options.length).map(({ title: l, options: u }) => c`<calcite-dropdown-group selection-mode=none .groupTitle=${l}>${u.map(({ icon: h, label: b, href: p, relativePath: y }) => c`<calcite-dropdown-item .iconStart=${h} .href=${p} @keydown=${(x) => {
1203
- (x.key === "Enter" || x.key === " ") && i({ event: x, href: p, relativePath: y });
1204
- }} @click=${(x) => {
1205
- i({ event: x, href: p, relativePath: y });
1206
- }}>${b}</calcite-dropdown-item>`)}</calcite-dropdown-group>`)}<calcite-dropdown-group selection-mode=none>${n && c`<calcite-dropdown-item icon-start=users @calciteDropdownItemSelect=${(l) => {
1207
- const u = Dt(l.target, "calcite-dropdown");
1208
- u && (u.open = !1), n();
1202
+ return !a || !e || !t || e?.account?.options.length < 1 && e?.resources?.options.length < 1 ? null : c`<div class="user fade-in"><calcite-dropdown .width=${s ? "l" : "m"} class="user__dropdown"><calcite-button class="user__button" slot=trigger appearance=transparent kind=neutral><span class="user__button__contents"><arcgis-portal-user-avatar .user=${a} .portal=${r} scale=l class="user__button__avatar"></arcgis-portal-user-avatar>${!s && c`<span class="user__button__text"><h2 class="user__button__full user__full">${a.fullName}</h2><p class="user__button__username user__username">${a.username}</p></span>` || ""}</span></calcite-button>${s && c`<div class="user__top"><arcgis-portal-user-avatar .user=${a} .portal=${r} scale=l class="user__avatar"></arcgis-portal-user-avatar><div class="user__top__text"><h2 class="user__top__full user__full">${a.fullName}</h2><p class="user__top__username user__username">${a.username}</p></div></div>` || ""}${Object.values(e).filter((l) => l.options.length).map(({ title: l, options: d }) => c`<calcite-dropdown-group selection-mode=none .groupTitle=${l}>${d.map(({ icon: m, label: g, href: p, relativePath: $ }) => c`<calcite-dropdown-item .iconStart=${m} .href=${p} @keydown=${(y) => {
1203
+ (y.key === "Enter" || y.key === " ") && i({ event: y, href: p, relativePath: $ });
1204
+ }} @click=${(y) => {
1205
+ i({ event: y, href: p, relativePath: $ });
1206
+ }}>${g}</calcite-dropdown-item>`)}</calcite-dropdown-group>`)}<calcite-dropdown-group selection-mode=none>${n && c`<calcite-dropdown-item icon-start=users @calciteDropdownItemSelect=${(l) => {
1207
+ const d = Ft(l.target, "calcite-dropdown");
1208
+ d && (d.open = !1), n();
1209
1209
  }}>${t.switchAccounts}</calcite-dropdown-item>` || ""}<calcite-dropdown-item icon-start=sign-out @calciteDropdownItemSelect=${() => o()}>${t.signOut}</calcite-dropdown-item></calcite-dropdown-group></calcite-dropdown></div>`;
1210
1210
  }
1211
- const ze = {
1211
+ const Ge = {
1212
1212
  community: "https://community.esri.com/plugins/common/feature/oauth2sso_v2/sso_login_redirect?referer=https%3A%2F%2Fcommunity.esri.com%2F",
1213
1213
  myEsri: "https://my.esri.com"
1214
1214
  };
1215
- function tn({
1215
+ function an({
1216
1216
  messages: e,
1217
1217
  userLinks: t
1218
1218
  }) {
@@ -1224,7 +1224,7 @@ function tn({
1224
1224
  i[n.group].options.push(n);
1225
1225
  }), i;
1226
1226
  }
1227
- function nn({
1227
+ function cn({
1228
1228
  portal: e,
1229
1229
  messages: t,
1230
1230
  clientId: i
@@ -1234,10 +1234,10 @@ function nn({
1234
1234
  account: { title: t?.account, options: [] },
1235
1235
  resources: { title: t?.account, options: [] }
1236
1236
  };
1237
- const n = sn(e), r = rn({ navLinkDictionary: n, messages: t, clientId: i });
1238
- return tn({ userLinks: r, messages: t });
1237
+ const n = dn(e), r = ln({ navLinkDictionary: n, messages: t, clientId: i });
1238
+ return an({ userLinks: r, messages: t });
1239
1239
  }
1240
- function rn({
1240
+ function ln({
1241
1241
  navLinkDictionary: e,
1242
1242
  messages: t,
1243
1243
  clientId: i
@@ -1252,27 +1252,27 @@ function rn({
1252
1252
  "arcgisBlog",
1253
1253
  "help"
1254
1254
  ];
1255
- return (le(i) || ue(i)) && (n = ["mySettings", "arcgisBlog", "help"]), Ee(i) && (n = []), on(n, t, e);
1255
+ return (ue(i) || de(i)) && (n = ["mySettings", "arcgisBlog", "help"]), je(i) && (n = []), un(n, t, e);
1256
1256
  }
1257
- function on(e, t, i) {
1257
+ function un(e, t, i) {
1258
1258
  const n = [];
1259
1259
  return e.forEach((r) => {
1260
1260
  const o = i[r];
1261
1261
  if (o && (!("show" in o) || o.show)) {
1262
- const { href: s, newTab: a, icon: l, group: u, relativePath: h } = o;
1262
+ const { href: s, newTab: a, icon: l, group: d, relativePath: m } = o;
1263
1263
  n.push({
1264
1264
  label: t[r],
1265
- group: u,
1265
+ group: d,
1266
1266
  href: s,
1267
1267
  newTab: a,
1268
- relativePath: h,
1268
+ relativePath: m,
1269
1269
  icon: l
1270
1270
  });
1271
1271
  }
1272
1272
  }), n;
1273
1273
  }
1274
- function sn(e) {
1275
- const t = O(e), i = an(e), n = `user.html${window.location.pathname.includes("home/user.html") ? "?nav=1" : ""}`;
1274
+ function dn(e) {
1275
+ const t = E(e), i = pn(e), n = `user.html${window.location.pathname.includes("home/user.html") ? "?nav=1" : ""}`;
1276
1276
  return {
1277
1277
  myProfile: {
1278
1278
  href: `${t}${n}`,
@@ -1289,21 +1289,21 @@ function sn(e) {
1289
1289
  help: {
1290
1290
  group: "resources",
1291
1291
  icon: "question",
1292
- href: se(e),
1292
+ href: ae(e),
1293
1293
  newTab: !0
1294
1294
  },
1295
1295
  communityForums: {
1296
1296
  show: i,
1297
1297
  group: "resources",
1298
1298
  icon: "speech-bubbles",
1299
- href: ze.community,
1299
+ href: Ge.community,
1300
1300
  newTab: !0
1301
1301
  },
1302
1302
  myEsri: {
1303
1303
  show: i,
1304
1304
  group: "account",
1305
1305
  icon: "globe",
1306
- href: ln(e),
1306
+ href: mn(e),
1307
1307
  newTab: !0
1308
1308
  },
1309
1309
  arcgisBlog: {
@@ -1317,41 +1317,41 @@ function sn(e) {
1317
1317
  show: i,
1318
1318
  group: "resources",
1319
1319
  icon: "education",
1320
- href: cn(e),
1320
+ href: hn(e),
1321
1321
  newTab: !0
1322
1322
  },
1323
1323
  trialDownload: {
1324
1324
  group: "resources",
1325
1325
  icon: "download-to",
1326
- show: dn(e),
1326
+ show: gn(e),
1327
1327
  href: `${t}/home/user.html${window.location.pathname.includes("home/user.html") ? "?nav=1&tab=licenses" : "?tab=licenses"}#settings`
1328
1328
  }
1329
1329
  };
1330
1330
  }
1331
- function an(e) {
1331
+ function pn(e) {
1332
1332
  return !e.isPortal && e?.user?.sourceJSON?.userType === "both";
1333
1333
  }
1334
- function cn(e) {
1335
- return Ge(
1334
+ function hn(e) {
1335
+ return Ue(
1336
1336
  e,
1337
1337
  `${window.location.protocol}//www.esri.com/training/arcgis-online-training`
1338
1338
  );
1339
1339
  }
1340
- function ln(e) {
1341
- return Ge(e, ze.myEsri);
1340
+ function mn(e) {
1341
+ return Ue(e, Ge.myEsri);
1342
1342
  }
1343
- function Ge(e, t) {
1344
- const i = ae(e), n = un(e), r = `https://accounts${n ? n === "dev" ? "-dev" : "-stg" : ""}.esri.com/`, o = `&authBaseUrl=${q(i.replace("/sharing/rest/", ""), e)}`, s = `${r}LoginHandler/switchuser?`, a = `username=${e?.user?.username ?? ""}&redirect_uri=${t}${o}`;
1343
+ function Ue(e, t) {
1344
+ const i = ce(e), n = fn(e), r = `https://accounts${n ? n === "dev" ? "-dev" : "-stg" : ""}.esri.com/`, o = `&authBaseUrl=${q(i.replace("/sharing/rest/", ""), e)}`, s = `${r}LoginHandler/switchuser?`, a = `username=${e?.user?.username ?? ""}&redirect_uri=${t}${o}`;
1345
1345
  return `${s}${a}`;
1346
1346
  }
1347
- function un(e) {
1347
+ function fn(e) {
1348
1348
  const t = e.portalHostname;
1349
1349
  return t?.includes("dev") ? "dev" : t?.includes("qa") ? "qa" : "";
1350
1350
  }
1351
- function dn(e) {
1351
+ function gn(e) {
1352
1352
  return !e?.isPortal && ["Trial", "Trial Press"].includes(e?.sourceJSON.subscriptionInfo?.type);
1353
1353
  }
1354
- function pn(e) {
1354
+ function Be(e) {
1355
1355
  switch (e) {
1356
1356
  case "360 VR":
1357
1357
  return {
@@ -1572,51 +1572,58 @@ function pn(e) {
1572
1572
  };
1573
1573
  }
1574
1574
  }
1575
- function hn({
1576
- product: e,
1577
- portal: t,
1578
- clientId: i
1575
+ function Fe({
1576
+ name: e,
1577
+ fileName: t,
1578
+ icon: i
1579
1579
  }) {
1580
- return e !== "Online" ? e : t?.sourceJSON?.subscriptionInfo?.options?.includes("Developer") ? "Location Platform" : ue(i) ? "GeoAnalytics Fabric" : le(i) ? "GeoAnalytics Engine" : t?.isPortal ? "Enterprise" : "Online";
1581
- }
1582
- function ye(e) {
1583
- const t = hn(e), { name: i, fileName: n, icon: r } = pn(t);
1584
1580
  return {
1585
- name: i,
1586
- glyph: ee(`assets/portal-navigation/product-logos/${n}-glyph-32.svg`),
1587
- icon: ee(`assets/portal-navigation/apps/${r}.avif`)
1581
+ name: e,
1582
+ glyph: ee(`assets/portal-navigation/product-logos/${t}-glyph-32.svg`),
1583
+ icon: ee(`assets/portal-navigation/apps/${i}.avif`)
1588
1584
  };
1589
1585
  }
1590
- function mn() {
1591
- const e = $t();
1586
+ function We({ portal: e, clientId: t }) {
1587
+ return e?.sourceJSON?.subscriptionInfo?.options?.includes("Developer") ? "Location Platform" : de(t) ? "GeoAnalytics Fabric" : ue(t) ? "GeoAnalytics Engine" : e?.isPortal ? "Enterprise" : "Online";
1588
+ }
1589
+ function bn(e) {
1590
+ const t = We(e);
1591
+ return Fe(Be(t));
1592
+ }
1593
+ function $e(e) {
1594
+ const t = e?.product === "Online" ? We(e) : e?.product;
1595
+ return Fe(Be(t));
1596
+ }
1597
+ function vn() {
1598
+ const e = It();
1592
1599
  ["item.html", "group.html"].some((t) => window.location.href.includes(t)) ? window.location.href = `./signin.html?locale=${e}&useLandingPage=false&returnUrl=${encodeURIComponent(
1593
1600
  window.location.href
1594
1601
  )}` : window.location.href = `./signin.html?locale=${e}&useLandingPage=true`;
1595
1602
  }
1596
- function fn({ portal: e, clientId: t }) {
1597
- const i = re({ portal: e });
1603
+ function _n({ portal: e, clientId: t }) {
1604
+ const i = oe({ portal: e });
1598
1605
  if (e?.isPortal) {
1599
1606
  const n = e.access === "private" ? q("signin.html", e) : e.allSSL || window.location.protocol === "https:" ? q("./index.html", e) : `${i}/index.html`;
1600
- bn(e, n);
1607
+ yn(e, n);
1601
1608
  } else
1602
1609
  window.location.href = `${i}/pages/Account/manage_accounts.html#client_id=${t}&signout=true`;
1603
1610
  }
1604
- function gn() {
1605
- ii(we), ni(we);
1611
+ function wn() {
1612
+ ai(ye), ci(ye);
1606
1613
  }
1607
- function bn(e, t = window.location.href) {
1608
- const i = window.location.href.startsWith("http://"), n = jt(e);
1609
- Gt.destroyCredentials(), gn();
1610
- const r = new URL(q(`${ae(e)}oauth2/signout`, e)), { searchParams: o } = r;
1614
+ function yn(e, t = window.location.href) {
1615
+ const i = window.location.href.startsWith("http://"), n = Bt(e);
1616
+ Rt.destroyCredentials(), wn();
1617
+ const r = new URL(q(`${ce(e)}oauth2/signout`, e)), { searchParams: o } = r;
1611
1618
  o.append("client_id", "arcgisonline"), o.append("redirect_uri", t), n && i && (e.isPortal || e.user?.sourceJSON.provider === "enterprise") && o.append("token", n), window.location.href = r.href;
1612
1619
  }
1613
- function j(e, t) {
1620
+ function z(e, t) {
1614
1621
  if (!e)
1615
1622
  return 0;
1616
- const i = zt({ text: e, font: `${t === "s" ? ".875rem" : "1rem"} 'Avenir Next'` });
1623
+ const i = Wt({ text: e, font: `${t === "s" ? ".875rem" : "1rem"} 'Avenir Next'` });
1617
1624
  return Math.ceil(i);
1618
1625
  }
1619
- function vn({
1626
+ function $n({
1620
1627
  portal: e,
1621
1628
  product: t,
1622
1629
  projectTitle: i,
@@ -1626,28 +1633,28 @@ function vn({
1626
1633
  }) {
1627
1634
  if (!t || !e)
1628
1635
  return;
1629
- const s = e.user, l = de(t) && n?.length ? 24 + n.reduce((b, p) => b + 16 + j(p.label) + 16, 0) : 0, u = 40 + j(i) + 32 + 16 + 16 + 12, h = s ? Math.max(j(s?.username, "s"), j(s?.fullName)) : j(r?.signIn);
1636
+ const s = e.user, l = pe(t) && n?.length ? 24 + n.reduce((g, p) => g + 16 + z(p.label) + 16, 0) : 0, d = 40 + z(i) + 32 + 16 + 16 + 12, m = s ? Math.max(z(s?.username, "s"), z(s?.fullName)) : z(r?.signIn);
1630
1637
  return {
1631
1638
  actions: 192,
1632
- project: i ? Math.min(u, 400) : 0,
1633
- product: 64 + Math.max(j(o?.name), j(e.name, "s")) + 16,
1639
+ project: i ? Math.min(d, 400) : 0,
1640
+ product: 64 + Math.max(z(o?.name), z(e.name, "s")) + 16,
1634
1641
  nav: l,
1635
- user: 64 + h + 16
1642
+ user: 64 + m + 16
1636
1643
  };
1637
1644
  }
1638
- function _n({
1645
+ function An({
1639
1646
  measurements: e,
1640
1647
  screenWidth: t
1641
1648
  }) {
1642
- const { actions: i, nav: n, product: r, project: o, user: s } = e, a = 64, l = t - i - a > n, u = t - i - (l ? n : 0) - o - a > Math.min(r, 400), h = t - n - o - i - r < Math.min(s, 320);
1649
+ const { actions: i, nav: n, product: r, project: o, user: s } = e, a = 64, l = t - i - a > n, d = t - i - (l ? n : 0) - o - a > Math.min(r, 400), m = t - n - o - i - r < Math.min(s, 320);
1643
1650
  return {
1644
1651
  nav: l,
1645
- product: u,
1646
- user: h ? "avatar" : "full"
1652
+ product: d,
1653
+ user: m ? "avatar" : "full"
1647
1654
  };
1648
1655
  }
1649
- const Ue = ' -type:"Code Attachment" -type:"Featured Items" -type:"Symbol Set" -type:"Color Set" -type:"Windows Viewer Add In" -type:"Windows Viewer Configuration" -type:"Map Area" -typekeywords:"MapAreaPackage" -type:"Indoors Map Configuration" -typekeywords:"SMX"';
1650
- async function $e({
1656
+ const Re = ' -type:"Code Attachment" -type:"Featured Items" -type:"Symbol Set" -type:"Color Set" -type:"Windows Viewer Add In" -type:"Windows Viewer Configuration" -type:"Map Area" -typekeywords:"MapAreaPackage" -type:"Indoors Map Configuration" -typekeywords:"SMX"';
1657
+ async function Ae({
1651
1658
  portal: e,
1652
1659
  searchTerm: t
1653
1660
  }) {
@@ -1656,7 +1663,7 @@ async function $e({
1656
1663
  try {
1657
1664
  return (await e.queryItems({
1658
1665
  ...t ? { query: t } : {},
1659
- filter: `owner:${e.user.username}${Ue}`,
1666
+ filter: `owner:${e.user.username}${Re}`,
1660
1667
  num: 20,
1661
1668
  sortField: "modified",
1662
1669
  sortOrder: "desc"
@@ -1665,37 +1672,37 @@ async function $e({
1665
1672
  return [];
1666
1673
  }
1667
1674
  }
1668
- async function wn({
1675
+ async function kn({
1669
1676
  portal: e,
1670
1677
  searchTerm: t
1671
1678
  }) {
1672
1679
  if (!e)
1673
1680
  return [];
1674
- const i = Bt((t || "").substring(0, 409)), n = `${e?.id ? `accountid:"${e.id}"` : ""}${Ue}`, r = `${ae(e)}search/suggest`;
1675
- return (await G(r, { query: {
1681
+ const i = Ht((t || "").substring(0, 409)), n = `${e?.id ? `accountid:"${e.id}"` : ""}${Re}`, r = `${ce(e)}search/suggest`;
1682
+ return (await B(r, { query: {
1676
1683
  suggest: i,
1677
1684
  filters: n,
1678
1685
  searchFields: "title",
1679
1686
  f: "json"
1680
1687
  } }))?.result?.results || [];
1681
1688
  }
1682
- const yn = wt`:host{display:block;--arcgis-portal-navigation-logo-max-width: 260px;--arcgis-portal-navigation-logo-text-display: flex;--arcgis-portal-navigation-user-max-width: 260px;--arcgis-portal-navigation-user-text-display: block;--arcgis-portal-navigation-project-max-width: auto}.scrim{z-index:100;pointer-events:none;opacity:0;transition:opacity .2s ease-in-out;--calcite-scrim-background: rgba(0, 0, 0, .85)}.scrim--active{opacity:1}.wrapper{background:var(--calcite-color-foreground-1);border-bottom:1px solid var(--calcite-color-border-3);position:relative;z-index:200}.navigation{width:100%;min-width:0;min-height:4rem;display:flex;align-items:stretch;max-width:var(--arcgis-portal-navigation-max-width);margin-inline:auto;overflow:hidden}.navigation--loading .fade-in{opacity:0}.fade-in{opacity:1;transition:opacity ease-in-out .15s}.content-end{margin-inline-start:auto;display:flex;align-items:center}.content-end[hidden]{display:none}.action{height:100%;--calcite-internal-action-spacing: 1.25rem}.border-start{border-inline-start:1px solid var(--calcite-color-border-3)}.platform{--calcite-sheet-width: 24rem}.platform__container{display:flex;flex-direction:column;max-height:100%}.platform__header{display:flex;align-items:center}.platform__header-image{width:48px;height:48px;margin-inline-end:1rem}.platform__header-text{flex:1 1 auto;line-height:1.375}.platform__title{margin:0;padding:0;color:var(--calcite-color-text-1);font-size:var(--calcite-font-size--1);font-weight:var(--calcite-font-weight-medium)}.platform__subtitle{margin:0;padding:0;font-size:var(--calcite-font-size--2);color:var(--calcite-color-text-2)}.platform__panel{border-inline-end:1px solid var(--calcite-color-border-3);--calcite-panel-background-color: var(--calcite-color-foreground-1)}.platform__tiles{margin:.75rem .75rem 1.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));grid-gap:.5rem}.platform__tabs{min-height:0;flex:1 1 auto;--calcite-tab-content-space-y: 0}.platform__tab{position:relative}.list{list-style:none;margin:0;padding:0}.list__container{position:relative}.list__header{display:flex;align-items:center;padding:.5rem .75rem;border-bottom:1px solid var(--calcite-color-border-3);background-color:var(--calcite-color-foreground-1);position:sticky;top:0;z-index:701}.list__search{flex:1 1 auto;--calcite-color-border-input: var(--calcite-color-foreground-1)}.list-item__link{display:block;box-sizing:border-box;width:100%;padding-inline-start:.75rem;background-color:var(--calcite-color-foreground-1);outline-color:transparent;text-decoration:none;outline-offset:0;transition:color var(--calcite-animation-timing) ease-in-out,background-color var(--calcite-animation-timing) ease-in-out,outline-color var(--calcite-internal-animation-timing-fast) ease-in-out,outline-offset var(--calcite-internal-animation-timing-fast) ease-in-out}.list-item__link:hover{background-color:var(--calcite-color-transparent-hover)}.list-item__link:focus{outline:var(--calcite-border-width-md) solid var(--calcite-color-focus);outline-offset:-2px}.list-item:focus-within .list-item__container{border-bottom-color:transparent}.list-item__container{box-sizing:border-box;width:100%;padding-block:.5rem;padding-inline-start:0;padding-inline-end:.5rem;border-bottom:1px solid var(--calcite-color-border-3);display:flex;align-items:center;position:relative;pointer-events:none}.list-item__content{display:flex;flex-direction:column;justify-content:center;min-width:0}.list-item__logo{width:48px;height:48px;flex:0 0 auto;box-sizing:border-box;margin-inline-end:.5rem;justify-content:center;align-items:center;position:relative;display:flex}.list-item__logo-bg{position:absolute}.list-item__indicator{position:absolute;width:.5rem;height:.5rem;border-radius:50%;background-color:var(--calcite-color-status-success);border:2px solid var(--calcite-color-foreground-1);z-index:50;top:.25rem;inset-inline-start:-.25rem}.list-item__abbr{color:#fff;font-weight:700;position:relative}.list-item__logo-empty{border:2px dashed var(--calcite-color-border-3);border-radius:8px}.list-item__logo--item-type{background-color:var(--calcite-color-background);display:flex;justify-content:center;align-items:center}.list-item__title{display:block;font-size:var(--calcite-font-size--1);color:var(--calcite-color-text-1);font-weight:500;word-wrap:break-word}.list-item__title--regular{font-weight:400;padding-top:.25rem}.list-item__title--large{font-size:var(--calcite-font-size-0);line-height:1}.list-item__subtitle{display:block;font-size:var(--calcite-font-size--2);color:var(--calcite-color-text-3);font-weight:500;padding-top:.25rem;padding-bottom:.25rem}.list-item__subtitle--large{font-size:var(--calcite-font-size--1);font-weight:400;padding:0}.list-item__chip{margin-inline-start:auto;--calcite-chip-background-color: var(--calcite-color-foreground-current)}.app--hidden{--calcite-list-background-color: var(--calcite-color-background)}.app--hidden .list-item__logo{opacity:.4}.logo{border-inline-end:1px solid var(--calcite-color-border-3);max-width:var(--arcgis-portal-navigation-logo-max-width);display:flex;align-items:center}.logo--link{text-decoration:none}.logo--link:hover{background-color:var(--calcite-color-transparent-hover)}.logo--link:focus{outline:2px solid var(--calcite-color-brand);outline-offset:-2px}.logo__glyph{width:32px;height:32px;padding-inline:1rem}.logo__text{display:var(--arcgis-portal-navigation-logo-text-display);flex-direction:column;overflow:hidden;white-space:nowrap;text-align:start;padding-inline:var(--calcite-internal-navigation-logo-padding-inline);padding-inline-end:1rem}.logo__title{margin:0;padding:0;color:var(--calcite-color-text-1);font-size:var(--calcite-font-size-0);font-weight:var(--calcite-font-weight-medium);line-height:1.25rem;text-overflow:ellipsis;overflow:hidden}.logo__subtitle{margin:0;padding:0;font-size:var(--calcite-font-size--1);color:var(--calcite-color-text-2);font-size:.875rem;line-height:1rem;text-overflow:ellipsis;overflow:hidden}.site-nav{margin-inline-start:1.5rem}.project{min-width:0;outline:none;border:none;border-inline-end:1px solid var(--calcite-color-border-3);cursor:pointer;background-color:var(--calcite-color-foreground-1);box-sizing:border-box;display:flex;user-select:none;appearance:none;align-items:center;justify-content:center;text-align:center;font-family:inherit;font-weight:var(--calcite-font-weight-normal);text-decoration-line:none;outline-color:transparent;box-shadow:var(--calcite-button-shadow, var(--calcite-shadow-none));color:var(--calcite-color-text-1);transition:all var(--calcite-animation-timing) ease-in-out 0s,outline 0s,outline-offset 0s;inset-inline-end:.25rem;background:transparent;white-space:nowrap;padding:0 1.375rem;flex-grow:2}.project:hover{background-color:var(--calcite-color-transparent-hover)}.project:focus{outline:2px solid var(--calcite-color-brand);outline-offset:-2px}.project__title{display:flex;justify-self:stretch;min-width:0;align-items:center;justify-content:center;padding:0 1.5rem;margin-inline-end:1.5rem;color:var(--calcite-color-text-1);border-inline-end:1px solid var(--calcite-color-border-3);max-width:var(--arcgis-portal-navigation-project-max-width, 60%)}.project__title__header{padding:0;margin:0;font-size:1rem;font-weight:400;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project__dropdown{max-width:var(--arcgis-portal-navigation-project-max-width, 60%);min-width:0;margin-inline-end:1.5rem}.project__indicator{margin-inline-end:.5rem;--calcite-ui-icon-color: var(--calcite-color-status-danger)}.project__menu-icon{margin-inline-end:.75rem}.project__text{font-size:1rem;min-width:0;overflow:hidden;text-overflow:ellipsis;margin-inline-end:.75rem}.rename{width:100%;min-width:0;display:flex;flex:1 1 0;align-items:center;margin-inline-start:.5rem}.rename__action{margin-inline-end:.5rem;display:flex;align-items:center}.rename__input{margin-inline-end:.5rem;display:block;width:100%}.search{width:100%;min-width:0;display:flex;flex:1 1 0;align-items:center;margin-inline-start:.5rem}.search__action{margin-inline-end:.5rem;display:flex;align-items:center}.search__input{margin-inline-end:.5rem;display:block;width:100%}.suggestions__header{display:flex;align-items:center;width:var(--calcite-popover-max-size-x);box-sizing:border-box;padding:.75rem 1rem;border-bottom:1px solid var(--calcite-color-border-3)}.suggestions__title{padding:0;margin:0;font-weight:500;color:var(--calcite-color-text-1);font-size:var(--calcite-font-size-1);flex:1 1 0}.suggestions__search-type{--calcite-popover-max-size-x: 320px}.suggestions__search-type__icon{vertical-align:-.2rem}.suggestions__footer{display:flex;align-items:center;justify-content:center;padding:1rem}.notifications{width:min(24rem,80vw)}.notifications--full:after{content:"";display:block;border-top:1px solid var(--calcite-color-border-3);margin-left:1rem}.notifications__list{max-height:min(18rem,80vh);overflow:auto;box-sizing:border-box;width:100%}.notifications--empty{padding:2rem}.empty{padding:1rem;text-align:center;color:var(--calcite-color-text-3);--calcite-icon-color: var(--calcite-color-status-success-hover)}.empty__header{margin:0;padding:.75rem 0 0;color:var(--calcite-color-text-1);font-weight:500;font-size:var(--calcite-font-size-1)}.empty__text{margin:0;padding:0;color:var(--calcite-color-text-3);font-weight:400;font-size:var(--calcite-font-size-0)}.notification{display:flex;flex-direction:column;padding:.5rem}.notification__message{color:var(--calcite-color-text-1);font-size:var(--calcite-font-size-0);--calcite-color-brand-underline: transparent}.notification__date{color:var(--calcite-color-text-3);font-size:var(--calcite-font-size-0)}.notifications__dismiss{margin-inline-start:auto;margin-inline-end:1rem;margin-block:.5rem}.user{display:flex;max-width:var(--arcgis-portal-navigation-user-max-width);--calcite-dropdown-item-text-color: var(--calcite-color-text-3);--calcite-dropdown-group-title-text-color: var(--calcite-color-text-2)}.user__dropdown{max-width:100%}.user__button{max-width:100%;--calcite-spacing-base: -2px}.user__button__contents{display:flex;text-align:start}.user__button__text{display:var(--arcgis-portal-navigation-user-text-display);flex:1 1 0;min-width:0;padding-inline-start:1rem;line-height:1.375;overflow:hidden}.user__button__avatar{flex:0 0 auto}.user__button__full,.user__button__username{max-width:100%;overflow:hidden;text-overflow:ellipsis}.user__top{display:flex;padding:.75rem;border-bottom:1px solid var(--calcite-color-border-3)}.user__top__avatar{flex:0 0 auto}.user__top__text{box-sizing:border-box;word-wrap:break-word;flex:1 1 0;min-width:0;padding-inline-start:1rem;line-height:1.375}.user__full{font-size:1rem;font-weight:medium;color:var(--calcite-colot-text-1);line-height:1.25;padding:0;margin:0}.user__username{font-size:.875rem;line-height:1.25;color:var(--calcite-colot-text-2);padding:0;margin:0}`;
1683
- function $n({ messages: e, portal: t, showNav: i, openPlatformMenu: n, handleToggleSearch: r }) {
1689
+ const xn = xt`:host{display:block;--arcgis-portal-navigation-logo-max-width: 260px;--arcgis-portal-navigation-logo-text-display: flex;--arcgis-portal-navigation-user-max-width: 260px;--arcgis-portal-navigation-user-text-display: block;--arcgis-portal-navigation-project-max-width: auto}.scrim{z-index:100;pointer-events:none;opacity:0;transition:opacity .2s ease-in-out;--calcite-scrim-background: rgba(0, 0, 0, .85)}.scrim--active{opacity:1}.wrapper{background:var(--calcite-color-foreground-1);border-bottom:1px solid var(--calcite-color-border-3);position:relative;z-index:200}.navigation{width:100%;min-width:0;min-height:4rem;display:flex;align-items:stretch;max-width:var(--arcgis-portal-navigation-max-width);margin-inline:auto;overflow:hidden}.navigation--loading .fade-in{opacity:0}.fade-in{opacity:1;transition:opacity ease-in-out .15s}.content-end{margin-inline-start:auto;display:flex;align-items:center}.content-end[hidden]{display:none}.action{height:100%;--calcite-internal-action-spacing: 1.25rem}.border-start{border-inline-start:1px solid var(--calcite-color-border-3)}.platform{--calcite-sheet-width: 24rem}.platform__container{display:flex;flex-direction:column;max-height:100%}.platform__header{display:flex;align-items:center}.platform__header-image{width:48px;height:48px;margin-inline-end:1rem}.platform__header-text{flex:1 1 auto;line-height:1.375}.platform__title{margin:0;padding:0;color:var(--calcite-color-text-1);font-size:var(--calcite-font-size--1);font-weight:var(--calcite-font-weight-medium)}.platform__subtitle{margin:0;padding:0;font-size:var(--calcite-font-size--2);color:var(--calcite-color-text-2)}.platform__panel{border-inline-end:1px solid var(--calcite-color-border-3);--calcite-panel-background-color: var(--calcite-color-foreground-1)}.platform__tiles{margin:.75rem .75rem 1.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));grid-gap:.5rem}.platform__tabs{min-height:0;flex:1 1 auto;--calcite-tab-content-space-y: 0}.platform__tab{position:relative}.list{list-style:none;margin:0;padding:0}.list__container{position:relative}.list__header{display:flex;align-items:center;padding:.5rem .75rem;border-bottom:1px solid var(--calcite-color-border-3);background-color:var(--calcite-color-foreground-1);position:sticky;top:0;z-index:701}.list__search{flex:1 1 auto;--calcite-color-border-input: var(--calcite-color-foreground-1)}.list-item__link{display:block;box-sizing:border-box;width:100%;padding-inline-start:.75rem;background-color:var(--calcite-color-foreground-1);outline-color:transparent;text-decoration:none;outline-offset:0;transition:color var(--calcite-animation-timing) ease-in-out,background-color var(--calcite-animation-timing) ease-in-out,outline-color var(--calcite-internal-animation-timing-fast) ease-in-out,outline-offset var(--calcite-internal-animation-timing-fast) ease-in-out}.list-item__link:hover{background-color:var(--calcite-color-transparent-hover)}.list-item__link:focus{outline:var(--calcite-border-width-md) solid var(--calcite-color-focus);outline-offset:-2px}.list-item:focus-within .list-item__container{border-bottom-color:transparent}.list-item__container{box-sizing:border-box;width:100%;padding-block:.5rem;padding-inline-start:0;padding-inline-end:.5rem;border-bottom:1px solid var(--calcite-color-border-3);display:flex;align-items:center;position:relative;pointer-events:none}.list-item__content{display:flex;flex-direction:column;justify-content:center;min-width:0}.list-item__logo{width:48px;height:48px;flex:0 0 auto;box-sizing:border-box;margin-inline-end:.5rem;justify-content:center;align-items:center;position:relative;display:flex}.list-item__logo-bg{position:absolute}.list-item__indicator{position:absolute;width:.5rem;height:.5rem;border-radius:50%;background-color:var(--calcite-color-status-success);border:2px solid var(--calcite-color-foreground-1);z-index:50;top:.25rem;inset-inline-start:-.25rem}.list-item__abbr{color:#fff;font-weight:700;position:relative}.list-item__logo-empty{border:2px dashed var(--calcite-color-border-3);border-radius:8px}.list-item__logo--item-type{background-color:var(--calcite-color-background);display:flex;justify-content:center;align-items:center}.list-item__title{display:block;font-size:var(--calcite-font-size--1);color:var(--calcite-color-text-1);font-weight:500;word-wrap:break-word}.list-item__title--regular{font-weight:400;padding-top:.25rem}.list-item__title--large{font-size:var(--calcite-font-size-0);line-height:1}.list-item__subtitle{display:block;font-size:var(--calcite-font-size--2);color:var(--calcite-color-text-3);font-weight:500;padding-top:.25rem;padding-bottom:.25rem}.list-item__subtitle--large{font-size:var(--calcite-font-size--1);font-weight:400;padding:0}.list-item__chip{margin-inline-start:auto;--calcite-chip-background-color: var(--calcite-color-foreground-current)}.app--hidden{--calcite-list-background-color: var(--calcite-color-background)}.app--hidden .list-item__logo{opacity:.4}.logo{border-inline-end:1px solid var(--calcite-color-border-3);max-width:var(--arcgis-portal-navigation-logo-max-width);display:flex;align-items:center}.logo--link{text-decoration:none}.logo--link:hover{background-color:var(--calcite-color-transparent-hover)}.logo--link:focus{outline:2px solid var(--calcite-color-brand);outline-offset:-2px}.logo__glyph{width:32px;height:32px;padding-inline:1rem}.logo__text{display:var(--arcgis-portal-navigation-logo-text-display);flex-direction:column;overflow:hidden;white-space:nowrap;text-align:start;padding-inline:var(--calcite-internal-navigation-logo-padding-inline);padding-inline-end:1rem}.logo__title{margin:0;padding:0;color:var(--calcite-color-text-1);font-size:var(--calcite-font-size-0);font-weight:var(--calcite-font-weight-medium);line-height:1.25rem;text-overflow:ellipsis;overflow:hidden}.logo__subtitle{margin:0;padding:0;font-size:var(--calcite-font-size--1);color:var(--calcite-color-text-2);font-size:.875rem;line-height:1rem;text-overflow:ellipsis;overflow:hidden}.site-nav{margin-inline-start:1.5rem}.project{min-width:0;outline:none;border:none;border-inline-end:1px solid var(--calcite-color-border-3);cursor:pointer;background-color:var(--calcite-color-foreground-1);box-sizing:border-box;display:flex;user-select:none;appearance:none;align-items:center;justify-content:center;text-align:center;font-family:inherit;font-weight:var(--calcite-font-weight-normal);text-decoration-line:none;outline-color:transparent;box-shadow:var(--calcite-button-shadow, var(--calcite-shadow-none));color:var(--calcite-color-text-1);transition:all var(--calcite-animation-timing) ease-in-out 0s,outline 0s,outline-offset 0s;inset-inline-end:.25rem;background:transparent;white-space:nowrap;padding:0 1.375rem;flex-grow:2}.project:hover{background-color:var(--calcite-color-transparent-hover)}.project:focus{outline:2px solid var(--calcite-color-brand);outline-offset:-2px}.project__title{display:flex;justify-self:stretch;min-width:0;align-items:center;justify-content:center;padding:0 1.5rem;margin-inline-end:1.5rem;color:var(--calcite-color-text-1);border-inline-end:1px solid var(--calcite-color-border-3);max-width:var(--arcgis-portal-navigation-project-max-width, 60%)}.project__title__header{padding:0;margin:0;font-size:1rem;font-weight:400;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project__dropdown{max-width:var(--arcgis-portal-navigation-project-max-width, 60%);min-width:0;margin-inline-end:1.5rem}.project__indicator{margin-inline-end:.5rem;--calcite-ui-icon-color: var(--calcite-color-status-danger)}.project__menu-icon{margin-inline-end:.75rem}.project__text{font-size:1rem;min-width:0;overflow:hidden;text-overflow:ellipsis;margin-inline-end:.75rem}.rename{width:100%;min-width:0;display:flex;flex:1 1 0;align-items:center;margin-inline-start:.5rem}.rename__action{margin-inline-end:.5rem;display:flex;align-items:center}.rename__input{margin-inline-end:.5rem;display:block;width:100%}.search{width:100%;min-width:0;display:flex;flex:1 1 0;align-items:center;margin-inline-start:.5rem}.search__action{margin-inline-end:.5rem;display:flex;align-items:center}.search__input{margin-inline-end:.5rem;display:block;width:100%}.suggestions__header{display:flex;align-items:center;width:var(--calcite-popover-max-size-x);box-sizing:border-box;padding:.75rem 1rem;border-bottom:1px solid var(--calcite-color-border-3)}.suggestions__title{padding:0;margin:0;font-weight:500;color:var(--calcite-color-text-1);font-size:var(--calcite-font-size-1);flex:1 1 0}.suggestions__search-type{--calcite-popover-max-size-x: 320px}.suggestions__search-type__icon{vertical-align:-.2rem}.suggestions__footer{display:flex;align-items:center;justify-content:center;padding:1rem}.notifications{width:min(24rem,80vw)}.notifications--full:after{content:"";display:block;border-top:1px solid var(--calcite-color-border-3);margin-left:1rem}.notifications__list{max-height:min(18rem,80vh);overflow:auto;box-sizing:border-box;width:100%}.notifications--empty{padding:2rem}.empty{padding:1rem;text-align:center;color:var(--calcite-color-text-3);--calcite-icon-color: var(--calcite-color-status-success-hover)}.empty__header{margin:0;padding:.75rem 0 0;color:var(--calcite-color-text-1);font-weight:500;font-size:var(--calcite-font-size-1)}.empty__text{margin:0;padding:0;color:var(--calcite-color-text-3);font-weight:400;font-size:var(--calcite-font-size-0)}.notification{display:flex;flex-direction:column;padding:.5rem}.notification__message{color:var(--calcite-color-text-1);font-size:var(--calcite-font-size-0);--calcite-color-brand-underline: transparent}.notification__date{color:var(--calcite-color-text-3);font-size:var(--calcite-font-size-0)}.notifications__dismiss{margin-inline-start:auto;margin-inline-end:1rem;margin-block:.5rem}.user{display:flex;max-width:var(--arcgis-portal-navigation-user-max-width);--calcite-dropdown-item-text-color: var(--calcite-color-text-3);--calcite-dropdown-group-title-text-color: var(--calcite-color-text-2)}.user__dropdown{max-width:100%}.user__button{max-width:100%;--calcite-spacing-base: -2px}.user__button__contents{display:flex;text-align:start}.user__button__text{display:var(--arcgis-portal-navigation-user-text-display);flex:1 1 0;min-width:0;padding-inline-start:1rem;line-height:1.375;overflow:hidden}.user__button__avatar{flex:0 0 auto}.user__button__full,.user__button__username{max-width:100%;overflow:hidden;text-overflow:ellipsis}.user__top{display:flex;padding:.75rem;border-bottom:1px solid var(--calcite-color-border-3)}.user__top__avatar{flex:0 0 auto}.user__top__text{box-sizing:border-box;word-wrap:break-word;flex:1 1 0;min-width:0;padding-inline-start:1rem;line-height:1.375}.user__full{font-size:1rem;font-weight:medium;color:var(--calcite-colot-text-1);line-height:1.25;padding:0;margin:0}.user__username{font-size:.875rem;line-height:1.25;color:var(--calcite-colot-text-2);padding:0;margin:0}`;
1690
+ function Sn({ messages: e, portal: t, showNav: i, openPlatformMenu: n, handleToggleSearch: r }) {
1684
1691
  return !e || i && !t?.user ? null : c`<calcite-action .label=${e.applicationMenu} text="app switcher" icon=app-launcher scale=l class="action" @click=${n} @focusin=${() => r(!1, !0)}></calcite-action>`;
1685
1692
  }
1686
- class kn extends bt {
1693
+ class In extends $t {
1687
1694
  constructor() {
1688
- super(...arguments), this.messages = vt({ blocking: !0 }), this.refreshNotifications = async () => {
1695
+ super(...arguments), this.messages = At({ blocking: !0 }), this.refreshNotifications = async () => {
1689
1696
  const { portal: t, messages: i } = this;
1690
- this.notifications = await ge({ portal: t, locale: i._t9nLocale, t9n: i.notifications });
1697
+ this.notifications = await be({ portal: t, locale: i._t9nLocale, t9n: i.notifications });
1691
1698
  }, this.deleteNotifications = async (t) => {
1692
1699
  const { portal: i } = this;
1693
1700
  if (t?.length < 20)
1694
- await qt(i, t);
1701
+ await Yt(i, t);
1695
1702
  else {
1696
1703
  let n = 0;
1697
1704
  for await (const r of t)
1698
- await Te({ id: r, portal: i }), this.notificationDeleteProgress = Math.ceil(n++ / t.length * 100);
1705
+ await Ce({ id: r, portal: i }), this.notificationDeleteProgress = Math.ceil(n++ / t.length * 100);
1699
1706
  }
1700
1707
  this.notificationDeleteProgress = void 0, this.refreshNotifications();
1701
1708
  }, this.navigate = (t) => {
@@ -1714,7 +1721,7 @@ class kn extends bt {
1714
1721
  });
1715
1722
  }, this.handleProjectTitleSave = async (t) => {
1716
1723
  this.projectTitleSaving = !0;
1717
- const n = await (this.projectTitleSave || Fi)(t);
1724
+ const n = await (this.projectTitleSave || qi)(t);
1718
1725
  if (this.projectTitleSaving = !1, n.status === "success") {
1719
1726
  this.closeProjectTitleEdit();
1720
1727
  return;
@@ -1726,21 +1733,23 @@ class kn extends bt {
1726
1733
  this.editedProjectTitle = this.projectTitle, this.closeProjectTitleEdit();
1727
1734
  }, this.signOut = () => {
1728
1735
  const { portal: t, clientId: i } = this;
1729
- fn({ portal: t, clientId: i }), this.arcgisNavigationSignOut.emit();
1736
+ _n({ portal: t, clientId: i }), this.arcgisNavigationSignOut.emit();
1730
1737
  }, this.signIn = () => {
1731
- this.arcgisNavigationSignIn.emit(), mn();
1738
+ this.arcgisNavigationSignIn.emit(), vn();
1732
1739
  }, this.openAccountSwitcher = () => {
1733
1740
  this.accountSwitcherOpen = !0;
1734
1741
  }, this.handlePlatformClose = () => {
1735
- this.platformMenuOpen = !1, this.handleAppCancel();
1742
+ this.platformMenuOpen = !1, this.handleAppCancel(), this.appsSearchTerm = "";
1736
1743
  }, this.handleAppSave = async () => {
1737
1744
  const { hiddenApps: t, sortedApps: i, userProperties: n, portal: r } = this;
1738
1745
  this.apps = [...i], this.editingApplications = !1, this.appsLoading = !0;
1739
- const { result: o } = await Ni({ apps: i, hiddenApps: t, userProperties: n, portal: r });
1746
+ const { result: o } = await Oi({ apps: i, hiddenApps: t, userProperties: n, portal: r });
1740
1747
  o?.success && (this.previousAppState = {
1741
1748
  apps: i,
1742
1749
  hiddenApps: t
1743
- }), await Ut(1e3), this.appsLoading = !1;
1750
+ }), await Vt(1e3), this.appsLoading = !1;
1751
+ }, this.handleAppDelete = async (t) => {
1752
+ t && (this.apps = this.sortedApps.filter((i) => i.itemId !== t), this.sortedApps = this.sortedApps.filter((i) => i.itemId !== t));
1744
1753
  }, this.handleAppCancel = () => {
1745
1754
  this.previousAppState && (this.apps = this.previousAppState.apps, this.hiddenApps = this.previousAppState.hiddenApps), this.editingApplications = !1;
1746
1755
  }, this.handleAppHide = ({ app: t, hidden: i }) => {
@@ -1750,10 +1759,10 @@ class kn extends bt {
1750
1759
  n.splice(t, 1), n.splice(i, 0, r), this.sortedApps = n;
1751
1760
  }, this.handleItemSearch = (t) => {
1752
1761
  this.recentContentLoading = !0, this.recentContentSearchTerm = t, this.debouncedItemSearch(t);
1753
- }, this.debouncedItemSearch = me(async (t) => {
1754
- this.recentContent = await $e({ portal: this.portal, searchTerm: t }), this.recentContentLoading = !1;
1755
- }, 1e3), this.debouncedSuggest = me(async (t) => {
1756
- this.suggestions = await wn({ portal: this.portal, searchTerm: t });
1762
+ }, this.debouncedItemSearch = fe(async (t) => {
1763
+ this.recentContent = await Ae({ portal: this.portal, searchTerm: t }), this.recentContentLoading = !1;
1764
+ }, 1e3), this.debouncedSuggest = fe(async (t) => {
1765
+ this.suggestions = await kn({ portal: this.portal, searchTerm: t });
1757
1766
  }, 1e3), this.handleSearch = (t) => {
1758
1767
  this.searchTerm = t, this.suggestions = void 0, this.debouncedSuggest(t);
1759
1768
  }, this.sizeSearchPopover = () => {
@@ -1774,24 +1783,24 @@ class kn extends bt {
1774
1783
  });
1775
1784
  }, this.handleSearchTypeChange = (t) => {
1776
1785
  this.searchType = t;
1777
- }, this.searchInput = B(), this.searchAction = B(), this.searchPopover = B(), this.projectTitleInputRef = B(), this.projectButtonRef = B(), this.initialDocumentOverflowStyle = document.documentElement.style.overflow, this.links = [], this.notifications = [], this.notificationsActive = !1, this.apps = [], this.hiddenApps = {}, this.sortedApps = [], this.appsSearchTerm = "", this.appsLoading = !0, this.editingApplications = !1, this.recentContent = [], this.recentContentSearchTerm = "", this.recentContentLoading = !0, this.platformMenuOpen = !1, this.accountSwitcherOpen = !1, this.projectTitleEditing = !1, this.projectTitleSaving = !1, this.screenWidth = window.innerWidth, this.searchActive = !1, this.searchTerm = "", this.searchType = "keyword", this.projectMenuOptions = [], this.currentPathname = window.location.pathname, this.arcgisNavigate = V(), this.arcgisNavigationProjectMenuClick = V(), this.arcgisNavigationSignIn = V(), this.arcgisNavigationSignOut = V();
1786
+ }, this.searchInput = W(), this.searchAction = W(), this.searchPopover = W(), this.projectTitleInputRef = W(), this.projectButtonRef = W(), this.initialDocumentOverflowStyle = document.documentElement.style.overflow, this.links = [], this.notifications = [], this.notificationsActive = !1, this.apps = [], this.hiddenApps = {}, this.sortedApps = [], this.appsSearchTerm = "", this.appsLoading = !0, this.editingApplications = !1, this.recentContent = [], this.recentContentSearchTerm = "", this.recentContentLoading = !0, this.platformMenuOpen = !1, this.accountSwitcherOpen = !1, this.projectTitleEditing = !1, this.projectTitleSaving = !1, this.screenWidth = window.innerWidth, this.searchActive = !1, this.searchTerm = "", this.searchType = "keyword", this.projectMenuOptions = [], this.currentPathname = window.location.pathname, this.arcgisNavigate = H(), this.arcgisNavigationProjectMenuClick = H(), this.arcgisNavigationSignIn = H(), this.arcgisNavigationSignOut = H();
1778
1787
  }
1779
1788
  static {
1780
- this.properties = { infoBanner: 16, links: 16, userLinks: 16, notifications: 16, notificationsActive: 16, apps: 16, hiddenApps: 16, sortedApps: 16, previousAppState: 16, appsSearchTerm: 16, appsLoading: 16, editingApplications: 16, recentContent: 16, recentContentSearchTerm: 16, recentContentLoading: 16, platformMenuOpen: 16, accountSwitcherOpen: 16, editedProjectTitle: 16, projectTitleEditing: 16, projectTitleSaving: 16, projectTitleErrorMessage: 16, productInfo: 16, notificationDeleteProgress: 16, measurements: 16, screenWidth: 16, showProduct: 16, showNav: 16, showUser: 16, searchActive: 16, searchTerm: 16, suggestions: 16, searchType: 16, portal: 0, portalItem: 0, product: 1, productHref: 1, projectTitle: 1, projectTitleSave: 0, projectMenuIcon: 1, projectMenuSaveIndicator: 5, projectMenuOptions: 0, disableTrackViewer: 5, disableNotebookServer: 5, clientId: 1, currentPathname: 1, maxWidth: 9 };
1789
+ this.properties = { infoBanner: 16, links: 16, userLinks: 16, notifications: 16, notificationsActive: 16, apps: 16, hiddenApps: 16, sortedApps: 16, previousAppState: 16, appsSearchTerm: 16, appsLoading: 16, editingApplications: 16, recentContent: 16, recentContentSearchTerm: 16, recentContentLoading: 16, platformMenuOpen: 16, accountSwitcherOpen: 16, editedProjectTitle: 16, projectTitleEditing: 16, projectTitleSaving: 16, projectTitleErrorMessage: 16, productInfo: 16, platformInfo: 16, notificationDeleteProgress: 16, measurements: 16, screenWidth: 16, showProduct: 16, showNav: 16, showUser: 16, searchActive: 16, searchTerm: 16, suggestions: 16, searchType: 16, portal: 0, portalItem: 0, product: 1, productHref: 1, projectTitle: 1, projectTitleSave: 0, projectMenuIcon: 1, projectMenuSaveIndicator: 5, projectMenuOptions: 0, disableTrackViewer: 5, disableNotebookServer: 5, clientId: 1, currentPathname: 1, maxWidth: 9 };
1781
1790
  }
1782
1791
  static {
1783
- this.styles = yn;
1792
+ this.styles = xn;
1784
1793
  }
1785
1794
  #e;
1786
1795
  async loaded() {
1787
1796
  const { portal: t, messages: i, clientId: n, product: r } = this;
1788
- this.calculateMeasurements(), this.productInfo = ye({ product: r, clientId: n, portal: t }), this.userLinks = nn({ portal: t, messages: i.user, clientId: n }), this.notifications = await ge({ portal: t, locale: i._t9nLocale, t9n: i.notifications }), this.recentContent = await $e({ portal: t }), this.recentContentLoading = !1;
1789
- const { apps: o, hiddenApps: s, signInSettings: a, licenses: l, userProperties: u } = await Ii({
1797
+ this.calculateMeasurements(), this.productInfo = $e({ product: r, clientId: n, portal: t }), this.platformInfo = bn({ clientId: n, portal: t }), this.userLinks = cn({ portal: t, messages: i.user, clientId: n }), this.notifications = await be({ portal: t, locale: i._t9nLocale, t9n: i.notifications }), this.recentContent = await Ae({ portal: t }), this.recentContentLoading = !1;
1798
+ const { apps: o, hiddenApps: s, signInSettings: a, licenses: l, userProperties: d } = await Mi({
1790
1799
  portal: t,
1791
1800
  trackViewerEnabled: !this.disableTrackViewer,
1792
1801
  notebookServerEnabled: !this.disableNotebookServer
1793
- }), h = await Nt(t);
1794
- this.infoBanner = h?.informationalBanner, this.userProperties = u, this.apps = o, this.hiddenApps = s, this.sortedApps = o, this.previousAppState = { apps: o, hiddenApps: s }, this.appsLoading = !1, this.links = Li({
1802
+ }), m = await Ot(t);
1803
+ this.infoBanner = m?.informationalBanner, this.userProperties = d, this.apps = o, this.hiddenApps = s, this.sortedApps = o, this.previousAppState = { apps: o, hiddenApps: s }, this.appsLoading = !1, this.links = zi({
1795
1804
  portal: t,
1796
1805
  messages: i.links,
1797
1806
  licenses: l,
@@ -1810,7 +1819,7 @@ class kn extends bt {
1810
1819
  this.el && this.#e && (this.#e.observe(this.el), this.screenWidth = window.innerWidth);
1811
1820
  }
1812
1821
  willUpdate(t) {
1813
- (t.has("product") || t.has("clientId")) && this.hasUpdated && (this.productInfo = ye({ product: this.product, clientId: this.clientId, portal: this.portal }));
1822
+ (t.has("product") || t.has("clientId")) && this.hasUpdated && (this.productInfo = $e({ product: this.product, clientId: this.clientId, portal: this.portal }));
1814
1823
  }
1815
1824
  disconnectedCallback() {
1816
1825
  this.#e?.disconnect(), this.#e = void 0, document.documentElement.style.overflow = this.initialDocumentOverflowStyle, super.disconnectedCallback();
@@ -1818,7 +1827,7 @@ class kn extends bt {
1818
1827
  calculateMeasurements() {
1819
1828
  const { links: t, messages: i, portal: n, product: r, productInfo: o, projectTitle: s } = this;
1820
1829
  if (n) {
1821
- const a = vn({
1830
+ const a = $n({
1822
1831
  portal: n,
1823
1832
  product: r,
1824
1833
  productInfo: o,
@@ -1832,18 +1841,18 @@ class kn extends bt {
1832
1841
  updateBreakpoints() {
1833
1842
  const { measurements: t, maxWidth: i } = this;
1834
1843
  if (t) {
1835
- const n = i ? Math.min(this.screenWidth, i) : this.screenWidth, r = _n({ measurements: t, screenWidth: n });
1844
+ const n = i ? Math.min(this.screenWidth, i) : this.screenWidth, r = An({ measurements: t, screenWidth: n });
1836
1845
  this.showProduct = r.product, this.showNav = r.nav, this.showUser = r.user;
1837
1846
  }
1838
1847
  }
1839
1848
  render() {
1840
- const { accountSwitcherOpen: t, apps: i, appsLoading: n, appsSearchTerm: r, currentPathname: o, handleAppCancel: s, handleAppHide: a, handleAppReorder: l, handleAppSave: u, handleItemSearch: h, handlePlatformClose: b, handleSearch: p, handleToggleSearch: y, handleSearchTypeChange: x, hiddenApps: k, infoBanner: P, links: w, messages: f, navigate: m, notifications: d, notificationsActive: _, notificationDeleteProgress: N, openAccountSwitcher: g, portal: v, portalItem: $, product: A, productInfo: E, productHref: R, projectTitle: S, editedProjectTitle: M, handleProjectTitleSave: Be, handleProjectTitleEdit: Fe, handleProjectTitleCancel: We, handleToggleNotifications: pe, openProjectTitleEdit: Re, openPlatformMenu: Ve, platformMenuOpen: He, projectTitleEditing: Q, projectTitleSaving: qe, projectTitleErrorMessage: Je, projectMenuIcon: Ke, projectMenuSaveIndicator: Qe, projectMenuClick: Xe, projectMenuOptions: Ye, projectTitleInputRef: Ze, projectButtonRef: et, recentContent: tt, recentContentSearchTerm: it, recentContentLoading: nt, userLinks: rt, searchActive: U, searchTerm: ot, searchType: st, searchInput: at, searchAction: ct, searchPopover: lt, showNav: X, showProduct: ut, showUser: dt, suggestions: pt } = this, ht = v?.user, mt = de(A) && !w?.length || !this.measurements;
1841
- return c`<calcite-scrim class=${H({ scrim: !0, "scrim--active": U })}></calcite-scrim><div class="wrapper" style=${ke({ "--arcgis-portal-navigation-max-width": this.maxWidth ? `${this.maxWidth}px` : "100%" })}><arcgis-portal-info-banner .config=${P}></arcgis-portal-info-banner>${v?.isPortal && $?.loaded && c`<arcgis-portal-classification-banner .portalItem=${$}></arcgis-portal-classification-banner>` || ""}<header class=${H({ navigation: !0, "navigation--loading": mt })}>${$n({ messages: f?.platform, portal: v, showNav: X, openPlatformMenu: Ve, handleToggleSearch: y })}${ut && Ft({ navigate: m, portal: v, product: A, productInfo: E, productHref: R, messages: f?.logo, showNav: X, searchActive: U, projectTitleEditing: Q }) || ""}${Hi({ navigate: m, portal: v, portalItem: $, messages: f?.project, projectTitle: S, editedProjectTitle: M, handleProjectTitleSave: Be, handleProjectTitleEdit: Fe, openProjectTitleEdit: Re, projectTitleErrorMessage: Je, handleProjectTitleCancel: We, projectTitleEditing: Q, projectTitleSaving: qe, projectMenuIcon: Ke, projectMenuSaveIndicator: Qe, projectMenuClick: Xe, projectMenuOptions: Ye, projectTitleInputRef: Ze, projectButtonRef: et })}${X && Zi({ searchActive: U, navigate: m, portal: v, product: A, messages: f?.links, links: w, currentPathname: o }) || ""}<div slot=content-end class="content-end fade-in" .hidden=${Q || U}><slot name=content-end></slot></div>${Xi({ currentPathname: o, navigate: m, portal: v, product: A, messages: f?.search, searchActive: U, searchType: st, searchTerm: ot, suggestions: pt, handleSearch: p, handleToggleSearch: y, handleSearchTypeChange: x, searchInputRef: at, searchActionRef: ct, searchPopoverRef: lt })}${ht ? c`<div class="border-start fade-in">${Xt({ notifications: d, notificationsActive: _, messages: f?.notifications, handleToggleNotifications: pe, handleToggleSearch: y })}${Yt({ notificationsActive: _, notifications: d, navigate: m, portal: v, deleteNotifications: this.deleteNotifications, handleToggleNotifications: pe, messages: f?.notifications, notificationDeleteProgress: N })}</div>${en({ portal: v, userLinks: rt, openAccountSwitcher: v?.isPortal ? void 0 : g, signOut: this.signOut, messages: f?.user, textDisabled: dt === "avatar", navigate: m })}` : Yi({ messages: f.user, signIn: this.signIn })}</header>${Bi({ locale: f._t9nLocale, navigate: m, portal: v, product: A, productInfo: E, messages: f?.platform, apps: i, appsLoading: n, hiddenApps: k, appsSearchTerm: r, editingApplications: this.editingApplications, open: He, links: w, recentContent: tt, recentContentSearchTerm: it, recentContentLoading: nt, handlePlatformClose: b, handleAppReorder: l, handleAppEdit: () => this.editingApplications = !0, handleAppsSearch: (ft) => this.appsSearchTerm = ft, handleAppSave: u, handleAppCancel: s, handleAppHide: a, handleItemSearch: h })}${t && c`<arcgis-portal-account-switcher .portal=${v} @arcgisClose=${() => {
1849
+ const { accountSwitcherOpen: t, apps: i, appsLoading: n, appsSearchTerm: r, currentPathname: o, handleAppCancel: s, handleAppDelete: a, handleAppHide: l, handleAppReorder: d, handleAppSave: m, handleItemSearch: g, handlePlatformClose: p, handleSearch: $, handleToggleSearch: y, handleSearchTypeChange: w, hiddenApps: I, infoBanner: P, links: f, messages: h, navigate: u, notifications: v, notificationsActive: T, notificationDeleteProgress: _, openAccountSwitcher: b, platformInfo: A, portal: k, portalItem: N, product: L, productInfo: x, productHref: j, projectTitle: D, editedProjectTitle: Ve, handleProjectTitleSave: He, handleProjectTitleEdit: qe, handleProjectTitleCancel: Je, handleToggleNotifications: he, openProjectTitleEdit: Ke, openPlatformMenu: Qe, platformMenuOpen: Xe, projectTitleEditing: Q, projectTitleSaving: Ye, projectTitleErrorMessage: Ze, projectMenuIcon: et, projectMenuSaveIndicator: tt, projectMenuClick: it, projectMenuOptions: nt, projectTitleInputRef: rt, projectButtonRef: ot, recentContent: st, recentContentSearchTerm: at, recentContentLoading: ct, userLinks: lt, searchActive: F, searchTerm: ut, searchType: dt, searchInput: pt, searchAction: ht, searchPopover: mt, showNav: X, showProduct: ft, showUser: gt, suggestions: bt } = this, vt = k?.user, _t = pe(L) && !f?.length || !this.measurements;
1850
+ return c`<calcite-scrim class=${te({ scrim: !0, "scrim--active": F })}></calcite-scrim><div class="wrapper" style=${ke({ "--arcgis-portal-navigation-max-width": this.maxWidth ? `${this.maxWidth}px` : "100%" })}><arcgis-portal-info-banner .config=${P}></arcgis-portal-info-banner>${k?.isPortal && N?.loaded && c`<arcgis-portal-classification-banner .portalItem=${N}></arcgis-portal-classification-banner>` || ""}<header class=${te({ navigation: !0, "navigation--loading": _t })}>${Sn({ messages: h?.platform, portal: k, showNav: X, openPlatformMenu: Qe, handleToggleSearch: y })}${ft && qt({ navigate: u, portal: k, product: L, productInfo: x, productHref: j, messages: h?.logo, showNav: X, searchActive: F, projectTitleEditing: Q }) || ""}${Xi({ navigate: u, portal: k, portalItem: N, messages: h?.project, projectTitle: D, editedProjectTitle: Ve, handleProjectTitleSave: He, handleProjectTitleEdit: qe, openProjectTitleEdit: Ke, projectTitleErrorMessage: Ze, handleProjectTitleCancel: Je, projectTitleEditing: Q, projectTitleSaving: Ye, projectMenuIcon: et, projectMenuSaveIndicator: tt, projectMenuClick: it, projectMenuOptions: nt, projectTitleInputRef: rt, projectButtonRef: ot })}${X && on({ searchActive: F, navigate: u, portal: k, product: L, messages: h?.links, links: f, currentPathname: o }) || ""}<div slot=content-end class="content-end fade-in" .hidden=${Q || F}><slot name=content-end></slot></div>${nn({ currentPathname: o, navigate: u, portal: k, product: L, messages: h?.search, searchActive: F, searchType: dt, searchTerm: ut, suggestions: bt, handleSearch: $, handleToggleSearch: y, handleSearchTypeChange: w, searchInputRef: pt, searchActionRef: ht, searchPopoverRef: mt })}${vt ? c`<div class="border-start fade-in">${ii({ notifications: v, notificationsActive: T, messages: h?.notifications, handleToggleNotifications: he, handleToggleSearch: y })}${ni({ notificationsActive: T, notifications: v, navigate: u, portal: k, deleteNotifications: this.deleteNotifications, handleToggleNotifications: he, messages: h?.notifications, notificationDeleteProgress: _ })}</div>${sn({ portal: k, userLinks: lt, openAccountSwitcher: k?.isPortal ? void 0 : b, signOut: this.signOut, messages: h?.user, textDisabled: gt === "avatar", navigate: u })}` : rn({ messages: h.user, signIn: this.signIn })}</header>${Hi({ locale: h._t9nLocale, navigate: u, portal: k, product: L, platformInfo: A, messages: h?.platform, apps: i, appsLoading: n, hiddenApps: I, appsSearchTerm: r, editingApplications: this.editingApplications, open: Xe, links: f, recentContent: st, recentContentSearchTerm: at, recentContentLoading: ct, handlePlatformClose: p, handleAppReorder: d, handleAppEdit: () => this.editingApplications = !0, handleAppDelete: a, handleAppsSearch: (wt) => this.appsSearchTerm = wt, handleAppSave: m, handleAppCancel: s, handleAppHide: l, handleItemSearch: g })}${t && c`<arcgis-portal-account-switcher .portal=${k} @arcgisClose=${() => {
1842
1851
  this.accountSwitcherOpen = !1;
1843
1852
  }}></arcgis-portal-account-switcher>` || ""}</div>`;
1844
1853
  }
1845
1854
  }
1846
- gt("arcgis-portal-navigation", kn);
1855
+ yt("arcgis-portal-navigation", In);
1847
1856
  export {
1848
- kn as ArcGISPortalNavigation
1857
+ In as ArcGISPortalNavigation
1849
1858
  };