@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{getAssetUrl as t}from"../assets.js";import{when as s}from"../core/reactiveUtils.js";import{property as a}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{getBasemapThumbnailUrl as o,isBasemap3D as r}from"../support/basemapUtils.js";import l from"./Widget.js";import n from"./BasemapGallery/BasemapGalleryViewModel.js";import{css as d}from"./BasemapGallery/css.js";import{loadCalciteComponents as p}from"./support/componentsUtils.js";import{globalCss as c}from"./support/globalCss.js";import{Heading as m}from"./support/Heading.js";import{accessibleHandler as h}from"./support/decorators/accessibleHandler.js";import{messageBundle as u}from"./support/decorators/messageBundle.js";import{tsx as g}from"./support/jsxFactory.js";import{onResize as v}from"./support/widgetUtils.js";const y={small:200,default:280,wide:420};let w=class extends l{constructor(e,t){super(e,t),this.disabled=!1,this.headingLevel=2,this.iconClass=d.widgetIcon,this.icon=null,this.messages=null,this.viewModel=new n,this._focusBasemapItemEnabled=!1,this._container=null,this._width=0,this._onContainerCreated=e=>{this._container=e}}initialize(){this.addHandles([v((()=>this._container),(({contentRect:e})=>{this._width=e.width})),s((()=>this.source),(()=>this.viewModel.load()),{sync:!0,initial:!0,once:!0})])}loadDependencies(){return p({scrim:()=>import("@esri/calcite-components/dist/components/calcite-scrim.js"),chip:()=>import("@esri/calcite-components/dist/components/calcite-chip.js")})}get activeBasemap(){return this.viewModel.activeBasemap}set activeBasemap(e){this.viewModel.activeBasemap=e}get includeCurrentBasemap(){return this.viewModel.includeCurrentBasemap}set includeCurrentBasemap(e){this.viewModel.includeCurrentBasemap=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get source(){return this.viewModel.source}set source(e){this.viewModel.source=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}render(){const e="loading"===this.source.state,t=this.disabled||"disabled"===this.viewModel.state,s=this.viewModel.items,a={[d.sourceLoading]:e,[c.disabled]:t},i=this._width;i<=y.small||i>=y.wide?a[d.layoutGrid]=!0:i<y.default&&(a[d.narrowItems]=!0);const o=e?g("div",{class:d.loader,key:"loader"}):null,r=e?null:s.length>0?g("ul",{bind:this,"aria-disabled":this.disabled,"aria-label":this.label,class:d.itemContainer,key:"item-container",onkeydown:this._handleKeyDown,role:"radiogroup"},s.map(((e,t)=>this._renderBasemapGalleryItem(e,t))).toArray()):g("div",{class:c.empty,key:"empty-message"},g(m,{level:this.headingLevel},this.messages.noBasemaps));return g("div",{key:"container",class:this.classes(d.base,c.widget,c.panelHeightOnly,a),afterCreate:this._onContainerCreated},0===this._width?null:[o,r])}_getRoundRobinIndex(e,t){return(e+t)%t}_handleKeyDown(e){const{key:t}=e;if(!["ArrowUp","ArrowDown","ArrowRight","ArrowLeft"].includes(t))return;e.preventDefault();const{items:s,activeBasemapIndex:a}=this.viewModel,i="ArrowUp"===t||"ArrowLeft"===t?this._getRoundRobinIndex(Math.max(a-1,-1),s.length):this._getRoundRobinIndex(a+1,s.length),o=s.at(i);"ready"===o?.state&&(this.viewModel.activeBasemap=o.basemap),this._focusBasemapItemEnabled=!0}_focusBasemapItem(e){this._focusBasemapItemEnabled&&0===e.tabIndex&&(e.focus(),this._focusBasemapItemEnabled=!1)}_handleClick(e){const t=e.currentTarget["data-item"];"ready"===t.state&&(this.viewModel.activeBasemap=t.basemap)}_renderBasemapGalleryItem(e,s){const a=o(e.basemap)||t("esri/themes/base/images/basemap-toggle-64.svg"),i=e.basemap.title,l=e.basemap.portalItem?.snippet,n=e.error?.message||l||i,{viewModel:{state:p,activeBasemapIndex:m}}=this,h=this.disabled||"disabled"===p,u=m===s,v=u||-1===m&&0===s?0:-1,y="loading"===p,w={[d.selectedItem]:u,[d.itemError]:"error"===e.state},b=`basemapgallery-item-${e.uid}`;return g("li",{"aria-checked":u.toString(),"aria-disabled":h.toString(),"aria-labelledby":b,bind:this,class:this.classes(d.item,w),"data-item":e,key:e.uid,role:"radio",tabIndex:v,title:n,afterUpdate:this._focusBasemapItem,onclick:this._handleClick,onkeydown:this._handleClick},g("img",{alt:"",class:d.itemThumbnail,src:a}),g("div",{key:"content",class:d.itemContent},g("div",{key:"title",class:d.itemTitle},g("span",{id:b},i)),r(e.basemap)?this._render3DTags():null),"loading"===e.state||u&&y?g("calcite-scrim",null,g("span",{key:"loader","aria-hidden":"true",role:"presentation",class:c.loaderAnimation})):null)}_render3DTags(){const{messages:e}=this;return g("div",{key:"tag",class:d.itemTagsContainer},g("calcite-chip",{key:"tag-3d",value:e.tag3D,scale:"s"},this.messages.tag3D),g("calcite-chip",{key:"tag-beta",value:e.tagBeta,scale:"s",appearance:"outline-fill"},this.messages.tagBeta))}};e([a()],w.prototype,"activeBasemap",null),e([a()],w.prototype,"disabled",void 0),e([a()],w.prototype,"headingLevel",void 0),e([a()],w.prototype,"iconClass",void 0),e([a()],w.prototype,"icon",void 0),e([a()],w.prototype,"label",null),e([a(),u("esri/widgets/BasemapGallery/t9n/BasemapGallery")],w.prototype,"messages",void 0),e([a()],w.prototype,"source",null),e([a()],w.prototype,"view",null),e([a()],w.prototype,"viewModel",void 0),e([a()],w.prototype,"_focusBasemapItemEnabled",void 0),e([a()],w.prototype,"_container",void 0),e([a()],w.prototype,"_width",void 0),e([h()],w.prototype,"_handleClick",null),w=e([i("esri.widgets.BasemapGallery")],w);const b=w;export{b as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import{getAssetUrl as t}from"../assets.js";import{when as s}from"../core/reactiveUtils.js";import{property as a}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{getBasemapThumbnailUrl as r,isBasemap3D as o}from"../support/basemapUtils.js";import l from"./Widget.js";import n from"./BasemapGallery/BasemapGalleryViewModel.js";import{css as d}from"./BasemapGallery/css.js";import{loadCalciteComponents as p}from"./support/componentsUtils.js";import{globalCss as c}from"./support/globalCss.js";import{Heading as m}from"./support/Heading.js";import{accessibleHandler as h}from"./support/decorators/accessibleHandler.js";import{messageBundle as u}from"./support/decorators/messageBundle.js";import{tsx as g}from"./support/jsxFactory.js";import{onResize as v}from"./support/widgetUtils.js";const y={small:200,default:280,wide:420};let b=class extends l{constructor(e,t){super(e,t),this.disabled=!1,this.headingLevel=2,this.iconClass=d.widgetIcon,this.icon=null,this.messages=null,this.viewModel=new n,this._focusBasemapItemEnabled=!1,this._container=null,this._width=0,this._onContainerCreated=e=>{this._container=e}}initialize(){this.addHandles([v((()=>this._container),(({contentRect:e})=>{this._width=e.width})),s((()=>this.source),(()=>this.viewModel.load()),{sync:!0,initial:!0,once:!0})])}loadDependencies(){return p({scrim:()=>import("@esri/calcite-components/dist/components/calcite-scrim.js"),chip:()=>import("@esri/calcite-components/dist/components/calcite-chip.js")})}get activeBasemap(){return this.viewModel.activeBasemap}set activeBasemap(e){this.viewModel.activeBasemap=e}get includeCurrentBasemap(){return this.viewModel.includeCurrentBasemap}set includeCurrentBasemap(e){this.viewModel.includeCurrentBasemap=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get source(){return this.viewModel.source}set source(e){this.viewModel.source=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}render(){const e="loading"===this.source.state,t=this.disabled||"disabled"===this.viewModel.state,s=this.viewModel.items,a={[d.sourceLoading]:e,[c.disabled]:t},i=this._width;i<=y.small||i>=y.wide?a[d.layoutGrid]=!0:i<y.default&&(a[d.narrowItems]=!0);const r=e?g("div",{class:d.loader,key:"loader"}):null,o=e?null:s.length>0?g("ul",{"aria-disabled":this.disabled,"aria-label":this.label,bind:this,class:d.itemContainer,key:"item-container",onkeydown:this._handleKeyDown,role:"radiogroup"},s.map(((e,t)=>this._renderBasemapGalleryItem(e,t))).toArray()):g("div",{class:c.empty,key:"empty-message"},g(m,{level:this.headingLevel},this.messages.noBasemaps));return g("div",{afterCreate:this._onContainerCreated,class:this.classes(d.base,c.widget,c.panelHeightOnly,a),key:"container"},0===this._width?null:[r,o])}_getRoundRobinIndex(e,t){return(e+t)%t}_handleKeyDown(e){const{key:t}=e;if(!["ArrowUp","ArrowDown","ArrowRight","ArrowLeft"].includes(t))return;e.preventDefault();const{items:s,activeBasemapIndex:a}=this.viewModel,i="ArrowUp"===t||"ArrowLeft"===t?this._getRoundRobinIndex(Math.max(a-1,-1),s.length):this._getRoundRobinIndex(a+1,s.length),r=s.at(i);"ready"===r?.state&&(this.viewModel.activeBasemap=r.basemap),this._focusBasemapItemEnabled=!0}_focusBasemapItem(e){this._focusBasemapItemEnabled&&0===e.tabIndex&&(e.focus(),this._focusBasemapItemEnabled=!1)}_handleClick(e){const t=e.currentTarget["data-item"];"ready"===t.state&&(this.viewModel.activeBasemap=t.basemap)}_renderBasemapGalleryItem(e,s){const a=r(e.basemap)||t("esri/themes/base/images/basemap-toggle-64.svg"),i=e.basemap.title,l=e.basemap.portalItem?.snippet,n=e.error?.message||l||i,{viewModel:{state:p,activeBasemapIndex:m}}=this,h=this.disabled||"disabled"===p,u=m===s,v=u||-1===m&&0===s?0:-1,y="loading"===p,b={[d.selectedItem]:u,[d.itemError]:"error"===e.state},w=`basemapgallery-item-${e.uid}`;return g("li",{afterUpdate:this._focusBasemapItem,"aria-checked":u.toString(),"aria-disabled":h.toString(),"aria-labelledby":w,bind:this,class:this.classes(d.item,b),"data-item":e,key:e.uid,onclick:this._handleClick,onkeydown:this._handleClick,role:"radio",tabIndex:v,title:n},g("img",{alt:"",class:d.itemThumbnail,src:a}),g("div",{class:d.itemContent,key:"content"},g("div",{class:d.itemTitle,key:"title"},g("span",{id:w},i)),o(e.basemap)?this._renderTags(e.basemap.portalItem?.tags):null),"loading"===e.state||u&&y?g("calcite-scrim",null,g("span",{"aria-hidden":"true",class:c.loaderAnimation,key:"loader",role:"presentation"})):null)}_renderTags(e){const t=e?.includes("beta");return g("div",{class:d.itemTagsContainer,key:"tag"},this._render3DTag(),t?this._renderBetaTag():null)}_render3DTag(){const{messages:e}=this;return g("calcite-chip",{key:"tag-3d",scale:"s",value:e.tag3D},this.messages.tag3D)}_renderBetaTag(){const{messages:e}=this;return g("calcite-chip",{appearance:"outline-fill",key:"tag-beta",scale:"s",value:e.tagBeta},this.messages.tagBeta)}};e([a()],b.prototype,"activeBasemap",null),e([a()],b.prototype,"disabled",void 0),e([a()],b.prototype,"headingLevel",void 0),e([a()],b.prototype,"iconClass",void 0),e([a()],b.prototype,"icon",void 0),e([a()],b.prototype,"label",null),e([a(),u("esri/widgets/BasemapGallery/t9n/BasemapGallery")],b.prototype,"messages",void 0),e([a()],b.prototype,"source",null),e([a()],b.prototype,"view",null),e([a()],b.prototype,"viewModel",void 0),e([a()],b.prototype,"_focusBasemapItemEnabled",void 0),e([a()],b.prototype,"_container",void 0),e([a()],b.prototype,"_width",void 0),e([h()],b.prototype,"_handleClick",null),b=e([i("esri.widgets.BasemapGallery")],b);const w=b;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 e}from"../chunks/tslib.es6.js";import t from"../core/Collection.js";import{eventKey as i}from"../core/events.js";import{watch as s,on as n,initial as r}from"../core/reactiveUtils.js";import{property as o}from"../core/accessorSupport/decorators/property.js";import{cast as l}from"../core/accessorSupport/decorators/cast.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as a}from"../core/accessorSupport/decorators/subclass.js";import d from"./Widget.js";import c from"./BasemapLayerList/BasemapLayerListViewModel.js";import h from"./LayerList/ListItem.js";import{findSelectedItem as u}from"./LayerList/support/layerListUtils.js";import{loadCalciteComponents as m}from"./support/componentsUtils.js";import{globalCss as g}from"./support/globalCss.js";import{Heading as p,incrementHeadingLevel as _}from"./support/Heading.js";import{legacyIcon as b}from"./support/legacyIcon.js";import{accessibleHandler as y}from"./support/decorators/accessibleHandler.js";import{messageBundle as f}from"./support/decorators/messageBundle.js";import{vmEvent as I}from"./support/decorators/vmEvent.js";import{tsx as v}from"./support/jsxFactory.js";import"./support/widgetUtils.js";import C from"sortablejs";const T=t.ofType(h);function L(e,t,i){e.splice(i,0,e.splice(t,1)[0])}const A=".*\\S+.*",S="root-layers",$="data-layer-uid",E="layerUid",w="esri-basemap-layer-list",k=`${w}__item`,M=`${w}__list`,B={base:w,widgetIcon:b.layers,newUI:`${w}--new-ui`,titleContainer:`${w}__title-container`,mainHeading:`${w}__main-heading`,editingCard:`${w}__editing-card`,editingInput:`${w}__editing-input`,editingActions:`${w}__editing-actions`,editButton:`${w}__edit-button`,editButtonIcon:`${w}__edit-button-icon`,submitButton:`${w}__submit-button`,cancelButton:`${w}__cancel-button`,noItems:`${w}__no-items`,horizontalRule:`${w}__hr`,list:M,listHeading:`${M}-heading`,listRoot:`${M}--root`,listExclusive:`${M}--exclusive`,listEmpty:`${w}__list--empty`,listEmptyState:`${w}__list-empty-state`,listInherited:`${M}--inherited`,listIndependent:`${M}--independent`,item:k,itemOnlyChild:`${k}--only-child`,itemContent:`${k}-content`,itemMessage:`${k}--has-message`,itemInvisible:`${k}--invisible`,itemInvisibleAtScale:`${k}--invisible-at-scale`,itemChildren:`${k}--has-children`,itemSelectable:`${k}--selectable`,itemContainer:`${k}-container`,actionsMenu:`${k}-actions-menu`,actionsMenuItem:`${k}-actions-menu-item`,actionsMenuItemActive:`${k}-actions-menu-item--active`,actions:`${k}-actions`,actionsList:`${k}-actions-list`,action:`${k}-action`,actionIcon:`${k}-action-icon`,actionImage:`${k}-action-image`,actionTitle:`${k}-action-title`,actionToggle:`${w}__action-toggle`,actionToggleOn:`${w}__action-toggle--on`,label:`${k}-label`,message:`${k}-message`,title:`${k}-title`,statusIndicator:`${w}__status-indicator`,publishing:`${w}__publishing`,updating:`${w}__updating`,connectionStatus:`${w}__connection-status`,connectionStatusConnected:`${w}__connection-status--connected`,toggleVisible:`${k}-toggle`,toggleVisibleIcon:`${k}-toggle-icon`,toggleIcon:`${k}-toggle-icon`,radioIcon:`${k}-radio-icon`,childToggle:`${w}__child-toggle`,childToggleOpen:`${w}__child-toggle--open`,childOpened:`${w}__child-toggle-icon--opened`,childClosed:`${w}__child-toggle-icon--closed`,childClosed_RTL:`${w}__child-toggle-icon--closed-rtl`,sortableChosen:`${w}--chosen`},R={actions:"actions",actionSection:"action-section",baseItems:"base-items",referenceItems:"reference-items"},O={exclusive:"exclusive",inherited:"inherited",independent:"independent"};function x(e){const{actionsOpen:t,children:i}=e;t&&(e.actionsOpen=!1),i.forEach((e=>x(e)))}const j={baseLayers:!0,referenceLayers:!0,statusIndicators:!0,errors:!1};let N=class extends d{constructor(e,t){super(e,t),this._tooltipReferenceMap=new Map,this._editingTitle=!1,this._editTitleInput=null,this._editTitleButton=null,this._focusOnElement=null,this._sortableBaseLayers=null,this._sortableReferenceLayers=null,this._sortableBaseLayersNode=null,this._sortableReferenceLayersNode=null,this._focusSortUid=null,this.visibleItems=null,this.editingEnabled=!1,this.headingLevel=2,this.iconClass=B.widgetIcon,this.messages=null,this.messagesCommon=null,this.multipleSelectionEnabled=!1,this.selectedItems=new T,this.style="classic",this.viewModel=new c,this.visibleElements={...j}}initialize(){const{baseItems:e,referenceItems:t}=this;this._setVisibleItems(),this.addHandles([s((()=>this.visibleElements),(()=>{this._itemsChanged(e,R.baseItems),this._itemsChanged(t,R.referenceItems)})),n((()=>this.baseItems),"change",(()=>{this._itemsChanged(e,R.baseItems)})),n((()=>this.referenceItems),"change",(()=>this._itemsChanged(t,R.referenceItems))),s((()=>this.editingEnabled),(()=>this._toggleSorting()),r)])}loadDependencies(){return m({icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js"),tooltip:()=>import("@esri/calcite-components/dist/components/calcite-tooltip.js")})}destroy(){this._destroyBaseSortable(),this._destroyReferenceSortable(),this._tooltipReferenceMap.clear()}get basemapTitle(){return this.viewModel.basemapTitle}set basemapTitle(e){this.viewModel.basemapTitle=e}get baseListItemCreatedFunction(){return this.viewModel.baseListItemCreatedFunction}set baseListItemCreatedFunction(e){this.viewModel.baseListItemCreatedFunction=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get referenceListItemCreatedFunction(){return this.viewModel.referenceListItemCreatedFunction}set referenceListItemCreatedFunction(e){this.viewModel.referenceListItemCreatedFunction=e}get baseItems(){return this.viewModel.baseItems}get referenceItems(){return this.viewModel.referenceItems}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}castVisibleElements(e){return{...j,...e}}triggerAction(e,t){return this.viewModel.triggerAction(e,t)}render(){const{state:e}=this.viewModel,t={[B.newUI]:"modern"===this.style,[g.hidden]:"loading"===e,[g.disabled]:"disabled"===e},i=this._renderItemTooltips(),s=this._renderReferenceSection(),n=this._renderBaseSection(),r=s&&n?v("hr",{class:B.horizontalRule}):null,o=[this._renderTitleContainer(),s,r,n];return v("div",{class:this.classes(B.base,g.widget,g.panel,t)},[i,o])}_renderItemTooltip(e){const{_tooltipReferenceMap:t,messages:i}=this;return e?v("calcite-tooltip",{referenceElement:t.get(e.uid)},i.layerIncompatibleTooltip):null}_renderItemTooltipNodes(e){const{incompatible:t,children:i}=e;return[t?this._renderItemTooltip(e):null,...!t&&i?i.toArray().map((e=>this._renderItemTooltipNodes(e))):[]]}_renderItemTooltips(){return this.visibleItems?.toArray().map((e=>this._renderItemTooltipNodes(e)))??[]}_renderEditingInput(){const{messages:e}=this,{basemapTitle:t}=this.viewModel;return v("label",{class:B.editingInput},e.basemapTitle,v("input",{bind:this,class:g.input,title:e.basemapTitle,"aria-label":e.basemapTitle,placeholder:e.basemapTitle,type:"text",role:"textbox",required:!0,pattern:A,value:t??void 0,afterCreate:this._storeEditTitleInput,afterUpdate:this._focusEditElement}))}_renderCancelButton(){const{messagesCommon:e}=this;return v("button",{title:e.cancel,"aria-label":e.cancel,type:"button",bind:this,class:this.classes(g.button,g.buttonTertiary),onclick:this._toggleEditingTitle},e.cancel)}_renderSubmitButton(){const{messagesCommon:e}=this;return v("button",{title:e.form.submit,"aria-label":e.form.submit,type:"submit",bind:this,class:g.button},e.form.ok)}_renderEditingForm(){return v("div",{class:B.editingCard},v("form",{bind:this,onsubmit:this._formSubmit},this._renderEditingInput(),v("div",{class:B.editingActions},this._renderCancelButton(),this._renderSubmitButton())))}_renderBasemapTitle(){const{basemapTitle:e}=this.viewModel;return v(p,{level:this.headingLevel,class:this.classes(g.heading,B.mainHeading)},e)}_renderEditTitleButton(){const{_editingTitle:e,editingEnabled:t,messagesCommon:i}=this;return t&&!e?v("button",{bind:this,class:B.editButton,title:i.edit,"aria-label":i.edit,onclick:this._toggleEditingTitle,afterCreate:this._storeEditTitleButton,afterUpdate:this._focusEditElement,"data-node-ref":"_editButtonNode",type:"button"},v("span",{"aria-hidden":"true",class:this.classes(b.edit,B.editButtonIcon)})):null}_renderTitleContainer(){return v("div",{class:B.titleContainer},this._editingTitle?this._renderEditingForm():this._renderBasemapTitle(),this._renderEditTitleButton())}_renderNoLayersInfo(e,t){return v("div",{key:t,class:B.noItems},e)}_renderList(e,t){const{messages:i}=this,s="reference"===t?this._destroyReferenceSortable:this._destroyBaseSortable;return v("ul",{key:t,"aria-label":i.widgetLabel,role:this.editingEnabled&&e.length?"listbox":void 0,afterCreate:this._sortNodeCreated,afterRemoved:s,"data-node-ref":t,bind:this,class:this.classes(B.list,B.listRoot,B.listIndependent)},e.map((i=>this._renderItem({item:i,parent:null,itemType:t,isOnlyChild:1===e.length}))))}_renderBaseHeader(){return v(p,{key:"base-heading",level:_(this.headingLevel),class:this.classes(g.heading,B.listHeading)},this.messages.baseHeading)}_renderBaseSection(){const{baseItems:e,messages:t,visibleElements:i}=this;if(!i.baseLayers)return null;const s=this._getItems(e),n="base";return[this._renderBaseHeader(),[0===s.length?this._renderNoLayersInfo(t.noBaseLayers,n):null,this._renderList(s,n)]]}_renderReferenceHeader(){return v(p,{key:"reference-heading",level:_(this.headingLevel),class:this.classes(g.heading,B.listHeading)},this.messages.referenceHeading)}_renderReferenceSection(){const{referenceItems:e,messages:t,visibleElements:i}=this;if(!i.referenceLayers)return null;const s=this._getItems(e),n="reference";return[this._renderReferenceHeader(),[0===s.length?this._renderNoLayersInfo(t.noReferenceLayers,n):null,this._renderList(s,n)]]}_renderChildrenToggle(e,t){const{messagesCommon:i}=this,{children:s}=e,n=!!e.error,r=!!s.length&&!n,o={[B.childToggleOpen]:e.open},l=e.open?i.collapse:i.expand;return r?v("span",{onclick:this._toggleChildrenClick,onkeydown:this._toggleChildrenClick,"data-item":e,key:"toggle-children",class:this.classes(B.childToggle,o),tabIndex:0,role:"button","aria-controls":t,"aria-label":l,title:l},v("span",{"aria-hidden":"true",class:this.classes(B.childClosed,b.rightTriangleArrow)}),v("span",{"aria-hidden":"true",class:this.classes(B.childOpened,b.downArrow)}),v("span",{"aria-hidden":"true",class:this.classes(B.childClosed_RTL,b.leftTriangleArrow)})):null}_renderItemMessage(e){return e.error?v("div",{key:"esri-basemap-layer-list__error",class:B.message,role:"alert"},v("span",{"aria-hidden":"true",class:b.noticeTriangle}),this.messages.layerError):e.incompatible?v("div",{key:"esri-basemap-layer-list__incompatible",class:B.message,role:"alert"},v("span",{bind:this,tabIndex:0,"aria-hidden":"true",class:b.noticeTriangle,afterCreate:t=>this._setTooltipReference(t,e)}),this.messages.layerIncompatible):null}_renderActionsMenuIcon(e,t){const{messagesCommon:i}=this,s={[B.actionsMenuItemActive]:e.actionsOpen};return v("div",{key:"actions-menu-toggle","data-item":e,bind:this,onclick:this._toggleActionsOpen,onkeydown:this._toggleActionsOpen,class:this.classes(B.actionsMenuItem,s),tabIndex:0,role:"button","aria-controls":t,"aria-label":i.options,title:i.options},v("span",{"aria-hidden":"true",class:b.handleHorizontal}))}_renderActionsMenu(e,t,i,s){const{panel:n}=e,r=n&&n.visible?this._renderPanelButton(n):null,o=1===i&&this._getSingleActionButton(t),l=o?this._renderAction({item:e,action:o,singleAction:!0}):null,a=!o&&i?this._renderActionsMenuIcon(e,s):null;return a||r||o?v("div",{key:"actions-menu",class:B.actionsMenu},r,l,a):null}_renderChildList(e,t){const{editingEnabled:i}=this,{visibilityMode:s,children:n}=e,r=this._hasChildren(e),o=!r&&i&&"group"===e.layer?.type,{exclusive:l,inherited:a}=O,d={[B.listEmpty]:!r,[B.listExclusive]:s===l,[B.listInherited]:s===a,[B.listIndependent]:s!==a&&s!==l};return r||o?r?v("ul",{bind:this,key:"list-items",id:t,"data-group":e.uid,"data-item":e,afterCreate:this._sortNodeCreated,afterUpdate:this._sortNodeCreated,class:this.classes(B.list,d),"aria-expanded":e.open?"true":"false",role:i?"listbox":s===l?"radiogroup":"group",hidden:!e.open||null},n?.map((t=>this._renderItem({item:t,parent:e}))).toArray()):v("div",{bind:this,key:"list-items",id:t,class:B.listEmptyState},this.messages.noItemsToDisplay):null}_renderItemContent(e,t,i){const{id:s}=this,n=`${s}_${e.uid}`,r=`${n}_actions`,o=`${n}__list`,{panel:l}=e,a=this._filterActions(e.actionsSections),d=this._countActions(a);return[v("div",{key:"list-item-container",class:B.itemContainer},this._renderChildrenToggle(e,o),this._renderLabel(e,t,i),this._renderActionsMenu(e,a,d,r)),this._renderItemMessage(e),d?this._renderActionsSections(e,a,r):null,l&&l.open&&!l.disabled?l.render():null,this._renderChildList(e,o)]}_renderItem({item:e,parent:t,itemType:i,isOnlyChild:s}){const{style:n,id:r,editingEnabled:o,selectedItems:l}=this,a=`${`${r}_${e.uid}`}__title`,d=this._hasMessage(e),c=this._hasChildren(e),h={[B.itemChildren]:c,[B.itemMessage]:!!d,[B.itemInvisible]:"modern"===n&&!e.visible,[B.itemInvisibleAtScale]:!e.visibleAtCurrentScale,[B.itemSelectable]:o};if(o){const n={[$]:e.layer?.uid};return v("li",{key:`item-with-selection-${e.uid}`,bind:this,afterCreate:this._focusListItem,afterUpdate:this._focusListItem,class:this.classes(B.item,h,{[B.itemOnlyChild]:!!s}),"aria-labelledby":a,onclick:this._toggleSelection,onkeydown:this._selectionKeydown,"data-item-type":i,"data-item":e,tabIndex:0,"aria-selected":u(e,l)?"true":"false",role:"option",...n},this._renderItemContent(e,t,a))}return v("li",{key:`item-no-selection-${e.uid}`,bind:this,afterCreate:this._focusListItem,afterUpdate:this._focusListItem,class:this.classes(B.item,h),"aria-labelledby":a},this._renderItemContent(e,t,a))}_renderConnectionIcon(e){const{connectionStatus:t}=e;return null!=t?v("calcite-icon",{icon:"connected"===t?"check-circle":"offline",scale:"s"}):null}_renderItemStatus(e,t){const{visibleElements:i}=this;if(!i.statusIndicators)return null;const{connectionStatus:s,publishing:n,updating:r}=e,o=r&&!t,l=!!s;return v("span",{class:this.classes({[B.statusIndicator]:!0,[B.publishing]:n,[B.updating]:o,[B.connectionStatus]:l,[B.connectionStatusConnected]:l&&"connected"===s}),key:"layer-item-status"},this._renderConnectionIcon(e))}_renderItemTitle(e,t){const{messages:i}=this,s=e.title||i.untitledLayer,n=e.visibleAtCurrentScale?s:`${s} (${i.layerInvisibleAtScale})`;return v("span",{key:"layer-title-container",id:t,title:n,"aria-label":n,class:B.title},s)}_renderItemToggleIcon({visible:e},t){const{style:i}=this,{exclusive:s}=O,n=t?.visibilityMode,r="modern"===i,o=n===s,l={[B.toggleVisibleIcon]:r,[B.toggleIcon]:r&&!o,[B.radioIcon]:r&&o,[b.radioChecked]:o&&e,[b.radioUnchecked]:o&&!e,[b.visible]:!o&&e,[b.nonVisible]:!o&&!e};return v("span",{key:"item-toggle-icon",class:this.classes(l),"aria-hidden":"true"})}_renderItemToggle(e,t,i){const{editingEnabled:s,messages:n}=this,{exclusive:r}=O,o=t&&t.visibilityMode,l=o===r?"radio":"switch";return v("span",s?{key:"item-toggle-selection-enabled",class:B.toggleVisible,bind:this,onclick:this._toggleVisibility,onkeydown:this._toggleVisibility,"data-item":e,"data-parent-visibility":o,tabIndex:0,"aria-checked":e.visible?"true":"false",title:n.layerVisibility,role:l,"aria-labelledby":i}:{key:"item-toggle",class:B.toggleVisible},this._renderItemToggleIcon(e,t))}_renderLabel(e,t,i){const{editingEnabled:s,style:n,messages:r}=this,{inherited:o,exclusive:l}=O,a=t?.visibilityMode,d=a===l?"radio":"switch",c=this._renderItemTitle(e,i),h=this._renderItemStatus(e,t),u=this._renderItemToggle(e,t,i),m="modern"===n?[c,h,u]:[u,c,h],g=v("div",s?{key:`item-label-no-selection-${e.uid}`,class:B.label}:{key:`item-label-with-selection-${e.uid}`,class:B.label,bind:this,onclick:this._toggleVisibility,onkeydown:this._toggleVisibility,"data-item":e,"data-parent-visibility":a,tabIndex:0,title:r.layerVisibility,"aria-checked":e.visible?"true":"false",role:d,"aria-labelledby":i},m);return a===o||e.error?v("div",{key:`item-label-container-${e.uid}`,class:B.label},this._renderItemTitle(e,i),this._renderItemStatus(e,t)):g}_renderPanelButton(e){const{className:t,open:i,title:s,image:n,disabled:r}=e,o=n||t?t:b.defaultAction,l=this._getIconImageStyles(e),a={[B.actionsMenuItemActive]:i&&!r},d={[B.actionImage]:!!l["background-image"],[g.disabledElement]:e.disabled};return o&&(d[o]=!!o),v("div",{"aria-disabled":e.disabled.toString(),key:`panel-${e.uid}`,bind:this,"data-panel":e,onclick:this._triggerPanel,onkeydown:this._triggerPanel,class:this.classes(B.actionsMenuItem,a),role:"button",tabIndex:e.disabled?void 0:0,title:s,"aria-label":s},v("span",{class:this.classes(d),styles:l}))}_renderActionsSections(e,t,i){const s=t.toArray().map(((t,i)=>v("ul",{key:`${e}-action-section-${i}`,class:B.actionsList},this._renderActionSection(e,t))));return v("div",{role:"group","aria-expanded":e.actionsOpen?"true":"false",key:"actions-section",id:i,class:B.actions,hidden:!e.actionsOpen||null},s)}_renderActionSection(e,t){return(t&&t.toArray()).map((t=>this._renderAction({item:e,action:t})))}_renderActionIcon(e){const{active:t,className:i}=e,s=this._getIconImageStyles(e),n="button"!==e.type||e.image||i?i:b.defaultAction,r={[B.actionImage]:!t&&!!s["background-image"],[b.loadingIndicator]:t,[g.rotating]:t};return n&&!t&&(r[n]=!0),v("span",{key:"action-icon","aria-hidden":"true",class:this.classes(B.actionIcon,r),styles:s})}_renderActionTitle(e,t){return t?null:v("span",{key:"action-title",class:B.actionTitle},e)}_renderAction(e){const{item:t,action:i,singleAction:s}=e,{active:n,disabled:r,title:o}=i,l={[B.actionsMenuItem]:s&&"button"===i.type,[B.action]:n||!s&&"toggle"!==i.type,[B.actionToggle]:!n&&"toggle"===i.type,[B.actionToggleOn]:!n&&"toggle"===i.type&&i.value,[g.disabledElement]:r},a=[this._renderActionIcon(i),this._renderActionTitle(o,s)];return s?v("div",{bind:this,"data-item":t,"data-action":i,role:"button",key:`single-action-${i.uid}`,onclick:this._triggerAction,onkeydown:this._triggerAction,classes:l,tabIndex:0,title:o??void 0,"aria-label":o},a):v("li",{bind:this,"data-item":t,"data-action":i,key:`action-${i.uid}`,onclick:this._triggerAction,onkeydown:this._triggerAction,classes:l,tabIndex:0,role:"button",title:o??void 0,"aria-label":o},a)}_setVisibleItems(){const{referenceItems:e,baseItems:t,visibleElements:i}=this,s=e.concat(t);this.visibleItems=s?.filter((e=>!e.hidden&&(i.errors||!e.error)))}_setTooltipReference(e,t){this._tooltipReferenceMap.set(t.uid,e),this.scheduleRender()}_hasMessage(e){return!!e.error||e.incompatible}_hasChildren(e){return!!e.children.length&&!this._hasMessage(e)}_filterActions(e){return e.map((e=>e.filter((e=>e.visible))))}_destroyReferenceSortable(){const{_sortableReferenceLayers:e}=this;e?.el&&e.destroy(),this._sortableReferenceLayersNode=null}_destroyBaseSortable(){const{_sortableBaseLayers:e}=this;e?.el&&e.destroy(),this._sortableBaseLayersNode=null}_toggleEditingTitle(){const{_editingTitle:e}=this,t=!e;this._editingTitle=t,this._focusOnElement=t?"edit-input":"edit-button",this.scheduleRender()}_storeEditTitleInput(e){this._editTitleInput=e,this._focusEditElement()}_focusEditElement(){this._editTitleInput&&"edit-input"===this._focusOnElement&&(this._focusOnElement=null,this._editTitleInput.focus()),this._editTitleButton&&"edit-button"===this._focusOnElement&&(this._focusOnElement=null,this._editTitleButton.focus())}_storeEditTitleButton(e){this._editTitleButton=e,this._focusEditElement()}_formSubmit(e){e.preventDefault();const t=this._editTitleInput?.value;t?.trim()&&(this.basemapTitle=t),this._toggleEditingTitle()}_itemMovedList(e){const t=H(e.item);if(!t)return;const i=e.to.dataset.nodeRef,s=e.from.dataset.nodeRef,n=e.newIndex;this.viewModel.transferListItem({listItem:t,from:s,to:i,newIndex:n})}_toggleSortingBaseLayers(){const{_sortableBaseLayers:e,_sortableBaseLayersNode:t,editingEnabled:i}=this;if(!t)return;const s=!i;if(e)e.option("disabled",s);else{const e=C.create(t,{dataIdAttr:$,group:S,filter:`.${B.itemOnlyChild}`,fallbackTolerance:4,disabled:s,onSort:()=>this._sortLayersToItems({type:"base",itemIds:e.toArray()}),onAdd:e=>this._itemMovedList(e),chosenClass:B.sortableChosen});this._sortableBaseLayers=e}}_toggleSortingReferenceLayers(){const{_sortableReferenceLayers:e,_sortableReferenceLayersNode:t,editingEnabled:i}=this;if(!t)return;const s=!i;if(e)e.option("disabled",s);else{const e=C.create(t,{dataIdAttr:$,group:S,disabled:s,fallbackTolerance:4,onSort:()=>this._sortLayersToItems({type:"reference",itemIds:e.toArray()}),onAdd:e=>this._itemMovedList(e),chosenClass:B.sortableChosen});this._sortableReferenceLayers=e}}_toggleSorting(){this._toggleSortingBaseLayers(),this._toggleSortingReferenceLayers()}_sortNodeCreated(e){const t=e.getAttribute("data-node-ref");"base"===t&&(this._sortableBaseLayersNode=e),"reference"===t&&(this._sortableReferenceLayersNode=e),this._toggleSorting()}_getItems(e){return e.toArray().filter((e=>!e.hidden&&(this.visibleElements.errors||!e.error)))}_getSingleActionButton(e){return e.reduce((e=>e)).filter((e=>e&&"button"===e.type)).at(0)}_sortLayersToItems({type:e,itemIds:t}){const i="base"===e?this.view?.map?.basemap?.baseLayers:"reference"===e?this.view?.map?.basemap?.referenceLayers:null;i&&i.sort(((e,i)=>{const s=t.indexOf(e.uid),n=t.indexOf(i.uid);return s>n?-1:s<n?1:0}))}_focusListItem(e){const{_focusSortUid:t}=this;if(!e||!t)return;const i=H(e);i?.layer?.uid===t&&(e.focus(),this._focusSortUid=null)}_selectionKeydown(e){const t=["ArrowDown","ArrowUp"],s=i(e);if(!t.includes(s))return void this._toggleSelection(e);e.stopPropagation();const n=e.currentTarget,r=H(n),o=n.dataset.itemType,{_sortableBaseLayers:l,_sortableReferenceLayers:a,selectedItems:d}=this,c="base"===o?l:"reference"===o?a:null;if(!c||!r)return;const h=u(r,d),m=c.toArray(),g=e.target,p=m.indexOf(g.dataset[E]),{baseItems:_,referenceItems:b}=this.viewModel;if(-1!==p){if("ArrowDown"===s){const e=p+1,t=e>=m.length;if(t&&"reference"===o&&h){const e=_.length;return this.viewModel.transferListItem({listItem:r,from:"reference",to:"base",newIndex:e}),this._focusSortUid=r.layer?.uid,void this.scheduleRender()}if(t&&"reference"===o){const e=_.at(0);return this._focusSortUid=e?.layer?.uid,void this.scheduleRender()}if(t)return;return h&&(L(m,p,e),c.sort(m),this._sortLayersToItems({type:o,itemIds:c.toArray()})),this._focusSortUid=r.layer?.uid,void this.scheduleRender()}if("ArrowUp"===s){const e=p-1,t=e<0;if(t&&"base"===o&&h){if(1===_.length)return;const e=0;return this.viewModel.transferListItem({listItem:r,from:"base",to:"reference",newIndex:e}),this._focusSortUid=r.layer?.uid,void this.scheduleRender()}if(t&&"base"===o){const e=b.at(-1);return this._focusSortUid=e?.layer?.uid,void this.scheduleRender()}if(t)return;h&&(L(m,p,e),c.sort(m),this._sortLayersToItems({type:o,itemIds:c.toArray()})),this._focusSortUid=r.layer?.uid,this.scheduleRender()}}}_watchActionSectionChanges(e,t){this.addHandles(e.on("change",(()=>this.scheduleRender())),t),e.forEach((e=>this._renderOnActionChanges(e,t)))}_renderOnActionChanges(e,t){"toggle"!==e.type?"slider"!==e.type?this.addHandles([s((()=>[e.className,e.image,e.id,e.title,e.visible]),(()=>this.scheduleRender()),r)],t):this.addHandles([s((()=>[e.className,e.id,e.title,e.visible,e.value,e.displayValueEnabled,e.max,e.min,e.step]),(()=>this.scheduleRender()),r)],t):this.addHandles([s((()=>[e.className,e.image,e.id,e.title,e.visible,e.value]),(()=>this.scheduleRender()),r)],t)}_renderOnItemChanges(e,t){this.addHandles([s((()=>[e.actionsOpen,e.visible,e.open,e.updating,e.connectionStatus,e.publishing,e.title,e.visibleAtCurrentScale,e.error,e.visibilityMode,e.panel,e.panel?.title,e.panel?.content,e.panel?.className]),(()=>this.scheduleRender()),r),s((()=>[e.hidden,e.error]),(()=>this._setVisibleItems())),e.actionsSections.on("change",(()=>this.scheduleRender())),e.children.on("change",(()=>this.scheduleRender()))],t),e.children.forEach((e=>this._renderOnItemChanges(e,t))),e.actionsSections.forEach((e=>this._watchActionSectionChanges(e,t)))}_itemsChanged(e,t){this.removeHandles(t),this._tooltipReferenceMap.clear(),this._setVisibleItems(),e.forEach((e=>this._renderOnItemChanges(e,t))),this.scheduleRender()}_countActions(e){return e.reduce(((e,t)=>e+t.length),0)}_getIconImageStyles(e){const t="esri.widgets.LayerList.ListItemPanel"===e.declaredClass||"esri.support.Action.ActionButton"===e.declaredClass||"esri.support.Action.ActionToggle"===e.declaredClass?e.image:null;return{"background-image":t?`url("${t}")`:""}}_toggleActionsOpen(e){e.stopPropagation();const t=H(e.currentTarget);if(!t)return;const{actionsOpen:i}=t,s=!i,{baseItems:n,referenceItems:r}=this;s&&(n.forEach((e=>x(e))),r.forEach((e=>x(e)))),t.actionsOpen=s}_triggerPanel(e){e.stopPropagation();const t=V(e.currentTarget);t&&!t.disabled&&(t.open=!t.open)}_triggerAction(e){e.stopPropagation();const t=e.currentTarget,i=U(t),s=H(t);s&&i&&("toggle"===i.type&&(i.value=!i.value),this.triggerAction(i,s))}_toggleVisibility(e){e.stopPropagation();const t=e.currentTarget,i=t.getAttribute("data-parent-visibility"),s=H(t);s&&(i===O.exclusive&&s.visible||(s.visible=!s.visible))}_toggleChildrenClick(e){e.stopPropagation();const t=H(e.currentTarget);t&&(t.open=!t.open)}_toggleSelection(e){e.stopPropagation();const{multipleSelectionEnabled:t,selectedItems:i}=this,s=t&&(e.metaKey||e.ctrlKey),n=H(e.currentTarget);if(!n)return;const r=u(n,i),{length:o}=i;if(!s)return o&&!(r&&1===o)?(i.removeAll(),void i.add(n)):void(r?i.remove(r):i.add(n));r?i.remove(r):i.add(n)}get test(){return{visibleItems:this.visibleItems}}};function U(e){return e["data-action"]}function V(e){return e["data-panel"]}function H(e){return e["data-item"]}e([o()],N.prototype,"visibleItems",void 0),e([o()],N.prototype,"basemapTitle",null),e([o()],N.prototype,"baseListItemCreatedFunction",null),e([o()],N.prototype,"editingEnabled",void 0),e([o()],N.prototype,"headingLevel",void 0),e([o()],N.prototype,"iconClass",void 0),e([o()],N.prototype,"label",null),e([o(),f("esri/widgets/BasemapLayerList/t9n/BasemapLayerList")],N.prototype,"messages",void 0),e([o(),f("esri/t9n/common")],N.prototype,"messagesCommon",void 0),e([o()],N.prototype,"multipleSelectionEnabled",void 0),e([o()],N.prototype,"referenceListItemCreatedFunction",null),e([o({readOnly:!0})],N.prototype,"baseItems",null),e([o({readOnly:!0})],N.prototype,"referenceItems",null),e([o()],N.prototype,"selectedItems",void 0),e([o()],N.prototype,"style",void 0),e([o()],N.prototype,"view",null),e([I("trigger-action"),o({type:c})],N.prototype,"viewModel",void 0),e([o()],N.prototype,"visibleElements",void 0),e([l("visibleElements")],N.prototype,"castVisibleElements",null),e([y()],N.prototype,"_toggleActionsOpen",null),e([y()],N.prototype,"_triggerPanel",null),e([y()],N.prototype,"_triggerAction",null),e([y()],N.prototype,"_toggleVisibility",null),e([y()],N.prototype,"_toggleChildrenClick",null),e([y()],N.prototype,"_toggleSelection",null),N=e([a("esri.widgets.BasemapLayerList")],N);const P=N;export{P as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import t from"../core/Collection.js";import{eventKey as i}from"../core/events.js";import{watch as s,on as n,initial as r}from"../core/reactiveUtils.js";import{property as o}from"../core/accessorSupport/decorators/property.js";import{cast as l}from"../core/accessorSupport/decorators/cast.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as a}from"../core/accessorSupport/decorators/subclass.js";import d from"./Widget.js";import c from"./BasemapLayerList/BasemapLayerListViewModel.js";import h from"./LayerList/ListItem.js";import{findSelectedItem as u}from"./LayerList/support/layerListUtils.js";import{loadCalciteComponents as m}from"./support/componentsUtils.js";import{globalCss as g}from"./support/globalCss.js";import{Heading as p,incrementHeadingLevel as _}from"./support/Heading.js";import{legacyIcon as b}from"./support/legacyIcon.js";import{accessibleHandler as y}from"./support/decorators/accessibleHandler.js";import{messageBundle as f}from"./support/decorators/messageBundle.js";import{vmEvent as I}from"./support/decorators/vmEvent.js";import{tsx as v}from"./support/jsxFactory.js";import"./support/widgetUtils.js";import C from"sortablejs";const T=t.ofType(h);function L(e,t,i){e.splice(i,0,e.splice(t,1)[0])}const A=".*\\S+.*",S="root-layers",$="data-layer-uid",E="layerUid",w="esri-basemap-layer-list",k=`${w}__item`,M=`${w}__list`,B={base:w,widgetIcon:b.layers,newUI:`${w}--new-ui`,titleContainer:`${w}__title-container`,mainHeading:`${w}__main-heading`,editingCard:`${w}__editing-card`,editingInput:`${w}__editing-input`,editingActions:`${w}__editing-actions`,editButton:`${w}__edit-button`,editButtonIcon:`${w}__edit-button-icon`,submitButton:`${w}__submit-button`,cancelButton:`${w}__cancel-button`,noItems:`${w}__no-items`,horizontalRule:`${w}__hr`,list:M,listHeading:`${M}-heading`,listRoot:`${M}--root`,listExclusive:`${M}--exclusive`,listEmpty:`${w}__list--empty`,listEmptyState:`${w}__list-empty-state`,listInherited:`${M}--inherited`,listIndependent:`${M}--independent`,item:k,itemOnlyChild:`${k}--only-child`,itemContent:`${k}-content`,itemMessage:`${k}--has-message`,itemInvisible:`${k}--invisible`,itemInvisibleAtScale:`${k}--invisible-at-scale`,itemChildren:`${k}--has-children`,itemSelectable:`${k}--selectable`,itemContainer:`${k}-container`,actionsMenu:`${k}-actions-menu`,actionsMenuItem:`${k}-actions-menu-item`,actionsMenuItemActive:`${k}-actions-menu-item--active`,actions:`${k}-actions`,actionsList:`${k}-actions-list`,action:`${k}-action`,actionIcon:`${k}-action-icon`,actionImage:`${k}-action-image`,actionTitle:`${k}-action-title`,actionToggle:`${w}__action-toggle`,actionToggleOn:`${w}__action-toggle--on`,label:`${k}-label`,message:`${k}-message`,title:`${k}-title`,statusIndicator:`${w}__status-indicator`,publishing:`${w}__publishing`,updating:`${w}__updating`,connectionStatus:`${w}__connection-status`,connectionStatusConnected:`${w}__connection-status--connected`,toggleVisible:`${k}-toggle`,toggleVisibleIcon:`${k}-toggle-icon`,toggleIcon:`${k}-toggle-icon`,radioIcon:`${k}-radio-icon`,childToggle:`${w}__child-toggle`,childToggleOpen:`${w}__child-toggle--open`,childOpened:`${w}__child-toggle-icon--opened`,childClosed:`${w}__child-toggle-icon--closed`,childClosed_RTL:`${w}__child-toggle-icon--closed-rtl`,sortableChosen:`${w}--chosen`},R={actions:"actions",actionSection:"action-section",baseItems:"base-items",referenceItems:"reference-items"},O={exclusive:"exclusive",inherited:"inherited",independent:"independent"};function x(e){const{actionsOpen:t,children:i}=e;t&&(e.actionsOpen=!1),i.forEach((e=>x(e)))}const j={baseLayers:!0,referenceLayers:!0,statusIndicators:!0,errors:!1};let N=class extends d{constructor(e,t){super(e,t),this._tooltipReferenceMap=new Map,this._editingTitle=!1,this._editTitleInput=null,this._editTitleButton=null,this._focusOnElement=null,this._sortableBaseLayers=null,this._sortableReferenceLayers=null,this._sortableBaseLayersNode=null,this._sortableReferenceLayersNode=null,this._focusSortUid=null,this.visibleItems=null,this.editingEnabled=!1,this.headingLevel=2,this.iconClass=B.widgetIcon,this.messages=null,this.messagesCommon=null,this.multipleSelectionEnabled=!1,this.selectedItems=new T,this.style="classic",this.viewModel=new c,this.visibleElements={...j}}initialize(){const{baseItems:e,referenceItems:t}=this;this._setVisibleItems(),this.addHandles([s((()=>this.visibleElements),(()=>{this._itemsChanged(e,R.baseItems),this._itemsChanged(t,R.referenceItems)})),n((()=>this.baseItems),"change",(()=>{this._itemsChanged(e,R.baseItems)})),n((()=>this.referenceItems),"change",(()=>this._itemsChanged(t,R.referenceItems))),s((()=>this.editingEnabled),(()=>this._toggleSorting()),r)])}loadDependencies(){return m({icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js"),tooltip:()=>import("@esri/calcite-components/dist/components/calcite-tooltip.js")})}destroy(){this._destroyBaseSortable(),this._destroyReferenceSortable(),this._tooltipReferenceMap.clear()}get basemapTitle(){return this.viewModel.basemapTitle}set basemapTitle(e){this.viewModel.basemapTitle=e}get baseListItemCreatedFunction(){return this.viewModel.baseListItemCreatedFunction}set baseListItemCreatedFunction(e){this.viewModel.baseListItemCreatedFunction=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get referenceListItemCreatedFunction(){return this.viewModel.referenceListItemCreatedFunction}set referenceListItemCreatedFunction(e){this.viewModel.referenceListItemCreatedFunction=e}get baseItems(){return this.viewModel.baseItems}get referenceItems(){return this.viewModel.referenceItems}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}castVisibleElements(e){return{...j,...e}}triggerAction(e,t){return this.viewModel.triggerAction(e,t)}render(){const{state:e}=this.viewModel,t={[B.newUI]:"modern"===this.style,[g.hidden]:"loading"===e,[g.disabled]:"disabled"===e},i=this._renderItemTooltips(),s=this._renderReferenceSection(),n=this._renderBaseSection(),r=s&&n?v("hr",{class:B.horizontalRule}):null,o=[this._renderTitleContainer(),s,r,n];return v("div",{class:this.classes(B.base,g.widget,g.panel,t)},[i,o])}_renderItemTooltip(e){const{_tooltipReferenceMap:t,messages:i}=this;return e?v("calcite-tooltip",{referenceElement:t.get(e.uid)},i.layerIncompatibleTooltip):null}_renderItemTooltipNodes(e){const{incompatible:t,children:i}=e;return[t?this._renderItemTooltip(e):null,...!t&&i?i.toArray().map((e=>this._renderItemTooltipNodes(e))):[]]}_renderItemTooltips(){return this.visibleItems?.toArray().map((e=>this._renderItemTooltipNodes(e)))??[]}_renderEditingInput(){const{messages:e}=this,{basemapTitle:t}=this.viewModel;return v("label",{class:B.editingInput},e.basemapTitle,v("input",{afterCreate:this._storeEditTitleInput,afterUpdate:this._focusEditElement,"aria-label":e.basemapTitle,bind:this,class:g.input,pattern:A,placeholder:e.basemapTitle,required:!0,role:"textbox",title:e.basemapTitle,type:"text",value:t??void 0}))}_renderCancelButton(){const{messagesCommon:e}=this;return v("button",{"aria-label":e.cancel,bind:this,class:this.classes(g.button,g.buttonTertiary),onclick:this._toggleEditingTitle,title:e.cancel,type:"button"},e.cancel)}_renderSubmitButton(){const{messagesCommon:e}=this;return v("button",{"aria-label":e.form.submit,bind:this,class:g.button,title:e.form.submit,type:"submit"},e.form.ok)}_renderEditingForm(){return v("div",{class:B.editingCard},v("form",{bind:this,onsubmit:this._formSubmit},this._renderEditingInput(),v("div",{class:B.editingActions},this._renderCancelButton(),this._renderSubmitButton())))}_renderBasemapTitle(){const{basemapTitle:e}=this.viewModel;return v(p,{class:this.classes(g.heading,B.mainHeading),level:this.headingLevel},e)}_renderEditTitleButton(){const{_editingTitle:e,editingEnabled:t,messagesCommon:i}=this;return t&&!e?v("button",{afterCreate:this._storeEditTitleButton,afterUpdate:this._focusEditElement,"aria-label":i.edit,bind:this,class:B.editButton,"data-node-ref":"_editButtonNode",onclick:this._toggleEditingTitle,title:i.edit,type:"button"},v("span",{"aria-hidden":"true",class:this.classes(b.edit,B.editButtonIcon)})):null}_renderTitleContainer(){return v("div",{class:B.titleContainer},this._editingTitle?this._renderEditingForm():this._renderBasemapTitle(),this._renderEditTitleButton())}_renderNoLayersInfo(e,t){return v("div",{class:B.noItems,key:t},e)}_renderList(e,t){const{messages:i}=this,s="reference"===t?this._destroyReferenceSortable:this._destroyBaseSortable;return v("ul",{afterCreate:this._sortNodeCreated,afterRemoved:s,"aria-label":i.widgetLabel,bind:this,class:this.classes(B.list,B.listRoot,B.listIndependent),"data-node-ref":t,key:t,role:this.editingEnabled&&e.length?"listbox":void 0},e.map((i=>this._renderItem({item:i,parent:null,itemType:t,isOnlyChild:1===e.length}))))}_renderBaseHeader(){return v(p,{class:this.classes(g.heading,B.listHeading),key:"base-heading",level:_(this.headingLevel)},this.messages.baseHeading)}_renderBaseSection(){const{baseItems:e,messages:t,visibleElements:i}=this;if(!i.baseLayers)return null;const s=this._getItems(e),n="base";return[this._renderBaseHeader(),[0===s.length?this._renderNoLayersInfo(t.noBaseLayers,n):null,this._renderList(s,n)]]}_renderReferenceHeader(){return v(p,{class:this.classes(g.heading,B.listHeading),key:"reference-heading",level:_(this.headingLevel)},this.messages.referenceHeading)}_renderReferenceSection(){const{referenceItems:e,messages:t,visibleElements:i}=this;if(!i.referenceLayers)return null;const s=this._getItems(e),n="reference";return[this._renderReferenceHeader(),[0===s.length?this._renderNoLayersInfo(t.noReferenceLayers,n):null,this._renderList(s,n)]]}_renderChildrenToggle(e,t){const{messagesCommon:i}=this,{children:s}=e,n=!!e.error,r=!!s.length&&!n,o={[B.childToggleOpen]:e.open},l=e.open?i.collapse:i.expand;return r?v("span",{"aria-controls":t,"aria-label":l,class:this.classes(B.childToggle,o),"data-item":e,key:"toggle-children",onclick:this._toggleChildrenClick,onkeydown:this._toggleChildrenClick,role:"button",tabIndex:0,title:l},v("span",{"aria-hidden":"true",class:this.classes(B.childClosed,b.rightTriangleArrow)}),v("span",{"aria-hidden":"true",class:this.classes(B.childOpened,b.downArrow)}),v("span",{"aria-hidden":"true",class:this.classes(B.childClosed_RTL,b.leftTriangleArrow)})):null}_renderItemMessage(e){return e.error?v("div",{class:B.message,key:"esri-basemap-layer-list__error",role:"alert"},v("span",{"aria-hidden":"true",class:b.noticeTriangle}),this.messages.layerError):e.incompatible?v("div",{class:B.message,key:"esri-basemap-layer-list__incompatible",role:"alert"},v("span",{afterCreate:t=>this._setTooltipReference(t,e),"aria-hidden":"true",bind:this,class:b.noticeTriangle,tabIndex:0}),this.messages.layerIncompatible):null}_renderActionsMenuIcon(e,t){const{messagesCommon:i}=this,s={[B.actionsMenuItemActive]:e.actionsOpen};return v("div",{"aria-controls":t,"aria-label":i.options,bind:this,class:this.classes(B.actionsMenuItem,s),"data-item":e,key:"actions-menu-toggle",onclick:this._toggleActionsOpen,onkeydown:this._toggleActionsOpen,role:"button",tabIndex:0,title:i.options},v("span",{"aria-hidden":"true",class:b.handleHorizontal}))}_renderActionsMenu(e,t,i,s){const{panel:n}=e,r=n&&n.visible?this._renderPanelButton(n):null,o=1===i&&this._getSingleActionButton(t),l=o?this._renderAction({item:e,action:o,singleAction:!0}):null,a=!o&&i?this._renderActionsMenuIcon(e,s):null;return a||r||o?v("div",{class:B.actionsMenu,key:"actions-menu"},r,l,a):null}_renderChildList(e,t){const{editingEnabled:i}=this,{visibilityMode:s,children:n}=e,r=this._hasChildren(e),o=!r&&i&&"group"===e.layer?.type,{exclusive:l,inherited:a}=O,d={[B.listEmpty]:!r,[B.listExclusive]:s===l,[B.listInherited]:s===a,[B.listIndependent]:s!==a&&s!==l};return r||o?r?v("ul",{afterCreate:this._sortNodeCreated,afterUpdate:this._sortNodeCreated,"aria-expanded":e.open?"true":"false",bind:this,class:this.classes(B.list,d),"data-group":e.uid,"data-item":e,hidden:!e.open||null,id:t,key:"list-items",role:i?"listbox":s===l?"radiogroup":"group"},n?.map((t=>this._renderItem({item:t,parent:e}))).toArray()):v("div",{bind:this,class:B.listEmptyState,id:t,key:"list-items"},this.messages.noItemsToDisplay):null}_renderItemContent(e,t,i){const{id:s}=this,n=`${s}_${e.uid}`,r=`${n}_actions`,o=`${n}__list`,{panel:l}=e,a=this._filterActions(e.actionsSections),d=this._countActions(a);return[v("div",{class:B.itemContainer,key:"list-item-container"},this._renderChildrenToggle(e,o),this._renderLabel(e,t,i),this._renderActionsMenu(e,a,d,r)),this._renderItemMessage(e),d?this._renderActionsSections(e,a,r):null,l&&l.open&&!l.disabled?l.render():null,this._renderChildList(e,o)]}_renderItem({item:e,parent:t,itemType:i,isOnlyChild:s}){const{style:n,id:r,editingEnabled:o,selectedItems:l}=this,a=`${`${r}_${e.uid}`}__title`,d=this._hasMessage(e),c=this._hasChildren(e),h={[B.itemChildren]:c,[B.itemMessage]:!!d,[B.itemInvisible]:"modern"===n&&!e.visible,[B.itemInvisibleAtScale]:!e.visibleAtCurrentScale,[B.itemSelectable]:o};if(o){const n={[$]:e.layer?.uid};return v("li",{afterCreate:this._focusListItem,afterUpdate:this._focusListItem,"aria-labelledby":a,"aria-selected":u(e,l)?"true":"false",bind:this,class:this.classes(B.item,h,{[B.itemOnlyChild]:!!s}),"data-item":e,"data-item-type":i,key:`item-with-selection-${e.uid}`,onclick:this._toggleSelection,onkeydown:this._selectionKeydown,role:"option",tabIndex:0,...n},this._renderItemContent(e,t,a))}return v("li",{afterCreate:this._focusListItem,afterUpdate:this._focusListItem,"aria-labelledby":a,bind:this,class:this.classes(B.item,h),key:`item-no-selection-${e.uid}`},this._renderItemContent(e,t,a))}_renderConnectionIcon(e){const{connectionStatus:t}=e;return null!=t?v("calcite-icon",{icon:"connected"===t?"check-circle":"offline",scale:"s"}):null}_renderItemStatus(e,t){const{visibleElements:i}=this;if(!i.statusIndicators)return null;const{connectionStatus:s,publishing:n,updating:r}=e,o=r&&!t,l=!!s;return v("span",{class:this.classes({[B.statusIndicator]:!0,[B.publishing]:n,[B.updating]:o,[B.connectionStatus]:l,[B.connectionStatusConnected]:l&&"connected"===s}),key:"layer-item-status"},this._renderConnectionIcon(e))}_renderItemTitle(e,t){const{messages:i}=this,s=e.title||i.untitledLayer,n=e.visibleAtCurrentScale?s:`${s} (${i.layerInvisibleAtScale})`;return v("span",{"aria-label":n,class:B.title,id:t,key:"layer-title-container",title:n},s)}_renderItemToggleIcon({visible:e},t){const{style:i}=this,{exclusive:s}=O,n=t?.visibilityMode,r="modern"===i,o=n===s,l={[B.toggleIcon]:r&&!o,[B.radioIcon]:r&&o,[b.radioChecked]:o&&e,[b.radioUnchecked]:o&&!e,[b.visible]:!o&&e,[b.nonVisible]:!o&&!e};return v("span",{"aria-hidden":"true",class:this.classes(l),key:"item-toggle-icon"})}_renderItemToggle(e,t,i){const{editingEnabled:s,messages:n}=this,{exclusive:r}=O,o=t&&t.visibilityMode,l=o===r?"radio":"switch";return v("span",s?{"aria-checked":e.visible?"true":"false","aria-labelledby":i,bind:this,class:B.toggleVisible,"data-item":e,"data-parent-visibility":o,key:"item-toggle-selection-enabled",onclick:this._toggleVisibility,onkeydown:this._toggleVisibility,role:l,tabIndex:0,title:n.layerVisibility}:{class:B.toggleVisible,key:"item-toggle"},this._renderItemToggleIcon(e,t))}_renderLabel(e,t,i){const{editingEnabled:s,style:n,messages:r}=this,{inherited:o,exclusive:l}=O,a=t?.visibilityMode,d=a===l?"radio":"switch",c=this._renderItemTitle(e,i),h=this._renderItemStatus(e,t),u=this._renderItemToggle(e,t,i),m="modern"===n?[c,h,u]:[u,c,h],g=v("div",s?{class:B.label,key:`item-label-no-selection-${e.uid}`}:{"aria-checked":e.visible?"true":"false","aria-labelledby":i,bind:this,class:B.label,"data-item":e,"data-parent-visibility":a,key:`item-label-with-selection-${e.uid}`,onclick:this._toggleVisibility,onkeydown:this._toggleVisibility,role:d,tabIndex:0,title:r.layerVisibility},m);return a===o||e.error?v("div",{class:B.label,key:`item-label-container-${e.uid}`},this._renderItemTitle(e,i),this._renderItemStatus(e,t)):g}_renderPanelButton(e){const{className:t,open:i,title:s,image:n,disabled:r}=e,o=n||t?t:b.defaultAction,l=this._getIconImageStyles(e),a={[B.actionsMenuItemActive]:i&&!r},d={[B.actionImage]:!!l["background-image"],[g.disabledElement]:e.disabled};return o&&(d[o]=!!o),v("div",{"aria-disabled":e.disabled.toString(),"aria-label":s,bind:this,class:this.classes(B.actionsMenuItem,a),"data-panel":e,key:`panel-${e.uid}`,onclick:this._triggerPanel,onkeydown:this._triggerPanel,role:"button",tabIndex:e.disabled?void 0:0,title:s},v("span",{class:this.classes(d),styles:l}))}_renderActionsSections(e,t,i){const s=t.toArray().map(((t,i)=>v("ul",{class:B.actionsList,key:`${e}-action-section-${i}`},this._renderActionSection(e,t))));return v("div",{"aria-expanded":e.actionsOpen?"true":"false",class:B.actions,hidden:!e.actionsOpen||null,id:i,key:"actions-section",role:"group"},s)}_renderActionSection(e,t){return(t&&t.toArray()).map((t=>this._renderAction({item:e,action:t})))}_renderActionIcon(e){const{active:t,className:i}=e,s=this._getIconImageStyles(e),n="button"!==e.type||e.image||i?i:b.defaultAction,r={[B.actionImage]:!t&&!!s["background-image"],[b.loadingIndicator]:t,[g.rotating]:t};return n&&!t&&(r[n]=!0),v("span",{"aria-hidden":"true",class:this.classes(B.actionIcon,r),key:"action-icon",styles:s})}_renderActionTitle(e,t){return t?null:v("span",{class:B.actionTitle,key:"action-title"},e)}_renderAction(e){const{item:t,action:i,singleAction:s}=e,{active:n,disabled:r,title:o}=i,l={[B.actionsMenuItem]:s&&"button"===i.type,[B.action]:n||!s&&"toggle"!==i.type,[B.actionToggle]:!n&&"toggle"===i.type,[B.actionToggleOn]:!n&&"toggle"===i.type&&i.value,[g.disabledElement]:r},a=[this._renderActionIcon(i),this._renderActionTitle(o,s)];return s?v("div",{"aria-label":o,bind:this,classes:l,"data-action":i,"data-item":t,key:`single-action-${i.uid}`,onclick:this._triggerAction,onkeydown:this._triggerAction,role:"button",tabIndex:0,title:o??void 0},a):v("li",{"aria-label":o,bind:this,classes:l,"data-action":i,"data-item":t,key:`action-${i.uid}`,onclick:this._triggerAction,onkeydown:this._triggerAction,role:"button",tabIndex:0,title:o??void 0},a)}_setVisibleItems(){const{referenceItems:e,baseItems:t,visibleElements:i}=this,s=e.concat(t);this.visibleItems=s?.filter((e=>!e.hidden&&(i.errors||!e.error)))}_setTooltipReference(e,t){this._tooltipReferenceMap.set(t.uid,e),this.scheduleRender()}_hasMessage(e){return!!e.error||e.incompatible}_hasChildren(e){return!!e.children.length&&!this._hasMessage(e)}_filterActions(e){return e.map((e=>e.filter((e=>e.visible))))}_destroyReferenceSortable(){const{_sortableReferenceLayers:e}=this;e?.el&&e.destroy(),this._sortableReferenceLayersNode=null}_destroyBaseSortable(){const{_sortableBaseLayers:e}=this;e?.el&&e.destroy(),this._sortableBaseLayersNode=null}_toggleEditingTitle(){const{_editingTitle:e}=this,t=!e;this._editingTitle=t,this._focusOnElement=t?"edit-input":"edit-button",this.scheduleRender()}_storeEditTitleInput(e){this._editTitleInput=e,this._focusEditElement()}_focusEditElement(){this._editTitleInput&&"edit-input"===this._focusOnElement&&(this._focusOnElement=null,this._editTitleInput.focus()),this._editTitleButton&&"edit-button"===this._focusOnElement&&(this._focusOnElement=null,this._editTitleButton.focus())}_storeEditTitleButton(e){this._editTitleButton=e,this._focusEditElement()}_formSubmit(e){e.preventDefault();const t=this._editTitleInput?.value;t?.trim()&&(this.basemapTitle=t),this._toggleEditingTitle()}_itemMovedList(e){const t=V(e.item);if(!t)return;const i=e.to.dataset.nodeRef,s=e.from.dataset.nodeRef,n=e.newIndex;this.viewModel.transferListItem({listItem:t,from:s,to:i,newIndex:n})}_toggleSortingBaseLayers(){const{_sortableBaseLayers:e,_sortableBaseLayersNode:t,editingEnabled:i}=this;if(!t)return;const s=!i;if(e)e.option("disabled",s);else{const e=C.create(t,{dataIdAttr:$,group:S,filter:`.${B.itemOnlyChild}`,fallbackTolerance:4,disabled:s,onSort:()=>this._sortLayersToItems({type:"base",itemIds:e.toArray()}),onAdd:e=>this._itemMovedList(e),chosenClass:B.sortableChosen});this._sortableBaseLayers=e}}_toggleSortingReferenceLayers(){const{_sortableReferenceLayers:e,_sortableReferenceLayersNode:t,editingEnabled:i}=this;if(!t)return;const s=!i;if(e)e.option("disabled",s);else{const e=C.create(t,{dataIdAttr:$,group:S,disabled:s,fallbackTolerance:4,onSort:()=>this._sortLayersToItems({type:"reference",itemIds:e.toArray()}),onAdd:e=>this._itemMovedList(e),chosenClass:B.sortableChosen});this._sortableReferenceLayers=e}}_toggleSorting(){this._toggleSortingBaseLayers(),this._toggleSortingReferenceLayers()}_sortNodeCreated(e){const t=e.getAttribute("data-node-ref");"base"===t&&(this._sortableBaseLayersNode=e),"reference"===t&&(this._sortableReferenceLayersNode=e),this._toggleSorting()}_getItems(e){return e.toArray().filter((e=>!e.hidden&&(this.visibleElements.errors||!e.error)))}_getSingleActionButton(e){return e.reduce((e=>e)).filter((e=>e&&"button"===e.type)).at(0)}_sortLayersToItems({type:e,itemIds:t}){const i="base"===e?this.view?.map?.basemap?.baseLayers:"reference"===e?this.view?.map?.basemap?.referenceLayers:null;i&&i.sort(((e,i)=>{const s=t.indexOf(e.uid),n=t.indexOf(i.uid);return s>n?-1:s<n?1:0}))}_focusListItem(e){const{_focusSortUid:t}=this;if(!e||!t)return;const i=V(e);i?.layer?.uid===t&&(e.focus(),this._focusSortUid=null)}_selectionKeydown(e){const t=["ArrowDown","ArrowUp"],s=i(e);if(!t.includes(s))return void this._toggleSelection(e);e.stopPropagation();const n=e.currentTarget,r=V(n),o=n.dataset.itemType,{_sortableBaseLayers:l,_sortableReferenceLayers:a,selectedItems:d}=this,c="base"===o?l:"reference"===o?a:null;if(!c||!r)return;const h=u(r,d),m=c.toArray(),g=e.target,p=m.indexOf(g.dataset[E]),{baseItems:_,referenceItems:b}=this.viewModel;if(-1!==p){if("ArrowDown"===s){const e=p+1,t=e>=m.length;if(t&&"reference"===o&&h){const e=_.length;return this.viewModel.transferListItem({listItem:r,from:"reference",to:"base",newIndex:e}),this._focusSortUid=r.layer?.uid,void this.scheduleRender()}if(t&&"reference"===o){const e=_.at(0);return this._focusSortUid=e?.layer?.uid,void this.scheduleRender()}if(t)return;return h&&(L(m,p,e),c.sort(m),this._sortLayersToItems({type:o,itemIds:c.toArray()})),this._focusSortUid=r.layer?.uid,void this.scheduleRender()}if("ArrowUp"===s){const e=p-1,t=e<0;if(t&&"base"===o&&h){if(1===_.length)return;const e=0;return this.viewModel.transferListItem({listItem:r,from:"base",to:"reference",newIndex:e}),this._focusSortUid=r.layer?.uid,void this.scheduleRender()}if(t&&"base"===o){const e=b.at(-1);return this._focusSortUid=e?.layer?.uid,void this.scheduleRender()}if(t)return;h&&(L(m,p,e),c.sort(m),this._sortLayersToItems({type:o,itemIds:c.toArray()})),this._focusSortUid=r.layer?.uid,this.scheduleRender()}}}_watchActionSectionChanges(e,t){this.addHandles(e.on("change",(()=>this.scheduleRender())),t),e.forEach((e=>this._renderOnActionChanges(e,t)))}_renderOnActionChanges(e,t){"toggle"!==e.type?"slider"!==e.type?this.addHandles([s((()=>[e.className,e.image,e.id,e.title,e.visible]),(()=>this.scheduleRender()),r)],t):this.addHandles([s((()=>[e.className,e.id,e.title,e.visible,e.value,e.displayValueEnabled,e.max,e.min,e.step]),(()=>this.scheduleRender()),r)],t):this.addHandles([s((()=>[e.className,e.image,e.id,e.title,e.visible,e.value]),(()=>this.scheduleRender()),r)],t)}_renderOnItemChanges(e,t){this.addHandles([s((()=>[e.actionsOpen,e.visible,e.open,e.updating,e.connectionStatus,e.publishing,e.title,e.visibleAtCurrentScale,e.error,e.visibilityMode,e.panel,e.panel?.title,e.panel?.content,e.panel?.className]),(()=>this.scheduleRender()),r),s((()=>[e.hidden,e.error]),(()=>this._setVisibleItems())),e.actionsSections.on("change",(()=>this.scheduleRender())),e.children.on("change",(()=>this.scheduleRender()))],t),e.children.forEach((e=>this._renderOnItemChanges(e,t))),e.actionsSections.forEach((e=>this._watchActionSectionChanges(e,t)))}_itemsChanged(e,t){this.removeHandles(t),this._tooltipReferenceMap.clear(),this._setVisibleItems(),e.forEach((e=>this._renderOnItemChanges(e,t))),this.scheduleRender()}_countActions(e){return e.reduce(((e,t)=>e+t.length),0)}_getIconImageStyles(e){const t="esri.widgets.LayerList.ListItemPanel"===e.declaredClass||"esri.support.Action.ActionButton"===e.declaredClass||"esri.support.Action.ActionToggle"===e.declaredClass?e.image:null;return{"background-image":t?`url("${t}")`:""}}_toggleActionsOpen(e){e.stopPropagation();const t=V(e.currentTarget);if(!t)return;const{actionsOpen:i}=t,s=!i,{baseItems:n,referenceItems:r}=this;s&&(n.forEach((e=>x(e))),r.forEach((e=>x(e)))),t.actionsOpen=s}_triggerPanel(e){e.stopPropagation();const t=H(e.currentTarget);t&&!t.disabled&&(t.open=!t.open)}_triggerAction(e){e.stopPropagation();const t=e.currentTarget,i=U(t),s=V(t);s&&i&&("toggle"===i.type&&(i.value=!i.value),this.triggerAction(i,s))}_toggleVisibility(e){e.stopPropagation();const t=e.currentTarget,i=t.getAttribute("data-parent-visibility"),s=V(t);s&&(i===O.exclusive&&s.visible||(s.visible=!s.visible))}_toggleChildrenClick(e){e.stopPropagation();const t=V(e.currentTarget);t&&(t.open=!t.open)}_toggleSelection(e){e.stopPropagation();const{multipleSelectionEnabled:t,selectedItems:i}=this,s=t&&(e.metaKey||e.ctrlKey),n=V(e.currentTarget);if(!n)return;const r=u(n,i),{length:o}=i;if(!s)return o&&!(r&&1===o)?(i.removeAll(),void i.add(n)):void(r?i.remove(r):i.add(n));r?i.remove(r):i.add(n)}get test(){return{visibleItems:this.visibleItems}}};function U(e){return e["data-action"]}function H(e){return e["data-panel"]}function V(e){return e["data-item"]}e([o()],N.prototype,"visibleItems",void 0),e([o()],N.prototype,"basemapTitle",null),e([o()],N.prototype,"baseListItemCreatedFunction",null),e([o()],N.prototype,"editingEnabled",void 0),e([o()],N.prototype,"headingLevel",void 0),e([o()],N.prototype,"iconClass",void 0),e([o()],N.prototype,"label",null),e([o(),f("esri/widgets/BasemapLayerList/t9n/BasemapLayerList")],N.prototype,"messages",void 0),e([o(),f("esri/t9n/common")],N.prototype,"messagesCommon",void 0),e([o()],N.prototype,"multipleSelectionEnabled",void 0),e([o()],N.prototype,"referenceListItemCreatedFunction",null),e([o({readOnly:!0})],N.prototype,"baseItems",null),e([o({readOnly:!0})],N.prototype,"referenceItems",null),e([o()],N.prototype,"selectedItems",void 0),e([o()],N.prototype,"style",void 0),e([o()],N.prototype,"view",null),e([I("trigger-action"),o({type:c})],N.prototype,"viewModel",void 0),e([o()],N.prototype,"visibleElements",void 0),e([l("visibleElements")],N.prototype,"castVisibleElements",null),e([y()],N.prototype,"_toggleActionsOpen",null),e([y()],N.prototype,"_triggerPanel",null),e([y()],N.prototype,"_triggerAction",null),e([y()],N.prototype,"_toggleVisibility",null),e([y()],N.prototype,"_toggleChildrenClick",null),e([y()],N.prototype,"_toggleSelection",null),N=e([a("esri.widgets.BasemapLayerList")],N);const P=N;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 s}from"../core/accessorSupport/decorators/property.js";import{cast as t}from"../core/accessorSupport/decorators/cast.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as o}from"../core/accessorSupport/decorators/subclass.js";import{getBasemapThumbnailUrl as i}from"../support/basemapUtils.js";import a from"./Widget.js";import l from"./BasemapToggle/BasemapToggleViewModel.js";import{css as r}from"./BasemapToggle/css.js";import{loadCalciteComponents as n}from"./support/componentsUtils.js";import{globalCss as p}from"./support/globalCss.js";import{accessibleHandler as c}from"./support/decorators/accessibleHandler.js";import{messageBundle as m}from"./support/decorators/messageBundle.js";import{tsx as d}from"./support/jsxFactory.js";import"./support/widgetUtils.js";function g(e){const s=i(e);return s?{backgroundImage:"url("+s+")"}:{backgroundImage:""}}const u={title:!1};let v=class extends a{constructor(e,s){super(e,s),this.messages=null,this.viewModel=new l,this.visibleElements={...u}}loadDependencies(){return n({icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js"),scrim:()=>import("@esri/calcite-components/dist/components/calcite-scrim.js")})}get activeBasemap(){return this.viewModel.activeBasemap}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get nextBasemap(){return this.viewModel.nextBasemap}set nextBasemap(e){this.viewModel.nextBasemap=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}castVisibleElements(e){return{...u,...e}}toggle(){return this.viewModel.toggle()}render(){const e=this.viewModel,s="disabled"===e.state?null:e.activeBasemap,t="disabled"===e.state?null:e.nextBasemap,o="loading"===e.state,i="incompatible-next-basemap"===e.state,a=t?.title??"",l=t&&"loaded"!==t.loadStatus;let n;const c=this.visibleElements.title&&a,m=i;return(c||m)&&(n=d("div",{class:r.overlay,key:"overlay"},c?d("span",{class:r.title,title:a},a):null,m?d("calcite-scrim",{class:r.overlayScrim,title:this.messages.incompatibleSpatialReference},d("calcite-icon",{icon:"exclamation-mark-triangle"})):null)),d("div",{class:this.classes(r.base,p.widget,i?p.disabled:null),role:"button","data-basemap-id":t?t.id:"",bind:this,onclick:this._toggle,onkeydown:this._toggle,tabIndex:i?-1:0,title:this.label},d("div",{class:this.classes(r.container,r.secondaryBasemapImage)},d("div",{class:r.image,styles:g(s)})),d("div",{class:r.container},d("div",{class:this.classes(r.image,l?r.imageLoading:null),styles:g(t)},l||o?d("calcite-scrim",null,d("span",{"aria-hidden":"true",role:"presentation",class:p.loaderAnimation})):null),n))}_toggle(){this.toggle()}};e([s({readOnly:!0})],v.prototype,"activeBasemap",null),e([s()],v.prototype,"label",null),e([s(),m("esri/widgets/BasemapToggle/t9n/BasemapToggle")],v.prototype,"messages",void 0),e([s()],v.prototype,"nextBasemap",null),e([s()],v.prototype,"view",null),e([s({type:l})],v.prototype,"viewModel",void 0),e([s()],v.prototype,"visibleElements",void 0),e([t("visibleElements")],v.prototype,"castVisibleElements",null),e([c()],v.prototype,"_toggle",null),v=e([o("esri.widgets.BasemapToggle")],v);const b=v;export{b as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import{property as s}from"../core/accessorSupport/decorators/property.js";import{cast as t}from"../core/accessorSupport/decorators/cast.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as o}from"../core/accessorSupport/decorators/subclass.js";import{getBasemapThumbnailUrl as i}from"../support/basemapUtils.js";import a from"./Widget.js";import l from"./BasemapToggle/BasemapToggleViewModel.js";import{css as r}from"./BasemapToggle/css.js";import{loadCalciteComponents as n}from"./support/componentsUtils.js";import{globalCss as p}from"./support/globalCss.js";import{accessibleHandler as c}from"./support/decorators/accessibleHandler.js";import{messageBundle as m}from"./support/decorators/messageBundle.js";import{tsx as d}from"./support/jsxFactory.js";import"./support/widgetUtils.js";function g(e){const s=i(e);return s?{backgroundImage:"url("+s+")"}:{backgroundImage:""}}const u={title:!1};let v=class extends a{constructor(e,s){super(e,s),this.messages=null,this.viewModel=new l,this.visibleElements={...u}}loadDependencies(){return n({icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js"),scrim:()=>import("@esri/calcite-components/dist/components/calcite-scrim.js")})}get activeBasemap(){return this.viewModel.activeBasemap}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get nextBasemap(){return this.viewModel.nextBasemap}set nextBasemap(e){this.viewModel.nextBasemap=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}castVisibleElements(e){return{...u,...e}}toggle(){return this.viewModel.toggle()}render(){const e=this.viewModel,s="disabled"===e.state?null:e.activeBasemap,t="disabled"===e.state?null:e.nextBasemap,o="loading"===e.state,i="incompatible-next-basemap"===e.state,a=t?.title??"",l=t&&"loaded"!==t.loadStatus;let n;const c=this.visibleElements.title&&a,m=i;return(c||m)&&(n=d("div",{class:r.overlay,key:"overlay"},c?d("span",{class:r.title,title:a},a):null,m?d("calcite-scrim",{class:r.overlayScrim,title:this.messages.incompatibleSpatialReference},d("calcite-icon",{icon:"exclamation-mark-triangle"})):null)),d("div",{bind:this,class:this.classes(r.base,p.widget,i?p.disabled:null),"data-basemap-id":t?t.id:"",onclick:this._toggle,onkeydown:this._toggle,role:"button",tabIndex:i?-1:0,title:this.label},d("div",{class:this.classes(r.container,r.secondaryBasemapImage)},d("div",{class:r.image,styles:g(s)})),d("div",{class:r.container},d("div",{class:this.classes(r.image,l?r.imageLoading:null),styles:g(t)},l||o?d("calcite-scrim",null,d("span",{"aria-hidden":"true",class:p.loaderAnimation,role:"presentation"})):null),n))}_toggle(){this.toggle()}};e([s({readOnly:!0})],v.prototype,"activeBasemap",null),e([s()],v.prototype,"label",null),e([s(),m("esri/widgets/BasemapToggle/t9n/BasemapToggle")],v.prototype,"messages",void 0),e([s()],v.prototype,"nextBasemap",null),e([s()],v.prototype,"view",null),e([s({type:l})],v.prototype,"viewModel",void 0),e([s()],v.prototype,"visibleElements",void 0),e([t("visibleElements")],v.prototype,"castVisibleElements",null),e([c()],v.prototype,"_toggle",null),v=e([o("esri.widgets.BasemapToggle")],v);const b=v;export{b 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{isSome as e}from"../core/arrayUtils.js";import{eventKey as o}from"../core/events.js";import{watch as s,initial as i,on as r}from"../core/reactiveUtils.js";import{property as a}from"../core/accessorSupport/decorators/property.js";import{cast as n}from"../core/accessorSupport/decorators/cast.js";import"../core/has.js";import{subclass as d}from"../core/accessorSupport/decorators/subclass.js";import{formatDate as l,convertDateFormatToIntlOptions as u}from"../intl/date.js";import{system as m}from"../time/timeZoneUtils.js";import{SlideThumbnail as k}from"../webdoc/support/SlideThumbnail.js";import h from"./Widget.js";import c from"./Bookmarks/BookmarksUserState.js";import p from"./Bookmarks/BookmarksViewModel.js";import{css as b}from"./Bookmarks/css.js";import _ from"./FeatureTable/Grid/support/ButtonMenu.js";import g from"./FeatureTable/Grid/support/ButtonMenuItem.js";import{loadCalciteComponents as B}from"./support/componentsUtils.js";import{globalCss as f}from"./support/globalCss.js";import{Heading as v}from"./support/Heading.js";import{legacyIcon as E}from"./support/legacyIcon.js";import{isActivationKey as I}from"./support/widgetUtils.js";import{messageBundle as y}from"./support/decorators/messageBundle.js";import{vmEvent as w}from"./support/decorators/vmEvent.js";import{tsx as S}from"./support/jsxFactory.js";import T from"sortablejs";function A(t,e,o){t.splice(o,0,t.splice(e,1)[0])}const x="bookmarks",U="data-bookmark-uid",C={addBookmark:!0,thumbnail:!0,time:!0},M=/^https:\/\/.*/i,N="esri.widgets.Bookmarks";let j=class extends h{constructor(t,e){super(t,e),this._tooltipReferenceMap=new Map,this._addInputNode=null,this._editInputNode=null,this._urlEditInputNode=null,this._addBookmarkButtonNode=null,this._focusAddBookmarkButton=!1,this._focusEditInputBox=!1,this._focusAddInputBox=!1,this._focusUrlEditInputBox=!1,this._sortable=null,this._sortableNode=null,this._focusSortUid=null,this._selectedSortUid=null,this._sortableSavedItems=[],this._editIncludeTimeExtent=void 0,this._userState=null,this.disabled=!1,this.editingEnabled=!1,this.headingLevel=2,this.iconClass=b.widgetIcon,this.icon=null,this.messages=null,this.messagesCommon=null,this.viewModel=new p,this.visibleElements={...C}}initialize(){this.addHandles([s((()=>this.viewModel?.bookmarks),(()=>this._bookmarksInitialized()),i),s((()=>this.editingEnabled),(()=>this._toggleSorting()),i)])}destroy(){this._destroySortable(),this._editMenu.destroy(),this._tooltipReferenceMap.clear()}loadDependencies(){return B({label:()=>import("@esri/calcite-components/dist/components/calcite-label.js"),switch:()=>import("@esri/calcite-components/dist/components/calcite-switch.js"),tooltip:()=>import("@esri/calcite-components/dist/components/calcite-tooltip.js")})}get _editMenuItems(){const{messages:t,_userState:o}=this,s=o?.editedBookmark?.thumbnail?.url;return[new g({label:t?.menu.refreshThumbnail,iconClass:E.refresh,clickFunction:()=>this._refreshThumbnail()}),new g({label:s&&M.test(s)?t?.menu.editImageUrl:t?.menu.useImageUrl,iconClass:E.link,clickFunction:()=>this._startUseImageUrl()}),s?new g({label:t?.menu.removeThumbnail,iconClass:E.erase,clickFunction:()=>this._removeThumbnail()}):null].filter(e)}get _editMenu(){const{_editMenuItems:t,messages:e,disabled:o}=this,s=this._get("_editMenu");s&&s.destroy();const i=new _({disabled:o,iconClass:E.handleHorizontal,label:e?.menu.label});return i.items=t,i}get defaultCreateOptions(){return this.viewModel.defaultCreateOptions}set defaultCreateOptions(t){this.viewModel.defaultCreateOptions=t}get defaultEditOptions(){return this.viewModel.defaultEditOptions}set defaultEditOptions(t){this.viewModel.defaultEditOptions=t}get bookmarks(){return this.viewModel.bookmarks}set bookmarks(t){this.viewModel.bookmarks=t}get goToOverride(){return this.viewModel.goToOverride}set goToOverride(t){this.viewModel.goToOverride=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}castVisibleElements(t){return{...C,...t}}endAddBookmark(){this._userState=null}goTo(t){return this.viewModel.goTo(t)}render(){const{state:t}=this.viewModel,e="loading"===t?this._renderLoading():this._renderBookmarks();return S("div",{class:this.classes(b.base,f.widget,f.panel,{[f.widgetDisabled]:this.disabled})},e)}startAddBookmark(){this._userState=new c({state:"add"}),this._focusAddInputBox=!0,this.scheduleRender()}_renderBookmarkTooltips(t){return t.toArray().map((t=>this._renderBookmarkTooltip(t)))??[]}_renderBookmarkTooltip(t){const{_tooltipReferenceMap:e,messagesCommon:o}=this,s=this._getBookmarkTitle(t),i=`${o?.dragHandleTitle} ${s}`;return t?S("calcite-tooltip",{key:`tooltip-${t.uid}`,referenceElement:e.get(t.uid)},i):null}_renderLoading(){return S("div",{class:b.loaderContainer,key:"loader",tabIndex:this.disabled?-1:void 0},S("div",{class:b.loader}))}_renderNoBookmarksContainer(){const{messages:t,disabled:e}=this;return S("div",{class:f.empty,key:"no-bookmarks",tabIndex:e?-1:void 0},S("span",{"aria-hidden":"true",class:this.classes(f.noBookmarksIcon,b.widgetIcon)}),S(v,{level:this.headingLevel,class:this.classes(f.heading,b.noBookmarksHeader)},t?.noBookmarksHeading),S("p",{class:b.noBookmarksDescription},t?.noBookmarksDescription))}_renderAddBookmarkLoading(){return S("div",{key:"adding-bookmark",class:b.addingBookmark},S("span",{"aria-hidden":"true",class:this.classes(E.loadingIndicator,f.rotating)}),this.messages?.addingBookmark)}_renderBookmarkItems(t){if(!t)return[];const{_userState:e,editingEnabled:o}=this;return t.map((t=>o&&t&&e&&("edit"===e.state||"edit-thumbnail"===e.state)&&e.bookmark===t?"edit-thumbnail"===e.state?this._renderEditingBookmarkUrl(e.editedBookmark):this._renderEditingBookmark(e.editedBookmark):this._renderBookmark(t))).toArray()}_renderBookmarksContainer(t){const{_userState:e,editingEnabled:o,disabled:s,view:i}=this,r="add"===e?.state,a=i&&o&&!r?this._renderAddBookmarkButton():null,n=o?r&&e.loading?this._renderAddBookmarkLoading():"add"===e?.state?this._renderAddingBookmark():null:null;return[S("ul",{key:"bookmark-list","aria-label":this.messages?.widgetLabel,class:this.classes(b.bookmarkList,{[b.bookmarkListSortable]:this.editingEnabled}),afterCreate:this._sortNodeCreated,afterRemoved:this._destroySortable,"data-node-ref":"_sortableNode",bind:this,tabIndex:s?-1:void 0},this._renderBookmarkItems(t)),a,n]}_renderAddBookmarkButton(){return this.visibleElements.addBookmark?S("div",{key:"add-bookmark-item",class:b.addBookmark},S("button",{class:this.classes(f.button,f.buttonTertiary,b.addBookmarkButton),disabled:this.disabled,onclick:this.startAddBookmark,afterCreate:this._storeAddBookmarkButton,afterUpdate:this._storeAddBookmarkButton,"data-node-ref":"_addBookmarkButtonNode",bind:this,type:"button"},S("span",{"aria-hidden":"true",class:this.classes(b.addBookmarkIcon,E.plus)}),this.messages?.addBookmark)):null}_renderBookmarks(){const{bookmarks:t}=this.viewModel,e=t&&t.filter(Boolean),o=e&&e.length,s=o||this.editingEnabled?this._renderBookmarksContainer(e):null;return[o?null:this._renderNoBookmarksContainer(),s,this._renderBookmarkTooltips(t)]}_renderEditContainer(t){const{messagesCommon:e,disabled:o}=this,s=this._getBookmarkTitle(t);return S("div",{class:b.bookmarkEditButtonContainer,key:"edit-container"},S("button",{disabled:o,title:`${e?.edit} ${s}`,"aria-label":`${e?.edit} ${s}`,"data-bookmark":t,onclick:this._showEditBookmarkForm,bind:this,class:b.bookmarkEditButton,type:"button"},S("span",{"aria-hidden":"true",class:E.edit})))}_renderDragHandle(t){const{messagesCommon:e,disabled:o}=this,s=this._getBookmarkTitle(t),i={[U]:t.uid};return S("div",{role:"button",tabIndex:o?-1:0,key:"drag-handle",bind:this,class:b.bookmarkDragHandle,onkeydown:this._dragHandleKeydown,"data-bookmark":t,afterCreate:this._focusDragHandle,afterUpdate:this._focusDragHandle,onblur:this._dragHandleBlur,"aria-pressed":this._selectedSortUid===t.uid?"true":"false","aria-label":`${e?.dragHandleTitle} ${s}`,...i},S("span",{"aria-hidden":"true",class:this.classes(b.bookmarkDragHandleIcon,E.handleVertical)}))}_renderBookmarkImageIcon(){return S("span",{"aria-hidden":"true",class:this.classes(b.bookmarkIcon,b.widgetIcon)})}_renderBookmarkImage(t){const{visibleElements:e}=this,{thumbnail:o}=t,s=o&&o.url||"";return e.thumbnail&&s?S("img",{src:s,alt:"",class:b.bookmarkImage}):null}_renderBookmarkTimeSwitch(t){const{messages:e,disabled:o}=this,{timeExtent:s}=t,{view:i}=this.viewModel;return i?.timeExtent??s?S("calcite-label",{layout:"inline-space-between"},e?.includeTimeExtent,S("calcite-switch",{scale:"s",disabled:o,checked:!!s,onCalciteSwitchChange:t=>{this._editIncludeTimeExtent=!!t.target.checked}})):null}_renderBookmarkTimeExtent(t){const{visibleElements:e}=this,{timeExtent:o}=t;return o?S("span",{class:b.timeExtent},[null!=o.start&&S("span",{key:"start-date-group",class:b.timeExtentGroup},S("span",{key:"start-date",class:b.timeExtentDate},this._formatDate(o.start)),e.time&&S("span",{key:"start-time",class:b.timeExtentTime},this._formatTime(o.start))),null!=o.end&&(null==o.start||o.start.getTime()!==o.end.getTime())&&S("span",{key:"end-date-group",class:b.timeExtentGroup},S("span",{key:"end-date",class:b.timeExtentDate},this._formatDate(o.end)),e.time&&S("span",{key:"end-time",class:b.timeExtentTime},this._formatTime(o.end)))]):null}_renderBookmarkButton(t){const{disabled:e}=this,{timeExtent:o}=t,{capabilities:s}=this.viewModel,i=this._getBookmarkTitle(t),{thumbnail:r}=t,a=S("div",{class:this.classes(b.bookmarkImageContainer,r&&r.url?b.bookmarkImageContainerHasImage:null)},this._renderBookmarkImage(t)||this._renderBookmarkImageIcon()),n=s.time&&o?S("span",{key:"time-extent",class:b.bookmarkTimeExtent},this._renderBookmarkTimeExtent(t)):null;return S("button",{disabled:e,key:"bookmark-button",class:b.bookmarkButton,bind:this,"data-bookmark":t,onclick:this._goToBookmark,type:"button"},a,S("div",{class:b.bookmarkLabel},S("span",{key:"bookmark-title",class:b.bookmarkName},i),n))}_renderBookmark(t){const{activeBookmark:e}=this.viewModel,o={[b.bookmarkActive]:e===t},s=this.editingEnabled?this._renderEditContainer(t):null,i={[U]:t.uid},r=this.editingEnabled?this._renderDragHandle(t):null;return S("li",{key:t,class:this.classes(b.bookmark,o),...i},r,this._renderBookmarkButton(t),s)}_renderEditingBookmarkName(t){const{messages:e,_userState:o,disabled:s}=this,i="name-required"===o?.validationState;return S("label",{class:this.classes({[b.authoringLabel]:!0,[b.authoringLabelStartPadding]:!!this.visibleElements?.thumbnail})},e?.title,i?S("strong",null,e?.invalidTitle):null,S("input",{required:!0,disabled:s,bind:this,class:this.classes(f.input,i?b.authoringInputInvalid:null),type:"text",value:t.name,afterCreate:this._storeEditInput,afterUpdate:this._focusEditInput,"data-bookmark":t,"data-node-ref":"_editInputNode",placeholder:e?.titlePlaceholder}))}_renderEditingBookmarkUrlActions(){const{messagesCommon:t,disabled:e}=this;return S("div",{class:b.authoringActions},S("input",{type:"button",disabled:e,value:t?.back,class:this.classes(f.button,f.buttonTertiary),onclick:this._closeUrlEditBookmarkForm,bind:this}),S("input",{class:f.button,disabled:e,type:"submit",value:t?.add}))}_renderEditingBookmarkActions(){const{messagesCommon:t,disabled:e}=this,o=this._userState?.bookmark;return S("div",{class:b.authoringActions},S("input",{type:"button",disabled:e,value:t?.delete,class:this.classes(f.button,f.buttonTertiary,b.authoringDeleteButton),"data-bookmark":o,onclick:this._deleteBookmark,bind:this}),S("input",{disabled:e,type:"button",value:t?.cancel,class:this.classes(f.button,f.buttonTertiary),onclick:this._closeEditBookmarkForm,bind:this}),S("input",{class:f.button,disabled:e,type:"submit",value:t?.save}))}_renderEditingBookmarkUrlInput(t){const{messages:e,_userState:o,disabled:s}=this,i=t.thumbnail?.url,r=i&&M.test(i)?i:void 0,a="absolute-url-required"===o?.validationState;return S("label",{class:this.classes({[b.authoringLabel]:!0,[b.authoringLabelStartPadding]:!!this.visibleElements?.thumbnail})},a?S("strong",null,e?.invalidImageUrl):null,S("input",{required:!0,disabled:s,bind:this,class:this.classes(f.input,a?b.authoringInputInvalid:null),type:"text",value:r,afterCreate:this._storeUrlEditInput,afterUpdate:this._focusUrlEditInput,"data-bookmark":t,"data-node-ref":"_urlEditInputNode",title:e?.imageUrlTooltip,placeholder:e?`https://<${e.imageUrlPlaceholder}>`:void 0}))}_renderEditingBookmarkUrl(t){if(!t)return null;const e={[U]:t.uid};return S("li",{key:"edit-bookmark-url-form",class:b.authoringCard,...e},S("form",{class:b.authoringForm,disabled:this.disabled,onsubmit:this._editBookmarkUrlSubmit,bind:this},this._renderEditingBookmarkUrlInput(t),this._renderEditingBookmarkUrlActions()))}_renderEditingBookmark(t){if(!t)return null;const e={[U]:t.uid},{capabilities:o}=this.viewModel,s=o.time?S("div",{key:"edit-bookmark-time-container",class:b.timeExtentContainer},this._renderBookmarkTimeSwitch(t),this._editIncludeTimeExtent&&this._renderBookmarkTimeExtent(t)):null;return S("li",{key:"edit-bookmark-form",class:b.authoringCard,...e},S("form",{class:b.authoringForm,disabled:this.disabled,onsubmit:this._editBookmarkSubmit,bind:this},S("div",{class:b.authoringContainer},this.visibleElements.thumbnail?S("div",{class:b.bookmarkImageContainer},this._renderBookmarkImage(t),this._editMenu.render()):null,this._renderEditingBookmarkName(t)),s,this._renderEditingBookmarkActions()))}_renderAddingBookmarkName(){const{_userState:t,messages:e,disabled:o}=this,s="name-required"===t?.validationState;return S("label",{class:b.authoringLabel},e?.title,s?S("strong",null,e?.invalidTitle):null,S("input",{required:!0,disabled:o,bind:this,class:this.classes(f.input,s?b.authoringInputInvalid:null),type:"text",afterCreate:this._storeAddInput,afterUpdate:this._focusAddInput,"data-node-ref":"_addInputNode",value:"",placeholder:e?.titlePlaceholder}))}_renderAddingBookmarkActions(){const{messagesCommon:t,disabled:e}=this;return S("div",{class:this.classes(b.authoringActions)},S("input",{type:"button",disabled:e,value:t?.cancel,class:this.classes(f.button,f.buttonTertiary,b.authoringCancelButton),onclick:this._endAddBookmark.bind(this),bind:this}),S("input",{class:f.button,disabled:e,type:"submit",value:t?.add}))}_renderAddingBookmark(){return S("div",{key:"add-bookmark-form",class:b.authoringCard},S("form",{class:this.classes(b.authoringForm,b.authoringFormAdding),onsubmit:this._addBookmarkSubmit,bind:this},this._renderAddingBookmarkName(),this._renderAddingBookmarkActions()))}_setTooltipReference(t,e){this._tooltipReferenceMap.set(e.uid,t),this.scheduleRender()}_getBookmarkTitle(t){return(t?.name||this.messagesCommon?.untitled)??""}_formatDate(t){return t?l(t,{...u("short-date"),timeZone:this.view?.timeZone??m}):""}_formatTime(t){return t?l(t,{...u("long-time"),timeZone:this.view?.timeZone??m}):""}_dragHandleBlur(){this._selectedSortUid=null,this.scheduleRender()}_dragHandleKeydown(t){const{_sortableSavedItems:e}=this,s=["ArrowDown","ArrowUp","Escape","Tab"," ","Enter"],i=o(t);if(!s.includes(i))return;const{_sortable:r,_selectedSortUid:a}=this;if(!r)return;const n=r.toArray(),d=t.target.getAttribute(U),l=n.indexOf(d);if(I(i)){const t=a&&a===d;return this._selectedSortUid=t?null:d,this._sortableSavedItems=t?[]:r.toArray(),void this.scheduleRender()}if("Tab"===i)return this._selectedSortUid=null,void this.scheduleRender();if("Escape"===i&&0!==e.length)return t.stopPropagation(),this._selectedSortUid=null,this._updateSortItems(e,r,d),void this.scheduleRender();if(-1===l||!a)return;const u="ArrowUp"===i?l-1:l+1;u>=n.length||u<=-1||(A(n,l,u),this._updateSortItems(n,r,d))}_updateSortItems(t,e,o){e.sort(t),this._sortBookmarks(e),this._focusSortUid=o,this._selectedSortUid=o}_focusDragHandle(t){const e=H(t);if(!e)return;this._setTooltipReference(t,e);const{_focusSortUid:o}=this;if(!t||!o)return;t.getAttribute(U)===o&&(t.focus(),this._focusSortUid=null)}_toggleSorting(){const{_sortable:t,_sortableNode:e,editingEnabled:o,disabled:s}=this;if(e)if(t)t.option("disabled",s||!o);else{const t=T.create(e,{dataIdAttr:U,handle:`.${b.bookmarkDragHandle}`,group:x,disabled:s||!o,onSort:()=>this._sortBookmarks(t)});this._sortable=t}}_sortNodeCreated(t){this._sortableNode=t,this._toggleSorting()}_sortBookmarks(t){const{bookmarks:e}=this.viewModel;if(!e)return;const o=t.toArray();e.sort(((t,e)=>{const s=o.indexOf(t.uid),i=o.indexOf(e.uid);return s>i?1:s<i?-1:0}))}_destroySortable(){const{_sortable:t}=this;t&&t.destroy(),this._sortable=null}_endAddBookmark(){this._focusAddBookmarkButton=!0,this.endAddBookmark()}_bookmarksInitialized(){const t="bookmarks-init";this.removeHandles(t),this.addHandles(r((()=>this.viewModel?.bookmarks),"change",(()=>this._bookmarksChanged())),t)}_bookmarksChanged(){const t="bookmarks-change",{bookmarks:e}=this.viewModel;this.removeHandles(t);const o=e.map((t=>s((()=>[t?.name,t?.thumbnail?.url]),(()=>this.scheduleRender()))));this.addHandles(o.toArray(),t),this.scheduleRender()}_showEditBookmarkForm(t){const e=H(t.currentTarget);e&&(this._editIncludeTimeExtent=!!e.timeExtent,this._focusEditInputBox=!0,this._userState=new c({bookmark:e,state:"edit"}),this.viewModel.goTo(e),this.scheduleRender())}_closeUrlEditBookmarkForm(){this._focusEditInputBox=!0,this._userState&&(this._userState.state="edit")}_closeEditBookmarkForm(){this._userState=null}_addBookmarkSubmit(t){t.preventDefault();const{_addInputNode:e,_userState:o}=this;if(!o)return;const s=e?e.value.trim():null;s?(o.loading=!0,this.viewModel.createBookmark().then((t=>{t.name=s,this.viewModel.bookmarks.add(t),this._endAddBookmark()}))):o.validationState="name-required"}async _editBookmarkAndClose(t,e){const{viewModel:o}=this;await o.editBookmark(t,{...o.defaultEditOptions,...e}),this._closeEditBookmarkForm()}_editBookmarkSubmit(t){t.preventDefault();const{_editInputNode:e,_userState:o,_editIncludeTimeExtent:s}=this;if(!o?.bookmark||!o.editedBookmark)return;const i=e&&e.value.trim();i?(o.bookmark.name=i,o.bookmark.thumbnail=o.editedBookmark.thumbnail,s||(o.bookmark.timeExtent=null),this._editBookmarkAndClose(o.bookmark,{takeScreenshot:!1,captureTimeExtent:s})):o.validationState="name-required"}_storeAddBookmarkButton(t){this._addBookmarkButtonNode=t,this._focusAddBookmark()}_storeEditInput(t){this._editInputNode=t,this._focusEditInput()}_storeAddInput(t){this._addInputNode=t,this._focusAddInput()}_storeUrlEditInput(t){this._urlEditInputNode=t,this._focusUrlEditInput()}_focusUrlEditInput(){this._urlEditInputNode&&this._focusUrlEditInputBox&&(this._focusUrlEditInputBox=!1,this._urlEditInputNode.focus())}_focusAddInput(){this._addInputNode&&this._focusAddInputBox&&(this._focusAddInputBox=!1,this._addInputNode.focus())}_focusAddBookmark(){this._addBookmarkButtonNode&&this._focusAddBookmarkButton&&(this._focusAddBookmarkButton=!1,this._addBookmarkButtonNode.focus())}_focusEditInput(){this._editInputNode&&this._focusEditInputBox&&(this._focusEditInputBox=!1,this._editInputNode.focus())}_deleteBookmark(t){const e=H(t.currentTarget);e&&this.viewModel.bookmarks.remove(e)}_goToBookmark(t){const e=H(t.currentTarget);e&&(this.endAddBookmark(),this._closeEditBookmarkForm(),this.viewModel.goTo(e))}async _refreshThumbnail(){const{_userState:t,_editMenu:e,viewModel:o}=this;t&&(t.validationState=void 0,await o.editBookmark(t.editedBookmark,{takeScreenshot:!0,captureViewpoint:!1,captureRotation:!1,captureScale:!1,captureTimeExtent:!1}),e.open=!1,this._focusEditInputBox=!0,this.scheduleRender())}_removeThumbnail(){const{_userState:t,_editMenu:e}=this;t?.editedBookmark&&(t.editedBookmark.thumbnail=null,t.validationState=void 0,e.open=!1,this._focusEditInputBox=!0,this.scheduleRender())}_startUseImageUrl(){this._userState&&(this._userState.state="edit-thumbnail"),this._editMenu.open=!1,this._focusUrlEditInputBox=!0,this.scheduleRender()}_editBookmarkUrlSubmit(t){t.preventDefault();const{_urlEditInputNode:e,_userState:o}=this;if(!e||!o)return;const s=e.value;M.test(s)?(s&&o.editedBookmark&&(o.editedBookmark.thumbnail=new k({url:s})),this._closeUrlEditBookmarkForm()):o.validationState="absolute-url-required"}};function H(t){return t["data-bookmark"]}t([a()],j.prototype,"_editIncludeTimeExtent",void 0),t([a({type:c})],j.prototype,"_userState",void 0),t([a({readOnly:!0})],j.prototype,"_editMenuItems",null),t([a({readOnly:!0})],j.prototype,"_editMenu",null),t([a()],j.prototype,"defaultCreateOptions",null),t([a()],j.prototype,"defaultEditOptions",null),t([a()],j.prototype,"bookmarks",null),t([a()],j.prototype,"disabled",void 0),t([a()],j.prototype,"editingEnabled",void 0),t([a()],j.prototype,"headingLevel",void 0),t([a()],j.prototype,"goToOverride",null),t([a()],j.prototype,"iconClass",void 0),t([a()],j.prototype,"icon",void 0),t([a()],j.prototype,"label",null),t([a(),y("esri/widgets/Bookmarks/t9n/Bookmarks")],j.prototype,"messages",void 0),t([a(),y("esri/t9n/common")],j.prototype,"messagesCommon",void 0),t([a()],j.prototype,"uiStrings",void 0),t([a()],j.prototype,"view",null),t([a({type:p}),w(["select-bookmark","bookmark-edit","bookmark-select"])],j.prototype,"viewModel",void 0),t([a()],j.prototype,"visibleElements",void 0),t([n("visibleElements")],j.prototype,"castVisibleElements",null),t([a()],j.prototype,"endAddBookmark",null),t([a()],j.prototype,"startAddBookmark",null),j=t([d(N)],j);const D=j;export{D as default};
5
+ import{_ as t}from"../chunks/tslib.es6.js";import{isSome as e}from"../core/arrayUtils.js";import{eventKey as o}from"../core/events.js";import{watch as s,initial as i,on as r}from"../core/reactiveUtils.js";import{property as a}from"../core/accessorSupport/decorators/property.js";import{cast as n}from"../core/accessorSupport/decorators/cast.js";import"../core/has.js";import{subclass as d}from"../core/accessorSupport/decorators/subclass.js";import{formatDate as l,convertDateFormatToIntlOptions as u}from"../intl/date.js";import{system as m}from"../time/timeZoneUtils.js";import{SlideThumbnail as k}from"../webdoc/support/SlideThumbnail.js";import h from"./Widget.js";import c from"./Bookmarks/BookmarksUserState.js";import p from"./Bookmarks/BookmarksViewModel.js";import{css as b}from"./Bookmarks/css.js";import _ from"./FeatureTable/Grid/support/ButtonMenu.js";import g from"./FeatureTable/Grid/support/ButtonMenuItem.js";import{loadCalciteComponents as B}from"./support/componentsUtils.js";import{globalCss as f}from"./support/globalCss.js";import{Heading as v}from"./support/Heading.js";import{legacyIcon as E}from"./support/legacyIcon.js";import{isActivationKey as I}from"./support/widgetUtils.js";import{messageBundle as y}from"./support/decorators/messageBundle.js";import{vmEvent as w}from"./support/decorators/vmEvent.js";import{tsx as S}from"./support/jsxFactory.js";import T from"sortablejs";function A(t,e,o){t.splice(o,0,t.splice(e,1)[0])}const x="bookmarks",U="data-bookmark-uid",C={addBookmark:!0,thumbnail:!0,time:!0},M=/^https:\/\/.*/i,N="esri.widgets.Bookmarks";let j=class extends h{constructor(t,e){super(t,e),this._tooltipReferenceMap=new Map,this._addInputNode=null,this._editInputNode=null,this._urlEditInputNode=null,this._addBookmarkButtonNode=null,this._focusAddBookmarkButton=!1,this._focusEditInputBox=!1,this._focusAddInputBox=!1,this._focusUrlEditInputBox=!1,this._sortable=null,this._sortableNode=null,this._focusSortUid=null,this._selectedSortUid=null,this._sortableSavedItems=[],this._editIncludeTimeExtent=void 0,this._userState=null,this.disabled=!1,this.editingEnabled=!1,this.headingLevel=2,this.iconClass=b.widgetIcon,this.icon=null,this.messages=null,this.messagesCommon=null,this.viewModel=new p,this.visibleElements={...C}}initialize(){this.addHandles([s((()=>this.viewModel?.bookmarks),(()=>this._bookmarksInitialized()),i),s((()=>this.editingEnabled),(()=>this._toggleSorting()),i)])}destroy(){this._destroySortable(),this._editMenu.destroy(),this._tooltipReferenceMap.clear()}loadDependencies(){return B({label:()=>import("@esri/calcite-components/dist/components/calcite-label.js"),switch:()=>import("@esri/calcite-components/dist/components/calcite-switch.js"),tooltip:()=>import("@esri/calcite-components/dist/components/calcite-tooltip.js")})}get _editMenuItems(){const{messages:t,_userState:o}=this,s=o?.editedBookmark?.thumbnail?.url;return[new g({label:t?.menu.refreshThumbnail,iconClass:E.refresh,clickFunction:()=>this._refreshThumbnail()}),new g({label:s&&M.test(s)?t?.menu.editImageUrl:t?.menu.useImageUrl,iconClass:E.link,clickFunction:()=>this._startUseImageUrl()}),s?new g({label:t?.menu.removeThumbnail,iconClass:E.erase,clickFunction:()=>this._removeThumbnail()}):null].filter(e)}get _editMenu(){const{_editMenuItems:t,messages:e,disabled:o}=this,s=this._get("_editMenu");s&&s.destroy();const i=new _({disabled:o,iconClass:E.handleHorizontal,label:e?.menu.label});return i.items=t,i}get defaultCreateOptions(){return this.viewModel.defaultCreateOptions}set defaultCreateOptions(t){this.viewModel.defaultCreateOptions=t}get defaultEditOptions(){return this.viewModel.defaultEditOptions}set defaultEditOptions(t){this.viewModel.defaultEditOptions=t}get bookmarks(){return this.viewModel.bookmarks}set bookmarks(t){this.viewModel.bookmarks=t}get goToOverride(){return this.viewModel.goToOverride}set goToOverride(t){this.viewModel.goToOverride=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}castVisibleElements(t){return{...C,...t}}endAddBookmark(){this._userState=null}goTo(t){return this.viewModel.goTo(t)}render(){const{state:t}=this.viewModel,e="loading"===t?this._renderLoading():this._renderBookmarks();return S("div",{class:this.classes(b.base,f.widget,f.panel,{[f.widgetDisabled]:this.disabled})},e)}startAddBookmark(){this._userState=new c({state:"add"}),this._focusAddInputBox=!0,this.scheduleRender()}_renderBookmarkTooltips(t){return t.toArray().map((t=>this._renderBookmarkTooltip(t)))??[]}_renderBookmarkTooltip(t){const{_tooltipReferenceMap:e,messagesCommon:o}=this,s=this._getBookmarkTitle(t),i=`${o?.dragHandleTitle} ${s}`;return t?S("calcite-tooltip",{key:`tooltip-${t.uid}`,referenceElement:e.get(t.uid)},i):null}_renderLoading(){return S("div",{class:b.loaderContainer,key:"loader",tabIndex:this.disabled?-1:void 0},S("div",{class:b.loader}))}_renderNoBookmarksContainer(){const{messages:t,disabled:e}=this;return S("div",{class:f.empty,key:"no-bookmarks",tabIndex:e?-1:void 0},S("span",{"aria-hidden":"true",class:this.classes(f.noBookmarksIcon,b.widgetIcon)}),S(v,{class:this.classes(f.heading,b.noBookmarksHeader),level:this.headingLevel},t?.noBookmarksHeading),S("p",{class:b.noBookmarksDescription},t?.noBookmarksDescription))}_renderAddBookmarkLoading(){return S("div",{class:b.addingBookmark,key:"adding-bookmark"},S("span",{"aria-hidden":"true",class:this.classes(E.loadingIndicator,f.rotating)}),this.messages?.addingBookmark)}_renderBookmarkItems(t){if(!t)return[];const{_userState:e,editingEnabled:o}=this;return t.map((t=>o&&t&&e&&("edit"===e.state||"edit-thumbnail"===e.state)&&e.bookmark===t?"edit-thumbnail"===e.state?this._renderEditingBookmarkUrl(e.editedBookmark):this._renderEditingBookmark(e.editedBookmark):this._renderBookmark(t))).toArray()}_renderBookmarksContainer(t){const{_userState:e,editingEnabled:o,disabled:s,view:i}=this,r="add"===e?.state,a=i&&o&&!r?this._renderAddBookmarkButton():null,n=o?r&&e.loading?this._renderAddBookmarkLoading():"add"===e?.state?this._renderAddingBookmark():null:null;return[S("ul",{afterCreate:this._sortNodeCreated,afterRemoved:this._destroySortable,"aria-label":this.messages?.widgetLabel,bind:this,class:this.classes(b.bookmarkList,{[b.bookmarkListSortable]:this.editingEnabled}),"data-node-ref":"_sortableNode",key:"bookmark-list",tabIndex:s?-1:void 0},this._renderBookmarkItems(t)),a,n]}_renderAddBookmarkButton(){return this.visibleElements.addBookmark?S("div",{class:b.addBookmark,key:"add-bookmark-item"},S("button",{afterCreate:this._storeAddBookmarkButton,afterUpdate:this._storeAddBookmarkButton,bind:this,class:this.classes(f.button,f.buttonTertiary,b.addBookmarkButton),"data-node-ref":"_addBookmarkButtonNode",disabled:this.disabled,onclick:this.startAddBookmark,type:"button"},S("span",{"aria-hidden":"true",class:this.classes(b.addBookmarkIcon,E.plus)}),this.messages?.addBookmark)):null}_renderBookmarks(){const{bookmarks:t}=this.viewModel,e=t&&t.filter(Boolean),o=e&&e.length,s=o||this.editingEnabled?this._renderBookmarksContainer(e):null;return[o?null:this._renderNoBookmarksContainer(),s,this._renderBookmarkTooltips(t)]}_renderEditContainer(t){const{messagesCommon:e,disabled:o}=this,s=this._getBookmarkTitle(t);return S("div",{class:b.bookmarkEditButtonContainer,key:"edit-container"},S("button",{"aria-label":`${e?.edit} ${s}`,bind:this,class:b.bookmarkEditButton,"data-bookmark":t,disabled:o,onclick:this._showEditBookmarkForm,title:`${e?.edit} ${s}`,type:"button"},S("span",{"aria-hidden":"true",class:E.edit})))}_renderDragHandle(t){const{messagesCommon:e,disabled:o}=this,s=this._getBookmarkTitle(t),i={[U]:t.uid};return S("div",{afterCreate:this._focusDragHandle,afterUpdate:this._focusDragHandle,"aria-label":`${e?.dragHandleTitle} ${s}`,"aria-pressed":this._selectedSortUid===t.uid?"true":"false",bind:this,class:b.bookmarkDragHandle,"data-bookmark":t,key:"drag-handle",onblur:this._dragHandleBlur,onkeydown:this._dragHandleKeydown,role:"button",tabIndex:o?-1:0,...i},S("span",{"aria-hidden":"true",class:this.classes(b.bookmarkDragHandleIcon,E.handleVertical)}))}_renderBookmarkImageIcon(){return S("span",{"aria-hidden":"true",class:this.classes(b.bookmarkIcon,b.widgetIcon)})}_renderBookmarkImage(t){const{visibleElements:e}=this,{thumbnail:o}=t,s=o&&o.url||"";return e.thumbnail&&s?S("img",{alt:"",class:b.bookmarkImage,src:s}):null}_renderBookmarkTimeSwitch(t){const{messages:e,disabled:o}=this,{timeExtent:s}=t,{view:i}=this.viewModel;return i?.timeExtent??s?S("calcite-label",{layout:"inline-space-between"},e?.includeTimeExtent,S("calcite-switch",{checked:!!s,disabled:o,scale:"s",onCalciteSwitchChange:t=>{this._editIncludeTimeExtent=!!t.target.checked}})):null}_renderBookmarkTimeExtent(t){const{visibleElements:e}=this,{timeExtent:o}=t;return o?S("span",{class:b.timeExtent},[null!=o.start&&S("span",{class:b.timeExtentGroup,key:"start-date-group"},S("span",{class:b.timeExtentDate,key:"start-date"},this._formatDate(o.start)),e.time?S("span",{class:b.timeExtentTime,key:"start-time"},this._formatTime(o.start)):null),null!=o.end&&(null==o.start||o.start.getTime()!==o.end.getTime())&&S("span",{class:b.timeExtentGroup,key:"end-date-group"},S("span",{class:b.timeExtentDate,key:"end-date"},this._formatDate(o.end)),e.time?S("span",{class:b.timeExtentTime,key:"end-time"},this._formatTime(o.end)):null)]):null}_renderBookmarkButton(t){const{disabled:e}=this,{timeExtent:o}=t,{capabilities:s}=this.viewModel,i=this._getBookmarkTitle(t),{thumbnail:r}=t,a=S("div",{class:this.classes(b.bookmarkImageContainer,r&&r.url?b.bookmarkImageContainerHasImage:null)},this._renderBookmarkImage(t)||this._renderBookmarkImageIcon()),n=s.time&&o?S("span",{class:b.bookmarkTimeExtent,key:"time-extent"},this._renderBookmarkTimeExtent(t)):null;return S("button",{bind:this,class:b.bookmarkButton,"data-bookmark":t,disabled:e,key:"bookmark-button",onclick:this._goToBookmark,type:"button"},a,S("div",{class:b.bookmarkLabel},S("span",{class:b.bookmarkName,key:"bookmark-title"},i),n))}_renderBookmark(t){const{activeBookmark:e}=this.viewModel,o={[b.bookmarkActive]:e===t},s=this.editingEnabled?this._renderEditContainer(t):null,i={[U]:t.uid},r=this.editingEnabled?this._renderDragHandle(t):null;return S("li",{class:this.classes(b.bookmark,o),key:t,...i},r,this._renderBookmarkButton(t),s)}_renderEditingBookmarkName(t){const{messages:e,_userState:o,disabled:s}=this,i="name-required"===o?.validationState;return S("label",{class:this.classes({[b.authoringLabel]:!0,[b.authoringLabelStartPadding]:!!this.visibleElements?.thumbnail})},e?.title,i?S("strong",null,e?.invalidTitle):null,S("input",{afterCreate:this._storeEditInput,afterUpdate:this._focusEditInput,bind:this,class:this.classes(f.input,i?b.authoringInputInvalid:null),"data-bookmark":t,"data-node-ref":"_editInputNode",disabled:s,placeholder:e?.titlePlaceholder,required:!0,type:"text",value:t.name}))}_renderEditingBookmarkUrlActions(){const{messagesCommon:t,disabled:e}=this;return S("div",{class:b.authoringActions},S("input",{bind:this,class:this.classes(f.button,f.buttonTertiary),disabled:e,onclick:this._closeUrlEditBookmarkForm,type:"button",value:t?.back}),S("input",{class:f.button,disabled:e,type:"submit",value:t?.add}))}_renderEditingBookmarkActions(){const{messagesCommon:t,disabled:e}=this,o=this._userState?.bookmark;return S("div",{class:b.authoringActions},S("input",{bind:this,class:this.classes(f.button,f.buttonTertiary,b.authoringDeleteButton),"data-bookmark":o,disabled:e,onclick:this._deleteBookmark,type:"button",value:t?.delete}),S("input",{bind:this,class:this.classes(f.button,f.buttonTertiary),disabled:e,onclick:this._closeEditBookmarkForm,type:"button",value:t?.cancel}),S("input",{class:f.button,disabled:e,type:"submit",value:t?.save}))}_renderEditingBookmarkUrlInput(t){const{messages:e,_userState:o,disabled:s}=this,i=t.thumbnail?.url,r=i&&M.test(i)?i:void 0,a="absolute-url-required"===o?.validationState;return S("label",{class:this.classes({[b.authoringLabel]:!0,[b.authoringLabelStartPadding]:!!this.visibleElements?.thumbnail})},a?S("strong",null,e?.invalidImageUrl):null,S("input",{afterCreate:this._storeUrlEditInput,afterUpdate:this._focusUrlEditInput,bind:this,class:this.classes(f.input,a?b.authoringInputInvalid:null),"data-bookmark":t,"data-node-ref":"_urlEditInputNode",disabled:s,placeholder:e?`https://<${e.imageUrlPlaceholder}>`:void 0,required:!0,title:e?.imageUrlTooltip,type:"text",value:r}))}_renderEditingBookmarkUrl(t){if(!t)return null;const e={[U]:t.uid};return S("li",{class:b.authoringCard,key:"edit-bookmark-url-form",...e},S("form",{bind:this,class:b.authoringForm,disabled:this.disabled,onsubmit:this._editBookmarkUrlSubmit},this._renderEditingBookmarkUrlInput(t),this._renderEditingBookmarkUrlActions()))}_renderEditingBookmark(t){if(!t)return null;const e={[U]:t.uid},{capabilities:o}=this.viewModel,s=o.time?S("div",{class:b.timeExtentContainer,key:"edit-bookmark-time-container"},this._renderBookmarkTimeSwitch(t),this._editIncludeTimeExtent?this._renderBookmarkTimeExtent(t):null):null;return S("li",{class:b.authoringCard,key:"edit-bookmark-form",...e},S("form",{bind:this,class:b.authoringForm,disabled:this.disabled,onsubmit:this._editBookmarkSubmit},S("div",{class:b.authoringContainer},this.visibleElements.thumbnail?S("div",{class:b.bookmarkImageContainer},this._renderBookmarkImage(t),this._editMenu.render()):null,this._renderEditingBookmarkName(t)),s,this._renderEditingBookmarkActions()))}_renderAddingBookmarkName(){const{_userState:t,messages:e,disabled:o}=this,s="name-required"===t?.validationState;return S("label",{class:b.authoringLabel},e?.title,s?S("strong",null,e?.invalidTitle):null,S("input",{afterCreate:this._storeAddInput,afterUpdate:this._focusAddInput,bind:this,class:this.classes(f.input,s?b.authoringInputInvalid:null),"data-node-ref":"_addInputNode",disabled:o,placeholder:e?.titlePlaceholder,required:!0,type:"text",value:""}))}_renderAddingBookmarkActions(){const{messagesCommon:t,disabled:e}=this;return S("div",{class:this.classes(b.authoringActions)},S("input",{bind:this,class:this.classes(f.button,f.buttonTertiary,b.authoringCancelButton),disabled:e,onclick:this._endAddBookmark.bind(this),type:"button",value:t?.cancel}),S("input",{class:f.button,disabled:e,type:"submit",value:t?.add}))}_renderAddingBookmark(){return S("div",{class:b.authoringCard,key:"add-bookmark-form"},S("form",{bind:this,class:this.classes(b.authoringForm,b.authoringFormAdding),onsubmit:this._addBookmarkSubmit},this._renderAddingBookmarkName(),this._renderAddingBookmarkActions()))}_setTooltipReference(t,e){this._tooltipReferenceMap.set(e.uid,t),this.scheduleRender()}_getBookmarkTitle(t){return(t?.name||this.messagesCommon?.untitled)??""}_formatDate(t){return t?l(t,{...u("short-date"),timeZone:this.view?.timeZone??m}):""}_formatTime(t){return t?l(t,{...u("long-time"),timeZone:this.view?.timeZone??m}):""}_dragHandleBlur(){this._selectedSortUid=null,this.scheduleRender()}_dragHandleKeydown(t){const{_sortableSavedItems:e}=this,s=["ArrowDown","ArrowUp","Escape","Tab"," ","Enter"],i=o(t);if(!s.includes(i))return;const{_sortable:r,_selectedSortUid:a}=this;if(!r)return;const n=r.toArray(),d=t.target.getAttribute(U),l=n.indexOf(d);if(I(i)){const t=a&&a===d;return this._selectedSortUid=t?null:d,this._sortableSavedItems=t?[]:r.toArray(),void this.scheduleRender()}if("Tab"===i)return this._selectedSortUid=null,void this.scheduleRender();if("Escape"===i&&0!==e.length)return t.stopPropagation(),this._selectedSortUid=null,this._updateSortItems(e,r,d),void this.scheduleRender();if(-1===l||!a)return;const u="ArrowUp"===i?l-1:l+1;u>=n.length||u<=-1||(A(n,l,u),this._updateSortItems(n,r,d))}_updateSortItems(t,e,o){e.sort(t),this._sortBookmarks(e),this._focusSortUid=o,this._selectedSortUid=o}_focusDragHandle(t){const e=H(t);if(!e)return;this._setTooltipReference(t,e);const{_focusSortUid:o}=this;if(!t||!o)return;t.getAttribute(U)===o&&(t.focus(),this._focusSortUid=null)}_toggleSorting(){const{_sortable:t,_sortableNode:e,editingEnabled:o,disabled:s}=this;if(e)if(t)t.option("disabled",s||!o);else{const t=T.create(e,{dataIdAttr:U,handle:`.${b.bookmarkDragHandle}`,group:x,disabled:s||!o,onSort:()=>this._sortBookmarks(t)});this._sortable=t}}_sortNodeCreated(t){this._sortableNode=t,this._toggleSorting()}_sortBookmarks(t){const{bookmarks:e}=this.viewModel;if(!e)return;const o=t.toArray();e.sort(((t,e)=>{const s=o.indexOf(t.uid),i=o.indexOf(e.uid);return s>i?1:s<i?-1:0}))}_destroySortable(){const{_sortable:t}=this;t&&t.destroy(),this._sortable=null}_endAddBookmark(){this._focusAddBookmarkButton=!0,this.endAddBookmark()}_bookmarksInitialized(){const t="bookmarks-init";this.removeHandles(t),this.addHandles(r((()=>this.viewModel?.bookmarks),"change",(()=>this._bookmarksChanged())),t)}_bookmarksChanged(){const t="bookmarks-change",{bookmarks:e}=this.viewModel;this.removeHandles(t);const o=e.map((t=>s((()=>[t?.name,t?.thumbnail?.url]),(()=>this.scheduleRender()))));this.addHandles(o.toArray(),t),this.scheduleRender()}_showEditBookmarkForm(t){const e=H(t.currentTarget);e&&(this._editIncludeTimeExtent=!!e.timeExtent,this._focusEditInputBox=!0,this._userState=new c({bookmark:e,state:"edit"}),this.viewModel.goTo(e),this.scheduleRender())}_closeUrlEditBookmarkForm(){this._focusEditInputBox=!0,this._userState&&(this._userState.state="edit")}_closeEditBookmarkForm(){this._userState=null}_addBookmarkSubmit(t){t.preventDefault();const{_addInputNode:e,_userState:o}=this;if(!o)return;const s=e?e.value.trim():null;s?(o.loading=!0,this.viewModel.createBookmark().then((t=>{t.name=s,this.viewModel.bookmarks.add(t),this._endAddBookmark()}))):o.validationState="name-required"}async _editBookmarkAndClose(t,e){const{viewModel:o}=this;await o.editBookmark(t,{...o.defaultEditOptions,...e}),this._closeEditBookmarkForm()}_editBookmarkSubmit(t){t.preventDefault();const{_editInputNode:e,_userState:o,_editIncludeTimeExtent:s}=this;if(!o?.bookmark||!o.editedBookmark)return;const i=e&&e.value.trim();i?(o.bookmark.name=i,o.bookmark.thumbnail=o.editedBookmark.thumbnail,s||(o.bookmark.timeExtent=null),this._editBookmarkAndClose(o.bookmark,{takeScreenshot:!1,captureTimeExtent:s})):o.validationState="name-required"}_storeAddBookmarkButton(t){this._addBookmarkButtonNode=t,this._focusAddBookmark()}_storeEditInput(t){this._editInputNode=t,this._focusEditInput()}_storeAddInput(t){this._addInputNode=t,this._focusAddInput()}_storeUrlEditInput(t){this._urlEditInputNode=t,this._focusUrlEditInput()}_focusUrlEditInput(){this._urlEditInputNode&&this._focusUrlEditInputBox&&(this._focusUrlEditInputBox=!1,this._urlEditInputNode.focus())}_focusAddInput(){this._addInputNode&&this._focusAddInputBox&&(this._focusAddInputBox=!1,this._addInputNode.focus())}_focusAddBookmark(){this._addBookmarkButtonNode&&this._focusAddBookmarkButton&&(this._focusAddBookmarkButton=!1,this._addBookmarkButtonNode.focus())}_focusEditInput(){this._editInputNode&&this._focusEditInputBox&&(this._focusEditInputBox=!1,this._editInputNode.focus())}_deleteBookmark(t){const e=H(t.currentTarget);e&&this.viewModel.bookmarks.remove(e)}_goToBookmark(t){const e=H(t.currentTarget);e&&(this.endAddBookmark(),this._closeEditBookmarkForm(),this.viewModel.goTo(e))}async _refreshThumbnail(){const{_userState:t,_editMenu:e,viewModel:o}=this;t&&(t.validationState=void 0,await o.editBookmark(t.editedBookmark,{takeScreenshot:!0,captureViewpoint:!1,captureRotation:!1,captureScale:!1,captureTimeExtent:!1}),e.open=!1,this._focusEditInputBox=!0,this.scheduleRender())}_removeThumbnail(){const{_userState:t,_editMenu:e}=this;t?.editedBookmark&&(t.editedBookmark.thumbnail=null,t.validationState=void 0,e.open=!1,this._focusEditInputBox=!0,this.scheduleRender())}_startUseImageUrl(){this._userState&&(this._userState.state="edit-thumbnail"),this._editMenu.open=!1,this._focusUrlEditInputBox=!0,this.scheduleRender()}_editBookmarkUrlSubmit(t){t.preventDefault();const{_urlEditInputNode:e,_userState:o}=this;if(!e||!o)return;const s=e.value;M.test(s)?(s&&o.editedBookmark&&(o.editedBookmark.thumbnail=new k({url:s})),this._closeUrlEditBookmarkForm()):o.validationState="absolute-url-required"}};function H(t){return t["data-bookmark"]}t([a()],j.prototype,"_editIncludeTimeExtent",void 0),t([a({type:c})],j.prototype,"_userState",void 0),t([a({readOnly:!0})],j.prototype,"_editMenuItems",null),t([a({readOnly:!0})],j.prototype,"_editMenu",null),t([a()],j.prototype,"defaultCreateOptions",null),t([a()],j.prototype,"defaultEditOptions",null),t([a()],j.prototype,"bookmarks",null),t([a()],j.prototype,"disabled",void 0),t([a()],j.prototype,"editingEnabled",void 0),t([a()],j.prototype,"headingLevel",void 0),t([a()],j.prototype,"goToOverride",null),t([a()],j.prototype,"iconClass",void 0),t([a()],j.prototype,"icon",void 0),t([a()],j.prototype,"label",null),t([a(),y("esri/widgets/Bookmarks/t9n/Bookmarks")],j.prototype,"messages",void 0),t([a(),y("esri/t9n/common")],j.prototype,"messagesCommon",void 0),t([a()],j.prototype,"uiStrings",void 0),t([a()],j.prototype,"view",null),t([a({type:p}),w(["select-bookmark","bookmark-edit","bookmark-select"])],j.prototype,"viewModel",void 0),t([a()],j.prototype,"visibleElements",void 0),t([n("visibleElements")],j.prototype,"castVisibleElements",null),t([a()],j.prototype,"endAddBookmark",null),t([a()],j.prototype,"startAddBookmark",null),j=t([d(N)],j);const D=j;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{on as s,watch as i,initial as t}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 l}from"../../../core/accessorSupport/decorators/subclass.js";import r from"../../Widget.js";import{LayerTreeNode as a}from"../support/LayerTreeNode.js";import{legacyIcon as d}from"../../support/legacyIcon.js";import{isRTL as n}from"../../support/widgetUtils.js";import{tsx as c}from"../../support/jsxFactory.js";var h;const g={expand:"expand",collapse:"collapse",hideSublayer:"hideSublayer",showSublayer:"showSublayer"},p="esri-building-disciplines-tree-node",b={base:p,root:`${p}--root`,leaf:`${p}--leaf`,label:`${p}__label`,checkbox:`${p}__checkbox`,checkboxChecked:`${p}__checkbox--checked`,checkboxIndeterminate:`${p}__checkbox--indeterminate`,collapseToggle:`${p}__collapse-toggle`,collapseToggleCollapsed:`${p}__collapse-toggle--collapsed`,children:`${p}__children`,level:e=>`${p}--level-${e}`};let u=h=class extends r{constructor(e){super(e),this.messages=g,this.toggleSiblingsVisibility=!1,this._childWidgets=[],this._updateChildWidgets=()=>{this._destroyChildWidgets(),this._childWidgets=this.node.children.toArray().reverse().map((e=>new h({node:e,messages:this.messages,toggleSiblingsVisibility:this.toggleSiblingsVisibility})))}}initialize(){this.addHandles([s((()=>this.node.children),"after-changes",this._updateChildWidgets,{onListenerAdd:this._updateChildWidgets,onListenerRemove:this._updateChildWidgets}),i((()=>[this.messages,this.toggleSiblingsVisibility]),this._updateChildWidgets,t)])}destroy(){this._destroyChildWidgets()}render(){const e=this.node,s=e.isRoot,i=e.isLeaf;return e.isDiscipline&&i?c("div",{key:`${e.id}-empty`}):c("div",{key:e.id,class:this.classes(b.base,b.level(e.level),{[b.root]:s,[b.leaf]:i}),bind:this,onkeydown:this._onKeydown,tabIndex:i?void 0:0,role:"treeitem","aria-expanded":e.collapsed?"false":"true"},c("label",{bind:this,class:b.label,onclick:this._onCheckboxToggle},this._renderCollapseToggle(),this._renderCheckbox(),c("span",null,e.title)),this._renderChildren(e))}_renderCheckbox(){const e=this.node.visible,s=!0===e,i=null===e,t=s?this.messages?.hideSublayer:this.messages?.showSublayer;return c("button",{bind:this,class:this.classes(b.checkbox,{[b.checkboxChecked]:s,[d.checkMark]:s,[b.checkboxIndeterminate]:i,[d.minus]:i}),onclick:this._onCheckboxToggle,role:"checkbox","aria-checked":s?"true":"false","aria-label":t,title:t,type:"button"})}_renderCollapseToggle(){if(!this.node.hasChildren)return null;const e=this.node.collapsed,s=e?this.messages?.expand:this.messages?.collapse;return c("div",{bind:this,class:this.classes(b.collapseToggle,d.right,{[b.collapseToggleCollapsed]:e}),onclick:this._onCollapseToggle,"aria-label":s,title:s})}_renderChildren(e){return!e.hasChildren||e.collapsed?null:c("div",{class:b.children},this._childWidgets.map((e=>e.render())))}_onKeydown(e){switch(e.key){case"Space":case"Enter":if(!e.target.classList.contains(b.base))return;e.stopPropagation(),this.node.toggleVisibility();break;case"ArrowLeft":e.stopPropagation(),this.node.toggleCollapsed(!n(this.container));break;case"ArrowRight":e.stopPropagation(),this.node.toggleCollapsed(n(this.container))}}_onCheckboxToggle(e){e.preventDefault(),e.stopPropagation();(e.metaKey||e.ctrlKey)&&this.toggleSiblingsVisibility?this.node.toggleAllSiblingsVisibility():this.node.toggleVisibility()}_onCollapseToggle(e){e.preventDefault(),e.stopPropagation(),this.node.toggleCollapsed()}_destroyChildWidgets(){this._childWidgets.forEach((e=>e.destroy())),this._childWidgets=[]}};e([o({type:a})],u.prototype,"node",void 0),e([o()],u.prototype,"messages",void 0),e([o({nonNullable:!0})],u.prototype,"toggleSiblingsVisibility",void 0),e([o()],u.prototype,"_childWidgets",void 0),u=h=e([l("esri.widgets.BuildingExplorer.BuildingDisciplinesTree.BuildingDisciplinesNode")],u);const y=u;export{y as default};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import{on as s,watch as i,initial as t}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 l}from"../../../core/accessorSupport/decorators/subclass.js";import r from"../../Widget.js";import{LayerTreeNode as a}from"../support/LayerTreeNode.js";import{legacyIcon as d}from"../../support/legacyIcon.js";import{isRTL as n}from"../../support/widgetUtils.js";import{tsx as c}from"../../support/jsxFactory.js";var h;const g={expand:"expand",collapse:"collapse",hideSublayer:"hideSublayer",showSublayer:"showSublayer"},p="esri-building-disciplines-tree-node",b={base:p,root:`${p}--root`,leaf:`${p}--leaf`,label:`${p}__label`,checkbox:`${p}__checkbox`,checkboxChecked:`${p}__checkbox--checked`,checkboxIndeterminate:`${p}__checkbox--indeterminate`,collapseToggle:`${p}__collapse-toggle`,collapseToggleCollapsed:`${p}__collapse-toggle--collapsed`,children:`${p}__children`,level:e=>`${p}--level-${e}`};let u=h=class extends r{constructor(e){super(e),this.messages=g,this.toggleSiblingsVisibility=!1,this._childWidgets=[],this._updateChildWidgets=()=>{this._destroyChildWidgets(),this._childWidgets=this.node.children.toArray().reverse().map((e=>new h({node:e,messages:this.messages,toggleSiblingsVisibility:this.toggleSiblingsVisibility})))}}initialize(){this.addHandles([s((()=>this.node.children),"after-changes",this._updateChildWidgets,{onListenerAdd:this._updateChildWidgets,onListenerRemove:this._updateChildWidgets}),i((()=>[this.messages,this.toggleSiblingsVisibility]),this._updateChildWidgets,t)])}destroy(){this._destroyChildWidgets()}render(){const e=this.node,s=e.isRoot,i=e.isLeaf;return e.isDiscipline&&i?c("div",{key:`${e.id}-empty`}):c("div",{"aria-expanded":e.collapsed?"false":"true",bind:this,class:this.classes(b.base,b.level(e.level),{[b.root]:s,[b.leaf]:i}),key:e.id,onkeydown:this._onKeydown,role:"treeitem",tabIndex:i?void 0:0},c("label",{bind:this,class:b.label,onclick:this._onCheckboxToggle},this._renderCollapseToggle(),this._renderCheckbox(),c("span",null,e.title)),this._renderChildren(e))}_renderCheckbox(){const e=this.node.visible,s=!0===e,i=null===e,t=s?this.messages?.hideSublayer:this.messages?.showSublayer;return c("button",{"aria-checked":s?"true":"false","aria-label":t,bind:this,class:this.classes(b.checkbox,{[b.checkboxChecked]:s,[d.checkMark]:s,[b.checkboxIndeterminate]:i,[d.minus]:i}),onclick:this._onCheckboxToggle,role:"checkbox",title:t,type:"button"})}_renderCollapseToggle(){if(!this.node.hasChildren)return null;const e=this.node.collapsed,s=e?this.messages?.expand:this.messages?.collapse;return c("div",{"aria-label":s,bind:this,class:this.classes(b.collapseToggle,d.right,{[b.collapseToggleCollapsed]:e}),onclick:this._onCollapseToggle,title:s})}_renderChildren(e){return!e.hasChildren||e.collapsed?null:c("div",{class:b.children},this._childWidgets.map((e=>e.render())))}_onKeydown(e){switch(e.key){case"Space":case"Enter":if(!e.target.classList.contains(b.base))return;e.stopPropagation(),this.node.toggleVisibility();break;case"ArrowLeft":e.stopPropagation(),this.node.toggleCollapsed(!n(this.container));break;case"ArrowRight":e.stopPropagation(),this.node.toggleCollapsed(n(this.container))}}_onCheckboxToggle(e){e.preventDefault(),e.stopPropagation();(e.metaKey||e.ctrlKey)&&this.toggleSiblingsVisibility?this.node.toggleAllSiblingsVisibility():this.node.toggleVisibility()}_onCollapseToggle(e){e.preventDefault(),e.stopPropagation(),this.node.toggleCollapsed()}_destroyChildWidgets(){this._childWidgets.forEach((e=>e.destroy())),this._childWidgets=[]}};e([o({type:a})],u.prototype,"node",void 0),e([o()],u.prototype,"messages",void 0),e([o({nonNullable:!0})],u.prototype,"toggleSiblingsVisibility",void 0),e([o()],u.prototype,"_childWidgets",void 0),u=h=e([l("esri.widgets.BuildingExplorer.BuildingDisciplinesTree.BuildingDisciplinesNode")],u);const y=u;export{y as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as s}from"../../../chunks/tslib.es6.js";import{property as i}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import{subclass as e}from"../../../core/accessorSupport/decorators/subclass.js";import r from"../../Widget.js";import o from"./BuildingDisciplinesNode.js";import"../../support/widgetUtils.js";import{tsx as t}from"../../support/jsxFactory.js";const p={expand:"expand",collapse:"collapse",hideSublayer:"hideSublayer",showSublayer:"showSublayer"},l={base:"esri-building-disciplines-tree"};let a=class extends r{constructor(s){super(s),this.toggleSiblingsVisibility=!1}render(){const{vm:s}=this,i=this.toggleSiblingsVisibility,e=this.messages??p;return t("div",{role:"tree",class:l.base},s.root.children.toArray().reverse().map((s=>t(o,{node:s,messages:e,toggleSiblingsVisibility:i}))))}};s([i()],a.prototype,"vm",void 0),s([i()],a.prototype,"messages",void 0),s([i()],a.prototype,"toggleSiblingsVisibility",void 0),a=s([e("esri.widgets.BuildingExplorer.BuildingDisciplinesTree.BuildingDisciplinesTree")],a);const c=a;export{c as default};
5
+ import{_ as s}from"../../../chunks/tslib.es6.js";import{property as i}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import{subclass as e}from"../../../core/accessorSupport/decorators/subclass.js";import r from"../../Widget.js";import o from"./BuildingDisciplinesNode.js";import"../../support/widgetUtils.js";import{tsx as t}from"../../support/jsxFactory.js";const p={expand:"expand",collapse:"collapse",hideSublayer:"hideSublayer",showSublayer:"showSublayer"},l={base:"esri-building-disciplines-tree"};let a=class extends r{constructor(s){super(s),this.toggleSiblingsVisibility=!1}render(){const{vm:s}=this,i=this.toggleSiblingsVisibility,e=this.messages??p;return t("div",{class:l.base,role:"tree"},s.root.children.toArray().reverse().map((s=>t(o,{messages:e,node:s,toggleSiblingsVisibility:i}))))}};s([i()],a.prototype,"vm",void 0),s([i()],a.prototype,"messages",void 0),s([i()],a.prototype,"toggleSiblingsVisibility",void 0),a=s([e("esri.widgets.BuildingExplorer.BuildingDisciplinesTree.BuildingDisciplinesTree")],a);const c=a;export{c 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{on as t}from"../../../core/events.js";import{clamp as s}from"../../../core/mathUtils.js";import{watch as i,initial as l}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 n}from"../../../core/accessorSupport/decorators/subclass.js";import r from"../../Widget.js";import{l as h,a,b as v,c as d,d as _,e as p,f as g,g as c,h as u,i as m,j as L}from"../../../chunks/constants.js";import{css as y}from"./css.js";import{Label as P}from"./Label.js";import{LevelItem as b}from"./LevelItem.js";import{storeNode as f}from"../../support/widgetUtils.js";import{tsx as C}from"../../support/jsxFactory.js";const w={selectLevel:"selectLevel",clearLevel:"clearLevel",nextLevel:"nextLevel",previousLevel:"previousLevel",currentLevel:"{{value}}"};let W=class extends r{constructor(e,t){super(e,t),this._levelHandlesKey="levelHandles",this._levelEventHandlesKey="levelEventHandles",this._levelWidgets=[],this._labelWidget=new P({onClear:()=>this.vm.clear()}),this._hoveredLevel=null,this._expandedLevelsHeight=void 0,this._normalizedPointerPosition=0,this._hovering=!1,this._containerPosTop=null,this._levelsContainer=null,this._onPointerUp=()=>{if(window.getSelection()?.removeAllRanges(),null==this._hoveredLevel)return;const{vm:e}=this;e.enabled&&this._hoveredLevel===e.value?e.clear():e.select(this._hoveredLevel)},this._onPointerEnter=()=>{this._hovering||null==this._levelsContainer||(this._hovering=!0,this._containerPosTop=this._levelsContainer.getBoundingClientRect().top??0)},this._onPointerLeave=()=>{this._hovering&&(this._normalizedPointerPosition=0,this._hoveredLevel=null,this._hovering=!1)},this._onPointerMove=e=>{if(!this._hovering)return!1;if(window.getSelection()?.removeAllRanges(),null!=this._containerPosTop){const t=this._containerPosTop,s=_*L,i=this._expandedLevelsMargin;let l=this._levelsHeight,o=t+s+i;const n=this._levelHeight/2;o+=n,l-=n;let r=(e.clientY-o)/l;r+=c,this._normalizedPointerPosition=r}return!1}}postInitialize(){this.addHandles([i((()=>this._levelsContainer),(()=>this._onContainerChange()),l),i((()=>this._levels),(()=>this._createLevelWidgets()),l),i((()=>this.messages),(()=>{this._labelWidget.messages=this.messages??w}),l)])}destroy(){this._levelWidgets.forEach((e=>e.destroy())),this._labelWidget.destroy()}get _levels(){return this.vm.allowedValues}get _numLevels(){return this._levels.length}get _levelsHeight(){return Math.round(this._levelHeight*this._numLevels)}get _expandedLevelsMargin(){return Math.round(((this._expandedLevelsHeight??0)-this._levelsHeight)/2)}get _levelWidth(){const{levelWidthNominator:e,levelWidthConstant:t}=u,i=e/Math.sqrt(this._numLevels)+t;return Math.round(s(i,a,h))}get _levelHeight(){const e=m,t=2*e/Math.sqrt(this._numLevels);return Math.round(s(t,2,e))}get _gaussianFactor(){const e=this._numLevels;return e/Math.log(v*e)*d}get _levelClosestToPointer(){if(!this._hovering)return null;const e=this._numLevels-1,t=this._normalizedPointerPosition;return e>=0&&null!=t?this._levels[Math.round((1-t)*e)]:null}render(){const e=this._levelWidgets.length,t=e>1?this._levelWidgets.map((e=>e.render())):null,s=_*L,i=-s/L,l=this._levelsHeight,o=l+2*s;return C("div",{bind:this,key:this,class:this.classes("esri-widget",y.container,{[y.animateLevel]:!this._hovering,[y.noLevel]:e<2}),onkeydown:this._onKeyDown},this._renderLabelContainer(),C("div",{bind:this,class:y.levelsContainer,styles:{height:`${o}px`,marginTop:`${i}px`,marginBottom:`${i}px`},onfocus:this._onFocus,afterCreate:f,"data-node-ref":"_levelsContainer"},C("div",{styles:{height:`${l}px`,margin:_-this._expandedLevelsMargin+"px 0 0 0"},class:y.innerLevelsContainer},t)))}_renderLabelContainer(){const e=this.messages??w,t=e.previousLevel,s=e.nextLevel;return C("div",{class:y.labelContainer,tabIndex:0},C("button",{bind:this,class:y.arrowUp,disabled:!this.vm.hasNext,onclick:this._onArrowUpClick,"aria-label":s,title:s,type:"button"}),this._labelWidget.render(),C("button",{bind:this,class:y.arrowDown,disabled:!this.vm.hasPrevious,onclick:this._onArrowDownClick,"aria-label":t,title:t,type:"button"}))}_updateComponents(){const e=this.messages??w,t=this.vm.enabled?this.vm.value:null,s=null!=this._hoveredLevel?this._hoveredLevel:t;this._levelWidgets.forEach((s=>{const i=this.vm.getValueLabel(s.level);s.label=null!=i?i:e.currentLevel?.replace("{{level}}",String(s.level)),s.active=s.level===t,s.hovering=s.level===this._hoveredLevel})),this._labelWidget.level=s,this._labelWidget.active=s===t,this._labelWidget.hovering=null!=this._hoveredLevel}_createLevelWidgets(){this._levelWidgets.forEach((e=>e.destroy())),this._levelWidgets=this._levels.map((e=>new b({level:e,onSelect:()=>this._onLevelToggle(e)}))),this.removeHandles(this._levelHandlesKey),this.addHandles([i((()=>{const{vm:e}=this;return[this.messages,e?.value,e?.enabled,this._hoveredLevel,this._hovering]}),(()=>this._updateComponents()),l),i((()=>[this._normalizedPointerPosition,this._hovering]),(()=>this._onPointerPositionChange()),l),i((()=>this._levelWidth),(e=>this._levelWidgets.forEach((t=>t.width=e))),l)],this._levelHandlesKey)}_onContainerChange(){const e=this._levelsContainer;null!=e&&(this.removeHandles(this._levelEventHandlesKey),this.addHandles([t(e,"pointerenter",this._onPointerEnter),t(e,"pointerover",this._onPointerEnter),t(e,"pointerleave",this._onPointerLeave),t(e,"pointerup",this._onPointerUp),t(e,"pointermove",this._onPointerMove)],this._levelEventHandlesKey))}_onKeyDown(e){switch(e.key){case"ArrowDown":case"ArrowLeft":e.preventDefault(),e.stopPropagation(),this.vm.previous(),this._focusCurrentLevel();break;case"ArrowUp":case"ArrowRight":e.preventDefault(),e.stopPropagation(),this.vm.next(),this._focusCurrentLevel()}}_focusCurrentLevel(){const e=this._levelWidgets.find((e=>e.level===this.vm.value));e&&e.focus()}_onFocus(){this._hoveredLevel=this._levels.length>0?this._levels[0]:null}_onLevelToggle(e){const{vm:t}=this;t.enabled&&t.value===e?t.clear():t.select(e)}_onArrowUpClick(){this.vm.next()}_onArrowDownClick(){this.vm.previous()}_onPointerPositionChange(){let e=0;this._levelWidgets.forEach(((t,s)=>{const{width:i,height:l}=this._getLevelWidgetSize(s);t.height=l,t.width=i,e+=l})),this._hoveredLevel=this._levelClosestToPointer;const t=this._expandedLevelsHeight;(null==t||Math.abs(t-e)>30)&&(this._expandedLevelsHeight=e)}_getLevelWidgetSize(e){const t={width:this._levelWidth,height:this._levelHeight};if(this._hovering){const s=this._getGaussianFactor(e,this._normalizedPointerPosition);t.width+=p*s,t.height+=g*s}return t}_getGaussianFactor(e,t){const s=this._numLevels-1,i=(s-e)/s,l=this._gaussianFactor*(i-t);return Math.exp(-(l**2))}};e([o()],W.prototype,"vm",void 0),e([o()],W.prototype,"messages",void 0),e([o()],W.prototype,"_levelWidgets",void 0),e([o()],W.prototype,"_labelWidget",void 0),e([o()],W.prototype,"_hoveredLevel",void 0),e([o()],W.prototype,"_levels",null),e([o()],W.prototype,"_numLevels",null),e([o({readOnly:!0})],W.prototype,"_levelsHeight",null),e([o()],W.prototype,"_expandedLevelsHeight",void 0),e([o({readOnly:!0})],W.prototype,"_expandedLevelsMargin",null),e([o({readOnly:!0})],W.prototype,"_levelWidth",null),e([o({readOnly:!0})],W.prototype,"_levelHeight",null),e([o({readOnly:!0})],W.prototype,"_gaussianFactor",null),e([o({readOnly:!0})],W.prototype,"_levelClosestToPointer",null),e([o({type:Number,range:{min:0,max:1}})],W.prototype,"_normalizedPointerPosition",void 0),e([o()],W.prototype,"_hovering",void 0),e([o()],W.prototype,"_containerPosTop",void 0),e([o()],W.prototype,"_levelsContainer",void 0),W=e([n("esri.widgets.BuildingExplorer.BuildingLevelPicker.BuildingLevelPicker")],W);const H=W;export{H as default};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import{on as t}from"../../../core/events.js";import{clamp as s}from"../../../core/mathUtils.js";import{watch as i,initial as l}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 n}from"../../../core/accessorSupport/decorators/subclass.js";import r from"../../Widget.js";import{l as h,a,b as v,c as d,d as _,e as p,f as g,g as c,h as u,i as m,j as L}from"../../../chunks/constants.js";import{css as y}from"./css.js";import{Label as P}from"./Label.js";import{LevelItem as b}from"./LevelItem.js";import{storeNode as f}from"../../support/widgetUtils.js";import{tsx as C}from"../../support/jsxFactory.js";const w={selectLevel:"selectLevel",clearLevel:"clearLevel",nextLevel:"nextLevel",previousLevel:"previousLevel",currentLevel:"{{value}}"};let W=class extends r{constructor(e,t){super(e,t),this._levelHandlesKey="levelHandles",this._levelEventHandlesKey="levelEventHandles",this._levelWidgets=[],this._labelWidget=new P({onClear:()=>this.vm.clear()}),this._hoveredLevel=null,this._expandedLevelsHeight=void 0,this._normalizedPointerPosition=0,this._hovering=!1,this._containerPosTop=null,this._levelsContainer=null,this._onPointerUp=()=>{if(window.getSelection()?.removeAllRanges(),null==this._hoveredLevel)return;const{vm:e}=this;e.enabled&&this._hoveredLevel===e.value?e.clear():e.select(this._hoveredLevel)},this._onPointerEnter=()=>{this._hovering||null==this._levelsContainer||(this._hovering=!0,this._containerPosTop=this._levelsContainer.getBoundingClientRect().top??0)},this._onPointerLeave=()=>{this._hovering&&(this._normalizedPointerPosition=0,this._hoveredLevel=null,this._hovering=!1)},this._onPointerMove=e=>{if(!this._hovering)return!1;if(window.getSelection()?.removeAllRanges(),null!=this._containerPosTop){const t=this._containerPosTop,s=_*L,i=this._expandedLevelsMargin;let l=this._levelsHeight,o=t+s+i;const n=this._levelHeight/2;o+=n,l-=n;let r=(e.clientY-o)/l;r+=c,this._normalizedPointerPosition=r}return!1}}postInitialize(){this.addHandles([i((()=>this._levelsContainer),(()=>this._onContainerChange()),l),i((()=>this._levels),(()=>this._createLevelWidgets()),l),i((()=>this.messages),(()=>{this._labelWidget.messages=this.messages??w}),l)])}destroy(){this._levelWidgets.forEach((e=>e.destroy())),this._labelWidget.destroy()}get _levels(){return this.vm.allowedValues}get _numLevels(){return this._levels.length}get _levelsHeight(){return Math.round(this._levelHeight*this._numLevels)}get _expandedLevelsMargin(){return Math.round(((this._expandedLevelsHeight??0)-this._levelsHeight)/2)}get _levelWidth(){const{levelWidthNominator:e,levelWidthConstant:t}=u,i=e/Math.sqrt(this._numLevels)+t;return Math.round(s(i,a,h))}get _levelHeight(){const e=m,t=2*e/Math.sqrt(this._numLevels);return Math.round(s(t,2,e))}get _gaussianFactor(){const e=this._numLevels;return e/Math.log(v*e)*d}get _levelClosestToPointer(){if(!this._hovering)return null;const e=this._numLevels-1,t=this._normalizedPointerPosition;return e>=0&&null!=t?this._levels[Math.round((1-t)*e)]:null}render(){const e=this._levelWidgets.length,t=e>1?this._levelWidgets.map((e=>e.render())):null,s=_*L,i=-s/L,l=this._levelsHeight,o=l+2*s;return C("div",{bind:this,class:this.classes("esri-widget",y.container,{[y.animateLevel]:!this._hovering,[y.noLevel]:e<2}),key:this,onkeydown:this._onKeyDown},this._renderLabelContainer(),C("div",{afterCreate:f,bind:this,class:y.levelsContainer,"data-node-ref":"_levelsContainer",onfocus:this._onFocus,styles:{height:`${o}px`,marginTop:`${i}px`,marginBottom:`${i}px`}},C("div",{class:y.innerLevelsContainer,styles:{height:`${l}px`,margin:_-this._expandedLevelsMargin+"px 0 0 0"}},t)))}_renderLabelContainer(){const e=this.messages??w,t=e.previousLevel,s=e.nextLevel;return C("div",{class:y.labelContainer,tabIndex:0},C("button",{"aria-label":s,bind:this,class:y.arrowUp,disabled:!this.vm.hasNext,onclick:this._onArrowUpClick,title:s,type:"button"}),this._labelWidget.render(),C("button",{"aria-label":t,bind:this,class:y.arrowDown,disabled:!this.vm.hasPrevious,onclick:this._onArrowDownClick,title:t,type:"button"}))}_updateComponents(){const e=this.messages??w,t=this.vm.enabled?this.vm.value:null,s=null!=this._hoveredLevel?this._hoveredLevel:t;this._levelWidgets.forEach((s=>{const i=this.vm.getValueLabel(s.level);s.label=null!=i?i:e.currentLevel?.replace("{{level}}",String(s.level)),s.active=s.level===t,s.hovering=s.level===this._hoveredLevel})),this._labelWidget.level=s,this._labelWidget.active=s===t,this._labelWidget.hovering=null!=this._hoveredLevel}_createLevelWidgets(){this._levelWidgets.forEach((e=>e.destroy())),this._levelWidgets=this._levels.map((e=>new b({level:e,onSelect:()=>this._onLevelToggle(e)}))),this.removeHandles(this._levelHandlesKey),this.addHandles([i((()=>{const{vm:e}=this;return[this.messages,e?.value,e?.enabled,this._hoveredLevel,this._hovering]}),(()=>this._updateComponents()),l),i((()=>[this._normalizedPointerPosition,this._hovering]),(()=>this._onPointerPositionChange()),l),i((()=>this._levelWidth),(e=>this._levelWidgets.forEach((t=>t.width=e))),l)],this._levelHandlesKey)}_onContainerChange(){const e=this._levelsContainer;null!=e&&(this.removeHandles(this._levelEventHandlesKey),this.addHandles([t(e,"pointerenter",this._onPointerEnter),t(e,"pointerover",this._onPointerEnter),t(e,"pointerleave",this._onPointerLeave),t(e,"pointerup",this._onPointerUp),t(e,"pointermove",this._onPointerMove)],this._levelEventHandlesKey))}_onKeyDown(e){switch(e.key){case"ArrowDown":case"ArrowLeft":e.preventDefault(),e.stopPropagation(),this.vm.previous(),this._focusCurrentLevel();break;case"ArrowUp":case"ArrowRight":e.preventDefault(),e.stopPropagation(),this.vm.next(),this._focusCurrentLevel()}}_focusCurrentLevel(){const e=this._levelWidgets.find((e=>e.level===this.vm.value));e&&e.focus()}_onFocus(){this._hoveredLevel=this._levels.length>0?this._levels[0]:null}_onLevelToggle(e){const{vm:t}=this;t.enabled&&t.value===e?t.clear():t.select(e)}_onArrowUpClick(){this.vm.next()}_onArrowDownClick(){this.vm.previous()}_onPointerPositionChange(){let e=0;this._levelWidgets.forEach(((t,s)=>{const{width:i,height:l}=this._getLevelWidgetSize(s);t.height=l,t.width=i,e+=l})),this._hoveredLevel=this._levelClosestToPointer;const t=this._expandedLevelsHeight;(null==t||Math.abs(t-e)>30)&&(this._expandedLevelsHeight=e)}_getLevelWidgetSize(e){const t={width:this._levelWidth,height:this._levelHeight};if(this._hovering){const s=this._getGaussianFactor(e,this._normalizedPointerPosition);t.width+=p*s,t.height+=g*s}return t}_getGaussianFactor(e,t){const s=this._numLevels-1,i=(s-e)/s,l=this._gaussianFactor*(i-t);return Math.exp(-(l**2))}};e([o()],W.prototype,"vm",void 0),e([o()],W.prototype,"messages",void 0),e([o()],W.prototype,"_levelWidgets",void 0),e([o()],W.prototype,"_labelWidget",void 0),e([o()],W.prototype,"_hoveredLevel",void 0),e([o()],W.prototype,"_levels",null),e([o()],W.prototype,"_numLevels",null),e([o({readOnly:!0})],W.prototype,"_levelsHeight",null),e([o()],W.prototype,"_expandedLevelsHeight",void 0),e([o({readOnly:!0})],W.prototype,"_expandedLevelsMargin",null),e([o({readOnly:!0})],W.prototype,"_levelWidth",null),e([o({readOnly:!0})],W.prototype,"_levelHeight",null),e([o({readOnly:!0})],W.prototype,"_gaussianFactor",null),e([o({readOnly:!0})],W.prototype,"_levelClosestToPointer",null),e([o({type:Number,range:{min:0,max:1}})],W.prototype,"_normalizedPointerPosition",void 0),e([o()],W.prototype,"_hovering",void 0),e([o()],W.prototype,"_containerPosTop",void 0),e([o()],W.prototype,"_levelsContainer",void 0),W=e([n("esri.widgets.BuildingExplorer.BuildingLevelPicker.BuildingLevelPicker")],W);const H=W;export{H 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 t}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 o from"../../Widget.js";import{legacyIcon as r}from"../../support/legacyIcon.js";import"../../support/widgetUtils.js";import{tsx as l}from"../../support/jsxFactory.js";const i="esri-building-level-picker-label",c={base:i,active:`${i}--active`,hover:`${i}--hover`,empty:`${i}--empty`,clearButton:`${i}__clear-button`},a={clearLevel:"",selectLevel:""};let p=class extends o{constructor(e,t){super(e,t),this.level=null,this.active=!1,this.hovering=!1,this.onClear=()=>{}}render(){const e=this.messages??a;if(null==this.level)return l("div",{class:c.empty,title:e.selectLevel},e.selectLevel);const t=e.clearLevel;return l("div",{bind:this,class:this.classes(c.base,{[c.active]:this.active,[c.hover]:this.hovering}),onclick:this.onClear,title:t,"aria-label":t},l("span",null,this.level),l("button",{bind:this,class:this.classes(c.clearButton,r.close),disabled:!this.active,onclick:this.onClear,type:"button"}))}};e([t()],p.prototype,"level",void 0),e([t({nonNullable:!0})],p.prototype,"active",void 0),e([t({nonNullable:!0})],p.prototype,"hovering",void 0),e([t()],p.prototype,"messages",void 0),e([t({nonNullable:!0})],p.prototype,"onClear",void 0),p=e([s("esri.widgets.BuildingExplorer.BuildingLevelPicker.Label")],p);export{p as Label};
5
+ import{_ as e}from"../../../chunks/tslib.es6.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 s}from"../../../core/accessorSupport/decorators/subclass.js";import o from"../../Widget.js";import{legacyIcon as r}from"../../support/legacyIcon.js";import"../../support/widgetUtils.js";import{tsx as l}from"../../support/jsxFactory.js";const i="esri-building-level-picker-label",c={base:i,active:`${i}--active`,hover:`${i}--hover`,empty:`${i}--empty`,clearButton:`${i}__clear-button`},a={clearLevel:"",selectLevel:""};let p=class extends o{constructor(e,t){super(e,t),this.level=null,this.active=!1,this.hovering=!1,this.onClear=()=>{}}render(){const e=this.messages??a;if(null==this.level)return l("div",{class:c.empty,title:e.selectLevel},e.selectLevel);const t=e.clearLevel;return l("div",{"aria-label":t,bind:this,class:this.classes(c.base,{[c.active]:this.active,[c.hover]:this.hovering}),onclick:this.onClear,title:t},l("span",null,this.level),l("button",{bind:this,class:this.classes(c.clearButton,r.close),disabled:!this.active,onclick:this.onClear,type:"button"}))}};e([t()],p.prototype,"level",void 0),e([t({nonNullable:!0})],p.prototype,"active",void 0),e([t({nonNullable:!0})],p.prototype,"hovering",void 0),e([t()],p.prototype,"messages",void 0),e([t({nonNullable:!0})],p.prototype,"onClear",void 0),p=e([s("esri.widgets.BuildingExplorer.BuildingLevelPicker.Label")],p);export{p as Label};
@@ -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 t}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import{subclass as o}from"../../../core/accessorSupport/decorators/subclass.js";import s from"../../Widget.js";import{storeNode as i}from"../../support/widgetUtils.js";import{tsx as r}from"../../support/jsxFactory.js";const l="esri-building-level-picker-item",n={container:l,base:`${l}__base`,hover:`${l}--hover`,active:`${l}--active`};let a=class extends s{constructor(e,t){super(e,t),this.active=!1,this.hovering=!1,this.width=0,this.height=0,this.onSelect=()=>{},this.onFocus=()=>{},this.onBlur=()=>{},this._baseElement=null}render(){return r("div",{key:this,bind:this,class:this.classes(n.container,{[n.active]:this.active,[n.hover]:this.hovering}),styles:{height:`${this.height}px`}},this._renderBase())}focus(){null!=this._baseElement&&this._baseElement.focus()}_renderBase(){const e=this.width,t=.8*this.width;return r("div",{class:n.base,styles:{width:`${Math.round(e)}px`,height:`${Math.round(e)}px`}},r("button",{bind:this,class:"rect",styles:{width:`${Math.round(t)}px`,height:`${Math.round(t)}px`},onclick:this.onSelect,onfocus:this.onFocus,onblur:this.onBlur,afterCreate:i,"data-node-ref":"_baseElement","aria-label":this.label,title:this.label??"",tabIndex:-1,type:"button"}))}};e([t({nonNullable:!0})],a.prototype,"level",void 0),e([t({nonNullable:!0})],a.prototype,"active",void 0),e([t({nonNullable:!0})],a.prototype,"hovering",void 0),e([t({nonNullable:!0})],a.prototype,"width",void 0),e([t({nonNullable:!0})],a.prototype,"height",void 0),e([t({nonNullable:!0})],a.prototype,"onSelect",void 0),e([t({nonNullable:!0})],a.prototype,"onFocus",void 0),e([t({nonNullable:!0})],a.prototype,"onBlur",void 0),a=e([o("esri.widgets.BuildingExplorer.BuildingLevelPicker.LevelItem")],a);export{a as LevelItem};
5
+ import{_ as e}from"../../../chunks/tslib.es6.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 o}from"../../../core/accessorSupport/decorators/subclass.js";import s from"../../Widget.js";import{storeNode as i}from"../../support/widgetUtils.js";import{tsx as r}from"../../support/jsxFactory.js";const l="esri-building-level-picker-item",n={container:l,base:`${l}__base`,hover:`${l}--hover`,active:`${l}--active`};let a=class extends s{constructor(e,t){super(e,t),this.active=!1,this.hovering=!1,this.width=0,this.height=0,this.onSelect=()=>{},this.onFocus=()=>{},this.onBlur=()=>{},this._baseElement=null}render(){return r("div",{bind:this,class:this.classes(n.container,{[n.active]:this.active,[n.hover]:this.hovering}),key:this,styles:{height:`${this.height}px`}},this._renderBase())}focus(){null!=this._baseElement&&this._baseElement.focus()}_renderBase(){const e=this.width,t=.8*this.width;return r("div",{class:n.base,styles:{width:`${Math.round(e)}px`,height:`${Math.round(e)}px`}},r("button",{afterCreate:i,"aria-label":this.label,bind:this,class:"rect","data-node-ref":"_baseElement",onblur:this.onBlur,onclick:this.onSelect,onfocus:this.onFocus,styles:{width:`${Math.round(t)}px`,height:`${Math.round(t)}px`},tabIndex:-1,title:this.label??"",type:"button"}))}};e([t({nonNullable:!0})],a.prototype,"level",void 0),e([t({nonNullable:!0})],a.prototype,"active",void 0),e([t({nonNullable:!0})],a.prototype,"hovering",void 0),e([t({nonNullable:!0})],a.prototype,"width",void 0),e([t({nonNullable:!0})],a.prototype,"height",void 0),e([t({nonNullable:!0})],a.prototype,"onSelect",void 0),e([t({nonNullable:!0})],a.prototype,"onFocus",void 0),e([t({nonNullable:!0})],a.prototype,"onBlur",void 0),a=e([o("esri.widgets.BuildingExplorer.BuildingLevelPicker.LevelItem")],a);export{a as LevelItem};
@@ -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{watch as s,initial as t}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 i}from"../../../core/accessorSupport/decorators/subclass.js";import o from"../../Widget.js";import{isRTL as a}from"../../support/widgetUtils.js";import{tsx as n}from"../../support/jsxFactory.js";const h={nextPhase:"nextPhase",previousPhase:"previousPhase",currentPhase:"{{value}}"},c="esri-building-phase-picker",l={container:`${c}`,phasesContainer:`${c}__phases-container`,phase:`${c}__phase`,phaseActive:`${c}__phase--active`,phaseCurrent:`${c}__phase--current`,divider:`${c}__divider`,dividerActive:`${c}__divider--active`,arrowLeft:`${c}__arrow-left`,arrowRight:`${c}__arrow-right`};let u=class extends o{constructor(e,s){super(e,s),this._phasesContainer=null,this._shouldScrollCurrentPhaseIntoView=!0,this._shouldFocusCurrentPhase=!1,this._onKeyDown=e=>{const{vm:s}=this;switch(e.key){case"ArrowDown":case"ArrowLeft":e.stopPropagation(),e.preventDefault(),s.previous(),this._shouldFocusCurrentPhase=!0;break;case"ArrowUp":case"ArrowRight":e.stopPropagation(),e.preventDefault(),s.next(),this._shouldFocusCurrentPhase=!0}},this._onArrowLeftClick=()=>{this.vm.previous()},this._onArrowRightClick=()=>{this.vm.next()},this._onPhasesContainerAfterCreate=e=>{this._phasesContainer=e,requestAnimationFrame(this._scrollOrFocusPhase)},this._scrollOrFocusPhase=()=>{const e=this._phasesContainer;if(this.destroyed||null==e)return;const s=e.querySelector(`.${l.phaseCurrent}`);if(s){if(this._shouldScrollCurrentPhaseIntoView){const t=e.offsetWidth,r=s.offsetLeft,i=s.offsetWidth;e.scrollLeft=-t/2+r-i/2,this._shouldScrollCurrentPhaseIntoView=!1}this._shouldFocusCurrentPhase&&(s.focus(),this._shouldFocusCurrentPhase=!1)}}}initialize(){this.addHandles(s((()=>[this._currentPhase,this._phasesContainer,this.container]),(()=>{this._shouldScrollCurrentPhaseIntoView=!0,requestAnimationFrame(this._scrollOrFocusPhase)}),t))}get _phases(){return this.vm.allowedValues}get _currentPhase(){const{vm:e}=this;return e.enabled?e.value:null}render(){if(this._phases.length<2)return n("div",{key:"no-phases"});const{vm:e,container:s,messages:t}=this,{previousPhase:r,nextPhase:i}=t??h,o=a(s);return n("div",{class:this.classes("esri-widget",l.container),key:this,onkeydown:this._onKeyDown},n("button",{type:"button",class:o?l.arrowRight:l.arrowLeft,disabled:!e.hasPrevious,"aria-label":r,title:r,onclick:this._onArrowLeftClick}),n("div",{class:l.phasesContainer,afterCreate:this._onPhasesContainerAfterCreate},this._renderPhaseButtons()),n("button",{type:"button",class:o?l.arrowLeft:l.arrowRight,disabled:!e.hasNext,"aria-label":i,title:i,onclick:this._onArrowRightClick}))}_renderPhaseButtons(){const e=this._phases,s=this._currentPhase,t=[];for(let r=0;r<e.length;++r){const i=e[r],o={phase:i,active:null!=s&&i<=s,current:null!=s&&i===s};r>0&&t.push(this._renderDivider(o)),t.push(this._renderPhaseButton(o))}return t}_renderPhaseButton({phase:e,active:s,current:t}){const{vm:r}=this,i=r.getValueLabel(e);return n("button",{key:`phase-${e}`,class:this.classes(l.phase,{[l.phaseActive]:s,[l.phaseCurrent]:t}),"aria-label":i,title:i,onclick:()=>r.select(e),type:"button"},e)}_renderDivider({phase:e,active:s}){return n("div",{key:`phase-divider-${e}`,class:this.classes(l.divider,{[l.dividerActive]:s})})}};e([r({nonNullable:!0})],u.prototype,"vm",void 0),e([r()],u.prototype,"messages",void 0),e([r()],u.prototype,"_phases",null),e([r()],u.prototype,"_currentPhase",null),e([r()],u.prototype,"_phasesContainer",void 0),u=e([i("esri.widgets.BuildingExplorer.BuildingPhasePicker.BuildingPhasePicker")],u);const p=u;export{p as default};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import{watch as s,initial as t}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 i}from"../../../core/accessorSupport/decorators/subclass.js";import o from"../../Widget.js";import{isRTL as a}from"../../support/widgetUtils.js";import{tsx as n}from"../../support/jsxFactory.js";const h={nextPhase:"nextPhase",previousPhase:"previousPhase",currentPhase:"{{value}}"},c="esri-building-phase-picker",l={container:`${c}`,phasesContainer:`${c}__phases-container`,phase:`${c}__phase`,phaseActive:`${c}__phase--active`,phaseCurrent:`${c}__phase--current`,divider:`${c}__divider`,dividerActive:`${c}__divider--active`,arrowLeft:`${c}__arrow-left`,arrowRight:`${c}__arrow-right`};let u=class extends o{constructor(e,s){super(e,s),this._phasesContainer=null,this._shouldScrollCurrentPhaseIntoView=!0,this._shouldFocusCurrentPhase=!1,this._onKeyDown=e=>{const{vm:s}=this;switch(e.key){case"ArrowDown":case"ArrowLeft":e.stopPropagation(),e.preventDefault(),s.previous(),this._shouldFocusCurrentPhase=!0;break;case"ArrowUp":case"ArrowRight":e.stopPropagation(),e.preventDefault(),s.next(),this._shouldFocusCurrentPhase=!0}},this._onArrowLeftClick=()=>{this.vm.previous()},this._onArrowRightClick=()=>{this.vm.next()},this._onPhasesContainerAfterCreate=e=>{this._phasesContainer=e,requestAnimationFrame(this._scrollOrFocusPhase)},this._scrollOrFocusPhase=()=>{const e=this._phasesContainer;if(this.destroyed||null==e)return;const s=e.querySelector(`.${l.phaseCurrent}`);if(s){if(this._shouldScrollCurrentPhaseIntoView){const t=e.offsetWidth,r=s.offsetLeft,i=s.offsetWidth;e.scrollLeft=-t/2+r-i/2,this._shouldScrollCurrentPhaseIntoView=!1}this._shouldFocusCurrentPhase&&(s.focus(),this._shouldFocusCurrentPhase=!1)}}}initialize(){this.addHandles(s((()=>[this._currentPhase,this._phasesContainer,this.container]),(()=>{this._shouldScrollCurrentPhaseIntoView=!0,requestAnimationFrame(this._scrollOrFocusPhase)}),t))}get _phases(){return this.vm.allowedValues}get _currentPhase(){const{vm:e}=this;return e.enabled?e.value:null}render(){if(this._phases.length<2)return n("div",{key:"no-phases"});const{vm:e,container:s,messages:t}=this,{previousPhase:r,nextPhase:i}=t??h,o=a(s);return n("div",{class:this.classes("esri-widget",l.container),key:this,onkeydown:this._onKeyDown},n("button",{"aria-label":r,class:o?l.arrowRight:l.arrowLeft,disabled:!e.hasPrevious,onclick:this._onArrowLeftClick,title:r,type:"button"}),n("div",{afterCreate:this._onPhasesContainerAfterCreate,class:l.phasesContainer},this._renderPhaseButtons()),n("button",{"aria-label":i,class:o?l.arrowLeft:l.arrowRight,disabled:!e.hasNext,onclick:this._onArrowRightClick,title:i,type:"button"}))}_renderPhaseButtons(){const e=this._phases,s=this._currentPhase,t=[];for(let r=0;r<e.length;++r){const i=e[r],o={phase:i,active:null!=s&&i<=s,current:null!=s&&i===s};r>0&&t.push(this._renderDivider(o)),t.push(this._renderPhaseButton(o))}return t}_renderPhaseButton({phase:e,active:s,current:t}){const{vm:r}=this,i=r.getValueLabel(e);return n("button",{"aria-label":i,class:this.classes(l.phase,{[l.phaseActive]:s,[l.phaseCurrent]:t}),key:`phase-${e}`,onclick:()=>r.select(e),title:i,type:"button"},e)}_renderDivider({phase:e,active:s}){return n("div",{class:this.classes(l.divider,{[l.dividerActive]:s}),key:`phase-divider-${e}`})}};e([r({nonNullable:!0})],u.prototype,"vm",void 0),e([r()],u.prototype,"messages",void 0),e([r()],u.prototype,"_phases",null),e([r()],u.prototype,"_currentPhase",null),e([r()],u.prototype,"_phasesContainer",void 0),u=e([i("esri.widgets.BuildingExplorer.BuildingPhasePicker.BuildingPhasePicker")],u);const p=u;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 s}from"../core/accessorSupport/decorators/property.js";import{cast as i}from"../core/accessorSupport/decorators/cast.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as t}from"../core/accessorSupport/decorators/subclass.js";import r from"./Widget.js";import l from"./BuildingExplorer/BuildingExplorerViewModel.js";import{css as o}from"./BuildingExplorer/css.js";import n from"./BuildingExplorer/BuildingDisciplinesTree/BuildingDisciplinesTree.js";import a from"./BuildingExplorer/BuildingLevelPicker/BuildingLevelPicker.js";import d from"./BuildingExplorer/BuildingPhasePicker/BuildingPhasePicker.js";import{globalCss as p}from"./support/globalCss.js";import{Heading as c}from"./support/Heading.js";import{legacyIcon as g}from"./support/legacyIcon.js";import{classes as u}from"./support/widgetUtils.js";import{messageBundle as m}from"./support/decorators/messageBundle.js";import{tsx as h}from"./support/jsxFactory.js";const v={levels:!0,phases:!0,disciplines:!0};let y=class extends r{constructor(e,s){super(e,s),this._defaultViewModel=new l,this.viewModel=this._defaultViewModel,this.visibleElements={...v},this.headingLevel=3,this.iconClass=o.widgetIcon,this.icon=null,this.messages=null,this.messagesCommon=null,this.toggleSiblingsVisibility=!1}destroy(){this.viewModel!==this._defaultViewModel&&this._defaultViewModel.destroy()}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}get layers(){return this.viewModel.layers}set layers(e){this.viewModel.layers=e}_castVisibleElements(e){return{...v,...e}}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}render(){const e=this.viewModel,s="disabled"===e.state||!e.isSupported;return h("div",{key:this,class:u(p.widget,o.base,p.panel,{[p.widgetDisabled]:s}),"aria-label":this.messages.widgetLabel},this._renderContent())}_renderContent(){const e=this.viewModel,s=this.messages;if(!e.isSupported)return h("p",{class:o.panelError},s.unsupported);if(!e.layers.length)return h("p",{class:o.panelError},s.noData);switch(e.state){case"loading":return this._renderLoadingIndicator();case"ready":return h("div",{key:"content",class:o.content},this._renderLevelPickerSection(),this._renderPhasePickerSection(),this._renderDisciplinesSection());case"failed":return h("p",{class:o.panelError},s.failed);default:return null}}_renderLoadingIndicator(){const e=this.messagesCommon.loading;return h("div",{key:"loading-container",role:"presentation",class:o.loadingContainer,"aria-label":e,title:e},h("span",{"aria-hidden":"true",class:u(g.loadingIndicator,p.rotating)}))}_renderLevelPickerSection(){const e=this.viewModel.level,s="ready"===e.state,i=e.allowedValues.length>1;if(!this.visibleElements.levels||!s||!i)return null;const t=this.messages?.level;return h("div",{key:"levels",class:u(o.section,o.levels)},h(c,{level:this.headingLevel},t?.title),h(a,{vm:e,messages:t}))}_renderPhasePickerSection(){const e=this.viewModel.phase,s="ready"===e.state,i=e.allowedValues.length>1;if(!this.visibleElements.phases||!s||!i)return null;const t=this.messages.phase;return h("div",{key:"phases",class:u(o.section,o.phases)},h(c,{level:this.headingLevel},t.title),h(d,{vm:e,messages:t}))}_renderDisciplinesSection(){const e=this.viewModel.disciplines,s="ready"===e.state,i=e.root.hasChildren;if(!this.visibleElements.disciplines||!s||!i)return null;const t=this.messages?.disciplines;return h("div",{key:"disciplines",class:u(o.section,o.disciplines)},h(c,{level:this.headingLevel},t.title),h(n,{vm:e,messages:t,toggleSiblingsVisibility:this.toggleSiblingsVisibility}))}};e([s({type:l})],y.prototype,"viewModel",void 0),e([s()],y.prototype,"view",null),e([s()],y.prototype,"layers",null),e([s()],y.prototype,"visibleElements",void 0),e([i("visibleElements")],y.prototype,"_castVisibleElements",null),e([s()],y.prototype,"headingLevel",void 0),e([s()],y.prototype,"iconClass",void 0),e([s()],y.prototype,"icon",void 0),e([s()],y.prototype,"label",null),e([s(),m("esri/widgets/BuildingExplorer/t9n/BuildingExplorer")],y.prototype,"messages",void 0),e([s(),m("esri/t9n/common")],y.prototype,"messagesCommon",void 0),e([s({nonNullable:!0})],y.prototype,"toggleSiblingsVisibility",void 0),e([s()],y.prototype,"uiStrings",void 0),y=e([t("esri.widgets.BuildingExplorer")],y);const w=y;export{w as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import{property as s}from"../core/accessorSupport/decorators/property.js";import{cast as i}from"../core/accessorSupport/decorators/cast.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as t}from"../core/accessorSupport/decorators/subclass.js";import r from"./Widget.js";import l from"./BuildingExplorer/BuildingExplorerViewModel.js";import{css as o}from"./BuildingExplorer/css.js";import n from"./BuildingExplorer/BuildingDisciplinesTree/BuildingDisciplinesTree.js";import a from"./BuildingExplorer/BuildingLevelPicker/BuildingLevelPicker.js";import d from"./BuildingExplorer/BuildingPhasePicker/BuildingPhasePicker.js";import{globalCss as p}from"./support/globalCss.js";import{Heading as c}from"./support/Heading.js";import{legacyIcon as g}from"./support/legacyIcon.js";import{classes as u}from"./support/widgetUtils.js";import{messageBundle as m}from"./support/decorators/messageBundle.js";import{tsx as h}from"./support/jsxFactory.js";const v={levels:!0,phases:!0,disciplines:!0};let y=class extends r{constructor(e,s){super(e,s),this._defaultViewModel=new l,this.viewModel=this._defaultViewModel,this.visibleElements={...v},this.headingLevel=3,this.iconClass=o.widgetIcon,this.icon=null,this.messages=null,this.messagesCommon=null,this.toggleSiblingsVisibility=!1}destroy(){this.viewModel!==this._defaultViewModel&&this._defaultViewModel.destroy()}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}get layers(){return this.viewModel.layers}set layers(e){this.viewModel.layers=e}_castVisibleElements(e){return{...v,...e}}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}render(){const e=this.viewModel,s="disabled"===e.state||!e.isSupported;return h("div",{"aria-label":this.messages.widgetLabel,class:u(p.widget,o.base,p.panel,{[p.widgetDisabled]:s}),key:this},this._renderContent())}_renderContent(){const e=this.viewModel,s=this.messages;if(!e.isSupported)return h("p",{class:o.panelError},s.unsupported);if(!e.layers.length)return h("p",{class:o.panelError},s.noData);switch(e.state){case"loading":return this._renderLoadingIndicator();case"ready":return h("div",{class:o.content,key:"content"},this._renderLevelPickerSection(),this._renderPhasePickerSection(),this._renderDisciplinesSection());case"failed":return h("p",{class:o.panelError},s.failed);default:return null}}_renderLoadingIndicator(){const e=this.messagesCommon.loading;return h("div",{"aria-label":e,class:o.loadingContainer,key:"loading-container",role:"presentation",title:e},h("span",{"aria-hidden":"true",class:u(g.loadingIndicator,p.rotating)}))}_renderLevelPickerSection(){const e=this.viewModel.level,s="ready"===e.state,i=e.allowedValues.length>1;if(!this.visibleElements.levels||!s||!i)return null;const t=this.messages?.level;return h("div",{class:u(o.section,o.levels),key:"levels"},h(c,{level:this.headingLevel},t?.title),h(a,{messages:t,vm:e}))}_renderPhasePickerSection(){const e=this.viewModel.phase,s="ready"===e.state,i=e.allowedValues.length>1;if(!this.visibleElements.phases||!s||!i)return null;const t=this.messages.phase;return h("div",{class:u(o.section,o.phases),key:"phases"},h(c,{level:this.headingLevel},t.title),h(d,{messages:t,vm:e}))}_renderDisciplinesSection(){const e=this.viewModel.disciplines,s="ready"===e.state,i=e.root.hasChildren;if(!this.visibleElements.disciplines||!s||!i)return null;const t=this.messages?.disciplines;return h("div",{class:u(o.section,o.disciplines),key:"disciplines"},h(c,{level:this.headingLevel},t.title),h(n,{messages:t,toggleSiblingsVisibility:this.toggleSiblingsVisibility,vm:e}))}};e([s({type:l})],y.prototype,"viewModel",void 0),e([s()],y.prototype,"view",null),e([s()],y.prototype,"layers",null),e([s()],y.prototype,"visibleElements",void 0),e([i("visibleElements")],y.prototype,"_castVisibleElements",null),e([s()],y.prototype,"headingLevel",void 0),e([s()],y.prototype,"iconClass",void 0),e([s()],y.prototype,"icon",void 0),e([s()],y.prototype,"label",null),e([s(),m("esri/widgets/BuildingExplorer/t9n/BuildingExplorer")],y.prototype,"messages",void 0),e([s(),m("esri/t9n/common")],y.prototype,"messagesCommon",void 0),e([s({nonNullable:!0})],y.prototype,"toggleSiblingsVisibility",void 0),e([s()],y.prototype,"uiStrings",void 0),y=e([t("esri.widgets.BuildingExplorer")],y);const w=y;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 e}from"../chunks/tslib.es6.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 o}from"../core/accessorSupport/decorators/subclass.js";import t from"./Widget.js";import r from"./Compass/CompassViewModel.js";import{css as i}from"./Compass/css.js";import{loadCalciteComponents as a}from"./support/componentsUtils.js";import{globalCss as p}from"./support/globalCss.js";import"./support/widgetUtils.js";import{messageBundle as l}from"./support/decorators/messageBundle.js";import{tsx as n}from"./support/jsxFactory.js";let c=class extends t{constructor(e,s){super(e,s),this.iconClass=i.widgetIcon,this.icon=null,this.messages=null,this.viewModel=new r,this._reset=()=>{this.viewModel.reset()},this._toRotationTransform=e=>({transform:`rotateZ(${e.z}deg)`})}loadDependencies(){return a({button:()=>import("@esri/calcite-components/dist/components/calcite-button.js"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js")})}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 view(){return this.viewModel.view}set view(e){this.viewModel.view=e}reset(){return this.viewModel.reset()}render(){const{orientation:e,state:s}=this.viewModel,o="rotation"===s?"arrow-up":"compass-needle",{messages:t}=this;return n("div",{class:this.classes(i.base,p.widget)},n("calcite-button",{class:p.widgetButton,onclick:this._reset,"aria-label":t.reset,title:t.reset,disabled:"disabled"===s,kind:"neutral",scale:"s",round:!0},n("div",{class:i.iconContainer},n("calcite-icon",{scale:"m",icon:o,styles:this._toRotationTransform(e)}))))}};e([s()],c.prototype,"goToOverride",null),e([s()],c.prototype,"iconClass",void 0),e([s()],c.prototype,"icon",void 0),e([s()],c.prototype,"label",null),e([s(),l("esri/widgets/Compass/t9n/Compass")],c.prototype,"messages",void 0),e([s()],c.prototype,"view",null),e([s({type:r})],c.prototype,"viewModel",void 0),c=e([o("esri.widgets.Compass")],c);const d=c;export{d as default};
5
+ import{_ as e}from"../chunks/tslib.es6.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 o}from"../core/accessorSupport/decorators/subclass.js";import t from"./Widget.js";import r from"./Compass/CompassViewModel.js";import{css as i}from"./Compass/css.js";import{loadCalciteComponents as a}from"./support/componentsUtils.js";import{globalCss as p}from"./support/globalCss.js";import"./support/widgetUtils.js";import{messageBundle as l}from"./support/decorators/messageBundle.js";import{tsx as n}from"./support/jsxFactory.js";let c=class extends t{constructor(e,s){super(e,s),this.iconClass=i.widgetIcon,this.icon=null,this.messages=null,this.viewModel=new r,this._reset=()=>{this.viewModel.reset()},this._toRotationTransform=e=>({transform:`rotateZ(${e.z}deg)`})}loadDependencies(){return a({button:()=>import("@esri/calcite-components/dist/components/calcite-button.js"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js")})}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 view(){return this.viewModel.view}set view(e){this.viewModel.view=e}reset(){return this.viewModel.reset()}render(){const{orientation:e,state:s}=this.viewModel,o="rotation"===s?"arrow-up":"compass-needle",{messages:t}=this;return n("div",{class:this.classes(i.base,p.widget)},n("calcite-button",{"aria-label":t.reset,class:p.widgetButton,disabled:"disabled"===s,kind:"neutral",onclick:this._reset,round:!0,scale:"s",title:t.reset},n("div",{class:i.iconContainer},n("calcite-icon",{icon:o,scale:"m",styles:this._toRotationTransform(e)}))))}};e([s()],c.prototype,"goToOverride",null),e([s()],c.prototype,"iconClass",void 0),e([s()],c.prototype,"icon",void 0),e([s()],c.prototype,"label",null),e([s(),l("esri/widgets/Compass/t9n/Compass")],c.prototype,"messages",void 0),e([s()],c.prototype,"view",null),e([s({type:r})],c.prototype,"viewModel",void 0),c=e([o("esri.widgets.Compass")],c);const d=c;export{d as default};