@kepler.gl/components 3.3.0-alpha.2 → 3.3.0-alpha.4

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 (353) hide show
  1. package/dist/annotations/annotation-overlay.d.ts +1 -0
  2. package/dist/annotations/annotation-overlay.js +7 -5
  3. package/dist/annotations/annotation-panel.js +16 -17
  4. package/dist/annotations/annotation-text.js +2 -3
  5. package/dist/annotations/annotation-utils.d.ts +14 -0
  6. package/dist/annotations/annotation-utils.js +44 -3
  7. package/dist/annotations/lexical-editor/floating-link-editor.js +9 -10
  8. package/dist/annotations/lexical-editor/lexical-rich-text-editor.js +2 -3
  9. package/dist/annotations/lexical-editor/lexical-toolbar.js +6 -7
  10. package/dist/annotations/lexical-editor/use-lexical-toolbar.js +15 -15
  11. package/dist/bottom-widget.js +3 -4
  12. package/dist/common/action-panel.js +2 -3
  13. package/dist/common/animation-control/animation-speed-slider.js +2 -3
  14. package/dist/common/animation-control/animation-window-control.js +2 -3
  15. package/dist/common/animation-control/floating-time-display.js +2 -3
  16. package/dist/common/animation-control/playback-controls.js +2 -3
  17. package/dist/common/animation-control/window-action-control.js +2 -3
  18. package/dist/common/checkbox.js +2 -3
  19. package/dist/common/color-legend.js +2 -3
  20. package/dist/common/column-stats-chart.js +2 -3
  21. package/dist/common/data-table/display-format.js +2 -3
  22. package/dist/common/data-table/grid.js +2 -3
  23. package/dist/common/data-table/header-cell.js +2 -3
  24. package/dist/common/data-table/index.js +2 -3
  25. package/dist/common/data-table/option-dropdown.js +2 -3
  26. package/dist/common/field-selector.js +2 -3
  27. package/dist/common/file-uploader/file-drop.js +2 -3
  28. package/dist/common/file-uploader/file-upload-progress.js +2 -3
  29. package/dist/common/file-uploader/file-upload.js +8 -9
  30. package/dist/common/file-uploader/upload-button.js +2 -3
  31. package/dist/common/histogram-plot.js +2 -3
  32. package/dist/common/icons/3d-models/airplane.js +2 -3
  33. package/dist/common/icons/3d-models/bicycle.js +2 -3
  34. package/dist/common/icons/3d-models/boeing.js +2 -3
  35. package/dist/common/icons/3d-models/car.js +2 -3
  36. package/dist/common/icons/3d-models/cargoship.js +2 -3
  37. package/dist/common/icons/3d-models/evtol.js +2 -3
  38. package/dist/common/icons/3d-models/glider.js +2 -3
  39. package/dist/common/icons/3d-models/helicopter.js +2 -3
  40. package/dist/common/icons/3d-models/scooter.js +2 -3
  41. package/dist/common/icons/3d-models/semitruck.js +2 -3
  42. package/dist/common/icons/3d-models/truck.js +2 -3
  43. package/dist/common/icons/add.js +2 -3
  44. package/dist/common/icons/annotation-text.js +2 -3
  45. package/dist/common/icons/arrow-down-alt.js +2 -3
  46. package/dist/common/icons/arrow-down-full.js +2 -3
  47. package/dist/common/icons/arrow-down-small.js +2 -3
  48. package/dist/common/icons/arrow-down-solid.js +2 -3
  49. package/dist/common/icons/arrow-down.js +2 -3
  50. package/dist/common/icons/arrow-left.js +2 -3
  51. package/dist/common/icons/arrow-right.js +2 -3
  52. package/dist/common/icons/arrow-up-alt.js +2 -3
  53. package/dist/common/icons/arrow-up-solid.js +2 -3
  54. package/dist/common/icons/arrow-up.js +2 -3
  55. package/dist/common/icons/base-map.js +2 -3
  56. package/dist/common/icons/base.js +2 -3
  57. package/dist/common/icons/bug.js +2 -3
  58. package/dist/common/icons/calendar.js +2 -3
  59. package/dist/common/icons/cancel.js +2 -3
  60. package/dist/common/icons/checkmark.js +2 -3
  61. package/dist/common/icons/clipboard.js +2 -3
  62. package/dist/common/icons/clock.js +2 -3
  63. package/dist/common/icons/close.js +2 -3
  64. package/dist/common/icons/cloud.js +2 -3
  65. package/dist/common/icons/code-alt.js +2 -3
  66. package/dist/common/icons/copy.js +2 -3
  67. package/dist/common/icons/crosshairs.js +2 -3
  68. package/dist/common/icons/cube-3d.js +2 -3
  69. package/dist/common/icons/cursor-click.js +2 -3
  70. package/dist/common/icons/cursor-point.js +2 -3
  71. package/dist/common/icons/data-table.js +2 -3
  72. package/dist/common/icons/db.js +2 -3
  73. package/dist/common/icons/delete.js +2 -3
  74. package/dist/common/icons/docs.js +2 -3
  75. package/dist/common/icons/docs2.js +2 -3
  76. package/dist/common/icons/drag-n-drop.js +2 -3
  77. package/dist/common/icons/draggable-dots.js +2 -3
  78. package/dist/common/icons/draw-polygon.js +2 -3
  79. package/dist/common/icons/edit.js +2 -3
  80. package/dist/common/icons/effects/brightness-contrast.js +2 -3
  81. package/dist/common/icons/effects/color-halftone.js +2 -3
  82. package/dist/common/icons/effects/distance-fog.js +2 -3
  83. package/dist/common/icons/effects/dot-screen.js +2 -3
  84. package/dist/common/icons/effects/edge-work.js +2 -3
  85. package/dist/common/icons/effects/hexagonal-pixelate.js +2 -3
  86. package/dist/common/icons/effects/hue-saturation.js +2 -3
  87. package/dist/common/icons/effects/ink.js +2 -3
  88. package/dist/common/icons/effects/light-and-shadow.js +2 -3
  89. package/dist/common/icons/effects/magic-wand.js +2 -3
  90. package/dist/common/icons/effects/magnify.js +2 -3
  91. package/dist/common/icons/effects/noise.js +2 -3
  92. package/dist/common/icons/effects/sepia.js +2 -3
  93. package/dist/common/icons/effects/surface-fog.js +2 -3
  94. package/dist/common/icons/effects/tilt-shift.js +2 -3
  95. package/dist/common/icons/effects/triangle-blur.js +2 -3
  96. package/dist/common/icons/effects/vibrance.js +2 -3
  97. package/dist/common/icons/effects/vignette.js +2 -3
  98. package/dist/common/icons/effects/zoom-blur.js +2 -3
  99. package/dist/common/icons/email.js +2 -3
  100. package/dist/common/icons/expand.js +2 -3
  101. package/dist/common/icons/eye-seen.js +2 -3
  102. package/dist/common/icons/eye-unseen.js +2 -3
  103. package/dist/common/icons/file.js +2 -3
  104. package/dist/common/icons/filter-funnel.js +2 -3
  105. package/dist/common/icons/folder.js +2 -3
  106. package/dist/common/icons/gear.js +2 -3
  107. package/dist/common/icons/globe.js +2 -3
  108. package/dist/common/icons/hash.js +2 -3
  109. package/dist/common/icons/help.js +2 -3
  110. package/dist/common/icons/horizontal-resize-handle.js +2 -3
  111. package/dist/common/icons/info.js +2 -3
  112. package/dist/common/icons/layers.js +2 -3
  113. package/dist/common/icons/left-arrow.js +2 -3
  114. package/dist/common/icons/legend.js +2 -3
  115. package/dist/common/icons/line-chart.js +2 -3
  116. package/dist/common/icons/location-marker.js +2 -3
  117. package/dist/common/icons/login.js +2 -3
  118. package/dist/common/icons/logout.js +2 -3
  119. package/dist/common/icons/map-icon.js +2 -3
  120. package/dist/common/icons/map-pin.js +2 -3
  121. package/dist/common/icons/messages.js +2 -3
  122. package/dist/common/icons/minus.js +2 -3
  123. package/dist/common/icons/moon.js +2 -3
  124. package/dist/common/icons/pause.js +2 -3
  125. package/dist/common/icons/pin.js +2 -3
  126. package/dist/common/icons/play.js +2 -3
  127. package/dist/common/icons/pointer-click.js +2 -3
  128. package/dist/common/icons/polygon.js +2 -3
  129. package/dist/common/icons/rectangle.js +2 -3
  130. package/dist/common/icons/reduce.js +2 -3
  131. package/dist/common/icons/reset.js +2 -3
  132. package/dist/common/icons/save.js +2 -3
  133. package/dist/common/icons/save2.js +2 -3
  134. package/dist/common/icons/search.js +2 -3
  135. package/dist/common/icons/settings.js +2 -3
  136. package/dist/common/icons/share.js +2 -3
  137. package/dist/common/icons/speed.js +2 -3
  138. package/dist/common/icons/split.js +2 -3
  139. package/dist/common/icons/square-select.js +2 -3
  140. package/dist/common/icons/sun.js +2 -3
  141. package/dist/common/icons/sunrise.js +2 -3
  142. package/dist/common/icons/sunset.js +2 -3
  143. package/dist/common/icons/timeline-marker.js +2 -3
  144. package/dist/common/icons/trash.js +2 -3
  145. package/dist/common/icons/vert-dots.js +2 -3
  146. package/dist/common/icons/vert-three-dots.js +2 -3
  147. package/dist/common/icons/warning-sign.js +2 -3
  148. package/dist/common/icons/warning.js +2 -3
  149. package/dist/common/icons/zoom-in.js +2 -3
  150. package/dist/common/icons/zoom-out.js +2 -3
  151. package/dist/common/index.js +2 -3
  152. package/dist/common/item-selector/chickleted-input.js +2 -3
  153. package/dist/common/item-selector/dropdown-list.js +2 -3
  154. package/dist/common/item-selector/item-selector.js +2 -3
  155. package/dist/common/item-selector/typeahead.js +2 -3
  156. package/dist/common/layout-splitter.js +2 -3
  157. package/dist/common/line-chart.js +2 -3
  158. package/dist/common/loading-spinner.js +2 -3
  159. package/dist/common/modal.js +6 -7
  160. package/dist/common/portaled.js +2 -3
  161. package/dist/common/radius-legend.js +2 -3
  162. package/dist/common/range-brush.js +2 -3
  163. package/dist/common/range-plot.js +2 -3
  164. package/dist/common/range-slider-timeline-panel.js +2 -3
  165. package/dist/common/range-slider-timeline.js +2 -3
  166. package/dist/common/range-slider.js +2 -3
  167. package/dist/common/slider/slider-bar-handle.js +2 -3
  168. package/dist/common/slider/slider-handle.js +2 -3
  169. package/dist/common/slider/slider.js +2 -3
  170. package/dist/common/styled-components.d.ts +84 -82
  171. package/dist/common/styled-components.js +48 -44
  172. package/dist/common/time-range-slider.js +2 -3
  173. package/dist/common/time-slider-marker.js +2 -3
  174. package/dist/common/timeline-slider.js +2 -3
  175. package/dist/common/tippy-tooltip.js +2 -3
  176. package/dist/connect/with-local-selector.js +2 -3
  177. package/dist/container.js +4 -5
  178. package/dist/context.js +2 -3
  179. package/dist/dnd-context.js +2 -3
  180. package/dist/editor/editor.js +3 -4
  181. package/dist/editor/feature-action-panel.js +2 -3
  182. package/dist/effects/compact-color-picker.js +2 -3
  183. package/dist/effects/effect-configurator.js +17 -18
  184. package/dist/effects/effect-list.js +2 -3
  185. package/dist/effects/effect-manager.js +2 -3
  186. package/dist/effects/effect-panel-header.js +2 -3
  187. package/dist/effects/effect-panel.js +2 -3
  188. package/dist/effects/effect-time-configurator.js +18 -7
  189. package/dist/effects/effect-time-selector.js +2 -3
  190. package/dist/effects/effect-time-slider.js +2 -3
  191. package/dist/effects/effect-type-dropdown-list.js +2 -3
  192. package/dist/effects/effect-type-list-item.js +2 -3
  193. package/dist/effects/effect-type-selector.js +2 -3
  194. package/dist/effects/surface-fog-section.js +7 -8
  195. package/dist/effects/timezone-selector.js +2 -3
  196. package/dist/filter-animation-controller.js +2 -3
  197. package/dist/filters/filter-panels/filter-panel-with-field-select.js +2 -3
  198. package/dist/filters/filter-panels/filter-synced-dataset-panel.js +4 -5
  199. package/dist/filters/filter-panels/multi-select-filter-panel.js +2 -3
  200. package/dist/filters/filter-panels/new-filter-panel.js +2 -3
  201. package/dist/filters/filter-panels/polygon-filter-panel.js +2 -3
  202. package/dist/filters/filter-panels/range-filter-panel.js +2 -3
  203. package/dist/filters/filter-panels/single-select-filter-panel.js +2 -3
  204. package/dist/filters/filter-panels/time-range-filter-panel.js +2 -3
  205. package/dist/filters/polygon-filter.js +3 -4
  206. package/dist/filters/time-widget-settings.js +9 -10
  207. package/dist/filters/time-widget-top.js +2 -3
  208. package/dist/filters/time-widget.js +2 -3
  209. package/dist/geocoder/geocoder.js +6 -7
  210. package/dist/geocoder-panel.js +2 -3
  211. package/dist/hooks/use-cloud-list-provider.js +2 -3
  212. package/dist/hooks/use-fetch-raster-tile-metadata.js +2 -2
  213. package/dist/hooks/use-fetch-vector-tile-metadata.js +2 -2
  214. package/dist/index.d.ts +2 -2
  215. package/dist/index.js +23 -3
  216. package/dist/kepler-gl.d.ts +1 -0
  217. package/dist/kepler-gl.js +3 -3
  218. package/dist/layer-animation-controller.js +2 -3
  219. package/dist/loading-indicator.js +2 -3
  220. package/dist/map/annotations/annotation-control.js +2 -3
  221. package/dist/map/attribution.d.ts +52 -0
  222. package/dist/map/attribution.js +389 -0
  223. package/dist/map/effects/effect-control.js +2 -3
  224. package/dist/map/layer-hover-info.js +2 -3
  225. package/dist/map/lazy-tippy.js +2 -3
  226. package/dist/map/locale-panel.d.ts +1 -1
  227. package/dist/map/locale-panel.js +2 -3
  228. package/dist/map/map-control-panel.js +2 -3
  229. package/dist/map/map-control.d.ts +3 -0
  230. package/dist/map/map-control.js +1 -1
  231. package/dist/map/map-draw-panel.d.ts +1 -1
  232. package/dist/map/map-draw-panel.js +2 -3
  233. package/dist/map/map-legend-panel.d.ts +1 -1
  234. package/dist/map/map-legend-panel.js +9 -14
  235. package/dist/map/map-legend.js +2 -3
  236. package/dist/map/map-navigation-control.js +20 -4
  237. package/dist/map/map-popover.js +2 -3
  238. package/dist/map/split-map-button.d.ts +4 -2
  239. package/dist/map/split-map-button.js +63 -46
  240. package/dist/map/toggle-3d-button.d.ts +8 -2
  241. package/dist/map/toggle-3d-button.js +79 -17
  242. package/dist/map-container.d.ts +3 -14
  243. package/dist/map-container.js +211 -178
  244. package/dist/map-view-state-context.d.ts +2 -0
  245. package/dist/map-view-state-context.js +2 -3
  246. package/dist/maps-layout.js +2 -3
  247. package/dist/modal-container.js +2 -3
  248. package/dist/modals/add-map-style-modal.js +2 -3
  249. package/dist/modals/cloud-components/cloud-header.js +2 -3
  250. package/dist/modals/cloud-components/cloud-item.spec.js +8 -8
  251. package/dist/modals/cloud-components/cloud-maps.spec.js +7 -7
  252. package/dist/modals/cloud-tile.js +5 -6
  253. package/dist/modals/data-table-modal.js +2 -3
  254. package/dist/modals/error-display.js +2 -3
  255. package/dist/modals/export-data-modal.js +2 -3
  256. package/dist/modals/export-image-modal.js +2 -3
  257. package/dist/modals/export-map-modal/export-json-map.js +2 -3
  258. package/dist/modals/export-video-modal.js +52 -10
  259. package/dist/modals/export-video-modal.spec.js +83 -83
  260. package/dist/modals/globe-export-video-container.d.ts +117 -0
  261. package/dist/modals/globe-export-video-container.js +626 -0
  262. package/dist/modals/globe-export-video-preview.d.ts +41 -0
  263. package/dist/modals/globe-export-video-preview.js +152 -0
  264. package/dist/modals/hubble-utils.d.ts +13 -1
  265. package/dist/modals/hubble-utils.js +166 -38
  266. package/dist/modals/image-modal-container.js +2 -3
  267. package/dist/modals/load-data-modal.js +2 -3
  268. package/dist/modals/load-storage-map.js +2 -3
  269. package/dist/modals/load-storage-map.spec.js +10 -10
  270. package/dist/modals/modal-tabs.js +2 -3
  271. package/dist/modals/overwrite-map-modal.js +2 -3
  272. package/dist/modals/save-map-modal.js +2 -3
  273. package/dist/modals/save-map-modal.spec.js +16 -16
  274. package/dist/modals/share-map-modal.js +2 -3
  275. package/dist/modals/share-map-modal.spec.js +9 -9
  276. package/dist/modals/swipe-composite-utils.d.ts +1 -1
  277. package/dist/modals/swipe-composite-utils.js +11 -1
  278. package/dist/modals/swipe-export-settings.d.ts +1 -0
  279. package/dist/modals/swipe-export-settings.js +8 -6
  280. package/dist/modals/swipe-export-video-container.d.ts +6 -0
  281. package/dist/modals/swipe-export-video-container.js +27 -4
  282. package/dist/modals/swipe-export-video-preview.d.ts +2 -0
  283. package/dist/modals/swipe-export-video-preview.js +80 -18
  284. package/dist/modals/tilesets-modals/load-data-footer.js +2 -3
  285. package/dist/modals/tilesets-modals/load-tileset.js +2 -3
  286. package/dist/modals/tilesets-modals/tileset-bitmap-form.js +18 -19
  287. package/dist/modals/tilesets-modals/tileset-raster-form.js +5 -6
  288. package/dist/modals/tilesets-modals/tileset-tile3d-form.js +13 -14
  289. package/dist/modals/tilesets-modals/tileset-vector-form.js +7 -8
  290. package/dist/modals/tilesets-modals/tileset-wms-form.js +11 -12
  291. package/dist/notification-panel/notification-item.js +2 -3
  292. package/dist/plot-container.js +2 -3
  293. package/dist/side-panel/add-by-dataset-button.js +2 -3
  294. package/dist/side-panel/common/dataset-title.js +2 -3
  295. package/dist/side-panel/common/source-data-selector-content.js +2 -3
  296. package/dist/side-panel/common/source-selector.js +2 -3
  297. package/dist/side-panel/filter-manager.js +2 -3
  298. package/dist/side-panel/filter-panel/filter-panel-header.js +2 -3
  299. package/dist/side-panel/filter-panel/filter-panel.js +2 -3
  300. package/dist/side-panel/interaction-panel/interaction-panel.js +2 -3
  301. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +2 -3
  302. package/dist/side-panel/interaction-panel/tooltip-config.js +2 -3
  303. package/dist/side-panel/layer-manager.d.ts +2 -1
  304. package/dist/side-panel/layer-manager.js +6 -4
  305. package/dist/side-panel/layer-panel/channel-by-value-selector.js +2 -3
  306. package/dist/side-panel/layer-panel/color-breaks-panel.js +2 -3
  307. package/dist/side-panel/layer-panel/color-palette.js +2 -3
  308. package/dist/side-panel/layer-panel/color-range-selector.js +2 -3
  309. package/dist/side-panel/layer-panel/color-scale-selector.js +2 -3
  310. package/dist/side-panel/layer-panel/color-selector.js +2 -3
  311. package/dist/side-panel/layer-panel/column-selector.js +2 -3
  312. package/dist/side-panel/layer-panel/custom-palette.js +41 -42
  313. package/dist/side-panel/layer-panel/custom-picker.js +2 -3
  314. package/dist/side-panel/layer-panel/dataset-layer-group.d.ts +2 -1
  315. package/dist/side-panel/layer-panel/dataset-layer-group.js +6 -5
  316. package/dist/side-panel/layer-panel/dataset-layer-section.d.ts +2 -1
  317. package/dist/side-panel/layer-panel/dataset-layer-section.js +5 -4
  318. package/dist/side-panel/layer-panel/dimension-scale-selector.js +2 -3
  319. package/dist/side-panel/layer-panel/layer-color-selector.js +2 -3
  320. package/dist/side-panel/layer-panel/layer-column-config.js +2 -3
  321. package/dist/side-panel/layer-panel/layer-column-mode-config.js +2 -3
  322. package/dist/side-panel/layer-panel/layer-config-group.js +2 -3
  323. package/dist/side-panel/layer-panel/layer-configurator.js +51 -52
  324. package/dist/side-panel/layer-panel/layer-group-header.js +2 -3
  325. package/dist/side-panel/layer-panel/layer-list.d.ts +2 -1
  326. package/dist/side-panel/layer-panel/layer-list.js +8 -7
  327. package/dist/side-panel/layer-panel/layer-panel-header.d.ts +1 -1
  328. package/dist/side-panel/layer-panel/layer-panel-header.js +3 -4
  329. package/dist/side-panel/layer-panel/layer-panel.d.ts +2 -1
  330. package/dist/side-panel/layer-panel/layer-panel.js +15 -6
  331. package/dist/side-panel/layer-panel/layer-type-dropdown-list.js +2 -3
  332. package/dist/side-panel/layer-panel/layer-type-list-item.js +2 -3
  333. package/dist/side-panel/layer-panel/layer-type-selector.js +2 -3
  334. package/dist/side-panel/layer-panel/raster-tile-layer-configurator.js +2 -3
  335. package/dist/side-panel/layer-panel/scenegraph-model-selector.js +2 -3
  336. package/dist/side-panel/layer-panel/single-color-palette.js +2 -3
  337. package/dist/side-panel/layer-panel/text-label-panel.js +2 -3
  338. package/dist/side-panel/layer-panel/vector-tile-layer-configurator.js +2 -3
  339. package/dist/side-panel/layer-panel/vis-config-slider.js +2 -3
  340. package/dist/side-panel/map-manager.d.ts +9 -3
  341. package/dist/side-panel/map-manager.js +13 -7
  342. package/dist/side-panel/map-style-panel/globe-config-panel.d.ts +15 -0
  343. package/dist/side-panel/map-style-panel/globe-config-panel.js +269 -0
  344. package/dist/side-panel/map-style-panel/map-layer-group-color-picker.js +2 -3
  345. package/dist/side-panel/map-style-panel/map-layer-group-item.js +2 -3
  346. package/dist/side-panel/panel-header.js +9 -10
  347. package/dist/side-panel/panel-toggle.js +2 -3
  348. package/dist/side-panel/panel-view-list-toggle.js +2 -3
  349. package/dist/side-panel/side-bar.js +2 -3
  350. package/dist/side-panel.js +4 -3
  351. package/dist/types.d.ts +2 -1
  352. package/dist/types.js +1 -1
  353. package/package.json +23 -20
