kepler.gl 3.1.5 → 3.1.7

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 (165) hide show
  1. package/dist/src/actions/src/action-types.d.ts +2 -2
  2. package/dist/src/actions/src/action-wrapper.d.ts +2 -2
  3. package/dist/src/actions/src/actions.d.ts +3 -3
  4. package/dist/src/actions/src/map-state-actions.d.ts +4 -4
  5. package/dist/src/actions/src/vis-state-actions.d.ts +2 -2
  6. package/dist/src/ai-assistant/src/tools/kepler-tools/index.d.ts +1 -1
  7. package/dist/src/ai-assistant/src/tools/tools.d.ts +1 -1
  8. package/dist/src/components/src/kepler-gl.d.ts +1 -1
  9. package/dist/src/components/src/side-panel/layer-panel/layer-configurator.d.ts +4 -4
  10. package/dist/src/constants/src/default-settings.d.ts +8 -6
  11. package/dist/src/duckdb/src/table/duckdb-table.d.ts +1 -1
  12. package/dist/src/effects/src/effect.d.ts +1 -0
  13. package/dist/src/reducers/src/index.d.ts +1 -0
  14. package/dist/src/reducers/src/layer-utils.d.ts +2 -0
  15. package/dist/src/reducers/src/map-style-updaters.d.ts +1 -0
  16. package/dist/src/reducers/src/vis-state.d.ts +4 -4
  17. package/dist/src/styles/src/base.d.ts +4 -0
  18. package/dist/src/table/src/kepler-table.d.ts +2 -2
  19. package/dist/src/utils/src/application-config.d.ts +1 -0
  20. package/package.json +2 -2
  21. package/src/actions/dist/action-types.d.ts +2 -2
  22. package/src/actions/dist/action-types.js +3 -3
  23. package/src/actions/dist/action-wrapper.d.ts +2 -2
  24. package/src/actions/dist/action-wrapper.js +3 -3
  25. package/src/actions/dist/actions.d.ts +3 -3
  26. package/src/actions/dist/actions.js +4 -4
  27. package/src/actions/dist/map-state-actions.d.ts +4 -4
  28. package/src/actions/dist/map-state-actions.js +5 -5
  29. package/src/actions/dist/vis-state-actions.d.ts +2 -2
  30. package/src/actions/dist/vis-state-actions.js +3 -3
  31. package/src/actions/package.json +8 -8
  32. package/src/actions/src/action-types.ts +2 -2
  33. package/src/actions/src/action-wrapper.ts +2 -2
  34. package/src/actions/src/actions.ts +3 -3
  35. package/src/actions/src/map-state-actions.ts +4 -4
  36. package/src/actions/src/vis-state-actions.ts +2 -2
  37. package/src/ai-assistant/dist/tools/kepler-tools/index.d.ts +1 -1
  38. package/src/ai-assistant/dist/tools/tools.d.ts +1 -1
  39. package/src/ai-assistant/package.json +7 -7
  40. package/src/cloud-providers/package.json +2 -2
  41. package/src/common-utils/package.json +3 -3
  42. package/src/components/dist/effects/effect-type-list-item.js +4 -8
  43. package/src/components/dist/kepler-gl.d.ts +1 -1
  44. package/src/components/dist/loading-indicator.js +7 -3
  45. package/src/components/dist/map-container.js +18 -3
  46. package/src/components/dist/modals/add-map-style-modal.js +2 -2
  47. package/src/components/dist/modals/export-image-modal.js +1 -2
  48. package/src/components/dist/plot-container.js +15 -1
  49. package/src/components/dist/side-panel/layer-panel/layer-configurator.d.ts +4 -4
  50. package/src/components/dist/side-panel/layer-panel/layer-list.js +2 -4
  51. package/src/components/dist/side-panel/layer-panel/layer-type-list-item.js +8 -5
  52. package/src/components/dist/side-panel/layer-panel/raster-tile-colormap-list-item.js +2 -3
  53. package/src/components/dist/side-panel/layer-panel/vis-config-slider.js +10 -5
  54. package/src/components/dist/side-panel/map-style-panel/map-style-selector.js +3 -2
  55. package/src/components/package.json +15 -15
  56. package/src/components/src/effects/effect-type-list-item.tsx +2 -5
  57. package/src/components/src/loading-indicator.tsx +13 -3
  58. package/src/components/src/map-container.tsx +20 -6
  59. package/src/components/src/modals/add-map-style-modal.tsx +1 -1
  60. package/src/components/src/modals/export-image-modal.tsx +0 -1
  61. package/src/components/src/plot-container.tsx +19 -2
  62. package/src/components/src/side-panel/layer-panel/layer-list.tsx +0 -1
  63. package/src/components/src/side-panel/layer-panel/layer-type-list-item.tsx +11 -4
  64. package/src/components/src/side-panel/layer-panel/raster-tile-colormap-list-item.tsx +2 -3
  65. package/src/components/src/side-panel/layer-panel/vis-config-slider.tsx +12 -5
  66. package/src/components/src/side-panel/map-style-panel/map-style-selector.tsx +7 -1
  67. package/src/constants/dist/default-settings.d.ts +8 -6
  68. package/src/constants/dist/default-settings.js +9 -13
  69. package/src/constants/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/14/ab/1fbe8d595eaf6f179613022ba62b99ba41fe2f6b8061293406468a705d53002cfb0ba12e6833df2aa9c4c55b7061e239395129a1515da317d57e518b1dc7 +1 -0
  70. package/src/constants/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/37/b0/3745c4bb4b6114fa3433e4871042f7db966b48b29cde3301afe38370cecfe41f5aac801adc6fa93f6cd05411c521215e58542853414a81c0904ba4291e09 +1 -0
  71. package/src/constants/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/a6/24/e627b9d220d419ebbcd587d4a259bfdefa4e2a415bffa609a2388ad0b2f98ff87bc25b05959f5523f920d81c80d22ea832fea3de26f385bf3980061f6192 +1 -0
  72. package/src/constants/node_modules/.cache/terser-webpack-plugin/index-v5/68/bb/2c3d5cb60ef7b9e6d889b7d9b75b05761c58ee43b954df1a262102d3a106 +2 -0
  73. package/src/constants/node_modules/.cache/terser-webpack-plugin/index-v5/93/38/f167b214acd87fc28cf533f463b7423ce65340878809b494323fae359cb4 +2 -0
  74. package/src/constants/node_modules/.cache/terser-webpack-plugin/index-v5/c9/15/fa84924a275687fd07d9edc843fb826bd3d3733dc8f56523787fb2cba9b4 +2 -0
  75. package/src/constants/package.json +2 -2
  76. package/src/constants/src/default-settings.ts +5 -10
  77. package/src/constants/umd/keplergl.min.js +1 -1
  78. package/src/deckgl-arrow-layers/package.json +2 -2
  79. package/src/deckgl-layers/dist/raster/images.js +3 -3
  80. package/src/deckgl-layers/dist/raster/raster-mesh-layer/raster-mesh-layer-webgl2.vs.d.ts +1 -1
  81. package/src/deckgl-layers/dist/raster/raster-mesh-layer/raster-mesh-layer-webgl2.vs.js +2 -2
  82. package/src/deckgl-layers/dist/raster/raster-mesh-layer/raster-mesh-layer.js +3 -9
  83. package/src/deckgl-layers/package.json +4 -4
  84. package/src/deckgl-layers/src/raster/images.ts +1 -1
  85. package/src/deckgl-layers/src/raster/raster-mesh-layer/raster-mesh-layer-webgl2.vs.ts +12 -33
  86. package/src/deckgl-layers/src/raster/raster-mesh-layer/raster-mesh-layer.ts +2 -5
  87. package/src/duckdb/dist/table/duckdb-table.d.ts +1 -1
  88. package/src/duckdb/package.json +6 -6
  89. package/src/effects/dist/effect.d.ts +1 -0
  90. package/src/effects/dist/effect.js +7 -1
  91. package/src/effects/package.json +5 -5
  92. package/src/effects/src/effect.ts +5 -0
  93. package/src/layers/dist/base-layer.d.ts +1 -1
  94. package/src/layers/dist/geojson-layer/geojson-layer.d.ts +1 -1
  95. package/src/layers/dist/geojson-layer/geojson-utils.d.ts +3 -3
  96. package/src/layers/dist/icon-layer/icon-layer.d.ts +0 -1
  97. package/src/layers/dist/icon-layer/icon-layer.js +3 -4
  98. package/src/layers/dist/index.d.ts +2 -1
  99. package/src/layers/dist/index.js +16 -8
  100. package/src/layers/dist/raster-tile/image.d.ts +6 -0
  101. package/src/layers/dist/raster-tile/image.js +39 -22
  102. package/src/layers/dist/raster-tile/raster-tile-layer.d.ts +2 -8
  103. package/src/layers/dist/raster-tile/raster-tile-layer.js +20 -35
  104. package/src/layers/dist/raster-tile/types.d.ts +1 -0
  105. package/src/layers/dist/raster-tile/types.js +1 -1
  106. package/src/layers/dist/raster-tile/url.d.ts +3 -0
  107. package/src/layers/dist/raster-tile/url.js +7 -1
  108. package/src/layers/dist/trip-layer/trip-layer.d.ts +1 -1
  109. package/src/layers/package.json +9 -9
  110. package/src/layers/src/icon-layer/icon-layer.ts +3 -5
  111. package/src/layers/src/index.ts +2 -1
  112. package/src/layers/src/raster-tile/image.ts +17 -5
  113. package/src/layers/src/raster-tile/raster-tile-layer.ts +18 -29
  114. package/src/layers/src/raster-tile/types.ts +1 -0
  115. package/src/layers/src/raster-tile/url.ts +6 -0
  116. package/src/localization/package.json +1 -1
  117. package/src/processors/package.json +7 -7
  118. package/src/reducers/dist/index.d.ts +1 -0
  119. package/src/reducers/dist/index.js +8 -1
  120. package/src/reducers/dist/layer-utils.d.ts +2 -0
  121. package/src/reducers/dist/layer-utils.js +23 -4
  122. package/src/reducers/dist/map-style-updaters.d.ts +1 -0
  123. package/src/reducers/dist/map-style-updaters.js +10 -5
  124. package/src/reducers/dist/vis-state-updaters.js +3 -12
  125. package/src/reducers/dist/vis-state.d.ts +4 -4
  126. package/src/reducers/package.json +16 -16
  127. package/src/reducers/src/index.ts +1 -0
  128. package/src/reducers/src/layer-utils.ts +22 -4
  129. package/src/reducers/src/map-style-updaters.ts +16 -8
  130. package/src/reducers/src/vis-state-updaters.ts +0 -8
  131. package/src/schemas/package.json +7 -7
  132. package/src/styles/dist/base.d.ts +4 -0
  133. package/src/styles/dist/base.js +10 -5
  134. package/src/styles/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/15/ff/0d5d265a9aac90d367588258e15bade446b406199e4f89eebe00a15f0ae15cb46533e3490a435bd3c2028c11baf5cf980129b56fbc9df269850d75f36930 +1 -0
  135. package/src/styles/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/4b/ee/673360e4b8362fe8483486f8fa132c6b9d9abf45a240d54f76bc3d60d2b01e530c4efd92baad3479d54e7fa48474cb9d52e633ceb9dfec546588b6981cfc +1 -0
  136. package/src/styles/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/a5/1f/7149cdcef3cb8e64025c197e3a6a47482bf1027c0991969349c7f1ec68e76f091966010bb72674850b48ed8361c1953b1b08da7dd66143642b32ce467635 +1 -0
  137. package/src/styles/node_modules/.cache/terser-webpack-plugin/index-v5/b7/6d/49546dbc3e903a5e6771b0ead707e4f4605454ac2bc718d0f0bf801b96a7 +2 -0
  138. package/src/styles/node_modules/.cache/terser-webpack-plugin/index-v5/bf/bd/77b9889db712486a6db4f34442ad9371c8a7a6a8ea20d4d0f484df4dc841 +2 -0
  139. package/src/styles/node_modules/.cache/terser-webpack-plugin/index-v5/c3/91/45735456a88c6ecc20a341b94971da9d02562b936da95a407f157b2f0ece +2 -0
  140. package/src/styles/package.json +2 -2
  141. package/src/styles/src/base.ts +6 -0
  142. package/src/styles/umd/keplergl.min.js +1 -1
  143. package/src/table/dist/{src/table/src/kepler-table.d.ts → kepler-table.d.ts} +2 -2
  144. package/src/table/dist/kepler-table.js +6 -4
  145. package/src/table/dist/tileset/vector-tile-utils.js +2 -2
  146. package/src/table/package.json +5 -5
  147. package/src/table/src/kepler-table.ts +4 -3
  148. package/src/table/src/tileset/vector-tile-utils.ts +1 -1
  149. package/src/table/tsconfig.production.json +2 -1
  150. package/src/tasks/package.json +2 -2
  151. package/src/types/effects.d.ts +1 -0
  152. package/src/types/package.json +1 -1
  153. package/src/utils/dist/application-config.d.ts +1 -0
  154. package/src/utils/dist/application-config.js +4 -4
  155. package/src/utils/package.json +4 -4
  156. package/src/utils/src/application-config.ts +6 -0
  157. package/umd/keplergl.min.js +1226 -1251
  158. package/src/table/dist/src/table/src/tileset/vector-tile-utils.spec.d.ts +0 -1
  159. package/src/table/dist/test/fixtures/tile-metadata.d.ts +0 -65
  160. /package/src/table/dist/{src/table/src/dataset-utils.d.ts → dataset-utils.d.ts} +0 -0
  161. /package/src/table/dist/{src/table/src/gpu-filter-utils.d.ts → gpu-filter-utils.d.ts} +0 -0
  162. /package/src/table/dist/{src/table/src/index.d.ts → index.d.ts} +0 -0
  163. /package/src/table/dist/{src/table/src/tileset → tileset}/raster-tile-utils.d.ts +0 -0
  164. /package/src/table/dist/{src/table/src/tileset → tileset}/tileset-utils.d.ts +0 -0
  165. /package/src/table/dist/{src/table/src/tileset → tileset}/vector-tile-utils.d.ts +0 -0
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.RasterLayerResources = void 0;
6
7
  exports.bandIndexesToURLParams = bandIndexesToURLParams;
