12345 |
- /*
- All material copyright ESRI, All Rights Reserved, unless otherwise specified.
- See https://js.arcgis.com/4.25/esri/copyright.txt for details.
- */
- import{_ as e}from"../chunks/tslib.es6.js";import{property as t}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/accessorSupport/ensureType.js";import{subclass as s}from"../core/accessorSupport/decorators/subclass.js";import r from"./Widget.js";import o from"./Fullscreen/FullscreenViewModel.js";import{accessibleHandler as i}from"./support/decorators/accessibleHandler.js";import{messageBundle as l}from"./support/decorators/messageBundle.js";import{tsx as n}from"./support/jsxFactory.js";import"./support/widgetUtils.js";const a={base:"esri-fullscreen esri-widget--button esri-widget",text:"esri-icon-font-fallback-text",icon:"esri-icon",enter:"esri-icon-zoom-out-fixed",exit:"esri-icon-zoom-in-fixed",disabled:"esri-disabled"};let d=class extends r{constructor(e,t){super(e,t),this.messages=null,this.viewModel=new o}get element(){return this.viewModel.element}set element(e){this.viewModel.element=e}get fullscreenTitle(){const e=this.viewModel?.state;return"active"===e?this.messages.exit:"ready"===e?this.messages.enter:""}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}render(){const e=this.viewModel?.state,{fullscreenTitle:t}=this,s={[a.disabled]:"disabled"===e||"feature-unsupported"===e};return n("div",{bind:this,class:this.classes(a.base,s),role:"button",tabIndex:0,onclick:this._toggle,onkeydown:this._toggle,"aria-label":t,title:t},this.renderIcon(),this.renderTitle())}renderIcon(){const e=this.viewModel?.state,t={[a.enter]:"ready"===e||"disabled"===e||"feature-unsupported"===e,[a.exit]:"active"===e};return n("span",{class:this.classes(a.icon,t),"aria-hidden":"true"})}renderTitle(){return n("span",{class:a.text},this.fullscreenTitle)}_toggle(){this.viewModel.toggle()}};e([t()],d.prototype,"element",null),e([t({readOnly:!0})],d.prototype,"fullscreenTitle",null),e([t()],d.prototype,"label",null),e([t(),l("esri/widgets/Fullscreen/t9n/Fullscreen")],d.prototype,"messages",void 0),e([t()],d.prototype,"view",null),e([t({type:o})],d.prototype,"viewModel",void 0),e([i()],d.prototype,"_toggle",null),d=e([s("esri.widgets.Fullscreen")],d);const c=d;export{c as default};
|