@@ -12,49 +12,111 @@ var _classnames = _interopRequireDefault(require("classnames"));
12
12
  var _icons = require("../common/icons");
13
13
  var _styledComponents = require("../common/styled-components");
14
14
  var _mapControlTooltip = _interopRequireDefault(require("./map-control-tooltip"));
15
- 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); }
16
- 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; }
15
+ var _mapControlToolbar = _interopRequireDefault(require("./map-control-toolbar"));
16
+ var _toolbarItem = _interopRequireDefault(require("../common/toolbar-item"));
17
+ var _constants = require("@kepler.gl/constants");
18
+ var _utils = require("@kepler.gl/utils");
19
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
17
20
  // SPDX-License-Identifier: MIT
18
21
  // Copyright contributors to the kepler.gl project
19
22
 
20
- Toggle3dButtonFactory.deps = [_mapControlTooltip["default"]];
21
- function Toggle3dButtonFactory(MapControlTooltip) {
23
+ Toggle3dButtonFactory.deps = [_mapControlTooltip["default"], _mapControlToolbar["default"]];
24
+ var VIEW_MODE_ITEMS = [{
25
+ id: _constants.MapViewMode.MODE_2D,
26
+ label: 'tooltip.top'
27
+ }, {
28
+ id: _constants.MapViewMode.MODE_3D,
29
+ label: 'tooltip.3DMap'
30
+ }, {
31
+ id: _constants.MapViewMode.MODE_GLOBE,
32
+ label: 'tooltip.globeMap'
33
+ }];
34
+ function Toggle3dButtonFactory(MapControlTooltip, MapControlToolbar) {
22
35
  var defaultActionIcons = {
23
36
  cube: function cube(props) {
24
37
  return /*#__PURE__*/_react["default"].createElement(_icons.Cube3d, (0, _extends2["default"])({}, props, {
25
38
  height: "18px"
26
39
  }));
40
+ },
41
+ globe: function globe(props) {
42
+ return /*#__PURE__*/_react["default"].createElement(_icons.Globe, (0, _extends2["default"])({}, props, {
43
+ height: "18px"
44
+ }));
27
45
  }
28
46
  };
29
- /** @type {import('./toggle-3d-button').Toggle3dButtonComponent} */
30
47
  var Toggle3dButton = function Toggle3dButton(_ref) {
48
+ var _mapControls$toggle3d;
31
49
  var dragRotate = _ref.dragRotate,
50
+ mapViewMode = _ref.mapViewMode,
32
51
  onTogglePerspective = _ref.onTogglePerspective,
52
+ onSetMapViewMode = _ref.onSetMapViewMode,
53
+ onToggleMapControl = _ref.onToggleMapControl,
33
54
  _ref$actionIcons = _ref.actionIcons,
34
55
  actionIcons = _ref$actionIcons === void 0 ? defaultActionIcons : _ref$actionIcons,
35
56
  mapControls = _ref.mapControls;
36
- var onClick = (0, _react.useCallback)(function (event) {
37
- event.preventDefault();
38
- onTogglePerspective();
39
- }, [onTogglePerspective]);
57
+ var currentMode = mapViewMode || (dragRotate ? _constants.MapViewMode.MODE_3D : _constants.MapViewMode.MODE_2D);
58
+ var onClickButton = (0, _react.useCallback)(function (e) {
59
+ e.preventDefault();
60
+ onToggleMapControl('toggle3d');
61
+ }, [onToggleMapControl]);
62
+ var onSelectMode = (0, _react.useCallback)(function (mode) {
63
+ if (onSetMapViewMode) {
64
+ onSetMapViewMode(mode);
65
+ } else if (mode === _constants.MapViewMode.MODE_3D) {
66
+ if (!dragRotate) onTogglePerspective();
67
+ } else if (mode === _constants.MapViewMode.MODE_2D) {
68
+ if (dragRotate) onTogglePerspective();
69
+ }
70
+ onToggleMapControl('toggle3d');
71
+ }, [onSetMapViewMode, onTogglePerspective, dragRotate, onToggleMapControl]);
40
72
  var isVisible = (0, _react.useMemo)(function () {
41
73
  return ((mapControls === null || mapControls === void 0 ? void 0 : mapControls.toggle3d) || {}).show;
42
74
  }, [mapControls]);
43
- return isVisible ? /*#__PURE__*/_react["default"].createElement(MapControlTooltip, {
75
+
76
+ // Optionally hide the globe view mode option via application config.
77
+ var viewModeItems = (0, _react.useMemo)(function () {
78
+ return (0, _utils.getApplicationConfig)().enableGlobeView ? VIEW_MODE_ITEMS : VIEW_MODE_ITEMS.filter(function (item) {
79
+ return item.id !== _constants.MapViewMode.MODE_GLOBE;
80
+ });
81
+ }, []);
82
+ if (!isVisible) return null;
83
+ var isActive = mapControls === null || mapControls === void 0 || (_mapControls$toggle3d = mapControls.toggle3d) === null || _mapControls$toggle3d === void 0 ? void 0 : _mapControls$toggle3d.active;
84
+ var isGlobe = currentMode === _constants.MapViewMode.MODE_GLOBE;
85
+ var is3d = currentMode === _constants.MapViewMode.MODE_3D;
86
+ var ActiveIcon = isGlobe ? actionIcons.globe : actionIcons.cube;
87
+ return /*#__PURE__*/_react["default"].createElement("div", {
88
+ className: "view-mode-controls",
89
+ style: {
90
+ position: 'relative'
91
+ }
92
+ }, isActive ? /*#__PURE__*/_react["default"].createElement(MapControlToolbar, {
93
+ $show: isActive
94
+ }, viewModeItems.map(function (item) {
95
+ return /*#__PURE__*/_react["default"].createElement(_toolbarItem["default"], {
96
+ key: item.id,
97
+ onClick: function onClick() {
98
+ return onSelectMode(item.id);
99
+ },
100
+ label: item.label,
101
+ icon: item.id === _constants.MapViewMode.MODE_GLOBE ? actionIcons.globe : actionIcons.cube,
102
+ active: currentMode === item.id
103
+ });
104
+ })) : null, /*#__PURE__*/_react["default"].createElement(MapControlTooltip, {
44
105
  id: "action-3d",
45
- message: dragRotate ? 'tooltip.disable3DMap' : 'tooltip.3DMap'
106
+ message: "tooltip.viewMode"
46
107
  }, /*#__PURE__*/_react["default"].createElement(_styledComponents.MapControlButton, {
47
- onClick: onClick,
48
- active: dragRotate,
108
+ onClick: onClickButton,
109
+ active: is3d || isGlobe,
49
110
  className: (0, _classnames["default"])('map-control-button', 'toggle-3d', {
50
- map3d: dragRotate
111
+ map3d: is3d,
112
+ mapGlobe: isGlobe
51
113
  })
52
- }, /*#__PURE__*/_react["default"].createElement(actionIcons.cube, {
114
+ }, /*#__PURE__*/_react["default"].createElement(ActiveIcon, {
53
115
  height: "22px"
54
- }))) : null;
116
+ }))));
55
117
  };
56
118
  Toggle3dButton.displayName = 'Toggle3dButton';
57
119
  return /*#__PURE__*/_react["default"].memo(Toggle3dButton);
58
120
  }
