@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
@@ -0,0 +1,41 @@
1
+ import React, { Component, RefObject } from 'react';
2
+ import type { Deck, DeckProps, MapViewState } from '@deck.gl/core';
3
+ import { DeckAdapter } from '@hubble.gl/core';
4
+ export type GlobeExportVideoPreviewProps = {
5
+ mapData: any;
6
+ resolution: [number, number];
7
+ exportVideoWidth: number;
8
+ deckProps?: DeckProps;
9
+ viewState: MapViewState;
10
+ adapter: DeckAdapter;
11
+ rendering: boolean;
12
+ saving: boolean;
13
+ setViewState: (viewState: MapViewState) => void;
14
+ durationMs: number;
15
+ /** CSS color string for the area the globe does not cover. */
16
+ backgroundColor: string;
17
+ };
18
+ /**
19
+ * Single-canvas video export preview for globe mode.
20
+ *
21
+ * hubble's built-in preview cannot be used for globe mode: in its
22
+ * `disableBaseMap` branch it renders a bare <DeckGL> without a viewState and
23
+ * never wires up the frame-capture loop (that loop is driven by the mapbox
24
+ * 'render' event, which does not exist without a base map). This component
25
+ * renders the globe deck directly with a valid, controlled viewState so the
26
+ * GlobeView controller initializes correctly (no MapState/GlobeState assert),
27
+ * stays interactive, and exposes the deck canvas so the parent container can
28
+ * drive its own capture loop (mirrors the swipe export approach).
29
+ */
30
+ export declare class GlobeExportVideoPreview extends Component<GlobeExportVideoPreviewProps> {
31
+ deckRef: RefObject<Deck | null>;
32
+ _getContainer(): {
33
+ height: number;
34
+ width: number;
35
+ };
36
+ /** Expose the deck canvas so the parent container can capture frames. */
37
+ getCanvas(): HTMLCanvasElement | null;
38
+ /** All layers loaded — used to gate the first capture frame. */
39
+ areLayersLoaded(): boolean;
40
+ render(): React.JSX.Element;
41
+ }
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.GlobeExportVideoPreview = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
17
+ var _react = _interopRequireWildcard(require("react"));
18
+ var _react2 = _interopRequireDefault(require("@deck.gl/react"));
19
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
20
+ var _templateObject; // SPDX-License-Identifier: MIT
21
+ // Copyright contributors to the kepler.gl project
22
+ 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); }
23
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
24
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
25
+ var PreviewContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n width: ", "px;\n height: ", "px;\n position: relative;\n background: ", ";\n"])), function (props) {
26
+ return props.$width;
27
+ }, function (props) {
28
+ return props.$height;
29
+ }, function (props) {
30
+ return props.$background;
31
+ });
32
+ /**
33
+ * Single-canvas video export preview for globe mode.
34
+ *
35
+ * hubble's built-in preview cannot be used for globe mode: in its
36
+ * `disableBaseMap` branch it renders a bare <DeckGL> without a viewState and
37
+ * never wires up the frame-capture loop (that loop is driven by the mapbox
38
+ * 'render' event, which does not exist without a base map). This component
39
+ * renders the globe deck directly with a valid, controlled viewState so the
40
+ * GlobeView controller initializes correctly (no MapState/GlobeState assert),
41
+ * stays interactive, and exposes the deck canvas so the parent container can
42
+ * drive its own capture loop (mirrors the swipe export approach).
43
+ */
44
+ var GlobeExportVideoPreview = exports.GlobeExportVideoPreview = /*#__PURE__*/function (_Component) {
45
+ function GlobeExportVideoPreview() {
46
+ var _this;
47
+ (0, _classCallCheck2["default"])(this, GlobeExportVideoPreview);
48
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
49
+ args[_key] = arguments[_key];
50
+ }
51
+ _this = _callSuper(this, GlobeExportVideoPreview, [].concat(args));
52
+ (0, _defineProperty2["default"])(_this, "deckRef", /*#__PURE__*/_react["default"].createRef());
53
+ return _this;
54
+ }
55
+ (0, _inherits2["default"])(GlobeExportVideoPreview, _Component);
56
+ return (0, _createClass2["default"])(GlobeExportVideoPreview, [{
57
+ key: "_getContainer",
58
+ value: function _getContainer() {
59
+ var _this$props = this.props,
60
+ exportVideoWidth = _this$props.exportVideoWidth,
61
+ resolution = _this$props.resolution;
62
+ var aspectRatio = resolution[0] / resolution[1];
63
+ return {
64
+ height: exportVideoWidth / aspectRatio,
65
+ width: exportVideoWidth
66
+ };
67
+ }
68
+
69
+ /** Expose the deck canvas so the parent container can capture frames. */
70
+ }, {
71
+ key: "getCanvas",
72
+ value: function getCanvas() {
73
+ var _deck$getCanvas;
74
+ var deck = this.deckRef.current;
75
+ return deck && ((_deck$getCanvas = deck.getCanvas) === null || _deck$getCanvas === void 0 ? void 0 : _deck$getCanvas.call(deck)) || null;
76
+ }
77
+
78
+ /** All layers loaded — used to gate the first capture frame. */
79
+ }, {
80
+ key: "areLayersLoaded",
81
+ value: function areLayersLoaded() {
82
+ var deck = this.deckRef.current;
83
+ if (!deck) return false;
84
+ var layers = deck.props.layers || [];
85
+ return layers.length > 0 && layers.every(function (layer) {
86
+ return layer.isLoaded;
87
+ });
88
+ }
89
+ }, {
90
+ key: "render",
91
+ value: function render() {
92
+ var _this2 = this;
93
+ var _this$props2 = this.props,
94
+ adapter = _this$props2.adapter,
95
+ deckProps = _this$props2.deckProps,
96
+ viewState = _this$props2.viewState,
97
+ setViewState = _this$props2.setViewState,
98
+ resolution = _this$props2.resolution,
99
+ exportVideoWidth = _this$props2.exportVideoWidth,
100
+ backgroundColor = _this$props2.backgroundColor;
101
+ var _this$_getContainer = this._getContainer(),
102
+ width = _this$_getContainer.width,
103
+ height = _this$_getContainer.height;
104
+ var deck = this.deckRef.current;
105
+
106
+ // adapter.getProps injects `_animate` (and toggles `controller` off while
107
+ // recording) so hubble's KeplerAnimation can drive the camera. Layers,
108
+ // views, controller bounds and initialViewState come from `deckProps`
109
+ // (see getHubbleDeckGlProps). A controlled `viewState` keeps the preview in
110
+ // sync with the animated camera and prevents the GlobeState assert.
111
+ var adapterProps = adapter.getProps({
112
+ deck: deck,
113
+ extraProps: deckProps
114
+ });
115
+
116
+ // Render the drawing buffer at the true export resolution regardless of the
117
+ // small CSS preview size. deck.gl's MSAA (antialias defaults to true when
118
+ // deck owns the canvas) only smooths edges at the drawing-buffer resolution,
119
+ // so if the buffer were the small preview size the globe silhouette would
120
+ // look pixelated once the captured frame is scaled up to the output size.
121
+ // Passing an explicit numeric `useDevicePixels` sizes the buffer to
122
+ // width * ratio === exportVideoWidth * (resolution / exportVideoWidth) ===
123
+ // resolution, and is far more reliable than mutating window.devicePixelRatio.
124
+ var pixelRatio = Math.max(1, resolution[0] / exportVideoWidth);
125
+ return /*#__PURE__*/_react["default"].createElement(PreviewContainer, {
126
+ $width: width,
127
+ $height: height,
128
+ $background: backgroundColor
129
+ }, /*#__PURE__*/_react["default"].createElement(_react2["default"], (0, _extends2["default"])({
130
+ ref: function ref(_ref2) {
131
+ _this2.deckRef.current = (_ref2 === null || _ref2 === void 0 ? void 0 : _ref2.deck) || null;
132
+ },
133
+ deviceProps: {
134
+ type: 'webgl',
135
+ webgl: {
136
+ preserveDrawingBuffer: true
137
+ }
138
+ }
139
+ }, adapterProps, {
140
+ viewState: viewState,
141
+ onViewStateChange: function onViewStateChange(_ref) {
142
+ var vs = _ref.viewState;
143
+ return setViewState(vs);
144
+ },
145
+ useDevicePixels: pixelRatio,
146
+ width: width,
147
+ height: height
148
+ })));
149
+ }
150
+ }]);
151
+ }(_react.Component);
152
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3QyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9zdHlsZWRDb21wb25lbnRzIiwiX3RlbXBsYXRlT2JqZWN0IiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiX3R5cGVvZiIsImhhcyIsImdldCIsInNldCIsIl90IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJfY2FsbFN1cGVyIiwiX2dldFByb3RvdHlwZU9mMiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuMiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiY29uc3RydWN0b3IiLCJhcHBseSIsIkJvb2xlYW4iLCJwcm90b3R5cGUiLCJ2YWx1ZU9mIiwiUHJldmlld0NvbnRhaW5lciIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCIkd2lkdGgiLCIkaGVpZ2h0IiwiJGJhY2tncm91bmQiLCJHbG9iZUV4cG9ydFZpZGVvUHJldmlldyIsImV4cG9ydHMiLCJfQ29tcG9uZW50IiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjb25jYXQiLCJfZGVmaW5lUHJvcGVydHkyIiwiUmVhY3QiLCJjcmVhdGVSZWYiLCJfaW5oZXJpdHMyIiwiX2NyZWF0ZUNsYXNzMiIsImtleSIsInZhbHVlIiwiX2dldENvbnRhaW5lciIsIl90aGlzJHByb3BzIiwiZXhwb3J0VmlkZW9XaWR0aCIsInJlc29sdXRpb24iLCJhc3BlY3RSYXRpbyIsImhlaWdodCIsIndpZHRoIiwiZ2V0Q2FudmFzIiwiX2RlY2skZ2V0Q2FudmFzIiwiZGVjayIsImRlY2tSZWYiLCJjdXJyZW50IiwiYXJlTGF5ZXJzTG9hZGVkIiwibGF5ZXJzIiwiZXZlcnkiLCJsYXllciIsImlzTG9hZGVkIiwicmVuZGVyIiwiX3RoaXMyIiwiX3RoaXMkcHJvcHMyIiwiYWRhcHRlciIsImRlY2tQcm9wcyIsInZpZXdTdGF0ZSIsInNldFZpZXdTdGF0ZSIsImJhY2tncm91bmRDb2xvciIsIl90aGlzJF9nZXRDb250YWluZXIiLCJhZGFwdGVyUHJvcHMiLCJnZXRQcm9wcyIsImV4dHJhUHJvcHMiLCJwaXhlbFJhdGlvIiwiTWF0aCIsIm1heCIsImNyZWF0ZUVsZW1lbnQiLCJfZXh0ZW5kczIiLCJyZWYiLCJkZXZpY2VQcm9wcyIsInR5cGUiLCJ3ZWJnbCIsInByZXNlcnZlRHJhd2luZ0J1ZmZlciIsIm9uVmlld1N0YXRlQ2hhbmdlIiwiX3JlZiIsInZzIiwidXNlRGV2aWNlUGl4ZWxzIiwiQ29tcG9uZW50Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZGFscy9nbG9iZS1leHBvcnQtdmlkZW8tcHJldmlldy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50LCBSZWZPYmplY3R9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBEZWNrR0wgZnJvbSAnQGRlY2suZ2wvcmVhY3QnO1xuaW1wb3J0IHR5cGUge0RlY2ssIERlY2tQcm9wcywgTWFwVmlld1N0YXRlfSBmcm9tICdAZGVjay5nbC9jb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQge0RlY2tBZGFwdGVyfSBmcm9tICdAaHViYmxlLmdsL2NvcmUnO1xuXG5jb25zdCBQcmV2aWV3Q29udGFpbmVyID0gc3R5bGVkLmRpdjx7JHdpZHRoOiBudW1iZXI7ICRoZWlnaHQ6IG51bWJlcjsgJGJhY2tncm91bmQ6IHN0cmluZ30+YFxuICB3aWR0aDogJHtwcm9wcyA9PiBwcm9wcy4kd2lkdGh9cHg7XG4gIGhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy4kaGVpZ2h0fXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICR7cHJvcHMgPT4gcHJvcHMuJGJhY2tncm91bmR9O1xuYDtcblxuZXhwb3J0IHR5cGUgR2xvYmVFeHBvcnRWaWRlb1ByZXZpZXdQcm9wcyA9IHtcbiAgbWFwRGF0YTogYW55O1xuICByZXNvbHV0aW9uOiBbbnVtYmVyLCBudW1iZXJdO1xuICBleHBvcnRWaWRlb1dpZHRoOiBudW1iZXI7XG4gIGRlY2tQcm9wcz86IERlY2tQcm9wcztcbiAgdmlld1N0YXRlOiBNYXBWaWV3U3RhdGU7XG4gIGFkYXB0ZXI6IERlY2tBZGFwdGVyO1xuICByZW5kZXJpbmc6IGJvb2xlYW47XG4gIHNhdmluZzogYm9vbGVhbjtcbiAgc2V0Vmlld1N0YXRlOiAodmlld1N0YXRlOiBNYXBWaWV3U3RhdGUpID0+IHZvaWQ7XG4gIGR1cmF0aW9uTXM6IG51bWJlcjtcbiAgLyoqIENTUyBjb2xvciBzdHJpbmcgZm9yIHRoZSBhcmVhIHRoZSBnbG9iZSBkb2VzIG5vdCBjb3Zlci4gKi9cbiAgYmFja2dyb3VuZENvbG9yOiBzdHJpbmc7XG59O1xuXG4vKipcbiAqIFNpbmdsZS1jYW52YXMgdmlkZW8gZXhwb3J0IHByZXZpZXcgZm9yIGdsb2JlIG1vZGUuXG4gKlxuICogaHViYmxlJ3MgYnVpbHQtaW4gcHJldmlldyBjYW5ub3QgYmUgdXNlZCBmb3IgZ2xvYmUgbW9kZTogaW4gaXRzXG4gKiBgZGlzYWJsZUJhc2VNYXBgIGJyYW5jaCBpdCByZW5kZXJzIGEgYmFyZSA8RGVja0dMPiB3aXRob3V0IGEgdmlld1N0YXRlIGFuZFxuICogbmV2ZXIgd2lyZXMgdXAgdGhlIGZyYW1lLWNhcHR1cmUgbG9vcCAodGhhdCBsb29wIGlzIGRyaXZlbiBieSB0aGUgbWFwYm94XG4gKiAncmVuZGVyJyBldmVudCwgd2hpY2ggZG9lcyBub3QgZXhpc3Qgd2l0aG91dCBhIGJhc2UgbWFwKS4gVGhpcyBjb21wb25lbnRcbiAqIHJlbmRlcnMgdGhlIGdsb2JlIGRlY2sgZGlyZWN0bHkgd2l0aCBhIHZhbGlkLCBjb250cm9sbGVkIHZpZXdTdGF0ZSBzbyB0aGVcbiAqIEdsb2JlVmlldyBjb250cm9sbGVyIGluaXRpYWxpemVzIGNvcnJlY3RseSAobm8gTWFwU3RhdGUvR2xvYmVTdGF0ZSBhc3NlcnQpLFxuICogc3RheXMgaW50ZXJhY3RpdmUsIGFuZCBleHBvc2VzIHRoZSBkZWNrIGNhbnZhcyBzbyB0aGUgcGFyZW50IGNvbnRhaW5lciBjYW5cbiAqIGRyaXZlIGl0cyBvd24gY2FwdHVyZSBsb29wIChtaXJyb3JzIHRoZSBzd2lwZSBleHBvcnQgYXBwcm9hY2gpLlxuICovXG5leHBvcnQgY2xhc3MgR2xvYmVFeHBvcnRWaWRlb1ByZXZpZXcgZXh0ZW5kcyBDb21wb25lbnQ8R2xvYmVFeHBvcnRWaWRlb1ByZXZpZXdQcm9wcz4ge1xuICBkZWNrUmVmOiBSZWZPYmplY3Q8RGVjayB8IG51bGw+ID0gUmVhY3QuY3JlYXRlUmVmPERlY2sgfCBudWxsPigpO1xuXG4gIF9nZXRDb250YWluZXIoKSB7XG4gICAgY29uc3Qge2V4cG9ydFZpZGVvV2lkdGgsIHJlc29sdXRpb259ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBhc3BlY3RSYXRpbyA9IHJlc29sdXRpb25bMF0gLyByZXNvbHV0aW9uWzFdO1xuICAgIHJldHVybiB7aGVpZ2h0OiBleHBvcnRWaWRlb1dpZHRoIC8gYXNwZWN0UmF0aW8sIHdpZHRoOiBleHBvcnRWaWRlb1dpZHRofTtcbiAgfVxuXG4gIC8qKiBFeHBvc2UgdGhlIGRlY2sgY2FudmFzIHNvIHRoZSBwYXJlbnQgY29udGFpbmVyIGNhbiBjYXB0dXJlIGZyYW1lcy4gKi9cbiAgZ2V0Q2FudmFzKCk6IEhUTUxDYW52YXNFbGVtZW50IHwgbnVsbCB7XG4gICAgY29uc3QgZGVjayA9IHRoaXMuZGVja1JlZi5jdXJyZW50IGFzIGFueTtcbiAgICByZXR1cm4gKGRlY2sgJiYgZGVjay5nZXRDYW52YXM/LigpKSB8fCBudWxsO1xuICB9XG5cbiAgLyoqIEFsbCBsYXllcnMgbG9hZGVkIOKAlCB1c2VkIHRvIGdhdGUgdGhlIGZpcnN0IGNhcHR1cmUgZnJhbWUuICovXG4gIGFyZUxheWVyc0xvYWRlZCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBkZWNrID0gdGhpcy5kZWNrUmVmLmN1cnJlbnQ7XG4gICAgaWYgKCFkZWNrKSByZXR1cm4gZmFsc2U7XG4gICAgY29uc3QgbGF5ZXJzID0gZGVjay5wcm9wcy5sYXllcnMgfHwgW107XG4gICAgcmV0dXJuIGxheWVycy5sZW5ndGggPiAwICYmIGxheWVycy5ldmVyeSgobGF5ZXI6IGFueSkgPT4gbGF5ZXIuaXNMb2FkZWQpO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHthZGFwdGVyLCBkZWNrUHJvcHMsIHZpZXdTdGF0ZSwgc2V0Vmlld1N0YXRlLCByZXNvbHV0aW9uLCBleHBvcnRWaWRlb1dpZHRoLCBiYWNrZ3JvdW5kQ29sb3J9ID1cbiAgICAgIHRoaXMucHJvcHM7XG4gICAgY29uc3Qge3dpZHRoLCBoZWlnaHR9ID0gdGhpcy5fZ2V0Q29udGFpbmVyKCk7XG4gICAgY29uc3QgZGVjayA9IHRoaXMuZGVja1JlZi5jdXJyZW50O1xuXG4gICAgLy8gYWRhcHRlci5nZXRQcm9wcyBpbmplY3RzIGBfYW5pbWF0ZWAgKGFuZCB0b2dnbGVzIGBjb250cm9sbGVyYCBvZmYgd2hpbGVcbiAgICAvLyByZWNvcmRpbmcpIHNvIGh1YmJsZSdzIEtlcGxlckFuaW1hdGlvbiBjYW4gZHJpdmUgdGhlIGNhbWVyYS4gTGF5ZXJzLFxuICAgIC8vIHZpZXdzLCBjb250cm9sbGVyIGJvdW5kcyBhbmQgaW5pdGlhbFZpZXdTdGF0ZSBjb21lIGZyb20gYGRlY2tQcm9wc2BcbiAgICAvLyAoc2VlIGdldEh1YmJsZURlY2tHbFByb3BzKS4gQSBjb250cm9sbGVkIGB2aWV3U3RhdGVgIGtlZXBzIHRoZSBwcmV2aWV3IGluXG4gICAgLy8gc3luYyB3aXRoIHRoZSBhbmltYXRlZCBjYW1lcmEgYW5kIHByZXZlbnRzIHRoZSBHbG9iZVN0YXRlIGFzc2VydC5cbiAgICBjb25zdCBhZGFwdGVyUHJvcHMgPSBhZGFwdGVyLmdldFByb3BzKHtcbiAgICAgIGRlY2s6IGRlY2sgYXMgYW55LFxuICAgICAgZXh0cmFQcm9wczogZGVja1Byb3BzIGFzIGFueVxuICAgIH0pIGFzIGFueTtcblxuICAgIC8vIFJlbmRlciB0aGUgZHJhd2luZyBidWZmZXIgYXQgdGhlIHRydWUgZXhwb3J0IHJlc29sdXRpb24gcmVnYXJkbGVzcyBvZiB0aGVcbiAgICAvLyBzbWFsbCBDU1MgcHJldmlldyBzaXplLiBkZWNrLmdsJ3MgTVNBQSAoYW50aWFsaWFzIGRlZmF1bHRzIHRvIHRydWUgd2hlblxuICAgIC8vIGRlY2sgb3ducyB0aGUgY2FudmFzKSBvbmx5IHNtb290aHMgZWRnZXMgYXQgdGhlIGRyYXdpbmctYnVmZmVyIHJlc29sdXRpb24sXG4gICAgLy8gc28gaWYgdGhlIGJ1ZmZlciB3ZXJlIHRoZSBzbWFsbCBwcmV2aWV3IHNpemUgdGhlIGdsb2JlIHNpbGhvdWV0dGUgd291bGRcbiAgICAvLyBsb29rIHBpeGVsYXRlZCBvbmNlIHRoZSBjYXB0dXJlZCBmcmFtZSBpcyBzY2FsZWQgdXAgdG8gdGhlIG91dHB1dCBzaXplLlxuICAgIC8vIFBhc3NpbmcgYW4gZXhwbGljaXQgbnVtZXJpYyBgdXNlRGV2aWNlUGl4ZWxzYCBzaXplcyB0aGUgYnVmZmVyIHRvXG4gICAgLy8gd2lkdGggKiByYXRpbyA9PT0gZXhwb3J0VmlkZW9XaWR0aCAqIChyZXNvbHV0aW9uIC8gZXhwb3J0VmlkZW9XaWR0aCkgPT09XG4gICAgLy8gcmVzb2x1dGlvbiwgYW5kIGlzIGZhciBtb3JlIHJlbGlhYmxlIHRoYW4gbXV0YXRpbmcgd2luZG93LmRldmljZVBpeGVsUmF0aW8uXG4gICAgY29uc3QgcGl4ZWxSYXRpbyA9IE1hdGgubWF4KDEsIHJlc29sdXRpb25bMF0gLyBleHBvcnRWaWRlb1dpZHRoKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8UHJldmlld0NvbnRhaW5lciAkd2lkdGg9e3dpZHRofSAkaGVpZ2h0PXtoZWlnaHR9ICRiYWNrZ3JvdW5kPXtiYWNrZ3JvdW5kQ29sb3J9PlxuICAgICAgICA8RGVja0dMXG4gICAgICAgICAgcmVmPXtyZWYgPT4ge1xuICAgICAgICAgICAgdGhpcy5kZWNrUmVmLmN1cnJlbnQgPSAocmVmPy5kZWNrIGFzIGFueSkgfHwgbnVsbDtcbiAgICAgICAgICB9fVxuICAgICAgICAgIGRldmljZVByb3BzPXt7dHlwZTogJ3dlYmdsJywgd2ViZ2w6IHtwcmVzZXJ2ZURyYXdpbmdCdWZmZXI6IHRydWV9fX1cbiAgICAgICAgICB7Li4uYWRhcHRlclByb3BzfVxuICAgICAgICAgIHZpZXdTdGF0ZT17dmlld1N0YXRlfVxuICAgICAgICAgIG9uVmlld1N0YXRlQ2hhbmdlPXsoe3ZpZXdTdGF0ZTogdnN9OiBhbnkpID0+IHNldFZpZXdTdGF0ZSh2cyl9XG4gICAgICAgICAgdXNlRGV2aWNlUGl4ZWxzPXtwaXhlbFJhdGlvfVxuICAgICAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgICAgICBoZWlnaHQ9e2hlaWdodH1cbiAgICAgICAgLz5cbiAgICAgIDwvUHJldmlld0NvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFFQSxJQUFBRyxpQkFBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBQXVDLElBQUFJLGVBQUEsRUFOdkM7QUFDQTtBQUFBLFNBQUFMLHdCQUFBTSxDQUFBLEVBQUFDLENBQUEsNkJBQUFDLE9BQUEsTUFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFF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
@@ -21,7 +21,19 @@ export declare function getTimeRangeFilterKeyframes({ filter, timings }: {
21
21
  }): TimeRangeFilterKeyframes;
