/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.25/esri/copyright.txt for details. */ import e from"../../PopupTemplate.js";import t from"../../core/Error.js";import{fetchMessageBundle as n}from"../../intl/messages.js";import i from"../../popup/ExpressionInfo.js";import o from"../../popup/FieldInfo.js";import{getFieldAndExpressionInfos as s,getContentFromFieldInfos as r,expressionFieldPrefix as a}from"./support/utils.js";import{getArcadeForOrderedFields as d,getArcadeForPredominantCategoryAlias as f}from"../statistics/support/predominanceUtils.js";async function l(e){const{layer:n,renderer:i}=e;await n.load();const o=i||n.renderer;if("dot-density"!==o.type)throw new t("dot-density-popup:invalid-parameters","renderer.type must be 'dot-density'");return{layer:n,renderer:o}}async function p(t,n){const{fieldInfos:i,expressionInfos:o}=await s({renderer:t,layer:n});return new e({content:await r(n,{fieldInfos:i,expressionInfos:o}),expressionInfos:o,fieldInfos:i})}async function m(t,n,r){const{fieldInfos:f,expressionInfos:l}=await s({renderer:t,layer:n}),p=f.filter((e=>!e.fieldName.includes(a))),m={fieldInfo:new o({fieldName:"expression/dot-density-categories-list"}),expressionInfo:new i({name:"dot-density-categories-list",title:r.listOfCategories,expression:d(p,l)})},c=new e({expressionInfos:[m.expressionInfo],fieldInfos:[m.fieldInfo],title:r.competingFields,content:`{${m.fieldInfo.fieldName}}`});return{name:"dot-density-categories-list",title:r.orderedListOfValues,value:c}}async function c(t,n,r){const{fieldInfos:d,expressionInfos:l}=await s({renderer:t,layer:n}),p=d.filter((e=>!e.fieldName.includes(a))),m={fieldInfo:new o({fieldName:"expression/dot-density-category"}),expressionInfo:new i({name:"dot-density-category",title:r.predominantCategory,expression:f(p,l)})},c=new e({expressionInfos:[m.expressionInfo,...l],fieldInfos:[m.fieldInfo,...d],content:[{type:"text",text:`