59
121
  var _default = exports["default"] = Toggle3dButtonFactory;
60
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfaWNvbnMiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9tYXBDb250cm9sVG9vbHRpcCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIlRvZ2dsZTNkQnV0dG9uRmFjdG9yeSIsImRlcHMiLCJNYXBDb250cm9sVG9vbHRpcEZhY3RvcnkiLCJNYXBDb250cm9sVG9vbHRpcCIsImRlZmF1bHRBY3Rpb25JY29ucyIsImN1YmUiLCJwcm9wcyIsImNyZWF0ZUVsZW1lbnQiLCJDdWJlM2QiLCJfZXh0ZW5kczIiLCJoZWlnaHQiLCJUb2dnbGUzZEJ1dHRvbiIsIl9yZWYiLCJkcmFnUm90YXRlIiwib25Ub2dnbGVQZXJzcGVjdGl2ZSIsIl9yZWYkYWN0aW9uSWNvbnMiLCJhY3Rpb25JY29ucyIsIm1hcENvbnRyb2xzIiwib25DbGljayIsInVzZUNhbGxiYWNrIiwiZXZlbnQiLCJwcmV2ZW50RGVmYXVsdCIsImlzVmlzaWJsZSIsInVzZU1lbW8iLCJ0b2dnbGUzZCIsInNob3ciLCJpZCIsIm1lc3NhZ2UiLCJNYXBDb250cm9sQnV0dG9uIiwiYWN0aXZlIiwiY2xhc3NOYW1lIiwiY2xhc3NuYW1lcyIsIm1hcDNkIiwiZGlzcGxheU5hbWUiLCJSZWFjdCIsIm1lbW8iLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbWFwL3RvZ2dsZS0zZC1idXR0b24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudFR5cGUsIHVzZUNhbGxiYWNrLCB1c2VNZW1vfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7Q3ViZTNkfSBmcm9tICcuLi9jb21tb24vaWNvbnMnO1xuaW1wb3J0IHtNYXBDb250cm9sQnV0dG9ufSBmcm9tICcuLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IE1hcENvbnRyb2xUb29sdGlwRmFjdG9yeSBmcm9tICcuL21hcC1jb250cm9sLXRvb2x0aXAnO1xuaW1wb3J0IHtNYXBDb250cm9sc30gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5cblRvZ2dsZTNkQnV0dG9uRmFjdG9yeS5kZXBzID0gW01hcENvbnRyb2xUb29sdGlwRmFjdG9yeV07XG5cbmludGVyZmFjZSBUb2dnbGUzZEJ1dHRvbkljb25zIHtcbiAgY3ViZTogQ29tcG9uZW50VHlwZTxhbnk+O1xufVxuXG5leHBvcnQgdHlwZSBUb2dnbGUzZEJ1dHRvblByb3BzID0ge1xuICBkcmFnUm90YXRlOiBib29sZWFuO1xuICBvblRvZ2dsZVBlcnNwZWN0aXZlOiAoKSA9PiB2b2lkO1xuICBhY3Rpb25JY29uczogVG9nZ2xlM2RCdXR0b25JY29ucztcbiAgbWFwQ29udHJvbHM6IE1hcENvbnRyb2xzO1xufTtcblxuZnVuY3Rpb24gVG9nZ2xlM2RCdXR0b25GYWN0b3J5KE1hcENvbnRyb2xUb29sdGlwKSB7XG4gIGNvbnN0IGRlZmF1bHRBY3Rpb25JY29ucyA9IHtcbiAgICBjdWJlOiBwcm9wcyA9PiA8Q3ViZTNkIHsuLi5wcm9wc30gaGVpZ2h0PVwiMThweFwiIC8+XG4gIH07XG4gIC8qKiBAdHlwZSB7aW1wb3J0KCcuL3RvZ2dsZS0zZC1idXR0b24nKS5Ub2dnbGUzZEJ1dHRvbkNvbXBvbmVudH0gKi9cbiAgY29uc3QgVG9nZ2xlM2RCdXR0b246IFJlYWN0LkZDPFRvZ2dsZTNkQnV0dG9uUHJvcHM+ID0gKHtcbiAgICBkcmFnUm90YXRlLFxuICAgIG9uVG9nZ2xlUGVyc3BlY3RpdmUsXG4gICAgYWN0aW9uSWNvbnMgPSBkZWZhdWx0QWN0aW9uSWNvbnMsXG4gICAgbWFwQ29udHJvbHNcbiAgfSkgPT4ge1xuICAgIGNvbnN0IG9uQ2xpY2sgPSB1c2VDYWxsYmFjayhcbiAgICAgIGV2ZW50ID0+IHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgb25Ub2dnbGVQZXJzcGVjdGl2ZSgpO1xuICAgICAgfSxcbiAgICAgIFtvblRvZ2dsZVBlcnNwZWN0aXZlXVxuICAgICk7XG5cbiAgICBjb25zdCBpc1Zpc2libGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIHJldHVybiAobWFwQ29udHJvbHM/LnRvZ2dsZTNkIHx8IHt9KS5zaG93O1xuICAgIH0sIFttYXBDb250cm9sc10pO1xuXG4gICAgcmV0dXJuIGlzVmlzaWJsZSA/IChcbiAgICAgIDxNYXBDb250cm9sVG9vbHRpcFxuICAgICAgICBpZD1cImFjdGlvbi0zZFwiXG4gICAgICAgIG1lc3NhZ2U9e2RyYWdSb3RhdGUgPyAndG9vbHRpcC5kaXNhYmxlM0RNYXAnIDogJ3Rvb2x0aXAuM0RNYXAnfVxuICAgICAgPlxuICAgICAgICA8TWFwQ29udHJvbEJ1dHRvblxuICAgICAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgICAgICAgYWN0aXZlPXtkcmFnUm90YXRlfVxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcygnbWFwLWNvbnRyb2wtYnV0dG9uJywgJ3RvZ2dsZS0zZCcsIHttYXAzZDogZHJhZ1JvdGF0ZX0pfVxuICAgICAgICA+XG4gICAgICAgICAgPGFjdGlvbkljb25zLmN1YmUgaGVpZ2h0PVwiMjJweFwiIC8+XG4gICAgICAgIDwvTWFwQ29udHJvbEJ1dHRvbj5cbiAgICAgIDwvTWFwQ29udHJvbFRvb2x0aXA+XG4gICAgKSA6IG51bGw7XG4gIH07XG5cbiAgVG9nZ2xlM2RCdXR0b24uZGlzcGxheU5hbWUgPSAnVG9nZ2xlM2RCdXR0b24nO1xuICByZXR1cm4gUmVhY3QubWVtbyhUb2dnbGUzZEJ1dHRvbik7XG59XG5cbmV4cG9ydCBkZWZhdWx0IFRvZ2dsZTNkQnV0dG9uRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksaUJBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLGtCQUFBLEdBQUFILHNCQUFBLENBQUFGLE9BQUE7QUFBNkQsU0FBQU0seUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFSLHdCQUFBUSxDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FBQSxJQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUksVUFBQSxTQUFBSixDQUFBLGVBQUFBLENBQUEsZ0JBQUFLLE9BQUEsQ0FBQUwsQ0FBQSwwQkFBQUEsQ0FBQSxzQkFBQUEsQ0FBQSxRQUFBRyxDQUFBLEdBQUFKLHdCQUFBLENBQUFHLENBQUEsT0FBQUMsQ0FBQSxJQUFBQSxDQUFBLENBQUFHLEdBQUEsQ0FBQU4sQ0FBQSxVQUFBRyxDQUFBLENBQUFJLEdBQUEsQ0FBQVAsQ0FBQSxPQUFBUSxDQUFBLEtBQUFDLFNBQUEsVUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxDQUFBLElBQUFkLENBQUEsb0JBQUFj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
122
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfaWNvbnMiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9tYXBDb250cm9sVG9vbHRpcCIsIl9tYXBDb250cm9sVG9vbGJhciIsIl90b29sYmFySXRlbSIsIl9jb25zdGFudHMiLCJfdXRpbHMiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIlRvZ2dsZTNkQnV0dG9uRmFjdG9yeSIsImRlcHMiLCJNYXBDb250cm9sVG9vbHRpcEZhY3RvcnkiLCJNYXBDb250cm9sVG9vbGJhckZhY3RvcnkiLCJWSUVXX01PREVfSVRFTVMiLCJpZCIsIk1hcFZpZXdNb2RlIiwiTU9ERV8yRCIsImxhYmVsIiwiTU9ERV8zRCIsIk1PREVfR0xPQkUiLCJNYXBDb250cm9sVG9vbHRpcCIsIk1hcENvbnRyb2xUb29sYmFyIiwiZGVmYXVsdEFjdGlvbkljb25zIiwiY3ViZSIsInByb3BzIiwiY3JlYXRlRWxlbWVudCIsIkN1YmUzZCIsIl9leHRlbmRzMiIsImhlaWdodCIsImdsb2JlIiwiR2xvYmUiLCJUb2dnbGUzZEJ1dHRvbiIsIl9yZWYiLCJfbWFwQ29udHJvbHMkdG9nZ2xlM2QiLCJkcmFnUm90YXRlIiwibWFwVmlld01vZGUiLCJvblRvZ2dsZVBlcnNwZWN0aXZlIiwib25TZXRNYXBWaWV3TW9kZSIsIm9uVG9nZ2xlTWFwQ29udHJvbCIsIl9yZWYkYWN0aW9uSWNvbnMiLCJhY3Rpb25JY29ucyIsIm1hcENvbnRyb2xzIiwiY3VycmVudE1vZGUiLCJvbkNsaWNrQnV0dG9uIiwidXNlQ2FsbGJhY2siLCJwcmV2ZW50RGVmYXVsdCIsIm9uU2VsZWN0TW9kZSIsIm1vZGUiLCJpc1Zpc2libGUiLCJ1c2VNZW1vIiwidG9nZ2xlM2QiLCJzaG93Iiwidmlld01vZGVJdGVtcyIsImdldEFwcGxpY2F0aW9uQ29uZmlnIiwiZW5hYmxlR2xvYmVWaWV3IiwiZmlsdGVyIiwiaXRlbSIsImlzQWN0aXZlIiwiYWN0aXZlIiwiaXNHbG9iZSIsImlzM2QiLCJBY3RpdmVJY29uIiwiY2xhc3NOYW1lIiwic3R5bGUiLCJwb3NpdGlvbiIsIiRzaG93IiwibWFwIiwia2V5Iiwib25DbGljayIsImljb24iLCJtZXNzYWdlIiwiTWFwQ29udHJvbEJ1dHRvbiIsImNsYXNzbmFtZXMiLCJtYXAzZCIsIm1hcEdsb2JlIiwiZGlzcGxheU5hbWUiLCJSZWFjdCIsIm1lbW8iLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbWFwL3RvZ2dsZS0zZC1idXR0b24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudFR5cGUsIHVzZUNhbGxiYWNrLCB1c2VNZW1vfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7Q3ViZTNkLCBHbG9iZX0gZnJvbSAnLi4vY29tbW9uL2ljb25zJztcbmltcG9ydCB7TWFwQ29udHJvbEJ1dHRvbn0gZnJvbSAnLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBNYXBDb250cm9sVG9vbHRpcEZhY3RvcnkgZnJvbSAnLi9tYXAtY29udHJvbC10b29sdGlwJztcbmltcG9ydCBNYXBDb250cm9sVG9vbGJhckZhY3RvcnkgZnJvbSAnLi9tYXAtY29udHJvbC10b29sYmFyJztcbmltcG9ydCBUb29sYmFySXRlbSBmcm9tICcuLi9jb21tb24vdG9vbGJhci1pdGVtJztcbmltcG9ydCB7TWFwQ29udHJvbHN9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtNYXBWaWV3TW9kZX0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtnZXRBcHBsaWNhdGlvbkNvbmZpZ30gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5cblRvZ2dsZTNkQnV0dG9uRmFjdG9yeS5kZXBzID0gW01hcENvbnRyb2xUb29sdGlwRmFjdG9yeSwgTWFwQ29udHJvbFRvb2xiYXJGYWN0b3J5XTtcblxuaW50ZXJmYWNlIFRvZ2dsZTNkQnV0dG9uSWNvbnMge1xuICBjdWJlOiBDb21wb25lbnRUeXBlPGFueT47XG4gIGdsb2JlOiBDb21wb25lbnRUeXBlPGFueT47XG59XG5cbmV4cG9ydCB0eXBlIFRvZ2dsZTNkQnV0dG9uUHJvcHMgPSB7XG4gIGRyYWdSb3RhdGU6IGJvb2xlYW47XG4gIG1hcFZpZXdNb2RlPzogTWFwVmlld01vZGU7XG4gIG9uVG9nZ2xlUGVyc3BlY3RpdmU6ICgpID0+IHZvaWQ7XG4gIG9uU2V0TWFwVmlld01vZGU/OiAobW9kZTogTWFwVmlld01vZGUpID0+IHZvaWQ7XG4gIG9uVG9nZ2xlTWFwQ29udHJvbDogKGNvbnRyb2w6IHN0cmluZykgPT4gdm9pZDtcbiAgYWN0aW9uSWNvbnM6IFRvZ2dsZTNkQnV0dG9uSWNvbnM7XG4gIG1hcENvbnRyb2xzOiBNYXBDb250cm9scztcbn07XG5cbmNvbnN0IFZJRVdfTU9ERV9JVEVNUyA9IFtcbiAge1xuICAgIGlkOiBNYXBWaWV3TW9kZS5NT0RFXzJELFxuICAgIGxhYmVsOiAndG9vbHRpcC50b3AnXG4gIH0sXG4gIHtcbiAgICBpZDogTWFwVmlld01vZGUuTU9ERV8zRCxcbiAgICBsYWJlbDogJ3Rvb2x0aXAuM0RNYXAnXG4gIH0sXG4gIHtcbiAgICBpZDogTWFwVmlld01vZGUuTU9ERV9HTE9CRSxcbiAgICBsYWJlbDogJ3Rvb2x0aXAuZ2xvYmVNYXAnXG4gIH1cbl07XG5cbmZ1bmN0aW9uIFRvZ2dsZTNkQnV0dG9uRmFjdG9yeShcbiAgTWFwQ29udHJvbFRvb2x0aXA6IFJldHVyblR5cGU8dHlwZW9mIE1hcENvbnRyb2xUb29sdGlwRmFjdG9yeT4sXG4gIE1hcENvbnRyb2xUb29sYmFyOiBSZXR1cm5UeXBlPHR5cGVvZiBNYXBDb250cm9sVG9vbGJhckZhY3Rvcnk+XG4pIHtcbiAgY29uc3QgZGVmYXVsdEFjdGlvbkljb25zID0ge1xuICAgIGN1YmU6IHByb3BzID0+IDxDdWJlM2Qgey4uLnByb3BzfSBoZWlnaHQ9XCIxOHB4XCIgLz4sXG4gICAgZ2xvYmU6IHByb3BzID0+IDxHbG9iZSB7Li4ucHJvcHN9IGhlaWdodD1cIjE4cHhcIiAvPlxuICB9O1xuXG4gIGNvbnN0IFRvZ2dsZTNkQnV0dG9uOiBSZWFjdC5GQzxUb2dnbGUzZEJ1dHRvblByb3BzPiA9ICh7XG4gICAgZHJhZ1JvdGF0ZSxcbiAgICBtYXBWaWV3TW9kZSxcbiAgICBvblRvZ2dsZVBlcnNwZWN0aXZlLFxuICAgIG9uU2V0TWFwVmlld01vZGUsXG4gICAgb25Ub2dnbGVNYXBDb250cm9sLFxuICAgIGFjdGlvbkljb25zID0gZGVmYXVsdEFjdGlvbkljb25zLFxuICAgIG1hcENvbnRyb2xzXG4gIH0pID0+IHtcbiAgICBjb25zdCBjdXJyZW50TW9kZSA9IG1hcFZpZXdNb2RlIHx8IChkcmFnUm90YXRlID8gTWFwVmlld01vZGUuTU9ERV8zRCA6IE1hcFZpZXdNb2RlLk1PREVfMkQpO1xuXG4gICAgY29uc3Qgb25DbGlja0J1dHRvbiA9IHVzZUNhbGxiYWNrKFxuICAgICAgZSA9PiB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgb25Ub2dnbGVNYXBDb250cm9sKCd0b2dnbGUzZCcpO1xuICAgICAgfSxcbiAgICAgIFtvblRvZ2dsZU1hcENvbnRyb2xdXG4gICAgKTtcblxuICAgIGNvbnN0IG9uU2VsZWN0TW9kZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKG1vZGU6IE1hcFZpZXdNb2RlKSA9PiB7XG4gICAgICAgIGlmIChvblNldE1hcFZpZXdNb2RlKSB7XG4gICAgICAgICAgb25TZXRNYXBWaWV3TW9kZShtb2RlKTtcbiAgICAgICAgfSBlbHNlIGlmIChtb2RlID09PSBNYXBWaWV3TW9kZS5NT0RFXzNEKSB7XG4gICAgICAgICAgaWYgKCFkcmFnUm90YXRlKSBvblRvZ2dsZVBlcnNwZWN0aXZlKCk7XG4gICAgICAgIH0gZWxzZSBpZiAobW9kZSA9PT0gTWFwVmlld01vZGUuTU9ERV8yRCkge1xuICAgICAgICAgIGlmIChkcmFnUm90YXRlKSBvblRvZ2dsZVBlcnNwZWN0aXZlKCk7XG4gICAgICAgIH1cbiAgICAgICAgb25Ub2dnbGVNYXBDb250cm9sKCd0b2dnbGUzZCcpO1xuICAgICAgfSxcbiAgICAgIFtvblNldE1hcFZpZXdNb2RlLCBvblRvZ2dsZVBlcnNwZWN0aXZlLCBkcmFnUm90YXRlLCBvblRvZ2dsZU1hcENvbnRyb2xdXG4gICAgKTtcblxuICAgIGNvbnN0IGlzVmlzaWJsZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgcmV0dXJuIChtYXBDb250cm9scz8udG9nZ2xlM2QgfHwge30pLnNob3c7XG4gICAgfSwgW21hcENvbnRyb2xzXSk7XG5cbiAgICAvLyBPcHRpb25hbGx5IGhpZGUgdGhlIGdsb2JlIHZpZXcgbW9kZSBvcHRpb24gdmlhIGFwcGxpY2F0aW9uIGNvbmZpZy5cbiAgICBjb25zdCB2aWV3TW9kZUl0ZW1zID0gdXNlTWVtbyhcbiAgICAgICgpID0+XG4gICAgICAgIGdldEFwcGxpY2F0aW9uQ29uZmlnKCkuZW5hYmxlR2xvYmVWaWV3XG4gICAgICAgICAgPyBWSUVXX01PREVfSVRFTVNcbiAgICAgICAgICA6IFZJRVdfTU9ERV9JVEVNUy5maWx0ZXIoaXRlbSA9PiBpdGVtLmlkICE9PSBNYXBWaWV3TW9kZS5NT0RFX0dMT0JFKSxcbiAgICAgIFtdXG4gICAgKTtcblxuICAgIGlmICghaXNWaXNpYmxlKSByZXR1cm4gbnVsbDtcblxuICAgIGNvbnN0IGlzQWN0aXZlID0gbWFwQ29udHJvbHM/LnRvZ2dsZTNkPy5hY3RpdmU7XG4gICAgY29uc3QgaXNHbG9iZSA9IGN1cnJlbnRNb2RlID09PSBNYXBWaWV3TW9kZS5NT0RFX0dMT0JFO1xuICAgIGNvbnN0IGlzM2QgPSBjdXJyZW50TW9kZSA9PT0gTWFwVmlld01vZGUuTU9ERV8zRDtcblxuICAgIGNvbnN0IEFjdGl2ZUljb24gPSBpc0dsb2JlID8gYWN0aW9uSWNvbnMuZ2xvYmUgOiBhY3Rpb25JY29ucy5jdWJlO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwidmlldy1tb2RlLWNvbnRyb2xzXCIgc3R5bGU9e3twb3NpdGlvbjogJ3JlbGF0aXZlJ319PlxuICAgICAgICB7aXNBY3RpdmUgPyAoXG4gICAgICAgICAgPE1hcENvbnRyb2xUb29sYmFyICRzaG93PXtpc0FjdGl2ZX0+XG4gICAgICAgICAgICB7dmlld01vZGVJdGVtcy5tYXAoaXRlbSA9PiAoXG4gICAgICAgICAgICAgIDxUb29sYmFySXRlbVxuICAgICAgICAgICAgICAgIGtleT17aXRlbS5pZH1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvblNlbGVjdE1vZGUoaXRlbS5pZCl9XG4gICAgICAgICAgICAgICAgbGFiZWw9e2l0ZW0ubGFiZWx9XG4gICAgICAgICAgICAgICAgaWNvbj17aXRlbS5pZCA9PT0gTWFwVmlld01vZGUuTU9ERV9HTE9CRSA/IGFjdGlvbkljb25zLmdsb2JlIDogYWN0aW9uSWNvbnMuY3ViZX1cbiAgICAgICAgICAgICAgICBhY3RpdmU9e2N1cnJlbnRNb2RlID09PSBpdGVtLmlkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9NYXBDb250cm9sVG9vbGJhcj5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDxNYXBDb250cm9sVG9vbHRpcFxuICAgICAgICAgIGlkPVwiYWN0aW9uLTNkXCJcbiAgICAgICAgICBtZXNzYWdlPVwidG9vbHRpcC52aWV3TW9kZVwiXG4gICAgICAgID5cbiAgICAgICAgICA8TWFwQ29udHJvbEJ1dHRvblxuICAgICAgICAgICAgb25DbGljaz17b25DbGlja0J1dHRvbn1cbiAgICAgICAgICAgIGFjdGl2ZT17aXMzZCB8fCBpc0dsb2JlfVxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdtYXAtY29udHJvbC1idXR0b24nLCAndG9nZ2xlLTNkJywge21hcDNkOiBpczNkLCBtYXBHbG9iZTogaXNHbG9iZX0pfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxBY3RpdmVJY29uIGhlaWdodD1cIjIycHhcIiAvPlxuICAgICAgICAgIDwvTWFwQ29udHJvbEJ1dHRvbj5cbiAgICAgICAgPC9NYXBDb250cm9sVG9vbHRpcD5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH07XG5cbiAgVG9nZ2xlM2RCdXR0b24uZGlzcGxheU5hbWUgPSAnVG9nZ2xlM2RCdXR0b24nO1xuICByZXR1cm4gUmVhY3QubWVtbyhUb2dnbGUzZEJ1dHRvbik7XG59XG5cbmV4cG9ydCBkZWZhdWx0IFRvZ2dsZTNkQnV0dG9uRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksaUJBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLGtCQUFBLEdBQUFILHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBTSxrQkFBQSxHQUFBSixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQU8sWUFBQSxHQUFBTCxzQkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQVEsVUFBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsTUFBQSxHQUFBVCxPQUFBO0FBQXNELFNBQUFELHdCQUFBVyxDQUFBLEVBQUFD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
@@ -4,29 +4,18 @@ import { Map as MaplibreMap } from '@vis.gl/react-maplibre';
4
4
  import { VisStateActions, MapStateActions, UIStateActions } from '@kepler.gl/actions';
