@arcgis/portal-components 5.2.0-next.102 → 5.2.0-next.104
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.
- package/dist/cdn/{5YDK46OH.js → E5GFFIXQ.js} +1 -1
- package/dist/cdn/{T6BFUQNU.js → FVVVBUWT.js} +2 -2
- package/dist/cdn/index.js +1 -1
- package/dist/components/arcgis-portal-ai-assistant/customElement.js +7 -5
- package/dist/components/arcgis-portal-group-browser/customElement.d.ts +2 -0
- package/dist/components/arcgis-portal-group-browser/customElement.js +54 -41
- package/dist/components/arcgis-portal-navigation/index.js +4 -4
- package/dist/docs/api.json +1 -1
- package/dist/docs/docs.json +1 -1
- package/dist/docs/web-types.json +1 -1
- package/dist/loader.js +1 -1
- package/dist/types/lumina.d.ts +1 -1
- package/dist/types/preact.d.ts +1 -1
- package/dist/types/react.d.ts +1 -1
- package/dist/types/stencil.d.ts +1 -1
- package/package.json +5 -5
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{a as j}from"./6KVA4AKM.js";import{a as oe,b as xe}from"./4QA4AYHJ.js";import"./SMGYUJIK.js";import n from"./6BX4RC2Y.js";import m from"./6GH5BOHH.js";import l from"./CVOWIH4J.js";import"./CFBSBZSS.js";import k from"./E5Q46O7J.js";import"./LDTVM22U.js";import"./ILDTKRON.js";import i from"./MT4QAG2X.js";import h from"./RJR5FQIQ.js";import g from"./HLZECIZI.js";import"./G2CJ5PLI.js";import f from"./OTLSI3AA.js";import{a as M}from"./FJSGWELR.js";import"./OBBYT2AV.js";import"./DFTUMKSN.js";import e from"./HWPV6BAO.js";import d from"./ZJ7GT4N2.js";import"./UZCHLKLO.js";import c from"./RBGARTND.js";import{a as Ge}from"./VQKLCN3V.js";import b from"./F3ODJVJC.js";import"./EHQVLI6M.js";import a from"./OUFIJDIW.js";import{a as Oe}from"./VMQIDO4Z.js";import"./QS3GXAIH.js";import{a as V,c as _}from"./2GBRZSEC.js";import{a as ae}from"./ACCEI7S4.js";import"./S7IRYX4A.js";import"./VJ4STLVD.js";import{M as $e,N as D,P as w,S as Fe,h as ye,j as p,w as S}from"./4PPXBKIJ.js";import"./UZLQALHY.js";export default $arcgis.t(([{substitute:L},ar,{substitute:tr},{watch:or},{substitute:E},{b:Se},,,,{c:Pe},,,,{a:_e,b:Be},,,{a:Ue,b:J,c:K,d:X,e:Y,f:Z}])=>{function B(t){let{action:e,active:r=!1,clearDisabled:s=!1,clearLabel:a="Clear",children:n,expanded:i=!1,heading:l,noPadding:c=!1,onRemove:g,primary:v=!1,setExpanded:f}=t;return v?p`<div class="filter--primary"><div class="filter__header filter__header--primary"><h3 class="filter__title">${l}</h3>${e}</div>${n}</div>`:p`<calcite-accordion-item class="filter__accordion-item" .heading=${l} .expanded=${i} @calciteAccordionItemExpand=${()=>{f?.(!0)}} @calciteAccordionItemCollapse=${()=>{f?.(!1)}}><div slot=actions-end class="filter__actions-slot arcgis-item-browser-filter__actions-slot">${e}${r&&!s&&p`<calcite-button class="clear-button" scale=s kind=neutral appearance=transparent @click=${()=>g?.()}>${a}</calcite-button>`||""}</div><div class=${D({filter__content:!0,"filter__content--padded":!c})}>${n}</div></calcite-accordion-item>`}var q=1440*60*1e3;function $(t){let e=typeof t=="string"?Number.parseInt(t,10):typeof t=="number"?t:(t??new Date).valueOf(),r=new Date(e);return r.setHours(0,0,0,0),r.valueOf()}function x(t){return $(t)+q-1}var le=7*q,Ce=["today","yesterday","last7","last30","never","custom"],sr=(t,e,r)=>{let s=$(),a=x();switch(t){case"yesterday":return[s-q,s-1];case"today":return[s,a];case"last7":return[s-le,a];case"last30":return[s-q*30,a];case"never":return[-1,-1];case"custom":return e&&r?[$(e),x(r)]:null;default:return null}};function Te(t){let{clearLabel:e,end:r,expanded:s,filterDateMessages:a,includeNever:n,onFilter:i,onRemove:l,property:c,range:g,serverProperty:v,setExpanded:f,start:y}=t,A=a.title[c],u=n?Ce:Ce.filter(m=>m!=="never"),U=new Date().toISOString().slice(0,10),b=!!(g&&(g!=="custom"||y&&r)),O=(m,P,F)=>{let C=v??(c==="modified"?"modified":"uploaded"),G=sr(m,P,F),I=m?a[m]:"";i?.({id:c,label:m?tr(a[c],{date:I}):"",value:G?`(${C}:[${G[0]} TO ${G[1]}])`:"",range:m,start:G?new Date(G[0]):void 0,end:G?new Date(G[1]):void 0})};return B({heading:A,expanded:s,setExpanded:f,active:b,clearLabel:e,onRemove:l,children:p`<div><calcite-tree selection-mode=children scale=m @calciteTreeSelect=${m=>{let P=m.target.selectedItems?.[0]?.dataset.range,F=g===P?null:P;if(!F){l?.();return}O(F,y,r)}}>${u.map(m=>p`<calcite-tree-item data-range=${m??w} .selected=${m===g}>${a[m]}</calcite-tree-item>`)}</calcite-tree>${g==="custom"&&p`<calcite-input-date-picker class="custom-date-picker" @calciteInputDatePickerChange=${m=>{let P=m.target.valueAsDate,[F,C]=Array.isArray(P)?P:[];F&&C&&O("custom",F,C)}} scale=s .max=${U} calendars=1 layout=vertical month-style=abbreviated proximity-selection-disabled range .valueAsDate=${y&&r?[new Date($(y)),new Date($(r))]:[]}></calcite-input-date-picker>`||""}</div>`})}var ir=["title","relevance","modified"];function Re(t){let{slot:e="sort",sort:r,formFactor:s,sortField:a,sortOrder:n,onSortFieldChange:i,onSortOrderChange:l}=t;return r.enabled?p`<arcgis-portal-browser-sort slot=${e??w} .options=${r.props?.options??ir} .field=${a} .order=${n} .appearance=${r.props?.appearance??"dropdown"} .showText=${r.props?.showText??s!=="small"} .useDeleted=${r.props?.useDeleted??!1} @arcgisBrowserSortFieldChange=${c=>{i(c.detail)}} @arcgisBrowserSortOrderChange=${c=>{l(c.detail)}}></arcgis-portal-browser-sort>`:p`<slot name=${e??w} slot=${e??w}></slot>`}function ke(t){let{slot:e="pagination",store:r,total:s,start:a,num:n,onPage:i}=t;return p`<slot name=${e??w} slot=${e??w}><arcgis-portal-browser-pagination .store=${r} .total=${s} .start=${a} .num=${n} @arcgisBrowserPage=${l=>{i(l.detail)}}></arcgis-portal-browser-pagination></slot>`}function qe(t){let{bottom:e,children:r,primary:s,slot:a,store:n,title:i,top:l}=t,c=!!n?.panel||(n?.width??0)<M.sm;return p`<div slot=${a??w} class="filters-shell" .inert=${!!n?.preview}><div class=${D({"filters-shell__top":!0,"filters-shell__top--padded":c})}>${l}</div>${s}${i}<calcite-accordion appearance=transparent icon-type=chevron icon-position=start scale=m>${r}</calcite-accordion>${e}</div>`}function Ae(t){let{browserMessages:e,slot:r,filters:s,hasIndoorsSpaces:a,isFilterActive:n,messages:i,portal:l,selectedAccess:c,selectedGroupsByUser:g,selectedMemberOrg:v,selectedMembership:f,selectedOwner:y,selectedSpecialGroup:A,specialGroupOptions:u,store:U,handleRemove:b,handleSelect:O,handleUpsert:m,handleUserFilterChange:P}=t,F=l.isPortal,C=l.user,G=j(C),I=C?.username??"",We=o=>o===I?E(i.groupsByUser.me,{username:o}):o,me=(o,d)=>o==="owner"?d:o==="outsideOrg"&&G?i.owner.someoneElse:o==="inOrg"?i.owner.inOrg:o==="outsideOrg"?i.owner.outsideOrg:d,Q=s.owner,ue=y??Q?.props?.owner??null,H=Q?.props?.username??I,ze=l.id??"",Qe=G?["owner","outsideOrg"]:["owner","inOrg","outsideOrg"],re=s.membership,ge=f??re?.props?.membership??null,He=["org","collaboration","anyOrg"],N=s.memberOrg,we=v??N?.props?.memberOrg??null,Ne=N?.props?.orgId??l.id??"",Ve=["myOrg","anotherOrg"],te=s.specialGroups,fe=A??te?.props?.specialGroup??null,se=s.access,be=c??se?.props?.access??null,je=["public","org","private"],W=s.groupsByUser,ve=W?.props?.usernames??[],Je=W?.props?.selectedUsername??g??ve[0]??I,T=e.filter.clear,R=(o,d)=>{let h=s[o];h&&(h.props={...h.props,expanded:d})},Ke=o=>{if(o.assignedElements({flatten:!0}).length>0){o.setAttribute("data-has-before-filters","true");return}o.removeAttribute("data-has-before-filters")};return qe({slot:r,store:U,title:p`<div class="filters-title"><h2 class="filters-title__heading">${i.filters.title}</h2><slot name=before-filters @slotchange=${o=>Ke(o.currentTarget)}></slot></div>`,children:p`${!!W?.enabled&&B({heading:i.groupsByUser.title,expanded:!!W?.props?.expanded,setExpanded:o=>R("groupsByUser",o),clearLabel:T,onRemove:()=>{O({kind:"groupsByUser",value:W?.props?.selectedUsername??I})},children:p`<calcite-tree selection-mode=single scale=m @calciteTreeSelect=${o=>{let d=o.target.selectedItems?.[0]?.dataset.username??"";O({kind:"groupsByUser",value:d}),P(d)}}>${ve.map(o=>p`<calcite-tree-item data-username=${o??w} .selected=${o===Je}><a class="groups-by-user__label">${We(o)}</a></calcite-tree-item>`)}</calcite-tree>`})||""}${!!Q?.enabled&&B({heading:i.owner.title,expanded:!!Q?.props?.expanded,setExpanded:o=>R("owner",o),active:n("owner"),clearLabel:T,onRemove:()=>b("owner"),children:p`<calcite-tree selection-mode=single scale=m @calciteTreeSelect=${o=>{let d="owner",h=z(ue,o,d);if(!h){b(d);return}m({id:d,label:E(i.owner.label,{label:me(h,H)}),param:"q",value:J(h,H,{isPublicUser:G,orgId:ze}),owner:h,username:H}),O({kind:d,value:h})}}>${Qe.filter(o=>!(F||a)||o!=="outsideOrg").map(o=>p`<calcite-tree-item data-owner=${o??w} .selected=${ue===o}>${me(o,H)}</calcite-tree-item>`)}</calcite-tree>`})||""}${!!(re?.enabled&&!F&&!a)&&B({heading:i.membership.title,expanded:!!re?.props?.expanded,setExpanded:o=>R("membership",o),active:n("membership"),clearLabel:T,onRemove:()=>b("membership"),children:p`<calcite-tree selection-mode=single scale=m @calciteTreeSelect=${o=>{let d="membership",h=z(ge,o,d);if(!h){b(d);return}m({id:d,label:E(i.membership.label,{label:i.membership[h]}),param:"q",value:K(h,a),membership:h}),O({kind:d,value:h})}}>${He.map(o=>p`<calcite-tree-item data-membership=${o??w} .selected=${ge===o}>${i.membership[o]}</calcite-tree-item>`)}</calcite-tree>`})||""}${!!(N?.enabled&&!F)&&B({heading:i.memberOrg.title,expanded:!!N?.props?.expanded,setExpanded:o=>R("memberOrg",o),active:n("memberOrg"),clearLabel:T,onRemove:()=>b("memberOrg"),children:p`<calcite-tree selection-mode=single scale=m @calciteTreeSelect=${o=>{let d="memberOrg",h=z(we,o,d);if(!h){b(d);return}m({id:d,label:E(i.memberOrg.label,{label:i.memberOrg[h]}),param:"q",value:X(h,Ne),memberOrg:h}),O({kind:d,value:h})}}>${Ve.map(o=>p`<calcite-tree-item data-member-org=${o??w} .selected=${we===o}>${i.memberOrg[o]}</calcite-tree-item>`)}</calcite-tree>`})||""}${te?.enabled&&B({heading:i.specialGroups.title,expanded:!!te.props?.expanded,setExpanded:o=>R("specialGroups",o),active:n("specialGroups"),clearLabel:T,onRemove:()=>b("specialGroups"),children:p`<calcite-tree selection-mode=single scale=m @calciteTreeSelect=${async o=>{let d="specialGroups",h=z(fe,o,d);if(!h){b(d);return}let ie=await Y(h,l);m({id:"specialGroups",label:E(i.specialGroups.label,{label:i.specialGroups[h]}),param:"q",value:ie,specialGroup:h}),O({kind:"specialGroups",value:h})}}>${u.map(o=>p`<calcite-tree-item data-special-groups=${o??w} .selected=${fe===o}><span class="special-groups-settings-option">${i.specialGroups[o]}${o==="settings"&&p`<span class="special-groups-settings-icon"><calcite-icon id=portal-group-browser-special-groups-settings-info icon=information scale=s text-label=Information></calcite-icon><calcite-tooltip placement=bottom-end reference-element=portal-group-browser-special-groups-settings-info>Groups used in organization settings.</calcite-tooltip></span>`||""}</span></calcite-tree-item>`)}</calcite-tree>`})||""}${["modified","created"].filter(o=>s[o]?.enabled).map(o=>{let d=s[o]?.props,h=U.filters[o],ie=!!d?.includeNever,Xe=h?.range??d?.range??null,Ye=h?.start??d?.start,Ze=h?.end??d?.end,er=d?.serverProperty,rr=d?.expanded;return Te({property:o,filterDateMessages:e.filterDate,clearLabel:T,expanded:rr,setExpanded:k=>R(o,k),includeNever:ie,range:Xe,start:Ye,end:Ze,serverProperty:er,onRemove:()=>{m({id:o,label:"",param:"q",value:"",range:null,start:null,end:null})},onFilter:k=>{m({id:o,label:k.label,param:"q",value:k.value,range:k.range,start:k.start,end:k.end})}})})}${!!se?.enabled&&B({heading:i.access.title,expanded:!!se?.props?.expanded,setExpanded:o=>R("access",o),active:n("access"),clearLabel:T,onRemove:()=>b("access"),children:p`<calcite-tree selection-mode=single scale=m @calciteTreeSelect=${o=>{let d="access",h=z(be,o,d);if(!h){b(d);return}m({id:d,label:E(i.access.label,{label:i.access[h]}),param:"q",value:Z(h),access:h}),O({kind:d,value:h})}}>${je.map(o=>p`<calcite-tree-item data-access=${o??w} .selected=${be===o}>${i.access[o]}</calcite-tree-item>`)}</calcite-tree>`})||""}`})}var z=(t,e,r)=>{let s=e.target.selectedItems?.[0]?.dataset[r];return t===s?null:s??null};var Ie={select:"arcgisGroupCardSelect",preview:"arcgisGroupBrowserCardPreview"},lr=ye`:host{position:relative;background-color:var(--calcite-color-background);display:flex;flex-direction:column;height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;--portal-group-browser-max-width: var(--group-browser-max-width, 100%);--portal-group-browser-pane-width: 18.75rem;--portal-group-browser-pane-z-index: 11;container-type:inline-size;container-name:portal-group-browser}arcgis-portal-browser{--arcgis-browser-max-width: var(--portal-group-browser-max-width);--arcgis-browser-pane-width: var(--portal-group-browser-pane-width);--arcgis-browser-pane-z-index: var(--portal-group-browser-pane-z-index)}.filters-title__heading{color:var(--calcite-color-text-1);font-size:var(--calcite-font-size-0);font-weight:var(--calcite-font-weight-medium);line-height:1.2;margin:0;padding:1rem .5rem}.filters-title:has(>slot[name=before-filters][data-has-before-filters=true]) .filters-title__heading{border-bottom:1px solid var(--calcite-color-border-2)}.filters-shell{display:block}.filters-shell__top{padding:0}.filters-shell__top--padded{padding:0 1rem 1rem}.filter__accordion-item{--calcite-accordion-item-content-space: .75rem .25rem;--calcite-accordion-icon-margin: .5rem;border-top:1px solid var(--calcite-color-border-1)}.filter__actions-slot{display:flex;align-self:center;align-items:center;line-height:0}.filter__content{margin:0}.filter__content--padded{margin:-.75rem .5rem 0}.filter__content>calcite-tree>calcite-tree-item>a{padding-block:.25rem}.clear-button{line-height:1;margin-inline:.25rem}.custom-date-picker{margin-block:.5rem;margin-inline-start:1.75rem;width:12.75rem}.groups-by-user__label{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.special-groups-settings-option{display:inline-flex;align-items:center;gap:.25rem}.special-groups-settings-icon{display:inline-flex;align-items:center}.group-browser__results{display:grid;gap:.5rem}.group-browser__results--compact{gap:0}.group-browser__result-card{margin:0}@container portal-group-browser (max-width: 640px){:host{--portal-group-browser-pane-width: 100%}}.empty-text-slot{width:100%;height:100%;display:flex;justify-content:center}.empty-text-slot__default{@apply max-w-lg mx-auto px-6 pb-16;max-width:32rem;margin-inline:auto;padding-inline:1.5rem;padding-bottom:4rem;margin-top:min(8rem,30vh)}`;async function nr(t,e){let r=`${Oe(t)}community/groups`,s=dr(e),a=hr(e),n=!!e.searchUser?.trim();if(!s.trim()&&!n)return{nextStart:-1,num:0,q:s,queryParams:{...a,q:s},results:[],start:0,total:0};let i={...a,q:s},l=await Se({url:r,portal:t,params:i}),c=l.results.map(g=>{let v=ar.fromJSON(g);return v.portal=t,v});return{...l,q:s,queryParams:i,results:c}}var cr=["created","modified","owner","title"];function pr(t){return!!t&&cr.includes(t)}function dr(t){let e=[],r=t.baseQuery?.trim();r&&e.push(`(${r})`);let s=t.searchTerm?.trim();s&&e.push(`(${xe(s)})`);for(let a of Object.values(t.filters??{}))typeof a.value=="string"&&a.value.trim()&&e.push(`(${a.value.trim()})`),typeof a.additionalParams=="string"&&a.additionalParams.trim()&&e.push(`(${a.additionalParams.trim()})`);return e.join(" AND ")}function hr(t){return{num:t.num,start:t.start,...t.searchUser?{searchUserAccess:"groupMember",searchUserName:t.searchUser}:{},...t.sortField==="relevance"||!pr(t.sortField)?{}:{sortField:t.sortField,sortOrder:t.sortOrder}}}function mr(t,e,r){switch(t){case"yesterday":{let s=$();return[s-q,s-1]}case"today":return[$(),x()];case"last7":return[$()-le,x()];case"last30":return[$()-q*30,x()];case"never":return[-1,-1];case"custom":return e&&r?[$(e),x(r)]:null;default:return V(t)}}var ur=["created","modified","owner","relevance","title"],gr=["asc","desc"],wr=["custom","last7","last30","never","today","yesterday"],fr=["inOrg","outsideOrg","owner"],br=["anyOrg","collaboration","org"],vr=["anotherOrg","myOrg"],yr=["admin","distributed","openData","settings","sharedUpdate"],$r=["org","private","public"],Fr=["access","created","created_from","created_to","memberorgids","membershipaccess","modified","modified_from","modified_to","owner","q","searchTerm","sortField","sortOrder","specialGroups","start","num"];function ee(t){if(!t)return;let e=Number.parseInt(t,10);return Number.isFinite(e)&&e>0?e:void 0}function De(t,e){let r=t.get(e);if(!_(wr,r))return;if(r!=="custom")return{range:r};let s=ee(t.get(`${e}_from`)),a=ee(t.get(`${e}_to`));if(!(!s||!a))return{range:r,start:new Date(s),end:new Date(a)}}function Me(t,e,r){r?.range&&(t.set(e,r.range),r.range==="custom"&&(r.start&&t.set(`${e}_from`,`${$(r.start)}`),r.end&&t.set(`${e}_to`,`${x(r.end)}`)))}function Le(t){let e=t.get("searchTerm")?.trim()||t.get("q")?.trim()||void 0,r=t.get("sortField"),s=t.get("sortOrder"),a=ee(t.get("start")),n=ee(t.get("num")),i=t.get("access"),l=t.get("memberorgids"),c=t.get("membershipaccess"),g=t.get("owner"),v=t.get("specialGroups"),f=De(t,"created"),y=De(t,"modified");return{...e?{searchTerm:e}:{},..._(ur,r)?{sortField:r}:{},..._(gr,s)?{sortOrder:s}:{},...a?{start:a}:{},...n?{num:n}:{},filters:{..._($r,i)?{access:i}:{},...f?{created:f}:{},..._(vr,l)?{memberOrg:l}:{},..._(br,c)?{membership:c}:{},...y?{modified:y}:{},..._(fr,g)?{owner:g}:{},..._(yr,v)?{specialGroups:v}:{}}}}function de(t){let e=Le(t),{filters:r,num:s,sortField:a,sortOrder:n,start:i}=e,{access:l,created:c,memberOrg:g,membership:v,modified:f,owner:y,specialGroups:A}=r,u={},U=t.get("searchTerm")?.trim()||void 0,b=t.get("q")?.trim()||void 0;return U&&(u.searchTerm=U),b&&(u.q=b),a&&(u.sortField=a),n&&(u.sortOrder=n),i&&(u.start=i),s&&(u.num=s),l&&(u.access=l),y&&(u.owner=y),v&&(u.membershipAccess=v),g&&(u.memberOrgIds=g),A&&(u.specialGroups=A),c?.range&&(u.created=c.range),c?.start&&(u.createdFrom=c.start.getTime()),c?.end&&(u.createdTo=c.end.getTime()),f?.range&&(u.modified=f.range),f?.start&&(u.modifiedFrom=f.start.getTime()),f?.end&&(u.modifiedTo=f.end.getTime()),u}function Gr(t){let e=new URLSearchParams(t.currentSearchParams);return Fr.forEach(r=>{e.delete(r)}),t.searchTerm?.trim()&&e.set("searchTerm",t.searchTerm.trim()),t.sortField&&e.set("sortField",t.sortField),t.sortOrder&&e.set("sortOrder",t.sortOrder),Object.values(t.filters??{}).forEach(r=>{if(r)switch(r.id){case"owner":r.owner&&e.set("owner",r.owner);break;case"access":r.access&&e.set("access",r.access);break;case"specialGroups":r.specialGroup&&e.set("specialGroups",r.specialGroup);break;case"memberOrg":r.memberOrg&&e.set("memberorgids",r.memberOrg);break;case"membership":r.membership&&e.set("membershipaccess",r.membership);break;case"created":Me(e,"created",r);break;case"modified":Me(e,"modified",r);break;default:V(r)}}),e}function ne(t,e="desc"){switch(t){case"owner":case"title":return"asc";case"created":case"modified":case"relevance":return"desc";default:return e}}function Or(t){let e,r,s,a=()=>{e?.();let i=or(()=>t.getStore().width,()=>{n()});e=()=>{i.remove()}},n=()=>{let i=t.getStore(),l=i.width||t.getHostWidth()||t.getViewportWidth(),c=Math.min(l,t.getViewportWidth());i.width!==c&&(i.width=c);let g=c>M.md?"large":"small";t.getResponsiveFormFactor()==="large"&&g==="small"&&(i.panel=!1,i.filtersExpanded=!1),t.getResponsiveFormFactor()==="small"&&g==="large"&&(i.panel=!1,i.filtersExpanded=!0),t.setResponsiveFormFactor(g)};return{connect:()=>{typeof ResizeObserver<"u"&&(r=new ResizeObserver(i=>{let l=i[0]?.contentRect?.width??0;if(l>0){let c=Math.round(l);t.setHostWidth(c),t.getStore().width=c,n()}}),r.observe(t.el)),a(),n()},disconnect:()=>{s!==void 0&&(cancelAnimationFrame(s),s=void 0),e?.(),r?.disconnect(),r=void 0},refreshStoreWatcher:a,handleWindowResize:()=>{if(t.setViewportWidth(window.innerWidth),!r){if(s!==void 0)return;s=requestAnimationFrame(()=>{s=void 0;let i=Math.round(t.el.getBoundingClientRect().width||t.getHostWidth()||t.getViewportWidth()),l=Math.min(i,t.getViewportWidth()),c=t.getStore();c.width!==l&&(c.width=l),n()});return}n()},updateResponsiveLayout:n}}function Sr(t){let e=!1,r=()=>!!t.getSearchParamInteraction()?.read,s=()=>!!t.getSearchParamInteraction()?.write;return{hydrateFromLocation:async()=>{if(!r()||typeof window>"u")return;let a=new URLSearchParams(window.location.search);await t.applySearchParams(a),t.onSearchParamsUpdate?.({phase:"hydrate",search:a.toString(),searchParams:a,searchParamMap:de(a)}),e=!0},writeToLocation:a=>{if(!s()||typeof window>"u")return;if(e){e=!1;return}let n=a.toString(),i=window.location.search.startsWith("?")?window.location.search.slice(1):window.location.search;if(n===i)return;let l=`${window.location.pathname}${n?`?${n}`:""}${window.location.hash}`;window.history.replaceState(window.history.state,"",l),t.onSearchParamsUpdate?.({phase:"write",search:n,searchParams:a,searchParamMap:de(a)})}}}var ce=["title","relevance","modified"],pe={queryParams:void 0,nextStart:-1,results:[],start:-1,num:0,total:0},Ee=["openData","sharedUpdate","distributed","admin","settings"],he=class extends $e{constructor(){super(),this._messages=ae({name:"portal-group-browser",blocking:!0}),this._browserMessages=ae({name:"portal-browser",blocking:!0}),this.responsiveLayoutController=Or({el:this.el,getStore:()=>this.store,getViewportWidth:()=>this.viewportWidth,setViewportWidth:e=>{this.viewportWidth=e},getHostWidth:()=>this.hostWidth,setHostWidth:e=>{this.hostWidth=e},getResponsiveFormFactor:()=>this.responsiveFormFactor,setResponsiveFormFactor:e=>{this.responsiveFormFactor=e}}),this.restoreFocusTarget=null,this.browserResponse=this.getBrowserResponseFromQueryResponse(pe),this.searchParamController=Sr({applySearchParams:async e=>{await this.applySearchParams(e)},getSearchParamInteraction:()=>this.searchParamInteraction,onSearchParamsUpdate:e=>{this.arcgisGroupBrowserSearchParamsUpdate.emit(e)}}),this.handleBrowserFilterClear=()=>{this.clearFilters()},this.handleBrowserFilterRemove=e=>{let r=e.detail;r&&this.removeFilter(r)},this.onDelegatedGroupCardSelect=e=>{this.handleGroupCardSelect(e)},this.onDelegatedGroupCardPreview=e=>{this.handleGroupCardPreview(e)},this.selectedOwner=null,this.selectedMembership=null,this.selectedMemberOrg=null,this.selectedSpecialGroup=null,this.selectedAccess=null,this.selectedGroups=[],this.previewGroup=null,this.queryResponse=pe,this.specialGroupOptions=Ee,this.responsiveFormFactor="large",this.viewportWidth=typeof window>"u"?M.lg:window.innerWidth,this.hostWidth=0,this.store=Pe({type:"group-browser",width:window?.innerWidth??M.lg,hiddenFilters:[],filtersEmpty:!1,topbarEmpty:!1,sortEmpty:!1,filtersExpanded:!1,panel:!1,filters:{}}),this.filters={},this.loading=!1,this.formFactor="large",this.height="full",this.searchTerm="",this.cards={},this.preview="top",this.q="",this.num=60,this.sort={enabled:!0,props:{options:ce}},this.searchParamInteraction={read:!1,write:!1},this.selection="none",this.alwaysShowSelection=!1,this.hidePreviewFooter=!1,this.hidePreviewBadges=!1,this.hasIndoorsSpaces=!1,this.arcgisGroupBrowserLoading=S(),this.arcgisGroupBrowserPreview=S(),this.arcgisGroupBrowserSelect=S(),this.arcgisGroupBrowserSublayerPreview=S(),this.arcgisGroupBrowserUpdate=S(),this.arcgisGroupBrowserInternalUIAction=S(),this.arcgisGroupBrowserUserFilterChange=S(),this.arcgisGroupBrowserSearchParamsUpdate=S(),this.arcgisAriaUpdate=S(),this.listen(Ie.select,this.onDelegatedGroupCardSelect),this.listen(Ie.preview,this.onDelegatedGroupCardPreview)}static{this.properties={selectedGroupsByUser:16,selectedOwner:16,selectedMembership:16,selectedMemberOrg:16,selectedSpecialGroup:16,selectedAccess:16,selectedGroups:16,previewGroup:16,queryResponse:16,specialGroupOptions:16,sortField:16,sortOrder:16,responsiveFormFactor:16,viewportWidth:16,hostWidth:16,store:0,filters:0,loading:5,formFactor:1,height:3,searchTerm:1,selected:0,cards:0,preview:1,q:1,portal:0,num:9,sort:0,fetch:0,preflight:0,searchUser:1,searchParamInteraction:0,selection:1,alwaysShowSelection:5,hidePreviewFooter:5,hidePreviewBadges:5,hasIndoorsSpaces:5}}static{this.styles=lr}get currentUsername(){return this.portal.user?.username??""}get selectedGroupsState(){return this.selectedGroups}get previewedGroupId(){return this.store.preview||void 0}async refresh(){await this.fetchGroups()}async clearFilters(){this.clearFiltersInternal(),await this.fetchGroups()}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",this.responsiveLayoutController.handleWindowResize),this.responsiveLayoutController.connect()}firstUpdated(){this.initializeBrowserState()}updated(e){e.has("store")&&(this.responsiveLayoutController.refreshStoreWatcher(),this.responsiveLayoutController.updateResponsiveLayout()),e.has("selected")&&(this.selectedGroups=this.selected||[]);let r=e.get("num");r!==void 0&&r!==this.num&&this.fetchGroups(),(e.has("portal")||e.has("hasIndoorsSpaces"))&&this.updateSpecialGroupOptions(),e.has("sort")&&this.syncSortFromConfig()}disconnectedCallback(){this.responsiveLayoutController.disconnect(),window.removeEventListener("resize",this.responsiveLayoutController.handleWindowResize),super.disconnectedCallback()}syncSelectionsFromConfig(){this.selectedGroupsByUser=this.filters.groupsByUser?.props?.selectedUsername??this.currentUsername,this.selectedOwner=this.filters.owner?.props?.owner||null,this.selectedMembership=this.filters.membership?.props?.membership||null,this.selectedMemberOrg=this.filters.memberOrg?.props?.memberOrg||null,this.selectedSpecialGroup=this.filters.specialGroups?.props?.specialGroup||null,this.selectedAccess=this.filters.access?.props?.access||null}async initializeBrowserState(){this.syncSortFromConfig(),this.selectedGroups=this.selected||[],this.syncSelectionsFromConfig(),await this.searchParamController.hydrateFromLocation(),await this.updateSpecialGroupOptions(!1),await this.fetchGroups()}resetSelectionByFilterId(e){switch(e){case"groupsByUser":this.selectedGroupsByUser=this.filters.groupsByUser?.props?.selectedUsername??this.currentUsername;break;case"owner":this.selectedOwner=null;break;case"membership":this.selectedMembership=null;break;case"memberOrg":this.selectedMemberOrg=null;break;case"specialGroups":this.selectedSpecialGroup=null;break;case"access":this.selectedAccess=null;break}}resetAllFilterSelections(){this.selectedGroupsByUser=this.filters.groupsByUser?.props?.selectedUsername??this.currentUsername,this.selectedOwner=null,this.selectedMembership=null,this.selectedMemberOrg=null,this.selectedSpecialGroup=null,this.selectedAccess=null}getSearchParamsSnapshot(e,r){return Gr({currentSearchParams:typeof window>"u"?void 0:new URLSearchParams(window.location.search),filters:this.store.filters,searchTerm:r,sortField:e.queryParams?.sortField,sortOrder:e.queryParams?.sortOrder})}publishFilterStateChange(){this.requestUpdate()}syncSortFromConfig(){let e=this.sort,r=e.props?.options??ce;if(!e.enabled){this.sortField=void 0,this.sortOrder=void 0;return}if(!r.length){this.sortField=void 0,this.sortOrder=void 0;return}let s=e.props?.field,a=s&&r.includes(s)?s:r[0];this.sortField=a,this.sortOrder=e.props?.order??ne(a,this.sortOrder)}async updateSpecialGroupOptions(e=!0){if(!this.portal){this.specialGroupOptions=[];return}let r="";try{r=await Ue(this.portal)}catch{r=""}if(this.specialGroupOptions=Ee.filter(s=>!(s==="openData"&&this.portal.isPortal||s==="distributed"&&this.hasIndoorsSpaces||s==="settings"&&!r)),this.selectedSpecialGroup&&!this.specialGroupOptions.includes(this.selectedSpecialGroup))if(e)this.removeFilter("specialGroups");else{let{specialGroups:s,...a}=this.store.filters;this.store.filters={...a},this.selectedSpecialGroup=null}}async applySearchParams(e){let r=Le(e);if(!this.searchTerm&&r.searchTerm&&(this.searchTerm=r.searchTerm),this.sort.enabled){let s=this.sort.props?.options??ce;r.sortField&&this.sort.props?.field===void 0&&s.includes(r.sortField)&&(this.sortField=r.sortField),r.sortOrder&&this.sort.props?.order===void 0?this.sortOrder=r.sortOrder:r.sortField&&this.sort.props?.order===void 0&&(this.sortOrder=ne(r.sortField,this.sortOrder))}await this.applyFilterSearchParams(r.filters)}async applyFilterSearchParams(e){let r={...this.store.filters},s=!1,a=j(this.portal.user);if(e.owner&&this.filters.owner?.enabled&&!this.filters.owner.props?.owner){let l=this.filters.owner.props?.username??this.currentUsername;r.owner={id:"owner",label:L(this._messages.owner.label,{label:this.getOwnerOptionLabel(e.owner,l,a)}),param:"q",value:J(e.owner,l,{isPublicUser:a,orgId:this.portal.id??""}),owner:e.owner,username:l},this.selectedOwner=e.owner,s=!0}e.membership&&this.filters.membership?.enabled&&!this.filters.membership.props?.membership&&(r.membership={id:"membership",label:L(this._messages.membership.label,{label:this._messages.membership[e.membership]}),param:"q",value:K(e.membership,this.hasIndoorsSpaces),membership:e.membership},this.selectedMembership=e.membership,s=!0),e.memberOrg&&this.filters.memberOrg?.enabled&&!this.filters.memberOrg.props?.memberOrg&&(r.memberOrg={id:"memberOrg",label:L(this._messages.memberOrg.label,{label:this._messages.memberOrg[e.memberOrg]}),param:"q",value:X(e.memberOrg,this.filters.memberOrg.props?.orgId??this.portal.id??""),memberOrg:e.memberOrg,orgId:this.filters.memberOrg.props?.orgId??this.portal.id??""},this.selectedMemberOrg=e.memberOrg,s=!0),e.specialGroups&&this.filters.specialGroups?.enabled&&!this.filters.specialGroups.props?.specialGroup&&(r.specialGroups={id:"specialGroups",label:L(this._messages.specialGroups.label,{label:this._messages.specialGroups[e.specialGroups]}),param:"q",value:await Y(e.specialGroups,this.portal),specialGroup:e.specialGroups},this.selectedSpecialGroup=e.specialGroups,s=!0),e.access&&this.filters.access?.enabled&&!this.filters.access.props?.access&&(r.access={id:"access",label:L(this._messages.access.label,{label:this._messages.access[e.access]}),param:"q",value:Z(e.access),access:e.access},this.selectedAccess=e.access,s=!0);let n=this.getDateFilterDetailFromSearchParams("created",e.created);n&&(r.created=n,s=!0);let i=this.getDateFilterDetailFromSearchParams("modified",e.modified);i&&(r.modified=i,s=!0),s&&(this.store.filters=r,this.publishFilterStateChange())}getDateFilterDetailFromSearchParams(e,r){let s=this.filters[e];if(!s?.enabled||s.props?.range||s.props?.start||s.props?.end||!r?.range)return;let a=mr(r.range,r.start,r.end);if(!a)return;let n=this._browserMessages.filterDate[r.range],[i,l]=a;return{id:e,label:L(this._browserMessages.filterDate[e],{date:n}),param:"q",value:`(${s.props?.serverProperty??(e==="modified"?"modified":"uploaded")}:[${i} TO ${l}])`,range:r.range,start:new Date(i),end:new Date(l)}}getOwnerOptionLabel(e,r,s){return e==="owner"?r:e==="outsideOrg"&&s?this._messages.owner.someoneElse:e==="inOrg"?this._messages.owner.inOrg:this._messages.owner.outsideOrg}writeSearchParams(e){this.searchParamController.writeToLocation(e)}async fetchGroups(){this.loading=!0,this.arcgisGroupBrowserLoading.emit();let e=this.createQuery();await this.fetchAndEmit(e,this.searchTerm)}removeFilter(e){let r=this.store.filters[e];r&&(this.store.filters={...this.store.filters,[e]:_e(r)},this.resetSelectionByFilterId(e),this.publishFilterStateChange(),this.fetchGroups())}clearFiltersInternal(){this.store.filters=Be(this.store.filters,{hiddenFilterIds:this.store.hiddenFilters}),this.resetAllFilterSelections(),this.publishFilterStateChange(),this.fetchGroups()}isFilterActive(e){let r=this.store.filters[e];return r?!!(r.value||"additionalParams"in r&&r.additionalParams):!1}setFilterSelection(e){switch(e.kind){case"owner":this.selectedOwner=e.value;break;case"membership":this.selectedMembership=e.value;break;case"memberOrg":this.selectedMemberOrg=e.value;break;case"access":this.selectedAccess=e.value;break;case"groupsByUser":this.selectedGroupsByUser=e.value;break;case"specialGroups":this.selectedSpecialGroup=e.value;break;default:V(e)}}selectGroup(e){this.isSelected(e)||(this.selectedGroups=[...this.selectedGroups,e])}deselectGroup(e){this.selectedGroups=this.selectedGroups.filter(({id:r})=>r!==e.id)}isSelected(e){return this.selectedGroups.some(({id:r})=>e.id===r)}handleGroupCardSelect(e){let{selected:r,group:s}=e.detail;switch(this.selection){case"single":this.selectedGroups=[s];break;case"multiple":r?this.selectGroup(s):this.deselectGroup(s);break;default:return}this.arcgisGroupBrowserSelect.emit(this.selectedGroups)}handleGroupCardPreview(e){let r=e.detail;if(this.store.filtersExpanded=!1,!r||this.store.preview===r.id){this.closePreview();return}this.restoreFocusTarget=this.getRestoreFocusTarget(e.target),this.store.preview=r.id,this.previewGroup=r,this.arcgisGroupBrowserPreview.emit(r)}getRestoreFocusTarget(e){return!e||!(e instanceof HTMLElement)?null:e}closePreview(e={}){this.store.preview=null,this.previewGroup=null,this.arcgisGroupBrowserPreview.emit(null),this.arcgisGroupBrowserSublayerPreview.emit(null),e.restoreFocus&&this.restorePreviewFocus()}async restorePreviewFocus(){let e=this.restoreFocusTarget;if(e){if(e.restoreFocus){await e.restoreFocus();return}if(e.setFocus){await e.setFocus();return}e.focus?.()}}async handleSortFieldChange(e){this.sortField=e,this.sortOrder=ne(e,this.sortOrder),this.loading=!0,this.arcgisGroupBrowserLoading.emit();let r=this.createQuery({start:1,total:0});await this.fetchAndEmit(r,this.searchTerm)}async handleSortOrderChange(e){this.sortOrder=e,this.loading=!0,this.arcgisGroupBrowserLoading.emit();let r=this.createQuery({start:1,total:0});await this.fetchAndEmit(r,this.searchTerm)}emitUpdate(e,r){let s=e.queryParams,a=this.getSearchParamsSnapshot(e,r),n=de(a);this.arcgisGroupBrowserUpdate.emit({queryResponse:e,sortField:s?.sortField,sortOrder:s?.sortOrder,selectedGroups:this.selectedGroups,filters:{...this.store.filters},searchTerm:r,searchParamMap:n}),this.writeSearchParams(a)}async queryGroups(e){return await(this.fetch?.(e)??nr(this.portal,e))}async fetchAndEmit(e,r){this.preflight&&(e=await this.preflight(e));let s=await this.queryGroups(e);this.queryResponse=s,this.browserResponse=this.getBrowserResponseFromQueryResponse(s),this.loading=!1,this.emitUpdate(s,r)}createQuery(e={}){return{filters:this.store.filters,searchUser:this.searchUser,searchTerm:e.searchTerm??this.searchTerm,baseQuery:this.q,sortField:this.sortField,sortOrder:this.sortOrder,start:e.start??1,num:e.num??this.num,total:e.total??this.queryResponse.total}}async handleSearch(e){this.searchTerm=e,this.loading=!0,this.arcgisGroupBrowserLoading.emit();let r=this.createQuery({searchTerm:e});await this.fetchAndEmit(r,e)}async handlePage({num:e,start:r,total:s}){this.loading=!0,this.arcgisGroupBrowserLoading.emit();let a=this.createQuery({start:r,num:e,total:s});await this.fetchAndEmit(a,this.searchTerm)}getBrowserResponseFromQueryResponse(e){let{nextStart:r,num:s,queryParams:a,results:n,start:i,total:l}=e??pe;return{nextStart:r??-1,num:s??a?.num??0,results:n,start:i??a?.start??1,total:l}}async formatRange({start:e,end:r,total:s}){if(this._messages._lang==="en")return[`${e}-${r} of ${s}`,`${e}-${r} of ${s} group${s==="1"?"":"s"}`];let a=this._messages.browser,n={start:e,end:r,total:s},i=oe(a.pageRange,n),l=oe(a.pageRangeAria,n);return[i,l]}getPreviewFooterActionsEmpty(){return!this.el?.querySelector('[slot="preview-footer-action"]')}renderTopBar(){return p`<arcgis-portal-browser-top-bar slot=top-bar .store=${this.store}><arcgis-portal-browser-search slot=search .store=${this.store} .term=${this.searchTerm} @arcgisBrowserSearch=${e=>{this.handleSearch(e.detail)}}></arcgis-portal-browser-search></arcgis-portal-browser-top-bar>`}renderEmptyTextSlot(e,r){return p`<div slot=${e??w} class="empty-text-slot"><slot name=${e??w}><p class="empty-text-slot__default">${r}</p></slot></div>`}renderDefaultContent(){let e=new Set(this.selectedGroups.map(i=>i.id)),r=!!this.el.querySelector('[slot="group-cards"]'),s=this.store.view??"list",a=this.queryResponse.results.map(i=>{let l=this.cards.group,c=typeof l=="function"?l(i):{};return{group:i,cardProps:c}}),n=a.length>0&&s==="compact";return p`<div slot=content class=${D({"group-browser__results":!0,"group-browser__results--compact":n})} .part=${"results"}>${r?p`<slot name=group-cards></slot>`:p`<slot name=group-cards>${a.map(({group:i,cardProps:l})=>{let c=i.id;return Ge(c,p`<arcgis-portal-group-card class="group-browser__result-card" .portal=${this.portal} .group=${i} .user=${l.user} .indeterminate=${l.indeterminate} .view=${s} .selection=${this.selection} .selected=${e.has(c)} .preview=${l.preview??this.preview} .previewed=${l.previewed??this.store.preview===c} .name=${l.name} .showSummary=${l.showSummary??!0} .hideBadges=${l.hideBadges??!1} .hideDateUpdated=${l.hideDateUpdated??!1} .showDateCreated=${l.showDateCreated??!1} .hideViewableBy=${l.hideViewableBy??!1} .hideOwner=${l.hideOwner??!1} .link=${l.link} .linkHandler=${l.linkHandler} .newTab=${l.newTab??!1} .disabled=${l.disabled??!1}></arcgis-portal-group-card>`)})}</slot>`}</div>`}render(){let e=this.responsiveFormFactor==="small"?"small":this.formFactor;return p`<arcgis-portal-browser .store=${this.store} .response=${this.browserResponse} .loading=${this.loading} .formFactor=${e} .height=${this.height} .searchTerm=${this.searchTerm} .rangeFormatter=${this.formatRange} .selected=${this.selectedGroups} .alwaysShowSelection=${this.alwaysShowSelection} @arcgisBrowserFilterClear=${this.handleBrowserFilterClear} @arcgisBrowserFilterRemove=${this.handleBrowserFilterRemove} @arcgisAriaUpdate=${r=>{this.arcgisAriaUpdate.emit(r.detail)}}><slot name=top-bar slot=top-bar>${this.renderTopBar()}</slot><slot name=content-start slot=content-start></slot><slot name=selection slot=selection></slot><slot name=actions slot=actions></slot><slot name=view slot=view></slot>${Re({slot:"sort",sort:this.sort,formFactor:e,sortField:this.sortField,sortOrder:this.sortOrder,onSortFieldChange:r=>{this.handleSortFieldChange(r)},onSortOrderChange:r=>{this.handleSortOrderChange(r)}})}${this.renderDefaultContent()}${ke({slot:"pagination",store:this.store,total:this.queryResponse.total,start:this.queryResponse?.queryParams?.start??1,num:this.queryResponse?.queryParams?.num??this.num,onPage:r=>{this.handlePage(r)}})}<slot name=content-end slot=content-end></slot><slot name=preview slot=preview>${this.previewGroup&&p`<arcgis-portal-group-browser-preview .group=${this.previewGroup} .portal=${this.portal} .user=${this.portal.user??void 0} .hideBadges=${this.hidePreviewBadges} .hidePreviewFooter=${this.hidePreviewFooter} .currentResponse=${this.queryResponse} .previewFooterActionsSpaced=${!this.getPreviewFooterActionsEmpty()} @arcgisGroupBrowserInternalUIAction=${r=>{this.arcgisGroupBrowserInternalUIAction.emit(r.detail)}} @arcgisGroupBrowserPreviewClose=${()=>{this.closePreview({restoreFocus:!0})}}><slot name=preview-footer-action slot=footer-action></slot></arcgis-portal-group-browser-preview>`||""}</slot>${this.renderEmptyTextSlot("no-results",this._messages.content.noResults)}${this.renderEmptyTextSlot("no-content",this._messages.content.noContent)}<slot name=scroll-end slot=scroll-end></slot>${Ae({slot:"filters",filters:this.filters,messages:this._messages,browserMessages:this._browserMessages,store:this.store,portal:this.portal,hasIndoorsSpaces:this.hasIndoorsSpaces,selectedGroupsByUser:this.selectedGroupsByUser,selectedOwner:this.selectedOwner,selectedMembership:this.selectedMembership,selectedMemberOrg:this.selectedMemberOrg,selectedSpecialGroup:this.selectedSpecialGroup,specialGroupOptions:this.specialGroupOptions,selectedAccess:this.selectedAccess,isFilterActive:r=>this.isFilterActive(r),handleSelect:r=>{this.setFilterSelection(r)},handleUserFilterChange:r=>{this.arcgisGroupBrowserUserFilterChange.emit(r)},handleRemove:r=>{this.removeFilter(r)},handleUpsert:r=>{this.store.filters={...this.store.filters,[r.id]:r},this.publishFilterStateChange(),this.fetchGroups()}})}</arcgis-portal-browser>`}};Fe("arcgis-portal-group-browser",he);return he},"intl","portal/PortalGroup","intl","core/reactiveUtils","intl",a,b,c,d,e,f,g,h,i,k,l,m,n)
|
|
2
|
+
import{a as j}from"./6KVA4AKM.js";import{a as oe,b as xe}from"./4QA4AYHJ.js";import"./SMGYUJIK.js";import n from"./6BX4RC2Y.js";import m from"./6GH5BOHH.js";import l from"./CVOWIH4J.js";import"./CFBSBZSS.js";import k from"./E5Q46O7J.js";import"./LDTVM22U.js";import"./ILDTKRON.js";import i from"./MT4QAG2X.js";import h from"./RJR5FQIQ.js";import g from"./HLZECIZI.js";import"./G2CJ5PLI.js";import f from"./OTLSI3AA.js";import{a as D}from"./FJSGWELR.js";import"./OBBYT2AV.js";import"./DFTUMKSN.js";import e from"./HWPV6BAO.js";import d from"./ZJ7GT4N2.js";import"./UZCHLKLO.js";import c from"./RBGARTND.js";import{a as Ge}from"./VQKLCN3V.js";import b from"./F3ODJVJC.js";import"./EHQVLI6M.js";import a from"./OUFIJDIW.js";import{a as Oe}from"./VMQIDO4Z.js";import"./QS3GXAIH.js";import{a as V,c as _}from"./2GBRZSEC.js";import{a as ae}from"./ACCEI7S4.js";import"./S7IRYX4A.js";import"./VJ4STLVD.js";import{M as $e,N as E,P as w,S as Fe,h as ye,j as p,w as S}from"./4PPXBKIJ.js";import"./UZLQALHY.js";export default $arcgis.t(([{substitute:L},ar,{substitute:tr},{watch:or},{substitute:M},{b:Se},,,,{c:Pe},,,,{a:_e,b:Be},,,{a:Ue,b:J,c:K,d:X,e:Y,f:Z}])=>{function B(t){let{action:e,active:r=!1,clearDisabled:s=!1,clearLabel:a="Clear",children:n,expanded:i=!1,heading:l,noPadding:c=!1,onRemove:g,primary:v=!1,setExpanded:f}=t;return v?p`<div class="filter--primary"><div class="filter__header filter__header--primary"><h3 class="filter__title">${l}</h3>${e}</div>${n}</div>`:p`<calcite-accordion-item class="filter__accordion-item" .heading=${l} .expanded=${i} @calciteAccordionItemExpand=${()=>{f?.(!0)}} @calciteAccordionItemCollapse=${()=>{f?.(!1)}}><div slot=actions-end class="filter__actions-slot arcgis-item-browser-filter__actions-slot">${e}${r&&!s&&p`<calcite-button class="clear-button" scale=s kind=neutral appearance=transparent @click=${()=>g?.()}>${a}</calcite-button>`||""}</div><div class=${E({filter__content:!0,"filter__content--padded":!c})}>${n}</div></calcite-accordion-item>`}var q=1440*60*1e3;function $(t){let e=typeof t=="string"?Number.parseInt(t,10):typeof t=="number"?t:(t??new Date).valueOf(),r=new Date(e);return r.setHours(0,0,0,0),r.valueOf()}function x(t){return $(t)+q-1}var le=7*q,Ce=["today","yesterday","last7","last30","never","custom"],sr=(t,e,r)=>{let s=$(),a=x();switch(t){case"yesterday":return[s-q,s-1];case"today":return[s,a];case"last7":return[s-le,a];case"last30":return[s-q*30,a];case"never":return[-1,-1];case"custom":return e&&r?[$(e),x(r)]:null;default:return null}};function Te(t){let{clearLabel:e,end:r,expanded:s,filterDateMessages:a,includeNever:n,onFilter:i,onRemove:l,property:c,range:g,serverProperty:v,setExpanded:f,start:y}=t,A=a.title[c],u=n?Ce:Ce.filter(m=>m!=="never"),U=new Date().toISOString().slice(0,10),b=!!(g&&(g!=="custom"||y&&r)),O=(m,P,F)=>{let C=v??(c==="modified"?"modified":"uploaded"),G=sr(m,P,F),I=m?a[m]:"";i?.({id:c,label:m?tr(a[c],{date:I}):"",value:G?`(${C}:[${G[0]} TO ${G[1]}])`:"",range:m,start:G?new Date(G[0]):void 0,end:G?new Date(G[1]):void 0})};return B({heading:A,expanded:s,setExpanded:f,active:b,clearLabel:e,onRemove:l,children:p`<div><calcite-tree selection-mode=children scale=m @calciteTreeSelect=${m=>{let P=m.target.selectedItems?.[0]?.dataset.range,F=g===P?null:P;if(!F){l?.();return}O(F,y,r)}}>${u.map(m=>p`<calcite-tree-item data-range=${m??w} .selected=${m===g}>${a[m]}</calcite-tree-item>`)}</calcite-tree>${g==="custom"&&p`<calcite-input-date-picker class="custom-date-picker" @calciteInputDatePickerChange=${m=>{let P=m.target.valueAsDate,[F,C]=Array.isArray(P)?P:[];F&&C&&O("custom",F,C)}} scale=s .max=${U} calendars=1 layout=vertical month-style=abbreviated proximity-selection-disabled range .valueAsDate=${y&&r?[new Date($(y)),new Date($(r))]:[]}></calcite-input-date-picker>`||""}</div>`})}var ir=["title","relevance","modified"];function Re(t){let{slot:e="sort",sort:r,formFactor:s,sortField:a,sortOrder:n,onSortFieldChange:i,onSortOrderChange:l}=t;return r.enabled?p`<arcgis-portal-browser-sort slot=${e??w} .options=${r.props?.options??ir} .field=${a} .order=${n} .appearance=${r.props?.appearance??"dropdown"} .showText=${r.props?.showText??s!=="small"} .useDeleted=${r.props?.useDeleted??!1} @arcgisBrowserSortFieldChange=${c=>{i(c.detail)}} @arcgisBrowserSortOrderChange=${c=>{l(c.detail)}}></arcgis-portal-browser-sort>`:p`<slot name=${e??w} slot=${e??w}></slot>`}function ke(t){let{slot:e="pagination",store:r,total:s,start:a,num:n,onPage:i}=t;return p`<slot name=${e??w} slot=${e??w}><arcgis-portal-browser-pagination .store=${r} .total=${s} .start=${a} .num=${n} @arcgisBrowserPage=${l=>{i(l.detail)}}></arcgis-portal-browser-pagination></slot>`}function qe(t){let{bottom:e,children:r,primary:s,slot:a,store:n,title:i,top:l}=t,c=!!n?.panel||(n?.width??0)<D.sm;return p`<div slot=${a??w} class="filters-shell" .inert=${!!n?.preview}><div class=${E({"filters-shell__top":!0,"filters-shell__top--padded":c})}>${l}</div>${s}${i}<calcite-accordion appearance=transparent icon-type=chevron icon-position=start scale=m>${r}</calcite-accordion>${e}</div>`}function Ae(t){let{browserMessages:e,slot:r,filters:s,hasIndoorsSpaces:a,isFilterActive:n,messages:i,portal:l,selectedAccess:c,selectedGroupsByUser:g,selectedMemberOrg:v,selectedMembership:f,selectedOwner:y,selectedSpecialGroup:A,specialGroupOptions:u,store:U,handleRemove:b,handleSelect:O,handleUpsert:m,handleUserFilterChange:P}=t,F=l.isPortal,C=l.user,G=j(C),I=C?.username??"",We=o=>o===I?M(i.groupsByUser.me,{username:o}):o,me=(o,d)=>o==="owner"?d:o==="outsideOrg"&&G?i.owner.someoneElse:o==="inOrg"?i.owner.inOrg:o==="outsideOrg"?i.owner.outsideOrg:d,Q=s.owner,ue=y??Q?.props?.owner??null,H=Q?.props?.username??I,ze=l.id??"",Qe=G?["owner","outsideOrg"]:["owner","inOrg","outsideOrg"],re=s.membership,ge=f??re?.props?.membership??null,He=["org","collaboration","anyOrg"],N=s.memberOrg,we=v??N?.props?.memberOrg??null,Ne=N?.props?.orgId??l.id??"",Ve=["myOrg","anotherOrg"],te=s.specialGroups,fe=A??te?.props?.specialGroup??null,se=s.access,be=c??se?.props?.access??null,je=["public","org","private"],W=s.groupsByUser,ve=W?.props?.usernames??[],Je=W?.props?.selectedUsername??g??ve[0]??I,T=e.filter.clear,R=(o,d)=>{let h=s[o];h&&(h.props={...h.props,expanded:d})},Ke=o=>{if(o.assignedElements({flatten:!0}).length>0){o.setAttribute("data-has-before-filters","true");return}o.removeAttribute("data-has-before-filters")};return qe({slot:r,store:U,title:p`<div class="filters-title"><h2 class="filters-title__heading">${i.filters.title}</h2><slot name=before-filters @slotchange=${o=>Ke(o.currentTarget)}></slot></div>`,children:p`${!!W?.enabled&&B({heading:i.groupsByUser.title,expanded:!!W?.props?.expanded,setExpanded:o=>R("groupsByUser",o),clearLabel:T,onRemove:()=>{O({kind:"groupsByUser",value:W?.props?.selectedUsername??I})},children:p`<calcite-tree selection-mode=single scale=m @calciteTreeSelect=${o=>{let d=o.target.selectedItems?.[0]?.dataset.username??"";O({kind:"groupsByUser",value:d}),P(d)}}>${ve.map(o=>p`<calcite-tree-item data-username=${o??w} .selected=${o===Je}><a class="groups-by-user__label">${We(o)}</a></calcite-tree-item>`)}</calcite-tree>`})||""}${!!Q?.enabled&&B({heading:i.owner.title,expanded:!!Q?.props?.expanded,setExpanded:o=>R("owner",o),active:n("owner"),clearLabel:T,onRemove:()=>b("owner"),children:p`<calcite-tree selection-mode=single scale=m @calciteTreeSelect=${o=>{let d="owner",h=z(ue,o,d);if(!h){b(d);return}m({id:d,label:M(i.owner.label,{label:me(h,H)}),param:"q",value:J(h,H,{isPublicUser:G,orgId:ze}),owner:h,username:H}),O({kind:d,value:h})}}>${Qe.filter(o=>!(F||a)||o!=="outsideOrg").map(o=>p`<calcite-tree-item data-owner=${o??w} .selected=${ue===o}>${me(o,H)}</calcite-tree-item>`)}</calcite-tree>`})||""}${!!(re?.enabled&&!F&&!a)&&B({heading:i.membership.title,expanded:!!re?.props?.expanded,setExpanded:o=>R("membership",o),active:n("membership"),clearLabel:T,onRemove:()=>b("membership"),children:p`<calcite-tree selection-mode=single scale=m @calciteTreeSelect=${o=>{let d="membership",h=z(ge,o,d);if(!h){b(d);return}m({id:d,label:M(i.membership.label,{label:i.membership[h]}),param:"q",value:K(h,a),membership:h}),O({kind:d,value:h})}}>${He.map(o=>p`<calcite-tree-item data-membership=${o??w} .selected=${ge===o}>${i.membership[o]}</calcite-tree-item>`)}</calcite-tree>`})||""}${!!(N?.enabled&&!F)&&B({heading:i.memberOrg.title,expanded:!!N?.props?.expanded,setExpanded:o=>R("memberOrg",o),active:n("memberOrg"),clearLabel:T,onRemove:()=>b("memberOrg"),children:p`<calcite-tree selection-mode=single scale=m @calciteTreeSelect=${o=>{let d="memberOrg",h=z(we,o,d);if(!h){b(d);return}m({id:d,label:M(i.memberOrg.label,{label:i.memberOrg[h]}),param:"q",value:X(h,Ne),memberOrg:h}),O({kind:d,value:h})}}>${Ve.map(o=>p`<calcite-tree-item data-member-org=${o??w} .selected=${we===o}>${i.memberOrg[o]}</calcite-tree-item>`)}</calcite-tree>`})||""}${te?.enabled&&B({heading:i.specialGroups.title,expanded:!!te.props?.expanded,setExpanded:o=>R("specialGroups",o),active:n("specialGroups"),clearLabel:T,onRemove:()=>b("specialGroups"),children:p`<calcite-tree selection-mode=single scale=m @calciteTreeSelect=${async o=>{let d="specialGroups",h=z(fe,o,d);if(!h){b(d);return}let ie=await Y(h,l);m({id:"specialGroups",label:M(i.specialGroups.label,{label:i.specialGroups[h]}),param:"q",value:ie,specialGroup:h}),O({kind:"specialGroups",value:h})}}>${u.map(o=>p`<calcite-tree-item data-special-groups=${o??w} .selected=${fe===o}><span class="special-groups-settings-option">${i.specialGroups[o]}${o==="settings"&&p`<span class="special-groups-settings-icon"><calcite-icon id=portal-group-browser-special-groups-settings-info icon=information scale=s text-label=Information></calcite-icon><calcite-tooltip placement=bottom-end reference-element=portal-group-browser-special-groups-settings-info>Groups used in organization settings.</calcite-tooltip></span>`||""}</span></calcite-tree-item>`)}</calcite-tree>`})||""}${["modified","created"].filter(o=>s[o]?.enabled).map(o=>{let d=s[o]?.props,h=U.filters[o],ie=!!d?.includeNever,Xe=h?.range??d?.range??null,Ye=h?.start??d?.start,Ze=h?.end??d?.end,er=d?.serverProperty,rr=d?.expanded;return Te({property:o,filterDateMessages:e.filterDate,clearLabel:T,expanded:rr,setExpanded:k=>R(o,k),includeNever:ie,range:Xe,start:Ye,end:Ze,serverProperty:er,onRemove:()=>{m({id:o,label:"",param:"q",value:"",range:null,start:null,end:null})},onFilter:k=>{m({id:o,label:k.label,param:"q",value:k.value,range:k.range,start:k.start,end:k.end})}})})}${!!se?.enabled&&B({heading:i.access.title,expanded:!!se?.props?.expanded,setExpanded:o=>R("access",o),active:n("access"),clearLabel:T,onRemove:()=>b("access"),children:p`<calcite-tree selection-mode=single scale=m @calciteTreeSelect=${o=>{let d="access",h=z(be,o,d);if(!h){b(d);return}m({id:d,label:M(i.access.label,{label:i.access[h]}),param:"q",value:Z(h),access:h}),O({kind:d,value:h})}}>${je.map(o=>p`<calcite-tree-item data-access=${o??w} .selected=${be===o}>${i.access[o]}</calcite-tree-item>`)}</calcite-tree>`})||""}`})}var z=(t,e,r)=>{let s=e.target.selectedItems?.[0]?.dataset[r];return t===s?null:s??null};var Ie={select:"arcgisGroupCardSelect",preview:"arcgisGroupBrowserCardPreview"},lr=ye`:host{position:relative;background-color:var(--calcite-color-background);display:flex;flex-direction:column;height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;--portal-group-browser-max-width: var(--group-browser-max-width, 100%);--portal-group-browser-pane-width: 18.75rem;--portal-group-browser-pane-z-index: 11;container-type:inline-size;container-name:portal-group-browser}arcgis-portal-browser{--arcgis-browser-max-width: var(--portal-group-browser-max-width);--arcgis-browser-pane-width: var(--portal-group-browser-pane-width);--arcgis-browser-pane-z-index: var(--portal-group-browser-pane-z-index)}.filters-title__heading{color:var(--calcite-color-text-1);font-size:var(--calcite-font-size-0);font-weight:var(--calcite-font-weight-medium);line-height:1.2;margin:0;padding:1rem .5rem}.filters-title:has(>slot[name=before-filters][data-has-before-filters=true]) .filters-title__heading{border-bottom:1px solid var(--calcite-color-border-2)}.filters-shell{display:block}.filters-shell__top{padding:0}.filters-shell__top--padded{padding:0 1rem 1rem}.filter__accordion-item{--calcite-accordion-item-content-space: .75rem .25rem;--calcite-accordion-icon-margin: .5rem;border-top:1px solid var(--calcite-color-border-1)}.filter__actions-slot{display:flex;align-self:center;align-items:center;line-height:0}.filter__content{margin:0}.filter__content--padded{margin:-.75rem .5rem 0}.filter__content>calcite-tree>calcite-tree-item>a{padding-block:.25rem}.clear-button{line-height:1;margin-inline:.25rem}.custom-date-picker{margin-block:.5rem;margin-inline-start:1.75rem;width:12.75rem}.groups-by-user__label{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.special-groups-settings-option{display:inline-flex;align-items:center;gap:.25rem}.special-groups-settings-icon{display:inline-flex;align-items:center}.group-browser__results{display:grid;gap:.5rem}.group-browser__results--compact{gap:0}.group-browser__result-card{margin:0}@container portal-group-browser (max-width: 640px){:host{--portal-group-browser-pane-width: 100%}}.empty-text-slot{width:100%;height:100%;display:flex;justify-content:center}.empty-text-slot__default{@apply max-w-lg mx-auto px-6 pb-16;max-width:32rem;margin-inline:auto;padding-inline:1.5rem;padding-bottom:4rem;margin-top:min(8rem,30vh)}`;async function nr(t,e){let r=`${Oe(t)}community/groups`,s=dr(e),a=hr(e),n=!!e.searchUser?.trim();if(!s.trim()&&!n)return{nextStart:-1,num:0,q:s,queryParams:{...a,q:s},results:[],start:0,total:0};let i={...a,q:s},l=await Se({url:r,portal:t,params:i}),c=l.results.map(g=>{let v=ar.fromJSON(g);return v.portal=t,v});return{...l,q:s,queryParams:i,results:c}}var cr=["created","modified","owner","title"];function pr(t){return!!t&&cr.includes(t)}function dr(t){let e=[],r=t.baseQuery?.trim();r&&e.push(`(${r})`);let s=t.searchTerm?.trim();s&&e.push(`(${xe(s)})`);for(let a of Object.values(t.filters??{}))typeof a.value=="string"&&a.value.trim()&&e.push(`(${a.value.trim()})`),typeof a.additionalParams=="string"&&a.additionalParams.trim()&&e.push(`(${a.additionalParams.trim()})`);return e.join(" AND ")}function hr(t){return{num:t.num,start:t.start,...t.searchUser?{searchUserAccess:"groupMember",searchUserName:t.searchUser}:{},...t.sortField==="relevance"||!pr(t.sortField)?{}:{sortField:t.sortField,sortOrder:t.sortOrder}}}function mr(t,e,r){switch(t){case"yesterday":{let s=$();return[s-q,s-1]}case"today":return[$(),x()];case"last7":return[$()-le,x()];case"last30":return[$()-q*30,x()];case"never":return[-1,-1];case"custom":return e&&r?[$(e),x(r)]:null;default:return V(t)}}var ur=["created","modified","owner","relevance","title"],gr=["asc","desc"],wr=["custom","last7","last30","never","today","yesterday"],fr=["inOrg","outsideOrg","owner"],br=["anyOrg","collaboration","org"],vr=["anotherOrg","myOrg"],yr=["admin","distributed","openData","settings","sharedUpdate"],$r=["org","private","public"],Fr=["access","created","created_from","created_to","memberorgids","membershipaccess","modified","modified_from","modified_to","owner","q","searchTerm","sortField","sortOrder","specialGroups","start","num"];function ee(t){if(!t)return;let e=Number.parseInt(t,10);return Number.isFinite(e)&&e>0?e:void 0}function Ee(t,e){let r=t.get(e);if(!_(wr,r))return;if(r!=="custom")return{range:r};let s=ee(t.get(`${e}_from`)),a=ee(t.get(`${e}_to`));if(!(!s||!a))return{range:r,start:new Date(s),end:new Date(a)}}function De(t,e,r){r?.range&&(t.set(e,r.range),r.range==="custom"&&(r.start&&t.set(`${e}_from`,`${$(r.start)}`),r.end&&t.set(`${e}_to`,`${x(r.end)}`)))}function Le(t){let e=t.get("searchTerm")?.trim()||t.get("q")?.trim()||void 0,r=t.get("sortField"),s=t.get("sortOrder"),a=ee(t.get("start")),n=ee(t.get("num")),i=t.get("access"),l=t.get("memberorgids"),c=t.get("membershipaccess"),g=t.get("owner"),v=t.get("specialGroups"),f=Ee(t,"created"),y=Ee(t,"modified");return{...e?{searchTerm:e}:{},..._(ur,r)?{sortField:r}:{},..._(gr,s)?{sortOrder:s}:{},...a?{start:a}:{},...n?{num:n}:{},filters:{..._($r,i)?{access:i}:{},...f?{created:f}:{},..._(vr,l)?{memberOrg:l}:{},..._(br,c)?{membership:c}:{},...y?{modified:y}:{},..._(fr,g)?{owner:g}:{},..._(yr,v)?{specialGroups:v}:{}}}}function de(t){let e=Le(t),{filters:r,num:s,sortField:a,sortOrder:n,start:i}=e,{access:l,created:c,memberOrg:g,membership:v,modified:f,owner:y,specialGroups:A}=r,u={},U=t.get("searchTerm")?.trim()||void 0,b=t.get("q")?.trim()||void 0;return U&&(u.searchTerm=U),b&&(u.q=b),a&&(u.sortField=a),n&&(u.sortOrder=n),i&&(u.start=i),s&&(u.num=s),l&&(u.access=l),y&&(u.owner=y),v&&(u.membershipAccess=v),g&&(u.memberOrgIds=g),A&&(u.specialGroups=A),c?.range&&(u.created=c.range),c?.start&&(u.createdFrom=c.start.getTime()),c?.end&&(u.createdTo=c.end.getTime()),f?.range&&(u.modified=f.range),f?.start&&(u.modifiedFrom=f.start.getTime()),f?.end&&(u.modifiedTo=f.end.getTime()),u}function Gr(t){let e=new URLSearchParams(t.currentSearchParams);return Fr.forEach(r=>{e.delete(r)}),t.searchTerm?.trim()&&e.set("searchTerm",t.searchTerm.trim()),t.sortField&&e.set("sortField",t.sortField),t.sortOrder&&e.set("sortOrder",t.sortOrder),Object.values(t.filters??{}).forEach(r=>{if(r)switch(r.id){case"owner":r.owner&&e.set("owner",r.owner);break;case"access":r.access&&e.set("access",r.access);break;case"specialGroups":r.specialGroup&&e.set("specialGroups",r.specialGroup);break;case"memberOrg":r.memberOrg&&e.set("memberorgids",r.memberOrg);break;case"membership":r.membership&&e.set("membershipaccess",r.membership);break;case"created":De(e,"created",r);break;case"modified":De(e,"modified",r);break;default:V(r)}}),e}function ne(t,e="desc"){switch(t){case"owner":case"title":return"asc";case"created":case"modified":case"relevance":return"desc";default:return e}}function Or(t){let e,r,s,a=()=>{e?.();let i=or(()=>t.getStore().width,()=>{n()});e=()=>{i.remove()}},n=()=>{let i=t.getStore(),l=i.width||t.getHostWidth()||t.getViewportWidth(),c=Math.min(l,t.getViewportWidth());i.width!==c&&(i.width=c);let g=c>D.md?"large":"small";t.getResponsiveFormFactor()==="large"&&g==="small"&&(i.panel=!1,i.filtersExpanded=!1),t.getResponsiveFormFactor()==="small"&&g==="large"&&(i.panel=!1,i.filtersExpanded=!0),t.setResponsiveFormFactor(g)};return{connect:()=>{typeof ResizeObserver<"u"&&(r=new ResizeObserver(i=>{let l=i[0]?.contentRect?.width??0;if(l>0){let c=Math.round(l);t.setHostWidth(c),t.getStore().width=c,n()}}),r.observe(t.el)),a(),n()},disconnect:()=>{s!==void 0&&(cancelAnimationFrame(s),s=void 0),e?.(),r?.disconnect(),r=void 0},refreshStoreWatcher:a,handleWindowResize:()=>{if(t.setViewportWidth(window.innerWidth),!r){if(s!==void 0)return;s=requestAnimationFrame(()=>{s=void 0;let i=Math.round(t.el.getBoundingClientRect().width||t.getHostWidth()||t.getViewportWidth()),l=Math.min(i,t.getViewportWidth()),c=t.getStore();c.width!==l&&(c.width=l),n()});return}n()},updateResponsiveLayout:n}}function Sr(t){let e=!1,r=()=>!!t.getSearchParamInteraction()?.read,s=()=>!!t.getSearchParamInteraction()?.write;return{hydrateFromLocation:async()=>{if(!r()||typeof window>"u")return;let a=new URLSearchParams(window.location.search);await t.applySearchParams(a),t.onSearchParamsUpdate?.({phase:"hydrate",search:a.toString(),searchParams:a,searchParamMap:de(a)}),e=!0},writeToLocation:a=>{if(!s()||typeof window>"u")return;if(e){e=!1;return}let n=a.toString(),i=window.location.search.startsWith("?")?window.location.search.slice(1):window.location.search;if(n===i)return;let l=`${window.location.pathname}${n?`?${n}`:""}${window.location.hash}`;window.history.replaceState(window.history.state,"",l),t.onSearchParamsUpdate?.({phase:"write",search:n,searchParams:a,searchParamMap:de(a)})}}}var ce=["title","relevance","modified"],pe={queryParams:void 0,nextStart:-1,results:[],start:-1,num:0,total:0},Me=["openData","sharedUpdate","distributed","admin","settings"],he=class extends $e{constructor(){super(),this._messages=ae({name:"portal-group-browser",blocking:!0}),this._browserMessages=ae({name:"portal-browser",blocking:!0}),this.responsiveLayoutController=Or({el:this.el,getStore:()=>this.store,getViewportWidth:()=>this.viewportWidth,setViewportWidth:e=>{this.viewportWidth=e},getHostWidth:()=>this.hostWidth,setHostWidth:e=>{this.hostWidth=e},getResponsiveFormFactor:()=>this.responsiveFormFactor,setResponsiveFormFactor:e=>{this.responsiveFormFactor=e}}),this.restoreFocusTarget=null,this.browserResponse=this.getBrowserResponseFromQueryResponse(pe),this.searchParamController=Sr({applySearchParams:async e=>{await this.applySearchParams(e)},getSearchParamInteraction:()=>this.searchParamInteraction,onSearchParamsUpdate:e=>{this.arcgisGroupBrowserSearchParamsUpdate.emit(e)}}),this.handleBrowserFilterClear=()=>{this.clearFilters()},this.handleBrowserFilterRemove=e=>{let r=e.detail;r&&this.removeFilter(r)},this.onDelegatedGroupCardSelect=e=>{this.handleGroupCardSelect(e)},this.onDelegatedGroupCardPreview=e=>{this.handleGroupCardPreview(e)},this.selectedOwner=null,this.selectedMembership=null,this.selectedMemberOrg=null,this.selectedSpecialGroup=null,this.selectedAccess=null,this.selectedGroups=[],this.previewGroup=null,this.queryResponse=pe,this.specialGroupOptions=Me,this.responsiveFormFactor="large",this.viewportWidth=typeof window>"u"?D.lg:window.innerWidth,this.hostWidth=0,this.store=Pe({type:"group-browser",width:window?.innerWidth??D.lg,hiddenFilters:[],filtersEmpty:!1,topbarEmpty:!1,sortEmpty:!1,filtersExpanded:!1,panel:!1,filters:{}}),this.filters={},this.loading=!1,this.formFactor="large",this.height="full",this.searchTerm="",this.messageOverrides={},this.cards={},this.preview="top",this.q="",this.num=60,this.sort={enabled:!0,props:{options:ce}},this.searchParamInteraction={read:!1,write:!1},this.selection="none",this.alwaysShowSelection=!1,this.hidePreviewFooter=!1,this.hidePreviewBadges=!1,this.hasIndoorsSpaces=!1,this.arcgisGroupBrowserLoading=S(),this.arcgisGroupBrowserPreview=S(),this.arcgisGroupBrowserSelect=S(),this.arcgisGroupBrowserSublayerPreview=S(),this.arcgisGroupBrowserUpdate=S(),this.arcgisGroupBrowserInternalUIAction=S(),this.arcgisGroupBrowserUserFilterChange=S(),this.arcgisGroupBrowserSearchParamsUpdate=S(),this.arcgisAriaUpdate=S(),this.listen(Ie.select,this.onDelegatedGroupCardSelect),this.listen(Ie.preview,this.onDelegatedGroupCardPreview)}static{this.properties={selectedGroupsByUser:16,selectedOwner:16,selectedMembership:16,selectedMemberOrg:16,selectedSpecialGroup:16,selectedAccess:16,selectedGroups:16,previewGroup:16,queryResponse:16,specialGroupOptions:16,sortField:16,sortOrder:16,responsiveFormFactor:16,viewportWidth:16,hostWidth:16,store:0,filters:0,loading:5,formFactor:1,height:3,searchTerm:1,messageOverrides:0,selected:0,cards:0,preview:1,q:1,portal:0,num:9,sort:0,fetch:0,preflight:0,searchUser:1,searchParamInteraction:0,selection:1,alwaysShowSelection:5,hidePreviewFooter:5,hidePreviewBadges:5,hasIndoorsSpaces:5}}static{this.styles=lr}get currentUsername(){return this.portal.user?.username??""}get selectedGroupsState(){return this.selectedGroups}get previewedGroupId(){return this.store.preview||void 0}async refresh(){await this.fetchGroups()}async clearFilters(){this.clearFiltersInternal(),await this.fetchGroups()}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",this.responsiveLayoutController.handleWindowResize),this.responsiveLayoutController.connect()}firstUpdated(){this.initializeBrowserState()}updated(e){e.has("store")&&(this.responsiveLayoutController.refreshStoreWatcher(),this.responsiveLayoutController.updateResponsiveLayout(),this.syncFiltersEmptyFromConfig()),e.has("filters")&&this.syncFiltersEmptyFromConfig(),e.has("selected")&&(this.selectedGroups=this.selected||[]);let r=e.get("num");r!==void 0&&r!==this.num&&this.fetchGroups(),(e.has("portal")||e.has("hasIndoorsSpaces"))&&this.updateSpecialGroupOptions(),e.has("sort")&&this.syncSortFromConfig()}disconnectedCallback(){this.responsiveLayoutController.disconnect(),window.removeEventListener("resize",this.responsiveLayoutController.handleWindowResize),super.disconnectedCallback()}syncSelectionsFromConfig(){this.selectedGroupsByUser=this.filters.groupsByUser?.props?.selectedUsername??this.currentUsername,this.selectedOwner=this.filters.owner?.props?.owner||null,this.selectedMembership=this.filters.membership?.props?.membership||null,this.selectedMemberOrg=this.filters.memberOrg?.props?.memberOrg||null,this.selectedSpecialGroup=this.filters.specialGroups?.props?.specialGroup||null,this.selectedAccess=this.filters.access?.props?.access||null}async initializeBrowserState(){this.syncSortFromConfig(),this.syncFiltersEmptyFromConfig(),this.selectedGroups=this.selected||[],this.syncSelectionsFromConfig(),await this.searchParamController.hydrateFromLocation(),await this.updateSpecialGroupOptions(!1),await this.fetchGroups()}resetSelectionByFilterId(e){switch(e){case"groupsByUser":this.selectedGroupsByUser=this.filters.groupsByUser?.props?.selectedUsername??this.currentUsername;break;case"owner":this.selectedOwner=null;break;case"membership":this.selectedMembership=null;break;case"memberOrg":this.selectedMemberOrg=null;break;case"specialGroups":this.selectedSpecialGroup=null;break;case"access":this.selectedAccess=null;break}}resetAllFilterSelections(){this.selectedGroupsByUser=this.filters.groupsByUser?.props?.selectedUsername??this.currentUsername,this.selectedOwner=null,this.selectedMembership=null,this.selectedMemberOrg=null,this.selectedSpecialGroup=null,this.selectedAccess=null}getSearchParamsSnapshot(e,r){return Gr({currentSearchParams:typeof window>"u"?void 0:new URLSearchParams(window.location.search),filters:this.store.filters,searchTerm:r,sortField:e.queryParams?.sortField,sortOrder:e.queryParams?.sortOrder})}publishFilterStateChange(){this.requestUpdate()}syncFiltersEmptyFromConfig(){let e=["created","modified","owner","membership","memberOrg","specialGroups","access","groupsByUser"].some(r=>!!this.filters[r]?.enabled);this.store.filtersEmpty!==e&&(this.store.filtersEmpty=e)}syncSortFromConfig(){let e=this.sort,r=e.props?.options??ce;if(!e.enabled){this.sortField=void 0,this.sortOrder=void 0;return}if(!r.length){this.sortField=void 0,this.sortOrder=void 0;return}let s=e.props?.field,a=s&&r.includes(s)?s:r[0];this.sortField=a,this.sortOrder=e.props?.order??ne(a,this.sortOrder)}async updateSpecialGroupOptions(e=!0){if(!this.portal){this.specialGroupOptions=[];return}let r="";try{r=await Ue(this.portal)}catch{r=""}if(this.specialGroupOptions=Me.filter(s=>!(s==="openData"&&this.portal.isPortal||s==="distributed"&&this.hasIndoorsSpaces||s==="settings"&&!r)),this.selectedSpecialGroup&&!this.specialGroupOptions.includes(this.selectedSpecialGroup))if(e)this.removeFilter("specialGroups");else{let{specialGroups:s,...a}=this.store.filters;this.store.filters={...a},this.selectedSpecialGroup=null}}async applySearchParams(e){let r=Le(e);if(!this.searchTerm&&r.searchTerm&&(this.searchTerm=r.searchTerm),this.sort.enabled){let s=this.sort.props?.options??ce;r.sortField&&this.sort.props?.field===void 0&&s.includes(r.sortField)&&(this.sortField=r.sortField),r.sortOrder&&this.sort.props?.order===void 0?this.sortOrder=r.sortOrder:r.sortField&&this.sort.props?.order===void 0&&(this.sortOrder=ne(r.sortField,this.sortOrder))}await this.applyFilterSearchParams(r.filters)}async applyFilterSearchParams(e){let r={...this.store.filters},s=!1,a=j(this.portal.user);if(e.owner&&this.filters.owner?.enabled&&!this.filters.owner.props?.owner){let l=this.filters.owner.props?.username??this.currentUsername;r.owner={id:"owner",label:L(this._messages.owner.label,{label:this.getOwnerOptionLabel(e.owner,l,a)}),param:"q",value:J(e.owner,l,{isPublicUser:a,orgId:this.portal.id??""}),owner:e.owner,username:l},this.selectedOwner=e.owner,s=!0}e.membership&&this.filters.membership?.enabled&&!this.filters.membership.props?.membership&&(r.membership={id:"membership",label:L(this._messages.membership.label,{label:this._messages.membership[e.membership]}),param:"q",value:K(e.membership,this.hasIndoorsSpaces),membership:e.membership},this.selectedMembership=e.membership,s=!0),e.memberOrg&&this.filters.memberOrg?.enabled&&!this.filters.memberOrg.props?.memberOrg&&(r.memberOrg={id:"memberOrg",label:L(this._messages.memberOrg.label,{label:this._messages.memberOrg[e.memberOrg]}),param:"q",value:X(e.memberOrg,this.filters.memberOrg.props?.orgId??this.portal.id??""),memberOrg:e.memberOrg,orgId:this.filters.memberOrg.props?.orgId??this.portal.id??""},this.selectedMemberOrg=e.memberOrg,s=!0),e.specialGroups&&this.filters.specialGroups?.enabled&&!this.filters.specialGroups.props?.specialGroup&&(r.specialGroups={id:"specialGroups",label:L(this._messages.specialGroups.label,{label:this._messages.specialGroups[e.specialGroups]}),param:"q",value:await Y(e.specialGroups,this.portal),specialGroup:e.specialGroups},this.selectedSpecialGroup=e.specialGroups,s=!0),e.access&&this.filters.access?.enabled&&!this.filters.access.props?.access&&(r.access={id:"access",label:L(this._messages.access.label,{label:this._messages.access[e.access]}),param:"q",value:Z(e.access),access:e.access},this.selectedAccess=e.access,s=!0);let n=this.getDateFilterDetailFromSearchParams("created",e.created);n&&(r.created=n,s=!0);let i=this.getDateFilterDetailFromSearchParams("modified",e.modified);i&&(r.modified=i,s=!0),s&&(this.store.filters=r,this.publishFilterStateChange())}getDateFilterDetailFromSearchParams(e,r){let s=this.filters[e];if(!s?.enabled||s.props?.range||s.props?.start||s.props?.end||!r?.range)return;let a=mr(r.range,r.start,r.end);if(!a)return;let n=this._browserMessages.filterDate[r.range],[i,l]=a;return{id:e,label:L(this._browserMessages.filterDate[e],{date:n}),param:"q",value:`(${s.props?.serverProperty??(e==="modified"?"modified":"uploaded")}:[${i} TO ${l}])`,range:r.range,start:new Date(i),end:new Date(l)}}getOwnerOptionLabel(e,r,s){return e==="owner"?r:e==="outsideOrg"&&s?this._messages.owner.someoneElse:e==="inOrg"?this._messages.owner.inOrg:this._messages.owner.outsideOrg}writeSearchParams(e){this.searchParamController.writeToLocation(e)}async fetchGroups(){this.loading=!0,this.arcgisGroupBrowserLoading.emit();let e=this.createQuery();await this.fetchAndEmit(e,this.searchTerm)}removeFilter(e){let r=this.store.filters[e];r&&(this.store.filters={...this.store.filters,[e]:_e(r)},this.resetSelectionByFilterId(e),this.publishFilterStateChange(),this.fetchGroups())}clearFiltersInternal(){this.store.filters=Be(this.store.filters,{hiddenFilterIds:this.store.hiddenFilters}),this.resetAllFilterSelections(),this.publishFilterStateChange(),this.fetchGroups()}isFilterActive(e){let r=this.store.filters[e];return r?!!(r.value||"additionalParams"in r&&r.additionalParams):!1}setFilterSelection(e){switch(e.kind){case"owner":this.selectedOwner=e.value;break;case"membership":this.selectedMembership=e.value;break;case"memberOrg":this.selectedMemberOrg=e.value;break;case"access":this.selectedAccess=e.value;break;case"groupsByUser":this.selectedGroupsByUser=e.value;break;case"specialGroups":this.selectedSpecialGroup=e.value;break;default:V(e)}}selectGroup(e){this.isSelected(e)||(this.selectedGroups=[...this.selectedGroups,e])}deselectGroup(e){this.selectedGroups=this.selectedGroups.filter(({id:r})=>r!==e.id)}isSelected(e){return this.selectedGroups.some(({id:r})=>e.id===r)}handleGroupCardSelect(e){let{selected:r,group:s}=e.detail;switch(this.selection){case"single":this.selectedGroups=[s];break;case"multiple":r?this.selectGroup(s):this.deselectGroup(s);break;default:return}this.arcgisGroupBrowserSelect.emit(this.selectedGroups)}handleGroupCardPreview(e){let r=e.detail;if(this.store.filtersExpanded=!1,!r||this.store.preview===r.id){this.closePreview();return}this.restoreFocusTarget=this.getRestoreFocusTarget(e.target),this.store.preview=r.id,this.previewGroup=r,this.arcgisGroupBrowserPreview.emit(r)}getRestoreFocusTarget(e){return!e||!(e instanceof HTMLElement)?null:e}closePreview(e={}){this.store.preview=null,this.previewGroup=null,this.arcgisGroupBrowserPreview.emit(null),this.arcgisGroupBrowserSublayerPreview.emit(null),e.restoreFocus&&this.restorePreviewFocus()}async restorePreviewFocus(){let e=this.restoreFocusTarget;if(e){if(e.restoreFocus){await e.restoreFocus();return}if(e.setFocus){await e.setFocus();return}e.focus?.()}}async handleSortFieldChange(e){this.sortField=e,this.sortOrder=ne(e,this.sortOrder),this.loading=!0,this.arcgisGroupBrowserLoading.emit();let r=this.createQuery({start:1,total:0});await this.fetchAndEmit(r,this.searchTerm)}async handleSortOrderChange(e){this.sortOrder=e,this.loading=!0,this.arcgisGroupBrowserLoading.emit();let r=this.createQuery({start:1,total:0});await this.fetchAndEmit(r,this.searchTerm)}emitUpdate(e,r){let s=e.queryParams,a=this.getSearchParamsSnapshot(e,r),n=de(a);this.arcgisGroupBrowserUpdate.emit({queryResponse:e,sortField:s?.sortField,sortOrder:s?.sortOrder,selectedGroups:this.selectedGroups,filters:{...this.store.filters},searchTerm:r,searchParamMap:n}),this.writeSearchParams(a)}async queryGroups(e){return await(this.fetch?.(e)??nr(this.portal,e))}async fetchAndEmit(e,r){this.preflight&&(e=await this.preflight(e));let s=await this.queryGroups(e);this.queryResponse=s,this.browserResponse=this.getBrowserResponseFromQueryResponse(s),this.loading=!1,this.emitUpdate(s,r)}createQuery(e={}){return{filters:this.store.filters,searchUser:this.searchUser,searchTerm:e.searchTerm??this.searchTerm,baseQuery:this.q,sortField:this.sortField,sortOrder:this.sortOrder,start:e.start??1,num:e.num??this.num,total:e.total??this.queryResponse.total}}async handleSearch(e){this.searchTerm=e,this.loading=!0,this.arcgisGroupBrowserLoading.emit();let r=this.createQuery({searchTerm:e});await this.fetchAndEmit(r,e)}async handlePage({num:e,start:r,total:s}){this.loading=!0,this.arcgisGroupBrowserLoading.emit();let a=this.createQuery({start:r,num:e,total:s});await this.fetchAndEmit(a,this.searchTerm)}getBrowserResponseFromQueryResponse(e){let{nextStart:r,num:s,queryParams:a,results:n,start:i,total:l}=e??pe;return{nextStart:r??-1,num:s??a?.num??0,results:n,start:i??a?.start??1,total:l}}async formatRange({start:e,end:r,total:s}){if(this._messages._lang==="en")return[`${e}-${r} of ${s}`,`${e}-${r} of ${s} group${s==="1"?"":"s"}`];let a=this._messages.browser,n={start:e,end:r,total:s},i=oe(a.pageRange,n),l=oe(a.pageRangeAria,n);return[i,l]}getPreviewFooterActionsEmpty(){return!this.el?.querySelector('[slot="preview-footer-action"]')}renderTopBar(){return p`<arcgis-portal-browser-top-bar slot=top-bar .store=${this.store}><slot name=top-bar-start slot=content-start></slot><arcgis-portal-browser-search slot=search .store=${this.store} .term=${this.searchTerm} .placeholder=${this.messageOverrides.searchPlaceholder} @arcgisBrowserSearch=${e=>{this.handleSearch(e.detail)}}></arcgis-portal-browser-search><slot name=top-bar-end slot=content-end></slot></arcgis-portal-browser-top-bar>`}renderEmptyTextSlot(e,r){return p`<div slot=${e??w} class="empty-text-slot"><slot name=${e??w}><p class="empty-text-slot__default">${r}</p></slot></div>`}renderDefaultContent(){let e=new Set(this.selectedGroups.map(i=>i.id)),r=!!this.el.querySelector('[slot="group-cards"]'),s=this.store.view??"list",a=this.queryResponse.results.map(i=>{let l=this.cards.group,c=typeof l=="function"?l(i):{};return{group:i,cardProps:c}}),n=a.length>0&&s==="compact";return p`<div slot=content class=${E({"group-browser__results":!0,"group-browser__results--compact":n})} .part=${"results"}>${r?p`<slot name=group-cards></slot>`:p`<slot name=group-cards>${a.map(({group:i,cardProps:l})=>{let c=i.id;return Ge(c,p`<arcgis-portal-group-card class="group-browser__result-card" .portal=${this.portal} .group=${i} .user=${l.user} .indeterminate=${l.indeterminate} .view=${s} .selection=${this.selection} .selected=${e.has(c)} .preview=${l.preview??this.preview} .previewed=${l.previewed??this.store.preview===c} .name=${l.name} .showSummary=${l.showSummary??!0} .hideBadges=${l.hideBadges??!1} .hideDateUpdated=${l.hideDateUpdated??!1} .showDateCreated=${l.showDateCreated??!1} .hideViewableBy=${l.hideViewableBy??!1} .hideOwner=${l.hideOwner??!1} .link=${l.link} .linkHandler=${l.linkHandler} .newTab=${l.newTab??!1} .disabled=${l.disabled??!1}></arcgis-portal-group-card>`)})}</slot>`}</div>`}render(){let e=this.responsiveFormFactor==="small"?"small":this.formFactor;return p`<arcgis-portal-browser .store=${this.store} .response=${this.browserResponse} .loading=${this.loading} .formFactor=${e} .height=${this.height} .searchTerm=${this.searchTerm} .rangeFormatter=${this.formatRange} .selected=${this.selectedGroups} .alwaysShowSelection=${this.alwaysShowSelection} @arcgisBrowserFilterClear=${this.handleBrowserFilterClear} @arcgisBrowserFilterRemove=${this.handleBrowserFilterRemove} @arcgisAriaUpdate=${r=>{this.arcgisAriaUpdate.emit(r.detail)}}><slot name=top-bar slot=top-bar>${this.renderTopBar()}</slot><slot name=content-start slot=content-start></slot><slot name=selection slot=selection></slot><slot name=actions slot=actions></slot><slot name=view slot=view></slot>${Re({slot:"sort",sort:this.sort,formFactor:e,sortField:this.sortField,sortOrder:this.sortOrder,onSortFieldChange:r=>{this.handleSortFieldChange(r)},onSortOrderChange:r=>{this.handleSortOrderChange(r)}})}${this.renderDefaultContent()}${ke({slot:"pagination",store:this.store,total:this.queryResponse.total,start:this.queryResponse?.queryParams?.start??1,num:this.queryResponse?.queryParams?.num??this.num,onPage:r=>{this.handlePage(r)}})}<slot name=content-end slot=content-end></slot><slot name=preview slot=preview>${this.previewGroup&&p`<arcgis-portal-group-browser-preview .group=${this.previewGroup} .portal=${this.portal} .user=${this.portal.user??void 0} .hideBadges=${this.hidePreviewBadges} .hidePreviewFooter=${this.hidePreviewFooter} .currentResponse=${this.queryResponse} .previewFooterActionsSpaced=${!this.getPreviewFooterActionsEmpty()} @arcgisGroupBrowserInternalUIAction=${r=>{this.arcgisGroupBrowserInternalUIAction.emit(r.detail)}} @arcgisGroupBrowserPreviewClose=${()=>{this.closePreview({restoreFocus:!0})}}><slot name=preview-footer-action slot=footer-action></slot></arcgis-portal-group-browser-preview>`||""}</slot>${this.renderEmptyTextSlot("no-results",this._messages.content.noResults)}${this.renderEmptyTextSlot("no-content",this._messages.content.noContent)}<slot name=scroll-end slot=scroll-end></slot>${Ae({slot:"filters",filters:this.filters,messages:this._messages,browserMessages:this._browserMessages,store:this.store,portal:this.portal,hasIndoorsSpaces:this.hasIndoorsSpaces,selectedGroupsByUser:this.selectedGroupsByUser,selectedOwner:this.selectedOwner,selectedMembership:this.selectedMembership,selectedMemberOrg:this.selectedMemberOrg,selectedSpecialGroup:this.selectedSpecialGroup,specialGroupOptions:this.specialGroupOptions,selectedAccess:this.selectedAccess,isFilterActive:r=>this.isFilterActive(r),handleSelect:r=>{this.setFilterSelection(r)},handleUserFilterChange:r=>{this.arcgisGroupBrowserUserFilterChange.emit(r)},handleRemove:r=>{this.removeFilter(r)},handleUpsert:r=>{this.store.filters={...this.store.filters,[r.id]:r},this.publishFilterStateChange(),this.fetchGroups()}})}</arcgis-portal-browser>`}};Fe("arcgis-portal-group-browser",he);return he},"intl","portal/PortalGroup","intl","core/reactiveUtils","intl",a,b,c,d,e,f,g,h,i,k,l,m,n)
|