/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
*/
define(["exports","../../../chunks/_rollupPluginBabelHelpers","../../../chunks/tslib.es6","../../../Color","../../../core/JSONSupport","../../../core/accessorSupport/decorators/property","../../../core/accessorSupport/decorators/subclass"],(function(e,t,r,n,o,i,p){"use strict";let l=function(e){function r(){var t;return(t=e.apply(this,arguments)||this).enabled=!0,t}return t._inheritsLoose(r,e),r}(o.JSONSupport);r.__decorate([i.property({type:Boolean})],l.prototype,"enabled",void 0),l=r.__decorate([p.subclass("esri.views.interactive.snapping.Settings.DefaultSnappingAlgorithm")],l);let a=function(e){function r(t){var r;return(r=e.call(this,t)||this).lineSnapper=new l,r.parallelLineSnapper=new l,r.rightAngleSnapper=new l,r.rightAngleTriangleSnapper=new l,r.shortLineThreshold=15,r.distance=5,r.pointThreshold=1e-6,r.intersectionParallelLineThreshold=1e-6,r.parallelLineThreshold=1e-6,r.touchSensitivityMultiplier=1.5,r.pointOnLineThreshold=1e-6,r.orange=new n([255,127,0]),r.lineHintWidthReference=3,r.lineHintWidthTarget=3,r.lineHintFadedExtensions=.3,r.parallelLineHintWidth=2,r.parallelLineHintLength=24,r.parallelLineHintOffset=1.5,r.rightAngleHintSize=24,r.rightAngleHintOutlineSize=1.5,r}return t._inheritsLoose(r,e),r}(o.JSONSupport);r.__decorate([i.property({type:l,constructOnly:!0,nonNullable:!0,json:{write:!0}})],a.prototype,"lineSnapper",void 0),r.__decorate([i.property({type:l,constructOnly:!0,nonNullable:!0,json:{write:!0}})],a.prototype,"parallelLineSnapper",void 0),r.__decorate([i.property({type:l,constructOnly:!0,nonNullable:!0,json:{write:!0}})],a.prototype,"rightAngleSnapper",void 0),r.__decorate([i.property({type:l,constructOnly:!0,nonNullable:!0,json:{write:!0}})],a.prototype,"rightAngleTriangleSnapper",void 0),r.__decorate([i.property({type:Number,nonNullable:!0,range:{min:-1,max:50,step:1},json:{write:!0}})],a.prototype,"shortLineThreshold",void 0),r.__decorate([i.property({type:Number,nonNullable:!0,range:{min:-1,max:50,step:1},json:{write:!0}})],a.prototype,"distance",void 0),r.__decorate([i.property({type:Number,nonNullable:!0,range:{min:0,max:1e-5},json:{write:!0}})],a.prototype,"pointThreshold",void 0),r.__decorate([i.property({type:Number,nonNullable:!0,range:{min:0,max:1e-5},json:{write:!0}})],a.prototype,"intersectionParallelLineThreshold",void 0),r.__decorate([i.property({type:Number,nonNullable:!0,range:{min:0,max:1e-5},json:{write:!0}})],a.prototype,"parallelLineThreshold",void 0),r.__decorate([i.property({type:Number,nonNullable:!0,range:{min:0,max:10},json:{write:!0}})],a.prototype,"touchSensitivityMultiplier",void 0),r.__decorate([i.property({type:Number,nonNullable:!0,range:{min:0,max:1e-5},json:{write:!0}})],a.prototype,"pointOnLineThreshold",void 0),r.__decorate([i.property({type:n,nonNullable:!0})],a.prototype,"orange",void 0),r.__decorate([i.property({type:Number,nonNullable:!0,range:{min:0,max:10},json:{write:!0}})],a.prototype,"lineHintWidthReference",void 0),r.__decorate([i.property({type:Number,nonNullable:!0,range:{min:0,max:10},json:{write:!0}})],a.prototype,"lineHintWidthTarget",void 0),r.__decorate([i.property({type:Number,nonNullable:!0,range:{min:0,max:1},json:{write:!0}})],a.prototype,"lineHintFadedExtensions",void 0),r.__decorate([i.property({type:Number,nonNullable:!0,range:{min:0,max:10},json:{write:!0}})],a.prototype,"parallelLineHintWidth",void 0),r.__decorate([i.property({type:Number,nonNullable:!0,range:{min:0,max:50},json:{write:!0}})],a.prototype,"parallelLineHintLength",void 0),r.__decorate([i.property({type:Number,nonNullable:!0,range:{min:0,max:5},json:{write:!0}})],a.prototype,"parallelLineHintOffset",void 0),r.__decorate([i.property({type:Number,nonNullable:!0,range:{min:0,max:46},json:{write:!0}})],a.prototype,"rightAngleHintSize",void 0),r.__decorate([i.property({type:Number,nonNullable:!0,range:{min:0,max:6},json:{write:!0}})],a.prototype,"rightAngleHintOutlineSize",void 0),a=r.__decorate([p.subclass("esri.views.interactive.snapping.Settings.Defaults")],a);const s=new a;e.defaults=s,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
