/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.24/esri/copyright.txt for details. */ import{_ as t}from"../../chunks/tslib.es6.js";import e from"../../core/Accessor.js";import o from"../../core/Handles.js";import{when as s}from"../../core/reactiveUtils.js";import{property as i}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as r}from"../../core/accessorSupport/decorators/subclass.js";let a=class extends e{constructor(t){super(t),this._handles=new o,this.navigationMode="pan",this.view=null}initialize(){this._handles.add(s((()=>this.view?.inputManager),(()=>this._setNavigationMode())))}destroy(){this._handles.destroy(),this._handles=null,this.view=null}get state(){return this.get("view.ready")&&"3d"===this.view.type?"ready":"disabled"}toggle(){"disabled"!==this.state&&(this.navigationMode="pan"!==this.navigationMode?"pan":"rotate",this._setNavigationMode())}_setNavigationMode(){this.get("view.inputManager").primaryDragAction="pan"===this.navigationMode?"pan":"rotate"}};t([i({readOnly:!0})],a.prototype,"state",null),t([i()],a.prototype,"navigationMode",void 0),t([i()],a.prototype,"view",void 0),a=t([r("esri.widgets.NavigationToggleViewModel")],a);const n=a;export{n as default};