@arcgis/core 4.28.0-next.20230921 → 4.28.0-next.20230922

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 (313) hide show
  1. package/Graphic.js +1 -1
  2. package/arcade/ArcadeDate.js +1 -1
  3. package/arcade/Feature.js +1 -1
  4. package/arcade/featureSetUtils.js +1 -1
  5. package/arcade/featureset/actions/Adapted.js +1 -1
  6. package/arcade/featureset/actions/GroupBy.js +1 -1
  7. package/arcade/featureset/support/FeatureSet.js +1 -1
  8. package/arcade/featureset/support/FeatureSetIterator.js +1 -1
  9. package/arcade/featureset/support/StatsField.js +1 -1
  10. package/arcade/featureset/support/sqlUtils.js +1 -1
  11. package/arcade/functions/date.js +1 -1
  12. package/arcade/functions/featuresetbase.js +1 -1
  13. package/arcade/functions/featuresetstats.js +1 -1
  14. package/arcade.js +1 -1
  15. package/assets/esri/core/workers/RemoteClient.js +1 -1
  16. package/assets/esri/core/workers/chunks/{2cb36f9686693234991a.js → 07a2dab2f645dcd7d8d6.js} +1 -1
  17. package/assets/esri/core/workers/chunks/07f6175b52366b2c28bd.js +1 -0
  18. package/assets/esri/core/workers/chunks/098073c3b2849f56dad8.js +1 -0
  19. package/assets/esri/core/workers/chunks/{580039dd491854ca325c.js → 21fc02f0d5716c4a7acd.js} +1 -1
  20. package/assets/esri/core/workers/chunks/{072b4e041b8630c513a0.js → 243b1f9b2fba02946481.js} +1 -1
  21. package/assets/esri/core/workers/chunks/{dff1c3c38dda2bd1a9d6.js → 246a954347fe9318190e.js} +1 -1
  22. package/assets/esri/core/workers/chunks/{314c307e30f308a40a28.js → 25b09e9c0511c8e1cf8a.js} +1 -1
  23. package/assets/esri/core/workers/chunks/28a5ef2e2daa4207dd8b.js +1 -0
  24. package/assets/esri/core/workers/chunks/2b017e1aa1be71974c2e.js +1 -0
  25. package/assets/esri/core/workers/chunks/425b5733bb88e6efe242.js +1 -0
  26. package/assets/esri/core/workers/chunks/{c9dfb145f0c1d93e0fbd.js → 4bcca5fffb1fcc2d4353.js} +1 -1
  27. package/assets/esri/core/workers/chunks/4bf1a7e82a68ccee0ee1.js +1 -0
  28. package/assets/esri/core/workers/chunks/4c110c7f4f940ec58010.js +1 -0
  29. package/assets/esri/core/workers/chunks/{bde89b2684b6185992ef.js → 4ed77097e69fa3096ce4.js} +1 -1
  30. package/assets/esri/core/workers/chunks/{1cbaba30f55f00f7498b.js → 51324d042f469f3b8914.js} +1 -1
  31. package/assets/esri/core/workers/chunks/{3f4e9b1663ec521bfe00.js → 542ce10e1872399790b4.js} +1 -1
  32. package/assets/esri/core/workers/chunks/54d2b7e2ac4ba883bee8.js +1 -0
  33. package/assets/esri/core/workers/chunks/54ecb6cae310818d1aa2.js +1 -0
  34. package/assets/esri/core/workers/chunks/57c932e289d89d97da4b.js +1 -0
  35. package/assets/esri/core/workers/chunks/{6403de6fc067cf8f7436.js → 592c1fb531f2be928e8a.js} +1 -1
  36. package/assets/esri/core/workers/chunks/609a475ab395f2ce63e2.js +1 -0
  37. package/assets/esri/core/workers/chunks/{332689bf60d246485993.js → 65186e168dd112ac6221.js} +1 -1
  38. package/assets/esri/core/workers/chunks/6b9248fb2d6aadbce7bb.js +1 -0
  39. package/assets/esri/core/workers/chunks/709465832d306e02df52.js +1 -0
  40. package/assets/esri/core/workers/chunks/{bbc0dcd316c5598bc9ad.js → 74368a5213def6c200a2.js} +1 -1
  41. package/assets/esri/core/workers/chunks/78e7af899d9d50aa7e74.js +1 -0
  42. package/assets/esri/core/workers/chunks/7fe641cf1467496e670a.js +1 -0
  43. package/assets/esri/core/workers/chunks/{df8f62beb36fb9d2ac81.js → 810c8d6ff19976fd1366.js} +1 -1
  44. package/assets/esri/core/workers/chunks/83a15aa4b1c5252c651b.js +1 -0
  45. package/assets/esri/core/workers/chunks/85e436decdd693f240ee.js +1 -0
  46. package/assets/esri/core/workers/chunks/{243a4eed107d363dfad8.js → 887652bbdb3b71d0a089.js} +1 -1
  47. package/assets/esri/core/workers/chunks/896bfda379cf620b63ec.js +1 -0
  48. package/assets/esri/core/workers/chunks/{1f7e041140088f8ac489.js → 97073a60f0ea2a397165.js} +1 -1
  49. package/assets/esri/core/workers/chunks/{101f776316a85b708927.js → a99070ec4c06c435b744.js} +1 -1
  50. package/assets/esri/core/workers/chunks/{21a9c8aa2a9e9990df41.js → b499b4fa771e8c422b43.js} +1 -1
  51. package/assets/esri/core/workers/chunks/bffad8aec92f982cc75a.js +1 -0
  52. package/assets/esri/core/workers/chunks/d414dba3179bcf75bc6b.js +1 -0
  53. package/assets/esri/core/workers/chunks/{b449d6bd5851187d419f.js → d6e5408f9fa6b4bcd118.js} +1 -1
  54. package/assets/esri/core/workers/chunks/{3ca759f72d3bb29e9ea9.js → e14da83329f7771135bc.js} +2 -2
  55. package/assets/esri/core/workers/chunks/{f508ccfde6425dabe9ac.js → ee0bf611d191103a7046.js} +1 -1
  56. package/assets/esri/core/workers/chunks/{ed1fbc1bc8d50453e2f5.js → f793cd41fcd022baeea2.js} +1 -1
  57. package/assets/esri/core/workers/chunks/fb87fd64411b78afea23.js +1 -0
  58. package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +2 -0
  59. package/assets/esri/themes/dark/main.css +1 -1
  60. package/assets/esri/themes/light/main.css +1 -1
  61. package/assets/esri/themes/light/view.css +1 -1
  62. package/config.js +1 -1
  63. package/core/Accessor.js +1 -1
  64. package/core/has.js +1 -1
  65. package/core/sql/DateOnly.js +1 -1
  66. package/core/sql/WhereClause.js +1 -1
  67. package/core/sql.js +1 -1
  68. package/identity/IdentityForm.js +1 -1
  69. package/identity/IdentityModal.js +1 -1
  70. package/interfaces.d.ts +28 -199
  71. package/layers/OrientedImageryLayer.js +1 -1
  72. package/layers/graphics/applyEditsUtils.js +5 -0
  73. package/layers/graphics/editingSupport.js +1 -1
  74. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  75. package/layers/mixins/EditBusLayer.js +1 -1
  76. package/layers/orientedImagery/core/CameraOrientationLTP.js +1 -1
  77. package/layers/orientedImagery/core/ElevationSourceDefinitions.js +5 -0
  78. package/layers/orientedImagery/core/ExposurePoint.js +1 -1
  79. package/layers/orientedImagery/core/cameraOrientationFactory.js +1 -1
  80. package/layers/orientedImagery/core/utils.js +5 -0
  81. package/layers/orientedImagery/transformations/groundToImageUtils.js +1 -1
  82. package/layers/support/fieldProperties.js +1 -1
  83. package/networks/Network.js +1 -1
  84. package/package.json +1 -1
  85. package/rest/featureService/FeatureService.js +1 -1
  86. package/support/arcadeUtils.js +1 -1
  87. package/support/revision.js +1 -1
  88. package/symbols/support/svgUtils.js +1 -1
  89. package/versionManagement/VersionManagementService.js +1 -1
  90. package/versionManagement/support/EditMomentStack.js +5 -0
  91. package/versionManagement/support/versionManagementUtils.js +1 -1
  92. package/views/2d/engine/Container.js +1 -1
  93. package/views/2d/engine/DisplayObject.js +1 -1
  94. package/views/2d/engine/ManagedCanvas.js +5 -0
  95. package/views/2d/engine/Stage.js +1 -1
  96. package/views/2d/engine/webgl/GroupContainer.js +1 -1
  97. package/views/2d/engine/webgl/Painter.js +1 -1
  98. package/views/2d/engine/webgl/WGLContainer.js +1 -1
  99. package/views/2d/engine/webgl/WorldExtentClipRenderer.js +1 -1
  100. package/views/2d/engine/webgl/effects/FeatureEffect.js +1 -1
  101. package/views/2d/engine/webgl/effects/HighlightEffect.js +1 -1
  102. package/views/2d/engine/webgl/effects/HittestEffectVTL.js +1 -1
  103. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  104. package/views/2d/layers/MediaLayerView2D.js +1 -1
  105. package/views/2d/layers/TileLayerView2D.js +1 -1
  106. package/views/2d/layers/features/tileRenderers/support/WGLFeatureView.js +1 -1
  107. package/views/2d/layers/graphics/BaseGraphicContainer.js +1 -1
  108. package/views/2d/layers/graphics/GraphicContainer.js +1 -1
  109. package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
  110. package/views/2d/layers/graphics/HighlightGraphicContainer.js +1 -1
  111. package/views/2d/layers/support/DisplayGL.js +1 -1
  112. package/views/2d/webglDeps.js +1 -1
  113. package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
  114. package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
  115. package/views/3d/interactive/visualElements/PointVisualElement.js +1 -1
  116. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  117. package/views/3d/layers/SceneLayerView3D.js +1 -1
  118. package/views/3d/layers/graphics/ElevationAligners.js +1 -1
  119. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  120. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  121. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  122. package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
  123. package/views/3d/layers/graphics/Labeler.js +1 -1
  124. package/views/3d/layers/graphics/graphicUtils.js +1 -1
  125. package/views/3d/layers/i3s/featureEditing.js +1 -1
  126. package/views/3d/layers/support/StageLayerElevationProvider.js +1 -1
  127. package/views/3d/support/buffer/glUtil.js +1 -1
  128. package/views/3d/support/engineContent/line.js +1 -1
  129. package/views/3d/support/viewpointUtils.js +1 -1
  130. package/views/3d/webgl-engine/Stage.js +1 -1
  131. package/views/3d/webgl-engine/effects/RenderPluginInput.js +1 -1
  132. package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
  133. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
  134. package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
  135. package/views/3d/webgl-engine/effects/ssao/SSAO.js +1 -1
  136. package/views/3d/webgl-engine/lib/Geometry.js +1 -1
  137. package/views/3d/webgl-engine/lib/ModelDirtySet.js +1 -1
  138. package/views/3d/webgl-engine/lib/Object3D.js +1 -1
  139. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  140. package/views/3d/webgl-engine/lib/TextRenderer.js +1 -1
  141. package/views/3d/webgl-engine/lib/TextTextureAtlas.js +1 -1
  142. package/views/3d/webgl-engine/lib/TextTextureFactory.js +1 -1
  143. package/views/3d/webgl-engine/lib/VertexAttribute.js +1 -1
  144. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  145. package/views/3d/webgl-engine/lib/edgeRendering/bufferLayouts.js +1 -1
  146. package/views/3d/webgl-engine/lib/edgeRendering/edgeProcessing.js +1 -1
  147. package/views/View.js +1 -1
  148. package/views/interactive/tooltip/TooltipContentWithHelpMessage.js +1 -1
  149. package/views/interactive/tooltip/TooltipEditableField.js +1 -1
  150. package/views/interactive/tooltip/constraintUtils.js +1 -1
  151. package/views/interactive/tooltip/content/Fields.js +1 -1
  152. package/views/interactive/tooltip/content/TooltipContentDrawCircle.js +1 -1
  153. package/views/interactive/tooltip/content/TooltipContentDrawMesh.js +1 -1
  154. package/views/interactive/tooltip/content/TooltipContentDrawPoint.js +1 -1
  155. package/views/interactive/tooltip/content/TooltipContentDrawPolygon.js +1 -1
  156. package/views/interactive/tooltip/content/TooltipContentDrawPolyline.js +1 -1
  157. package/views/interactive/tooltip/content/TooltipContentDrawRectangle.js +1 -1
  158. package/views/interactive/tooltip/content/TooltipContentExtentRotate.js +1 -1
  159. package/views/interactive/tooltip/content/TooltipContentExtentScale.js +1 -1
  160. package/views/interactive/tooltip/content/TooltipContentReshapeEdgeOffset.js +1 -1
  161. package/views/interactive/tooltip/content/TooltipContentTransformAbsolute.js +1 -1
  162. package/views/interactive/tooltip/content/TooltipContentTransformRotate.js +1 -1
  163. package/views/interactive/tooltip/content/TooltipContentTransformScale.js +1 -1
  164. package/views/interactive/tooltip/content/TooltipContentTranslateGraphic.js +1 -1
  165. package/views/interactive/tooltip/content/TooltipContentTranslateGraphicXY.js +1 -1
  166. package/views/interactive/tooltip/content/TooltipContentTranslateGraphicZ.js +1 -1
  167. package/views/interactive/tooltip/content/TooltipContentTranslateVertex.js +1 -1
  168. package/views/interactive/tooltip/content/TooltipContentTranslateVertexXY.js +1 -1
  169. package/views/interactive/tooltip/content/TooltipContentTranslateVertexZ.js +1 -1
  170. package/views/support/angularMeasurementUtils.js +1 -1
  171. package/views/webgl/Texture.js +1 -1
  172. package/views/webgl/contextUtils.js +1 -1
  173. package/widgets/AreaMeasurement2D.js +1 -1
  174. package/widgets/AreaMeasurement3D.js +1 -1
  175. package/widgets/Attachments.js +1 -1
  176. package/widgets/Attribution.js +1 -1
  177. package/widgets/BasemapGallery.js +1 -1
  178. package/widgets/BasemapLayerList.js +1 -1
  179. package/widgets/BasemapToggle.js +1 -1
  180. package/widgets/Bookmarks.js +1 -1
  181. package/widgets/BuildingExplorer/BuildingDisciplinesTree/BuildingDisciplinesNode.js +1 -1
  182. package/widgets/BuildingExplorer/BuildingDisciplinesTree/BuildingDisciplinesTree.js +1 -1
  183. package/widgets/BuildingExplorer/BuildingLevelPicker/BuildingLevelPicker.js +1 -1
  184. package/widgets/BuildingExplorer/BuildingLevelPicker/Label.js +1 -1
  185. package/widgets/BuildingExplorer/BuildingLevelPicker/LevelItem.js +1 -1
  186. package/widgets/BuildingExplorer/BuildingPhasePicker/BuildingPhasePicker.js +1 -1
  187. package/widgets/BuildingExplorer.js +1 -1
  188. package/widgets/Compass.js +1 -1
  189. package/widgets/CoordinateConversion.js +1 -1
  190. package/widgets/Daylight/support/SliderWithDropdown.js +1 -1
  191. package/widgets/Daylight.js +1 -1
  192. package/widgets/DirectLineMeasurement3D.js +1 -1
  193. package/widgets/DirectionalPad.js +1 -1
  194. package/widgets/Directions/components/SaveLayer.js +1 -1
  195. package/widgets/Directions.js +1 -1
  196. package/widgets/DistanceMeasurement2D.js +1 -1
  197. package/widgets/Editor/components/FooterActions.js +1 -1
  198. package/widgets/Editor/components/Notices.js +1 -1
  199. package/widgets/Editor/components/PanelContent.js +1 -1
  200. package/widgets/Editor/components/PanelToolbar.js +1 -1
  201. package/widgets/Editor/components/Prompt.js +1 -1
  202. package/widgets/Editor/components/Settings.js +1 -1
  203. package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
  204. package/widgets/Editor/components/UploadDetails.js +1 -1
  205. package/widgets/Editor.js +1 -1
  206. package/widgets/ElevationProfile/components/LegendItem.js +1 -1
  207. package/widgets/ElevationProfile/components/SettingsButton.js +1 -1
  208. package/widgets/ElevationProfile/components/Statistics.js +1 -1
  209. package/widgets/ElevationProfile.js +1 -1
  210. package/widgets/Expand.js +1 -1
  211. package/widgets/Feature/FeatureContent.js +1 -1
  212. package/widgets/Feature/FeatureExpression.js +1 -1
  213. package/widgets/Feature/FeatureFields.js +1 -1
  214. package/widgets/Feature/FeatureMedia.js +1 -1
  215. package/widgets/Feature/FeatureRelationship.js +1 -1
  216. package/widgets/Feature/support/FeatureContentMixin.js +1 -1
  217. package/widgets/Feature/support/FeatureElementInfo.js +1 -1
  218. package/widgets/Feature.js +1 -1
  219. package/widgets/FeatureForm.js +1 -1
  220. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  221. package/widgets/FeatureTable/Grid/Grid.js +1 -1
  222. package/widgets/FeatureTable/Grid/support/ButtonMenu.js +1 -1
  223. package/widgets/FeatureTable.js +1 -1
  224. package/widgets/FeatureTemplates/ItemList.js +1 -1
  225. package/widgets/FeatureTemplates.js +1 -1
  226. package/widgets/Features/FeaturesRelatedRecords.js +1 -1
  227. package/widgets/Features.js +1 -1
  228. package/widgets/FloorFilter.js +1 -1
  229. package/widgets/Fullscreen.js +1 -1
  230. package/widgets/Histogram.js +1 -1
  231. package/widgets/HistogramRangeSlider.js +1 -1
  232. package/widgets/Home.js +1 -1
  233. package/widgets/LayerList/ListItemPanel.js +1 -1
  234. package/widgets/LayerList.js +1 -1
  235. package/widgets/Legend/styles/Card.js +1 -1
  236. package/widgets/Legend/styles/Classic.js +1 -1
  237. package/widgets/Legend/styles/support/relationshipUtils.js +1 -1
  238. package/widgets/Legend/styles/support/univariateUtils.js +1 -1
  239. package/widgets/LineOfSight.js +1 -1
  240. package/widgets/Locate.js +1 -1
  241. package/widgets/NavigationToggle.js +1 -1
  242. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  243. package/widgets/OrientedImageryViewer.js +1 -1
  244. package/widgets/Popup.js +1 -1
  245. package/widgets/Print.js +1 -1
  246. package/widgets/ScaleRangeSlider.js +1 -1
  247. package/widgets/Search/SearchResultRenderer.js +1 -1
  248. package/widgets/Search.js +1 -1
  249. package/widgets/ShadowCast/components/DiscreteConfigurator.js +1 -1
  250. package/widgets/ShadowCast/components/DurationConfigurator.js +1 -1
  251. package/widgets/ShadowCast/components/ShadowTooltipContent.js +1 -1
  252. package/widgets/ShadowCast/components/ThresholdConfigurator.js +1 -1
  253. package/widgets/ShadowCast.js +1 -1
  254. package/widgets/Sketch.js +1 -1
  255. package/widgets/Slice.js +1 -1
  256. package/widgets/Slider.js +1 -1
  257. package/widgets/Swipe.js +1 -1
  258. package/widgets/TableList.js +1 -1
  259. package/widgets/TimeSlider.js +1 -1
  260. package/widgets/Track.js +1 -1
  261. package/widgets/UtilityNetworkAssociations/UtilityNetworkAssociationsLineSymbolPicker.js +1 -1
  262. package/widgets/UtilityNetworkAssociations.js +1 -1
  263. package/widgets/UtilityNetworkTrace.js +1 -1
  264. package/widgets/UtilityNetworkValidateTopology.js +1 -1
  265. package/widgets/ValuePicker.js +1 -1
  266. package/widgets/VideoPlayer/components/PlayerControlsGroup.js +1 -1
  267. package/widgets/VideoPlayer/components/SettingsButton.js +1 -1
  268. package/widgets/VideoPlayer.js +1 -1
  269. package/widgets/Weather/LabeledSlider.js +1 -1
  270. package/widgets/Weather.js +1 -1
  271. package/widgets/Zoom/IconButton.js +1 -1
  272. package/widgets/smartMapping/BinaryColorSizeSlider.js +1 -1
  273. package/widgets/smartMapping/ClassedColorSlider.js +1 -1
  274. package/widgets/smartMapping/ClassedSizeSlider.js +1 -1
  275. package/widgets/smartMapping/ColorSizeSlider.js +1 -1
  276. package/widgets/smartMapping/ColorSlider.js +1 -1
  277. package/widgets/smartMapping/HeatmapSlider.js +1 -1
  278. package/widgets/smartMapping/OpacitySlider.js +1 -1
  279. package/widgets/smartMapping/SizeSlider.js +1 -1
  280. package/widgets/smartMapping/SmartMappingSliderBase.js +1 -1
  281. package/widgets/support/ColorPicker.js +1 -1
  282. package/widgets/support/DatePicker.js +1 -1
  283. package/widgets/support/Heading.js +1 -1
  284. package/widgets/support/LabeledSwitch.js +1 -1
  285. package/widgets/support/MeasurementWidgetContent.js +1 -1
  286. package/widgets/support/Popover.js +1 -1
  287. package/widgets/support/SelectionToolbar.js +1 -1
  288. package/widgets/support/SketchTooltipControls.js +1 -1
  289. package/widgets/support/SnappingControls.js +1 -1
  290. package/widgets/support/TimePicker.js +1 -1
  291. package/widgets/support/TimezonePicker.js +1 -1
  292. package/widgets/support/UnitSelect.js +1 -1
  293. package/assets/esri/core/workers/chunks/092920c25cac89c038ee.js +0 -1
  294. package/assets/esri/core/workers/chunks/1b3655f5bf5d90fa8730.js +0 -1
  295. package/assets/esri/core/workers/chunks/1cf7bb514e7eefc3e9c6.js +0 -1
  296. package/assets/esri/core/workers/chunks/24629402c647ef6b5f6b.js +0 -1
  297. package/assets/esri/core/workers/chunks/2d0d03cbea83c868edba.js +0 -1
  298. package/assets/esri/core/workers/chunks/2e130cb2f1038055c07b.js +0 -1
  299. package/assets/esri/core/workers/chunks/4369a6c1e0a82ab4db6a.js +0 -1
  300. package/assets/esri/core/workers/chunks/4f4a424d1747d04501df.js +0 -1
  301. package/assets/esri/core/workers/chunks/59c00d6fba0fd1c03d01.js +0 -1
  302. package/assets/esri/core/workers/chunks/650a317b6dc245a7060f.js +0 -1
  303. package/assets/esri/core/workers/chunks/7a358b1fd0c0cce59e9b.js +0 -1
  304. package/assets/esri/core/workers/chunks/83d1a1b3d371c991cc4c.js +0 -1
  305. package/assets/esri/core/workers/chunks/c4bb67150ccd01ea6014.js +0 -1
  306. package/assets/esri/core/workers/chunks/c60cf62f374e71e562fc.js +0 -1
  307. package/assets/esri/core/workers/chunks/c8f239c25fe864f0e47a.js +0 -1
  308. package/assets/esri/core/workers/chunks/cad260881653567bc8f9.js +0 -1
  309. package/assets/esri/core/workers/chunks/e55f7fc7eff0074ce0fc.js +0 -1
  310. package/assets/esri/core/workers/chunks/eef27d305023034084a4.js +0 -1
  311. package/assets/esri/core/workers/chunks/f38c54ada9e7012a2960.js +0 -1
  312. package/core/watchUtils.d.ts +0 -4
  313. package/core/watchUtils.js +0 -5
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../chunks/tslib.es6.js";import{eventKey as t}from"../core/events.js";import o from"../core/Logger.js";import{property as i}from"../core/accessorSupport/decorators/property.js";import{cast as s}from"../core/accessorSupport/decorators/cast.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as n}from"../core/accessorSupport/decorators/subclass.js";import r from"./Widget.js";import a from"./CoordinateConversion/CoordinateConversionViewModel.js";import l from"./CoordinateConversion/support/Conversion.js";import{globalCss as p}from"./support/globalCss.js";import{Heading as d}from"./support/Heading.js";import{legacyIcon as u}from"./support/legacyIcon.js";import{accessibleHandler as c}from"./support/decorators/accessibleHandler.js";import{messageBundle as h}from"./support/decorators/messageBundle.js";import{tsx as _}from"./support/jsxFactory.js";import{storeNode as m,isRTL as v}from"./support/widgetUtils.js";const g="esri-coordinate-conversion",b={base:g,captureMode:`${g}--capture-mode`,noBasemap:`${g}--no-basemap`,popup:`${g}__popup`,clipboardPopup:`${g}__clipboard-popup`,conversionList:`${g}__conversion-list`,conversionRow:`${g}__row`,coordDisplay:`${g}__display`,expanded:`${g}__conversions-view--expanded`,expandDown:`${g}__conversions-view--expand-down`,expandUp:`${g}__conversions-view--expand-up`,conversionsView:`${g}__conversions-view`,primarySelect:`${g}__select-primary`,rowSelect:`${g}__select-row`,toolDisplay:`${g}__tools`,modeToggle:`${g}__mode-toggle`,rowButton:`${g}__row-button`,backButton:`${g}__back-button`,convertButton:`${g}__button`,convertButtonSpan:`${g}__convert-button-span`,coordinateInput:`${g}__input-coordinate`,inputForm:`${g}__input-form`,inputFormGroup:`${g}__input-group`,rejectInput:`${g}__input-coordinate--rejected`,sectionHeading:`${g}__heading`,patternInput:`${g}__pattern-input`,settings:`${g}__settings`,settingsFormGroup:`${g}__settings-group`,settingsFormGroupHorizontal:`${g}__settings-group-horizontal`,previewCoordinate:`${g}__preview-coordinate`},y={settingsButton:!0,inputButton:!0,captureButton:!0,expandButton:!0},w=750,C=2500;let f=class extends r{constructor(e,t){super(e,t),this._popupMessage=null,this._popupTimeoutId=void 0,this._clipboardPopupTimeoutId=void 0,this._coordinateInput=null,this._badInput=!1,this._goToEnabled=!1,this._conversionFormat=null,this._settingsFormat=null,this._previewConversion=null,this._expanded=!1,this._clipboardPopupVisible=!1,this._popupVisible=!1,this._settingsVisible=!1,this._inputVisible=!1,this.headingLevel=4,this.messages=null,this.messagesCommon=null,this.orientation="auto",this.viewModel=new a,this.visibleElements={...y}}get conversions(){return this.viewModel.conversions}set conversions(e){this.viewModel.conversions=e}get currentLocation(){return this.viewModel.currentLocation}set currentLocation(e){this.viewModel.currentLocation=e}get formats(){return this.viewModel.formats}set formats(e){this.viewModel.formats=e}get goToOverride(){return this.viewModel.goToOverride}set goToOverride(e){this.viewModel.goToOverride=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get mode(){return this.viewModel.mode}set mode(e){this.viewModel.mode=e}set multipleConversions(e){!1===e&&(this._expanded=!1,this.conversions.splice(1,this.conversions.length-1)),this._set("multipleConversions",e)}get multipleConversions(){const e=this._get("multipleConversions");return"boolean"!=typeof e||e}get locationSymbol(){return this.viewModel.locationSymbol}set locationSymbol(e){this.viewModel.locationSymbol=e}get storageEnabled(){return this.viewModel.storageEnabled}set storageEnabled(e){this.viewModel.storageEnabled=e}get storageType(){return this.viewModel.storageType}set storageType(e){this.viewModel.storageType=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}castVisibleElements(e){return{...y,...e}}reverseConvert(e,t){return this.viewModel.reverseConvert(e,t)}render(){const e=this.viewModel?.state,t="disabled"===e?_("div",{key:"esri-coordinate__no-basemap"},this.messages?.noBasemap):null,o=!t&&this._inputVisible?this._renderInputForm():null,i=!t&&this._settingsVisible?this._renderSettings():null,s=t||o||i?null:this._renderConversionsView(),n=this._popupVisible?this._renderPopup():null,r={[b.captureMode]:"capture"===this.mode,[p.disabled]:"loading"===e,[b.noBasemap]:"disabled"===e};return _("div",{class:this.classes(b.base,p.widget,r)},n,t,s,i,o)}_addConversion(e){const t=e.target,o=x(t.options[t.options.selectedIndex]),i=I(t);if(null==o||null==i)return;const s=new l({format:o});t.options.selectedIndex=0,i>=0?(this.conversions.removeAt(i),this.conversions.add(s,i)):this.conversions.add(s)}_findSettingsFormat(){return this._settingsFormat||this.conversions.reduceRight(((e,t)=>{const o=t.format;return o?.hasDisplayProperties?o:e}),null)||this.formats.find((e=>e.hasDisplayProperties))}_hidePopup(){this._popupTimeoutId&&(clearTimeout(this._popupTimeoutId),this._popupTimeoutId=void 0),this._popupVisible=!1,this._popupMessage=null,this.scheduleRender()}_hideClipboardPopup(){this._clipboardPopupTimeoutId&&(clearTimeout(this._clipboardPopupTimeoutId),this._clipboardPopupTimeoutId=void 0),this._clipboardPopupVisible=!1,this.scheduleRender()}_onConvertComplete(){this._inputVisible=!1,this._coordinateInput.value=""}_onCopy(e){const t=T(e.currentTarget)?.displayCoordinate;null!=t&&(e.clipboardData?.setData("text/plain",t),this._showClipboardPopup(),e.preventDefault())}_processUserInput(e){const i=t(e),s=this.viewModel;if("Enter"!==i&&i)this._badInput&&(this._badInput=!1);else{const e=x(this._coordinateInput);if(!e)return;const t=this._coordinateInput.value;this._reverseConvert(t,e).then((e=>{"capture"===this.mode?s.resume():this.mode="capture",this.currentLocation=e,s.setLocation(e),this._onConvertComplete()})).catch((e=>{o.getLogger(this).error(e),this._showPopup(this.messages?.invalidCoordinate),this._badInput=!0}))}}async _reverseConvert(e,t){const i=this.viewModel,s=await t.reverseConvert(e);return this._goToEnabled&&s&&i.goToLocation(s).catch((e=>{o.getLogger(this).warn(e),this._showPopup(this.messages?.locationOffBasemap)})),s}_setInputFormat(e){const t=e.target,o=x(t[t.options.selectedIndex]);null!=o&&(this._conversionFormat=o)}_setPreviewConversion(){const e=this._findSettingsFormat(),t=this.viewModel;if(e){const o=this.conversions.find((t=>t.format===e));this._previewConversion=new l({format:e,position:{location:this.currentLocation,coordinate:o?.position?.coordinate}}),this._previewConversion.position?.coordinate||t.previewConversion(this._previewConversion)}}_setSettingsFormat(e){const t=e.target,o=x(t[t.options.selectedIndex]);null!=o&&(this._settingsFormat=o,this._setPreviewConversion())}_showClipboardPopup(){this._clipboardPopupVisible?clearTimeout(this._clipboardPopupTimeoutId):this._clipboardPopupVisible=!0,this.scheduleRender(),this._popupTimeoutId=setTimeout((()=>{this._popupTimeoutId=void 0,this._hideClipboardPopup()}),w)}_showPopup(e,t=C){this._popupMessage=e,this._popupVisible?clearTimeout(this._popupTimeoutId):this._popupVisible=!0,this.scheduleRender(),this._popupTimeoutId=setTimeout((()=>{this._popupTimeoutId=void 0,this._hidePopup()}),t)}_toggleGoTo(){this._goToEnabled=!this._goToEnabled}_updateCurrentPattern(e){e.stopPropagation();const t=e.target,o=this._findSettingsFormat();o&&(o.currentPattern=t.value)}_renderConversion(e,t){const{messages:o}=this;if(!o)return _("li",null);const{format:i}=e,s=i?.label??"",n=`${this.id}__list-item-${t}`,r=`${s} ${o.conversionOutputSuffix}`,a=0===t,l=a||this._expanded,d=a?this._renderFirstConversion(e):this._renderTools(t,e,n),u=a&&!e.displayCoordinate?o.noLocation:e.displayCoordinate,c=_("div",{"aria-label":u,class:b.coordDisplay,"data-conversion":e,role:"listitem",tabIndex:0,title:u??""},u),h=this._renderOptions(this.formats.filter((e=>e!==i)));return l?_("li",{"aria-label":r,class:b.conversionRow,id:n,key:e,role:"group",title:r,tabIndex:0},_("select",{"aria-controls":n,"aria-label":o.selectFormat,class:this.classes(p.select,b.rowSelect),bind:this,"data-index":t,onchange:this._addConversion,title:o.selectFormat},_("option",{"aria-label":s,selected:!0,title:s},s.toUpperCase()),h),c,d):null}_renderCopyButton(e){const t=this._clipboardPopupVisible&&this._renderClipboardPopup(),{messagesCommon:o}=this;return o?_("li",{"aria-label":o.copy,bind:this,class:this.classes(p.widgetButton,b.rowButton),"data-conversion":e,onclick:this._copyCoordinateOutput,onkeydown:this._copyCoordinateOutput,oncopy:this._onCopy,role:"button",tabIndex:0,title:o.copy},t,_("span",{"aria-hidden":"true",class:u.duplicate})):_("li",null)}_renderFirstConversion(e){const t=this.id,o={[u.down]:!this._expanded,[u.up]:this._expanded},{messages:i,messagesCommon:s,multipleConversions:n,visibleElements:r}=this;if(!s||!i)return _("ul",null);const a="live"===this.mode?i.captureMode:i.liveMode,l=this._expanded?s.collapse:s.expand,d=e.displayCoordinate&&"capture"===this.mode?this._renderCopyButton(e):null,c=n&&r.expandButton&&_("li",{"aria-controls":`${t}__${b.conversionList}`,"aria-label":l,bind:this,class:p.widgetButton,key:"esri-coordinate-conversion__expand-button",onclick:this._toggleExpand,onkeydown:this._toggleExpand,role:"button",tabIndex:0,title:l},_("span",{"aria-hidden":"true",class:this.classes(o)})),h=!n&&r.captureButton&&_("li",{"aria-label":a,bind:this,class:this.classes(p.widgetButton,b.modeToggle),key:"esri-coordinate-conversion__mode-toggle",onclick:this._toggleMode,onkeydown:this._toggleMode,role:"button",tabIndex:0,title:a},_("span",{"aria-hidden":"true",class:u.mapPin}));return _("ul",{class:b.toolDisplay},d,c,h)}_renderInputForm(){const e=this._conversionFormat||this.conversions.at(0).format,t=this.formats.findIndex((t=>t.name===e?.name)),o=this.id,i=`${o}__${b.coordinateInput}`,s=`${o}__${b.coordinateInput}__header`,n=this._renderOptions(this.formats,!0,t),r={[b.rejectInput]:this._badInput},{messages:a,messagesCommon:l,headingLevel:u}=this;return l&&a?_("div",{"aria-labelledby":s,class:b.inputForm,key:"esri-coordinate-conversion__input-form",role:"search"},_("div",{class:b.sectionHeading},_("div",{"aria-label":l.back,bind:this,class:this.classes(p.widgetButton,b.backButton),onclick:this._toggleInputVisibility,onkeydown:this._toggleInputVisibility,role:"button",tabIndex:0,title:l.back},this._renderBackIcon()),_(d,{level:u,class:p.heading,id:s},a.inputCoordTitle)),_("div",{class:b.inputFormGroup},_("select",{"aria-controls":i,"aria-label":a.selectFormat,bind:this,class:this.classes(p.select,b.rowSelect),onchange:this._setInputFormat,title:a.selectFormat},n),_("input",{afterCreate:m,"aria-labelledby":s,"aria-required":"true",bind:this,class:this.classes(b.coordinateInput,p.input,r),"data-format":e,"data-node-ref":"_coordinateInput",id:i,onkeydown:this._processUserInput,placeholder:a.inputCoordTitle,role:"textbox",spellcheck:!1,title:a.inputCoordTitle,type:"text"})),_("div",{class:b.inputFormGroup},_("label",{"aria-label":a.goTo},_("input",{bind:this,checked:this._goToEnabled,onclick:this._toggleGoTo,title:a.goTo,type:"checkbox"}),a.goTo),_("button",{"aria-label":a.convert,bind:this,class:this.classes(b.convertButton,p.button),onclick:this._processUserInput,title:a.convert,type:"button"},_("span",{class:b.convertButtonSpan},a.convert)))):_("div",null)}_renderConversionsView(){const{messages:e}=this;if(!e)return _("div",null);const t=`${this.id}__${b.conversionList}`,o=this._renderPrimaryTools(),i=this._renderOptions(this.formats),s=this.conversions.map(((e,t)=>this._renderConversion(e,t))).toArray(),n=this._expanded?_("div",{class:b.conversionRow},_("select",{"aria-controls":t,"aria-label":e.addConversion,bind:this,class:this.classes(p.select,b.primarySelect),"data-index":-1,onchange:this._addConversion,title:e.addConversion},_("option",{disabled:!0,selected:!0,value:""},e.addConversion),i),o):null,r={[b.expanded]:this._expanded,[b.expandUp]:"expand-up"===this.orientation,[b.expandDown]:"expand-down"===this.orientation};return _("div",{class:this.classes(b.conversionsView,r),key:"esri-coordinate-conversion__main-view"},_("ul",{"aria-expanded":this._expanded?"true":"false",class:b.conversionList,id:t},s),n)}_renderOptions(e,t,o){const i=this.conversions.at(0),s=i.format?.name;return e.map(((e,n)=>{const r=!(t||!i)&&(s===e.name||this.conversions.map((e=>e.format?.name)).includes(e.name));return _("option",{"aria-label":e.label,"data-format":e,disabled:r,key:e.name??"unnamed-format",selected:n===o,value:e.label},e.label.toUpperCase())})).toArray()}_renderPopup(){return _("div",{class:b.popup,role:"alert"},this._popupMessage)}_renderClipboardPopup(){const{messages:e}=this;return e?_("div",{class:this.classes(b.popup,b.clipboardPopup),role:"alert"},e.copySuccessMessage):_("div",null)}_renderPrimaryTools(){const{messages:e,visibleElements:t}=this;if(!e)return _("ul",null);const o="live"===this.mode?e.captureMode:e.liveMode,i=t.inputButton&&_("li",{bind:this,class:p.widgetButton,onclick:this._toggleInputVisibility,onkeydown:this._toggleInputVisibility,role:"button",tabIndex:0,title:e.inputCoordTitle},_("span",{"aria-hidden":"true",class:u.edit})),s=t.captureButton&&_("li",{bind:this,class:this.classes(p.widgetButton,b.modeToggle),onclick:this._toggleMode,onkeydown:this._toggleMode,role:"button",tabIndex:0,title:o},_("span",{"aria-hidden":"true",class:u.mapPin})),n=t.settingsButton&&_("li",{bind:this,class:p.widgetButton,onclick:this._toggleSettingsVisibility,onkeydown:this._toggleSettingsVisibility,role:"button",tabIndex:0,title:e.settingsTitle},_("span",{"aria-hidden":"true",class:u.settings2}));return _("ul",{class:b.toolDisplay},i,s,n)}_renderSettings(){const e=this.id,t=`${e}__${b.patternInput}`,o=`${e}__${b.patternInput}__header`,i=`${e}__${b.previewCoordinate}`,s=this.formats.filter((e=>e.hasDisplayProperties)),n=this._findSettingsFormat(),r=n?s.indexOf(n):-1,a=this._renderOptions(s,!0,r),l=n?.currentPattern,{messages:c,messagesCommon:h,headingLevel:m}=this;return h&&c?_("div",{"aria-labelledby":o,class:b.settings,key:b.settings},_("div",{class:b.sectionHeading},_("div",{bind:this,class:this.classes(p.widgetButton,b.backButton),onclick:this._toggleSettingsVisibility,onkeydown:this._toggleSettingsVisibility,role:"button",tabIndex:0,title:h.back},this._renderBackIcon()),_(d,{level:m,class:p.heading,id:o},c.settingsTitle)),_("div",{class:b.settingsFormGroup},_("label",{for:t},c.changeCoordinateDisplay),_("select",{"aria-label":c.selectFormat,class:p.select,bind:this,onchange:this._setSettingsFormat,title:c.selectFormat},a),_("div",{class:b.settingsFormGroupHorizontal},_("input",{"aria-controls":i,bind:this,class:this.classes(b.patternInput,p.input),id:t,oninput:this._updateCurrentPattern,spellcheck:!1,title:c.changeCoordinateDisplay,type:"text",value:l}),_("div",{"aria-controls":t,bind:this,class:p.widgetButton,onclick:this._setDefaultPattern,onkeydown:this._setDefaultPattern,role:"button",tabIndex:0,title:c.defaultPattern},_("span",{"aria-hidden":"true",class:u.refresh})))),_("div",{class:b.settingsFormGroup},_("label",null,h.preview,_("div",{class:b.previewCoordinate,id:i,tabIndex:0},this._previewConversion?.displayCoordinate)))):_("div",null)}_renderBackIcon(){return _("span",{"aria-hidden":"true",class:v(this.container)?u.rightArrow:u.leftArrows})}_renderTools(e,t,o){const i=t.displayCoordinate&&"capture"===this.mode?this._renderCopyButton(t):null,{messages:s}=this;return s?_("ul",{class:b.toolDisplay,role:"listitem"},i,_("li",{"aria-controls":o,"aria-label":s.removeConversion,bind:this,class:this.classes(p.widgetButton,b.rowButton),"data-index":e,key:`${o}__${p.widgetButton}`,onclick:this._removeConversion,onkeydown:this._removeConversion,tabIndex:0,role:"button",title:s.removeConversion},_("span",{"aria-hidden":"true",class:u.close}))):_("ul",null)}_copyCoordinateOutput(e){const t=e.target;if(!("createTextRange"in document.body)){const e=window.getSelection(),o=document.createRange();o.selectNodeContents(t),e?.removeAllRanges(),e?.addRange(o)}document.execCommand("copy")}_removeConversion(e){const t=I(e.currentTarget);null!=t&&this.conversions.removeAt(t)}_setDefaultPattern(e){e.stopPropagation();const t=this._findSettingsFormat();t&&(t.currentPattern=t.defaultPattern)}_toggleExpand(){this._expanded=!this._expanded}_toggleInputVisibility(){this._inputVisible=!this._inputVisible,this._popupVisible&&this._hidePopup(),this._inputVisible?this.viewModel.pause():this.viewModel.resume()}_toggleMode(){this.mode="live"===this.mode?"capture":"live"}_toggleSettingsVisibility(){this._settingsVisible=!this._settingsVisible,this._popupVisible&&this._hidePopup(),this._settingsVisible?(this._setPreviewConversion(),this.viewModel.pause()):this.viewModel.resume()}};function I(e){return e["data-index"]}function x(e){return e["data-format"]}function T(e){return e["data-conversion"]}e([i()],f.prototype,"conversions",null),e([i()],f.prototype,"currentLocation",null),e([i()],f.prototype,"formats",null),e([i()],f.prototype,"goToOverride",null),e([i()],f.prototype,"headingLevel",void 0),e([i()],f.prototype,"label",null),e([i(),h("esri/widgets/CoordinateConversion/t9n/CoordinateConversion")],f.prototype,"messages",void 0),e([i(),h("esri/t9n/common")],f.prototype,"messagesCommon",void 0),e([i()],f.prototype,"mode",null),e([i()],f.prototype,"orientation",void 0),e([i()],f.prototype,"multipleConversions",null),e([i()],f.prototype,"locationSymbol",null),e([i()],f.prototype,"storageEnabled",null),e([i()],f.prototype,"storageType",null),e([i()],f.prototype,"view",null),e([i({type:a})],f.prototype,"viewModel",void 0),e([i()],f.prototype,"visibleElements",void 0),e([s("visibleElements")],f.prototype,"castVisibleElements",null),e([c()],f.prototype,"_copyCoordinateOutput",null),e([c()],f.prototype,"_removeConversion",null),e([c()],f.prototype,"_setDefaultPattern",null),e([c()],f.prototype,"_toggleExpand",null),e([c()],f.prototype,"_toggleInputVisibility",null),e([c()],f.prototype,"_toggleMode",null),e([c()],f.prototype,"_toggleSettingsVisibility",null),f=e([n("esri.widgets.CoordinateConversion")],f);const P=f;export{P as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import{eventKey as t}from"../core/events.js";import o from"../core/Logger.js";import{property as i}from"../core/accessorSupport/decorators/property.js";import{cast as s}from"../core/accessorSupport/decorators/cast.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as n}from"../core/accessorSupport/decorators/subclass.js";import r from"./Widget.js";import a from"./CoordinateConversion/CoordinateConversionViewModel.js";import l from"./CoordinateConversion/support/Conversion.js";import{globalCss as p}from"./support/globalCss.js";import{Heading as d}from"./support/Heading.js";import{legacyIcon as u}from"./support/legacyIcon.js";import{accessibleHandler as c}from"./support/decorators/accessibleHandler.js";import{messageBundle as h}from"./support/decorators/messageBundle.js";import{tsx as _}from"./support/jsxFactory.js";import{storeNode as m,isRTL as v}from"./support/widgetUtils.js";const g="esri-coordinate-conversion",b={base:g,captureMode:`${g}--capture-mode`,noBasemap:`${g}--no-basemap`,popup:`${g}__popup`,clipboardPopup:`${g}__clipboard-popup`,conversionList:`${g}__conversion-list`,conversionRow:`${g}__row`,coordDisplay:`${g}__display`,expanded:`${g}__conversions-view--expanded`,expandDown:`${g}__conversions-view--expand-down`,expandUp:`${g}__conversions-view--expand-up`,conversionsView:`${g}__conversions-view`,primarySelect:`${g}__select-primary`,rowSelect:`${g}__select-row`,toolDisplay:`${g}__tools`,modeToggle:`${g}__mode-toggle`,rowButton:`${g}__row-button`,backButton:`${g}__back-button`,convertButton:`${g}__button`,convertButtonSpan:`${g}__convert-button-span`,coordinateInput:`${g}__input-coordinate`,inputForm:`${g}__input-form`,inputFormGroup:`${g}__input-group`,rejectInput:`${g}__input-coordinate--rejected`,sectionHeading:`${g}__heading`,patternInput:`${g}__pattern-input`,settings:`${g}__settings`,settingsFormGroup:`${g}__settings-group`,settingsFormGroupHorizontal:`${g}__settings-group-horizontal`,previewCoordinate:`${g}__preview-coordinate`},y={settingsButton:!0,inputButton:!0,captureButton:!0,expandButton:!0},w=750,C=2500;let f=class extends r{constructor(e,t){super(e,t),this._popupMessage=null,this._popupTimeoutId=void 0,this._clipboardPopupTimeoutId=void 0,this._coordinateInput=null,this._badInput=!1,this._goToEnabled=!1,this._conversionFormat=null,this._settingsFormat=null,this._previewConversion=null,this._expanded=!1,this._clipboardPopupVisible=!1,this._popupVisible=!1,this._settingsVisible=!1,this._inputVisible=!1,this.headingLevel=4,this.messages=null,this.messagesCommon=null,this.orientation="auto",this.viewModel=new a,this.visibleElements={...y}}get conversions(){return this.viewModel.conversions}set conversions(e){this.viewModel.conversions=e}get currentLocation(){return this.viewModel.currentLocation}set currentLocation(e){this.viewModel.currentLocation=e}get formats(){return this.viewModel.formats}set formats(e){this.viewModel.formats=e}get goToOverride(){return this.viewModel.goToOverride}set goToOverride(e){this.viewModel.goToOverride=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get mode(){return this.viewModel.mode}set mode(e){this.viewModel.mode=e}set multipleConversions(e){!1===e&&(this._expanded=!1,this.conversions.splice(1,this.conversions.length-1)),this._set("multipleConversions",e)}get multipleConversions(){const e=this._get("multipleConversions");return"boolean"!=typeof e||e}get locationSymbol(){return this.viewModel.locationSymbol}set locationSymbol(e){this.viewModel.locationSymbol=e}get storageEnabled(){return this.viewModel.storageEnabled}set storageEnabled(e){this.viewModel.storageEnabled=e}get storageType(){return this.viewModel.storageType}set storageType(e){this.viewModel.storageType=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}castVisibleElements(e){return{...y,...e}}reverseConvert(e,t){return this.viewModel.reverseConvert(e,t)}render(){const e=this.viewModel?.state,t="disabled"===e?_("div",{key:"esri-coordinate__no-basemap"},this.messages?.noBasemap):null,o=!t&&this._inputVisible?this._renderInputForm():null,i=!t&&this._settingsVisible?this._renderSettings():null,s=t||o||i?null:this._renderConversionsView(),n=this._popupVisible?this._renderPopup():null,r={[b.captureMode]:"capture"===this.mode,[p.disabled]:"loading"===e,[b.noBasemap]:"disabled"===e};return _("div",{class:this.classes(b.base,p.widget,r)},n,t,s,i,o)}_addConversion(e){const t=e.target,o=x(t.options[t.options.selectedIndex]),i=I(t);if(null==o||null==i)return;const s=new l({format:o});t.options.selectedIndex=0,i>=0?(this.conversions.removeAt(i),this.conversions.add(s,i)):this.conversions.add(s)}_findSettingsFormat(){return this._settingsFormat||this.conversions.reduceRight(((e,t)=>{const o=t.format;return o?.hasDisplayProperties?o:e}),null)||this.formats.find((e=>e.hasDisplayProperties))}_hidePopup(){this._popupTimeoutId&&(clearTimeout(this._popupTimeoutId),this._popupTimeoutId=void 0),this._popupVisible=!1,this._popupMessage=null,this.scheduleRender()}_hideClipboardPopup(){this._clipboardPopupTimeoutId&&(clearTimeout(this._clipboardPopupTimeoutId),this._clipboardPopupTimeoutId=void 0),this._clipboardPopupVisible=!1,this.scheduleRender()}_onConvertComplete(){this._inputVisible=!1,this._coordinateInput.value=""}_onCopy(e){const t=T(e.currentTarget)?.displayCoordinate;null!=t&&(e.clipboardData?.setData("text/plain",t),this._showClipboardPopup(),e.preventDefault())}_processUserInput(e){const i=t(e),s=this.viewModel;if("Enter"!==i&&i)this._badInput&&(this._badInput=!1);else{const e=x(this._coordinateInput);if(!e)return;const t=this._coordinateInput.value;this._reverseConvert(t,e).then((e=>{"capture"===this.mode?s.resume():this.mode="capture",this.currentLocation=e,s.setLocation(e),this._onConvertComplete()})).catch((e=>{o.getLogger(this).error(e),this._showPopup(this.messages?.invalidCoordinate),this._badInput=!0}))}}async _reverseConvert(e,t){const i=this.viewModel,s=await t.reverseConvert(e);return this._goToEnabled&&s&&i.goToLocation(s).catch((e=>{o.getLogger(this).warn(e),this._showPopup(this.messages?.locationOffBasemap)})),s}_setInputFormat(e){const t=e.target,o=x(t[t.options.selectedIndex]);null!=o&&(this._conversionFormat=o)}_setPreviewConversion(){const e=this._findSettingsFormat(),t=this.viewModel;if(e){const o=this.conversions.find((t=>t.format===e));this._previewConversion=new l({format:e,position:{location:this.currentLocation,coordinate:o?.position?.coordinate}}),this._previewConversion.position?.coordinate||t.previewConversion(this._previewConversion)}}_setSettingsFormat(e){const t=e.target,o=x(t[t.options.selectedIndex]);null!=o&&(this._settingsFormat=o,this._setPreviewConversion())}_showClipboardPopup(){this._clipboardPopupVisible?clearTimeout(this._clipboardPopupTimeoutId):this._clipboardPopupVisible=!0,this.scheduleRender(),this._popupTimeoutId=setTimeout((()=>{this._popupTimeoutId=void 0,this._hideClipboardPopup()}),w)}_showPopup(e,t=C){this._popupMessage=e,this._popupVisible?clearTimeout(this._popupTimeoutId):this._popupVisible=!0,this.scheduleRender(),this._popupTimeoutId=setTimeout((()=>{this._popupTimeoutId=void 0,this._hidePopup()}),t)}_toggleGoTo(){this._goToEnabled=!this._goToEnabled}_updateCurrentPattern(e){e.stopPropagation();const t=e.target,o=this._findSettingsFormat();o&&(o.currentPattern=t.value)}_renderConversion(e,t){const{messages:o}=this;if(!o)return _("li",null);const{format:i}=e,s=i?.label??"",n=`${this.id}__list-item-${t}`,r=`${s} ${o.conversionOutputSuffix}`,a=0===t,l=a||this._expanded,d=a?this._renderFirstConversion(e):this._renderTools(t,e,n),u=a&&!e.displayCoordinate?o.noLocation:e.displayCoordinate,c=_("div",{"aria-label":u,class:b.coordDisplay,"data-conversion":e,role:"listitem",tabIndex:0,title:u??""},u),h=this._renderOptions(this.formats.filter((e=>e!==i)));return l?_("li",{"aria-label":r,class:b.conversionRow,id:n,key:e,role:"group",tabIndex:0,title:r},_("select",{"aria-controls":n,"aria-label":o.selectFormat,bind:this,class:this.classes(p.select,b.rowSelect),"data-index":t,onchange:this._addConversion,title:o.selectFormat},_("option",{"aria-label":s,selected:!0,title:s},s.toUpperCase()),h),c,d):null}_renderCopyButton(e){const t=this._clipboardPopupVisible&&this._renderClipboardPopup(),{messagesCommon:o}=this;return o?_("li",{"aria-label":o.copy,bind:this,class:this.classes(p.widgetButton,b.rowButton),"data-conversion":e,onclick:this._copyCoordinateOutput,oncopy:this._onCopy,onkeydown:this._copyCoordinateOutput,role:"button",tabIndex:0,title:o.copy},t,_("span",{"aria-hidden":"true",class:u.duplicate})):_("li",null)}_renderFirstConversion(e){const t=this.id,o={[u.down]:!this._expanded,[u.up]:this._expanded},{messages:i,messagesCommon:s,multipleConversions:n,visibleElements:r}=this;if(!s||!i)return _("ul",null);const a="live"===this.mode?i.captureMode:i.liveMode,l=this._expanded?s.collapse:s.expand,d=e.displayCoordinate&&"capture"===this.mode?this._renderCopyButton(e):null,c=n&&r.expandButton&&_("li",{"aria-controls":`${t}__${b.conversionList}`,"aria-label":l,bind:this,class:p.widgetButton,key:"esri-coordinate-conversion__expand-button",onclick:this._toggleExpand,onkeydown:this._toggleExpand,role:"button",tabIndex:0,title:l},_("span",{"aria-hidden":"true",class:this.classes(o)})),h=!n&&r.captureButton&&_("li",{"aria-label":a,bind:this,class:this.classes(p.widgetButton,b.modeToggle),key:"esri-coordinate-conversion__mode-toggle",onclick:this._toggleMode,onkeydown:this._toggleMode,role:"button",tabIndex:0,title:a},_("span",{"aria-hidden":"true",class:u.mapPin}));return _("ul",{class:b.toolDisplay},d,c,h)}_renderInputForm(){const e=this._conversionFormat||this.conversions.at(0).format,t=this.formats.findIndex((t=>t.name===e?.name)),o=this.id,i=`${o}__${b.coordinateInput}`,s=`${o}__${b.coordinateInput}__header`,n=this._renderOptions(this.formats,!0,t),r={[b.rejectInput]:this._badInput},{messages:a,messagesCommon:l,headingLevel:u}=this;return l&&a?_("div",{"aria-labelledby":s,class:b.inputForm,key:"esri-coordinate-conversion__input-form",role:"search"},_("div",{class:b.sectionHeading},_("div",{"aria-label":l.back,bind:this,class:this.classes(p.widgetButton,b.backButton),onclick:this._toggleInputVisibility,onkeydown:this._toggleInputVisibility,role:"button",tabIndex:0,title:l.back},this._renderBackIcon()),_(d,{class:p.heading,id:s,level:u},a.inputCoordTitle)),_("div",{class:b.inputFormGroup},_("select",{"aria-controls":i,"aria-label":a.selectFormat,bind:this,class:this.classes(p.select,b.rowSelect),onchange:this._setInputFormat,title:a.selectFormat},n),_("input",{afterCreate:m,"aria-labelledby":s,"aria-required":"true",bind:this,class:this.classes(b.coordinateInput,p.input,r),"data-format":e,"data-node-ref":"_coordinateInput",id:i,onkeydown:this._processUserInput,placeholder:a.inputCoordTitle,role:"textbox",spellcheck:!1,title:a.inputCoordTitle,type:"text"})),_("div",{class:b.inputFormGroup},_("label",{"aria-label":a.goTo},_("input",{bind:this,checked:this._goToEnabled,onclick:this._toggleGoTo,title:a.goTo,type:"checkbox"}),a.goTo),_("button",{"aria-label":a.convert,bind:this,class:this.classes(b.convertButton,p.button),onclick:this._processUserInput,title:a.convert,type:"button"},_("span",{class:b.convertButtonSpan},a.convert)))):_("div",null)}_renderConversionsView(){const{messages:e}=this;if(!e)return _("div",null);const t=`${this.id}__${b.conversionList}`,o=this._renderPrimaryTools(),i=this._renderOptions(this.formats),s=this.conversions.map(((e,t)=>this._renderConversion(e,t))).toArray(),n=this._expanded?_("div",{class:b.conversionRow},_("select",{"aria-controls":t,"aria-label":e.addConversion,bind:this,class:this.classes(p.select,b.primarySelect),"data-index":-1,onchange:this._addConversion,title:e.addConversion},_("option",{disabled:!0,selected:!0,value:""},e.addConversion),i),o):null,r={[b.expanded]:this._expanded,[b.expandUp]:"expand-up"===this.orientation,[b.expandDown]:"expand-down"===this.orientation};return _("div",{class:this.classes(b.conversionsView,r),key:"esri-coordinate-conversion__main-view"},_("ul",{"aria-expanded":this._expanded?"true":"false",class:b.conversionList,id:t},s),n)}_renderOptions(e,t,o){const i=this.conversions.at(0),s=i.format?.name;return e.map(((e,n)=>{const r=!(t||!i)&&(s===e.name||this.conversions.map((e=>e.format?.name)).includes(e.name));return _("option",{"aria-label":e.label,"data-format":e,disabled:r,key:e.name??"unnamed-format",selected:n===o,value:e.label},e.label.toUpperCase())})).toArray()}_renderPopup(){return _("div",{class:b.popup,role:"alert"},this._popupMessage)}_renderClipboardPopup(){const{messages:e}=this;return e?_("div",{class:this.classes(b.popup,b.clipboardPopup),role:"alert"},e.copySuccessMessage):_("div",null)}_renderPrimaryTools(){const{messages:e,visibleElements:t}=this;if(!e)return _("ul",null);const o="live"===this.mode?e.captureMode:e.liveMode,i=t.inputButton&&_("li",{bind:this,class:p.widgetButton,onclick:this._toggleInputVisibility,onkeydown:this._toggleInputVisibility,role:"button",tabIndex:0,title:e.inputCoordTitle},_("span",{"aria-hidden":"true",class:u.edit})),s=t.captureButton&&_("li",{bind:this,class:this.classes(p.widgetButton,b.modeToggle),onclick:this._toggleMode,onkeydown:this._toggleMode,role:"button",tabIndex:0,title:o},_("span",{"aria-hidden":"true",class:u.mapPin})),n=t.settingsButton&&_("li",{bind:this,class:p.widgetButton,onclick:this._toggleSettingsVisibility,onkeydown:this._toggleSettingsVisibility,role:"button",tabIndex:0,title:e.settingsTitle},_("span",{"aria-hidden":"true",class:u.settings2}));return _("ul",{class:b.toolDisplay},i,s,n)}_renderSettings(){const e=this.id,t=`${e}__${b.patternInput}`,o=`${e}__${b.patternInput}__header`,i=`${e}__${b.previewCoordinate}`,s=this.formats.filter((e=>e.hasDisplayProperties)),n=this._findSettingsFormat(),r=n?s.indexOf(n):-1,a=this._renderOptions(s,!0,r),l=n?.currentPattern,{messages:c,messagesCommon:h,headingLevel:m}=this;return h&&c?_("div",{"aria-labelledby":o,class:b.settings,key:b.settings},_("div",{class:b.sectionHeading},_("div",{bind:this,class:this.classes(p.widgetButton,b.backButton),onclick:this._toggleSettingsVisibility,onkeydown:this._toggleSettingsVisibility,role:"button",tabIndex:0,title:h.back},this._renderBackIcon()),_(d,{class:p.heading,id:o,level:m},c.settingsTitle)),_("div",{class:b.settingsFormGroup},_("label",{for:t},c.changeCoordinateDisplay),_("select",{"aria-label":c.selectFormat,bind:this,class:p.select,onchange:this._setSettingsFormat,title:c.selectFormat},a),_("div",{class:b.settingsFormGroupHorizontal},_("input",{"aria-controls":i,bind:this,class:this.classes(b.patternInput,p.input),id:t,oninput:this._updateCurrentPattern,spellcheck:!1,title:c.changeCoordinateDisplay,type:"text",value:l}),_("div",{"aria-controls":t,bind:this,class:p.widgetButton,onclick:this._setDefaultPattern,onkeydown:this._setDefaultPattern,role:"button",tabIndex:0,title:c.defaultPattern},_("span",{"aria-hidden":"true",class:u.refresh})))),_("div",{class:b.settingsFormGroup},_("label",null,h.preview,_("div",{class:b.previewCoordinate,id:i,tabIndex:0},this._previewConversion?.displayCoordinate)))):_("div",null)}_renderBackIcon(){return _("span",{"aria-hidden":"true",class:v(this.container)?u.rightArrow:u.leftArrows})}_renderTools(e,t,o){const i=t.displayCoordinate&&"capture"===this.mode?this._renderCopyButton(t):null,{messages:s}=this;return s?_("ul",{class:b.toolDisplay,role:"listitem"},i,_("li",{"aria-controls":o,"aria-label":s.removeConversion,bind:this,class:this.classes(p.widgetButton,b.rowButton),"data-index":e,key:`${o}__${p.widgetButton}`,onclick:this._removeConversion,onkeydown:this._removeConversion,role:"button",tabIndex:0,title:s.removeConversion},_("span",{"aria-hidden":"true",class:u.close}))):_("ul",null)}_copyCoordinateOutput(e){const t=e.target;if(!("createTextRange"in document.body)){const e=window.getSelection(),o=document.createRange();o.selectNodeContents(t),e?.removeAllRanges(),e?.addRange(o)}document.execCommand("copy")}_removeConversion(e){const t=I(e.currentTarget);null!=t&&this.conversions.removeAt(t)}_setDefaultPattern(e){e.stopPropagation();const t=this._findSettingsFormat();t&&(t.currentPattern=t.defaultPattern)}_toggleExpand(){this._expanded=!this._expanded}_toggleInputVisibility(){this._inputVisible=!this._inputVisible,this._popupVisible&&this._hidePopup(),this._inputVisible?this.viewModel.pause():this.viewModel.resume()}_toggleMode(){this.mode="live"===this.mode?"capture":"live"}_toggleSettingsVisibility(){this._settingsVisible=!this._settingsVisible,this._popupVisible&&this._hidePopup(),this._settingsVisible?(this._setPreviewConversion(),this.viewModel.pause()):this.viewModel.resume()}};function I(e){return e["data-index"]}function x(e){return e["data-format"]}function T(e){return e["data-conversion"]}e([i()],f.prototype,"conversions",null),e([i()],f.prototype,"currentLocation",null),e([i()],f.prototype,"formats",null),e([i()],f.prototype,"goToOverride",null),e([i()],f.prototype,"headingLevel",void 0),e([i()],f.prototype,"label",null),e([i(),h("esri/widgets/CoordinateConversion/t9n/CoordinateConversion")],f.prototype,"messages",void 0),e([i(),h("esri/t9n/common")],f.prototype,"messagesCommon",void 0),e([i()],f.prototype,"mode",null),e([i()],f.prototype,"orientation",void 0),e([i()],f.prototype,"multipleConversions",null),e([i()],f.prototype,"locationSymbol",null),e([i()],f.prototype,"storageEnabled",null),e([i()],f.prototype,"storageType",null),e([i()],f.prototype,"view",null),e([i({type:a})],f.prototype,"viewModel",void 0),e([i()],f.prototype,"visibleElements",void 0),e([s("visibleElements")],f.prototype,"castVisibleElements",null),e([c()],f.prototype,"_copyCoordinateOutput",null),e([c()],f.prototype,"_removeConversion",null),e([c()],f.prototype,"_setDefaultPattern",null),e([c()],f.prototype,"_toggleExpand",null),e([c()],f.prototype,"_toggleInputVisibility",null),e([c()],f.prototype,"_toggleMode",null),e([c()],f.prototype,"_toggleSettingsVisibility",null),f=e([n("esri.widgets.CoordinateConversion")],f);const P=f;export{P 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.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../chunks/tslib.es6.js";import{property as o}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import{subclass as t}from"../../../core/accessorSupport/decorators/subclass.js";import r from"../../Slider.js";import{SliderWithDropdownViewModel as s}from"./SliderWithDropdownViewModel.js";import{TimezonePicker as i}from"../../support/TimezonePicker.js";import{onResize as n}from"../../support/widgetUtils.js";import{tsx as l}from"../../support/jsxFactory.js";const p="esri-slider-with-dropdown",h={label:"esri-slider__label",box:`${p}__box`,boxDropDownOn:`${p}__box--drop-down-on`,boxDropDownOff:`${p}__box--drop-down-off`};let a=class extends r{constructor(e,o){super(e,o),this.viewModel=new s,this.showDropDown=!0,this._labelWidth=0,this._onLabelAfterCreate=e=>{const o="label-size-observer";this.removeHandles(o),this.addHandles(n(e,(({contentRect:e})=>{this._labelWidth=e.width})),o)},this._getLabelStyles=()=>{if(!this.trackElement)return;const e=this._trackWidth,o=this._labelWidth/2,t=this.getCurrentPosition(),r=t-o,s=t+o;let i=-o;return r<0?i+=-r:s>e&&(i+=e-s),{left:`${i}px`}},this._onTimezoneChange=e=>{this.viewModel.utcOffset=e},this._onTimezonePickerOpen=()=>{this.viewModel.timezonePickerOpen=!0},this._onTimezonePickerClose=()=>{this.viewModel.timezonePickerOpen=!1}}renderThumbLabel(e){const{showDropDown:o,viewModel:t}=this;return l("div",{key:"thumb-label",class:this.classes({[h.box]:!0,[h.label]:!0,[h.boxDropDownOn]:o,[h.boxDropDownOff]:!o}),styles:this._getLabelStyles(),afterCreate:this._onLabelAfterCreate},super.renderThumbLabel(e),o&&l(i,{value:t.utcOffset,open:t.timezonePickerOpen,onChange:this._onTimezoneChange,onOpen:this._onTimezonePickerOpen,onClose:this._onTimezonePickerClose}))}};e([o()],a.prototype,"viewModel",void 0),e([o()],a.prototype,"showDropDown",void 0),e([o()],a.prototype,"_labelWidth",void 0),a=e([t("esri.widgets.Daylight.support.SliderWithDropdown")],a);const d=a;export{d as default};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import{property as o}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import{subclass as t}from"../../../core/accessorSupport/decorators/subclass.js";import r from"../../Slider.js";import{SliderWithDropdownViewModel as s}from"./SliderWithDropdownViewModel.js";import{TimezonePicker as i}from"../../support/TimezonePicker.js";import{onResize as n}from"../../support/widgetUtils.js";import{tsx as l}from"../../support/jsxFactory.js";const p="esri-slider-with-dropdown",h={label:"esri-slider__label",box:`${p}__box`,boxDropDownOn:`${p}__box--drop-down-on`,boxDropDownOff:`${p}__box--drop-down-off`};let a=class extends r{constructor(e,o){super(e,o),this.viewModel=new s,this.showDropDown=!0,this._labelWidth=0,this._onLabelAfterCreate=e=>{const o="label-size-observer";this.removeHandles(o),this.addHandles(n(e,(({contentRect:e})=>{this._labelWidth=e.width})),o)},this._getLabelStyles=()=>{if(!this.trackElement)return;const e=this._trackWidth,o=this._labelWidth/2,t=this.getCurrentPosition(),r=t-o,s=t+o;let i=-o;return r<0?i+=-r:s>e&&(i+=e-s),{left:`${i}px`}},this._onTimezoneChange=e=>{this.viewModel.utcOffset=e},this._onTimezonePickerOpen=()=>{this.viewModel.timezonePickerOpen=!0},this._onTimezonePickerClose=()=>{this.viewModel.timezonePickerOpen=!1}}renderThumbLabel(e){const{showDropDown:o,viewModel:t}=this;return l("div",{afterCreate:this._onLabelAfterCreate,class:this.classes({[h.box]:!0,[h.label]:!0,[h.boxDropDownOn]:o,[h.boxDropDownOff]:!o}),key:"thumb-label",styles:this._getLabelStyles()},super.renderThumbLabel(e),o?l(i,{open:t.timezonePickerOpen,value:t.utcOffset,onChange:this._onTimezoneChange,onClose:this._onTimezonePickerClose,onOpen:this._onTimezonePickerOpen}):null)}};e([o()],a.prototype,"viewModel",void 0),e([o()],a.prototype,"showDropDown",void 0),e([o()],a.prototype,"_labelWidth",void 0),a=e([t("esri.widgets.Daylight.support.SliderWithDropdown")],a);const d=a;export{d 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.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../chunks/tslib.es6.js";import t from"../core/Logger.js";import{watch as i,syncAndInitial as s,when as o,sync as l}from"../core/reactiveUtils.js";import{property as r}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as a}from"../core/accessorSupport/decorators/subclass.js";import n from"./Widget.js";import{css as d}from"./Daylight/css.js";import c from"./Daylight/DaylightViewModel.js";import p from"./Daylight/VisibleElements.js";import{orderedSeasons as h}from"./Daylight/support/daylightUtils.js";import m from"./Daylight/support/SliderWithDropdown.js";import{loadCalciteComponents as g}from"./support/componentsUtils.js";import u from"./support/DatePicker.js";import{globalCss as y}from"./support/globalCss.js";import{Heading as b}from"./support/Heading.js";import"./support/widgetUtils.js";import{messageBundle as v}from"./support/decorators/messageBundle.js";import{tsx as w,tsxFragment as S}from"./support/jsxFactory.js";const k=/(.*)\s(.*)/,_="date",M="esri.widgets.Daylight";let C=class extends n{constructor(e,t){super(e,t),this.headingLevel=3,this.iconClass=d.widgetIcon,this.icon=null,this.viewModel=new c,this.visibleElements=new p,this.dateOrSeason=_,this._timeSlider=new m({viewModel:this.viewModel.timeSliderViewModel,steps:this.timeSliderSteps,labelInputsEnabled:!1,visibleElements:{labels:!0},tickConfigs:[{mode:"position",values:[0,360,720,1080,1439],labelsVisible:!0,tickCreatedFunction:this._onPrimaryTickCreated.bind(this)},{mode:"position",values:[120,240,480,600,840,960,1200,1320],tickCreatedFunction:this._onSecondaryTickCreated.bind(this)}]}),this._datePicker=new u({viewModel:this.viewModel.datePickerViewModel,commitOnMonthChange:!0}),this._onPlayDayClick=()=>{this.viewModel.toggleDayPlaying()},this._onYearPlayClick=()=>{this.viewModel.toggleYearPlaying()},this._onSeasonChange=e=>{this.viewModel.currentSeason=e.target.value},this._onSunLightingCheckboxChange=()=>{this.viewModel.toggleSunLightingEnabled()},this._onShadowCheckboxChange=()=>{this.viewModel.toggleDirectShadowsEnabled()}}get label(){return this.messages?.title??""}set label(e){this._overrideIfSome("label",e)}get playSpeedMultiplier(){return this.viewModel.playSpeedMultiplier}set playSpeedMultiplier(e){this.viewModel.playSpeedMultiplier=e}get timeSliderSteps(){return this._timeSlider?.steps??5}set timeSliderSteps(e){this._timeSlider.steps=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}get test(){return{datePicker:this._datePicker}}get _useAmPm(){const e=this._timeSlider.viewModel.getLabelForValue(0,"tick");return null!=e&&k.test(e)}postInitialize(){this.viewModel.isSupported&&this.addHandles([i((()=>this.viewModel.datePickerViewModel),(e=>this._datePicker.viewModel=e),s),i((()=>this.viewModel.timeSliderViewModel),(e=>this._timeSlider.viewModel=e),s),i((()=>this.visibleElements?.timezone),(e=>this._timeSlider.showDropDown=e),s),i((()=>!this.viewModel.sunLightingEnabled),(e=>{this._datePicker.disabled=e,this._timeSlider.disabled=e}),s),o((()=>!this.visible),(()=>this._datePicker?.close(!1)),l)])}destroy(){this._datePicker.destroy(),this._timeSlider.destroy()}render(){const{messages:e,viewModel:t,visibleElements:i}=this,s=t.isSupported;return w("div",{class:this.classes(d.base,y.widget)},s?w(S,null,i.header&&w(b,{level:this.headingLevel},e.title),this._renderTimeOptions(),i.datePicker&&this._renderDateOrSeason(),i.sunLightingToggle&&this._renderSunLightingToggle(),i.shadowsToggle&&this._renderShadowsToggle()):w("div",{key:"unsupported",class:d.panelError},w("p",null,e.unsupported)))}loadDependencies(){return g({button:()=>import("@esri/calcite-components/dist/components/calcite-button.js"),checkbox:()=>import("@esri/calcite-components/dist/components/calcite-checkbox.js"),label:()=>import("@esri/calcite-components/dist/components/calcite-label.js"),option:()=>import("@esri/calcite-components/dist/components/calcite-option.js"),select:()=>import("@esri/calcite-components/dist/components/calcite-select.js")})}_renderTimeOptions(){const{viewModel:e,visibleElements:t,messages:i}=this,{directShadowsEnabled:s,dayPlaying:o}=e,l=!e.sunLightingEnabled;return w("div",{class:this.classes(d.dayContainer,{[d.sliderShadowOn]:s,[d.sliderShadowOff]:!s,[d.sliderDateOn]:t.datePicker,[d.sliderDateOff]:!t.datePicker,[d.sliderAmPmOn]:this._useAmPm,[d.containerDisabled]:l}),key:"daylight-time-options"},this._timeSlider.render(),t.playButtons&&this._renderPlayPauseButton({playing:o,disabled:l,label:i.playDay,onClick:this._onPlayDayClick}))}_renderDateOptions(){const{viewModel:e,visibleElements:t,messages:i}=this,{yearPlaying:s}=e,o=!e.sunLightingEnabled;return w("div",{key:"daylight-date",class:this.classes(d.dateContainer,o&&d.containerDisabled)},this._datePicker.render(),t.playButtons&&this._renderPlayPauseButton({playing:s,disabled:o,label:i.playYear,onClick:this._onYearPlayClick}))}_renderPlayPauseButton({playing:e,disabled:t,label:i,onClick:s}){return w("calcite-button",{appearance:"solid",class:d.playPauseButton,disabled:t,iconStart:e?"pause-f":"play-f",label:i,round:!0,title:i,type:"button",onclick:s})}_renderSeasonSelect(){const{messages:e,viewModel:t}=this,i=!t.sunLightingEnabled;return w("calcite-select",{class:this.classes(d.seasonPicker),disabled:i,label:e.season,onCalciteSelectChange:this._onSeasonChange},h.map((i=>w("calcite-option",{value:i,selected:t.currentSeason===i},e[i]))))}_renderDateOrSeason(){return"date"===this.dateOrSeason?this._renderDateOptions():this._renderSeasonSelect()}_renderSunLightingToggle(){const e=this.messages?.sunLightingToggle;return w("calcite-label",{key:"date-time-toggle",layout:"inline",title:e?.tooltip,scale:"s"},w("calcite-checkbox",{class:d.sunLightingCheckbox,checked:this.viewModel.sunLightingEnabled,onCalciteCheckboxChange:this._onSunLightingCheckboxChange}),e?.label)}_renderShadowsToggle(){const e=this.messages.shadowsToggle;return w("calcite-label",{key:"shadow-toggle",layout:"inline",title:e?.tooltip,scale:"s"},w("calcite-checkbox",{class:d.shadowsCheckbox,checked:this.viewModel.directShadowsEnabled,onCalciteCheckboxChange:this._onShadowCheckboxChange}),e.label)}_onPrimaryTickCreated(e,t,i){t.classList.add(...P,y.primaryTick),i.classList.add(...P,y.primaryTickLabel),i.onclick=t.onclick=this._makeGoToTime(e);const s=i.textContent,o=null!=s&&k.exec(s);o&&(i.innerHTML=`${o[1]}<br><div class=${y.primaryTickAmPm}>${o[2]}</div>`)}_onSecondaryTickCreated(e,t){t.classList.add(...P,y.secondaryTick),t.onclick=this._makeGoToTime(e)}_makeGoToTime(e){return()=>{this.viewModel.timeSliderPosition=e}}};e([r(),v("esri/widgets/Daylight/t9n/Daylight")],C.prototype,"messages",void 0),e([r(),v("esri/widgets/support/t9n/timezone")],C.prototype,"timezoneMessages",void 0),e([r()],C.prototype,"headingLevel",void 0),e([r()],C.prototype,"iconClass",void 0),e([r()],C.prototype,"icon",void 0),e([r()],C.prototype,"label",null),e([r()],C.prototype,"playSpeedMultiplier",null),e([r()],C.prototype,"timeSliderSteps",null),e([r()],C.prototype,"view",null),e([r({type:c})],C.prototype,"viewModel",void 0),e([r({type:p,nonNullable:!0})],C.prototype,"visibleElements",void 0),e([r({cast:e=>"season"===e||"date"===e?e:(t.getLogger(M).warn(`"${e}" is not a valid option. Acceptable values are only "date" or "season". Defaulting to "${_}".`),_)})],C.prototype,"dateOrSeason",void 0),e([r()],C.prototype,"_timeSlider",void 0),e([r()],C.prototype,"_useAmPm",null),e([r()],C.prototype,"_datePicker",void 0),C=e([a(M)],C);const P=["esri-interactive","esri-widget__anchor"],D=C;export{D as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import t from"../core/Logger.js";import{watch as i,syncAndInitial as s,when as o,sync as l}from"../core/reactiveUtils.js";import{property as r}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as a}from"../core/accessorSupport/decorators/subclass.js";import n from"./Widget.js";import{css as d}from"./Daylight/css.js";import c from"./Daylight/DaylightViewModel.js";import p from"./Daylight/VisibleElements.js";import{orderedSeasons as h}from"./Daylight/support/daylightUtils.js";import m from"./Daylight/support/SliderWithDropdown.js";import{loadCalciteComponents as g}from"./support/componentsUtils.js";import u from"./support/DatePicker.js";import{globalCss as y}from"./support/globalCss.js";import{Heading as b}from"./support/Heading.js";import"./support/widgetUtils.js";import{messageBundle as v}from"./support/decorators/messageBundle.js";import{tsx as w,tsxFragment as S}from"./support/jsxFactory.js";const k=/(.*)\s(.*)/,_="date",M="esri.widgets.Daylight";let C=class extends n{constructor(e,t){super(e,t),this.headingLevel=3,this.iconClass=d.widgetIcon,this.icon=null,this.viewModel=new c,this.visibleElements=new p,this.dateOrSeason=_,this._timeSlider=new m({viewModel:this.viewModel.timeSliderViewModel,steps:this.timeSliderSteps,labelInputsEnabled:!1,visibleElements:{labels:!0},tickConfigs:[{mode:"position",values:[0,360,720,1080,1439],labelsVisible:!0,tickCreatedFunction:this._onPrimaryTickCreated.bind(this)},{mode:"position",values:[120,240,480,600,840,960,1200,1320],tickCreatedFunction:this._onSecondaryTickCreated.bind(this)}]}),this._datePicker=new u({viewModel:this.viewModel.datePickerViewModel,commitOnMonthChange:!0}),this._onPlayDayClick=()=>{this.viewModel.toggleDayPlaying()},this._onYearPlayClick=()=>{this.viewModel.toggleYearPlaying()},this._onSeasonChange=e=>{this.viewModel.currentSeason=e.target.value},this._onSunLightingCheckboxChange=()=>{this.viewModel.toggleSunLightingEnabled()},this._onShadowCheckboxChange=()=>{this.viewModel.toggleDirectShadowsEnabled()}}get label(){return this.messages?.title??""}set label(e){this._overrideIfSome("label",e)}get playSpeedMultiplier(){return this.viewModel.playSpeedMultiplier}set playSpeedMultiplier(e){this.viewModel.playSpeedMultiplier=e}get timeSliderSteps(){return this._timeSlider?.steps??5}set timeSliderSteps(e){this._timeSlider.steps=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}get test(){return{datePicker:this._datePicker}}get _useAmPm(){const e=this._timeSlider.viewModel.getLabelForValue(0,"tick");return null!=e&&k.test(e)}postInitialize(){this.viewModel.isSupported&&this.addHandles([i((()=>this.viewModel.datePickerViewModel),(e=>this._datePicker.viewModel=e),s),i((()=>this.viewModel.timeSliderViewModel),(e=>this._timeSlider.viewModel=e),s),i((()=>this.visibleElements?.timezone),(e=>this._timeSlider.showDropDown=e),s),i((()=>!this.viewModel.sunLightingEnabled),(e=>{this._datePicker.disabled=e,this._timeSlider.disabled=e}),s),o((()=>!this.visible),(()=>this._datePicker?.close(!1)),l)])}destroy(){this._datePicker.destroy(),this._timeSlider.destroy()}render(){const{messages:e,viewModel:t,visibleElements:i}=this,s=t.isSupported;return w("div",{class:this.classes(d.base,y.widget)},s?w(S,null,i.header?w(b,{level:this.headingLevel},e.title):null,this._renderTimeOptions(),i.datePicker?this._renderDateOrSeason():null,i.sunLightingToggle?this._renderSunLightingToggle():null,i.shadowsToggle?this._renderShadowsToggle():null):w("div",{class:d.panelError,key:"unsupported"},w("p",null,e.unsupported)))}loadDependencies(){return g({button:()=>import("@esri/calcite-components/dist/components/calcite-button.js"),checkbox:()=>import("@esri/calcite-components/dist/components/calcite-checkbox.js"),label:()=>import("@esri/calcite-components/dist/components/calcite-label.js"),option:()=>import("@esri/calcite-components/dist/components/calcite-option.js"),select:()=>import("@esri/calcite-components/dist/components/calcite-select.js")})}_renderTimeOptions(){const{viewModel:e,visibleElements:t,messages:i}=this,{directShadowsEnabled:s,dayPlaying:o}=e,l=!e.sunLightingEnabled;return w("div",{class:this.classes(d.dayContainer,{[d.sliderShadowOn]:s,[d.sliderShadowOff]:!s,[d.sliderDateOn]:t.datePicker,[d.sliderDateOff]:!t.datePicker,[d.sliderAmPmOn]:this._useAmPm,[d.containerDisabled]:l}),key:"daylight-time-options"},this._timeSlider.render(),t.playButtons?this._renderPlayPauseButton({playing:o,disabled:l,label:i.playDay,onClick:this._onPlayDayClick}):null)}_renderDateOptions(){const{viewModel:e,visibleElements:t,messages:i}=this,{yearPlaying:s}=e,o=!e.sunLightingEnabled;return w("div",{class:this.classes(d.dateContainer,o&&d.containerDisabled),key:"daylight-date"},this._datePicker.render(),t.playButtons?this._renderPlayPauseButton({playing:s,disabled:o,label:i.playYear,onClick:this._onYearPlayClick}):null)}_renderPlayPauseButton({playing:e,disabled:t,label:i,onClick:s}){return w("calcite-button",{appearance:"solid",class:d.playPauseButton,disabled:t,iconStart:e?"pause-f":"play-f",label:i,onclick:s,round:!0,title:i,type:"button"})}_renderSeasonSelect(){const{messages:e,viewModel:t}=this,i=!t.sunLightingEnabled;return w("calcite-select",{class:this.classes(d.seasonPicker),disabled:i,label:e.season,onCalciteSelectChange:this._onSeasonChange},h.map((i=>w("calcite-option",{selected:t.currentSeason===i,value:i},e[i]))))}_renderDateOrSeason(){return"date"===this.dateOrSeason?this._renderDateOptions():this._renderSeasonSelect()}_renderSunLightingToggle(){const e=this.messages?.sunLightingToggle;return w("calcite-label",{key:"date-time-toggle",layout:"inline",scale:"s",title:e?.tooltip},w("calcite-checkbox",{checked:this.viewModel.sunLightingEnabled,class:d.sunLightingCheckbox,onCalciteCheckboxChange:this._onSunLightingCheckboxChange}),e?.label)}_renderShadowsToggle(){const e=this.messages.shadowsToggle;return w("calcite-label",{key:"shadow-toggle",layout:"inline",scale:"s",title:e?.tooltip},w("calcite-checkbox",{checked:this.viewModel.directShadowsEnabled,class:d.shadowsCheckbox,onCalciteCheckboxChange:this._onShadowCheckboxChange}),e.label)}_onPrimaryTickCreated(e,t,i){t.classList.add(...P,y.primaryTick),i.classList.add(...P,y.primaryTickLabel),i.onclick=t.onclick=this._makeGoToTime(e);const s=i.textContent,o=null!=s&&k.exec(s);o&&(i.innerHTML=`${o[1]}<br><div class=${y.primaryTickAmPm}>${o[2]}</div>`)}_onSecondaryTickCreated(e,t){t.classList.add(...P,y.secondaryTick),t.onclick=this._makeGoToTime(e)}_makeGoToTime(e){return()=>{this.viewModel.timeSliderPosition=e}}};e([r(),v("esri/widgets/Daylight/t9n/Daylight")],C.prototype,"messages",void 0),e([r(),v("esri/widgets/support/t9n/timezone")],C.prototype,"timezoneMessages",void 0),e([r()],C.prototype,"headingLevel",void 0),e([r()],C.prototype,"iconClass",void 0),e([r()],C.prototype,"icon",void 0),e([r()],C.prototype,"label",null),e([r()],C.prototype,"playSpeedMultiplier",null),e([r()],C.prototype,"timeSliderSteps",null),e([r()],C.prototype,"view",null),e([r({type:c})],C.prototype,"viewModel",void 0),e([r({type:p,nonNullable:!0})],C.prototype,"visibleElements",void 0),e([r({cast:e=>"season"===e||"date"===e?e:(t.getLogger(M).warn(`"${e}" is not a valid option. Acceptable values are only "date" or "season". Defaulting to "${_}".`),_)})],C.prototype,"dateOrSeason",void 0),e([r()],C.prototype,"_timeSlider",void 0),e([r()],C.prototype,"_useAmPm",null),e([r()],C.prototype,"_datePicker",void 0),C=e([a(M)],C);const P=["esri-interactive","esri-widget__anchor"],D=C;export{D 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.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../chunks/tslib.es6.js";import{ignoreAbortErrors as t}from"../core/promiseUtils.js";import{property as s}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as i}from"../core/accessorSupport/decorators/subclass.js";import o from"./Widget.js";import r from"./DirectLineMeasurement3D/DirectLineMeasurement3DViewModel.js";import{globalCss as n}from"./support/globalCss.js";import{legacyIcon as l}from"./support/legacyIcon.js";import{MeasurementWidgetContent as a}from"./support/MeasurementWidgetContent.js";import"./support/widgetUtils.js";import{messageBundle as p}from"./support/decorators/messageBundle.js";import{tsx as u}from"./support/jsxFactory.js";const m="esri-direct-line-measurement-3d",c={base:m,newMeasurementButton:`${m}__clear-button`,widgetIcon:l.measureLine};let d=class extends o{constructor(e,t){super(e,t),this.iconClass=c.widgetIcon,this.icon=null,this.messages=null,this.messagesCommon=null,this.viewModel=new r}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}get visible(){return this.viewModel.visible}set visible(e){this.viewModel.visible=e}get active(){return this.viewModel.active}get analysis(){return this.viewModel.analysis}set analysis(e){this.viewModel.analysis=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get unitOptions(){return this.viewModel.unitOptions}set unitOptions(e){this.viewModel.unitOptions=e}get unit(){return this.viewModel.unit}set unit(e){this.viewModel.unit=e}render(){const{messages:e,messagesCommon:s,unit:i,unitOptions:o,viewModel:r}=this,{active:l,measurement:p,state:m,supported:d}=r;return u("div",{"aria-label":this.messages.widgetLabel,key:this,class:this.classes(c.base,n.widget,n.panel),role:"presentation"},this.visible?u(a,{active:l,measurementItems:[{key:"direct",title:e.direct,value:v(p?.directDistance)},{key:"horizontal",title:e.horizontal,value:v(p?.horizontalDistance)},{key:"vertical",title:e.vertical,value:v(p?.verticalDistance)}],messages:{...e,notApplicable:s?.notApplicable},newMeasurementButtonClass:c.newMeasurementButton,onNewMeasurementClick:()=>{t(this.viewModel.start())},onUnitChange:e=>{this.unit=e},state:m,supported:d,unit:i,unitOptions:o}):null)}};function v(e){return"available"===e?.state?e.text:null}e([s()],d.prototype,"view",null),e([s()],d.prototype,"visible",null),e([s()],d.prototype,"active",null),e([s({constructOnly:!0,nonNullable:!0})],d.prototype,"analysis",null),e([s()],d.prototype,"iconClass",void 0),e([s()],d.prototype,"icon",void 0),e([s()],d.prototype,"label",null),e([s(),p("esri/widgets/DirectLineMeasurement3D/t9n/DirectLineMeasurement3D")],d.prototype,"messages",void 0),e([s(),p("esri/t9n/common")],d.prototype,"messagesCommon",void 0),e([s()],d.prototype,"uiStrings",void 0),e([s({type:r})],d.prototype,"viewModel",void 0),e([s()],d.prototype,"unitOptions",null),e([s()],d.prototype,"unit",null),d=e([i("esri.widgets.DirectLineMeasurement3D")],d);const w=d;export{w as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import{ignoreAbortErrors as t}from"../core/promiseUtils.js";import{property as s}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as i}from"../core/accessorSupport/decorators/subclass.js";import o from"./Widget.js";import r from"./DirectLineMeasurement3D/DirectLineMeasurement3DViewModel.js";import{globalCss as n}from"./support/globalCss.js";import{legacyIcon as l}from"./support/legacyIcon.js";import{MeasurementWidgetContent as a}from"./support/MeasurementWidgetContent.js";import"./support/widgetUtils.js";import{messageBundle as p}from"./support/decorators/messageBundle.js";import{tsx as u}from"./support/jsxFactory.js";const m="esri-direct-line-measurement-3d",c={base:m,newMeasurementButton:`${m}__clear-button`,widgetIcon:l.measureLine};let d=class extends o{constructor(e,t){super(e,t),this.iconClass=c.widgetIcon,this.icon=null,this.messages=null,this.messagesCommon=null,this.viewModel=new r}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}get visible(){return this.viewModel.visible}set visible(e){this.viewModel.visible=e}get active(){return this.viewModel.active}get analysis(){return this.viewModel.analysis}set analysis(e){this.viewModel.analysis=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get unitOptions(){return this.viewModel.unitOptions}set unitOptions(e){this.viewModel.unitOptions=e}get unit(){return this.viewModel.unit}set unit(e){this.viewModel.unit=e}render(){const{messages:e,messagesCommon:s,unit:i,unitOptions:o,viewModel:r}=this,{active:l,measurement:p,state:m,supported:d}=r;return u("div",{"aria-label":this.messages.widgetLabel,class:this.classes(c.base,n.widget,n.panel),key:this,role:"presentation"},this.visible?u(a,{active:l,measurementItems:[{key:"direct",title:e.direct,value:v(p?.directDistance)},{key:"horizontal",title:e.horizontal,value:v(p?.horizontalDistance)},{key:"vertical",title:e.vertical,value:v(p?.verticalDistance)}],messages:{...e,notApplicable:s?.notApplicable},newMeasurementButtonClass:c.newMeasurementButton,state:m,supported:d,unit:i,unitOptions:o,onNewMeasurementClick:()=>{t(this.viewModel.start())},onUnitChange:e=>{this.unit=e}}):null)}};function v(e){return"available"===e?.state?e.text:null}e([s()],d.prototype,"view",null),e([s()],d.prototype,"visible",null),e([s()],d.prototype,"active",null),e([s({constructOnly:!0,nonNullable:!0})],d.prototype,"analysis",null),e([s()],d.prototype,"iconClass",void 0),e([s()],d.prototype,"icon",void 0),e([s()],d.prototype,"label",null),e([s(),p("esri/widgets/DirectLineMeasurement3D/t9n/DirectLineMeasurement3D")],d.prototype,"messages",void 0),e([s(),p("esri/t9n/common")],d.prototype,"messagesCommon",void 0),e([s()],d.prototype,"uiStrings",void 0),e([s({type:r})],d.prototype,"viewModel",void 0),e([s()],d.prototype,"unitOptions",null),e([s()],d.prototype,"unit",null),d=e([i("esri.widgets.DirectLineMeasurement3D")],d);const w=d;export{w 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.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../chunks/tslib.es6.js";import{eventKey as e}from"../core/events.js";import{watch as i}from"../core/reactiveUtils.js";import{property as o}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as s}from"../core/accessorSupport/decorators/subclass.js";import n from"./Widget.js";import{canShowNorth as r}from"./Compass/utils.js";import{directionalPadAngles as a,directionalPadArrows as l}from"./DirectionalPad/constants.js";import{css as c}from"./DirectionalPad/css.js";import d from"./DirectionalPad/DirectionalPadViewModel.js";import{findElementCenter as p}from"./DirectionalPad/utils.js";import u from"./DirectionalPad/VisibleElements.js";import{loadCalciteComponents as h}from"./support/componentsUtils.js";import{globalCss as m}from"./support/globalCss.js";import{isActivationKey as v}from"./support/widgetUtils.js";import{messageBundle as b}from"./support/decorators/messageBundle.js";import{tsx as _}from"./support/jsxFactory.js";const g="esri.widgets.DirectionalPad";let w=class extends n{constructor(t,i){super(t,i),this._buttonsContainer=null,this._buttons={},this.iconClass=c.widgetIcon,this.icon=null,this.messages=null,this.visibleElements=new u,this.viewModel=new d,this.visualScale="s",this._rotateIcon=t=>({"--rotation":`rotate(${t}deg)`}),this._afterButtonContainerCreate=t=>{this._buttonsContainer=t,this._buttonsContainer.addEventListener("contextmenu",this._onContextMenu,{capture:!0})},this._afterButtonContainerRemoved=()=>{this._buttonsContainer?.removeEventListener("contextmenu",this._onContextMenu,{capture:!0}),this._buttonsContainer=null},this._afterButtonCreate=(t,e)=>{this._buttons[t]=e},this._afterButtonRemoved=t=>{this._buttons[t]=void 0},this._onContextMenu=t=>t.preventDefault(),this._onButtonPointerDown=t=>{if(null===this._buttonsContainer)return;const e=p(this._buttonsContainer);this.viewModel.beginFollowingPointer(t,e)},this._onKeyDown=(t,i)=>{const o=e(i);v(o)&&this.viewModel.moveOnce(t)},this._onSliderInput=({target:t})=>{"number"==typeof t.value&&(this.viewModel.rotation=t.value)},this._onRotationReset=()=>{this.viewModel.rotation=0}}loadDependencies(){return h({action:()=>import("@esri/calcite-components/dist/components/calcite-action.js"),"action-group":()=>import("@esri/calcite-components/dist/components/calcite-action-group.js"),"action-pad":()=>import("@esri/calcite-components/dist/components/calcite-action-pad.js"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js"),slider:()=>import("@esri/calcite-components/dist/components/calcite-slider.js")})}initialize(){this.addHandles(i((()=>this.viewModel.angle),(()=>{const t=this._buttonsContainer?.contains(document.activeElement);t&&(null==this.viewModel.angle?this.container?.focus():this._buttons[this.viewModel.angle]?.setFocus())})))}get disabled(){return this.viewModel.disabled}set disabled(t){this.viewModel.disabled=t}get label(){return this.messages?.widgetLabel??""}set label(t){this._overrideIfSome("label",t)}get view(){return this.viewModel.view}set view(t){this.viewModel.view=t}get speed(){return this.viewModel.speed}set speed(t){this.viewModel.speed=t}get _rotationEnabled(){return!this.view?.ready||this.view.constraints.rotationEnabled}render(){const{label:t,disabled:e,viewModel:i}=this,o=this.classes(c.base,m.widget,e?m.disabled:null);return _("div",{"aria-label":t,class:o,tabIndex:-1},i.supported?this._renderContent():this._renderUnsupportedMessage)}_renderUnsupportedMessage(){return _("section",{key:"unsupported",class:c.error},_("p",null,this.messages.unsupported))}_renderContent(){return[this.visibleElements.directionalButtons?this._renderDirectionalButtons():void 0,this.visibleElements.rotationSlider?this._renderRotation():void 0]}_renderDirectionalButtons(){return _("calcite-action-pad",{layout:"grid",expandDisabled:!0,key:"directional-buttons-container"},_("calcite-action-group",{class:c.buttonsContainer,afterCreate:this._afterButtonContainerCreate,afterRemoved:this._afterButtonContainerRemoved},a.slice(0,4).map((t=>this._renderButton(t))),this._renderCompass(),a.slice(4).map((t=>this._renderButton(t)))))}_renderButton(t){const{label:e,iconName:i,iconRotation:o=0}=l[t];return _("calcite-action",{text:this.messages[e],key:t,scale:this.visualScale,alignment:"center",class:c.button,disabled:this.disabled,active:this.viewModel.angle===t,afterCreate:this._afterButtonCreate.bind(this,t),afterRemoved:this._afterButtonRemoved.bind(this,t),styles:this._rotateIcon(o),onpointerdown:this._onButtonPointerDown,onkeydown:this._onKeyDown.bind(void 0,t),"data-angle":t.toString()},_("calcite-icon",{scale:this.visualScale,icon:i}))}_renderCompass(){const t=this.disabled||r(this.view)?"compass-needle":"arrow-up",e=0===this.viewModel.rotation;return _("calcite-action",{text:this.messages.resetHeading,scale:this.visualScale,key:"compass",alignment:"center",disabled:this.disabled||!this._rotationEnabled||e,class:c.compassButton,onclick:this._onRotationReset,styles:this._rotateIcon(this.viewModel.rotation)},!e&&_("calcite-icon",{scale:this.visualScale,icon:t}))}_renderRotation(){return _("calcite-action-pad",{layout:"horizontal",expandDisabled:!0,key:"slider-container"},_("calcite-action-group",{class:c.rotationContainer},this.visibleElements.rotationResetButton&&this._renderRotationResetButton(),this._renderRotationSlider()))}_renderRotationResetButton(){return _("calcite-action",{text:this.messages.resetHeading,scale:this.visualScale,alignment:"center",class:c.rotationReset,disabled:this.disabled||!this._rotationEnabled,onclick:this._onRotationReset},_("calcite-icon",{scale:this.visualScale,icon:"rotate",flipRtl:!0}))}_renderRotationSlider(){return _("div",{class:c.rotationSliderContainer},_("calcite-slider",{min:0,max:360,labelHandles:!0,value:Math.round(this.viewModel.rotation),disabled:this.disabled||!this._rotationEnabled,required:!0,scale:this.visualScale,"aria-label":this.messages.heading,onCalciteSliderInput:this._onSliderInput}))}};t([o()],w.prototype,"_buttonsContainer",void 0),t([o()],w.prototype,"_buttons",void 0),t([o()],w.prototype,"disabled",null),t([o()],w.prototype,"iconClass",void 0),t([o()],w.prototype,"icon",void 0),t([o()],w.prototype,"label",null),t([o(),b("esri/widgets/DirectionalPad/t9n/DirectionalPad")],w.prototype,"messages",void 0),t([o({type:u,nonNullable:!0})],w.prototype,"visibleElements",void 0),t([o()],w.prototype,"view",null),t([o()],w.prototype,"viewModel",void 0),t([o()],w.prototype,"visualScale",void 0),t([o()],w.prototype,"speed",null),t([o({readOnly:!0})],w.prototype,"_rotationEnabled",null),w=t([s(g)],w);const f=w;export{f as default};
5
+ import{_ as t}from"../chunks/tslib.es6.js";import{eventKey as e}from"../core/events.js";import{watch as i}from"../core/reactiveUtils.js";import{property as o}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as s}from"../core/accessorSupport/decorators/subclass.js";import n from"./Widget.js";import{canShowNorth as r}from"./Compass/utils.js";import{directionalPadAngles as a,directionalPadArrows as l}from"./DirectionalPad/constants.js";import{css as c}from"./DirectionalPad/css.js";import d from"./DirectionalPad/DirectionalPadViewModel.js";import{findElementCenter as p}from"./DirectionalPad/utils.js";import u from"./DirectionalPad/VisibleElements.js";import{loadCalciteComponents as h}from"./support/componentsUtils.js";import{globalCss as m}from"./support/globalCss.js";import{isActivationKey as v}from"./support/widgetUtils.js";import{messageBundle as b}from"./support/decorators/messageBundle.js";import{tsx as _}from"./support/jsxFactory.js";const g="esri.widgets.DirectionalPad";let w=class extends n{constructor(t,i){super(t,i),this._buttonsContainer=null,this._buttons={},this.iconClass=c.widgetIcon,this.icon=null,this.messages=null,this.visibleElements=new u,this.viewModel=new d,this.visualScale="s",this._rotateIcon=t=>({"--rotation":`rotate(${t}deg)`}),this._afterButtonContainerCreate=t=>{this._buttonsContainer=t,this._buttonsContainer.addEventListener("contextmenu",this._onContextMenu,{capture:!0})},this._afterButtonContainerRemoved=()=>{this._buttonsContainer?.removeEventListener("contextmenu",this._onContextMenu,{capture:!0}),this._buttonsContainer=null},this._afterButtonCreate=(t,e)=>{this._buttons[t]=e},this._afterButtonRemoved=t=>{this._buttons[t]=void 0},this._onContextMenu=t=>t.preventDefault(),this._onButtonPointerDown=t=>{if(null===this._buttonsContainer)return;const e=p(this._buttonsContainer);this.viewModel.beginFollowingPointer(t,e)},this._onKeyDown=(t,i)=>{const o=e(i);v(o)&&this.viewModel.moveOnce(t)},this._onSliderInput=({target:t})=>{"number"==typeof t.value&&(this.viewModel.rotation=t.value)},this._onRotationReset=()=>{this.viewModel.rotation=0}}loadDependencies(){return h({action:()=>import("@esri/calcite-components/dist/components/calcite-action.js"),"action-group":()=>import("@esri/calcite-components/dist/components/calcite-action-group.js"),"action-pad":()=>import("@esri/calcite-components/dist/components/calcite-action-pad.js"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js"),slider:()=>import("@esri/calcite-components/dist/components/calcite-slider.js")})}initialize(){this.addHandles(i((()=>this.viewModel.angle),(()=>{const t=this._buttonsContainer?.contains(document.activeElement);t&&(null==this.viewModel.angle?this.container?.focus():this._buttons[this.viewModel.angle]?.setFocus())})))}get disabled(){return this.viewModel.disabled}set disabled(t){this.viewModel.disabled=t}get label(){return this.messages?.widgetLabel??""}set label(t){this._overrideIfSome("label",t)}get view(){return this.viewModel.view}set view(t){this.viewModel.view=t}get speed(){return this.viewModel.speed}set speed(t){this.viewModel.speed=t}get _rotationEnabled(){return!this.view?.ready||this.view.constraints.rotationEnabled}render(){const{label:t,disabled:e,viewModel:i}=this,o=this.classes(c.base,m.widget,e?m.disabled:null);return _("div",{"aria-label":t,class:o,tabIndex:-1},i.supported?this._renderContent():this._renderUnsupportedMessage)}_renderUnsupportedMessage(){return _("section",{class:c.error,key:"unsupported"},_("p",null,this.messages.unsupported))}_renderContent(){return[this.visibleElements.directionalButtons?this._renderDirectionalButtons():void 0,this.visibleElements.rotationSlider?this._renderRotation():void 0]}_renderDirectionalButtons(){return _("calcite-action-pad",{expandDisabled:!0,key:"directional-buttons-container",layout:"grid"},_("calcite-action-group",{afterCreate:this._afterButtonContainerCreate,afterRemoved:this._afterButtonContainerRemoved,class:c.buttonsContainer},a.slice(0,4).map((t=>this._renderButton(t))),this._renderCompass(),a.slice(4).map((t=>this._renderButton(t)))))}_renderButton(t){const{label:e,iconName:i,iconRotation:o=0}=l[t];return _("calcite-action",{active:this.viewModel.angle===t,afterCreate:this._afterButtonCreate.bind(this,t),afterRemoved:this._afterButtonRemoved.bind(this,t),alignment:"center",class:c.button,"data-angle":t.toString(),disabled:this.disabled,key:t,onkeydown:this._onKeyDown.bind(void 0,t),onpointerdown:this._onButtonPointerDown,scale:this.visualScale,styles:this._rotateIcon(o),text:this.messages[e]},_("calcite-icon",{icon:i,scale:this.visualScale}))}_renderCompass(){const t=this.disabled||r(this.view)?"compass-needle":"arrow-up",e=0===this.viewModel.rotation;return _("calcite-action",{alignment:"center",class:c.compassButton,disabled:this.disabled||!this._rotationEnabled||e,key:"compass",onclick:this._onRotationReset,scale:this.visualScale,styles:this._rotateIcon(this.viewModel.rotation),text:this.messages.resetHeading},!e&&_("calcite-icon",{icon:t,scale:this.visualScale}))}_renderRotation(){return _("calcite-action-pad",{expandDisabled:!0,key:"slider-container",layout:"horizontal"},_("calcite-action-group",{class:c.rotationContainer},this.visibleElements.rotationResetButton?this._renderRotationResetButton():null,this._renderRotationSlider()))}_renderRotationResetButton(){return _("calcite-action",{alignment:"center",class:c.rotationReset,disabled:this.disabled||!this._rotationEnabled,onclick:this._onRotationReset,scale:this.visualScale,text:this.messages.resetHeading},_("calcite-icon",{flipRtl:!0,icon:"rotate",scale:this.visualScale}))}_renderRotationSlider(){return _("div",{class:c.rotationSliderContainer},_("calcite-slider",{"aria-label":this.messages.heading,disabled:this.disabled||!this._rotationEnabled,labelHandles:!0,max:360,min:0,required:!0,scale:this.visualScale,value:Math.round(this.viewModel.rotation),onCalciteSliderInput:this._onSliderInput}))}};t([o()],w.prototype,"_buttonsContainer",void 0),t([o()],w.prototype,"_buttons",void 0),t([o()],w.prototype,"disabled",null),t([o()],w.prototype,"iconClass",void 0),t([o()],w.prototype,"icon",void 0),t([o()],w.prototype,"label",null),t([o(),b("esri/widgets/DirectionalPad/t9n/DirectionalPad")],w.prototype,"messages",void 0),t([o({type:u,nonNullable:!0})],w.prototype,"visibleElements",void 0),t([o()],w.prototype,"view",null),t([o()],w.prototype,"viewModel",void 0),t([o()],w.prototype,"visualScale",void 0),t([o()],w.prototype,"speed",null),t([o({readOnly:!0})],w.prototype,"_rotationEnabled",null),w=t([s(g)],w);const f=w;export{f 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.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../chunks/tslib.es6.js";import{isAbortError as s}from"../../../core/promiseUtils.js";import{property as t}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import{subclass as r}from"../../../core/accessorSupport/decorators/subclass.js";import o from"../../../portal/Portal.js";import a from"../../Widget.js";import{loadCalciteComponents as i}from"../../support/componentsUtils.js";import"../../support/widgetUtils.js";import{messageBundle as l}from"../../support/decorators/messageBundle.js";import{tsx as n}from"../../support/jsxFactory.js";const c="esri-save-layer",m={panel:`${c}`,error:`${c}__error`,errorIcon:`${c}__error-icon`,errorLabel:`${c}__error-label`,layerNameLabel:`${c}__layer-name-label`,portalFolderLabel:`${c}__portal-folder-label`,processLabel:`${c}__process-label`,processLoader:`${c}__process-loader`};let p=class extends a{constructor(e,s){super(e,s),this._folders=null,this._layer=null,this._layerNameInput=null,this._portalFolderCombobox=null,this._userName=null,this.messages=null,this.messagesCommon=null,this.messagesIdentity=null,this.opened=!1,this.state="initialized",this.close=()=>{this.opened=!1,this.state="initialized"}}loadDependencies(){return i({button:()=>import("@esri/calcite-components/dist/components/calcite-button.js"),combobox:()=>import("@esri/calcite-components/dist/components/calcite-combobox.js"),"combobox-item":()=>import("@esri/calcite-components/dist/components/calcite-combobox-item.js"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js"),input:()=>import("@esri/calcite-components/dist/components/calcite-input.js"),label:()=>import("@esri/calcite-components/dist/components/calcite-label.js"),loader:()=>import("@esri/calcite-components/dist/components/calcite-loader.js"),panel:()=>import("@esri/calcite-components/dist/components/calcite-panel.js")})}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}async open(e){this.state="initialized",this.opened=!0,this._layer=e,this.state="connect-to-portal";const t=o.getDefault();try{await t.signIn()}catch(a){return void(s(a)||"identity-manager:user-aborted"===a.name?this.close():this.state="connect-to-portal-error")}this.state="fetch-portal-information";const{user:r}=t;this._userName=r?.username;try{this._folders=await(r?.fetchFolders())}catch{return void(this.state="fetch-portal-information-error")}this.state="save-layer"}render(){switch(this.state){case"initialized":return this._renderInitialized();case"connect-to-portal":return this._renderProcess(this.messagesIdentity.lblSigning);case"connect-to-portal-error":return this._renderError(this.messages.errors.authenticating);case"fetch-portal-information":return this._renderProcess(this.messages.processing.fetching);case"fetch-portal-information-error":return this._renderError(this.messages.errors.fetching);case"save-layer":return this._renderSaveLayer();case"saving":return this._renderProcess(this.messages.processing.saving);case"saving-error":return this._renderError(this.messages.errors.saving)}}_renderError(e){return n("calcite-panel",{class:m.panel,heading:this.messages.widgetLabel,key:`${c}-error-panel`},n("div",{class:m.error},n("calcite-icon",{class:m.errorIcon,icon:"exclamation-mark-triangle",scale:"l",textLabel:this.messagesCommon.errorMessage}),n("calcite-label",{class:m.errorLabel},e)),n("calcite-button",{appearance:"outline",onclick:this.close,slot:"footer-actions",width:"half"},this.messagesCommon.close))}_renderInitialized(){return n("calcite-panel",{class:m.panel,heading:this.messages.widgetLabel,key:`${c}-initialize-panel`})}_renderProcess(e){return n("calcite-panel",{class:m.panel,heading:this.messages.widgetLabel,key:`${c}-process-panel`},n("calcite-loader",{class:m.processLoader,label:e}),n("calcite-label",{class:m.processLabel,alignment:"center"},e))}_renderSaveLayer(){if(null==this._layer||null==this._folders||null==this._userName)return this._renderInitialized();const{stops:e}=this._layer,s=`${e.at(0).name} - ${e.at(-1).name}`,t=this._folders.map((e=>n("calcite-combobox-item",{key:`${c}-folder-${e.id}`,textLabel:e.title??"",value:e.id})));return t.unshift(n("calcite-combobox-item",{key:`${c}-folder-home`,selected:!0,textLabel:`${this._userName} (${this.messagesCommon.home})`,value:null})),n("calcite-panel",{class:m.panel,heading:this.messages.widgetLabel,key:`${c}-save-panel`},n("calcite-label",{class:m.layerNameLabel},this.messages.laverName,n("calcite-input",{afterCreate:e=>{this._layerNameInput=e},label:this.messages.laverName,value:s})),n("calcite-label",{class:m.portalFolderLabel},this.messages.saveInFolder,n("calcite-combobox",{afterCreate:e=>{this._portalFolderCombobox=e},label:this.messages.saveInFolder,overlayPositioning:"fixed",selectionMode:"single"},t)),n("calcite-button",{onclick:()=>this._saveButtonClick(),slot:"footer-actions",width:"half"},this.messagesCommon.save),n("calcite-button",{appearance:"outline",onclick:()=>{this.close()},slot:"footer-actions",width:"half"},this.messagesCommon.cancel))}_saveButtonClick(){this.state="saving",this._saveLayer().then((()=>{this.close()})).catch((()=>{this.state="saving-error"}))}async _saveLayer(){if(null==this._layer||null==this._folders)return;const e=this._layerNameInput?.value,s=this._portalFolderCombobox?.value,t=this._folders.find((e=>e.id===s));await this._layer.saveAs({title:e},{folder:t})}};e([t()],p.prototype,"label",null),e([t(),l("esri/widgets/support/t9n/SaveLayer")],p.prototype,"messages",void 0),e([t(),l("esri/t9n/common")],p.prototype,"messagesCommon",void 0),e([t(),l("esri/identity/t9n/identity")],p.prototype,"messagesIdentity",void 0),e([t()],p.prototype,"opened",void 0),e([t()],p.prototype,"state",void 0),p=e([r("esri.widgets.Directions.SaveLayer")],p);export{p as SaveLayer};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import{isAbortError as s}from"../../../core/promiseUtils.js";import{property as t}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import{subclass as r}from"../../../core/accessorSupport/decorators/subclass.js";import o from"../../../portal/Portal.js";import a from"../../Widget.js";import{loadCalciteComponents as i}from"../../support/componentsUtils.js";import"../../support/widgetUtils.js";import{messageBundle as l}from"../../support/decorators/messageBundle.js";import{tsx as n}from"../../support/jsxFactory.js";const c="esri-save-layer",m={panel:`${c}`,error:`${c}__error`,errorIcon:`${c}__error-icon`,errorLabel:`${c}__error-label`,layerNameLabel:`${c}__layer-name-label`,portalFolderLabel:`${c}__portal-folder-label`,processLabel:`${c}__process-label`,processLoader:`${c}__process-loader`};let p=class extends a{constructor(e,s){super(e,s),this._folders=null,this._layer=null,this._layerNameInput=null,this._portalFolderCombobox=null,this._userName=null,this.messages=null,this.messagesCommon=null,this.messagesIdentity=null,this.opened=!1,this.state="initialized",this.close=()=>{this.opened=!1,this.state="initialized"}}loadDependencies(){return i({button:()=>import("@esri/calcite-components/dist/components/calcite-button.js"),combobox:()=>import("@esri/calcite-components/dist/components/calcite-combobox.js"),"combobox-item":()=>import("@esri/calcite-components/dist/components/calcite-combobox-item.js"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js"),input:()=>import("@esri/calcite-components/dist/components/calcite-input.js"),label:()=>import("@esri/calcite-components/dist/components/calcite-label.js"),loader:()=>import("@esri/calcite-components/dist/components/calcite-loader.js"),panel:()=>import("@esri/calcite-components/dist/components/calcite-panel.js")})}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}async open(e){this.state="initialized",this.opened=!0,this._layer=e,this.state="connect-to-portal";const t=o.getDefault();try{await t.signIn()}catch(a){return void(s(a)||"identity-manager:user-aborted"===a.name?this.close():this.state="connect-to-portal-error")}this.state="fetch-portal-information";const{user:r}=t;this._userName=r?.username;try{this._folders=await(r?.fetchFolders())}catch{return void(this.state="fetch-portal-information-error")}this.state="save-layer"}render(){switch(this.state){case"initialized":return this._renderInitialized();case"connect-to-portal":return this._renderProcess(this.messagesIdentity.lblSigning);case"connect-to-portal-error":return this._renderError(this.messages.errors.authenticating);case"fetch-portal-information":return this._renderProcess(this.messages.processing.fetching);case"fetch-portal-information-error":return this._renderError(this.messages.errors.fetching);case"save-layer":return this._renderSaveLayer();case"saving":return this._renderProcess(this.messages.processing.saving);case"saving-error":return this._renderError(this.messages.errors.saving)}}_renderError(e){return n("calcite-panel",{class:m.panel,heading:this.messages.widgetLabel,key:`${c}-error-panel`},n("div",{class:m.error},n("calcite-icon",{class:m.errorIcon,icon:"exclamation-mark-triangle",scale:"l",textLabel:this.messagesCommon.errorMessage}),n("calcite-label",{class:m.errorLabel},e)),n("calcite-button",{appearance:"outline",onclick:this.close,slot:"footer-actions",width:"half"},this.messagesCommon.close))}_renderInitialized(){return n("calcite-panel",{class:m.panel,heading:this.messages.widgetLabel,key:`${c}-initialize-panel`})}_renderProcess(e){return n("calcite-panel",{class:m.panel,heading:this.messages.widgetLabel,key:`${c}-process-panel`},n("calcite-loader",{class:m.processLoader,label:e}),n("calcite-label",{alignment:"center",class:m.processLabel},e))}_renderSaveLayer(){if(null==this._layer||null==this._folders||null==this._userName)return this._renderInitialized();const{stops:e}=this._layer,s=`${e.at(0).name} - ${e.at(-1).name}`,t=this._folders.map((e=>n("calcite-combobox-item",{key:`${c}-folder-${e.id}`,textLabel:e.title??"",value:e.id})));return t.unshift(n("calcite-combobox-item",{key:`${c}-folder-home`,selected:!0,textLabel:`${this._userName} (${this.messagesCommon.home})`,value:null})),n("calcite-panel",{class:m.panel,heading:this.messages.widgetLabel,key:`${c}-save-panel`},n("calcite-label",{class:m.layerNameLabel},this.messages.laverName,n("calcite-input",{afterCreate:e=>{this._layerNameInput=e},label:this.messages.laverName,value:s})),n("calcite-label",{class:m.portalFolderLabel},this.messages.saveInFolder,n("calcite-combobox",{afterCreate:e=>{this._portalFolderCombobox=e},label:this.messages.saveInFolder,overlayPositioning:"fixed",selectionMode:"single"},t)),n("calcite-button",{onclick:()=>this._saveButtonClick(),slot:"footer-actions",width:"half"},this.messagesCommon.save),n("calcite-button",{appearance:"outline",onclick:()=>{this.close()},slot:"footer-actions",width:"half"},this.messagesCommon.cancel))}_saveButtonClick(){this.state="saving",this._saveLayer().then((()=>{this.close()})).catch((()=>{this.state="saving-error"}))}async _saveLayer(){if(null==this._layer||null==this._folders)return;const e=this._layerNameInput?.value,s=this._portalFolderCombobox?.value,t=this._folders.find((e=>e.id===s));await this._layer.saveAs({title:e},{folder:t})}};e([t()],p.prototype,"label",null),e([t(),l("esri/widgets/support/t9n/SaveLayer")],p.prototype,"messages",void 0),e([t(),l("esri/t9n/common")],p.prototype,"messagesCommon",void 0),e([t(),l("esri/identity/t9n/identity")],p.prototype,"messagesIdentity",void 0),e([t()],p.prototype,"opened",void 0),e([t()],p.prototype,"state",void 0),p=e([r("esri.widgets.Directions.SaveLayer")],p);export{p as SaveLayer};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/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 i}from"../core/handleUtils.js";import{assertIsSome as r}from"../core/maybe.js";import{watch as o,initial as n,when as a,on as l}from"../core/reactiveUtils.js";import{property as c}from"../core/accessorSupport/decorators/property.js";import{cast as d}from"../core/accessorSupport/decorators/cast.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as u}from"../core/accessorSupport/decorators/subclass.js";import{defaultUnitPropertyMetadata as h}from"../properties/defaultUnit.js";import p from"../rest/support/Stop.js";import v from"../symbols/SimpleMarkerSymbol.js";import m from"./Search.js";import _ from"./Widget.js";import g from"./Directions/DirectionsViewModel.js";import{SaveLayer as S}from"./Directions/components/SaveLayer.js";import{formatDistance as y,formatDuration as w}from"./Directions/support/directionsUtils.js";import{DepartureTimeOption as f,css as M,getIconName as b}from"./Directions/support/resources.js";import{isArcGISWorldGeocoder as T,meteredArcGISLocatorUrl as C}from"./Search/support/locatorUtils.js";import{loadCalciteComponents as k}from"./support/componentsUtils.js";import D from"./support/DatePicker.js";import{globalCss as I}from"./support/globalCss.js";import{Heading as P,incrementHeadingLevel as R}from"./support/Heading.js";import{legacyIcon as L}from"./support/legacyIcon.js";import B from"./support/TimePicker.js";import{accessibleHandler as H}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 j from"sortablejs";import{formatNumber as x}from"../intl/number.js";import{formatDate as O,convertDateFormatToIntlOptions as U}from"../intl/date.js";const z={departureTime:!0,layerDetails:!0,printButton:!1,saveAsButton:!0,saveButton:!0,stops:!0,traveMode:!0};function $(e){const t=e.getTimezoneOffset(),s=t>0?"-":"+",i=60,r=Math.abs(Math.floor(t/i)),o=Math.abs(Math.floor(t)%i),n={minimumIntegerDigits:2};return`GMT${s}${x(r,n)}${x(o,n)}`}function F(e){return!!e.composedPath?.().find((e=>e.classList?.contains("esri-search__suggestions-list")))}const N="search-term",V="date-time-picker",K=100,W=500;let q=class extends _{constructor(e,t){super(e,t),this._activeStop=null,this._activeManeuver=null,this._autoStopRemovalDelay=K,this._autoStopRemovalTimeoutId=void 0,this._departureTimeOption=f.NOW,this._datePicker=new D,this._focusedManeuver=null,this._newPlaceholderStop=null,this._pointerDownUpHandle=null,this._pointerPressedSearchSuggestionStop=null,this._renderSavePopoverFunction=null,this._saveAsButtonNode=null,this._saveLayer=new S,this._sections=null,this._sortable=null,this._stopsToSearches=new Map,this._timePicker=new B,this._viewClickHandle=null,this.headingLevel=2,this.iconClass=M.widgetIcon,this.icon=null,this.messages=null,this.messagesCommon=null,this.messagesUnits=null,this.searchProperties=null,this.viewModel=new g,this.visibleElements={...z},this._setUpDragAndDropStops=e=>{this._sortable=j.create(e,{draggable:`.${M.validStopRow}`,ghostClass:M.stopRowGhost,handle:`.${M.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:i}=s,r=i[t],o=i[e],n=t-e<0;s.insertBefore(r,n?o.nextElementSibling:o);const{stops:a}=this.viewModel.layer;a.reorder(a.at(e),t);for(const l of a)l.sequence=null;this._getDirections()}}initialize(){this.addHandles([o((()=>this.viewModel.layer?.routeInfo),(()=>{this._activeManeuver=null,this._focusedManeuver=null,this._sections=this._getSections(),this.scheduleRender()}),n),a((()=>this.view),((e,s)=>{if(s&&(this._viewClickHandle=null,null!=s&&this.removeHandles(s)),e){const s=this._prepPointerDownUpClick(),i=this._prepViewClick();s.pause(),i.pause();const r=e.surface;this.addHandles([t(r,"mousedown",(()=>this._autoStopRemovalDelay=W)),t(r,"mouseup",(()=>this._autoStopRemovalDelay=K)),s,i],e),this._pointerDownUpHandle=s,this._viewClickHandle=i}}),n),a((()=>null==this.viewModel.serviceDescription),(()=>{try{this.viewModel.load()}catch{}}),n),o((()=>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 k({button:()=>import("@esri/calcite-components/dist/components/calcite-button.js"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js"),link:()=>import("@esri/calcite-components/dist/components/calcite-link.js"),popover:()=>import("@esri/calcite-components/dist/components/calcite-popover.js")})}destroy(){this._datePicker.destroy(),this._timePicker.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 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{...z,...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 m({view:t,resultGraphicEnabled:!1,popupEnabled:!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._getDirections()})),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()})),o((()=>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(M.base,I.widget,I.panel,M.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,i="initializing"===s,r="error"===s&&!t,o="unauthenticated"===s,n={[M.panelContentLoading]:i,[M.panelContentError]:r||!e,[M.panelContentSignIn]:o},a=i?"presentation":"group",l=e?o?this._renderSignIn():r?this._renderMessage(this._getErrorMessage()):i?this._renderLoader():this._renderReadyContent():this._renderMessage(this.messages.missingLayer);return E("div",{class:this.classes(M.panelContent,n),role:a},l)}_renderReadyContent(){return[this._renderStopsContainer(),this._renderTravelModeOptions(),this._renderDepartureTimeControls(),this._renderSaveContainer(),this._renderSectionSplitter(),this._renderDirectionsContainer()]}_renderSignIn(){return E("div",{key:"sign-in",class:M.signInContent},E(P,{class:M.contentTitle,level:this.headingLevel},this.messages.widgetLabel),this._renderPlaceholder(),E(P,{level:R(this.headingLevel)},this.messages.signInRequired),E("button",{class:this.classes(I.button,I.buttonSecondary,M.signInButton),tabIndex:0,onclick:this._handleSignInClick,bind:this,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(M.travelMode,this._saveLayer.opened&&I.buttonDisabled),key:"esri-directions__travel-mode-controls",role:"group"},E("select",{"aria-label":s,bind:this,class:this.classes(M.travelModeSelect,I.select),key:"esri-directions__travel-mode-options",onchange:this._handleTravelModeChange,title:s},t.map(((t,s)=>E("option",{key:`esri-directions__travel-mode-${s}`,"data-mode":t,selected:e===t,value:`${s}`},t.name)))))}_handleTravelModeChange(e){const t=e.currentTarget;this.viewModel.selectedTravelMode=Y(t.item(t.selectedIndex)),this._getDirections()}_renderStopsContainer(){return this.visibleElements.stops?E("div",{"aria-disabled":this._saveLayer.opened.toString(),class:this.classes(M.section,this._saveLayer.opened&&I.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:i}}=this;return E("div",{"aria-disabled":this._saveLayer.opened.toString(),class:this.classes(M.departureTime,this._saveLayer.opened&&I.buttonDisabled),key:"esri-directions__departure-time-controls",role:"group"},E("select",{"aria-label":t,bind:this,class:this.classes(M.departureTimeSelect,I.select),onchange:this._handleDepartureOptionChange,title:t},E("option",{value:f.NOW,selected:this._departureTimeOption===f.NOW},s),E("option",{value:f.DEPART_AT,selected:this._departureTimeOption===f.DEPART_AT},e),E("option",{value:f.UNSPECIFIED,selected:this._departureTimeOption===f.UNSPECIFIED},i)),this._departureTimeOption===f.DEPART_AT?this._renderTimeControls():null)}_renderStops(){const{stops:e}=this.viewModel.layer;let t=0;for(const r of this._stopsToSearches.keys())e.includes(r)||this._disposeSearch(r);for(const r of e){const e=this.acquireSearch(r);"none"!==e.activeMenu&&(t+=1),null!=r.name&&(e.searchTerm=r.name)}const s=e.toArray().map(((s,i)=>{const r=e.length,o=i>1&&null==s.geometry,n={[L.radioUnchecked]:i>=0&&i<r-1,[L.radioChecked]:i===r-1},a={[M.lastStopIconContainer]:i===r-1},l={[M.validStopRow]:!o},c=e.at(i+1),d=c&&null!=c.geometry,u=i===r-1,h=i===r-2,p=2===r&&0===i||r>2&&!u&&!h||r>2&&h&&d||r>2&&u&&null==s.geometry,v=r<3,m=this.acquireSearch(s),{messages:_}=this,{removeStop:g,reverseStops:S,unlocated:y}=_,w=null!=s.geometry&&null!=s.name?s.name:y,f=x(i+1),b=`${_.stopLabel} ${f} (${w})`,T=`${this.id}__stop--${i}`,C=!!m.searchTerm&&!!m.selectedResult&&null!=s.geometry&&m.selectedResult.name===s.name,k={zIndex:"none"!==m.activeMenu?""+t--:""};return E("li",{"aria-label":b,afterCreate:this._handleStopFieldCreation,bind:this,class:this.classes(M.stopRow,l),id:T,key:i,"data-stop-index":i,styles:k},E("div",{class:M.stopHandle},E("span",{"aria-hidden":"true",class:this.classes(M.stopIcon,L.handleVertical,M.stopHandleIcon,M.interactiveStopIcon),onpointerdown:this._handleDragHandlePointerDown}),E("div",{bind:this,"aria-labelledby":T,class:this.classes(M.stopIconContainer,a),"data-stop-index":i,onclick:this._handleStopIconClick,onkeydown:this._handleStopIconClick,role:"button"},E("span",{class:this.classes(M.stopIcon,n),tabIndex:C?0:void 0}))),E("div",{class:M.stopInput},m.render()),E("div",{class:M.stopOptions,role:"group"},E("div",{"aria-label":g,class:M.removeStopButton,bind:this,"data-stop-index":i,hidden:v,onkeydown:this._handleRemoveStop,onclick:this._handleRemoveStop,role:"button",tabIndex:0,title:g},E("span",{"aria-hidden":"true",class:this.classes(M.stopIcon,M.removeStop,L.trash,M.interactiveStopIcon)}),E("span",{class:L.fontFallbackText},"removeStopTitle")),E("div",{"aria-label":S,class:M.reverseStops,bind:this,hidden:p,onkeydown:this._handleReverseStops,onclick:this._handleReverseStops,role:"button",tabIndex:0,title:S},E("span",{"aria-hidden":"true",class:this.classes(M.stopIcon,L.upDownArrows,M.interactiveStopIcon)}),E("span",{class:L.fontFallbackText},"removeStopTitle"))))})),i=this._renderAddStop();return E("div",null,E("ol",{class:M.stops,role:"group",afterCreate:this._setUpDragAndDropStops},s),i)}_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&&null!=s.geometry?E("div",{class:M.toolbarSection},E("div",{class:M.toolbarButtons},E("calcite-button",{appearance:"outline",class:M.addStopButton,kind:"neutral",scale:"s",round:!0,iconStart:"plus",key:M.addStopButton,onclick:()=>{this._addNewPlaceholder()},label:this.messages.addStop,width:"full"},this.messages.addStop))):null}_handleStopIconClick(e){const t=J(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=J(e),i=null!=s?this.viewModel.layer?.stops.at(s):void 0;if(t===i){const e=this.acquireSearch(i);e.when((()=>{this.renderNow(),e.focus()}))}this._newPlaceholderStop=null}_handleStopInputBlur(e,t){if(this._saveLayer.opened)return;this.removeHandles(N);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,i=null!=t.geometry&&null!=e.selectedResult?.feature.geometry&&t.geometry!==e.selectedResult?.feature.geometry;if((s||i)&&"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._getDirections()),this.scheduleRender()):this._pointerDownUpHandle?.pause())}),this._autoStopRemovalDelay))}_handleStopInputFocus(e,t){this._pointerDownUpHandle?.resume();const{view:s}=this;if(this.hasHandles(N)||!s)return;const r=s.cursor;this.addHandles([i((()=>{s.cursor=r})),o((()=>e.searchTerm),(t=>{e.destroyed||(s.cursor=t.length?r:"copy")}),n)],N),this._activeStop=t}_prepViewClick(){const{view:e}=this.viewModel;r(e),r(e.surface);const t=s(e,"click",this._handleViewClick.bind(this)),i=s(e.surface,"click",(()=>{clearTimeout(this._autoStopRemovalTimeoutId),i.pause()}));return{remove(){i.remove(),t.remove()},pause(){i.pause(),t.pause()},resume(){i.resume(),t.resume()}}}_prepPointerDownUpClick(){const e=s(document,"pointerdown",(e=>{this._pointerPressedSearchSuggestionStop=F(e)?this._activeStop:null})),t=s(document,"pointerup",(e=>{this._pointerDownUpHandle?.pause();const t=F(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 i=e?.results[0].results;if(!i)return;const{feature:r,name:o}=i[0];t.geometry=r.geometry,t.name=o,s.searchTerm=o})),this.scheduleRender()),this._viewClickHandle?.pause(),clearTimeout(this._autoStopRemovalTimeoutId)}_addNewPlaceholder(){if(this._pointerDownUpHandle?.pause(),this._newPlaceholderStop)return;const e=new p({symbol:new v});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._getDirections()}_handleRemoveStop(e){const{layer:t}=this.viewModel;if(!t)return;const s=J(e.currentTarget);if(null==s)return;const{stops:i,routeInfo:r}=t,o=i.at(s);this._removeStop(o),null==o.geometry&&null!=r||this._getDirections()}_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);s.value===f.NOW?(this._departureTimeOption=f.NOW,this.viewModel.departureTime=f.NOW,this.removeHandles(V),this._getDirections()):s.value===f.DEPART_AT?(this._departureTimeOption=f.DEPART_AT,this.addHandles(o((()=>[this._datePicker.value,this._timePicker.value]),(()=>{this._updateDepartureTime(),this._getDirections()}),n),V)):(this._departureTimeOption=f.UNSPECIFIED,this.viewModel.departureTime=null,this._getDirections())}_updateDepartureTime(){const e=this._datePicker.value,t=this._timePicker.value;e&&t&&(this.viewModel.departureTime=new Date(e.getFullYear(),e.getMonth(),e.getDate(),t.getHours(),t.getMinutes()))}_renderTimeControls(){return E("div",{class:M.departureTimeControls,key:"esri-directions__time-controls",role:"group"},this._datePicker.render(),this._timePicker.render())}_renderSectionSplitter(){return E("div",{class:M.sectionSplitter})}_renderSaveContainer(){const{saveButton:e,saveAsButton:t,printButton:s,layerDetails:i}=this.visibleElements;return e||t||s||i?E("div",{class:M.saveSection,key:M.saveSection},this._renderSaveButtons(),this._renderRouteLayerDetailsLink()):null}_renderSaveButtons(){const{saveButton:e,saveAsButton:t,printButton:s}=this.visibleElements;return e||t||s?E("div",{class:M.saveButtons,key:M.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,i=null!=t&&("admin"===s||"update"===s);return E("calcite-button",{appearance:"outline",class:M.saveButton,disabled:!i,iconStart:"save",key:M.saveButton,onclick:()=>{this._handleSaveButtonClick()},label:this.messagesCommon.save,width:"full"},this.messagesCommon.save)}_renderSaveAsButton(){if(!this.visibleElements.saveAsButton)return null;const e=null==this.viewModel.layer.routeInfo;return E("div",{class:M.saveAsButtonPopover,key:M.saveAsButtonPopover},E("calcite-button",{afterCreate:e=>{this._saveAsButtonNode=e},appearance:"outline",class:M.saveAsButton,disabled:e,iconStart:"duplicate",key:M.saveAsButton,onclick:()=>this._handleSaveAsButtonClick(),label:this.messagesCommon.saveAs,width:"full"},this.messagesCommon.saveAs))}_renderSavePopover(){return E("calcite-popover",{label:this._saveLayer.label,open:this._saveLayer.opened,overlayPositioning:"fixed",referenceElement:this._saveAsButtonNode},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:M.printButton,iconStart:"print",key:M.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,i=`${s}/home/item.html?id=${t}`;return E("calcite-link",{class:M.layerDetailsLink,href:i,key:M.layerDetailsLink,target:"_blank"},this.messages.viewLayerDetails)}_handleSaveButtonClick(){this.viewModel.layer.save()}_renderDirectionsContainer(){return E("div",{class:this.classes(M.directionsSection,M.section),key:"esri-directions__container"},this._renderDirectionsContainerContent())}_renderLoader(){return E("div",{class:M.loader,key:"loader"})}_renderWarningCard(){return E("div",{class:M.warningCard,role:"alert"},E("div",{class:M.warningHeader},E("span",{class:L.noticeTriangle,"aria-hidden":"true"}),E(P,{class:M.warningHeading,level:this.headingLevel},this.messagesCommon.warning)),E("div",{class:M.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(M.summary,this._saveLayer.opened&&I.buttonDisabled),key:"esri-directions__summary",role:"group"},this._renderCosts(),this._renderRouteActions(),this._renderManeuverSections()):E("div",{key:"esri-directions__placeholder",class:I.empty},this._renderPlaceholder(),E(P,{class:M.message,level:this.headingLevel},this.messages.directionsPlaceholder))}_renderPlaceholder(){return E("svg",{class:I.emptyIllustration,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256"},E("path",{fill:"currentcolor",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"}))}_renderMessage(e){return E(P,{class:M.messageHeading,level:this.headingLevel},e)}_renderRouteActions(){return E("div",{class:M.routeActions},E("button",{"aria-label":this.messages.clearRoute,class:this.classes(M.clearRouteButton,I.button,I.buttonTertiary),tabIndex:0,onclick:this._handleClearRouteClick,bind:this,type:"button"},this.messages.clearRoute))}_getSections(){const{layer:e}=this.viewModel;if(!e)return null;const{directionPoints:t,directionLines:s,stops:i}=e;if(null==t||null==s)return null;const r=[];let o=null;for(const n of t){const{objectId:e,stopId:t}=n;if(null!=t){const e=i.find((({objectId:e})=>e===t)),s=0===r.length;null!=o&&o.stop===e||(o={stop:e,directions:[],open:s},r.push(o));continue}if(null==o)continue;const a=s.find((({directionPointId:t})=>t===e));null!=a&&o.directions.push({directionPoint:n,directionLine:a})}return r}_renderManeuverSections(){return null==this._sections?null:E("div",{class:M.maneuvers,role:"group"},this._sections.map(((e,t)=>{const{open:s}=e;let i;e.directions.length>0&&s&&(i=E("ol",{class:M.maneuverList},e.directions.map((e=>this._renderManeuver(e)))));const r=this._sections.length>2,o=t===this._sections.length-1,n={[M.collapsibleSection]:r},a={[L.down]:!s,[L.up]:s};let l;if(r&&!o){const t=s?this.messagesCommon.close:this.messagesCommon.open;l=E("header",{class:this.classes(M.maneuverSectionHeader,M.maneuverSectionToggle),key:M.maneuverSectionHeader},E("div",{"aria-expanded":s.toString(),"aria-label":t,bind:this,class:M.maneuverSectionHeaderButton,"data-maneuver-section":e,onkeydown:this._handleSectionToggle,onclick:this._handleSectionToggle,role:"button",tabIndex:0,title:t},E(P,{class:M.maneuverSectionTitle,level:this.headingLevel},e.stop.name),E("span",{"aria-hidden":"true",class:this.classes(a)})))}else l=E("header",{class:M.maneuverSectionHeader,key:M.maneuverSectionHeader},E(P,{class:M.maneuverSectionTitle,level:this.headingLevel},e.stop.name));return E("section",{class:this.classes(M.maneuverSection,n),key:t},l,i)})))}_handleSectionToggle(e){const t=Q(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:i}=e,{primaryCosts:r,secondaryCosts:o,zoomToRoute:n}=this.messages,a=this._renderEta();return E("div",{"aria-label":n,bind:this,class:M.directionCosts,onkeydown:this._handleSummaryInteraction,onclick:this._handleSummaryInteraction,role:"button",tabIndex:0,title:n},E("div",{class:M.costsDetails,role:"group"},E("div",{class:M.primaryCosts,title:r},i),E("div",{class:M.verticalSplitter}),E("div",{class:M.secondaryCosts,title:o},s)),a)}_renderEta(){const{directionPoints:e}=this.viewModel.layer,{eta:t}=this.messages;if(null==e)return null;const s=e.at(-1).arrivalTime,i=U("short-time");return s&&this._departureTimeOption!==f.UNSPECIFIED?E("div",{class:M.arrivalTimeContainer,title:t},E("span",{class:M.arrivalTime},O(s,i))," ",$(s)):null}_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=C))}_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:i,duration:r}=s,{messages:o,messagesUnits:n,unit:a}=this,l=y(n,i??0,a),c=w(r??0),d=l&&c?`${l}&nbsp;&middot;&nbsp;${c}`:`${l}${c}`,u=this._getFormattedManeuverText(t),{objectId:h,directionPointType:p}=t,v=b(p),m=`esri-directions__maneuver-${h}`,_=`esri-directions__intermediate-costs-${h}`,g={[M.maneuverActive]:this._activeManeuver===s};return E("li",{"aria-labelledby":`${m} ${_}`,bind:this,class:this.classes(M.maneuver,g),"data-maneuver":s,key:s,onclick:this._handleManeuverClick,onkeydown:this._handleManeuverClick,onfocus:this._handleManeuverFocus,onmouseover:this._handleManeuverMouseOver,onmouseout:this._handleManeuverMouseOut,onblur:this._handleManeuverBlur,tabIndex:0},v&&E("calcite-icon",{alt:"",class:M.maneuverIcon,icon:v}),E("div",{class:M.maneuverCostsContainer},E("span",{id:m,innerHTML:u??""}),E("div",{class:M.maneuverCosts},E("div",{class:M.horizontalSplitter}),E("div",{"aria-hidden":"true",id:_,class:M.intermediateCost,innerHTML:d,title:o.intermediateCosts}))))}_handleManeuverClick(e){const t=X(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=X(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=X(e.currentTarget);t&&(this._focusedManeuver=t,this.viewModel.highlight(t))}_getFormattedManeuverText(e){const{displayText:t,name:s,intersectingName:i}=e;if(null==t)return"";let r=t;return null!=s&&r.includes(s)&&(r=r.replace(s,`<strong>${s}</strong>`)),null!=i&&r.includes(i)&&(r=r.replace(i,`<strong>${i}</strong>`)),r}_getCostSummary(){const{messagesUnits:e,unit:t,viewModel:s}=this,{routeInfo:i}=s.layer;if(null==i)return null;const r=i.totalDistance??0,o=i.totalDuration??0;return{distance:y(e,r,t),duration:w(o)}}async _getDirections(){const e=this.viewModel.layer?.stops.filter((({geometry:e})=>null!=e));if(e&&!(e.length<2))try{await this.viewModel.getDirections()}catch{}}};e([c()],q.prototype,"apiKey",null),e([c(h)],q.prototype,"defaultUnit",void 0),e([c()],q.prototype,"goToOverride",null),e([c()],q.prototype,"headingLevel",void 0),e([c()],q.prototype,"iconClass",void 0),e([c()],q.prototype,"icon",void 0),e([c()],q.prototype,"label",null),e([c({readOnly:!0})],q.prototype,"lastRoute",null),e([c()],q.prototype,"layer",null),e([c()],q.prototype,"maxStops",null),e([c(),A("esri/widgets/Directions/t9n/Directions")],q.prototype,"messages",void 0),e([c(),A("esri/t9n/common")],q.prototype,"messagesCommon",void 0),e([c(),A("esri/core/t9n/Units")],q.prototype,"messagesUnits",void 0),e([c()],q.prototype,"searchProperties",void 0),e([c()],q.prototype,"unit",null),e([c()],q.prototype,"view",null),e([c({type:g})],q.prototype,"viewModel",void 0),e([c()],q.prototype,"visibleElements",void 0),e([d("visibleElements")],q.prototype,"castVisibleElements",null),e([H()],q.prototype,"_handleStopIconClick",null),e([H()],q.prototype,"_handleClearRouteClick",null),e([H()],q.prototype,"_handleReverseStops",null),e([H()],q.prototype,"_handleRemoveStop",null),e([H()],q.prototype,"_handleSectionToggle",null),e([H()],q.prototype,"_handleSummaryInteraction",null),e([H()],q.prototype,"_handleManeuverClick",null),q=e([u("esri.widgets.Directions")],q);const G=q;function Y(e){return e?.["data-mode"]}function J(e){return e?.["data-stop-index"]}function Q(e){return e?.["data-maneuver-section"]}function X(e){return e?.["data-maneuver"]}export{G as default};
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 i}from"../core/handleUtils.js";import{assertIsSome as r}from"../core/maybe.js";import{watch as o,initial as n,when as a,on as l}from"../core/reactiveUtils.js";import{property as c}from"../core/accessorSupport/decorators/property.js";import{cast as d}from"../core/accessorSupport/decorators/cast.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as u}from"../core/accessorSupport/decorators/subclass.js";import{defaultUnitPropertyMetadata as h}from"../properties/defaultUnit.js";import p from"../rest/support/Stop.js";import v from"../symbols/SimpleMarkerSymbol.js";import m from"./Search.js";import _ from"./Widget.js";import g from"./Directions/DirectionsViewModel.js";import{SaveLayer as S}from"./Directions/components/SaveLayer.js";import{formatDistance as y,formatDuration as w}from"./Directions/support/directionsUtils.js";import{DepartureTimeOption as f,css as M,getIconName as b}from"./Directions/support/resources.js";import{isArcGISWorldGeocoder as T,meteredArcGISLocatorUrl as C}from"./Search/support/locatorUtils.js";import{loadCalciteComponents as k}from"./support/componentsUtils.js";import D from"./support/DatePicker.js";import{globalCss as I}from"./support/globalCss.js";import{Heading as P,incrementHeadingLevel as R}from"./support/Heading.js";import{legacyIcon as L}from"./support/legacyIcon.js";import B from"./support/TimePicker.js";import{accessibleHandler as H}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 j from"sortablejs";import{formatNumber as x}from"../intl/number.js";import{formatDate as O,convertDateFormatToIntlOptions as U}from"../intl/date.js";const z={departureTime:!0,layerDetails:!0,printButton:!1,saveAsButton:!0,saveButton:!0,stops:!0,traveMode:!0};function $(e){const t=e.getTimezoneOffset(),s=t>0?"-":"+",i=60,r=Math.abs(Math.floor(t/i)),o=Math.abs(Math.floor(t)%i),n={minimumIntegerDigits:2};return`GMT${s}${x(r,n)}${x(o,n)}`}function F(e){return!!e.composedPath?.().find((e=>e.classList?.contains("esri-search__suggestions-list")))}const N="search-term",V="date-time-picker",K=100,W=500;let q=class extends _{constructor(e,t){super(e,t),this._activeStop=null,this._activeManeuver=null,this._autoStopRemovalDelay=K,this._autoStopRemovalTimeoutId=void 0,this._departureTimeOption=f.NOW,this._datePicker=new D,this._focusedManeuver=null,this._newPlaceholderStop=null,this._pointerDownUpHandle=null,this._pointerPressedSearchSuggestionStop=null,this._renderSavePopoverFunction=null,this._saveAsButtonNode=null,this._saveLayer=new S,this._sections=null,this._sortable=null,this._stopsToSearches=new Map,this._timePicker=new B,this._viewClickHandle=null,this.headingLevel=2,this.iconClass=M.widgetIcon,this.icon=null,this.messages=null,this.messagesCommon=null,this.messagesUnits=null,this.searchProperties=null,this.viewModel=new g,this.visibleElements={...z},this._setUpDragAndDropStops=e=>{this._sortable=j.create(e,{draggable:`.${M.validStopRow}`,ghostClass:M.stopRowGhost,handle:`.${M.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:i}=s,r=i[t],o=i[e],n=t-e<0;s.insertBefore(r,n?o.nextElementSibling:o);const{stops:a}=this.viewModel.layer;a.reorder(a.at(e),t);for(const l of a)l.sequence=null;this._getDirections()}}initialize(){this.addHandles([o((()=>this.viewModel.layer?.routeInfo),(()=>{this._activeManeuver=null,this._focusedManeuver=null,this._sections=this._getSections(),this.scheduleRender()}),n),a((()=>this.view),((e,s)=>{if(s&&(this._viewClickHandle=null,null!=s&&this.removeHandles(s)),e){const s=this._prepPointerDownUpClick(),i=this._prepViewClick();s.pause(),i.pause();const r=e.surface;this.addHandles([t(r,"mousedown",(()=>this._autoStopRemovalDelay=W)),t(r,"mouseup",(()=>this._autoStopRemovalDelay=K)),s,i],e),this._pointerDownUpHandle=s,this._viewClickHandle=i}}),n),a((()=>null==this.viewModel.serviceDescription),(()=>{try{this.viewModel.load()}catch{}}),n),o((()=>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 k({button:()=>import("@esri/calcite-components/dist/components/calcite-button.js"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js"),link:()=>import("@esri/calcite-components/dist/components/calcite-link.js"),popover:()=>import("@esri/calcite-components/dist/components/calcite-popover.js")})}destroy(){this._datePicker.destroy(),this._timePicker.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 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{...z,...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 m({view:t,resultGraphicEnabled:!1,popupEnabled:!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._getDirections()})),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()})),o((()=>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(M.base,I.widget,I.panel,M.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,i="initializing"===s,r="error"===s&&!t,o="unauthenticated"===s,n={[M.panelContentLoading]:i,[M.panelContentError]:r||!e,[M.panelContentSignIn]:o},a=i?"presentation":"group",l=e?o?this._renderSignIn():r?this._renderMessage(this._getErrorMessage()):i?this._renderLoader():this._renderReadyContent():this._renderMessage(this.messages.missingLayer);return E("div",{class:this.classes(M.panelContent,n),role:a},l)}_renderReadyContent(){return[this._renderStopsContainer(),this._renderTravelModeOptions(),this._renderDepartureTimeControls(),this._renderSaveContainer(),this._renderSectionSplitter(),this._renderDirectionsContainer()]}_renderSignIn(){return E("div",{class:M.signInContent,key:"sign-in"},E(P,{class:M.contentTitle,level:this.headingLevel},this.messages.widgetLabel),this._renderPlaceholder(),E(P,{level:R(this.headingLevel)},this.messages.signInRequired),E("button",{bind:this,class:this.classes(I.button,I.buttonSecondary,M.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(M.travelMode,this._saveLayer.opened&&I.buttonDisabled),key:"esri-directions__travel-mode-controls",role:"group"},E("select",{"aria-label":s,bind:this,class:this.classes(M.travelModeSelect,I.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=Y(t.item(t.selectedIndex)),this._getDirections()}_renderStopsContainer(){return this.visibleElements.stops?E("div",{"aria-disabled":this._saveLayer.opened.toString(),class:this.classes(M.section,this._saveLayer.opened&&I.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:i}}=this;return E("div",{"aria-disabled":this._saveLayer.opened.toString(),class:this.classes(M.departureTime,this._saveLayer.opened&&I.buttonDisabled),key:"esri-directions__departure-time-controls",role:"group"},E("select",{"aria-label":t,bind:this,class:this.classes(M.departureTimeSelect,I.select),onchange:this._handleDepartureOptionChange,title:t},E("option",{selected:this._departureTimeOption===f.NOW,value:f.NOW},s),E("option",{selected:this._departureTimeOption===f.DEPART_AT,value:f.DEPART_AT},e),E("option",{selected:this._departureTimeOption===f.UNSPECIFIED,value:f.UNSPECIFIED},i)),this._departureTimeOption===f.DEPART_AT?this._renderTimeControls():null)}_renderStops(){const{stops:e}=this.viewModel.layer;let t=0;for(const r of this._stopsToSearches.keys())e.includes(r)||this._disposeSearch(r);for(const r of e){const e=this.acquireSearch(r);"none"!==e.activeMenu&&(t+=1),null!=r.name&&(e.searchTerm=r.name)}const s=e.toArray().map(((s,i)=>{const r=e.length,o=i>1&&null==s.geometry,n={[L.radioUnchecked]:i>=0&&i<r-1,[L.radioChecked]:i===r-1},a={[M.lastStopIconContainer]:i===r-1},l={[M.validStopRow]:!o},c=e.at(i+1),d=c&&null!=c.geometry,u=i===r-1,h=i===r-2,p=2===r&&0===i||r>2&&!u&&!h||r>2&&h&&d||r>2&&u&&null==s.geometry,v=r<3,m=this.acquireSearch(s),{messages:_}=this,{removeStop:g,reverseStops:S,unlocated:y}=_,w=null!=s.geometry&&null!=s.name?s.name:y,f=x(i+1),b=`${_.stopLabel} ${f} (${w})`,T=`${this.id}__stop--${i}`,C=!!m.searchTerm&&!!m.selectedResult&&null!=s.geometry&&m.selectedResult.name===s.name,k={zIndex:"none"!==m.activeMenu?""+t--:""};return E("li",{afterCreate:this._handleStopFieldCreation,"aria-label":b,bind:this,class:this.classes(M.stopRow,l),"data-stop-index":i,id:T,key:i,styles:k},E("div",{class:M.stopHandle},E("span",{"aria-hidden":"true",class:this.classes(M.stopIcon,L.handleVertical,M.stopHandleIcon,M.interactiveStopIcon),onpointerdown:this._handleDragHandlePointerDown}),E("div",{"aria-labelledby":T,bind:this,class:this.classes(M.stopIconContainer,a),"data-stop-index":i,onclick:this._handleStopIconClick,onkeydown:this._handleStopIconClick,role:"button"},E("span",{class:this.classes(M.stopIcon,n),tabIndex:C?0:void 0}))),E("div",{class:M.stopInput},m.render()),E("div",{class:M.stopOptions,role:"group"},E("div",{"aria-label":g,bind:this,class:M.removeStopButton,"data-stop-index":i,hidden:v,onclick:this._handleRemoveStop,onkeydown:this._handleRemoveStop,role:"button",tabIndex:0,title:g},E("span",{"aria-hidden":"true",class:this.classes(M.stopIcon,M.removeStop,L.trash,M.interactiveStopIcon)}),E("span",{class:L.fontFallbackText},"removeStopTitle")),E("div",{"aria-label":S,bind:this,class:M.reverseStops,hidden:p,onclick:this._handleReverseStops,onkeydown:this._handleReverseStops,role:"button",tabIndex:0,title:S},E("span",{"aria-hidden":"true",class:this.classes(M.stopIcon,L.upDownArrows,M.interactiveStopIcon)}),E("span",{class:L.fontFallbackText},"removeStopTitle"))))})),i=this._renderAddStop();return E("div",null,E("ol",{afterCreate:this._setUpDragAndDropStops,class:M.stops,role:"group"},s),i)}_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&&null!=s.geometry?E("div",{class:M.toolbarSection},E("div",{class:M.toolbarButtons},E("calcite-button",{appearance:"outline",class:M.addStopButton,iconStart:"plus",key:M.addStopButton,kind:"neutral",label:this.messages.addStop,onclick:()=>{this._addNewPlaceholder()},round:!0,scale:"s",width:"full"},this.messages.addStop))):null}_handleStopIconClick(e){const t=J(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=J(e),i=null!=s?this.viewModel.layer?.stops.at(s):void 0;if(t===i){const e=this.acquireSearch(i);e.when((()=>{this.renderNow(),e.focus()}))}this._newPlaceholderStop=null}_handleStopInputBlur(e,t){if(this._saveLayer.opened)return;this.removeHandles(N);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,i=null!=t.geometry&&null!=e.selectedResult?.feature.geometry&&t.geometry!==e.selectedResult?.feature.geometry;if((s||i)&&"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._getDirections()),this.scheduleRender()):this._pointerDownUpHandle?.pause())}),this._autoStopRemovalDelay))}_handleStopInputFocus(e,t){this._pointerDownUpHandle?.resume();const{view:s}=this;if(this.hasHandles(N)||!s)return;const r=s.cursor;this.addHandles([i((()=>{s.cursor=r})),o((()=>e.searchTerm),(t=>{e.destroyed||(s.cursor=t.length?r:"copy")}),n)],N),this._activeStop=t}_prepViewClick(){const{view:e}=this.viewModel;r(e),r(e.surface);const t=s(e,"click",this._handleViewClick.bind(this)),i=s(e.surface,"click",(()=>{clearTimeout(this._autoStopRemovalTimeoutId),i.pause()}));return{remove(){i.remove(),t.remove()},pause(){i.pause(),t.pause()},resume(){i.resume(),t.resume()}}}_prepPointerDownUpClick(){const e=s(document,"pointerdown",(e=>{this._pointerPressedSearchSuggestionStop=F(e)?this._activeStop:null})),t=s(document,"pointerup",(e=>{this._pointerDownUpHandle?.pause();const t=F(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 i=e?.results[0].results;if(!i)return;const{feature:r,name:o}=i[0];t.geometry=r.geometry,t.name=o,s.searchTerm=o})),this.scheduleRender()),this._viewClickHandle?.pause(),clearTimeout(this._autoStopRemovalTimeoutId)}_addNewPlaceholder(){if(this._pointerDownUpHandle?.pause(),this._newPlaceholderStop)return;const e=new p({symbol:new v});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._getDirections()}_handleRemoveStop(e){const{layer:t}=this.viewModel;if(!t)return;const s=J(e.currentTarget);if(null==s)return;const{stops:i,routeInfo:r}=t,o=i.at(s);this._removeStop(o),null==o.geometry&&null!=r||this._getDirections()}_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);s.value===f.NOW?(this._departureTimeOption=f.NOW,this.viewModel.departureTime=f.NOW,this.removeHandles(V),this._getDirections()):s.value===f.DEPART_AT?(this._departureTimeOption=f.DEPART_AT,this.addHandles(o((()=>[this._datePicker.value,this._timePicker.value]),(()=>{this._updateDepartureTime(),this._getDirections()}),n),V)):(this._departureTimeOption=f.UNSPECIFIED,this.viewModel.departureTime=null,this._getDirections())}_updateDepartureTime(){const e=this._datePicker.value,t=this._timePicker.value;e&&t&&(this.viewModel.departureTime=new Date(e.getFullYear(),e.getMonth(),e.getDate(),t.getHours(),t.getMinutes()))}_renderTimeControls(){return E("div",{class:M.departureTimeControls,key:"esri-directions__time-controls",role:"group"},this._datePicker.render(),this._timePicker.render())}_renderSectionSplitter(){return E("div",{class:M.sectionSplitter})}_renderSaveContainer(){const{saveButton:e,saveAsButton:t,printButton:s,layerDetails:i}=this.visibleElements;return e||t||s||i?E("div",{class:M.saveSection,key:M.saveSection},this._renderSaveButtons(),this._renderRouteLayerDetailsLink()):null}_renderSaveButtons(){const{saveButton:e,saveAsButton:t,printButton:s}=this.visibleElements;return e||t||s?E("div",{class:M.saveButtons,key:M.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,i=null!=t&&("admin"===s||"update"===s);return E("calcite-button",{appearance:"outline",class:M.saveButton,disabled:!i,iconStart:"save",key:M.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:M.saveAsButtonPopover,key:M.saveAsButtonPopover},E("calcite-button",{afterCreate:e=>{this._saveAsButtonNode=e},appearance:"outline",class:M.saveAsButton,disabled:e,iconStart:"duplicate",key:M.saveAsButton,label:this.messagesCommon.saveAs,onclick:()=>this._handleSaveAsButtonClick(),width:"full"},this.messagesCommon.saveAs))}_renderSavePopover(){return E("calcite-popover",{label:this._saveLayer.label,open:this._saveLayer.opened,overlayPositioning:"fixed",referenceElement:this._saveAsButtonNode},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:M.printButton,iconStart:"print",key:M.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,i=`${s}/home/item.html?id=${t}`;return E("calcite-link",{class:M.layerDetailsLink,href:i,key:M.layerDetailsLink,target:"_blank"},this.messages.viewLayerDetails)}_handleSaveButtonClick(){this.viewModel.layer.save()}_renderDirectionsContainer(){return E("div",{class:this.classes(M.directionsSection,M.section),key:"esri-directions__container"},this._renderDirectionsContainerContent())}_renderLoader(){return E("div",{class:M.loader,key:"loader"})}_renderWarningCard(){return E("div",{class:M.warningCard,role:"alert"},E("div",{class:M.warningHeader},E("span",{"aria-hidden":"true",class:L.noticeTriangle}),E(P,{class:M.warningHeading,level:this.headingLevel},this.messagesCommon.warning)),E("div",{class:M.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(M.summary,this._saveLayer.opened&&I.buttonDisabled),key:"esri-directions__summary",role:"group"},this._renderCosts(),this._renderRouteActions(),this._renderManeuverSections()):E("div",{class:I.empty,key:"esri-directions__placeholder"},this._renderPlaceholder(),E(P,{class:M.message,level:this.headingLevel},this.messages.directionsPlaceholder))}_renderPlaceholder(){return E("svg",{class:I.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(P,{class:M.messageHeading,level:this.headingLevel},e)}_renderRouteActions(){return E("div",{class:M.routeActions},E("button",{"aria-label":this.messages.clearRoute,bind:this,class:this.classes(M.clearRouteButton,I.button,I.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:i}=e;if(null==t||null==s)return null;const r=[];let o=null;for(const n of t){const{objectId:e,stopId:t}=n;if(null!=t){const e=i.find((({objectId:e})=>e===t)),s=0===r.length;null!=o&&o.stop===e||(o={stop:e,directions:[],open:s},r.push(o));continue}if(null==o)continue;const a=s.find((({directionPointId:t})=>t===e));null!=a&&o.directions.push({directionPoint:n,directionLine:a})}return r}_renderManeuverSections(){return null==this._sections?null:E("div",{class:M.maneuvers,role:"group"},this._sections.map(((e,t)=>{const{open:s}=e;let i;e.directions.length>0&&s&&(i=E("ol",{class:M.maneuverList},e.directions.map((e=>this._renderManeuver(e)))));const r=this._sections.length>2,o=t===this._sections.length-1,n={[M.collapsibleSection]:r},a={[L.down]:!s,[L.up]:s};let l;if(r&&!o){const t=s?this.messagesCommon.close:this.messagesCommon.open;l=E("header",{class:this.classes(M.maneuverSectionHeader,M.maneuverSectionToggle),key:M.maneuverSectionHeader},E("div",{"aria-expanded":s.toString(),"aria-label":t,bind:this,class:M.maneuverSectionHeaderButton,"data-maneuver-section":e,onclick:this._handleSectionToggle,onkeydown:this._handleSectionToggle,role:"button",tabIndex:0,title:t},E(P,{class:M.maneuverSectionTitle,level:this.headingLevel},e.stop.name),E("span",{"aria-hidden":"true",class:this.classes(a)})))}else l=E("header",{class:M.maneuverSectionHeader,key:M.maneuverSectionHeader},E(P,{class:M.maneuverSectionTitle,level:this.headingLevel},e.stop.name));return E("section",{class:this.classes(M.maneuverSection,n),key:t},l,i)})))}_handleSectionToggle(e){const t=Q(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:i}=e,{primaryCosts:r,secondaryCosts:o,zoomToRoute:n}=this.messages,a=this._renderEta();return E("div",{"aria-label":n,bind:this,class:M.directionCosts,onclick:this._handleSummaryInteraction,onkeydown:this._handleSummaryInteraction,role:"button",tabIndex:0,title:n},E("div",{class:M.costsDetails,role:"group"},E("div",{class:M.primaryCosts,title:r},i),E("div",{class:M.verticalSplitter}),E("div",{class:M.secondaryCosts,title:o},s)),a)}_renderEta(){const{directionPoints:e}=this.viewModel.layer,{eta:t}=this.messages;if(null==e)return null;const s=e.at(-1).arrivalTime,i=U("short-time");return s&&this._departureTimeOption!==f.UNSPECIFIED?E("div",{class:M.arrivalTimeContainer,title:t},E("span",{class:M.arrivalTime},O(s,i))," ",$(s)):null}_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=C))}_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:i,duration:r}=s,{messages:o,messagesUnits:n,unit:a}=this,l=y(n,i??0,a),c=w(r??0),d=l&&c?`${l}&nbsp;&middot;&nbsp;${c}`:`${l}${c}`,u=this._getFormattedManeuverText(t),{objectId:h,directionPointType:p}=t,v=b(p),m=`esri-directions__maneuver-${h}`,_=`esri-directions__intermediate-costs-${h}`,g={[M.maneuverActive]:this._activeManeuver===s};return E("li",{"aria-labelledby":`${m} ${_}`,bind:this,class:this.classes(M.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},v?E("calcite-icon",{alt:"",class:M.maneuverIcon,icon:v}):null,E("div",{class:M.maneuverCostsContainer},E("span",{id:m,innerHTML:u??""}),E("div",{class:M.maneuverCosts},E("div",{class:M.horizontalSplitter}),E("div",{"aria-hidden":"true",class:M.intermediateCost,id:_,innerHTML:d,title:o.intermediateCosts}))))}_handleManeuverClick(e){const t=X(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=X(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=X(e.currentTarget);t&&(this._focusedManeuver=t,this.viewModel.highlight(t))}_getFormattedManeuverText(e){const{displayText:t,name:s,intersectingName:i}=e;if(null==t)return"";let r=t;return null!=s&&r.includes(s)&&(r=r.replace(s,`<strong>${s}</strong>`)),null!=i&&r.includes(i)&&(r=r.replace(i,`<strong>${i}</strong>`)),r}_getCostSummary(){const{messagesUnits:e,unit:t,viewModel:s}=this,{routeInfo:i}=s.layer;if(null==i)return null;const r=i.totalDistance??0,o=i.totalDuration??0;return{distance:y(e,r,t),duration:w(o)}}async _getDirections(){const e=this.viewModel.layer?.stops.filter((({geometry:e})=>null!=e));if(e&&!(e.length<2))try{await this.viewModel.getDirections()}catch{}}};e([c()],q.prototype,"apiKey",null),e([c(h)],q.prototype,"defaultUnit",void 0),e([c()],q.prototype,"goToOverride",null),e([c()],q.prototype,"headingLevel",void 0),e([c()],q.prototype,"iconClass",void 0),e([c()],q.prototype,"icon",void 0),e([c()],q.prototype,"label",null),e([c({readOnly:!0})],q.prototype,"lastRoute",null),e([c()],q.prototype,"layer",null),e([c()],q.prototype,"maxStops",null),e([c(),A("esri/widgets/Directions/t9n/Directions")],q.prototype,"messages",void 0),e([c(),A("esri/t9n/common")],q.prototype,"messagesCommon",void 0),e([c(),A("esri/core/t9n/Units")],q.prototype,"messagesUnits",void 0),e([c()],q.prototype,"searchProperties",void 0),e([c()],q.prototype,"unit",null),e([c()],q.prototype,"view",null),e([c({type:g})],q.prototype,"viewModel",void 0),e([c()],q.prototype,"visibleElements",void 0),e([d("visibleElements")],q.prototype,"castVisibleElements",null),e([H()],q.prototype,"_handleStopIconClick",null),e([H()],q.prototype,"_handleClearRouteClick",null),e([H()],q.prototype,"_handleReverseStops",null),e([H()],q.prototype,"_handleRemoveStop",null),e([H()],q.prototype,"_handleSectionToggle",null),e([H()],q.prototype,"_handleSummaryInteraction",null),e([H()],q.prototype,"_handleManeuverClick",null),q=e([u("esri.widgets.Directions")],q);const G=q;function Y(e){return e?.["data-mode"]}function J(e){return e?.["data-stop-index"]}function Q(e){return e?.["data-maneuver-section"]}function X(e){return e?.["data-maneuver"]}export{G 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.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../chunks/tslib.es6.js";import{ignoreAbortErrors as t}from"../core/promiseUtils.js";import{property as s}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as i}from"../core/accessorSupport/decorators/subclass.js";import o from"./Widget.js";import r from"./DistanceMeasurement2D/DistanceMeasurement2DViewModel.js";import{globalCss as n}from"./support/globalCss.js";import{legacyIcon as a}from"./support/legacyIcon.js";import{MeasurementWidgetContent as l}from"./support/MeasurementWidgetContent.js";import"./support/widgetUtils.js";import{messageBundle as p}from"./support/decorators/messageBundle.js";import{tsx as u}from"./support/jsxFactory.js";const m="esri-distance-measurement-2d",c={base:m,newMeasurementButton:`${m}__clear-button`,widgetIcon:a.measureLine};let d=class extends o{constructor(e,t){super(e,t),this.iconClass=c.widgetIcon,this.icon=null,this.messages=null,this.messagesCommon=null,this.viewModel=new r}get active(){return this.viewModel.active}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get unit(){return this.viewModel.unit}set unit(e){this.viewModel.unit=e}get unitOptions(){return this.viewModel.unitOptions}set unitOptions(e){this.viewModel.unitOptions=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}get visible(){return this.viewModel.visible}set visible(e){this.viewModel.visible=e}render(){const{messages:e,messagesCommon:s,unit:i,unitOptions:o,viewModel:r}=this,{active:a,measurementLabel:p,state:m,supported:d}=r;return u("div",{"aria-label":this.messages.widgetLabel,key:this,class:this.classes(c.base,n.widget,n.panel),role:"presentation"},this.visible?u(l,{active:a,measurementItems:[{key:"distance",title:e.distance,value:p}],messages:{...e,notApplicable:s.notApplicable},newMeasurementButtonClass:c.newMeasurementButton,onNewMeasurementClick:()=>{t(this.viewModel.start())},onUnitChange:e=>{this.unit=e},state:m,supported:d,unit:i,unitOptions:o}):null)}};e([s({readOnly:!0})],d.prototype,"active",null),e([s()],d.prototype,"iconClass",void 0),e([s()],d.prototype,"icon",void 0),e([s()],d.prototype,"label",null),e([s()],d.prototype,"uiStrings",void 0),e([s(),p("esri/widgets/DistanceMeasurement2D/t9n/DistanceMeasurement2D")],d.prototype,"messages",void 0),e([s(),p("esri/t9n/common")],d.prototype,"messagesCommon",void 0),e([s()],d.prototype,"unit",null),e([s()],d.prototype,"unitOptions",null),e([s()],d.prototype,"view",null),e([s({type:r})],d.prototype,"viewModel",void 0),e([s({type:Boolean})],d.prototype,"visible",null),d=e([i("esri.widgets.DistanceMeasurement2D")],d);const v=d;export{v as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import{ignoreAbortErrors as t}from"../core/promiseUtils.js";import{property as s}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as i}from"../core/accessorSupport/decorators/subclass.js";import o from"./Widget.js";import r from"./DistanceMeasurement2D/DistanceMeasurement2DViewModel.js";import{globalCss as n}from"./support/globalCss.js";import{legacyIcon as a}from"./support/legacyIcon.js";import{MeasurementWidgetContent as l}from"./support/MeasurementWidgetContent.js";import"./support/widgetUtils.js";import{messageBundle as p}from"./support/decorators/messageBundle.js";import{tsx as u}from"./support/jsxFactory.js";const m="esri-distance-measurement-2d",c={base:m,newMeasurementButton:`${m}__clear-button`,widgetIcon:a.measureLine};let d=class extends o{constructor(e,t){super(e,t),this.iconClass=c.widgetIcon,this.icon=null,this.messages=null,this.messagesCommon=null,this.viewModel=new r}get active(){return this.viewModel.active}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get unit(){return this.viewModel.unit}set unit(e){this.viewModel.unit=e}get unitOptions(){return this.viewModel.unitOptions}set unitOptions(e){this.viewModel.unitOptions=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}get visible(){return this.viewModel.visible}set visible(e){this.viewModel.visible=e}render(){const{messages:e,messagesCommon:s,unit:i,unitOptions:o,viewModel:r}=this,{active:a,measurementLabel:p,state:m,supported:d}=r;return u("div",{"aria-label":this.messages.widgetLabel,class:this.classes(c.base,n.widget,n.panel),key:this,role:"presentation"},this.visible?u(l,{active:a,measurementItems:[{key:"distance",title:e.distance,value:p}],messages:{...e,notApplicable:s.notApplicable},newMeasurementButtonClass:c.newMeasurementButton,state:m,supported:d,unit:i,unitOptions:o,onNewMeasurementClick:()=>{t(this.viewModel.start())},onUnitChange:e=>{this.unit=e}}):null)}};e([s({readOnly:!0})],d.prototype,"active",null),e([s()],d.prototype,"iconClass",void 0),e([s()],d.prototype,"icon",void 0),e([s()],d.prototype,"label",null),e([s()],d.prototype,"uiStrings",void 0),e([s(),p("esri/widgets/DistanceMeasurement2D/t9n/DistanceMeasurement2D")],d.prototype,"messages",void 0),e([s(),p("esri/t9n/common")],d.prototype,"messagesCommon",void 0),e([s()],d.prototype,"unit",null),e([s()],d.prototype,"unitOptions",null),e([s()],d.prototype,"view",null),e([s({type:r})],d.prototype,"viewModel",void 0),e([s({type:Boolean})],d.prototype,"visible",null),d=e([i("esri.widgets.DistanceMeasurement2D")],d);const v=d;export{v 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.28/esri/copyright.txt for details.
4
4
  */
5
- import{isSome as t}from"../../../core/arrayUtils.js";import{loadCalciteComponents as o}from"../../support/componentsUtils.js";import"../../support/widgetUtils.js";import{tsx as s}from"../../support/jsxFactory.js";const i={base:"esri-editor__actions"},e=()=>o({button:()=>import("@esri/calcite-components/dist/components/calcite-button.js")});function r({buttons:o,key:e}){return s("div",{key:e??"footer-actions",slot:"footer",class:i.base},o.filter(t).map((({disabled:t,onClick:o,label:i,...e},r)=>s("calcite-button",{key:`action-${r}`,slot:"footer-actions",disabled:t??!1,onclick:o,width:"full",...e},i))))}export{r as FooterActions,i as css,e as loadFooterActionsComponents};
5
+ import{isSome as t}from"../../../core/arrayUtils.js";import{loadCalciteComponents as o}from"../../support/componentsUtils.js";import"../../support/widgetUtils.js";import{tsx as s}from"../../support/jsxFactory.js";const i={base:"esri-editor__actions"},e=()=>o({button:()=>import("@esri/calcite-components/dist/components/calcite-button.js")});function r({buttons:o,key:e}){return s("div",{class:i.base,key:e??"footer-actions",slot:"footer"},o.filter(t).map((({disabled:t,onClick:o,label:i,...e},r)=>s("calcite-button",{disabled:t??!1,key:`action-${r}`,onclick:o,slot:"footer-actions",width:"full",...e},i))))}export{r as FooterActions,i as css,e as loadFooterActionsComponents};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{warningIcon as e}from"../icons.js";import{loadCalciteComponents as o}from"../../support/componentsUtils.js";import"../../support/widgetUtils.js";import{tsx as s,tsxFragment as i}from"../../support/jsxFactory.js";const t={notice:"esri-editor__notice"},r=()=>o({notice:()=>import("@esri/calcite-components/dist/components/calcite-notice.js")});function n({workflow:o,messages:t}){return s(i,null,o?.reliesOnOwnerAdminPrivileges?s(c,{message:t.ownerAdminNotice}):void 0,o?.hasInvalidFormTemplate?s(c,{message:t.formFieldUpdateError,icon:e}):void 0,o?.hasUnsupportedFields?s(c,{message:t.formFieldUnsupportedUpdateError,icon:e}):void 0)}function c({message:e,...o}){return s("calcite-notice",{open:!0,scale:"s",class:t.notice,...o},s("div",{slot:"message"},e))}export{c as Notice,n as Notices,t as css,r as loadNoticesComponents};
5
+ import{warningIcon as e}from"../icons.js";import{loadCalciteComponents as o}from"../../support/componentsUtils.js";import"../../support/widgetUtils.js";import{tsx as s,tsxFragment as i}from"../../support/jsxFactory.js";const t={notice:"esri-editor__notice"},r=()=>o({notice:()=>import("@esri/calcite-components/dist/components/calcite-notice.js")});function n({workflow:o,messages:t}){return s(i,null,o?.reliesOnOwnerAdminPrivileges?s(c,{message:t.ownerAdminNotice}):void 0,o?.hasInvalidFormTemplate?s(c,{icon:e,message:t.formFieldUpdateError}):void 0,o?.hasUnsupportedFields?s(c,{icon:e,message:t.formFieldUnsupportedUpdateError}):void 0)}function c({message:e,...o}){return s("calcite-notice",{class:t.notice,open:!0,scale:"s",...o},s("div",{slot:"message"},e))}export{c as Notice,n as Notices,t as css,r as loadNoticesComponents};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{loadCalciteComponents as e}from"../../support/componentsUtils.js";import{classes as t}from"../../support/widgetUtils.js";import{tsx as s}from"../../support/jsxFactory.js";const n="esri-editor__panel-content",o={base:n,message:`${n}__message`,section:`${n}__section`,sectionGroup:`${n}__section__group`,scrimContainer:`${n}__scrim-container`},i=()=>e({scrim:()=>import("@esri/calcite-components/dist/components/calcite-scrim.js")});function c(e,...n){return s("div",{key:e?.key??"panel-content",class:t(o.base,e?.showScrimOverlay?o.scrimContainer:void 0)},...n,e?.showScrimOverlay?s("calcite-scrim",null):void 0)}function r(e,...t){return s("div",{key:e?.key??"panel-content-message",class:o.message,"data-testid":"panel-content-message"},...t)}function a(e,...t){return s("div",{key:e?.key??"panel-content-section",class:o.section},...t)}function p(e,...t){return s("div",{key:e?.key??"panel-content-section-group",class:o.sectionGroup},...t)}export{c as PanelContent,r as PanelContentMessage,a as PanelContentSection,p as PanelContentSectionGroup,o as css,i as loadPanelContentComponents};
5
+ import{loadCalciteComponents as e}from"../../support/componentsUtils.js";import{classes as t}from"../../support/widgetUtils.js";import{tsx as s}from"../../support/jsxFactory.js";const n="esri-editor__panel-content",o={base:n,message:`${n}__message`,section:`${n}__section`,sectionGroup:`${n}__section__group`,scrimContainer:`${n}__scrim-container`},i=()=>e({scrim:()=>import("@esri/calcite-components/dist/components/calcite-scrim.js")});function c(e,...n){return s("div",{class:t(o.base,e?.showScrimOverlay?o.scrimContainer:void 0),key:e?.key??"panel-content"},...n,e?.showScrimOverlay?s("calcite-scrim",null):void 0)}function r(e,...t){return s("div",{class:o.message,"data-testid":"panel-content-message",key:e?.key??"panel-content-message"},...t)}function a(e,...t){return s("div",{class:o.section,key:e?.key??"panel-content-section"},...t)}function p(e,...t){return s("div",{class:o.sectionGroup,key:e?.key??"panel-content-section-group"},...t)}export{c as PanelContent,r as PanelContentMessage,a as PanelContentSection,p as PanelContentSectionGroup,o as css,i as loadPanelContentComponents};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{loadSettingsComponents as e,Settings as o}from"./Settings.js";import{loadCalciteComponents as t}from"../../support/componentsUtils.js";import{tsx as n}from"../../support/jsxFactory.js";const s={base:"esri-editor__panel-toolbar"},a=()=>Promise.all([t({button:()=>import("@esri/calcite-components/dist/components/calcite-button.js")}),e()]);function r({editorViewModel:e,messagesCommon:t,visibleElements:a}){const{sketchViewModel:r}=e;return n("div",{key:"panel-toolbar",class:s.base},n(o,{editorViewModel:e,messagesCommon:t,visibleElements:a}),a.undoRedoButtons&&[n("calcite-button",{key:"undo-button",label:t.undo,appearance:"transparent",kind:"neutral",alignment:"center",iconStart:"undo",scale:"l",disabled:!r.canUndo(),onclick:()=>r.undo()},t.undo),n("calcite-button",{key:"redo-button",label:t.redo,appearance:"transparent",kind:"neutral",alignment:"center",iconStart:"redo",scale:"l",disabled:!r.canRedo(),onclick:()=>r.redo()},t.redo)])}export{r as PanelToolbar,s as css,a as loadPanelToolbarComponents};
5
+ import{loadSettingsComponents as e,Settings as o}from"./Settings.js";import{loadCalciteComponents as t}from"../../support/componentsUtils.js";import{tsx as n}from"../../support/jsxFactory.js";const s={base:"esri-editor__panel-toolbar"},a=()=>Promise.all([t({button:()=>import("@esri/calcite-components/dist/components/calcite-button.js")}),e()]);function r({editorViewModel:e,messagesCommon:t,visibleElements:a}){const{sketchViewModel:r}=e;return n("div",{class:s.base,key:"panel-toolbar"},n(o,{editorViewModel:e,messagesCommon:t,visibleElements:a}),a.undoRedoButtons?[n("calcite-button",{alignment:"center",appearance:"transparent",disabled:!r.canUndo(),iconStart:"undo",key:"undo-button",kind:"neutral",label:t.undo,onclick:()=>r.undo(),scale:"l"},t.undo),n("calcite-button",{alignment:"center",appearance:"transparent",disabled:!r.canRedo(),iconStart:"redo",key:"redo-button",kind:"neutral",label:t.redo,onclick:()=>r.redo(),scale:"l"},t.redo)]:null)}export{r as PanelToolbar,s as css,a as loadPanelToolbarComponents};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{warningIcon as t}from"../icons.js";import{loadCalciteComponents as e}from"../../support/componentsUtils.js";import{Heading as i}from"../../support/Heading.js";import"../../support/widgetUtils.js";import{tsx as s}from"../../support/jsxFactory.js";const a="esri-editor__prompt",o={base:a,header:`${a}__header`,heading:`${a}__header__heading`,message:`${a}__message`,divider:`${a}__divider`,actions:`${a}__actions`},c=()=>e({button:()=>import("@esri/calcite-components/dist/components/calcite-button.js"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js"),scrim:()=>import("@esri/calcite-components/dist/components/calcite-scrim.js")});function r({actions:e,context:a,headingLevel:c,message:r,title:p}){const d=e.secondary;let m;switch(a){case"danger":m="danger";break;case"info":m="brand";break;default:m="neutral"}const l=s("calcite-button",{afterCreate:n,appearance:"solid",key:"prompt-primary-button",kind:m,onclick:e.primary.action,scale:"m",width:d?"half":"full","data-testid":"primary-prompt-button"},e.primary.label),u=d&&s("calcite-button",{appearance:"outline",key:"prompt-secondary-button",kind:m,onclick:d.action,scale:"m",width:"half","data-testid":"secondary-prompt-button"},d.label);return s("calcite-scrim",{key:"prompt","data-testid":"prompt"},s("div",{class:`${o.base}--${a}`},s("div",{class:o.header},s("calcite-icon",{icon:t}),s(i,{class:o.heading,level:c},p)),s("div",{class:o.message},r),s("div",{class:o.divider}),s("div",{class:o.actions},u,l)))}function n(t){requestAnimationFrame((()=>t.setFocus()))}export{r as Prompt,o as css,c as loadPromptComponents};
5
+ import{warningIcon as t}from"../icons.js";import{loadCalciteComponents as e}from"../../support/componentsUtils.js";import{Heading as i}from"../../support/Heading.js";import"../../support/widgetUtils.js";import{tsx as s}from"../../support/jsxFactory.js";const a="esri-editor__prompt",o={base:a,header:`${a}__header`,heading:`${a}__header__heading`,message:`${a}__message`,divider:`${a}__divider`,actions:`${a}__actions`},c=()=>e({button:()=>import("@esri/calcite-components/dist/components/calcite-button.js"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js"),scrim:()=>import("@esri/calcite-components/dist/components/calcite-scrim.js")});function r({actions:e,context:a,headingLevel:c,message:r,title:p}){const d=e.secondary;let m;switch(a){case"danger":m="danger";break;case"info":m="brand";break;default:m="neutral"}const l=s("calcite-button",{afterCreate:n,appearance:"solid","data-testid":"primary-prompt-button",key:"prompt-primary-button",kind:m,onclick:e.primary.action,scale:"m",width:d?"half":"full"},e.primary.label),u=d&&s("calcite-button",{appearance:"outline","data-testid":"secondary-prompt-button",key:"prompt-secondary-button",kind:m,onclick:d.action,scale:"m",width:"half"},d.label);return s("calcite-scrim",{"data-testid":"prompt",key:"prompt"},s("div",{class:`${o.base}--${a}`},s("div",{class:o.header},s("calcite-icon",{icon:t}),s(i,{class:o.heading,level:c},p)),s("div",{class:o.message},r),s("div",{class:o.divider}),s("div",{class:o.actions},u,l)))}function n(t){requestAnimationFrame((()=>t.setFocus()))}export{r as Prompt,o as css,c as loadPromptComponents};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{loadCalciteComponents as t}from"../../support/componentsUtils.js";import o from"../../support/SketchTooltipControls.js";import s from"../../support/SnappingControls.js";import"../../support/widgetUtils.js";import{tsx as e}from"../../support/jsxFactory.js";import i from"../../support/SketchTooltipControls/VisibleElements.js";import n from"../../support/SnappingControls/VisibleElements.js";const p={settingsContainer:"esri-editor__settings"},r=()=>t({accordion:()=>import("@esri/calcite-components/dist/components/calcite-accordion.js"),"accordion-item":()=>import("@esri/calcite-components/dist/components/calcite-accordion-item.js")});function l({editorViewModel:t,messagesCommon:r,visibleElements:l}){const{labelOptions:c,snappingOptions:a,tooltipOptions:m,view:g}=t,d=[];return l.sketchTooltipControls&&d.push(e(o,{tooltipOptions:m,labelOptions:c,visibleElements:l.sketchTooltipControlsElements??new i,viewType:g?.type})),l.snappingControls&&d.push(e(s,{snappingOptions:a,view:g,visibleElements:l.snappingControlsElements??new n,afterCreate:t=>t.layerListOpen=!1})),0===d.length?null:e("calcite-accordion",{key:"settings",class:p.settingsContainer,appearance:"transparent"},e("calcite-accordion-item",{heading:r.settings,iconStart:"gear","data-testid":"settings"},d))}export{l as Settings,p as css,r as loadSettingsComponents};
5
+ import{loadCalciteComponents as t}from"../../support/componentsUtils.js";import o from"../../support/SketchTooltipControls.js";import s from"../../support/SnappingControls.js";import"../../support/widgetUtils.js";import{tsx as e}from"../../support/jsxFactory.js";import i from"../../support/SketchTooltipControls/VisibleElements.js";import n from"../../support/SnappingControls/VisibleElements.js";const p={settingsContainer:"esri-editor__settings"},r=()=>t({accordion:()=>import("@esri/calcite-components/dist/components/calcite-accordion.js"),"accordion-item":()=>import("@esri/calcite-components/dist/components/calcite-accordion-item.js")});function l({editorViewModel:t,messagesCommon:r,visibleElements:l}){const{labelOptions:c,snappingOptions:a,tooltipOptions:m,view:g}=t,d=[];return l.sketchTooltipControls&&d.push(e(o,{labelOptions:c,tooltipOptions:m,viewType:g?.type,visibleElements:l.sketchTooltipControlsElements??new i})),l.snappingControls&&d.push(e(s,{afterCreate:t=>t.layerListOpen=!1,snappingOptions:a,view:g,visibleElements:l.snappingControlsElements??new n})),0===d.length?null:e("calcite-accordion",{appearance:"transparent",class:p.settingsContainer,key:"settings"},e("calcite-accordion-item",{"data-testid":"settings",heading:r.settings,iconStart:"gear"},d))}export{l as Settings,p as css,r as loadSettingsComponents};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{substitute as e}from"../../../intl/substitute.js";import{loadFooterActionsComponents as t,FooterActions as o}from"./FooterActions.js";import{loadNoticesComponents as n,Notices as a}from"./Notices.js";import{loadPanelContentComponents as r,PanelContentMessage as s,PanelContentSectionGroup as i,PanelContentSection as l,PanelContent as u}from"./PanelContent.js";import{Heading as c,incrementHeadingLevel as m}from"../../support/Heading.js";import"../../support/widgetUtils.js";import{tsx as d,tsxFragment as p}from"../../support/jsxFactory.js";const f=()=>Promise.all([t(),n(),r()]);function h({editorViewModel:t,headingLevel:n,messages:r,messagesCommon:f,onDelete:h,onSave:g,renderAttachments:v,renderFeatureForm:w}){const{activeWorkflow:k,syncing:F}=t;if(!k)return null;const y=k.type,b="activeWorkflow"in k?k.activeWorkflow:void 0,j=b?.type,P=t.featureFormViewModel,S=b&&!b.hasPendingEdits||"update"===y&&!k.hasPendingEdits||F||P.updating,C="update"===y&&"create-features"!==j?f.update:f.create,A="create-features"===y&&"create-new"===k.createFeatureState,M="create-features"===y?k.numPendingFeatures:0,T=M>1?e(r.createFeaturesTemplate,{numFeatures:M}):C,V=k.shouldShowAttachments&&!t.featureFormViewModel.activeRelationshipInput,W=P.inputs.every((e=>!e.visible))&&!V?d(s,{key:"panel-content-message"},e(r.clickToFinishTemplate,{button:C})):d(l,{key:"panel-content-section"},d(a,{workflow:k,messages:r}),d(i,null,w(),V&&d("div",{key:"attachments"},d(c,{level:m(n)},r.attachments),v())));return d(p,null,d(u,{key:"attribute-panel-content",showScrimOverlay:A},W),d(o,{buttons:[{onClick:g,disabled:S,label:T},t.shouldShowDeleteButton?{appearance:"outline",onClick:h,disabled:F,kind:"danger",label:f.delete}:void 0]}))}export{h as UpdateFeaturePanelContent,f as loadUpdateFeaturePanelContentComponents};
5
+ import{substitute as e}from"../../../intl/substitute.js";import{loadFooterActionsComponents as t,FooterActions as o}from"./FooterActions.js";import{loadNoticesComponents as n,Notices as a}from"./Notices.js";import{loadPanelContentComponents as r,PanelContentMessage as s,PanelContentSectionGroup as i,PanelContentSection as l,PanelContent as u}from"./PanelContent.js";import{Heading as c,incrementHeadingLevel as m}from"../../support/Heading.js";import"../../support/widgetUtils.js";import{tsx as d,tsxFragment as p}from"../../support/jsxFactory.js";const f=()=>Promise.all([t(),n(),r()]);function h({editorViewModel:t,headingLevel:n,messages:r,messagesCommon:f,onDelete:h,onSave:g,renderAttachments:v,renderFeatureForm:w}){const{activeWorkflow:k,syncing:F}=t;if(!k)return null;const y=k.type,b="activeWorkflow"in k?k.activeWorkflow:void 0,j=b?.type,P=t.featureFormViewModel,S=b&&!b.hasPendingEdits||"update"===y&&!k.hasPendingEdits||F||P.updating,C="update"===y&&"create-features"!==j?f.update:f.create,A="create-features"===y&&"create-new"===k.createFeatureState,M="create-features"===y?k.numPendingFeatures:0,T=M>1?e(r.createFeaturesTemplate,{numFeatures:M}):C,V=k.shouldShowAttachments&&!t.featureFormViewModel.activeRelationshipInput,W=P.inputs.every((e=>!e.visible))&&!V?d(s,{key:"panel-content-message"},e(r.clickToFinishTemplate,{button:C})):d(l,{key:"panel-content-section"},d(a,{messages:r,workflow:k}),d(i,null,w(),V?d("div",{key:"attachments"},d(c,{level:m(n)},r.attachments),v()):null));return d(p,null,d(u,{key:"attribute-panel-content",showScrimOverlay:A},W),d(o,{buttons:[{onClick:g,disabled:S,label:T},t.shouldShowDeleteButton?{appearance:"outline",onClick:h,disabled:F,kind:"danger",label:f.delete}:void 0]}))}export{h as UpdateFeaturePanelContent,f as loadUpdateFeaturePanelContentComponents};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{MultipleModelsError as e,NoModelError as t}from"../../../geometry/support/meshErrors.js";import{Convert3DFailedError as s}from"../../../layers/graphics/sources/support/uploadAssetErrors.js";import{loadFooterActionsComponents as o,FooterActions as i}from"./FooterActions.js";import{loadPanelContentComponents as l,PanelContent as r,PanelContentSection as n}from"./PanelContent.js";import{loadCalciteComponents as c}from"../../support/componentsUtils.js";import{classes as a}from"../../support/widgetUtils.js";import{tsx as p,tsxFragment as d}from"../../support/jsxFactory.js";const u="esri-editor__upload-details",m={base:u,status:`${u}__status`,titleWrapper:`${u}__title-wrapper`,title:`${u}__title`,description:`${u}__description`,loader:`${u}__loader`,iconSuccess:`${u}__icon ${u}__icon--success`,iconError:`${u}__icon ${u}__icon--error`,fileList:`${u}__file-list`,file:`${u}__file`,fileIcon:`${u}__file-icon`,fileName:`${u}__file-name`},f=()=>Promise.all([c({icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js"),loader:()=>import("@esri/calcite-components/dist/components/calcite-loader.js")}),o(),l()]);function _(e){const{messages:t,key:s,upload:o}=e;return p(d,null,p(r,{key:s??"upload-details"},p(n,null,g(e))),"error"===o.state?p(i,{key:"upload-details-footer-actions",buttons:[{onClick:()=>o.retry(),label:t.modelUploads.error.uploadNew,iconStart:"upload-to"}]}):null)}function g(e){const t=y(e);return t?p("div",{class:m.base,key:"upload-details-content","data-testid":"upload-details"},p("div",{class:m.status,key:"status"},t.iconContent,p("div",{key:"text",class:m.titleWrapper},p("div",{key:"title",class:m.title},t.title),p("div",{key:"description",class:m.description},t.description))),k(e.upload)):null}function y({helpMessage:e,messages:t,upload:s}){switch(s.state){case"pending":{const{title:e,description:o}=t.modelUploads.pending;return{title:e,description:o,iconContent:p("calcite-loader",{"aria-hidden":!0,class:m.loader,label:"",scale:"s",type:"determinate",value:Math.min(Math.round(100*s.progress),1===s.progress?100:99)})}}case"success":{const{title:s}=t.modelUploads.success;return{title:s,description:e||t.helpMessages3d.mesh,iconContent:p("calcite-icon",{class:a(m.iconSuccess),icon:"check",scale:"l"})}}case"error":{const{title:e}=t.modelUploads.error;return{title:e,description:$(s.error,t),iconContent:p("calcite-icon",{class:a(m.iconError),icon:"exclamation-mark-circle",scale:"l"})}}default:return null}}function $(o,i){if(!o)return null;const l=i.modelUploads.error.messages;switch(o.constructor){case t:return l.noModel;case e:return l.multipleModels;case s:return l.conversionFailed;default:return l.default}}function k(e){return p("div",{class:m.fileList,key:"file-list"},e.files.map((e=>p("div",{class:m.file,key:`file-${e.name}`},p("calcite-icon",{class:m.fileIcon,icon:j(e),scale:"s"}),p("span",{class:m.fileName},h(e.name))))))}function h(e){return e.split("/").pop()?.split("\\").pop()??""}function j(e){const t=e.name.split(".").pop()?.toLowerCase();return(t?b[t]:null)??v}const v="file",C="file-shape",U="file-image",b={glb:C,gltf:C,jpeg:U,jpg:U,png:U,svg:U,zip:"file-zip"};export{_ as UploadDetails,m as css,f as loadUploadDetailsComponents};
5
+ import{MultipleModelsError as e,NoModelError as t}from"../../../geometry/support/meshErrors.js";import{Convert3DFailedError as s}from"../../../layers/graphics/sources/support/uploadAssetErrors.js";import{loadFooterActionsComponents as o,FooterActions as i}from"./FooterActions.js";import{loadPanelContentComponents as l,PanelContent as r,PanelContentSection as n}from"./PanelContent.js";import{loadCalciteComponents as c}from"../../support/componentsUtils.js";import{classes as a}from"../../support/widgetUtils.js";import{tsx as p,tsxFragment as d}from"../../support/jsxFactory.js";const u="esri-editor__upload-details",m={base:u,status:`${u}__status`,titleWrapper:`${u}__title-wrapper`,title:`${u}__title`,description:`${u}__description`,loader:`${u}__loader`,iconSuccess:`${u}__icon ${u}__icon--success`,iconError:`${u}__icon ${u}__icon--error`,fileList:`${u}__file-list`,file:`${u}__file`,fileIcon:`${u}__file-icon`,fileName:`${u}__file-name`},f=()=>Promise.all([c({icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js"),loader:()=>import("@esri/calcite-components/dist/components/calcite-loader.js")}),o(),l()]);function _(e){const{messages:t,key:s,upload:o}=e;return p(d,null,p(r,{key:s??"upload-details"},p(n,null,g(e))),"error"===o.state?p(i,{buttons:[{onClick:()=>o.retry(),label:t.modelUploads.error.uploadNew,iconStart:"upload-to"}],key:"upload-details-footer-actions"}):null)}function g(e){const t=y(e);return t?p("div",{class:m.base,"data-testid":"upload-details",key:"upload-details-content"},p("div",{class:m.status,key:"status"},t.iconContent,p("div",{class:m.titleWrapper,key:"text"},p("div",{class:m.title,key:"title"},t.title),p("div",{class:m.description,key:"description"},t.description))),k(e.upload)):null}function y({helpMessage:e,messages:t,upload:s}){switch(s.state){case"pending":{const{title:e,description:o}=t.modelUploads.pending;return{title:e,description:o,iconContent:p("calcite-loader",{"aria-hidden":!0,class:m.loader,label:"",scale:"s",type:"determinate",value:Math.min(Math.round(100*s.progress),1===s.progress?100:99)})}}case"success":{const{title:s}=t.modelUploads.success;return{title:s,description:e||t.helpMessages3d.mesh,iconContent:p("calcite-icon",{class:a(m.iconSuccess),icon:"check",scale:"l"})}}case"error":{const{title:e}=t.modelUploads.error;return{title:e,description:$(s.error,t),iconContent:p("calcite-icon",{class:a(m.iconError),icon:"exclamation-mark-circle",scale:"l"})}}default:return null}}function $(o,i){if(!o)return null;const l=i.modelUploads.error.messages;switch(o.constructor){case t:return l.noModel;case e:return l.multipleModels;case s:return l.conversionFailed;default:return l.default}}function k(e){return p("div",{class:m.fileList,key:"file-list"},e.files.map((e=>p("div",{class:m.file,key:`file-${e.name}`},p("calcite-icon",{class:m.fileIcon,icon:j(e),scale:"s"}),p("span",{class:m.fileName},h(e.name))))))}function h(e){return e.split("/").pop()?.split("\\").pop()??""}function j(e){const t=e.name.split(".").pop()?.toLowerCase();return(t?b[t]:null)??v}const v="file",C="file-shape",U="file-image",b={glb:C,gltf:C,jpeg:U,jpg:U,png:U,svg:U,zip:"file-zip"};export{_ as UploadDetails,m as css,f as loadUploadDetailsComponents};