@itwin/map-layers 5.4.4 → 5.6.0

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 (304) hide show
  1. package/CHANGELOG.md +18 -2
  2. package/README.md +7 -7
  3. package/lib/cjs/BrowserStorage.d.ts.map +1 -1
  4. package/lib/cjs/BrowserStorage.js +23 -13
  5. package/lib/cjs/BrowserStorage.js.map +1 -1
  6. package/lib/cjs/CustomParamUtils.d.ts +1 -1
  7. package/lib/cjs/CustomParamUtils.d.ts.map +1 -1
  8. package/lib/cjs/CustomParamUtils.js +6 -3
  9. package/lib/cjs/CustomParamUtils.js.map +1 -1
  10. package/lib/cjs/CustomParamsMappingStorage.d.ts +1 -1
  11. package/lib/cjs/CustomParamsMappingStorage.d.ts.map +1 -1
  12. package/lib/cjs/CustomParamsMappingStorage.js +3 -3
  13. package/lib/cjs/CustomParamsMappingStorage.js.map +1 -1
  14. package/lib/cjs/CustomParamsStorage.d.ts +1 -1
  15. package/lib/cjs/CustomParamsStorage.d.ts.map +1 -1
  16. package/lib/cjs/CustomParamsStorage.js +3 -3
  17. package/lib/cjs/CustomParamsStorage.js.map +1 -1
  18. package/lib/cjs/MapLayerPreferences.d.ts +2 -1
  19. package/lib/cjs/MapLayerPreferences.d.ts.map +1 -1
  20. package/lib/cjs/MapLayerPreferences.js +50 -25
  21. package/lib/cjs/MapLayerPreferences.js.map +1 -1
  22. package/lib/cjs/MapLayersActionIds.d.ts +5 -0
  23. package/lib/cjs/MapLayersActionIds.d.ts.map +1 -0
  24. package/lib/cjs/MapLayersActionIds.js +10 -0
  25. package/lib/cjs/MapLayersActionIds.js.map +1 -0
  26. package/lib/cjs/MapLayersPrefBrowserStorage.d.ts.map +1 -1
  27. package/lib/cjs/MapLayersPrefBrowserStorage.js +4 -5
  28. package/lib/cjs/MapLayersPrefBrowserStorage.js.map +1 -1
  29. package/lib/cjs/PreferencesBrowserStorage.d.ts +17 -17
  30. package/lib/cjs/PreferencesBrowserStorage.d.ts.map +1 -1
  31. package/lib/cjs/PreferencesBrowserStorage.js +14 -14
  32. package/lib/cjs/PreferencesBrowserStorage.js.map +1 -1
  33. package/lib/cjs/map-layers.d.ts +1 -0
  34. package/lib/cjs/map-layers.d.ts.map +1 -1
  35. package/lib/cjs/map-layers.js +4 -3
  36. package/lib/cjs/map-layers.js.map +1 -1
  37. package/lib/cjs/mapLayers.d.ts +2 -2
  38. package/lib/cjs/mapLayers.d.ts.map +1 -1
  39. package/lib/cjs/mapLayers.js.map +1 -1
  40. package/lib/cjs/public/locales/en/mapLayers.json +179 -184
  41. package/lib/cjs/ui/FeatureInfoUiItemsProvider.d.ts +3 -4
  42. package/lib/cjs/ui/FeatureInfoUiItemsProvider.d.ts.map +1 -1
  43. package/lib/cjs/ui/FeatureInfoUiItemsProvider.js +48 -18
  44. package/lib/cjs/ui/FeatureInfoUiItemsProvider.js.map +1 -1
  45. package/lib/cjs/ui/Interfaces.d.ts +3 -3
  46. package/lib/cjs/ui/Interfaces.d.ts.map +1 -1
  47. package/lib/cjs/ui/Interfaces.js.map +1 -1
  48. package/lib/cjs/ui/MapLayersUiItemsProvider.d.ts +3 -2
  49. package/lib/cjs/ui/MapLayersUiItemsProvider.d.ts.map +1 -1
  50. package/lib/cjs/ui/MapLayersUiItemsProvider.js +2 -6
  51. package/lib/cjs/ui/MapLayersUiItemsProvider.js.map +1 -1
  52. package/lib/cjs/ui/widget/AttachLayerPopupButton.d.ts.map +1 -1
  53. package/lib/cjs/ui/widget/AttachLayerPopupButton.js +81 -46
  54. package/lib/cjs/ui/widget/AttachLayerPopupButton.js.map +1 -1
  55. package/lib/cjs/ui/widget/BasemapPanel.d.ts.map +1 -1
  56. package/lib/cjs/ui/widget/BasemapPanel.js +44 -25
  57. package/lib/cjs/ui/widget/BasemapPanel.js.map +1 -1
  58. package/lib/cjs/ui/widget/BasemapPanel.scss +2 -4
  59. package/lib/cjs/ui/widget/ConfirmMessageDialog.d.ts +1 -1
  60. package/lib/cjs/ui/widget/ConfirmMessageDialog.d.ts.map +1 -1
  61. package/lib/cjs/ui/widget/ConfirmMessageDialog.js +31 -8
  62. package/lib/cjs/ui/widget/ConfirmMessageDialog.js.map +1 -1
  63. package/lib/cjs/ui/widget/CustomParamEditDialog.d.ts +1 -1
  64. package/lib/cjs/ui/widget/CustomParamEditDialog.d.ts.map +1 -1
  65. package/lib/cjs/ui/widget/CustomParamEditDialog.js +34 -20
  66. package/lib/cjs/ui/widget/CustomParamEditDialog.js.map +1 -1
  67. package/lib/cjs/ui/widget/CustomParamEditDialog.scss +1 -2
  68. package/lib/cjs/ui/widget/CustomParamsSettings.d.ts.map +1 -1
  69. package/lib/cjs/ui/widget/CustomParamsSettings.js +42 -27
  70. package/lib/cjs/ui/widget/CustomParamsSettings.js.map +1 -1
  71. package/lib/cjs/ui/widget/CustomParamsSettings.scss +7 -9
  72. package/lib/cjs/ui/widget/FeatureInfoDataProvider.d.ts +3 -2
  73. package/lib/cjs/ui/widget/FeatureInfoDataProvider.d.ts.map +1 -1
  74. package/lib/cjs/ui/widget/FeatureInfoDataProvider.js +4 -2
  75. package/lib/cjs/ui/widget/FeatureInfoDataProvider.js.map +1 -1
  76. package/lib/cjs/ui/widget/FeatureInfoWidget.d.ts +1 -1
  77. package/lib/cjs/ui/widget/FeatureInfoWidget.d.ts.map +1 -1
  78. package/lib/cjs/ui/widget/FeatureInfoWidget.js +34 -15
  79. package/lib/cjs/ui/widget/FeatureInfoWidget.js.map +1 -1
  80. package/lib/cjs/ui/widget/MapLayerActionButtons.d.ts +1 -1
  81. package/lib/cjs/ui/widget/MapLayerActionButtons.d.ts.map +1 -1
  82. package/lib/cjs/ui/widget/MapLayerActionButtons.js +30 -17
  83. package/lib/cjs/ui/widget/MapLayerActionButtons.js.map +1 -1
  84. package/lib/cjs/ui/widget/MapLayerDroppable.d.ts +2 -2
  85. package/lib/cjs/ui/widget/MapLayerDroppable.d.ts.map +1 -1
  86. package/lib/cjs/ui/widget/MapLayerDroppable.js +64 -50
  87. package/lib/cjs/ui/widget/MapLayerDroppable.js.map +1 -1
  88. package/lib/cjs/ui/widget/MapLayerManager.d.ts +2 -2
  89. package/lib/cjs/ui/widget/MapLayerManager.d.ts.map +1 -1
  90. package/lib/cjs/ui/widget/MapLayerManager.js +158 -84
  91. package/lib/cjs/ui/widget/MapLayerManager.js.map +1 -1
  92. package/lib/cjs/ui/widget/MapLayerManager.scss +3 -6
  93. package/lib/cjs/ui/widget/MapLayerSettingsMenu.d.ts +2 -2
  94. package/lib/cjs/ui/widget/MapLayerSettingsMenu.d.ts.map +1 -1
  95. package/lib/cjs/ui/widget/MapLayerSettingsMenu.js +33 -13
  96. package/lib/cjs/ui/widget/MapLayerSettingsMenu.js.map +1 -1
  97. package/lib/cjs/ui/widget/MapLayerSettingsPopupButton.d.ts.map +1 -1
  98. package/lib/cjs/ui/widget/MapLayerSettingsPopupButton.js +36 -14
  99. package/lib/cjs/ui/widget/MapLayerSettingsPopupButton.js.map +1 -1
  100. package/lib/cjs/ui/widget/MapLayerSettingsPopupButton.scss +5 -5
  101. package/lib/cjs/ui/widget/MapLayersWidget.d.ts +1 -1
  102. package/lib/cjs/ui/widget/MapLayersWidget.d.ts.map +1 -1
  103. package/lib/cjs/ui/widget/MapLayersWidget.js +34 -11
  104. package/lib/cjs/ui/widget/MapLayersWidget.js.map +1 -1
  105. package/lib/cjs/ui/widget/MapManagerMapLayersHeader.d.ts.map +1 -1
  106. package/lib/cjs/ui/widget/MapManagerMapLayersHeader.js +5 -8
  107. package/lib/cjs/ui/widget/MapManagerMapLayersHeader.js.map +1 -1
  108. package/lib/cjs/ui/widget/MapManagerSettings.d.ts.map +1 -1
  109. package/lib/cjs/ui/widget/MapManagerSettings.js +55 -56
  110. package/lib/cjs/ui/widget/MapManagerSettings.js.map +1 -1
  111. package/lib/cjs/ui/widget/MapManagerSettings.scss +1 -1
  112. package/lib/cjs/ui/widget/MapSelectFeaturesDialog.d.ts +2 -2
  113. package/lib/cjs/ui/widget/MapSelectFeaturesDialog.d.ts.map +1 -1
  114. package/lib/cjs/ui/widget/MapSelectFeaturesDialog.js +33 -18
  115. package/lib/cjs/ui/widget/MapSelectFeaturesDialog.js.map +1 -1
  116. package/lib/cjs/ui/widget/MapSelectFeaturesDialog.scss +1 -3
  117. package/lib/cjs/ui/widget/MapUrlDialog.d.ts +4 -3
  118. package/lib/cjs/ui/widget/MapUrlDialog.d.ts.map +1 -1
  119. package/lib/cjs/ui/widget/MapUrlDialog.js +104 -81
  120. package/lib/cjs/ui/widget/MapUrlDialog.js.map +1 -1
  121. package/lib/cjs/ui/widget/MapUrlDialog.scss +6 -7
  122. package/lib/cjs/ui/widget/SelectApiKey.d.ts.map +1 -1
  123. package/lib/cjs/ui/widget/SelectApiKey.js +38 -10
  124. package/lib/cjs/ui/widget/SelectApiKey.js.map +1 -1
  125. package/lib/cjs/ui/widget/SelectCustomParam.d.ts.map +1 -1
  126. package/lib/cjs/ui/widget/SelectCustomParam.js +40 -11
  127. package/lib/cjs/ui/widget/SelectCustomParam.js.map +1 -1
  128. package/lib/cjs/ui/widget/SelectMapFormat.d.ts +3 -3
  129. package/lib/cjs/ui/widget/SelectMapFormat.d.ts.map +1 -1
  130. package/lib/cjs/ui/widget/SelectMapFormat.js +36 -16
  131. package/lib/cjs/ui/widget/SelectMapFormat.js.map +1 -1
  132. package/lib/cjs/ui/widget/SubLayersDataProvider.d.ts +2 -2
  133. package/lib/cjs/ui/widget/SubLayersDataProvider.d.ts.map +1 -1
  134. package/lib/cjs/ui/widget/SubLayersDataProvider.js +13 -9
  135. package/lib/cjs/ui/widget/SubLayersDataProvider.js.map +1 -1
  136. package/lib/cjs/ui/widget/SubLayersPopupButton.d.ts +1 -1
  137. package/lib/cjs/ui/widget/SubLayersPopupButton.d.ts.map +1 -1
  138. package/lib/cjs/ui/widget/SubLayersPopupButton.js +30 -12
  139. package/lib/cjs/ui/widget/SubLayersPopupButton.js.map +1 -1
  140. package/lib/cjs/ui/widget/SubLayersTree.d.ts +2 -2
  141. package/lib/cjs/ui/widget/SubLayersTree.d.ts.map +1 -1
  142. package/lib/cjs/ui/widget/SubLayersTree.js +83 -45
  143. package/lib/cjs/ui/widget/SubLayersTree.js.map +1 -1
  144. package/lib/cjs/ui/widget/SubLayersTree.scss +4 -7
  145. package/lib/cjs/ui/widget/TransparencyPopupButton.d.ts.map +1 -1
  146. package/lib/cjs/ui/widget/TransparencyPopupButton.js +33 -16
  147. package/lib/cjs/ui/widget/TransparencyPopupButton.js.map +1 -1
  148. package/lib/cjs/ui/widget/TransparencyPopupButton.scss +1 -2
  149. package/lib/cjs/ui/widget/UserPreferencesStorageOptions.d.ts +1 -1
  150. package/lib/cjs/ui/widget/UserPreferencesStorageOptions.d.ts.map +1 -1
  151. package/lib/cjs/ui/widget/UserPreferencesStorageOptions.js +2 -8
  152. package/lib/cjs/ui/widget/UserPreferencesStorageOptions.js.map +1 -1
  153. package/lib/esm/BrowserStorage.d.ts.map +1 -1
  154. package/lib/esm/BrowserStorage.js +23 -13
  155. package/lib/esm/BrowserStorage.js.map +1 -1
  156. package/lib/esm/CustomParamUtils.d.ts +1 -1
  157. package/lib/esm/CustomParamUtils.d.ts.map +1 -1
  158. package/lib/esm/CustomParamUtils.js +6 -3
  159. package/lib/esm/CustomParamUtils.js.map +1 -1
  160. package/lib/esm/CustomParamsMappingStorage.d.ts +1 -1
  161. package/lib/esm/CustomParamsMappingStorage.d.ts.map +1 -1
  162. package/lib/esm/CustomParamsMappingStorage.js +3 -3
  163. package/lib/esm/CustomParamsMappingStorage.js.map +1 -1
  164. package/lib/esm/CustomParamsStorage.d.ts +1 -1
  165. package/lib/esm/CustomParamsStorage.d.ts.map +1 -1
  166. package/lib/esm/CustomParamsStorage.js +3 -3
  167. package/lib/esm/CustomParamsStorage.js.map +1 -1
  168. package/lib/esm/MapLayerPreferences.d.ts +2 -1
  169. package/lib/esm/MapLayerPreferences.d.ts.map +1 -1
  170. package/lib/esm/MapLayerPreferences.js +50 -25
  171. package/lib/esm/MapLayerPreferences.js.map +1 -1
  172. package/lib/esm/MapLayersActionIds.d.ts +5 -0
  173. package/lib/esm/MapLayersActionIds.d.ts.map +1 -0
  174. package/lib/esm/MapLayersActionIds.js +7 -0
  175. package/lib/esm/MapLayersActionIds.js.map +1 -0
  176. package/lib/esm/MapLayersPrefBrowserStorage.d.ts.map +1 -1
  177. package/lib/esm/MapLayersPrefBrowserStorage.js +4 -5
  178. package/lib/esm/MapLayersPrefBrowserStorage.js.map +1 -1
  179. package/lib/esm/PreferencesBrowserStorage.d.ts +17 -17
  180. package/lib/esm/PreferencesBrowserStorage.d.ts.map +1 -1
  181. package/lib/esm/PreferencesBrowserStorage.js +14 -14
  182. package/lib/esm/PreferencesBrowserStorage.js.map +1 -1
  183. package/lib/esm/map-layers.d.ts +1 -0
  184. package/lib/esm/map-layers.d.ts.map +1 -1
  185. package/lib/esm/map-layers.js +4 -3
  186. package/lib/esm/map-layers.js.map +1 -1
  187. package/lib/esm/mapLayers.d.ts +2 -2
  188. package/lib/esm/mapLayers.d.ts.map +1 -1
  189. package/lib/esm/mapLayers.js.map +1 -1
  190. package/lib/esm/public/locales/en/mapLayers.json +179 -184
  191. package/lib/esm/ui/FeatureInfoUiItemsProvider.d.ts +3 -4
  192. package/lib/esm/ui/FeatureInfoUiItemsProvider.d.ts.map +1 -1
  193. package/lib/esm/ui/FeatureInfoUiItemsProvider.js +48 -18
  194. package/lib/esm/ui/FeatureInfoUiItemsProvider.js.map +1 -1
  195. package/lib/esm/ui/Interfaces.d.ts +3 -3
  196. package/lib/esm/ui/Interfaces.d.ts.map +1 -1
  197. package/lib/esm/ui/Interfaces.js.map +1 -1
  198. package/lib/esm/ui/MapLayersUiItemsProvider.d.ts +3 -2
  199. package/lib/esm/ui/MapLayersUiItemsProvider.d.ts.map +1 -1
  200. package/lib/esm/ui/MapLayersUiItemsProvider.js +2 -6
  201. package/lib/esm/ui/MapLayersUiItemsProvider.js.map +1 -1
  202. package/lib/esm/ui/widget/AttachLayerPopupButton.d.ts.map +1 -1
  203. package/lib/esm/ui/widget/AttachLayerPopupButton.js +57 -45
  204. package/lib/esm/ui/widget/AttachLayerPopupButton.js.map +1 -1
  205. package/lib/esm/ui/widget/BasemapPanel.d.ts.map +1 -1
  206. package/lib/esm/ui/widget/BasemapPanel.js +19 -23
  207. package/lib/esm/ui/widget/BasemapPanel.js.map +1 -1
  208. package/lib/esm/ui/widget/BasemapPanel.scss +2 -4
  209. package/lib/esm/ui/widget/ConfirmMessageDialog.d.ts +1 -1
  210. package/lib/esm/ui/widget/ConfirmMessageDialog.d.ts.map +1 -1
  211. package/lib/esm/ui/widget/ConfirmMessageDialog.js +5 -5
  212. package/lib/esm/ui/widget/ConfirmMessageDialog.js.map +1 -1
  213. package/lib/esm/ui/widget/CustomParamEditDialog.d.ts +1 -1
  214. package/lib/esm/ui/widget/CustomParamEditDialog.d.ts.map +1 -1
  215. package/lib/esm/ui/widget/CustomParamEditDialog.js +9 -18
  216. package/lib/esm/ui/widget/CustomParamEditDialog.js.map +1 -1
  217. package/lib/esm/ui/widget/CustomParamEditDialog.scss +1 -2
  218. package/lib/esm/ui/widget/CustomParamsSettings.d.ts.map +1 -1
  219. package/lib/esm/ui/widget/CustomParamsSettings.js +17 -25
  220. package/lib/esm/ui/widget/CustomParamsSettings.js.map +1 -1
  221. package/lib/esm/ui/widget/CustomParamsSettings.scss +7 -9
  222. package/lib/esm/ui/widget/FeatureInfoDataProvider.d.ts +3 -2
  223. package/lib/esm/ui/widget/FeatureInfoDataProvider.d.ts.map +1 -1
  224. package/lib/esm/ui/widget/FeatureInfoDataProvider.js +4 -2
  225. package/lib/esm/ui/widget/FeatureInfoDataProvider.js.map +1 -1
  226. package/lib/esm/ui/widget/FeatureInfoWidget.d.ts +1 -1
  227. package/lib/esm/ui/widget/FeatureInfoWidget.d.ts.map +1 -1
  228. package/lib/esm/ui/widget/FeatureInfoWidget.js +10 -14
  229. package/lib/esm/ui/widget/FeatureInfoWidget.js.map +1 -1
  230. package/lib/esm/ui/widget/MapLayerActionButtons.d.ts +1 -1
  231. package/lib/esm/ui/widget/MapLayerActionButtons.d.ts.map +1 -1
  232. package/lib/esm/ui/widget/MapLayerActionButtons.js +6 -16
  233. package/lib/esm/ui/widget/MapLayerActionButtons.js.map +1 -1
  234. package/lib/esm/ui/widget/MapLayerDroppable.d.ts +2 -2
  235. package/lib/esm/ui/widget/MapLayerDroppable.d.ts.map +1 -1
  236. package/lib/esm/ui/widget/MapLayerDroppable.js +38 -47
  237. package/lib/esm/ui/widget/MapLayerDroppable.js.map +1 -1
  238. package/lib/esm/ui/widget/MapLayerManager.d.ts +2 -2
  239. package/lib/esm/ui/widget/MapLayerManager.d.ts.map +1 -1
  240. package/lib/esm/ui/widget/MapLayerManager.js +134 -83
  241. package/lib/esm/ui/widget/MapLayerManager.js.map +1 -1
  242. package/lib/esm/ui/widget/MapLayerManager.scss +3 -6
  243. package/lib/esm/ui/widget/MapLayerSettingsMenu.d.ts +2 -2
  244. package/lib/esm/ui/widget/MapLayerSettingsMenu.d.ts.map +1 -1
  245. package/lib/esm/ui/widget/MapLayerSettingsMenu.js +9 -12
  246. package/lib/esm/ui/widget/MapLayerSettingsMenu.js.map +1 -1
  247. package/lib/esm/ui/widget/MapLayerSettingsPopupButton.d.ts.map +1 -1
  248. package/lib/esm/ui/widget/MapLayerSettingsPopupButton.js +11 -12
  249. package/lib/esm/ui/widget/MapLayerSettingsPopupButton.js.map +1 -1
  250. package/lib/esm/ui/widget/MapLayerSettingsPopupButton.scss +5 -5
  251. package/lib/esm/ui/widget/MapLayersWidget.d.ts +1 -1
  252. package/lib/esm/ui/widget/MapLayersWidget.d.ts.map +1 -1
  253. package/lib/esm/ui/widget/MapLayersWidget.js +9 -9
  254. package/lib/esm/ui/widget/MapLayersWidget.js.map +1 -1
  255. package/lib/esm/ui/widget/MapManagerMapLayersHeader.d.ts.map +1 -1
  256. package/lib/esm/ui/widget/MapManagerMapLayersHeader.js +5 -8
  257. package/lib/esm/ui/widget/MapManagerMapLayersHeader.js.map +1 -1
  258. package/lib/esm/ui/widget/MapManagerSettings.d.ts.map +1 -1
  259. package/lib/esm/ui/widget/MapManagerSettings.js +29 -53
  260. package/lib/esm/ui/widget/MapManagerSettings.js.map +1 -1
  261. package/lib/esm/ui/widget/MapManagerSettings.scss +1 -1
  262. package/lib/esm/ui/widget/MapSelectFeaturesDialog.d.ts +2 -2
  263. package/lib/esm/ui/widget/MapSelectFeaturesDialog.d.ts.map +1 -1
  264. package/lib/esm/ui/widget/MapSelectFeaturesDialog.js +7 -15
  265. package/lib/esm/ui/widget/MapSelectFeaturesDialog.js.map +1 -1
  266. package/lib/esm/ui/widget/MapSelectFeaturesDialog.scss +1 -3
  267. package/lib/esm/ui/widget/MapUrlDialog.d.ts +4 -3
  268. package/lib/esm/ui/widget/MapUrlDialog.d.ts.map +1 -1
  269. package/lib/esm/ui/widget/MapUrlDialog.js +79 -79
  270. package/lib/esm/ui/widget/MapUrlDialog.js.map +1 -1
  271. package/lib/esm/ui/widget/MapUrlDialog.scss +6 -7
  272. package/lib/esm/ui/widget/SelectApiKey.d.ts.map +1 -1
  273. package/lib/esm/ui/widget/SelectApiKey.js +12 -7
  274. package/lib/esm/ui/widget/SelectApiKey.js.map +1 -1
  275. package/lib/esm/ui/widget/SelectCustomParam.d.ts.map +1 -1
  276. package/lib/esm/ui/widget/SelectCustomParam.js +14 -8
  277. package/lib/esm/ui/widget/SelectCustomParam.js.map +1 -1
  278. package/lib/esm/ui/widget/SelectMapFormat.d.ts +3 -3
  279. package/lib/esm/ui/widget/SelectMapFormat.d.ts.map +1 -1
  280. package/lib/esm/ui/widget/SelectMapFormat.js +11 -14
  281. package/lib/esm/ui/widget/SelectMapFormat.js.map +1 -1
  282. package/lib/esm/ui/widget/SubLayersDataProvider.d.ts +2 -2
  283. package/lib/esm/ui/widget/SubLayersDataProvider.d.ts.map +1 -1
  284. package/lib/esm/ui/widget/SubLayersDataProvider.js +13 -9
  285. package/lib/esm/ui/widget/SubLayersDataProvider.js.map +1 -1
  286. package/lib/esm/ui/widget/SubLayersPopupButton.d.ts +1 -1
  287. package/lib/esm/ui/widget/SubLayersPopupButton.d.ts.map +1 -1
  288. package/lib/esm/ui/widget/SubLayersPopupButton.js +6 -11
  289. package/lib/esm/ui/widget/SubLayersPopupButton.js.map +1 -1
  290. package/lib/esm/ui/widget/SubLayersTree.d.ts +2 -2
  291. package/lib/esm/ui/widget/SubLayersTree.d.ts.map +1 -1
  292. package/lib/esm/ui/widget/SubLayersTree.js +59 -44
  293. package/lib/esm/ui/widget/SubLayersTree.js.map +1 -1
  294. package/lib/esm/ui/widget/SubLayersTree.scss +4 -7
  295. package/lib/esm/ui/widget/TransparencyPopupButton.d.ts.map +1 -1
  296. package/lib/esm/ui/widget/TransparencyPopupButton.js +8 -14
  297. package/lib/esm/ui/widget/TransparencyPopupButton.js.map +1 -1
  298. package/lib/esm/ui/widget/TransparencyPopupButton.scss +1 -2
  299. package/lib/esm/ui/widget/UserPreferencesStorageOptions.d.ts +1 -1
  300. package/lib/esm/ui/widget/UserPreferencesStorageOptions.d.ts.map +1 -1
  301. package/lib/esm/ui/widget/UserPreferencesStorageOptions.js +2 -8
  302. package/lib/esm/ui/widget/UserPreferencesStorageOptions.js.map +1 -1
  303. package/lib/public/locales/en/mapLayers.json +179 -184
  304. package/package.json +9 -21
