@kepler.gl/components 3.3.0-alpha.0 → 3.3.0-alpha.10
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/annotations/annotation-node.d.ts +11 -0
- package/dist/annotations/annotation-overlay.d.ts +17 -0
- package/dist/annotations/annotation-panel.d.ts +24 -0
- package/dist/annotations/annotation-text.d.ts +16 -0
- package/dist/annotations/annotation-utils.d.ts +53 -0
- package/dist/annotations/index.d.ts +7 -0
- package/dist/annotations/lexical-editor/clickable-link-plugin.d.ts +3 -0
- package/dist/annotations/lexical-editor/floating-link-editor.d.ts +1 -0
- package/dist/annotations/lexical-editor/index.d.ts +7 -0
- package/dist/annotations/lexical-editor/lexical-constants.d.ts +12 -0
- package/dist/annotations/lexical-editor/lexical-nodes.d.ts +3 -0
- package/dist/annotations/lexical-editor/lexical-rich-text-editor.d.ts +15 -0
- package/dist/annotations/lexical-editor/lexical-theme.d.ts +15 -0
- package/dist/annotations/lexical-editor/lexical-toolbar.d.ts +7 -0
- package/dist/annotations/lexical-editor/lexical-utils.d.ts +4 -0
- package/dist/annotations/lexical-editor/use-lexical-toolbar.d.ts +36 -0
- package/dist/bottom-widget.d.ts +1 -1
- 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 +200 -0
- package/dist/cjs/common/data-table/column-statistics-categoric.js +40 -0
- package/dist/cjs/common/data-table/column-statistics-components.js +65 -0
- package/dist/cjs/common/data-table/column-statistics-numeric.js +87 -0
- package/dist/cjs/common/data-table/column-statistics-time.js +69 -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 +227 -0
- package/dist/cjs/common/data-table/index.js +543 -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 +452 -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.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/circle.js +54 -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-point.js +50 -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 +845 -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/line-string.js +60 -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 +81 -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 +218 -0
- package/dist/cjs/editor/feature-action-panel.js +169 -0
- package/dist/cjs/editor/feature-properties-editor.js +215 -0
- package/dist/cjs/editor/filter-feature-badges.js +92 -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 +141 -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 +381 -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 +2929 -0
- package/dist/cjs/injector.js +151 -0
- package/dist/cjs/kepler-gl.js +685 -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 +87 -0
- package/dist/cjs/map/map-draw-panel.js +159 -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/theme-toggle-button.js +64 -0
- package/dist/cjs/map/toggle-3d-button.js +122 -0
- package/dist/cjs/map-container.js +1333 -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 +457 -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 +107 -0
- package/dist/cjs/modals/cloud-components/cloud-item.spec.js +164 -0
- package/dist/cjs/modals/cloud-components/cloud-maps.js +48 -0
- package/dist/cjs/modals/cloud-components/cloud-maps.spec.js +98 -0
- package/dist/cjs/modals/cloud-components/cloud-storage-disclaimer.js +24 -0
- package/dist/cjs/modals/cloud-components/provider-select.js +30 -0
- package/dist/cjs/modals/cloud-tile.js +245 -0
- package/dist/cjs/modals/data-table-modal.js +227 -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 +43 -0
- package/dist/cjs/modals/export-map-modal/export-html-map.js +124 -0
- package/dist/cjs/modals/export-map-modal/export-json-map.js +77 -0
- package/dist/cjs/modals/export-map-modal/export-map-modal.js +89 -0
- package/dist/cjs/modals/export-video-modal.js +440 -0
- package/dist/cjs/modals/export-video-modal.spec.js +732 -0
- package/dist/cjs/modals/fog-height-animation.js +97 -0
- package/dist/cjs/modals/globe-export-video-container.js +642 -0
- package/dist/cjs/modals/globe-export-video-preview.js +166 -0
- package/dist/cjs/modals/hubble-utils.js +452 -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 +82 -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 +180 -0
- package/dist/cjs/modals/save-map-modal.spec.js +195 -0
- package/dist/cjs/modals/share-map-modal.js +169 -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/swipe-composite-utils.js +126 -0
- package/dist/cjs/modals/swipe-composite-utils.spec.js +69 -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 +395 -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 +165 -0
- package/dist/cjs/notification-panel.js +39 -0
- package/dist/cjs/plot-container.js +318 -0
- package/dist/cjs/remote-dataset-refresh-controller.js +50 -0
- package/dist/cjs/side-panel/add-by-dataset-button.js +128 -0
- package/dist/cjs/side-panel/common/dataset-info.js +213 -0
- package/dist/cjs/side-panel/common/dataset-refresh-progress.js +63 -0
- package/dist/cjs/side-panel/common/dataset-tag.js +62 -0
- package/dist/cjs/side-panel/common/dataset-title.js +206 -0
- package/dist/cjs/side-panel/common/source-data-catalog.js +74 -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 +206 -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 +242 -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 +119 -0
- package/dist/cjs/side-panel/layer-panel/dataset-section.js +78 -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 +1130 -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 +94 -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 +334 -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/common/animation-control/animation-control.d.ts +1 -0
- package/dist/common/animation-control/export-video-control.d.ts +9 -0
- package/dist/common/animation-control/playback-controls.d.ts +4 -2
- package/dist/common/checkbox.d.ts +5 -21
- package/dist/common/color-legend.d.ts +1 -1
- package/dist/common/data-table/canvas.d.ts +1 -1
- package/dist/common/data-table/column-statistics-categoric.d.ts +9 -0
- package/dist/common/data-table/column-statistics-components.d.ts +31 -0
- package/dist/common/data-table/column-statistics-numeric.d.ts +18 -0
- package/dist/common/data-table/column-statistics-time.d.ts +19 -0
- package/dist/common/data-table/header-cell.d.ts +7 -5
- package/dist/common/data-table/index.d.ts +8 -25
- package/dist/common/dnd-layer-items.d.ts +4 -0
- package/dist/common/error-boundary.d.ts +1 -1
- package/dist/common/file-uploader/file-upload.d.ts +1 -1
- package/dist/common/flex-container.d.ts +15 -7
- package/dist/common/histogram-plot.d.ts +24 -1
- package/dist/common/icon-button.d.ts +53 -6
- package/dist/common/icons/3d-models/airplane.d.ts +14 -0
- package/dist/common/icons/3d-models/bicycle.d.ts +14 -0
- package/dist/common/icons/3d-models/boeing.d.ts +14 -0
- package/dist/common/icons/3d-models/car.d.ts +14 -0
- package/dist/common/icons/3d-models/cargoship.d.ts +14 -0
- package/dist/common/icons/3d-models/evtol.d.ts +14 -0
- package/dist/common/icons/3d-models/glider.d.ts +14 -0
- package/dist/common/icons/3d-models/helicopter.d.ts +14 -0
- package/dist/common/icons/3d-models/scooter.d.ts +14 -0
- package/dist/common/icons/3d-models/semitruck.d.ts +14 -0
- package/dist/common/icons/3d-models/truck.d.ts +14 -0
- package/dist/common/icons/anchor_window.d.ts +1 -8
- package/dist/common/icons/annotation-text.d.ts +9 -0
- package/dist/common/icons/arrow-down-full.d.ts +2 -1
- package/dist/common/icons/circle.d.ts +10 -0
- package/dist/common/icons/draw-point.d.ts +10 -0
- package/dist/common/icons/folder.d.ts +10 -0
- package/dist/common/icons/index.d.ts +5 -0
- package/dist/common/icons/line-string.d.ts +10 -0
- package/dist/common/icons/timeline-marker.d.ts +2 -1
- package/dist/common/item-selector/chickleted-input.d.ts +1 -1
- package/dist/common/item-selector/dropdown-list.d.ts +1 -1
- package/dist/common/item-selector/dropdown-select.d.ts +13 -7
- package/dist/common/item-selector/item-selector.d.ts +1 -1
- package/dist/common/item-selector/typeahead.d.ts +4 -4
- package/dist/common/layout-splitter.d.ts +45 -0
- package/dist/common/line-chart.d.ts +10 -3
- package/dist/common/modal.d.ts +11 -5
- package/dist/common/portaled.d.ts +17 -17
- package/dist/common/range-slider.d.ts +2 -0
- package/dist/common/slider/mouse-event.d.ts +1 -1
- package/dist/common/slider/slider-bar-handle.d.ts +1 -1
- package/dist/common/slider/slider-handle.d.ts +3 -3
- package/dist/common/slider/slider.d.ts +8 -4
- package/dist/common/styled-components.d.ts +643 -190
- package/dist/common/time-range-slider-time-title.d.ts +1 -1
- package/dist/common/time-range-slider.d.ts +2 -1
- package/dist/common/timeline-helpers.d.ts +3 -0
- package/dist/common/toolbar-item.d.ts +2 -0
- package/dist/common/toolbar.d.ts +1 -1
- package/dist/common/vertical-toolbar.d.ts +13 -3
- package/dist/container.d.ts +3 -2
- package/dist/context.d.ts +1 -1
- package/dist/dnd-context.d.ts +4 -3
- package/dist/editor/editor.d.ts +1 -0
- package/dist/editor/feature-action-panel.d.ts +1 -0
- package/dist/editor/feature-properties-editor.d.ts +8 -0
- package/dist/editor/filter-feature-badges.d.ts +12 -0
- package/dist/effects/compact-color-picker.d.ts +1 -1
- package/dist/effects/effect-configurator.d.ts +5 -6
- package/dist/effects/effect-manager.d.ts +1 -1
- package/dist/effects/effect-panel.d.ts +4 -4
- package/dist/effects/effect-type-dropdown-list.d.ts +1 -0
- package/dist/effects/effect-type-list-item.d.ts +2 -1
- package/dist/effects/effect-type-selector.d.ts +1 -0
- package/dist/effects/surface-fog-section.d.ts +14 -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 +194 -0
- package/dist/esm/common/data-table/column-statistics-categoric.js +33 -0
- package/dist/esm/common/data-table/column-statistics-components.js +59 -0
- package/dist/esm/common/data-table/column-statistics-numeric.js +78 -0
- package/dist/esm/common/data-table/column-statistics-time.js +60 -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 +220 -0
- package/dist/esm/common/data-table/index.js +536 -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 +445 -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.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/circle.js +48 -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-point.js +44 -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 +127 -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/line-string.js +54 -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 +76 -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 +211 -0
- package/dist/esm/editor/feature-action-panel.js +161 -0
- package/dist/esm/editor/feature-properties-editor.js +208 -0
- package/dist/esm/editor/filter-feature-badges.js +85 -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 +134 -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 +374 -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 +282 -0
- package/dist/esm/injector.js +141 -0
- package/dist/esm/kepler-gl.js +672 -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 +83 -0
- package/dist/esm/map/map-draw-panel.js +152 -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/theme-toggle-button.js +55 -0
- package/dist/esm/map/toggle-3d-button.js +113 -0
- package/dist/esm/map-container.js +1303 -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 +454 -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 +100 -0
- package/dist/esm/modals/cloud-components/cloud-item.spec.js +163 -0
- package/dist/esm/modals/cloud-components/cloud-maps.js +43 -0
- package/dist/esm/modals/cloud-components/cloud-maps.spec.js +94 -0
- package/dist/esm/modals/cloud-components/cloud-storage-disclaimer.js +19 -0
- package/dist/esm/modals/cloud-components/provider-select.js +25 -0
- package/dist/esm/modals/cloud-tile.js +238 -0
- package/dist/esm/modals/data-table-modal.js +220 -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 +38 -0
- package/dist/esm/modals/export-map-modal/export-html-map.js +119 -0
- package/dist/esm/modals/export-map-modal/export-json-map.js +70 -0
- package/dist/esm/modals/export-map-modal/export-map-modal.js +84 -0
- package/dist/esm/modals/export-video-modal.js +427 -0
- package/dist/esm/modals/export-video-modal.spec.js +731 -0
- package/dist/esm/modals/fog-height-animation.js +90 -0
- package/dist/esm/modals/globe-export-video-container.js +636 -0
- package/dist/esm/modals/globe-export-video-preview.js +159 -0
- package/dist/esm/modals/hubble-utils.js +434 -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 +75 -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 +173 -0
- package/dist/esm/modals/save-map-modal.spec.js +196 -0
- package/dist/esm/modals/share-map-modal.js +161 -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/swipe-composite-utils.js +119 -0
- package/dist/esm/modals/swipe-composite-utils.spec.js +67 -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 +388 -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 +158 -0
- package/dist/esm/notification-panel.js +34 -0
- package/dist/esm/plot-container.js +311 -0
- package/dist/esm/remote-dataset-refresh-controller.js +44 -0
- package/dist/esm/side-panel/add-by-dataset-button.js +121 -0
- package/dist/esm/side-panel/common/dataset-info.js +206 -0
- package/dist/esm/side-panel/common/dataset-refresh-progress.js +56 -0
- package/dist/esm/side-panel/common/dataset-tag.js +57 -0
- package/dist/esm/side-panel/common/dataset-title.js +199 -0
- package/dist/esm/side-panel/common/source-data-catalog.js +67 -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 +199 -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 +235 -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 +112 -0
- package/dist/esm/side-panel/layer-panel/dataset-section.js +72 -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 +1121 -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 +87 -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 +327 -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/filters/components.d.ts +7 -5
- package/dist/filters/filter-panels/filter-synced-dataset-panel.d.ts +6 -2
- package/dist/filters/index.d.ts +1 -0
- package/dist/filters/time-widget-settings.d.ts +14 -0
- package/dist/filters/time-widget-top.d.ts +2 -3
- package/dist/filters/time-widget.d.ts +3 -2
- package/dist/filters/types.d.ts +3 -3
- package/dist/geocoder/geocoder.d.ts +4 -1
- package/dist/geocoder-panel.d.ts +3 -2
- package/dist/hooks/use-dnd-layers.d.ts +4 -3
- package/dist/index.d.ts +27 -3
- package/dist/injector.d.ts +1 -1
- package/dist/kepler-gl.d.ts +184 -27
- package/dist/loading-indicator.d.ts +4 -1
- package/dist/map/annotations/annotation-control.d.ts +16 -0
- package/dist/map/attribution.d.ts +52 -0
- package/dist/map/layer-hover-info.d.ts +7 -3
- package/dist/map/map-control-toolbar.d.ts +33 -8
- package/dist/map/map-control.d.ts +21 -4
- package/dist/map/map-draw-panel.d.ts +1 -0
- package/dist/map/map-legend-panel.d.ts +11 -2
- package/dist/map/map-legend.d.ts +20 -3
- package/dist/map/map-navigation-control.d.ts +13 -0
- package/dist/map/map-scale.d.ts +11 -0
- package/dist/map/split-map-button.d.ts +10 -3
- package/dist/map/theme-toggle-button.d.ts +18 -0
- package/dist/map/toggle-3d-button.d.ts +8 -2
- package/dist/map-container.d.ts +14 -13
- package/dist/map-view-state-context.d.ts +3 -0
- package/dist/maps-layout.d.ts +3 -0
- package/dist/modal-container.d.ts +3 -2
- package/dist/modals/cloud-components/cloud-item.d.ts +2 -1
- package/dist/modals/cloud-components/cloud-storage-disclaimer.d.ts +2 -0
- package/dist/modals/cloud-tile.d.ts +1 -2
- package/dist/modals/data-table-modal.d.ts +2 -1
- package/dist/modals/export-map-modal/components.d.ts +23 -5
- package/dist/modals/export-video-modal.d.ts +28 -0
- package/dist/modals/export-video-modal.spec.d.ts +1 -0
- package/dist/modals/fog-height-animation.d.ts +8 -0
- package/dist/modals/globe-export-video-container.d.ts +119 -0
- package/dist/modals/globe-export-video-preview.d.ts +44 -0
- package/dist/modals/hubble-utils.d.ts +70 -0
- package/dist/modals/hubble-utils.spec.d.ts +1 -0
- package/dist/modals/modal-dialog.d.ts +1 -1
- package/dist/modals/share-map-modal.d.ts +2 -4
- package/dist/modals/swipe-composite-utils.d.ts +10 -0
- package/dist/modals/swipe-composite-utils.spec.d.ts +1 -0
- package/dist/modals/swipe-export-settings.d.ts +25 -0
- package/dist/modals/swipe-export-video-container.d.ts +128 -0
- package/dist/modals/swipe-export-video-preview.d.ts +70 -0
- package/dist/modals/tilesets-modals/tileset-bitmap-form.d.ts +14 -0
- package/dist/notification-panel/notification-item.d.ts +1 -53
- package/dist/notification-panel.d.ts +1 -1
- package/dist/remote-dataset-refresh-controller.d.ts +11 -0
- package/dist/side-panel/common/dataset-info.d.ts +10 -0
- package/dist/side-panel/common/dataset-refresh-progress.d.ts +11 -0
- package/dist/side-panel/common/dataset-title.d.ts +5 -0
- package/dist/side-panel/common/source-data-catalog.d.ts +3 -0
- package/dist/side-panel/filter-panel/filter-panel-header.d.ts +7 -3
- package/dist/side-panel/interaction-panel/geocoder-config.d.ts +11 -0
- package/dist/side-panel/interaction-panel/interaction-panel.d.ts +3 -2
- package/dist/side-panel/layer-manager.d.ts +6 -4
- package/dist/side-panel/layer-panel/color-scale-selector.d.ts +1 -1
- package/dist/side-panel/layer-panel/color-selector.d.ts +6 -4
- package/dist/side-panel/layer-panel/custom-palette.d.ts +3 -5
- package/dist/side-panel/layer-panel/dataset-layer-group.d.ts +3 -1
- package/dist/side-panel/layer-panel/dataset-layer-section.d.ts +3 -1
- package/dist/side-panel/layer-panel/dataset-section.d.ts +2 -0
- package/dist/side-panel/layer-panel/layer-config-group.d.ts +5 -11
- package/dist/side-panel/layer-panel/layer-configurator.d.ts +4 -2
- package/dist/side-panel/layer-panel/layer-group-header.d.ts +15 -0
- package/dist/side-panel/layer-panel/layer-list.d.ts +10 -4
- package/dist/side-panel/layer-panel/layer-panel-header.d.ts +1 -1
- package/dist/side-panel/layer-panel/layer-panel.d.ts +2 -1
- package/dist/side-panel/layer-panel/raster-tile-layer-configurator.d.ts +1 -1
- package/dist/side-panel/layer-panel/scenegraph-model-selector.d.ts +24 -0
- package/dist/side-panel/layer-panel/text-label-panel.d.ts +1 -1
- package/dist/side-panel/layer-panel/vector-tile-layer-configurator.d.ts +1 -1
- package/dist/side-panel/layer-panel/vis-config-slider.d.ts +2 -0
- package/dist/side-panel/map-manager.d.ts +9 -3
- package/dist/side-panel/map-style-panel/globe-config-panel.d.ts +15 -0
- package/dist/side-panel/panel-header.d.ts +1 -0
- package/dist/side-panel/panel-tab.d.ts +2 -4
- package/dist/side-panel/panel-view-list-toggle.d.ts +4 -4
- package/dist/side-panel/side-bar.d.ts +1 -6
- package/dist/side-panel.d.ts +1 -1
- package/dist/types.d.ts +3 -2
- package/package.json +82 -61
- package/dist/bottom-widget.js +0 -178
- package/dist/common/action-panel.js +0 -134
- package/dist/common/animation-control/animation-control.js +0 -98
- package/dist/common/animation-control/animation-controller.js +0 -269
- package/dist/common/animation-control/animation-speed-slider.js +0 -64
- package/dist/common/animation-control/animation-window-control.js +0 -60
- package/dist/common/animation-control/floating-time-display.js +0 -132
- package/dist/common/animation-control/play-control.js +0 -50
- package/dist/common/animation-control/playback-controls.js +0 -162
- 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 -58
- package/dist/common/checkbox.js +0 -114
- package/dist/common/color-legend.js +0 -273
- package/dist/common/column-stats-chart.js +0 -313
- 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 -126
- package/dist/common/data-table/grid.js +0 -107
- package/dist/common/data-table/header-cell.js +0 -149
- package/dist/common/data-table/index.js +0 -471
- package/dist/common/data-table/option-dropdown.js +0 -160
- package/dist/common/dataset-label.js +0 -27
- package/dist/common/dnd-layer-items.js +0 -18
- package/dist/common/error-boundary.js +0 -59
- package/dist/common/field-selector.js +0 -173
- package/dist/common/field-token.js +0 -43
- package/dist/common/file-uploader/file-drop.js +0 -181
- package/dist/common/file-uploader/file-upload-progress.js +0 -85
- package/dist/common/file-uploader/file-upload.js +0 -242
- package/dist/common/file-uploader/upload-button.js +0 -59
- package/dist/common/flex-container.js +0 -15
- package/dist/common/histogram-plot.js +0 -234
- package/dist/common/icon-button.js +0 -25
- package/dist/common/icons/add.js +0 -41
- package/dist/common/icons/anchor_window.js +0 -34
- package/dist/common/icons/arrow-down-alt.js +0 -41
- package/dist/common/icons/arrow-down-full.js +0 -50
- package/dist/common/icons/arrow-down-small.js +0 -54
- package/dist/common/icons/arrow-down-solid.d.ts +0 -9
- package/dist/common/icons/arrow-down-solid.js +0 -41
- package/dist/common/icons/arrow-down.js +0 -51
- package/dist/common/icons/arrow-left.js +0 -44
- package/dist/common/icons/arrow-right.js +0 -41
- package/dist/common/icons/arrow-up-alt.js +0 -42
- package/dist/common/icons/arrow-up-solid.js +0 -41
- package/dist/common/icons/arrow-up.js +0 -41
- package/dist/common/icons/base-map.js +0 -57
- package/dist/common/icons/base.js +0 -79
- package/dist/common/icons/bug.js +0 -71
- package/dist/common/icons/calendar.js +0 -49
- package/dist/common/icons/cancel.js +0 -41
- package/dist/common/icons/checkmark.js +0 -47
- package/dist/common/icons/clipboard.js +0 -42
- package/dist/common/icons/clock.js +0 -43
- package/dist/common/icons/close.js +0 -47
- package/dist/common/icons/cloud.js +0 -51
- package/dist/common/icons/code-alt.js +0 -44
- package/dist/common/icons/copy.js +0 -52
- package/dist/common/icons/crosshairs.js +0 -44
- package/dist/common/icons/cube-3d.js +0 -55
- package/dist/common/icons/cursor-click.js +0 -45
- package/dist/common/icons/cursor-point.js +0 -51
- package/dist/common/icons/data-table.js +0 -77
- package/dist/common/icons/db.js +0 -59
- package/dist/common/icons/delete.js +0 -53
- package/dist/common/icons/docs.js +0 -57
- package/dist/common/icons/docs2.js +0 -51
- package/dist/common/icons/drag-n-drop.js +0 -43
- package/dist/common/icons/draggable-dots.js +0 -85
- package/dist/common/icons/draw-polygon.js +0 -61
- package/dist/common/icons/edit.js +0 -49
- package/dist/common/icons/effects/brightness-contrast.js +0 -70
- package/dist/common/icons/effects/color-halftone.js +0 -109
- package/dist/common/icons/effects/distance-fog.js +0 -79
- package/dist/common/icons/effects/dot-screen.js +0 -104
- package/dist/common/icons/effects/edge-work.js +0 -63
- package/dist/common/icons/effects/hexagonal-pixelate.js +0 -130
- package/dist/common/icons/effects/hue-saturation.js +0 -61
- package/dist/common/icons/effects/ink.js +0 -60
- package/dist/common/icons/effects/light-and-shadow.js +0 -49
- package/dist/common/icons/effects/magic-wand.js +0 -61
- package/dist/common/icons/effects/magnify.js +0 -68
- package/dist/common/icons/effects/noise.js +0 -114
- package/dist/common/icons/effects/sepia.js +0 -61
- package/dist/common/icons/effects/surface-fog.js +0 -86
- package/dist/common/icons/effects/tilt-shift.js +0 -70
- package/dist/common/icons/effects/triangle-blur.js +0 -65
- package/dist/common/icons/effects/vibrance.js +0 -61
- package/dist/common/icons/effects/vignette.js +0 -54
- package/dist/common/icons/effects/zoom-blur.js +0 -89
- package/dist/common/icons/email.js +0 -45
- package/dist/common/icons/expand.js +0 -43
- package/dist/common/icons/eye-seen.js +0 -50
- package/dist/common/icons/eye-unseen.js +0 -48
- package/dist/common/icons/file-type.js +0 -35
- package/dist/common/icons/file.js +0 -41
- package/dist/common/icons/files.js +0 -41
- package/dist/common/icons/filter-funnel.js +0 -51
- package/dist/common/icons/free-window.js +0 -44
- package/dist/common/icons/gear.js +0 -43
- package/dist/common/icons/globe.js +0 -54
- package/dist/common/icons/hash.js +0 -41
- package/dist/common/icons/help.js +0 -51
- package/dist/common/icons/histogram.js +0 -41
- package/dist/common/icons/horizontal-resize-handle.js +0 -59
- package/dist/common/icons/index.js +0 -810
- package/dist/common/icons/info.js +0 -54
- package/dist/common/icons/layers.js +0 -55
- package/dist/common/icons/left-arrow.js +0 -44
- package/dist/common/icons/legend.js +0 -69
- package/dist/common/icons/line-chart.js +0 -41
- package/dist/common/icons/location-marker.js +0 -59
- package/dist/common/icons/login.js +0 -44
- package/dist/common/icons/logout.js +0 -43
- package/dist/common/icons/map-icon.js +0 -48
- package/dist/common/icons/map-pin.js +0 -57
- package/dist/common/icons/messages.js +0 -55
- package/dist/common/icons/minus.js +0 -41
- package/dist/common/icons/moon.js +0 -59
- 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 -61
- package/dist/common/icons/picture.js +0 -59
- package/dist/common/icons/pin.js +0 -53
- package/dist/common/icons/play.js +0 -51
- package/dist/common/icons/pointer-click.js +0 -59
- package/dist/common/icons/polygon.js +0 -63
- package/dist/common/icons/rectangle.js +0 -64
- package/dist/common/icons/reduce.js +0 -44
- package/dist/common/icons/reset.js +0 -57
- package/dist/common/icons/save.js +0 -58
- package/dist/common/icons/save2.js +0 -55
- package/dist/common/icons/search.js +0 -43
- package/dist/common/icons/settings.js +0 -61
- package/dist/common/icons/share.js +0 -71
- package/dist/common/icons/speed.js +0 -53
- package/dist/common/icons/split.js +0 -69
- package/dist/common/icons/square-select.js +0 -43
- package/dist/common/icons/sun.js +0 -75
- package/dist/common/icons/sunrise.js +0 -71
- package/dist/common/icons/sunset.js +0 -71
- package/dist/common/icons/timeline-marker.js +0 -56
- package/dist/common/icons/trash.js +0 -55
- package/dist/common/icons/vert-dots.js +0 -79
- package/dist/common/icons/vert-three-dots.js +0 -54
- package/dist/common/icons/warning-sign.js +0 -61
- package/dist/common/icons/warning.js +0 -55
- package/dist/common/icons/zoom-in.js +0 -48
- package/dist/common/icons/zoom-out.js +0 -48
- package/dist/common/image-preview.js +0 -64
- package/dist/common/index.js +0 -283
- 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 -158
- package/dist/common/item-selector/dropdown-list.js +0 -258
- package/dist/common/item-selector/dropdown-select.js +0 -84
- package/dist/common/item-selector/item-selector.js +0 -255
- package/dist/common/item-selector/typeahead.js +0 -438
- package/dist/common/line-chart.js +0 -120
- package/dist/common/link-renderer.js +0 -20
- package/dist/common/loading-spinner.js +0 -51
- package/dist/common/logo.js +0 -68
- package/dist/common/map-layer-selector.js +0 -38
- package/dist/common/modal.js +0 -171
- package/dist/common/portaled.js +0 -288
- package/dist/common/progress-bar.js +0 -47
- package/dist/common/radius-legend.js +0 -132
- package/dist/common/range-brush.js +0 -266
- package/dist/common/range-plot.js +0 -216
- package/dist/common/range-slider-timeline-panel.js +0 -43
- package/dist/common/range-slider-timeline.js +0 -113
- package/dist/common/range-slider.js +0 -309
- package/dist/common/slider/mouse-event.js +0 -105
- package/dist/common/slider/slider-bar-handle.js +0 -91
- package/dist/common/slider/slider-handle.js +0 -137
- package/dist/common/slider/slider.js +0 -209
- package/dist/common/styled-components.js +0 -439
- 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 -132
- package/dist/common/time-slider-marker.js +0 -116
- package/dist/common/timeline-slider.js +0 -132
- package/dist/common/tippy-tooltip.js +0 -135
- 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 -86
- package/dist/container.js +0 -181
- package/dist/context.js +0 -44
- package/dist/dnd-context.js +0 -120
- package/dist/editor/editor.js +0 -201
- package/dist/editor/feature-action-panel.js +0 -148
- package/dist/effects/compact-color-picker.js +0 -111
- package/dist/effects/effect-configurator.js +0 -313
- package/dist/effects/effect-list.js +0 -130
- package/dist/effects/effect-manager.js +0 -127
- package/dist/effects/effect-panel-header.js +0 -180
- package/dist/effects/effect-panel.js +0 -112
- package/dist/effects/effect-time-configurator.js +0 -302
- package/dist/effects/effect-time-selector.js +0 -153
- package/dist/effects/effect-time-slider.js +0 -199
- package/dist/effects/effect-type-dropdown-list.js +0 -66
- package/dist/effects/effect-type-list-item.js +0 -83
- package/dist/effects/effect-type-selector.js +0 -77
- package/dist/effects/side-panel-title.js +0 -37
- package/dist/effects/timezone-selector.js +0 -58
- package/dist/filter-animation-controller.js +0 -77
- package/dist/filters/components.js +0 -14
- package/dist/filters/filter-panels/filter-panel-with-field-select.js +0 -78
- package/dist/filters/filter-panels/filter-synced-dataset-panel.js +0 -261
- package/dist/filters/filter-panels/multi-select-filter-panel.js +0 -49
- package/dist/filters/filter-panels/new-filter-panel.js +0 -67
- package/dist/filters/filter-panels/polygon-filter-panel.js +0 -68
- package/dist/filters/filter-panels/range-filter-panel.js +0 -54
- package/dist/filters/filter-panels/single-select-filter-panel.js +0 -49
- package/dist/filters/filter-panels/time-range-filter-panel.js +0 -130
- 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 -56
- package/dist/filters/multi-select-filter.js +0 -31
- package/dist/filters/polygon-filter.js +0 -77
- 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 -67
- package/dist/filters/time-widget-top.js +0 -88
- package/dist/filters/time-widget.js +0 -101
- package/dist/filters/types.js +0 -6
- package/dist/geocoder/geocoder.js +0 -281
- package/dist/geocoder-panel.js +0 -170
- package/dist/hooks/use-cloud-list-provider.js +0 -47
- package/dist/hooks/use-dnd-effects.js +0 -69
- package/dist/hooks/use-dnd-layers.js +0 -80
- 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 -2710
- package/dist/injector.js +0 -151
- package/dist/kepler-gl.js +0 -585
- package/dist/layer-animation-controller.js +0 -54
- package/dist/loading-indicator.js +0 -71
- package/dist/map/coordinate-info.js +0 -42
- package/dist/map/effects/effect-control.js +0 -52
- package/dist/map/layer-hover-info.js +0 -250
- package/dist/map/layer-selector-panel.d.ts +0 -21
- package/dist/map/layer-selector-panel.js +0 -85
- package/dist/map/lazy-tippy.js +0 -61
- package/dist/map/locale-panel.js +0 -77
- 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 -71
- package/dist/map/map-draw-panel.js +0 -98
- package/dist/map/map-legend-panel.js +0 -277
- package/dist/map/map-legend.js +0 -396
- package/dist/map/map-popover-content.js +0 -28
- package/dist/map/map-popover.js +0 -190
- package/dist/map/split-map-button.js +0 -65
- package/dist/map/toggle-3d-button.js +0 -60
- package/dist/map-container.js +0 -998
- package/dist/map-view-state-context.js +0 -99
- package/dist/maps-layout.js +0 -43
- package/dist/modal-container.js +0 -435
- package/dist/modals/add-map-style-modal.js +0 -252
- package/dist/modals/cloud-components/cloud-header.js +0 -60
- 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.d.ts +0 -2
- 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 -203
- package/dist/modals/data-table-modal.js +0 -264
- package/dist/modals/delete-data-modal.js +0 -41
- package/dist/modals/error-display.js +0 -33
- package/dist/modals/export-data-modal.js +0 -186
- package/dist/modals/export-image-modal.js +0 -189
- 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 -82
- package/dist/modals/export-map-modal/export-map-modal.js +0 -84
- package/dist/modals/image-modal-container.js +0 -58
- package/dist/modals/load-data-modal.js +0 -98
- package/dist/modals/load-storage-map.js +0 -80
- 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 -75
- package/dist/modals/overwrite-map-modal.js +0 -84
- package/dist/modals/save-map-modal.js +0 -180
- package/dist/modals/save-map-modal.spec.js +0 -195
- package/dist/modals/share-map-modal.js +0 -169
- package/dist/modals/share-map-modal.spec.js +0 -173
- package/dist/modals/status-panel.js +0 -65
- package/dist/modals/storage-map-viewer.d.ts +0 -21
- package/dist/modals/storage-map-viewer.js +0 -98
- package/dist/modals/tilesets-modals/common.js +0 -6
- package/dist/modals/tilesets-modals/load-data-footer.js +0 -56
- package/dist/modals/tilesets-modals/load-tileset.js +0 -158
- package/dist/modals/tilesets-modals/tileset-icon.js +0 -39
- package/dist/modals/tilesets-modals/tileset-raster-form.js +0 -209
- package/dist/modals/tilesets-modals/tileset-tile3d-form.js +0 -388
- package/dist/modals/tilesets-modals/tileset-vector-form.js +0 -208
- package/dist/modals/tilesets-modals/tileset-wms-form.js +0 -206
- package/dist/notification-panel/notification-item.js +0 -148
- package/dist/notification-panel.js +0 -61
- package/dist/plot-container.js +0 -311
- package/dist/side-panel/add-by-dataset-button.js +0 -129
- package/dist/side-panel/cloud-storage-dropdown.d.ts +0 -6
- 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 -144
- package/dist/side-panel/common/source-data-catalog.js +0 -49
- package/dist/side-panel/common/source-data-selector-content.js +0 -65
- package/dist/side-panel/common/source-data-selector.js +0 -41
- package/dist/side-panel/common/source-selector.js +0 -57
- 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 -203
- package/dist/side-panel/filter-panel/add-filter-button.js +0 -27
- package/dist/side-panel/filter-panel/filter-panel-header.js +0 -68
- package/dist/side-panel/filter-panel/filter-panel.js +0 -93
- 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/interaction-panel.js +0 -115
- package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +0 -165
- package/dist/side-panel/interaction-panel/tooltip-config.js +0 -150
- package/dist/side-panel/layer-manager.js +0 -202
- 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 -72
- package/dist/side-panel/layer-panel/color-breaks-panel.js +0 -194
- package/dist/side-panel/layer-panel/color-palette-preset.js +0 -45
- package/dist/side-panel/layer-panel/color-palette.js +0 -75
- package/dist/side-panel/layer-panel/color-range-selector.js +0 -243
- package/dist/side-panel/layer-panel/color-scale-selector.js +0 -296
- package/dist/side-panel/layer-panel/color-selector.js +0 -187
- package/dist/side-panel/layer-panel/column-selector.js +0 -60
- package/dist/side-panel/layer-panel/custom-palette.js +0 -788
- package/dist/side-panel/layer-panel/custom-picker.js +0 -84
- package/dist/side-panel/layer-panel/dataset-layer-group.js +0 -67
- package/dist/side-panel/layer-panel/dataset-layer-section.js +0 -84
- package/dist/side-panel/layer-panel/dataset-section.js +0 -74
- package/dist/side-panel/layer-panel/dimension-scale-selector.js +0 -92
- package/dist/side-panel/layer-panel/how-to-button.js +0 -27
- package/dist/side-panel/layer-panel/layer-color-selector.js +0 -106
- package/dist/side-panel/layer-panel/layer-column-config.js +0 -86
- package/dist/side-panel/layer-panel/layer-column-mode-config.js +0 -193
- package/dist/side-panel/layer-panel/layer-config-group.js +0 -144
- package/dist/side-panel/layer-panel/layer-configurator.js +0 -700
- package/dist/side-panel/layer-panel/layer-error-message.js +0 -29
- package/dist/side-panel/layer-panel/layer-list.js +0 -172
- package/dist/side-panel/layer-panel/layer-panel-header.js +0 -312
- package/dist/side-panel/layer-panel/layer-panel.js +0 -162
- package/dist/side-panel/layer-panel/layer-type-dropdown-list.js +0 -78
- package/dist/side-panel/layer-panel/layer-type-list-item.js +0 -72
- package/dist/side-panel/layer-panel/layer-type-selector.js +0 -58
- package/dist/side-panel/layer-panel/radius-by-zoom-input.d.ts +0 -11
- package/dist/side-panel/layer-panel/radius-by-zoom-input.js +0 -220
- 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 -358
- package/dist/side-panel/layer-panel/single-color-palette.js +0 -86
- package/dist/side-panel/layer-panel/text-label-panel.js +0 -165
- package/dist/side-panel/layer-panel/vector-tile-layer-configurator.js +0 -102
- 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 -164
- package/dist/side-panel/layer-panel/vis-config-switch.js +0 -55
- package/dist/side-panel/map-manager.js +0 -102
- package/dist/side-panel/map-style-panel/map-layer-group-color-picker.js +0 -77
- package/dist/side-panel/map-style-panel/map-layer-group-item.js +0 -95
- 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 -303
- 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 -48
- package/dist/side-panel/panel-view-list-toggle.js +0 -98
- package/dist/side-panel/side-bar.js +0 -127
- package/dist/side-panel.js +0 -230
- package/dist/types.js +0 -6
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
2
|
+
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
3
|
+
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
4
|
+
import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
|
|
5
|
+
import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
|
|
6
|
+
import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
7
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
8
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
9
|
+
import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
|
|
10
|
+
var _templateObject;
|
|
11
|
+
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
12
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
13
|
+
// SPDX-License-Identifier: MIT
|
|
14
|
+
// Copyright contributors to the kepler.gl project
|
|
15
|
+
|
|
16
|
+
import React, { Component, createRef } from 'react';
|
|
17
|
+
import styled, { withTheme } from 'styled-components';
|
|
18
|
+
import { select } from 'd3-selection';
|
|
19
|
+
import { brushX } from 'd3-brush';
|
|
20
|
+
import { normalizeSliderValue } from '@kepler.gl/utils';
|
|
21
|
+
var StyledG = styled.g(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .selection {\n stroke: none;\n fill: ", ";\n fill-opacity: ", ";\n }\n .handle {\n fill: ", ";\n fill-opacity: 0.3;\n }\n"])), function (props) {
|
|
22
|
+
return props.$isRanged ? props.theme.rangeBrushBgd : props.theme.BLUE2;
|
|
23
|
+
}, function (props) {
|
|
24
|
+
return props.$isRanged ? 0.3 : 1;
|
|
25
|
+
}, function (props) {
|
|
26
|
+
return props.theme.BLUE2;
|
|
27
|
+
});
|
|
28
|
+
function moveRight(startSel, selection) {
|
|
29
|
+
var _startSel = _slicedToArray(startSel, 1),
|
|
30
|
+
startSel0 = _startSel[0];
|
|
31
|
+
var _selection = _slicedToArray(selection, 1),
|
|
32
|
+
sel0 = _selection[0];
|
|
33
|
+
return Boolean(startSel0 === sel0);
|
|
34
|
+
}
|
|
35
|
+
// style brush resize handle
|
|
36
|
+
// https://github.com/crossfilter/crossfilter/blob/gh-pages/index.html#L466
|
|
37
|
+
var getHandlePath = function getHandlePath(props) {
|
|
38
|
+
return function brushResizePath(d) {
|
|
39
|
+
var e = Number(d.type === 'e');
|
|
40
|
+
var x = e ? 1 : -1;
|
|
41
|
+
var h = 39;
|
|
42
|
+
var w = 4.5;
|
|
43
|
+
var y = (props.height - h) / 2;
|
|
44
|
+
return "M".concat(0.5 * x, ",").concat(y, "c").concat(2.5 * x, ",0,").concat(w * x, ",2,").concat(w * x, ",").concat(w, "v").concat(h - w * 2, "c0,2.5,").concat(-2 * x, ",").concat(w, ",").concat(-w * x, ",").concat(w, "V").concat(y, "z");
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
function RangeBrushFactory() {
|
|
48
|
+
var RangeBrush = /*#__PURE__*/function (_Component) {
|
|
49
|
+
function RangeBrush() {
|
|
50
|
+
var _this;
|
|
51
|
+
_classCallCheck(this, RangeBrush);
|
|
52
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
53
|
+
args[_key] = arguments[_key];
|
|
54
|
+
}
|
|
55
|
+
_this = _callSuper(this, RangeBrush, [].concat(args));
|
|
56
|
+
_defineProperty(_this, "rootContainer", /*#__PURE__*/createRef());
|
|
57
|
+
_defineProperty(_this, "brushing", false);
|
|
58
|
+
_defineProperty(_this, "moving", false);
|
|
59
|
+
_defineProperty(_this, "root", _this.rootContainer.current ? select(_this.rootContainer.current) : undefined);
|
|
60
|
+
_defineProperty(_this, "brush", void 0);
|
|
61
|
+
_defineProperty(_this, "_startSel", void 0);
|
|
62
|
+
_defineProperty(_this, "_lastSel", void 0);
|
|
63
|
+
_defineProperty(_this, "handle", void 0);
|
|
64
|
+
_defineProperty(_this, "_brushed", function (evt) {
|
|
65
|
+
var _this2;
|
|
66
|
+
// Ignore brush events which don't have an underlying sourceEvent
|
|
67
|
+
if (!evt.sourceEvent) return;
|
|
68
|
+
var _evt$selection = _slicedToArray(evt.selection, 2),
|
|
69
|
+
sel0 = _evt$selection[0],
|
|
70
|
+
sel1 = _evt$selection[1];
|
|
71
|
+
var right = moveRight(_this._startSel, evt.selection);
|
|
72
|
+
var _this$props = _this.props,
|
|
73
|
+
_this$props$range = _slicedToArray(_this$props.range, 2),
|
|
74
|
+
min = _this$props$range[0],
|
|
75
|
+
max = _this$props$range[1],
|
|
76
|
+
_this$props$step = _this$props.step,
|
|
77
|
+
step = _this$props$step === void 0 ? 0 : _this$props$step,
|
|
78
|
+
width = _this$props.width,
|
|
79
|
+
marks = _this$props.marks,
|
|
80
|
+
isRanged = _this$props.isRanged;
|
|
81
|
+
var invert = function invert(x) {
|
|
82
|
+
return x * (max - min) / width + min;
|
|
83
|
+
};
|
|
84
|
+
var d0 = invert(sel0);
|
|
85
|
+
var d1 = invert(sel1);
|
|
86
|
+
// this makes sure if points are right at the beginning of the domains are displayed correctly
|
|
87
|
+
// the problem here is bisectLeftx
|
|
88
|
+
d0 = d0 === min ? d0 : normalizeSliderValue(d0, min, step, marks);
|
|
89
|
+
d1 = normalizeSliderValue(d1, min, step, marks);
|
|
90
|
+
if (isRanged) _this._move(d0, d1);else (_this2 = _this)._move.apply(_this2, _toConsumableArray(right ? [d1, d1] : [d0, d0]));
|
|
91
|
+
if (isRanged) _this._onBrush(d0, d1);else _this._onBrush(right ? d1 : d0);
|
|
92
|
+
});
|
|
93
|
+
return _this;
|
|
94
|
+
}
|
|
95
|
+
_inherits(RangeBrush, _Component);
|
|
96
|
+
return _createClass(RangeBrush, [{
|
|
97
|
+
key: "componentDidMount",
|
|
98
|
+
value: function componentDidMount() {
|
|
99
|
+
var _this3 = this,
|
|
100
|
+
_this$root,
|
|
101
|
+
_this$root2;
|
|
102
|
+
// We want the React app to respond to brush state and vice-versa
|
|
103
|
+
// but d3-brush fires the same events for both user-initiated brushing
|
|
104
|
+
// and programmatic brushing (brush.move). We need these flags to
|
|
105
|
+
// distinguish between the uses.
|
|
106
|
+
//
|
|
107
|
+
// We don't use state because that would trigger another `componentDidUpdate`
|
|
108
|
+
var _this$props2 = this.props,
|
|
109
|
+
theme = _this$props2.theme,
|
|
110
|
+
isRanged = _this$props2.isRanged,
|
|
111
|
+
onMouseoverHandle = _this$props2.onMouseoverHandle,
|
|
112
|
+
onMouseoutHandle = _this$props2.onMouseoutHandle;
|
|
113
|
+
this.root = this.rootContainer.current ? select(this.rootContainer.current) : undefined;
|
|
114
|
+
this.brush = brushX().handleSize(3).on('start', function (event) {
|
|
115
|
+
if (typeof _this3.props.onBrushStart === 'function') _this3.props.onBrushStart();
|
|
116
|
+
_this3._startSel = event.selection;
|
|
117
|
+
}).on('brush', function (event) {
|
|
118
|
+
if (_this3.moving) {
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
if (event.selection) {
|
|
122
|
+
_this3._lastSel = event.selection;
|
|
123
|
+
_this3.brushing = true;
|
|
124
|
+
_this3._brushed(event);
|
|
125
|
+
}
|
|
126
|
+
}).on('end', function (event) {
|
|
127
|
+
if (!event.selection) {
|
|
128
|
+
if (_this3.brushing) {
|
|
129
|
+
// handle null selection
|
|
130
|
+
_this3._click(_this3._lastSel);
|
|
131
|
+
} else if (_this3._startSel) {
|
|
132
|
+
// handle click
|
|
133
|
+
_this3._click(_this3._startSel);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
if (typeof _this3.props.onBrushEnd === 'function') _this3.props.onBrushEnd();
|
|
137
|
+
_this3.brushing = false;
|
|
138
|
+
_this3.moving = false;
|
|
139
|
+
});
|
|
140
|
+
(_this$root = this.root) === null || _this$root === void 0 || _this$root.call(this.brush);
|
|
141
|
+
var brushResizePath = getHandlePath(this.props);
|
|
142
|
+
this.handle = (_this$root2 = this.root) === null || _this$root2 === void 0 ? void 0 : _this$root2.selectAll('.handle--custom').data([{
|
|
143
|
+
type: 'w'
|
|
144
|
+
}, {
|
|
145
|
+
type: 'e'
|
|
146
|
+
}]).enter().append('path').attr('class', 'handle--custom').attr('display', isRanged ? null : 'none').attr('fill', theme ? theme.sliderHandleColor : '#D3D8E0').attr('cursor', 'ew-resize').attr('d', brushResizePath).on('mouseover', function () {
|
|
147
|
+
if (onMouseoverHandle) onMouseoverHandle();
|
|
148
|
+
}).on('mouseout', function () {
|
|
149
|
+
if (onMouseoutHandle) onMouseoutHandle();
|
|
150
|
+
});
|
|
151
|
+
var _this$props$value = _slicedToArray(this.props.value, 2),
|
|
152
|
+
val0 = _this$props$value[0],
|
|
153
|
+
val1 = _this$props$value[1];
|
|
154
|
+
this.moving = true;
|
|
155
|
+
this._move(val0, val1);
|
|
156
|
+
}
|
|
157
|
+
}, {
|
|
158
|
+
key: "componentDidUpdate",
|
|
159
|
+
value: function componentDidUpdate(prevProps) {
|
|
160
|
+
var _this$props3 = this.props,
|
|
161
|
+
_this$props3$value = _slicedToArray(_this$props3.value, 2),
|
|
162
|
+
val0 = _this$props3$value[0],
|
|
163
|
+
val1 = _this$props3$value[1],
|
|
164
|
+
width = _this$props3.width;
|
|
165
|
+
var _prevProps$value = _slicedToArray(prevProps.value, 2),
|
|
166
|
+
prevVal0 = _prevProps$value[0],
|
|
167
|
+
prevVal1 = _prevProps$value[1];
|
|
168
|
+
if (prevProps.width !== width || prevProps.range[0] !== this.props.range[0] || prevProps.range[1] !== this.props.range[1]) {
|
|
169
|
+
var _this$root3;
|
|
170
|
+
// dimension change should not trigger this._brushed
|
|
171
|
+
this.moving = true;
|
|
172
|
+
if (this.brush) (_this$root3 = this.root) === null || _this$root3 === void 0 || _this$root3.call(this.brush);
|
|
173
|
+
this._move(val0, val1);
|
|
174
|
+
}
|
|
175
|
+
if (!this.brushing && !this.moving) {
|
|
176
|
+
if (prevVal0 !== val0 || prevVal1 !== val1) {
|
|
177
|
+
this.moving = true;
|
|
178
|
+
this._move(val0, val1);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
if (!this.props.isRanged && this.handle) {
|
|
182
|
+
this.handle.attr('display', 'none');
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}, {
|
|
186
|
+
key: "_click",
|
|
187
|
+
value: function _click(selection) {
|
|
188
|
+
// fake brush
|
|
189
|
+
this.brushing = true;
|
|
190
|
+
this._brushed({
|
|
191
|
+
sourceEvent: {},
|
|
192
|
+
selection: selection
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
}, {
|
|
196
|
+
key: "_move",
|
|
197
|
+
value: function _move() {
|
|
198
|
+
var val0 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
199
|
+
var val1 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
200
|
+
var _this$props4 = this.props,
|
|
201
|
+
_this$props4$range = _slicedToArray(_this$props4.range, 2),
|
|
202
|
+
min = _this$props4$range[0],
|
|
203
|
+
max = _this$props4$range[1],
|
|
204
|
+
width = _this$props4.width,
|
|
205
|
+
isRanged = _this$props4.isRanged;
|
|
206
|
+
if (width && max - min && this.brush && this.handle) {
|
|
207
|
+
var scale = function scale(x) {
|
|
208
|
+
return (x - min) * width / (max - min);
|
|
209
|
+
};
|
|
210
|
+
if (!isRanged) {
|
|
211
|
+
// only draw a 1 pixel line
|
|
212
|
+
if (this.root) this.brush.move(this.root, [scale(val0), scale(val0) + 1]);
|
|
213
|
+
} else {
|
|
214
|
+
if (this.root) this.brush.move(this.root, [scale(val0), scale(val1)]);
|
|
215
|
+
this.handle.attr('display', null).attr('transform', function (d, i) {
|
|
216
|
+
return "translate(".concat([i === 0 ? scale(val0) : scale(val1), 0], ")");
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
}, {
|
|
222
|
+
key: "_onBrush",
|
|
223
|
+
value: function _onBrush() {
|
|
224
|
+
var val0 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
225
|
+
var val1 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
226
|
+
var _this$props5 = this.props,
|
|
227
|
+
isRanged = _this$props5.isRanged,
|
|
228
|
+
_this$props5$value = _slicedToArray(_this$props5.value, 2),
|
|
229
|
+
currentVal0 = _this$props5$value[0],
|
|
230
|
+
currentVal1 = _this$props5$value[1];
|
|
231
|
+
if (currentVal0 === val0 && currentVal1 === val1) {
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
if (isRanged) {
|
|
235
|
+
this.props.onBrush(val0, val1);
|
|
236
|
+
} else {
|
|
237
|
+
this.props.onBrush(val0, val0);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}, {
|
|
241
|
+
key: "render",
|
|
242
|
+
value: function render() {
|
|
243
|
+
var isRanged = this.props.isRanged;
|
|
244
|
+
return /*#__PURE__*/React.createElement(StyledG, {
|
|
245
|
+
className: "kg-range-slider__brush",
|
|
246
|
+
$isRanged: isRanged,
|
|
247
|
+
ref: this.rootContainer
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
}]);
|
|
251
|
+
}(Component);
|
|
252
|
+
_defineProperty(RangeBrush, "defaultProps", {
|
|
253
|
+
isRanged: true
|
|
254
|
+
});
|
|
255
|
+
return withTheme(RangeBrush);
|
|
256
|
+
}
|
|
257
|
+
export default RangeBrushFactory;
|
|
258
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIkNvbXBvbmVudCIsImNyZWF0ZVJlZiIsInN0eWxlZCIsIndpdGhUaGVtZSIsInNlbGVjdCIsImJydXNoWCIsIm5vcm1hbGl6ZVNsaWRlclZhbHVlIiwiU3R5bGVkRyIsImciLCJfdGVtcGxhdGVPYmplY3QiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsIiwicHJvcHMiLCIkaXNSYW5nZWQiLCJ0aGVtZSIsInJhbmdlQnJ1c2hCZ2QiLCJCTFVFMiIsIm1vdmVSaWdodCIsInN0YXJ0U2VsIiwic2VsZWN0aW9uIiwiX3N0YXJ0U2VsIiwiX3NsaWNlZFRvQXJyYXkiLCJzdGFydFNlbDAiLCJfc2VsZWN0aW9uIiwic2VsMCIsIkJvb2xlYW4iLCJnZXRIYW5kbGVQYXRoIiwiYnJ1c2hSZXNpemVQYXRoIiwiZCIsImUiLCJOdW1iZXIiLCJ0eXBlIiwieCIsImgiLCJ3IiwieSIsImhlaWdodCIsImNvbmNhdCIsIlJhbmdlQnJ1c2hGYWN0b3J5IiwiUmFuZ2VCcnVzaCIsIl9Db21wb25lbnQiLCJfdGhpcyIsIl9jbGFzc0NhbGxDaGVjayIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiX2NhbGxTdXBlciIsIl9kZWZpbmVQcm9wZXJ0eSIsInJvb3RDb250YWluZXIiLCJjdXJyZW50IiwidW5kZWZpbmVkIiwiZXZ0IiwiX3RoaXMyIiwic291cmNlRXZlbnQiLCJfZXZ0JHNlbGVjdGlvbiIsInNlbDEiLCJyaWdodCIsIl90aGlzJHByb3BzIiwiX3RoaXMkcHJvcHMkcmFuZ2UiLCJyYW5nZSIsIm1pbiIsIm1heCIsIl90aGlzJHByb3BzJHN0ZXAiLCJzdGVwIiwid2lkdGgiLCJtYXJrcyIsImlzUmFuZ2VkIiwiaW52ZXJ0IiwiZDAiLCJkMSIsIl9tb3ZlIiwiYXBwbHkiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJfb25CcnVzaCIsIl9pbmhlcml0cyIsIl9jcmVhdGVDbGFzcyIsImtleSIsInZhbHVlIiwiY29tcG9uZW50RGlkTW91bnQiLCJfdGhpczMiLCJfdGhpcyRyb290IiwiX3RoaXMkcm9vdDIiLCJfdGhpcyRwcm9wczIiLCJvbk1vdXNlb3ZlckhhbmRsZSIsIm9uTW91c2VvdXRIYW5kbGUiLCJyb290IiwiYnJ1c2giLCJoYW5kbGVTaXplIiwib24iLCJldmVudCIsIm9uQnJ1c2hTdGFydCIsIm1vdmluZyIsIl9sYXN0U2VsIiwiYnJ1c2hpbmciLCJfYnJ1c2hlZCIsIl9jbGljayIsIm9uQnJ1c2hFbmQiLCJjYWxsIiwiaGFuZGxlIiwic2VsZWN0QWxsIiwiZGF0YSIsImVudGVyIiwiYXBwZW5kIiwiYXR0ciIsInNsaWRlckhhbmRsZUNvbG9yIiwiX3RoaXMkcHJvcHMkdmFsdWUiLCJ2YWwwIiwidmFsMSIsImNvbXBvbmVudERpZFVwZGF0ZSIsInByZXZQcm9wcyIsIl90aGlzJHByb3BzMyIsIl90aGlzJHByb3BzMyR2YWx1ZSIsIl9wcmV2UHJvcHMkdmFsdWUiLCJwcmV2VmFsMCIsInByZXZWYWwxIiwiX3RoaXMkcm9vdDMiLCJfdGhpcyRwcm9wczQiLCJfdGhpcyRwcm9wczQkcmFuZ2UiLCJzY2FsZSIsIm1vdmUiLCJpIiwiX3RoaXMkcHJvcHM1IiwiX3RoaXMkcHJvcHM1JHZhbHVlIiwiY3VycmVudFZhbDAiLCJjdXJyZW50VmFsMSIsIm9uQnJ1c2giLCJyZW5kZXIiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwicmVmIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1vbi9yYW5nZS1icnVzaC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50LCBjcmVhdGVSZWZ9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQsIHt3aXRoVGhlbWV9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7c2VsZWN0LCBTZWxlY3Rpb259IGZyb20gJ2QzLXNlbGVjdGlvbic7XG5pbXBvcnQge0JydXNoQmVoYXZpb3IsIGJydXNoWH0gZnJvbSAnZDMtYnJ1c2gnO1xuaW1wb3J0IHtub3JtYWxpemVTbGlkZXJWYWx1ZX0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5cbmludGVyZmFjZSBTdHlsZWRHUHJvcHMge1xuICAkaXNSYW5nZWQ/OiBib29sZWFuO1xufVxuXG5jb25zdCBTdHlsZWRHID0gc3R5bGVkLmc8U3R5bGVkR1Byb3BzPmBcbiAgLnNlbGVjdGlvbiB7XG4gICAgc3Ryb2tlOiBub25lO1xuICAgIGZpbGw6ICR7cHJvcHMgPT4gKHByb3BzLiRpc1JhbmdlZCA/IHByb3BzLnRoZW1lLnJhbmdlQnJ1c2hCZ2QgOiBwcm9wcy50aGVtZS5CTFVFMil9O1xuICAgIGZpbGwtb3BhY2l0eTogJHtwcm9wcyA9PiAocHJvcHMuJGlzUmFuZ2VkID8gMC4zIDogMSl9O1xuICB9XG4gIC5oYW5kbGUge1xuICAgIGZpbGw6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuQkxVRTJ9O1xuICAgIGZpbGwtb3BhY2l0eTogMC4zO1xuICB9XG5gO1xuXG5mdW5jdGlvbiBtb3ZlUmlnaHQoc3RhcnRTZWwsIHNlbGVjdGlvbikge1xuICBjb25zdCBbc3RhcnRTZWwwXSA9IHN0YXJ0U2VsO1xuICBjb25zdCBbc2VsMF0gPSBzZWxlY3Rpb247XG5cbiAgcmV0dXJuIEJvb2xlYW4oc3RhcnRTZWwwID09PSBzZWwwKTtcbn1cbi8vIHN0eWxlIGJydXNoIHJlc2l6ZSBoYW5kbGVcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9jcm9zc2ZpbHRlci9jcm9zc2ZpbHRlci9ibG9iL2doLXBhZ2VzL2luZGV4Lmh0bWwjTDQ2NlxuY29uc3QgZ2V0SGFuZGxlUGF0aCA9IChwcm9wczogUmFuZ2VCcnVzaFByb3BzKSA9PiB7XG4gIHJldHVybiBmdW5jdGlvbiBicnVzaFJlc2l6ZVBhdGgoZCkge1xuICAgIGNvbnN0IGUgPSBOdW1iZXIoZC50eXBlID09PSAnZScpO1xuICAgIGNvbnN0IHggPSBlID8gMSA6IC0xO1xuICAgIGNvbnN0IGggPSAzOTtcbiAgICBjb25zdCB3ID0gNC41O1xuICAgIGNvbnN0IHkgPSAocHJvcHMuaGVpZ2h0IC0gaCkgLyAyO1xuICAgIHJldHVybiBgTSR7MC41ICogeH0sJHt5fWMkezIuNSAqIHh9LDAsJHt3ICogeH0sMiwke3cgKiB4fSwke3d9diR7aCAtIHcgKiAyfWMwLDIuNSwke1xuICAgICAgLTIgKiB4XG4gICAgfSwke3d9LCR7LXcgKiB4fSwke3d9ViR7eX16YDtcbiAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIE9uQnJ1c2ggPSAodmFsMDogbnVtYmVyLCB2YWwxOiBudW1iZXIpID0+IHZvaWQ7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmFuZ2VCcnVzaFByb3BzIHtcbiAgaXNSYW5nZWQ/OiBib29sZWFuO1xuICB0aGVtZT86IGFueTtcbiAgcmFuZ2U6IG51bWJlcltdO1xuICB2YWx1ZTogbnVtYmVyW107XG4gIG9uQnJ1c2hTdGFydDogKCkgPT4gdm9pZDtcbiAgb25CcnVzaEVuZDogKCkgPT4gdm9pZDtcbiAgd2lkdGg6IG51bWJlcjtcbiAgaGVpZ2h0OiBudW1iZXI7XG4gIG9uQnJ1c2g6IE9uQnJ1c2g7XG4gIHN0ZXA/OiBudW1iZXI7XG4gIG1hcmtzPzogbnVtYmVyW107XG4gIG9uTW91c2VvdmVySGFuZGxlOiAoKSA9PiB2b2lkO1xuICBvbk1vdXNlb3V0SGFuZGxlOiAoKSA9PiB2b2lkO1xufVxuXG5mdW5jdGlvbiBSYW5nZUJydXNoRmFjdG9yeSgpOiBSZWFjdC5Db21wb25lbnRUeXBlPFJhbmdlQnJ1c2hQcm9wcz4ge1xuICBjbGFzcyBSYW5nZUJydXNoIGV4dGVuZHMgQ29tcG9uZW50PFJhbmdlQnJ1c2hQcm9wcz4ge1xuICAgIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgICBpc1JhbmdlZDogdHJ1ZVxuICAgIH07XG5cbiAgICByb290Q29udGFpbmVyID0gY3JlYXRlUmVmPFNWR0dFbGVtZW50PigpO1xuXG4gICAgYnJ1c2hpbmcgPSBmYWxzZTtcbiAgICBtb3ZpbmcgPSBmYWxzZTtcblxuICAgIHJvb3QgPSB0aGlzLnJvb3RDb250YWluZXIuY3VycmVudCA/IHNlbGVjdCh0aGlzLnJvb3RDb250YWluZXIuY3VycmVudCkgOiB1bmRlZmluZWQ7XG4gICAgYnJ1c2g6IEJydXNoQmVoYXZpb3I8YW55PiB8IHVuZGVmaW5lZDtcbiAgICBfc3RhcnRTZWw6IG51bWJlcltdIHwgdW5kZWZpbmVkO1xuICAgIF9sYXN0U2VsOiBudW1iZXJbXSB8IHVuZGVmaW5lZDtcblxuICAgIGhhbmRsZTogU2VsZWN0aW9uPFNWR1BhdGhFbGVtZW50LCB7dHlwZTogc3RyaW5nfSwgU1ZHR0VsZW1lbnQgfCBudWxsLCB1bmtub3duPiB8IHVuZGVmaW5lZDtcblxuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgLy8gV2Ugd2FudCB0aGUgUmVhY3QgYXBwIHRvIHJlc3BvbmQgdG8gYnJ1c2ggc3RhdGUgYW5kIHZpY2UtdmVyc2FcbiAgICAgIC8vIGJ1dCBkMy1icnVzaCBmaXJlcyB0aGUgc2FtZSBldmVudHMgZm9yIGJvdGggdXNlci1pbml0aWF0ZWQgYnJ1c2hpbmdcbiAgICAgIC8vIGFuZCBwcm9ncmFtbWF0aWMgYnJ1c2hpbmcgKGJydXNoLm1vdmUpLiBXZSBuZWVkIHRoZXNlIGZsYWdzIHRvXG4gICAgICAvLyBkaXN0aW5ndWlzaCBiZXR3ZWVuIHRoZSB1c2VzLlxuICAgICAgLy9cbiAgICAgIC8vIFdlIGRvbid0IHVzZSBzdGF0ZSBiZWNhdXNlIHRoYXQgd291bGQgdHJpZ2dlciBhbm90aGVyIGBjb21wb25lbnREaWRVcGRhdGVgXG4gICAgICBjb25zdCB7dGhlbWUsIGlzUmFuZ2VkLCBvbk1vdXNlb3ZlckhhbmRsZSwgb25Nb3VzZW91dEhhbmRsZX0gPSB0aGlzLnByb3BzO1xuXG4gICAgICB0aGlzLnJvb3QgPSB0aGlzLnJvb3RDb250YWluZXIuY3VycmVudCA/IHNlbGVjdCh0aGlzLnJvb3RDb250YWluZXIuY3VycmVudCkgOiB1bmRlZmluZWQ7XG4gICAgICB0aGlzLmJydXNoID0gYnJ1c2hYKClcbiAgICAgICAgLmhhbmRsZVNpemUoMylcbiAgICAgICAgLm9uKCdzdGFydCcsIGV2ZW50ID0+IHtcbiAgICAgICAgICBpZiAodHlwZW9mIHRoaXMucHJvcHMub25CcnVzaFN0YXJ0ID09PSAnZnVuY3Rpb24nKSB0aGlzLnByb3BzLm9uQnJ1c2hTdGFydCgpO1xuICAgICAgICAgIHRoaXMuX3N0YXJ0U2VsID0gZXZlbnQuc2VsZWN0aW9uO1xuICAgICAgICB9KVxuICAgICAgICAub24oJ2JydXNoJywgZXZlbnQgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLm1vdmluZykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZXZlbnQuc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLl9sYXN0U2VsID0gZXZlbnQuc2VsZWN0aW9uO1xuICAgICAgICAgICAgdGhpcy5icnVzaGluZyA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLl9icnVzaGVkKGV2ZW50KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICAgIC5vbignZW5kJywgZXZlbnQgPT4ge1xuICAgICAgICAgIGlmICghZXZlbnQuc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5icnVzaGluZykge1xuICAgICAgICAgICAgICAvLyBoYW5kbGUgbnVsbCBzZWxlY3Rpb25cbiAgICAgICAgICAgICAgdGhpcy5fY2xpY2sodGhpcy5fbGFzdFNlbCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX3N0YXJ0U2VsKSB7XG4gICAgICAgICAgICAgIC8vIGhhbmRsZSBjbGlja1xuICAgICAgICAgICAgICB0aGlzLl9jbGljayh0aGlzLl9zdGFydFNlbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnByb3BzLm9uQnJ1c2hFbmQgPT09ICdmdW5jdGlvbicpIHRoaXMucHJvcHMub25CcnVzaEVuZCgpO1xuXG4gICAgICAgICAgdGhpcy5icnVzaGluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMubW92aW5nID0gZmFsc2U7XG4gICAgICAgIH0pO1xuXG4gICAgICB0aGlzLnJvb3Q/LmNhbGwodGhpcy5icnVzaCk7XG4gICAgICBjb25zdCBicnVzaFJlc2l6ZVBhdGggPSBnZXRIYW5kbGVQYXRoKHRoaXMucHJvcHMpO1xuICAgICAgdGhpcy5oYW5kbGUgPSB0aGlzLnJvb3RcbiAgICAgICAgPy5zZWxlY3RBbGwoJy5oYW5kbGUtLWN1c3RvbScpXG4gICAgICAgIC5kYXRhKFt7dHlwZTogJ3cnfSwge3R5cGU6ICdlJ31dKVxuICAgICAgICAuZW50ZXIoKVxuICAgICAgICAuYXBwZW5kKCdwYXRoJylcbiAgICAgICAgLmF0dHIoJ2NsYXNzJywgJ2hhbmRsZS0tY3VzdG9tJylcbiAgICAgICAgLmF0dHIoJ2Rpc3BsYXknLCBpc1JhbmdlZCA/IG51bGwgOiAnbm9uZScpXG4gICAgICAgIC5hdHRyKCdmaWxsJywgdGhlbWUgPyB0aGVtZS5zbGlkZXJIYW5kbGVDb2xvciA6ICcjRDNEOEUwJylcbiAgICAgICAgLmF0dHIoJ2N1cnNvcicsICdldy1yZXNpemUnKVxuICAgICAgICAuYXR0cignZCcsIGJydXNoUmVzaXplUGF0aClcbiAgICAgICAgLm9uKCdtb3VzZW92ZXInLCAoKSA9PiB7XG4gICAgICAgICAgaWYgKG9uTW91c2VvdmVySGFuZGxlKSBvbk1vdXNlb3ZlckhhbmRsZSgpO1xuICAgICAgICB9KVxuICAgICAgICAub24oJ21vdXNlb3V0JywgKCkgPT4ge1xuICAgICAgICAgIGlmIChvbk1vdXNlb3V0SGFuZGxlKSBvbk1vdXNlb3V0SGFuZGxlKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICBjb25zdCB7XG4gICAgICAgIHZhbHVlOiBbdmFsMCwgdmFsMV1cbiAgICAgIH0gPSB0aGlzLnByb3BzO1xuICAgICAgdGhpcy5tb3ZpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5fbW92ZSh2YWwwLCB2YWwxKTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgICBjb25zdCB7XG4gICAgICAgIHZhbHVlOiBbdmFsMCwgdmFsMV0sXG4gICAgICAgIHdpZHRoXG4gICAgICB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IFtwcmV2VmFsMCwgcHJldlZhbDFdID0gcHJldlByb3BzLnZhbHVlO1xuXG4gICAgICBpZiAoXG4gICAgICAgIHByZXZQcm9wcy53aWR0aCAhPT0gd2lkdGggfHxcbiAgICAgICAgcHJldlByb3BzLnJhbmdlWzBdICE9PSB0aGlzLnByb3BzLnJhbmdlWzBdIHx8XG4gICAgICAgIHByZXZQcm9wcy5yYW5nZVsxXSAhPT0gdGhpcy5wcm9wcy5yYW5nZVsxXVxuICAgICAgKSB7XG4gICAgICAgIC8vIGRpbWVuc2lvbiBjaGFuZ2Ugc2hvdWxkIG5vdCB0cmlnZ2VyIHRoaXMuX2JydXNoZWRcbiAgICAgICAgdGhpcy5tb3ZpbmcgPSB0cnVlO1xuICAgICAgICBpZiAodGhpcy5icnVzaCkgdGhpcy5yb290Py5jYWxsKHRoaXMuYnJ1c2gpO1xuICAgICAgICB0aGlzLl9tb3ZlKHZhbDAsIHZhbDEpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXRoaXMuYnJ1c2hpbmcgJiYgIXRoaXMubW92aW5nKSB7XG4gICAgICAgIGlmIChwcmV2VmFsMCAhPT0gdmFsMCB8fCBwcmV2VmFsMSAhPT0gdmFsMSkge1xuICAgICAgICAgIHRoaXMubW92aW5nID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLl9tb3ZlKHZhbDAsIHZhbDEpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICghdGhpcy5wcm9wcy5pc1JhbmdlZCAmJiB0aGlzLmhhbmRsZSkge1xuICAgICAgICB0aGlzLmhhbmRsZS5hdHRyKCdkaXNwbGF5JywgJ25vbmUnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBfY2xpY2soc2VsZWN0aW9uKSB7XG4gICAgICAvLyBmYWtlIGJydXNoXG4gICAgICB0aGlzLmJydXNoaW5nID0gdHJ1ZTtcbiAgICAgIHRoaXMuX2JydXNoZWQoe3NvdXJjZUV2ZW50OiB7fSwgc2VsZWN0aW9ufSk7XG4gICAgfVxuXG4gICAgX21vdmUodmFsMCA9IDAsIHZhbDEgPSAwKSB7XG4gICAgICBjb25zdCB7XG4gICAgICAgIHJhbmdlOiBbbWluLCBtYXhdLFxuICAgICAgICB3aWR0aCxcbiAgICAgICAgaXNSYW5nZWRcbiAgICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBpZiAod2lkdGggJiYgbWF4IC0gbWluICYmIHRoaXMuYnJ1c2ggJiYgdGhpcy5oYW5kbGUpIHtcbiAgICAgICAgY29uc3Qgc2NhbGUgPSAoeDogbnVtYmVyKSA9PiAoKHggLSBtaW4pICogd2lkdGgpIC8gKG1heCAtIG1pbik7XG4gICAgICAgIGlmICghaXNSYW5nZWQpIHtcbiAgICAgICAgICAvLyBvbmx5IGRyYXcgYSAxIHBpeGVsIGxpbmVcbiAgICAgICAgICBpZiAodGhpcy5yb290KSB0aGlzLmJydXNoLm1vdmUodGhpcy5yb290LCBbc2NhbGUodmFsMCksIHNjYWxlKHZhbDApICsgMV0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmICh0aGlzLnJvb3QpIHRoaXMuYnJ1c2gubW92ZSh0aGlzLnJvb3QsIFtzY2FsZSh2YWwwKSwgc2NhbGUodmFsMSldKTtcblxuICAgICAgICAgIHRoaXMuaGFuZGxlXG4gICAgICAgICAgICAuYXR0cignZGlzcGxheScsIG51bGwpXG4gICAgICAgICAgICAuYXR0cigndHJhbnNmb3JtJywgKGQsIGkpID0+IGB0cmFuc2xhdGUoJHtbaSA9PT0gMCA/IHNjYWxlKHZhbDApIDogc2NhbGUodmFsMSksIDBdfSlgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIF9icnVzaGVkID0gKGV2dDoge3NvdXJjZUV2ZW50OiBhbnk7IHNlbGVjdGlvbjogbnVtYmVyW119KSA9PiB7XG4gICAgICAvLyBJZ25vcmUgYnJ1c2ggZXZlbnRzIHdoaWNoIGRvbid0IGhhdmUgYW4gdW5kZXJseWluZyBzb3VyY2VFdmVudFxuICAgICAgaWYgKCFldnQuc291cmNlRXZlbnQpIHJldHVybjtcbiAgICAgIGNvbnN0IFtzZWwwLCBzZWwxXSA9IGV2dC5zZWxlY3Rpb247XG4gICAgICBjb25zdCByaWdodCA9IG1vdmVSaWdodCh0aGlzLl9zdGFydFNlbCwgZXZ0LnNlbGVjdGlvbik7XG5cbiAgICAgIGNvbnN0IHtcbiAgICAgICAgcmFuZ2U6IFttaW4sIG1heF0sXG4gICAgICAgIHN0ZXAgPSAwLFxuICAgICAgICB3aWR0aCxcbiAgICAgICAgbWFya3MsXG4gICAgICAgIGlzUmFuZ2VkXG4gICAgICB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IGludmVydCA9ICh4OiBudW1iZXIpID0+ICh4ICogKG1heCAtIG1pbikpIC8gd2lkdGggKyBtaW47XG4gICAgICBsZXQgZDAgPSBpbnZlcnQoc2VsMCk7XG4gICAgICBsZXQgZDEgPSBpbnZlcnQoc2VsMSk7XG4gICAgICAvLyB0aGlzIG1ha2VzIHN1cmUgaWYgcG9pbnRzIGFyZSByaWdodCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBkb21haW5zIGFyZSBkaXNwbGF5ZWQgY29ycmVjdGx5XG4gICAgICAvLyB0aGUgcHJvYmxlbSBoZXJlIGlzIGJpc2VjdExlZnR4XG4gICAgICBkMCA9IGQwID09PSBtaW4gPyBkMCA6IG5vcm1hbGl6ZVNsaWRlclZhbHVlKGQwLCBtaW4sIHN0ZXAsIG1hcmtzKTtcbiAgICAgIGQxID0gbm9ybWFsaXplU2xpZGVyVmFsdWUoZDEsIG1pbiwgc3RlcCwgbWFya3MpO1xuXG4gICAgICBpZiAoaXNSYW5nZWQpIHRoaXMuX21vdmUoZDAsIGQxKTtcbiAgICAgIGVsc2UgdGhpcy5fbW92ZSguLi4ocmlnaHQgPyBbZDEsIGQxXSA6IFtkMCwgZDBdKSk7XG5cbiAgICAgIGlmIChpc1JhbmdlZCkgdGhpcy5fb25CcnVzaChkMCwgZDEpO1xuICAgICAgZWxzZSB0aGlzLl9vbkJydXNoKHJpZ2h0ID8gZDEgOiBkMCk7XG4gICAgfTtcblxuICAgIF9vbkJydXNoKHZhbDAgPSAwLCB2YWwxID0gMCkge1xuICAgICAgY29uc3Qge1xuICAgICAgICBpc1JhbmdlZCxcbiAgICAgICAgdmFsdWU6IFtjdXJyZW50VmFsMCwgY3VycmVudFZhbDFdXG4gICAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgaWYgKGN1cnJlbnRWYWwwID09PSB2YWwwICYmIGN1cnJlbnRWYWwxID09PSB2YWwxKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzUmFuZ2VkKSB7XG4gICAgICAgIHRoaXMucHJvcHMub25CcnVzaCh2YWwwLCB2YWwxKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucHJvcHMub25CcnVzaCh2YWwwLCB2YWwwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7aXNSYW5nZWR9ID0gdGhpcy5wcm9wcztcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxTdHlsZWRHIGNsYXNzTmFtZT1cImtnLXJhbmdlLXNsaWRlcl9fYnJ1c2hcIiAkaXNSYW5nZWQ9e2lzUmFuZ2VkfSByZWY9e3RoaXMucm9vdENvbnRhaW5lcn0gLz5cbiAgICAgICk7XG4gICAgfVxuICB9XG4gIHJldHVybiB3aXRoVGhlbWUoUmFuZ2VCcnVzaCk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IFJhbmdlQnJ1c2hGYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQTtBQUNBOztBQUVBLE9BQU9BLEtBQUssSUFBR0MsU0FBUyxFQUFFQyxTQUFTLFFBQU8sT0FBTztBQUNqRCxPQUFPQyxNQUFNLElBQUdDLFNBQVMsUUFBTyxtQkFBbUI7QUFDbkQsU0FBUUMsTUFBTSxRQUFrQixjQUFjO0FBQzlDLFNBQXVCQyxNQUFNLFFBQU8sVUFBVTtBQUM5QyxTQUFRQyxvQkFBb0IsUUFB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
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
4
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
5
|
+
import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
|
|
6
|
+
var _excluded = ["bins", "onBrush", "range", "value", "width", "plotType", "lineChart", "isEnlarged", "isRanged", "theme"],
|
|
7
|
+
_excluded2 = ["lineChart", "plotType", "bins", "setFilterPlot", "isEnlarged", "theme"];
|
|
8
|
+
var _templateObject;
|
|
9
|
+
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; }
|
|
10
|
+
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; }
|
|
11
|
+
// SPDX-License-Identifier: MIT
|
|
12
|
+
// Copyright contributors to the kepler.gl project
|
|
13
|
+
|
|
14
|
+
import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
15
|
+
import styled, { withTheme } from 'styled-components';
|
|
16
|
+
import RangeBrushFactory from './range-brush';
|
|
17
|
+
import HistogramPlotFactory from './histogram-plot';
|
|
18
|
+
import LineChartFactory from './line-chart';
|
|
19
|
+
import { hasMobileWidth, isTest } from '@kepler.gl/utils';
|
|
20
|
+
import { PLOT_TYPES } from '@kepler.gl/constants';
|
|
21
|
+
import LoadingSpinner from './loading-spinner';
|
|
22
|
+
import { breakPointValues } from '@kepler.gl/styles';
|
|
23
|
+
var StyledRangePlot = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n margin-bottom: ", "px;\n display: flex;\n position: relative;\n"])), function (props) {
|
|
24
|
+
return props.theme.sliderBarHeight;
|
|
25
|
+
});
|
|
26
|
+
RangePlotFactory.deps = [RangeBrushFactory, HistogramPlotFactory, LineChartFactory];
|
|
27
|
+
var isHistogramPlot = function isHistogramPlot(plotType) {
|
|
28
|
+
return (plotType === null || plotType === void 0 ? void 0 : plotType.type) === PLOT_TYPES.histogram;
|
|
29
|
+
};
|
|
30
|
+
var isLineChart = function isLineChart(plotType) {
|
|
31
|
+
return (plotType === null || plotType === void 0 ? void 0 : plotType.type) === PLOT_TYPES.lineChart;
|
|
32
|
+
};
|
|
33
|
+
var hasHistogram = function hasHistogram(plotType, bins) {
|
|
34
|
+
return isHistogramPlot(plotType) && bins;
|
|
35
|
+
};
|
|
36
|
+
var hasLineChart = function hasLineChart(plotType, lineChart) {
|
|
37
|
+
return isLineChart(plotType) && lineChart;
|
|
38
|
+
};
|
|
39
|
+
var LOADING_SPINNER_CONTAINER_STYLE = {
|
|
40
|
+
display: 'flex',
|
|
41
|
+
alignItems: 'center',
|
|
42
|
+
justifyContent: 'center',
|
|
43
|
+
width: '100%'
|
|
44
|
+
};
|
|
45
|
+
export default function RangePlotFactory(RangeBrush, HistogramPlot, LineChartPlot) {
|
|
46
|
+
var RangePlot = function RangePlot(_ref) {
|
|
47
|
+
var bins = _ref.bins,
|
|
48
|
+
onBrush = _ref.onBrush,
|
|
49
|
+
range = _ref.range,
|
|
50
|
+
value = _ref.value,
|
|
51
|
+
width = _ref.width,
|
|
52
|
+
plotType = _ref.plotType,
|
|
53
|
+
lineChart = _ref.lineChart,
|
|
54
|
+
isEnlarged = _ref.isEnlarged,
|
|
55
|
+
isRanged = _ref.isRanged,
|
|
56
|
+
theme = _ref.theme,
|
|
57
|
+
chartProps = _objectWithoutProperties(_ref, _excluded);
|
|
58
|
+
var groupColors = useMemo(function () {
|
|
59
|
+
var dataIds = bins ? Object.keys(bins) : [];
|
|
60
|
+
return plotType.colorsByDataId ? dataIds.reduce(function (acc, dataId) {
|
|
61
|
+
acc[dataId] = plotType.colorsByDataId[dataId];
|
|
62
|
+
return acc;
|
|
63
|
+
}, {}) : null;
|
|
64
|
+
}, [bins, plotType.colorsByDataId]);
|
|
65
|
+
var _useState = useState(false),
|
|
66
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
67
|
+
brushing = _useState2[0],
|
|
68
|
+
setBrushing = _useState2[1];
|
|
69
|
+
var _useState3 = useState(null),
|
|
70
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
71
|
+
hoveredDP = _useState4[0],
|
|
72
|
+
onMouseMove = _useState4[1];
|
|
73
|
+
var _useState5 = useState(false),
|
|
74
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
75
|
+
enableChartHover = _useState6[0],
|
|
76
|
+
setEnableChartHover = _useState6[1];
|
|
77
|
+
var height = isEnlarged ? hasMobileWidth(breakPointValues) ? theme.rangePlotHLargePalm : theme.rangePlotHLarge : theme.rangePlotH;
|
|
78
|
+
var onBrushStart = useCallback(function () {
|
|
79
|
+
setBrushing(true);
|
|
80
|
+
onMouseMove(null);
|
|
81
|
+
setEnableChartHover(false);
|
|
82
|
+
}, [setBrushing, onMouseMove, setEnableChartHover]);
|
|
83
|
+
var onBrushEnd = useCallback(function () {
|
|
84
|
+
setBrushing(false);
|
|
85
|
+
setEnableChartHover(true);
|
|
86
|
+
}, [setBrushing, setEnableChartHover]);
|
|
87
|
+
var onMouseoverHandle = useCallback(function () {
|
|
88
|
+
onMouseMove(null);
|
|
89
|
+
setEnableChartHover(false);
|
|
90
|
+
}, [onMouseMove, setEnableChartHover]);
|
|
91
|
+
var onMouseoutHandle = useCallback(function () {
|
|
92
|
+
setEnableChartHover(true);
|
|
93
|
+
}, [setEnableChartHover]);
|
|
94
|
+
|
|
95
|
+
// JsDom have limited support for SVG, d3 will fail
|
|
96
|
+
var brushComponent = isTest() ? null : /*#__PURE__*/React.createElement(RangeBrush, _extends({
|
|
97
|
+
onBrush: onBrush,
|
|
98
|
+
onBrushStart: onBrushStart,
|
|
99
|
+
onBrushEnd: onBrushEnd,
|
|
100
|
+
range: range,
|
|
101
|
+
value: value,
|
|
102
|
+
width: width,
|
|
103
|
+
height: height,
|
|
104
|
+
isRanged: isRanged,
|
|
105
|
+
onMouseoverHandle: onMouseoverHandle,
|
|
106
|
+
onMouseoutHandle: onMouseoutHandle
|
|
107
|
+
}, chartProps));
|
|
108
|
+
var commonProps = _objectSpread({
|
|
109
|
+
width: width,
|
|
110
|
+
value: value,
|
|
111
|
+
height: height,
|
|
112
|
+
margin: isEnlarged ? theme.rangePlotMarginLarge : theme.rangePlotMargin,
|
|
113
|
+
brushComponent: brushComponent,
|
|
114
|
+
brushing: brushing,
|
|
115
|
+
isEnlarged: isEnlarged,
|
|
116
|
+
enableChartHover: enableChartHover,
|
|
117
|
+
onMouseMove: onMouseMove,
|
|
118
|
+
hoveredDP: hoveredDP,
|
|
119
|
+
isRanged: isRanged,
|
|
120
|
+
onBrush: onBrush
|
|
121
|
+
}, chartProps);
|
|
122
|
+
return isLineChart(plotType) && lineChart ? /*#__PURE__*/React.createElement(LineChartPlot, _extends({
|
|
123
|
+
lineChart: lineChart,
|
|
124
|
+
range: range,
|
|
125
|
+
yAxisAutoRange: plotType.yAxisAutoRange
|
|
126
|
+
}, commonProps)) : /*#__PURE__*/React.createElement(HistogramPlot, _extends({
|
|
127
|
+
histogramsByGroup: bins,
|
|
128
|
+
colorsByGroup: groupColors,
|
|
129
|
+
range: range
|
|
130
|
+
}, commonProps));
|
|
131
|
+
};
|
|
132
|
+
var RangePlotWithTheme = withTheme(RangePlot);
|
|
133
|
+
|
|
134
|
+
// a container to render spinner or message when the data is too big
|
|
135
|
+
// to generate a plot
|
|
136
|
+
var WithPlotLoading = function WithPlotLoading(_ref2) {
|
|
137
|
+
var lineChart = _ref2.lineChart,
|
|
138
|
+
plotType = _ref2.plotType,
|
|
139
|
+
bins = _ref2.bins,
|
|
140
|
+
setFilterPlot = _ref2.setFilterPlot,
|
|
141
|
+
isEnlarged = _ref2.isEnlarged,
|
|
142
|
+
theme = _ref2.theme,
|
|
143
|
+
otherProps = _objectWithoutProperties(_ref2, _excluded2);
|
|
144
|
+
var _useState7 = useState(false),
|
|
145
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
146
|
+
isLoading = _useState8[0],
|
|
147
|
+
setIsLoading = _useState8[1];
|
|
148
|
+
var isChangingRef = useRef(false);
|
|
149
|
+
useEffect(function () {
|
|
150
|
+
if (isChangingRef.current) {
|
|
151
|
+
if (hasHistogram(plotType, bins)) {
|
|
152
|
+
// Bins are loaded
|
|
153
|
+
isChangingRef.current = false;
|
|
154
|
+
}
|
|
155
|
+
} else {
|
|
156
|
+
if (!plotType || isHistogramPlot(plotType) && !bins) {
|
|
157
|
+
// load histogram
|
|
158
|
+
setIsLoading(true);
|
|
159
|
+
setFilterPlot({
|
|
160
|
+
plotType: {
|
|
161
|
+
type: PLOT_TYPES.histogram
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
isChangingRef.current = true;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}, [bins, plotType, setFilterPlot]);
|
|
168
|
+
useEffect(function () {
|
|
169
|
+
if (isChangingRef.current) {
|
|
170
|
+
if (hasLineChart(plotType, lineChart)) {
|
|
171
|
+
// Line chart is loaded
|
|
172
|
+
isChangingRef.current = false;
|
|
173
|
+
}
|
|
174
|
+
} else {
|
|
175
|
+
if (isLineChart(plotType) && !lineChart) {
|
|
176
|
+
// load line chart
|
|
177
|
+
setIsLoading(true);
|
|
178
|
+
setFilterPlot({
|
|
179
|
+
plotType: {
|
|
180
|
+
type: PLOT_TYPES.lineChart
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
isChangingRef.current = true;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}, [lineChart, plotType, setFilterPlot]);
|
|
187
|
+
var rangePlotStyle = useMemo(function () {
|
|
188
|
+
return {
|
|
189
|
+
height: "".concat(isEnlarged ? hasMobileWidth(breakPointValues) ? theme.rangePlotContainerHLargePalm : theme.rangePlotContainerHLarge : theme.rangePlotContainerH, "px")
|
|
190
|
+
};
|
|
191
|
+
}, [isEnlarged, theme]);
|
|
192
|
+
return /*#__PURE__*/React.createElement(StyledRangePlot, {
|
|
193
|
+
style: rangePlotStyle,
|
|
194
|
+
className: "kg-range-slider__plot"
|
|
195
|
+
}, isLoading ? /*#__PURE__*/React.createElement("div", {
|
|
196
|
+
style: LOADING_SPINNER_CONTAINER_STYLE
|
|
197
|
+
}, /*#__PURE__*/React.createElement(LoadingSpinner, {
|
|
198
|
+
borderColor: "transparent",
|
|
199
|
+
size: 40
|
|
200
|
+
})) : /*#__PURE__*/React.createElement(RangePlotWithTheme, _extends({
|
|
201
|
+
lineChart: lineChart,
|
|
202
|
+
bins: bins,
|
|
203
|
+
plotType: plotType,
|
|
204
|
+
isEnlarged: isEnlarged,
|
|
205
|
+
theme: theme
|
|
206
|
+
}, otherProps)));
|
|
207
|
+
};
|
|
208
|
+
return withTheme(WithPlotLoading);
|
|
209
|
+
}
|
|
210
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNhbGxiYWNrIiwidXNlRWZmZWN0IiwidXNlTWVtbyIsInVzZVJlZiIsInVzZVN0YXRlIiwic3R5bGVkIiwid2l0aFRoZW1lIiwiUmFuZ2VCcnVzaEZhY3RvcnkiLCJIaXN0b2dyYW1QbG90RmFjdG9yeSIsIkxpbmVDaGFydEZhY3RvcnkiLCJoYXNNb2JpbGVXaWR0aCIsImlzVGVzdCIsIlBMT1RfVFlQRVMiLCJMb2FkaW5nU3Bpbm5lciIsImJyZWFrUG9pbnRWYWx1ZXMiLCJTdHlsZWRSYW5nZVBsb3QiLCJkaXYiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsIiwicHJvcHMiLCJ0aGVtZSIsInNsaWRlckJhckhlaWdodCIsIlJhbmdlUGxvdEZhY3RvcnkiLCJkZXBzIiwiaXNIaXN0b2dyYW1QbG90IiwicGxvdFR5cGUiLCJ0eXBlIiwiaGlzdG9ncmFtIiwiaXNMaW5lQ2hhcnQiLCJsaW5lQ2hhcnQiLCJoYXNIaXN0b2dyYW0iLCJiaW5zIiwiaGFzTGluZUNoYXJ0IiwiTE9BRElOR19TUElOTkVSX0NPTlRBSU5FUl9TVFlMRSIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwianVzdGlmeUNvbnRlbnQiLCJ3aWR0aCIsIlJhbmdlQnJ1c2giLCJIaXN0b2dyYW1QbG90IiwiTGluZUNoYXJ0UGxvdCIsIlJhbmdlUGxvdCIsIl9yZWYiLCJvbkJydXNoIiwicmFuZ2UiLCJ2YWx1ZSIsImlzRW5sYXJnZWQiLCJpc1JhbmdlZCIsImNoYXJ0UHJvcHMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJncm91cENvbG9ycyIsImRhdGFJZHMiLCJPYmplY3QiLCJrZXlzIiwiY29sb3JzQnlEYXRhSWQiLCJyZWR1Y2UiLCJhY2MiLCJkYXRhSWQiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJicnVzaGluZyIsInNldEJydXNoaW5nIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJob3ZlcmVkRFAiLCJvbk1vdXNlTW92ZSIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiZW5hYmxlQ2hhcnRIb3ZlciIsInNldEVuYWJsZUNoYXJ0SG92ZXIiLCJoZWlnaHQiLCJyYW5nZVBsb3RITGFyZ2VQYWxtIiwicmFuZ2VQbG90SExhcmdlIiwicmFuZ2VQbG90SCIsIm9uQnJ1c2hTdGFydCIsIm9uQnJ1c2hFbmQiLCJvbk1vdXNlb3ZlckhhbmRsZSIsIm9uTW91c2VvdXRIYW5kbGUiLCJicnVzaENvbXBvbmVudCIsImNyZWF0ZUVsZW1lbnQiLCJfZXh0ZW5kcyIsImNvbW1vblByb3BzIiwiX29iamVjdFNwcmVhZCIsIm1hcmdpbiIsInJhbmdlUGxvdE1hcmdpbkxhcmdlIiwicmFuZ2VQbG90TWFyZ2luIiwieUF4aXNBdXRvUmFuZ2UiLCJoaXN0b2dyYW1zQnlHcm91cCIsImNvbG9yc0J5R3JvdXAiLCJSYW5nZVBsb3RXaXRoVGhlbWUiLCJXaXRoUGxvdExvYWRpbmciLCJfcmVmMiIsInNldEZpbHRlclBsb3QiLCJvdGhlclByb3BzIiwiX2V4Y2x1ZGVkMiIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiaXNMb2FkaW5nIiwic2V0SXNMb2FkaW5nIiwiaXNDaGFuZ2luZ1JlZiIsImN1cnJlbnQiLCJyYW5nZVBsb3RTdHlsZSIsImNvbmNhdCIsInJhbmdlUGxvdENvbnRhaW5lckhMYXJnZVBhbG0iLCJyYW5nZVBsb3RDb250YWluZXJITGFyZ2UiLCJyYW5nZVBsb3RDb250YWluZXJIIiwic3R5bGUiLCJjbGFzc05hbWUiLCJib3JkZXJDb2xvciIsInNpemUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbW9uL3JhbmdlLXBsb3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUsIENTU1Byb3BlcnRpZXN9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQsIHt3aXRoVGhlbWV9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBSYW5nZUJydXNoRmFjdG9yeSwge09uQnJ1c2gsIFJhbmdlQnJ1c2hQcm9wc30gZnJvbSAnLi9yYW5nZS1icnVzaCc7XG5pbXBvcnQgSGlzdG9ncmFtUGxvdEZhY3RvcnkgZnJvbSAnLi9oaXN0b2dyYW0tcGxvdCc7XG5pbXBvcnQgTGluZUNoYXJ0RmFjdG9yeSwge0hvdmVyRFB9IGZyb20gJy4vbGluZS1jaGFydCc7XG5pbXBvcnQge2hhc01vYmlsZVdpZHRoLCBpc1Rlc3R9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuaW1wb3J0IHtQTE9UX1RZUEVTfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQgTG9hZGluZ1NwaW5uZXIgZnJvbSAnLi9sb2FkaW5nLXNwaW5uZXInO1xuaW1wb3J0IHticmVha1BvaW50VmFsdWVzfSBmcm9tICdAa2VwbGVyLmdsL3N0eWxlcyc7XG5pbXBvcnQge0xpbmVDaGFydCBhcyBMaW5lQ2hhcnRUeXBlLCBGaWx0ZXIsIEJpbnN9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtEYXRhc2V0c30gZnJvbSAnQGtlcGxlci5nbC90YWJsZSc7XG5cbmNvbnN0IFN0eWxlZFJhbmdlUGxvdCA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2xpZGVyQmFySGVpZ2h0fXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5gO1xuXG5pbnRlcmZhY2UgUmFuZ2VQbG90UHJvcHMge1xuICBvbkJydXNoOiBPbkJydXNoO1xuICByYW5nZTogbnVtYmVyW107XG4gIHZhbHVlOiBudW1iZXJbXTtcbiAgd2lkdGg6IG51bWJlcjtcbiAgcGxvdFR5cGU6IHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gIH07XG4gIGxpbmVDaGFydD86IExpbmVDaGFydFR5cGU7XG4gIGJpbnM/OiBCaW5zO1xuXG4gIGlzRW5sYXJnZWQ/OiBib29sZWFuO1xuICBpc1JhbmdlZD86IGJvb2xlYW47XG4gIHRoZW1lOiBhbnk7XG4gIHRpbWVGb3JtYXQ/OiBzdHJpbmc7XG4gIHRpbWV6b25lPzogc3RyaW5nIHwgbnVsbDtcbiAgcGxheWJhY2tDb250cm9sV2lkdGg/OiBudW1iZXI7XG5cbiAgYW5pbWF0aW9uV2luZG93Pzogc3RyaW5nO1xuICBmaWx0ZXI/OiBGaWx0ZXI7XG4gIGRhdGFzZXRzPzogRGF0YXNldHM7XG5cbiAgaW52ZXJ0VHJlbmRDb2xvcj86IGJvb2xlYW47XG5cbiAgc3R5bGU6IENTU1Byb3BlcnRpZXM7XG59XG5cbnR5cGUgV2l0aFBsb3RMb2FkaW5nUHJvcHMgPSBSYW5nZVBsb3RQcm9wcyAmXG4gIFBhcnRpYWw8UmFuZ2VCcnVzaFByb3BzPiAmIHtcbiAgICBzZXRGaWx0ZXJQbG90OiBhbnk7XG4gIH07XG5cblJhbmdlUGxvdEZhY3RvcnkuZGVwcyA9IFtSYW5nZUJydXNoRmFjdG9yeSwgSGlzdG9ncmFtUGxvdEZhY3RvcnksIExpbmVDaGFydEZhY3RvcnldO1xuXG5jb25zdCBpc0hpc3RvZ3JhbVBsb3QgPSBwbG90VHlwZSA9PiBwbG90VHlwZT8udHlwZSA9PT0gUExPVF9UWVBFUy5oaXN0b2dyYW07XG5jb25zdCBpc0xpbmVDaGFydCA9IHBsb3RUeXBlID0+IHBsb3RUeXBlPy50eXBlID09PSBQTE9UX1RZUEVTLmxpbmVDaGFydDtcbmNvbnN0IGhhc0hpc3RvZ3JhbSA9IChwbG90VHlwZSwgYmlucykgPT4gaXNIaXN0b2dyYW1QbG90KHBsb3RUeXBlKSAmJiBiaW5zO1xuY29uc3QgaGFzTGluZUNoYXJ0ID0gKHBsb3RUeXBlLCBsaW5lQ2hhcnQpID0+IGlzTGluZUNoYXJ0KHBsb3RUeXBlKSAmJiBsaW5lQ2hhcnQ7XG5cbmNvbnN0IExPQURJTkdfU1BJTk5FUl9DT05UQUlORVJfU1RZTEUgPSB7XG4gIGRpc3BsYXk6ICdmbGV4JyxcbiAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgd2lkdGg6ICcxMDAlJ1xufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUmFuZ2VQbG90RmFjdG9yeShcbiAgUmFuZ2VCcnVzaDogUmV0dXJuVHlwZTx0eXBlb2YgUmFuZ2VCcnVzaEZhY3Rvcnk+LFxuICBIaXN0b2dyYW1QbG90OiBSZXR1cm5UeXBlPHR5cGVvZiBIaXN0b2dyYW1QbG90RmFjdG9yeT4sXG4gIExpbmVDaGFydFBsb3Q6IFJldHVyblR5cGU8dHlwZW9mIExpbmVDaGFydEZhY3Rvcnk+XG4pIHtcbiAgY29uc3QgUmFuZ2VQbG90ID0gKHtcbiAgICBiaW5zLFxuICAgIG9uQnJ1c2gsXG4gICAgcmFuZ2UsXG4gICAgdmFsdWUsXG4gICAgd2lkdGgsXG4gICAgcGxvdFR5cGUsXG4gICAgbGluZUNoYXJ0LFxuICAgIGlzRW5sYXJnZWQsXG4gICAgaXNSYW5nZWQsXG4gICAgdGhlbWUsXG4gICAgLi4uY2hhcnRQcm9wc1xuICB9OiBSYW5nZVBsb3RQcm9wcyAmIFBhcnRpYWw8UmFuZ2VCcnVzaFByb3BzPikgPT4ge1xuICAgIGNvbnN0IGdyb3VwQ29sb3JzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBjb25zdCBkYXRhSWRzID0gYmlucyA/IE9iamVjdC5rZXlzKGJpbnMpIDogW107XG4gICAgICByZXR1cm4gcGxvdFR5cGUuY29sb3JzQnlEYXRhSWRcbiAgICAgICAgPyBkYXRhSWRzLnJlZHVjZSgoYWNjLCBkYXRhSWQpID0+IHtcbiAgICAgICAgICAgIGFjY1tkYXRhSWRdID0gcGxvdFR5cGUuY29sb3JzQnlEYXRhSWRbZGF0YUlkXTtcbiAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgfSwge30pXG4gICAgICAgIDogbnVsbDtcbiAgICB9LCBbYmlucywgcGxvdFR5cGUuY29sb3JzQnlEYXRhSWRdKTtcblxuICAgIGNvbnN0IFticnVzaGluZywgc2V0QnJ1c2hpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtob3ZlcmVkRFAsIG9uTW91c2VNb3ZlXSA9IHVzZVN0YXRlPEhvdmVyRFAgfCBudWxsPihudWxsKTtcbiAgICBjb25zdCBbZW5hYmxlQ2hhcnRIb3Zlciwgc2V0RW5hYmxlQ2hhcnRIb3Zlcl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgaGVpZ2h0ID0gaXNFbmxhcmdlZFxuICAgICAgPyBoYXNNb2JpbGVXaWR0aChicmVha1BvaW50VmFsdWVzKVxuICAgICAgICA/IHRoZW1lLnJhbmdlUGxvdEhMYXJnZVBhbG1cbiAgICAgICAgOiB0aGVtZS5yYW5nZVBsb3RITGFyZ2VcbiAgICAgIDogdGhlbWUucmFuZ2VQbG90SDtcblxuICAgIGNvbnN0IG9uQnJ1c2hTdGFydCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIHNldEJydXNoaW5nKHRydWUpO1xuICAgICAgb25Nb3VzZU1vdmUobnVsbCk7XG4gICAgICBzZXRFbmFibGVDaGFydEhvdmVyKGZhbHNlKTtcbiAgICB9LCBbc2V0QnJ1c2hpbmcsIG9uTW91c2VNb3ZlLCBzZXRFbmFibGVDaGFydEhvdmVyXSk7XG5cbiAgICBjb25zdCBvbkJydXNoRW5kID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgc2V0QnJ1c2hpbmcoZmFsc2UpO1xuICAgICAgc2V0RW5hYmxlQ2hhcnRIb3Zlcih0cnVlKTtcbiAgICB9LCBbc2V0QnJ1c2hpbmcsIHNldEVuYWJsZUNoYXJ0SG92ZXJdKTtcblxuICAgIGNvbnN0IG9uTW91c2VvdmVySGFuZGxlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgb25Nb3VzZU1vdmUobnVsbCk7XG4gICAgICBzZXRFbmFibGVDaGFydEhvdmVyKGZhbHNlKTtcbiAgICB9LCBbb25Nb3VzZU1vdmUsIHNldEVuYWJsZUNoYXJ0SG92ZXJdKTtcblxuICAgIGNvbnN0IG9uTW91c2VvdXRIYW5kbGUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRFbmFibGVDaGFydEhvdmVyKHRydWUpO1xuICAgIH0sIFtzZXRFbmFibGVDaGFydEhvdmVyXSk7XG5cbiAgICAvLyBKc0RvbSBoYXZlIGxpbWl0ZWQgc3VwcG9ydCBmb3IgU1ZHLCBkMyB3aWxsIGZhaWxcbiAgICBjb25zdCBicnVzaENvbXBvbmVudCA9IGlzVGVzdCgpID8gbnVsbCA6IChcbiAgICAgIDxSYW5nZUJydXNoXG4gICAgICAgIG9uQnJ1c2g9e29uQnJ1c2h9XG4gICAgICAgIG9uQnJ1c2hTdGFydD17b25CcnVzaFN0YXJ0fVxuICAgICAgICBvbkJydXNoRW5kPXtvbkJydXNoRW5kfVxuICAgICAgICByYW5nZT17cmFuZ2V9XG4gICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgICBoZWlnaHQ9e2hlaWdodH1cbiAgICAgICAgaXNSYW5nZWQ9e2lzUmFuZ2VkfVxuICAgICAgICBvbk1vdXNlb3ZlckhhbmRsZT17b25Nb3VzZW92ZXJIYW5kbGV9XG4gICAgICAgIG9uTW91c2VvdXRIYW5kbGU9e29uTW91c2VvdXRIYW5kbGV9XG4gICAgICAgIHsuLi5jaGFydFByb3BzfVxuICAgICAgLz5cbiAgICApO1xuXG4gICAgY29uc3QgY29tbW9uUHJvcHMgPSB7XG4gICAgICB3aWR0aCxcbiAgICAgIHZhbHVlLFxuICAgICAgaGVpZ2h0LFxuICAgICAgbWFyZ2luOiBpc0VubGFyZ2VkID8gdGhlbWUucmFuZ2VQbG90TWFyZ2luTGFyZ2UgOiB0aGVtZS5yYW5nZVBsb3RNYXJnaW4sXG4gICAgICBicnVzaENvbXBvbmVudCxcbiAgICAgIGJydXNoaW5nLFxuICAgICAgaXNFbmxhcmdlZCxcbiAgICAgIGVuYWJsZUNoYXJ0SG92ZXIsXG4gICAgICBvbk1vdXNlTW92ZSxcbiAgICAgIGhvdmVyZWREUCxcbiAgICAgIGlzUmFuZ2VkLFxuICAgICAgb25CcnVzaCxcbiAgICAgIC4uLmNoYXJ0UHJvcHNcbiAgICB9O1xuXG4gICAgcmV0dXJuIGlzTGluZUNoYXJ0KHBsb3RUeXBlKSAmJiBsaW5lQ2hhcnQgPyAoXG4gICAgICA8TGluZUNoYXJ0UGxvdCBsaW5lQ2hhcnQ9e2xpbmVDaGFydH0gcmFuZ2U9e3JhbmdlfSB5QXhpc0F1dG9SYW5nZT17cGxvdFR5cGUueUF4aXNBdXRvUmFuZ2V9IHsuLi5jb21tb25Qcm9wc30gLz5cbiAgICApIDogKFxuICAgICAgPEhpc3RvZ3JhbVBsb3RcbiAgICAgICAgaGlzdG9ncmFtc0J5R3JvdXA9e2JpbnN9XG4gICAgICAgIGNvbG9yc0J5R3JvdXA9e2dyb3VwQ29sb3JzfVxuICAgICAgICByYW5nZT17cmFuZ2V9XG4gICAgICAgIHsuLi5jb21tb25Qcm9wc31cbiAgICAgIC8+XG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBSYW5nZVBsb3RXaXRoVGhlbWUgPSB3aXRoVGhlbWUoUmFuZ2VQbG90KSBhcyBSZWFjdC5GQzxcbiAgICBSYW5nZVBsb3RQcm9wcyAmIFBhcnRpYWw8UmFuZ2VCcnVzaFByb3BzPlxuICA+O1xuXG4gIC8vIGEgY29udGFpbmVyIHRvIHJlbmRlciBzcGlubmVyIG9yIG1lc3NhZ2Ugd2hlbiB0aGUgZGF0YSBpcyB0b28gYmlnXG4gIC8vIHRvIGdlbmVyYXRlIGEgcGxvdFxuICBjb25zdCBXaXRoUGxvdExvYWRpbmcgPSAoe1xuICAgIGxpbmVDaGFydCxcbiAgICBwbG90VHlwZSxcbiAgICBiaW5zLFxuICAgIHNldEZpbHRlclBsb3QsXG4gICAgaXNFbmxhcmdlZCxcbiAgICB0aGVtZSxcbiAgICAuLi5vdGhlclByb3BzXG4gIH06IFdpdGhQbG90TG9hZGluZ1Byb3BzKSA9PiB7XG4gICAgY29uc3QgW2lzTG9hZGluZywgc2V0SXNMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBpc0NoYW5naW5nUmVmID0gdXNlUmVmKGZhbHNlKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoaXNDaGFuZ2luZ1JlZi5jdXJyZW50KSB7XG4gICAgICAgIGlmIChoYXNIaXN0b2dyYW0ocGxvdFR5cGUsIGJpbnMpKSB7XG4gICAgICAgICAgLy8gQmlucyBhcmUgbG9hZGVkXG4gICAgICAgICAgaXNDaGFuZ2luZ1JlZi5jdXJyZW50ID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICghcGxvdFR5cGUgfHwgKGlzSGlzdG9ncmFtUGxvdChwbG90VHlwZSkgJiYgIWJpbnMpKSB7XG4gICAgICAgICAgLy8gbG9hZCBoaXN0b2dyYW1cbiAgICAgICAgICBzZXRJc0xvYWRpbmcodHJ1ZSk7XG4gICAgICAgICAgc2V0RmlsdGVyUGxvdCh7cGxvdFR5cGU6IHt0eXBlOiBQTE9UX1RZUEVTLmhpc3RvZ3JhbX19KTtcbiAgICAgICAgICBpc0NoYW5naW5nUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSwgW2JpbnMsIHBsb3RUeXBlLCBzZXRGaWx0ZXJQbG90XSk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKGlzQ2hhbmdpbmdSZWYuY3VycmVudCkge1xuICAgICAgICBpZiAoaGFzTGluZUNoYXJ0KHBsb3RUeXBlLCBsaW5lQ2hhcnQpKSB7XG4gICAgICAgICAgLy8gTGluZSBjaGFydCBpcyBsb2FkZWRcbiAgICAgICAgICBpc0NoYW5naW5nUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGlzTGluZUNoYXJ0KHBsb3RUeXBlKSAmJiAhbGluZUNoYXJ0KSB7XG4gICAgICAgICAgLy8gbG9hZCBsaW5lIGNoYXJ0XG4gICAgICAgICAgc2V0SXNMb2FkaW5nKHRydWUpO1xuICAgICAgICAgIHNldEZpbHRlclBsb3Qoe3Bsb3RUeXBlOiB7dHlwZTogUExPVF9UWVBFUy5saW5lQ2hhcnR9fSk7XG4gICAgICAgICAgaXNDaGFuZ2luZ1JlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sIFtsaW5lQ2hhcnQsIHBsb3RUeXBlLCBzZXRGaWx0ZXJQbG90XSk7XG5cbiAgICBjb25zdCByYW5nZVBsb3RTdHlsZSA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiAoe1xuICAgICAgICBoZWlnaHQ6IGAke1xuICAgICAgICAgIGlzRW5sYXJnZWRcbiAgICAgICAgICAgID8gaGFzTW9iaWxlV2lkdGgoYnJlYWtQb2ludFZhbHVlcylcbiAgICAgICAgICAgICAgPyB0aGVtZS5yYW5nZVBsb3RDb250YWluZXJITGFyZ2VQYWxtXG4gICAgICAgICAgICAgIDogdGhlbWUucmFuZ2VQbG90Q29udGFpbmVySExhcmdlXG4gICAgICAgICAgICA6IHRoZW1lLnJhbmdlUGxvdENvbnRhaW5lckhcbiAgICAgICAgfXB4YFxuICAgICAgfSksXG4gICAgICBbaXNFbmxhcmdlZCwgdGhlbWVdXG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkUmFuZ2VQbG90IHN0eWxlPXtyYW5nZVBsb3RTdHlsZX0gY2xhc3NOYW1lPVwia2ctcmFuZ2Utc2xpZGVyX19wbG90XCI+XG4gICAgICAgIHtpc0xvYWRpbmcgPyAoXG4gICAgICAgICAgPGRpdiBzdHlsZT17TE9BRElOR19TUElOTkVSX0NPTlRBSU5FUl9TVFlMRX0+XG4gICAgICAgICAgICA8TG9hZGluZ1NwaW5uZXIgYm9yZGVyQ29sb3I9XCJ0cmFuc3BhcmVudFwiIHNpemU9ezQwfSAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxSYW5nZVBsb3RXaXRoVGhlbWVcbiAgICAgICAgICAgIGxpbmVDaGFydD17bGluZUNoYXJ0fVxuICAgICAgICAgICAgYmlucz17Ymluc31cbiAgICAgICAgICAgIHBsb3RUeXBlPXtwbG90VHlwZX1cbiAgICAgICAgICAgIGlzRW5sYXJnZWQ9e2lzRW5sYXJnZWR9XG4gICAgICAgICAgICB0aGVtZT17dGhlbWV9XG4gICAgICAgICAgICB7Li4ub3RoZXJQcm9wc31cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9TdHlsZWRSYW5nZVBsb3Q+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gd2l0aFRoZW1lKFdpdGhQbG90TG9hZGluZykgYXMgUmVhY3QuRkM8T21pdDxXaXRoUGxvdExvYWRpbmdQcm9wcywgJ3RoZW1lJz4+O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUE7QUFDQTs7QUFFQSxPQUFPQSxLQUFLLElBQUdDLFdBQVcsRUFBRUMsU0FBUyxFQUFFQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxRQUFzQixPQUFPO0FBQzdGLE9BQU9DLE1BQU0sSUFBR0MsU0FBUyxRQUFPLG1CQUFtQjtBQUNuRCxPQUFPQyxpQkFBaUIsTUFBa0MsZUFBZTtBQUN6RSxPQUFPQyxvQkFBb0IsTUFBTSxrQkFBa0I7QUFDbkQsT0FBT0MsZ0JBQWdCLE1BQWlCLGNBQWM7QUFDdEQsU0FBUUMsY0FBYyxFQUFFQyxNQUFNLFFBQU8sa0JBQWtCO0FBQ3ZELFNBQVFDLFVBQVUsUUFBTyxzQkFBc0I7QUFDL0MsT0FBT0MsY0FBYyxNQUFNLG1CQUFtQjtBQUM5QyxTQUFRQyxnQkFBZ0IsUUFBTyxtQkFBbUI7QUFJbEQsSUFBTUMsZUFBZSxHQUFHVixNQUFNLENBQUNXLEdBQUcsQ0FBQUMsZUFBQSxLQUFBQSxlQUFBLEdBQUFDLHNCQUFBLDhFQUNmLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ0MsZUFBZTtBQUFBLEVBR3REO0FBa0NEQyxnQkFBZ0IsQ0FBQ0MsSUFBSSxHQUFHLENBQUNoQixpQkFBaUIsRUFBRUMsb0JBQW9CLEVBQUVDLGdCQUFnQixDQUFDO0FBRW5GLElBQU1lLGVBQWUsR0FBRyxTQUFsQkEsZUFBZUEsQ0FBR0MsUUFBUTtFQUFBLE9BQUksQ0FBQUEsUUFBUSxhQUFSQSxRQUFRLHVCQUFSQSxRQUFRLENBQUVDLElBQUksTUFBS2QsVUFBVSxDQUFDZSxTQUFTO0FBQUE7QUFDM0Us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
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
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; }
|
|
3
|
+
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; }
|
|
4
|
+
// SPDX-License-Identifier: MIT
|
|
5
|
+
// Copyright contributors to the kepler.gl project
|
|
6
|
+
|
|
7
|
+
import React, { useMemo } from 'react';
|
|
8
|
+
import RangeSliderTimelineFactory from './range-slider-timeline';
|
|
9
|
+
function RangeSliderSubAnimationPanelFactory(RangeSliderTimeline) {
|
|
10
|
+
var RangeSliderSubAnimationPanel = function RangeSliderSubAnimationPanel(_ref) {
|
|
11
|
+
var subAnimations = _ref.subAnimations,
|
|
12
|
+
scaledValue = _ref.scaledValue,
|
|
13
|
+
style = _ref.style;
|
|
14
|
+
var containerStyle = useMemo(function () {
|
|
15
|
+
return _objectSpread({
|
|
16
|
+
display: 'flex',
|
|
17
|
+
justifyContent: 'spaceBetween',
|
|
18
|
+
flexWrap: 'wrap'
|
|
19
|
+
}, style);
|
|
20
|
+
}, [style]);
|
|
21
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
22
|
+
style: containerStyle
|
|
23
|
+
}, subAnimations.map(function (subAnimation, index) {
|
|
24
|
+
return /*#__PURE__*/React.createElement(RangeSliderTimeline, {
|
|
25
|
+
key: index,
|
|
26
|
+
subAnimation: subAnimation,
|
|
27
|
+
scaledValue: scaledValue
|
|
28
|
+
});
|
|
29
|
+
}));
|
|
30
|
+
};
|
|
31
|
+
return RangeSliderSubAnimationPanel;
|
|
32
|
+
}
|
|
33
|
+
RangeSliderSubAnimationPanelFactory.deps = [RangeSliderTimelineFactory];
|
|
34
|
+
export default RangeSliderSubAnimationPanelFactory;
|
|
35
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZU1lbW8iLCJSYW5nZVNsaWRlclRpbWVsaW5lRmFjdG9yeSIsIlJhbmdlU2xpZGVyU3ViQW5pbWF0aW9uUGFuZWxGYWN0b3J5IiwiUmFuZ2VTbGlkZXJUaW1lbGluZSIsIlJhbmdlU2xpZGVyU3ViQW5pbWF0aW9uUGFuZWwiLCJfcmVmIiwic3ViQW5pbWF0aW9ucyIsInNjYWxlZFZhbHVlIiwic3R5bGUiLCJjb250YWluZXJTdHlsZSIsIl9vYmplY3RTcHJlYWQiLCJkaXNwbGF5IiwianVzdGlmeUNvbnRlbnQiLCJmbGV4V3JhcCIsImNyZWF0ZUVsZW1lbnQiLCJtYXAiLCJzdWJBbmltYXRpb24iLCJpbmRleCIsImtleSIsImRlcHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbW9uL3JhbmdlLXNsaWRlci10aW1lbGluZS1wYW5lbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlTWVtb30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFJhbmdlU2xpZGVyVGltZWxpbmVGYWN0b3J5IGZyb20gJy4vcmFuZ2Utc2xpZGVyLXRpbWVsaW5lJztcblxuZnVuY3Rpb24gUmFuZ2VTbGlkZXJTdWJBbmltYXRpb25QYW5lbEZhY3RvcnkoUmFuZ2VTbGlkZXJUaW1lbGluZSkge1xuICBjb25zdCBSYW5nZVNsaWRlclN1YkFuaW1hdGlvblBhbmVsID0gKHtzdWJBbmltYXRpb25zLCBzY2FsZWRWYWx1ZSwgc3R5bGV9KSA9PiB7XG4gICAgY29uc3QgY29udGFpbmVyU3R5bGUgPSB1c2VNZW1vKFxuICAgICAgKCkgPT4gKHtcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICBqdXN0aWZ5Q29udGVudDogJ3NwYWNlQmV0d2VlbicsXG4gICAgICAgIGZsZXhXcmFwOiAnd3JhcCcsXG4gICAgICAgIC4uLnN0eWxlXG4gICAgICB9KSxcbiAgICAgIFtzdHlsZV1cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgc3R5bGU9e2NvbnRhaW5lclN0eWxlfT5cbiAgICAgICAge3N1YkFuaW1hdGlvbnMubWFwKChzdWJBbmltYXRpb24sIGluZGV4KSA9PiAoXG4gICAgICAgICAgPFJhbmdlU2xpZGVyVGltZWxpbmUga2V5PXtpbmRleH0gc3ViQW5pbWF0aW9uPXtzdWJBbmltYXRpb259IHNjYWxlZFZhbHVlPXtzY2FsZWRWYWx1ZX0gLz5cbiAgICAgICAgKSl9XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiBSYW5nZVNsaWRlclN1YkFuaW1hdGlvblBhbmVsO1xufVxuXG5SYW5nZVNsaWRlclN1YkFuaW1hdGlvblBhbmVsRmFjdG9yeS5kZXBzID0gW1JhbmdlU2xpZGVyVGltZWxpbmVGYWN0b3J5XTtcblxuZXhwb3J0IGRlZmF1bHQgUmFuZ2VTbGlkZXJTdWJBbmltYXRpb25QYW5lbEZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7OztBQUFBO0FBQ0E7O0FBRUEsT0FBT0EsS0FBSyxJQUFHQyxPQUFPLFFBQU8sT0FBTztBQUNwQyxPQUFPQywwQkFBMEIsTUFBTSx5QkFBeUI7QUFFaEUsU0FBU0MsbUNBQW1DQSxDQUFDQyxtQkFBbUIsRUFBRTtFQUNoRSxJQUFNQyw0QkFBNEIsR0FBRyxTQUEvQkEsNEJBQTRCQSxDQUFBQyxJQUFBLEVBQTRDO0lBQUEsSUFBdkNDLGFBQWEsR0FBQUQsSUFBQSxDQUFiQyxhQUFhO01BQUVDLFdBQVcsR0FBQUYsSUFBQSxDQUFYRSxXQUFXO01BQUVDLEtBQUssR0FBQUgsSUFBQSxDQUFMRyxLQUFLO0lBQ3RFLElBQU1DLGNBQWMsR0FBR1QsT0FBTyxDQUM1QjtNQUFBLE9BQUFVLGFBQUE7UUFDRUMsT0FBTyxFQUFFLE1BQU07UUFDZkMsY0FBYyxFQUFFLGNBQWM7UUFDOUJDLFFBQVEsRUFBRTtNQUFNLEdBQ2JMLEtBQUs7SUFBQSxDQUNSLEVBQ0YsQ0FBQ0EsS0FBSyxDQUNSLENBQUM7SUFFRCxvQkFDRVQsS0FBQSxDQUFBZSxhQUFBO01BQUtOLEtBQUssRUFBRUM7SUFBZSxHQUN4QkgsYUFBYSxDQUFDUyxHQUFHLENBQUMsVUFBQ0MsWUFBWSxFQUFFQyxLQUFLO01BQUEsb0JBQ3JDbEIsS0FBQSxDQUFBZSxhQUFBLENBQUNYLG1CQUFtQjtRQUFDZSxHQUFHLEVBQUVELEtBQU07UUFBQ0QsWUFBWSxFQUFFQSxZQUFhO1FBQUNULFdBQVcsRUFBRUE7TUFBWSxDQUFFLENBQUM7SUFBQSxDQUMxRixDQUNFLENBQUM7RUFFVixDQUFDO0VBRUQsT0FBT0gsNEJBQTRCO0FBQ3JDO0FBRUFGLG1DQUFtQyxDQUFDaUIsSUFBSSxHQUFHLENBQUNsQiwwQkFBMEIsQ0FBQztBQUV2RSxlQUFlQyxtQ0FBbUMiLCJpZ25vcmVMaXN0IjpbXX0=
|