/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.24/esri/copyright.txt for details. */ import{_ as o}from"../chunks/tslib.es6.js";import{aliasOf as e}from"../core/accessorSupport/decorators/aliasOf.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{property as t}from"../core/accessorSupport/decorators/property.js";import{subclass as s}from"../core/accessorSupport/decorators/subclass.js";import i from"./Widget.js";import r from"./Home/HomeViewModel.js";import{accessibleHandler as n}from"./support/decorators/accessibleHandler.js";import{messageBundle as l}from"./support/decorators/messageBundle.js";import{vmEvent as a}from"./support/decorators/vmEvent.js";import{tsx as c}from"./support/jsxFactory.js";import"./support/widgetUtils.js";const d={base:"esri-home esri-widget--button esri-widget",text:"esri-icon-font-fallback-text",homeIcon:"esri-icon esri-icon-home",loadingIcon:"esri-icon-loading-indicator",rotatingIcon:"esri-rotating",widgetIcon:"esri-icon-home",disabled:"esri-disabled"};let p=class extends i{constructor(o,e){super(o,e),this.goToOverride=null,this.iconClass=d.widgetIcon,this.label=void 0,this.messages=null,this.messagesCommon=null,this.view=null,this.viewModel=new r,this.viewpoint=null}get homeTitle(){const o=this.viewModel?.state,{messagesCommon:e,messages:t}=this;return"going-home"===o?e.cancel:t.title}cancelGo(){return null}go(){return null}render(){const o=this.viewModel?.state,{homeTitle:e}=this,t={[d.disabled]:"disabled"===o};return c("div",{bind:this,class:this.classes(d.base,t),role:"button",tabIndex:0,onclick:this._go,onkeydown:this._go,"aria-label":e,title:e},this.renderIcon(),this.renderText())}renderIcon(){const o=this.viewModel?.state,e={[d.loadingIcon]:"going-home"===o,[d.rotatingIcon]:"going-home"===o};return c("span",{"aria-hidden":"true",class:this.classes(d.homeIcon,e)})}renderText(){const{messages:o}=this;return c("span",{class:d.text},o.button)}_go(){const{viewModel:o}=this;"going-home"===o.state?o.cancelGo():o.go()}};o([e("viewModel.goToOverride")],p.prototype,"goToOverride",void 0),o([t({readOnly:!0})],p.prototype,"homeTitle",null),o([t()],p.prototype,"iconClass",void 0),o([t({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],p.prototype,"label",void 0),o([t(),l("esri/widgets/Home/t9n/Home")],p.prototype,"messages",void 0),o([t(),l("esri/t9n/common")],p.prototype,"messagesCommon",void 0),o([e("viewModel.view")],p.prototype,"view",void 0),o([t({type:r}),a("go")],p.prototype,"viewModel",void 0),o([e("viewModel.viewpoint")],p.prototype,"viewpoint",void 0),o([e("viewModel.cancelGo")],p.prototype,"cancelGo",null),o([e("viewModel.go")],p.prototype,"go",null),o([n()],p.prototype,"_go",null),p=o([s("esri.widgets.Home")],p);const m=p;export{m as default};