@carto/kepler.gl 0.0.1-alpha.map-libre
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.
- package/CHANGELOG.md +939 -0
- package/LICENSE +19 -0
- package/README.md +63 -0
- package/actions.js +21 -0
- package/cloud-providers.js +21 -0
- package/components.js +21 -0
- package/constants.js +21 -0
- package/dist/actions/action-wrapper.js +218 -0
- package/dist/actions/actions.js +198 -0
- package/dist/actions/identity-actions.js +105 -0
- package/dist/actions/index.js +161 -0
- package/dist/actions/map-state-actions.js +112 -0
- package/dist/actions/map-style-actions.js +167 -0
- package/dist/actions/provider-actions.js +129 -0
- package/dist/actions/ui-state-actions.js +316 -0
- package/dist/actions/vis-state-actions.js +1045 -0
- package/dist/cloud-providers/index.js +22 -0
- package/dist/cloud-providers/provider.js +386 -0
- package/dist/components/bottom-widget.js +215 -0
- package/dist/components/common/action-panel.js +134 -0
- package/dist/components/common/animation-control/animation-control.js +126 -0
- package/dist/components/common/animation-control/animation-controller.js +273 -0
- package/dist/components/common/animation-control/animation-speed-slider.js +101 -0
- package/dist/components/common/animation-control/floating-time-display.js +157 -0
- package/dist/components/common/animation-control/playback-controls.js +278 -0
- package/dist/components/common/animation-control/speed-control.js +68 -0
- package/dist/components/common/checkbox.js +155 -0
- package/dist/components/common/color-legend.js +249 -0
- package/dist/components/common/data-table/button.js +46 -0
- package/dist/components/common/data-table/canvas.js +32 -0
- package/dist/components/common/data-table/cell-size.js +174 -0
- package/dist/components/common/data-table/grid.js +84 -0
- package/dist/components/common/data-table/index.js +514 -0
- package/dist/components/common/data-table/option-dropdown.js +103 -0
- package/dist/components/common/dataset-label.js +36 -0
- package/dist/components/common/error-boundary.js +83 -0
- package/dist/components/common/field-selector.js +282 -0
- package/dist/components/common/field-token.js +42 -0
- package/dist/components/common/file-uploader/file-drop.js +227 -0
- package/dist/components/common/file-uploader/file-upload-progress.js +102 -0
- package/dist/components/common/file-uploader/file-upload.js +304 -0
- package/dist/components/common/file-uploader/upload-button.js +111 -0
- package/dist/components/common/histogram-plot.js +102 -0
- package/dist/components/common/icons/add.js +64 -0
- package/dist/components/common/icons/anchor_window.js +62 -0
- package/dist/components/common/icons/arrow-down-alt.js +64 -0
- package/dist/components/common/icons/arrow-down-solid .js +64 -0
- package/dist/components/common/icons/arrow-down.js +64 -0
- package/dist/components/common/icons/arrow-left.js +67 -0
- package/dist/components/common/icons/arrow-right.js +64 -0
- package/dist/components/common/icons/arrow-up-alt.js +65 -0
- package/dist/components/common/icons/arrow-up-solid.js +64 -0
- package/dist/components/common/icons/arrow-up.js +64 -0
- package/dist/components/common/icons/base.js +110 -0
- package/dist/components/common/icons/bug.js +66 -0
- package/dist/components/common/icons/cancel.js +64 -0
- package/dist/components/common/icons/checkmark.js +71 -0
- package/dist/components/common/icons/chevron-right.js +69 -0
- package/dist/components/common/icons/clipboard.js +65 -0
- package/dist/components/common/icons/clock.js +66 -0
- package/dist/components/common/icons/close.js +69 -0
- package/dist/components/common/icons/code-alt.js +68 -0
- package/dist/components/common/icons/copy.js +70 -0
- package/dist/components/common/icons/crosshairs.js +68 -0
- package/dist/components/common/icons/cube-3d.js +68 -0
- package/dist/components/common/icons/cursor-click.js +68 -0
- package/dist/components/common/icons/data-table.js +65 -0
- package/dist/components/common/icons/db.js +65 -0
- package/dist/components/common/icons/delete.js +65 -0
- package/dist/components/common/icons/docs.js +80 -0
- package/dist/components/common/icons/drag-n-drop.js +66 -0
- package/dist/components/common/icons/draw-polygon.js +87 -0
- package/dist/components/common/icons/email.js +68 -0
- package/dist/components/common/icons/expand.js +66 -0
- package/dist/components/common/icons/eye-seen.js +66 -0
- package/dist/components/common/icons/eye-unseen.js +66 -0
- package/dist/components/common/icons/file-type.js +45 -0
- package/dist/components/common/icons/file.js +64 -0
- package/dist/components/common/icons/files.js +66 -0
- package/dist/components/common/icons/filter-funnel.js +64 -0
- package/dist/components/common/icons/free-window.js +62 -0
- package/dist/components/common/icons/gear.js +66 -0
- package/dist/components/common/icons/hash.js +64 -0
- package/dist/components/common/icons/histogram.js +64 -0
- package/dist/components/common/icons/index.js +612 -0
- package/dist/components/common/icons/info.js +78 -0
- package/dist/components/common/icons/layers.js +64 -0
- package/dist/components/common/icons/left-arrow.js +68 -0
- package/dist/components/common/icons/legend.js +64 -0
- package/dist/components/common/icons/line-chart.js +63 -0
- package/dist/components/common/icons/login.js +66 -0
- package/dist/components/common/icons/logout.js +65 -0
- package/dist/components/common/icons/map-icon.js +73 -0
- package/dist/components/common/icons/map.js +73 -0
- package/dist/components/common/icons/messages.js +64 -0
- package/dist/components/common/icons/minus.js +64 -0
- package/dist/components/common/icons/pause.js +64 -0
- package/dist/components/common/icons/picture.js +66 -0
- package/dist/components/common/icons/pin.js +64 -0
- package/dist/components/common/icons/play.js +64 -0
- package/dist/components/common/icons/polygon.js +89 -0
- package/dist/components/common/icons/rectangle.js +90 -0
- package/dist/components/common/icons/reduce.js +67 -0
- package/dist/components/common/icons/reset.js +64 -0
- package/dist/components/common/icons/rocket.js +64 -0
- package/dist/components/common/icons/save.js +66 -0
- package/dist/components/common/icons/save2.js +70 -0
- package/dist/components/common/icons/search.js +66 -0
- package/dist/components/common/icons/settings.js +66 -0
- package/dist/components/common/icons/share.js +64 -0
- package/dist/components/common/icons/split.js +92 -0
- package/dist/components/common/icons/square-select.js +66 -0
- package/dist/components/common/icons/swap-horizontal.js +68 -0
- package/dist/components/common/icons/table.js +63 -0
- package/dist/components/common/icons/trash.js +66 -0
- package/dist/components/common/icons/upload.js +65 -0
- package/dist/components/common/icons/vert-dots.js +102 -0
- package/dist/components/common/icons/vert-three-dots.js +77 -0
- package/dist/components/common/icons/warning.js +79 -0
- package/dist/components/common/image-preview.js +73 -0
- package/dist/components/common/info-helper.js +84 -0
- package/dist/components/common/item-selector/accessor.js +56 -0
- package/dist/components/common/item-selector/chickleted-input.js +118 -0
- package/dist/components/common/item-selector/dropdown-list.js +316 -0
- package/dist/components/common/item-selector/item-selector-submenu.js +99 -0
- package/dist/components/common/item-selector/item-selector.js +363 -0
- package/dist/components/common/item-selector/typeahead.js +496 -0
- package/dist/components/common/line-chart.js +125 -0
- package/dist/components/common/loading-spinner.js +58 -0
- package/dist/components/common/logo.js +92 -0
- package/dist/components/common/map-layer-selector.js +50 -0
- package/dist/components/common/modal.js +204 -0
- package/dist/components/common/portaled.js +317 -0
- package/dist/components/common/progress-bar.js +56 -0
- package/dist/components/common/range-brush.js +319 -0
- package/dist/components/common/range-plot.js +148 -0
- package/dist/components/common/range-slider.js +346 -0
- package/dist/components/common/slider/mouse-event.js +136 -0
- package/dist/components/common/slider/slider-bar-handle.js +122 -0
- package/dist/components/common/slider/slider-handle.js +167 -0
- package/dist/components/common/slider/slider.js +268 -0
- package/dist/components/common/styled-components.js +395 -0
- package/dist/components/common/switch.js +47 -0
- package/dist/components/common/time-range-slider-time-title.js +74 -0
- package/dist/components/common/time-range-slider.js +131 -0
- package/dist/components/common/time-slider-marker.js +141 -0
- package/dist/components/common/toolbar-item.js +67 -0
- package/dist/components/common/toolbar.js +33 -0
- package/dist/components/common/vertical-toolbar.js +22 -0
- package/dist/components/container.js +217 -0
- package/dist/components/context.js +42 -0
- package/dist/components/editor/constants.js +47 -0
- package/dist/components/editor/editor.js +274 -0
- package/dist/components/editor/feature-action-panel.js +154 -0
- package/dist/components/editor/feature-styles.js +72 -0
- package/dist/components/editor/handle-style.js +80 -0
- package/dist/components/filters/components.js +20 -0
- package/dist/components/filters/filter-panels/filter-panel-with-field-select.js +110 -0
- package/dist/components/filters/filter-panels/multi-select-filter-panel.js +80 -0
- package/dist/components/filters/filter-panels/new-filter-panel.js +101 -0
- package/dist/components/filters/filter-panels/polygon-filter-panel.js +102 -0
- package/dist/components/filters/filter-panels/range-filter-panel.js +80 -0
- package/dist/components/filters/filter-panels/single-select-filter-panel.js +80 -0
- package/dist/components/filters/filter-panels/time-range-filter-panel.js +92 -0
- package/dist/components/filters/index.js +48 -0
- package/dist/components/filters/multi-select-filter.js +54 -0
- package/dist/components/filters/polygon-filter.js +96 -0
- package/dist/components/filters/range-filter.js +53 -0
- package/dist/components/filters/single-select-filter.js +63 -0
- package/dist/components/filters/time-range-filter.js +86 -0
- package/dist/components/filters/time-widget.js +173 -0
- package/dist/components/geocoder/geocoder.js +315 -0
- package/dist/components/geocoder-panel.js +224 -0
- package/dist/components/index.js +1485 -0
- package/dist/components/injector.js +178 -0
- package/dist/components/kepler-gl.js +563 -0
- package/dist/components/map/coordinate-info.js +68 -0
- package/dist/components/map/layer-hover-info.js +176 -0
- package/dist/components/map/layer-selector-panel.js +116 -0
- package/dist/components/map/locale-panel.js +113 -0
- package/dist/components/map/map-control-panel.js +79 -0
- package/dist/components/map/map-control-toolbar.js +25 -0
- package/dist/components/map/map-control-tooltip.js +55 -0
- package/dist/components/map/map-control.js +80 -0
- package/dist/components/map/map-draw-panel.js +142 -0
- package/dist/components/map/map-legend-panel.js +124 -0
- package/dist/components/map/map-legend.js +244 -0
- package/dist/components/map/map-popover.js +204 -0
- package/dist/components/map/split-map-button.js +98 -0
- package/dist/components/map/toggle-3d-button.js +86 -0
- package/dist/components/map-container.js +562 -0
- package/dist/components/maps-layout.js +58 -0
- package/dist/components/modal-container.js +536 -0
- package/dist/components/modals/add-map-style-modal.js +288 -0
- package/dist/components/modals/cloud-tile.js +124 -0
- package/dist/components/modals/data-table-modal.js +249 -0
- package/dist/components/modals/delete-data-modal.js +54 -0
- package/dist/components/modals/error-display.js +51 -0
- package/dist/components/modals/export-data-modal.js +227 -0
- package/dist/components/modals/export-image-modal.js +136 -0
- package/dist/components/modals/export-map-modal/components.js +51 -0
- package/dist/components/modals/export-map-modal/export-html-map.js +141 -0
- package/dist/components/modals/export-map-modal/export-json-map.js +87 -0
- package/dist/components/modals/export-map-modal/export-map-modal.js +133 -0
- package/dist/components/modals/image-modal-container.js +90 -0
- package/dist/components/modals/load-data-modal.js +97 -0
- package/dist/components/modals/load-storage-map.js +288 -0
- package/dist/components/modals/loading-dialog.js +48 -0
- package/dist/components/modals/modal-dialog.js +37 -0
- package/dist/components/modals/modal-tabs.js +99 -0
- package/dist/components/modals/overwrite-map-modal.js +80 -0
- package/dist/components/modals/provider-modal-container.js +84 -0
- package/dist/components/modals/save-map-modal.js +207 -0
- package/dist/components/modals/share-map-modal.js +202 -0
- package/dist/components/modals/status-panel.js +83 -0
- package/dist/components/modals/storage-map-viewer.js +135 -0
- package/dist/components/notification-panel/notification-item.js +164 -0
- package/dist/components/notification-panel.js +87 -0
- package/dist/components/performance.js +134 -0
- package/dist/components/plot-container.js +275 -0
- package/dist/components/side-panel/cloud-storage-dropdown.js +63 -0
- package/dist/components/side-panel/common/dataset-info.js +43 -0
- package/dist/components/side-panel/common/dataset-tag.js +42 -0
- package/dist/components/side-panel/common/dataset-title.js +170 -0
- package/dist/components/side-panel/common/source-data-catalog.js +60 -0
- package/dist/components/side-panel/common/source-data-selector.js +120 -0
- package/dist/components/side-panel/custom-panel.js +60 -0
- package/dist/components/side-panel/filter-manager.js +132 -0
- package/dist/components/side-panel/filter-panel/filter-panel-header.js +70 -0
- package/dist/components/side-panel/filter-panel/filter-panel.js +145 -0
- package/dist/components/side-panel/interaction-manager.js +58 -0
- package/dist/components/side-panel/interaction-panel/brush-config.js +54 -0
- package/dist/components/side-panel/interaction-panel/interaction-panel.js +168 -0
- package/dist/components/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +250 -0
- package/dist/components/side-panel/interaction-panel/tooltip-config.js +163 -0
- package/dist/components/side-panel/layer-manager.js +321 -0
- package/dist/components/side-panel/layer-panel/color-dimension-scale-selector.js +45 -0
- package/dist/components/side-panel/layer-panel/color-palette.js +83 -0
- package/dist/components/side-panel/layer-panel/color-range-selector.js +370 -0
- package/dist/components/side-panel/layer-panel/color-selector.js +226 -0
- package/dist/components/side-panel/layer-panel/column-selector.js +65 -0
- package/dist/components/side-panel/layer-panel/custom-markers-config-group.js +40 -0
- package/dist/components/side-panel/layer-panel/custom-palette.js +318 -0
- package/dist/components/side-panel/layer-panel/custom-picker.js +128 -0
- package/dist/components/side-panel/layer-panel/dimension-scale-selector.js +61 -0
- package/dist/components/side-panel/layer-panel/layer-aggregation-resolution.js +26 -0
- package/dist/components/side-panel/layer-panel/layer-column-config.js +93 -0
- package/dist/components/side-panel/layer-panel/layer-config-group.js +245 -0
- package/dist/components/side-panel/layer-panel/layer-configurator.js +977 -0
- package/dist/components/side-panel/layer-panel/layer-panel-header.js +222 -0
- package/dist/components/side-panel/layer-panel/layer-panel.js +201 -0
- package/dist/components/side-panel/layer-panel/layer-type-dropdown-list.js +89 -0
- package/dist/components/side-panel/layer-panel/layer-type-list-item.js +71 -0
- package/dist/components/side-panel/layer-panel/layer-type-selector.js +96 -0
- package/dist/components/side-panel/layer-panel/layer-visibility-by-zoom.js +111 -0
- package/dist/components/side-panel/layer-panel/single-color-palette.js +109 -0
- package/dist/components/side-panel/layer-panel/text-label-panel.js +175 -0
- package/dist/components/side-panel/layer-panel/vis-config-by-field-selector.js +174 -0
- package/dist/components/side-panel/layer-panel/vis-config-slider.js +90 -0
- package/dist/components/side-panel/layer-panel/vis-config-switch.js +84 -0
- package/dist/components/side-panel/map-manager.js +155 -0
- package/dist/components/side-panel/map-style-panel/map-layer-selector.js +106 -0
- package/dist/components/side-panel/map-style-panel/map-style-selector.js +78 -0
- package/dist/components/side-panel/panel-dropdown.js +86 -0
- package/dist/components/side-panel/panel-header-action.js +121 -0
- package/dist/components/side-panel/panel-header.js +351 -0
- package/dist/components/side-panel/panel-tab.js +68 -0
- package/dist/components/side-panel/panel-title.js +28 -0
- package/dist/components/side-panel/panel-toggle.js +69 -0
- package/dist/components/side-panel/side-bar.js +164 -0
- package/dist/components/side-panel.js +242 -0
- package/dist/connect/keplergl-connect.js +68 -0
- package/dist/connect/with-local-selector.js +110 -0
- package/dist/constants/action-types.js +180 -0
- package/dist/constants/color-palette.js +547 -0
- package/dist/constants/color-ranges.js +70 -0
- package/dist/constants/custom-color-ranges.js +415 -0
- package/dist/constants/default-settings.js +902 -0
- package/dist/constants/index.js +370 -0
- package/dist/constants/keyevent.js +47 -0
- package/dist/constants/tooltip.js +205 -0
- package/dist/constants/user-feedbacks.js +33 -0
- package/dist/constants/user-guides.js +44 -0
- package/dist/deckgl-layers/3d-building-layer/3d-building-layer.js +88 -0
- package/dist/deckgl-layers/3d-building-layer/3d-building-utils.js +214 -0
- package/dist/deckgl-layers/cluster-layer/cluster-layer.js +334 -0
- package/dist/deckgl-layers/column-layer/enhanced-column-layer.js +78 -0
- package/dist/deckgl-layers/grid-layer/enhanced-cpu-grid-layer.js +96 -0
- package/dist/deckgl-layers/hexagon-layer/enhanced-hexagon-layer.js +96 -0
- package/dist/deckgl-layers/layer-utils/cluster-utils.js +119 -0
- package/dist/deckgl-layers/layer-utils/cpu-aggregator.js +643 -0
- package/dist/deckgl-layers/layer-utils/shader-utils.js +50 -0
- package/dist/deckgl-layers/line-layer/line-layer.js +111 -0
- package/dist/deckgl-layers/svg-icon-layer/scatterplot-icon-layer.js +78 -0
- package/dist/deckgl-layers/svg-icon-layer/svg-icon-layer.js +120 -0
- package/dist/index.js +155 -0
- package/dist/layers/aggregation-layer.js +416 -0
- package/dist/layers/arc-layer/arc-layer-icon.js +77 -0
- package/dist/layers/arc-layer/arc-layer.js +275 -0
- package/dist/layers/base-layer.js +1688 -0
- package/dist/layers/cluster-layer/cluster-layer-icon.js +80 -0
- package/dist/layers/cluster-layer/cluster-layer.js +151 -0
- package/dist/layers/default-layer-icon.js +87 -0
- package/dist/layers/geojson-layer/geojson-layer-icon.js +91 -0
- package/dist/layers/geojson-layer/geojson-layer.js +446 -0
- package/dist/layers/geojson-layer/geojson-utils.js +183 -0
- package/dist/layers/grid-layer/grid-layer-icon.js +136 -0
- package/dist/layers/grid-layer/grid-layer.js +115 -0
- package/dist/layers/grid-layer/grid-utils.js +62 -0
- package/dist/layers/h3-hexagon-layer/h3-hexagon-layer-icon.js +71 -0
- package/dist/layers/h3-hexagon-layer/h3-hexagon-layer.js +346 -0
- package/dist/layers/h3-hexagon-layer/h3-utils.js +97 -0
- package/dist/layers/heatmap-layer/heatmap-layer-icon.js +88 -0
- package/dist/layers/heatmap-layer/heatmap-layer.js +269 -0
- package/dist/layers/hexagon-layer/hexagon-layer-icon.js +100 -0
- package/dist/layers/hexagon-layer/hexagon-layer.js +120 -0
- package/dist/layers/hexagon-layer/hexagon-utils.js +74 -0
- package/dist/layers/icon-layer/icon-info-modal.js +117 -0
- package/dist/layers/icon-layer/icon-layer-icon.js +73 -0
- package/dist/layers/icon-layer/icon-layer.js +392 -0
- package/dist/layers/index.js +97 -0
- package/dist/layers/layer-factory.js +499 -0
- package/dist/layers/layer-text-label.js +72 -0
- package/dist/layers/layer-update.js +85 -0
- package/dist/layers/line-layer/line-layer-icon.js +79 -0
- package/dist/layers/line-layer/line-layer.js +209 -0
- package/dist/layers/mapbox-utils.js +204 -0
- package/dist/layers/mapboxgl-layer.js +210 -0
- package/dist/layers/point-layer/point-layer-icon.js +94 -0
- package/dist/layers/point-layer/point-layer.js +475 -0
- package/dist/layers/s2-geometry-layer/s2-geometry-layer.js +334 -0
- package/dist/layers/s2-geometry-layer/s2-layer-icon.js +70 -0
- package/dist/layers/s2-geometry-layer/s2-utils.js +51 -0
- package/dist/layers/scenegraph-layer/scenegraph-info-modal.js +48 -0
- package/dist/layers/scenegraph-layer/scenegraph-layer-icon.js +151 -0
- package/dist/layers/scenegraph-layer/scenegraph-layer.js +250 -0
- package/dist/layers/trip-layer/trip-info-modal.js +54 -0
- package/dist/layers/trip-layer/trip-layer-icon.js +89 -0
- package/dist/layers/trip-layer/trip-layer.js +403 -0
- package/dist/layers/trip-layer/trip-utils.js +204 -0
- package/dist/layers/types.js +47 -0
- package/dist/localization/en.js +480 -0
- package/dist/localization/formatted-message.js +45 -0
- package/dist/localization/index.js +60 -0
- package/dist/localization/locales.js +64 -0
- package/dist/middleware/index.js +47 -0
- package/dist/processors/data-processor.js +784 -0
- package/dist/processors/file-handler.js +432 -0
- package/dist/processors/index.js +106 -0
- package/dist/reducers/combined-updaters.js +195 -0
- package/dist/reducers/composer-helpers.js +110 -0
- package/dist/reducers/composers.js +27 -0
- package/dist/reducers/core.js +156 -0
- package/dist/reducers/index.js +139 -0
- package/dist/reducers/map-state-updaters.js +239 -0
- package/dist/reducers/map-state.js +47 -0
- package/dist/reducers/map-style-updaters.js +531 -0
- package/dist/reducers/map-style.js +46 -0
- package/dist/reducers/provider-state-updaters.js +541 -0
- package/dist/reducers/provider-state.js +46 -0
- package/dist/reducers/root.js +218 -0
- package/dist/reducers/ui-state-updaters.js +855 -0
- package/dist/reducers/ui-state.js +47 -0
- package/dist/reducers/vis-state-merger.js +615 -0
- package/dist/reducers/vis-state-selectors.js +52 -0
- package/dist/reducers/vis-state-updaters.js +2433 -0
- package/dist/reducers/vis-state.js +46 -0
- package/dist/schemas/dataset-schema.js +189 -0
- package/dist/schemas/index.js +132 -0
- package/dist/schemas/map-state-schema.js +49 -0
- package/dist/schemas/map-style-schema.js +122 -0
- package/dist/schemas/schema-manager.js +262 -0
- package/dist/schemas/schema-utils.js +62 -0
- package/dist/schemas/schema.js +114 -0
- package/dist/schemas/versions.js +38 -0
- package/dist/schemas/vis-state-schema.js +1071 -0
- package/dist/styles/base.js +1570 -0
- package/dist/styles/index.js +32 -0
- package/dist/styles/media-breakpoints.js +39 -0
- package/dist/tasks/tasks.js +122 -0
- package/dist/templates/export-map-html.js +45 -0
- package/dist/utils/aggregate-utils.js +75 -0
- package/dist/utils/color-utils.js +135 -0
- package/dist/utils/data-scale-utils.js +84 -0
- package/dist/utils/data-utils.js +491 -0
- package/dist/utils/dataset-utils.js +254 -0
- package/dist/utils/dom-to-image.js +557 -0
- package/dist/utils/dom-utils.js +425 -0
- package/dist/utils/export-utils.js +297 -0
- package/dist/utils/filter-utils.js +1286 -0
- package/dist/utils/gl-utils.js +35 -0
- package/dist/utils/gpu-filter-utils.js +261 -0
- package/dist/utils/index.js +226 -0
- package/dist/utils/interaction-utils.js +201 -0
- package/dist/utils/layer-utils.js +205 -0
- package/dist/utils/locale-utils.js +54 -0
- package/dist/utils/map-info-utils.js +32 -0
- package/dist/utils/map-style-utils/mapbox-gl-style-editor.js +212 -0
- package/dist/utils/map-style-utils/mapbox-utils.js +35 -0
- package/dist/utils/mapbox-utils.js +39 -0
- package/dist/utils/notifications-utils.js +89 -0
- package/dist/utils/observe-dimensions.js +147 -0
- package/dist/utils/projection-utils.js +83 -0
- package/dist/utils/searcher-utils.js +45 -0
- package/dist/utils/split-map-utils.js +108 -0
- package/dist/utils/table-utils/data-container-utils.js +69 -0
- package/dist/utils/table-utils/data-row.js +82 -0
- package/dist/utils/table-utils/index.js +20 -0
- package/dist/utils/table-utils/indexed-data-container.js +241 -0
- package/dist/utils/table-utils/kepler-table.js +544 -0
- package/dist/utils/table-utils/row-data-container.js +242 -0
- package/dist/utils/utils.js +234 -0
- package/layers.js +21 -0
- package/localization.js +21 -0
- package/middleware.js +21 -0
- package/package.json +281 -0
- package/processors.js +21 -0
- package/reducers.js +21 -0
- package/schemas.js +21 -0
- package/src/actions/action-wrapper.js +183 -0
- package/src/actions/actions.d.ts +104 -0
- package/src/actions/actions.js +178 -0
- package/src/actions/identity-actions.d.ts +53 -0
- package/src/actions/identity-actions.js +83 -0
- package/src/actions/index.d.ts +23 -0
- package/src/actions/index.js +42 -0
- package/src/actions/map-state-actions.d.ts +46 -0
- package/src/actions/map-state-actions.js +90 -0
- package/src/actions/map-style-actions.d.ts +116 -0
- package/src/actions/map-style-actions.js +135 -0
- package/src/actions/provider-actions.d.ts +203 -0
- package/src/actions/provider-actions.js +94 -0
- package/src/actions/ui-state-actions.d.ts +200 -0
- package/src/actions/ui-state-actions.js +272 -0
- package/src/actions/vis-state-actions.d.ts +502 -0
- package/src/actions/vis-state-actions.js +919 -0
- package/src/cloud-providers/index.d.ts +53 -0
- package/src/cloud-providers/index.js +21 -0
- package/src/cloud-providers/provider.js +233 -0
- package/src/components/bottom-widget.d.ts +33 -0
- package/src/components/bottom-widget.js +235 -0
- package/src/components/common/action-panel.d.ts +24 -0
- package/src/components/common/action-panel.js +177 -0
- package/src/components/common/animation-control/animation-control.js +155 -0
- package/src/components/common/animation-control/animation-controller.js +224 -0
- package/src/components/common/animation-control/animation-speed-slider.js +79 -0
- package/src/components/common/animation-control/floating-time-display.js +192 -0
- package/src/components/common/animation-control/playback-controls.js +278 -0
- package/src/components/common/animation-control/speed-control.js +71 -0
- package/src/components/common/checkbox.js +128 -0
- package/src/components/common/color-legend.js +198 -0
- package/src/components/common/data-table/button.js +47 -0
- package/src/components/common/data-table/canvas.js +43 -0
- package/src/components/common/data-table/cell-size.js +180 -0
- package/src/components/common/data-table/grid.js +55 -0
- package/src/components/common/data-table/index.js +620 -0
- package/src/components/common/data-table/option-dropdown.js +110 -0
- package/src/components/common/dataset-label.js +40 -0
- package/src/components/common/error-boundary.js +43 -0
- package/src/components/common/field-selector.js +233 -0
- package/src/components/common/field-token.js +56 -0
- package/src/components/common/file-uploader/file-drop.d.ts +19 -0
- package/src/components/common/file-uploader/file-drop.js +196 -0
- package/src/components/common/file-uploader/file-upload-progress.d.ts +11 -0
- package/src/components/common/file-uploader/file-upload-progress.js +110 -0
- package/src/components/common/file-uploader/file-upload.d.ts +22 -0
- package/src/components/common/file-uploader/file-upload.js +301 -0
- package/src/components/common/file-uploader/upload-button.d.ts.wip +11 -0
- package/src/components/common/file-uploader/upload-button.js +83 -0
- package/src/components/common/histogram-plot.js +102 -0
- package/src/components/common/icons/add.js +43 -0
- package/src/components/common/icons/anchor_window.js +53 -0
- package/src/components/common/icons/arrow-down-alt.js +43 -0
- package/src/components/common/icons/arrow-down-solid .js +43 -0
- package/src/components/common/icons/arrow-down.js +46 -0
- package/src/components/common/icons/arrow-left.js +48 -0
- package/src/components/common/icons/arrow-right.js +46 -0
- package/src/components/common/icons/arrow-up-alt.js +46 -0
- package/src/components/common/icons/arrow-up-solid.js +43 -0
- package/src/components/common/icons/arrow-up.js +46 -0
- package/src/components/common/icons/base.js +90 -0
- package/src/components/common/icons/bug.js +46 -0
- package/src/components/common/icons/cancel.js +43 -0
- package/src/components/common/icons/checkmark.js +45 -0
- package/src/components/common/icons/chevron-right.js +47 -0
- package/src/components/common/icons/clipboard.js +46 -0
- package/src/components/common/icons/clock.js +44 -0
- package/src/components/common/icons/close.js +49 -0
- package/src/components/common/icons/code-alt.js +43 -0
- package/src/components/common/icons/copy.js +44 -0
- package/src/components/common/icons/crosshairs.js +43 -0
- package/src/components/common/icons/cube-3d.js +45 -0
- package/src/components/common/icons/cursor-click.js +49 -0
- package/src/components/common/icons/data-table.js +45 -0
- package/src/components/common/icons/db.js +45 -0
- package/src/components/common/icons/delete.js +44 -0
- package/src/components/common/icons/docs.js +46 -0
- package/src/components/common/icons/drag-n-drop.js +44 -0
- package/src/components/common/icons/draw-polygon.js +60 -0
- package/src/components/common/icons/email.js +45 -0
- package/src/components/common/icons/expand.js +45 -0
- package/src/components/common/icons/eye-seen.js +44 -0
- package/src/components/common/icons/eye-unseen.js +44 -0
- package/src/components/common/icons/file-type.js +57 -0
- package/src/components/common/icons/file.js +43 -0
- package/src/components/common/icons/files.js +42 -0
- package/src/components/common/icons/filter-funnel.js +43 -0
- package/src/components/common/icons/free-window.js +53 -0
- package/src/components/common/icons/gear.js +45 -0
- package/src/components/common/icons/hash.js +43 -0
- package/src/components/common/icons/histogram.js +47 -0
- package/src/components/common/icons/index.js +96 -0
- package/src/components/common/icons/info.js +54 -0
- package/src/components/common/icons/layers.js +43 -0
- package/src/components/common/icons/left-arrow.js +43 -0
- package/src/components/common/icons/legend.js +43 -0
- package/src/components/common/icons/line-chart.js +45 -0
- package/src/components/common/icons/login.js +46 -0
- package/src/components/common/icons/logout.js +43 -0
- package/src/components/common/icons/map-icon.js +69 -0
- package/src/components/common/icons/map.js +69 -0
- package/src/components/common/icons/messages.js +43 -0
- package/src/components/common/icons/minus.js +45 -0
- package/src/components/common/icons/pause.js +43 -0
- package/src/components/common/icons/picture.js +43 -0
- package/src/components/common/icons/pin.js +43 -0
- package/src/components/common/icons/play.js +43 -0
- package/src/components/common/icons/polygon.js +74 -0
- package/src/components/common/icons/rectangle.js +75 -0
- package/src/components/common/icons/reduce.js +48 -0
- package/src/components/common/icons/reset.js +43 -0
- package/src/components/common/icons/rocket.js +43 -0
- package/src/components/common/icons/save.js +44 -0
- package/src/components/common/icons/save2.js +47 -0
- package/src/components/common/icons/search.js +44 -0
- package/src/components/common/icons/settings.js +45 -0
- package/src/components/common/icons/share.js +43 -0
- package/src/components/common/icons/split.js +63 -0
- package/src/components/common/icons/square-select.js +44 -0
- package/src/components/common/icons/swap-horizontal.js +43 -0
- package/src/components/common/icons/table.js +46 -0
- package/src/components/common/icons/trash.js +51 -0
- package/src/components/common/icons/upload.js +44 -0
- package/src/components/common/icons/vert-dots.js +50 -0
- package/src/components/common/icons/vert-three-dots.js +45 -0
- package/src/components/common/icons/warning.js +46 -0
- package/src/components/common/image-preview.js +111 -0
- package/src/components/common/info-helper.js +84 -0
- package/src/components/common/item-selector/accessor.js +45 -0
- package/src/components/common/item-selector/chickleted-input.js +143 -0
- package/src/components/common/item-selector/dropdown-list.js +250 -0
- package/src/components/common/item-selector/item-selector-submenu.js +68 -0
- package/src/components/common/item-selector/item-selector.d.ts +34 -0
- package/src/components/common/item-selector/item-selector.js +360 -0
- package/src/components/common/item-selector/typeahead.js +507 -0
- package/src/components/common/line-chart.js +134 -0
- package/src/components/common/loading-spinner.js +64 -0
- package/src/components/common/logo.js +92 -0
- package/src/components/common/map-layer-selector.d.ts +10 -0
- package/src/components/common/map-layer-selector.js +54 -0
- package/src/components/common/modal.js +233 -0
- package/src/components/common/portaled.js +264 -0
- package/src/components/common/progress-bar.d.ts +13 -0
- package/src/components/common/progress-bar.js +49 -0
- package/src/components/common/range-brush.js +256 -0
- package/src/components/common/range-plot.js +139 -0
- package/src/components/common/range-slider.js +299 -0
- package/src/components/common/slider/mouse-event.js +97 -0
- package/src/components/common/slider/slider-bar-handle.js +97 -0
- package/src/components/common/slider/slider-handle.js +181 -0
- package/src/components/common/slider/slider.js +213 -0
- package/src/components/common/styled-components.js +657 -0
- package/src/components/common/switch.js +50 -0
- package/src/components/common/time-range-slider-time-title.js +76 -0
- package/src/components/common/time-range-slider.js +163 -0
- package/src/components/common/time-slider-marker.js +168 -0
- package/src/components/common/toolbar-item.d.ts +14 -0
- package/src/components/common/toolbar-item.js +83 -0
- package/src/components/common/toolbar.js +45 -0
- package/src/components/common/vertical-toolbar.js +35 -0
- package/src/components/container.js +173 -0
- package/src/components/context.d.ts +10 -0
- package/src/components/context.js +32 -0
- package/src/components/editor/constants.js +39 -0
- package/src/components/editor/editor.js +218 -0
- package/src/components/editor/feature-action-panel.js +143 -0
- package/src/components/editor/feature-styles.js +75 -0
- package/src/components/editor/handle-style.js +89 -0
- package/src/components/filters/components.js +28 -0
- package/src/components/filters/filter-panels/filter-panel-types.d.ts +28 -0
- package/src/components/filters/filter-panels/filter-panel-with-field-select.js +124 -0
- package/src/components/filters/filter-panels/multi-select-filter-panel.js +75 -0
- package/src/components/filters/filter-panels/new-filter-panel.js +99 -0
- package/src/components/filters/filter-panels/polygon-filter-panel.js +96 -0
- package/src/components/filters/filter-panels/range-filter-panel.js +75 -0
- package/src/components/filters/filter-panels/single-select-filter-panel.js +75 -0
- package/src/components/filters/filter-panels/time-range-filter-panel.js +95 -0
- package/src/components/filters/index.js +25 -0
- package/src/components/filters/multi-select-filter.js +36 -0
- package/src/components/filters/polygon-filter.d.ts +13 -0
- package/src/components/filters/polygon-filter.js +73 -0
- package/src/components/filters/range-filter.js +43 -0
- package/src/components/filters/single-select-filter.js +49 -0
- package/src/components/filters/time-range-filter.js +68 -0
- package/src/components/filters/time-widget.js +228 -0
- package/src/components/geocoder/geocoder.d.ts +33 -0
- package/src/components/geocoder/geocoder.js +272 -0
- package/src/components/geocoder-panel.js +191 -0
- package/src/components/index.js +247 -0
- package/src/components/injector.js +161 -0
- package/src/components/kepler-gl.d.ts +60 -0
- package/src/components/kepler-gl.js +525 -0
- package/src/components/map/coordinate-info.js +53 -0
- package/src/components/map/layer-hover-info.d.ts +12 -0
- package/src/components/map/layer-hover-info.js +185 -0
- package/src/components/map/layer-selector-panel.d.ts +16 -0
- package/src/components/map/layer-selector-panel.js +106 -0
- package/src/components/map/locale-panel.d.ts +12 -0
- package/src/components/map/locale-panel.js +91 -0
- package/src/components/map/map-control-panel.d.ts +11 -0
- package/src/components/map/map-control-panel.js +98 -0
- package/src/components/map/map-control-toolbar.js +33 -0
- package/src/components/map/map-control-tooltip.d.ts +8 -0
- package/src/components/map/map-control-tooltip.js +40 -0
- package/src/components/map/map-control.d.ts +37 -0
- package/src/components/map/map-control.js +100 -0
- package/src/components/map/map-draw-panel.d.ts +16 -0
- package/src/components/map/map-draw-panel.js +125 -0
- package/src/components/map/map-legend-panel.d.ts +20 -0
- package/src/components/map/map-legend-panel.js +100 -0
- package/src/components/map/map-legend.d.ts +58 -0
- package/src/components/map/map-legend.js +228 -0
- package/src/components/map/map-popover.d.ts +28 -0
- package/src/components/map/map-popover.js +250 -0
- package/src/components/map/split-map-button.d.ts +19 -0
- package/src/components/map/split-map-button.js +82 -0
- package/src/components/map/toggle-3d-button.d.ts +16 -0
- package/src/components/map/toggle-3d-button.js +75 -0
- package/src/components/map-container.d.ts +18 -0
- package/src/components/map-container.js +502 -0
- package/src/components/maps-layout.d.ts +5 -0
- package/src/components/maps-layout.js +40 -0
- package/src/components/modal-container.d.ts +38 -0
- package/src/components/modal-container.js +545 -0
- package/src/components/modals/add-map-style-modal.js +301 -0
- package/src/components/modals/cloud-tile.js +147 -0
- package/src/components/modals/data-table-modal.js +217 -0
- package/src/components/modals/delete-data-modal.js +48 -0
- package/src/components/modals/error-display.js +39 -0
- package/src/components/modals/export-data-modal.js +193 -0
- package/src/components/modals/export-image-modal.d.ts +21 -0
- package/src/components/modals/export-image-modal.js +144 -0
- package/src/components/modals/export-map-modal/components.js +42 -0
- package/src/components/modals/export-map-modal/export-html-map.d.ts +21 -0
- package/src/components/modals/export-map-modal/export-html-map.js +145 -0
- package/src/components/modals/export-map-modal/export-json-map.js +100 -0
- package/src/components/modals/export-map-modal/export-map-modal.js +114 -0
- package/src/components/modals/image-modal-container.d.ts +13 -0
- package/src/components/modals/image-modal-container.js +76 -0
- package/src/components/modals/load-data-modal.d.ts +30 -0
- package/src/components/modals/load-data-modal.js +94 -0
- package/src/components/modals/load-storage-map.js +381 -0
- package/src/components/modals/loading-dialog.js +69 -0
- package/src/components/modals/modal-dialog.js +25 -0
- package/src/components/modals/modal-tabs.js +126 -0
- package/src/components/modals/overwrite-map-modal.d.ts +18 -0
- package/src/components/modals/overwrite-map-modal.js +97 -0
- package/src/components/modals/provider-modal-container.d.ts +12 -0
- package/src/components/modals/provider-modal-container.js +60 -0
- package/src/components/modals/save-map-modal.d.ts +32 -0
- package/src/components/modals/save-map-modal.js +244 -0
- package/src/components/modals/share-map-modal.js +208 -0
- package/src/components/modals/status-panel.js +95 -0
- package/src/components/modals/storage-map-viewer.js +177 -0
- package/src/components/notification-panel/notification-item.js +132 -0
- package/src/components/notification-panel.js +72 -0
- package/src/components/performance.js +103 -0
- package/src/components/plot-container.js +228 -0
- package/src/components/side-panel/cloud-storage-dropdown.js +52 -0
- package/src/components/side-panel/common/dataset-info.js +45 -0
- package/src/components/side-panel/common/dataset-tag.js +55 -0
- package/src/components/side-panel/common/dataset-title.js +146 -0
- package/src/components/side-panel/common/source-data-catalog.js +61 -0
- package/src/components/side-panel/common/source-data-selector.js +79 -0
- package/src/components/side-panel/custom-panel.js +50 -0
- package/src/components/side-panel/filter-manager.js +105 -0
- package/src/components/side-panel/filter-panel/filter-panel-header.js +83 -0
- package/src/components/side-panel/filter-panel/filter-panel.js +126 -0
- package/src/components/side-panel/interaction-manager.js +46 -0
- package/src/components/side-panel/interaction-panel/brush-config.js +51 -0
- package/src/components/side-panel/interaction-panel/interaction-panel.js +115 -0
- package/src/components/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +199 -0
- package/src/components/side-panel/interaction-panel/tooltip-config.js +190 -0
- package/src/components/side-panel/layer-manager.js +290 -0
- package/src/components/side-panel/layer-panel/color-dimension-scale-selector.js +33 -0
- package/src/components/side-panel/layer-panel/color-palette.js +90 -0
- package/src/components/side-panel/layer-panel/color-range-selector.js +322 -0
- package/src/components/side-panel/layer-panel/color-selector.js +193 -0
- package/src/components/side-panel/layer-panel/column-selector.js +70 -0
- package/src/components/side-panel/layer-panel/custom-markers-config-group.js +30 -0
- package/src/components/side-panel/layer-panel/custom-palette.js +296 -0
- package/src/components/side-panel/layer-panel/custom-picker.js +88 -0
- package/src/components/side-panel/layer-panel/dimension-scale-selector.js +48 -0
- package/src/components/side-panel/layer-panel/layer-aggregation-resolution.js +13 -0
- package/src/components/side-panel/layer-panel/layer-column-config.js +113 -0
- package/src/components/side-panel/layer-panel/layer-config-group.js +237 -0
- package/src/components/side-panel/layer-panel/layer-configurator.js +1317 -0
- package/src/components/side-panel/layer-panel/layer-panel-header.js +236 -0
- package/src/components/side-panel/layer-panel/layer-panel.js +171 -0
- package/src/components/side-panel/layer-panel/layer-type-dropdown-list.js +105 -0
- package/src/components/side-panel/layer-panel/layer-type-list-item.js +83 -0
- package/src/components/side-panel/layer-panel/layer-type-selector.js +89 -0
- package/src/components/side-panel/layer-panel/layer-visibility-by-zoom.js +123 -0
- package/src/components/side-panel/layer-panel/single-color-palette.js +98 -0
- package/src/components/side-panel/layer-panel/text-label-panel.js +179 -0
- package/src/components/side-panel/layer-panel/vis-config-by-field-selector.js +163 -0
- package/src/components/side-panel/layer-panel/vis-config-slider.js +82 -0
- package/src/components/side-panel/layer-panel/vis-config-switch.js +87 -0
- package/src/components/side-panel/map-manager.js +114 -0
- package/src/components/side-panel/map-style-panel/map-layer-selector.js +128 -0
- package/src/components/side-panel/map-style-panel/map-style-selector.js +111 -0
- package/src/components/side-panel/panel-dropdown.js +53 -0
- package/src/components/side-panel/panel-header-action.js +106 -0
- package/src/components/side-panel/panel-header.js +321 -0
- package/src/components/side-panel/panel-tab.js +62 -0
- package/src/components/side-panel/panel-title.js +32 -0
- package/src/components/side-panel/panel-toggle.js +70 -0
- package/src/components/side-panel/side-bar.js +136 -0
- package/src/components/side-panel.d.ts +33 -0
- package/src/components/side-panel.js +253 -0
- package/src/connect/keplergl-connect.js +47 -0
- package/src/connect/with-local-selector.d.ts +11 -0
- package/src/connect/with-local-selector.js +67 -0
- package/src/constants/action-types.d.ts +135 -0
- package/src/constants/action-types.js +184 -0
- package/src/constants/color-palette.js +553 -0
- package/src/constants/color-ranges.js +63 -0
- package/src/constants/custom-color-ranges.js +551 -0
- package/src/constants/default-settings.js +991 -0
- package/src/constants/index.js +80 -0
- package/src/constants/keyevent.js +36 -0
- package/src/constants/tooltip.js +198 -0
- package/src/constants/user-feedbacks.js +32 -0
- package/src/constants/user-guides.js +32 -0
- package/src/deckgl-layers/3d-building-layer/3d-building-layer.js +56 -0
- package/src/deckgl-layers/3d-building-layer/3d-building-utils.js +192 -0
- package/src/deckgl-layers/cluster-layer/cluster-layer.js +255 -0
- package/src/deckgl-layers/column-layer/enhanced-column-layer.js +63 -0
- package/src/deckgl-layers/grid-layer/enhanced-cpu-grid-layer.js +70 -0
- package/src/deckgl-layers/hexagon-layer/enhanced-hexagon-layer.js +70 -0
- package/src/deckgl-layers/layer-utils/cluster-utils.js +76 -0
- package/src/deckgl-layers/layer-utils/cpu-aggregator.js +583 -0
- package/src/deckgl-layers/layer-utils/shader-utils.js +41 -0
- package/src/deckgl-layers/line-layer/line-layer.js +122 -0
- package/src/deckgl-layers/svg-icon-layer/scatterplot-icon-layer.js +57 -0
- package/src/deckgl-layers/svg-icon-layer/svg-icon-layer.js +85 -0
- package/src/index.js +52 -0
- package/src/layers/aggregation-layer.js +356 -0
- package/src/layers/arc-layer/arc-layer-icon.js +67 -0
- package/src/layers/arc-layer/arc-layer.js +221 -0
- package/src/layers/base-layer.js +1439 -0
- package/src/layers/cluster-layer/cluster-layer-icon.js +71 -0
- package/src/layers/cluster-layer/cluster-layer.js +125 -0
- package/src/layers/default-layer-icon.js +50 -0
- package/src/layers/geojson-layer/geojson-layer-icon.js +68 -0
- package/src/layers/geojson-layer/geojson-layer.js +344 -0
- package/src/layers/geojson-layer/geojson-utils.js +179 -0
- package/src/layers/grid-layer/grid-layer-icon.js +53 -0
- package/src/layers/grid-layer/grid-layer.js +95 -0
- package/src/layers/grid-layer/grid-utils.js +71 -0
- package/src/layers/h3-hexagon-layer/h3-hexagon-layer-icon.js +48 -0
- package/src/layers/h3-hexagon-layer/h3-hexagon-layer.js +264 -0
- package/src/layers/h3-hexagon-layer/h3-utils.js +65 -0
- package/src/layers/heatmap-layer/heatmap-layer-icon.js +64 -0
- package/src/layers/heatmap-layer/heatmap-layer.js +226 -0
- package/src/layers/hexagon-layer/hexagon-layer-icon.js +74 -0
- package/src/layers/hexagon-layer/hexagon-layer.js +95 -0
- package/src/layers/hexagon-layer/hexagon-utils.js +63 -0
- package/src/layers/icon-layer/icon-info-modal.js +155 -0
- package/src/layers/icon-layer/icon-layer-icon.js +56 -0
- package/src/layers/icon-layer/icon-layer.js +324 -0
- package/src/layers/index.d.ts +126 -0
- package/src/layers/index.js +72 -0
- package/src/layers/layer-factory.d.ts +148 -0
- package/src/layers/layer-factory.js +480 -0
- package/src/layers/layer-text-label.js +62 -0
- package/src/layers/layer-update.js +71 -0
- package/src/layers/line-layer/line-layer-icon.js +69 -0
- package/src/layers/line-layer/line-layer.js +161 -0
- package/src/layers/mapbox-utils.js +195 -0
- package/src/layers/mapboxgl-layer.js +154 -0
- package/src/layers/point-layer/point-layer-icon.js +51 -0
- package/src/layers/point-layer/point-layer.js +414 -0
- package/src/layers/s2-geometry-layer/s2-geometry-layer.js +265 -0
- package/src/layers/s2-geometry-layer/s2-layer-icon.js +47 -0
- package/src/layers/s2-geometry-layer/s2-utils.js +36 -0
- package/src/layers/scenegraph-layer/scenegraph-info-modal.js +97 -0
- package/src/layers/scenegraph-layer/scenegraph-layer-icon.js +144 -0
- package/src/layers/scenegraph-layer/scenegraph-layer.js +182 -0
- package/src/layers/trip-layer/trip-info-modal.js +82 -0
- package/src/layers/trip-layer/trip-layer-icon.js +62 -0
- package/src/layers/trip-layer/trip-layer.js +295 -0
- package/src/layers/trip-layer/trip-utils.js +169 -0
- package/src/layers/types.js +37 -0
- package/src/localization/en.js +501 -0
- package/src/localization/formatted-message.js +33 -0
- package/src/localization/index.js +32 -0
- package/src/localization/locales.js +46 -0
- package/src/middleware/index.js +34 -0
- package/src/processors/data-processor.d.ts +57 -0
- package/src/processors/data-processor.js +684 -0
- package/src/processors/file-handler.d.ts +46 -0
- package/src/processors/file-handler.js +220 -0
- package/src/processors/index.js +44 -0
- package/src/reducers/combined-updaters.d.ts +26 -0
- package/src/reducers/combined-updaters.js +198 -0
- package/src/reducers/composer-helpers.d.ts +32 -0
- package/src/reducers/composer-helpers.js +70 -0
- package/src/reducers/composers.js +33 -0
- package/src/reducers/core.d.ts +25 -0
- package/src/reducers/core.js +97 -0
- package/src/reducers/index.d.ts +118 -0
- package/src/reducers/index.js +53 -0
- package/src/reducers/map-state-updaters.d.ts +64 -0
- package/src/reducers/map-state-updaters.js +224 -0
- package/src/reducers/map-state.js +47 -0
- package/src/reducers/map-style-updaters.d.ts +76 -0
- package/src/reducers/map-style-updaters.js +541 -0
- package/src/reducers/map-style.js +53 -0
- package/src/reducers/provider-state-updaters.d.ts +88 -0
- package/src/reducers/provider-state-updaters.js +428 -0
- package/src/reducers/provider-state.js +53 -0
- package/src/reducers/root.js +230 -0
- package/src/reducers/types.d.ts +10 -0
- package/src/reducers/ui-state-updaters.d.ts +198 -0
- package/src/reducers/ui-state-updaters.js +766 -0
- package/src/reducers/ui-state.js +73 -0
- package/src/reducers/vis-state-merger.d.ts +78 -0
- package/src/reducers/vis-state-merger.js +545 -0
- package/src/reducers/vis-state-selectors.js +35 -0
- package/src/reducers/vis-state-updaters.d.ts +534 -0
- package/src/reducers/vis-state-updaters.js +2137 -0
- package/src/reducers/vis-state.js +155 -0
- package/src/schemas/dataset-schema.js +141 -0
- package/src/schemas/index.d.ts +24 -0
- package/src/schemas/index.js +42 -0
- package/src/schemas/map-state-schema.js +52 -0
- package/src/schemas/map-style-schema.js +95 -0
- package/src/schemas/schema-manager.d.ts +229 -0
- package/src/schemas/schema-manager.js +228 -0
- package/src/schemas/schema-utils.js +54 -0
- package/src/schemas/schema.d.ts +47 -0
- package/src/schemas/schema.js +90 -0
- package/src/schemas/versions.d.ts +23 -0
- package/src/schemas/versions.js +28 -0
- package/src/schemas/vis-state-schema.js +731 -0
- package/src/styles/base.js +1620 -0
- package/src/styles/index.js +22 -0
- package/src/styles/media-breakpoints.js +47 -0
- package/src/tasks/tasks.js +92 -0
- package/src/templates/export-map-html.js +262 -0
- package/src/typedefs/README.md +3 -0
- package/src/typedefs/deck.gl__core.d.ts +64 -0
- package/src/typedefs/deck.gl__mesh-layers.d.ts +33 -0
- package/src/utils/aggregate-utils.js +71 -0
- package/src/utils/color-utils.js +106 -0
- package/src/utils/data-scale-utils.d.ts +26 -0
- package/src/utils/data-scale-utils.js +61 -0
- package/src/utils/data-utils.d.ts +45 -0
- package/src/utils/data-utils.js +428 -0
- package/src/utils/dataset-utils.d.ts +10 -0
- package/src/utils/dataset-utils.js +255 -0
- package/src/utils/dom-to-image.js +533 -0
- package/src/utils/dom-utils.js +354 -0
- package/src/utils/export-utils.js +247 -0
- package/src/utils/filter-utils.d.ts +192 -0
- package/src/utils/filter-utils.js +1114 -0
- package/src/utils/gl-utils.js +42 -0
- package/src/utils/gpu-filter-utils.d.ts +28 -0
- package/src/utils/gpu-filter-utils.js +253 -0
- package/src/utils/index.d.ts +5 -0
- package/src/utils/index.js +55 -0
- package/src/utils/interaction-utils.d.ts +36 -0
- package/src/utils/interaction-utils.js +185 -0
- package/src/utils/layer-utils.d.ts +78 -0
- package/src/utils/layer-utils.js +205 -0
- package/src/utils/locale-utils.js +59 -0
- package/src/utils/map-info-utils.js +29 -0
- package/src/utils/map-style-utils/mapbox-gl-style-editor.js +201 -0
- package/src/utils/map-style-utils/mapbox-utils.js +28 -0
- package/src/utils/mapbox-utils.js +27 -0
- package/src/utils/notifications-utils.js +83 -0
- package/src/utils/observe-dimensions.d.ts +18 -0
- package/src/utils/observe-dimensions.js +115 -0
- package/src/utils/projection-utils.js +72 -0
- package/src/utils/searcher-utils.js +37 -0
- package/src/utils/split-map-utils.js +104 -0
- package/src/utils/table-utils/UPGRADE-data-container.md +38 -0
- package/src/utils/table-utils/data-container-interface.d.ts +140 -0
- package/src/utils/table-utils/data-container-utils.d.ts +43 -0
- package/src/utils/table-utils/data-container-utils.js +61 -0
- package/src/utils/table-utils/data-row.d.ts +65 -0
- package/src/utils/table-utils/data-row.js +54 -0
- package/src/utils/table-utils/index.d.ts +1 -0
- package/src/utils/table-utils/index.js +21 -0
- package/src/utils/table-utils/indexed-data-container.d.ts +26 -0
- package/src/utils/table-utils/indexed-data-container.js +152 -0
- package/src/utils/table-utils/kepler-table.d.ts +114 -0
- package/src/utils/table-utils/kepler-table.js +486 -0
- package/src/utils/table-utils/row-data-container.d.ts +30 -0
- package/src/utils/table-utils/row-data-container.js +151 -0
- package/src/utils/utils.js +202 -0
- package/styles.js +21 -0
|
@@ -0,0 +1,766 @@
|
|
|
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
|
+
// @ts-nocheck
|
|
22
|
+
import {
|
|
23
|
+
ADD_DATA_ID,
|
|
24
|
+
DATA_TABLE_ID,
|
|
25
|
+
DEFAULT_NOTIFICATION_TOPICS,
|
|
26
|
+
DELETE_DATA_ID,
|
|
27
|
+
EXPORT_DATA_TYPE,
|
|
28
|
+
EXPORT_HTML_MAP_MODES,
|
|
29
|
+
EXPORT_IMG_RATIOS,
|
|
30
|
+
EXPORT_MAP_FORMATS,
|
|
31
|
+
RESOLUTIONS,
|
|
32
|
+
MAP_CONTROLS
|
|
33
|
+
} from 'constants/default-settings';
|
|
34
|
+
import {LOCALE_CODES} from 'localization/locales';
|
|
35
|
+
import {createNotification, errorNotification} from 'utils/notifications-utils';
|
|
36
|
+
import {calculateExportImageSize} from 'utils/export-utils';
|
|
37
|
+
import {payload_, apply_, compose_} from './composer-helpers';
|
|
38
|
+
|
|
39
|
+
export const DEFAULT_ACTIVE_SIDE_PANEL = 'layer';
|
|
40
|
+
export const DEFAULT_MODAL = ADD_DATA_ID;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Updaters for `uiState` reducer. Can be used in your root reducer to directly modify kepler.gl's state.
|
|
44
|
+
* Read more about [Using updaters](../advanced-usage/using-updaters.md)
|
|
45
|
+
*
|
|
46
|
+
* @public
|
|
47
|
+
* @example
|
|
48
|
+
*
|
|
49
|
+
* import keplerGlReducer, {uiStateUpdaters} from 'kepler.gl/reducers';
|
|
50
|
+
* // Root Reducer
|
|
51
|
+
* const reducers = combineReducers({
|
|
52
|
+
* keplerGl: keplerGlReducer,
|
|
53
|
+
* app: appReducer
|
|
54
|
+
* });
|
|
55
|
+
*
|
|
56
|
+
* const composedReducer = (state, action) => {
|
|
57
|
+
* switch (action.type) {
|
|
58
|
+
* // click button to close side panel
|
|
59
|
+
* case 'CLICK_BUTTON':
|
|
60
|
+
* return {
|
|
61
|
+
* ...state,
|
|
62
|
+
* keplerGl: {
|
|
63
|
+
* ...state.keplerGl,
|
|
64
|
+
* foo: {
|
|
65
|
+
* ...state.keplerGl.foo,
|
|
66
|
+
* uiState: uiStateUpdaters.toggleSidePanelUpdater(
|
|
67
|
+
* uiState, {payload: null}
|
|
68
|
+
* )
|
|
69
|
+
* }
|
|
70
|
+
* }
|
|
71
|
+
* };
|
|
72
|
+
* }
|
|
73
|
+
* return reducers(state, action);
|
|
74
|
+
* };
|
|
75
|
+
*
|
|
76
|
+
* export default composedReducer;
|
|
77
|
+
*/
|
|
78
|
+
/* eslint-disable no-unused-vars */
|
|
79
|
+
const uiStateUpdaters = null;
|
|
80
|
+
/* eslint-enable no-unused-vars */
|
|
81
|
+
|
|
82
|
+
const DEFAULT_MAP_CONTROLS_FEATURES = {
|
|
83
|
+
show: true,
|
|
84
|
+
active: false,
|
|
85
|
+
disableClose: false,
|
|
86
|
+
// defines which map index users are interacting with (through map controls)
|
|
87
|
+
activeMapIndex: 0
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* A list of map control visibility and whether is it active.
|
|
92
|
+
* @memberof uiStateUpdaters
|
|
93
|
+
* @constant
|
|
94
|
+
* @property visibleLayers Default: `{show: true, active: false}`
|
|
95
|
+
* @property mapLegend Default: `{show: true, active: false}`
|
|
96
|
+
* @property toggle3d Default: `{show: true}`
|
|
97
|
+
* @property splitMap Default: `{show: true}`
|
|
98
|
+
* @property mapDraw Default: `{show: true, active: false}`
|
|
99
|
+
* @property mapLocale Default: `{show: false, active: false}`
|
|
100
|
+
* @type {import('./ui-state-updaters').MapControls}
|
|
101
|
+
* @public
|
|
102
|
+
*/
|
|
103
|
+
export const DEFAULT_MAP_CONTROLS = Object.keys(MAP_CONTROLS).reduce(
|
|
104
|
+
(final, current) => ({
|
|
105
|
+
...final,
|
|
106
|
+
[current]: DEFAULT_MAP_CONTROLS_FEATURES
|
|
107
|
+
}),
|
|
108
|
+
{}
|
|
109
|
+
);
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Default image export config
|
|
113
|
+
* @memberof uiStateUpdaters
|
|
114
|
+
* @constant
|
|
115
|
+
* @property ratio Default: `'SCREEN'`,
|
|
116
|
+
* @property resolution Default: `'ONE_X'`,
|
|
117
|
+
* @property legend Default: `false`,
|
|
118
|
+
* @property mapH Default: 0,
|
|
119
|
+
* @property mapW Default: 0,
|
|
120
|
+
* @property imageSize Default: {zoomOffset: 0, scale: 1, imageW: 0, imageH: 0},
|
|
121
|
+
* @property imageDataUri Default: `''`,
|
|
122
|
+
* @property exporting Default: `false`
|
|
123
|
+
* @property error Default: `false`
|
|
124
|
+
* @type {import('./ui-state-updaters').ExportImage}
|
|
125
|
+
* @public
|
|
126
|
+
*/
|
|
127
|
+
export const DEFAULT_EXPORT_IMAGE = {
|
|
128
|
+
// user options
|
|
129
|
+
ratio: EXPORT_IMG_RATIOS.SCREEN,
|
|
130
|
+
resolution: RESOLUTIONS.ONE_X,
|
|
131
|
+
legend: false,
|
|
132
|
+
mapH: 0,
|
|
133
|
+
mapW: 0,
|
|
134
|
+
imageSize: {
|
|
135
|
+
zoomOffset: 0,
|
|
136
|
+
scale: 1,
|
|
137
|
+
imageW: 0,
|
|
138
|
+
imageH: 0
|
|
139
|
+
},
|
|
140
|
+
// when this is set to true, the mock map viewport will move to the center of data
|
|
141
|
+
center: false,
|
|
142
|
+
// exporting state
|
|
143
|
+
imageDataUri: '',
|
|
144
|
+
// exporting: used to attach plot-container to dom
|
|
145
|
+
exporting: false,
|
|
146
|
+
// processing: used as loading indicator when export image is being produced
|
|
147
|
+
processing: false,
|
|
148
|
+
error: false
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
export const DEFAULT_LOAD_FILES = {
|
|
152
|
+
fileLoading: false
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Default initial `exportData` settings
|
|
157
|
+
* @memberof uiStateUpdaters
|
|
158
|
+
* @constant
|
|
159
|
+
* @property selectedDataset Default: `''`,
|
|
160
|
+
* @property dataType Default: `'csv'`,
|
|
161
|
+
* @property filtered Default: `true`,
|
|
162
|
+
* @type {import('./ui-state-updaters').ExportData}
|
|
163
|
+
* @public
|
|
164
|
+
*/
|
|
165
|
+
export const DEFAULT_EXPORT_DATA = {
|
|
166
|
+
selectedDataset: '',
|
|
167
|
+
dataType: EXPORT_DATA_TYPE.CSV,
|
|
168
|
+
filtered: true
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* @constant
|
|
173
|
+
*/
|
|
174
|
+
export const DEFAULT_NOTIFICATIONS = [];
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* @constant
|
|
178
|
+
* @property exportMapboxAccessToken - Default: null, this is used when we provide a default mapbox token for users to take advantage of
|
|
179
|
+
* @property userMapboxToken - Default: '', mapbox token provided by user through input field
|
|
180
|
+
* @property mode - Default: 'READ', read only or editable
|
|
181
|
+
* @type {import('./ui-state-updaters').ExportHtml}
|
|
182
|
+
* @public
|
|
183
|
+
*/
|
|
184
|
+
export const DEFAULT_EXPORT_HTML = {
|
|
185
|
+
exportMapboxAccessToken: null,
|
|
186
|
+
userMapboxToken: '',
|
|
187
|
+
mode: EXPORT_HTML_MAP_MODES.READ
|
|
188
|
+
};
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* @constant
|
|
192
|
+
* @property hasData - Default: 'true',
|
|
193
|
+
* @type {import('./ui-state-updaters').ExportJson}
|
|
194
|
+
* @public
|
|
195
|
+
*/
|
|
196
|
+
export const DEFAULT_EXPORT_JSON = {
|
|
197
|
+
hasData: true
|
|
198
|
+
};
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* Export Map Config
|
|
202
|
+
* @constant
|
|
203
|
+
* @property HTML - Default: 'DEFAULT_EXPORT_HTML',
|
|
204
|
+
* @property JSON - Default: 'DEFAULT_EXPORT_JSON',
|
|
205
|
+
* @property format - Default: 'HTML',
|
|
206
|
+
* @type {import('./ui-state-updaters').ExportMap}
|
|
207
|
+
* @public
|
|
208
|
+
*/
|
|
209
|
+
export const DEFAULT_EXPORT_MAP = {
|
|
210
|
+
[EXPORT_MAP_FORMATS.HTML]: DEFAULT_EXPORT_HTML,
|
|
211
|
+
[EXPORT_MAP_FORMATS.JSON]: DEFAULT_EXPORT_JSON,
|
|
212
|
+
format: EXPORT_MAP_FORMATS.HTML
|
|
213
|
+
};
|
|
214
|
+
|
|
215
|
+
/**
|
|
216
|
+
* Default initial `uiState`
|
|
217
|
+
* @memberof uiStateUpdaters
|
|
218
|
+
* @constant
|
|
219
|
+
* @property readOnly Default: `false`
|
|
220
|
+
* @property activeSidePanel Default: `'layer'`
|
|
221
|
+
* @property currentModal Default: `'addData'`
|
|
222
|
+
* @property datasetKeyToRemove Default: `null`
|
|
223
|
+
* @property visibleDropdown Default: `null`
|
|
224
|
+
* @property exportImage Default: [`DEFAULT_EXPORT_IMAGE`](#default_export_image)
|
|
225
|
+
* @property exportData Default: [`DEFAULT_EXPORT_DATA`](#default_export_data)
|
|
226
|
+
* @property exportMap Default: [`DEFAULT_EXPORT_MAP`](#default_export_map)
|
|
227
|
+
* @property mapControls Default: [`DEFAULT_MAP_CONTROLS`](#default_map_controls)
|
|
228
|
+
* @property notifications Default: `[]`
|
|
229
|
+
* @property notifications Default: `[]`
|
|
230
|
+
* @property loadFiles
|
|
231
|
+
* @type {import('./ui-state-updaters').UiState}
|
|
232
|
+
* @public
|
|
233
|
+
*/
|
|
234
|
+
export const INITIAL_UI_STATE = {
|
|
235
|
+
readOnly: false,
|
|
236
|
+
activeSidePanel: DEFAULT_ACTIVE_SIDE_PANEL,
|
|
237
|
+
currentModal: DEFAULT_MODAL,
|
|
238
|
+
datasetKeyToRemove: null,
|
|
239
|
+
visibleDropdown: null,
|
|
240
|
+
// export image modal ui
|
|
241
|
+
exportImage: DEFAULT_EXPORT_IMAGE,
|
|
242
|
+
// export data modal ui
|
|
243
|
+
exportData: DEFAULT_EXPORT_DATA,
|
|
244
|
+
// html export
|
|
245
|
+
exportMap: DEFAULT_EXPORT_MAP,
|
|
246
|
+
// map control panels
|
|
247
|
+
mapControls: DEFAULT_MAP_CONTROLS,
|
|
248
|
+
// ui notifications
|
|
249
|
+
notifications: DEFAULT_NOTIFICATIONS,
|
|
250
|
+
// load files
|
|
251
|
+
loadFiles: DEFAULT_LOAD_FILES,
|
|
252
|
+
// Locale of the UI
|
|
253
|
+
locale: LOCALE_CODES.en
|
|
254
|
+
};
|
|
255
|
+
|
|
256
|
+
/* Updaters */
|
|
257
|
+
/**
|
|
258
|
+
* @memberof uiStateUpdaters
|
|
259
|
+
|
|
260
|
+
*/
|
|
261
|
+
export const initUiStateUpdater = (state, action) => ({
|
|
262
|
+
...state,
|
|
263
|
+
...(action.payload || {}).initialUiState
|
|
264
|
+
});
|
|
265
|
+
|
|
266
|
+
/**
|
|
267
|
+
* Toggle active side panel
|
|
268
|
+
* @memberof uiStateUpdaters
|
|
269
|
+
* @param state `uiState`
|
|
270
|
+
* @param action
|
|
271
|
+
* @param action.payload id of side panel to be shown, one of `layer`, `filter`, `interaction`, `map`. close side panel if `null`
|
|
272
|
+
* @returns nextState
|
|
273
|
+
* @type {typeof import('./ui-state-updaters').toggleSidePanelUpdater}
|
|
274
|
+
* @public
|
|
275
|
+
*/
|
|
276
|
+
export const toggleSidePanelUpdater = (state, {payload: id}) => {
|
|
277
|
+
return id === state.activeSidePanel
|
|
278
|
+
? state
|
|
279
|
+
: {
|
|
280
|
+
...state,
|
|
281
|
+
activeSidePanel: id
|
|
282
|
+
};
|
|
283
|
+
};
|
|
284
|
+
|
|
285
|
+
/**
|
|
286
|
+
* Show and hide modal dialog
|
|
287
|
+
* @memberof uiStateUpdaters
|
|
288
|
+
* @param state `uiState`
|
|
289
|
+
* @param action
|
|
290
|
+
* @paramaction.payload id of modal to be shown, null to hide modals. One of:
|
|
291
|
+
* - [`DATA_TABLE_ID`](../constants/default-settings.md#data_table_id)
|
|
292
|
+
* - [`DELETE_DATA_ID`](../constants/default-settings.md#delete_data_id)
|
|
293
|
+
* - [`ADD_DATA_ID`](../constants/default-settings.md#add_data_id)
|
|
294
|
+
* - [`EXPORT_IMAGE_ID`](../constants/default-settings.md#export_image_id)
|
|
295
|
+
* - [`EXPORT_DATA_ID`](../constants/default-settings.md#export_data_id)
|
|
296
|
+
* - [`ADD_MAP_STYLE_ID`](../constants/default-settings.md#add_map_style_id)
|
|
297
|
+
* @returns nextState
|
|
298
|
+
* @type {typeof import('./ui-state-updaters').toggleModalUpdater}
|
|
299
|
+
* @public
|
|
300
|
+
*/
|
|
301
|
+
export const toggleModalUpdater = (state, {payload: id}) => ({
|
|
302
|
+
...state,
|
|
303
|
+
currentModal: id
|
|
304
|
+
});
|
|
305
|
+
|
|
306
|
+
/**
|
|
307
|
+
* Hide and show side panel header dropdown, activated by clicking the share link on top of the side panel
|
|
308
|
+
* @memberof uiStateUpdaters
|
|
309
|
+
* @type {typeof import('./ui-state-updaters').showExportDropdownUpdater}
|
|
310
|
+
* @public
|
|
311
|
+
*/
|
|
312
|
+
export const showExportDropdownUpdater = (state, {payload: id}) => ({
|
|
313
|
+
...state,
|
|
314
|
+
visibleDropdown: id
|
|
315
|
+
});
|
|
316
|
+
|
|
317
|
+
/**
|
|
318
|
+
* Hide side panel header dropdown, activated by clicking the share link on top of the side panel
|
|
319
|
+
* @memberof uiStateUpdaters
|
|
320
|
+
* @type {typeof import('./ui-state-updaters').hideExportDropdownUpdater}
|
|
321
|
+
* @public
|
|
322
|
+
*/
|
|
323
|
+
export const hideExportDropdownUpdater = state => ({
|
|
324
|
+
...state,
|
|
325
|
+
visibleDropdown: null
|
|
326
|
+
});
|
|
327
|
+
|
|
328
|
+
/**
|
|
329
|
+
* Toggle active map control panel
|
|
330
|
+
* @memberof uiStateUpdaters
|
|
331
|
+
* @param state `uiState`
|
|
332
|
+
* @param action action
|
|
333
|
+
* @param action.payload map control panel id, one of the keys of: [`DEFAULT_MAP_CONTROLS`](#default_map_controls)
|
|
334
|
+
* @returns nextState
|
|
335
|
+
* @type {typeof import('./ui-state-updaters').toggleMapControlUpdater}
|
|
336
|
+
* @public
|
|
337
|
+
*/
|
|
338
|
+
export const toggleMapControlUpdater = (state, {payload: {panelId, index = 0}}) => ({
|
|
339
|
+
...state,
|
|
340
|
+
mapControls: {
|
|
341
|
+
...state.mapControls,
|
|
342
|
+
[panelId]: {
|
|
343
|
+
...state.mapControls[panelId],
|
|
344
|
+
// this handles split map interaction
|
|
345
|
+
// Toggling from within the same map will simply toggle the active property
|
|
346
|
+
// Toggling from within different maps we set the active property to true
|
|
347
|
+
active:
|
|
348
|
+
index === state.mapControls[panelId].activeMapIndex
|
|
349
|
+
? !state.mapControls[panelId].active
|
|
350
|
+
: true,
|
|
351
|
+
activeMapIndex: index
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
});
|
|
355
|
+
|
|
356
|
+
/**
|
|
357
|
+
* Toggle map control visibility
|
|
358
|
+
* @memberof uiStateUpdaters
|
|
359
|
+
* @param state `uiState`
|
|
360
|
+
* @param action action
|
|
361
|
+
* @param action.payload map control panel id, one of the keys of: [`DEFAULT_MAP_CONTROLS`](#default_map_controls)
|
|
362
|
+
* @returns nextState
|
|
363
|
+
* @type {typeof import('./ui-state-updaters').setMapControlVisibilityUpdater}
|
|
364
|
+
* @public
|
|
365
|
+
*/
|
|
366
|
+
export const setMapControlVisibilityUpdater = (state, {payload: {panelId, show}}) => {
|
|
367
|
+
if (!state.mapControls?.[panelId]) {
|
|
368
|
+
return state;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
return {
|
|
372
|
+
...state,
|
|
373
|
+
mapControls: {
|
|
374
|
+
...state.mapControls,
|
|
375
|
+
[panelId]: {
|
|
376
|
+
...state.mapControls[panelId],
|
|
377
|
+
show: Boolean(show)
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
};
|
|
381
|
+
};
|
|
382
|
+
|
|
383
|
+
/**
|
|
384
|
+
* Toggle active map control panel
|
|
385
|
+
* @memberof uiStateUpdaters
|
|
386
|
+
* @param state `uiState`
|
|
387
|
+
* @param action
|
|
388
|
+
* @param action.payload dataset id
|
|
389
|
+
* @returns nextState
|
|
390
|
+
* @type {typeof import('./ui-state-updaters').openDeleteModalUpdater}
|
|
391
|
+
* @public
|
|
392
|
+
*/
|
|
393
|
+
export const openDeleteModalUpdater = (state, {payload: datasetKeyToRemove}) => ({
|
|
394
|
+
...state,
|
|
395
|
+
currentModal: DELETE_DATA_ID,
|
|
396
|
+
datasetKeyToRemove
|
|
397
|
+
});
|
|
398
|
+
|
|
399
|
+
/**
|
|
400
|
+
* Set `exportImage.legend` to `true` or `false`
|
|
401
|
+
* @memberof uiStateUpdaters
|
|
402
|
+
* @param state `uiState`
|
|
403
|
+
* @returns nextState
|
|
404
|
+
* @type {typeof import('./ui-state-updaters').setExportImageSettingUpdater}
|
|
405
|
+
* @public
|
|
406
|
+
*/
|
|
407
|
+
export const setExportImageSettingUpdater = (state, {payload: newSetting}) => {
|
|
408
|
+
const updated = {...state.exportImage, ...newSetting};
|
|
409
|
+
const imageSize = calculateExportImageSize(updated) || state.exportImage.imageSize;
|
|
410
|
+
|
|
411
|
+
return {
|
|
412
|
+
...state,
|
|
413
|
+
exportImage: {
|
|
414
|
+
...updated,
|
|
415
|
+
imageSize
|
|
416
|
+
}
|
|
417
|
+
};
|
|
418
|
+
};
|
|
419
|
+
|
|
420
|
+
/**
|
|
421
|
+
* Set `exportImage.setExportImageDataUri` to a image dataUri
|
|
422
|
+
* @memberof uiStateUpdaters
|
|
423
|
+
* @param state `uiState`
|
|
424
|
+
* @param action
|
|
425
|
+
* @param action.payload export image data uri
|
|
426
|
+
* @returns nextState
|
|
427
|
+
* @type {typeof import('./ui-state-updaters').setExportImageDataUriUpdater}
|
|
428
|
+
* @public
|
|
429
|
+
*/
|
|
430
|
+
export const setExportImageDataUriUpdater = (state, {payload: dataUri}) => ({
|
|
431
|
+
...state,
|
|
432
|
+
exportImage: {
|
|
433
|
+
...state.exportImage,
|
|
434
|
+
processing: false,
|
|
435
|
+
imageDataUri: dataUri
|
|
436
|
+
}
|
|
437
|
+
});
|
|
438
|
+
|
|
439
|
+
/**
|
|
440
|
+
* @memberof uiStateUpdaters
|
|
441
|
+
* @type {typeof import('./ui-state-updaters').setExportImageErrorUpdater}
|
|
442
|
+
* @public
|
|
443
|
+
*/
|
|
444
|
+
export const setExportImageErrorUpdater = (state, {payload: error}) => ({
|
|
445
|
+
...state,
|
|
446
|
+
exportImage: {
|
|
447
|
+
...state.exportImage,
|
|
448
|
+
processing: false,
|
|
449
|
+
error
|
|
450
|
+
}
|
|
451
|
+
});
|
|
452
|
+
|
|
453
|
+
/**
|
|
454
|
+
* Delete cached export image
|
|
455
|
+
* @memberof uiStateUpdaters
|
|
456
|
+
* @type {typeof import('./ui-state-updaters').cleanupExportImageUpdater}
|
|
457
|
+
* @public
|
|
458
|
+
*/
|
|
459
|
+
export const cleanupExportImageUpdater = state => ({
|
|
460
|
+
...state,
|
|
461
|
+
exportImage: {
|
|
462
|
+
...state.exportImage,
|
|
463
|
+
exporting: false,
|
|
464
|
+
imageDataUri: '',
|
|
465
|
+
error: false,
|
|
466
|
+
processing: false,
|
|
467
|
+
center: false
|
|
468
|
+
}
|
|
469
|
+
});
|
|
470
|
+
|
|
471
|
+
/**
|
|
472
|
+
* Start image exporting flow
|
|
473
|
+
* @memberof uiStateUpdaters
|
|
474
|
+
* @param state
|
|
475
|
+
* @param options
|
|
476
|
+
* @returns {UiState}
|
|
477
|
+
* @type {typeof import('./ui-state-updaters').startExportingImage}
|
|
478
|
+
* @public
|
|
479
|
+
*/
|
|
480
|
+
export const startExportingImageUpdater = (state, {payload: options = {}}) => {
|
|
481
|
+
const imageSettings = {
|
|
482
|
+
...options,
|
|
483
|
+
exporting: true
|
|
484
|
+
};
|
|
485
|
+
|
|
486
|
+
return compose_([
|
|
487
|
+
cleanupExportImageUpdater,
|
|
488
|
+
apply_(setExportImageSettingUpdater, payload_(imageSettings))
|
|
489
|
+
])(state);
|
|
490
|
+
};
|
|
491
|
+
|
|
492
|
+
/**
|
|
493
|
+
* Set selected dataset for export
|
|
494
|
+
* @memberof uiStateUpdaters
|
|
495
|
+
* @param state `uiState`
|
|
496
|
+
* @param action
|
|
497
|
+
* @param action.payload dataset id
|
|
498
|
+
* @returns nextState
|
|
499
|
+
* @type {typeof import('./ui-state-updaters').setExportSelectedDatasetUpdater}
|
|
500
|
+
* @public
|
|
501
|
+
*/
|
|
502
|
+
export const setExportSelectedDatasetUpdater = (state, {payload: dataset}) => ({
|
|
503
|
+
...state,
|
|
504
|
+
exportData: {
|
|
505
|
+
...state.exportData,
|
|
506
|
+
selectedDataset: dataset
|
|
507
|
+
}
|
|
508
|
+
});
|
|
509
|
+
|
|
510
|
+
/**
|
|
511
|
+
* Set data format for exporting data
|
|
512
|
+
* @memberof uiStateUpdaters
|
|
513
|
+
* @param state `uiState`
|
|
514
|
+
* @param action
|
|
515
|
+
* @param action.payload one of `'text/csv'`
|
|
516
|
+
* @returns nextState
|
|
517
|
+
* @type {typeof import('./ui-state-updaters').setExportDataTypeUpdater}
|
|
518
|
+
* @public
|
|
519
|
+
*/
|
|
520
|
+
export const setExportDataTypeUpdater = (state, {payload: dataType}) => ({
|
|
521
|
+
...state,
|
|
522
|
+
exportData: {
|
|
523
|
+
...state.exportData,
|
|
524
|
+
dataType
|
|
525
|
+
}
|
|
526
|
+
});
|
|
527
|
+
|
|
528
|
+
/**
|
|
529
|
+
* Whether to export filtered data, `true` or `false`
|
|
530
|
+
* @memberof uiStateUpdaters
|
|
531
|
+
* @param state `uiState`
|
|
532
|
+
* @param action
|
|
533
|
+
* @param action.payload
|
|
534
|
+
* @returns nextState
|
|
535
|
+
* @type {typeof import('./ui-state-updaters').setExportFilteredUpdater}
|
|
536
|
+
* @public
|
|
537
|
+
*/
|
|
538
|
+
export const setExportFilteredUpdater = (state, {payload: filtered}) => ({
|
|
539
|
+
...state,
|
|
540
|
+
exportData: {
|
|
541
|
+
...state.exportData,
|
|
542
|
+
filtered
|
|
543
|
+
}
|
|
544
|
+
});
|
|
545
|
+
|
|
546
|
+
/**
|
|
547
|
+
* Whether to including data in map config, toggle between `true` or `false`
|
|
548
|
+
* @memberof uiStateUpdaters
|
|
549
|
+
* @param state `uiState`
|
|
550
|
+
* @returns nextState
|
|
551
|
+
* @type {typeof import('./ui-state-updaters').setExportDataUpdater}
|
|
552
|
+
* @public
|
|
553
|
+
*/
|
|
554
|
+
export const setExportDataUpdater = state => ({
|
|
555
|
+
...state,
|
|
556
|
+
exportMap: {
|
|
557
|
+
...state.exportMap,
|
|
558
|
+
[EXPORT_MAP_FORMATS.JSON]: {
|
|
559
|
+
...state.exportMap[EXPORT_MAP_FORMATS.JSON],
|
|
560
|
+
hasData: !state.exportMap[EXPORT_MAP_FORMATS.JSON].hasData
|
|
561
|
+
}
|
|
562
|
+
}
|
|
563
|
+
});
|
|
564
|
+
|
|
565
|
+
/**
|
|
566
|
+
* whether to export a mapbox access to HTML single page
|
|
567
|
+
* @param state - `uiState`
|
|
568
|
+
* @param action
|
|
569
|
+
* @param action.payload
|
|
570
|
+
* @returns nextState
|
|
571
|
+
* @type {typeof import('./ui-state-updaters').setUserMapboxAccessTokenUpdater}
|
|
572
|
+
* @public
|
|
573
|
+
*/
|
|
574
|
+
export const setUserMapboxAccessTokenUpdater = (state, {payload: userMapboxToken}) => ({
|
|
575
|
+
...state,
|
|
576
|
+
exportMap: {
|
|
577
|
+
...state.exportMap,
|
|
578
|
+
[EXPORT_MAP_FORMATS.HTML]: {
|
|
579
|
+
...state.exportMap[EXPORT_MAP_FORMATS.HTML],
|
|
580
|
+
userMapboxToken
|
|
581
|
+
}
|
|
582
|
+
}
|
|
583
|
+
});
|
|
584
|
+
|
|
585
|
+
/**
|
|
586
|
+
* Sets the export map format
|
|
587
|
+
* @param state - `uiState`
|
|
588
|
+
* @param action
|
|
589
|
+
* @param action.payload format to use to export the map into
|
|
590
|
+
* @return nextState
|
|
591
|
+
* @type {typeof import('./ui-state-updaters').setExportMapFormatUpdater}
|
|
592
|
+
*/
|
|
593
|
+
export const setExportMapFormatUpdater = (state, {payload: format}) => ({
|
|
594
|
+
...state,
|
|
595
|
+
exportMap: {
|
|
596
|
+
...state.exportMap,
|
|
597
|
+
format
|
|
598
|
+
}
|
|
599
|
+
});
|
|
600
|
+
|
|
601
|
+
/**
|
|
602
|
+
* Set the export html map mode
|
|
603
|
+
* @param state - `uiState`
|
|
604
|
+
* @param action
|
|
605
|
+
* @param action.payload to be set (available modes: EXPORT_HTML_MAP_MODES)
|
|
606
|
+
* @return nextState
|
|
607
|
+
* @type {typeof import('./ui-state-updaters').setExportMapHTMLModeUpdater}
|
|
608
|
+
*/
|
|
609
|
+
export const setExportMapHTMLModeUpdater = (state, {payload: mode}) => ({
|
|
610
|
+
...state,
|
|
611
|
+
exportMap: {
|
|
612
|
+
...state.exportMap,
|
|
613
|
+
[EXPORT_MAP_FORMATS.HTML]: {
|
|
614
|
+
...state.exportMap[EXPORT_MAP_FORMATS.HTML],
|
|
615
|
+
mode
|
|
616
|
+
}
|
|
617
|
+
}
|
|
618
|
+
});
|
|
619
|
+
|
|
620
|
+
/**
|
|
621
|
+
* Adds a new notification.
|
|
622
|
+
* Updates a notification in case of matching ids.
|
|
623
|
+
* @memberof uiStateUpdaters
|
|
624
|
+
* @param state `uiState`
|
|
625
|
+
* @param action
|
|
626
|
+
* @param action.payload Params of a notification
|
|
627
|
+
* @returns nextState
|
|
628
|
+
* @type {typeof import('./ui-state-updaters').addNotificationUpdater}
|
|
629
|
+
* @public
|
|
630
|
+
*/
|
|
631
|
+
export const addNotificationUpdater = (state, {payload}) => {
|
|
632
|
+
let notifications;
|
|
633
|
+
|
|
634
|
+
const payloadId = payload?.id;
|
|
635
|
+
const notificationToUpdate = payloadId ? state.notifications.find(n => n.id === payloadId) : null;
|
|
636
|
+
if (notificationToUpdate) {
|
|
637
|
+
notifications = state.notifications.map(n =>
|
|
638
|
+
n.id === payloadId ? createNotification(payload) : n
|
|
639
|
+
);
|
|
640
|
+
} else {
|
|
641
|
+
notifications = [...(state.notifications || []), createNotification(payload)];
|
|
642
|
+
}
|
|
643
|
+
|
|
644
|
+
return {...state, notifications};
|
|
645
|
+
};
|
|
646
|
+
|
|
647
|
+
/**
|
|
648
|
+
* Remove a notification
|
|
649
|
+
* @memberof uiStateUpdaters
|
|
650
|
+
* @param state `uiState`
|
|
651
|
+
* @param action
|
|
652
|
+
* @param action.payload id of the notification to be removed
|
|
653
|
+
* @returns nextState
|
|
654
|
+
* @type {typeof import('./ui-state-updaters').removeNotificationUpdater}
|
|
655
|
+
* @public
|
|
656
|
+
*/
|
|
657
|
+
export const removeNotificationUpdater = (state, {payload: id}) => ({
|
|
658
|
+
...state,
|
|
659
|
+
notifications: state.notifications.filter(n => n.id !== id)
|
|
660
|
+
});
|
|
661
|
+
|
|
662
|
+
/**
|
|
663
|
+
* Fired when file loading begin
|
|
664
|
+
* @memberof uiStateUpdaters
|
|
665
|
+
* @param state `uiState`
|
|
666
|
+
* @returns nextState
|
|
667
|
+
* @type {typeof import('./ui-state-updaters').loadFilesUpdater}
|
|
668
|
+
* @public
|
|
669
|
+
*/
|
|
670
|
+
export const loadFilesUpdater = state => ({
|
|
671
|
+
...state,
|
|
672
|
+
loadFiles: {
|
|
673
|
+
...state.loadFiles,
|
|
674
|
+
fileLoading: true
|
|
675
|
+
}
|
|
676
|
+
});
|
|
677
|
+
|
|
678
|
+
/**
|
|
679
|
+
* Handles loading file success and set fileLoading property to false
|
|
680
|
+
* @memberof uiStateUpdaters
|
|
681
|
+
* @param state `uiState`
|
|
682
|
+
* @returns nextState
|
|
683
|
+
* @type {typeof import('./ui-state-updaters').loadFilesSuccessUpdater}
|
|
684
|
+
*/
|
|
685
|
+
export const loadFilesSuccessUpdater = state => ({
|
|
686
|
+
...state,
|
|
687
|
+
loadFiles: {
|
|
688
|
+
...state.loadFiles,
|
|
689
|
+
fileLoading: false
|
|
690
|
+
}
|
|
691
|
+
});
|
|
692
|
+
|
|
693
|
+
/**
|
|
694
|
+
* Handles load file error and set fileLoading property to false
|
|
695
|
+
* @memberof uiStateUpdaters
|
|
696
|
+
* @param state
|
|
697
|
+
* @param action
|
|
698
|
+
* @param action.error
|
|
699
|
+
* @returns nextState
|
|
700
|
+
* @type {typeof import('./ui-state-updaters').loadFilesErrUpdater}
|
|
701
|
+
* @public
|
|
702
|
+
*/
|
|
703
|
+
export const loadFilesErrUpdater = (state, {error}) =>
|
|
704
|
+
addNotificationUpdater(
|
|
705
|
+
{
|
|
706
|
+
...state,
|
|
707
|
+
loadFiles: {
|
|
708
|
+
...state.loadFiles,
|
|
709
|
+
fileLoading: false
|
|
710
|
+
}
|
|
711
|
+
},
|
|
712
|
+
{
|
|
713
|
+
payload: errorNotification({
|
|
714
|
+
message: (error || {}).message || 'Failed to upload files',
|
|
715
|
+
topic: DEFAULT_NOTIFICATION_TOPICS.global
|
|
716
|
+
})
|
|
717
|
+
}
|
|
718
|
+
);
|
|
719
|
+
|
|
720
|
+
/**
|
|
721
|
+
* Handles toggle map split and reset all map control index to 0
|
|
722
|
+
* @memberof uiStateUpdaters
|
|
723
|
+
* @param state
|
|
724
|
+
* @returns nextState
|
|
725
|
+
* @type {typeof import('./ui-state-updaters').toggleSplitMapUpdater}
|
|
726
|
+
* @public
|
|
727
|
+
*/
|
|
728
|
+
export const toggleSplitMapUpdater = state => ({
|
|
729
|
+
...state,
|
|
730
|
+
mapControls: Object.entries(state.mapControls).reduce(
|
|
731
|
+
(acc, entry) => ({
|
|
732
|
+
...acc,
|
|
733
|
+
[entry[0]]: {
|
|
734
|
+
...entry[1],
|
|
735
|
+
activeMapIndex: 0
|
|
736
|
+
}
|
|
737
|
+
}),
|
|
738
|
+
{}
|
|
739
|
+
)
|
|
740
|
+
});
|
|
741
|
+
|
|
742
|
+
/**
|
|
743
|
+
* Toggle modal data
|
|
744
|
+
* @memberof uiStateUpdaters
|
|
745
|
+
* @param state
|
|
746
|
+
* @returns nextState
|
|
747
|
+
* @type {typeof import('./ui-state-updaters').showDatasetTableUpdater}
|
|
748
|
+
* @public
|
|
749
|
+
*/
|
|
750
|
+
export const showDatasetTableUpdater = state => toggleModalUpdater(state, {payload: DATA_TABLE_ID});
|
|
751
|
+
|
|
752
|
+
/**
|
|
753
|
+
* Set the locale of the UI
|
|
754
|
+
* @memberof uiStateUpdaters
|
|
755
|
+
* @param state `uiState`
|
|
756
|
+
* @param action
|
|
757
|
+
* @param action.payload
|
|
758
|
+
* @param action.payload.locale locale
|
|
759
|
+
* @returns nextState
|
|
760
|
+
* @type {typeof import('./ui-state-updaters').setLocaleUpdater}
|
|
761
|
+
* @public
|
|
762
|
+
*/
|
|
763
|
+
export const setLocaleUpdater = (state, {payload: {locale}}) => ({
|
|
764
|
+
...state,
|
|
765
|
+
locale
|
|
766
|
+
});
|