/*
All material copyright Esri, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
*/
import{__decorate as o}from"tslib";import l from"../../Color.js";import t from"../../core/Accessor.js";import{property as i,subclass as h}from"../../core/accessorSupport/decorators.js";import{defaultHighlightName as a,defaultColor as s,defaultHaloOpacity as r,defaultFillOpacity as e,defaultShadowColor as c,defaultShadowOpacity as p,defaultShadowDifference as n}from"./HighlightDefaults.js";var d;let y=d=class extends t{constructor(o){super(o),this.name=a,this.color=s.clone(),this.haloColor=null,this.haloOpacity=r,this.fillOpacity=e,this.shadowColor=c.clone(),this.shadowOpacity=p,this.shadowDifference=n,this.haloWidth=2.1,this.haloBlur=.8/this.haloWidth}equals(o){return this.color.equals(o.color)&&(this.haloColor||this.color).equals(o.haloColor||o.color)&&this.haloOpacity===o.haloOpacity&&this.fillOpacity===o.fillOpacity&&this.haloWidth===o.haloWidth&&this.haloBlur===o.haloBlur&&this.shadowColor.equals(o.shadowColor)&&this.shadowOpacity===o.shadowOpacity&&this.shadowDifference===o.shadowDifference}clone(){return new d({...this,color:this.color.clone(),haloColor:this.haloColor?.clone(),shadowColor:this.shadowColor?.clone()})}assignFrom(o){this.color=o.color.clone(),this.haloColor=o.haloColor?.clone(),this.haloOpacity=o.haloOpacity,this.fillOpacity=o.fillOpacity,this.shadowColor=o.shadowColor.clone(),this.shadowDifference=o.shadowDifference,this.shadowOpacity=o.shadowOpacity,this.haloBlur=o.haloBlur,this.haloWidth=o.haloWidth}};o([i({type:String,constructOnly:!0,nonNullable:!0})],y.prototype,"name",void 0),o([i({type:l,nonNullable:!0})],y.prototype,"color",void 0),o([i({type:l})],y.prototype,"haloColor",void 0),o([i({nonNullable:!0})],y.prototype,"haloOpacity",void 0),o([i({nonNullable:!0})],y.prototype,"fillOpacity",void 0),o([i({type:l,nonNullable:!0})],y.prototype,"shadowColor",void 0),o([i({nonNullable:!0})],y.prototype,"shadowOpacity",void 0),o([i({nonNullable:!0})],y.prototype,"shadowDifference",void 0),o([i({nonNullable:!0})],y.prototype,"haloWidth",void 0),o([i({nonNullable:!0})],y.prototype,"haloBlur",void 0),y=d=o([h("esri.views.support.HighlightOptions")],y);const u=y;export{u as default};
