UNPKG

@arcgis/map-components

Version:
4 lines 2.1 kB
/*! All material copyright Esri, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.33/esri/copyright.txt for details. v4.33.13 */ import{a as E}from"./MZHKSD55.js";import{a as r}from"./HA5P4MAX.js";import b from"./2WKS6ZFG.js";import{e as p}from"./4TYQGSWG.js";import"./JDUE7Q24.js";import"./DXCYBWXJ.js";import{B as m,P as d,Q as i,S as f,U as h,a,c as o,j as u,k as l}from"./HX57SHRL.js";export default $arcgis.t(([{a:g}])=>{var y=u`arcgis-fullscreen{display:block}`,$={base:"esri-fullscreen"};function v(s){return s.includes("#")||s.includes(".")||s.includes("[")?s:`#${s}`}var c=class extends d{constructor(){super(),this.messages=E(),this.view=g(this),this.position="top-left",this.arcgisPropertyChange=p()("state"),this.arcgisReady=m(),this.listenOn(document,"fullscreenchange",()=>this.fullscreenElement=document.fullscreenElement)}static{this.properties={fullscreenElement:16,element:1,label:1,messageOverrides:0,position:3,referenceElement:1,state:35}}static{this.styles=y}get fullscreenTitle(){let e=this.state;return e==="active"?this.messages.exit:e==="ready"?this.messages.enter:""}#e;get element(){return this.#e}set element(e){if(typeof e=="string"){let t=v(e),n=o(this.el,t);this.#e=n||void 0}else this.#e=e}get state(){if(!document.fullscreenEnabled)return"unsupported";let e=this._getElement();return e?this.fullscreenElement===e?"active":"ready":"disabled"}connectedCallback(){super.connectedCallback(),this.fullscreenElement=document.fullscreenElement}_getElement(){return this.element??this.view?.container?.parentElement??null}_toggle(){document.fullscreenElement?document.exitFullscreen():this._getElement()?.requestFullscreen()}render(){let{fullscreenTitle:e,state:t}=this,n=t==="unsupported",b=t==="ready"||t==="disabled"||t==="unsupported"?"zoom-out-fixed":"zoom-in-fixed";return l`<div class=${i(a($.base,r.widget))}>${!n&&l`<calcite-button class=${i(r.widgetButton)} .disabled=${t==="disabled"} .iconStart=${b} kind=neutral .label=${e} @click=${this._toggle} title=${e??f}></calcite-button>`||""}</div>`}};h("arcgis-fullscreen",c);return c},b)