5
5
  import MapPopoverFactory from './map/map-popover';
6
6
  import MapControlFactory from './map/map-control';
7
+ import { Attribution, AttributionLogos, renderBasemapAttribution, dedupeBasemapAttributions } from './map/attribution';
7
8
  import EditorFactory from './editor/editor';
8
9
  import { generateMapboxLayers } from '@kepler.gl/layers';
9
10
  import { AttributionWithStyle, DatasetAttribution, MapState, MapControls, Viewport } from '@kepler.gl/types';
10
- import { BaseMapLibraryConfig, GetMapRef } from '@kepler.gl/utils';
11
+ import { GetMapRef } from '@kepler.gl/utils';
11
12
  import { MapStyle, computeDeckLayers } from '@kepler.gl/reducers';
12
13
  import { VisState } from '@kepler.gl/schemas';
13
14
  export declare const isSplitSelector: (props: any) => any;
14
15
  export declare const Droppable: ({ containerId }: {
15
16
  containerId: any;
16
17
  }) => React.JSX.Element;
17
- type AttributionProps = {
18
- showBaseMapLibLogo: boolean;
19
- showOsmBasemapAttribution: boolean;
20
- datasetAttributions: DatasetAttribution[];
21
- baseMapLibraryConfig: BaseMapLibraryConfig;
22
- };
23
- export declare const Attribution: React.FC<AttributionProps>;
24
- type AttributionLogosProps = {
25
- logos: AttributionWithStyle[];
26
- activeSidePanel?: boolean;
27
- sidePanelWidth?: number;
28
- };
29
- export declare const AttributionLogos: React.FC<AttributionLogosProps>;
18
+ export { Attribution, AttributionLogos, renderBasemapAttribution, dedupeBasemapAttributions };
30
19
  type MapboxStyle = string | object | undefined;
31
20
  export interface MapContainerProps {
32
21
  visState: VisState;