@arcgis/map-components 5.2.0-next.95 → 5.2.0-next.96

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.
Files changed (70) hide show
  1. package/dist/cdn/22TB66OC.js +2 -0
  2. package/dist/cdn/{AY2PVEY5.js → 3AIQYNSA.js} +1 -1
  3. package/dist/cdn/{SSJBKHEN.js → 77NK4UBY.js} +1 -1
  4. package/dist/cdn/AJBOKAK6.js +2 -0
  5. package/dist/cdn/{2HYRTMJ6.js → AOBYM5ZK.js} +1 -1
  6. package/dist/cdn/AZ6IOGGT.js +2 -0
  7. package/dist/cdn/BOPKJR3D.js +2 -0
  8. package/dist/cdn/{K2FKS4AS.js → BZGHEINJ.js} +1 -1
  9. package/dist/cdn/{2F6NRCC5.js → DVGE5VPK.js} +1 -1
  10. package/dist/cdn/EDGLEFG3.js +2 -0
  11. package/dist/cdn/G743AW46.js +2 -0
  12. package/dist/cdn/{XZGU6TR6.js → GGKOLSCH.js} +1 -1
  13. package/dist/cdn/H7KG55LR.js +2 -0
  14. package/dist/cdn/{KZPPV365.js → JMYDF3AT.js} +1 -1
  15. package/dist/cdn/L4DWZT4V.js +2 -0
  16. package/dist/cdn/N2RLGXGJ.js +2 -0
  17. package/dist/cdn/P2JBFLSB.js +2 -0
  18. package/dist/cdn/RCQKTBVC.js +2 -0
  19. package/dist/cdn/{O6CGTOAO.js → S7JDLOX2.js} +1 -1
  20. package/dist/cdn/assets/selection-list/t9n/messages.en.json +1 -0
  21. package/dist/cdn/assets/video-player/t9n/messages.en.json +1 -1
  22. package/dist/cdn/index.js +1 -1
  23. package/dist/cdn/main.css +1 -1
  24. package/dist/chunks/esri-main.js +1 -1
  25. package/dist/chunks/slots.js +1 -1
  26. package/dist/components/arcgis-aggregated-features/customElement.js +7 -7
  27. package/dist/components/arcgis-basemap-layer-list-next/customElement.d.ts +5 -6
  28. package/dist/components/arcgis-catalog-layer-list-next/customElement.d.ts +11 -1
  29. package/dist/components/arcgis-catalog-layer-list-next/types.d.ts +2 -2
  30. package/dist/components/arcgis-feature/customElement.js +27 -27
  31. package/dist/components/arcgis-feature-attachments/customElement.js +73 -60
  32. package/dist/components/arcgis-feature-next/customElement.d.ts +7 -0
  33. package/dist/components/arcgis-feature-next/customElement.js +12 -12
  34. package/dist/components/arcgis-feature-relationship/customElement.js +54 -45
  35. package/dist/components/arcgis-features-next/customElement.d.ts +7 -0
  36. package/dist/components/arcgis-features-next/customElement.js +16 -16
  37. package/dist/components/arcgis-layer-list-next/customElement.d.ts +25 -9
  38. package/dist/components/arcgis-popup/customElement.d.ts +7 -0
  39. package/dist/components/arcgis-popup/customElement.js +15 -15
  40. package/dist/components/arcgis-scene/customElement.d.ts +2 -2
  41. package/dist/components/arcgis-selection-list/customElement.d.ts +421 -0
  42. package/dist/components/arcgis-selection-list/customElement.js +279 -0
  43. package/dist/components/arcgis-selection-list/index.d.ts +1 -0
  44. package/dist/components/arcgis-selection-list/index.js +16 -0
  45. package/dist/components/arcgis-selection-list/types.d.ts +85 -0
  46. package/dist/components/arcgis-utility-network-elements-result-item/customElement.js +1 -1
  47. package/dist/components/arcgis-video-player/customElement.d.ts +3 -0
  48. package/dist/components/arcgis-video-player/customElement.js +1 -1
  49. package/dist/components/arcgis-video-player-slider/customElement.js +9 -9
  50. package/dist/docs/api.json +1 -1
  51. package/dist/docs/docs.json +1 -1
  52. package/dist/docs/vscode.html-custom-data.json +1 -1
  53. package/dist/docs/web-types.json +1 -1
  54. package/dist/index.d.ts +10 -0
  55. package/dist/loader.js +8 -7
  56. package/dist/types/lumina.d.ts +10 -3
  57. package/dist/types/preact.d.ts +11 -3
  58. package/dist/types/react.d.ts +12 -3
  59. package/dist/types/stencil.d.ts +10 -3
  60. package/package.json +6 -6
  61. package/dist/cdn/2GDWXNYN.js +0 -2
  62. package/dist/cdn/A6Z7H75I.js +0 -2
  63. package/dist/cdn/CDMVB72W.js +0 -2
  64. package/dist/cdn/D5TJRWW3.js +0 -2
  65. package/dist/cdn/FY6IGGPV.js +0 -2
  66. package/dist/cdn/G7HOUS4O.js +0 -2
  67. package/dist/cdn/HF3GCBAI.js +0 -2
  68. package/dist/cdn/LKCX5SXM.js +0 -2
  69. package/dist/cdn/S3QMZKDY.js +0 -2
  70. package/dist/cdn/XQH6U57U.js +0 -2
@@ -2,35 +2,36 @@
2
2
  import { c as H } from "../../chunks/runtime.js";
3
3
  import { css as k, html as o } from "lit";
4
4
  import { debounce as A } from "@arcgis/toolkit/function";
5
- import { LitElement as K, renderElement as q, safeClassMap as x } from "@arcgis/lumina";
6
- import { templateHasKey as E, stripHTML as N } from "@arcgis/core/applications/Components/stringUtils.js";
5
+ import { LitElement as K, renderElement as q, safeClassMap as D } from "@arcgis/lumina";
6
+ import { templateHasKey as x, stripHTML as N } from "@arcgis/core/applications/Components/stringUtils.js";
7
7
  import { renderingSanitizer as O } from "@arcgis/core/applications/Components/sanitizerUtils.js";
8
8
  import { isRelatableFeatureSupportedLayer as W, findRelatedLayer as Z } from "@arcgis/core/applications/Components/featureUtils.js";
9
9
  import { substitute as z, formatNumber as V } from "@arcgis/core/intl.js";
10
- import { watch as f, on as G } from "@arcgis/core/core/reactiveUtils.js";
10
+ import { watch as g, on as G } from "@arcgis/core/core/reactiveUtils.js";
11
11
  import { o as J } from "../../chunks/feature-utils.js";
12
12
  import M from "@arcgis/core/core/Collection.js";
13
13
  import S from "@arcgis/core/rest/support/RelationshipQuery.js";
14
- import { ignoreAbortErrors as L } from "@arcgis/core/core/promiseUtils.js";
14
+ import { ignoreAbortErrors as R } from "@arcgis/core/core/promiseUtils.js";
15
15
  import { classes as Q } from "@arcgis/toolkit/dom";
16
16
  import { createRef as U, ref as X } from "lit/directives/ref.js";
17
17
  import Y from "@arcgis/core/popup/FeatureContent.js";
