IconButton.js 1.6 KB

12345
  1. /*
  2. All material copyright ESRI, All Rights Reserved, unless otherwise specified.
  3. See https://js.arcgis.com/4.25/esri/copyright.txt for details.
  4. */
  5. import{_ as t}from"../../chunks/tslib.es6.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/accessorSupport/ensureType.js";import{subclass as i}from"../../core/accessorSupport/decorators/subclass.js";import e from"../Widget.js";import{accessibleHandler as o}from"../support/decorators/accessibleHandler.js";import{tsx as r}from"../support/jsxFactory.js";import"../support/widgetUtils.js";const c={button:"esri-widget--button esri-widget",disabled:"esri-disabled",interactive:"esri-interactive",iconText:"esri-icon-font-fallback-text",icon:"esri-icon"};let n=class extends e{constructor(){super(...arguments),this.enabled=!0,this.iconClass="",this.title=""}render(){const t=this.enabled?0:-1,s={[c.disabled]:!this.enabled,[c.interactive]:this.enabled},i={[this.iconClass]:!!this.iconClass};return r("div",{bind:this,class:this.classes(c.button,s),onclick:this._triggerAction,onkeydown:this._triggerAction,role:"button",tabIndex:t,title:this.title},r("span",{"aria-hidden":"true",role:"presentation",class:this.classes(c.icon,i)}),r("span",{class:c.iconText},this.title))}_triggerAction(){this.action.call(this)}};t([s()],n.prototype,"action",void 0),t([s()],n.prototype,"enabled",void 0),t([s()],n.prototype,"iconClass",void 0),t([s()],n.prototype,"title",void 0),t([o()],n.prototype,"_triggerAction",null),n=t([i("esri.widgets.IconButton")],n);const a=n;export{a as default};