@carto/kepler.gl 0.0.80 → 0.1.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1724) hide show
  1. package/README.md +652 -42
  2. package/dist/actions/action-wrapper.d.ts +115 -0
  3. package/dist/actions/actions.d.ts +195 -0
  4. package/dist/actions/identity-actions.d.ts +61 -0
  5. package/dist/actions/index.d.ts +9 -0
  6. package/dist/actions/map-state-actions.d.ts +69 -0
  7. package/dist/actions/map-style-actions.d.ts +146 -0
  8. package/dist/actions/provider-actions.d.ts +153 -0
  9. package/dist/actions/ui-state-actions.d.ts +300 -0
  10. package/dist/actions/vis-state-actions.d.ts +821 -0
  11. package/dist/bundle.js +54227 -0
  12. package/dist/bundle.js.map +1 -0
  13. package/dist/cloud-providers/index.d.ts +2 -0
  14. package/dist/cloud-providers/provider.d.ts +176 -0
  15. package/dist/components/bottom-widget.d.ts +47 -0
  16. package/dist/components/common/action-panel.d.ts +27 -0
  17. package/dist/components/common/animation-control/animation-control.d.ts +24 -0
  18. package/dist/components/common/animation-control/animation-controller.d.ts +16 -0
  19. package/dist/components/common/animation-control/animation-speed-slider.d.ts +12 -0
  20. package/dist/components/common/animation-control/floating-time-display.d.ts +9 -0
  21. package/dist/components/common/animation-control/playback-controls.d.ts +72 -0
  22. package/dist/components/common/animation-control/speed-control.d.ts +13 -0
  23. package/dist/components/common/checkbox.d.ts +35 -0
  24. package/dist/components/common/color-legend.d.ts +43 -0
  25. package/dist/components/common/data-table/button.d.ts +8 -0
  26. package/dist/components/common/data-table/canvas.d.ts +2 -0
  27. package/dist/components/common/data-table/cell-size.d.ts +36 -0
  28. package/dist/components/common/data-table/grid.d.ts +7 -0
  29. package/dist/components/common/data-table/index.d.ts +143 -0
  30. package/dist/components/common/data-table/option-dropdown.d.ts +14 -0
  31. package/dist/components/common/dataset-label.d.ts +10 -0
  32. package/dist/components/common/error-boundary.d.ts +16 -0
  33. package/dist/components/common/field-selector.d.ts +47 -0
  34. package/dist/components/common/field-token.d.ts +45 -0
  35. package/dist/components/common/file-uploader/file-drop.d.ts +54 -0
  36. package/dist/components/common/file-uploader/file-upload-progress.d.ts +8 -0
  37. package/dist/components/common/file-uploader/file-upload.d.ts +27 -0
  38. package/dist/components/common/file-uploader/upload-button.d.ts +8 -0
  39. package/dist/components/common/histogram-plot.d.ts +3 -0
  40. package/dist/components/common/icons/add.d.ts +9 -0
  41. package/dist/components/common/icons/anchor_window.d.ts +11 -0
  42. package/dist/components/common/icons/arrow-down-alt.d.ts +9 -0
  43. package/dist/components/common/icons/arrow-down-solid.d.ts +9 -0
  44. package/dist/components/common/icons/arrow-down.d.ts +9 -0
  45. package/dist/components/common/icons/arrow-left.d.ts +9 -0
  46. package/dist/components/common/icons/arrow-right.d.ts +9 -0
  47. package/dist/components/common/icons/arrow-up-alt.d.ts +9 -0
  48. package/dist/components/common/icons/arrow-up-solid.d.ts +9 -0
  49. package/dist/components/common/icons/arrow-up.d.ts +9 -0
  50. package/dist/components/common/icons/base.d.ts +29 -0
  51. package/dist/components/common/icons/bug.d.ts +9 -0
  52. package/dist/components/common/icons/cancel.d.ts +9 -0
  53. package/dist/components/common/icons/checkmark.d.ts +10 -0
  54. package/dist/components/common/icons/clipboard.d.ts +9 -0
  55. package/dist/components/common/icons/clock.d.ts +9 -0
  56. package/dist/components/common/icons/close.d.ts +9 -0
  57. package/dist/components/common/icons/code-alt.d.ts +9 -0
  58. package/dist/components/common/icons/copy.d.ts +9 -0
  59. package/dist/components/common/icons/crosshairs.d.ts +9 -0
  60. package/dist/components/common/icons/cube-3d.d.ts +9 -0
  61. package/dist/components/common/icons/cursor-click.d.ts +9 -0
  62. package/dist/components/common/icons/data-table.d.ts +10 -0
  63. package/dist/components/common/icons/db.d.ts +10 -0
  64. package/dist/components/common/icons/delete.d.ts +9 -0
  65. package/dist/components/common/icons/docs.d.ts +9 -0
  66. package/dist/components/common/icons/drag-n-drop.d.ts +9 -0
  67. package/dist/components/common/icons/draw-polygon.d.ts +10 -0
  68. package/dist/components/common/icons/email.d.ts +9 -0
  69. package/dist/components/common/icons/expand.d.ts +9 -0
  70. package/dist/components/common/icons/eye-seen.d.ts +9 -0
  71. package/dist/components/common/icons/eye-unseen.d.ts +9 -0
  72. package/dist/components/common/icons/file-type.d.ts +8 -0
  73. package/dist/components/common/icons/file.d.ts +9 -0
  74. package/dist/components/common/icons/files.d.ts +9 -0
  75. package/dist/components/common/icons/filter-funnel.d.ts +9 -0
  76. package/dist/components/common/icons/free-window.d.ts +11 -0
  77. package/dist/components/common/icons/gear.d.ts +9 -0
  78. package/dist/components/common/icons/hash.d.ts +9 -0
  79. package/dist/components/common/icons/histogram.d.ts +9 -0
  80. package/dist/components/common/icons/index.d.ts +78 -0
  81. package/dist/components/common/icons/info.d.ts +12 -0
  82. package/dist/components/common/icons/layers.d.ts +9 -0
  83. package/dist/components/common/icons/left-arrow.d.ts +9 -0
  84. package/dist/components/common/icons/legend.d.ts +9 -0
  85. package/dist/components/common/icons/line-chart.d.ts +9 -0
  86. package/dist/components/common/icons/login.d.ts +9 -0
  87. package/dist/components/common/icons/logout.d.ts +9 -0
  88. package/dist/components/common/icons/map-icon.d.ts +11 -0
  89. package/dist/components/common/icons/map.d.ts +11 -0
  90. package/dist/components/common/icons/messages.d.ts +9 -0
  91. package/dist/components/common/icons/minus.d.ts +9 -0
  92. package/dist/components/common/icons/order-by-dataset.d.ts +12 -0
  93. package/dist/components/common/icons/order-by-list.d.ts +12 -0
  94. package/dist/components/common/icons/pause.d.ts +9 -0
  95. package/dist/components/common/icons/picture.d.ts +9 -0
  96. package/dist/components/common/icons/pin.d.ts +9 -0
  97. package/dist/components/common/icons/play.d.ts +9 -0
  98. package/dist/components/common/icons/polygon.d.ts +10 -0
  99. package/dist/components/common/icons/rectangle.d.ts +10 -0
  100. package/dist/components/common/icons/reduce.d.ts +9 -0
  101. package/dist/components/common/icons/reset.d.ts +9 -0
  102. package/dist/components/common/icons/rocket.d.ts +9 -0
  103. package/dist/components/common/icons/save.d.ts +9 -0
  104. package/dist/components/common/icons/save2.d.ts +9 -0
  105. package/dist/components/common/icons/search.d.ts +9 -0
  106. package/dist/components/common/icons/settings.d.ts +9 -0
  107. package/dist/components/common/icons/share.d.ts +9 -0
  108. package/dist/components/common/icons/split.d.ts +9 -0
  109. package/dist/components/common/icons/square-select.d.ts +9 -0
  110. package/dist/components/common/icons/table.d.ts +9 -0
  111. package/dist/components/common/icons/trash.d.ts +9 -0
  112. package/dist/components/common/icons/upload.d.ts +9 -0
  113. package/dist/components/common/icons/vert-dots.d.ts +9 -0
  114. package/dist/components/common/icons/vert-three-dots.d.ts +9 -0
  115. package/dist/components/common/icons/warning.d.ts +10 -0
  116. package/dist/components/common/image-preview.d.ts +15 -0
  117. package/dist/components/common/info-helper.d.ts +11 -0
  118. package/dist/components/common/item-selector/accessor.d.ts +7 -0
  119. package/dist/components/common/item-selector/chickleted-input.d.ts +21 -0
  120. package/dist/components/common/item-selector/dropdown-list.d.ts +68 -0
  121. package/dist/components/common/item-selector/item-selector.d.ts +91 -0
  122. package/dist/components/common/item-selector/typeahead.d.ts +115 -0
  123. package/dist/components/common/line-chart.d.ts +34 -0
  124. package/dist/components/common/loading-spinner.d.ts +9 -0
  125. package/dist/components/common/logo.d.ts +8 -0
  126. package/dist/components/common/map-layer-selector.d.ts +13 -0
  127. package/dist/components/common/modal.d.ts +49 -0
  128. package/dist/components/common/portaled.d.ts +527 -0
  129. package/dist/components/common/progress-bar.d.ts +12 -0
  130. package/dist/components/common/range-brush.d.ts +19 -0
  131. package/dist/components/common/range-plot.d.ts +35 -0
  132. package/dist/components/common/range-slider.d.ts +32 -0
  133. package/dist/components/common/slider/mouse-event.d.ts +27 -0
  134. package/dist/components/common/slider/slider-bar-handle.d.ts +29 -0
  135. package/dist/components/common/slider/slider-handle.d.ts +33 -0
  136. package/dist/components/common/slider/slider.d.ts +70 -0
  137. package/dist/components/common/styled-components.d.ts +119 -0
  138. package/dist/components/common/switch.d.ts +16 -0
  139. package/dist/components/common/time-range-slider-time-title.d.ts +9 -0
  140. package/dist/components/common/time-range-slider.d.ts +32 -0
  141. package/dist/components/common/time-slider-marker.d.ts +21 -0
  142. package/dist/components/common/tippy-tooltip.d.ts +4 -0
  143. package/dist/components/common/toolbar-item.d.ts +14 -0
  144. package/dist/components/common/toolbar.d.ts +5 -0
  145. package/dist/components/common/vertical-toolbar.d.ts +3 -0
  146. package/dist/components/container.d.ts +39 -0
  147. package/dist/components/context.d.ts +7 -0
  148. package/dist/components/editor/constants.d.ts +17 -0
  149. package/dist/components/editor/editor.d.ts +29 -0
  150. package/dist/components/editor/feature-action-panel.d.ts +27 -0
  151. package/dist/components/editor/feature-styles.d.ts +24 -0
  152. package/dist/components/editor/handle-style.d.ts +38 -0
  153. package/dist/components/filters/components.d.ts +3 -0
  154. package/dist/components/filters/filter-panels/filter-panel-with-field-select.d.ts +10 -0
  155. package/dist/components/filters/filter-panels/multi-select-filter-panel.d.ts +9 -0
  156. package/dist/components/filters/filter-panels/new-filter-panel.d.ts +12 -0
  157. package/dist/components/filters/filter-panels/polygon-filter-panel.d.ts +9 -0
  158. package/dist/components/filters/filter-panels/range-filter-panel.d.ts +9 -0
  159. package/dist/components/filters/filter-panels/single-select-filter-panel.d.ts +9 -0
  160. package/dist/components/filters/filter-panels/time-range-filter-panel.d.ts +8 -0
  161. package/dist/components/filters/filter-panels/types.d.ts +36 -0
  162. package/dist/components/filters/index.d.ts +5 -0
  163. package/dist/components/filters/multi-select-filter.d.ts +3 -0
  164. package/dist/components/filters/polygon-filter.d.ts +4 -0
  165. package/dist/components/filters/range-filter.d.ts +8 -0
  166. package/dist/components/filters/single-select-filter.d.ts +3 -0
  167. package/dist/components/filters/time-range-filter.d.ts +28 -0
  168. package/dist/components/filters/time-widget.d.ts +14 -0
  169. package/dist/components/filters/types.d.ts +53 -0
  170. package/dist/components/geocoder/geocoder.d.ts +33 -0
  171. package/dist/components/geocoder-panel.d.ts +28 -0
  172. package/dist/components/index.d.ts +165 -0
  173. package/dist/components/injector.d.ts +25 -0
  174. package/dist/components/kepler-gl.d.ts +302 -0
  175. package/dist/components/map/coordinate-info.d.ts +7 -0
  176. package/dist/components/map/layer-hover-info.d.ts +13 -0
  177. package/dist/components/map/layer-selector-panel.d.ts +22 -0
  178. package/dist/components/map/locale-panel.d.ts +16 -0
  179. package/dist/components/map/map-control-panel.d.ts +14 -0
  180. package/dist/components/map/map-control-toolbar.d.ts +2 -0
  181. package/dist/components/map/map-control-tooltip.d.ts +7 -0
  182. package/dist/components/map/map-control.d.ts +44 -0
  183. package/dist/components/map/map-draw-panel.d.ts +21 -0
  184. package/dist/components/map/map-legend-panel.d.ts +23 -0
  185. package/dist/components/map/map-legend.d.ts +55 -0
  186. package/dist/components/map/map-popover.d.ts +37 -0
  187. package/dist/components/map/split-map-button.d.ts +19 -0
  188. package/dist/components/map/toggle-3d-button.d.ts +16 -0
  189. package/dist/components/map-container.d.ts +58 -0
  190. package/dist/components/maps-layout.d.ts +10 -0
  191. package/dist/components/modal-container.d.ts +65 -0
  192. package/dist/components/modals/add-map-style-modal.d.ts +17 -0
  193. package/dist/components/modals/cloud-tile.d.ts +15 -0
  194. package/dist/components/modals/data-table-modal.d.ts +29 -0
  195. package/dist/components/modals/delete-data-modal.d.ts +10 -0
  196. package/dist/components/modals/error-display.d.ts +6 -0
  197. package/dist/components/modals/export-data-modal.d.ts +25 -0
  198. package/dist/components/modals/export-image-modal.d.ts +18 -0
  199. package/dist/components/modals/export-map-modal/components.d.ts +8 -0
  200. package/dist/components/modals/export-map-modal/export-html-map.d.ts +12 -0
  201. package/dist/components/modals/export-map-modal/export-json-map.d.ts +9 -0
  202. package/dist/components/modals/export-map-modal/export-map-modal.d.ts +27 -0
  203. package/dist/components/modals/image-modal-container.d.ts +18 -0
  204. package/dist/components/modals/load-data-modal.d.ts +33 -0
  205. package/dist/components/modals/load-storage-map.d.ts +26 -0
  206. package/dist/components/modals/loading-dialog.d.ts +7 -0
  207. package/dist/components/modals/modal-dialog.d.ts +2 -0
  208. package/dist/components/modals/modal-tabs.d.ts +27 -0
  209. package/dist/components/modals/overwrite-map-modal.d.ts +16 -0
  210. package/dist/components/modals/provider-modal-container.d.ts +23 -0
  211. package/dist/components/modals/save-map-modal.d.ts +29 -0
  212. package/dist/components/modals/share-map-modal.d.ts +30 -0
  213. package/dist/components/modals/status-panel.d.ts +13 -0
  214. package/dist/components/modals/storage-map-viewer.d.ts +21 -0
  215. package/dist/components/notification-panel/notification-item.d.ts +66 -0
  216. package/dist/components/notification-panel.d.ts +61 -0
  217. package/dist/components/performance.d.ts +4 -0
  218. package/dist/components/plot-container.d.ts +24 -0
  219. package/dist/components/side-panel/cloud-storage-dropdown.d.ts +6 -0
  220. package/dist/components/side-panel/common/dataset-info.d.ts +3 -0
  221. package/dist/components/side-panel/common/dataset-tag.d.ts +3 -0
  222. package/dist/components/side-panel/common/dataset-title.d.ts +8 -0
  223. package/dist/components/side-panel/common/source-data-catalog.d.ts +9 -0
  224. package/dist/components/side-panel/common/source-data-selector.d.ts +8 -0
  225. package/dist/components/side-panel/common/types.d.ts +58 -0
  226. package/dist/components/side-panel/custom-panel.d.ts +9 -0
  227. package/dist/components/side-panel/filter-manager.d.ts +20 -0
  228. package/dist/components/side-panel/filter-panel/filter-panel-header.d.ts +21 -0
  229. package/dist/components/side-panel/filter-panel/filter-panel.d.ts +23 -0
  230. package/dist/components/side-panel/interaction-manager.d.ts +14 -0
  231. package/dist/components/side-panel/interaction-panel/brush-config.d.ts +15 -0
  232. package/dist/components/side-panel/interaction-panel/interaction-panel.d.ts +19 -0
  233. package/dist/components/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +28 -0
  234. package/dist/components/side-panel/interaction-panel/tooltip-config.d.ts +38 -0
  235. package/dist/components/side-panel/layer-manager.d.ts +46 -0
  236. package/dist/components/side-panel/layer-panel/add-layer-button.d.ts +10 -0
  237. package/dist/components/side-panel/layer-panel/color-dimension-scale-selector.d.ts +8 -0
  238. package/dist/components/side-panel/layer-panel/color-palette.d.ts +13 -0
  239. package/dist/components/side-panel/layer-panel/color-range-selector.d.ts +129 -0
  240. package/dist/components/side-panel/layer-panel/color-selector.d.ts +101 -0
  241. package/dist/components/side-panel/layer-panel/column-selector.d.ts +22 -0
  242. package/dist/components/side-panel/layer-panel/custom-markers-config-group.d.ts +6 -0
  243. package/dist/components/side-panel/layer-panel/custom-palette.d.ts +38 -0
  244. package/dist/components/side-panel/layer-panel/custom-picker.d.ts +67 -0
  245. package/dist/components/side-panel/layer-panel/dataset-layer-group.d.ts +24 -0
  246. package/dist/components/side-panel/layer-panel/dataset-layer-section.d.ts +25 -0
  247. package/dist/components/side-panel/layer-panel/dataset-section.d.ts +26 -0
  248. package/dist/components/side-panel/layer-panel/dimension-scale-selector.d.ts +10 -0
  249. package/dist/components/side-panel/layer-panel/hex-column-config.d.ts +62 -0
  250. package/dist/components/side-panel/layer-panel/layer-aggregation-resolution.d.ts +8 -0
  251. package/dist/components/side-panel/layer-panel/layer-column-config.d.ts +20 -0
  252. package/dist/components/side-panel/layer-panel/layer-config-group.d.ts +37 -0
  253. package/dist/components/side-panel/layer-panel/layer-configurator.d.ts +415 -0
  254. package/dist/components/side-panel/layer-panel/layer-list.d.ts +20 -0
  255. package/dist/components/side-panel/layer-panel/layer-panel-header.d.ts +43 -0
  256. package/dist/components/side-panel/layer-panel/layer-panel.d.ts +40 -0
  257. package/dist/components/side-panel/layer-panel/layer-type-dropdown-list.d.ts +17 -0
  258. package/dist/components/side-panel/layer-panel/layer-type-list-item.d.ts +11 -0
  259. package/dist/components/side-panel/layer-panel/layer-type-selector.d.ts +23 -0
  260. package/dist/components/side-panel/layer-panel/layer-visibility-by-zoom.d.ts +23 -0
  261. package/dist/components/side-panel/layer-panel/panel-view-list-toggle.d.ts +36 -0
  262. package/dist/components/side-panel/layer-panel/single-color-palette.d.ts +12 -0
  263. package/dist/components/side-panel/layer-panel/text-label-panel.d.ts +18 -0
  264. package/dist/components/side-panel/layer-panel/vis-config-by-field-selector.d.ts +35 -0
  265. package/dist/components/side-panel/layer-panel/vis-config-slider.d.ts +20 -0
  266. package/dist/components/side-panel/layer-panel/vis-config-switch.d.ts +16 -0
  267. package/dist/components/side-panel/map-manager.d.ts +21 -0
  268. package/dist/components/side-panel/map-style-panel/map-layer-selector.d.ts +19 -0
  269. package/dist/components/side-panel/map-style-panel/map-style-selector.d.ts +16 -0
  270. package/dist/components/side-panel/panel-dropdown.d.ts +18 -0
  271. package/dist/components/side-panel/panel-header-action.d.ts +20 -0
  272. package/dist/components/side-panel/panel-header.d.ts +78 -0
  273. package/dist/components/side-panel/panel-tab.d.ts +20 -0
  274. package/dist/components/side-panel/panel-title.d.ts +4 -0
  275. package/dist/components/side-panel/panel-toggle.d.ts +14 -0
  276. package/dist/components/side-panel/side-bar.d.ts +76 -0
  277. package/dist/components/side-panel.d.ts +134 -0
  278. package/dist/components/types.d.ts +44 -0
  279. package/dist/connect/keplergl-connect.d.ts +5 -0
  280. package/dist/connect/with-local-selector.d.ts +6 -0
  281. package/dist/constants/action-types.d.ts +111 -0
  282. package/dist/constants/color-palette.d.ts +491 -0
  283. package/dist/constants/color-ranges.d.ts +24 -0
  284. package/dist/constants/custom-color-ranges.d.ts +37 -0
  285. package/dist/constants/default-settings.d.ts +773 -0
  286. package/dist/constants/index.d.ts +9 -0
  287. package/dist/constants/keyevent.d.ts +2 -0
  288. package/dist/constants/tooltip.d.ts +165 -0
  289. package/dist/constants/user-feedbacks.d.ts +5 -0
  290. package/dist/constants/user-guides.d.ts +9 -0
  291. package/dist/deckgl-layers/3d-building-layer/3d-building-layer.d.ts +13 -0
  292. package/dist/deckgl-layers/3d-building-layer/3d-building-utils.d.ts +7 -0
  293. package/dist/deckgl-layers/column-layer/enhanced-column-layer.d.ts +6 -0
  294. package/dist/deckgl-layers/grid-layer/enhanced-cpu-grid-layer.d.ts +13 -0
  295. package/dist/deckgl-layers/hexagon-layer/enhanced-hexagon-layer.d.ts +13 -0
  296. package/dist/deckgl-layers/layer-utils/cluster-utils.d.ts +12 -0
  297. package/dist/deckgl-layers/layer-utils/cpu-aggregator.d.ts +91 -0
  298. package/dist/deckgl-layers/layer-utils/shader-utils.d.ts +1 -0
  299. package/dist/deckgl-layers/line-layer/line-layer.d.ts +12 -0
  300. package/dist/deckgl-layers/svg-icon-layer/scatterplot-icon-layer.d.ts +8 -0
  301. package/dist/deckgl-layers/svg-icon-layer/svg-icon-layer.d.ts +18 -0
  302. package/dist/index.d.ts +11 -0
  303. package/dist/layers/aggregation-layer.d.ts +70 -0
  304. package/dist/layers/arc-layer/arc-layer-icon.d.ts +16 -0
  305. package/dist/layers/arc-layer/arc-layer.d.ts +143 -0
  306. package/dist/layers/base-layer.d.ts +436 -0
  307. package/dist/layers/cluster-layer/cluster-layer-icon.d.ts +16 -0
  308. package/dist/layers/cluster-layer/cluster-layer.d.ts +39 -0
  309. package/dist/layers/default-layer-icon.d.ts +14 -0
  310. package/dist/layers/geojson-layer/geojson-layer-icon.d.ts +15 -0
  311. package/dist/layers/geojson-layer/geojson-layer.d.ts +230 -0
  312. package/dist/layers/geojson-layer/geojson-utils.d.ts +44 -0
  313. package/dist/layers/grid-layer/grid-layer-icon.d.ts +15 -0
  314. package/dist/layers/grid-layer/grid-layer.d.ts +74 -0
  315. package/dist/layers/grid-layer/grid-utils.d.ts +24 -0
  316. package/dist/layers/h3-hexagon-layer/h3-hexagon-layer-icon.d.ts +16 -0
  317. package/dist/layers/h3-hexagon-layer/h3-hexagon-layer.d.ts +170 -0
  318. package/dist/layers/h3-hexagon-layer/h3-utils.d.ts +20 -0
  319. package/dist/layers/heatmap-layer/heatmap-layer-icon.d.ts +15 -0
  320. package/dist/layers/heatmap-layer/heatmap-layer.d.ts +144 -0
  321. package/dist/layers/hexagon-layer/hexagon-layer-icon.d.ts +15 -0
  322. package/dist/layers/hexagon-layer/hexagon-layer.d.ts +78 -0
  323. package/dist/layers/hexagon-layer/hexagon-utils.d.ts +7 -0
  324. package/dist/layers/icon-layer/icon-info-modal.d.ts +3 -0
  325. package/dist/layers/icon-layer/icon-layer-icon.d.ts +15 -0
  326. package/dist/layers/icon-layer/icon-layer.d.ts +119 -0
  327. package/dist/layers/index.d.ts +53 -0
  328. package/dist/layers/layer-factory.d.ts +150 -0
  329. package/dist/layers/layer-text-label.d.ts +7 -0
  330. package/dist/layers/layer-update.d.ts +9 -0
  331. package/dist/layers/line-layer/line-layer-icon.d.ts +15 -0
  332. package/dist/layers/line-layer/line-layer.d.ts +136 -0
  333. package/dist/layers/mapbox-utils.d.ts +57 -0
  334. package/dist/layers/mapboxgl-layer.d.ts +87 -0
  335. package/dist/layers/point-layer/point-layer-icon.d.ts +15 -0
  336. package/dist/layers/point-layer/point-layer.d.ts +272 -0
  337. package/dist/layers/s2-geometry-layer/s2-geometry-layer.d.ts +189 -0
  338. package/dist/layers/s2-geometry-layer/s2-layer-icon.d.ts +15 -0
  339. package/dist/layers/s2-geometry-layer/s2-utils.d.ts +7 -0
  340. package/dist/layers/scenegraph-layer/scenegraph-info-modal.d.ts +3 -0
  341. package/dist/layers/scenegraph-layer/scenegraph-layer-icon.d.ts +15 -0
  342. package/dist/layers/scenegraph-layer/scenegraph-layer.d.ts +80 -0
  343. package/dist/layers/trip-layer/trip-info-modal.d.ts +3 -0
  344. package/dist/layers/trip-layer/trip-layer-icon.d.ts +15 -0
  345. package/dist/layers/trip-layer/trip-layer.d.ts +157 -0
  346. package/dist/layers/trip-layer/trip-utils.d.ts +31 -0
  347. package/dist/layers/types.d.ts +15 -0
  348. package/dist/localization/formatted-message.d.ts +12 -0
  349. package/dist/localization/index.d.ts +5 -0
  350. package/dist/localization/locales.d.ts +27 -0
  351. package/dist/localization/messages.d.ts +4 -0
  352. package/dist/localization/translations/ca.d.ts +438 -0
  353. package/dist/localization/translations/cn.d.ts +441 -0
  354. package/dist/localization/translations/en.d.ts +466 -0
  355. package/dist/localization/translations/es.d.ts +438 -0
  356. package/dist/localization/translations/fi.d.ts +410 -0
  357. package/dist/localization/translations/ja.d.ts +439 -0
  358. package/dist/localization/translations/pt.d.ts +410 -0
  359. package/dist/localization/translations/ru.d.ts +447 -0
  360. package/dist/middleware/index.d.ts +8 -0
  361. package/dist/processors/data-processor.d.ts +242 -0
  362. package/dist/processors/file-handler.d.ts +28 -0
  363. package/dist/processors/index.d.ts +3 -0
  364. package/dist/processors/types.d.ts +21 -0
  365. package/dist/reducers/combined-updaters.d.ts +52 -0
  366. package/dist/reducers/composer-helpers.d.ts +21 -0
  367. package/dist/reducers/composers.d.ts +12 -0
  368. package/dist/reducers/core.d.ts +65 -0
  369. package/dist/reducers/index.d.ts +19 -0
  370. package/dist/reducers/map-state-updaters.d.ts +96 -0
  371. package/dist/reducers/map-state.d.ts +4 -0
  372. package/dist/reducers/map-style-updaters.d.ts +204 -0
  373. package/dist/reducers/map-style.d.ts +16 -0
  374. package/dist/reducers/provider-state-updaters.d.ts +41 -0
  375. package/dist/reducers/provider-state.d.ts +4 -0
  376. package/dist/reducers/root.d.ts +24 -0
  377. package/dist/reducers/types.d.ts +16 -0
  378. package/dist/reducers/ui-state-updaters.d.ts +434 -0
  379. package/dist/reducers/ui-state.d.ts +3 -0
  380. package/dist/reducers/vis-state-merger.d.ts +110 -0
  381. package/dist/reducers/vis-state-selectors.d.ts +10 -0
  382. package/dist/reducers/vis-state-updaters.d.ts +645 -0
  383. package/dist/reducers/vis-state.d.ts +4 -0
  384. package/dist/schemas/dataset-schema.d.ts +17 -0
  385. package/dist/schemas/index.d.ts +8 -0
  386. package/dist/schemas/map-state-schema.d.ts +23 -0
  387. package/dist/schemas/map-style-schema.d.ts +38 -0
  388. package/dist/schemas/schema-manager.d.ts +271 -0
  389. package/dist/schemas/schema-utils.d.ts +11 -0
  390. package/dist/schemas/schema.d.ts +37 -0
  391. package/dist/schemas/versions.d.ts +5 -0
  392. package/dist/schemas/vis-state-schema.d.ts +214 -0
  393. package/dist/styles/base.d.ts +1530 -0
  394. package/dist/styles/index.d.ts +2 -0
  395. package/dist/styles/media-breakpoints.d.ts +13 -0
  396. package/dist/tasks/tasks.d.ts +15 -0
  397. package/dist/templates/export-map-html.d.ts +9 -0
  398. package/dist/utils/aggregate-utils.d.ts +3 -0
  399. package/dist/utils/color-utils.d.ts +44 -0
  400. package/dist/utils/data-scale-utils.d.ts +23 -0
  401. package/dist/utils/data-utils.d.ts +115 -0
  402. package/dist/utils/dataset-utils.d.ts +38 -0
  403. package/dist/utils/dom-to-image.d.ts +73 -0
  404. package/dist/utils/dom-utils.d.ts +20 -0
  405. package/dist/utils/export-utils.d.ts +56 -0
  406. package/dist/utils/filter-utils.d.ts +267 -0
  407. package/dist/utils/gl-utils.d.ts +1 -0
  408. package/dist/utils/gpu-filter-utils.d.ts +28 -0
  409. package/dist/utils/index.d.ts +22 -0
  410. package/dist/utils/interaction-utils.d.ts +36 -0
  411. package/dist/utils/layer-utils.d.ts +54 -0
  412. package/dist/utils/locale-utils.d.ts +2 -0
  413. package/dist/utils/map-info-utils.d.ts +1 -0
  414. package/dist/utils/map-style-utils/mapbox-gl-style-editor.d.ts +64 -0
  415. package/dist/utils/map-style-utils/mapbox-utils.d.ts +3 -0
  416. package/dist/utils/mapbox-utils.d.ts +7 -0
  417. package/dist/utils/notifications-utils.d.ts +54 -0
  418. package/dist/utils/observe-dimensions.d.ts +15 -0
  419. package/dist/utils/projection-utils.d.ts +12 -0
  420. package/dist/utils/searcher-utils.d.ts +1 -0
  421. package/dist/utils/split-map-utils.d.ts +29 -0
  422. package/dist/utils/table-utils/data-container-interface.d.ts +115 -0
  423. package/dist/utils/table-utils/data-container-utils.d.ts +29 -0
  424. package/dist/utils/table-utils/data-row.d.ts +59 -0
  425. package/dist/utils/table-utils/index.d.ts +1 -0
  426. package/dist/utils/table-utils/indexed-data-container.d.ts +34 -0
  427. package/dist/utils/table-utils/kepler-table.d.ts +168 -0
  428. package/dist/utils/table-utils/row-data-container.d.ts +31 -0
  429. package/dist/utils/utils.d.ts +98 -0
  430. package/package.json +163 -72
  431. package/src/actions/action-wrapper.ts +183 -0
  432. package/src/actions/actions.ts +259 -0
  433. package/src/actions/identity-actions.ts +116 -0
  434. package/src/actions/map-state-actions.ts +116 -0
  435. package/src/actions/map-style-actions.ts +243 -0
  436. package/src/actions/provider-actions.ts +218 -0
  437. package/src/actions/ui-state-actions.ts +490 -0
  438. package/src/actions/vis-state-actions.ts +1279 -0
  439. package/src/cloud-providers/index.ts +22 -0
  440. package/src/cloud-providers/provider.ts +276 -0
  441. package/src/components/bottom-widget.tsx +277 -0
  442. package/src/components/common/action-panel.tsx +207 -0
  443. package/src/components/common/animation-control/animation-control.tsx +157 -0
  444. package/src/components/common/animation-control/animation-controller.ts +250 -0
  445. package/src/components/common/animation-control/animation-speed-slider.tsx +86 -0
  446. package/src/components/common/animation-control/floating-time-display.tsx +209 -0
  447. package/src/components/common/animation-control/playback-controls.tsx +316 -0
  448. package/src/components/common/animation-control/speed-control.tsx +71 -0
  449. package/src/components/common/checkbox.tsx +137 -0
  450. package/src/components/common/color-legend.tsx +203 -0
  451. package/src/components/common/data-table/button.tsx +54 -0
  452. package/src/components/common/data-table/cell-size.ts +185 -0
  453. package/src/components/common/data-table/grid.tsx +57 -0
  454. package/src/components/common/data-table/index.tsx +693 -0
  455. package/src/components/common/data-table/option-dropdown.tsx +122 -0
  456. package/src/components/common/dataset-label.tsx +48 -0
  457. package/src/components/common/error-boundary.tsx +47 -0
  458. package/src/components/common/field-selector.tsx +242 -0
  459. package/src/components/common/field-token.tsx +60 -0
  460. package/src/components/common/file-uploader/file-drop.tsx +209 -0
  461. package/src/components/common/file-uploader/file-upload-progress.tsx +123 -0
  462. package/src/components/common/file-uploader/file-upload.tsx +319 -0
  463. package/src/components/common/file-uploader/upload-button.tsx +89 -0
  464. package/src/components/common/histogram-plot.tsx +125 -0
  465. package/src/components/common/icons/add.tsx +37 -0
  466. package/src/components/common/icons/anchor_window.tsx +49 -0
  467. package/src/components/common/icons/arrow-down-alt.tsx +37 -0
  468. package/src/components/common/icons/arrow-down-solid.tsx +37 -0
  469. package/src/components/common/icons/arrow-down.tsx +40 -0
  470. package/src/components/common/icons/arrow-left.tsx +42 -0
  471. package/src/components/common/icons/arrow-right.tsx +40 -0
  472. package/src/components/common/icons/arrow-up-alt.tsx +40 -0
  473. package/src/components/common/icons/arrow-up-solid.tsx +37 -0
  474. package/src/components/common/icons/arrow-up.tsx +40 -0
  475. package/src/components/common/icons/base.tsx +95 -0
  476. package/src/components/common/icons/bug.tsx +40 -0
  477. package/src/components/common/icons/cancel.tsx +37 -0
  478. package/src/components/common/icons/checkmark.tsx +39 -0
  479. package/src/components/common/icons/chevron-right.js +1 -1
  480. package/src/components/common/icons/clipboard.tsx +40 -0
  481. package/src/components/common/icons/clock.tsx +38 -0
  482. package/src/components/common/icons/close.tsx +43 -0
  483. package/src/components/common/icons/code-alt.tsx +37 -0
  484. package/src/components/common/icons/copy.tsx +38 -0
  485. package/src/components/common/icons/crosshairs.tsx +37 -0
  486. package/src/components/common/icons/cube-3d.tsx +39 -0
  487. package/src/components/common/icons/cursor-click.tsx +43 -0
  488. package/src/components/common/icons/data-table.tsx +40 -0
  489. package/src/components/common/icons/db.tsx +40 -0
  490. package/src/components/common/icons/delete.tsx +39 -0
  491. package/src/components/common/icons/docs.tsx +40 -0
  492. package/src/components/common/icons/drag-n-drop.tsx +38 -0
  493. package/src/components/common/icons/draw-polygon.tsx +51 -0
  494. package/src/components/common/icons/email.tsx +39 -0
  495. package/src/components/common/icons/expand.tsx +39 -0
  496. package/src/components/common/icons/eye-seen.tsx +38 -0
  497. package/src/components/common/icons/eye-unseen.tsx +38 -0
  498. package/src/components/common/icons/file-type.tsx +71 -0
  499. package/src/components/common/icons/file.tsx +37 -0
  500. package/src/components/common/icons/files.tsx +37 -0
  501. package/src/components/common/icons/filter-funnel.tsx +37 -0
  502. package/src/components/common/icons/free-window.tsx +48 -0
  503. package/src/components/common/icons/gear.tsx +40 -0
  504. package/src/components/common/icons/hash.tsx +37 -0
  505. package/src/components/common/icons/histogram.tsx +42 -0
  506. package/src/components/common/icons/index.tsx +98 -0
  507. package/src/components/common/icons/info.tsx +48 -0
  508. package/src/components/common/icons/layers.tsx +37 -0
  509. package/src/components/common/icons/left-arrow.tsx +37 -0
  510. package/src/components/common/icons/legend.tsx +37 -0
  511. package/src/components/common/icons/line-chart.tsx +40 -0
  512. package/src/components/common/icons/login.tsx +41 -0
  513. package/src/components/common/icons/logout.tsx +38 -0
  514. package/src/components/common/icons/map-icon.tsx +62 -0
  515. package/src/components/common/icons/map.tsx +62 -0
  516. package/src/components/common/icons/messages.tsx +37 -0
  517. package/src/components/common/icons/minus.tsx +39 -0
  518. package/src/components/common/icons/order-by-dataset.tsx +49 -0
  519. package/src/components/common/icons/order-by-list.tsx +39 -0
  520. package/src/components/common/icons/pause.tsx +37 -0
  521. package/src/components/common/icons/picture.tsx +37 -0
  522. package/src/components/common/icons/pin.tsx +42 -0
  523. package/src/components/common/icons/play.tsx +37 -0
  524. package/src/components/common/icons/polygon.tsx +65 -0
  525. package/src/components/common/icons/rectangle.tsx +66 -0
  526. package/src/components/common/icons/reduce.tsx +42 -0
  527. package/src/components/common/icons/reset.tsx +37 -0
  528. package/src/components/common/icons/rocket.tsx +37 -0
  529. package/src/components/common/icons/save.tsx +38 -0
  530. package/src/components/common/icons/save2.tsx +42 -0
  531. package/src/components/common/icons/search.tsx +38 -0
  532. package/src/components/common/icons/settings.tsx +39 -0
  533. package/src/components/common/icons/share.tsx +37 -0
  534. package/src/components/common/icons/split.tsx +57 -0
  535. package/src/components/common/icons/square-select.tsx +38 -0
  536. package/src/components/common/icons/swap-horizontal.js +1 -1
  537. package/src/components/common/icons/table.tsx +41 -0
  538. package/src/components/common/icons/trash.tsx +45 -0
  539. package/src/components/common/icons/upload.tsx +37 -0
  540. package/src/components/common/icons/vert-dots.tsx +44 -0
  541. package/src/components/common/icons/vert-three-dots.tsx +39 -0
  542. package/src/components/common/icons/warning.tsx +40 -0
  543. package/src/components/common/image-preview.tsx +118 -0
  544. package/src/components/common/info-helper.tsx +91 -0
  545. package/src/components/common/item-selector/accessor.ts +45 -0
  546. package/src/components/common/item-selector/chickleted-input.tsx +153 -0
  547. package/src/components/common/item-selector/dropdown-list.tsx +269 -0
  548. package/src/components/common/item-selector/item-selector-submenu.js +1 -1
  549. package/src/components/common/item-selector/item-selector.d.ts +24 -27
  550. package/src/components/common/item-selector/item-selector.tsx +373 -0
  551. package/src/components/common/item-selector/typeahead.tsx +533 -0
  552. package/src/components/common/line-chart.tsx +170 -0
  553. package/src/components/common/loading-spinner.tsx +75 -0
  554. package/src/components/common/logo.tsx +88 -0
  555. package/src/components/common/map-layer-selector.tsx +64 -0
  556. package/src/components/common/modal.tsx +238 -0
  557. package/src/components/common/portaled.tsx +315 -0
  558. package/src/components/common/progress-bar.tsx +74 -0
  559. package/src/components/common/range-brush.tsx +276 -0
  560. package/src/components/common/range-plot.tsx +145 -0
  561. package/src/components/common/range-slider.tsx +320 -0
  562. package/src/components/common/slider/mouse-event.ts +122 -0
  563. package/src/components/common/slider/slider-bar-handle.tsx +106 -0
  564. package/src/components/common/slider/slider-handle.tsx +210 -0
  565. package/src/components/common/slider/slider.tsx +234 -0
  566. package/src/components/common/styled-components.tsx +714 -0
  567. package/src/components/common/switch.tsx +47 -0
  568. package/src/components/common/time-range-slider-time-title.tsx +87 -0
  569. package/src/components/common/time-range-slider.tsx +171 -0
  570. package/src/components/common/time-slider-marker.tsx +187 -0
  571. package/src/components/common/tippy-tooltip.tsx +130 -0
  572. package/src/components/common/toolbar-item.tsx +99 -0
  573. package/src/components/common/toolbar.tsx +49 -0
  574. package/src/components/common/vertical-toolbar.tsx +35 -0
  575. package/src/components/container.d.ts +8 -0
  576. package/src/components/container.tsx +189 -0
  577. package/src/components/context.ts +32 -0
  578. package/src/components/editor/editor.tsx +234 -0
  579. package/src/components/editor/feature-action-panel.tsx +155 -0
  580. package/src/components/editor/feature-styles.ts +76 -0
  581. package/src/components/editor/handle-style.ts +89 -0
  582. package/src/components/filters/filter-panels/filter-panel-with-field-select.tsx +118 -0
  583. package/src/components/filters/filter-panels/multi-select-filter-panel.tsx +63 -0
  584. package/src/components/filters/filter-panels/new-filter-panel.tsx +100 -0
  585. package/src/components/filters/filter-panels/polygon-filter-panel.tsx +84 -0
  586. package/src/components/filters/filter-panels/range-filter-panel.tsx +63 -0
  587. package/src/components/filters/filter-panels/single-select-filter-panel.tsx +63 -0
  588. package/src/components/filters/filter-panels/time-range-filter-panel.tsx +92 -0
  589. package/src/components/filters/filter-panels/types.ts +40 -0
  590. package/src/components/filters/multi-select-filter.tsx +37 -0
  591. package/src/components/filters/polygon-filter.tsx +74 -0
  592. package/src/components/filters/range-filter.tsx +44 -0
  593. package/src/components/filters/single-select-filter.tsx +50 -0
  594. package/src/components/filters/time-range-filter.tsx +76 -0
  595. package/src/components/filters/time-widget.tsx +240 -0
  596. package/src/components/filters/types.ts +78 -0
  597. package/src/components/geocoder/geocoder.tsx +307 -0
  598. package/src/components/geocoder-panel.tsx +199 -0
  599. package/src/components/index.ts +269 -0
  600. package/src/components/injector.d.ts +33 -0
  601. package/src/components/injector.tsx +171 -0
  602. package/src/components/kepler-gl.d.ts +1 -2
  603. package/src/components/kepler-gl.tsx +585 -0
  604. package/src/components/map/coordinate-info.tsx +58 -0
  605. package/src/components/map/layer-hover-info.tsx +192 -0
  606. package/src/components/map/layer-selector-panel.tsx +122 -0
  607. package/src/components/map/locale-panel.tsx +110 -0
  608. package/src/components/map/map-control-panel.tsx +142 -0
  609. package/src/components/map/map-control-tooltip.tsx +45 -0
  610. package/src/components/map/map-control.tsx +138 -0
  611. package/src/components/map/map-draw-panel.tsx +145 -0
  612. package/src/components/map/map-legend-panel.tsx +167 -0
  613. package/src/components/map/map-legend.tsx +284 -0
  614. package/src/components/map/map-popover.tsx +268 -0
  615. package/src/components/map/split-map-button.tsx +98 -0
  616. package/src/components/map/toggle-3d-button.tsx +90 -0
  617. package/src/components/map-container.tsx +549 -0
  618. package/src/components/maps-layout.tsx +45 -0
  619. package/src/components/modal-container.tsx +555 -0
  620. package/src/components/modals/add-map-style-modal.tsx +304 -0
  621. package/src/components/modals/cloud-tile.tsx +181 -0
  622. package/src/components/modals/data-table-modal.tsx +241 -0
  623. package/src/components/modals/delete-data-modal.tsx +55 -0
  624. package/src/components/modals/error-display.tsx +43 -0
  625. package/src/components/modals/export-data-modal.tsx +201 -0
  626. package/src/components/modals/export-image-modal.tsx +155 -0
  627. package/src/components/modals/export-map-modal/export-html-map.tsx +164 -0
  628. package/src/components/modals/export-map-modal/export-json-map.tsx +112 -0
  629. package/src/components/modals/export-map-modal/export-map-modal.tsx +109 -0
  630. package/src/components/modals/image-modal-container.tsx +86 -0
  631. package/src/components/modals/load-data-modal.tsx +120 -0
  632. package/src/components/modals/load-storage-map.tsx +414 -0
  633. package/src/components/modals/loading-dialog.tsx +77 -0
  634. package/src/components/modals/modal-tabs.tsx +137 -0
  635. package/src/components/modals/overwrite-map-modal.tsx +113 -0
  636. package/src/components/modals/provider-modal-container.tsx +62 -0
  637. package/src/components/modals/save-map-modal.tsx +277 -0
  638. package/src/components/modals/share-map-modal.tsx +217 -0
  639. package/src/components/modals/status-panel.tsx +106 -0
  640. package/src/components/modals/storage-map-viewer.tsx +190 -0
  641. package/src/components/notification-panel/notification-item.tsx +143 -0
  642. package/src/components/notification-panel.tsx +75 -0
  643. package/src/components/performance.tsx +105 -0
  644. package/src/components/plot-container.tsx +243 -0
  645. package/src/components/side-panel/common/dataset-info.tsx +46 -0
  646. package/src/components/side-panel/common/dataset-tag.tsx +86 -0
  647. package/src/components/side-panel/common/dataset-title.tsx +187 -0
  648. package/src/components/side-panel/common/source-data-catalog.tsx +67 -0
  649. package/src/components/side-panel/common/source-data-selector.tsx +90 -0
  650. package/src/components/side-panel/common/types.ts +76 -0
  651. package/src/components/side-panel/filter-manager.tsx +120 -0
  652. package/src/components/side-panel/filter-panel/filter-panel-header.tsx +96 -0
  653. package/src/components/side-panel/filter-panel/filter-panel.tsx +125 -0
  654. package/src/components/side-panel/interaction-manager.tsx +59 -0
  655. package/src/components/side-panel/interaction-panel/brush-config.tsx +58 -0
  656. package/src/components/side-panel/interaction-panel/interaction-panel.tsx +124 -0
  657. package/src/components/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.tsx +243 -0
  658. package/src/components/side-panel/interaction-panel/tooltip-config.tsx +238 -0
  659. package/src/components/side-panel/layer-manager.tsx +242 -0
  660. package/src/components/side-panel/layer-panel/add-layer-button.tsx +208 -0
  661. package/src/components/side-panel/layer-panel/color-dimension-scale-selector.tsx +33 -0
  662. package/src/components/side-panel/layer-panel/color-palette.tsx +98 -0
  663. package/src/components/side-panel/layer-panel/color-range-selector.tsx +388 -0
  664. package/src/components/side-panel/layer-panel/color-selector.tsx +200 -0
  665. package/src/components/side-panel/layer-panel/column-selector.tsx +102 -0
  666. package/src/components/side-panel/layer-panel/custom-markers-config-group.tsx +30 -0
  667. package/src/components/side-panel/layer-panel/custom-palette.tsx +301 -0
  668. package/src/components/side-panel/layer-panel/custom-picker.tsx +99 -0
  669. package/src/components/side-panel/layer-panel/dataset-layer-group.tsx +99 -0
  670. package/src/components/side-panel/layer-panel/dataset-layer-section.tsx +100 -0
  671. package/src/components/side-panel/layer-panel/dataset-section.tsx +125 -0
  672. package/src/components/side-panel/layer-panel/dimension-scale-selector.tsx +64 -0
  673. package/src/components/side-panel/layer-panel/hex-column-config.tsx +53 -0
  674. package/src/components/side-panel/layer-panel/layer-column-config.tsx +115 -0
  675. package/src/components/side-panel/layer-panel/layer-config-group.tsx +259 -0
  676. package/src/components/side-panel/layer-panel/layer-configurator.tsx +1419 -0
  677. package/src/components/side-panel/layer-panel/layer-list.tsx +193 -0
  678. package/src/components/side-panel/layer-panel/layer-panel-header.tsx +273 -0
  679. package/src/components/side-panel/layer-panel/layer-panel.tsx +197 -0
  680. package/src/components/side-panel/layer-panel/layer-type-dropdown-list.tsx +118 -0
  681. package/src/components/side-panel/layer-panel/layer-type-list-item.tsx +92 -0
  682. package/src/components/side-panel/layer-panel/layer-type-selector.tsx +115 -0
  683. package/src/components/side-panel/layer-panel/layer-visibility-by-zoom.tsx +123 -0
  684. package/src/components/side-panel/layer-panel/panel-view-list-toggle.tsx +132 -0
  685. package/src/components/side-panel/layer-panel/single-color-palette.tsx +94 -0
  686. package/src/components/side-panel/layer-panel/text-label-panel.tsx +189 -0
  687. package/src/components/side-panel/layer-panel/vis-config-by-field-selector.tsx +187 -0
  688. package/src/components/side-panel/layer-panel/vis-config-slider.tsx +237 -0
  689. package/src/components/side-panel/layer-panel/vis-config-switch.tsx +86 -0
  690. package/src/components/side-panel/map-manager.tsx +123 -0
  691. package/src/components/side-panel/map-style-panel/map-layer-selector.tsx +145 -0
  692. package/src/components/side-panel/map-style-panel/map-style-selector.tsx +122 -0
  693. package/src/components/side-panel/panel-dropdown.tsx +54 -0
  694. package/src/components/side-panel/panel-header-action.tsx +114 -0
  695. package/src/components/side-panel/panel-header.tsx +386 -0
  696. package/src/components/side-panel/panel-tab.tsx +79 -0
  697. package/src/components/side-panel/panel-title.tsx +35 -0
  698. package/src/components/side-panel/panel-toggle.tsx +72 -0
  699. package/src/components/side-panel/side-bar.tsx +141 -0
  700. package/src/components/side-panel.tsx +261 -0
  701. package/src/components/types.ts +41 -0
  702. package/src/connect/keplergl-connect.ts +48 -0
  703. package/src/connect/with-local-selector.tsx +70 -0
  704. package/src/constants/action-types.ts +188 -0
  705. package/src/constants/color-ranges.ts +87 -0
  706. package/src/constants/default-settings.ts +1051 -0
  707. package/src/constants/index.ts +84 -0
  708. package/src/deckgl-layers/3d-building-layer/3d-building-layer.ts +63 -0
  709. package/src/deckgl-layers/3d-building-layer/3d-building-utils.ts +211 -0
  710. package/src/deckgl-layers/3d-building-layer/types.ts +29 -0
  711. package/src/deckgl-layers/column-layer/enhanced-column-layer.ts +63 -0
  712. package/src/deckgl-layers/grid-layer/enhanced-cpu-grid-layer.ts +70 -0
  713. package/src/deckgl-layers/hexagon-layer/enhanced-hexagon-layer.ts +70 -0
  714. package/src/deckgl-layers/layer-utils/cluster-utils.ts +78 -0
  715. package/src/deckgl-layers/layer-utils/cpu-aggregator.ts +671 -0
  716. package/src/deckgl-layers/layer-utils/shader-utils.ts +41 -0
  717. package/src/deckgl-layers/line-layer/line-layer.ts +126 -0
  718. package/src/deckgl-layers/svg-icon-layer/scatterplot-icon-layer.ts +68 -0
  719. package/src/deckgl-layers/svg-icon-layer/svg-icon-layer.ts +102 -0
  720. package/src/index.ts +54 -0
  721. package/src/layers/aggregation-layer.ts +400 -0
  722. package/src/layers/arc-layer/arc-layer-icon.tsx +67 -0
  723. package/src/layers/arc-layer/arc-layer.ts +294 -0
  724. package/src/layers/base-layer.ts +1744 -0
  725. package/src/layers/cluster-layer/cluster-layer.ts +162 -0
  726. package/src/layers/geojson-layer/geojson-layer-icon.tsx +68 -0
  727. package/src/layers/geojson-layer/geojson-layer.ts +462 -0
  728. package/src/layers/geojson-layer/geojson-utils.ts +200 -0
  729. package/src/layers/grid-layer/grid-layer-icon.tsx +53 -0
  730. package/src/layers/grid-layer/grid-layer.ts +154 -0
  731. package/src/layers/grid-layer/grid-utils.ts +84 -0
  732. package/src/layers/h3-hexagon-layer/h3-hexagon-layer.ts +340 -0
  733. package/src/layers/h3-hexagon-layer/h3-utils.ts +67 -0
  734. package/src/layers/heatmap-layer/heatmap-layer.ts +255 -0
  735. package/src/layers/hexagon-layer/hexagon-layer.ts +157 -0
  736. package/src/layers/hexagon-layer/hexagon-utils.ts +64 -0
  737. package/src/layers/icon-layer/icon-info-modal.tsx +155 -0
  738. package/src/layers/icon-layer/icon-layer.ts +396 -0
  739. package/src/layers/index.ts +81 -0
  740. package/src/layers/layer-factory.ts +707 -0
  741. package/src/layers/layer-text-label.ts +62 -0
  742. package/src/layers/layer-update.ts +70 -0
  743. package/src/layers/line-layer/line-layer.ts +223 -0
  744. package/src/layers/mapbox-utils.ts +204 -0
  745. package/src/layers/mapboxgl-layer.ts +176 -0
  746. package/src/layers/point-layer/point-layer.ts +507 -0
  747. package/src/layers/s2-geometry-layer/s2-geometry-layer.ts +369 -0
  748. package/src/layers/s2-geometry-layer/s2-utils.ts +42 -0
  749. package/src/layers/scenegraph-layer/scenegraph-layer.ts +237 -0
  750. package/src/layers/trip-layer/trip-layer.ts +356 -0
  751. package/src/layers/trip-layer/trip-utils.ts +177 -0
  752. package/src/localization/formatted-message.tsx +42 -0
  753. package/src/localization/index.ts +29 -0
  754. package/src/localization/locales.ts +53 -0
  755. package/src/localization/messages.ts +40 -0
  756. package/src/localization/translations/ca.ts +476 -0
  757. package/src/localization/translations/cn.ts +477 -0
  758. package/src/localization/translations/en.ts +504 -0
  759. package/src/localization/translations/es.ts +477 -0
  760. package/src/localization/translations/fi.ts +448 -0
  761. package/src/localization/translations/ja.ts +477 -0
  762. package/src/localization/translations/pt.ts +449 -0
  763. package/src/localization/translations/ru.ts +488 -0
  764. package/src/middleware/index.ts +35 -0
  765. package/src/processors/data-processor.ts +723 -0
  766. package/src/processors/file-handler.ts +250 -0
  767. package/src/processors/index.ts +23 -0
  768. package/src/processors/types.ts +22 -0
  769. package/src/reducers/combined-updaters.ts +215 -0
  770. package/src/reducers/composer-helpers.ts +75 -0
  771. package/src/reducers/core.ts +111 -0
  772. package/src/reducers/index.ts +116 -0
  773. package/src/reducers/map-state-updaters.ts +271 -0
  774. package/src/reducers/map-state.ts +47 -0
  775. package/src/reducers/map-style-updaters.ts +638 -0
  776. package/src/reducers/map-style.ts +53 -0
  777. package/src/reducers/provider-state-updaters.ts +454 -0
  778. package/src/reducers/provider-state.ts +53 -0
  779. package/src/reducers/root.ts +230 -0
  780. package/src/reducers/types.ts +18 -0
  781. package/src/reducers/ui-state-updaters.ts +925 -0
  782. package/src/reducers/ui-state.ts +75 -0
  783. package/src/reducers/vis-state-merger.ts +625 -0
  784. package/src/reducers/vis-state-selectors.ts +35 -0
  785. package/src/reducers/vis-state-updaters.ts +2567 -0
  786. package/src/reducers/vis-state.ts +157 -0
  787. package/src/schemas/dataset-schema.ts +141 -0
  788. package/src/schemas/index.ts +52 -0
  789. package/src/schemas/schema-manager.ts +445 -0
  790. package/src/schemas/schema.ts +122 -0
  791. package/src/schemas/vis-state-schema.ts +761 -0
  792. package/src/styles/base.ts +1642 -0
  793. package/src/styles/media-breakpoints.ts +56 -0
  794. package/src/typedefs/deckgl.d.ts +25 -0
  795. package/src/utils/aggregate-utils.ts +71 -0
  796. package/src/utils/color-utils.ts +135 -0
  797. package/src/utils/data-scale-utils.ts +73 -0
  798. package/src/utils/data-utils.ts +459 -0
  799. package/src/utils/dataset-utils.ts +261 -0
  800. package/src/utils/dom-to-image.ts +533 -0
  801. package/src/utils/dom-utils.ts +354 -0
  802. package/src/utils/export-utils.ts +265 -0
  803. package/src/utils/filter-utils.ts +1181 -0
  804. package/src/utils/gpu-filter-utils.ts +249 -0
  805. package/src/utils/index.ts +72 -0
  806. package/src/utils/interaction-utils.ts +212 -0
  807. package/src/utils/layer-utils.ts +248 -0
  808. package/src/utils/map-style-utils/mapbox-gl-style-editor.ts +227 -0
  809. package/src/utils/notifications-utils.ts +89 -0
  810. package/src/utils/observe-dimensions.ts +127 -0
  811. package/src/utils/split-map-utils.ts +104 -0
  812. package/src/utils/table-utils/data-container-interface.ts +140 -0
  813. package/src/utils/table-utils/data-container-utils.ts +90 -0
  814. package/src/utils/table-utils/data-row.ts +110 -0
  815. package/src/utils/table-utils/indexed-data-container.ts +184 -0
  816. package/src/utils/table-utils/kepler-table.ts +638 -0
  817. package/src/utils/table-utils/row-data-container.ts +178 -0
  818. package/src/utils/utils.ts +228 -0
  819. package/CHANGELOG.md +0 -979
  820. package/actions.js +0 -21
  821. package/cloud-providers.js +0 -21
  822. package/components.js +0 -21
  823. package/constants.js +0 -21
  824. package/dist/actions/action-wrapper.js +0 -190
  825. package/dist/actions/actions.js +0 -189
  826. package/dist/actions/identity-actions.js +0 -96
  827. package/dist/actions/index.js +0 -144
  828. package/dist/actions/map-state-actions.js +0 -103
  829. package/dist/actions/map-style-actions.js +0 -152
  830. package/dist/actions/provider-actions.js +0 -113
  831. package/dist/actions/ui-state-actions.js +0 -288
  832. package/dist/actions/vis-state-actions.js +0 -985
  833. package/dist/cloud-providers/index.js +0 -22
  834. package/dist/cloud-providers/provider.js +0 -347
  835. package/dist/components/bottom-widget.js +0 -214
  836. package/dist/components/common/action-panel.js +0 -135
  837. package/dist/components/common/animation-control/animation-control.js +0 -128
  838. package/dist/components/common/animation-control/animation-controller.js +0 -250
  839. package/dist/components/common/animation-control/animation-speed-slider.js +0 -91
  840. package/dist/components/common/animation-control/floating-time-display.js +0 -146
  841. package/dist/components/common/animation-control/playback-controls.js +0 -262
  842. package/dist/components/common/animation-control/speed-control.js +0 -70
  843. package/dist/components/common/checkbox.js +0 -134
  844. package/dist/components/common/color-legend.js +0 -217
  845. package/dist/components/common/data-table/button.js +0 -53
  846. package/dist/components/common/data-table/canvas.js +0 -43
  847. package/dist/components/common/data-table/cell-size.js +0 -170
  848. package/dist/components/common/data-table/grid.js +0 -83
  849. package/dist/components/common/data-table/index.js +0 -472
  850. package/dist/components/common/data-table/option-dropdown.js +0 -99
  851. package/dist/components/common/dataset-label.js +0 -44
  852. package/dist/components/common/error-boundary.js +0 -78
  853. package/dist/components/common/field-selector.js +0 -248
  854. package/dist/components/common/field-token.js +0 -47
  855. package/dist/components/common/file-uploader/file-drop.js +0 -212
  856. package/dist/components/common/file-uploader/file-upload-progress.js +0 -104
  857. package/dist/components/common/file-uploader/file-upload.js +0 -265
  858. package/dist/components/common/file-uploader/upload-button.js +0 -100
  859. package/dist/components/common/histogram-plot.js +0 -107
  860. package/dist/components/common/icons/add.js +0 -64
  861. package/dist/components/common/icons/anchor_window.js +0 -56
  862. package/dist/components/common/icons/arrow-down-alt.js +0 -64
  863. package/dist/components/common/icons/arrow-down-solid .js +0 -64
  864. package/dist/components/common/icons/arrow-down.js +0 -64
  865. package/dist/components/common/icons/arrow-left.js +0 -67
  866. package/dist/components/common/icons/arrow-right.js +0 -64
  867. package/dist/components/common/icons/arrow-up-alt.js +0 -65
  868. package/dist/components/common/icons/arrow-up-solid.js +0 -64
  869. package/dist/components/common/icons/arrow-up.js +0 -64
  870. package/dist/components/common/icons/base.js +0 -106
  871. package/dist/components/common/icons/bug.js +0 -66
  872. package/dist/components/common/icons/cancel.js +0 -64
  873. package/dist/components/common/icons/checkmark.js +0 -70
  874. package/dist/components/common/icons/chevron-right.js +0 -69
  875. package/dist/components/common/icons/clipboard.js +0 -65
  876. package/dist/components/common/icons/clock.js +0 -66
  877. package/dist/components/common/icons/close.js +0 -69
  878. package/dist/components/common/icons/code-alt.js +0 -67
  879. package/dist/components/common/icons/copy.js +0 -69
  880. package/dist/components/common/icons/crosshairs.js +0 -67
  881. package/dist/components/common/icons/cube-3d.js +0 -68
  882. package/dist/components/common/icons/cursor-click.js +0 -68
  883. package/dist/components/common/icons/data-table.js +0 -65
  884. package/dist/components/common/icons/db.js +0 -65
  885. package/dist/components/common/icons/delete.js +0 -65
  886. package/dist/components/common/icons/docs.js +0 -80
  887. package/dist/components/common/icons/drag-n-drop.js +0 -66
  888. package/dist/components/common/icons/draw-polygon.js +0 -87
  889. package/dist/components/common/icons/email.js +0 -68
  890. package/dist/components/common/icons/expand.js +0 -66
  891. package/dist/components/common/icons/eye-seen.js +0 -66
  892. package/dist/components/common/icons/eye-unseen.js +0 -66
  893. package/dist/components/common/icons/file-type.js +0 -52
  894. package/dist/components/common/icons/file.js +0 -64
  895. package/dist/components/common/icons/files.js +0 -64
  896. package/dist/components/common/icons/filter-funnel.js +0 -64
  897. package/dist/components/common/icons/free-window.js +0 -56
  898. package/dist/components/common/icons/gear.js +0 -66
  899. package/dist/components/common/icons/hash.js +0 -64
  900. package/dist/components/common/icons/histogram.js +0 -63
  901. package/dist/components/common/icons/index.js +0 -537
  902. package/dist/components/common/icons/info.js +0 -77
  903. package/dist/components/common/icons/layers.js +0 -64
  904. package/dist/components/common/icons/left-arrow.js +0 -67
  905. package/dist/components/common/icons/legend.js +0 -64
  906. package/dist/components/common/icons/line-chart.js +0 -63
  907. package/dist/components/common/icons/login.js +0 -66
  908. package/dist/components/common/icons/logout.js +0 -65
  909. package/dist/components/common/icons/map-icon.js +0 -72
  910. package/dist/components/common/icons/map.js +0 -72
  911. package/dist/components/common/icons/messages.js +0 -64
  912. package/dist/components/common/icons/minus.js +0 -64
  913. package/dist/components/common/icons/pause.js +0 -64
  914. package/dist/components/common/icons/picture.js +0 -64
  915. package/dist/components/common/icons/pin.js +0 -64
  916. package/dist/components/common/icons/play.js +0 -64
  917. package/dist/components/common/icons/polygon.js +0 -89
  918. package/dist/components/common/icons/rectangle.js +0 -90
  919. package/dist/components/common/icons/reduce.js +0 -67
  920. package/dist/components/common/icons/reset.js +0 -64
  921. package/dist/components/common/icons/rocket.js +0 -64
  922. package/dist/components/common/icons/save.js +0 -66
  923. package/dist/components/common/icons/save2.js +0 -70
  924. package/dist/components/common/icons/search.js +0 -66
  925. package/dist/components/common/icons/settings.js +0 -66
  926. package/dist/components/common/icons/share.js +0 -64
  927. package/dist/components/common/icons/split.js +0 -92
  928. package/dist/components/common/icons/square-select.js +0 -66
  929. package/dist/components/common/icons/swap-horizontal.js +0 -67
  930. package/dist/components/common/icons/table.js +0 -63
  931. package/dist/components/common/icons/trash.js +0 -66
  932. package/dist/components/common/icons/upload.js +0 -65
  933. package/dist/components/common/icons/vert-dots.js +0 -102
  934. package/dist/components/common/icons/vert-three-dots.js +0 -77
  935. package/dist/components/common/icons/warning.js +0 -78
  936. package/dist/components/common/image-preview.js +0 -80
  937. package/dist/components/common/info-helper.js +0 -85
  938. package/dist/components/common/item-selector/accessor.js +0 -54
  939. package/dist/components/common/item-selector/chickleted-input.js +0 -116
  940. package/dist/components/common/item-selector/dropdown-list.js +0 -289
  941. package/dist/components/common/item-selector/item-selector-submenu.js +0 -90
  942. package/dist/components/common/item-selector/item-selector.js +0 -315
  943. package/dist/components/common/item-selector/typeahead.js +0 -450
  944. package/dist/components/common/line-chart.js +0 -128
  945. package/dist/components/common/loading-spinner.js +0 -66
  946. package/dist/components/common/logo.js +0 -94
  947. package/dist/components/common/map-layer-selector.js +0 -57
  948. package/dist/components/common/modal.js +0 -179
  949. package/dist/components/common/portaled.js +0 -276
  950. package/dist/components/common/progress-bar.js +0 -65
  951. package/dist/components/common/range-brush.js +0 -278
  952. package/dist/components/common/range-plot.js +0 -143
  953. package/dist/components/common/range-slider.js +0 -320
  954. package/dist/components/common/slider/mouse-event.js +0 -110
  955. package/dist/components/common/slider/slider-bar-handle.js +0 -114
  956. package/dist/components/common/slider/slider-handle.js +0 -158
  957. package/dist/components/common/slider/slider.js +0 -241
  958. package/dist/components/common/styled-components.js +0 -290
  959. package/dist/components/common/switch.js +0 -53
  960. package/dist/components/common/time-range-slider-time-title.js +0 -79
  961. package/dist/components/common/time-range-slider.js +0 -134
  962. package/dist/components/common/time-slider-marker.js +0 -136
  963. package/dist/components/common/toolbar-item.js +0 -73
  964. package/dist/components/common/toolbar.js +0 -44
  965. package/dist/components/common/vertical-toolbar.js +0 -33
  966. package/dist/components/container.js +0 -196
  967. package/dist/components/context.js +0 -38
  968. package/dist/components/editor/constants.js +0 -45
  969. package/dist/components/editor/editor.js +0 -242
  970. package/dist/components/editor/feature-action-panel.js +0 -146
  971. package/dist/components/editor/feature-styles.js +0 -67
  972. package/dist/components/editor/handle-style.js +0 -78
  973. package/dist/components/filters/components.js +0 -31
  974. package/dist/components/filters/filter-panels/filter-panel-with-field-select.js +0 -99
  975. package/dist/components/filters/filter-panels/multi-select-filter-panel.js +0 -73
  976. package/dist/components/filters/filter-panels/new-filter-panel.js +0 -91
  977. package/dist/components/filters/filter-panels/polygon-filter-panel.js +0 -90
  978. package/dist/components/filters/filter-panels/range-filter-panel.js +0 -73
  979. package/dist/components/filters/filter-panels/single-select-filter-panel.js +0 -73
  980. package/dist/components/filters/filter-panels/time-range-filter-panel.js +0 -83
  981. package/dist/components/filters/index.js +0 -42
  982. package/dist/components/filters/multi-select-filter.js +0 -48
  983. package/dist/components/filters/polygon-filter.js +0 -86
  984. package/dist/components/filters/range-filter.js +0 -48
  985. package/dist/components/filters/single-select-filter.js +0 -57
  986. package/dist/components/filters/time-range-filter.js +0 -75
  987. package/dist/components/filters/time-widget.js +0 -163
  988. package/dist/components/geocoder/geocoder.js +0 -282
  989. package/dist/components/geocoder-panel.js +0 -199
  990. package/dist/components/index.js +0 -1343
  991. package/dist/components/injector.js +0 -162
  992. package/dist/components/kepler-gl.js +0 -470
  993. package/dist/components/map/coordinate-info.js +0 -59
  994. package/dist/components/map/layer-hover-info.js +0 -168
  995. package/dist/components/map/layer-selector-panel.js +0 -103
  996. package/dist/components/map/locale-panel.js +0 -99
  997. package/dist/components/map/map-control-panel.js +0 -82
  998. package/dist/components/map/map-control-toolbar.js +0 -35
  999. package/dist/components/map/map-control-tooltip.js +0 -48
  1000. package/dist/components/map/map-control.js +0 -79
  1001. package/dist/components/map/map-draw-panel.js +0 -125
  1002. package/dist/components/map/map-legend-panel.js +0 -107
  1003. package/dist/components/map/map-legend.js +0 -226
  1004. package/dist/components/map/map-popover.js +0 -188
  1005. package/dist/components/map/split-map-button.js +0 -86
  1006. package/dist/components/map/toggle-3d-button.js +0 -75
  1007. package/dist/components/map-container.js +0 -515
  1008. package/dist/components/maps-layout.js +0 -56
  1009. package/dist/components/modal-container.js +0 -484
  1010. package/dist/components/modals/add-map-style-modal.js +0 -258
  1011. package/dist/components/modals/cloud-tile.js +0 -124
  1012. package/dist/components/modals/data-table-modal.js +0 -219
  1013. package/dist/components/modals/delete-data-modal.js +0 -58
  1014. package/dist/components/modals/error-display.js +0 -44
  1015. package/dist/components/modals/export-data-modal.js +0 -210
  1016. package/dist/components/modals/export-image-modal.js +0 -139
  1017. package/dist/components/modals/export-map-modal/components.js +0 -51
  1018. package/dist/components/modals/export-map-modal/export-html-map.js +0 -141
  1019. package/dist/components/modals/export-map-modal/export-json-map.js +0 -87
  1020. package/dist/components/modals/export-map-modal/export-map-modal.js +0 -113
  1021. package/dist/components/modals/image-modal-container.js +0 -83
  1022. package/dist/components/modals/load-data-modal.js +0 -93
  1023. package/dist/components/modals/load-storage-map.js +0 -253
  1024. package/dist/components/modals/loading-dialog.js +0 -54
  1025. package/dist/components/modals/modal-dialog.js +0 -33
  1026. package/dist/components/modals/modal-tabs.js +0 -99
  1027. package/dist/components/modals/overwrite-map-modal.js +0 -81
  1028. package/dist/components/modals/provider-modal-container.js +0 -84
  1029. package/dist/components/modals/save-map-modal.js +0 -202
  1030. package/dist/components/modals/share-map-modal.js +0 -191
  1031. package/dist/components/modals/status-panel.js +0 -82
  1032. package/dist/components/modals/storage-map-viewer.js +0 -122
  1033. package/dist/components/notification-panel/notification-item.js +0 -150
  1034. package/dist/components/notification-panel.js +0 -81
  1035. package/dist/components/performance.js +0 -109
  1036. package/dist/components/plot-container.js +0 -245
  1037. package/dist/components/side-panel/cloud-storage-dropdown.js +0 -57
  1038. package/dist/components/side-panel/common/dataset-info.js +0 -50
  1039. package/dist/components/side-panel/common/dataset-tag.js +0 -51
  1040. package/dist/components/side-panel/common/dataset-title.js +0 -155
  1041. package/dist/components/side-panel/common/source-data-catalog.js +0 -64
  1042. package/dist/components/side-panel/common/source-data-selector.js +0 -114
  1043. package/dist/components/side-panel/custom-panel.js +0 -56
  1044. package/dist/components/side-panel/filter-manager.js +0 -121
  1045. package/dist/components/side-panel/filter-panel/filter-panel-header.js +0 -70
  1046. package/dist/components/side-panel/filter-panel/filter-panel.js +0 -126
  1047. package/dist/components/side-panel/interaction-manager.js +0 -51
  1048. package/dist/components/side-panel/interaction-panel/brush-config.js +0 -58
  1049. package/dist/components/side-panel/interaction-panel/interaction-panel.js +0 -145
  1050. package/dist/components/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +0 -210
  1051. package/dist/components/side-panel/interaction-panel/tooltip-config.js +0 -151
  1052. package/dist/components/side-panel/layer-manager.js +0 -290
  1053. package/dist/components/side-panel/layer-panel/color-dimension-scale-selector.js +0 -38
  1054. package/dist/components/side-panel/layer-panel/color-palette.js +0 -87
  1055. package/dist/components/side-panel/layer-panel/color-range-selector.js +0 -366
  1056. package/dist/components/side-panel/layer-panel/color-selector.js +0 -198
  1057. package/dist/components/side-panel/layer-panel/column-selector.js +0 -66
  1058. package/dist/components/side-panel/layer-panel/custom-markers-config-group.js +0 -36
  1059. package/dist/components/side-panel/layer-panel/custom-palette.js +0 -284
  1060. package/dist/components/side-panel/layer-panel/custom-picker.js +0 -115
  1061. package/dist/components/side-panel/layer-panel/dimension-scale-selector.js +0 -53
  1062. package/dist/components/side-panel/layer-panel/hex-column-config.js +0 -75
  1063. package/dist/components/side-panel/layer-panel/layer-aggregation-resolution.js +0 -18
  1064. package/dist/components/side-panel/layer-panel/layer-column-config.js +0 -97
  1065. package/dist/components/side-panel/layer-panel/layer-config-group.js +0 -211
  1066. package/dist/components/side-panel/layer-panel/layer-configurator.js +0 -970
  1067. package/dist/components/side-panel/layer-panel/layer-panel-header.js +0 -208
  1068. package/dist/components/side-panel/layer-panel/layer-panel.js +0 -180
  1069. package/dist/components/side-panel/layer-panel/layer-type-dropdown-list.js +0 -95
  1070. package/dist/components/side-panel/layer-panel/layer-type-list-item.js +0 -75
  1071. package/dist/components/side-panel/layer-panel/layer-type-selector.js +0 -93
  1072. package/dist/components/side-panel/layer-panel/layer-visibility-by-zoom.js +0 -106
  1073. package/dist/components/side-panel/layer-panel/single-color-palette.js +0 -99
  1074. package/dist/components/side-panel/layer-panel/text-label-panel.js +0 -164
  1075. package/dist/components/side-panel/layer-panel/vis-config-by-field-selector.js +0 -161
  1076. package/dist/components/side-panel/layer-panel/vis-config-slider.js +0 -81
  1077. package/dist/components/side-panel/layer-panel/vis-config-switch.js +0 -83
  1078. package/dist/components/side-panel/map-manager.js +0 -141
  1079. package/dist/components/side-panel/map-style-panel/map-layer-selector.js +0 -103
  1080. package/dist/components/side-panel/map-style-panel/map-style-selector.js +0 -80
  1081. package/dist/components/side-panel/panel-dropdown.js +0 -79
  1082. package/dist/components/side-panel/panel-header-action.js +0 -116
  1083. package/dist/components/side-panel/panel-header.js +0 -313
  1084. package/dist/components/side-panel/panel-tab.js +0 -72
  1085. package/dist/components/side-panel/panel-title.js +0 -39
  1086. package/dist/components/side-panel/panel-toggle.js +0 -72
  1087. package/dist/components/side-panel/side-bar.js +0 -148
  1088. package/dist/components/side-panel.js +0 -233
  1089. package/dist/connect/keplergl-connect.js +0 -59
  1090. package/dist/connect/with-local-selector.js +0 -105
  1091. package/dist/constants/action-types.js +0 -179
  1092. package/dist/constants/color-palette.js +0 -536
  1093. package/dist/constants/color-ranges.js +0 -81
  1094. package/dist/constants/custom-color-ranges.js +0 -410
  1095. package/dist/constants/default-settings.js +0 -820
  1096. package/dist/constants/index.js +0 -362
  1097. package/dist/constants/keyevent.js +0 -43
  1098. package/dist/constants/tooltip.js +0 -202
  1099. package/dist/constants/user-feedbacks.js +0 -32
  1100. package/dist/constants/user-guides.js +0 -36
  1101. package/dist/deckgl-layers/3d-building-layer/3d-building-layer.js +0 -85
  1102. package/dist/deckgl-layers/3d-building-layer/3d-building-utils.js +0 -181
  1103. package/dist/deckgl-layers/cluster-layer/cluster-layer.js +0 -313
  1104. package/dist/deckgl-layers/column-layer/enhanced-column-layer.js +0 -75
  1105. package/dist/deckgl-layers/grid-layer/enhanced-cpu-grid-layer.js +0 -95
  1106. package/dist/deckgl-layers/hexagon-layer/enhanced-hexagon-layer.js +0 -95
  1107. package/dist/deckgl-layers/layer-utils/cluster-utils.js +0 -108
  1108. package/dist/deckgl-layers/layer-utils/cpu-aggregator.js +0 -586
  1109. package/dist/deckgl-layers/layer-utils/shader-utils.js +0 -46
  1110. package/dist/deckgl-layers/line-layer/line-layer.js +0 -104
  1111. package/dist/deckgl-layers/svg-icon-layer/scatterplot-icon-layer.js +0 -74
  1112. package/dist/deckgl-layers/svg-icon-layer/svg-icon-layer.js +0 -114
  1113. package/dist/index.js +0 -136
  1114. package/dist/layers/aggregation-layer.js +0 -382
  1115. package/dist/layers/arc-layer/arc-layer-icon.js +0 -77
  1116. package/dist/layers/arc-layer/arc-layer.js +0 -250
  1117. package/dist/layers/base-layer.js +0 -1687
  1118. package/dist/layers/cluster-layer/cluster-layer-icon.js +0 -80
  1119. package/dist/layers/cluster-layer/cluster-layer.js +0 -140
  1120. package/dist/layers/default-layer-icon.js +0 -87
  1121. package/dist/layers/geojson-layer/geojson-layer-icon.js +0 -91
  1122. package/dist/layers/geojson-layer/geojson-layer.js +0 -413
  1123. package/dist/layers/geojson-layer/geojson-utils.js +0 -171
  1124. package/dist/layers/grid-layer/grid-layer-icon.js +0 -136
  1125. package/dist/layers/grid-layer/grid-layer.js +0 -104
  1126. package/dist/layers/grid-layer/grid-utils.js +0 -59
  1127. package/dist/layers/h3-hexagon-layer/h3-hexagon-layer-icon.js +0 -71
  1128. package/dist/layers/h3-hexagon-layer/h3-hexagon-layer.js +0 -314
  1129. package/dist/layers/h3-hexagon-layer/h3-utils.js +0 -86
  1130. package/dist/layers/heatmap-layer/heatmap-layer-icon.js +0 -88
  1131. package/dist/layers/heatmap-layer/heatmap-layer.js +0 -242
  1132. package/dist/layers/hexagon-layer/hexagon-layer-icon.js +0 -100
  1133. package/dist/layers/hexagon-layer/hexagon-layer.js +0 -108
  1134. package/dist/layers/hexagon-layer/hexagon-utils.js +0 -62
  1135. package/dist/layers/icon-layer/icon-info-modal.js +0 -114
  1136. package/dist/layers/icon-layer/icon-layer-icon.js +0 -73
  1137. package/dist/layers/icon-layer/icon-layer.js +0 -354
  1138. package/dist/layers/index.js +0 -96
  1139. package/dist/layers/layer-factory.js +0 -502
  1140. package/dist/layers/layer-text-label.js +0 -62
  1141. package/dist/layers/layer-update.js +0 -74
  1142. package/dist/layers/line-layer/line-layer-icon.js +0 -79
  1143. package/dist/layers/line-layer/line-layer.js +0 -189
  1144. package/dist/layers/mapbox-utils.js +0 -191
  1145. package/dist/layers/mapboxgl-layer.js +0 -195
  1146. package/dist/layers/point-layer/point-layer-icon.js +0 -94
  1147. package/dist/layers/point-layer/point-layer.js +0 -443
  1148. package/dist/layers/s2-geometry-layer/s2-geometry-layer.js +0 -302
  1149. package/dist/layers/s2-geometry-layer/s2-layer-icon.js +0 -70
  1150. package/dist/layers/s2-geometry-layer/s2-utils.js +0 -45
  1151. package/dist/layers/scenegraph-layer/scenegraph-info-modal.js +0 -54
  1152. package/dist/layers/scenegraph-layer/scenegraph-layer-icon.js +0 -151
  1153. package/dist/layers/scenegraph-layer/scenegraph-layer.js +0 -227
  1154. package/dist/layers/trip-layer/trip-info-modal.js +0 -59
  1155. package/dist/layers/trip-layer/trip-layer-icon.js +0 -89
  1156. package/dist/layers/trip-layer/trip-layer.js +0 -361
  1157. package/dist/layers/trip-layer/trip-utils.js +0 -181
  1158. package/dist/layers/types.js +0 -44
  1159. package/dist/localization/en.js +0 -494
  1160. package/dist/localization/formatted-message.js +0 -40
  1161. package/dist/localization/index.js +0 -54
  1162. package/dist/localization/locales.js +0 -59
  1163. package/dist/middleware/index.js +0 -44
  1164. package/dist/processors/data-processor.js +0 -720
  1165. package/dist/processors/file-handler.js +0 -356
  1166. package/dist/processors/index.js +0 -104
  1167. package/dist/reducers/combined-updaters.js +0 -184
  1168. package/dist/reducers/composer-helpers.js +0 -111
  1169. package/dist/reducers/composers.js +0 -40
  1170. package/dist/reducers/core.js +0 -123
  1171. package/dist/reducers/index.js +0 -125
  1172. package/dist/reducers/map-state-updaters.js +0 -227
  1173. package/dist/reducers/map-state.js +0 -52
  1174. package/dist/reducers/map-style-updaters.js +0 -487
  1175. package/dist/reducers/map-style.js +0 -51
  1176. package/dist/reducers/provider-state-updaters.js +0 -466
  1177. package/dist/reducers/provider-state.js +0 -53
  1178. package/dist/reducers/root.js +0 -212
  1179. package/dist/reducers/ui-state-updaters.js +0 -755
  1180. package/dist/reducers/ui-state.js +0 -53
  1181. package/dist/reducers/vis-state-merger.js +0 -565
  1182. package/dist/reducers/vis-state-selectors.js +0 -47
  1183. package/dist/reducers/vis-state-updaters.js +0 -2156
  1184. package/dist/reducers/vis-state.js +0 -53
  1185. package/dist/schemas/dataset-schema.js +0 -169
  1186. package/dist/schemas/index.js +0 -125
  1187. package/dist/schemas/map-state-schema.js +0 -53
  1188. package/dist/schemas/map-style-schema.js +0 -108
  1189. package/dist/schemas/schema-manager.js +0 -244
  1190. package/dist/schemas/schema-utils.js +0 -58
  1191. package/dist/schemas/schema.js +0 -119
  1192. package/dist/schemas/versions.js +0 -34
  1193. package/dist/schemas/vis-state-schema.js +0 -906
  1194. package/dist/styles/base.js +0 -1297
  1195. package/dist/styles/index.js +0 -28
  1196. package/dist/styles/media-breakpoints.js +0 -51
  1197. package/dist/tasks/tasks.js +0 -94
  1198. package/dist/templates/export-map-html.js +0 -42
  1199. package/dist/utils/aggregate-utils.js +0 -71
  1200. package/dist/utils/color-utils.js +0 -129
  1201. package/dist/utils/custom-scales.js +0 -22
  1202. package/dist/utils/data-scale-utils.js +0 -75
  1203. package/dist/utils/data-utils.js +0 -462
  1204. package/dist/utils/dataset-utils.js +0 -237
  1205. package/dist/utils/dom-to-image.js +0 -479
  1206. package/dist/utils/dom-utils.js +0 -343
  1207. package/dist/utils/export-utils.js +0 -260
  1208. package/dist/utils/filter-utils.js +0 -1136
  1209. package/dist/utils/gl-utils.js +0 -43
  1210. package/dist/utils/gpu-filter-utils.js +0 -248
  1211. package/dist/utils/index.js +0 -220
  1212. package/dist/utils/interaction-utils.js +0 -177
  1213. package/dist/utils/layer-utils.js +0 -201
  1214. package/dist/utils/locale-utils.js +0 -56
  1215. package/dist/utils/map-info-utils.js +0 -31
  1216. package/dist/utils/map-style-utils/mapbox-gl-style-editor.js +0 -213
  1217. package/dist/utils/map-style-utils/mapbox-utils.js +0 -33
  1218. package/dist/utils/mapbox-utils.js +0 -36
  1219. package/dist/utils/notifications-utils.js +0 -90
  1220. package/dist/utils/observe-dimensions.js +0 -142
  1221. package/dist/utils/projection-utils.js +0 -72
  1222. package/dist/utils/searcher-utils.js +0 -42
  1223. package/dist/utils/split-map-utils.js +0 -112
  1224. package/dist/utils/table-utils/data-container-utils.js +0 -73
  1225. package/dist/utils/table-utils/data-row.js +0 -71
  1226. package/dist/utils/table-utils/index.js +0 -19
  1227. package/dist/utils/table-utils/indexed-data-container.js +0 -222
  1228. package/dist/utils/table-utils/kepler-table.js +0 -520
  1229. package/dist/utils/table-utils/row-data-container.js +0 -217
  1230. package/dist/utils/utils.js +0 -216
  1231. package/layers.js +0 -21
  1232. package/localization.js +0 -21
  1233. package/middleware.js +0 -21
  1234. package/processors.js +0 -21
  1235. package/reducers.js +0 -21
  1236. package/schemas.js +0 -21
  1237. package/src/actions/action-wrapper.js +0 -183
  1238. package/src/actions/actions.d.ts +0 -104
  1239. package/src/actions/actions.js +0 -178
  1240. package/src/actions/identity-actions.d.ts +0 -53
  1241. package/src/actions/identity-actions.js +0 -83
  1242. package/src/actions/index.d.ts +0 -23
  1243. package/src/actions/map-state-actions.d.ts +0 -46
  1244. package/src/actions/map-state-actions.js +0 -90
  1245. package/src/actions/map-style-actions.d.ts +0 -116
  1246. package/src/actions/map-style-actions.js +0 -135
  1247. package/src/actions/provider-actions.d.ts +0 -203
  1248. package/src/actions/provider-actions.js +0 -94
  1249. package/src/actions/ui-state-actions.d.ts +0 -200
  1250. package/src/actions/ui-state-actions.js +0 -272
  1251. package/src/actions/vis-state-actions.d.ts +0 -502
  1252. package/src/actions/vis-state-actions.js +0 -919
  1253. package/src/cloud-providers/index.d.ts +0 -53
  1254. package/src/cloud-providers/index.js +0 -21
  1255. package/src/cloud-providers/provider.js +0 -233
  1256. package/src/components/bottom-widget.d.ts +0 -33
  1257. package/src/components/bottom-widget.js +0 -235
  1258. package/src/components/common/action-panel.d.ts +0 -24
  1259. package/src/components/common/action-panel.js +0 -177
  1260. package/src/components/common/animation-control/animation-control.js +0 -155
  1261. package/src/components/common/animation-control/animation-controller.js +0 -224
  1262. package/src/components/common/animation-control/animation-speed-slider.js +0 -79
  1263. package/src/components/common/animation-control/floating-time-display.js +0 -192
  1264. package/src/components/common/animation-control/playback-controls.js +0 -278
  1265. package/src/components/common/animation-control/speed-control.js +0 -71
  1266. package/src/components/common/checkbox.js +0 -128
  1267. package/src/components/common/color-legend.js +0 -198
  1268. package/src/components/common/data-table/button.js +0 -47
  1269. package/src/components/common/data-table/cell-size.js +0 -180
  1270. package/src/components/common/data-table/grid.js +0 -55
  1271. package/src/components/common/data-table/index.js +0 -620
  1272. package/src/components/common/data-table/option-dropdown.js +0 -110
  1273. package/src/components/common/dataset-label.js +0 -40
  1274. package/src/components/common/error-boundary.js +0 -43
  1275. package/src/components/common/field-selector.js +0 -233
  1276. package/src/components/common/field-token.js +0 -56
  1277. package/src/components/common/file-uploader/file-drop.d.ts +0 -19
  1278. package/src/components/common/file-uploader/file-drop.js +0 -196
  1279. package/src/components/common/file-uploader/file-upload-progress.d.ts +0 -11
  1280. package/src/components/common/file-uploader/file-upload-progress.js +0 -110
  1281. package/src/components/common/file-uploader/file-upload.d.ts +0 -22
  1282. package/src/components/common/file-uploader/file-upload.js +0 -301
  1283. package/src/components/common/file-uploader/upload-button.d.ts.wip +0 -11
  1284. package/src/components/common/file-uploader/upload-button.js +0 -83
  1285. package/src/components/common/histogram-plot.js +0 -102
  1286. package/src/components/common/icons/add.js +0 -43
  1287. package/src/components/common/icons/anchor_window.js +0 -53
  1288. package/src/components/common/icons/arrow-down-alt.js +0 -43
  1289. package/src/components/common/icons/arrow-down-solid .js +0 -43
  1290. package/src/components/common/icons/arrow-down.js +0 -46
  1291. package/src/components/common/icons/arrow-left.js +0 -48
  1292. package/src/components/common/icons/arrow-right.js +0 -46
  1293. package/src/components/common/icons/arrow-up-alt.js +0 -46
  1294. package/src/components/common/icons/arrow-up-solid.js +0 -43
  1295. package/src/components/common/icons/arrow-up.js +0 -46
  1296. package/src/components/common/icons/base.js +0 -90
  1297. package/src/components/common/icons/bug.js +0 -46
  1298. package/src/components/common/icons/cancel.js +0 -43
  1299. package/src/components/common/icons/checkmark.js +0 -45
  1300. package/src/components/common/icons/clipboard.js +0 -46
  1301. package/src/components/common/icons/clock.js +0 -44
  1302. package/src/components/common/icons/close.js +0 -49
  1303. package/src/components/common/icons/code-alt.js +0 -43
  1304. package/src/components/common/icons/copy.js +0 -44
  1305. package/src/components/common/icons/crosshairs.js +0 -43
  1306. package/src/components/common/icons/cube-3d.js +0 -45
  1307. package/src/components/common/icons/cursor-click.js +0 -49
  1308. package/src/components/common/icons/data-table.js +0 -45
  1309. package/src/components/common/icons/db.js +0 -45
  1310. package/src/components/common/icons/delete.js +0 -44
  1311. package/src/components/common/icons/docs.js +0 -46
  1312. package/src/components/common/icons/drag-n-drop.js +0 -44
  1313. package/src/components/common/icons/draw-polygon.js +0 -60
  1314. package/src/components/common/icons/email.js +0 -45
  1315. package/src/components/common/icons/expand.js +0 -45
  1316. package/src/components/common/icons/eye-seen.js +0 -44
  1317. package/src/components/common/icons/eye-unseen.js +0 -44
  1318. package/src/components/common/icons/file-type.js +0 -57
  1319. package/src/components/common/icons/file.js +0 -43
  1320. package/src/components/common/icons/files.js +0 -42
  1321. package/src/components/common/icons/filter-funnel.js +0 -43
  1322. package/src/components/common/icons/free-window.js +0 -53
  1323. package/src/components/common/icons/gear.js +0 -45
  1324. package/src/components/common/icons/hash.js +0 -43
  1325. package/src/components/common/icons/histogram.js +0 -47
  1326. package/src/components/common/icons/index.js +0 -96
  1327. package/src/components/common/icons/info.js +0 -54
  1328. package/src/components/common/icons/layers.js +0 -43
  1329. package/src/components/common/icons/left-arrow.js +0 -43
  1330. package/src/components/common/icons/legend.js +0 -43
  1331. package/src/components/common/icons/line-chart.js +0 -45
  1332. package/src/components/common/icons/login.js +0 -46
  1333. package/src/components/common/icons/logout.js +0 -43
  1334. package/src/components/common/icons/map-icon.js +0 -69
  1335. package/src/components/common/icons/map.js +0 -69
  1336. package/src/components/common/icons/messages.js +0 -43
  1337. package/src/components/common/icons/minus.js +0 -45
  1338. package/src/components/common/icons/pause.js +0 -43
  1339. package/src/components/common/icons/picture.js +0 -43
  1340. package/src/components/common/icons/pin.js +0 -43
  1341. package/src/components/common/icons/play.js +0 -43
  1342. package/src/components/common/icons/polygon.js +0 -74
  1343. package/src/components/common/icons/rectangle.js +0 -75
  1344. package/src/components/common/icons/reduce.js +0 -48
  1345. package/src/components/common/icons/reset.js +0 -43
  1346. package/src/components/common/icons/rocket.js +0 -43
  1347. package/src/components/common/icons/save.js +0 -44
  1348. package/src/components/common/icons/save2.js +0 -47
  1349. package/src/components/common/icons/search.js +0 -44
  1350. package/src/components/common/icons/settings.js +0 -45
  1351. package/src/components/common/icons/share.js +0 -43
  1352. package/src/components/common/icons/split.js +0 -63
  1353. package/src/components/common/icons/square-select.js +0 -44
  1354. package/src/components/common/icons/table.js +0 -46
  1355. package/src/components/common/icons/trash.js +0 -51
  1356. package/src/components/common/icons/upload.js +0 -44
  1357. package/src/components/common/icons/vert-dots.js +0 -50
  1358. package/src/components/common/icons/vert-three-dots.js +0 -45
  1359. package/src/components/common/icons/warning.js +0 -46
  1360. package/src/components/common/image-preview.js +0 -111
  1361. package/src/components/common/info-helper.js +0 -84
  1362. package/src/components/common/item-selector/accessor.js +0 -45
  1363. package/src/components/common/item-selector/chickleted-input.js +0 -143
  1364. package/src/components/common/item-selector/dropdown-list.js +0 -258
  1365. package/src/components/common/item-selector/item-selector.js +0 -360
  1366. package/src/components/common/item-selector/typeahead.js +0 -507
  1367. package/src/components/common/line-chart.js +0 -134
  1368. package/src/components/common/loading-spinner.js +0 -64
  1369. package/src/components/common/logo.js +0 -92
  1370. package/src/components/common/map-layer-selector.d.ts +0 -10
  1371. package/src/components/common/map-layer-selector.js +0 -54
  1372. package/src/components/common/modal.js +0 -233
  1373. package/src/components/common/portaled.js +0 -264
  1374. package/src/components/common/progress-bar.d.ts +0 -13
  1375. package/src/components/common/progress-bar.js +0 -49
  1376. package/src/components/common/range-brush.js +0 -256
  1377. package/src/components/common/range-plot.js +0 -139
  1378. package/src/components/common/range-slider.js +0 -299
  1379. package/src/components/common/slider/mouse-event.js +0 -97
  1380. package/src/components/common/slider/slider-bar-handle.js +0 -97
  1381. package/src/components/common/slider/slider-handle.js +0 -181
  1382. package/src/components/common/slider/slider.js +0 -213
  1383. package/src/components/common/styled-components.js +0 -657
  1384. package/src/components/common/switch.js +0 -50
  1385. package/src/components/common/time-range-slider-time-title.js +0 -76
  1386. package/src/components/common/time-range-slider.js +0 -163
  1387. package/src/components/common/time-slider-marker.js +0 -168
  1388. package/src/components/common/toolbar-item.d.ts +0 -14
  1389. package/src/components/common/toolbar-item.js +0 -83
  1390. package/src/components/common/toolbar.js +0 -45
  1391. package/src/components/common/vertical-toolbar.js +0 -35
  1392. package/src/components/container.js +0 -173
  1393. package/src/components/context.d.ts +0 -10
  1394. package/src/components/context.js +0 -32
  1395. package/src/components/editor/editor.js +0 -218
  1396. package/src/components/editor/feature-action-panel.js +0 -143
  1397. package/src/components/editor/feature-styles.js +0 -75
  1398. package/src/components/editor/handle-style.js +0 -89
  1399. package/src/components/filters/filter-panels/filter-panel-types.d.ts +0 -28
  1400. package/src/components/filters/filter-panels/filter-panel-with-field-select.js +0 -124
  1401. package/src/components/filters/filter-panels/multi-select-filter-panel.js +0 -75
  1402. package/src/components/filters/filter-panels/new-filter-panel.js +0 -99
  1403. package/src/components/filters/filter-panels/polygon-filter-panel.js +0 -96
  1404. package/src/components/filters/filter-panels/range-filter-panel.js +0 -75
  1405. package/src/components/filters/filter-panels/single-select-filter-panel.js +0 -75
  1406. package/src/components/filters/filter-panels/time-range-filter-panel.js +0 -95
  1407. package/src/components/filters/multi-select-filter.js +0 -36
  1408. package/src/components/filters/polygon-filter.d.ts +0 -13
  1409. package/src/components/filters/polygon-filter.js +0 -73
  1410. package/src/components/filters/range-filter.js +0 -43
  1411. package/src/components/filters/single-select-filter.js +0 -49
  1412. package/src/components/filters/time-range-filter.js +0 -68
  1413. package/src/components/filters/time-widget.js +0 -228
  1414. package/src/components/geocoder/geocoder.d.ts +0 -33
  1415. package/src/components/geocoder/geocoder.js +0 -272
  1416. package/src/components/geocoder-panel.js +0 -191
  1417. package/src/components/index.js +0 -247
  1418. package/src/components/injector.js +0 -161
  1419. package/src/components/kepler-gl.js +0 -518
  1420. package/src/components/map/coordinate-info.js +0 -53
  1421. package/src/components/map/layer-hover-info.d.ts +0 -12
  1422. package/src/components/map/layer-hover-info.js +0 -185
  1423. package/src/components/map/layer-selector-panel.d.ts +0 -16
  1424. package/src/components/map/layer-selector-panel.js +0 -106
  1425. package/src/components/map/locale-panel.d.ts +0 -12
  1426. package/src/components/map/locale-panel.js +0 -91
  1427. package/src/components/map/map-control-panel.d.ts +0 -11
  1428. package/src/components/map/map-control-panel.js +0 -98
  1429. package/src/components/map/map-control-tooltip.d.ts +0 -8
  1430. package/src/components/map/map-control-tooltip.js +0 -40
  1431. package/src/components/map/map-control.d.ts +0 -37
  1432. package/src/components/map/map-control.js +0 -100
  1433. package/src/components/map/map-draw-panel.d.ts +0 -16
  1434. package/src/components/map/map-draw-panel.js +0 -125
  1435. package/src/components/map/map-legend-panel.d.ts +0 -20
  1436. package/src/components/map/map-legend-panel.js +0 -100
  1437. package/src/components/map/map-legend.d.ts +0 -58
  1438. package/src/components/map/map-legend.js +0 -228
  1439. package/src/components/map/map-popover.d.ts +0 -28
  1440. package/src/components/map/map-popover.js +0 -250
  1441. package/src/components/map/split-map-button.d.ts +0 -19
  1442. package/src/components/map/split-map-button.js +0 -82
  1443. package/src/components/map/toggle-3d-button.d.ts +0 -16
  1444. package/src/components/map/toggle-3d-button.js +0 -75
  1445. package/src/components/map-container.d.ts +0 -18
  1446. package/src/components/map-container.js +0 -499
  1447. package/src/components/maps-layout.d.ts +0 -5
  1448. package/src/components/maps-layout.js +0 -40
  1449. package/src/components/modal-container.d.ts +0 -37
  1450. package/src/components/modal-container.js +0 -543
  1451. package/src/components/modals/add-map-style-modal.js +0 -298
  1452. package/src/components/modals/cloud-tile.js +0 -147
  1453. package/src/components/modals/data-table-modal.js +0 -217
  1454. package/src/components/modals/delete-data-modal.js +0 -48
  1455. package/src/components/modals/error-display.js +0 -39
  1456. package/src/components/modals/export-data-modal.js +0 -193
  1457. package/src/components/modals/export-image-modal.d.ts +0 -21
  1458. package/src/components/modals/export-image-modal.js +0 -144
  1459. package/src/components/modals/export-map-modal/export-html-map.d.ts +0 -21
  1460. package/src/components/modals/export-map-modal/export-html-map.js +0 -145
  1461. package/src/components/modals/export-map-modal/export-json-map.js +0 -100
  1462. package/src/components/modals/export-map-modal/export-map-modal.js +0 -114
  1463. package/src/components/modals/image-modal-container.d.ts +0 -13
  1464. package/src/components/modals/image-modal-container.js +0 -76
  1465. package/src/components/modals/load-data-modal.d.ts +0 -30
  1466. package/src/components/modals/load-data-modal.js +0 -94
  1467. package/src/components/modals/load-storage-map.js +0 -381
  1468. package/src/components/modals/loading-dialog.js +0 -69
  1469. package/src/components/modals/modal-tabs.js +0 -126
  1470. package/src/components/modals/overwrite-map-modal.d.ts +0 -18
  1471. package/src/components/modals/overwrite-map-modal.js +0 -97
  1472. package/src/components/modals/provider-modal-container.d.ts +0 -12
  1473. package/src/components/modals/provider-modal-container.js +0 -60
  1474. package/src/components/modals/save-map-modal.d.ts +0 -32
  1475. package/src/components/modals/save-map-modal.js +0 -244
  1476. package/src/components/modals/share-map-modal.js +0 -208
  1477. package/src/components/modals/status-panel.js +0 -95
  1478. package/src/components/modals/storage-map-viewer.js +0 -177
  1479. package/src/components/notification-panel/notification-item.js +0 -132
  1480. package/src/components/notification-panel.js +0 -72
  1481. package/src/components/performance.js +0 -103
  1482. package/src/components/plot-container.js +0 -228
  1483. package/src/components/side-panel/common/dataset-info.js +0 -45
  1484. package/src/components/side-panel/common/dataset-tag.js +0 -55
  1485. package/src/components/side-panel/common/dataset-title.js +0 -146
  1486. package/src/components/side-panel/common/source-data-catalog.js +0 -61
  1487. package/src/components/side-panel/common/source-data-selector.js +0 -79
  1488. package/src/components/side-panel/filter-manager.js +0 -105
  1489. package/src/components/side-panel/filter-panel/filter-panel-header.js +0 -83
  1490. package/src/components/side-panel/filter-panel/filter-panel.js +0 -126
  1491. package/src/components/side-panel/interaction-manager.js +0 -46
  1492. package/src/components/side-panel/interaction-panel/brush-config.js +0 -51
  1493. package/src/components/side-panel/interaction-panel/interaction-panel.js +0 -115
  1494. package/src/components/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +0 -199
  1495. package/src/components/side-panel/interaction-panel/tooltip-config.js +0 -190
  1496. package/src/components/side-panel/layer-manager.js +0 -290
  1497. package/src/components/side-panel/layer-panel/color-dimension-scale-selector.js +0 -33
  1498. package/src/components/side-panel/layer-panel/color-palette.js +0 -90
  1499. package/src/components/side-panel/layer-panel/color-range-selector.js +0 -359
  1500. package/src/components/side-panel/layer-panel/color-selector.js +0 -196
  1501. package/src/components/side-panel/layer-panel/column-selector.js +0 -70
  1502. package/src/components/side-panel/layer-panel/custom-markers-config-group.js +0 -30
  1503. package/src/components/side-panel/layer-panel/custom-palette.js +0 -296
  1504. package/src/components/side-panel/layer-panel/custom-picker.js +0 -88
  1505. package/src/components/side-panel/layer-panel/dimension-scale-selector.js +0 -48
  1506. package/src/components/side-panel/layer-panel/hex-column-config.js +0 -45
  1507. package/src/components/side-panel/layer-panel/layer-column-config.js +0 -113
  1508. package/src/components/side-panel/layer-panel/layer-config-group.js +0 -237
  1509. package/src/components/side-panel/layer-panel/layer-configurator.js +0 -1412
  1510. package/src/components/side-panel/layer-panel/layer-panel-header.js +0 -236
  1511. package/src/components/side-panel/layer-panel/layer-panel.js +0 -171
  1512. package/src/components/side-panel/layer-panel/layer-type-dropdown-list.js +0 -105
  1513. package/src/components/side-panel/layer-panel/layer-type-list-item.js +0 -83
  1514. package/src/components/side-panel/layer-panel/layer-type-selector.js +0 -89
  1515. package/src/components/side-panel/layer-panel/layer-visibility-by-zoom.js +0 -123
  1516. package/src/components/side-panel/layer-panel/single-color-palette.js +0 -98
  1517. package/src/components/side-panel/layer-panel/text-label-panel.js +0 -179
  1518. package/src/components/side-panel/layer-panel/vis-config-by-field-selector.js +0 -163
  1519. package/src/components/side-panel/layer-panel/vis-config-slider.js +0 -82
  1520. package/src/components/side-panel/layer-panel/vis-config-switch.js +0 -87
  1521. package/src/components/side-panel/map-manager.js +0 -114
  1522. package/src/components/side-panel/map-style-panel/map-layer-selector.js +0 -128
  1523. package/src/components/side-panel/map-style-panel/map-style-selector.js +0 -111
  1524. package/src/components/side-panel/panel-dropdown.js +0 -53
  1525. package/src/components/side-panel/panel-header-action.js +0 -106
  1526. package/src/components/side-panel/panel-header.js +0 -321
  1527. package/src/components/side-panel/panel-tab.js +0 -62
  1528. package/src/components/side-panel/panel-title.js +0 -32
  1529. package/src/components/side-panel/panel-toggle.js +0 -70
  1530. package/src/components/side-panel/side-bar.js +0 -136
  1531. package/src/components/side-panel.d.ts +0 -33
  1532. package/src/components/side-panel.js +0 -253
  1533. package/src/connect/keplergl-connect.js +0 -47
  1534. package/src/connect/with-local-selector.d.ts +0 -11
  1535. package/src/connect/with-local-selector.js +0 -67
  1536. package/src/constants/action-types.d.ts +0 -135
  1537. package/src/constants/action-types.js +0 -184
  1538. package/src/constants/color-ranges.js +0 -72
  1539. package/src/constants/default-settings.js +0 -994
  1540. package/src/constants/index.js +0 -80
  1541. package/src/deckgl-layers/3d-building-layer/3d-building-layer.js +0 -56
  1542. package/src/deckgl-layers/3d-building-layer/3d-building-utils.js +0 -192
  1543. package/src/deckgl-layers/column-layer/enhanced-column-layer.js +0 -63
  1544. package/src/deckgl-layers/grid-layer/enhanced-cpu-grid-layer.js +0 -70
  1545. package/src/deckgl-layers/hexagon-layer/enhanced-hexagon-layer.js +0 -70
  1546. package/src/deckgl-layers/layer-utils/cluster-utils.js +0 -76
  1547. package/src/deckgl-layers/layer-utils/cpu-aggregator.js +0 -583
  1548. package/src/deckgl-layers/layer-utils/shader-utils.js +0 -41
  1549. package/src/deckgl-layers/line-layer/line-layer.js +0 -122
  1550. package/src/deckgl-layers/svg-icon-layer/scatterplot-icon-layer.js +0 -57
  1551. package/src/deckgl-layers/svg-icon-layer/svg-icon-layer.js +0 -85
  1552. package/src/index.js +0 -52
  1553. package/src/layers/aggregation-layer.js +0 -356
  1554. package/src/layers/arc-layer/arc-layer-icon.js +0 -67
  1555. package/src/layers/arc-layer/arc-layer.js +0 -221
  1556. package/src/layers/base-layer.js +0 -1545
  1557. package/src/layers/cluster-layer/cluster-layer.js +0 -125
  1558. package/src/layers/geojson-layer/geojson-layer-icon.js +0 -68
  1559. package/src/layers/geojson-layer/geojson-layer.js +0 -344
  1560. package/src/layers/geojson-layer/geojson-utils.js +0 -179
  1561. package/src/layers/grid-layer/grid-layer-icon.js +0 -53
  1562. package/src/layers/grid-layer/grid-layer.js +0 -95
  1563. package/src/layers/grid-layer/grid-utils.js +0 -71
  1564. package/src/layers/h3-hexagon-layer/h3-hexagon-layer.js +0 -264
  1565. package/src/layers/h3-hexagon-layer/h3-utils.js +0 -65
  1566. package/src/layers/heatmap-layer/heatmap-layer.js +0 -226
  1567. package/src/layers/hexagon-layer/hexagon-layer.js +0 -95
  1568. package/src/layers/hexagon-layer/hexagon-utils.js +0 -63
  1569. package/src/layers/icon-layer/icon-info-modal.js +0 -155
  1570. package/src/layers/icon-layer/icon-layer.js +0 -324
  1571. package/src/layers/index.d.ts +0 -128
  1572. package/src/layers/index.js +0 -72
  1573. package/src/layers/layer-factory.d.ts +0 -149
  1574. package/src/layers/layer-factory.js +0 -487
  1575. package/src/layers/layer-text-label.js +0 -62
  1576. package/src/layers/layer-update.js +0 -71
  1577. package/src/layers/line-layer/line-layer.js +0 -161
  1578. package/src/layers/mapbox-utils.js +0 -195
  1579. package/src/layers/mapboxgl-layer.js +0 -154
  1580. package/src/layers/point-layer/point-layer.js +0 -412
  1581. package/src/layers/s2-geometry-layer/s2-geometry-layer.js +0 -265
  1582. package/src/layers/s2-geometry-layer/s2-utils.js +0 -36
  1583. package/src/layers/scenegraph-layer/scenegraph-layer.js +0 -182
  1584. package/src/layers/trip-layer/trip-layer.js +0 -295
  1585. package/src/layers/trip-layer/trip-utils.js +0 -169
  1586. package/src/localization/en.js +0 -504
  1587. package/src/localization/formatted-message.js +0 -33
  1588. package/src/localization/index.js +0 -32
  1589. package/src/localization/locales.js +0 -46
  1590. package/src/middleware/index.js +0 -34
  1591. package/src/processors/data-processor.d.ts +0 -57
  1592. package/src/processors/data-processor.js +0 -684
  1593. package/src/processors/file-handler.d.ts +0 -46
  1594. package/src/processors/file-handler.js +0 -220
  1595. package/src/processors/index.js +0 -44
  1596. package/src/reducers/combined-updaters.d.ts +0 -26
  1597. package/src/reducers/combined-updaters.js +0 -198
  1598. package/src/reducers/composer-helpers.d.ts +0 -32
  1599. package/src/reducers/composer-helpers.js +0 -70
  1600. package/src/reducers/core.d.ts +0 -25
  1601. package/src/reducers/core.js +0 -97
  1602. package/src/reducers/index.d.ts +0 -118
  1603. package/src/reducers/index.js +0 -53
  1604. package/src/reducers/map-state-updaters.d.ts +0 -64
  1605. package/src/reducers/map-state-updaters.js +0 -224
  1606. package/src/reducers/map-state.js +0 -47
  1607. package/src/reducers/map-style-updaters.d.ts +0 -76
  1608. package/src/reducers/map-style-updaters.js +0 -541
  1609. package/src/reducers/map-style.js +0 -53
  1610. package/src/reducers/provider-state-updaters.d.ts +0 -88
  1611. package/src/reducers/provider-state-updaters.js +0 -428
  1612. package/src/reducers/provider-state.js +0 -53
  1613. package/src/reducers/root.js +0 -230
  1614. package/src/reducers/types.d.ts +0 -10
  1615. package/src/reducers/ui-state-updaters.d.ts +0 -198
  1616. package/src/reducers/ui-state-updaters.js +0 -766
  1617. package/src/reducers/ui-state.js +0 -73
  1618. package/src/reducers/vis-state-merger.d.ts +0 -78
  1619. package/src/reducers/vis-state-merger.js +0 -557
  1620. package/src/reducers/vis-state-selectors.js +0 -35
  1621. package/src/reducers/vis-state-updaters.d.ts +0 -534
  1622. package/src/reducers/vis-state-updaters.js +0 -2137
  1623. package/src/reducers/vis-state.js +0 -155
  1624. package/src/schemas/dataset-schema.js +0 -141
  1625. package/src/schemas/index.d.ts +0 -24
  1626. package/src/schemas/index.js +0 -42
  1627. package/src/schemas/schema-manager.d.ts +0 -229
  1628. package/src/schemas/schema-manager.js +0 -228
  1629. package/src/schemas/schema.d.ts +0 -47
  1630. package/src/schemas/schema.js +0 -90
  1631. package/src/schemas/versions.d.ts +0 -23
  1632. package/src/schemas/vis-state-schema.js +0 -754
  1633. package/src/styles/base.js +0 -1620
  1634. package/src/styles/media-breakpoints.js +0 -47
  1635. package/src/typedefs/README.md +0 -3
  1636. package/src/typedefs/deck.gl__core.d.ts +0 -64
  1637. package/src/typedefs/deck.gl__mesh-layers.d.ts +0 -33
  1638. package/src/utils/aggregate-utils.js +0 -71
  1639. package/src/utils/color-utils.js +0 -115
  1640. package/src/utils/data-scale-utils.d.ts +0 -26
  1641. package/src/utils/data-scale-utils.js +0 -61
  1642. package/src/utils/data-utils.d.ts +0 -46
  1643. package/src/utils/data-utils.js +0 -447
  1644. package/src/utils/dataset-utils.d.ts +0 -10
  1645. package/src/utils/dataset-utils.js +0 -255
  1646. package/src/utils/dom-to-image.js +0 -533
  1647. package/src/utils/dom-utils.js +0 -354
  1648. package/src/utils/export-utils.js +0 -247
  1649. package/src/utils/filter-utils.d.ts +0 -192
  1650. package/src/utils/filter-utils.js +0 -1114
  1651. package/src/utils/gpu-filter-utils.d.ts +0 -28
  1652. package/src/utils/gpu-filter-utils.js +0 -253
  1653. package/src/utils/index.d.ts +0 -5
  1654. package/src/utils/index.js +0 -55
  1655. package/src/utils/interaction-utils.d.ts +0 -36
  1656. package/src/utils/interaction-utils.js +0 -185
  1657. package/src/utils/layer-utils.d.ts +0 -78
  1658. package/src/utils/layer-utils.js +0 -206
  1659. package/src/utils/map-style-utils/mapbox-gl-style-editor.js +0 -201
  1660. package/src/utils/notifications-utils.js +0 -83
  1661. package/src/utils/observe-dimensions.d.ts +0 -18
  1662. package/src/utils/observe-dimensions.js +0 -115
  1663. package/src/utils/split-map-utils.js +0 -104
  1664. package/src/utils/table-utils/data-container-interface.d.ts +0 -140
  1665. package/src/utils/table-utils/data-container-utils.d.ts +0 -43
  1666. package/src/utils/table-utils/data-container-utils.js +0 -61
  1667. package/src/utils/table-utils/data-row.d.ts +0 -65
  1668. package/src/utils/table-utils/data-row.js +0 -54
  1669. package/src/utils/table-utils/index.d.ts +0 -1
  1670. package/src/utils/table-utils/indexed-data-container.d.ts +0 -26
  1671. package/src/utils/table-utils/indexed-data-container.js +0 -152
  1672. package/src/utils/table-utils/kepler-table.d.ts +0 -114
  1673. package/src/utils/table-utils/kepler-table.js +0 -508
  1674. package/src/utils/table-utils/row-data-container.d.ts +0 -30
  1675. package/src/utils/table-utils/row-data-container.js +0 -151
  1676. package/src/utils/utils.js +0 -202
  1677. package/styles.js +0 -21
  1678. /package/src/actions/{index.js → index.ts} +0 -0
  1679. /package/src/components/common/data-table/{canvas.js → canvas.tsx} +0 -0
  1680. /package/src/components/editor/{constants.js → constants.ts} +0 -0
  1681. /package/src/components/filters/{components.js → components.ts} +0 -0
  1682. /package/src/components/filters/{index.js → index.ts} +0 -0
  1683. /package/src/components/map/{map-control-toolbar.js → map-control-toolbar.tsx} +0 -0
  1684. /package/src/components/modals/export-map-modal/{components.js → components.tsx} +0 -0
  1685. /package/src/components/modals/{modal-dialog.js → modal-dialog.tsx} +0 -0
  1686. /package/src/components/side-panel/{cloud-storage-dropdown.js → cloud-storage-dropdown.tsx} +0 -0
  1687. /package/src/components/side-panel/{custom-panel.js → custom-panel.tsx} +0 -0
  1688. /package/src/components/side-panel/layer-panel/{layer-aggregation-resolution.js → layer-aggregation-resolution.tsx} +0 -0
  1689. /package/src/constants/{color-palette.js → color-palette.ts} +0 -0
  1690. /package/src/constants/{custom-color-ranges.js → custom-color-ranges.ts} +0 -0
  1691. /package/src/constants/{keyevent.js → keyevent.ts} +0 -0
  1692. /package/src/constants/{tooltip.js → tooltip.ts} +0 -0
  1693. /package/src/constants/{user-feedbacks.js → user-feedbacks.ts} +0 -0
  1694. /package/src/constants/{user-guides.js → user-guides.ts} +0 -0
  1695. /package/src/layers/cluster-layer/{cluster-layer-icon.js → cluster-layer-icon.tsx} +0 -0
  1696. /package/src/layers/{default-layer-icon.js → default-layer-icon.tsx} +0 -0
  1697. /package/src/layers/h3-hexagon-layer/{h3-hexagon-layer-icon.js → h3-hexagon-layer-icon.tsx} +0 -0
  1698. /package/src/layers/heatmap-layer/{heatmap-layer-icon.js → heatmap-layer-icon.tsx} +0 -0
  1699. /package/src/layers/hexagon-layer/{hexagon-layer-icon.js → hexagon-layer-icon.tsx} +0 -0
  1700. /package/src/layers/icon-layer/{icon-layer-icon.js → icon-layer-icon.tsx} +0 -0
  1701. /package/src/layers/line-layer/{line-layer-icon.js → line-layer-icon.tsx} +0 -0
  1702. /package/src/layers/point-layer/{point-layer-icon.js → point-layer-icon.tsx} +0 -0
  1703. /package/src/layers/s2-geometry-layer/{s2-layer-icon.js → s2-layer-icon.tsx} +0 -0
  1704. /package/src/layers/scenegraph-layer/{scenegraph-info-modal.js → scenegraph-info-modal.tsx} +0 -0
  1705. /package/src/layers/scenegraph-layer/{scenegraph-layer-icon.js → scenegraph-layer-icon.tsx} +0 -0
  1706. /package/src/layers/trip-layer/{trip-info-modal.js → trip-info-modal.tsx} +0 -0
  1707. /package/src/layers/trip-layer/{trip-layer-icon.js → trip-layer-icon.tsx} +0 -0
  1708. /package/src/layers/{types.js → types.ts} +0 -0
  1709. /package/src/reducers/{composers.js → composers.ts} +0 -0
  1710. /package/src/schemas/{map-state-schema.js → map-state-schema.ts} +0 -0
  1711. /package/src/schemas/{map-style-schema.js → map-style-schema.ts} +0 -0
  1712. /package/src/schemas/{schema-utils.js → schema-utils.ts} +0 -0
  1713. /package/src/schemas/{versions.js → versions.ts} +0 -0
  1714. /package/src/styles/{index.js → index.ts} +0 -0
  1715. /package/src/tasks/{tasks.js → tasks.ts} +0 -0
  1716. /package/src/templates/{export-map-html.js → export-map-html.ts} +0 -0
  1717. /package/src/utils/{gl-utils.js → gl-utils.ts} +0 -0
  1718. /package/src/utils/{locale-utils.js → locale-utils.ts} +0 -0
  1719. /package/src/utils/{map-info-utils.js → map-info-utils.ts} +0 -0
  1720. /package/src/utils/map-style-utils/{mapbox-utils.js → mapbox-utils.ts} +0 -0
  1721. /package/src/utils/{mapbox-utils.js → mapbox-utils.ts} +0 -0
  1722. /package/src/utils/{projection-utils.js → projection-utils.ts} +0 -0
  1723. /package/src/utils/{searcher-utils.js → searcher-utils.ts} +0 -0
  1724. /package/src/utils/table-utils/{index.js → index.ts} +0 -0