@@ -1,7 +1,8 @@
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
2
  /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
5
6
  // cSpell:ignore droppable Sublayer Basemap
6
7
  // the following quiet warning caused by react-beautiful-dnd package
7
8
  /* eslint-disable @typescript-eslint/unbound-method */
@@ -9,8 +10,8 @@ import "./MapLayerManager.scss";
9
10
  import * as React from "react";
10
11
  import { DragDropContext } from "react-beautiful-dnd";
11
12
  import { BentleyError, compareStrings } from "@itwin/core-bentley";
12
- import { BackgroundMapProvider, BackgroundMapType, BaseMapLayerSettings, ImageMapLayerSettings, } from "@itwin/core-common";
13
- import { ImageryMapTileTree, IModelApp, MapLayerSources, NotifyMessageDetails, OutputMessagePriority, } from "@itwin/core-frontend";
13
+ import { BackgroundMapProvider, BackgroundMapType, BaseMapLayerSettings, ImageMapLayerSettings } from "@itwin/core-common";
14
+ import { ImageryMapTileTree, IModelApp, MapLayerSources, NotifyMessageDetails, OutputMessagePriority } from "@itwin/core-frontend";
14
15
  import { ToggleSwitch } from "@itwin/itwinui-react";
15
16
  import { CustomParamsMappingStorage } from "../../CustomParamsMappingStorage";
