@arcgis/portal-components 5.2.0-next.22 → 5.2.0-next.23

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 (56) hide show
  1. package/dist/cdn/2CP32LP3.js +2 -0
  2. package/dist/cdn/4PKNGQ3Q.js +2 -0
  3. package/dist/cdn/{MH7KZ5G3.js → 7ZLHVPFN.js} +1 -1
  4. package/dist/cdn/EZZ66WTI.js +3 -0
  5. package/dist/cdn/{TSLW4FSA.js → GDYQWDWB.js} +1 -1
  6. package/dist/cdn/{V2EOXGK2.js → I234NUZ5.js} +1 -1
  7. package/dist/cdn/{EHRAFAEA.js → IANXXLKE.js} +1 -1
  8. package/dist/cdn/IVD6XJNI.js +2 -0
  9. package/dist/cdn/LCZTOHWB.js +2 -0
  10. package/dist/cdn/NWIIOJEG.js +2 -0
  11. package/dist/cdn/PZJAY7AM.js +2 -0
  12. package/dist/cdn/R2ULEQSR.js +2 -0
  13. package/dist/cdn/RFZCHE7J.js +2 -0
  14. package/dist/cdn/SY6RBNVT.js +2 -0
  15. package/dist/cdn/U3FVMN32.js +2 -0
  16. package/dist/cdn/{47NPIL2S.js → W7JNOIYK.js} +1 -1
  17. package/dist/cdn/XDMQ36GP.js +2 -0
  18. package/dist/cdn/XPYGLVPT.js +2 -0
  19. package/dist/cdn/assets/portal-browser/t9n/messages.en.json +1 -0
  20. package/dist/cdn/index.js +1 -1
  21. package/dist/cdn/main.css +1 -1
  22. package/dist/chunks/dom.js +36 -0
  23. package/dist/chunks/functionalities.js +5 -4
  24. package/dist/chunks/ui.js +10 -0
  25. package/dist/components/arcgis-portal-browser/customElement.d.ts +85 -0
  26. package/dist/components/arcgis-portal-browser/customElement.js +210 -0
  27. package/dist/components/arcgis-portal-browser/index.d.ts +1 -0
  28. package/dist/components/arcgis-portal-browser/index.js +6 -0
  29. package/dist/components/arcgis-portal-browser/utils/store.d.ts +29 -0
  30. package/dist/components/arcgis-portal-browser/utils/types.d.ts +12 -0
  31. package/dist/components/arcgis-portal-browser-filter-status/customElement.d.ts +25 -0
  32. package/dist/components/arcgis-portal-browser-filter-status/customElement.js +55 -0
  33. package/dist/components/arcgis-portal-browser-filter-status/index.d.ts +1 -0
  34. package/dist/components/arcgis-portal-browser-filter-status/index.js +5 -0
  35. package/dist/components/arcgis-portal-group-card/customElement.js +2 -6
  36. package/dist/components/arcgis-portal-user-popup/customElement.js +90 -97
  37. package/dist/docs/api.json +1 -1
  38. package/dist/docs/docs.json +1 -1
  39. package/dist/docs/vscode.html-custom-data.json +1 -1
  40. package/dist/docs/web-types.json +1 -1
  41. package/dist/index.d.ts +20 -0
  42. package/dist/loader.js +2 -0
  43. package/dist/types/group.d.ts +13 -13
  44. package/dist/types/item.d.ts +77 -2
  45. package/dist/types/lumina.d.ts +13 -0
  46. package/dist/types/preact.d.ts +15 -0
  47. package/dist/types/react.d.ts +17 -0
  48. package/dist/types/search.d.ts +27 -0
  49. package/dist/types/stencil.d.ts +13 -0
  50. package/package.json +4 -4
  51. package/dist/cdn/2RGMWFHB.js +0 -2
  52. package/dist/cdn/3KS5IDT2.js +0 -2
  53. package/dist/cdn/EETBNQU2.js +0 -2
  54. package/dist/cdn/KT7PE6UE.js +0 -2
  55. package/dist/cdn/KY7Q7DH3.js +0 -2
  56. package/dist/cdn/VXCB2YBR.js +0 -3
@@ -1,6 +1,8 @@
1
1
  /// <reference types="../index.d.ts" />
2
2
  import type { ArcgisPortalAiAssistant } from "../components/arcgis-portal-ai-assistant/customElement.js";
3
3
  import type { ArcgisPortalAiAssistantInterrupt } from "../components/arcgis-portal-ai-assistant-interrupt/customElement.js";
4
+ import type { ArcgisPortalBrowser } from "../components/arcgis-portal-browser/customElement.js";
5
+ import type { ArcgisPortalBrowserFilterStatus } from "../components/arcgis-portal-browser-filter-status/customElement.js";
4
6
  import type { ArcgisPortalClassificationBanner } from "../components/arcgis-portal-classification-banner/customElement.js";
5
7
  import type { ArcgisPortalClassificationConfig } from "../components/arcgis-portal-classification-config/customElement.js";
6
8
  import type { ArcgisPortalClassificationFavorite } from "../components/arcgis-portal-classification-favorite/customElement.js";
@@ -27,6 +29,15 @@ interface LuminaArcgisPortalAiAssistantInterrupt extends Partial<Pick<ArcgisPort
27
29
  onarcgisSubmit?: EventHandler<ArcgisPortalAiAssistantInterrupt["arcgisSubmit"]>;
28
30
  }
29
31
 
32
+ interface LuminaArcgisPortalBrowser extends Partial<Pick<ArcgisPortalBrowser, "alwaysShowContent" | "alwaysShowPagination" | "alwaysShowSelection" | "formFactor" | "height" | "hideContentTop" | "hideFilters" | "hideTopBar" | "loading" | "panel" | "preview" | "rangeFormatter" | "response" | "searchTerm" | "selected" | "showPreSearch" | "store">>, h.JSX.HTMLAttributes<ArcgisPortalBrowser> {
33
+ onarcgisAriaUpdate?: EventHandler<ArcgisPortalBrowser["arcgisAriaUpdate"]>;
34
+ }
35
+
36
+ interface LuminaArcgisPortalBrowserFilterStatus extends Partial<Pick<ArcgisPortalBrowserFilterStatus, "browserWidth" | "componentWidth" | "filters" | "hiddenFilterIds" | "t9n">>, h.JSX.HTMLAttributes<ArcgisPortalBrowserFilterStatus> {
37
+ onarcgisBrowserFilterClear?: EventHandler<ArcgisPortalBrowserFilterStatus["arcgisBrowserFilterClear"]>;
38
+ onarcgisBrowserFilterRemove?: EventHandler<ArcgisPortalBrowserFilterStatus["arcgisBrowserFilterRemove"]>;
39
+ }
40
+
30
41
  interface LuminaArcgisPortalClassificationBanner extends Partial<Pick<ArcgisPortalClassificationBanner, "missingExistingClassification" | "portalItem" | "validationErrors" | "variant">>, h.JSX.HTMLAttributes<ArcgisPortalClassificationBanner> {
31
42
  }
32
43
 
