@kepler.gl/components 3.3.0-alpha.5 → 3.3.0-alpha.6
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/dist/cjs/annotations/annotation-node.js +145 -0
- package/dist/cjs/annotations/annotation-overlay.js +168 -0
- package/dist/cjs/annotations/annotation-panel.js +361 -0
- package/dist/cjs/annotations/annotation-text.js +149 -0
- package/dist/cjs/annotations/annotation-utils.js +197 -0
- package/dist/cjs/annotations/index.js +53 -0
- package/dist/cjs/annotations/lexical-editor/clickable-link-plugin.js +71 -0
- package/dist/cjs/annotations/lexical-editor/floating-link-editor.js +193 -0
- package/dist/cjs/annotations/lexical-editor/index.js +78 -0
- package/dist/cjs/annotations/lexical-editor/lexical-constants.js +22 -0
- package/dist/cjs/annotations/lexical-editor/lexical-nodes.js +13 -0
- package/dist/cjs/annotations/lexical-editor/lexical-rich-text-editor.js +121 -0
- package/dist/cjs/annotations/lexical-editor/lexical-theme.js +25 -0
- package/dist/cjs/annotations/lexical-editor/lexical-toolbar.js +292 -0
- package/dist/cjs/annotations/lexical-editor/lexical-utils.js +45 -0
- package/dist/cjs/annotations/lexical-editor/use-lexical-toolbar.js +253 -0
- package/dist/cjs/bottom-widget.js +183 -0
- package/dist/cjs/common/action-panel.js +133 -0
- package/dist/cjs/common/animation-control/animation-control.js +100 -0
- package/dist/cjs/common/animation-control/animation-controller.js +271 -0
- package/dist/cjs/common/animation-control/animation-speed-slider.js +63 -0
- package/dist/cjs/common/animation-control/animation-window-control.js +59 -0
- package/dist/cjs/common/animation-control/export-video-control.js +43 -0
- package/dist/cjs/common/animation-control/floating-time-display.js +131 -0
- package/dist/cjs/common/animation-control/play-control.js +50 -0
- package/dist/cjs/common/animation-control/playback-controls.js +164 -0
- package/dist/cjs/common/animation-control/reset-control.js +41 -0
- package/dist/cjs/common/animation-control/speed-control.js +51 -0
- package/dist/cjs/common/animation-control/window-action-control.js +57 -0
- package/dist/cjs/common/checkbox.js +101 -0
- package/dist/cjs/common/color-legend.js +272 -0
- package/dist/cjs/common/column-stats-chart.js +312 -0
- package/dist/cjs/common/data-table/button.js +38 -0
- package/dist/cjs/common/data-table/canvas.js +26 -0
- package/dist/cjs/common/data-table/cell-size.js +183 -0
- package/dist/cjs/common/data-table/display-format.js +125 -0
- package/dist/cjs/common/data-table/grid.js +106 -0
- package/dist/cjs/common/data-table/header-cell.js +148 -0
- package/dist/cjs/common/data-table/index.js +470 -0
- package/dist/cjs/common/data-table/option-dropdown.js +159 -0
- package/dist/cjs/common/dataset-label.js +27 -0
- package/dist/cjs/common/dnd-layer-items.js +22 -0
- package/dist/cjs/common/error-boundary.js +59 -0
- package/dist/cjs/common/field-selector.js +172 -0
- package/dist/cjs/common/field-token.js +43 -0
- package/dist/cjs/common/file-uploader/file-drop.js +180 -0
- package/dist/cjs/common/file-uploader/file-upload-progress.js +84 -0
- package/dist/cjs/common/file-uploader/file-upload.js +241 -0
- package/dist/cjs/common/file-uploader/upload-button.js +58 -0
- package/dist/cjs/common/flex-container.js +15 -0
- package/dist/cjs/common/histogram-plot.js +282 -0
- package/dist/cjs/common/icon-button.js +25 -0
- package/dist/cjs/common/icons/3d-models/airplane.js +103 -0
- package/dist/cjs/common/icons/3d-models/bicycle.js +425 -0
- package/dist/cjs/common/icons/3d-models/boeing.js +118 -0
- package/dist/cjs/common/icons/3d-models/car.js +109 -0
- package/dist/cjs/common/icons/3d-models/cargoship.js +245 -0
- package/dist/cjs/common/icons/3d-models/evtol.js +133 -0
- package/dist/cjs/common/icons/3d-models/glider.js +61 -0
- package/dist/cjs/common/icons/3d-models/helicopter.js +109 -0
- package/dist/cjs/common/icons/3d-models/scooter.js +158 -0
- package/dist/cjs/common/icons/3d-models/semitruck.js +176 -0
- package/dist/cjs/common/icons/3d-models/truck.js +121 -0
- package/dist/cjs/common/icons/add.js +40 -0
- package/dist/cjs/common/icons/anchor_window.js +41 -0
- package/dist/cjs/common/icons/annotation-text.js +55 -0
- package/dist/cjs/common/icons/arrow-down-alt.js +40 -0
- package/dist/cjs/common/icons/arrow-down-full.js +49 -0
- package/dist/cjs/common/icons/arrow-down-small.js +53 -0
- package/dist/cjs/common/icons/arrow-down-solid.js +40 -0
- package/dist/cjs/common/icons/arrow-down.js +50 -0
- package/dist/cjs/common/icons/arrow-left.js +43 -0
- package/dist/cjs/common/icons/arrow-right.js +40 -0
- package/dist/cjs/common/icons/arrow-up-alt.js +41 -0
- package/dist/cjs/common/icons/arrow-up-solid.js +40 -0
- package/dist/cjs/common/icons/arrow-up.js +40 -0
- package/dist/cjs/common/icons/base-map.js +56 -0
- package/dist/cjs/common/icons/base.js +78 -0
- package/dist/cjs/common/icons/bug.js +70 -0
- package/dist/cjs/common/icons/calendar.js +48 -0
- package/dist/cjs/common/icons/cancel.js +40 -0
- package/dist/cjs/common/icons/checkmark.js +46 -0
- package/dist/cjs/common/icons/clipboard.js +41 -0
- package/dist/cjs/common/icons/clock.js +42 -0
- package/dist/cjs/common/icons/close.js +46 -0
- package/dist/cjs/common/icons/cloud.js +50 -0
- package/dist/cjs/common/icons/code-alt.js +43 -0
- package/dist/cjs/common/icons/copy.js +51 -0
- package/dist/cjs/common/icons/crosshairs.js +43 -0
- package/dist/cjs/common/icons/cube-3d.js +54 -0
- package/dist/cjs/common/icons/cursor-click.js +44 -0
- package/dist/cjs/common/icons/cursor-point.js +50 -0
- package/dist/cjs/common/icons/data-table.js +76 -0
- package/dist/cjs/common/icons/db.js +58 -0
- package/dist/cjs/common/icons/delete.js +52 -0
- package/dist/cjs/common/icons/docs.js +56 -0
- package/dist/cjs/common/icons/docs2.js +50 -0
- package/dist/cjs/common/icons/drag-n-drop.js +42 -0
- package/dist/cjs/common/icons/draggable-dots.js +84 -0
- package/dist/cjs/common/icons/draw-polygon.js +60 -0
- package/dist/cjs/common/icons/edit.js +48 -0
- package/dist/cjs/common/icons/effects/brightness-contrast.js +69 -0
- package/dist/cjs/common/icons/effects/color-halftone.js +108 -0
- package/dist/cjs/common/icons/effects/distance-fog.js +78 -0
- package/dist/cjs/common/icons/effects/dot-screen.js +103 -0
- package/dist/cjs/common/icons/effects/edge-work.js +62 -0
- package/dist/cjs/common/icons/effects/hexagonal-pixelate.js +129 -0
- package/dist/cjs/common/icons/effects/hue-saturation.js +60 -0
- package/dist/cjs/common/icons/effects/ink.js +59 -0
- package/dist/cjs/common/icons/effects/light-and-shadow.js +48 -0
- package/dist/cjs/common/icons/effects/magic-wand.js +60 -0
- package/dist/cjs/common/icons/effects/magnify.js +67 -0
- package/dist/cjs/common/icons/effects/noise.js +113 -0
- package/dist/cjs/common/icons/effects/sepia.js +60 -0
- package/dist/cjs/common/icons/effects/surface-fog.js +85 -0
- package/dist/cjs/common/icons/effects/tilt-shift.js +69 -0
- package/dist/cjs/common/icons/effects/triangle-blur.js +64 -0
- package/dist/cjs/common/icons/effects/vibrance.js +60 -0
- package/dist/cjs/common/icons/effects/vignette.js +53 -0
- package/dist/cjs/common/icons/effects/zoom-blur.js +88 -0
- package/dist/cjs/common/icons/email.js +44 -0
- package/dist/cjs/common/icons/expand.js +42 -0
- package/dist/cjs/common/icons/eye-seen.js +49 -0
- package/dist/cjs/common/icons/eye-unseen.js +47 -0
- package/dist/cjs/common/icons/file-type.js +35 -0
- package/dist/cjs/common/icons/file.js +40 -0
- package/dist/cjs/common/icons/files.js +41 -0
- package/dist/cjs/common/icons/filter-funnel.js +50 -0
- package/dist/cjs/common/icons/folder.js +50 -0
- package/dist/cjs/common/icons/free-window.js +44 -0
- package/dist/cjs/common/icons/gear.js +42 -0
- package/dist/cjs/common/icons/globe.js +53 -0
- package/dist/cjs/common/icons/hash.js +40 -0
- package/dist/cjs/common/icons/help.js +50 -0
- package/dist/cjs/common/icons/histogram.js +41 -0
- package/dist/cjs/common/icons/horizontal-resize-handle.js +58 -0
- package/dist/cjs/common/icons/index.js +824 -0
- package/dist/cjs/common/icons/info.js +53 -0
- package/dist/cjs/common/icons/layers.js +54 -0
- package/dist/cjs/common/icons/left-arrow.js +43 -0
- package/dist/cjs/common/icons/legend.js +68 -0
- package/dist/cjs/common/icons/line-chart.js +40 -0
- package/dist/cjs/common/icons/location-marker.js +58 -0
- package/dist/cjs/common/icons/login.js +43 -0
- package/dist/cjs/common/icons/logout.js +42 -0
- package/dist/cjs/common/icons/map-icon.js +47 -0
- package/dist/cjs/common/icons/map-pin.js +56 -0
- package/dist/cjs/common/icons/messages.js +54 -0
- package/dist/cjs/common/icons/minus.js +40 -0
- package/dist/cjs/common/icons/moon.js +58 -0
- package/dist/cjs/common/icons/order-by-dataset.js +46 -0
- package/dist/cjs/common/icons/order-by-list.js +38 -0
- package/dist/cjs/common/icons/pause.js +60 -0
- package/dist/cjs/common/icons/picture.js +59 -0
- package/dist/cjs/common/icons/pin.js +52 -0
- package/dist/cjs/common/icons/play.js +50 -0
- package/dist/cjs/common/icons/pointer-click.js +58 -0
- package/dist/cjs/common/icons/polygon.js +62 -0
- package/dist/cjs/common/icons/rectangle.js +63 -0
- package/dist/cjs/common/icons/reduce.js +43 -0
- package/dist/cjs/common/icons/reset.js +56 -0
- package/dist/cjs/common/icons/save.js +57 -0
- package/dist/cjs/common/icons/save2.js +54 -0
- package/dist/cjs/common/icons/search.js +42 -0
- package/dist/cjs/common/icons/settings.js +60 -0
- package/dist/cjs/common/icons/share.js +70 -0
- package/dist/cjs/common/icons/speed.js +52 -0
- package/dist/cjs/common/icons/split.js +68 -0
- package/dist/cjs/common/icons/square-select.js +42 -0
- package/dist/cjs/common/icons/sun.js +74 -0
- package/dist/cjs/common/icons/sunrise.js +70 -0
- package/dist/cjs/common/icons/sunset.js +70 -0
- package/dist/cjs/common/icons/timeline-marker.js +55 -0
- package/dist/cjs/common/icons/trash.js +54 -0
- package/dist/cjs/common/icons/vert-dots.js +78 -0
- package/dist/cjs/common/icons/vert-three-dots.js +53 -0
- package/dist/cjs/common/icons/warning-sign.js +60 -0
- package/dist/cjs/common/icons/warning.js +54 -0
- package/dist/cjs/common/icons/zoom-in.js +47 -0
- package/dist/cjs/common/icons/zoom-out.js +47 -0
- package/dist/cjs/common/image-preview.js +64 -0
- package/dist/cjs/common/index.js +282 -0
- package/dist/cjs/common/info-helper.js +61 -0
- package/dist/cjs/common/item-selector/accessor.js +37 -0
- package/dist/cjs/common/item-selector/chickleted-input.js +157 -0
- package/dist/cjs/common/item-selector/dropdown-list.js +257 -0
- package/dist/cjs/common/item-selector/dropdown-select.js +84 -0
- package/dist/cjs/common/item-selector/item-selector.js +254 -0
- package/dist/cjs/common/item-selector/typeahead.js +435 -0
- package/dist/cjs/common/layout-splitter.js +230 -0
- package/dist/cjs/common/line-chart.js +286 -0
- package/dist/cjs/common/link-renderer.js +20 -0
- package/dist/cjs/common/loading-spinner.js +50 -0
- package/dist/cjs/common/logo.js +68 -0
- package/dist/cjs/common/map-layer-selector.js +38 -0
- package/dist/cjs/common/modal.js +170 -0
- package/dist/cjs/common/portaled.js +287 -0
- package/dist/cjs/common/progress-bar.js +47 -0
- package/dist/cjs/common/radius-legend.js +131 -0
- package/dist/cjs/common/range-brush.js +265 -0
- package/dist/cjs/common/range-plot.js +217 -0
- package/dist/cjs/common/range-slider-timeline-panel.js +42 -0
- package/dist/cjs/common/range-slider-timeline.js +112 -0
- package/dist/cjs/common/range-slider.js +371 -0
- package/dist/cjs/common/slider/mouse-event.js +104 -0
- package/dist/cjs/common/slider/slider-bar-handle.js +90 -0
- package/dist/cjs/common/slider/slider-handle.js +136 -0
- package/dist/cjs/common/slider/slider.js +251 -0
- package/dist/cjs/common/styled-components.js +447 -0
- package/dist/cjs/common/switch.js +21 -0
- package/dist/cjs/common/sync-timeline-control.js +61 -0
- package/dist/cjs/common/time-range-slider-time-title.js +62 -0
- package/dist/cjs/common/time-range-slider.js +143 -0
- package/dist/cjs/common/time-slider-marker.js +115 -0
- package/dist/cjs/common/timeline-helpers.js +57 -0
- package/dist/cjs/common/timeline-slider.js +140 -0
- package/dist/cjs/common/tippy-tooltip.js +134 -0
- package/dist/cjs/common/toolbar-item.js +60 -0
- package/dist/cjs/common/toolbar.js +27 -0
- package/dist/cjs/common/vertical-toolbar.js +16 -0
- package/dist/cjs/connect/keplergl-connect.js +44 -0
- package/dist/cjs/connect/with-local-selector.js +85 -0
- package/dist/cjs/container.js +180 -0
- package/dist/cjs/context.js +43 -0
- package/dist/cjs/dnd-context.js +174 -0
- package/dist/cjs/editor/editor.js +200 -0
- package/dist/cjs/editor/feature-action-panel.js +147 -0
- package/dist/cjs/effects/compact-color-picker.js +110 -0
- package/dist/cjs/effects/effect-configurator.js +473 -0
- package/dist/cjs/effects/effect-list.js +129 -0
- package/dist/cjs/effects/effect-manager.js +126 -0
- package/dist/cjs/effects/effect-panel-header.js +196 -0
- package/dist/cjs/effects/effect-panel.js +86 -0
- package/dist/cjs/effects/effect-time-configurator.js +313 -0
- package/dist/cjs/effects/effect-time-selector.js +152 -0
- package/dist/cjs/effects/effect-time-slider.js +198 -0
- package/dist/cjs/effects/effect-type-dropdown-list.js +65 -0
- package/dist/cjs/effects/effect-type-list-item.js +98 -0
- package/dist/cjs/effects/effect-type-selector.js +76 -0
- package/dist/cjs/effects/side-panel-title.js +37 -0
- package/dist/cjs/effects/surface-fog-section.js +262 -0
- package/dist/cjs/effects/timezone-selector.js +57 -0
- package/dist/cjs/filter-animation-controller.js +76 -0
- package/dist/cjs/filters/components.js +14 -0
- package/dist/cjs/filters/filter-panels/filter-panel-with-field-select.js +77 -0
- package/dist/cjs/filters/filter-panels/filter-synced-dataset-panel.js +260 -0
- package/dist/cjs/filters/filter-panels/multi-select-filter-panel.js +48 -0
- package/dist/cjs/filters/filter-panels/new-filter-panel.js +66 -0
- package/dist/cjs/filters/filter-panels/polygon-filter-panel.js +67 -0
- package/dist/cjs/filters/filter-panels/range-filter-panel.js +53 -0
- package/dist/cjs/filters/filter-panels/single-select-filter-panel.js +48 -0
- package/dist/cjs/filters/filter-panels/time-range-filter-panel.js +129 -0
- package/dist/cjs/filters/filter-panels/time-synced-field-selector.js +28 -0
- package/dist/cjs/filters/filter-panels/types.js +6 -0
- package/dist/cjs/filters/index.js +63 -0
- package/dist/cjs/filters/multi-select-filter.js +31 -0
- package/dist/cjs/filters/polygon-filter.js +76 -0
- package/dist/cjs/filters/range-filter.js +35 -0
- package/dist/cjs/filters/single-select-filter.js +40 -0
- package/dist/cjs/filters/time-range-filter.js +69 -0
- package/dist/cjs/filters/time-widget-settings.js +311 -0
- package/dist/cjs/filters/time-widget-top.js +80 -0
- package/dist/cjs/filters/time-widget.js +376 -0
- package/dist/cjs/filters/types.js +6 -0
- package/dist/cjs/geocoder/geocoder.js +327 -0
- package/dist/cjs/geocoder-panel.js +172 -0
- package/dist/cjs/hooks/use-cloud-list-provider.js +46 -0
- package/dist/cjs/hooks/use-dnd-effects.js +69 -0
- package/dist/cjs/hooks/use-dnd-layers.js +141 -0
- package/dist/cjs/hooks/use-feature-flags.js +17 -0
- package/dist/cjs/hooks/use-fetch-raster-tile-metadata.js +120 -0
- package/dist/cjs/hooks/use-fetch-vector-tile-metadata.js +133 -0
- package/dist/cjs/hooks/use-legend-position.js +176 -0
- package/dist/cjs/hooks/use-on-click-outside.js +36 -0
- package/dist/cjs/index.js +2897 -0
- package/dist/cjs/injector.js +151 -0
- package/dist/cjs/kepler-gl.js +664 -0
- package/dist/cjs/layer-animation-controller.js +53 -0
- package/dist/cjs/loading-indicator.js +76 -0
- package/dist/cjs/map/annotations/annotation-control.js +55 -0
- package/dist/cjs/map/attribution.js +391 -0
- package/dist/cjs/map/coordinate-info.js +42 -0
- package/dist/cjs/map/effects/effect-control.js +51 -0
- package/dist/cjs/map/layer-hover-info.js +318 -0
- package/dist/cjs/map/lazy-tippy.js +60 -0
- package/dist/cjs/map/locale-panel.js +76 -0
- package/dist/cjs/map/map-control-panel.js +140 -0
- package/dist/cjs/map/map-control-toolbar.js +18 -0
- package/dist/cjs/map/map-control-tooltip.js +34 -0
- package/dist/cjs/map/map-control.js +81 -0
- package/dist/cjs/map/map-draw-panel.js +100 -0
- package/dist/cjs/map/map-legend-panel.js +289 -0
- package/dist/cjs/map/map-legend.js +509 -0
- package/dist/cjs/map/map-navigation-control.js +159 -0
- package/dist/cjs/map/map-popover-content.js +28 -0
- package/dist/cjs/map/map-popover.js +189 -0
- package/dist/cjs/map/map-scale.js +162 -0
- package/dist/cjs/map/split-map-button.js +176 -0
- package/dist/cjs/map/toggle-3d-button.js +122 -0
- package/dist/cjs/map-container.js +1322 -0
- package/dist/cjs/map-view-state-context.js +98 -0
- package/dist/cjs/maps-layout.js +102 -0
- package/dist/cjs/modal-container.js +456 -0
- package/dist/cjs/modals/add-map-style-modal.js +262 -0
- package/dist/cjs/modals/cloud-components/cloud-header.js +59 -0
- package/dist/cjs/modals/cloud-components/cloud-item.js +59 -0
- package/dist/cjs/modals/cloud-components/cloud-item.spec.js +92 -0
- package/dist/cjs/modals/cloud-components/cloud-maps.js +47 -0
- package/dist/cjs/modals/cloud-components/cloud-maps.spec.js +98 -0
- package/dist/cjs/modals/cloud-components/provider-loading.js +20 -0
- package/dist/cjs/modals/cloud-components/provider-select.js +30 -0
- package/dist/cjs/modals/cloud-tile.js +202 -0
- package/dist/cjs/modals/data-table-modal.js +215 -0
- package/dist/cjs/modals/delete-data-modal.js +41 -0
- package/dist/cjs/modals/error-display.js +32 -0
- package/dist/cjs/modals/export-data-modal.js +163 -0
- package/dist/cjs/modals/export-image-modal.js +188 -0
- package/dist/cjs/modals/export-map-modal/components.js +34 -0
- package/dist/cjs/modals/export-map-modal/export-html-map.js +128 -0
- package/dist/cjs/modals/export-map-modal/export-json-map.js +81 -0
- package/dist/cjs/modals/export-map-modal/export-map-modal.js +84 -0
- package/dist/cjs/modals/export-video-modal.js +413 -0
- package/dist/cjs/modals/export-video-modal.spec.js +686 -0
- package/dist/cjs/modals/fog-height-animation.js +97 -0
- package/dist/cjs/modals/globe-export-video-container.js +626 -0
- package/dist/cjs/modals/globe-export-video-preview.js +148 -0
- package/dist/cjs/modals/hubble-utils.js +447 -0
- package/dist/cjs/modals/hubble-utils.spec.js +397 -0
- package/dist/cjs/modals/image-modal-container.js +57 -0
- package/dist/cjs/modals/load-data-modal.js +97 -0
- package/dist/cjs/modals/load-storage-map.js +79 -0
- package/dist/cjs/modals/load-storage-map.spec.js +216 -0
- package/dist/cjs/modals/loading-dialog.js +37 -0
- package/dist/cjs/modals/modal-dialog.js +16 -0
- package/dist/cjs/modals/modal-tabs.js +74 -0
- package/dist/cjs/modals/overwrite-map-modal.js +83 -0
- package/dist/cjs/modals/save-map-modal.js +179 -0
- package/dist/cjs/modals/save-map-modal.spec.js +195 -0
- package/dist/cjs/modals/share-map-modal.js +168 -0
- package/dist/cjs/modals/share-map-modal.spec.js +173 -0
- package/dist/cjs/modals/status-panel.js +65 -0
- package/dist/cjs/modals/storage-map-viewer.js +98 -0
- package/dist/cjs/modals/swipe-composite-utils.js +118 -0
- package/dist/cjs/modals/swipe-export-settings.js +372 -0
- package/dist/cjs/modals/swipe-export-video-container.js +653 -0
- package/dist/cjs/modals/swipe-export-video-preview.js +391 -0
- package/dist/cjs/modals/tilesets-modals/common.js +6 -0
- package/dist/cjs/modals/tilesets-modals/load-data-footer.js +55 -0
- package/dist/cjs/modals/tilesets-modals/load-tileset.js +168 -0
- package/dist/cjs/modals/tilesets-modals/tileset-bitmap-form.js +283 -0
- package/dist/cjs/modals/tilesets-modals/tileset-icon.js +39 -0
- package/dist/cjs/modals/tilesets-modals/tileset-raster-form.js +287 -0
- package/dist/cjs/modals/tilesets-modals/tileset-tile3d-form.js +388 -0
- package/dist/cjs/modals/tilesets-modals/tileset-vector-form.js +261 -0
- package/dist/cjs/modals/tilesets-modals/tileset-wms-form.js +206 -0
- package/dist/cjs/notification-panel/notification-item.js +119 -0
- package/dist/cjs/notification-panel.js +39 -0
- package/dist/cjs/plot-container.js +311 -0
- package/dist/cjs/side-panel/add-by-dataset-button.js +128 -0
- package/dist/cjs/side-panel/cloud-storage-dropdown.js +40 -0
- package/dist/cjs/side-panel/common/dataset-info.js +34 -0
- package/dist/cjs/side-panel/common/dataset-tag.js +62 -0
- package/dist/cjs/side-panel/common/dataset-title.js +143 -0
- package/dist/cjs/side-panel/common/source-data-catalog.js +49 -0
- package/dist/cjs/side-panel/common/source-data-selector-content.js +64 -0
- package/dist/cjs/side-panel/common/source-data-selector.js +41 -0
- package/dist/cjs/side-panel/common/source-selector.js +56 -0
- package/dist/cjs/side-panel/common/types.js +6 -0
- package/dist/cjs/side-panel/custom-panel.js +39 -0
- package/dist/cjs/side-panel/filter-manager.js +202 -0
- package/dist/cjs/side-panel/filter-panel/add-filter-button.js +27 -0
- package/dist/cjs/side-panel/filter-panel/filter-panel-header.js +67 -0
- package/dist/cjs/side-panel/filter-panel/filter-panel.js +92 -0
- package/dist/cjs/side-panel/interaction-manager.js +45 -0
- package/dist/cjs/side-panel/interaction-panel/brush-config.js +41 -0
- package/dist/cjs/side-panel/interaction-panel/geocoder-config.js +45 -0
- package/dist/cjs/side-panel/interaction-panel/interaction-panel.js +121 -0
- package/dist/cjs/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +164 -0
- package/dist/cjs/side-panel/interaction-panel/tooltip-config.js +149 -0
- package/dist/cjs/side-panel/layer-manager.js +224 -0
- package/dist/cjs/side-panel/layer-panel/add-layer-button.js +27 -0
- package/dist/cjs/side-panel/layer-panel/aggr-scale-selector.js +37 -0
- package/dist/cjs/side-panel/layer-panel/channel-by-value-selector.js +71 -0
- package/dist/cjs/side-panel/layer-panel/color-breaks-panel.js +193 -0
- package/dist/cjs/side-panel/layer-panel/color-palette-preset.js +45 -0
- package/dist/cjs/side-panel/layer-panel/color-palette.js +74 -0
- package/dist/cjs/side-panel/layer-panel/color-range-selector.js +242 -0
- package/dist/cjs/side-panel/layer-panel/color-scale-selector.js +295 -0
- package/dist/cjs/side-panel/layer-panel/color-selector.js +186 -0
- package/dist/cjs/side-panel/layer-panel/column-selector.js +59 -0
- package/dist/cjs/side-panel/layer-panel/custom-palette.js +787 -0
- package/dist/cjs/side-panel/layer-panel/custom-picker.js +83 -0
- package/dist/cjs/side-panel/layer-panel/dataset-layer-group.js +68 -0
- package/dist/cjs/side-panel/layer-panel/dataset-layer-section.js +101 -0
- package/dist/cjs/side-panel/layer-panel/dataset-section.js +74 -0
- package/dist/cjs/side-panel/layer-panel/dimension-scale-selector.js +91 -0
- package/dist/cjs/side-panel/layer-panel/how-to-button.js +27 -0
- package/dist/cjs/side-panel/layer-panel/layer-color-selector.js +105 -0
- package/dist/cjs/side-panel/layer-panel/layer-column-config.js +85 -0
- package/dist/cjs/side-panel/layer-panel/layer-column-mode-config.js +192 -0
- package/dist/cjs/side-panel/layer-panel/layer-config-group.js +143 -0
- package/dist/cjs/side-panel/layer-panel/layer-configurator.js +1073 -0
- package/dist/cjs/side-panel/layer-panel/layer-error-message.js +29 -0
- package/dist/cjs/side-panel/layer-panel/layer-group-header.js +178 -0
- package/dist/cjs/side-panel/layer-panel/layer-list.js +330 -0
- package/dist/cjs/side-panel/layer-panel/layer-panel-header.js +311 -0
- package/dist/cjs/side-panel/layer-panel/layer-panel.js +171 -0
- package/dist/cjs/side-panel/layer-panel/layer-type-dropdown-list.js +77 -0
- package/dist/cjs/side-panel/layer-panel/layer-type-list-item.js +71 -0
- package/dist/cjs/side-panel/layer-panel/layer-type-selector.js +57 -0
- package/dist/cjs/side-panel/layer-panel/raster-tile-colormap-list-item.js +60 -0
- package/dist/cjs/side-panel/layer-panel/raster-tile-layer-configurator.js +457 -0
- package/dist/cjs/side-panel/layer-panel/scenegraph-model-selector.js +122 -0
- package/dist/cjs/side-panel/layer-panel/single-color-palette.js +85 -0
- package/dist/cjs/side-panel/layer-panel/text-label-panel.js +173 -0
- package/dist/cjs/side-panel/layer-panel/vector-tile-layer-configurator.js +93 -0
- package/dist/cjs/side-panel/layer-panel/vis-config-by-field-selector.js +60 -0
- package/dist/cjs/side-panel/layer-panel/vis-config-slider.js +167 -0
- package/dist/cjs/side-panel/layer-panel/vis-config-switch.js +55 -0
- package/dist/cjs/side-panel/map-manager.js +108 -0
- package/dist/cjs/side-panel/map-style-panel/globe-config-panel.js +269 -0
- package/dist/cjs/side-panel/map-style-panel/map-layer-group-color-picker.js +76 -0
- package/dist/cjs/side-panel/map-style-panel/map-layer-group-item.js +94 -0
- package/dist/cjs/side-panel/map-style-panel/map-layer-selector.js +74 -0
- package/dist/cjs/side-panel/map-style-panel/map-style-selector.js +97 -0
- package/dist/cjs/side-panel/panel-header-action.js +73 -0
- package/dist/cjs/side-panel/panel-header.js +309 -0
- package/dist/cjs/side-panel/panel-tab.js +55 -0
- package/dist/cjs/side-panel/panel-title.js +40 -0
- package/dist/cjs/side-panel/panel-toggle.js +47 -0
- package/dist/cjs/side-panel/panel-view-list-toggle.js +97 -0
- package/dist/cjs/side-panel/side-bar.js +126 -0
- package/dist/cjs/side-panel.js +235 -0
- package/dist/cjs/types.js +6 -0
- package/dist/esm/annotations/annotation-node.js +138 -0
- package/dist/esm/annotations/annotation-overlay.js +161 -0
- package/dist/esm/annotations/annotation-panel.js +355 -0
- package/dist/esm/annotations/annotation-text.js +142 -0
- package/dist/esm/annotations/annotation-utils.js +185 -0
- package/dist/esm/annotations/index.js +9 -0
- package/dist/esm/annotations/lexical-editor/clickable-link-plugin.js +64 -0
- package/dist/esm/annotations/lexical-editor/floating-link-editor.js +186 -0
- package/dist/esm/annotations/lexical-editor/index.js +9 -0
- package/dist/esm/annotations/lexical-editor/lexical-constants.js +16 -0
- package/dist/esm/annotations/lexical-editor/lexical-nodes.js +7 -0
- package/dist/esm/annotations/lexical-editor/lexical-rich-text-editor.js +114 -0
- package/dist/esm/annotations/lexical-editor/lexical-theme.js +19 -0
- package/dist/esm/annotations/lexical-editor/lexical-toolbar.js +285 -0
- package/dist/esm/annotations/lexical-editor/lexical-utils.js +37 -0
- package/dist/esm/annotations/lexical-editor/use-lexical-toolbar.js +248 -0
- package/dist/esm/bottom-widget.js +176 -0
- package/dist/esm/common/action-panel.js +126 -0
- package/dist/esm/common/animation-control/animation-control.js +95 -0
- package/dist/esm/common/animation-control/animation-controller.js +266 -0
- package/dist/esm/common/animation-control/animation-speed-slider.js +56 -0
- package/dist/esm/common/animation-control/animation-window-control.js +50 -0
- package/dist/esm/common/animation-control/export-video-control.js +36 -0
- package/dist/esm/common/animation-control/floating-time-display.js +124 -0
- package/dist/esm/common/animation-control/play-control.js +43 -0
- package/dist/esm/common/animation-control/playback-controls.js +157 -0
- package/dist/esm/common/animation-control/reset-control.js +34 -0
- package/dist/esm/common/animation-control/speed-control.js +46 -0
- package/dist/esm/common/animation-control/window-action-control.js +48 -0
- package/dist/esm/common/checkbox.js +94 -0
- package/dist/esm/common/color-legend.js +261 -0
- package/dist/esm/common/column-stats-chart.js +305 -0
- package/dist/esm/common/data-table/button.js +33 -0
- package/dist/esm/common/data-table/canvas.js +22 -0
- package/dist/esm/common/data-table/cell-size.js +177 -0
- package/dist/esm/common/data-table/display-format.js +118 -0
- package/dist/esm/common/data-table/grid.js +100 -0
- package/dist/esm/common/data-table/header-cell.js +141 -0
- package/dist/esm/common/data-table/index.js +463 -0
- package/dist/esm/common/data-table/option-dropdown.js +152 -0
- package/dist/esm/common/dataset-label.js +22 -0
- package/dist/esm/common/dnd-layer-items.js +16 -0
- package/dist/esm/common/error-boundary.js +55 -0
- package/dist/esm/common/field-selector.js +164 -0
- package/dist/esm/common/field-token.js +38 -0
- package/dist/esm/common/file-uploader/file-drop.js +170 -0
- package/dist/esm/common/file-uploader/file-upload-progress.js +77 -0
- package/dist/esm/common/file-uploader/file-upload.js +234 -0
- package/dist/esm/common/file-uploader/upload-button.js +51 -0
- package/dist/esm/common/flex-container.js +10 -0
- package/dist/esm/common/histogram-plot.js +275 -0
- package/dist/esm/common/icon-button.js +20 -0
- package/dist/esm/common/icons/3d-models/airplane.js +97 -0
- package/dist/esm/common/icons/3d-models/bicycle.js +419 -0
- package/dist/esm/common/icons/3d-models/boeing.js +112 -0
- package/dist/esm/common/icons/3d-models/car.js +103 -0
- package/dist/esm/common/icons/3d-models/cargoship.js +239 -0
- package/dist/esm/common/icons/3d-models/evtol.js +127 -0
- package/dist/esm/common/icons/3d-models/glider.js +55 -0
- package/dist/esm/common/icons/3d-models/helicopter.js +103 -0
- package/dist/esm/common/icons/3d-models/scooter.js +152 -0
- package/dist/esm/common/icons/3d-models/semitruck.js +170 -0
- package/dist/esm/common/icons/3d-models/truck.js +115 -0
- package/dist/esm/common/icons/add.js +34 -0
- package/dist/esm/common/icons/anchor_window.js +36 -0
- package/dist/esm/common/icons/annotation-text.js +49 -0
- package/dist/esm/common/icons/arrow-down-alt.js +34 -0
- package/dist/esm/common/icons/arrow-down-full.js +43 -0
- package/dist/esm/common/icons/arrow-down-small.js +47 -0
- package/dist/esm/common/icons/arrow-down-solid.js +34 -0
- package/dist/esm/common/icons/arrow-down.js +44 -0
- package/dist/esm/common/icons/arrow-left.js +37 -0
- package/dist/esm/common/icons/arrow-right.js +34 -0
- package/dist/esm/common/icons/arrow-up-alt.js +35 -0
- package/dist/esm/common/icons/arrow-up-solid.js +34 -0
- package/dist/esm/common/icons/arrow-up.js +34 -0
- package/dist/esm/common/icons/base-map.js +49 -0
- package/dist/esm/common/icons/base.js +72 -0
- package/dist/esm/common/icons/bug.js +64 -0
- package/dist/esm/common/icons/calendar.js +42 -0
- package/dist/esm/common/icons/cancel.js +34 -0
- package/dist/esm/common/icons/checkmark.js +40 -0
- package/dist/esm/common/icons/clipboard.js +35 -0
- package/dist/esm/common/icons/clock.js +36 -0
- package/dist/esm/common/icons/close.js +40 -0
- package/dist/esm/common/icons/cloud.js +44 -0
- package/dist/esm/common/icons/code-alt.js +37 -0
- package/dist/esm/common/icons/copy.js +45 -0
- package/dist/esm/common/icons/crosshairs.js +37 -0
- package/dist/esm/common/icons/cube-3d.js +48 -0
- package/dist/esm/common/icons/cursor-click.js +38 -0
- package/dist/esm/common/icons/cursor-point.js +44 -0
- package/dist/esm/common/icons/data-table.js +70 -0
- package/dist/esm/common/icons/db.js +52 -0
- package/dist/esm/common/icons/delete.js +46 -0
- package/dist/esm/common/icons/docs.js +50 -0
- package/dist/esm/common/icons/docs2.js +44 -0
- package/dist/esm/common/icons/drag-n-drop.js +36 -0
- package/dist/esm/common/icons/draggable-dots.js +78 -0
- package/dist/esm/common/icons/draw-polygon.js +54 -0
- package/dist/esm/common/icons/edit.js +42 -0
- package/dist/esm/common/icons/effects/brightness-contrast.js +63 -0
- package/dist/esm/common/icons/effects/color-halftone.js +102 -0
- package/dist/esm/common/icons/effects/distance-fog.js +72 -0
- package/dist/esm/common/icons/effects/dot-screen.js +97 -0
- package/dist/esm/common/icons/effects/edge-work.js +56 -0
- package/dist/esm/common/icons/effects/hexagonal-pixelate.js +123 -0
- package/dist/esm/common/icons/effects/hue-saturation.js +54 -0
- package/dist/esm/common/icons/effects/ink.js +53 -0
- package/dist/esm/common/icons/effects/light-and-shadow.js +42 -0
- package/dist/esm/common/icons/effects/magic-wand.js +54 -0
- package/dist/esm/common/icons/effects/magnify.js +61 -0
- package/dist/esm/common/icons/effects/noise.js +107 -0
- package/dist/esm/common/icons/effects/sepia.js +54 -0
- package/dist/esm/common/icons/effects/surface-fog.js +79 -0
- package/dist/esm/common/icons/effects/tilt-shift.js +63 -0
- package/dist/esm/common/icons/effects/triangle-blur.js +58 -0
- package/dist/esm/common/icons/effects/vibrance.js +54 -0
- package/dist/esm/common/icons/effects/vignette.js +47 -0
- package/dist/esm/common/icons/effects/zoom-blur.js +82 -0
- package/dist/esm/common/icons/email.js +38 -0
- package/dist/esm/common/icons/expand.js +36 -0
- package/dist/esm/common/icons/eye-seen.js +43 -0
- package/dist/esm/common/icons/eye-unseen.js +41 -0
- package/dist/esm/common/icons/file-type.js +30 -0
- package/dist/esm/common/icons/file.js +34 -0
- package/dist/esm/common/icons/files.js +37 -0
- package/dist/esm/common/icons/filter-funnel.js +44 -0
- package/dist/esm/common/icons/folder.js +44 -0
- package/dist/esm/common/icons/free-window.js +39 -0
- package/dist/esm/common/icons/gear.js +36 -0
- package/dist/esm/common/icons/globe.js +47 -0
- package/dist/esm/common/icons/hash.js +34 -0
- package/dist/esm/common/icons/help.js +44 -0
- package/dist/esm/common/icons/histogram.js +37 -0
- package/dist/esm/common/icons/horizontal-resize-handle.js +52 -0
- package/dist/esm/common/icons/index.js +124 -0
- package/dist/esm/common/icons/info.js +47 -0
- package/dist/esm/common/icons/layers.js +48 -0
- package/dist/esm/common/icons/left-arrow.js +37 -0
- package/dist/esm/common/icons/legend.js +62 -0
- package/dist/esm/common/icons/line-chart.js +34 -0
- package/dist/esm/common/icons/location-marker.js +52 -0
- package/dist/esm/common/icons/login.js +37 -0
- package/dist/esm/common/icons/logout.js +36 -0
- package/dist/esm/common/icons/map-icon.js +40 -0
- package/dist/esm/common/icons/map-pin.js +50 -0
- package/dist/esm/common/icons/messages.js +48 -0
- package/dist/esm/common/icons/minus.js +34 -0
- package/dist/esm/common/icons/moon.js +52 -0
- package/dist/esm/common/icons/order-by-dataset.js +41 -0
- package/dist/esm/common/icons/order-by-list.js +33 -0
- package/dist/esm/common/icons/pause.js +54 -0
- package/dist/esm/common/icons/picture.js +55 -0
- package/dist/esm/common/icons/pin.js +46 -0
- package/dist/esm/common/icons/play.js +44 -0
- package/dist/esm/common/icons/pointer-click.js +52 -0
- package/dist/esm/common/icons/polygon.js +56 -0
- package/dist/esm/common/icons/rectangle.js +57 -0
- package/dist/esm/common/icons/reduce.js +37 -0
- package/dist/esm/common/icons/reset.js +50 -0
- package/dist/esm/common/icons/save.js +51 -0
- package/dist/esm/common/icons/save2.js +48 -0
- package/dist/esm/common/icons/search.js +36 -0
- package/dist/esm/common/icons/settings.js +54 -0
- package/dist/esm/common/icons/share.js +64 -0
- package/dist/esm/common/icons/speed.js +46 -0
- package/dist/esm/common/icons/split.js +62 -0
- package/dist/esm/common/icons/square-select.js +36 -0
- package/dist/esm/common/icons/sun.js +68 -0
- package/dist/esm/common/icons/sunrise.js +64 -0
- package/dist/esm/common/icons/sunset.js +64 -0
- package/dist/esm/common/icons/timeline-marker.js +49 -0
- package/dist/esm/common/icons/trash.js +48 -0
- package/dist/esm/common/icons/vert-dots.js +72 -0
- package/dist/esm/common/icons/vert-three-dots.js +47 -0
- package/dist/esm/common/icons/warning-sign.js +54 -0
- package/dist/esm/common/icons/warning.js +48 -0
- package/dist/esm/common/icons/zoom-in.js +41 -0
- package/dist/esm/common/icons/zoom-out.js +41 -0
- package/dist/esm/common/image-preview.js +59 -0
- package/dist/esm/common/index.js +8 -0
- package/dist/esm/common/info-helper.js +56 -0
- package/dist/esm/common/item-selector/accessor.js +31 -0
- package/dist/esm/common/item-selector/chickleted-input.js +150 -0
- package/dist/esm/common/item-selector/dropdown-list.js +251 -0
- package/dist/esm/common/item-selector/dropdown-select.js +79 -0
- package/dist/esm/common/item-selector/item-selector.js +247 -0
- package/dist/esm/common/item-selector/typeahead.js +428 -0
- package/dist/esm/common/layout-splitter.js +224 -0
- package/dist/esm/common/line-chart.js +279 -0
- package/dist/esm/common/link-renderer.js +13 -0
- package/dist/esm/common/loading-spinner.js +43 -0
- package/dist/esm/common/logo.js +63 -0
- package/dist/esm/common/map-layer-selector.js +33 -0
- package/dist/esm/common/modal.js +163 -0
- package/dist/esm/common/portaled.js +280 -0
- package/dist/esm/common/progress-bar.js +43 -0
- package/dist/esm/common/radius-legend.js +124 -0
- package/dist/esm/common/range-brush.js +258 -0
- package/dist/esm/common/range-plot.js +210 -0
- package/dist/esm/common/range-slider-timeline-panel.js +35 -0
- package/dist/esm/common/range-slider-timeline.js +105 -0
- package/dist/esm/common/range-slider.js +364 -0
- package/dist/esm/common/slider/mouse-event.js +98 -0
- package/dist/esm/common/slider/slider-bar-handle.js +84 -0
- package/dist/esm/common/slider/slider-handle.js +130 -0
- package/dist/esm/common/slider/slider.js +245 -0
- package/dist/esm/common/styled-components.js +441 -0
- package/dist/esm/common/switch.js +16 -0
- package/dist/esm/common/sync-timeline-control.js +54 -0
- package/dist/esm/common/time-range-slider-time-title.js +57 -0
- package/dist/esm/common/time-range-slider.js +135 -0
- package/dist/esm/common/time-slider-marker.js +105 -0
- package/dist/esm/common/timeline-helpers.js +48 -0
- package/dist/esm/common/timeline-slider.js +133 -0
- package/dist/esm/common/tippy-tooltip.js +127 -0
- package/dist/esm/common/toolbar-item.js +55 -0
- package/dist/esm/common/toolbar.js +22 -0
- package/dist/esm/common/vertical-toolbar.js +11 -0
- package/dist/esm/connect/keplergl-connect.js +38 -0
- package/dist/esm/connect/with-local-selector.js +78 -0
- package/dist/esm/container.js +171 -0
- package/dist/esm/context.js +35 -0
- package/dist/esm/dnd-context.js +167 -0
- package/dist/esm/editor/editor.js +193 -0
- package/dist/esm/editor/feature-action-panel.js +139 -0
- package/dist/esm/effects/compact-color-picker.js +103 -0
- package/dist/esm/effects/effect-configurator.js +465 -0
- package/dist/esm/effects/effect-list.js +122 -0
- package/dist/esm/effects/effect-manager.js +119 -0
- package/dist/esm/effects/effect-panel-header.js +188 -0
- package/dist/esm/effects/effect-panel.js +79 -0
- package/dist/esm/effects/effect-time-configurator.js +306 -0
- package/dist/esm/effects/effect-time-selector.js +145 -0
- package/dist/esm/effects/effect-time-slider.js +190 -0
- package/dist/esm/effects/effect-type-dropdown-list.js +57 -0
- package/dist/esm/effects/effect-type-list-item.js +89 -0
- package/dist/esm/effects/effect-type-selector.js +69 -0
- package/dist/esm/effects/side-panel-title.js +32 -0
- package/dist/esm/effects/surface-fog-section.js +254 -0
- package/dist/esm/effects/timezone-selector.js +50 -0
- package/dist/esm/filter-animation-controller.js +67 -0
- package/dist/esm/filters/components.js +9 -0
- package/dist/esm/filters/filter-panels/filter-panel-with-field-select.js +68 -0
- package/dist/esm/filters/filter-panels/filter-synced-dataset-panel.js +253 -0
- package/dist/esm/filters/filter-panels/multi-select-filter-panel.js +39 -0
- package/dist/esm/filters/filter-panels/new-filter-panel.js +56 -0
- package/dist/esm/filters/filter-panels/polygon-filter-panel.js +58 -0
- package/dist/esm/filters/filter-panels/range-filter-panel.js +44 -0
- package/dist/esm/filters/filter-panels/single-select-filter-panel.js +39 -0
- package/dist/esm/filters/filter-panels/time-range-filter-panel.js +120 -0
- package/dist/esm/filters/filter-panels/time-synced-field-selector.js +23 -0
- package/dist/esm/filters/filter-panels/types.js +3 -0
- package/dist/esm/filters/index.js +12 -0
- package/dist/esm/filters/multi-select-filter.js +24 -0
- package/dist/esm/filters/polygon-filter.js +67 -0
- package/dist/esm/filters/range-filter.js +28 -0
- package/dist/esm/filters/single-select-filter.js +33 -0
- package/dist/esm/filters/time-range-filter.js +61 -0
- package/dist/esm/filters/time-widget-settings.js +304 -0
- package/dist/esm/filters/time-widget-top.js +73 -0
- package/dist/esm/filters/time-widget.js +369 -0
- package/dist/esm/filters/types.js +3 -0
- package/dist/esm/geocoder/geocoder.js +318 -0
- package/dist/esm/geocoder-panel.js +164 -0
- package/dist/esm/hooks/use-cloud-list-provider.js +37 -0
- package/dist/esm/hooks/use-dnd-effects.js +62 -0
- package/dist/esm/hooks/use-dnd-layers.js +136 -0
- package/dist/esm/hooks/use-feature-flags.js +11 -0
- package/dist/esm/hooks/use-fetch-raster-tile-metadata.js +113 -0
- package/dist/esm/hooks/use-fetch-vector-tile-metadata.js +128 -0
- package/dist/esm/hooks/use-legend-position.js +170 -0
- package/dist/esm/hooks/use-on-click-outside.js +29 -0
- package/dist/esm/index.js +278 -0
- package/dist/esm/injector.js +141 -0
- package/dist/esm/kepler-gl.js +651 -0
- package/dist/esm/layer-animation-controller.js +44 -0
- package/dist/esm/loading-indicator.js +69 -0
- package/dist/esm/map/annotations/annotation-control.js +46 -0
- package/dist/esm/map/attribution.js +382 -0
- package/dist/esm/map/coordinate-info.js +36 -0
- package/dist/esm/map/effects/effect-control.js +42 -0
- package/dist/esm/map/layer-hover-info.js +312 -0
- package/dist/esm/map/lazy-tippy.js +53 -0
- package/dist/esm/map/locale-panel.js +67 -0
- package/dist/esm/map/map-control-panel.js +133 -0
- package/dist/esm/map/map-control-toolbar.js +13 -0
- package/dist/esm/map/map-control-tooltip.js +27 -0
- package/dist/esm/map/map-control.js +77 -0
- package/dist/esm/map/map-draw-panel.js +91 -0
- package/dist/esm/map/map-legend-panel.js +282 -0
- package/dist/esm/map/map-legend.js +496 -0
- package/dist/esm/map/map-navigation-control.js +152 -0
- package/dist/esm/map/map-popover-content.js +21 -0
- package/dist/esm/map/map-popover.js +181 -0
- package/dist/esm/map/map-scale.js +155 -0
- package/dist/esm/map/split-map-button.js +167 -0
- package/dist/esm/map/toggle-3d-button.js +113 -0
- package/dist/esm/map-container.js +1292 -0
- package/dist/esm/map-view-state-context.js +89 -0
- package/dist/esm/maps-layout.js +95 -0
- package/dist/esm/modal-container.js +453 -0
- package/dist/esm/modals/add-map-style-modal.js +256 -0
- package/dist/esm/modals/cloud-components/cloud-header.js +52 -0
- package/dist/esm/modals/cloud-components/cloud-item.js +54 -0
- package/dist/esm/modals/cloud-components/cloud-item.spec.js +91 -0
- package/dist/esm/modals/cloud-components/cloud-maps.js +42 -0
- package/dist/esm/modals/cloud-components/cloud-maps.spec.js +94 -0
- package/dist/esm/modals/cloud-components/provider-loading.js +15 -0
- package/dist/esm/modals/cloud-components/provider-select.js +25 -0
- package/dist/esm/modals/cloud-tile.js +195 -0
- package/dist/esm/modals/data-table-modal.js +208 -0
- package/dist/esm/modals/delete-data-modal.js +36 -0
- package/dist/esm/modals/error-display.js +23 -0
- package/dist/esm/modals/export-data-modal.js +155 -0
- package/dist/esm/modals/export-image-modal.js +181 -0
- package/dist/esm/modals/export-map-modal/components.js +29 -0
- package/dist/esm/modals/export-map-modal/export-html-map.js +123 -0
- package/dist/esm/modals/export-map-modal/export-json-map.js +74 -0
- package/dist/esm/modals/export-map-modal/export-map-modal.js +77 -0
- package/dist/esm/modals/export-video-modal.js +400 -0
- package/dist/esm/modals/export-video-modal.spec.js +685 -0
- package/dist/esm/modals/fog-height-animation.js +90 -0
- package/dist/esm/modals/globe-export-video-container.js +620 -0
- package/dist/esm/modals/globe-export-video-preview.js +141 -0
- package/dist/esm/modals/hubble-utils.js +429 -0
- package/dist/esm/modals/hubble-utils.spec.js +396 -0
- package/dist/esm/modals/image-modal-container.js +48 -0
- package/dist/esm/modals/load-data-modal.js +89 -0
- package/dist/esm/modals/load-storage-map.js +70 -0
- package/dist/esm/modals/load-storage-map.spec.js +212 -0
- package/dist/esm/modals/loading-dialog.js +32 -0
- package/dist/esm/modals/modal-dialog.js +9 -0
- package/dist/esm/modals/modal-tabs.js +67 -0
- package/dist/esm/modals/overwrite-map-modal.js +76 -0
- package/dist/esm/modals/save-map-modal.js +172 -0
- package/dist/esm/modals/save-map-modal.spec.js +196 -0
- package/dist/esm/modals/share-map-modal.js +160 -0
- package/dist/esm/modals/share-map-modal.spec.js +172 -0
- package/dist/esm/modals/status-panel.js +60 -0
- package/dist/esm/modals/storage-map-viewer.js +93 -0
- package/dist/esm/modals/swipe-composite-utils.js +111 -0
- package/dist/esm/modals/swipe-export-settings.js +366 -0
- package/dist/esm/modals/swipe-export-video-container.js +646 -0
- package/dist/esm/modals/swipe-export-video-preview.js +384 -0
- package/dist/esm/modals/tilesets-modals/common.js +3 -0
- package/dist/esm/modals/tilesets-modals/load-data-footer.js +48 -0
- package/dist/esm/modals/tilesets-modals/load-tileset.js +161 -0
- package/dist/esm/modals/tilesets-modals/tileset-bitmap-form.js +275 -0
- package/dist/esm/modals/tilesets-modals/tileset-icon.js +34 -0
- package/dist/esm/modals/tilesets-modals/tileset-raster-form.js +279 -0
- package/dist/esm/modals/tilesets-modals/tileset-tile3d-form.js +380 -0
- package/dist/esm/modals/tilesets-modals/tileset-vector-form.js +253 -0
- package/dist/esm/modals/tilesets-modals/tileset-wms-form.js +199 -0
- package/dist/esm/notification-panel/notification-item.js +112 -0
- package/dist/esm/notification-panel.js +34 -0
- package/dist/esm/plot-container.js +304 -0
- package/dist/esm/side-panel/add-by-dataset-button.js +121 -0
- package/dist/esm/side-panel/cloud-storage-dropdown.js +33 -0
- package/dist/esm/side-panel/common/dataset-info.js +29 -0
- package/dist/esm/side-panel/common/dataset-tag.js +57 -0
- package/dist/esm/side-panel/common/dataset-title.js +136 -0
- package/dist/esm/side-panel/common/source-data-catalog.js +44 -0
- package/dist/esm/side-panel/common/source-data-selector-content.js +55 -0
- package/dist/esm/side-panel/common/source-data-selector.js +34 -0
- package/dist/esm/side-panel/common/source-selector.js +49 -0
- package/dist/esm/side-panel/common/types.js +3 -0
- package/dist/esm/side-panel/custom-panel.js +32 -0
- package/dist/esm/side-panel/filter-manager.js +195 -0
- package/dist/esm/side-panel/filter-panel/add-filter-button.js +20 -0
- package/dist/esm/side-panel/filter-panel/filter-panel-header.js +60 -0
- package/dist/esm/side-panel/filter-panel/filter-panel.js +85 -0
- package/dist/esm/side-panel/interaction-manager.js +38 -0
- package/dist/esm/side-panel/interaction-panel/brush-config.js +36 -0
- package/dist/esm/side-panel/interaction-panel/geocoder-config.js +40 -0
- package/dist/esm/side-panel/interaction-panel/interaction-panel.js +114 -0
- package/dist/esm/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +157 -0
- package/dist/esm/side-panel/interaction-panel/tooltip-config.js +142 -0
- package/dist/esm/side-panel/layer-manager.js +217 -0
- package/dist/esm/side-panel/layer-panel/add-layer-button.js +20 -0
- package/dist/esm/side-panel/layer-panel/aggr-scale-selector.js +29 -0
- package/dist/esm/side-panel/layer-panel/channel-by-value-selector.js +61 -0
- package/dist/esm/side-panel/layer-panel/color-breaks-panel.js +186 -0
- package/dist/esm/side-panel/layer-panel/color-palette-preset.js +40 -0
- package/dist/esm/side-panel/layer-panel/color-palette.js +67 -0
- package/dist/esm/side-panel/layer-panel/color-range-selector.js +236 -0
- package/dist/esm/side-panel/layer-panel/color-scale-selector.js +288 -0
- package/dist/esm/side-panel/layer-panel/color-selector.js +179 -0
- package/dist/esm/side-panel/layer-panel/column-selector.js +52 -0
- package/dist/esm/side-panel/layer-panel/custom-palette.js +783 -0
- package/dist/esm/side-panel/layer-panel/custom-picker.js +77 -0
- package/dist/esm/side-panel/layer-panel/dataset-layer-group.js +59 -0
- package/dist/esm/side-panel/layer-panel/dataset-layer-section.js +94 -0
- package/dist/esm/side-panel/layer-panel/dataset-section.js +68 -0
- package/dist/esm/side-panel/layer-panel/dimension-scale-selector.js +82 -0
- package/dist/esm/side-panel/layer-panel/how-to-button.js +22 -0
- package/dist/esm/side-panel/layer-panel/layer-color-selector.js +94 -0
- package/dist/esm/side-panel/layer-panel/layer-column-config.js +76 -0
- package/dist/esm/side-panel/layer-panel/layer-column-mode-config.js +184 -0
- package/dist/esm/side-panel/layer-panel/layer-config-group.js +134 -0
- package/dist/esm/side-panel/layer-panel/layer-configurator.js +1064 -0
- package/dist/esm/side-panel/layer-panel/layer-error-message.js +24 -0
- package/dist/esm/side-panel/layer-panel/layer-group-header.js +171 -0
- package/dist/esm/side-panel/layer-panel/layer-list.js +323 -0
- package/dist/esm/side-panel/layer-panel/layer-panel-header.js +302 -0
- package/dist/esm/side-panel/layer-panel/layer-panel.js +164 -0
- package/dist/esm/side-panel/layer-panel/layer-type-dropdown-list.js +69 -0
- package/dist/esm/side-panel/layer-panel/layer-type-list-item.js +63 -0
- package/dist/esm/side-panel/layer-panel/layer-type-selector.js +50 -0
- package/dist/esm/side-panel/layer-panel/raster-tile-colormap-list-item.js +55 -0
- package/dist/esm/side-panel/layer-panel/raster-tile-layer-configurator.js +450 -0
- package/dist/esm/side-panel/layer-panel/scenegraph-model-selector.js +115 -0
- package/dist/esm/side-panel/layer-panel/single-color-palette.js +78 -0
- package/dist/esm/side-panel/layer-panel/text-label-panel.js +166 -0
- package/dist/esm/side-panel/layer-panel/vector-tile-layer-configurator.js +86 -0
- package/dist/esm/side-panel/layer-panel/vis-config-by-field-selector.js +53 -0
- package/dist/esm/side-panel/layer-panel/vis-config-slider.js +160 -0
- package/dist/esm/side-panel/layer-panel/vis-config-switch.js +50 -0
- package/dist/esm/side-panel/map-manager.js +99 -0
- package/dist/esm/side-panel/map-style-panel/globe-config-panel.js +262 -0
- package/dist/esm/side-panel/map-style-panel/map-layer-group-color-picker.js +69 -0
- package/dist/esm/side-panel/map-style-panel/map-layer-group-item.js +87 -0
- package/dist/esm/side-panel/map-style-panel/map-layer-selector.js +69 -0
- package/dist/esm/side-panel/map-style-panel/map-style-selector.js +92 -0
- package/dist/esm/side-panel/panel-header-action.js +68 -0
- package/dist/esm/side-panel/panel-header.js +303 -0
- package/dist/esm/side-panel/panel-tab.js +49 -0
- package/dist/esm/side-panel/panel-title.js +35 -0
- package/dist/esm/side-panel/panel-toggle.js +40 -0
- package/dist/esm/side-panel/panel-view-list-toggle.js +90 -0
- package/dist/esm/side-panel/side-bar.js +119 -0
- package/dist/esm/side-panel.js +227 -0
- package/dist/esm/types.js +3 -0
- package/dist/index.d.ts +1 -1
- package/dist/modals/hubble-utils.d.ts +16 -0
- package/package.json +35 -20
- package/dist/annotations/annotation-node.js +0 -145
- package/dist/annotations/annotation-overlay.js +0 -168
- package/dist/annotations/annotation-panel.js +0 -361
- package/dist/annotations/annotation-text.js +0 -149
- package/dist/annotations/annotation-utils.js +0 -197
- package/dist/annotations/index.js +0 -53
- package/dist/annotations/lexical-editor/clickable-link-plugin.js +0 -71
- package/dist/annotations/lexical-editor/floating-link-editor.js +0 -193
- package/dist/annotations/lexical-editor/index.js +0 -78
- package/dist/annotations/lexical-editor/lexical-constants.js +0 -22
- package/dist/annotations/lexical-editor/lexical-nodes.js +0 -13
- package/dist/annotations/lexical-editor/lexical-rich-text-editor.js +0 -121
- package/dist/annotations/lexical-editor/lexical-theme.js +0 -25
- package/dist/annotations/lexical-editor/lexical-toolbar.js +0 -292
- package/dist/annotations/lexical-editor/lexical-utils.js +0 -45
- package/dist/annotations/lexical-editor/use-lexical-toolbar.js +0 -253
- package/dist/bottom-widget.js +0 -183
- package/dist/common/action-panel.js +0 -133
- package/dist/common/animation-control/animation-control.js +0 -100
- package/dist/common/animation-control/animation-controller.js +0 -271
- package/dist/common/animation-control/animation-speed-slider.js +0 -63
- package/dist/common/animation-control/animation-window-control.js +0 -59
- package/dist/common/animation-control/export-video-control.js +0 -43
- package/dist/common/animation-control/floating-time-display.js +0 -131
- package/dist/common/animation-control/play-control.js +0 -50
- package/dist/common/animation-control/playback-controls.js +0 -164
- package/dist/common/animation-control/reset-control.js +0 -41
- package/dist/common/animation-control/speed-control.js +0 -51
- package/dist/common/animation-control/window-action-control.js +0 -57
- package/dist/common/checkbox.js +0 -101
- package/dist/common/color-legend.js +0 -272
- package/dist/common/column-stats-chart.js +0 -312
- package/dist/common/data-table/button.js +0 -38
- package/dist/common/data-table/canvas.js +0 -26
- package/dist/common/data-table/cell-size.js +0 -183
- package/dist/common/data-table/display-format.js +0 -125
- package/dist/common/data-table/grid.js +0 -106
- package/dist/common/data-table/header-cell.js +0 -148
- package/dist/common/data-table/index.js +0 -470
- package/dist/common/data-table/option-dropdown.js +0 -159
- package/dist/common/dataset-label.js +0 -27
- package/dist/common/dnd-layer-items.js +0 -22
- package/dist/common/error-boundary.js +0 -59
- package/dist/common/field-selector.js +0 -172
- package/dist/common/field-token.js +0 -43
- package/dist/common/file-uploader/file-drop.js +0 -180
- package/dist/common/file-uploader/file-upload-progress.js +0 -84
- package/dist/common/file-uploader/file-upload.js +0 -241
- package/dist/common/file-uploader/upload-button.js +0 -58
- package/dist/common/flex-container.js +0 -15
- package/dist/common/histogram-plot.js +0 -282
- package/dist/common/icon-button.js +0 -25
- package/dist/common/icons/3d-models/airplane.js +0 -103
- package/dist/common/icons/3d-models/bicycle.js +0 -425
- package/dist/common/icons/3d-models/boeing.js +0 -118
- package/dist/common/icons/3d-models/car.js +0 -109
- package/dist/common/icons/3d-models/cargoship.js +0 -245
- package/dist/common/icons/3d-models/evtol.js +0 -133
- package/dist/common/icons/3d-models/glider.js +0 -61
- package/dist/common/icons/3d-models/helicopter.js +0 -109
- package/dist/common/icons/3d-models/scooter.js +0 -158
- package/dist/common/icons/3d-models/semitruck.js +0 -176
- package/dist/common/icons/3d-models/truck.js +0 -121
- package/dist/common/icons/add.js +0 -40
- package/dist/common/icons/anchor_window.js +0 -41
- package/dist/common/icons/annotation-text.js +0 -55
- package/dist/common/icons/arrow-down-alt.js +0 -40
- package/dist/common/icons/arrow-down-full.js +0 -49
- package/dist/common/icons/arrow-down-small.js +0 -53
- package/dist/common/icons/arrow-down-solid.js +0 -40
- package/dist/common/icons/arrow-down.js +0 -50
- package/dist/common/icons/arrow-left.js +0 -43
- package/dist/common/icons/arrow-right.js +0 -40
- package/dist/common/icons/arrow-up-alt.js +0 -41
- package/dist/common/icons/arrow-up-solid.js +0 -40
- package/dist/common/icons/arrow-up.js +0 -40
- package/dist/common/icons/base-map.js +0 -56
- package/dist/common/icons/base.js +0 -78
- package/dist/common/icons/bug.js +0 -70
- package/dist/common/icons/calendar.js +0 -48
- package/dist/common/icons/cancel.js +0 -40
- package/dist/common/icons/checkmark.js +0 -46
- package/dist/common/icons/clipboard.js +0 -41
- package/dist/common/icons/clock.js +0 -42
- package/dist/common/icons/close.js +0 -46
- package/dist/common/icons/cloud.js +0 -50
- package/dist/common/icons/code-alt.js +0 -43
- package/dist/common/icons/copy.js +0 -51
- package/dist/common/icons/crosshairs.js +0 -43
- package/dist/common/icons/cube-3d.js +0 -54
- package/dist/common/icons/cursor-click.js +0 -44
- package/dist/common/icons/cursor-point.js +0 -50
- package/dist/common/icons/data-table.js +0 -76
- package/dist/common/icons/db.js +0 -58
- package/dist/common/icons/delete.js +0 -52
- package/dist/common/icons/docs.js +0 -56
- package/dist/common/icons/docs2.js +0 -50
- package/dist/common/icons/drag-n-drop.js +0 -42
- package/dist/common/icons/draggable-dots.js +0 -84
- package/dist/common/icons/draw-polygon.js +0 -60
- package/dist/common/icons/edit.js +0 -48
- package/dist/common/icons/effects/brightness-contrast.js +0 -69
- package/dist/common/icons/effects/color-halftone.js +0 -108
- package/dist/common/icons/effects/distance-fog.js +0 -78
- package/dist/common/icons/effects/dot-screen.js +0 -103
- package/dist/common/icons/effects/edge-work.js +0 -62
- package/dist/common/icons/effects/hexagonal-pixelate.js +0 -129
- package/dist/common/icons/effects/hue-saturation.js +0 -60
- package/dist/common/icons/effects/ink.js +0 -59
- package/dist/common/icons/effects/light-and-shadow.js +0 -48
- package/dist/common/icons/effects/magic-wand.js +0 -60
- package/dist/common/icons/effects/magnify.js +0 -67
- package/dist/common/icons/effects/noise.js +0 -113
- package/dist/common/icons/effects/sepia.js +0 -60
- package/dist/common/icons/effects/surface-fog.js +0 -85
- package/dist/common/icons/effects/tilt-shift.js +0 -69
- package/dist/common/icons/effects/triangle-blur.js +0 -64
- package/dist/common/icons/effects/vibrance.js +0 -60
- package/dist/common/icons/effects/vignette.js +0 -53
- package/dist/common/icons/effects/zoom-blur.js +0 -88
- package/dist/common/icons/email.js +0 -44
- package/dist/common/icons/expand.js +0 -42
- package/dist/common/icons/eye-seen.js +0 -49
- package/dist/common/icons/eye-unseen.js +0 -47
- package/dist/common/icons/file-type.js +0 -35
- package/dist/common/icons/file.js +0 -40
- package/dist/common/icons/files.js +0 -41
- package/dist/common/icons/filter-funnel.js +0 -50
- package/dist/common/icons/folder.js +0 -50
- package/dist/common/icons/free-window.js +0 -44
- package/dist/common/icons/gear.js +0 -42
- package/dist/common/icons/globe.js +0 -53
- package/dist/common/icons/hash.js +0 -40
- package/dist/common/icons/help.js +0 -50
- package/dist/common/icons/histogram.js +0 -41
- package/dist/common/icons/horizontal-resize-handle.js +0 -58
- package/dist/common/icons/index.js +0 -824
- package/dist/common/icons/info.js +0 -53
- package/dist/common/icons/layers.js +0 -54
- package/dist/common/icons/left-arrow.js +0 -43
- package/dist/common/icons/legend.js +0 -68
- package/dist/common/icons/line-chart.js +0 -40
- package/dist/common/icons/location-marker.js +0 -58
- package/dist/common/icons/login.js +0 -43
- package/dist/common/icons/logout.js +0 -42
- package/dist/common/icons/map-icon.js +0 -47
- package/dist/common/icons/map-pin.js +0 -56
- package/dist/common/icons/messages.js +0 -54
- package/dist/common/icons/minus.js +0 -40
- package/dist/common/icons/moon.js +0 -58
- package/dist/common/icons/order-by-dataset.js +0 -46
- package/dist/common/icons/order-by-list.js +0 -38
- package/dist/common/icons/pause.js +0 -60
- package/dist/common/icons/picture.js +0 -59
- package/dist/common/icons/pin.js +0 -52
- package/dist/common/icons/play.js +0 -50
- package/dist/common/icons/pointer-click.js +0 -58
- package/dist/common/icons/polygon.js +0 -62
- package/dist/common/icons/rectangle.js +0 -63
- package/dist/common/icons/reduce.js +0 -43
- package/dist/common/icons/reset.js +0 -56
- package/dist/common/icons/save.js +0 -57
- package/dist/common/icons/save2.js +0 -54
- package/dist/common/icons/search.js +0 -42
- package/dist/common/icons/settings.js +0 -60
- package/dist/common/icons/share.js +0 -70
- package/dist/common/icons/speed.js +0 -52
- package/dist/common/icons/split.js +0 -68
- package/dist/common/icons/square-select.js +0 -42
- package/dist/common/icons/sun.js +0 -74
- package/dist/common/icons/sunrise.js +0 -70
- package/dist/common/icons/sunset.js +0 -70
- package/dist/common/icons/timeline-marker.js +0 -55
- package/dist/common/icons/trash.js +0 -54
- package/dist/common/icons/vert-dots.js +0 -78
- package/dist/common/icons/vert-three-dots.js +0 -53
- package/dist/common/icons/warning-sign.js +0 -60
- package/dist/common/icons/warning.js +0 -54
- package/dist/common/icons/zoom-in.js +0 -47
- package/dist/common/icons/zoom-out.js +0 -47
- package/dist/common/image-preview.js +0 -64
- package/dist/common/index.js +0 -282
- package/dist/common/info-helper.js +0 -61
- package/dist/common/item-selector/accessor.js +0 -37
- package/dist/common/item-selector/chickleted-input.js +0 -157
- package/dist/common/item-selector/dropdown-list.js +0 -257
- package/dist/common/item-selector/dropdown-select.js +0 -84
- package/dist/common/item-selector/item-selector.js +0 -254
- package/dist/common/item-selector/typeahead.js +0 -435
- package/dist/common/layout-splitter.js +0 -230
- package/dist/common/line-chart.js +0 -286
- package/dist/common/link-renderer.js +0 -20
- package/dist/common/loading-spinner.js +0 -50
- package/dist/common/logo.js +0 -68
- package/dist/common/map-layer-selector.js +0 -38
- package/dist/common/modal.js +0 -170
- package/dist/common/portaled.js +0 -287
- package/dist/common/progress-bar.js +0 -47
- package/dist/common/radius-legend.js +0 -131
- package/dist/common/range-brush.js +0 -265
- package/dist/common/range-plot.js +0 -217
- package/dist/common/range-slider-timeline-panel.js +0 -42
- package/dist/common/range-slider-timeline.js +0 -112
- package/dist/common/range-slider.js +0 -371
- package/dist/common/slider/mouse-event.js +0 -104
- package/dist/common/slider/slider-bar-handle.js +0 -90
- package/dist/common/slider/slider-handle.js +0 -136
- package/dist/common/slider/slider.js +0 -251
- package/dist/common/styled-components.js +0 -447
- package/dist/common/switch.js +0 -21
- package/dist/common/sync-timeline-control.js +0 -61
- package/dist/common/time-range-slider-time-title.js +0 -62
- package/dist/common/time-range-slider.js +0 -143
- package/dist/common/time-slider-marker.js +0 -115
- package/dist/common/timeline-helpers.js +0 -57
- package/dist/common/timeline-slider.js +0 -140
- package/dist/common/tippy-tooltip.js +0 -134
- package/dist/common/toolbar-item.js +0 -60
- package/dist/common/toolbar.js +0 -27
- package/dist/common/vertical-toolbar.js +0 -16
- package/dist/connect/keplergl-connect.js +0 -44
- package/dist/connect/with-local-selector.js +0 -85
- package/dist/container.js +0 -180
- package/dist/context.js +0 -43
- package/dist/dnd-context.js +0 -174
- package/dist/editor/editor.js +0 -200
- package/dist/editor/feature-action-panel.js +0 -147
- package/dist/effects/compact-color-picker.js +0 -110
- package/dist/effects/effect-configurator.js +0 -473
- package/dist/effects/effect-list.js +0 -129
- package/dist/effects/effect-manager.js +0 -126
- package/dist/effects/effect-panel-header.js +0 -196
- package/dist/effects/effect-panel.js +0 -86
- package/dist/effects/effect-time-configurator.js +0 -313
- package/dist/effects/effect-time-selector.js +0 -152
- package/dist/effects/effect-time-slider.js +0 -198
- package/dist/effects/effect-type-dropdown-list.js +0 -65
- package/dist/effects/effect-type-list-item.js +0 -98
- package/dist/effects/effect-type-selector.js +0 -76
- package/dist/effects/side-panel-title.js +0 -37
- package/dist/effects/surface-fog-section.js +0 -262
- package/dist/effects/timezone-selector.js +0 -57
- package/dist/filter-animation-controller.js +0 -76
- package/dist/filters/components.js +0 -14
- package/dist/filters/filter-panels/filter-panel-with-field-select.js +0 -77
- package/dist/filters/filter-panels/filter-synced-dataset-panel.js +0 -260
- package/dist/filters/filter-panels/multi-select-filter-panel.js +0 -48
- package/dist/filters/filter-panels/new-filter-panel.js +0 -66
- package/dist/filters/filter-panels/polygon-filter-panel.js +0 -67
- package/dist/filters/filter-panels/range-filter-panel.js +0 -53
- package/dist/filters/filter-panels/single-select-filter-panel.js +0 -48
- package/dist/filters/filter-panels/time-range-filter-panel.js +0 -129
- package/dist/filters/filter-panels/time-synced-field-selector.js +0 -28
- package/dist/filters/filter-panels/types.js +0 -6
- package/dist/filters/index.js +0 -63
- package/dist/filters/multi-select-filter.js +0 -31
- package/dist/filters/polygon-filter.js +0 -76
- package/dist/filters/range-filter.js +0 -35
- package/dist/filters/single-select-filter.js +0 -40
- package/dist/filters/time-range-filter.js +0 -69
- package/dist/filters/time-widget-settings.js +0 -311
- package/dist/filters/time-widget-top.js +0 -80
- package/dist/filters/time-widget.js +0 -376
- package/dist/filters/types.js +0 -6
- package/dist/geocoder/geocoder.js +0 -327
- package/dist/geocoder-panel.js +0 -172
- package/dist/hooks/use-cloud-list-provider.js +0 -46
- package/dist/hooks/use-dnd-effects.js +0 -69
- package/dist/hooks/use-dnd-layers.js +0 -141
- package/dist/hooks/use-feature-flags.js +0 -17
- package/dist/hooks/use-fetch-raster-tile-metadata.js +0 -120
- package/dist/hooks/use-fetch-vector-tile-metadata.js +0 -133
- package/dist/hooks/use-legend-position.js +0 -176
- package/dist/hooks/use-on-click-outside.js +0 -36
- package/dist/index.js +0 -2890
- package/dist/injector.js +0 -151
- package/dist/kepler-gl.js +0 -664
- package/dist/layer-animation-controller.js +0 -53
- package/dist/loading-indicator.js +0 -76
- package/dist/map/annotations/annotation-control.js +0 -55
- package/dist/map/attribution.js +0 -391
- package/dist/map/coordinate-info.js +0 -42
- package/dist/map/effects/effect-control.js +0 -51
- package/dist/map/layer-hover-info.js +0 -318
- package/dist/map/lazy-tippy.js +0 -60
- package/dist/map/locale-panel.js +0 -76
- package/dist/map/map-control-panel.js +0 -140
- package/dist/map/map-control-toolbar.js +0 -18
- package/dist/map/map-control-tooltip.js +0 -34
- package/dist/map/map-control.js +0 -81
- package/dist/map/map-draw-panel.js +0 -100
- package/dist/map/map-legend-panel.js +0 -289
- package/dist/map/map-legend.js +0 -509
- package/dist/map/map-navigation-control.js +0 -159
- package/dist/map/map-popover-content.js +0 -28
- package/dist/map/map-popover.js +0 -189
- package/dist/map/map-scale.js +0 -162
- package/dist/map/split-map-button.js +0 -176
- package/dist/map/toggle-3d-button.js +0 -122
- package/dist/map-container.js +0 -1322
- package/dist/map-view-state-context.js +0 -98
- package/dist/maps-layout.js +0 -102
- package/dist/modal-container.js +0 -456
- package/dist/modals/add-map-style-modal.js +0 -262
- package/dist/modals/cloud-components/cloud-header.js +0 -59
- package/dist/modals/cloud-components/cloud-item.js +0 -59
- package/dist/modals/cloud-components/cloud-item.spec.js +0 -92
- package/dist/modals/cloud-components/cloud-maps.js +0 -47
- package/dist/modals/cloud-components/cloud-maps.spec.js +0 -98
- package/dist/modals/cloud-components/provider-loading.js +0 -20
- package/dist/modals/cloud-components/provider-select.js +0 -30
- package/dist/modals/cloud-tile.js +0 -202
- package/dist/modals/data-table-modal.js +0 -215
- package/dist/modals/delete-data-modal.js +0 -41
- package/dist/modals/error-display.js +0 -32
- package/dist/modals/export-data-modal.js +0 -163
- package/dist/modals/export-image-modal.js +0 -188
- package/dist/modals/export-map-modal/components.js +0 -34
- package/dist/modals/export-map-modal/export-html-map.js +0 -128
- package/dist/modals/export-map-modal/export-json-map.js +0 -81
- package/dist/modals/export-map-modal/export-map-modal.js +0 -84
- package/dist/modals/export-video-modal.js +0 -413
- package/dist/modals/export-video-modal.spec.js +0 -686
- package/dist/modals/fog-height-animation.js +0 -97
- package/dist/modals/globe-export-video-container.js +0 -626
- package/dist/modals/globe-export-video-preview.js +0 -152
- package/dist/modals/hubble-utils.js +0 -422
- package/dist/modals/hubble-utils.spec.js +0 -397
- package/dist/modals/image-modal-container.js +0 -57
- package/dist/modals/load-data-modal.js +0 -97
- package/dist/modals/load-storage-map.js +0 -79
- package/dist/modals/load-storage-map.spec.js +0 -216
- package/dist/modals/loading-dialog.js +0 -37
- package/dist/modals/modal-dialog.js +0 -16
- package/dist/modals/modal-tabs.js +0 -74
- package/dist/modals/overwrite-map-modal.js +0 -83
- package/dist/modals/save-map-modal.js +0 -179
- package/dist/modals/save-map-modal.spec.js +0 -195
- package/dist/modals/share-map-modal.js +0 -168
- package/dist/modals/share-map-modal.spec.js +0 -173
- package/dist/modals/status-panel.js +0 -65
- package/dist/modals/storage-map-viewer.js +0 -98
- package/dist/modals/swipe-composite-utils.js +0 -118
- package/dist/modals/swipe-export-settings.js +0 -372
- package/dist/modals/swipe-export-video-container.js +0 -653
- package/dist/modals/swipe-export-video-preview.js +0 -401
- package/dist/modals/tilesets-modals/common.js +0 -6
- package/dist/modals/tilesets-modals/load-data-footer.js +0 -55
- package/dist/modals/tilesets-modals/load-tileset.js +0 -168
- package/dist/modals/tilesets-modals/tileset-bitmap-form.js +0 -283
- package/dist/modals/tilesets-modals/tileset-icon.js +0 -39
- package/dist/modals/tilesets-modals/tileset-raster-form.js +0 -287
- package/dist/modals/tilesets-modals/tileset-tile3d-form.js +0 -388
- package/dist/modals/tilesets-modals/tileset-vector-form.js +0 -261
- package/dist/modals/tilesets-modals/tileset-wms-form.js +0 -206
- package/dist/notification-panel/notification-item.js +0 -119
- package/dist/notification-panel.js +0 -39
- package/dist/plot-container.js +0 -311
- package/dist/side-panel/add-by-dataset-button.js +0 -128
- package/dist/side-panel/cloud-storage-dropdown.js +0 -40
- package/dist/side-panel/common/dataset-info.js +0 -34
- package/dist/side-panel/common/dataset-tag.js +0 -62
- package/dist/side-panel/common/dataset-title.js +0 -143
- package/dist/side-panel/common/source-data-catalog.js +0 -49
- package/dist/side-panel/common/source-data-selector-content.js +0 -64
- package/dist/side-panel/common/source-data-selector.js +0 -41
- package/dist/side-panel/common/source-selector.js +0 -56
- package/dist/side-panel/common/types.js +0 -6
- package/dist/side-panel/custom-panel.js +0 -39
- package/dist/side-panel/filter-manager.js +0 -202
- package/dist/side-panel/filter-panel/add-filter-button.js +0 -27
- package/dist/side-panel/filter-panel/filter-panel-header.js +0 -67
- package/dist/side-panel/filter-panel/filter-panel.js +0 -92
- package/dist/side-panel/interaction-manager.js +0 -45
- package/dist/side-panel/interaction-panel/brush-config.js +0 -41
- package/dist/side-panel/interaction-panel/geocoder-config.js +0 -45
- package/dist/side-panel/interaction-panel/interaction-panel.js +0 -121
- package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +0 -164
- package/dist/side-panel/interaction-panel/tooltip-config.js +0 -149
- package/dist/side-panel/layer-manager.js +0 -224
- package/dist/side-panel/layer-panel/add-layer-button.js +0 -27
- package/dist/side-panel/layer-panel/aggr-scale-selector.js +0 -37
- package/dist/side-panel/layer-panel/channel-by-value-selector.js +0 -71
- package/dist/side-panel/layer-panel/color-breaks-panel.js +0 -193
- package/dist/side-panel/layer-panel/color-palette-preset.js +0 -45
- package/dist/side-panel/layer-panel/color-palette.js +0 -74
- package/dist/side-panel/layer-panel/color-range-selector.js +0 -242
- package/dist/side-panel/layer-panel/color-scale-selector.js +0 -295
- package/dist/side-panel/layer-panel/color-selector.js +0 -186
- package/dist/side-panel/layer-panel/column-selector.js +0 -59
- package/dist/side-panel/layer-panel/custom-palette.js +0 -787
- package/dist/side-panel/layer-panel/custom-picker.js +0 -83
- package/dist/side-panel/layer-panel/dataset-layer-group.js +0 -68
- package/dist/side-panel/layer-panel/dataset-layer-section.js +0 -101
- package/dist/side-panel/layer-panel/dataset-section.js +0 -74
- package/dist/side-panel/layer-panel/dimension-scale-selector.js +0 -91
- package/dist/side-panel/layer-panel/how-to-button.js +0 -27
- package/dist/side-panel/layer-panel/layer-color-selector.js +0 -105
- package/dist/side-panel/layer-panel/layer-column-config.js +0 -85
- package/dist/side-panel/layer-panel/layer-column-mode-config.js +0 -192
- package/dist/side-panel/layer-panel/layer-config-group.js +0 -143
- package/dist/side-panel/layer-panel/layer-configurator.js +0 -1073
- package/dist/side-panel/layer-panel/layer-error-message.js +0 -29
- package/dist/side-panel/layer-panel/layer-group-header.js +0 -178
- package/dist/side-panel/layer-panel/layer-list.js +0 -330
- package/dist/side-panel/layer-panel/layer-panel-header.js +0 -311
- package/dist/side-panel/layer-panel/layer-panel.js +0 -171
- package/dist/side-panel/layer-panel/layer-type-dropdown-list.js +0 -77
- package/dist/side-panel/layer-panel/layer-type-list-item.js +0 -71
- package/dist/side-panel/layer-panel/layer-type-selector.js +0 -57
- package/dist/side-panel/layer-panel/raster-tile-colormap-list-item.js +0 -60
- package/dist/side-panel/layer-panel/raster-tile-layer-configurator.js +0 -457
- package/dist/side-panel/layer-panel/scenegraph-model-selector.js +0 -122
- package/dist/side-panel/layer-panel/single-color-palette.js +0 -85
- package/dist/side-panel/layer-panel/text-label-panel.js +0 -173
- package/dist/side-panel/layer-panel/vector-tile-layer-configurator.js +0 -93
- package/dist/side-panel/layer-panel/vis-config-by-field-selector.js +0 -60
- package/dist/side-panel/layer-panel/vis-config-slider.js +0 -167
- package/dist/side-panel/layer-panel/vis-config-switch.js +0 -55
- package/dist/side-panel/map-manager.js +0 -108
- package/dist/side-panel/map-style-panel/globe-config-panel.js +0 -269
- package/dist/side-panel/map-style-panel/map-layer-group-color-picker.js +0 -76
- package/dist/side-panel/map-style-panel/map-layer-group-item.js +0 -94
- package/dist/side-panel/map-style-panel/map-layer-selector.js +0 -74
- package/dist/side-panel/map-style-panel/map-style-selector.js +0 -97
- package/dist/side-panel/panel-header-action.js +0 -73
- package/dist/side-panel/panel-header.js +0 -309
- package/dist/side-panel/panel-tab.js +0 -55
- package/dist/side-panel/panel-title.js +0 -40
- package/dist/side-panel/panel-toggle.js +0 -47
- package/dist/side-panel/panel-view-list-toggle.js +0 -97
- package/dist/side-panel/side-bar.js +0 -126
- package/dist/side-panel.js +0 -235
- package/dist/types.js +0 -6
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
// Copyright contributors to the kepler.gl project
|
|
3
|
+
|
|
4
|
+
import React, { useCallback, useMemo } from 'react';
|
|
5
|
+
import { StyledFilterContent } from '../../common/styled-components';
|
|
6
|
+
import FilterPanelHeaderFactory from '../../side-panel/filter-panel/filter-panel-header';
|
|
7
|
+
import PanelHeaderActionFactory from '../../side-panel/panel-header-action';
|
|
8
|
+
import SourceDataSelectorFactory from '../../side-panel/common/source-data-selector';
|
|
9
|
+
import FieldSelectorFactory from '../../common/field-selector';
|
|
10
|
+
import { getSupportedFilterFields } from './new-filter-panel';
|
|
11
|
+
FieldPanelWithFieldSelectFactory.deps = [FilterPanelHeaderFactory, SourceDataSelectorFactory, FieldSelectorFactory, PanelHeaderActionFactory];
|
|
12
|
+
function FieldPanelWithFieldSelectFactory(FilterPanelHeader, SourceDataSelector, FieldSelector, PanelHeaderAction) {
|
|
13
|
+
var FilterPanelWithFieldSelect = /*#__PURE__*/React.memo(function (_ref) {
|
|
14
|
+
var children = _ref.children,
|
|
15
|
+
allAvailableFields = _ref.allAvailableFields,
|
|
16
|
+
datasets = _ref.datasets,
|
|
17
|
+
filter = _ref.filter,
|
|
18
|
+
idx = _ref.idx,
|
|
19
|
+
removeFilter = _ref.removeFilter,
|
|
20
|
+
setFilter = _ref.setFilter,
|
|
21
|
+
_ref$panelActions = _ref.panelActions,
|
|
22
|
+
panelActions = _ref$panelActions === void 0 ? [] : _ref$panelActions;
|
|
23
|
+
var onFieldSelector = useCallback(function (field) {
|
|
24
|
+
return setFilter(idx, 'name', field.name);
|
|
25
|
+
}, [idx, setFilter]);
|
|
26
|
+
var onSourceDataSelector = useCallback(function (value) {
|
|
27
|
+
return setFilter(idx, 'dataId', value, 0);
|
|
28
|
+
}, [idx, setFilter]);
|
|
29
|
+
var fieldValue = useMemo(function () {
|
|
30
|
+
return Array.isArray(filter.name) ? filter.name[0] : filter.name;
|
|
31
|
+
}, [filter.name]);
|
|
32
|
+
var dataset = datasets[filter.dataId[0]];
|
|
33
|
+
var supportedFields = useMemo(function () {
|
|
34
|
+
return getSupportedFilterFields(dataset.supportedFilterTypes, allAvailableFields);
|
|
35
|
+
}, [dataset.supportedFilterTypes, allAvailableFields]);
|
|
36
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FilterPanelHeader, {
|
|
37
|
+
datasets: [dataset],
|
|
38
|
+
filter: filter,
|
|
39
|
+
removeFilter: removeFilter
|
|
40
|
+
}, /*#__PURE__*/React.createElement(FieldSelector, {
|
|
41
|
+
inputTheme: "secondary",
|
|
42
|
+
fields: supportedFields,
|
|
43
|
+
value: fieldValue,
|
|
44
|
+
erasable: false,
|
|
45
|
+
onSelect: onFieldSelector
|
|
46
|
+
}), panelActions.map(function (panelAction) {
|
|
47
|
+
return /*#__PURE__*/React.createElement(PanelHeaderAction, {
|
|
48
|
+
id: panelAction.id,
|
|
49
|
+
key: panelAction.id,
|
|
50
|
+
onClick: panelAction.onClick,
|
|
51
|
+
tooltip: panelAction.tooltip,
|
|
52
|
+
IconComponent: panelAction.iconComponent,
|
|
53
|
+
active: panelAction.active
|
|
54
|
+
});
|
|
55
|
+
})), /*#__PURE__*/React.createElement(StyledFilterContent, {
|
|
56
|
+
className: "filter-panel__content"
|
|
57
|
+
}, Object.keys(datasets).length > 1 && /*#__PURE__*/React.createElement(SourceDataSelector, {
|
|
58
|
+
inputTheme: "secondary",
|
|
59
|
+
datasets: datasets,
|
|
60
|
+
dataId: filter.dataId,
|
|
61
|
+
onSelect: onSourceDataSelector
|
|
62
|
+
}), children));
|
|
63
|
+
});
|
|
64
|
+
FilterPanelWithFieldSelect.displayName = 'FilterPanelWithFieldSelect';
|
|
65
|
+
return FilterPanelWithFieldSelect;
|
|
66
|
+
}
|
|
67
|
+
export default FieldPanelWithFieldSelectFactory;
|
|
68
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsIlN0eWxlZEZpbHRlckNvbnRlbnQiLCJGaWx0ZXJQYW5lbEhlYWRlckZhY3RvcnkiLCJQYW5lbEhlYWRlckFjdGlvbkZhY3RvcnkiLCJTb3VyY2VEYXRhU2VsZWN0b3JGYWN0b3J5IiwiRmllbGRTZWxlY3RvckZhY3RvcnkiLCJnZXRTdXBwb3J0ZWRGaWx0ZXJGaWVsZHMiLCJGaWVsZFBhbmVsV2l0aEZpZWxkU2VsZWN0RmFjdG9yeSIsImRlcHMiLCJGaWx0ZXJQYW5lbEhlYWRlciIsIlNvdXJjZURhdGFTZWxlY3RvciIsIkZpZWxkU2VsZWN0b3IiLCJQYW5lbEhlYWRlckFjdGlvbiIsIkZpbHRlclBhbmVsV2l0aEZpZWxkU2VsZWN0IiwibWVtbyIsIl9yZWYiLCJjaGlsZHJlbiIsImFsbEF2YWlsYWJsZUZpZWxkcyIsImRhdGFzZXRzIiwiZmlsdGVyIiwiaWR4IiwicmVtb3ZlRmlsdGVyIiwic2V0RmlsdGVyIiwiX3JlZiRwYW5lbEFjdGlvbnMiLCJwYW5lbEFjdGlvbnMiLCJvbkZpZWxkU2VsZWN0b3IiLCJmaWVsZCIsIm5hbWUiLCJvblNvdXJjZURhdGFTZWxlY3RvciIsInZhbHVlIiwiZmllbGRWYWx1ZSIsIkFycmF5IiwiaXNBcnJheSIsImRhdGFzZXQiLCJkYXRhSWQiLCJzdXBwb3J0ZWRGaWVsZHMiLCJzdXBwb3J0ZWRGaWx0ZXJUeXBlcyIsImNyZWF0ZUVsZW1lbnQiLCJGcmFnbWVudCIsImlucHV0VGhlbWUiLCJmaWVsZHMiLCJlcmFzYWJsZSIsIm9uU2VsZWN0IiwibWFwIiwicGFuZWxBY3Rpb24iLCJpZCIsImtleSIsIm9uQ2xpY2siLCJ0b29sdGlwIiwiSWNvbkNvbXBvbmVudCIsImljb25Db21wb25lbnQiLCJhY3RpdmUiLCJjbGFzc05hbWUiLCJPYmplY3QiLCJrZXlzIiwibGVuZ3RoIiwiZGlzcGxheU5hbWUiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZmlsdGVycy9maWx0ZXItcGFuZWxzL2ZpbHRlci1wYW5lbC13aXRoLWZpZWxkLXNlbGVjdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlQ2FsbGJhY2ssIHVzZU1lbW99IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7U3R5bGVkRmlsdGVyQ29udGVudH0gZnJvbSAnLi4vLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBGaWx0ZXJQYW5lbEhlYWRlckZhY3RvcnkgZnJvbSAnLi4vLi4vc2lkZS1wYW5lbC9maWx0ZXItcGFuZWwvZmlsdGVyLXBhbmVsLWhlYWRlcic7XG5pbXBvcnQgUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5IGZyb20gJy4uLy4uL3NpZGUtcGFuZWwvcGFuZWwtaGVhZGVyLWFjdGlvbic7XG5pbXBvcnQgU291cmNlRGF0YVNlbGVjdG9yRmFjdG9yeSBmcm9tICcuLi8uLi9zaWRlLXBhbmVsL2NvbW1vbi9zb3VyY2UtZGF0YS1zZWxlY3Rvcic7XG5pbXBvcnQgRmllbGRTZWxlY3RvckZhY3RvcnkgZnJvbSAnLi4vLi4vY29tbW9uL2ZpZWxkLXNlbGVjdG9yJztcbmltcG9ydCB7Z2V0U3VwcG9ydGVkRmlsdGVyRmllbGRzfSBmcm9tICcuL25ldy1maWx0ZXItcGFuZWwnO1xuaW1wb3J0IHtGaWx0ZXJQYW5lbFdpdGhGaWVsZFNlbGVjdENvbXBvbmVudH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQge0tlcGxlclRhYmxlfSBmcm9tICdAa2VwbGVyLmdsL3RhYmxlJztcblxuRmllbGRQYW5lbFdpdGhGaWVsZFNlbGVjdEZhY3RvcnkuZGVwcyA9IFtcbiAgRmlsdGVyUGFuZWxIZWFkZXJGYWN0b3J5LFxuICBTb3VyY2VEYXRhU2VsZWN0b3JGYWN0b3J5LFxuICBGaWVsZFNlbGVjdG9yRmFjdG9yeSxcbiAgUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5XG5dO1xuXG5mdW5jdGlvbiBGaWVsZFBhbmVsV2l0aEZpZWxkU2VsZWN0RmFjdG9yeShcbiAgRmlsdGVyUGFuZWxIZWFkZXI6IFJldHVyblR5cGU8dHlwZW9mIEZpbHRlclBhbmVsSGVhZGVyRmFjdG9yeT4sXG4gIFNvdXJjZURhdGFTZWxlY3RvcjogUmV0dXJuVHlwZTx0eXBlb2YgU291cmNlRGF0YVNlbGVjdG9yRmFjdG9yeT4sXG4gIEZpZWxkU2VsZWN0b3I6IFJldHVyblR5cGU8dHlwZW9mIEZpZWxkU2VsZWN0b3JGYWN0b3J5PixcbiAgUGFuZWxIZWFkZXJBY3Rpb246IFJldHVyblR5cGU8dHlwZW9mIFBhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeT5cbikge1xuICBjb25zdCBGaWx0ZXJQYW5lbFdpdGhGaWVsZFNlbGVjdDogRmlsdGVyUGFuZWxXaXRoRmllbGRTZWxlY3RDb21wb25lbnQgPSBSZWFjdC5tZW1vKFxuICAgICh7XG4gICAgICBjaGlsZHJlbixcbiAgICAgIGFsbEF2YWlsYWJsZUZpZWxkcyxcbiAgICAgIGRhdGFzZXRzLFxuICAgICAgZmlsdGVyLFxuICAgICAgaWR4LFxuICAgICAgcmVtb3ZlRmlsdGVyLFxuICAgICAgc2V0RmlsdGVyLFxuICAgICAgcGFuZWxBY3Rpb25zID0gW11cbiAgICB9KSA9PiB7XG4gICAgICBjb25zdCBvbkZpZWxkU2VsZWN0b3IgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgZmllbGQgPT4gc2V0RmlsdGVyKGlkeCwgJ25hbWUnLCBmaWVsZC5uYW1lKSxcbiAgICAgICAgW2lkeCwgc2V0RmlsdGVyXVxuICAgICAgKTtcblxuICAgICAgY29uc3Qgb25Tb3VyY2VEYXRhU2VsZWN0b3IgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgdmFsdWUgPT4gc2V0RmlsdGVyKGlkeCwgJ2RhdGFJZCcsIHZhbHVlLCAwKSxcbiAgICAgICAgW2lkeCwgc2V0RmlsdGVyXVxuICAgICAgKTtcblxuICAgICAgY29uc3QgZmllbGRWYWx1ZSA9IHVzZU1lbW8oXG4gICAgICAgICgpID0+IChBcnJheS5pc0FycmF5KGZpbHRlci5uYW1lKSA/IGZpbHRlci5uYW1lWzBdIDogZmlsdGVyLm5hbWUpLFxuICAgICAgICBbZmlsdGVyLm5hbWVdXG4gICAgICApO1xuXG4gICAgICBjb25zdCBkYXRhc2V0OiBLZXBsZXJUYWJsZSA9IGRhdGFzZXRzW2ZpbHRlci5kYXRhSWRbMF1dO1xuICAgICAgY29uc3Qgc3VwcG9ydGVkRmllbGRzID0gdXNlTWVtbyhcbiAgICAgICAgKCkgPT4gZ2V0U3VwcG9ydGVkRmlsdGVyRmllbGRzKGRhdGFzZXQuc3VwcG9ydGVkRmlsdGVyVHlwZXMsIGFsbEF2YWlsYWJsZUZpZWxkcyksXG4gICAgICAgIFtkYXRhc2V0LnN1cHBvcnRlZEZpbHRlclR5cGVzLCBhbGxBdmFpbGFibGVGaWVsZHNdXG4gICAgICApO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICA8RmlsdGVyUGFuZWxIZWFkZXIgZGF0YXNldHM9e1tkYXRhc2V0XX0gZmlsdGVyPXtmaWx0ZXJ9IHJlbW92ZUZpbHRlcj17cmVtb3ZlRmlsdGVyfT5cbiAgICAgICAgICAgIDxGaWVsZFNlbGVjdG9yXG4gICAgICAgICAgICAgIGlucHV0VGhlbWU9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICBmaWVsZHM9e3N1cHBvcnRlZEZpZWxkc31cbiAgICAgICAgICAgICAgdmFsdWU9e2ZpZWxkVmFsdWV9XG4gICAgICAgICAgICAgIGVyYXNhYmxlPXtmYWxzZX1cbiAgICAgICAgICAgICAgb25TZWxlY3Q9e29uRmllbGRTZWxlY3Rvcn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB7cGFuZWxBY3Rpb25zLm1hcChwYW5lbEFjdGlvbiA9PiAoXG4gICAgICAgICAgICAgIDxQYW5lbEhlYWRlckFjdGlvblxuICAgICAgICAgICAgICAgIGlkPXtwYW5lbEFjdGlvbi5pZH1cbiAgICAgICAgICAgICAgICBrZXk9e3BhbmVsQWN0aW9uLmlkfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3BhbmVsQWN0aW9uLm9uQ2xpY2t9XG4gICAgICAgICAgICAgICAgdG9vbHRpcD17cGFuZWxBY3Rpb24udG9vbHRpcH1cbiAgICAgICAgICAgICAgICBJY29uQ29tcG9uZW50PXtwYW5lbEFjdGlvbi5pY29uQ29tcG9uZW50fVxuICAgICAgICAgICAgICAgIGFjdGl2ZT17cGFuZWxBY3Rpb24uYWN0aXZlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9GaWx0ZXJQYW5lbEhlYWRlcj5cbiAgICAgICAgICA8U3R5bGVkRmlsdGVyQ29udGVudCBjbGFzc05hbWU9XCJmaWx0ZXItcGFuZWxfX2NvbnRlbnRcIj5cbiAgICAgICAgICAgIHtPYmplY3Qua2V5cyhkYXRhc2V0cykubGVuZ3RoID4gMSAmJiAoXG4gICAgICAgICAgICAgIDxTb3VyY2VEYXRhU2VsZWN0b3JcbiAgICAgICAgICAgICAgICBpbnB1dFRoZW1lPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICBkYXRhc2V0cz17ZGF0YXNldHN9XG4gICAgICAgICAgICAgICAgZGF0YUlkPXtmaWx0ZXIuZGF0YUlkfVxuICAgICAgICAgICAgICAgIG9uU2VsZWN0PXtvblNvdXJjZURhdGFTZWxlY3Rvcn1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgPC9TdHlsZWRGaWx0ZXJDb250ZW50PlxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgfVxuICApO1xuXG4gIEZpbHRlclBhbmVsV2l0aEZpZWxkU2VsZWN0LmRpc3BsYXlOYW1lID0gJ0ZpbHRlclBhbmVsV2l0aEZpZWxkU2VsZWN0JztcblxuICByZXR1cm4gRmlsdGVyUGFuZWxXaXRoRmllbGRTZWxlY3Q7XG59XG5cbmV4cG9ydCBkZWZhdWx0IEZpZWxkUGFuZWxXaXRoRmllbGRTZWxlY3RGYWN0b3J5O1xuIl0sIm1hcHBpbmdz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
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
|
|
3
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject0;
|
|
4
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
5
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
6
|
+
// SPDX-License-Identifier: MIT
|
|
7
|
+
// Copyright contributors to the kepler.gl project
|
|
8
|
+
|
|
9
|
+
import React, { useCallback, useMemo } from 'react';
|
|
10
|
+
import styled, { withTheme } from 'styled-components';
|
|
11
|
+
import { FormattedMessage } from '@kepler.gl/localization';
|
|
12
|
+
import { ALL_FIELD_TYPES } from '@kepler.gl/constants';
|
|
13
|
+
import { getAnimatableVisibleLayers } from '@kepler.gl/utils';
|
|
14
|
+
import { Button } from '../../common/styled-components';
|
|
15
|
+
import { Add, Trash } from '../../common/icons';
|
|
16
|
+
import TippyTooltip from '../../common/tippy-tooltip';
|
|
17
|
+
import FilterPanelHeaderFactory from '../../side-panel/filter-panel/filter-panel-header';
|
|
18
|
+
import SourceSelectorFactory from '../../side-panel/common/source-selector';
|
|
19
|
+
import SourceDataSelectorFactory from '../../side-panel/common/source-data-selector';
|
|
20
|
+
import LayerTypeListItemFactory from '../../side-panel/layer-panel/layer-type-list-item';
|
|
21
|
+
var TrashIcon = styled(Trash)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n cursor: pointer;\n color: ", ";\n margin-left: 8px;\n"])), function (props) {
|
|
22
|
+
return props.theme.fontWhiteColor;
|
|
23
|
+
});
|
|
24
|
+
var SyncedDatasetsArea = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n .side-panel-section {\n margin-bottom: 0;\n }\n"])));
|
|
25
|
+
var StyledContentTitle = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n color: ", ";\n margin-bottom: 8px;\n"])), function (props) {
|
|
26
|
+
return props.theme.subtextColor;
|
|
27
|
+
});
|
|
28
|
+
var StyledSeparator = styled.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n border-left: 1px dashed ", ";\n height: 16px;\n margin: 4px 0 4px 8px;\n"])), function (props) {
|
|
29
|
+
return props.theme.subtextColor;
|
|
30
|
+
});
|
|
31
|
+
var StyledButton = styled(Button)(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n margin-top: 2px;\n padding: 2px;\n"])));
|
|
32
|
+
function getDatasetsWithTimeField(datasets) {
|
|
33
|
+
var rv = {};
|
|
34
|
+
for (var _i = 0, _Object$keys = Object.keys(datasets); _i < _Object$keys.length; _i++) {
|
|
35
|
+
var id = _Object$keys[_i];
|
|
36
|
+
// TODO: change to
|
|
37
|
+
if (datasets[id].fields.some(function (f) {
|
|
38
|
+
return f.type === ALL_FIELD_TYPES.timestamp;
|
|
39
|
+
})) {
|
|
40
|
+
rv[id] = datasets[id];
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return rv;
|
|
44
|
+
}
|
|
45
|
+
function getTimeFields(dataset) {
|
|
46
|
+
return dataset.fields.filter(function (f) {
|
|
47
|
+
return f.type === ALL_FIELD_TYPES.timestamp;
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
function DatasetItemFactory(SourceSelector, FilterPanelHeader) {
|
|
51
|
+
var StyledFilterPanelHeader = styled(FilterPanelHeader)(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n display: flex;\n border: none;\n height: unset;\n padding: 2px 0;\n background: none;\n align-items: baseline;\n "])));
|
|
52
|
+
var StyledSourceSelector = styled(SourceSelector)(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n flex: 1;\n -webkit-border-radius: 8px;\n -moz-border-radius: 8px;\n border-radius: 8px;\n background-color: transparent;\n "])));
|
|
53
|
+
|
|
54
|
+
// Check if this component already exists
|
|
55
|
+
var DatasetItem = function DatasetItem(_ref) {
|
|
56
|
+
var dataId = _ref.dataId,
|
|
57
|
+
datasets = _ref.datasets,
|
|
58
|
+
supportedFields = _ref.supportedFields,
|
|
59
|
+
idx = _ref.idx,
|
|
60
|
+
filter = _ref.filter,
|
|
61
|
+
index = _ref.index,
|
|
62
|
+
onRemoveSyncedFilter = _ref.onRemoveSyncedFilter,
|
|
63
|
+
filterDatasetsNum = _ref.filterDatasetsNum,
|
|
64
|
+
datasetsWithTimeNum = _ref.datasetsWithTimeNum,
|
|
65
|
+
onSelectSyncedDataset = _ref.onSelectSyncedDataset,
|
|
66
|
+
_onFieldSelector = _ref.onFieldSelector;
|
|
67
|
+
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(StyledSeparator, null), /*#__PURE__*/React.createElement(StyledFilterPanelHeader, {
|
|
68
|
+
datasets: [datasets[dataId]],
|
|
69
|
+
allAvailableFields: supportedFields,
|
|
70
|
+
idx: idx,
|
|
71
|
+
filter: filter,
|
|
72
|
+
removeFilter: function removeFilter() {
|
|
73
|
+
return onRemoveSyncedFilter(index);
|
|
74
|
+
}
|
|
75
|
+
}, /*#__PURE__*/React.createElement(StyledSourceSelector, {
|
|
76
|
+
datasets: datasets,
|
|
77
|
+
disabled: filterDatasetsNum >= datasetsWithTimeNum,
|
|
78
|
+
dataId: dataId,
|
|
79
|
+
onSelectDataset: function onSelectDataset(datasetId) {
|
|
80
|
+
return onSelectSyncedDataset(datasetId, index);
|
|
81
|
+
},
|
|
82
|
+
fields: getTimeFields(datasets[dataId]),
|
|
83
|
+
fieldValue: filter.name[index],
|
|
84
|
+
onFieldSelector: function onFieldSelector(field) {
|
|
85
|
+
return _onFieldSelector(field, index);
|
|
86
|
+
}
|
|
87
|
+
})));
|
|
88
|
+
};
|
|
89
|
+
return DatasetItem;
|
|
90
|
+
}
|
|
91
|
+
DatasetItemFactory.deps = [SourceSelectorFactory, FilterPanelHeaderFactory];
|
|
92
|
+
var StyledLayerTimeline = styled.div(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n"])));
|
|
93
|
+
var StyledLayerList = styled.div(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n flex: 1;\n"])));
|
|
94
|
+
function LayerTimelineFactory(LayerTypeListItem) {
|
|
95
|
+
var StyledLayerTypeListItem = styled(LayerTypeListItem)(_templateObject0 || (_templateObject0 = _taggedTemplateLiteral(["\n background-color: ", ";\n padding: 4px;\n "])), function (props) {
|
|
96
|
+
return props.theme.dropdownListHighlightBg;
|
|
97
|
+
});
|
|
98
|
+
var LayerTimeline = function LayerTimeline(_ref2) {
|
|
99
|
+
var layers = _ref2.layers,
|
|
100
|
+
theme = _ref2.theme,
|
|
101
|
+
onDelete = _ref2.onDelete;
|
|
102
|
+
return /*#__PURE__*/React.createElement(StyledLayerTimeline, null, /*#__PURE__*/React.createElement(StyledLayerList, null, layers.map(function (layer) {
|
|
103
|
+
return /*#__PURE__*/React.createElement(StyledLayerTypeListItem, {
|
|
104
|
+
key: layer.id,
|
|
105
|
+
value: {
|
|
106
|
+
icon: layer.layerIcon,
|
|
107
|
+
label: layer.name
|
|
108
|
+
},
|
|
109
|
+
theme: _objectSpread(_objectSpread({}, theme), {}, {
|
|
110
|
+
layerTypeIconSizeSM: 24
|
|
111
|
+
})
|
|
112
|
+
});
|
|
113
|
+
})), /*#__PURE__*/React.createElement(TrashIcon, {
|
|
114
|
+
height: "12px",
|
|
115
|
+
width: "12px",
|
|
116
|
+
onClick: onDelete
|
|
117
|
+
}));
|
|
118
|
+
};
|
|
119
|
+
return withTheme(LayerTimeline);
|
|
120
|
+
}
|
|
121
|
+
LayerTimelineFactory.deps = [LayerTypeListItemFactory];
|
|
122
|
+
function SyncedDatasetButtonFactory() {
|
|
123
|
+
var SyncedDatasetButton = function SyncedDatasetButton(_ref3) {
|
|
124
|
+
var onAddSyncedFilter = _ref3.onAddSyncedFilter;
|
|
125
|
+
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(StyledSeparator, null), /*#__PURE__*/React.createElement(TippyTooltip, {
|
|
126
|
+
delay: [500, 0],
|
|
127
|
+
placement: "top",
|
|
128
|
+
render: function render() {
|
|
129
|
+
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(FormattedMessage, {
|
|
130
|
+
id: 'tooltip.timeFilterSync'
|
|
131
|
+
}));
|
|
132
|
+
}
|
|
133
|
+
}, /*#__PURE__*/React.createElement(StyledButton, {
|
|
134
|
+
className: "add-sync-dataset",
|
|
135
|
+
secondary: true,
|
|
136
|
+
onClick: onAddSyncedFilter
|
|
137
|
+
}, /*#__PURE__*/React.createElement(Add, {
|
|
138
|
+
height: "12px"
|
|
139
|
+
}), /*#__PURE__*/React.createElement(FormattedMessage, {
|
|
140
|
+
id: 'filterManager.timeFilterSync'
|
|
141
|
+
}))));
|
|
142
|
+
};
|
|
143
|
+
return SyncedDatasetButton;
|
|
144
|
+
}
|
|
145
|
+
function SyncLayerTimelineButtonFactory() {
|
|
146
|
+
var SyncLayerTimelineButton = function SyncLayerTimelineButton(_ref4) {
|
|
147
|
+
var onSyncLayerTimeline = _ref4.onSyncLayerTimeline;
|
|
148
|
+
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(StyledSeparator, null), /*#__PURE__*/React.createElement(TippyTooltip, {
|
|
149
|
+
delay: [500, 0],
|
|
150
|
+
placement: "top",
|
|
151
|
+
render: function render() {
|
|
152
|
+
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(FormattedMessage, {
|
|
153
|
+
id: 'tooltip.timeLayerSync'
|
|
154
|
+
}));
|
|
155
|
+
}
|
|
156
|
+
}, /*#__PURE__*/React.createElement(StyledButton, {
|
|
157
|
+
className: "add-sync-dataset",
|
|
158
|
+
secondary: true,
|
|
159
|
+
onClick: onSyncLayerTimeline
|
|
160
|
+
}, /*#__PURE__*/React.createElement(Add, {
|
|
161
|
+
height: "12px"
|
|
162
|
+
}), /*#__PURE__*/React.createElement(FormattedMessage, {
|
|
163
|
+
id: 'filterManager.timeLayerSync'
|
|
164
|
+
}))));
|
|
165
|
+
};
|
|
166
|
+
return SyncLayerTimelineButton;
|
|
167
|
+
}
|
|
168
|
+
function FilterSyncedDatasetPanelFactory(DatasetItem, LayerTimeline, SourceDataSelector, SyncedDatasetButton, SyncLayerTimelineButton) {
|
|
169
|
+
var FilterSyncedDatasetPanel = function FilterSyncedDatasetPanel(_ref5) {
|
|
170
|
+
var datasets = _ref5.datasets,
|
|
171
|
+
layers = _ref5.layers,
|
|
172
|
+
filter = _ref5.filter,
|
|
173
|
+
setFilter = _ref5.setFilter,
|
|
174
|
+
idx = _ref5.idx,
|
|
175
|
+
supportedFields = _ref5.supportedFields,
|
|
176
|
+
onFieldSelector = _ref5.onFieldSelector,
|
|
177
|
+
onSourceDataSelector = _ref5.onSourceDataSelector,
|
|
178
|
+
syncTimeFilterWithLayerTimeline = _ref5.syncTimeFilterWithLayerTimeline;
|
|
179
|
+
var datasetsWithTime = useMemo(function () {
|
|
180
|
+
return getDatasetsWithTimeField(datasets);
|
|
181
|
+
}, [datasets]);
|
|
182
|
+
var filterDatasetsNum = useMemo(function () {
|
|
183
|
+
return filter.dataId.length;
|
|
184
|
+
}, [filter.dataId]);
|
|
185
|
+
var datasetsWithTimeNum = useMemo(function () {
|
|
186
|
+
return Object.keys(datasetsWithTime).length;
|
|
187
|
+
}, [datasetsWithTime]);
|
|
188
|
+
var onRemoveSyncedFilter = useCallback(function (valueIndex) {
|
|
189
|
+
setFilter(idx, 'dataId', null, valueIndex);
|
|
190
|
+
}, [idx, setFilter]);
|
|
191
|
+
var onSelectSyncedDataset = useCallback(function (datasetId, valueIndex) {
|
|
192
|
+
setFilter(idx, 'dataId', datasetId, valueIndex);
|
|
193
|
+
}, [setFilter, idx]);
|
|
194
|
+
var onAddSyncedFilter = useCallback(function () {
|
|
195
|
+
var _getTimeFields;
|
|
196
|
+
var nextId = Object.keys(datasetsWithTime).find(function (id) {
|
|
197
|
+
return !filter.dataId.includes(id);
|
|
198
|
+
});
|
|
199
|
+
if (!nextId) return;
|
|
200
|
+
var timeFieldNames = (_getTimeFields = getTimeFields(datasets[nextId])) === null || _getTimeFields === void 0 ? void 0 : _getTimeFields.map(function (f) {
|
|
201
|
+
return f.name;
|
|
202
|
+
});
|
|
203
|
+
if (!timeFieldNames || timeFieldNames.length < 1) return;
|
|
204
|
+
var nextName = timeFieldNames.includes(filter.name[0]) ? filter.name[0] : timeFieldNames[0];
|
|
205
|
+
setFilter(idx, ['dataId', 'name'], [nextId, nextName], filter.dataId.length);
|
|
206
|
+
}, [setFilter, idx, datasetsWithTime, datasets, filter.dataId, filter.name]);
|
|
207
|
+
var onSyncLayerTimeline = useCallback(function () {
|
|
208
|
+
return syncTimeFilterWithLayerTimeline(idx, true);
|
|
209
|
+
}, [syncTimeFilterWithLayerTimeline, idx]);
|
|
210
|
+
var onRemoveSyncWithLayerTimeline = useCallback(function () {
|
|
211
|
+
return syncTimeFilterWithLayerTimeline(idx, false);
|
|
212
|
+
}, [syncTimeFilterWithLayerTimeline, idx]);
|
|
213
|
+
var animatableLayers = useMemo(function () {
|
|
214
|
+
return getAnimatableVisibleLayers(layers);
|
|
215
|
+
}, [layers]);
|
|
216
|
+
var isLinkedWithLayerTimeline = useMemo(function () {
|
|
217
|
+
return filter.syncedWithLayerTimeline;
|
|
218
|
+
}, [filter]);
|
|
219
|
+
return /*#__PURE__*/React.createElement(SyncedDatasetsArea, null, filter.dataId.length > 1 ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(StyledContentTitle, null, "Datasets"), filter.dataId.map(function (dataId, index) {
|
|
220
|
+
return /*#__PURE__*/React.createElement(DatasetItem, {
|
|
221
|
+
key: dataId,
|
|
222
|
+
dataId: dataId,
|
|
223
|
+
index: index,
|
|
224
|
+
datasets: datasets,
|
|
225
|
+
supportedFields: supportedFields,
|
|
226
|
+
idx: idx,
|
|
227
|
+
filter: filter,
|
|
228
|
+
onRemoveSyncedFilter: onRemoveSyncedFilter,
|
|
229
|
+
filterDatasetsNum: filterDatasetsNum,
|
|
230
|
+
datasetsWithTimeNum: datasetsWithTimeNum,
|
|
231
|
+
onSelectSyncedDataset: onSelectSyncedDataset,
|
|
232
|
+
onFieldSelector: onFieldSelector
|
|
233
|
+
});
|
|
234
|
+
})) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SourceDataSelector, {
|
|
235
|
+
inputTheme: "secondary",
|
|
236
|
+
datasets: datasets,
|
|
237
|
+
dataId: Array.isArray(filter.dataId) ? filter.dataId[0] : filter.dataId,
|
|
238
|
+
onSelect: onSourceDataSelector
|
|
239
|
+
})), isLinkedWithLayerTimeline ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(StyledSeparator, null), /*#__PURE__*/React.createElement(LayerTimeline, {
|
|
240
|
+
layers: animatableLayers,
|
|
241
|
+
onDelete: onRemoveSyncWithLayerTimeline
|
|
242
|
+
})) : /*#__PURE__*/React.createElement(React.Fragment, null, animatableLayers.length ? /*#__PURE__*/React.createElement(SyncLayerTimelineButton, {
|
|
243
|
+
onSyncLayerTimeline: onSyncLayerTimeline
|
|
244
|
+
}) : null), filterDatasetsNum < datasetsWithTimeNum ? /*#__PURE__*/React.createElement(SyncedDatasetButton, {
|
|
245
|
+
onAddSyncedFilter: onAddSyncedFilter
|
|
246
|
+
}) : null);
|
|
247
|
+
};
|
|
248
|
+
FilterSyncedDatasetPanel.displayName = 'FilterSyncedDatasetPanel';
|
|
249
|
+
return FilterSyncedDatasetPanel;
|
|
250
|
+
}
|
|
251
|
+
FilterSyncedDatasetPanelFactory.deps = [DatasetItemFactory, LayerTimelineFactory, SourceDataSelectorFactory, SyncedDatasetButtonFactory, SyncLayerTimelineButtonFactory];
|
|
252
|
+
export default FilterSyncedDatasetPanelFactory;
|
|
253
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsInN0eWxlZCIsIndpdGhUaGVtZSIsIkZvcm1hdHRlZE1lc3NhZ2UiLCJBTExfRklFTERfVFlQRVMiLCJnZXRBbmltYXRhYmxlVmlzaWJsZUxheWVycyIsIkJ1dHRvbiIsIkFkZCIsIlRyYXNoIiwiVGlwcHlUb29sdGlwIiwiRmlsdGVyUGFuZWxIZWFkZXJGYWN0b3J5IiwiU291cmNlU2VsZWN0b3JGYWN0b3J5IiwiU291cmNlRGF0YVNlbGVjdG9yRmFjdG9yeSIsIkxheWVyVHlwZUxpc3RJdGVtRmFjdG9yeSIsIlRyYXNoSWNvbiIsIl90ZW1wbGF0ZU9iamVjdCIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwiLCJwcm9wcyIsInRoZW1lIiwiZm9udFdoaXRlQ29sb3IiLCJTeW5jZWREYXRhc2V0c0FyZWEiLCJkaXYiLCJfdGVtcGxhdGVPYmplY3QyIiwiU3R5bGVkQ29udGVudFRpdGxlIiwiX3RlbXBsYXRlT2JqZWN0MyIsInN1YnRleHRDb2xvciIsIlN0eWxlZFNlcGFyYXRvciIsIl90ZW1wbGF0ZU9iamVjdDQiLCJTdHlsZWRCdXR0b24iLCJfdGVtcGxhdGVPYmplY3Q1IiwiZ2V0RGF0YXNldHNXaXRoVGltZUZpZWxkIiwiZGF0YXNldHMiLCJydiIsIl9pIiwiX09iamVjdCRrZXlzIiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsImlkIiwiZmllbGRzIiwic29tZSIsImYiLCJ0eXBlIiwidGltZXN0YW1wIiwiZ2V0VGltZUZpZWxkcyIsImRhdGFzZXQiLCJmaWx0ZXIiLCJEYXRhc2V0SXRlbUZhY3RvcnkiLCJTb3VyY2VTZWxlY3RvciIsIkZpbHRlclBhbmVsSGVhZGVyIiwiU3R5bGVkRmlsdGVyUGFuZWxIZWFkZXIiLCJfdGVtcGxhdGVPYmplY3Q2IiwiU3R5bGVkU291cmNlU2VsZWN0b3IiLCJfdGVtcGxhdGVPYmplY3Q3IiwiRGF0YXNldEl0ZW0iLCJfcmVmIiwiZGF0YUlkIiwic3VwcG9ydGVkRmllbGRzIiwiaWR4IiwiaW5kZXgiLCJvblJlbW92ZVN5bmNlZEZpbHRlciIsImZpbHRlckRhdGFzZXRzTnVtIiwiZGF0YXNldHNXaXRoVGltZU51bSIsIm9uU2VsZWN0U3luY2VkRGF0YXNldCIsIm9uRmllbGRTZWxlY3RvciIsImNyZWF0ZUVsZW1lbnQiLCJhbGxBdmFpbGFibGVGaWVsZHMiLCJyZW1vdmVGaWx0ZXIiLCJkaXNhYmxlZCIsIm9uU2VsZWN0RGF0YXNldCIsImRhdGFzZXRJZCIsImZpZWxkVmFsdWUiLCJuYW1lIiwiZmllbGQiLCJkZXBzIiwiU3R5bGVkTGF5ZXJUaW1lbGluZSIsIl90ZW1wbGF0ZU9iamVjdDgiLCJTdHlsZWRMYXllckxpc3QiLCJfdGVtcGxhdGVPYmplY3Q5IiwiTGF5ZXJUaW1lbGluZUZhY3RvcnkiLCJMYXllclR5cGVMaXN0SXRlbSIsIlN0eWxlZExheWVyVHlwZUxpc3RJdGVtIiwiX3RlbXBsYXRlT2JqZWN0MCIsImRyb3Bkb3duTGlzdEhpZ2hsaWdodEJnIiwiTGF5ZXJUaW1lbGluZSIsIl9yZWYyIiwibGF5ZXJzIiwib25EZWxldGUiLCJtYXAiLCJsYXllciIsImtleSIsInZhbHVlIiwiaWNvbiIsImxheWVySWNvbiIsImxhYmVsIiwiX29iamVjdFNwcmVhZCIsImxheWVyVHlwZUljb25TaXplU00iLCJoZWlnaHQiLCJ3aWR0aCIsIm9uQ2xpY2siLCJTeW5jZWREYXRhc2V0QnV0dG9uRmFjdG9yeSIsIlN5bmNlZERhdGFzZXRCdXR0b24iLCJfcmVmMyIsIm9uQWRkU3luY2VkRmlsdGVyIiwiZGVsYXkiLCJwbGFjZW1lbnQiLCJyZW5kZXIiLCJjbGFzc05hbWUiLCJzZWNvbmRhcnkiLCJTeW5jTGF5ZXJUaW1lbGluZUJ1dHRvbkZhY3RvcnkiLCJTeW5jTGF5ZXJUaW1lbGluZUJ1dHRvbiIsIl9yZWY0Iiwib25TeW5jTGF5ZXJUaW1lbGluZSIsIkZpbHRlclN5bmNlZERhdGFzZXRQYW5lbEZhY3RvcnkiLCJTb3VyY2VEYXRhU2VsZWN0b3IiLCJGaWx0ZXJTeW5jZWREYXRhc2V0UGFuZWwiLCJfcmVmNSIsInNldEZpbHRlciIsIm9uU291cmNlRGF0YVNlbGVjdG9yIiwic3luY1RpbWVGaWx0ZXJXaXRoTGF5ZXJUaW1lbGluZSIsImRhdGFzZXRzV2l0aFRpbWUiLCJ2YWx1ZUluZGV4IiwiX2dldFRpbWVGaWVsZHMiLCJuZXh0SWQiLCJmaW5kIiwiaW5jbHVkZXMiLCJ0aW1lRmllbGROYW1lcyIsIm5leHROYW1lIiwib25SZW1vdmVTeW5jV2l0aExheWVyVGltZWxpbmUiLCJhbmltYXRhYmxlTGF5ZXJzIiwiaXNMaW5rZWRXaXRoTGF5ZXJUaW1lbGluZSIsInN5bmNlZFdpdGhMYXllclRpbWVsaW5lIiwiRnJhZ21lbnQiLCJpbnB1dFRoZW1lIiwiQXJyYXkiLCJpc0FycmF5Iiwib25TZWxlY3QiLCJkaXNwbGF5TmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWx0ZXJzL2ZpbHRlci1wYW5lbHMvZmlsdGVyLXN5bmNlZC1kYXRhc2V0LXBhbmVsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFjaywgdXNlTWVtb30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCwge3dpdGhUaGVtZX0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvbG9jYWxpemF0aW9uJztcbmltcG9ydCB7QUxMX0ZJRUxEX1RZUEVTfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge2dldEFuaW1hdGFibGVWaXNpYmxlTGF5ZXJzfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcblxuaW1wb3J0IHtCdXR0b259IGZyb20gJy4uLy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge0FkZCwgVHJhc2h9IGZyb20gJy4uLy4uL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQgVGlwcHlUb29sdGlwIGZyb20gJy4uLy4uL2NvbW1vbi90aXBweS10b29sdGlwJztcbmltcG9ydCBGaWx0ZXJQYW5lbEhlYWRlckZhY3RvcnkgZnJvbSAnLi4vLi4vc2lkZS1wYW5lbC9maWx0ZXItcGFuZWwvZmlsdGVyLXBhbmVsLWhlYWRlcic7XG5pbXBvcnQgU291cmNlU2VsZWN0b3JGYWN0b3J5IGZyb20gJy4uLy4uL3NpZGUtcGFuZWwvY29tbW9uL3NvdXJjZS1zZWxlY3Rvcic7XG5pbXBvcnQgU291cmNlRGF0YVNlbGVjdG9yRmFjdG9yeSBmcm9tICcuLi8uLi9zaWRlLXBhbmVsL2NvbW1vbi9zb3VyY2UtZGF0YS1zZWxlY3Rvcic7XG5pbXBvcnQgTGF5ZXJUeXBlTGlzdEl0ZW1GYWN0b3J5IGZyb20gJy4uLy4uL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvbGF5ZXItdHlwZS1saXN0LWl0ZW0nO1xuXG5jb25zdCBUcmFzaEljb24gPSBzdHlsZWQoVHJhc2gpYFxuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZvbnRXaGl0ZUNvbG9yfTtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbmA7XG5cbmNvbnN0IFN5bmNlZERhdGFzZXRzQXJlYSA9IHN0eWxlZC5kaXZgXG4gIC5zaWRlLXBhbmVsLXNlY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZENvbnRlbnRUaXRsZSA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnN1YnRleHRDb2xvcn07XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbmA7XG5cbmNvbnN0IFN0eWxlZFNlcGFyYXRvciA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci1sZWZ0OiAxcHggZGFzaGVkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yfTtcbiAgaGVpZ2h0OiAxNnB4O1xuICBtYXJnaW46IDRweCAwIDRweCA4cHg7XG5gO1xuXG5jb25zdCBTdHlsZWRCdXR0b24gPSBzdHlsZWQoQnV0dG9uKWBcbiAgbWFyZ2luLXRvcDogMnB4O1xuICBwYWRkaW5nOiAycHg7XG5gO1xuXG5mdW5jdGlvbiBnZXREYXRhc2V0c1dpdGhUaW1lRmllbGQoZGF0YXNldHMpIHtcbiAgY29uc3QgcnYgPSB7fTtcbiAgZm9yIChjb25zdCBpZCBvZiBPYmplY3Qua2V5cyhkYXRhc2V0cykpIHtcbiAgICAvLyBUT0RPOiBjaGFuZ2UgdG9cbiAgICBpZiAoZGF0YXNldHNbaWRdLmZpZWxkcy5zb21lKGYgPT4gZi50eXBlID09PSBBTExfRklFTERfVFlQRVMudGltZXN0YW1wKSkge1xuICAgICAgcnZbaWRdID0gZGF0YXNldHNbaWRdO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcnY7XG59XG5cbmZ1bmN0aW9uIGdldFRpbWVGaWVsZHMoZGF0YXNldCkge1xuICByZXR1cm4gZGF0YXNldC5maWVsZHMuZmlsdGVyKGYgPT4gZi50eXBlID09PSBBTExfRklFTERfVFlQRVMudGltZXN0YW1wKTtcbn1cblxuZnVuY3Rpb24gRGF0YXNldEl0ZW1GYWN0b3J5KFNvdXJjZVNlbGVjdG9yLCBGaWx0ZXJQYW5lbEhlYWRlcikge1xuICBjb25zdCBTdHlsZWRGaWx0ZXJQYW5lbEhlYWRlciA9IHN0eWxlZChGaWx0ZXJQYW5lbEhlYWRlcilgXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgaGVpZ2h0OiB1bnNldDtcbiAgICBwYWRkaW5nOiAycHggMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgYDtcblxuICBjb25zdCBTdHlsZWRTb3VyY2VTZWxlY3RvciA9IHN0eWxlZChTb3VyY2VTZWxlY3RvcilgXG4gICAgZmxleDogMTtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGA7XG5cbiAgLy8gQ2hlY2sgaWYgdGhpcyBjb21wb25lbnQgYWxyZWFkeSBleGlzdHNcbiAgY29uc3QgRGF0YXNldEl0ZW0gPSAoe1xuICAgIGRhdGFJZCxcbiAgICBkYXRhc2V0cyxcbiAgICBzdXBwb3J0ZWRGaWVsZHMsXG4gICAgaWR4LFxuICAgIGZpbHRlcixcbiAgICBpbmRleCxcbiAgICBvblJlbW92ZVN5bmNlZEZpbHRlcixcbiAgICBmaWx0ZXJEYXRhc2V0c051bSxcbiAgICBkYXRhc2V0c1dpdGhUaW1lTnVtLFxuICAgIG9uU2VsZWN0U3luY2VkRGF0YXNldCxcbiAgICBvbkZpZWxkU2VsZWN0b3JcbiAgfSkgPT4gKFxuICAgIDxkaXY+XG4gICAgICA8U3R5bGVkU2VwYXJhdG9yIC8+XG4gICAgICA8U3R5bGVkRmlsdGVyUGFuZWxIZWFkZXJcbiAgICAgICAgZGF0YXNldHM9e1tkYXRhc2V0c1tkYXRhSWRdXX1cbiAgICAgICAgYWxsQXZhaWxhYmxlRmllbGRzPXtzdXBwb3J0ZWRGaWVsZHN9XG4gICAgICAgIGlkeD17aWR4fVxuICAgICAgICBmaWx0ZXI9e2ZpbHRlcn1cbiAgICAgICAgcmVtb3ZlRmlsdGVyPXsoKSA9PiBvblJlbW92ZVN5bmNlZEZpbHRlcihpbmRleCl9XG4gICAgICA+XG4gICAgICAgIDxTdHlsZWRTb3VyY2VTZWxlY3RvclxuICAgICAgICAgIGRhdGFzZXRzPXtkYXRhc2V0c31cbiAgICAgICAgICBkaXNhYmxlZD17ZmlsdGVyRGF0YXNldHNOdW0gPj0gZGF0YXNldHNXaXRoVGltZU51bX1cbiAgICAgICAgICBkYXRhSWQ9e2RhdGFJZH1cbiAgICAgICAgICBvblNlbGVjdERhdGFzZXQ9e2RhdGFzZXRJZCA9PiBvblNlbGVjdFN5bmNlZERhdGFzZXQoZGF0YXNldElkLCBpbmRleCl9XG4gICAgICAgICAgZmllbGRzPXtnZXRUaW1lRmllbGRzKGRhdGFzZXRzW2RhdGFJZF0pfVxuICAgICAgICAgIGZpZWxkVmFsdWU9e2ZpbHRlci5uYW1lW2luZGV4XX1cbiAgICAgICAgICBvbkZpZWxkU2VsZWN0b3I9e2ZpZWxkID0+IG9uRmllbGRTZWxlY3RvcihmaWVsZCwgaW5kZXgpfVxuICAgICAgICAvPlxuICAgICAgPC9TdHlsZWRGaWx0ZXJQYW5lbEhlYWRlcj5cbiAgICA8L2Rpdj5cbiAgKTtcblxuICByZXR1cm4gRGF0YXNldEl0ZW07XG59XG5cbkRhdGFzZXRJdGVtRmFjdG9yeS5kZXBzID0gW1NvdXJjZVNlbGVjdG9yRmFjdG9yeSwgRmlsdGVyUGFuZWxIZWFkZXJGYWN0b3J5XTtcblxuY29uc3QgU3R5bGVkTGF5ZXJUaW1lbGluZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBTdHlsZWRMYXllckxpc3QgPSBzdHlsZWQuZGl2YFxuICBmbGV4OiAxO1xuYDtcblxuZnVuY3Rpb24gTGF5ZXJUaW1lbGluZUZhY3RvcnkoTGF5ZXJUeXBlTGlzdEl0ZW0pIHtcbiAgY29uc3QgU3R5bGVkTGF5ZXJUeXBlTGlzdEl0ZW0gPSBzdHlsZWQoTGF5ZXJUeXBlTGlzdEl0ZW0pYFxuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZHJvcGRvd25MaXN0SGlnaGxpZ2h0Qmd9O1xuICAgIHBhZGRpbmc6IDRweDtcbiAgYDtcblxuICBjb25zdCBMYXllclRpbWVsaW5lID0gKHtsYXllcnMsIHRoZW1lLCBvbkRlbGV0ZX0pID0+IChcbiAgICA8U3R5bGVkTGF5ZXJUaW1lbGluZT5cbiAgICAgIDxTdHlsZWRMYXllckxpc3Q+XG4gICAgICAgIHtsYXllcnMubWFwKGxheWVyID0+IChcbiAgICAgICAgICA8U3R5bGVkTGF5ZXJUeXBlTGlzdEl0ZW1cbiAgICAgICAgICAgIGtleT17bGF5ZXIuaWR9XG4gICAgICAgICAgICB2YWx1ZT17e2ljb246IGxheWVyLmxheWVySWNvbiwgbGFiZWw6IGxheWVyLm5hbWV9fVxuICAgICAgICAgICAgdGhlbWU9e3suLi50aGVtZSwgbGF5ZXJUeXBlSWNvblNpemVTTTogMjR9fVxuICAgICAgICAgIC8+XG4gICAgICAgICkpfVxuICAgICAgPC9TdHlsZWRMYXllckxpc3Q+XG4gICAgICA8VHJhc2hJY29uIGhlaWdodD1cIjEycHhcIiB3aWR0aD1cIjEycHhcIiBvbkNsaWNrPXtvbkRlbGV0ZX0gLz5cbiAgICA8L1N0eWxlZExheWVyVGltZWxpbmU+XG4gICk7XG5cbiAgcmV0dXJuIHdpdGhUaGVtZShMYXllclRpbWVsaW5lKTtcbn1cblxuTGF5ZXJUaW1lbGluZUZhY3RvcnkuZGVwcyA9IFtMYXllclR5cGVMaXN0SXRlbUZhY3RvcnldO1xuXG5mdW5jdGlvbiBTeW5jZWREYXRhc2V0QnV0dG9uRmFjdG9yeSgpIHtcbiAgY29uc3QgU3luY2VkRGF0YXNldEJ1dHRvbiA9ICh7b25BZGRTeW5jZWRGaWx0ZXJ9KSA9PiAoXG4gICAgPGRpdj5cbiAgICAgIDxTdHlsZWRTZXBhcmF0b3IgLz5cbiAgICAgIDxUaXBweVRvb2x0aXBcbiAgICAgICAgZGVsYXk9e1s1MDAsIDBdfVxuICAgICAgICBwbGFjZW1lbnQ9XCJ0b3BcIlxuICAgICAgICByZW5kZXI9eygpID0+IChcbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9eyd0b29sdGlwLnRpbWVGaWx0ZXJTeW5jJ30gLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFN0eWxlZEJ1dHRvbiBjbGFzc05hbWU9XCJhZGQtc3luYy1kYXRhc2V0XCIgc2Vjb25kYXJ5PXt0cnVlfSBvbkNsaWNrPXtvbkFkZFN5bmNlZEZpbHRlcn0+XG4gICAgICAgICAgPEFkZCBoZWlnaHQ9XCIxMnB4XCIgLz5cbiAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17J2ZpbHRlck1hbmFnZXIudGltZUZpbHRlclN5bmMnfSAvPlxuICAgICAgICA8L1N0eWxlZEJ1dHRvbj5cbiAgICAgIDwvVGlwcHlUb29sdGlwPlxuICAgIDwvZGl2PlxuICApO1xuXG4gIHJldHVybiBTeW5jZWREYXRhc2V0QnV0dG9uO1xufVxuXG5mdW5jdGlvbiBTeW5jTGF5ZXJUaW1lbGluZUJ1dHRvbkZhY3RvcnkoKSB7XG4gIGNvbnN0IFN5bmNMYXllclRpbWVsaW5lQnV0dG9uID0gKHtvblN5bmNMYXllclRpbWVsaW5lfSkgPT4gKFxuICAgIDxkaXY+XG4gICAgICA8U3R5bGVkU2VwYXJhdG9yIC8+XG4gICAgICA8VGlwcHlUb29sdGlwXG4gICAgICAgIGRlbGF5PXtbNTAwLCAwXX1cbiAgICAgICAgcGxhY2VtZW50PVwidG9wXCJcbiAgICAgICAgcmVuZGVyPXsoKSA9PiAoXG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXsndG9vbHRpcC50aW1lTGF5ZXJTeW5jJ30gLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAgPFN0eWxlZEJ1dHRvbiBjbGFzc05hbWU9XCJhZGQtc3luYy1kYXRhc2V0XCIgc2Vjb25kYXJ5PXt0cnVlfSBvbkNsaWNrPXtvblN5bmNMYXllclRpbWVsaW5lfT5cbiAgICAgICAgICA8QWRkIGhlaWdodD1cIjEycHhcIiAvPlxuICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXsnZmlsdGVyTWFuYWdlci50aW1lTGF5ZXJTeW5jJ30gLz5cbiAgICAgICAgPC9TdHlsZWRCdXR0b24+XG4gICAgICA8L1RpcHB5VG9vbHRpcD5cbiAgICA8L2Rpdj5cbiAgKTtcblxuICByZXR1cm4gU3luY0xheWVyVGltZWxpbmVCdXR0b247XG59XG5cbmZ1bmN0aW9uIEZpbHRlclN5bmNlZERhdGFzZXRQYW5lbEZhY3RvcnkoXG4gIERhdGFzZXRJdGVtLFxuICBMYXllclRpbWVsaW5lLFxuICBTb3VyY2VEYXRhU2VsZWN0b3IsXG4gIFN5bmNlZERhdGFzZXRCdXR0b24sXG4gIFN5bmNMYXllclRpbWVsaW5lQnV0dG9uXG4pIHtcbiAgY29uc3QgRmlsdGVyU3luY2VkRGF0YXNldFBhbmVsID0gKHtcbiAgICBkYXRhc2V0cyxcbiAgICBsYXllcnMsXG4gICAgZmlsdGVyLFxuICAgIHNldEZpbHRlcixcbiAgICBpZHgsXG4gICAgc3VwcG9ydGVkRmllbGRzLFxuICAgIG9uRmllbGRTZWxlY3RvcixcbiAgICBvblNvdXJjZURhdGFTZWxlY3RvcixcbiAgICBzeW5jVGltZUZpbHRlcldpdGhMYXllclRpbWVsaW5lXG4gIH0pID0+IHtcbiAgICBjb25zdCBkYXRhc2V0c1dpdGhUaW1lID0gdXNlTWVtbygoKSA9PiBnZXREYXRhc2V0c1dpdGhUaW1lRmllbGQoZGF0YXNldHMpLCBbZGF0YXNldHNdKTtcbiAgICBjb25zdCBmaWx0ZXJEYXRhc2V0c051bSA9IHVzZU1lbW8oKCkgPT4gZmlsdGVyLmRhdGFJZC5sZW5ndGgsIFtmaWx0ZXIuZGF0YUlkXSk7XG4gICAgY29uc3QgZGF0YXNldHNXaXRoVGltZU51bSA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiBPYmplY3Qua2V5cyhkYXRhc2V0c1dpdGhUaW1lKS5sZW5ndGgsXG4gICAgICBbZGF0YXNldHNXaXRoVGltZV1cbiAgICApO1xuXG4gICAgY29uc3Qgb25SZW1vdmVTeW5jZWRGaWx0ZXIgPSB1c2VDYWxsYmFjayhcbiAgICAgIHZhbHVlSW5kZXggPT4ge1xuICAgICAgICBzZXRGaWx0ZXIoaWR4LCAnZGF0YUlkJywgbnVsbCwgdmFsdWVJbmRleCk7XG4gICAgICB9LFxuICAgICAgW2lkeCwgc2V0RmlsdGVyXVxuICAgICk7XG5cbiAgICBjb25zdCBvblNlbGVjdFN5bmNlZERhdGFzZXQgPSB1c2VDYWxsYmFjayhcbiAgICAgIChkYXRhc2V0SWQsIHZhbHVlSW5kZXgpID0+IHtcbiAgICAgICAgc2V0RmlsdGVyKGlkeCwgJ2RhdGFJZCcsIGRhdGFzZXRJZCwgdmFsdWVJbmRleCk7XG4gICAgICB9LFxuICAgICAgW3NldEZpbHRlciwgaWR4XVxuICAgICk7XG5cbiAgICBjb25zdCBvbkFkZFN5bmNlZEZpbHRlciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIGNvbnN0IG5leHRJZCA9IE9iamVjdC5rZXlzKGRhdGFzZXRzV2l0aFRpbWUpLmZpbmQoaWQgPT4gIWZpbHRlci5kYXRhSWQuaW5jbHVkZXMoaWQpKTtcbiAgICAgIGlmICghbmV4dElkKSByZXR1cm47XG4gICAgICBjb25zdCB0aW1lRmllbGROYW1lcyA9IGdldFRpbWVGaWVsZHMoZGF0YXNldHNbbmV4dElkXSk/Lm1hcChmID0+IGYubmFtZSk7XG4gICAgICBpZiAoIXRpbWVGaWVsZE5hbWVzIHx8IHRpbWVGaWVsZE5hbWVzLmxlbmd0aCA8IDEpIHJldHVybjtcbiAgICAgIGNvbnN0IG5leHROYW1lID0gdGltZUZpZWxkTmFtZXMuaW5jbHVkZXMoZmlsdGVyLm5hbWVbMF0pID8gZmlsdGVyLm5hbWVbMF0gOiB0aW1lRmllbGROYW1lc1swXTtcbiAgICAgIHNldEZpbHRlcihpZHgsIFsnZGF0YUlkJywgJ25hbWUnXSwgW25leHRJZCwgbmV4dE5hbWVdLCBmaWx0ZXIuZGF0YUlkLmxlbmd0aCk7XG4gICAgfSwgW3NldEZpbHRlciwgaWR4LCBkYXRhc2V0c1dpdGhUaW1lLCBkYXRhc2V0cywgZmlsdGVyLmRhdGFJZCwgZmlsdGVyLm5hbWVdKTtcblxuICAgIGNvbnN0IG9uU3luY0xheWVyVGltZWxpbmUgPSB1c2VDYWxsYmFjayhcbiAgICAgICgpID0+IHN5bmNUaW1lRmlsdGVyV2l0aExheWVyVGltZWxpbmUoaWR4LCB0cnVlKSxcbiAgICAgIFtzeW5jVGltZUZpbHRlcldpdGhMYXllclRpbWVsaW5lLCBpZHhdXG4gICAgKTtcblxuICAgIGNvbnN0IG9uUmVtb3ZlU3luY1dpdGhMYXllclRpbWVsaW5lID0gdXNlQ2FsbGJhY2soXG4gICAgICAoKSA9PiBzeW5jVGltZUZpbHRlcldpdGhMYXllclRpbWVsaW5lKGlkeCwgZmFsc2UpLFxuICAgICAgW3N5bmNUaW1lRmlsdGVyV2l0aExheWVyVGltZWxpbmUsIGlkeF1cbiAgICApO1xuXG4gICAgY29uc3QgYW5pbWF0YWJsZUxheWVycyA9IHVzZU1lbW8oKCkgPT4gZ2V0QW5pbWF0YWJsZVZpc2libGVMYXllcnMobGF5ZXJzKSwgW2xheWVyc10pO1xuXG4gICAgY29uc3QgaXNMaW5rZWRXaXRoTGF5ZXJUaW1lbGluZSA9IHVzZU1lbW8oKCkgPT4gZmlsdGVyLnN5bmNlZFdpdGhMYXllclRpbWVsaW5lLCBbZmlsdGVyXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN5bmNlZERhdGFzZXRzQXJlYT5cbiAgICAgICAge2ZpbHRlci5kYXRhSWQubGVuZ3RoID4gMSA/IChcbiAgICAgICAgICA8PlxuICAgICAgICAgICAgPFN0eWxlZENvbnRlbnRUaXRsZT5EYXRhc2V0czwvU3R5bGVkQ29udGVudFRpdGxlPlxuICAgICAgICAgICAge2ZpbHRlci5kYXRhSWQubWFwKChkYXRhSWQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPERhdGFzZXRJdGVtXG4gICAgICAgICAgICAgICAgICBrZXk9e2RhdGFJZH1cbiAgICAgICAgICAgICAgICAgIGRhdGFJZD17ZGF0YUlkfVxuICAgICAgICAgICAgICAgICAgaW5kZXg9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgZGF0YXNldHM9e2RhdGFzZXRzfVxuICAgICAgICAgICAgICAgICAgc3VwcG9ydGVkRmllbGRzPXtzdXBwb3J0ZWRGaWVsZHN9XG4gICAgICAgICAgICAgICAgICBpZHg9e2lkeH1cbiAgICAgICAgICAgICAgICAgIGZpbHRlcj17ZmlsdGVyfVxuICAgICAgICAgICAgICAgICAgb25SZW1vdmVTeW5jZWRGaWx0ZXI9e29uUmVtb3ZlU3luY2VkRmlsdGVyfVxuICAgICAgICAgICAgICAgICAgZmlsdGVyRGF0YXNldHNOdW09e2ZpbHRlckRhdGFzZXRzTnVtfVxuICAgICAgICAgICAgICAgICAgZGF0YXNldHNXaXRoVGltZU51bT17ZGF0YXNldHNXaXRoVGltZU51bX1cbiAgICAgICAgICAgICAgICAgIG9uU2VsZWN0U3luY2VkRGF0YXNldD17b25TZWxlY3RTeW5jZWREYXRhc2V0fVxuICAgICAgICAgICAgICAgICAgb25GaWVsZFNlbGVjdG9yPXtvbkZpZWxkU2VsZWN0b3J9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8U291cmNlRGF0YVNlbGVjdG9yXG4gICAgICAgICAgICAgIGlucHV0VGhlbWU9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICBkYXRhc2V0cz17ZGF0YXNldHN9XG4gICAgICAgICAgICAgIGRhdGFJZD17QXJyYXkuaXNBcnJheShmaWx0ZXIuZGF0YUlkKSA/IGZpbHRlci5kYXRhSWRbMF0gOiBmaWx0ZXIuZGF0YUlkfVxuICAgICAgICAgICAgICBvblNlbGVjdD17b25Tb3VyY2VEYXRhU2VsZWN0b3J9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApfVxuICAgICAgICB7LyoqIHN5bmMgd2l0aCBhbmltYXRhYmxlIGxheWVycyAqL31cbiAgICAgICAge2lzTGlua2VkV2l0aExheWVyVGltZWxpbmUgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxTdHlsZWRTZXBhcmF0b3IgLz5cbiAgICAgICAgICAgIDxMYXllclRpbWVsaW5lIGxheWVycz17YW5pbWF0YWJsZUxheWVyc30gb25EZWxldGU9e29uUmVtb3ZlU3luY1dpdGhMYXllclRpbWVsaW5lfSAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICB7YW5pbWF0YWJsZUxheWVycy5sZW5ndGggPyAoXG4gICAgICAgICAgICAgIDxTeW5jTGF5ZXJUaW1lbGluZUJ1dHRvbiBvblN5bmNMYXllclRpbWVsaW5lPXtvblN5bmNMYXllclRpbWVsaW5lfSAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgPC8+XG4gICAgICAgICl9XG4gICAgICAgIHtmaWx0ZXJEYXRhc2V0c051bSA8IGRhdGFzZXRzV2l0aFRpbWVOdW0gPyAoXG4gICAgICAgICAgPFN5bmNlZERhdGFzZXRCdXR0b24gb25BZGRTeW5jZWRGaWx0ZXI9e29uQWRkU3luY2VkRmlsdGVyfSAvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvU3luY2VkRGF0YXNldHNBcmVhPlxuICAgICk7XG4gIH07XG5cbiAgRmlsdGVyU3luY2VkRGF0YXNldFBhbmVsLmRpc3BsYXlOYW1lID0gJ0ZpbHRlclN5bmNlZERhdGFzZXRQYW5lbCc7XG5cbiAgcmV0dXJuIEZpbHRlclN5bmNlZERhdGFzZXRQYW5lbDtcbn1cblxuRmlsdGVyU3luY2VkRGF0YXNldFBhbmVsRmFjdG9yeS5kZXBzID0gW1xuICBEYXRhc2V0SXRlbUZhY3RvcnksXG4gIExheWVyVGltZWxpbmVGYWN0b3J5LFxuICBTb3VyY2VEYXRhU2VsZWN0b3JGYWN0b3J5LFxuICBTeW5jZWREYXRhc2V0QnV0dG9uRmFjdG9yeSxcbiAgU3luY0xheWVyVGltZWxpbmVCdXR0b25GYWN0b3J5XG5dO1xuXG5leHBvcnQgZGVmYXVsdCBGaWx0ZXJTeW5jZWREYXRhc2V0UGFuZWxGYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ0E7O0FBRUEsT0FBT0EsS0FBSyxJQUFHQyxXQUFXLEVBQUVDLE9BQU8sUUFBTyxPQUFPO0FBQ2pELE9BQU9DLE1BQU0sSUFBR0MsU0FBUyxRQUFPLG1CQUFtQjtBQUVuRCxTQUFRQyxnQkFBZ0IsUUFBTyx5QkFBeUI7QUFDeEQsU0FBUUMsZUFBZSxRQUFPLHNCQUFzQjtBQUNwRCxTQUFRQywwQkFBMEIsUUFBTyxrQkFBa0I7QUFFM0QsU0FBUUMsTUFBTSxRQUFPLGdDQUFnQztBQUNy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
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
// Copyright contributors to the kepler.gl project
|
|
3
|
+
|
|
4
|
+
import React, { useCallback } from 'react';
|
|
5
|
+
import MultiSelectFilterFactory from '../multi-select-filter';
|
|
6
|
+
import FieldPanelWithFieldSelectFactory from './filter-panel-with-field-select';
|
|
7
|
+
MultiSelectFilterPanelFactory.deps = [FieldPanelWithFieldSelectFactory, MultiSelectFilterFactory];
|
|
8
|
+
function MultiSelectFilterPanelFactory(FieldPanelWithFieldSelect, MultiSelectFilterComponent) {
|
|
9
|
+
var MultiSelectFilterPanel = /*#__PURE__*/React.memo(function (_ref) {
|
|
10
|
+
var idx = _ref.idx,
|
|
11
|
+
datasets = _ref.datasets,
|
|
12
|
+
allAvailableFields = _ref.allAvailableFields,
|
|
13
|
+
filter = _ref.filter,
|
|
14
|
+
setFilter = _ref.setFilter,
|
|
15
|
+
removeFilter = _ref.removeFilter;
|
|
16
|
+
var onSetFilter = useCallback(function (value) {
|
|
17
|
+
return setFilter(idx, 'value', value);
|
|
18
|
+
}, [idx, setFilter]);
|
|
19
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
20
|
+
className: "multi-select-filter-panel"
|
|
21
|
+
}, /*#__PURE__*/React.createElement(FieldPanelWithFieldSelect, {
|
|
22
|
+
allAvailableFields: allAvailableFields,
|
|
23
|
+
datasets: datasets,
|
|
24
|
+
filter: filter,
|
|
25
|
+
idx: idx,
|
|
26
|
+
removeFilter: removeFilter,
|
|
27
|
+
setFilter: setFilter
|
|
28
|
+
}, filter.type && /*#__PURE__*/React.createElement("div", {
|
|
29
|
+
className: "filter-panel__filter"
|
|
30
|
+
}, /*#__PURE__*/React.createElement(MultiSelectFilterComponent, {
|
|
31
|
+
filter: filter,
|
|
32
|
+
setFilter: onSetFilter
|
|
33
|
+
}))));
|
|
34
|
+
});
|
|
35
|
+
MultiSelectFilterPanel.displayName = 'MultiSelectFilterPanel';
|
|
36
|
+
return MultiSelectFilterPanel;
|
|
37
|
+
}
|
|
38
|
+
export default MultiSelectFilterPanelFactory;
|
|
39
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNhbGxiYWNrIiwiTXVsdGlTZWxlY3RGaWx0ZXJGYWN0b3J5IiwiRmllbGRQYW5lbFdpdGhGaWVsZFNlbGVjdEZhY3RvcnkiLCJNdWx0aVNlbGVjdEZpbHRlclBhbmVsRmFjdG9yeSIsImRlcHMiLCJGaWVsZFBhbmVsV2l0aEZpZWxkU2VsZWN0IiwiTXVsdGlTZWxlY3RGaWx0ZXJDb21wb25lbnQiLCJNdWx0aVNlbGVjdEZpbHRlclBhbmVsIiwibWVtbyIsIl9yZWYiLCJpZHgiLCJkYXRhc2V0cyIsImFsbEF2YWlsYWJsZUZpZWxkcyIsImZpbHRlciIsInNldEZpbHRlciIsInJlbW92ZUZpbHRlciIsIm9uU2V0RmlsdGVyIiwidmFsdWUiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwidHlwZSIsImRpc3BsYXlOYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ZpbHRlcnMvZmlsdGVyLXBhbmVscy9tdWx0aS1zZWxlY3QtZmlsdGVyLXBhbmVsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFja30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IE11bHRpU2VsZWN0RmlsdGVyRmFjdG9yeSBmcm9tICcuLi9tdWx0aS1zZWxlY3QtZmlsdGVyJztcbmltcG9ydCB7TXVsdGlTZWxlY3RGaWx0ZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IEZpZWxkUGFuZWxXaXRoRmllbGRTZWxlY3RGYWN0b3J5IGZyb20gJy4vZmlsdGVyLXBhbmVsLXdpdGgtZmllbGQtc2VsZWN0JztcbmltcG9ydCB7RmlsdGVyUGFuZWxDb21wb25lbnR9IGZyb20gJy4vdHlwZXMnO1xuXG5NdWx0aVNlbGVjdEZpbHRlclBhbmVsRmFjdG9yeS5kZXBzID0gW0ZpZWxkUGFuZWxXaXRoRmllbGRTZWxlY3RGYWN0b3J5LCBNdWx0aVNlbGVjdEZpbHRlckZhY3RvcnldO1xuXG5mdW5jdGlvbiBNdWx0aVNlbGVjdEZpbHRlclBhbmVsRmFjdG9yeShcbiAgRmllbGRQYW5lbFdpdGhGaWVsZFNlbGVjdDogUmV0dXJuVHlwZTx0eXBlb2YgRmllbGRQYW5lbFdpdGhGaWVsZFNlbGVjdEZhY3Rvcnk+LFxuICBNdWx0aVNlbGVjdEZpbHRlckNvbXBvbmVudDogUmV0dXJuVHlwZTx0eXBlb2YgTXVsdGlTZWxlY3RGaWx0ZXJGYWN0b3J5PlxuKSB7XG4gIGNvbnN0IE11bHRpU2VsZWN0RmlsdGVyUGFuZWw6IEZpbHRlclBhbmVsQ29tcG9uZW50PE11bHRpU2VsZWN0RmlsdGVyPiA9IFJlYWN0Lm1lbW8oXG4gICAgKHtpZHgsIGRhdGFzZXRzLCBhbGxBdmFpbGFibGVGaWVsZHMsIGZpbHRlciwgc2V0RmlsdGVyLCByZW1vdmVGaWx0ZXJ9KSA9PiB7XG4gICAgICBjb25zdCBvblNldEZpbHRlciA9IHVzZUNhbGxiYWNrKHZhbHVlID0+IHNldEZpbHRlcihpZHgsICd2YWx1ZScsIHZhbHVlKSwgW2lkeCwgc2V0RmlsdGVyXSk7XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXVsdGktc2VsZWN0LWZpbHRlci1wYW5lbFwiPlxuICAgICAgICAgIDxGaWVsZFBhbmVsV2l0aEZpZWxkU2VsZWN0XG4gICAgICAgICAgICBhbGxBdmFpbGFibGVGaWVsZHM9e2FsbEF2YWlsYWJsZUZpZWxkc31cbiAgICAgICAgICAgIGRhdGFzZXRzPXtkYXRhc2V0c31cbiAgICAgICAgICAgIGZpbHRlcj17ZmlsdGVyfVxuICAgICAgICAgICAgaWR4PXtpZHh9XG4gICAgICAgICAgICByZW1vdmVGaWx0ZXI9e3JlbW92ZUZpbHRlcn1cbiAgICAgICAgICAgIHNldEZpbHRlcj17c2V0RmlsdGVyfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtmaWx0ZXIudHlwZSAmJiAoXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmlsdGVyLXBhbmVsX19maWx0ZXJcIj5cbiAgICAgICAgICAgICAgICA8TXVsdGlTZWxlY3RGaWx0ZXJDb21wb25lbnQgZmlsdGVyPXtmaWx0ZXJ9IHNldEZpbHRlcj17b25TZXRGaWx0ZXJ9IC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L0ZpZWxkUGFuZWxXaXRoRmllbGRTZWxlY3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG4gICk7XG5cbiAgTXVsdGlTZWxlY3RGaWx0ZXJQYW5lbC5kaXNwbGF5TmFtZSA9ICdNdWx0aVNlbGVjdEZpbHRlclBhbmVsJztcblxuICByZXR1cm4gTXVsdGlTZWxlY3RGaWx0ZXJQYW5lbDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTXVsdGlTZWxlY3RGaWx0ZXJQYW5lbEZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7O0FBRUEsT0FBT0EsS0FBSyxJQUFHQyxXQUFXLFFBQU8sT0FBTztBQUN4QyxPQUFPQyx3QkFBd0IsTUFBTSx3QkFBd0I7QUFFN0QsT0FBT0MsZ0NBQWdDLE1BQU0sa0NBQWtDO0FBRy9FQyw2QkFBNkIsQ0FBQ0MsSUFBSSxHQUFHLENBQUNGLGdDQUFnQyxFQUFFRCx3QkFBd0IsQ0FBQztBQUVqRyxTQUFTRSw2QkFBNkJBLENBQ3BDRSx5QkFBOEUsRUFDOUVDLDBCQUF1RSxFQUN2RTtFQUNBLElBQU1DLHNCQUErRCxnQkFBR1IsS0FBSyxDQUFDUyxJQUFJLENBQ2hGLFVBQUFDLElBQUEsRUFBMEU7SUFBQSxJQUF4RUMsR0FBRyxHQUFBRCxJQUFBLENBQUhDLEdBQUc7TUFBRUMsUUFBUSxHQUFBRixJQUFBLENBQVJFLFFBQVE7TUFBRUMsa0JBQWtCLEdBQUFILElBQUEsQ0FBbEJHLGtCQUFrQjtNQUFFQyxNQUFNLEdBQUFKLElBQUEsQ0FBTkksTUFBTTtNQUFFQyxTQUFTLEdBQUFMLElBQUEsQ0FBVEssU0FBUztNQUFFQyxZQUFZLEdBQUFOLElBQUEsQ0FBWk0sWUFBWTtJQUNsRSxJQUFNQyxXQUFXLEdBQUdoQixXQUFXLENBQUMsVUFBQWlCLEtBQUs7TUFBQSxPQUFJSCxTQUFTLENBQUNKLEdBQUcsRUFBRSxPQUFPLEVBQUVPLEtBQUssQ0FBQztJQUFBLEdBQUUsQ0FBQ1AsR0FBRyxFQUFFSSxTQUFTLENBQUMsQ0FBQztJQUUxRixvQkFDRWYsS0FBQSxDQUFBbUIsYUFBQTtNQUFLQyxTQUFTLEVBQUM7SUFBMkIsZ0JBQ3hDcEIsS0FBQSxDQUFBbUIsYUFBQSxDQUFDYix5QkFBeUI7TUFDeEJPLGtCQUFrQixFQUFFQSxrQkFBbUI7TUFDdkNELFFBQVEsRUFBRUEsUUFBUztNQUNuQkUsTUFBTSxFQUFFQSxNQUFPO01BQ2ZILEdBQUcsRUFBRUEsR0FBSTtNQUNUSyxZQUFZLEVBQUVBLFlBQWE7TUFDM0JELFNBQVMsRUFBRUE7SUFBVSxHQUVwQkQsTUFBTSxDQUFDTyxJQUFJLGlCQUNWckIsS0FBQSxDQUFBbUIsYUFBQTtNQUFLQyxTQUFTLEVBQUM7SUFBc0IsZ0JBQ25DcEIsS0FBQSxDQUFBbUIsYUFBQSxDQUFDWiwwQkFBMEI7TUFBQ08sTUFBTSxFQUFFQSxNQUFPO01BQUNDLFNBQVMsRUFBRUU7SUFBWSxDQUFFLENBQ2xFLENBRWtCLENBQ3hCLENBQUM7RUFFVixDQUNGLENBQUM7RUFFRFQsc0JBQXNCLENBQUNjLFdBQVcsR0FBRyx3QkFBd0I7RUFFN0QsT0FBT2Qsc0JBQXNCO0FBQy9CO0FBRUEsZUFBZUosNkJBQTZCIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
// Copyright contributors to the kepler.gl project
|
|
3
|
+
|
|
4
|
+
import React, { useCallback, useMemo } from 'react';
|
|
5
|
+
import { StyledFilterContent } from '../../common/styled-components';
|
|
6
|
+
import FilterPanelHeaderFactory from '../../side-panel/filter-panel/filter-panel-header';
|
|
7
|
+
import SourceDataSelectorFactory from '../../side-panel/common/source-data-selector';
|
|
8
|
+
import FieldSelectorFactory from '../../common/field-selector';
|
|
9
|
+
NewFilterPanelFactory.deps = [FilterPanelHeaderFactory, SourceDataSelectorFactory, FieldSelectorFactory];
|
|
10
|
+
export function getSupportedFilterFields(supportedFilterTypes, fields) {
|
|
11
|
+
return supportedFilterTypes ? fields.filter(function (field) {
|
|
12
|
+
return supportedFilterTypes.includes(field.type);
|
|
13
|
+
}) : fields;
|
|
14
|
+
}
|
|
15
|
+
function NewFilterPanelFactory(FilterPanelHeader, SourceDataSelector, FieldSelector) {
|
|
16
|
+
var NewFilterPanel = /*#__PURE__*/React.memo(function (_ref) {
|
|
17
|
+
var idx = _ref.idx,
|
|
18
|
+
filter = _ref.filter,
|
|
19
|
+
datasets = _ref.datasets,
|
|
20
|
+
allAvailableFields = _ref.allAvailableFields,
|
|
21
|
+
setFilter = _ref.setFilter,
|
|
22
|
+
removeFilter = _ref.removeFilter;
|
|
23
|
+
var onFieldSelector = useCallback(function (field) {
|
|
24
|
+
return setFilter(idx, 'name', field.name);
|
|
25
|
+
}, [idx, setFilter]);
|
|
26
|
+
var onSourceDataSelector = useCallback(function (value) {
|
|
27
|
+
return setFilter(idx, 'dataId', value, 0);
|
|
28
|
+
}, [idx, setFilter]);
|
|
29
|
+
var dataset = datasets[filter.dataId[0]];
|
|
30
|
+
var supportedFields = useMemo(function () {
|
|
31
|
+
return getSupportedFilterFields(dataset.supportedFilterTypes, allAvailableFields);
|
|
32
|
+
}, [dataset.supportedFilterTypes, allAvailableFields]);
|
|
33
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FilterPanelHeader, {
|
|
34
|
+
datasets: [dataset],
|
|
35
|
+
filter: filter,
|
|
36
|
+
removeFilter: removeFilter
|
|
37
|
+
}, /*#__PURE__*/React.createElement(FieldSelector, {
|
|
38
|
+
inputTheme: "secondary",
|
|
39
|
+
fields: supportedFields,
|
|
40
|
+
value: Array.isArray(filter.name) ? filter.name[0] : filter.name,
|
|
41
|
+
erasable: false,
|
|
42
|
+
onSelect: onFieldSelector
|
|
43
|
+
})), /*#__PURE__*/React.createElement(StyledFilterContent, {
|
|
44
|
+
className: "filter-panel__content"
|
|
45
|
+
}, Object.keys(datasets).length > 1 && /*#__PURE__*/React.createElement(SourceDataSelector, {
|
|
46
|
+
inputTheme: "secondary",
|
|
47
|
+
datasets: datasets,
|
|
48
|
+
dataId: filter.dataId,
|
|
49
|
+
onSelect: onSourceDataSelector
|
|
50
|
+
})));
|
|
51
|
+
});
|
|
52
|
+
NewFilterPanel.displayName = 'NewFilterPanel';
|
|
53
|
+
return NewFilterPanel;
|
|
54
|
+
}
|
|
55
|
+
export default NewFilterPanelFactory;
|
|
56
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsIlN0eWxlZEZpbHRlckNvbnRlbnQiLCJGaWx0ZXJQYW5lbEhlYWRlckZhY3RvcnkiLCJTb3VyY2VEYXRhU2VsZWN0b3JGYWN0b3J5IiwiRmllbGRTZWxlY3RvckZhY3RvcnkiLCJOZXdGaWx0ZXJQYW5lbEZhY3RvcnkiLCJkZXBzIiwiZ2V0U3VwcG9ydGVkRmlsdGVyRmllbGRzIiwic3VwcG9ydGVkRmlsdGVyVHlwZXMiLCJmaWVsZHMiLCJmaWx0ZXIiLCJmaWVsZCIsImluY2x1ZGVzIiwidHlwZSIsIkZpbHRlclBhbmVsSGVhZGVyIiwiU291cmNlRGF0YVNlbGVjdG9yIiwiRmllbGRTZWxlY3RvciIsIk5ld0ZpbHRlclBhbmVsIiwibWVtbyIsIl9yZWYiLCJpZHgiLCJkYXRhc2V0cyIsImFsbEF2YWlsYWJsZUZpZWxkcyIsInNldEZpbHRlciIsInJlbW92ZUZpbHRlciIsIm9uRmllbGRTZWxlY3RvciIsIm5hbWUiLCJvblNvdXJjZURhdGFTZWxlY3RvciIsInZhbHVlIiwiZGF0YXNldCIsImRhdGFJZCIsInN1cHBvcnRlZEZpZWxkcyIsImNyZWF0ZUVsZW1lbnQiLCJGcmFnbWVudCIsImlucHV0VGhlbWUiLCJBcnJheSIsImlzQXJyYXkiLCJlcmFzYWJsZSIsIm9uU2VsZWN0IiwiY2xhc3NOYW1lIiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsImRpc3BsYXlOYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ZpbHRlcnMvZmlsdGVyLXBhbmVscy9uZXctZmlsdGVyLXBhbmVsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFjaywgdXNlTWVtb30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtTdHlsZWRGaWx0ZXJDb250ZW50fSBmcm9tICcuLi8uLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IEZpbHRlclBhbmVsSGVhZGVyRmFjdG9yeSBmcm9tICcuLi8uLi9zaWRlLXBhbmVsL2ZpbHRlci1wYW5lbC9maWx0ZXItcGFuZWwtaGVhZGVyJztcbmltcG9ydCBTb3VyY2VEYXRhU2VsZWN0b3JGYWN0b3J5IGZyb20gJy4uLy4uL3NpZGUtcGFuZWwvY29tbW9uL3NvdXJjZS1kYXRhLXNlbGVjdG9yJztcbmltcG9ydCBGaWVsZFNlbGVjdG9yRmFjdG9yeSBmcm9tICcuLi8uLi9jb21tb24vZmllbGQtc2VsZWN0b3InO1xuaW1wb3J0IHtGaWx0ZXJQYW5lbENvbXBvbmVudH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQge0tlcGxlclRhYmxlfSBmcm9tICdAa2VwbGVyLmdsL3RhYmxlJztcbmltcG9ydCB7RmllbGQsIEZpbHRlckJhc2UsIExpbmVDaGFydH0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5cbk5ld0ZpbHRlclBhbmVsRmFjdG9yeS5kZXBzID0gW1xuICBGaWx0ZXJQYW5lbEhlYWRlckZhY3RvcnksXG4gIFNvdXJjZURhdGFTZWxlY3RvckZhY3RvcnksXG4gIEZpZWxkU2VsZWN0b3JGYWN0b3J5XG5dO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3VwcG9ydGVkRmlsdGVyRmllbGRzKFxuICBzdXBwb3J0ZWRGaWx0ZXJUeXBlczogS2VwbGVyVGFibGVbJ3N1cHBvcnRlZEZpbHRlclR5cGVzJ10sXG4gIGZpZWxkczogRmllbGRbXVxuKSB7XG4gIHJldHVybiBzdXBwb3J0ZWRGaWx0ZXJUeXBlc1xuICAgID8gZmllbGRzLmZpbHRlcihmaWVsZCA9PiBzdXBwb3J0ZWRGaWx0ZXJUeXBlcy5pbmNsdWRlcyhmaWVsZC50eXBlKSlcbiAgICA6IGZpZWxkcztcbn1cblxuZnVuY3Rpb24gTmV3RmlsdGVyUGFuZWxGYWN0b3J5KFxuICBGaWx0ZXJQYW5lbEhlYWRlcjogUmV0dXJuVHlwZTx0eXBlb2YgRmlsdGVyUGFuZWxIZWFkZXJGYWN0b3J5PixcbiAgU291cmNlRGF0YVNlbGVjdG9yOiBSZXR1cm5UeXBlPHR5cGVvZiBTb3VyY2VEYXRhU2VsZWN0b3JGYWN0b3J5PixcbiAgRmllbGRTZWxlY3RvcjogUmV0dXJuVHlwZTx0eXBlb2YgRmllbGRTZWxlY3RvckZhY3Rvcnk+XG4pIHtcbiAgY29uc3QgTmV3RmlsdGVyUGFuZWw6IEZpbHRlclBhbmVsQ29tcG9uZW50PEZpbHRlckJhc2U8TGluZUNoYXJ0Pj4gPSBSZWFjdC5tZW1vKFxuICAgICh7aWR4LCBmaWx0ZXIsIGRhdGFzZXRzLCBhbGxBdmFpbGFibGVGaWVsZHMsIHNldEZpbHRlciwgcmVtb3ZlRmlsdGVyfSkgPT4ge1xuICAgICAgY29uc3Qgb25GaWVsZFNlbGVjdG9yID0gdXNlQ2FsbGJhY2soXG4gICAgICAgIGZpZWxkID0+IHNldEZpbHRlcihpZHgsICduYW1lJywgZmllbGQubmFtZSksXG4gICAgICAgIFtpZHgsIHNldEZpbHRlcl1cbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IG9uU291cmNlRGF0YVNlbGVjdG9yID0gdXNlQ2FsbGJhY2soXG4gICAgICAgIHZhbHVlID0+IHNldEZpbHRlcihpZHgsICdkYXRhSWQnLCB2YWx1ZSwgMCksXG4gICAgICAgIFtpZHgsIHNldEZpbHRlcl1cbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IGRhdGFzZXQ6IEtlcGxlclRhYmxlID0gZGF0YXNldHNbZmlsdGVyLmRhdGFJZFswXV07XG4gICAgICBjb25zdCBzdXBwb3J0ZWRGaWVsZHMgPSB1c2VNZW1vKFxuICAgICAgICAoKSA9PiBnZXRTdXBwb3J0ZWRGaWx0ZXJGaWVsZHMoZGF0YXNldC5zdXBwb3J0ZWRGaWx0ZXJUeXBlcywgYWxsQXZhaWxhYmxlRmllbGRzKSxcbiAgICAgICAgW2RhdGFzZXQuc3VwcG9ydGVkRmlsdGVyVHlwZXMsIGFsbEF2YWlsYWJsZUZpZWxkc11cbiAgICAgICk7XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgPEZpbHRlclBhbmVsSGVhZGVyIGRhdGFzZXRzPXtbZGF0YXNldF19IGZpbHRlcj17ZmlsdGVyfSByZW1vdmVGaWx0ZXI9e3JlbW92ZUZpbHRlcn0+XG4gICAgICAgICAgICA8RmllbGRTZWxlY3RvclxuICAgICAgICAgICAgICBpbnB1dFRoZW1lPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgZmllbGRzPXtzdXBwb3J0ZWRGaWVsZHN9XG4gICAgICAgICAgICAgIHZhbHVlPXtBcnJheS5pc0FycmF5KGZpbHRlci5uYW1lKSA/IGZpbHRlci5uYW1lWzBdIDogZmlsdGVyLm5hbWV9XG4gICAgICAgICAgICAgIGVyYXNhYmxlPXtmYWxzZX1cbiAgICAgICAgICAgICAgb25TZWxlY3Q9e29uRmllbGRTZWxlY3Rvcn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9GaWx0ZXJQYW5lbEhlYWRlcj5cbiAgICAgICAgICA8U3R5bGVkRmlsdGVyQ29udGVudCBjbGFzc05hbWU9XCJmaWx0ZXItcGFuZWxfX2NvbnRlbnRcIj5cbiAgICAgICAgICAgIHtPYmplY3Qua2V5cyhkYXRhc2V0cykubGVuZ3RoID4gMSAmJiAoXG4gICAgICAgICAgICAgIDxTb3VyY2VEYXRhU2VsZWN0b3JcbiAgICAgICAgICAgICAgICBpbnB1dFRoZW1lPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICBkYXRhc2V0cz17ZGF0YXNldHN9XG4gICAgICAgICAgICAgICAgZGF0YUlkPXtmaWx0ZXIuZGF0YUlkfVxuICAgICAgICAgICAgICAgIG9uU2VsZWN0PXtvblNvdXJjZURhdGFTZWxlY3Rvcn1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9TdHlsZWRGaWx0ZXJDb250ZW50PlxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgfVxuICApO1xuXG4gIE5ld0ZpbHRlclBhbmVsLmRpc3BsYXlOYW1lID0gJ05ld0ZpbHRlclBhbmVsJztcblxuICByZXR1cm4gTmV3RmlsdGVyUGFuZWw7XG59XG5cbmV4cG9ydCBkZWZhdWx0IE5ld0ZpbHRlclBhbmVsRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTs7QUFFQSxPQUFPQSxLQUFLLElBQUdDLFdBQVcsRUFBRUMsT0FBTyxRQUFPLE9BQU87QUFDakQsU0FBUUMsbUJBQW1CLFFBQU8sZ0NBQWdDO0FBQ2xFLE9BQU9DLHdCQUF3QixNQUFNLG1EQUFtRDtBQUN4RixPQUFPQyx5QkFBeUIsTUFBTSw4Q0FBOEM7QUFDcEYsT0FBT0Msb0JBQW9CLE1BQU0sNkJBQTZCO0FBSzlEQyxxQkFBcUIsQ0FBQ0MsSUFBSSxHQUFHLENBQzNCSix3QkFBd0IsRUFDeEJDLHlCQUF5QixFQUN6QkMsb0JBQW9CLENBQ3JCO0FBRUQsT0FBTyxTQUFTRyx3QkFBd0JBLENBQ3RDQyxvQkFBeUQsRUFDekRDLE1BQWUsRUFDZjtFQUNBLE9BQU9ELG9CQUFvQixHQUN2QkMsTUFBTSxDQUFDQyxNQUFNLENBQUMsVUFBQUMsS0FBSztJQUFBLE9BQUlILG9CQUFvQixDQUFDSSxRQUFRLENBQUNELEtBQUssQ0FBQ0UsSUFBSSxDQUFDO0VBQUEsRUFBQyxHQUNqRUosTUFBTTtBQUNaO0FBRUEsU0FBU0oscUJBQXFCQSxDQUM1QlMsaUJBQThELEVBQzlEQyxrQkFBZ0UsRUFDaEVDLGFBQXNELEVBQ3REO0VBQ0EsSUFBTUMsY0FBMkQsZ0JBQUduQixLQUFLLENBQUNvQixJQUFJLENBQzVFLFVBQUFDLElBQUEsRUFBMEU7SUFBQSxJQUF4RUMsR0FBRyxHQUFBRCxJQUFBLENBQUhDLEdBQUc7TUFBRVYsTUFBTSxHQUFBUyxJQUFBLENBQU5ULE1BQU07TUFBRVcsUUFBUSxHQUFBRixJQUFBLENBQVJFLFFBQVE7TUFBRUMsa0JBQWtCLEdBQUFILElBQUEsQ0FBbEJHLGtCQUFrQjtNQUFFQyxTQUFTLEdBQUFKLElBQUEsQ0FBVEksU0FBUztNQUFFQyxZQUFZLEdBQUFMLElBQUEsQ0FBWkssWUFBWTtJQUNsRSxJQUFNQyxlQUFlLEdBQUcxQixXQUFXLENBQ2pDLFVBQUFZLEtBQUs7TUFBQSxPQUFJWSxTQUFTLENBQUNILEdBQUcsRUFBRSxNQUFNLEVBQUVULEtBQUssQ0FBQ2UsSUFBSSxDQUFDO0lBQUEsR0FDM0MsQ0FBQ04sR0FBRyxFQUFFRyxTQUFTLENBQ2pCLENBQUM7SUFFRCxJQUFNSSxvQkFBb0IsR0FBRzVCLFdBQVcsQ0FDdEMsVUFBQTZCLEtBQUs7TUFBQSxPQUFJTCxTQUFTLENBQUNILEdBQUcsRUFBRSxRQUFRLEVBQUVRLEtBQUssRUFBRSxDQUFDLENBQUM7SUFBQSxHQUMzQyxDQUFDUixHQUFHLEVBQUVHLFNBQVMsQ0FDakIsQ0FBQztJQUVELElBQU1NLE9BQW9CLEdBQUdSLFFBQVEsQ0FBQ1gsTUFBTSxDQUFDb0IsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELElBQU1DLGVBQWUsR0FBRy9CLE9BQU8sQ0FDN0I7TUFBQSxPQUFNTyx3QkFBd0IsQ0FBQ3NCLE9BQU8sQ0FBQ3JCLG9CQUFvQixFQUFFYyxrQkFBa0IsQ0FBQztJQUFBLEdBQ2hGLENBQUNPLE9BQU8sQ0FBQ3JCLG9CQUFvQixFQUFFYyxrQkFBa0IsQ0FDbkQsQ0FBQztJQUVELG9CQUNFeEIsS0FBQSxDQUFBa0MsYUFBQSxDQUFBbEMsS0FBQSxDQUFBbUMsUUFBQSxxQkFDRW5DLEtBQUEsQ0FBQWtDLGFBQUEsQ0FBQ2xCLGlCQUFpQjtNQUFDTyxRQUFRLEVBQUUsQ0FBQ1EsT0FBTyxDQUFFO01BQUNuQixNQUFNLEVBQUVBLE1BQU87TUFBQ2MsWUFBWSxFQUFFQTtJQUFhLGdCQUNqRjFCLEtBQUEsQ0FBQWtDLGFBQUEsQ0FBQ2hCLGFBQWE7TUFDWmtCLFVBQVUsRUFBQyxXQUFXO01BQ3RCekIsTUFBTSxFQUFFc0IsZUFBZ0I7TUFDeEJILEtBQUssRUFBRU8sS0FBSyxDQUFDQyxPQUFPLENBQUMxQixNQUFNLENBQUNnQixJQUFJLENBQUMsR0FBR2hCLE1BQU0sQ0FBQ2dCLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBR2hCLE1BQU0sQ0FBQ2dCLElBQUs7TUFDakVXLFFBQVEsRUFBRSxLQUFNO01BQ2hCQyxRQUFRLEVBQUViO0lBQWdCLENBQzNCLENBQ2dCLENBQUMsZUFDcEIzQixLQUFBLENBQUFrQyxhQUFBLENBQUMvQixtQkFBbUI7TUFBQ3NDLFNBQVMsRUFBQztJQUF1QixHQUNuREMsTUFBTSxDQUFDQyxJQUFJLENBQUNwQixRQUFRLENBQUMsQ0FBQ3FCLE1BQU0sR0FBRyxDQUFDLGlCQUMvQjVDLEtBQUEsQ0FBQWtDLGFBQUEsQ0FBQ2pCLGtCQUFrQjtNQUNqQm1CLFVBQVUsRUFBQyxXQUFXO01BQ3RCYixRQUFRLEVBQUVBLFFBQVM7TUFDbkJTLE1BQU0sRUFBRXBCLE1BQU0sQ0FBQ29CLE1BQU87TUFDdEJRLFFBQVEsRUFBRVg7SUFBcUIsQ0FDaEMsQ0FFZ0IsQ0FDckIsQ0FBQztFQUVQLENBQ0YsQ0FBQztFQUVEVixjQUFjLENBQUMwQixXQUFXLEdBQUcsZ0JBQWdCO0VBRTdDLE9BQU8xQixjQUFjO0FBQ3ZCO0FBRUEsZUFBZVoscUJBQXFCIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
// Copyright contributors to the kepler.gl project
|
|
3
|
+
|
|
4
|
+
import React, { useMemo, useCallback } from 'react';
|
|
5
|
+
import { StyledFilterContent } from '../../common/styled-components';
|
|
6
|
+
import PolygonFilterFactory from '../polygon-filter';
|
|
7
|
+
import PanelHeaderActionFactory from '../../side-panel/panel-header-action';
|
|
8
|
+
import { EyeSeen, EyeUnseen } from '../../common/icons';
|
|
9
|
+
import FilterPanelHeaderFactory from '../../side-panel/filter-panel/filter-panel-header';
|
|
10
|
+
import { StyledFilterPanel } from '../components';
|
|
11
|
+
import get from 'lodash/get';
|
|
12
|
+
PolygonFilterPanelFactory.deps = [FilterPanelHeaderFactory, PolygonFilterFactory, PanelHeaderActionFactory];
|
|
13
|
+
function PolygonFilterPanelFactory(FilterPanelHeader, PolygonFilter, PanelHeaderAction) {
|
|
14
|
+
var PolygonFilterPanel = /*#__PURE__*/React.memo(function (_ref) {
|
|
15
|
+
var idx = _ref.idx,
|
|
16
|
+
datasets = _ref.datasets,
|
|
17
|
+
layers = _ref.layers,
|
|
18
|
+
filter = _ref.filter,
|
|
19
|
+
removeFilter = _ref.removeFilter,
|
|
20
|
+
setFilter = _ref.setFilter,
|
|
21
|
+
toggleFilterFeature = _ref.toggleFilterFeature;
|
|
22
|
+
var filterDatasets = useMemo(function () {
|
|
23
|
+
return filter.dataId.map(function (d) {
|
|
24
|
+
return datasets[d];
|
|
25
|
+
});
|
|
26
|
+
}, [filter, datasets]);
|
|
27
|
+
var onSetLayers = useCallback(function (value) {
|
|
28
|
+
return setFilter(idx, 'layerId', value);
|
|
29
|
+
}, [setFilter, idx]);
|
|
30
|
+
var isVisible = get(filter, ['value', 'properties', 'isVisible'], true);
|
|
31
|
+
var featureType = get(filter, ['value', 'geometry', 'type'], 'Polygon');
|
|
32
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
33
|
+
className: "polygon-filter-panel"
|
|
34
|
+
}, /*#__PURE__*/React.createElement(FilterPanelHeader, {
|
|
35
|
+
datasets: filterDatasets,
|
|
36
|
+
filter: filter,
|
|
37
|
+
removeFilter: removeFilter
|
|
38
|
+
}, /*#__PURE__*/React.createElement(StyledFilterPanel, null, "Geo - ", featureType), /*#__PURE__*/React.createElement(PanelHeaderAction, {
|
|
39
|
+
id: filter.id,
|
|
40
|
+
onClick: toggleFilterFeature,
|
|
41
|
+
tooltip: isVisible ? 'tooltip.hideFeature' : 'tooltip.showFeature',
|
|
42
|
+
IconComponent: isVisible ? EyeSeen : EyeUnseen,
|
|
43
|
+
active: isVisible
|
|
44
|
+
})), /*#__PURE__*/React.createElement(StyledFilterContent, {
|
|
45
|
+
className: "filter-panel__content"
|
|
46
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
47
|
+
className: "filter-panel__filter"
|
|
48
|
+
}, /*#__PURE__*/React.createElement(PolygonFilter, {
|
|
49
|
+
filter: filter,
|
|
50
|
+
layers: layers,
|
|
51
|
+
setLayers: onSetLayers
|
|
52
|
+
}))));
|
|
53
|
+
});
|
|
54
|
+
PolygonFilterPanel.displayName = 'PolygonFilterPanel';
|
|
55
|
+
return PolygonFilterPanel;
|
|
56
|
+
}
|
|
57
|
+
export default PolygonFilterPanelFactory;
|
|
58
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZU1lbW8iLCJ1c2VDYWxsYmFjayIsIlN0eWxlZEZpbHRlckNvbnRlbnQiLCJQb2x5Z29uRmlsdGVyRmFjdG9yeSIsIlBhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeSIsIkV5ZVNlZW4iLCJFeWVVbnNlZW4iLCJGaWx0ZXJQYW5lbEhlYWRlckZhY3RvcnkiLCJTdHlsZWRGaWx0ZXJQYW5lbCIsImdldCIsIlBvbHlnb25GaWx0ZXJQYW5lbEZhY3RvcnkiLCJkZXBzIiwiRmlsdGVyUGFuZWxIZWFkZXIiLCJQb2x5Z29uRmlsdGVyIiwiUGFuZWxIZWFkZXJBY3Rpb24iLCJQb2x5Z29uRmlsdGVyUGFuZWwiLCJtZW1vIiwiX3JlZiIsImlkeCIsImRhdGFzZXRzIiwibGF5ZXJzIiwiZmlsdGVyIiwicmVtb3ZlRmlsdGVyIiwic2V0RmlsdGVyIiwidG9nZ2xlRmlsdGVyRmVhdHVyZSIsImZpbHRlckRhdGFzZXRzIiwiZGF0YUlkIiwibWFwIiwiZCIsIm9uU2V0TGF5ZXJzIiwidmFsdWUiLCJpc1Zpc2libGUiLCJmZWF0dXJlVHlwZSIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJpZCIsIm9uQ2xpY2siLCJ0b29sdGlwIiwiSWNvbkNvbXBvbmVudCIsImFjdGl2ZSIsInNldExheWVycyIsImRpc3BsYXlOYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ZpbHRlcnMvZmlsdGVyLXBhbmVscy9wb2x5Z29uLWZpbHRlci1wYW5lbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlTWVtbywgdXNlQ2FsbGJhY2t9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7U3R5bGVkRmlsdGVyQ29udGVudH0gZnJvbSAnLi4vLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBQb2x5Z29uRmlsdGVyRmFjdG9yeSBmcm9tICcuLi9wb2x5Z29uLWZpbHRlcic7XG5pbXBvcnQgUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5IGZyb20gJy4uLy4uL3NpZGUtcGFuZWwvcGFuZWwtaGVhZGVyLWFjdGlvbic7XG5pbXBvcnQge0V5ZVNlZW4sIEV5ZVVuc2Vlbn0gZnJvbSAnLi4vLi4vY29tbW9uL2ljb25zJztcblxuaW1wb3J0IEZpbHRlclBhbmVsSGVhZGVyRmFjdG9yeSBmcm9tICcuLi8uLi9zaWRlLXBhbmVsL2ZpbHRlci1wYW5lbC9maWx0ZXItcGFuZWwtaGVhZGVyJztcbmltcG9ydCB7U3R5bGVkRmlsdGVyUGFuZWx9IGZyb20gJy4uL2NvbXBvbmVudHMnO1xuXG5pbXBvcnQgZ2V0IGZyb20gJ2xvZGFzaC9nZXQnO1xuaW1wb3J0IHtQb2x5Z29uRmlsdGVyUGFuZWxDb21wb25lbnR9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHtLZXBsZXJUYWJsZX0gZnJvbSAnQGtlcGxlci5nbC90YWJsZSc7XG5cblBvbHlnb25GaWx0ZXJQYW5lbEZhY3RvcnkuZGVwcyA9IFtcbiAgRmlsdGVyUGFuZWxIZWFkZXJGYWN0b3J5LFxuICBQb2x5Z29uRmlsdGVyRmFjdG9yeSxcbiAgUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5XG5dO1xuXG5mdW5jdGlvbiBQb2x5Z29uRmlsdGVyUGFuZWxGYWN0b3J5KFxuICBGaWx0ZXJQYW5lbEhlYWRlcjogUmV0dXJuVHlwZTx0eXBlb2YgRmlsdGVyUGFuZWxIZWFkZXJGYWN0b3J5PixcbiAgUG9seWdvbkZpbHRlcjogUmV0dXJuVHlwZTx0eXBlb2YgUG9seWdvbkZpbHRlckZhY3Rvcnk+LFxuICBQYW5lbEhlYWRlckFjdGlvbjogUmV0dXJuVHlwZTx0eXBlb2YgUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5PlxuKSB7XG4gIGNvbnN0IFBvbHlnb25GaWx0ZXJQYW5lbDogUG9seWdvbkZpbHRlclBhbmVsQ29tcG9uZW50ID0gUmVhY3QubWVtbyhcbiAgICAoe2lkeCwgZGF0YXNldHMsIGxheWVycywgZmlsdGVyLCByZW1vdmVGaWx0ZXIsIHNldEZpbHRlciwgdG9nZ2xlRmlsdGVyRmVhdHVyZX0pID0+IHtcbiAgICAgIGNvbnN0IGZpbHRlckRhdGFzZXRzOiBLZXBsZXJUYWJsZVtdID0gdXNlTWVtbyhcbiAgICAgICAgKCkgPT4gZmlsdGVyLmRhdGFJZC5tYXAoZCA9PiBkYXRhc2V0c1tkXSksXG4gICAgICAgIFtmaWx0ZXIsIGRhdGFzZXRzXVxuICAgICAgKTtcblxuICAgICAgY29uc3Qgb25TZXRMYXllcnMgPSB1c2VDYWxsYmFjayh2YWx1ZSA9PiBzZXRGaWx0ZXIoaWR4LCAnbGF5ZXJJZCcsIHZhbHVlKSwgW3NldEZpbHRlciwgaWR4XSk7XG5cbiAgICAgIGNvbnN0IGlzVmlzaWJsZSA9IGdldChmaWx0ZXIsIFsndmFsdWUnLCAncHJvcGVydGllcycsICdpc1Zpc2libGUnXSwgdHJ1ZSk7XG4gICAgICBjb25zdCBmZWF0dXJlVHlwZSA9IGdldChmaWx0ZXIsIFsndmFsdWUnLCAnZ2VvbWV0cnknLCAndHlwZSddLCAnUG9seWdvbicpO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInBvbHlnb24tZmlsdGVyLXBhbmVsXCI+XG4gICAgICAgICAgPEZpbHRlclBhbmVsSGVhZGVyIGRhdGFzZXRzPXtmaWx0ZXJEYXRhc2V0c30gZmlsdGVyPXtmaWx0ZXJ9IHJlbW92ZUZpbHRlcj17cmVtb3ZlRmlsdGVyfT5cbiAgICAgICAgICAgIDxTdHlsZWRGaWx0ZXJQYW5lbD5HZW8gLSB7ZmVhdHVyZVR5cGV9PC9TdHlsZWRGaWx0ZXJQYW5lbD5cbiAgICAgICAgICAgIDxQYW5lbEhlYWRlckFjdGlvblxuICAgICAgICAgICAgICBpZD17ZmlsdGVyLmlkfVxuICAgICAgICAgICAgICBvbkNsaWNrPXt0b2dnbGVGaWx0ZXJGZWF0dXJlfVxuICAgICAgICAgICAgICB0b29sdGlwPXtpc1Zpc2libGUgPyAndG9vbHRpcC5oaWRlRmVhdHVyZScgOiAndG9vbHRpcC5zaG93RmVhdHVyZSd9XG4gICAgICAgICAgICAgIEljb25Db21wb25lbnQ9e2lzVmlzaWJsZSA/IEV5ZVNlZW4gOiBFeWVVbnNlZW59XG4gICAgICAgICAgICAgIGFjdGl2ZT17aXNWaXNpYmxlfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0ZpbHRlclBhbmVsSGVhZGVyPlxuICAgICAgICAgIDxTdHlsZWRGaWx0ZXJDb250ZW50IGNsYXNzTmFtZT1cImZpbHRlci1wYW5lbF9fY29udGVudFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWx0ZXItcGFuZWxfX2ZpbHRlclwiPlxuICAgICAgICAgICAgICA8UG9seWdvbkZpbHRlciBmaWx0ZXI9e2ZpbHRlcn0gbGF5ZXJzPXtsYXllcnN9IHNldExheWVycz17b25TZXRMYXllcnN9IC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L1N0eWxlZEZpbHRlckNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG4gICk7XG5cbiAgUG9seWdvbkZpbHRlclBhbmVsLmRpc3BsYXlOYW1lID0gJ1BvbHlnb25GaWx0ZXJQYW5lbCc7XG5cbiAgcmV0dXJuIFBvbHlnb25GaWx0ZXJQYW5lbDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgUG9seWdvbkZpbHRlclBhbmVsRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTs7QUFFQSxPQUFPQSxLQUFLLElBQUdDLE9BQU8sRUFBRUMsV0FBVyxRQUFPLE9BQU87QUFDakQsU0FBUUMsbUJBQW1CLFFBQU8sZ0NBQWdDO0FBQ2xFLE9BQU9DLG9CQUFvQixNQUFNLG1CQUFtQjtBQUNwRCxPQUFPQyx3QkFBd0IsTUFBTSxzQ0FBc0M7QUFDM0UsU0FBUUMsT0FBTyxFQUFFQyxTQUFTLFFBQU8sb0JBQW9CO0FBRXJELE9BQU9DLHdCQUF3QixNQUFNLG1EQUFtRDtBQUN4RixTQUFRQyxpQkFBaUIsUUFBTyxlQUFlO0FBRS9DLE9B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
|