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

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 (415) hide show
  1. package/Graphic.js +1 -1
  2. package/PopupTemplate.js +1 -1
  3. package/TimeExtent.js +1 -1
  4. package/arcade/ArcadeDate.js +1 -1
  5. package/arcade/Feature.js +1 -1
  6. package/arcade/featureSetUtils.js +1 -1
  7. package/arcade/featureset/actions/Adapted.js +1 -1
  8. package/arcade/featureset/actions/GroupBy.js +1 -1
  9. package/arcade/featureset/support/FeatureSet.js +1 -1
  10. package/arcade/featureset/support/FeatureSetIterator.js +1 -1
  11. package/arcade/featureset/support/StatsField.js +1 -1
  12. package/arcade/featureset/support/sqlUtils.js +1 -1
  13. package/arcade/functions/convertdirection.js +1 -1
  14. package/arcade/functions/date.js +1 -1
  15. package/arcade/functions/featuresetbase.js +1 -1
  16. package/arcade/functions/featuresetstats.js +1 -1
  17. package/arcade/treeAnalysis.js +1 -1
  18. package/arcade.js +1 -1
  19. package/assets/esri/core/workers/RemoteClient.js +1 -1
  20. package/assets/esri/core/workers/chunks/02156fd04279f4d0fd3f.js +1 -0
  21. package/assets/esri/core/workers/chunks/07f6175b52366b2c28bd.js +1 -0
  22. package/assets/esri/core/workers/chunks/098073c3b2849f56dad8.js +1 -0
  23. package/assets/esri/core/workers/chunks/1186ba1947bd0c32f148.js +1 -0
  24. package/assets/esri/core/workers/chunks/186445b9fbedd261f684.js +1 -0
  25. package/assets/esri/core/workers/chunks/{580039dd491854ca325c.js → 21fc02f0d5716c4a7acd.js} +1 -1
  26. package/assets/esri/core/workers/chunks/{dff1c3c38dda2bd1a9d6.js → 246a954347fe9318190e.js} +1 -1
  27. package/assets/esri/core/workers/chunks/{c9dfb145f0c1d93e0fbd.js → 250bb6ae6f1992b5b4f9.js} +1 -1
  28. package/assets/esri/core/workers/chunks/{314c307e30f308a40a28.js → 25b09e9c0511c8e1cf8a.js} +1 -1
  29. package/assets/esri/core/workers/chunks/2a0b3b52ecd787a613bc.js +1 -0
  30. package/assets/esri/core/workers/chunks/2bc9b55e655968229ef4.js +1 -0
  31. package/assets/esri/core/workers/chunks/2f0924e7aa89e689da4a.js +1 -0
  32. package/assets/esri/core/workers/chunks/3f218d65ec451b2a1027.js +1 -0
  33. package/assets/esri/core/workers/chunks/425b5733bb88e6efe242.js +1 -0
  34. package/assets/esri/core/workers/chunks/45d6b942cdccca2ce44a.js +1 -0
  35. package/assets/esri/core/workers/chunks/4bf1a7e82a68ccee0ee1.js +1 -0
  36. package/assets/esri/core/workers/chunks/4c110c7f4f940ec58010.js +1 -0
  37. package/assets/esri/core/workers/chunks/{bde89b2684b6185992ef.js → 4ed77097e69fa3096ce4.js} +1 -1
  38. package/assets/esri/core/workers/chunks/4fe5bac782a742d5b1c0.js +1 -0
  39. package/assets/esri/core/workers/chunks/{1cbaba30f55f00f7498b.js → 51324d042f469f3b8914.js} +1 -1
  40. package/assets/esri/core/workers/chunks/{3f4e9b1663ec521bfe00.js → 542ce10e1872399790b4.js} +1 -1
  41. package/assets/esri/core/workers/chunks/54d2b7e2ac4ba883bee8.js +1 -0
  42. package/assets/esri/core/workers/chunks/54ecb6cae310818d1aa2.js +1 -0
  43. package/assets/esri/core/workers/chunks/57c932e289d89d97da4b.js +1 -0
  44. package/assets/esri/core/workers/chunks/{6403de6fc067cf8f7436.js → 592c1fb531f2be928e8a.js} +1 -1
  45. package/assets/esri/core/workers/chunks/59a807220d6f0dd18776.js +1 -0
  46. package/assets/esri/core/workers/chunks/59dff10d7ad2b1bf469e.js +1 -0
  47. package/assets/esri/core/workers/chunks/609a475ab395f2ce63e2.js +1 -0
  48. package/assets/esri/core/workers/chunks/612c485c5aad1548d708.js +1 -0
  49. package/assets/esri/core/workers/chunks/{2bb69d76a13564e8e455.js → 645ba2d5c10184632d23.js} +1 -1
  50. package/assets/esri/core/workers/chunks/{332689bf60d246485993.js → 65186e168dd112ac6221.js} +1 -1
  51. package/assets/esri/core/workers/chunks/6b9248fb2d6aadbce7bb.js +1 -0
  52. package/assets/esri/core/workers/chunks/709465832d306e02df52.js +1 -0
  53. package/assets/esri/core/workers/chunks/72c5bd6f7b8541b8d69e.js +1 -0
  54. package/assets/esri/core/workers/chunks/{bbc0dcd316c5598bc9ad.js → 74368a5213def6c200a2.js} +1 -1
  55. package/assets/esri/core/workers/chunks/{94188fe381239d48a975.js → 76483c9a8848f3106126.js} +1 -1
  56. package/assets/esri/core/workers/chunks/7aa58c96798447ce5907.js +1 -0
  57. package/assets/esri/core/workers/chunks/7d078b8b9997b5300c0a.js +1 -0
  58. package/assets/esri/core/workers/chunks/7fe641cf1467496e670a.js +1 -0
  59. package/assets/esri/core/workers/chunks/{df8f62beb36fb9d2ac81.js → 810c8d6ff19976fd1366.js} +1 -1
  60. package/assets/esri/core/workers/chunks/8458ed96f3e72814cef2.js +1 -0
  61. package/assets/esri/core/workers/chunks/{243a4eed107d363dfad8.js → 887652bbdb3b71d0a089.js} +1 -1
  62. package/assets/esri/core/workers/chunks/896bfda379cf620b63ec.js +1 -0
  63. package/assets/esri/core/workers/chunks/91c9f0d59eaed7a735ce.js +1 -0
  64. package/assets/esri/core/workers/chunks/{1f7e041140088f8ac489.js → 97073a60f0ea2a397165.js} +1 -1
  65. package/assets/esri/core/workers/chunks/97658ac749664a07c92d.js +1 -0
  66. package/assets/esri/core/workers/chunks/{1da74a306aa5b4eacaae.js → 9866bbaeaf885c2dcca9.js} +1 -1
  67. package/assets/esri/core/workers/chunks/a39ae87298ac674f129d.js +1 -0
  68. package/assets/esri/core/workers/chunks/a7b3048c19348540e004.js +1 -0
  69. package/assets/esri/core/workers/chunks/a8ca4b116909e47722f9.js +1 -0
  70. package/assets/esri/core/workers/chunks/{101f776316a85b708927.js → a99070ec4c06c435b744.js} +1 -1
  71. package/assets/esri/core/workers/chunks/ab145d13932d87dd7bf9.js +1 -0
  72. package/assets/esri/core/workers/chunks/{77c15b1c2729c780f75a.js → aeeeb386134b341d7ad2.js} +1 -1
  73. package/assets/esri/core/workers/chunks/{3ca759f72d3bb29e9ea9.js → af54b233f6d6ad70b4a3.js} +2 -2
  74. package/assets/esri/core/workers/chunks/b9146daae8457224fd08.js +1 -0
  75. package/assets/esri/core/workers/chunks/bcdd2e8841abcb4df6da.js +1 -0
  76. package/assets/esri/core/workers/chunks/be05cc0cdabd5e051045.js +1 -0
  77. package/assets/esri/core/workers/chunks/c5f5f37bef11c6fbdc40.js +1 -0
  78. package/assets/esri/core/workers/chunks/d414dba3179bcf75bc6b.js +1 -0
  79. package/assets/esri/core/workers/chunks/{b449d6bd5851187d419f.js → d6e5408f9fa6b4bcd118.js} +1 -1
  80. package/assets/esri/core/workers/chunks/d9fb500cbd0f04d219a3.js +1 -0
  81. package/assets/esri/core/workers/chunks/e0dd6789fb797e9b7206.js +1 -0
  82. package/assets/esri/core/workers/chunks/{6f271249e042086d5a16.js → e4e49deae8da74f629db.js} +1 -1
  83. package/assets/esri/core/workers/chunks/e5dcff7a4fa84ba09670.js +1 -0
  84. package/assets/esri/core/workers/chunks/{f508ccfde6425dabe9ac.js → ee0bf611d191103a7046.js} +1 -1
  85. package/assets/esri/core/workers/chunks/{ed1fbc1bc8d50453e2f5.js → f793cd41fcd022baeea2.js} +1 -1
  86. package/assets/esri/core/workers/chunks/fad6a7bb82a0a2df726f.js +1 -0
  87. package/assets/esri/themes/base/widgets/_FeatureForm.scss +2 -84
  88. package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +2 -0
  89. package/assets/esri/themes/dark/main.css +1 -1
  90. package/assets/esri/themes/light/main.css +1 -1
  91. package/assets/esri/themes/light/view.css +1 -1
  92. package/chunks/arcade.js +1 -1
  93. package/config.js +1 -1
  94. package/core/Accessor.js +1 -1
  95. package/core/accessorSupport/diffUtils.js +1 -1
  96. package/core/has.js +1 -1
  97. package/core/number.js +1 -1
  98. package/core/reactiveUtils.js +1 -1
  99. package/core/sql/DateOnly.js +1 -1
  100. package/core/sql/WhereClause.js +1 -1
  101. package/core/sql.js +1 -1
  102. package/core/timeUtils.js +1 -1
  103. package/identity/IdentityForm.js +1 -1
  104. package/identity/IdentityModal.js +1 -1
  105. package/interfaces.d.ts +48 -203
  106. package/layers/LinkChartLayer.js +1 -1
  107. package/layers/OrientedImageryLayer.js +1 -1
  108. package/layers/SceneLayer.js +1 -1
  109. package/layers/graphics/applyEditsUtils.js +5 -0
  110. package/layers/graphics/editingSupport.js +1 -1
  111. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  112. package/layers/knowledgeGraph/KnowledgeGraphLayerDataManager.js +1 -1
  113. package/layers/mixins/ArcGISImageService.js +1 -1
  114. package/layers/mixins/EditBusLayer.js +1 -1
  115. package/layers/orientedImagery/core/CameraOrientationLTP.js +1 -1
  116. package/layers/orientedImagery/core/ElevationSourceDefinitions.js +5 -0
  117. package/layers/orientedImagery/core/ExposurePoint.js +1 -1
  118. package/layers/orientedImagery/core/cameraOrientationFactory.js +1 -1
  119. package/layers/orientedImagery/core/utils.js +5 -0
  120. package/layers/orientedImagery/transformations/groundToImageUtils.js +1 -1
  121. package/layers/support/fieldProperties.js +1 -1
  122. package/layers/support/fieldUtils.js +1 -1
  123. package/layers/support/imageryRendererUtils.js +1 -1
  124. package/layers/support/kmlUtils.js +1 -1
  125. package/layers/support/rasterFunctions/BaseRasterFunction.js +1 -1
  126. package/layers/support/rasterFunctions/creators/createDataManagementFunctions.js +1 -1
  127. package/networks/Network.js +1 -1
  128. package/package.json +1 -1
  129. package/request.js +1 -1
  130. package/rest/featureService/FeatureService.js +1 -1
  131. package/rest/support/DirectionsFeatureSet.js +1 -1
  132. package/smartMapping/renderers/pieChart.js +1 -1
  133. package/smartMapping/renderers/relationship.js +1 -1
  134. package/smartMapping/renderers/support/utils.js +1 -1
  135. package/smartMapping/statistics/support/ageUtils.js +1 -1
  136. package/smartMapping/support/adapters/support/utils.js +1 -1
  137. package/smartMapping/support/utils.js +1 -1
  138. package/support/apiKeyUtils.js +1 -1
  139. package/support/arcadeUtils.js +1 -1
  140. package/support/revision.js +1 -1
  141. package/symbols/cim/cimAnalyzer.js +1 -1
  142. package/symbols/support/svgUtils.js +1 -1
  143. package/time/TimeReference.js +1 -1
  144. package/time/timeReferenceUtils.js +1 -1
  145. package/versionManagement/VersionManagementService.js +1 -1
  146. package/versionManagement/support/EditMomentStack.js +5 -0
  147. package/versionManagement/support/versionManagementUtils.js +1 -1
  148. package/views/2d/engine/Container.js +1 -1
  149. package/views/2d/engine/DisplayObject.js +1 -1
  150. package/views/2d/engine/ManagedCanvas.js +5 -0
  151. package/views/2d/engine/Stage.js +1 -1
  152. package/views/2d/engine/webgl/GroupContainer.js +1 -1
  153. package/views/2d/engine/webgl/Painter.js +1 -1
  154. package/views/2d/engine/webgl/WGLContainer.js +1 -1
  155. package/views/2d/engine/webgl/WorldExtentClipRenderer.js +1 -1
  156. package/views/2d/engine/webgl/effects/FeatureEffect.js +1 -1
  157. package/views/2d/engine/webgl/effects/HighlightEffect.js +1 -1
  158. package/views/2d/engine/webgl/effects/HittestEffectVTL.js +1 -1
  159. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  160. package/views/2d/interactive/editingTools/TransformTool.js +1 -1
  161. package/views/2d/layers/GeoRSSLayerView2D.js +1 -1
  162. package/views/2d/layers/MediaLayerView2D.js +1 -1
  163. package/views/2d/layers/TileLayerView2D.js +1 -1
  164. package/views/2d/layers/WMTSLayerView2D.js +1 -1
  165. package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
  166. package/views/2d/layers/features/tileRenderers/support/WGLFeatureView.js +1 -1
  167. package/views/2d/layers/graphics/BaseGraphicContainer.js +1 -1
  168. package/views/2d/layers/graphics/GraphicContainer.js +1 -1
  169. package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
  170. package/views/2d/layers/graphics/HighlightGraphicContainer.js +1 -1
  171. package/views/2d/layers/imagery/VectorFieldView2D.js +1 -1
  172. package/views/2d/layers/support/DisplayGL.js +1 -1
  173. package/views/2d/webglDeps.js +1 -1
  174. package/views/3d/glTF/loader.js +1 -1
  175. package/views/3d/interactive/editingTools/manipulations/MoveManipulation.js +1 -1
  176. package/views/3d/interactive/editingTools/transformGraphic/isSupportedGraphic.js +1 -1
  177. package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
  178. package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
  179. package/views/3d/interactive/visualElements/PointVisualElement.js +1 -1
  180. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  181. package/views/3d/layers/SceneLayerView3D.js +1 -1
  182. package/views/3d/layers/graphics/ElevationAligners.js +1 -1
  183. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  184. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  185. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  186. package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
  187. package/views/3d/layers/graphics/Labeler.js +1 -1
  188. package/views/3d/layers/graphics/graphicUtils.js +1 -1
  189. package/views/3d/layers/i3s/featureEditing.js +1 -1
  190. package/views/3d/layers/support/StageLayerElevationProvider.js +1 -1
  191. package/views/3d/state/ViewStateManager.js +1 -1
  192. package/views/3d/support/buffer/glUtil.js +1 -1
  193. package/views/3d/support/engineContent/line.js +1 -1
  194. package/views/3d/support/viewpointUtils.js +1 -1
  195. package/views/3d/webgl-engine/Stage.js +1 -1
  196. package/views/3d/webgl-engine/effects/RenderPluginInput.js +1 -1
  197. package/views/3d/webgl-engine/effects/blit/Blit.js +5 -0
  198. package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
  199. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
  200. package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
  201. package/views/3d/webgl-engine/effects/ssao/SSAO.js +1 -1
  202. package/views/3d/webgl-engine/lib/Geometry.js +1 -1
  203. package/views/3d/webgl-engine/lib/ModelDirtySet.js +1 -1
  204. package/views/3d/webgl-engine/lib/Object3D.js +1 -1
  205. package/views/3d/webgl-engine/lib/RenderSlot.js +1 -1
  206. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  207. package/views/3d/webgl-engine/lib/TextRenderer.js +1 -1
  208. package/views/3d/webgl-engine/lib/TextTextureAtlas.js +1 -1
  209. package/views/3d/webgl-engine/lib/TextTextureFactory.js +1 -1
  210. package/views/3d/webgl-engine/lib/VertexAttribute.js +1 -1
  211. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  212. package/views/3d/webgl-engine/lib/edgeRendering/bufferLayouts.js +1 -1
  213. package/views/3d/webgl-engine/lib/edgeRendering/edgeProcessing.js +1 -1
  214. package/views/View.js +1 -1
  215. package/views/interactive/tooltip/TooltipContentWithHelpMessage.js +1 -1
  216. package/views/interactive/tooltip/TooltipEditableField.js +1 -1
  217. package/views/interactive/tooltip/constraintUtils.js +1 -1
  218. package/views/interactive/tooltip/content/Fields.js +1 -1
  219. package/views/interactive/tooltip/content/TooltipContentDrawCircle.js +1 -1
  220. package/views/interactive/tooltip/content/TooltipContentDrawMesh.js +1 -1
  221. package/views/interactive/tooltip/content/TooltipContentDrawPoint.js +1 -1
  222. package/views/interactive/tooltip/content/TooltipContentDrawPolygon.js +1 -1
  223. package/views/interactive/tooltip/content/TooltipContentDrawPolyline.js +1 -1
  224. package/views/interactive/tooltip/content/TooltipContentDrawRectangle.js +1 -1
  225. package/views/interactive/tooltip/content/TooltipContentExtentRotate.js +1 -1
  226. package/views/interactive/tooltip/content/TooltipContentExtentScale.js +1 -1
  227. package/views/interactive/tooltip/content/TooltipContentReshapeEdgeOffset.js +1 -1
  228. package/views/interactive/tooltip/content/TooltipContentTransformAbsolute.js +1 -1
  229. package/views/interactive/tooltip/content/TooltipContentTransformRotate.js +1 -1
  230. package/views/interactive/tooltip/content/TooltipContentTransformScale.js +1 -1
  231. package/views/interactive/tooltip/content/TooltipContentTranslateGraphic.js +1 -1
  232. package/views/interactive/tooltip/content/TooltipContentTranslateGraphicXY.js +1 -1
  233. package/views/interactive/tooltip/content/TooltipContentTranslateGraphicZ.js +1 -1
  234. package/views/interactive/tooltip/content/TooltipContentTranslateVertex.js +1 -1
  235. package/views/interactive/tooltip/content/TooltipContentTranslateVertexXY.js +1 -1
  236. package/views/interactive/tooltip/content/TooltipContentTranslateVertexZ.js +1 -1
  237. package/views/support/angularMeasurementUtils.js +1 -1
  238. package/views/ui/UI.js +1 -1
  239. package/views/webgl/ShaderTranspiler.js +1 -1
  240. package/views/webgl/Texture.js +1 -1
  241. package/views/webgl/contextUtils.js +1 -1
  242. package/webmap/InitialViewProperties.js +1 -1
  243. package/widgets/AreaMeasurement2D.js +1 -1
  244. package/widgets/AreaMeasurement3D.js +1 -1
  245. package/widgets/Attachments/AttachmentsViewModel.js +1 -1
  246. package/widgets/Attachments.js +1 -1
  247. package/widgets/Attribution.js +1 -1
  248. package/widgets/BasemapGallery.js +1 -1
  249. package/widgets/BasemapLayerList.js +1 -1
  250. package/widgets/BasemapToggle.js +1 -1
  251. package/widgets/Bookmarks.js +1 -1
  252. package/widgets/BuildingExplorer/BuildingDisciplinesTree/BuildingDisciplinesNode.js +1 -1
  253. package/widgets/BuildingExplorer/BuildingDisciplinesTree/BuildingDisciplinesTree.js +1 -1
  254. package/widgets/BuildingExplorer/BuildingLevelPicker/BuildingLevelPicker.js +1 -1
  255. package/widgets/BuildingExplorer/BuildingLevelPicker/Label.js +1 -1
  256. package/widgets/BuildingExplorer/BuildingLevelPicker/LevelItem.js +1 -1
  257. package/widgets/BuildingExplorer/BuildingPhasePicker/BuildingPhasePicker.js +1 -1
  258. package/widgets/BuildingExplorer.js +1 -1
  259. package/widgets/Compass.js +1 -1
  260. package/widgets/CoordinateConversion.js +1 -1
  261. package/widgets/Daylight/support/SliderWithDropdown.js +1 -1
  262. package/widgets/Daylight.js +1 -1
  263. package/widgets/DirectLineMeasurement3D.js +1 -1
  264. package/widgets/DirectionalPad.js +1 -1
  265. package/widgets/Directions/components/SaveLayer.js +1 -1
  266. package/widgets/Directions.js +1 -1
  267. package/widgets/DistanceMeasurement2D.js +1 -1
  268. package/widgets/Editor/components/FooterActions.js +1 -1
  269. package/widgets/Editor/components/Notices.js +1 -1
  270. package/widgets/Editor/components/PanelContent.js +1 -1
  271. package/widgets/Editor/components/PanelToolbar.js +1 -1
  272. package/widgets/Editor/components/Prompt.js +1 -1
  273. package/widgets/Editor/components/Settings.js +1 -1
  274. package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
  275. package/widgets/Editor/components/UploadDetails.js +1 -1
  276. package/widgets/Editor.js +1 -1
  277. package/widgets/ElevationProfile/components/LegendItem.js +1 -1
  278. package/widgets/ElevationProfile/components/SettingsButton.js +1 -1
  279. package/widgets/ElevationProfile/components/Statistics.js +1 -1
  280. package/widgets/ElevationProfile.js +1 -1
  281. package/widgets/Expand.js +1 -1
  282. package/widgets/Feature/FeatureContent.js +1 -1
  283. package/widgets/Feature/FeatureExpression.js +1 -1
  284. package/widgets/Feature/FeatureFields.js +1 -1
  285. package/widgets/Feature/FeatureMedia.js +1 -1
  286. package/widgets/Feature/FeatureRelationship.js +1 -1
  287. package/widgets/Feature/FeatureViewModel.js +1 -1
  288. package/widgets/Feature/support/FeatureContentMixin.js +1 -1
  289. package/widgets/Feature/support/FeatureElementInfo.js +1 -1
  290. package/widgets/Feature.js +1 -1
  291. package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
  292. package/widgets/FeatureForm/GroupInput.js +1 -1
  293. package/widgets/FeatureForm/css.js +1 -1
  294. package/widgets/FeatureForm.js +1 -1
  295. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  296. package/widgets/FeatureTable/Grid/Grid.js +1 -1
  297. package/widgets/FeatureTable/Grid/support/ButtonMenu.js +1 -1
  298. package/widgets/FeatureTable.js +1 -1
  299. package/widgets/FeatureTemplates/ItemList.js +1 -1
  300. package/widgets/FeatureTemplates.js +1 -1
  301. package/widgets/Features/FeaturesRelatedRecords.js +1 -1
  302. package/widgets/Features.js +1 -1
  303. package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
  304. package/widgets/FloorFilter.js +1 -1
  305. package/widgets/Fullscreen.js +1 -1
  306. package/widgets/Histogram.js +1 -1
  307. package/widgets/HistogramRangeSlider.js +1 -1
  308. package/widgets/Home.js +1 -1
  309. package/widgets/LayerList/ListItemPanel.js +1 -1
  310. package/widgets/LayerList.js +1 -1
  311. package/widgets/Legend/LegendViewModel.js +1 -1
  312. package/widgets/Legend/styles/Card.js +1 -1
  313. package/widgets/Legend/styles/Classic.js +1 -1
  314. package/widgets/Legend/styles/support/relationshipUtils.js +1 -1
  315. package/widgets/Legend/styles/support/univariateUtils.js +1 -1
  316. package/widgets/LineOfSight.js +1 -1
  317. package/widgets/Locate.js +1 -1
  318. package/widgets/NavigationToggle.js +1 -1
  319. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  320. package/widgets/OrientedImageryViewer.js +1 -1
  321. package/widgets/Popup.js +1 -1
  322. package/widgets/Print.js +1 -1
  323. package/widgets/ScaleRangeSlider/scalePreviewUtils.js +1 -1
  324. package/widgets/ScaleRangeSlider.js +1 -1
  325. package/widgets/Search/SearchResultRenderer.js +1 -1
  326. package/widgets/Search.js +1 -1
  327. package/widgets/ShadowCast/components/DiscreteConfigurator.js +1 -1
  328. package/widgets/ShadowCast/components/DurationConfigurator.js +1 -1
  329. package/widgets/ShadowCast/components/ShadowTooltipContent.js +1 -1
  330. package/widgets/ShadowCast/components/ThresholdConfigurator.js +1 -1
  331. package/widgets/ShadowCast.js +1 -1
  332. package/widgets/Sketch.js +1 -1
  333. package/widgets/Slice.js +1 -1
  334. package/widgets/Slider.js +1 -1
  335. package/widgets/Swipe.js +1 -1
  336. package/widgets/TableList.js +1 -1
  337. package/widgets/TimeSlider.js +1 -1
  338. package/widgets/Track.js +1 -1
  339. package/widgets/UtilityNetworkAssociations/UtilityNetworkAssociationsLineSymbolPicker.js +1 -1
  340. package/widgets/UtilityNetworkAssociations.js +1 -1
  341. package/widgets/UtilityNetworkTrace.js +1 -1
  342. package/widgets/UtilityNetworkValidateTopology.js +1 -1
  343. package/widgets/ValuePicker.js +1 -1
  344. package/widgets/VideoPlayer/components/PlayerControlsGroup.js +1 -1
  345. package/widgets/VideoPlayer/components/SettingsButton.js +1 -1
  346. package/widgets/VideoPlayer.js +1 -1
  347. package/widgets/Weather/LabeledSlider.js +1 -1
  348. package/widgets/Weather.js +1 -1
  349. package/widgets/Zoom/IconButton.js +1 -1
  350. package/widgets/smartMapping/BinaryColorSizeSlider.js +1 -1
  351. package/widgets/smartMapping/ClassedColorSlider.js +1 -1
  352. package/widgets/smartMapping/ClassedSizeSlider.js +1 -1
  353. package/widgets/smartMapping/ColorSizeSlider.js +1 -1
  354. package/widgets/smartMapping/ColorSlider.js +1 -1
  355. package/widgets/smartMapping/HeatmapSlider.js +1 -1
  356. package/widgets/smartMapping/OpacitySlider.js +1 -1
  357. package/widgets/smartMapping/SizeSlider.js +1 -1
  358. package/widgets/smartMapping/SmartMappingSliderBase.js +1 -1
  359. package/widgets/support/ColorPicker.js +1 -1
  360. package/widgets/support/DatePicker.js +1 -1
  361. package/widgets/support/Heading.js +1 -1
  362. package/widgets/support/LabeledSwitch.js +1 -1
  363. package/widgets/support/MeasurementWidgetContent.js +1 -1
  364. package/widgets/support/Popover.js +1 -1
  365. package/widgets/support/SelectionToolbar.js +1 -1
  366. package/widgets/support/SketchTooltipControls.js +1 -1
  367. package/widgets/support/SnappingControls.js +1 -1
  368. package/widgets/support/TimePicker.js +1 -1
  369. package/widgets/support/TimezonePicker.js +1 -1
  370. package/widgets/support/UnitSelect.js +1 -1
  371. package/widgets/support/dateUtils.js +1 -1
  372. package/assets/esri/core/workers/chunks/072b4e041b8630c513a0.js +0 -1
  373. package/assets/esri/core/workers/chunks/092920c25cac89c038ee.js +0 -1
  374. package/assets/esri/core/workers/chunks/114269dda1d296893908.js +0 -1
  375. package/assets/esri/core/workers/chunks/126df6237fc80608344e.js +0 -1
  376. package/assets/esri/core/workers/chunks/1b3655f5bf5d90fa8730.js +0 -1
  377. package/assets/esri/core/workers/chunks/1c83f47d446f2bca1721.js +0 -1
  378. package/assets/esri/core/workers/chunks/1cf7bb514e7eefc3e9c6.js +0 -1
  379. package/assets/esri/core/workers/chunks/21a9c8aa2a9e9990df41.js +0 -1
  380. package/assets/esri/core/workers/chunks/24629402c647ef6b5f6b.js +0 -1
  381. package/assets/esri/core/workers/chunks/2a1c1be9c202462cf54d.js +0 -1
  382. package/assets/esri/core/workers/chunks/2cb36f9686693234991a.js +0 -1
  383. package/assets/esri/core/workers/chunks/2d0d03cbea83c868edba.js +0 -1
  384. package/assets/esri/core/workers/chunks/2e130cb2f1038055c07b.js +0 -1
  385. package/assets/esri/core/workers/chunks/3619e04cbb6691549014.js +0 -1
  386. package/assets/esri/core/workers/chunks/3dbfb4f370a874393822.js +0 -1
  387. package/assets/esri/core/workers/chunks/406db5c90271a3a203d4.js +0 -1
  388. package/assets/esri/core/workers/chunks/4369a6c1e0a82ab4db6a.js +0 -1
  389. package/assets/esri/core/workers/chunks/4f4a424d1747d04501df.js +0 -1
  390. package/assets/esri/core/workers/chunks/59c00d6fba0fd1c03d01.js +0 -1
  391. package/assets/esri/core/workers/chunks/5a5720caa64a46daadf9.js +0 -1
  392. package/assets/esri/core/workers/chunks/5edb99b58549cd66b394.js +0 -1
  393. package/assets/esri/core/workers/chunks/6203ddf6caad3d356327.js +0 -1
  394. package/assets/esri/core/workers/chunks/650a317b6dc245a7060f.js +0 -1
  395. package/assets/esri/core/workers/chunks/7a358b1fd0c0cce59e9b.js +0 -1
  396. package/assets/esri/core/workers/chunks/83d1a1b3d371c991cc4c.js +0 -1
  397. package/assets/esri/core/workers/chunks/846b7a81b870c8b238a1.js +0 -1
  398. package/assets/esri/core/workers/chunks/8ab832468300cc4feb5a.js +0 -1
  399. package/assets/esri/core/workers/chunks/bc1dc6383e60e7e61d50.js +0 -1
  400. package/assets/esri/core/workers/chunks/bc6323bdc98013da6fe5.js +0 -1
  401. package/assets/esri/core/workers/chunks/c4bb67150ccd01ea6014.js +0 -1
  402. package/assets/esri/core/workers/chunks/c60cf62f374e71e562fc.js +0 -1
  403. package/assets/esri/core/workers/chunks/c6ea5aac232d1eca04dd.js +0 -1
  404. package/assets/esri/core/workers/chunks/c8438c2d9ac48afe4033.js +0 -1
  405. package/assets/esri/core/workers/chunks/c8f239c25fe864f0e47a.js +0 -1
  406. package/assets/esri/core/workers/chunks/cad260881653567bc8f9.js +0 -1
  407. package/assets/esri/core/workers/chunks/d824f4b405a72cd2fa74.js +0 -1
  408. package/assets/esri/core/workers/chunks/dd7508d4016715371e0c.js +0 -1
  409. package/assets/esri/core/workers/chunks/e55f7fc7eff0074ce0fc.js +0 -1
  410. package/assets/esri/core/workers/chunks/eef27d305023034084a4.js +0 -1
  411. package/assets/esri/core/workers/chunks/f38c54ada9e7012a2960.js +0 -1
  412. package/assets/esri/core/workers/chunks/f5e0ff5292b9fd18fc92.js +0 -1
  413. package/assets/esri/core/workers/chunks/f5eb8b5021620be7538e.js +0 -1
  414. package/core/watchUtils.d.ts +0 -4
  415. package/core/watchUtils.js +0 -5