18
- import { g as R } from "../../chunks/async-utils.js";
19
- const ee = k`:host{position:relative;flex:1 1 auto}.list{min-height:var(--calcite-spacing-xxxl)}.list-item-hidden{display:none}.feature-observer{position:relative;bottom:var(--calcite-spacing-xxl);z-index:2;text-align:center}.sticky-loading-container{display:flex;position:sticky;bottom:var(--calcite-spacing-sm);align-items:center;justify-content:center;z-index:2;margin:0;padding:0;height:var(--calcite-spacing-xxxl);pointer-events:none}`, te = (h) => {
18
+ import { g as L } from "../../chunks/async-utils.js";
19
+ import { bypassReadOnly as ee } from "@arcgis/lumina/controllers";
20
+ const te = k`:host{position:relative;flex:1 1 auto}:host([empty]){display:none}.list{min-height:var(--calcite-spacing-xxxl)}.list-item-hidden{display:none}.feature-observer{position:relative;bottom:var(--calcite-spacing-xxl);z-index:2;text-align:center}.sticky-loading-container{display:flex;position:sticky;bottom:var(--calcite-spacing-sm);align-items:center;justify-content:center;z-index:2;margin:0;padding:0;height:var(--calcite-spacing-xxxl);pointer-events:none}`, re = (h) => {
20
21
  const e = [];
21
22
  if (h.formTemplate) {
22
23
  const { description: t, title: r } = h.formTemplate;
23
24
  h.fields?.forEach((i) => {
24
- const s = r && E(r, i.name), a = t && E(t, i.name);
25
+ const s = r && x(r, i.name), a = t && x(t, i.name);
25
26
  (s || a) && e.push(i.name);
26
27
  });
27
28
  }
28
29
  return e;
29
30
  }, P = 100;
30
- function re(h) {
31
+ function ie(h) {
31
32
  return typeof h == "string" && h.trim().length > 0;
32
33
  }
33
- class ie extends K {
34
+ class se extends K {
34
35
  constructor() {
35
36
  super(...arguments), this._increaseFeaturePage = () => {
36
37
  const { state: e, showAllEnabled: t, relatedFeatures: r, featuresPerPage: i, featurePage: s } = this;
@@ -51,26 +52,26 @@ class ie extends K {
51
52
  }, this._queryController = async () => {
52
53
  this._cancelQuery();
53
54
  const e = new AbortController();
54
- this._queryAbortController = e, await L(this._query()), this._queryAbortController === e && (this._queryAbortController = null);
55
+ this._queryAbortController = e, await R(this._query()), this._queryAbortController === e && (this._queryAbortController = null);
55
56
  }, this._queryFeatureCountController = async () => {
56
57
  this._loaded = !1, this._cancelQueryFeatureCount();
57
58
  const e = new AbortController();
58
- this._queryFeatureCountAbortController = e, await L(this._queryFeatureCount()), this._queryFeatureCountAbortController === e && (this._queryFeatureCountAbortController = null), this._loaded = !0;
59
+ this._queryFeatureCountAbortController = e, await R(this._queryFeatureCount()), this._queryFeatureCountAbortController === e && (this._queryFeatureCountAbortController = null), this._loaded = !0;
59
60
  }, this._queryPageController = async () => {
60
61
  const e = new AbortController();
61
- this._queryPageAbortController = e, await L(this._queryPage()), this._queryPageAbortController === e && (this._queryPageAbortController = null);
62
- }, this._queryDebounced = A(this._queryController, R(P)), this._queryFeatureCountDebounced = A(this._queryFeatureCountController, R(P)), this._queryPageDebounced = A(this._queryPageController, R(P)), this._query = async () => {
62
+ this._queryPageAbortController = e, await R(this._queryPage()), this._queryPageAbortController === e && (this._queryPageAbortController = null);
63
+ }, this._queryDebounced = A(this._queryController, L(P)), this._queryFeatureCountDebounced = A(this._queryFeatureCountController, L(P)), this._queryPageDebounced = A(this._queryPageController, L(P)), this._query = async () => {
63
64
  const { _queryAbortController: e, relatedFeatures: t } = this;
64
65
  !this.featureCount || this.relatedLayer?.type === "subtype-group" && !this.activeCategory || (this.relatedFeatureViewModels.destroyAll(), this.featurePage = 1, t.destroyAll(), t.addMany(this._sliceFeatures(await this._queryRelatedFeatures({ signal: e?.signal }))));
65
66
  }, this._addFlowItem = (e) => {
66
67
  e && this.flowItems?.push(e);
67
- }, this._relatedFeatureIntersectionObserverNode = U(), this.relatedFeatures = new M(), this._queryAbortController = null, this._queryPageAbortController = null, this._queryFeatureCountAbortController = null, this.featureCount = 0, this._loaded = !1, this.relatedFeatureViewModels = new M(), this.autoDestroyDisabled = !1, this.featuresPerPage = 10, this.useFeatureNextFlowItem = !1, this.flowType = "feature-relationship", this.headingLevel = 2, this.hideHeading = !1, this.hideDescription = !1, this.showAllEnabled = !1;
68
+ }, this._relatedFeatureIntersectionObserverNode = U(), this.relatedFeatures = new M(), this._queryAbortController = null, this._queryPageAbortController = null, this._queryFeatureCountAbortController = null, this.featureCount = 0, this._loaded = !1, this.relatedFeatureViewModels = new M(), this.autoDestroyDisabled = !1, this.featuresPerPage = 10, this.useFeatureNextFlowItem = !1, this.flowType = "feature-relationship", this.headingLevel = 2, this.hideHeading = !1, this.hideDescription = !1, this.hideEmptyRelationshipContent = !1, this.empty = !1, this.showAllEnabled = !1;
68
69
  }
69
70
  static {
70
- this.properties = { allCategories: 16, _queryAbortController: 16, _queryPageAbortController: 16, _queryFeatureCountAbortController: 16, featureCount: 16, _loaded: 16, canLoad: 16, canQuery: 16, displayShowAllButton: 16, displayListItems: 16, categories: 16, itemDescriptionFieldName: 16, relatedFeatureViewModels: 16, state: 16, autoDestroyDisabled: 5, allItemsDescription: 32, featurePage: 9, featuresPerPage: 9, flowItems: 0, useFeatureNextFlowItem: 5, flowType: 1, headingLevel: 9, messages: 0, heading: 1, description: 1, values: 0, activeCategory: 0, hideHeading: 5, hideDescription: 5, displayCount: 9, graphic: 0, layer: 0, map: 0, view: 0, spatialReference: 0, timeZone: 1, orderByFields: 0, relationshipId: 9, showAllEnabled: 5, label: 3 };
71
+ this.properties = { allCategories: 16, _queryAbortController: 16, _queryPageAbortController: 16, _queryFeatureCountAbortController: 16, featureCount: 16, _loaded: 16, canLoad: 16, canQuery: 16, displayShowAllButton: 16, displayListItems: 16, categories: 16, itemDescriptionFieldName: 16, relatedFeatureViewModels: 16, state: 16, autoDestroyDisabled: 5, allItemsDescription: 32, featurePage: 9, featuresPerPage: 9, flowItems: 0, useFeatureNextFlowItem: 5, flowType: 1, headingLevel: 9, messages: 0, heading: 1, description: 1, values: 0, activeCategory: 0, hideHeading: 5, hideDescription: 5, hideEmptyRelationshipContent: 5, empty: 39, displayCount: 9, graphic: 0, layer: 0, map: 0, view: 0, spatialReference: 0, timeZone: 1, orderByFields: 0, relationshipId: 9, showAllEnabled: 5, label: 3 };
71
72
  }
72
73
  static {
73
- this.styles = ee;
74
+ this.styles = te;
74
75
  }
75
76
  get orderByFieldsFixedCasing() {
76
77
  const { orderByFields: e, relatedLayer: t } = this;
@@ -163,6 +164,10 @@ class ie extends K {
163
164
  set heading(e) {
164
165
  this._heading = e;
165
166
  }
167
+ get _empty() {
168
+ const { displayListItems: e, hideEmptyRelationshipContent: t, state: r } = this;
169
+ return t && r === "ready" && !e;
170
+ }
166
171
  get displayCount() {
167
172
  return this._displayCount ?? 3;
168
173
  }
@@ -174,7 +179,7 @@ class ie extends K {
174
179
  }
175
180
  loaded() {
176
181
  this.manager.onLifecycle(() => [
177
- f(() => [
182
+ g(() => [
178
183
  this.displayCount,
179
184
  this.graphic,
180
185
  this.layer,
@@ -188,14 +193,18 @@ class ie extends K {
188
193
  this.featureCount,
189
194
  this.activeCategory
190
195
  ], () => this._queryDebounced(), { initial: !0 }),
191
- f(() => [this.featurePage, this.showAllEnabled], () => this._queryPageDebounced()),
192
- f(() => [this.layer, this.relationshipId, this.objectId, this.canQuery, this.activeCategory], () => this._queryFeatureCountDebounced(), { initial: !0 }),
193
- f(() => [this.state, this.showAllEnabled, this._relatedFeatureIntersectionObserverNode], () => this._handleRelatedFeatureObserverChange()),
196
+ g(() => [this.featurePage, this.showAllEnabled], () => this._queryPageDebounced()),
197
+ g(() => [this.layer, this.relationshipId, this.objectId, this.canQuery, this.activeCategory], () => this._queryFeatureCountDebounced(), { initial: !0 }),
198
+ g(() => [this.state, this.showAllEnabled, this._relatedFeatureIntersectionObserverNode], () => this._handleRelatedFeatureObserverChange()),
199
+ g(() => [this.displayListItems, this.hideEmptyRelationshipContent, this.state], () => this._setEmpty(this._empty), { initial: !0 }),
194
200
  G(() => this.relatedFeatures, "change", () => this._setRelatedFeaturesViewModels())
195
201
  ]), this.manager.onDestroy(() => {
196
202
  this.relatedFeatureViewModels.destroyAll(), this.relatedFeatures.destroyAll(), this._cancelQuery(), this._cancelQueryFeatureCount(), this._cancelQueryPage(), this._unobserveRelatedFeatureObserver();
197
203
  });
198
204
  }
205
+ _setEmpty(e) {
206
+ ee(() => this.empty = e);
207
+ }
199
208
  async _queryFeatureCount() {
200
209
  const { layer: e, relatedLayer: t } = this;
201
210
  await e?.load(), await t?.load();
@@ -206,27 +215,27 @@ class ie extends K {
206
215
  }
207
216
  if (t?.type === "subtype-group" && !i) {
208
217
  if (this.featureCount = 0, this.relatedFeatureViewModels.destroyAll(), this.featurePage = 1, this.relatedFeatures.destroyAll(), n && d != null) {
209
- const { default: C } = await import("@arcgis/core/smartMapping/statistics/uniqueValues.js"), { uniqueValueInfos: w } = await C({
218
+ const { default: F } = await import("@arcgis/core/smartMapping/statistics/uniqueValues.js"), { uniqueValueInfos: w } = await F({
210
219
  layer: t,
211
220
  sqlWhere: `${n} = '${d}'`,
212
221
  field: t.subtypeField ?? void 0,
213
222
  signal: r?.signal
214
- }), v = w.map(({ count: c, value: g }) => {
215
- const m = t.subtypes?.find((I) => I.code === g)?.name;
216
- return g != null && m ? {
223
+ }), v = w.map(({ count: c, value: p }) => {
224
+ const f = t.subtypes?.find((I) => I.code === p)?.name;
225
+ return p != null && f ? {
217
226
  count: c,
218
- value: g,
219
- name: m
227
+ value: p,
228
+ name: f
220
229
  } : void 0;
221
230
  }).filter((c) => c != null);
222
231
  this.allCategories = v;
223
232
  }
224
233
  return;
225
234
  }
226
- const { historicMoment: p, gdbVersion: F } = e, _ = new S({
235
+ const { historicMoment: m, gdbVersion: C } = e, _ = new S({
227
236
  cacheHint: b,
228
- gdbVersion: F,
229
- historicMoment: p,
237
+ gdbVersion: C,
238
+ historicMoment: m,
230
239
  relationshipId: l,
231
240
  returnGeometry: !1,
232
241
  objectIds: [a],
@@ -249,21 +258,21 @@ class ie extends K {
249
258
  !r || t < 2 || !s || this.relatedLayer?.type === "subtype-group" && !this.activeCategory || e.addMany(await this._queryRelatedFeatures({ signal: i?.signal }));
250
259
  }
251
260
  async _queryRelatedFeatures(e) {
252
- const { displayCount: t, featureCount: r, featurePage: i, featuresPerPage: s, layer: a, orderByFieldsFixedCasing: n, relatedLayer: l, relatedLayerKeyFields: d, relationshipId: b, showAllEnabled: p, supportsCacheHint: F } = this, { canQuery: _, objectId: y } = this;
261
+ const { displayCount: t, featureCount: r, featurePage: i, featuresPerPage: s, layer: a, orderByFieldsFixedCasing: n, relatedLayer: l, relatedLayerKeyFields: d, relationshipId: b, showAllEnabled: m, supportsCacheHint: C } = this, { canQuery: _, objectId: y } = this;
253
262
  if (!_ || !a || !l || y == null)
254
263
  return [];
255
- const C = p ? ((i - 1) * s + r) % r : 0, w = p ? s : t, v = l.objectIdField, c = "subtypeField" in l ? l.subtypeField : void 0, g = [
264
+ const F = m ? ((i - 1) * s + r) % r : 0, w = m ? s : t, v = l.objectIdField, c = "subtypeField" in l ? l.subtypeField : void 0, p = [
256
265
  ...n.map((u) => u.field),
257
- ...te(l),
266
+ ...re(l),
258
267
  ...d,
259
268
  v,
260
269
  c
261
- ].filter(re), m = n.map((u) => `${u.field} ${u.order}`), { historicMoment: I, gdbVersion: T } = a, j = new S({
262
- orderByFields: m,
263
- start: C,
270
+ ].filter(ie), f = n.map((u) => `${u.field} ${u.order}`), { historicMoment: I, gdbVersion: T } = a, j = new S({
271
+ orderByFields: f,
272
+ start: F,
264
273
  num: w,
265
- outFields: g,
266
- cacheHint: F,
274
+ outFields: p,
275
+ cacheHint: C,
267
276
  historicMoment: I,
268
277
  gdbVersion: T,
269
278
  relationshipId: b,
@@ -274,8 +283,8 @@ class ie extends K {
274
283
  signal: e?.signal
275
284
  }))[y]?.features || [];
276
285
  return l.type === "subtype-group" && c ? $.forEach((u) => {
277
- const B = u.attributes[c], D = l.findSublayerForSubtypeCode?.(B);
278
- u.sourceLayer = D, u.layer = D;
286
+ const B = u.attributes[c], E = l.findSublayerForSubtypeCode?.(B);
287
+ u.sourceLayer = E, u.layer = E;
279
288
  }) : $.forEach((u) => {
280
289
  u.sourceLayer = l, u.layer = l;
281
290
  }), $;
@@ -288,11 +297,11 @@ class ie extends K {
288
297
  const { flowItems: t } = this;
289
298
  if (!t)
290
299
  return;
291
- const r = this.useFeatureNextFlowItem ? q(o`<arcgis-feature-next .autoDestroyDisabled=${this.autoDestroyDisabled} .flowItems=${t} .flowType=${this.flowType} .graphic=${e.graphic} .map=${this.map} show-relationship-content .spatialReference=${this.spatialReference} .timeZone=${this.timeZone} .view=${this.view}></arcgis-feature-next>`) : q(o`<arcgis-feature .autoDestroyDisabled=${this.autoDestroyDisabled} .flowItems=${t} .flowType=${this.flowType} .graphic=${e.graphic} .map=${this.map} show-relationship-content .spatialReference=${this.spatialReference} .timeZone=${this.timeZone} .view=${this.view}></arcgis-feature>`);
300
+ const r = this.useFeatureNextFlowItem ? q(o`<arcgis-feature-next .autoDestroyDisabled=${this.autoDestroyDisabled} .flowItems=${t} .flowType=${this.flowType} .graphic=${e.graphic} .hideEmptyRelationshipContent=${this.hideEmptyRelationshipContent} .map=${this.map} show-relationship-content .spatialReference=${this.spatialReference} .timeZone=${this.timeZone} .view=${this.view}></arcgis-feature-next>`) : q(o`<arcgis-feature .autoDestroyDisabled=${this.autoDestroyDisabled} .flowItems=${t} .flowType=${this.flowType} .graphic=${e.graphic} .map=${this.map} show-relationship-content .spatialReference=${this.spatialReference} .timeZone=${this.timeZone} .view=${this.view}></arcgis-feature>`);
292
301
  this._addFlowItem(r);
293
302
  }
294
303
  _addRelationshipFlowItem({ showAllEnabled: e = !1, activeCategory: t }) {
295
- this._addFlowItem(q(o`<arcgis-feature-relationship .autoDestroyDisabled=${this.autoDestroyDisabled} .messages=${this.messages} .activeCategory=${t} .displayCount=${this.displayCount} .flowItems=${this.flowItems} .flowType=${this.flowType} .graphic=${this.graphic} .heading=${this.heading} hide-description .showAllEnabled=${e} hide-heading .layer=${this.layer} .map=${this.map} .orderByFields=${this.orderByFields} .relationshipId=${this.relationshipId} .spatialReference=${this.spatialReference} .useFeatureNextFlowItem=${this.useFeatureNextFlowItem} .values=${this.values} .view=${this.view}></arcgis-feature-relationship>`));
304
+ this._addFlowItem(q(o`<arcgis-feature-relationship .autoDestroyDisabled=${this.autoDestroyDisabled} .messages=${this.messages} .activeCategory=${t} .displayCount=${this.displayCount} .flowItems=${this.flowItems} .flowType=${this.flowType} .graphic=${this.graphic} .heading=${this.heading} hide-description .hideEmptyRelationshipContent=${this.hideEmptyRelationshipContent} .showAllEnabled=${e} hide-heading .layer=${this.layer} .map=${this.map} .orderByFields=${this.orderByFields} .relationshipId=${this.relationshipId} .spatialReference=${this.spatialReference} .useFeatureNextFlowItem=${this.useFeatureNextFlowItem} .values=${this.values} .view=${this.view}></arcgis-feature-relationship>`));
296
305
  }
297
306
  _showAllRecords() {
298
307
  const { flowItems: e } = this;
@@ -353,7 +362,7 @@ class ie extends K {
353
362
  ...r,
354
363
  ...i?.global
355
364
  }, l = (t && n?.[t]) ?? "";
356
- return o`<calcite-list-item class=${x(Q("list-item", { "list-item-hidden": s === "loading" }))} .description=${N(l.toString())} .label=${N(a)} @calciteListItemSelect=${() => this._selectRecord(e)}><div slot=heading><div .innerHTML=${O.sanitize(a ?? "") ?? ""}></div></div><div slot=description><div .innerHTML=${O.sanitize(l ?? "") ?? ""}></div></div>${this._renderChevronIconNode()}</calcite-list-item>`;
365
+ return o`<calcite-list-item class=${D(Q("list-item", { "list-item-hidden": s === "loading" }))} .description=${N(l.toString())} .label=${N(a)} @calciteListItemSelect=${() => this._selectRecord(e)}><div slot=heading><div .innerHTML=${O.sanitize(a ?? "") ?? ""}></div></div><div slot=description><div .innerHTML=${O.sanitize(l ?? "") ?? ""}></div></div>${this._renderChevronIconNode()}</calcite-list-item>`;
357
366
  }
358
367
  _renderShowAllListItem() {
359
368
  return this.displayShowAllButton ? o`<calcite-list-item .description=${this.allItemsDescription} .label=${this.messages?.showAll} @calciteListItemSelect=${() => this._showAllRecords()}>${this._renderShowAllIconNode()}</calcite-list-item>` : null;
@@ -370,7 +379,7 @@ class ie extends K {
370
379
  }
371
380
  _renderRelatedFeatures() {
372
381
  const { displayListItems: e } = this, { state: t } = this;
373
- return o`<div class=${x(Q("list", {
382
+ return o`<div class=${D(Q("list", {
374
383
  "list-querying": t === "querying"
375
384
  }))}>${e ? this._renderList() : t === "ready" ? this._renderNoRelatedFeaturesMessage() : null}${this._renderStickyLoading()}${this._renderFeatureObserver()}</div>`;
376
385
  }
@@ -378,7 +387,7 @@ class ie extends K {
378
387
  return o`<calcite-notice icon=exclamation-mark-triangle kind=danger open scale=s width=full><div slot=message>${this.messages?.relationshipNotFound}</div></calcite-notice>`;
379
388
  }
380
389
  }
381
- H("arcgis-feature-relationship", ie);
390
+ H("arcgis-feature-relationship", se);
382
391
  export {
383
- ie as ArcgisFeatureRelationship
392
+ se as ArcgisFeatureRelationship
384
393
  };
@@ -265,6 +265,13 @@ export abstract class ArcgisFeaturesNext extends LitElement {
265
265
  * @default false
266
266
  */
267
267
  accessor hideCustomContent: boolean | undefined;
268
+ /**
269
+ * Indicates whether to hide relationship content when there are no relationship items to display.
270
+ *
271
+ * @default false
272
+ * @since 5.2
273
+ */
274
+ accessor hideEmptyRelationshipContent: boolean;
268
275
  /**
269
276
  * Indicates whether to hide [expression content](https://developers.arcgis.com/javascript/latest/references/core/popup/content/ExpressionContent/) within the component.
270
277
  *
@@ -5,12 +5,12 @@ import { keyed as S } from "lit/directives/keyed.js";
5
5
  import z from "@arcgis/core/support/actions/ActionButton.js";
6
6
  import k from "@arcgis/core/core/Collection.js";
7
7
  import V from "@arcgis/core/popup/FeatureContentCollection.js";
8
- import { LitElement as U, createEvent as x, renderElement as Z, nothing as h, safeClassMap as y } from "@arcgis/lumina";
8
+ import { LitElement as U, createEvent as y, renderElement as Z, nothing as h, safeClassMap as x } from "@arcgis/lumina";
9
9
  import { useDirection as K, usePropertyChange as j, bypassReadOnly as D } from "@arcgis/lumina/controllers";
10
10
  import { classes as T } from "@arcgis/toolkit/dom";
11
11
  import { slotChangeHasContent as L } from "@arcgis/toolkit/dom/slots";
12
12
  import { createRef as w, ref as f } from "lit/directives/ref.js";
13
- import { g as N } from "../../chunks/feature-utils.js";
13
+ import { g as R } from "../../chunks/feature-utils.js";
14
14
  import { initializeProjection as q } from "@arcgis/core/applications/Components/featureUtils.js";
15
15
  import { t as G, z as W } from "../../chunks/action-utils.js";
16
16
  import { m as X } from "../../chunks/useViewModel.js";
@@ -19,7 +19,7 @@ import { stripHTML as E } from "@arcgis/core/applications/Components/stringUtils
19
19
  import { substitute as d, formatNumber as C } from "@arcgis/core/intl.js";
20
20
  import { u as J } from "../../chunks/useT9n.js";
21
21
  import { when as Q, watch as u } from "@arcgis/core/core/reactiveUtils.js";
22
- import { a as O } from "../../chunks/maybe.js";
22
+ import { a as N } from "../../chunks/maybe.js";
23
23
  import { b as Y, a as ee, c as te } from "../../chunks/keyboard-utils.js";
24
24
  const ie = P`:host{display:flex;overflow:hidden;flex:1 1 auto}.root{--calcite-color-background: var(--calcite-color-foreground-1);display:flex;overflow:hidden;flex:1 1 auto;flex-direction:column}.root img{image-orientation:from-image}.flow-item-collapsed{--calcite-flow-item-header-border-block-end: none}.container{display:flex;flex:1 1 auto;background-color:var(--calcite-color-foreground-1)}.container calcite-list{width:100%}.container:not(:empty,.content-hidden){padding:var(--arcgis-internal-padding-md, var(--calcite-spacing-md))}.root .arcgis-feature,.root .arcgis-feature-relationship,.root .arcgis-feature-utility-network-associations{background-color:transparent}.heading{word-break:break-word;word-wrap:break-word}.header,.footer{display:flex;align-items:center;justify-content:flex-end;background-color:var(--calcite-color-foreground-1)}.footer{flex:1}.pagination-text{padding-inline:var(--calcite-spacing-sm);color:var(--calcite-color-text-3);font-size:var(--calcite-font-size-sm)}.loader{align-self:center;padding-inline:var(--calcite-spacing-lg)}.pagination-action-bar{flex:1}.pagination-menu-button{padding-inline:var(--calcite-spacing-xxs);border-inline-start:var(--calcite-border-width-sm) solid var(--calcite-color-border-3)}.icon{display:inline-block;flex:0 0 var(--calcite-spacing-lg);width:var(--calcite-spacing-lg);height:var(--calcite-spacing-lg)}.action-image{flex:0 0 var(--calcite-spacing-lg);background-position:50% 50%;background-repeat:no-repeat;background-size:contain;width:var(--calcite-spacing-lg);height:var(--calcite-spacing-lg)}.content-feature{--calcite-flow-item-footer-padding: 0;--calcite-flow-header-top-space: 0}.feature-menu-observer{position:relative;bottom:var(--calcite-spacing-xxl);z-index:2;text-align:center}.action-exit{transform:scaleX(-1)}.flow-item-drill-in{--calcite-flow-item-footer-padding: 0}`;
25
25
  function ae(v) {
@@ -41,11 +41,11 @@ class re extends U {
41
41
  }, this._featureMenuIntersectionObserver = new IntersectionObserver(this._featureMenuIntersectionObserverCallback, {
42
42
  root: window.document
43
43
  }), this._featureMenuIntersectionObserverNode = null, this._setFocusAnimationFrameId = null, this._setFocusAnimationFrameResolve = null, this._rootFlowItemNode = w(), this._featureMenuViewportNode = w(), this._actionBarMenuNode = w(), this._flowContainerNode = w(), this._aggregatedFeaturesComponent = w(), this.messages = J(), this._selectedFeatureComponent = w(), this._direction = K(), this._cancelOpenRelatedFeature = () => {
44
- this._openRelatedFeatureAbortController = O(this._openRelatedFeatureAbortController);
45
- }, this._spinnerVisible = !1, this._spinnerVisibilityTimeout = null, this._openRelatedFeatureAbortController = null, this.flowItems = new k(), this._aggregatedFeatureCount = 0, this._selectedAggregatedFeatureIndex = -1, this._aggregatedFeaturesLoading = !1, this._hasActionsStartSlotContent = !1, this._hasActionsEndSlotContent = !1, this.viewModel = ne(this), this.actions = this.viewModel.actions, this.active = this.viewModel.active, this.autoDestroyDisabled = !1, this.focusTrapEnabled = !1, this.collapsed = !1, this.content = this.viewModel.content, this.defaultPopupTemplateEnabled = this.viewModel.defaultPopupTemplateEnabled, this.effectiveHeading = this.viewModel.effectiveHeading, this.featureCount = this.viewModel.featureCount, this.featureMenuOpen = !1, this.featureNavigationTop = !1, this.features = this.viewModel.features, this.featuresPerPage = this.viewModel.featuresPerPage, this.featureItemAbilities = this.viewModel.featureItemAbilities, this.goToOverride = this.viewModel.goToOverride, this.headerActions = new k(), this.heading = this.viewModel.heading, this.headingLevel = 2, this.hideActionBar = !1, this.hideCloseButton = !1, this.hideFeatureMenuHeading = !1, this.hideFeatureNavigation = !1, this.hideFeatureListLayerTitle = !1, this.hideHeading = !1, this.hideSelectFeature = !1, this.hideSpinner = !1, this.hideContent = !1, this.chartAnimationDisabled = this.viewModel.featureItemAbilities?.chartAnimation, this.hideAttachmentsContent = this.viewModel.featureItemAbilities?.attachmentsContent, this.hideCustomContent = this.viewModel.featureItemAbilities?.customContent, this.hideExpressionContent = !1, this.hideFieldsContent = this.viewModel.featureItemAbilities?.fieldsContent, this.hideMediaContent = this.viewModel.featureItemAbilities?.mediaContent, this.hideRelationshipContent = this.viewModel.featureItemAbilities?.relationshipContent, this.hideTextContent = this.viewModel.featureItemAbilities?.textContent, this.hideUtilityNetworkContent = this.viewModel.featureItemAbilities?.utilityNetworkAssociationsContent, this.hideLastEditedInfo = !1, this.highlightDisabled = this.viewModel.highlightEnabled, this.includeDefaultActionsDisabled = this.viewModel.includeDefaultActions, this.initialDisplayMode = this.viewModel.initialDisplayMode, this.location = this.viewModel.location, this.map = this.viewModel.map, this.open = this.viewModel.open, this.promises = this.viewModel.promises, this.responsiveActionsEnabled = !1, this.selectedFeature = this.viewModel.selectedFeature, this.selectedFeatureIndex = this.viewModel.selectedFeatureIndex, this.showCollapseButton = !1, this.spatialReference = this.viewModel.spatialReference, this.state = this.viewModel.state, this.timeZone = this.viewModel.timeZone, this.updateLocationEnabled = this.viewModel.updateLocationEnabled, this.view = this.viewModel.view, this.arcgisPropertyChange = j()("active", "collapsed", "effectiveHeading", "featureCount", "featureMenuOpen", "features", "promises", "selectedDrillInFeature", "selectedFeature", "selectedFeatureComponent", "selectedFeatureIndex", "state", "open"), this.arcgisReady = x(), this.arcgisClose = x(), this.arcgisTriggerAction = x();
44
+ this._openRelatedFeatureAbortController = N(this._openRelatedFeatureAbortController);
45
+ }, this._spinnerVisible = !1, this._spinnerVisibilityTimeout = null, this._openRelatedFeatureAbortController = null, this.flowItems = new k(), this._aggregatedFeatureCount = 0, this._selectedAggregatedFeatureIndex = -1, this._aggregatedFeaturesLoading = !1, this._hasActionsStartSlotContent = !1, this._hasActionsEndSlotContent = !1, this.viewModel = ne(this), this.actions = this.viewModel.actions, this.active = this.viewModel.active, this.autoDestroyDisabled = !1, this.focusTrapEnabled = !1, this.collapsed = !1, this.content = this.viewModel.content, this.defaultPopupTemplateEnabled = this.viewModel.defaultPopupTemplateEnabled, this.effectiveHeading = this.viewModel.effectiveHeading, this.featureCount = this.viewModel.featureCount, this.featureMenuOpen = !1, this.featureNavigationTop = !1, this.features = this.viewModel.features, this.featuresPerPage = this.viewModel.featuresPerPage, this.featureItemAbilities = this.viewModel.featureItemAbilities, this.goToOverride = this.viewModel.goToOverride, this.headerActions = new k(), this.heading = this.viewModel.heading, this.headingLevel = 2, this.hideActionBar = !1, this.hideCloseButton = !1, this.hideFeatureMenuHeading = !1, this.hideFeatureNavigation = !1, this.hideFeatureListLayerTitle = !1, this.hideHeading = !1, this.hideSelectFeature = !1, this.hideSpinner = !1, this.hideContent = !1, this.chartAnimationDisabled = this.viewModel.featureItemAbilities?.chartAnimation, this.hideAttachmentsContent = this.viewModel.featureItemAbilities?.attachmentsContent, this.hideEmptyRelationshipContent = !1, this.hideCustomContent = this.viewModel.featureItemAbilities?.customContent, this.hideExpressionContent = !1, this.hideFieldsContent = this.viewModel.featureItemAbilities?.fieldsContent, this.hideMediaContent = this.viewModel.featureItemAbilities?.mediaContent, this.hideRelationshipContent = this.viewModel.featureItemAbilities?.relationshipContent, this.hideTextContent = this.viewModel.featureItemAbilities?.textContent, this.hideUtilityNetworkContent = this.viewModel.featureItemAbilities?.utilityNetworkAssociationsContent, this.hideLastEditedInfo = !1, this.highlightDisabled = this.viewModel.highlightEnabled, this.includeDefaultActionsDisabled = this.viewModel.includeDefaultActions, this.initialDisplayMode = this.viewModel.initialDisplayMode, this.location = this.viewModel.location, this.map = this.viewModel.map, this.open = this.viewModel.open, this.promises = this.viewModel.promises, this.responsiveActionsEnabled = !1, this.selectedFeature = this.viewModel.selectedFeature, this.selectedFeatureIndex = this.viewModel.selectedFeatureIndex, this.showCollapseButton = !1, this.spatialReference = this.viewModel.spatialReference, this.state = this.viewModel.state, this.timeZone = this.viewModel.timeZone, this.updateLocationEnabled = this.viewModel.updateLocationEnabled, this.view = this.viewModel.view, this.arcgisPropertyChange = j()("active", "collapsed", "effectiveHeading", "featureCount", "featureMenuOpen", "features", "promises", "selectedDrillInFeature", "selectedFeature", "selectedFeatureComponent", "selectedFeatureIndex", "state", "open"), this.arcgisReady = y(), this.arcgisClose = y(), this.arcgisTriggerAction = y();
46
46
  }
47
47
  static {
48
- this.properties = { _openRelatedFeatureAbortController: 16, flowItems: 16, _aggregatedFeatureCount: 16, _selectedAggregatedFeatureIndex: 16, _aggregatedFeaturesLoading: 16, _hasActionsStartSlotContent: 16, _hasActionsEndSlotContent: 16, _hideActionText: 16, _featureNavigationVisible: 16, _isCollapsed: 16, _collapseEnabled: 16, _selectedFeatureHeading: 16, _selectedFeatureHeadingText: 16, _selectedFeatureContent: 16, _featureFlowItemSelected: 16, viewModel: 0, actions: 0, active: 0, autoDestroyDisabled: 5, focusTrapEnabled: 5, collapseDirection: 1, collapsed: 5, content: 1, defaultPopupTemplateEnabled: 5, effectiveHeading: 32, featureCount: 9, featureMenuOpen: 5, featureMenuTitle: 1, featureNavigationTop: 5, features: 0, featuresPerPage: 9, featureItemAbilities: 0, goToOverride: 0, headerActions: 0, heading: 1, headingLevel: 9, hideActionBar: 5, hideCloseButton: 5, hideFeatureMenuHeading: 5, hideFeatureNavigation: 5, hideFeatureListLayerTitle: 5, hideHeading: 5, hideSelectFeature: 5, hideSpinner: 5, hideContent: 5, chartAnimationDisabled: 5, hideAttachmentsContent: 5, hideCustomContent: 5, hideExpressionContent: 5, hideFieldsContent: 5, hideMediaContent: 5, hideRelationshipContent: 5, hideTextContent: 5, hideUtilityNetworkContent: 5, hideLastEditedInfo: 5, highlightDisabled: 5, icon: 1, includeDefaultActionsDisabled: 5, initialDisplayMode: 1, label: 1, location: 0, map: 0, messageOverrides: 0, open: 5, referenceElement: 1, promises: 0, responsiveActionsEnabled: 5, selectedDrillInFeature: 32, selectedFeature: 0, selectedFeatureComponent: 32, selectedFeatureIndex: 9, showCollapseButton: 5, spatialReference: 0, state: 32, timeZone: 1, updateLocationEnabled: 5, view: 0 };
48
+ this.properties = { _openRelatedFeatureAbortController: 16, flowItems: 16, _aggregatedFeatureCount: 16, _selectedAggregatedFeatureIndex: 16, _aggregatedFeaturesLoading: 16, _hasActionsStartSlotContent: 16, _hasActionsEndSlotContent: 16, _hideActionText: 16, _featureNavigationVisible: 16, _isCollapsed: 16, _collapseEnabled: 16, _selectedFeatureHeading: 16, _selectedFeatureHeadingText: 16, _selectedFeatureContent: 16, _featureFlowItemSelected: 16, viewModel: 0, actions: 0, active: 0, autoDestroyDisabled: 5, focusTrapEnabled: 5, collapseDirection: 1, collapsed: 5, content: 1, defaultPopupTemplateEnabled: 5, effectiveHeading: 32, featureCount: 9, featureMenuOpen: 5, featureMenuTitle: 1, featureNavigationTop: 5, features: 0, featuresPerPage: 9, featureItemAbilities: 0, goToOverride: 0, headerActions: 0, heading: 1, headingLevel: 9, hideActionBar: 5, hideCloseButton: 5, hideFeatureMenuHeading: 5, hideFeatureNavigation: 5, hideFeatureListLayerTitle: 5, hideHeading: 5, hideSelectFeature: 5, hideSpinner: 5, hideContent: 5, chartAnimationDisabled: 5, hideAttachmentsContent: 5, hideEmptyRelationshipContent: 5, hideCustomContent: 5, hideExpressionContent: 5, hideFieldsContent: 5, hideMediaContent: 5, hideRelationshipContent: 5, hideTextContent: 5, hideUtilityNetworkContent: 5, hideLastEditedInfo: 5, highlightDisabled: 5, icon: 1, includeDefaultActionsDisabled: 5, initialDisplayMode: 1, label: 1, location: 0, map: 0, messageOverrides: 0, open: 5, referenceElement: 1, promises: 0, responsiveActionsEnabled: 5, selectedDrillInFeature: 32, selectedFeature: 0, selectedFeatureComponent: 32, selectedFeatureIndex: 9, showCollapseButton: 5, spatialReference: 0, state: 32, timeZone: 1, updateLocationEnabled: 5, view: 0 };
49
49
  }
50
50
  static {
51
51
  this.styles = ie;
@@ -164,7 +164,7 @@ class re extends U {
164
164
  this._setFocusAnimationFrameId != null && (cancelAnimationFrame(this._setFocusAnimationFrameId), this._setFocusAnimationFrameId = null), this._resolveSetFocusAnimationFrame();
165
165
  }
166
166
  _cancelFetchingFeatures() {
167
- this._fetchFeaturesController = O(this._fetchFeaturesController);
167
+ this._fetchFeaturesController = N(this._fetchFeaturesController);
168
168
  }
169
169
  _handleClose() {
170
170
  this.close(), this.arcgisClose.emit();
@@ -175,7 +175,7 @@ class re extends U {
175
175
  const i = a?.graphic;
176
176
  if (!i)
177
177
  return;
178
- const s = N(i), n = ae(s) ? s : null;
178
+ const s = R(i), n = ae(s) ? s : null;
179
179
  let o = t.get(n);
180
180
  o || (o = [], t.set(n, o)), o.push(a);
181
181
  }), t;
@@ -268,7 +268,7 @@ class re extends U {
268
268
  }
269
269
  _viewScaleChange() {
270
270
  const { selectedFeature: e } = this;
271
- !e?.isAggregate || se(N(e)) !== "cluster" || (this.viewModel.aggregatedFeaturesEnabled = !1, this.open = !1, this.clear());
271
+ !e?.isAggregate || se(R(e)) !== "cluster" || (this.viewModel.aggregatedFeaturesEnabled = !1, this.open = !1, this.clear());
272
272
  }
273
273
  _viewChange() {
274
274
  this.viewModel.clear(), this.open = !1, this._aggregatedFeatureCount = 0, this._removeFlowItems();
@@ -387,10 +387,10 @@ class re extends U {
387
387
  if (o === "list" && !l)
388
388
  return null;
389
389
  const _ = m ? !m.content : !F;
390
- return r`<calcite-flow-item .focusTrapEnabled=${this.focusTrapEnabled} class=${y(T({
390
+ return r`<calcite-flow-item .focusTrapEnabled=${this.focusTrapEnabled} class=${x(T({
391
391
  "content-feature": !0,
392
392
  "flow-item-collapsed": i
393
- }))} .closable=${!a} .closed=${!g} .collapsed=${i} .collapseDirection=${this.collapseDirection ?? (n ? "down" : "up")} .collapsible=${s} .headingLevel=${t} .selected=${e} .messageOverrides=${{ collapse: this.messages.collapse, expand: this.messages.expand }} @calciteFlowItemBack=${this._handleFeatureBack} .loading=${!!this._openRelatedFeatureAbortController} @calciteFlowItemClose=${this._handleClose} @calciteFlowItemToggle=${this._handleCollapseToggle} .heading=${!c && p ? E(p) : void 0} ${f(this._rootFlowItemNode)}>${this._renderHeader()}${!c && p ? r`<div slot=heading><div .innerHTML=${b.sanitize(p ?? "") ?? ""}></div></div>` : null}${this._renderHeaderActions()}${this._renderActionBar()}<div class=${y(T("container", "content-container", {
393
+ }))} .closable=${!a} .closed=${!g} .collapsed=${i} .collapseDirection=${this.collapseDirection ?? (n ? "down" : "up")} .collapsible=${s} .headingLevel=${t} .selected=${e} .messageOverrides=${{ collapse: this.messages.collapse, expand: this.messages.expand }} @calciteFlowItemBack=${this._handleFeatureBack} .loading=${!!this._openRelatedFeatureAbortController} @calciteFlowItemClose=${this._handleClose} @calciteFlowItemToggle=${this._handleCollapseToggle} .heading=${!c && p ? E(p) : void 0} ${f(this._rootFlowItemNode)}>${this._renderHeader()}${!c && p ? r`<div slot=heading><div .innerHTML=${b.sanitize(p ?? "") ?? ""}></div></div>` : null}${this._renderHeaderActions()}${this._renderActionBar()}<div class=${x(T("container", "content-container", {
394
394
  "content-hidden": _
395
395
  }))}>${this._renderContent()}</div>${this._renderFooter()}</calcite-flow-item>`;
396
396
  }
@@ -400,12 +400,12 @@ class re extends U {
400
400
  });
401
401
  if (s === "feature" && !n)
402
402
  return null;
403
- const R = !o;
404
- return r`<calcite-flow-item .focusTrapEnabled=${this.focusTrapEnabled} class=${y(T({
403
+ const O = !o;
404
+ return r`<calcite-flow-item .focusTrapEnabled=${this.focusTrapEnabled} class=${x(T({
405
405
  "flow-item-collapsed": c
406
406
  }))} .closable=${!t} .closed=${!F} .collapsed=${s === "list" && c} .collapseDirection=${this.collapseDirection ?? (g ? "down" : "up")} .collapsible=${s === "list" && l} .messageOverrides=${{ collapse: this.messages.collapse, expand: this.messages.expand, back: I }} .description=${this.hideFeatureMenuHeading ? void 0 : d(i.total ?? "", {
407
407
  total: p.length
408
- })} .heading=${this.hideFeatureMenuHeading ? void 0 : A} .headingLevel=${m} .loading=${e.waitingForContents} .selected=${R} @calciteFlowItemBack=${(B) => {
408
+ })} .heading=${this.hideFeatureMenuHeading ? void 0 : A} .headingLevel=${m} .loading=${e.waitingForContents} .selected=${O} @calciteFlowItemBack=${(B) => {
409
409
  B.preventDefault(), this._handleFeatureMenuBack();
410
410
  }} @calciteFlowItemClose=${this._handleClose} @calciteFlowItemToggle=${this._handleCollapseToggle} ${f(this._featureMenuViewportNode)}>${s === "list" ? this._renderHeaderActions() : null}${M ? r`<calcite-loader class="loader" inline .label=${i.loading ?? ""} slot=header-actions-end></calcite-loader>` : null}<div class="container">${this._renderFeatureMenu()}</div><div class="feature-menu-observer" ${f(this._featureMenuIntersectionObserverCreated)}></div>${s === "feature" ? r`<calcite-button scale=s appearance=transparent @click=${this._handleFeatureMenuBack} slot=footer-start width=full .label=${I} title=${I ?? h}>${i.back}</calcite-button>` : null}</calcite-flow-item>`;
411
411
  }
@@ -433,7 +433,7 @@ class re extends U {
433
433
  l.preventDefault(), this.viewModel.aggregatedFeaturesEnabled = !1;
434
434
  }} .messageOverrides=${{
435
435
  back: o
436
- }} .loading=${this._aggregatedFeaturesLoading} @calciteFlowItemClose=${this._handleClose}><arcgis-aggregated-features .autoDestroyDisabled=${this.autoDestroyDisabled} .chartAnimationDisabled=${this.chartAnimationDisabled} .defaultPopupTemplateEnabled=${this.defaultPopupTemplateEnabled} .feature=${s ?? void 0} .flowItems=${this.flowItems} .headingLevel=${this.headingLevel + 1} .hideAttachmentsContent=${this.hideAttachmentsContent} .hideContent=${this.hideContent} .hideCustomContent=${this.hideCustomContent} .hideExpressionContent=${this.hideExpressionContent} .hideFieldsContent=${this.hideFieldsContent} hide-heading .hideLastEditedInfo=${this.hideLastEditedInfo} .hideMediaContent=${this.hideMediaContent} .hideTextContent=${this.hideTextContent} .location=${this.location} .map=${this.map ?? void 0} .messageOverrides=${this.messageOverrides} .messages=${i} @arcgisPropertyChange=${this._handleAggregatedFeaturesPropertyChange} .showRelationshipContent=${!this.hideRelationshipContent} .showUtilityNetworkContent=${!this.hideUtilityNetworkContent} .spatialReference=${this.spatialReference ?? void 0} .timeZone=${this.timeZone ?? void 0} .view=${this.view ?? void 0} ${f(this._aggregatedFeaturesComponent)}></arcgis-aggregated-features><calcite-button appearance=transparent @click=${() => this.viewModel.aggregatedFeaturesEnabled = !1} slot=footer-start scale=s width=full .label=${o} title=${o ?? h}>${i.back}</calcite-button></calcite-flow-item>` : null;
436
+ }} .loading=${this._aggregatedFeaturesLoading} @calciteFlowItemClose=${this._handleClose}><arcgis-aggregated-features .autoDestroyDisabled=${this.autoDestroyDisabled} .chartAnimationDisabled=${this.chartAnimationDisabled} .defaultPopupTemplateEnabled=${this.defaultPopupTemplateEnabled} .feature=${s ?? void 0} .flowItems=${this.flowItems} .headingLevel=${this.headingLevel + 1} .hideAttachmentsContent=${this.hideAttachmentsContent} .hideContent=${this.hideContent} .hideCustomContent=${this.hideCustomContent} .hideEmptyRelationshipContent=${this.hideEmptyRelationshipContent} .hideExpressionContent=${this.hideExpressionContent} .hideFieldsContent=${this.hideFieldsContent} hide-heading .hideLastEditedInfo=${this.hideLastEditedInfo} .hideMediaContent=${this.hideMediaContent} .hideTextContent=${this.hideTextContent} .location=${this.location} .map=${this.map ?? void 0} .messageOverrides=${this.messageOverrides} .messages=${i} @arcgisPropertyChange=${this._handleAggregatedFeaturesPropertyChange} .showRelationshipContent=${!this.hideRelationshipContent} .showUtilityNetworkContent=${!this.hideUtilityNetworkContent} .spatialReference=${this.spatialReference ?? void 0} .timeZone=${this.timeZone ?? void 0} .view=${this.view ?? void 0} ${f(this._aggregatedFeaturesComponent)}></arcgis-aggregated-features><calcite-button appearance=transparent @click=${() => this.viewModel.aggregatedFeaturesEnabled = !1} slot=footer-start scale=s width=full .label=${o} title=${o ?? h}>${i.back}</calcite-button></calcite-flow-item>` : null;
437
437
  }
438
438
  _renderActionBar() {
439
439
  const e = this.viewModel.selectedFeatureItem?.isFeatureFromTable, t = this.viewModel.allActions.toArray(), a = e && !this.location ? t.filter((n) => n.id !== this._zoomToFeature.id) : t, i = !!a.length || this._hasActionsStartSlotContent || this._hasActionsEndSlotContent, s = this._isCollapsed || this.hideActionBar || !i;
@@ -447,7 +447,7 @@ class re extends U {
447
447
  }
448
448
  _renderContent() {
449
449
  const { content: e, selectedFeatureItem: t } = this.viewModel;
450
- return t ? r`<arcgis-feature-next .autoDestroyDisabled=${this.autoDestroyDisabled} .chartAnimationDisabled=${this.chartAnimationDisabled} .defaultPopupTemplateEnabled=${this.defaultPopupTemplateEnabled} .flowItems=${this.flowItems} .graphic=${t.graphic} .headingLevel=${this.headingLevel + 1} .hideAttachmentsContent=${this.hideAttachmentsContent} .hideContent=${this.hideContent} .hideCustomContent=${this.hideCustomContent} .hideExpressionContent=${this.hideExpressionContent} .hideFieldsContent=${this.hideFieldsContent} hide-heading .hideLastEditedInfo=${this.hideLastEditedInfo} .hideMediaContent=${this.hideMediaContent} .hideTextContent=${this.hideTextContent} .location=${this.location} .map=${this.map} .messageOverrides=${this.messageOverrides} .referenceElement=${this.referenceElement} .showRelationshipContent=${!this.hideRelationshipContent} .showUtilityNetworkContent=${!this.hideUtilityNetworkContent} .spatialReference=${this.spatialReference} .timeZone=${this.timeZone} ${f(this._selectedFeatureComponent)}></arcgis-feature-next>` : typeof e == "string" ? S(e, r`<div .innerHTML=${b.sanitize(e) ?? ""}></div>`) : e ?? null;
450
+ return t ? r`<arcgis-feature-next .autoDestroyDisabled=${this.autoDestroyDisabled} .chartAnimationDisabled=${this.chartAnimationDisabled} .defaultPopupTemplateEnabled=${this.defaultPopupTemplateEnabled} .flowItems=${this.flowItems} .graphic=${t.graphic} .headingLevel=${this.headingLevel + 1} .hideAttachmentsContent=${this.hideAttachmentsContent} .hideContent=${this.hideContent} .hideCustomContent=${this.hideCustomContent} .hideEmptyRelationshipContent=${this.hideEmptyRelationshipContent} .hideExpressionContent=${this.hideExpressionContent} .hideFieldsContent=${this.hideFieldsContent} hide-heading .hideLastEditedInfo=${this.hideLastEditedInfo} .hideMediaContent=${this.hideMediaContent} .hideTextContent=${this.hideTextContent} .location=${this.location} .map=${this.map} .messageOverrides=${this.messageOverrides} .referenceElement=${this.referenceElement} .showRelationshipContent=${!this.hideRelationshipContent} .showUtilityNetworkContent=${!this.hideUtilityNetworkContent} .spatialReference=${this.spatialReference} .timeZone=${this.timeZone} ${f(this._selectedFeatureComponent)}></arcgis-feature-next>` : typeof e == "string" ? S(e, r`<div .innerHTML=${b.sanitize(e) ?? ""}></div>`) : e ?? null;
451
451
  }
452
452
  }
453
453
  H("arcgis-features-next", re);
@@ -255,6 +255,7 @@ export abstract class ArcgisLayerListNext extends LitElement {
255
255
  * Indicates whether to hide the notice that appears when no results are found after filtering.
256
256
  *
257
257
  * @default false
258
+ * @since 5.2
258
259
  * @example
259
260
  * ```html
260
261
  * <arcgis-layer-list-next hide-no-filter-results-notice></arcgis-layer-list-next>
@@ -270,6 +271,7 @@ export abstract class ArcgisLayerListNext extends LitElement {
270
271
  * Indicates whether to hide the notice that appears when there are no items to display.
271
272
  *
272
273
  * @default false
274
+ * @since 5.2
273
275
  * @example
274
276
  * ```html
275
277
  * <arcgis-layer-list-next hide-no-items-notice></arcgis-layer-list-next>
@@ -381,8 +383,8 @@ export abstract class ArcgisLayerListNext extends LitElement {
381
383
  * Specifies whether to ignore the [listMode](https://developers.arcgis.com/javascript/latest/references/core/layers/Layer/#listMode) property to display all layers. A common use case for `listModeDisabled` is when you want to use the component to manage and configure a layer's `listMode` value.
382
384
  *
383
385
  * @default false
384
- * @see [listMode](https://developers.arcgis.com/javascript/latest/references/core/layers/Layer/#listMode)
385
386
  * @since 5.2
387
+ * @see [listMode](https://developers.arcgis.com/javascript/latest/references/core/layers/Layer/#listMode)
386
388
  * @example
387
389
  * ```html
388
390
  * <arcgis-layer-list-next list-mode-disabled></arcgis-layer-list-next>
@@ -398,6 +400,8 @@ export abstract class ArcgisLayerListNext extends LitElement {
398
400
  * Replace localized message strings with your own strings.
399
401
  *
400
402
  * _**Note**: Individual message keys may change between releases._
403
+ *
404
+ * @since 5.2
401
405
  */
402
406
  accessor messageOverrides: NonNullable<ArcgisCatalogLayerListNext["messageOverrides"]> & NonNullable<ArcgisTableListNext["messageOverrides"]> & {
403
407
  componentLabel?: string | undefined;
@@ -511,17 +515,17 @@ export abstract class ArcgisLayerListNext extends LitElement {
511
515
  */
512
516
  accessor minFilterItems: number;
513
517
  /**
514
- * A collection of [layers](https://developers.arcgis.com/javascript/latest/references/core/layers/Layer/) that are opened
515
- * in a [catalogLayerList](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-layer-list-next/#catalogLayerList) or [tableList](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-layer-list-next/#tableList) flow item.
516
- * This property is useful for backing out of the catalog layer list or table list programmatically to the parent layer list.
518
+ * A collection of [layers](https://developers.arcgis.com/javascript/latest/references/core/layers/Layer/) opened in a flow item within the component. Use this property to navigate back programmatically by removing the last opened layer.
517
519
  *
518
520
  * @see [catalogLayerList](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-layer-list-next/#catalogLayerList)
519
521
  * @see [tableList](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-layer-list-next/#tableList)
520
522
  * @example
523
+ *
521
524
  * ```js
522
- * // back out of the catalog layer list to the main layer list
523
- * layerListElement.openedLayers.pop();
525
+ * // back out of the flow item to the main layer list
526
+ * layerListNext.openedLayers.pop();
524
527
  * ```
528
+ *
525
529
  */
526
530
  get openedLayers(): Collection<FlowLayer>;
527
531
  /**
@@ -735,15 +739,27 @@ export abstract class ArcgisLayerListNext extends LitElement {
735
739
  destroy(): Promise<void>;
736
740
  /** Emitted when the component's close button is clicked. */
737
741
  readonly arcgisClose: import("@arcgis/lumina").TargetedEvent<this, void>;
738
- /** Emitted when the value of the [filterText](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-layer-list-next/#filterText) input changes. */
742
+ /**
743
+ * Emitted when the value of the [filterText](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-layer-list-next/#filterText) input changes.
744
+ *
745
+ * @since 5.2
746
+ */
739
747
  readonly arcgisFilterChange: import("@arcgis/lumina").TargetedEvent<this, void>;
740
- /** Emitted when the collection of [openedLayers](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-layer-list-next/#openedLayers) changes. */
748
+ /**
749
+ * Emitted when the collection of [openedLayers](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-layer-list-next/#openedLayers) changes.
750
+ *
751
+ * @since 5.2
752
+ */
741
753
  readonly arcgisOpenedLayersChange: import("@arcgis/lumina").TargetedEvent<this, void>;
742
754
  /** Emitted when the value of a property is changed. Use this to listen to changes to properties. */
743
755
  readonly arcgisPropertyChange: import("@arcgis/lumina").TargetedEvent<this, { name: "state"; }>;
744
756
  /** Emitted when the component associated with a map or scene view is ready to be interacted with. */
745
757
  readonly arcgisReady: import("@arcgis/lumina").TargetedEvent<this, void>;
746
- /** Emitted when the collection of [selectedItems](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-layer-list-next/#selectedItems) changes. */
758
+ /**
759
+ * Emitted when the collection of [selectedItems](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-layer-list-next/#selectedItems) changes.
760
+ *
761
+ * @since 5.2
762
+ */
747
763
  readonly arcgisSelectedItemsChange: import("@arcgis/lumina").TargetedEvent<this, void>;
748
764
  /** Emitted when an action is triggered on the component. */
749
765
  readonly arcgisTriggerAction: import("@arcgis/lumina").TargetedEvent<this, LayerItemCollectionEvents["trigger-action"]>;
@@ -395,6 +395,13 @@ export abstract class ArcgisPopup extends LitElement {
395
395
  * @default false
396
396
  */
397
397
  accessor hideCollapseButton: boolean;
398
+ /**
399
+ * Indicates whether to hide relationship content when there are no relationship items to display.
400
+ *
401
+ * @default false
402
+ * @since 5.2
403
+ */
404
+ accessor hideEmptyRelationshipContent: boolean;
398
405
  /**
399
406
  * Indicates whether to hide the group heading for a list of multiple features.
400
407
  *