@arcgis/portal-components 5.0.0-next.9 → 5.0.0-next.91

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 (147) hide show
  1. package/dist/cdn/3SUFXBPT.js +4 -0
  2. package/dist/cdn/5E2AYAKJ.js +4 -0
  3. package/dist/cdn/5MWP2NHZ.js +4 -0
  4. package/dist/cdn/6HSVJVWX.js +4 -0
  5. package/dist/cdn/{P3ANBRVZ.js → 6RX7TYNK.js} +1 -1
  6. package/dist/cdn/ASDMKYO2.js +4 -0
  7. package/dist/cdn/{IN2QVHWI.js → DMA5265R.js} +2 -2
  8. package/dist/cdn/{OKJI6RLS.js → DR25HSAK.js} +2 -2
  9. package/dist/cdn/E2KYMDSZ.js +4 -0
  10. package/dist/cdn/JRAO6PCZ.js +4 -0
  11. package/dist/cdn/MD2Q6VMI.js +4 -0
  12. package/dist/cdn/RIRP5EI2.js +4 -0
  13. package/dist/cdn/SCUE6MNZ.js +4 -0
  14. package/dist/cdn/UA6DJCQB.js +6 -0
  15. package/dist/cdn/WL3L3PAG.js +4 -0
  16. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.ar.json +1 -1
  17. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.bg.json +1 -1
  18. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.bs.json +1 -1
  19. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.ca.json +1 -1
  20. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.cs.json +1 -1
  21. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.da.json +1 -1
  22. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.de.json +1 -1
  23. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.el.json +1 -1
  24. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.es.json +1 -1
  25. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.et.json +1 -1
  26. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.fi.json +1 -1
  27. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.fr.json +1 -1
  28. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.he.json +1 -1
  29. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.hr.json +1 -1
  30. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.hu.json +1 -1
  31. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.id.json +1 -1
  32. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.it.json +1 -1
  33. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.ja.json +1 -1
  34. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.ko.json +1 -1
  35. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.lt.json +1 -1
  36. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.lv.json +1 -1
  37. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.nl.json +1 -1
  38. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.no.json +1 -1
  39. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.pl.json +1 -1
  40. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.pt-BR.json +1 -1
  41. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.pt-PT.json +1 -1
  42. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.ro.json +1 -1
  43. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.ru.json +1 -1
  44. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.sk.json +1 -1
  45. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.sl.json +1 -1
  46. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.sr.json +1 -1
  47. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.sv.json +1 -1
  48. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.th.json +1 -1
  49. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.tr.json +1 -1
  50. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.uk.json +1 -1
  51. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.vi.json +1 -1
  52. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.zh-CN.json +1 -1
  53. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.zh-HK.json +1 -1
  54. package/dist/cdn/assets/portal-classification-favorite/t9n/messages.zh-TW.json +1 -1
  55. package/dist/cdn/assets/portal-extent-picker/t9n/messages.ar.json +1 -0
  56. package/dist/cdn/assets/portal-extent-picker/t9n/messages.bg.json +1 -0
  57. package/dist/cdn/assets/portal-extent-picker/t9n/messages.bs.json +1 -0
  58. package/dist/cdn/assets/portal-extent-picker/t9n/messages.ca.json +1 -0
  59. package/dist/cdn/assets/portal-extent-picker/t9n/messages.cs.json +1 -0
  60. package/dist/cdn/assets/portal-extent-picker/t9n/messages.da.json +1 -0
  61. package/dist/cdn/assets/portal-extent-picker/t9n/messages.de.json +1 -0
  62. package/dist/cdn/assets/portal-extent-picker/t9n/messages.el.json +1 -0
  63. package/dist/cdn/assets/portal-extent-picker/t9n/messages.en.json +1 -0
  64. package/dist/cdn/assets/portal-extent-picker/t9n/messages.es.json +1 -0
  65. package/dist/cdn/assets/portal-extent-picker/t9n/messages.et.json +1 -0
  66. package/dist/cdn/assets/portal-extent-picker/t9n/messages.fi.json +1 -0
  67. package/dist/cdn/assets/portal-extent-picker/t9n/messages.fr.json +1 -0
  68. package/dist/cdn/assets/portal-extent-picker/t9n/messages.he.json +1 -0
  69. package/dist/cdn/assets/portal-extent-picker/t9n/messages.hr.json +1 -0
  70. package/dist/cdn/assets/portal-extent-picker/t9n/messages.hu.json +1 -0
  71. package/dist/cdn/assets/portal-extent-picker/t9n/messages.id.json +1 -0
  72. package/dist/cdn/assets/portal-extent-picker/t9n/messages.it.json +1 -0
  73. package/dist/cdn/assets/portal-extent-picker/t9n/messages.ja.json +1 -0
  74. package/dist/cdn/assets/portal-extent-picker/t9n/messages.ko.json +1 -0
  75. package/dist/cdn/assets/portal-extent-picker/t9n/messages.lt.json +1 -0
  76. package/dist/cdn/assets/portal-extent-picker/t9n/messages.lv.json +1 -0
  77. package/dist/cdn/assets/portal-extent-picker/t9n/messages.nb.json +1 -0
  78. package/dist/cdn/assets/portal-extent-picker/t9n/messages.nl.json +1 -0
  79. package/dist/cdn/assets/portal-extent-picker/t9n/messages.no.json +1 -0
  80. package/dist/cdn/assets/portal-extent-picker/t9n/messages.pl.json +1 -0
  81. package/dist/cdn/assets/portal-extent-picker/t9n/messages.pt-BR.json +1 -0
  82. package/dist/cdn/assets/portal-extent-picker/t9n/messages.pt-PT.json +1 -0
  83. package/dist/cdn/assets/portal-extent-picker/t9n/messages.ro.json +1 -0
  84. package/dist/cdn/assets/portal-extent-picker/t9n/messages.ru.json +1 -0
  85. package/dist/cdn/assets/portal-extent-picker/t9n/messages.sk.json +1 -0
  86. package/dist/cdn/assets/portal-extent-picker/t9n/messages.sl.json +1 -0
  87. package/dist/cdn/assets/portal-extent-picker/t9n/messages.sr.json +1 -0
  88. package/dist/cdn/assets/portal-extent-picker/t9n/messages.sv.json +1 -0
  89. package/dist/cdn/assets/portal-extent-picker/t9n/messages.th.json +1 -0
  90. package/dist/cdn/assets/portal-extent-picker/t9n/messages.tr.json +1 -0
  91. package/dist/cdn/assets/portal-extent-picker/t9n/messages.uk.json +1 -0
  92. package/dist/cdn/assets/portal-extent-picker/t9n/messages.vi.json +1 -0
  93. package/dist/cdn/assets/portal-extent-picker/t9n/messages.zh-CN.json +1 -0
  94. package/dist/cdn/assets/portal-extent-picker/t9n/messages.zh-HK.json +1 -0
  95. package/dist/cdn/assets/portal-extent-picker/t9n/messages.zh-TW.json +1 -0
  96. package/dist/cdn/index.js +2 -2
  97. package/dist/cdn/main.css +1 -1
  98. package/dist/chunks/common.js +1 -1
  99. package/dist/chunks/fieldAddDelete.js +164 -151
  100. package/dist/chunks/loadClassificationData.js +1 -1
  101. package/dist/chunks/requests.js +2 -2
  102. package/dist/chunks/runtime.js +2 -2
  103. package/dist/chunks/useT9n.js +1 -1
  104. package/dist/components/arcgis-portal-classification-banner/customElement.js +2 -2
  105. package/dist/components/arcgis-portal-classification-config/customElement.d.ts +1 -1
  106. package/dist/components/arcgis-portal-classification-config/customElement.js +1 -1
  107. package/dist/components/arcgis-portal-classification-favorite/customElement.js +2 -2
  108. package/dist/components/arcgis-portal-classification-form-element/customElement.js +7 -7
  109. package/dist/components/arcgis-portal-extent-picker/customElement.d.ts +51 -0
  110. package/dist/components/arcgis-portal-extent-picker/customElement.js +553 -0
  111. package/dist/components/arcgis-portal-extent-picker/index.d.ts +8 -0
  112. package/dist/components/arcgis-portal-extent-picker/index.js +8 -0
  113. package/dist/components/arcgis-portal-extent-picker/mask-layer.d.ts +28 -0
  114. package/dist/components/arcgis-portal-extent-picker-coord-field/customElement.d.ts +26 -0
  115. package/dist/components/arcgis-portal-extent-picker-coord-field/customElement.js +60 -0
  116. package/dist/components/arcgis-portal-extent-picker-coord-field/index.d.ts +3 -0
  117. package/dist/components/arcgis-portal-extent-picker-coord-field/index.js +3 -0
  118. package/dist/components/arcgis-portal-field-delete/customElement.d.ts +4 -2
  119. package/dist/components/arcgis-portal-field-delete/customElement.js +60 -58
  120. package/dist/controllers/useClassificationModel.d.ts +1 -1
  121. package/dist/docs/api.json +301 -39
  122. package/dist/docs/docs.json +291 -12
  123. package/dist/docs/vscode.html-custom-data.json +33 -1
  124. package/dist/docs/web-types.json +131 -4
  125. package/dist/index.d.ts +27 -5
  126. package/dist/index.js +1 -1
  127. package/dist/loader.d.ts +1 -1
  128. package/dist/loader.js +6 -4
  129. package/dist/types/classification.d.ts +1 -1
  130. package/dist/types/components.d.ts +1 -1
  131. package/dist/types/lumina.d.ts +14 -5
  132. package/dist/types/preact.d.ts +15 -5
  133. package/dist/types/preact10.d.ts +16 -5
  134. package/dist/types/react.d.ts +16 -5
  135. package/dist/types/stencil.d.ts +14 -5
  136. package/dist/utils/commonFunctions.d.ts +2 -1
  137. package/dist/utils/style.d.ts +1 -0
  138. package/package.json +6 -6
  139. package/dist/cdn/2DYVQAC5.js +0 -4
  140. package/dist/cdn/AV752DNT.js +0 -4
  141. package/dist/cdn/BCVIEEK7.js +0 -4
  142. package/dist/cdn/BNHA7WX4.js +0 -6
  143. package/dist/cdn/EKVOI2PF.js +0 -4
  144. package/dist/cdn/MBAE27EC.js +0 -4
  145. package/dist/cdn/PFUTMEFJ.js +0 -4
  146. package/dist/cdn/WMPI3QY7.js +0 -4
  147. package/dist/cdn/XKTVUXPB.js +0 -4
