// 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/arrayUtils ../../core/MD5 ../../renderers/visualVariables/support/sizeVariableUtils ../popup/support/utils ./utils".split(" "),function(d,r,t,u,v,w){function n(b,a){if(b){var {field:c,valueExpression:e,normalizationField:f,normalizationType:k,normalizationTotal:l}=b;var h=null;if(e)h=e;else if(c){var g=w.getNormalizationType({normalizationType:k,normalizationField:f,normalizationTotal:l});g&&(g=g.toLowerCase(),h=c.toLowerCase()+",norm:"+g,f?h+=","+f.toLowerCase():"percent-of-total"=== g&&(g=l,u.isValidNumber(g)&&0!==g||(g=null),h+=","+g))}}else h=null;b=null!=h?t.createMD5Hash(h):b.field;return`${a}_${b}`}function p(b,a){const c="field"in a?a.field:null;b=c?b.getField(c)?.type:null;return{field:c,fieldType:null!=b?b:null,valueExpression:"valueExpression"in a?a.valueExpression:null,valueExpressionTitle:"valueExpressionTitle"in a?a.valueExpressionTitle:null,normalizationField:"normalizationField"in a?a.normalizationField:null,normalizationType:"normalizationType"in a?a.normalizationType: null,normalizationTotal:"normalizationTotal"in a?a.normalizationTotal:null}}function q(b,a){const c="rotation"===a.type?a.rotationType:null,e=a.legendOptions?.title,f=a.field;b=f?b.getField(f)?.type:null;return{field:f,fieldType:null!=b?b:null,rotationType:c,valueExpression:a.valueExpression,valueExpressionTitle:a.valueExpressionTitle||a.valueExpression&&e,normalizationField:"normalizationField"in a?a.normalizationField:null,vvType:a.type}}function x(b){return b.map(a=>{var c=String(a.value);a=(a= String(a.label))?a.replaceAll('"','\\"'):"";return`{\n "value": "${c}",\n "label": "${a}"\n }`})}function m(b,a){const c=[n(b,a)];"date"===b.fieldType&&c.push(b.fieldType.toLowerCase());b.rotationType&&c.push(b.rotationType.toLowerCase());return{statisticHash:c.join("_"),attributeInfo:b,statisticType:a}}d.clusterCountField="cluster_count";d.getClusterField=function(b,a){return`cluster_${n(b,a)}`};d.getClusterFieldHash=function(b,a){return b.split(`cluster_${a}_`).pop()};d.getPredominantTypeExpression= function(b,a,c){return`\n var uvInfos = [${x(b).join(", ")}];\n var predominantType = Text($feature["${a}"]);\n var label = "${c?c.replaceAll('"','\\"'):""}";\n\n for (var i = 0; i < Count(uvInfos); i++) {\n if (uvInfos[i].value == predominantType) {\n label = uvInfos[i].label;\n break;\n }\n }\n\n return label;\n `};d.getRendererAttributeInfo=p;d.getStatisticId=n;d.getStatisticInfo=m;d.getStatisticInfos=function(b,a,c=!0){const e=[],f=p(b,a);"class-breaks"===a.type?e.push(m(f, "avg")):"unique-value"===a.type&&e.push(m(f,"type"));a=v.getPrimaryVisualVariables(a);for(const k of a)a=q(b,k),e.push(m(a,"avg"));return c?r.unique(e,(k,l)=>k.statisticHash===l.statisticHash):e};d.getVariableAttributeInfo=q;Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})});