// 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/has","../../core/Error","../../symbols/support/symbolConversion"],function(g,k,r,l,e){function m(a){return null==a||"simple"===a.type||"unique-value"===a.type||"class-breaks"===a.type||"dictionary"===a.type||"heatmap"===a.type}function h(a,b){if(!b)return null;b=Array.isArray(b)?b:[b];if(0c.details.symbol.type||c.details.symbol.declaredClass).filter(c=>!!c);d.sort();const f=[];d.forEach((c,n)=>{0!==n&&c===d[n-1]||f.push(c)}); return new l("renderer-conversion-3d:unsupported-symbols",`Renderer contains symbols (${f.join(", ")}) which are not supported in 3D`,{renderer:a,symbolErrors:b})}return null}function p(a,b){const d={...e.defaultTo3DOptions,...b,cimFallbackEnabled:!0};b=a.uniqueValueInfos?.map(c=>e.to3D(c.symbol,d).error).filter(k.isSome);const f=e.to3D(a.defaultSymbol,d);f.error&&b?.unshift(f.error);return h(a,b)}function q(a,b){const d={...e.defaultTo3DOptions,...b,cimFallbackEnabled:!0};b=a.classBreakInfos.map(c=> e.to3D(c.symbol,d).error).filter(k.isSome);const f=e.to3D(a.defaultSymbol,d);f.error&&b.unshift(f.error);return h(a,b)}g.isSupportedRenderer3D=m;g.validateTo3D=function(a,b){if(null==a)return null;if(!m(a))return new l("renderer-conversion-3d:unsupported-renderer",`Unsupported renderer of type '${a.type||a.declaredClass}'`,{renderer:a});switch(a.type){case "simple":return h(a,e.to3D(a.symbol,{...e.defaultTo3DOptions,...b,cimFallbackEnabled:!0}).error);case "unique-value":return p(a,b);case "class-breaks":return q(a, b)}return null};Object.defineProperty(g,Symbol.toStringTag,{value:"Module"})});