@@ -1,126 +1,129 @@
1
- import * as I from "@arcgis/core/layers/support/fieldUtils.js";
2
- import Q from "@arcgis/core/layers/support/FeatureReductionBinning.js";
3
- import K from "@arcgis/core/layers/support/FeatureReductionCluster.js";
1
+ import * as p from "@arcgis/core/layers/support/fieldUtils.js";
2
+ import K from "@arcgis/core/layers/support/FeatureReductionBinning.js";
3
+ import _ from "@arcgis/core/layers/support/FeatureReductionCluster.js";
4
4
  import * as T from "@arcgis/core/renderers/support/jsonUtils.js";
5
- import v from "@arcgis/core/request.js";
6
- import * as L from "@arcgis/core/core/sql.js";
5
+ import L from "@arcgis/core/request.js";
6
+ import * as v from "@arcgis/core/core/sql.js";
7
7
  /*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
8
8
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
9
- v5.0.0-next.9 */
9
+ v5.0.0-next.91 */
10
10
  var b = /* @__PURE__ */ ((e) => (e.expression = "expression/", e.raster = "Raster.", e.relationship = "relationships/", e))(b || {});
11
+ const H = ["feature"];
12
+ function z(e) {
13
+ return "fieldConfigurations" in e && H.includes(e.type);
14
+ }
11
15
  function x(e) {
12
16
  return e != null;
13
17
  }
