@arcgis/core 4.24.0-next.20220401 → 4.24.0-next.20220404

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. package/assets/esri/core/workers/RemoteClient.js +1 -1
  2. package/assets/esri/core/workers/chunks/{c665e9b7d09fe516f138.js → 2fe10c5c01056babeae5.js} +1 -1
  3. package/assets/esri/core/workers/chunks/{8771296b537f366596c4.js → 37aa4532e25d54055e40.js} +54 -54
  4. package/assets/esri/core/workers/chunks/528033aa0d663b4d41bf.js +1 -0
  5. package/assets/esri/core/workers/chunks/{0e29250c24a3a7b1ce13.js → 6de5a790c14f04c6c302.js} +1 -1
  6. package/assets/esri/core/workers/chunks/b1188ca77b975c6a7d92.js +1 -0
  7. package/chunks/BlendLayers.glsl.js +1 -1
  8. package/chunks/DefaultMaterial.glsl.js +26 -26
  9. package/chunks/HUDMaterial.glsl.js +37 -37
  10. package/chunks/HighlightDownsample.glsl.js +1 -1
  11. package/chunks/ImageMaterial.glsl.js +10 -10
  12. package/chunks/LineMarker.glsl.js +75 -32
  13. package/chunks/RealisticTree.glsl.js +26 -26
  14. package/chunks/SMAA.glsl.js +2 -2
  15. package/chunks/SSAO.glsl.js +2 -2
  16. package/chunks/SimpleAtmosphere.glsl.js +10 -10
  17. package/chunks/TextureOnly.glsl.js +2 -2
  18. package/core/accessorSupport/Property.js +1 -1
  19. package/interfaces.d.ts +25 -7
  20. package/package.json +1 -1
  21. package/smartMapping/renderers/color.js +1 -1
  22. package/smartMapping/renderers/dotDensity.js +1 -1
  23. package/smartMapping/renderers/heatmap.js +1 -1
  24. package/smartMapping/renderers/location.js +1 -1
  25. package/smartMapping/renderers/predominance.js +1 -1
  26. package/smartMapping/renderers/relationship.js +1 -1
  27. package/smartMapping/renderers/size.js +1 -1
  28. package/smartMapping/renderers/type.js +1 -1
  29. package/smartMapping/symbology/color.js +1 -1
  30. package/smartMapping/symbology/dotDensity.js +1 -1
  31. package/smartMapping/symbology/flow.js +1 -1
  32. package/smartMapping/symbology/heatmap.js +1 -1
  33. package/smartMapping/symbology/location.js +1 -1
  34. package/smartMapping/symbology/predominance.js +1 -1
  35. package/smartMapping/symbology/relationship.js +1 -1
  36. package/smartMapping/symbology/size.js +1 -1
  37. package/smartMapping/symbology/type.js +1 -1
  38. package/support/revision.js +1 -1
  39. package/views/2d/engine/Stage.js +1 -1
  40. package/views/2d/engine/flow/BrushFlow.js +1 -1
  41. package/views/2d/engine/imagery/BrushRasterBitmap.js +1 -1
  42. package/views/2d/engine/imagery/BrushVectorField.js +1 -1
  43. package/views/2d/engine/vectorTiles/VectorTileRendererHelper3D.js +1 -1
  44. package/views/2d/engine/webgl/Painter.js +1 -1
  45. package/views/2d/engine/webgl/brushes/BrushBitmap.js +1 -1
  46. package/views/2d/engine/webgl/brushes/BrushClip.js +1 -1
  47. package/views/2d/engine/webgl/brushes/WGLBrushInfo.js +1 -1
  48. package/views/2d/engine/webgl/brushes/WGLBrushStencil.js +1 -1
  49. package/views/2d/engine/webgl/brushes/WGLBrushVTLBackground.js +1 -1
  50. package/views/2d/engine/webgl/brushes/WGLBrushVTLCircle.js +1 -1
  51. package/views/2d/engine/webgl/brushes/WGLBrushVTLFill.js +1 -1
  52. package/views/2d/engine/webgl/brushes/WGLBrushVTLLine.js +1 -1
  53. package/views/2d/engine/webgl/brushes/WGLBrushVTLSymbol.js +1 -1
  54. package/views/2d/engine/webgl/brushes/WGLGeometryBrushFill.js +1 -1
  55. package/views/2d/engine/webgl/brushes/WGLGeometryBrushLabel.js +1 -1
  56. package/views/2d/engine/webgl/brushes/WGLGeometryBrushLine.js +1 -1
  57. package/views/2d/engine/webgl/brushes/WGLGeometryBrushMarker.js +1 -1
  58. package/views/2d/engine/webgl/brushes/WGLGeometryBrushText.js +1 -1
  59. package/views/2d/engine/webgl/effects/post-processing/EffectManager.js +1 -1
  60. package/views/3d/environment/CloudsComposition.js +1 -1
  61. package/views/3d/environment/PanoramicAtmosphere.js +1 -1
  62. package/views/3d/environment/SimpleAtmosphere.glsl.js +1 -1
  63. package/views/3d/environment/SimpleAtmosphere.js +1 -1
  64. package/views/3d/environment/SimpleAtmosphereTechnique.js +1 -1
  65. package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
  66. package/views/3d/terrain/TerrainRenderer.js +1 -1
  67. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  68. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
  69. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
  70. package/views/3d/webgl-engine/core/material/MaterialBase.js +1 -1
  71. package/views/3d/webgl-engine/core/material/RenderTexture.js +1 -1
  72. package/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js +6 -6
  73. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexTextureCoordinates.glsl.js +6 -6
  74. package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +3 -3
  75. package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js +5 -5
  76. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +12 -12
  77. package/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js +7 -7
  78. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js +4 -9
  79. package/views/3d/webgl-engine/core/shaderModules/BooleanUniform.js +1 -1
  80. package/views/3d/webgl-engine/core/shaderModules/Float2Uniform.js +1 -1
  81. package/views/3d/webgl-engine/core/shaderModules/Float4Uniform.js +1 -1
  82. package/views/3d/webgl-engine/core/shaderModules/Float4sUniform.js +1 -1
  83. package/views/3d/webgl-engine/core/shaderModules/FloatUniform.js +1 -1
  84. package/views/3d/webgl-engine/core/shaderModules/FloatsUniform.js +1 -1
  85. package/views/3d/webgl-engine/core/shaderModules/IntegerUniform.js +1 -1
  86. package/views/3d/webgl-engine/core/shaderModules/Matrix3Uniform.js +1 -1
  87. package/views/3d/webgl-engine/core/shaderModules/Texture2DUniform.js +1 -1
  88. package/views/3d/webgl-engine/core/shaderModules/Uniform.js +1 -1
  89. package/views/3d/webgl-engine/core/shaderTechnique/BindType.js +1 -1
  90. package/views/3d/webgl-engine/lib/GLTextureMaterial.js +1 -1
  91. package/views/3d/webgl-engine/lib/Program.js +1 -1
  92. package/views/3d/webgl-engine/lighting/SceneLighting.js +1 -1
  93. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  94. package/views/3d/webgl-engine/materials/DefaultTechniqueConfiguration.js +1 -1
  95. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  96. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  97. package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
  98. package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
  99. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  100. package/views/3d/webgl-engine/parts/ScreenshotManager.js +1 -1
  101. package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
  102. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  103. package/views/3d/webgl-engine/shaders/DefaultMaterialTechniqueConfiguration.js +1 -1
  104. package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
  105. package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
  106. package/views/3d/webgl-engine/shaders/ImageMaterial.glsl.js +1 -1
  107. package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
  108. package/views/3d/webgl-engine/shaders/LineMarkerTechnique.js +1 -1
  109. package/views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js +1 -1
  110. package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
  111. package/views/3d/webgl-engine/shaders/TerrainTechniqueConfiguration.js +1 -1
  112. package/views/MapView.js +1 -1
  113. package/views/SceneView.js +1 -1
  114. package/views/support/DefaultsFromMap.js +1 -1
  115. package/views/support/screenshotUtils.js +1 -1
  116. package/widgets/Editor.js +1 -1
  117. package/assets/esri/core/workers/chunks/5682039666f874836451.js +0 -1
  118. package/assets/esri/core/workers/chunks/79bdb26244ec7b4472fe.js +0 -1
  119. package/chunks/color.js +0 -5
  120. package/chunks/dotDensity.js +0 -5
  121. package/chunks/heatmap.js +0 -5
  122. package/chunks/location.js +0 -5
  123. package/chunks/predominance.js +0 -5
  124. package/chunks/relationship.js +0 -5
  125. package/chunks/size.js +0 -5
  126. package/chunks/type.js +0 -5
  127. package/renderers/smartMapping/creators/color.js +0 -5
  128. package/renderers/smartMapping/creators/dotDensity.js +0 -5
  129. package/renderers/smartMapping/creators/heatmap.js +0 -5
  130. package/renderers/smartMapping/creators/location.js +0 -5
  131. package/renderers/smartMapping/creators/opacity.js +0 -5
  132. package/renderers/smartMapping/creators/predominance.js +0 -5
  133. package/renderers/smartMapping/creators/relationship.js +0 -5
  134. package/renderers/smartMapping/creators/size.js +0 -5
  135. package/renderers/smartMapping/creators/support/utils.js +0 -5
  136. package/renderers/smartMapping/creators/type.js +0 -5
  137. package/renderers/smartMapping/creators/univariateColorSize.js +0 -5
  138. package/renderers/smartMapping/heuristics/scaleRange.js +0 -5
  139. package/renderers/smartMapping/heuristics/sizeRange.js +0 -5
  140. package/renderers/smartMapping/statistics/classBreaks.js +0 -5
  141. package/renderers/smartMapping/statistics/heatmapStatistics.js +0 -5
  142. package/renderers/smartMapping/statistics/histogram.js +0 -5
  143. package/renderers/smartMapping/statistics/predominantCategories.js +0 -5
  144. package/renderers/smartMapping/statistics/summaryStatistics.js +0 -5
  145. package/renderers/smartMapping/statistics/summaryStatisticsForAge.js +0 -5
  146. package/renderers/smartMapping/statistics/support/ageUtils.js +0 -5
  147. package/renderers/smartMapping/statistics/uniqueValues.js +0 -5
  148. package/renderers/smartMapping/symbology/color.js +0 -5
  149. package/renderers/smartMapping/symbology/dotDensity.js +0 -5
  150. package/renderers/smartMapping/symbology/heatmap.js +0 -5
  151. package/renderers/smartMapping/symbology/location.js +0 -5
  152. package/renderers/smartMapping/symbology/predominance.js +0 -5
  153. package/renderers/smartMapping/symbology/relationship.js +0 -5
  154. package/renderers/smartMapping/symbology/size.js +0 -5
  155. package/renderers/smartMapping/symbology/support/colorRamps.js +0 -5
  156. package/renderers/smartMapping/symbology/support/utils.js +0 -5
  157. package/renderers/smartMapping/symbology/type.js +0 -5
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import"../../renderers/PointCloudClassBreaksRenderer.js";import"../../renderers/PointCloudRenderer.js";import e from"../../renderers/PointCloudRGBRenderer.js";import o from"../../renderers/PointCloudStretchRenderer.js";import"../../renderers/PointCloudUniqueValueRenderer.js";import i from"../../renderers/ClassBreaksRenderer.js";import"../../renderers/DictionaryRenderer.js";import"../../renderers/DotDensityRenderer.js";import"../../renderers/HeatmapRenderer.js";import"../../renderers/Renderer.js";import"../../renderers/SimpleRenderer.js";import"../../renderers/UniqueValueRenderer.js";import"../../renderers/support/jsonUtils.js";import r from"../../core/Error.js";import{isSome as a}from"../../core/maybe.js";import{fetchMessageBundle as l}from"../../intl/messages.js";import{substitute as n}from"../../intl/substitute.js";import s from"../../renderers/support/AuthoringInfo.js";import t from"../../renderers/support/AuthoringInfoVisualVariable.js";import{createColorStops as m,setLabelsForClassBreaks as d}from"../../renderers/support/utils.js";import u from"../../renderers/visualVariables/ColorVariable.js";import c from"../heuristics/ageUnit.js";import p from"../heuristics/outline.js";import y from"../heuristics/sizeRange.js";import{getSummaryStatistics as f,getClassBreaks as b,getPointSizeAlgorithm as h,formatDate as v,updateAgeRendererAuthoringInfoVV as w,createError as g,verifyBasicFieldValidity as T,isValidPointSize as x,createColors as E,getDefaultDataRange as V,createDefaultStopValues as z,createStopValues as S,getDataRange as M,createDataValues as I,createSymbol as j,getSymbolSizeFromScheme as q,getSymbolOutlineFromScheme as C,getBasemapInfo as O}from"./support/utils.js";import{getAgeExpressions as k,verifyDates as P,supportedAgeUnits as F}from"../statistics/support/ageUtils.js";import{getFieldsList as U,getNormalizationType as R}from"../support/utils.js";import{createLayerAdapter as B,featureCapableLayerTypes as D,getLayerTypeLabels as L,LayerType as A}from"../support/adapters/support/layerUtils.js";import{c as G,g as W,a as $}from"../../chunks/color.js";const H="date",_="high-to-low",J=2**53-1,K=5;async function N(e){if(!(e&&e.layer&&(e.field||e.valueExpression||e.sqlExpression)))throw new r("color-visual-variable:missing-parameters","'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required");if(e.valueExpression&&!e.sqlExpression&&!e.view)throw new r("color-visual-variable:missing-parameters","View is required when 'valueExpression' is specified");const o={...e};if("90-10"===o.theme)throw new r("color-visual-variable:not-supported","Only 'high-to-low', 'above-and-below', 'centered-on', 'extremes', 'above', 'below' themes are supported.");const i=B(o.layer,D);if(o.layer=i,!i)throw new r("color-visual-variable:invalid-parameters","'layer' must be one of these types: "+L(D).join(", "));const l=a(o.signal)?{signal:o.signal}:null;await i.load(l);if("mesh"!==i.geometryType&&o.worldScale&&(!o.view||"3d"!==o.view.type))throw g("color-visual-variable:invalid-parameters","'view' parameter should be an instance of SceneView when 'worldScale' parameter is true");const n=await U({field:o.field,normalizationField:o.normalizationField,valueExpression:o.valueExpression}),s=T(i,n,"color-visual-variable:invalid-parameters");if(s)throw s;return o}async function Q(e){if(!(e&&e.layer&&(e.field||e.valueExpression||e.sqlExpression)))throw new r("color-continuous-renderer:missing-parameters","'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required");if(e.valueExpression&&!e.sqlExpression&&!e.view)throw new r("color-continuous-renderer:missing-parameters","View is required when 'valueExpression' is specified");const o={...e};o.symbolType=o.symbolType||"2d",o.defaultSymbolEnabled=null==o.defaultSymbolEnabled||o.defaultSymbolEnabled;const i=B(o.layer,D);if(o.layer=i,!i)throw new r("color-continuous-renderer:invalid-parameters","'layer' must be one of these types: "+L(D).join(", "));const l=a(o.signal)?{signal:o.signal}:null;await i.load(l);const n=i.geometryType;if(o.outlineOptimizationEnabled="polygon"===n&&o.outlineOptimizationEnabled,o.sizeOptimizationEnabled=("point"===n||"multipoint"===n||"polyline"===n)&&o.sizeOptimizationEnabled,"mesh"===n)o.symbolType="3d-volumetric",o.colorMixMode=o.colorMixMode||"replace",o.edgesType=o.edgesType||"none";else{if("3d-volumetric-uniform"===o.symbolType&&"point"!==n)throw new r("color-continuous-renderer:not-supported","3d-volumetric-uniform symbols are supported for point layers only");if(o.symbolType.includes("3d-volumetric")&&(!o.view||"3d"!==o.view.type))throw new r("color-continuous-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'")}const s=await U({field:o.field,normalizationField:o.normalizationField,valueExpression:o.valueExpression}),t=T(i,s,"color-continuous-renderer:invalid-parameters");if(t)throw t;return o}async function X(e){if(!e||!e.layer||!e.field&&!e.valueExpression)throw new r("color-class-breaks-renderer:missing-parameters","'layer' and 'field' or 'valueExpression' parameters are required");if(e.valueExpression&&!e.view)throw new r("color-class-breaks-renderer:missing-parameters","View is required when 'valueExpression' is specified");const o={...e};o.symbolType=o.symbolType||"2d",o.defaultSymbolEnabled=null==o.defaultSymbolEnabled||o.defaultSymbolEnabled,o.classificationMethod=o.classificationMethod||"equal-interval",o.normalizationType=R(o);const i=B(o.layer,D);if(o.layer=i,!i)throw new r("color-class-breaks-renderer:invalid-parameters","'layer' must be one of these types: "+L(D).join(", "));if(!(null!=o.minValue&&null!=o.maxValue)&&(null!=o.minValue||null!=o.maxValue))throw new r("color-class-breaks-renderer:missing-parameters","Both 'minValue' and 'maxValue' are required when specifying custom data range");const l=a(o.signal)?{signal:o.signal}:null;await i.load(l);const n=i.geometryType;if(o.outlineOptimizationEnabled="polygon"===n&&o.outlineOptimizationEnabled,"mesh"===n)o.symbolType="3d-volumetric",o.colorMixMode=o.colorMixMode||"replace",o.edgesType=o.edgesType||"none";else{if("3d-volumetric-uniform"===o.symbolType&&"point"!==n)throw new r("color-continuous-renderer:not-supported","3d-volumetric-uniform symbols are supported for point layers only");if(o.symbolType.includes("3d-volumetric")&&(!o.view||"3d"!==o.view.type))throw new r("color-class-breaks-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'")}const s=await U({field:o.field,normalizationField:o.normalizationField}),t=T(i,s,"color-class-breaks-renderer:invalid-parameters");if(t)throw t;return o}function Y(e){const o={...e};delete o.basemap,delete o.colorScheme,delete o.legendOptions,delete o.symbolType,delete o.defaultSymbolEnabled,delete o.colorMixMode,delete o.edgesType;const i=o;return i.analyzeData=!(null!=o.minValue&&null!=o.maxValue),i}function Z(e){if(!e||!e.layer)return Promise.reject(g("color-point-cloud-true-color-renderer:missing-parameters","'layer' parameter is required"));const o={...e},i=[A.PointCloudLayer],r=B(o.layer,i);if(o.layer=r,o.density=o.density||25,o.size=o.size||"100%",!x(o.size))return Promise.reject(g("color-point-cloud-true-color-renderer:invalid-parameters","Invalid 'size' parameter. It should be a string of the form '100%'"));if(!r)return Promise.reject(g("color-point-cloud-true-color-renderer:invalid-parameters","'layer' must be one of these types: "+L(i).join(", ")));const l=a(o.signal)?{signal:o.signal}:null;return r.load(l).then((()=>o))}function ee(e){if(!(e&&e.layer&&e.field))return Promise.reject(g("color-point-cloud-continuous-renderer:missing-parameters","'layer' and 'field' parameters are required"));const o=e.field.toLowerCase();if("intensity"!==o&&"elevation"!==o)return Promise.reject(g("color-point-cloud-continuous-renderer:invalid-parameters","'field' should be either 'intensity' or 'elevation'"));const i={...e},r=[A.PointCloudLayer],l=B(i.layer,r);if(i.layer=l,i.density=i.density||25,i.size=i.size||"100%",!x(i.size))return Promise.reject(g("color-point-cloud-continuous-renderer:invalid-parameters","Invalid 'size' parameter. It should be a string of the form '100%'"));if(!l)return Promise.reject(g("color-point-cloud-continuous-renderer:invalid-parameters","'layer' must be one of these types: "+L(r).join(", ")));const n=a(i.signal)?{signal:i.signal}:null;return l.load(n).then((()=>i))}function oe(e){const o={...e},i=o.symbolType.includes("3d-volumetric");delete o.symbolType,delete o.defaultSymbolEnabled,delete o.colorMixMode,delete o.edgesType;const r=o;return r.worldScale=i,r}async function ie(e){if(!(e&&e.layer&&e.view&&e.startTime&&e.endTime))throw new r("color-age-renderer:missing-parameters","'layer', 'view', startTime', 'endTime' parameters are required");const o={...e};o.symbolType=o.symbolType||"2d",o.defaultSymbolEnabled=null==o.defaultSymbolEnabled||o.defaultSymbolEnabled;const i=B(o.layer,D);if(o.layer=i,!i)throw new r("color-age-renderer:invalid-parameters","'layer' must be one of these types: "+L(D).join(", "));const l=a(o.signal)?{signal:o.signal}:null;await i.load(l);const n=i.geometryType;if(o.outlineOptimizationEnabled="polygon"===n&&o.outlineOptimizationEnabled,o.sizeOptimizationEnabled=("point"===n||"multipoint"===n||"polyline"===n)&&o.sizeOptimizationEnabled,"mesh"===n)o.symbolType="3d-volumetric",o.colorMixMode=o.colorMixMode||"replace",o.edgesType=o.edgesType||"none";else if("3d-volumetric-uniform"===o.symbolType&&"point"!==n)throw new r("color-continuous-renderer:not-supported","3d-volumetric-uniform symbols are supported for point layers only");if(o.symbolType.includes("3d-volumetric")&&(!o.view||"3d"!==o.view.type))throw new r("color-age-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'");const s=P(i,o.startTime,o.endTime,"color-age-renderer:invalid-parameters");if(s)throw s;if(o.unit&&!F.includes(o.unit))throw new r("color-age-renderer:invalid-unit",`Supported units are: ${F.join(", ")}`);return o}async function re(e,o){let i=e.colorScheme,r=null,l=null;const n=await O(e.basemap,e.view);if(r=a(n.basemapId)?n.basemapId:null,l=a(n.basemapTheme)?n.basemapTheme:null,i)return{scheme:G(i),basemapId:r,basemapTheme:l};const s=o||e.theme||_,t=W({theme:s,basemap:r,basemapTheme:l,geometryType:e.geometryType,worldScale:e.worldScale,view:e.view});if(t)if(r=t.basemapId,l=t.basemapTheme,e.schemeId){const o=s+"/"+r+"/"+e.schemeId;i=$({id:o,geometryType:e.geometryType})}else i=t.primaryScheme;return{scheme:i,basemapId:r,basemapTheme:l}}async function ae(e,o){const i=o.layer,r=await re({basemap:o.basemap,colorScheme:o.colorScheme,geometryType:i.geometryType,schemeId:"elevation"===o.field.toLowerCase()?"point-cloud-elevation-scheme":"point-cloud-intensity-scheme"}),a=r.scheme;if(!a)throw g("color-point-cloud-continuous-renderer:insufficient-info","Unable to find color scheme");const l=E(a.colors,K);if(l.length<K)throw g("color-point-cloud-continuous-renderer:insufficient-info","Color scheme does not have enough colors");const n=V(e,!1,!0),s=n?z(n[0],n[1],5):S(e);return{stops:m({values:s,isDate:!1,dateFormatOptions:null,colors:l,labelIndexes:[0,2,4]}),basemapId:r.basemapId,basemapTheme:r.basemapTheme,statistics:e,defaultValuesUsed:!!n,colorScheme:G(a)}}async function le(e,o,i){const r=e.layer,{field:a,theme:l}=e,n=a&&!("function"==typeof a)?r.getField(a):null,m=n&&n.type===H,d=await re({basemap:e.basemap,theme:e.theme,geometryType:r.geometryType,colorScheme:e.colorScheme,worldScale:e.worldScale,view:e.view}),c=d.scheme;if(!c)throw g("color-visual-variable:insufficient-info","Unable to find color scheme");const p=E(c.colors,K);if(p.length<K)throw g("color-visual-variable:insufficient-info","Color scheme does not have enough colors");const y=c.id.includes("seq-"),f=M(o,i,l,m,"90-10"!==l),b=I(f,o,l,y),h=E(p,K),v=new u({field:a,valueExpression:e.valueExpression,valueExpressionTitle:e.valueExpressionTitle,normalizationField:e.normalizationField,stops:b.map(((e,o)=>({value:e,color:h[o]}))),legendOptions:e.legendOptions}),w=new t({type:"color",minSliderValue:null!=e.minValue?e.minValue:o.min,maxSliderValue:null!=e.maxValue?e.maxValue:o.max,theme:c.theme}),T=new s({visualVariables:[w]});return{basemapId:d.basemapId,basemapTheme:d.basemapTheme,visualVariable:v,statistics:o,defaultValuesUsed:f.defaultValuesUsed,colorScheme:G(c),authoringInfo:T}}async function ne(e,o,r,a,n,s){const t=await l("esri/smartMapping/t9n/smartMapping"),m=s.layer,d=s.field,u=m.geometryType,c=s.defaultSymbolEnabled,p=G(e.colorScheme),y=o&&o.opacity,f=[e.visualVariable.clone()];o&&o.visualVariables&&o.visualVariables.length&&f.push(...o.visualVariables.map((e=>e.clone()))),r&&r.minSize&&f.push(r.minSize);return{renderer:new i({classBreakInfos:[{minValue:-J,maxValue:J,symbol:j(u,{type:s.symbolType,color:p.noDataColor,size:q(p,u),outline:C(p,u,y),meshInfo:{colorMixMode:s.colorMixMode,edgesType:s.edgesType}})}],defaultLabel:c?t.other:null,defaultSymbol:c?j(u,{type:s.symbolType,color:p.noDataColor,size:q(p,u),outline:C(p,u,y),meshInfo:{colorMixMode:s.colorMixMode,edgesType:s.edgesType}}):null,field:d,normalizationType:a,normalizationField:n,valueExpression:s.valueExpression,valueExpressionTitle:s.valueExpressionTitle,visualVariables:f,authoringInfo:e.authoringInfo&&e.authoringInfo.clone()}),visualVariable:e.visualVariable.clone(),statistics:e.statistics,defaultValuesUsed:e.defaultValuesUsed,colorScheme:G(e.colorScheme),basemapId:e.basemapId,basemapTheme:e.basemapTheme}}async function se(e){const o=await N(e),{view:i,field:r,valueExpression:a,minValue:l,maxValue:n,layer:s,normalizationField:t,signal:m,statistics:d}=o,u=t?"field":void 0,[c,p]=await Promise.all([d||f({layer:s,field:r,valueExpression:a,sqlExpression:o.sqlExpression,sqlWhere:o.sqlWhere,normalizationType:u,normalizationField:t,minValue:l,maxValue:n,view:i,signal:m}),"90-10"===o.theme?b({layer:s,field:r,normalizationField:t,valueExpression:a,classificationMethod:"quantile",minValue:l,maxValue:n,view:i,numClasses:10,signal:m}):null]);return le(o,c,null==p?void 0:p.result)}function te(e,o){const i=e.colorsForClassBreaks;let r;if(i&&i.length>0&&(i.some((e=>(e.numClasses===o&&(r=e.colors),!!r))),!r)){const e=i[i.length-1],a=o-e.numClasses;if(a>0){const o=e.colors[e.numClasses-1];r=e.colors.splice(0);for(let e=1;e<=a;e++)r.push(o)}}return r&&(r=E(r,r.length)),r}async function me(e,o){const a=await l("esri/smartMapping/t9n/smartMapping"),n=e.layer,t=e.defaultSymbolEnabled,m=n.geometryType,u=e.classificationMethod,c="standard-deviation"===u,p=await re({basemap:e.basemap,geometryType:m,theme:c?"above-and-below":null,colorScheme:e.colorScheme,worldScale:e.symbolType.includes("3d-volumetric"),view:e.view}),y=p.scheme,{result:f,outlineResult:b}=o,h=f.classBreakInfos,v=e.normalizationType;if(!y)throw new r("color-class-breaks-renderer:insufficient-info","Unable to find color scheme");const w=te(y,h.length);if(!w||w.length!==h.length)throw new r("color-class-breaks-renderer:insufficient-info","Color scheme does not have enough colors");const g=b&&b.opacity,T=new i({classBreakInfos:h.map(((o,i)=>({minValue:o.minValue,maxValue:o.maxValue,symbol:j(m,{type:e.symbolType,color:w[i],size:q(y,m),outline:C(y,m,g),meshInfo:{colorMixMode:e.colorMixMode,edgesType:e.edgesType}}),label:o.label}))),defaultLabel:t?a.other:null,defaultSymbol:t?j(m,{type:e.symbolType,color:y.noDataColor,size:q(y,m),outline:C(y,m,g),meshInfo:{colorMixMode:e.colorMixMode,edgesType:e.edgesType}}):null,field:e.field,valueExpression:e.valueExpression,valueExpressionTitle:e.valueExpressionTitle,normalizationType:v,normalizationField:e.normalizationField,normalizationTotal:"percent-of-total"===v?f.normalizationTotal:void 0,legendOptions:e.legendOptions,authoringInfo:new s({type:"class-breaks-color",classificationMethod:u,standardDeviationInterval:e.standardDeviationInterval})});return c||d({classBreakInfos:T.classBreakInfos,classificationMethod:u,normalizationType:v,round:!0}),b&&b.visualVariables&&b.visualVariables.length&&(T.visualVariables=b.visualVariables.map((e=>e.clone()))),{renderer:T,colorScheme:G(y),classBreaksResult:f,defaultValuesUsed:o.defaultValuesUsed,basemapId:p.basemapId,basemapTheme:p.basemapTheme}}async function de(e){const o=await Q(e),{layer:i,view:r,signal:a}=o,[l,n,s]=await Promise.all([se(oe(o)),o.outlineOptimizationEnabled?p({layer:i,view:r,signal:a}):null,o.sizeOptimizationEnabled?y({layer:i,view:r,signal:a}):null]),t=o.normalizationField;return ne(l,n,s,t?"field":void 0,t,o)}async function ue(e){const o=await X(e);return me(o,await b(Y(o),o.outlineOptimizationEnabled))}function ce(o){return Z(o).then((o=>({renderer:new e({field:"RGB",pointsPerInch:o.density,pointSizeAlgorithm:h(o.size)})})))}async function pe(e){const i=await ee(e),r=i.statistics?i.statistics:await f({layer:i.layer,field:i.field,signal:i.signal}),a=await ae(r,i);return{renderer:new o({field:i.field,pointsPerInch:i.density,pointSizeAlgorithm:h(i.size),stops:a.stops}),basemapId:a.basemapId,basemapTheme:a.basemapTheme,statistics:a.statistics,defaultValuesUsed:a.defaultValuesUsed,colorScheme:a.colorScheme}}async function ye(e){const o=await l("esri/smartMapping/t9n/smartMapping"),i=await ie(e),{defaultSymbolEnabled:r,view:a,startTime:s,endTime:t,symbolType:m,colorMixMode:d,edgesType:u,minValue:f,maxValue:b,signal:h}=i,g=i.layer,[T,x,E]=await Promise.all([i.unit?{unit:i.unit,statistics:null}:c({view:a,layer:g,startTime:s,endTime:t,minValue:f,maxValue:b,signal:h}),i.outlineOptimizationEnabled?p({layer:g,view:a,signal:h}):null,i.sizeOptimizationEnabled?y({layer:g,view:a,signal:h}):null]),{unit:V,statistics:z}=T,S=k({layer:g,startTime:s,endTime:t,unit:V}).valueExpression,M=n(o[`ageInfo_${V}`],{unit:V,startTime:v(s,V,g),endTime:v(t,V,g)}),I=await se(oe({layer:g,basemap:i.basemap,valueExpression:S,symbolType:m,statistics:z,legendOptions:{title:M},colorScheme:i.colorScheme,theme:i.theme,view:a,minValue:i.minValue,maxValue:i.maxValue,signal:h})),j={layer:g,valueExpression:S,defaultSymbolEnabled:r,symbolType:m,colorMixMode:d,edgesType:u},q=await ne(I,x,E,null,null,j);return q.renderer.authoringInfo.visualVariables.forEach((e=>w(e,s,t,V))),{...q,unit:V}}export{ye as createAgeRenderer,ue as createClassBreaksRenderer,de as createContinuousRenderer,pe as createPCContinuousRenderer,ce as createPCTrueColorRenderer,se as createVisualVariable};
5
+ import"../../renderers/PointCloudClassBreaksRenderer.js";import"../../renderers/PointCloudRenderer.js";import e from"../../renderers/PointCloudRGBRenderer.js";import o from"../../renderers/PointCloudStretchRenderer.js";import"../../renderers/PointCloudUniqueValueRenderer.js";import i from"../../renderers/ClassBreaksRenderer.js";import"../../renderers/DictionaryRenderer.js";import"../../renderers/DotDensityRenderer.js";import"../../renderers/HeatmapRenderer.js";import"../../renderers/Renderer.js";import"../../renderers/SimpleRenderer.js";import"../../renderers/UniqueValueRenderer.js";import"../../renderers/support/jsonUtils.js";import r from"../../core/Error.js";import{isSome as a}from"../../core/maybe.js";import{fetchMessageBundle as l}from"../../intl/messages.js";import{substitute as n}from"../../intl/substitute.js";import s from"../../renderers/support/AuthoringInfo.js";import t from"../../renderers/support/AuthoringInfoVisualVariable.js";import{createColorStops as m,setLabelsForClassBreaks as d}from"../../renderers/support/utils.js";import u from"../../renderers/visualVariables/ColorVariable.js";import p from"../heuristics/ageUnit.js";import c from"../heuristics/outline.js";import y from"../heuristics/sizeRange.js";import{getSummaryStatistics as f,getClassBreaks as b,getPointSizeAlgorithm as h,formatDate as v,updateAgeRendererAuthoringInfoVV as w,createError as g,verifyBasicFieldValidity as T,isValidPointSize as x,createColors as E,getDefaultDataRange as V,createDefaultStopValues as z,createStopValues as S,getDataRange as M,createDataValues as I,createSymbol as j,getSymbolSizeFromScheme as q,getSymbolOutlineFromScheme as C,getBasemapInfo as O}from"./support/utils.js";import{getAgeExpressions as P,verifyDates as k,supportedAgeUnits as F}from"../statistics/support/ageUtils.js";import{getFieldsList as U,getNormalizationType as R}from"../support/utils.js";import{createLayerAdapter as B,featureCapableLayerTypes as D,getLayerTypeLabels as L,LayerType as A}from"../support/adapters/support/layerUtils.js";import{cloneScheme as G,getSchemes as W,getSchemeById as $}from"../symbology/color.js";const H="date",_="high-to-low",J=2**53-1,K=5;async function N(e){if(!(e&&e.layer&&(e.field||e.valueExpression||e.sqlExpression)))throw new r("color-visual-variable:missing-parameters","'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required");if(e.valueExpression&&!e.sqlExpression&&!e.view)throw new r("color-visual-variable:missing-parameters","View is required when 'valueExpression' is specified");const o={...e};if("90-10"===o.theme)throw new r("color-visual-variable:not-supported","Only 'high-to-low', 'above-and-below', 'centered-on', 'extremes', 'above', 'below' themes are supported.");const i=B(o.layer,D);if(o.layer=i,!i)throw new r("color-visual-variable:invalid-parameters","'layer' must be one of these types: "+L(D).join(", "));const l=a(o.signal)?{signal:o.signal}:null;await i.load(l);if("mesh"!==i.geometryType&&o.worldScale&&(!o.view||"3d"!==o.view.type))throw g("color-visual-variable:invalid-parameters","'view' parameter should be an instance of SceneView when 'worldScale' parameter is true");const n=await U({field:o.field,normalizationField:o.normalizationField,valueExpression:o.valueExpression}),s=T(i,n,"color-visual-variable:invalid-parameters");if(s)throw s;return o}async function Q(e){if(!(e&&e.layer&&(e.field||e.valueExpression||e.sqlExpression)))throw new r("color-continuous-renderer:missing-parameters","'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required");if(e.valueExpression&&!e.sqlExpression&&!e.view)throw new r("color-continuous-renderer:missing-parameters","View is required when 'valueExpression' is specified");const o={...e};o.symbolType=o.symbolType||"2d",o.defaultSymbolEnabled=null==o.defaultSymbolEnabled||o.defaultSymbolEnabled;const i=B(o.layer,D);if(o.layer=i,!i)throw new r("color-continuous-renderer:invalid-parameters","'layer' must be one of these types: "+L(D).join(", "));const l=a(o.signal)?{signal:o.signal}:null;await i.load(l);const n=i.geometryType;if(o.outlineOptimizationEnabled="polygon"===n&&o.outlineOptimizationEnabled,o.sizeOptimizationEnabled=("point"===n||"multipoint"===n||"polyline"===n)&&o.sizeOptimizationEnabled,"mesh"===n)o.symbolType="3d-volumetric",o.colorMixMode=o.colorMixMode||"replace",o.edgesType=o.edgesType||"none";else{if("3d-volumetric-uniform"===o.symbolType&&"point"!==n)throw new r("color-continuous-renderer:not-supported","3d-volumetric-uniform symbols are supported for point layers only");if(o.symbolType.includes("3d-volumetric")&&(!o.view||"3d"!==o.view.type))throw new r("color-continuous-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'")}const s=await U({field:o.field,normalizationField:o.normalizationField,valueExpression:o.valueExpression}),t=T(i,s,"color-continuous-renderer:invalid-parameters");if(t)throw t;return o}async function X(e){if(!e||!e.layer||!e.field&&!e.valueExpression)throw new r("color-class-breaks-renderer:missing-parameters","'layer' and 'field' or 'valueExpression' parameters are required");if(e.valueExpression&&!e.view)throw new r("color-class-breaks-renderer:missing-parameters","View is required when 'valueExpression' is specified");const o={...e};o.symbolType=o.symbolType||"2d",o.defaultSymbolEnabled=null==o.defaultSymbolEnabled||o.defaultSymbolEnabled,o.classificationMethod=o.classificationMethod||"equal-interval",o.normalizationType=R(o);const i=B(o.layer,D);if(o.layer=i,!i)throw new r("color-class-breaks-renderer:invalid-parameters","'layer' must be one of these types: "+L(D).join(", "));if(!(null!=o.minValue&&null!=o.maxValue)&&(null!=o.minValue||null!=o.maxValue))throw new r("color-class-breaks-renderer:missing-parameters","Both 'minValue' and 'maxValue' are required when specifying custom data range");const l=a(o.signal)?{signal:o.signal}:null;await i.load(l);const n=i.geometryType;if(o.outlineOptimizationEnabled="polygon"===n&&o.outlineOptimizationEnabled,"mesh"===n)o.symbolType="3d-volumetric",o.colorMixMode=o.colorMixMode||"replace",o.edgesType=o.edgesType||"none";else{if("3d-volumetric-uniform"===o.symbolType&&"point"!==n)throw new r("color-continuous-renderer:not-supported","3d-volumetric-uniform symbols are supported for point layers only");if(o.symbolType.includes("3d-volumetric")&&(!o.view||"3d"!==o.view.type))throw new r("color-class-breaks-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'")}const s=await U({field:o.field,normalizationField:o.normalizationField}),t=T(i,s,"color-class-breaks-renderer:invalid-parameters");if(t)throw t;return o}function Y(e){const o={...e};delete o.basemap,delete o.colorScheme,delete o.legendOptions,delete o.symbolType,delete o.defaultSymbolEnabled,delete o.colorMixMode,delete o.edgesType;const i=o;return i.analyzeData=!(null!=o.minValue&&null!=o.maxValue),i}function Z(e){if(!e||!e.layer)return Promise.reject(g("color-point-cloud-true-color-renderer:missing-parameters","'layer' parameter is required"));const o={...e},i=[A.PointCloudLayer],r=B(o.layer,i);if(o.layer=r,o.density=o.density||25,o.size=o.size||"100%",!x(o.size))return Promise.reject(g("color-point-cloud-true-color-renderer:invalid-parameters","Invalid 'size' parameter. It should be a string of the form '100%'"));if(!r)return Promise.reject(g("color-point-cloud-true-color-renderer:invalid-parameters","'layer' must be one of these types: "+L(i).join(", ")));const l=a(o.signal)?{signal:o.signal}:null;return r.load(l).then((()=>o))}function ee(e){if(!(e&&e.layer&&e.field))return Promise.reject(g("color-point-cloud-continuous-renderer:missing-parameters","'layer' and 'field' parameters are required"));const o=e.field.toLowerCase();if("intensity"!==o&&"elevation"!==o)return Promise.reject(g("color-point-cloud-continuous-renderer:invalid-parameters","'field' should be either 'intensity' or 'elevation'"));const i={...e},r=[A.PointCloudLayer],l=B(i.layer,r);if(i.layer=l,i.density=i.density||25,i.size=i.size||"100%",!x(i.size))return Promise.reject(g("color-point-cloud-continuous-renderer:invalid-parameters","Invalid 'size' parameter. It should be a string of the form '100%'"));if(!l)return Promise.reject(g("color-point-cloud-continuous-renderer:invalid-parameters","'layer' must be one of these types: "+L(r).join(", ")));const n=a(i.signal)?{signal:i.signal}:null;return l.load(n).then((()=>i))}function oe(e){const o={...e},i=o.symbolType.includes("3d-volumetric");delete o.symbolType,delete o.defaultSymbolEnabled,delete o.colorMixMode,delete o.edgesType;const r=o;return r.worldScale=i,r}async function ie(e){if(!(e&&e.layer&&e.view&&e.startTime&&e.endTime))throw new r("color-age-renderer:missing-parameters","'layer', 'view', startTime', 'endTime' parameters are required");const o={...e};o.symbolType=o.symbolType||"2d",o.defaultSymbolEnabled=null==o.defaultSymbolEnabled||o.defaultSymbolEnabled;const i=B(o.layer,D);if(o.layer=i,!i)throw new r("color-age-renderer:invalid-parameters","'layer' must be one of these types: "+L(D).join(", "));const l=a(o.signal)?{signal:o.signal}:null;await i.load(l);const n=i.geometryType;if(o.outlineOptimizationEnabled="polygon"===n&&o.outlineOptimizationEnabled,o.sizeOptimizationEnabled=("point"===n||"multipoint"===n||"polyline"===n)&&o.sizeOptimizationEnabled,"mesh"===n)o.symbolType="3d-volumetric",o.colorMixMode=o.colorMixMode||"replace",o.edgesType=o.edgesType||"none";else if("3d-volumetric-uniform"===o.symbolType&&"point"!==n)throw new r("color-continuous-renderer:not-supported","3d-volumetric-uniform symbols are supported for point layers only");if(o.symbolType.includes("3d-volumetric")&&(!o.view||"3d"!==o.view.type))throw new r("color-age-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'");const s=k(i,o.startTime,o.endTime,"color-age-renderer:invalid-parameters");if(s)throw s;if(o.unit&&!F.includes(o.unit))throw new r("color-age-renderer:invalid-unit",`Supported units are: ${F.join(", ")}`);return o}async function re(e,o){let i=e.colorScheme,r=null,l=null;const n=await O(e.basemap,e.view);if(r=a(n.basemapId)?n.basemapId:null,l=a(n.basemapTheme)?n.basemapTheme:null,i)return{scheme:G(i),basemapId:r,basemapTheme:l};const s=o||e.theme||_,t=W({theme:s,basemap:r,basemapTheme:l,geometryType:e.geometryType,worldScale:e.worldScale,view:e.view});if(t)if(r=t.basemapId,l=t.basemapTheme,e.schemeId){const o=s+"/"+r+"/"+e.schemeId;i=$({id:o,geometryType:e.geometryType})}else i=t.primaryScheme;return{scheme:i,basemapId:r,basemapTheme:l}}async function ae(e,o){const i=o.layer,r=await re({basemap:o.basemap,colorScheme:o.colorScheme,geometryType:i.geometryType,schemeId:"elevation"===o.field.toLowerCase()?"point-cloud-elevation-scheme":"point-cloud-intensity-scheme"}),a=r.scheme;if(!a)throw g("color-point-cloud-continuous-renderer:insufficient-info","Unable to find color scheme");const l=E(a.colors,K);if(l.length<K)throw g("color-point-cloud-continuous-renderer:insufficient-info","Color scheme does not have enough colors");const n=V(e,!1,!0),s=n?z(n[0],n[1],5):S(e);return{stops:m({values:s,isDate:!1,dateFormatOptions:null,colors:l,labelIndexes:[0,2,4]}),basemapId:r.basemapId,basemapTheme:r.basemapTheme,statistics:e,defaultValuesUsed:!!n,colorScheme:G(a)}}async function le(e,o,i){const r=e.layer,{field:a,theme:l}=e,n=a&&!("function"==typeof a)?r.getField(a):null,m=n&&n.type===H,d=await re({basemap:e.basemap,theme:e.theme,geometryType:r.geometryType,colorScheme:e.colorScheme,worldScale:e.worldScale,view:e.view}),p=d.scheme;if(!p)throw g("color-visual-variable:insufficient-info","Unable to find color scheme");const c=E(p.colors,K);if(c.length<K)throw g("color-visual-variable:insufficient-info","Color scheme does not have enough colors");const y=p.id.includes("seq-"),f=M(o,i,l,m,"90-10"!==l),b=I(f,o,l,y),h=E(c,K),v=new u({field:a,valueExpression:e.valueExpression,valueExpressionTitle:e.valueExpressionTitle,normalizationField:e.normalizationField,stops:b.map(((e,o)=>({value:e,color:h[o]}))),legendOptions:e.legendOptions}),w=new t({type:"color",minSliderValue:null!=e.minValue?e.minValue:o.min,maxSliderValue:null!=e.maxValue?e.maxValue:o.max,theme:p.theme}),T=new s({visualVariables:[w]});return{basemapId:d.basemapId,basemapTheme:d.basemapTheme,visualVariable:v,statistics:o,defaultValuesUsed:f.defaultValuesUsed,colorScheme:G(p),authoringInfo:T}}async function ne(e,o,r,a,n,s){const t=await l("esri/smartMapping/t9n/smartMapping"),m=s.layer,d=s.field,u=m.geometryType,p=s.defaultSymbolEnabled,c=G(e.colorScheme),y=o&&o.opacity,f=[e.visualVariable.clone()];o&&o.visualVariables&&o.visualVariables.length&&f.push(...o.visualVariables.map((e=>e.clone()))),r&&r.minSize&&f.push(r.minSize);return{renderer:new i({classBreakInfos:[{minValue:-J,maxValue:J,symbol:j(u,{type:s.symbolType,color:c.noDataColor,size:q(c,u),outline:C(c,u,y),meshInfo:{colorMixMode:s.colorMixMode,edgesType:s.edgesType}})}],defaultLabel:p?t.other:null,defaultSymbol:p?j(u,{type:s.symbolType,color:c.noDataColor,size:q(c,u),outline:C(c,u,y),meshInfo:{colorMixMode:s.colorMixMode,edgesType:s.edgesType}}):null,field:d,normalizationType:a,normalizationField:n,valueExpression:s.valueExpression,valueExpressionTitle:s.valueExpressionTitle,visualVariables:f,authoringInfo:e.authoringInfo&&e.authoringInfo.clone()}),visualVariable:e.visualVariable.clone(),statistics:e.statistics,defaultValuesUsed:e.defaultValuesUsed,colorScheme:G(e.colorScheme),basemapId:e.basemapId,basemapTheme:e.basemapTheme}}async function se(e){const o=await N(e),{view:i,field:r,valueExpression:a,minValue:l,maxValue:n,layer:s,normalizationField:t,signal:m,statistics:d}=o,u=t?"field":void 0,[p,c]=await Promise.all([d||f({layer:s,field:r,valueExpression:a,sqlExpression:o.sqlExpression,sqlWhere:o.sqlWhere,normalizationType:u,normalizationField:t,minValue:l,maxValue:n,view:i,signal:m}),"90-10"===o.theme?b({layer:s,field:r,normalizationField:t,valueExpression:a,classificationMethod:"quantile",minValue:l,maxValue:n,view:i,numClasses:10,signal:m}):null]);return le(o,p,null==c?void 0:c.result)}function te(e,o){const i=e.colorsForClassBreaks;let r;if(i&&i.length>0&&(i.some((e=>(e.numClasses===o&&(r=e.colors),!!r))),!r)){const e=i[i.length-1],a=o-e.numClasses;if(a>0){const o=e.colors[e.numClasses-1];r=e.colors.splice(0);for(let e=1;e<=a;e++)r.push(o)}}return r&&(r=E(r,r.length)),r}async function me(e,o){const a=await l("esri/smartMapping/t9n/smartMapping"),n=e.layer,t=e.defaultSymbolEnabled,m=n.geometryType,u=e.classificationMethod,p="standard-deviation"===u,c=await re({basemap:e.basemap,geometryType:m,theme:p?"above-and-below":null,colorScheme:e.colorScheme,worldScale:e.symbolType.includes("3d-volumetric"),view:e.view}),y=c.scheme,{result:f,outlineResult:b}=o,h=f.classBreakInfos,v=e.normalizationType;if(!y)throw new r("color-class-breaks-renderer:insufficient-info","Unable to find color scheme");const w=te(y,h.length);if(!w||w.length!==h.length)throw new r("color-class-breaks-renderer:insufficient-info","Color scheme does not have enough colors");const g=b&&b.opacity,T=new i({classBreakInfos:h.map(((o,i)=>({minValue:o.minValue,maxValue:o.maxValue,symbol:j(m,{type:e.symbolType,color:w[i],size:q(y,m),outline:C(y,m,g),meshInfo:{colorMixMode:e.colorMixMode,edgesType:e.edgesType}}),label:o.label}))),defaultLabel:t?a.other:null,defaultSymbol:t?j(m,{type:e.symbolType,color:y.noDataColor,size:q(y,m),outline:C(y,m,g),meshInfo:{colorMixMode:e.colorMixMode,edgesType:e.edgesType}}):null,field:e.field,valueExpression:e.valueExpression,valueExpressionTitle:e.valueExpressionTitle,normalizationType:v,normalizationField:e.normalizationField,normalizationTotal:"percent-of-total"===v?f.normalizationTotal:void 0,legendOptions:e.legendOptions,authoringInfo:new s({type:"class-breaks-color",classificationMethod:u,standardDeviationInterval:e.standardDeviationInterval})});return p||d({classBreakInfos:T.classBreakInfos,classificationMethod:u,normalizationType:v,round:!0}),b&&b.visualVariables&&b.visualVariables.length&&(T.visualVariables=b.visualVariables.map((e=>e.clone()))),{renderer:T,colorScheme:G(y),classBreaksResult:f,defaultValuesUsed:o.defaultValuesUsed,basemapId:c.basemapId,basemapTheme:c.basemapTheme}}async function de(e){const o=await Q(e),{layer:i,view:r,signal:a}=o,[l,n,s]=await Promise.all([se(oe(o)),o.outlineOptimizationEnabled?c({layer:i,view:r,signal:a}):null,o.sizeOptimizationEnabled?y({layer:i,view:r,signal:a}):null]),t=o.normalizationField;return ne(l,n,s,t?"field":void 0,t,o)}async function ue(e){const o=await X(e);return me(o,await b(Y(o),o.outlineOptimizationEnabled))}function pe(o){return Z(o).then((o=>({renderer:new e({field:"RGB",pointsPerInch:o.density,pointSizeAlgorithm:h(o.size)})})))}async function ce(e){const i=await ee(e),r=i.statistics?i.statistics:await f({layer:i.layer,field:i.field,signal:i.signal}),a=await ae(r,i);return{renderer:new o({field:i.field,pointsPerInch:i.density,pointSizeAlgorithm:h(i.size),stops:a.stops}),basemapId:a.basemapId,basemapTheme:a.basemapTheme,statistics:a.statistics,defaultValuesUsed:a.defaultValuesUsed,colorScheme:a.colorScheme}}async function ye(e){const o=await l("esri/smartMapping/t9n/smartMapping"),i=await ie(e),{defaultSymbolEnabled:r,view:a,startTime:s,endTime:t,symbolType:m,colorMixMode:d,edgesType:u,minValue:f,maxValue:b,signal:h}=i,g=i.layer,[T,x,E]=await Promise.all([i.unit?{unit:i.unit,statistics:null}:p({view:a,layer:g,startTime:s,endTime:t,minValue:f,maxValue:b,signal:h}),i.outlineOptimizationEnabled?c({layer:g,view:a,signal:h}):null,i.sizeOptimizationEnabled?y({layer:g,view:a,signal:h}):null]),{unit:V,statistics:z}=T,S=P({layer:g,startTime:s,endTime:t,unit:V}).valueExpression,M=n(o[`ageInfo_${V}`],{unit:V,startTime:v(s,V,g),endTime:v(t,V,g)}),I=await se(oe({layer:g,basemap:i.basemap,valueExpression:S,symbolType:m,statistics:z,legendOptions:{title:M},colorScheme:i.colorScheme,theme:i.theme,view:a,minValue:i.minValue,maxValue:i.maxValue,signal:h})),j={layer:g,valueExpression:S,defaultSymbolEnabled:r,symbolType:m,colorMixMode:d,edgesType:u},q=await ne(I,x,E,null,null,j);return q.renderer.authoringInfo.visualVariables.forEach((e=>w(e,s,t,V))),{...q,unit:V}}export{ye as createAgeRenderer,ue as createClassBreaksRenderer,de as createContinuousRenderer,ce as createPCContinuousRenderer,pe as createPCTrueColorRenderer,se as createVisualVariable};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import"../../renderers/ClassBreaksRenderer.js";import"../../renderers/DictionaryRenderer.js";import e from"../../renderers/DotDensityRenderer.js";import"../../renderers/HeatmapRenderer.js";import"../../renderers/Renderer.js";import"../../renderers/SimpleRenderer.js";import"../../renderers/UniqueValueRenderer.js";import"../../renderers/support/jsonUtils.js";import t from"../../core/Error.js";import{isSome as r}from"../../core/maybe.js";import{getResolutionForScale as i}from"../../geometry/support/scaleUtils.js";import a from"../../renderers/support/AuthoringInfo.js";import s from"../heuristics/outline.js";import{roundValue as n}from"./support/dotDensityUtils.js";import{createColors as o,getSymbolOutlineFromScheme as l,getBasemapInfo as d}from"./support/utils.js";import m from"../statistics/spatialStatistics.js";import u from"../statistics/summaryStatisticsForAttributes.js";import p from"../statistics/support/attributeDensity.js";import{getFieldsList as y}from"../support/utils.js";import{LayerType as c,createLayerAdapter as f,getLayerTypeLabels as b}from"../support/adapters/support/layerUtils.js";import{c as g,g as w}from"../../chunks/dotDensity.js";const v=500;async function h(e){if(!(e&&e.layer&&e.view&&e.attributes&&e.attributes.length))throw new t("dot-density-renderer:missing-parameters","'layer', 'view' and 'attributes' parameters are required");if(e.attributes.length>8)throw new t("dot-density-renderer:invalid-parameters","Dot density renderer does not support more than 8 attributes");const i={...e},a=[c.FeatureLayer,c.OGCFeatureLayer,c.GeoJSONLayer,c.WFSLayer],s=f(i.layer,a);if(i.layer=s,i.dotBlendingEnabled=null==i.dotBlendingEnabled||i.dotBlendingEnabled,i.dotValueOptimizationEnabled=null==i.dotValueOptimizationEnabled||i.dotValueOptimizationEnabled,!s)throw new t("dot-density-renderer:invalid-parameters","'layer' must be one of these types: "+b(a).join(", "));const n=r(i.signal)?{signal:i.signal}:null;await Promise.all([i.view.when(),s.load(n)]);if("polygon"!==s.geometryType)throw new t("dot-density-renderer:not-supported","Dot density renderer is supported for polygon layers only");return i}async function S(e){let t=e.dotDensityScheme,i=null,a=null;const s=await d(e.basemap,e.view);if(i=r(s.basemapId)?s.basemapId:null,a=r(s.basemapTheme)?s.basemapTheme:null,t)return{scheme:g(t),basemapId:i,basemapTheme:a};const n=w({basemap:i,numColors:e.attributes.length,basemapTheme:a});return n&&(t=n.primaryScheme,i=n.basemapId,a=n.basemapTheme),{scheme:t,basemapId:i,basemapTheme:a}}async function j(e){const{view:r,layer:a,attributes:s,signal:o}=e,l=await a.getSampleFeatures({view:r,sampleSize:v,returnGeometry:!0,signal:o}),[d,p]=await Promise.all([m({features:l,geometryType:a.geometryType}),u({layer:a,attributes:s,includeZeros:!1,includeNegatives:!1,view:r,signal:o})]),y="avgSize"in d&&d.avgSize,c=p.avg;if(!y)throw new t("dot-density-renderer:insufficient-info","Average polygon size is invalid");if(!c)throw new t("dot-density-renderer:insufficient-info","Average attribute value is invalid");const f=i(r.scale,r.spatialReference);return{dotValue:n(c/(y*y/(f*f)*.1))||1,referenceScale:r.scale,minSliderValue:1,maxSliderValue:n(c)}}async function V(e){const{view:r,layer:a,attributes:s,signal:o}=e,l=[];for(const t of s){const e=await y({field:t.field,valueExpression:t.valueExpression});l.push(...e)}const d=await a.getSampleFeatures({view:r,sampleSize:v,requiredFields:l,returnGeometry:!0,signal:o}),m=await p({features:d,attributes:s,includeZeros:!1,includeNegatives:!1,view:r});if(!m.avgDensity||!m.minDensity||!m.maxDensity)throw new t("dot-density-renderer:insufficient-info","Invalid density values");const u=i(r.scale,r.spatialReference),c=u*u,f=n(m.minDensity*c),b=n(m.maxDensity*c),g=10;let w=n(m.avgDensity*c*g)||1;return w>b&&(w=b),{dotValue:w,referenceScale:r.scale,minSliderValue:f,maxSliderValue:b}}async function D(r){const i=await h(r),n=i.layer,d=n.geometryType,m=await S(i),u=m&&m.scheme;if(!u)throw new t("dot-density-renderer:insufficient-info","Unable to find dot-density scheme");const p={layer:n,view:i.view,attributes:i.attributes,signal:i.signal},y={layer:i.layer,view:i.view,signal:i.signal},[c,f]=await Promise.all([i.trueDensity?V(p):j(p),i.outlineOptimizationEnabled?s(y):null]),{dotValue:b,referenceScale:g,minSliderValue:w,maxSliderValue:v}=c,D=o(u.colors,i.attributes.length),E=i.attributes.map(((e,t)=>({field:e.field,valueExpression:e.valueExpression,label:e.label,valueExpressionTitle:e.valueExpressionTitle,color:D[t]}))),T=new e({attributes:E,dotBlendingEnabled:i.dotBlendingEnabled,outline:f?l(u,d,f.opacity):null,dotValue:b,referenceScale:i.dotValueOptimizationEnabled?g:null,legendOptions:i.legendOptions});return f&&f.visualVariables&&f.visualVariables.length&&(T.visualVariables=f.visualVariables.map((e=>e.clone()))),T.authoringInfo=new a({type:"dot-density",minSliderValue:w,maxSliderValue:v}),{renderer:T,dotDensityScheme:u,basemapId:m.basemapId,basemapTheme:m.basemapTheme}}export{D as createRenderer};
5
+ import"../../renderers/ClassBreaksRenderer.js";import"../../renderers/DictionaryRenderer.js";import e from"../../renderers/DotDensityRenderer.js";import"../../renderers/HeatmapRenderer.js";import"../../renderers/Renderer.js";import"../../renderers/SimpleRenderer.js";import"../../renderers/UniqueValueRenderer.js";import"../../renderers/support/jsonUtils.js";import t from"../../core/Error.js";import{isSome as r}from"../../core/maybe.js";import{getResolutionForScale as i}from"../../geometry/support/scaleUtils.js";import a from"../../renderers/support/AuthoringInfo.js";import s from"../heuristics/outline.js";import{roundValue as n}from"./support/dotDensityUtils.js";import{createColors as o,getSymbolOutlineFromScheme as l,getBasemapInfo as d}from"./support/utils.js";import m from"../statistics/spatialStatistics.js";import u from"../statistics/summaryStatisticsForAttributes.js";import p from"../statistics/support/attributeDensity.js";import{getFieldsList as y}from"../support/utils.js";import{LayerType as c,createLayerAdapter as f,getLayerTypeLabels as b}from"../support/adapters/support/layerUtils.js";import{cloneScheme as g,getSchemes as w}from"../symbology/dotDensity.js";const v=500;async function h(e){if(!(e&&e.layer&&e.view&&e.attributes&&e.attributes.length))throw new t("dot-density-renderer:missing-parameters","'layer', 'view' and 'attributes' parameters are required");if(e.attributes.length>8)throw new t("dot-density-renderer:invalid-parameters","Dot density renderer does not support more than 8 attributes");const i={...e},a=[c.FeatureLayer,c.OGCFeatureLayer,c.GeoJSONLayer,c.WFSLayer],s=f(i.layer,a);if(i.layer=s,i.dotBlendingEnabled=null==i.dotBlendingEnabled||i.dotBlendingEnabled,i.dotValueOptimizationEnabled=null==i.dotValueOptimizationEnabled||i.dotValueOptimizationEnabled,!s)throw new t("dot-density-renderer:invalid-parameters","'layer' must be one of these types: "+b(a).join(", "));const n=r(i.signal)?{signal:i.signal}:null;await Promise.all([i.view.when(),s.load(n)]);if("polygon"!==s.geometryType)throw new t("dot-density-renderer:not-supported","Dot density renderer is supported for polygon layers only");return i}async function S(e){let t=e.dotDensityScheme,i=null,a=null;const s=await d(e.basemap,e.view);if(i=r(s.basemapId)?s.basemapId:null,a=r(s.basemapTheme)?s.basemapTheme:null,t)return{scheme:g(t),basemapId:i,basemapTheme:a};const n=w({basemap:i,numColors:e.attributes.length,basemapTheme:a});return n&&(t=n.primaryScheme,i=n.basemapId,a=n.basemapTheme),{scheme:t,basemapId:i,basemapTheme:a}}async function j(e){const{view:r,layer:a,attributes:s,signal:o}=e,l=await a.getSampleFeatures({view:r,sampleSize:v,returnGeometry:!0,signal:o}),[d,p]=await Promise.all([m({features:l,geometryType:a.geometryType}),u({layer:a,attributes:s,includeZeros:!1,includeNegatives:!1,view:r,signal:o})]),y="avgSize"in d&&d.avgSize,c=p.avg;if(!y)throw new t("dot-density-renderer:insufficient-info","Average polygon size is invalid");if(!c)throw new t("dot-density-renderer:insufficient-info","Average attribute value is invalid");const f=i(r.scale,r.spatialReference);return{dotValue:n(c/(y*y/(f*f)*.1))||1,referenceScale:r.scale,minSliderValue:1,maxSliderValue:n(c)}}async function V(e){const{view:r,layer:a,attributes:s,signal:o}=e,l=[];for(const t of s){const e=await y({field:t.field,valueExpression:t.valueExpression});l.push(...e)}const d=await a.getSampleFeatures({view:r,sampleSize:v,requiredFields:l,returnGeometry:!0,signal:o}),m=await p({features:d,attributes:s,includeZeros:!1,includeNegatives:!1,view:r});if(!m.avgDensity||!m.minDensity||!m.maxDensity)throw new t("dot-density-renderer:insufficient-info","Invalid density values");const u=i(r.scale,r.spatialReference),c=u*u,f=n(m.minDensity*c),b=n(m.maxDensity*c),g=10;let w=n(m.avgDensity*c*g)||1;return w>b&&(w=b),{dotValue:w,referenceScale:r.scale,minSliderValue:f,maxSliderValue:b}}async function D(r){const i=await h(r),n=i.layer,d=n.geometryType,m=await S(i),u=m&&m.scheme;if(!u)throw new t("dot-density-renderer:insufficient-info","Unable to find dot-density scheme");const p={layer:n,view:i.view,attributes:i.attributes,signal:i.signal},y={layer:i.layer,view:i.view,signal:i.signal},[c,f]=await Promise.all([i.trueDensity?V(p):j(p),i.outlineOptimizationEnabled?s(y):null]),{dotValue:b,referenceScale:g,minSliderValue:w,maxSliderValue:v}=c,D=o(u.colors,i.attributes.length),E=i.attributes.map(((e,t)=>({field:e.field,valueExpression:e.valueExpression,label:e.label,valueExpressionTitle:e.valueExpressionTitle,color:D[t]}))),T=new e({attributes:E,dotBlendingEnabled:i.dotBlendingEnabled,outline:f?l(u,d,f.opacity):null,dotValue:b,referenceScale:i.dotValueOptimizationEnabled?g:null,legendOptions:i.legendOptions});return f&&f.visualVariables&&f.visualVariables.length&&(T.visualVariables=f.visualVariables.map((e=>e.clone()))),T.authoringInfo=new a({type:"dot-density",minSliderValue:w,maxSliderValue:v}),{renderer:T,dotDensityScheme:u,basemapId:m.basemapId,basemapTheme:m.basemapTheme}}export{D as createRenderer};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../Color.js";import"../../renderers/ClassBreaksRenderer.js";import"../../renderers/DictionaryRenderer.js";import"../../renderers/DotDensityRenderer.js";import r from"../../renderers/HeatmapRenderer.js";import"../../renderers/Renderer.js";import"../../renderers/SimpleRenderer.js";import"../../renderers/UniqueValueRenderer.js";import"../../renderers/support/jsonUtils.js";import a from"../../core/Error.js";import{isSome as s}from"../../core/maybe.js";import t from"../../renderers/support/HeatmapColorStop.js";import{verifyBasicFieldValidity as i,createColors as n,getBasemapInfo as o}from"./support/utils.js";import m from"../statistics/heatmapStatistics.js";import{getFieldsList as l}from"../support/utils.js";import{LayerType as p,createLayerAdapter as d,getLayerTypeLabels as u}from"../support/adapters/support/layerUtils.js";import{c,g as f}from"../../chunks/heatmap.js";const h=.01;async function b(e){if(!(e&&e.layer&&e.view))throw new a("heatmap-renderer:missing-parameters","'layer' and 'view' parameters are required");const{blurRadius:r,minRatio:t,maxRatio:n,fadeToTransparent:o}=e,m={...e};m.blurRadius=null==r?10:r,m.minRatio=null==t?.01:t,m.maxRatio=null==n?1:n,m.fadeToTransparent=null==o||o;const c=[p.CSVLayer,p.FeatureLayer,p.OGCFeatureLayer,p.GeoJSONLayer,p.WFSLayer],f=d(m.layer,c);if(m.layer=f,!f)throw new a("heatmap-renderer:invalid-parameters","'layer' must be one of these types: "+u(c).join(", "));const h=s(m.signal)?{signal:m.signal}:null;await f.load(h);const b=await l({field:m.field}),w=i(f,b,"heatmap-renderer:invalid-parameters");if(w)throw w;return m}async function w(e){let r=e.scheme,a=null,t=null;const i=await o(e.basemap,e.view);if(a=s(i.basemapId)?i.basemapId:null,t=s(i.basemapTheme)?i.basemapTheme:null,r)return{scheme:c(r),basemapId:a,basemapTheme:t};const n=f({basemap:a,basemapTheme:t});return n&&(r=n.primaryScheme,a=n.basemapId,t=n.basemapTheme),{scheme:r,basemapId:a,basemapTheme:t}}async function y(a,s){const{fieldOffset:i}=a,{field:o,basemap:m,blurRadius:l,minRatio:p,maxRatio:d,fadeToTransparent:u,heatmapScheme:f,view:b}=s,{scheme:y,basemapId:j,basemapTheme:R}=await w({basemap:m,scheme:f,view:b}),T=y.colors,g=T.length,v=!a.count,I=v?[0,100]:[a.min,a.max],S=(d-p)/(g-1),x=T[0],O=[new t({ratio:0,color:new e([x.r,x.g,x.b,0])}),new t({ratio:h,color:new e([x.r,x.g,x.b,0])}),new t({ratio:u?p:h,color:x})];n(T,g).forEach(((e,r)=>{O.push(new t({ratio:p+S*r,color:e}))}));const C=new r({blurRadius:l,colorStops:O,field:o,minPixelIntensity:I[0],maxPixelIntensity:I[1]});return null!=i&&(C.fieldOffset=i),{renderer:C,statistics:a,defaultValuesUsed:v,scheme:c(y),basemapId:j,basemapTheme:R}}async function j(e){const r=await b(e);return y(r.statistics?r.statistics:await m({layer:r.layer,field:r.field,fieldOffset:r.fieldOffset,blurRadius:r.blurRadius,view:r.view,signal:r.signal}),r)}export{j as createRenderer};
5
+ import e from"../../Color.js";import"../../renderers/ClassBreaksRenderer.js";import"../../renderers/DictionaryRenderer.js";import"../../renderers/DotDensityRenderer.js";import r from"../../renderers/HeatmapRenderer.js";import"../../renderers/Renderer.js";import"../../renderers/SimpleRenderer.js";import"../../renderers/UniqueValueRenderer.js";import"../../renderers/support/jsonUtils.js";import a from"../../core/Error.js";import{isSome as s}from"../../core/maybe.js";import t from"../../renderers/support/HeatmapColorStop.js";import{verifyBasicFieldValidity as i,createColors as n,getBasemapInfo as o}from"./support/utils.js";import m from"../statistics/heatmapStatistics.js";import{getFieldsList as l}from"../support/utils.js";import{LayerType as p,createLayerAdapter as d,getLayerTypeLabels as u}from"../support/adapters/support/layerUtils.js";import{cloneScheme as c,getSchemes as f}from"../symbology/heatmap.js";const b=.01;async function h(e){if(!(e&&e.layer&&e.view))throw new a("heatmap-renderer:missing-parameters","'layer' and 'view' parameters are required");const{blurRadius:r,minRatio:t,maxRatio:n,fadeToTransparent:o}=e,m={...e};m.blurRadius=null==r?10:r,m.minRatio=null==t?.01:t,m.maxRatio=null==n?1:n,m.fadeToTransparent=null==o||o;const c=[p.CSVLayer,p.FeatureLayer,p.OGCFeatureLayer,p.GeoJSONLayer,p.WFSLayer],f=d(m.layer,c);if(m.layer=f,!f)throw new a("heatmap-renderer:invalid-parameters","'layer' must be one of these types: "+u(c).join(", "));const b=s(m.signal)?{signal:m.signal}:null;await f.load(b);const h=await l({field:m.field}),y=i(f,h,"heatmap-renderer:invalid-parameters");if(y)throw y;return m}async function y(e){let r=e.scheme,a=null,t=null;const i=await o(e.basemap,e.view);if(a=s(i.basemapId)?i.basemapId:null,t=s(i.basemapTheme)?i.basemapTheme:null,r)return{scheme:c(r),basemapId:a,basemapTheme:t};const n=f({basemap:a,basemapTheme:t});return n&&(r=n.primaryScheme,a=n.basemapId,t=n.basemapTheme),{scheme:r,basemapId:a,basemapTheme:t}}async function w(a,s){const{fieldOffset:i}=a,{field:o,basemap:m,blurRadius:l,minRatio:p,maxRatio:d,fadeToTransparent:u,heatmapScheme:f,view:h}=s,{scheme:w,basemapId:j,basemapTheme:R}=await y({basemap:m,scheme:f,view:h}),T=w.colors,g=T.length,v=!a.count,I=v?[0,100]:[a.min,a.max],S=(d-p)/(g-1),x=T[0],O=[new t({ratio:0,color:new e([x.r,x.g,x.b,0])}),new t({ratio:b,color:new e([x.r,x.g,x.b,0])}),new t({ratio:u?p:b,color:x})];n(T,g).forEach(((e,r)=>{O.push(new t({ratio:p+S*r,color:e}))}));const C=new r({blurRadius:l,colorStops:O,field:o,minPixelIntensity:I[0],maxPixelIntensity:I[1]});return null!=i&&(C.fieldOffset=i),{renderer:C,statistics:a,defaultValuesUsed:v,scheme:c(w),basemapId:j,basemapTheme:R}}async function j(e){const r=await h(e);return w(r.statistics?r.statistics:await m({layer:r.layer,field:r.field,fieldOffset:r.fieldOffset,blurRadius:r.blurRadius,view:r.view,signal:r.signal}),r)}export{j as createRenderer};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import"../../renderers/ClassBreaksRenderer.js";import"../../renderers/DictionaryRenderer.js";import"../../renderers/DotDensityRenderer.js";import"../../renderers/HeatmapRenderer.js";import"../../renderers/Renderer.js";import e from"../../renderers/SimpleRenderer.js";import"../../renderers/UniqueValueRenderer.js";import"../../renderers/support/jsonUtils.js";import r from"../../core/Error.js";import{isSome as i}from"../../core/maybe.js";import o from"../heuristics/outline.js";import a from"../heuristics/sizeRange.js";import{createSymbol as s,getSymbolSizeFromScheme as n,getSymbolOutlineFromScheme as t,getBasemapInfo as l}from"./support/utils.js";import{createLayerAdapter as m,featureCapableLayerTypes as p,getLayerTypeLabels as d}from"../support/adapters/support/layerUtils.js";import{c,g as u}from"../../chunks/location.js";async function y(e){if(!e||!e.layer)throw new r("location-renderer:missing-parameters","'layer' parameter is required");const o={...e};o.symbolType=o.symbolType||"2d";const a=m(o.layer,p);if(o.layer=a,!a)throw new r("location-renderer:invalid-parameters","'layer' must be one of these types: "+d(p).join(", "));const s=i(o.signal)?{signal:o.signal}:null;await a.load(s);const n=a.geometryType;if(o.outlineOptimizationEnabled="polygon"===n&&o.outlineOptimizationEnabled,o.sizeOptimizationEnabled=("point"===n||"multipoint"===n||"polyline"===n)&&o.sizeOptimizationEnabled,"mesh"===n)o.symbolType="3d-volumetric",o.colorMixMode=o.colorMixMode||"replace",o.edgesType=o.edgesType||"none";else{if("3d-volumetric-uniform"===o.symbolType&&"point"!==n)throw new r("location-renderer:not-supported","3d-volumetric-uniform symbols are supported for point layers only");if(o.symbolType.includes("3d-volumetric")&&(!o.view||"3d"!==o.view.type))throw new r("location-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'")}return o}async function b(e,r){let o=e.locationScheme,a=null,s=null;const n=await l(e.basemap,e.view);if(a=i(n.basemapId)?n.basemapId:null,s=i(n.basemapTheme)?n.basemapTheme:null,o)return{scheme:c(o),basemapId:a,basemapTheme:s};const t=u({basemap:a,basemapTheme:s,geometryType:r,worldScale:e.symbolType.includes("3d-volumetric"),view:e.view});return t&&(o=t.primaryScheme,a=t.basemapId,s=t.basemapTheme),{scheme:o,basemapId:a,basemapTheme:s}}async function h(i){const l=await y(i),m=l.layer.geometryType,p=await b(l,m),d=p.scheme;if(!d)throw new r("location-renderer:insufficient-info","Unable to find location scheme");const{view:u,layer:h,signal:f}=l,[w,v]=await Promise.all([l.outlineOptimizationEnabled?o({view:u,layer:h,signal:f}):null,l.sizeOptimizationEnabled?a({view:u,layer:h,signal:f}):null]),T=w&&w.opacity,g=new e({symbol:s(m,{type:l.symbolType,color:d.color,size:n(d,m),outline:t(d,m,T),meshInfo:{colorMixMode:l.colorMixMode,edgesType:l.edgesType}})});return w&&w.visualVariables&&w.visualVariables.length&&(g.visualVariables=w.visualVariables.map((e=>e.clone()))),v&&v.minSize&&(g.visualVariables?g.visualVariables.push(v.minSize):g.visualVariables=[v.minSize]),{renderer:g,locationScheme:c(d),basemapId:p.basemapId,basemapTheme:p.basemapTheme}}export{h as createRenderer};
5
+ import"../../renderers/ClassBreaksRenderer.js";import"../../renderers/DictionaryRenderer.js";import"../../renderers/DotDensityRenderer.js";import"../../renderers/HeatmapRenderer.js";import"../../renderers/Renderer.js";import e from"../../renderers/SimpleRenderer.js";import"../../renderers/UniqueValueRenderer.js";import"../../renderers/support/jsonUtils.js";import r from"../../core/Error.js";import{isSome as i}from"../../core/maybe.js";import o from"../heuristics/outline.js";import a from"../heuristics/sizeRange.js";import{createSymbol as s,getSymbolSizeFromScheme as n,getSymbolOutlineFromScheme as l,getBasemapInfo as t}from"./support/utils.js";import{createLayerAdapter as m,featureCapableLayerTypes as p,getLayerTypeLabels as d}from"../support/adapters/support/layerUtils.js";import{cloneScheme as c,getSchemes as u}from"../symbology/location.js";async function y(e){if(!e||!e.layer)throw new r("location-renderer:missing-parameters","'layer' parameter is required");const o={...e};o.symbolType=o.symbolType||"2d";const a=m(o.layer,p);if(o.layer=a,!a)throw new r("location-renderer:invalid-parameters","'layer' must be one of these types: "+d(p).join(", "));const s=i(o.signal)?{signal:o.signal}:null;await a.load(s);const n=a.geometryType;if(o.outlineOptimizationEnabled="polygon"===n&&o.outlineOptimizationEnabled,o.sizeOptimizationEnabled=("point"===n||"multipoint"===n||"polyline"===n)&&o.sizeOptimizationEnabled,"mesh"===n)o.symbolType="3d-volumetric",o.colorMixMode=o.colorMixMode||"replace",o.edgesType=o.edgesType||"none";else{if("3d-volumetric-uniform"===o.symbolType&&"point"!==n)throw new r("location-renderer:not-supported","3d-volumetric-uniform symbols are supported for point layers only");if(o.symbolType.includes("3d-volumetric")&&(!o.view||"3d"!==o.view.type))throw new r("location-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'")}return o}async function b(e,r){let o=e.locationScheme,a=null,s=null;const n=await t(e.basemap,e.view);if(a=i(n.basemapId)?n.basemapId:null,s=i(n.basemapTheme)?n.basemapTheme:null,o)return{scheme:c(o),basemapId:a,basemapTheme:s};const l=u({basemap:a,basemapTheme:s,geometryType:r,worldScale:e.symbolType.includes("3d-volumetric"),view:e.view});return l&&(o=l.primaryScheme,a=l.basemapId,s=l.basemapTheme),{scheme:o,basemapId:a,basemapTheme:s}}async function f(i){const t=await y(i),m=t.layer.geometryType,p=await b(t,m),d=p.scheme;if(!d)throw new r("location-renderer:insufficient-info","Unable to find location scheme");const{view:u,layer:f,signal:h}=t,[w,v]=await Promise.all([t.outlineOptimizationEnabled?o({view:u,layer:f,signal:h}):null,t.sizeOptimizationEnabled?a({view:u,layer:f,signal:h}):null]),T=w&&w.opacity,g=new e({symbol:s(m,{type:t.symbolType,color:d.color,size:n(d,m),outline:l(d,m,T),meshInfo:{colorMixMode:t.colorMixMode,edgesType:t.edgesType}})});return w&&w.visualVariables&&w.visualVariables.length&&(g.visualVariables=w.visualVariables.map((e=>e.clone()))),v&&v.minSize&&(g.visualVariables?g.visualVariables.push(v.minSize):g.visualVariables=[v.minSize]),{renderer:g,locationScheme:c(d),basemapId:p.basemapId,basemapTheme:p.basemapTheme}}export{f as createRenderer};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../core/Error.js";import{isSome as a}from"../../core/maybe.js";import{fetchMessageBundle as i}from"../../intl/messages.js";import s from"../../renderers/support/AuthoringInfo.js";import r from"../../renderers/support/AuthoringInfoVisualVariable.js";import{round as n}from"../../renderers/support/numberUtils.js";import l from"../../renderers/visualVariables/OpacityVariable.js";import o from"../heuristics/outline.js";import{createVisualVariables as t}from"./size.js";import{createRenderer as p}from"./type.js";import{verifyBasicFieldValidity as m,getBasemapInfo as d,createSymbol as u,getSymbolOutlineFromScheme as c,createColors as y}from"./support/utils.js";import b from"../statistics/predominantCategories.js";import f from"../statistics/summaryStatistics.js";import{getPredominanceExpressions as g}from"../statistics/support/predominanceUtils.js";import{createLayerAdapter as h,featureCapableLayerTypes as v,getLayerTypeLabels as w}from"../support/adapters/support/layerUtils.js";import{c as z,g as T}from"../../chunks/predominance.js";async function V(i){if(!(i&&i.layer&&i.view&&i.fields&&i.fields.length))throw new e("predominance-renderer:missing-parameters","'layer', 'view' and 'fields' parameters are required");if(i.fields.length<2)throw new e("predominance-renderer:invalid-parameters","Minimum 2 fields are required");if(i.fields.length>10)throw new e("predominance-renderer:invalid-parameters","Maximum 10 fields are supported");const s={...i};s.symbolType=s.symbolType||"2d",s.defaultSymbolEnabled=null==s.defaultSymbolEnabled||s.defaultSymbolEnabled,s.includeOpacityVariable=i.includeOpacityVariable||!1,s.includeSizeVariable=i.includeSizeVariable||!1,s.sortBy=null==s.sortBy?"count":s.sortBy;const r=h(s.layer,v);if(s.layer=r,!r)throw new e("predominance-renderer:invalid-parameters","'layer' must be one of these types: "+w(v).join(", "));const n=a(s.signal)?{signal:s.signal}:null;await r.load(n);const l=r.geometryType,o=s.symbolType.includes("3d");if(s.outlineOptimizationEnabled="polygon"===l&&s.outlineOptimizationEnabled,s.includeSizeVariable||(s.sizeOptimizationEnabled=("point"===l||"multipoint"===l||"polyline"===l)&&s.sizeOptimizationEnabled),"mesh"===l)s.symbolType="3d-volumetric",s.colorMixMode=s.colorMixMode||"replace",s.edgesType=s.edgesType||"none",s.sizeOptimizationEnabled=!1;else{if(o&&("polyline"===l||"polygon"===l))throw new e("predominance-renderer:not-supported","3d symbols are not supported for polyline and polygon layers");if(s.symbolType.includes("3d-volumetric")&&(!s.view||"3d"!==s.view.type))throw new e("predominance-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'")}const t=s.fields.map((e=>e.name)),p=m(r,t,"predominance-renderer:invalid-parameters");if(p)throw p;return s}async function E(e){let i=e.predominanceScheme,s=null,r=null;const n=await d(e.basemap,e.view);if(s=a(n.basemapId)?n.basemapId:null,r=a(n.basemapTheme)?n.basemapTheme:null,i)return{scheme:z(i),basemapId:s,basemapTheme:r};const l=T({basemap:s,basemapTheme:r,geometryType:e.geometryType,numColors:e.numColors,theme:e.theme,worldScale:e.worldScale,view:e.view});return l&&(i=l.primaryScheme,s=l.basemapId,r=l.basemapTheme),{scheme:i,basemapId:s,basemapTheme:r}}async function S(e,a,r,n){const l=await i("esri/smartMapping/t9n/smartMapping"),t=e.layer,m={layer:e.layer,view:e.view,signal:e.signal},[d,f]=await Promise.all([b({layer:t,fields:n,view:e.view,signal:e.signal}),e.outlineOptimizationEnabled?o(m):null]);let g=d;d&&d.predominantCategoryInfos||(g={predominantCategoryInfos:n.map((e=>({value:e,count:0})))});const h=f&&f.opacity,v=await p({layer:t,basemap:e.basemap,valueExpression:a.valueExpression,valueExpressionTitle:l.predominantCategory,numTypes:-1,defaultSymbolEnabled:e.defaultSymbolEnabled,sortBy:e.sortBy,typeScheme:r,statistics:{uniqueValueInfos:g.predominantCategoryInfos},legendOptions:e.legendOptions,outlineOptimizationEnabled:!1,sizeOptimizationEnabled:(!e.includeSizeVariable||!e.sizeOptimizationEnabled)&&e.sizeOptimizationEnabled,symbolType:e.symbolType,colorMixMode:e.colorMixMode,edgesType:e.edgesType,view:e.view,signal:e.signal}),{renderer:w,basemapId:z,basemapTheme:T,uniqueValueInfos:V,excludedUniqueValueInfos:E}=v,S=w.uniqueValueInfos,x={};for(const i of e.fields){const e=t.getField(i.name);x[e.name]=i.label||e&&e.alias||i.name}if(S.forEach(((e,a)=>{const i=x[e.value];e.label=i,V[a].label=i})),e.includeSizeVariable){let a=t.geometryType,i=null;if("polygon"===a){const s=r.sizeScheme,n=s.background;w.backgroundFillSymbol=u(a,{type:e.symbolType,color:n.color,outline:c(n,a,h)}),i=s.marker.size,a="point"}else if("polyline"===a){i=r.width}else{i=r.size}const s=y(r.colors,S.length);S.forEach(((n,l)=>{const o=u(a,{type:e.symbolType,color:s[l],size:i,outline:c(r,a,h),meshInfo:{colorMixMode:e.colorMixMode,edgesType:e.edgesType}});n.symbol=o,V[l].symbol=o.clone()}))}return f&&f.visualVariables&&f.visualVariables.length&&(w.visualVariables=f.visualVariables.map((e=>e.clone()))),w.authoringInfo=new s({type:"predominance",fields:[...n]}),{renderer:w,predominantCategoryInfos:V,excludedCategoryInfos:E,predominanceScheme:r,basemapId:z,basemapTheme:T}}async function x(e,a,s){const r=await i("esri/smartMapping/t9n/smartMapping");return t({layer:e.layer,basemap:e.basemap,valueExpression:a.valueExpression,sqlExpression:a.statisticsQuery.sqlExpression,sqlWhere:a.statisticsQuery.sqlWhere,sizeScheme:s,sizeOptimizationEnabled:e.sizeOptimizationEnabled,worldScale:e.symbolType.includes("3d-volumetric"),legendOptions:{title:r.sumOfCategories},view:e.view,signal:e.signal})}async function I(e,a){const o=await i("esri/smartMapping/t9n/smartMapping"),t=await f({layer:e.layer,valueExpression:a.valueExpression,sqlExpression:a.statisticsQuery.sqlExpression,sqlWhere:a.statisticsQuery.sqlWhere,view:e.view,signal:e.signal}),p=null==t.avg||null==t.stddev,m=1/e.fields.length*100;let d=p?100:t.avg+1.285*t.stddev;d>100&&(d=100);const u=n([m,d],{strictBounds:!0}),c=new l({valueExpression:a.valueExpression,stops:[{value:u[0],opacity:.15},{value:u[1],opacity:1}],legendOptions:{title:o.strengthOfPredominance}}),y=new r({type:"opacity",minSliderValue:t.min,maxSliderValue:t.max});return{visualVariable:c,statistics:t,defaultValuesUsed:p,authoringInfo:new s({visualVariables:[y]})}}async function O(e){const a=await V(e),i=a.layer,s=(await E({basemap:a.basemap,geometryType:i.geometryType,numColors:a.fields.length,predominanceScheme:a.predominanceScheme,worldScale:a.symbolType.includes("3d-volumetric"),view:a.view})).scheme,r=a.fields.map((e=>e.name)),n=g(i,r),l=S(a,n.predominantCategory,s,r),o=a.includeSizeVariable?x(a,n.size,s.sizeScheme):null,t=a.includeOpacityVariable?I(a,n.opacity):null,[p,m,d]=await Promise.all([l,o,t]),u=[],c=[];if(m&&(Array.prototype.push.apply(u,m.visualVariables.map((e=>e.clone()))),delete m.sizeScheme,p.size=m,Array.prototype.push.apply(c,m.authoringInfo.visualVariables.map((e=>e.clone())))),d&&(u.push(d.visualVariable.clone()),p.opacity=d,Array.prototype.push.apply(c,d.authoringInfo.visualVariables.map((e=>e.clone())))),u.length){const e=p.renderer.visualVariables||[];Array.prototype.push.apply(e,u),p.renderer.visualVariables=e,p.renderer.authoringInfo.visualVariables=c}return p}export{O as createRenderer};
5
+ import e from"../../core/Error.js";import{isSome as a}from"../../core/maybe.js";import{fetchMessageBundle as i}from"../../intl/messages.js";import s from"../../renderers/support/AuthoringInfo.js";import r from"../../renderers/support/AuthoringInfoVisualVariable.js";import{round as n}from"../../renderers/support/numberUtils.js";import l from"../../renderers/visualVariables/OpacityVariable.js";import o from"../heuristics/outline.js";import{createVisualVariables as t}from"./size.js";import{createRenderer as p}from"./type.js";import{verifyBasicFieldValidity as m,getBasemapInfo as d,createSymbol as u,getSymbolOutlineFromScheme as c,createColors as y}from"./support/utils.js";import b from"../statistics/predominantCategories.js";import f from"../statistics/summaryStatistics.js";import{getPredominanceExpressions as g}from"../statistics/support/predominanceUtils.js";import{createLayerAdapter as h,featureCapableLayerTypes as v,getLayerTypeLabels as w}from"../support/adapters/support/layerUtils.js";import{cloneScheme as z,getSchemes as T}from"../symbology/predominance.js";async function V(i){if(!(i&&i.layer&&i.view&&i.fields&&i.fields.length))throw new e("predominance-renderer:missing-parameters","'layer', 'view' and 'fields' parameters are required");if(i.fields.length<2)throw new e("predominance-renderer:invalid-parameters","Minimum 2 fields are required");if(i.fields.length>10)throw new e("predominance-renderer:invalid-parameters","Maximum 10 fields are supported");const s={...i};s.symbolType=s.symbolType||"2d",s.defaultSymbolEnabled=null==s.defaultSymbolEnabled||s.defaultSymbolEnabled,s.includeOpacityVariable=i.includeOpacityVariable||!1,s.includeSizeVariable=i.includeSizeVariable||!1,s.sortBy=null==s.sortBy?"count":s.sortBy;const r=h(s.layer,v);if(s.layer=r,!r)throw new e("predominance-renderer:invalid-parameters","'layer' must be one of these types: "+w(v).join(", "));const n=a(s.signal)?{signal:s.signal}:null;await r.load(n);const l=r.geometryType,o=s.symbolType.includes("3d");if(s.outlineOptimizationEnabled="polygon"===l&&s.outlineOptimizationEnabled,s.includeSizeVariable||(s.sizeOptimizationEnabled=("point"===l||"multipoint"===l||"polyline"===l)&&s.sizeOptimizationEnabled),"mesh"===l)s.symbolType="3d-volumetric",s.colorMixMode=s.colorMixMode||"replace",s.edgesType=s.edgesType||"none",s.sizeOptimizationEnabled=!1;else{if(o&&("polyline"===l||"polygon"===l))throw new e("predominance-renderer:not-supported","3d symbols are not supported for polyline and polygon layers");if(s.symbolType.includes("3d-volumetric")&&(!s.view||"3d"!==s.view.type))throw new e("predominance-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'")}const t=s.fields.map((e=>e.name)),p=m(r,t,"predominance-renderer:invalid-parameters");if(p)throw p;return s}async function E(e){let i=e.predominanceScheme,s=null,r=null;const n=await d(e.basemap,e.view);if(s=a(n.basemapId)?n.basemapId:null,r=a(n.basemapTheme)?n.basemapTheme:null,i)return{scheme:z(i),basemapId:s,basemapTheme:r};const l=T({basemap:s,basemapTheme:r,geometryType:e.geometryType,numColors:e.numColors,theme:e.theme,worldScale:e.worldScale,view:e.view});return l&&(i=l.primaryScheme,s=l.basemapId,r=l.basemapTheme),{scheme:i,basemapId:s,basemapTheme:r}}async function S(e,a,r,n){const l=await i("esri/smartMapping/t9n/smartMapping"),t=e.layer,m={layer:e.layer,view:e.view,signal:e.signal},[d,f]=await Promise.all([b({layer:t,fields:n,view:e.view,signal:e.signal}),e.outlineOptimizationEnabled?o(m):null]);let g=d;d&&d.predominantCategoryInfos||(g={predominantCategoryInfos:n.map((e=>({value:e,count:0})))});const h=f&&f.opacity,v=await p({layer:t,basemap:e.basemap,valueExpression:a.valueExpression,valueExpressionTitle:l.predominantCategory,numTypes:-1,defaultSymbolEnabled:e.defaultSymbolEnabled,sortBy:e.sortBy,typeScheme:r,statistics:{uniqueValueInfos:g.predominantCategoryInfos},legendOptions:e.legendOptions,outlineOptimizationEnabled:!1,sizeOptimizationEnabled:(!e.includeSizeVariable||!e.sizeOptimizationEnabled)&&e.sizeOptimizationEnabled,symbolType:e.symbolType,colorMixMode:e.colorMixMode,edgesType:e.edgesType,view:e.view,signal:e.signal}),{renderer:w,basemapId:z,basemapTheme:T,uniqueValueInfos:V,excludedUniqueValueInfos:E}=v,S=w.uniqueValueInfos,x={};for(const i of e.fields){const e=t.getField(i.name);x[e.name]=i.label||e&&e.alias||i.name}if(S.forEach(((e,a)=>{const i=x[e.value];e.label=i,V[a].label=i})),e.includeSizeVariable){let a=t.geometryType,i=null;if("polygon"===a){const s=r.sizeScheme,n=s.background;w.backgroundFillSymbol=u(a,{type:e.symbolType,color:n.color,outline:c(n,a,h)}),i=s.marker.size,a="point"}else if("polyline"===a){i=r.width}else{i=r.size}const s=y(r.colors,S.length);S.forEach(((n,l)=>{const o=u(a,{type:e.symbolType,color:s[l],size:i,outline:c(r,a,h),meshInfo:{colorMixMode:e.colorMixMode,edgesType:e.edgesType}});n.symbol=o,V[l].symbol=o.clone()}))}return f&&f.visualVariables&&f.visualVariables.length&&(w.visualVariables=f.visualVariables.map((e=>e.clone()))),w.authoringInfo=new s({type:"predominance",fields:[...n]}),{renderer:w,predominantCategoryInfos:V,excludedCategoryInfos:E,predominanceScheme:r,basemapId:z,basemapTheme:T}}async function x(e,a,s){const r=await i("esri/smartMapping/t9n/smartMapping");return t({layer:e.layer,basemap:e.basemap,valueExpression:a.valueExpression,sqlExpression:a.statisticsQuery.sqlExpression,sqlWhere:a.statisticsQuery.sqlWhere,sizeScheme:s,sizeOptimizationEnabled:e.sizeOptimizationEnabled,worldScale:e.symbolType.includes("3d-volumetric"),legendOptions:{title:r.sumOfCategories},view:e.view,signal:e.signal})}async function I(e,a){const o=await i("esri/smartMapping/t9n/smartMapping"),t=await f({layer:e.layer,valueExpression:a.valueExpression,sqlExpression:a.statisticsQuery.sqlExpression,sqlWhere:a.statisticsQuery.sqlWhere,view:e.view,signal:e.signal}),p=null==t.avg||null==t.stddev,m=1/e.fields.length*100;let d=p?100:t.avg+1.285*t.stddev;d>100&&(d=100);const u=n([m,d],{strictBounds:!0}),c=new l({valueExpression:a.valueExpression,stops:[{value:u[0],opacity:.15},{value:u[1],opacity:1}],legendOptions:{title:o.strengthOfPredominance}}),y=new r({type:"opacity",minSliderValue:t.min,maxSliderValue:t.max});return{visualVariable:c,statistics:t,defaultValuesUsed:p,authoringInfo:new s({visualVariables:[y]})}}async function O(e){const a=await V(e),i=a.layer,s=(await E({basemap:a.basemap,geometryType:i.geometryType,numColors:a.fields.length,predominanceScheme:a.predominanceScheme,worldScale:a.symbolType.includes("3d-volumetric"),view:a.view})).scheme,r=a.fields.map((e=>e.name)),n=g(i,r),l=S(a,n.predominantCategory,s,r),o=a.includeSizeVariable?x(a,n.size,s.sizeScheme):null,t=a.includeOpacityVariable?I(a,n.opacity):null,[p,m,d]=await Promise.all([l,o,t]),u=[],c=[];if(m&&(Array.prototype.push.apply(u,m.visualVariables.map((e=>e.clone()))),delete m.sizeScheme,p.size=m,Array.prototype.push.apply(c,m.authoringInfo.visualVariables.map((e=>e.clone())))),d&&(u.push(d.visualVariable.clone()),p.opacity=d,Array.prototype.push.apply(c,d.authoringInfo.visualVariables.map((e=>e.clone())))),u.length){const e=p.renderer.visualVariables||[];Array.prototype.push.apply(e,u),p.renderer.visualVariables=e,p.renderer.authoringInfo.visualVariables=c}return p}export{O as createRenderer};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../core/Error.js";import{clone as a}from"../../core/lang.js";import{isSome as n}from"../../core/maybe.js";import{fetchMessageBundle as i}from"../../intl/messages.js";import l from"../../renderers/support/AuthoringInfo.js";import{AuthoringInfoClassBreakInfo as r}from"../../renderers/support/AuthoringInfoClassBreakInfo.js";import{AuthoringInfoFieldInfo as s}from"../../renderers/support/AuthoringInfoFieldInfo.js";import{createRenderer as o}from"./type.js";import{createColors as t,getClassBreaks as d,verifyBasicFieldValidity as m,getBasemapInfo as u}from"./support/utils.js";import{createLayerAdapter as f,featureCapableLayerTypes as p,getLayerTypeLabels as c}from"../support/adapters/support/layerUtils.js";import{g as h,f as y,c as b,a as w}from"../../chunks/relationship.js";import{applyColorToSymbol as v}from"../../symbols/support/utils.js";const g=["equal-interval","natural-breaks","quantile"],I=["HH","HL","LH","LL"],M={2:[["HL","HH"],["LL","LH"]],3:[["HL","HM","HH"],["ML","MM","MH"],["LL","LM","LH"]],4:[["HL","HM1","HM2","HH"],["M2L","M2M1","M2M2","M2H"],["M1L","M1M1","M1M2","M1H"],["LL","LM1","LM2","LH"]]},z={2:["L","H"],3:["L","M","H"],4:["L","M1","M2","H"]},F=e=>({minValue:e.minValue,maxValue:e.maxValue});async function T(a){if(!(a&&a.layer&&a.view&&a.field1&&a.field2))throw new e("relationship-renderer:missing-parameters","'layer', 'view', 'field1' and 'field2' parameters are required");const i={...a};if(i.symbolType=i.symbolType||"2d",i.defaultSymbolEnabled=null==i.defaultSymbolEnabled||i.defaultSymbolEnabled,i.classificationMethod=i.classificationMethod||"quantile",i.numClasses=i.numClasses||3,i.focus=i.focus||null,!g.includes(i.classificationMethod))throw new e("relationship-renderer:invalid-parameters",`classification method ${i.classificationMethod} is not supported`);if(i.numClasses<2||i.numClasses>4)throw new e("relationship-renderer:invalid-parameters","'numClasses' must be 2, 3 or 4");if(a.focus&&!I.includes(a.focus))throw new e("relationship-renderer:invalid-parameters","'focus' must be 'HH', 'HL', 'LH', 'LL' or null");const l=f(i.layer,p);if(i.layer=l,!l)throw new e("relationship-renderer:invalid-parameters","'layer' must be one of these types: "+c(p).join(", "));const r=n(i.signal)?{signal:i.signal}:null;await l.load(r);const s=l.geometryType,o=i.symbolType.includes("3d");if(i.outlineOptimizationEnabled="polygon"===s&&i.outlineOptimizationEnabled,i.sizeOptimizationEnabled=("point"===s||"multipoint"===s||"polyline"===s)&&i.sizeOptimizationEnabled,"mesh"===s)i.symbolType="3d-volumetric",i.colorMixMode=i.colorMixMode||"replace",i.edgesType=i.edgesType||"none";else{if("3d-volumetric-uniform"===i.symbolType&&"point"!==s)throw new e("relationship-renderer:not-supported","3d-volumetric-uniform symbols are supported for point layers only");if(o&&"polygon"===s)throw new e("relationship-renderer:not-supported","3d symbols are not supported for polygon layers");if(i.symbolType.includes("3d-volumetric")&&(!i.view||"3d"!==i.view.type))throw new e("relationship-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'")}const{field1:t,field2:d}=i,u=[t.field,d.field];t.normalizationField&&u.push(t.normalizationField),d.normalizationField&&u.push(d.normalizationField);const h=m(l,u,"relationship-renderer:invalid-parameters");if(h)throw h;return i}async function V(a){if(!(a&&a.renderer&&a.numClasses))throw new e("update-relationship-renderer:missing-parameters","'renderer' and 'numClasses' parameters are required");const{field1:n,field2:i,renderer:l,numClasses:r,colors:s}=a,o=r**2;if((n||i)&&!(n&&i&&n.field&&i.field))throw new e("update-relationship-renderer:missing-parameters","'field1' and 'field2' parameters are required");if(n&&!n.classBreakInfos||i&&!i.classBreakInfos)throw new e("update-relationship-renderer:missing-parameters","'field1.classBreakInfos' and 'field2.classBreakInfos' are required");if(!l.authoringInfo)throw new e("update-relationship-renderer:missing-parameters","'renderer.authoringInfo' is required");if(l.uniqueValueInfos.length!==o)throw new e("update-relationship-renderer:invalid-parameters",`Renderer must have ${o} unique value infos to support ${r} classes`);if(s&&s.length!==o)throw new e("update-relationship-renderer:invalid-parameters",`The scheme must have ${o} colors`);return a}async function H(e){let a=e.relationshipScheme,i=null,l=null;const r=await u(e.basemap,e.view);if(i=n(r.basemapId)?r.basemapId:null,l=n(r.basemapTheme)?r.basemapTheme:null,a)return{scheme:b(a),basemapId:i,basemapTheme:l};const s=w({basemap:i,basemapTheme:l,geometryType:e.geometryType,theme:e.theme,worldScale:e.worldScale,view:e.view});return s&&(a=s.primaryScheme,i=s.basemapId,l=s.basemapTheme),{scheme:a,basemapId:i,basemapTheme:l}}function L(e,n){const i=a(M[e]);return y(i,n)}function k(e,a){return L(e,a).map((e=>({value:e,count:0})))}function C(e,a,n,i){const{field:l,normalizationField:r}=e,{field:s,normalizationField:o}=a,t=n.map((e=>[e.minValue,e.maxValue])),d=i.map((e=>[e.minValue,e.maxValue])),m=t.length,u=z[m];return`\n var field1 = $feature['${l}'];\n var field2 = $feature['${s}'];\n var hasNormField1 = ${r?"true":"false"};\n var hasNormField2 = ${o?"true":"false"};\n var normField1 = ${r?`$feature['${r}']`:"null"};\n var normField2 = ${o?`$feature['${o}']`:"null"};\n\n if (\n IsEmpty(field1) ||\n IsEmpty(field2) ||\n (hasNormField1 && (IsEmpty(normField1) || normField1 == 0)) ||\n (hasNormField2 && (IsEmpty(normField2) || normField2 == 0))\n ) {\n return null;\n }\n\n var value1 = IIf(hasNormField1, (field1 / normField1), field1);\n var value2 = IIf(hasNormField2, (field2 / normField2), field2);\n\n var breaks1 = ${JSON.stringify(t)};\n var breaks2 = ${JSON.stringify(d)};\n var classCodes = ${JSON.stringify(u)};\n\n function getClassCode(value, breaks) {\n var code = null;\n\n for (var i in breaks) {\n var info = breaks[i];\n if (value >= info[0] && value <= info[1]) {\n code = classCodes[i];\n break;\n }\n }\n\n return code;\n }\n\n var code1 = getClassCode(value1, breaks1);\n var code2 = getClassCode(value2, breaks2);\n\n var classValue = IIf(IsEmpty(code1) || IsEmpty(code2), null, code1 + code2);\n return classValue;\n `}async function E(a,n,r){const s=await i("esri/smartMapping/t9n/smartMapping"),{basemap:t,classificationMethod:d,field1:m,field2:u,focus:f,numClasses:p,signal:c}=a,y=a.layer,b=n.classBreakInfos,w=r.classBreakInfos;if(p!==b.length||b.length!==w.length)throw new e("relationship-renderer:error","incompatible class breaks");const v=k(p,f),g=C(a.field1,a.field2,b,w),I=(await H({basemap:t,geometryType:y.geometryType,theme:"default",relationshipScheme:a.relationshipScheme,worldScale:a.symbolType.includes("3d-volumetric"),view:a.view})).scheme,M=await o({layer:y,basemap:t,valueExpression:g,valueExpressionTitle:s.relationship.legendTitle,numTypes:-1,sortEnabled:!1,defaultSymbolEnabled:a.defaultSymbolEnabled,typeScheme:{colors:h(I,p,f),...I},statistics:{uniqueValueInfos:v},legendOptions:a.legendOptions,outlineOptimizationEnabled:a.outlineOptimizationEnabled,sizeOptimizationEnabled:a.sizeOptimizationEnabled,symbolType:a.symbolType,colorMixMode:a.colorMixMode,edgesType:a.edgesType,view:a.view,signal:c}),z=M.renderer,T=z.uniqueValueInfos,V=s.relationship;for(const e of T)e.label=V[e.value];const L=new l({type:"relationship",classificationMethod:d,numClasses:p,focus:f,field1:{field:m.field,normalizationField:m.normalizationField,label:m.label,classBreakInfos:b.map(F)},field2:{field:u.field,normalizationField:u.normalizationField,label:u.label,classBreakInfos:w.map(F)}});return z.authoringInfo=L,{renderer:z,classBreaks:{field1:n,field2:r},uniqueValueInfos:M.uniqueValueInfos,relationshipScheme:I,basemapId:M.basemapId,basemapTheme:M.basemapTheme}}function x(e,a,n){const i=L(a,n);e.sort(((e,a)=>{const n=i.indexOf(e.value),l=i.indexOf(a.value);let r=0;return n<l?r=-1:n>l&&(r=1),r}))}function $(e,a){const{authoringInfo:n}=e;n.numClasses=a.numClasses,n.focus=a.focus||null,n.focus||delete n.focus;const{field1:i,field2:l}=a;n.field1=new s({field:i.field,normalizationField:i.normalizationField,label:i.label,classBreakInfos:i.classBreakInfos.map((e=>new r(F(e))))}),n.field2=new s({field:l.field,normalizationField:l.normalizationField,label:l.label,classBreakInfos:l.classBreakInfos.map((e=>new r(F(e))))}),e.authoringInfo=n}async function S(e){const a=await V(e),{field1:n,field2:i,renderer:l,numClasses:r,focus:s,colors:o}=a,d=l.clone();if(d.valueExpression=C(n,i,n.classBreakInfos,i.classBreakInfos),x(d.uniqueValueInfos,r,s),o){const e=t(o,o.length);d.uniqueValueInfos.forEach(((a,n)=>v(a.symbol,e[n])))}return $(d,a),d}async function q(a){const n=await T(a),{layer:i,classificationMethod:l,field1:r,field2:s,numClasses:o,view:t,signal:m}=n,u={layer:i,classificationMethod:l,field:r.field,normalizationField:r.normalizationField,normalizationType:r.normalizationField?"field":null,minValue:r.minValue,maxValue:r.maxValue,analyzeData:!(null!=r.minValue&&null!=r.maxValue),numClasses:o,view:t,signal:m},f={layer:i,classificationMethod:l,field:s.field,normalizationField:s.normalizationField,normalizationType:s.normalizationField?"field":null,minValue:s.minValue,maxValue:s.maxValue,analyzeData:!(null!=s.minValue&&null!=s.maxValue),numClasses:o,view:t,signal:m},[p,c]=await Promise.all([d(u),d(f)]);if(!p||!c)throw new e("relationship-renderer:error","error when calculating class breaks");return E(n,p.result,c.result)}export{q as createRenderer,S as updateRenderer};
5
+ import e from"../../core/Error.js";import{clone as a}from"../../core/lang.js";import{isSome as n}from"../../core/maybe.js";import{fetchMessageBundle as i}from"../../intl/messages.js";import l from"../../renderers/support/AuthoringInfo.js";import{AuthoringInfoClassBreakInfo as r}from"../../renderers/support/AuthoringInfoClassBreakInfo.js";import{AuthoringInfoFieldInfo as s}from"../../renderers/support/AuthoringInfoFieldInfo.js";import{createRenderer as o}from"./type.js";import{createColors as t,getClassBreaks as d,verifyBasicFieldValidity as m,getBasemapInfo as u}from"./support/utils.js";import{createLayerAdapter as f,featureCapableLayerTypes as p,getLayerTypeLabels as c}from"../support/adapters/support/layerUtils.js";import{getColors as h,flatten2DArray as y,cloneScheme as b,getSchemes as w}from"../symbology/relationship.js";import{applyColorToSymbol as v}from"../../symbols/support/utils.js";const g=["equal-interval","natural-breaks","quantile"],I=["HH","HL","LH","LL"],M={2:[["HL","HH"],["LL","LH"]],3:[["HL","HM","HH"],["ML","MM","MH"],["LL","LM","LH"]],4:[["HL","HM1","HM2","HH"],["M2L","M2M1","M2M2","M2H"],["M1L","M1M1","M1M2","M1H"],["LL","LM1","LM2","LH"]]},z={2:["L","H"],3:["L","M","H"],4:["L","M1","M2","H"]},F=e=>({minValue:e.minValue,maxValue:e.maxValue});async function T(a){if(!(a&&a.layer&&a.view&&a.field1&&a.field2))throw new e("relationship-renderer:missing-parameters","'layer', 'view', 'field1' and 'field2' parameters are required");const i={...a};if(i.symbolType=i.symbolType||"2d",i.defaultSymbolEnabled=null==i.defaultSymbolEnabled||i.defaultSymbolEnabled,i.classificationMethod=i.classificationMethod||"quantile",i.numClasses=i.numClasses||3,i.focus=i.focus||null,!g.includes(i.classificationMethod))throw new e("relationship-renderer:invalid-parameters",`classification method ${i.classificationMethod} is not supported`);if(i.numClasses<2||i.numClasses>4)throw new e("relationship-renderer:invalid-parameters","'numClasses' must be 2, 3 or 4");if(a.focus&&!I.includes(a.focus))throw new e("relationship-renderer:invalid-parameters","'focus' must be 'HH', 'HL', 'LH', 'LL' or null");const l=f(i.layer,p);if(i.layer=l,!l)throw new e("relationship-renderer:invalid-parameters","'layer' must be one of these types: "+c(p).join(", "));const r=n(i.signal)?{signal:i.signal}:null;await l.load(r);const s=l.geometryType,o=i.symbolType.includes("3d");if(i.outlineOptimizationEnabled="polygon"===s&&i.outlineOptimizationEnabled,i.sizeOptimizationEnabled=("point"===s||"multipoint"===s||"polyline"===s)&&i.sizeOptimizationEnabled,"mesh"===s)i.symbolType="3d-volumetric",i.colorMixMode=i.colorMixMode||"replace",i.edgesType=i.edgesType||"none";else{if("3d-volumetric-uniform"===i.symbolType&&"point"!==s)throw new e("relationship-renderer:not-supported","3d-volumetric-uniform symbols are supported for point layers only");if(o&&"polygon"===s)throw new e("relationship-renderer:not-supported","3d symbols are not supported for polygon layers");if(i.symbolType.includes("3d-volumetric")&&(!i.view||"3d"!==i.view.type))throw new e("relationship-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'")}const{field1:t,field2:d}=i,u=[t.field,d.field];t.normalizationField&&u.push(t.normalizationField),d.normalizationField&&u.push(d.normalizationField);const h=m(l,u,"relationship-renderer:invalid-parameters");if(h)throw h;return i}async function V(a){if(!(a&&a.renderer&&a.numClasses))throw new e("update-relationship-renderer:missing-parameters","'renderer' and 'numClasses' parameters are required");const{field1:n,field2:i,renderer:l,numClasses:r,colors:s}=a,o=r**2;if((n||i)&&!(n&&i&&n.field&&i.field))throw new e("update-relationship-renderer:missing-parameters","'field1' and 'field2' parameters are required");if(n&&!n.classBreakInfos||i&&!i.classBreakInfos)throw new e("update-relationship-renderer:missing-parameters","'field1.classBreakInfos' and 'field2.classBreakInfos' are required");if(!l.authoringInfo)throw new e("update-relationship-renderer:missing-parameters","'renderer.authoringInfo' is required");if(l.uniqueValueInfos.length!==o)throw new e("update-relationship-renderer:invalid-parameters",`Renderer must have ${o} unique value infos to support ${r} classes`);if(s&&s.length!==o)throw new e("update-relationship-renderer:invalid-parameters",`The scheme must have ${o} colors`);return a}async function H(e){let a=e.relationshipScheme,i=null,l=null;const r=await u(e.basemap,e.view);if(i=n(r.basemapId)?r.basemapId:null,l=n(r.basemapTheme)?r.basemapTheme:null,a)return{scheme:b(a),basemapId:i,basemapTheme:l};const s=w({basemap:i,basemapTheme:l,geometryType:e.geometryType,theme:e.theme,worldScale:e.worldScale,view:e.view});return s&&(a=s.primaryScheme,i=s.basemapId,l=s.basemapTheme),{scheme:a,basemapId:i,basemapTheme:l}}function L(e,n){const i=a(M[e]);return y(i,n)}function k(e,a){return L(e,a).map((e=>({value:e,count:0})))}function C(e,a,n,i){const{field:l,normalizationField:r}=e,{field:s,normalizationField:o}=a,t=n.map((e=>[e.minValue,e.maxValue])),d=i.map((e=>[e.minValue,e.maxValue])),m=t.length,u=z[m];return`\n var field1 = $feature['${l}'];\n var field2 = $feature['${s}'];\n var hasNormField1 = ${r?"true":"false"};\n var hasNormField2 = ${o?"true":"false"};\n var normField1 = ${r?`$feature['${r}']`:"null"};\n var normField2 = ${o?`$feature['${o}']`:"null"};\n\n if (\n IsEmpty(field1) ||\n IsEmpty(field2) ||\n (hasNormField1 && (IsEmpty(normField1) || normField1 == 0)) ||\n (hasNormField2 && (IsEmpty(normField2) || normField2 == 0))\n ) {\n return null;\n }\n\n var value1 = IIf(hasNormField1, (field1 / normField1), field1);\n var value2 = IIf(hasNormField2, (field2 / normField2), field2);\n\n var breaks1 = ${JSON.stringify(t)};\n var breaks2 = ${JSON.stringify(d)};\n var classCodes = ${JSON.stringify(u)};\n\n function getClassCode(value, breaks) {\n var code = null;\n\n for (var i in breaks) {\n var info = breaks[i];\n if (value >= info[0] && value <= info[1]) {\n code = classCodes[i];\n break;\n }\n }\n\n return code;\n }\n\n var code1 = getClassCode(value1, breaks1);\n var code2 = getClassCode(value2, breaks2);\n\n var classValue = IIf(IsEmpty(code1) || IsEmpty(code2), null, code1 + code2);\n return classValue;\n `}async function E(a,n,r){const s=await i("esri/smartMapping/t9n/smartMapping"),{basemap:t,classificationMethod:d,field1:m,field2:u,focus:f,numClasses:p,signal:c}=a,y=a.layer,b=n.classBreakInfos,w=r.classBreakInfos;if(p!==b.length||b.length!==w.length)throw new e("relationship-renderer:error","incompatible class breaks");const v=k(p,f),g=C(a.field1,a.field2,b,w),I=(await H({basemap:t,geometryType:y.geometryType,theme:"default",relationshipScheme:a.relationshipScheme,worldScale:a.symbolType.includes("3d-volumetric"),view:a.view})).scheme,M=await o({layer:y,basemap:t,valueExpression:g,valueExpressionTitle:s.relationship.legendTitle,numTypes:-1,sortEnabled:!1,defaultSymbolEnabled:a.defaultSymbolEnabled,typeScheme:{colors:h(I,p,f),...I},statistics:{uniqueValueInfos:v},legendOptions:a.legendOptions,outlineOptimizationEnabled:a.outlineOptimizationEnabled,sizeOptimizationEnabled:a.sizeOptimizationEnabled,symbolType:a.symbolType,colorMixMode:a.colorMixMode,edgesType:a.edgesType,view:a.view,signal:c}),z=M.renderer,T=z.uniqueValueInfos,V=s.relationship;for(const e of T)e.label=V[e.value];const L=new l({type:"relationship",classificationMethod:d,numClasses:p,focus:f,field1:{field:m.field,normalizationField:m.normalizationField,label:m.label,classBreakInfos:b.map(F)},field2:{field:u.field,normalizationField:u.normalizationField,label:u.label,classBreakInfos:w.map(F)}});return z.authoringInfo=L,{renderer:z,classBreaks:{field1:n,field2:r},uniqueValueInfos:M.uniqueValueInfos,relationshipScheme:I,basemapId:M.basemapId,basemapTheme:M.basemapTheme}}function x(e,a,n){const i=L(a,n);e.sort(((e,a)=>{const n=i.indexOf(e.value),l=i.indexOf(a.value);let r=0;return n<l?r=-1:n>l&&(r=1),r}))}function $(e,a){const{authoringInfo:n}=e;n.numClasses=a.numClasses,n.focus=a.focus||null,n.focus||delete n.focus;const{field1:i,field2:l}=a;n.field1=new s({field:i.field,normalizationField:i.normalizationField,label:i.label,classBreakInfos:i.classBreakInfos.map((e=>new r(F(e))))}),n.field2=new s({field:l.field,normalizationField:l.normalizationField,label:l.label,classBreakInfos:l.classBreakInfos.map((e=>new r(F(e))))}),e.authoringInfo=n}async function S(e){const a=await V(e),{field1:n,field2:i,renderer:l,numClasses:r,focus:s,colors:o}=a,d=l.clone();if(d.valueExpression=C(n,i,n.classBreakInfos,i.classBreakInfos),x(d.uniqueValueInfos,r,s),o){const e=t(o,o.length);d.uniqueValueInfos.forEach(((a,n)=>v(a.symbol,e[n])))}return $(d,a),d}async function q(a){const n=await T(a),{layer:i,classificationMethod:l,field1:r,field2:s,numClasses:o,view:t,signal:m}=n,u={layer:i,classificationMethod:l,field:r.field,normalizationField:r.normalizationField,normalizationType:r.normalizationField?"field":null,minValue:r.minValue,maxValue:r.maxValue,analyzeData:!(null!=r.minValue&&null!=r.maxValue),numClasses:o,view:t,signal:m},f={layer:i,classificationMethod:l,field:s.field,normalizationField:s.normalizationField,normalizationType:s.normalizationField?"field":null,minValue:s.minValue,maxValue:s.maxValue,analyzeData:!(null!=s.minValue&&null!=s.maxValue),numClasses:o,view:t,signal:m},[p,c]=await Promise.all([d(u),d(f)]);if(!p||!c)throw new e("relationship-renderer:error","error when calculating class breaks");return E(n,p.result,c.result)}export{q as createRenderer,S as updateRenderer};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../renderers/ClassBreaksRenderer.js";import"../../renderers/DictionaryRenderer.js";import"../../renderers/DotDensityRenderer.js";import"../../renderers/HeatmapRenderer.js";import"../../renderers/Renderer.js";import"../../renderers/SimpleRenderer.js";import"../../renderers/UniqueValueRenderer.js";import"../../renderers/support/jsonUtils.js";import i from"../../core/Error.js";import{isSome as a}from"../../core/maybe.js";import{toPt as s}from"../../core/screenUtils.js";import{fetchMessageBundle as l}from"../../intl/messages.js";import{substitute as n}from"../../intl/substitute.js";import r from"../../renderers/support/AuthoringInfo.js";import o from"../../renderers/support/AuthoringInfoVisualVariable.js";import{setLabelsForClassBreaks as t}from"../../renderers/support/utils.js";import m from"../../renderers/visualVariables/SizeVariable.js";import{TransformationType as u}from"../../renderers/visualVariables/support/sizeVariableUtils.js";import p from"../heuristics/ageUnit.js";import d from"../heuristics/outline.js";import y from"../heuristics/sizeRange.js";import{getSummaryStatistics as c,getClassBreaks as b,formatDate as f,updateAgeRendererAuthoringInfoVV as w,verifyBasicFieldValidity as v,getDataRange as h,getSizeRangeForAxis as z,createSymbol as g,getSymbolOutlineFromScheme as T,getSymbolSizeFromScheme as x,getBasemapInfo as S}from"./support/utils.js";import{getAgeExpressions as E,verifyDates as V,supportedAgeUnits as j}from"../statistics/support/ageUtils.js";import{getFieldsList as k,getNormalizationType as I}from"../support/utils.js";import{createLayerAdapter as q,featureCapableLayerTypes as O,getLayerTypeLabels as F}from"../support/adapters/support/layerUtils.js";import{c as U,g as D}from"../../chunks/size.js";const M="date",R=2**53-1;async function B(e){if(!(e&&e.layer&&(e.field||e.valueExpression||e.sqlExpression)))throw new i("size-visual-variable:missing-parameters","'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required");if(e.valueExpression&&!e.sqlExpression&&!e.view)throw new i("size-visual-variable:missing-parameters","View is required when 'valueExpression' is specified");const s={...e};if("90-10"===s.theme)throw new i("size-visual-variable:not-supported","Only 'high-to-low', 'above', 'below' themes are supported.");const l=q(s.layer,O);if(s.layer=l,!l)throw new i("size-visual-variable:invalid-parameters","'layer' must be one of these types: "+F(O).join(", "));"height"===s.axis&&(s.sizeOptimizationEnabled=!1);const n=a(s.signal)?{signal:s.signal}:null;await l.load(n);const r=l.geometryType;if("mesh"===r)throw new i("size-visual-variable:invalid-parameters","Size visualization is not applicable to layers with 'mesh' geometry type");if(s.worldScale){if("polyline"===r||"polygon"===r)throw new i("size-visual-variable:not-supported","'worldScale' sizing is not supported for polyline and polygon layers");if(!s.view||"3d"!==s.view.type)throw new i("size-visual-variable:invalid-parameters","'view' parameter should be an instance of SceneView when 'worldScale' parameter is true")}const o=await k({field:s.field,normalizationField:s.normalizationField,valueExpression:s.valueExpression}),t=v(l,o,"size-visual-variable:invalid-parameters");if(t)throw t;return s}async function C(e){if(!(e&&e.layer&&(e.field||e.valueExpression||e.sqlExpression)))throw new i("size-continuous-renderer:missing-parameters","'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required");if(e.valueExpression&&!e.sqlExpression&&!e.view)throw new i("size-continuous-renderer:missing-parameters","View is required when 'valueExpression' is specified");const s={...e};s.symbolType=s.symbolType||"2d",s.defaultSymbolEnabled=null==s.defaultSymbolEnabled||s.defaultSymbolEnabled;const l=q(s.layer,O);if(s.layer=l,!l)throw new i("size-continuous-renderer:invalid-parameters","'layer' must be one of these types: "+F(O).join(", "));const n=a(s.signal)?{signal:s.signal}:null;await l.load(n);const r=l.geometryType,o=s.symbolType.includes("3d");if(s.outlineOptimizationEnabled="polygon"===r&&s.outlineOptimizationEnabled,"mesh"===r)throw new i("size-continuous-renderer:invalid-parameters","Size visualization is not applicable to layers with 'mesh' geometry type");if(o&&("polyline"===r||"polygon"===r))throw new i("size-continuous-renderer:not-supported","3d symbols are not supported for polyline and polygon layers");if(s.symbolType.includes("3d-volumetric")&&(!s.view||"3d"!==s.view.type))throw new i("size-continuous-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or 3d-volumetric-uniform");const t=await k({field:s.field,normalizationField:s.normalizationField,valueExpression:s.valueExpression}),m=v(l,t,"size-continuous-renderer:invalid-parameters");if(m)throw m;return s}async function A(e){if(!e||!e.layer||!e.field&&!e.valueExpression)throw new i("size-class-breaks-renderer:missing-parameters","'layer' and 'field' or 'valueExpression' parameters are required");if(e.valueExpression&&!e.view)throw new i("size-class-breaks-renderer:missing-parameters","View is required when 'valueExpression' is specified");const s={...e};s.symbolType=s.symbolType||"2d",s.defaultSymbolEnabled=null==s.defaultSymbolEnabled||s.defaultSymbolEnabled,s.classificationMethod=s.classificationMethod||"equal-interval",s.normalizationType=I(s);const l=q(s.layer,O);if(s.layer=l,!l)throw new i("size-class-breaks-renderer:invalid-parameters","'layer' must be one of these types: "+F(O).join(", "));if(!(null!=s.minValue&&null!=s.maxValue)&&(null!=s.minValue||null!=s.maxValue))throw new i("size-class-breaks-renderer:missing-parameters","Both 'minValue' and 'maxValue' are required when specifying custom data range");const n=a(s.signal)?{signal:s.signal}:null;await l.load(n);const r=l.geometryType,o=s.symbolType.includes("3d");if(s.outlineOptimizationEnabled="polygon"===r&&s.outlineOptimizationEnabled,"mesh"===r)throw new i("size-class-breaks-renderer:invalid-parameters","Size visualization is not applicable to layers with 'mesh' geometry type");if(o&&("polyline"===r||"polygon"===r))throw new i("size-class-breaks-renderer:not-supported","3d symbols are not supported for polyline and polygon layers");if(s.symbolType.includes("3d-volumetric")&&(!s.view||"3d"!==s.view.type))throw new i("size-class-breaks-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or 3d-volumetric-uniform");const t=await k({field:s.field,normalizationField:s.normalizationField}),m=v(l,t,"size-class-breaks-renderer:invalid-parameters");if(m)throw m;return s}function W(e){const i={...e};delete i.basemap,delete i.sizeScheme,delete i.legendOptions,delete i.symbolType,delete i.defaultSymbolEnabled;const a=i;return a.analyzeData=!(null!=i.minValue&&null!=i.maxValue),a}function L(e){const i={...e},a=i.symbolType.includes("3d-volumetric"),s=i;return s.worldScale=a,a&&(s.axis="3d-volumetric-uniform"===i.symbolType?"all":"height"),delete i.symbolType,delete i.defaultSymbolEnabled,s}async function P(e){if(!(e&&e.layer&&e.view&&e.startTime&&e.endTime))throw new i("size-age-renderer:missing-parameters","'layer', 'view', 'startTime', 'endTime' parameters are required");const s={...e};s.symbolType=s.symbolType||"2d",s.defaultSymbolEnabled=null==s.defaultSymbolEnabled||s.defaultSymbolEnabled;const l=q(s.layer,O);if(s.layer=l,!l)throw new i("size-age-renderer:invalid-parameters","'layer' must be one of these types: "+F(O).join(", "));const n=a(s.signal)?{signal:s.signal}:null;await l.load(n);const r=l.geometryType,o=s.symbolType.includes("3d");if(s.outlineOptimizationEnabled="polygon"===r&&s.outlineOptimizationEnabled,"mesh"===r)throw new i("size-age-renderer:invalid-parameters","Size visualization is not applicable to layers with 'mesh' geometry type");if(o&&("polyline"===r||"polygon"===r))throw new i("size-age-renderer:not-supported","3d symbols are not supported for polyline and polygon layers");if(s.symbolType.includes("3d-volumetric")&&(!s.view||"3d"!==s.view.type))throw new i("size-age-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or 3d-volumetric-uniform");const t=V(l,s.startTime,s.endTime,"size-age-renderer:invalid-parameters");if(t)throw t;if(s.unit&&!j.includes(s.unit))throw new i("size-age-renderer:invalid-unit",`Supported units are: ${j.join(", ")}`);return s}async function $(e){let i=e.sizeScheme,s=null,l=null;const n=await S(e.basemap,e.view);if(s=a(n.basemapId)?n.basemapId:null,l=a(n.basemapTheme)?n.basemapTheme:null,i)return{scheme:U(i),basemapId:s,basemapTheme:l};const r=D({basemap:s,basemapTheme:l,geometryType:e.geometryType,worldScale:e.worldScale,view:e.view});return r&&(i=r.primaryScheme,s=r.basemapId,l=r.basemapTheme),{scheme:i,basemapId:s,basemapTheme:l}}function H(e,i){let a;switch(i){case"point":case"multipoint":{const i=e;a=[i.minSize,i.maxSize];break}case"polyline":{const i=e;a=[i.minWidth,i.maxWidth];break}case"polygon":{const i=e;a=[i.marker.minSize,i.marker.maxSize];break}}return a}function _(e,i){e.transformationType===u.ClampedLinear&&"below"===i&&e.flipSizes()}async function G(e,a,s,l){const{theme:n,field:t,normalizationField:u,minValue:p,maxValue:d,axis:y}=e,c=e.layer,b=t&&!("function"==typeof t)?c.getField(t):null,f=b&&b.type===M,w=c.geometryType,v=await $({basemap:e.basemap,geometryType:w,sizeScheme:e.sizeScheme,worldScale:e.worldScale,view:e.view}),g=v.scheme;if(!g)throw new i("size-visual-variable:insufficient-info","Unable to find size scheme");const T=l&&[l.minSize,l.maxSize]||H(g,w),{minDataValue:x,maxDataValue:S,defaultValuesUsed:E}=h(a,s,n,f,"above"===n||"below"===n),V=[],j="height"===y,k=j?y:void 0,I=T[0];let q=T[1];if(j&&"number"==typeof I&&"number"==typeof q){const e=z({minSize:I,maxSize:q},k);V.push(new m({axis:"width-and-depth",minSize:e.minSize})),q=e.maxSize}const O=new m({field:t,valueExpression:e.valueExpression,valueExpressionTitle:e.valueExpressionTitle,valueUnit:"unknown",normalizationField:u,axis:k,minSize:I,maxSize:q,minDataValue:x,maxDataValue:S,legendOptions:e.legendOptions});_(O,n),V.unshift(O);const F=new o({type:"size",theme:n,minSliderValue:null!=p?p:a.min,maxSliderValue:null!=d?d:a.max}),D=new r({visualVariables:[F]});return{basemapId:v.basemapId,basemapTheme:v.basemapTheme,visualVariables:V,statistics:a,defaultValuesUsed:E,sizeScheme:U(g),authoringInfo:D}}async function J(i,a,s,n,r){const o=await l("esri/smartMapping/t9n/smartMapping"),t=r.layer,m=r.field,u=t.geometryType,p=r.defaultSymbolEnabled,d=U(i.sizeScheme),y="polygon"===u,c=y?d.marker:d,b=y?d.background:null,f=y?"point":u,w=a&&a.opacity,v=i.visualVariables.map((e=>e.clone()));a&&a.visualVariables&&a.visualVariables.length&&v.push(...a.visualVariables.map((e=>e.clone())));return{renderer:new e({backgroundFillSymbol:b&&g(u,{type:r.symbolType,color:b.color,outline:T(b,u,w)}),classBreakInfos:[{minValue:-R,maxValue:R,symbol:g(f,{type:r.symbolType,color:c.color,size:x(c,f),outline:T(c,f,w)})}],defaultLabel:p?o.other:null,defaultSymbol:p?g(f,{type:r.symbolType,color:c.noDataColor,size:x(c,f,!0),outline:T(c,f,w)}):null,field:m,normalizationField:n,normalizationType:s,valueExpression:r.valueExpression,valueExpressionTitle:r.valueExpressionTitle,visualVariables:v,authoringInfo:i.authoringInfo&&i.authoringInfo.clone()}),visualVariables:i.visualVariables.map((e=>e.clone())),statistics:i.statistics,defaultValuesUsed:i.defaultValuesUsed,sizeScheme:U(i.sizeScheme),basemapId:i.basemapId,basemapTheme:i.basemapTheme}}function K(e,i){const a=s(e.minSize),l=(s(e.maxSize)-a)/(i>=4?i-1:i),n=[];for(let s=0;s<i;s++)n.push(a+l*s);return n}async function N(i,a){const s=await l("esri/smartMapping/t9n/smartMapping"),n=i.layer,o=i.defaultSymbolEnabled,m=n.geometryType,u="polygon"===m,p=i.symbolType.includes("3d-volumetric"),d=await $({basemap:i.basemap,geometryType:m,sizeScheme:i.sizeScheme,worldScale:p,view:i.view}),y=d.scheme,{result:c,outlineResult:b}=a,f=c.classBreakInfos,w=i.classificationMethod,v=i.normalizationType,h=u?y.marker:y,S=u?y.background:null,E=u?"point":m,V=H(h,E),j=p&&z({minSize:V[0],maxSize:V[1]},"height"),k=K({minSize:V[0],maxSize:p?j.maxSize:V[1]},f.length),I=b&&b.opacity,q=new e({backgroundFillSymbol:S&&g(m,{type:i.symbolType,color:S.color,outline:T(S,m,I)}),classBreakInfos:f.map(((e,a)=>({minValue:e.minValue,maxValue:e.maxValue,symbol:g(E,{type:i.symbolType,color:h.color,size:k[a],widthAndDepth:j&&j.minSize,outline:T(h,E,I)}),label:e.label}))),defaultLabel:o?s.other:null,defaultSymbol:o?g(E,{type:i.symbolType,color:h.noDataColor,size:x(h,E,!0),widthAndDepth:j&&j.minSize,outline:T(h,E,I)}):null,field:i.field,valueExpression:i.valueExpression,valueExpressionTitle:i.valueExpressionTitle,normalizationType:v,normalizationField:i.normalizationField,normalizationTotal:"percent-of-total"===v?c.normalizationTotal:void 0,legendOptions:i.legendOptions,authoringInfo:new r({type:"class-breaks-size",classificationMethod:w,standardDeviationInterval:i.standardDeviationInterval})});return"standard-deviation"!==w&&t({classBreakInfos:q.classBreakInfos,classificationMethod:w,normalizationType:v,round:!0}),b&&b.visualVariables&&b.visualVariables.length&&(q.visualVariables=b.visualVariables.map((e=>e.clone()))),{renderer:q,sizeScheme:U(y),classBreaksResult:c,defaultValuesUsed:a.defaultValuesUsed,basemapId:d.basemapId,basemapTheme:d.basemapTheme}}async function Q(e){const i=await B(e),{view:a,field:s,valueExpression:l,minValue:n,maxValue:r,layer:o,normalizationField:t,signal:m,statistics:u}=i,p=t?"field":void 0,[d,f,w]=await Promise.all([u||c({layer:o,field:s,valueExpression:l,sqlExpression:i.sqlExpression,sqlWhere:i.sqlWhere,normalizationType:p,normalizationField:t,minValue:n,maxValue:r,view:a,signal:m}),"90-10"===i.theme?b({layer:o,field:s,normalizationField:t,valueExpression:l,classificationMethod:"quantile",minValue:n,maxValue:r,view:a,numClasses:10,signal:m}):null,i.sizeOptimizationEnabled?y({view:a,layer:o,signal:m}):null]);return G(i,d,null==f?void 0:f.result,w)}async function X(e){const i=await C(e),a={layer:i.layer,view:i.view,signal:i.signal},[s,l]=await Promise.all([Q(L(i)),i.outlineOptimizationEnabled?d(a):null]),n=i.normalizationField;return J(s,l,n?"field":void 0,n,i)}async function Y(e){const i=await A(e);return N(i,await b(W(i),i.outlineOptimizationEnabled))}async function Z(e){const i=await P(e),{defaultSymbolEnabled:a,view:s,startTime:r,endTime:o,symbolType:t,minValue:m,maxValue:u,signal:y}=i,c=i.layer,b={layer:i.layer,view:i.view,signal:y},[v,h]=await Promise.all([i.unit?{unit:i.unit,statistics:null,valueExpression:null}:await p({view:s,layer:c,startTime:r,endTime:o,minValue:m,maxValue:u,signal:y}),i.outlineOptimizationEnabled?d(b):null]),{unit:z,statistics:g}=v,T=E({layer:c,startTime:r,endTime:o,unit:z}).valueExpression,x=await l("esri/smartMapping/t9n/smartMapping"),S=n(x[`ageInfo_${z}`],{unit:z,startTime:f(r,z,c),endTime:f(o,z,c)}),V=await Q(L({layer:c,basemap:i.basemap,valueExpression:T,symbolType:t,statistics:g,legendOptions:{title:S},theme:i.theme,sizeScheme:i.sizeScheme,sizeOptimizationEnabled:i.sizeOptimizationEnabled,view:i.view,minValue:m,maxValue:u,signal:y})),j={layer:c,valueExpression:T,defaultSymbolEnabled:a,symbolType:t},k=await J(V,h,null,null,j);return k.renderer.authoringInfo.visualVariables.forEach((e=>w(e,r,o,z))),{...k,unit:z}}export{Z as createAgeRenderer,Y as createClassBreaksRenderer,X as createContinuousRenderer,Q as createVisualVariables};
5
+ import e from"../../renderers/ClassBreaksRenderer.js";import"../../renderers/DictionaryRenderer.js";import"../../renderers/DotDensityRenderer.js";import"../../renderers/HeatmapRenderer.js";import"../../renderers/Renderer.js";import"../../renderers/SimpleRenderer.js";import"../../renderers/UniqueValueRenderer.js";import"../../renderers/support/jsonUtils.js";import i from"../../core/Error.js";import{isSome as a}from"../../core/maybe.js";import{toPt as s}from"../../core/screenUtils.js";import{fetchMessageBundle as l}from"../../intl/messages.js";import{substitute as n}from"../../intl/substitute.js";import r from"../../renderers/support/AuthoringInfo.js";import o from"../../renderers/support/AuthoringInfoVisualVariable.js";import{setLabelsForClassBreaks as t}from"../../renderers/support/utils.js";import m from"../../renderers/visualVariables/SizeVariable.js";import{TransformationType as u}from"../../renderers/visualVariables/support/sizeVariableUtils.js";import p from"../heuristics/ageUnit.js";import d from"../heuristics/outline.js";import y from"../heuristics/sizeRange.js";import{getSummaryStatistics as c,getClassBreaks as b,formatDate as f,updateAgeRendererAuthoringInfoVV as w,verifyBasicFieldValidity as v,getDataRange as h,getSizeRangeForAxis as z,createSymbol as g,getSymbolOutlineFromScheme as T,getSymbolSizeFromScheme as x,getBasemapInfo as S}from"./support/utils.js";import{getAgeExpressions as E,verifyDates as V,supportedAgeUnits as j}from"../statistics/support/ageUtils.js";import{getFieldsList as k,getNormalizationType as I}from"../support/utils.js";import{createLayerAdapter as q,featureCapableLayerTypes as O,getLayerTypeLabels as F}from"../support/adapters/support/layerUtils.js";import{cloneScheme as U,getSchemes as D}from"../symbology/size.js";const M="date",R=2**53-1;async function B(e){if(!(e&&e.layer&&(e.field||e.valueExpression||e.sqlExpression)))throw new i("size-visual-variable:missing-parameters","'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required");if(e.valueExpression&&!e.sqlExpression&&!e.view)throw new i("size-visual-variable:missing-parameters","View is required when 'valueExpression' is specified");const s={...e};if("90-10"===s.theme)throw new i("size-visual-variable:not-supported","Only 'high-to-low', 'above', 'below' themes are supported.");const l=q(s.layer,O);if(s.layer=l,!l)throw new i("size-visual-variable:invalid-parameters","'layer' must be one of these types: "+F(O).join(", "));"height"===s.axis&&(s.sizeOptimizationEnabled=!1);const n=a(s.signal)?{signal:s.signal}:null;await l.load(n);const r=l.geometryType;if("mesh"===r)throw new i("size-visual-variable:invalid-parameters","Size visualization is not applicable to layers with 'mesh' geometry type");if(s.worldScale){if("polyline"===r||"polygon"===r)throw new i("size-visual-variable:not-supported","'worldScale' sizing is not supported for polyline and polygon layers");if(!s.view||"3d"!==s.view.type)throw new i("size-visual-variable:invalid-parameters","'view' parameter should be an instance of SceneView when 'worldScale' parameter is true")}const o=await k({field:s.field,normalizationField:s.normalizationField,valueExpression:s.valueExpression}),t=v(l,o,"size-visual-variable:invalid-parameters");if(t)throw t;return s}async function C(e){if(!(e&&e.layer&&(e.field||e.valueExpression||e.sqlExpression)))throw new i("size-continuous-renderer:missing-parameters","'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required");if(e.valueExpression&&!e.sqlExpression&&!e.view)throw new i("size-continuous-renderer:missing-parameters","View is required when 'valueExpression' is specified");const s={...e};s.symbolType=s.symbolType||"2d",s.defaultSymbolEnabled=null==s.defaultSymbolEnabled||s.defaultSymbolEnabled;const l=q(s.layer,O);if(s.layer=l,!l)throw new i("size-continuous-renderer:invalid-parameters","'layer' must be one of these types: "+F(O).join(", "));const n=a(s.signal)?{signal:s.signal}:null;await l.load(n);const r=l.geometryType,o=s.symbolType.includes("3d");if(s.outlineOptimizationEnabled="polygon"===r&&s.outlineOptimizationEnabled,"mesh"===r)throw new i("size-continuous-renderer:invalid-parameters","Size visualization is not applicable to layers with 'mesh' geometry type");if(o&&("polyline"===r||"polygon"===r))throw new i("size-continuous-renderer:not-supported","3d symbols are not supported for polyline and polygon layers");if(s.symbolType.includes("3d-volumetric")&&(!s.view||"3d"!==s.view.type))throw new i("size-continuous-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or 3d-volumetric-uniform");const t=await k({field:s.field,normalizationField:s.normalizationField,valueExpression:s.valueExpression}),m=v(l,t,"size-continuous-renderer:invalid-parameters");if(m)throw m;return s}async function A(e){if(!e||!e.layer||!e.field&&!e.valueExpression)throw new i("size-class-breaks-renderer:missing-parameters","'layer' and 'field' or 'valueExpression' parameters are required");if(e.valueExpression&&!e.view)throw new i("size-class-breaks-renderer:missing-parameters","View is required when 'valueExpression' is specified");const s={...e};s.symbolType=s.symbolType||"2d",s.defaultSymbolEnabled=null==s.defaultSymbolEnabled||s.defaultSymbolEnabled,s.classificationMethod=s.classificationMethod||"equal-interval",s.normalizationType=I(s);const l=q(s.layer,O);if(s.layer=l,!l)throw new i("size-class-breaks-renderer:invalid-parameters","'layer' must be one of these types: "+F(O).join(", "));if(!(null!=s.minValue&&null!=s.maxValue)&&(null!=s.minValue||null!=s.maxValue))throw new i("size-class-breaks-renderer:missing-parameters","Both 'minValue' and 'maxValue' are required when specifying custom data range");const n=a(s.signal)?{signal:s.signal}:null;await l.load(n);const r=l.geometryType,o=s.symbolType.includes("3d");if(s.outlineOptimizationEnabled="polygon"===r&&s.outlineOptimizationEnabled,"mesh"===r)throw new i("size-class-breaks-renderer:invalid-parameters","Size visualization is not applicable to layers with 'mesh' geometry type");if(o&&("polyline"===r||"polygon"===r))throw new i("size-class-breaks-renderer:not-supported","3d symbols are not supported for polyline and polygon layers");if(s.symbolType.includes("3d-volumetric")&&(!s.view||"3d"!==s.view.type))throw new i("size-class-breaks-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or 3d-volumetric-uniform");const t=await k({field:s.field,normalizationField:s.normalizationField}),m=v(l,t,"size-class-breaks-renderer:invalid-parameters");if(m)throw m;return s}function W(e){const i={...e};delete i.basemap,delete i.sizeScheme,delete i.legendOptions,delete i.symbolType,delete i.defaultSymbolEnabled;const a=i;return a.analyzeData=!(null!=i.minValue&&null!=i.maxValue),a}function L(e){const i={...e},a=i.symbolType.includes("3d-volumetric"),s=i;return s.worldScale=a,a&&(s.axis="3d-volumetric-uniform"===i.symbolType?"all":"height"),delete i.symbolType,delete i.defaultSymbolEnabled,s}async function P(e){if(!(e&&e.layer&&e.view&&e.startTime&&e.endTime))throw new i("size-age-renderer:missing-parameters","'layer', 'view', 'startTime', 'endTime' parameters are required");const s={...e};s.symbolType=s.symbolType||"2d",s.defaultSymbolEnabled=null==s.defaultSymbolEnabled||s.defaultSymbolEnabled;const l=q(s.layer,O);if(s.layer=l,!l)throw new i("size-age-renderer:invalid-parameters","'layer' must be one of these types: "+F(O).join(", "));const n=a(s.signal)?{signal:s.signal}:null;await l.load(n);const r=l.geometryType,o=s.symbolType.includes("3d");if(s.outlineOptimizationEnabled="polygon"===r&&s.outlineOptimizationEnabled,"mesh"===r)throw new i("size-age-renderer:invalid-parameters","Size visualization is not applicable to layers with 'mesh' geometry type");if(o&&("polyline"===r||"polygon"===r))throw new i("size-age-renderer:not-supported","3d symbols are not supported for polyline and polygon layers");if(s.symbolType.includes("3d-volumetric")&&(!s.view||"3d"!==s.view.type))throw new i("size-age-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or 3d-volumetric-uniform");const t=V(l,s.startTime,s.endTime,"size-age-renderer:invalid-parameters");if(t)throw t;if(s.unit&&!j.includes(s.unit))throw new i("size-age-renderer:invalid-unit",`Supported units are: ${j.join(", ")}`);return s}async function $(e){let i=e.sizeScheme,s=null,l=null;const n=await S(e.basemap,e.view);if(s=a(n.basemapId)?n.basemapId:null,l=a(n.basemapTheme)?n.basemapTheme:null,i)return{scheme:U(i),basemapId:s,basemapTheme:l};const r=D({basemap:s,basemapTheme:l,geometryType:e.geometryType,worldScale:e.worldScale,view:e.view});return r&&(i=r.primaryScheme,s=r.basemapId,l=r.basemapTheme),{scheme:i,basemapId:s,basemapTheme:l}}function H(e,i){let a;switch(i){case"point":case"multipoint":{const i=e;a=[i.minSize,i.maxSize];break}case"polyline":{const i=e;a=[i.minWidth,i.maxWidth];break}case"polygon":{const i=e;a=[i.marker.minSize,i.marker.maxSize];break}}return a}function _(e,i){e.transformationType===u.ClampedLinear&&"below"===i&&e.flipSizes()}async function G(e,a,s,l){const{theme:n,field:t,normalizationField:u,minValue:p,maxValue:d,axis:y}=e,c=e.layer,b=t&&!("function"==typeof t)?c.getField(t):null,f=b&&b.type===M,w=c.geometryType,v=await $({basemap:e.basemap,geometryType:w,sizeScheme:e.sizeScheme,worldScale:e.worldScale,view:e.view}),g=v.scheme;if(!g)throw new i("size-visual-variable:insufficient-info","Unable to find size scheme");const T=l&&[l.minSize,l.maxSize]||H(g,w),{minDataValue:x,maxDataValue:S,defaultValuesUsed:E}=h(a,s,n,f,"above"===n||"below"===n),V=[],j="height"===y,k=j?y:void 0,I=T[0];let q=T[1];if(j&&"number"==typeof I&&"number"==typeof q){const e=z({minSize:I,maxSize:q},k);V.push(new m({axis:"width-and-depth",minSize:e.minSize})),q=e.maxSize}const O=new m({field:t,valueExpression:e.valueExpression,valueExpressionTitle:e.valueExpressionTitle,valueUnit:"unknown",normalizationField:u,axis:k,minSize:I,maxSize:q,minDataValue:x,maxDataValue:S,legendOptions:e.legendOptions});_(O,n),V.unshift(O);const F=new o({type:"size",theme:n,minSliderValue:null!=p?p:a.min,maxSliderValue:null!=d?d:a.max}),D=new r({visualVariables:[F]});return{basemapId:v.basemapId,basemapTheme:v.basemapTheme,visualVariables:V,statistics:a,defaultValuesUsed:E,sizeScheme:U(g),authoringInfo:D}}async function J(i,a,s,n,r){const o=await l("esri/smartMapping/t9n/smartMapping"),t=r.layer,m=r.field,u=t.geometryType,p=r.defaultSymbolEnabled,d=U(i.sizeScheme),y="polygon"===u,c=y?d.marker:d,b=y?d.background:null,f=y?"point":u,w=a&&a.opacity,v=i.visualVariables.map((e=>e.clone()));a&&a.visualVariables&&a.visualVariables.length&&v.push(...a.visualVariables.map((e=>e.clone())));return{renderer:new e({backgroundFillSymbol:b&&g(u,{type:r.symbolType,color:b.color,outline:T(b,u,w)}),classBreakInfos:[{minValue:-R,maxValue:R,symbol:g(f,{type:r.symbolType,color:c.color,size:x(c,f),outline:T(c,f,w)})}],defaultLabel:p?o.other:null,defaultSymbol:p?g(f,{type:r.symbolType,color:c.noDataColor,size:x(c,f,!0),outline:T(c,f,w)}):null,field:m,normalizationField:n,normalizationType:s,valueExpression:r.valueExpression,valueExpressionTitle:r.valueExpressionTitle,visualVariables:v,authoringInfo:i.authoringInfo&&i.authoringInfo.clone()}),visualVariables:i.visualVariables.map((e=>e.clone())),statistics:i.statistics,defaultValuesUsed:i.defaultValuesUsed,sizeScheme:U(i.sizeScheme),basemapId:i.basemapId,basemapTheme:i.basemapTheme}}function K(e,i){const a=s(e.minSize),l=(s(e.maxSize)-a)/(i>=4?i-1:i),n=[];for(let s=0;s<i;s++)n.push(a+l*s);return n}async function N(i,a){const s=await l("esri/smartMapping/t9n/smartMapping"),n=i.layer,o=i.defaultSymbolEnabled,m=n.geometryType,u="polygon"===m,p=i.symbolType.includes("3d-volumetric"),d=await $({basemap:i.basemap,geometryType:m,sizeScheme:i.sizeScheme,worldScale:p,view:i.view}),y=d.scheme,{result:c,outlineResult:b}=a,f=c.classBreakInfos,w=i.classificationMethod,v=i.normalizationType,h=u?y.marker:y,S=u?y.background:null,E=u?"point":m,V=H(h,E),j=p&&z({minSize:V[0],maxSize:V[1]},"height"),k=K({minSize:V[0],maxSize:p?j.maxSize:V[1]},f.length),I=b&&b.opacity,q=new e({backgroundFillSymbol:S&&g(m,{type:i.symbolType,color:S.color,outline:T(S,m,I)}),classBreakInfos:f.map(((e,a)=>({minValue:e.minValue,maxValue:e.maxValue,symbol:g(E,{type:i.symbolType,color:h.color,size:k[a],widthAndDepth:j&&j.minSize,outline:T(h,E,I)}),label:e.label}))),defaultLabel:o?s.other:null,defaultSymbol:o?g(E,{type:i.symbolType,color:h.noDataColor,size:x(h,E,!0),widthAndDepth:j&&j.minSize,outline:T(h,E,I)}):null,field:i.field,valueExpression:i.valueExpression,valueExpressionTitle:i.valueExpressionTitle,normalizationType:v,normalizationField:i.normalizationField,normalizationTotal:"percent-of-total"===v?c.normalizationTotal:void 0,legendOptions:i.legendOptions,authoringInfo:new r({type:"class-breaks-size",classificationMethod:w,standardDeviationInterval:i.standardDeviationInterval})});return"standard-deviation"!==w&&t({classBreakInfos:q.classBreakInfos,classificationMethod:w,normalizationType:v,round:!0}),b&&b.visualVariables&&b.visualVariables.length&&(q.visualVariables=b.visualVariables.map((e=>e.clone()))),{renderer:q,sizeScheme:U(y),classBreaksResult:c,defaultValuesUsed:a.defaultValuesUsed,basemapId:d.basemapId,basemapTheme:d.basemapTheme}}async function Q(e){const i=await B(e),{view:a,field:s,valueExpression:l,minValue:n,maxValue:r,layer:o,normalizationField:t,signal:m,statistics:u}=i,p=t?"field":void 0,[d,f,w]=await Promise.all([u||c({layer:o,field:s,valueExpression:l,sqlExpression:i.sqlExpression,sqlWhere:i.sqlWhere,normalizationType:p,normalizationField:t,minValue:n,maxValue:r,view:a,signal:m}),"90-10"===i.theme?b({layer:o,field:s,normalizationField:t,valueExpression:l,classificationMethod:"quantile",minValue:n,maxValue:r,view:a,numClasses:10,signal:m}):null,i.sizeOptimizationEnabled?y({view:a,layer:o,signal:m}):null]);return G(i,d,null==f?void 0:f.result,w)}async function X(e){const i=await C(e),a={layer:i.layer,view:i.view,signal:i.signal},[s,l]=await Promise.all([Q(L(i)),i.outlineOptimizationEnabled?d(a):null]),n=i.normalizationField;return J(s,l,n?"field":void 0,n,i)}async function Y(e){const i=await A(e);return N(i,await b(W(i),i.outlineOptimizationEnabled))}async function Z(e){const i=await P(e),{defaultSymbolEnabled:a,view:s,startTime:r,endTime:o,symbolType:t,minValue:m,maxValue:u,signal:y}=i,c=i.layer,b={layer:i.layer,view:i.view,signal:y},[v,h]=await Promise.all([i.unit?{unit:i.unit,statistics:null,valueExpression:null}:await p({view:s,layer:c,startTime:r,endTime:o,minValue:m,maxValue:u,signal:y}),i.outlineOptimizationEnabled?d(b):null]),{unit:z,statistics:g}=v,T=E({layer:c,startTime:r,endTime:o,unit:z}).valueExpression,x=await l("esri/smartMapping/t9n/smartMapping"),S=n(x[`ageInfo_${z}`],{unit:z,startTime:f(r,z,c),endTime:f(o,z,c)}),V=await Q(L({layer:c,basemap:i.basemap,valueExpression:T,symbolType:t,statistics:g,legendOptions:{title:S},theme:i.theme,sizeScheme:i.sizeScheme,sizeOptimizationEnabled:i.sizeOptimizationEnabled,view:i.view,minValue:m,maxValue:u,signal:y})),j={layer:c,valueExpression:T,defaultSymbolEnabled:a,symbolType:t},k=await J(V,h,null,null,j);return k.renderer.authoringInfo.visualVariables.forEach((e=>w(e,r,o,z))),{...k,unit:z}}export{Z as createAgeRenderer,Y as createClassBreaksRenderer,X as createContinuousRenderer,Q as createVisualVariables};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import"../../renderers/PointCloudClassBreaksRenderer.js";import"../../renderers/PointCloudRenderer.js";import"../../renderers/PointCloudRGBRenderer.js";import"../../renderers/PointCloudStretchRenderer.js";import e from"../../renderers/PointCloudUniqueValueRenderer.js";import"../../renderers/ClassBreaksRenderer.js";import"../../renderers/DictionaryRenderer.js";import"../../renderers/DotDensityRenderer.js";import"../../renderers/HeatmapRenderer.js";import"../../renderers/Renderer.js";import"../../renderers/SimpleRenderer.js";import r from"../../renderers/UniqueValueRenderer.js";import"../../renderers/support/jsonUtils.js";import s from"../../core/Error.js";import{clone as l}from"../../core/lang.js";import{isSome as o}from"../../core/maybe.js";import{fetchMessageBundle as i}from"../../intl/messages.js";import{LegendOptions as t}from"../../renderers/support/LegendOptions.js";import{createUniqueValueLabel as n,calculateDateFormatInterval as a}from"../../renderers/support/utils.js";import p from"../heuristics/outline.js";import u from"../heuristics/sizeRange.js";import{getPointSizeAlgorithm as m,verifyBasicFieldValidity as d,isValidPointSize as c,createColors as y,getSymbolSizeFromScheme as f,getSymbolOutlineFromScheme as b,createSymbol as h,getBasemapInfo as v}from"./support/utils.js";import g from"../statistics/uniqueValues.js";import{getFieldsList as w}from"../support/utils.js";import{createLayerAdapter as T,featureCapableLayerTypes as E,getLayerTypeLabels as j,LayerType as x}from"../support/adapters/support/layerUtils.js";import{c as I,g as V}from"../../chunks/type.js";const z="date";async function M(e){if(!e||!e.layer||!e.field&&!e.valueExpression)throw new s("type-renderer:missing-parameters","'layer' and 'field' or 'valueExpression' parameters are required");if(e.valueExpression&&!e.view)throw new s("type-renderer:missing-parameters","View is required when 'valueExpression' is specified");const r={...e};r.symbolType=r.symbolType||"2d",r.numTypes=null==r.numTypes?10:r.numTypes,r.defaultSymbolEnabled=null==r.defaultSymbolEnabled||r.defaultSymbolEnabled,r.sortBy=null==r.sortBy?"count":r.sortBy,r.sortEnabled=null==r.sortEnabled||r.sortEnabled,r.statistics=l(r.statistics);const i=T(r.layer,E);if(r.layer=i,!i)throw new s("type-renderer:invalid-parameters","'layer' must be one of these types: "+j(E).join(", "));const t=o(r.signal)?{signal:r.signal}:null;await i.load(t);const n=i.geometryType;if(r.outlineOptimizationEnabled="polygon"===n&&r.outlineOptimizationEnabled,r.sizeOptimizationEnabled=("point"===n||"multipoint"===n||"polyline"===n)&&r.sizeOptimizationEnabled,"mesh"===n)r.symbolType="3d-volumetric",r.colorMixMode=r.colorMixMode||"replace",r.edgesType=r.edgesType||"none";else{if("3d-volumetric-uniform"===r.symbolType&&"point"!==n)throw new s("type-renderer:not-supported","3d-volumetric-uniform symbols are supported for point layers only");if(r.symbolType.includes("3d-volumetric")&&(!r.view||"3d"!==r.view.type))throw new s("type-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'")}const a=await w({field:r.field,valueExpression:r.valueExpression}),p=d(i,a,"type-renderer:invalid-parameters");if(p)throw p;return r}async function S(e){if(!(e&&e.layer&&e.field))throw new s("type-point-cloud-class-renderer:missing-parameters","'layer' and 'field' parameters are required");const r={...e};r.statistics=l(r.statistics);const i=[x.PointCloudLayer],t=T(r.layer,i);if(r.layer=t,r.density=r.density||25,r.size=r.size||"100%",!c(r.size))throw new s("type-point-cloud-class-renderer:invalid-parameters","Invalid 'size' parameter. It should be a string of the form '100%'");if(!t)throw new s("type-point-cloud-class-renderer:invalid-parameters","'layer' must be one of these types: "+j(i).join(", "));const n=o(r.signal)?{signal:r.signal}:null;await t.load(n);const a=await w({field:r.field}),p=d(t,a,"type-point-cloud-class-renderer:invalid-parameters");if(p)throw p;return r}async function q(e){let r=e.typeScheme,s=null,l=null;const i=await v(e.basemap,e.view);if(s=o(i.basemapId)?i.basemapId:null,l=o(i.basemapTheme)?i.basemapTheme:null,r)return{scheme:I(r),basemapId:s,basemapTheme:l};const t=V({basemap:s,basemapTheme:l,geometryType:e.geometryType,theme:e.theme,worldScale:e.worldScale,view:e.view});return t&&(r=t.primaryScheme,s=t.basemapId,l=t.basemapTheme),{scheme:r,basemapId:s,basemapTheme:l}}function R(e,r){let s;return s=e.label<r.label?-1:e.label>r.label?1:0,s}function C(e,r){let s;return s=e.value<r.value?-1:e.value>r.value?1:0,s}function O(e,r){let s=r.count-e.count;return 0===s&&(s=R(e,r)),s}function P(e,r){let s=r.count-e.count;return 0===s&&(s=C(e,r)),s}function B(e,r,s){let l;"count"===r?(l=P,s&&s.codedValues&&(l=O)):"value"===r&&(l=C,s&&s.codedValues&&(l=R)),l&&e.sort(l)}async function U(e,s,l,o){const p=await i("esri/smartMapping/t9n/smartMapping"),u=e.uniqueValueInfos,m=s.layer,d=s.field,c=d?m.getField(d):null,v=c?m.getFieldDomain(c.name):null,g=-1===s.numTypes?u.length:s.numTypes,w=m.geometryType,T=await q({basemap:s.basemap,geometryType:w,typeScheme:s.typeScheme,worldScale:s.symbolType.includes("3d-volumetric"),view:s.view}),E=T.scheme,j=new r({field:d});let x,V=-1;const M={value:null,domain:v,fieldInfo:c};if(u.forEach(((e,r)=>{M.value=e.value,e.label=n(M),null===e.value&&(V=r)})),V>-1&&(x=u.splice(V,1)[0]),!1!==s.sortEnabled&&B(u,s.sortBy,v),c&&c.type===z){const e=u.filter(((e,r)=>r<g)).map((e=>e.value));M.dateFormatInterval=a(e)}const S=l&&l.opacity;let R=y(E.colors,u.length);const C=f(E,w),O=b(E,w,S);u.forEach(((e,r)=>{M.value=e.value,e.label=n(M),e.symbol=h(w,{type:s.symbolType,color:R[r],size:C,outline:O,meshInfo:{colorMixMode:s.colorMixMode,edgesType:s.edgesType}})})),s.valueExpression&&(j.valueExpression=s.valueExpression,j.valueExpressionTitle=s.valueExpressionTitle),s.legendOptions&&(j.legendOptions=new t(s.legendOptions)),R=y(E.colors,g);for(let r=0;r<g;r++){const e=u[r];e&&j.addUniqueValueInfo({value:e.value,label:e.label,symbol:h(w,{type:s.symbolType,color:R[r],size:C,outline:O,meshInfo:{colorMixMode:s.colorMixMode,edgesType:s.edgesType}})})}s.defaultSymbolEnabled&&(j.defaultSymbol=h(w,{type:s.symbolType,color:E.noDataColor,size:C,outline:O,meshInfo:{colorMixMode:s.colorMixMode,edgesType:s.edgesType}}),j.defaultLabel=p.other),x&&(x.symbol=h(w,{type:s.symbolType,color:E.noDataColor,size:C,outline:O,meshInfo:{colorMixMode:s.colorMixMode,edgesType:s.edgesType}}),u.push(x));const P=[],U=j.uniqueValueInfos.length===u.length?-1:j.uniqueValueInfos.length;if(U>-1)for(let r=U;r<u.length;r++)P.push({...u[r]});return l&&l.visualVariables&&l.visualVariables.length&&(j.visualVariables=l.visualVariables.map((e=>e.clone()))),o&&o.minSize&&(j.visualVariables?j.visualVariables.push(o.minSize):j.visualVariables=[o.minSize]),{renderer:j,uniqueValueInfos:u,excludedUniqueValueInfos:P,typeScheme:I(E),basemapId:T.basemapId,basemapTheme:T.basemapTheme}}async function D(e,r){const s=e.uniqueValueInfos,l=await q({basemap:"gray",theme:"point-cloud-class",geometryType:"point",typeScheme:r}),o=l&&l.scheme,i="point-cloud-class"===o.theme,t=i?o.colors:y(o.colors,s.length);return B(s,"value"),s.map(((e,r)=>{const s=e.value;let l=null;return i?(l=t[s],l||(l=t[t.length-1])):l=t[r],{values:[s],color:l,label:e.label}}))}async function k(e){const r=await M(e),{layer:s,view:l,signal:o}=r,i={layer:s,field:r.field,valueExpression:r.valueExpression,returnAllCodedValues:r.returnAllCodedValues,view:l,signal:o},[t,n,a]=await Promise.all([null!=r.statistics?r.statistics:g(i),r.outlineOptimizationEnabled?p({layer:s,view:l,signal:o}):null,r.sizeOptimizationEnabled?u({layer:s,view:l,signal:o}):null]);return U(t,r,n,a)}async function A(r){const s=await S(r),l=null!=s.statistics?s.statistics:await g({layer:s.layer,field:s.field,signal:s.signal});return{renderer:new e({field:s.field,pointsPerInch:s.density,pointSizeAlgorithm:m(s.size),colorUniqueValueInfos:await D(l,s.typeScheme)})}}export{A as createPCClassRenderer,k as createRenderer};
5
+ import"../../renderers/PointCloudClassBreaksRenderer.js";import"../../renderers/PointCloudRenderer.js";import"../../renderers/PointCloudRGBRenderer.js";import"../../renderers/PointCloudStretchRenderer.js";import e from"../../renderers/PointCloudUniqueValueRenderer.js";import"../../renderers/ClassBreaksRenderer.js";import"../../renderers/DictionaryRenderer.js";import"../../renderers/DotDensityRenderer.js";import"../../renderers/HeatmapRenderer.js";import"../../renderers/Renderer.js";import"../../renderers/SimpleRenderer.js";import r from"../../renderers/UniqueValueRenderer.js";import"../../renderers/support/jsonUtils.js";import s from"../../core/Error.js";import{clone as l}from"../../core/lang.js";import{isSome as o}from"../../core/maybe.js";import{fetchMessageBundle as i}from"../../intl/messages.js";import{LegendOptions as t}from"../../renderers/support/LegendOptions.js";import{createUniqueValueLabel as n,calculateDateFormatInterval as a}from"../../renderers/support/utils.js";import p from"../heuristics/outline.js";import u from"../heuristics/sizeRange.js";import{getPointSizeAlgorithm as m,verifyBasicFieldValidity as d,isValidPointSize as c,createColors as y,getSymbolSizeFromScheme as f,getSymbolOutlineFromScheme as b,createSymbol as h,getBasemapInfo as v}from"./support/utils.js";import g from"../statistics/uniqueValues.js";import{getFieldsList as w}from"../support/utils.js";import{createLayerAdapter as T,featureCapableLayerTypes as E,getLayerTypeLabels as j,LayerType as x}from"../support/adapters/support/layerUtils.js";import{cloneScheme as I,getSchemes as V}from"../symbology/type.js";const z="date";async function M(e){if(!e||!e.layer||!e.field&&!e.valueExpression)throw new s("type-renderer:missing-parameters","'layer' and 'field' or 'valueExpression' parameters are required");if(e.valueExpression&&!e.view)throw new s("type-renderer:missing-parameters","View is required when 'valueExpression' is specified");const r={...e};r.symbolType=r.symbolType||"2d",r.numTypes=null==r.numTypes?10:r.numTypes,r.defaultSymbolEnabled=null==r.defaultSymbolEnabled||r.defaultSymbolEnabled,r.sortBy=null==r.sortBy?"count":r.sortBy,r.sortEnabled=null==r.sortEnabled||r.sortEnabled,r.statistics=l(r.statistics);const i=T(r.layer,E);if(r.layer=i,!i)throw new s("type-renderer:invalid-parameters","'layer' must be one of these types: "+j(E).join(", "));const t=o(r.signal)?{signal:r.signal}:null;await i.load(t);const n=i.geometryType;if(r.outlineOptimizationEnabled="polygon"===n&&r.outlineOptimizationEnabled,r.sizeOptimizationEnabled=("point"===n||"multipoint"===n||"polyline"===n)&&r.sizeOptimizationEnabled,"mesh"===n)r.symbolType="3d-volumetric",r.colorMixMode=r.colorMixMode||"replace",r.edgesType=r.edgesType||"none";else{if("3d-volumetric-uniform"===r.symbolType&&"point"!==n)throw new s("type-renderer:not-supported","3d-volumetric-uniform symbols are supported for point layers only");if(r.symbolType.includes("3d-volumetric")&&(!r.view||"3d"!==r.view.type))throw new s("type-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'")}const a=await w({field:r.field,valueExpression:r.valueExpression}),p=d(i,a,"type-renderer:invalid-parameters");if(p)throw p;return r}async function S(e){if(!(e&&e.layer&&e.field))throw new s("type-point-cloud-class-renderer:missing-parameters","'layer' and 'field' parameters are required");const r={...e};r.statistics=l(r.statistics);const i=[x.PointCloudLayer],t=T(r.layer,i);if(r.layer=t,r.density=r.density||25,r.size=r.size||"100%",!c(r.size))throw new s("type-point-cloud-class-renderer:invalid-parameters","Invalid 'size' parameter. It should be a string of the form '100%'");if(!t)throw new s("type-point-cloud-class-renderer:invalid-parameters","'layer' must be one of these types: "+j(i).join(", "));const n=o(r.signal)?{signal:r.signal}:null;await t.load(n);const a=await w({field:r.field}),p=d(t,a,"type-point-cloud-class-renderer:invalid-parameters");if(p)throw p;return r}async function q(e){let r=e.typeScheme,s=null,l=null;const i=await v(e.basemap,e.view);if(s=o(i.basemapId)?i.basemapId:null,l=o(i.basemapTheme)?i.basemapTheme:null,r)return{scheme:I(r),basemapId:s,basemapTheme:l};const t=V({basemap:s,basemapTheme:l,geometryType:e.geometryType,theme:e.theme,worldScale:e.worldScale,view:e.view});return t&&(r=t.primaryScheme,s=t.basemapId,l=t.basemapTheme),{scheme:r,basemapId:s,basemapTheme:l}}function R(e,r){let s;return s=e.label<r.label?-1:e.label>r.label?1:0,s}function C(e,r){let s;return s=e.value<r.value?-1:e.value>r.value?1:0,s}function O(e,r){let s=r.count-e.count;return 0===s&&(s=R(e,r)),s}function P(e,r){let s=r.count-e.count;return 0===s&&(s=C(e,r)),s}function B(e,r,s){let l;"count"===r?(l=P,s&&s.codedValues&&(l=O)):"value"===r&&(l=C,s&&s.codedValues&&(l=R)),l&&e.sort(l)}async function U(e,s,l,o){const p=await i("esri/smartMapping/t9n/smartMapping"),u=e.uniqueValueInfos,m=s.layer,d=s.field,c=d?m.getField(d):null,v=c?m.getFieldDomain(c.name):null,g=-1===s.numTypes?u.length:s.numTypes,w=m.geometryType,T=await q({basemap:s.basemap,geometryType:w,typeScheme:s.typeScheme,worldScale:s.symbolType.includes("3d-volumetric"),view:s.view}),E=T.scheme,j=new r({field:d});let x,V=-1;const M={value:null,domain:v,fieldInfo:c};if(u.forEach(((e,r)=>{M.value=e.value,e.label=n(M),null===e.value&&(V=r)})),V>-1&&(x=u.splice(V,1)[0]),!1!==s.sortEnabled&&B(u,s.sortBy,v),c&&c.type===z){const e=u.filter(((e,r)=>r<g)).map((e=>e.value));M.dateFormatInterval=a(e)}const S=l&&l.opacity;let R=y(E.colors,u.length);const C=f(E,w),O=b(E,w,S);u.forEach(((e,r)=>{M.value=e.value,e.label=n(M),e.symbol=h(w,{type:s.symbolType,color:R[r],size:C,outline:O,meshInfo:{colorMixMode:s.colorMixMode,edgesType:s.edgesType}})})),s.valueExpression&&(j.valueExpression=s.valueExpression,j.valueExpressionTitle=s.valueExpressionTitle),s.legendOptions&&(j.legendOptions=new t(s.legendOptions)),R=y(E.colors,g);for(let r=0;r<g;r++){const e=u[r];e&&j.addUniqueValueInfo({value:e.value,label:e.label,symbol:h(w,{type:s.symbolType,color:R[r],size:C,outline:O,meshInfo:{colorMixMode:s.colorMixMode,edgesType:s.edgesType}})})}s.defaultSymbolEnabled&&(j.defaultSymbol=h(w,{type:s.symbolType,color:E.noDataColor,size:C,outline:O,meshInfo:{colorMixMode:s.colorMixMode,edgesType:s.edgesType}}),j.defaultLabel=p.other),x&&(x.symbol=h(w,{type:s.symbolType,color:E.noDataColor,size:C,outline:O,meshInfo:{colorMixMode:s.colorMixMode,edgesType:s.edgesType}}),u.push(x));const P=[],U=j.uniqueValueInfos.length===u.length?-1:j.uniqueValueInfos.length;if(U>-1)for(let r=U;r<u.length;r++)P.push({...u[r]});return l&&l.visualVariables&&l.visualVariables.length&&(j.visualVariables=l.visualVariables.map((e=>e.clone()))),o&&o.minSize&&(j.visualVariables?j.visualVariables.push(o.minSize):j.visualVariables=[o.minSize]),{renderer:j,uniqueValueInfos:u,excludedUniqueValueInfos:P,typeScheme:I(E),basemapId:T.basemapId,basemapTheme:T.basemapTheme}}async function D(e,r){const s=e.uniqueValueInfos,l=await q({basemap:"gray",theme:"point-cloud-class",geometryType:"point",typeScheme:r}),o=l&&l.scheme,i="point-cloud-class"===o.theme,t=i?o.colors:y(o.colors,s.length);return B(s,"value"),s.map(((e,r)=>{const s=e.value;let l=null;return i?(l=t[s],l||(l=t[t.length-1])):l=t[r],{values:[s],color:l,label:e.label}}))}async function A(e){const r=await M(e),{layer:s,view:l,signal:o}=r,i={layer:s,field:r.field,valueExpression:r.valueExpression,returnAllCodedValues:r.returnAllCodedValues,view:l,signal:o},[t,n,a]=await Promise.all([null!=r.statistics?r.statistics:g(i),r.outlineOptimizationEnabled?p({layer:s,view:l,signal:o}):null,r.sizeOptimizationEnabled?u({layer:s,view:l,signal:o}):null]);return U(t,r,n,a)}async function F(r){const s=await S(r),l=null!=s.statistics?s.statistics:await g({layer:s.layer,field:s.field,signal:s.signal});return{renderer:new e({field:s.field,pointsPerInch:s.density,pointSizeAlgorithm:m(s.size),colorUniqueValueInfos:await D(l,s.typeScheme)})}}export{F as createPCClassRenderer,A as createRenderer};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import"../../Color.js";import"./support/colors.js";import"./support/symbologyUtils.js";import"./support/utils.js";export{c as cloneScheme,j as flipColors,k as getMatchingSchemes,a as getSchemeById,h as getSchemeByName,g as getSchemes,i as getSchemesByTag,f as getThemes,b as seqColorSets2019,s as seqColorSets2021,d as seqColorSetsFromPortal}from"../../chunks/color.js";
5
+ import e from"../../Color.js";import r from"./support/colors.js";import{createThemes as i,getThemesforBasemap as g,getRawSchemes as t,filterSchemesByName as l,filterSchemesByTag as a}from"./support/symbologyUtils.js";import{hasIdenticalColors as n,toWorldScale as o}from"./support/utils.js";const h={light:{color:[153,153,153,.25],width:"0.5px"},lighter:{color:[194,194,194,.25],width:"0.5px"},lightest:{color:[153,153,153,.25],width:"0.5px"}},s={lightBasemaps:{outline:h.lighter,fillOpacity:.8,width:"2px",size:"8px"},darkBasemaps:{outline:h.light,fillOpacity:.6,width:"2px",size:"8px"},grayBasemaps:{outline:h.lightest,fillOpacity:.8,width:"2px",size:"8px"}},b="#aaaaaa",d="#ffffff",y="12px",u=["highlight-red-gray-bright","highlight-purple-gray-bright","highlight-blue-bright-gray-bright","highlight-green-gray-bright","highlight-yellow-gray-bright"],p=["highlight-pink-gray-dark","highlight-purple-gray-dark","highlight-blue-bright-gray-dark","highlight-green-gray-dark","highlight-brown-gray-dark"],c=["extremes-red-gray-bright","extremes-purple-gray-bright","extremes-blue-bright-gray-bright","extremes-green-gray-bright","extremes-yellow-gray-bright"],m=["extremes-pink-gray-dark","extremes-purple-gray-dark","extremes-blue-bright-gray-dark","extremes-green-gray-dark","extremes-brown-gray-dark"],v=["highlight-orange-gray","highlight-bluegreen-gray","highlight-purple-gray","highlight-pink-gray","highlight-blue-gray","highlight-red-gray","highlight-orange-gray-dark","highlight-blue-gray-dark","highlight-orange-gray-bright","highlight-blue-gray-bright","extremes-orange-gray","extremes-bluegreen-gray","extremes-purple-gray","extremes-pink-gray","extremes-blue-gray","extremes-red-gray","extremes-orange-gray-dark","extremes-blue-gray-dark","extremes-orange-gray-bright","extremes-blue-gray-bright"].concat(u).concat(p).concat(c).concat(m),q=["seq-single-blues","seq-single-greens","seq-single-grays","seq-single-oranges","seq-single-purples","seq-single-reds","seq-multi-bugn","seq-multi-bupu","seq-multi-gnbu","seq-multi-orrd","seq-multi-pubu","seq-multi-pubugn","seq-multi-purd","seq-multi-rdpu","seq-multi-ylgn","seq-multi-ylgnbu","seq-multi-ylorbr","seq-multi-ylorrd"],w=["div-brbg","div-piyg","div-prgn","div-puor","div-rdbu","div-rdgy","div-rdylbu","div-rdylgn","div-spectral"],k=["seq-blue-bright-1","seq-green-bright-1","seq-green-bright-2","seq-green-bright-3","seq-blue-bright-2","seq-blue-bright-3","seq-blue-bright-4","seq-blue-bright-5","seq-red-purple-bright","seq-red-magenta-bright","seq-red-bright-3","seq-red-bright-4","seq-yellow-bright-1","seq-yellow-bright-2","seq-yellow-bright-3","seq-yellow-bright-4","seq-yellow-gray-bright","seq-green-gray-bright","seq-blue-gray-bright","seq-red-gray-bright","seq-gray-redbright","seq-gray-green-bright","seq-gray-blue-bright","seq-gray-purple-bright","seq-plaingray-bright","seq-greengray-bright","seq-coolgray-bright","seq-warmgray-bright","seq-yellow-green-combo-bright","seq-cyan-blue-combo-bright","seq-magenta-purple-combo-bright"],x=["div-yellow-orange-purple-bright","div-yellow-blue-bright-1","div-yellow-blue-bright-2","div-yellow-blue-bright","div-yellow-blue-bright-3","div-yellow-purple-bright-1","div-yellow-purple-bright-2","div-yellow-red-bright-1","div-yellow-red-bright-2","div-yellow-gray-bright-1","div-yellow-gray-bright-2","div-yellow-gray-bright-3","div-purple-green-bright-1","div-purple-green-bright-2","div-pink-yellow-bright-1","div-pink-yellow-bright-2","div-red-blue-bright-1","div-red-blue-bright-2","div-orange-blue-bright-3","div-orange-blue-bright-4","div-red-purple-bright","div-red-gray-bright-1","div-red-gray-bright-2","div-red-gray-bright-3","div-teal-yellow-bright-1","div-teal-yellow-bright-2","div-teal-orange-bright","div-green-red-bright","div-green-magenta-bright","div-green-purple-bright-1","div-green-purple-bright-2","div-green-blue-bright-1","div-green-blue-bright-2","div-green-gray-bright-1","div-green-gray-bright-2","div-green-gray-bright-3","div-blue-green-bright-1","div-blue-yellow-bright-2","div-blue-lightorange-bright","div-blue-orange-bright-1","div-blue-orange-bright-2","div-blue-red-bright-1","div-blue-red-bright-2","div-blue-tan-bright","div-blue-gray-bright-1","div-blue-gray-bright-2","div-blue-gray-bright-3"],f=["div-blue-yellow-brown","div-purple-yellow-brown","div-purple-beige-green","div-teal-yellow-brown","div-yellow-magenta-light","div-green-yellow-blue","div-brown-blue","div-red-green-cyan","div-yellow-slate-teal","div-blue-green-orange","div-purple-orange","div-purple-green","div-teal-orange","div-red-purple-blue","div-yellow-magenta","div-green-blue","div-blue-brown","div-red-cyan","div-yellow-teal"],B=["seq-magenta","seq-red","seq-orange","seq-yellow","seq-yellowgreen","seq-green","seq-turquoise","seq-royal","seq-blueberry","seq-purple","seq-brown","seq-blue","seq-red-darkblue","seq-purple-darkgreen","seq-blue-darkgreen","seq-green-darkpurple","seq-blue-gray","seq-magenta-light","seq-red-light","seq-orange-light","seq-mustard-light","seq-yellowgreen-light","seq-green-light","seq-aqua-light","seq-cyan-light","seq-blue-light","seq-purple-light","seq-brown-light","seq-steel-light","seq-brown-palegreen","seq-purple-pink-yellow","seq-blue-green-yellow","seq-green-avocado-lightpurple","seq-turquoise-lightgreen","seq-red-brown-white","seq-purple-pink-white","seq-blue-green-white","seq-green-avocado-white","seq-turquoise-lightgreen-white","seq-mentone-beach","seq-snowy-mountain","seq-snow-cactus","seq-subdued-red-yellow","seq-subdued-purple-blue","seq-subdued-blue-cyan","seq-subdued-green-yellow","seq-subdued-green","seq-subdued-brown-tan","seq-subdued-gray-green","seq-subdued-green-tan","seq-subdued-blue-purple","seq-subdued-pink-brown","seq-subdued-green-pink","seq-lines-blue-orange","seq-lines-purple-brown","seq-lines-green-brown","seq-lines-yellow-blue","seq-esribrand-red","seq-esribrand-red-orange","seq-esribrand-orange","seq-esribrand-orangeyellow","seq-esribrand-yellow","seq-esribrand-yellowgreen","seq-esribrand-green","seq-esribrand-greenblue","seq-esribrand-blue","seq-esribrand-violet","seq-esribrand-violetred","seq-esribrand-brown","seq-esribrand-gray"],C=["div-green-purple","div-blue-red","div-green-magenta","div-blue-orange","div-blue-yellow","div-purple-yellow","div-magenta-yellow","div-purple-green-dark","div-green-brown","div-green-gray","div-blue-white","div-red-steel","div-aqua-darkgray-red","div-green-purple-light","div-blue-red-light","div-green-purple-light-2","div-cyan-blue-light","div-blue-yellow-light","div-purple-yellow-light","div-magenta-yellow-light","div-purple-green-light","div-blue-blue","div-green-green","div-blue-green-light","div-red-green-light","div-blue-yellow-brown-light","div-blue-white-brown","div-subdued-red-green","div-subdued-red-purple","div-subdued-brown-gray","div-subdued-sepia-gray","div-subdued-blue-gray","div-subdued-tan-blue","div-subdued-green-blue","div-subdued-green-pink","div-subdued-green-brown","div-lines-blue-brown","div-lines-green-purple","div-lines-red-gray","div-lines-green-orange","div-lines-yellow-blue","div-esribrand-red-bluegreen","div-esribrand-red-blue","div-esribrand-red-violet","div-esribrand-red-violetred","div-esribrand-red-gray","div-esribrand-redorange-greenblue","div-esribrand-redorange-blue","div-esribrand-redorange-violet","div-esribrand-redorange-violetred","div-esribrand-redorange-gray","div-esribrand-orange-greenblue","div-esribrand-orange-blue","div-esribrand-orange-violet","div-esribrand-orange-violetred","div-esribrand-orange-gray","div-esribrand-orangeyellow-greenblue","div-esribrand-orangeyellow-blue","div-esribrand-orangeyellow-violet","div-esribrand-orangeyellow-violetred","div-esribrand-orangeyellow-gray","div-esribrand-yellow-green-blue","div-esribrand-yellow-blue","div-esribrand-yellow-violet","div-esribrand-yellow-violetred","div-esribrand-yellow-brown","div-esribrand-yellow-gray","div-esribrand-yellowgreen-greenblue","div-esribrand-yellowgreen-blue","div-esribrand-yellowgreen-violet","div-esribrand-yellowgreen-violetred","div-esribrand-yellowgreen-brown","div-esribrand-yellowgreen-gray","div-esribrand-green-blue","div-esribrand-green-violet","div-esribrand-green-violetred","div-esribrand-green-gray","div-esribrand-greenblue-blue","div-esribrand-greenblue-violetred","div-esribrand-greenblue-brown","div-esribrand-greenblue-gray","div-esribrand-blue-brown","div-esribrand-blue-gray","div-esribrand-violet-brown","esribrand-violet-gray","div-esribrand-violetred-gray","div-esribrand-brown-gray"],z={streets:["streets","streets-vector","streets-relief-vector","streets-navigation-vector"],light:["gray","gray-vector"],topo:["topo","topo-vector"],terrain:["terrain"],"national-geographic":["national-geographic"],oceans:["oceans"],osm:["osm"],satellite:["satellite"],hybrid:["hybrid"],dark:["dark-gray","dark-gray-vector","streets-night-vector"]},O=["extremesdiv-orange-gray-blue","extremesdiv-yellow-gray-purple","extremesdiv-red-gray-blue","extremesdiv-green-gray-purple"],D=["point-cloud-elevation-scheme","point-cloud-intensity-scheme"],G={streets:{common:s.lightBasemaps,primary:"seq-yellow-red-purple",secondary:["seq-yellow-orange-red","seq-yellow-pink-purple","seq-yellow-purple-blue","seq-yellow-green-blue","seq-teal-lightgreen-bright","seq-green-lightgray-bright","seq-teal-lightbrown-bright","seq-reds-bright","seq-purples-bright","seq-greens-bright","seq-browns-bright","seq-dark-to-light-magenta-bright","seq-dark-to-light-purple-bright","seq-dark-to-light-blue-bright","seq-dark-to-light-green-bright","seq-brown-to-tan-bright","seq-lightgray-blue-bright","seq-lightgray-green-bright","seq-lightgray-darkmagenta-bright","seq-yellow-darkblue-bright","seq-lightred-darkgray-bright"].concat(B).concat(k).concat(q).concat(D)},light:{common:s.grayBasemaps,primary:"seq-single-blues",secondary:["seq-yellow-red-purple","seq-orange-red-light","seq-yellow-orange-red","seq-yellow-pink-purple","seq-yellow-purple-blue","seq-teal-lightgreen-bright","seq-green-lightgray-bright","seq-red-lightgray-bright","seq-blue-lightgray-bright","seq-orange-lightgray-bright","seq-blue-red-yellow-bright","seq-blue-tan-bright","seq-teal-lightbrown-bright","seq-reds-bright","seq-purples-bright","seq-blues-bright","seq-greens-bright","seq-browns-bright","seq-dark-to-light-magenta-bright","seq-dark-to-light-purple-bright","seq-dark-to-light-blue-bright","seq-dark-to-light-green-bright","seq-brown-to-tan-bright","seq-lightgray-blue-bright","seq-lightgray-green-bright","seq-lightgray-darkmagenta-bright","seq-yellow-darkblue-bright","seq-lightred-darkgray-bright"].concat(B).concat(k).concat(q).concat(D).filter((e=>"seq-single-blues"!==e))},topo:{common:s.lightBasemaps,primary:"seq-yellow-green-blue",secondary:["seq-yellow-pink-purple","seq-yellow-purple-blue","seq-yellow-red-purple","seq-yellow-orange-red","seq-teal-lightgreen-bright","seq-green-lightgray-bright","seq-blue-lightgray-bright","seq-orange-lightgray-bright","seq-teal-lightbrown-bright","seq-reds-bright","seq-purples-bright","seq-greens-bright","seq-browns-bright","seq-dark-to-light-magenta-bright","seq-dark-to-light-purple-bright","seq-dark-to-light-blue-bright","seq-dark-to-light-green-bright","seq-brown-to-tan-bright","seq-lightgray-blue-bright","seq-lightgray-green-bright","seq-lightgray-darkmagenta-bright","seq-yellow-darkblue-bright","seq-lightred-darkgray-bright"].concat(B).concat(k).concat(q).concat(D)},terrain:{common:s.lightBasemaps,primary:"seq-pink-red",secondary:["seq-yellow-pink-purple","seq-yellow-red-purple","seq-yellow-orange-red","seq-orange-red-light","seq-teal-lightgreen-bright","seq-green-lightgray-bright","seq-red-lightgray-bright","seq-blue-lightgray-bright","seq-orange-lightgray-bright","seq-blue-red-yellow-bright","seq-blue-tan-bright","seq-teal-lightbrown-bright","seq-reds-bright","seq-purples-bright","seq-blues-bright","seq-greens-bright","seq-browns-bright","seq-dark-to-light-magenta-bright","seq-dark-to-light-purple-bright","seq-dark-to-light-blue-bright","seq-dark-to-light-green-bright","seq-brown-to-tan-bright","seq-lightgray-blue-bright","seq-lightgray-green-bright","seq-lightgray-darkmagenta-bright","seq-yellow-darkblue-bright","seq-lightred-darkgray-bright"].concat(B).concat(k).concat(q).concat(D)},"national-geographic":{common:s.lightBasemaps,primary:"seq-yellow-orange-red",secondary:["seq-yellow-red-purple","seq-yellow-pink-purple","seq-yellow-purple-blue","seq-yellow-green-blue","seq-teal-lightgreen-bright","seq-blue-lightgray-bright","seq-reds-bright","seq-purples-bright","seq-greens-bright","seq-browns-bright","seq-dark-to-light-magenta-bright","seq-dark-to-light-purple-bright","seq-dark-to-light-blue-bright","seq-dark-to-light-green-bright","seq-brown-to-tan-bright","seq-lightgray-blue-bright","seq-lightgray-green-bright","seq-lightgray-darkmagenta-bright","seq-yellow-darkblue-bright","seq-lightred-darkgray-bright"].concat(B).concat(k).concat(q).concat(D)},oceans:{common:s.lightBasemaps,primary:"seq-yellow-green-blue",secondary:["seq-yellow-red-purple","seq-yellow-orange-red","seq-yellow-pink-purple","seq-yellow-purple-blue","seq-teal-lightgreen-bright","seq-green-lightgray-bright","seq-red-lightgray-bright","seq-blue-lightgray-bright","seq-blue-red-yellow-bright","seq-teal-lightbrown-bright","seq-reds-bright","seq-purples-bright","seq-greens-bright","seq-browns-bright","seq-dark-to-light-magenta-bright","seq-dark-to-light-purple-bright","seq-dark-to-light-blue-bright","seq-dark-to-light-green-bright","seq-brown-to-tan-bright","seq-lightgray-blue-bright","seq-lightgray-green-bright","seq-lightgray-darkmagenta-bright","seq-yellow-darkblue-bright","seq-lightred-darkgray-bright"].concat(B).concat(k).concat(q).concat(D)},osm:{common:s.lightBasemaps,primary:"seq-red-blue-green",secondary:["seq-yellow-pink-purple","seq-yellow-red-purple","seq-yellow-purple-blue","seq-teal-lightgreen-bright","seq-blue-lightgray-bright","seq-blue-red-yellow-bright","seq-teal-lightbrown-bright","seq-reds-bright","seq-purples-bright","seq-greens-bright","seq-browns-bright","seq-dark-to-light-magenta-bright","seq-dark-to-light-purple-bright","seq-dark-to-light-blue-bright","seq-dark-to-light-green-bright","seq-brown-to-tan-bright","seq-lightgray-blue-bright","seq-lightgray-green-bright","seq-lightgray-darkmagenta-bright","seq-yellow-darkblue-bright","seq-lightred-darkgray-bright"].concat(B).concat(k).concat(q).concat(D)},satellite:{common:s.darkBasemaps,primary:"seq-orange-red-dark",secondary:["seq-yellow-green-blue","seq-red-blue-green","seq-yellow-purple-blue","seq-teal-lightgreen-bright","seq-blue-lightgray-bright","seq-gray-lightgreen-bright","seq-teal-lightbrown-bright","seq-reds-bright","seq-purples-bright","seq-blues-bright","seq-greens-bright","seq-browns-bright","seq-dark-to-light-magenta-bright","seq-dark-to-light-purple-bright","seq-dark-to-light-blue-bright","seq-dark-to-light-green-bright","seq-brown-to-tan-bright","seq-lightgray-blue-bright","seq-lightgray-green-bright","seq-lightgray-darkmagenta-bright","seq-yellow-darkblue-bright","seq-lightred-darkgray-bright","seq-lightmagenta-darkgray-bright","seq-lightblue-darkgray-bright"].concat(B).concat(k).concat(q).concat(D)},hybrid:{common:s.darkBasemaps,primary:"seq-orange-red-dark",secondary:["seq-yellow-green-blue","seq-red-blue-green","seq-yellow-purple-blue","seq-teal-lightgreen-bright","seq-blue-lightgray-bright","seq-gray-lightgreen-bright","seq-teal-lightbrown-bright","seq-reds-bright","seq-purples-bright","seq-blues-bright","seq-greens-bright","seq-browns-bright","seq-dark-to-light-magenta-bright","seq-dark-to-light-purple-bright","seq-dark-to-light-blue-bright","seq-dark-to-light-green-bright","seq-brown-to-tan-bright","seq-lightgray-blue-bright","seq-lightgray-green-bright","seq-lightgray-darkmagenta-bright","seq-yellow-darkblue-bright","seq-lightred-darkgray-bright","seq-lightmagenta-darkgray-bright","seq-lightblue-darkgray-bright"].concat(B).concat(k).concat(q).concat(D)},dark:{common:s.grayBasemaps,primary:"seq-blue-gray-bright",secondary:["seq-blue-lightgray-bright","seq-gray-lightgreen-bright","seq-reds-bright","seq-purples-bright","seq-blues-bright","seq-greens-bright","seq-browns-bright","seq-dark-to-light-magenta-bright","seq-dark-to-light-purple-bright","seq-dark-to-light-blue-bright","seq-dark-to-light-green-bright","seq-brown-to-tan-bright","seq-lightgray-blue-bright","seq-lightgray-green-bright","seq-lightgray-darkmagenta-bright","seq-yellow-darkblue-bright","seq-teal-lightgreen-bright","seq-lightred-darkgray-bright","seq-lightmagenta-darkgray-bright","seq-lightblue-darkgray-bright"].concat(B).concat(k).concat(q).concat(D).filter((e=>"seq-blue-gray-bright"!==e))}},T=i({themeDictionary:{"high-to-low":{name:"high-to-low",label:"TODO",description:"TODO",basemapGroups:z,schemes:{default:G}},"above-and-below":{name:"above-and-below",label:"TODO",description:"TODO",basemapGroups:z,schemes:{default:{streets:{common:s.lightBasemaps,primary:"div-bluegreen-yellow-orange",secondary:["div-orange-yellow-blue-light","div-green-yellow-redpurple","div-green-yellow-orange","div-green-gray-bright","div-red-blue-bright","div-blue-orange-bright","div-blue-lightgreen-bright","div-red-gray-bright","div-blue-gray-bright","div-red-lightgreen-bright","div-green-teal-bright","div-lightgreen-yellow-bright","div-lightred-gray-bright"].concat(C).concat(x).concat(f).concat(w)},light:{common:s.grayBasemaps,primary:"div-rdbu",secondary:["div-bluegreen-orange","div-orange-purple","div-bluegreen-purple","div-orange-pink","div-blue-yellow-red-bright","div-green-gray-bright","div-red-green-bright","div-red-blue-bright","div-orange-gray-bright","div-blue-orange-bright","div-blue-lightgreen-bright","div-red-gray-bright","div-blue-gray-bright","div-red-lightgreen-bright","div-blue-green-bright","div-purple-brown-bright","div-blue-brown-bright","div-teal-brown-bright","div-green-teal-bright","div-lightgreen-yellow-bright","div-lightblue-gray-bright","div-lightgreen-gray-bright","div-lightred-gray-bright","div-yellow-green-bright","div-green-darkgray-bright"].concat(C).concat(x).concat(f).concat(w)},topo:{common:s.lightBasemaps,primary:"div-orange-pink",secondary:["div-redpurple-blue","div-orange-blue","div-green-pink","div-blue-yellow-red-bright","div-green-gray-bright","div-red-green-bright","div-red-blue-bright","div-orange-gray-bright","div-blue-orange-bright","div-blue-lightgreen-bright","div-red-gray-bright","div-blue-gray-bright","div-red-lightgreen-bright","div-blue-green-bright","div-purple-brown-bright","div-blue-brown-bright","div-teal-brown-bright","div-green-teal-bright","div-lightgreen-yellow-bright","div-lightblue-gray-bright","div-lightgreen-gray-bright","div-lightred-gray-bright","div-yellow-green-bright","div-green-darkgray-bright"].concat(C).concat(x).concat(f).concat(w)},terrain:{common:s.lightBasemaps,primary:"div-bluegreen-orange",secondary:["div-bluegreen-redpurple","div-green-redpurple","div-green-orange","div-blue-yellow-red-bright","div-green-gray-bright","div-red-blue-bright","div-orange-gray-bright","div-blue-lightgreen-bright","div-red-gray-bright","div-blue-gray-bright","div-red-lightgreen-bright","div-blue-green-bright","div-purple-brown-bright","div-blue-brown-bright","div-teal-brown-bright","div-green-teal-bright","div-lightgreen-yellow-bright","div-lightblue-gray-bright","div-lightgreen-gray-bright","div-lightred-gray-bright","div-yellow-green-bright","div-green-darkgray-bright"].concat(C).concat(x).concat(f).concat(w)},"national-geographic":{common:s.lightBasemaps,primary:"div-orange-yellow-blue-light",secondary:["div-bluegreen-yellow-orange","div-green-yellow-redpurple","div-red-green-bright","div-red-blue-bright","div-orange-gray-bright","div-red-gray-bright","div-blue-gray-bright","div-red-lightgreen-bright","div-blue-green-bright","div-purple-brown-bright","div-green-teal-bright","div-lightgreen-yellow-bright","div-lightred-gray-bright","div-yellow-green-bright","div-green-darkgray-bright"].concat(C).concat(x).concat(f).concat(w)},oceans:{common:s.lightBasemaps,primary:"div-red-yellow-pink",secondary:["div-blue-green","div-bluegreen-yellow-redpurple","div-bluegreen-yellow-orange","div-blue-yellow-red-bright","div-green-gray-bright","div-red-green-bright","div-red-blue-bright","div-orange-gray-bright","div-blue-orange-bright","div-blue-lightgreen-bright","div-red-gray-bright","div-blue-gray-bright","div-red-lightgreen-bright","div-blue-green-bright","div-purple-brown-bright","div-blue-brown-bright","div-teal-brown-bright","div-green-teal-bright","div-lightgreen-yellow-bright","div-lightblue-gray-bright","div-lightgreen-gray-bright","div-lightred-gray-bright","div-yellow-green-bright","div-green-darkgray-bright"].concat(C).concat(x).concat(f).concat(w)},osm:{common:s.lightBasemaps,primary:"div-bluegreen-pink",secondary:["div-bluegreen-redpurple","div-bluegreen-orange","div-orange-pink","div-green-gray-bright","div-red-blue-bright","div-red-gray-bright","div-blue-gray-bright","div-red-lightgreen-bright","div-blue-green-bright","div-purple-brown-bright","div-green-teal-bright","div-lightgreen-yellow-bright","div-lightred-gray-bright","div-yellow-green-bright","div-green-darkgray-bright"].concat(C).concat(x).concat(f).concat(w)},satellite:{common:s.darkBasemaps,primary:"div-blue-green-bright",secondary:["div-red-yellow-purple","div-orange-yellow-pink","div-orange-yellow-blue-light","div-green-gray-bright","div-red-green-bright","div-red-blue-bright","div-orange-gray-bright","div-blue-orange-bright","div-blue-lightgreen-bright","div-red-gray-bright","div-blue-gray-bright","div-red-lightgreen-bright","div-orange-yellow-blue-dark","div-purple-brown-bright","div-blue-brown-bright","div-teal-brown-bright","div-green-teal-bright","div-lightgreen-yellow-bright","div-lightblue-gray-bright","div-lightgreen-gray-bright","div-lightred-gray-bright","div-lightmagenta-gray-bright","div-yellow-green-bright","div-lightblue-yellow-bright","div-green-darkgray-bright"].concat(C).concat(x).concat(f).concat(w)},hybrid:{common:s.darkBasemaps,primary:"div-blue-green-bright",secondary:["div-red-yellow-purple","div-orange-yellow-pink","div-orange-yellow-blue-light","div-green-gray-bright","div-red-green-bright","div-red-blue-bright","div-orange-gray-bright","div-blue-orange-bright","div-blue-lightgreen-bright","div-red-gray-bright","div-blue-gray-bright","div-red-lightgreen-bright","div-orange-yellow-blue-dark","div-purple-brown-bright","div-blue-brown-bright","div-teal-brown-bright","div-green-teal-bright","div-lightgreen-yellow-bright","div-lightblue-gray-bright","div-lightgreen-gray-bright","div-lightred-gray-bright","div-lightmagenta-gray-bright","div-yellow-green-bright","div-lightblue-yellow-bright","div-green-darkgray-bright"].concat(C).concat(x).concat(f).concat(w)},dark:{common:s.grayBasemaps,primary:"div-blue-red-bright-1",secondary:["div-blue-green-bright","div-yellow-gray-purple","div-lightblue-yellow-bright","div-red-gray-blue","div-green-gray-purple","div-orange-gray-blue","div-green-gray-bright","div-red-green-bright","div-red-blue-bright","div-orange-gray-bright","div-blue-orange-bright","div-blue-lightgreen-bright","div-red-gray-bright","div-blue-gray-bright","div-red-lightgreen-bright","div-green-teal-bright","div-purple-brown-bright","div-blue-brown-bright","div-teal-brown-bright","div-lightgreen-yellow-bright","div-lightblue-gray-bright","div-lightgreen-gray-bright","div-lightred-gray-bright","div-lightmagenta-gray-bright","div-yellow-green-bright","div-green-darkgray-bright"].concat(C).concat(x).concat(f).concat(w)}}}},"centered-on":{name:"centered-on",label:"TODO",description:"TODO",basemapGroups:z,schemes:{default:{streets:{common:{outline:h.lighter,width:"2px",size:"8px"},primary:"highlight-orange",primaryGray:"highlight-orange-gray",secondary:["highlight-bluegreen","highlight-orange-gray","highlight-bluegreen-gray"].concat(p)},light:{common:{outline:h.lighter,width:"2px",size:"8px"},primary:"highlight-orange",primaryGray:"highlight-orange-gray",secondary:["highlight-purple","highlight-orange-gray","highlight-purple-gray"].concat(p)},topo:{common:{outline:h.lighter,width:"2px",size:"8px"},primary:"highlight-orange",primaryGray:"highlight-orange-gray",secondary:["highlight-pink","highlight-orange-gray","highlight-pink-gray"].concat(p)},terrain:{common:{outline:h.lighter,width:"2px",size:"8px"},primary:"highlight-orange",primaryGray:"highlight-orange-gray",secondary:["highlight-bluegreen","highlight-orange-gray","highlight-bluegreen-gray"].concat(p)},"national-geographic":{common:{outline:h.lighter,width:"2px",size:"8px"},primary:"highlight-orange",primaryGray:"highlight-orange-gray",secondary:["highlight-blue","highlight-orange-gray","highlight-blue-gray"].concat(p)},oceans:{common:{outline:h.lighter,width:"2px",size:"8px"},primary:"highlight-red",primaryGray:"highlight-red-gray",secondary:["highlight-pink","highlight-red-gray","highlight-pink-gray"].concat(p)},osm:{common:{outline:h.lighter,width:"2px",size:"8px"},primary:"highlight-pink",primaryGray:"highlight-pink-gray",secondary:["highlight-bluegreen","highlight-pink-gray","highlight-bluegreen-gray"].concat(p)},satellite:{common:{outline:h.light,width:"2px",size:"8px"},primary:"highlight-orange-dark",primaryGray:"highlight-orange-gray-dark",secondary:["highlight-blue-dark","highlight-orange-gray-dark","highlight-blue-gray-dark"].concat(u)},hybrid:{common:{outline:h.light,width:"2px",size:"8px"},primary:"highlight-orange-dark",primaryGray:"highlight-orange-gray-dark",secondary:["highlight-blue-dark","highlight-orange-gray-dark","highlight-blue-gray-dark"].concat(u)},dark:{common:{outline:h.light,width:"2px",size:"8px"},primary:"highlight-orange-bright",primaryGray:"highlight-orange-gray-bright",secondary:["highlight-blue-bright","highlight-orange-gray-bright","highlight-blue-gray-bright"].concat(u)}}}},extremes:{name:"extremes",label:"TODO",description:"TODO",basemapGroups:z,schemes:{default:{streets:{common:{outline:h.lighter,width:"2px",size:"8px"},primary:"extremesdiv-bluegreen-yellow-orange",primaryGray:"extremes-bluegreen-gray",secondary:["extremesdiv-orange-yellow-blue-light","extremesdiv-green-yellow-redpurple","extremesdiv-green-yellow-orange","extremes-orange","extremes-bluegreen","extremes-orange-gray","extremes-bluegreen-gray"].concat(m)},light:{common:{outline:h.lighter,width:"2px",size:"8px"},primary:"extremesdiv-orange-purple",primaryGray:"extremes-orange-gray",secondary:["extremesdiv-bluegreen-purple","extremesdiv-bluegreen-orange","extremesdiv-orange-pink","extremes-orange","extremes-purple","extremes-orange-gray","extremes-purple-gray"].concat(m)},topo:{common:{outline:h.lighter,width:"2px",size:"8px"},primary:"extremesdiv-orange-pink",primaryGray:"extremes-orange-gray",secondary:["extremesdiv-redpurple-blue","extremesdiv-orange-blue","extremesdiv-green-pink","extremes-orange","extremes-pink","extremes-orange-gray","extremes-pink-gray"].concat(m)},terrain:{common:{outline:h.lighter,width:"2px",size:"8px"},primary:"extremesdiv-bluegreen-orange",primaryGray:"extremes-bluegreen-gray",secondary:["extremesdiv-bluegreen-redpurple","extremesdiv-green-redpurple","extremesdiv-green-orange","extremes-orange","extremes-bluegreen","extremes-orange-gray","extremes-bluegreen-gray"].concat(m)},"national-geographic":{common:{outline:h.lighter,width:"2px",size:"8px"},primary:"extremesdiv-orange-yellow-blue-light",primaryGray:"extremes-orange-gray",secondary:["extremesdiv-bluegreen-yellow-orange","extremesdiv-green-yellow-redpurple","extremes-orange","extremes-blue","extremes-orange-gray","extremes-blue-gray"].concat(m)},oceans:{common:{outline:h.lighter,width:"2px",size:"8px"},primary:"extremesdiv-red-yellow-pink",primaryGray:"extremes-red-gray",secondary:["extremesdiv-blue-green","extremesdiv-bluegreen-yellow-redpurple","extremesdiv-bluegreen-yellow-orange","extremes-red","extremes-pink","extremes-red-gray","extremes-pink-gray"].concat(m)},osm:{common:{outline:h.lighter,width:"2px",size:"8px"},primary:"extremesdiv-bluegreen-pink",primaryGray:"extremes-bluegreen-gray",secondary:["extremesdiv-bluegreen-redpurple","extremesdiv-bluegreen-orange","extremesdiv-orange-pink","extremes-pink","extremes-bluegreen","extremes-pink-gray","extremes-bluegreen-gray"].concat(m)},satellite:{common:{outline:h.light,width:"2px",size:"8px"},primary:"extremesdiv-orange-yellow-blue-dark",primaryGray:"extremes-orange-gray-dark",secondary:["extremesdiv-red-yellow-purple","extremesdiv-orange-yellow-pink","extremesdiv-orange-yellow-blue-light","extremes-orange-dark","extremes-blue-dark","extremes-orange-gray-dark","extremes-blue-gray-dark"].concat(c)},hybrid:{common:{outline:h.light,width:"2px",size:"8px"},primary:"extremesdiv-orange-yellow-blue-dark",primaryGray:"extremes-orange-gray-dark",secondary:["extremesdiv-red-yellow-purple","extremesdiv-orange-yellow-pink","extremesdiv-orange-yellow-blue-light","extremes-orange-dark","extremes-blue-dark","extremes-orange-gray-dark","extremes-blue-gray-dark"].concat(c)},dark:{common:{outline:h.light,width:"2px",size:"8px"},primary:"extremesdiv-orange-gray-blue",primaryGray:"extremes-orange-gray-bright",secondary:["extremesdiv-yellow-gray-purple","extremesdiv-red-gray-blue","extremesdiv-green-gray-purple","extremes-orange-bright","extremes-blue-bright","extremes-orange-gray-bright","extremes-blue-gray-bright"].concat(c)}}}},above:{name:"above",label:"TODO",description:"TODO",basemapGroups:z,schemes:{default:G}},below:{name:"below",label:"TODO",description:"TODO",basemapGroups:z,schemes:{default:G}},"90-10":{name:"90-10",label:"TODO",description:"TODO",basemapGroups:z,schemes:{default:G}}}});function F(e){return g(T,e)}function S(e){const r=e.theme,i=t({basemap:e.basemap,basemapTheme:e.basemapTheme,theme:T.get(r)});if(!i)return;let g=i.schemesInfo;const l=g.common,{basemapId:a,basemapTheme:n}=i;!e.worldScale||"centered-on"!==r&&"extremes"!==r||(g={...g},g.secondary=g.secondary.slice(0),g.secondary.push(g.primary),g.primary=g.primaryGray,delete g.primaryGray,g.secondary=g.secondary.filter((e=>{const r=e.includes("gray"),i=O.includes(e);return e!==g.primary&&r&&!i})));const o={...e,basemap:a};return{primaryScheme:K(o,g.primary,l),secondarySchemes:g.secondary.map((e=>K(o,e,l))).filter(Boolean),basemapId:a,basemapTheme:n}}function I(e){return l(e.name,S(e))}function j(e){return a(e.includedTags,e.excludedTags,S(e))}function E(e){let r,i,g;const l=e.id;if(l){const e=l.split("/");e&&(r=e[0],i=e[1],g=e[2])}const a=t({basemap:i,theme:T.get(r)});if(!a)return;const{schemesInfo:n}=a;return K({theme:r,basemap:i,geometryType:e.geometryType,worldScale:e.worldScale,view:e.view},g,n.common)}function U(r){if(!r)return;const i={...r};return i.colors=i.colors.map((r=>new e(r))),i.tags=[...i.tags],i.colorsForClassBreaks=i.colorsForClassBreaks.map((r=>({numClasses:r.numClasses,colors:r.colors.map((r=>new e(r)))}))),i.noDataColor&&(i.noDataColor=new e(i.noDataColor)),"outline"in i&&i.outline&&(i.outline={color:i.outline.color&&new e(i.outline.color),width:i.outline.width}),i}function A(e){const r=e;return r.colors.reverse(),r.colorsForClassBreaks.forEach((e=>{e.colors.reverse()})),r}function H(e){const r=e.theme,i=e.colors,g=T.get(r).supportedBasemaps,l=[],a={theme:r,basemap:null,geometryType:e.geometryType,worldScale:e.worldScale,view:e.view};return g.forEach((e=>{const g=t({basemap:e,theme:T.get(r)}).schemesInfo;if(a.basemap=e,g){const e=J(K(a,g.primary,g.common),i);e&&l.push(e),g.secondary.forEach((e=>{const r=J(K(a,e,g.common),i);r&&l.push(r)}))}})),l}function J(e,r){let i,g;if(g=n(e.colors,r),g)i=g>0?e:A(e);else{let t;e.colorsForClassBreaks.some((e=>(e.numClasses===r.length&&(t=e.colors),!!t))),t&&(g=n(t,r),g&&(i=g>0?e:A(e)))}return i}function K(e,i,g){const t=r[i];if(!t)return;const l=e.theme,a="mesh"!==e.geometryType&&e.worldScale?e.view:null;let n=g.fillOpacity;null==n&&v.includes(i)&&(n=.8);const o="below"===e.theme,h=o?[...t.stops].reverse():t.stops,s=[];for(const r in t)if("stops"!==r&&"name"!==r&&"tags"!==r){const e=+r;s.push({numClasses:e,colors:o?[...t[e]].reverse():t[e]})}const u=v.includes(i)?d:b,p=l+"/"+e.basemap+"/"+i,c=n||1;switch(e.geometryType){case"point":case"multipoint":return L({id:p,name:t.name,tags:t.tags,theme:l,opacity:c,colors:h,colorsForClassBreaks:s,noDataColor:u,outline:g.outline,size:g.size},a);case"polyline":return M({id:p,name:t.name,tags:t.tags,theme:l,opacity:c,colors:h,colorsForClassBreaks:s,noDataColor:u,width:g.width},a);case"polygon":return N({id:p,name:t.name,tags:t.tags,theme:l,opacity:c,colors:h,colorsForClassBreaks:s,noDataColor:u,outline:g.outline,size:y},a);case"mesh":return P({id:p,name:t.name,tags:t.tags,theme:l,opacity:c,colors:h,colorsForClassBreaks:s,noDataColor:u});default:return}}function L(r,i){return{id:r.id,name:r.name,tags:[...r.tags],theme:r.theme,colors:r.colors.map((r=>new e(r))),colorsForClassBreaks:Q(r.colorsForClassBreaks),noDataColor:new e(r.noDataColor),outline:{color:new e(r.outline.color),width:r.outline.width},size:i&&"3d"===i.type?o(r.size,i):r.size,opacity:r.opacity}}function M(r,i){return{id:r.id,name:r.name,tags:[...r.tags],theme:r.theme,colors:r.colors.map((r=>new e(r))),colorsForClassBreaks:Q(r.colorsForClassBreaks),noDataColor:new e(r.noDataColor),width:i&&"3d"===i.type?o(r.width,i):r.width,opacity:r.opacity}}function N(r,i){return{id:r.id,name:r.name,tags:[...r.tags],theme:r.theme,colors:r.colors.map((r=>new e(r))),colorsForClassBreaks:Q(r.colorsForClassBreaks),noDataColor:new e(r.noDataColor),outline:{color:new e(r.outline.color),width:r.outline.width},opacity:r.opacity,size:i&&"3d"===i.type?o(r.size,i):r.size}}function P(r){return{id:r.id,name:r.name,tags:[...r.tags],theme:r.theme,colors:r.colors.map((r=>new e(r))),colorsForClassBreaks:Q(r.colorsForClassBreaks),noDataColor:new e(r.noDataColor),opacity:r.opacity}}function Q(r){return r.map((r=>({numClasses:r.numClasses,colors:r.colors.map((r=>new e(r)))})))}export{U as cloneScheme,A as flipColors,H as getMatchingSchemes,E as getSchemeById,I as getSchemeByName,S as getSchemes,j as getSchemesByTag,F as getThemes,k as seqColorSets2019,B as seqColorSets2021,q as seqColorSetsFromPortal};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import"../../Color.js";import"../renderers/support/utils.js";import"./support/colors.js";import"./support/symbologyUtils.js";export{c as cloneScheme,b as getSchemeByName,g as getSchemes,e as getSchemesByTag,a as getThemes}from"../../chunks/dotDensity.js";
5
+ import e from"../../Color.js";import{createColors as o}from"../renderers/support/utils.js";import n from"./support/colors.js";import{createThemes as t,getThemesforBasemap as r,getRawSchemes as a,filterSchemesByName as i,filterSchemesByTag as s}from"./support/symbologyUtils.js";const c={light:{color:[153,153,153,.25],width:"1px"},dark:{color:[153,153,153,.25],width:"1px"}},m=["vibrant-rainbow","cat-dark","predominant-v2","predominant-v1","predominance-race","desert-blooms","tropical-bliss","under-the-sea","ocean-bay","cat-light","predominant-v4","predominance-money","predominant-v3","predominance-race-ethnic","pastel-chalk","predominance-rainbow","predominance-sequence"],l=t({themeDictionary:{default:{name:"default",label:"Default",description:"Default theme for visualizing features using the density of randomly placed dots.",schemes:{default:{light:{primary:"predominant-v5",secondary:m,common:{outline:c.light,fillOpacity:.8}},dark:{primary:"predominant-v5",secondary:m,common:{outline:c.dark,fillOpacity:.8}}}}}}});function p(e){return r(l,e)}function u(e){const o="default",n=a({basemap:e.basemap,basemapTheme:e.basemapTheme,theme:l.get(o)});if(!n)return;const{schemesInfo:t,basemapId:r,basemapTheme:i}=n,s=t.common,c=e.numColors;return{primaryScheme:y(t.primary,s,c),secondarySchemes:t.secondary.map((e=>y(e,s,c))).filter(Boolean),basemapId:r,basemapTheme:i}}function d(e){return i(e.name,u(e))}function f(e){return s(e.includedTags,e.excludedTags,u(e))}function h(o){if(!o)return;const n={...o};return n.tags=[...n.tags],n.colors&&(n.colors=n.colors.map((o=>new e(o)))),n.outline&&(n.outline={color:n.outline.color&&new e(n.outline.color),width:n.outline.width}),n}function y(e,t,r){const a=n[e];if(!a)return;return b({name:a.name,tags:a.tags,colors:a[r]||o(a.stops,r),opacity:t.fillOpacity,outline:t.outline})}function b(o){return{name:o.name,tags:[...o.tags],colors:o.colors.map((o=>new e(o))),outline:{color:new e(o.outline.color),width:o.outline.width},opacity:o.opacity}}export{h as cloneScheme,d as getSchemeByName,u as getSchemes,f as getSchemesByTag,p as getThemes};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.24/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../Color.js";import{s as r,b as t,d as i}from"../../chunks/color.js";import a from"./support/colors.js";import{createThemes as l,getThemesforBasemap as s,getRawSchemes as o,filterSchemesByName as n,filterSchemesByTag as g}from"./support/symbologyUtils.js";const h=r.concat(t).concat(i).concat(["seq-yellow-red-purple","seq-orange-red-light","seq-yellow-orange-red","seq-yellow-pink-purple","seq-yellow-purple-blue","seq-teal-lightgreen-bright","seq-green-lightgray-bright","seq-red-lightgray-bright","seq-blue-lightgray-bright","seq-orange-lightgray-bright","seq-blue-red-yellow-bright","seq-blue-tan-bright","seq-teal-lightbrown-bright","seq-reds-bright","seq-purples-bright","seq-blues-bright","seq-greens-bright","seq-browns-bright","seq-dark-to-light-magenta-bright","seq-dark-to-light-purple-bright","seq-dark-to-light-blue-bright","seq-dark-to-light-green-bright","seq-brown-to-tan-bright","seq-lightgray-blue-bright","seq-lightgray-green-bright","seq-lightgray-darkmagenta-bright","seq-yellow-darkblue-bright","seq-lightred-darkgray-bright"]),b=r.concat(t).concat(i).concat(["seq-blue-lightgray-bright","seq-gray-lightgreen-bright","seq-reds-bright","seq-purples-bright","seq-blues-bright","seq-greens-bright","seq-browns-bright","seq-dark-to-light-magenta-bright","seq-dark-to-light-purple-bright","seq-dark-to-light-blue-bright","seq-dark-to-light-green-bright","seq-brown-to-tan-bright","seq-lightgray-blue-bright","seq-lightgray-green-bright","seq-lightgray-darkmagenta-bright","seq-yellow-darkblue-bright","seq-teal-lightgreen-bright","seq-lightred-darkgray-bright","seq-lightmagenta-darkgray-bright","seq-lightblue-darkgray-bright"]),m={color:"#4c64c9",density:.8,layerEffect:"drop-shadow(1px, 1px, 3px, rgba(0,0,0,0.75))"},c={color:"#00ffff",density:.8,layerEffect:"bloom(1.4, 0.6px, 0)"},p={flowSpeed:10,trailLength:100,trailWidth:1,minSize:1,maxSize:4},d={flowSpeed:3,trailLength:.7,trailWidth:8,minSize:4,maxSize:16},q=l({themeDictionary:{"flow-line":{name:"flow-line",label:"TODO",description:"TODO",schemes:{default:{light:{common:{...p,...m},primary:"seq-lines-purple-brown",secondary:h.filter((e=>"seq-lines-purple-brown"!==e))},dark:{common:{...p,...c},primary:"seq-mentone-beach",secondary:b.filter((e=>"seq-mentone-beach"!==e))}}}},"wave-front":{name:"wave-front",label:"TODO",description:"TODO",schemes:{default:{light:{common:{...d,...m},primary:"seq-lines-purple-brown",secondary:h.filter((e=>"seq-lines-purple-brown"!==e))},dark:{common:{...d,...c},primary:"seq-mentone-beach",secondary:b.filter((e=>"seq-mentone-beach"!==e))}}}}}});function y(e){return s(q,e)}function u(e){const r=e.theme||"flow-line",t=o({basemap:e.basemap,basemapTheme:e.basemapTheme,theme:q.get(r)});if(!t)return;const{schemesInfo:i,basemapId:a,basemapTheme:l}=t,s=i.common;return{primaryScheme:S(e,i.primary,s),secondarySchemes:i.secondary.map((r=>S(e,r,s))).filter(Boolean),basemapId:a,basemapTheme:l}}function f(e){return n(e.name,u(e))}function w(e){return g(e.includedTags,e.excludedTags,u(e))}function k(r){if(!r)return;const t={...r};return t.colors=t.colors.map((r=>new e(r))),t.tags=[...t.tags],t.color&&(t.color=new e(t.color)),t}function S(r,t,i){const l=r.theme||"flow-line",s=a[t];if(!s)return;const o=s.stops;return{id:`${l}/${r.basemap}/${t}`,name:s.name,tags:[...s.tags],theme:l,color:new e(i.color),colors:o.map((r=>new e(r))),density:i.density,flowSpeed:i.flowSpeed,trailLength:"wave-front"===l&&r.hasSizeVariable?2*i.trailLength:i.trailLength,trailWidth:i.trailWidth,layerEffect:i.layerEffect,minSize:i.minSize,maxSize:i.maxSize,minOpacity:.25,maxOpacity:1}}export{k as cloneScheme,f as getSchemeByName,u as getSchemes,w as getSchemesByTag,y as getThemes};
5
+ import e from"../../Color.js";import{seqColorSets2021 as r,seqColorSets2019 as t,seqColorSetsFromPortal as i}from"./color.js";import a from"./support/colors.js";import{createThemes as l,getThemesforBasemap as o,getRawSchemes as s,filterSchemesByName as n,filterSchemesByTag as g}from"./support/symbologyUtils.js";const h=r.concat(t).concat(i).concat(["seq-yellow-red-purple","seq-orange-red-light","seq-yellow-orange-red","seq-yellow-pink-purple","seq-yellow-purple-blue","seq-teal-lightgreen-bright","seq-green-lightgray-bright","seq-red-lightgray-bright","seq-blue-lightgray-bright","seq-orange-lightgray-bright","seq-blue-red-yellow-bright","seq-blue-tan-bright","seq-teal-lightbrown-bright","seq-reds-bright","seq-purples-bright","seq-blues-bright","seq-greens-bright","seq-browns-bright","seq-dark-to-light-magenta-bright","seq-dark-to-light-purple-bright","seq-dark-to-light-blue-bright","seq-dark-to-light-green-bright","seq-brown-to-tan-bright","seq-lightgray-blue-bright","seq-lightgray-green-bright","seq-lightgray-darkmagenta-bright","seq-yellow-darkblue-bright","seq-lightred-darkgray-bright"]),b=r.concat(t).concat(i).concat(["seq-blue-lightgray-bright","seq-gray-lightgreen-bright","seq-reds-bright","seq-purples-bright","seq-blues-bright","seq-greens-bright","seq-browns-bright","seq-dark-to-light-magenta-bright","seq-dark-to-light-purple-bright","seq-dark-to-light-blue-bright","seq-dark-to-light-green-bright","seq-brown-to-tan-bright","seq-lightgray-blue-bright","seq-lightgray-green-bright","seq-lightgray-darkmagenta-bright","seq-yellow-darkblue-bright","seq-teal-lightgreen-bright","seq-lightred-darkgray-bright","seq-lightmagenta-darkgray-bright","seq-lightblue-darkgray-bright"]),m={color:"#4c64c9",density:.8,layerEffect:"drop-shadow(1px, 1px, 3px, rgba(0,0,0,0.75))"},c={color:"#00ffff",density:.8,layerEffect:"bloom(1.4, 0.6px, 0)"},p={flowSpeed:10,trailLength:100,trailWidth:1,minSize:1,maxSize:4},d={flowSpeed:3,trailLength:.7,trailWidth:8,minSize:4,maxSize:16},q=l({themeDictionary:{"flow-line":{name:"flow-line",label:"TODO",description:"TODO",schemes:{default:{light:{common:{...p,...m},primary:"seq-lines-purple-brown",secondary:h.filter((e=>"seq-lines-purple-brown"!==e))},dark:{common:{...p,...c},primary:"seq-mentone-beach",secondary:b.filter((e=>"seq-mentone-beach"!==e))}}}},"wave-front":{name:"wave-front",label:"TODO",description:"TODO",schemes:{default:{light:{common:{...d,...m},primary:"seq-lines-purple-brown",secondary:h.filter((e=>"seq-lines-purple-brown"!==e))},dark:{common:{...d,...c},primary:"seq-mentone-beach",secondary:b.filter((e=>"seq-mentone-beach"!==e))}}}}}});function y(e){return o(q,e)}function u(e){const r=e.theme||"flow-line",t=s({basemap:e.basemap,basemapTheme:e.basemapTheme,theme:q.get(r)});if(!t)return;const{schemesInfo:i,basemapId:a,basemapTheme:l}=t,o=i.common;return{primaryScheme:S(e,i.primary,o),secondarySchemes:i.secondary.map((r=>S(e,r,o))).filter(Boolean),basemapId:a,basemapTheme:l}}function f(e){return n(e.name,u(e))}function w(e){return g(e.includedTags,e.excludedTags,u(e))}function k(r){if(!r)return;const t={...r};return t.colors=t.colors.map((r=>new e(r))),t.tags=[...t.tags],t.color&&(t.color=new e(t.color)),t}function S(r,t,i){const l=r.theme||"flow-line",o=a[t];if(!o)return;const s=o.stops;return{id:`${l}/${r.basemap}/${t}`,name:o.name,tags:[...o.tags],theme:l,color:new e(i.color),colors:s.map((r=>new e(r))),density:i.density,flowSpeed:i.flowSpeed,trailLength:"wave-front"===l&&r.hasSizeVariable?2*i.trailLength:i.trailLength,trailWidth:i.trailWidth,layerEffect:i.layerEffect,minSize:i.minSize,maxSize:i.maxSize,minOpacity:.25,maxOpacity:1}}export{k as cloneScheme,f as getSchemeByName,u as getSchemes,w as getSchemesByTag,y as getThemes};