16
17
  import { CustomParamUtils } from "../../CustomParamUtils";
@@ -21,6 +22,7 @@ import { MapLayerActionButtons } from "./MapLayerActionButtons";
21
22
  import { MapLayerDroppable } from "./MapLayerDroppable";
22
23
  import { MapLayerSettingsPopupButton } from "./MapLayerSettingsPopupButton";
23
24
  import { MapManagerLayersHeader } from "./MapManagerMapLayersHeader";
25
+ import { MapLayersSyncUiEventId } from "../../MapLayersActionIds";
24
26
  /** @internal */
25
27
  export const defaultBaseMapLayers = [
26
28
  BaseMapLayerSettings.fromProvider(BackgroundMapProvider.fromJSON({ name: "BingProvider", type: BackgroundMapType.Aerial })),
@@ -29,6 +31,7 @@ export const defaultBaseMapLayers = [
29
31
  ];
30
32
  /** @internal */
31
33
  export const SourceMapContext = React.createContext({
34
+ // eslint-disable-line @typescript-eslint/naming-convention
32
35
  sources: [],
33
36
  loadingSources: false,
34
37
  bases: [],
@@ -43,16 +46,17 @@ function getSubLayerProps(subLayerSettings) {
43
46
  }
44
47
  function getMapLayerSettingsFromViewport(viewport, getBackgroundMap, populateSubLayers = true) {
45
48
  const displayStyle = viewport.displayStyle;
46
- if (!displayStyle)
49
+ if (!displayStyle) {
47
50
  return undefined;
51
+ }
48
52
  const layers = new Array();
49
- const displayStyleLayers = (getBackgroundMap ? displayStyle.settings.mapImagery.backgroundLayers : displayStyle.settings.mapImagery.overlayLayers);
53
+ const displayStyleLayers = getBackgroundMap ? displayStyle.settings.mapImagery.backgroundLayers : displayStyle.settings.mapImagery.overlayLayers;
50
54
  for (let layerIndex = 0; layerIndex < displayStyleLayers.length; layerIndex++) {
51
55
  const layerSettings = displayStyleLayers[layerIndex];
52
56
  const isOverlay = !getBackgroundMap;
53
57
  const layerProvider = viewport.getMapLayerImageryProvider({ index: layerIndex, isOverlay });
54
58
  const treeVisibility = viewport.getMapLayerScaleRangeVisibility({ index: layerIndex, isOverlay });
55
- const popSubLayers = populateSubLayers && (layerSettings instanceof ImageMapLayerSettings);
59
+ const popSubLayers = populateSubLayers && layerSettings instanceof ImageMapLayerSettings;
56
60
  layers.push({
57
61
  visible: layerSettings.visible,
58
62
  treeVisibility,
@@ -122,14 +126,17 @@ export function MapLayerManager(props) {
122
126
  React.useEffect(() => {
123
127
  const handleScaleRangeVisibilityChanged = (layerIndexes) => {
124
128
  const updateLayers = (array) => {
125
- if (array === undefined)
129
+ if (array === undefined) {
126
130
  return undefined;
131
+ }
127
132
  return array.map((curStyledLayer) => {
128
133
  const foundScaleRangeVisibility = layerIndexes.find((layerIdx) => layerIdx.index === curStyledLayer.layerIndex && layerIdx.isOverlay === curStyledLayer.isOverlay);
129
- if (undefined === foundScaleRangeVisibility)
134
+ if (undefined === foundScaleRangeVisibility) {
130
135
  return curStyledLayer;
131
- else
136
+ }
137
+ else {
132
138
  return { ...curStyledLayer, treeVisibility: foundScaleRangeVisibility.visibility };
139
+ }
133
140
  });
134
141
  };
135
142
  setBackgroundMapLayers(updateLayers(backgroundMapLayers));
@@ -140,10 +147,11 @@ export function MapLayerManager(props) {
140
147
  // Setup onMapImageryChanged events listening.
141
148
  React.useEffect(() => {
142
149
  const handleMapImageryChanged = (args) => {
143
- if (args.backgroundLayers.length !== (backgroundMapLayers ? backgroundMapLayers.length : 0)
144
- || args.overlayLayers.length !== (overlayMapLayers ? overlayMapLayers.length : 0)) {
150
+ if (args.backgroundLayers.length !== (backgroundMapLayers ? backgroundMapLayers.length : 0) ||
151
+ args.overlayLayers.length !== (overlayMapLayers ? overlayMapLayers.length : 0)) {
145
152
  loadMapLayerSettingsFromViewport(activeViewport);
146
153
  }
154
+ IModelApp.toolAdmin.dispatchUiSyncEvent(MapLayersSyncUiEventId.MapImageryChanged);
147
155
  };
148
156
  return activeViewport?.displayStyle.settings.onMapImageryChanged.addListener(handleMapImageryChanged);
149
157
  }, [activeViewport, backgroundMapLayers, loadMapLayerSettingsFromViewport, overlayMapLayers]);
@@ -152,11 +160,19 @@ export function MapLayerManager(props) {
152
160
  }, [loadMapLayerSettingsFromViewport, activeViewport]);
153
161
  // Triggered whenever a provider status change
154
162
  React.useEffect(() => {
155
- backgroundMapLayers?.forEach((layer) => { layer.provider?.onStatusChanged.addListener(handleProviderStatusChanged); });
156
- overlayMapLayers?.forEach((layer) => { layer.provider?.onStatusChanged.addListener(handleProviderStatusChanged); });
163
+ backgroundMapLayers?.forEach((layer) => {
164
+ layer.provider?.onStatusChanged.addListener(handleProviderStatusChanged);
165
+ });
166
+ overlayMapLayers?.forEach((layer) => {
167
+ layer.provider?.onStatusChanged.addListener(handleProviderStatusChanged);
168
+ });
157
169
  return () => {
158
- backgroundMapLayers?.forEach((layer) => { layer.provider?.onStatusChanged.removeListener(handleProviderStatusChanged); });
159
- overlayMapLayers?.forEach((layer) => { layer.provider?.onStatusChanged.removeListener(handleProviderStatusChanged); });
170
+ backgroundMapLayers?.forEach((layer) => {
171
+ layer.provider?.onStatusChanged.removeListener(handleProviderStatusChanged);
172
+ });
173
+ overlayMapLayers?.forEach((layer) => {
174
+ layer.provider?.onStatusChanged.removeListener(handleProviderStatusChanged);
175
+ });
160
176
  };
161
177
  }, [backgroundMapLayers, overlayMapLayers, activeViewport, loadMapLayerSettingsFromViewport, handleProviderStatusChanged]);
162
178
  // Monitor viewport updates, and refresh the widget accordingly.
@@ -170,7 +186,7 @@ export function MapLayerManager(props) {
170
186
  React.useEffect(() => {
171
187
  async function fetchSources() {
172
188
  let preferenceSources = [];
173
- const sourceLayers = await MapLayerSources.create(undefined, (fetchPublicMapLayerSources && !hideExternalMapLayersSection));
189
+ const sourceLayers = await MapLayerSources.create(undefined, fetchPublicMapLayerSources && !hideExternalMapLayersSection);
174
190
  const iModel = activeViewport.iModel;
175
191
  try {
176
192
  if (iModel?.iTwinId !== undefined) {
@@ -202,30 +218,33 @@ export function MapLayerManager(props) {
202
218
  setMapSources(sources);
203
219
  }
204
220
  setLoadingSources(true);
205
- fetchSources().then(() => {
221
+ fetchSources()
222
+ .then(() => {
206
223
  if (isMounted.current) {
207
224
  setLoadingSources(false);
208
225
  }
209
- }).catch(() => {
226
+ })
227
+ .catch(() => {
210
228
  if (isMounted.current) {
211
229
  setLoadingSources(false);
212
230
  }
213
231
  });
214
232
  }, [setMapSources, fetchPublicMapLayerSources, hideExternalMapLayersSection, activeViewport.iModel]);
215
233
  /**
216
- * Handle change events in the MapLayerPreferences
217
- */
234
+ * Handle change events in the MapLayerPreferences
235
+ */
218
236
  React.useEffect(() => {
219
237
  const handleLayerSourceChange = async (changeType, oldSource, newSource) => {
220
- const removeSource = (changeType === MapLayerSourceChangeType.Replaced || changeType === MapLayerSourceChangeType.Removed);
221
- const addSource = (changeType === MapLayerSourceChangeType.Replaced || changeType === MapLayerSourceChangeType.Added);
222
- let tmpSources = (mapSources ? [...mapSources] : undefined);
238
+ const removeSource = changeType === MapLayerSourceChangeType.Replaced || changeType === MapLayerSourceChangeType.Removed;
239
+ const addSource = changeType === MapLayerSourceChangeType.Replaced || changeType === MapLayerSourceChangeType.Added;
240
+ let tmpSources = mapSources ? [...mapSources] : undefined;
223
241
  if (removeSource) {
224
242
  if (oldSource && tmpSources) {
225
243
  tmpSources = tmpSources.filter((source) => source.name !== oldSource.name);
226
244
  // We don't update state in case of replacement... it will be done when the source is re-added right after.
227
- if (changeType !== MapLayerSourceChangeType.Replaced)
245
+ if (changeType !== MapLayerSourceChangeType.Replaced) {
228
246
  setMapSources(tmpSources);
247
+ }
229
248
  }
230
249
  }
231
250
  if (addSource) {
@@ -246,22 +265,27 @@ export function MapLayerManager(props) {
246
265
  return activeViewport?.onDisplayStyleChanged.addListener(handleDisplayStyleChange);
247
266
  }, [activeViewport, loadMapLayerSettingsFromViewport]);
248
267
  const handleOnMenuItemSelection = React.useCallback((action, mapLayerSettings) => {
249
- if (!activeViewport || !activeViewport.displayStyle)
268
+ if (!activeViewport || !activeViewport.displayStyle) {
250
269
  return;
270
+ }
251
271
  const indexInDisplayStyle = activeViewport.displayStyle.findMapLayerIndexByNameAndSource(mapLayerSettings.name, mapLayerSettings.source, mapLayerSettings.isOverlay);
252
- if (indexInDisplayStyle < 0)
272
+ if (indexInDisplayStyle < 0) {
253
273
  return;
274
+ }
254
275
  switch (action) {
255
276
  case "delete":
256
277
  activeViewport.displayStyle.detachMapLayerByIndex({ index: indexInDisplayStyle, isOverlay: mapLayerSettings.isOverlay });
257
278
  break;
258
279
  case "zoom-to-layer":
259
- activeViewport.viewMapLayerRange({ index: indexInDisplayStyle, isOverlay: mapLayerSettings.isOverlay }, activeViewport).then((status) => {
280
+ activeViewport
281
+ .viewMapLayerRange({ index: indexInDisplayStyle, isOverlay: mapLayerSettings.isOverlay }, activeViewport)
282
+ .then((status) => {
260
283
  if (!status) {
261
284
  const msg = MapLayersUI.localization.getLocalizedString("mapLayers:Messages.NoRangeDefined");
262
285
  IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Error, `${msg} [${mapLayerSettings.name}]`));
263
286
  }
264
- }).catch((_error) => { });
287
+ })
288
+ .catch((_error) => { });
265
289
  break;
266
290
  }
267
291
  // force UI to update
@@ -285,38 +309,49 @@ export function MapLayerManager(props) {
285
309
  const newState = !backgroundMapVisible;
286
310
  activeViewport.viewFlags = activeViewport.viewFlags.with("backgroundMap", newState);
287
311
  setBackgroundMapVisible(newState);
312
+ IModelApp.toolAdmin.dispatchUiSyncEvent(MapLayersSyncUiEventId.MapImageryChanged);
288
313
  }
289
314
  }, [backgroundMapVisible, setBackgroundMapVisible, activeViewport]);
290
315
  const handleOnMapLayerDragEnd = React.useCallback((result /* , _provided: ResponderProvided*/) => {
291
316
  const { destination, source } = result;
292
- if (!destination) // dropped outside of list
317
+ if (!destination) {
318
+ // dropped outside of list
293
319
  return;
320
+ }
294
321
  // item was not moved
295
- if (destination.droppableId === source.droppableId && destination.index === source.index)
322
+ if (destination.droppableId === source.droppableId && destination.index === source.index) {
296
323
  return;
324
+ }
297
325
  let fromMapLayer;
298
- if (source.droppableId === "overlayMapLayers" && overlayMapLayers)
326
+ if (source.droppableId === "overlayMapLayers" && overlayMapLayers) {
299
327
  fromMapLayer = overlayMapLayers[source.index];
300
- else if (source.droppableId === "backgroundMapLayers" && backgroundMapLayers)
328
+ }
329
+ else if (source.droppableId === "backgroundMapLayers" && backgroundMapLayers) {
301
330
  fromMapLayer = backgroundMapLayers[source.index];
302
- if (!fromMapLayer || !activeViewport)
331
+ }
332
+ if (!fromMapLayer || !activeViewport) {
303
333
  return;
334
+ }
304
335
  const displayStyle = activeViewport.displayStyle;
305
336
  let toMapLayer;
306
337
  let toIndexInDisplayStyle = -1;
307
338
  // If destination.index is undefined then the user dropped the map at the end of list of maps. To get the "actual" index in the style, look up index in style by name.
308
339
  // We need to do this because the order of layers in UI are reversed so higher layers appear above lower layers.
309
340
  if (undefined !== destination.index) {
310
- if (destination.droppableId === "overlayMapLayers" && overlayMapLayers)
341
+ if (destination.droppableId === "overlayMapLayers" && overlayMapLayers) {
311
342
  toMapLayer = overlayMapLayers[destination.index];
312
- else if (destination.droppableId === "backgroundMapLayers" && backgroundMapLayers)
343
+ }
344
+ else if (destination.droppableId === "backgroundMapLayers" && backgroundMapLayers) {
313
345
  toMapLayer = backgroundMapLayers[destination.index];
314
- if (toMapLayer)
346
+ }
347
+ if (toMapLayer) {
315
348
  toIndexInDisplayStyle = displayStyle.findMapLayerIndexByNameAndSource(toMapLayer.name, toMapLayer.source, toMapLayer.isOverlay);
349
+ }
316
350
  }
317
351
  const fromIndexInDisplayStyle = displayStyle.findMapLayerIndexByNameAndSource(fromMapLayer.name, fromMapLayer.source, fromMapLayer.isOverlay);
318
- if (fromIndexInDisplayStyle < 0)
352
+ if (fromIndexInDisplayStyle < 0) {
319
353
  return;
354
+ }
320
355
  if (destination.droppableId !== source.droppableId) {
321
356
  // see if we moved from "overlayMapLayers" to "backgroundMapLayers" or vice-versa
322
357
  const settings = activeViewport.displayStyle.mapLayerAtIndex({ index: fromIndexInDisplayStyle, isOverlay: fromMapLayer.isOverlay });
@@ -338,8 +373,9 @@ export function MapLayerManager(props) {
338
373
  }
339
374
  else {
340
375
  if (toMapLayer) {
341
- if (toIndexInDisplayStyle !== -1)
376
+ if (toIndexInDisplayStyle !== -1) {
342
377
  displayStyle.moveMapLayerToIndex(fromIndexInDisplayStyle, toIndexInDisplayStyle, toMapLayer.isOverlay);
378
+ }
343
379
  }
344
380
  }
345
381
  }
@@ -349,77 +385,105 @@ export function MapLayerManager(props) {
349
385
  loadMapLayerSettingsFromViewport(activeViewport);
350
386
  }, [loadMapLayerSettingsFromViewport, activeViewport, overlayMapLayers, backgroundMapLayers]);
351
387
  const handleRefreshFromStyle = React.useCallback(() => {
352
- if (activeViewport)
388
+ if (activeViewport) {
353
389
  loadMapLayerSettingsFromViewport(activeViewport);
390
+ }
354
391
  }, [activeViewport, loadMapLayerSettingsFromViewport]);
355
392
  const handleItemSelected = React.useCallback((isOverlay, _index) => {
356
393
  if (isOverlay) {
357
- if (overlayMapLayers)
394
+ if (overlayMapLayers) {
358
395
  setOverlayMapLayers([...overlayMapLayers]);
396
+ }
359
397
  }
360
398
  else {
361
- if (backgroundMapLayers)
399
+ if (backgroundMapLayers) {
362
400
  setBackgroundMapLayers([...backgroundMapLayers]);
401
+ }
363
402
  }
364
403
  }, [backgroundMapLayers, overlayMapLayers]);
365
404
  const hasItemSelected = React.useCallback((isOverlay) => {
366
- const layerList = (isOverlay ? overlayMapLayers : backgroundMapLayers);
367
- if (!layerList)
405
+ const layerList = isOverlay ? overlayMapLayers : backgroundMapLayers;
406
+ if (!layerList) {
368
407
  return false;
408
+ }
369
409
  return undefined !== layerList?.find((value) => value.selected === true);
370
410
  }, [backgroundMapLayers, overlayMapLayers]);
371
411
  const changeLayerVisibility = React.useCallback((visible, index, isOverlay) => {
372
412
  activeViewport.displayStyle.changeMapLayerProps({ visible }, { index, isOverlay });
373
413
  }, [activeViewport]);
374
414
  const changeAllLayerVisibility = React.useCallback(async (visible, isOverlay) => {
375
- if (isOverlay === undefined || !isOverlay)
415
+ if (isOverlay === undefined || !isOverlay) {
376
416
  backgroundMapLayers?.forEach((layer) => changeLayerVisibility(visible, layer.layerIndex, layer.isOverlay));
377
- if (isOverlay === undefined || isOverlay)
417
+ }
418
+ if (isOverlay === undefined || isOverlay) {
378
419
  overlayMapLayers?.forEach((layer) => changeLayerVisibility(visible, layer.layerIndex, layer.isOverlay));
420
+ }
379
421
  }, [backgroundMapLayers, overlayMapLayers, changeLayerVisibility]);
380
422
  const invertAllLayerVisibility = React.useCallback(async (isOverlay) => {
381
- if (isOverlay === undefined || !isOverlay)
423
+ if (isOverlay === undefined || !isOverlay) {
382
424
  backgroundMapLayers?.forEach((layer) => changeLayerVisibility(!layer.visible, layer.layerIndex, layer.isOverlay));
383
- if (isOverlay === undefined || isOverlay)
425
+ }
426
+ if (isOverlay === undefined || isOverlay) {
384
427
  overlayMapLayers?.forEach((layer) => changeLayerVisibility(!layer.visible, layer.layerIndex, layer.isOverlay));
428
+ }
385
429
  }, [backgroundMapLayers, overlayMapLayers, changeLayerVisibility]);
386
430
  const detachSelectedLayers = React.useCallback(async (isOverlay) => {
387
- const layerList = (isOverlay ? overlayMapLayers : backgroundMapLayers);
388
- if (!layerList || layerList.length === 0)
431
+ const layerList = isOverlay ? overlayMapLayers : backgroundMapLayers;
432
+ if (!layerList || layerList.length === 0) {
389
433
  return;
434
+ }
390
435
  for (let i = 0; i < layerList.length; i++) {
391
436
  if (layerList[i].selected) {
392
- const index = (layerList.length - 1) - i; // Layers are reverted order is display style
437
+ const index = layerList.length - 1 - i; // Layers are reverted order is display style
393
438
  activeViewport.displayStyle.detachMapLayerByIndex({ isOverlay, index });
394
439
  }
395
440
  }
396
441
  }, [activeViewport, overlayMapLayers, backgroundMapLayers]);
397
442
  const selectAllLayers = React.useCallback(async (isOverlay) => {
398
- if (!overlayMapLayers || !backgroundMapLayers)
443
+ if (!overlayMapLayers || !backgroundMapLayers) {
399
444
  return;
400
- const layerList = (isOverlay ? [...overlayMapLayers] : [...backgroundMapLayers]);
445
+ }
446
+ const layerList = isOverlay ? [...overlayMapLayers] : [...backgroundMapLayers];
401
447
  const hasCheckedLayer = undefined !== layerList?.find((value) => value.selected === true);
402
- layerList.forEach((layer) => { layer.selected = !hasCheckedLayer; });
403
- if (isOverlay)
448
+ layerList.forEach((layer) => {
449
+ layer.selected = !hasCheckedLayer;
450
+ });
451
+ if (isOverlay) {
404
452
  setOverlayMapLayers(layerList);
405
- else
453
+ }
454
+ else {
406
455
  setBackgroundMapLayers(layerList);
456
+ }
407
457
  }, [overlayMapLayers, backgroundMapLayers]);
408
458
  const renderMapLayersList = React.useCallback((options) => {
409
- if (!overlayMapLayers || !backgroundMapLayers)
410
- return React.createElement(React.Fragment, null);
459
+ if (!overlayMapLayers || !backgroundMapLayers) {
460
+ return _jsx(_Fragment, {});
461
+ }
411
462
  const { isOverlay } = options;
412
- const layerList = (isOverlay ? [...overlayMapLayers] : [...backgroundMapLayers]);
413
- const label = (isOverlay ? overlaysLabel : underlaysLabel);
414
- return (React.createElement("div", { className: "map-manager-layer-wrapper", "data-testid": "map-manager-layer-section" },
415
- React.createElement(MapManagerLayersHeader, { label: label, isOverlay: isOverlay, disabled: !backgroundMapVisible }),
416
- (layerList && layerList.length > 0) &&
417
- React.createElement(React.Fragment, null,
418
- React.createElement(MapLayerActionButtons, { disabled: !backgroundMapVisible, disabledUnlink: !hasItemSelected(isOverlay), hideAll: async () => changeAllLayerVisibility(false, isOverlay), showAll: async () => changeAllLayerVisibility(true, isOverlay), invert: async () => invertAllLayerVisibility(isOverlay), selectAll: async () => selectAllLayers(isOverlay), unlink: async () => detachSelectedLayers(isOverlay), checked: hasItemSelected(isOverlay) })),
419
- React.createElement(MapLayerDroppable, { disabled: !backgroundMapVisible, isOverlay: isOverlay, layersList: layerList, mapLayerOptions: props.mapLayerOptions, getContainerForClone: props.getContainerForClone, activeViewport: props.activeViewport, onMenuItemSelected: handleOnMenuItemSelection, onItemVisibilityToggleClicked: handleLayerVisibilityChange, onItemSelected: handleItemSelected, onItemEdited: handleRefreshFromStyle })));
420
- }, [backgroundMapLayers, backgroundMapVisible, changeAllLayerVisibility, detachSelectedLayers, handleItemSelected, handleLayerVisibilityChange, handleOnMenuItemSelection, handleRefreshFromStyle, hasItemSelected, invertAllLayerVisibility, overlayMapLayers, overlaysLabel, props.activeViewport, props.getContainerForClone, props.mapLayerOptions, selectAllLayers, underlaysLabel]);
463
+ const layerList = isOverlay ? [...overlayMapLayers] : [...backgroundMapLayers];
464
+ const label = isOverlay ? overlaysLabel : underlaysLabel;
465
+ return (_jsxs("div", { className: "map-manager-layer-wrapper", "data-testid": "map-manager-layer-section", children: [_jsx(MapManagerLayersHeader, { label: label, isOverlay: isOverlay, disabled: !backgroundMapVisible }), layerList && layerList.length > 0 && (_jsx(_Fragment, { children: _jsx(MapLayerActionButtons, { disabled: !backgroundMapVisible, disabledUnlink: !hasItemSelected(isOverlay), hideAll: async () => changeAllLayerVisibility(false, isOverlay), showAll: async () => changeAllLayerVisibility(true, isOverlay), invert: async () => invertAllLayerVisibility(isOverlay), selectAll: async () => selectAllLayers(isOverlay), unlink: async () => detachSelectedLayers(isOverlay), checked: hasItemSelected(isOverlay) }) })), _jsx(MapLayerDroppable, { disabled: !backgroundMapVisible, isOverlay: isOverlay, layersList: layerList, mapLayerOptions: props.mapLayerOptions, getContainerForClone: props.getContainerForClone, activeViewport: props.activeViewport, onMenuItemSelected: handleOnMenuItemSelection, onItemVisibilityToggleClicked: handleLayerVisibilityChange, onItemSelected: handleItemSelected, onItemEdited: handleRefreshFromStyle })] }));
466
+ }, [
467
+ backgroundMapLayers,
468
+ backgroundMapVisible,
469
+ changeAllLayerVisibility,
470
+ detachSelectedLayers,
471
+ handleItemSelected,
472
+ handleLayerVisibilityChange,
473
+ handleOnMenuItemSelection,
474
+ handleRefreshFromStyle,
475
+ hasItemSelected,
476
+ invertAllLayerVisibility,
477
+ overlayMapLayers,
478
+ overlaysLabel,
479
+ props.activeViewport,
480
+ props.getContainerForClone,
481
+ props.mapLayerOptions,
482
+ selectAllLayers,
483
+ underlaysLabel,
484
+ ]);
421
485
  const [baseMapPanelLabel] = React.useState(MapLayersUI.localization.getLocalizedString("mapLayers:Basemap.BaseMapPanelTitle"));
422
- return (React.createElement(SourceMapContext.Provider, { value: {
486
+ return (_jsxs(SourceMapContext.Provider, { value: {
423
487
  activeViewport,
424
488
  loadingSources,
425
489
  sources: mapSources ? mapSources : [],
@@ -428,19 +492,6 @@ export function MapLayerManager(props) {
428
492
  backgroundLayers: backgroundMapLayers,
429
493
  overlayLayers: overlayMapLayers,
430
494
  mapLayerOptions,
431
- } },
432
- React.createElement("div", { className: "map-manager-top-header" },
433
- React.createElement("span", { className: "map-manager-header-label" }, baseMapPanelLabel),
434
- React.createElement("div", { className: "map-manager-header-buttons-group" },
435
- React.createElement(ToggleSwitch, { className: "map-manager-toggle", checked: backgroundMapVisible, onChange: handleMapLayersToggle }),
436
- React.createElement(MapLayerSettingsPopupButton, { disabled: !backgroundMapVisible }))),
437
- React.createElement("div", { className: "map-manager-container" },
438
- React.createElement("div", { className: "map-manager-basemap" },
439
- React.createElement(BasemapPanel, { disabled: !backgroundMapVisible })),
440
- !hideExternalMapLayersSection &&
441
- React.createElement("div", null,
442
- React.createElement(DragDropContext, { onDragEnd: handleOnMapLayerDragEnd },
443
- renderMapLayersList({ isOverlay: false }),
444
- renderMapLayersList({ isOverlay: true }))))));
495
+ }, children: [_jsxs("div", { className: "map-manager-top-header", children: [_jsx("span", { className: "map-manager-header-label", children: baseMapPanelLabel }), _jsxs("div", { className: "map-manager-header-buttons-group", children: [_jsx(ToggleSwitch, { className: "map-manager-toggle", checked: backgroundMapVisible, onChange: handleMapLayersToggle }), _jsx(MapLayerSettingsPopupButton, { disabled: !backgroundMapVisible })] })] }), _jsxs("div", { className: "map-manager-container", children: [_jsx("div", { className: "map-manager-basemap", children: _jsx(BasemapPanel, { disabled: !backgroundMapVisible }) }), !hideExternalMapLayersSection && (_jsx("div", { children: _jsxs(DragDropContext, { onDragEnd: handleOnMapLayerDragEnd, children: [renderMapLayersList({ isOverlay: false }), renderMapLayersList({ isOverlay: true })] }) }))] })] }));
445
496
  }
446
497
  //# sourceMappingURL=MapLayerManager.js.map