14
- function ge(e, t) {
15
- const r = e.fieldName;
16
- if (r.includes(b.expression)) {
17
- const i = t.get(r);
18
- return i?.title ? i.title : r;
19
- } else
20
- return e.label ? e.label : r;
18
+ function be(e, r, t) {
19
+ const i = r.fieldName;
20
+ if (i.includes(b.expression)) {
21
+ const s = t.get(i);
22
+ return s?.title ? s.title : i;
23
+ } else return z(e) && e.getFieldConfiguration(i) ? e.getFieldAlias(i) || i : r.label || i;
21
24
  }
22
- function ve(e, t, r) {
25
+ function Re(e, r, t) {
23
26
  let i = "";
24
27
  if (/^raster.(?:item|service)pixelvalue/iu.test(e))
25
28
  i = "number";
26
- else if (t.has(e)) {
27
- const s = t.get(e);
28
- i = s.type ? s.type.toLowerCase() : "";
29
- } else if (r.has(e)) {
29
+ else if (r.has(e)) {
30
30
  const s = r.get(e);
31
+ i = s.type ? s.type.toLowerCase() : "";
32
+ } else if (t.has(e)) {
33
+ const s = t.get(e);
31
34
  i = s.returnType ? s.returnType.toLowerCase() : "";
32
35
  } else
33
36
  i = "number";
34
37
  return i;
35
38
  }
36
- async function Le(e) {
39
+ async function xe(e) {
37
40
  return new Map(
38
- (await _(e)).filter((t) => t.visible).map((t) => [t.name, t])
41
+ (await X(e)).filter((r) => r.visible).map((r) => [r.name, r])
39
42
  );
40
43
  }
41
- function Oe(e) {
42
- const t = /* @__PURE__ */ new Map();
43
- return e?.expressionInfos && e.expressionInfos.forEach((r) => {
44
- const i = `${b.expression}${r.name}`;
45
- t.set(i, r);
46
- }), t;
44
+ function Te(e) {
45
+ const r = /* @__PURE__ */ new Map();
46
+ return e?.expressionInfos && e.expressionInfos.forEach((t) => {
47
+ const i = `${b.expression}${t.name}`;
48
+ r.set(i, t);
49
+ }), r;
47
50
  }
48
- async function _(e) {
49
- return await new Promise((t, r) => {
51
+ async function X(e) {
52
+ return await new Promise((r, t) => {
50
53
  switch (e.type) {
51
54
  case "feature":
52
55
  case "ogc-feature":
53
56
  case "stream":
54
- t(e.fields);
57
+ r(e.fields);
55
58
  break;
56
59
  case "sublayer": {
57
60
  const i = e, s = i?.layer;
58
61
  s?.portalItem && s.url.includes("https://demographics") && s.url.includes(".arcgis.com") ? s.portalItem?.fetchData().then((n) => {
59
62
  if (n?.thematicGroup) {
60
63
  const a = new Map(
61
- i.fields.map((l) => [l.name, l])
62
- ), u = n.thematicGroup.fieldNames, c = [];
63
- u.forEach((l) => {
64
- a.has(l) && c.push(a.get(l));
65
- }), t(c);
64
+ i.fields.map((d) => [d.name, d])
65
+ ), l = n.thematicGroup.fieldNames, c = [];
66
+ l.forEach((d) => {
67
+ a.has(d) && c.push(a.get(d));
68
+ }), r(c);
66
69
  } else
67
- t(i.fields);
70
+ r(i.fields);
68
71
  }).catch((n) => {
69
- r(new Error(n));
70
- }) : t(i.fields);
72
+ t(new Error(n));
73
+ }) : r(i.fields);
71
74
  break;
72
75
  }
73
76
  case "imagery":
74
77
  case "imagery-tile":
75
78
  case "wcs":
76
- t(e.rasterFields);
79
+ r(e.rasterFields);
77
80
  break;
78
81
  default:
79
- t("fields" in e ? e.fields ?? [] : []);
82
+ r("fields" in e ? e.fields ?? [] : []);
80
83
  }
81
84
  });
82
85
  }
83
- const H = (e) => e && !e.endsWith("/") ? `${e}/` : e;
86
+ const Y = (e) => e && !e.endsWith("/") ? `${e}/` : e;
84
87
  function O(e) {
85
- return H(e.restUrl);
88
+ return Y(e.restUrl);
86
89
  }
87
- function P(e, t) {
88
- return J(e, t) || z(e, t);
90
+ function P(e, r) {
91
+ return G(e, r) || Z(e, r);
89
92
  }
90
- function J(e, t) {
91
- return e.owner === t.username;
93
+ function G(e, r) {
94
+ return e.owner === r.username;
92
95
  }
93
- function z(e, t) {
94
- const r = e.owner, i = e.itemControl === "admin", s = ["esri_livingatlas", "esri_demographics", "esri_boundaries"];
95
- return e.portal?.isPortal && !J(e, t) && i && r?.includes("esri_") && // portal incorrectly returns "itemControl="admin" for esri owned items
96
- !s.includes(r) ? !1 : i;
96
+ function Z(e, r) {
97
+ const t = e.owner, i = e.itemControl === "admin", s = ["esri_livingatlas", "esri_demographics", "esri_boundaries"];
98
+ return e.portal?.isPortal && !G(e, r) && i && t?.includes("esri_") && // portal incorrectly returns "itemControl="admin" for esri owned items
99
+ !s.includes(t) ? !1 : i;
97
100
  }
98
- function X(e) {
101
+ function ee(e) {
99
102
  return e.typeKeywords?.includes("Spatiotemporal");
100
103
  }
101
- function N(e) {
104
+ function J(e) {
102
105
  return e.typeKeywords?.includes("View Service");
103
106
  }
104
- function E(e) {
107
+ function N(e) {
105
108
  return e.typeKeywords?.includes("Hosted Service");
106
109
  }
107
- function V(e) {
110
+ function E(e) {
108
111
  return e.typeKeywords?.includes("Multi Services View");
109
112
  }
110
- function D(e) {
113
+ function V(e) {
111
114
  return e?.hasViews && !e.sourceSchemaChangesAllowed;
112
115
  }
113
- async function G(e) {
114
- const t = e?.portalItem;
115
- if (!t)
116
+ async function D(e) {
117
+ const r = e?.portalItem;
118
+ if (!r)
116
119
  return await Promise.resolve(null);
117
- const r = t.portal;
118
- if (r?.user) {
119
- const i = `${O(r)}community/users/${r.user.username}`;
120
- return await v(i, {
120
+ const t = r.portal;
121
+ if (t?.user) {
122
+ const i = `${O(t)}community/users/${t.user.username}`;
123
+ return await L(i, {
121
124
  query: {
122
125
  f: "json",
123
- token: t.portal.credential?.token
126
+ token: r.portal.credential?.token
124
127
  },
125
128
  responseType: "json"
126
129
  }).then(
@@ -134,183 +137,192 @@ async function G(e) {
134
137
  return await Promise.resolve(null);
135
138
  }
136
139
  async function k(e) {
137
- const t = e?.portalItem;
138
- if (!t)
140
+ const r = e?.portalItem;
141
+ if (!r)
139
142
  return await Promise.resolve(null);
140
- const r = t.portal, i = `${O(r)}content/items/${t.id}/groups`;
141
- return await v(i, {
143
+ const t = r.portal, i = `${O(t)}content/items/${r.id}/groups`;
144
+ return await L(i, {
142
145
  query: {
143
146
  f: "json",
144
- token: t.portal.credential?.token
147
+ token: r.portal.credential?.token
145
148
  },
146
149
  responseType: "json"
147
150
  }).then(
148
151
  async (s) => {
149
- const n = s.data?.admin ?? [], a = s.data?.member ?? [], u = s.data?.other ?? [], c = [...n, ...a, ...u];
152
+ const n = s.data?.admin ?? [], a = s.data?.member ?? [], l = s.data?.other ?? [], c = [...n, ...a, ...l];
150
153
  return await Promise.resolve(c);
151
154
  },
152
155
  async () => await Promise.reject(new Error("Failed to fetch item groups"))
153
156
  );
154
157
  }
155
- async function j(e, t, { relationshipType: r, direction: i }) {
156
- const s = `${O(t)}content/items/${e}/relatedItems`;
157
- return await v(s, {
158
- query: { f: "json", relationshipType: r, direction: i },
158
+ async function C(e, r, { relationshipType: t, direction: i }) {
159
+ const s = `${O(r)}content/items/${e}/relatedItems`;
160
+ return await L(s, {
161
+ query: { f: "json", relationshipType: t, direction: i },
159
162
  responseType: "json"
160
163
  });
161
164
  }
162
- function A(e, t) {
165
+ function j(e, r) {
163
166
  return e?.some(
164
- (r) => t?.some(
165
- (i) => r.id === i.id && r.capabilities.includes("updateitemcontrol")
167
+ (t) => r?.some(
168
+ (i) => t.id === i.id && t.capabilities.includes("updateitemcontrol")
166
169
  )
167
170
  );
168
171
  }
169
- function o(e, t) {
170
- return !e || !t ? !1 : e.toLocaleLowerCase() === t.toLocaleLowerCase();
172
+ function o(e, r) {
173
+ return !e || !r ? !1 : e.toLocaleLowerCase() === r.toLocaleLowerCase();
171
174
  }
172
- async function be(e) {
173
- const t = ["feature", "oriented-imagery"].includes(e.type), r = e?.portalItem, i = e.sourceJSON;
174
- if (!t || !r)
175
+ async function Pe(e) {
176
+ const r = ["feature", "oriented-imagery"].includes(e.type), t = e?.portalItem, i = e.sourceJSON;
177
+ if (!r || !t)
175
178
  return !1;
176
- const s = r.portal;
177
- if (!s?.user || N(r) || !E(r) || V(r) || D(i))
179
+ const s = t.portal;
180
+ if (!s?.user || J(t) || !N(t) || E(t) || V(i))
178
181
  return !1;
179
- const l = P(r, s.user), w = await G(e) ?? [], F = await k(e) ?? [], f = A(w, F);
180
- if (!l && !f)
182
+ const d = P(t, s.user), I = await D(e) ?? [], F = await k(e) ?? [], f = j(I, F);
183
+ if (!d && !f)
181
184
  return !1;
182
- const m = await j(r.id, s, {
185
+ const h = await C(t.id, s, {
183
186
  relationshipType: "Service2Service"
184
187
  });
185
- return !(m?.data?.relatedItems && m.data.relatedItems.some(
188
+ return !(h?.data?.relatedItems && h.data.relatedItems.some(
186
189
  (S) => ["WMTS", "Map Service", "Vector Tile Service"].includes(S.type)
187
190
  ));
188
191
  }
189
- async function Re(e, t, r, i) {
190
- if (!r)
192
+ async function Ge(e, r, t, i) {
193
+ if (!t)
191
194
  return !1;
192
- const s = ["feature", "oriented-imagery"].includes(t.type), n = i?.item ?? t.portalItem, a = t.sourceJSON;
193
- if (!s || !n || !n.portal.user || !E(n) || N(n) || V(n) || D(a) || n.portal.isPortal && X(n) || ["oid", "global-id", "geometry"].includes(r.type))
195
+ const s = ["feature", "oriented-imagery"].includes(r.type), n = i?.item ?? r.portalItem, a = r.sourceJSON;
196
+ if (!s || !n || !n.portal.user || !N(n) || J(n) || E(n) || V(a) || n.portal.isPortal && ee(n) || ["oid", "global-id", "geometry"].includes(t.type) || await re(r, t.name, i))
194
197
  return !1;
195
- const m = t.sourceJSON.geometryProperties, y = m?.shapeLengthFieldName, S = m?.shapeAreaFieldName;
196
- if (o(y, r.name) || o(S, r.name))
198
+ const w = r.sourceJSON.geometryProperties, S = w?.shapeLengthFieldName, M = w?.shapeAreaFieldName;
199
+ if (o(S, t.name) || o(M, t.name))
197
200
  return !1;
198
- const g = t.editFieldsInfo;
199
- if (g && (o(g.creationDateField, r.name) || o(g.creatorField, r.name) || o(g.editDateField, r.name) || o(g.editorField, r.name)) || o(t.objectIdField, r.name) || o(t.displayField, r.name) || o(t.typeIdField, r.name) || o(t.subtypeField, r.name) || t.timeInfo && (o(t.timeInfo.startField, r.name) || o(t.timeInfo.endField, r.name) || o(t.timeInfo.trackIdField, r.name)))
201
+ const g = r.editFieldsInfo;
202
+ if (g && (o(g.creationDateField, t.name) || o(g.creatorField, t.name) || o(g.editDateField, t.name) || o(g.editorField, t.name)) || o(r.objectIdField, t.name) || o(r.displayField, t.name) || o(r.typeIdField, t.name) || o(r.subtypeField, t.name) || r.timeInfo && (o(r.timeInfo.startField, t.name) || o(r.timeInfo.endField, t.name) || o(r.timeInfo.trackIdField, t.name)))
200
203
  return !1;
201
- if (!i?.ignoreLayerRenderer && t.featureReduction) {
202
- const d = /* @__PURE__ */ new Set();
203
- if (await I.collectFeatureReductionFields(
204
- d,
205
- t,
206
- t.featureReduction
207
- ), Array.from(d).some(
208
- (h) => o(h, r.name)
204
+ if (!i?.ignoreLayerRenderer && r.featureReduction) {
205
+ const u = /* @__PURE__ */ new Set();
206
+ if (await p.collectFeatureReductionFields(
207
+ u,
208
+ r,
209
+ r.featureReduction
210
+ ), Array.from(u).some(
211
+ (y) => o(y, t.name)
209
212
  ))
210
213
  return !1;
211
214
  }
212
- if (!i?.ignoreLayerRenderer && (await I.getRendererFields(t.renderer, t.fieldsIndex)).some((h) => o(h, r.name)))
215
+ if (!i?.ignoreLayerRenderer && (await p.getRendererFields(r.renderer, r.fieldsIndex)).some((y) => o(y, t.name)))
213
216
  return !1;
214
217
  if (!i?.ignoreLayerLabelingInfo) {
215
- const d = t.labelingInfo?.map(
216
- (p) => p.labelExpressionInfo?.expression
218
+ const u = r.labelingInfo?.map(
219
+ (m) => m.labelExpressionInfo?.expression
217
220
  );
218
- if (d && ((await I.getExpressionFields(t, d)).some((q) => o(q, r.name)) || await U(t, r, "layer")))
221
+ if (u && ((await p.getExpressionFields(r, u)).some((Q) => o(Q, t.name)) || await A(r, t, "layer")))
219
222
  return !1;
220
223
  }
221
- if (!i?.ignoreLayerDefinitionExpression && t.definitionExpression && (await L.parseWhereClause(t.definitionExpression, t.fieldsIndex)).fieldNames.some((h) => o(h, r.name)) || await Z(t, r, i) || await ee(t, r))
224
+ if (!i?.ignoreLayerDefinitionExpression && r.definitionExpression && (await v.parseWhereClause(r.definitionExpression, r.fieldsIndex)).fieldNames.some((y) => o(y, t.name)) || await ie(r, t, i) || await se(r, t))
222
225
  return !1;
223
- if (await te(t, r))
226
+ if (await ne(r, t))
224
227
  return await Promise.resolve(!1);
225
- if (await re(t, r))
228
+ if (await ae(r, t))
226
229
  return await Promise.resolve(!1);
227
- if (Y(e, t, r) || t.relationships?.map((d) => d.keyField)?.some((d) => o(d, r.name)))
230
+ if (te(e, r, t) || r.relationships?.map((u) => u.keyField)?.some((u) => o(u, t.name)))
228
231
  return !1;
229
- const C = P(n, n.portal.user), $ = i?.userItemInfo?.userGroups ?? await G(t) ?? [], W = i?.userItemInfo?.itemGroups ?? await k(t) ?? [], B = A($, W);
230
- if (!C && !B)
232
+ const $ = P(n, n.portal.user), W = i?.userItemInfo?.userGroups ?? await D(r) ?? [], q = i?.userItemInfo?.itemGroups ?? await k(r) ?? [], B = j(W, q);
233
+ if (!$ && !B)
231
234
  return !1;
232
- const R = i?.userItemInfo?.relatedItems ?? await j(n.id, n.portal, {
235
+ const R = i?.userItemInfo?.relatedItems ?? await C(n.id, n.portal, {
233
236
  relationshipType: "Service2Service"
234
237
  });
235
238
  return !(R?.data?.relatedItems && R.data.relatedItems.some(
236
- (p) => ["WMTS", "Map Service", "Vector Tile Service"].includes(p.type)
239
+ (m) => ["WMTS", "Map Service", "Vector Tile Service"].includes(m.type)
237
240
  ));
238
241
  }
239
- function Y(e, t, r) {
242
+ async function re(e, r, t) {
243
+ const i = `${e.url}/${e.layerId}/fieldGroups`, s = t?.userItemInfo && "fieldGroups" in t.userItemInfo ? t.userItemInfo.fieldGroups : (await L(i, {
244
+ query: { f: "json" },
245
+ responseType: "json"
246
+ }))?.data?.fieldGroups;
247
+ return s ? s.some(
248
+ (a) => a.fields.some((l) => o(l, r))
249
+ ) : !1;
250
+ }
251
+ function te(e, r, t) {
240
252
  if (!e)
241
253
  return !1;
242
254
  const i = e.map?.applicationProperties?.viewing?.search;
243
255
  if (i) {
244
- const s = i.layers?.find((n) => n.id === t.id);
256
+ const s = i.layers?.find((n) => n.id === r.id);
245
257
  if (s) {
246
258
  const n = s?.field?.name;
247
259
  if (n)
248
- return o(n, r.name);
260
+ return o(n, t.name);
249
261
  }
250
262
  }
251
263
  return !1;
252
264
  }
253
- async function U(e, t, r) {
254
- const i = r === "layer" ? e.labelingInfo?.filter((a) => x(a.where)) : e.sourceJSON?.drawingInfo?.labelingInfo?.filter((a) => x(a.where));
265
+ async function A(e, r, t) {
266
+ const i = t === "layer" ? e.labelingInfo?.filter((a) => x(a.where)) : e.sourceJSON?.drawingInfo?.labelingInfo?.filter((a) => x(a.where));
255
267
  if (!i?.length)
256
268
  return !1;
257
269
  const s = [
258
270
  ...await Promise.all(
259
271
  i.map(
260
- async (a) => await L.parseWhereClause(a.where, e.fieldsIndex)
272
+ async (a) => await v.parseWhereClause(a.where, e.fieldsIndex)
261
273
  )
262
274
  )
263
275
  ];
264
276
  let n = !1;
265
277
  for (let a = 0; a < s.length; a++) {
266
- const u = s[a].fieldNames?.some((c) => o(c, t.name));
267
- if (!n && u) {
278
+ const l = s[a].fieldNames?.some((c) => o(c, r.name));
279
+ if (!n && l) {
268
280
  n = !0;
269
281
  break;
270
282
  }
271
283
  }
272
284
  return await Promise.resolve(n);
273
285
  }
274
- async function Z(e, t, r) {
286
+ async function ie(e, r, t) {
275
287
  const i = e.portalItem;
276
288
  if (!i)
277
289
  return !1;
278
- const s = `${O(i.portal)}content/items/${i.id}/data`, a = (r?.userItemInfo?.itemData ?? await v(s, {
290
+ const s = `${O(i.portal)}content/items/${i.id}/data`, a = (t?.userItemInfo?.itemData ?? await L(s, {
279
291
  query: { f: "json" },
280
292
  responseType: "json"
281
293
  }))?.data;
282
294
  if (!a)
283
295
  return !1;
284
296
  if (a?.layers) {
285
- const c = a.layers.find((f) => f.id === e.layerId), l = c?.layerDefinition?.drawingInfo?.renderer, w = c?.layerDefinition?.featureReduction, F = c?.layerDefinition?.definitionExpression;
286
- if (!l && !w && !F)
297
+ const c = a.layers.find((f) => f.id === e.layerId), d = c?.layerDefinition?.drawingInfo?.renderer, I = c?.layerDefinition?.featureReduction, F = c?.layerDefinition?.definitionExpression;
298
+ if (!d && !I && !F)
287
299
  return !1;
288
- if (!r?.ignoreItemRenderer && l) {
289
- const f = T.fromJSON(l);
290
- if ((await I.getRendererFields(f, e.fieldsIndex)).some((S) => o(S, t.name)))
300
+ if (!t?.ignoreItemRenderer && d) {
301
+ const f = T.fromJSON(d);
302
+ if ((await p.getRendererFields(f, e.fieldsIndex)).some((S) => o(S, r.name)))
291
303
  return !0;
292
304
  }
293
- if (!r?.ignoreItemFeatureReduction && w && await M(e, t, w) || F && (await L.parseWhereClause(F, e.fieldsIndex)).fieldNames.some((y) => o(y, t.name)))
305
+ if (!t?.ignoreItemFeatureReduction && I && await U(e, r, I) || F && (await v.parseWhereClause(F, e.fieldsIndex)).fieldNames.some((w) => o(w, r.name)))
294
306
  return !0;
295
307
  }
296
308
  return !1;
297
309
  }
298
- async function ee(e, t) {
299
- const r = e.sourceJSON, i = r?.drawingInfo?.renderer, s = r?.featureReduction;
310
+ async function se(e, r) {
311
+ const t = e.sourceJSON, i = t?.drawingInfo?.renderer, s = t?.featureReduction;
300
312
  if (!i && !s)
301
313
  return !1;
302
314
  if (i) {
303
315
  const n = T.fromJSON(i);
304
- if ((await I.getRendererFields(n, e.fieldsIndex)).some((c) => o(c, t.name)))
316
+ if ((await p.getRendererFields(n, e.fieldsIndex)).some((c) => o(c, r.name)))
305
317
  return !0;
306
318
  }
307
- return !!(s && await M(
319
+ return !!(s && await U(
308
320
  e,
309
- t,
321
+ r,
310
322
  s
311
323
  ));
312
324
  }
313
- async function te(e, t) {
325
+ async function ne(e, r) {
314
326
  const i = e.sourceJSON?.drawingInfo?.labelingInfo;
315
327
  if (!i)
316
328
  return await Promise.resolve(!1);
@@ -318,30 +330,31 @@ async function te(e, t) {
318
330
  (n) => n.labelExpressionInfo?.expression
319
331
  );
320
332
  if (s) {
321
- if ((await I.getExpressionFields(e, s)).some((c) => o(c, t.name)))
333
+ if ((await p.getExpressionFields(e, s)).some((c) => o(c, r.name)))
322
334
  return await Promise.resolve(!0);
323
- if (await U(e, t, "service"))
335
+ if (await A(e, r, "service"))
324
336
  return await Promise.resolve(!0);
325
337
  }
326
338
  return await Promise.resolve(!1);
327
339
  }
328
- async function re(e, t) {
340
+ async function ae(e, r) {
329
341
  const i = e.sourceJSON?.definitionQuery;
330
- return i ? (await L.parseWhereClause(i, e.fieldsIndex)).fieldNames.some((a) => o(a, t.name)) ? await Promise.resolve(!0) : await Promise.resolve(!1) : await Promise.resolve(!1);
342
+ return i ? (await v.parseWhereClause(i, e.fieldsIndex)).fieldNames.some((a) => o(a, r.name)) ? await Promise.resolve(!0) : await Promise.resolve(!1) : await Promise.resolve(!1);
331
343
  }
332
- async function M(e, t, r) {
333
- const i = r.type === "binning" ? Q.fromJSON(r) : K.fromJSON(r), s = /* @__PURE__ */ new Set();
334
- return await I.collectFeatureReductionFields(s, e, i), !!Array.from(s).some(
335
- (a) => o(a, t.name)
344
+ async function U(e, r, t) {
345
+ const i = t.type === "binning" ? K.fromJSON(t) : _.fromJSON(t), s = /* @__PURE__ */ new Set();
346
+ return await p.collectFeatureReductionFields(s, e, i), !!Array.from(s).some(
347
+ (a) => o(a, r.name)
336
348
  );
337
349
  }
338
350
  export {
339
- Re as a,
340
- Oe as b,
341
- be as c,
342
- ge as d,
351
+ Ge as a,
352
+ Te as b,
353
+ Pe as c,
354
+ be as d,
343
355
  O as e,
344
- ve as f,
345
- Le as g,
346
- x as i
356
+ Re as f,
357
+ xe as g,
358
+ x as i,
359
+ z as s
347
360
  };
@@ -6,7 +6,7 @@ import { makeAccessorController as C } from "@arcgis/lumina/controllers/accessor
6
6
  import { Task as v } from "@lit/task";
7
7
  /*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
8
8
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
9
- v5.0.0-next.9 */
9
+ v5.0.0-next.91 */
10
10
  var w = Object.defineProperty, g = Object.getOwnPropertyDescriptor, e = (i, a, s, t) => {
11
11
  for (var r = t > 1 ? void 0 : t ? g(a, s) : a, l = i.length - 1, c; l >= 0; l--)
12
12
  (c = i[l]) && (r = (t ? c(a, s, r) : c(r)) || r);
@@ -2,7 +2,7 @@ import n from "@arcgis/core/request.js";
2
2
  import { once as c } from "@arcgis/core/core/reactiveUtils.js";
3
3
  /*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
4
4
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
5
- v5.0.0-next.9 */
5
+ v5.0.0-next.91 */
6
6
  async function f(s, t) {
7
7
  const i = `${s}/portals/self/classification/classificationSchema`, e = {};
8
8
  try {
@@ -59,7 +59,7 @@ async function v(s, t) {
59
59
  const o = await n(e, { query: a, method: "post" });
60
60
  r.result = o.data.success;
61
61
  } catch (o) {
62
- console.error("error: ", o), r.error = o;
62
+ console.error(o), r.error = o;
63
63
  }
64
64
  return r;
65
65
  }
@@ -3,8 +3,8 @@ import { makeRuntime as e } from "@arcgis/lumina";
3
3
  import { trackAccess as s, createObservable as r, createTrackingTarget as a, runTracked as c } from "@arcgis/core/applications/Components/reactiveUtils.js";
4
4
  /*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
5
5
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
6
- v5.0.0-next.9 */
7
- const t = e({ defaultAssetPath: "https://jsdev.arcgis.com/next/portal-components/", hydratedAttribute: "hydrated" }), { customElement: n, getAssetPath: d, setAssetPath: i } = t;
6
+ v5.0.0-next.91 */
7
+ const t = e({ defaultAssetPath: "https://jsdev.arcgis.com/5.0.0-next/portal-components/", hydratedAttribute: "hydrated" }), { customElement: n, getAssetPath: d, setAssetPath: i } = t;
8
8
  t.t = s;
9
9
  t.o = r;
10
10
  t.c = a;
@@ -2,7 +2,7 @@ import { makeT9nController as o } from "@arcgis/lumina/controllers";
2
2
  import { g as t } from "./runtime.js";
3
3
  /*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
4
4
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
5
- v5.0.0-next.9 */
5
+ v5.0.0-next.91 */
6
6
  const s = o(t);
7
7
  export {
8
8
  s as u
@@ -5,8 +5,8 @@ import { u as f } from "../../chunks/useT9n.js";
5
5
  import { css as d, html as t } from "lit";
6
6
  /*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
7
7
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
8
- v5.0.0-next.9 */
9
- const m = d`.banner{box-sizing:border-box;width:100%;left:0;text-align:center;font-family:var(--calcite-font-family);background-color:#fff;color:#000;padding:var(--calcite-spacing-sm);font-size:var(--calcite-font-size);text-transform:uppercase;overflow-wrap:break-word}.invalid-container{background-color:#fff;color:#000;display:flex;align-items:center;justify-content:center;gap:8px}.invalid-icon{--calcite-ui-icon-color: var(--calcite-color-status-danger)}.invalid-message{text-align:center;font-family:var(--calcite-font-family);background-color:#fff;color:#000;padding:var(--calcite-spacing-sm);font-size:var(--calcite-font-size);overflow-wrap:break-word}`;
8
+ v5.0.0-next.91 */
9
+ const m = d`.banner{box-sizing:border-box;width:100%;left:0;text-align:center;font-family:var(--calcite-font-family);background-color:#fff;color:#000;padding:var(--calcite-spacing-sm);font-size:var(--calcite-font-size);text-transform:uppercase;overflow-wrap:break-word}.invalid-container{background-color:#fff;color:#000;display:flex;align-items:center;justify-content:center;gap:8px}.invalid-icon{--calcite-icon-color: var(--calcite-color-status-danger)}.invalid-message{text-align:center;font-family:var(--calcite-font-family);background-color:#fff;color:#000;padding:var(--calcite-spacing-sm);font-size:var(--calcite-font-size);overflow-wrap:break-word}`;
10
10
  class h extends r {
11
11
  constructor() {
12
12
  super(...arguments), this.classificationModel = c(this), this.messages = f(), this._classificationDataTask = n(this), this.portalClassificationSchema = this.classificationModel.portalClassificationSchema, this.status = this.classificationModel.status, this.missingExistingClassification = !1, this.variant = "full", this.autoDestroyDisabled = !1, this.validationErrors = "";
@@ -40,6 +40,6 @@ export declare class ArcgisPortalClassificationConfig extends LitElement {
40
40
  validateForm(): Promise<void>;
41
41
  /** Event emitted when component property values status, values, or valid change. */
42
42
  readonly arcgisPropertyChange: TargetedEvent<this, {
43
- name: "values" | "status" | "valid";
43
+ name: "values" | "valid" | "status";
44
44
  }>;
45
45
  }
@@ -13,7 +13,7 @@ import { watch as _ } from "@arcgis/core/core/reactiveUtils.js";
13
13
  import { r as D } from "../../chunks/requests.js";
14
14
  /*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
15
15
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
16
- v5.0.0-next.9 */
16
+ v5.0.0-next.91 */
17
17
  async function T({
18
18
  portalClassificationSchema: a,
19
19
  itemClassification: t
@@ -7,7 +7,7 @@ import { u as d, r as v } from "../../chunks/requests.js";
7
7
  import { g as h } from "../../chunks/common.js";
8
8
  /*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
9
9
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
10
- v5.0.0-next.9 */
10
+ v5.0.0-next.91 */
11
11
  const m = r`.select-favorite-label{display:flex;justify-content:space-between;align-items:center}.favorite-actions{display:flex;justify-content:flex-end;gap:1.5rem;align-items:center}.classification-favorite-dialog{--calcite-dialog-content-space: 0;--calcite-dialog-background-color: "var(--calcite-color-foreground-2)"}.save-new-favorite-button{display:flex;justify-content:flex-end;margin-top:.25rem;margin-bottom:1rem}.classification-favorite-item{display:flex;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--calcite-color-border-1)}.classification-favorite-list,.classification-favorite-input-section{margin:1.75rem 1rem}`;
12
12
  class C extends n {
13
13
  constructor() {
@@ -114,7 +114,7 @@ class C extends n {
114
114
  return this.newFavoriteClassificationName ? this.hasDuplicatedClassificationError ? this.messages.duplicatedClassificationError : "" : this.messages.emptyFavoriteError;
115
115
  }
116
116
  render() {
117
- return e`<div>${this.favoriteClassifications.length > 0 ? e`<div><calcite-label><div class="select-favorite-label">${this.messages.applyClassificationFavoriteLabel}<calcite-link @click=${() => this.showManageClassificationDialog = !0}>${this.messages.manageClassificationFavoriteBtn}</calcite-link></div><calcite-combobox label=select-calcite-combobox selection-mode=single .placeholder=${this.messages.selectFavoritePlaceholder} placeholder-icon=folder-star @calciteComboboxChange=${this.selectFavoriteClassification} .status=${this.hasUpdateError ? "invalid" : "idle"} .validationIcon=${this.hasUpdateError ? "exclamation-mark-triangle" : ""} .validationMessage=${this.hasUpdateError ? this.messages.updateWarning : ""}>${o(this.favoriteClassifications, ({ name: i }) => i, ({ name: i }) => e`<calcite-combobox-item .selected=${this.selectedFavoriteClassificationName === i} icon=folder-star .value=${i} .textLabel=${i}></calcite-combobox-item>`)}</calcite-combobox></calcite-label><div class="favorite-actions"><calcite-link icon-start=refresh @click=${this.updateFavoriteClassification}>${this.messages.updateClassificationFavoriteBtn}</calcite-link><calcite-link icon-start=star @click=${this.onOpenFavoriteClassificationModal}>${this.messages.saveNewClassificationBtn}</calcite-link></div></div>` : e`<div class="save-new-favorite-button"><calcite-link icon-start=folder-star @click=${this.onOpenFavoriteClassificationModal}>${this.messages.saveNewClassificationFavoriteBtn}</calcite-link></div>`}<calcite-dialog class="classification-favorite-dialog" overlay-positioning=fixed .heading=${this.messages.manageClassificationFavoriteLabel} .open=${this.showManageClassificationDialog} modal placement=center scale=m outside-close-disabled @calciteDialogClose=${() => this.showManageClassificationDialog = !1}><calcite-list class="classification-favorite-list" .label=${this.messages.classificationFavoriteListLabel ?? "Classification Favorite list label"} selection-appearance=border selection-mode=single-persist>${o(this.favoriteClassifications, ({ name: i }) => i, ({ name: i }) => e`<calcite-list-item .label=${i} .value=${i} class="classification-favorite-item"><div slot=content-end><calcite-icon icon=trash scale=s @click=${async () => await this.removeFavoriteClassification(i)}></calcite-icon></div></calcite-list-item>`)}</calcite-list><calcite-button slot=footer-end scale=l @click=${() => this.showManageClassificationDialog = !1}><div>${this.messages.favoriteClassificationBtnDone}</div></calcite-button></calcite-dialog><calcite-dialog class="classification-favorite-dialog" overlay-positioning=fixed .heading=${this.messages.addFavoriteDialogHeading} .open=${this.showSaveClassificationDialog} modal placement=center scale=m outside-close-disabled @calciteDialogClose=${() => this.showSaveClassificationDialog = !1}><calcite-label class="classification-favorite-input-section">${this.messages.addClassificationFavorite}<calcite-input id=classification-favorite-name name=classification-favorite-name scale=m .value=${this.newFavoriteClassificationName} @calciteInputInput=${this.changeFavoriteClassificationName} .status=${!this.newFavoriteClassificationName || this.hasDuplicatedClassificationError ? "invalid" : "idle"} validation-icon=exclamation-mark-triangle .validationMessage=${this.getValidationMessage()}></calcite-input></calcite-label><calcite-button scale=l slot=footer-end @click=${this.saveNewFavoriteClassification}>${this.messages.favoriteClassificationBtnDone}</calcite-button></calcite-dialog></div>`;
117
+ return e`<div>${this.favoriteClassifications.length > 0 ? e`<div><calcite-label><div class="select-favorite-label">${this.messages.applyClassificationFavoriteLabel}<calcite-link @click=${() => this.showManageClassificationDialog = !0}>${this.messages.manageClassificationFavoriteBtn}</calcite-link></div><calcite-combobox label=select-calcite-combobox selection-mode=single .placeholder=${this.messages.selectFavoritePlaceholder} placeholder-icon=folder-star @calciteComboboxChange=${this.selectFavoriteClassification} .status=${this.hasUpdateError ? "invalid" : "idle"} .validationIcon=${this.hasUpdateError ? "exclamation-mark-triangle" : void 0} .validationMessage=${this.hasUpdateError ? this.messages.updateWarning : ""}>${o(this.favoriteClassifications, ({ name: i }) => i, ({ name: i }) => e`<calcite-combobox-item .selected=${this.selectedFavoriteClassificationName === i} icon=folder-star .value=${i} .heading=${i}></calcite-combobox-item>`)}</calcite-combobox></calcite-label><div class="favorite-actions"><calcite-link icon-start=refresh @click=${this.updateFavoriteClassification}>${this.messages.updateClassificationFavoriteBtn}</calcite-link><calcite-link icon-start=star @click=${this.onOpenFavoriteClassificationModal}>${this.messages.saveNewClassificationBtn}</calcite-link></div></div>` : e`<div class="save-new-favorite-button"><calcite-link icon-start=folder-star @click=${this.onOpenFavoriteClassificationModal}>${this.messages.saveNewClassificationFavoriteBtn}</calcite-link></div>`}<calcite-dialog class="classification-favorite-dialog" overlay-positioning=fixed .heading=${this.messages.manageClassificationFavoriteLabel} .open=${this.showManageClassificationDialog} modal placement=center scale=m outside-close-disabled @calciteDialogClose=${() => this.showManageClassificationDialog = !1}><calcite-list class="classification-favorite-list" .label=${this.messages.classificationFavoriteListLabel ?? "Classification Favorite list label"} selection-appearance=border selection-mode=single-persist>${o(this.favoriteClassifications, ({ name: i }) => i, ({ name: i }) => e`<calcite-list-item .label=${i} .value=${i} class="classification-favorite-item"><div slot=content-end><calcite-icon icon=trash scale=s @click=${async () => await this.removeFavoriteClassification(i)}></calcite-icon></div></calcite-list-item>`)}</calcite-list><calcite-button slot=footer-end scale=l @click=${() => this.showManageClassificationDialog = !1}><div>${this.messages.favoriteClassificationBtnDone}</div></calcite-button></calcite-dialog><calcite-dialog class="classification-favorite-dialog" overlay-positioning=fixed .heading=${this.messages.addFavoriteDialogHeading} .open=${this.showSaveClassificationDialog} modal placement=center scale=m outside-close-disabled @calciteDialogClose=${() => this.showSaveClassificationDialog = !1}><calcite-label class="classification-favorite-input-section">${this.messages.addClassificationFavorite}<calcite-input id=classification-favorite-name name=classification-favorite-name scale=m .value=${this.newFavoriteClassificationName} @calciteInputInput=${this.changeFavoriteClassificationName} .status=${!this.newFavoriteClassificationName || this.hasDuplicatedClassificationError ? "invalid" : "idle"} validation-icon=exclamation-mark-triangle .validationMessage=${this.getValidationMessage()}></calcite-input></calcite-label><calcite-button scale=l slot=footer-end @click=${this.saveNewFavoriteClassification}>${this.messages.favoriteClassificationBtnDone}</calcite-button></calcite-dialog></div>`;
118
118
  }
119
119
  }
120
120
  c("arcgis-portal-classification-favorite", C);