/*
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","../../PopupTemplate","../../renderers/ClassBreaksRenderer","../../renderers/DictionaryRenderer","../../renderers/DotDensityRenderer","../../renderers/HeatmapRenderer","../../renderers/PieChartRenderer","../../renderers/Renderer","../../renderers/SimpleRenderer","../../renderers/UniqueValueRenderer","../../renderers/support/jsonUtils","../../renderers/support/types","../../symbols","../../core/JSONSupport","../../core/lang","../../core/screenUtils","../../core/accessorSupport/decorators/property","../../core/accessorSupport/ensureType","../../core/accessorSupport/decorators/subclass","./AggregateField","./commonProperties","./LabelClass"],(function(e,r,t,o,p,s,l,n,i,a,u,d,c,y,b,_,f,m,g,S,h,w,v){"use strict";var R;let I=R=function(r){function t(e){var t;return(t=r.call(this,e)||this).type="cluster",t.clusterRadius=f.toPt("80px"),t.clusterMinSize=f.toPt("12px"),t.clusterMaxSize=f.toPt("50px"),t.popupEnabled=!0,t.popupTemplate=null,t.symbol=null,t.labelingInfo=null,t.labelsVisible=!0,t.fields=null,t}return e._inheritsLoose(t,r),t.prototype.clone=function(){return new R({clusterRadius:this.clusterRadius,clusterMinSize:this.clusterMinSize,clusterMaxSize:this.clusterMaxSize,labelingInfo:_.clone(this.labelingInfo),labelsVisible:this.labelsVisible,fields:_.clone(this.fields),renderer:_.clone(this.renderer),popupEnabled:this.popupEnabled,popupTemplate:_.clone(this.popupTemplate)})},t}(b.JSONSupport);r.__decorate([m.property({type:["cluster"],readOnly:!0,json:{write:!0}})],I.prototype,"type",void 0),r.__decorate([m.property({type:Number,cast:e=>"auto"===e?e:f.toPt(e),json:{write:!0}})],I.prototype,"clusterRadius",void 0),r.__decorate([m.property({type:Number,cast:f.toPt,json:{write:!0}})],I.prototype,"clusterMinSize",void 0),r.__decorate([m.property({type:Number,cast:f.toPt,json:{write:!0}})],I.prototype,"clusterMaxSize",void 0),r.__decorate([m.property(w.popupEnabled)],I.prototype,"popupEnabled",void 0),r.__decorate([m.property({type:t,json:{read:{source:"popupInfo"},write:{target:"popupInfo"}}})],I.prototype,"popupTemplate",void 0),r.__decorate([m.property({types:c.rendererTypes,json:{write:!0}})],I.prototype,"renderer",void 0),r.__decorate([m.property({types:y.symbolTypesCluster})],I.prototype,"symbol",void 0),r.__decorate([m.property({type:[v],json:{read:{source:"drawingInfo.labelingInfo"},write:{target:"drawingInfo.labelingInfo"}}})],I.prototype,"labelingInfo",void 0),r.__decorate([m.property(w.labelsVisible)],I.prototype,"labelsVisible",void 0),r.__decorate([m.property({type:[h],json:{write:!0,origins:{"web-document":{write:!1},"portal-item":{write:!1}}}})],I.prototype,"fields",void 0),I=R=r.__decorate([S.subclass("esri.layers.support.FeatureReductionCluster")],I);return I}));
