// 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","../../PopupTemplate","../../core/Error","../../intl/messages","./support/utils"],function(g,m,f,n,h){async function p(a){const {layer:b,renderer:d}=a;await b.load();a=d||b.renderer;if("unique-value"!==a?.type)throw new f("relationship-popup:invalid-parameters","renderer.type must be 'unique-value'");const c=a.authoringInfo;if(!c||"relationship"!==c.type)throw new f("relationship-popup:invalid-parameters","renderer.authoringInfo.type must be 'relationship'");if(!c.field1?.field|| !c.field2?.field)throw new f("relationship-popup:invalid-parameters","'field1' and/or 'field2' properties are missing in renderer.authoringInfo");return{layer:b,renderer:a}}async function k(a,b,d="divide"){const {fieldInfos:c,expressionInfos:e}=await h.getFieldAndExpressionInfos({renderer:a,layer:b,normFieldExpressionTemplate:d});return new m({content:await h.getContentFromFieldInfos(b,{fieldInfos:c,expressionInfos:e}),fieldInfos:c,expressionInfos:e})}g.getTemplates=async function(a){const [{renderer:b, layer:d},c]=await Promise.all([p(a),n.fetchMessageBundle("esri/smartMapping/t9n/smartMapping")]);a={name:"relationship",title:c.relationshipPopupTitle,value:await k(b,d)};const e=[],l=b.authoringInfo;(l?.field1?.normalizationField||l?.field2?.normalizationField)&&e.push({name:"relationship-percent",title:c.relationshipNormFieldAsPercent,value:await k(b,d,"percentage")});return{primaryTemplate:a,secondaryTemplates:e}};Object.defineProperty(g,Symbol.toStringTag,{value:"Module"})});