7
8
  exports.getMeshMaxError = getMeshMaxError;
8
9
  exports.getSingleCOGUrlParams = getSingleCOGUrlParams;
@@ -182,4 +183,9 @@ function getTerrainUrl(rasterTileServerUrls, x, y, z, meshMaxError) {
182
183
  function getMeshMaxError(z, multiplier) {
183
184
  return 77067.34 / (1 << z) * multiplier;
184
185
  }
185
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdXRpbHMiLCJyZXF1aXJlIiwiX2NvbmZpZyIsIlRJTEVfU0laRSIsIlNUQUNfU0VBUkNIX0RBVEEiLCJzZW50aW5lbENvbGxlY3Rpb25OYW1lIiwic3RhY1NlYXJjaFVybCIsImNvbnN0cnVjdFN0YWNBcGlRdWVyeSIsIm9wdGlvbnMiLCJfU1RBQ19TRUFSQ0hfREFUQSRzdGEiLCJzdGFjIiwic3RhcnREYXRlIiwiZW5kRGF0ZSIsInN0YWNTZWFyY2hQcm92aWRlciIsImNvbGxlY3Rpb25zIiwiaWQiLCJkYXRldGltZSIsImNvbmNhdCIsImdldFN0YWNBcGlVcmwiLCJnZXRTdGFjQXBpVXJsUGFyYW1zIiwibG9hZEFzc2V0SWRzIiwiX29wdGlvbnMkbWFzayIsIm1hc2siLCJxdWVyeSIsIl9zdGFjUXVlcnkiLCJKU09OIiwic3RyaW5naWZ5Iiwic2VhcmNoVXJsIiwiYmFuZEluZGV4QXNzZXRzIiwibWFwIiwiYXNzZXRJZCIsIm1hcHBpbmciLCJERUZBVUxUX0JBTkRfTUFQUElOR1MiLCJiYW5kSW5kZXgiLCJVUkxTZWFyY2hQYXJhbXMiLCJhc3NldHMiLCJqb2luIiwicmV0dXJuX21hc2siLCJTdHJpbmciLCJ1cmwiLCJiYW5kSW5kZXhlc1RvVVJMUGFyYW1zIiwidXJsUGFyYW1zIiwiYmFuZEluZGV4ZXMiLCJnZXRBcHBsaWNhdGlvbkNvbmZpZyIsInJhc3RlclNlcnZlclVzZUxhdGVzdFRpdGlsZXIiLCJmb3JFYWNoIiwiYXBwZW5kIiwidmFsIiwiZ2V0U2luZ2xlQ09HVXJsUGFyYW1zIiwibG9hZEFzc2V0SWQiLCJsb2FkQmFuZEluZGV4ZXMiLCJfb3B0aW9ucyRtYXNrMiIsImhyZWYiLCJnZXRUaXRpbGVyVXJsIiwiX3N0YWMkcmFzdGVyVGlsZVNlcnZlIiwidXNlU1RBQ1NlYXJjaGluZyIsIngiLCJ5IiwieiIsInJhc3RlclRpbGVTZXJ2ZXJVcmxzIiwibGVuZ3RoIiwiRXJyb3IiLCJwYXRoU3RlbSIsImdldFRpdGlsZXJQYXRoTWFwcGluZyIsInNjYWxlIiwiZG9tYWluIiwiY2hvb3NlRG9tYWluIiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwiZG9tYWlucyIsImluZGV4IiwiTWF0aCIsImFicyIsImdldFRlcnJhaW5VcmwiLCJtZXNoTWF4RXJyb3IiLCJwYXJhbXMiLCJtZXNoX21heF9lcnJvciIsInRvRml4ZWQiLCJiYXNlVXJsIiwidG9TdHJpbmciLCJnZXRNZXNoTWF4RXJyb3IiLCJtdWx0aXBsaWVyIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Jhc3Rlci10aWxlL3VybC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG4vKiBVdGlsaXRpZXMgZm9yIGNyZWF0aW5nIHJlcXVlc3QgdXJscyAqL1xuLyogZ2xvYmFsIFVSTFNlYXJjaFBhcmFtcyAqL1xuXG5pbXBvcnQge1N0YWNUeXBlc30gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge2dldEFwcGxpY2F0aW9uQ29uZmlnfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcblxuaW1wb3J0IHtERUZBVUxUX0JBTkRfTUFQUElOR1N9IGZyb20gJy4vY29uZmlnJztcbmltcG9ydCB7XG4gIEFzc2V0SWRzLFxuICBCYW5kSW5kZXhlcyxcbiAgQ29tcGxldGVTVEFDSXRlbSxcbiAgQ29tcGxldGVTVEFDQ29sbGVjdGlvbixcbiAgR2V0VGlsZURhdGFQcm9wc1xufSBmcm9tICcuL3R5cGVzJztcblxudHlwZSBJdGVtID0gU3RhY1R5cGVzLlNUQUNJdGVtO1xudHlwZSBDb2xsZWN0aW9uID0gU3RhY1R5cGVzLlNUQUNDb2xsZWN0aW9uO1xuXG5jb25zdCBUSUxFX1NJWkU6IDI1NiB8IDUxMiA9IDI1NjtcblxuaW50ZXJmYWNlIFN0YWNTZWFyY2hJbmZvIHtcbiAgc2VudGluZWxDb2xsZWN0aW9uTmFtZTogc3RyaW5nW107XG4gIHN0YWNTZWFyY2hVcmw6IHN0cmluZztcbn1cblxuY29uc3QgU1RBQ19TRUFSQ0hfREFUQTogUmVjb3JkPHN0cmluZywgU3RhY1NlYXJjaEluZm8+ID0ge1xuICAvLyBDb21tZW50aW5nIG91dCBNaWNyb3NvZnQgZm9yIG5vd1xuICAvLyBtaWNyb3NvZnQ6IHtcbiAgLy8gICBzZW50aW5lbENvbGxlY3Rpb25OYW1lOiBbJ3NlbnRpbmVsLTItbDJhJ10sXG4gIC8vICAgc3RhY1NlYXJjaFVybDogJ2h0dHBzOi8vcGxhbmV0YXJ5Y29tcHV0ZXIubWljcm9zb2Z0LmNvbS9hcGkvc3RhYy92MS9zZWFyY2gnXG4gIC8vIH0sXG4gICdlYXJ0aC1zZWFyY2gnOiB7XG4gICAgc2VudGluZWxDb2xsZWN0aW9uTmFtZTogWydzZW50aW5lbC1zMi1sMmEtY29ncyddLFxuICAgIHN0YWNTZWFyY2hVcmw6ICdodHRwczovL2VhcnRoLXNlYXJjaC5hd3MuZWxlbWVudDg0LmNvbS92MC9zZWFyY2gnXG4gIH1cbn07XG5cbi8qKlxuICogQ29uc3RydWN0IHF1ZXJ5IHBhcmFtZXRlcnMgdG8gYmUgc2VudCB0byBTVEFDIEFQSSBpbnN0YW5jZVxuICovXG5mdW5jdGlvbiBjb25zdHJ1Y3RTdGFjQXBpUXVlcnkob3B0aW9uczoge1xuICBzdGFjOiBJdGVtIHwgQ29sbGVjdGlvbjtcbiAgc3RhcnREYXRlOiBzdHJpbmc7XG4gIGVuZERhdGU6IHN0cmluZztcbiAgc3RhY1NlYXJjaFByb3ZpZGVyOiBzdHJpbmc7XG59KToge2NvbGxlY3Rpb25zOiBzdHJpbmdbXTsgZGF0ZXRpbWU6IHN0cmluZ30ge1xuICBjb25zdCB7c3RhYywgc3RhcnREYXRlLCBlbmREYXRlLCBzdGFjU2VhcmNoUHJvdmlkZXJ9ID0gb3B0aW9ucztcblxuICAvLyBUaGlzIGlzIGEgcXVpY2sgaGFjayB0byBzdXBwb3J0IHRoZSBzYW1lIFNlbnRpbmVsIDIgU1RBQyBvYmplY3QgZm9yIHNlYXJjaGluZyBib3RoIG1pY3Jvc29mdFxuICAvLyBhbmQgQVdTXG4gIGNvbnN0IGNvbGxlY3Rpb25zID0gU1RBQ19TRUFSQ0hfREFUQVtzdGFjU2VhcmNoUHJvdmlkZXJdPy5zZW50aW5lbENvbGxlY3Rpb25OYW1lIHx8IFtzdGFjLmlkXTtcblxuICByZXR1cm4ge1xuICAgIGNvbGxlY3Rpb25zLFxuICAgIGRhdGV0aW1lOiBgJHtzdGFydERhdGV9VDAwOjAwOjAwWi8ke2VuZERhdGV9VDIzOjU5OjU5WmBcbiAgfTtcbn1cblxuLyoqXG4gKiBQZXJmb3JtIGxvb2t1cCB0byBmaW5kIHVybCBvZiBkZXNpcmVkIFNUQUMgc2VhcmNoIHByb3ZpZGVyXG4gKi9cbmZ1bmN0aW9uIGdldFN0YWNBcGlVcmwoc3RhY1NlYXJjaFByb3ZpZGVyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gU1RBQ19TRUFSQ0hfREFUQVtzdGFjU2VhcmNoUHJvdmlkZXJdLnN0YWNTZWFyY2hVcmw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdGFjQXBpVXJsUGFyYW1zKG9wdGlvbnM6IHtcbiAgc3RhYzogQ29tcGxldGVTVEFDQ29sbGVjdGlvbjtcbiAgc3RhY1NlYXJjaFByb3ZpZGVyOiBzdHJpbmc7XG4gIHN0YXJ0RGF0ZTogc3RyaW5nO1xuICBlbmREYXRlOiBzdHJpbmc7XG4gIG1hc2s/OiBib29sZWFuO1xuICBsb2FkQXNzZXRJZHM6IEFzc2V0SWRzO1xuICBfc3RhY1F1ZXJ5Pzogc3RyaW5nO1xufSk6IFVSTFNlYXJjaFBhcmFtcyB8IG51bGwge1xuICBjb25zdCB7c3RhYywgbG9hZEFzc2V0SWRzLCBzdGFjU2VhcmNoUHJvdmlkZXIsIG1hc2sgPSBmYWxzZX0gPSBvcHRpb25zO1xuICBjb25zdCBxdWVyeSA9IG9wdGlvbnMuX3N0YWNRdWVyeSB8fCBKU09OLnN0cmluZ2lmeShjb25zdHJ1Y3RTdGFjQXBpUXVlcnkob3B0aW9ucykpO1xuICBjb25zdCBzZWFyY2hVcmwgPSBnZXRTdGFjQXBpVXJsKHN0YWNTZWFyY2hQcm92aWRlcik7XG5cbiAgaWYgKCFzZWFyY2hVcmwpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGJhbmRJbmRleEFzc2V0cyA9IGxvYWRBc3NldElkcy5tYXAoYXNzZXRJZCA9PiB7XG4gICAgY29uc3QgbWFwcGluZyA9IERFRkFVTFRfQkFORF9NQVBQSU5HU1tzdGFjLmlkXTtcbiAgICBpZiAoIW1hcHBpbmcpIHtcbiAgICAgIC8vIFRPRE8gcHJvdmlkZSBhIFVJIHRvIHNldHVwIGN1c3RvbSBiYW5kIG1hcHBpbmdcbiAgICAgIHJldHVybiBhc3NldElkO1xuICAgIH1cblxuICAgIGNvbnN0IGJhbmRJbmRleCA9IG1hcHBpbmdbYXNzZXRJZF07XG4gICAgaWYgKGJhbmRJbmRleCkge1xuICAgICAgcmV0dXJuIGJhbmRJbmRleDtcbiAgICB9XG5cbiAgICAvLyBUaGlzIGlzIG1vc3QgbGlrZWx5IGluY29ycmVjdCBhcyBCWFggaXMgZXhwZWN0ZWQsIG5vdCBjb21tb24gbmFtZVxuICAgIHJldHVybiBhc3NldElkO1xuICB9KTtcblxuICByZXR1cm4gbmV3IFVSTFNlYXJjaFBhcmFtcyh7XG4gICAgYXNzZXRzOiBiYW5kSW5kZXhBc3NldHMuam9pbignLCcpLFxuICAgIHJldHVybl9tYXNrOiBTdHJpbmcobWFzayksXG4gICAgdXJsOiBzZWFyY2hVcmwsXG4gICAgcXVlcnlcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiYW5kSW5kZXhlc1RvVVJMUGFyYW1zKFxuICB1cmxQYXJhbXM6IFVSTFNlYXJjaFBhcmFtcyxcbiAgYmFuZEluZGV4ZXM6IEJhbmRJbmRleGVzXG4pOiBVUkxTZWFyY2hQYXJhbXMge1xuICBpZiAoZ2V0QXBwbGljYXRpb25Db25maWcoKS5yYXN0ZXJTZXJ2ZXJVc2VMYXRlc3RUaXRpbGVyKSB7XG4gICAgLy8gZm9yIG5ld2VyIHRpdGlsZXIgdmVyc2lvbnNcbiAgICBiYW5kSW5kZXhlcy5mb3JFYWNoKGJhbmRJbmRleCA9PiB7XG4gICAgICB1cmxQYXJhbXMuYXBwZW5kKCdiaWR4JywgU3RyaW5nKGJhbmRJbmRleCArIDEpKTtcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICAvLyBUaGUgcGFyYW1ldGVyIGluIHRpdGlsZXIgaXMgYGJhbmRzYCBmb3IgbGFuZHNhdC9zZW50aW5lbCBhbmQgYGJpZHhgIGZvciBDT0dcbiAgICAvLyBHREFML1Jhc3RlcmlvL3Jpby10aWxlciBzdGFydCBiYW5kIGluZGV4aW5nIGF0IG9uZVxuICAgIC8vIG9sZGVyIHRpdGlsZXIgdmVyc2lvbnNcbiAgICB1cmxQYXJhbXMuYXBwZW5kKCdiaWR4JywgYmFuZEluZGV4ZXMubWFwKHZhbCA9PiB2YWwgKyAxKS5qb2luKCcsJykpO1xuICB9XG5cbiAgcmV0dXJuIHVybFBhcmFtcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNpbmdsZUNPR1VybFBhcmFtcyhvcHRpb25zOiB7XG4gIHN0YWM6IENvbXBsZXRlU1RBQ0l0ZW07XG4gIGxvYWRBc3NldElkOiBzdHJpbmc7XG4gIGxvYWRCYW5kSW5kZXhlczogQmFuZEluZGV4ZXM7XG4gIG1hc2s/OiBib29sZWFuO1xufSk6IFVSTFNlYXJjaFBhcmFtcyB8IG51bGwge1xuICBjb25zdCB7c3RhYywgbG9hZEFzc2V0SWQsIGxvYWRCYW5kSW5kZXhlcywgbWFzayA9IGZhbHNlfSA9IG9wdGlvbnM7XG4gIGNvbnN0IHVybCA9IHN0YWMuYXNzZXRzW2xvYWRBc3NldElkXS5ocmVmO1xuXG4gIGlmICghdXJsKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCB1cmxQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHtcbiAgICByZXR1cm5fbWFzazogU3RyaW5nKG1hc2spLFxuICAgIHVybFxuICB9KTtcbiAgcmV0dXJuIGJhbmRJbmRleGVzVG9VUkxQYXJhbXModXJsUGFyYW1zLCBsb2FkQmFuZEluZGV4ZXMpO1xufVxuXG4vKipcbiAqIENvbnN0cnVjdCBmdWxsIFVSTCB0byBsb2FkIHRpbGUgZnJvbSBhIFRpdGlsZXItYmFzZWQgYmFja2VuZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGl0aWxlclVybChvcHRpb25zOiB7XG4gIHN0YWM6IEdldFRpbGVEYXRhUHJvcHNbJ3N0YWMnXTtcbiAgdXNlU1RBQ1NlYXJjaGluZzogYm9vbGVhbjtcbiAgeDogbnVtYmVyO1xuICB5OiBudW1iZXI7XG4gIHo6IG51bWJlcjtcbn0pOiBzdHJpbmcge1xuICAvLyBtYXNrIFNldCB0byBmYWxzZSBmb3IgbW9zYWljcyBiZWNhdXNlIGVudGlyZSBpbWFnZSBpcyBhc3N1bWVkIHRvIGJlIHZhbGlkXG4gIGNvbnN0IHtzdGFjLCB1c2VTVEFDU2VhcmNoaW5nLCB4LCB5LCB6fSA9IG9wdGlvbnM7XG5cbiAgaWYgKCFzdGFjLnJhc3RlclRpbGVTZXJ2ZXJVcmxzPy5sZW5ndGgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHJhc3RlciB0aWxlIHNlcnZlcnMnKTtcbiAgfVxuXG4gIGNvbnN0IHBhdGhTdGVtID0gZ2V0VGl0aWxlclBhdGhNYXBwaW5nKHN0YWMsIHVzZVNUQUNTZWFyY2hpbmcpO1xuICBjb25zdCBzY2FsZSA9IFRJTEVfU0laRSA9PT0gNTEyID8gJ0AyeCcgOiAnJztcbiAgY29uc3QgZG9tYWluID0gY2hvb3NlRG9tYWluKHN0YWMucmFzdGVyVGlsZVNlcnZlclVybHMsIHgsIHkpO1xuICByZXR1cm4gYCR7ZG9tYWlufS8ke3BhdGhTdGVtfS90aWxlcy9XZWJNZXJjYXRvclF1YWQvJHt6fS8ke3h9LyR7eX0ke3NjYWxlfS5ucHlgO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGl0aWxlclBhdGhNYXBwaW5nKFxuICBzdGFjOiBHZXRUaWxlRGF0YVByb3BzWydzdGFjJ10sXG4gIHVzZVNUQUNTZWFyY2hpbmcgPSBmYWxzZVxuKTogc3RyaW5nIHtcbiAgaWYgKHVzZVNUQUNTZWFyY2hpbmcpIHtcbiAgICByZXR1cm4gJ3N0YWMvbW9zYWljJztcbiAgfVxuXG4gIHJldHVybiAnY29nJztcbn1cblxuLyoqXG4gKiBDaG9vc2UgZnJvbSBhdmFpbGFibGUgZG9tYWlucyB0byBsb2FkIGltYWdlcyBmcm9tXG4gKlxuICogQHBhcmFtIHggIHggdGlsZSBpbmRleFxuICogQHBhcmFtIHkgIHkgdGlsZSBpbmRleFxuICpcbiAqIEByZXR1cm4gZG9tYWluXG4gKi9cbmZ1bmN0aW9uIGNob29zZURvbWFpbihkb21haW5zOiBzdHJpbmdbXSwgeDogbnVtYmVyLCB5OiBudW1iZXIpOiBzdHJpbmcge1xuICBjb25zdCBpbmRleCA9IE1hdGguYWJzKHggKyB5KSAlIGRvbWFpbnMubGVuZ3RoO1xuICByZXR1cm4gZG9tYWluc1tpbmRleF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUZXJyYWluVXJsKFxuICByYXN0ZXJUaWxlU2VydmVyVXJsczogc3RyaW5nW10sXG4gIHg6IG51bWJlcixcbiAgeTogbnVtYmVyLFxuICB6OiBudW1iZXIsXG4gIG1lc2hNYXhFcnJvcjogbnVtYmVyXG4pOiBzdHJpbmcge1xuICBjb25zdCBzY2FsZSA9IFRJTEVfU0laRSA9PT0gNTEyID8gJ0AyeCcgOiAnJztcblxuICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHtcbiAgICB1cmw6ICd0ZXJyYXJpdW0nLFxuICAgIG1lc2hfbWF4X2Vycm9yOiBtZXNoTWF4RXJyb3IudG9GaXhlZCgyKVxuICB9KTtcbiAgY29uc3QgZG9tYWluID0gY2hvb3NlRG9tYWluKHJhc3RlclRpbGVTZXJ2ZXJVcmxzLCB4LCB5KTtcbiAgY29uc3QgYmFzZVVybCA9IGAke2RvbWFpbn0vbWVzaC90aWxlcy8ke3p9LyR7eH0vJHt5fSR7c2NhbGV9LnRlcnJhaW4/YDtcbiAgcmV0dXJuIGJhc2VVcmwgKyBwYXJhbXMudG9TdHJpbmcoKTtcbn1cblxuLyoqXG4gKiBnZXQgbWVzaCBtYXggZXJyb3IgZm9yIHogdmFsdWVcbiAqIEBwYXJhbSB6IG1lcmNhdG9yIHRpbGUgeiBjb29yZFxuICogQHBhcmFtIG11bHRpcGxpZXIgbXVsdGlwbGVyIGFwcGxpZWQgdG8gZGVmYXVsdCBlcnJvclxuICpcbiAqIFVzZXMgc3VnZ2VzdGlvbiBmcm9tIGhlcmVcbiAqIGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9wdWxzZS9mYXN0LWNlc2l1bS10ZXJyYWluLXJlbmRlcmluZy1uZXctcXVhbnRpemVkLW1lc2gtb3V0cHV0LWFsdmFyby1odWFydGUvXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRNZXNoTWF4RXJyb3IoejogbnVtYmVyLCBtdWx0aXBsaWVyOiBudW1iZXIpOiBudW1iZXIge1xuICByZXR1cm4gKDc3MDY3LjM0IC8gKDEgPDwgeikpICogbXVsdGlwbGllcjtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBT0EsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBRUEsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBVEE7QUFDQTs7QUFFQTtBQUNBOztBQWlCQSxJQUFNRSxTQUFvQixHQUFHLEdBQUc7QUFPaEMsSUFBTUMsZ0JBQWdELEdBQUc7RUFDdkQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGNBQWMsRUFBRTtJQUNkQyxzQkFBc0IsRUFBRSxDQUFDLHNCQUFzQixDQUFDO0lBQ2hEQyxhQUFhLEVBQUU7RUFDakI7QUFDRixDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBLFNBQVNDLHFCQUFxQkEsQ0FBQ0MsT0FLOUIsRUFBNkM7RUFBQSxJQUFBQyxxQkFBQTtFQUM1QyxJQUFPQyxJQUFJLEdBQTRDRixPQUFPLENBQXZERSxJQUFJO0lBQUVDLFNBQVMsR0FBaUNILE9BQU8sQ0FBakRHLFNBQVM7SUFBRUMsT0FBTyxHQUF3QkosT0FBTyxDQUF0Q0ksT0FBTztJQUFFQyxrQkFBa0IsR0FBSUwsT0FBTyxDQUE3Qkssa0JBQWtCOztFQUVuRDtFQUNBO0VBQ0EsSUFBTUMsV0FBVyxHQUFHLEVBQUFMLHFCQUFBLEdBQUFMLGdCQUFnQixDQUFDUyxrQkFBa0IsQ0FBQyxjQUFBSixxQkFBQSx1QkFBcENBLHFCQUFBLENBQXNDSixzQkFBc0IsS0FBSSxDQUFDSyxJQUFJLENBQUNLLEVBQUUsQ0FBQztFQUU3RixPQUFPO0lBQ0xELFdBQVcsRUFBWEEsV0FBVztJ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
186
+ var RasterLayerResources = exports.RasterLayerResources = {
187
+ rasterColorMap: function rasterColorMap(colormapId) {
188
+ return "".concat((0, _utils.getApplicationConfig)().cdnUrl, "/raster/colormaps/").concat(colormapId, ".png");
189
+ }
190
+ };
191
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdXRpbHMiLCJyZXF1aXJlIiwiX2NvbmZpZyIsIlRJTEVfU0laRSIsIlNUQUNfU0VBUkNIX0RBVEEiLCJzZW50aW5lbENvbGxlY3Rpb25OYW1lIiwic3RhY1NlYXJjaFVybCIsImNvbnN0cnVjdFN0YWNBcGlRdWVyeSIsIm9wdGlvbnMiLCJfU1RBQ19TRUFSQ0hfREFUQSRzdGEiLCJzdGFjIiwic3RhcnREYXRlIiwiZW5kRGF0ZSIsInN0YWNTZWFyY2hQcm92aWRlciIsImNvbGxlY3Rpb25zIiwiaWQiLCJkYXRldGltZSIsImNvbmNhdCIsImdldFN0YWNBcGlVcmwiLCJnZXRTdGFjQXBpVXJsUGFyYW1zIiwibG9hZEFzc2V0SWRzIiwiX29wdGlvbnMkbWFzayIsIm1hc2siLCJxdWVyeSIsIl9zdGFjUXVlcnkiLCJKU09OIiwic3RyaW5naWZ5Iiwic2VhcmNoVXJsIiwiYmFuZEluZGV4QXNzZXRzIiwibWFwIiwiYXNzZXRJZCIsIm1hcHBpbmciLCJERUZBVUxUX0JBTkRfTUFQUElOR1MiLCJiYW5kSW5kZXgiLCJVUkxTZWFyY2hQYXJhbXMiLCJhc3NldHMiLCJqb2luIiwicmV0dXJuX21hc2siLCJTdHJpbmciLCJ1cmwiLCJiYW5kSW5kZXhlc1RvVVJMUGFyYW1zIiwidXJsUGFyYW1zIiwiYmFuZEluZGV4ZXMiLCJnZXRBcHBsaWNhdGlvbkNvbmZpZyIsInJhc3RlclNlcnZlclVzZUxhdGVzdFRpdGlsZXIiLCJmb3JFYWNoIiwiYXBwZW5kIiwidmFsIiwiZ2V0U2luZ2xlQ09HVXJsUGFyYW1zIiwibG9hZEFzc2V0SWQiLCJsb2FkQmFuZEluZGV4ZXMiLCJfb3B0aW9ucyRtYXNrMiIsImhyZWYiLCJnZXRUaXRpbGVyVXJsIiwiX3N0YWMkcmFzdGVyVGlsZVNlcnZlIiwidXNlU1RBQ1NlYXJjaGluZyIsIngiLCJ5IiwieiIsInJhc3RlclRpbGVTZXJ2ZXJVcmxzIiwibGVuZ3RoIiwiRXJyb3IiLCJwYXRoU3RlbSIsImdldFRpdGlsZXJQYXRoTWFwcGluZyIsInNjYWxlIiwiZG9tYWluIiwiY2hvb3NlRG9tYWluIiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwiZG9tYWlucyIsImluZGV4IiwiTWF0aCIsImFicyIsImdldFRlcnJhaW5VcmwiLCJtZXNoTWF4RXJyb3IiLCJwYXJhbXMiLCJtZXNoX21heF9lcnJvciIsInRvRml4ZWQiLCJiYXNlVXJsIiwidG9TdHJpbmciLCJnZXRNZXNoTWF4RXJyb3IiLCJtdWx0aXBsaWVyIiwiUmFzdGVyTGF5ZXJSZXNvdXJjZXMiLCJleHBvcnRzIiwicmFzdGVyQ29sb3JNYXAiLCJjb2xvcm1hcElkIiwiY2RuVXJsIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Jhc3Rlci10aWxlL3VybC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG4vKiBVdGlsaXRpZXMgZm9yIGNyZWF0aW5nIHJlcXVlc3QgdXJscyAqL1xuLyogZ2xvYmFsIFVSTFNlYXJjaFBhcmFtcyAqL1xuXG5pbXBvcnQge1N0YWNUeXBlc30gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge2dldEFwcGxpY2F0aW9uQ29uZmlnfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcblxuaW1wb3J0IHtERUZBVUxUX0JBTkRfTUFQUElOR1N9IGZyb20gJy4vY29uZmlnJztcbmltcG9ydCB7XG4gIEFzc2V0SWRzLFxuICBCYW5kSW5kZXhlcyxcbiAgQ29tcGxldGVTVEFDSXRlbSxcbiAgQ29tcGxldGVTVEFDQ29sbGVjdGlvbixcbiAgR2V0VGlsZURhdGFQcm9wc1xufSBmcm9tICcuL3R5cGVzJztcblxudHlwZSBJdGVtID0gU3RhY1R5cGVzLlNUQUNJdGVtO1xudHlwZSBDb2xsZWN0aW9uID0gU3RhY1R5cGVzLlNUQUNDb2xsZWN0aW9uO1xuXG5jb25zdCBUSUxFX1NJWkU6IDI1NiB8IDUxMiA9IDI1NjtcblxuaW50ZXJmYWNlIFN0YWNTZWFyY2hJbmZvIHtcbiAgc2VudGluZWxDb2xsZWN0aW9uTmFtZTogc3RyaW5nW107XG4gIHN0YWNTZWFyY2hVcmw6IHN0cmluZztcbn1cblxuY29uc3QgU1RBQ19TRUFSQ0hfREFUQTogUmVjb3JkPHN0cmluZywgU3RhY1NlYXJjaEluZm8+ID0ge1xuICAvLyBDb21tZW50aW5nIG91dCBNaWNyb3NvZnQgZm9yIG5vd1xuICAvLyBtaWNyb3NvZnQ6IHtcbiAgLy8gICBzZW50aW5lbENvbGxlY3Rpb25OYW1lOiBbJ3NlbnRpbmVsLTItbDJhJ10sXG4gIC8vICAgc3RhY1NlYXJjaFVybDogJ2h0dHBzOi8vcGxhbmV0YXJ5Y29tcHV0ZXIubWljcm9zb2Z0LmNvbS9hcGkvc3RhYy92MS9zZWFyY2gnXG4gIC8vIH0sXG4gICdlYXJ0aC1zZWFyY2gnOiB7XG4gICAgc2VudGluZWxDb2xsZWN0aW9uTmFtZTogWydzZW50aW5lbC1zMi1sMmEtY29ncyddLFxuICAgIHN0YWNTZWFyY2hVcmw6ICdodHRwczovL2VhcnRoLXNlYXJjaC5hd3MuZWxlbWVudDg0LmNvbS92MC9zZWFyY2gnXG4gIH1cbn07XG5cbi8qKlxuICogQ29uc3RydWN0IHF1ZXJ5IHBhcmFtZXRlcnMgdG8gYmUgc2VudCB0byBTVEFDIEFQSSBpbnN0YW5jZVxuICovXG5mdW5jdGlvbiBjb25zdHJ1Y3RTdGFjQXBpUXVlcnkob3B0aW9uczoge1xuICBzdGFjOiBJdGVtIHwgQ29sbGVjdGlvbjtcbiAgc3RhcnREYXRlOiBzdHJpbmc7XG4gIGVuZERhdGU6IHN0cmluZztcbiAgc3RhY1NlYXJjaFByb3ZpZGVyOiBzdHJpbmc7XG59KToge2NvbGxlY3Rpb25zOiBzdHJpbmdbXTsgZGF0ZXRpbWU6IHN0cmluZ30ge1xuICBjb25zdCB7c3RhYywgc3RhcnREYXRlLCBlbmREYXRlLCBzdGFjU2VhcmNoUHJvdmlkZXJ9ID0gb3B0aW9ucztcblxuICAvLyBUaGlzIGlzIGEgcXVpY2sgaGFjayB0byBzdXBwb3J0IHRoZSBzYW1lIFNlbnRpbmVsIDIgU1RBQyBvYmplY3QgZm9yIHNlYXJjaGluZyBib3RoIG1pY3Jvc29mdFxuICAvLyBhbmQgQVdTXG4gIGNvbnN0IGNvbGxlY3Rpb25zID0gU1RBQ19TRUFSQ0hfREFUQVtzdGFjU2VhcmNoUHJvdmlkZXJdPy5zZW50aW5lbENvbGxlY3Rpb25OYW1lIHx8IFtzdGFjLmlkXTtcblxuICByZXR1cm4ge1xuICAgIGNvbGxlY3Rpb25zLFxuICAgIGRhdGV0aW1lOiBgJHtzdGFydERhdGV9VDAwOjAwOjAwWi8ke2VuZERhdGV9VDIzOjU5OjU5WmBcbiAgfTtcbn1cblxuLyoqXG4gKiBQZXJmb3JtIGxvb2t1cCB0byBmaW5kIHVybCBvZiBkZXNpcmVkIFNUQUMgc2VhcmNoIHByb3ZpZGVyXG4gKi9cbmZ1bmN0aW9uIGdldFN0YWNBcGlVcmwoc3RhY1NlYXJjaFByb3ZpZGVyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gU1RBQ19TRUFSQ0hfREFUQVtzdGFjU2VhcmNoUHJvdmlkZXJdLnN0YWNTZWFyY2hVcmw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdGFjQXBpVXJsUGFyYW1zKG9wdGlvbnM6IHtcbiAgc3RhYzogQ29tcGxldGVTVEFDQ29sbGVjdGlvbjtcbiAgc3RhY1NlYXJjaFByb3ZpZGVyOiBzdHJpbmc7XG4gIHN0YXJ0RGF0ZTogc3RyaW5nO1xuICBlbmREYXRlOiBzdHJpbmc7XG4gIG1hc2s/OiBib29sZWFuO1xuICBsb2FkQXNzZXRJZHM6IEFzc2V0SWRzO1xuICBfc3RhY1F1ZXJ5Pzogc3RyaW5nO1xufSk6IFVSTFNlYXJjaFBhcmFtcyB8IG51bGwge1xuICBjb25zdCB7c3RhYywgbG9hZEFzc2V0SWRzLCBzdGFjU2VhcmNoUHJvdmlkZXIsIG1hc2sgPSBmYWxzZX0gPSBvcHRpb25zO1xuICBjb25zdCBxdWVyeSA9IG9wdGlvbnMuX3N0YWNRdWVyeSB8fCBKU09OLnN0cmluZ2lmeShjb25zdHJ1Y3RTdGFjQXBpUXVlcnkob3B0aW9ucykpO1xuICBjb25zdCBzZWFyY2hVcmwgPSBnZXRTdGFjQXBpVXJsKHN0YWNTZWFyY2hQcm92aWRlcik7XG5cbiAgaWYgKCFzZWFyY2hVcmwpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGJhbmRJbmRleEFzc2V0cyA9IGxvYWRBc3NldElkcy5tYXAoYXNzZXRJZCA9PiB7XG4gICAgY29uc3QgbWFwcGluZyA9IERFRkFVTFRfQkFORF9NQVBQSU5HU1tzdGFjLmlkXTtcbiAgICBpZiAoIW1hcHBpbmcpIHtcbiAgICAgIC8vIFRPRE8gcHJvdmlkZSBhIFVJIHRvIHNldHVwIGN1c3RvbSBiYW5kIG1hcHBpbmdcbiAgICAgIHJldHVybiBhc3NldElkO1xuICAgIH1cblxuICAgIGNvbnN0IGJhbmRJbmRleCA9IG1hcHBpbmdbYXNzZXRJZF07XG4gICAgaWYgKGJhbmRJbmRleCkge1xuICAgICAgcmV0dXJuIGJhbmRJbmRleDtcbiAgICB9XG5cbiAgICAvLyBUaGlzIGlzIG1vc3QgbGlrZWx5IGluY29ycmVjdCBhcyBCWFggaXMgZXhwZWN0ZWQsIG5vdCBjb21tb24gbmFtZVxuICAgIHJldHVybiBhc3NldElkO1xuICB9KTtcblxuICByZXR1cm4gbmV3IFVSTFNlYXJjaFBhcmFtcyh7XG4gICAgYXNzZXRzOiBiYW5kSW5kZXhBc3NldHMuam9pbignLCcpLFxuICAgIHJldHVybl9tYXNrOiBTdHJpbmcobWFzayksXG4gICAgdXJsOiBzZWFyY2hVcmwsXG4gICAgcXVlcnlcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiYW5kSW5kZXhlc1RvVVJMUGFyYW1zKFxuICB1cmxQYXJhbXM6IFVSTFNlYXJjaFBhcmFtcyxcbiAgYmFuZEluZGV4ZXM6IEJhbmRJbmRleGVzXG4pOiBVUkxTZWFyY2hQYXJhbXMge1xuICBpZiAoZ2V0QXBwbGljYXRpb25Db25maWcoKS5yYXN0ZXJTZXJ2ZXJVc2VMYXRlc3RUaXRpbGVyKSB7XG4gICAgLy8gZm9yIG5ld2VyIHRpdGlsZXIgdmVyc2lvbnNcbiAgICBiYW5kSW5kZXhlcy5mb3JFYWNoKGJhbmRJbmRleCA9PiB7XG4gICAgICB1cmxQYXJhbXMuYXBwZW5kKCdiaWR4JywgU3RyaW5nKGJhbmRJbmRleCArIDEpKTtcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICAvLyBUaGUgcGFyYW1ldGVyIGluIHRpdGlsZXIgaXMgYGJhbmRzYCBmb3IgbGFuZHNhdC9zZW50aW5lbCBhbmQgYGJpZHhgIGZvciBDT0dcbiAgICAvLyBHREFML1Jhc3RlcmlvL3Jpby10aWxlciBzdGFydCBiYW5kIGluZGV4aW5nIGF0IG9uZVxuICAgIC8vIG9sZGVyIHRpdGlsZXIgdmVyc2lvbnNcbiAgICB1cmxQYXJhbXMuYXBwZW5kKCdiaWR4JywgYmFuZEluZGV4ZXMubWFwKHZhbCA9PiB2YWwgKyAxKS5qb2luKCcsJykpO1xuICB9XG5cbiAgcmV0dXJuIHVybFBhcmFtcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNpbmdsZUNPR1VybFBhcmFtcyhvcHRpb25zOiB7XG4gIHN0YWM6IENvbXBsZXRlU1RBQ0l0ZW07XG4gIGxvYWRBc3NldElkOiBzdHJpbmc7XG4gIGxvYWRCYW5kSW5kZXhlczogQmFuZEluZGV4ZXM7XG4gIG1hc2s/OiBib29sZWFuO1xufSk6IFVSTFNlYXJjaFBhcmFtcyB8IG51bGwge1xuICBjb25zdCB7c3RhYywgbG9hZEFzc2V0SWQsIGxvYWRCYW5kSW5kZXhlcywgbWFzayA9IGZhbHNlfSA9IG9wdGlvbnM7XG4gIGNvbnN0IHVybCA9IHN0YWMuYXNzZXRzW2xvYWRBc3NldElkXS5ocmVmO1xuXG4gIGlmICghdXJsKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCB1cmxQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHtcbiAgICByZXR1cm5fbWFzazogU3RyaW5nKG1hc2spLFxuICAgIHVybFxuICB9KTtcbiAgcmV0dXJuIGJhbmRJbmRleGVzVG9VUkxQYXJhbXModXJsUGFyYW1zLCBsb2FkQmFuZEluZGV4ZXMpO1xufVxuXG4vKipcbiAqIENvbnN0cnVjdCBmdWxsIFVSTCB0byBsb2FkIHRpbGUgZnJvbSBhIFRpdGlsZXItYmFzZWQgYmFja2VuZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGl0aWxlclVybChvcHRpb25zOiB7XG4gIHN0YWM6IEdldFRpbGVEYXRhUHJvcHNbJ3N0YWMnXTtcbiAgdXNlU1RBQ1NlYXJjaGluZzogYm9vbGVhbjtcbiAgeDogbnVtYmVyO1xuICB5OiBudW1iZXI7XG4gIHo6IG51bWJlcjtcbn0pOiBzdHJpbmcge1xuICAvLyBtYXNrIFNldCB0byBmYWxzZSBmb3IgbW9zYWljcyBiZWNhdXNlIGVudGlyZSBpbWFnZSBpcyBhc3N1bWVkIHRvIGJlIHZhbGlkXG4gIGNvbnN0IHtzdGFjLCB1c2VTVEFDU2VhcmNoaW5nLCB4LCB5LCB6fSA9IG9wdGlvbnM7XG5cbiAgaWYgKCFzdGFjLnJhc3RlclRpbGVTZXJ2ZXJVcmxzPy5sZW5ndGgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHJhc3RlciB0aWxlIHNlcnZlcnMnKTtcbiAgfVxuXG4gIGNvbnN0IHBhdGhTdGVtID0gZ2V0VGl0aWxlclBhdGhNYXBwaW5nKHN0YWMsIHVzZVNUQUNTZWFyY2hpbmcpO1xuICBjb25zdCBzY2FsZSA9IFRJTEVfU0laRSA9PT0gNTEyID8gJ0AyeCcgOiAnJztcbiAgY29uc3QgZG9tYWluID0gY2hvb3NlRG9tYWluKHN0YWMucmFzdGVyVGlsZVNlcnZlclVybHMsIHgsIHkpO1xuICByZXR1cm4gYCR7ZG9tYWlufS8ke3BhdGhTdGVtfS90aWxlcy9XZWJNZXJjYXRvclF1YWQvJHt6fS8ke3h9LyR7eX0ke3NjYWxlfS5ucHlgO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGl0aWxlclBhdGhNYXBwaW5nKFxuICBzdGFjOiBHZXRUaWxlRGF0YVByb3BzWydzdGFjJ10sXG4gIHVzZVNUQUNTZWFyY2hpbmcgPSBmYWxzZVxuKTogc3RyaW5nIHtcbiAgaWYgKHVzZVNUQUNTZWFyY2hpbmcpIHtcbiAgICByZXR1cm4gJ3N0YWMvbW9zYWljJztcbiAgfVxuXG4gIHJldHVybiAnY29nJztcbn1cblxuLyoqXG4gKiBDaG9vc2UgZnJvbSBhdmFpbGFibGUgZG9tYWlucyB0byBsb2FkIGltYWdlcyBmcm9tXG4gKlxuICogQHBhcmFtIHggIHggdGlsZSBpbmRleFxuICogQHBhcmFtIHkgIHkgdGlsZSBpbmRleFxuICpcbiAqIEByZXR1cm4gZG9tYWluXG4gKi9cbmZ1bmN0aW9uIGNob29zZURvbWFpbihkb21haW5zOiBzdHJpbmdbXSwgeDogbnVtYmVyLCB5OiBudW1iZXIpOiBzdHJpbmcge1xuICBjb25zdCBpbmRleCA9IE1hdGguYWJzKHggKyB5KSAlIGRvbWFpbnMubGVuZ3RoO1xuICByZXR1cm4gZG9tYWluc1tpbmRleF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUZXJyYWluVXJsKFxuICByYXN0ZXJUaWxlU2VydmVyVXJsczogc3RyaW5nW10sXG4gIHg6IG51bWJlcixcbiAgeTogbnVtYmVyLFxuICB6OiBudW1iZXIsXG4gIG1lc2hNYXhFcnJvcjogbnVtYmVyXG4pOiBzdHJpbmcge1xuICBjb25zdCBzY2FsZSA9IFRJTEVfU0laRSA9PT0gNTEyID8gJ0AyeCcgOiAnJztcblxuICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHtcbiAgICB1cmw6ICd0ZXJyYXJpdW0nLFxuICAgIG1lc2hfbWF4X2Vycm9yOiBtZXNoTWF4RXJyb3IudG9GaXhlZCgyKVxuICB9KTtcbiAgY29uc3QgZG9tYWluID0gY2hvb3NlRG9tYWluKHJhc3RlclRpbGVTZXJ2ZXJVcmxzLCB4LCB5KTtcbiAgY29uc3QgYmFzZVVybCA9IGAke2RvbWFpbn0vbWVzaC90aWxlcy8ke3p9LyR7eH0vJHt5fSR7c2NhbGV9LnRlcnJhaW4/YDtcbiAgcmV0dXJuIGJhc2VVcmwgKyBwYXJhbXMudG9TdHJpbmcoKTtcbn1cblxuLyoqXG4gKiBnZXQgbWVzaCBtYXggZXJyb3IgZm9yIHogdmFsdWVcbiAqIEBwYXJhbSB6IG1lcmNhdG9yIHRpbGUgeiBjb29yZFxuICogQHBhcmFtIG11bHRpcGxpZXIgbXVsdGlwbGVyIGFwcGxpZWQgdG8gZGVmYXVsdCBlcnJvclxuICpcbiAqIFVzZXMgc3VnZ2VzdGlvbiBmcm9tIGhlcmVcbiAqIGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9wdWxzZS9mYXN0LWNlc2l1bS10ZXJyYWluLXJlbmRlcmluZy1uZXctcXVhbnRpemVkLW1lc2gtb3V0cHV0LWFsdmFyby1odWFydGUvXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRNZXNoTWF4RXJyb3IoejogbnVtYmVyLCBtdWx0aXBsaWVyOiBudW1iZXIpOiBudW1iZXIge1xuICByZXR1cm4gKDc3MDY3LjM0IC8gKDEgPDwgeikpICogbXVsdGlwbGllcjtcbn1cblxuZXhwb3J0IGNvbnN0IFJhc3RlckxheWVyUmVzb3VyY2VzID0ge1xuICByYXN0ZXJDb2xvck1hcDogKGNvbG9ybWFwSWQ6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiBgJHtnZXRBcHBsaWNhdGlvbkNvbmZpZygpLmNkblVybH0vcmFzdGVyL2NvbG9ybWFwcy8ke2NvbG9ybWFwSWR9LnBuZ2A7XG4gIH1cbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFPQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFFQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFUQTtBQUNBOztBQUVBO0FBQ0E7O0FBaUJBLElBQU1FLFNBQW9CLEdBQUcsR0FBRztBQU9oQyxJQUFNQyxnQkFBZ0QsR0FBRztFQUN2RDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY0FBYyxFQUFFO0lBQ2RDLHNCQUFzQixFQUFFLENBQUMsc0JBQXNCLENBQUM7SUFDaERDLGFBQWEsRUFBRTtFQUNqQjtBQUNGLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0EsU0FBU0MscUJBQXFCQSxDQUFDQyxPQUs5QixFQUE2QztFQUFBLElBQUFDLHFCQUFBO0VBQzVDLElBQU9DLElBQUksR0FBNENGLE9BQU8sQ0FBdkRFLElBQUk7SUFBRUMsU0FBUyxHQUFpQ0gsT0FBTyxDQUFqREcsU0FBUztJQUFF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
@@ -176,7 +176,7 @@ export default class TripLayer extends Layer {
176
176
  sizeField?: import("@kepler.gl/types").VisualChannelField | undefined;
177
177
  };
178
178
  getHoverData(object: any, dataContainer: DataContainerInterface, fields: any, animationConfig: any): any;
179
- calculateDataAttribute(dataset: KeplerTable): any;
179
+ calculateDataAttribute(dataset: KeplerTable): GeojsonDataMaps;
180
180
  formatLayerData(datasets: Datasets, oldLayerData: any): {};
181
181
  updateAnimationDomain(domain: any): void;
182
182
  updateLayerMeta(dataset: KeplerTable): void;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kepler.gl/layers",
3
3
  "author": "Shan He <shan@uber.com>",
4
- "version": "3.1.5",
4
+ "version": "3.1.7",
5
5
  "description": "kepler.gl constants used by kepler.gl components, actions and reducers",
6
6
  "license": "MIT",
7
7
  "main": "dist/index.js",
@@ -36,14 +36,14 @@
36
36
  "@deck.gl/geo-layers": "^8.9.27",
37
37
  "@deck.gl/layers": "^8.9.27",
38
38
  "@deck.gl/mesh-layers": "^8.9.27",
39
- "@kepler.gl/common-utils": "3.1.5",
40
- "@kepler.gl/constants": "3.1.5",
41
- "@kepler.gl/deckgl-arrow-layers": "3.1.5",
42
- "@kepler.gl/deckgl-layers": "3.1.5",
43
- "@kepler.gl/localization": "3.1.5",
44
- "@kepler.gl/table": "3.1.5",
45
- "@kepler.gl/types": "3.1.5",
46
- "@kepler.gl/utils": "3.1.5",
39
+ "@kepler.gl/common-utils": "3.1.7",
40
+ "@kepler.gl/constants": "3.1.7",
41
+ "@kepler.gl/deckgl-arrow-layers": "3.1.7",
42
+ "@kepler.gl/deckgl-layers": "3.1.7",
43
+ "@kepler.gl/localization": "3.1.7",
44
+ "@kepler.gl/table": "3.1.7",
45
+ "@kepler.gl/types": "3.1.7",
46
+ "@kepler.gl/utils": "3.1.7",
47
47
  "@loaders.gl/arrow": "^4.3.2",
48
48
  "@loaders.gl/core": "^4.3.2",
49
49
  "@loaders.gl/gis": "^4.3.2",
@@ -7,14 +7,14 @@ import GL from '@luma.gl/constants';
7
7
 
8
8
  import {SvgIconLayer} from '@kepler.gl/deckgl-layers';
9
9
  import IconLayerIcon from './icon-layer-icon';
10
- import {ICON_FIELDS, KEPLER_UNFOLDED_BUCKET} from '@kepler.gl/constants';
10
+ import {ICON_FIELDS} from '@kepler.gl/constants';
11
11
  import IconInfoModalFactory from './icon-info-modal';
12
12
  import Layer, {LayerBaseConfig, LayerBaseConfigPartial} from '../base-layer';
13
13
  import {assignPointPairToLayerColumn, FindDefaultLayerPropsReturnValue} from '../layer-utils';
14
14
  import {isTest} from '@kepler.gl/utils';
15
15
  import {getTextOffsetByRadius, formatTextLabelData} from '../layer-text-label';
16
16
  import {default as KeplerTable} from '@kepler.gl/table';
17
- import {DataContainerInterface} from '@kepler.gl/utils';
17
+ import {getApplicationConfig, DataContainerInterface} from '@kepler.gl/utils';
18
18
  import {
19
19
  ColorRange,
20
20
  VisConfigBoolean,
@@ -60,8 +60,6 @@ export type IconLayerData = {index: number; icon: string};
60
60
 
61
61
  const brushingExtension = new BrushingExtension();
62
62
 
63
- export const SVG_ICON_URL = `${KEPLER_UNFOLDED_BUCKET}/icons/svg-icons.json`;
64
-
65
63
  export const iconPosAccessor =
66
64
  ({lat, lng, altitude}: IconLayerColumnsConfig) =>
67
65
  (dc: DataContainerInterface) =>
@@ -147,7 +145,7 @@ export default class IconLayer extends Layer {
147
145
  }
148
146
 
149
147
  get svgIconUrl() {
150
- return SVG_ICON_URL;
148
+ return `${getApplicationConfig().cdnUrl}/icons/svg-icons.json`;
151
149
  }
152
150
 
153
151
  get type(): 'icon' {
@@ -49,7 +49,7 @@ import {default as RasterTileLayer} from './raster-tile/raster-tile-layer';
49
49
  export {default as RasterTileIcon} from './raster-tile/raster-tile-icon';
50
50
  export {
51
51
  default as RasterTileLayer,
52
- isTilesBeingLoaded as isRasterTilesBeingLoaded
52
+ getNumRasterTilesBeingLoaded
53
53
  } from './raster-tile/raster-tile-layer';
54
54
  export {
55
55
  CATEGORICAL_COLORMAP_ID,
@@ -57,6 +57,7 @@ export {
57
57
  RASTER_COLOR_RESET_PARAMS,
58
58
  PRESET_OPTIONS
59
59
  } from './raster-tile/config';
60
+ export {RasterLayerResources} from './raster-tile/url';
60
61
  export {getCategoricalColormapDataUrl} from './raster-tile/image';
61
62
  export * from './raster-tile/types';
62
63
  export * from './raster-tile/raster-tile-utils';
@@ -7,9 +7,9 @@
7
7
 
8
8
  import {load} from '@loaders.gl/core';
9
9
  import {QuantizedMeshLoader} from '@loaders.gl/terrain';
10
- import memoize from 'lodash.memoize';
10
+ import memoize from 'lodash/memoize';
11
11
 
12
- import {getLoaderOptions, RasterLayerResources as cdnUrls} from '@kepler.gl/constants';
12
+ import {getLoaderOptions} from '@kepler.gl/constants';
13
13
 
14
14
  import {CATEGORICAL_COLORMAP_ID} from './config';
15
15
  import {
@@ -32,7 +32,8 @@ import {
32
32
  getTerrainUrl,
33
33
  getSingleCOGUrlParams,
34
34
  getStacApiUrlParams,
35
- getMeshMaxError
35
+ getMeshMaxError,
36
+ RasterLayerResources
36
37
  } from './url';
37
38
 
38
39
  /**
@@ -128,7 +129,10 @@ async function loadColormap(colormapId: string): Promise<ColormapImageData | nul
128
129
  return null;
129
130
  }
130
131
 
131
- const request = await getAssetRequest({url: cdnUrls.rasterColorMap(colormapId), options: {}});
132
+ const request = await getAssetRequest({
133
+ url: RasterLayerResources.rasterColorMap(colormapId),
134
+ options: {}
135
+ });
132
136
  return loadImage(request.url, COLORMAP_TEXTURE_PARAMETERS, request.options);
133
137
  }
134
138
 
@@ -385,13 +389,20 @@ export function getCategoricalColormapDataUrl(
385
389
  return getImageDataURL(bitmap, CATEGORICAL_TEXTURE_WIDTH, 1);
386
390
  }
387
391
 
388
- export function loadTerrain(props: {
392
+ /**
393
+ * Load terrain mesh from raster tile server
394
+ * @param props - properties to load terrain data
395
+ * @returns terrain mesh data
396
+ */
397
+ export async function loadTerrain(props: {
389
398
  index: {x: number; y: number; z: number};
390
399
  signal: AbortSignal;
391
400
  rasterTileServerUrls: string[];
401
+ boundsForGeometry?: [number, number, number, number];
392
402
  }): Promise<TerrainData> {
393
403
  const {
394
404
  index: {x, y, z},
405
+ boundsForGeometry,
395
406
  signal,
396
407
  rasterTileServerUrls
397
408
  } = props;
@@ -404,6 +415,7 @@ export function loadTerrain(props: {
404
415
  fetch: {signal},
405
416
  'quantized-mesh': {
406
417
  ...loaderOptions['quantized-mesh'],
418
+ bounds: boundsForGeometry,
407
419
  skirtHeight: meshMaxError * 2
408
420
  }
409
421
  }) as Promise<TerrainData>;
@@ -5,8 +5,7 @@ import {COORDINATE_SYSTEM, Layer as DeckLayer} from '@deck.gl/core/typed';
5
5
  import {TileLayer, GeoBoundingBox} from '@deck.gl/geo-layers/typed';
6
6
  import {PMTilesSource, PMTilesTileSource} from '@loaders.gl/pmtiles';
7
7
  import {Texture2DProps} from '@luma.gl/webgl';
8
- import memoize from 'lodash.memoize';
9
- import {Matrix4} from 'math.gl';
8
+ import memoize from 'lodash/memoize';
10
9
 
11
10
  import {PathLayer} from '@deck.gl/layers/typed';
12
11
  import {DatasetType, PMTilesType, LAYER_TYPES} from '@kepler.gl/constants';
@@ -69,9 +68,9 @@ const devicePixelRatio: number = Math.min(
69
68
  // Global counter that represents the number of tiles currently being loaded across all the raster tile layers
70
69
  let tilesBeingLoaded = 0;
71
70
 
72
- // This is a temp solution, as we don't have proper logic to track loading of asycn layers atm in Kepler.gl
73
- export const isTilesBeingLoaded = () => {
74
- return tilesBeingLoaded > 0;
71
+ // This is a temp solution to track loading
72
+ export const getNumRasterTilesBeingLoaded = () => {
73
+ return tilesBeingLoaded;
75
74
  };
76
75
 
77
76
  export const LOAD_ELEVATION_AFTER_ZOOM = 8.9;
@@ -399,7 +398,7 @@ export default class RasterTileLayer extends KeplerLayer {
399
398
  }
400
399
 
401
400
  private renderStacLayer(opts): TileLayer<any>[] {
402
- const {data, mapState} = opts;
401
+ const {data, mapState, experimentalContext} = opts;
403
402
  const stac = data?.dataset?.metadata as GetTileDataCustomProps['stac'];
404
403
 
405
404
  // If a tabular dataset is loaded, and then the layer type is switched from Point to Raster Tile
@@ -411,6 +410,8 @@ export default class RasterTileLayer extends KeplerLayer {
411
410
  const {visConfig} = this.config;
412
411
  const {id, opacity, visible} = this.getDefaultDeckLayerProps(opts);
413
412
 
413
+ const hasShadowEffect = experimentalContext?.hasShadowEffect;
414
+
414
415
  const {
415
416
  preset,
416
417
  colormapId,
@@ -545,7 +546,8 @@ export default class RasterTileLayer extends KeplerLayer {
545
546
  dataType,
546
547
  minCategoricalBandValue,
547
548
  maxCategoricalBandValue,
548
- hasCategoricalColorMap: Boolean(categoricalColorMap)
549
+ hasCategoricalColorMap: Boolean(categoricalColorMap),
550
+ hasShadowEffect
549
551
  });
550
552
 
551
553
  return [tileLayer];
@@ -627,6 +629,7 @@ export default class RasterTileLayer extends KeplerLayer {
627
629
  shouldLoadTerrain &&
628
630
  LOAD_ELEVATION_AFTER_ZOOM < zoom &&
629
631
  (await loadTerrain({
632
+ boundsForGeometry: [west, north, east, south],
630
633
  index: props.index,
631
634
  signal: props.signal,
632
635
  rasterTileServerUrls: props.stac.rasterTileServerUrls || []
@@ -648,6 +651,7 @@ export default class RasterTileLayer extends KeplerLayer {
648
651
  }),
649
652
  shouldLoadTerrain && LOAD_ELEVATION_AFTER_ZOOM < zoom
650
653
  ? loadTerrain({
654
+ boundsForGeometry: [west, north, east, south],
651
655
  index: props.index,
652
656
  signal: props.signal,
653
657
  rasterTileServerUrls: props.stac.rasterTileServerUrls || []
@@ -706,6 +710,7 @@ export default class RasterTileLayer extends KeplerLayer {
706
710
  const terrain =
707
711
  image && shouldLoadTerrain && LOAD_ELEVATION_AFTER_ZOOM < zoom
708
712
  ? await loadTerrain({
713
+ boundsForGeometry: [west, north, east, south],
709
714
  index: props.index,
710
715
  signal: props.signal,
711
716
  rasterTileServerUrls: metadata.rasterTileServerUrls
@@ -776,9 +781,11 @@ function renderSubLayersStac(props: RenderSubLayersProps): DeckLayer<any> | Deck
776
781
  props: {...props, minPixelValue, maxPixelValue}
777
782
  });
778
783
 
784
+ const idSuffix = props.hasShadowEffect ? 'shadow' : '';
785
+
779
786
  return terrain
780
787
  ? new RasterMeshLayer(props, {
781
- id: `raster-3d-layer-${props.id}`,
788
+ id: `raster-3d-layer-${props.id}-${idSuffix}`,
782
789
  // Dummy data
783
790
  data: [1],
784
791
  mesh: terrain,
@@ -787,15 +794,13 @@ function renderSubLayersStac(props: RenderSubLayersProps): DeckLayer<any> | Deck
787
794
  moduleProps,
788
795
 
789
796
  getPolygonOffset: null,
790
- coordinateSystem: COORDINATE_SYSTEM.CARTESIAN,
791
- modelMatrix: getMercatorModelMatrix(tile.index),
792
- getPosition: () => [0, 0, 0],
797
+ coordinateSystem: COORDINATE_SYSTEM.LNGLAT,
793
798
  // Color to use if surfaceImage is unavailable
794
799
  getColor: [255, 255, 255]
795
800
  // material: false
796
801
  })
797
802
  : new RasterLayer(props, {
798
- id: `raster-2d-layer-${props.id}`,
803
+ id: `raster-2d-layer-${props.id}-${idSuffix}`,
799
804
  images,
800
805
  modules,
801
806
  moduleProps,
@@ -804,20 +809,6 @@ function renderSubLayersStac(props: RenderSubLayersProps): DeckLayer<any> | Deck
804
809
  });
805
810
  }
806
811
 
807
- // From https://github.com/uber/deck.gl/blob/b1901b11cbdcb82b317e1579ff236d1ca1d03ea7/modules/geo-layers/src/mvt-tile-layer/mvt-tile-layer.js#L41-L52
808
- export function getMercatorModelMatrix(tile: {x: number; y: number; z: number}): Matrix4 {
809
- const WORLD_SIZE = 512;
810
- const worldScale = Math.pow(2, tile.z);
811
-
812
- const xScale = WORLD_SIZE / worldScale;
813
- const yScale = -xScale;
814
-
815
- const xOffset = (WORLD_SIZE * tile.x) / worldScale;
816
- const yOffset = WORLD_SIZE * (1 - tile.y / worldScale);
817
-
818
- return new Matrix4().translate([xOffset, yOffset, 0]).scale([xScale, yScale, 1]);
819
- }
820
-
821
812
  function renderSubLayersPMTiles(props: {
822
813
  id: string;
823
814
  data: any;
@@ -906,9 +897,7 @@ function getRasterLayerPMTiles(props: {id: string; data: any; tile: any}) {
906
897
  moduleProps,
907
898
 
908
899
  getPolygonOffset: null,
909
- coordinateSystem: COORDINATE_SYSTEM.CARTESIAN,
910
- modelMatrix: getMercatorModelMatrix(tile.index),
911
- getPosition: () => [0, 0, 0],
900
+ coordinateSystem: COORDINATE_SYSTEM.LNGLAT,
912
901
  // Color to use if surfaceImage is unavailable
913
902
  getColor: [255, 255, 255]
914
903
  // material: false
@@ -157,6 +157,7 @@ export type RenderSubLayersCustomProps = ColorRescaling &
157
157
  minCategoricalBandValue?: number;
158
158
  maxCategoricalBandValue?: number;
159
159
  hasCategoricalColorMap: boolean;
160
+ hasShadowEffect?: boolean;
160
161
  };
161
162
 
162
163
  export interface RenderSubLayersDefaultProps {
@@ -222,3 +222,9 @@ export function getTerrainUrl(
222
222
  export function getMeshMaxError(z: number, multiplier: number): number {
223
223
  return (77067.34 / (1 << z)) * multiplier;
224
224
  }
225
+
226
+ export const RasterLayerResources = {
227
+ rasterColorMap: (colormapId: string) => {
228
+ return `${getApplicationConfig().cdnUrl}/raster/colormaps/${colormapId}.png`;
229
+ }
230
+ };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kepler.gl/localization",
3
3
  "author": "Shan He <shan@uber.com>",
4
- "version": "3.1.5",
4
+ "version": "3.1.7",
5
5
  "description": "kepler.gl constants used by kepler.gl components, actions and reducers",
6
6
  "license": "MIT",
7
7
  "main": "dist/index.js",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kepler.gl/processors",
3
3
  "author": "Shan He <shan@uber.com>",
4
- "version": "3.1.5",
4
+ "version": "3.1.7",
5
5
  "description": "kepler.gl constants used by kepler.gl components, actions and reducers",
6
6
  "license": "MIT",
7
7
  "main": "dist/index.js",
@@ -31,12 +31,12 @@
31
31
  ],
32
32
  "dependencies": {
33
33
  "@danmarshall/deckgl-typings": "4.9.22",
34
- "@kepler.gl/common-utils": "3.1.5",
35
- "@kepler.gl/constants": "3.1.5",
36
- "@kepler.gl/schemas": "3.1.5",
37
- "@kepler.gl/table": "3.1.5",
38
- "@kepler.gl/types": "3.1.5",
39
- "@kepler.gl/utils": "3.1.5",
34
+ "@kepler.gl/common-utils": "3.1.7",
35
+ "@kepler.gl/constants": "3.1.7",
36
+ "@kepler.gl/schemas": "3.1.7",
37
+ "@kepler.gl/table": "3.1.7",
38
+ "@kepler.gl/types": "3.1.7",
39
+ "@kepler.gl/utils": "3.1.7",
40
40
  "@loaders.gl/arrow": "^4.3.2",
41
41
  "@loaders.gl/core": "^4.3.2",
42
42
  "@loaders.gl/csv": "^4.3.2",
@@ -26,6 +26,7 @@ export { fitBoundsUpdater, pickViewportPropsFromMapState, INITIAL_MAP_STATE } fr
26
26
  export * from './composer-helpers';
27
27
  export * from './vis-state-updaters';
28
28
  export { INITIAL_UI_STATE } from './ui-state-updaters';
29
+ export { getDefaultMapStyles } from './map-style-updaters';
29
30
  export type { MapboxStyleUrl, MapStyle } from './map-style-updaters';
30
31
  export * from './data-utils';
31
32
  export * from './export-utils';
@@ -25,6 +25,7 @@ var _exportNames = {
25
25
  getInitialInputStyle: true,
26
26
  loadMapStylesUpdater: true,
27
27
  INITIAL_MAP_STYLE: true,
28
+ getDefaultMapStyles: true,
28
29
  mapStyleUpdaters: true,
29
30
  INITIAL_UI_STATE: true,
30
31
  uiStateUpdaters: true,
@@ -79,6 +80,12 @@ Object.defineProperty(exports, "fitBoundsUpdater", {
79
80
  return _mapStateUpdaters.fitBoundsUpdater;
80
81
  }
81
82
  });
83
+ Object.defineProperty(exports, "getDefaultMapStyles", {
84
+ enumerable: true,
85
+ get: function get() {
86
+ return _mapStyleUpdaters.getDefaultMapStyles;
87
+ }
88
+ });
82
89
  Object.defineProperty(exports, "getInitialInputStyle", {
83
90
  enumerable: true,
84
91
  get: function get() {
@@ -339,4 +346,4 @@ Object.keys(_layerUtils).forEach(function (key) {
339
346
  var _middleware = require("./middleware");
340
347
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
341
348
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
342
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcm9vdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2NvcmUiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl92aXNTdGF0ZSIsIl9tYXBTdGF0ZSIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiX2V4cG9ydE5hbWVzIiwiZXhwb3J0cyIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsImdldCIsIl91aVN0YXRlIiwiX21hcFN0eWxlIiwiX3Byb3ZpZGVyU3RhdGUiLCJfdmlzU3RhdGVVcGRhdGVycyIsInZpc1N0YXRlVXBkYXRlcnMiLCJfbWFwU3RhdGVVcGRhdGVycyIsIm1hcFN0YXRlVXBkYXRlcnMiLCJfbWFwU3R5bGVVcGRhdGVycyIsIm1hcFN0eWxlVXBkYXRlcnMiLCJfdWlTdGF0ZVVwZGF0ZXJzIiwidWlTdGF0ZVVwZGF0ZXJzIiwiX2NvbWJpbmVVcGRhdGVycyIsIl9jb21iaW5lZFVwZGF0ZXJzIiwiY29tYmluZVVwZGF0ZXJzIiwiY29tYmluZWRVcGRhdGVycyIsIl92aXNTdGF0ZU1lcmdlcnMiLCJ2aXNTdGF0ZU1lcmdlcnMiLCJfdmlzU3RhdGVTZWxlY3RvcnMiLCJfcHJvdmlkZXJTdGF0ZVVwZGF0ZXJzIiwicHJvdmlkZXJTdGF0ZVVwZGF0ZXJzIiwiX2NvbXBvc2VySGVscGVycyIsIl9kYXRhVXRpbHMiLCJfZXhwb3J0VXRpbHMiLCJfaW50ZXJhY3Rpb25VdGlscyIsIl9sYXllclV0aWxzIiwiX21pZGRsZXdhcmUiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJuIiwiX19wcm90b19fIiwiYSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJpIiwic2V0Il0sInNvdXJjZXMiOlsiLi4vc3JjL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbi8vIFRPRE86IFVubmVjZXNzYXJ5IHdoZW4gZXNsaW50LXBsdWdpbi1wcmV0dGllciBpcyB1cGdyYWRlZFxuLyogZXNsaW50LWRpc2FibGUgcHJldHRpZXIvcHJldHRpZXIgKi9cblxuLy8gUm9vdCBSZWR1Y2VyLCB1c2VkIHRvIHJlZ2lzdGVyLCBhbmQgcmVtb3ZlIGNvcmUgcmVkdWNlcnMgb2YgZWFjaCBpbnN0YW5jZVxuZXhwb3J0IHtkZWZhdWx0fSBmcm9tICcuL3Jvb3QnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIGtlcGxlckdsUmVkdWNlcn0gZnJvbSAnLi9yb290JztcblxuLy8gQ29yZSBSZWR1Y2VyXG5leHBvcnQge1xuICBkZWZhdWx0IGFzIGtlcGxlckdsUmVkdWNlckNvcmUsXG4gIHZpc1N0YXRlTGVucyxcbiAgbWFwU3RhdGVMZW5zLFxuICB1aVN0YXRlTGVucyxcbiAgbWFwU3R5bGVMZW5zXG59IGZyb20gJy4vY29yZSc7XG5cbi8vIEVhY2ggaW5kaXZpZHVhbCByZWR1Y2VyXG5leHBvcnQge2RlZmF1bHQgYXMgdmlzU3RhdGVSZWR1Y2VyfSBmcm9tICcuL3Zpcy1zdGF0ZSc7XG5leHBvcnQge2RlZmF1bHQgYXMgbWFwU3RhdGVSZWR1Y2VyfSBmcm9tICcuL21hcC1zdGF0ZSc7XG5leHBvcnQge2RlZmF1bHQgYXMgdWlTdGF0ZVJlZHVjZXJ9IGZyb20gJy4vdWktc3RhdGUnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIG1hcFN0eWxlUmVkdWNlcn0gZnJvbSAnLi9tYXAtc3R5bGUnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIHByb3ZpZGVyUmVkdWNlcn0gZnJvbSAnLi9wcm92aWRlci1zdGF0ZSc7XG5cbi8vIHJlZHVjZXIgdXBkYXRlcnNcblxuZXhwb3J0ICogYXMgdmlzU3RhdGVVcGRhdGVycyBmcm9tICcuL3Zpcy1zdGF0ZS11cGRhdGVycyc7XG5leHBvcnQgKiBhcyBtYXBTdGF0ZVVwZGF0ZXJzIGZyb20gJy4vbWFwLXN0YXRlLXVwZGF0ZXJzJztcbmV4cG9ydCAqIGFzIG1hcFN0eWxlVXBkYXRlcnMgZnJvbSAnLi9tYXAtc3R5bGUtdXBkYXRlcnMnO1xuZXhwb3J0ICogYXMgdWlTdGF0ZVVwZGF0ZXJzIGZyb20gJy4vdWktc3RhdGUtdXBkYXRlcnMnO1xuXG4vLyBUaGlzIHdpbGwgYmUgZGVwcmVjYXRlZFxuZXhwb3J0ICogYXMgY29tYmluZVVwZGF0ZXJzIGZyb20gJy4vY29tYmluZWQtdXBkYXRlcnMnO1xuZXhwb3J0ICogYXMgY29tYmluZWRVcGRhdGVycyBmcm9tICcuL2NvbWJpbmVkLXVwZGF0ZXJzJztcbmV4cG9ydCB0eXBlIHtLZXBsZXJHbFN0YXRlfSBmcm9tICcuL2NvbWJpbmVkLXVwZGF0ZXJzJztcbmV4cG9ydCB7YWRkRGF0YVRvTWFwVXBkYXRlciwgcmVwbGFjZURhdGFJbk1hcFVwZGF0ZXJ9IGZyb20gJy4vY29tYmluZWQtdXBkYXRlcnMnO1xuXG4vLyByZWR1Y2VyIG1lcmdlc1xuZXhwb3J0ICogYXMgdmlzU3RhdGVNZXJnZXJzIGZyb20gJy4vdmlzLXN0YXRlLW1lcmdlcic7XG5leHBvcnQgKiBmcm9tICcuL3Zpcy1zdGF0ZS1zZWxlY3RvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi92aXMtc3RhdGUtbWVyZ2VyJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXItc3RhdGUtdXBkYXRlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm92aWRlci1zdGF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL3VpLXN0YXRlJztcbmV4cG9ydCAqIGZyb20gJy4vbWFwLXN0YXRlJztcbmV4cG9ydCB7Z2V0SW5pdGlhbElucHV0U3R5bGUsIGxvYWRNYXBTdHlsZXNVcGRhdGVyLCBJTklUSUFMX01BUF9TVFlMRX0gZnJvbSAnLi9tYXAtc3R5bGUtdXBkYXRlcnMnO1xuZXhwb3J0IHtcbiAgZml0Qm91bmRzVXBkYXRlcixcbiAgcGlja1ZpZXdwb3J0UHJvcHNGcm9tTWFwU3RhdGUsXG4gIElOSVRJQUxfTUFQX1NUQVRFXG59IGZyb20gJy4vbWFwLXN0YXRlLXVwZGF0ZXJzJztcblxuLy8gSGVscGVyc1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb3Nlci1oZWxwZXJzJztcblxuLy8gZXhwb3J0IHR5cGVzXG5leHBvcnQgKiBmcm9tICcuL3Zpcy1zdGF0ZS11cGRhdGVycyc7XG5cbmV4cG9ydCB7SU5JVElBTF9VSV9TVEFURX0gZnJvbSAnLi91aS1zdGF0ZS11cGRhdGVycyc7XG5cbmV4cG9ydCB0eXBlIHtNYXBib3hTdHlsZVVybCwgTWFwU3R5bGV9IGZyb20gJy4vbWFwLXN0eWxlLXVwZGF0ZXJzJztcblxuZXhwb3J0ICogZnJvbSAnLi9kYXRhLXV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vZXhwb3J0LXV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJhY3Rpb24tdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9sYXllci11dGlscyc7XG5leHBvcnQgKiBhcyBwcm92aWRlclN0YXRlVXBkYXRlcnMgZnJvbSAnLi9wcm92aWRlci1zdGF0ZS11cGRhdGVycyc7XG5cbmV4cG9ydCB7ZW5oYW5jZVJlZHV4TWlkZGxld2FyZX0gZnJvbSAnLi9taWRkbGV3YXJlJztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT0EsSUFBQUEsS0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBSUEsSUFBQUMsS0FBQSxHQUFBQyx1QkFBQSxDQUFBRixPQUFBO0FBU0EsSUFBQUcsU0FBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQ0Es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
349
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcm9vdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2NvcmUiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl92aXNTdGF0ZSIsIl9tYXBTdGF0ZSIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiX2V4cG9ydE5hbWVzIiwiZXhwb3J0cyIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsImdldCIsIl91aVN0YXRlIiwiX21hcFN0eWxlIiwiX3Byb3ZpZGVyU3RhdGUiLCJfdmlzU3RhdGVVcGRhdGVycyIsInZpc1N0YXRlVXBkYXRlcnMiLCJfbWFwU3RhdGVVcGRhdGVycyIsIm1hcFN0YXRlVXBkYXRlcnMiLCJfbWFwU3R5bGVVcGRhdGVycyIsIm1hcFN0eWxlVXBkYXRlcnMiLCJfdWlTdGF0ZVVwZGF0ZXJzIiwidWlTdGF0ZVVwZGF0ZXJzIiwiX2NvbWJpbmVVcGRhdGVycyIsIl9jb21iaW5lZFVwZGF0ZXJzIiwiY29tYmluZVVwZGF0ZXJzIiwiY29tYmluZWRVcGRhdGVycyIsIl92aXNTdGF0ZU1lcmdlcnMiLCJ2aXNTdGF0ZU1lcmdlcnMiLCJfdmlzU3RhdGVTZWxlY3RvcnMiLCJfcHJvdmlkZXJTdGF0ZVVwZGF0ZXJzIiwicHJvdmlkZXJTdGF0ZVVwZGF0ZXJzIiwiX2NvbXBvc2VySGVscGVycyIsIl9kYXRhVXRpbHMiLCJfZXhwb3J0VXRpbHMiLCJfaW50ZXJhY3Rpb25VdGlscyIsIl9sYXllclV0aWxzIiwiX21pZGRsZXdhcmUiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJuIiwiX19wcm90b19fIiwiYSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJpIiwic2V0Il0sInNvdXJjZXMiOlsiLi4vc3JjL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbi8vIFRPRE86IFVubmVjZXNzYXJ5IHdoZW4gZXNsaW50LXBsdWdpbi1wcmV0dGllciBpcyB1cGdyYWRlZFxuLyogZXNsaW50LWRpc2FibGUgcHJldHRpZXIvcHJldHRpZXIgKi9cblxuLy8gUm9vdCBSZWR1Y2VyLCB1c2VkIHRvIHJlZ2lzdGVyLCBhbmQgcmVtb3ZlIGNvcmUgcmVkdWNlcnMgb2YgZWFjaCBpbnN0YW5jZVxuZXhwb3J0IHtkZWZhdWx0fSBmcm9tICcuL3Jvb3QnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIGtlcGxlckdsUmVkdWNlcn0gZnJvbSAnLi9yb290JztcblxuLy8gQ29yZSBSZWR1Y2VyXG5leHBvcnQge1xuICBkZWZhdWx0IGFzIGtlcGxlckdsUmVkdWNlckNvcmUsXG4gIHZpc1N0YXRlTGVucyxcbiAgbWFwU3RhdGVMZW5zLFxuICB1aVN0YXRlTGVucyxcbiAgbWFwU3R5bGVMZW5zXG59IGZyb20gJy4vY29yZSc7XG5cbi8vIEVhY2ggaW5kaXZpZHVhbCByZWR1Y2VyXG5leHBvcnQge2RlZmF1bHQgYXMgdmlzU3RhdGVSZWR1Y2VyfSBmcm9tICcuL3Zpcy1zdGF0ZSc7XG5leHBvcnQge2RlZmF1bHQgYXMgbWFwU3RhdGVSZWR1Y2VyfSBmcm9tICcuL21hcC1zdGF0ZSc7XG5leHBvcnQge2RlZmF1bHQgYXMgdWlTdGF0ZVJlZHVjZXJ9IGZyb20gJy4vdWktc3RhdGUnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIG1hcFN0eWxlUmVkdWNlcn0gZnJvbSAnLi9tYXAtc3R5bGUnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIHByb3ZpZGVyUmVkdWNlcn0gZnJvbSAnLi9wcm92aWRlci1zdGF0ZSc7XG5cbi8vIHJlZHVjZXIgdXBkYXRlcnNcblxuZXhwb3J0ICogYXMgdmlzU3RhdGVVcGRhdGVycyBmcm9tICcuL3Zpcy1zdGF0ZS11cGRhdGVycyc7XG5leHBvcnQgKiBhcyBtYXBTdGF0ZVVwZGF0ZXJzIGZyb20gJy4vbWFwLXN0YXRlLXVwZGF0ZXJzJztcbmV4cG9ydCAqIGFzIG1hcFN0eWxlVXBkYXRlcnMgZnJvbSAnLi9tYXAtc3R5bGUtdXBkYXRlcnMnO1xuZXhwb3J0ICogYXMgdWlTdGF0ZVVwZGF0ZXJzIGZyb20gJy4vdWktc3RhdGUtdXBkYXRlcnMnO1xuXG4vLyBUaGlzIHdpbGwgYmUgZGVwcmVjYXRlZFxuZXhwb3J0ICogYXMgY29tYmluZVVwZGF0ZXJzIGZyb20gJy4vY29tYmluZWQtdXBkYXRlcnMnO1xuZXhwb3J0ICogYXMgY29tYmluZWRVcGRhdGVycyBmcm9tICcuL2NvbWJpbmVkLXVwZGF0ZXJzJztcbmV4cG9ydCB0eXBlIHtLZXBsZXJHbFN0YXRlfSBmcm9tICcuL2NvbWJpbmVkLXVwZGF0ZXJzJztcbmV4cG9ydCB7YWRkRGF0YVRvTWFwVXBkYXRlciwgcmVwbGFjZURhdGFJbk1hcFVwZGF0ZXJ9IGZyb20gJy4vY29tYmluZWQtdXBkYXRlcnMnO1xuXG4vLyByZWR1Y2VyIG1lcmdlc1xuZXhwb3J0ICogYXMgdmlzU3RhdGVNZXJnZXJzIGZyb20gJy4vdmlzLXN0YXRlLW1lcmdlcic7XG5leHBvcnQgKiBmcm9tICcuL3Zpcy1zdGF0ZS1zZWxlY3RvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi92aXMtc3RhdGUtbWVyZ2VyJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXItc3RhdGUtdXBkYXRlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm92aWRlci1zdGF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL3VpLXN0YXRlJztcbmV4cG9ydCAqIGZyb20gJy4vbWFwLXN0YXRlJztcbmV4cG9ydCB7Z2V0SW5pdGlhbElucHV0U3R5bGUsIGxvYWRNYXBTdHlsZXNVcGRhdGVyLCBJTklUSUFMX01BUF9TVFlMRX0gZnJvbSAnLi9tYXAtc3R5bGUtdXBkYXRlcnMnO1xuZXhwb3J0IHtcbiAgZml0Qm91bmRzVXBkYXRlcixcbiAgcGlja1ZpZXdwb3J0UHJvcHNGcm9tTWFwU3RhdGUsXG4gIElOSVRJQUxfTUFQX1NUQVRFXG59IGZyb20gJy4vbWFwLXN0YXRlLXVwZGF0ZXJzJztcblxuLy8gSGVscGVyc1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb3Nlci1oZWxwZXJzJztcblxuLy8gZXhwb3J0IHR5cGVzXG5leHBvcnQgKiBmcm9tICcuL3Zpcy1zdGF0ZS11cGRhdGVycyc7XG5cbmV4cG9ydCB7SU5JVElBTF9VSV9TVEFURX0gZnJvbSAnLi91aS1zdGF0ZS11cGRhdGVycyc7XG5cbmV4cG9ydCB7Z2V0RGVmYXVsdE1hcFN0eWxlc30gZnJvbSAnLi9tYXAtc3R5bGUtdXBkYXRlcnMnO1xuZXhwb3J0IHR5cGUge01hcGJveFN0eWxlVXJsLCBNYXBTdHlsZX0gZnJvbSAnLi9tYXAtc3R5bGUtdXBkYXRlcnMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2RhdGEtdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9leHBvcnQtdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmFjdGlvbi11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2xheWVyLXV0aWxzJztcbmV4cG9ydCAqIGFzIHByb3ZpZGVyU3RhdGVVcGRhdGVycyBmcm9tICcuL3Byb3ZpZGVyLXN0YXRlLXVwZGF0ZXJzJztcblxuZXhwb3J0IHtlbmhhbmNlUmVkdXhNaWRkbGV3YXJlfSBmcm9tICcuL21pZGRsZXdhcmUnO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT0EsSUFBQUEsS0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBSUEsSUFBQUMsS0FBQSxH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
@@ -94,4 +94,6 @@ export declare function getLayerOrderFromLayers<T extends {
94
94
  export declare function reorderLayerOrder(layerOrder: VisState['layerOrder'], originLayerId: string, destinationLayerId: string): VisState['layerOrder'];
95
95
  export declare function addLayerToLayerOrder(layerOrder: VisState['layerOrder'], layerId: string): string[];
96
96
  export declare function getLayerHoverPropValue(data: DataRow | AggregationLayerHoverData | null | undefined, fieldIndex: number): any;
97
+ /** Checks if any Deck layers are in the process of loading. */
98
+ export declare function areAnyDeckLayersLoading(layers: DeckLayer[]): boolean;
97
99
  export {};