/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
*/
define(["../chunks/_rollupPluginBabelHelpers","../chunks/tslib.es6","../core/jsonMap","../core/lang","../core/screenUtils","../core/accessorSupport/decorators/property","../core/accessorSupport/ensureType","../core/accessorSupport/decorators/enumeration","../core/accessorSupport/decorators/subclass","./LineSymbol","./LineSymbolMarker"],(function(e,r,o,t,i,s,n,l,a,p,d){"use strict";var c;const u=new o.JSONMap({esriSLSSolid:"solid",esriSLSDash:"dash",esriSLSDot:"dot",esriSLSDashDot:"dash-dot",esriSLSDashDotDot:"long-dash-dot-dot",esriSLSNull:"none",esriSLSInsideFrame:"inside-frame",esriSLSShortDash:"short-dash",esriSLSShortDot:"short-dot",esriSLSShortDashDot:"short-dash-dot",esriSLSShortDashDotDot:"short-dash-dot-dot",esriSLSLongDash:"long-dash",esriSLSLongDashDot:"long-dash-dot"});let h=c=function(r){function o(...e){var o;return(o=r.call(this,...e)||this).type="simple-line",o.style="solid",o.cap="round",o.join="round",o.marker=null,o.miterLimit=2,o}e._inheritsLoose(o,r);var s=o.prototype;return s.normalizeCtorArgs=function(e,r,o,t,s,n){if(e&&"string"!=typeof e)return e;const l={};return null!=e&&(l.style=e),null!=r&&(l.color=r),null!=o&&(l.width=i.toPt(o)),null!=t&&(l.cap=t),null!=s&&(l.join=s),null!=n&&(l.miterLimit=i.toPt(n)),l},s.clone=function(){var e;return new c({color:t.clone(this.color),style:this.style,width:this.width,cap:this.cap,join:this.join,miterLimit:this.miterLimit,marker:null==(e=this.marker)?void 0:e.clone()})},s.hash=function(){var e,o;return`${r.prototype.hash.call(this)}.${null==(e=this.color)?void 0:e.hash()}.${this.style}.${this.cap}.${this.join}.${this.miterLimit}.${null==(o=this.marker)?void 0:o.hash()}`},o}(p);r.__decorate([l.enumeration({esriSLS:"simple-line"},{readOnly:!0})],h.prototype,"type",void 0),r.__decorate([s.property({type:u.apiValues,json:{read:u.read,write:u.write}})],h.prototype,"style",void 0),r.__decorate([s.property({type:["butt","round","square"],json:{write:{overridePolicy:(e,r,o)=>({enabled:"round"!==e&&(null==o||null==o.origin)})}}})],h.prototype,"cap",void 0),r.__decorate([s.property({type:["miter","round","bevel"],json:{write:{overridePolicy:(e,r,o)=>({enabled:"round"!==e&&(null==o||null==o.origin)})}}})],h.prototype,"join",void 0),r.__decorate([s.property({types:{key:"type",base:null,defaultKeyValue:"line-marker",typeMap:{"line-marker":d}},json:{write:!0,origins:{"web-scene":{write:!1}}}})],h.prototype,"marker",void 0),r.__decorate([s.property({type:Number,json:{read:!1,write:!1}})],h.prototype,"miterLimit",void 0),h=c=r.__decorate([a.subclass("esri.symbols.SimpleLineSymbol")],h);return h}));