@@ -1,1545 +0,0 @@
1
- // Copyright (c) 2022 Uber Technologies, Inc.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to deal
5
- // in the Software without restriction, including without limitation the rights
6
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- // copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- // THE SOFTWARE.
20
-
21
- import {console as Console} from 'global/window';
22
- import keymirror from 'keymirror';
23
- import {CollisionFilterExtension, DataFilterExtension} from '@deck.gl/extensions';
24
- import {COORDINATE_SYSTEM, Layer as DeckLayer} from '@deck.gl/core';
25
- import {_PointLabelLayer as PointLabelLayer} from '@deck.gl/carto';
26
- import DefaultLayerIcon from './default-layer-icon';
27
- import {diffUpdateTriggers} from './layer-update';
28
- import {rgb} from 'd3-color';
29
-
30
- import {
31
- ALL_FIELD_TYPES,
32
- NO_VALUE_COLOR,
33
- SCALE_TYPES,
34
- CHANNEL_SCALES,
35
- FIELD_OPTS,
36
- SCALE_FUNC,
37
- CHANNEL_SCALE_SUPPORTED_FIELDS,
38
- MAX_GPU_FILTERS,
39
- UNKNOWN_COLOR,
40
- ZOOM_LEVEL_LIMITS
41
- } from 'constants/default-settings';
42
- import {COLOR_RANGES, hexColor} from 'constants/color-ranges';
43
- import {DataVizColors} from 'constants/custom-color-ranges';
44
- import {
45
- LAYER_VIS_CONFIGS,
46
- DEFAULT_TEXT_LABEL,
47
- DEFAULT_COLOR_UI,
48
- DEFAULT_HIGHLIGHT_COLOR,
49
- DEFAULT_LAYER_LABEL
50
- } from './layer-factory';
51
-
52
- import {generateHashId, isPlainObject} from 'utils/utils';
53
-
54
- import {getLatLngBounds, notNullorUndefined} from 'utils/data-utils';
55
- import {getSampleData} from 'utils/table-utils/data-container-utils';
56
-
57
- import {hexToRgb, getColorGroupByName, reverseColorRange, checkColorOrFallback} from 'utils/color-utils';
58
- import {getMaskExtensionProps} from 'utils/layer-utils';
59
- import {scaleOrdinal} from 'd3-scale';
60
-
61
- /** @typedef {import('./index').Layer} LayerClass} */
62
-
63
- /**
64
- * Approx. number of points to sample in a large data set
65
- * @type {number}
66
- */
67
- export const LAYER_ID_LENGTH = 6;
68
-
69
- // Note, this is is SVG of solid circle encoded as data-uri
70
- const FALLBACK_ICON =
71
- 'data:image/svg+xml;charset=utf-8;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgPGNpcmNsZSBjeD0iNTAiIGN5PSI1MCIgcj0iNTAiLz4NCjwvc3ZnPg==';
72
-
73
- const MAX_SAMPLE_SIZE = 5000;
74
- const defaultDomain = [0, 1];
75
- const dataFilterExtension = new DataFilterExtension({filterSize: MAX_GPU_FILTERS});
76
- const collisionFilterExtension = new CollisionFilterExtension();
77
-
78
- const defaultDataAccessor = dc => d => d;
79
- const defaultGetFieldValue = (field, d) => field.valueAccessor(d);
80
- const scaleIdentity = v => v;
81
-
82
- export const OVERLAY_TYPE = keymirror({
83
- deckgl: null,
84
- mapboxgl: null
85
- });
86
-
87
- export const layerColors = Object.values(DataVizColors).map(hexToRgb);
88
- function* generateColor() {
89
- let index = 0;
90
- while (index < layerColors.length + 1) {
91
- if (index === layerColors.length) {
92
- index = 0;
93
- }
94
- yield layerColors[index++];
95
- }
96
- }
97
-
98
- export const colorMaker = generateColor();
99
-
100
- /** @type {LayerClass} */
101
- class Layer {
102
- constructor(props = {}) {
103
- this.id = props.id || generateHashId(LAYER_ID_LENGTH);
104
- // meta
105
- this.meta = {};
106
-
107
- // legendSettings
108
- this.legendSettings = {};
109
-
110
- // visConfigSettings
111
- this.visConfigSettings = {};
112
-
113
- // interactivitySettings
114
- this._interactivitySettings = {};
115
-
116
- // @ts-ignore
117
- this.config = this.getDefaultLayerConfig({
118
- columns: this.getLayerColumns(),
119
- ...props
120
- });
121
- }
122
-
123
- get layerIcon() {
124
- return DefaultLayerIcon;
125
- }
126
-
127
- get overlayType() {
128
- return OVERLAY_TYPE.deckgl;
129
- }
130
-
131
- get type() {
132
- return null;
133
- }
134
-
135
- get name() {
136
- return this.type;
137
- }
138
-
139
- get isAggregated() {
140
- return false;
141
- }
142
-
143
- get requiredLayerColumns() {
144
- return [];
145
- }
146
-
147
- get optionalColumns() {
148
- return [];
149
- }
150
-
151
- get noneLayerDataAffectingProps() {
152
- return ['label', 'opacity', 'thickness', 'isVisible', 'hidden'];
153
- }
154
-
155
- get visualChannels() {
156
- return {
157
- color: {
158
- property: 'color',
159
- field: 'colorField',
160
- scale: 'colorScale',
161
- domain: 'colorDomain',
162
- range: 'colorRange',
163
- key: 'color',
164
- channelScaleType: CHANNEL_SCALES.color,
165
- nullValue: NO_VALUE_COLOR,
166
- defaultValue: config => config.color
167
- },
168
- size: {
169
- property: 'size',
170
- field: 'sizeField',
171
- scale: 'sizeScale',
172
- domain: 'sizeDomain',
173
- range: 'sizeRange',
174
- key: 'size',
175
- channelScaleType: CHANNEL_SCALES.size,
176
- nullValue: 0,
177
- defaultValue: 1
178
- }
179
- };
180
- }
181
-
182
- /*
183
- * Column pairs maps layer column to a specific field pairs,
184
- * By default, it is set to null
185
- */
186
- get columnPairs() {
187
- return null;
188
- }
189
-
190
- /*
191
- * Default point column pairs, can be used for point based layers: point, icon etc.
192
- */
193
- get defaultPointColumnPairs() {
194
- return {
195
- lat: {pair: 'lng', fieldPairKey: 'lat'},
196
- lng: {pair: 'lat', fieldPairKey: 'lng'}
197
- };
198
- }
199
-
200
- /*
201
- * Default link column pairs, can be used for link based layers: arc, line etc
202
- */
203
- get defaultLinkColumnPairs() {
204
- return {
205
- lat0: {pair: 'lng0', fieldPairKey: 'lat'},
206
- lng0: {pair: 'lat0', fieldPairKey: 'lng'},
207
- lat1: {pair: 'lng1', fieldPairKey: 'lat'},
208
- lng1: {pair: 'lat1', fieldPairKey: 'lng'}
209
- };
210
- }
211
-
212
- /**
213
- * Return a React component for to render layer instructions in a modal
214
- * @returns {object} - an object
215
- * @example
216
- * return {
217
- * id: 'iconInfo',
218
- * template: IconInfoModal,
219
- * modalProps: {
220
- * title: 'How to draw icons'
221
- * };
222
- * }
223
- */
224
- get layerInfoModal() {
225
- return null;
226
- }
227
-
228
- get interactivitySettings() {
229
- return this._interactivitySettings;
230
- }
231
-
232
- set interactivitySettings(interactivitySettings) {
233
- this._interactivitySettings = interactivitySettings;
234
- }
235
-
236
- get hasTooltip() {
237
- return Boolean(
238
- this.interactivitySettings?.hover?.fields.length ||
239
- this.interactivitySettings?.click?.fields.length
240
- );
241
- }
242
-
243
- get hasInteractivity() {
244
- return Boolean(this.hasTooltip && this.interactivitySettings?.enabled);
245
- }
246
-
247
- /*
248
- * Given a dataset, automatically find props to create layer based on it
249
- * and return the props and previous found layers.
250
- * By default, no layers will be found
251
- */
252
- static findDefaultLayerProps(dataset, foundLayers) {
253
- return {props: [], foundLayers};
254
- }
255
-
256
- /**
257
- * Given a array of preset required column names
258
- * found field that has the same name to set as layer column
259
- *
260
- * @param {object} defaultFields
261
- * @param {object[]} allFields
262
- * @returns {object[] | null} all possible required layer column pairs
263
- */
264
- static findDefaultColumnField(defaultFields, allFields) {
265
- // find all matched fields for each required col
266
- const requiredColumns = Object.keys(defaultFields).reduce((prev, key) => {
267
- const requiredFields = allFields.filter(
268
- f => f.name === defaultFields[key] || defaultFields[key].includes(f.name)
269
- );
270
-
271
- prev[key] = requiredFields.length
272
- ? requiredFields.map(f => ({
273
- value: f.name,
274
- fieldIdx: f.fieldIdx
275
- }))
276
- : null;
277
- return prev;
278
- }, {});
279
-
280
- if (!Object.values(requiredColumns).every(Boolean)) {
281
- // if any field missing, return null
282
- return null;
283
- }
284
-
285
- return this.getAllPossibleColumnParis(requiredColumns);
286
- }
287
-
288
- static getAllPossibleColumnParis(requiredColumns) {
289
- // for multiple matched field for one required column, return multiple
290
- // combinations, e. g. if column a has 2 matched, column b has 3 matched
291
- // 6 possible column pairs will be returned
292
- const allKeys = Object.keys(requiredColumns);
293
- const pointers = allKeys.map((k, i) => ((i === allKeys.length - 1 ? -1 : 0)));
294
- const countPerKey = allKeys.map(k => requiredColumns[k].length);
295
- const pairs = [];
296
-
297
- /* eslint-disable no-loop-func */
298
- while (incrementPointers(pointers, countPerKey, pointers.length - 1)) {
299
- const newPair = pointers.reduce((prev, cuur, i) => {
300
- prev[allKeys[i]] = requiredColumns[allKeys[i]][cuur];
301
- return prev;
302
- }, {});
303
-
304
- pairs.push(newPair);
305
- }
306
- /* eslint-enable no-loop-func */
307
-
308
- // recursively increment pointers
309
- function incrementPointers(pts, counts, index) {
310
- if (index === 0 && pts[0] === counts[0] - 1) {
311
- // nothing to increment
312
- return false;
313
- }
314
-
315
- if (pts[index] + 1 < counts[index]) {
316
- pts[index] = pts[index] + 1;
317
- return true;
318
- }
319
-
320
- pts[index] = 0;
321
- return incrementPointers(pts, counts, index - 1);
322
- }
323
-
324
- return pairs;
325
- }
326
-
327
- static hexToRgb(c) {
328
- return hexToRgb(c);
329
- }
330
-
331
- getDefaultLayerConfig(props = {}) {
332
- return {
333
- dataId: props.dataId || null,
334
- visibilityByZoom: {
335
- min: props.visibilityByZoom?.min || ZOOM_LEVEL_LIMITS.min,
336
- max: props.visibilityByZoom?.max || ZOOM_LEVEL_LIMITS.max
337
- },
338
- label: props.label || DEFAULT_LAYER_LABEL,
339
- color: props.color || colorMaker.next().value,
340
- columns: props.columns || null,
341
- isVisible: props.isVisible || false,
342
- isConfigActive: props.isConfigActive || false,
343
- highlightColor: props.highlightColor || DEFAULT_HIGHLIGHT_COLOR,
344
- hidden: props.hidden || false,
345
-
346
- // TODO: refactor this into separate visual Channel config
347
- // color by field, domain is set by filters, field, scale type
348
- colorField: null,
349
- colorDomain: [0, 1],
350
- colorScale: SCALE_TYPES.quantile,
351
-
352
- // color by size, domain is set by filters, field, scale type
353
- sizeDomain: [0, 1],
354
- sizeScale: SCALE_TYPES.linear,
355
- sizeField: null,
356
- radiusField: null,
357
-
358
- visConfig: {},
359
-
360
- textLabel: [DEFAULT_TEXT_LABEL],
361
-
362
- colorUI: {
363
- color: DEFAULT_COLOR_UI,
364
- colorRange: DEFAULT_COLOR_UI
365
- },
366
- animation: {enabled: false}
367
- };
368
- }
369
-
370
- /**
371
- * Get the description of a visualChannel config
372
- * @param key
373
- * @returns {{label: string, measure: (string|string)}}
374
- */
375
- getVisualChannelDescription(key) {
376
- // e.g. label: Color, measure: Vehicle Type
377
- return {
378
- label: this.visConfigSettings[this.visualChannels[key].range].label,
379
- measure: this.config[this.visualChannels[key].field]
380
- ? (this.config[this.visualChannels[key].field].displayName ||
381
- this.config[this.visualChannels[key].field].name)
382
- : this.visualChannels[key].defaultMeasure
383
- };
384
- }
385
-
386
- /**
387
- * Assign a field to layer column, return column config
388
- * @param key - Column Key
389
- * @param field - Selected field
390
- * @returns {{}} - Column config
391
- */
392
- assignColumn(key, field) {
393
- // field value could be null for optional columns
394
- const update = field
395
- ? {
396
- value: field.name,
397
- fieldIdx: field.fieldIdx
398
- }
399
- : {value: null, fieldIdx: -1};
400
-
401
- return {
402
- ...this.config.columns,
403
- [key]: {
404
- ...this.config.columns[key],
405
- ...update
406
- }
407
- };
408
- }
409
-
410
- /**
411
- * Assign a field pair to column config, return column config
412
- * @param key - Column Key
413
- * @param pair - field Pair
414
- * @returns {object} - Column config
415
- */
416
- assignColumnPairs(key, pair) {
417
- if (!this.columnPairs || !this.columnPairs?.[key]) {
418
- // should not end in this state
419
- return this.config.columns;
420
- }
421
-
422
- const {pair: partnerKey, fieldPairKey} = this.columnPairs?.[key];
423
- const {fieldPairKey: partnerFieldPairKey} = this.columnPairs?.[partnerKey];
424
-
425
- return {
426
- ...this.config.columns,
427
- [key]: pair[fieldPairKey],
428
- [partnerKey]: pair[partnerFieldPairKey]
429
- };
430
- }
431
-
432
- /**
433
- * Calculate a radius zoom multiplier to render points, so they are visible in all zoom level
434
- * @param {object} mapState
435
- * @param {number} mapState.zoom - actual zoom
436
- * @param {number | void} mapState.zoomOffset - zoomOffset when render in the plot container for export image
437
- * @returns {number}
438
- */
439
- getZoomFactor({zoom, zoomOffset = 0}) {
440
- return Math.pow(2, Math.max(14 - zoom + zoomOffset, 0));
441
- }
442
-
443
- /**
444
- * Calculate a elevation zoom multiplier to render points, so they are visible in all zoom level
445
- * @param {object} mapState
446
- * @param {number} mapState.zoom - actual zoom
447
- * @param {number | void} mapState.zoomOffset - zoomOffset when render in the plot container for export image
448
- * @returns {number}
449
- */
450
- getElevationZoomFactor({zoom, zoomOffset = 0}) {
451
- return this.config.visConfig.enableElevationZoomFactor
452
- ? Math.pow(2, Math.max(8 - zoom + zoomOffset, 0))
453
- : 1;
454
- }
455
-
456
- formatLayerData(datasets, filteredIndex) {
457
- return {};
458
- }
459
-
460
- renderLayer() {
461
- return [];
462
- }
463
-
464
- getHoverData(object, dataContainer) {
465
- if (!object) {
466
- return null;
467
- }
468
-
469
- // By default, each entry of layerData should have an index of a row in the original data container.
470
- // Each layer can implement its own getHoverData method
471
- return dataContainer.row(object.index);
472
- }
473
-
474
- /**
475
- * When change layer type, try to copy over layer configs as much as possible
476
- * @param configToCopy - config to copy over
477
- * @param visConfigSettings - visConfig settings of config to copy
478
- */
479
- assignConfigToLayer(configToCopy, visConfigSettings) {
480
- // don't deep merge visualChannel field
481
- // don't deep merge color range, reversed: is not a key by default
482
- const shallowCopy = ['colorRange', 'strokeColorRange'].concat(
483
- Object.values(this.visualChannels).map(v => v.field)
484
- );
485
-
486
- // don't copy over domain and animation
487
- const notToCopy = ['animation'].concat(Object.values(this.visualChannels).map(v => v.domain));
488
- // if range is for the same property group copy it, otherwise, not to copy
489
- Object.values(this.visualChannels).forEach(v => {
490
- if (
491
- configToCopy.visConfig[v.range] &&
492
- this.visConfigSettings[v.range] &&
493
- visConfigSettings[v.range].group !== this.visConfigSettings[v.range].group
494
- ) {
495
- notToCopy.push(v.range);
496
- }
497
- });
498
-
499
- // don't copy over visualChannel range
500
- const currentConfig = this.config;
501
- const copied = this.copyLayerConfig(currentConfig, configToCopy, {
502
- shallowCopy,
503
- notToCopy
504
- });
505
- this.updateLayerConfig(copied);
506
- // validate visualChannel field type and scale types
507
- Object.keys(this.visualChannels).forEach(channel => {
508
- this.validateVisualChannel(channel);
509
- });
510
- }
511
-
512
- /*
513
- * Recursively copy config over to an empty layer
514
- * when received saved config, or copy config over from a different layer type
515
- * make sure to only copy over value to existing keys
516
- * @param {object} currentConfig - existing config to be override
517
- * @param {object} configToCopy - new Config to copy over
518
- * @param {string[]} shallowCopy - array of properties to not to be deep copied
519
- * @param {string[]} notToCopy - array of properties not to copy
520
- * @returns {object} - copied config
521
- */
522
- copyLayerConfig(currentConfig, configToCopy, {shallowCopy = [], notToCopy = []} = {}) {
523
- const copied = {};
524
- Object.keys(currentConfig).forEach(key => {
525
- if (
526
- isPlainObject(currentConfig[key]) &&
527
- isPlainObject(configToCopy[key]) &&
528
- !shallowCopy.includes(key) &&
529
- !notToCopy.includes(key)
530
- ) {
531
- // recursively assign object value
532
- copied[key] = this.copyLayerConfig(currentConfig[key], configToCopy[key], {
533
- shallowCopy,
534
- notToCopy
535
- });
536
- } else if (notNullorUndefined(configToCopy[key]) && !notToCopy.includes(key)) {
537
- // copy
538
- copied[key] = configToCopy[key];
539
- } else {
540
- // keep existing
541
- copied[key] = currentConfig[key];
542
- }
543
- });
544
-
545
- return copied;
546
- }
547
-
548
- registerVisConfig(layerVisConfigs) {
549
- Object.keys(layerVisConfigs).forEach(item => {
550
- if (typeof item === 'string' && LAYER_VIS_CONFIGS[layerVisConfigs[item]]) {
551
- // if assigned one of default LAYER_CONFIGS
552
- this.config.visConfig[item] = LAYER_VIS_CONFIGS[layerVisConfigs[item]].defaultValue;
553
- this.visConfigSettings[item] = LAYER_VIS_CONFIGS[layerVisConfigs[item]];
554
- } else if (['type', 'defaultValue'].every(p => layerVisConfigs[item].hasOwnProperty(p))) {
555
- // if provided customized visConfig, and has type && defaultValue
556
- // TODO: further check if customized visConfig is valid
557
- this.config.visConfig[item] = layerVisConfigs[item].defaultValue;
558
- this.visConfigSettings[item] = layerVisConfigs[item];
559
- }
560
- });
561
- }
562
-
563
- getLayerColumns() {
564
- const columnValidators = this.columnValidators || {};
565
- const required = this.requiredLayerColumns.reduce(
566
- (accu, key) => ({
567
- ...accu,
568
- [key]: columnValidators[key]
569
- ? {value: null, fieldIdx: -1, validator: columnValidators[key]}
570
- : {value: null, fieldIdx: -1}
571
- }),
572
- {}
573
- );
574
- const optional = this.optionalColumns.reduce(
575
- (accu, key) => ({
576
- ...accu,
577
- [key]: {value: null, fieldIdx: -1, optional: true}
578
- }),
579
- {}
580
- );
581
-
582
- return {...required, ...optional};
583
- }
584
-
585
- updateLayerConfig(newConfig) {
586
- this.config = {...this.config, ...newConfig};
587
- return this;
588
- }
589
-
590
- updateLayerVisConfig(newVisConfig) {
591
- this.config.visConfig = {...this.config.visConfig, ...newVisConfig};
592
- return this;
593
- }
594
-
595
- updateLayerColorUI(prop, newConfig) {
596
- const {colorUI: previous, visConfig} = this.config;
597
-
598
- if (!isPlainObject(newConfig) || typeof prop !== 'string') {
599
- return this;
600
- }
601
-
602
- const colorUIProp = Object.entries(newConfig).reduce((accu, [key, value]) => {
603
- return {
604
- ...accu,
605
- [key]: isPlainObject(accu[key]) && isPlainObject(value) ? {...accu[key], ...value} : value
606
- };
607
- }, previous[prop] || DEFAULT_COLOR_UI);
608
-
609
- const colorUI = {
610
- ...previous,
611
- [prop]: colorUIProp
612
- };
613
-
614
- this.updateLayerConfig({colorUI});
615
- // if colorUI[prop] is colorRange. If type is hexColor then it's also a range
616
- const isColorRange =
617
- visConfig[prop] && (visConfig[prop].colors || visConfig[prop].type === hexColor);
618
-
619
- if (isColorRange) {
620
- this.updateColorUIByColorRange(newConfig, prop);
621
- this.updateColorRangeByColorUI(newConfig, previous, prop);
622
- this.updateCustomPalette(newConfig, previous, prop);
623
- }
624
-
625
- return this;
626
- }
627
-
628
- updateCustomPalette(newConfig, previous, prop) {
629
- if (!newConfig.colorRangeConfig || !newConfig.colorRangeConfig.custom) {
630
- return;
631
- }
632
-
633
- const {colorUI, visConfig} = this.config;
634
-
635
- if (!visConfig[prop]) return;
636
- const {colors} = visConfig[prop];
637
- const customPalette = {
638
- ...colorUI[prop].customPalette,
639
- name: 'Custom Palette',
640
- colors: [...colors]
641
- };
642
- this.updateLayerConfig({
643
- colorUI: {
644
- ...colorUI,
645
- [prop]: {
646
- ...colorUI[prop],
647
- customPalette
648
- }
649
- }
650
- });
651
- }
652
- /**
653
- * if open dropdown and prop is color range
654
- * Automatically set colorRangeConfig's step, reversed and type
655
- * @param {*} newConfig
656
- * @param {*} prop
657
- */
658
- updateColorUIByColorRange(newConfig, prop) {
659
- if (typeof newConfig.showDropdown !== 'number') return;
660
-
661
- const {colorUI, visConfig} = this.config;
662
- this.updateLayerConfig({
663
- colorUI: {
664
- ...colorUI,
665
- [prop]: {
666
- ...colorUI[prop],
667
- colorRangeConfig: {
668
- ...colorUI[prop].colorRangeConfig,
669
- type: visConfig[prop].type,
670
- steps: visConfig[prop].colors?.length,
671
- reversed: Boolean(visConfig[prop].reversed),
672
- hexColumn: this.getHexColumn(prop),
673
- isHexColumn: this.isColoredByColorColumn(prop)
674
- }
675
- }
676
- }
677
- });
678
- }
679
-
680
- // eslint-disable-next-line complexity
681
- updateColorRangeByColorUI(newConfig, previous, prop) {
682
- // only update colorRange if changes in UI is made to 'reversed', 'steps' or steps
683
- const shouldUpdate =
684
- newConfig.colorRangeConfig &&
685
- ['reversed', 'steps'].some(
686
- key =>
687
- newConfig.colorRangeConfig.hasOwnProperty(key) &&
688
- newConfig.colorRangeConfig[key] !==
689
- (previous[prop] || DEFAULT_COLOR_UI).colorRangeConfig[key]
690
- );
691
- if (!shouldUpdate) return;
692
-
693
- const {colorUI, visConfig} = this.config;
694
- const {steps, reversed} = colorUI[prop].colorRangeConfig;
695
- const colorRange = visConfig[prop];
696
- // find based on step or reversed
697
- let update;
698
- if (newConfig.colorRangeConfig.hasOwnProperty('steps')) {
699
- const group = getColorGroupByName(colorRange);
700
-
701
- if (group) {
702
- const sameGroup = COLOR_RANGES.filter(cr => getColorGroupByName(cr) === group);
703
-
704
- update = sameGroup.find(cr => cr.colors.length === steps);
705
-
706
- if (update && colorRange.reversed) {
707
- update = reverseColorRange(true, update);
708
- }
709
-
710
- if (update && colorRange.colorMap) {
711
- update = this.updateColorMap(prop, colorRange.colorMap, update);
712
- }
713
- }
714
- }
715
-
716
- if (newConfig.colorRangeConfig.hasOwnProperty('reversed')) {
717
- update = reverseColorRange(reversed, update || colorRange);
718
- }
719
-
720
- if (update) {
721
- this.updateLayerVisConfig({[prop]: update});
722
- }
723
- }
724
-
725
- updateColorMap(prop, colorMap, colorRange) {
726
- // @ts-ignore
727
- const {field, domain} = Object.values(this.visualChannels).find(value => value.range === prop);
728
- const type = this.config[field]?.type;
729
-
730
- if (type === 'string' || type === 'boolean' || type === 'date') {
731
- return this.updateCategoryColorMap(colorMap, this.config[domain], colorRange);
732
- }
733
-
734
- // If no type or type is not string, boolean or date
735
- return this.updateNumericColorMap(colorMap, this.config[domain], colorRange);
736
- }
737
-
738
- updateCategoryColorMap(colorMap, domain, colorRange) {
739
- const colors = colorRange.colors;
740
- const assignedCategories = [];
741
- if (colorRange.type === hexColor) {
742
- return {
743
- ...colorRange,
744
- colorMap: []
745
- };
746
- }
747
- const newColorMap = colorMap.slice(0, colors.length).map((cMap, index) => {
748
- assignedCategories.push(cMap[0]);
749
- return [cMap[0], colors[index]];
750
- });
751
- const unassignedColors = colors.slice(newColorMap.length, colors.length);
752
-
753
- for (const color of unassignedColors) {
754
- const category = domain.find(d => !assignedCategories.includes(d));
755
- if (!category) {
756
- break;
757
- }
758
- assignedCategories.push(category);
759
- newColorMap.push([category, color]);
760
- }
761
- return {
762
- ...colorRange,
763
- colorMap: newColorMap
764
- };
765
- }
766
-
767
- updateNumericColorMap(colorMap, domain, update) {
768
- const colors = update.colors;
769
- let newColorMap = colorMap.slice(0, colors.length);
770
-
771
- newColorMap = newColorMap.map((cMap, index) => {
772
- const value = index === newColorMap.length - 1 ? null : cMap[0];
773
- return [value, colors[index]];
774
- });
775
- const unassignedColors = colors.slice(newColorMap.length, colors.length);
776
-
777
- if (unassignedColors.length > 0) {
778
- const colorMapValues = colorMap.map(c => c[0]).filter(c => typeof c === 'number');
779
- const maxValue = Math.max(...colorMapValues, domain[domain.length - 1]);
780
- const prevValue = newColorMap[newColorMap.length - 2][0];
781
- const step = (maxValue - prevValue) / (unassignedColors.length + 1);
782
- newColorMap[newColorMap.length - 1][0] = prevValue + step;
783
-
784
- for (const [i, color] of unassignedColors.entries()) {
785
- const value = i === unassignedColors.length - 1 ? null : prevValue + (step * (i + 2));
786
- newColorMap.push([value, color]);
787
- }
788
- }
789
- return {
790
- ...update,
791
- colorMap: newColorMap
792
- };
793
- }
794
-
795
- /**
796
- * Check whether layer has all columns
797
- * @returns {boolean} yes or no
798
- */
799
- hasAllColumns() {
800
- const {columns} = this.config;
801
- return (
802
- (columns &&
803
- Object.values(columns).every(v => {
804
- return Boolean(v.optional || (v.value && v.fieldIdx > -1));
805
- }))
806
- );
807
- }
808
-
809
- /**
810
- * Check whether layer has data
811
- *
812
- * @param {Array | Object} layerData
813
- * @returns {boolean} yes or no
814
- */
815
- hasLayerData(layerData) {
816
- if (!layerData) {
817
- return false;
818
- }
819
- return Boolean(layerData.data && layerData.data.length);
820
- }
821
-
822
- isValidToSave() {
823
- return this.type && this.hasAllColumns();
824
- }
825
-
826
- shouldRenderLayer(data) {
827
- return (
828
- (this.type &&
829
- this.hasAllColumns() &&
830
- this.hasLayerData(data) &&
831
- typeof this.renderLayer === 'function')
832
- );
833
- }
834
-
835
- getColorScale(colorScale, colorDomain, colorRange) {
836
- if (colorRange.type === hexColor) {
837
- return (_, color) => {
838
- const {r, g, b} = rgb(color);
839
- return [r, g, b].some(isNaN) ? UNKNOWN_COLOR : [r, g, b];
840
- };
841
- } else if (Array.isArray(colorRange.colorMap)) {
842
- const cMap = new Map();
843
- colorRange.colorMap.forEach(([k, v]) => {
844
- cMap.set(k, typeof v === 'string' ? hexToRgb(v) : v);
845
- });
846
-
847
- // @ts-ignore d3 scale
848
- const scale = SCALE_FUNC[colorScale]()
849
- .domain(Array.from(cMap.keys()))
850
- .range(Array.from(cMap.values()))
851
- .unknown(UNKNOWN_COLOR);
852
- return scale;
853
- }
854
-
855
- return this.getVisChannelScale(colorScale, colorDomain, colorRange.colors.map(hexToRgb));
856
- }
857
-
858
- getCustomMarkersScale(range, fallbackIcon) {
859
- let unknownValue = fallbackIcon || FALLBACK_ICON;
860
- if (!range) {
861
- return () => unknownValue;
862
- }
863
-
864
- const mapping = new Map();
865
-
866
- if (range.othersMarker) {
867
- unknownValue = range.othersMarker;
868
- }
869
- for (const {value, markerUrl} of range.markerMap) {
870
- if (markerUrl) {
871
- mapping.set(value, markerUrl);
872
- }
873
- }
874
-
875
- // @ts-ignore d3 scale
876
- const scale = scaleOrdinal()
877
- .domain(Array.from(mapping.keys()))
878
- .range(Array.from(mapping.values()))
879
- .unknown(unknownValue);
880
- return scale;
881
- }
882
-
883
- /**
884
- * Mapping from visual channels to deck.gl accesors
885
- * @param {Object} param Parameters
886
- * @param {Function} param.dataAccessor Access kepler.gl layer data from deck.gl layer
887
- * @param {import('utils/table-utils/data-container-interface').DataContainerInterface} param.dataContainer DataContainer to use use with dataAccessor
888
- * @return {Object} attributeAccessors - deck.gl layer attribute accessors
889
- */
890
- getAttributeAccessors({dataAccessor = defaultDataAccessor, dataContainer}) {
891
- const attributeAccessors = {};
892
-
893
- // eslint-disable-next-line complexity
894
- Object.keys(this.visualChannels).forEach(channel => {
895
- const {
896
- field,
897
- fixed,
898
- scale,
899
- domain,
900
- range,
901
- accessor,
902
- defaultValue,
903
- getAttributeValue,
904
- nullValue,
905
- channelScaleType,
906
- aggregation
907
- } = this.visualChannels[channel];
908
-
909
- const shouldGetScale = Boolean(
910
- (scale || channelScaleType === CHANNEL_SCALES.identity) && this.config[field]
911
- );
912
-
913
- if (shouldGetScale) {
914
- const args = [this.config[scale], this.config[domain], this.config.visConfig[range]];
915
- const isFixed = fixed && this.config.visConfig[fixed];
916
- // It's important to declare as const all the parameters that we are going to be use in the getEncodedChannelValue call
917
- // otherwise, the oldLayerData parameter in formatLayerData method will be wrong (you can check the formatLayerData TileLayer method in Builder as example)
918
- const fieldConfig = this.config[field];
919
- const aggregationValue = this.config.visConfig[aggregation];
920
-
921
- const scaleFunction =
922
- channelScaleType === CHANNEL_SCALES.identity
923
- ? scaleIdentity
924
- : channelScaleType === CHANNEL_SCALES.color
925
- ? this.getColorScale(...args)
926
- : channelScaleType === CHANNEL_SCALES.customMarker
927
- ? this.getCustomMarkersScale(
928
- this.config.visConfig[range],
929
- this.config.visConfig.customMarkersUrl
930
- )
931
- : this.getVisChannelScale(...args, isFixed);
932
-
933
- attributeAccessors[accessor] = d =>
934
- this.getEncodedChannelValue({
935
- channel,
936
- dataContainer,
937
- scale: scaleFunction,
938
- data: dataAccessor(dataContainer)(d),
939
- field: fieldConfig,
940
- _aggregation: aggregationValue,
941
- nullValue
942
- });
943
- } else if (typeof getAttributeValue === 'function') {
944
- attributeAccessors[accessor] = getAttributeValue(this.config);
945
- } else {
946
- attributeAccessors[accessor] =
947
- typeof defaultValue === 'function' ? defaultValue(this.config) : defaultValue;
948
- }
949
-
950
- if (!(accessor in attributeAccessors)) {
951
- Console.warn(`Failed to provide accessor function for ${accessor || channel}`);
952
- }
953
- });
954
-
955
- return attributeAccessors;
956
- }
957
-
958
- getVisChannelScale(scale, domain, range, fixed) {
959
- if (scale === SCALE_TYPES.ordinal) {
960
- // @ts-ignore d3-scale type
961
- return SCALE_FUNC[scale]()
962
- .domain(domain.slice(0, range.length))
963
- .range(range)
964
- .unknown(UNKNOWN_COLOR);
965
- }
966
-
967
- // for `count` aggregation, we domain is actually `[0, Infinity]` so it doesn't make sense
968
- // to use it, so skip specyfying this domains
969
- const domainIsInfinite = domain && (domain[0] === 0 && domain[1] === Infinity);
970
- const scaleFactory = SCALE_FUNC[fixed ? 'linear' : scale];
971
- // @ts-ignore d3-scale type
972
- let result = scaleFactory();
973
- if (domain && !domainIsInfinite) {
974
- result = result.domain(domain);
975
- }
976
- return result.range(fixed ? domain : range);
977
- }
978
-
979
- /**
980
- * Get longitude and latitude bounds of the data.
981
- * @param {import('utils/table-utils/data-container-interface').DataContainerInterface} dataContainer DataContainer to calculate bounds for.
982
- * @param {(d: {index: number}, dc: import('utils/table-utils/data-container-interface').DataContainerInterface) => number[]} getPosition Access kepler.gl layer data from deck.gl layer
983
- * @return {number[]|null} bounds of the data.
984
- */
985
- getPointsBounds(dataContainer, getPosition) {
986
- // no need to loop through the entire dataset
987
- // get a sample of data to calculate bounds
988
- const sampleData =
989
- dataContainer.numRows() > MAX_SAMPLE_SIZE
990
- ? getSampleData(dataContainer, MAX_SAMPLE_SIZE)
991
- : dataContainer;
992
-
993
- const points = sampleData.mapIndex(getPosition);
994
-
995
- const latBounds = getLatLngBounds(points, 1, [-90, 90]);
996
- const lngBounds = getLatLngBounds(points, 0, [-180, 180]);
997
-
998
- if (!latBounds || !lngBounds) {
999
- return null;
1000
- }
1001
-
1002
- return [lngBounds[0], latBounds[0], lngBounds[1], latBounds[1]];
1003
- }
1004
-
1005
- getChangedTriggers(dataUpdateTriggers) {
1006
- const triggerChanged = diffUpdateTriggers(dataUpdateTriggers, this._oldDataUpdateTriggers);
1007
- this._oldDataUpdateTriggers = dataUpdateTriggers;
1008
-
1009
- return triggerChanged;
1010
- }
1011
-
1012
- getEncodedChannelValue({
1013
- channel,
1014
- scale,
1015
- data,
1016
- field,
1017
- dataContainer,
1018
- // In builder we overwrite the getValue function and we use the _aggregation parameter in spatial index layers as the QuadkeyLayer.
1019
- _aggregation,
1020
- nullValue = NO_VALUE_COLOR,
1021
- getValue = defaultGetFieldValue
1022
- }) {
1023
- let colorColumnValue;
1024
- const {type} = field;
1025
- const value = getValue(field, data);
1026
- const channelConfig = this.config.visConfig[this.visualChannels[channel].range];
1027
- const channelField = this.config[this.visualChannels[channel].field];
1028
-
1029
- if (channelConfig?.type === hexColor) {
1030
- const columnField = {
1031
- id: channelField.colorColumn,
1032
- name: channelField.colorColumn,
1033
- fieldIdx: channelField.colorColumnIdx,
1034
- valueAccessor: d => {
1035
- return dataContainer.valueAt(d.index, channelField.colorColumnIdx);
1036
- }
1037
- };
1038
-
1039
- colorColumnValue = getValue(columnField, data);
1040
- } else if (!notNullorUndefined(value)) {
1041
- return nullValue;
1042
- }
1043
-
1044
- let attributeValue;
1045
- if (type === ALL_FIELD_TYPES.timestamp) {
1046
- // shouldn't need to convert here
1047
- // scale Function should take care of it
1048
- attributeValue = scale(new Date(value), colorColumnValue);
1049
- } else {
1050
- attributeValue = scale(value, colorColumnValue);
1051
- }
1052
-
1053
- if (!notNullorUndefined(attributeValue)) {
1054
- attributeValue = nullValue;
1055
- }
1056
-
1057
- return attributeValue;
1058
- }
1059
-
1060
- updateMeta(meta) {
1061
- this.meta = {...this.meta, ...meta};
1062
- }
1063
-
1064
- updateLayerLegend(settings) {
1065
- this.legendSettings = settings;
1066
- }
1067
-
1068
- getDataUpdateTriggers({filteredIndex, id, allData}) {
1069
- const {columns} = this.config;
1070
-
1071
- return {
1072
- getData: {datasetId: id, allData, columns, filteredIndex},
1073
- getMeta: {datasetId: id, allData, columns},
1074
- ...(this.config.textLabel || []).reduce(
1075
- (accu, tl, i) => ({
1076
- ...accu,
1077
- [`getLabelCharacterSet-${i}`]: tl.field ? tl.field.name : null
1078
- }),
1079
- {}
1080
- )
1081
- };
1082
- }
1083
-
1084
- updateData(datasets, oldLayerData) {
1085
- if (!this.config.dataId) {
1086
- return {};
1087
- }
1088
- const dataset = this.getDataset(datasets);
1089
- const {dataContainer} = dataset;
1090
-
1091
- this.updateVisualChannelFields(dataset);
1092
- this.updateHexColorDomain(dataset);
1093
-
1094
- const getPosition = this.getPositionAccessor(dataContainer);
1095
- const dataUpdateTriggers = this.getDataUpdateTriggers(dataset);
1096
- const triggerChanged = this.getChangedTriggers(dataUpdateTriggers);
1097
-
1098
- if (triggerChanged.getMeta) {
1099
- this.updateLayerMeta(dataContainer, getPosition);
1100
- }
1101
-
1102
- let data = [];
1103
-
1104
- if (!triggerChanged.getData && oldLayerData && oldLayerData.data) {
1105
- // same data
1106
- data = oldLayerData.data;
1107
- } else {
1108
- data = this.calculateDataAttribute(dataset, getPosition);
1109
- }
1110
-
1111
- return {data, triggerChanged};
1112
- }
1113
-
1114
- /**
1115
- * Update styled fields to match ones from new dataset.
1116
- *
1117
- * @param {Object} dataset
1118
- */
1119
- updateVisualChannelFields(dataset) {
1120
- for (const {field, range} of Object.values(this.visualChannels)) {
1121
- const oldField = this.config[field];
1122
- const isUsingHexColorCode = this.config.visConfig[range]?.hexColor;
1123
- if (!oldField) {
1124
- return;
1125
- }
1126
- let newDataSetField = dataset.fields.find(fd => fd.name === oldField.name) || null;
1127
- if (isUsingHexColorCode) {
1128
- newDataSetField = {
1129
- ...newDataSetField,
1130
- colorColumn: newDataSetField.colorColumn || oldField.colorColumn,
1131
- colorColumnIdx: newDataSetField.colorColumnIdx || oldField.colorColumnIdx
1132
- };
1133
- }
1134
- this.updateLayerConfig({[field]: newDataSetField});
1135
- }
1136
- }
1137
-
1138
- /**
1139
- * helper function to update one layer domain when state.data changed
1140
- * if state.data change is due ot update filter, newFiler will be passed
1141
- * called by updateAllLayerDomainData
1142
- * @param {Object} datasets
1143
- * @param {Object} newFilter
1144
- * @returns {object} layer
1145
- */
1146
- updateLayerDomain(datasets, newFilter) {
1147
- const table = this.getDataset(datasets);
1148
- if (!table) {
1149
- return this;
1150
- }
1151
- Object.values(this.visualChannels).forEach(channel => {
1152
- const {scale} = channel;
1153
- const scaleType = this.config[scale];
1154
-
1155
- // ordinal domain is based on dataContainer, if only filter changed
1156
- // no need to update ordinal domain
1157
- if (!newFilter || scaleType !== SCALE_TYPES.ordinal) {
1158
- const {domain} = channel;
1159
- const updatedDomain = this.calculateLayerDomain(table, channel);
1160
- this.updateLayerConfig({[domain]: updatedDomain});
1161
- }
1162
- });
1163
-
1164
- return this;
1165
- }
1166
-
1167
- getDataset(datasets) {
1168
- return this.config.dataId ? datasets[this.config.dataId] : null;
1169
- }
1170
-
1171
- /**
1172
- * Validate visual channel field and scales based on supported field & scale type
1173
- * @param channel
1174
- */
1175
- validateVisualChannel(channel) {
1176
- this.validateFieldType(channel);
1177
- this.validateScale(channel);
1178
- }
1179
-
1180
- /**
1181
- * Validate field type based on channelScaleType
1182
- */
1183
- validateFieldType(channel) {
1184
- const visualChannel = this.visualChannels[channel];
1185
- const {field, channelScaleType, supportedFieldTypes} = visualChannel;
1186
-
1187
- if (this.config[field]) {
1188
- // if field is selected, check if field type is supported
1189
- const channelSupportedFieldTypes =
1190
- supportedFieldTypes || CHANNEL_SCALE_SUPPORTED_FIELDS[channelScaleType];
1191
-
1192
- if (!channelSupportedFieldTypes.includes(this.config[field].type)) {
1193
- // field type is not supported, set it back to null
1194
- // set scale back to default
1195
- this.updateLayerConfig({[field]: null});
1196
- }
1197
- }
1198
- }
1199
-
1200
- /**
1201
- * Validate scale type based on aggregation
1202
- */
1203
- validateScale(channel) {
1204
- const visualChannel = this.visualChannels[channel];
1205
- const {scale, range} = visualChannel;
1206
- if (
1207
- !scale ||
1208
- (this.isColoredByColorColumn(range) && this.config[scale] === SCALE_TYPES.identity)
1209
- ) {
1210
- // visualChannel doesn't have scale
1211
- return;
1212
- }
1213
- const scaleOptions = this.getScaleOptions(channel);
1214
- // check if current selected scale is
1215
- // supported, if not, change to default
1216
- if (!scaleOptions.includes(this.config[scale])) {
1217
- this.updateLayerConfig({[scale]: scaleOptions[0]});
1218
- }
1219
- }
1220
-
1221
- /**
1222
- * Get scale options based on current field
1223
- * @param {string} channel
1224
- * @returns {string[]}
1225
- */
1226
- getScaleOptions(channel) {
1227
- const visualChannel = this.visualChannels[channel];
1228
- const {field, scale, channelScaleType} = visualChannel;
1229
-
1230
- return this.config[field]
1231
- ? FIELD_OPTS[this.config[field].type].scale[channelScaleType]
1232
- : [this.getDefaultLayerConfig()[scale]];
1233
- }
1234
-
1235
- updateLayerVisualChannel(dataset, channel) {
1236
- const visualChannel = this.visualChannels[channel];
1237
- this.validateVisualChannel(channel);
1238
- // calculate layer channel domain
1239
- const updatedDomain = this.calculateLayerDomain(dataset, visualChannel);
1240
- this.updateLayerConfig({[visualChannel.domain]: updatedDomain});
1241
- }
1242
-
1243
- getVisualChannelUpdateTriggers() {
1244
- const updateTriggers = {};
1245
- Object.values(this.visualChannels).forEach(visualChannel => {
1246
- // field range scale domain
1247
- const {accessor, field, scale, domain, range, defaultValue, fixed} = visualChannel;
1248
-
1249
- updateTriggers[accessor] = {
1250
- [field]: this.config[field],
1251
- [scale]: this.config[scale],
1252
- [domain]: this.config[domain],
1253
- [range]: this.config.visConfig[range],
1254
- defaultValue: typeof defaultValue === 'function' ? defaultValue(this.config) : defaultValue,
1255
- ...(fixed ? {[fixed]: this.config.visConfig[fixed]} : {})
1256
- };
1257
- });
1258
- return updateTriggers;
1259
- }
1260
-
1261
- calculateLayerDomain(dataset, visualChannel) {
1262
- const {scale} = visualChannel;
1263
- const field = this.config[visualChannel.field];
1264
- if (!field || !scale) {
1265
- // if colorField or sizeField were set back to null
1266
- return defaultDomain;
1267
- }
1268
-
1269
- const scaleType = this.config[scale];
1270
- const dataSetField = dataset.fields.find(f => f.name === field.name);
1271
- if (!scaleType || !dataSetField) {
1272
- // if new dataset doesn't contain previously set field
1273
- return defaultDomain;
1274
- }
1275
-
1276
- return dataset.getColumnLayerDomain(dataSetField, scaleType) || defaultDomain;
1277
- }
1278
-
1279
- updateHexColorDomain(dataset) {
1280
- if (!dataset) {
1281
- return this;
1282
- }
1283
- Object.values(this.visualChannels).forEach(channel => {
1284
- const channelConfig = this.config.visConfig[channel.range];
1285
- const field = this.config[channel.field];
1286
-
1287
- if (channelConfig?.type === hexColor && field?.colorColumn) {
1288
- const dataSetField = dataset.fields.find(f => f.name === field.colorColumn);
1289
- const colors = dataset
1290
- .getColumnLayerDomain(dataSetField, SCALE_TYPES.ordinal)
1291
- .map(c => checkColorOrFallback(c));
1292
- this.updateLayerVisConfig({
1293
- [channel.range]: {...channelConfig, colors}
1294
- });
1295
- }
1296
- });
1297
-
1298
- return this;
1299
- }
1300
-
1301
- calculateHexColumnLegend(datasets) {
1302
- const dataset = this.getDataset(datasets);
1303
- if (!datasets) {
1304
- return;
1305
- }
1306
-
1307
- const legendSettings = Object.keys(this.visualChannels).reduce((legends, channel) => {
1308
- const {range, field: channelField} = this.visualChannels[channel];
1309
- const channelConfig = this.config.visConfig[range];
1310
- const field = this.config[channelField];
1311
-
1312
- if (channelConfig?.type === hexColor && field?.colorColumn) {
1313
- const dataSetField = dataset.fields.find(f => f.name === field.colorColumn);
1314
- const legend = dataset.calculateLegend(field, dataSetField);
1315
- legends[channel] = legend;
1316
- }
1317
- return legends;
1318
- }, {});
1319
- this.updateLayerLegend(legendSettings);
1320
- }
1321
-
1322
- hasHoveredObject(objectInfo) {
1323
- return this.isLayerHovered(objectInfo) && objectInfo.object ? objectInfo.object : null;
1324
- }
1325
-
1326
- isLayerHovered(objectInfo) {
1327
- return objectInfo?.picked && objectInfo?.layer?.props?.id === this.id;
1328
- }
1329
-
1330
- getRadiusScaleByZoom(mapState) {
1331
- const radiusChannel = Object.values(this.visualChannels).find(vc => vc.property === 'radius');
1332
-
1333
- if (!radiusChannel) {
1334
- return 1;
1335
- }
1336
-
1337
- const field = radiusChannel.field;
1338
- const {radius} = this.config.visConfig;
1339
-
1340
- // @ts-ignore
1341
- return (this.config[field] ? 1 : radius) * this.getZoomFactor(mapState);
1342
- }
1343
-
1344
- getRadiusScale() {
1345
- const radiusChannel = Object.values(this.visualChannels).find(vc => vc.property === 'radius');
1346
-
1347
- if (!radiusChannel || this.config[radiusChannel.field]) {
1348
- return 1;
1349
- }
1350
-
1351
- return this.config.visConfig.radius;
1352
- }
1353
-
1354
- getMaxMarkerSize() {
1355
- const {radiusField, sizeField, visConfig} = this.config;
1356
- const {radiusRange, radius} = visConfig;
1357
- const field = radiusField || sizeField;
1358
- return Math.ceil((field && radiusRange ? radiusRange[1] : radius));
1359
- }
1360
-
1361
- shouldCalculateLayerData(props) {
1362
- return props.some(p => !this.noneLayerDataAffectingProps.includes(p));
1363
- }
1364
-
1365
- getBrushingExtensionProps(interactionConfig, brushingTarget) {
1366
- const {brush} = interactionConfig;
1367
-
1368
- return {
1369
- // brushing
1370
- autoHighlight: !brush.enabled,
1371
- brushingRadius: brush.config.size * 1000,
1372
- brushingTarget: brushingTarget || 'source',
1373
- brushingEnabled: brush.enabled
1374
- };
1375
- }
1376
-
1377
- getDefaultDeckLayerProps({idx, gpuFilter, mapState, visible, maskPolygon}) {
1378
- const maskExtensionProps = getMaskExtensionProps(maskPolygon);
1379
- return {
1380
- ...maskExtensionProps,
1381
- id: this.id,
1382
- idx,
1383
- coordinateSystem: COORDINATE_SYSTEM.LNGLAT,
1384
- pickable: this.hasInteractivity,
1385
- wrapLongitude: true,
1386
- parameters: {depthTest: Boolean(mapState.dragRotate || this.config.visConfig.enable3d)},
1387
- hidden: this.config.hidden,
1388
- visibilityByZoom: this.config.visibilityByZoom,
1389
- // visconfig
1390
- opacity: this.config.visConfig.opacity,
1391
- highlightColor: this.config.highlightColor,
1392
- // data filtering
1393
- extensions: [dataFilterExtension, ...maskExtensionProps.extensions],
1394
- filterRange: gpuFilter ? gpuFilter.filterRange : undefined,
1395
- // layer should be visible and if splitMap, shown in to one of panel
1396
- visible: this.config.isVisible && visible
1397
- };
1398
- }
1399
-
1400
- getDefaultHoverLayerProps() {
1401
- return {
1402
- id: `${this.id}-hovered`,
1403
- pickable: false,
1404
- wrapLongitude: true,
1405
- coordinateSystem: COORDINATE_SYSTEM.LNGLAT
1406
- };
1407
- }
1408
-
1409
- renderTextLabelLayer(
1410
- {getPosition, getRadius, radiusScale, updateTriggers, sharedProps},
1411
- renderOpts
1412
- ) {
1413
- const {data} = renderOpts;
1414
- const {textLabel, visibilityByZoom} = this.config;
1415
- const extensions = [...sharedProps.extensions, collisionFilterExtension];
1416
-
1417
- if (!data || !data.textLabels || !data.textLabels[0] || !data.textLabels[0].getText) {
1418
- return [];
1419
- }
1420
-
1421
- const [mainLabel, secondaryLabel] = textLabel;
1422
- const {
1423
- alignment,
1424
- anchor,
1425
- color: getColor,
1426
- field: mainField,
1427
- outlineColor,
1428
- size: sizeScale
1429
- } = mainLabel;
1430
- const {
1431
- color: getSecondaryColor,
1432
- field: secondaryField,
1433
- outlineColor: secondaryOutlineColor,
1434
- size: secondarySizeScale
1435
- } = secondaryLabel || {};
1436
-
1437
- return [
1438
- new PointLabelLayer({
1439
- ...sharedProps,
1440
-
1441
- // Recreate layer when labels change otherwise rendering breaks
1442
- // TODO could be more efficient with updateTriggers?
1443
- id: `${this.id}-${mainField?.name}-${secondaryField?.name}-label`,
1444
- data: data.data,
1445
- visibilityByZoom,
1446
- extensions,
1447
-
1448
- characterSet: 'auto',
1449
- collisionEnabled: true,
1450
- collisionGroup: `${this.id}-labels`,
1451
-
1452
- getText: data.textLabels[0].getText,
1453
- getColor,
1454
- sizeScale,
1455
- outlineColor,
1456
-
1457
- ...(secondaryField && {
1458
- getSecondaryText: data.textLabels[1].getText,
1459
- getSecondaryColor,
1460
- secondarySizeScale,
1461
- secondaryOutlineColor
1462
- }),
1463
-
1464
- // Position
1465
- getPosition,
1466
- getRadius,
1467
- radiusScale,
1468
- getTextAnchor: anchor,
1469
- getAlignmentBaseline: alignment,
1470
-
1471
- // Style
1472
- fontFamily: 'Inter, sans',
1473
- fontSettings: {sdf: true},
1474
- fontWeight: 500,
1475
- outlineWidth: 4,
1476
- parameters: {
1477
- // text will always show on top of all layers
1478
- depthTest: false
1479
- },
1480
-
1481
- getFilterValue: data.getFilterValue,
1482
- updateTriggers: {
1483
- ...updateTriggers,
1484
- getText: mainField?.name,
1485
- getColor: mainField?.color,
1486
- getTextAnchor: mainLabel.anchor,
1487
- getAlignmentBaseline: mainLabel.alignment,
1488
- getSecondaryText: secondaryField?.name
1489
- }
1490
- })
1491
- ];
1492
- }
1493
-
1494
- /**
1495
- * Create deck.gl `IconLayer` "autoPack" mode accessor for custom markers.
1496
- *
1497
- * @param {*} iconUrlAccessor deck.gl accessor (or value) that resolves to URL of icon for given row
1498
- * @returns deck.gl accessor that returns UnpackedIcon ready to consume by IconLayer
1499
- */
1500
- getCustomMarkerIconAccessor(iconUrlAccessor, mask = true) {
1501
- const maxIconSize = this.getMaxMarkerSize();
1502
-
1503
- return d => {
1504
- const wantedUrl =
1505
- (typeof iconUrlAccessor === 'function') ? iconUrlAccessor(d) : iconUrlAccessor;
1506
- const iconOk = Boolean(wantedUrl);
1507
- mask = iconOk ? mask : true;
1508
- const url = iconOk ? wantedUrl : FALLBACK_ICON;
1509
- return {
1510
- id: `${url}@@${maxIconSize}@${mask ? 'm' : 'c'}`,
1511
- url,
1512
- width: maxIconSize,
1513
- height: maxIconSize,
1514
- mask
1515
- };
1516
- };
1517
- }
1518
-
1519
- calculateDataAttribute(keplerTable, getPosition) {
1520
- // implemented in subclasses
1521
- return [];
1522
- }
1523
-
1524
- updateLayerMeta(dataContainer, getPosition) {
1525
- // implemented in subclasses
1526
- }
1527
-
1528
- getPositionAccessor(dataContainer) {
1529
- // implemented in subclasses
1530
- return () => null;
1531
- }
1532
-
1533
- getHexColumn(range) {
1534
- const field = Object.values(this.visualChannels)?.find(value => value.range === range)?.field;
1535
- if (field) {
1536
- return this.config[field]?.colorColumn;
1537
- }
1538
- }
1539
-
1540
- isColoredByColorColumn(range) {
1541
- return this.config.visConfig[range]?.hexColor;
1542
- }
1543
- }
1544
-
1545
- export default Layer;