@arcgis/core 4.33.0-next.20250430 → 4.33.0-next.20250501

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/assets/esri/core/workers/RemoteClient.js +1 -1
  2. package/assets/esri/core/workers/chunks/02b38423276536596aba.js +1 -0
  3. package/assets/esri/core/workers/chunks/3cee3ff926f47aae476f.js +1 -0
  4. package/assets/esri/core/workers/chunks/{cb25b45a6b385e60c68d.js → 653ff3e631fea8ad393a.js} +122 -121
  5. package/assets/esri/core/workers/chunks/6d89d42bcba213be2d9d.js +1 -0
  6. package/assets/esri/core/workers/chunks/6ecc3a3737ae8622dfa4.js +1 -0
  7. package/assets/esri/core/workers/chunks/6fef5a07f75b2a5736ad.js +1 -0
  8. package/assets/esri/core/workers/chunks/6ff46126c82354e6c78e.js +1 -0
  9. package/assets/esri/core/workers/chunks/71dc9d78dec981078a1a.js +1 -0
  10. package/assets/esri/core/workers/chunks/{ab6ecd8eeec5ff761b34.js → 73bca519c93920bc8c9f.js} +1 -1
  11. package/assets/esri/core/workers/chunks/7a282674d77875c58acd.js +1 -0
  12. package/assets/esri/core/workers/chunks/9652cfd4668b95036c87.js +39 -0
  13. package/assets/esri/core/workers/chunks/9f07919ade6707b103da.js +1 -0
  14. package/assets/esri/core/workers/chunks/{d3174ff4dd5acd16485a.js → c041f4a1d18d42e27ad7.js} +1 -1
  15. package/assets/esri/core/workers/chunks/c9a2c4fd169b943db4b4.js +1 -0
  16. package/chunks/SSAO.glsl.js +43 -42
  17. package/core/NestedMap.js +1 -1
  18. package/core/deprecate.js +1 -1
  19. package/interfaces.d.ts +232 -39
  20. package/layers/MapImageLayer.js +1 -1
  21. package/layers/RouteLayer.js +1 -1
  22. package/layers/mixins/operationalLayers.js +1 -1
  23. package/layers/save/mapImageLayerUtils.js +5 -0
  24. package/package.json +1 -1
  25. package/portal/support/portalItemUtils.js +1 -1
  26. package/support/revision.js +1 -1
  27. package/views/3d/environment/EnvironmentManager.js +1 -1
  28. package/views/3d/glTF/LoaderResult.js +1 -1
  29. package/views/3d/glTF/loader.js +1 -1
  30. package/views/3d/interactive/Manipulator3D.js +1 -1
  31. package/views/3d/interactive/visualElements/Object3DVisualElement.js +1 -1
  32. package/views/3d/interactive/visualElements/VisualElementResources.js +1 -1
  33. package/views/3d/layers/I3SMeshView3D.js +1 -1
  34. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  35. package/views/3d/layers/graphics/DeconflictAABR.js +5 -0
  36. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  37. package/views/3d/layers/graphics/Graphics3DDrapedGraphicLayer.js +1 -1
  38. package/views/3d/layers/graphics/Graphics3DGraphic.js +1 -1
  39. package/views/3d/layers/graphics/Graphics3DObject3DGraphicLayer.js +1 -1
  40. package/views/3d/layers/graphics/Labeler.js +1 -1
  41. package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
  42. package/views/3d/layers/graphics/pipeline/rendering/DirectRenderer.js +1 -1
  43. package/views/3d/layers/support/StageLayerElevationProvider.js +1 -1
  44. package/views/3d/webgl-engine/Stage.js +1 -1
  45. package/views/3d/webgl-engine/core/FBOCacheFormats.js +1 -1
  46. package/views/3d/webgl-engine/core/renderPasses/AllRenderPasses.js +1 -1
  47. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +2 -2
  48. package/views/3d/webgl-engine/lib/ContentObjectType.js +1 -1
  49. package/views/3d/webgl-engine/lib/GPUPointOcclusionQuery.js +5 -0
  50. package/views/3d/webgl-engine/lib/GridLocalOriginFactory.js +1 -1
  51. package/views/3d/webgl-engine/lib/Intersector.js +1 -1
  52. package/views/3d/webgl-engine/lib/IntersectorTarget.js +1 -1
  53. package/views/3d/webgl-engine/lib/ModelDirtySet.js +1 -1
  54. package/views/3d/webgl-engine/lib/Object3D.js +1 -1
  55. package/views/3d/webgl-engine/lib/Octree.js +1 -1
  56. package/views/3d/webgl-engine/lib/OrderIndependentTransparency.js +1 -1
  57. package/views/3d/webgl-engine/lib/RendererBase.js +1 -1
  58. package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
  59. package/views/3d/webgl-engine/lib/WebGLLayer.js +1 -1
  60. package/views/3d/webgl-engine/lib/depthRangeUtils.js +1 -1
  61. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  62. package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
  63. package/views/3d/webgl-engine/parts/Model.js +1 -1
  64. package/views/3d/webgl-engine/shaders/ColorMaterialTechnique.js +1 -1
  65. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  66. package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
  67. package/views/3d/webgl-engine/shaders/PatternTechnique.js +1 -1
  68. package/views/SelectionManager.js +1 -1
  69. package/views/ui/DefaultUI.js +1 -1
  70. package/views/webgl/Sync.js +5 -0
  71. package/widgets/Directions/DirectionsViewModel.js +1 -1
  72. package/widgets/Directions.js +1 -1
  73. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  74. package/widgets/FeatureTable/support/AttachmentsViewOptions.d.ts +4 -0
  75. package/widgets/FeatureTable.js +1 -1
  76. package/widgets/Fullscreen/FullscreenViewModel.js +1 -1
  77. package/widgets/Fullscreen.js +1 -1
  78. package/widgets/LayerList/LayerListItem.js +1 -1
  79. package/widgets/LayerList/ListItemPanel.js +1 -1
  80. package/widgets/NavigationToggle/NavigationToggleViewModel.js +1 -1
  81. package/widgets/NavigationToggle.js +1 -1
  82. package/widgets/TableList/ListItemPanel.js +1 -1
  83. package/widgets/Weather/WeatherViewModel.js +1 -1
  84. package/widgets/Weather.js +1 -1
  85. package/assets/esri/core/workers/chunks/25142d431dd1e5e82234.js +0 -1
  86. package/assets/esri/core/workers/chunks/2c92f6f268aa2de5432c.js +0 -1
  87. package/assets/esri/core/workers/chunks/7fce62ef3f0b011e0d35.js +0 -1
  88. package/assets/esri/core/workers/chunks/8c8d812a7f2d29c29676.js +0 -1
  89. package/assets/esri/core/workers/chunks/b780c7062b1b18a5ae19.js +0 -1
  90. package/assets/esri/core/workers/chunks/b8248939373e25a8d6db.js +0 -1
  91. package/assets/esri/core/workers/chunks/baa9fd23414f03ef90bc.js +0 -1
  92. package/assets/esri/core/workers/chunks/c819535525e9a27bae1f.js +0 -39
  93. package/assets/esri/core/workers/chunks/e08bff9f8247909776a4.js +0 -1
  94. package/assets/esri/core/workers/chunks/f2bc75a718a10065011d.js +0 -1
