// All material copyright Esri, All Rights Reserved, unless otherwise specified. // See https://js.arcgis.com/4.30/esri/copyright.txt for details. //>>built define(["exports","../../../core/Error","../../../intl/number","../../../renderers/support/rasterRendererHelper","../support/utils"],function(g,e,h,f,n){function k(a){const {rasterInfo:c,layer:b}=a;return f.getVariableRasterInfo(c,c.multidimensionalInfo?"imagery"===b.type?b.mosaicRule?.multidimensionalDefinition?.[0]?.variableName:b.multidimensionalDefinition?.[0]?.variableName:"")}async function p(a){a=await n.processRasterRendererParameters(a);const c=a.layer,b=k(c);if(1q.name.toLowerCase()===a.field?.toLowerCase())&&null==b.histograms&&(await c.updateRasterInfoWithEstimatedStats({rasterFunction:a.rasterFunction,signal:a.signal}),null==b.histograms))throw new e("raster-class-breaks-renderer:not-supported","Histograms or raster attribute table is required on the source raster. Unable to estimate histograms");const {colors:l, numClasses:m}=a;if(l&&m&&l.length!==m)throw new e("raster-class-breaks-renderer:not-supported","The size of the `colors` parameter does not match 'numClasses'");a.classificationMethod||(a.classificationMethod="natural-breaks");return a}g.createRenderer=async function(a){a=await p(a);var c=k(a.layer);a=f.createClassBreaksRenderer(c,a);if(null==a)throw new e("raster-class-breaks-renderer:not-supported","Class breaks renderer is not supported on this data");c={minValue:a.minValue,maxValue:a.classBreakInfos[a.classBreakInfos.length- 1].maxValue,normalizationTotal:null,classBreakInfos:a.classBreakInfos.map(b=>{var d=b.maxValue;d=h.formatNumber(b.minValue,{maximumFractionDigits:3})+" - "+h.formatNumber(d,{maximumFractionDigits:3});b.label=d;return{minValue:b.minValue,maxValue:b.maxValue,label:d}})};return{renderer:a,classBreaksResult:c}};Object.defineProperty(g,Symbol.toStringTag,{value:"Module"})});