/* 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"../../Color.js";import a from"./support/colors.js";import{createThemes as r,getThemesforBasemap as l,getRawSchemes as t,filterSchemesByName as o,filterSchemesByTag as n}from"./support/symbologyUtils.js";const m=r({themeDictionary:{default:{name:"default",label:"Default",description:"Default theme for visualizing features using heatmap.",schemes:{default:{light:{primary:"heatmap-v1",secondary:["heatmap-v2","heatmap-v3","neutral-yellow-orange","neutral-yellow-green","neutral-yellow-purple","neutral-yellow-magenta","neutral-white-blue","neutral-white-blue-metal","neutral-white-gold","neutral-yellow-bronze","heatmap-v4","dark-yellow-orange","dark-yellow-green","dark-yellow-purple","dark-yellow-magenta","dark-white-blue","dark-white-blue-metal","dark-white-gold","dark-yellow-bronze"]},dark:{primary:"heatmap-v4",secondary:["dark-white-blue","dark-yellow-orange","dark-yellow-green","dark-yellow-purple","dark-yellow-magenta","dark-white-blue-metal","dark-white-gold","dark-yellow-bronze","heatmap-v1","heatmap-v2","heatmap-v3","neutral-yellow-orange","neutral-yellow-green","neutral-yellow-purple","neutral-yellow-magenta","neutral-white-blue","neutral-white-blue-metal","neutral-white-gold","neutral-yellow-bronze"]}}}}}});function u(e){return l(m,e)}function s(e){const a="default",r=t({basemap:e.basemap,basemapTheme:e.basemapTheme,theme:m.get(a)});if(!r)return;const{schemesInfo:l,basemapId:o,basemapTheme:n}=r,u=`${a}/${o}/`;return{primaryScheme:y(l.primary,u+l.primary),secondarySchemes:l.secondary.map((e=>y(e,u+e))).filter(Boolean),basemapId:o,basemapTheme:n}}function i(e){return o(e.name,s(e))}function p(e){return n(e.includedTags,e.excludedTags,s(e))}function d(a){if(!a)return;const r={...a};return r.colors=r.colors.map((a=>new e(a))),r.tags=[...r.tags],r}function y(e,r){const l=a[e];if(l)return w({id:r,name:l.name,tags:l.tags,colors:l.stops,opacity:.7})}function w(a){return{id:a.id,name:a.name,tags:[...a.tags],colors:a.colors.map((a=>new e(a))),opacity:a.opacity}}export{d as cloneScheme,i as getSchemeByName,s as getSchemes,p as getSchemesByTag,u as getThemes};