/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.24/esri/copyright.txt for details. */ import{_ as e}from"../../chunks/tslib.es6.js";import n from"../../core/Accessor.js";import{property as t}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as a}from"../../core/accessorSupport/decorators/subclass.js";var i;const r=147914382,c=[{id:"room",minScale:100},{id:"rooms",minScale:400},{id:"smallBuilding",minScale:800},{id:"building",minScale:1999},{id:"buildings",minScale:3999},{id:"street",minScale:7499},{id:"streets",minScale:14999},{id:"neighborhood",minScale:29999},{id:"town",minScale:59999},{id:"city",minScale:119999},{id:"cities",minScale:249999},{id:"metropolitanArea",minScale:499999},{id:"county",minScale:999999},{id:"counties",minScale:1999999},{id:"stateProvince",minScale:3999999},{id:"statesProvinces",minScale:6999999},{id:"countriesSmall",minScale:14999999},{id:"countriesBig",minScale:34999999},{id:"continent",minScale:99999999},{id:"world",minScale:r}];function l(e,n){const t=c,a=t.length,i=[];let r,l=e;e=e>=0?e:0,n=n>0?n:t[a-1].minScale;for(let c=0;c=a}isMaxScaleEdge(e){const{lastRange:n}=this,t=n.maxScale;return e<=(i.RecommendedScales[n.id]||n.minScale)&&e>=t}findScaleRange(e){const n=this.ranges;let t;if(e>=n[0].maxScale)return n[0];if(e<=n[n.length-1].minScale)return n[n.length-1];for(let a=0;a=i.maxScale&&e<=i.minScale){t=i;break}}return t}findScaleRangeByIndex(e){return this.ranges[this._clampScaleRangeIndex(e)]}scaleToRangeIndex(e){return this.ranges.indexOf(this.findScaleRange(e))}clampScale(e){return Math.min(this.minScale,Math.max(this.maxScale,e))}clampMinScale(e){return 0===e?this.minScale:this.clampScale(e)}clampMaxScale(e){return this.clampScale(e)}contains(e){const n=this.ranges;let t=!1;for(let a=0;a=i&&e<=r){t=!0;break}}return t}_clampScaleRangeIndex(e){const n=0;if(e<=n)return n;const t=this.ranges.length-1;return e>t?t:Math.floor(e)}};o.RecommendedScales=Object.freeze({world:r,continent:5e7,countriesBig:25e6,countriesSmall:12e6,statesProvinces:6e6,stateProvince:3e6,counties:15e5,county:75e4,metropolitanArea:32e4,cities:16e4,city:8e4,town:4e4,neighborhood:2e4,streets:1e4,street:5e3,buildings:2500,building:1250,smallBuilding:800,rooms:400,room:100}),e([t()],o.prototype,"firstRange",null),e([t()],o.prototype,"lastRange",null),e([t()],o.prototype,"length",null),e([t()],o.prototype,"maxScale",null),e([t()],o.prototype,"minScale",null),e([t()],o.prototype,"ranges",void 0),o=i=e([a("esri.widgets.ScaleRangeSlider.ScaleRanges")],o);const m=o;export{m as default};