UNPKG

@arcgis/map-components

Version:
2 lines 10.3 kB
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */ import i from"./KA7BM2DQ.js";import{a as _}from"./HZFVK34O.js";import{a as D}from"./54VXNFQ4.js";import e from"./LKOVDQTE.js";import c from"./OAWV35F7.js";import{h as b}from"./AKBXFBDL.js";import"./LMBRORN7.js";import a from"./5E6WEUZS.js";import{d as u}from"./PBSJQPB2.js";import{M as d,N as g,O as w,P as h,R as f,U as y,a as v,b as o,x}from"./WUJCCZQC.js";import"./3TTFCHAA.js";export default $arcgis.t(([{on:I,when:C,watch:H},P,{property:p,subclass:M},,,,$])=>{var O=Object.defineProperty,L=Object.getOwnPropertyDescriptor,l=(i,e,t,a)=>{for(var s=a>1?void 0:a?L(e,t):e,n=i.length-1,c;n>=0;n--)(c=i[n])&&(s=(a?c(e,t,s):c(s))||s);return a&&s&&O(e,t,s),s},E=new EventTarget;function S(i,e,t){let a=!1,s=H(i,(n,c)=>{a||e(n,c)},t);return{remove(){s.remove()},pause(){a=!0},resume(){a=!1}}}var r=class extends P{constructor(i){super(i),this._viewpointHandle=null,this.addHandles(I(()=>E,"expand",e=>{let{target:t}=e.detail;t!==this&&t.expanded&&t.group&&t.group===this.group&&this.expanded&&this._collapse()}))}destroy(){this._viewpointHandle=null,this.view=null}set autoCollapse(i){this._set("autoCollapse",i),this._watchViewpoint()}set expanded(i){this._set("expanded",i),this.group&&i&&E.dispatchEvent(new CustomEvent("expand",{detail:{target:this}})),this._viewpointHandleChange(i)}get state(){return this.view?.ready?"ready":"disabled"}set view(i){this._get("view")!==i&&(this._set("view",i),i&&C(()=>i.ready,()=>{this.view===i&&this._watchViewpoint()},{once:!0,initial:!0}))}_viewpointHandleChange(i){this._viewpointHandle&&(i?C(()=>this.view?.stationary,()=>this._viewpointHandle?.resume(),{once:!0,initial:!0}):this._viewpointHandle.pause())}_watchViewpoint(){let i="viewpoint";this.removeHandles(i),this._viewpointHandle=null;let{autoCollapse:e,view:t}=this;if(!t||!e)return;let a=S(()=>t.type==="3d"?t.camera:t.viewpoint,()=>this._collapse());this.addHandles(a,i),this._viewpointHandle=a}_collapse(){this.expanded=!1}};l([p({value:!1})],r.prototype,"autoCollapse",1);l([p({value:!1})],r.prototype,"expanded",1);l([p()],r.prototype,"group",2);l([p({readOnly:!0})],r.prototype,"state",1);l([p({value:null})],r.prototype,"view",1);r=l([M("map-components.expand.ExpandViewModel")],r);var j=v`:host{display:flex;pointer-events:auto;--arcgis-internal-expand-icon-number-spacing-left: none;--arcgis-internal-expand-icon-number-spacing-right: none}arcgis-expand>.content-expanded{background-color:var(--calcite-color-background)}.root{--esri-widget-panel-max-height: 95svh;--calcite-sheet-max-height: var(--esri-widget-panel-max-height);--calcite-sheet-height: auto;--calcite-action-corner-radius: 0}.action{cursor:pointer;text-align:center;color:var(--calcite-color-text-2);justify-content:center;align-items:center;margin:0;padding:0;font-size:var(--calcite-font-size);transition:background-color .125s ease-in-out;display:flex;flex-direction:column;overflow:hidden}.toggle{position:relative}.popover-content{flex-direction:column;display:flex;max-height:var(--arcgis-internal-expand-max-height, 95svh);::slotted(*){max-height:var(--arcgis-internal-expand-max-height, 95svh);overflow-y:auto}::slotted(arcgis-sketch){--arcgis-internal-sketch-gap: var(--calcite-spacing-none)}::slotted(:is(arcgis-area-measurement-2d,arcgis-area-measurement-3d,arcgis-basemap-gallery,arcgis-basemap-layer-list,arcgis-bookmarks,arcgis-building-explorer,arcgis-catalog-layer-list,arcgis-directions,arcgis-direct-line-measurement-3d,arcgis-distance-measurement-2d,arcgis-editor,arcgis-feature-form,arcgis-features,arcgis-layer-list,arcgis-layer-list-next,arcgis-legend,arcgis-line-of-sight,arcgis-print,arcgis-shadow-cast,arcgis-slice,arcgis-table-list,arcgis-utility-network-trace,arcgis-grid-controls)){width:var(--arcgis-internal-panel-width);min-width:var(--calcite-spacing-xxxl);min-height:var(--calcite-spacing-xxxl);transition:max-height .25s ease-in-out}}.popover-content .esri-widget--panel{width:300px}.panel{max-height:var(--esri-widget-panel-max-height)}.panel-content{::slotted(*){width:100%}::slotted(:is(arcgis-area-measurement-2d,arcgis-area-measurement-3d,arcgis-basemap-gallery,arcgis-basemap-layer-list,arcgis-bookmarks,arcgis-building-explorer,arcgis-catalog-layer-list,arcgis-directions,arcgis-direct-line-measurement-3d,arcgis-distance-measurement-2d,arcgis-editor,arcgis-feature-form,arcgis-features,arcgis-layer-list,arcgis-layer-list-next,arcgis-legend,arcgis-line-of-sight,arcgis-print,arcgis-shadow-cast,arcgis-slice,arcgis-table-list,arcgis-utility-network-trace,arcgis-grid-controls)){overflow-y:auto}}.panel-content .esri-widget{width:auto}.panel-content .esri-widget--panel{flex:auto}.arcgis-map-container-ui__element .popover-content .esri-widget,.arcgis-map-container-ui__element .popover-content .esri-widget.esri-component,.arcgis-map-container-ui__element .panel-content .esri-widget,.arcgis-map-container-ui__element .panel-content .esri-widget.esri-component,.popover-content .esri-widget,.popover-content .esri-widget.esri-component,.panel-content .esri-widget,.panel-content .esri-widget.esri-component{box-sizing:border-box;box-shadow:none;margin-bottom:0}.panel-content,.content-container{background-color:var(--calcite-color-foreground-1);flex-direction:column;flex:auto;justify-content:stretch;display:flex}.sheet .panel-content,.sheet .content-container{overflow:hidden}.panel-icon-number{align-self:center}.icon{display:flex}calcite-button:not(:hover) .icon:not(calcite-icon){color:var(--calcite-color-text-3)}.icon-flip{transform:var(--arcgis-internal-collapse-icon-flip)}.icon-number{transform-origin:50%;color:var(--calcite-color-text-inverse);pointer-events:none;background-color:var(--calcite-color-text-3);border-radius:var(--calcite-spacing-xl);justify-content:center;align-items:center;height:var(--calcite-spacing-lg);padding:.125em .333em;font-size:var(--calcite-font-size-sm);line-height:1em;display:flex;position:absolute;top:-6px;left:var(--arcgis-internal-expand-icon-number-spacing-left);right:var(--arcgis-internal-expand-icon-number-spacing-right)}`,k="chevrons-left",T="chevrons-right",z=$(r),m=class extends w{constructor(){super(...arguments),this.popoverEl=d(),this.messages=_({}),this.viewModel=z(this),this.toggleActionEl=d(),this.view=this.viewModel.view,this.state=this.viewModel.state,this.autoDestroyDisabled=!1,this.autoCollapse=this.viewModel.autoCollapse,this.closeOnEscDisabled=!1,this.content="",this.expanded=this.viewModel.expanded,this.expandTooltip="",this.collapseTooltip="",this.focusTrapDisabled=!1,this.group=this.viewModel.group,this.iconNumber=0,this.mode="auto",this.topLayerDisabled=!1,this.visualScale="m",this.arcgisPropertyChange=b()("expanded"),this.arcgisReady=x()}static{this.properties={expandTitle:16,_displaySheet:16,view:0,state:32,icon:1,label:1,autoDestroyDisabled:5,referenceElement:1,autoCollapse:5,closeOnEscDisabled:5,content:1,expanded:7,expandIcon:3,expandTooltip:1,collapseIcon:3,collapseTooltip:1,focusTrapDisabled:5,group:1,iconNumber:9,mode:1,placement:1,messageOverrides:0,topLayerDisabled:5,visualScale:1}}static{this.styles=j}get expandTitle(){let{expanded:e,messages:t,collapseTooltip:a,expandTooltip:s}=this;return(e?a||t.collapse:s||t.expand)??""}get _displaySheet(){switch(this.mode){case"drawer":return!0;case"auto":return this.viewModel.view?.widthBreakpoint==="xsmall";default:return!1}}get expandIcon(){if(this._expandIcon)return this._expandIcon;let e=null;return this.content instanceof HTMLElement&&("widget"in this.content&&this.content.widget?.icon?e=this.content.widget.icon:"icon"in this.content?e=this.content.icon:e=this.content.getAttribute("icon")),e??k}set expandIcon(e){this._expandIcon=e}get collapseIcon(){return this._collapseIcon??T}set collapseIcon(e){this._collapseIcon=e}async collapse(){this.expanded=!1}async destroy(){await this.manager.destroy()}async expand(){this.expanded=!0}loaded(){this.manager.onLifecycle(()=>[H(()=>this.viewModel?.view?.size,()=>{this.popoverEl?.value?.reposition()},{initial:!0})])}toggle(){this.expanded=!this.expanded}getPopoverPlacement(){if(this.placement)return this.placement;switch(this.el.slot){case"bottom-start":case"bottom-left":return"right-end";case"bottom-right":case"bottom-end":return"left-end";case"top-start":case"top-left":return"right-start";case"top-right":case"top-end":return"left-start";default:return"auto"}}_isCloseOnEscapeDisabled(e){let{closeOnEscDisabled:t}=this;return typeof t=="function"?t(e):t}_handlePopoverClose(e){e.target===this.popoverEl.value&&this.collapse()}_handleKeyDown(e){this.expanded&&e.key==="Escape"&&this._isCloseOnEscapeDisabled(e)&&e.preventDefault()}render(){let{_displaySheet:e,toggleActionEl:t,expanded:a,label:s,topLayerDisabled:n}=this;return o`<div class=${h(u("root",D.widget))}>${this._renderToggle()}${e?o`<calcite-sheet class="sheet" height=l .label=${s??""} .topLayerDisabled=${n} @keydown=${this._handleKeyDown} .open=${a} position=block-end @calciteSheetClose=${this.collapse}><calcite-panel class="panel" closable .closed=${!a} .heading=${s} @keydown=${this._handleKeyDown} @calcitePanelClose=${this.collapse}><div class="panel-content">${this._renderContent()}</div></calcite-panel></calcite-sheet>`:t.value?o`<calcite-popover .focusTrapDisabled=${this.focusTrapDisabled} .label=${s??""} @keydown=${this._handleKeyDown} trigger-disabled .open=${a} overlay-positioning=fixed .placement=${this.getPopoverPlacement()} .referenceElement=${t.value} .topLayerDisabled=${n} @calcitePopoverClose=${this._handlePopoverClose} ${g(this.popoverEl)}><div class="popover-content">${this._renderContent()}</div></calcite-popover>`:null}</div>`}_renderBadgeNumber(){let{expanded:e,iconNumber:t}=this;return t&&!e?o`<span class="icon-number">${t}</span>`:null}_renderToggleButton(){let{expanded:e,expandTitle:t,expandIcon:a,collapseIcon:s}=this,n=e?s:a;return o`<calcite-action class=${h(u("action","icon",{"icon-flip":n===k||n===T}))} @click=${this.toggle} .text=${t} title=${t??f} .icon=${n} .scale=${this.visualScale} appearance=solid ${g(this.toggleActionEl)}></calcite-action>`}_renderToggle(){return o`<div class="toggle">${this._renderToggleButton()}${this._renderBadgeNumber()}</div>`}_renderContent(){return o`<div class="content-container"><slot></slot></div>`}};y("arcgis-expand",m);return m},"core/reactiveUtils","core/Accessor","core/accessorSupport/decorators",a,c,e,i)