package/interfaces.d.ts CHANGED
@@ -116617,6 +116617,12 @@ declare namespace __esri {
116617
116617
  }
116618
116618
 
116619
116619
  export class FeatureTable extends Widget {
116620
+ /**
116621
+ * Reference to the current {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-ActionColumn.html action column}.
116622
+ *
116623
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#actionColumn Read more...}
116624
+ */
116625
+ readonly actionColumn: ActionColumn | nullish;
116620
116626
  /**
116621
116627
  * Configuration for the {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-ActionColumn.html ActionColumn}.
116622
116628
  *
@@ -116637,12 +116643,24 @@ declare namespace __esri {
116637
116643
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#activeSortOrders Read more...}
116638
116644
  */
116639
116645
  readonly activeSortOrders: ColumnSortOrder[];
116646
+ /**
116647
+ * A flattened array of all {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-Grid-Column.html columns} within the table, including nested columns.
116648
+ *
116649
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#allColumns Read more...}
116650
+ */
116651
+ readonly allColumns: Column[];
116640
116652
  /**
116641
116653
  * Indicates the table is displaying all related tables in `show all` mode.
116642
116654
  *
116643
116655
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#allRelatedTablesVisible Read more...}
116644
116656
  */
116645
116657
  readonly allRelatedTablesVisible: boolean;
116658
+ /**
116659
+ * A flattened array of all visible {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-Grid-Column.html columns} within the table, including nested columns.
116660
+ *
116661
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#allVisibleColumns Read more...}
116662
+ */
116663
+ readonly allVisibleColumns: Column[];
116646
116664
  /**
116647
116665
  * Indicates whether to display the `Attachments` field in the table.
116648
116666
  *
@@ -116651,6 +116669,12 @@ declare namespace __esri {
116651
116669
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#attachmentsEnabled Read more...}
116652
116670
  */
116653
116671
  attachmentsEnabled: boolean;
116672
+ /**
116673
+ * This read-only property provides the the configuration options for the attachments view.
116674
+ *
116675
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#attachmentsViewOptions Read more...}
116676
+ */
116677
+ readonly attachmentsViewOptions: AttachmentsViewOptions;
116654
116678
  /**
116655
116679
  * Indicates whether the table should automatically refresh when the underlying data changes.
116656
116680
  *
@@ -116659,6 +116683,14 @@ declare namespace __esri {
116659
116683
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#autoRefreshEnabled Read more...}
116660
116684
  */
116661
116685
  autoRefreshEnabled: boolean;
116686
+ /**
116687
+ * Indicates whether to enable the table's column performance mode.
116688
+ *
116689
+ * @default true
116690
+ *
116691
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#columnPerformanceModeEnabled Read more...}
116692
+ */
116693
+ columnPerformanceModeEnabled: boolean;
116662
116694
  /**
116663
116695
  * Indicates whether the table should allow reordering of columns.
116664
116696
  *
@@ -116962,6 +116994,15 @@ declare namespace __esri {
116962
116994
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#supportsUpdateAttachments Read more...}
116963
116995
  */
116964
116996
  readonly supportsUpdateAttachments: boolean;
116997
+ /**
116998
+ * Indicates whether the table should synchronize the current {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#attributeTableTemplate attributeTableTemplate} being used based on
116999
+ * changes made to the table's UI.
117000
+ *
117001
+ * @default true
117002
+ *
117003
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#syncTemplateOnChangesEnabled Read more...}
117004
+ */
117005
+ syncTemplateOnChangesEnabled: boolean;
116965
117006
  /**
116966
117007
  * A reference to top-level controller table.
116967
117008
  *
@@ -116992,6 +117033,12 @@ declare namespace __esri {
116992
117033
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#view Read more...}
116993
117034
  */
116994
117035
  view: MapView | LinkChartView | SceneView | nullish;
117036
+ /**
117037
+ * A flattened array of all top-level visible columns.
117038
+ *
117039
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#visibleColumns Read more...}
117040
+ */
117041
+ readonly visibleColumns: Column[];
116995
117042
  /**
116996
117043
  * The visible elements that are displayed within the widget.
116997
117044
  *
@@ -117259,6 +117306,12 @@ declare namespace __esri {
117259
117306
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#autoRefreshEnabled Read more...}
117260
117307
  */
117261
117308
  autoRefreshEnabled?: boolean;
117309
+ /**
117310
+ * Indicates whether to enable the table's column performance mode.
117311
+ *
117312
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#columnPerformanceModeEnabled Read more...}
117313
+ */
117314
+ columnPerformanceModeEnabled?: boolean;
117262
117315
  /**
117263
117316
  * Indicates whether the table should allow reordering of columns.
117264
117317
  *
@@ -117484,6 +117537,13 @@ declare namespace __esri {
117484
117537
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#rowHighlightIds Read more...}
117485
117538
  */
117486
117539
  rowHighlightIds?: CollectionProperties<number | string>;
117540
+ /**
117541
+ * Indicates whether the table should synchronize the current {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#attributeTableTemplate attributeTableTemplate} being used based on
117542
+ * changes made to the table's UI.
117543
+ *
117544
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#syncTemplateOnChangesEnabled Read more...}
117545
+ */
117546
+ syncTemplateOnChangesEnabled?: boolean;
117487
117547
  /**
117488
117548
  * A reference to top-level controller table.
117489
117549
  *
@@ -117728,6 +117788,12 @@ declare namespace __esri {
117728
117788
  }
117729
117789
 
117730
117790
  export class FeatureTableViewModel extends Accessor {
117791
+ /**
117792
+ * Reference to the current {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-ActionColumn.html action column}.
117793
+ *
117794
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#actionColumn Read more...}
117795
+ */
117796
+ readonly actionColumn: ActionColumn | nullish;
117731
117797
  /**
117732
117798
  * Configuration for the {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-ActionColumn.html ActionColumn}.
117733
117799
  *
@@ -117748,12 +117814,24 @@ declare namespace __esri {
117748
117814
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#activeSortOrders Read more...}
117749
117815
  */
117750
117816
  readonly activeSortOrders: ColumnSortOrder[];
117817
+ /**
117818
+ * A flattened array of all {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-Grid-Column.html columns} within the table, including nested columns.
117819
+ *
117820
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#allColumns Read more...}
117821
+ */
117822
+ readonly allColumns: Column[];
117751
117823
  /**
117752
117824
  * Indicates the table is displaying all related tables in `show all` mode.
117753
117825
  *
117754
117826
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#allRelatedTablesVisible Read more...}
117755
117827
  */
117756
117828
  readonly allRelatedTablesVisible: boolean;
117829
+ /**
117830
+ * A flattened array of all visible {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-Grid-Column.html columns} within the table, including nested columns.
117831
+ *
117832
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#allVisibleColumns Read more...}
117833
+ */
117834
+ readonly allVisibleColumns: Column[];
117757
117835
  /**
117758
117836
  * Indicates whether to display the `Attachments` field in the table.
117759
117837
  *
@@ -117762,6 +117840,12 @@ declare namespace __esri {
117762
117840
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#attachmentsEnabled Read more...}
117763
117841
  */
117764
117842
  attachmentsEnabled: boolean;
117843
+ /**
117844
+ * This read-only property provides the the configuration options for the attachments view.
117845
+ *
117846
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#attachmentsViewOptions Read more...}
117847
+ */
117848
+ readonly attachmentsViewOptions: AttachmentsViewOptions;
117765
117849
  /**
117766
117850
  * Indicates whether the table should automatically refresh when the underlying data changes.
117767
117851
  *
@@ -117770,6 +117854,22 @@ declare namespace __esri {
117770
117854
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#autoRefreshEnabled Read more...}
117771
117855
  */
117772
117856
  autoRefreshEnabled: boolean;
117857
+ /**
117858
+ * Indicates whether to enable the table's column performance mode.
117859
+ *
117860
+ * @default true
117861
+ *
117862
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#columnPerformanceModeEnabled Read more...}
117863
+ */
117864
+ columnPerformanceModeEnabled: boolean;
117865
+ /**
117866
+ * Indicates if columns can be reordered by dragging the column's header.
117867
+ *
117868
+ * @default true
117869
+ *
117870
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#columnReorderingEnabled Read more...}
117871
+ */
117872
+ columnReorderingEnabled: boolean;
117773
117873
  /**
117774
117874
  * A read-only collection of {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-Grid-Column.html column}, {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FieldColumn.html field}, {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-Grid-GroupColumn.html group}, {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-ActionColumn.html action}, {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-AttachmentsColumn.html attachment}, and {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-RelationshipColumn.html relationship} columns that are displayed within the table.
117775
117875
  *
@@ -117820,12 +117920,30 @@ declare namespace __esri {
117820
117920
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#initialSize Read more...}
117821
117921
  */
117822
117922
  initialSize: number | nullish;
117923
+ /**
117924
+ * Indicates the table is displaying an editable input in one of its cells.
117925
+ *
117926
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#isEditing Read more...}
117927
+ */
117928
+ isEditing: boolean;
117929
+ /**
117930
+ * Indicates if the table is querying data.
117931
+ *
117932
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#isQuerying Read more...}
117933
+ */
117934
+ readonly isQuerying: boolean;
117823
117935
  /**
117824
117936
  * Indicates if the table is querying or syncing data.
117825
117937
  *
117826
117938
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#isQueryingOrSyncing Read more...}
117827
117939
  */
117828
117940
  readonly isQueryingOrSyncing: boolean;
117941
+ /**
117942
+ * Indicates if the table is syncing data.
117943
+ *
117944
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#isSyncing Read more...}
117945
+ */
117946
+ readonly isSyncing: boolean;
117829
117947
  /**
117830
117948
  * Indicates if the table is syncing attachment edits.
117831
117949
  *
@@ -118016,6 +118134,15 @@ declare namespace __esri {
118016
118134
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#supportsUpdateAttachments Read more...}
118017
118135
  */
118018
118136
  readonly supportsUpdateAttachments: boolean;
118137
+ /**
118138
+ * Indicates whether the table should synchronize the current {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#attributeTableTemplate attributeTableTemplate} being used based on
118139
+ * changes made to the table's UI.
118140
+ *
118141
+ * @default true
118142
+ *
118143
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#syncTemplateOnChangesEnabled Read more...}
118144
+ */
118145
+ syncTemplateOnChangesEnabled: boolean;
118019
118146
  /**
118020
118147
  * Dates and times displayed in the widget will be in terms of this time zone.
118021
118148
  *
@@ -118028,6 +118155,12 @@ declare namespace __esri {
118028
118155
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#view Read more...}
118029
118156
  */
118030
118157
  view: MapView | SceneView | nullish;
118158
+ /**
118159
+ * A flattened array of all top-level visible columns.
118160
+ *
118161
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#visibleColumns Read more...}
118162
+ */
118163
+ readonly visibleColumns: Column[];
118031
118164
  /**
118032
118165
  * Provides the logic for the {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html FeatureTable} widget and {@link https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-feature-table/ component}, which allows users to view content from feature attributes in a tabular format.
118033
118166
  *
@@ -118284,6 +118417,18 @@ declare namespace __esri {
118284
118417
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#autoRefreshEnabled Read more...}
118285
118418
  */
118286
118419
  autoRefreshEnabled?: boolean;
118420
+ /**
118421
+ * Indicates whether to enable the table's column performance mode.
118422
+ *
118423
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#columnPerformanceModeEnabled Read more...}
118424
+ */
118425
+ columnPerformanceModeEnabled?: boolean;
118426
+ /**
118427
+ * Indicates if columns can be reordered by dragging the column's header.
118428
+ *
118429
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#columnReorderingEnabled Read more...}
118430
+ */
118431
+ columnReorderingEnabled?: boolean;
118287
118432
  /**
118288
118433
  * The SQL where clause used to filter features visible in the table.
118289
118434
  *
@@ -118338,6 +118483,12 @@ declare namespace __esri {
118338
118483
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#initialSize Read more...}
118339
118484
  */
118340
118485
  initialSize?: number | nullish;
118486
+ /**
118487
+ * Indicates the table is displaying an editable input in one of its cells.
118488
+ *
118489
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#isEditing Read more...}
118490
+ */
118491
+ isEditing?: boolean;
118341
118492
  /**
118342
118493
  * The associated {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-catalog-CatalogFootprintLayer.html CatalogFootprintLayer}, {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CSVLayer.html CSVLayer}, {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html FeatureLayer}, {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GeoJSONLayer.html GeoJSONLayer},
118343
118494
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-ImageryLayer.html ImageryLayer}, {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-knowledgeGraph-KnowledgeGraphSublayer.html KnowledgeGraphSublayer}, {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-SceneLayer.html SceneLayer}, or {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-WFSLayer.html WFSLayer} containing
@@ -118458,6 +118609,13 @@ declare namespace __esri {
118458
118609
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#rowHighlightIds Read more...}
118459
118610
  */
118460
118611
  rowHighlightIds?: CollectionProperties<number | string>;
118612
+ /**
118613
+ * Indicates whether the table should synchronize the current {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#attributeTableTemplate attributeTableTemplate} being used based on
118614
+ * changes made to the table's UI.
118615
+ *
118616
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#syncTemplateOnChangesEnabled Read more...}
118617
+ */
118618
+ syncTemplateOnChangesEnabled?: boolean;
118461
118619
  /**
118462
118620
  * The associated {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-support-TableTemplate.html template} used for the feature table.
118463
118621
  *
@@ -118485,7 +118643,7 @@ declare namespace __esri {
118485
118643
  }
118486
118644
 
118487
118645
  /**
118488
- * Configuration for the FeatureTable's actionColumn.
118646
+ * Configuration for the {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#actionColumn FeatureTable's actionColumn}.
118489
118647
  *
118490
118648
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#ActionColumnConfig Read more...}
118491
118649
  */
@@ -119465,6 +119623,76 @@ declare namespace __esri {
119465
119623
  interface AttachmentsColumnTemplateProperties extends ColumnTemplateBaseProperties {
119466
119624
  }
119467
119625
 
119626
+ export class AttachmentsViewOptions extends Accessor {
119627
+ /**
119628
+ * The ID of the attachment currently being edited.
119629
+ *
119630
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-support-AttachmentsViewOptions.html#attachmentId Read more...}
119631
+ */
119632
+ readonly attachmentId: number | nullish;
119633
+ /**
119634
+ * An array of attachment information objects.
119635
+ *
119636
+ * @default []
119637
+ *
119638
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-support-AttachmentsViewOptions.html#attachmentInfos Read more...}
119639
+ */
119640
+ readonly attachmentInfos: AttachmentInfo[];
119641
+ /**
119642
+ * A list of file candidates that can be added as attachments.
119643
+ *
119644
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-support-AttachmentsViewOptions.html#candidates Read more...}
119645
+ */
119646
+ readonly candidates: any | nullish;
119647
+ /**
119648
+ * An error that may occur during attachment operations.
119649
+ *
119650
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-support-AttachmentsViewOptions.html#error Read more...}
119651
+ */
119652
+ readonly error: Error | nullish;
119653
+ /**
119654
+ * The HTML form element used for file uploads.
119655
+ *
119656
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-support-AttachmentsViewOptions.html#form Read more...}
119657
+ */
119658
+ readonly form: HTMLFormElement | nullish;
119659
+ /**
119660
+ * The current mode of the attachments view.
119661
+ *
119662
+ * @default "list"
119663
+ *
119664
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-support-AttachmentsViewOptions.html#mode Read more...}
119665
+ */
119666
+ readonly mode: "list" | "file" | nullish;
119667
+ /**
119668
+ * The object ID of the feature associated with the attachments.
119669
+ *
119670
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-support-AttachmentsViewOptions.html#objectId Read more...}
119671
+ */
119672
+ readonly objectId: number | string | nullish;
119673
+ /**
119674
+ * AttachmentsViewOptions is a read-only class which defines what can be displayed within {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html FeatureTable} attachments.
119675
+ *
119676
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-support-AttachmentsViewOptions.html Read more...}
119677
+ */
119678
+ constructor(properties?: AttachmentsViewOptionsProperties);
119679
+ /**
119680
+ * Used to display the list view and clear temporary file data after a successful edit.
119681
+ *
119682
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-support-AttachmentsViewOptions.html#onEditComplete Read more...}
119683
+ */
119684
+ onEditComplete(): void;
119685
+ /**
119686
+ * Use this method to reset feature-specific properties after the {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-support-AttachmentsViewOptions.html#objectId objectId} changes.
119687
+ *
119688
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-support-AttachmentsViewOptions.html#reset Read more...}
119689
+ */
119690
+ reset(): void;
119691
+ }
119692
+
119693
+ interface AttachmentsViewOptionsProperties {
119694
+ }
119695
+
119468
119696
  export class ColumnTemplate extends ColumnTemplateBase {
119469
119697
  /**
119470
119698
  * Indicates whether the field is editable.
@@ -120905,7 +121133,7 @@ declare namespace __esri {
120905
121133
  */
120906
121134
  view: MapView | SceneView | nullish;
120907
121135
  /**
120908
- * Provides the logic for the {@link https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-fullscreen/ Fullscreen} component and {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Fullscreen.html Fullscreen} widget.
121136
+ * Provides the logic for the {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Fullscreen.html Fullscreen} widget.
120909
121137
  *
120910
121138
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Fullscreen-FullscreenViewModel.html Read more...}
120911
121139
  */
@@ -122638,15 +122866,6 @@ declare namespace __esri {
122638
122866
  }
122639
122867
 
122640
122868
  export class ListItemPanel {
122641
- /**
122642
- * Adds a CSS class used to style a node that represents the panel.
122643
- *
122644
- * @default null
122645
- * @deprecated since version 4.30. Use {@link module:esri/widgets/LayerList/ListItemPanel#icon icon}
122646
- *
122647
- * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItemPanel.html#className Read more...}
122648
- */
122649
- className: string | nullish;
122650
122869
  /**
122651
122870
  * The content displayed in the ListItem panel.
122652
122871
  *
@@ -122709,14 +122928,6 @@ declare namespace __esri {
122709
122928
  }
122710
122929
 
122711
122930
  interface ListItemPanelProperties extends WidgetProperties, IdentifiableProperties {
122712
- /**
122713
- * Adds a CSS class used to style a node that represents the panel.
122714
- *
122715
- * @deprecated since version 4.30. Use {@link module:esri/widgets/LayerList/ListItemPanel#icon icon}
122716
- *
122717
- * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-LayerList-ListItemPanel.html#className Read more...}
122718
- */
122719
- className?: string | nullish;
122720
122931
  /**
122721
122932
  * The content displayed in the ListItem panel.
122722
122933
  *
@@ -124579,9 +124790,8 @@ declare namespace __esri {
124579
124790
  */
124580
124791
  view: SceneView | nullish;
124581
124792
  /**
124582
- * Provides the logic for the {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-NavigationToggle.html NavigationToggle} widget and {@link https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-navigation-toggle/ component}, which
124583
- * provides two simple buttons for toggling the {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-NavigationToggle-NavigationToggleViewModel.html#navigationMode navigation mode}
124584
- * of a {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html SceneView}.
124793
+ * Provides the logic for the {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-NavigationToggle.html NavigationToggle} widget, which provides two simple buttons for
124794
+ * toggling the {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-NavigationToggle-NavigationToggleViewModel.html#navigationMode navigation mode} of a {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html SceneView}.
124585
124795
  *
124586
124796
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-NavigationToggle-NavigationToggleViewModel.html Read more...}
124587
124797
  */
@@ -134871,15 +135081,6 @@ declare namespace __esri {
134871
135081
  }
134872
135082
 
134873
135083
  export class TableListListItemPanel {
134874
- /**
134875
- * Adds a CSS class used to style a node that represents the panel.
134876
- *
134877
- * @default null
134878
- * @deprecated since version 4.30. Use {@link module:esri/widgets/TableList/ListItemPanel#icon icon}
134879
- *
134880
- * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-TableList-ListItemPanel.html#className Read more...}
134881
- */
134882
- className: string | nullish;
134883
135084
  /**
134884
135085
  * The content displayed in the ListItem panel.
134885
135086
  *
@@ -134942,14 +135143,6 @@ declare namespace __esri {
134942
135143
  }
134943
135144
 
134944
135145
  interface TableListListItemPanelProperties extends WidgetProperties, IdentifiableProperties {
134945
- /**
134946
- * Adds a CSS class used to style a node that represents the panel.
134947
- *
134948
- * @deprecated since version 4.30. Use {@link module:esri/widgets/TableList/ListItemPanel#icon icon}
134949
- *
134950
- * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-TableList-ListItemPanel.html#className Read more...}
134951
- */
134952
- className?: string | nullish;
134953
135146
  /**
134954
135147
  * The content displayed in the ListItem panel.
134955
135148
  *
@@ -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 r from"../request.js";import t from"../core/Error.js";import{loadAll as o}from"../core/loadAll.js";import{MultiOriginJSONMixin as i}from"../core/MultiOriginJSONSupport.js";import{throwIfAbortError as s,isAbortError as a}from"../core/promiseUtils.js";import{property as p}from"../core/accessorSupport/decorators/property.js";import{Integer as n}from"../core/accessorSupport/ensureType.js";import"../core/has.js";import"../core/RandomLCG.js";import{reader as m}from"../core/accessorSupport/decorators/reader.js";import{subclass as l}from"../core/accessorSupport/decorators/subclass.js";import{writer as c}from"../core/accessorSupport/decorators/writer.js";import{nameToId as u,OriginId as y}from"../core/accessorSupport/PropertyOrigin.js";import h from"../geometry/Extent.js";import{getScale as d}from"../geometry/support/scaleUtils.js";import{srToRESTValue as f}from"../geometry/support/spatialReferenceUtils.js";import g from"./Layer.js";import{APIKeyMixin as b}from"./mixins/APIKeyMixin.js";import{ArcGISMapService as v}from"./mixins/ArcGISMapService.js";import{ArcGISService as x}from"./mixins/ArcGISService.js";import{BlendLayer as j}from"./mixins/BlendLayer.js";import{CustomParametersMixin as S}from"./mixins/CustomParametersMixin.js";import{OperationalLayer as I}from"./mixins/OperationalLayer.js";import{PortalLayer as w}from"./mixins/PortalLayer.js";import{RefreshableLayer as O}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as L}from"./mixins/ScaleRangeLayer.js";import{SublayersOwner as P}from"./mixins/SublayersOwner.js";import{TemporalLayer as T}from"./mixins/TemporalLayer.js";import{url as E}from"./support/commonProperties.js";import{ExportImageParameters as M}from"./support/ExportImageParameters.js";import{createBitmap as R}from"./support/imageBitmapUtils.js";import U from"./support/Sublayer.js";import{shouldWriteSublayerStructure as F}from"./support/sublayerUtils.js";import{serviceSupportsSpatialReference as _}from"./support/versionUtils.js";import A from"../symbols/support/ElevationInfo.js";import N from"../time/TimeExtent.js";import{timeZoneProperty as J}from"../time/timeZoneUtils.js";let q=class extends(j(T(L(P(v(x(I(w(i(O(b(S(g))))))))))))){constructor(...e){super(...e),this._exportImageParameters=new M({layer:this}),this.dateFieldsTimeZone=null,this.datesInUnknownTimezone=!1,this.dpi=96,this.elevationInfo=new A({mode:"on-the-ground"}),this.gdbVersion=null,this.imageFormat="png24",this.imageMaxHeight=2048,this.imageMaxWidth=2048,this.imageTransparency=!0,this.isReference=null,this.labelsVisible=!1,this.operationalLayerType="ArcGISMapServiceLayer",this.preferredTimeZone=null,this.sourceJSON=null,this.sublayers=null,this.type="map-image",this.url=null}normalizeCtorArgs(e,r){return"string"==typeof e?{url:e,...r}:e}load(e){const r=null!=e?e.signal:null;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Map Service"]},e).catch(s).then((()=>this._fetchService(r)))),Promise.resolve(this)}destroy(){this._exportImageParameters.destroy()}readImageFormat(e,r){const t=r.supportedImageFormatTypes;return t&&t.includes("PNG32")?"png32":"png24"}writeSublayers(e,r,t,o){if(!this.loaded||!e)return;const i=e.slice().reverse().flatten((({sublayers:e})=>e&&e.toArray().reverse())).toArray();let s=!1;const a=u(o.origin);if(this.capabilities?.operations.supportsExportMap&&this.capabilities?.exportMap?.supportsDynamicLayers)if(a===y.PORTAL_ITEM){const e=this.createSublayersForOrigin("service").sublayers;s=F(i,e,y.SERVICE)}else if(a>y.PORTAL_ITEM){const e=this.createSublayersForOrigin("portal-item");s=F(i,e.sublayers,u(e.origin))}const p=[],n={writeSublayerStructure:s,...o};let m=s||this.hasVisibleLayersForOrigin(a);i.forEach((e=>{const r=e.write({},n);p.push(r),m=m||"user"===e.originOf("visible")}));p.some((e=>Object.keys(e).length>1))&&(r.layers=p),m&&(r.visibleLayers=i.filter((e=>e.visible)).map((e=>e.id)))}createExportImageParameters(e,r,t,o){const i=o?.pixelRatio||1;e&&this.version>=10&&(e=e.clone().shiftCentralMeridian()),this._exportImageParameters.floors=o?.floors??null,this._exportImageParameters.scale=d({extent:e,width:r})*i;const s=this._exportImageParameters.toJSON(),a=!o?.rotation||this.version<10.3?{}:{rotation:-o.rotation},p=e?.spatialReference,n=f(p);s.dpi*=i;const m={};if(o?.timeExtent){const{start:e,end:r}=o.timeExtent.toJSON();m.time=e&&r&&e===r?""+e:`${e??"null"},${r??"null"}`}else this.timeInfo&&!this.timeInfo.hasLiveData&&(m.time="null,null");return{bbox:e?e.xmin+","+e.ymin+","+e.xmax+","+e.ymax:void 0,bboxSR:n,imageSR:n,size:r+","+t,...s,...a,...m}}async fetchImage(e,r,t,o){const{data:i}=await this._fetchImage("image",e,r,t,o);return i}async fetchImageBitmap(e,r,t,o){const{data:i,url:s}=await this._fetchImage("blob",e,r,t,o);return R(i,s,o?.signal)}async fetchRecomputedExtents(e={}){const t={...e,query:{returnUpdates:!0,f:"json",...this.customParameters,token:this.apiKey}},{data:o}=await r(this.url,t),{extent:i,fullExtent:s,timeExtent:a}=o,p=i||s;return{fullExtent:p&&h.fromJSON(p),timeExtent:a&&N.fromJSON({start:a[0],end:a[1]})}}loadAll(){return o(this,(e=>{e(this.allSublayers),e(this.subtables)}))}serviceSupportsSpatialReference(e){return _(this,e)}async _fetchImage(e,o,i,s,p){const n={responseType:e,signal:p?.signal??null,query:{...this.parsedUrl.query,...this.createExportImageParameters(o,i,s,p),f:"image",...this.refreshParameters,...this.customParameters,token:this.apiKey}},m=this.parsedUrl.path+"/export";if(null!=n.query?.dynamicLayers&&!this.capabilities?.exportMap?.supportsDynamicLayers)throw new t("mapimagelayer:dynamiclayer-not-supported",`service ${this.url} doesn't support dynamic layers, which is required to be able to change the sublayer's order, rendering, labeling or source.`,{query:n.query});try{const{data:e}=await r(m,n);return{data:e,url:m}}catch(l){if(a(l))throw l;throw new t("mapimagelayer:image-fetch-error",`Unable to load image: ${m}`,{error:l})}}async _fetchService(e){if(this.sourceJSON)return void this.read(this.sourceJSON,{origin:"service",url:this.parsedUrl});const{data:t,ssl:o}=await r(this.parsedUrl.path,{query:{f:"json",...this.parsedUrl.query,...this.customParameters,token:this.apiKey},signal:e});o&&(this.url=this.url.replace(/^http:/i,"https:")),this.sourceJSON=t,this.read(t,{origin:"service",url:this.parsedUrl})}hasVisibleLayersForOrigin(e){return!(null==e||!this.sublayersSourceJSON[e]?.visibleLayers)}};e([p(J("dateFieldsTimeReference"))],q.prototype,"dateFieldsTimeZone",void 0),e([p({type:Boolean})],q.prototype,"datesInUnknownTimezone",void 0),e([p()],q.prototype,"dpi",void 0),e([p()],q.prototype,"elevationInfo",void 0),e([p()],q.prototype,"gdbVersion",void 0),e([p()],q.prototype,"imageFormat",void 0),e([m("imageFormat",["supportedImageFormatTypes"])],q.prototype,"readImageFormat",null),e([p({json:{origins:{service:{read:{source:"maxImageHeight"}}}}})],q.prototype,"imageMaxHeight",void 0),e([p({json:{origins:{service:{read:{source:"maxImageWidth"}}}}})],q.prototype,"imageMaxWidth",void 0),e([p()],q.prototype,"imageTransparency",void 0),e([p({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:()=>({enabled:!1})}}})],q.prototype,"isReference",void 0),e([p({json:{read:!1,write:!1}})],q.prototype,"labelsVisible",void 0),e([p({type:["ArcGISMapServiceLayer"]})],q.prototype,"operationalLayerType",void 0),e([p({json:{read:!1,write:!1}})],q.prototype,"popupEnabled",void 0),e([p(J("preferredTimeReference"))],q.prototype,"preferredTimeZone",void 0),e([p()],q.prototype,"sourceJSON",void 0),e([p({json:{write:{ignoreOrigin:!0}}})],q.prototype,"sublayers",void 0),e([c("sublayers",{layers:{type:[U]},visibleLayers:{type:[n]}})],q.prototype,"writeSublayers",null),e([p({type:["show","hide","hide-children"]})],q.prototype,"listMode",void 0),e([p({json:{read:!1},readOnly:!0,value:"map-image"})],q.prototype,"type",void 0),e([p(E)],q.prototype,"url",void 0),q=e([l("esri.layers.MapImageLayer")],q);const k=q;export{k as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import r from"../request.js";import t from"../core/Error.js";import{loadAll as s}from"../core/loadAll.js";import{MultiOriginJSONMixin as i}from"../core/MultiOriginJSONSupport.js";import{debounce as o,throwIfAbortError as a,isAbortError as p}from"../core/promiseUtils.js";import{property as n}from"../core/accessorSupport/decorators/property.js";import{Integer as m}from"../core/accessorSupport/ensureType.js";import"../core/has.js";import"../core/RandomLCG.js";import{reader as l}from"../core/accessorSupport/decorators/reader.js";import{subclass as c}from"../core/accessorSupport/decorators/subclass.js";import{writer as u}from"../core/accessorSupport/decorators/writer.js";import{nameToId as y,OriginId as d}from"../core/accessorSupport/PropertyOrigin.js";import h from"../geometry/Extent.js";import{getScale as f}from"../geometry/support/scaleUtils.js";import{srToRESTValue as g}from"../geometry/support/spatialReferenceUtils.js";import v from"./Layer.js";import{APIKeyMixin as b}from"./mixins/APIKeyMixin.js";import{ArcGISMapService as S}from"./mixins/ArcGISMapService.js";import{ArcGISService as j}from"./mixins/ArcGISService.js";import{BlendLayer as x}from"./mixins/BlendLayer.js";import{CustomParametersMixin as I}from"./mixins/CustomParametersMixin.js";import{OperationalLayer as w}from"./mixins/OperationalLayer.js";import{PortalLayer as O}from"./mixins/PortalLayer.js";import{RefreshableLayer as E}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as L}from"./mixins/ScaleRangeLayer.js";import{SublayersOwner as P}from"./mixins/SublayersOwner.js";import{TemporalLayer as T}from"./mixins/TemporalLayer.js";import{url as A}from"./support/commonProperties.js";import{ExportImageParameters as M}from"./support/ExportImageParameters.js";import{createBitmap as R}from"./support/imageBitmapUtils.js";import U from"./support/Sublayer.js";import{shouldWriteSublayerStructure as _}from"./support/sublayerUtils.js";import{serviceSupportsSpatialReference as F}from"./support/versionUtils.js";import N from"../symbols/support/ElevationInfo.js";import J from"../time/TimeExtent.js";import{timeZoneProperty as V}from"../time/timeZoneUtils.js";import{SaveOperationType as q}from"../webdoc/interfaces.js";let k=class extends(x(T(L(P(S(j(w(O(i(E(b(I(v))))))))))))){constructor(...e){super(...e),this._exportImageParameters=new M({layer:this}),this.dateFieldsTimeZone=null,this.datesInUnknownTimezone=!1,this.dpi=96,this.elevationInfo=new N({mode:"on-the-ground"}),this.gdbVersion=null,this.imageFormat="png24",this.imageMaxHeight=2048,this.imageMaxWidth=2048,this.imageTransparency=!0,this.isReference=null,this.labelsVisible=!1,this.operationalLayerType="ArcGISMapServiceLayer",this.preferredTimeZone=null,this.sourceJSON=null,this.sublayers=null,this.type="map-image",this.url=null,this._debouncedSaveOperations=o((async(e,r,t)=>{const{save:s,saveAs:i}=await import("./save/mapImageLayerUtils.js");switch(e){case q.SAVE:return s(this,r);case q.SAVE_AS:return i(this,t,r)}}))}normalizeCtorArgs(e,r){return"string"==typeof e?{url:e,...r}:e}load(e){const r=null!=e?e.signal:null;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Map Service"]},e).catch(a).then((()=>this._fetchService(r)))),Promise.resolve(this)}destroy(){this._exportImageParameters.destroy()}readImageFormat(e,r){const t=r.supportedImageFormatTypes;return t&&t.includes("PNG32")?"png32":"png24"}writeSublayers(e,r,t,s){if(!this.loaded||!e)return;const i=e.slice().reverse().flatten((({sublayers:e})=>e&&e.toArray().reverse())).toArray();let o=!1;const a=y(s.origin);if(this.capabilities?.operations.supportsExportMap&&this.capabilities?.exportMap?.supportsDynamicLayers)if(a===d.PORTAL_ITEM){const e=this.createSublayersForOrigin("service").sublayers;o=_(i,e,d.SERVICE)}else if(a>d.PORTAL_ITEM){const e=this.createSublayersForOrigin("portal-item");o=_(i,e.sublayers,y(e.origin))}const p=[],n={writeSublayerStructure:o,...s};let m=o||this.hasVisibleLayersForOrigin(a);i.forEach((e=>{const r=e.write({},n);p.push(r),m=m||"user"===e.originOf("visible")}));p.some((e=>Object.keys(e).length>1))&&(r.layers=p),m&&(r.visibleLayers=i.filter((e=>e.visible)).map((e=>e.id)))}createExportImageParameters(e,r,t,s){const i=s?.pixelRatio||1;e&&this.version>=10&&(e=e.clone().shiftCentralMeridian()),this._exportImageParameters.floors=s?.floors??null,this._exportImageParameters.scale=f({extent:e,width:r})*i;const o=this._exportImageParameters.toJSON(),a=!s?.rotation||this.version<10.3?{}:{rotation:-s.rotation},p=e?.spatialReference,n=g(p);o.dpi*=i;const m={};if(s?.timeExtent){const{start:e,end:r}=s.timeExtent.toJSON();m.time=e&&r&&e===r?""+e:`${e??"null"},${r??"null"}`}else this.timeInfo&&!this.timeInfo.hasLiveData&&(m.time="null,null");return{bbox:e?e.xmin+","+e.ymin+","+e.xmax+","+e.ymax:void 0,bboxSR:n,imageSR:n,size:r+","+t,...o,...a,...m}}async fetchImage(e,r,t,s){const{data:i}=await this._fetchImage("image",e,r,t,s);return i}async fetchImageBitmap(e,r,t,s){const{data:i,url:o}=await this._fetchImage("blob",e,r,t,s);return R(i,o,s?.signal)}async fetchRecomputedExtents(e={}){const t={...e,query:{returnUpdates:!0,f:"json",...this.customParameters,token:this.apiKey}},{data:s}=await r(this.url,t),{extent:i,fullExtent:o,timeExtent:a}=s,p=i||o;return{fullExtent:p&&h.fromJSON(p),timeExtent:a&&J.fromJSON({start:a[0],end:a[1]})}}loadAll(){return s(this,(e=>{e(this.allSublayers),e(this.subtables)}))}async save(e){return this._debouncedSaveOperations(q.SAVE,e)}async saveAs(e,r){return this._debouncedSaveOperations(q.SAVE_AS,r,e)}serviceSupportsSpatialReference(e){return F(this,e)}async _fetchImage(e,s,i,o,a){const n={responseType:e,signal:a?.signal??null,query:{...this.parsedUrl.query,...this.createExportImageParameters(s,i,o,a),f:"image",...this.refreshParameters,...this.customParameters,token:this.apiKey}},m=this.parsedUrl.path+"/export";if(null!=n.query?.dynamicLayers&&!this.capabilities?.exportMap?.supportsDynamicLayers)throw new t("mapimagelayer:dynamiclayer-not-supported",`service ${this.url} doesn't support dynamic layers, which is required to be able to change the sublayer's order, rendering, labeling or source.`,{query:n.query});try{const{data:e}=await r(m,n);return{data:e,url:m}}catch(l){if(p(l))throw l;throw new t("mapimagelayer:image-fetch-error",`Unable to load image: ${m}`,{error:l})}}async _fetchService(e){if(this.sourceJSON)return void this.read(this.sourceJSON,{origin:"service",url:this.parsedUrl});const{data:t,ssl:s}=await r(this.parsedUrl.path,{query:{f:"json",...this.parsedUrl.query,...this.customParameters,token:this.apiKey},signal:e});s&&(this.url=this.url.replace(/^http:/i,"https:")),this.sourceJSON=t,this.read(t,{origin:"service",url:this.parsedUrl})}hasVisibleLayersForOrigin(e){return!(null==e||!this.sublayersSourceJSON[e]?.visibleLayers)}};e([n(V("dateFieldsTimeReference"))],k.prototype,"dateFieldsTimeZone",void 0),e([n({type:Boolean})],k.prototype,"datesInUnknownTimezone",void 0),e([n()],k.prototype,"dpi",void 0),e([n()],k.prototype,"elevationInfo",void 0),e([n()],k.prototype,"gdbVersion",void 0),e([n()],k.prototype,"imageFormat",void 0),e([l("imageFormat",["supportedImageFormatTypes"])],k.prototype,"readImageFormat",null),e([n({json:{origins:{service:{read:{source:"maxImageHeight"}}}}})],k.prototype,"imageMaxHeight",void 0),e([n({json:{origins:{service:{read:{source:"maxImageWidth"}}}}})],k.prototype,"imageMaxWidth",void 0),e([n()],k.prototype,"imageTransparency",void 0),e([n({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:()=>({enabled:!1})}}})],k.prototype,"isReference",void 0),e([n({json:{read:!1,write:!1}})],k.prototype,"labelsVisible",void 0),e([n({type:["ArcGISMapServiceLayer"]})],k.prototype,"operationalLayerType",void 0),e([n({json:{read:!1,write:!1}})],k.prototype,"popupEnabled",void 0),e([n(V("preferredTimeReference"))],k.prototype,"preferredTimeZone",void 0),e([n()],k.prototype,"sourceJSON",void 0),e([n({json:{write:{ignoreOrigin:!0}}})],k.prototype,"sublayers",void 0),e([u("sublayers",{layers:{type:[U]},visibleLayers:{type:[m]}})],k.prototype,"writeSublayers",null),e([n({type:["show","hide","hide-children"],json:{origins:{"portal-item":{read:!1,write:!1}}}})],k.prototype,"listMode",void 0),e([n({json:{read:!1},readOnly:!0,value:"map-image"})],k.prototype,"type",void 0),e([n(A)],k.prototype,"url",void 0),k=e([c("esri.layers.MapImageLayer")],k);const G=k;export{G as default};