@arcgis/core 4.33.0-next.20250416 → 4.33.0-next.20250418
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.
- package/analysis/Analysis.js +1 -1
- package/analysis/AreaMeasurementAnalysis.js +1 -1
- package/analysis/DimensionAnalysis.js +1 -1
- package/analysis/DirectLineMeasurementAnalysis.js +1 -1
- package/analysis/LengthDimension.js +1 -1
- package/analysis/LineOfSightAnalysis.js +1 -1
- package/analysis/SliceAnalysis.js +1 -1
- package/analysis/Viewshed.js +1 -1
- package/analysis/ViewshedAnalysis.js +1 -1
- package/assets/components/assets/icon/browserJoin16.json +1 -0
- package/assets/components/assets/icon/browserJoin24.json +1 -0
- package/assets/components/assets/icon/browserJoin32.json +1 -0
- package/assets/components/assets/icon/browserPlus16.json +1 -0
- package/assets/components/assets/icon/browserPlus24.json +1 -0
- package/assets/components/assets/icon/browserPlus32.json +1 -0
- package/assets/components/assets/icon/check16.json +1 -1
- package/assets/components/assets/icon/check24.json +1 -1
- package/assets/components/assets/icon/check32.json +1 -1
- package/assets/components/assets/icon/classroomGis16.json +1 -0
- package/assets/components/assets/icon/classroomGis24.json +1 -0
- package/assets/components/assets/icon/classroomGis32.json +1 -0
- package/assets/components/assets/icon/documentLearning16.json +1 -0
- package/assets/components/assets/icon/documentLearning24.json +1 -0
- package/assets/components/assets/icon/documentLearning32.json +1 -0
- package/assets/components/assets/icon/doubleFloatSet16.json +1 -0
- package/assets/components/assets/icon/doubleFloatSet24.json +1 -0
- package/assets/components/assets/icon/doubleFloatSet32.json +1 -0
- package/assets/components/assets/icon/eLearningGis16.json +1 -0
- package/assets/components/assets/icon/eLearningGis24.json +1 -0
- package/assets/components/assets/icon/eLearningGis32.json +1 -0
- package/assets/components/assets/icon/language216.json +1 -0
- package/assets/components/assets/icon/language224.json +1 -0
- package/assets/components/assets/icon/language232.json +1 -0
- package/assets/components/assets/icon/layerSet16.json +1 -0
- package/assets/components/assets/icon/layerSet24.json +1 -0
- package/assets/components/assets/icon/layerSet32.json +1 -0
- package/assets/components/assets/icon/learningGisWorkflow16.json +1 -0
- package/assets/components/assets/icon/learningGisWorkflow24.json +1 -0
- package/assets/components/assets/icon/learningGisWorkflow32.json +1 -0
- package/assets/components/assets/icon/learningSteps16.json +1 -0
- package/assets/components/assets/icon/learningSteps24.json +1 -0
- package/assets/components/assets/icon/learningSteps32.json +1 -0
- package/assets/components/assets/icon/learningWebCourse16.json +1 -0
- package/assets/components/assets/icon/learningWebCourse24.json +1 -0
- package/assets/components/assets/icon/learningWebCourse32.json +1 -0
- package/assets/components/assets/icon/mapInformation16.json +1 -0
- package/assets/components/assets/icon/mapInformation24.json +1 -0
- package/assets/components/assets/icon/mapInformation32.json +1 -0
- package/assets/components/assets/icon/mooc16.json +1 -0
- package/assets/components/assets/icon/mooc24.json +1 -0
- package/assets/components/assets/icon/mooc32.json +1 -0
- package/assets/components/assets/icon/multipleVariablesSet16.json +1 -0
- package/assets/components/assets/icon/multipleVariablesSet24.json +1 -0
- package/assets/components/assets/icon/multipleVariablesSet32.json +1 -0
- package/assets/components/assets/icon/parameters16.json +1 -0
- package/assets/components/assets/icon/parameters24.json +1 -0
- package/assets/components/assets/icon/parameters32.json +1 -0
- package/assets/components/assets/icon/parametersGear16.json +1 -0
- package/assets/components/assets/icon/parametersGear24.json +1 -0
- package/assets/components/assets/icon/parametersGear32.json +1 -0
- package/assets/components/assets/icon/parametersPlus16.json +1 -0
- package/assets/components/assets/icon/parametersPlus24.json +1 -0
- package/assets/components/assets/icon/parametersPlus32.json +1 -0
- package/assets/components/assets/icon/storymapExperience16.json +1 -0
- package/assets/components/assets/icon/storymapExperience24.json +1 -0
- package/assets/components/assets/icon/storymapExperience32.json +1 -0
- package/assets/components/assets/icon/stringSet16.json +1 -0
- package/assets/components/assets/icon/stringSet24.json +1 -0
- package/assets/components/assets/icon/stringSet32.json +1 -0
- package/assets/components/assets/icon/tableSet16.json +1 -0
- package/assets/components/assets/icon/tableSet24.json +1 -0
- package/assets/components/assets/icon/tableSet32.json +1 -0
- package/assets/components/assets/icon/variablePlus16.json +1 -0
- package/assets/components/assets/icon/variablePlus24.json +1 -0
- package/assets/components/assets/icon/variablePlus32.json +1 -0
- package/assets/components/assets/icon/videoLearning16.json +1 -0
- package/assets/components/assets/icon/videoLearning24.json +1 -0
- package/assets/components/assets/icon/videoLearning32.json +1 -0
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/02176f84d6d57f1bc1c8.js +2 -0
- package/assets/esri/core/workers/chunks/{75e01c6404cbd51daabc.js.LICENSE.txt → 02176f84d6d57f1bc1c8.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/05cba30c0d3855de7a65.js +1 -0
- package/assets/esri/core/workers/chunks/{7ef9bcd58af499a14a08.js → 089a19381b66cd074425.js} +1 -1
- package/assets/esri/core/workers/chunks/{984c5047ab1fa632ca09.js → 0a7cba60a5286ba621d4.js} +1 -1
- package/assets/esri/core/workers/chunks/0be7a0f4c4f4f91d1957.js +1 -0
- package/assets/esri/core/workers/chunks/0c6f2808c57ff820bfdd.js +2 -0
- package/assets/esri/core/workers/chunks/{baed733a29aa65efc2a0.js.LICENSE.txt → 0c6f2808c57ff820bfdd.js.LICENSE.txt} +7 -1
- package/assets/esri/core/workers/chunks/103c78c8bfdb56227bc0.js +1 -0
- package/assets/esri/core/workers/chunks/184d7c8ea818bec5c462.js +1 -0
- package/assets/esri/core/workers/chunks/{4523ba4a3c8987abca56.js → 1c75f7e4d2e9c8e377e7.js} +1 -1
- package/assets/esri/core/workers/chunks/1e1c3243ac82c969bb1f.js +1 -0
- package/assets/esri/core/workers/chunks/22f604726529ee6f8c25.js +1 -0
- package/assets/esri/core/workers/chunks/244d2196bac5ef279436.js +1 -0
- package/assets/esri/core/workers/chunks/25142d431dd1e5e82234.js +1 -0
- package/assets/esri/core/workers/chunks/25e19bd171eeb5634a4f.js +1 -0
- package/assets/esri/core/workers/chunks/26924d2f03b8a1b7a9b2.js +1 -0
- package/assets/esri/core/workers/chunks/27482132abb939a1cdb7.js +1 -0
- package/assets/esri/core/workers/chunks/2ae1dbdac9f24f4a3c84.js +1 -0
- package/assets/esri/core/workers/chunks/31b2ceed80796c7f6c03.js +1 -0
- package/assets/esri/core/workers/chunks/32f2e0c88046b39916cc.js +1 -0
- package/assets/esri/core/workers/chunks/3521a53f826f0ce6ac33.js +1 -0
- package/assets/esri/core/workers/chunks/3697ec74522cc5059098.js +1 -0
- package/assets/esri/core/workers/chunks/{60472225a228e499b1a2.js → 38557792ff9516fc991b.js} +1 -1
- package/assets/esri/core/workers/chunks/388a763da712ca71ccf4.js +1 -0
- package/assets/esri/core/workers/chunks/38f9ede26098eb03ca2d.js +2 -0
- package/assets/esri/core/workers/chunks/{239821543abbd63c5787.js.LICENSE.txt → 38f9ede26098eb03ca2d.js.LICENSE.txt} +3 -3
- package/assets/esri/core/workers/chunks/3f3a2c6ce48d832bf2f1.js +1 -0
- package/assets/esri/core/workers/chunks/{82493f51a2182f76dd2f.js → 459e3e507e8ea3e7e6ab.js} +1 -1
- package/assets/esri/core/workers/chunks/{f4111bb5e5a4910b684a.js → 4867a515ddbdab97cc61.js} +1 -1
- package/assets/esri/core/workers/chunks/51b5dfc7085272d26b89.js +1 -0
- package/assets/esri/core/workers/chunks/536d7986ebb710a8a452.js +1 -0
- package/assets/esri/core/workers/chunks/53eaad20c4f55dae21e0.js +1 -0
- package/assets/esri/core/workers/chunks/55eff05354069f34bb1d.js +1 -0
- package/assets/esri/core/workers/chunks/569e9ec636199d1f1744.js +1 -0
- package/assets/esri/core/workers/chunks/598fade09fa4da759ac2.js +1 -0
- package/assets/esri/core/workers/chunks/5ac3096139e3eafd0e1d.js +1 -0
- package/assets/esri/core/workers/chunks/{93d06a1a0b700ddb3807.js → 5bdd5ae2d2f23ef6b331.js} +1 -1
- package/assets/esri/core/workers/chunks/5db336767959507c07e5.js +2 -0
- package/assets/esri/core/workers/chunks/{c03bffa13841e4f80379.js.LICENSE.txt → 5db336767959507c07e5.js.LICENSE.txt} +2 -2
- package/assets/esri/core/workers/chunks/5e5225623977e61fd0ef.js +1 -0
- package/assets/esri/core/workers/chunks/642a595353a86f3717e3.js +1 -0
- package/assets/esri/core/workers/chunks/64640051f1fd787a3362.js +1 -0
- package/assets/esri/core/workers/chunks/6d230c55cde66ee905b3.js +1 -0
- package/assets/esri/core/workers/chunks/{c1bd47cde53918f454ca.js → 729407e372c8353cf871.js} +1 -1
- package/assets/esri/core/workers/chunks/{29283c19e1ccdc6cfbde.js → 736a11e64e5f03e3936b.js} +34 -33
- package/assets/esri/core/workers/chunks/769b66cca8347f0f84db.js +1 -0
- package/assets/esri/core/workers/chunks/7c4746f60332620f75c5.js +1 -0
- package/assets/esri/core/workers/chunks/{b6dd25bccb9f6e19c18e.js → 7c7ff11246479382974c.js} +1 -1
- package/assets/esri/core/workers/chunks/7fce62ef3f0b011e0d35.js +1 -0
- package/assets/esri/core/workers/chunks/814d72abbfdd4552e4ec.js +2 -0
- package/assets/esri/core/workers/chunks/{373782e9f5d61616fde4.js.LICENSE.txt → 814d72abbfdd4552e4ec.js.LICENSE.txt} +1 -6
- package/assets/esri/core/workers/chunks/{07f206719763173faa8d.js → 873327fc41edd3830afa.js} +4 -4
- package/assets/esri/core/workers/chunks/8ea182c2fc20dba79ef2.js +1 -0
- package/assets/esri/core/workers/chunks/{d58fae2fc9d148e015ae.js → 90dc783a617ff053e862.js} +1 -1
- package/assets/esri/core/workers/chunks/93e9dfd1ba8f393c6c47.js +1 -0
- package/assets/esri/core/workers/chunks/93f792f5b94f3745b57d.js +2 -0
- package/assets/esri/core/workers/chunks/{3845e1d47bb51c06682e.js.LICENSE.txt → 93f792f5b94f3745b57d.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/a197c86d42cc9ce21924.js +1 -0
- package/assets/esri/core/workers/chunks/a276980c06d5d311a37e.js +1 -0
- package/assets/esri/core/workers/chunks/a600194cfe26aedc21dd.js +1 -0
- package/assets/esri/core/workers/chunks/{a4239e301728d594afa5.js → a6b14665a46c2af5ac11.js} +1 -1
- package/assets/esri/core/workers/chunks/ae13bd77a25ce8b54631.js +1 -0
- package/assets/esri/core/workers/chunks/ae156b99e60a2bf940e4.js +1 -0
- package/assets/esri/core/workers/chunks/b2f1d1721a9dd88a1adf.js +1 -0
- package/assets/esri/core/workers/chunks/{4275dcec730a11173661.js → b7fc99ec15e2c86a6425.js} +1 -1
- package/assets/esri/core/workers/chunks/b8248939373e25a8d6db.js +1 -0
- package/assets/esri/core/workers/chunks/bbaadce582df7e20397b.js +1 -0
- package/assets/esri/core/workers/chunks/{18404cd87d29b2bdc7bf.js → c4dba6cf17aece714d22.js} +1 -1
- package/assets/esri/core/workers/chunks/c5d786166a5609b85276.js +2 -0
- package/assets/esri/core/workers/chunks/{e4d522ade82192f32d54.js.LICENSE.txt → c5d786166a5609b85276.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/{c589d32f8efcca6bf712.js → c6b08fdc0421258efcf5.js} +1 -1
- package/assets/esri/core/workers/chunks/c779335f5d5455c77a62.js +1 -0
- package/assets/esri/core/workers/chunks/{eb61e484f090fca28937.js → cb2be1a81bdd3443f758.js} +1 -1
- package/assets/esri/core/workers/chunks/ccc50f28f217e50cc2c3.js +1 -0
- package/assets/esri/core/workers/chunks/cd2927b922444880566d.js +1 -0
- package/assets/esri/core/workers/chunks/{df1225a3e751a662c182.js → d04efa51da9b4eb3a8a7.js} +1 -1
- package/assets/esri/core/workers/chunks/d28e2c9bdf514236b011.js +1 -0
- package/assets/esri/core/workers/chunks/d434d44916d32d4b10d5.js +1 -0
- package/assets/esri/core/workers/chunks/{50c1753ee3dc0d28ffd7.js → d696abbb1b13ac1a689b.js} +1 -1
- package/assets/esri/core/workers/chunks/dbaa4b8d37aab40d7bd1.js +2 -0
- package/assets/esri/core/workers/chunks/dbaa4b8d37aab40d7bd1.js.LICENSE.txt +3 -0
- package/assets/esri/core/workers/chunks/{4a15308b54734247f38e.js → dd8e72d6784a8ebc115d.js} +1 -1
- package/assets/esri/core/workers/chunks/de0784474d2e9e504a91.js +1 -0
- package/assets/esri/core/workers/chunks/{aca3ccb9599bcc444617.js → e1472af8f5d64c057d04.js} +1 -1
- package/assets/esri/core/workers/chunks/e27fa1e84f16b7f19a90.js +1 -0
- package/assets/esri/core/workers/chunks/e2cd6038d9c7167b128e.js +1 -0
- package/assets/esri/core/workers/chunks/{0252d853419adc203f04.js → ef6e805c49e1afdf966b.js} +1 -1
- package/assets/esri/core/workers/chunks/f2bc75a718a10065011d.js +1 -0
- package/assets/esri/core/workers/chunks/{1263391920fbb8926ced.js → f34ce3c37a385b341631.js} +1 -1
- package/assets/esri/core/workers/chunks/{e3d25d027885eb1a415f.js → f458a40e1f8fce3ad23c.js} +1 -1
- package/assets/esri/core/workers/chunks/f65b720b750aebca1bcd.js +1 -0
- package/assets/esri/core/workers/chunks/fdcbd28f38bc485ac5e3.js +1 -0
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_en.json +1 -1
- package/chunks/BloomComposition.glsl.js +25 -19
- package/chunks/ChapmanAtmosphere.glsl.js +1 -1
- package/chunks/ComponentShader.glsl.js +14 -14
- package/chunks/DefaultMaterial.glsl.js +6 -6
- package/chunks/Fog.glsl.js +3 -3
- package/chunks/Haze.glsl.js +1 -1
- package/chunks/OITBlend.glsl.js +1 -0
- package/chunks/Path.glsl.js +3 -3
- package/chunks/RealisticTree.glsl.js +5 -5
- package/chunks/SSAO.glsl.js +5 -4
- package/chunks/Viewshed.glsl.js +1 -1
- package/core/promiseUtils.d.ts +1 -0
- package/core/urlUtils.d.ts +4 -0
- package/identity/IdentityModal.js +1 -1
- package/interfaces.d.ts +335 -42
- package/intl/date.js +1 -1
- package/intl/messages.js +1 -1
- package/intl/number.js +1 -1
- package/layers/FeatureLayer.js +1 -1
- package/layers/ParquetLayer.js +1 -1
- package/layers/VideoLayer.js +1 -1
- package/layers/ViewshedLayer.js +1 -1
- package/layers/graphics/sources/ParquetSource.js +1 -1
- package/layers/save/featureLayerUtils.js +1 -1
- package/layers/support/ParquetEncodingBase.js +5 -0
- package/layers/support/ParquetEncodingLocation.js +5 -0
- package/layers/support/ParquetEncodingWkb.js +5 -0
- package/layers/support/domainUtils.js +1 -1
- package/layers/support/fieldUtils.js +1 -1
- package/layers/support/labelingInfo.js +1 -1
- package/layers/support/layerUtils.js +1 -1
- package/layers/support/parquetUtils.js +5 -0
- package/layers/support/serviceCapabilitiesUtils.js +1 -1
- package/layers/video/VideoController.js +1 -1
- package/layers/video/videoUtils.js +1 -1
- package/libs/parquet/parquet.js +1 -1
- package/networks/UtilityNetwork.js +1 -1
- package/package.json +2 -2
- package/portal/PortalItem.js +1 -1
- package/portal/PortalUser.js +1 -1
- package/portal/support/portalItemUtils.js +1 -1
- package/rest/featureService/FeatureService.js +1 -1
- package/rest/networks/support/NetworkElement.js +1 -1
- package/rest/networks/support/TelecomNetworkElement.js +5 -0
- package/rest/networks/trace.js +1 -1
- package/rest/print.js +1 -1
- package/support/TablesMixin.js +1 -1
- package/support/modeUtils.js +5 -0
- package/support/revision.js +1 -1
- package/views/2d/engine/webgl/FeatureTile.js +1 -1
- package/views/2d/engine/webgl/collisions/LabelMetric.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelMeshWriter.js +1 -1
- package/views/2d/layers/VideoLayerView2D.js +1 -1
- package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
- package/views/2d/layers/features/processor/TrackStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/ParquetLoadStrategy.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
- package/views/3d/analysis/LineOfSightAnalysisView3D.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedComputedData.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedSubTool.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedTool.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedVisualization.js +1 -1
- package/views/3d/analysis/ViewshedAnalysisView3D.js +1 -1
- package/views/3d/environment/ChapmanAtmosphereTechniqueConfiguration.js +1 -1
- package/views/3d/interactive/editingTools/transform/ExtentTransformTool.js +1 -1
- package/views/3d/interactive/editingTools/transform/extentTransform/ExtentMove.js +1 -1
- package/views/3d/interactive/editingTools/transform/extentTransform/ExtentRotate.js +1 -1
- package/views/3d/interactive/editingTools/transform/extentTransform/ExtentScale.js +1 -1
- package/views/3d/interactive/visualElements/ViewshedShapeVisualElement.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/Laserline.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/Water.glsl.js +8 -8
- package/views/3d/webgl-engine/effects/bloom/BloomComposition.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/bloom/BloomCompositionTechniqueConfiguration.js +5 -0
- package/views/3d/webgl-engine/effects/bloom/BloomRenderNode.js +1 -1
- package/views/3d/webgl-engine/effects/haze/HazeTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/PathTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/DefaultMaterialTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/ToneMapping.glsl.js +20 -2
- package/views/ToolViewManager.js +1 -1
- package/views/analysis/analysisViewUtils.js +1 -1
- package/views/draw/support/HighlightHelper.js +1 -1
- package/views/interactive/InteractiveToolBase.js +1 -1
- package/views/interactive/Tooltip.js +1 -1
- package/views/interactive/interactiveToolUtils.js +1 -1
- package/views/interactive/keybindings.js +1 -1
- package/views/ui/UI.js +1 -1
- package/webdoc/support/saveUtils.js +1 -1
- package/webdoc/support/webdocSaveUtils.js +1 -1
- package/widgets/Editor.js +1 -1
- package/widgets/ElevationProfile/support/chartUtils.js +1 -1
- package/widgets/Feature/FeatureMedia.js +1 -1
- package/widgets/Feature/support/featureUtils.js +1 -1
- package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/UtilityNetworkAssociationItemList.js +1 -1
- package/widgets/FeatureTable/Grid/Grid.js +1 -1
- package/widgets/FeatureTable/Grid/GridViewModel.js +1 -1
- package/widgets/FeatureTable.js +1 -1
- package/widgets/Legend/support/sizeRampUtils.js +1 -1
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/components/ImageLocationWidget.js +1 -1
- package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
- package/widgets/OrientedImageryViewer.js +1 -1
- package/widgets/ScaleRangeSlider/ScaleRangeSliderViewModel.js +1 -1
- package/widgets/Slider/SliderViewModel.js +1 -1
- package/widgets/Slider.js +1 -1
- package/widgets/TimeSlider.js +1 -1
- package/widgets/support/AnalysisViewModel.js +1 -1
- package/widgets/support/InteractiveAnalysisViewModel.js +1 -1
- package/widgets/support/Selector2D/SelectionOperation.js +1 -1
- package/widgets/support/widget.js +1 -1
- package/assets/esri/core/workers/chunks/0297e55a49ca0d1231ef.js +0 -1
- package/assets/esri/core/workers/chunks/04008648c59031bca8ea.js +0 -1
- package/assets/esri/core/workers/chunks/067dda58592fbf4fb812.js +0 -1
- package/assets/esri/core/workers/chunks/0b4e63e705db09dbe171.js +0 -1
- package/assets/esri/core/workers/chunks/1072b4f37eacbbfda2c8.js +0 -1
- package/assets/esri/core/workers/chunks/1b87fa15470cce26feea.js +0 -1
- package/assets/esri/core/workers/chunks/239821543abbd63c5787.js +0 -2
- package/assets/esri/core/workers/chunks/272a309760dacb13dee3.js +0 -1
- package/assets/esri/core/workers/chunks/2791f1f2791087d0217f.js +0 -1
- package/assets/esri/core/workers/chunks/35dccd3883d2e466c42e.js +0 -1
- package/assets/esri/core/workers/chunks/364860a42edc0c3b8d5b.js +0 -1
- package/assets/esri/core/workers/chunks/373782e9f5d61616fde4.js +0 -2
- package/assets/esri/core/workers/chunks/37e49d1a1407c193dcd0.js +0 -1
- package/assets/esri/core/workers/chunks/37e4f588a6896f98bce3.js +0 -1
- package/assets/esri/core/workers/chunks/3845e1d47bb51c06682e.js +0 -2
- package/assets/esri/core/workers/chunks/3f6dc811b5d515c2725c.js +0 -1
- package/assets/esri/core/workers/chunks/42aab2a336ee22fd9055.js +0 -1
- package/assets/esri/core/workers/chunks/4ba34124054752b363c0.js +0 -1
- package/assets/esri/core/workers/chunks/4baef5262ce401bf81bb.js +0 -1
- package/assets/esri/core/workers/chunks/593396b4c210da77a131.js +0 -1
- package/assets/esri/core/workers/chunks/5b32c2a1b276352593dc.js +0 -1
- package/assets/esri/core/workers/chunks/5df4e73905c0ae75e37c.js +0 -1
- package/assets/esri/core/workers/chunks/5fb9bb3ac2f60dbd59c4.js +0 -1
- package/assets/esri/core/workers/chunks/66e90f7d473d1f688254.js +0 -1
- package/assets/esri/core/workers/chunks/68d7babbe7e0d934e056.js +0 -1
- package/assets/esri/core/workers/chunks/6e6b60779c11efc128af.js +0 -1
- package/assets/esri/core/workers/chunks/759c12b0715279e3c0f6.js +0 -1
- package/assets/esri/core/workers/chunks/75e01c6404cbd51daabc.js +0 -2
- package/assets/esri/core/workers/chunks/77660e18ea793ae85f83.js +0 -1
- package/assets/esri/core/workers/chunks/7f36cffc6ed984b7e467.js +0 -1
- package/assets/esri/core/workers/chunks/7f86c9ec45f4fae1fb49.js +0 -1
- package/assets/esri/core/workers/chunks/879d672d12f9ef2e1b50.js +0 -1
- package/assets/esri/core/workers/chunks/90442f47c9f31f26b453.js +0 -1
- package/assets/esri/core/workers/chunks/91439b59260b0fb04be9.js +0 -1
- package/assets/esri/core/workers/chunks/96978d039f183565bffa.js +0 -1
- package/assets/esri/core/workers/chunks/999a4f7ca581f28cc1c4.js +0 -1
- package/assets/esri/core/workers/chunks/af41dcc8006cd0f451c2.js +0 -1
- package/assets/esri/core/workers/chunks/af9fda47d02c51a2c7da.js +0 -1
- package/assets/esri/core/workers/chunks/baed733a29aa65efc2a0.js +0 -2
- package/assets/esri/core/workers/chunks/c03bffa13841e4f80379.js +0 -2
- package/assets/esri/core/workers/chunks/c7ab674764312d65348f.js +0 -1
- package/assets/esri/core/workers/chunks/ca0572fe5614005acceb.js +0 -1
- package/assets/esri/core/workers/chunks/d2c7067bb6654c0e2793.js +0 -1
- package/assets/esri/core/workers/chunks/d46c82a55219b27c301b.js +0 -1
- package/assets/esri/core/workers/chunks/d89f105b8a0b13dd8e5f.js +0 -1
- package/assets/esri/core/workers/chunks/e13caf9691f556071e31.js +0 -1
- package/assets/esri/core/workers/chunks/e14449f07ed3386f4f2b.js +0 -1
- package/assets/esri/core/workers/chunks/e31bb256921807464715.js +0 -1
- package/assets/esri/core/workers/chunks/e4d522ade82192f32d54.js +0 -2
- package/assets/esri/core/workers/chunks/e5713b757f770a138b8c.js +0 -1
- package/assets/esri/core/workers/chunks/e6544e966f14fb410157.js +0 -1
- package/assets/esri/core/workers/chunks/e792603b7cc3ddd133f3.js +0 -1
- package/assets/esri/core/workers/chunks/e7cb4003c45e42b48ea6.js +0 -1
- package/assets/esri/core/workers/chunks/eb011e8b14db37ddb110.js +0 -1
- package/assets/esri/core/workers/chunks/efb0f3ec2344adcb24f3.js +0 -1
- package/assets/esri/core/workers/chunks/f0c864425f000ab87a7b.js +0 -1
- package/assets/esri/core/workers/chunks/f7d33d18bf1bd4db9df8.js +0 -1
- package/assets/esri/core/workers/chunks/f9396af9cbfd165e72e2.js +0 -1
- package/assets/esri/core/workers/chunks/fa2d836d4a844b26b84e.js +0 -1
- package/layers/support/parquetLayerUtils.js +0 -5
- package/support/themeUtils.js +0 -5
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../chunks/tslib.es6.js";import i from"../../core/Accessor.js";import{watch as a,initial as l}from"../../core/reactiveUtils.js";import{property as t}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";import r from"./ScaleRanges.js";import n from"../Slider/SliderViewModel.js";let c=class extends i{constructor(e){super(e),this.layer=null,this.mode="range",this.scaleRanges=r.fromScaleRange({minScale:0,maxScale:0}),this.sliderViewModel=(()=>{const{max:e}=this._getSliderIndexRange(this.scaleRanges.length-1);return new n({precision:10,min:0,max:e,values:[0,e]})})()}initialize(){this.addHandles([a((()=>this.layer),(e=>e?.load().catch((()=>{})))),a((()=>this.mode),(e=>{"range"===e&&1===this.sliderViewModel.values?.length?this.sliderViewModel.values=[this.sliderViewModel.min,this.sliderViewModel.values[0]]:2===this.sliderViewModel.values?.length&&("min-scale-only"===e?this.sliderViewModel.values=[this.sliderViewModel.values[0]]:"max-scale-only"===e&&(this.sliderViewModel.values=[this.sliderViewModel.values[1]]))})),a((()=>({loaded:this.layer?.loaded,ready:this.view?.ready})),(({loaded:e,ready:i})=>{if(!e||!i)return;if(this._hasTiledLayer()){const e=this._getLayerResampling()?void 0:this.mapScaleToSlider(this._getTiledLayerMaxScale()),i=this.mapScaleToSlider(this._getTiledLayerMinScale());this.sliderViewModel.effectiveMax=e,this.sliderViewModel.effectiveMin=i}else{const e=this.layer&&"maxScaleRange"in this.layer?this.layer.maxScaleRange:null,{minScale:i=0,maxScale:a=0}=e??{};this.sliderViewModel.effectiveMax=0===a?void 0:this.mapScaleToSlider(a),this.sliderViewModel.effectiveMin=0===i?void 0:this.mapScaleToSlider(i)}const a=this.layer;a&&"minScale"in a&&"maxScale"in a?(this.minScale=a.minScale,this.maxScale=a.maxScale):(this.minScale=void 0,this.maxScale=void 0)}),l)])}get effectiveMaxScale(){return 0===this.maxScale?this.maxScaleLimit:this.maxScale}get effectiveMinScale(){return 0===this.minScale?this.minScaleLimit:this.minScale}get effectiveMaxScaleLimit(){return this.mapSliderToScale(this.sliderViewModel.effectiveMax??this.sliderViewModel.max)}get effectiveMinScaleLimit(){return this.mapSliderToScale(this.sliderViewModel.effectiveMin??this.sliderViewModel.min)}get maxScale(){return this._getScale("max")}set maxScale(e){this._setMaxScaleOnSlider(e)}get maxScaleLimit(){return this.mapSliderToScale(this.sliderViewModel.max)}set maxScaleLimit(e){this._setSliderRange({maxScale:e,minScale:this.minScaleLimit})}get minScale(){return this._getScale("min")}set minScale(e){this._setMinScaleOnSlider(e)}get minScaleLimit(){return this.mapSliderToScale(this.sliderViewModel.min)}set minScaleLimit(e){this._setSliderRange({maxScale:this.maxScaleLimit,minScale:e})}get state(){const{view:e,layer:i}=this;return!e&&!i||!e&&i?.loaded||!i&&e?.ready||e&&e.ready&&i?.loaded?"ready":"disabled"}set view(e){this._set("view",e)}mapScaleToSlider(e){const i=this.scaleRanges.scaleToRangeIndex(e),a=this.scaleRanges.findScaleRangeByIndex(i),{maxScale:l,minScale:t}=a,{max:s,min:r}=this._getSliderIndexRange(i);return this._mapToRange(e,t,l,r,s)}mapSliderToScale(e){const i=this.scaleRanges.findScaleRangeByIndex(e),{maxScale:a,minScale:l}=i,{max:t,min:s}=this._getSliderIndexRange(e);return this._mapToRange(e,s,t,l,a)}_setSliderRange(e){this.scaleRanges=r.fromScaleRange(e);const{max:i}=this._getSliderIndexRange(this.scaleRanges.length-1);this.sliderViewModel.max=i,this.sliderViewModel.min=0,this.
|
|
5
|
+
import{_ as e}from"../../chunks/tslib.es6.js";import i from"../../core/Accessor.js";import{watch as a,initial as l}from"../../core/reactiveUtils.js";import{property as t}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";import r from"./ScaleRanges.js";import n from"../Slider/SliderViewModel.js";let c=class extends i{constructor(e){super(e),this.layer=null,this.mode="range",this.scaleRanges=r.fromScaleRange({minScale:0,maxScale:0}),this.sliderViewModel=(()=>{const{max:e}=this._getSliderIndexRange(this.scaleRanges.length-1);return new n({precision:10,min:0,max:e,values:[0,e]})})()}initialize(){this.addHandles([a((()=>this.layer),(e=>e?.load().catch((()=>{})))),a((()=>this.mode),(e=>{"range"===e&&1===this.sliderViewModel.values?.length?this.sliderViewModel.values=[this.sliderViewModel.min,this.sliderViewModel.values[0]]:2===this.sliderViewModel.values?.length&&("min-scale-only"===e?this.sliderViewModel.values=[this.sliderViewModel.values[0]]:"max-scale-only"===e&&(this.sliderViewModel.values=[this.sliderViewModel.values[1]]))})),a((()=>({loaded:this.layer?.loaded,ready:this.view?.ready})),(({loaded:e,ready:i})=>{if(!e||!i)return;if(this._hasTiledLayer()){const e=this._getLayerResampling()?void 0:this.mapScaleToSlider(this._getTiledLayerMaxScale()),i=this.mapScaleToSlider(this._getTiledLayerMinScale());this.sliderViewModel.effectiveMax=e,this.sliderViewModel.effectiveMin=i}else{const e=this.layer&&"maxScaleRange"in this.layer?this.layer.maxScaleRange:null,{minScale:i=0,maxScale:a=0}=e??{};this.sliderViewModel.effectiveMax=0===a?void 0:this.mapScaleToSlider(a),this.sliderViewModel.effectiveMin=0===i?void 0:this.mapScaleToSlider(i)}const a=this.layer;a&&"minScale"in a&&"maxScale"in a?(this.minScale=a.minScale,this.maxScale=a.maxScale):(this.minScale=void 0,this.maxScale=void 0)}),l)])}get effectiveMaxScale(){return 0===this.maxScale?this.maxScaleLimit:this.maxScale}get effectiveMinScale(){return 0===this.minScale?this.minScaleLimit:this.minScale}get effectiveMaxScaleLimit(){return this.mapSliderToScale(this.sliderViewModel.effectiveMax??this.sliderViewModel.max)}get effectiveMinScaleLimit(){return this.mapSliderToScale(this.sliderViewModel.effectiveMin??this.sliderViewModel.min)}get maxScale(){return this._getScale("max")}set maxScale(e){this._setMaxScaleOnSlider(e)}get maxScaleLimit(){return this.mapSliderToScale(this.sliderViewModel.max)}set maxScaleLimit(e){this._setSliderRange({maxScale:e,minScale:this.minScaleLimit})}get minScale(){return this._getScale("min")}set minScale(e){this._setMinScaleOnSlider(e)}get minScaleLimit(){return this.mapSliderToScale(this.sliderViewModel.min)}set minScaleLimit(e){this._setSliderRange({maxScale:this.maxScaleLimit,minScale:e})}get state(){const{view:e,layer:i}=this;return!e&&!i||!e&&i?.loaded||!i&&e?.ready||e&&e.ready&&i?.loaded?"ready":"disabled"}set view(e){this._set("view",e)}mapScaleToSlider(e){const i=this.scaleRanges.scaleToRangeIndex(e),a=this.scaleRanges.findScaleRangeByIndex(i),{maxScale:l,minScale:t}=a,{max:s,min:r}=this._getSliderIndexRange(i);return this._mapToRange(e,t,l,r,s)}mapSliderToScale(e){const i=this.scaleRanges.findScaleRangeByIndex(e),{maxScale:a,minScale:l}=i,{max:t,min:s}=this._getSliderIndexRange(e);return this._mapToRange(e,s,t,l,a)}_setSliderRange(e){this.scaleRanges=r.fromScaleRange(e);const{max:i}=this._getSliderIndexRange(this.scaleRanges.length-1);this.sliderViewModel.max=i,this.sliderViewModel.min=0,this._set("minScaleLimit",this.mapSliderToScale(this.sliderViewModel.min)),this._set("maxScaleLimit",this.mapSliderToScale(this.sliderViewModel.max))}_getSliderIndexRange(e){const i=Math.floor(e);return{min:i,max:i+.99999}}_mapToRange(e,i,a,l,t){return l+(e-i)*(t-l)/(a-i)}_getSliderValue(e){const{min:i,max:a,values:l}=this.sliderViewModel,[t,s]=l;switch(this.mode){case"max-scale-only":return"min"===e?i:t;case"min-scale-only":return"min"===e?t:a;default:return"min"===e?t??i:s??a}}_getScale(e){const i=this.mapSliderToScale(this._getSliderValue(e));return this._normalizeScale(e,i)}_setMaxScaleOnSlider(e){const{scaleRanges:i,sliderViewModel:a}=this;if(void 0!==e){const l=this.mapScaleToSlider(this._constrainMaxScaleToLayer(i.clampMaxScale(e)));switch(this.mode){case"range":a.values=[a.values[0],l];break;case"max-scale-only":a.values=[l]}}}_setMinScaleOnSlider(e){const{scaleRanges:i,sliderViewModel:a}=this;if(void 0!==e){const l=this.mapScaleToSlider(this._constrainMinScaleToLayer(i.clampMinScale(e)));switch(this.mode){case"range":a.values=[l,a.values[1]];break;case"min-scale-only":a.values=[l]}}}_constrainMinScaleToLayer(e){const{scaleRanges:i}=this;if(this._hasTiledLayer()){const{firstRange:a}=i,l=this._getTiledLayerMinScale(),t=.85;e=this._mapToRange(e,a.maxScale,a.minScale,0,1)>t||e>l?l:e}return e}_constrainMaxScaleToLayer(e){if(this._hasTiledLayer()&&!this._getLayerResampling()){const i=this._getTiledLayerMaxScale();e=e<i?i:e}return e}_normalizeScale(e,i){const a="max"===e?"maxScale":"minScale",l=this._hasTiledLayer()?"min"===e?this._getTiledLayerMinScale():this._getTiledLayerMaxScale():this.scaleRanges[a],t=this._hasTiledLayer()?"min"===e?this._getTiledLayerRealMinScale():this._getTiledLayerRealMaxScale():l,s=1e-6,r=0===i||t===i||Math.abs(t-i)<=s;return Number((r?0:i).toFixed(6))}_getLayerLODS(){const{layer:e}=this;if(!e?.loaded||!("tileInfo"in e))return null;return"wcs"===e.type||"imagery-tile"===e.type&&"Raster"===e.raster?.tileType?null:e.tileInfo?.lods}_getLayerResampling(){return!!this.layer?.loaded&&(!("resampling"in this.layer)||this.layer.resampling)}_getTiledLayerMinScale(){const e=this._getLayerLODS();return this.scaleRanges.clampMinScale(e[0].scale)}_getTiledLayerMaxScale(){const e=this._getLayerLODS();return e[e.length-1].scale}_getTiledLayerRealMinScale(){const e=this._getLayerLODS(),i=this.layer,a=i&&"sourceJSON"in i?i.sourceJSON?.tileInfo?.lods??e:e;return this.scaleRanges.clampMinScale(a[0].scale)}_getTiledLayerRealMaxScale(){const e=this._getLayerLODS(),i=this.layer,a=i&&"sourceJSON"in i?i.sourceJSON?.tileInfo?.lods??e:e;return a[a.length-1].scale}_hasTiledLayer(){return!!this._getLayerLODS()}};e([t({readOnly:!0})],c.prototype,"effectiveMaxScale",null),e([t({readOnly:!0})],c.prototype,"effectiveMinScale",null),e([t()],c.prototype,"effectiveMaxScaleLimit",null),e([t()],c.prototype,"effectiveMinScaleLimit",null),e([t()],c.prototype,"layer",void 0),e([t()],c.prototype,"maxScale",null),e([t()],c.prototype,"maxScaleLimit",null),e([t()],c.prototype,"mode",void 0),e([t()],c.prototype,"minScale",null),e([t()],c.prototype,"minScaleLimit",null),e([t()],c.prototype,"scaleRanges",void 0),e([t({type:n})],c.prototype,"sliderViewModel",void 0),e([t({readOnly:!0})],c.prototype,"state",null),e([t()],c.prototype,"view",null),c=e([s("esri.widgets.ScaleRangeSlider.ScaleRangeSliderViewModel")],c);const o=c;export{o as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../../chunks/tslib.es6.js";import e from"../../core/Accessor.js";import i from"../../core/Error.js";import s from"../../core/Logger.js";import{property as
|
|
5
|
+
import{_ as t}from"../../chunks/tslib.es6.js";import e from"../../core/Accessor.js";import i from"../../core/Error.js";import s from"../../core/Logger.js";import{property as r}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/RandomLCG.js";import{subclass as n}from"../../core/accessorSupport/decorators/subclass.js";let o=class extends e{constructor(t){super(t),this.precision=4,this.thumbsConstrained=!0}set effectiveMax(t){this.setEffectiveMax(t)}set effectiveMin(t){this.setEffectiveMin(t)}set labelFormatFunction(t){this._set("labelFormatFunction",t)}set inputFormatFunction(t){this._set("inputFormatFunction",t)}set inputParseFunction(t){this._set("inputParseFunction",t)}get labels(){const{max:t,min:e,values:i}=this,s=i?.length?i.map(((t,e)=>this.getLabelForValue(t,"value",e))):[];return{max:this.getLabelForValue(t,"max"),min:this.getLabelForValue(e,"min"),values:s}}set max(t){this.setMax(t)}set min(t){this.setMin(t)}get state(){const{max:t,min:e}=this;return null!=t&&null!=e&&t>e?"ready":"disabled"}set values(t){const{max:e,min:i}=this,s=this.values;s&&t&&s.length===t.length&&s.every(((e,i)=>e===t[i]))||(this._set("values",null),t?.length&&(null!=i&&t.some((t=>t<i))&&(this.min=Math.min(...t)),null!=e&&t.some((t=>t>e))&&(this.max=Math.max(...t))),this._set("values",t))}toPrecision(t){return parseFloat(t.toFixed(this.precision))}defaultLabelFormatFunction(t){const{max:e,min:i,precision:s}=this,r=null!=e&&null!=i&&e-i>10?2:s;return parseFloat(t.toFixed(r)).toString()}defaultInputFormatFunction(t){return t.toString()}defaultInputParseFunction(t){return parseFloat(t)}getBounds(){const{effectiveMax:t,effectiveMin:e,max:i,min:s}=this;return{min:null!=e&&null!=s?Math.max(s,e):s,max:null!=t&&null!=i?Math.min(i,t):i}}getBoundsForValueAtIndex(t){const{thumbsConstrained:e,values:i}=this,{min:s,max:r}=this.getBounds();if(e&&i){const e=t-1,n=t+1;return{min:null!=i[e]?i[e]:s,max:null!=i[n]?i[n]:r}}return{min:s,max:r}}getLabelForValue(t,e,i){return null==t?null:this.labelFormatFunction?this.labelFormatFunction(t,e,i):this.defaultLabelFormatFunction(t)}setMax(t){const{max:e,values:i}=this;if(null==t)return void this._set("max",null);if(isNaN(t))return void this._logError("slider:invalid-value","Supplied value for property 'max' is NaN.");const s=this.toPrecision(t);if(e!==s&&(this._set("max",s),i?.length))for(let r=0;r<i.length;r++)s<i[r]&&this.setValue(r,s)}setMin(t){const{min:e,values:i}=this;if(null==t)return void this._set("min",null);if(isNaN(t))return void this._logError("slider:invalid-value","Supplied value for property 'min' is NaN.");const s=this.toPrecision(t);if(e!==s&&(this._set("min",s),i?.length))for(let r=0;r<i.length;r++)s>i[r]&&this.setValue(r,s)}setEffectiveMax(t){if(null==t)return void this._set("effectiveMax",null);if(isNaN(t))return void this._logError("slider:invalid-value","Supplied value for property 'effectiveMax' is NaN.");const e=this.toPrecision(t);this.effectiveMax!==e&&this._set("effectiveMax",this._applyBoundsToValue(e))}setEffectiveMin(t){if(null==t)return void this._set("effectiveMin",null);if(isNaN(t))return void this._logError("slider:invalid-value","Supplied value for property 'effectiveMin' is NaN.");const e=this.toPrecision(t);this.effectiveMin!==e&&this._set("effectiveMin",this._applyBoundsToValue(e))}setValue(t,e){if(isNaN(e))return void this._logError("slider:invalid-value","Supplied value for member of property 'values' is NaN.");const{values:i}=this;if(null==i)return void this._logError("slider:invalid-value","Supplied value for member of property 'values' is null.");const s=i[t],r=this.toPrecision(e);if(s===r)return;const n=[...i];n[t]=r,this._set("values",n)}_applyBoundsToValue(t){const{max:e,min:i}=this;return null!=i&&t<i?i:null!=e&&t>e?e:t}_logError(t,e,r){s.getLogger(this).error(new i(t,e,r))}};t([r()],o.prototype,"effectiveMax",null),t([r()],o.prototype,"effectiveMin",null),t([r()],o.prototype,"labelFormatFunction",null),t([r()],o.prototype,"inputFormatFunction",null),t([r()],o.prototype,"inputParseFunction",null),t([r({readOnly:!0})],o.prototype,"labels",null),t([r()],o.prototype,"max",null),t([r()],o.prototype,"min",null),t([r()],o.prototype,"precision",void 0),t([r({readOnly:!0})],o.prototype,"state",null),t([r()],o.prototype,"thumbsConstrained",void 0),t([r()],o.prototype,"values",null),o=t([n("esri.widgets.Slider.SliderViewModel")],o);const l=o;export{l 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.33/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{assertIsSome as i}from"../core/maybe.js";import{property as n}from"../core/accessorSupport/decorators/property.js";import{cast as s}from"../core/accessorSupport/decorators/cast.js";import"../core/has.js";import"../core/RandomLCG.js";import{subclass as o}from"../core/accessorSupport/decorators/subclass.js";import r from"./Widget.js";import{css as a}from"./Slider/css.js";import l from"./Slider/SliderViewModel.js";import{globalCss as h}from"./support/globalCss.js";import{onResize as u}from"./support/widgetUtils.js";import{messageBundle as c}from"./support/decorators/messageBundle.js";import{tsx as d}from"./support/jsxFactory.js";import{substitute as m}from"../intl/substitute.js";const _={showInput:"Enter",hideInput1:"Enter",hideInput2:"Escape",hideInput3:"Tab",moveAnchorUp:"ArrowUp",moveAnchorDown:"ArrowDown",moveAnchorLeft:"ArrowLeft",moveAnchorRight:"ArrowRight",moveAnchorToMax:"End",moveAnchorToMin:"Home"},p={labels:!1,rangeLabels:!1};let v=class extends r{constructor(e,i){super(e,i),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 l,this.visibleElements={...p},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 icon(){return"caret-double-horizontal"}set icon(e){this._overrideIfSome("icon",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:i,_dragStartInfo:n,_segmentDragStartInfo:s,disabled:o,viewModel:r}=this;return o?"disabled":!(null===e&&!t&&!i)?"editing":null!=n||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{...p,...e}}render(){const{label:e}=this,t=this.classes(a.base,h.widget,this._isHorizontalLayout()?a.horizontalLayout:a.verticalLayout,this._isReversedLayout()?a.reversed:null,this._isDisabled()?h.disabled:null);return this._storeTrackDimensions(),d("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 d("div",{bind:this,class:a.contentElement,key:"slider-container"},this._renderTrackElement(),this._renderTicksContainer(),this._renderExtraContentElements())}_renderTrackElement(){return d("div",{afterCreate:this._afterTrackCreate,afterRemoved:this._afterTrackRemoved,bind:this,class:a.trackElement,"touch-action":"none"},this._renderEffectiveSegmentElements(),this._renderSegmentElements(),this._renderAnchorElements())}_renderEffectiveSegmentElements(){if(!this.trackElement||!this.values?.length)return;const e=null!=this.effectiveMax,t=null!=this.effectiveMin;if(!e&&!t)return;const{max:i,min:n,viewModel:s}=this,o=s.getBounds(),r=[];return t&&r.push(this._renderEffectiveSegmentElement(n,o.min,!0)),e&&r.push(this._renderEffectiveSegmentElement(o.max,i,!1)),r}_renderSegmentElements(){if(!this.trackElement||!this.values?.length)return;const e=this.values.length,t=[];for(let i=0;i<=e;i++)t.push(this._renderSegmentElement(i));return t}_renderSegmentElement(e){const{_trackHeight:t,_trackWidth:i,draggableSegmentsEnabled:n,id:s,state:o}=this,r=this.values,l=this._isHorizontalLayout(),h=l?i:t,u=this.viewModel.getBounds(),c=this._positionFromValue(u.max),m=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]):m,b=v?this._positionFromValue(E[_]):c):(f=v?this._positionFromValue(E[_]):c,b=g?this._positionFromValue(E[p]):m);const x=this._applyPrecisionToPosition(100*b/h),y=(f-b)/h,k=l?`transform: translate(${x}%, 0px) scale(${y}, 1);`:`transform: translate(0px, ${x}%) scale(1, ${y});`,P=this.classes(a.segmentElement,a.segmentElementIndexPrefix+e,n&&v&&g&&"disabled"!==o?a.segmentElementInteractive:null);return d("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,i){const{_trackHeight:n,_trackWidth:s,layout:o}=this,r=this._positionFromValue(e),l=this._positionFromValue(t),h=this._isHorizontalLayout(),u=h?s:n,c=this._applyPrecisionToPosition(100*r/u);let m=null;if("horizontal"===o){const e=i?u-l:l,t=r===u?0:c;m=`clip-path: inset(0% ${l===u?0:this._applyPrecisionToPosition(e/u*100)}% 0% ${t}%);`}else{const e=(l-r)/u;m=h?`transform: translate(${c}%, 0px) scale(${e}, 1);`:`transform: translate(0px, ${c}%) scale(1, ${e});`}const _=i?a.effectiveMinSegmentElement:a.effectiveMaxSegmentElement,p=this.classes(a.segmentElement,a.effectiveSegmentElement,_);return d("div",{afterCreate:this._afterEffectiveSegmentCreate,afterRemoved:this._afterEffectiveSegmentRemoved,bind:this,class:p,style:m,"touch-action":"none"})}_renderAnchorElements(){const{trackElement:e,values:t}=this;if(t?.length)return this._zIndices=t.map(((e,i)=>{const n=this._positionFromValue(e),s=this._positionToPercent(n),o=(this._isHorizontalLayout()?s>50:s<50)?-1:1;return this._zIndexOffset+(t.length+o*i)})),e&&t&&t.length?t.map(((e,t)=>this._renderAnchorElement(e,t))):null}_renderAnchorElement(e,t){const i=this._positionFromValue(e),n=this._valueFromPosition(i);if(null==n||isNaN(n))return;const{_dragStartInfo:s,_lastMovedHandleIndex:o,id:r,layout:l,visibleElements:{labels:h}}=this,u=this.values,c=s&&s.index===t,_=o===t,p=this.classes(a.anchorElement,a.anchorElementIndexPrefix+t,c?a.movingAnchorElement:null,_?a.lastMovedAnchorElement:null),v=this.labels.values[t],g=this._getStyleForAnchor(e,t,c||_),{min:f,max:b}=this.viewModel.getBoundsForValueAtIndex(t),{disabled:E,messages:x}=this,y=2===u.length?m(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 d("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":l,"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"},d("span",{afterCreate:this._afterThumbCreate,afterRemoved:this._afterThumbRemoved,bind:this,class:a.thumbElement,"data-thumb-index":t,"touch-action":"none"}),this.renderThumbLabel(t))}renderThumbLabel(e){const{id:t,labels:i,labelInputsEnabled:n,state:s}=this,o=this.visibleElements.labels,r=i.values[e],l=this.classes(a.labelElement,o?null:h.hidden,n&&"disabled"!==s?a.labelElementInteractive:null);return d("span",{afterCreate:this._afterLabelCreate,afterRemoved:this._afterLabelRemoved,"aria-hidden":(!o).toString(),bind:this,class:l,"data-thumb-index":e,id:`${t}-label-${e}`,key:`${t}-label-${e}`,role:n?"button":void 0,"touch-action":"none"},this._activeLabelInputIndex===e?this._renderValueInput(e):r)}_renderValueInput(e){const{disabled:t,values:i}=this;if(null==i)return;const n=i[e];return d("input",{afterCreate:this._afterInputCreate,"aria-label":this.messages.sliderValue,bind:this,class:a.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(n,"value",e)})}_renderMax(){const{_isMaxInputActive:e,labels:t,rangeLabelInputsEnabled:i,state:n}=this,s=this.visibleElements.rangeLabels,o=this.classes(a.maxElement,{[h.hidden]:!s,[a.maxElementInteractive]:i&&"disabled"!==n,[a.rangeElementActive]:e});return d("div",{afterCreate:this._afterMaxLabelCreate,"aria-hidden":(!s).toString(),bind:this,class:o,onclick:this._onMaxLabelClick,onkeydown:this._onMaxLabelKeyDown,role:i?"button":void 0,tabIndex:!this.disabled&&i?0:-1},e?this._renderMaxInput():t.max)}_renderMin(){const{_isMinInputActive:e,labels:t,rangeLabelInputsEnabled:i,state:n}=this,s=this.visibleElements.rangeLabels,o=this.classes(a.minElement,{[h.hidden]:!s,[a.minElementInteractive]:i&&"disabled"!==n,[a.rangeElementActive]:e});return d("div",{afterCreate:this._afterMinLabelCreate,"aria-hidden":(!s).toString(),bind:this,class:o,onclick:this._onMinLabelClick,onkeydown:this._onMinLabelKeyDown,role:i?"button":void 0,tabIndex:!this.disabled&&i?0:-1},e?this._renderMinInput():t.min)}_renderMaxInput(){return d("input",{afterCreate:this._afterInputCreate,"aria-label":this.messages.maximumValue,bind:this,class:a.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 d("input",{afterCreate:this._afterInputCreate,"aria-label":this.messages.minimumValue,bind:this,class:a.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 d("div",{bind:this,class:a.extraContentElement},this.extraNodes)}_renderTicksContainer(){if(this.tickConfigs&&this.trackElement&&(0!==this._trackHeight||0!==this._trackWidth))return this.tickConfigs.map(((e,t)=>d("div",{class:this.classes(a.ticksContainerElement),key:"ticks-container"},this._renderTicks(e,t))))}_renderTicks(e,i){const{mode:n,values:s}=e;if(this.tickElements.at(i)||this.tickElements.add(new t,i),"position"===n){const t=Array.isArray(s)?s:[s];return this._calculateTickPositions(t).map(((t,n)=>this._renderTickGroup(e,n,i,t)))}if("percent"===n&&Array.isArray(s)){const t=this.min??0,n=(this.max??0)-t,o=s.map((e=>this._applyPrecisionToPosition(e/100*n+t)));return this._calculateTickPositions(o).map(((t,n)=>this._renderTickGroup(e,n,i,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,n)=>this._renderTickGroup(e,n,i,t)))}_renderTickGroup(e,t,i,n){const s="position"===e.mode?Array.isArray(e.values)?e.values[t]:e.values:this._valueFromPosition(n);if(null!=s&&!isNaN(s))return d("div",{afterCreate:this._afterTickGroupCreate,afterRemoved:this._afterTickGroupRemoved,bind:this,"data-config":e,"data-position":n,"data-tick-config-index":i,"data-tick-group-index":t,"data-value":s,key:`tick-group-${t}`,onclick:this._onTickGroupClick},this._renderTickLine(e,t,i,s),e.labelsVisible?this._renderTickLabel(e,t,i,s):null)}_renderTickLine(e,t,i,n){return d("div",{afterCreate:this._afterTickLineCreate,"aria-valuenow":n.toString(),bind:this,class:a.tickElement,"data-config":e,"data-tick-config-index":i,"data-tick-group-index":t,"data-value":n,key:`tick-label-${t}`,style:this._getPositionStyleForElement(n)})}_renderTickLabel(e,t,i,n){const s=e.labelFormatFunction?e.labelFormatFunction(n,"tick",t):this.viewModel.getLabelForValue(n,"tick",t);return d("div",{afterCreate:this._afterTickLabelCreate,"aria-label":s,"aria-valuenow":n.toString(),"aria-valuetext":s,bind:this,class:a.tickLabelElement,"data-config":e,"data-tick-config-index":i,"data-tick-group-index":t,"data-value":n,key:`tick-label-${t}`,style:`transform: translate(-50%); ${this._getPositionStyleForElement(n)}`},s)}_afterContainerCreate(e){this.addHandles(u(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=g(e),i=y(e),n=this.thumbElements.at(t),s=this.labelElements.at(t)||null;this.thumbCreatedFunction(t,i,n,s)}}_afterAnchorUpdate(e){if(null!=this._focusedAnchorIndex){g(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"),i="thumb"===t?f(e):null;this.inputCreatedFunction(e,t,i)}}_afterTickLineCreate(e){const t=k(e),i=P(e),n=this.tickElements.at(t),s=n.at(i);s?s.tickElement=e:n.add({groupElement:null,tickElement:e,labelElement:null},i)}_afterTickLabelCreate(e){const t=k(e),i=P(e),n=this.tickElements.at(t),s=n.at(i);s?s.labelElement=e:n.add({groupElement:null,labelElement:e,tickElement:null},i)}_afterTickGroupRemoved(e){const t=k(e),i=this.tickElements.items[t],n=i?.find((t=>t.groupElement===e));n&&i.remove(n)}_afterTickGroupCreate(e){const t=I(e);if(t?.tickCreatedFunction){const i=k(e),n=P(e),s=y(e),o=this.tickElements?.at(i)?.at(n);if(o){o.groupElement=e;const i=o.tickElement||null,n=o.labelElement||null;t.tickCreatedFunction(s,i,n)}}}_afterMaxLabelCreate(e){this._set("maxLabelElement",e)}_afterMinLabelCreate(e){this._set("minLabelElement",e)}_onAnchorKeyDown(e){if(this._isDisabled()||"editing"===this.state)return;const{key:t,target:i}=e,n=this.values,s=g(i),o=this._anchorElements[s],r=n[s],a=[_.moveAnchorUp,_.moveAnchorDown,_.moveAnchorLeft,_.moveAnchorRight];if(t===_.showInput&&this.labelInputsEnabled)this._activeLabelInputIndex=s,this.notifyChange("state");else if(a.includes(t)){e.preventDefault();const{steps:i}=this,n=t===_.moveAnchorUp||t===_.moveAnchorRight?1:-1;if(null!=i)this._toStep(s,this._isReversedLayout()?-1*n:n);else{const{precision:e}=this,t=this._getPositionOfElement(o),i=this._valueFromPosition(t),r=this._isHorizontalLayout()?n:-1*n;let a;a=0===e?this._positionFromValue(i+r):1===e?this._positionFromValue(i+.1*r):t+r,this._toPosition(s,a)}const a=this.values[s];r!==a&&this._emitThumbChangeEvent({index:s,oldValue:r,value:a})}else if(t===_.moveAnchorToMax||t===_.moveAnchorToMin){e.preventDefault();const{min:i,max:n}=this._getAnchorBoundsInPixels(s),o=this._isPositionInverted()?t===_.moveAnchorToMax?i:n:t===_.moveAnchorToMin?i:n;this._toPosition(s,o);const a=this.values[s];r!==a&&this._emitThumbChangeEvent({index:s,oldValue:r,value:a})}}_onAnchorPointerDown(e){if(this._isDisabled())return;const{target:t,clientX:i,clientY:n}=e,s=g(t);null!=s&&(e.preventDefault(),this._anchorElements[s]&&this._anchorElements[s].focus(),this._storeTrackDimensions(),this._dragStartInfo={clientX:i,clientY:n,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:i,_dragged:n,_dragStartInfo:s,_dragStartInfo:{index:o,position:r}}=this,{clientX:a,clientY:l}=e,h=n?"drag":"start",u=i[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];n?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,i=this._dragged,n=this.values[t];this._dragged=!1,this._dragStartInfo=null,this._lastMovedHandleIndex=t,this.notifyChange("state"),i?this._emitThumbDragEvent({index:t,state:"stop",value:n}):(this.scheduleRender(),"editing"!==this.state&&this._emitThumbClickEvent({index:t,value:n}))}_onTrackPointerDown(e){const{_dragStartInfo:t,snapOnClickEnabled:i,state:n,values:s}=this;if(this._isDisabled()||"editing"===n||t)return;if(document.addEventListener("pointermove",this._onTrackPointerMove),document.addEventListener("pointerup",this._onTrackPointerUp),!i||!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),i=this._valueFromPosition(t);this._emitTrackClickEvent({value:i})}}_onSegmentPointerDown(e){e.preventDefault();const t=e.target,i=b(t),n=E(t),s=x(t);if(this._isDisabled()||null==n||null==s)return;e.stopPropagation(),this._storeTrackDimensions(),document.addEventListener("pointerup",this._onSegmentPointerUp);const o=this._getAnchorDetails(n),r=this._getAnchorDetails(s);this.syncedSegmentsEnabled?(this.segmentElements.forEach((e=>e.classList.add(a.segmentElementActive))),this._anchorElements.forEach((e=>e.classList.add(a.anchorElementActive)))):(this.segmentElements.at(i).classList.add(a.segmentElementActive),this._anchorElements[o.index]?.classList.add(a.anchorElementActive),this._anchorElements[r.index]?.classList.add(a.anchorElementActive)),this._segmentDragStartInfo={cursorPosition:this._getCursorPositionFromEvent(e),index:i,details:this._normalizeSegmentDetails({min:o,max:r})},this.draggableSegmentsEnabled&&(document.addEventListener("pointermove",this._onSegmentPointerMove),this.notifyChange("state"),this._emitSegmentDragEvent({index:i,state:"start",thumbIndices:[n,s]}))}_onSegmentPointerMove(e){if(!this._segmentDragStartInfo)return;e.preventDefault();const{_trackHeight:t,_trackWidth:i,_segmentDragStartInfo:{index:n,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),i=this._isPositionInverted()?t:e,n=i,s=d+(i-h),o=s-this.values[u];return void(this.syncedSegmentsEnabled?this._updateAnchorValuesByDifference(o):this._updateAnchorValues([a,u],[n,s]))}if(x){const{min:e,max:t}=this.viewModel.getBoundsForValueAtIndex(u),i=this._isPositionInverted()?e:t,n=i,s=h+(i-d),o=s-this.values[a];return void(this.syncedSegmentsEnabled?this._updateAnchorValuesByDifference(o):this._updateAnchorValues([a,u],[s,n]))}const y=this._isHorizontalLayout()?i:t,k=g/100*y,P=v/100*y,I=this.values,A=[I[a],I[u]],M=this._getValueForAnchorAtPosition(a,P),L=this._getValueForAnchorAtPosition(u,k);this.syncedSegmentsEnabled?this._updateAnchorValuesByDifference(M-A[0]):this._updateAnchorValues([a,u],[M,L]);[this.values[a],this.values[u]].every(((e,t)=>e===A[t]))||this._emitSegmentDragEvent({index:n,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,i=this.min,n=this.max,s=this.values,{index:o,details:{min:{index:r},max:{index:l}}}=this._segmentDragStartInfo;if(this.segmentElements.forEach((e=>e.classList.remove(a.segmentElementActive))),this._anchorElements.forEach((e=>e.classList.remove(a.anchorElementActive))),this.draggableSegmentsEnabled){const e=n-i,t=s[r],a=s[l];this._lastMovedHandleIndex=t===a?t>e/2?r:l:null,this._dragged=!1,this._segmentDragStartInfo=null,this.notifyChange("state"),this._emitSegmentDragEvent({index:o,state:"stop",thumbIndices:[r,l]})}if(!t){const t=this._getCursorPositionFromEvent(e),i=this._valueFromPosition(t);this._emitSegmentClickEvent({index:o,value:i,thumbIndices:[r,l]})}}_onTickGroupClick(e){const t=e.target;if(I(t)){const e=k(t),i=P(t),n=y(t);this._emitTickClickEvent({configIndex:e,groupIndex:i,value:n})}}_storeTrackDimensions(){if(this.trackElement){const e=this._getDimensions(this.trackElement);this._trackHeight=this._applyPrecisionToPosition(e.height),this._trackWidth=this._applyPrecisionToPosition(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=g(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:i,viewModel:n}=this,s=e.target.value;if(this._activeLabelInputIndex=null,this.notifyChange("state"),!s||null==t||null==i)return;const o=this._parseInputValue(s,"value",t),r=i[t],{min:a,max:l}=this.viewModel.getBoundsForValueAtIndex(t);if(o<a||o>l)return;n.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{key:t,target:i}=e,{hideInput1:n,hideInput2:s,hideInput3:o}=_,{_activeLabelInputIndex:r,_anchorElements:a}=this,l=i;if(t===n||t===s||t===o){e.stopPropagation();const t=r;l.blur(),null!=t?a[t].focus():l.parentElement?.focus()}}_onMaxLabelClick(){this._isDisabled()||(this._emitMaxRangeLabelClickEvent({type:"max-click",value:this.max}),this.rangeLabelInputsEnabled&&(this._isMaxInputActive=!0,this.notifyChange("state")))}_onMaxLabelKeyDown({key:e}){this._isDisabled()||e!==_.showInput||(this._isMaxInputActive=!0,this.notifyChange("state"))}_onMaxInputBlur(e){const t=e.target.value;if(this._isMaxInputActive=!1,this.notifyChange("state"),!t)return;const i=this.max,n=this._parseInputValue(t,"max");n<=this.min||(this.viewModel.set("max",n),this.max!==i&&this._emitMaxChangeEvent({oldValue:i,value:this.max}))}_onMinLabelClick(){this._isDisabled()||(this._emitMinRangeLabelClickEvent({type:"min-click",value:this.min}),this.rangeLabelInputsEnabled&&(this._isMinInputActive=!0,this.notifyChange("state")))}_onMinLabelKeyDown({key:e}){this._isDisabled()||e!==_.showInput||(this._isMinInputActive=!0,this.notifyChange("state"))}_onMinInputBlur(e){const t=e.target.value;if(this._isMinInputActive=!1,this.notifyChange("state"),!t)return;const i=this.min,n=this._parseInputValue(t,"min");n>=this.max||(this.viewModel.set("min",n),this.min!==i&&this._emitMinChangeEvent({oldValue:i,value:this.min}))}_isDisabled(){return this.disabled||"disabled"===this.state}_positionFromValue(e){const{_trackHeight:t,_trackWidth:i}=this,n=this.min??0,s=this.max??0,o=s-n;if(0===o||null==e)return 0;const r=this._isHorizontalLayout();let a=r?this._applyPrecisionToPosition(i*(e-n)/o):this._applyPrecisionToPosition(t*(s-e)/o);return this._isReversedLayout()&&(a=r?i-a:t-a),a}_valueFromPosition(e){const{_trackHeight:t,_trackWidth:i,precision:n}=this,s=this.min??0,o=this.max??0,r=o-s;let a=this._isHorizontalLayout()?e*r/i+s:r*(1e3-e/t*1e3)/1e3+s;return this._isReversedLayout()&&(a=o+s-a),parseFloat(a.toFixed(n))}_positionToPercent(e){const{_trackHeight:t,_trackWidth:i}=this,n=100*e/(this._isHorizontalLayout()?i:t);return this._applyPrecisionToPosition(n)}_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:i}=e;return{min:i,max:t}}return e}_parseInputValue(e,t,i){return this.inputParseFunction?this.inputParseFunction(e,t,i):this.viewModel.defaultInputParseFunction(e)}_formatInputValue(e,t,i){return this.inputFormatFunction?this.inputFormatFunction(e,t,i):this.viewModel.defaultInputFormatFunction(e)}_getAnchorDetails(e){const t=this.values,i=[...t].sort(((e,t)=>e-t))[e],n=t.indexOf(i);return{index:n,position:this._getPositionOfElement(this._anchorElements[n]),value:i}}_updateAnchorStyle(e,t){const i=this._anchorElements[e];i&&(this._isHorizontalLayout()?i.style.left=`${t}`:i.style.top=`${t}`)}_getStyleForAnchor(e,t,i){const n=this._getPositionStyleForElement(e);if(1===this.values?.length)return`${n}`;const s=this._zIndices[t];return`${n}; z-index: ${i?this._zIndexOffset+s:s}`}_getPositionStyleForElement(e){const t=this._positionFromValue(e),i=this._positionToPercent(t);return`${this._isHorizontalLayout()?"left":"top"}: ${i}%`}_getPositionOfElement(e){const t=this._getDimensions(e.offsetParent),i=this._getDimensions(e);return this._isHorizontalLayout()?this._applyPrecisionToPosition(i.left-t.left):this._applyPrecisionToPosition(i.top-t.top)}_updateAnchorValues(e,t){e.forEach(((e,i)=>this._toValue(e,t[i])))}_updateAnchorValuesByDifference(e){const{min:t,max:i,values:n}=this;n?.forEach(((n,s)=>this._toValue(s,Math.max(Math.min(n+e,i),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 i=null!=this.steps?this._getStepValueForAnchorAtPosition(e,t):this._getValueForAnchorAtPosition(e,t);this._updateAnchorStyle(e,this._getPositionStyleForElement(i)),this.viewModel.setValue(e,i)}_getValueForAnchorAtPosition(e,t){const{min:i,max:n}=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>n?r:t<i?a:this._valueFromPosition(t),l>o?l=o:l<s&&(l=s),l}_getStepValueForAnchorAtPosition(e,t){const i=this._getStepValues(),n=this._calculateNearestStepPosition(t),s=this._getValueForAnchorAtPosition(e,n);return i[this._getIndexOfNearestStepValue(s)]}_getAnchorBoundsAsPercents(e){const{min:t,max:i}=this._getAnchorBoundsInPixels(e);return{min:this._positionToPercent(t),max:this._positionToPercent(i)}}_getAnchorBoundsInPixels(e){const{_anchorElements:t,_trackHeight:i,_trackWidth:n,effectiveMax:s,effectiveMin:o,thumbsConstrained:r}=this,a=t[e-1],l=t[e+1],h=this._isHorizontalLayout()?n:i;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,i)=>Math.abs(i-e)<Math.abs(t-e)?i:t)))}_getCursorPositionFromEvent(e){const t=this._getDimensions(this.trackElement);return this._isHorizontalLayout()?this._applyPrecisionToPosition(e.clientX-t.left):this._applyPrecisionToPosition(e.clientY-t.top)}_getStepValues(){const{steps:e}=this;if(Array.isArray(e))return e;const{max:t,min:i}=this;if(null==i||null==t||null==e)return[];const n=Math.ceil((t-i)/e),s=[];for(let o=0;o<=n;o++){const n=i+e*o;s.push(n>t?t:n)}return s}_toStep(e,t){const i=this.values[e],n=this._getStepValues(),s=n.indexOf(i);let o=null;if(s>-1){let i=n[s+t];isNaN(i)&&(i=n[s]);const r=this._positionFromValue(i);o=this._getStepValueForAnchorAtPosition(e,r)}else{o=n[this._getIndexOfNearestStepValue(i)+t]}this.viewModel.setValue(e,o)}_getIndexOfNearestStepValue(e){const{steps:t}=this;if(null==t)return null;const i=this._getStepValues(),n=i.reduce(((t,i)=>Math.abs(i-e)<Math.abs(t-e)?i:t));return i.indexOf(n)}_calculateNearestStepPosition(e){const t=this._valueFromPosition(e),i=this._getIndexOfNearestStepValue(t),n=this._getStepValues();return this._positionFromValue(n[i])}_getTickCounts(e,t){const{mode:i}=t;return"count"===i||"position"===i?e||0:"percent"===i&&100/e||0}_calculateTickPositions(e){return e.map((e=>this._positionFromValue(e)))}_calculateEquidistantTickPositions(e){const{_trackWidth:t,_trackHeight:i}=this,n=this._isHorizontalLayout()?t:i,s=n/(e-1),o=[];if(1===e)return[n/2];for(let r=0;r<e;r++){const e=r*s;e<=n&&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"})}_emitMinRangeLabelClickEvent(e){this.emit("min-click",e)}_emitMaxRangeLabelClickEvent(e){this.emit("min-click",e)}};function g(e){return e?.["data-thumb-index"]}function f(e){return e?.["data-input-index"]}function b(e){return e?.["data-segment-index"]}function E(e){return e?.["data-min-thumb-index"]}function x(e){return e?.["data-max-thumb-index"]}function y(e){return e?.["data-value"]}function k(e){return e?.["data-tick-config-index"]}function P(e){return e?.["data-tick-group-index"]}function I(e){return e?.["data-config"]}e([n()],v.prototype,"disabled",void 0),e([n()],v.prototype,"draggableSegmentsEnabled",void 0),e([n()],v.prototype,"effectiveMax",null),e([n()],v.prototype,"effectiveMin",null),e([n({readOnly:!0})],v.prototype,"effectiveSegmentElements",void 0),e([n()],v.prototype,"extraNodes",void 0),e([n()],v.prototype,"inputCreatedFunction",void 0),e([n()],v.prototype,"inputFormatFunction",null),e([n()],v.prototype,"inputParseFunction",null),e([n()],v.prototype,"icon",null),e([n()],v.prototype,"label",null),e([n({readOnly:!0})],v.prototype,"labelElements",void 0),e([n()],v.prototype,"labelInputsEnabled",void 0),e([n()],v.prototype,"labelFormatFunction",null),e([n({readOnly:!0})],v.prototype,"labels",null),e([n({value:"horizontal"})],v.prototype,"layout",null),e([n()],v.prototype,"max",null),e([n({readOnly:!0})],v.prototype,"maxLabelElement",void 0),e([n(),c("esri/widgets/Slider/t9n/Slider")],v.prototype,"messages",void 0),e([n()],v.prototype,"min",null),e([n({readOnly:!0})],v.prototype,"minLabelElement",void 0),e([n()],v.prototype,"precision",null),e([n()],v.prototype,"rangeLabelInputsEnabled",void 0),e([n({readOnly:!0})],v.prototype,"segmentElements",void 0),e([n()],v.prototype,"snapOnClickEnabled",void 0),e([n({readOnly:!0})],v.prototype,"state",null),e([n()],v.prototype,"steps",void 0),e([n()],v.prototype,"syncedSegmentsEnabled",void 0),e([n()],v.prototype,"thumbsConstrained",null),e([n()],v.prototype,"thumbCreatedFunction",void 0),e([n({readOnly:!0})],v.prototype,"thumbElements",void 0),e([n()],v.prototype,"tickConfigs",null),e([n({readOnly:!0})],v.prototype,"tickElements",void 0),e([n({readOnly:!0})],v.prototype,"trackElement",void 0),e([n()],v.prototype,"values",null),e([n({type:l})],v.prototype,"viewModel",void 0),e([n()],v.prototype,"visibleElements",void 0),e([s("visibleElements")],v.prototype,"castVisibleElements",null),v=e([o("esri.widgets.Slider")],v);const A=v;export{A as default};
|
|
5
|
+
import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import t from"../core/Collection.js";import{assertIsSome as i}from"../core/maybe.js";import{property as n}from"../core/accessorSupport/decorators/property.js";import{cast as s}from"../core/accessorSupport/decorators/cast.js";import"../core/has.js";import"../core/RandomLCG.js";import{subclass as o}from"../core/accessorSupport/decorators/subclass.js";import r from"./Widget.js";import{css as a}from"./Slider/css.js";import l from"./Slider/SliderViewModel.js";import{globalCss as h}from"./support/globalCss.js";import{onResize as u}from"./support/widgetUtils.js";import{messageBundle as c}from"./support/decorators/messageBundle.js";import{tsx as d}from"./support/jsxFactory.js";import{substitute as m}from"../intl/substitute.js";const _={showInput:"Enter",hideInput1:"Enter",hideInput2:"Escape",hideInput3:"Tab",moveAnchorUp:"ArrowUp",moveAnchorDown:"ArrowDown",moveAnchorLeft:"ArrowLeft",moveAnchorRight:"ArrowRight",moveAnchorToMax:"End",moveAnchorToMin:"Home"},p={labels:!1,rangeLabels:!1};let v=class extends r{constructor(e,i){super(e,i),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 l,this.visibleElements={...p},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 _isDisabled(){return this.disabled||"disabled"===this.state}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 icon(){return"caret-double-horizontal"}set icon(e){this._overrideIfSome("icon",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:i,_dragStartInfo:n,_segmentDragStartInfo:s,disabled:o,viewModel:r}=this;return o?"disabled":!(null===e&&!t&&!i)?"editing":null!=n||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{...p,...e}}render(){const{label:e}=this,t=this.classes(a.base,h.widget,this._isHorizontalLayout()?a.horizontalLayout:a.verticalLayout,this._isReversedLayout()?a.reversed:null,this._isDisabled?h.disabled:null);return this._storeTrackDimensions(),d("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 d("div",{bind:this,class:a.contentElement,key:"slider-container"},this._renderTrackElement(),this._renderTicksContainer(),this._renderExtraContentElements())}_renderTrackElement(){return d("div",{afterCreate:this._afterTrackCreate,afterRemoved:this._afterTrackRemoved,bind:this,class:a.trackElement,"touch-action":"none"},this._renderEffectiveSegmentElements(),this._renderSegmentElements(),this._renderAnchorElements())}_renderEffectiveSegmentElements(){if(!this.trackElement||!this.values?.length)return;const e=null!=this.effectiveMax,t=null!=this.effectiveMin;if(!e&&!t)return;const{max:i,min:n,viewModel:s}=this,o=s.getBounds(),r=[];return t&&r.push(this._renderEffectiveSegmentElement(n,o.min,!0)),e&&r.push(this._renderEffectiveSegmentElement(o.max,i,!1)),r}_renderSegmentElements(){if(!this.trackElement||!this.values?.length)return;const e=this.values.length,t=[];for(let i=0;i<=e;i++)t.push(this._renderSegmentElement(i));return t}_renderSegmentElement(e){const{_trackHeight:t,_trackWidth:i,draggableSegmentsEnabled:n,id:s,state:o}=this,r=this.values,l=this._isHorizontalLayout(),h=l?i:t,u=this.viewModel.getBounds(),c=this._positionFromValue(u.max),m=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]):m,b=v?this._positionFromValue(E[_]):c):(f=v?this._positionFromValue(E[_]):c,b=g?this._positionFromValue(E[p]):m);const x=this._applyPrecisionToPosition(100*b/h),y=(f-b)/h,k=l?`transform: translate(${x}%, 0px) scale(${y}, 1);`:`transform: translate(0px, ${x}%) scale(1, ${y});`,P=this.classes(a.segmentElement,a.segmentElementIndexPrefix+e,n&&v&&g&&"disabled"!==o?a.segmentElementInteractive:null);return d("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,i){const{_trackHeight:n,_trackWidth:s,layout:o}=this,r=this._positionFromValue(e),l=this._positionFromValue(t),h=this._isHorizontalLayout(),u=h?s:n,c=this._applyPrecisionToPosition(100*r/u);let m=null;if("horizontal"===o){const e=i?u-l:l,t=r===u?0:c;m=`clip-path: inset(0% ${l===u?0:this._applyPrecisionToPosition(e/u*100)}% 0% ${t}%);`}else{const e=(l-r)/u;m=h?`transform: translate(${c}%, 0px) scale(${e}, 1);`:`transform: translate(0px, ${c}%) scale(1, ${e});`}const _=i?a.effectiveMinSegmentElement:a.effectiveMaxSegmentElement,p=this.classes(a.segmentElement,a.effectiveSegmentElement,_);return d("div",{afterCreate:this._afterEffectiveSegmentCreate,afterRemoved:this._afterEffectiveSegmentRemoved,bind:this,class:p,style:m,"touch-action":"none"})}_renderAnchorElements(){const{trackElement:e,values:t}=this;if(t?.length)return this._zIndices=t.map(((e,i)=>{const n=this._positionFromValue(e),s=this._positionToPercent(n),o=(this._isHorizontalLayout()?s>50:s<50)?-1:1;return this._zIndexOffset+(t.length+o*i)})),e&&t&&t.length?t.map(((e,t)=>this._renderAnchorElement(e,t))):null}_renderAnchorElement(e,t){const i=this._positionFromValue(e),n=this._valueFromPosition(i);if(null==n||isNaN(n))return;const{_dragStartInfo:s,_lastMovedHandleIndex:o,id:r,layout:l,visibleElements:{labels:h}}=this,u=this.values,c=s&&s.index===t,_=o===t,p=this.classes(a.anchorElement,a.anchorElementIndexPrefix+t,c?a.movingAnchorElement:null,_?a.lastMovedAnchorElement:null),v=this.labels.values[t],g=this._getStyleForAnchor(e,t,c||_),{min:f,max:b}=this.viewModel.getBoundsForValueAtIndex(t),{disabled:E,messages:x}=this,y=2===u.length?m(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 d("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":l,"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"},d("span",{afterCreate:this._afterThumbCreate,afterRemoved:this._afterThumbRemoved,bind:this,class:a.thumbElement,"data-thumb-index":t,"touch-action":"none"}),this.renderThumbLabel(t))}renderThumbLabel(e){const{id:t,labels:i,labelInputsEnabled:n,state:s}=this,o=this.visibleElements.labels,r=i.values[e],l=this.classes(a.labelElement,o?null:h.hidden,n&&"disabled"!==s?a.labelElementInteractive:null);return d("span",{afterCreate:this._afterLabelCreate,afterRemoved:this._afterLabelRemoved,"aria-hidden":(!o).toString(),bind:this,class:l,"data-thumb-index":e,id:`${t}-label-${e}`,key:`${t}-label-${e}`,role:n?"button":void 0,"touch-action":"none"},this._activeLabelInputIndex===e?this._renderValueInput(e):r)}_renderValueInput(e){const{disabled:t,values:i}=this;if(null==i)return;const n=i[e];return d("input",{afterCreate:this._afterInputCreate,"aria-label":this.messages.sliderValue,bind:this,class:a.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(n,"value",e)})}_renderMax(){const{_isMaxInputActive:e,labels:t,rangeLabelInputsEnabled:i,state:n}=this,s=this.visibleElements.rangeLabels,o=this.classes(a.maxElement,{[h.hidden]:!s,[a.maxElementInteractive]:i&&"disabled"!==n,[a.rangeElementActive]:e});return d("div",{afterCreate:this._afterMaxLabelCreate,"aria-hidden":(!s).toString(),bind:this,class:o,onclick:this._onMaxLabelClick,onkeydown:this._onMaxLabelKeyDown,role:i?"button":void 0,tabIndex:!this.disabled&&i?0:-1},e?this._renderMaxInput():t.max)}_renderMin(){const{_isMinInputActive:e,labels:t,rangeLabelInputsEnabled:i,state:n}=this,s=this.visibleElements.rangeLabels,o=this.classes(a.minElement,{[h.hidden]:!s,[a.minElementInteractive]:i&&"disabled"!==n,[a.rangeElementActive]:e});return d("div",{afterCreate:this._afterMinLabelCreate,"aria-hidden":(!s).toString(),bind:this,class:o,onclick:this._onMinLabelClick,onkeydown:this._onMinLabelKeyDown,role:i?"button":void 0,tabIndex:!this.disabled&&i?0:-1},e?this._renderMinInput():t.min)}_renderMaxInput(){return d("input",{afterCreate:this._afterInputCreate,"aria-label":this.messages.maximumValue,bind:this,class:a.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 d("input",{afterCreate:this._afterInputCreate,"aria-label":this.messages.minimumValue,bind:this,class:a.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 d("div",{bind:this,class:a.extraContentElement},this.extraNodes)}_renderTicksContainer(){if(this.tickConfigs&&this.trackElement&&(0!==this._trackHeight||0!==this._trackWidth))return this.tickConfigs.map(((e,t)=>d("div",{class:this.classes(a.ticksContainerElement),key:"ticks-container"},this._renderTicks(e,t))))}_renderTicks(e,i){const{mode:n,values:s}=e;if(this.tickElements.at(i)||this.tickElements.add(new t,i),"position"===n){const t=Array.isArray(s)?s:[s];return this._calculateTickPositions(t).map(((t,n)=>this._renderTickGroup(e,n,i,t)))}if("percent"===n&&Array.isArray(s)){const t=this.min??0,n=(this.max??0)-t,o=s.map((e=>this._applyPrecisionToPosition(e/100*n+t)));return this._calculateTickPositions(o).map(((t,n)=>this._renderTickGroup(e,n,i,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,n)=>this._renderTickGroup(e,n,i,t)))}_renderTickGroup(e,t,i,n){const s="position"===e.mode?Array.isArray(e.values)?e.values[t]:e.values:this._valueFromPosition(n);if(null!=s&&!isNaN(s))return d("div",{afterCreate:this._afterTickGroupCreate,afterRemoved:this._afterTickGroupRemoved,bind:this,"data-config":e,"data-position":n,"data-tick-config-index":i,"data-tick-group-index":t,"data-value":s,key:`tick-group-${t}`,onclick:this._onTickGroupClick},this._renderTickLine(e,t,i,s),e.labelsVisible?this._renderTickLabel(e,t,i,s):null)}_renderTickLine(e,t,i,n){return d("div",{afterCreate:this._afterTickLineCreate,"aria-valuenow":n.toString(),bind:this,class:a.tickElement,"data-config":e,"data-tick-config-index":i,"data-tick-group-index":t,"data-value":n,key:`tick-label-${t}`,style:this._getPositionStyleForElement(n)})}_renderTickLabel(e,t,i,n){const s=e.labelFormatFunction?e.labelFormatFunction(n,"tick",t):this.viewModel.getLabelForValue(n,"tick",t);return d("div",{afterCreate:this._afterTickLabelCreate,"aria-label":s,"aria-valuenow":n.toString(),"aria-valuetext":s,bind:this,class:a.tickLabelElement,"data-config":e,"data-tick-config-index":i,"data-tick-group-index":t,"data-value":n,key:`tick-label-${t}`,style:`transform: translate(-50%); ${this._getPositionStyleForElement(n)}`},s)}_afterContainerCreate(e){this.addHandles(u(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=g(e),i=y(e),n=this.thumbElements.at(t),s=this.labelElements.at(t)||null;this.thumbCreatedFunction(t,i,n,s)}}_afterAnchorUpdate(e){if(null!=this._focusedAnchorIndex){g(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"),i="thumb"===t?f(e):null;this.inputCreatedFunction(e,t,i)}}_afterTickLineCreate(e){const t=k(e),i=P(e),n=this.tickElements.at(t),s=n.at(i);s?s.tickElement=e:n.add({groupElement:null,tickElement:e,labelElement:null},i)}_afterTickLabelCreate(e){const t=k(e),i=P(e),n=this.tickElements.at(t),s=n.at(i);s?s.labelElement=e:n.add({groupElement:null,labelElement:e,tickElement:null},i)}_afterTickGroupRemoved(e){const t=k(e),i=this.tickElements.items[t],n=i?.find((t=>t.groupElement===e));n&&i.remove(n)}_afterTickGroupCreate(e){const t=I(e);if(t?.tickCreatedFunction){const i=k(e),n=P(e),s=y(e),o=this.tickElements?.at(i)?.at(n);if(o){o.groupElement=e;const i=o.tickElement||null,n=o.labelElement||null;t.tickCreatedFunction(s,i,n)}}}_afterMaxLabelCreate(e){this._set("maxLabelElement",e)}_afterMinLabelCreate(e){this._set("minLabelElement",e)}_onAnchorKeyDown(e){if(this._isDisabled||"editing"===this.state)return;const{key:t,target:i}=e,n=this.values,s=g(i),o=this._anchorElements[s],r=n[s],a=[_.moveAnchorUp,_.moveAnchorDown,_.moveAnchorLeft,_.moveAnchorRight];if(t===_.showInput&&this.labelInputsEnabled)this._activeLabelInputIndex=s;else if(a.includes(t)){e.preventDefault();const{steps:i}=this,n=t===_.moveAnchorUp||t===_.moveAnchorRight?1:-1;if(null!=i)this._toStep(s,this._isReversedLayout()?-1*n:n);else{const{precision:e}=this,t=this._getPositionOfElement(o),i=this._valueFromPosition(t),r=this._isHorizontalLayout()?n:-1*n;let a;a=0===e?this._positionFromValue(i+r):1===e?this._positionFromValue(i+.1*r):t+r,this._toPosition(s,a)}const a=this.values[s];r!==a&&this._emitThumbChangeEvent({index:s,oldValue:r,value:a})}else if(t===_.moveAnchorToMax||t===_.moveAnchorToMin){e.preventDefault();const{min:i,max:n}=this._getAnchorBoundsInPixels(s),o=this._isPositionInverted()?t===_.moveAnchorToMax?i:n:t===_.moveAnchorToMin?i:n;this._toPosition(s,o);const a=this.values[s];r!==a&&this._emitThumbChangeEvent({index:s,oldValue:r,value:a})}}_onAnchorPointerDown(e){if(this._isDisabled)return;const{target:t,clientX:i,clientY:n}=e,s=g(t);null!=s&&(e.preventDefault(),this._anchorElements[s]&&this._anchorElements[s].focus(),this._storeTrackDimensions(),this._dragStartInfo={clientX:i,clientY:n,index:s,position:this._getPositionOfElement(this._anchorElements[s])},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:i,_dragged:n,_dragStartInfo:s,_dragStartInfo:{index:o,position:r}}=this,{clientX:a,clientY:l}=e,h=n?"drag":"start",u=i[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];n?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,i=this._dragged,n=this.values[t];this._dragged=!1,this._dragStartInfo=null,this._lastMovedHandleIndex=t,i?this._emitThumbDragEvent({index:t,state:"stop",value:n}):(this.scheduleRender(),"editing"!==this.state&&this._emitThumbClickEvent({index:t,value:n}))}_onTrackPointerDown(e){const{_dragStartInfo:t,snapOnClickEnabled:i,state:n,values:s}=this;if(this._isDisabled||"editing"===n||t)return;if(document.addEventListener("pointermove",this._onTrackPointerMove),document.addEventListener("pointerup",this._onTrackPointerUp),!i||!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._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),i=this._valueFromPosition(t);this._emitTrackClickEvent({value:i})}}_onSegmentPointerDown(e){e.preventDefault();const t=e.target,i=b(t),n=E(t),s=x(t);if(this._isDisabled||null==n||null==s)return;e.stopPropagation(),this._storeTrackDimensions(),document.addEventListener("pointerup",this._onSegmentPointerUp);const o=this._getAnchorDetails(n),r=this._getAnchorDetails(s);this.syncedSegmentsEnabled?(this.segmentElements.forEach((e=>e.classList.add(a.segmentElementActive))),this._anchorElements.forEach((e=>e.classList.add(a.anchorElementActive)))):(this.segmentElements.at(i).classList.add(a.segmentElementActive),this._anchorElements[o.index]?.classList.add(a.anchorElementActive),this._anchorElements[r.index]?.classList.add(a.anchorElementActive)),this._segmentDragStartInfo={cursorPosition:this._getCursorPositionFromEvent(e),index:i,details:this._normalizeSegmentDetails({min:o,max:r})},this.draggableSegmentsEnabled&&(document.addEventListener("pointermove",this._onSegmentPointerMove),this._emitSegmentDragEvent({index:i,state:"start",thumbIndices:[n,s]}))}_onSegmentPointerMove(e){if(!this._segmentDragStartInfo)return;e.preventDefault();const{_trackHeight:t,_trackWidth:i,_segmentDragStartInfo:{index:n,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),i=this._isPositionInverted()?t:e,n=i,s=d+(i-h),o=s-this.values[u];return void(this.syncedSegmentsEnabled?this._updateAnchorValuesByDifference(o):this._updateAnchorValues([a,u],[n,s]))}if(x){const{min:e,max:t}=this.viewModel.getBoundsForValueAtIndex(u),i=this._isPositionInverted()?e:t,n=i,s=h+(i-d),o=s-this.values[a];return void(this.syncedSegmentsEnabled?this._updateAnchorValuesByDifference(o):this._updateAnchorValues([a,u],[s,n]))}const y=this._isHorizontalLayout()?i:t,k=g/100*y,P=v/100*y,I=this.values,A=[I[a],I[u]],M=this._getValueForAnchorAtPosition(a,P),L=this._getValueForAnchorAtPosition(u,k);this.syncedSegmentsEnabled?this._updateAnchorValuesByDifference(M-A[0]):this._updateAnchorValues([a,u],[M,L]);[this.values[a],this.values[u]].every(((e,t)=>e===A[t]))||this._emitSegmentDragEvent({index:n,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,i=this.min,n=this.max,s=this.values,{index:o,details:{min:{index:r},max:{index:l}}}=this._segmentDragStartInfo;if(this.segmentElements.forEach((e=>e.classList.remove(a.segmentElementActive))),this._anchorElements.forEach((e=>e.classList.remove(a.anchorElementActive))),this.draggableSegmentsEnabled){const e=n-i,t=s[r],a=s[l];this._lastMovedHandleIndex=t===a?t>e/2?r:l:null,this._dragged=!1,this._segmentDragStartInfo=null,this._emitSegmentDragEvent({index:o,state:"stop",thumbIndices:[r,l]})}if(!t){const t=this._getCursorPositionFromEvent(e),i=this._valueFromPosition(t);this._emitSegmentClickEvent({index:o,value:i,thumbIndices:[r,l]})}}_onTickGroupClick(e){const t=e.target;if(I(t)){const e=k(t),i=P(t),n=y(t);this._emitTickClickEvent({configIndex:e,groupIndex:i,value:n})}}_storeTrackDimensions(){if(this.trackElement){const e=this._getDimensions(this.trackElement);this._trackHeight=this._applyPrecisionToPosition(e.height),this._trackWidth=this._applyPrecisionToPosition(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=g(e.target);this.labelInputsEnabled&&!this._dragged&&null!=t&&(this._activeLabelInputIndex=t),this._dragged=!1,document.removeEventListener("pointerup",this._onLabelPointerUp),document.removeEventListener("pointermove",this._onLabelPointerMove)}_onLabelInputBlur(e){const{_activeLabelInputIndex:t,values:i,viewModel:n}=this,s=e.target.value;if(this._activeLabelInputIndex=null,!s||null==t||null==i)return;const o=this._parseInputValue(s,"value",t),r=i[t],{min:a,max:l}=this.viewModel.getBoundsForValueAtIndex(t);if(o<a||o>l)return;n.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{key:t,target:i}=e,{hideInput1:n,hideInput2:s,hideInput3:o}=_,{_activeLabelInputIndex:r,_anchorElements:a}=this,l=i;if(t===n||t===s||t===o){e.stopPropagation();const t=r;l.blur(),null!=t?a[t].focus():l.parentElement?.focus()}}_onMaxLabelClick(){this._isDisabled||(this._emitMaxRangeLabelClickEvent({type:"max-click",value:this.max}),this.rangeLabelInputsEnabled&&(this._isMaxInputActive=!0))}_onMaxLabelKeyDown({key:e}){this._isDisabled||e!==_.showInput||(this._isMaxInputActive=!0)}_onMaxInputBlur(e){const t=e.target.value;if(this._isMaxInputActive=!1,!t)return;const i=this.max,n=this._parseInputValue(t,"max");n<=this.min||(this.viewModel.set("max",n),this.max!==i&&this._emitMaxChangeEvent({oldValue:i,value:this.max}))}_onMinLabelClick(){this._isDisabled||(this._emitMinRangeLabelClickEvent({type:"min-click",value:this.min}),this.rangeLabelInputsEnabled&&(this._isMinInputActive=!0))}_onMinLabelKeyDown({key:e}){this._isDisabled||e!==_.showInput||(this._isMinInputActive=!0)}_onMinInputBlur(e){const t=e.target.value;if(this._isMinInputActive=!1,!t)return;const i=this.min,n=this._parseInputValue(t,"min");n>=this.max||(this.viewModel.set("min",n),this.min!==i&&this._emitMinChangeEvent({oldValue:i,value:this.min}))}_positionFromValue(e){const{_trackHeight:t,_trackWidth:i}=this,n=this.min??0,s=this.max??0,o=s-n;if(0===o||null==e)return 0;const r=this._isHorizontalLayout();let a=r?this._applyPrecisionToPosition(i*(e-n)/o):this._applyPrecisionToPosition(t*(s-e)/o);return this._isReversedLayout()&&(a=r?i-a:t-a),a}_valueFromPosition(e){const{_trackHeight:t,_trackWidth:i,precision:n}=this,s=this.min??0,o=this.max??0,r=o-s;let a=this._isHorizontalLayout()?e*r/i+s:r*(1e3-e/t*1e3)/1e3+s;return this._isReversedLayout()&&(a=o+s-a),parseFloat(a.toFixed(n))}_positionToPercent(e){const{_trackHeight:t,_trackWidth:i}=this,n=100*e/(this._isHorizontalLayout()?i:t);return this._applyPrecisionToPosition(n)}_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:i}=e;return{min:i,max:t}}return e}_parseInputValue(e,t,i){return this.inputParseFunction?this.inputParseFunction(e,t,i):this.viewModel.defaultInputParseFunction(e)}_formatInputValue(e,t,i){return this.inputFormatFunction?this.inputFormatFunction(e,t,i):this.viewModel.defaultInputFormatFunction(e)}_getAnchorDetails(e){const t=this.values,i=[...t].sort(((e,t)=>e-t))[e],n=t.indexOf(i);return{index:n,position:this._getPositionOfElement(this._anchorElements[n]),value:i}}_updateAnchorStyle(e,t){const i=this._anchorElements[e];i&&(this._isHorizontalLayout()?i.style.left=`${t}`:i.style.top=`${t}`)}_getStyleForAnchor(e,t,i){const n=this._getPositionStyleForElement(e);if(1===this.values?.length)return`${n}`;const s=this._zIndices[t];return`${n}; z-index: ${i?this._zIndexOffset+s:s}`}_getPositionStyleForElement(e){const t=this._positionFromValue(e),i=this._positionToPercent(t);return`${this._isHorizontalLayout()?"left":"top"}: ${i}%`}_getPositionOfElement(e){const t=this._getDimensions(e.offsetParent),i=this._getDimensions(e);return this._isHorizontalLayout()?this._applyPrecisionToPosition(i.left-t.left):this._applyPrecisionToPosition(i.top-t.top)}_updateAnchorValues(e,t){e.forEach(((e,i)=>this._toValue(e,t[i])))}_updateAnchorValuesByDifference(e){const{min:t,max:i,values:n}=this;n?.forEach(((n,s)=>this._toValue(s,Math.max(Math.min(n+e,i),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 i=null!=this.steps?this._getStepValueForAnchorAtPosition(e,t):this._getValueForAnchorAtPosition(e,t);this._updateAnchorStyle(e,this._getPositionStyleForElement(i)),this.viewModel.setValue(e,i)}_getValueForAnchorAtPosition(e,t){const{min:i,max:n}=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>n?r:t<i?a:this._valueFromPosition(t),l>o?l=o:l<s&&(l=s),l}_getStepValueForAnchorAtPosition(e,t){const i=this._getStepValues(),n=this._calculateNearestStepPosition(t),s=this._getValueForAnchorAtPosition(e,n);return i[this._getIndexOfNearestStepValue(s)]}_getAnchorBoundsAsPercents(e){const{min:t,max:i}=this._getAnchorBoundsInPixels(e);return{min:this._positionToPercent(t),max:this._positionToPercent(i)}}_getAnchorBoundsInPixels(e){const{_anchorElements:t,_trackHeight:i,_trackWidth:n,effectiveMax:s,effectiveMin:o,thumbsConstrained:r}=this,a=t[e-1],l=t[e+1],h=this._isHorizontalLayout()?n:i;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,i)=>Math.abs(i-e)<Math.abs(t-e)?i:t)))}_getCursorPositionFromEvent(e){const t=this._getDimensions(this.trackElement);return this._isHorizontalLayout()?this._applyPrecisionToPosition(e.clientX-t.left):this._applyPrecisionToPosition(e.clientY-t.top)}_getStepValues(){const{steps:e}=this;if(Array.isArray(e))return e;const{max:t,min:i}=this;if(null==i||null==t||null==e)return[];const n=Math.ceil((t-i)/e),s=[];for(let o=0;o<=n;o++){const n=i+e*o;s.push(n>t?t:n)}return s}_toStep(e,t){const i=this.values[e],n=this._getStepValues(),s=n.indexOf(i);let o=null;if(s>-1){let i=n[s+t];isNaN(i)&&(i=n[s]);const r=this._positionFromValue(i);o=this._getStepValueForAnchorAtPosition(e,r)}else{o=n[this._getIndexOfNearestStepValue(i)+t]}this.viewModel.setValue(e,o)}_getIndexOfNearestStepValue(e){const{steps:t}=this;if(null==t)return null;const i=this._getStepValues(),n=i.reduce(((t,i)=>Math.abs(i-e)<Math.abs(t-e)?i:t));return i.indexOf(n)}_calculateNearestStepPosition(e){const t=this._valueFromPosition(e),i=this._getIndexOfNearestStepValue(t),n=this._getStepValues();return this._positionFromValue(n[i])}_getTickCounts(e,t){const{mode:i}=t;return"count"===i||"position"===i?e||0:"percent"===i&&100/e||0}_calculateTickPositions(e){return e.map((e=>this._positionFromValue(e)))}_calculateEquidistantTickPositions(e){const{_trackWidth:t,_trackHeight:i}=this,n=this._isHorizontalLayout()?t:i,s=n/(e-1),o=[];if(1===e)return[n/2];for(let r=0;r<e;r++){const e=r*s;e<=n&&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"})}_emitMinRangeLabelClickEvent(e){this.emit("min-click",e)}_emitMaxRangeLabelClickEvent(e){this.emit("min-click",e)}};function g(e){return e?.["data-thumb-index"]}function f(e){return e?.["data-input-index"]}function b(e){return e?.["data-segment-index"]}function E(e){return e?.["data-min-thumb-index"]}function x(e){return e?.["data-max-thumb-index"]}function y(e){return e?.["data-value"]}function k(e){return e?.["data-tick-config-index"]}function P(e){return e?.["data-tick-group-index"]}function I(e){return e?.["data-config"]}e([n()],v.prototype,"_activeLabelInputIndex",void 0),e([n()],v.prototype,"_dragStartInfo",void 0),e([n()],v.prototype,"_isMinInputActive",void 0),e([n()],v.prototype,"_isMaxInputActive",void 0),e([n()],v.prototype,"_segmentDragStartInfo",void 0),e([n({readOnly:!0})],v.prototype,"_isDisabled",null),e([n()],v.prototype,"disabled",void 0),e([n()],v.prototype,"draggableSegmentsEnabled",void 0),e([n()],v.prototype,"effectiveMax",null),e([n()],v.prototype,"effectiveMin",null),e([n({readOnly:!0})],v.prototype,"effectiveSegmentElements",void 0),e([n()],v.prototype,"extraNodes",void 0),e([n()],v.prototype,"inputCreatedFunction",void 0),e([n()],v.prototype,"inputFormatFunction",null),e([n()],v.prototype,"inputParseFunction",null),e([n()],v.prototype,"icon",null),e([n()],v.prototype,"label",null),e([n({readOnly:!0})],v.prototype,"labelElements",void 0),e([n()],v.prototype,"labelInputsEnabled",void 0),e([n()],v.prototype,"labelFormatFunction",null),e([n({readOnly:!0})],v.prototype,"labels",null),e([n({value:"horizontal"})],v.prototype,"layout",null),e([n()],v.prototype,"max",null),e([n({readOnly:!0})],v.prototype,"maxLabelElement",void 0),e([n(),c("esri/widgets/Slider/t9n/Slider")],v.prototype,"messages",void 0),e([n()],v.prototype,"min",null),e([n({readOnly:!0})],v.prototype,"minLabelElement",void 0),e([n()],v.prototype,"precision",null),e([n()],v.prototype,"rangeLabelInputsEnabled",void 0),e([n({readOnly:!0})],v.prototype,"segmentElements",void 0),e([n()],v.prototype,"snapOnClickEnabled",void 0),e([n({readOnly:!0})],v.prototype,"state",null),e([n()],v.prototype,"steps",void 0),e([n()],v.prototype,"syncedSegmentsEnabled",void 0),e([n()],v.prototype,"thumbsConstrained",null),e([n()],v.prototype,"thumbCreatedFunction",void 0),e([n({readOnly:!0})],v.prototype,"thumbElements",void 0),e([n()],v.prototype,"tickConfigs",null),e([n({readOnly:!0})],v.prototype,"tickElements",void 0),e([n({readOnly:!0})],v.prototype,"trackElement",void 0),e([n()],v.prototype,"values",null),e([n({type:l})],v.prototype,"viewModel",void 0),e([n()],v.prototype,"visibleElements",void 0),e([s("visibleElements")],v.prototype,"castVisibleElements",null),v=e([o("esri.widgets.Slider")],v);const A=v;export{A as default};
|
package/widgets/TimeSlider.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.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../chunks/tslib.es6.js";import{equals as e}from"../core/arrayUtils.js";import{neverReached as i}from"../core/compilerUtils.js";import{watch as a,initial as s}from"../core/reactiveUtils.js";import{truncateDate as n,offsetDate as r}from"../core/timeUtils.js";import{property as o}from"../core/accessorSupport/decorators/property.js";import"../core/Logger.js";import{subclass as l}from"../core/accessorSupport/decorators/subclass.js";import{formatDate as m,convertDateFormatToIntlOptions as u}from"../intl/date.js";import{unknown as c,system as d}from"../time/constants.js";import p from"../time/TimeInterval.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{onResize as g}from"./support/widgetUtils.js";import{messageBundle as b}from"./support/decorators/messageBundle.js";import{vmEvent as x}from"./support/decorators/vmEvent.js";import{tsx as w}from"./support/jsxFactory.js";import{getCalciteThemeClass as E}from"../support/themeUtils.js";import{css as k}from"./TimeSlider/css.js";import j from"./TimeSlider/TimeSliderViewModel.js";const _=3,T=858,S=[{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"}}];function M(t){return w("div",{class:k.warning},w("calcite-icon",{class:k.warningIcon,icon:"exclamation-mark-triangle"}),w("calcite-label",{alignment:"center",class:k.warningLabel,scale:"s"},t))}let F=class extends v{constructor(t,e){super(t,e),this._allLayouts=["auto","compact","wide"],this._ignoreNextSliderUpdate=!1,this._slider=new h({precision:0,visibleElements:{rangeLabels:!1},rangeLabelInputsEnabled:!1,thumbsConstrained:!1}),this._tickFormat=null,this.disabled=!1,this.labelFormatFunction=null,this.messages=null,this.tickConfigs=null,this.timeVisible=!1,this.viewModel=new j}initialize(){this.addHandles([a((()=>this._slider.values),(t=>{if(this._ignoreNextSliderUpdate)return void(this._ignoreNextSliderUpdate=!1);const e=this.viewModel.valuesToTimeExtent(t);this.timeExtent?e?this.timeExtent.equals(e)||(this.timeExtent=e):this.timeExtent=null:e&&(this.timeExtent=e)})),a((()=>this.effectiveStops),(()=>this._updateSliderSteps()),s)])}loadDependencies(){return f({action:()=>import("@esri/calcite-components/dist/components/calcite-action"),"action-menu":()=>import("@esri/calcite-components/dist/components/calcite-action-menu"),button:()=>import("@esri/calcite-components/dist/components/calcite-button"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon"),label:()=>import("@esri/calcite-components/dist/components/calcite-label")})}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 icon(){return"clock"}set icon(t){this._overrideIfSome("icon",t)}get interactive(){return!(this.disabled||"disabled"===this.viewModel.state||this.timeZone===c)}get label(){return this.messages?.widgetLabel??""}set label(t){this._overrideIfSome("label",t)}set layout(t){this._set("layout",this._allLayouts.includes(t)?t:"auto")}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 S.map((({minor:e,major:i,format:a})=>({minor:new p(e),major:new p(i),format:{...a,timeZone:t}})))}get timeExtent(){return this.viewModel.timeExtent}set timeExtent(t){this.viewModel.timeExtent=t}get timeZone(){return this.viewModel.view?.timeZone??d}set timeZone(t){this._overrideIfSome("timeZone",t)}get view(){return this.viewModel.view}set view(t){this.viewModel.view=t}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:i,domNode:a,effectiveStops:s,fullTimeExtent:n,interactive:r,messages:o,mode:l,tickConfigs:u,timeExtent:c,timeVisible:d,viewModel:{state:p,timeExtentValues:h}}=this;if(n){const{start:e,end:i}=n;if(e&&i){const a=e.getTime(),s=i.getTime(),n=t.min!==a||t.max!==s;if(n&&(t.min=a,t.max=s),u)t.tickConfigs!==u&&(t.tickConfigs=u);else{const e=(s-a)/(t.trackElement?.offsetWidth||400),i=this.tickFormats.find((({minor:t})=>t.toMilliseconds()>_*e))??this.tickFormats.at(-1),r=i&&this._tickFormat!==i;if(r&&(this._tickFormat=i),n||r){const e={mode:"position",values:this._getTickPositions(i.minor),labelsVisible:!1,tickCreatedFunction:(t,e)=>{e?.classList.add(k.sliderMinorTick)}},a={mode:"position",values:this._getTickPositions(i.major),labelsVisible:!0,tickCreatedFunction:(t,e)=>{e?.classList.add(k.sliderMajorTick)},labelFormatFunction:t=>m(t,i.format)};t.tickConfigs=[e,a]}}}}const v=!this.fullTimeExtent?.start||!this.fullTimeExtent.end||!this.timeExtent||this.timeExtent.isAllTime||this.timeExtent.isEmpty||this.timeExtent.start&&(this.timeExtent.start<this.fullTimeExtent.start||this.timeExtent.start>this.fullTimeExtent.end)||this.timeExtent.end&&(this.timeExtent.end>this.fullTimeExtent.end||this.timeExtent.end<this.fullTimeExtent.start);if(v)switch(this._ignoreNextSliderUpdate=!0,l){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 h?e(t.values,h)||(t.values=h):t.values=null;t.disabled=!r;const f=v||!r||!s?.length,b="auto"===this.layout?a.clientWidth<T?"compact":"wide":this.layout,x=w("calcite-button",{appearance:"transparent",bind:this,class:k.play,disabled:f,iconStart:"playing"===p?"pause":"play",kind:"neutral",label:"playing"===p?o.control.stop:o.control.play,onclick:this._playOrStopClick,scale:"wide"===b?"l":"m",width:"full"}),j=this.labelFormatFunction?w("div",{afterCreate:this._createLabel,afterUpdate:this._createLabel,bind:this,class:k.timeExtentStartDate,"data-date":c?[c.start,c.end]:null,"data-layout":b,"data-type":"extent",key:k.timeExtentStartDate}):!c||c.isAllTime?M(o.noTimeExtent):c.isEmpty?M(o.emptyTimeExtent):[c?.start&&w("div",{class:k.timeExtentStartGroup,key:k.timeExtentStartGroup},w("calcite-label",{alignment:"center",class:k.timeExtentStartDate,key:k.timeExtentStartDate,scale:"s"},this._formatDate(c.start)),d?w("calcite-label",{alignment:"center",class:k.timeExtentStartTime,key:k.timeExtentStartTime,scale:"s"},this._formatTime(c.start)):null),c.start&&c.end&&c.start.getTime()!==c.end.getTime()&&w("div",{class:k.timeExtentSeparator,key:k.timeExtentSeparator}),c?.end&&(!c.start||c.start.getTime()!==c.end.getTime())&&w("div",{class:k.timeExtentEndGroup,key:k.timeExtentEndGroup},w("calcite-label",{alignment:"center",class:k.timeExtentEndDate,key:k.timeExtentEndDate,scale:"s"},this._formatDate(c.end)),d?w("calcite-label",{alignment:"center",class:k.timeExtentEndTime,key:k.timeExtentEndTime,scale:"s"},this._formatTime(c.end)):null)],S=w("div",{class:k.timeExtent},j),F=this.labelFormatFunction?w("div",{afterCreate:this._createLabel,afterUpdate:this._createLabel,bind:this,class:k.minDate,"data-date":n?.start,"data-layout":b,"data-type":"min",key:k.minDate}):n?.start&&[w("calcite-label",{alignment:"center",class:k.minDate,key:k.minDate,scale:"s"},this._formatDate(n.start)),d&&w("calcite-label",{alignment:"center",class:k.minTime,key:k.minTime,scale:"s"},this._formatTime(n.start))],D=w("div",{class:k.min},F),C=w("div",{class:k.slider},t.render()),L=this.labelFormatFunction?w("div",{afterCreate:this._createLabel,afterUpdate:this._createLabel,bind:this,class:k.maxDate,"data-date":n?.end,"data-layout":b,"data-type":"max",key:k.maxDate}):n?.end&&[w("calcite-label",{alignment:"center",class:k.maxDate,key:k.maxDate,scale:"s"},this._formatDate(n.end)),d&&w("calcite-label",{alignment:"center",class:k.maxTime,key:k.maxTime,scale:"s"},this._formatTime(n.end))],U=w("div",{class:k.max},L),Z=w("calcite-button",{appearance:"transparent",bind:this,class:k.previous,disabled:f||"playing"===p,iconStart:"reverse",kind:"neutral",label:o.pagination.previous,onclick:this._previousClick,scale:"wide"===b?"l":"m",width:"full"}),R=w("calcite-button",{appearance:"transparent",bind:this,class:k.next,disabled:f||"playing"===p,iconStart:"forward",kind:"neutral",label:o.pagination.next,onclick:this._nextClick,scale:"wide"===b?"l":"m",width:"full"}),I=i?.length>0,O=I&&w("calcite-action-menu",{class:k.actions,label:o.options},i.toArray().map((t=>w("calcite-action",{bind:this,icon:t.icon,id:t.id,onclick:()=>this.viewModel.triggerAction(t),text:t.title,textEnabled:!0}))));return w("div",{afterCreate:t=>{this.addHandles(g(t,(()=>this.scheduleRender())))},"aria-label":o.widgetLabel,class:this.classes(k.timeSlider,y.widget,`${k.timeSliderMode}${l}`,`${k.timeSliderLayout}${b}`,!r&&k.timeSliderDisabled,v&&k.timeSliderOutOfBounds,I&&k.hasActions,E())},"wide"===b&&w("div",{class:k.timeSliderRow},w("div",{class:k.playbackControls},[x,S,D,C,U,Z,R]),O),"compact"===b&&[w("div",{class:k.timeSliderRow,key:"time-slider-row-1"},[S,O]),w("div",{class:k.timeSliderRow,key:"time-slider-row-2"},[C]),w("div",{class:k.timeSliderRow,key:"time-slider-row-3"},[D,Z,x,R,U])])}updateWebDocument(t){this.viewModel?.updateWebDocument(t)}_createLabel(t){if(!this.labelFormatFunction)return;const e=t.getAttribute("data-type"),i=t.getAttribute("data-layout"),a=t["data-date"];this.labelFormatFunction(a,e,t,i)}_formatDate(t){return m(t,this._dateFormat)}_formatTime(t){return m(t,this._timeFormat)}_getIntlOptions(t){const{timeZone:e}=this;return{...u(t),timeZone:e}}_getTickPositions(t){const{fullTimeExtent:e}=this;if(!e?.start||!e.end)return[];const{start:i,end:a}=e,s=[],{value:o,unit:l}=t;let m=n(i,l,this.timeZone);for(;m.getTime()<=a.getTime();)m.getTime()>=i.getTime()&&s.push(m.getTime()),m=r(m,o,l,this.timeZone);return s}_updateSliderSteps(){this._slider.steps=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:i(this.viewModel.state)}}_previousClick(){this.viewModel.previous()}_nextClick(){this.viewModel.next()}};t([o()],F.prototype,"_dateFormat",null),t([o()],F.prototype,"_timeFormat",null),t([o()],F.prototype,"actions",null),t([o()],F.prototype,"disabled",void 0),t([o()],F.prototype,"effectiveStops",null),t([o()],F.prototype,"fullTimeExtent",null),t([o()],F.prototype,"icon",null),t([o({readOnly:!0})],F.prototype,"interactive",null),t([o()],F.prototype,"label",null),t([o()],F.prototype,"labelFormatFunction",void 0),t([o({value:"auto"})],F.prototype,"layout",null),t([o()],F.prototype,"loop",null),t([o(),b("esri/widgets/TimeSlider/t9n/TimeSlider")],F.prototype,"messages",void 0),t([o()],F.prototype,"mode",null),t([o()],F.prototype,"playRate",null),t([o()],F.prototype,"stops",null),t([o()],F.prototype,"tickConfigs",void 0),t([o()],F.prototype,"tickFormats",null),t([o()],F.prototype,"timeExtent",null),t([o({nonNullable:!0})],F.prototype,"timeVisible",void 0),t([o()],F.prototype,"timeZone",null),t([o()],F.prototype,"view",null),t([o({type:j}),x("trigger-action")],F.prototype,"viewModel",void 0),F=t([l("esri.widgets.TimeSlider")],F);const D=F;export{D as default};
|
|
5
|
+
import{_ as t}from"../chunks/tslib.es6.js";import{equals as e}from"../core/arrayUtils.js";import{neverReached as i}from"../core/compilerUtils.js";import{watch as a,initial as s}from"../core/reactiveUtils.js";import{truncateDate as n,offsetDate as r}from"../core/timeUtils.js";import{property as o}from"../core/accessorSupport/decorators/property.js";import"../core/Logger.js";import{subclass as l}from"../core/accessorSupport/decorators/subclass.js";import{formatDate as m,convertDateFormatToIntlOptions as u}from"../intl/date.js";import{unknown as c,system as d}from"../time/constants.js";import p from"../time/TimeInterval.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{onResize as g}from"./support/widgetUtils.js";import{messageBundle as b}from"./support/decorators/messageBundle.js";import{vmEvent as x}from"./support/decorators/vmEvent.js";import{tsx as w}from"./support/jsxFactory.js";import{getCalciteModeClass as E}from"../support/modeUtils.js";import{css as k}from"./TimeSlider/css.js";import j from"./TimeSlider/TimeSliderViewModel.js";const _=3,T=858,S=[{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"}}];function M(t){return w("div",{class:k.warning},w("calcite-icon",{class:k.warningIcon,icon:"exclamation-mark-triangle"}),w("calcite-label",{alignment:"center",class:k.warningLabel,scale:"s"},t))}let F=class extends v{constructor(t,e){super(t,e),this._allLayouts=["auto","compact","wide"],this._ignoreNextSliderUpdate=!1,this._slider=new h({precision:0,visibleElements:{rangeLabels:!1},rangeLabelInputsEnabled:!1,thumbsConstrained:!1}),this._tickFormat=null,this.disabled=!1,this.labelFormatFunction=null,this.messages=null,this.tickConfigs=null,this.timeVisible=!1,this.viewModel=new j}initialize(){this.addHandles([a((()=>this._slider.values),(t=>{if(this._ignoreNextSliderUpdate)return void(this._ignoreNextSliderUpdate=!1);const e=this.viewModel.valuesToTimeExtent(t);this.timeExtent?e?this.timeExtent.equals(e)||(this.timeExtent=e):this.timeExtent=null:e&&(this.timeExtent=e)})),a((()=>this.effectiveStops),(()=>this._updateSliderSteps()),s)])}loadDependencies(){return f({action:()=>import("@esri/calcite-components/dist/components/calcite-action"),"action-menu":()=>import("@esri/calcite-components/dist/components/calcite-action-menu"),button:()=>import("@esri/calcite-components/dist/components/calcite-button"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon"),label:()=>import("@esri/calcite-components/dist/components/calcite-label")})}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 icon(){return"clock"}set icon(t){this._overrideIfSome("icon",t)}get interactive(){return!(this.disabled||"disabled"===this.viewModel.state||this.timeZone===c)}get label(){return this.messages?.widgetLabel??""}set label(t){this._overrideIfSome("label",t)}set layout(t){this._set("layout",this._allLayouts.includes(t)?t:"auto")}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 S.map((({minor:e,major:i,format:a})=>({minor:new p(e),major:new p(i),format:{...a,timeZone:t}})))}get timeExtent(){return this.viewModel.timeExtent}set timeExtent(t){this.viewModel.timeExtent=t}get timeZone(){return this.viewModel.view?.timeZone??d}set timeZone(t){this._overrideIfSome("timeZone",t)}get view(){return this.viewModel.view}set view(t){this.viewModel.view=t}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:i,domNode:a,effectiveStops:s,fullTimeExtent:n,interactive:r,messages:o,mode:l,tickConfigs:u,timeExtent:c,timeVisible:d,viewModel:{state:p,timeExtentValues:h}}=this;if(n){const{start:e,end:i}=n;if(e&&i){const a=e.getTime(),s=i.getTime(),n=t.min!==a||t.max!==s;if(n&&(t.min=a,t.max=s),u)t.tickConfigs!==u&&(t.tickConfigs=u);else{const e=(s-a)/(t.trackElement?.offsetWidth||400),i=this.tickFormats.find((({minor:t})=>t.toMilliseconds()>_*e))??this.tickFormats.at(-1),r=i&&this._tickFormat!==i;if(r&&(this._tickFormat=i),n||r){const e={mode:"position",values:this._getTickPositions(i.minor),labelsVisible:!1,tickCreatedFunction:(t,e)=>{e?.classList.add(k.sliderMinorTick)}},a={mode:"position",values:this._getTickPositions(i.major),labelsVisible:!0,tickCreatedFunction:(t,e)=>{e?.classList.add(k.sliderMajorTick)},labelFormatFunction:t=>m(t,i.format)};t.tickConfigs=[e,a]}}}}const v=!this.fullTimeExtent?.start||!this.fullTimeExtent.end||!this.timeExtent||this.timeExtent.isAllTime||this.timeExtent.isEmpty||this.timeExtent.start&&(this.timeExtent.start<this.fullTimeExtent.start||this.timeExtent.start>this.fullTimeExtent.end)||this.timeExtent.end&&(this.timeExtent.end>this.fullTimeExtent.end||this.timeExtent.end<this.fullTimeExtent.start);if(v)switch(this._ignoreNextSliderUpdate=!0,l){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 h?e(t.values,h)||(t.values=h):t.values=null;t.disabled=!r;const f=v||!r||!s?.length,b="auto"===this.layout?a.clientWidth<T?"compact":"wide":this.layout,x=w("calcite-button",{appearance:"transparent",bind:this,class:k.play,disabled:f,iconStart:"playing"===p?"pause":"play",kind:"neutral",label:"playing"===p?o.control.stop:o.control.play,onclick:this._playOrStopClick,scale:"wide"===b?"l":"m",width:"full"}),j=this.labelFormatFunction?w("div",{afterCreate:this._createLabel,afterUpdate:this._createLabel,bind:this,class:k.timeExtentStartDate,"data-date":c?[c.start,c.end]:null,"data-layout":b,"data-type":"extent",key:k.timeExtentStartDate}):!c||c.isAllTime?M(o.noTimeExtent):c.isEmpty?M(o.emptyTimeExtent):[c?.start&&w("div",{class:k.timeExtentStartGroup,key:k.timeExtentStartGroup},w("calcite-label",{alignment:"center",class:k.timeExtentStartDate,key:k.timeExtentStartDate,scale:"s"},this._formatDate(c.start)),d?w("calcite-label",{alignment:"center",class:k.timeExtentStartTime,key:k.timeExtentStartTime,scale:"s"},this._formatTime(c.start)):null),c.start&&c.end&&c.start.getTime()!==c.end.getTime()&&w("div",{class:k.timeExtentSeparator,key:k.timeExtentSeparator}),c?.end&&(!c.start||c.start.getTime()!==c.end.getTime())&&w("div",{class:k.timeExtentEndGroup,key:k.timeExtentEndGroup},w("calcite-label",{alignment:"center",class:k.timeExtentEndDate,key:k.timeExtentEndDate,scale:"s"},this._formatDate(c.end)),d?w("calcite-label",{alignment:"center",class:k.timeExtentEndTime,key:k.timeExtentEndTime,scale:"s"},this._formatTime(c.end)):null)],S=w("div",{class:k.timeExtent},j),F=this.labelFormatFunction?w("div",{afterCreate:this._createLabel,afterUpdate:this._createLabel,bind:this,class:k.minDate,"data-date":n?.start,"data-layout":b,"data-type":"min",key:k.minDate}):n?.start&&[w("calcite-label",{alignment:"center",class:k.minDate,key:k.minDate,scale:"s"},this._formatDate(n.start)),d&&w("calcite-label",{alignment:"center",class:k.minTime,key:k.minTime,scale:"s"},this._formatTime(n.start))],D=w("div",{class:k.min},F),C=w("div",{class:k.slider},t.render()),L=this.labelFormatFunction?w("div",{afterCreate:this._createLabel,afterUpdate:this._createLabel,bind:this,class:k.maxDate,"data-date":n?.end,"data-layout":b,"data-type":"max",key:k.maxDate}):n?.end&&[w("calcite-label",{alignment:"center",class:k.maxDate,key:k.maxDate,scale:"s"},this._formatDate(n.end)),d&&w("calcite-label",{alignment:"center",class:k.maxTime,key:k.maxTime,scale:"s"},this._formatTime(n.end))],U=w("div",{class:k.max},L),Z=w("calcite-button",{appearance:"transparent",bind:this,class:k.previous,disabled:f||"playing"===p,iconStart:"reverse",kind:"neutral",label:o.pagination.previous,onclick:this._previousClick,scale:"wide"===b?"l":"m",width:"full"}),R=w("calcite-button",{appearance:"transparent",bind:this,class:k.next,disabled:f||"playing"===p,iconStart:"forward",kind:"neutral",label:o.pagination.next,onclick:this._nextClick,scale:"wide"===b?"l":"m",width:"full"}),I=i?.length>0,O=I&&w("calcite-action-menu",{class:k.actions,label:o.options},i.toArray().map((t=>w("calcite-action",{bind:this,icon:t.icon,id:t.id,onclick:()=>this.viewModel.triggerAction(t),text:t.title,textEnabled:!0}))));return w("div",{afterCreate:t=>{this.addHandles(g(t,(()=>this.scheduleRender())))},"aria-label":o.widgetLabel,class:this.classes(k.timeSlider,y.widget,`${k.timeSliderMode}${l}`,`${k.timeSliderLayout}${b}`,!r&&k.timeSliderDisabled,v&&k.timeSliderOutOfBounds,I&&k.hasActions,E())},"wide"===b&&w("div",{class:k.timeSliderRow},w("div",{class:k.playbackControls},[x,S,D,C,U,Z,R]),O),"compact"===b&&[w("div",{class:k.timeSliderRow,key:"time-slider-row-1"},[S,O]),w("div",{class:k.timeSliderRow,key:"time-slider-row-2"},[C]),w("div",{class:k.timeSliderRow,key:"time-slider-row-3"},[D,Z,x,R,U])])}updateWebDocument(t){this.viewModel?.updateWebDocument(t)}_createLabel(t){if(!this.labelFormatFunction)return;const e=t.getAttribute("data-type"),i=t.getAttribute("data-layout"),a=t["data-date"];this.labelFormatFunction(a,e,t,i)}_formatDate(t){return m(t,this._dateFormat)}_formatTime(t){return m(t,this._timeFormat)}_getIntlOptions(t){const{timeZone:e}=this;return{...u(t),timeZone:e}}_getTickPositions(t){const{fullTimeExtent:e}=this;if(!e?.start||!e.end)return[];const{start:i,end:a}=e,s=[],{value:o,unit:l}=t;let m=n(i,l,this.timeZone);for(;m.getTime()<=a.getTime();)m.getTime()>=i.getTime()&&s.push(m.getTime()),m=r(m,o,l,this.timeZone);return s}_updateSliderSteps(){this._slider.steps=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:i(this.viewModel.state)}}_previousClick(){this.viewModel.previous()}_nextClick(){this.viewModel.next()}};t([o()],F.prototype,"_dateFormat",null),t([o()],F.prototype,"_timeFormat",null),t([o()],F.prototype,"actions",null),t([o()],F.prototype,"disabled",void 0),t([o()],F.prototype,"effectiveStops",null),t([o()],F.prototype,"fullTimeExtent",null),t([o()],F.prototype,"icon",null),t([o({readOnly:!0})],F.prototype,"interactive",null),t([o()],F.prototype,"label",null),t([o()],F.prototype,"labelFormatFunction",void 0),t([o({value:"auto"})],F.prototype,"layout",null),t([o()],F.prototype,"loop",null),t([o(),b("esri/widgets/TimeSlider/t9n/TimeSlider")],F.prototype,"messages",void 0),t([o()],F.prototype,"mode",null),t([o()],F.prototype,"playRate",null),t([o()],F.prototype,"stops",null),t([o()],F.prototype,"tickConfigs",void 0),t([o()],F.prototype,"tickFormats",null),t([o()],F.prototype,"timeExtent",null),t([o({nonNullable:!0})],F.prototype,"timeVisible",void 0),t([o()],F.prototype,"timeZone",null),t([o()],F.prototype,"view",null),t([o({type:j}),x("trigger-action")],F.prototype,"viewModel",void 0),F=t([l("esri.widgets.TimeSlider")],F);const D=F;export{D as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../core/Accessor.js";import{createTask as s}from"../../core/asyncUtils.js";import"../../core/has.js";import i from"../../core/Logger.js";import{abortMaybe as n,removeMaybe as r}from"../../core/maybe.js";import{throwIfAborted as a,isAbortError as o,isAborted as l}from"../../core/promiseUtils.js";import{watch as c,syncAndInitial as h,sync as w,whenOnce as p,when as y}from"../../core/reactiveUtils.js";import{property as u}from"../../core/accessorSupport/decorators/property.js";import"../../core/RandomLCG.js";import{subclass as d}from"../../core/accessorSupport/decorators/subclass.js";var v;!function(e){e[e.PENDING=0]="PENDING",e[e.WAIT_FOR_VIEW_READY=1]="WAIT_FOR_VIEW_READY",e[e.RUNNING=2]="RUNNING"}(v||(v={}));let _=class extends t{constructor(e={}){super(e),this.view=null,this.analysisView=null,this._reconnectViewTask=null,this._forceInteractiveHandle=null,this._parentChangeFromReconnect=!1,this._startUserOperation=null;const t=e?.analysis;null!=t?this.analysis=t:(this._set("analysis",this.constructAnalysis()),this._set("isAnalysisOwner",!0)),null!=e?.visible&&(this.visible=e.visible)}normalizeCtorArgs(e){const{analysis:t,...s}=e;return s}initialize(){this.addHandles([c((()=>({readyAndNotSupported:null!=this.view&&this.view.ready&&!this.supported})),(({readyAndNotSupported:e})=>{e&&i.getLogger(this).errorOnce(this.unsupportedErrorMessage)}),h),c((()=>this.analysis?.parent),(e=>{this._parentChangeFromReconnect||e===this.view||this._set("isAnalysisOwner",!1);const t=!this._parentChangeFromReconnect;this._parentChangeFromReconnect=!1,t&&this._scheduleViewReconnect()}),w),c((()=>({view:this.view,ready:null!=this.view&&this.view.ready,supported:this.supported})),(({view:e},t)=>{const s=t?.view;e!==s&&(this._startUserOperation=n(this._startUserOperation),this._disconnectFromView(s)),this._scheduleViewReconnect()}),h)])}destroy(){this._reconnectViewTask=n(this._reconnectViewTask),this._startUserOperation=n(this._startUserOperation),null!=this.analysisView&&(this.analysisView.visible=void 0),this._disconnectFromView(this.view),this._set("view",null),null!=this.analysis&&this.isAnalysisOwner&&(this.analysis.destroy(),this._set("analysis",null))}get supported(){return null==this.view||this.view.type===this.supportedViewType}set visible(e){this._set("visible",e),null!=this.analysisView&&(this.analysisView.visible=e)}get active(){return null!=this.tool&&this.tool.active}get disabled(){return null==this.view||!this.view.ready||!this.supported}set analysis(e){e!==this._get("analysis")&&(this._startUserOperation=n(this._startUserOperation),this._disconnectFromView(this.view),this._setExternalAnalysis(e),this._scheduleViewReconnect())}get ready(){return null!=this.analysisView&&!this.connectingToView}get connectingToView(){return null!=this._reconnectViewTask}get isAnalysisOwner(){return this._get("isAnalysisOwner")}get tool(){return null!=this.analysisView?this.analysisView.tool:null}clear(){this._startUserOperation=n(this._startUserOperation),this._resetInteractiveCreationState(),null!=this.tool&&null!=this.view&&this.view.activeTool===this.tool&&(this.view.activeTool=null)}async start(){if(!this.visible)return void i.getLogger(this).warn("Cannot start analysis when not visible");this.clear();const e={task:null,abort:null,state:v.PENDING},t=s((async t=>{if(e.state=v.WAIT_FOR_VIEW_READY,await p((()=>this.ready),t),e.state=v.RUNNING,null==this.analysisView||null==this.view)return;const s=this.analysisView.tool;null!=s&&(this.view.activeTool=s,y((()=>s.created),(()=>{s.active&&null!=this.view&&(this.view.activeTool=null)}),{initial:!0,once:!0}))}));return e.task=t,e.abort=()=>t.abort(),this._startUserOperation=e,t.promise}onConnectToAnalysisView(e){}onDisconnectFromAnalysisView(){}_scheduleViewReconnect(){this._reconnectViewTask=n(this._reconnectViewTask);const e=s((async t=>{try{await this._reconnectView(t)}catch(s){if(a(t),!o(s))return void i.getLogger(this).warn("Failed to use analysis in view model",s);throw s}finally{e===this._reconnectViewTask&&(this._reconnectViewTask=null)}}));this._reconnectViewTask=e}async _reconnectView(e){const{view:t}=this,s=null!=t&&t.ready&&this.supported,n=this.analysis;if(this._startUserOperation=V(this._startUserOperation),this._disconnectFromView(t),s&&null!=t&&null!=n){if(this.isAnalysisOwner){if(null!=n.parent)return void i.getLogger(this).errorOnce("expected owned analysis to have null parent when connecting to view");this._parentChangeFromReconnect=!0,t.analyses.add(n)}this.analysisView=await t.whenAnalysisView(n),l(e)?this._startUserOperation=V(this._startUserOperation):(this.analysisView.visible=this.visible,this._forceInteractiveHandle=this.analysisView.forceInteractiveForViewModel(),this.addHandles(this._forceInteractiveHandle),this.onConnectToAnalysisView(this.analysisView))}}_disconnectFromView(e){null!=e&&this.isAnalysisOwner&&e.analyses.includes(this.analysis)&&(this._parentChangeFromReconnect=!0,this.analysis.clear(),e.analyses.remove(this.analysis)),this.onDisconnectFromAnalysisView(),this._forceInteractiveHandle=r(this._forceInteractiveHandle),this.analysisView=null}_setExternalAnalysis(e){null==this.analysisView||this.isAnalysisOwner||(this.analysisView.visible=void 0,this._forceInteractiveHandle=r(this._forceInteractiveHandle)),this.analysisView=null,this._set("isAnalysisOwner",!1),this._set("analysis",e),this._parentChangeFromReconnect=!1}_resetInteractiveCreationState(){this.analysis.clear(),
|
|
5
|
+
import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../core/Accessor.js";import{createTask as s}from"../../core/asyncUtils.js";import"../../core/has.js";import i from"../../core/Logger.js";import{abortMaybe as n,removeMaybe as r}from"../../core/maybe.js";import{throwIfAborted as a,isAbortError as o,isAborted as l}from"../../core/promiseUtils.js";import{watch as c,syncAndInitial as h,sync as w,whenOnce as p,when as y}from"../../core/reactiveUtils.js";import{property as u}from"../../core/accessorSupport/decorators/property.js";import"../../core/RandomLCG.js";import{subclass as d}from"../../core/accessorSupport/decorators/subclass.js";var v;!function(e){e[e.PENDING=0]="PENDING",e[e.WAIT_FOR_VIEW_READY=1]="WAIT_FOR_VIEW_READY",e[e.RUNNING=2]="RUNNING"}(v||(v={}));let _=class extends t{constructor(e={}){super(e),this.view=null,this.analysisView=null,this._reconnectViewTask=null,this._forceInteractiveHandle=null,this._parentChangeFromReconnect=!1,this._startUserOperation=null;const t=e?.analysis;null!=t?this.analysis=t:(this._set("analysis",this.constructAnalysis()),this._set("isAnalysisOwner",!0)),null!=e?.visible&&(this.visible=e.visible)}normalizeCtorArgs(e){const{analysis:t,...s}=e;return s}initialize(){this.addHandles([c((()=>({readyAndNotSupported:null!=this.view&&this.view.ready&&!this.supported})),(({readyAndNotSupported:e})=>{e&&i.getLogger(this).errorOnce(this.unsupportedErrorMessage)}),h),c((()=>this.analysis?.parent),(e=>{this._parentChangeFromReconnect||e===this.view||this._set("isAnalysisOwner",!1);const t=!this._parentChangeFromReconnect;this._parentChangeFromReconnect=!1,t&&this._scheduleViewReconnect()}),w),c((()=>({view:this.view,ready:null!=this.view&&this.view.ready,supported:this.supported})),(({view:e},t)=>{const s=t?.view;e!==s&&(this._startUserOperation=n(this._startUserOperation),this._disconnectFromView(s)),this._scheduleViewReconnect()}),h)])}destroy(){this._reconnectViewTask=n(this._reconnectViewTask),this._startUserOperation=n(this._startUserOperation),null!=this.analysisView&&(this.analysisView.visible=void 0),this._disconnectFromView(this.view),this._set("view",null),null!=this.analysis&&this.isAnalysisOwner&&(this.analysis.destroy(),this._set("analysis",null))}get supported(){return null==this.view||this.view.type===this.supportedViewType}set visible(e){this._set("visible",e),null!=this.analysisView&&(this.analysisView.visible=e)}get active(){return null!=this.tool&&this.tool.active}get disabled(){return null==this.view||!this.view.ready||!this.supported}set analysis(e){e!==this._get("analysis")&&(this._startUserOperation=n(this._startUserOperation),this._disconnectFromView(this.view),this._setExternalAnalysis(e),this._scheduleViewReconnect())}get ready(){return null!=this.analysisView&&!this.connectingToView}get connectingToView(){return null!=this._reconnectViewTask}get isAnalysisOwner(){return this._get("isAnalysisOwner")}get tool(){return null!=this.analysisView?this.analysisView.tool:null}clear(){this._startUserOperation=n(this._startUserOperation),this._resetInteractiveCreationState(),null!=this.tool&&null!=this.view&&this.view.activeTool===this.tool&&(this.view.activeTool=null)}async start(){if(!this.visible)return void i.getLogger(this).warn("Cannot start analysis when not visible");this.clear();const e={task:null,abort:null,state:v.PENDING},t=s((async t=>{if(e.state=v.WAIT_FOR_VIEW_READY,await p((()=>this.ready),t),e.state=v.RUNNING,null==this.analysisView||null==this.view)return;const s=this.analysisView.tool;null!=s&&(this.view.activeTool=s,y((()=>s.created),(()=>{s.active&&null!=this.view&&(this.view.activeTool=null)}),{initial:!0,once:!0}))}));return e.task=t,e.abort=()=>t.abort(),this._startUserOperation=e,t.promise}onConnectToAnalysisView(e){}onDisconnectFromAnalysisView(){}_scheduleViewReconnect(){this._reconnectViewTask=n(this._reconnectViewTask);const e=s((async t=>{try{await this._reconnectView(t)}catch(s){if(a(t),!o(s))return void i.getLogger(this).warn("Failed to use analysis in view model",s);throw s}finally{e===this._reconnectViewTask&&(this._reconnectViewTask=null)}}));this._reconnectViewTask=e}async _reconnectView(e){const{view:t}=this,s=null!=t&&t.ready&&this.supported,n=this.analysis;if(this._startUserOperation=V(this._startUserOperation),this._disconnectFromView(t),s&&null!=t&&null!=n){if(this.isAnalysisOwner){if(null!=n.parent)return void i.getLogger(this).errorOnce("expected owned analysis to have null parent when connecting to view");this._parentChangeFromReconnect=!0,t.analyses.add(n)}this.analysisView=await t.whenAnalysisView(n),l(e)?this._startUserOperation=V(this._startUserOperation):(this.analysisView.visible=this.visible,this._forceInteractiveHandle=this.analysisView.forceInteractiveForViewModel(),this.addHandles(this._forceInteractiveHandle),this.onConnectToAnalysisView(this.analysisView))}}_disconnectFromView(e){null!=e&&this.isAnalysisOwner&&e.analyses.includes(this.analysis)&&(this._parentChangeFromReconnect=!0,this.analysis.clear(),e.analyses.remove(this.analysis)),this.onDisconnectFromAnalysisView(),this._forceInteractiveHandle=r(this._forceInteractiveHandle),this.analysisView=null}_setExternalAnalysis(e){null==this.analysisView||this.isAnalysisOwner||(this.analysisView.visible=void 0,this._forceInteractiveHandle=r(this._forceInteractiveHandle)),this.analysisView=null,this._set("isAnalysisOwner",!1),this._set("analysis",e),this._parentChangeFromReconnect=!1}_resetInteractiveCreationState(){this.analysis.clear(),this.tool?.resetCreated()}get testInfo(){}};function V(e){return null!=e&&e.state>=v.RUNNING?(e.abort(),null):e}e([u()],_.prototype,"supported",null),e([u()],_.prototype,"view",void 0),e([u({type:Boolean,value:!0})],_.prototype,"visible",null),e([u()],_.prototype,"active",null),e([u()],_.prototype,"disabled",null),e([u({nonNullable:!0})],_.prototype,"analysis",null),e([u()],_.prototype,"analysisView",void 0),e([u()],_.prototype,"ready",null),e([u()],_.prototype,"connectingToView",null),e([u({readOnly:!0})],_.prototype,"isAnalysisOwner",null),e([u()],_.prototype,"_reconnectViewTask",void 0),e([u()],_.prototype,"_forceInteractiveHandle",void 0),e([u()],_.prototype,"tool",null),_=e([d("esri.widgets.support.AnalysisViewModel")],_);export{_ as AnalysisViewModel};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as s}from"../../chunks/tslib.es6.js";import{createTask as t}from"../../core/asyncUtils.js";import"../../core/has.js";import i from"../../core/Logger.js";import{abortMaybe as e}from"../../core/maybe.js";import{throwIfAborted as n,isAbortError as a,isAborted as r}from"../../core/promiseUtils.js";import{watch as o,sync as l,syncAndInitial as c,whenOnce as h}from"../../core/reactiveUtils.js";import{property as y}from"../../core/accessorSupport/decorators/property.js";import"../../core/RandomLCG.js";import{subclass as w}from"../../core/accessorSupport/decorators/subclass.js";import{InteractiveToolViewModel as p}from"./InteractiveToolViewModel.js";var _;!function(s){s[s.PENDING=0]="PENDING",s[s.WAIT_FOR_VIEW_READY=1]="WAIT_FOR_VIEW_READY",s[s.RUNNING=2]="RUNNING"}(_||(_={}));let u=class extends p{constructor(s={}){super(s),this.analysisView=null,this._reconnectViewTask=null,this._parentChangeFromReconnect=!1,this._startUserOperation=null;const t=s?.analysis;null!=t?this.analysis=t:(this._set("analysis",this.constructAnalysis()),this._set("isAnalysisOwner",!0))}normalizeCtorArgs(s){const{analysis:t,...i}=s;return i}initialize(){this.addHandles([o((()=>this.analysis?.parent),(s=>{this._parentChangeFromReconnect||s===this.view||this._set("isAnalysisOwner",!1);const t=!this._parentChangeFromReconnect;this._parentChangeFromReconnect=!1,t&&this._scheduleViewReconnect()}),l),o((()=>({view:this.view,ready:null!=this.view&&this.view.ready,supported:this.supported})),(({view:s},t)=>{const i=t?.view;s!==i&&(this._startUserOperation=e(this._startUserOperation),this._disconnectFromView(i)),this._scheduleViewReconnect()}),c),o((()=>this.analysis.
|
|
5
|
+
import{_ as s}from"../../chunks/tslib.es6.js";import{createTask as t}from"../../core/asyncUtils.js";import"../../core/has.js";import i from"../../core/Logger.js";import{abortMaybe as e}from"../../core/maybe.js";import{throwIfAborted as n,isAbortError as a,isAborted as r}from"../../core/promiseUtils.js";import{watch as o,sync as l,syncAndInitial as c,whenOnce as h}from"../../core/reactiveUtils.js";import{property as y}from"../../core/accessorSupport/decorators/property.js";import"../../core/RandomLCG.js";import{subclass as w}from"../../core/accessorSupport/decorators/subclass.js";import{InteractiveToolViewModel as p}from"./InteractiveToolViewModel.js";var _;!function(s){s[s.PENDING=0]="PENDING",s[s.WAIT_FOR_VIEW_READY=1]="WAIT_FOR_VIEW_READY",s[s.RUNNING=2]="RUNNING"}(_||(_={}));let u=class extends p{constructor(s={}){super(s),this.analysisView=null,this._reconnectViewTask=null,this._parentChangeFromReconnect=!1,this._startUserOperation=null;const t=s?.analysis;null!=t?this.analysis=t:(this._set("analysis",this.constructAnalysis()),this._set("isAnalysisOwner",!0))}normalizeCtorArgs(s){const{analysis:t,...i}=s;return i}initialize(){this.addHandles([o((()=>this.analysis?.parent),(s=>{this._parentChangeFromReconnect||s===this.view||this._set("isAnalysisOwner",!1);const t=!this._parentChangeFromReconnect;this._parentChangeFromReconnect=!1,t&&this._scheduleViewReconnect()}),l),o((()=>({view:this.view,ready:null!=this.view&&this.view.ready,supported:this.supported})),(({view:s},t)=>{const i=t?.view;s!==i&&(this._startUserOperation=e(this._startUserOperation),this._disconnectFromView(i)),this._scheduleViewReconnect()}),c),o((()=>this.analysis.valid),((s,t)=>{null!=this.analysisView&&(s&&!t&&null==this.tool?this.createTool():s||!t||null==this.tool||this.tool.active||this.removeTool())}))])}destroy(){this._reconnectViewTask=e(this._reconnectViewTask),this._startUserOperation=e(this._startUserOperation),null!=this.analysisView&&(this.analysisView.visible=void 0),this._disconnectFromView(this.view),null!=this.analysis&&this.isAnalysisOwner&&(this.analysis.destroy(),this._set("analysis",null))}set analysis(s){s!==this._get("analysis")&&(this._startUserOperation=e(this._startUserOperation),this._disconnectFromView(this.view),this._setExternalAnalysis(s),this._scheduleViewReconnect())}get ready(){return null!=this.analysisView&&!this.connectingToView}get connectingToView(){return null!=this._reconnectViewTask}get isAnalysisOwner(){return this._get("isAnalysisOwner")}set visible(s){this._set("visible",s),null!=this.analysisView&&(this.analysisView.visible=s)}async start(){if(!this.visible)return void i.getLogger(this).warn("Cannot start analysis when not visible");this.clear();const s={task:null,abort:null,state:_.PENDING},e=t((async t=>{s.state=_.WAIT_FOR_VIEW_READY,await h((()=>this.ready),t),s.state=_.RUNNING,this.createTool({interactive:!0})}));return s.task=e,s.abort=()=>e.abort(),this._startUserOperation=s,e.promise}clear(){this._startUserOperation=e(this._startUserOperation),this.removeTool(),this.analysis.clear()}onConnectToAnalysisView(s){}onDisconnectFromAnalysisView(){}_scheduleViewReconnect(){this._reconnectViewTask=e(this._reconnectViewTask);const s=t((async t=>{try{await this._reconnectView(t)}catch(e){if(n(t),!a(e))return void i.getLogger(this).warn("Failed to use analysis in view model",e);throw e}finally{s===this._reconnectViewTask&&(this._reconnectViewTask=null)}}));this._reconnectViewTask=s}async _reconnectView(s){const{view:t}=this,i=null!=t&&t.ready&&this.supported,e=this.analysis;if(this._startUserOperation=V(this._startUserOperation),this._disconnectFromView(t),i&&null!=t&&null!=e){if(this.isAnalysisOwner){if(null!=e.parent)return void this.logError("expected owned analysis to have null parent when connecting to view");this._parentChangeFromReconnect=!0,t.analyses.add(e)}this.analysisView=await t.whenAnalysisView(e),r(s)?this._startUserOperation=V(this._startUserOperation):(this.analysisView.visible=this.visible,this.onConnectToAnalysisView(this.analysisView),this.createTool())}}_disconnectFromView(s){this.removeTool(),null!=s&&this.isAnalysisOwner&&(this._parentChangeFromReconnect=!0,s.analyses.remove(this.analysis),this.analysis.clear()),this.analysisView=null,this.onDisconnectFromAnalysisView()}_setExternalAnalysis(s){null==this.analysisView||this.isAnalysisOwner||(this.analysisView.visible=!0),this.analysisView=null,this._set("isAnalysisOwner",!1),this._set("analysis",s),this._parentChangeFromReconnect=!1}get testInfo(){}};function V(s){return null!=s&&s.state>=_.RUNNING?(s.abort(),null):s}s([y({nonNullable:!0})],u.prototype,"analysis",null),s([y()],u.prototype,"analysisView",void 0),s([y()],u.prototype,"ready",null),s([y()],u.prototype,"connectingToView",null),s([y({readOnly:!0})],u.prototype,"isAnalysisOwner",null),s([y({type:Boolean,value:!0})],u.prototype,"visible",null),s([y()],u.prototype,"_reconnectViewTask",void 0),u=s([w("esri.widgets.support.InteractiveAnalysisViewModel")],u);export{u as InteractiveAnalysisViewModel};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../chunks/tslib.es6.js";import{createTask as o}from"../../../core/asyncUtils.js";import t from"../../../core/Collection.js";import s from"../../../core/Evented.js";import{makeHandle as r}from"../../../core/handleUtils.js";import{debounce as i,ignoreAbortErrors as n,onAbort as c}from"../../../core/promiseUtils.js";import{createScreenPoint as l}from"../../../core/screenUtils.js";import{property as a}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as p}from"../../../core/accessorSupport/decorators/subclass.js";import m from"../../../geometry/Point.js";import d from"../../../geometry/Polygon.js";import{isClockwise as h}from"../../../geometry/support/coordsUtils.js";import{DrawScreenTool as u}from"../../../views/draw/DrawScreenTool.js";import{sketchKeys as
|
|
5
|
+
import{_ as e}from"../../../chunks/tslib.es6.js";import{createTask as o}from"../../../core/asyncUtils.js";import t from"../../../core/Collection.js";import s from"../../../core/Evented.js";import{makeHandle as r}from"../../../core/handleUtils.js";import{debounce as i,ignoreAbortErrors as n,onAbort as c}from"../../../core/promiseUtils.js";import{createScreenPoint as l}from"../../../core/screenUtils.js";import{property as a}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as p}from"../../../core/accessorSupport/decorators/subclass.js";import m from"../../../geometry/Point.js";import d from"../../../geometry/Polygon.js";import{isClockwise as h}from"../../../geometry/support/coordsUtils.js";import{DrawScreenTool as u}from"../../../views/draw/DrawScreenTool.js";import{sketchKeys as g}from"../../../views/interactive/keybindings.js";import{getSelectionFromGeometry as y}from"./selectorUtils.js";const v=100;let f=class extends s.EventedAccessor{constructor(e){super(e),this._processTask=null,this.options=null,this.selection=new t,this.sources=null,this._process=i((async(e,t)=>{const{callback:s,selector:r,completed:i}=e,n=o((async e=>{const{options:o,sources:t,selection:n,view:c}=this;if(!(!t?.length&&!c?.selectionManager.sources.length)&&c){if(r&&null!=t){const s=await y({currentSelection:n,selector:r,signal:e,sources:t,view:c});i&&!1!==o?.persistSelection&&c.selectionManager?.updateSelection({current:n.toArray(),...s})}s&&s()}else n.removeAll()}));return c(t,(()=>n.abort())),this._processTask=n,n.promise}),v)}initialize(){this._setup()}get processingFinalSelection(){return!(!this._processTask||!this._tool?.drawOperation.isCompleted)}cancel(){this.removeAllHandles(),this._processTask?.abort()}async _setup(){const{view:e}=this;if(await e.whenReady(),this.destroyed)return;const o=this.options,t=o?.createTool??"rectangle",s=o?.mode??("polygon"===t?"click":"hybrid"),i=Symbol();this._tool=new u({view:e,mode:s,geometryType:t}),o?.selectOnComplete||this.addHandles(this._tool.on(["cursor-update","vertex-add","vertex-remove"],(()=>n(this._process({selector:this._selectionArea})))),i),this.addHandles([e.on("key-down",(e=>{if(!e.repeat)switch(e.key){case g.constraint:this._tool.uniformSizeToggled=!0,e.stopPropagation();break;case g.center:this._tool.centeredToggled=!0,e.stopPropagation()}})),e.on("key-up",(e=>{switch(e.key){case g.constraint:this._tool.uniformSizeToggled=!1,e.stopPropagation();break;case g.center:this._tool.centeredToggled=!1,e.stopPropagation()}})),this._tool.on("complete",(async e=>{this.removeHandles(i);const o=()=>{this.removeAllHandles(),this.emit("complete",{aborted:e.aborted,selection:this.selection.toArray()})};e.aborted?(this.cancel(),this.selection.removeAll(),o()):await this._process({selector:this._selectionArea,callback:o,completed:!0})}))],i),this.addHandles(r((()=>e.tools.remove(this._tool)))),e.addAndActivateTool(this._tool)}get _selectionArea(){const e=l(),o=this._tool.coordinates,t=this.view.spatialReference,s=o=>{e.x=o[0],e.y=o[1];const{x:t,y:s}=this.view.toMap(e);return[t,s]};if(0===o.length)return;if(1===o.length||o.every((([e,t])=>e===o[0][0]&&t===o[0][1]))){const[e,r]=s(o[0]);return new m({x:e,y:r,spatialReference:t})}const r=o.map(s);if(0===r.length)return;h(r)||r.reverse();return new d({spatialReference:t,rings:[r]})}};e([a()],f.prototype,"_processTask",void 0),e([a()],f.prototype,"options",void 0),e([a()],f.prototype,"processingFinalSelection",null),e([a({readOnly:!0})],f.prototype,"selection",void 0),e([a()],f.prototype,"sources",void 0),e([a({constructOnly:!0})],f.prototype,"view",void 0),f=e([p("esri.widgets.support.Selector2D.SelectionOperation")],f);const _=f;export{_ as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
export{accessibleHandler}from"./decorators/accessibleHandler.js";export{messageBundle}from"./decorators/messageBundle.js";export{vmEvent}from"./decorators/vmEvent.js";export{tsx,tsxFragment}from"./jsxFactory.js";export{additionalAllowedTags,classes,cssTransition,discardNode,isActivationKey,isRTL,onResize,renderingSanitizer,safeAttrs,setFocus,storeNode}from"./widgetUtils.js";export{
|
|
5
|
+
export{accessibleHandler}from"./decorators/accessibleHandler.js";export{messageBundle}from"./decorators/messageBundle.js";export{vmEvent}from"./decorators/vmEvent.js";export{tsx,tsxFragment}from"./jsxFactory.js";export{additionalAllowedTags,classes,cssTransition,discardNode,isActivationKey,isRTL,onResize,renderingSanitizer,safeAttrs,setFocus,storeNode}from"./widgetUtils.js";export{getCalciteModeClass,isDarkMode,modeNameCustomCSSProp,setCalciteModeClass}from"../../support/modeUtils.js";function e(e){return e&&"function"==typeof e.render}function t(e){return e&&"function"==typeof e.postMixInProperties&&"function"==typeof e.buildRendering&&"function"==typeof e.postCreate&&"function"==typeof e.startup}export{t as hasDomNode,e as isWidget};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[2936,4755,7136],{17136:(e,t,r)=>{r.d(t,{O7:()=>S,el:()=>x});var n=r(92602),o=r(49186),i=r(53966),s=r(39829),l=r(82799),a=r(80754),p=r(21325),u=r(28735),y=r(78888),c=r(65864),f=r(2272),d=r(84952),m=r(92300);const h=()=>i.A.getLogger("esri.geometry.support.normalizeUtils");function g(e){return"polygon"===e[0].type}function b(e){return"polyline"===e[0].type}function _(e,t,r){if(t){const t=function(e,t){if(!(e instanceof l.A||e instanceof s.A)){const e="straightLineDensify: the input geometry is neither polyline nor polygon";throw h().error(e),new o.A("internal:geometry",e)}const r=(0,a.r8)(e),n=[];for(const e of r){const r=[];n.push(r),r.push([e[0][0],e[0][1]]);for(let n=0;n<e.length-1;n++){const o=e[n][0],i=e[n][1],s=e[n+1][0],l=e[n+1][1],a=Math.sqrt((s-o)*(s-o)+(l-i)*(l-i)),p=(l-i)/a,u=(s-o)/a,y=a/t;if(y>1){for(let e=1;e<=y-1;e++){const n=e*t,s=u*n+o,l=p*n+i;r.push([s,l])}const e=(a+Math.floor(y-1)*t)/2,n=u*e+o,s=p*e+i;r.push([n,s])}r.push([s,l])}}return function(e){return"polygon"===e.type}(e)?new s.A({rings:n,spatialReference:e.spatialReference}):new l.A({paths:n,spatialReference:e.spatialReference})}(e,1e6);e=(0,u.ci)(t,!0)}return r&&(e=(0,a.kS)(e,r)),e}function w(e,t,r){if(Array.isArray(e)){const n=e[0];if(n>t){const r=(0,a.kd)(n,t);e[0]=n+r*(-2*t)}else if(n<r){const t=(0,a.kd)(n,r);e[0]=n+t*(-2*r)}}else{const n=e.x;if(n>t){const r=(0,a.kd)(n,t);e=e.clone().offset(r*(-2*t),0)}else if(n<r){const t=(0,a.kd)(n,r);e=e.clone().offset(t*(-2*r),0)}}return e}function M(e,t){let r=-1;for(let n=0;n<t.cutIndexes.length;n++){const o=t.cutIndexes[n],i=t.geometries[n],s=(0,a.r8)(i);for(let e=0;e<s.length;e++){const t=s[e];t.some((r=>{if(r[0]<180)return!0;{let r=0;for(let e=0;e<t.length;e++){const n=t[e][0];r=n>r?n:r}r=Number(r.toFixed(9));const n=-360*(0,a.kd)(r,180);for(let r=0;r<t.length;r++){const t=i.getPoint(e,r);i.setPoint(e,r,t.clone().offset(n,0))}return!0}}))}if(o===r){if(g(e))for(const t of(0,a.r8)(i))e[o]=e[o].addRing(t);else if(b(e))for(const t of(0,a.r8)(i))e[o]=e[o].addPath(t)}else r=o,e[o]=i}return e}async function x(e,t,r){if(!Array.isArray(e))return x([e],t);t&&"string"!=typeof t&&h().warn("normalizeCentralMeridian()","The url object is deprecated, use the url string instead");const o="string"==typeof t?t:t?.url??n.A.geometryServiceUrl;let i,g,b,S,v,T,O,A,N=0;const Z=[],I=[];for(const t of e)if(null!=t)if(i||(i=t.spatialReference,g=(0,p.Vp)(i),b=i.isWebMercator,T=b?102100:4326,S=a.j7[T].maxX,v=a.j7[T].minX,O=a.j7[T].plus180Line,A=a.j7[T].minus180Line),g)if("mesh"===t.type)I.push(t);else if("point"===t.type)I.push(w(t.clone(),S,v));else if("multipoint"===t.type){const e=t.clone();e.points=e.points.map((e=>w(e,S,v))),I.push(e)}else if("extent"===t.type){const e=t.clone()._normalize(!1,!1,g);I.push(e.rings?new s.A(e):e)}else if(t.extent){const e=t.extent,r=(0,a.kd)(e.xmin,v)*(2*S);let n=0===r?t.clone():(0,a.kS)(t.clone(),r);e.offset(r,0);let{xmin:o,xmax:i}=e;o=Number(o.toFixed(9)),i=Number(i.toFixed(9)),e.intersects(O)&&i!==S?(N=i>N?i:N,n=_(n,b),Z.push(n),I.push("cut")):e.intersects(A)&&o!==v?(N=i*(2*S)>N?i*(2*S):N,n=_(n,b,360),Z.push(n),I.push("cut")):I.push(n)}else I.push(t.clone());else I.push(t);else I.push(t);let F=(0,a.kd)(N,S),L=-90;const R=F,j=new l.A;for(;F>0;){const e=360*F-180;j.addPath([[e,L],[e,-1*L]]),L*=-1,F--}if(Z.length>0&&R>0){const t=M(Z,await async function(e,t,r,n){const o=(0,f.Dl)(e),i=t[0].spatialReference,s={...n,responseType:"json",query:{...o.query,f:"json",sr:(0,p.YX)(i),target:JSON.stringify({geometryType:(0,c.$B)(t[0]),geometries:t}),cutter:JSON.stringify(r)}},l=await(0,y.A)(o.path+"/cut",s),{cutIndexes:a,geometries:u=[]}=l.data;return{cutIndexes:a,geometries:u.map((e=>{const t=(0,c.rS)(e);return t.spatialReference=i,t}))}}(o,Z,j,r)),n=[],i=[];for(let r=0;r<I.length;r++){const o=I[r];if("cut"!==o)i.push(o);else{const o=t.shift(),s=e[r];null!=s&&"polygon"===s.type&&s.rings&&s.rings.length>1&&o.rings.length>=s.rings.length?(n.push(o),i.push("simplify")):i.push(b?(0,u.Gh)(o):o)}}if(!n.length)return i;const s=await async function(e,t,r){const n="string"==typeof e?(0,d.An)(e):e,o=t[0].spatialReference,i=(0,c.$B)(t[0]),s={...r,query:{...n.query,f:"json",sr:(0,p.YX)(o),geometries:JSON.stringify((0,m.X)(t))}},{data:l}=await(0,y.A)(n.path+"/simplify",s);return(0,m.V)(l.geometries,i,o)}(o,n,r),l=[];for(let e=0;e<i.length;e++){const t=i[e];"simplify"!==t?l.push(t):l.push(b?(0,u.Gh)(s.shift()):s.shift())}return l}const J=[];for(let e=0;e<I.length;e++){const t=I[e];if("cut"!==t)J.push(t);else{const e=Z.shift();J.push(!0===b?(0,u.Gh)(e):e)}}return J}function S(e,t,r){const n=(0,p.Vp)(r);if(null==n)return e;const[o,i]=n.valid,s=2*i;let l=0,a=0;t>i?l=Math.ceil(Math.abs(t-i)/s):t<o&&(l=-Math.ceil(Math.abs(t-o)/s)),e>i?a=Math.ceil(Math.abs(e-i)/s):e<o&&(a=-Math.ceil(Math.abs(e-o)/s));let u=e+(l-a)*s;const y=u-t;return y>i?u-=s:y<o&&(u+=s),u}},17311:(e,t,r)=>{r.d(t,{A:()=>c});var n=r(90237),o=r(69622),i=r(60999),s=r(5503),l=r(10107),a=(r(44208),r(53966),r(87811),r(40608)),p=r(30524),u=r(43668);let y=class extends o.A{constructor(e){super(e),this._featureUtils=null,this.effectivePopupTemplate=null}get _arcadeTask(){return this.expressionsUsedInTitle.length>0?this._get("_arcadeTask")||(0,i.UT)((()=>(0,u.l)())):null}get featureUtilsPromise(){return this._get("featureUtilsPromise")??r.e(9926).then(r.bind(r,29926)).then((e=>this._featureUtils=e))}get calculatedExpressions(){const e=new s.A;if(!this.expressionsUsedInTitle.length)return e;if(!this._arcadeTask?.value){for(const t of this.expressionsUsedInTitle??[])e.push({name:t.name,invalid:!0});return e}for(const t of this.expressionsUsedInTitle)try{const r=this._arcadeTask.value.arcade.parseScript(t.expression,["$layer","$map","$datastore"]);if(r.isAsync){e.push({name:t.name,invalid:!0});break}e.push({name:t.name,syntax:r,invalid:!1,func:this._arcadeTask.value.arcade.compileScript(r,{vars:{$feature:"any"}})})}catch{e.push({name:t.name,invalid:!0});break}return e}get expressionsUsedInTitle(){let e=this.effectivePopupTemplate?.title??"";return"string"!=typeof e?[]:(e=e.toLowerCase(),this.effectivePopupTemplate?.expressionInfos?.filter((t=>e.includes(`{expression/${t.name.toLowerCase()}}`)))??[])}get fieldInfoMap(){return this._featureUtils?this._createFieldInfoMap(this._featureUtils.getAllFieldInfos(this.effectivePopupTemplate)):null}get hasBadExpressions(){return this.calculatedExpressions.some((e=>!0===e.invalid))}get requiredFields(){const e=new Set;if(this._arcadeTask?.value&&!this.hasBadExpressions)for(const t of this.calculatedExpressions?.toArray()??[])try{const r=this._arcadeTask.value.arcade.extractFieldLiterals(t.syntax);for(const t of r){const r=t.split("."),n=this.fieldsIndex.get(r.at(-1)??"");n&&e.add(n.name)}}catch{}const t=this._extractFieldNames(this.workingTitle);for(const r of t){const t=this.fieldsIndex.get(r);t&&e.add(t.name)}return e}get titleFromDisplayField(){let e="";return this.displayField&&(e=this.fieldsIndex.get(this.displayField)?.name??""),e||(e=this.fieldsIndex.get(this.objectIdField)?.name??""),e?`{${e}}`:""}get workingTitle(){const e=this.effectivePopupTemplate?this.effectivePopupTemplate.title:"";return""===e||null==e||this.hasBadExpressions||"string"!=typeof e?this.titleFromDisplayField:e}async getTitle(e,t,r){try{const{attributes:n}=t,o=r?.timeZone??"system",[{substituteFieldsInLinksAndAttributes:i}]=await Promise.all([this.featureUtilsPromise,this._arcadeTask?.promise]);if(r.fetchMissingFields&&(t=await this._checkAndReQueryGraphic(e,t)),this.workingTitle&&this.fieldInfoMap){const r=this._createFormattedAttributes(e,t,o).global;return i({attributes:n,expressionAttributes:null,fieldInfoMap:this.fieldInfoMap,globalAttributes:r,layer:e,text:this.workingTitle})}return""}catch{}return""}async _checkAndReQueryGraphic(e,t){const r=t.getObjectId();if(null==r)return t;if(!(0,p.Kl)(this.requiredFields,t)){const t=e.createQuery();t.where="1=1",t.outFields=[...this.requiredFields],t.objectIds=[r];const n=await e.queryFeatures(t);if(1===n?.features.length)return n.features[0]}return t}_createFieldInfoMap(e){const t=new Map;if(!e)return t;for(const r of e){if(!r.fieldName)continue;const e=this.fieldsIndex.get(r.fieldName),n=e?.name??r.fieldName;r.fieldName=n,t.set(n.toLowerCase(),r)}return t}_createFormattedAttributes(e,t,r="system"){const n=this.effectivePopupTemplate?.fieldInfos??[],o={};if(!this._featureUtils)return{};if(!this.hasBadExpressions&&this.calculatedExpressions.length>0&&this._arcadeTask?.value){const r=this._arcadeTask.value.Feature.createFromGraphicLikeObject(t.geometry,t.attributes,e,null);for(const e of this.calculatedExpressions)try{o[`expression/${e.name}`]=e.func({vars:{$feature:r}})}catch{}}const i={...t.attributes,...o};return{global:this._featureUtils.formatAttributes({fieldInfos:n,attributes:i,graphic:t,timeZone:r,layer:e,fieldInfoMap:this.fieldInfoMap}),content:[]}}_extractFieldNames(e){return(0,p.nw)(e).filter((e=>!(0===e.indexOf("relationships/")||0===e.indexOf("expression/"))))}};(0,n._)([(0,l.MZ)({readOnly:!0})],y.prototype,"_arcadeTask",null),(0,n._)([(0,l.MZ)()],y.prototype,"_featureUtils",void 0),(0,n._)([(0,l.MZ)({readOnly:!0})],y.prototype,"featureUtilsPromise",null),(0,n._)([(0,l.MZ)({readOnly:!0})],y.prototype,"calculatedExpressions",null),(0,n._)([(0,l.MZ)()],y.prototype,"displayField",void 0),(0,n._)([(0,l.MZ)()],y.prototype,"effectivePopupTemplate",void 0),(0,n._)([(0,l.MZ)()],y.prototype,"expressionsUsedInTitle",null),(0,n._)([(0,l.MZ)()],y.prototype,"fieldsIndex",void 0),(0,n._)([(0,l.MZ)()],y.prototype,"fieldInfoMap",null),(0,n._)([(0,l.MZ)()],y.prototype,"fields",void 0),(0,n._)([(0,l.MZ)()],y.prototype,"objectIdField",void 0),(0,n._)([(0,l.MZ)()],y.prototype,"requiredFields",null),y=(0,n._)([(0,a.$)("esri.layers.support.TitleCreator")],y);const c=y},22671:(e,t,r)=>{r.d(t,{A:()=>_});var n,o=r(90237),i=r(52106),s=r(66552),l=r(25482),a=r(4718),p=r(10107),u=(r(44208),r(53966),r(36005)),y=r(40608),c=r(43937),f=r(16930),d=r(65864),m=r(50498),h=r(20437);const g=new s.J({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon",esriGeometryEnvelope:"extent",mesh:"mesh","":null});let b=n=class extends l.A{constructor(e){super(e),this.displayFieldName=null,this.exceededTransferLimit=!1,this.features=[],this.fields=null,this.geometryType=null,this.hasM=!1,this.hasZ=!1,this.queryGeometry=null,this.spatialReference=null}readFeatures(e,t){return this.readFeaturesWithClass(e,t,i.A)}writeGeometryType(e,t,r,n){if(e)return void g.write(e,t,r,n);const{features:o}=this;if(o)for(const e of o)if(null!=e?.geometry)return void g.write(e.geometry.type,t,r,n)}readQueryGeometry(e,t){if(!e)return null;const r=!!e.spatialReference,n=(0,d.rS)(e);return n&&!r&&t.spatialReference&&(n.spatialReference=f.A.fromJSON(t.spatialReference)),n}writeSpatialReference(e,t){if(e)return void(t.spatialReference=e.toJSON());const{features:r}=this;if(r)for(const e of r)if(e&&null!=e.geometry&&e.geometry.spatialReference)return void(t.spatialReference=e.geometry.spatialReference.toJSON())}clone(){return new n(this.cloneProperties())}cloneProperties(){return(0,a.o8)({displayFieldName:this.displayFieldName,exceededTransferLimit:this.exceededTransferLimit,features:this.features,fields:this.fields,geometryType:this.geometryType,hasM:this.hasM,hasZ:this.hasZ,queryGeometry:this.queryGeometry,spatialReference:this.spatialReference,transform:this.transform})}toJSON(e){const t=this.write();if(t.features&&Array.isArray(e)&&e.length>0)for(let r=0;r<t.features.length;r++){const n=t.features[r];if(n.geometry){const t=e?.[r];n.geometry=t?.toJSON()||n.geometry}}return t}quantize(e){const{scale:[t,r],translate:[n,o]}=e,i=this.features,s=this._getQuantizationFunction(this.geometryType,(e=>Math.round((e-n)/t)),(e=>Math.round((o-e)/r)));for(let e=0,t=i.length;e<t;e++)s?.(i[e].geometry)||(i.splice(e,1),e--,t--);return this.transform=e,this}unquantize(){const{geometryType:e,features:t,transform:r}=this;if(!r)return this;const{translate:[n,o],scale:[i,s]}=r;let l=null,a=null;if(this.hasZ&&null!=r?.scale?.[2]){const{translate:[,,e],scale:[,,t]}=r;l=r=>r*t+e}if(this.hasM&&null!=r?.scale?.[3]){const{translate:[,,,e],scale:[,,,t]}=r;a=r=>null==r?r:r*t+e}const p=this._getHydrationFunction(e,(e=>e*i+n),(e=>o-e*s),l,a);for(const{geometry:e}of t)null!=e&&p&&p(e);return this.transform=null,this}readFeaturesWithClass(e,t,r){const n=f.A.fromJSON(t.spatialReference),o=[];for(let t=0;t<e.length;t++){const i=e[t],s=r.fromJSON(i),l=i.geometry?.spatialReference;null==s.geometry||l||(s.geometry.spatialReference=n);const a=i.aggregateGeometries,p=s.aggregateGeometries;if(a&&null!=p)for(const e in p){const t=p[e],r=a[e],o=r?.spatialReference;null==t||o||(t.spatialReference=n)}o.push(s)}return o}_quantizePoints(e,t,r){let n,o;const i=[];for(let s=0,l=e.length;s<l;s++){const l=e[s];if(s>0){const e=t(l[0]),s=r(l[1]);e===n&&s===o||(i.push([e-n,s-o]),n=e,o=s)}else n=t(l[0]),o=r(l[1]),i.push([n,o])}return i.length>0?i:null}_getQuantizationFunction(e,t,r){return"point"===e?e=>(e.x=t(e.x),e.y=r(e.y),e):"polyline"===e||"polygon"===e?e=>{const n=(0,d.Bi)(e)?e.rings:e.paths,o=[];for(let e=0,i=n.length;e<i;e++){const i=n[e],s=this._quantizePoints(i,t,r);s&&o.push(s)}return o.length>0?((0,d.Bi)(e)?e.rings=o:e.paths=o,e):null}:"multipoint"===e?e=>{const n=this._quantizePoints(e.points,t,r);return n&&n.length>0?(e.points=n,e):null}:"extent"===e?e=>e:null}_getHydrationFunction(e,t,r,n,o){return"point"===e?e=>{e.x=t(e.x),e.y=r(e.y),n&&(e.z=n(e.z))}:"polyline"===e||"polygon"===e?e=>{const i=(0,d.Bi)(e)?e.rings:e.paths;let s,l;for(let e=0,n=i.length;e<n;e++){const n=i[e];for(let e=0,o=n.length;e<o;e++){const o=n[e];e>0?(s+=o[0],l+=o[1]):(s=o[0],l=o[1]),o[0]=t(s),o[1]=r(l)}}if(n&&o)for(let e=0,t=i.length;e<t;e++){const t=i[e];for(let e=0,r=t.length;e<r;e++){const r=t[e];r[2]=n(r[2]),r[3]=o(r[3])}}else if(n)for(let e=0,t=i.length;e<t;e++){const t=i[e];for(let e=0,r=t.length;e<r;e++){const r=t[e];r[2]=n(r[2])}}else if(o)for(let e=0,t=i.length;e<t;e++){const t=i[e];for(let e=0,r=t.length;e<r;e++){const r=t[e];r[2]=o(r[2])}}}:"extent"===e?e=>{e.xmin=t(e.xmin),e.ymin=r(e.ymin),e.xmax=t(e.xmax),e.ymax=r(e.ymax),n&&null!=e.zmax&&null!=e.zmin&&(e.zmax=n(e.zmax),e.zmin=n(e.zmin)),o&&null!=e.mmax&&null!=e.mmin&&(e.mmax=o(e.mmax),e.mmin=o(e.mmin))}:"multipoint"===e?e=>{const i=e.points;let s,l;for(let e=0,n=i.length;e<n;e++){const n=i[e];e>0?(s+=n[0],l+=n[1]):(s=n[0],l=n[1]),n[0]=t(s),n[1]=r(l)}if(n&&o)for(let e=0,t=i.length;e<t;e++){const t=i[e];t[2]=n(t[2]),t[3]=o(t[3])}else if(n)for(let e=0,t=i.length;e<t;e++){const t=i[e];t[2]=n(t[2])}else if(o)for(let e=0,t=i.length;e<t;e++){const t=i[e];t[2]=o(t[2])}}:null}};(0,o._)([(0,p.MZ)({type:String,json:{write:!0}})],b.prototype,"displayFieldName",void 0),(0,o._)([(0,p.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],b.prototype,"exceededTransferLimit",void 0),(0,o._)([(0,p.MZ)({type:[i.A],json:{write:!0}})],b.prototype,"features",void 0),(0,o._)([(0,u.w)("features")],b.prototype,"readFeatures",null),(0,o._)([(0,p.MZ)({type:[h.A],json:{write:!0}})],b.prototype,"fields",void 0),(0,o._)([(0,p.MZ)({type:["point","multipoint","polyline","polygon","extent","mesh"],json:{read:{reader:g.read}}})],b.prototype,"geometryType",void 0),(0,o._)([(0,c.K)("geometryType")],b.prototype,"writeGeometryType",null),(0,o._)([(0,p.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],b.prototype,"hasM",void 0),(0,o._)([(0,p.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],b.prototype,"hasZ",void 0),(0,o._)([(0,p.MZ)({types:m.yR,json:{write:!0}})],b.prototype,"queryGeometry",void 0),(0,o._)([(0,u.w)("queryGeometry")],b.prototype,"readQueryGeometry",null),(0,o._)([(0,p.MZ)({type:f.A,json:{write:!0}})],b.prototype,"spatialReference",void 0),(0,o._)([(0,c.K)("spatialReference")],b.prototype,"writeSpatialReference",null),(0,o._)([(0,p.MZ)({json:{write:!0}})],b.prototype,"transform",void 0),b=n=(0,o._)([(0,y.$)("esri.rest.support.FeatureSet")],b),b.prototype.toJSON.isDefaultToJSON=!0;const _=b},33032:(e,t,r)=>{r.d(t,{H:()=>o,L:()=>n});const n=1;function o(e,t){let r=0;for(const n of t){const t=n.attributes?.[e];"number"==typeof t&&isFinite(t)&&(r=Math.max(r,t))}return r}},33143:(e,t,r)=>{r.d(t,{A:()=>f});var n=r(90237),o=r(69540),i=r(25482),s=r(10107),l=(r(44208),r(53966),r(87811),r(36005)),a=r(40608),p=r(43937),u=r(80451),y=r(29005);let c=class extends(o.A.ClonableMixin(i.A)){constructor(e){super(e),this.id=null,this.name=null,this.domains=null,this.templates=null}readDomains(e){const t={};for(const r of Object.keys(e))t[r]=(0,u.rS)(e[r]);return t}writeDomains(e,t){const r={};for(const t of Object.keys(e))e[t]&&(r[t]=e[t]?.toJSON());t.domains=r}};(0,n._)([(0,s.MZ)({json:{write:!0}})],c.prototype,"id",void 0),(0,n._)([(0,s.MZ)({json:{write:!0}})],c.prototype,"name",void 0),(0,n._)([(0,s.MZ)({json:{write:!0}})],c.prototype,"domains",void 0),(0,n._)([(0,l.w)("domains")],c.prototype,"readDomains",null),(0,n._)([(0,p.K)("domains")],c.prototype,"writeDomains",null),(0,n._)([(0,s.MZ)({type:[y.A],json:{write:!0}})],c.prototype,"templates",void 0),c=(0,n._)([(0,a.$)("esri.layers.support.FeatureType")],c);const f=c},41366:(e,t,r)=>{r.d(t,{K:()=>c,Q:()=>p});var n=r(90237),o=r(66552),i=r(53966),s=r(10107),l=(r(44208),r(87811),r(93223)),a=r(40608);const p=(0,o.O)()({naturalLog:"natural-log",squareRoot:"square-root",percentOfTotal:"percent-of-total",log:"log",field:"field"}),u="percent-of-total",y="field",c=e=>{let t=class extends e{constructor(){super(...arguments),this.normalizationField=null,this.normalizationMaxValue=null,this.normalizationMinValue=null,this.normalizationTotal=null}get normalizationType(){let e=this._get("normalizationType");const t=!!this.normalizationField,r=null!=this.normalizationTotal;return t||r?(e=t&&y||r&&u||null,t&&r&&i.A.getLogger(this).warn("warning: both normalizationField and normalizationTotal are set!")):e!==y&&e!==u||(e=null),e}set normalizationType(e){this._set("normalizationType",e)}};return(0,n._)([(0,s.MZ)({type:String,json:{name:"parameters.normalizationField",write:!0}})],t.prototype,"normalizationField",void 0),(0,n._)([(0,s.MZ)({type:Number,json:{name:"parameters.normalizationMaxValue",write:!0}})],t.prototype,"normalizationMaxValue",void 0),(0,n._)([(0,s.MZ)({type:Number,json:{name:"parameters.normalizationMinValue",write:!0}})],t.prototype,"normalizationMinValue",void 0),(0,n._)([(0,s.MZ)({type:Number,json:{name:"parameters.normalizationTotal",write:!0}})],t.prototype,"normalizationTotal",void 0),(0,n._)([(0,l.e)(p,{name:"parameters.normalizationType"})],t.prototype,"normalizationType",null),t=(0,n._)([(0,a.$)("esri.rest.support.NormalizationBinParametersMixin")],t),t}},58501:(e,t,r)=>{r.d(t,{q:()=>o});var n=r(62815);function o(e,t,r){if(!r?.features||!r.hasZ)return;const o=(0,n.N)(r.geometryType,t,e.outSpatialReference);if(null!=o)for(const e of r.features)o(e.geometry)}},80754:(e,t,r)=>{r.d(t,{j7:()=>s,kS:()=>a,kd:()=>l,r8:()=>p});var n=r(82799),o=r(16930),i=r(65864);const s={102100:{maxX:20037508.342788905,minX:-20037508.342788905,plus180Line:new n.A({paths:[[[20037508.342788905,-20037508.342788905],[20037508.342788905,20037508.342788905]]],spatialReference:o.A.WebMercator}),minus180Line:new n.A({paths:[[[-20037508.342788905,-20037508.342788905],[-20037508.342788905,20037508.342788905]]],spatialReference:o.A.WebMercator})},4326:{maxX:180,minX:-180,plus180Line:new n.A({paths:[[[180,-180],[180,180]]],spatialReference:o.A.WGS84}),minus180Line:new n.A({paths:[[[-180,-180],[-180,180]]],spatialReference:o.A.WGS84})}};function l(e,t){return Math.ceil((e-t)/(2*t))}function a(e,t){const r=p(e);for(const e of r)for(const r of e)r[0]+=t;return e}function p(e){return(0,i.Bi)(e)?e.rings:e.paths}},92300:(e,t,r)=>{r.d(t,{V:()=>i,X:()=>o});var n=r(65864);function o(e){return{geometryType:(0,n.$B)(e[0]),geometries:e.map((e=>e.toJSON()))}}function i(e,t,r){const o=(0,n.xD)(t);return e.map((e=>{const t=o.fromJSON(e);return t.spatialReference=r,t}))}},92935:(e,t,r)=>{var n;r.d(t,{X:()=>n}),function(e){e[e.SAVE=0]="SAVE",e[e.SAVE_AS=1]="SAVE_AS"}(n||(n={}))},96953:(e,t,r)=>{r.r(t),r.d(t,{default:()=>q});var n=r(90237),o=r(52106),i=r(5503),s=r(49186),l=r(4718),a=r(92071),p=r(93637),u=r(67076),y=r(10107),c=(r(44208),r(53966),r(36005)),f=r(40608),d=r(43937),m=r(5443),h=r(80586),g=r(16930),b=r(19419),_=r(17136),w=r(21325),M=r(13600),x=r(94194),S=r(4146),v=r(33032),T=r(63074),O=r(16131),A=r(8303),N=r(25036),Z=r(20437),I=r(94985),F=r(31593),L=r(53930),R=r(68249);function j(e){return"markup"===e.featureCollectionType||e.layers.some((e=>null!=e.layerDefinition.visibilityField||!J(e)))}function J({layerDefinition:e,featureSet:t}){const r=e.geometryType??t.geometryType;return G.find((t=>r===t.geometryTypeJSON&&e.drawingInfo?.renderer?.symbol?.type===t.identifyingSymbol.type))}function z(){return new m.A({xmin:-180,ymin:-90,xmax:180,ymax:90})}const P=new Z.A({name:"OBJECTID",alias:"OBJECTID",type:"oid",nullable:!1,editable:!1}),k=new Z.A({name:"title",alias:"Title",type:"string",nullable:!0,editable:!0,length:255});let C=class extends x.A{constructor(e){super(e),this.visibilityMode="inherited"}initialize(){for(const e of this.graphics)e.sourceLayer=this.layer;this.graphics.on("after-add",(e=>{e.item.sourceLayer=this.layer})),this.graphics.on("after-remove",(e=>{e.item.sourceLayer=null}))}get fullExtent(){const e=this.layer?.spatialReference,t=this.fullBounds;return e?null==t?(0,h.projectOrLoad)(z(),e).geometry:(0,b.w1)(t,e):null}get fullBounds(){const e=this.layer?.spatialReference;if(!e)return null;const t=(0,b.Ie)();return this.graphics.forEach((r=>{const n=null!=r.geometry?(0,h.projectOrLoad)(r.geometry,e).geometry:null;null!=n&&(0,b.fT)(t,"point"===n.type?n:n.extent,t)})),(0,b.aI)(t,b.qv)?null:t}get sublayers(){return this.graphics}};(0,n._)([(0,y.MZ)({readOnly:!0})],C.prototype,"fullExtent",null),(0,n._)([(0,y.MZ)({readOnly:!0})],C.prototype,"fullBounds",null),(0,n._)([(0,y.MZ)({readOnly:!0})],C.prototype,"sublayers",null),(0,n._)([(0,y.MZ)()],C.prototype,"layer",void 0),(0,n._)([(0,y.MZ)()],C.prototype,"layerId",void 0),(0,n._)([(0,y.MZ)({readOnly:!0})],C.prototype,"visibilityMode",void 0),C=(0,n._)([(0,f.$)("esri.layers.MapNotesLayer.MapNotesSublayer")],C);const G=[{geometryType:"polygon",geometryTypeJSON:"esriGeometryPolygon",id:"polygonLayer",layerId:0,title:"Polygons",identifyingSymbol:(new I.A).toJSON()},{geometryType:"polyline",geometryTypeJSON:"esriGeometryPolyline",id:"polylineLayer",layerId:1,title:"Polylines",identifyingSymbol:(new F.A).toJSON()},{geometryType:"multipoint",geometryTypeJSON:"esriGeometryMultipoint",id:"multipointLayer",layerId:2,title:"Multipoints",identifyingSymbol:(new L.A).toJSON()},{geometryType:"point",geometryTypeJSON:"esriGeometryPoint",id:"pointLayer",layerId:3,title:"Points",identifyingSymbol:(new L.A).toJSON()},{geometryType:"point",geometryTypeJSON:"esriGeometryPoint",id:"textLayer",layerId:4,title:"Text",identifyingSymbol:(new R.A).toJSON()}];let E=class extends((0,T.dM)((0,N.j)((0,O.q)((0,A.A)((0,a.P)(S.A)))))){constructor(e){super(e),this.capabilities={operations:{supportsMapNotesEditing:!0}},this.featureCollections=null,this.featureCollectionJSON=null,this.featureCollectionType="notes",this.legendEnabled=!1,this.listMode="hide-children",this.minScale=0,this.maxScale=0,this.spatialReference=g.A.WGS84,this.sublayers=new i.A(G.map((e=>new C({id:e.id,layerId:e.layerId,title:e.title,layer:this})))),this.title="Map Notes",this.type="map-notes",this.visibilityMode="inherited"}readCapabilities(e,t,r){return{operations:{supportsMapNotesEditing:!j(t)&&"portal-item"!==r?.origin}}}readFeatureCollections(e,t,r){if(!j(t))return null;const n=t.layers.map((e=>{const t=new M.default;return t.read(e,r),t}));return new i.A({items:n})}readLegacyfeatureCollectionJSON(e,t){return j(t)?(0,l.o8)(t.featureCollection):null}get fullExtent(){const e=this.spatialReference,t=(0,b.Ie)();return null!=this.sublayers?this.sublayers.forEach((({fullBounds:e})=>null!=e?(0,b.fT)(t,e,t):t),t):this.featureCollectionJSON?.layers.some((e=>e.layerDefinition.extent))&&this.featureCollectionJSON.layers.forEach((r=>{const n=(0,h.projectOrLoad)(r.layerDefinition.extent,e).geometry;null!=n&&(0,b.fT)(t,n,t)})),(0,b.aI)(t,b.qv)?(0,h.projectOrLoad)(z(),e).geometry:(0,b.w1)(t,e)}readMinScale(e,t){for(const e of t.layers)if(null!=e.layerDefinition.minScale)return e.layerDefinition.minScale;return 0}readMaxScale(e,t){for(const e of t.layers)if(null!=e.layerDefinition.maxScale)return e.layerDefinition.maxScale;return 0}get multipointLayer(){return this._findSublayer("multipointLayer")}get pointLayer(){return this._findSublayer("pointLayer")}get polygonLayer(){return this._findSublayer("polygonLayer")}get polylineLayer(){return this._findSublayer("polylineLayer")}readSpatialReference(e,t){return t.layers.length?g.A.fromJSON(t.layers[0].layerDefinition.spatialReference):g.A.WGS84}readSublayers(e,t,r){if(j(t))return null;const n=[];let s=t.layers.reduce(((e,t)=>Math.max(e,t.layerDefinition.id??-1)),-1)+1;for(const e of t.layers){const{layerDefinition:t,featureSet:r}=e,i=t.id??s++,l=J(e);if(null!=l){const e=new C({id:l.id,title:t.name,layerId:i,layer:this,graphics:r.features.map((({geometry:e,symbol:t,attributes:r,popupInfo:n})=>o.A.fromJSON({attributes:r,geometry:e,symbol:t,popupTemplate:n})))});n.push(e)}}return new i.A(n)}writeSublayers(e,t,r,n){const{minScale:o,maxScale:i}=this;if(null==e)return;const l=e.some((e=>e.graphics.length>0));if(!this.capabilities.operations.supportsMapNotesEditing)return void(l&&n?.messages?.push(new s.A("map-notes-layer:editing-not-supported","New map notes cannot be added to this layer")));const a=[];let u=this.spatialReference.toJSON();e:for(const t of e)for(const e of t.graphics)if(null!=e.geometry){u=e.geometry.spatialReference.toJSON();break e}for(const t of G){const r=e.find((e=>t.id===e.id));this._writeMapNoteSublayer(a,r,t,o,i,u,n)}(0,p.sM)("featureCollection.layers",a,t)}get textLayer(){return this._findSublayer("textLayer")}load(e){return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Feature Collection"]},e)),Promise.resolve(this)}read(e,t){"featureCollection"in e&&(e=(0,l.o8)(e),Object.assign(e,e.featureCollection)),super.read(e,t)}async beforeSave(){if(null==this.sublayers)return;let e=null;const t=[];for(const r of this.sublayers)for(const n of r.graphics)if(null!=n.geometry){const r=n.geometry;e?(0,w.aI)(r.spatialReference,e)||((0,h.canProjectWithoutEngine)(r.spatialReference,e)||(0,h.isLoaded)()||await(0,h.load)(),n.geometry=(0,h.project)(r,e)):e=r.spatialReference,t.push(n)}const r=await(0,_.el)(t.map((e=>e.geometry)));t.forEach(((e,t)=>e.geometry=r[t]))}_findSublayer(e){return null==this.sublayers?null:this.sublayers?.find((t=>t.id===e))??null}_writeMapNoteSublayer(e,t,r,n,o,i,s){const a=[];if(null!=t){for(const e of t.graphics)this._writeMapNote(a,e,r.geometryType,s);this._normalizeObjectIds(a,P),e.push({layerDefinition:{name:t.title,drawingInfo:{renderer:{type:"simple",symbol:(0,l.o8)(r.identifyingSymbol)}},id:t.layerId,geometryType:r.geometryTypeJSON,minScale:n,maxScale:o,objectIdField:"OBJECTID",fields:[P.toJSON(),k.toJSON()],spatialReference:i},featureSet:{features:a,geometryType:r.geometryTypeJSON}})}}_writeMapNote(e,t,r,n){if(null==t)return;const{geometry:o,symbol:i,popupTemplate:s}=t;if(null==o)return;if(o.type!==r)return void n?.messages?.push(new u.A("map-notes-layer:invalid-geometry-type",`Geometry "${o.type}" cannot be saved in "${r}" layer`,{graphic:t}));if(null==i)return void n?.messages?.push(new u.A("map-notes-layer:no-symbol","Skipping map notes with no symbol",{graphic:t}));const l={attributes:{...t.attributes},geometry:o.toJSON(),symbol:i.toJSON()};null!=s&&(l.popupInfo=s.toJSON()),e.push(l)}_normalizeObjectIds(e,t){const r=t.name;let n=(0,v.H)(r,e)+1;const o=new Set;for(const t of e){t.attributes||(t.attributes={});const{attributes:e}=t;(null==e[r]||o.has(e[r]))&&(e[r]=n++),o.add(e[r])}}};(0,n._)([(0,y.MZ)({readOnly:!0})],E.prototype,"capabilities",void 0),(0,n._)([(0,c.w)(["portal-item","web-map"],"capabilities",["layers"])],E.prototype,"readCapabilities",null),(0,n._)([(0,y.MZ)({readOnly:!0})],E.prototype,"featureCollections",void 0),(0,n._)([(0,c.w)(["web-map","portal-item"],"featureCollections",["layers"])],E.prototype,"readFeatureCollections",null),(0,n._)([(0,y.MZ)({readOnly:!0,json:{origins:{"web-map":{write:{enabled:!0,target:"featureCollection"}}}}})],E.prototype,"featureCollectionJSON",void 0),(0,n._)([(0,c.w)(["web-map","portal-item"],"featureCollectionJSON",["featureCollection"])],E.prototype,"readLegacyfeatureCollectionJSON",null),(0,n._)([(0,y.MZ)({readOnly:!0,json:{read:!0,write:{enabled:!0,ignoreOrigin:!0}}})],E.prototype,"featureCollectionType",void 0),(0,n._)([(0,y.MZ)({readOnly:!0})],E.prototype,"fullExtent",null),(0,n._)([(0,y.MZ)({readOnly:!0,json:{origins:{"web-map":{write:{target:"featureCollection.showLegend",overridePolicy(){return{enabled:null!=this.featureCollectionJSON}}}}}}})],E.prototype,"legendEnabled",void 0),(0,n._)([(0,y.MZ)({type:["show","hide","hide-children"]})],E.prototype,"listMode",void 0),(0,n._)([(0,y.MZ)({type:Number,nonNullable:!0,json:{write:!1}})],E.prototype,"minScale",void 0),(0,n._)([(0,c.w)(["web-map","portal-item"],"minScale",["layers"])],E.prototype,"readMinScale",null),(0,n._)([(0,y.MZ)({type:Number,nonNullable:!0,json:{write:!1}})],E.prototype,"maxScale",void 0),(0,n._)([(0,c.w)(["web-map","portal-item"],"maxScale",["layers"])],E.prototype,"readMaxScale",null),(0,n._)([(0,y.MZ)({readOnly:!0})],E.prototype,"multipointLayer",null),(0,n._)([(0,y.MZ)({value:"ArcGISFeatureLayer",type:["ArcGISFeatureLayer"]})],E.prototype,"operationalLayerType",void 0),(0,n._)([(0,y.MZ)({readOnly:!0})],E.prototype,"pointLayer",null),(0,n._)([(0,y.MZ)({readOnly:!0})],E.prototype,"polygonLayer",null),(0,n._)([(0,y.MZ)({readOnly:!0})],E.prototype,"polylineLayer",null),(0,n._)([(0,y.MZ)({type:g.A})],E.prototype,"spatialReference",void 0),(0,n._)([(0,c.w)(["web-map","portal-item"],"spatialReference",["layers"])],E.prototype,"readSpatialReference",null),(0,n._)([(0,y.MZ)({readOnly:!0,json:{origins:{"web-map":{write:{ignoreOrigin:!0}}}}})],E.prototype,"sublayers",void 0),(0,n._)([(0,c.w)("web-map","sublayers",["layers"])],E.prototype,"readSublayers",null),(0,n._)([(0,d.K)("web-map","sublayers")],E.prototype,"writeSublayers",null),(0,n._)([(0,y.MZ)({readOnly:!0})],E.prototype,"textLayer",null),(0,n._)([(0,y.MZ)()],E.prototype,"title",void 0),(0,n._)([(0,y.MZ)({readOnly:!0,json:{read:!1}})],E.prototype,"type",void 0),E=(0,n._)([(0,f.$)("esri.layers.MapNotesLayer")],E);const q=E}}]);
|