/* COPYRIGHT Esri - https://js.arcgis.com/5.1.0/LICENSE.txt */
import{__decorate as t}from"tslib";import{property as e,subclass as o}from"../core/accessorSupport/decorators.js";import l from"./Symbol3DLayer.js";import{symbol3dEdgesProperty as r}from"./edges/utils.js";import s from"./patterns/LineStylePattern3D.js";import i from"./patterns/StylePattern3D.js";import{symbol3dPatternProperty as n}from"./patterns/utils.js";import{white as a,transparentWhite as p}from"./support/colors.js";import u from"./support/Symbol3DFillMaterial.js";import m from"./support/Symbol3DOutline.js";import{enumeration as c}from"../core/accessorSupport/decorators/enumeration.js";var y;let d=class extends l{static{y=this}constructor(t){super(t),this.type="fill",this.material=null,this.pattern=null,this.castShadows=!0,this.outline=null,this.edges=null}clone(){const t={edges:null!=this.edges?this.edges.clone():null,enabled:this.enabled,material:null!=this.material?this.material.clone():null,pattern:null!=this.pattern?this.pattern.clone():null,castShadows:this.castShadows,outline:null!=this.outline?this.outline.clone():null};return new y(t)}static fromSimpleFillSymbol(t){const e=t.outline&&t.outline.style&&"solid"!==t.outline.style?new s({style:t.outline.style}):null,o={size:t.outline?.width??0,color:(t.outline?.color??a).clone(),pattern:e};return e&&t.outline?.cap&&(o.patternCap=t.outline.cap),new y({material:new u({color:(t.color??p).clone()}),pattern:t.style&&"solid"!==t.style?new i({style:t.style}):null,outline:o})}};t([c({Fill:"fill"},{readOnly:!0})],d.prototype,"type",void 0),t([e({type:u,json:{write:!0}})],d.prototype,"material",void 0),t([e(n)],d.prototype,"pattern",void 0),t([e({type:Boolean,nonNullable:!0,json:{write:!0,default:!0}})],d.prototype,"castShadows",void 0),t([e({type:m,json:{write:!0}})],d.prototype,"outline",void 0),t([e(r)],d.prototype,"edges",void 0),d=y=t([o("esri.symbols.FillSymbol3DLayer")],d);export{d as default};