@@ -102,6 +113,8 @@ declare module "@arcgis/lumina" {
102
113
  interface IntrinsicElements {
103
114
  "arcgis-portal-ai-assistant": LuminaArcgisPortalAiAssistant;
104
115
  "arcgis-portal-ai-assistant-interrupt": LuminaArcgisPortalAiAssistantInterrupt;
116
+ "arcgis-portal-browser": LuminaArcgisPortalBrowser;
117
+ "arcgis-portal-browser-filter-status": LuminaArcgisPortalBrowserFilterStatus;
105
118
  "arcgis-portal-classification-banner": LuminaArcgisPortalClassificationBanner;
106
119
  "arcgis-portal-classification-config": LuminaArcgisPortalClassificationConfig;
107
120
  "arcgis-portal-classification-favorite": LuminaArcgisPortalClassificationFavorite;
@@ -1,6 +1,8 @@
1
1
  /// <reference types="../index.d.ts" />
2
2
  import type { ArcgisPortalAiAssistant } from "../components/arcgis-portal-ai-assistant/customElement.js";
3
3
  import type { ArcgisPortalAiAssistantInterrupt } from "../components/arcgis-portal-ai-assistant-interrupt/customElement.js";
4
+ import type { ArcgisPortalBrowser } from "../components/arcgis-portal-browser/customElement.js";
5
+ import type { ArcgisPortalBrowserFilterStatus } from "../components/arcgis-portal-browser-filter-status/customElement.js";
4
6
  import type { ArcgisPortalClassificationBanner } from "../components/arcgis-portal-classification-banner/customElement.js";
5
7
  import type { ArcgisPortalClassificationConfig } from "../components/arcgis-portal-classification-config/customElement.js";
6
8
  import type { ArcgisPortalClassificationFavorite } from "../components/arcgis-portal-classification-favorite/customElement.js";
@@ -28,6 +30,15 @@ interface PreactArcgisPortalAiAssistantInterrupt extends Partial<Pick<ArcgisPort
28
30
  onarcgisSubmit?: EventHandler<ArcgisPortalAiAssistantInterrupt["arcgisSubmit"]>;
29
31
  }
30
32
 
33
+ interface PreactArcgisPortalBrowser extends Partial<Pick<ArcgisPortalBrowser, "alwaysShowContent" | "alwaysShowPagination" | "alwaysShowSelection" | "formFactor" | "height" | "hideContentTop" | "hideFilters" | "hideTopBar" | "loading" | "panel" | "preview" | "rangeFormatter" | "response" | "searchTerm" | "selected" | "showPreSearch" | "store">>, HTMLAttributes<ArcgisPortalBrowser> {
34
+ onarcgisAriaUpdate?: EventHandler<ArcgisPortalBrowser["arcgisAriaUpdate"]>;
35
+ }
36
+
37
+ interface PreactArcgisPortalBrowserFilterStatus extends Partial<Pick<ArcgisPortalBrowserFilterStatus, "browserWidth" | "componentWidth" | "filters" | "hiddenFilterIds" | "t9n">>, HTMLAttributes<ArcgisPortalBrowserFilterStatus> {
38
+ onarcgisBrowserFilterClear?: EventHandler<ArcgisPortalBrowserFilterStatus["arcgisBrowserFilterClear"]>;
39
+ onarcgisBrowserFilterRemove?: EventHandler<ArcgisPortalBrowserFilterStatus["arcgisBrowserFilterRemove"]>;
40
+ }
41
+
31
42
  interface PreactArcgisPortalClassificationBanner extends Partial<Pick<ArcgisPortalClassificationBanner, "missingExistingClassification" | "portalItem" | "validationErrors" | "variant">>, HTMLAttributes<ArcgisPortalClassificationBanner> {
32
43
  }
33
44
 
@@ -103,6 +114,8 @@ declare module 'preact' {
103
114
  interface IntrinsicElements {
104
115
  "arcgis-portal-ai-assistant": PreactArcgisPortalAiAssistant;
105
116
  "arcgis-portal-ai-assistant-interrupt": PreactArcgisPortalAiAssistantInterrupt;
117
+ "arcgis-portal-browser": PreactArcgisPortalBrowser;
118
+ "arcgis-portal-browser-filter-status": PreactArcgisPortalBrowserFilterStatus;
106
119
  "arcgis-portal-classification-banner": PreactArcgisPortalClassificationBanner;
107
120
  "arcgis-portal-classification-config": PreactArcgisPortalClassificationConfig;
108
121
  "arcgis-portal-classification-favorite": PreactArcgisPortalClassificationFavorite;
@@ -124,6 +137,8 @@ declare module 'preact' {
124
137
  interface IntrinsicElements {
125
138
  "arcgis-portal-ai-assistant": PreactArcgisPortalAiAssistant;
126
139
  "arcgis-portal-ai-assistant-interrupt": PreactArcgisPortalAiAssistantInterrupt;
140
+ "arcgis-portal-browser": PreactArcgisPortalBrowser;
141
+ "arcgis-portal-browser-filter-status": PreactArcgisPortalBrowserFilterStatus;
127
142
  "arcgis-portal-classification-banner": PreactArcgisPortalClassificationBanner;
128
143
  "arcgis-portal-classification-config": PreactArcgisPortalClassificationConfig;
129
144
  "arcgis-portal-classification-favorite": PreactArcgisPortalClassificationFavorite;
@@ -1,6 +1,8 @@
1
1
  /// <reference types="../index.d.ts" />
2
2
  import type { ArcgisPortalAiAssistant } from "../components/arcgis-portal-ai-assistant/customElement.js";
3
3
  import type { ArcgisPortalAiAssistantInterrupt } from "../components/arcgis-portal-ai-assistant-interrupt/customElement.js";
4
+ import type { ArcgisPortalBrowser } from "../components/arcgis-portal-browser/customElement.js";
5
+ import type { ArcgisPortalBrowserFilterStatus } from "../components/arcgis-portal-browser-filter-status/customElement.js";
4
6
  import type { ArcgisPortalClassificationBanner } from "../components/arcgis-portal-classification-banner/customElement.js";
5
7
  import type { ArcgisPortalClassificationConfig } from "../components/arcgis-portal-classification-config/customElement.js";
6
8
  import type { ArcgisPortalClassificationFavorite } from "../components/arcgis-portal-classification-favorite/customElement.js";
@@ -28,6 +30,15 @@ interface ReactArcgisPortalAiAssistantInterrupt extends Partial<Pick<ArcgisPorta
28
30
  onarcgisSubmit?: EventHandler<ArcgisPortalAiAssistantInterrupt["arcgisSubmit"]>;
29
31
  }
30
32
 
33
+ interface ReactArcgisPortalBrowser extends Partial<Pick<ArcgisPortalBrowser, "alwaysShowContent" | "alwaysShowPagination" | "alwaysShowSelection" | "formFactor" | "height" | "hideContentTop" | "hideFilters" | "hideTopBar" | "loading" | "panel" | "preview" | "rangeFormatter" | "response" | "searchTerm" | "selected" | "showPreSearch" | "store">>, HTMLProps<ArcgisPortalBrowser> {
34
+ onarcgisAriaUpdate?: EventHandler<ArcgisPortalBrowser["arcgisAriaUpdate"]>;
35
+ }
36
+
37
+ interface ReactArcgisPortalBrowserFilterStatus extends Partial<Pick<ArcgisPortalBrowserFilterStatus, "browserWidth" | "componentWidth" | "filters" | "hiddenFilterIds" | "t9n">>, HTMLProps<ArcgisPortalBrowserFilterStatus> {
38
+ onarcgisBrowserFilterClear?: EventHandler<ArcgisPortalBrowserFilterStatus["arcgisBrowserFilterClear"]>;
39
+ onarcgisBrowserFilterRemove?: EventHandler<ArcgisPortalBrowserFilterStatus["arcgisBrowserFilterRemove"]>;
40
+ }
41
+
31
42
  interface ReactArcgisPortalClassificationBanner extends Partial<Pick<ArcgisPortalClassificationBanner, "missingExistingClassification" | "portalItem" | "validationErrors" | "variant">>, HTMLProps<ArcgisPortalClassificationBanner> {
32
43
  }
33
44
 
@@ -103,6 +114,8 @@ declare module "react" {
103
114
  interface IntrinsicElements {
104
115
  "arcgis-portal-ai-assistant": ReactArcgisPortalAiAssistant;
105
116
  "arcgis-portal-ai-assistant-interrupt": ReactArcgisPortalAiAssistantInterrupt;
117
+ "arcgis-portal-browser": ReactArcgisPortalBrowser;
118
+ "arcgis-portal-browser-filter-status": ReactArcgisPortalBrowserFilterStatus;
106
119
  "arcgis-portal-classification-banner": ReactArcgisPortalClassificationBanner;
107
120
  "arcgis-portal-classification-config": ReactArcgisPortalClassificationConfig;
108
121
  "arcgis-portal-classification-favorite": ReactArcgisPortalClassificationFavorite;
@@ -126,6 +139,8 @@ declare module "react/jsx-runtime" {
126
139
  interface IntrinsicElements {
127
140
  "arcgis-portal-ai-assistant": ReactArcgisPortalAiAssistant;
128
141
  "arcgis-portal-ai-assistant-interrupt": ReactArcgisPortalAiAssistantInterrupt;
142
+ "arcgis-portal-browser": ReactArcgisPortalBrowser;
143
+ "arcgis-portal-browser-filter-status": ReactArcgisPortalBrowserFilterStatus;
129
144
  "arcgis-portal-classification-banner": ReactArcgisPortalClassificationBanner;
130
145
  "arcgis-portal-classification-config": ReactArcgisPortalClassificationConfig;
131
146
  "arcgis-portal-classification-favorite": ReactArcgisPortalClassificationFavorite;
@@ -149,6 +164,8 @@ declare module "react/jsx-dev-runtime" {
149
164
  interface IntrinsicElements {
150
165
  "arcgis-portal-ai-assistant": ReactArcgisPortalAiAssistant;
151
166
  "arcgis-portal-ai-assistant-interrupt": ReactArcgisPortalAiAssistantInterrupt;
167
+ "arcgis-portal-browser": ReactArcgisPortalBrowser;
168
+ "arcgis-portal-browser-filter-status": ReactArcgisPortalBrowserFilterStatus;
152
169
  "arcgis-portal-classification-banner": ReactArcgisPortalClassificationBanner;
153
170
  "arcgis-portal-classification-config": ReactArcgisPortalClassificationConfig;
154
171
  "arcgis-portal-classification-favorite": ReactArcgisPortalClassificationFavorite;
@@ -0,0 +1,27 @@
1
+ import type { SearchResultItem } from "./item.js";
2
+ import type { SearchResultUser } from "./user.js";
3
+
4
+ export interface SearchResult<T = SearchResultItem> {
5
+ nextStart: number;
6
+ num: number;
7
+ results: T[];
8
+ start: number;
9
+ total: number;
10
+ highlights?: SearchResultHighlight[];
11
+ queryParams?: unknown;
12
+ users?: SearchResultUser[];
13
+ q?: number | string;
14
+ }
15
+
16
+ export interface SearchResultHighlight {
17
+ /** item the highlight applies to */
18
+ id: string;
19
+ /**
20
+ * The below describes where the match was found,
21
+ * along with the matched term surrounded by <em></em>
22
+ * Not to judge too much but it's a pretty weird API.
23
+ */
24
+ "sublayers.fieldaliases"?: string[];
25
+ "sublayers.title"?: string[];
26
+ "sublayers.description"?: string[];
27
+ }
@@ -1,6 +1,8 @@
1
1
  /// <reference types="../index.d.ts" />
2
2
  import type { ArcgisPortalAiAssistant } from "../components/arcgis-portal-ai-assistant/customElement.js";
3
3
  import type { ArcgisPortalAiAssistantInterrupt } from "../components/arcgis-portal-ai-assistant-interrupt/customElement.js";
4
+ import type { ArcgisPortalBrowser } from "../components/arcgis-portal-browser/customElement.js";
5
+ import type { ArcgisPortalBrowserFilterStatus } from "../components/arcgis-portal-browser-filter-status/customElement.js";
4
6
  import type { ArcgisPortalClassificationBanner } from "../components/arcgis-portal-classification-banner/customElement.js";
5
7
  import type { ArcgisPortalClassificationConfig } from "../components/arcgis-portal-classification-config/customElement.js";
6
8
  import type { ArcgisPortalClassificationFavorite } from "../components/arcgis-portal-classification-favorite/customElement.js";
@@ -28,6 +30,15 @@ interface StencilArcgisPortalAiAssistantInterrupt extends Partial<Pick<ArcgisPor
28
30
  onArcgisSubmit?: EventHandler<ArcgisPortalAiAssistantInterrupt["arcgisSubmit"]>;
29
31
  }
30
32
 
33
+ interface StencilArcgisPortalBrowser extends Partial<Pick<ArcgisPortalBrowser, "alwaysShowContent" | "alwaysShowPagination" | "alwaysShowSelection" | "formFactor" | "height" | "hideContentTop" | "hideFilters" | "hideTopBar" | "loading" | "panel" | "preview" | "rangeFormatter" | "response" | "searchTerm" | "selected" | "showPreSearch" | "store">>, StencilJsx.HTMLAttributes<ArcgisPortalBrowser> {
34
+ onArcgisAriaUpdate?: EventHandler<ArcgisPortalBrowser["arcgisAriaUpdate"]>;
35
+ }
36
+
37
+ interface StencilArcgisPortalBrowserFilterStatus extends Partial<Pick<ArcgisPortalBrowserFilterStatus, "browserWidth" | "componentWidth" | "filters" | "hiddenFilterIds" | "t9n">>, StencilJsx.HTMLAttributes<ArcgisPortalBrowserFilterStatus> {
38
+ onArcgisBrowserFilterClear?: EventHandler<ArcgisPortalBrowserFilterStatus["arcgisBrowserFilterClear"]>;
39
+ onArcgisBrowserFilterRemove?: EventHandler<ArcgisPortalBrowserFilterStatus["arcgisBrowserFilterRemove"]>;
40
+ }
41
+
31
42
  interface StencilArcgisPortalClassificationBanner extends Partial<Pick<ArcgisPortalClassificationBanner, "missingExistingClassification" | "portalItem" | "validationErrors" | "variant">>, StencilJsx.HTMLAttributes<ArcgisPortalClassificationBanner> {
32
43
  }
33
44
 
@@ -101,6 +112,8 @@ interface StencilArcgisPortalVoiceInput extends Partial<Pick<ArcgisPortalVoiceIn
101
112
  interface ExposedElements {
102
113
  "arcgis-portal-ai-assistant": StencilArcgisPortalAiAssistant;
103
114
  "arcgis-portal-ai-assistant-interrupt": StencilArcgisPortalAiAssistantInterrupt;
115
+ "arcgis-portal-browser": StencilArcgisPortalBrowser;
116
+ "arcgis-portal-browser-filter-status": StencilArcgisPortalBrowserFilterStatus;
104
117
  "arcgis-portal-classification-banner": StencilArcgisPortalClassificationBanner;
105
118
  "arcgis-portal-classification-config": StencilArcgisPortalClassificationConfig;
106
119
  "arcgis-portal-classification-favorite": StencilArcgisPortalClassificationFavorite;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcgis/portal-components",
3
- "version": "5.2.0-next.22",
3
+ "version": "5.2.0-next.23",
4
4
  "description": "ArcGIS Portal Components",
5
5
  "keywords": [
6
6
  "ArcGIS",
@@ -47,9 +47,9 @@
47
47
  "marked": "~18.0.5",
48
48
  "tslib": "^2.8.1",
49
49
  "zod": "^4.3.6",
50
- "@arcgis/ai-components": "5.2.0-next.22",
51
- "@arcgis/lumina": "5.2.0-next.22",
52
- "@arcgis/toolkit": "5.2.0-next.22"
50
+ "@arcgis/toolkit": "5.2.0-next.23",
51
+ "@arcgis/lumina": "5.2.0-next.23",
52
+ "@arcgis/ai-components": "5.2.0-next.23"
53
53
  },
54
54
  "peerDependencies": {
55
55
  "@arcgis/core": "^5.2.0-next",
@@ -1,2 +0,0 @@
1
- /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{b as P}from"./QJ2UHWPU.js";import a from"./O3KBWLGU.js";import{a as E}from"./EKO6SVAF.js";import{n as v,s as g,t as C,x as w}from"./WJ2NMHDE.js";export default $arcgis.t(([j,{property:p,subclass:I},{on:Y,watch:M},{createObservable:D,trackAccess:O},{property:J,subclass:Q},z,{a:b,b:x}])=>{var A=(t,o)=>i=>U(i,t),u=class extends w{constructor(o,i){super(o),this.Y=new Map,this.A=void 0,this.#e=D();let e=this;e.#t=i,e.Z(),e.setProvisionalExports(S(o,new WeakRef(e),o.M.length-1,e.instance,e.Y),!1),g(o,r=>{if(r){let n=M(()=>o[r],s=>{if(s===e.instance)return;let c=e.instance;e.exports=s,e.instance=s,e.Y.forEach((d,m)=>o.requestUpdate(d,c[m])),e.#o&&c.destroy(),e.#o=!1},{sync:!0});e.onDestroy(n.remove)}},e.exports)}#o;#e;#t;get exports(){return O(this.#e),super.exports}set exports(o){super.exports=o,this.#e.notify()}Z(){let o=this;o.instance="prototype"in o.#t&&"declaredClass"in o.#t.prototype?new o.#t:o.#t(),o.#o=!0}hostConnected(){this.exports=this.instance}hostDestroy(){this.#o&&this.instance.destroy?.()}},U=E(u),S=(t,o,i,e,r)=>new Proxy(e,{get:(n,s)=>{let c=n[s];if(typeof s=="symbol"||r.has(s))return c;let d=t.M[i];return d.A=s,C(t,m=>{if(d.A=void 0,m!==void 0){let f=m.key;r.set(s,f);let h=t.constructor.getPropertyOptions(f),y=s!==f&&f.toLowerCase().includes("disable");$(o,h,s,f,y),h.i===void 0&&N(h,i,s,y)}},c)}}),$=(t,o,i,e,r,n)=>n=M(()=>{let s=t.deref();return s===void 0||s.component.manager.destroyed?n=n.remove():s.exports[i]},(s,c)=>{if(!n)return;t.deref().component?.requestUpdate(e,r?!c:c),o.c=!1},{sync:!0}),N=(t,o,i,e)=>{t.d.get=function(){let r=this.M[o]?.exports[i];return e?!r:r},t.d.set=function(r){let n=this.M[o];n.A!==i&&(n.exports[i]=e?!r:r)}};var L=Object.defineProperty,V=Object.getOwnPropertyDescriptor,l=(t,o,i,e)=>{for(var r=e>1?void 0:e?V(o,i):o,n=t.length-1,s;n>=0;n--)(s=t[n])&&(r=(e?s(o,i,r):s(r))||r);return e&&r&&L(o,i,r),r},a=class extends j{constructor(){super(...arguments),this.fetching=!1,this.status="idle",this.error=void 0,this.portalUrl=void 0,this._itemClassificationValidationErrors=new Map,this.fetchingPromise=new v}get primaryAttribute(){return this.portalClassificationSchema?.classificationMetadata.primaryAttribute}setPortalClassificationData({portalUrl:t,schema:o}){this.portalUrl=t,this.portalClassificationSchema=o,this.status="loaded",this.fetchingPromise.resolve(!0)}setFetching(t){this.fetching=t}async loadPortalClassificationData(t,{signal:o}){this.status="loading";let{result:i,error:e}=await b(t,o);if(e){e.name==="AbortError"?console.log("Request aborted."):(this.error=e,this.status="error",this.fetchingPromise.reject(e));return}else this.setPortalClassificationData({schema:i,portalUrl:t})}async validateClassification(t,o,i,e){if(!o)return"";let r=t?this._itemClassificationValidationErrors.get(t):void 0;if(r)return await r;let n=(async()=>{let{error:s}=await x(i,o,e??{});return s?s?.details.raw.messages.join(", "):""})();return t&&this._itemClassificationValidationErrors.set(t,n),t?await this._itemClassificationValidationErrors.get(t):await n}};l([p()],a.prototype,"portalClassificationSchema",2);l([p()],a.prototype,"fetching",2);l([p()],a.prototype,"status",2);l([p()],a.prototype,"error",2);l([p()],a.prototype,"portalUrl",2);l([p()],a.prototype,"_itemClassificationValidationErrors",2);a=l([I("custom.ClassificationModel")],a);var k;function _(t){return k??=new a(t),k}var at=A(_),ct=t=>new P(t,{task:async([o],{signal:i})=>{if(!o)throw new Error("Portal item is required to load classification data");if(o.loaded||await o.load({signal:i}),t.itemClassification=o.classification,t.classificationModel.status==="loading"&&await t.classificationModel.fetchingPromise.promise,!t.portalItem?.portal.hasClassificationSchema){t.classificationModel.setPortalClassificationData({portalUrl:o.portal.restUrl,schema:void 0});return}(t.classificationModel.status==="idle"||t.classificationModel.status==="loaded"&&t.classificationModel.portalUrl!==o.portal.restUrl)&&await t.classificationModel.loadPortalClassificationData(o.portal.restUrl,{signal:i})},args:()=>[t.portalItem]});return{a:at,b:ct}},"core/Accessor","core/accessorSupport/decorators","core/reactiveUtils","applications/Components/reactiveUtils","core/accessorSupport/decorators","core/Accessor",a)
@@ -1,2 +0,0 @@
1
- /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{a as B}from"./V2EOXGK2.js";import{a as F}from"./5VHBNEN3.js";import"./EKO6SVAF.js";import{I as y,J as $,K as C,L as p,N as l,Q as z,h as k,j as r,v as b}from"./WJ2NMHDE.js";import"./YIMNOUTF.js";var o={md:840,sm:580,xs:480,xxs:360},S=k`:host{display:block;min-width:0}.group-card{position:relative;display:flex;height:100%;flex-direction:column;color:var(--calcite-color-text-1);opacity:0;box-shadow:none;transition-duration:.15s;outline-color:transparent;background-color:var(--calcite-color-foreground-1);transition-property:background-color,outline,outline-offset,opacity;border:1px solid var(--calcite-color-border-3);&:focus{z-index:10;outline:2px solid var(--calcite-color-brand);outline-offset:-2px}}.group-card--loaded{opacity:1}.group-card--selected{border-color:var(--calcite-color-brand)}.group-card--hoverable{cursor:pointer}.group-card--disabled{opacity:.5}.group-card__top{padding:1rem}.group-card__upper{flex:1 1 0%;background-color:var(--calcite-color-foreground-1);transition:all var(--calcite-animation-timing) ease-in-out 0s,outline 0s,outline-offset 0s}.group-card__upper:hover{background-color:var(--calcite-color-background)}.group-card__upper--compact{display:flex;align-items:center;padding:.5rem .75rem}.group-card__upper--link{color:var(--calcite-color-text-1);text-decoration-line:none;outline-color:transparent;&:focus{z-index:10;outline:2px solid var(--calcite-color-brand);outline-offset:2px}}.group-card__title__span{position:relative;display:inline;border-style:none;background-color:transparent;padding:0;transition:all var(--calcite-animation-timing) ease-in-out 0s,outline 0s,outline-offset 0s;background-image:linear-gradient(transparent,transparent);background-position-x:0%,100%;background-position-y:min(1.25em,100%);background-repeat:no-repeat,no-repeat;background-size:100% 1px,100% 1px}.group-card--previewed .group-card__title__span{background-image:linear-gradient(var(--calcite-color-text-3),var(--calcite-color-text-3))}.group-card__content{display:flex;min-width:0;flex:1 1 0%;flex-direction:column}.group-card__details{display:flex;flex-direction:row;flex-wrap:wrap}.group-card__details--stacked{flex-direction:column}.group-card__detail{font-size:.875rem;color:var(--calcite-color-text-2)}.group-card__detail__icon{margin-inline-end:.5rem}.group-card__footer{margin-top:auto;display:flex;align-items:center;background-color:var(--calcite-color-foreground-1);padding:.5rem 1rem;border-top:1px solid var(--calcite-color-border-3)}.group-card__footer__start{display:flex;min-width:0;flex:1 1 0%;flex-direction:row;align-items:center;overflow:hidden;margin-inline-end:.75rem}.group-card__profile-wrap{max-width:100%;padding:.25rem}.group-card__divider{display:flex;align-items:center;flex:0 0 auto}.group-card__divider:not([empty]):before{content:"";height:1.25rem;width:1px;background-color:var(--calcite-color-border-1);margin-inline:.75rem}.group-card__details--stacked .group-card__divider:before{display:none}.group-card__divider:first-child:before{display:none}.group-card-flex{display:flex}.group-card-flex-1{min-width:0;flex:1 1 0%}.screen-readers-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.group-card__input{margin-inline-end:1rem;margin-top:.125rem}.group-card__title{margin:0;overflow-wrap:break-word;padding:0;font-size:1rem;font-weight:500;line-height:1.375}.group-card__title--compact{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-inline-end:1rem}.group-card__summary{margin:.25rem 0;flex:1 1 0%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0;font-size:.875rem;line-height:1.25}.group-card__thumbnail{margin-inline-end:1rem}.group-card__thumbnail--compact{width:2.75rem;height:2.75rem}.group-card__badges{margin-top:.25rem}.group-card__owner{min-width:0}.group-card--xs,.group-card--xxs{.group-card__top{padding:.75rem}.group-card__title--padded{margin-bottom:.25rem}.group-card__footer{padding:.25rem .75rem}.group-card__detail{margin:.25rem 0;font-size:.75rem;line-height:1.35}.group-card__title{font-size:.875rem}}.group-card--xxs{.group-card__thumbnail{padding-inline-start:.75rem;width:4.25rem}}.group-card--xs{.group-card__thumbnail{padding-inline-start:.5rem;width:5rem}}`,x=class extends C{constructor(){super(...arguments),this.messages=F({blocking:!0}),this.sectionEl=y(),this.resizeObserver=null,this.handleCardClick=e=>{if(!(this.link||this.disabled||e?.target?.closest(".group-card__footer"))){if(this.preview==="top"){this.arcgisGroupBrowserCardPreview.emit(this.group);return}if(this.selection==="single"){this.selected=!0,this.arcgisGroupCardSelect.emit({group:this.group,selected:!0});return}this.selection==="multiple"&&(this.selected=!this.selected,this.arcgisGroupCardSelect.emit({group:this.group,selected:this.selected}))}},this.formFactor="lg",this.width=0,this.hover=!1,this.selected=!1,this.indeterminate=!1,this.view="list",this.selection="none",this.previewed=!1,this.showOwner=!0,this.showDateUpdated=!0,this.showDateCreated=!1,this.showViewableBy=!0,this.showSummary=!1,this.showBadges=!0,this.newTab=!1,this.disabled=!1,this.arcgisGroupBrowserCardPreview=b(),this.arcgisGroupCardSelect=b(),this.arcgisGroupBrowserInternalUIAction=b(),this.loaded=!1}static{this.properties={formFactor:16,width:16,hover:16,group:0,user:0,portal:0,selected:7,indeterminate:7,view:1,selection:1,preview:1,previewed:5,name:1,showOwner:5,showDateUpdated:5,showDateCreated:5,showViewableBy:5,showSummary:5,showBadges:5,link:1,linkHandler:0,newTab:5,disabled:7,loaded:16}}static{this.styles=S}async restoreFocus(){if(this.link){this.renderRoot.querySelector(".group-card__upper")?.focus();return}this.preview==="top"&&this.sectionEl.value&&this.sectionEl.value.focus()}connectedCallback(){super.connectedCallback(),!(typeof ResizeObserver>"u")&&(this.resizeObserver=new ResizeObserver(e=>{let t=e[0]?.contentRect.width??0;this.updateFormFactor(t)}))}firstUpdated(){if(this.sectionEl.value&&this.resizeObserver){this.resizeObserver.observe(this.sectionEl.value);let e=this.sectionEl.value.getBoundingClientRect().width;this.updateFormFactor(e)}requestAnimationFrame(()=>{this.loaded=!0})}disconnectedCallback(){this.resizeObserver?.disconnect(),this.resizeObserver=null,super.disconnectedCallback()}updateFormFactor(e){if(this.width=e,e>o.md){this.formFactor="lg";return}if(e>o.sm){this.formFactor="md";return}if(e>o.xs){this.formFactor="sm";return}if(e>o.xxs){this.formFactor="xs";return}this.formFactor="xxs"}getAccessInfo(e){let{messages:t}=this,c={public:{icon:"globe",text:t.everyone},private:{icon:"lock",text:t.groupMembers},org:{icon:"organization",text:t.organization}};return c[e]??c.private}formatDate(e){return e?new Intl.DateTimeFormat(void 0,{dateStyle:"medium"}).format(e):""}getThumbnailGroup(e){return{id:e.id??void 0,thumbnailUrl:e.thumbnailUrl??void 0,title:e.title??void 0}}renderSelectionInput(){let{selection:e,selected:t,disabled:c,name:h,messages:_,group:a}=this;switch(e){case"single":return r`<calcite-radio-button class="group-card__input" .checked=${t} .disabled=${c} .value=${a.title??""} .name=${h} @click=${s=>s.stopPropagation()} @calciteRadioButtonChange=${()=>{this.arcgisGroupCardSelect.emit({group:a,selected:!t})}}><span class="screen-readers-only">${(_.select??"").replace("${title}",a.title??"")}</span></calcite-radio-button>`;case"multiple":return r`<calcite-checkbox class="group-card__input" .checked=${t} .disabled=${c} .indeterminate=${this.indeterminate} @click=${s=>s.stopPropagation()} @calciteCheckboxChange=${()=>{let s=!this.selected;this.selected=s,this.arcgisGroupCardSelect.emit({group:a,selected:s})}}><span class="screen-readers-only">${a.title}</span></calcite-checkbox>`;case"none":return null;default:return B(e)}}renderCompactView(){let{group:e,selection:t,formFactor:c,loaded:h,disabled:_,link:a,showBadges:s,newTab:m,linkHandler:d,handleCardClick:n,selected:u}=this,v=this.getThumbnailGroup(e);return r`<section class=${p({"group-card":!0,"group-card--hoverable":t!=="none","group-card--selected":u,"group-card--disabled":_,"group-card--loaded":h,[`group-card--${c}`]:!0})} @click=${a?void 0:n} @mouseover=${()=>{this.hover=!0}} @mouseout=${()=>{this.hover=!1}} ${$(this.sectionEl)}>${a?r`<a class="group-card__upper group-card__upper--compact group-card__upper--link" href=${a??l} target=${(m?"_blank":void 0)??l} rel=${(m?"noopener noreferrer":void 0)??l} @click=${g=>{d&&!g.ctrlKey&&!g.metaKey&&(g.preventDefault(),d(this.group))}}>${r`${this.renderSelectionInput()}<div class="group-card__thumbnail group-card__thumbnail--compact"><arcgis-portal-group-thumbnail .group=${v} .portal=${this.portal} scale=l></arcgis-portal-group-thumbnail></div><div class="group-card-flex-1"><h3 class="group-card__title group-card__title--compact"><span class="group-card__title__span">${e.title}</span></h3>${s&&r`<arcgis-portal-group-badges .group=${e} .portal=${this.portal} class="group-card__badges--compact" scale=s show-tooltips width=narrow></arcgis-portal-group-badges>`||""}</div><slot name=content-end></slot>`}</a>`:r`<div class="group-card__upper group-card__upper--compact">${this.renderSelectionInput()}<div class="group-card__thumbnail group-card__thumbnail--compact"><arcgis-portal-group-thumbnail .group=${v} .portal=${this.portal} scale=l></arcgis-portal-group-thumbnail></div><div class="group-card-flex-1"><h3 class="group-card__title group-card__title--compact"><span class="group-card__title__span">${e.title}</span></h3>${s&&r`<arcgis-portal-group-badges .group=${e} .portal=${this.portal} class="group-card__badges--compact" scale=s show-tooltips width=narrow></arcgis-portal-group-badges>`||""}</div><slot name=content-end></slot></div>`}</section>`}render(){let{group:e,selection:t,formFactor:c,loaded:h,disabled:_,link:a,showDateCreated:s,showDateUpdated:m,showSummary:d,showBadges:n}=this;if(!e||!this.messages._lang)return;if(this.view==="compact")return this.renderCompactView();let u=this.getAccessInfo(e.access??"private"),v=this.getThumbnailGroup(e),g=this.width<o.sm,f=this.preview==="top"&&!a,{previewed:D}=this;return r`<section class=${p({"group-card":!0,"group-card--hoverable":t!=="none","group-card--selected":this.selected,"group-card--disabled":_,"group-card--loaded":h,[`group-card--${c}`]:!0,"group-card--previewed":D})} @click=${a?void 0:this.handleCardClick} tabindex=${(f?0:void 0)??l} .role=${f?"button":void 0} aria-haspopup=${(f?"dialog":void 0)??l} @keydown=${i=>{f&&(i.key==="Enter"||i.key===" ")&&(i.preventDefault(),this.handleCardClick())}} ${$(this.sectionEl)}><slot name=content-top></slot>${a?r`<a class="group-card__upper group-card__upper--link" href=${this.link??l} target=${(this.newTab?"_blank":void 0)??l} rel=${(this.newTab?"noopener noreferrer":void 0)??l} @mouseover=${()=>{this.hover=!0}} @mouseout=${()=>{this.hover=!1}} @click=${i=>{if(this.linkHandler&&!i.ctrlKey&&!i.metaKey){i.preventDefault(),this.linkHandler(this.group);return}let w=i.target;w instanceof HTMLElement&&w.closest(".group-card__footer")&&i.preventDefault()}}>${r`<div class="group-card-flex group-card__top">${this.renderSelectionInput()}<div class="group-card__thumbnail"><arcgis-portal-group-thumbnail .group=${v} .portal=${this.portal} scale=xl></arcgis-portal-group-thumbnail></div><div class="group-card-flex-1"><div class="group-card-flex"><div class="group-card__content"><h3 class=${p({"group-card__title":!0,"group-card__title--padded":d&&!!e.snippet})}><span class="group-card__title__span">${e.title}</span></h3>${d&&!!e.snippet&&r`<p class="group-card__summary">${e.snippet.length>250?`${e.snippet.substring(0,250)}...`:e.snippet}</p>`||""}<div class=${p({"group-card__details":!0,"group-card__details--stacked":g})}>${s&&!!e.created&&r`<span class="group-card__detail group-card__divider">${(this.messages.created??"").replace("${date}",this.formatDate(e.created))}</span>`||""}${m&&!!e.modified&&r`<span class="group-card__detail group-card__divider">${(this.messages.lastUpdated??"").replace("${date}",this.formatDate(e.modified))}</span>`||""}${this.showViewableBy&&r`<span class="group-card__detail group-card__divider"><calcite-icon class="group-card__detail__icon" .icon=${u.icon} scale=s></calcite-icon>${(this.messages.viewableBy??"").replace("${level}",u.text)}</span>`||""}${n&&this.width>=o.sm&&r`<arcgis-portal-group-badges .appearance=${this.hover?"outline-fill":"solid"} .group=${e} .portal=${this.portal} .width=${this.width<o.md?"narrow":"full"} class="group-card__badges group-card__detail group-card__divider" scale=s show-tooltips></arcgis-portal-group-badges>`||""}</div>${n&&this.width<o.sm&&r`<arcgis-portal-group-badges .appearance=${this.hover?"outline-fill":"solid"} .group=${e} .portal=${this.portal} .width=${this.width<o.xxs?"narrow":"full"} class="group-card__badges" scale=s show-tooltips></arcgis-portal-group-badges>`||""}<slot name=content-end></slot></div></div></div></div>`}</a>`:r`<div class="group-card__upper" @mouseover=${()=>{this.hover=!0}} @mouseout=${()=>{this.hover=!1}}><div class="group-card-flex group-card__top">${this.renderSelectionInput()}<div class="group-card__thumbnail"><arcgis-portal-group-thumbnail .group=${v} .portal=${this.portal} scale=xl></arcgis-portal-group-thumbnail></div><div class="group-card-flex-1"><div class="group-card-flex"><div class="group-card__content"><h3 class=${p({"group-card__title":!0,"group-card__title--padded":d&&!!e.snippet})}><span class="group-card__title__span">${e.title}</span></h3>${d&&!!e.snippet&&r`<p class="group-card__summary">${e.snippet.length>250?`${e.snippet.substring(0,250)}...`:e.snippet}</p>`||""}<div class=${p({"group-card__details":!0,"group-card__details--stacked":g})}>${s&&!!e.created&&r`<span class="group-card__detail group-card__divider">${(this.messages.created??"").replace("${date}",this.formatDate(e.created))}</span>`||""}${m&&!!e.modified&&r`<span class="group-card__detail group-card__divider">${(this.messages.lastUpdated??"").replace("${date}",this.formatDate(e.modified))}</span>`||""}${this.showViewableBy&&r`<span class="group-card__detail group-card__divider"><calcite-icon class="group-card__detail__icon" .icon=${u.icon} scale=s></calcite-icon>${(this.messages.viewableBy??"").replace("${level}",u.text)}</span>`||""}${n&&this.width>=o.sm&&r`<arcgis-portal-group-badges .appearance=${this.hover?"outline-fill":"solid"} .group=${e} .portal=${this.portal} .width=${this.width<o.md?"narrow":"full"} class="group-card__badges group-card__detail group-card__divider" scale=s show-tooltips></arcgis-portal-group-badges>`||""}</div>${n&&this.width<o.sm&&r`<arcgis-portal-group-badges .appearance=${this.hover?"outline-fill":"solid"} .group=${e} .portal=${this.portal} .width=${this.width<o.xxs?"narrow":"full"} class="group-card__badges" scale=s show-tooltips></arcgis-portal-group-badges>`||""}<slot name=content-end></slot></div></div></div></div></div>`}<div class="group-card__footer"><div class="group-card__footer__start"><slot name=actions-start></slot>${this.showOwner&&r`<div class="group-card__profile-wrap"><arcgis-portal-user-popup class="group-card__owner" .portal=${this.portal} .username=${e.owner??void 0} underline @arcgisUserPopupInternalUIAction=${({detail:i,stopPropagation:w})=>{w(),this.arcgisGroupBrowserInternalUIAction.emit(i)}}></arcgis-portal-user-popup></div>`||""}</div><div>${this.preview==="action"&&r`<calcite-button scale=s appearance=outline-fill kind=neutral @click=${()=>{this.arcgisGroupBrowserCardPreview.emit(this.group)}}>${this.previewed?this.messages.hidePreview:this.messages.preview}</calcite-button>`||""}<div @click=${i=>{i.stopPropagation()}}><slot name=actions-end></slot></div></div></div></section>`}};z("arcgis-portal-group-card",x);export{x as ArcgisPortalGroupCard};
@@ -1,2 +0,0 @@
1
- /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import b from"./2RGMWFHB.js";import"./QJ2UHWPU.js";import a from"./O3KBWLGU.js";import{a as f}from"./5VHBNEN3.js";import"./EKO6SVAF.js";import{K as n,M as c,Q as l,h as e,j as s,p as o}from"./WJ2NMHDE.js";import"./YIMNOUTF.js";export default $arcgis.t(([,{a:d,b:h}])=>{var p=e`.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}`,r=class extends n{constructor(){super(...arguments),this.classificationModel=d(this),this.messages=f(),this._classificationDataTask=h(this),this.portalClassificationSchema=this.classificationModel.portalClassificationSchema,this.status=this.classificationModel.status,this.missingExistingClassification=!1,this.variant="full",this.autoDestroyDisabled=!1,this.validationErrors=""}static{this.properties={portalClassificationSchema:16,status:16,itemClassification:16,portalItem:0,missingExistingClassification:5,variant:1,autoDestroyDisabled:5,validationErrors:1}}static{this.styles=p}async destroy(){await this.manager.destroy()}willUpdate(a){if(a.has("portalItem")){let{portalItem:i}=this;i?.load().then(()=>{i?.id&&i?.loaded&&i?.classification&&!this.missingExistingClassification?this.classificationModel.validateClassification(this.variant==="preview"?null:i.id,i.classification,i?.portal.restUrl).catch(o(this)).then(t=>{this.validationErrors=t??""}):this.validationErrors=""}).catch(o(this))}}getStyle(){let a={};if(this.variant==="preview"&&(a.fontSize="var(--calcite-font-size-sm)",a.padding="var(--calcite-spacing-xs)"),this.itemClassification&&this.portalClassificationSchema){let i=this.itemClassification.classification,t=this.portalClassificationSchema.classificationMetadata.classificationValueProperties.find(({value:m})=>m===i);t?.backgroundColor&&(a.backgroundColor=t.backgroundColor),t?.textColor&&(a.color=t.textColor)}return a}render(){return this._classificationDataTask.render({pending:void 0,error:void 0,complete:()=>this.portalClassificationSchema&&this.portalItem?.portal.authMode!=="anonymous"?this.validationErrors&&this.variant==="full"?s`<div class="invalid-container"><calcite-icon class="invalid-icon" scale=s icon=exclamation-mark-triangle .textLabel=${this.messages.invalidclassificationerror}></calcite-icon><span class="invalid-message">${this.messages.invalidclassificationerror}</span></div>`:s`<div class="banner" style=${c(this.getStyle())}>${this.itemClassification?.banner??this.messages.notyetclassified??"Not yet classified"}</div>`:""})}};l("arcgis-portal-classification-banner",r);return r},a,b)
@@ -1,2 +0,0 @@
1
- /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import b from"./WSNLUGEP.js";import a from"./HMBSJR37.js";import"./6W2IHKCA.js";import{c as R}from"./EKO6SVAF.js";import{B as M,C as S,F as E,I as P,J as g,K as D,L as v,Q as L,h as k,j as d,l as A,v as u}from"./WJ2NMHDE.js";import"./YIMNOUTF.js";export default $arcgis.t(([{a:O,d:U},{a:x,d:_}])=>{var F=(a,e=100)=>{let s;return(...n)=>{let i=()=>{clearTimeout(s),a(...n)};clearTimeout(s),s=setTimeout(i,e)}};var q=M(class extends S{constructor(){super(...arguments),this.key=A}render(a,e){return this.key=a,e}update(a,[e,s]){return e!==this.key&&(E(a),this.key=e),s}});var y=["@","#","$"],V=400;function Q(a,e){let s=null;for(let n of e){let i=n.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),r=new RegExp(`${i}"([^"\\n]*)"?$`,"u"),t=a.match(r);if(t){let c=t[0],l=a.length-c.length,h=t[1]??"";(!s||l>s.startIndex)&&(s={starter:n,mentionText:c,query:h,startIndex:l})}let o=new RegExp(`${i}[\\p{L}\\p{N}_-]+$`,"u"),m=a.match(o);if(m){let c=m[0],l=a.length-c.length,h=c.slice(n.length);(!s||l>s.startIndex)&&(s={starter:n,mentionText:c,query:h,startIndex:l})}}return s}var N=a=>y.includes(a)?a:"@",G=R(a=>{let e=[],s=async r=>await x({requester:async()=>await U(a.portal,r,{num:3}),key:"items",id:r}),n=async r=>await x({requester:async()=>await O(a.portal,{query:`title:${r}`,num:3}),key:"groups",id:r}),i=F(async(r,t)=>{a.isFetchingEntities=!0;let o=r.toLowerCase();switch(N(t)){case"@":let m=10;a.filteredItemsInfo={type:"user",items:e.filter(h=>h.username?.toLowerCase().includes(o)||h.fullName?.toLowerCase().includes(o)).slice(0,m)};break;case"#":let{result:c}=await s(o);a.filteredItemsInfo={type:"item",items:c?.results??[]};break;case"$":let{results:l}=await n(o);a.filteredItemsInfo={type:"group",items:l};break}(a.filteredItemsInfo?.items?.length??0)===0&&await a.closePopover(),a.isFetchingEntities=!1},V);return{fetchUsers:async()=>{try{let{users:r}=await _(a.portal);e=r??[]}catch(r){e=[],console.error("error fetching org users:",r)}},filterItems:i,getItemText:(r,t)=>{let o="";switch(N(t)){case"@":o=r.username;break;case"#":o=r.title??"";break;case"$":o=r.title??"";break}return o.trim()}}}),$=({id:a,label:e,selected:s,description:n,contentStart:i,onSelect:r})=>q(a,d`<calcite-list-item class=${v({selected:s})} .label=${e} .description=${n} .selected=${s} @pointerdown=${async t=>{t.preventDefault(),t.stopPropagation(),await r()}} ${g(t=>{s&&t&&t.scrollIntoView({block:"nearest",behavior:"smooth"})})}>${i}</calcite-list-item>`),j=k`.selected{--calcite-list-background-color: var(--calcite-color-foreground-2)}.mentionable-list{max-height:13rem;overflow-y:auto;padding:.25rem;width:min(100vw,24rem)}.mentionable-list--loading{min-height:10rem}`,w=class extends D{constructor(){super(...arguments),this.calciteTextAreaRef=P(),this.mentionableEntityController=G(this),this.handleInput=e=>{let{bubbleNewValueChange:s,checkForMention:n}=this,i=e.target.value;this._value=i,s(this._value);let r=this.nativeTextAreaRef?.selectionStart??0;n(i,r)},this.handleKeyDown=e=>{if(!this.popoverOpen){this.arcgisUserMentionableTextAreaKeyDown.emit(e),this.arcgisMentionableTextAreaKeyDown.emit(e);return}switch(e.key){case"ArrowDown":e.preventDefault(),this.selectedItemIndex=Math.min(this.selectedItemIndex+1,this.filteredItems.length-1);break;case"ArrowUp":e.preventDefault(),this.selectedItemIndex=Math.max(this.selectedItemIndex-1,0);break;case"Enter":e.preventDefault(),this.selectItem(this.filteredItems[this.selectedItemIndex]);break;case"Escape":e.preventDefault(),this.closePopover.bind(this)();break}},this.handleClosePopover=()=>{this.popoverOpen=!1,this.currentMentionQuery="",this.selectedItemIndex=0,this.currentStarter=null},this.bubbleNewValueChange=e=>{this.arcgisUserMentionableTextAreaChange.emit(e),this.arcgisMentionableTextAreaChange.emit(e)},this.checkForMention=(e,s)=>{let n=e.substring(0,s),i=Q(n,this.starters??y);if(i){let{starter:r}=i;this.currentStarter=r,this.filterMentionItems(i),this.popoverOpen=!0;return}this.handleClosePopover()},this.filterMentionItems=e=>{let{mentionText:s,query:n,starter:i,startIndex:r}=e;this.currentMentionQuery=s,this.mentionStartPosition=r;let t=n.toLowerCase();this.mentionableEntityController.filterItems(t,i),this.selectedItemIndex=0},this.popoverOpen=!1,this.currentMentionQuery="",this.mentionStartPosition=0,this.selectedItemIndex=0,this.currentStarter=null,this._value="",this.filteredItemsInfo=null,this.isFetchingEntities=!1,this.popoverPlacement="bottom-start",this.disabled=!1,this.scale="m",this.rows=3,this.starters=y,this.readOnly=!1,this.arcgisMentionableSelectedIndexChange=u(),this.arcgisMentionableTextAreaChange=u(),this.arcgisMentionableTextAreaKeyDown=u(),this.arcgisUserMentionableTextAreaChange=u(),this.arcgisUserMentionableTextAreaKeyDown=u(),this.renderItemInfo=()=>{let{filteredItemsInfo:e,selectedItemIndex:s,portal:n}=this;if(!e)return null;let{items:i,type:r}=e;switch(r){case"user":return i.map((t,o)=>$({id:t.id,label:`@${t.username}`,description:t.fullName,selected:o===s,contentStart:d`<arcgis-portal-user-avatar slot=content-start .user=${t} .portal=${n} scale=m></arcgis-portal-user-avatar>`,onSelect:async()=>await this.selectItem(t)}));case"item":return i.map((t,o)=>$({id:t.id??`item-${o}`,label:`#${t.title}`,description:t.id??void 0,selected:o===s,onSelect:async()=>await this.selectItem(t),contentStart:d`<calcite-avatar slot=content-start .fullName=${t.title??void 0} .thumbnail=${t.thumbnailUrl??void 0} scale=m></calcite-avatar>`}));case"group":return i.map((t,o)=>$({id:t.id??`group-${o}`,label:`${t.title}`,description:t.id??void 0,selected:o===s,onSelect:async()=>await this.selectItem(t),contentStart:d`<calcite-avatar slot=content-start .fullName=${t.title??void 0} .thumbnail=${t.thumbnailUrl??void 0} scale=m></calcite-avatar>`}))}}}static{this.properties={popoverOpen:16,currentMentionQuery:16,mentionStartPosition:16,selectedItemIndex:16,currentStarter:16,_value:16,filteredItemsInfo:16,isFetchingEntities:16,popoverListLabel:1,popoverPlacement:1,disabled:5,portal:0,user:0,scale:1,value:1,maxLength:9,rows:9,starters:0,placeholder:1,readOnly:5}}static{this.styles=j}get filteredItems(){return this.filteredItemsInfo?.items??[]}async closePopover(){this.handleClosePopover()}async focusTextArea(){await this.calciteTextAreaRef.value?.setFocus()}async selectItem(e){let{currentStarter:s,_value:n,mentionStartPosition:i,currentMentionQuery:r,handleClosePopover:t,calciteTextAreaRef:o,nativeTextAreaRef:m,bubbleNewValueChange:c}=this;if(!e||!s)return;let l=this.mentionableEntityController.getItemText(e,s).replaceAll('"',"").trim(),h=/\s/u.test(l)?`${s}"${l}"`:`${s}${l}`,f=(n??"").substring(0,i),p=(n??"").substring(i+r.length),I=`${f}${h} ${p}`;this._value=I,c(this._value);let b=i+h.length+1;t(),await this.updateComplete,o.value?.setFocus(),m&&(m.selectionEnd=b)}willUpdate(e){e.has("value")&&(this._value=this.value??""),e.has("selectedItemIndex")&&this.arcgisMentionableSelectedIndexChange.emit(this.selectedItemIndex)}loaded(){this.updateComplete.then(()=>{let e=this.calciteTextAreaRef.value?.shadowRoot?.querySelector("textarea");e&&(this.nativeTextAreaRef=e)}),this.mentionableEntityController.fetchUsers()}render(){let{popoverPlacement:e,scale:s,_value:n,maxLength:i,rows:r,placeholder:t,readOnly:o,popoverOpen:m,closePopover:c,handleInput:l,handleKeyDown:h,disabled:f,isFetchingEntities:p,filteredItemsInfo:I,renderItemInfo:b,popoverListLabel:T}=this,C=this.calciteTextAreaRef.value,K=I?.items??[];return d`<calcite-text-area .placeholder=${t} .value=${n} .maxLength=${i} .rows=${r} .scale=${s} .readOnly=${o} .disabled=${f} @blur=${c} @calciteTextAreaInput=${l} @keydown=${h} ${g(this.calciteTextAreaRef)}></calcite-text-area>${C&&d`<calcite-popover .open=${m} .placement=${e} class="mention-popover" .label=${T} .referenceElement=${C} trigger-disabled pointer-disabled focus-trap-disabled><div class=${v({"mentionable-list":!0,"mentionable-list--loading":p})}>${p&&d`<calcite-scrim .loading=${p}></calcite-scrim>`||""}${K.length>0&&d`<calcite-list .label=${T}>${b()}</calcite-list>`||""}</div></calcite-popover>`||""}`}};L("arcgis-portal-mentionable-text-area",w);return w},a,b)
@@ -1,2 +0,0 @@
1
- /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import e from"./2RGMWFHB.js";import{a as S,b as P}from"./QJ2UHWPU.js";import c from"./Q75EBGI2.js";import a from"./O3KBWLGU.js";import{a as I}from"./5VHBNEN3.js";import{b as v,f as E}from"./EKO6SVAF.js";import{I as d,J as m,K as b,N as C,Q as y,h as g,j as n}from"./WJ2NMHDE.js";import"./YIMNOUTF.js";export default $arcgis.t(([{createArcadeExecutor:F},{watch:q},{c:w},{a:f,b:c,c:p,d:R,e:_,f:O},{a:x,b:$}])=>{async function k({portalClassificationSchema:r,itemClassification:t}){let i=Object.entries(r.attributes).map(async([e])=>{let s=await T(e,r,t);return{[e]:{enabled:s}}}),a=await Promise.all(i);return Object.assign({},...a)}async function T(r,t,i){let a=t?.attributes?.[r];if(!a)return!1;let{isAttributeEnabled:e}=a;return e?await h(e,JSON.stringify(t),i):!0}async function j({portalClassificationSchema:r,itemClassification:t}){let i=Object.entries(r.attributes).map(async([e])=>{let s=await M(e,r,t);return{[e]:{valueExpressionResult:s}}}),a=await Promise.all(i);return Object.assign({},...a)}async function M(r,t,i){let a=t.attributes[r];if(!a)throw Error(`Attribute ${r} not found in schema`);let e=a.valueExpression,s=a.validValues,o=a.validValuesMap;return s?.length?s:o&&Object.keys(o)?.length?o:e?await h(e,t,i,r):null}async function N({portalClassificationSchema:r,itemClassification:t}){let i=Object.entries(r.attributes).map(async([e])=>{let s=await H(e,r,t);return{[e]:{attributeValidationResult:s}}}),a=await Promise.all(i);return Object.assign({},...a)}async function H(r,t,i){let a=t?.attributes?.[r];if(!a)return null;let e=a?.attributeValidation;return e?await h(e,JSON.stringify(t),i,r):null}var D=async(r,t)=>{let i=r?.bannerExpression;return i?.length?await h(i,r,t):W(r,t)},W=(r,t)=>{let i=Object.entries(r.attributes).sort(([,s],[,o])=>(s?.bannerOrder??0)-(o?.bannerOrder??0)),a=[],e=[];return i.forEach(([s,o])=>{let l=t?.[s];l&&o.bannerOrder&&(a.push(U({elementType:o.uiElement??"",selectionDisplayLabel:o.bannerLabel??"",labelDelimiter:o.labelDelimiter??"",classificationProp:l,valueDelimiter:o.valueDelimiter??""})),e.push(o.attributeDelimiter??""))}),a.length>0?a.reduce((s,o,l)=>l===0?o:`${s}${e[l-1]}${o}`,""):""},U=({elementType:r,selectionDisplayLabel:t,labelDelimiter:i,classificationProp:a,valueDelimiter:e})=>{let s=r.includes("multi")&&a?a.split("").join(e):a;return`${t}${i}${s}`};async function h(r,t,i,a=""){let e={schemaJsonString:typeof t=="string"?t:JSON.stringify(t),valueJsonString:JSON.stringify(i),attributeId:a};return(await J(r)).execute(e)}async function J(r){return await F(r,{variables:[{name:"schemaJsonString",type:"text"},{name:"valueJsonString",type:"text"},{name:"attributeId",type:"text"}]})}var L=g`:host{height:100%;box-sizing:border-box;display:flex;flex-direction:column}.header-section{padding:var(--calcite-spacing-sm)}.header-section__title-container{display:flex;align-items:center;justify-content:space-between}.header-section__title-text{margin:unset;font-weight:unset;font-size:var(--calcite-font-size)}.header-section__title-popover{padding:var(--calcite-spacing-md)}.form-section{display:flex;border-top:var(--calcite-border-width-sm) solid var(--calcite-color-border-1);padding:var(--calcite-spacing-sm);height:100%;overflow:hidden}.form-section__sidebar{flex:1;padding:var(--calcite-spacing-sm)}.form-section__main-content{flex:3;padding:var(--calcite-spacing-sm);overflow:auto}.danger{color:var(--calcite-color-status-danger)}.spacing-y{margin:var(--calcite-spacing-md) 0}`,u=class extends b{constructor(){super(),this.classificationModel=x(this),this.messages=I(),this.formMainContentRef=d(),this.bannerRef=d(),this._classificationDataTask=$(this),this._formCreationTask=new P(this,{task:async()=>{if(await this._classificationDataTask.taskComplete,!this.portalClassificationSchema||!this.portalItem)throw new Error("Portal item and classification schema are required to render the form");let t=this.portalItem.clone();if(await t.load(),!this.primaryAttribute)throw new Error("primaryAttribute is required but was undefined.");this.existingClassification=!!t.classification,t.classification=f(t.classification,this.primaryAttribute,this.portalClassificationSchema),t.classification&&(t.classification.banner=await D(this.portalClassificationSchema,t.classification)),this.pendingPortalItem=t,this.cleanupItemClassificationWatchHandle(),this._itemClassificationWatchHandle=q(()=>this.portalItem.classification,i=>{if(this.pendingPortalItem){let a=this.pendingPortalItem.clone();a.load().then(()=>{a.classification=i,this.pendingPortalItem=a}).catch(e=>{console.error(e)})}}),this._itemClassificationWatchPortalItem=this.portalItem,this._itemClassificationWatchPortalItem.addHandles(this._itemClassificationWatchHandle,"arcgis-classification-config"),await this.evaluateAttributeExpressions(this.portalClassificationSchema,this.pendingPortalItem),this.pendingPortalItem.classification=c(this.pendingPortalItem.classification,this.attributeExpressionResults),this.existingClassification&&this.validateForm()},args:()=>[this.portalItem,this.portalClassificationSchema]}),this.getFormDisplayOrder=t=>this.portalClassificationSchema?.layouts.default.layoutElements[t].formDisplayOrder??0,this.addEditInfoAttributes=()=>{if(!this.pendingPortalItem?.classification)return{};let t=structuredClone(this.pendingPortalItem.classification),i=O(this.pendingPortalItem,t);return{...t,...i}},this.updateFavoriteClassification=t=>{this.favoriteClassifications=t},this.updateClassificationData=async t=>{let i=t.classification;if(this.selectedFavoriteClassificationName=t.name,this.pendingPortalItem){let a=this.pendingPortalItem.clone();if(await a.load(),a.classification=p(this.portalClassificationSchema,i),!this.portalClassificationSchema)return;await this.evaluateAttributeExpressions(this.portalClassificationSchema,a),a.classification=c(a.classification,this.attributeExpressionResults),this.pendingPortalItem=a}},this.existingClassification=!1,this.portalClassificationSchema=this.classificationModel.portalClassificationSchema,this.primaryAttribute=this.classificationModel.primaryAttribute,this.attributeExpressionResults=new Map,this.formValidationErrors=[],this.remoteValidationErrors="",this.canUserConfigureClassification=!0,this.favoriteClassifications=[],this.isRequiredErrors=new Set,this.status=this.classificationModel.status,this.values={},this.valid=!1,this.autoDestroyDisabled=!1,this.arcgisPropertyChange=E()("status","values","valid")}static{this.properties={existingClassification:16,portalClassificationSchema:16,primaryAttribute:16,attributeExpressionResults:16,formValidationErrors:16,itemClassification:16,pendingPortalItem:16,selectedCategory:16,remoteValidationErrors:16,canUserConfigureClassification:16,favoriteClassifications:16,selectedFavoriteClassificationName:16,isRequiredErrors:16,portalItem:0,status:35,values:[1,{type:Object}],valid:7,autoDestroyDisabled:5}}static{this.styles=L}async destroy(){this.cleanupItemClassificationWatchHandle(),await this.destroyManagedChildren(),await this.manager.destroy()}async resetForm(){if(this.existingClassification)this.pendingPortalItem=this.portalItem?.clone(),this.portalClassificationSchema&&this.pendingPortalItem&&(await this.evaluateAttributeExpressions(this.portalClassificationSchema,this.pendingPortalItem),this.pendingPortalItem.classification=c(this.pendingPortalItem.classification,this.attributeExpressionResults),this.validateForm());else if(this.portalItem&&this.primaryAttribute&&this.portalClassificationSchema){let t=this.portalItem.clone();await t.load(),this.pendingPortalItem=this.portalItem?.clone(),this.pendingPortalItem.classification=f(t.classification,this.primaryAttribute,this.portalClassificationSchema),this.portalClassificationSchema&&this.pendingPortalItem&&(await this.evaluateAttributeExpressions(this.portalClassificationSchema,this.pendingPortalItem),this.pendingPortalItem.classification=c(this.pendingPortalItem.classification,this.attributeExpressionResults))}}async validateForm(){this.updateFormValidationErrors(),await this.updateRemoteValidationErrors()}async load(){try{await _(this.portalItem)||(this.canUserConfigureClassification=!1);let t=await w(this.portalItem);if(t){let{result:i,error:a}=t;if(a&&a.details.raw.messageCode!=="COM_1177"){console.error(a);return}i&&(this.favoriteClassifications=i.favorites)}}catch(t){console.error("Error occured while loading arcgis-classification-config:",t)}}willUpdate(t){if(t.has("pendingPortalItem")){let i=this.addEditInfoAttributes();this.values=i}(t.has("formValidationErrors")||t.has("remoteValidationErrors"))&&(this.valid=!this.formValidationErrors.length&&!this.remoteValidationErrors)}loaded(){let t=v(this.el,"form");t&&(this.listenOn(t,"formdata",this.updateFormData),this.listenOn(t,"submit",this.handleFormSubmit)),this.listen("submit",this.handleFormSubmit)}async updateClassificationProperty(t){if(!this.pendingPortalItem||!this.portalClassificationSchema)return;let i=this.pendingPortalItem.clone();await i.load(),Object.entries(t??{}).forEach(([a,e])=>{if(a===this.primaryAttribute){let s=R(e,i.classification,this.primaryAttribute);s=p(this.portalClassificationSchema,s),i.classification=s}else{let s=new Map(Object.entries(i.classification??{}));if(e===void 0||e===""||Array.isArray(e)&&e.length===0)s.delete(a);else if(s.set(a,e),a==="fgi"&&!s.has("fgiOptions")){let o=this.portalClassificationSchema?.attributes?.fgiOptions?.defaultValue??[];s.set("fgiOptions",Array.isArray(o)?o:[o])}i.classification=Object.fromEntries(s)}}),i.classification&&!i.classification.fgi&&delete i.classification.fgiOptions,await this.evaluateAttributeExpressions(this.portalClassificationSchema,i),i.classification=c(i.classification,this.attributeExpressionResults),i.classification&&(i.classification.banner=await D(this.portalClassificationSchema,i.classification)),this.pendingPortalItem=i,this.existingClassification&&this.validateForm(),t&&"classification"in t&&this.updateIsRequiredErrors()}handleCategorySelectChange(t){this.selectedCategory=t.target.selectedItems[0].value}async evaluateAttributeExpressions(t,i){let a=await k({portalClassificationSchema:t,itemClassification:i.classification}),e=await j({portalClassificationSchema:t,itemClassification:i.classification}),s=await N({portalClassificationSchema:t,itemClassification:i.classification});Object.keys(t.attributes).forEach(o=>{let l=a[o]?.enabled??!0,V=e[o]?.valueExpressionResult,A=s[o]?.attributeValidationResult;this.attributeExpressionResults.set(o,{enabled:l,valueExpressionResult:V,attributeValidationResult:A})})}updateIsRequiredErrors(){let t=new Set;Object.entries(this.portalClassificationSchema?.attributes??{})?.forEach(([i,a])=>{a.isRequired&&!this.pendingPortalItem?.classification?.[i]&&this.pendingPortalItem?.classification?.[i]!==0&&t.add(i)}),this.isRequiredErrors=t}updateFormValidationErrors(t=!1){let i=[];Object.entries(this.portalClassificationSchema?.attributes??{})?.forEach(([a,e])=>{e.isRequired&&!this.pendingPortalItem?.classification?.[a]&&this.pendingPortalItem?.classification?.[a]!==0&&(!t||this.isRequiredErrors.has(a))&&i.push({attribute:e.label,reason:this.messages.isrequired??"is required",category:e.attributeCategory}),this.attributeExpressionResults.get(a)?.attributeValidationResult&&i.push({attribute:e.label,reason:this.attributeExpressionResults.get(a)?.attributeValidationResult??"",category:e.attributeCategory})}),this.formValidationErrors=i}async updateRemoteValidationErrors(){if(!this.pendingPortalItem?.classification)return;let t=await this.classificationModel.validateClassification(void 0,this.pendingPortalItem?.classification,this.pendingPortalItem.portal.restUrl);this.remoteValidationErrors=t}cleanupItemClassificationWatchHandle(){this._itemClassificationWatchHandle?.remove(),this._itemClassificationWatchHandle=void 0,this._itemClassificationWatchPortalItem?.removeHandles("arcgis-classification-config"),this._itemClassificationWatchPortalItem=void 0}async destroyManagedChildren(){let t=this.bannerRef.value;!t?.autoDestroyDisabled||t.manager?.destroyed||await t.destroy()}async handleFormSubmit(t){this.validateForm(),this.updateIsRequiredErrors(),this.formMainContentRef.value?.scrollIntoView()}updateFormData(t){let i=t.formData,a=this.addEditInfoAttributes();a=c(a,this.attributeExpressionResults),Object.entries(a??{}).forEach(([e,s])=>{i.set(e,s)})}renderCategoryTabs(){return this._classificationDataTask.render({complete:()=>{if(this.portalClassificationSchema?.attributeCategories?.length)return this.selectedCategory||(this.selectedCategory=this.portalClassificationSchema?.attributeCategories[0]),n`<calcite-list .label=${this.messages.selectcategory??"select category"} selection-appearance=border selection-mode=single-persist @calciteListChange=${this.handleCategorySelectChange}>${this.portalClassificationSchema.attributeCategories.map(t=>{let i=this.formValidationErrors.filter(a=>a.category===t).length;return n`<calcite-list-item .label=${t} .value=${t} .selected=${this.selectedCategory===t} .description=${i?`${i} ${i>1?this.messages.errors:this.messages.error}`:void 0}>${i&&n`<div slot=content-end class="danger"><calcite-icon icon=exclamation-mark-triangle scale=s></calcite-icon></div>`||""}</calcite-list-item>`})}</calcite-list>`}})}renderValidationErrors(){return this.formValidationErrors.length&&(!this.selectedCategory||this.formValidationErrors.some(t=>this.selectedCategory===t.category))?n`<calcite-notice open icon=exclamation-mark-triangle class="spacing-y" kind=danger><div slot=message>${this.messages.bannererror??"Some fields are incomplete or contain errors. Check the highlighted fields for details."}</div></calcite-notice>`:null}renderFavoriteClassification(){let t=this.portalClassificationSchema?.attributeCategories?.[0]??"Default";return this.selectedCategory=this.portalClassificationSchema?.attributeCategories?.length?this.selectedCategory:"Default",this.selectedCategory===t?n`<arcgis-portal-classification-favorite .portalItem=${this.pendingPortalItem??this.portalItem} .classificationValue=${this.pendingPortalItem?.classification} .favoriteClassifications=${this.favoriteClassifications} .selectedFavoriteClassificationName=${this.selectedFavoriteClassificationName} .attributeExpressionResults=${this.attributeExpressionResults} .resetFavoriteClassification=${i=>this.updateFavoriteClassification(i)} .updateClassificationData=${async i=>{await this.updateClassificationData(i),this.updateFormValidationErrors(),this.updateIsRequiredErrors()}}></arcgis-portal-classification-favorite>`:null}renderForm(){return this._formCreationTask.render({pending:()=>n`<calcite-loader .label=${this.messages.loading??"loading"}></calcite-loader>`,complete:()=>{if(!this.pendingPortalItem||!this.portalClassificationSchema)return;let t=Object.entries(this.portalClassificationSchema.attributes).sort(([i],[a])=>this.getFormDisplayOrder(i)-this.getFormDisplayOrder(a));return n`${this.renderValidationErrors()}${this.renderFavoriteClassification()}${t.filter(([,{attributeCategory:i}])=>this.selectedCategory===i||!i).map(([i,a])=>{if(this.attributeExpressionResults.get(i)?.enabled===!1)return null;let e=this.pendingPortalItem?.classification?.[i];return n`<arcgis-portal-classification-form-element .attributeKey=${i} .attribute=${a} .value=${e} @arcgisAttributeValueChange=${async s=>{await this.updateClassificationProperty(s.detail),a.isRequired&&!s.detail[i]?this.isRequiredErrors.add(i):this.isRequiredErrors=new Set(Array.from(this.isRequiredErrors).filter(o=>o!==i)),this.updateFormValidationErrors(!0)}} .renderingInfo=${this.attributeExpressionResults.get(i)} .isRequiredErrors=${this.isRequiredErrors}></arcgis-portal-classification-form-element>`})}`}})}renderNotice(t,i="warning"){return n`<calcite-notice icon=exclamation-mark-triangle open class="spacing-y" .kind=${i}><div slot=message>${t}</div></calcite-notice>`}renderHelpTooltip(){return this.portalClassificationSchema?.helpTooltip?n`<calcite-action id=portal-classification-config-tooltip-button .text=${this.portalClassificationSchema?.helpTooltip} icon=information></calcite-action><calcite-popover .label=${this.portalClassificationSchema?.helpTooltip} reference-element=portal-classification-config-tooltip-button placement=bottom-end overlay-positioning=fixed auto-close><div class="header-section__title-popover"><calcite-link .href=${this.portalClassificationSchema?.helpUrl} target=_blank id=portal-classification-config-tooltip-button>${this.portalClassificationSchema?.helpTooltip}</calcite-link></div></calcite-popover>`:null}render(){return this.portalItem?this._classificationDataTask.render({pending:()=>n`<calcite-loader .label=${this.messages.loading??"loading"}></calcite-loader>`,error:()=>this.renderNotice(this.messages.anerroroccurred??"An error has occurred.","danger"),complete:()=>this.portalItem?this.canUserConfigureClassification?this.portalItem.portal.hasClassificationSchema?n`<div class="header-section" role=region aria-label=${this.messages.documentbannerpreview??"documentbannerpreview"??C}><div class="header-section__title-container"><h2 class="header-section__title-text">${this.messages.documentbannerpreview??"documentbannerpreview"}</h2>${this.renderHelpTooltip()}</div>${this._formCreationTask.status===S.COMPLETE&&n`<arcgis-portal-classification-banner .portalItem=${this.pendingPortalItem??this.portalItem} variant=preview .missingExistingClassification=${!this.existingClassification} .autoDestroyDisabled=${this.autoDestroyDisabled} ${m(this.bannerRef)}></arcgis-portal-classification-banner>`||""}</div><div class="form-section">${this.portalClassificationSchema?.attributeCategories?.length&&n`<div class="form-section__sidebar">${this.renderCategoryTabs()}</div>`||""}<div class="form-section__main-content" ${m(this.formMainContentRef)}>${this.renderForm()}</div></div>`:this.renderNotice(this.messages.missingclassificationschema??"Portal is missing classification schema."):this.renderNotice(this.messages.userconfigurepermissionrequired??"User configuration permission is required."):this.renderNotice(this.messages.portalitemrequired??"Portal item is required.")}):this.renderNotice(this.messages.portalitemrequired??"Portal item is required.")}};y("arcgis-portal-classification-config",u);return u},"arcade","core/reactiveUtils",a,c,e)
@@ -1,3 +0,0 @@
1
- /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{a as z}from"./35SKVD6F.js";import a from"./WSNLUGEP.js";import{a as x}from"./6W2IHKCA.js";import{a as L}from"./DFTUMKSN.js";import{a as B}from"./5VHBNEN3.js";import"./EKO6SVAF.js";import{I as y,J as U,K as A,L as I,M as R,Q as N,h as P,j as u,v as k}from"./WJ2NMHDE.js";import"./YIMNOUTF.js";export default $arcgis.t(([{a:w,b:v,c:_}])=>{function q(e){let r=/(https?:\/\/[^\s]+)/gu;return e?.replace(r,t=>`<a href="${t}" target="_blank">${t}</a>`)}function S(e){return e?.replace(/(?:\r)/gu,"&#10;").replace(/(?:\n)/gu,"&#13;")}function E(e){return e?.replace(/(?:&#10;)/gu,"\r").replace(/(?:&#13;)/gu,`
3
- `)}function F(e){return e?.replace(/&#10;&#13;|&#10;|&#13;|\r\n|\r|\n/gu,"<br>")}function H(e){return F(S(q(E(e))))}function G(e){return e?.endsWith("/")?e.slice(0,e.length-1):e}var J=P`:host{display:flex}.button{display:flex;align-items:center;max-width:100%;cursor:pointer;white-space:normal;border-style:none;padding:0;font-size:.75rem;color:var(--calcite-color-text-2);outline:2px solid transparent;outline-offset:2px;transition-property:all;outline-color:transparent;background:transparent;font-family:inherit;line-height:1.5;&:focus{outline:2px solid var(--calcite-color-brand);outline-offset:2px}}.button--outline{box-sizing:border-box;width:100%;padding:.5rem .75rem;transition-property:all;border:1px solid var(--calcite-color-border-3);&:hover{box-shadow:inset 0 0 0 1px var(--calcite-color-foreground-3)}}.name{overflow:hidden;white-space:nowrap;margin-inline-start:.5rem;text-overflow:ellipsis}.popover__wrapper{background-color:var(--calcite-color-foreground-1);width:min(32rem,80vw)}.popover__header{padding:1.25rem 1rem}.popover__avatar{max-width:100%}.popover__content{padding:.5rem 1rem 1.25rem}.popover__description{margin:0;overflow:auto;padding:0;padding-bottom:1rem;font-size:.875rem;color:var(--calcite-color-text-2);max-height:21.25rem}.popover__fade{position:relative;z-index:10;margin-bottom:.25rem;display:block;height:1rem;width:100%;background:linear-gradient(to bottom,transparent,var(--calcite-color-foreground-1) 100%);margin-top:-1rem}.popover__buttons{display:grid;grid-auto-flow:column;grid-gap:.5rem}.popover__buttons--no-description{padding-top:1rem}.popover__button{min-width:0px}.popover__loader{--calcite-loader-padding: 0}`;function M(e){return new L().sanitize(e)}function D(e){let r=M(e),t=document.createElement("div");return t.innerHTML=r,t.textContent||t.innerText||""}async function K(e,r,t,a,o){let s=e.portal?.portalHostname||a?.portalHostname||a?.restUrl?.replace("/sharing/rest",""),n=o?`https://www.arcgis.com/sharing/rest/portals/${r}`:`https://${s}/sharing/rest/portals/${r}`;if(!s&&!o)return null;let i=o?{disableIdentityLookup:!0,addTokenManually:!1}:{},l=await v({url:n,portal:a,options:i}),{urlKey:p,thumbnail:h,customBaseUrl:c}=l,f=`https://${p}.${c}/`,d=h?`${f}sharing/rest/portals/self/resources/${h}`:null,m="",$="";try{let g=await v({url:`${n}/resources/localizedOrgProperties`,portal:a,params:{start:1,num:100},options:i});if(g){let b=g[t]||g.default;m=b.name,$=b.description}}catch{}return{name:m||l.name,description:D($||l.description),url:`${f}home/`,thumbnail:d}}async function W(e,r,t,a){let o=e.sourceJSON?.orgId??e.portal?.id??t?.id;return await w({requester:async()=>await K(e,o,r,t,a),key:"verified",id:o})}var T=e=>e?.sourceJSON?.contentStatus==="public_authoritative";async function j(e,r,t,a){if(T(e)){let o=e.owner||"",s=await W(e,t,r,a);if(!s)return await _(o,r,a);let{description:n,name:i,thumbnail:l,url:p}=s;return{description:n?M(n):"",fullName:i,username:o,thumbnail:l,id:e.portal.id,url:p}}return await _(e.owner||"",r,a)}async function V(e,r,t){let a=t?"https://www.arcgis.com/sharing/rest/":x(r),o=t?{disableIdentityLookup:!0,addTokenManually:!1}:{};return await w({requester:async()=>await v({url:`${a}community/groups`,portal:r,params:{q:`(owner:"${e}")`,num:100},options:o}),key:"userGroups",id:e})}async function X(e,r,t){let a=t?"https://www.arcgis.com/sharing/rest/":x(r),o=t?{disableIdentityLookup:!0,addTokenManually:!1}:{};return await w({requester:async()=>(await v({url:`${a}search`,portal:r,params:{q:`(owner:"${e}") -typekeywords:"recyclebin"`,num:1},options:o})).total,key:"userItemsTotal",id:e})}function C({baseUrl:e,user:r,type:t}){let a=G(e),o=encodeURIComponent(r.username||"");return o?`${a}/${t}.html?user=${o}`:`${a}/${t}.html`}var O=class extends A{constructor(){super(...arguments),this.messages=B({blocking:!0}),this.buttonRef=y(),this.popoverRef=y(),this.isPopoverOpen=!1,this.scale="m",this.showAvatar=!0,this.showName=!0,this.showUsername=!1,this.appearance="transparent",this.arcgisUserPopupInternalUIAction=k(),this.arcgisUserPopupClose=k()}static{this.properties={itemUserInfo:16,groups:16,total:16,isPopoverOpen:16,user:0,username:1,fullName:1,item:0,scale:3,portal:0,baseUrl:1,underline:5,showAvatar:5,showName:5,showUsername:5,wrap:5,appearance:1,zIndex:9,avatarAriaHidden:5,checkOnline:5}}static{this.styles=J}async setFocus(){this.buttonRef.value?.focus()}async openPopup(){this.buttonRef.value?.click()}connectedCallback(){super.connectedCallback(),this.init()}updated(r){r.has("isPopoverOpen")&&this.isPopoverOpen&&this.setPopoverOpen(!0)}get resolvedBaseUrl(){return this.baseUrl||`${this.portal.url}/home`}async init(){let{item:r,username:t,portal:a,fullName:o,messages:s}=this;if(!(!s._lang||!a)){if(r){this.itemUserInfo=await j(r,a,s._lang,this.checkOnline);return}if(t){let n=await _(t,a,this.checkOnline);!n.fullName&&o&&(n.fullName=o),this.itemUserInfo=n}}}async fetchItemsAndGroups(){let{user:r,itemUserInfo:t,item:a,portal:o,username:s,checkOnline:n}=this,i=s||r?.username||a?.owner||t?.username;if(!(!i||!o)){if(!this.groups){let l=await V(i,o,n);this.groups=l}this.total=await X(i,o,n)}}setPopoverOpen(r){requestAnimationFrame(()=>{this.popoverRef.value&&(this.popoverRef.value.open=r)})}openLink(r,t){r.preventDefault(),window.open(t,"_blank")}renderOrgButtons(r){let{messages:t}=this,a=(r.url||this.resolvedBaseUrl).replace(/\/$/u,"");return u`<calcite-button appearance=outline-fill kind=neutral .href=${a} target=_blank @click=${o=>this.openLink(o,a)}>${t.homepage}</calcite-button><calcite-button appearance=outline-fill kind=neutral .href=${`${a}/gallery.html`} target=_blank @click=${o=>this.openLink(o,`${a}/gallery.html`)}>${t.gallery}</calcite-button>`}renderUserButtons(r){let{total:t,groups:a,messages:o}=this,s=r.username||"";if(typeof t!="number"||!a)return u`<calcite-loader .label=${o.loadingUserInformation} scale=s class="popover__loader"></calcite-loader>`;let n=C({baseUrl:this.resolvedBaseUrl,user:{username:s},type:"groups"}),i=C({baseUrl:this.resolvedBaseUrl,user:{username:s},type:"content"}),l=`${this.resolvedBaseUrl.replace(/\/$/u,"")}/user.html?user=${encodeURIComponent(s)}`;return u`${!!a.total&&u`<calcite-button class="popover__button" appearance=outline-fill kind=neutral .href=${n} target=_blank @click=${p=>{this.openLink(p,n),this.arcgisUserPopupInternalUIAction.emit({category:"profile popup",action:"view all groups"})}}>${o.groups.replace("${number}",new Intl.NumberFormat(o._lang).format(a.total))}</calcite-button>`||""}${!!t&&u`<calcite-button class="popover__button" appearance=outline-fill kind=neutral .href=${i} target=_blank @click=${p=>{this.openLink(p,i),this.arcgisUserPopupInternalUIAction.emit({category:"profile popup",action:"view all content"})}}>${o.items.replace("${number}",new Intl.NumberFormat(o._lang).format(t))}</calcite-button>`||""}<calcite-button class="popover__button" appearance=outline-fill kind=neutral .href=${l} target=_blank @click=${p=>{this.openLink(p,l),this.arcgisUserPopupInternalUIAction.emit({category:"profile popup",action:"view profile"})}}>${o.profile}</calcite-button>`}render(){let{user:r,itemUserInfo:t,portal:a,item:o,appearance:s,scale:n,isPopoverOpen:i,showName:l,showUsername:p,messages:h}=this,c=r||t;if(!h._lang||!c)return u`<arcgis-portal-user-avatar scale=s show-name .checkOnline=${this.checkOnline}></arcgis-portal-user-avatar>`;let f=T(o),d=c.username||"",m=H(c.description||"")||"",$=z(c,h._lang),g=f?h.itemManagedBy.replace("${username}",d):d;return u`<button class=${I({button:!0,"button--outline":s==="outline"})} @click=${()=>{this.isPopoverOpen||(this.isPopoverOpen=!0),this.fetchItemsAndGroups()}} ${U(this.buttonRef)}><slot><arcgis-portal-user-avatar .user=${c} .scale=${n} .portal=${a} .showName=${l} .description=${p?d:""} .hideAvatar=${!this.showAvatar} .underline=${this.underline} .checkOnline=${this.checkOnline} .wrap=${this.wrap}></arcgis-portal-user-avatar></slot></button>${i&&this.buttonRef.value&&c&&u`<calcite-popover class="popover" .label=${$} pointer-disabled .referenceElement=${this.buttonRef.value} placement=auto .id=${`${d}-popover`} auto-close style=${R({"--calcite-popover-z-index":this.zIndex?.toString()||"12"})} @calcitePopoverOpen=${()=>{this.arcgisUserPopupInternalUIAction.emit({category:"profile popup",action:"open profile popup"})}} @calcitePopoverClose=${()=>{this.isPopoverOpen=!1,this.arcgisUserPopupClose.emit()}} @keydown=${b=>{b.key==="Escape"&&setTimeout(()=>{this.buttonRef.value?.focus()},200)}} ${U(this.popoverRef)}><div class="popover__wrapper"><div class="popover__header"><arcgis-portal-user-avatar class="popover__avatar" .user=${c} scale=l .portal=${a} show-name .description=${g} .checkOnline=${this.checkOnline}></arcgis-portal-user-avatar></div><div class="popover__content">${!!m&&u`<p class="popover__description">${m}</p>`||""}${!!m&&u`<div class="popover__fade"></div>`||""}<div class=${I({popover__buttons:!0,"popover__buttons--no-description":!m})}>${f?this.renderOrgButtons(c):this.renderUserButtons(c)}</div></div></div></calcite-popover>`||""}`}};N("arcgis-portal-user-popup",O);return O},a)