22
22
  export declare function getBeforeLayerId(topMapStyle: any, bottomMapStyle: any): MapboxLayerRef | null;
23
23
  export declare function getStaticMapProps(keplerState: KeplerState, onViewChange: (viewState: Record<string, any>) => void, mapboxApiAccessToken: string, mapboxApiUrl?: string): Record<string, any>;
24
- export declare function getHubbleDeckGlProps(keplerState: KeplerState, _mapboxApiAccessToken: string, _mapboxApiUrl?: string): Record<string, any>;
24
+ export declare function getHubbleDeckGlProps(keplerState: KeplerState, mapboxApiAccessToken: string, mapboxApiUrl?: string): Record<string, any>;
25
+ /**
26
+ * Build a fresh set of globe layers (base + data + top) for a given split-map
27
+ * index. Used by the swipe export preview, which mounts two independent Deck
28
+ * instances: each side needs its OWN layer instances (deck.gl Layer objects are
29
+ * stateful and bound to a single Deck) and its own `mapIndex` so the split-map
30
+ * layer visibility is respected on each half of the swipe.
31
+ */
32
+ export declare function getGlobeExportLayers(keplerState: KeplerState, { mapIndex, mapboxApiAccessToken, mapboxApiUrl }: {
33
+ mapIndex: number;
34
+ mapboxApiAccessToken?: string;
35
+ mapboxApiUrl?: string;
36
+ }): (import("@kepler.gl/layers").Layer | import("@deck.gl/core").Layer<{}>)[];
25
37
  export declare function getAnimatableFilters(keplerState: KeplerState): TimeRangeFilter[];
26
38
  export declare function scaleToVideoExport(viewState: MapViewState, container: {
27
39
  width: number;