@arcgis/portal-components 5.2.0-next.76 → 5.2.0-next.78

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";
2
+ import { g as ee, c as bt } from "../../chunks/runtime.js";
3
+ import { safeStyleMap as ke, safeClassMap as te, LitElement as vt, createEvent as H } from "@arcgis/lumina";
4
+ import { u as _t } from "../../chunks/useT9n.js";
5
+ import { nothing as L, html as c, svg as wt, css as yt } from "lit";
6
+ import { formatDate as $t, substitute as K, getLocale as At } 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
10
  import { m as kt } from "../../chunks/icons.js";
11
- import { i as C, c as he, a as At } from "../../chunks/user2.js";
11
+ import { i as M, c as me, a as xt } 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 St, d as It, e as Pt, f as Tt, h as Nt } from "../../chunks/portal2.js";
14
+ import { c as Ct, d as Mt, e as Lt } from "../../chunks/user.js";
15
+ import { i as Se, a as Ot } from "../../chunks/utils2.js";
16
+ import { g as Et } 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 jt, g as ce, f as q, a as Dt } from "../../chunks/portal.js";
20
+ import { ref as R, createRef as W } from "lit/directives/ref.js";
21
+ import { c as zt, g as Gt } from "../../chunks/dom.js";
22
+ import { debounce as fe } from "@arcgis/toolkit/function";
23
+ import Ut from "@arcgis/core/identity/IdentityManager.js";
24
+ import { t as Bt } from "../../chunks/functionalities.js";
25
+ import { c as Ft } from "../../chunks/string.js";
26
+ function ge({ portal: e, productInfo: t }) {
27
27
  const { name: i, glyph: n } = t || {};
28
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>`;
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 Wt({ 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 ?? L} @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 Rt = {
77
77
  month: "long",
78
78
  day: "numeric",
79
79
  year: "numeric"
80
- }, Rt = {
80
+ }, Vt = {
81
81
  month: "long",
82
82
  day: "numeric"
83
83
  };
84
- function Vt({ locale: e, time: t }, i) {
84
+ function Ht({ 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 $t(n, i ? Rt : Vt);
89
89
  }
90
- async function Ht({ portal: e }) {
90
+ async function qt({ 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 Jt(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 Kt(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 Qt(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 Xt({
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: Qt(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 = Kt(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 qt({ portal: e });
205
+ return r && console.error(r), n?.length ? n.map((s) => Xt({ 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 Yt({ 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>${wt`<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 Zt({ 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, b = m.href;
216
+ if (m.nodeName === "CALCITE-LINK" && b) {
217
+ const p = `${oe({ portal: r, usePortalHostname: !!r.user })}/home/`;
218
+ n({ event: d, href: b, relativePath: b.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 ei(e) {
226
226
  return e.replace(/[.*+?^${}()|[\]\\]/gu, "\\$&");
227
227
  }
228
- function ei(e, t, i, n) {
229
- si(e, JSON.stringify(t), i);
230
- }
231
- function ti(e) {
232
- return ri(e, !0);
228
+ function ti(e, t, i, n) {
229
+ ai(e, JSON.stringify(t), i);
233
230
  }
234
231
  function ii(e) {
232
+ return oi(e, !0);
233
+ }
234
+ function ni(e) {
235
235
  try {
236
236
  window.localStorage.removeItem(e);
237
237
  } catch {
238
238
  }
239
239
  }
240
- function ni(e) {
240
+ function ri(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 oi(e, t) {
247
+ const i = si(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 si(e) {
251
+ const t = document.cookie, i = new RegExp(`(?:^|; )${ei(e)}=([^;]*)`, "u"), n = t.match(i);
252
252
  return n ? decodeURIComponent(n[1]) : "";
253
253
  }
254
- function si(e, t, i) {
254
+ function ai(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 ci(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 li(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 ci(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 ui(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 di(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 pi(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 hi() {
316
+ if (ii("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 ti(
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 mi(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 fi(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,98 +430,98 @@ function mi(e, t) {
430
430
  o && n.push(o);
431
431
  }), n);
432
432
  }
433
- function I(e, t) {
433
+ function x(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);
438
- }
439
436
  function gi(e, t) {
437
+ return e?.portalProperties && !e.portalProperties?.openData?.enabled ? !1 : x("HubforArcGIS", t);
438
+ }
439
+ function bi(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 = x("velocity", t);
447
447
  return r && o;
448
448
  }
449
- function bi(e) {
450
- return I("HubforArcGIS", e);
449
+ function vi(e) {
450
+ return x("HubforArcGIS", e);
451
451
  }
452
- function vi(e, t) {
453
- return !(e.isPortal && e.portalProperties?.newMapViewerEnabled === !1) && I("arcgisWebApps", t);
452
+ function _i(e, t) {
453
+ return !(e.isPortal && e.portalProperties?.newMapViewerEnabled === !1) && x("arcgisWebApps", t);
454
454
  }
455
- function _i(e) {
455
+ function wi(e) {
456
456
  return !!e.helperServices?.rasterAnalytics && !!e.helperServices.orthoMapping;
457
457
  }
458
- function wi(e, t, i) {
458
+ function yi(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 $i(e, t) {
463
463
  return !!e.helperServices?.locationTracking && t;
464
464
  }
465
- function $i(e, t, i, n) {
465
+ function Ai(e, t, i, n) {
466
466
  const r = e?.user;
467
467
  return {
468
468
  "Open Data": {
469
- hasAccess: () => fi(e, n)
469
+ hasAccess: () => gi(e, n)
470
470
  },
471
471
  AppStudio: {
472
- hasAccess: () => I("arcgisWebApps", n)
472
+ hasAccess: () => x("arcgisWebApps", n)
473
473
  },
474
474
  "ArcGIS Velocity": {
475
- hasAccess: () => e.isPortal || gi(r, n)
475
+ hasAccess: () => e.isPortal || bi(r, n)
476
476
  },
477
477
  "ArcGIS Hub": {
478
- hasAccess: () => I("HubforArcGIS", n)
478
+ hasAccess: () => x("HubforArcGIS", n)
479
479
  },
480
480
  "ArcGIS Enterprise Sites": {
481
- hasAccess: () => bi(n)
481
+ hasAccess: () => vi(n)
482
482
  },
483
483
  "ArcGIS QuickCapture Web Designer": {
484
- hasAccess: () => I("arcgisWebApps", n)
484
+ hasAccess: () => x("arcgisWebApps", n)
485
485
  },
486
486
  "ArcGIS Dashboards": {
487
- hasAccess: () => I("dashboards", n)
487
+ hasAccess: () => x("dashboards", n)
488
488
  },
489
489
  "Map Viewer": {
490
- hasAccess: () => vi(e, n)
490
+ hasAccess: () => _i(e, n)
491
491
  },
492
492
  "Map Viewer Classic": {
493
- hasAccess: () => I("arcgisWebApps", n)
493
+ hasAccess: () => x("arcgisWebApps", n)
494
494
  },
495
495
  "Operations Dashboard for ArcGIS": {
496
- hasAccess: () => I("opsdashboard", n)
496
+ hasAccess: () => x("opsdashboard", n)
497
497
  },
498
498
  "ArcGIS Dashboards Classic": {
499
- hasAccess: () => I("opsdashboard", n)
499
+ hasAccess: () => x("opsdashboard", n)
500
500
  },
501
501
  "Ortho Maker": {
502
- hasAccess: () => _i(e)
502
+ hasAccess: () => wi(e)
503
503
  },
504
504
  Notebook: {
505
- hasAccess: () => wi(e, r, t)
505
+ hasAccess: () => yi(e, r, t)
506
506
  },
507
507
  "Scene Viewer": {
508
- hasAccess: () => I("arcgisWebApps", n)
508
+ hasAccess: () => x("arcgisWebApps", n)
509
509
  },
510
510
  "Story Maps": {
511
- hasAccess: () => I("arcgisWebApps", n)
511
+ hasAccess: () => x("arcgisWebApps", n)
512
512
  },
513
513
  Survey123: {
514
- hasAccess: () => I("survey123", n)
514
+ hasAccess: () => x("survey123", n)
515
515
  },
516
516
  "Track Viewer": {
517
- hasAccess: () => yi(e, i)
517
+ hasAccess: () => $i(e, i)
518
518
  },
519
519
  "Instant Apps": {
520
520
  // For Portal
521
- hasAccess: () => I("arcgisWebApps", n)
521
+ hasAccess: () => x("arcgisWebApps", n)
522
522
  },
523
523
  "ArcGIS Maps for Adobe Creative Cloud": {
524
- hasAccess: () => I("arcgisWebApps", n) && !e.isPortal
524
+ hasAccess: () => x("arcgisWebApps", n) && !e.isPortal
525
525
  }
526
526
  };
527
527
  }
@@ -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 xi(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 Si(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 Ii({
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;
605
+ const b = {}, p = {}, A = Ai(i, l, a, n), $ = ki(i), y = [], S = e.length;
606
+ for (let h = 0; h < S; h++) {
607
+ const u = e[h], _ = u.itemId || u.title;
608
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
609
+ const w = !u.serverFunction || t?.some((k) => (k.serverFunction?.split(",") || []).includes(u.serverFunction)), v = r?.some(
610
+ (k) => u.itemId && u.itemId === k.itemid || u.title && u.title === k.title
611
611
  );
612
- if (b[_] = 1, p[_] = d, v || te(i) && !d.showInLocationPlatform || i.sourceJSON?.portalDeploymentType === "ArcGISEnterpriseOnKubernetes" && d.supportsKubernetes === !1)
612
+ if (b[_] = 1, p[_] = u, v || 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 P = u.title;
615
+ if (A[P] && !A[P]?.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 I = i.sourceJSON?.subscriptionInfo;
618
+ if (u.subscriptionType) {
619
+ I?.type === u.subscriptionType && (p[_].canAccess = !0, y.push(G(u, _, 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[_].canAccess = !0, y.push(G(u, _, 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 && w && (u.label !== "ArcGIS Location Platform" || ie(i))) {
627
+ p[_].canAccess = !0, y.push(G(u, _, 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[_].canAccess = !0, y.push(G(u, _, 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])) {
634
+ if (u.privileges?.length && i.user?.privileges) {
635
+ for (let k = 0; k < u.privileges.length; k++)
636
+ if (!i.user.privileges.includes(u.privileges[k])) {
637
637
  N = !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 && N && w) {
641
+ p[_].canAccess = !0, y.push(G(u, _, 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 && N && w) {
646
+ for (let k = 0; k < o.length; k++)
647
+ if (_ === o[k].itemId || _ === o[k].title) {
648
+ p[_].canAccess = !0, y.push(G(u, _, 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 T = await Et(i);
654
+ return o.forEach((h) => {
655
+ if (h.type === "Web Mapping Application" && !$[h.clientId] && !b[h.itemId] && h.url && h.title && !b[h.title] && !h.typeKeywords.includes("hideFromAppSwitcher")) {
656
+ const u = xi(h, i, T);
657
+ p[h.itemId] = u, y.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, Si(u, i, T);
670
670
  }),
671
- ...k
671
+ ...y
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,89 +686,89 @@ 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 Pi({
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),
700
- Ct(e),
698
+ const n = hi(), [r, o, s, a, l, d, m] = await Promise.all([
699
+ li(e),
701
700
  Mt(e),
702
- xt(e),
701
+ Lt(e),
703
702
  St(e),
704
703
  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] = {
704
+ Pt(e),
705
+ di(e)
706
+ ]), b = e.isPortal ? await Tt(e) : null, p = s?.result?.properties;
707
+ let A = r?.appSwitcher?.apps || [];
708
+ e.isPortal || (A = A.filter(
709
+ (w) => w.title !== "Map Viewer Classic" || e.sourceJSON.created < /* @__PURE__ */ new Date("February 26 2025")
710
+ ), A.unshift(mi(e, p)));
711
+ const $ = a?.result?.approvedApps?.filter((w) => !w.hideForNonPrivilegedMember) || [], y = {};
712
+ o?.forEach((w) => {
713
+ const v = w.clientId?.toLowerCase();
714
+ v && (y[v] = {
715
715
  valid: !0,
716
- itemId: g.itemId,
717
- clientId: g.clientId
716
+ itemId: w.itemId,
717
+ clientId: w.clientId
718
718
  });
719
- }), l?.forEach((g) => {
720
- const v = g.id?.toLowerCase();
721
- v && (k[v] = {
719
+ }), l?.forEach((w) => {
720
+ const v = w.id?.toLowerCase();
721
+ v && (y[v] = {
722
722
  valid: !0,
723
- clientId: g.id
723
+ clientId: w.id
724
724
  });
725
725
  });
726
- const P = mi(u, h), { apps: w, appDictionary: f } = await Si({
727
- userApps: y,
726
+ const S = fi(d, m), { apps: T, appDictionary: f } = await Ii({
727
+ userApps: A,
728
728
  servers: b,
729
729
  portal: e,
730
- blockedApps: P,
730
+ blockedApps: S,
731
731
  provisionedListings: o,
732
732
  orgCapabilities: l,
733
- licenses: k,
733
+ licenses: y,
734
734
  trackViewerEnabled: t,
735
735
  notebookServerEnabled: i,
736
736
  willQueryForItems: n,
737
- approvedApps: x
737
+ approvedApps: $
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 = T.slice().sort((w, v) => (w.label || "") < (v.label || "") ? -1 : 1), h = Z(h, S), 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: w } = await ui($, n, e);
745
+ w?.results?.length && w.results.forEach((g) => {
746
+ const P = f[g.id];
747
+ P.canAccess = !0, P.hasChanged = P.url !== g.url ? !!g.url : !1;
748
748
  });
749
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 }),
750
+ p?.appLauncher?.primary?.forEach((g) => {
751
+ g.label === "Map Viewer" && (g.uid = "Map Viewer");
752
+ }), h = p?.appLauncher.primary.reduce(
753
+ (g, P) => we({ apps: g, app: P, appDictionary: f, newAppDictionary: v, 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
+ (g, P) => we({ apps: g, app: P, appDictionary: f, newAppDictionary: v, 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, S), u = Z(u, S), ie(e) && (h = h.filter((g) => g.canAccess), u = u.filter((g) => g.canAccess));
759
+ for (const g of Object.keys(v))
760
+ v[g].canAccess && (v[g].isNew = !0, f[g] = v[g], h.push(v[g]));
761
761
  }
762
- const _ = [...m, ...d], N = d.reduce((g, v) => (v.itemId && (g[v.itemId] = !0), g), {});
762
+ const _ = [...h, ...u], N = u.reduce((w, v) => (v.itemId && (w[v.itemId] = !0), w), {});
763
763
  return {
764
764
  apps: _,
765
765
  hiddenApps: N,
766
- signInSettings: u,
767
- licenses: k,
766
+ signInSettings: d,
767
+ licenses: y,
768
768
  userProperties: p
769
769
  };
770
770
  }
771
- function Pi(e, t) {
771
+ function Ti(e, t) {
772
772
  return !e?.itemId || !t ? !1 : t[e.itemId];
773
773
  }
774
774
  async function Ni({
@@ -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 Ct(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) ?? 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=${ve(e.image) ?? L} class="list-item__logo" alt>` || ""}`;
799
799
  }
800
- function Ti({ app: e, hiddenApps: t, messages: i, toggleAppVisibility: n }) {
800
+ function Ci({ 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 = Ti(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 Mi({ 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 ?? L} target=_blank id=${n ?? L} 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 Li({ apps: e, appsLoading: t, appsSearchTerm: i, hiddenApps: n, messages: r, handleAppsSearch: o, handleAppReorder: s, handleAppSave: a, handleAppHide: l, handleAppDelete: d, handleAppCancel: m, handleAppEdit: b, editingApplications: p, portal: A }) {
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 $ = i?.length > 0, y = (e || []).filter((f) => f.itemId && (!n?.[f.itemId] || $) && pi(i, f)), S = $ ? r.noAppResults.replace("{term}", i) : r.noAppsAvailable, T = $ ? M(A) ? 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) => Ci({ 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=${() => b()} id=customize-apps></calcite-button><calcite-tooltip reference-element=customize-apps><span>${r.customizeApps}</span></calcite-tooltip></div>${y?.length > 0 ? c`<ul class="list">${U(y, (f) => f.itemId, (f) => Mi({ app: f, messages: r }))}</ul>` : J({ title: S, description: T, 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 Oi({
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 = zi({ 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 = Ui({
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 Gi({ messages: t, portal: e, clientId: n, signInSettings: r, navLinkDictionary: a });
866
866
  }
867
- function Oi(e) {
867
+ function Ei(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 ji(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
887
  let b = ["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 A = ["gallery", "map", "scene", "groups"], $ = e.isPortal ? ["help"] : [];
891
+ return [...b, ...A, ...$];
892
892
  }
893
893
  return [
894
894
  ...b,
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 = [
903
+ return !e.portalProperties?.topNav && M(e) ? b = ["ArcGIS", "overview", "pricing", "map", "scene", "groups", "myContent"] : b = [
904
904
  ...b,
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" && xt(n)) && !r ? ["notebook"] : [],
909
909
  ...(a === "all" || a === "members" && p) && !r ? ["groups"] : [],
910
910
  ...p && !r ? ["myContent", "organization"] : []
911
911
  ], b;
912
912
  }
913
913
  function O(e) {
914
- return `${Ae({ portal: e })}/`;
914
+ return `${xe({ portal: e })}/`;
915
915
  }
916
- function ji({
916
+ function Di({
917
917
  keys: e,
918
918
  navLinkDictionary: t,
919
919
  messages: i
@@ -922,18 +922,18 @@ 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 zi({
937
937
  messages: e,
938
938
  portal: t
939
939
  }) {
@@ -944,22 +944,22 @@ function Di({
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 (Ei(t) ? ["overview", "pricing", "map", "scene", "help"] : De({ portal: t })).map((o) => n[o]);
953
953
  }
954
- function zi({
954
+ function Gi({
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 = `${O(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
+ ] : Di({ keys: s, messages: e, navLinkDictionary: r });
983
983
  }
984
- function Gi({
984
+ function Ui({
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 = O(e), o = i?.options?.includes("Developer"), s = x("arcgiswebapps", t) || o && x("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: jt(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 Bi({ 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" ? Ht({ locale: r, time: o }, a?.[1] === "year") : Ne({ locale: r, time: o, t9n: s }), d = `item.html?id=${t.id}`, m = `${O(e)}${d}}`;
1056
+ return se(t.id, c`<li class="list-item"><a class="list-item__link" href=${m ?? L} @click=${(b) => {
1057
+ n({ event: b, 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 Fi({ locale: e, navigate: t, portal: i, open: n, apps: r, appsLoading: o, hiddenApps: s, appsSearchTerm: a, handlePlatformClose: l, handleAppsSearch: d, handleAppReorder: m, handleAppSave: b, handleAppDelete: p, handleAppHide: A, handleAppCancel: $, handleAppEdit: y, handleItemSearch: S, editingApplications: T, recentContent: f, recentContentLoading: h, recentContentSearchTerm: u, product: _, productInfo: N, links: w, messages: v }) {
1061
+ if (!_ || !i || !v)
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: g, icon: P } = N || {};
1064
+ return c`<calcite-sheet class="platform" .label=${v.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=${P ?? L} class="platform__header-image"><div class="platform__header-text"><h2 class="platform__title">${g}</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">${w.filter(({ icon: I }) => I).map(({ label: I, href: E, icon: k, relativePath: j }) => c`<calcite-tile .icon=${k} .description=${I} .href=${E} alignment=center scale=s @keydown=${(D) => {
1065
+ (D.key === "Enter" || D.key === " ") && t({ event: D, href: E, relativePath: j });
1066
+ }} @click=${(D) => {
1067
+ t({ event: D, href: E, 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>${v.myApps}</calcite-tab-title>` || ""}<calcite-tab-title>${v.recentContent}</calcite-tab-title></calcite-tab-nav>${!M(i) && c`<calcite-tab selected class="platform__tab">${o && c`<calcite-scrim loading></calcite-scrim>` || ""}${Li({ apps: r, appsLoading: o, appsSearchTerm: a, hiddenApps: s, messages: v, handleAppsSearch: d, handleAppReorder: m, handleAppSave: b, handleAppDelete: p, handleAppHide: A, handleAppCancel: $, handleAppEdit: y, editingApplications: T, portal: i })}</calcite-tab>` || ""}<calcite-tab class="platform__tab"><div class="list__header"><calcite-input type=search icon .placeholder=${v.searchRecentContent} scale=m class="list__search" @calciteInputInput=${(I) => S(I.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, (I) => I.id, (I) => Bi({ portal: i, messages: v, navigate: t, item: I, locale: e }))}</ul>` : u?.length ? J({ title: K(v.noAppResults, { term: u }), description: v.recentContentNoResultsDescription, icon: "search" }) : J({ title: v.noContent, description: v.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 Wi(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 Ri(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 Vi(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 = Ri(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 Hi({ 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 = `${O(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=${(b) => {
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: b, 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 qi({ navigate: e, portal: t, projectTitle: i, editedProjectTitle: n, handleProjectTitleSave: r, handleProjectTitleEdit: o, handleProjectTitleCancel: s, openProjectTitleEdit: a, portalItem: l, projectTitleEditing: d, projectTitleSaving: m, projectTitleErrorMessage: b, projectMenuIcon: p, projectMenuSaveIndicator: A, projectMenuClick: $, projectMenuOptions: y, projectTitleInputRef: S, projectButtonRef: T, messages: f }) {
1139
+ if (!t || !f || !y?.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 (_) => {
1141
+ if (!y?.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>${A && c`<calcite-icon scale=s icon=bullet-point-large class="project__indicator"></calcite-icon>` || ""}</div>`;
1143
+ const h = Vi(y, f), u = !!b;
1144
+ return d ? c`<form class="rename" @submit=${async (_) => {
1145
1145
  _.preventDefault(), await r?.(n);
1146
1146
  }} @keydown=${(_) => {
1147
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>`;
1148
+ }}><calcite-input id=project-title-input type=text scale=l class="rename__input" .label=${f.title} .value=${n} .status=${u ? "invalid" : "idle"} @calciteInputInput=${(_) => o?.(_.target.value)} ${R(S)}></calcite-input>${u && c`<calcite-popover open .label=${f.error} .referenceElement=${S?.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=${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(T)}>${p && c`<calcite-icon scale=s .icon=${p} class="project__menu-icon"></calcite-icon>` || ""}<span class="project__text">${i}</span>${A && 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(([_, N]) => N.length), ([_, N]) => _, ([_, N]) => c`<calcite-dropdown-group selection-mode=none>${N.map((w) => Hi({ menuItem: w, navigate: e, portal: t, messages: f, portalItem: l, openProjectTitleEdit: a, projectMenuClick: $ }))}</calcite-dropdown-group>`)}</calcite-dropdown>`;
1149
1149
  }
1150
- function qi(e) {
1150
+ function Ji(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 Ki({ 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: Ot(t),
1166
1166
  owner: t.owner
1167
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>`);
1168
+ return se(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>`);
1169
1169
  }
1170
- function Ki({ portal: e, suggestions: t, messages: i, navigate: n, searchType: r, searchTerm: o }) {
1170
+ function Qi({ 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 = `${O(e)}${s}`;
1176
+ return c`<ul class="list">${t.map((d) => Ki({ 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 Xi({ 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 Yi({ currentPathname: e, navigate: t, product: i, portal: n, messages: r, searchActive: o, searchType: s, searchTerm: a, suggestions: l, searchInputRef: d, searchActionRef: m, searchPopoverRef: b, handleSearch: p, handleToggleSearch: A, handleSearchTypeChange: $ }) {
1187
+ if (!Ji(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 y = ze({ portal: n, searchType: s, searchTerm: a }), S = `/${y}`, T = `${O(n)}${y}`;
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: T, event: f, relativePath: S }), f.defaultPrevented || (window.location.href = T)), f.key === "Escape" && A(!1);
1192
+ }} ${R(d)}></calcite-input><calcite-action icon=x scale=l .text=${r?.close} active class="search__action" @click=${() => A(!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(b)}><div class="suggestions__header"><h3 class="suggestions__title">${r.topResults}</h3>${Xi({ portal: n, messages: r, searchType: s, handleSearchTypeChange: $ })}</div><div class="suggestions__results">${Qi({ 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=${() => A(!0)} ${R(m)}></calcite-action>`;
1193
1193
  }
1194
- function Yi({ signIn: e, messages: t }) {
1194
+ function Zi({ 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 en({ 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=${ji(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 tn({ 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 });
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: b, href: p, relativePath: A }) => c`<calcite-dropdown-item .iconStart=${m} .href=${p} @keydown=${($) => {
1203
+ ($.key === "Enter" || $.key === " ") && i({ event: $, href: p, relativePath: A });
1204
+ }} @click=${($) => {
1205
+ i({ event: $, href: p, relativePath: A });
1206
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();
1207
+ const d = zt(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 nn({
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 rn({
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 = an(e), r = on({ navLinkDictionary: n, messages: t, clientId: i });
1238
+ return nn({ userLinks: r, messages: t });
1239
1239
  }
1240
- function rn({
1240
+ function on({
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 = []), sn(n, t, e);
1256
1256
  }
1257
- function on(e, t, i) {
1257
+ function sn(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 an(e) {
1275
+ const t = O(e), i = cn(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: un(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: ln(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: pn(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 cn(e) {
1332
1332
  return !e.isPortal && e?.user?.sourceJSON?.userType === "both";
1333
1333
  }
1334
- function cn(e) {
1335
- return Ge(
1334
+ function ln(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 un(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 = dn(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 dn(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 pn(e) {
1352
1352
  return !e?.isPortal && ["Trial", "Trial Press"].includes(e?.sourceJSON.subscriptionInfo?.type);
1353
1353
  }
1354
- function pn(e) {
1354
+ function hn(e) {
1355
1355
  switch (e) {
1356
1356
  case "360 VR":
1357
1357
  return {
@@ -1572,51 +1572,51 @@ function pn(e) {
1572
1572
  };
1573
1573
  }
1574
1574
  }
1575
- function hn({
1575
+ function mn({
1576
1576
  product: e,
1577
1577
  portal: t,
1578
1578
  clientId: 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";
1580
+ return e !== "Online" ? e : t?.sourceJSON?.subscriptionInfo?.options?.includes("Developer") ? "Location Platform" : de(i) ? "GeoAnalytics Fabric" : ue(i) ? "GeoAnalytics Engine" : t?.isPortal ? "Enterprise" : "Online";
1581
1581
  }
1582
- function ye(e) {
1583
- const t = hn(e), { name: i, fileName: n, icon: r } = pn(t);
1582
+ function $e(e) {
1583
+ const t = mn(e), { name: i, fileName: n, icon: r } = hn(t);
1584
1584
  return {
1585
1585
  name: i,
1586
1586
  glyph: ee(`assets/portal-navigation/product-logos/${n}-glyph-32.svg`),
1587
1587
  icon: ee(`assets/portal-navigation/apps/${r}.avif`)
1588
1588
  };
1589
1589
  }
1590
- function mn() {
1591
- const e = $t();
1590
+ function fn() {
1591
+ const e = At();
1592
1592
  ["item.html", "group.html"].some((t) => window.location.href.includes(t)) ? window.location.href = `./signin.html?locale=${e}&useLandingPage=false&returnUrl=${encodeURIComponent(
1593
1593
  window.location.href
1594
1594
  )}` : window.location.href = `./signin.html?locale=${e}&useLandingPage=true`;
1595
1595
  }
1596
- function fn({ portal: e, clientId: t }) {
1597
- const i = re({ portal: e });
1596
+ function gn({ portal: e, clientId: t }) {
1597
+ const i = oe({ portal: e });
1598
1598
  if (e?.isPortal) {
1599
1599
  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);
1600
+ vn(e, n);
1601
1601
  } else
1602
1602
  window.location.href = `${i}/pages/Account/manage_accounts.html#client_id=${t}&signout=true`;
1603
1603
  }
1604
- function gn() {
1605
- ii(we), ni(we);
1604
+ function bn() {
1605
+ ni(ye), ri(ye);
1606
1606
  }
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;
1607
+ function vn(e, t = window.location.href) {
1608
+ const i = window.location.href.startsWith("http://"), n = Dt(e);
1609
+ Ut.destroyCredentials(), bn();
1610
+ const r = new URL(q(`${ce(e)}oauth2/signout`, e)), { searchParams: o } = r;
1611
1611
  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
1612
  }
1613
- function j(e, t) {
1613
+ function z(e, t) {
1614
1614
  if (!e)
1615
1615
  return 0;
1616
- const i = zt({ text: e, font: `${t === "s" ? ".875rem" : "1rem"} 'Avenir Next'` });
1616
+ const i = Gt({ text: e, font: `${t === "s" ? ".875rem" : "1rem"} 'Avenir Next'` });
1617
1617
  return Math.ceil(i);
1618
1618
  }
1619
- function vn({
1619
+ function _n({
1620
1620
  portal: e,
1621
1621
  product: t,
1622
1622
  projectTitle: i,
@@ -1626,28 +1626,28 @@ function vn({
1626
1626
  }) {
1627
1627
  if (!t || !e)
1628
1628
  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);
1629
+ const s = e.user, l = pe(t) && n?.length ? 24 + n.reduce((b, p) => b + 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
1630
  return {
1631
1631
  actions: 192,
1632
- project: i ? Math.min(u, 400) : 0,
1633
- product: 64 + Math.max(j(o?.name), j(e.name, "s")) + 16,
1632
+ project: i ? Math.min(d, 400) : 0,
1633
+ product: 64 + Math.max(z(o?.name), z(e.name, "s")) + 16,
1634
1634
  nav: l,
1635
- user: 64 + h + 16
1635
+ user: 64 + m + 16
1636
1636
  };
1637
1637
  }
1638
- function _n({
1638
+ function wn({
1639
1639
  measurements: e,
1640
1640
  screenWidth: t
1641
1641
  }) {
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);
1642
+ 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
1643
  return {
1644
1644
  nav: l,
1645
- product: u,
1646
- user: h ? "avatar" : "full"
1645
+ product: d,
1646
+ user: m ? "avatar" : "full"
1647
1647
  };
1648
1648
  }
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({
1649
+ const Be = ' -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 Ae({
1651
1651
  portal: e,
1652
1652
  searchTerm: t
1653
1653
  }) {
@@ -1656,7 +1656,7 @@ async function $e({
1656
1656
  try {
1657
1657
  return (await e.queryItems({
1658
1658
  ...t ? { query: t } : {},
1659
- filter: `owner:${e.user.username}${Ue}`,
1659
+ filter: `owner:${e.user.username}${Be}`,
1660
1660
  num: 20,
1661
1661
  sortField: "modified",
1662
1662
  sortOrder: "desc"
@@ -1665,37 +1665,37 @@ async function $e({
1665
1665
  return [];
1666
1666
  }
1667
1667
  }
1668
- async function wn({
1668
+ async function yn({
1669
1669
  portal: e,
1670
1670
  searchTerm: t
1671
1671
  }) {
1672
1672
  if (!e)
1673
1673
  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: {
1674
+ const i = Ft((t || "").substring(0, 409)), n = `${e?.id ? `accountid:"${e.id}"` : ""}${Be}`, r = `${ce(e)}search/suggest`;
1675
+ return (await B(r, { query: {
1676
1676
  suggest: i,
1677
1677
  filters: n,
1678
1678
  searchFields: "title",
1679
1679
  f: "json"
1680
1680
  } }))?.result?.results || [];
1681
1681
  }
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 }) {
1682
+ const $n = yt`: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 An({ messages: e, portal: t, showNav: i, openPlatformMenu: n, handleToggleSearch: r }) {
1684
1684
  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
1685
  }
1686
- class kn extends bt {
1686
+ class kn extends vt {
1687
1687
  constructor() {
1688
- super(...arguments), this.messages = vt({ blocking: !0 }), this.refreshNotifications = async () => {
1688
+ super(...arguments), this.messages = _t({ blocking: !0 }), this.refreshNotifications = async () => {
1689
1689
  const { portal: t, messages: i } = this;
1690
- this.notifications = await ge({ portal: t, locale: i._t9nLocale, t9n: i.notifications });
1690
+ this.notifications = await be({ portal: t, locale: i._t9nLocale, t9n: i.notifications });
1691
1691
  }, this.deleteNotifications = async (t) => {
1692
1692
  const { portal: i } = this;
1693
1693
  if (t?.length < 20)
1694
- await qt(i, t);
1694
+ await Jt(i, t);
1695
1695
  else {
1696
1696
  let n = 0;
1697
1697
  for await (const r of t)
1698
- await Te({ id: r, portal: i }), this.notificationDeleteProgress = Math.ceil(n++ / t.length * 100);
1698
+ await Ce({ id: r, portal: i }), this.notificationDeleteProgress = Math.ceil(n++ / t.length * 100);
1699
1699
  }
1700
1700
  this.notificationDeleteProgress = void 0, this.refreshNotifications();
1701
1701
  }, this.navigate = (t) => {
@@ -1714,7 +1714,7 @@ class kn extends bt {
1714
1714
  });
1715
1715
  }, this.handleProjectTitleSave = async (t) => {
1716
1716
  this.projectTitleSaving = !0;
1717
- const n = await (this.projectTitleSave || Fi)(t);
1717
+ const n = await (this.projectTitleSave || Wi)(t);
1718
1718
  if (this.projectTitleSaving = !1, n.status === "success") {
1719
1719
  this.closeProjectTitleEdit();
1720
1720
  return;
@@ -1726,13 +1726,13 @@ class kn extends bt {
1726
1726
  this.editedProjectTitle = this.projectTitle, this.closeProjectTitleEdit();
1727
1727
  }, this.signOut = () => {
1728
1728
  const { portal: t, clientId: i } = this;
1729
- fn({ portal: t, clientId: i }), this.arcgisNavigationSignOut.emit();
1729
+ gn({ portal: t, clientId: i }), this.arcgisNavigationSignOut.emit();
1730
1730
  }, this.signIn = () => {
1731
- this.arcgisNavigationSignIn.emit(), mn();
1731
+ this.arcgisNavigationSignIn.emit(), fn();
1732
1732
  }, this.openAccountSwitcher = () => {
1733
1733
  this.accountSwitcherOpen = !0;
1734
1734
  }, this.handlePlatformClose = () => {
1735
- this.platformMenuOpen = !1, this.handleAppCancel();
1735
+ this.platformMenuOpen = !1, this.handleAppCancel(), this.appsSearchTerm = "";
1736
1736
  }, this.handleAppSave = async () => {
1737
1737
  const { hiddenApps: t, sortedApps: i, userProperties: n, portal: r } = this;
1738
1738
  this.apps = [...i], this.editingApplications = !1, this.appsLoading = !0;
@@ -1740,7 +1740,9 @@ class kn extends bt {
1740
1740
  o?.success && (this.previousAppState = {
1741
1741
  apps: i,
1742
1742
  hiddenApps: t
1743
- }), await Ut(1e3), this.appsLoading = !1;
1743
+ }), await Bt(1e3), this.appsLoading = !1;
1744
+ }, this.handleAppDelete = async (t) => {
1745
+ t && (this.apps = this.sortedApps.filter((i) => i.itemId !== t), this.sortedApps = this.sortedApps.filter((i) => i.itemId !== t));
1744
1746
  }, this.handleAppCancel = () => {
1745
1747
  this.previousAppState && (this.apps = this.previousAppState.apps, this.hiddenApps = this.previousAppState.hiddenApps), this.editingApplications = !1;
1746
1748
  }, this.handleAppHide = ({ app: t, hidden: i }) => {
@@ -1750,10 +1752,10 @@ class kn extends bt {
1750
1752
  n.splice(t, 1), n.splice(i, 0, r), this.sortedApps = n;
1751
1753
  }, this.handleItemSearch = (t) => {
1752
1754
  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 });
1755
+ }, this.debouncedItemSearch = fe(async (t) => {
1756
+ this.recentContent = await Ae({ portal: this.portal, searchTerm: t }), this.recentContentLoading = !1;
1757
+ }, 1e3), this.debouncedSuggest = fe(async (t) => {
1758
+ this.suggestions = await yn({ portal: this.portal, searchTerm: t });
1757
1759
  }, 1e3), this.handleSearch = (t) => {
1758
1760
  this.searchTerm = t, this.suggestions = void 0, this.debouncedSuggest(t);
1759
1761
  }, this.sizeSearchPopover = () => {
@@ -1774,24 +1776,24 @@ class kn extends bt {
1774
1776
  });
1775
1777
  }, this.handleSearchTypeChange = (t) => {
1776
1778
  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();
1779
+ }, 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
1780
  }
1779
1781
  static {
1780
1782
  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 };
1781
1783
  }
1782
1784
  static {
1783
- this.styles = yn;
1785
+ this.styles = $n;
1784
1786
  }
1785
1787
  #e;
1786
1788
  async loaded() {
1787
1789
  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({
1790
+ this.calculateMeasurements(), this.productInfo = $e({ product: r, clientId: n, portal: t }), this.userLinks = rn({ 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;
1791
+ const { apps: o, hiddenApps: s, signInSettings: a, licenses: l, userProperties: d } = await Pi({
1790
1792
  portal: t,
1791
1793
  trackViewerEnabled: !this.disableTrackViewer,
1792
1794
  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({
1795
+ }), m = await Nt(t);
1796
+ 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 = Oi({
1795
1797
  portal: t,
1796
1798
  messages: i.links,
1797
1799
  licenses: l,
@@ -1810,7 +1812,7 @@ class kn extends bt {
1810
1812
  this.el && this.#e && (this.#e.observe(this.el), this.screenWidth = window.innerWidth);
1811
1813
  }
1812
1814
  willUpdate(t) {
1813
- (t.has("product") || t.has("clientId")) && this.hasUpdated && (this.productInfo = ye({ product: this.product, clientId: this.clientId, portal: this.portal }));
1815
+ (t.has("product") || t.has("clientId")) && this.hasUpdated && (this.productInfo = $e({ product: this.product, clientId: this.clientId, portal: this.portal }));
1814
1816
  }
1815
1817
  disconnectedCallback() {
1816
1818
  this.#e?.disconnect(), this.#e = void 0, document.documentElement.style.overflow = this.initialDocumentOverflowStyle, super.disconnectedCallback();
@@ -1818,7 +1820,7 @@ class kn extends bt {
1818
1820
  calculateMeasurements() {
1819
1821
  const { links: t, messages: i, portal: n, product: r, productInfo: o, projectTitle: s } = this;
1820
1822
  if (n) {
1821
- const a = vn({
1823
+ const a = _n({
1822
1824
  portal: n,
1823
1825
  product: r,
1824
1826
  productInfo: o,
@@ -1832,18 +1834,18 @@ class kn extends bt {
1832
1834
  updateBreakpoints() {
1833
1835
  const { measurements: t, maxWidth: i } = this;
1834
1836
  if (t) {
1835
- const n = i ? Math.min(this.screenWidth, i) : this.screenWidth, r = _n({ measurements: t, screenWidth: n });
1837
+ const n = i ? Math.min(this.screenWidth, i) : this.screenWidth, r = wn({ measurements: t, screenWidth: n });
1836
1838
  this.showProduct = r.product, this.showNav = r.nav, this.showUser = r.user;
1837
1839
  }
1838
1840
  }
1839
1841
  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=${() => {
1842
+ const { accountSwitcherOpen: t, apps: i, appsLoading: n, appsSearchTerm: r, currentPathname: o, handleAppCancel: s, handleAppDelete: a, handleAppHide: l, handleAppReorder: d, handleAppSave: m, handleItemSearch: b, handlePlatformClose: p, handleSearch: A, handleToggleSearch: $, handleSearchTypeChange: y, hiddenApps: S, infoBanner: T, links: f, messages: h, navigate: u, notifications: _, notificationsActive: N, notificationDeleteProgress: w, openAccountSwitcher: v, portal: g, portalItem: P, product: I, productInfo: E, productHref: k, projectTitle: j, editedProjectTitle: D, handleProjectTitleSave: Fe, handleProjectTitleEdit: We, handleProjectTitleCancel: Re, handleToggleNotifications: he, openProjectTitleEdit: Ve, openPlatformMenu: He, platformMenuOpen: qe, projectTitleEditing: Q, projectTitleSaving: Je, projectTitleErrorMessage: Ke, projectMenuIcon: Qe, projectMenuSaveIndicator: Xe, projectMenuClick: Ye, projectMenuOptions: Ze, projectTitleInputRef: et, projectButtonRef: tt, recentContent: it, recentContentSearchTerm: nt, recentContentLoading: rt, userLinks: ot, searchActive: F, searchTerm: st, searchType: at, searchInput: ct, searchAction: lt, searchPopover: ut, showNav: X, showProduct: dt, showUser: pt, suggestions: ht } = this, mt = g?.user, ft = pe(I) && !f?.length || !this.measurements;
1843
+ 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=${T}></arcgis-portal-info-banner>${g?.isPortal && P?.loaded && c`<arcgis-portal-classification-banner .portalItem=${P}></arcgis-portal-classification-banner>` || ""}<header class=${te({ navigation: !0, "navigation--loading": ft })}>${An({ messages: h?.platform, portal: g, showNav: X, openPlatformMenu: He, handleToggleSearch: $ })}${dt && Wt({ navigate: u, portal: g, product: I, productInfo: E, productHref: k, messages: h?.logo, showNav: X, searchActive: F, projectTitleEditing: Q }) || ""}${qi({ navigate: u, portal: g, portalItem: P, messages: h?.project, projectTitle: j, editedProjectTitle: D, handleProjectTitleSave: Fe, handleProjectTitleEdit: We, openProjectTitleEdit: Ve, projectTitleErrorMessage: Ke, handleProjectTitleCancel: Re, projectTitleEditing: Q, projectTitleSaving: Je, projectMenuIcon: Qe, projectMenuSaveIndicator: Xe, projectMenuClick: Ye, projectMenuOptions: Ze, projectTitleInputRef: et, projectButtonRef: tt })}${X && en({ searchActive: F, navigate: u, portal: g, product: I, 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>${Yi({ currentPathname: o, navigate: u, portal: g, product: I, messages: h?.search, searchActive: F, searchType: at, searchTerm: st, suggestions: ht, handleSearch: A, handleToggleSearch: $, handleSearchTypeChange: y, searchInputRef: ct, searchActionRef: lt, searchPopoverRef: ut })}${mt ? c`<div class="border-start fade-in">${Yt({ notifications: _, notificationsActive: N, messages: h?.notifications, handleToggleNotifications: he, handleToggleSearch: $ })}${Zt({ notificationsActive: N, notifications: _, navigate: u, portal: g, deleteNotifications: this.deleteNotifications, handleToggleNotifications: he, messages: h?.notifications, notificationDeleteProgress: w })}</div>${tn({ portal: g, userLinks: ot, openAccountSwitcher: g?.isPortal ? void 0 : v, signOut: this.signOut, messages: h?.user, textDisabled: pt === "avatar", navigate: u })}` : Zi({ messages: h.user, signIn: this.signIn })}</header>${Fi({ locale: h._t9nLocale, navigate: u, portal: g, product: I, productInfo: E, messages: h?.platform, apps: i, appsLoading: n, hiddenApps: S, appsSearchTerm: r, editingApplications: this.editingApplications, open: qe, links: f, recentContent: it, recentContentSearchTerm: nt, recentContentLoading: rt, handlePlatformClose: p, handleAppReorder: d, handleAppEdit: () => this.editingApplications = !0, handleAppDelete: a, handleAppsSearch: (gt) => this.appsSearchTerm = gt, handleAppSave: m, handleAppCancel: s, handleAppHide: l, handleItemSearch: b })}${t && c`<arcgis-portal-account-switcher .portal=${g} @arcgisClose=${() => {
1842
1844
  this.accountSwitcherOpen = !1;
1843
1845
  }}></arcgis-portal-account-switcher>` || ""}</div>`;
1844
1846
  }
1845
1847
  }
1846
- gt("arcgis-portal-navigation", kn);
1848
+ bt("arcgis-portal-navigation", kn);
1847
1849
  export {
1848
1850
  kn as ArcGISPortalNavigation
1849
1851
  };