@arcgis/core 4.33.0-next.20250202 → 4.33.0-next.20250204

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 (263) hide show
  1. package/WebScene.js +1 -1
  2. package/assets/esri/core/workers/RemoteClient.js +1 -1
  3. package/assets/esri/core/workers/chunks/{d3a8aabdbfb59dd433e3.js → 01c3507d78398baaf61b.js} +1 -1
  4. package/assets/esri/core/workers/chunks/{c74441fbe0f63633796f.js → 04306c2760c1f5b19966.js} +1 -1
  5. package/assets/esri/core/workers/chunks/1a2e1a414e651e988435.js +2 -0
  6. package/assets/esri/core/workers/chunks/{bf9bc52a3c559108c19a.js.LICENSE.txt → 1a2e1a414e651e988435.js.LICENSE.txt} +1 -1
  7. package/assets/esri/core/workers/chunks/308ec51ff4a66f7fcb0d.js.LICENSE.txt +1 -1
  8. package/assets/esri/core/workers/chunks/354531dc2f0dea2ad96f.js +2 -0
  9. package/assets/esri/core/workers/chunks/{6e8905f20101c1f4509d.js.LICENSE.txt → 354531dc2f0dea2ad96f.js.LICENSE.txt} +1 -1
  10. package/assets/esri/core/workers/chunks/{448ee44c7f594e5b2551.js → 3ce826ebf0692363309d.js} +1 -1
  11. package/assets/esri/core/workers/chunks/44abd2cd17aae3299ede.js +1 -0
  12. package/assets/esri/core/workers/chunks/{e9f0402fa3ac5a249807.js → 5196c43dbce48d1b81ae.js} +1 -1
  13. package/assets/esri/core/workers/chunks/568bcf809fcfd4d9c713.js +1 -0
  14. package/assets/esri/core/workers/chunks/{3ec51b75d1a86dad6cb1.js → 60cd8f4bba3e682ba57e.js} +1 -1
  15. package/assets/esri/core/workers/chunks/61243217aed5de012e93.js +1 -0
  16. package/assets/esri/core/workers/chunks/69d307758262e5d7a32e.js +1 -0
  17. package/assets/esri/core/workers/chunks/{e444ec05a8a1dfbd21a8.js → 6dee40b94f94ee7bc4e4.js} +1 -1
  18. package/assets/esri/core/workers/chunks/72cf9192292e5c85c6df.js.LICENSE.txt +1 -1
  19. package/assets/esri/core/workers/chunks/77764ca90bdd13ee2167.js +2 -0
  20. package/assets/esri/core/workers/chunks/{25c8cc30faade043c8dc.js.LICENSE.txt → 77764ca90bdd13ee2167.js.LICENSE.txt} +1 -1
  21. package/assets/esri/core/workers/chunks/{f8367c21fa91435c7c53.js → 7a3e4cb5f64dac2cfe0e.js} +1 -1
  22. package/assets/esri/core/workers/chunks/7b11bf5799ecb3640b48.js +314 -0
  23. package/assets/esri/core/workers/chunks/{ba3c18d1efde46461231.js → 8438fba57e82e4cc7c11.js} +1 -1
  24. package/assets/esri/core/workers/chunks/{0ef5b0f8aa8a09acd6e0.js → 8e90c5fee4ad7c7275dc.js} +1 -1
  25. package/assets/esri/core/workers/chunks/{f2fae056a81f12b56b04.js → 8edae4ca2b18a219a43e.js} +1 -1
  26. package/assets/esri/core/workers/chunks/918bdba41fa470cf77fd.js +1 -0
  27. package/assets/esri/core/workers/chunks/a2409d4921c02614169a.js +1 -0
  28. package/assets/esri/core/workers/chunks/{7810579a5a780933cdc9.js → ad3e692681b50bd1acc2.js} +1 -1
  29. package/assets/esri/core/workers/chunks/{adfa126cea32298c28e9.js → b1269b51cef3e11c85e3.js} +1 -1
  30. package/assets/esri/core/workers/chunks/{692b3d03346f030aa649.js → b1f5344e57ee679a7e81.js} +44 -44
  31. package/assets/esri/core/workers/chunks/b21b152fa15896577242.js.LICENSE.txt +1 -1
  32. package/assets/esri/core/workers/chunks/b8a519d5d24b2e728ff8.js +2 -0
  33. package/assets/esri/core/workers/chunks/{7d3a441d2eb18d709ef9.js.LICENSE.txt → b8a519d5d24b2e728ff8.js.LICENSE.txt} +1 -1
  34. package/assets/esri/core/workers/chunks/b9ce0049e27a3e1ed9f9.js +1 -0
  35. package/assets/esri/core/workers/chunks/{79afe4674a0557eb26e4.js → bf26f58210755875748c.js} +1 -1
  36. package/assets/esri/core/workers/chunks/c032bcd25e2e7a57ad43.js +1 -0
  37. package/assets/esri/core/workers/chunks/{6e25742ceedea7fb1b97.js → c3f03ccabca691186aad.js} +1 -1
  38. package/assets/esri/core/workers/chunks/{5adeb979f178944b9ce5.js → c4c2b94e5cee7b824093.js} +1 -1
  39. package/assets/esri/core/workers/chunks/{3e872e5e528dca7bee0c.js → cc75bbfd779f409943a3.js} +1 -1
  40. package/assets/esri/core/workers/chunks/{4c5279fedf982a174706.js → d175953337fa655dc6b0.js} +1 -1
  41. package/assets/esri/core/workers/chunks/d35efcbe439500bf18bc.js +1 -0
  42. package/assets/esri/core/workers/chunks/{bc50585615f07d5ec1a9.js → e4f82b5b50996b1ae48e.js} +1 -1
  43. package/assets/esri/core/workers/chunks/{2345344be4b0e487d3a6.js → f198f4ba7d3d52882d98.js} +1 -1
  44. package/assets/esri/core/workers/chunks/{881ddbdeb40336208e90.js → f29715459ecd46180829.js} +1 -1
  45. package/assets/esri/core/workers/chunks/{d1678945cf6a58f76863.js → f48ef415b90edc7ccadd.js} +1 -1
  46. package/assets/esri/themes/base/_core.scss +0 -2
  47. package/assets/esri/themes/base/widgets/_Directions.scss +129 -425
  48. package/assets/esri/themes/base/widgets/_Editor.scss +31 -0
  49. package/assets/esri/themes/dark/main.css +1 -1
  50. package/assets/esri/themes/light/main.css +1 -1
  51. package/assets/esri/themes/light/view.css +1 -1
  52. package/assets/esri/widgets/Directions/t9n/Directions_ar.json +1 -1
  53. package/assets/esri/widgets/Directions/t9n/Directions_bg.json +1 -1
  54. package/assets/esri/widgets/Directions/t9n/Directions_bs.json +1 -1
  55. package/assets/esri/widgets/Directions/t9n/Directions_ca.json +1 -1
  56. package/assets/esri/widgets/Directions/t9n/Directions_cs.json +1 -1
  57. package/assets/esri/widgets/Directions/t9n/Directions_da.json +1 -1
  58. package/assets/esri/widgets/Directions/t9n/Directions_de.json +1 -1
  59. package/assets/esri/widgets/Directions/t9n/Directions_el.json +1 -1
  60. package/assets/esri/widgets/Directions/t9n/Directions_es.json +1 -1
  61. package/assets/esri/widgets/Directions/t9n/Directions_et.json +1 -1
  62. package/assets/esri/widgets/Directions/t9n/Directions_fi.json +1 -1
  63. package/assets/esri/widgets/Directions/t9n/Directions_fr.json +1 -1
  64. package/assets/esri/widgets/Directions/t9n/Directions_he.json +1 -1
  65. package/assets/esri/widgets/Directions/t9n/Directions_hr.json +1 -1
  66. package/assets/esri/widgets/Directions/t9n/Directions_hu.json +1 -1
  67. package/assets/esri/widgets/Directions/t9n/Directions_id.json +1 -1
  68. package/assets/esri/widgets/Directions/t9n/Directions_it.json +1 -1
  69. package/assets/esri/widgets/Directions/t9n/Directions_ja.json +1 -1
  70. package/assets/esri/widgets/Directions/t9n/Directions_ko.json +1 -1
  71. package/assets/esri/widgets/Directions/t9n/Directions_lt.json +1 -1
  72. package/assets/esri/widgets/Directions/t9n/Directions_lv.json +1 -1
  73. package/assets/esri/widgets/Directions/t9n/Directions_nl.json +1 -1
  74. package/assets/esri/widgets/Directions/t9n/Directions_no.json +1 -1
  75. package/assets/esri/widgets/Directions/t9n/Directions_pl.json +1 -1
  76. package/assets/esri/widgets/Directions/t9n/Directions_pt-BR.json +1 -1
  77. package/assets/esri/widgets/Directions/t9n/Directions_pt-PT.json +1 -1
  78. package/assets/esri/widgets/Directions/t9n/Directions_ro.json +1 -1
  79. package/assets/esri/widgets/Directions/t9n/Directions_ru.json +1 -1
  80. package/assets/esri/widgets/Directions/t9n/Directions_sk.json +1 -1
  81. package/assets/esri/widgets/Directions/t9n/Directions_sl.json +1 -1
  82. package/assets/esri/widgets/Directions/t9n/Directions_sr.json +1 -1
  83. package/assets/esri/widgets/Directions/t9n/Directions_sv.json +1 -1
  84. package/assets/esri/widgets/Directions/t9n/Directions_th.json +1 -1
  85. package/assets/esri/widgets/Directions/t9n/Directions_tr.json +1 -1
  86. package/assets/esri/widgets/Directions/t9n/Directions_uk.json +1 -1
  87. package/assets/esri/widgets/Directions/t9n/Directions_vi.json +1 -1
  88. package/assets/esri/widgets/Directions/t9n/Directions_zh-CN.json +1 -1
  89. package/assets/esri/widgets/Directions/t9n/Directions_zh-HK.json +1 -1
  90. package/assets/esri/widgets/Directions/t9n/Directions_zh-TW.json +1 -1
  91. package/chunks/ComponentShader.glsl.js +30 -30
  92. package/chunks/DefaultMaterial.glsl.js +19 -19
  93. package/chunks/HUDMaterial.glsl.js +34 -34
  94. package/chunks/MeasurementArrow.glsl.js +6 -6
  95. package/chunks/NativeLine.glsl.js +4 -4
  96. package/chunks/QuadraticBezier.js +1 -1
  97. package/chunks/RealisticTree.glsl.js +14 -14
  98. package/chunks/RibbonLine.glsl.js +32 -32
  99. package/chunks/Terrain.glsl.js +31 -31
  100. package/chunks/WaterSurface.glsl.js +15 -15
  101. package/copyright.txt +0 -29
  102. package/core/Collection.js +1 -1
  103. package/core/has.js +1 -1
  104. package/geometry/support/centroid.js +1 -1
  105. package/interfaces.d.ts +139 -13
  106. package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
  107. package/layers/mixins/ArcGISImageService.js +1 -1
  108. package/layers/mixins/ImageryTileMixin.js +1 -1
  109. package/layers/support/labelUtils.js +1 -1
  110. package/layers/support/rasterDatasets/WCSRaster.js +1 -1
  111. package/layers/support/rasterDatasets/multidimensionalUtils.js +1 -1
  112. package/package.json +4 -5
  113. package/popup/content/AttachmentsContent.js +1 -1
  114. package/popup/support/AttachmentsOrderByInfo.d.ts +4 -0
  115. package/popup/support/AttachmentsOrderByInfo.js +5 -0
  116. package/portal/schemas/definitions.js +1 -1
  117. package/rest/imageService/fetchRasterInfo.js +1 -1
  118. package/support/revision.js +1 -1
  119. package/support/timeUtils.d.ts +0 -1
  120. package/support/timeUtils.js +1 -1
  121. package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
  122. package/symbols/cim/animationUtils.js +1 -1
  123. package/symbols/cim/defaultCIMValues.js +1 -1
  124. package/views/2d/engine/webgl/animations/utils.js +1 -1
  125. package/views/2d/engine/webgl/mesh/factories/FeatureMeshFactory.js +1 -1
  126. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedShader.js +1 -1
  127. package/views/2d/engine/webgl/shaderGraph/techniques/line/GradientStrokeTechnique.js +1 -1
  128. package/views/2d/engine/webgl/shaderGraph/techniques/line/gradientStrokeConstants.js +1 -1
  129. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/GradientStrokeShader.js +1 -1
  130. package/views/2d/engine/webgl/util/LabelMatcher.js +1 -1
  131. package/views/2d/engine/webgl/util/createMatcher.js +1 -1
  132. package/views/2d/layers/features/layerAdapters/SubtypeGroupLayerAdapter.js +1 -1
  133. package/views/3d/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiles3D.js +1 -1
  134. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  135. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  136. package/views/3d/layers/graphics/Graphics3DGraphicsPipeline.js +1 -1
  137. package/views/3d/layers/i3s/I3SClientMaterialUtil.js +1 -1
  138. package/views/3d/layers/i3s/I3SMaterialUtil.js +1 -1
  139. package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
  140. package/views/3d/layers/support/FeatureTileFetcher3DContext.js +1 -1
  141. package/views/3d/layers/support/FeatureTileTree3D.js +1 -1
  142. package/views/3d/layers/support/FeatureVisibilityFilter.js +1 -1
  143. package/views/3d/terrain/PatchRenderData.js +1 -1
  144. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  145. package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentShader.glsl.js +1 -1
  146. package/views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js +3 -3
  147. package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +1 -1
  148. package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
  149. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  150. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  151. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  152. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  153. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  154. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  155. package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
  156. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  157. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  158. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  159. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  160. package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
  161. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  162. package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
  163. package/views/3d/webgl-engine/shaders/MeasurementArrow.glsl.js +1 -1
  164. package/views/3d/webgl-engine/shaders/NativeLine.glsl.js +1 -1
  165. package/views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js +8 -8
  166. package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
  167. package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
  168. package/views/3d/webgl-engine/shaders/Terrain.glsl.js +1 -1
  169. package/views/3d/webgl-engine/shaders/WaterSurface.glsl.js +1 -1
  170. package/views/layers/FeatureLayerView.js +1 -1
  171. package/views/layers/ImageryTileLayerView.d.ts +4 -0
  172. package/views/layers/ImageryTileLayerView.js +1 -1
  173. package/webscene/spec-certification/index.js +1 -1
  174. package/widgets/BasemapLayerList.js +1 -1
  175. package/widgets/Directions/DirectionsSearchTool.js +5 -0
  176. package/widgets/Directions/DirectionsViewModel.js +1 -1
  177. package/widgets/Directions/DirectionsVisibleElements.js +5 -0
  178. package/widgets/Directions.js +1 -1
  179. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  180. package/widgets/Editor/CreateFeaturesWorkflowData.js +1 -1
  181. package/widgets/Editor/EditorViewModel.js +1 -1
  182. package/widgets/Editor/Edits.js +1 -1
  183. package/widgets/Editor/UpdateWorkflow.js +1 -1
  184. package/widgets/Editor/VisibleElements.js +1 -1
  185. package/widgets/Editor/components/CreateFeaturesPanelContent.js +1 -1
  186. package/widgets/Editor/components/PanelToolbar.js +1 -1
  187. package/widgets/Editor/components/PendingFeatureList.js +5 -0
  188. package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
  189. package/widgets/Editor/css.js +1 -1
  190. package/widgets/Editor/workflowUtils.js +1 -1
  191. package/widgets/Editor.js +1 -1
  192. package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
  193. package/widgets/FeatureForm/FieldInput.js +1 -1
  194. package/widgets/FeatureForm.js +1 -1
  195. package/widgets/LayerList.js +1 -1
  196. package/widgets/Legend/LegendViewModel.js +1 -1
  197. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  198. package/widgets/Legend.js +1 -1
  199. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  200. package/widgets/Search.js +1 -1
  201. package/widgets/Sketch/SketchViewModel.js +1 -1
  202. package/widgets/Sketch/VisibleElements.js +1 -1
  203. package/widgets/Sketch.js +1 -1
  204. package/widgets/support/ItemList.js +1 -1
  205. package/assets/esri/core/workers/chunks/06d72622590dbd38c5de.js +0 -1
  206. package/assets/esri/core/workers/chunks/0a19e1aec6a5502e391a.js +0 -1
  207. package/assets/esri/core/workers/chunks/12964a4b16113cdc9c93.js +0 -1
  208. package/assets/esri/core/workers/chunks/25c8cc30faade043c8dc.js +0 -2
  209. package/assets/esri/core/workers/chunks/326a3f50e585e492b673.js +0 -1
  210. package/assets/esri/core/workers/chunks/34d464dacee52739c98c.js +0 -1
  211. package/assets/esri/core/workers/chunks/4cab082b8432ddc05345.js +0 -1
  212. package/assets/esri/core/workers/chunks/6e8905f20101c1f4509d.js +0 -2
  213. package/assets/esri/core/workers/chunks/6f796f2836f949ab7359.js +0 -1
  214. package/assets/esri/core/workers/chunks/7d3a441d2eb18d709ef9.js +0 -2
  215. package/assets/esri/core/workers/chunks/bf9bc52a3c559108c19a.js +0 -2
  216. package/assets/esri/core/workers/chunks/dd46ec81cebe1a0a7b9c.js +0 -1
  217. package/assets/esri/core/workers/chunks/fb1a89f753057f889971.js +0 -314
  218. package/assets/esri/core/workers/chunks/ffa2b9d70830aed03a8f.js +0 -1
  219. package/assets/esri/themes/base/widgets/_SaveLayer.scss +0 -40
  220. package/assets/esri/widgets/support/t9n/SaveLayer.json +0 -1
  221. package/assets/esri/widgets/support/t9n/SaveLayer_ar.json +0 -1
  222. package/assets/esri/widgets/support/t9n/SaveLayer_bg.json +0 -1
  223. package/assets/esri/widgets/support/t9n/SaveLayer_bs.json +0 -1
  224. package/assets/esri/widgets/support/t9n/SaveLayer_ca.json +0 -1
  225. package/assets/esri/widgets/support/t9n/SaveLayer_cs.json +0 -1
  226. package/assets/esri/widgets/support/t9n/SaveLayer_da.json +0 -1
  227. package/assets/esri/widgets/support/t9n/SaveLayer_de.json +0 -1
  228. package/assets/esri/widgets/support/t9n/SaveLayer_el.json +0 -1
  229. package/assets/esri/widgets/support/t9n/SaveLayer_en.json +0 -1
  230. package/assets/esri/widgets/support/t9n/SaveLayer_es.json +0 -1
  231. package/assets/esri/widgets/support/t9n/SaveLayer_et.json +0 -1
  232. package/assets/esri/widgets/support/t9n/SaveLayer_fi.json +0 -1
  233. package/assets/esri/widgets/support/t9n/SaveLayer_fr.json +0 -1
  234. package/assets/esri/widgets/support/t9n/SaveLayer_he.json +0 -1
  235. package/assets/esri/widgets/support/t9n/SaveLayer_hr.json +0 -1
  236. package/assets/esri/widgets/support/t9n/SaveLayer_hu.json +0 -1
  237. package/assets/esri/widgets/support/t9n/SaveLayer_id.json +0 -1
  238. package/assets/esri/widgets/support/t9n/SaveLayer_it.json +0 -1
  239. package/assets/esri/widgets/support/t9n/SaveLayer_ja.json +0 -1
  240. package/assets/esri/widgets/support/t9n/SaveLayer_ko.json +0 -1
  241. package/assets/esri/widgets/support/t9n/SaveLayer_lt.json +0 -1
  242. package/assets/esri/widgets/support/t9n/SaveLayer_lv.json +0 -1
  243. package/assets/esri/widgets/support/t9n/SaveLayer_nl.json +0 -1
  244. package/assets/esri/widgets/support/t9n/SaveLayer_no.json +0 -1
  245. package/assets/esri/widgets/support/t9n/SaveLayer_pl.json +0 -1
  246. package/assets/esri/widgets/support/t9n/SaveLayer_pt-BR.json +0 -1
  247. package/assets/esri/widgets/support/t9n/SaveLayer_pt-PT.json +0 -1
  248. package/assets/esri/widgets/support/t9n/SaveLayer_ro.json +0 -1
  249. package/assets/esri/widgets/support/t9n/SaveLayer_ru.json +0 -1
  250. package/assets/esri/widgets/support/t9n/SaveLayer_sk.json +0 -1
  251. package/assets/esri/widgets/support/t9n/SaveLayer_sl.json +0 -1
  252. package/assets/esri/widgets/support/t9n/SaveLayer_sr.json +0 -1
  253. package/assets/esri/widgets/support/t9n/SaveLayer_sv.json +0 -1
  254. package/assets/esri/widgets/support/t9n/SaveLayer_th.json +0 -1
  255. package/assets/esri/widgets/support/t9n/SaveLayer_tr.json +0 -1
  256. package/assets/esri/widgets/support/t9n/SaveLayer_uk.json +0 -1
  257. package/assets/esri/widgets/support/t9n/SaveLayer_vi.json +0 -1
  258. package/assets/esri/widgets/support/t9n/SaveLayer_zh-CN.json +0 -1
  259. package/assets/esri/widgets/support/t9n/SaveLayer_zh-HK.json +0 -1
  260. package/assets/esri/widgets/support/t9n/SaveLayer_zh-TW.json +0 -1
  261. package/widgets/Directions/components/SaveLayer.js +0 -5
  262. package/widgets/Directions/css.js +0 -5
  263. /package/{views/3d/webgl-engine/core/shaderLibrary/util → webscene/support}/AlphaCutoff.js +0 -0
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import"../../core/has.js";import t from"../../core/Logger.js";import{throwIfAborted as r}from"../../core/promiseUtils.js";import{watch as i,syncAndInitial as s,on as l}from"../../core/reactiveUtils.js";import{sqlAnd as n}from"../../core/sql.js";import{property as o}from"../../core/accessorSupport/decorators/property.js";import"../../core/RandomLCG.js";import{subclass as a}from"../../core/accessorSupport/decorators/subclass.js";import{systemIsSpatialFieldName as u}from"../../layers/knowledgeGraph/constants.js";import{getEffectiveDisplayFilter as p}from"../../layers/support/displayFilterUtils.js";import d from"../../layers/support/FeatureEffect.js";import f from"../../layers/support/FeatureFilter.js";import{getSignedInUser as y}from"../../layers/support/featureLayerUtils.js";import{fixFields as h,unpackFieldNames as m,collectLabelingFields as c,collectElevationFields as F,collectFilterFields as g,collectFeatureReductionFields as I,collectOrderByInfos as b,collectFields as w,collectTrackInfoFields as E,collectDisplayFilterFields as v,collectField as x,featureHasFields as q}from"../../layers/support/fieldUtils.js";import{getFloorFilterClause as R}from"../../layers/support/floorFilterUtils.js";import _ from"../../rest/support/Query.js";import{loadArcade as j}from"../../support/arcadeOnDemand.js";import{getRequiredFields as C,getFetchPopupTemplate as O}from"./support/popupUtils.js";import{WhereClauseVisitor as P}from"./support/WhereClauseVisitor.js";const k=k=>{let U=class extends k{constructor(...e){super(...e),this._updatingRequiredPromise=null,this.filter=null,this.layer=null,this.requiresCurrentUser=!1,this.requiredFields=[],this.view=null}initialize(){this.addHandles([i((()=>{const e=this.layer;return[e&&"elevationInfo"in e?e.elevationInfo?.featureExpressionInfo:null,e&&"displayField"in e?e.displayField:null,e&&"timeInfo"in e&&e.timeInfo,e&&"renderer"in e&&e.renderer,e&&"labelingInfo"in e&&e.labelingInfo,e&&"floorInfo"in e&&e.floorInfo,e.displayFilterInfo,this.displayFilterEnabled,this.filter,this.featureEffect,this.timeExtent,"knowledge-graph-sublayer"===e?.type&&"link-chart"===e.parentCompositeLayer.type&&e.parentCompositeLayer.linkChart?.linkChartProperties.nonspatialDataDisplay?.mode,"parquet"===e?.type&&e.popupTemplate]}),(()=>this._handleChange()),s),l((()=>this.view?.floors),"change",(()=>this._handleChange())),l((()=>this.layer.displayFilterInfo?.filters),"change",(()=>this._handleChange())),l((()=>this.layer&&"sublayers"in this.layer?this.layer.sublayers:null),"change",(()=>this._handleChange()))])}get availableFields(){if(!this.layer)return[];const{layer:e,layer:{fieldsIndex:t},requiredFields:r}=this;return"outFields"in e&&e.outFields?h(t,[...m(t,e.outFields),...r]):h(t,r)}get displayFilterEnabled(){return(this.view?.displayFilterEnabled??!0)&&(!("displayFilterEnabled"in this.layer)||(this.layer?.displayFilterEnabled??!0))}get effectiveDisplayFilter(){const e=this.layer;return this.displayFilterEnabled&&e.displayFilterInfo?p(e.displayFilterInfo,this.view):null}get featureEffect(){return this.layer&&"featureEffect"in this.layer?this.layer.featureEffect:null}set featureEffect(e){this._override("featureEffect",e)}get maximumNumberOfFeatures(){return 0}set maximumNumberOfFeatures(e){t.getLogger(this).error("#maximumNumberOfFeatures=","Setting maximum number of features is not supported")}get maximumNumberOfFeaturesExceeded(){return!1}get signedInUser(){return this.layer?.url?y(this.layer.url):Promise.resolve(null)}highlight(e,t){throw new Error("missing implementation")}createQuery(){const e={outFields:["*"],returnGeometry:!0,outSpatialReference:this.view.spatialReference},t=null!=this.filter?this.filter.createQuery(e):new _(e);return"floorInfo"in this.layer&&this.layer.floorInfo&&(t.where=n(t.where,R(this))),"2d"===this.view.type&&this.displayFilterEnabled&&(t.where=n(t.where,this.effectiveDisplayFilter?.where)),null!=this.timeExtent&&(t.timeExtent=null!=t.timeExtent?t.timeExtent.intersection(this.timeExtent):this.timeExtent.clone()),t}createAggregateQuery(){const e={outFields:["*"],returnGeometry:!0,outSpatialReference:this.view.spatialReference};return new _(e)}queryFeatures(e,t){throw new Error("missing implementation")}queryObjectIds(e,t){throw new Error("missing implementation")}queryFeatureCount(e,t){throw new Error("missing implementation")}queryExtent(e,t){throw new Error("missing implementation")}async fetchPopupFeaturesFromGraphics(e,t){return this._fetchPopupFeatures(e,t)}_loadArcadeModules(e){return e.expressionInfos?.length||Array.isArray(e.content)&&e.content.some((e=>"expression"===e.type))?j():Promise.resolve()}_handleChange(){const e=Promise.all([this._updateRequiredFields(),this._updateClientWhereClauseRequirements()]).then((()=>{}));return this._set("_updatingRequiredPromise",e),e.then((()=>{this._updatingRequiredPromise===e&&this._set("_updatingRequiredPromise",null)})),e}async _updateClientWhereClauseRequirements(){if(!this.layer||!this.view)return;const{layer:e}=this,r=new P(e.fieldsIndex);if(r.visitFilter(this.filter),"featureReduction"in e&&r.visitFeatureReduction(e.featureReduction),"labelingInfo"in e&&r.visitLabelingInfo(e.labelsVisible,e.labelingInfo),"trackInfo"in e&&r.visitTrackInfo(e.trackInfo),"2d"===this.view.type&&(r.visitFilter(this.featureEffect?.filter),r.visitDisplayFilter(this.displayFilterEnabled,e.displayFilterInfo),"featureReduction"in e&&r.visitFeatureReduction(e.featureReduction)),"subtype-group"===e.type)for(const t of e.sublayers)r.visitLabelingInfo(t.labelsVisible,t.labelingInfo);try{const e=await r.finish();this._set("requiresCurrentUser",e.requiresCurrentUser)}catch(i){t.getLogger(this).error(i)}}async _updateRequiredFields(){if(!this.layer||!this.view)return;const e="3d"===this.view.type,{layer:r,layer:{fieldsIndex:i,objectIdField:s}}=this,l="renderer"in r&&r.renderer,n="orderBy"in r&&r.orderBy,o="featureReduction"in r?r.featureReduction:null,a=new Set,p=[l?l.collectRequiredFields(a,i):null,c(a,r),e&&"elevationInfo"in r?F(a,r):null,null!=this.filter?g(a,r,this.filter):null,e||null==this.featureEffect?null:g(a,r,this.featureEffect.filter),!e&&o?I(a,r,o):null,!e&&n?b(a,r,n):null];if("timeInfo"in r&&r.timeInfo&&this.timeExtent&&w(a,r.fieldsIndex,[r.timeInfo.startField,r.timeInfo.endField]),"timeInfo"in r&&r.timeInfo&&"trackInfo"in r&&r.trackInfo){const{trackInfo:e}=r;w(a,r.fieldsIndex,[r.timeInfo.trackIdField]),"feature"!==r.type&&"startTimeField"!==e.timeField||w(a,r.fieldsIndex,[r.timeInfo.startField]),"endTimeField"===e.timeField&&w(a,r.fieldsIndex,[r.timeInfo.endField]),await E(a,r)}if("floorInfo"in r&&r.floorInfo&&w(a,r.fieldsIndex,[r.floorInfo.floorField]),!e&&this.displayFilterEnabled&&p.push(v(a,r,r.displayFilterInfo)),"feature"===r.type&&e&&null!=r.infoFor3D&&(null==r.globalIdField&&t.getLogger(this).error("globalIdField missing on 3DObjectFeatureLayer"),w(a,r.fieldsIndex,[r.globalIdField])),"subtype-group"===r.type){x(a,i,r.subtypeField);const e=r.sublayers.map((e=>Promise.all([e.renderer?.collectRequiredFields(a,i),c(a,e)])));p.push(Promise.all(e))}if("catalog-footprint"===r.type&&r.parent){const e=r.parent;w(a,i,[e.itemNameField,e.itemSourceField,e.itemTypeField,e.maxScaleField,e.minScaleField])}"knowledge-graph-sublayer"===r.type&&"link-chart"===r.parentCompositeLayer.type&&x(a,i,u),"parquet"===r.type&&p.push(C(r,r.popupTemplate).then((e=>{for(const t of e)a.add(t)})));const d=await Promise.allSettled(p);x(a,i,s),e&&"displayField"in r&&r.displayField&&x(a,i,r.displayField);for(const u of d)"rejected"===u.status&&t.getLogger(this).error(u.reason);const f=Array.from(a).sort();this._set("requiredFields",f)}_popupFeatureHasRequiredFields(e,t){return q(t,e)}async _fetchPopupFeatures(e,t){const i=new Array(e.length),s=new Map,l=await this._createPopupQuery(e.map((e=>e.origin?.layer??e.layer)),t);for(let n=0;n<e.length;n++){const o=e[n];if(o.isAggregate){i[n]=o;continue}const a=o.origin?.layer??o.layer;if(!a||!("popupEnabled"in a)||!a.popupEnabled)continue;const u=m(this.layer.fieldsIndex,l.outFields),p=O(a,t);if(null==p)continue;const d=await this._loadArcadeModules(p);r(t);d&&d.arcadeUtils.hasGeometryOperations(p)||!this._popupFeatureHasRequiredFields(o,u)?s.set(o.getObjectId(),{graphic:o,index:n}):i[n]=o}if("stream"===this.layer.type||"parquet"===this.layer.type||0===s.size)return i.filter(Boolean);l.objectIds=Array.from(s.keys());try{const e=await this.layer.queryFeatures(l,t);for(const t of e.features){const{graphic:{geometry:e,origin:r},index:l}=s.get(t.getObjectId());t.geometry||=e,t.origin=r,i[l]=t}}catch{}return i.filter(Boolean)}async _createPopupQuery(e,t){const i=this.layer.createQuery(),s=new Set;let l=!1;const n=e??[this.layer];for(const o of n){if(!("popupEnabled"in o))continue;const e=O(o,t);if(null==e)continue;const i=await this._loadArcadeModules(e);r(t);const n=i&&i.arcadeUtils.hasGeometryOperations(e);l=!("point"!==this.layer.geometryType&&!n);const a=await C(this.layer,e);r(t);for(const t of a)s.add(t)}if(i.returnGeometry=l,i.returnZ=l,i.returnM=l,i.outFields=Array.from(s),i.outSpatialReference=this.view.spatialReference,"floorInfo"in this.layer&&this.layer.floorInfo){const e=R(this);null!=e&&(i.where=i.where?`(${i.where}) AND (${e})`:e)}return i}canResume(){return!!super.canResume()&&(null==this.timeExtent||!this.timeExtent.isEmpty)}getTest(){}get test(){}};return e([o()],U.prototype,"_updatingRequiredPromise",void 0),e([o({readOnly:!0})],U.prototype,"availableFields",null),e([o({readOnly:!0})],U.prototype,"displayFilterEnabled",null),e([o({readOnly:!0})],U.prototype,"effectiveDisplayFilter",null),e([o({type:d})],U.prototype,"featureEffect",null),e([o({type:f})],U.prototype,"filter",void 0),e([o()],U.prototype,"layer",void 0),e([o({type:Number})],U.prototype,"maximumNumberOfFeatures",null),e([o({readOnly:!0,type:Boolean})],U.prototype,"maximumNumberOfFeaturesExceeded",null),e([o()],U.prototype,"requiresCurrentUser",void 0),e([o({readOnly:!0})],U.prototype,"requiredFields",void 0),e([o({readOnly:!0})],U.prototype,"signedInUser",null),e([o()],U.prototype,"suspended",void 0),e([o()],U.prototype,"view",void 0),U=e([a("esri.views.layers.FeatureLayerView")],U),U};export{k as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import"../../core/has.js";import t from"../../core/Logger.js";import{throwIfAborted as r}from"../../core/promiseUtils.js";import{watch as i,syncAndInitial as s,on as l}from"../../core/reactiveUtils.js";import{sqlAnd as n}from"../../core/sql.js";import{property as o}from"../../core/accessorSupport/decorators/property.js";import"../../core/RandomLCG.js";import{subclass as a}from"../../core/accessorSupport/decorators/subclass.js";import{systemIsSpatialFieldName as u}from"../../layers/knowledgeGraph/constants.js";import{getEffectiveDisplayFilter as p}from"../../layers/support/displayFilterUtils.js";import d from"../../layers/support/FeatureEffect.js";import f from"../../layers/support/FeatureFilter.js";import{getSignedInUser as y}from"../../layers/support/featureLayerUtils.js";import{fixFields as h,unpackFieldNames as m,collectLabelingFields as c,collectElevationFields as F,collectFilterFields as g,collectFeatureReductionFields as I,collectOrderByInfos as b,collectFields as w,collectTrackInfoFields as E,collectDisplayFilterFields as v,collectField as x,featureHasFields as q}from"../../layers/support/fieldUtils.js";import{getFloorFilterClause as R}from"../../layers/support/floorFilterUtils.js";import _ from"../../rest/support/Query.js";import{loadArcade as j}from"../../support/arcadeOnDemand.js";import{getRequiredFields as C,getFetchPopupTemplate as O}from"./support/popupUtils.js";import{WhereClauseVisitor as P}from"./support/WhereClauseVisitor.js";const k=k=>{let U=class extends k{constructor(...e){super(...e),this._updatingRequiredPromise=null,this.filter=null,this.layer=null,this.requiresCurrentUser=!1,this.requiredFields=[],this.view=null}initialize(){this.addHandles([i((()=>{const e=this.layer;return[e&&"elevationInfo"in e?e.elevationInfo?.featureExpressionInfo:null,e&&"displayField"in e?e.displayField:null,e&&"timeInfo"in e&&e.timeInfo,e&&"renderer"in e&&e.renderer,e&&"labelingInfo"in e&&e.labelingInfo,e&&"floorInfo"in e&&e.floorInfo,e.displayFilterInfo,this.displayFilterEnabled,this.filter,this.featureEffect,this.timeExtent,"knowledge-graph-sublayer"===e?.type&&"link-chart"===e.parentCompositeLayer.type&&e.parentCompositeLayer.linkChart?.linkChartProperties.nonspatialDataDisplay?.mode,"parquet"===e?.type&&e.popupTemplate]}),(()=>this._handleChange()),s),l((()=>this.view?.floors),"change",(()=>this._handleChange())),l((()=>this.layer.displayFilterInfo?.filters),"change",(()=>this._handleChange())),l((()=>this.layer&&"sublayers"in this.layer?this.layer.sublayers:null),"change",(()=>this._handleChange()))])}get availableFields(){if(!this.layer)return[];const{layer:e,layer:{fieldsIndex:t},requiredFields:r}=this;return"outFields"in e&&e.outFields?h(t,[...m(t,e.outFields),...r]):h(t,r)}get displayFilterEnabled(){return(this.view?.displayFilterEnabled??!0)&&(!("displayFilterEnabled"in this.layer)||(this.layer?.displayFilterEnabled??!0))}get effectiveDisplayFilter(){const e=this.layer;return this.displayFilterEnabled&&e.displayFilterInfo?p(e.displayFilterInfo,this.view):null}get featureEffect(){return this.layer&&"featureEffect"in this.layer?this.layer.featureEffect:null}set featureEffect(e){this._override("featureEffect",e)}get maximumNumberOfFeatures(){return 0}set maximumNumberOfFeatures(e){t.getLogger(this).error("#maximumNumberOfFeatures=","Setting maximum number of features is not supported")}get maximumNumberOfFeaturesExceeded(){return!1}get signedInUser(){return this.layer?.url?y(this.layer.url):Promise.resolve(null)}highlight(e,t){throw new Error("missing implementation")}createQuery(){const e={outFields:["*"],returnGeometry:!0,outSpatialReference:this.view.spatialReference},t=null!=this.filter?this.filter.createQuery(e):new _(e);return"floorInfo"in this.layer&&this.layer.floorInfo&&(t.where=n(t.where,R(this))),this.displayFilterEnabled&&(t.where=n(t.where,this.effectiveDisplayFilter?.where)),null!=this.timeExtent&&(t.timeExtent=null!=t.timeExtent?t.timeExtent.intersection(this.timeExtent):this.timeExtent.clone()),t}createAggregateQuery(){const e={outFields:["*"],returnGeometry:!0,outSpatialReference:this.view.spatialReference};return new _(e)}queryFeatures(e,t){throw new Error("missing implementation")}queryObjectIds(e,t){throw new Error("missing implementation")}queryFeatureCount(e,t){throw new Error("missing implementation")}queryExtent(e,t){throw new Error("missing implementation")}async fetchPopupFeaturesFromGraphics(e,t){return this._fetchPopupFeatures(e,t)}_loadArcadeModules(e){return e.expressionInfos?.length||Array.isArray(e.content)&&e.content.some((e=>"expression"===e.type))?j():Promise.resolve()}_handleChange(){const e=Promise.all([this._updateRequiredFields(),this._updateClientWhereClauseRequirements()]).then((()=>{}));return this._set("_updatingRequiredPromise",e),e.then((()=>{this._updatingRequiredPromise===e&&this._set("_updatingRequiredPromise",null)})),e}async _updateClientWhereClauseRequirements(){if(!this.layer||!this.view)return;const{layer:e}=this,r=new P(e.fieldsIndex);if(r.visitFilter(this.filter),"featureReduction"in e&&r.visitFeatureReduction(e.featureReduction),"labelingInfo"in e&&r.visitLabelingInfo(e.labelsVisible,e.labelingInfo),"trackInfo"in e&&r.visitTrackInfo(e.trackInfo),"2d"===this.view.type&&(r.visitFilter(this.featureEffect?.filter),r.visitDisplayFilter(this.displayFilterEnabled,e.displayFilterInfo),"featureReduction"in e&&r.visitFeatureReduction(e.featureReduction)),"subtype-group"===e.type)for(const t of e.sublayers)r.visitLabelingInfo(t.labelsVisible,t.labelingInfo);try{const e=await r.finish();this._set("requiresCurrentUser",e.requiresCurrentUser)}catch(i){t.getLogger(this).error(i)}}async _updateRequiredFields(){if(!this.layer||!this.view)return;const e="3d"===this.view.type,{layer:r,layer:{fieldsIndex:i,objectIdField:s}}=this,l="renderer"in r&&r.renderer,n="orderBy"in r&&r.orderBy,o="featureReduction"in r?r.featureReduction:null,a=new Set,p=[l?l.collectRequiredFields(a,i):null,c(a,r),e&&"elevationInfo"in r?F(a,r):null,null!=this.filter?g(a,r,this.filter):null,e||null==this.featureEffect?null:g(a,r,this.featureEffect.filter),!e&&o?I(a,r,o):null,!e&&n?b(a,r,n):null];if("timeInfo"in r&&r.timeInfo&&this.timeExtent&&w(a,r.fieldsIndex,[r.timeInfo.startField,r.timeInfo.endField]),"timeInfo"in r&&r.timeInfo&&"trackInfo"in r&&r.trackInfo){const{trackInfo:e}=r;w(a,r.fieldsIndex,[r.timeInfo.trackIdField]),"feature"!==r.type&&"startTimeField"!==e.timeField||w(a,r.fieldsIndex,[r.timeInfo.startField]),"endTimeField"===e.timeField&&w(a,r.fieldsIndex,[r.timeInfo.endField]),await E(a,r)}if("floorInfo"in r&&r.floorInfo&&w(a,r.fieldsIndex,[r.floorInfo.floorField]),this.displayFilterEnabled&&p.push(v(a,r,r.displayFilterInfo)),"feature"===r.type&&e&&null!=r.infoFor3D&&(null==r.globalIdField&&t.getLogger(this).error("globalIdField missing on 3DObjectFeatureLayer"),w(a,r.fieldsIndex,[r.globalIdField])),"subtype-group"===r.type){x(a,i,r.subtypeField);const e=r.sublayers.map((e=>Promise.all([e.renderer?.collectRequiredFields(a,i),c(a,e)])));p.push(Promise.all(e))}if("catalog-footprint"===r.type&&r.parent){const e=r.parent;w(a,i,[e.itemNameField,e.itemSourceField,e.itemTypeField,e.maxScaleField,e.minScaleField])}"knowledge-graph-sublayer"===r.type&&"link-chart"===r.parentCompositeLayer.type&&x(a,i,u),"parquet"===r.type&&p.push(C(r,r.popupTemplate).then((e=>{for(const t of e)a.add(t)})));const d=await Promise.allSettled(p);x(a,i,s),e&&"displayField"in r&&r.displayField&&x(a,i,r.displayField);for(const u of d)"rejected"===u.status&&t.getLogger(this).error(u.reason);const f=Array.from(a).sort();this._set("requiredFields",f)}_popupFeatureHasRequiredFields(e,t){return q(t,e)}async _fetchPopupFeatures(e,t){const i=new Array(e.length),s=new Map,l=await this._createPopupQuery(e.map((e=>e.origin?.layer??e.layer)),t);for(let n=0;n<e.length;n++){const o=e[n];if(o.isAggregate){i[n]=o;continue}const a=o.origin?.layer??o.layer;if(!a||!("popupEnabled"in a)||!a.popupEnabled)continue;const u=m(this.layer.fieldsIndex,l.outFields),p=O(a,t);if(null==p)continue;const d=await this._loadArcadeModules(p);r(t);d&&d.arcadeUtils.hasGeometryOperations(p)||!this._popupFeatureHasRequiredFields(o,u)?s.set(o.getObjectId(),{graphic:o,index:n}):i[n]=o}if("stream"===this.layer.type||"parquet"===this.layer.type||0===s.size)return i.filter(Boolean);l.objectIds=Array.from(s.keys());try{const e=await this.layer.queryFeatures(l,t);for(const t of e.features){const{graphic:{geometry:e,origin:r},index:l}=s.get(t.getObjectId());t.geometry||=e,t.origin=r,i[l]=t}}catch{}return i.filter(Boolean)}async _createPopupQuery(e,t){const i=this.layer.createQuery(),s=new Set;let l=!1;const n=e??[this.layer];for(const o of n){if(!("popupEnabled"in o))continue;const e=O(o,t);if(null==e)continue;const i=await this._loadArcadeModules(e);r(t);const n=i&&i.arcadeUtils.hasGeometryOperations(e);l=!("point"!==this.layer.geometryType&&!n);const a=await C(this.layer,e);r(t);for(const t of a)s.add(t)}if(i.returnGeometry=l,i.returnZ=l,i.returnM=l,i.outFields=Array.from(s),i.outSpatialReference=this.view.spatialReference,"floorInfo"in this.layer&&this.layer.floorInfo){const e=R(this);null!=e&&(i.where=i.where?`(${i.where}) AND (${e})`:e)}return i}canResume(){return!!super.canResume()&&(null==this.timeExtent||!this.timeExtent.isEmpty)}getTest(){}get test(){}};return e([o()],U.prototype,"_updatingRequiredPromise",void 0),e([o({readOnly:!0})],U.prototype,"availableFields",null),e([o({readOnly:!0})],U.prototype,"displayFilterEnabled",null),e([o({readOnly:!0})],U.prototype,"effectiveDisplayFilter",null),e([o({type:d})],U.prototype,"featureEffect",null),e([o({type:f})],U.prototype,"filter",void 0),e([o()],U.prototype,"layer",void 0),e([o({type:Number})],U.prototype,"maximumNumberOfFeatures",null),e([o({readOnly:!0,type:Boolean})],U.prototype,"maximumNumberOfFeaturesExceeded",null),e([o()],U.prototype,"requiresCurrentUser",void 0),e([o({readOnly:!0})],U.prototype,"requiredFields",void 0),e([o({readOnly:!0})],U.prototype,"signedInUser",null),e([o()],U.prototype,"suspended",void 0),e([o()],U.prototype,"view",void 0),U=e([a("esri.views.layers.FeatureLayerView")],U),U};export{k as default};
@@ -0,0 +1,4 @@
1
+ import "../../interfaces";
2
+
3
+ import ImageryTileLayerView = __esri.ImageryTileLayerView;
4
+ export default ImageryTileLayerView;
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../Graphic.js";import r from"../../core/Error.js";import{property as i}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as a}from"../../core/accessorSupport/decorators/subclass.js";import{commonRasterFieldNames as s,addMultidimensionalFieldValues as o,rasterFieldPrefix as n}from"../../layers/support/rasterFieldUtils.js";import{combineTimeExtent as l}from"../../layers/support/timeSupport.js";import{getDefaultDatumTransformationForDataset as u,projectDatasetExtent as p,getSourceScale as c}from"../../layers/support/rasterFunctions/rasterProjectionHelper.js";import{getFetchPopupTemplate as m}from"./support/popupUtils.js";const y=y=>{let f=class extends y{constructor(){super(...arguments),this.layer=null,this.tileInfo=null}get fullExtent(){try{return this.layer.loaded?this._getFullExtent():null}catch{return null}}get timeExtent(){return l(this.layer,this.view?.timeExtent,this._get("timeExtent"))}get hasTilingEffects(){return!!(this.layer.renderer&&"dynamicRangeAdjustment"in this.layer.renderer&&this.layer.renderer.dynamicRangeAdjustment)}get datumTransformation(){try{return this.layer.loaded?u(this.layer.fullExtent,this.view.spatialReference,!0):null}catch{return null}}supportsSpatialReference(e){try{return!this.layer.loaded||!!p(this.layer.serviceRasterInfo,e)}catch{return!1}}async fetchPopupFeaturesAtLocation(e,i){const{layer:a}=this;if(!e)throw new r("imageryTileLayerView:fetchPopupFeatures","Nothing to fetch without area",{layer:a});const{popupEnabled:l}=a,u=m(a,i);if(!l||null==u)return[];const p=[],{value:c,magdirValue:y,processedValue:f}=await a.identify(e,{timeExtent:this.timeExtent,signal:i?.signal});let d="";if(c?.length){d="imagery-tile"===a.type&&a.hasStandardTime()&&null!=c[0]?c.map((e=>a.getStandardTimeValue(e))).join(", "):c.join(", ");const e={ObjectId:0};e[s.servicePixelValue]="imagery-tile"===a.type&&"Function"===a.raster.datasetFormat?f?.join(", "):d,e[s.rawServicePixelValue]=d;const r=a.raster?.rasterInfo??a.serviceRasterInfo,i=r?.attributeTable;if(null!=i){const{fields:t,features:r}=i,a=t.find((({name:e})=>"value"===e.toLowerCase())),o=e[s.servicePixelValue],l=a?r.find((e=>String(e.attributes[a.name])===o)):null;if(l)for(const i in l.attributes)if(l.attributes.hasOwnProperty(i)){e[n+i]=l.attributes[i]}}const l=r?.dataType;"vector-magdir"!==l&&"vector-uv"!==l||(e[s.magnitude]=y?.[0],e[s.direction]=y?.[1]),"imagery-tile"===a.type&&o(a.rasterFields,e,this.layer.multidimensionalDefinition);const u=new t({geometry:this.fullExtent?.clone(),attributes:e,layer:a,sourceLayer:a});p.push(u)}return p}async getSourceScale(){return await this.layer.load(),c(this.layer.serviceRasterInfo,this.view.spatialReference)}_getFullExtent(){return p(this.layer.serviceRasterInfo,this.view.spatialReference)}};return e([i()],f.prototype,"fullExtent",null),e([i()],f.prototype,"layer",void 0),e([i({readOnly:!0})],f.prototype,"timeExtent",null),e([i()],f.prototype,"tileInfo",void 0),e([i({readOnly:!0})],f.prototype,"hasTilingEffects",null),e([i()],f.prototype,"datumTransformation",null),f=e([a("esri.views.layers.ImageryTileLayerView")],f),f};export{y as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../Graphic.js";import r from"../../core/Error.js";import{property as i}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";import{commonRasterFieldNames as a,addMultidimensionalFieldValues as n,rasterFieldPrefix as o}from"../../layers/support/rasterFieldUtils.js";import{combineTimeExtent as l}from"../../layers/support/timeSupport.js";import{getDefaultDatumTransformationForDataset as u,projectDatasetExtent as c,getSourceScale as p}from"../../layers/support/rasterFunctions/rasterProjectionHelper.js";import{getFetchPopupTemplate as m}from"./support/popupUtils.js";const y=y=>{let f=class extends y{constructor(){super(...arguments),this.layer=null,this.tileInfo=null}get fullExtent(){try{return this.layer.loaded?this._getFullExtent():null}catch{return null}}get timeExtent(){return l(this.layer,this.view?.timeExtent,this._get("timeExtent"))}get hasTilingEffects(){return!!(this.layer.renderer&&"dynamicRangeAdjustment"in this.layer.renderer&&this.layer.renderer.dynamicRangeAdjustment)}get datumTransformation(){try{return this.layer.loaded?u(this.layer.fullExtent,this.view.spatialReference,!0):null}catch{return null}}supportsSpatialReference(e){try{return!this.layer.loaded||!!c(this.layer.serviceRasterInfo,e)}catch{return!1}}async fetchPopupFeaturesAtLocation(e,i){const{layer:s}=this;if(!e)throw new r("imageryTileLayerView:fetchPopupFeatures","Nothing to fetch without area",{layer:s});const{popupEnabled:l}=s,u=m(s,i);if(!l||null==u)return[];const c=[],{value:p,magdirValue:y,processedValue:f}=await s.identify(e,{timeExtent:this.timeExtent,signal:i?.signal});let d="";if(p?.length){d="imagery-tile"===s.type&&s.hasStandardTime()&&null!=p[0]?p.map((e=>s.getStandardTimeValue(e))).join(", "):p.join(", ");const e={ObjectId:0};e[a.servicePixelValue]="imagery-tile"===s.type&&"Function"===s.raster.datasetFormat?f?.join(", "):d,e[a.rawServicePixelValue]=d;const r=s.raster?.rasterInfo??s.serviceRasterInfo,i=r?.attributeTable;if(null!=i){const{fields:t,features:r}=i,s=t.find((({name:e})=>"value"===e.toLowerCase())),n=e[a.servicePixelValue],l=s?r.find((e=>String(e.attributes[s.name])===n)):null;if(l)for(const i in l.attributes)if(l.attributes.hasOwnProperty(i)){e[o+i]=l.attributes[i]}}const l=r?.dataType;if("vector-magdir"!==l&&"vector-uv"!==l||(e[a.magnitude]=y?.[0],e[a.direction]=y?.[1]),"imagery-tile"===s.type){const{multidimensionalDefinition:t}=this.layer.normalizeRasterFetchOptions({timeExtent:this.timeExtent});n(s.rasterFields,e,t)}const u=new t({geometry:this.fullExtent?.clone(),attributes:e,layer:s,sourceLayer:s});c.push(u)}return c}async getSourceScale(){return await this.layer.load(),p(this.layer.serviceRasterInfo,this.view.spatialReference)}_getFullExtent(){return c(this.layer.serviceRasterInfo,this.view.spatialReference)}};return e([i()],f.prototype,"fullExtent",null),e([i()],f.prototype,"layer",void 0),e([i({readOnly:!0})],f.prototype,"timeExtent",null),e([i()],f.prototype,"tileInfo",void 0),e([i({readOnly:!0})],f.prototype,"hasTilingEffects",null),e([i()],f.prototype,"datumTransformation",null),f=e([s("esri.views.layers.ImageryTileLayerView")],f),f};export{y as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- export{scan as scanSpec}from"./spec.js";export{scan as scanAPI}from"./api.js";export{collectClassPaths,flatten}from"./utils.js";const e={applicationProperties:"esri/webscene/ApplicationProperties",authoringInfo:"esri/renderers/support/AuthoringInfo",authoringInfo_visualVariable:"esri/renderers/support/AuthoringInfoVisualVariable",baseMap:"esri/Basemap",border:"esri/symbols/callouts/LineCallout3DBorder",buildingSceneLayer:"esri/layers/BuildingSceneLayer",buildingSceneLayer_filter:"esri/layers/support/BuildingFilter",buildingSceneLayer_filterAuthoringInfo_filterBlock:"esri/layers/support/BuildingFilterAuthoringInfoBlock",buildingSceneLayer_filterAuthoringInfo_filterType:"esri/layers/support/BuildingFilterAuthoringInfoType",buildingSceneLayer_filterAuthoringInfoCheckbox:"esri/layers/support/BuildingFilterAuthoringInfoCheckbox",buildingSceneLayer_filterBlock:"esri/layers/support/BuildingFilterBlock",buildingSceneLayer_filterModeSolid:"esri/layers/support/BuildingFilterModeSolid",buildingSceneLayer_filterModeWireFrame:"esri/layers/support/BuildingFilterModeWireFrame",buildingSceneLayer_filterModeXray:"esri/layers/support/BuildingFilterModeXRay",buildingSceneLayer_sublayer:"esri/layers/buildingSublayers/BuildingComponentSublayer",callout:"esri/symbols/callouts/LineCallout3D",camera:"esri/Camera",cimSymbolReference:"esri/symbols/CIMSymbol",classBreakInfo:"esri/renderers/support/ClassBreakInfo",classBreakInfo_authoringInfo:"esri/renderer/support/AuthoringInfoClassBreakInfo",classBreaksRenderer:"esri/renderers/ClassBreaksRenderer",codedValue:"esri/layers/support/CodedValue",codedValue_domain:"esri/layers/support/CodedValueDomain",colorClassBreakInfo:"esri/renderers/support/pointCloud/ColorClassBreakInfo",colorInfo_visualVariable:"esri/renderers/visualVariables/ColorVariable",colormapInfo:"esri/renderers/support/ColormapInfo",colorModulationInfo:"esri/renderers/support/pointCloud/ColorModulation",colorRamp_algorithmic:"esri/rest/support/AlgorithmicColorRamp",colorRamp_multipart:"esri/rest/support/MultipartColorRamp",colorStop:"esri/renderers/visualVariables/support/ColorStop",colorUniqueValueInfo:"esri/renderers/support/pointCloud/ColorUniqueValueInfo",csvLayer:"esri/layers/CSVLayer",description:"esri/webscene/support/Description",dynamicDataLayer_source:"esri/layers/support/source/DataLayerSource",dynamicMapLayer_source:"esri/layers/support/source/MapLayerSource",elevationInfo:"esri/symbols/support/ElevationInfo",environment_background_color:"esri/webscene/background/ColorBackground",environment:"esri/webscene/Environment",extent:"esri/geometry/Extent",extrudeSymbol3DLayer:"esri/symbols/ExtrudeSymbol3DLayer",facilityLayerInfo:"esri/layers/support/FacilityLayerInfo",featureExpressionInfo:"esri/layers/support/FeatureExpressionInfo",featureLayer:"esri/layers/FeatureLayer",featureReduction_select:"esri/layers/support/FeatureReductionSelection",field:"esri/layers/support/Field",field_authoringInfo:"esri/renderers/support/AuthoringInfoFieldInfo",fieldInfo:"esri/popup/FieldInfo",fillSymbol3DLayer:"esri/symbols/FillSymbol3DLayer",font:"esri/symbols/Font",format:"esri/popup/support/FieldInfoFormat",ground:"esri/Ground",groupLayer:"esri/layers/GroupLayer",halo:"esri/symbols/support/Symbol3DHalo",heightModelInfo:"esri/geometry/HeightModelInfo",iconSymbol3DLayer:"esri/symbols/IconSymbol3DLayer",iconSymbol3DLayer_resource:"esri/symbols/support/IconSymbol3DLayerResource",imageServiceLayer:"esri/layers/ImageryLayer",inherited_domain:"esri/layers/support/InheritedDomain",initialState:"esri/webscene/InitialViewProperties",integratedMeshLayer:"esri/layers/IntegratedMeshLayer",joinTableDataSource:"esri/layers/support/source/JoinTableDataSource",labelExpressionInfo:"esri/layers/support/LabelExpressionInfo",labelingInfo:"esri/layers/support/LabelClass",labelSymbol3D:"esri/symbols/LabelSymbol3D",layer:"esri/layers/support/Sublayer",layerFloorInfo:"esri/layers/support/LayerFloorInfo",levelLayerInfo:"esri/layers/support/LevelLayerInfo",lighting:"esri/webscene/Lighting",lineSymbol3D:"esri/symbols/LineSymbol3D",lineSymbol3DLayer:"esri/symbols/LineSymbol3DLayer",lineOfSightLayer:"esri/layers/LineOfSightLayer",lineOfSightObserver:"esri/analysis/LineOfSightAnalysisObserver",lineOfSightTarget:"esri/analysis/LineOfSightAnalysisTarget",lod:"esri/layers/support/LOD",mapFloorInfo:"esri/support/MapFloorInfo",mapServiceLayer:"esri/layers/MapImageLayer",material:"esri/symbols/support/Symbol3DMaterial",materialColorMixMode:"esri/symbols/support/Symbol3DFillMaterial",mediaInfo_chart:"esri/popup/content/BarChartMediaInfo",mediaInfo_chart_value:"esri/popup/content/support/ChartMediaInfoValue",mediaInfo_image:"esri/popup/content/ImageMediaInfo",mediaInfo_image_value:"esri/popup/content/support/ImageMediaInfoValue",meshSymbol3D:"esri/symbols/MeshSymbol3D",mosaicRule:"esri/layers/support/MosaicRule",multidimensionalDefinition:"esri/layers/support/DimensionalDefinition",multipoint_geometry:"esri/geometry/Multipoint",navigationConstraint:"esri/ground/NavigationConstraint",objectSymbol3DLayer:"esri/symbols/ObjectSymbol3DLayer",objectSymbol3DLayer_resource:"esri/symbols/support/ObjectSymbol3DLayerResource",ogcFeatureLayer:"esri/layers/OGCFeatureLayer",openStreetMapLayer:"esri/layers/OpenStreetMapLayer",orderByFields:"esri/popup/support/RelatedRecordsInfoFieldOrder",outline:"esri/symbols/support/Symbol3DOutline",pathSymbol3DLayer:"esri/symbols/PathSymbol3DLayer",point_geometry:"esri/geometry/Point",pointCloudBitfieldFilter:"esri/layers/pointCloudFilters/PointCloudBitfieldFilter",pointCloudClassBreaksRenderer:"esri/renderers/PointCloudClassBreaksRenderer",pointCloudFixedSizeAlgorithm:"esri/renderers/support/pointCloud/PointSizeFixedSizeAlgorithm",pointCloudLayer:"esri/layers/PointCloudLayer",pointCloudReturnFilter:"esri/layers/pointCloudFilters/PointCloudReturnFilter",pointCloudRGBRenderer:"esri/renderers/PointCloudRGBRenderer",pointCloudSplatAlgorithm:"esri/renderers/support/pointCloud/PointSizeSplatAlgorithm",pointCloudStretchRenderer:"esri/renderers/PointCloudStretchRenderer",pointCloudUniqueValueRenderer:"esri/renderers/PointCloudUniqueValueRenderer",pointCloudValueFilter:"esri/layers/pointCloudFilters/PointCloudValueFilter",pointSymbol3D:"esri/symbols/PointSymbol3D",polygon_geometry:"esri/geometry/Polygon",polygonPattern:"esri/symbols/patterns/StylePattern3D",polygonSymbol3D:"esri/symbols/PolygonSymbol3D",polyline_geometry:"esri/geometry/Polyline",popupElement_attachments:"esri/popup/content/AttachmentsContent",popupElement_fields:"esri/popup/content/FieldsContent",popupElement_media:"esri/popup/content/MediaContent",popupElement_text:"esri/popup/content/TextContent",popupExpressionInfo:"esri/popup/ExpressionInfo",popupInfo:"esri/PopupTemplate",popupLayerOptions:"esri/popup/LayerOptions",presentation:"esri/webscene/Presentation",queryTableDataSource:"esri/layers/support/source/QueryTableDataSource",range_domain:"esri/layers/support/RangeDomain",rangeInfo:"esri/layers/support/RangeInfo",rasterColormapRenderer:"esri/renderers/RasterColormapRenderer",rasterDataSource:"esri/layers/support/source/RasterDataSource",rasterShadedReliefRenderer:"esri/renderers/RasterShadedReliefRenderer",rasterStretchRenderer:"esri/renderers/RasterStretchRenderer",relatedRecordsInfo:"esri/popup/RelatedRecordsInfo",rendererLegendOptions:"esri/renderers/support/RendererLegendOptions",renderingRule:"esri/layers/support/RasterFunction",rotationInfo_visualVariable:"esri/renderers/visualVariables/RotationVariable",sceneLayer:"esri/layers/SceneLayer",search:"esri/webdoc/applicationProperties/Search",search_layer:"esri/webdoc/applicationProperties/SearchLayer",search_layer_field:"esri/webdoc/applicationProperties/SearchLayerField",simpleRenderer:"esri/renderers/SimpleRenderer",siteLayerInfo:"esri/layers/support/SiteLayerInfo",sizeInfo_visualVariable:"esri/renderers/visualVariables/SizeVariable",sizeStop:"esri/renderers/visualVariables/support/SizeStop",sketchEdges:"esri/symbols/edges/SketchEdges3D",slide:"esri/webscene/Slide",slide_ground:"esri/webscene/support/SlideGround",solidEdges:"esri/symbols/support/SolidEdges3D",spatialReference:"esri/geometry/SpatialReference",styleSymbolReference:"esri/symbols/WebStyleSymbol",tableDataSource:"esri/layers/support/source/TableDataSource",textSymbol3DLayer:"esri/symbols/TextSymbol3DLayer",thumbnail:"esri/webdoc/support/Thumbnail",tiledElevationLayer:"esri/layers/ElevationLayer",tiledImageServiceLayer:"esri/layers/ImageryTileLayer",tiledMapServiceLayer:"esri/layers/TileLayer",tileInfo:"esri/layers/support/TileInfo",title:"esri/webscene/support/Title",transparencyInfo_visualVariable:"esri/renderers/visualVariables/OpacityVariable",transparencyStop:"esri/renderers/visualVariables/support/OpacityStop",transportationNetwork:"esri/webscene/TransportationNetwork",uniqueValueInfo:"esri/renderers/support/UniqueValueInfo",uniqueValueRenderer:"esri/renderers/UniqueValueRenderer",vectorTileLayer:"esri/layers/VectorTileLayer",verticalOffset:"esri/symbols/support/Symbol3DVerticalOffset",viewing:"esri/webdoc/applicationProperties/Viewing",viewpoint:"esri/Viewpoint",visibleLayer:"esri/webscene/support/SlideVisibleLayer",visualVariableLegendOptions:"esri/renderers/visualVariables/support/VisualVariableLegendOptions",voxelOpacityStop:"esri/layers/voxel/VoxelOpacityStop",voxelColorStop:"esri/layers/voxel/VoxelColorStop",voxelDynamicSection:"esri/layers/voxel/VoxelDynamicSection",voxelIsosurfaceStyle:"esri/layers/voxel/VoxelIsosurface",voxelLayer:"esri/layers/VoxelLayer",voxelRangeFilter:"esri/layers/voxel/VoxelRangeFilter",voxelSection:"esri/layers/voxel/VoxelSection",voxelShading:"esri/layers/voxel/VoxelSimpleShading",voxelSlice:"esri/layers/voxel/VoxelSlice",voxelStyle:"esri/layers/voxel/VoxelStyle",voxelTransferFunctionStyle:"esri/layers/voxel/VoxelTransferFunctionStyle",voxelUniqueValue:"esri/layers/voxel/VoxelUniqueValue",voxelVariableStyle:"esri/layers/voxel/VoxelVariableStyle",voxelVolumeStyle:"esri/layers/voxel/VoxelVolumeStyle",waterSymbol3DLayer:"esri/symbols/WaterSymbol3DLayer",webTiledLayer:"esri/layers/WebTileLayer",wfsLayer:"esri/layers/WFSLayer",wmsLayer:"esri/layers/WMSLayer",wmsLayer_layer:"esri/layers/support/WMSSublayer",wmtsInfo:"esri/layers/support/WMTSLayerInfo"},r=["baseMapLayer","buildingSceneLayer_filterMode","buildingSceneLayer_sublayer","classBreakInfo_authoringInfo","clippingArea","codedValue_domain","codedValue","color","colorRamp","customParameters","dataSource","definitionEditor","domain","drawingInfo","edges","elevationLayers","environment_background_color","feature","featureSet","field_authoringInfo","fieldInfo","floorFilter","format","geometry","inherited_domain","initialState","input","joinTableDataSource","kmlLayer","layerDefinition","locationInfo","mapRangeInfo","mediaInfo_chart_value","mediaInfo_chart","mediaInfo_image_value","mediaInfo","multidimensionalDefinition","navigationConstraint","operationalLayers","orderByFields","parameter","pointCloudFilter","pointCloudRenderers","pointSizeAlgorithm","popupElement","popupExpressionInfo","queryTableDataSource","range_domain","range","rasterClassBreaksRenderer","rasterDataElevationLayer","rasterDataLayer","rasterDataSource","rasterRenderers","rasterStretchRenderer","rasterUniqueValueRenderer","relatedRecordsInfo","renderer","source","styleOrigin","symbol3D","table","tableDataSource","template","transportationNetwork","type","uniqueValueFromStyleRenderer","value","version","visibleLayer","visualVariable","visualVariableLegendOptions","voxelLayerDefinition","wfsInfo","widgets"];export{r as ignoredSchemaDefinitions,e as schemaToClassModule};
5
+ export{scan as scanSpec}from"./spec.js";export{scan as scanAPI}from"./api.js";export{collectClassPaths,flatten}from"./utils.js";const e={applicationProperties:"esri/webscene/ApplicationProperties",authoringInfo:"esri/renderers/support/AuthoringInfo",authoringInfo_visualVariable:"esri/renderers/support/AuthoringInfoVisualVariable",baseMap:"esri/Basemap",border:"esri/symbols/callouts/LineCallout3DBorder",buildingSceneLayer:"esri/layers/BuildingSceneLayer",buildingSceneLayer_filter:"esri/layers/support/BuildingFilter",buildingSceneLayer_filterAuthoringInfo_filterBlock:"esri/layers/support/BuildingFilterAuthoringInfoBlock",buildingSceneLayer_filterAuthoringInfo_filterType:"esri/layers/support/BuildingFilterAuthoringInfoType",buildingSceneLayer_filterAuthoringInfoCheckbox:"esri/layers/support/BuildingFilterAuthoringInfoCheckbox",buildingSceneLayer_filterBlock:"esri/layers/support/BuildingFilterBlock",buildingSceneLayer_filterModeSolid:"esri/layers/support/BuildingFilterModeSolid",buildingSceneLayer_filterModeWireFrame:"esri/layers/support/BuildingFilterModeWireFrame",buildingSceneLayer_filterModeXray:"esri/layers/support/BuildingFilterModeXRay",buildingSceneLayer_sublayer:"esri/layers/buildingSublayers/BuildingComponentSublayer",callout:"esri/symbols/callouts/LineCallout3D",camera:"esri/Camera",cimSymbolReference:"esri/symbols/CIMSymbol",classBreakInfo:"esri/renderers/support/ClassBreakInfo",classBreakInfo_authoringInfo:"esri/renderer/support/AuthoringInfoClassBreakInfo",classBreaksRenderer:"esri/renderers/ClassBreaksRenderer",codedValue:"esri/layers/support/CodedValue",codedValue_domain:"esri/layers/support/CodedValueDomain",colorClassBreakInfo:"esri/renderers/support/pointCloud/ColorClassBreakInfo",colorInfo_visualVariable:"esri/renderers/visualVariables/ColorVariable",colormapInfo:"esri/renderers/support/ColormapInfo",colorModulationInfo:"esri/renderers/support/pointCloud/ColorModulation",colorRamp_algorithmic:"esri/rest/support/AlgorithmicColorRamp",colorRamp_multipart:"esri/rest/support/MultipartColorRamp",colorStop:"esri/renderers/visualVariables/support/ColorStop",colorUniqueValueInfo:"esri/renderers/support/pointCloud/ColorUniqueValueInfo",csvLayer:"esri/layers/CSVLayer",description:"esri/webscene/support/Description",dynamicDataLayer_source:"esri/layers/support/source/DataLayerSource",dynamicMapLayer_source:"esri/layers/support/source/MapLayerSource",elevationInfo:"esri/symbols/support/ElevationInfo",environment_background_color:"esri/webscene/background/ColorBackground",environment:"esri/webscene/Environment",extent:"esri/geometry/Extent",extrudeSymbol3DLayer:"esri/symbols/ExtrudeSymbol3DLayer",facilityLayerInfo:"esri/layers/support/FacilityLayerInfo",featureExpressionInfo:"esri/layers/support/FeatureExpressionInfo",featureLayer:"esri/layers/FeatureLayer",featureReduction_select:"esri/layers/support/FeatureReductionSelection",field:"esri/layers/support/Field",field_authoringInfo:"esri/renderers/support/AuthoringInfoFieldInfo",fieldInfo:"esri/popup/FieldInfo",fillSymbol3DLayer:"esri/symbols/FillSymbol3DLayer",font:"esri/symbols/Font",format:"esri/popup/support/FieldInfoFormat",ground:"esri/Ground",groupLayer:"esri/layers/GroupLayer",halo:"esri/symbols/support/Symbol3DHalo",heightModelInfo:"esri/geometry/HeightModelInfo",iconSymbol3DLayer:"esri/symbols/IconSymbol3DLayer",iconSymbol3DLayer_resource:"esri/symbols/support/IconSymbol3DLayerResource",imageServiceLayer:"esri/layers/ImageryLayer",inherited_domain:"esri/layers/support/InheritedDomain",initialState:"esri/webscene/InitialViewProperties",integratedMeshLayer:"esri/layers/IntegratedMeshLayer",joinTableDataSource:"esri/layers/support/source/JoinTableDataSource",labelExpressionInfo:"esri/layers/support/LabelExpressionInfo",labelingInfo:"esri/layers/support/LabelClass",labelSymbol3D:"esri/symbols/LabelSymbol3D",layer:"esri/layers/support/Sublayer",layerFloorInfo:"esri/layers/support/LayerFloorInfo",levelLayerInfo:"esri/layers/support/LevelLayerInfo",lighting:"esri/webscene/Lighting",lineSymbol3D:"esri/symbols/LineSymbol3D",lineSymbol3DLayer:"esri/symbols/LineSymbol3DLayer",lineOfSightLayer:"esri/layers/LineOfSightLayer",lineOfSightObserver:"esri/analysis/LineOfSightAnalysisObserver",lineOfSightTarget:"esri/analysis/LineOfSightAnalysisTarget",lod:"esri/layers/support/LOD",mapFloorInfo:"esri/support/MapFloorInfo",mapServiceLayer:"esri/layers/MapImageLayer",material:"esri/symbols/support/Symbol3DMaterial",materialColorMixMode:"esri/symbols/support/Symbol3DFillMaterial",mediaInfo_chart:"esri/popup/content/BarChartMediaInfo",mediaInfo_chart_value:"esri/popup/content/support/ChartMediaInfoValue",mediaInfo_image:"esri/popup/content/ImageMediaInfo",mediaInfo_image_value:"esri/popup/content/support/ImageMediaInfoValue",meshSymbol3D:"esri/symbols/MeshSymbol3D",mosaicRule:"esri/layers/support/MosaicRule",multidimensionalDefinition:"esri/layers/support/DimensionalDefinition",multipoint_geometry:"esri/geometry/Multipoint",navigationConstraint:"esri/ground/NavigationConstraint",objectSymbol3DLayer:"esri/symbols/ObjectSymbol3DLayer",objectSymbol3DLayer_resource:"esri/symbols/support/ObjectSymbol3DLayerResource",ogcFeatureLayer:"esri/layers/OGCFeatureLayer",openStreetMapLayer:"esri/layers/OpenStreetMapLayer",relatedRecordsInfoFieldOrder:"esri/popup/support/RelatedRecordsInfoFieldOrder",attachmentsOrderByInfo:"esri/popup/support/AttachmentsOrderByInfo",outline:"esri/symbols/support/Symbol3DOutline",pathSymbol3DLayer:"esri/symbols/PathSymbol3DLayer",point_geometry:"esri/geometry/Point",pointCloudBitfieldFilter:"esri/layers/pointCloudFilters/PointCloudBitfieldFilter",pointCloudClassBreaksRenderer:"esri/renderers/PointCloudClassBreaksRenderer",pointCloudFixedSizeAlgorithm:"esri/renderers/support/pointCloud/PointSizeFixedSizeAlgorithm",pointCloudLayer:"esri/layers/PointCloudLayer",pointCloudReturnFilter:"esri/layers/pointCloudFilters/PointCloudReturnFilter",pointCloudRGBRenderer:"esri/renderers/PointCloudRGBRenderer",pointCloudSplatAlgorithm:"esri/renderers/support/pointCloud/PointSizeSplatAlgorithm",pointCloudStretchRenderer:"esri/renderers/PointCloudStretchRenderer",pointCloudUniqueValueRenderer:"esri/renderers/PointCloudUniqueValueRenderer",pointCloudValueFilter:"esri/layers/pointCloudFilters/PointCloudValueFilter",pointSymbol3D:"esri/symbols/PointSymbol3D",polygon_geometry:"esri/geometry/Polygon",polygonPattern:"esri/symbols/patterns/StylePattern3D",polygonSymbol3D:"esri/symbols/PolygonSymbol3D",polyline_geometry:"esri/geometry/Polyline",popupElement_attachments:"esri/popup/content/AttachmentsContent",popupElement_fields:"esri/popup/content/FieldsContent",popupElement_media:"esri/popup/content/MediaContent",popupElement_text:"esri/popup/content/TextContent",popupExpressionInfo:"esri/popup/ExpressionInfo",popupInfo:"esri/PopupTemplate",popupLayerOptions:"esri/popup/LayerOptions",presentation:"esri/webscene/Presentation",queryTableDataSource:"esri/layers/support/source/QueryTableDataSource",range_domain:"esri/layers/support/RangeDomain",rangeInfo:"esri/layers/support/RangeInfo",rasterColormapRenderer:"esri/renderers/RasterColormapRenderer",rasterDataSource:"esri/layers/support/source/RasterDataSource",rasterShadedReliefRenderer:"esri/renderers/RasterShadedReliefRenderer",rasterStretchRenderer:"esri/renderers/RasterStretchRenderer",relatedRecordsInfo:"esri/popup/RelatedRecordsInfo",rendererLegendOptions:"esri/renderers/support/RendererLegendOptions",renderingRule:"esri/layers/support/RasterFunction",rotationInfo_visualVariable:"esri/renderers/visualVariables/RotationVariable",sceneLayer:"esri/layers/SceneLayer",search:"esri/webdoc/applicationProperties/Search",search_layer:"esri/webdoc/applicationProperties/SearchLayer",search_layer_field:"esri/webdoc/applicationProperties/SearchLayerField",simpleRenderer:"esri/renderers/SimpleRenderer",siteLayerInfo:"esri/layers/support/SiteLayerInfo",sizeInfo_visualVariable:"esri/renderers/visualVariables/SizeVariable",sizeStop:"esri/renderers/visualVariables/support/SizeStop",sketchEdges:"esri/symbols/edges/SketchEdges3D",slide:"esri/webscene/Slide",slide_ground:"esri/webscene/support/SlideGround",solidEdges:"esri/symbols/support/SolidEdges3D",spatialReference:"esri/geometry/SpatialReference",styleSymbolReference:"esri/symbols/WebStyleSymbol",tableDataSource:"esri/layers/support/source/TableDataSource",textSymbol3DLayer:"esri/symbols/TextSymbol3DLayer",thumbnail:"esri/webdoc/support/Thumbnail",tiledElevationLayer:"esri/layers/ElevationLayer",tiledImageServiceLayer:"esri/layers/ImageryTileLayer",tiledMapServiceLayer:"esri/layers/TileLayer",tileInfo:"esri/layers/support/TileInfo",title:"esri/webscene/support/Title",transparencyInfo_visualVariable:"esri/renderers/visualVariables/OpacityVariable",transparencyStop:"esri/renderers/visualVariables/support/OpacityStop",transportationNetwork:"esri/webscene/TransportationNetwork",uniqueValueInfo:"esri/renderers/support/UniqueValueInfo",uniqueValueRenderer:"esri/renderers/UniqueValueRenderer",vectorTileLayer:"esri/layers/VectorTileLayer",verticalOffset:"esri/symbols/support/Symbol3DVerticalOffset",viewing:"esri/webdoc/applicationProperties/Viewing",viewpoint:"esri/Viewpoint",visibleLayer:"esri/webscene/support/SlideVisibleLayer",visualVariableLegendOptions:"esri/renderers/visualVariables/support/VisualVariableLegendOptions",voxelOpacityStop:"esri/layers/voxel/VoxelOpacityStop",voxelColorStop:"esri/layers/voxel/VoxelColorStop",voxelDynamicSection:"esri/layers/voxel/VoxelDynamicSection",voxelIsosurfaceStyle:"esri/layers/voxel/VoxelIsosurface",voxelLayer:"esri/layers/VoxelLayer",voxelRangeFilter:"esri/layers/voxel/VoxelRangeFilter",voxelSection:"esri/layers/voxel/VoxelSection",voxelShading:"esri/layers/voxel/VoxelSimpleShading",voxelSlice:"esri/layers/voxel/VoxelSlice",voxelStyle:"esri/layers/voxel/VoxelStyle",voxelTransferFunctionStyle:"esri/layers/voxel/VoxelTransferFunctionStyle",voxelUniqueValue:"esri/layers/voxel/VoxelUniqueValue",voxelVariableStyle:"esri/layers/voxel/VoxelVariableStyle",voxelVolumeStyle:"esri/layers/voxel/VoxelVolumeStyle",waterSymbol3DLayer:"esri/symbols/WaterSymbol3DLayer",webTiledLayer:"esri/layers/WebTileLayer",wfsLayer:"esri/layers/WFSLayer",wmsLayer:"esri/layers/WMSLayer",wmsLayer_layer:"esri/layers/support/WMSSublayer",wmtsInfo:"esri/layers/support/WMTSLayerInfo"},r=["baseMapLayer","buildingSceneLayer_filterMode","buildingSceneLayer_sublayer","classBreakInfo_authoringInfo","clippingArea","codedValue_domain","codedValue","color","colorRamp","customParameters","dataSource","definitionEditor","domain","drawingInfo","edges","elevationLayers","environment_background_color","feature","featureSet","field_authoringInfo","fieldInfo","floorFilter","format","geometry","inherited_domain","initialState","input","joinTableDataSource","kmlLayer","layerDefinition","locationInfo","mapRangeInfo","mediaInfo_chart_value","mediaInfo_chart","mediaInfo_image_value","mediaInfo","multidimensionalDefinition","navigationConstraint","operationalLayers","orderByFields","parameter","pointCloudFilter","pointCloudRenderers","pointSizeAlgorithm","popupElement","popupExpressionInfo","queryTableDataSource","range_domain","range","rasterClassBreaksRenderer","rasterDataElevationLayer","rasterDataLayer","rasterDataSource","rasterRenderers","rasterStretchRenderer","rasterUniqueValueRenderer","relatedRecordsInfo","renderer","source","styleOrigin","symbol3D","table","tableDataSource","template","transportationNetwork","type","uniqueValueFromStyleRenderer","value","version","visibleLayer","visualVariable","visualVariableLegendOptions","voxelLayerDefinition","wfsInfo","widgets"];export{r as ignoredSchemaDefinitions,e as schemaToClassModule};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../chunks/tslib.es6.js";import t from"../core/Collection.js";import i from"../core/Identifiable.js";import s from"../core/ReactiveMap.js";import{on as o,watch as r,initial as l,syncAndInitial as n}from"../core/reactiveUtils.js";import{property as a}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/Logger.js";import"../core/RandomLCG.js";import{subclass as c}from"../core/accessorSupport/decorators/subclass.js";import d from"./Widget.js";import p from"./BasemapLayerList/BasemapLayerListViewModel.js";import m from"./BasemapLayerList/BasemapLayerListVisibleElements.js";import{css as h}from"./BasemapLayerList/css.js";import u from"./LayerList/LayerListItem.js";import f from"./LayerList/ListItem.js";import{minFilterItems as g,getItem as y,getLayerType as _,sortLayersToIds as b,sortChildLayersToIds as L,removeDestroyedListItems as v,setFilterPredicate as I}from"./LayerList/support/layerListUtils.js";import{loadCalciteComponents as w}from"./support/componentsUtils.js";import{globalCss as F}from"./support/globalCss.js";import{incrementHeadingLevel as E}from"./support/Heading.js";import{calciteListFilterProps as C}from"./support/listUtils.js";import{setFocus as T}from"./support/widgetUtils.js";import{messageBundle as M}from"./support/decorators/messageBundle.js";import{vmEvent as P}from"./support/decorators/vmEvent.js";import{tsx as O}from"./support/jsxFactory.js";const A=t.ofType(f),R="nested",B=".*\\S+.*",k="data-basemap-layer-type";let j=class extends(i.IdentifiableMixin(d)){constructor(e,i){super(e,i),this._baseListEl=null,this._referenceListEl=null,this._activeItem=null,this._tooltipReferenceMap=new Map,this._editTitleInput=null,this._focusRootFlowItem=!1,this._focusPanelFlowItem=!1,this._focusLayerFlowItem=null,this._focusEditingFlowItem=!1,this._layerListMap=new s,this._lastDragDetail=null,this._selectedDragItemLayerUid=null,this._rootGroupUid=`basemap-${this.uid}`,this._openedLayersController=null,this.catalogLayerList=null,this.catalogOptions=null,this.collapsed=!1,this.dragEnabled=!1,this.editingTitle=!1,this.filterPlaceholder="",this.baseFilterPredicate=null,this.baseFilterText="",this.referenceFilterPredicate=null,this.referenceFilterText="",this.listItemCanGiveFunction=null,this.listItemCanReceiveFunction=null,this.headingLevel=2,this.knowledgeGraphOptions=null,this.layerTablesEnabled=new t(["knowledge-graph"]),this.mapImageOptions=null,this.messages=null,this.messagesCommon=null,this.minFilterItems=g,this.openedLayers=new t,this.openedLayerLists=new t,this.tableList=null,this.selectedItems=new A,this.selectionMode="none",this.tileOptions=null,this.viewModel=new p,this.visibilityAppearance="default",this.visibleElements=new m,this._canMove=({dragEl:e,fromEl:t,toEl:i},s)=>{const o="pull"===s?this.listItemCanGiveFunction:this.listItemCanReceiveFunction,r=y(e);if(!r?.sortable)return!1;const l=y(t),n=_(t),a=y(i),c=_(i),d=!!n&&!!c&&n===c,p={selected:r,from:l,to:a},m=t.group,h=i.group,u=l?.layer?.type??"",f=a?.layer?.type??"",g=new Set(["map-image","catalog","knowledge-graph"]),b="sublayer";return m&&h&&"function"==typeof o?o.call(null,p):d&&!g.has(u)&&!g.has(f)&&r?.layer?.type!==b},this._onSelectedDragItemLayerUidChange=e=>{this._selectedDragItemLayerUid=e},this._onTriggerAction=(e,t)=>{this.triggerAction(e,t)},this._onTooltipReferenceChange=(e,t)=>{t?this._tooltipReferenceMap.set(e,t):this._tooltipReferenceMap.delete(e)},this._onTablesOpen=e=>{this.openedLayers.push(e.layer),this._focusLayerFlowItem=e.layer?.uid},this._onPanelOpen=()=>{this._focusPanelFlowItem=!0},this._onCatalogOpen=e=>{this.openedLayers.push(e.layer?.parent),this._focusLayerFlowItem=e.layer?.uid},this._clearActiveItem=()=>{this._activeItem=null},this._setActiveItem=e=>{if("default"!==this.visibilityAppearance)return;const t=Array.from(e.composedPath()).find((e=>e.classList?.contains(h.item)));this._activeItem=y(t)},this._onCalciteListOrderChange=e=>{const{_lastDragDetail:t}=this,{toEl:i,fromEl:s,dragEl:o,newIndex:r}=e;if(!s||!i||t?.newIndex===r&&t?.dragEl===o&&t?.toEl===i&&t?.fromEl===s)return;this._lastDragDetail=e,this._selectedDragItemLayerUid=o.value;const l=s,n=i;if(l!==n)this._moveLayerFromChildList({toEl:n,fromEl:l,dragEl:o,newIndex:r});else{const e=Array.from(s.children).filter((e=>e?.matches("calcite-list-item"))).map((e=>e.value));this._sortLayers(l,e)}}}initialize(){this.addHandles([o((()=>this.openedLayers),"change",(()=>this._handleOpenedLayersChange()),l),r((()=>[this.viewModel.referenceItems.toArray(),this.viewModel.baseItems.toArray()]),(()=>v(this.selectedItems)),n),r((()=>[this.baseFilterPredicate,this._baseListEl]),(()=>I(this._baseListEl,this.baseFilterPredicate))),r((()=>[this.referenceFilterPredicate,this._referenceListEl]),(()=>I(this._referenceListEl,this.referenceFilterPredicate)))])}loadDependencies(){return w({action:()=>import("@esri/calcite-components/dist/components/calcite-action"),block:()=>import("@esri/calcite-components/dist/components/calcite-block"),label:()=>import("@esri/calcite-components/dist/components/calcite-label"),input:()=>import("@esri/calcite-components/dist/components/calcite-input"),button:()=>import("@esri/calcite-components/dist/components/calcite-button"),flow:()=>import("@esri/calcite-components/dist/components/calcite-flow"),"flow-item":()=>import("@esri/calcite-components/dist/components/calcite-flow-item"),list:()=>import("@esri/calcite-components/dist/components/calcite-list"),notice:()=>import("@esri/calcite-components/dist/components/calcite-notice"),tooltip:()=>import("@esri/calcite-components/dist/components/calcite-tooltip")})}destroy(){this._tooltipReferenceMap.clear(),this._destroyOpenedLayerLists()}get _visibleBaseItems(){return this.baseItems?.filter((e=>!e.hidden&&(this.visibleElements.errors||!e.error)))}get _visibleReferenceItems(){return this.referenceItems?.filter((e=>!e.hidden&&(this.visibleElements.errors||!e.error)))}get _openedPanelItems(){return this._visibleReferenceItems.concat(this._visibleBaseItems).flatten((e=>e.children)).filter((({hidden:e,panel:t})=>!e&&t?.open&&!t.disabled&&t.flowEnabled))}get _totalBaseItems(){return this.viewModel.baseItems.flatten((e=>e.children.filter((e=>"catalog-dynamic-group"!==e.layer?.type)))).length}get _totalReferenceItems(){return this.viewModel.referenceItems.flatten((e=>e.children.filter((e=>"catalog-dynamic-group"!==e.layer?.type)))).length}get _baseFilterEnabled(){return this._totalBaseItems>=this.minFilterItems&&this.visibleElements.filter}get _referenceFilterEnabled(){return this._totalReferenceItems>=this.minFilterItems&&this.visibleElements.filter}get _renderedOpenLayerFlowItems(){const{openedLayers:e}=this;return e.toArray().map(((t,i)=>this._renderLayerFlowItem(t,i===e.length-1)))}get basemapTitle(){return this.viewModel.basemapTitle}set basemapTitle(e){this.viewModel.basemapTitle=e}get baseListItemCreatedFunction(){return this.viewModel.baseListItemCreatedFunction}set baseListItemCreatedFunction(e){this.viewModel.baseListItemCreatedFunction=e}get icon(){return"layers"}set icon(e){this._overrideIfSome("icon",e)}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get referenceListItemCreatedFunction(){return this.viewModel.referenceListItemCreatedFunction}set referenceListItemCreatedFunction(e){this.viewModel.referenceListItemCreatedFunction=e}get baseItems(){return this.viewModel.baseItems}get referenceItems(){return this.viewModel.referenceItems}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}triggerAction(e,t){return this.viewModel.triggerAction(e,t)}render(){const{state:e}=this.viewModel,t={[F.hidden]:"loading"===e,[F.disabled]:"disabled"===e};return O("div",{class:this.classes(h.base,F.widget,F.panel,t)},this._renderItems())}async _createCatalogLayerList(e){const{default:t}=await import("./CatalogLayerList.js"),{headingLevel:i,catalogOptions:s,view:o,filterPlaceholder:r,minFilterItems:l,selectionMode:n,visibilityAppearance:a,_onCatalogOpen:c,_onTablesOpen:d,layerTablesEnabled:p}=this;return new t({headingLevel:i,view:o,filterPlaceholder:r,minFilterItems:l,selectionMode:n,visibilityAppearance:a,...s,catalogLayer:e,layerTablesEnabled:p,onCatalogOpen:c,onTablesOpen:d})}_getTableListParams(e){switch(e.type){case"knowledge-graph":return{...this.knowledgeGraphOptions,tables:e.tables};case"map-image":return{...this.mapImageOptions,tables:e.subtables};case"tile":return{...this.tileOptions,tables:e.subtables};default:return null}}async _createTableList(e){const{default:t}=await import("./TableList.js"),{headingLevel:i,selectionMode:s,dragEnabled:o}=this;return new t({headingLevel:i,selectionMode:s,dragEnabled:o,...this._getTableListParams(e)})}async _createFlowList(e,t){const{_layerListMap:i}=this,s=i.get(e);if(s)return s;const o="catalog"===e.type?await this._createCatalogLayerList(e):await this._createTableList(e);return t.aborted||i.set(e,o),o}async _handleOpenedLayersChange(){const{_layerListMap:e,openedLayers:t,openedLayerLists:i}=this;this._openedLayersController?.abort();const s=new AbortController,{signal:o}=s;this._openedLayersController=s,e.forEach(((i,s)=>{t.includes(s)||(i.destroy(),e.delete(s))}));const r=await Promise.all(t.map((e=>this._createFlowList(e,o))));if(o.aborted)return;i.removeAll(),i.addMany(r);const l=i.at(-1);l?"catalogLayer"in l?(this._set("catalogLayerList",l),this._set("tableList",null)):(this._set("catalogLayerList",null),this._set("tableList",l)):(this._set("catalogLayerList",null),this._set("tableList",null))}_destroyOpenedLayerLists(){this.openedLayerLists.destroyAll(),this.openedLayers.removeAll(),this._layerListMap.clear()}_renderItemTooltip(e){return e?O("calcite-tooltip",{key:`tooltip-${e.layer?.uid}`,referenceElement:this._tooltipReferenceMap.get(e.layer?.uid)},this.messages.layerIncompatibleTooltip):null}_renderItemTooltipNodes(e){return e.incompatible?this._renderItemTooltip(e):e.children?.filter((e=>!e.hidden)).toArray().map((e=>this._renderItemTooltipNodes(e)))}_renderItemTooltips(){return this._visibleReferenceItems.concat(this._visibleBaseItems)?.toArray().map((e=>this._renderItemTooltipNodes(e)))}_focusLayerFlowItemNode(e){this._focusLayerFlowItem===e.dataset.layerUid&&(this._focusLayerFlowItem=null,T(e))}_renderPanelFlowItems(){const{_openedPanelItems:e,openedLayers:t}=this;return e.toArray().map((({title:i,panel:s},o)=>{const r=()=>this._handlePanelFlowItemBack(s);return O("calcite-flow-item",{afterCreate:this._focusPanelFlowItemNode,afterUpdate:this._focusPanelFlowItemNode,bind:this,description:i,heading:s.title,headingLevel:this.headingLevel,key:`flow-panel-${s.uid}`,selected:!t.length&&o===e.length-1,onCalciteFlowItemBack:e=>{e.preventDefault(),r()}},s.render(),O("calcite-button",{appearance:"transparent",onclick:r,slot:"footer-actions",width:"full"},this.messagesCommon.back))}))}_handlePanelFlowItemBack(e){e.open=!1,this._focusRootFlowItem=!0}_focusEditingFlowItemNode(e){this._focusEditingFlowItem&&(this._focusEditingFlowItem=!1,T(e))}_focusRootFlowItemNode(e){this._focusRootFlowItem&&(this._focusRootFlowItem=!1,T(e))}_focusPanelFlowItemNode(e){this._focusPanelFlowItem&&(this._focusPanelFlowItem=!1,T(e))}_renderItem(e,t,i,s){return O(u,{activeItem:this._activeItem,canMove:this._canMove,css:h,displayMode:R,dragEnabled:!t&&this.dragEnabled,item:e,key:`layerListItem-${e.layer?.uid}`,layerTablesEnabled:this.layerTablesEnabled,listModeDisabled:this.viewModel.listModeDisabled,messages:this.messages,messagesCommon:this.messagesCommon,parent:i,parentTitles:s,rootGroupUid:this._rootGroupUid,selectedDragItemLayerUid:this._selectedDragItemLayerUid,selectedItems:this.selectedItems,selectionMode:this.selectionMode,visibilityAppearance:this.visibilityAppearance,visibleElements:this.visibleElements,onAction:this._onTriggerAction,onCatalogOpen:this._onCatalogOpen,onPanelOpen:this._onPanelOpen,onSelectedDragItemLayerUidChange:this._onSelectedDragItemLayerUidChange,onTablesOpen:this._onTablesOpen,onTooltipReferenceChange:this._onTooltipReferenceChange})}_moveLayerFromChildList({toEl:e,fromEl:t,dragEl:i,newIndex:s}){const o=y(i),r=y(e),l=y(t),n=D(t),a=D(e);n&&a&&this.viewModel.moveListItem({targetItem:o,fromParentItem:l,toParentItem:r,newIndex:s,from:n,to:a})}_handleCalciteListDragEnd(e){const{fromEl:t,dragEl:i,oldIndex:s}=e;t.insertBefore(i,t.children[s])}_sortLayers(e,t){if(e)if(e.group===this._rootGroupUid){const i=D(e),s="base"===i?this.view?.map?.basemap?.baseLayers:"reference"===i?this.view?.map?.basemap?.referenceLayers:null;b(s,t)}else{const i=y(e);if(!i)return;L(i,t)}}_handleCalciteListChange(e){const{selectionMode:t,selectedItems:i}=this;if("none"===t)return;const s=e.target.selectedItems.map((e=>y(e))).filter(Boolean);i.removeAll(),i.addMany(s)}_renderEditingInput(){const{messages:e}=this,{basemapTitle:t}=this.viewModel;return O("div",{class:h.editing},O("calcite-label",null,e.basemapTitle,O("calcite-input",{afterCreate:e=>this._editTitleInput=e,label:e.basemapTitle,name:"basemaptitle",pattern:B,placeholder:e.basemapTitle,required:!0,title:e.basemapTitle,type:"text",value:t??void 0})))}_renderCancelButton(){const{messagesCommon:{cancel:e}}=this;return O("calcite-button",{appearance:"outline",bind:this,label:e,onclick:this._toggleEditingTitle,slot:"footer",title:e,width:"full"},e)}_renderSubmitButton(){const{messagesCommon:e}=this;return O("calcite-button",{label:e.form.submit,slot:"footer",title:e.form.submit,type:"submit",width:"full"},e.form.ok)}_renderEditingForm(){return this.editingTitle?O("form",{bind:this,class:h.editingForm,onsubmit:this._formSubmit},O("calcite-flow-item",{afterCreate:this._focusEditingFlowItemNode,afterUpdate:this._focusEditingFlowItemNode,bind:this,heading:this.visibleElements.heading?this.messages.basemapTitle:void 0,headingLevel:this.headingLevel,selected:0===this.openedLayers.length&&0===this._openedPanelItems.length,onCalciteFlowItemBack:e=>{e.preventDefault(),this._toggleEditingTitle()}},this._renderEditingInput(),this._renderCancelButton(),this._renderSubmitButton())):null}_renderEditTitleButton(){const{editingTitle:e,visibleElements:t,messagesCommon:i}=this,s=i.edit;return t.editTitleButton&&!e?O("calcite-action",{bind:this,icon:"pencil",onclick:this._toggleEditingTitle,slot:"header-actions-end",text:s,title:s}):null}_renderNoLayersInfoMessage(e){return O("div",{slot:"message"},e)}_renderNoLayersInfo(e,t){return O("div",{class:h.itemMessage},O("calcite-notice",{icon:"information",key:t,kind:"info",open:!0,width:"full"},this._renderNoLayersInfoMessage(e)))}_renderItems(){const{collapsed:e,visible:t,visibleElements:{closeButton:i,collapseButton:s,heading:o,flow:r},messages:l,viewModel:n}=this,a=[O("calcite-flow-item",{afterCreate:this._focusRootFlowItemNode,afterUpdate:this._focusRootFlowItemNode,bind:this,closable:i,closed:!t,collapsed:e,collapsible:s,heading:o?n.basemapTitle??l.widgetLabel:void 0,headingLevel:this.headingLevel,key:"root-flow-item",selected:!this.editingTitle&&0===this.openedLayers.length&&0===this._openedPanelItems.length,onCalciteFlowItemClose:()=>this.visible=!1},this._renderEditTitleButton(),this._renderReferenceSection(),this._renderBaseSection()),this._renderEditingForm(),this._renderPanelFlowItems(),this._renderedOpenLayerFlowItems];return t?[r?O("calcite-flow",{key:"root-flow"},a):a,this._renderItemTooltips()]:null}_renderLayerFlowItem(e,t){const{messages:i,openedLayers:s}=this,o=e.title||this.messages.untitledLayer;return O("calcite-flow-item",{afterCreate:this._focusLayerFlowItemNode,afterUpdate:this._focusLayerFlowItemNode,bind:this,"data-layer-uid":e.uid,description:o,heading:i["catalog"===e.type?"catalogLayers":"tables"],headingLevel:this.headingLevel,key:`flow-layer-list-${e.uid}`,selected:t,onCalciteFlowItemBack:e=>{e.preventDefault(),s.pop();const t=s.at(-1);t?this._focusLayerFlowItem=t.uid:this._focusRootFlowItem=!0}},this._layerListMap.get(e)?.render())}_renderList(e,t,i){const{messages:s,dragEnabled:o,selectionMode:r,filterPlaceholder:l,baseFilterText:n,referenceFilterText:a,_baseFilterEnabled:c,_referenceFilterEnabled:d,_rootGroupUid:p}=this,m="reference"===t?s.noReferenceLayers:s.noBaseLayers,u="reference"===t?d:c;return O("calcite-block",{class:h.section,collapsible:!0,heading:"reference"===t?s.referenceHeading:s.baseHeading,headingLevel:E(this.headingLevel),key:`block-${t}`,open:!0},0===e?.length?this._renderNoLayersInfo(m,t):null,O("calcite-list",{afterCreate:e=>{"reference"===t?this._referenceListEl=e:this._baseListEl=e,e.addEventListener("focusin",this._setActiveItem),e.addEventListener("focusout",this._clearActiveItem)},afterRemoved:e=>{"reference"===t?this._referenceListEl=null:this._baseListEl=null,e.removeEventListener("focusin",this._setActiveItem),e.removeEventListener("focusout",this._clearActiveItem)},canPull:e=>this._canMove(e,"pull"),canPut:e=>this._canMove(e,"put"),displayMode:R,filterProps:C,[k]:t,"data-layer-type":p,dragEnabled:o,filterEnabled:u,filterPlaceholder:l,filterText:u?"reference"===t?a:n:"",group:p,key:`list-${t}`,label:s.widgetLabel,onmouseleave:this._clearActiveItem,onmouseover:this._setActiveItem,selectionAppearance:"border",selectionMode:r,onCalciteListChange:e=>this._handleCalciteListChange(e),onCalciteListDragEnd:e=>this._handleCalciteListDragEnd(e.detail),onCalciteListFilter:e=>this["reference"===t?"referenceFilterText":"baseFilterText"]=e.currentTarget?.filterText??"",onCalciteListOrderChange:e=>this._onCalciteListOrderChange(e.detail)},e?.toArray().map((e=>this._renderItem(e,i))),e?.length&&u?O("div",{class:h.filterNoResults,slot:"filter-no-results"},O("calcite-notice",{kind:"info",open:!0,width:"full"},this._renderNoLayersInfoMessage(m))):null))}_renderBaseSection(){const{_visibleBaseItems:e}=this;return this.visibleElements.baseLayers?this._renderList(e,"base",1===e?.length):null}_renderReferenceSection(){return this.visibleElements.referenceLayers?this._renderList(this._visibleReferenceItems,"reference",!1):null}_toggleEditingTitle(){const{editingTitle:e}=this,t=!e;this.editingTitle=t,t?this._focusEditingFlowItem=!0:this._focusRootFlowItem=!0}_formSubmit(e){e.preventDefault();const t=this._editTitleInput?.value;t?.trim()&&(this.basemapTitle=t),this._toggleEditingTitle()}};function D(e){return e?.closest(`[${k}]`)?.getAttribute(k)}e([a()],j.prototype,"_baseListEl",void 0),e([a()],j.prototype,"_referenceListEl",void 0),e([a()],j.prototype,"_activeItem",void 0),e([a()],j.prototype,"_tooltipReferenceMap",void 0),e([a()],j.prototype,"_focusRootFlowItem",void 0),e([a()],j.prototype,"_focusPanelFlowItem",void 0),e([a()],j.prototype,"_focusLayerFlowItem",void 0),e([a()],j.prototype,"_focusEditingFlowItem",void 0),e([a()],j.prototype,"_layerListMap",void 0),e([a()],j.prototype,"_visibleBaseItems",null),e([a()],j.prototype,"_visibleReferenceItems",null),e([a()],j.prototype,"_openedPanelItems",null),e([a()],j.prototype,"_totalBaseItems",null),e([a()],j.prototype,"_totalReferenceItems",null),e([a()],j.prototype,"_baseFilterEnabled",null),e([a()],j.prototype,"_referenceFilterEnabled",null),e([a()],j.prototype,"_renderedOpenLayerFlowItems",null),e([a()],j.prototype,"basemapTitle",null),e([a({readOnly:!0})],j.prototype,"catalogLayerList",void 0),e([a()],j.prototype,"catalogOptions",void 0),e([a()],j.prototype,"collapsed",void 0),e([a()],j.prototype,"dragEnabled",void 0),e([a()],j.prototype,"editingTitle",void 0),e([a()],j.prototype,"filterPlaceholder",void 0),e([a()],j.prototype,"baseFilterPredicate",void 0),e([a()],j.prototype,"baseFilterText",void 0),e([a()],j.prototype,"referenceFilterPredicate",void 0),e([a()],j.prototype,"referenceFilterText",void 0),e([a()],j.prototype,"listItemCanGiveFunction",void 0),e([a()],j.prototype,"listItemCanReceiveFunction",void 0),e([a()],j.prototype,"baseListItemCreatedFunction",null),e([a()],j.prototype,"headingLevel",void 0),e([a()],j.prototype,"icon",null),e([a()],j.prototype,"knowledgeGraphOptions",void 0),e([a()],j.prototype,"label",null),e([a()],j.prototype,"layerTablesEnabled",void 0),e([a()],j.prototype,"mapImageOptions",void 0),e([a(),M("esri/widgets/BasemapLayerList/t9n/BasemapLayerList")],j.prototype,"messages",void 0),e([a(),M("esri/t9n/common")],j.prototype,"messagesCommon",void 0),e([a()],j.prototype,"minFilterItems",void 0),e([a({readOnly:!0})],j.prototype,"openedLayers",void 0),e([a({readOnly:!0})],j.prototype,"openedLayerLists",void 0),e([a()],j.prototype,"referenceListItemCreatedFunction",null),e([a({readOnly:!0})],j.prototype,"tableList",void 0),e([a({readOnly:!0})],j.prototype,"baseItems",null),e([a({readOnly:!0})],j.prototype,"referenceItems",null),e([a({type:A})],j.prototype,"selectedItems",void 0),e([a()],j.prototype,"selectionMode",void 0),e([a()],j.prototype,"tileOptions",void 0),e([a()],j.prototype,"view",null),e([P("trigger-action"),a({type:p})],j.prototype,"viewModel",void 0),e([a()],j.prototype,"visibilityAppearance",void 0),e([a({type:m,nonNullable:!0})],j.prototype,"visibleElements",void 0),j=e([c("esri.widgets.BasemapLayerList")],j);const U=j;export{U as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import t from"../core/Collection.js";import i from"../core/Identifiable.js";import s from"../core/ReactiveMap.js";import{on as o,watch as r,initial as l,syncAndInitial as n}from"../core/reactiveUtils.js";import{property as a}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/Logger.js";import"../core/RandomLCG.js";import{subclass as c}from"../core/accessorSupport/decorators/subclass.js";import d from"./Widget.js";import p from"./BasemapLayerList/BasemapLayerListViewModel.js";import m from"./BasemapLayerList/BasemapLayerListVisibleElements.js";import{css as h}from"./BasemapLayerList/css.js";import u from"./LayerList/LayerListItem.js";import f from"./LayerList/ListItem.js";import{minFilterItems as y,getItem as g,getLayerType as _,sortLayersToIds as b,sortChildLayersToIds as L,removeDestroyedListItems as v,setFilterPredicate as I}from"./LayerList/support/layerListUtils.js";import{loadCalciteComponents as w}from"./support/componentsUtils.js";import{globalCss as F}from"./support/globalCss.js";import{incrementHeadingLevel as E}from"./support/Heading.js";import{calciteListFilterProps as C}from"./support/listUtils.js";import{setFocus as T}from"./support/widgetUtils.js";import{messageBundle as M}from"./support/decorators/messageBundle.js";import{vmEvent as P}from"./support/decorators/vmEvent.js";import{tsx as O}from"./support/jsxFactory.js";const A=t.ofType(f),R="nested",B=".*\\S+.*",k="data-basemap-layer-type";let j=class extends(i.IdentifiableMixin(d)){constructor(e,i){super(e,i),this._baseListEl=null,this._referenceListEl=null,this._activeItem=null,this._tooltipReferenceMap=new Map,this._editTitleInput=null,this._focusRootFlowItem=!1,this._focusPanelFlowItem=!1,this._focusLayerFlowItem=null,this._focusEditingFlowItem=!1,this._layerListMap=new s,this._lastDragDetail=null,this._selectedDragItemLayerUid=null,this._rootGroupUid=`basemap-${this.uid}`,this._openedLayersController=null,this.catalogLayerList=null,this.catalogOptions=null,this.collapsed=!1,this.dragEnabled=!1,this.editingTitle=!1,this.filterPlaceholder="",this.baseFilterPredicate=null,this.baseFilterText="",this.referenceFilterPredicate=null,this.referenceFilterText="",this.listItemCanGiveFunction=null,this.listItemCanReceiveFunction=null,this.headingLevel=2,this.knowledgeGraphOptions=null,this.layerTablesEnabled=new t(["knowledge-graph"]),this.mapImageOptions=null,this.messages=null,this.messagesCommon=null,this.minFilterItems=y,this.openedLayers=new t,this.openedLayerLists=new t,this.tableList=null,this.selectedItems=new A,this.selectionMode="none",this.tileOptions=null,this.viewModel=new p,this.visibilityAppearance="default",this.visibleElements=new m,this._canMove=({dragEl:e,fromEl:t,toEl:i},s)=>{const o="pull"===s?this.listItemCanGiveFunction:this.listItemCanReceiveFunction,r=g(e);if(!r?.sortable)return!1;const l=g(t),n=_(t),a=g(i),c=_(i),d=!!n&&!!c&&n===c,p={selected:r,from:l,to:a},m=t.group,h=i.group,u=l?.layer?.type??"",f=a?.layer?.type??"",y=new Set(["map-image","catalog","knowledge-graph"]),b="sublayer";return m&&h&&"function"==typeof o?o.call(null,p):d&&!y.has(u)&&!y.has(f)&&r?.layer?.type!==b},this._onSelectedDragItemLayerUidChange=e=>{this._selectedDragItemLayerUid=e},this._onTriggerAction=(e,t)=>{this.triggerAction(e,t)},this._onTooltipReferenceChange=(e,t)=>{t?this._tooltipReferenceMap.set(e,t):this._tooltipReferenceMap.delete(e)},this._onTablesOpen=e=>{this.openedLayers.push(e.layer),this._focusLayerFlowItem=e.layer?.uid},this._onPanelOpen=()=>{this._focusPanelFlowItem=!0},this._onCatalogOpen=e=>{this.openedLayers.push(e.layer?.parent),this._focusLayerFlowItem=e.layer?.uid},this._clearActiveItem=()=>{this._activeItem=null},this._setActiveItem=e=>{if("default"!==this.visibilityAppearance)return;const t=Array.from(e.composedPath()).find((e=>e.classList?.contains(h.item)));this._activeItem=g(t)},this._onCalciteListOrderChange=e=>{const{_lastDragDetail:t}=this,{toEl:i,fromEl:s,dragEl:o,newIndex:r}=e;if(!s||!i||t?.newIndex===r&&t?.dragEl===o&&t?.toEl===i&&t?.fromEl===s)return;this._lastDragDetail=e,this._selectedDragItemLayerUid=o.value;const l=s,n=i;if(l!==n)this._moveLayerFromChildList({toEl:n,fromEl:l,dragEl:o,newIndex:r});else{const e=Array.from(s.children).filter((e=>e?.matches("calcite-list-item"))).map((e=>e.value));this._sortLayers(l,e)}}}initialize(){this.addHandles([o((()=>this.openedLayers),"change",(()=>this._handleOpenedLayersChange()),l),r((()=>[this.viewModel.referenceItems.toArray(),this.viewModel.baseItems.toArray()]),(()=>v(this.selectedItems)),n),r((()=>[this.baseFilterPredicate,this._baseListEl]),(()=>I(this._baseListEl,this.baseFilterPredicate))),r((()=>[this.referenceFilterPredicate,this._referenceListEl]),(()=>I(this._referenceListEl,this.referenceFilterPredicate)))])}loadDependencies(){return w({action:()=>import("@esri/calcite-components/dist/components/calcite-action"),block:()=>import("@esri/calcite-components/dist/components/calcite-block"),label:()=>import("@esri/calcite-components/dist/components/calcite-label"),input:()=>import("@esri/calcite-components/dist/components/calcite-input"),button:()=>import("@esri/calcite-components/dist/components/calcite-button"),flow:()=>import("@esri/calcite-components/dist/components/calcite-flow"),"flow-item":()=>import("@esri/calcite-components/dist/components/calcite-flow-item"),list:()=>import("@esri/calcite-components/dist/components/calcite-list"),notice:()=>import("@esri/calcite-components/dist/components/calcite-notice"),tooltip:()=>import("@esri/calcite-components/dist/components/calcite-tooltip")})}destroy(){this._tooltipReferenceMap.clear(),this._destroyOpenedLayerLists()}get _visibleBaseItems(){return this.baseItems?.filter((e=>!e.hidden&&(this.visibleElements.errors||!e.error)))}get _visibleReferenceItems(){return this.referenceItems?.filter((e=>!e.hidden&&(this.visibleElements.errors||!e.error)))}get _openedPanelItems(){return this._visibleReferenceItems.concat(this._visibleBaseItems).flatten((e=>e.children)).filter((({hidden:e,panel:t})=>!e&&t?.open&&!t.disabled&&t.flowEnabled))}get _totalBaseItems(){return this.viewModel.baseItems.flatten((e=>e.children.filter((e=>"catalog-dynamic-group"!==e.layer?.type)))).length}get _totalReferenceItems(){return this.viewModel.referenceItems.flatten((e=>e.children.filter((e=>"catalog-dynamic-group"!==e.layer?.type)))).length}get _baseFilterEnabled(){return this._totalBaseItems>=this.minFilterItems&&this.visibleElements.filter}get _referenceFilterEnabled(){return this._totalReferenceItems>=this.minFilterItems&&this.visibleElements.filter}get _renderedOpenLayerFlowItems(){const{openedLayers:e}=this;return e.toArray().map(((t,i)=>this._renderLayerFlowItem(t,i===e.length-1)))}get basemapTitle(){return this.viewModel.basemapTitle}set basemapTitle(e){this.viewModel.basemapTitle=e}get baseListItemCreatedFunction(){return this.viewModel.baseListItemCreatedFunction}set baseListItemCreatedFunction(e){this.viewModel.baseListItemCreatedFunction=e}get icon(){return"layers"}set icon(e){this._overrideIfSome("icon",e)}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get referenceListItemCreatedFunction(){return this.viewModel.referenceListItemCreatedFunction}set referenceListItemCreatedFunction(e){this.viewModel.referenceListItemCreatedFunction=e}get baseItems(){return this.viewModel.baseItems}get referenceItems(){return this.viewModel.referenceItems}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}triggerAction(e,t){return this.viewModel.triggerAction(e,t)}render(){const{state:e}=this.viewModel,t={[F.hidden]:"loading"===e,[F.disabled]:"disabled"===e};return O("div",{class:this.classes(h.base,F.widget,F.panel,t)},this._renderItems())}async _createCatalogLayerList(e){const{default:t}=await import("./CatalogLayerList.js"),{headingLevel:i,catalogOptions:s,view:o,filterPlaceholder:r,minFilterItems:l,selectionMode:n,visibilityAppearance:a,_onCatalogOpen:c,_onTablesOpen:d,layerTablesEnabled:p}=this;return new t({headingLevel:i,view:o,filterPlaceholder:r,minFilterItems:l,selectionMode:n,visibilityAppearance:a,...s,catalogLayer:e,layerTablesEnabled:p,onCatalogOpen:c,onTablesOpen:d})}_getTableListParams(e){switch(e.type){case"knowledge-graph":return{...this.knowledgeGraphOptions,tables:e.tables};case"map-image":return{...this.mapImageOptions,tables:e.subtables};case"tile":return{...this.tileOptions,tables:e.subtables};default:return null}}async _createTableList(e){const{default:t}=await import("./TableList.js"),{headingLevel:i,selectionMode:s,dragEnabled:o}=this;return new t({headingLevel:i,selectionMode:s,dragEnabled:o,...this._getTableListParams(e)})}async _createFlowList(e,t){const{_layerListMap:i}=this,s=i.get(e);if(s)return s;const o="catalog"===e.type?await this._createCatalogLayerList(e):await this._createTableList(e);return t.aborted||i.set(e,o),o}async _handleOpenedLayersChange(){const{_layerListMap:e,openedLayers:t,openedLayerLists:i}=this;this._openedLayersController?.abort();const s=new AbortController,{signal:o}=s;this._openedLayersController=s,e.forEach(((i,s)=>{t.includes(s)||(i.destroy(),e.delete(s))}));const r=await Promise.all(t.map((e=>this._createFlowList(e,o))));if(o.aborted)return;i.removeAll(),i.addMany(r);const l=i.at(-1);l?"catalogLayer"in l?(this._set("catalogLayerList",l),this._set("tableList",null)):(this._set("catalogLayerList",null),this._set("tableList",l)):(this._set("catalogLayerList",null),this._set("tableList",null))}_destroyOpenedLayerLists(){this.openedLayerLists.destroyAll(),this.openedLayers.removeAll(),this._layerListMap.clear()}_renderItemTooltip(e){return e?O("calcite-tooltip",{key:`tooltip-${e.layer?.uid}`,referenceElement:this._tooltipReferenceMap.get(e.layer?.uid)},this.messages.layerIncompatibleTooltip):null}_renderItemTooltipNodes(e){return e.incompatible?this._renderItemTooltip(e):e.children?.filter((e=>!e.hidden)).toArray().map((e=>this._renderItemTooltipNodes(e)))}_renderItemTooltips(){return this._visibleReferenceItems.concat(this._visibleBaseItems)?.toArray().map((e=>this._renderItemTooltipNodes(e)))}_focusLayerFlowItemNode(e){this._focusLayerFlowItem===e.dataset.layerUid&&(this._focusLayerFlowItem=null,T(e))}_renderPanelFlowItems(){const{_openedPanelItems:e,openedLayers:t}=this;return e.toArray().map((({title:i,panel:s},o)=>{const r=()=>this._handlePanelFlowItemBack(s);return O("calcite-flow-item",{afterCreate:this._focusPanelFlowItemNode,afterUpdate:this._focusPanelFlowItemNode,bind:this,description:i,heading:s.title,headingLevel:this.headingLevel,key:`flow-panel-${s.uid}`,selected:!t.length&&o===e.length-1,onCalciteFlowItemBack:e=>{e.preventDefault(),r()}},s.render(),O("calcite-button",{appearance:"transparent",onclick:r,slot:"footer-actions",width:"full"},this.messagesCommon.back))}))}_handlePanelFlowItemBack(e){e.open=!1,this._focusRootFlowItem=!0}_focusEditingFlowItemNode(e){this._focusEditingFlowItem&&(this._focusEditingFlowItem=!1,T(e))}_focusRootFlowItemNode(e){this._focusRootFlowItem&&(this._focusRootFlowItem=!1,T(e))}_focusPanelFlowItemNode(e){this._focusPanelFlowItem&&(this._focusPanelFlowItem=!1,T(e))}_renderItem(e,t,i,s){return O(u,{activeItem:this._activeItem,canMove:this._canMove,css:h,displayMode:R,dragEnabled:!t&&this.dragEnabled,item:e,key:`layerListItem-${e.layer?.uid}`,layerTablesEnabled:this.layerTablesEnabled,listModeDisabled:this.viewModel.listModeDisabled,messages:this.messages,messagesCommon:this.messagesCommon,parent:i,parentTitles:s,rootGroupUid:this._rootGroupUid,selectedDragItemLayerUid:this._selectedDragItemLayerUid,selectedItems:this.selectedItems,selectionMode:this.selectionMode,visibilityAppearance:this.visibilityAppearance,visibleElements:this.visibleElements,onAction:this._onTriggerAction,onCatalogOpen:this._onCatalogOpen,onPanelOpen:this._onPanelOpen,onSelectedDragItemLayerUidChange:this._onSelectedDragItemLayerUidChange,onTablesOpen:this._onTablesOpen,onTooltipReferenceChange:this._onTooltipReferenceChange})}_moveLayerFromChildList({toEl:e,fromEl:t,dragEl:i,newIndex:s}){const o=g(i),r=g(e),l=g(t),n=D(t),a=D(e);n&&a&&this.viewModel.moveListItem({targetItem:o,fromParentItem:l,toParentItem:r,newIndex:s,from:n,to:a})}_handleCalciteListDragEnd(e){const{fromEl:t,dragEl:i,oldIndex:s}=e;t.insertBefore(i,t.children[s])}_sortLayers(e,t){if(e)if(e===this._referenceListEl||e===this._baseListEl){const i=e===this._referenceListEl?"reference":"base",s="base"===i?this.view?.map?.basemap?.baseLayers:"reference"===i?this.view?.map?.basemap?.referenceLayers:null;b(s,t)}else{const i=g(e);if(!i)return;L(i,t)}}_handleCalciteListChange(e){const{selectionMode:t,selectedItems:i}=this;if("none"===t)return;const s=e.target.selectedItems.map((e=>g(e))).filter(Boolean);i.removeAll(),i.addMany(s)}_renderEditingInput(){const{messages:e}=this,{basemapTitle:t}=this.viewModel;return O("div",{class:h.editing},O("calcite-label",null,e.basemapTitle,O("calcite-input",{afterCreate:e=>this._editTitleInput=e,label:e.basemapTitle,name:"basemaptitle",pattern:B,placeholder:e.basemapTitle,required:!0,title:e.basemapTitle,type:"text",value:t??void 0})))}_renderCancelButton(){const{messagesCommon:{cancel:e}}=this;return O("calcite-button",{appearance:"outline",bind:this,label:e,onclick:this._toggleEditingTitle,slot:"footer",title:e,width:"full"},e)}_renderSubmitButton(){const{messagesCommon:e}=this;return O("calcite-button",{label:e.form.submit,slot:"footer",title:e.form.submit,type:"submit",width:"full"},e.form.ok)}_renderEditingForm(){return this.editingTitle?O("form",{bind:this,class:h.editingForm,onsubmit:this._formSubmit},O("calcite-flow-item",{afterCreate:this._focusEditingFlowItemNode,afterUpdate:this._focusEditingFlowItemNode,bind:this,heading:this.visibleElements.heading?this.messages.basemapTitle:void 0,headingLevel:this.headingLevel,selected:0===this.openedLayers.length&&0===this._openedPanelItems.length,onCalciteFlowItemBack:e=>{e.preventDefault(),this._toggleEditingTitle()}},this._renderEditingInput(),this._renderCancelButton(),this._renderSubmitButton())):null}_renderEditTitleButton(){const{editingTitle:e,visibleElements:t,messagesCommon:i}=this,s=i.edit;return t.editTitleButton&&!e?O("calcite-action",{bind:this,icon:"pencil",onclick:this._toggleEditingTitle,slot:"header-actions-end",text:s,title:s}):null}_renderNoLayersInfoMessage(e){return O("div",{slot:"message"},e)}_renderNoLayersInfo(e,t){return O("div",{class:h.itemMessage},O("calcite-notice",{icon:"information",key:t,kind:"info",open:!0,width:"full"},this._renderNoLayersInfoMessage(e)))}_renderItems(){const{collapsed:e,visible:t,visibleElements:{closeButton:i,collapseButton:s,heading:o,flow:r},messages:l,viewModel:n}=this,a=[O("calcite-flow-item",{afterCreate:this._focusRootFlowItemNode,afterUpdate:this._focusRootFlowItemNode,bind:this,closable:i,closed:!t,collapsed:e,collapsible:s,heading:o?n.basemapTitle??l.widgetLabel:void 0,headingLevel:this.headingLevel,key:"root-flow-item",selected:!this.editingTitle&&0===this.openedLayers.length&&0===this._openedPanelItems.length,onCalciteFlowItemClose:()=>this.visible=!1},this._renderEditTitleButton(),this._renderReferenceSection(),this._renderBaseSection()),this._renderEditingForm(),this._renderPanelFlowItems(),this._renderedOpenLayerFlowItems];return t?[r?O("calcite-flow",{key:"root-flow"},a):a,this._renderItemTooltips()]:null}_renderLayerFlowItem(e,t){const{messages:i,openedLayers:s}=this,o=e.title||this.messages.untitledLayer;return O("calcite-flow-item",{afterCreate:this._focusLayerFlowItemNode,afterUpdate:this._focusLayerFlowItemNode,bind:this,"data-layer-uid":e.uid,description:o,heading:i["catalog"===e.type?"catalogLayers":"tables"],headingLevel:this.headingLevel,key:`flow-layer-list-${e.uid}`,selected:t,onCalciteFlowItemBack:e=>{e.preventDefault(),s.pop();const t=s.at(-1);t?this._focusLayerFlowItem=t.uid:this._focusRootFlowItem=!0}},this._layerListMap.get(e)?.render())}_renderList(e,t,i){const{messages:s,dragEnabled:o,selectionMode:r,filterPlaceholder:l,baseFilterText:n,referenceFilterText:a,_baseFilterEnabled:c,_referenceFilterEnabled:d,_rootGroupUid:p}=this,m="reference"===t?s.noReferenceLayers:s.noBaseLayers,u="reference"===t?d:c;return O("calcite-block",{class:h.section,collapsible:!0,heading:"reference"===t?s.referenceHeading:s.baseHeading,headingLevel:E(this.headingLevel),key:`block-${t}`,open:!0},0===e?.length?this._renderNoLayersInfo(m,t):null,O("calcite-list",{afterCreate:e=>{"reference"===t?this._referenceListEl=e:this._baseListEl=e,e.addEventListener("focusin",this._setActiveItem),e.addEventListener("focusout",this._clearActiveItem)},afterRemoved:e=>{"reference"===t?this._referenceListEl=null:this._baseListEl=null,e.removeEventListener("focusin",this._setActiveItem),e.removeEventListener("focusout",this._clearActiveItem)},canPull:e=>this._canMove(e,"pull"),canPut:e=>this._canMove(e,"put"),displayMode:R,filterProps:C,[k]:t,"data-layer-type":p,dragEnabled:o,filterEnabled:u,filterPlaceholder:l,filterText:u?"reference"===t?a:n:"",group:p,key:`list-${t}`,label:s.widgetLabel,onmouseleave:this._clearActiveItem,onmouseover:this._setActiveItem,selectionAppearance:"border",selectionMode:r,onCalciteListChange:e=>this._handleCalciteListChange(e),onCalciteListDragEnd:e=>this._handleCalciteListDragEnd(e.detail),onCalciteListFilter:e=>this["reference"===t?"referenceFilterText":"baseFilterText"]=e.currentTarget?.filterText??"",onCalciteListOrderChange:e=>this._onCalciteListOrderChange(e.detail)},e?.toArray().map((e=>this._renderItem(e,i))),e?.length&&u?O("div",{class:h.filterNoResults,slot:"filter-no-results"},O("calcite-notice",{kind:"info",open:!0,width:"full"},this._renderNoLayersInfoMessage(m))):null))}_renderBaseSection(){const{_visibleBaseItems:e}=this;return this.visibleElements.baseLayers?this._renderList(e,"base",1===e?.length):null}_renderReferenceSection(){return this.visibleElements.referenceLayers?this._renderList(this._visibleReferenceItems,"reference",!1):null}_toggleEditingTitle(){const{editingTitle:e}=this,t=!e;this.editingTitle=t,t?this._focusEditingFlowItem=!0:this._focusRootFlowItem=!0}_formSubmit(e){e.preventDefault();const t=this._editTitleInput?.value;t?.trim()&&(this.basemapTitle=t),this._toggleEditingTitle()}};function D(e){return e?.closest(`[${k}]`)?.getAttribute(k)}e([a()],j.prototype,"_baseListEl",void 0),e([a()],j.prototype,"_referenceListEl",void 0),e([a()],j.prototype,"_activeItem",void 0),e([a()],j.prototype,"_tooltipReferenceMap",void 0),e([a()],j.prototype,"_focusRootFlowItem",void 0),e([a()],j.prototype,"_focusPanelFlowItem",void 0),e([a()],j.prototype,"_focusLayerFlowItem",void 0),e([a()],j.prototype,"_focusEditingFlowItem",void 0),e([a()],j.prototype,"_layerListMap",void 0),e([a()],j.prototype,"_visibleBaseItems",null),e([a()],j.prototype,"_visibleReferenceItems",null),e([a()],j.prototype,"_openedPanelItems",null),e([a()],j.prototype,"_totalBaseItems",null),e([a()],j.prototype,"_totalReferenceItems",null),e([a()],j.prototype,"_baseFilterEnabled",null),e([a()],j.prototype,"_referenceFilterEnabled",null),e([a()],j.prototype,"_renderedOpenLayerFlowItems",null),e([a()],j.prototype,"basemapTitle",null),e([a({readOnly:!0})],j.prototype,"catalogLayerList",void 0),e([a()],j.prototype,"catalogOptions",void 0),e([a()],j.prototype,"collapsed",void 0),e([a()],j.prototype,"dragEnabled",void 0),e([a()],j.prototype,"editingTitle",void 0),e([a()],j.prototype,"filterPlaceholder",void 0),e([a()],j.prototype,"baseFilterPredicate",void 0),e([a()],j.prototype,"baseFilterText",void 0),e([a()],j.prototype,"referenceFilterPredicate",void 0),e([a()],j.prototype,"referenceFilterText",void 0),e([a()],j.prototype,"listItemCanGiveFunction",void 0),e([a()],j.prototype,"listItemCanReceiveFunction",void 0),e([a()],j.prototype,"baseListItemCreatedFunction",null),e([a()],j.prototype,"headingLevel",void 0),e([a()],j.prototype,"icon",null),e([a()],j.prototype,"knowledgeGraphOptions",void 0),e([a()],j.prototype,"label",null),e([a()],j.prototype,"layerTablesEnabled",void 0),e([a()],j.prototype,"mapImageOptions",void 0),e([a(),M("esri/widgets/BasemapLayerList/t9n/BasemapLayerList")],j.prototype,"messages",void 0),e([a(),M("esri/t9n/common")],j.prototype,"messagesCommon",void 0),e([a()],j.prototype,"minFilterItems",void 0),e([a({readOnly:!0})],j.prototype,"openedLayers",void 0),e([a({readOnly:!0})],j.prototype,"openedLayerLists",void 0),e([a()],j.prototype,"referenceListItemCreatedFunction",null),e([a({readOnly:!0})],j.prototype,"tableList",void 0),e([a({readOnly:!0})],j.prototype,"baseItems",null),e([a({readOnly:!0})],j.prototype,"referenceItems",null),e([a({type:A})],j.prototype,"selectedItems",void 0),e([a()],j.prototype,"selectionMode",void 0),e([a()],j.prototype,"tileOptions",void 0),e([a()],j.prototype,"view",null),e([P("trigger-action"),a({type:p})],j.prototype,"viewModel",void 0),e([a()],j.prototype,"visibilityAppearance",void 0),e([a({type:m,nonNullable:!0})],j.prototype,"visibleElements",void 0),j=e([c("esri.widgets.BasemapLayerList")],j);const x=j;export{x as default};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
+ */
5
+ import{_ as r}from"../../chunks/tslib.es6.js";import o from"../../core/Evented.js";import{property as e}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as t}from"../../core/accessorSupport/decorators/subclass.js";import{InteractiveToolBase as s}from"../../views/interactive/InteractiveToolBase.js";let c=class extends(o.EventedMixin(s)){constructor(r){super(r)}get cursor(){return"crosshair"}onInputEvent(r){"click"===r.type&&this._handleClick(r)}_handleClick(r){this.emit("click",r)}};r([e({readOnly:!0})],c.prototype,"cursor",null),r([e({constructOnly:!0})],c.prototype,"stop",void 0),c=r([t("esri.widgets.Directions.DirectionsSearchTool")],c);export{c as DirectionsSearchTool};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../core/Collection.js";import r from"../../core/Error.js";import i from"../../core/Evented.js";import{isAbortError as o}from"../../core/promiseUtils.js";import{on as s,watch as l,syncAndInitial as a,when as n}from"../../core/reactiveUtils.js";import{property as u}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as d}from"../../core/accessorSupport/decorators/subclass.js";import{resolveTimeZone as h,convertDateFormatToIntlOptions as c,formatTimestamp as p}from"../../intl/date.js";import{getLocale as m,getLanguage as v}from"../../intl/locale.js";import{fetchServiceDescription as f}from"../../rest/networkService.js";import y from"../../rest/support/RouteParameters.js";import g from"../../rest/support/Stop.js";import T from"../../rest/support/TravelMode.js";import{defaultDatePattern as w,defaultTimePattern as _}from"../../support/dateUtils.js";import{system as D,shortTimeZoneName as C}from"../../time/timeZoneUtils.js";import{DepartureTimeOption as S}from"./support/directionsUtils.js";import{getDefaultLocaleOptions as b}from"../support/dateUtils.js";import I from"../support/GoTo.js";import{DateTime as M,FixedOffsetZone as A,IANAZone as j}from"luxon";function P(e){return"esri.Graphic"===e?.declaredClass}function L(e){return"esri.rest.support.Stop"===e?.declaredClass}var E;!function(e){e[e.Active=0]="Active",e[e.Complete=1]="Complete",e[e.Failed=2]="Failed",e[e.Idle=3]="Idle",e[e.Suspended=4]="Suspended"}(E||(E={}));let R=class extends(I(i.EventedAccessor)){constructor(e){super(e),this._highlight=null,this._loadPromise=null,this._loadController=null,this._routeController=null,this._serviceDescriptionStatus=E.Idle,this.apiKey=void 0,this.defaultTravelMode=null,this.departureIsoDate=null,this.departureIsoTime=null,this.departureOption=S.NOW,this.departureTime="now",this.lastError=null,this.lastRoute=null,this.layer=null,this.maxStops=50,this.routeParameters=new y({directionsLengthUnits:"kilometers",findBestSequence:!1,returnZ:!0,startTime:null,startTimeIsUTC:!0,useTimeWindows:!1}),this.serviceDescription=null,this.view=null}initialize(){this.addHandles([s((()=>this.layer?.stops),"change",(()=>{this.clearResults()})),l((()=>this.layer),(e=>{if(null!=e){for(;e.stops.length<2;)e.stops.add(new g);this._set("defaultTravelMode",null),this.addHandles(n((()=>null!=this.serviceDescription?e.routeInfo?.analysisSettings?.travelMode:null),(e=>{this.defaultTravelMode=this._resolveDefaultTravelMode(e)}),{once:!0}))}}),a)]);const e=h(this.view?.timeZone??D),t=M.fromMillis(Date.now());this.departureIsoDate=t.toFormat(w,b(e)),this.departureIsoTime=t.toFormat(_,b(e))}get _directionsLanguage(){const e=this.serviceDescription?.directionsSupportedLanguages;if(!e)return;const t=this.routeParameters.directionsLanguage??m(),r=v(t);return e.find((e=>{const t=v(e);return"no"===r?t===r||"nb"===t:t===r}))}get formattedEta(){const e=this.layer?.routeInfo?.endTime,t=this.layer?.routeInfo?.endTimeOffset;if(this.departureOption===S.UNSPECIFIED||!e||!t)return null;const r=M.fromJSDate(e,{zone:A.instance(t)}),i=M.fromJSDate(e,{zone:j.create(h(this.view?.timeZone??D))}),o=M.fromJSDate(new Date,{zone:j.create(h(this.view?.timeZone??D))}),s=o.year===i.year&&o.month===i.month&&o.day===i.day,l=i.offset===t?void 0:C,a=s?void 0:c("short-date"),n=c("short-time");return p(r.toISO(),{...a,...n,timeZoneName:l})}get impedanceAttribute(){const e=this.routeParameters.travelMode?.impedanceAttributeName??this.routeParameters.impedanceAttribute??this.serviceDescription?.impedance??null;return this.getCostAttribute(e)}get selectedTravelMode(){return null==this.serviceDescription?null:this.defaultTravelMode??this.serviceDescription.defaultTravelMode??this.serviceDescription.supportedTravelModes?.[0]??null}set selectedTravelMode(e){this._override("selectedTravelMode",e)}get state(){if(null!=this._routeController)return"routing";if(null!=this.lastError)return"error";switch(this._serviceDescriptionStatus){case E.Suspended:return"unauthenticated";case E.Idle:return"disabled";case E.Active:return"initializing";case E.Failed:return"error";default:return"ready"}}get timeAttribute(){const e=this.routeParameters.travelMode?.timeAttributeName??this.routeParameters.directionsTimeAttribute??this.serviceDescription?.directionsTimeAttribute??null;return this.getCostAttribute(e)}get travelModes(){const e=this.serviceDescription?.supportedTravelModes?.slice()??[];return null==this.defaultTravelMode||e.includes(this.defaultTravelMode)||e.unshift(this.defaultTravelMode),e}async load(){if(null!=this._loadPromise)return this._loadPromise;this._loadPromise=this._load(),await this._loadPromise,this._loadPromise=null}async highlight(e){if(this.clearHighlights(),!this.view||!this.layer)return;const t=await this.view.whenLayerView(this.layer);this._highlight=t.highlight(e)}clearHighlights(){null!=this._highlight&&(this._highlight.remove(),this._highlight=null)}centerAt(e){if(null==this.view)return;const t=L(e)||P(e)?e.geometry:e;null!=t&&this.callGoTo({target:t})}clearResults(){this._set("lastRoute",null),this.layer?.removeResult()}async getDirections(){const{apiKey:e,layer:t,state:i}=this;if(null==t)throw new r("directions-view-model:missing-route-layer","A route layer must be associated with the view model.");if("unauthenticated"===i||"initializing"===i||"disabled"===i||this._serviceDescriptionStatus===E.Failed)throw new r("directions-view-model:not-loaded","Cannot get directions until view model loads.");this._set("lastError",null),null!=this._routeController&&(this._routeController.abort(),this._routeController=null);const{startTime:s,startTimeIsUTC:l}=this._getStartTimeParameters(),a=this.view?.spatialReference??null,n=this.routeParameters.clone();n.set({startTime:s,startTimeIsUTC:l,directionsLanguage:this._directionsLanguage,apiKey:e,outSpatialReference:a}),null!=this.selectedTravelMode&&(n.travelMode=this.selectedTravelMode);if(t.stops.filter((({geometry:e})=>null!=e)).length<2){const e=new r("directions-view-model:not-enough-stops","Not enough stops for routing");throw this._set("lastError",e),e}this._routeController=new AbortController;const{signal:u}=this._routeController;let d=null;try{d=await t.solve(n,{signal:u})}catch(h){if(!o(h)){const e=new r("directions-view-model:unable-to-route","Unable to route to these addresses",{error:h});throw this._set("lastError",e),this._set("lastRoute",null),e}}finally{this._routeController=null}for(const r of d.stops)null==r.geometry&&(r.name=null);return t.update(d),this._set("lastRoute",d),this.zoomToRoute(),d}getCostAttribute(e){return(this.serviceDescription?.networkDataset?.networkAttributes??[]).find((({name:t,usageType:r})=>t===e&&"cost"===r))??null}reset(){this.clearHighlights(),this.clearResults(),null!=this.layer&&(this.layer.removeAll(),this.layer.stops=new t([new g,new g]))}save(){if(!this.layer)throw new r("directions-view-model:missing-layer","save() requires a layer");return this.layer.save()}saveAs(e,t={}){if(!this.layer)throw new r("directions-view-model:missing-layer","saveAs() requires a layer");return this.layer.saveAs(e,t)}updateDepartureTime(){if(this.departureIsoDate&&this.departureIsoTime)switch(this.departureOption){case S.NOW:this.departureTime="now";break;case S.DEPART_AT:{const e=M.fromISO(`${this.departureIsoDate}T${this.departureIsoTime}`,{zone:A.instance(0)});this.departureTime=e.toJSDate();break}case S.UNSPECIFIED:this.departureTime=null}}zoomToRoute(){const{view:e,layer:t}=this;if(null==e||null==t?.routeInfo)return;const{geometry:r}=t.routeInfo;if(null==r)return;const i=r.extent;if(!i)return;const o=i.width>i.height,s=i.clone().expand(o?2:1);this.callGoTo({target:s})}_getStartTimeParameters(){if("now"===this.departureTime){return{startTime:this.serviceDescription?.capabilities.supportsNow??!1?"now":new Date,startTimeIsUTC:!0}}return null==this.departureTime?{startTime:void 0,startTimeIsUTC:void 0}:{startTime:this.departureTime,startTimeIsUTC:!1}}async _load(){if(null==this.layer)return;null!=this._loadController&&(this._loadController.abort(),this._loadController=null),this._loadController=new AbortController;const{signal:e}=this._loadController;try{this._serviceDescriptionStatus=E.Active;const t=await f(this.layer.url,this.apiKey,{signal:e});this._set("serviceDescription",t),this._serviceDescriptionStatus=E.Complete}catch(t){if(o(t))return void(this._serviceDescriptionStatus=E.Idle);if("identity-manager:user-aborted"===t.name)return void(this._serviceDescriptionStatus=E.Suspended);const e=new r("directions-view-model:service-metadata-unavailable","Cannot load route service metadata",{error:t});throw this._serviceDescriptionStatus=E.Failed,this._set("lastError",e),e}finally{this._loadController=null}}_resolveDefaultTravelMode(e){if(null==this.serviceDescription)return null;const{defaultTravelMode:t,supportedTravelModes:r}=this.serviceDescription,i=/^<(?<name>.*)>$/i.exec(e.name)?.groups?.name;if(i){const o=r?.find((({name:e})=>e.toLocaleLowerCase()===i.trim().toLocaleLowerCase())),s=o??t;return T.fromJSON({...s?.toJSON(),...e.toJSON()})}const o=r?.find((({name:t})=>t.toLocaleLowerCase()===e.name.toLocaleLowerCase()));return o??t}};e([u()],R.prototype,"_directionsLanguage",null),e([u()],R.prototype,"_routeController",void 0),e([u()],R.prototype,"_serviceDescriptionStatus",void 0),e([u()],R.prototype,"apiKey",void 0),e([u()],R.prototype,"defaultTravelMode",void 0),e([u()],R.prototype,"departureTime",void 0),e([u()],R.prototype,"formattedEta",null),e([u({readOnly:!0})],R.prototype,"impedanceAttribute",null),e([u()],R.prototype,"lastError",void 0),e([u({readOnly:!0})],R.prototype,"lastRoute",void 0),e([u()],R.prototype,"layer",void 0),e([u({type:Number,range:{min:2,max:50},nonNullable:!0})],R.prototype,"maxStops",void 0),e([u({type:y,nonNullable:!0})],R.prototype,"routeParameters",void 0),e([u({type:T})],R.prototype,"selectedTravelMode",null),e([u({readOnly:!0})],R.prototype,"serviceDescription",void 0),e([u({readOnly:!0})],R.prototype,"state",null),e([u({readOnly:!0})],R.prototype,"timeAttribute",null),e([u()],R.prototype,"travelModes",null),e([u()],R.prototype,"view",void 0),e([u()],R.prototype,"getDirections",null),e([u()],R.prototype,"zoomToRoute",null),R=e([d("esri.widgets.Directions.DirectionsViewModel")],R);const O=R;export{O as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../core/Collection.js";import r from"../../core/Error.js";import i from"../../core/Evented.js";import{debounce as s,isAbortError as o}from"../../core/promiseUtils.js";import{on as a,watch as l,syncAndInitial as n,when as u}from"../../core/reactiveUtils.js";import{property as d}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as h}from"../../core/accessorSupport/decorators/subclass.js";import{resolveTimeZone as c,convertDateFormatToIntlOptions as p,formatTimestamp as m}from"../../intl/date.js";import{getLocale as v,getLanguage as y}from"../../intl/locale.js";import{fetchServiceDescription as w}from"../../rest/networkService.js";import f from"../../rest/support/RouteParameters.js";import g from"../../rest/support/Stop.js";import _ from"../../rest/support/TravelMode.js";import{defaultDatePattern as T,defaultTimePattern as S}from"../../support/dateUtils.js";import{system as D,shortTimeZoneName as C}from"../../time/timeZoneUtils.js";import{DepartureTimeOption as b}from"./support/directionsUtils.js";import{getDefaultLocaleOptions as M}from"../support/dateUtils.js";import A from"../support/GoTo.js";import{DateTime as I,FixedOffsetZone as j,IANAZone as L}from"luxon";function R(e){return"esri.Graphic"===e?.declaredClass}function P(e){return"esri.rest.support.Stop"===e?.declaredClass}var E;!function(e){e[e.Active=0]="Active",e[e.Complete=1]="Complete",e[e.Failed=2]="Failed",e[e.Idle=3]="Idle",e[e.Suspended=4]="Suspended"}(E||(E={}));let U=class extends(A(i.EventedAccessor)){constructor(e){super(e),this._debouncedSolveHandler=s((async e=>{switch(e.type){case"create":if("complete"!==e.state)return;break;case"delete":break;case"update":switch(e.state){case"start":return void(this._networkFeatureUpdated=!1);case"active":return void(this._networkFeatureUpdated=!0);case"complete":if(!this._networkFeatureUpdated)return}}!this.layer||this.layer.stops.length<2||!this.autoSolve||await this.getDirections({zoomToSolvedRoute:!1})})),this._highlight=null,this._loadController=null,this._loadPromise=null,this._networkFeatureUpdated=!1,this._layerView=null,this._routeController=null,this._serviceDescriptionStatus=E.Idle,this.apiKey=void 0,this.autoSolve=!0,this.defaultTravelMode=null,this.departureIsoDate=null,this.departureIsoTime=null,this.departureOption=b.NOW,this.departureTime="now",this.lastError=null,this.lastRoute=null,this.layer=null,this.maxStops=50,this.routeParameters=new f({directionsLengthUnits:"kilometers",findBestSequence:!1,preserveFirstStop:!0,preserveLastStop:!0,returnZ:!0,useTimeWindows:!1}),this.serviceDescription=null,this.view=null}initialize(){this.addHandles([a((()=>this.layer?.stops),"change",(()=>{this.clearResults()})),l((()=>this.layer),(e=>{if(null!=e){for(;e.stops.length<2;)e.stops.add(new g);this._set("defaultTravelMode",null),this.addHandles(u((()=>null!=this.serviceDescription?e.routeInfo?.analysisSettings?.travelMode:null),(e=>{this.defaultTravelMode=this._resolveDefaultTravelMode(e)}),{once:!0}))}}),n),l((()=>[this.layer,this.view]),(async()=>{this._layerView=await this._getRouteLayerView()}),n),a((()=>this._layerView),["create","delete","update"],(e=>{this._debouncedSolveHandler(e).catch((e=>{if(!o(e))throw e}))}))]);const e=c(this.view?.timeZone??D),t=I.fromMillis(Date.now());this.departureIsoDate=t.toFormat(T,M(e)),this.departureIsoTime=t.toFormat(S,M(e))}get _directionsLanguage(){const e=this.serviceDescription?.directionsSupportedLanguages;if(!e)return;const t=this.routeParameters.directionsLanguage??v(),r=y(t);return e.find((e=>{const t=y(e);return"no"===r?t===r||"nb"===t:t===r}))}get formattedEta(){const e=this.layer?.routeInfo?.endTime,t=this.layer?.routeInfo?.endTimeOffset;if(this.departureOption===b.UNSPECIFIED||!e||!t)return null;const r=I.fromJSDate(e,{zone:j.instance(t)}),i=I.fromJSDate(e,{zone:L.create(c(this.view?.timeZone??D))}),s=I.fromJSDate(new Date,{zone:L.create(c(this.view?.timeZone??D))}),o=s.year===i.year&&s.month===i.month&&s.day===i.day,a=i.offset===t?void 0:C,l=o?void 0:p("short-date"),n=p("short-time");return m(r.toISO(),{...l,...n,timeZoneName:a})}get impedanceAttribute(){const e=this.routeParameters.travelMode?.impedanceAttributeName??this.routeParameters.impedanceAttribute??this.serviceDescription?.impedance??null;return this.getCostAttribute(e)}get selectedNetworkFeatures(){return this._layerView?.selectedNetworkFeatures??null}get selectedTravelMode(){return null==this.serviceDescription?null:this.defaultTravelMode??this.serviceDescription.defaultTravelMode??this.serviceDescription.supportedTravelModes?.[0]??null}set selectedTravelMode(e){this._override("selectedTravelMode",e)}get state(){if(null!=this._routeController)return"routing";if(null!=this.lastError)return"error";switch(this._serviceDescriptionStatus){case E.Suspended:return"unauthenticated";case E.Idle:return"disabled";case E.Active:return"initializing";case E.Failed:return"error";default:return"ready"}}get timeAttribute(){const e=this.routeParameters.travelMode?.timeAttributeName??this.routeParameters.directionsTimeAttribute??this.serviceDescription?.directionsTimeAttribute??null;return this.getCostAttribute(e)}get travelModes(){const e=this.serviceDescription?.supportedTravelModes?.slice()??[];return null==this.defaultTravelMode||e.includes(this.defaultTravelMode)||e.unshift(this.defaultTravelMode),e}async load(){if(null!=this._loadPromise)return this._loadPromise;this._loadPromise=this._load(),await this._loadPromise,this._loadPromise=null}async highlight(e){if(this.clearHighlights(),!this.view||!this.layer)return;const t=await this.view.whenLayerView(this.layer);this._highlight=t.highlight(e)}clearHighlights(){null!=this._highlight&&(this._highlight.remove(),this._highlight=null)}centerAt(e){if(null==this.view)return;const t=P(e)||R(e)?e.geometry:e;null!=t&&this.callGoTo({target:t})}clearResults(){this._set("lastRoute",null),this.layer?.removeResult()}async create(e){await(this._layerView?.create(e))}delete(){this._layerView?.delete()}async getDirections(e={zoomToSolvedRoute:!0}){const{apiKey:t,layer:i,state:s}=this;if(null==i)throw new r("directions-view-model:missing-route-layer","A route layer must be associated with the view model.");if("unauthenticated"===s||"initializing"===s||"disabled"===s||this._serviceDescriptionStatus===E.Failed)throw new r("directions-view-model:not-loaded","Cannot get directions until view model loads.");this._set("lastError",null),null!=this._routeController&&(this._routeController.abort(),this._routeController=null);const{startTime:a,startTimeIsUTC:l}=this._getStartTimeParameters(),n=this.view?.spatialReference??null,u=this.routeParameters.clone();u.set({apiKey:t,directionsLanguage:this._directionsLanguage,outSpatialReference:n,startTime:a,startTimeIsUTC:l}),this.selectedTravelMode&&(u.travelMode=this.selectedTravelMode);if(i.stops.filter((({geometry:e})=>null!=e)).length<2){const e=new r("directions-view-model:not-enough-stops","Not enough stops for routing");throw this._set("lastError",e),e}this._routeController=new AbortController;const{signal:d}=this._routeController;let h=null;try{h=await i.solve(u,{signal:d})}catch(c){if(!o(c)){const e=new r("directions-view-model:unable-to-route","Unable to route to these addresses",{error:c});throw this._set("lastError",e),this._set("lastRoute",null),e}}finally{this._routeController=null}for(const r of h.stops)null==r.geometry&&(r.name=null);return i.update(h),this._set("lastRoute",h),e.zoomToSolvedRoute&&this.zoomToRoute(),h}getCostAttribute(e){return(this.serviceDescription?.networkDataset?.networkAttributes??[]).find((({name:t,usageType:r})=>t===e&&"cost"===r))??null}reset(){this.clearHighlights(),this.clearResults(),null!=this.layer&&(this.layer.removeAll(),this.layer.stops=new t([new g,new g]))}save(){if(!this.layer)throw new r("directions-view-model:missing-layer","save() requires a layer");return this.layer.save()}saveAs(e,t={}){if(!this.layer)throw new r("directions-view-model:missing-layer","saveAs() requires a layer");return this.layer.saveAs(e,t)}async startEditing(){this._layerView&&(this._layerView.interactive=!0)}async stopEditing(){this._layerView&&(this._layerView.interactive=!1)}updateDepartureTime(){if(this.departureIsoDate&&this.departureIsoTime)switch(this.departureOption){case b.NOW:this.departureTime="now";break;case b.DEPART_AT:{const e=I.fromISO(`${this.departureIsoDate}T${this.departureIsoTime}`,{zone:j.instance(0)});this.departureTime=e.toJSDate();break}case b.UNSPECIFIED:this.departureTime=null}}zoomToRoute(){const{view:e,layer:t}=this,r=t?.routeInfo?.geometry?.extent;if(!e||!r)return;const i=r.width>r.height,s=r.clone().expand(i?2:1);this.callGoTo({target:s})}async _getRouteLayerView(){return this.view&&this.layer?this.view.whenLayerView(this.layer):null}_getStartTimeParameters(){if("now"===this.departureTime){return{startTime:this.serviceDescription?.capabilities.supportsNow??!1?"now":new Date,startTimeIsUTC:!0}}return null==this.departureTime?{startTime:void 0,startTimeIsUTC:void 0}:{startTime:this.departureTime,startTimeIsUTC:!1}}async _load(){if(null==this.layer)return;null!=this._loadController&&(this._loadController.abort(),this._loadController=null),this._loadController=new AbortController;const{signal:e}=this._loadController;try{this._serviceDescriptionStatus=E.Active;const t=await w(this.layer.url,this.apiKey,{signal:e});this._set("serviceDescription",t),this._serviceDescriptionStatus=E.Complete}catch(t){if(o(t))return void(this._serviceDescriptionStatus=E.Idle);if("identity-manager:user-aborted"===t.name)return void(this._serviceDescriptionStatus=E.Suspended);const e=new r("directions-view-model:service-metadata-unavailable","Cannot load route service metadata",{error:t});throw this._serviceDescriptionStatus=E.Failed,this._set("lastError",e),e}finally{this._loadController=null}}_resolveDefaultTravelMode(e){if(null==this.serviceDescription)return null;const{defaultTravelMode:t,supportedTravelModes:r}=this.serviceDescription,i=/^<(?<name>.*)>$/i.exec(e.name)?.groups?.name;if(i){const s=r?.find((({name:e})=>e.toLocaleLowerCase()===i.trim().toLocaleLowerCase())),o=s??t;return _.fromJSON({...o?.toJSON(),...e.toJSON()})}const s=r?.find((({name:t})=>t.toLocaleLowerCase()===e.name.toLocaleLowerCase()));return s??t}};e([d()],U.prototype,"_directionsLanguage",null),e([d()],U.prototype,"_layerView",void 0),e([d()],U.prototype,"_routeController",void 0),e([d()],U.prototype,"_serviceDescriptionStatus",void 0),e([d()],U.prototype,"apiKey",void 0),e([d()],U.prototype,"autoSolve",void 0),e([d()],U.prototype,"defaultTravelMode",void 0),e([d()],U.prototype,"departureTime",void 0),e([d()],U.prototype,"formattedEta",null),e([d({readOnly:!0})],U.prototype,"impedanceAttribute",null),e([d()],U.prototype,"lastError",void 0),e([d({readOnly:!0})],U.prototype,"lastRoute",void 0),e([d()],U.prototype,"layer",void 0),e([d({type:Number,range:{min:2,max:50},nonNullable:!0})],U.prototype,"maxStops",void 0),e([d({type:f,nonNullable:!0})],U.prototype,"routeParameters",void 0),e([d({readOnly:!0})],U.prototype,"selectedNetworkFeatures",null),e([d({type:_})],U.prototype,"selectedTravelMode",null),e([d({readOnly:!0})],U.prototype,"serviceDescription",void 0),e([d({readOnly:!0})],U.prototype,"state",null),e([d({readOnly:!0})],U.prototype,"timeAttribute",null),e([d()],U.prototype,"travelModes",null),e([d()],U.prototype,"view",void 0),e([d()],U.prototype,"zoomToRoute",null),U=e([h("esri.widgets.Directions.DirectionsViewModel")],U);const N=U;export{N as default};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
+ */
5
+ import{_ as o}from"../../chunks/tslib.es6.js";import e from"../../core/Accessor.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as t}from"../../core/accessorSupport/decorators/subclass.js";let r=class extends e{constructor(){super(...arguments),this.layerDetails=!0,this.saveAsButton=!0,this.saveButton=!0}};o([s({type:Boolean,nonNullable:!0})],r.prototype,"layerDetails",void 0),o([s({type:Boolean,nonNullable:!0})],r.prototype,"saveAsButton",void 0),o([s({type:Boolean,nonNullable:!0})],r.prototype,"saveButton",void 0),r=o([t("esri.widgets.Directions.DirectionsVisibleElements")],r);const a=r;export{a as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import{on as t,pausable as s}from"../core/events.js";import{makeHandle as o}from"../core/handleUtils.js";import{assertIsSome as i}from"../core/maybe.js";import{watch as r,initial as n,when as a,on as l}from"../core/reactiveUtils.js";import{escapeRegExpString as c}from"../core/string.js";import{property as d}from"../core/accessorSupport/decorators/property.js";import{cast as u}from"../core/accessorSupport/decorators/cast.js";import"../core/has.js";import"../core/RandomLCG.js";import{subclass as h}from"../core/accessorSupport/decorators/subclass.js";import{defaultUnitPropertyMetadata as p}from"../properties/defaultUnit.js";import v from"../rest/support/Stop.js";import m from"../symbols/SimpleMarkerSymbol.js";import _ from"./Search.js";import g from"./Widget.js";import{css as S}from"./Directions/css.js";import y from"./Directions/DirectionsViewModel.js";import{SaveLayer as w}from"./Directions/components/SaveLayer.js";import{DepartureTimeOption as f,formatDistance as M,formatDuration as b,getIconName as C}from"./Directions/support/directionsUtils.js";import{isArcGISWorldGeocoder as T,meteredArcGISLocatorUrl as k}from"./Search/support/locatorUtils.js";import{loadCalciteComponents as I}from"./support/componentsUtils.js";import{globalCss as D}from"./support/globalCss.js";import{Heading as R,incrementHeadingLevel as P}from"./support/Heading.js";import{legacyIcon as B}from"./support/legacyIcon.js";import{accessibleHandler as L}from"./support/decorators/accessibleHandler.js";import{messageBundle as A}from"./support/decorators/messageBundle.js";import{tsx as E}from"./support/jsxFactory.js";import"./support/widgetUtils.js";import H from"sortablejs";import{formatNumber as j}from"../intl/number.js";const x={departureTime:!0,layerDetails:!0,printButton:!1,saveAsButton:!0,saveButton:!0,stops:!0,traveMode:!0};function U(e){const{branchName:t,displayText:s,exitName:o,intersectingName:i,name:r,objectId:n,towardName:a}=e;if(null==s)return null;const l=[t,o,i,r,a].filter(Boolean).sort(((e,t)=>t.length-e.length)).map((e=>c(e)));if(!l.length)return s;const d=new RegExp(l.join("|"),"g"),u=s.matchAll(d);let h=0;const p=[];for(const{0:c,index:v}of u)p.push(s.slice(h,v),E("span",{class:S.maneuverPlaceName},c)),h=v+c.length;return p.push(s.slice(h)),E("span",{id:`${S.maneuver}-${n}`},p)}function z(e){return!!e.composedPath?.().find((e=>e.classList?.contains("esri-search__suggestions-list")))}function $(e){const t=new Date(e);return new Date(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())}const O="search-term",F=100,N=500;let V=class extends g{constructor(e,t){super(e,t),this._activeStop=null,this._activeManeuver=null,this._autoStopRemovalDelay=F,this._autoStopRemovalTimeoutId=void 0,this._focusedManeuver=null,this._newPlaceholderStop=null,this._pointerDownUpHandle=null,this._pointerPressedSearchSuggestionStop=null,this._renderSavePopoverFunction=null,this._saveAsButtonNode=null,this._saveLayer=new w,this._sections=null,this._sortable=null,this._stopsToSearches=new Map,this._viewClickHandle=null,this.headingLevel=2,this.messages=null,this.messagesCommon=null,this.messagesUnits=null,this.searchProperties=null,this.viewModel=new y,this.visibleElements={...x},this._setUpDragAndDropStops=e=>{this._sortable=H.create(e,{draggable:`.${S.validStopRow}`,ghostClass:S.stopRowGhost,handle:`.${S.stopHandle}`,onEnd:this._handleStopInputDragEnd})},this._handleDragHandlePointerDown=()=>this.viewModel.layer?.stops.forEach((e=>this.acquireSearch(e).activeMenu="none")),this._handleStopInputDragEnd=({oldIndex:e,newIndex:t,target:s})=>{if(e===t||null==t||null==e)return;const{children:o}=s,i=o[t],r=o[e],n=t-e<0;s.insertBefore(i,n?r.nextElementSibling:r);const{stops:a}=this.viewModel.layer;a.reorder(a.at(e),t);for(const l of a)l.sequence=null;this._solveRoute()}}initialize(){this.addHandles([r((()=>this.viewModel.layer?.routeInfo),(()=>{this._activeManeuver=null,this._focusedManeuver=null,this._sections=this._getSections(),this.scheduleRender()}),n),a((()=>[this.view,this.view?.surface]),(([e,s],o)=>{const i=o?.[0];if(i&&(this._viewClickHandle=null,i&&this.removeHandles(i)),e&&s){const o=this._prepPointerDownUpClick(),i=this._prepViewClick();o.pause(),i.pause(),this.addHandles([t(s,"mousedown",(()=>this._autoStopRemovalDelay=N)),t(s,"mouseup",(()=>this._autoStopRemovalDelay=F)),o,i],e),this._pointerDownUpHandle=o,this._viewClickHandle=i}}),n),r((()=>this.viewModel.layer),(()=>{try{this.viewModel.load()}catch{}}),n),r((()=>this._saveLayer.state),(()=>{this.scheduleRender()}))]),this.when((()=>{this.destroyed||this.visibleElements.saveAsButton&&(this._renderSavePopoverFunction=this._renderSavePopover.bind(this),this._projector.append(document.body,this._renderSavePopoverFunction))}))}loadDependencies(){return I({button:()=>import("@esri/calcite-components/dist/components/calcite-button"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon"),"input-date-picker":()=>import("@esri/calcite-components/dist/components/calcite-input-date-picker"),"input-time-picker":()=>import("@esri/calcite-components/dist/components/calcite-input-time-picker"),link:()=>import("@esri/calcite-components/dist/components/calcite-link"),popover:()=>import("@esri/calcite-components/dist/components/calcite-popover")})}destroy(){for(const e of this._stopsToSearches.values())e.destroy();this._sortable?.destroy(),null!=this._renderSavePopoverFunction&&this._projector.detach(this._renderSavePopoverFunction)}get apiKey(){return this.viewModel.apiKey}set apiKey(e){this.viewModel.apiKey=e}get goToOverride(){return this.viewModel.goToOverride}set goToOverride(e){this.viewModel.goToOverride=e}get icon(){return"right"}set icon(e){this._overrideIfSome("icon",e)}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get lastRoute(){return this.viewModel.lastRoute}get layer(){return this.viewModel.layer}set layer(e){this.viewModel.layer=e}get maxStops(){return this.viewModel.maxStops}set maxStops(e){this.viewModel.maxStops=e}get unit(){return this.defaultUnit}set unit(e){this._overrideIfSome("unit",e)}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}castVisibleElements(e){return{...x,...e}}acquireSearch(e){const{view:t}=this.viewModel;if(this._stopsToSearches.has(e)){const s=this._stopsToSearches.get(e);return s.view=t,this._overrideDefaultSources(s),s}const s=new _({view:t,resultGraphicEnabled:!1,popupEnabled:!1,icon:!1,...this.searchProperties});return this._normalizeSearchSources(s),this.addHandles([l((()=>s.allSources),"change",(()=>this._normalizeSearchSources(s))),s.on("select-result",(()=>{e.geometry=s.selectedResult?.feature.geometry,e.name=s.selectedResult?.name,this._solveRoute()})),s.on("search-focus",(()=>this._handleStopInputFocus(s,e))),s.on("search-blur",(()=>this._handleStopInputBlur(s,e))),s.on("search-clear",(()=>{e.geometry=null,e.name=null,this._activeStop=e,this.viewModel.layer?.removeResult()})),r((()=>s.searchTerm),(t=>{e.name=t}))],s),this._stopsToSearches.set(e,s),s}getDirections(){return this.viewModel.getDirections()}render(){return E("div",{class:this.classes(S.base,D.widget,D.panel,S.scroller)},this._renderPanelContent())}save(){return this.viewModel.save()}saveAs(e,t={}){return this.viewModel.saveAs(e,t)}zoomToRoute(){return this.viewModel.zoomToRoute()}_renderPanelContent(){const{layer:e,serviceDescription:t,state:s}=this.viewModel,o="initializing"===s,i="error"===s&&!t,r="unauthenticated"===s,n={[S.panelContentLoading]:o,[S.panelContentError]:i||!e,[S.panelContentSignIn]:r},a=o?"presentation":"group",l=e?r?this._renderSignIn():i?this._renderMessage(this._getErrorMessage()):o?this._renderLoader():this._renderReadyContent():this._renderMessage(this.messages.missingLayer);return E("div",{class:this.classes(S.panelContent,n),role:a},l)}_renderReadyContent(){return[this._renderStopsContainer(),this._renderTravelModeOptions(),this._renderDepartureTimeControls(),this._renderSaveContainer(),this._renderSectionSplitter(),this._renderDirectionsContainer()]}_renderSignIn(){return E("div",{class:S.signInContent,key:"sign-in"},E(R,{class:S.contentTitle,level:this.headingLevel},this.messages.widgetLabel),this._renderPlaceholder(),E(R,{level:P(this.headingLevel)},this.messages.signInRequired),E("button",{bind:this,class:this.classes(D.button,D.buttonSecondary,S.signInButton),onclick:this._handleSignInClick,tabIndex:0,type:"button"},this.messagesCommon.auth.signIn))}_handleSignInClick(){this.viewModel.load().catch((()=>{}))}_renderTravelModeOptions(){if(!this.visibleElements.traveMode)return null;const{selectedTravelMode:e,travelModes:t}=this.viewModel;if(0===t.length)return null;const s=null!=e?e.name:this.messages.travelMode;return E("div",{"aria-disabled":this._saveLayer.opened.toString(),class:this.classes(S.travelMode,this._saveLayer.opened&&D.buttonDisabled),key:"esri-directions__travel-mode-controls",role:"group"},E("select",{"aria-label":s,bind:this,class:this.classes(S.travelModeSelect,D.select),key:"esri-directions__travel-mode-options",onchange:this._handleTravelModeChange,title:s},t.map(((t,s)=>E("option",{"data-mode":t,key:`esri-directions__travel-mode-${s}`,selected:e===t,value:`${s}`},t.name)))))}_handleTravelModeChange(e){const t=e.currentTarget;this.viewModel.selectedTravelMode=q(t.item(t.selectedIndex)),this._solveRoute()}_renderStopsContainer(){return this.visibleElements.stops?E("div",{"aria-disabled":this._saveLayer.opened.toString(),class:this.classes(S.section,this._saveLayer.opened&&D.buttonDisabled),key:"esri-directions__stops-container",role:"group"},this._renderStops()):null}_renderDepartureTimeControls(){if(!this.visibleElements.departureTime)return null;const{messages:{departAt:e,departureTime:t,leaveNow:s,timeUnspecified:o},viewModel:{departureOption:i}}=this;return E("div",{"aria-disabled":this._saveLayer.opened.toString(),class:this.classes(S.departureTime,this._saveLayer.opened&&D.buttonDisabled),key:"esri-directions__departure-time-controls",role:"group"},E("select",{"aria-label":t,bind:this,class:this.classes(S.departureTimeSelect,D.select),onchange:this._handleDepartureOptionChange,title:t},E("option",{selected:i===f.NOW,value:f.NOW},s),E("option",{selected:i===f.DEPART_AT,value:f.DEPART_AT},e),E("option",{selected:i===f.UNSPECIFIED,value:f.UNSPECIFIED},o)),i===f.DEPART_AT?this._renderTimeControls():null)}_renderStops(){const{stops:e}=this.viewModel.layer;for(const o of this._stopsToSearches.keys())e.includes(o)||this._disposeSearch(o);for(const o of e){const e=this.acquireSearch(o);null!=o.name&&(e.searchTerm=o.name)}const t=e.toArray().map(((t,s)=>{const o=e.length,i=s>1&&null==t.geometry,r={[B.radioUnchecked]:s>=0&&s<o-1,[B.radioChecked]:s===o-1},n={[S.lastStopIconContainer]:s===o-1},a={[S.validStopRow]:!i},l=e.at(s+1),c=s===o-1,d=s===o-2,u=2===o&&0===s||o>2&&!c&&!d||o>2&&d&&null!=l?.geometry||o>2&&c&&null==t.geometry,h=o<3,p=this.acquireSearch(t),{messages:v}=this,{removeStop:m,reverseStops:_,unlocated:g}=v,y=null!=t.geometry&&null!=t.name?t.name:g,w=j(s+1),f=`${v.stopLabel} ${w} (${y})`,M=`${this.id}__stop--${s}`,b=!!p.searchTerm&&!!p.selectedResult&&null!=t.geometry&&p.selectedResult.name===t.name;return E("li",{afterCreate:this._handleStopFieldCreation,"aria-label":f,bind:this,class:this.classes(S.stopRow,a),"data-stop-index":s,id:M,key:s},E("div",{class:S.stopHandle},E("span",{"aria-hidden":"true",class:this.classes(S.stopIcon,B.handleVertical,S.stopHandleIcon,S.interactiveStopIcon),onpointerdown:this._handleDragHandlePointerDown}),E("div",{"aria-labelledby":M,bind:this,class:this.classes(S.stopIconContainer,n),"data-stop-index":s,onclick:this._handleStopIconClick,onkeydown:this._handleStopIconClick,role:"button"},E("span",{class:this.classes(S.stopIcon,r),tabIndex:b?0:void 0}))),E("div",{class:S.stopInput},p.render()),E("div",{class:S.stopOptions,role:"group"},E("div",{"aria-label":m,bind:this,class:S.removeStopButton,"data-stop-index":s,hidden:h,onclick:this._handleRemoveStop,onkeydown:this._handleRemoveStop,role:"button",tabIndex:0,title:m},E("span",{"aria-hidden":"true",class:this.classes(S.stopIcon,S.removeStop,B.trash,S.interactiveStopIcon)}),E("span",{class:B.fontFallbackText},"removeStopTitle")),E("div",{"aria-label":_,bind:this,class:S.reverseStops,hidden:u,onclick:this._handleReverseStops,onkeydown:this._handleReverseStops,role:"button",tabIndex:0,title:_},E("span",{"aria-hidden":"true",class:this.classes(S.stopIcon,B.upDownArrows,S.interactiveStopIcon)}),E("span",{class:B.fontFallbackText},"removeStopTitle"))))})),s=this._renderAddStop();return E("div",null,E("ol",{afterCreate:this._setUpDragAndDropStops,class:S.stops,role:"group"},t),s)}_renderAddStop(){const e=this.viewModel.layer?.stops;if(!e)return null;const t=e.filter((({geometry:e})=>null!=e)),s=e.at(-1);return t.length>1&&t.length<this.maxStops&&null!=s?.geometry?E("div",{class:S.toolbarSection},E("div",{class:S.toolbarButtons},E("calcite-button",{appearance:"outline",class:S.addStopButton,iconStart:"plus",key:S.addStopButton,kind:"neutral",label:this.messages.addStop,onclick:()=>{this._addNewPlaceholder()},round:!0,scale:"s",width:"full"},this.messages.addStop))):null}_handleStopIconClick(e){const t=W(e.currentTarget),s=null!=t?this.viewModel.layer?.stops.at(t):void 0;s?.geometry&&this._centerAtStop(s)}_handleClearRouteClick(){this.viewModel.reset()}_centerAtStop(e){this.viewModel.centerAt(e)}_handleStopFieldCreation(e){const t=this._newPlaceholderStop;if(!t)return;const s=W(e),o=null!=s?this.viewModel.layer?.stops.at(s):void 0;if(t===o){const e=this.acquireSearch(o);e.when((()=>{this.renderNow(),e.focus()}))}this._newPlaceholderStop=null}_handleStopInputBlur(e,t){if(this._saveLayer.opened)return;this.removeHandles(O);if(!!e.selectedResult&&null!=t.geometry&&null!=e.selectedResult?.feature.geometry&&t.geometry===e.selectedResult?.feature.geometry)return void this._pointerDownUpHandle?.pause();const s=null==t.geometry&&null==e.selectedResult?.feature.geometry,o=null!=t.geometry&&null!=e.selectedResult?.feature.geometry&&t.geometry!==e.selectedResult?.feature.geometry;if((s||o)&&"none"===e.activeMenu&&e.searchTerm)return e.search(),void this._pointerDownUpHandle?.pause();e.searchTerm||(this._viewClickHandle?.resume(),clearTimeout(this._autoStopRemovalTimeoutId),this._autoStopRemovalTimeoutId=setTimeout((()=>{this.destroyed||(this._viewClickHandle?.pause(),"searching"!==e.viewModel.state?this._pointerPressedSearchSuggestionStop||(null!=t.geometry&&(t.geometry=null,this._solveRoute()),this.scheduleRender()):this._pointerDownUpHandle?.pause())}),this._autoStopRemovalDelay))}_handleStopInputFocus(e,t){this._pointerDownUpHandle?.resume();const{view:s}=this;if(this.hasHandles(O)||!s)return;const i=s.cursor;this.addHandles([o((()=>{s.cursor=i})),r((()=>e.searchTerm),(t=>{e.destroyed||(s.cursor=t.length?i:"copy")}),n)],O),this._activeStop=t}_prepViewClick(){const{view:e}=this.viewModel;i(e),i(e.surface);const t=s(e,"click",this._handleViewClick.bind(this)),o=s(e.surface,"click",(()=>{clearTimeout(this._autoStopRemovalTimeoutId),o.pause()}));return{remove(){o.remove(),t.remove()},pause(){o.pause(),t.pause()},resume(){o.resume(),t.resume()}}}_prepPointerDownUpClick(){const e=s(document,"pointerdown",(e=>{this._pointerPressedSearchSuggestionStop=z(e)?this._activeStop:null})),t=s(document,"pointerup",(e=>{this._pointerDownUpHandle?.pause();const t=z(e),s=this._activeStop;t||s!==this._pointerPressedSearchSuggestionStop||this._removeStop(s),this.scheduleRender(),this._pointerPressedSearchSuggestionStop=t?s:null}));return{remove(){t.remove(),e.remove()},pause(){t.pause(),e.pause()},resume(){e.resume()}}}_handleViewClick(e){e.stopPropagation();const t=this._activeStop,s=t?this._stopsToSearches.get(t):null;t&&s&&!s.searchTerm&&(s.search(e.mapPoint).then((e=>{const o=e?.results[0].results;if(!o)return;const{feature:i,name:r}=o[0];t.geometry=i.geometry,t.name=r,s.searchTerm=r})),this.scheduleRender()),this._viewClickHandle?.pause(),clearTimeout(this._autoStopRemovalTimeoutId)}_addNewPlaceholder(){if(this._pointerDownUpHandle?.pause(),this._newPlaceholderStop)return;const e=new v({symbol:new m});this.viewModel.layer?.stops.add(e),this._newPlaceholderStop=e}_handleReverseStops(){this._reverseStops()}_reverseStops(){const e=this.viewModel.layer?.stops??[];e.reverse();for(const t of e)t.sequence=null;this._solveRoute()}_handleRemoveStop(e){const{layer:t}=this.viewModel;if(!t)return;const s=W(e.currentTarget);if(null==s)return;const{stops:o,routeInfo:i}=t,r=o.at(s);this._removeStop(r),null==r.geometry&&null!=i||this._solveRoute()}_removeStop(e){const{stops:t}=this.viewModel.layer;!e||t.length<=2||(this._disposeSearch(e),t.remove(e))}_handleDepartureOptionChange(e){const t=e.currentTarget,s=t.item(t.selectedIndex);this.viewModel.departureOption=s.value,this._solveRoute()}_renderTimeControls(){return this.viewModel.departureIsoDate&&this.viewModel.departureIsoTime?E("div",{class:S.departureTimeControls,key:S.departureTimeControls,role:"group"},E("div",{class:S.departureDateTimePickers},E("calcite-input-date-picker",{valueAsDate:$(this.viewModel.departureIsoDate),onCalciteInputDatePickerChange:({currentTarget:e})=>{this.viewModel.departureIsoDate=e.value,this._solveRoute()}}),E("calcite-input-time-picker",{value:this.viewModel.departureIsoTime,onCalciteInputTimePickerChange:({currentTarget:e})=>{this.viewModel.departureIsoTime=e.value,this._solveRoute()}}))):null}_renderSectionSplitter(){return E("div",{class:S.sectionSplitter})}_renderSaveContainer(){const{saveButton:e,saveAsButton:t,printButton:s,layerDetails:o}=this.visibleElements;return e||t||s||o?E("div",{class:S.saveSection,key:S.saveSection},this._renderSaveButtons(),this._renderRouteLayerDetailsLink()):null}_renderSaveButtons(){const{saveButton:e,saveAsButton:t,printButton:s}=this.visibleElements;return e||t||s?E("div",{class:S.saveButtons,key:S.saveButtons},this._renderSaveButton(),this._renderSaveAsButton(),this._renderPrintButton()):null}_renderSaveButton(){if(!this.visibleElements.saveButton)return null;const{portalItem:e,routeInfo:t}=this.viewModel.layer,s=e?.itemControl,o=null!=t&&("admin"===s||"update"===s);return E("calcite-button",{appearance:"outline",class:S.saveButton,disabled:!o,iconStart:"save",key:S.saveButton,label:this.messagesCommon.save,onclick:()=>{this._handleSaveButtonClick()},width:"full"},this.messagesCommon.save)}_renderSaveAsButton(){if(!this.visibleElements.saveAsButton)return null;const e=null==this.viewModel.layer.routeInfo;return E("div",{class:S.saveAsButtonPopover,key:S.saveAsButtonPopover},E("calcite-button",{afterCreate:e=>{this._saveAsButtonNode=e},appearance:"outline",class:S.saveAsButton,disabled:e,iconStart:"duplicate",key:S.saveAsButton,label:this.messagesCommon.saveAs,onclick:()=>this._handleSaveAsButtonClick(),width:"full"},this.messagesCommon.saveAs))}_renderSavePopover(){return E("calcite-popover",{class:S.savePopover,label:this._saveLayer.label,open:this._saveLayer.opened,overlayPositioning:"fixed",referenceElement:this._saveAsButtonNode,triggerDisabled:!0},this._saveLayer.render())}_handleSaveAsButtonClick(){this._saveLayer.opened?this._saveLayer.close():this._saveLayer.open(this.viewModel.layer)}_renderPrintButton(){return this.visibleElements.printButton?E("calcite-button",{appearance:"outline",class:S.printButton,iconStart:"print",key:S.printButton,label:this.messagesCommon.print}):null}_renderRouteLayerDetailsLink(){if(!this.visibleElements.layerDetails)return null;const{portalItem:e}=this.viewModel.layer;if(!e)return null;const{id:t,portal:{url:s}}=e,o=`${s}/home/item.html?id=${t}`;return E("calcite-link",{class:S.layerDetailsLink,href:o,key:S.layerDetailsLink,target:"_blank"},this.messages.viewLayerDetails)}_handleSaveButtonClick(){this.viewModel.layer.save()}_renderDirectionsContainer(){return E("div",{class:this.classes(S.directionsSection,S.section),key:"esri-directions__container"},this._renderDirectionsContainerContent())}_renderLoader(){return E("div",{class:S.loader,key:"loader"})}_renderWarningCard(){return E("div",{class:S.warningCard,role:"alert"},E("div",{class:S.warningHeader},E("span",{"aria-hidden":"true",class:B.noticeTriangle}),E(R,{class:S.warningHeading,level:this.headingLevel},this.messagesCommon.warning)),E("div",{class:S.warningMessage},this._getErrorMessage()))}_renderDirectionsContainerContent(){const{layer:e,state:t}=this.viewModel,s="routing"===t;return"error"===t?this._renderWarningCard():s?this._renderLoader():null!=e.directionLines?E("div",{"aria-disabled":this._saveLayer.opened.toString(),class:this.classes(S.summary,this._saveLayer.opened&&D.buttonDisabled),key:S.summary,role:"group"},this._renderCosts(),this._renderRouteActions(),this._renderManeuverSections()):E("div",{class:D.empty,key:"esri-directions__placeholder"},this._renderPlaceholder(),E(R,{class:S.message,level:this.headingLevel},this.messages.directionsPlaceholder))}_renderPlaceholder(){return E("svg",{class:D.emptyIllustration,viewBox:"0 0 256 256",xmlns:"http://www.w3.org/2000/svg"},E("path",{d:"M192 36c-15.477 0-24 6.034-24 16.99v45.822l24 24 24-24v-45.82C216 42.033 207.477 36 192 36zm20 61.155l-20 20-20-20V52.99c0-8.62 6.73-12.99 20-12.99s20 4.37 20 12.99zM192 52a12 12 0 1 0 12 12 12.013 12.013 0 0 0-12-12zm0 20a8 8 0 1 1 8-8 8.008 8.008 0 0 1-8 8zM92 140.99C92 130.035 83.477 124 68 124s-24 6.034-24 16.99v45.822l24 24 24-24zm-4 44.165l-20 20-20-20V140.99c0-8.62 6.73-12.99 20-12.99s20 4.37 20 12.99zM68 140a12 12 0 1 0 12 12 12.013 12.013 0 0 0-12-12zm0 20a8 8 0 1 1 8-8 8.008 8.008 0 0 1-8 8zm84-44h16v4h-16zm-24 80h4v12h-12v-4h8zm0-28h4v16h-4zm0-52h12v4h-8v8h-4zm0 24h4v16h-4zm-36 64h16v4H92z",fill:"currentcolor"}))}_renderMessage(e){return E(R,{class:S.messageHeading,level:this.headingLevel},e)}_renderRouteActions(){return E("div",{class:S.routeActions},E("button",{"aria-label":this.messages.clearRoute,bind:this,class:this.classes(S.clearRouteButton,D.button,D.buttonTertiary),onclick:this._handleClearRouteClick,tabIndex:0,type:"button"},this.messages.clearRoute))}_getSections(){const{layer:e}=this.viewModel;if(!e)return null;const{directionPoints:t,directionLines:s,stops:o}=e;if(null==t||null==s)return null;const i=[];let r=null;for(const n of t){const{objectId:e,stopId:t}=n;if(null!=t){const e=o.find((({objectId:e})=>e===t)),s=0===i.length;null!=r&&r.stop===e||(r={stop:e,directions:[],open:s},i.push(r));continue}if(null==r)continue;const a=s.find((({directionPointId:t})=>t===e));null!=a&&r.directions.push({directionPoint:n,directionLine:a})}return i}_renderManeuverSections(){return null==this._sections?null:E("div",{class:S.maneuvers,role:"group"},this._sections.map(((e,t)=>{const{open:s}=e;let o;e.directions.length>0&&s&&(o=E("ol",{class:S.maneuverList},e.directions.map((e=>this._renderManeuver(e)))));const i=this._sections.length>2,r=t===this._sections.length-1,n={[S.collapsibleSection]:i},a={[B.down]:!s,[B.up]:s};let l;if(i&&!r){const t=s?this.messagesCommon.close:this.messagesCommon.open;l=E("header",{class:this.classes(S.maneuverSectionHeader,S.maneuverSectionToggle),key:S.maneuverSectionHeader},E("div",{"aria-expanded":s.toString(),"aria-label":t,bind:this,class:S.maneuverSectionHeaderButton,"data-maneuver-section":e,onclick:this._handleSectionToggle,onkeydown:this._handleSectionToggle,role:"button",tabIndex:0,title:t},E(R,{class:S.maneuverSectionTitle,level:this.headingLevel},e.stop.name),E("span",{"aria-hidden":"true",class:this.classes(a)})))}else l=E("header",{class:S.maneuverSectionHeader,key:S.maneuverSectionHeader},E(R,{class:S.maneuverSectionTitle,level:this.headingLevel},e.stop.name));return E("section",{class:this.classes(S.maneuverSection,n),key:t},l,o)})))}_handleSectionToggle(e){const t=G(e.currentTarget);t&&(t.open=!t.open)}_renderCosts(){const e=this._getCostSummary(),{directionPoints:t}=this.viewModel.layer;if(null==t||null==e)return null;const{distance:s,duration:o}=e,{primaryCosts:i,secondaryCosts:r,zoomToRoute:n}=this.messages,a=this._renderEta();return E("div",{"aria-label":n,bind:this,class:S.directionCosts,onclick:this._handleSummaryInteraction,onkeydown:this._handleSummaryInteraction,role:"button",tabIndex:0,title:n},E("div",{class:S.costsDetails,role:"group"},E("div",{class:S.primaryCosts,title:i},o),E("div",{class:S.verticalSplitter}),E("div",{class:S.secondaryCosts,title:r},s)),a)}_renderEta(){return this.viewModel.departureOption===f.UNSPECIFIED?null:E("div",{class:S.arrivalTimeContainer,title:this.messages.eta},E("span",{class:S.arrivalTime},this.viewModel.formattedEta))}_handleSummaryInteraction(){this._activeManeuver=null,this._focusedManeuver=null,this.viewModel.clearHighlights(),this.zoomToRoute()}_getErrorMessage(){switch(this.viewModel.lastError?.name){case"directions-view-model:unable-to-route":return this.messages.errors.unableToRoute;case"directions-view-model:service-metadata-unavailable":return this.messages.errors.unableToLoadServiceMetadata;default:return this.messages.errors.unknownError}}_normalizeSearchSources(e){this._overrideDefaultSources(e),this._applyLocatorSourceOverrides(e)}_overrideDefaultSources(e){e.viewModel.defaultSources.forEach((e=>{e.autoNavigate=!1}))}_applyLocatorSourceOverrides({allSources:e}){for(const t of e)"url"in t&&t.url&&(t.locationType??="street",T(t.url)&&this.apiKey&&null==t.apiKey&&(t.apiKey=this.apiKey,t.url=k))}_disposeSearch(e){if(!e||!this._stopsToSearches.has(e))return;const t=this._stopsToSearches.get(e);this.removeHandles(t),t.destroy(),this._stopsToSearches.delete(e)}_renderManeuver(e){const{directionPoint:t,directionLine:s}=e,{distance:o,duration:i}=s,{messages:r,messagesUnits:n,unit:a}=this,l=M(n,o??0,a),c=b(i??0),d=l&&c?`${l}&nbsp;&middot;&nbsp;${c}`:`${l}${c}`,u=U(t),{objectId:h,directionPointType:p}=t,v=C(p),m=`${S.maneuver}-${h}`,_=`${S.intermediateCost}-${h}`,g={[S.maneuverActive]:this._activeManeuver===s};return E("li",{"aria-labelledby":`${m} ${_}`,bind:this,class:this.classes(S.maneuver,g),"data-maneuver":s,key:s,onblur:this._handleManeuverBlur,onclick:this._handleManeuverClick,onfocus:this._handleManeuverFocus,onkeydown:this._handleManeuverClick,onmouseout:this._handleManeuverMouseOut,onmouseover:this._handleManeuverMouseOver,tabIndex:0},E("calcite-icon",{alt:"",class:S.maneuverIcon,icon:v}),E("div",{class:S.maneuverCostsContainer},u,E("div",{class:S.maneuverCosts},E("div",{class:S.horizontalSplitter}),E("div",{"aria-hidden":"true",class:S.intermediateCost,id:_,innerHTML:d,title:r.intermediateCosts}))))}_handleManeuverClick(e){const t=Y(e.currentTarget);if(!t)return;if(this._activeManeuver===t)return this._activeManeuver=null,void this.zoomToRoute();this._activeManeuver=t;const{geometry:s}=t;this.viewModel.centerAt(s),this.viewModel.highlight(t)}_handleManeuverMouseOver(e){if(this._activeManeuver||this._focusedManeuver)return;const t=Y(e.currentTarget);t&&this.viewModel.highlight(t)}_handleManeuverMouseOut(){this._activeManeuver||this._focusedManeuver||this.viewModel.clearHighlights()}_handleManeuverBlur(){this._activeManeuver||(this._focusedManeuver=null,this.viewModel.clearHighlights())}_handleManeuverFocus(e){if(this._activeManeuver)return;const t=Y(e.currentTarget);t&&(this._focusedManeuver=t,this.viewModel.highlight(t))}_getCostSummary(){const{messagesUnits:e,unit:t,viewModel:s}=this,{routeInfo:o}=s.layer;if(null==o)return null;const i=o.totalDistance??0,r=o.totalDuration??0;return{distance:M(e,i,t),duration:b(r)}}async _solveRoute(){this.viewModel.updateDepartureTime();const e=this.viewModel.layer?.stops.filter((({geometry:e})=>null!=e));if(e&&!(e.length<2))try{await this.viewModel.getDirections()}catch{}}};e([d()],V.prototype,"apiKey",null),e([d(p)],V.prototype,"defaultUnit",void 0),e([d()],V.prototype,"goToOverride",null),e([d()],V.prototype,"headingLevel",void 0),e([d()],V.prototype,"icon",null),e([d()],V.prototype,"label",null),e([d({readOnly:!0})],V.prototype,"lastRoute",null),e([d()],V.prototype,"layer",null),e([d()],V.prototype,"maxStops",null),e([d(),A("esri/widgets/Directions/t9n/Directions")],V.prototype,"messages",void 0),e([d(),A("esri/t9n/common")],V.prototype,"messagesCommon",void 0),e([d(),A("esri/core/t9n/Units")],V.prototype,"messagesUnits",void 0),e([d()],V.prototype,"searchProperties",void 0),e([d()],V.prototype,"unit",null),e([d()],V.prototype,"view",null),e([d({type:y})],V.prototype,"viewModel",void 0),e([d()],V.prototype,"visibleElements",void 0),e([u("visibleElements")],V.prototype,"castVisibleElements",null),e([L()],V.prototype,"_handleStopIconClick",null),e([L()],V.prototype,"_handleClearRouteClick",null),e([L()],V.prototype,"_handleReverseStops",null),e([L()],V.prototype,"_handleRemoveStop",null),e([L()],V.prototype,"_handleSectionToggle",null),e([L()],V.prototype,"_handleSummaryInteraction",null),e([L()],V.prototype,"_handleManeuverClick",null),V=e([h("esri.widgets.Directions")],V);const K=V;function q(e){return e?.["data-mode"]}function W(e){return e?.["data-stop-index"]}function G(e){return e?.["data-maneuver-section"]}function Y(e){return e?.["data-maneuver"]}export{K as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import{isSome as t}from"../core/arrayUtils.js";import{isAbortError as i}from"../core/promiseUtils.js";import{watch as s,initial as o,on as r}from"../core/reactiveUtils.js";import{escapeRegExpString as a}from"../core/string.js";import{property as n}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/Logger.js";import{subclass as l}from"../core/accessorSupport/decorators/subclass.js";import c from"../portal/Portal.js";import{defaultUnitPropertyMetadata as d}from"../properties/defaultUnit.js";import m from"../rest/support/Stop.js";import p from"../symbols/SimpleMarkerSymbol.js";import h from"./Search.js";import u from"./Widget.js";import{DirectionsSearchTool as v}from"./Directions/DirectionsSearchTool.js";import g from"./Directions/DirectionsViewModel.js";import _ from"./Directions/DirectionsVisibleElements.js";import{formatDistance as w,formatDuration as y,DepartureTimeOption as b,getIconName as f}from"./Directions/support/directionsUtils.js";import{isArcGISWorldGeocoder as S,meteredArcGISLocatorUrl as M}from"./Search/support/locatorUtils.js";import{loadCalciteComponents as k}from"./support/componentsUtils.js";import{globalCss as I}from"./support/globalCss.js";import"./support/widgetUtils.js";import{messageBundle as F}from"./support/decorators/messageBundle.js";import{tsx as x}from"./support/jsxFactory.js";function T(e){const{branchName:i,displayText:s,exitName:o,intersectingName:r,name:n,objectId:l,towardName:c}=e;if(null==s)return null;const d=[i,o,r,n,c].filter(t).sort(((e,t)=>t.length-e.length)).map((e=>a(e)));if(!d.length)return s;const m=new RegExp(d.join("|"),"g"),p=s.matchAll(m);let h=0;const u=[];for(const{0:t,index:a}of p)u.push(s.slice(h,a),x("span",{class:$.labelEmphasize,key:`maneuver-${a}`},t)),h=a+t.length;return u.push(s.slice(h)),x("span",{id:`key-${l}`},u)}function C(e){const t=new Date(e);return new Date(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())}const D="esri-directions",$={base:D,accordion:`${D}__accordion`,actionContainer:`${D}__action-container`,departureTimeOptions:`${D}__departure-time-options`,directionsHeader:`${D}__directions-header`,directionsHeaderStopNames:`${D}__directions-header-stop-names`,editFooter:`${D}__edit-footer`,editToolbar:`${D}__edit-toolbar`,editToolbarContainer:`${D}__edit-toolbar-container`,flexColumn:`${D}__flex-column`,flexRow:`${D}__flex-row`,labelEmphasize:`${D}__label-emphasize`,labelNoBottomMargin:`${D}__label-no-bottom-margin`,marginInlineMedium:`${D}__margin-inline-medium`,paddingMedium:`${D}__padding-medium`,panelHeaderAction:`${D}__panel-header-action`,panelHeaderActionColumns:`${D}__panel-header-action-columns`,panelTopBorder:`${D}__panel-top-border`,primaryFlowItem:`${D}__primary-flow-item`,primaryFooter:`${D}__primary-footer`,primaryFooterCentered:`${D}__primary-footer-centered`,saveError:`${D}__save-error`,saveErrorIcon:`${D}__save-error-icon`,saveErrorLabel:`${D}__save-error-label`,saveProcessLoader:`${D}__save-process-loader`,selectedFeatureContainer:`${D}__selected-feature-container`,separator:`${D}__separator`,stopContainer:`${D}__stop-container`,stopItem:`${D}__stop-item`};let A=class extends u{constructor(e,t){super(e,t),this._activeManeuver=null,this._placeholderStops=[new m,new m],this._portalFolderCombobox=null,this._portalFolders=null,this._portalItemNameInput=null,this._portalUserName=null,this._sections=null,this._stopsToSearches=new Map,this._currentFlowItem="primary",this._parentFlowItem="primary",this._saveState="initialized",this.headingLevel=2,this.messages=null,this.messagesUnits=null,this.searchProperties=null,this.viewModel=new g,this.visibleElements=new _}initialize(){this.addHandles([s((()=>this.viewModel.layer),(()=>{try{this.viewModel.load()}catch{}}),o),s((()=>this.viewModel.layer?.routeInfo),(()=>{this._sections=this._getStopSections()}),o)])}loadDependencies(){return k({accordion:()=>import("@esri/calcite-components/dist/components/calcite-accordion"),"accordion-item":()=>import("@esri/calcite-components/dist/components/calcite-accordion-item"),action:()=>import("@esri/calcite-components/dist/components/calcite-action"),button:()=>import("@esri/calcite-components/dist/components/calcite-button"),combobox:()=>import("@esri/calcite-components/dist/components/calcite-combobox"),"combobox-item":()=>import("@esri/calcite-components/dist/components/calcite-combobox-item"),flow:()=>import("@esri/calcite-components/dist/components/calcite-flow"),"flow-item":()=>import("@esri/calcite-components/dist/components/calcite-flow-item"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon"),input:()=>import("@esri/calcite-components/dist/components/calcite-input"),"input-date-picker":()=>import("@esri/calcite-components/dist/components/calcite-input-date-picker"),"input-time-picker":()=>import("@esri/calcite-components/dist/components/calcite-input-time-picker"),label:()=>import("@esri/calcite-components/dist/components/calcite-label"),list:()=>import("@esri/calcite-components/dist/components/calcite-list"),"list-item":()=>import("@esri/calcite-components/dist/components/calcite-list-item"),loader:()=>import("@esri/calcite-components/dist/components/calcite-loader"),notice:()=>import("@esri/calcite-components/dist/components/calcite-notice"),panel:()=>import("@esri/calcite-components/dist/components/calcite-panel"),switch:()=>import("@esri/calcite-components/dist/components/calcite-switch")})}get apiKey(){return this.viewModel.apiKey}set apiKey(e){this.viewModel.apiKey=e}get goToOverride(){return this.viewModel.goToOverride}set goToOverride(e){this.viewModel.goToOverride=e}get icon(){return"right"}set icon(e){this._overrideIfSome("icon",e)}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get lastRoute(){return this.viewModel.lastRoute}get layer(){return this.viewModel.layer}set layer(e){this.viewModel.layer=e}get maxStops(){return this.viewModel.maxStops}set maxStops(e){this.viewModel.maxStops=e}get unit(){return this.defaultUnit}set unit(e){this._overrideIfSome("unit",e)}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}acquireSearch(e){const{view:t}=this.viewModel;if(this._stopsToSearches.has(e)){const i=this._stopsToSearches.get(e);return i.view=t,this._overrideDefaultSources(i),i}const i=new h({icon:!1,popupEnabled:!1,resultGraphicEnabled:!1,view:t,...this.searchProperties});return this._normalizeSearchSources(i),this.addHandles([r((()=>i.allSources),"change",(()=>this._normalizeSearchSources(i))),i.on("search-clear",(()=>{e.geometry=null,e.name=null,this.viewModel.layer?.removeResult()})),i.on("select-result",(()=>{const t=i.selectedResult;e.geometry=t?.feature.geometry,e.name=t?.name,this._solveRoute()})),s((()=>i.searchTerm),(t=>{e.name=t}))],i),this._stopsToSearches.set(e,i),i}getDirections(){return this.viewModel.getDirections()}render(){return x("div",{class:this.classes($.base,I.widget,I.panel)},x("calcite-flow",null,this._renderPrimaryFlowItem(),this._renderDirectionsFlowItem(),this._renderEditFlowItem(),this._renderSaveFlowItem()))}save(){return this.viewModel.save()}saveAs(e,t={}){return this.viewModel.saveAs(e,t)}zoomToRoute(){return this.viewModel.zoomToRoute()}_applyLocatorSourceOverrides({allSources:e}){for(const t of e)"url"in t&&t.url&&(t.locationType??="street",S(t.url)&&this.apiKey&&null==t.apiKey&&(t.apiKey=this.apiKey,t.url=M))}_disposeSearch(e){if(!e||!this._stopsToSearches.has(e))return;const t=this._stopsToSearches.get(e);this.removeHandles(t),t.destroy(),this._stopsToSearches.delete(e)}_getErrorDescription(){switch(this.viewModel.lastError?.name){case"directions-view-model:unable-to-route":return this.messages.errors.unableToRoute;case"directions-view-model:service-metadata-unavailable":return this.messages.errors.unableToLoadServiceMetadata;default:return this.messages.errors.unknownError}}_getNetworkFeatureName(e){switch(e.type){case"stop":switch(e.locationType){case"stop":default:return this.messages.networkFeatures.stops.stop;case"waypoint":return this.messages.networkFeatures.stops.waypoint;case"break":return this.messages.networkFeatures.stops.break}case"point-barrier":return this.messages.networkFeatures.pointBarrier;case"polyline-barrier":return this.messages.networkFeatures.polylineBarrier;case"polygon-barrier":return this.messages.networkFeatures.polygonBarrier}}_getRouteCostSummary(){const e=this.viewModel.layer?.routeInfo;if(!e)return null;const t=e.totalDistance??0,i=e.totalDuration??0,{messagesUnits:s,unit:o}=this;return{distance:w(s,t,o),duration:y(i)}}_getStopSections(){if(!this.viewModel.layer)return null;const{directionPoints:e,directionLines:t,stops:i}=this.viewModel.layer;if(!e||!t)return null;const s=[];let o=null;for(const r of e){const{objectId:e,stopId:a}=r;if(null!=a){const e=i.find((({objectId:e})=>e===a));o&&o.stop===e||(o={stop:e,directions:[]},s.push(o));continue}if(null==o)continue;const n=t.find((({directionPointId:t})=>t===e));null!=n&&o.directions.push({directionPoint:r,directionLine:n})}return s}_handleLocateStopAction(e){const{view:t}=this;if(!t)return;const i=new v({stop:e,view:t}),s="directions-search-tool";this.removeHandles(s),this.addHandles(i.on("click",(async i=>{if(i.mapPoint&&this._stopsToSearches.has(e)){const s=this._stopsToSearches.get(e),o=await s.search(i.mapPoint),r=o?.results?.[0].results?.[0];if(r){const{feature:i,name:o}=r;s.searchTerm=o,e.geometry=i.geometry,t.activeTool=null}}this.removeHandles(s)})),s),t.addAndActivateTool(i)}async _handleSaveLayerAsAction(){const e=c.getDefault();try{await e.signIn()}catch(t){if(i(t)||"identity-manager:user-aborted"===t.name)return;return this._parentFlowItem=this._currentFlowItem,this._currentFlowItem="save",void(this._saveState="connect-to-portal-error")}this._saveState="fetch-portal-information",this._parentFlowItem=this._currentFlowItem,this._currentFlowItem="save",this._portalUserName=e.user?.username;try{this._portalFolders=await(e.user?.fetchFolders())}catch{return void(this._saveState="fetch-portal-information-error")}this._saveState="save-layer"}_normalizeSearchSources(e){this._overrideDefaultSources(e),this._applyLocatorSourceOverrides(e)}_overrideDefaultSources(e){for(const t of e.viewModel.defaultSources)t.autoNavigate=!1}_renderClearRouteAction(){return x("calcite-action",{icon:"trash",key:"clear-route",onclick:()=>{this._currentFlowItem="primary",this.viewModel.reset()},slot:"header-menu-actions",text:this.messages.common.clear,textEnabled:!0})}_renderDeleteStopAction(e){const t=this.viewModel.layer?.stops;return x("calcite-action",{disabled:(t?.length??0)<=2,icon:"trash",onclick:()=>{this.viewModel.layer?.stops.remove(e),this._disposeSearch(e),this._solveRoute()},scale:"s",text:this.messages.deleteStop})}_renderDepartureTime(){const{DEPART_AT:e,NOW:t,UNSPECIFIED:i}=b;return x("calcite-label",{key:"departure-time",scale:"s"},this.messages.departureTime,x("calcite-combobox",{clearDisabled:!0,label:this.messages.departureTime,overlayPositioning:"fixed",scale:"s",selectionMode:"single",onCalciteComboboxChange:({currentTarget:e})=>{const{selectedItems:t}=e;t.length&&(this.viewModel.departureOption=t[0].value,this._solveRoute())}},x("calcite-combobox-item",{heading:this.messages.leaveNow,key:t,label:this.messages.leaveNow,selected:this.viewModel.departureOption===t,value:t}),x("calcite-combobox-item",{heading:this.messages.departAt,key:e,label:this.messages.departAt,selected:this.viewModel.departureOption===e,value:e}),x("calcite-combobox-item",{heading:this.messages.timeUnspecified,key:i,label:this.messages.timeUnspecified,selected:this.viewModel.departureOption===i,value:i})))}_renderDepartureTimeOptions(){return this.viewModel.departureOption!==b.DEPART_AT?null:x("div",{class:$.departureTimeOptions},x("calcite-input-date-picker",{scale:"s",valueAsDate:C(this.viewModel.departureIsoDate),onCalciteInputDatePickerChange:({currentTarget:{value:e}})=>{this.viewModel.departureIsoDate=e,this._solveRoute()}}),x("calcite-input-time-picker",{scale:"s",value:this.viewModel.departureIsoTime,onCalciteInputTimePickerChange:({currentTarget:{value:e}})=>{this.viewModel.departureIsoTime=e,this._solveRoute()}}))}_renderDirectionsFlowItem(){if("directions"!==this._currentFlowItem)return null;const e=this._getRouteCostSummary();if(!this._sections||!e)return null;const{distance:t,duration:i}=e,{formattedEta:s}=this.viewModel,o=this._sections.at(0)?.stop.name??"",r=this._sections.at(-1)?.stop.name??"";return x("calcite-flow-item",{key:"directions-flow-item",selected:"directions"===this._currentFlowItem,onCalciteFlowItemBack:e=>{e.stopPropagation(),this._currentFlowItem="primary"}},x("calcite-panel",{class:$.labelNoBottomMargin,overlayPositioning:"fixed",slot:"header-actions-end"},x("div",{class:$.directionsHeader,slot:"header-actions-start"},x("div",{class:$.flexRow},x("div",{class:$.flexColumn},x("calcite-label",null,this.messages.from),x("calcite-label",null,this.messages.to)),x("div",{class:$.directionsHeaderStopNames},x("calcite-label",null,o),x("calcite-label",null,r))),x("calcite-label",null,`${i} | ${t}`),s?x("calcite-label",null,s):null),this._renderRouteLayerActions()),x("calcite-accordion",{class:$.accordion,iconPosition:"start",selectionMode:"single"},this._sections.map(((e,t)=>{const{stop:i,directions:s}=e,{name:o}=i;return x("calcite-accordion-item",{expanded:0===t,heading:o??"",key:`stop-${t}`},x("calcite-action",{icon:"zoom-to-object",onclick:()=>{this.viewModel.centerAt(i)},slot:"actions-end",text:this.messages.panToStop}),this._renderDirectionTurns(s))}))))}_renderDirectionTurns(e){return x("calcite-list",{label:this.messages.drivingDirections,selectionMode:"none"},e.map(((e,t)=>{const{directionPoint:i,directionLine:s}=e,{distance:o,duration:r}=s,a=w(this.messagesUnits,o??0,this.unit),n=y(r??0),l=a&&n?`${a} | ${n}`:`${a||n}`,c=T(i),d=f(i.directionPointType);return x("calcite-list-item",{class:$.labelNoBottomMargin,key:`driving-direction-${t}`,onpointerenter:()=>{this.viewModel.highlight(s)},onpointerleave:()=>{this.viewModel.clearHighlights()},onCalciteListItemSelect:()=>{this._activeManeuver===s?this.zoomToRoute():(this._activeManeuver=s,this.viewModel.centerAt(s.geometry))}},x("calcite-icon",{icon:d,slot:"content-start"}),x("div",{slot:"content"},x("calcite-label",{layout:"inline",scale:"s"},c),x("calcite-label",{layout:"inline",scale:"s"},l)))})))}_renderEditFlowItem(){return"edit"!==this._currentFlowItem?null:x("calcite-flow-item",{heading:this.messages.editRoute,headingLevel:this.headingLevel,key:"edit-flow-item",selected:"edit"===this._currentFlowItem,onCalciteFlowItemBack:e=>{e.stopPropagation(),this.viewModel.stopEditing(),this._currentFlowItem="primary"}},x("div",{class:$.flexColumn,key:"edit-container"},x("div",{class:$.editToolbarContainer},x("div",{class:$.editToolbar},x("calcite-action",{icon:"flag",key:"add-stop",onclick:()=>{this.viewModel.create("stop")},scale:"s",text:this.messages.networkFeatures.stops.stop,textEnabled:!0}),x("calcite-action",{icon:"line",key:"add-barrier",onclick:()=>{this.viewModel.create("polyline-barrier")},scale:"s",text:this.messages.barrier,textEnabled:!0}),x("calcite-action",{disabled:this.viewModel.autoSolve,icon:"refresh",key:"solve",onclick:()=>{this._solveRoute()},scale:"s",text:this.messages.solve}),x("calcite-action",{active:this.viewModel.autoSolve,icon:"app-update",key:"auto-solve",onclick:()=>{this.viewModel.autoSolve=!this.viewModel.autoSolve},scale:"s",text:this.messages.automaticallySolve}))),x("div",{class:$.selectedFeatureContainer},x("calcite-list",{label:this.messages.selectedNetworkFeatures,scale:"s",selectionMode:"none"},this.viewModel.selectedNetworkFeatures?.toArray().map(((e,t)=>x("calcite-list-item",{description:this._getNetworkFeatureName(e),key:`network-feature-${t}`,label:e.name??e.objectId?.toString()??this.messages.unnamed},x("calcite-action",{icon:"trash",onclick:()=>{this.viewModel.delete()},scale:"s",slot:"actions-end",text:this.messages.common.delete})))))),x("div",{class:$.editFooter},x("calcite-button",{onclick:e=>{e.stopPropagation(),this.viewModel.stopEditing(),this._currentFlowItem="primary"},scale:"m",width:"full"},this.messages.common.done))))}_renderFooter(){if(!this.viewModel.layer)return x("div",{class:$.primaryFooter,key:"footer-missing-layer"},x("calcite-notice",{icon:"information",open:!0},x("calcite-label",{class:$.labelNoBottomMargin,slot:"message"},this.messages.missingLayer)));if("unauthenticated"===this.viewModel.state)return x("div",{class:$.primaryFooterCentered,key:"footer-sign-in"},x("calcite-label",null,this.messages.signInRequired),x("calcite-button",{onclick:()=>{this.viewModel.load().catch((()=>{}))}},this.messages.common.auth.signIn));if("error"===this.viewModel.state&&!this.viewModel.serviceDescription)return x("div",{class:$.primaryFooter,key:"footer-service-error"},x("calcite-notice",{icon:"exclamation-mark-circle",kind:"danger",open:!0},x("calcite-label",{class:$.labelNoBottomMargin,slot:"message"},this._getErrorDescription())));if(!this.viewModel.layer?.routeInfo)return x("div",{class:$.primaryFooter,key:"footer-unsolved-route"},x("calcite-notice",{icon:"information",open:!0},x("calcite-label",{class:$.labelNoBottomMargin,slot:"message"},this.messages.directionsPlaceholder)));const e=this._getRouteCostSummary();if(!e||!this.viewModel.layer?.directionPoints)return x("div",{class:$.primaryFooter,key:"footer-invalid-route"},x("calcite-notice",{icon:"exclamation-mark-triangle",kind:"danger",open:!0},x("calcite-label",{class:$.labelNoBottomMargin,slot:"message"},this.messages.invalidRoute)));const{distance:t,duration:i}=e,{formattedEta:s}=this.viewModel;return x("calcite-panel",{class:$.panelTopBorder,key:"footer-directions-summary",overlayPositioning:"fixed"},x("calcite-action",{onclick:()=>{this._currentFlowItem="directions"},slot:"header-actions-start",text:this.messages.viewDrivingDirections},x("div",{class:$.panelHeaderAction},x("div",{class:this.classes($.labelNoBottomMargin,$.panelHeaderActionColumns)},x("calcite-label",{class:$.labelEmphasize},`${i} | ${t}`),x("calcite-label",{scale:"s"},s)),x("calcite-icon",{icon:"chevron-right"}))),this._renderRouteLayerActions())}_renderInteractiveRouteActions(){return x("div",{class:$.actionContainer,key:"interactive-route-action-container"},x("calcite-button",{appearance:"outline",iconStart:"plus",kind:"neutral",label:this.messages.addStop,onclick:()=>{const e=new p;this.viewModel.layer?.stops.add(new m({symbol:e}))}},this.messages.addStop),x("calcite-button",{appearance:"outline",iconStart:"pencil",kind:"neutral",label:this.messages.editRoute,onclick:()=>{this._currentFlowItem="edit",this.viewModel.startEditing()}},this.messages.editRoute),x("calcite-button",{appearance:"outline",bind:this,iconStart:"arrow-up-down",kind:"neutral",label:this.messages.reverseStops,onclick:()=>{this.viewModel.layer?.stops.reverse(),this._resetStopSequence(),this._solveRoute()}}))}_renderLocateStopAction(e){if(null!=e.name||null!=e.geometry)return null;const t=this.viewModel.layer?.stops.indexOf(e)??-1;return x("calcite-action",{icon:"select",key:`stop-location-action-${t}`,onclick:()=>this._handleLocateStopAction(e),scale:"s",text:this.messages.pickALocationOnTheMap})}_renderOptimizeStopOrder(){const{routeParameters:e}=this.viewModel,{findBestSequence:t,preserveFirstStop:i,preserveLastStop:s}=e;return x("div",null,x("calcite-label",{layout:"inline-space-between",scale:"s"},this.messages.optimizeOrder,x("calcite-switch",{checked:t,scale:"s",onCalciteSwitchChange:({target:t})=>{e.findBestSequence=t.checked,t.checked||this._resetStopSequence(),this._solveRoute()}})),t?[x("calcite-label",{key:"preserve-first-stop",layout:"inline-space-between",scale:"s"},this.messages.preserveFirstStop,x("calcite-switch",{checked:i,scale:"s",onCalciteSwitchChange:({target:{checked:t}})=>{e.preserveFirstStop=t,this._resetStopSequence(),this._solveRoute()}})),x("calcite-label",{key:"preserve-last-stop",layout:"inline-space-between",scale:"s"},this.messages.preserveLastStop,x("calcite-switch",{checked:s,scale:"s",onCalciteSwitchChange:({target:{checked:t}})=>{e.preserveLastStop=t,this._resetStopSequence(),this._solveRoute()}}))]:null)}_renderPrimaryFlowItem(){return x("calcite-flow-item",{key:"primary-flow-item",loading:"initializing"===this.viewModel.state,selected:"primary"===this._currentFlowItem},x("calcite-panel",{class:$.primaryFlowItem,disabled:!this.viewModel.layer||"unauthenticated"===this.viewModel.state||"error"===this.viewModel.state&&!this.viewModel.serviceDescription},this._renderStops(),this._renderInteractiveRouteActions(),this._renderSeparator(),this._renderRouteSolveOptions()),this._renderFooter())}_renderRouteLayerActions(){return[this._renderClearRouteAction(),this._renderSaveLayerAction(),this._renderSaveLayerAsAction(),this._renderViewItemDetailsAction()]}_renderRouteSolveOptions(){return x("div",{class:$.marginInlineMedium,key:"route-solve-options"},this._renderTravelModes(),this._renderDepartureTime(),this._renderDepartureTimeOptions(),this._renderOptimizeStopOrder())}_renderSaveContent(){switch(this._saveState){case"initialized":return this._renderSaveInitialized();case"connect-to-portal":return this._renderSaveProcessing(this.messages.identity.lblSigning);case"connect-to-portal-error":return this._renderSaveError(this.messages.errors.authenticating);case"fetch-portal-information":return this._renderSaveProcessing(this.messages.processing.fetching);case"fetch-portal-information-error":return this._renderSaveError(this.messages.errors.fetching);case"save-layer":return this._renderSaveLayerSettings();case"saving":return this._renderSaveProcessing(this.messages.processing.saving);case"saving-error":return this._renderSaveError(this.messages.errors.saving)}}_renderSaveError(e){return x("calcite-panel",{class:$.paddingMedium,key:"save-layer-error"},x("div",{class:$.saveError},x("calcite-icon",{class:$.saveErrorIcon,icon:"exclamation-mark-triangle",scale:"l",textLabel:this.messages.common.errorMessage}),x("calcite-label",{class:$.saveErrorLabel},e)),x("calcite-button",{appearance:"outline",onclick:()=>{this._currentFlowItem=this._parentFlowItem},slot:"footer-actions",width:"full"},this.messages.common.close))}_renderSaveInitialized(){return x("calcite-panel",{class:$.paddingMedium,key:"save-layer-initialized"})}_renderSaveFlowItem(){return"save"!==this._currentFlowItem?null:x("calcite-flow-item",{heading:this.messages.saveLayer,headingLevel:this.headingLevel,key:"save-layer-flow-item",selected:"save"===this._currentFlowItem,onCalciteFlowItemBack:e=>{e.stopPropagation(),this._currentFlowItem=this._parentFlowItem}},this._renderSaveContent())}_renderSaveLayerAction(){if(!this.visibleElements.saveButton)return null;const e=this.viewModel.layer,t=e?.routeInfo,i=e?.portalItem?.itemControl;return x("calcite-action",{disabled:!(!!t&&("admin"===i||"update"===i)),icon:"save",key:"save-route",onclick:()=>{this.viewModel.layer?.save()},slot:"header-menu-actions",text:this.messages.common.save,textEnabled:!0})}_renderSaveLayerAsAction(){if(!this.visibleElements.saveAsButton)return null;const e=!this.viewModel.layer?.routeInfo;return x("calcite-action",{disabled:e,icon:"save-as",key:"save-as-route",onclick:()=>{this._handleSaveLayerAsAction()},slot:"header-menu-actions",text:this.messages.common.saveAs,textEnabled:!0})}_renderSaveLayerSettings(){if(null==this.layer||null==this._portalFolders||null==this._portalUserName)return this._renderSaveInitialized();const{stops:e}=this.layer,t=`${e.at(0).name} - ${e.at(-1).name}`,i=this._portalFolders.map((e=>x("calcite-combobox-item",{heading:e.title??"",key:`${D}-folder-${e.id}`,value:e.id})));return i.unshift(x("calcite-combobox-item",{heading:`${this._portalUserName} (${this.messages.common.home})`,key:`${D}-folder-home`,selected:!0,value:null})),x("calcite-panel",{key:"save-layer-panel"},x("div",{class:$.paddingMedium},x("calcite-label",null,this.messages.laverName,x("calcite-input",{afterCreate:e=>{this._portalItemNameInput=e},label:this.messages.laverName,value:t})),x("calcite-label",null,this.messages.saveInFolder,x("calcite-combobox",{afterCreate:e=>{this._portalFolderCombobox=e},label:this.messages.saveInFolder,overlayPositioning:"fixed",selectionMode:"single"},i))),x("calcite-button",{onclick:()=>{if(this._saveState="saving",null==this.layer||null==this._portalFolders)return;const e=this._portalItemNameInput?.value,t=this._portalFolderCombobox?.value,i=this._portalFolders.find((({id:e})=>e===t));this.layer.saveAs({title:e},{folder:i}).then((()=>{this._currentFlowItem=this._parentFlowItem})).catch((()=>{this._saveState="saving-error"}))},slot:"footer-actions",width:"full"},this.messages.common.save),x("calcite-button",{appearance:"outline",onclick:()=>{this._currentFlowItem=this._parentFlowItem},slot:"footer-actions",width:"full"},this.messages.common.cancel))}_renderSaveProcessing(e){return x("calcite-panel",{class:$.marginInlineMedium,key:"save-layer-processing"},x("calcite-loader",{class:$.saveProcessLoader,label:e,text:e}))}_renderSeparator(){return x("div",{class:$.separator,key:"separator"})}_renderStop(e){const t=this.acquireSearch(e);null!=e.name&&(t.searchTerm=e.name);const i=this._renderLocateStopAction(e),s=this._renderDeleteStopAction(e),o=this.viewModel.layer?.stops.indexOf(e)??-1;return x("calcite-list-item",{key:`stop-${o}`,value:e},x("div",{class:$.flexRow,slot:"actions-end"},i,s),x("div",{class:$.stopItem,slot:"content"},t.render()))}_renderStops(){const e=this.viewModel.layer?.stops.toArray()??this._placeholderStops;for(const t of this._stopsToSearches.keys())e.includes(t)||this._disposeSearch(t);return x("div",{class:$.stopContainer,key:$.stopContainer},x("calcite-list",{dragEnabled:!0,label:this.messages.widgetLabel,scale:"s",onCalciteListOrderChange:({detail:e})=>{this.viewModel.layer?.stops.reorder(e.dragEl.value,e.newIndex),this._resetStopSequence(),this._solveRoute()}},e.map((e=>this._renderStop(e)))))}_renderTravelModes(){return this.viewModel.travelModes.length?x("calcite-label",{key:"travel-modes",scale:"s"},this.messages.mode,x("calcite-combobox",{clearDisabled:!0,label:"mode",overlayPositioning:"fixed",scale:"s",selectionMode:"single",onCalciteComboboxChange:({currentTarget:e})=>{const{selectedItems:t}=e;t.length&&(this.viewModel.selectedTravelMode=t[0].value,this._solveRoute())}},this.viewModel.travelModes.map((e=>x("calcite-combobox-item",{heading:e.name,key:e.id,label:e.name,selected:this.viewModel.selectedTravelMode?.id===e.id,value:e}))))):null}_renderViewItemDetailsAction(){if(!this.visibleElements.layerDetails)return null;const e=this.viewModel.layer?.portalItem;return x("calcite-action",{disabled:!e,icon:"launch",key:"open-route-details-link",onclick:()=>{e&&window.open(`${e.portal.url}/home/item.html?id=${e.id}`,"_blank")},slot:"header-menu-actions",text:this.messages.viewLayerDetails,textEnabled:!0})}_resetStopSequence(){this.viewModel.layer?.stops.forEach((e=>{e.sequence=null}))}async _solveRoute(){this.viewModel.updateDepartureTime();const e=this.viewModel.layer?.stops.filter((({geometry:e})=>null!=e));if(e&&!(e.length<2))try{await this.viewModel.getDirections()}catch{}}};e([n()],A.prototype,"_currentFlowItem",void 0),e([n()],A.prototype,"_saveState",void 0),e([n()],A.prototype,"apiKey",null),e([n(d)],A.prototype,"defaultUnit",void 0),e([n()],A.prototype,"goToOverride",null),e([n()],A.prototype,"headingLevel",void 0),e([n()],A.prototype,"icon",null),e([n()],A.prototype,"label",null),e([n({readOnly:!0})],A.prototype,"lastRoute",null),e([n()],A.prototype,"layer",null),e([n()],A.prototype,"maxStops",null),e([n(),F("esri/widgets/Directions/t9n/Directions")],A.prototype,"messages",void 0),e([n(),F("esri/core/t9n/Units")],A.prototype,"messagesUnits",void 0),e([n()],A.prototype,"searchProperties",void 0),e([n()],A.prototype,"unit",null),e([n()],A.prototype,"view",null),e([n({type:g})],A.prototype,"viewModel",void 0),e([n({type:_,nonNullable:!0})],A.prototype,"visibleElements",void 0),A=e([l("esri.widgets.Directions")],A);const E=A;export{E as default};