package/widgets/Sketch.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import{handlesGroup as t}from"../core/handleUtils.js";import{removeMaybe as o,destroyMaybe as i}from"../core/maybe.js";import{watch as s,syncAndInitial as n,when as l}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 r}from"../core/accessorSupport/decorators/subclass.js";import c from"./Widget.js";import u from"./Sketch/SketchViewModel.js";import d from"./Sketch/VisibleElements.js";import{loadCalciteComponents as p}from"./support/componentsUtils.js";import{globalCss as h}from"./support/globalCss.js";import{legacyIcon as v}from"./support/legacyIcon.js";import m from"./support/SelectionToolbar.js";import _ from"./support/SketchTooltipControls.js";import g from"./support/SnappingControls.js";import{isRTL as b}from"./support/widgetUtils.js";import{messageBundle as f}from"./support/decorators/messageBundle.js";import{vmEvent as w}from"./support/decorators/vmEvent.js";import{tsx as y}from"./support/jsxFactory.js";import{substitute as C}from"../intl/substitute.js";const T="esri-sketch",M={base:T,widgetIcon:v.edit,verticalLayout:`${T}--vertical`,panel:`${T}__panel`,infoPanel:`${T}__info-panel`,section:`${T}__section`,toolSection:`${T}__tool-section`,infoSection:`${T}__info-section`,infoCountSection:`${T}__info-count-section`,menuContainer:`${T}__menu-container`,menuHeader:`${T}__menu-header`,menuTitle:`${T}__menu-title`,featureCountBadge:`${T}__feature-count-badge`,featureCountText:`${T}__feature-count-text`,featureCountNumber:`${T}__feature-count-number`,actionToggle:`${T}__action-toggle`,actionToggleOn:`${T}__action-toggle--on`,actionTitle:`${T}__item-action-title`,actionIcon:`${T}__item-action-icon`};let O=class extends c{constructor(e,t){super(e,t),this._activeCreateOptions=null,this._menuOpen=!1,this._selectionToolbar=null,this._viewModelHandlesGroup=null,this.availableCreateTools=["point","polyline","polygon","rectangle","circle"],this.creationMode="continuous",this.iconClass=M.widgetIcon,this.icon=null,this.layout="horizontal",this.messages=null,this.messagesCommon=null,this.visibleElements=new d,this._activateCreateTool=this._activateCreateTool.bind(this),this.viewModel=e?.viewModel||new u}initialize(){const{layer:e,view:i}=this,{selectionTools:a}=this.visibleElements,r=new m({view:"2d"===i?.type?i:null,sources:e?[e]:null,visibleElements:{lassoTool:!!a?.["lasso-selection"],rectangleTool:!!a?.["rectangle-selection"]}});this.addHandles([s((()=>this.viewModel),(e=>{this._viewModelHandlesGroup=o(this._viewModelHandlesGroup),e&&(this._viewModelHandlesGroup=t([e.on("create",(e=>{this.scheduleRender(),this._onCreateOperation(e)})),e.on("update",(()=>this.scheduleRender())),e.on("delete",(e=>this.emit("delete",e))),e.on("undo",(()=>this.scheduleRender())),e.on("redo",(()=>this.scheduleRender())),s((()=>e.layer),(e=>{this._selectionToolbar&&(this._selectionToolbar.sources=e?[e]:null)})),s((()=>e.view),(e=>{this._selectionToolbar&&(this._selectionToolbar.view="2d"===e?.type?e:null)})),s((()=>e.state),(()=>this.notifyChange("state")))]))}),n),l((()=>r.activeToolInfo),(()=>this.viewModel.cancel())),r.on("complete",(e=>this._onSelectionOperationComplete(e)))]),this._selectionToolbar=r}loadDependencies(){return p({action:()=>import("@esri/calcite-components/dist/components/calcite-action.js"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js")})}destroy(){this._selectionToolbar?.destroy(),this._viewModelHandlesGroup=o(this._viewModelHandlesGroup)}get activeTool(){const e=this._selectionToolbar?.activeToolInfo;if(e)switch(e.toolName){case"lasso":return"lasso-selection";case"rectangle":return"rectangle-selection";case"default":return"custom-selection"}return this.viewModel.activeTool}get createGraphic(){return this.viewModel.createGraphic}get defaultCreateOptions(){return this.viewModel.defaultCreateOptions}set defaultCreateOptions(e){this.viewModel.defaultCreateOptions=e}get defaultUpdateOptions(){return this.viewModel.defaultUpdateOptions}set defaultUpdateOptions(e){this.viewModel.defaultUpdateOptions=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get labelOptions(){return this.viewModel.labelOptions}set labelOptions(e){this.viewModel.labelOptions=e}get layer(){return this.viewModel.layer}set layer(e){this.viewModel.layer=e}get snappingOptions(){return this.viewModel.snappingOptions}set snappingOptions(e){this.viewModel.snappingOptions=e}get state(){return this._selectionToolbar?.activeToolInfo?"active":this.viewModel.state}get tooltipOptions(){return this.viewModel.tooltipOptions}set tooltipOptions(e){this.viewModel.tooltipOptions=e}get updateGraphics(){return this.viewModel.updateGraphics}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}set viewModel(e){const t=this._get("viewModel");e!==t&&(t&&i(t),this._set("viewModel",e))}get _effectiveAvailableCreateTools(){const{availableCreateTools:e,visibleElements:t}=this;return e?.filter((e=>!!t.createTools?.[e]))}create(e,t){this._activeCreateOptions=t||null,this.viewModel.create(e,t)}update(e,t){return this.viewModel.update(e,t)}complete(){this.viewModel.complete()}cancel(){this._selectionToolbar?.cancel(),this.viewModel.cancel()}undo(){this.viewModel.undo(),this.view?.focus()}redo(){this.viewModel.redo(),this.view?.focus()}delete(){this.viewModel.delete()}duplicate(){return this.viewModel.duplicate()}render(){const{label:e,layout:t,viewModel:{state:o}}=this;return y("div",{"aria-label":e,class:this.classes(M.base,h.widget,{[h.disabled]:"disabled"===o,[M.verticalLayout]:"vertical"===t})},y("div",{role:"toolbar",class:M.panel},this._renderTopPanelContents()),y("div",{class:this.classes(M.panel,M.infoPanel)},this._renderInfoPanelContents()))}_renderTopPanelContents(){const e=this.classes(M.section,M.toolSection),{_effectiveAvailableCreateTools:t,visibleElements:o,viewModel:i}=this;return[i.updateOnGraphicClick||this._selectionToolbar?.visibleToolCount?y("div",{role:"menu",key:"selection-button-container",class:e},this._renderDefaultSelectionButton(),this._renderSelectionToolbar()):null,t?.length?y("div",{role:"menu",class:e},this._renderDrawButtons()):null,o.undoRedoMenu?y("div",{role:"menu",key:"undo-redo-menu-button-container",class:e},this._renderUndoRedoMenuButtons()):null,o.settingsMenu?y("div",{key:"settings-menu-button-container",class:M.section},this._renderSettingsMenuButton()):null]}_renderInfoPanelContents(){return this._menuOpen?this._renderSettingsMenu():this.updateGraphics.length?[y("div",{class:this.classes(M.section,M.infoSection,M.infoCountSection),key:"feature-count-container"},this._renderFeatureCount()),y("div",{class:this.classes(M.section,M.infoSection),key:"delete-button-container"},this._renderDuplicateButton(),this._renderDeleteButton())]:void 0}_renderSettingsMenu(){const{labelOptions:e,messagesCommon:t,snappingOptions:o,tooltipOptions:i,view:s,visibleElements:n}=this;return[y("div",{role:"menu",class:M.menuContainer,key:"settings-menu-container","data-testid":"menu"},y("header",{class:M.menuHeader,key:"settings-menu-header"},y("span",{class:M.menuTitle},t.settings)),n.sketchTooltipControls?y(_,{labelOptions:e,tooltipOptions:i,visibleElements:n.sketchTooltipControlsElements,viewType:s?.type}):void 0,n.snappingControls&&s&&o?y(g,{snappingOptions:o,view:s,visibleElements:n.snappingControlsElements}):void 0)]}_renderFeatureCount(){const{layout:e,messages:t,updateGraphics:{length:o}}=this,i=C(t.selectedCount,{count:o});return y("div",{class:M.featureCountBadge,"aria-label":i},y("span",{class:M.featureCountNumber},"vertical"===e?o:i))}_renderDuplicateButton(){if(!this.visibleElements.duplicateButton)return;const e=this.messages,t=this.updateGraphics.length>1?e.duplicateFeatures:e.duplicateFeature;return y("calcite-action",{bind:this,label:t,onclick:this._onDuplicateSelect,scale:"s",text:t,title:t},y("calcite-icon",{scale:"s",icon:"copy"}))}_renderDeleteButton(){const e=this.messages,t=this.updateGraphics.length>1?e.deleteFeatures:e.deleteFeature;return y("calcite-action",{bind:this,label:t,onclick:this.delete,scale:"s",text:t,title:t},y("calcite-icon",{scale:"s",icon:"trash"}))}_renderDefaultSelectionButton(){if(!this.viewModel.updateOnGraphicClick)return;const e=this.messages.selectFeature;return y("calcite-action",{active:"ready"===this.state,bind:this,label:e,onclick:this._activateDefaultSelectTool,scale:"s",text:e,title:e},y("calcite-icon",{scale:"s",icon:"cursor"}))}_renderSelectionToolbar(){if("2d"===this.view?.type&&this._selectionToolbar)return this._selectionToolbar.render()}_renderDrawButtons(){return this._effectiveAvailableCreateTools?.map((e=>{switch(e){case"point":return this._renderPointButton();case"polyline":return this._renderPolylineButton();case"polygon":return this._renderPolygonButton();case"rectangle":return this._renderRectangleButton();case"circle":return this._renderCircleButton();default:return}}))}_renderPointButton(){const e="point",t=this.messages.drawPoint;return y("calcite-action",{active:this.activeTool===e,bind:this,label:t,onclick:()=>this._activateCreateTool(e),scale:"s",text:t,title:t},y("calcite-icon",{scale:"s",icon:"pin"}))}_renderPolygonButton(){const e="polygon",t=this.messages.drawPolygon;return y("calcite-action",{active:this.activeTool===e,bind:this,label:t,onclick:()=>this._activateCreateTool(e),scale:"s",text:t,title:t},y("calcite-icon",{scale:"s",icon:"polygon"}))}_renderPolylineButton(){const e="polyline",t=this.messages.drawPolyline;return y("calcite-action",{active:this.activeTool===e,bind:this,label:t,onclick:()=>this._activateCreateTool(e),scale:"s",text:t,title:t},y("calcite-icon",{scale:"s",icon:"line"}))}_renderCircleButton(){const e="circle",t=this.messages.drawCircle;return y("calcite-action",{active:this.activeTool===e,bind:this,label:t,onclick:()=>this._activateCreateTool(e),scale:"s",text:t,title:t},y("calcite-icon",{scale:"s",icon:"circle"}))}_renderRectangleButton(){const e="rectangle",t=this.messages.drawRectangle;return y("calcite-action",{active:this.activeTool===e,bind:this,label:t,onclick:()=>this._activateCreateTool(e),scale:"s",text:t,title:t},y("calcite-icon",{scale:"s",icon:"rectangle"}))}_renderUndoRedoMenuButtons(){return[this._renderUndoButton(),this._renderRedoButton()]}_renderUndoButton(){const e=this.messages.undo;return y("calcite-action",{disabled:!this.viewModel.canUndo(),bind:this,label:e,onclick:this.undo,scale:"s",text:e,title:e},y("calcite-icon",{scale:"s",icon:b(this.container)?"redo":"undo"}))}_renderRedoButton(){const e=this.messages.redo;return y("calcite-action",{disabled:!this.viewModel.canRedo(),bind:this,label:e,onclick:this.redo,scale:"s",text:e,title:e},y("calcite-icon",{scale:"s",icon:b(this.container)?"undo":"redo"}))}_renderSettingsMenuButton(){const e=this.messagesCommon.settings;return y("calcite-action",{active:this._menuOpen,bind:this,label:e,onclick:this._toggleMenu,scale:"s",text:e,title:e,"data-testid":"settings-menu-action"},y("calcite-icon",{scale:"s",icon:"gear"}))}_activateCreateTool(e){this.activeTool!==e?(this._selectionToolbar?.cancel(),this.create(e)):this.cancel()}_onCreateOperation(e){if("complete"!==e.state)return;const{creationMode:t}=this,{type:o}=e;if("create"===o){const{tool:o,graphic:i}=e,s=this._activeCreateOptions;this._activeCreateOptions=null,"continuous"===t?this.create(o,s):"update"===t&&this.update([i])}}_toggleMenu(){this._menuOpen=!this._menuOpen,this.scheduleRender()}_onDuplicateSelect(){const e=this.duplicate(),t=this.viewModel.activeTool;"transform"!==t&&"reshape"!==t||this.update(e,{tool:t})}_onSelectionOperationComplete(e){const{viewModel:{defaultUpdateOptions:t}}=this,{selection:o}=e;if(!e.aborted&&o.length){const e=t.tool,i=o.length>1&&"reshape"===e?"transform":e;this.update(o,{...t,tool:i})}this.notifyChange("state")}_activateDefaultSelectTool(){this.cancel(),this.view?.focus()}};e([a()],O.prototype,"activeTool",null),e([a({cast:e=>{if(!e||!e.length)return null;const t=new Set(["point","polyline","polygon","rectangle","circle"]);return e.filter((e=>t.has(e)))}})],O.prototype,"availableCreateTools",void 0),e([a({readOnly:!0})],O.prototype,"createGraphic",null),e([a()],O.prototype,"creationMode",void 0),e([a()],O.prototype,"defaultCreateOptions",null),e([a()],O.prototype,"defaultUpdateOptions",null),e([a()],O.prototype,"iconClass",void 0),e([a()],O.prototype,"icon",void 0),e([a()],O.prototype,"label",null),e([a()],O.prototype,"labelOptions",null),e([a()],O.prototype,"layer",null),e([a({type:["horizontal","vertical"]})],O.prototype,"layout",void 0),e([a(),f("esri/widgets/Sketch/t9n/Sketch")],O.prototype,"messages",void 0),e([a(),f("esri/t9n/common")],O.prototype,"messagesCommon",void 0),e([a()],O.prototype,"snappingOptions",null),e([a()],O.prototype,"state",null),e([a()],O.prototype,"tooltipOptions",null),e([a({readOnly:!0})],O.prototype,"updateGraphics",null),e([a()],O.prototype,"view",null),e([a(),w(["create","update","undo","redo"])],O.prototype,"viewModel",null),e([a({type:d,nonNullable:!0})],O.prototype,"visibleElements",void 0),e([a()],O.prototype,"_effectiveAvailableCreateTools",null),O=e([r("esri.widgets.Sketch")],O);const S=O;export{S as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import{handlesGroup as t}from"../core/handleUtils.js";import{removeMaybe as o,destroyMaybe as i}from"../core/maybe.js";import{watch as s,syncAndInitial as n,when as l}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 r}from"../core/accessorSupport/decorators/subclass.js";import c from"./Widget.js";import u from"./Sketch/SketchViewModel.js";import d from"./Sketch/VisibleElements.js";import{loadCalciteComponents as p}from"./support/componentsUtils.js";import{globalCss as h}from"./support/globalCss.js";import{legacyIcon as v}from"./support/legacyIcon.js";import m from"./support/SelectionToolbar.js";import _ from"./support/SketchTooltipControls.js";import g from"./support/SnappingControls.js";import{isRTL as b}from"./support/widgetUtils.js";import{messageBundle as f}from"./support/decorators/messageBundle.js";import{vmEvent as w}from"./support/decorators/vmEvent.js";import{tsx as y}from"./support/jsxFactory.js";import{substitute as C}from"../intl/substitute.js";const T="esri-sketch",M={base:T,widgetIcon:v.edit,verticalLayout:`${T}--vertical`,panel:`${T}__panel`,infoPanel:`${T}__info-panel`,section:`${T}__section`,toolSection:`${T}__tool-section`,infoSection:`${T}__info-section`,infoCountSection:`${T}__info-count-section`,menuContainer:`${T}__menu-container`,menuHeader:`${T}__menu-header`,menuTitle:`${T}__menu-title`,featureCountBadge:`${T}__feature-count-badge`,featureCountText:`${T}__feature-count-text`,featureCountNumber:`${T}__feature-count-number`,actionToggle:`${T}__action-toggle`,actionToggleOn:`${T}__action-toggle--on`,actionTitle:`${T}__item-action-title`,actionIcon:`${T}__item-action-icon`};let O=class extends c{constructor(e,t){super(e,t),this._activeCreateOptions=null,this._menuOpen=!1,this._selectionToolbar=null,this._viewModelHandlesGroup=null,this.availableCreateTools=["point","polyline","polygon","rectangle","circle"],this.creationMode="continuous",this.iconClass=M.widgetIcon,this.icon=null,this.layout="horizontal",this.messages=null,this.messagesCommon=null,this.visibleElements=new d,this._activateCreateTool=this._activateCreateTool.bind(this),this.viewModel=e?.viewModel||new u}initialize(){const{layer:e,view:i}=this,{selectionTools:a}=this.visibleElements,r=new m({view:"2d"===i?.type?i:null,sources:e?[e]:null,visibleElements:{lassoTool:!!a?.["lasso-selection"],rectangleTool:!!a?.["rectangle-selection"]}});this.addHandles([s((()=>this.viewModel),(e=>{this._viewModelHandlesGroup=o(this._viewModelHandlesGroup),e&&(this._viewModelHandlesGroup=t([e.on("create",(e=>{this.scheduleRender(),this._onCreateOperation(e)})),e.on("update",(()=>this.scheduleRender())),e.on("delete",(e=>this.emit("delete",e))),e.on("undo",(()=>this.scheduleRender())),e.on("redo",(()=>this.scheduleRender())),s((()=>e.layer),(e=>{this._selectionToolbar&&(this._selectionToolbar.sources=e?[e]:null)})),s((()=>e.view),(e=>{this._selectionToolbar&&(this._selectionToolbar.view="2d"===e?.type?e:null)})),s((()=>e.state),(()=>this.notifyChange("state")))]))}),n),l((()=>r.activeToolInfo),(()=>this.viewModel.cancel())),r.on("complete",(e=>this._onSelectionOperationComplete(e)))]),this._selectionToolbar=r}loadDependencies(){return p({action:()=>import("@esri/calcite-components/dist/components/calcite-action.js"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js")})}destroy(){this._selectionToolbar?.destroy(),this._viewModelHandlesGroup=o(this._viewModelHandlesGroup)}get activeTool(){const e=this._selectionToolbar?.activeToolInfo;if(e)switch(e.toolName){case"lasso":return"lasso-selection";case"rectangle":return"rectangle-selection";case"default":return"custom-selection"}return this.viewModel.activeTool}get createGraphic(){return this.viewModel.createGraphic}get defaultCreateOptions(){return this.viewModel.defaultCreateOptions}set defaultCreateOptions(e){this.viewModel.defaultCreateOptions=e}get defaultUpdateOptions(){return this.viewModel.defaultUpdateOptions}set defaultUpdateOptions(e){this.viewModel.defaultUpdateOptions=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get labelOptions(){return this.viewModel.labelOptions}set labelOptions(e){this.viewModel.labelOptions=e}get layer(){return this.viewModel.layer}set layer(e){this.viewModel.layer=e}get snappingOptions(){return this.viewModel.snappingOptions}set snappingOptions(e){this.viewModel.snappingOptions=e}get state(){return this._selectionToolbar?.activeToolInfo?"active":this.viewModel.state}get tooltipOptions(){return this.viewModel.tooltipOptions}set tooltipOptions(e){this.viewModel.tooltipOptions=e}get updateGraphics(){return this.viewModel.updateGraphics}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}set viewModel(e){const t=this._get("viewModel");e!==t&&(t&&i(t),this._set("viewModel",e))}get _effectiveAvailableCreateTools(){const{availableCreateTools:e,visibleElements:t}=this;return e?.filter((e=>!!t.createTools?.[e]))}create(e,t){this._activeCreateOptions=t||null,this.viewModel.create(e,t)}update(e,t){return this.viewModel.update(e,t)}complete(){this.viewModel.complete()}cancel(){this._selectionToolbar?.cancel(),this.viewModel.cancel()}undo(){this.viewModel.undo(),this.view?.focus()}redo(){this.viewModel.redo(),this.view?.focus()}delete(){this.viewModel.delete()}duplicate(){return this.viewModel.duplicate()}render(){const{label:e,layout:t,viewModel:{state:o}}=this;return y("div",{"aria-label":e,class:this.classes(M.base,h.widget,{[h.disabled]:"disabled"===o,[M.verticalLayout]:"vertical"===t})},y("div",{class:M.panel,role:"toolbar"},this._renderTopPanelContents()),y("div",{class:this.classes(M.panel,M.infoPanel)},this._renderInfoPanelContents()))}_renderTopPanelContents(){const e=this.classes(M.section,M.toolSection),{_effectiveAvailableCreateTools:t,visibleElements:o,viewModel:i}=this;return[i.updateOnGraphicClick||this._selectionToolbar?.visibleToolCount?y("div",{class:e,key:"selection-button-container",role:"menu"},this._renderDefaultSelectionButton(),this._renderSelectionToolbar()):null,t?.length?y("div",{class:e,role:"menu"},this._renderDrawButtons()):null,o.undoRedoMenu?y("div",{class:e,key:"undo-redo-menu-button-container",role:"menu"},this._renderUndoRedoMenuButtons()):null,o.settingsMenu?y("div",{class:M.section,key:"settings-menu-button-container"},this._renderSettingsMenuButton()):null]}_renderInfoPanelContents(){return this._menuOpen?this._renderSettingsMenu():this.updateGraphics.length?[y("div",{class:this.classes(M.section,M.infoSection,M.infoCountSection),key:"feature-count-container"},this._renderFeatureCount()),y("div",{class:this.classes(M.section,M.infoSection),key:"delete-button-container"},this._renderDuplicateButton(),this._renderDeleteButton())]:void 0}_renderSettingsMenu(){const{labelOptions:e,messagesCommon:t,snappingOptions:o,tooltipOptions:i,view:s,visibleElements:n}=this;return[y("div",{class:M.menuContainer,"data-testid":"menu",key:"settings-menu-container",role:"menu"},y("header",{class:M.menuHeader,key:"settings-menu-header"},y("span",{class:M.menuTitle},t.settings)),n.sketchTooltipControls?y(_,{labelOptions:e,tooltipOptions:i,viewType:s?.type,visibleElements:n.sketchTooltipControlsElements}):void 0,n.snappingControls&&s&&o?y(g,{snappingOptions:o,view:s,visibleElements:n.snappingControlsElements}):void 0)]}_renderFeatureCount(){const{layout:e,messages:t,updateGraphics:{length:o}}=this,i=C(t.selectedCount,{count:o});return y("div",{"aria-label":i,class:M.featureCountBadge},y("span",{class:M.featureCountNumber},"vertical"===e?o:i))}_renderDuplicateButton(){if(!this.visibleElements.duplicateButton)return;const e=this.messages,t=this.updateGraphics.length>1?e.duplicateFeatures:e.duplicateFeature;return y("calcite-action",{bind:this,label:t,onclick:this._onDuplicateSelect,scale:"s",text:t,title:t},y("calcite-icon",{icon:"copy",scale:"s"}))}_renderDeleteButton(){const e=this.messages,t=this.updateGraphics.length>1?e.deleteFeatures:e.deleteFeature;return y("calcite-action",{bind:this,label:t,onclick:this.delete,scale:"s",text:t,title:t},y("calcite-icon",{icon:"trash",scale:"s"}))}_renderDefaultSelectionButton(){if(!this.viewModel.updateOnGraphicClick)return;const e=this.messages.selectFeature;return y("calcite-action",{active:"ready"===this.state,bind:this,label:e,onclick:this._activateDefaultSelectTool,scale:"s",text:e,title:e},y("calcite-icon",{icon:"cursor",scale:"s"}))}_renderSelectionToolbar(){if("2d"===this.view?.type&&this._selectionToolbar)return this._selectionToolbar.render()}_renderDrawButtons(){return this._effectiveAvailableCreateTools?.map((e=>{switch(e){case"point":return this._renderPointButton();case"polyline":return this._renderPolylineButton();case"polygon":return this._renderPolygonButton();case"rectangle":return this._renderRectangleButton();case"circle":return this._renderCircleButton();default:return}}))}_renderPointButton(){const e="point",t=this.messages.drawPoint;return y("calcite-action",{active:this.activeTool===e,bind:this,label:t,onclick:()=>this._activateCreateTool(e),scale:"s",text:t,title:t},y("calcite-icon",{icon:"pin",scale:"s"}))}_renderPolygonButton(){const e="polygon",t=this.messages.drawPolygon;return y("calcite-action",{active:this.activeTool===e,bind:this,label:t,onclick:()=>this._activateCreateTool(e),scale:"s",text:t,title:t},y("calcite-icon",{icon:"polygon",scale:"s"}))}_renderPolylineButton(){const e="polyline",t=this.messages.drawPolyline;return y("calcite-action",{active:this.activeTool===e,bind:this,label:t,onclick:()=>this._activateCreateTool(e),scale:"s",text:t,title:t},y("calcite-icon",{icon:"line",scale:"s"}))}_renderCircleButton(){const e="circle",t=this.messages.drawCircle;return y("calcite-action",{active:this.activeTool===e,bind:this,label:t,onclick:()=>this._activateCreateTool(e),scale:"s",text:t,title:t},y("calcite-icon",{icon:"circle",scale:"s"}))}_renderRectangleButton(){const e="rectangle",t=this.messages.drawRectangle;return y("calcite-action",{active:this.activeTool===e,bind:this,label:t,onclick:()=>this._activateCreateTool(e),scale:"s",text:t,title:t},y("calcite-icon",{icon:"rectangle",scale:"s"}))}_renderUndoRedoMenuButtons(){return[this._renderUndoButton(),this._renderRedoButton()]}_renderUndoButton(){const e=this.messages.undo;return y("calcite-action",{bind:this,disabled:!this.viewModel.canUndo(),label:e,onclick:this.undo,scale:"s",text:e,title:e},y("calcite-icon",{icon:b(this.container)?"redo":"undo",scale:"s"}))}_renderRedoButton(){const e=this.messages.redo;return y("calcite-action",{bind:this,disabled:!this.viewModel.canRedo(),label:e,onclick:this.redo,scale:"s",text:e,title:e},y("calcite-icon",{icon:b(this.container)?"undo":"redo",scale:"s"}))}_renderSettingsMenuButton(){const e=this.messagesCommon.settings;return y("calcite-action",{active:this._menuOpen,bind:this,"data-testid":"settings-menu-action",label:e,onclick:this._toggleMenu,scale:"s",text:e,title:e},y("calcite-icon",{icon:"gear",scale:"s"}))}_activateCreateTool(e){this.activeTool!==e?(this._selectionToolbar?.cancel(),this.create(e)):this.cancel()}_onCreateOperation(e){if("complete"!==e.state)return;const{creationMode:t}=this,{type:o}=e;if("create"===o){const{tool:o,graphic:i}=e,s=this._activeCreateOptions;this._activeCreateOptions=null,"continuous"===t?this.create(o,s):"update"===t&&this.update([i])}}_toggleMenu(){this._menuOpen=!this._menuOpen,this.scheduleRender()}_onDuplicateSelect(){const e=this.duplicate(),t=this.viewModel.activeTool;"transform"!==t&&"reshape"!==t||this.update(e,{tool:t})}_onSelectionOperationComplete(e){const{viewModel:{defaultUpdateOptions:t}}=this,{selection:o}=e;if(!e.aborted&&o.length){const e=t.tool,i=o.length>1&&"reshape"===e?"transform":e;this.update(o,{...t,tool:i})}this.notifyChange("state")}_activateDefaultSelectTool(){this.cancel(),this.view?.focus()}};e([a()],O.prototype,"activeTool",null),e([a({cast:e=>{if(!e||!e.length)return null;const t=new Set(["point","polyline","polygon","rectangle","circle"]);return e.filter((e=>t.has(e)))}})],O.prototype,"availableCreateTools",void 0),e([a({readOnly:!0})],O.prototype,"createGraphic",null),e([a()],O.prototype,"creationMode",void 0),e([a()],O.prototype,"defaultCreateOptions",null),e([a()],O.prototype,"defaultUpdateOptions",null),e([a()],O.prototype,"iconClass",void 0),e([a()],O.prototype,"icon",void 0),e([a()],O.prototype,"label",null),e([a()],O.prototype,"labelOptions",null),e([a()],O.prototype,"layer",null),e([a({type:["horizontal","vertical"]})],O.prototype,"layout",void 0),e([a(),f("esri/widgets/Sketch/t9n/Sketch")],O.prototype,"messages",void 0),e([a(),f("esri/t9n/common")],O.prototype,"messagesCommon",void 0),e([a()],O.prototype,"snappingOptions",null),e([a()],O.prototype,"state",null),e([a()],O.prototype,"tooltipOptions",null),e([a({readOnly:!0})],O.prototype,"updateGraphics",null),e([a()],O.prototype,"view",null),e([a(),w(["create","update","undo","redo"])],O.prototype,"viewModel",null),e([a({type:d,nonNullable:!0})],O.prototype,"visibleElements",void 0),e([a()],O.prototype,"_effectiveAvailableCreateTools",null),O=e([r("esri.widgets.Sketch")],O);const S=O;export{S as default};
package/widgets/Slice.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../chunks/tslib.es6.js";import{ignoreAbortErrors as t}from"../core/promiseUtils.js";import{property as s}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as i}from"../core/accessorSupport/decorators/subclass.js";import l from"./Widget.js";import o from"./Slice/SliceViewModel.js";import{loadCalciteComponents as r}from"./support/componentsUtils.js";import{globalCss as n}from"./support/globalCss.js";import{Heading as c}from"./support/Heading.js";import{legacyIcon as a}from"./support/legacyIcon.js";import"./support/widgetUtils.js";import{messageBundle as d}from"./support/decorators/messageBundle.js";import{tsx as u}from"./support/jsxFactory.js";const p="esri-slice",y={base:p,widgetIcon:a.slice,actions:`${p}__actions`,cancelButton:`${p}__cancel-button`,container:`${p}__container`,error:`${p}__error`,excludeButton:`${p}__exclude-button`,hint:`${p}__hint`,hintText:`${p}__hint-text`,layerItem:`${p}__layer-item`,layerList:`${p}__layer-list`,layerListHeading:`${p}__layer-list-title`,newSliceButton:`${p}__clear-button`};let m=class extends l{constructor(e,s){super(e,s),this.headingLevel=3,this.iconClass=y.widgetIcon,this.icon=null,this.messages=null,this.viewModel=new o,this._onNewSliceClick=()=>{t(this.viewModel.start())}}loadDependencies(){return r({action:()=>import("@esri/calcite-components/dist/components/calcite-action.js"),button:()=>import("@esri/calcite-components/dist/components/calcite-button.js"),"list-item":()=>import("@esri/calcite-components/dist/components/calcite-list-item.js"),list:()=>import("@esri/calcite-components/dist/components/calcite-list.js")})}get active(){return this.viewModel.active}get analysis(){return this.viewModel.analysis}set analysis(e){this.viewModel.analysis=e}get excludedLayers(){return this.viewModel.excludedLayers}set excludedLayers(e){this.viewModel.excludedLayers=e}get excludeGroundSurface(){return this.viewModel.excludeGroundSurface}set excludeGroundSurface(e){this.viewModel.excludeGroundSurface=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}get visible(){return this.viewModel.visible}set visible(e){this.viewModel.visible=e}get hasVoxelLayers(){const e=this.viewModel?.view;return null!=e&&e.allLayerViews.some((e=>"voxel-3d"===e.type))}render(){return u("div",{class:this.classes(y.base,n.widget,n.panel),role:"presentation"},this.visible?u("div",{class:y.container},this.viewModel.supported?[this._renderHint(),this._renderLayerList(),this._renderActions()]:this._renderUnsupported()):null)}_renderUnsupported(){return u("div",{class:y.error,key:"unsupported"},u("p",null,this.messages.unsupported))}_renderHint(){const{hasVoxelLayers:e,messages:t,viewModel:s}=this,{active:i,layersMode:l,state:o}=s;let r=null;return i&&("exclude"===l?r=t.excludeHint:"ready"===o&&(r=e?t.voxelHint:t.hint)),r?u("div",{class:y.hint,key:"hint"},u("p",{class:y.hintText},r),u("p",{class:y.hintText},t.verticalHint)):null}_renderLayerList(){const{excludedLayers:e,excludeGroundSurface:t,headingLevel:s,messages:i,viewModel:l}=this,{layersMode:o,state:r}=l,n="slicing"===r||"sliced"===r,a=e?e.toArray().map((e=>this._renderLayerItem({uid:e.uid,title:e.title,onClick:()=>(this.excludedLayers.remove(e),!1)}))):[];return t&&a.push(this._renderLayerItem({uid:"ground",title:i.ground,onClick:()=>(this.excludeGroundSurface=!1,!1)})),"exclude"!==o&&n&&0!==a.length?u("div",{class:y.layerList,key:"settings"},u(c,{class:y.layerListHeading,level:s},i.excludedLayers),u("calcite-list",{selectionMode:"none"},a)):null}_renderActions(){const{messages:e,viewModel:t}=this,{active:s,state:i}=t,l="disabled"===i,o="slicing"===i||"sliced"===i,r="exclude"===t.layersMode,n=[];return s&&!o||r||n.push(u("calcite-button",{disabled:l,class:y.newSliceButton,onclick:this._onNewSliceClick,key:"new-slice"},e.newSlice)),o&&!r&&n.push(u("calcite-button",{appearance:"outline-fill",class:y.excludeButton,disabled:l,key:"exclude",onclick:()=>t.enterExcludeLayerMode()},e.excludeLayer)),s&&r&&n.push(u("calcite-button",{appearance:"outline-fill",class:y.cancelButton,disabled:l,key:"cancel-exclude",onclick:()=>t.exitExcludeLayerMode()},e.cancel)),0===n.length?null:u("div",{class:y.actions},n)}_renderLayerItem(e){return u("calcite-list-item",{class:y.layerItem,key:e.uid,label:e.title??""},u("calcite-action",{slot:"actions-end",icon:"x",onclick:e.onClick,text:this.messages.includeLayer,scale:"s"}))}};e([s()],m.prototype,"active",null),e([s({constructOnly:!0,nonNullable:!0})],m.prototype,"analysis",null),e([s()],m.prototype,"excludedLayers",null),e([s()],m.prototype,"excludeGroundSurface",null),e([s()],m.prototype,"headingLevel",void 0),e([s()],m.prototype,"iconClass",void 0),e([s()],m.prototype,"icon",void 0),e([s()],m.prototype,"label",null),e([s(),d("esri/widgets/Slice/t9n/Slice")],m.prototype,"messages",void 0),e([s()],m.prototype,"view",null),e([s({type:o})],m.prototype,"viewModel",void 0),e([s()],m.prototype,"visible",null),e([s()],m.prototype,"hasVoxelLayers",null),m=e([i("esri.widgets.Slice")],m);const h=m;export{h as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import{ignoreAbortErrors as t}from"../core/promiseUtils.js";import{property as s}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as i}from"../core/accessorSupport/decorators/subclass.js";import l from"./Widget.js";import o from"./Slice/SliceViewModel.js";import{loadCalciteComponents as r}from"./support/componentsUtils.js";import{globalCss as n}from"./support/globalCss.js";import{Heading as c}from"./support/Heading.js";import{legacyIcon as a}from"./support/legacyIcon.js";import"./support/widgetUtils.js";import{messageBundle as d}from"./support/decorators/messageBundle.js";import{tsx as u}from"./support/jsxFactory.js";const p="esri-slice",y={base:p,widgetIcon:a.slice,actions:`${p}__actions`,cancelButton:`${p}__cancel-button`,container:`${p}__container`,error:`${p}__error`,excludeButton:`${p}__exclude-button`,hint:`${p}__hint`,hintText:`${p}__hint-text`,layerItem:`${p}__layer-item`,layerList:`${p}__layer-list`,layerListHeading:`${p}__layer-list-title`,newSliceButton:`${p}__clear-button`};let m=class extends l{constructor(e,s){super(e,s),this.headingLevel=3,this.iconClass=y.widgetIcon,this.icon=null,this.messages=null,this.viewModel=new o,this._onNewSliceClick=()=>{t(this.viewModel.start())}}loadDependencies(){return r({action:()=>import("@esri/calcite-components/dist/components/calcite-action.js"),button:()=>import("@esri/calcite-components/dist/components/calcite-button.js"),"list-item":()=>import("@esri/calcite-components/dist/components/calcite-list-item.js"),list:()=>import("@esri/calcite-components/dist/components/calcite-list.js")})}get active(){return this.viewModel.active}get analysis(){return this.viewModel.analysis}set analysis(e){this.viewModel.analysis=e}get excludedLayers(){return this.viewModel.excludedLayers}set excludedLayers(e){this.viewModel.excludedLayers=e}get excludeGroundSurface(){return this.viewModel.excludeGroundSurface}set excludeGroundSurface(e){this.viewModel.excludeGroundSurface=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}get visible(){return this.viewModel.visible}set visible(e){this.viewModel.visible=e}get hasVoxelLayers(){const e=this.viewModel?.view;return null!=e&&e.allLayerViews.some((e=>"voxel-3d"===e.type))}render(){return u("div",{class:this.classes(y.base,n.widget,n.panel),role:"presentation"},this.visible?u("div",{class:y.container},this.viewModel.supported?[this._renderHint(),this._renderLayerList(),this._renderActions()]:this._renderUnsupported()):null)}_renderUnsupported(){return u("div",{class:y.error,key:"unsupported"},u("p",null,this.messages.unsupported))}_renderHint(){const{hasVoxelLayers:e,messages:t,viewModel:s}=this,{active:i,layersMode:l,state:o}=s;let r=null;return i&&("exclude"===l?r=t.excludeHint:"ready"===o&&(r=e?t.voxelHint:t.hint)),r?u("div",{class:y.hint,key:"hint"},u("p",{class:y.hintText},r),u("p",{class:y.hintText},t.verticalHint)):null}_renderLayerList(){const{excludedLayers:e,excludeGroundSurface:t,headingLevel:s,messages:i,viewModel:l}=this,{layersMode:o,state:r}=l,n="slicing"===r||"sliced"===r,a=e?e.toArray().map((e=>this._renderLayerItem({uid:e.uid,title:e.title,onClick:()=>(this.excludedLayers.remove(e),!1)}))):[];return t&&a.push(this._renderLayerItem({uid:"ground",title:i.ground,onClick:()=>(this.excludeGroundSurface=!1,!1)})),"exclude"!==o&&n&&0!==a.length?u("div",{class:y.layerList,key:"settings"},u(c,{class:y.layerListHeading,level:s},i.excludedLayers),u("calcite-list",{selectionMode:"none"},a)):null}_renderActions(){const{messages:e,viewModel:t}=this,{active:s,state:i}=t,l="disabled"===i,o="slicing"===i||"sliced"===i,r="exclude"===t.layersMode,n=[];return s&&!o||r||n.push(u("calcite-button",{class:y.newSliceButton,disabled:l,key:"new-slice",onclick:this._onNewSliceClick},e.newSlice)),o&&!r&&n.push(u("calcite-button",{appearance:"outline-fill",class:y.excludeButton,disabled:l,key:"exclude",onclick:()=>t.enterExcludeLayerMode()},e.excludeLayer)),s&&r&&n.push(u("calcite-button",{appearance:"outline-fill",class:y.cancelButton,disabled:l,key:"cancel-exclude",onclick:()=>t.exitExcludeLayerMode()},e.cancel)),0===n.length?null:u("div",{class:y.actions},n)}_renderLayerItem(e){return u("calcite-list-item",{class:y.layerItem,key:e.uid,label:e.title??""},u("calcite-action",{icon:"x",onclick:e.onClick,scale:"s",slot:"actions-end",text:this.messages.includeLayer}))}};e([s()],m.prototype,"active",null),e([s({constructOnly:!0,nonNullable:!0})],m.prototype,"analysis",null),e([s()],m.prototype,"excludedLayers",null),e([s()],m.prototype,"excludeGroundSurface",null),e([s()],m.prototype,"headingLevel",void 0),e([s()],m.prototype,"iconClass",void 0),e([s()],m.prototype,"icon",void 0),e([s()],m.prototype,"label",null),e([s(),d("esri/widgets/Slice/t9n/Slice")],m.prototype,"messages",void 0),e([s()],m.prototype,"view",null),e([s({type:o})],m.prototype,"viewModel",void 0),e([s()],m.prototype,"visible",null),e([s()],m.prototype,"hasVoxelLayers",null),m=e([i("esri.widgets.Slice")],m);const h=m;export{h as default};
package/widgets/Slider.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import t from"../core/Collection.js";import{eventKey as n}from"../core/events.js";import{assertIsSome as i}from"../core/maybe.js";import{property as s}from"../core/accessorSupport/decorators/property.js";import{cast as o}from"../core/accessorSupport/decorators/cast.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as r}from"../core/accessorSupport/decorators/subclass.js";import a from"./Widget.js";import{css as l}from"./Slider/css.js";import h from"./Slider/SliderViewModel.js";import{globalCss as u}from"./support/globalCss.js";import{onResize as c}from"./support/widgetUtils.js";import{messageBundle as d}from"./support/decorators/messageBundle.js";import{tsx as m}from"./support/jsxFactory.js";import{substitute as _}from"../intl/substitute.js";const p={showInput:"Enter",hideInput1:"Enter",hideInput2:"Escape",hideInput3:"Tab",moveAnchorUp:"ArrowUp",moveAnchorDown:"ArrowDown",moveAnchorLeft:"ArrowLeft",moveAnchorRight:"ArrowRight",moveAnchorToMax:"End",moveAnchorToMin:"Home"},v={labels:!1,rangeLabels:!1};let g=class extends a{constructor(e,n){super(e,n),this._activeLabelInputIndex=null,this._anchorElements=[],this._dragged=!1,this._dragStartInfo=null,this._focusedAnchorIndex=null,this._isMinInputActive=!1,this._isMaxInputActive=!1,this._lastMovedHandleIndex=null,this._positionPrecision=5,this._segmentDragStartInfo=null,this._trackHeight=null,this._trackWidth=null,this._zIndices=[],this._zIndexOffset=3,this.disabled=!1,this.draggableSegmentsEnabled=!0,this.effectiveSegmentElements=new t,this.extraNodes=[],this.inputCreatedFunction=null,this.labelElements=new t,this.labelInputsEnabled=!1,this.maxLabelElement=null,this.messages=null,this.minLabelElement=null,this.rangeLabelInputsEnabled=!1,this.segmentElements=new t,this.snapOnClickEnabled=!0,this.steps=null,this.syncedSegmentsEnabled=!1,this.thumbCreatedFunction=null,this.thumbElements=new t,this.tickElements=new t,this.trackElement=null,this.viewModel=new h,this.visibleElements={...v},this._onAnchorPointerDown=this._onAnchorPointerDown.bind(this),this._onAnchorPointerMove=this._onAnchorPointerMove.bind(this),this._onAnchorPointerUp=this._onAnchorPointerUp.bind(this),this._onLabelPointerDown=this._onLabelPointerDown.bind(this),this._onLabelPointerUp=this._onLabelPointerUp.bind(this),this._onSegmentPointerDown=this._onSegmentPointerDown.bind(this),this._onSegmentPointerMove=this._onSegmentPointerMove.bind(this),this._onSegmentPointerUp=this._onSegmentPointerUp.bind(this),this._onTrackPointerDown=this._onTrackPointerDown.bind(this),this._onTrackPointerMove=this._onTrackPointerMove.bind(this),this._onTrackPointerUp=this._onTrackPointerUp.bind(this)}destroy(){document.removeEventListener("pointerup",this._onLabelPointerUp),document.removeEventListener("pointermove",this._onLabelPointerMove),document.removeEventListener("pointerup",this._onAnchorPointerUp),document.removeEventListener("pointermove",this._onAnchorPointerMove),this.labelElements.removeAll(),this.labelElements.destroy(),this.segmentElements.removeAll(),this.segmentElements.destroy(),this.effectiveSegmentElements.removeAll(),this.effectiveSegmentElements.destroy(),this.thumbElements.removeAll(),this.thumbElements.destroy(),this.tickElements.removeAll(),this.tickElements.destroy()}get effectiveMax(){return this.viewModel.effectiveMax}set effectiveMax(e){this.viewModel.effectiveMax=e}get effectiveMin(){return this.viewModel.effectiveMin}set effectiveMin(e){this.viewModel.effectiveMin=e}get inputFormatFunction(){return this.viewModel.inputFormatFunction}set inputFormatFunction(e){this.viewModel.inputFormatFunction=e}get inputParseFunction(){return this.viewModel.inputParseFunction}set inputParseFunction(e){this.viewModel.inputParseFunction=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get labelFormatFunction(){return this.viewModel.labelFormatFunction}set labelFormatFunction(e){this.viewModel.labelFormatFunction=e}get labels(){return this.viewModel.labels}set layout(e){["vertical","vertical-reversed","horizontal","horizontal-reversed"].includes(e)||(e="horizontal"),this._set("layout",e)}get max(){return this.viewModel.max}set max(e){this.viewModel.max=e}get min(){return this.viewModel.min}set min(e){this.viewModel.min=e}get precision(){return this.viewModel.precision}set precision(e){this.viewModel.precision=e}get state(){const{_activeLabelInputIndex:e,_isMaxInputActive:t,_isMinInputActive:n,_dragStartInfo:i,_segmentDragStartInfo:s,disabled:o,viewModel:r}=this;return o?"disabled":!(null===e&&!t&&!n)?"editing":null!=i||null!=s?"dragging":r.state}get thumbsConstrained(){return this.viewModel.thumbsConstrained}set thumbsConstrained(e){this.viewModel.thumbsConstrained=e}set tickConfigs(e){this._set("tickConfigs",e),this.scheduleRender()}get values(){return this.viewModel.values}set values(e){this.viewModel.values=e}castVisibleElements(e){return{...v,...e}}render(){const{label:e}=this,t=this.classes(l.base,u.widget,this._isHorizontalLayout()?l.horizontalLayout:l.verticalLayout,this._isReversedLayout()?l.reversed:null,this._isDisabled()?u.disabled:null);return this._storeTrackDimensions(),m("div",{"aria-label":e,class:t,"touch-action":"none",bind:this,afterCreate:this._afterContainerCreate},this._renderContent())}toNextStep(e){this._toStep(e,1)}toPreviousStep(e){this._toStep(e,-1)}getCurrentPosition(){return this._positionFromValue(this.values?.[0]??0)}_renderContent(){const{max:e,min:t}=this;if(!(null==t||null==e||t>=e))return[this._renderMin(),this._renderSliderContainer(),this._renderMax()]}_renderSliderContainer(){return m("div",{key:"slider-container",bind:this,class:l.contentElement},this._renderTrackElement(),this._renderTicksContainer(),this._renderExtraContentElements())}_renderTrackElement(){return m("div",{afterCreate:this._afterTrackCreate,afterRemoved:this._afterTrackRemoved,bind:this,class:l.trackElement,"touch-action":"none"},this._renderEffectiveSegmentElements(),this._renderSegmentElements(),this._renderAnchorElements())}_renderEffectiveSegmentElements(){if(!this.trackElement||!this.values||!this.values.length)return;const e=null!=this.effectiveMax,t=null!=this.effectiveMin;if(!e&&!t)return;const{max:n,min:i,viewModel:s}=this,o=s.getBounds(),r=[];return t&&r.push(this._renderEffectiveSegmentElement(i,o.min,!0)),e&&r.push(this._renderEffectiveSegmentElement(o.max,n,!1)),r}_renderSegmentElements(){if(!this.trackElement||!this.values||!this.values.length)return;const e=this.values.length,t=[];for(let n=0;n<=e;n++)t.push(this._renderSegmentElement(n));return t}_renderSegmentElement(e){const{_trackHeight:t,_trackWidth:n,draggableSegmentsEnabled:i,id:s,state:o}=this,r=this.values,a=this._isHorizontalLayout(),h=a?n:t,u=this.viewModel.getBounds(),c=this._positionFromValue(u.max),d=this._positionFromValue(u.min),_=e===r?.length?null:e,p=0===e?null:e-1,v=null!=_,g=null!=p;let f,b;const E=[...r].sort(((e,t)=>e-t));this._isReversedLayout()?(f=g?this._positionFromValue(E[p]):d,b=v?this._positionFromValue(E[_]):c):(f=v?this._positionFromValue(E[_]):c,b=g?this._positionFromValue(E[p]):d);const x=this._applyPrecisionToPosition(100*b/h),y=(f-b)/h,k=a?`transform: translate(${x}%, 0px) scale(${y}, 1);`:`transform: translate(0px, ${x}%) scale(1, ${y});`,P=this.classes(l.segmentElement,l.segmentElementIndexPrefix+e,i&&v&&g&&"disabled"!==o?l.segmentElementInteractive:null);return m("div",{afterCreate:this._afterSegmentCreate,afterRemoved:this._afterSegmentRemoved,bind:this,class:P,"data-max-thumb-index":_,"data-min-thumb-index":p,"data-segment-index":e,key:`${s}-segment-${e}`,style:k,"touch-action":"none"})}_renderEffectiveSegmentElement(e,t,n){const{_trackHeight:i,_trackWidth:s,layout:o}=this,r=this._positionFromValue(e),a=this._positionFromValue(t),h=this._isHorizontalLayout(),u=h?s:i,c=this._applyPrecisionToPosition(100*r/u);let d=null;if("horizontal"===o){const e=n?u-a:a,t=r===u?0:c;d=`clip-path: inset(0% ${a===u?0:this._applyPrecisionToPosition(e/u*100)}% 0% ${t}%);`}else{const e=(a-r)/u;d=h?`transform: translate(${c}%, 0px) scale(${e}, 1);`:`transform: translate(0px, ${c}%) scale(1, ${e});`}const _=n?l.effectiveMinSegmentElement:l.effectiveMaxSegmentElement,p=this.classes(l.segmentElement,l.effectiveSegmentElement,_);return m("div",{afterCreate:this._afterEffectiveSegmentCreate,afterRemoved:this._afterEffectiveSegmentRemoved,bind:this,class:p,style:d,"touch-action":"none"})}_renderAnchorElements(){const{trackElement:e,values:t}=this;if(t&&t.length)return this._zIndices=t.map(((e,n)=>{const i=this._positionFromValue(e),s=this._positionToPercent(i),o=(this._isHorizontalLayout()?s>50:s<50)?-1:1;return this._zIndexOffset+(t.length+o*n)})),e&&t&&t.length?t.map(((e,t)=>this._renderAnchorElement(e,t))):null}_renderAnchorElement(e,t){const n=this._positionFromValue(e),i=this._valueFromPosition(n);if(null==i||isNaN(i))return;const{_dragStartInfo:s,_lastMovedHandleIndex:o,id:r,layout:a,visibleElements:{labels:h}}=this,u=this.values,c=s&&s.index===t,d=o===t,p=this.classes(l.anchorElement,l.anchorElementIndexPrefix+t,c?l.movingAnchorElement:null,d?l.lastMovedAnchorElement:null),v=this.labels.values[t],g=this._getStyleForAnchor(e,t,c||d),{min:f,max:b}=this.viewModel.getBoundsForValueAtIndex(t),{disabled:E,messages:x}=this,y=2===u.length?_(0===t?x.rangeMinimum:x.rangeMaximum,{value:e}):v,k=1===u.length?null:0===t?`${r}-handle-${t+1}`:t===u.length-1?`${r}-handle-${t-1}`:`${r}-handle-${t-1} ${r}-handle-${t+1}`;return m("div",{afterCreate:this._afterAnchorCreate,afterUpdate:this._afterAnchorUpdate,afterRemoved:this._afterAnchorRemoved,"aria-controls":k,"aria-label":x.sliderValue,"aria-labelledby":h?`${r}-label-${t}`:null,"aria-orientation":a,"aria-valuemax":b?.toString(),"aria-valuemin":f?.toString(),"aria-valuenow":e.toString(),"aria-valuetext":y,bind:this,class:p,"data-thumb-index":t,"data-value":e,id:`${r}-handle-${t}`,key:`${r}-handle-${t}`,onkeydown:this._onAnchorKeyDown,"touch-action":"none",role:"slider",style:g,tabIndex:E?-1:0},m("span",{afterCreate:this._afterThumbCreate,afterRemoved:this._afterThumbRemoved,bind:this,class:l.thumbElement,"data-thumb-index":t,"touch-action":"none"}),this.renderThumbLabel(t))}renderThumbLabel(e){const{id:t,labels:n,labelInputsEnabled:i,state:s}=this,o=this.visibleElements.labels,r=n.values[e],a=this.classes(l.labelElement,o?null:u.hidden,i&&"disabled"!==s?l.labelElementInteractive:null);return m("span",{afterCreate:this._afterLabelCreate,afterRemoved:this._afterLabelRemoved,"aria-hidden":(!o).toString(),bind:this,class:a,"data-thumb-index":e,key:`${t}-label-${e}`,id:`${t}-label-${e}`,role:i?"button":null,"touch-action":"none"},this._activeLabelInputIndex===e?this._renderValueInput(e):r)}_renderValueInput(e){const{disabled:t,values:n}=this;if(null==n)return;const i=n[e];return m("input",{key:`value-input-${e}`,afterCreate:this._afterInputCreate,"aria-label":this.messages.sliderValue,bind:this,class:l.labelInput,"data-input-type":"thumb","data-input-index":e,required:!0,tabIndex:t?-1:0,type:"text",value:this._formatInputValue(i,"value",e),onblur:this._onLabelInputBlur,onkeydown:this._onInputKeyDown})}_renderMax(){const{_isMaxInputActive:e,labels:t,rangeLabelInputsEnabled:n,state:i}=this,s=this.visibleElements.rangeLabels,o=this.classes(l.maxElement,{[u.hidden]:!s,[l.maxElementInteractive]:n&&"disabled"!==i,[l.rangeElementActive]:e});return m("div",{"aria-hidden":(!s).toString(),afterCreate:this._afterMaxLabelCreate,bind:this,class:o,onclick:this._onMaxLabelClick,onkeydown:this._onMaxLabelKeyDown,role:n?"button":null,tabIndex:!this.disabled&&n?0:-1},e?this._renderMaxInput():t.max)}_renderMin(){const{_isMinInputActive:e,labels:t,rangeLabelInputsEnabled:n,state:i}=this,s=this.visibleElements.rangeLabels,o=this.classes(l.minElement,{[u.hidden]:!s,[l.minElementInteractive]:n&&"disabled"!==i,[l.rangeElementActive]:e});return m("div",{"aria-hidden":(!s).toString(),afterCreate:this._afterMinLabelCreate,bind:this,class:o,onclick:this._onMinLabelClick,onkeydown:this._onMinLabelKeyDown,role:n?"button":null,tabIndex:!this.disabled&&n?0:-1},e?this._renderMinInput():t.min)}_renderMaxInput(){return m("input",{afterCreate:this._afterInputCreate,"aria-label":this.messages.maximumValue,bind:this,class:l.rangeInput,"data-input-type":"max",required:!0,tabIndex:this.disabled?-1:0,type:"text",value:this._formatInputValue(this.max,"max"),onblur:this._onMaxInputBlur,onkeydown:this._onInputKeyDown})}_renderMinInput(){return m("input",{afterCreate:this._afterInputCreate,"aria-label":this.messages.minimumValue,bind:this,class:l.rangeInput,"data-input-type":"min",required:!0,tabIndex:this.disabled?-1:0,type:"text",value:this._formatInputValue(this.min,"min"),onblur:this._onMinInputBlur,onkeydown:this._onInputKeyDown})}_renderExtraContentElements(){return m("div",{bind:this,class:l.extraContentElement},this.extraNodes)}_renderTicksContainer(){if(this.tickConfigs&&this.trackElement&&(0!==this._trackHeight||0!==this._trackWidth))return this.tickConfigs.map(((e,t)=>m("div",{key:"ticks-container",class:this.classes(l.ticksContainerElement)},this._renderTicks(e,t))))}_renderTicks(e,n){const{mode:i,values:s}=e;if(this.tickElements.at(n)||this.tickElements.add(new t,n),"position"===i){const t=Array.isArray(s)?s:[s];return this._calculateTickPositions(t).map(((t,i)=>this._renderTickGroup(e,i,n,t)))}if("percent"===i&&Array.isArray(s)){const t=this.min??0,i=(this.max??0)-t,o=s.map((e=>this._applyPrecisionToPosition(e/100*i+t)));return this._calculateTickPositions(o).map(((t,i)=>this._renderTickGroup(e,i,n,t)))}const o=Array.isArray(s)&&s.length?s[0]:isNaN(s)?null:s,r=this._getTickCounts(o,e);return this._calculateEquidistantTickPositions(r).map(((t,i)=>this._renderTickGroup(e,i,n,t)))}_renderTickGroup(e,t,n,i){const s="position"===e.mode?Array.isArray(e.values)?e.values[t]:e.values:this._valueFromPosition(i);if(null!=s&&!isNaN(s))return m("div",{afterCreate:this._afterTickGroupCreate,afterRemoved:this._afterTickGroupRemoved,bind:this,"data-config":e,"data-position":i,"data-tick-config-index":n,"data-tick-group-index":t,"data-value":s,onclick:this._onTickGroupClick,key:`tick-group-${t}`},this._renderTickLine(e,t,n,s),e.labelsVisible?this._renderTickLabel(e,t,n,s):null)}_renderTickLine(e,t,n,i){return m("div",{afterCreate:this._afterTickLineCreate,"aria-valuenow":i.toString(),bind:this,class:l.tickElement,"data-config":e,"data-tick-config-index":n,"data-tick-group-index":t,"data-value":i,key:`tick-label-${t}`,style:this._getPositionStyleForElement(i)})}_renderTickLabel(e,t,n,i){const s=e.labelFormatFunction?e.labelFormatFunction(i,"tick",t):this.viewModel.getLabelForValue(i,"tick",t);return m("div",{afterCreate:this._afterTickLabelCreate,"aria-label":s,"aria-valuenow":i.toString(),"aria-valuetext":s,bind:this,class:l.tickLabelElement,"data-config":e,"data-tick-config-index":n,"data-tick-group-index":t,"data-value":i,key:`tick-label-${t}`,style:`transform: translate(-50%); ${this._getPositionStyleForElement(i)}`},s)}_afterContainerCreate(e){this.addHandles(c(e,(()=>this.scheduleRender())))}_afterTrackCreate(e){this._set("trackElement",e),e.addEventListener("pointerdown",this._onTrackPointerDown),this.scheduleRender()}_afterTrackRemoved(e){e.removeEventListener("pointerdown",this._onTrackPointerDown),document.removeEventListener("pointermove",this._onTrackPointerMove),document.removeEventListener("pointerup",this._onTrackPointerUp)}_afterSegmentCreate(e){this.segmentElements.add(e),e.addEventListener("pointerdown",this._onSegmentPointerDown)}_afterSegmentRemoved(e){this.segmentElements.remove(e),e.removeEventListener("pointerdown",this._onSegmentPointerDown)}_afterEffectiveSegmentCreate(e){this.effectiveSegmentElements.add(e)}_afterEffectiveSegmentRemoved(e){this.effectiveSegmentElements.remove(e)}_afterAnchorCreate(e){if(this._anchorElements.push(e),e.addEventListener("pointerdown",this._onAnchorPointerDown),this.thumbCreatedFunction){const t=f(e),n=k(e),i=this.thumbElements.at(t),s=this.labelElements.at(t)||null;this.thumbCreatedFunction(t,n,i,s)}}_afterAnchorUpdate(e){if(null!=this._focusedAnchorIndex){f(e)===this._focusedAnchorIndex&&(e.focus(),this._focusedAnchorIndex=null)}}_afterAnchorRemoved(e){const t=this._anchorElements.indexOf(e,0);t>-1&&this._anchorElements.splice(t,1),e.removeEventListener("pointerdown",this._onAnchorPointerDown)}_afterThumbCreate(e){this.thumbElements.add(e)}_afterThumbRemoved(e){this.thumbElements.remove(e)}_afterLabelCreate(e){this.labelElements.add(e),e.addEventListener("pointerdown",this._onLabelPointerDown),e.addEventListener("pointerup",this._onLabelPointerUp)}_afterLabelRemoved(e){this.labelElements.remove(e),e.removeEventListener("pointerdown",this._onLabelPointerDown),e.removeEventListener("pointerup",this._onLabelPointerUp)}_afterInputCreate(e){if(e.focus(),e.select(),this.inputCreatedFunction){const t=e.getAttribute("data-input-type"),n="thumb"===t?b(e):null;this.inputCreatedFunction(e,t,n)}}_afterTickLineCreate(e){const t=P(e),n=I(e),i=this.tickElements.at(t),s=i.at(n);s?s.tickElement=e:i.add({groupElement:null,tickElement:e,labelElement:null},n)}_afterTickLabelCreate(e){const t=P(e),n=I(e),i=this.tickElements.at(t),s=i.at(n);s?s.labelElement=e:i.add({groupElement:null,labelElement:e,tickElement:null},n)}_afterTickGroupRemoved(e){const t=P(e),n=this.tickElements.items[t],i=n?.find((t=>t.groupElement===e));i&&n.remove(i)}_afterTickGroupCreate(e){const t=A(e);if(t?.tickCreatedFunction){const n=P(e),i=I(e),s=k(e),o=this.tickElements?.at(n)?.at(i);if(o){o.groupElement=e;const n=o.tickElement||null,i=o.labelElement||null;t.tickCreatedFunction(s,n,i)}}}_afterMaxLabelCreate(e){this._set("maxLabelElement",e)}_afterMinLabelCreate(e){this._set("minLabelElement",e)}_onAnchorKeyDown(e){if(this._isDisabled()||"editing"===this.state)return;const{target:t}=e,i=n(e),s=this.values,o=f(t),r=this._anchorElements[o],a=s[o],l=[p.moveAnchorUp,p.moveAnchorDown,p.moveAnchorLeft,p.moveAnchorRight];if(i===p.showInput&&this.labelInputsEnabled)this._activeLabelInputIndex=o,this.notifyChange("state");else if(l.includes(i)){e.preventDefault();const{steps:t}=this,n=i===p.moveAnchorUp||i===p.moveAnchorRight?1:-1;if(null!=t)this._toStep(o,this._isReversedLayout()?-1*n:n);else{const{precision:e}=this,t=this._getPositionOfElement(r),i=this._valueFromPosition(t),s=this._isHorizontalLayout()?n:-1*n;let a;a=0===e?this._positionFromValue(i+s):1===e?this._positionFromValue(i+.1*s):t+s,this._toPosition(o,a)}const s=this.values[o];a!==s&&this._emitThumbChangeEvent({index:o,oldValue:a,value:s})}else if(i===p.moveAnchorToMax||i===p.moveAnchorToMin){e.preventDefault();const{min:t,max:n}=this._getAnchorBoundsInPixels(o),s=this._isPositionInverted()?i===p.moveAnchorToMax?t:n:i===p.moveAnchorToMin?t:n;this._toPosition(o,s);const r=this.values[o];a!==r&&this._emitThumbChangeEvent({index:o,oldValue:a,value:r})}}_onAnchorPointerDown(e){if(this._isDisabled())return;const{target:t,clientX:n,clientY:i}=e,s=f(t);null!=s&&(e.preventDefault(),this._anchorElements[s]&&this._anchorElements[s].focus(),this._storeTrackDimensions(),this._dragStartInfo={clientX:n,clientY:i,index:s,position:this._getPositionOfElement(this._anchorElements[s])},this.notifyChange("state"),document.addEventListener("pointerup",this._onAnchorPointerUp),document.addEventListener("pointermove",this._onAnchorPointerMove))}_onAnchorPointerMove(e){if("editing"===this.state||!this._dragStartInfo)return;e.preventDefault();const{values:t,_anchorElements:n,_dragged:i,_dragStartInfo:s,_dragStartInfo:{index:o,position:r}}=this,{clientX:a,clientY:l}=e,h=i?"drag":"start",u=n[o],c=this._getPositionOfElement(u),d=this._applyPrecisionToPosition(this._isHorizontalLayout()?r+a-s.clientX:r+l-s.clientY);if(c===d)return;const m=t[o];this._dragged=!0,this._toPosition(o,d);const _=this.values[o];i?m!==_&&this._emitThumbDragEvent({index:o,state:h,value:_}):this._emitThumbDragEvent({index:o,state:h,value:m})}_onAnchorPointerUp(e){if(document.removeEventListener("pointerup",this._onAnchorPointerUp),document.removeEventListener("pointermove",this._onAnchorPointerMove),!this._dragStartInfo)return;e.preventDefault();const{index:t}=this._dragStartInfo,n=this._dragged,i=this.values[t];this._dragged=!1,this._dragStartInfo=null,this._lastMovedHandleIndex=t,this.notifyChange("state"),n?this._emitThumbDragEvent({index:t,state:"stop",value:i}):(this.scheduleRender(),"editing"!==this.state&&this._emitThumbClickEvent({index:t,value:i}))}_onTrackPointerDown(e){const{_dragStartInfo:t,snapOnClickEnabled:n,state:i,values:s}=this;if(this._isDisabled()||"editing"===i||t)return;if(document.addEventListener("pointermove",this._onTrackPointerMove),document.addEventListener("pointerup",this._onTrackPointerUp),!n||!s?.length)return;const{steps:o}=this,{clientX:r,clientY:a}=e,l=this._getCursorPositionFromEvent(e),h=this._valueFromPosition(l),u=this._getIndexOfNearestValue(h),c=s[u],d=s.some(((e,t)=>e===c&&t!==u))&&h>c?s.lastIndexOf(c):u;if(null==d)return;const m=s[d],_=null!=o?this._calculateNearestStepPosition(l):l;this._toPosition(d,_),this._dragged=!0,this._dragStartInfo={clientX:r,clientY:a,index:d,position:_},this._focusedAnchorIndex=d,this.notifyChange("state"),this._emitThumbDragEvent({index:d,state:"start",value:m});const p=this.values[d];m!==p&&this._emitThumbDragEvent({index:d,state:"drag",value:p}),document.addEventListener("pointerup",this._onAnchorPointerUp),document.addEventListener("pointermove",this._onAnchorPointerMove)}_onTrackPointerMove(e){e.preventDefault(),this._dragged=!0}_onTrackPointerUp(e){if(e.preventDefault(),document.removeEventListener("pointermove",this._onTrackPointerMove),document.removeEventListener("pointerup",this._onTrackPointerUp),this.snapOnClickEnabled||(this._dragged=!1),!this._dragged){const t=this._getCursorPositionFromEvent(e),n=this._valueFromPosition(t);this._emitTrackClickEvent({value:n})}}_onSegmentPointerDown(e){e.preventDefault();const t=e.target,n=E(t),i=x(t),s=y(t);if(this._isDisabled()||null==i||null==s)return;e.stopPropagation(),this._storeTrackDimensions(),document.addEventListener("pointerup",this._onSegmentPointerUp);const o=this._getAnchorDetails(i),r=this._getAnchorDetails(s);this.syncedSegmentsEnabled?(this.segmentElements.forEach((e=>e.classList.add(l.segmentElementActive))),this._anchorElements.forEach((e=>e.classList.add(l.anchorElementActive)))):(this.segmentElements.at(n).classList.add(l.segmentElementActive),this._anchorElements[o.index]?.classList.add(l.anchorElementActive),this._anchorElements[r.index]?.classList.add(l.anchorElementActive)),this._segmentDragStartInfo={cursorPosition:this._getCursorPositionFromEvent(e),index:n,details:this._normalizeSegmentDetails({min:o,max:r})},this.draggableSegmentsEnabled&&(document.addEventListener("pointermove",this._onSegmentPointerMove),this.notifyChange("state"),this._emitSegmentDragEvent({index:n,state:"start",thumbIndices:[i,s]}))}_onSegmentPointerMove(e){if(!this._segmentDragStartInfo)return;e.preventDefault();const{_trackHeight:t,_trackWidth:n,_segmentDragStartInfo:{index:i,cursorPosition:s,details:{min:o,max:r}}}=this,{index:a,position:l,value:h}=o,{index:u,position:c,value:d}=r;this._dragged=!0;const m=this._getCursorPositionFromEvent(e);if(m===s)return;const _=this._positionToPercent(s),p=this._positionToPercent(m)-_,v=this._positionToPercent(l)+p,g=this._positionToPercent(c)+p,{min:f}=this._getAnchorBoundsAsPercents(a),{max:b}=this._getAnchorBoundsAsPercents(u);let E=!1,x=!1;if(v<f?E=!0:g>b&&(x=!0),E){const{min:e,max:t}=this.viewModel.getBoundsForValueAtIndex(a),n=this._isPositionInverted()?t:e,i=n,s=d+(n-h),o=s-this.values[u];return void(this.syncedSegmentsEnabled?this._updateAnchorValuesByDifference(o):this._updateAnchorValues([a,u],[i,s]))}if(x){const{min:e,max:t}=this.viewModel.getBoundsForValueAtIndex(u),n=this._isPositionInverted()?e:t,i=n,s=h+(n-d),o=s-this.values[a];return void(this.syncedSegmentsEnabled?this._updateAnchorValuesByDifference(o):this._updateAnchorValues([a,u],[s,i]))}const y=this._isHorizontalLayout()?n:t,k=g/100*y,P=v/100*y,I=this.values,A=[I[a],I[u]],L=this._getValueForAnchorAtPosition(a,P),M=this._getValueForAnchorAtPosition(u,k);this.syncedSegmentsEnabled?this._updateAnchorValuesByDifference(L-A[0]):this._updateAnchorValues([a,u],[L,M]);[this.values[a],this.values[u]].every(((e,t)=>e===A[t]))||this._emitSegmentDragEvent({index:i,state:"drag",thumbIndices:[a,u]})}_onSegmentPointerUp(e){if(e.preventDefault(),document.removeEventListener("pointerup",this._onSegmentPointerUp),document.removeEventListener("pointermove",this._onSegmentPointerMove),!this._segmentDragStartInfo)return;const{_dragged:t}=this,n=this.min,i=this.max,s=this.values,{index:o,details:{min:{index:r},max:{index:a}}}=this._segmentDragStartInfo;if(this.segmentElements.forEach((e=>e.classList.remove(l.segmentElementActive))),this._anchorElements.forEach((e=>e.classList.remove(l.anchorElementActive))),this.draggableSegmentsEnabled){const e=i-n,t=s[r],l=s[a];this._lastMovedHandleIndex=t===l?t>e/2?r:a:null,this._dragged=!1,this._segmentDragStartInfo=null,this.notifyChange("state"),this._emitSegmentDragEvent({index:o,state:"stop",thumbIndices:[r,a]})}if(!t){const t=this._getCursorPositionFromEvent(e),n=this._valueFromPosition(t);this._emitSegmentClickEvent({index:o,value:n,thumbIndices:[r,a]})}}_onTickGroupClick(e){const t=e.target;if(A(t)){const e=P(t),n=I(t),i=k(t);this._emitTickClickEvent({configIndex:e,groupIndex:n,value:i})}}_storeTrackDimensions(){if(this.trackElement){const e=this._getDimensions(this.trackElement);this._trackHeight=e.height,this._trackWidth=e.width}}_onLabelPointerDown(){this._isDisabled()||(this._dragged=!1,document.addEventListener("pointerup",this._onAnchorPointerUp),document.addEventListener("pointermove",this._onAnchorPointerMove))}_onLabelPointerMove(){this._isDisabled()||(this._dragged=!0)}_onLabelPointerUp(e){if(this._isDisabled())return;const t=f(e.target);this.labelInputsEnabled&&!this._dragged&&null!=t&&(this._activeLabelInputIndex=t),this._dragged=!1,this.notifyChange("state"),document.removeEventListener("pointerup",this._onLabelPointerUp),document.removeEventListener("pointermove",this._onLabelPointerMove)}_onLabelInputBlur(e){const{_activeLabelInputIndex:t,values:n,viewModel:i}=this,s=e.target.value;if(this._activeLabelInputIndex=null,this.notifyChange("state"),!s||null==t||null==n)return;const o=this._parseInputValue(s,"value",t),r=n[t],{min:a,max:l}=this.viewModel.getBoundsForValueAtIndex(t);if(o<a||o>l)return;i.setValue(t,o);const h=this.values[t];r!==h&&this._emitThumbChangeEvent({index:t,oldValue:r,value:h})}_onInputKeyDown(e){if(this._isDisabled())return;const{target:t}=e,i=n(e),{hideInput1:s,hideInput2:o,hideInput3:r}=p,{_activeLabelInputIndex:a,_anchorElements:l}=this,h=t;if(i===s||i===o||i===r){e.stopPropagation();const t=a;h.blur(),null!=t?l[t].focus():h.parentElement?.focus()}}_onMaxLabelClick(){this._isDisabled()||(this._emitRangeLabelClickEvent({type:"max-click",value:this.max}),this.rangeLabelInputsEnabled&&(this._isMaxInputActive=!0,this.notifyChange("state")))}_onMaxLabelKeyDown(e){this._isDisabled()||n(e)!==p.showInput||(this._isMaxInputActive=!0,this.notifyChange("state"))}_onMaxInputBlur(e){const t=e.target.value;if(this._isMaxInputActive=!1,this.notifyChange("state"),!t)return;const n=this.max,i=this._parseInputValue(t,"max");i<=this.min||(this.viewModel.set("max",i),this.max!==n&&this._emitMaxChangeEvent({oldValue:n,value:this.max}))}_onMinLabelClick(){this._isDisabled()||(this._emitRangeLabelClickEvent({type:"min-click",value:this.min}),this.rangeLabelInputsEnabled&&(this._isMinInputActive=!0,this.notifyChange("state")))}_onMinLabelKeyDown(e){this._isDisabled()||n(e)!==p.showInput||(this._isMinInputActive=!0,this.notifyChange("state"))}_onMinInputBlur(e){const t=e.target.value;if(this._isMinInputActive=!1,this.notifyChange("state"),!t)return;const n=this.min,i=this._parseInputValue(t,"min");i>=this.max||(this.viewModel.set("min",i),this.min!==n&&this._emitMinChangeEvent({oldValue:n,value:this.min}))}_isDisabled(){return this.disabled||"disabled"===this.state}_positionFromValue(e){const{_trackHeight:t,_trackWidth:n}=this,i=this.min??0,s=this.max??0,o=s-i;if(0===o||null==e)return 0;const r=this._isHorizontalLayout();let a=r?parseFloat((n*(e-i)/o).toFixed(2)):parseFloat((t*(s-e)/o).toFixed(2));return this._isReversedLayout()&&(a=r?n-a:t-a),a}_valueFromPosition(e){const{_trackHeight:t,_trackWidth:n,precision:i}=this,s=this.min??0,o=this.max??0,r=o-s;let a=this._isHorizontalLayout()?e*r/n+s:r*(1e3-e/t*1e3)/1e3+s;return this._isReversedLayout()&&(a=o+s-a),parseFloat(a.toFixed(i))}_positionToPercent(e){const{_trackHeight:t,_trackWidth:n}=this,i=100*e/(this._isHorizontalLayout()?n:t);return this._applyPrecisionToPosition(i)}_applyPrecisionToPosition(e){return parseFloat(e.toFixed(this._positionPrecision))}_isPositionInverted(){const{layout:e}=this;return"horizontal-reversed"===e||"vertical"===e}_isHorizontalLayout(){return this.layout.includes("horizontal")}_isReversedLayout(){return this.layout.includes("reversed")}_normalizeSegmentDetails(e){if(this._isPositionInverted()){const{min:t,max:n}=e;return{min:n,max:t}}return e}_parseInputValue(e,t,n){return this.inputParseFunction?this.inputParseFunction(e,t,n):this.viewModel.defaultInputParseFunction(e)}_formatInputValue(e,t,n){return this.inputFormatFunction?this.inputFormatFunction(e,t,n):this.viewModel.defaultInputFormatFunction(e)}_getAnchorDetails(e){const t=this.values,n=[...t].sort(((e,t)=>e-t))[e],i=t.indexOf(n);return{index:i,position:this._getPositionOfElement(this._anchorElements[i]),value:n}}_updateAnchorStyle(e,t){const n=this._anchorElements[e];n&&(this._isHorizontalLayout()?n.style.left=`${t}`:n.style.top=`${t}`)}_getStyleForAnchor(e,t,n){const i=this._getPositionStyleForElement(e);if(1===this.values?.length)return`${i}`;const s=this._zIndices[t];return`${i}; z-index: ${n?this._zIndexOffset+s:s}`}_getPositionStyleForElement(e){const t=this._positionFromValue(e),n=this._positionToPercent(t);return`${this._isHorizontalLayout()?"left":"top"}: ${n}%`}_getPositionOfElement(e){const t=this._getDimensions(e.offsetParent),n=this._getDimensions(e);return this._isHorizontalLayout()?this._applyPrecisionToPosition(n.left-t.left):this._applyPrecisionToPosition(n.top-t.top)}_updateAnchorValues(e,t){e.forEach(((e,n)=>this._toValue(e,t[n])))}_updateAnchorValuesByDifference(e){const{min:t,max:n,values:i}=this;i?.forEach(((i,s)=>this._toValue(s,Math.max(Math.min(i+e,n),t))))}_toValue(e,t){if(null!=this.steps){t=this._getStepValues()[this._getIndexOfNearestStepValue(t)]}this._updateAnchorStyle(e,this._getPositionStyleForElement(t)),this.viewModel.setValue(e,t)}_toPosition(e,t){const n=null!=this.steps?this._getStepValueForAnchorAtPosition(e,t):this._getValueForAnchorAtPosition(e,t);this._updateAnchorStyle(e,this._getPositionStyleForElement(n)),this.viewModel.setValue(e,n)}_getValueForAnchorAtPosition(e,t){const{min:n,max:i}=this._getAnchorBoundsInPixels(e),{min:s,max:o}=this.viewModel.getBoundsForValueAtIndex(e);let r,a,l=null;return this._isPositionInverted()?(r=s,a=o):(r=o,a=s),l=t>i?r:t<n?a:this._valueFromPosition(t),l>o?l=o:l<s&&(l=s),l}_getStepValueForAnchorAtPosition(e,t){const n=this._getStepValues(),i=this._calculateNearestStepPosition(t),s=this._getValueForAnchorAtPosition(e,i);return n[this._getIndexOfNearestStepValue(s)]}_getAnchorBoundsAsPercents(e){const{min:t,max:n}=this._getAnchorBoundsInPixels(e);return{min:this._positionToPercent(t),max:this._positionToPercent(n)}}_getAnchorBoundsInPixels(e){const{_anchorElements:t,_trackHeight:n,_trackWidth:i,effectiveMax:s,effectiveMin:o,thumbsConstrained:r}=this,a=t[e-1],l=t[e+1],h=this._isHorizontalLayout()?i:n;let u,c;return this._isPositionInverted()?(u=null!=o?this._positionFromValue(o):h,c=null!=s?this._positionFromValue(s):0):(u=null!=s?this._positionFromValue(s):h,c=null!=o?this._positionFromValue(o):0),r?this._isPositionInverted()?{max:a?this._getPositionOfElement(a):u,min:l?this._getPositionOfElement(l):c}:{max:l?this._getPositionOfElement(l):u,min:a?this._getPositionOfElement(a):c}:{max:u,min:c}}_getIndexOfNearestValue(e){const t=this.values;return t.indexOf(t.reduce(((t,n)=>Math.abs(n-e)<Math.abs(t-e)?n:t)))}_getCursorPositionFromEvent(e){const t=this._getDimensions(this.trackElement);return this._isHorizontalLayout()?e.clientX-t.left:e.clientY-t.top}_getStepValues(){const{steps:e}=this;if(Array.isArray(e))return e;const{max:t,min:n}=this;if(null==n||null==t||null==e)return[];const i=Math.ceil((t-n)/e),s=[];for(let o=0;o<=i;o++){const i=n+e*o;s.push(i>t?t:i)}return s}_toStep(e,t){const n=this.values[e],i=this._getStepValues(),s=i.indexOf(n);let o=null;if(s>-1){let n=i[s+t];isNaN(n)&&(n=i[s]);const r=this._positionFromValue(n);o=this._getStepValueForAnchorAtPosition(e,r)}else{o=i[this._getIndexOfNearestStepValue(n)+t]}this.viewModel.setValue(e,o)}_getIndexOfNearestStepValue(e){const{steps:t}=this;if(null==t)return null;const n=this._getStepValues(),i=n.reduce(((t,n)=>Math.abs(n-e)<Math.abs(t-e)?n:t));return n.indexOf(i)}_calculateNearestStepPosition(e){const t=this._valueFromPosition(e),n=this._getIndexOfNearestStepValue(t),i=this._getStepValues();return this._positionFromValue(i[n])}_getTickCounts(e,t){const{mode:n}=t;return"count"===n||"position"===n?e||0:"percent"===n&&100/e||0}_calculateTickPositions(e){return e.map((e=>this._positionFromValue(e)))}_calculateEquidistantTickPositions(e){const{_trackWidth:t,_trackHeight:n}=this,i=this._isHorizontalLayout()?t:n,s=i/(e-1),o=[];if(1===e)return[i/2];for(let r=0;r<e;r++){const e=r*s;e<=i&&o.push(e)}return o}_getDimensions(e){try{return i(e),e.getBoundingClientRect()}catch(t){if("object"==typeof t&&null!==t)return new DOMRect(0,0,0,0);throw t}}_emitTrackClickEvent(e){this.emit("track-click",{...e,type:"track-click"})}_emitTickClickEvent(e){this.emit("tick-click",{...e,type:"tick-click"})}_emitMaxChangeEvent(e){this.emit("max-change",{...e,type:"max-change"})}_emitMinChangeEvent(e){this.emit("min-change",{...e,type:"min-change"})}_emitThumbChangeEvent(e){this.emit("thumb-change",{...e,type:"thumb-change"})}_emitThumbClickEvent(e){this.emit("thumb-click",{...e,type:"thumb-click"})}_emitThumbDragEvent(e){this.emit("thumb-drag",{...e,type:"thumb-drag"})}_emitSegmentClickEvent(e){this.emit("segment-click",{...e,type:"segment-click"})}_emitSegmentDragEvent(e){this.emit("segment-drag",{...e,type:"segment-drag"})}_emitRangeLabelClickEvent(e){this.emit(e.type,e)}};function f(e){return e?.["data-thumb-index"]}function b(e){return e?.["data-input-index"]}function E(e){return e?.["data-segment-index"]}function x(e){return e?.["data-min-thumb-index"]}function y(e){return e?.["data-max-thumb-index"]}function k(e){return e?.["data-value"]}function P(e){return e?.["data-tick-config-index"]}function I(e){return e?.["data-tick-group-index"]}function A(e){return e?.["data-config"]}e([s()],g.prototype,"disabled",void 0),e([s()],g.prototype,"draggableSegmentsEnabled",void 0),e([s()],g.prototype,"effectiveMax",null),e([s()],g.prototype,"effectiveMin",null),e([s({readOnly:!0})],g.prototype,"effectiveSegmentElements",void 0),e([s()],g.prototype,"extraNodes",void 0),e([s()],g.prototype,"inputCreatedFunction",void 0),e([s()],g.prototype,"inputFormatFunction",null),e([s()],g.prototype,"inputParseFunction",null),e([s()],g.prototype,"label",null),e([s({readOnly:!0})],g.prototype,"labelElements",void 0),e([s()],g.prototype,"labelInputsEnabled",void 0),e([s()],g.prototype,"labelFormatFunction",null),e([s({readOnly:!0})],g.prototype,"labels",null),e([s({value:"horizontal"})],g.prototype,"layout",null),e([s()],g.prototype,"max",null),e([s({readOnly:!0})],g.prototype,"maxLabelElement",void 0),e([s(),d("esri/widgets/Slider/t9n/Slider")],g.prototype,"messages",void 0),e([s()],g.prototype,"min",null),e([s({readOnly:!0})],g.prototype,"minLabelElement",void 0),e([s()],g.prototype,"precision",null),e([s()],g.prototype,"rangeLabelInputsEnabled",void 0),e([s({readOnly:!0})],g.prototype,"segmentElements",void 0),e([s()],g.prototype,"snapOnClickEnabled",void 0),e([s({readOnly:!0})],g.prototype,"state",null),e([s()],g.prototype,"steps",void 0),e([s()],g.prototype,"syncedSegmentsEnabled",void 0),e([s()],g.prototype,"thumbsConstrained",null),e([s()],g.prototype,"thumbCreatedFunction",void 0),e([s({readOnly:!0})],g.prototype,"thumbElements",void 0),e([s()],g.prototype,"tickConfigs",null),e([s({readOnly:!0})],g.prototype,"tickElements",void 0),e([s({readOnly:!0})],g.prototype,"trackElement",void 0),e([s()],g.prototype,"values",null),e([s()],g.prototype,"viewModel",void 0),e([s()],g.prototype,"visibleElements",void 0),e([o("visibleElements")],g.prototype,"castVisibleElements",null),g=e([r("esri.widgets.Slider")],g);const L=g;export{L as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import t from"../core/Collection.js";import{eventKey as n}from"../core/events.js";import{assertIsSome as i}from"../core/maybe.js";import{property as s}from"../core/accessorSupport/decorators/property.js";import{cast as o}from"../core/accessorSupport/decorators/cast.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as r}from"../core/accessorSupport/decorators/subclass.js";import a from"./Widget.js";import{css as l}from"./Slider/css.js";import h from"./Slider/SliderViewModel.js";import{globalCss as u}from"./support/globalCss.js";import{onResize as c}from"./support/widgetUtils.js";import{messageBundle as d}from"./support/decorators/messageBundle.js";import{tsx as m}from"./support/jsxFactory.js";import{substitute as _}from"../intl/substitute.js";const p={showInput:"Enter",hideInput1:"Enter",hideInput2:"Escape",hideInput3:"Tab",moveAnchorUp:"ArrowUp",moveAnchorDown:"ArrowDown",moveAnchorLeft:"ArrowLeft",moveAnchorRight:"ArrowRight",moveAnchorToMax:"End",moveAnchorToMin:"Home"},v={labels:!1,rangeLabels:!1};let g=class extends a{constructor(e,n){super(e,n),this._activeLabelInputIndex=null,this._anchorElements=[],this._dragged=!1,this._dragStartInfo=null,this._focusedAnchorIndex=null,this._isMinInputActive=!1,this._isMaxInputActive=!1,this._lastMovedHandleIndex=null,this._positionPrecision=5,this._segmentDragStartInfo=null,this._trackHeight=null,this._trackWidth=null,this._zIndices=[],this._zIndexOffset=3,this.disabled=!1,this.draggableSegmentsEnabled=!0,this.effectiveSegmentElements=new t,this.extraNodes=[],this.inputCreatedFunction=null,this.labelElements=new t,this.labelInputsEnabled=!1,this.maxLabelElement=null,this.messages=null,this.minLabelElement=null,this.rangeLabelInputsEnabled=!1,this.segmentElements=new t,this.snapOnClickEnabled=!0,this.steps=null,this.syncedSegmentsEnabled=!1,this.thumbCreatedFunction=null,this.thumbElements=new t,this.tickElements=new t,this.trackElement=null,this.viewModel=new h,this.visibleElements={...v},this._onAnchorPointerDown=this._onAnchorPointerDown.bind(this),this._onAnchorPointerMove=this._onAnchorPointerMove.bind(this),this._onAnchorPointerUp=this._onAnchorPointerUp.bind(this),this._onLabelPointerDown=this._onLabelPointerDown.bind(this),this._onLabelPointerUp=this._onLabelPointerUp.bind(this),this._onSegmentPointerDown=this._onSegmentPointerDown.bind(this),this._onSegmentPointerMove=this._onSegmentPointerMove.bind(this),this._onSegmentPointerUp=this._onSegmentPointerUp.bind(this),this._onTrackPointerDown=this._onTrackPointerDown.bind(this),this._onTrackPointerMove=this._onTrackPointerMove.bind(this),this._onTrackPointerUp=this._onTrackPointerUp.bind(this)}destroy(){document.removeEventListener("pointerup",this._onLabelPointerUp),document.removeEventListener("pointermove",this._onLabelPointerMove),document.removeEventListener("pointerup",this._onAnchorPointerUp),document.removeEventListener("pointermove",this._onAnchorPointerMove),this.labelElements.removeAll(),this.labelElements.destroy(),this.segmentElements.removeAll(),this.segmentElements.destroy(),this.effectiveSegmentElements.removeAll(),this.effectiveSegmentElements.destroy(),this.thumbElements.removeAll(),this.thumbElements.destroy(),this.tickElements.removeAll(),this.tickElements.destroy()}get effectiveMax(){return this.viewModel.effectiveMax}set effectiveMax(e){this.viewModel.effectiveMax=e}get effectiveMin(){return this.viewModel.effectiveMin}set effectiveMin(e){this.viewModel.effectiveMin=e}get inputFormatFunction(){return this.viewModel.inputFormatFunction}set inputFormatFunction(e){this.viewModel.inputFormatFunction=e}get inputParseFunction(){return this.viewModel.inputParseFunction}set inputParseFunction(e){this.viewModel.inputParseFunction=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get labelFormatFunction(){return this.viewModel.labelFormatFunction}set labelFormatFunction(e){this.viewModel.labelFormatFunction=e}get labels(){return this.viewModel.labels}set layout(e){["vertical","vertical-reversed","horizontal","horizontal-reversed"].includes(e)||(e="horizontal"),this._set("layout",e)}get max(){return this.viewModel.max}set max(e){this.viewModel.max=e}get min(){return this.viewModel.min}set min(e){this.viewModel.min=e}get precision(){return this.viewModel.precision}set precision(e){this.viewModel.precision=e}get state(){const{_activeLabelInputIndex:e,_isMaxInputActive:t,_isMinInputActive:n,_dragStartInfo:i,_segmentDragStartInfo:s,disabled:o,viewModel:r}=this;return o?"disabled":!(null===e&&!t&&!n)?"editing":null!=i||null!=s?"dragging":r.state}get thumbsConstrained(){return this.viewModel.thumbsConstrained}set thumbsConstrained(e){this.viewModel.thumbsConstrained=e}set tickConfigs(e){this._set("tickConfigs",e),this.scheduleRender()}get values(){return this.viewModel.values}set values(e){this.viewModel.values=e}castVisibleElements(e){return{...v,...e}}render(){const{label:e}=this,t=this.classes(l.base,u.widget,this._isHorizontalLayout()?l.horizontalLayout:l.verticalLayout,this._isReversedLayout()?l.reversed:null,this._isDisabled()?u.disabled:null);return this._storeTrackDimensions(),m("div",{afterCreate:this._afterContainerCreate,"aria-label":e,bind:this,class:t,"touch-action":"none"},this._renderContent())}toNextStep(e){this._toStep(e,1)}toPreviousStep(e){this._toStep(e,-1)}getCurrentPosition(){return this._positionFromValue(this.values?.[0]??0)}_renderContent(){const{max:e,min:t}=this;if(!(null==t||null==e||t>=e))return[this._renderMin(),this._renderSliderContainer(),this._renderMax()]}_renderSliderContainer(){return m("div",{bind:this,class:l.contentElement,key:"slider-container"},this._renderTrackElement(),this._renderTicksContainer(),this._renderExtraContentElements())}_renderTrackElement(){return m("div",{afterCreate:this._afterTrackCreate,afterRemoved:this._afterTrackRemoved,bind:this,class:l.trackElement,"touch-action":"none"},this._renderEffectiveSegmentElements(),this._renderSegmentElements(),this._renderAnchorElements())}_renderEffectiveSegmentElements(){if(!this.trackElement||!this.values||!this.values.length)return;const e=null!=this.effectiveMax,t=null!=this.effectiveMin;if(!e&&!t)return;const{max:n,min:i,viewModel:s}=this,o=s.getBounds(),r=[];return t&&r.push(this._renderEffectiveSegmentElement(i,o.min,!0)),e&&r.push(this._renderEffectiveSegmentElement(o.max,n,!1)),r}_renderSegmentElements(){if(!this.trackElement||!this.values||!this.values.length)return;const e=this.values.length,t=[];for(let n=0;n<=e;n++)t.push(this._renderSegmentElement(n));return t}_renderSegmentElement(e){const{_trackHeight:t,_trackWidth:n,draggableSegmentsEnabled:i,id:s,state:o}=this,r=this.values,a=this._isHorizontalLayout(),h=a?n:t,u=this.viewModel.getBounds(),c=this._positionFromValue(u.max),d=this._positionFromValue(u.min),_=e===r?.length?null:e,p=0===e?null:e-1,v=null!=_,g=null!=p;let f,b;const E=[...r].sort(((e,t)=>e-t));this._isReversedLayout()?(f=g?this._positionFromValue(E[p]):d,b=v?this._positionFromValue(E[_]):c):(f=v?this._positionFromValue(E[_]):c,b=g?this._positionFromValue(E[p]):d);const x=this._applyPrecisionToPosition(100*b/h),y=(f-b)/h,k=a?`transform: translate(${x}%, 0px) scale(${y}, 1);`:`transform: translate(0px, ${x}%) scale(1, ${y});`,P=this.classes(l.segmentElement,l.segmentElementIndexPrefix+e,i&&v&&g&&"disabled"!==o?l.segmentElementInteractive:null);return m("div",{afterCreate:this._afterSegmentCreate,afterRemoved:this._afterSegmentRemoved,bind:this,class:P,"data-max-thumb-index":_,"data-min-thumb-index":p,"data-segment-index":e,key:`${s}-segment-${e}`,style:k,"touch-action":"none"})}_renderEffectiveSegmentElement(e,t,n){const{_trackHeight:i,_trackWidth:s,layout:o}=this,r=this._positionFromValue(e),a=this._positionFromValue(t),h=this._isHorizontalLayout(),u=h?s:i,c=this._applyPrecisionToPosition(100*r/u);let d=null;if("horizontal"===o){const e=n?u-a:a,t=r===u?0:c;d=`clip-path: inset(0% ${a===u?0:this._applyPrecisionToPosition(e/u*100)}% 0% ${t}%);`}else{const e=(a-r)/u;d=h?`transform: translate(${c}%, 0px) scale(${e}, 1);`:`transform: translate(0px, ${c}%) scale(1, ${e});`}const _=n?l.effectiveMinSegmentElement:l.effectiveMaxSegmentElement,p=this.classes(l.segmentElement,l.effectiveSegmentElement,_);return m("div",{afterCreate:this._afterEffectiveSegmentCreate,afterRemoved:this._afterEffectiveSegmentRemoved,bind:this,class:p,style:d,"touch-action":"none"})}_renderAnchorElements(){const{trackElement:e,values:t}=this;if(t&&t.length)return this._zIndices=t.map(((e,n)=>{const i=this._positionFromValue(e),s=this._positionToPercent(i),o=(this._isHorizontalLayout()?s>50:s<50)?-1:1;return this._zIndexOffset+(t.length+o*n)})),e&&t&&t.length?t.map(((e,t)=>this._renderAnchorElement(e,t))):null}_renderAnchorElement(e,t){const n=this._positionFromValue(e),i=this._valueFromPosition(n);if(null==i||isNaN(i))return;const{_dragStartInfo:s,_lastMovedHandleIndex:o,id:r,layout:a,visibleElements:{labels:h}}=this,u=this.values,c=s&&s.index===t,d=o===t,p=this.classes(l.anchorElement,l.anchorElementIndexPrefix+t,c?l.movingAnchorElement:null,d?l.lastMovedAnchorElement:null),v=this.labels.values[t],g=this._getStyleForAnchor(e,t,c||d),{min:f,max:b}=this.viewModel.getBoundsForValueAtIndex(t),{disabled:E,messages:x}=this,y=2===u.length?_(0===t?x.rangeMinimum:x.rangeMaximum,{value:e}):v,k=1===u.length?null:0===t?`${r}-handle-${t+1}`:t===u.length-1?`${r}-handle-${t-1}`:`${r}-handle-${t-1} ${r}-handle-${t+1}`;return m("div",{afterCreate:this._afterAnchorCreate,afterRemoved:this._afterAnchorRemoved,afterUpdate:this._afterAnchorUpdate,"aria-controls":k,"aria-label":x.sliderValue,"aria-labelledby":h?`${r}-label-${t}`:null,"aria-orientation":a,"aria-valuemax":b?.toString(),"aria-valuemin":f?.toString(),"aria-valuenow":e.toString(),"aria-valuetext":y,bind:this,class:p,"data-thumb-index":t,"data-value":e,id:`${r}-handle-${t}`,key:`${r}-handle-${t}`,onkeydown:this._onAnchorKeyDown,role:"slider",style:g,tabIndex:E?-1:0,"touch-action":"none"},m("span",{afterCreate:this._afterThumbCreate,afterRemoved:this._afterThumbRemoved,bind:this,class:l.thumbElement,"data-thumb-index":t,"touch-action":"none"}),this.renderThumbLabel(t))}renderThumbLabel(e){const{id:t,labels:n,labelInputsEnabled:i,state:s}=this,o=this.visibleElements.labels,r=n.values[e],a=this.classes(l.labelElement,o?null:u.hidden,i&&"disabled"!==s?l.labelElementInteractive:null);return m("span",{afterCreate:this._afterLabelCreate,afterRemoved:this._afterLabelRemoved,"aria-hidden":(!o).toString(),bind:this,class:a,"data-thumb-index":e,id:`${t}-label-${e}`,key:`${t}-label-${e}`,role:i?"button":null,"touch-action":"none"},this._activeLabelInputIndex===e?this._renderValueInput(e):r)}_renderValueInput(e){const{disabled:t,values:n}=this;if(null==n)return;const i=n[e];return m("input",{afterCreate:this._afterInputCreate,"aria-label":this.messages.sliderValue,bind:this,class:l.labelInput,"data-input-index":e,"data-input-type":"thumb",key:`value-input-${e}`,onblur:this._onLabelInputBlur,onkeydown:this._onInputKeyDown,required:!0,tabIndex:t?-1:0,type:"text",value:this._formatInputValue(i,"value",e)})}_renderMax(){const{_isMaxInputActive:e,labels:t,rangeLabelInputsEnabled:n,state:i}=this,s=this.visibleElements.rangeLabels,o=this.classes(l.maxElement,{[u.hidden]:!s,[l.maxElementInteractive]:n&&"disabled"!==i,[l.rangeElementActive]:e});return m("div",{afterCreate:this._afterMaxLabelCreate,"aria-hidden":(!s).toString(),bind:this,class:o,onclick:this._onMaxLabelClick,onkeydown:this._onMaxLabelKeyDown,role:n?"button":null,tabIndex:!this.disabled&&n?0:-1},e?this._renderMaxInput():t.max)}_renderMin(){const{_isMinInputActive:e,labels:t,rangeLabelInputsEnabled:n,state:i}=this,s=this.visibleElements.rangeLabels,o=this.classes(l.minElement,{[u.hidden]:!s,[l.minElementInteractive]:n&&"disabled"!==i,[l.rangeElementActive]:e});return m("div",{afterCreate:this._afterMinLabelCreate,"aria-hidden":(!s).toString(),bind:this,class:o,onclick:this._onMinLabelClick,onkeydown:this._onMinLabelKeyDown,role:n?"button":null,tabIndex:!this.disabled&&n?0:-1},e?this._renderMinInput():t.min)}_renderMaxInput(){return m("input",{afterCreate:this._afterInputCreate,"aria-label":this.messages.maximumValue,bind:this,class:l.rangeInput,"data-input-type":"max",onblur:this._onMaxInputBlur,onkeydown:this._onInputKeyDown,required:!0,tabIndex:this.disabled?-1:0,type:"text",value:this._formatInputValue(this.max,"max")})}_renderMinInput(){return m("input",{afterCreate:this._afterInputCreate,"aria-label":this.messages.minimumValue,bind:this,class:l.rangeInput,"data-input-type":"min",onblur:this._onMinInputBlur,onkeydown:this._onInputKeyDown,required:!0,tabIndex:this.disabled?-1:0,type:"text",value:this._formatInputValue(this.min,"min")})}_renderExtraContentElements(){return m("div",{bind:this,class:l.extraContentElement},this.extraNodes)}_renderTicksContainer(){if(this.tickConfigs&&this.trackElement&&(0!==this._trackHeight||0!==this._trackWidth))return this.tickConfigs.map(((e,t)=>m("div",{class:this.classes(l.ticksContainerElement),key:"ticks-container"},this._renderTicks(e,t))))}_renderTicks(e,n){const{mode:i,values:s}=e;if(this.tickElements.at(n)||this.tickElements.add(new t,n),"position"===i){const t=Array.isArray(s)?s:[s];return this._calculateTickPositions(t).map(((t,i)=>this._renderTickGroup(e,i,n,t)))}if("percent"===i&&Array.isArray(s)){const t=this.min??0,i=(this.max??0)-t,o=s.map((e=>this._applyPrecisionToPosition(e/100*i+t)));return this._calculateTickPositions(o).map(((t,i)=>this._renderTickGroup(e,i,n,t)))}const o=Array.isArray(s)&&s.length?s[0]:isNaN(s)?null:s,r=this._getTickCounts(o,e);return this._calculateEquidistantTickPositions(r).map(((t,i)=>this._renderTickGroup(e,i,n,t)))}_renderTickGroup(e,t,n,i){const s="position"===e.mode?Array.isArray(e.values)?e.values[t]:e.values:this._valueFromPosition(i);if(null!=s&&!isNaN(s))return m("div",{afterCreate:this._afterTickGroupCreate,afterRemoved:this._afterTickGroupRemoved,bind:this,"data-config":e,"data-position":i,"data-tick-config-index":n,"data-tick-group-index":t,"data-value":s,key:`tick-group-${t}`,onclick:this._onTickGroupClick},this._renderTickLine(e,t,n,s),e.labelsVisible?this._renderTickLabel(e,t,n,s):null)}_renderTickLine(e,t,n,i){return m("div",{afterCreate:this._afterTickLineCreate,"aria-valuenow":i.toString(),bind:this,class:l.tickElement,"data-config":e,"data-tick-config-index":n,"data-tick-group-index":t,"data-value":i,key:`tick-label-${t}`,style:this._getPositionStyleForElement(i)})}_renderTickLabel(e,t,n,i){const s=e.labelFormatFunction?e.labelFormatFunction(i,"tick",t):this.viewModel.getLabelForValue(i,"tick",t);return m("div",{afterCreate:this._afterTickLabelCreate,"aria-label":s,"aria-valuenow":i.toString(),"aria-valuetext":s,bind:this,class:l.tickLabelElement,"data-config":e,"data-tick-config-index":n,"data-tick-group-index":t,"data-value":i,key:`tick-label-${t}`,style:`transform: translate(-50%); ${this._getPositionStyleForElement(i)}`},s)}_afterContainerCreate(e){this.addHandles(c(e,(()=>this.scheduleRender())))}_afterTrackCreate(e){this._set("trackElement",e),e.addEventListener("pointerdown",this._onTrackPointerDown),this.scheduleRender()}_afterTrackRemoved(e){e.removeEventListener("pointerdown",this._onTrackPointerDown),document.removeEventListener("pointermove",this._onTrackPointerMove),document.removeEventListener("pointerup",this._onTrackPointerUp)}_afterSegmentCreate(e){this.segmentElements.add(e),e.addEventListener("pointerdown",this._onSegmentPointerDown)}_afterSegmentRemoved(e){this.segmentElements.remove(e),e.removeEventListener("pointerdown",this._onSegmentPointerDown)}_afterEffectiveSegmentCreate(e){this.effectiveSegmentElements.add(e)}_afterEffectiveSegmentRemoved(e){this.effectiveSegmentElements.remove(e)}_afterAnchorCreate(e){if(this._anchorElements.push(e),e.addEventListener("pointerdown",this._onAnchorPointerDown),this.thumbCreatedFunction){const t=f(e),n=k(e),i=this.thumbElements.at(t),s=this.labelElements.at(t)||null;this.thumbCreatedFunction(t,n,i,s)}}_afterAnchorUpdate(e){if(null!=this._focusedAnchorIndex){f(e)===this._focusedAnchorIndex&&(e.focus(),this._focusedAnchorIndex=null)}}_afterAnchorRemoved(e){const t=this._anchorElements.indexOf(e,0);t>-1&&this._anchorElements.splice(t,1),e.removeEventListener("pointerdown",this._onAnchorPointerDown)}_afterThumbCreate(e){this.thumbElements.add(e)}_afterThumbRemoved(e){this.thumbElements.remove(e)}_afterLabelCreate(e){this.labelElements.add(e),e.addEventListener("pointerdown",this._onLabelPointerDown),e.addEventListener("pointerup",this._onLabelPointerUp)}_afterLabelRemoved(e){this.labelElements.remove(e),e.removeEventListener("pointerdown",this._onLabelPointerDown),e.removeEventListener("pointerup",this._onLabelPointerUp)}_afterInputCreate(e){if(e.focus(),e.select(),this.inputCreatedFunction){const t=e.getAttribute("data-input-type"),n="thumb"===t?b(e):null;this.inputCreatedFunction(e,t,n)}}_afterTickLineCreate(e){const t=P(e),n=I(e),i=this.tickElements.at(t),s=i.at(n);s?s.tickElement=e:i.add({groupElement:null,tickElement:e,labelElement:null},n)}_afterTickLabelCreate(e){const t=P(e),n=I(e),i=this.tickElements.at(t),s=i.at(n);s?s.labelElement=e:i.add({groupElement:null,labelElement:e,tickElement:null},n)}_afterTickGroupRemoved(e){const t=P(e),n=this.tickElements.items[t],i=n?.find((t=>t.groupElement===e));i&&n.remove(i)}_afterTickGroupCreate(e){const t=A(e);if(t?.tickCreatedFunction){const n=P(e),i=I(e),s=k(e),o=this.tickElements?.at(n)?.at(i);if(o){o.groupElement=e;const n=o.tickElement||null,i=o.labelElement||null;t.tickCreatedFunction(s,n,i)}}}_afterMaxLabelCreate(e){this._set("maxLabelElement",e)}_afterMinLabelCreate(e){this._set("minLabelElement",e)}_onAnchorKeyDown(e){if(this._isDisabled()||"editing"===this.state)return;const{target:t}=e,i=n(e),s=this.values,o=f(t),r=this._anchorElements[o],a=s[o],l=[p.moveAnchorUp,p.moveAnchorDown,p.moveAnchorLeft,p.moveAnchorRight];if(i===p.showInput&&this.labelInputsEnabled)this._activeLabelInputIndex=o,this.notifyChange("state");else if(l.includes(i)){e.preventDefault();const{steps:t}=this,n=i===p.moveAnchorUp||i===p.moveAnchorRight?1:-1;if(null!=t)this._toStep(o,this._isReversedLayout()?-1*n:n);else{const{precision:e}=this,t=this._getPositionOfElement(r),i=this._valueFromPosition(t),s=this._isHorizontalLayout()?n:-1*n;let a;a=0===e?this._positionFromValue(i+s):1===e?this._positionFromValue(i+.1*s):t+s,this._toPosition(o,a)}const s=this.values[o];a!==s&&this._emitThumbChangeEvent({index:o,oldValue:a,value:s})}else if(i===p.moveAnchorToMax||i===p.moveAnchorToMin){e.preventDefault();const{min:t,max:n}=this._getAnchorBoundsInPixels(o),s=this._isPositionInverted()?i===p.moveAnchorToMax?t:n:i===p.moveAnchorToMin?t:n;this._toPosition(o,s);const r=this.values[o];a!==r&&this._emitThumbChangeEvent({index:o,oldValue:a,value:r})}}_onAnchorPointerDown(e){if(this._isDisabled())return;const{target:t,clientX:n,clientY:i}=e,s=f(t);null!=s&&(e.preventDefault(),this._anchorElements[s]&&this._anchorElements[s].focus(),this._storeTrackDimensions(),this._dragStartInfo={clientX:n,clientY:i,index:s,position:this._getPositionOfElement(this._anchorElements[s])},this.notifyChange("state"),document.addEventListener("pointerup",this._onAnchorPointerUp),document.addEventListener("pointermove",this._onAnchorPointerMove))}_onAnchorPointerMove(e){if("editing"===this.state||!this._dragStartInfo)return;e.preventDefault();const{values:t,_anchorElements:n,_dragged:i,_dragStartInfo:s,_dragStartInfo:{index:o,position:r}}=this,{clientX:a,clientY:l}=e,h=i?"drag":"start",u=n[o],c=this._getPositionOfElement(u),d=this._applyPrecisionToPosition(this._isHorizontalLayout()?r+a-s.clientX:r+l-s.clientY);if(c===d)return;const m=t[o];this._dragged=!0,this._toPosition(o,d);const _=this.values[o];i?m!==_&&this._emitThumbDragEvent({index:o,state:h,value:_}):this._emitThumbDragEvent({index:o,state:h,value:m})}_onAnchorPointerUp(e){if(document.removeEventListener("pointerup",this._onAnchorPointerUp),document.removeEventListener("pointermove",this._onAnchorPointerMove),!this._dragStartInfo)return;e.preventDefault();const{index:t}=this._dragStartInfo,n=this._dragged,i=this.values[t];this._dragged=!1,this._dragStartInfo=null,this._lastMovedHandleIndex=t,this.notifyChange("state"),n?this._emitThumbDragEvent({index:t,state:"stop",value:i}):(this.scheduleRender(),"editing"!==this.state&&this._emitThumbClickEvent({index:t,value:i}))}_onTrackPointerDown(e){const{_dragStartInfo:t,snapOnClickEnabled:n,state:i,values:s}=this;if(this._isDisabled()||"editing"===i||t)return;if(document.addEventListener("pointermove",this._onTrackPointerMove),document.addEventListener("pointerup",this._onTrackPointerUp),!n||!s?.length)return;const{steps:o}=this,{clientX:r,clientY:a}=e,l=this._getCursorPositionFromEvent(e),h=this._valueFromPosition(l),u=this._getIndexOfNearestValue(h),c=s[u],d=s.some(((e,t)=>e===c&&t!==u))&&h>c?s.lastIndexOf(c):u;if(null==d)return;const m=s[d],_=null!=o?this._calculateNearestStepPosition(l):l;this._toPosition(d,_),this._dragged=!0,this._dragStartInfo={clientX:r,clientY:a,index:d,position:_},this._focusedAnchorIndex=d,this.notifyChange("state"),this._emitThumbDragEvent({index:d,state:"start",value:m});const p=this.values[d];m!==p&&this._emitThumbDragEvent({index:d,state:"drag",value:p}),document.addEventListener("pointerup",this._onAnchorPointerUp),document.addEventListener("pointermove",this._onAnchorPointerMove)}_onTrackPointerMove(e){e.preventDefault(),this._dragged=!0}_onTrackPointerUp(e){if(e.preventDefault(),document.removeEventListener("pointermove",this._onTrackPointerMove),document.removeEventListener("pointerup",this._onTrackPointerUp),this.snapOnClickEnabled||(this._dragged=!1),!this._dragged){const t=this._getCursorPositionFromEvent(e),n=this._valueFromPosition(t);this._emitTrackClickEvent({value:n})}}_onSegmentPointerDown(e){e.preventDefault();const t=e.target,n=E(t),i=x(t),s=y(t);if(this._isDisabled()||null==i||null==s)return;e.stopPropagation(),this._storeTrackDimensions(),document.addEventListener("pointerup",this._onSegmentPointerUp);const o=this._getAnchorDetails(i),r=this._getAnchorDetails(s);this.syncedSegmentsEnabled?(this.segmentElements.forEach((e=>e.classList.add(l.segmentElementActive))),this._anchorElements.forEach((e=>e.classList.add(l.anchorElementActive)))):(this.segmentElements.at(n).classList.add(l.segmentElementActive),this._anchorElements[o.index]?.classList.add(l.anchorElementActive),this._anchorElements[r.index]?.classList.add(l.anchorElementActive)),this._segmentDragStartInfo={cursorPosition:this._getCursorPositionFromEvent(e),index:n,details:this._normalizeSegmentDetails({min:o,max:r})},this.draggableSegmentsEnabled&&(document.addEventListener("pointermove",this._onSegmentPointerMove),this.notifyChange("state"),this._emitSegmentDragEvent({index:n,state:"start",thumbIndices:[i,s]}))}_onSegmentPointerMove(e){if(!this._segmentDragStartInfo)return;e.preventDefault();const{_trackHeight:t,_trackWidth:n,_segmentDragStartInfo:{index:i,cursorPosition:s,details:{min:o,max:r}}}=this,{index:a,position:l,value:h}=o,{index:u,position:c,value:d}=r;this._dragged=!0;const m=this._getCursorPositionFromEvent(e);if(m===s)return;const _=this._positionToPercent(s),p=this._positionToPercent(m)-_,v=this._positionToPercent(l)+p,g=this._positionToPercent(c)+p,{min:f}=this._getAnchorBoundsAsPercents(a),{max:b}=this._getAnchorBoundsAsPercents(u);let E=!1,x=!1;if(v<f?E=!0:g>b&&(x=!0),E){const{min:e,max:t}=this.viewModel.getBoundsForValueAtIndex(a),n=this._isPositionInverted()?t:e,i=n,s=d+(n-h),o=s-this.values[u];return void(this.syncedSegmentsEnabled?this._updateAnchorValuesByDifference(o):this._updateAnchorValues([a,u],[i,s]))}if(x){const{min:e,max:t}=this.viewModel.getBoundsForValueAtIndex(u),n=this._isPositionInverted()?e:t,i=n,s=h+(n-d),o=s-this.values[a];return void(this.syncedSegmentsEnabled?this._updateAnchorValuesByDifference(o):this._updateAnchorValues([a,u],[s,i]))}const y=this._isHorizontalLayout()?n:t,k=g/100*y,P=v/100*y,I=this.values,A=[I[a],I[u]],L=this._getValueForAnchorAtPosition(a,P),M=this._getValueForAnchorAtPosition(u,k);this.syncedSegmentsEnabled?this._updateAnchorValuesByDifference(L-A[0]):this._updateAnchorValues([a,u],[L,M]);[this.values[a],this.values[u]].every(((e,t)=>e===A[t]))||this._emitSegmentDragEvent({index:i,state:"drag",thumbIndices:[a,u]})}_onSegmentPointerUp(e){if(e.preventDefault(),document.removeEventListener("pointerup",this._onSegmentPointerUp),document.removeEventListener("pointermove",this._onSegmentPointerMove),!this._segmentDragStartInfo)return;const{_dragged:t}=this,n=this.min,i=this.max,s=this.values,{index:o,details:{min:{index:r},max:{index:a}}}=this._segmentDragStartInfo;if(this.segmentElements.forEach((e=>e.classList.remove(l.segmentElementActive))),this._anchorElements.forEach((e=>e.classList.remove(l.anchorElementActive))),this.draggableSegmentsEnabled){const e=i-n,t=s[r],l=s[a];this._lastMovedHandleIndex=t===l?t>e/2?r:a:null,this._dragged=!1,this._segmentDragStartInfo=null,this.notifyChange("state"),this._emitSegmentDragEvent({index:o,state:"stop",thumbIndices:[r,a]})}if(!t){const t=this._getCursorPositionFromEvent(e),n=this._valueFromPosition(t);this._emitSegmentClickEvent({index:o,value:n,thumbIndices:[r,a]})}}_onTickGroupClick(e){const t=e.target;if(A(t)){const e=P(t),n=I(t),i=k(t);this._emitTickClickEvent({configIndex:e,groupIndex:n,value:i})}}_storeTrackDimensions(){if(this.trackElement){const e=this._getDimensions(this.trackElement);this._trackHeight=e.height,this._trackWidth=e.width}}_onLabelPointerDown(){this._isDisabled()||(this._dragged=!1,document.addEventListener("pointerup",this._onAnchorPointerUp),document.addEventListener("pointermove",this._onAnchorPointerMove))}_onLabelPointerMove(){this._isDisabled()||(this._dragged=!0)}_onLabelPointerUp(e){if(this._isDisabled())return;const t=f(e.target);this.labelInputsEnabled&&!this._dragged&&null!=t&&(this._activeLabelInputIndex=t),this._dragged=!1,this.notifyChange("state"),document.removeEventListener("pointerup",this._onLabelPointerUp),document.removeEventListener("pointermove",this._onLabelPointerMove)}_onLabelInputBlur(e){const{_activeLabelInputIndex:t,values:n,viewModel:i}=this,s=e.target.value;if(this._activeLabelInputIndex=null,this.notifyChange("state"),!s||null==t||null==n)return;const o=this._parseInputValue(s,"value",t),r=n[t],{min:a,max:l}=this.viewModel.getBoundsForValueAtIndex(t);if(o<a||o>l)return;i.setValue(t,o);const h=this.values[t];r!==h&&this._emitThumbChangeEvent({index:t,oldValue:r,value:h})}_onInputKeyDown(e){if(this._isDisabled())return;const{target:t}=e,i=n(e),{hideInput1:s,hideInput2:o,hideInput3:r}=p,{_activeLabelInputIndex:a,_anchorElements:l}=this,h=t;if(i===s||i===o||i===r){e.stopPropagation();const t=a;h.blur(),null!=t?l[t].focus():h.parentElement?.focus()}}_onMaxLabelClick(){this._isDisabled()||(this._emitRangeLabelClickEvent({type:"max-click",value:this.max}),this.rangeLabelInputsEnabled&&(this._isMaxInputActive=!0,this.notifyChange("state")))}_onMaxLabelKeyDown(e){this._isDisabled()||n(e)!==p.showInput||(this._isMaxInputActive=!0,this.notifyChange("state"))}_onMaxInputBlur(e){const t=e.target.value;if(this._isMaxInputActive=!1,this.notifyChange("state"),!t)return;const n=this.max,i=this._parseInputValue(t,"max");i<=this.min||(this.viewModel.set("max",i),this.max!==n&&this._emitMaxChangeEvent({oldValue:n,value:this.max}))}_onMinLabelClick(){this._isDisabled()||(this._emitRangeLabelClickEvent({type:"min-click",value:this.min}),this.rangeLabelInputsEnabled&&(this._isMinInputActive=!0,this.notifyChange("state")))}_onMinLabelKeyDown(e){this._isDisabled()||n(e)!==p.showInput||(this._isMinInputActive=!0,this.notifyChange("state"))}_onMinInputBlur(e){const t=e.target.value;if(this._isMinInputActive=!1,this.notifyChange("state"),!t)return;const n=this.min,i=this._parseInputValue(t,"min");i>=this.max||(this.viewModel.set("min",i),this.min!==n&&this._emitMinChangeEvent({oldValue:n,value:this.min}))}_isDisabled(){return this.disabled||"disabled"===this.state}_positionFromValue(e){const{_trackHeight:t,_trackWidth:n}=this,i=this.min??0,s=this.max??0,o=s-i;if(0===o||null==e)return 0;const r=this._isHorizontalLayout();let a=r?parseFloat((n*(e-i)/o).toFixed(2)):parseFloat((t*(s-e)/o).toFixed(2));return this._isReversedLayout()&&(a=r?n-a:t-a),a}_valueFromPosition(e){const{_trackHeight:t,_trackWidth:n,precision:i}=this,s=this.min??0,o=this.max??0,r=o-s;let a=this._isHorizontalLayout()?e*r/n+s:r*(1e3-e/t*1e3)/1e3+s;return this._isReversedLayout()&&(a=o+s-a),parseFloat(a.toFixed(i))}_positionToPercent(e){const{_trackHeight:t,_trackWidth:n}=this,i=100*e/(this._isHorizontalLayout()?n:t);return this._applyPrecisionToPosition(i)}_applyPrecisionToPosition(e){return parseFloat(e.toFixed(this._positionPrecision))}_isPositionInverted(){const{layout:e}=this;return"horizontal-reversed"===e||"vertical"===e}_isHorizontalLayout(){return this.layout.includes("horizontal")}_isReversedLayout(){return this.layout.includes("reversed")}_normalizeSegmentDetails(e){if(this._isPositionInverted()){const{min:t,max:n}=e;return{min:n,max:t}}return e}_parseInputValue(e,t,n){return this.inputParseFunction?this.inputParseFunction(e,t,n):this.viewModel.defaultInputParseFunction(e)}_formatInputValue(e,t,n){return this.inputFormatFunction?this.inputFormatFunction(e,t,n):this.viewModel.defaultInputFormatFunction(e)}_getAnchorDetails(e){const t=this.values,n=[...t].sort(((e,t)=>e-t))[e],i=t.indexOf(n);return{index:i,position:this._getPositionOfElement(this._anchorElements[i]),value:n}}_updateAnchorStyle(e,t){const n=this._anchorElements[e];n&&(this._isHorizontalLayout()?n.style.left=`${t}`:n.style.top=`${t}`)}_getStyleForAnchor(e,t,n){const i=this._getPositionStyleForElement(e);if(1===this.values?.length)return`${i}`;const s=this._zIndices[t];return`${i}; z-index: ${n?this._zIndexOffset+s:s}`}_getPositionStyleForElement(e){const t=this._positionFromValue(e),n=this._positionToPercent(t);return`${this._isHorizontalLayout()?"left":"top"}: ${n}%`}_getPositionOfElement(e){const t=this._getDimensions(e.offsetParent),n=this._getDimensions(e);return this._isHorizontalLayout()?this._applyPrecisionToPosition(n.left-t.left):this._applyPrecisionToPosition(n.top-t.top)}_updateAnchorValues(e,t){e.forEach(((e,n)=>this._toValue(e,t[n])))}_updateAnchorValuesByDifference(e){const{min:t,max:n,values:i}=this;i?.forEach(((i,s)=>this._toValue(s,Math.max(Math.min(i+e,n),t))))}_toValue(e,t){if(null!=this.steps){t=this._getStepValues()[this._getIndexOfNearestStepValue(t)]}this._updateAnchorStyle(e,this._getPositionStyleForElement(t)),this.viewModel.setValue(e,t)}_toPosition(e,t){const n=null!=this.steps?this._getStepValueForAnchorAtPosition(e,t):this._getValueForAnchorAtPosition(e,t);this._updateAnchorStyle(e,this._getPositionStyleForElement(n)),this.viewModel.setValue(e,n)}_getValueForAnchorAtPosition(e,t){const{min:n,max:i}=this._getAnchorBoundsInPixels(e),{min:s,max:o}=this.viewModel.getBoundsForValueAtIndex(e);let r,a,l=null;return this._isPositionInverted()?(r=s,a=o):(r=o,a=s),l=t>i?r:t<n?a:this._valueFromPosition(t),l>o?l=o:l<s&&(l=s),l}_getStepValueForAnchorAtPosition(e,t){const n=this._getStepValues(),i=this._calculateNearestStepPosition(t),s=this._getValueForAnchorAtPosition(e,i);return n[this._getIndexOfNearestStepValue(s)]}_getAnchorBoundsAsPercents(e){const{min:t,max:n}=this._getAnchorBoundsInPixels(e);return{min:this._positionToPercent(t),max:this._positionToPercent(n)}}_getAnchorBoundsInPixels(e){const{_anchorElements:t,_trackHeight:n,_trackWidth:i,effectiveMax:s,effectiveMin:o,thumbsConstrained:r}=this,a=t[e-1],l=t[e+1],h=this._isHorizontalLayout()?i:n;let u,c;return this._isPositionInverted()?(u=null!=o?this._positionFromValue(o):h,c=null!=s?this._positionFromValue(s):0):(u=null!=s?this._positionFromValue(s):h,c=null!=o?this._positionFromValue(o):0),r?this._isPositionInverted()?{max:a?this._getPositionOfElement(a):u,min:l?this._getPositionOfElement(l):c}:{max:l?this._getPositionOfElement(l):u,min:a?this._getPositionOfElement(a):c}:{max:u,min:c}}_getIndexOfNearestValue(e){const t=this.values;return t.indexOf(t.reduce(((t,n)=>Math.abs(n-e)<Math.abs(t-e)?n:t)))}_getCursorPositionFromEvent(e){const t=this._getDimensions(this.trackElement);return this._isHorizontalLayout()?e.clientX-t.left:e.clientY-t.top}_getStepValues(){const{steps:e}=this;if(Array.isArray(e))return e;const{max:t,min:n}=this;if(null==n||null==t||null==e)return[];const i=Math.ceil((t-n)/e),s=[];for(let o=0;o<=i;o++){const i=n+e*o;s.push(i>t?t:i)}return s}_toStep(e,t){const n=this.values[e],i=this._getStepValues(),s=i.indexOf(n);let o=null;if(s>-1){let n=i[s+t];isNaN(n)&&(n=i[s]);const r=this._positionFromValue(n);o=this._getStepValueForAnchorAtPosition(e,r)}else{o=i[this._getIndexOfNearestStepValue(n)+t]}this.viewModel.setValue(e,o)}_getIndexOfNearestStepValue(e){const{steps:t}=this;if(null==t)return null;const n=this._getStepValues(),i=n.reduce(((t,n)=>Math.abs(n-e)<Math.abs(t-e)?n:t));return n.indexOf(i)}_calculateNearestStepPosition(e){const t=this._valueFromPosition(e),n=this._getIndexOfNearestStepValue(t),i=this._getStepValues();return this._positionFromValue(i[n])}_getTickCounts(e,t){const{mode:n}=t;return"count"===n||"position"===n?e||0:"percent"===n&&100/e||0}_calculateTickPositions(e){return e.map((e=>this._positionFromValue(e)))}_calculateEquidistantTickPositions(e){const{_trackWidth:t,_trackHeight:n}=this,i=this._isHorizontalLayout()?t:n,s=i/(e-1),o=[];if(1===e)return[i/2];for(let r=0;r<e;r++){const e=r*s;e<=i&&o.push(e)}return o}_getDimensions(e){try{return i(e),e.getBoundingClientRect()}catch(t){if("object"==typeof t&&null!==t)return new DOMRect(0,0,0,0);throw t}}_emitTrackClickEvent(e){this.emit("track-click",{...e,type:"track-click"})}_emitTickClickEvent(e){this.emit("tick-click",{...e,type:"tick-click"})}_emitMaxChangeEvent(e){this.emit("max-change",{...e,type:"max-change"})}_emitMinChangeEvent(e){this.emit("min-change",{...e,type:"min-change"})}_emitThumbChangeEvent(e){this.emit("thumb-change",{...e,type:"thumb-change"})}_emitThumbClickEvent(e){this.emit("thumb-click",{...e,type:"thumb-click"})}_emitThumbDragEvent(e){this.emit("thumb-drag",{...e,type:"thumb-drag"})}_emitSegmentClickEvent(e){this.emit("segment-click",{...e,type:"segment-click"})}_emitSegmentDragEvent(e){this.emit("segment-drag",{...e,type:"segment-drag"})}_emitRangeLabelClickEvent(e){this.emit(e.type,e)}};function f(e){return e?.["data-thumb-index"]}function b(e){return e?.["data-input-index"]}function E(e){return e?.["data-segment-index"]}function x(e){return e?.["data-min-thumb-index"]}function y(e){return e?.["data-max-thumb-index"]}function k(e){return e?.["data-value"]}function P(e){return e?.["data-tick-config-index"]}function I(e){return e?.["data-tick-group-index"]}function A(e){return e?.["data-config"]}e([s()],g.prototype,"disabled",void 0),e([s()],g.prototype,"draggableSegmentsEnabled",void 0),e([s()],g.prototype,"effectiveMax",null),e([s()],g.prototype,"effectiveMin",null),e([s({readOnly:!0})],g.prototype,"effectiveSegmentElements",void 0),e([s()],g.prototype,"extraNodes",void 0),e([s()],g.prototype,"inputCreatedFunction",void 0),e([s()],g.prototype,"inputFormatFunction",null),e([s()],g.prototype,"inputParseFunction",null),e([s()],g.prototype,"label",null),e([s({readOnly:!0})],g.prototype,"labelElements",void 0),e([s()],g.prototype,"labelInputsEnabled",void 0),e([s()],g.prototype,"labelFormatFunction",null),e([s({readOnly:!0})],g.prototype,"labels",null),e([s({value:"horizontal"})],g.prototype,"layout",null),e([s()],g.prototype,"max",null),e([s({readOnly:!0})],g.prototype,"maxLabelElement",void 0),e([s(),d("esri/widgets/Slider/t9n/Slider")],g.prototype,"messages",void 0),e([s()],g.prototype,"min",null),e([s({readOnly:!0})],g.prototype,"minLabelElement",void 0),e([s()],g.prototype,"precision",null),e([s()],g.prototype,"rangeLabelInputsEnabled",void 0),e([s({readOnly:!0})],g.prototype,"segmentElements",void 0),e([s()],g.prototype,"snapOnClickEnabled",void 0),e([s({readOnly:!0})],g.prototype,"state",null),e([s()],g.prototype,"steps",void 0),e([s()],g.prototype,"syncedSegmentsEnabled",void 0),e([s()],g.prototype,"thumbsConstrained",null),e([s()],g.prototype,"thumbCreatedFunction",void 0),e([s({readOnly:!0})],g.prototype,"thumbElements",void 0),e([s()],g.prototype,"tickConfigs",null),e([s({readOnly:!0})],g.prototype,"tickElements",void 0),e([s({readOnly:!0})],g.prototype,"trackElement",void 0),e([s()],g.prototype,"values",null),e([s()],g.prototype,"viewModel",void 0),e([s()],g.prototype,"visibleElements",void 0),e([o("visibleElements")],g.prototype,"castVisibleElements",null),g=e([r("esri.widgets.Slider")],g);const L=g;export{L as default};
package/widgets/Swipe.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../chunks/tslib.es6.js";import{eventKey as t}from"../core/events.js";import{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 r}from"../core/accessorSupport/decorators/subclass.js";import n from"./Widget.js";import{globalCss as o}from"./support/globalCss.js";import{legacyIcon as s}from"./support/legacyIcon.js";import"./support/widgetUtils.js";import{messageBundle as a}from"./support/decorators/messageBundle.js";import{tsx as l}from"./support/jsxFactory.js";import d from"./Swipe/SwipeViewModel.js";const p="esri-swipe",c={base:p,widgetIcon:s.upDownArrows,baseDisabled:`${p}--disabled`,vertical:`${p}--vertical`,horizontal:`${p}--horizontal`,container:`${p}__container`,divider:`${p}__divider`,handle:`${p}__handle`,handleHidden:`${p}__handle--hidden`,handleIcon:`${p}__handle-icon`},h={handle:!0,divider:!0};let v=class extends n{constructor(e,t){super(e,t),this.disabled=!1,this.iconClass=c.widgetIcon,this.icon=null,this.messages=null,this.viewModel=new d,this._pointerOffset=0,this._container=null,this._onContainerPointerDown=this._onContainerPointerDown.bind(this),this._onContainerPointerMove=this._onContainerPointerMove.bind(this),this._onContainerPointerUp=this._onContainerPointerUp.bind(this)}get direction(){return this.viewModel.direction}set direction(e){this.viewModel.direction=e}get dragLabel(){return this.messages?.dragLabel??""}set dragLabel(e){this._overrideIfSome("dragLabel",e)}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get leadingLayers(){return this.viewModel.leadingLayers}set leadingLayers(e){this.viewModel.leadingLayers=e}get position(){return this.viewModel.position}set position(e){this.viewModel.position=e}get trailingLayers(){return this.viewModel.trailingLayers}set trailingLayers(e){this.viewModel.trailingLayers=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}set visibleElements(e){this._set("visibleElements",{...h,...e})}get visibleElements(){return this._get("visibleElements")||h}render(){const{state:e,direction:t}=this.viewModel,i="disabled"===e||this.disabled,r={[o.disabled]:i,[c.baseDisabled]:i,[c.vertical]:"vertical"===t,[c.horizontal]:"horizontal"===t};return l("div",{class:this.classes(c.base,o.widget,r)},"disabled"===e?null:this._renderContainer())}_renderHandle(){const{direction:e}=this.viewModel,{visibleElements:t}=this,i={[s.dragHorizontal]:"vertical"===e,[s.dragVertical]:"horizontal"===e},r=this.classes(c.handle,!t.handle&&c.handleHidden);return l("div",{key:"handle",role:"presentation",class:r},l("span",{"aria-hidden":"true",class:this.classes(c.handleIcon,i)}))}_renderDivider(){const{visibleElements:e}=this;return e&&e.divider?l("div",{key:"divider",role:"presentation",class:c.divider}):null}_renderContent(){return[this._renderDivider(),this._renderHandle()]}_renderContainer(){const{disabled:e,dragLabel:t,viewModel:i}=this,{max:r,min:n,direction:o,position:s}=i,a=`${s}%`,d={top:"vertical"===o?a:void 0,left:"vertical"===o?void 0:a},p=this._renderContent();return l("div",e?{key:"container",role:"presentation",styles:d,class:c.container}:{tabIndex:0,key:"container",bind:this,afterCreate:this._afterContainerCreate,onkeydown:this._onContainerKeyDown,"touch-action":"none",role:"slider",title:t,"aria-label":t,"aria-orientation":o,"aria-valuemax":`${r}`,"aria-valuemin":`${n}`,"aria-valuenow":`${s}`,"aria-valuetext":a,styles:d,class:c.container},p)}_afterContainerCreate(e){this._container=e,e.addEventListener("pointerdown",this._onContainerPointerDown)}_calculatePointerOffset(e){const{direction:t}=this,i=e.target,r=("vertical"===t?i.clientHeight:i.clientWidth)/2,n=i.getBoundingClientRect(),o=e.clientX-n.left,s=e.clientY-n.top;this._pointerOffset="vertical"===t?s-r:o-r}_onContainerPointerDown(e){e.preventDefault(),this._container&&document.activeElement!==this.container&&this._container.focus(),this._calculatePointerOffset(e),document.addEventListener("pointerup",this._onContainerPointerUp),document.addEventListener("pointermove",this._onContainerPointerMove)}_onContainerPointerUp(e){e.preventDefault(),document.removeEventListener("pointerup",this._onContainerPointerUp),document.removeEventListener("pointermove",this._onContainerPointerMove)}_onContainerPointerMove(e){e.preventDefault();const{_pointerOffset:t,container:i,direction:r}=this,{clientX:n,clientY:o}=e,{top:s,left:a,width:l,height:d}=i.getBoundingClientRect(),p=("vertical"===r?o-s-t:n-a-t)/("vertical"===r?d:l)*100;this.position=p}_getKeyPosition(e){const i=t(e),{position:r}=this,{max:n,min:o,step:s,stepMultiplier:a,direction:l}=this.viewModel,d=s*a;["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","Home","End","PageUp","PageDown"].includes(i)&&(e.preventDefault(),e.stopPropagation());if("vertical"===l?"ArrowDown"===i||"ArrowRight"===i:"ArrowUp"===i||"ArrowRight"===i){return r+(e.shiftKey?d:s)}if("vertical"===l?"ArrowUp"===i||"ArrowLeft"===i:"ArrowDown"===i||"ArrowLeft"===i){return r-(e.shiftKey?d:s)}if("Home"===i)return o;if("End"===i)return n;if("vertical"===l?"PageDown"===i:"PageUp"===i)return r+d;return("vertical"===l?"PageUp"===i:"PageDown"===i)?r-d:null}_onContainerKeyDown(e){const t=this._getKeyPosition(e);"number"==typeof t&&(this.position=t)}};e([i()],v.prototype,"direction",null),e([i()],v.prototype,"disabled",void 0),e([i()],v.prototype,"dragLabel",null),e([i()],v.prototype,"iconClass",void 0),e([i()],v.prototype,"icon",void 0),e([i()],v.prototype,"label",null),e([i()],v.prototype,"leadingLayers",null),e([i(),a("esri/widgets/Swipe/t9n/Swipe")],v.prototype,"messages",void 0),e([i()],v.prototype,"position",null),e([i()],v.prototype,"trailingLayers",null),e([i()],v.prototype,"view",null),e([i({type:d})],v.prototype,"viewModel",void 0),e([i()],v.prototype,"visibleElements",null),v=e([r("esri.widgets.Swipe")],v);const u=v;export{u as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import{eventKey as t}from"../core/events.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 r}from"../core/accessorSupport/decorators/subclass.js";import n from"./Widget.js";import{globalCss as o}from"./support/globalCss.js";import{legacyIcon as s}from"./support/legacyIcon.js";import"./support/widgetUtils.js";import{messageBundle as a}from"./support/decorators/messageBundle.js";import{tsx as l}from"./support/jsxFactory.js";import d from"./Swipe/SwipeViewModel.js";const p="esri-swipe",c={base:p,widgetIcon:s.upDownArrows,baseDisabled:`${p}--disabled`,vertical:`${p}--vertical`,horizontal:`${p}--horizontal`,container:`${p}__container`,divider:`${p}__divider`,handle:`${p}__handle`,handleHidden:`${p}__handle--hidden`,handleIcon:`${p}__handle-icon`},h={handle:!0,divider:!0};let v=class extends n{constructor(e,t){super(e,t),this.disabled=!1,this.iconClass=c.widgetIcon,this.icon=null,this.messages=null,this.viewModel=new d,this._pointerOffset=0,this._container=null,this._onContainerPointerDown=this._onContainerPointerDown.bind(this),this._onContainerPointerMove=this._onContainerPointerMove.bind(this),this._onContainerPointerUp=this._onContainerPointerUp.bind(this)}get direction(){return this.viewModel.direction}set direction(e){this.viewModel.direction=e}get dragLabel(){return this.messages?.dragLabel??""}set dragLabel(e){this._overrideIfSome("dragLabel",e)}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get leadingLayers(){return this.viewModel.leadingLayers}set leadingLayers(e){this.viewModel.leadingLayers=e}get position(){return this.viewModel.position}set position(e){this.viewModel.position=e}get trailingLayers(){return this.viewModel.trailingLayers}set trailingLayers(e){this.viewModel.trailingLayers=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}set visibleElements(e){this._set("visibleElements",{...h,...e})}get visibleElements(){return this._get("visibleElements")||h}render(){const{state:e,direction:t}=this.viewModel,i="disabled"===e||this.disabled,r={[o.disabled]:i,[c.baseDisabled]:i,[c.vertical]:"vertical"===t,[c.horizontal]:"horizontal"===t};return l("div",{class:this.classes(c.base,o.widget,r)},"disabled"===e?null:this._renderContainer())}_renderHandle(){const{direction:e}=this.viewModel,{visibleElements:t}=this,i={[s.dragHorizontal]:"vertical"===e,[s.dragVertical]:"horizontal"===e},r=this.classes(c.handle,!t.handle&&c.handleHidden);return l("div",{class:r,key:"handle",role:"presentation"},l("span",{"aria-hidden":"true",class:this.classes(c.handleIcon,i)}))}_renderDivider(){const{visibleElements:e}=this;return e&&e.divider?l("div",{class:c.divider,key:"divider",role:"presentation"}):null}_renderContent(){return[this._renderDivider(),this._renderHandle()]}_renderContainer(){const{disabled:e,dragLabel:t,viewModel:i}=this,{max:r,min:n,direction:o,position:s}=i,a=`${s}%`,d={top:"vertical"===o?a:void 0,left:"vertical"===o?void 0:a},p=this._renderContent();return l("div",e?{class:c.container,key:"container",role:"presentation",styles:d}:{afterCreate:this._afterContainerCreate,"aria-label":t,"aria-orientation":o,"aria-valuemax":`${r}`,"aria-valuemin":`${n}`,"aria-valuenow":`${s}`,"aria-valuetext":a,bind:this,class:c.container,key:"container",onkeydown:this._onContainerKeyDown,role:"slider",styles:d,tabIndex:0,title:t,"touch-action":"none"},p)}_afterContainerCreate(e){this._container=e,e.addEventListener("pointerdown",this._onContainerPointerDown)}_calculatePointerOffset(e){const{direction:t}=this,i=e.target,r=("vertical"===t?i.clientHeight:i.clientWidth)/2,n=i.getBoundingClientRect(),o=e.clientX-n.left,s=e.clientY-n.top;this._pointerOffset="vertical"===t?s-r:o-r}_onContainerPointerDown(e){e.preventDefault(),this._container&&document.activeElement!==this.container&&this._container.focus(),this._calculatePointerOffset(e),document.addEventListener("pointerup",this._onContainerPointerUp),document.addEventListener("pointermove",this._onContainerPointerMove)}_onContainerPointerUp(e){e.preventDefault(),document.removeEventListener("pointerup",this._onContainerPointerUp),document.removeEventListener("pointermove",this._onContainerPointerMove)}_onContainerPointerMove(e){e.preventDefault();const{_pointerOffset:t,container:i,direction:r}=this,{clientX:n,clientY:o}=e,{top:s,left:a,width:l,height:d}=i.getBoundingClientRect(),p=("vertical"===r?o-s-t:n-a-t)/("vertical"===r?d:l)*100;this.position=p}_getKeyPosition(e){const i=t(e),{position:r}=this,{max:n,min:o,step:s,stepMultiplier:a,direction:l}=this.viewModel,d=s*a;["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","Home","End","PageUp","PageDown"].includes(i)&&(e.preventDefault(),e.stopPropagation());if("vertical"===l?"ArrowDown"===i||"ArrowRight"===i:"ArrowUp"===i||"ArrowRight"===i){return r+(e.shiftKey?d:s)}if("vertical"===l?"ArrowUp"===i||"ArrowLeft"===i:"ArrowDown"===i||"ArrowLeft"===i){return r-(e.shiftKey?d:s)}if("Home"===i)return o;if("End"===i)return n;if("vertical"===l?"PageDown"===i:"PageUp"===i)return r+d;return("vertical"===l?"PageUp"===i:"PageDown"===i)?r-d:null}_onContainerKeyDown(e){const t=this._getKeyPosition(e);"number"==typeof t&&(this.position=t)}};e([i()],v.prototype,"direction",null),e([i()],v.prototype,"disabled",void 0),e([i()],v.prototype,"dragLabel",null),e([i()],v.prototype,"iconClass",void 0),e([i()],v.prototype,"icon",void 0),e([i()],v.prototype,"label",null),e([i()],v.prototype,"leadingLayers",null),e([i(),a("esri/widgets/Swipe/t9n/Swipe")],v.prototype,"messages",void 0),e([i()],v.prototype,"position",null),e([i()],v.prototype,"trailingLayers",null),e([i()],v.prototype,"view",null),e([i({type:d})],v.prototype,"viewModel",void 0),e([i()],v.prototype,"visibleElements",null),v=e([r("esri.widgets.Swipe")],v);const u=v;export{u 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 e from"../core/Collection.js";import{eventKey as s}from"../core/events.js";import{watch as i,on as o,initial as n}from"../core/reactiveUtils.js";import{property as r}from"../core/accessorSupport/decorators/property.js";import{cast as a}from"../core/accessorSupport/decorators/cast.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as l}from"../core/accessorSupport/decorators/subclass.js";import c from"./Widget.js";import{globalCss as d}from"./support/globalCss.js";import{legacyIcon as m}from"./support/legacyIcon.js";import{accessibleHandler as u}from"./support/decorators/accessibleHandler.js";import{messageBundle as h}from"./support/decorators/messageBundle.js";import{vmEvent as g}from"./support/decorators/vmEvent.js";import{tsx as p}from"./support/jsxFactory.js";import"./support/widgetUtils.js";import _ from"./TableList/ListItem.js";import b from"./TableList/TableListViewModel.js";import{findSelectedItem as y}from"./TableList/support/tableListUtils.js";import I from"sortablejs";function v(t,e,s){t.splice(s,0,t.splice(e,1)[0])}const f=e.ofType(_),A="root-tables",S="data-layer-uid",w="layerUid",C="esri-table-list",T={base:C,widgetIcon:m.table,noItems:`${C}__no-items`,list:`${C}__list`,listRoot:`${C}__list--root`,item:`${C}__item`,itemChosen:`${C}__item--chosen`,itemMessage:`${C}__item--has-message`,itemSelectable:`${C}__item--selectable`,itemContainer:`${C}__item-container`,actionsMenu:`${C}__item-actions-menu`,actionsMenuItem:`${C}__item-actions-menu-item`,actionsMenuItemActive:`${C}__item-actions-menu-item--active`,actions:`${C}__item-actions`,actionsList:`${C}__item-actions-list`,action:`${C}__item-action`,actionIcon:`${C}__item-action-icon`,actionImage:`${C}__item-action-image`,actionTitle:`${C}__item-action-title`,actionToggle:`${C}__action-toggle`,actionToggleOn:`${C}__action-toggle--on`,message:`${C}__item-message`,title:`${C}__item-title`,publishing:`${C}__publishing`},$={actions:"actions",actionSection:"action-section",items:"items"};function M(t){const{actionsOpen:e}=t;e&&(t.actionsOpen=!1)}const k={statusIndicators:!0,errors:!1};let E=class extends c{constructor(t,e){super(t,e),this._sortable=null,this._sortableNode=null,this._focusSortUid=null,this.visibleItems=null,this.iconClass=T.widgetIcon,this.icon=null,this.messages=null,this.messagesCommon=null,this.multipleSelectionEnabled=!1,this.selectionEnabled=!1,this.selectedItems=new f,this.viewModel=new b,this.visibleElements={...k}}initialize(){this._setVisibleItems(this.tableItems),this.addHandles([i((()=>this.visibleElements),(()=>this._itemsChanged())),o((()=>this.viewModel.tableItems),"change",(()=>this._itemsChanged())),i((()=>this.selectionEnabled),(()=>this._toggleSorting()),n)])}destroy(){this._destroySortable()}get label(){return this.messages?.widgetLabel??""}set label(t){this._overrideIfSome("label",t)}get listItemCreatedFunction(){return this.viewModel.listItemCreatedFunction}set listItemCreatedFunction(t){this.viewModel.listItemCreatedFunction=t}get map(){return this.viewModel.map}set map(t){this.viewModel.map=t}get tableItems(){return this.viewModel.tableItems}castVisibleElements(t){return{...k,...t}}triggerAction(t,e){return this.viewModel.triggerAction(t,e)}render(){const{visibleItems:t}=this,e=this.viewModel?.state,s={[d.hidden]:"loading"===e,[d.disabled]:"disabled"===e};return p("div",{class:this.classes(T.base,d.widget,d.panel,s)},t?.length?this._renderList():this._renderNoItems())}_renderNoItems(){return p("div",{class:T.noItems},this.messages.noItemsToDisplay)}_renderList(){const{visibleItems:t,messages:e,selectionEnabled:s}=this;return p("ul",{"aria-label":e.widgetLabel,role:s?"listbox":void 0,afterCreate:this._sortNodeCreated,afterRemoved:this._destroySortable,"data-node-ref":"_sortableNode",bind:this,class:this.classes(T.list,T.listRoot)},t?.map((t=>this._renderItem(t))).toArray())}_renderItem(t){const{id:e,selectionEnabled:s,selectedItems:i}=this,o=`${`${e}_${t.uid}`}__title`,n=this._hasMessage(t),r={[T.itemMessage]:!!n,[T.itemSelectable]:s};if(s){const e={[S]:t.layer?.uid};return p("li",{key:`item-with-selection-${t.uid}`,bind:this,afterCreate:this._focusListItem,afterUpdate:this._focusListItem,class:this.classes(T.item,r),"aria-labelledby":o,onclick:this._toggleSelection,onkeydown:this._selectionKeydown,"data-item":t,tabIndex:0,"aria-selected":y(t,i)?"true":"false",role:"option",...e},this._renderItemContent(t,o))}return p("li",{key:`item-no-selection-${t.uid}`,bind:this,afterCreate:this._focusListItem,afterUpdate:this._focusListItem,class:this.classes(T.item,r),"aria-labelledby":o},this._renderItemContent(t,o))}_renderActionsMenuIcon(t,e){const{messagesCommon:s}=this,i={[T.actionsMenuItemActive]:t.actionsOpen};return p("div",{key:"actions-menu-toggle","data-item":t,bind:this,onclick:this._toggleActionsOpen,onkeydown:this._toggleActionsOpen,class:this.classes(T.actionsMenuItem,i),tabIndex:0,role:"button","aria-controls":e,"aria-label":s.options,title:s.options},p("span",{"aria-hidden":"true",class:m.handleHorizontal}))}_renderActionsMenu(t,e,s,i){const o=1===s&&this._getSingleActionButton(e),n=o?this._renderAction({item:t,action:o,singleAction:!0}):null,r=!o&&s?this._renderActionsMenuIcon(t,i):null;return r||o?p("div",{key:"actions-menu",class:T.actionsMenu},n,r):null}_renderItemMessage(t){return t.error?p("div",{key:"esri-table-list__error",class:T.message,role:"alert"},p("span",{"aria-hidden":"true",class:m.noticeTriangle}),this.messages.tableError):null}_renderItemStatus(t){const{visibleElements:e}=this;if(!e.statusIndicators)return null;const{publishing:s}=t;return p("span",{class:this.classes({[T.publishing]:s}),key:"layer-item-status"})}_renderItemContent(t,e){const{id:s}=this,i=`${`${s}_${t.uid}`}_actions`,o=this._filterActions(t.actionsSections),n=this._countActions(o);return[p("div",{key:"list-item-container",class:T.itemContainer},this._renderTitle(t,e),this._renderItemStatus(t),this._renderActionsMenu(t,o,n,i)),this._renderItemMessage(t),n?this._renderActionsSections(t,o,i):null]}_renderTitle(t,e){const{messages:s}=this,i=t.title||s.untitledTable;return p("span",{key:"layer-title-container",id:e,class:T.title},i)}_renderActionsSections(t,e,s){const i=e.toArray().map(((e,s)=>p("ul",{key:`${t}-action-section-${s}`,class:T.actionsList},this._renderActionSection(t,e))));return p("div",{role:"group","aria-expanded":t.actionsOpen?"true":"false",key:"actions-section",id:s,class:T.actions,hidden:!t.actionsOpen||null},i)}_renderActionSection(t,e){return(e&&e.toArray()).map((e=>this._renderAction({item:t,action:e})))}_renderActionIcon(t){const{active:e,className:s}=t,i=this._getIconImageStyles(t),o="button"!==t.type||t.image||s?s:m.defaultAction,n={[T.actionImage]:!e&&!!i["background-image"],[m.loadingIndicator]:e,[d.rotating]:e};return o&&!e&&(n[o]=!0),p("span",{key:"action-icon","aria-hidden":"true",class:this.classes(T.actionIcon,n),styles:i})}_renderActionTitle(t,e){return e?null:p("span",{key:"action-title",class:T.actionTitle},t)}_renderAction(t){const{item:e,action:s,singleAction:i}=t,{active:o,disabled:n,title:r}=s,a={[T.actionsMenuItem]:i&&"button"===s.type,[T.action]:o||!i&&"toggle"!==s.type,[T.actionToggle]:!o&&"toggle"===s.type,[T.actionToggleOn]:!o&&"toggle"===s.type&&s.value,[d.disabledElement]:n},l=[this._renderActionIcon(s),this._renderActionTitle(r,i)];return i?p("div",{bind:this,"data-item":e,"data-action":s,role:"button",key:`single-action-${s.uid}`,onclick:this._triggerAction,onkeydown:this._triggerAction,classes:a,tabIndex:0,title:r??void 0,"aria-label":r},l):p("li",{bind:this,"data-item":e,"data-action":s,key:`action-${s.uid}`,onclick:this._triggerAction,onkeydown:this._triggerAction,classes:a,tabIndex:0,role:"button",title:r??void 0,"aria-label":r},l)}_hasMessage(t){return!!t.error}_filterActions(t){return t.map((t=>t.filter((t=>t.visible))))}_setVisibleItems(t){this.visibleItems=t?.filter((t=>!t.hidden&&(this.visibleElements.errors||!t.error)))}_destroySortable(){const{_sortable:t}=this;t&&t.destroy(),this._sortable=null}_toggleSorting(){const{_sortable:t,_sortableNode:e,selectionEnabled:s}=this;if(e)if(t)t.option("disabled",!s);else{const t=I.create(e,{dataIdAttr:S,group:A,fallbackTolerance:4,disabled:!s,onSort:()=>this._sortTablesToItems(t.toArray()),chosenClass:T.itemChosen});this._sortable=t}}_sortNodeCreated(t){this._sortableNode=t,this._toggleSorting()}_sortTablesToItems(t){const e=this.map?.tables;e&&e.sort(((e,s)=>{const i=t.indexOf(e.uid),o=t.indexOf(s.uid);return i>o?-1:i<o?1:0}))}_getSingleActionButton(t){return t.reduce((t=>t)).filter((t=>t&&"button"===t.type)).at(0)}_focusListItem(t){const{_focusSortUid:e}=this;if(!t||!e)return;const s=O(t);s.layer?.uid===e&&(t.focus(),this._focusSortUid=null)}_watchActionSectionChanges(t){const e=()=>this.scheduleRender();this.addHandles(t.on("change",e),$.actionSection),t.forEach((t=>this._renderOnActionChanges(t)))}_renderOnActionChanges(t){const e=()=>this.scheduleRender();"toggle"!==t.type?"slider"!==t.type?this.addHandles(i((()=>[t.className,t.image,t.id,t.title,t.visible]),e,n),$.actions):this.addHandles(i((()=>[t.className,t.id,t.title,t.visible,t.value,t.displayValueEnabled,t.max,t.min,t.step]),e,n),$.actions):this.addHandles(i((()=>[t.className,t.image,t.id,t.title,t.visible,t.value]),e,n),$.actions)}_renderOnItemChanges(t){const e=()=>this.scheduleRender();this.addHandles([i((()=>[t.actionsOpen,t.title,t.error,t.publishing]),e,n),i((()=>[t.hidden,t.error]),(()=>this._setVisibleItems(this.tableItems))),t.actionsSections.on("change",e)],$.items),t.actionsSections.forEach((t=>this._watchActionSectionChanges(t)))}_itemsChanged(){const{tableItems:t}=this.viewModel;this._setVisibleItems(t),this.removeHandles($.actionSection),this.removeHandles($.actions),this.removeHandles($.items),t.forEach((t=>this._renderOnItemChanges(t))),this.scheduleRender()}_countActions(t){return t.reduce(((t,e)=>t+e.length),0)}_getIconImageStyles(t){const e="esri.support.Action.ActionButton"===t.declaredClass||"esri.support.Action.ActionToggle"===t.declaredClass?t.image:null;return{"background-image":e?`url("${e}")`:void 0}}_selectionKeydown(t){const e=["ArrowDown","ArrowUp"],i=s(t);if(!e.includes(i))return void this._toggleSelection(t);t.stopPropagation();const o=t.currentTarget["data-item"],{_sortable:n,selectedItems:r}=this;if(!n)return;const a=y(o,r),l=n.toArray(),c=t.target,d=l.indexOf(c.dataset[w]);if(-1!==d){if("ArrowDown"===i){const t=d+1;if(t>=l.length)return;a?(v(l,d,t),n.sort(l),this._sortTablesToItems(n.toArray()),this._focusSortUid=o.layer?.uid):(this._focusSortUid=o.layer?.uid,this.scheduleRender())}if("ArrowUp"===i){const t=d-1;if(t<=-1)return;a?(v(l,d,t),n.sort(l),this._sortTablesToItems(n.toArray()),this._focusSortUid=o.layer?.uid):(this._focusSortUid=o.layer?.uid,this.scheduleRender())}}}_toggleActionsOpen(t){const e=O(t.currentTarget),{actionsOpen:s}=e,i=!s;i&&this.tableItems.forEach((t=>M(t))),e.actionsOpen=i,t.stopPropagation()}_triggerAction(t){const e=t.currentTarget,s=j(e),i=O(e);"toggle"===s.type&&(s.value=!s.value),this.triggerAction(s,i),t.stopPropagation()}_toggleSelection(t){t.stopPropagation();const{multipleSelectionEnabled:e,selectedItems:s}=this,i=e&&(t.metaKey||t.ctrlKey),o=O(t.currentTarget),n=y(o,s),{length:r}=s;if(!i)return r&&!(n&&1===r)?(s.removeAll(),void s.add(o)):void(n?s.remove(n):s.add(o));n?s.remove(n):s.add(o)}get test(){return{visibleItems:this.visibleItems}}};function j(t){return t["data-action"]}function O(t){return t["data-item"]}t([r()],E.prototype,"visibleItems",void 0),t([r()],E.prototype,"iconClass",void 0),t([r()],E.prototype,"icon",void 0),t([r()],E.prototype,"label",null),t([r()],E.prototype,"listItemCreatedFunction",null),t([r()],E.prototype,"map",null),t([r(),h("esri/widgets/TableList/t9n/TableList")],E.prototype,"messages",void 0),t([r(),h("esri/t9n/common")],E.prototype,"messagesCommon",void 0),t([r()],E.prototype,"multipleSelectionEnabled",void 0),t([r()],E.prototype,"selectionEnabled",void 0),t([r()],E.prototype,"selectedItems",void 0),t([r({readOnly:!0})],E.prototype,"tableItems",null),t([g("trigger-action"),r({type:b})],E.prototype,"viewModel",void 0),t([r()],E.prototype,"visibleElements",void 0),t([a("visibleElements")],E.prototype,"castVisibleElements",null),t([u()],E.prototype,"_toggleActionsOpen",null),t([u()],E.prototype,"_triggerAction",null),t([u()],E.prototype,"_toggleSelection",null),E=t([l("esri.widgets.TableList")],E);const L=E;export{L as default};
5
+ import{_ as t}from"../chunks/tslib.es6.js";import e from"../core/Collection.js";import{eventKey as s}from"../core/events.js";import{watch as i,on as o,initial as n}from"../core/reactiveUtils.js";import{property as r}from"../core/accessorSupport/decorators/property.js";import{cast as a}from"../core/accessorSupport/decorators/cast.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as l}from"../core/accessorSupport/decorators/subclass.js";import c from"./Widget.js";import{globalCss as d}from"./support/globalCss.js";import{legacyIcon as m}from"./support/legacyIcon.js";import{accessibleHandler as u}from"./support/decorators/accessibleHandler.js";import{messageBundle as h}from"./support/decorators/messageBundle.js";import{vmEvent as g}from"./support/decorators/vmEvent.js";import{tsx as p}from"./support/jsxFactory.js";import"./support/widgetUtils.js";import _ from"./TableList/ListItem.js";import b from"./TableList/TableListViewModel.js";import{findSelectedItem as y}from"./TableList/support/tableListUtils.js";import I from"sortablejs";function v(t,e,s){t.splice(s,0,t.splice(e,1)[0])}const f=e.ofType(_),A="root-tables",S="data-layer-uid",w="layerUid",C="esri-table-list",T={base:C,widgetIcon:m.table,noItems:`${C}__no-items`,list:`${C}__list`,listRoot:`${C}__list--root`,item:`${C}__item`,itemChosen:`${C}__item--chosen`,itemMessage:`${C}__item--has-message`,itemSelectable:`${C}__item--selectable`,itemContainer:`${C}__item-container`,actionsMenu:`${C}__item-actions-menu`,actionsMenuItem:`${C}__item-actions-menu-item`,actionsMenuItemActive:`${C}__item-actions-menu-item--active`,actions:`${C}__item-actions`,actionsList:`${C}__item-actions-list`,action:`${C}__item-action`,actionIcon:`${C}__item-action-icon`,actionImage:`${C}__item-action-image`,actionTitle:`${C}__item-action-title`,actionToggle:`${C}__action-toggle`,actionToggleOn:`${C}__action-toggle--on`,message:`${C}__item-message`,title:`${C}__item-title`,publishing:`${C}__publishing`},$={actions:"actions",actionSection:"action-section",items:"items"};function M(t){const{actionsOpen:e}=t;e&&(t.actionsOpen=!1)}const k={statusIndicators:!0,errors:!1};let E=class extends c{constructor(t,e){super(t,e),this._sortable=null,this._sortableNode=null,this._focusSortUid=null,this.visibleItems=null,this.iconClass=T.widgetIcon,this.icon=null,this.messages=null,this.messagesCommon=null,this.multipleSelectionEnabled=!1,this.selectionEnabled=!1,this.selectedItems=new f,this.viewModel=new b,this.visibleElements={...k}}initialize(){this._setVisibleItems(this.tableItems),this.addHandles([i((()=>this.visibleElements),(()=>this._itemsChanged())),o((()=>this.viewModel.tableItems),"change",(()=>this._itemsChanged())),i((()=>this.selectionEnabled),(()=>this._toggleSorting()),n)])}destroy(){this._destroySortable()}get label(){return this.messages?.widgetLabel??""}set label(t){this._overrideIfSome("label",t)}get listItemCreatedFunction(){return this.viewModel.listItemCreatedFunction}set listItemCreatedFunction(t){this.viewModel.listItemCreatedFunction=t}get map(){return this.viewModel.map}set map(t){this.viewModel.map=t}get tableItems(){return this.viewModel.tableItems}castVisibleElements(t){return{...k,...t}}triggerAction(t,e){return this.viewModel.triggerAction(t,e)}render(){const{visibleItems:t}=this,e=this.viewModel?.state,s={[d.hidden]:"loading"===e,[d.disabled]:"disabled"===e};return p("div",{class:this.classes(T.base,d.widget,d.panel,s)},t?.length?this._renderList():this._renderNoItems())}_renderNoItems(){return p("div",{class:T.noItems},this.messages.noItemsToDisplay)}_renderList(){const{visibleItems:t,messages:e,selectionEnabled:s}=this;return p("ul",{afterCreate:this._sortNodeCreated,afterRemoved:this._destroySortable,"aria-label":e.widgetLabel,bind:this,class:this.classes(T.list,T.listRoot),"data-node-ref":"_sortableNode",role:s?"listbox":void 0},t?.map((t=>this._renderItem(t))).toArray())}_renderItem(t){const{id:e,selectionEnabled:s,selectedItems:i}=this,o=`${`${e}_${t.uid}`}__title`,n=this._hasMessage(t),r={[T.itemMessage]:!!n,[T.itemSelectable]:s};if(s){const e={[S]:t.layer?.uid};return p("li",{afterCreate:this._focusListItem,afterUpdate:this._focusListItem,"aria-labelledby":o,"aria-selected":y(t,i)?"true":"false",bind:this,class:this.classes(T.item,r),"data-item":t,key:`item-with-selection-${t.uid}`,onclick:this._toggleSelection,onkeydown:this._selectionKeydown,role:"option",tabIndex:0,...e},this._renderItemContent(t,o))}return p("li",{afterCreate:this._focusListItem,afterUpdate:this._focusListItem,"aria-labelledby":o,bind:this,class:this.classes(T.item,r),key:`item-no-selection-${t.uid}`},this._renderItemContent(t,o))}_renderActionsMenuIcon(t,e){const{messagesCommon:s}=this,i={[T.actionsMenuItemActive]:t.actionsOpen};return p("div",{"aria-controls":e,"aria-label":s.options,bind:this,class:this.classes(T.actionsMenuItem,i),"data-item":t,key:"actions-menu-toggle",onclick:this._toggleActionsOpen,onkeydown:this._toggleActionsOpen,role:"button",tabIndex:0,title:s.options},p("span",{"aria-hidden":"true",class:m.handleHorizontal}))}_renderActionsMenu(t,e,s,i){const o=1===s&&this._getSingleActionButton(e),n=o?this._renderAction({item:t,action:o,singleAction:!0}):null,r=!o&&s?this._renderActionsMenuIcon(t,i):null;return r||o?p("div",{class:T.actionsMenu,key:"actions-menu"},n,r):null}_renderItemMessage(t){return t.error?p("div",{class:T.message,key:"esri-table-list__error",role:"alert"},p("span",{"aria-hidden":"true",class:m.noticeTriangle}),this.messages.tableError):null}_renderItemStatus(t){const{visibleElements:e}=this;if(!e.statusIndicators)return null;const{publishing:s}=t;return p("span",{class:this.classes({[T.publishing]:s}),key:"layer-item-status"})}_renderItemContent(t,e){const{id:s}=this,i=`${`${s}_${t.uid}`}_actions`,o=this._filterActions(t.actionsSections),n=this._countActions(o);return[p("div",{class:T.itemContainer,key:"list-item-container"},this._renderTitle(t,e),this._renderItemStatus(t),this._renderActionsMenu(t,o,n,i)),this._renderItemMessage(t),n?this._renderActionsSections(t,o,i):null]}_renderTitle(t,e){const{messages:s}=this,i=t.title||s.untitledTable;return p("span",{class:T.title,id:e,key:"layer-title-container"},i)}_renderActionsSections(t,e,s){const i=e.toArray().map(((e,s)=>p("ul",{class:T.actionsList,key:`${t}-action-section-${s}`},this._renderActionSection(t,e))));return p("div",{"aria-expanded":t.actionsOpen?"true":"false",class:T.actions,hidden:!t.actionsOpen||null,id:s,key:"actions-section",role:"group"},i)}_renderActionSection(t,e){return(e&&e.toArray()).map((e=>this._renderAction({item:t,action:e})))}_renderActionIcon(t){const{active:e,className:s}=t,i=this._getIconImageStyles(t),o="button"!==t.type||t.image||s?s:m.defaultAction,n={[T.actionImage]:!e&&!!i["background-image"],[m.loadingIndicator]:e,[d.rotating]:e};return o&&!e&&(n[o]=!0),p("span",{"aria-hidden":"true",class:this.classes(T.actionIcon,n),key:"action-icon",styles:i})}_renderActionTitle(t,e){return e?null:p("span",{class:T.actionTitle,key:"action-title"},t)}_renderAction(t){const{item:e,action:s,singleAction:i}=t,{active:o,disabled:n,title:r}=s,a={[T.actionsMenuItem]:i&&"button"===s.type,[T.action]:o||!i&&"toggle"!==s.type,[T.actionToggle]:!o&&"toggle"===s.type,[T.actionToggleOn]:!o&&"toggle"===s.type&&s.value,[d.disabledElement]:n},l=[this._renderActionIcon(s),this._renderActionTitle(r,i)];return i?p("div",{"aria-label":r,bind:this,classes:a,"data-action":s,"data-item":e,key:`single-action-${s.uid}`,onclick:this._triggerAction,onkeydown:this._triggerAction,role:"button",tabIndex:0,title:r??void 0},l):p("li",{"aria-label":r,bind:this,classes:a,"data-action":s,"data-item":e,key:`action-${s.uid}`,onclick:this._triggerAction,onkeydown:this._triggerAction,role:"button",tabIndex:0,title:r??void 0},l)}_hasMessage(t){return!!t.error}_filterActions(t){return t.map((t=>t.filter((t=>t.visible))))}_setVisibleItems(t){this.visibleItems=t?.filter((t=>!t.hidden&&(this.visibleElements.errors||!t.error)))}_destroySortable(){const{_sortable:t}=this;t&&t.destroy(),this._sortable=null}_toggleSorting(){const{_sortable:t,_sortableNode:e,selectionEnabled:s}=this;if(e)if(t)t.option("disabled",!s);else{const t=I.create(e,{dataIdAttr:S,group:A,fallbackTolerance:4,disabled:!s,onSort:()=>this._sortTablesToItems(t.toArray()),chosenClass:T.itemChosen});this._sortable=t}}_sortNodeCreated(t){this._sortableNode=t,this._toggleSorting()}_sortTablesToItems(t){const e=this.map?.tables;e&&e.sort(((e,s)=>{const i=t.indexOf(e.uid),o=t.indexOf(s.uid);return i>o?-1:i<o?1:0}))}_getSingleActionButton(t){return t.reduce((t=>t)).filter((t=>t&&"button"===t.type)).at(0)}_focusListItem(t){const{_focusSortUid:e}=this;if(!t||!e)return;const s=O(t);s.layer?.uid===e&&(t.focus(),this._focusSortUid=null)}_watchActionSectionChanges(t){const e=()=>this.scheduleRender();this.addHandles(t.on("change",e),$.actionSection),t.forEach((t=>this._renderOnActionChanges(t)))}_renderOnActionChanges(t){const e=()=>this.scheduleRender();"toggle"!==t.type?"slider"!==t.type?this.addHandles(i((()=>[t.className,t.image,t.id,t.title,t.visible]),e,n),$.actions):this.addHandles(i((()=>[t.className,t.id,t.title,t.visible,t.value,t.displayValueEnabled,t.max,t.min,t.step]),e,n),$.actions):this.addHandles(i((()=>[t.className,t.image,t.id,t.title,t.visible,t.value]),e,n),$.actions)}_renderOnItemChanges(t){const e=()=>this.scheduleRender();this.addHandles([i((()=>[t.actionsOpen,t.title,t.error,t.publishing]),e,n),i((()=>[t.hidden,t.error]),(()=>this._setVisibleItems(this.tableItems))),t.actionsSections.on("change",e)],$.items),t.actionsSections.forEach((t=>this._watchActionSectionChanges(t)))}_itemsChanged(){const{tableItems:t}=this.viewModel;this._setVisibleItems(t),this.removeHandles($.actionSection),this.removeHandles($.actions),this.removeHandles($.items),t.forEach((t=>this._renderOnItemChanges(t))),this.scheduleRender()}_countActions(t){return t.reduce(((t,e)=>t+e.length),0)}_getIconImageStyles(t){const e="esri.support.Action.ActionButton"===t.declaredClass||"esri.support.Action.ActionToggle"===t.declaredClass?t.image:null;return{"background-image":e?`url("${e}")`:void 0}}_selectionKeydown(t){const e=["ArrowDown","ArrowUp"],i=s(t);if(!e.includes(i))return void this._toggleSelection(t);t.stopPropagation();const o=t.currentTarget["data-item"],{_sortable:n,selectedItems:r}=this;if(!n)return;const a=y(o,r),l=n.toArray(),c=t.target,d=l.indexOf(c.dataset[w]);if(-1!==d){if("ArrowDown"===i){const t=d+1;if(t>=l.length)return;a?(v(l,d,t),n.sort(l),this._sortTablesToItems(n.toArray()),this._focusSortUid=o.layer?.uid):(this._focusSortUid=o.layer?.uid,this.scheduleRender())}if("ArrowUp"===i){const t=d-1;if(t<=-1)return;a?(v(l,d,t),n.sort(l),this._sortTablesToItems(n.toArray()),this._focusSortUid=o.layer?.uid):(this._focusSortUid=o.layer?.uid,this.scheduleRender())}}}_toggleActionsOpen(t){const e=O(t.currentTarget),{actionsOpen:s}=e,i=!s;i&&this.tableItems.forEach((t=>M(t))),e.actionsOpen=i,t.stopPropagation()}_triggerAction(t){const e=t.currentTarget,s=j(e),i=O(e);"toggle"===s.type&&(s.value=!s.value),this.triggerAction(s,i),t.stopPropagation()}_toggleSelection(t){t.stopPropagation();const{multipleSelectionEnabled:e,selectedItems:s}=this,i=e&&(t.metaKey||t.ctrlKey),o=O(t.currentTarget),n=y(o,s),{length:r}=s;if(!i)return r&&!(n&&1===r)?(s.removeAll(),void s.add(o)):void(n?s.remove(n):s.add(o));n?s.remove(n):s.add(o)}get test(){return{visibleItems:this.visibleItems}}};function j(t){return t["data-action"]}function O(t){return t["data-item"]}t([r()],E.prototype,"visibleItems",void 0),t([r()],E.prototype,"iconClass",void 0),t([r()],E.prototype,"icon",void 0),t([r()],E.prototype,"label",null),t([r()],E.prototype,"listItemCreatedFunction",null),t([r()],E.prototype,"map",null),t([r(),h("esri/widgets/TableList/t9n/TableList")],E.prototype,"messages",void 0),t([r(),h("esri/t9n/common")],E.prototype,"messagesCommon",void 0),t([r()],E.prototype,"multipleSelectionEnabled",void 0),t([r()],E.prototype,"selectionEnabled",void 0),t([r()],E.prototype,"selectedItems",void 0),t([r({readOnly:!0})],E.prototype,"tableItems",null),t([g("trigger-action"),r({type:b})],E.prototype,"viewModel",void 0),t([r()],E.prototype,"visibleElements",void 0),t([a("visibleElements")],E.prototype,"castVisibleElements",null),t([u()],E.prototype,"_toggleActionsOpen",null),t([u()],E.prototype,"_triggerAction",null),t([u()],E.prototype,"_toggleSelection",null),E=t([l("esri.widgets.TableList")],E);const L=E;export{L 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 e from"../TimeInterval.js";import{equals as i}from"../core/arrayUtils.js";import{neverReached as s}from"../core/compilerUtils.js";import{watch as o,initial as a}from"../core/reactiveUtils.js";import{truncateDate as n,offsetDate as r}from"../core/timeUtils.js";import{property as l}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import{subclass as m}from"../core/accessorSupport/decorators/subclass.js";import{formatDate as u,convertDateFormatToIntlOptions as d}from"../intl/date.js";import c from"./Slider.js";import p from"./Widget.js";import{loadCalciteComponents as h}from"./support/componentsUtils.js";import{globalCss as v}from"./support/globalCss.js";import{legacyIcon as f}from"./support/legacyIcon.js";import{accessibleHandler as y}from"./support/decorators/accessibleHandler.js";import{messageBundle as g}from"./support/decorators/messageBundle.js";import{vmEvent as b}from"./support/decorators/vmEvent.js";import{tsx as x}from"./support/jsxFactory.js";import{onResize as w}from"./support/widgetUtils.js";import{getCalciteThemeClass as k}from"../support/themeUtils.js";import{css as j}from"./TimeSlider/css.js";import T from"./TimeSlider/TimeSliderViewModel.js";const _=3,E=858,M=[{minor:{value:100,unit:"milliseconds"},major:{value:1,unit:"seconds"},format:{second:"numeric"}},{minor:{value:500,unit:"milliseconds"},major:{value:5,unit:"seconds"},format:{second:"numeric"}},{minor:{value:1,unit:"seconds"},major:{value:20,unit:"seconds"},format:{minute:"numeric",second:"numeric"}},{minor:{value:2,unit:"seconds"},major:{value:30,unit:"seconds"},format:{minute:"numeric",second:"numeric"}},{minor:{value:10,unit:"seconds"},major:{value:1,unit:"minutes"},format:{minute:"numeric"}},{minor:{value:15,unit:"seconds"},major:{value:5,unit:"minutes"},format:{hour:"numeric",minute:"numeric"}},{minor:{value:1,unit:"minutes"},major:{value:20,unit:"minutes"},format:{hour:"numeric",minute:"numeric"}},{minor:{value:5,unit:"minutes"},major:{value:2,unit:"hours"},format:{hour:"numeric",minute:"numeric"}},{minor:{value:15,unit:"minutes"},major:{value:6,unit:"hours"},format:{hour:"numeric",minute:"numeric"}},{minor:{value:1,unit:"hours"},major:{value:1,unit:"days"},format:{day:"numeric",month:"short"}},{minor:{value:6,unit:"hours"},major:{value:1,unit:"weeks"},format:{day:"numeric",month:"short"}},{minor:{value:1,unit:"days"},major:{value:1,unit:"months"},format:{month:"long"}},{minor:{value:2,unit:"days"},major:{value:1,unit:"months"},format:{month:"short"}},{minor:{value:3,unit:"days"},major:{value:1,unit:"months"},format:{month:"short"}},{minor:{value:4,unit:"days"},major:{value:3,unit:"months"},format:{month:"short",year:"numeric"}},{minor:{value:1,unit:"weeks"},major:{value:1,unit:"years"},format:{year:"numeric"}},{minor:{value:1,unit:"months"},major:{value:1,unit:"years"},format:{year:"numeric"}},{minor:{value:2,unit:"months"},major:{value:2,unit:"years"},format:{year:"numeric"}},{minor:{value:1,unit:"years"},major:{value:1,unit:"decades"},format:{year:"numeric"}},{minor:{value:2,unit:"years"},major:{value:5,unit:"decades"},format:{year:"numeric"}},{minor:{value:5,unit:"decades"},major:{value:10,unit:"centuries"},format:{era:"short",year:"numeric"}},{minor:{value:1,unit:"centuries"},major:{value:10,unit:"centuries"},format:{era:"short",year:"numeric"}},{minor:{value:2,unit:"centuries"},major:{value:20,unit:"centuries"},format:{era:"short",year:"numeric"}},{minor:{value:5,unit:"centuries"},major:{value:50,unit:"centuries"},format:{era:"short",year:"numeric"}},{minor:{value:10,unit:"centuries"},major:{value:100,unit:"centuries"},format:{era:"short",year:"numeric"}},{minor:{value:20,unit:"centuries"},major:{value:200,unit:"centuries"},format:{era:"short",year:"numeric"}},{minor:{value:50,unit:"centuries"},major:{value:500,unit:"centuries"},format:{era:"short",year:"numeric"}},{minor:{value:100,unit:"centuries"},major:{value:1e3,unit:"centuries"},format:{era:"short",year:"numeric"}},{minor:{value:200,unit:"centuries"},major:{value:1e3,unit:"centuries"},format:{era:"short",year:"numeric"}},{minor:{value:500,unit:"centuries"},major:{value:5e3,unit:"centuries"},format:{era:"short",year:"numeric"}},{minor:{value:1e3,unit:"centuries"},major:{value:1e4,unit:"centuries"},format:{era:"short",year:"numeric"}}];let S=class extends p{constructor(t,e){super(t,e),this._ignoreNextSliderUpdate=!1,this._slider=new c({precision:0,visibleElements:{rangeLabels:!1},rangeLabelInputsEnabled:!1,thumbsConstrained:!1}),this._tickFormat=null,this.disabled=!1,this.iconClass=j.widgetIcon,this.icon=null,this.labelFormatFunction=null,this.messages=null,this.messagesCommon=null,this.tickConfigs=null,this.timeVisible=!1,this.viewModel=new T}initialize(){this.addHandles([o((()=>this._slider.values),(t=>{if(this._ignoreNextSliderUpdate)return void(this._ignoreNextSliderUpdate=!1);const e=this.viewModel.valuesToTimeExtent(t);null!=this.timeExtent?null!=e?this.timeExtent.equals(e)||(this.timeExtent=e):this.timeExtent=null:null!=e&&(this.timeExtent=e)})),o((()=>this.effectiveStops),(()=>this._updateSliderSteps()),a)])}loadDependencies(){return h({action:()=>import("@esri/calcite-components/dist/components/calcite-action.js"),"action-menu":()=>import("@esri/calcite-components/dist/components/calcite-action-menu.js")})}destroy(){this._slider.destroy(),this._tickFormat=null}get _dateFormat(){return this._getIntlOptions("short-date")}get _timeFormat(){return this._getIntlOptions("long-time")}get actions(){return this.viewModel.actions}set actions(t){this.viewModel.actions=t}get effectiveStops(){return this.viewModel.effectiveStops}get fullTimeExtent(){return this.viewModel.fullTimeExtent}set fullTimeExtent(t){this.viewModel.fullTimeExtent=t}get interactive(){return!this.disabled&&"disabled"!==this.viewModel?.state}get label(){return this.messages?.widgetLabel??""}set label(t){this._overrideIfSome("label",t)}set layout(t){["auto","compact","wide"].includes(t)||(t="auto"),this._set("layout",t)}get loop(){return this.viewModel.loop}set loop(t){this.viewModel.loop=t}get mode(){return this.viewModel.mode}set mode(t){this.viewModel.mode=t}get playRate(){return this.viewModel.playRate}set playRate(t){this.viewModel.playRate=t}get stops(){return this.viewModel.stops}set stops(t){this.viewModel.stops=t}get tickFormats(){const{timeZone:t}=this;return M.map((({minor:i,major:s,format:o})=>({minor:new e(i),major:new e(s),format:{...o,timeZone:t}})))}get timeExtent(){return this.viewModel.timeExtent}set timeExtent(t){this.viewModel.timeExtent=t}get timeZone(){return this.viewModel.view?.timeZone??"system"}set timeZone(t){this._overrideIfSome("timeZone",t)}get view(){return this.viewModel.view}set view(t){this.viewModel.view=t}static async getPropertiesFromWebMap(t,e){return T.getPropertiesFromWebMap(t,e)}next(){return this.viewModel.next()}play(){return this.viewModel.play()}previous(){return this.viewModel.previous()}stop(){return this.viewModel.stop()}render(){const{_slider:t,actions:e,domNode:s,effectiveStops:o,fullTimeExtent:a,interactive:n,messages:r,messagesCommon:l,mode:m,tickConfigs:d,timeExtent:c,timeVisible:p,viewModel:{state:h,timeExtentValues:y}}=this;if(null!=a){const{start:e,end:i}=a;if(null!=e&&null!=i){const s=e.getTime(),o=i.getTime(),a=t.min!==s||t.max!==o;if(a&&(t.min=s,t.max=o),null!=d)t.tickConfigs!==d&&(t.tickConfigs=d);else{const e=(o-s)/(t.trackElement?.offsetWidth||400),i=this.tickFormats.find((t=>t.minor.toMilliseconds()>_*e))??this.tickFormats.at(-1),n=this._tickFormat!==i&&null!=i;if(n&&(this._tickFormat=i),a||n){const e={mode:"position",values:this._getTickPositions(i.minor),labelsVisible:!1,tickCreatedFunction:(t,e)=>{e?.classList.add(j.sliderMinorTick)}},s={mode:"position",values:this._getTickPositions(i.major),labelsVisible:!0,tickCreatedFunction:(t,e)=>{e?.classList.add(j.sliderMajorTick)},labelFormatFunction:t=>u(t,i.format)};t.tickConfigs=[e,s]}}}}const g=null==this.fullTimeExtent||null==this.fullTimeExtent.start||null==this.fullTimeExtent.end||null==this.timeExtent||this.timeExtent.isAllTime||this.timeExtent.isEmpty||null!=this.timeExtent.start&&(this.timeExtent.start<this.fullTimeExtent.start||this.timeExtent.start>this.fullTimeExtent.end)||null!=this.timeExtent.end&&(this.timeExtent.end>this.fullTimeExtent.end||this.timeExtent.end<this.fullTimeExtent.start);if(g)switch(this._ignoreNextSliderUpdate=!0,m){case"time-window":t.values=[t.min,t.max];break;case"instant":case"cumulative-from-end":t.values=[t.min];break;case"cumulative-from-start":t.values=[t.max]}else null!=y?i(t.values,y)||(t.values=y):t.values=null;t.disabled=!n;const b="ready"===h,T="playing"===h,M=g||!n||null==o||0===o.length,S="auto"===this.layout?s.clientWidth<E?"compact":"wide":this.layout,F=x("div",{class:j.animation},x("button",{"aria-disabled":M?"true":"false","aria-label":T?l.control.stop:l.control.play,bind:this,class:this.classes(v.widgetButton,j.animationButton,M&&v.buttonDisabled),disabled:M,title:T?l.control.stop:l.control.play,onclick:this._playOrStopClick,type:"button"},x("div",{class:this.classes((b||M)&&f.play,T&&f.pause)}))),C=null!=this.labelFormatFunction?x("div",{key:"extent",bind:this,class:j.timeExtentDate,"data-type":"extent","data-layout":S,"data-date":c?[c.start,c.end]:null,afterCreate:this._createLabel,afterUpdate:this._createLabel}):null==c||null!=c&&c.isAllTime?[x("div",{class:this.classes(j.warning,f.noticeTriangle)}),x("div",{key:"warning-text",class:j.warningText},r.noTimeExtent)]:c.isEmpty?[x("div",{class:this.classes(j.warning,f.noticeTriangle)}),x("div",{key:"warning-text",class:j.warningText},r.emptyTimeExtent)]:[null!=c.start&&x("div",{key:"start-date-group",class:j.timeExtentGroup},x("div",{key:"start-date",class:j.timeExtentDate},this._formatDate(c.start)),p&&x("div",{key:"start-time",class:j.timeExtentTime},this._formatTime(c.start))),null!=c.start&&null!=c.end&&c.start.getTime()!==c.end.getTime()&&x("div",{key:"separator",class:j.timeExtentSeparator},"–"),null!=c.end&&(null==c.start||c.start.getTime()!==c.end.getTime())&&x("div",{key:"end-date-group",class:j.timeExtentGroup},x("div",{key:"end-date",class:j.timeExtentDate},this._formatDate(c.end)),p&&x("div",{key:"end-time",class:j.timeExtentTime},this._formatTime(c.end)))],D=x("div",{class:this.classes(j.timeExtent,!n&&v.buttonDisabled)},[C]),L=null!=this.labelFormatFunction?x("div",{key:"min-date",bind:this,class:j.minDate,"data-date":a?.start,"data-type":"min","data-layout":S,afterCreate:this._createLabel,afterUpdate:this._createLabel}):null!=a&&null!=a.start&&[x("div",{key:"min-date",class:j.minDate},this._formatDate(a.start)),p&&x("div",{key:"min-time",class:j.minTime},this._formatTime(a.start))],U=x("div",{class:this.classes(j.min,!n&&v.buttonDisabled)},[L]),Z=x("div",{class:j.slider},t.render()),R=null!=this.labelFormatFunction?x("div",{key:"max-date",bind:this,class:j.maxDate,"data-date":a?.end,"data-type":"max","data-layout":S,afterCreate:this._createLabel,afterUpdate:this._createLabel}):null!=a&&null!=a.end&&[x("div",{key:"max-date",class:j.maxDate},this._formatDate(a.end)),p&&x("div",{key:"max-time",class:j.maxTime},this._formatTime(a.end))],B=x("div",{class:this.classes(j.max,!n&&v.buttonDisabled)},[R]),I=x("div",{class:j.previous},x("button",{"aria-disabled":M?"true":"false","aria-label":l.pagination.previous,bind:this,class:this.classes(v.widgetButton,j.previousButton,(T||M)&&v.buttonDisabled),disabled:M,title:l.pagination.previous,onclick:this._previousClick,type:"button"},x("div",{class:f.reverse}))),O=x("div",{class:j.next},x("button",{"aria-disabled":M?"true":"false","aria-label":l.pagination.next,bind:this,class:this.classes(v.widgetButton,j.nextButton,(T||M)&&v.buttonDisabled),disabled:M,title:l.pagination.next,onclick:this._nextClick,type:"button"},x("div",{class:f.forward}))),A=e?.length>0,V=A&&x("div",{class:j.actions,title:l.options},x("calcite-action-menu",{label:l.options,class:j.actionsButton},e.toArray().map((t=>x("calcite-action",{bind:this,icon:t.icon,id:t.id,onclick:()=>this.viewModel.triggerAction(t),text:t.title,textEnabled:!0})))));return x("div",{class:this.classes(j.timeSlider,v.widget,`${j.timeSliderMode}${m}`,`${j.timeSliderLayout}${S}`,!n&&v.disabled,g&&j.timeSliderOutOfBounds,A&&j.hasActions,k()),afterCreate:t=>{this.addHandles(w(t,(()=>this.scheduleRender())))},"aria-label":r.widgetLabel},"wide"===S&&x("div",{class:j.timeSliderRow},x("div",{class:j.playbackControls},[F,D,U,Z,B,I,O]),V),"compact"===S&&[x("div",{key:"time-slider-row-1",class:j.timeSliderRow},[D,V]),x("div",{key:"time-slider-row-2",class:j.timeSliderRow},[Z]),x("div",{key:"time-slider-row-3",class:j.timeSliderRow},[U,I,F,O,B])])}updateWebDocument(t){this.viewModel?.updateWebDocument(t)}_createLabel(t){if(null==this.labelFormatFunction)return;const e=t.getAttribute("data-type"),i=t.getAttribute("data-layout"),s=t["data-date"];this.labelFormatFunction(s,e,t,i)}_formatDate(t){return u(t,this._dateFormat)}_formatTime(t){return u(t,this._timeFormat)}_getIntlOptions(t){const{timeZone:e}=this;return{...d(t),timeZone:e}}_getTickPositions(t){const{fullTimeExtent:e}=this;if(null==e||null==e.start||null==e.end)return[];const{start:i,end:s}=e,o=[],{value:a,unit:l}=t;let m=n(i,l,this.timeZone);for(;m.getTime()<=s.getTime();)m.getTime()>=i.getTime()&&o.push(m.getTime()),m=r(m,a,l,this.timeZone);return o}_updateSliderSteps(){this._slider.steps=null!=this.effectiveStops&&this.effectiveStops.length>0?this.effectiveStops.map((t=>t.getTime())):null}_playOrStopClick(){switch(this.viewModel.state){case"ready":this.viewModel.play();break;case"playing":this.viewModel.stop();break;case"disabled":break;default:s(this.viewModel.state)}}_previousClick(){this.viewModel.previous()}_nextClick(){this.viewModel.next()}};t([l()],S.prototype,"_dateFormat",null),t([l()],S.prototype,"_timeFormat",null),t([l()],S.prototype,"actions",null),t([l()],S.prototype,"disabled",void 0),t([l()],S.prototype,"effectiveStops",null),t([l()],S.prototype,"fullTimeExtent",null),t([l()],S.prototype,"iconClass",void 0),t([l()],S.prototype,"icon",void 0),t([l({readOnly:!0})],S.prototype,"interactive",null),t([l()],S.prototype,"label",null),t([l()],S.prototype,"labelFormatFunction",void 0),t([l({value:"auto"})],S.prototype,"layout",null),t([l()],S.prototype,"loop",null),t([l(),g("esri/widgets/TimeSlider/t9n/TimeSlider")],S.prototype,"messages",void 0),t([l(),g("esri/t9n/common")],S.prototype,"messagesCommon",void 0),t([l()],S.prototype,"mode",null),t([l()],S.prototype,"playRate",null),t([l()],S.prototype,"stops",null),t([l()],S.prototype,"tickConfigs",void 0),t([l()],S.prototype,"tickFormats",null),t([l()],S.prototype,"timeExtent",null),t([l({nonNullable:!0})],S.prototype,"timeVisible",void 0),t([l()],S.prototype,"timeZone",null),t([l()],S.prototype,"view",null),t([l({type:T}),b("trigger-action")],S.prototype,"viewModel",void 0),t([y()],S.prototype,"_playOrStopClick",null),t([y()],S.prototype,"_previousClick",null),t([y()],S.prototype,"_nextClick",null),S=t([m("esri.widgets.TimeSlider")],S);const F=S;export{F as default};
5
+ import{_ as t}from"../chunks/tslib.es6.js";import e from"../TimeInterval.js";import{equals as i}from"../core/arrayUtils.js";import{neverReached as s}from"../core/compilerUtils.js";import{watch as o,initial as a}from"../core/reactiveUtils.js";import{truncateDate as n,offsetDate as r}from"../core/timeUtils.js";import{property as l}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import{subclass as m}from"../core/accessorSupport/decorators/subclass.js";import{formatDate as u,convertDateFormatToIntlOptions as d}from"../intl/date.js";import{unknown as c,system as p}from"../time/timeZoneUtils.js";import h from"./Slider.js";import v from"./Widget.js";import{loadCalciteComponents as f}from"./support/componentsUtils.js";import{globalCss as y}from"./support/globalCss.js";import{legacyIcon as g}from"./support/legacyIcon.js";import{accessibleHandler as b}from"./support/decorators/accessibleHandler.js";import{messageBundle as x}from"./support/decorators/messageBundle.js";import{vmEvent as w}from"./support/decorators/vmEvent.js";import{tsx as k}from"./support/jsxFactory.js";import{onResize as j}from"./support/widgetUtils.js";import{getCalciteThemeClass as T}from"../support/themeUtils.js";import{css as _}from"./TimeSlider/css.js";import E from"./TimeSlider/TimeSliderViewModel.js";const M=3,S=858,F=[{minor:{value:100,unit:"milliseconds"},major:{value:1,unit:"seconds"},format:{second:"numeric"}},{minor:{value:500,unit:"milliseconds"},major:{value:5,unit:"seconds"},format:{second:"numeric"}},{minor:{value:1,unit:"seconds"},major:{value:20,unit:"seconds"},format:{minute:"numeric",second:"numeric"}},{minor:{value:2,unit:"seconds"},major:{value:30,unit:"seconds"},format:{minute:"numeric",second:"numeric"}},{minor:{value:10,unit:"seconds"},major:{value:1,unit:"minutes"},format:{minute:"numeric"}},{minor:{value:15,unit:"seconds"},major:{value:5,unit:"minutes"},format:{hour:"numeric",minute:"numeric"}},{minor:{value:1,unit:"minutes"},major:{value:20,unit:"minutes"},format:{hour:"numeric",minute:"numeric"}},{minor:{value:5,unit:"minutes"},major:{value:2,unit:"hours"},format:{hour:"numeric",minute:"numeric"}},{minor:{value:15,unit:"minutes"},major:{value:6,unit:"hours"},format:{hour:"numeric",minute:"numeric"}},{minor:{value:1,unit:"hours"},major:{value:1,unit:"days"},format:{day:"numeric",month:"short"}},{minor:{value:6,unit:"hours"},major:{value:1,unit:"weeks"},format:{day:"numeric",month:"short"}},{minor:{value:1,unit:"days"},major:{value:1,unit:"months"},format:{month:"long"}},{minor:{value:2,unit:"days"},major:{value:1,unit:"months"},format:{month:"short"}},{minor:{value:3,unit:"days"},major:{value:1,unit:"months"},format:{month:"short"}},{minor:{value:4,unit:"days"},major:{value:3,unit:"months"},format:{month:"short",year:"numeric"}},{minor:{value:1,unit:"weeks"},major:{value:1,unit:"years"},format:{year:"numeric"}},{minor:{value:1,unit:"months"},major:{value:1,unit:"years"},format:{year:"numeric"}},{minor:{value:2,unit:"months"},major:{value:2,unit:"years"},format:{year:"numeric"}},{minor:{value:1,unit:"years"},major:{value:1,unit:"decades"},format:{year:"numeric"}},{minor:{value:2,unit:"years"},major:{value:5,unit:"decades"},format:{year:"numeric"}},{minor:{value:5,unit:"decades"},major:{value:10,unit:"centuries"},format:{era:"short",year:"numeric"}},{minor:{value:1,unit:"centuries"},major:{value:10,unit:"centuries"},format:{era:"short",year:"numeric"}},{minor:{value:2,unit:"centuries"},major:{value:20,unit:"centuries"},format:{era:"short",year:"numeric"}},{minor:{value:5,unit:"centuries"},major:{value:50,unit:"centuries"},format:{era:"short",year:"numeric"}},{minor:{value:10,unit:"centuries"},major:{value:100,unit:"centuries"},format:{era:"short",year:"numeric"}},{minor:{value:20,unit:"centuries"},major:{value:200,unit:"centuries"},format:{era:"short",year:"numeric"}},{minor:{value:50,unit:"centuries"},major:{value:500,unit:"centuries"},format:{era:"short",year:"numeric"}},{minor:{value:100,unit:"centuries"},major:{value:1e3,unit:"centuries"},format:{era:"short",year:"numeric"}},{minor:{value:200,unit:"centuries"},major:{value:1e3,unit:"centuries"},format:{era:"short",year:"numeric"}},{minor:{value:500,unit:"centuries"},major:{value:5e3,unit:"centuries"},format:{era:"short",year:"numeric"}},{minor:{value:1e3,unit:"centuries"},major:{value:1e4,unit:"centuries"},format:{era:"short",year:"numeric"}}];let C=class extends v{constructor(t,e){super(t,e),this._ignoreNextSliderUpdate=!1,this._slider=new h({precision:0,visibleElements:{rangeLabels:!1},rangeLabelInputsEnabled:!1,thumbsConstrained:!1}),this._tickFormat=null,this.disabled=!1,this.iconClass=_.widgetIcon,this.icon=null,this.labelFormatFunction=null,this.messages=null,this.messagesCommon=null,this.tickConfigs=null,this.timeVisible=!1,this.viewModel=new E}initialize(){this.addHandles([o((()=>this._slider.values),(t=>{if(this._ignoreNextSliderUpdate)return void(this._ignoreNextSliderUpdate=!1);const e=this.viewModel.valuesToTimeExtent(t);null!=this.timeExtent?null!=e?this.timeExtent.equals(e)||(this.timeExtent=e):this.timeExtent=null:null!=e&&(this.timeExtent=e)})),o((()=>this.effectiveStops),(()=>this._updateSliderSteps()),a)])}loadDependencies(){return f({action:()=>import("@esri/calcite-components/dist/components/calcite-action.js"),"action-menu":()=>import("@esri/calcite-components/dist/components/calcite-action-menu.js")})}destroy(){this._slider.destroy(),this._tickFormat=null}get _dateFormat(){return this._getIntlOptions("short-date")}get _timeFormat(){return this._getIntlOptions("long-time")}get actions(){return this.viewModel.actions}set actions(t){this.viewModel.actions=t}get effectiveStops(){return this.viewModel.effectiveStops}get fullTimeExtent(){return this.viewModel.fullTimeExtent}set fullTimeExtent(t){this.viewModel.fullTimeExtent=t}get interactive(){return!(this.disabled||"disabled"===this.viewModel.state||this.viewModel.view?.timeZone===c)}get label(){return this.messages?.widgetLabel??""}set label(t){this._overrideIfSome("label",t)}set layout(t){["auto","compact","wide"].includes(t)||(t="auto"),this._set("layout",t)}get loop(){return this.viewModel.loop}set loop(t){this.viewModel.loop=t}get mode(){return this.viewModel.mode}set mode(t){this.viewModel.mode=t}get playRate(){return this.viewModel.playRate}set playRate(t){this.viewModel.playRate=t}get stops(){return this.viewModel.stops}set stops(t){this.viewModel.stops=t}get tickFormats(){const{timeZone:t}=this;return F.map((({minor:i,major:s,format:o})=>({minor:new e(i),major:new e(s),format:{...o,timeZone:t}})))}get timeExtent(){return this.viewModel.timeExtent}set timeExtent(t){this.viewModel.timeExtent=t}get timeZone(){return this.viewModel.view?.timeZone??p}set timeZone(t){this._overrideIfSome("timeZone",t)}get view(){return this.viewModel.view}set view(t){this.viewModel.view=t}static async getPropertiesFromWebMap(t,e){return E.getPropertiesFromWebMap(t,e)}next(){return this.viewModel.next()}play(){return this.viewModel.play()}previous(){return this.viewModel.previous()}stop(){return this.viewModel.stop()}render(){const{_slider:t,actions:e,domNode:s,effectiveStops:o,fullTimeExtent:a,interactive:n,messages:r,messagesCommon:l,mode:m,tickConfigs:d,timeExtent:c,timeVisible:p,viewModel:{state:h,timeExtentValues:v}}=this;if(null!=a){const{start:e,end:i}=a;if(null!=e&&null!=i){const s=e.getTime(),o=i.getTime(),a=t.min!==s||t.max!==o;if(a&&(t.min=s,t.max=o),null!=d)t.tickConfigs!==d&&(t.tickConfigs=d);else{const e=(o-s)/(t.trackElement?.offsetWidth||400),i=this.tickFormats.find((t=>t.minor.toMilliseconds()>M*e))??this.tickFormats.at(-1),n=this._tickFormat!==i&&null!=i;if(n&&(this._tickFormat=i),a||n){const e={mode:"position",values:this._getTickPositions(i.minor),labelsVisible:!1,tickCreatedFunction:(t,e)=>{e?.classList.add(_.sliderMinorTick)}},s={mode:"position",values:this._getTickPositions(i.major),labelsVisible:!0,tickCreatedFunction:(t,e)=>{e?.classList.add(_.sliderMajorTick)},labelFormatFunction:t=>u(t,i.format)};t.tickConfigs=[e,s]}}}}const f=null==this.fullTimeExtent||null==this.fullTimeExtent.start||null==this.fullTimeExtent.end||null==this.timeExtent||this.timeExtent.isAllTime||this.timeExtent.isEmpty||null!=this.timeExtent.start&&(this.timeExtent.start<this.fullTimeExtent.start||this.timeExtent.start>this.fullTimeExtent.end)||null!=this.timeExtent.end&&(this.timeExtent.end>this.fullTimeExtent.end||this.timeExtent.end<this.fullTimeExtent.start);if(f)switch(this._ignoreNextSliderUpdate=!0,m){case"time-window":t.values=[t.min,t.max];break;case"instant":case"cumulative-from-end":t.values=[t.min];break;case"cumulative-from-start":t.values=[t.max]}else null!=v?i(t.values,v)||(t.values=v):t.values=null;t.disabled=!n;const b="ready"===h,x="playing"===h,w=f||!n||null==o||0===o.length,E="auto"===this.layout?s.clientWidth<S?"compact":"wide":this.layout,F=k("div",{class:_.animation},k("button",{"aria-disabled":w?"true":"false","aria-label":x?l.control.stop:l.control.play,bind:this,class:this.classes(y.widgetButton,_.animationButton,w&&y.buttonDisabled),disabled:w,onclick:this._playOrStopClick,title:x?l.control.stop:l.control.play,type:"button"},k("div",{class:this.classes((b||w)&&g.play,x&&g.pause)}))),C=null!=this.labelFormatFunction?k("div",{afterCreate:this._createLabel,afterUpdate:this._createLabel,bind:this,class:_.timeExtentDate,"data-date":c?[c.start,c.end]:null,"data-layout":E,"data-type":"extent",key:"extent"}):null==c||null!=c&&c.isAllTime?[k("div",{class:this.classes(_.warning,g.noticeTriangle)}),k("div",{class:_.warningText,key:"warning-text"},r.noTimeExtent)]:c.isEmpty?[k("div",{class:this.classes(_.warning,g.noticeTriangle)}),k("div",{class:_.warningText,key:"warning-text"},r.emptyTimeExtent)]:[null!=c.start&&k("div",{class:_.timeExtentGroup,key:"start-date-group"},k("div",{class:_.timeExtentDate,key:"start-date"},this._formatDate(c.start)),p?k("div",{class:_.timeExtentTime,key:"start-time"},this._formatTime(c.start)):null),null!=c.start&&null!=c.end&&c.start.getTime()!==c.end.getTime()&&k("div",{class:_.timeExtentSeparator,key:"separator"},"–"),null!=c.end&&(null==c.start||c.start.getTime()!==c.end.getTime())&&k("div",{class:_.timeExtentGroup,key:"end-date-group"},k("div",{class:_.timeExtentDate,key:"end-date"},this._formatDate(c.end)),p?k("div",{class:_.timeExtentTime,key:"end-time"},this._formatTime(c.end)):null)],D=k("div",{class:this.classes(_.timeExtent,!n&&y.buttonDisabled)},[C]),U=null!=this.labelFormatFunction?k("div",{afterCreate:this._createLabel,afterUpdate:this._createLabel,bind:this,class:_.minDate,"data-date":a?.start,"data-layout":E,"data-type":"min",key:"min-date"}):null!=a&&null!=a.start&&[k("div",{class:_.minDate,key:"min-date"},this._formatDate(a.start)),p&&k("div",{class:_.minTime,key:"min-time"},this._formatTime(a.start))],L=k("div",{class:this.classes(_.min,!n&&y.buttonDisabled)},[U]),Z=k("div",{class:_.slider},t.render()),R=null!=this.labelFormatFunction?k("div",{afterCreate:this._createLabel,afterUpdate:this._createLabel,bind:this,class:_.maxDate,"data-date":a?.end,"data-layout":E,"data-type":"max",key:"max-date"}):null!=a&&null!=a.end&&[k("div",{class:_.maxDate,key:"max-date"},this._formatDate(a.end)),p&&k("div",{class:_.maxTime,key:"max-time"},this._formatTime(a.end))],B=k("div",{class:this.classes(_.max,!n&&y.buttonDisabled)},[R]),I=k("div",{class:_.previous},k("button",{"aria-disabled":w?"true":"false","aria-label":l.pagination.previous,bind:this,class:this.classes(y.widgetButton,_.previousButton,(x||w)&&y.buttonDisabled),disabled:w,onclick:this._previousClick,title:l.pagination.previous,type:"button"},k("div",{class:g.reverse}))),O=k("div",{class:_.next},k("button",{"aria-disabled":w?"true":"false","aria-label":l.pagination.next,bind:this,class:this.classes(y.widgetButton,_.nextButton,(x||w)&&y.buttonDisabled),disabled:w,onclick:this._nextClick,title:l.pagination.next,type:"button"},k("div",{class:g.forward}))),A=e?.length>0,V=A&&k("div",{class:_.actions,title:l.options},k("calcite-action-menu",{class:_.actionsButton,label:l.options},e.toArray().map((t=>k("calcite-action",{bind:this,icon:t.icon,id:t.id,onclick:()=>this.viewModel.triggerAction(t),text:t.title,textEnabled:!0})))));return k("div",{afterCreate:t=>{this.addHandles(j(t,(()=>this.scheduleRender())))},"aria-label":r.widgetLabel,class:this.classes(_.timeSlider,y.widget,`${_.timeSliderMode}${m}`,`${_.timeSliderLayout}${E}`,!n&&y.disabled,f&&_.timeSliderOutOfBounds,A&&_.hasActions,T())},"wide"===E&&k("div",{class:_.timeSliderRow},k("div",{class:_.playbackControls},[F,D,L,Z,B,I,O]),V),"compact"===E&&[k("div",{class:_.timeSliderRow,key:"time-slider-row-1"},[D,V]),k("div",{class:_.timeSliderRow,key:"time-slider-row-2"},[Z]),k("div",{class:_.timeSliderRow,key:"time-slider-row-3"},[L,I,F,O,B])])}updateWebDocument(t){this.viewModel?.updateWebDocument(t)}_createLabel(t){if(null==this.labelFormatFunction)return;const e=t.getAttribute("data-type"),i=t.getAttribute("data-layout"),s=t["data-date"];this.labelFormatFunction(s,e,t,i)}_formatDate(t){return u(t,this._dateFormat)}_formatTime(t){return u(t,this._timeFormat)}_getIntlOptions(t){const{timeZone:e}=this;return{...d(t),timeZone:e}}_getTickPositions(t){const{fullTimeExtent:e}=this;if(null==e||null==e.start||null==e.end)return[];const{start:i,end:s}=e,o=[],{value:a,unit:l}=t;let m=n(i,l,this.timeZone);for(;m.getTime()<=s.getTime();)m.getTime()>=i.getTime()&&o.push(m.getTime()),m=r(m,a,l,this.timeZone);return o}_updateSliderSteps(){this._slider.steps=null!=this.effectiveStops&&this.effectiveStops.length>0?this.effectiveStops.map((t=>t.getTime())):null}_playOrStopClick(){switch(this.viewModel.state){case"ready":this.viewModel.play();break;case"playing":this.viewModel.stop();break;case"disabled":break;default:s(this.viewModel.state)}}_previousClick(){this.viewModel.previous()}_nextClick(){this.viewModel.next()}};t([l()],C.prototype,"_dateFormat",null),t([l()],C.prototype,"_timeFormat",null),t([l()],C.prototype,"actions",null),t([l()],C.prototype,"disabled",void 0),t([l()],C.prototype,"effectiveStops",null),t([l()],C.prototype,"fullTimeExtent",null),t([l()],C.prototype,"iconClass",void 0),t([l()],C.prototype,"icon",void 0),t([l({readOnly:!0})],C.prototype,"interactive",null),t([l()],C.prototype,"label",null),t([l()],C.prototype,"labelFormatFunction",void 0),t([l({value:"auto"})],C.prototype,"layout",null),t([l()],C.prototype,"loop",null),t([l(),x("esri/widgets/TimeSlider/t9n/TimeSlider")],C.prototype,"messages",void 0),t([l(),x("esri/t9n/common")],C.prototype,"messagesCommon",void 0),t([l()],C.prototype,"mode",null),t([l()],C.prototype,"playRate",null),t([l()],C.prototype,"stops",null),t([l()],C.prototype,"tickConfigs",void 0),t([l()],C.prototype,"tickFormats",null),t([l()],C.prototype,"timeExtent",null),t([l({nonNullable:!0})],C.prototype,"timeVisible",void 0),t([l()],C.prototype,"timeZone",null),t([l()],C.prototype,"view",null),t([l({type:E}),w("trigger-action")],C.prototype,"viewModel",void 0),t([b()],C.prototype,"_playOrStopClick",null),t([b()],C.prototype,"_previousClick",null),t([b()],C.prototype,"_nextClick",null),C=t([m("esri.widgets.TimeSlider")],C);const D=C;export{D as default};
package/widgets/Track.js CHANGED
@@ -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{deprecatedProperty as t}from"../core/deprecate.js";import o from"../core/Logger.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 s from"./Widget.js";import{loadCalciteComponents as n}from"./support/componentsUtils.js";import{globalCss as a}from"./support/globalCss.js";import{legacyIcon as l}from"./support/legacyIcon.js";import{accessibleHandler as c}from"./support/decorators/accessibleHandler.js";import{messageBundle as d}from"./support/decorators/messageBundle.js";import{vmEvent as p}from"./support/decorators/vmEvent.js";import{tsx as g}from"./support/jsxFactory.js";import"./support/widgetUtils.js";import u from"./Track/TrackViewModel.js";const h={base:"esri-track",widgetIcon:l.tracking},m="compass-north-circle",w="esri.widgets.Track",v=o.getLogger(w);let b=class extends s{constructor(e,t){super(e,t),this.iconClass=h.widgetIcon,this.icon=null,this.messages=null,this.viewModel=new u}loadDependencies(){return n({icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js"),loader:()=>import("@esri/calcite-components/dist/components/calcite-loader.js")})}get geolocationOptions(){return this.viewModel.geolocationOptions}set geolocationOptions(e){this.viewModel.geolocationOptions=e}get goToLocationEnabled(){return this.viewModel.goToLocationEnabled}set goToLocationEnabled(e){this.viewModel.goToLocationEnabled=e}get goToOverride(){return this.viewModel.goToOverride}set goToOverride(e){this.viewModel.goToOverride=e}get graphic(){return this.viewModel.graphic}set graphic(e){this.viewModel.graphic=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get rotationEnabled(){return this.viewModel.rotationEnabled}set rotationEnabled(e){this.viewModel.rotationEnabled=e}get scale(){return this.viewModel.scale}set scale(e){this.viewModel.scale=e}get tracking(){return this.viewModel.tracking}get useHeadingEnabled(){return t(v,"useHeadingEnabled",{replacement:"rotationEnabled",version:"4.27",warnOnce:!0}),this.viewModel.rotationEnabled}set useHeadingEnabled(e){t(v,"useHeadingEnabled",{replacement:"rotationEnabled",version:"4.27",warnOnce:!0}),this.viewModel.rotationEnabled=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}start(){this.viewModel.start()}stop(){this.viewModel.stop()}render(){const e=this.viewModel?.state,t={[a.disabled]:"disabled"===e,[a.hidden]:"feature-unsupported"===e},o="tracking"===e,{messages:r}=this,i=(o?r?.stopTracking:r?.startTracking)??"";return g("div",{bind:this,class:this.classes(h.base,a.widget,a.widgetButton,t),hidden:"feature-unsupported"===e,onclick:this._toggleTracking,onkeydown:this._toggleTracking,role:"button",tabIndex:0,"aria-label":i,title:i},this._renderIcon(),g("span",{class:l.fontFallbackText},i))}_renderIcon(){const{icon:e,iconClass:t,viewModel:o}=this;switch(o?.state){case"waiting":return g("calcite-loader",{key:"loader",type:"indeterminate",inline:!0,scale:"s",label:""});case"tracking":return this._renderCalciteIcon("pause");default:return e?this._renderCalciteIcon(e):t&&t!==h.widgetIcon?this._renderLegacyIcon(t):this._renderCalciteIcon(m)}}_renderCalciteIcon(e){return g("calcite-icon",{key:"icon",icon:e,scale:"s"})}_renderLegacyIcon(e){return g("span",{key:"legacy-icon","aria-hidden":"true",class:e})}_toggleTracking(){const e=this.viewModel;e&&"feature-unsupported"!==e.state&&"disabled"!==e.state&&("tracking"!==e.state&&"waiting"!==e.state?this.viewModel.start():this.viewModel.stop())}};e([r()],b.prototype,"geolocationOptions",null),e([r()],b.prototype,"goToLocationEnabled",null),e([r()],b.prototype,"goToOverride",null),e([r()],b.prototype,"graphic",null),e([r()],b.prototype,"iconClass",void 0),e([r()],b.prototype,"icon",void 0),e([r()],b.prototype,"label",null),e([r(),d("esri/widgets/Track/t9n/Track")],b.prototype,"messages",void 0),e([r()],b.prototype,"rotationEnabled",null),e([r()],b.prototype,"scale",null),e([r({readOnly:!0})],b.prototype,"tracking",null),e([r()],b.prototype,"useHeadingEnabled",null),e([r()],b.prototype,"view",null),e([r({type:u}),p(["track","track-error"])],b.prototype,"viewModel",void 0),e([c()],b.prototype,"_toggleTracking",null),b=e([i(w)],b);const y=b;export{y as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import{deprecatedProperty as t}from"../core/deprecate.js";import o from"../core/Logger.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 s from"./Widget.js";import{loadCalciteComponents as n}from"./support/componentsUtils.js";import{globalCss as a}from"./support/globalCss.js";import{legacyIcon as l}from"./support/legacyIcon.js";import{accessibleHandler as c}from"./support/decorators/accessibleHandler.js";import{messageBundle as d}from"./support/decorators/messageBundle.js";import{vmEvent as p}from"./support/decorators/vmEvent.js";import{tsx as g}from"./support/jsxFactory.js";import"./support/widgetUtils.js";import u from"./Track/TrackViewModel.js";const h={base:"esri-track",widgetIcon:l.tracking},m="compass-north-circle",w="esri.widgets.Track",v=o.getLogger(w);let b=class extends s{constructor(e,t){super(e,t),this.iconClass=h.widgetIcon,this.icon=null,this.messages=null,this.viewModel=new u}loadDependencies(){return n({icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js"),loader:()=>import("@esri/calcite-components/dist/components/calcite-loader.js")})}get geolocationOptions(){return this.viewModel.geolocationOptions}set geolocationOptions(e){this.viewModel.geolocationOptions=e}get goToLocationEnabled(){return this.viewModel.goToLocationEnabled}set goToLocationEnabled(e){this.viewModel.goToLocationEnabled=e}get goToOverride(){return this.viewModel.goToOverride}set goToOverride(e){this.viewModel.goToOverride=e}get graphic(){return this.viewModel.graphic}set graphic(e){this.viewModel.graphic=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get rotationEnabled(){return this.viewModel.rotationEnabled}set rotationEnabled(e){this.viewModel.rotationEnabled=e}get scale(){return this.viewModel.scale}set scale(e){this.viewModel.scale=e}get tracking(){return this.viewModel.tracking}get useHeadingEnabled(){return t(v,"useHeadingEnabled",{replacement:"rotationEnabled",version:"4.27",warnOnce:!0}),this.viewModel.rotationEnabled}set useHeadingEnabled(e){t(v,"useHeadingEnabled",{replacement:"rotationEnabled",version:"4.27",warnOnce:!0}),this.viewModel.rotationEnabled=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}start(){this.viewModel.start()}stop(){this.viewModel.stop()}render(){const e=this.viewModel?.state,t={[a.disabled]:"disabled"===e,[a.hidden]:"feature-unsupported"===e},o="tracking"===e,{messages:r}=this,i=(o?r?.stopTracking:r?.startTracking)??"";return g("div",{"aria-label":i,bind:this,class:this.classes(h.base,a.widget,a.widgetButton,t),hidden:"feature-unsupported"===e,onclick:this._toggleTracking,onkeydown:this._toggleTracking,role:"button",tabIndex:0,title:i},this._renderIcon(),g("span",{class:l.fontFallbackText},i))}_renderIcon(){const{icon:e,iconClass:t,viewModel:o}=this;switch(o?.state){case"waiting":return g("calcite-loader",{inline:!0,key:"loader",label:"",scale:"s",type:"indeterminate"});case"tracking":return this._renderCalciteIcon("pause");default:return e?this._renderCalciteIcon(e):t&&t!==h.widgetIcon?this._renderLegacyIcon(t):this._renderCalciteIcon(m)}}_renderCalciteIcon(e){return g("calcite-icon",{icon:e,key:"icon",scale:"s"})}_renderLegacyIcon(e){return g("span",{"aria-hidden":"true",class:e,key:"legacy-icon"})}_toggleTracking(){const e=this.viewModel;e&&"feature-unsupported"!==e.state&&"disabled"!==e.state&&("tracking"!==e.state&&"waiting"!==e.state?this.viewModel.start():this.viewModel.stop())}};e([r()],b.prototype,"geolocationOptions",null),e([r()],b.prototype,"goToLocationEnabled",null),e([r()],b.prototype,"goToOverride",null),e([r()],b.prototype,"graphic",null),e([r()],b.prototype,"iconClass",void 0),e([r()],b.prototype,"icon",void 0),e([r()],b.prototype,"label",null),e([r(),d("esri/widgets/Track/t9n/Track")],b.prototype,"messages",void 0),e([r()],b.prototype,"rotationEnabled",null),e([r()],b.prototype,"scale",null),e([r({readOnly:!0})],b.prototype,"tracking",null),e([r()],b.prototype,"useHeadingEnabled",null),e([r()],b.prototype,"view",null),e([r({type:u}),p(["track","track-error"])],b.prototype,"viewModel",void 0),e([c()],b.prototype,"_toggleTracking",null),b=e([i(w)],b);const y=b;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 e}from"../../chunks/tslib.es6.js";import{getAssetUrl as t}from"../../assets.js";import o from"../../Color.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 r}from"../../core/accessorSupport/decorators/subclass.js";import i from"../../symbols/LineSymbolMarker.js";import n from"../../symbols/SimpleLineSymbol.js";import l from"../Widget.js";import{loadCalciteComponents as c}from"../support/componentsUtils.js";import"../support/widgetUtils.js";import{messageBundle as a}from"../support/decorators/messageBundle.js";import{tsx as p}from"../support/jsxFactory.js";import d from"./VisibleElementsSettingsPane.js";const m="esri-un-associations",u={divControlsSymbolPicker:`${m}__div-controls-symbol-picker`,dropdown:`${m}__dropdown`,dropdownItemLineCap:`${m}__dropdown-item-line-cap`,dropdownItemLinePattern:`${m}__dropdown-item-line-pattern`,dropdownSelectedItemLineCap:`${m}__dropdown-selected-item-line-cap`,dropdownSelectedItemLinePattern:`${m}__dropdown-selected-item-line-pattern`,dropdownTrigger:`${m}__dropdown-trigger`,labelAndToggle:`${m}__label-and-toggle`};let w=class extends l{constructor(e,t){super(e,t),this._lineCapTypes=["butt","round","square"],this._lineStyleTypes=["solid","dash","dash-dot","dot","long-dash","long-dash-dot","long-dash-dot-dot","short-dash","short-dash-dot","short-dash-dot-dot","short-dot"],this.lineSymbol=new n,this.messages=null,this.showArrows=!1,this.visibleElements=new d,this._afterComponentCreate=this._afterComponentCreate.bind(this)}render(){const{messages:{input:{lineCap:e,lineColor:t,lineStyle:o,lineWidth:s,showArrows:r}},visibleElements:i}=this,n=this.lineSymbol;return p("div",{class:u.divControlsSymbolPicker},i.arrowsToggle?this._renderToggle(r,this.showArrows,n,"marker"):void 0,i.capSelect?this._renderLineStylePicker(e,this._lineCapTypes,n,"cap"):void 0,i.colorPicker&&n.color?this._renderColorPicker(t,n.color.toHex(),n,"color"):void 0,i.stylePicker?this._renderLineStylePicker(o,this._lineStyleTypes,n,"style"):void 0,i.widthInput?this._renderNumberInput(s,n.width.toString(),n,"width"):void 0)}loadDependencies(){return c({dropdown:()=>import("@esri/calcite-components/dist/components/calcite-dropdown.js"),"dropdown-group":()=>import("@esri/calcite-components/dist/components/calcite-dropdown-group.js"),"dropdown-item":()=>import("@esri/calcite-components/dist/components/calcite-dropdown-item.js"),input:()=>import("@esri/calcite-components/dist/components/calcite-input.js"),"input-number":()=>import("@esri/calcite-components/dist/components/calcite-input-number.js"),label:()=>import("@esri/calcite-components/dist/components/calcite-label.js"),switch:()=>import("@esri/calcite-components/dist/components/calcite-switch.js")})}_afterComponentCreate(e){"value"in e&&null!=e.value&&"setNumberValue"in e&&e.setNumberValue({committing:!1,value:e.value,origin:"direct"})}_renderColorPicker(e,t,s,r){return p("calcite-label",{scale:"s"},e,p("calcite-input",{scale:"s",type:"color",value:t,onCalciteInputInput:e=>{const t=e.target;s.set(r,new o(t.value))}}))}_renderLineStylePicker(e,o,s,r){const i="style"===r,n="esri/widgets/UtilityNetworkAssociations/assets/img";function l(e,o){return p("calcite-dropdown-item",{selected:s[o]===e,label:e},p("div",{class:i?u.dropdownItemLinePattern:u.dropdownItemLineCap,style:`background-image:url(${t(`${n}/line-${i?"patterns":"caps"}/${e}.png`)})`}))}return p("calcite-label",{scale:"s"},e,p("calcite-dropdown",{onCalciteDropdownSelect:e=>{const t=e.target;s.set(r,t.selectedItems[0].label)},class:u.dropdown},p("div",{role:"button",slot:"trigger",class:u.dropdownTrigger},p("div",{class:i?u.dropdownSelectedItemLinePattern:u.dropdownSelectedItemLineCap,style:`background-image:url(${t(`${n}/line-${i?"patterns":"caps"}/${s[r]}.png`)})`})),p("calcite-dropdown-group",null,o.map((e=>l(e,r))))))}_renderNumberInput(e,t,o,s){return p("calcite-label",{scale:"s"},e,p("calcite-input-number",{afterCreate:this._afterComponentCreate,scale:"s",type:"number",step:1,value:t,min:1,max:10,onCalciteInputNumberChange:e=>{const t=e.target;o.set(s,t.value)}}))}_renderToggle(e,t,o,s){return p("div",{class:u.labelAndToggle},p("calcite-label",{scale:"s"},e),p("calcite-switch",{bind:this,scale:"m",checked:t,onCalciteSwitchChange:e=>{e.target.checked?o.set(s,new i({style:"arrow"})):o.set(s,null)}}))}};e([s()],w.prototype,"lineSymbol",void 0),e([s(),a("esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations")],w.prototype,"messages",void 0),e([s()],w.prototype,"showArrows",void 0),e([s({type:d,nonNullable:!0})],w.prototype,"visibleElements",void 0),w=e([r("esri.widgets.UtilityNetworkAssociations.UtilityNetworkAssociationsLineSymbolPicker")],w);const g=w;export{g as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import{getAssetUrl as t}from"../../assets.js";import o from"../../Color.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 r}from"../../core/accessorSupport/decorators/subclass.js";import i from"../../symbols/LineSymbolMarker.js";import n from"../../symbols/SimpleLineSymbol.js";import l from"../Widget.js";import{loadCalciteComponents as c}from"../support/componentsUtils.js";import"../support/widgetUtils.js";import{messageBundle as a}from"../support/decorators/messageBundle.js";import{tsx as p}from"../support/jsxFactory.js";import d from"./VisibleElementsSettingsPane.js";const m="esri-un-associations",u={divControlsSymbolPicker:`${m}__div-controls-symbol-picker`,dropdown:`${m}__dropdown`,dropdownItemLineCap:`${m}__dropdown-item-line-cap`,dropdownItemLinePattern:`${m}__dropdown-item-line-pattern`,dropdownSelectedItemLineCap:`${m}__dropdown-selected-item-line-cap`,dropdownSelectedItemLinePattern:`${m}__dropdown-selected-item-line-pattern`,dropdownTrigger:`${m}__dropdown-trigger`,labelAndToggle:`${m}__label-and-toggle`};let w=class extends l{constructor(e,t){super(e,t),this._lineCapTypes=["butt","round","square"],this._lineStyleTypes=["solid","dash","dash-dot","dot","long-dash","long-dash-dot","long-dash-dot-dot","short-dash","short-dash-dot","short-dash-dot-dot","short-dot"],this.lineSymbol=new n,this.messages=null,this.showArrows=!1,this.visibleElements=new d,this._afterComponentCreate=this._afterComponentCreate.bind(this)}render(){const{messages:{input:{lineCap:e,lineColor:t,lineStyle:o,lineWidth:s,showArrows:r}},visibleElements:i}=this,n=this.lineSymbol;return p("div",{class:u.divControlsSymbolPicker},i.arrowsToggle?this._renderToggle(r,this.showArrows,n,"marker"):void 0,i.capSelect?this._renderLineStylePicker(e,this._lineCapTypes,n,"cap"):void 0,i.colorPicker&&n.color?this._renderColorPicker(t,n.color.toHex(),n,"color"):void 0,i.stylePicker?this._renderLineStylePicker(o,this._lineStyleTypes,n,"style"):void 0,i.widthInput?this._renderNumberInput(s,n.width.toString(),n,"width"):void 0)}loadDependencies(){return c({dropdown:()=>import("@esri/calcite-components/dist/components/calcite-dropdown.js"),"dropdown-group":()=>import("@esri/calcite-components/dist/components/calcite-dropdown-group.js"),"dropdown-item":()=>import("@esri/calcite-components/dist/components/calcite-dropdown-item.js"),input:()=>import("@esri/calcite-components/dist/components/calcite-input.js"),"input-number":()=>import("@esri/calcite-components/dist/components/calcite-input-number.js"),label:()=>import("@esri/calcite-components/dist/components/calcite-label.js"),switch:()=>import("@esri/calcite-components/dist/components/calcite-switch.js")})}_afterComponentCreate(e){"value"in e&&null!=e.value&&"setNumberValue"in e&&e.setNumberValue({committing:!1,value:e.value,origin:"direct"})}_renderColorPicker(e,t,s,r){return p("calcite-label",{scale:"s"},e,p("calcite-input",{scale:"s",type:"color",value:t,onCalciteInputInput:e=>{const t=e.target;s.set(r,new o(t.value))}}))}_renderLineStylePicker(e,o,s,r){const i="style"===r,n="esri/widgets/UtilityNetworkAssociations/assets/img";function l(e,o){return p("calcite-dropdown-item",{label:e,selected:s[o]===e},p("div",{class:i?u.dropdownItemLinePattern:u.dropdownItemLineCap,style:`background-image:url(${t(`${n}/line-${i?"patterns":"caps"}/${e}.png`)})`}))}return p("calcite-label",{scale:"s"},e,p("calcite-dropdown",{class:u.dropdown,onCalciteDropdownSelect:e=>{const t=e.target;s.set(r,t.selectedItems[0].label)}},p("div",{class:u.dropdownTrigger,role:"button",slot:"trigger"},p("div",{class:i?u.dropdownSelectedItemLinePattern:u.dropdownSelectedItemLineCap,style:`background-image:url(${t(`${n}/line-${i?"patterns":"caps"}/${s[r]}.png`)})`})),p("calcite-dropdown-group",null,o.map((e=>l(e,r))))))}_renderNumberInput(e,t,o,s){return p("calcite-label",{scale:"s"},e,p("calcite-input-number",{afterCreate:this._afterComponentCreate,max:10,min:1,scale:"s",step:1,type:"number",value:t,onCalciteInputNumberChange:e=>{const t=e.target;o.set(s,t.value)}}))}_renderToggle(e,t,o,s){return p("div",{class:u.labelAndToggle},p("calcite-label",{scale:"s"},e),p("calcite-switch",{bind:this,checked:t,scale:"m",onCalciteSwitchChange:e=>{e.target.checked?o.set(s,new i({style:"arrow"})):o.set(s,null)}}))}};e([s()],w.prototype,"lineSymbol",void 0),e([s(),a("esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations")],w.prototype,"messages",void 0),e([s()],w.prototype,"showArrows",void 0),e([s({type:d,nonNullable:!0})],w.prototype,"visibleElements",void 0),w=e([r("esri.widgets.UtilityNetworkAssociations.UtilityNetworkAssociationsLineSymbolPicker")],w);const g=w;export{g as default};