@kepler.gl/components 3.3.0-alpha.5 → 3.3.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/annotations/annotation-node.js +145 -0
- package/dist/cjs/annotations/annotation-overlay.js +168 -0
- package/dist/cjs/annotations/annotation-panel.js +361 -0
- package/dist/cjs/annotations/annotation-text.js +149 -0
- package/dist/cjs/annotations/annotation-utils.js +197 -0
- package/dist/cjs/annotations/index.js +53 -0
- package/dist/cjs/annotations/lexical-editor/clickable-link-plugin.js +71 -0
- package/dist/cjs/annotations/lexical-editor/floating-link-editor.js +193 -0
- package/dist/cjs/annotations/lexical-editor/index.js +78 -0
- package/dist/cjs/annotations/lexical-editor/lexical-constants.js +22 -0
- package/dist/cjs/annotations/lexical-editor/lexical-nodes.js +13 -0
- package/dist/cjs/annotations/lexical-editor/lexical-rich-text-editor.js +121 -0
- package/dist/cjs/annotations/lexical-editor/lexical-theme.js +25 -0
- package/dist/cjs/annotations/lexical-editor/lexical-toolbar.js +292 -0
- package/dist/cjs/annotations/lexical-editor/lexical-utils.js +45 -0
- package/dist/cjs/annotations/lexical-editor/use-lexical-toolbar.js +253 -0
- package/dist/cjs/bottom-widget.js +183 -0
- package/dist/cjs/common/action-panel.js +133 -0
- package/dist/cjs/common/animation-control/animation-control.js +100 -0
- package/dist/cjs/common/animation-control/animation-controller.js +271 -0
- package/dist/cjs/common/animation-control/animation-speed-slider.js +63 -0
- package/dist/cjs/common/animation-control/animation-window-control.js +59 -0
- package/dist/cjs/common/animation-control/export-video-control.js +43 -0
- package/dist/cjs/common/animation-control/floating-time-display.js +131 -0
- package/dist/cjs/common/animation-control/play-control.js +50 -0
- package/dist/cjs/common/animation-control/playback-controls.js +164 -0
- package/dist/cjs/common/animation-control/reset-control.js +41 -0
- package/dist/cjs/common/animation-control/speed-control.js +51 -0
- package/dist/cjs/common/animation-control/window-action-control.js +57 -0
- package/dist/cjs/common/checkbox.js +101 -0
- package/dist/cjs/common/color-legend.js +272 -0
- package/dist/cjs/common/column-stats-chart.js +312 -0
- package/dist/cjs/common/data-table/button.js +38 -0
- package/dist/cjs/common/data-table/canvas.js +26 -0
- package/dist/cjs/common/data-table/cell-size.js +183 -0
- package/dist/cjs/common/data-table/display-format.js +125 -0
- package/dist/cjs/common/data-table/grid.js +106 -0
- package/dist/cjs/common/data-table/header-cell.js +148 -0
- package/dist/cjs/common/data-table/index.js +470 -0
- package/dist/cjs/common/data-table/option-dropdown.js +159 -0
- package/dist/cjs/common/dataset-label.js +27 -0
- package/dist/cjs/common/dnd-layer-items.js +22 -0
- package/dist/cjs/common/error-boundary.js +59 -0
- package/dist/cjs/common/field-selector.js +172 -0
- package/dist/cjs/common/field-token.js +43 -0
- package/dist/cjs/common/file-uploader/file-drop.js +180 -0
- package/dist/cjs/common/file-uploader/file-upload-progress.js +84 -0
- package/dist/cjs/common/file-uploader/file-upload.js +241 -0
- package/dist/cjs/common/file-uploader/upload-button.js +58 -0
- package/dist/cjs/common/flex-container.js +15 -0
- package/dist/cjs/common/histogram-plot.js +282 -0
- package/dist/cjs/common/icon-button.js +25 -0
- package/dist/cjs/common/icons/3d-models/airplane.js +103 -0
- package/dist/cjs/common/icons/3d-models/bicycle.js +425 -0
- package/dist/cjs/common/icons/3d-models/boeing.js +118 -0
- package/dist/cjs/common/icons/3d-models/car.js +109 -0
- package/dist/cjs/common/icons/3d-models/cargoship.js +245 -0
- package/dist/cjs/common/icons/3d-models/evtol.js +133 -0
- package/dist/cjs/common/icons/3d-models/glider.js +61 -0
- package/dist/cjs/common/icons/3d-models/helicopter.js +109 -0
- package/dist/cjs/common/icons/3d-models/scooter.js +158 -0
- package/dist/cjs/common/icons/3d-models/semitruck.js +176 -0
- package/dist/cjs/common/icons/3d-models/truck.js +121 -0
- package/dist/cjs/common/icons/add.js +40 -0
- package/dist/cjs/common/icons/anchor_window.js +41 -0
- package/dist/cjs/common/icons/annotation-text.js +55 -0
- package/dist/cjs/common/icons/arrow-down-alt.js +40 -0
- package/dist/cjs/common/icons/arrow-down-full.js +49 -0
- package/dist/cjs/common/icons/arrow-down-small.js +53 -0
- package/dist/cjs/common/icons/arrow-down-solid.js +40 -0
- package/dist/cjs/common/icons/arrow-down.js +50 -0
- package/dist/cjs/common/icons/arrow-left.js +43 -0
- package/dist/cjs/common/icons/arrow-right.js +40 -0
- package/dist/cjs/common/icons/arrow-up-alt.js +41 -0
- package/dist/cjs/common/icons/arrow-up-solid.js +40 -0
- package/dist/cjs/common/icons/arrow-up.js +40 -0
- package/dist/cjs/common/icons/base-map.js +56 -0
- package/dist/cjs/common/icons/base.js +78 -0
- package/dist/cjs/common/icons/bug.js +70 -0
- package/dist/cjs/common/icons/calendar.js +48 -0
- package/dist/cjs/common/icons/cancel.js +40 -0
- package/dist/cjs/common/icons/checkmark.js +46 -0
- package/dist/cjs/common/icons/clipboard.js +41 -0
- package/dist/cjs/common/icons/clock.js +42 -0
- package/dist/cjs/common/icons/close.js +46 -0
- package/dist/cjs/common/icons/cloud.js +50 -0
- package/dist/cjs/common/icons/code-alt.js +43 -0
- package/dist/cjs/common/icons/copy.js +51 -0
- package/dist/cjs/common/icons/crosshairs.js +43 -0
- package/dist/cjs/common/icons/cube-3d.js +54 -0
- package/dist/cjs/common/icons/cursor-click.js +44 -0
- package/dist/cjs/common/icons/cursor-point.js +50 -0
- package/dist/cjs/common/icons/data-table.js +76 -0
- package/dist/cjs/common/icons/db.js +58 -0
- package/dist/cjs/common/icons/delete.js +52 -0
- package/dist/cjs/common/icons/docs.js +56 -0
- package/dist/cjs/common/icons/docs2.js +50 -0
- package/dist/cjs/common/icons/drag-n-drop.js +42 -0
- package/dist/cjs/common/icons/draggable-dots.js +84 -0
- package/dist/cjs/common/icons/draw-polygon.js +60 -0
- package/dist/cjs/common/icons/edit.js +48 -0
- package/dist/cjs/common/icons/effects/brightness-contrast.js +69 -0
- package/dist/cjs/common/icons/effects/color-halftone.js +108 -0
- package/dist/cjs/common/icons/effects/distance-fog.js +78 -0
- package/dist/cjs/common/icons/effects/dot-screen.js +103 -0
- package/dist/cjs/common/icons/effects/edge-work.js +62 -0
- package/dist/cjs/common/icons/effects/hexagonal-pixelate.js +129 -0
- package/dist/cjs/common/icons/effects/hue-saturation.js +60 -0
- package/dist/cjs/common/icons/effects/ink.js +59 -0
- package/dist/cjs/common/icons/effects/light-and-shadow.js +48 -0
- package/dist/cjs/common/icons/effects/magic-wand.js +60 -0
- package/dist/cjs/common/icons/effects/magnify.js +67 -0
- package/dist/cjs/common/icons/effects/noise.js +113 -0
- package/dist/cjs/common/icons/effects/sepia.js +60 -0
- package/dist/cjs/common/icons/effects/surface-fog.js +85 -0
- package/dist/cjs/common/icons/effects/tilt-shift.js +69 -0
- package/dist/cjs/common/icons/effects/triangle-blur.js +64 -0
- package/dist/cjs/common/icons/effects/vibrance.js +60 -0
- package/dist/cjs/common/icons/effects/vignette.js +53 -0
- package/dist/cjs/common/icons/effects/zoom-blur.js +88 -0
- package/dist/cjs/common/icons/email.js +44 -0
- package/dist/cjs/common/icons/expand.js +42 -0
- package/dist/cjs/common/icons/eye-seen.js +49 -0
- package/dist/cjs/common/icons/eye-unseen.js +47 -0
- package/dist/cjs/common/icons/file-type.js +35 -0
- package/dist/cjs/common/icons/file.js +40 -0
- package/dist/cjs/common/icons/files.js +41 -0
- package/dist/cjs/common/icons/filter-funnel.js +50 -0
- package/dist/cjs/common/icons/folder.js +50 -0
- package/dist/cjs/common/icons/free-window.js +44 -0
- package/dist/cjs/common/icons/gear.js +42 -0
- package/dist/cjs/common/icons/globe.js +53 -0
- package/dist/cjs/common/icons/hash.js +40 -0
- package/dist/cjs/common/icons/help.js +50 -0
- package/dist/cjs/common/icons/histogram.js +41 -0
- package/dist/cjs/common/icons/horizontal-resize-handle.js +58 -0
- package/dist/cjs/common/icons/index.js +824 -0
- package/dist/cjs/common/icons/info.js +53 -0
- package/dist/cjs/common/icons/layers.js +54 -0
- package/dist/cjs/common/icons/left-arrow.js +43 -0
- package/dist/cjs/common/icons/legend.js +68 -0
- package/dist/cjs/common/icons/line-chart.js +40 -0
- package/dist/cjs/common/icons/location-marker.js +58 -0
- package/dist/cjs/common/icons/login.js +43 -0
- package/dist/cjs/common/icons/logout.js +42 -0
- package/dist/cjs/common/icons/map-icon.js +47 -0
- package/dist/cjs/common/icons/map-pin.js +56 -0
- package/dist/cjs/common/icons/messages.js +54 -0
- package/dist/cjs/common/icons/minus.js +40 -0
- package/dist/cjs/common/icons/moon.js +58 -0
- package/dist/cjs/common/icons/order-by-dataset.js +46 -0
- package/dist/cjs/common/icons/order-by-list.js +38 -0
- package/dist/cjs/common/icons/pause.js +60 -0
- package/dist/cjs/common/icons/picture.js +59 -0
- package/dist/cjs/common/icons/pin.js +52 -0
- package/dist/cjs/common/icons/play.js +50 -0
- package/dist/cjs/common/icons/pointer-click.js +58 -0
- package/dist/cjs/common/icons/polygon.js +62 -0
- package/dist/cjs/common/icons/rectangle.js +63 -0
- package/dist/cjs/common/icons/reduce.js +43 -0
- package/dist/cjs/common/icons/reset.js +56 -0
- package/dist/cjs/common/icons/save.js +57 -0
- package/dist/cjs/common/icons/save2.js +54 -0
- package/dist/cjs/common/icons/search.js +42 -0
- package/dist/cjs/common/icons/settings.js +60 -0
- package/dist/cjs/common/icons/share.js +70 -0
- package/dist/cjs/common/icons/speed.js +52 -0
- package/dist/cjs/common/icons/split.js +68 -0
- package/dist/cjs/common/icons/square-select.js +42 -0
- package/dist/cjs/common/icons/sun.js +74 -0
- package/dist/cjs/common/icons/sunrise.js +70 -0
- package/dist/cjs/common/icons/sunset.js +70 -0
- package/dist/cjs/common/icons/timeline-marker.js +55 -0
- package/dist/cjs/common/icons/trash.js +54 -0
- package/dist/cjs/common/icons/vert-dots.js +78 -0
- package/dist/cjs/common/icons/vert-three-dots.js +53 -0
- package/dist/cjs/common/icons/warning-sign.js +60 -0
- package/dist/cjs/common/icons/warning.js +54 -0
- package/dist/cjs/common/icons/zoom-in.js +47 -0
- package/dist/cjs/common/icons/zoom-out.js +47 -0
- package/dist/cjs/common/image-preview.js +64 -0
- package/dist/cjs/common/index.js +282 -0
- package/dist/cjs/common/info-helper.js +61 -0
- package/dist/cjs/common/item-selector/accessor.js +37 -0
- package/dist/cjs/common/item-selector/chickleted-input.js +157 -0
- package/dist/cjs/common/item-selector/dropdown-list.js +257 -0
- package/dist/cjs/common/item-selector/dropdown-select.js +84 -0
- package/dist/cjs/common/item-selector/item-selector.js +254 -0
- package/dist/cjs/common/item-selector/typeahead.js +435 -0
- package/dist/cjs/common/layout-splitter.js +230 -0
- package/dist/cjs/common/line-chart.js +286 -0
- package/dist/cjs/common/link-renderer.js +20 -0
- package/dist/cjs/common/loading-spinner.js +50 -0
- package/dist/cjs/common/logo.js +68 -0
- package/dist/cjs/common/map-layer-selector.js +38 -0
- package/dist/cjs/common/modal.js +170 -0
- package/dist/cjs/common/portaled.js +287 -0
- package/dist/cjs/common/progress-bar.js +47 -0
- package/dist/cjs/common/radius-legend.js +131 -0
- package/dist/cjs/common/range-brush.js +265 -0
- package/dist/cjs/common/range-plot.js +217 -0
- package/dist/cjs/common/range-slider-timeline-panel.js +42 -0
- package/dist/cjs/common/range-slider-timeline.js +112 -0
- package/dist/cjs/common/range-slider.js +371 -0
- package/dist/cjs/common/slider/mouse-event.js +104 -0
- package/dist/cjs/common/slider/slider-bar-handle.js +90 -0
- package/dist/cjs/common/slider/slider-handle.js +136 -0
- package/dist/cjs/common/slider/slider.js +251 -0
- package/dist/cjs/common/styled-components.js +447 -0
- package/dist/cjs/common/switch.js +21 -0
- package/dist/cjs/common/sync-timeline-control.js +61 -0
- package/dist/cjs/common/time-range-slider-time-title.js +62 -0
- package/dist/cjs/common/time-range-slider.js +143 -0
- package/dist/cjs/common/time-slider-marker.js +115 -0
- package/dist/cjs/common/timeline-helpers.js +57 -0
- package/dist/cjs/common/timeline-slider.js +140 -0
- package/dist/cjs/common/tippy-tooltip.js +134 -0
- package/dist/cjs/common/toolbar-item.js +60 -0
- package/dist/cjs/common/toolbar.js +27 -0
- package/dist/cjs/common/vertical-toolbar.js +16 -0
- package/dist/cjs/connect/keplergl-connect.js +44 -0
- package/dist/cjs/connect/with-local-selector.js +85 -0
- package/dist/cjs/container.js +180 -0
- package/dist/cjs/context.js +43 -0
- package/dist/cjs/dnd-context.js +174 -0
- package/dist/cjs/editor/editor.js +200 -0
- package/dist/cjs/editor/feature-action-panel.js +147 -0
- package/dist/cjs/effects/compact-color-picker.js +110 -0
- package/dist/cjs/effects/effect-configurator.js +473 -0
- package/dist/cjs/effects/effect-list.js +129 -0
- package/dist/cjs/effects/effect-manager.js +126 -0
- package/dist/cjs/effects/effect-panel-header.js +196 -0
- package/dist/cjs/effects/effect-panel.js +86 -0
- package/dist/cjs/effects/effect-time-configurator.js +313 -0
- package/dist/cjs/effects/effect-time-selector.js +152 -0
- package/dist/cjs/effects/effect-time-slider.js +198 -0
- package/dist/cjs/effects/effect-type-dropdown-list.js +65 -0
- package/dist/cjs/effects/effect-type-list-item.js +98 -0
- package/dist/cjs/effects/effect-type-selector.js +76 -0
- package/dist/cjs/effects/side-panel-title.js +37 -0
- package/dist/cjs/effects/surface-fog-section.js +262 -0
- package/dist/cjs/effects/timezone-selector.js +57 -0
- package/dist/cjs/filter-animation-controller.js +76 -0
- package/dist/cjs/filters/components.js +14 -0
- package/dist/cjs/filters/filter-panels/filter-panel-with-field-select.js +77 -0
- package/dist/cjs/filters/filter-panels/filter-synced-dataset-panel.js +260 -0
- package/dist/cjs/filters/filter-panels/multi-select-filter-panel.js +48 -0
- package/dist/cjs/filters/filter-panels/new-filter-panel.js +66 -0
- package/dist/cjs/filters/filter-panels/polygon-filter-panel.js +67 -0
- package/dist/cjs/filters/filter-panels/range-filter-panel.js +53 -0
- package/dist/cjs/filters/filter-panels/single-select-filter-panel.js +48 -0
- package/dist/cjs/filters/filter-panels/time-range-filter-panel.js +129 -0
- package/dist/cjs/filters/filter-panels/time-synced-field-selector.js +28 -0
- package/dist/cjs/filters/filter-panels/types.js +6 -0
- package/dist/cjs/filters/index.js +63 -0
- package/dist/cjs/filters/multi-select-filter.js +31 -0
- package/dist/cjs/filters/polygon-filter.js +76 -0
- package/dist/cjs/filters/range-filter.js +35 -0
- package/dist/cjs/filters/single-select-filter.js +40 -0
- package/dist/cjs/filters/time-range-filter.js +69 -0
- package/dist/cjs/filters/time-widget-settings.js +311 -0
- package/dist/cjs/filters/time-widget-top.js +80 -0
- package/dist/cjs/filters/time-widget.js +376 -0
- package/dist/cjs/filters/types.js +6 -0
- package/dist/cjs/geocoder/geocoder.js +327 -0
- package/dist/cjs/geocoder-panel.js +172 -0
- package/dist/cjs/hooks/use-cloud-list-provider.js +46 -0
- package/dist/cjs/hooks/use-dnd-effects.js +69 -0
- package/dist/cjs/hooks/use-dnd-layers.js +141 -0
- package/dist/cjs/hooks/use-feature-flags.js +17 -0
- package/dist/cjs/hooks/use-fetch-raster-tile-metadata.js +120 -0
- package/dist/cjs/hooks/use-fetch-vector-tile-metadata.js +133 -0
- package/dist/cjs/hooks/use-legend-position.js +176 -0
- package/dist/cjs/hooks/use-on-click-outside.js +36 -0
- package/dist/cjs/index.js +2897 -0
- package/dist/cjs/injector.js +151 -0
- package/dist/cjs/kepler-gl.js +664 -0
- package/dist/cjs/layer-animation-controller.js +53 -0
- package/dist/cjs/loading-indicator.js +76 -0
- package/dist/cjs/map/annotations/annotation-control.js +55 -0
- package/dist/cjs/map/attribution.js +391 -0
- package/dist/cjs/map/coordinate-info.js +42 -0
- package/dist/cjs/map/effects/effect-control.js +51 -0
- package/dist/cjs/map/layer-hover-info.js +318 -0
- package/dist/cjs/map/lazy-tippy.js +60 -0
- package/dist/cjs/map/locale-panel.js +76 -0
- package/dist/cjs/map/map-control-panel.js +140 -0
- package/dist/cjs/map/map-control-toolbar.js +18 -0
- package/dist/cjs/map/map-control-tooltip.js +34 -0
- package/dist/cjs/map/map-control.js +81 -0
- package/dist/cjs/map/map-draw-panel.js +100 -0
- package/dist/cjs/map/map-legend-panel.js +289 -0
- package/dist/cjs/map/map-legend.js +509 -0
- package/dist/cjs/map/map-navigation-control.js +159 -0
- package/dist/cjs/map/map-popover-content.js +28 -0
- package/dist/cjs/map/map-popover.js +189 -0
- package/dist/cjs/map/map-scale.js +162 -0
- package/dist/cjs/map/split-map-button.js +176 -0
- package/dist/cjs/map/toggle-3d-button.js +122 -0
- package/dist/cjs/map-container.js +1322 -0
- package/dist/cjs/map-view-state-context.js +98 -0
- package/dist/cjs/maps-layout.js +102 -0
- package/dist/cjs/modal-container.js +456 -0
- package/dist/cjs/modals/add-map-style-modal.js +262 -0
- package/dist/cjs/modals/cloud-components/cloud-header.js +59 -0
- package/dist/cjs/modals/cloud-components/cloud-item.js +59 -0
- package/dist/cjs/modals/cloud-components/cloud-item.spec.js +92 -0
- package/dist/cjs/modals/cloud-components/cloud-maps.js +47 -0
- package/dist/cjs/modals/cloud-components/cloud-maps.spec.js +98 -0
- package/dist/cjs/modals/cloud-components/provider-loading.js +20 -0
- package/dist/cjs/modals/cloud-components/provider-select.js +30 -0
- package/dist/cjs/modals/cloud-tile.js +202 -0
- package/dist/cjs/modals/data-table-modal.js +215 -0
- package/dist/cjs/modals/delete-data-modal.js +41 -0
- package/dist/cjs/modals/error-display.js +32 -0
- package/dist/cjs/modals/export-data-modal.js +163 -0
- package/dist/cjs/modals/export-image-modal.js +188 -0
- package/dist/cjs/modals/export-map-modal/components.js +34 -0
- package/dist/cjs/modals/export-map-modal/export-html-map.js +128 -0
- package/dist/cjs/modals/export-map-modal/export-json-map.js +81 -0
- package/dist/cjs/modals/export-map-modal/export-map-modal.js +84 -0
- package/dist/cjs/modals/export-video-modal.js +413 -0
- package/dist/cjs/modals/export-video-modal.spec.js +686 -0
- package/dist/cjs/modals/fog-height-animation.js +97 -0
- package/dist/cjs/modals/globe-export-video-container.js +626 -0
- package/dist/cjs/modals/globe-export-video-preview.js +148 -0
- package/dist/cjs/modals/hubble-utils.js +447 -0
- package/dist/cjs/modals/hubble-utils.spec.js +397 -0
- package/dist/cjs/modals/image-modal-container.js +57 -0
- package/dist/cjs/modals/load-data-modal.js +97 -0
- package/dist/cjs/modals/load-storage-map.js +79 -0
- package/dist/cjs/modals/load-storage-map.spec.js +216 -0
- package/dist/cjs/modals/loading-dialog.js +37 -0
- package/dist/cjs/modals/modal-dialog.js +16 -0
- package/dist/cjs/modals/modal-tabs.js +74 -0
- package/dist/cjs/modals/overwrite-map-modal.js +83 -0
- package/dist/cjs/modals/save-map-modal.js +179 -0
- package/dist/cjs/modals/save-map-modal.spec.js +195 -0
- package/dist/cjs/modals/share-map-modal.js +168 -0
- package/dist/cjs/modals/share-map-modal.spec.js +173 -0
- package/dist/cjs/modals/status-panel.js +65 -0
- package/dist/cjs/modals/storage-map-viewer.js +98 -0
- package/dist/cjs/modals/swipe-composite-utils.js +118 -0
- package/dist/cjs/modals/swipe-export-settings.js +372 -0
- package/dist/cjs/modals/swipe-export-video-container.js +653 -0
- package/dist/cjs/modals/swipe-export-video-preview.js +391 -0
- package/dist/cjs/modals/tilesets-modals/common.js +6 -0
- package/dist/cjs/modals/tilesets-modals/load-data-footer.js +55 -0
- package/dist/cjs/modals/tilesets-modals/load-tileset.js +168 -0
- package/dist/cjs/modals/tilesets-modals/tileset-bitmap-form.js +283 -0
- package/dist/cjs/modals/tilesets-modals/tileset-icon.js +39 -0
- package/dist/cjs/modals/tilesets-modals/tileset-raster-form.js +287 -0
- package/dist/cjs/modals/tilesets-modals/tileset-tile3d-form.js +388 -0
- package/dist/cjs/modals/tilesets-modals/tileset-vector-form.js +261 -0
- package/dist/cjs/modals/tilesets-modals/tileset-wms-form.js +206 -0
- package/dist/cjs/notification-panel/notification-item.js +119 -0
- package/dist/cjs/notification-panel.js +39 -0
- package/dist/cjs/plot-container.js +311 -0
- package/dist/cjs/side-panel/add-by-dataset-button.js +128 -0
- package/dist/cjs/side-panel/cloud-storage-dropdown.js +40 -0
- package/dist/cjs/side-panel/common/dataset-info.js +34 -0
- package/dist/cjs/side-panel/common/dataset-tag.js +62 -0
- package/dist/cjs/side-panel/common/dataset-title.js +143 -0
- package/dist/cjs/side-panel/common/source-data-catalog.js +49 -0
- package/dist/cjs/side-panel/common/source-data-selector-content.js +64 -0
- package/dist/cjs/side-panel/common/source-data-selector.js +41 -0
- package/dist/cjs/side-panel/common/source-selector.js +56 -0
- package/dist/cjs/side-panel/common/types.js +6 -0
- package/dist/cjs/side-panel/custom-panel.js +39 -0
- package/dist/cjs/side-panel/filter-manager.js +202 -0
- package/dist/cjs/side-panel/filter-panel/add-filter-button.js +27 -0
- package/dist/cjs/side-panel/filter-panel/filter-panel-header.js +67 -0
- package/dist/cjs/side-panel/filter-panel/filter-panel.js +92 -0
- package/dist/cjs/side-panel/interaction-manager.js +45 -0
- package/dist/cjs/side-panel/interaction-panel/brush-config.js +41 -0
- package/dist/cjs/side-panel/interaction-panel/geocoder-config.js +45 -0
- package/dist/cjs/side-panel/interaction-panel/interaction-panel.js +121 -0
- package/dist/cjs/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +164 -0
- package/dist/cjs/side-panel/interaction-panel/tooltip-config.js +149 -0
- package/dist/cjs/side-panel/layer-manager.js +224 -0
- package/dist/cjs/side-panel/layer-panel/add-layer-button.js +27 -0
- package/dist/cjs/side-panel/layer-panel/aggr-scale-selector.js +37 -0
- package/dist/cjs/side-panel/layer-panel/channel-by-value-selector.js +71 -0
- package/dist/cjs/side-panel/layer-panel/color-breaks-panel.js +193 -0
- package/dist/cjs/side-panel/layer-panel/color-palette-preset.js +45 -0
- package/dist/cjs/side-panel/layer-panel/color-palette.js +74 -0
- package/dist/cjs/side-panel/layer-panel/color-range-selector.js +242 -0
- package/dist/cjs/side-panel/layer-panel/color-scale-selector.js +295 -0
- package/dist/cjs/side-panel/layer-panel/color-selector.js +186 -0
- package/dist/cjs/side-panel/layer-panel/column-selector.js +59 -0
- package/dist/cjs/side-panel/layer-panel/custom-palette.js +787 -0
- package/dist/cjs/side-panel/layer-panel/custom-picker.js +83 -0
- package/dist/cjs/side-panel/layer-panel/dataset-layer-group.js +68 -0
- package/dist/cjs/side-panel/layer-panel/dataset-layer-section.js +101 -0
- package/dist/cjs/side-panel/layer-panel/dataset-section.js +74 -0
- package/dist/cjs/side-panel/layer-panel/dimension-scale-selector.js +91 -0
- package/dist/cjs/side-panel/layer-panel/how-to-button.js +27 -0
- package/dist/cjs/side-panel/layer-panel/layer-color-selector.js +105 -0
- package/dist/cjs/side-panel/layer-panel/layer-column-config.js +85 -0
- package/dist/cjs/side-panel/layer-panel/layer-column-mode-config.js +192 -0
- package/dist/cjs/side-panel/layer-panel/layer-config-group.js +143 -0
- package/dist/cjs/side-panel/layer-panel/layer-configurator.js +1073 -0
- package/dist/cjs/side-panel/layer-panel/layer-error-message.js +29 -0
- package/dist/cjs/side-panel/layer-panel/layer-group-header.js +178 -0
- package/dist/cjs/side-panel/layer-panel/layer-list.js +330 -0
- package/dist/cjs/side-panel/layer-panel/layer-panel-header.js +311 -0
- package/dist/cjs/side-panel/layer-panel/layer-panel.js +171 -0
- package/dist/cjs/side-panel/layer-panel/layer-type-dropdown-list.js +77 -0
- package/dist/cjs/side-panel/layer-panel/layer-type-list-item.js +71 -0
- package/dist/cjs/side-panel/layer-panel/layer-type-selector.js +57 -0
- package/dist/cjs/side-panel/layer-panel/raster-tile-colormap-list-item.js +60 -0
- package/dist/cjs/side-panel/layer-panel/raster-tile-layer-configurator.js +457 -0
- package/dist/cjs/side-panel/layer-panel/scenegraph-model-selector.js +122 -0
- package/dist/cjs/side-panel/layer-panel/single-color-palette.js +85 -0
- package/dist/cjs/side-panel/layer-panel/text-label-panel.js +173 -0
- package/dist/cjs/side-panel/layer-panel/vector-tile-layer-configurator.js +93 -0
- package/dist/cjs/side-panel/layer-panel/vis-config-by-field-selector.js +60 -0
- package/dist/cjs/side-panel/layer-panel/vis-config-slider.js +167 -0
- package/dist/cjs/side-panel/layer-panel/vis-config-switch.js +55 -0
- package/dist/cjs/side-panel/map-manager.js +108 -0
- package/dist/cjs/side-panel/map-style-panel/globe-config-panel.js +269 -0
- package/dist/cjs/side-panel/map-style-panel/map-layer-group-color-picker.js +76 -0
- package/dist/cjs/side-panel/map-style-panel/map-layer-group-item.js +94 -0
- package/dist/cjs/side-panel/map-style-panel/map-layer-selector.js +74 -0
- package/dist/cjs/side-panel/map-style-panel/map-style-selector.js +97 -0
- package/dist/cjs/side-panel/panel-header-action.js +73 -0
- package/dist/cjs/side-panel/panel-header.js +309 -0
- package/dist/cjs/side-panel/panel-tab.js +55 -0
- package/dist/cjs/side-panel/panel-title.js +40 -0
- package/dist/cjs/side-panel/panel-toggle.js +47 -0
- package/dist/cjs/side-panel/panel-view-list-toggle.js +97 -0
- package/dist/cjs/side-panel/side-bar.js +126 -0
- package/dist/cjs/side-panel.js +235 -0
- package/dist/cjs/types.js +6 -0
- package/dist/esm/annotations/annotation-node.js +138 -0
- package/dist/esm/annotations/annotation-overlay.js +161 -0
- package/dist/esm/annotations/annotation-panel.js +355 -0
- package/dist/esm/annotations/annotation-text.js +142 -0
- package/dist/esm/annotations/annotation-utils.js +185 -0
- package/dist/esm/annotations/index.js +9 -0
- package/dist/esm/annotations/lexical-editor/clickable-link-plugin.js +64 -0
- package/dist/esm/annotations/lexical-editor/floating-link-editor.js +186 -0
- package/dist/esm/annotations/lexical-editor/index.js +9 -0
- package/dist/esm/annotations/lexical-editor/lexical-constants.js +16 -0
- package/dist/esm/annotations/lexical-editor/lexical-nodes.js +7 -0
- package/dist/esm/annotations/lexical-editor/lexical-rich-text-editor.js +114 -0
- package/dist/esm/annotations/lexical-editor/lexical-theme.js +19 -0
- package/dist/esm/annotations/lexical-editor/lexical-toolbar.js +285 -0
- package/dist/esm/annotations/lexical-editor/lexical-utils.js +37 -0
- package/dist/esm/annotations/lexical-editor/use-lexical-toolbar.js +248 -0
- package/dist/esm/bottom-widget.js +176 -0
- package/dist/esm/common/action-panel.js +126 -0
- package/dist/esm/common/animation-control/animation-control.js +95 -0
- package/dist/esm/common/animation-control/animation-controller.js +266 -0
- package/dist/esm/common/animation-control/animation-speed-slider.js +56 -0
- package/dist/esm/common/animation-control/animation-window-control.js +50 -0
- package/dist/esm/common/animation-control/export-video-control.js +36 -0
- package/dist/esm/common/animation-control/floating-time-display.js +124 -0
- package/dist/esm/common/animation-control/play-control.js +43 -0
- package/dist/esm/common/animation-control/playback-controls.js +157 -0
- package/dist/esm/common/animation-control/reset-control.js +34 -0
- package/dist/esm/common/animation-control/speed-control.js +46 -0
- package/dist/esm/common/animation-control/window-action-control.js +48 -0
- package/dist/esm/common/checkbox.js +94 -0
- package/dist/esm/common/color-legend.js +261 -0
- package/dist/esm/common/column-stats-chart.js +305 -0
- package/dist/esm/common/data-table/button.js +33 -0
- package/dist/esm/common/data-table/canvas.js +22 -0
- package/dist/esm/common/data-table/cell-size.js +177 -0
- package/dist/esm/common/data-table/display-format.js +118 -0
- package/dist/esm/common/data-table/grid.js +100 -0
- package/dist/esm/common/data-table/header-cell.js +141 -0
- package/dist/esm/common/data-table/index.js +463 -0
- package/dist/esm/common/data-table/option-dropdown.js +152 -0
- package/dist/esm/common/dataset-label.js +22 -0
- package/dist/esm/common/dnd-layer-items.js +16 -0
- package/dist/esm/common/error-boundary.js +55 -0
- package/dist/esm/common/field-selector.js +164 -0
- package/dist/esm/common/field-token.js +38 -0
- package/dist/esm/common/file-uploader/file-drop.js +170 -0
- package/dist/esm/common/file-uploader/file-upload-progress.js +77 -0
- package/dist/esm/common/file-uploader/file-upload.js +234 -0
- package/dist/esm/common/file-uploader/upload-button.js +51 -0
- package/dist/esm/common/flex-container.js +10 -0
- package/dist/esm/common/histogram-plot.js +275 -0
- package/dist/esm/common/icon-button.js +20 -0
- package/dist/esm/common/icons/3d-models/airplane.js +97 -0
- package/dist/esm/common/icons/3d-models/bicycle.js +419 -0
- package/dist/esm/common/icons/3d-models/boeing.js +112 -0
- package/dist/esm/common/icons/3d-models/car.js +103 -0
- package/dist/esm/common/icons/3d-models/cargoship.js +239 -0
- package/dist/esm/common/icons/3d-models/evtol.js +127 -0
- package/dist/esm/common/icons/3d-models/glider.js +55 -0
- package/dist/esm/common/icons/3d-models/helicopter.js +103 -0
- package/dist/esm/common/icons/3d-models/scooter.js +152 -0
- package/dist/esm/common/icons/3d-models/semitruck.js +170 -0
- package/dist/esm/common/icons/3d-models/truck.js +115 -0
- package/dist/esm/common/icons/add.js +34 -0
- package/dist/esm/common/icons/anchor_window.js +36 -0
- package/dist/esm/common/icons/annotation-text.js +49 -0
- package/dist/esm/common/icons/arrow-down-alt.js +34 -0
- package/dist/esm/common/icons/arrow-down-full.js +43 -0
- package/dist/esm/common/icons/arrow-down-small.js +47 -0
- package/dist/esm/common/icons/arrow-down-solid.js +34 -0
- package/dist/esm/common/icons/arrow-down.js +44 -0
- package/dist/esm/common/icons/arrow-left.js +37 -0
- package/dist/esm/common/icons/arrow-right.js +34 -0
- package/dist/esm/common/icons/arrow-up-alt.js +35 -0
- package/dist/esm/common/icons/arrow-up-solid.js +34 -0
- package/dist/esm/common/icons/arrow-up.js +34 -0
- package/dist/esm/common/icons/base-map.js +49 -0
- package/dist/esm/common/icons/base.js +72 -0
- package/dist/esm/common/icons/bug.js +64 -0
- package/dist/esm/common/icons/calendar.js +42 -0
- package/dist/esm/common/icons/cancel.js +34 -0
- package/dist/esm/common/icons/checkmark.js +40 -0
- package/dist/esm/common/icons/clipboard.js +35 -0
- package/dist/esm/common/icons/clock.js +36 -0
- package/dist/esm/common/icons/close.js +40 -0
- package/dist/esm/common/icons/cloud.js +44 -0
- package/dist/esm/common/icons/code-alt.js +37 -0
- package/dist/esm/common/icons/copy.js +45 -0
- package/dist/esm/common/icons/crosshairs.js +37 -0
- package/dist/esm/common/icons/cube-3d.js +48 -0
- package/dist/esm/common/icons/cursor-click.js +38 -0
- package/dist/esm/common/icons/cursor-point.js +44 -0
- package/dist/esm/common/icons/data-table.js +70 -0
- package/dist/esm/common/icons/db.js +52 -0
- package/dist/esm/common/icons/delete.js +46 -0
- package/dist/esm/common/icons/docs.js +50 -0
- package/dist/esm/common/icons/docs2.js +44 -0
- package/dist/esm/common/icons/drag-n-drop.js +36 -0
- package/dist/esm/common/icons/draggable-dots.js +78 -0
- package/dist/esm/common/icons/draw-polygon.js +54 -0
- package/dist/esm/common/icons/edit.js +42 -0
- package/dist/esm/common/icons/effects/brightness-contrast.js +63 -0
- package/dist/esm/common/icons/effects/color-halftone.js +102 -0
- package/dist/esm/common/icons/effects/distance-fog.js +72 -0
- package/dist/esm/common/icons/effects/dot-screen.js +97 -0
- package/dist/esm/common/icons/effects/edge-work.js +56 -0
- package/dist/esm/common/icons/effects/hexagonal-pixelate.js +123 -0
- package/dist/esm/common/icons/effects/hue-saturation.js +54 -0
- package/dist/esm/common/icons/effects/ink.js +53 -0
- package/dist/esm/common/icons/effects/light-and-shadow.js +42 -0
- package/dist/esm/common/icons/effects/magic-wand.js +54 -0
- package/dist/esm/common/icons/effects/magnify.js +61 -0
- package/dist/esm/common/icons/effects/noise.js +107 -0
- package/dist/esm/common/icons/effects/sepia.js +54 -0
- package/dist/esm/common/icons/effects/surface-fog.js +79 -0
- package/dist/esm/common/icons/effects/tilt-shift.js +63 -0
- package/dist/esm/common/icons/effects/triangle-blur.js +58 -0
- package/dist/esm/common/icons/effects/vibrance.js +54 -0
- package/dist/esm/common/icons/effects/vignette.js +47 -0
- package/dist/esm/common/icons/effects/zoom-blur.js +82 -0
- package/dist/esm/common/icons/email.js +38 -0
- package/dist/esm/common/icons/expand.js +36 -0
- package/dist/esm/common/icons/eye-seen.js +43 -0
- package/dist/esm/common/icons/eye-unseen.js +41 -0
- package/dist/esm/common/icons/file-type.js +30 -0
- package/dist/esm/common/icons/file.js +34 -0
- package/dist/esm/common/icons/files.js +37 -0
- package/dist/esm/common/icons/filter-funnel.js +44 -0
- package/dist/esm/common/icons/folder.js +44 -0
- package/dist/esm/common/icons/free-window.js +39 -0
- package/dist/esm/common/icons/gear.js +36 -0
- package/dist/esm/common/icons/globe.js +47 -0
- package/dist/esm/common/icons/hash.js +34 -0
- package/dist/esm/common/icons/help.js +44 -0
- package/dist/esm/common/icons/histogram.js +37 -0
- package/dist/esm/common/icons/horizontal-resize-handle.js +52 -0
- package/dist/esm/common/icons/index.js +124 -0
- package/dist/esm/common/icons/info.js +47 -0
- package/dist/esm/common/icons/layers.js +48 -0
- package/dist/esm/common/icons/left-arrow.js +37 -0
- package/dist/esm/common/icons/legend.js +62 -0
- package/dist/esm/common/icons/line-chart.js +34 -0
- package/dist/esm/common/icons/location-marker.js +52 -0
- package/dist/esm/common/icons/login.js +37 -0
- package/dist/esm/common/icons/logout.js +36 -0
- package/dist/esm/common/icons/map-icon.js +40 -0
- package/dist/esm/common/icons/map-pin.js +50 -0
- package/dist/esm/common/icons/messages.js +48 -0
- package/dist/esm/common/icons/minus.js +34 -0
- package/dist/esm/common/icons/moon.js +52 -0
- package/dist/esm/common/icons/order-by-dataset.js +41 -0
- package/dist/esm/common/icons/order-by-list.js +33 -0
- package/dist/esm/common/icons/pause.js +54 -0
- package/dist/esm/common/icons/picture.js +55 -0
- package/dist/esm/common/icons/pin.js +46 -0
- package/dist/esm/common/icons/play.js +44 -0
- package/dist/esm/common/icons/pointer-click.js +52 -0
- package/dist/esm/common/icons/polygon.js +56 -0
- package/dist/esm/common/icons/rectangle.js +57 -0
- package/dist/esm/common/icons/reduce.js +37 -0
- package/dist/esm/common/icons/reset.js +50 -0
- package/dist/esm/common/icons/save.js +51 -0
- package/dist/esm/common/icons/save2.js +48 -0
- package/dist/esm/common/icons/search.js +36 -0
- package/dist/esm/common/icons/settings.js +54 -0
- package/dist/esm/common/icons/share.js +64 -0
- package/dist/esm/common/icons/speed.js +46 -0
- package/dist/esm/common/icons/split.js +62 -0
- package/dist/esm/common/icons/square-select.js +36 -0
- package/dist/esm/common/icons/sun.js +68 -0
- package/dist/esm/common/icons/sunrise.js +64 -0
- package/dist/esm/common/icons/sunset.js +64 -0
- package/dist/esm/common/icons/timeline-marker.js +49 -0
- package/dist/esm/common/icons/trash.js +48 -0
- package/dist/esm/common/icons/vert-dots.js +72 -0
- package/dist/esm/common/icons/vert-three-dots.js +47 -0
- package/dist/esm/common/icons/warning-sign.js +54 -0
- package/dist/esm/common/icons/warning.js +48 -0
- package/dist/esm/common/icons/zoom-in.js +41 -0
- package/dist/esm/common/icons/zoom-out.js +41 -0
- package/dist/esm/common/image-preview.js +59 -0
- package/dist/esm/common/index.js +8 -0
- package/dist/esm/common/info-helper.js +56 -0
- package/dist/esm/common/item-selector/accessor.js +31 -0
- package/dist/esm/common/item-selector/chickleted-input.js +150 -0
- package/dist/esm/common/item-selector/dropdown-list.js +251 -0
- package/dist/esm/common/item-selector/dropdown-select.js +79 -0
- package/dist/esm/common/item-selector/item-selector.js +247 -0
- package/dist/esm/common/item-selector/typeahead.js +428 -0
- package/dist/esm/common/layout-splitter.js +224 -0
- package/dist/esm/common/line-chart.js +279 -0
- package/dist/esm/common/link-renderer.js +13 -0
- package/dist/esm/common/loading-spinner.js +43 -0
- package/dist/esm/common/logo.js +63 -0
- package/dist/esm/common/map-layer-selector.js +33 -0
- package/dist/esm/common/modal.js +163 -0
- package/dist/esm/common/portaled.js +280 -0
- package/dist/esm/common/progress-bar.js +43 -0
- package/dist/esm/common/radius-legend.js +124 -0
- package/dist/esm/common/range-brush.js +258 -0
- package/dist/esm/common/range-plot.js +210 -0
- package/dist/esm/common/range-slider-timeline-panel.js +35 -0
- package/dist/esm/common/range-slider-timeline.js +105 -0
- package/dist/esm/common/range-slider.js +364 -0
- package/dist/esm/common/slider/mouse-event.js +98 -0
- package/dist/esm/common/slider/slider-bar-handle.js +84 -0
- package/dist/esm/common/slider/slider-handle.js +130 -0
- package/dist/esm/common/slider/slider.js +245 -0
- package/dist/esm/common/styled-components.js +441 -0
- package/dist/esm/common/switch.js +16 -0
- package/dist/esm/common/sync-timeline-control.js +54 -0
- package/dist/esm/common/time-range-slider-time-title.js +57 -0
- package/dist/esm/common/time-range-slider.js +135 -0
- package/dist/esm/common/time-slider-marker.js +105 -0
- package/dist/esm/common/timeline-helpers.js +48 -0
- package/dist/esm/common/timeline-slider.js +133 -0
- package/dist/esm/common/tippy-tooltip.js +127 -0
- package/dist/esm/common/toolbar-item.js +55 -0
- package/dist/esm/common/toolbar.js +22 -0
- package/dist/esm/common/vertical-toolbar.js +11 -0
- package/dist/esm/connect/keplergl-connect.js +38 -0
- package/dist/esm/connect/with-local-selector.js +78 -0
- package/dist/esm/container.js +171 -0
- package/dist/esm/context.js +35 -0
- package/dist/esm/dnd-context.js +167 -0
- package/dist/esm/editor/editor.js +193 -0
- package/dist/esm/editor/feature-action-panel.js +139 -0
- package/dist/esm/effects/compact-color-picker.js +103 -0
- package/dist/esm/effects/effect-configurator.js +465 -0
- package/dist/esm/effects/effect-list.js +122 -0
- package/dist/esm/effects/effect-manager.js +119 -0
- package/dist/esm/effects/effect-panel-header.js +188 -0
- package/dist/esm/effects/effect-panel.js +79 -0
- package/dist/esm/effects/effect-time-configurator.js +306 -0
- package/dist/esm/effects/effect-time-selector.js +145 -0
- package/dist/esm/effects/effect-time-slider.js +190 -0
- package/dist/esm/effects/effect-type-dropdown-list.js +57 -0
- package/dist/esm/effects/effect-type-list-item.js +89 -0
- package/dist/esm/effects/effect-type-selector.js +69 -0
- package/dist/esm/effects/side-panel-title.js +32 -0
- package/dist/esm/effects/surface-fog-section.js +254 -0
- package/dist/esm/effects/timezone-selector.js +50 -0
- package/dist/esm/filter-animation-controller.js +67 -0
- package/dist/esm/filters/components.js +9 -0
- package/dist/esm/filters/filter-panels/filter-panel-with-field-select.js +68 -0
- package/dist/esm/filters/filter-panels/filter-synced-dataset-panel.js +253 -0
- package/dist/esm/filters/filter-panels/multi-select-filter-panel.js +39 -0
- package/dist/esm/filters/filter-panels/new-filter-panel.js +56 -0
- package/dist/esm/filters/filter-panels/polygon-filter-panel.js +58 -0
- package/dist/esm/filters/filter-panels/range-filter-panel.js +44 -0
- package/dist/esm/filters/filter-panels/single-select-filter-panel.js +39 -0
- package/dist/esm/filters/filter-panels/time-range-filter-panel.js +120 -0
- package/dist/esm/filters/filter-panels/time-synced-field-selector.js +23 -0
- package/dist/esm/filters/filter-panels/types.js +3 -0
- package/dist/esm/filters/index.js +12 -0
- package/dist/esm/filters/multi-select-filter.js +24 -0
- package/dist/esm/filters/polygon-filter.js +67 -0
- package/dist/esm/filters/range-filter.js +28 -0
- package/dist/esm/filters/single-select-filter.js +33 -0
- package/dist/esm/filters/time-range-filter.js +61 -0
- package/dist/esm/filters/time-widget-settings.js +304 -0
- package/dist/esm/filters/time-widget-top.js +73 -0
- package/dist/esm/filters/time-widget.js +369 -0
- package/dist/esm/filters/types.js +3 -0
- package/dist/esm/geocoder/geocoder.js +318 -0
- package/dist/esm/geocoder-panel.js +164 -0
- package/dist/esm/hooks/use-cloud-list-provider.js +37 -0
- package/dist/esm/hooks/use-dnd-effects.js +62 -0
- package/dist/esm/hooks/use-dnd-layers.js +136 -0
- package/dist/esm/hooks/use-feature-flags.js +11 -0
- package/dist/esm/hooks/use-fetch-raster-tile-metadata.js +113 -0
- package/dist/esm/hooks/use-fetch-vector-tile-metadata.js +128 -0
- package/dist/esm/hooks/use-legend-position.js +170 -0
- package/dist/esm/hooks/use-on-click-outside.js +29 -0
- package/dist/esm/index.js +278 -0
- package/dist/esm/injector.js +141 -0
- package/dist/esm/kepler-gl.js +651 -0
- package/dist/esm/layer-animation-controller.js +44 -0
- package/dist/esm/loading-indicator.js +69 -0
- package/dist/esm/map/annotations/annotation-control.js +46 -0
- package/dist/esm/map/attribution.js +382 -0
- package/dist/esm/map/coordinate-info.js +36 -0
- package/dist/esm/map/effects/effect-control.js +42 -0
- package/dist/esm/map/layer-hover-info.js +312 -0
- package/dist/esm/map/lazy-tippy.js +53 -0
- package/dist/esm/map/locale-panel.js +67 -0
- package/dist/esm/map/map-control-panel.js +133 -0
- package/dist/esm/map/map-control-toolbar.js +13 -0
- package/dist/esm/map/map-control-tooltip.js +27 -0
- package/dist/esm/map/map-control.js +77 -0
- package/dist/esm/map/map-draw-panel.js +91 -0
- package/dist/esm/map/map-legend-panel.js +282 -0
- package/dist/esm/map/map-legend.js +496 -0
- package/dist/esm/map/map-navigation-control.js +152 -0
- package/dist/esm/map/map-popover-content.js +21 -0
- package/dist/esm/map/map-popover.js +181 -0
- package/dist/esm/map/map-scale.js +155 -0
- package/dist/esm/map/split-map-button.js +167 -0
- package/dist/esm/map/toggle-3d-button.js +113 -0
- package/dist/esm/map-container.js +1292 -0
- package/dist/esm/map-view-state-context.js +89 -0
- package/dist/esm/maps-layout.js +95 -0
- package/dist/esm/modal-container.js +453 -0
- package/dist/esm/modals/add-map-style-modal.js +256 -0
- package/dist/esm/modals/cloud-components/cloud-header.js +52 -0
- package/dist/esm/modals/cloud-components/cloud-item.js +54 -0
- package/dist/esm/modals/cloud-components/cloud-item.spec.js +91 -0
- package/dist/esm/modals/cloud-components/cloud-maps.js +42 -0
- package/dist/esm/modals/cloud-components/cloud-maps.spec.js +94 -0
- package/dist/esm/modals/cloud-components/provider-loading.js +15 -0
- package/dist/esm/modals/cloud-components/provider-select.js +25 -0
- package/dist/esm/modals/cloud-tile.js +195 -0
- package/dist/esm/modals/data-table-modal.js +208 -0
- package/dist/esm/modals/delete-data-modal.js +36 -0
- package/dist/esm/modals/error-display.js +23 -0
- package/dist/esm/modals/export-data-modal.js +155 -0
- package/dist/esm/modals/export-image-modal.js +181 -0
- package/dist/esm/modals/export-map-modal/components.js +29 -0
- package/dist/esm/modals/export-map-modal/export-html-map.js +123 -0
- package/dist/esm/modals/export-map-modal/export-json-map.js +74 -0
- package/dist/esm/modals/export-map-modal/export-map-modal.js +77 -0
- package/dist/esm/modals/export-video-modal.js +400 -0
- package/dist/esm/modals/export-video-modal.spec.js +685 -0
- package/dist/esm/modals/fog-height-animation.js +90 -0
- package/dist/esm/modals/globe-export-video-container.js +620 -0
- package/dist/esm/modals/globe-export-video-preview.js +141 -0
- package/dist/esm/modals/hubble-utils.js +429 -0
- package/dist/esm/modals/hubble-utils.spec.js +396 -0
- package/dist/esm/modals/image-modal-container.js +48 -0
- package/dist/esm/modals/load-data-modal.js +89 -0
- package/dist/esm/modals/load-storage-map.js +70 -0
- package/dist/esm/modals/load-storage-map.spec.js +212 -0
- package/dist/esm/modals/loading-dialog.js +32 -0
- package/dist/esm/modals/modal-dialog.js +9 -0
- package/dist/esm/modals/modal-tabs.js +67 -0
- package/dist/esm/modals/overwrite-map-modal.js +76 -0
- package/dist/esm/modals/save-map-modal.js +172 -0
- package/dist/esm/modals/save-map-modal.spec.js +196 -0
- package/dist/esm/modals/share-map-modal.js +160 -0
- package/dist/esm/modals/share-map-modal.spec.js +172 -0
- package/dist/esm/modals/status-panel.js +60 -0
- package/dist/esm/modals/storage-map-viewer.js +93 -0
- package/dist/esm/modals/swipe-composite-utils.js +111 -0
- package/dist/esm/modals/swipe-export-settings.js +366 -0
- package/dist/esm/modals/swipe-export-video-container.js +646 -0
- package/dist/esm/modals/swipe-export-video-preview.js +384 -0
- package/dist/esm/modals/tilesets-modals/common.js +3 -0
- package/dist/esm/modals/tilesets-modals/load-data-footer.js +48 -0
- package/dist/esm/modals/tilesets-modals/load-tileset.js +161 -0
- package/dist/esm/modals/tilesets-modals/tileset-bitmap-form.js +275 -0
- package/dist/esm/modals/tilesets-modals/tileset-icon.js +34 -0
- package/dist/esm/modals/tilesets-modals/tileset-raster-form.js +279 -0
- package/dist/esm/modals/tilesets-modals/tileset-tile3d-form.js +380 -0
- package/dist/esm/modals/tilesets-modals/tileset-vector-form.js +253 -0
- package/dist/esm/modals/tilesets-modals/tileset-wms-form.js +199 -0
- package/dist/esm/notification-panel/notification-item.js +112 -0
- package/dist/esm/notification-panel.js +34 -0
- package/dist/esm/plot-container.js +304 -0
- package/dist/esm/side-panel/add-by-dataset-button.js +121 -0
- package/dist/esm/side-panel/cloud-storage-dropdown.js +33 -0
- package/dist/esm/side-panel/common/dataset-info.js +29 -0
- package/dist/esm/side-panel/common/dataset-tag.js +57 -0
- package/dist/esm/side-panel/common/dataset-title.js +136 -0
- package/dist/esm/side-panel/common/source-data-catalog.js +44 -0
- package/dist/esm/side-panel/common/source-data-selector-content.js +55 -0
- package/dist/esm/side-panel/common/source-data-selector.js +34 -0
- package/dist/esm/side-panel/common/source-selector.js +49 -0
- package/dist/esm/side-panel/common/types.js +3 -0
- package/dist/esm/side-panel/custom-panel.js +32 -0
- package/dist/esm/side-panel/filter-manager.js +195 -0
- package/dist/esm/side-panel/filter-panel/add-filter-button.js +20 -0
- package/dist/esm/side-panel/filter-panel/filter-panel-header.js +60 -0
- package/dist/esm/side-panel/filter-panel/filter-panel.js +85 -0
- package/dist/esm/side-panel/interaction-manager.js +38 -0
- package/dist/esm/side-panel/interaction-panel/brush-config.js +36 -0
- package/dist/esm/side-panel/interaction-panel/geocoder-config.js +40 -0
- package/dist/esm/side-panel/interaction-panel/interaction-panel.js +114 -0
- package/dist/esm/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +157 -0
- package/dist/esm/side-panel/interaction-panel/tooltip-config.js +142 -0
- package/dist/esm/side-panel/layer-manager.js +217 -0
- package/dist/esm/side-panel/layer-panel/add-layer-button.js +20 -0
- package/dist/esm/side-panel/layer-panel/aggr-scale-selector.js +29 -0
- package/dist/esm/side-panel/layer-panel/channel-by-value-selector.js +61 -0
- package/dist/esm/side-panel/layer-panel/color-breaks-panel.js +186 -0
- package/dist/esm/side-panel/layer-panel/color-palette-preset.js +40 -0
- package/dist/esm/side-panel/layer-panel/color-palette.js +67 -0
- package/dist/esm/side-panel/layer-panel/color-range-selector.js +236 -0
- package/dist/esm/side-panel/layer-panel/color-scale-selector.js +288 -0
- package/dist/esm/side-panel/layer-panel/color-selector.js +179 -0
- package/dist/esm/side-panel/layer-panel/column-selector.js +52 -0
- package/dist/esm/side-panel/layer-panel/custom-palette.js +783 -0
- package/dist/esm/side-panel/layer-panel/custom-picker.js +77 -0
- package/dist/esm/side-panel/layer-panel/dataset-layer-group.js +59 -0
- package/dist/esm/side-panel/layer-panel/dataset-layer-section.js +94 -0
- package/dist/esm/side-panel/layer-panel/dataset-section.js +68 -0
- package/dist/esm/side-panel/layer-panel/dimension-scale-selector.js +82 -0
- package/dist/esm/side-panel/layer-panel/how-to-button.js +22 -0
- package/dist/esm/side-panel/layer-panel/layer-color-selector.js +94 -0
- package/dist/esm/side-panel/layer-panel/layer-column-config.js +76 -0
- package/dist/esm/side-panel/layer-panel/layer-column-mode-config.js +184 -0
- package/dist/esm/side-panel/layer-panel/layer-config-group.js +134 -0
- package/dist/esm/side-panel/layer-panel/layer-configurator.js +1064 -0
- package/dist/esm/side-panel/layer-panel/layer-error-message.js +24 -0
- package/dist/esm/side-panel/layer-panel/layer-group-header.js +171 -0
- package/dist/esm/side-panel/layer-panel/layer-list.js +323 -0
- package/dist/esm/side-panel/layer-panel/layer-panel-header.js +302 -0
- package/dist/esm/side-panel/layer-panel/layer-panel.js +164 -0
- package/dist/esm/side-panel/layer-panel/layer-type-dropdown-list.js +69 -0
- package/dist/esm/side-panel/layer-panel/layer-type-list-item.js +63 -0
- package/dist/esm/side-panel/layer-panel/layer-type-selector.js +50 -0
- package/dist/esm/side-panel/layer-panel/raster-tile-colormap-list-item.js +55 -0
- package/dist/esm/side-panel/layer-panel/raster-tile-layer-configurator.js +450 -0
- package/dist/esm/side-panel/layer-panel/scenegraph-model-selector.js +115 -0
- package/dist/esm/side-panel/layer-panel/single-color-palette.js +78 -0
- package/dist/esm/side-panel/layer-panel/text-label-panel.js +166 -0
- package/dist/esm/side-panel/layer-panel/vector-tile-layer-configurator.js +86 -0
- package/dist/esm/side-panel/layer-panel/vis-config-by-field-selector.js +53 -0
- package/dist/esm/side-panel/layer-panel/vis-config-slider.js +160 -0
- package/dist/esm/side-panel/layer-panel/vis-config-switch.js +50 -0
- package/dist/esm/side-panel/map-manager.js +99 -0
- package/dist/esm/side-panel/map-style-panel/globe-config-panel.js +262 -0
- package/dist/esm/side-panel/map-style-panel/map-layer-group-color-picker.js +69 -0
- package/dist/esm/side-panel/map-style-panel/map-layer-group-item.js +87 -0
- package/dist/esm/side-panel/map-style-panel/map-layer-selector.js +69 -0
- package/dist/esm/side-panel/map-style-panel/map-style-selector.js +92 -0
- package/dist/esm/side-panel/panel-header-action.js +68 -0
- package/dist/esm/side-panel/panel-header.js +303 -0
- package/dist/esm/side-panel/panel-tab.js +49 -0
- package/dist/esm/side-panel/panel-title.js +35 -0
- package/dist/esm/side-panel/panel-toggle.js +40 -0
- package/dist/esm/side-panel/panel-view-list-toggle.js +90 -0
- package/dist/esm/side-panel/side-bar.js +119 -0
- package/dist/esm/side-panel.js +227 -0
- package/dist/esm/types.js +3 -0
- package/dist/index.d.ts +1 -1
- package/dist/modals/hubble-utils.d.ts +16 -0
- package/package.json +35 -20
- package/dist/annotations/annotation-node.js +0 -145
- package/dist/annotations/annotation-overlay.js +0 -168
- package/dist/annotations/annotation-panel.js +0 -361
- package/dist/annotations/annotation-text.js +0 -149
- package/dist/annotations/annotation-utils.js +0 -197
- package/dist/annotations/index.js +0 -53
- package/dist/annotations/lexical-editor/clickable-link-plugin.js +0 -71
- package/dist/annotations/lexical-editor/floating-link-editor.js +0 -193
- package/dist/annotations/lexical-editor/index.js +0 -78
- package/dist/annotations/lexical-editor/lexical-constants.js +0 -22
- package/dist/annotations/lexical-editor/lexical-nodes.js +0 -13
- package/dist/annotations/lexical-editor/lexical-rich-text-editor.js +0 -121
- package/dist/annotations/lexical-editor/lexical-theme.js +0 -25
- package/dist/annotations/lexical-editor/lexical-toolbar.js +0 -292
- package/dist/annotations/lexical-editor/lexical-utils.js +0 -45
- package/dist/annotations/lexical-editor/use-lexical-toolbar.js +0 -253
- package/dist/bottom-widget.js +0 -183
- package/dist/common/action-panel.js +0 -133
- package/dist/common/animation-control/animation-control.js +0 -100
- package/dist/common/animation-control/animation-controller.js +0 -271
- package/dist/common/animation-control/animation-speed-slider.js +0 -63
- package/dist/common/animation-control/animation-window-control.js +0 -59
- package/dist/common/animation-control/export-video-control.js +0 -43
- package/dist/common/animation-control/floating-time-display.js +0 -131
- package/dist/common/animation-control/play-control.js +0 -50
- package/dist/common/animation-control/playback-controls.js +0 -164
- package/dist/common/animation-control/reset-control.js +0 -41
- package/dist/common/animation-control/speed-control.js +0 -51
- package/dist/common/animation-control/window-action-control.js +0 -57
- package/dist/common/checkbox.js +0 -101
- package/dist/common/color-legend.js +0 -272
- package/dist/common/column-stats-chart.js +0 -312
- package/dist/common/data-table/button.js +0 -38
- package/dist/common/data-table/canvas.js +0 -26
- package/dist/common/data-table/cell-size.js +0 -183
- package/dist/common/data-table/display-format.js +0 -125
- package/dist/common/data-table/grid.js +0 -106
- package/dist/common/data-table/header-cell.js +0 -148
- package/dist/common/data-table/index.js +0 -470
- package/dist/common/data-table/option-dropdown.js +0 -159
- package/dist/common/dataset-label.js +0 -27
- package/dist/common/dnd-layer-items.js +0 -22
- package/dist/common/error-boundary.js +0 -59
- package/dist/common/field-selector.js +0 -172
- package/dist/common/field-token.js +0 -43
- package/dist/common/file-uploader/file-drop.js +0 -180
- package/dist/common/file-uploader/file-upload-progress.js +0 -84
- package/dist/common/file-uploader/file-upload.js +0 -241
- package/dist/common/file-uploader/upload-button.js +0 -58
- package/dist/common/flex-container.js +0 -15
- package/dist/common/histogram-plot.js +0 -282
- package/dist/common/icon-button.js +0 -25
- package/dist/common/icons/3d-models/airplane.js +0 -103
- package/dist/common/icons/3d-models/bicycle.js +0 -425
- package/dist/common/icons/3d-models/boeing.js +0 -118
- package/dist/common/icons/3d-models/car.js +0 -109
- package/dist/common/icons/3d-models/cargoship.js +0 -245
- package/dist/common/icons/3d-models/evtol.js +0 -133
- package/dist/common/icons/3d-models/glider.js +0 -61
- package/dist/common/icons/3d-models/helicopter.js +0 -109
- package/dist/common/icons/3d-models/scooter.js +0 -158
- package/dist/common/icons/3d-models/semitruck.js +0 -176
- package/dist/common/icons/3d-models/truck.js +0 -121
- package/dist/common/icons/add.js +0 -40
- package/dist/common/icons/anchor_window.js +0 -41
- package/dist/common/icons/annotation-text.js +0 -55
- package/dist/common/icons/arrow-down-alt.js +0 -40
- package/dist/common/icons/arrow-down-full.js +0 -49
- package/dist/common/icons/arrow-down-small.js +0 -53
- package/dist/common/icons/arrow-down-solid.js +0 -40
- package/dist/common/icons/arrow-down.js +0 -50
- package/dist/common/icons/arrow-left.js +0 -43
- package/dist/common/icons/arrow-right.js +0 -40
- package/dist/common/icons/arrow-up-alt.js +0 -41
- package/dist/common/icons/arrow-up-solid.js +0 -40
- package/dist/common/icons/arrow-up.js +0 -40
- package/dist/common/icons/base-map.js +0 -56
- package/dist/common/icons/base.js +0 -78
- package/dist/common/icons/bug.js +0 -70
- package/dist/common/icons/calendar.js +0 -48
- package/dist/common/icons/cancel.js +0 -40
- package/dist/common/icons/checkmark.js +0 -46
- package/dist/common/icons/clipboard.js +0 -41
- package/dist/common/icons/clock.js +0 -42
- package/dist/common/icons/close.js +0 -46
- package/dist/common/icons/cloud.js +0 -50
- package/dist/common/icons/code-alt.js +0 -43
- package/dist/common/icons/copy.js +0 -51
- package/dist/common/icons/crosshairs.js +0 -43
- package/dist/common/icons/cube-3d.js +0 -54
- package/dist/common/icons/cursor-click.js +0 -44
- package/dist/common/icons/cursor-point.js +0 -50
- package/dist/common/icons/data-table.js +0 -76
- package/dist/common/icons/db.js +0 -58
- package/dist/common/icons/delete.js +0 -52
- package/dist/common/icons/docs.js +0 -56
- package/dist/common/icons/docs2.js +0 -50
- package/dist/common/icons/drag-n-drop.js +0 -42
- package/dist/common/icons/draggable-dots.js +0 -84
- package/dist/common/icons/draw-polygon.js +0 -60
- package/dist/common/icons/edit.js +0 -48
- package/dist/common/icons/effects/brightness-contrast.js +0 -69
- package/dist/common/icons/effects/color-halftone.js +0 -108
- package/dist/common/icons/effects/distance-fog.js +0 -78
- package/dist/common/icons/effects/dot-screen.js +0 -103
- package/dist/common/icons/effects/edge-work.js +0 -62
- package/dist/common/icons/effects/hexagonal-pixelate.js +0 -129
- package/dist/common/icons/effects/hue-saturation.js +0 -60
- package/dist/common/icons/effects/ink.js +0 -59
- package/dist/common/icons/effects/light-and-shadow.js +0 -48
- package/dist/common/icons/effects/magic-wand.js +0 -60
- package/dist/common/icons/effects/magnify.js +0 -67
- package/dist/common/icons/effects/noise.js +0 -113
- package/dist/common/icons/effects/sepia.js +0 -60
- package/dist/common/icons/effects/surface-fog.js +0 -85
- package/dist/common/icons/effects/tilt-shift.js +0 -69
- package/dist/common/icons/effects/triangle-blur.js +0 -64
- package/dist/common/icons/effects/vibrance.js +0 -60
- package/dist/common/icons/effects/vignette.js +0 -53
- package/dist/common/icons/effects/zoom-blur.js +0 -88
- package/dist/common/icons/email.js +0 -44
- package/dist/common/icons/expand.js +0 -42
- package/dist/common/icons/eye-seen.js +0 -49
- package/dist/common/icons/eye-unseen.js +0 -47
- package/dist/common/icons/file-type.js +0 -35
- package/dist/common/icons/file.js +0 -40
- package/dist/common/icons/files.js +0 -41
- package/dist/common/icons/filter-funnel.js +0 -50
- package/dist/common/icons/folder.js +0 -50
- package/dist/common/icons/free-window.js +0 -44
- package/dist/common/icons/gear.js +0 -42
- package/dist/common/icons/globe.js +0 -53
- package/dist/common/icons/hash.js +0 -40
- package/dist/common/icons/help.js +0 -50
- package/dist/common/icons/histogram.js +0 -41
- package/dist/common/icons/horizontal-resize-handle.js +0 -58
- package/dist/common/icons/index.js +0 -824
- package/dist/common/icons/info.js +0 -53
- package/dist/common/icons/layers.js +0 -54
- package/dist/common/icons/left-arrow.js +0 -43
- package/dist/common/icons/legend.js +0 -68
- package/dist/common/icons/line-chart.js +0 -40
- package/dist/common/icons/location-marker.js +0 -58
- package/dist/common/icons/login.js +0 -43
- package/dist/common/icons/logout.js +0 -42
- package/dist/common/icons/map-icon.js +0 -47
- package/dist/common/icons/map-pin.js +0 -56
- package/dist/common/icons/messages.js +0 -54
- package/dist/common/icons/minus.js +0 -40
- package/dist/common/icons/moon.js +0 -58
- package/dist/common/icons/order-by-dataset.js +0 -46
- package/dist/common/icons/order-by-list.js +0 -38
- package/dist/common/icons/pause.js +0 -60
- package/dist/common/icons/picture.js +0 -59
- package/dist/common/icons/pin.js +0 -52
- package/dist/common/icons/play.js +0 -50
- package/dist/common/icons/pointer-click.js +0 -58
- package/dist/common/icons/polygon.js +0 -62
- package/dist/common/icons/rectangle.js +0 -63
- package/dist/common/icons/reduce.js +0 -43
- package/dist/common/icons/reset.js +0 -56
- package/dist/common/icons/save.js +0 -57
- package/dist/common/icons/save2.js +0 -54
- package/dist/common/icons/search.js +0 -42
- package/dist/common/icons/settings.js +0 -60
- package/dist/common/icons/share.js +0 -70
- package/dist/common/icons/speed.js +0 -52
- package/dist/common/icons/split.js +0 -68
- package/dist/common/icons/square-select.js +0 -42
- package/dist/common/icons/sun.js +0 -74
- package/dist/common/icons/sunrise.js +0 -70
- package/dist/common/icons/sunset.js +0 -70
- package/dist/common/icons/timeline-marker.js +0 -55
- package/dist/common/icons/trash.js +0 -54
- package/dist/common/icons/vert-dots.js +0 -78
- package/dist/common/icons/vert-three-dots.js +0 -53
- package/dist/common/icons/warning-sign.js +0 -60
- package/dist/common/icons/warning.js +0 -54
- package/dist/common/icons/zoom-in.js +0 -47
- package/dist/common/icons/zoom-out.js +0 -47
- package/dist/common/image-preview.js +0 -64
- package/dist/common/index.js +0 -282
- package/dist/common/info-helper.js +0 -61
- package/dist/common/item-selector/accessor.js +0 -37
- package/dist/common/item-selector/chickleted-input.js +0 -157
- package/dist/common/item-selector/dropdown-list.js +0 -257
- package/dist/common/item-selector/dropdown-select.js +0 -84
- package/dist/common/item-selector/item-selector.js +0 -254
- package/dist/common/item-selector/typeahead.js +0 -435
- package/dist/common/layout-splitter.js +0 -230
- package/dist/common/line-chart.js +0 -286
- package/dist/common/link-renderer.js +0 -20
- package/dist/common/loading-spinner.js +0 -50
- package/dist/common/logo.js +0 -68
- package/dist/common/map-layer-selector.js +0 -38
- package/dist/common/modal.js +0 -170
- package/dist/common/portaled.js +0 -287
- package/dist/common/progress-bar.js +0 -47
- package/dist/common/radius-legend.js +0 -131
- package/dist/common/range-brush.js +0 -265
- package/dist/common/range-plot.js +0 -217
- package/dist/common/range-slider-timeline-panel.js +0 -42
- package/dist/common/range-slider-timeline.js +0 -112
- package/dist/common/range-slider.js +0 -371
- package/dist/common/slider/mouse-event.js +0 -104
- package/dist/common/slider/slider-bar-handle.js +0 -90
- package/dist/common/slider/slider-handle.js +0 -136
- package/dist/common/slider/slider.js +0 -251
- package/dist/common/styled-components.js +0 -447
- package/dist/common/switch.js +0 -21
- package/dist/common/sync-timeline-control.js +0 -61
- package/dist/common/time-range-slider-time-title.js +0 -62
- package/dist/common/time-range-slider.js +0 -143
- package/dist/common/time-slider-marker.js +0 -115
- package/dist/common/timeline-helpers.js +0 -57
- package/dist/common/timeline-slider.js +0 -140
- package/dist/common/tippy-tooltip.js +0 -134
- package/dist/common/toolbar-item.js +0 -60
- package/dist/common/toolbar.js +0 -27
- package/dist/common/vertical-toolbar.js +0 -16
- package/dist/connect/keplergl-connect.js +0 -44
- package/dist/connect/with-local-selector.js +0 -85
- package/dist/container.js +0 -180
- package/dist/context.js +0 -43
- package/dist/dnd-context.js +0 -174
- package/dist/editor/editor.js +0 -200
- package/dist/editor/feature-action-panel.js +0 -147
- package/dist/effects/compact-color-picker.js +0 -110
- package/dist/effects/effect-configurator.js +0 -473
- package/dist/effects/effect-list.js +0 -129
- package/dist/effects/effect-manager.js +0 -126
- package/dist/effects/effect-panel-header.js +0 -196
- package/dist/effects/effect-panel.js +0 -86
- package/dist/effects/effect-time-configurator.js +0 -313
- package/dist/effects/effect-time-selector.js +0 -152
- package/dist/effects/effect-time-slider.js +0 -198
- package/dist/effects/effect-type-dropdown-list.js +0 -65
- package/dist/effects/effect-type-list-item.js +0 -98
- package/dist/effects/effect-type-selector.js +0 -76
- package/dist/effects/side-panel-title.js +0 -37
- package/dist/effects/surface-fog-section.js +0 -262
- package/dist/effects/timezone-selector.js +0 -57
- package/dist/filter-animation-controller.js +0 -76
- package/dist/filters/components.js +0 -14
- package/dist/filters/filter-panels/filter-panel-with-field-select.js +0 -77
- package/dist/filters/filter-panels/filter-synced-dataset-panel.js +0 -260
- package/dist/filters/filter-panels/multi-select-filter-panel.js +0 -48
- package/dist/filters/filter-panels/new-filter-panel.js +0 -66
- package/dist/filters/filter-panels/polygon-filter-panel.js +0 -67
- package/dist/filters/filter-panels/range-filter-panel.js +0 -53
- package/dist/filters/filter-panels/single-select-filter-panel.js +0 -48
- package/dist/filters/filter-panels/time-range-filter-panel.js +0 -129
- package/dist/filters/filter-panels/time-synced-field-selector.js +0 -28
- package/dist/filters/filter-panels/types.js +0 -6
- package/dist/filters/index.js +0 -63
- package/dist/filters/multi-select-filter.js +0 -31
- package/dist/filters/polygon-filter.js +0 -76
- package/dist/filters/range-filter.js +0 -35
- package/dist/filters/single-select-filter.js +0 -40
- package/dist/filters/time-range-filter.js +0 -69
- package/dist/filters/time-widget-settings.js +0 -311
- package/dist/filters/time-widget-top.js +0 -80
- package/dist/filters/time-widget.js +0 -376
- package/dist/filters/types.js +0 -6
- package/dist/geocoder/geocoder.js +0 -327
- package/dist/geocoder-panel.js +0 -172
- package/dist/hooks/use-cloud-list-provider.js +0 -46
- package/dist/hooks/use-dnd-effects.js +0 -69
- package/dist/hooks/use-dnd-layers.js +0 -141
- package/dist/hooks/use-feature-flags.js +0 -17
- package/dist/hooks/use-fetch-raster-tile-metadata.js +0 -120
- package/dist/hooks/use-fetch-vector-tile-metadata.js +0 -133
- package/dist/hooks/use-legend-position.js +0 -176
- package/dist/hooks/use-on-click-outside.js +0 -36
- package/dist/index.js +0 -2890
- package/dist/injector.js +0 -151
- package/dist/kepler-gl.js +0 -664
- package/dist/layer-animation-controller.js +0 -53
- package/dist/loading-indicator.js +0 -76
- package/dist/map/annotations/annotation-control.js +0 -55
- package/dist/map/attribution.js +0 -391
- package/dist/map/coordinate-info.js +0 -42
- package/dist/map/effects/effect-control.js +0 -51
- package/dist/map/layer-hover-info.js +0 -318
- package/dist/map/lazy-tippy.js +0 -60
- package/dist/map/locale-panel.js +0 -76
- package/dist/map/map-control-panel.js +0 -140
- package/dist/map/map-control-toolbar.js +0 -18
- package/dist/map/map-control-tooltip.js +0 -34
- package/dist/map/map-control.js +0 -81
- package/dist/map/map-draw-panel.js +0 -100
- package/dist/map/map-legend-panel.js +0 -289
- package/dist/map/map-legend.js +0 -509
- package/dist/map/map-navigation-control.js +0 -159
- package/dist/map/map-popover-content.js +0 -28
- package/dist/map/map-popover.js +0 -189
- package/dist/map/map-scale.js +0 -162
- package/dist/map/split-map-button.js +0 -176
- package/dist/map/toggle-3d-button.js +0 -122
- package/dist/map-container.js +0 -1322
- package/dist/map-view-state-context.js +0 -98
- package/dist/maps-layout.js +0 -102
- package/dist/modal-container.js +0 -456
- package/dist/modals/add-map-style-modal.js +0 -262
- package/dist/modals/cloud-components/cloud-header.js +0 -59
- package/dist/modals/cloud-components/cloud-item.js +0 -59
- package/dist/modals/cloud-components/cloud-item.spec.js +0 -92
- package/dist/modals/cloud-components/cloud-maps.js +0 -47
- package/dist/modals/cloud-components/cloud-maps.spec.js +0 -98
- package/dist/modals/cloud-components/provider-loading.js +0 -20
- package/dist/modals/cloud-components/provider-select.js +0 -30
- package/dist/modals/cloud-tile.js +0 -202
- package/dist/modals/data-table-modal.js +0 -215
- package/dist/modals/delete-data-modal.js +0 -41
- package/dist/modals/error-display.js +0 -32
- package/dist/modals/export-data-modal.js +0 -163
- package/dist/modals/export-image-modal.js +0 -188
- package/dist/modals/export-map-modal/components.js +0 -34
- package/dist/modals/export-map-modal/export-html-map.js +0 -128
- package/dist/modals/export-map-modal/export-json-map.js +0 -81
- package/dist/modals/export-map-modal/export-map-modal.js +0 -84
- package/dist/modals/export-video-modal.js +0 -413
- package/dist/modals/export-video-modal.spec.js +0 -686
- package/dist/modals/fog-height-animation.js +0 -97
- package/dist/modals/globe-export-video-container.js +0 -626
- package/dist/modals/globe-export-video-preview.js +0 -152
- package/dist/modals/hubble-utils.js +0 -422
- package/dist/modals/hubble-utils.spec.js +0 -397
- package/dist/modals/image-modal-container.js +0 -57
- package/dist/modals/load-data-modal.js +0 -97
- package/dist/modals/load-storage-map.js +0 -79
- package/dist/modals/load-storage-map.spec.js +0 -216
- package/dist/modals/loading-dialog.js +0 -37
- package/dist/modals/modal-dialog.js +0 -16
- package/dist/modals/modal-tabs.js +0 -74
- package/dist/modals/overwrite-map-modal.js +0 -83
- package/dist/modals/save-map-modal.js +0 -179
- package/dist/modals/save-map-modal.spec.js +0 -195
- package/dist/modals/share-map-modal.js +0 -168
- package/dist/modals/share-map-modal.spec.js +0 -173
- package/dist/modals/status-panel.js +0 -65
- package/dist/modals/storage-map-viewer.js +0 -98
- package/dist/modals/swipe-composite-utils.js +0 -118
- package/dist/modals/swipe-export-settings.js +0 -372
- package/dist/modals/swipe-export-video-container.js +0 -653
- package/dist/modals/swipe-export-video-preview.js +0 -401
- package/dist/modals/tilesets-modals/common.js +0 -6
- package/dist/modals/tilesets-modals/load-data-footer.js +0 -55
- package/dist/modals/tilesets-modals/load-tileset.js +0 -168
- package/dist/modals/tilesets-modals/tileset-bitmap-form.js +0 -283
- package/dist/modals/tilesets-modals/tileset-icon.js +0 -39
- package/dist/modals/tilesets-modals/tileset-raster-form.js +0 -287
- package/dist/modals/tilesets-modals/tileset-tile3d-form.js +0 -388
- package/dist/modals/tilesets-modals/tileset-vector-form.js +0 -261
- package/dist/modals/tilesets-modals/tileset-wms-form.js +0 -206
- package/dist/notification-panel/notification-item.js +0 -119
- package/dist/notification-panel.js +0 -39
- package/dist/plot-container.js +0 -311
- package/dist/side-panel/add-by-dataset-button.js +0 -128
- package/dist/side-panel/cloud-storage-dropdown.js +0 -40
- package/dist/side-panel/common/dataset-info.js +0 -34
- package/dist/side-panel/common/dataset-tag.js +0 -62
- package/dist/side-panel/common/dataset-title.js +0 -143
- package/dist/side-panel/common/source-data-catalog.js +0 -49
- package/dist/side-panel/common/source-data-selector-content.js +0 -64
- package/dist/side-panel/common/source-data-selector.js +0 -41
- package/dist/side-panel/common/source-selector.js +0 -56
- package/dist/side-panel/common/types.js +0 -6
- package/dist/side-panel/custom-panel.js +0 -39
- package/dist/side-panel/filter-manager.js +0 -202
- package/dist/side-panel/filter-panel/add-filter-button.js +0 -27
- package/dist/side-panel/filter-panel/filter-panel-header.js +0 -67
- package/dist/side-panel/filter-panel/filter-panel.js +0 -92
- package/dist/side-panel/interaction-manager.js +0 -45
- package/dist/side-panel/interaction-panel/brush-config.js +0 -41
- package/dist/side-panel/interaction-panel/geocoder-config.js +0 -45
- package/dist/side-panel/interaction-panel/interaction-panel.js +0 -121
- package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +0 -164
- package/dist/side-panel/interaction-panel/tooltip-config.js +0 -149
- package/dist/side-panel/layer-manager.js +0 -224
- package/dist/side-panel/layer-panel/add-layer-button.js +0 -27
- package/dist/side-panel/layer-panel/aggr-scale-selector.js +0 -37
- package/dist/side-panel/layer-panel/channel-by-value-selector.js +0 -71
- package/dist/side-panel/layer-panel/color-breaks-panel.js +0 -193
- package/dist/side-panel/layer-panel/color-palette-preset.js +0 -45
- package/dist/side-panel/layer-panel/color-palette.js +0 -74
- package/dist/side-panel/layer-panel/color-range-selector.js +0 -242
- package/dist/side-panel/layer-panel/color-scale-selector.js +0 -295
- package/dist/side-panel/layer-panel/color-selector.js +0 -186
- package/dist/side-panel/layer-panel/column-selector.js +0 -59
- package/dist/side-panel/layer-panel/custom-palette.js +0 -787
- package/dist/side-panel/layer-panel/custom-picker.js +0 -83
- package/dist/side-panel/layer-panel/dataset-layer-group.js +0 -68
- package/dist/side-panel/layer-panel/dataset-layer-section.js +0 -101
- package/dist/side-panel/layer-panel/dataset-section.js +0 -74
- package/dist/side-panel/layer-panel/dimension-scale-selector.js +0 -91
- package/dist/side-panel/layer-panel/how-to-button.js +0 -27
- package/dist/side-panel/layer-panel/layer-color-selector.js +0 -105
- package/dist/side-panel/layer-panel/layer-column-config.js +0 -85
- package/dist/side-panel/layer-panel/layer-column-mode-config.js +0 -192
- package/dist/side-panel/layer-panel/layer-config-group.js +0 -143
- package/dist/side-panel/layer-panel/layer-configurator.js +0 -1073
- package/dist/side-panel/layer-panel/layer-error-message.js +0 -29
- package/dist/side-panel/layer-panel/layer-group-header.js +0 -178
- package/dist/side-panel/layer-panel/layer-list.js +0 -330
- package/dist/side-panel/layer-panel/layer-panel-header.js +0 -311
- package/dist/side-panel/layer-panel/layer-panel.js +0 -171
- package/dist/side-panel/layer-panel/layer-type-dropdown-list.js +0 -77
- package/dist/side-panel/layer-panel/layer-type-list-item.js +0 -71
- package/dist/side-panel/layer-panel/layer-type-selector.js +0 -57
- package/dist/side-panel/layer-panel/raster-tile-colormap-list-item.js +0 -60
- package/dist/side-panel/layer-panel/raster-tile-layer-configurator.js +0 -457
- package/dist/side-panel/layer-panel/scenegraph-model-selector.js +0 -122
- package/dist/side-panel/layer-panel/single-color-palette.js +0 -85
- package/dist/side-panel/layer-panel/text-label-panel.js +0 -173
- package/dist/side-panel/layer-panel/vector-tile-layer-configurator.js +0 -93
- package/dist/side-panel/layer-panel/vis-config-by-field-selector.js +0 -60
- package/dist/side-panel/layer-panel/vis-config-slider.js +0 -167
- package/dist/side-panel/layer-panel/vis-config-switch.js +0 -55
- package/dist/side-panel/map-manager.js +0 -108
- package/dist/side-panel/map-style-panel/globe-config-panel.js +0 -269
- package/dist/side-panel/map-style-panel/map-layer-group-color-picker.js +0 -76
- package/dist/side-panel/map-style-panel/map-layer-group-item.js +0 -94
- package/dist/side-panel/map-style-panel/map-layer-selector.js +0 -74
- package/dist/side-panel/map-style-panel/map-style-selector.js +0 -97
- package/dist/side-panel/panel-header-action.js +0 -73
- package/dist/side-panel/panel-header.js +0 -309
- package/dist/side-panel/panel-tab.js +0 -55
- package/dist/side-panel/panel-title.js +0 -40
- package/dist/side-panel/panel-toggle.js +0 -47
- package/dist/side-panel/panel-view-list-toggle.js +0 -97
- package/dist/side-panel/side-bar.js +0 -126
- package/dist/side-panel.js +0 -235
- package/dist/types.js +0 -6
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
14
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
15
|
+
var _classnames3 = _interopRequireDefault(require("classnames"));
|
|
16
|
+
var _utilities = require("@dnd-kit/utilities");
|
|
17
|
+
var _sortable = require("@dnd-kit/sortable");
|
|
18
|
+
var _constants = require("@kepler.gl/constants");
|
|
19
|
+
var _utils = require("@kepler.gl/utils");
|
|
20
|
+
var _dndLayerItems = require("../common/dnd-layer-items");
|
|
21
|
+
var _effectPanel = _interopRequireDefault(require("./effect-panel"));
|
|
22
|
+
var _templateObject, _templateObject2; // SPDX-License-Identifier: MIT
|
|
23
|
+
// Copyright contributors to the kepler.gl project
|
|
24
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
25
|
+
var Container = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n"])));
|
|
26
|
+
var SortableStyledItem = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n z-index: ", ";\n transition: ", ";\n transform: ", ";\n outline: none;\n &.sorting {\n opacity: 0.3;\n pointer-events: none;\n }\n &.sorting-effects .effect-panel__header {\n background-color: ", ";\n font-family: ", ";\n font-weight: ", ";\n font-size: ", ";\n line-height: ", ";\n *,\n *:before,\n *:after {\n box-sizing: border-box;\n }\n .effect__drag-handle {\n opacity: 1;\n color: ", ";\n }\n }\n"])), function (props) {
|
|
27
|
+
return props.theme.dropdownWrapperZ + 1;
|
|
28
|
+
}, function (props) {
|
|
29
|
+
return props.transition;
|
|
30
|
+
}, function (props) {
|
|
31
|
+
return props.transform;
|
|
32
|
+
}, function (props) {
|
|
33
|
+
return props.theme.panelBackgroundHover;
|
|
34
|
+
}, function (props) {
|
|
35
|
+
return props.theme.fontFamily;
|
|
36
|
+
}, function (props) {
|
|
37
|
+
return props.theme.fontWeight;
|
|
38
|
+
}, function (props) {
|
|
39
|
+
return props.theme.fontSize;
|
|
40
|
+
}, function (props) {
|
|
41
|
+
return props.theme.lineHeight;
|
|
42
|
+
}, function (props) {
|
|
43
|
+
return props.theme.textColorHl;
|
|
44
|
+
});
|
|
45
|
+
EffectListFactory.deps = [_effectPanel["default"]];
|
|
46
|
+
function EffectListFactory(EffectPanel) {
|
|
47
|
+
var SortableItem = function SortableItem(_ref) {
|
|
48
|
+
var effect = _ref.effect,
|
|
49
|
+
idx = _ref.idx,
|
|
50
|
+
panelProps = _ref.panelProps,
|
|
51
|
+
disabled = _ref.disabled;
|
|
52
|
+
var _useSortable = (0, _sortable.useSortable)({
|
|
53
|
+
id: effect.id,
|
|
54
|
+
data: {
|
|
55
|
+
type: _dndLayerItems.SORTABLE_EFFECT_TYPE,
|
|
56
|
+
parent: _dndLayerItems.SORTABLE_EFFECT_PANEL_TYPE
|
|
57
|
+
},
|
|
58
|
+
disabled: disabled
|
|
59
|
+
}),
|
|
60
|
+
attributes = _useSortable.attributes,
|
|
61
|
+
listeners = _useSortable.listeners,
|
|
62
|
+
setNodeRef = _useSortable.setNodeRef,
|
|
63
|
+
isDragging = _useSortable.isDragging,
|
|
64
|
+
transform = _useSortable.transform,
|
|
65
|
+
transition = _useSortable.transition;
|
|
66
|
+
return /*#__PURE__*/_react["default"].createElement(SortableStyledItem, (0, _extends2["default"])({
|
|
67
|
+
ref: setNodeRef,
|
|
68
|
+
className: (0, _classnames3["default"])((0, _defineProperty2["default"])({}, _constants.dataTestIds.sortableEffectItem, !disabled), (0, _defineProperty2["default"])({}, _constants.dataTestIds.staticEffectItem, disabled), {
|
|
69
|
+
sorting: isDragging
|
|
70
|
+
}),
|
|
71
|
+
"data-testid": disabled ? _constants.dataTestIds.staticEffectItem : _constants.dataTestIds.sortableEffectItem,
|
|
72
|
+
transform: _utilities.CSS.Transform.toString(transform),
|
|
73
|
+
transition: transition || ''
|
|
74
|
+
}, attributes), /*#__PURE__*/_react["default"].createElement(EffectPanel, (0, _extends2["default"])({}, panelProps, {
|
|
75
|
+
key: effect.id,
|
|
76
|
+
idx: idx,
|
|
77
|
+
effect: effect,
|
|
78
|
+
listeners: listeners,
|
|
79
|
+
isDraggable: !disabled
|
|
80
|
+
})));
|
|
81
|
+
};
|
|
82
|
+
var EffectList = function EffectList(props) {
|
|
83
|
+
var effects = props.effects,
|
|
84
|
+
effectOrder = props.effectOrder,
|
|
85
|
+
visStateActions = props.visStateActions;
|
|
86
|
+
var effectsToShow = (0, _react.useMemo)(function () {
|
|
87
|
+
return effectOrder.reduce(function (acc, effectId) {
|
|
88
|
+
var effect = (0, _utils.findById)(effectId)(effects.filter(Boolean));
|
|
89
|
+
if (!effect) {
|
|
90
|
+
return acc;
|
|
91
|
+
}
|
|
92
|
+
return [].concat((0, _toConsumableArray2["default"])(acc), [effect]);
|
|
93
|
+
}, []);
|
|
94
|
+
}, [effects, effectOrder]);
|
|
95
|
+
var sidePanelDndItems = (0, _react.useMemo)(function () {
|
|
96
|
+
return effectsToShow.map(function (_ref2) {
|
|
97
|
+
var id = _ref2.id;
|
|
98
|
+
return id;
|
|
99
|
+
});
|
|
100
|
+
}, [effectsToShow]);
|
|
101
|
+
var panelProps = (0, _react.useMemo)(function () {
|
|
102
|
+
return {
|
|
103
|
+
effects: effects,
|
|
104
|
+
effectOrder: effectOrder,
|
|
105
|
+
removeEffect: visStateActions.removeEffect,
|
|
106
|
+
updateEffect: visStateActions.updateEffect
|
|
107
|
+
};
|
|
108
|
+
}, [effects, effectOrder, visStateActions]);
|
|
109
|
+
return /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement(_sortable.SortableContext, {
|
|
110
|
+
id: _dndLayerItems.SORTABLE_EFFECT_PANEL_TYPE,
|
|
111
|
+
items: sidePanelDndItems,
|
|
112
|
+
strategy: _sortable.verticalListSortingStrategy,
|
|
113
|
+
disabled: false
|
|
114
|
+
}, effectsToShow.map(function (effect) {
|
|
115
|
+
return /*#__PURE__*/_react["default"].createElement(SortableItem, {
|
|
116
|
+
key: effect.id,
|
|
117
|
+
effect: effect,
|
|
118
|
+
idx: effects.findIndex(function (l) {
|
|
119
|
+
return (l === null || l === void 0 ? void 0 : l.id) === effect.id;
|
|
120
|
+
}),
|
|
121
|
+
panelProps: panelProps,
|
|
122
|
+
disabled: false
|
|
123
|
+
});
|
|
124
|
+
})));
|
|
125
|
+
};
|
|
126
|
+
return EffectList;
|
|
127
|
+
}
|
|
128
|
+
var _default = exports["default"] = EffectListFactory;
|
|
129
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY2xhc3NuYW1lczMiLCJfdXRpbGl0aWVzIiwiX3NvcnRhYmxlIiwiX2NvbnN0YW50cyIsIl91dGlscyIsIl9kbmRMYXllckl0ZW1zIiwiX2VmZmVjdFBhbmVsIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJzZXQiLCJfdCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiQ29udGFpbmVyIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJTb3J0YWJsZVN0eWxlZEl0ZW0iLCJwcm9wcyIsInRoZW1lIiwiZHJvcGRvd25XcmFwcGVyWiIsInRyYW5zaXRpb24iLCJ0cmFuc2Zvcm0iLCJwYW5lbEJhY2tncm91bmRIb3ZlciIsImZvbnRGYW1pbHkiLCJmb250V2VpZ2h0IiwiZm9udFNpemUiLCJsaW5lSGVpZ2h0IiwidGV4dENvbG9ySGwiLCJFZmZlY3RMaXN0RmFjdG9yeSIsImRlcHMiLCJFZmZlY3RQYW5lbEZhY3RvcnkiLCJFZmZlY3RQYW5lbCIsIlNvcnRhYmxlSXRlbSIsIl9yZWYiLCJlZmZlY3QiLCJpZHgiLCJwYW5lbFByb3BzIiwiZGlzYWJsZWQiLCJfdXNlU29ydGFibGUiLCJ1c2VTb3J0YWJsZSIsImlkIiwiZGF0YSIsInR5cGUiLCJTT1JUQUJMRV9FRkZFQ1RfVFlQRSIsInBhcmVudCIsIlNPUlRBQkxFX0VGRkVDVF9QQU5FTF9UWVBFIiwiYXR0cmlidXRlcyIsImxpc3RlbmVycyIsInNldE5vZGVSZWYiLCJpc0RyYWdnaW5nIiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzMiIsInJlZiIsImNsYXNzTmFtZSIsImNsYXNzbmFtZXMiLCJfZGVmaW5lUHJvcGVydHkyIiwiZGF0YVRlc3RJZHMiLCJzb3J0YWJsZUVmZmVjdEl0ZW0iLCJzdGF0aWNFZmZlY3RJdGVtIiwic29ydGluZyIsIkNTUyIsIlRyYW5zZm9ybSIsInRvU3RyaW5nIiwia2V5IiwiaXNEcmFnZ2FibGUiLCJFZmZlY3RMaXN0IiwiZWZmZWN0cyIsImVmZmVjdE9yZGVyIiwidmlzU3RhdGVBY3Rpb25zIiwiZWZmZWN0c1RvU2hvdyIsInVzZU1lbW8iLCJyZWR1Y2UiLCJhY2MiLCJlZmZlY3RJZCIsImZpbmRCeUlkIiwiZmlsdGVyIiwiQm9vbGVhbiIsImNvbmNhdCIsIl90b0NvbnN1bWFibGVBcnJheTIiLCJzaWRlUGFuZWxEbmRJdGVtcyIsIm1hcCIsIl9yZWYyIiwicmVtb3ZlRWZmZWN0IiwidXBkYXRlRWZmZWN0IiwiU29ydGFibGVDb250ZXh0IiwiaXRlbXMiLCJzdHJhdGVneSIsInZlcnRpY2FsTGlzdFNvcnRpbmdTdHJhdGVneSIsImZpbmRJbmRleCIsImwiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWZmZWN0cy9lZmZlY3QtbGlzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlTWVtb30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7Q1NTfSBmcm9tICdAZG5kLWtpdC91dGlsaXRpZXMnO1xuaW1wb3J0IHt1c2VTb3J0YWJsZSwgU29ydGFibGVDb250ZXh0LCB2ZXJ0aWNhbExpc3RTb3J0aW5nU3RyYXRlZ3l9IGZyb20gJ0BkbmQta2l0L3NvcnRhYmxlJztcblxuaW1wb3J0IHtkYXRhVGVzdElkc30gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtmaW5kQnlJZH0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge0VmZmVjdH0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge1xuICBhZGRFZmZlY3QsXG4gIHVwZGF0ZUVmZmVjdCxcbiAgcmVtb3ZlRWZmZWN0LFxuICByZW9yZGVyRWZmZWN0LFxuICBBY3Rpb25IYW5kbGVyXG59IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5cbmltcG9ydCB7U09SVEFCTEVfRUZGRUNUX1RZUEUsIFNPUlRBQkxFX0VGRkVDVF9QQU5FTF9UWVBFfSBmcm9tICcuLi9jb21tb24vZG5kLWxheWVyLWl0ZW1zJztcbmltcG9ydCBFZmZlY3RQYW5lbEZhY3RvcnkgZnJvbSAnLi9lZmZlY3QtcGFuZWwnO1xuXG5leHBvcnQgdHlwZSBFZmZlY3RMaXN0UHJvcHMgPSB7XG4gIGVmZmVjdHM6IEVmZmVjdFtdO1xuICBlZmZlY3RPcmRlcjogc3RyaW5nW107XG4gIHZpc1N0YXRlQWN0aW9uczoge1xuICAgIGFkZEVmZmVjdDogQWN0aW9uSGFuZGxlcjx0eXBlb2YgYWRkRWZmZWN0PjtcbiAgICB1cGRhdGVFZmZlY3Q6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIHVwZGF0ZUVmZmVjdD47XG4gICAgcmVtb3ZlRWZmZWN0OiBBY3Rpb25IYW5kbGVyPHR5cGVvZiByZW1vdmVFZmZlY3Q+O1xuICAgIHJlb3JkZXJFZmZlY3Q6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIHJlb3JkZXJFZmZlY3Q+O1xuICB9O1xuICBpc1NvcnRhYmxlOiBib29sZWFuO1xufTtcblxuY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbmA7XG5cbnR5cGUgU29ydGFibGVTdHlsZWRJdGVtUHJvcHMgPSB7dHJhbnNpdGlvbj86IHN0cmluZzsgdHJhbnNmb3JtPzogc3RyaW5nfTtcbmNvbnN0IFNvcnRhYmxlU3R5bGVkSXRlbSA9IHN0eWxlZC5kaXY8U29ydGFibGVTdHlsZWRJdGVtUHJvcHM+YFxuICB6LWluZGV4OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmRyb3Bkb3duV3JhcHBlclogKyAxfTtcbiAgdHJhbnNpdGlvbjogJHtwcm9wcyA9PiBwcm9wcy50cmFuc2l0aW9ufTtcbiAgdHJhbnNmb3JtOiAke3Byb3BzID0+IHByb3BzLnRyYW5zZm9ybX07XG4gIG91dGxpbmU6IG5vbmU7XG4gICYuc29ydGluZyB7XG4gICAgb3BhY2l0eTogMC4zO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gICYuc29ydGluZy1lZmZlY3RzIC5lZmZlY3QtcGFuZWxfX2hlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3Zlcn07XG4gICAgZm9udC1mYW1pbHk6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZm9udEZhbWlseX07XG4gICAgZm9udC13ZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZm9udFdlaWdodH07XG4gICAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5saW5lSGVpZ2h0fTtcbiAgICAqLFxuICAgICo6YmVmb3JlLFxuICAgICo6YWZ0ZXIge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG4gICAgLmVmZmVjdF9fZHJhZy1oYW5kbGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcbiAgICB9XG4gIH1cbmA7XG5cbkVmZmVjdExpc3RGYWN0b3J5LmRlcHMgPSBbRWZmZWN0UGFuZWxGYWN0b3J5XTtcblxuZnVuY3Rpb24gRWZmZWN0TGlzdEZhY3RvcnkoXG4gIEVmZmVjdFBhbmVsOiBSZXR1cm5UeXBlPHR5cGVvZiBFZmZlY3RQYW5lbEZhY3Rvcnk+XG4pOiBSZWFjdC5GQzxFZmZlY3RMaXN0UHJvcHM+IHtcbiAgY29uc3QgU29ydGFibGVJdGVtID0gKHtlZmZlY3QsIGlkeCwgcGFuZWxQcm9wcywgZGlzYWJsZWR9KSA9PiB7XG4gICAgY29uc3Qge2F0dHJpYnV0ZXMsIGxpc3RlbmVycywgc2V0Tm9kZVJlZiwgaXNEcmFnZ2luZywgdHJhbnNmb3JtLCB0cmFuc2l0aW9ufSA9IHVzZVNvcnRhYmxlKHtcbiAgICAgIGlkOiBlZmZlY3QuaWQsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIHR5cGU6IFNPUlRBQkxFX0VGRkVDVF9UWVBFLFxuICAgICAgICBwYXJlbnQ6IFNPUlRBQkxFX0VGRkVDVF9QQU5FTF9UWVBFXG4gICAgICB9LFxuICAgICAgZGlzYWJsZWRcbiAgICB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U29ydGFibGVTdHlsZWRJdGVtXG4gICAgICAgIHJlZj17c2V0Tm9kZVJlZn1cbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKFxuICAgICAgICAgIHtbZGF0YVRlc3RJZHMuc29ydGFibGVFZmZlY3RJdGVtXTogIWRpc2FibGVkfSxcbiAgICAgICAgICB7W2RhdGFUZXN0SWRzLnN0YXRpY0VmZmVjdEl0ZW1dOiBkaXNhYmxlZH0sXG4gICAgICAgICAge3NvcnRpbmc6IGlzRHJhZ2dpbmd9XG4gICAgICAgICl9XG4gICAgICAgIGRhdGEtdGVzdGlkPXtkaXNhYmxlZCA/IGRhdGFUZXN0SWRzLnN0YXRpY0VmZmVjdEl0ZW0gOiBkYXRhVGVzdElkcy5zb3J0YWJsZUVmZmVjdEl0ZW19XG4gICAgICAgIHRyYW5zZm9ybT17Q1NTLlRyYW5zZm9ybS50b1N0cmluZyh0cmFuc2Zvcm0pfVxuICAgICAgICB0cmFuc2l0aW9uPXt0cmFuc2l0aW9uIHx8ICcnfVxuICAgICAgICB7Li4uYXR0cmlidXRlc31cbiAgICAgID5cbiAgICAgICAgPEVmZmVjdFBhbmVsXG4gICAgICAgICAgey4uLnBhbmVsUHJvcHN9XG4gICAgICAgICAga2V5PXtlZmZlY3QuaWR9XG4gICAgICAgICAgaWR4PXtpZHh9XG4gICAgICAgICAgZWZmZWN0PXtlZmZlY3R9XG4gICAgICAgICAgbGlzdGVuZXJzPXtsaXN0ZW5lcnN9XG4gICAgICAgICAgaXNEcmFnZ2FibGU9eyFkaXNhYmxlZH1cbiAgICAgICAgLz5cbiAgICAgIDwvU29ydGFibGVTdHlsZWRJdGVtPlxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgRWZmZWN0TGlzdCA9IChwcm9wczogRWZmZWN0TGlzdFByb3BzKSA9PiB7XG4gICAgY29uc3Qge2VmZmVjdHMsIGVmZmVjdE9yZGVyLCB2aXNTdGF0ZUFjdGlvbnN9ID0gcHJvcHM7XG5cbiAgICBjb25zdCBlZmZlY3RzVG9TaG93ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICByZXR1cm4gZWZmZWN0T3JkZXIucmVkdWNlKChhY2MsIGVmZmVjdElkKSA9PiB7XG4gICAgICAgIGNvbnN0IGVmZmVjdCA9IGZpbmRCeUlkKGVmZmVjdElkKShlZmZlY3RzLmZpbHRlcihCb29sZWFuKSk7XG4gICAgICAgIGlmICghZWZmZWN0KSB7XG4gICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gWy4uLmFjYywgZWZmZWN0XTtcbiAgICAgIH0sIFtdIGFzIEVmZmVjdFtdKTtcbiAgICB9LCBbZWZmZWN0cywgZWZmZWN0T3JkZXJdKTtcblxuICAgIGNvbnN0IHNpZGVQYW5lbERuZEl0ZW1zID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICByZXR1cm4gZWZmZWN0c1RvU2hvdy5tYXAoKHtpZH0pID0+IGlkKTtcbiAgICB9LCBbZWZmZWN0c1RvU2hvd10pO1xuXG4gICAgY29uc3QgcGFuZWxQcm9wcyA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiAoe1xuICAgICAgICBlZmZlY3RzLFxuICAgICAgICBlZmZlY3RPcmRlcixcbiAgICAgICAgcmVtb3ZlRWZmZWN0OiB2aXNTdGF0ZUFjdGlvbnMucmVtb3ZlRWZmZWN0LFxuICAgICAgICB1cGRhdGVFZmZlY3Q6IHZpc1N0YXRlQWN0aW9ucy51cGRhdGVFZmZlY3RcbiAgICAgIH0pLFxuICAgICAgW2VmZmVjdHMsIGVmZmVjdE9yZGVyLCB2aXNTdGF0ZUFjdGlvbnNdXG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8Q29udGFpbmVyPlxuICAgICAgICA8U29ydGFibGVDb250ZXh0XG4gICAgICAgICAgaWQ9e1NPUlRBQkxFX0VGRkVDVF9QQU5FTF9UWVBFfVxuICAgICAgICAgIGl0ZW1zPXtzaWRlUGFuZWxEbmRJdGVtc31cbiAgICAgICAgICBzdHJhdGVneT17dmVydGljYWxMaXN0U29ydGluZ1N0cmF0ZWd5fVxuICAgICAgICAgIGRpc2FibGVkPXtmYWxzZX1cbiAgICAgICAgPlxuICAgICAgICAgIHtlZmZlY3RzVG9TaG93Lm1hcChlZmZlY3QgPT4gKFxuICAgICAgICAgICAgPFNvcnRhYmxlSXRlbVxuICAgICAgICAgICAgICBrZXk9e2VmZmVjdC5pZH1cbiAgICAgICAgICAgICAgZWZmZWN0PXtlZmZlY3R9XG4gICAgICAgICAgICAgIGlkeD17ZWZmZWN0cy5maW5kSW5kZXgobCA9PiBsPy5pZCA9PT0gZWZmZWN0LmlkKX1cbiAgICAgICAgICAgICAgcGFuZWxQcm9wcz17cGFuZWxQcm9wc31cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e2ZhbHNlfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9Tb3J0YWJsZUNvbnRleHQ+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuICByZXR1cm4gRWZmZWN0TGlzdDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgRWZmZWN0TGlzdEZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7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eEIsQ0FBQyxFQUFFLEVBQWMsQ0FBQztJQUNwQixDQUFDLEVBQUUsQ0FBQ2dDLE9BQU8sRUFBRUMsV0FBVyxDQUFDLENBQUM7SUFFMUIsSUFBTVksaUJBQWlCLEdBQUcsSUFBQVQsY0FBTyxFQUFDLFlBQU07TUFDdEMsT0FBT0QsYUFBYSxDQUFDVyxHQUFHLENBQUMsVUFBQUMsS0FBQTtRQUFBLElBQUV6QyxFQUFFLEdBQUF5QyxLQUFBLENBQUZ6QyxFQUFFO1FBQUEsT0FBTUEsRUFBRTtNQUFBLEVBQUM7SUFDeEMsQ0FBQyxFQUFFLENBQUM2QixhQUFhLENBQUMsQ0FBQztJQUVuQixJQUFNakMsVUFBVSxHQUFHLElBQUFrQyxjQUFPLEVBQ3hCO01BQUEsT0FBTztRQUNMSixPQUFPLEVBQVBBLE9BQU87UUFDUEMsV0FBVyxFQUFYQSxXQUFXO1FBQ1hlLFlBQVksRUFBRWQsZUFBZSxDQUFDYyxZQUFZO1FBQzFDQyxZQUFZLEVBQUVmLGVBQWUsQ0FBQ2U7TUFDaEMsQ0FBQztJQUFBLENBQUMsRUFDRixDQUFDakIsT0FBTyxFQUFFQyxXQUFXLEVBQUVDLGVBQWUsQ0FDeEMsQ0FBQztJQUVELG9CQUNFMUYsTUFBQSxZQUFBd0UsYUFBQSxDQUFDdEMsU0FBUyxxQkFDUmxDLE1BQUEsWUFBQXdFLGFBQUEsQ0FBQ2pFLFNBQUEsQ0FBQW1HLGVBQWU7TUFDZDVDLEVBQUUsRUFBRUsseUNBQTJCO01BQy9Cd0MsS0FBSyxFQUFFTixpQkFBa0I7TUFDekJPLFFBQVEsRUFBRUMscUNBQTRCO01BQ3RDbEQsUUFBUSxFQUFFO0lBQU0sR0FFZmdDLGFBQWEsQ0FBQ1csR0FBRyxDQUFDLFVBQUE5QyxNQUFNO01BQUEsb0JBQ3ZCeEQsTUFBQSxZQUFBd0UsYUFBQSxDQUFDbEIsWUFBWTtRQUNYK0IsR0FBRyxFQUFFN0IsTUFBTSxDQUFDTSxFQUFHO1FBQ2ZOLE1BQU0sRUFBRUEsTUFBTztRQUNmQyxHQUFHLEVBQUUrQixPQUFPLENBQUNzQixTQUFTLENBQUMsVUFBQUMsQ0FBQztVQUFBLE9BQUksQ0FBQUEsQ0FBQyxhQUFEQSxDQUFDLHVCQUFEQSxDQUFDLENBQUVqRCxFQUFFLE1BQUtOLE1BQU0sQ0FBQ00sRUFBRTtRQUFBLEVBQUU7UUFDakRKLFVBQVUsRUFBRUEsVUFBVztRQUN2QkMsUUFBUSxFQUFFO01BQU0sQ0FDakIsQ0FBQztJQUFBLENBQ0gsQ0FDYyxDQUNSLENBQUM7RUFFaEIsQ0FBQztFQUNELE9BQU80QixVQUFVO0FBQ25CO0FBQUMsSUFBQXlCLFFBQUEsR0FBQUMsT0FBQSxjQUVjL0QsaUJBQWlCIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
12
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
14
|
+
var _reactIntl = require("react-intl");
|
|
15
|
+
var _actions = require("@kepler.gl/actions");
|
|
16
|
+
var _constants = require("@kepler.gl/constants");
|
|
17
|
+
var _reducers = require("@kepler.gl/reducers");
|
|
18
|
+
var _injector = require("../injector");
|
|
19
|
+
var _sidePanelTitle = _interopRequireDefault(require("./side-panel-title"));
|
|
20
|
+
var _effectList = _interopRequireDefault(require("./effect-list"));
|
|
21
|
+
var _effectTypeSelector = _interopRequireDefault(require("./effect-type-selector"));
|
|
22
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4; // SPDX-License-Identifier: MIT
|
|
23
|
+
// Copyright contributors to the kepler.gl project
|
|
24
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
25
|
+
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; }
|
|
26
|
+
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) { (0, _defineProperty2["default"])(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; }
|
|
27
|
+
var StyledEffectPanelContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n pointer-events: none !important; /* prevent padding from blocking input */\n flex-grow: 1;\n justify-content: space-between;\n overflow: hidden;\n\n & > * {\n /* all children should allow input */\n pointer-events: all;\n }\n"])));
|
|
28
|
+
|
|
29
|
+
// top right position absolute
|
|
30
|
+
var StyledEffectPanel = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n top: 0;\n background-color: ", ";\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n overflow: hidden;\n"])), function (props) {
|
|
31
|
+
return props.theme.sidePanelBg;
|
|
32
|
+
});
|
|
33
|
+
var StyledEffectPanelHeader = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n padding: ", ";\n border-bottom: 1px solid ", ";\n min-width: ", "px;\n"])), function (_ref) {
|
|
34
|
+
var theme = _ref.theme;
|
|
35
|
+
return "".concat(theme.effectPanelPaddingTop, "px ").concat(theme.effectPanelPaddingSide, "px 4px ").concat(theme.effectPanelPaddingSide, "px");
|
|
36
|
+
}, function (props) {
|
|
37
|
+
return props.theme.borderColor;
|
|
38
|
+
}, function (_ref2) {
|
|
39
|
+
var theme = _ref2.theme;
|
|
40
|
+
return theme.effectPanelWidth;
|
|
41
|
+
});
|
|
42
|
+
var StyledEffectPanelContent = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n padding: ", ";\n overflow: overlay;\n display: flex;\n flex-direction: column;\n"])), function (props) {
|
|
43
|
+
return props.theme.sidePanelScrollBar;
|
|
44
|
+
}, function (props) {
|
|
45
|
+
return props.$extended ? '32px' : '10px 0px 10px 0px';
|
|
46
|
+
});
|
|
47
|
+
EffectManagerFactory.deps = [_effectList["default"], _sidePanelTitle["default"], _effectTypeSelector["default"]];
|
|
48
|
+
function EffectManagerFactory(EffectList, SidePanelTitle, EffectTypeSelector) {
|
|
49
|
+
var EffectManager = function EffectManager(props) {
|
|
50
|
+
var intl = props.intl,
|
|
51
|
+
visStateActions = props.visStateActions,
|
|
52
|
+
visState = props.visState,
|
|
53
|
+
children = props.children;
|
|
54
|
+
var effects = visState.effects,
|
|
55
|
+
effectOrder = visState.effectOrder;
|
|
56
|
+
var visStateAddEffect = visStateActions.addEffect;
|
|
57
|
+
var _useState = (0, _react.useState)(false),
|
|
58
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
59
|
+
typeSelectorOpened = _useState2[0],
|
|
60
|
+
setTypeSelectorOpened = _useState2[1];
|
|
61
|
+
|
|
62
|
+
// Prevent shadow effect from being added multiple times
|
|
63
|
+
var effectOptions = (0, _react.useMemo)(function () {
|
|
64
|
+
var hasShadow = effects.some(function (effect) {
|
|
65
|
+
return effect.type === _constants.LIGHT_AND_SHADOW_EFFECT.type;
|
|
66
|
+
});
|
|
67
|
+
var hasDistanceFog = effects.some(function (effect) {
|
|
68
|
+
return effect.type === _constants.DISTANCE_FOG_TYPE;
|
|
69
|
+
});
|
|
70
|
+
var hasSurfaceFog = effects.some(function (effect) {
|
|
71
|
+
return effect.type === _constants.SURFACE_FOG_TYPE;
|
|
72
|
+
});
|
|
73
|
+
var hasAnyFog = hasDistanceFog || hasSurfaceFog;
|
|
74
|
+
return _constants.EFFECT_DESCRIPTIONS.map(function (desc) {
|
|
75
|
+
return _objectSpread(_objectSpread({}, desc), {}, {
|
|
76
|
+
disabled: Boolean(hasShadow && desc.type === _constants.LIGHT_AND_SHADOW_EFFECT.type || hasAnyFog && (desc.type === _constants.DISTANCE_FOG_TYPE || desc.type === _constants.SURFACE_FOG_TYPE))
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
}, [effects]);
|
|
80
|
+
var onAddEffect = (0, _react.useCallback)(function (type) {
|
|
81
|
+
visStateAddEffect({
|
|
82
|
+
type: type
|
|
83
|
+
});
|
|
84
|
+
}, [visStateAddEffect]);
|
|
85
|
+
var onTypeSelectOpen = (0, _react.useCallback)(function () {
|
|
86
|
+
setTypeSelectorOpened(true);
|
|
87
|
+
}, []);
|
|
88
|
+
var onTypeSelectClose = (0, _react.useCallback)(function () {
|
|
89
|
+
setTypeSelectorOpened(false);
|
|
90
|
+
}, []);
|
|
91
|
+
return /*#__PURE__*/_react["default"].createElement(StyledEffectPanelContainer, {
|
|
92
|
+
className: "effect-manager"
|
|
93
|
+
}, /*#__PURE__*/_react["default"].createElement(StyledEffectPanel, null, /*#__PURE__*/_react["default"].createElement(StyledEffectPanelHeader, {
|
|
94
|
+
className: "effect-panel-header"
|
|
95
|
+
}, /*#__PURE__*/_react["default"].createElement(SidePanelTitle, {
|
|
96
|
+
className: "effect-manager-title",
|
|
97
|
+
title: intl.formatMessage({
|
|
98
|
+
id: 'effectManager.effects'
|
|
99
|
+
})
|
|
100
|
+
}, /*#__PURE__*/_react["default"].createElement(EffectTypeSelector, {
|
|
101
|
+
options: effectOptions,
|
|
102
|
+
onSelect: onAddEffect,
|
|
103
|
+
onOpen: onTypeSelectOpen,
|
|
104
|
+
onBlur: onTypeSelectClose
|
|
105
|
+
}))), /*#__PURE__*/_react["default"].createElement(StyledEffectPanelContent, {
|
|
106
|
+
$extended: typeSelectorOpened && effects.length === 0
|
|
107
|
+
}, /*#__PURE__*/_react["default"].createElement(EffectList, {
|
|
108
|
+
effects: effects,
|
|
109
|
+
effectOrder: effectOrder,
|
|
110
|
+
visStateActions: visStateActions,
|
|
111
|
+
isSortable: true
|
|
112
|
+
}))), children);
|
|
113
|
+
};
|
|
114
|
+
return (0, _injector.withState)([_reducers.visStateLens], function (state) {
|
|
115
|
+
return state;
|
|
116
|
+
}, {
|
|
117
|
+
visStateActions: {
|
|
118
|
+
addEffect: _actions.addEffect,
|
|
119
|
+
updateEffect: _actions.updateEffect,
|
|
120
|
+
removeEffect: _actions.removeEffect,
|
|
121
|
+
reorderEffect: _actions.reorderEffect
|
|
122
|
+
}
|
|
123
|
+
})((0, _reactIntl.injectIntl)(EffectManager));
|
|
124
|
+
}
|
|
125
|
+
var _default = exports["default"] = EffectManagerFactory;
|
|
126
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcmVhY3RJbnRsIiwiX2FjdGlvbnMiLCJfY29uc3RhbnRzIiwiX3JlZHVjZXJzIiwiX2luamVjdG9yIiwiX3NpZGVQYW5lbFRpdGxlIiwiX2VmZmVjdExpc3QiLCJfZWZmZWN0VHlwZVNlbGVjdG9yIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiX3R5cGVvZiIsImhhcyIsImdldCIsInNldCIsIl90IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIlN0eWxlZEVmZmVjdFBhbmVsQ29udGFpbmVyIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJTdHlsZWRFZmZlY3RQYW5lbCIsInByb3BzIiwidGhlbWUiLCJzaWRlUGFuZWxCZyIsIlN0eWxlZEVmZmVjdFBhbmVsSGVhZGVyIiwiX3JlZiIsImNvbmNhdCIsImVmZmVjdFBhbmVsUGFkZGluZ1RvcCIsImVmZmVjdFBhbmVsUGFkZGluZ1NpZGUiLCJib3JkZXJDb2xvciIsIl9yZWYyIiwiZWZmZWN0UGFuZWxXaWR0aCIsIlN0eWxlZEVmZmVjdFBhbmVsQ29udGVudCIsInNpZGVQYW5lbFNjcm9sbEJhciIsIiRleHRlbmRlZCIsIkVmZmVjdE1hbmFnZXJGYWN0b3J5IiwiZGVwcyIsIkVmZmVjdExpc3RGYWN0b3J5IiwiU2lkZVBhbmVsVGl0bGVGYWN0b3J5IiwiRWZmZWN0VHlwZVNlbGVjdG9yRmFjdG9yeSIsIkVmZmVjdExpc3QiLCJTaWRlUGFuZWxUaXRsZSIsIkVmZmVjdFR5cGVTZWxlY3RvciIsIkVmZmVjdE1hbmFnZXIiLCJpbnRsIiwidmlzU3RhdGVBY3Rpb25zIiwidmlzU3RhdGUiLCJjaGlsZHJlbiIsImVmZmVjdHMiLCJlZmZlY3RPcmRlciIsInZpc1N0YXRlQWRkRWZmZWN0IiwiYWRkRWZmZWN0IiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwidHlwZVNlbGVjdG9yT3BlbmVkIiwic2V0VHlwZVNlbGVjdG9yT3BlbmVkIiwiZWZmZWN0T3B0aW9ucyIsInVzZU1lbW8iLCJoYXNTaGFkb3ciLCJzb21lIiwiZWZmZWN0IiwidHlwZSIsIkxJR0hUX0FORF9TSEFET1dfRUZGRUNUIiwiaGFzRGlzdGFuY2VGb2ciLCJESVNUQU5DRV9GT0dfVFlQRSIsImhhc1N1cmZhY2VGb2ciLCJTVVJGQUNFX0ZPR19UWVBFIiwiaGFzQW55Rm9nIiwiRUZGRUNUX0RFU0NSSVBUSU9OUyIsIm1hcCIsImRlc2MiLCJkaXNhYmxlZCIsIkJvb2xlYW4iLCJvbkFkZEVmZmVjdCIsInVzZUNhbGxiYWNrIiwib25UeXBlU2VsZWN0T3BlbiIsIm9uVHlwZVNlbGVjdENsb3NlIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsInRpdGxlIiwiZm9ybWF0TWVzc2FnZSIsImlkIiwib3B0aW9ucyIsIm9uU2VsZWN0Iiwib25PcGVuIiwib25CbHVyIiwiaXNTb3J0YWJsZSIsIndpdGhTdGF0ZSIsInZpc1N0YXRlTGVucyIsInN0YXRlIiwidXBkYXRlRWZmZWN0IiwicmVtb3ZlRWZmZWN0IiwicmVvcmRlckVmZmVjdCIsImluamVjdEludGwiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWZmZWN0cy9lZmZlY3QtbWFuYWdlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlTWVtbywgdXNlU3RhdGUsIHVzZUNhbGxiYWNrfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7aW5qZWN0SW50bCwgSW50bFNoYXBlfSBmcm9tICdyZWFjdC1pbnRsJztcblxuaW1wb3J0IHtcbiAgYWRkRWZmZWN0LFxuICB1cGRhdGVFZmZlY3QsXG4gIHJlbW92ZUVmZmVjdCxcbiAgcmVvcmRlckVmZmVjdCxcbiAgQWN0aW9uSGFuZGxlclxufSBmcm9tICdAa2VwbGVyLmdsL2FjdGlvbnMnO1xuaW1wb3J0IHtcbiAgTElHSFRfQU5EX1NIQURPV19FRkZFQ1QsXG4gIEVGRkVDVF9ERVNDUklQVElPTlMsXG4gIERJU1RBTkNFX0ZPR19UWVBFLFxuICBTVVJGQUNFX0ZPR19UWVBFXG59IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7dmlzU3RhdGVMZW5zfSBmcm9tICdAa2VwbGVyLmdsL3JlZHVjZXJzJztcbmltcG9ydCB7RWZmZWN0fSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7VmlzU3RhdGV9IGZyb20gJ0BrZXBsZXIuZ2wvc2NoZW1hcyc7XG5cbmltcG9ydCB7d2l0aFN0YXRlfSBmcm9tICcuLi9pbmplY3Rvcic7XG5pbXBvcnQgU2lkZVBhbmVsVGl0bGVGYWN0b3J5IGZyb20gJy4vc2lkZS1wYW5lbC10aXRsZSc7XG5pbXBvcnQgRWZmZWN0TGlzdEZhY3RvcnkgZnJvbSAnLi9lZmZlY3QtbGlzdCc7XG5pbXBvcnQgRWZmZWN0VHlwZVNlbGVjdG9yRmFjdG9yeSwge0VmZmVjdFR5cGVTZWxlY3RvclByb3BzfSBmcm9tICcuL2VmZmVjdC10eXBlLXNlbGVjdG9yJztcblxuZXhwb3J0IHR5cGUgRWZmZWN0TWFuYWdlclN0YXRlID0ge1xuICB2aXNTdGF0ZTogVmlzU3RhdGU7XG4gIHZpc1N0YXRlQWN0aW9uczoge1xuICAgIGFkZEVmZmVjdDogQWN0aW9uSGFuZGxlcjx0eXBlb2YgYWRkRWZmZWN0PjtcbiAgICB1cGRhdGVFZmZlY3Q6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIHVwZGF0ZUVmZmVjdD47XG4gICAgcmVtb3ZlRWZmZWN0OiBBY3Rpb25IYW5kbGVyPHR5cGVvZiByZW1vdmVFZmZlY3Q+O1xuICAgIHJlb3JkZXJFZmZlY3Q6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIHJlb3JkZXJFZmZlY3Q+O1xuICB9O1xuICBlZmZlY3RzOiBFZmZlY3RbXTtcbiAgZWZmZWN0T3JkZXI6IHN0cmluZ1tdO1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xufTtcbmV4cG9ydCB0eXBlIEVmZmVjdE1hbmFnZXJQcm9wcyA9IEVmZmVjdE1hbmFnZXJXaXRoSW50bFByb3AgJiBFZmZlY3RNYW5hZ2VyU3RhdGU7XG5cbmV4cG9ydCB0eXBlIEVmZmVjdE1hbmFnZXJXaXRoSW50bFByb3AgPSB7aW50bDogSW50bFNoYXBlfTtcblxuY29uc3QgU3R5bGVkRWZmZWN0UGFuZWxDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50OyAvKiBwcmV2ZW50IHBhZGRpbmcgZnJvbSBibG9ja2luZyBpbnB1dCAqL1xuICBmbGV4LWdyb3c6IDE7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmID4gKiB7XG4gICAgLyogYWxsIGNoaWxkcmVuIHNob3VsZCBhbGxvdyBpbnB1dCAqL1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIH1cbmA7XG5cbi8vIHRvcCByaWdodCBwb3NpdGlvbiBhYnNvbHV0ZVxuY29uc3QgU3R5bGVkRWZmZWN0UGFuZWwgPSBzdHlsZWQuZGl2YFxuICB0b3A6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2lkZVBhbmVsQmd9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5gO1xuXG5jb25zdCBTdHlsZWRFZmZlY3RQYW5lbEhlYWRlciA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6ICR7KHt0aGVtZX0pID0+XG4gICAgYCR7dGhlbWUuZWZmZWN0UGFuZWxQYWRkaW5nVG9wfXB4ICR7dGhlbWUuZWZmZWN0UGFuZWxQYWRkaW5nU2lkZX1weCA0cHggJHt0aGVtZS5lZmZlY3RQYW5lbFBhZGRpbmdTaWRlfXB4YH07XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLmJvcmRlckNvbG9yfTtcbiAgbWluLXdpZHRoOiAkeyh7dGhlbWV9KSA9PiB0aGVtZS5lZmZlY3RQYW5lbFdpZHRofXB4O1xuYDtcblxudHlwZSBTdHlsZWRFZmZlY3RQYW5lbENvbnRlbnRQcm9wcyA9IHtcbiAgJGV4dGVuZGVkPzogYm9vbGVhbjtcbn07XG5jb25zdCBTdHlsZWRFZmZlY3RQYW5lbENvbnRlbnQgPSBzdHlsZWQuZGl2PFN0eWxlZEVmZmVjdFBhbmVsQ29udGVudFByb3BzPmBcbiAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zaWRlUGFuZWxTY3JvbGxCYXJ9O1xuICBwYWRkaW5nOiAke3Byb3BzID0+IChwcm9wcy4kZXh0ZW5kZWQgPyAnMzJweCcgOiAnMTBweCAwcHggMTBweCAwcHgnKX07XG4gIG92ZXJmbG93OiBvdmVybGF5O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuYDtcblxuRWZmZWN0TWFuYWdlckZhY3RvcnkuZGVwcyA9IFtFZmZlY3RMaXN0RmFjdG9yeSwgU2lkZVBhbmVsVGl0bGVGYWN0b3J5LCBFZmZlY3RUeXBlU2VsZWN0b3JGYWN0b3J5XTtcblxuZnVuY3Rpb24gRWZmZWN0TWFuYWdlckZhY3RvcnkoXG4gIEVmZmVjdExpc3Q6IFJldHVyblR5cGU8dHlwZW9mIEVmZmVjdExpc3RGYWN0b3J5PixcbiAgU2lkZVBhbmVsVGl0bGU6IFJldHVyblR5cGU8dHlwZW9mIFNpZGVQYW5lbFRpdGxlRmFjdG9yeT4sXG4gIEVmZmVjdFR5cGVTZWxlY3RvcjogUmV0dXJuVHlwZTx0eXBlb2YgRWZmZWN0VHlwZVNlbGVjdG9yRmFjdG9yeT5cbik6IFJlYWN0LkZDPEVmZmVjdE1hbmFnZXJQcm9wcz4ge1xuICBjb25zdCBFZmZlY3RNYW5hZ2VyID0gKHByb3BzOiBFZmZlY3RNYW5hZ2VyV2l0aEludGxQcm9wICYgRWZmZWN0TWFuYWdlclN0YXRlKSA9PiB7XG4gICAgY29uc3Qge2ludGwsIHZpc1N0YXRlQWN0aW9ucywgdmlzU3RhdGUsIGNoaWxkcmVufSA9IHByb3BzO1xuICAgIGNvbnN0IHtlZmZlY3RzLCBlZmZlY3RPcmRlcn0gPSB2aXNTdGF0ZTtcbiAgICBjb25zdCB7YWRkRWZmZWN0OiB2aXNTdGF0ZUFkZEVmZmVjdH0gPSB2aXNTdGF0ZUFjdGlvbnM7XG4gICAgY29uc3QgW3R5cGVTZWxlY3Rvck9wZW5lZCwgc2V0VHlwZVNlbGVjdG9yT3BlbmVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICAgIC8vIFByZXZlbnQgc2hhZG93IGVmZmVjdCBmcm9tIGJlaW5nIGFkZGVkIG11bHRpcGxlIHRpbWVzXG4gICAgY29uc3QgZWZmZWN0T3B0aW9uczogRWZmZWN0VHlwZVNlbGVjdG9yUHJvcHNbJ29wdGlvbnMnXSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgY29uc3QgaGFzU2hhZG93ID0gZWZmZWN0cy5zb21lKGVmZmVjdCA9PiB7XG4gICAgICAgIHJldHVybiBlZmZlY3QudHlwZSA9PT0gTElHSFRfQU5EX1NIQURPV19FRkZFQ1QudHlwZTtcbiAgICAgIH0pO1xuICAgICAgY29uc3QgaGFzRGlzdGFuY2VGb2cgPSBlZmZlY3RzLnNvbWUoZWZmZWN0ID0+IHtcbiAgICAgICAgcmV0dXJuIGVmZmVjdC50eXBlID09PSBESVNUQU5DRV9GT0dfVFlQRTtcbiAgICAgIH0pO1xuICAgICAgY29uc3QgaGFzU3VyZmFjZUZvZyA9IGVmZmVjdHMuc29tZShlZmZlY3QgPT4ge1xuICAgICAgICByZXR1cm4gZWZmZWN0LnR5cGUgPT09IFNVUkZBQ0VfRk9HX1RZUEU7XG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGhhc0FueUZvZyA9IGhhc0Rpc3RhbmNlRm9nIHx8IGhhc1N1cmZhY2VGb2c7XG5cbiAgICAgIHJldHVybiBFRkZFQ1RfREVTQ1JJUFRJT05TLm1hcChkZXNjID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5kZXNjLFxuICAgICAgICAgIGRpc2FibGVkOiBCb29sZWFuKFxuICAgICAgICAgICAgKGhhc1NoYWRvdyAmJiBkZXNjLnR5cGUgPT09IExJR0hUX0FORF9TSEFET1dfRUZGRUNULnR5cGUpIHx8XG4gICAgICAgICAgICAgIChoYXNBbnlGb2cgJiYgKGRlc2MudHlwZSA9PT0gRElTVEFOQ0VfRk9HX1RZUEUgfHwgZGVzYy50eXBlID09PSBTVVJGQUNFX0ZPR19UWVBFKSlcbiAgICAgICAgICApXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICB9LCBbZWZmZWN0c10pO1xuXG4gICAgY29uc3Qgb25BZGRFZmZlY3QgPSB1c2VDYWxsYmFjayhcbiAgICAgIHR5cGUgPT4ge1xuICAgICAgICB2aXNTdGF0ZUFkZEVmZmVjdCh7dHlwZX0pO1xuICAgICAgfSxcbiAgICAgIFt2aXNTdGF0ZUFkZEVmZmVjdF1cbiAgICApO1xuXG4gICAgY29uc3Qgb25UeXBlU2VsZWN0T3BlbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIHNldFR5cGVTZWxlY3Rvck9wZW5lZCh0cnVlKTtcbiAgICB9LCBbXSk7XG5cbiAgICBjb25zdCBvblR5cGVTZWxlY3RDbG9zZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIHNldFR5cGVTZWxlY3Rvck9wZW5lZChmYWxzZSk7XG4gICAgfSwgW10pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRFZmZlY3RQYW5lbENvbnRhaW5lciBjbGFzc05hbWU9XCJlZmZlY3QtbWFuYWdlclwiPlxuICAgICAgICA8U3R5bGVkRWZmZWN0UGFuZWw+XG4gICAgICAgICAgPFN0eWxlZEVmZmVjdFBhbmVsSGVhZGVyIGNsYXNzTmFtZT1cImVmZmVjdC1wYW5lbC1oZWFkZXJcIj5cbiAgICAgICAgICAgIDxTaWRlUGFuZWxUaXRsZVxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJlZmZlY3QtbWFuYWdlci10aXRsZVwiXG4gICAgICAgICAgICAgIHRpdGxlPXtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnZWZmZWN0TWFuYWdlci5lZmZlY3RzJ30pfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8RWZmZWN0VHlwZVNlbGVjdG9yXG4gICAgICAgICAgICAgICAgb3B0aW9ucz17ZWZmZWN0T3B0aW9uc31cbiAgICAgICAgICAgICAgICBvblNlbGVjdD17b25BZGRFZmZlY3R9XG4gICAgICAgICAgICAgICAgb25PcGVuPXtvblR5cGVTZWxlY3RPcGVufVxuICAgICAgICAgICAgICAgIG9uQmx1cj17b25UeXBlU2VsZWN0Q2xvc2V9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L1NpZGVQYW5lbFRpdGxlPlxuICAgICAgICAgIDwvU3R5bGVkRWZmZWN0UGFuZWxIZWFkZXI+XG5cbiAgICAgICAgICA8U3R5bGVkRWZmZWN0UGFuZWxDb250ZW50ICRleHRlbmRlZD17dHlwZVNlbGVjdG9yT3BlbmVkICYmIGVmZmVjdHMubGVuZ3RoID09PSAwfT5cbiAgICAgICAgICAgIDxFZmZlY3RMaXN0XG4gICAgICAgICAgICAgIGVmZmVjdHM9e2VmZmVjdHN9XG4gICAgICAgICAgICAgIGVmZmVjdE9yZGVyPXtlZmZlY3RPcmRlcn1cbiAgICAgICAgICAgICAgdmlzU3RhdGVBY3Rpb25zPXt2aXNTdGF0ZUFjdGlvbnN9XG4gICAgICAgICAgICAgIGlzU29ydGFibGU9e3RydWV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvU3R5bGVkRWZmZWN0UGFuZWxDb250ZW50PlxuICAgICAgICA8L1N0eWxlZEVmZmVjdFBhbmVsPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L1N0eWxlZEVmZmVjdFBhbmVsQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIHdpdGhTdGF0ZShbdmlzU3RhdGVMZW5zXSwgc3RhdGUgPT4gc3RhdGUsIHtcbiAgICB2aXNTdGF0ZUFjdGlvbnM6IHthZGRFZmZlY3QsIHVwZGF0ZUVmZmVjdCwgcmVtb3ZlRWZmZWN0LCByZW9yZGVyRWZmZWN0fVxuICB9KShpbmplY3RJbnRsKEVmZmVjdE1hbmFnZXIpKSBhcyBSZWFjdC5GQzxFZmZlY3RNYW5hZ2VyUHJvcHM+O1xufVxuXG5leHBvcnQgZGVmYXVsdCBFZmZlY3RNYW5hZ2VyRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxpQkFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsVUFBQSxHQUFBSCxPQUFBO0FBRUEsSUFBQUksUUFBQSxHQUFBSixPQUFBO0FBT0EsSUFBQUssVUFBQSxHQUFBTCxPQUFBO0FBTUEsSUFBQU0sU0FBQSxHQUFBTixPQUFBO0FBSUEsSUFBQU8sU0FBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsZUFBQSxHQUFBTixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQVMs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
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.EffectPanelHeaderActionSectionFactory = EffectPanelHeaderActionSectionFactory;
|
|
9
|
+
exports.defaultProps = exports["default"] = void 0;
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
14
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
15
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
16
|
+
var _constants = require("@kepler.gl/constants");
|
|
17
|
+
var _reactIntl = require("react-intl");
|
|
18
|
+
var _panelHeaderAction = _interopRequireDefault(require("../side-panel/panel-header-action"));
|
|
19
|
+
var _icons = require("../common/icons");
|
|
20
|
+
var _styledComponents2 = require("../common/styled-components");
|
|
21
|
+
var _templateObject, _defaultEffectIcons, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8; // SPDX-License-Identifier: MIT
|
|
22
|
+
// Copyright contributors to the kepler.gl project
|
|
23
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
24
|
+
var MultilineTooltip = (0, _styledComponents["default"])(_styledComponents2.Tooltip)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n &.__react_component_tooltip {\n max-width: 280px;\n white-space: normal;\n line-height: 1.4;\n text-align: left;\n }\n"])));
|
|
25
|
+
var defaultProps = exports.defaultProps = {
|
|
26
|
+
isDragNDropEnabled: true
|
|
27
|
+
};
|
|
28
|
+
var defaultActionIcons = {
|
|
29
|
+
remove: _icons.Trash,
|
|
30
|
+
visible: _icons.EyeSeen,
|
|
31
|
+
hidden: _icons.EyeUnseen,
|
|
32
|
+
enableConfig: _icons.ArrowDown,
|
|
33
|
+
disableConfig: _icons.ArrowUp
|
|
34
|
+
};
|
|
35
|
+
var defaultEffectIcons = (_defaultEffectIcons = {}, (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_defaultEffectIcons, _constants.LIGHT_AND_SHADOW_EFFECT.type, _icons.LightAndShadowEffectIcon), _constants.POSTPROCESSING_EFFECTS.ink.type, _icons.InkEffectIcon), _constants.POSTPROCESSING_EFFECTS.brightnessContrast.type, _icons.BrightnessContrastEffectIcon), _constants.POSTPROCESSING_EFFECTS.hueSaturation.type, _icons.HueSaturationEffectIcon), _constants.POSTPROCESSING_EFFECTS.vibrance.type, _icons.VibranceEffectIcon), _constants.POSTPROCESSING_EFFECTS.sepia.type, _icons.SepiaEffectIcon), _constants.POSTPROCESSING_EFFECTS.dotScreen.type, _icons.DotScreenEffectIcon), _constants.POSTPROCESSING_EFFECTS.colorHalftone.type, _icons.ColorHalftoneEffectIcon), _constants.POSTPROCESSING_EFFECTS.noise.type, _icons.NoiseEffectIcon), _constants.POSTPROCESSING_EFFECTS.triangleBlur.type, _icons.TriangleBlurEffectIcon), (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_defaultEffectIcons, _constants.POSTPROCESSING_EFFECTS.zoomBlur.type, _icons.ZoomBlurEffectIcon), _constants.POSTPROCESSING_EFFECTS.tiltShift.type, _icons.TiltShiftEffectIcon), _constants.POSTPROCESSING_EFFECTS.edgeWork.type, _icons.EdgeWorkEffectIcon), _constants.POSTPROCESSING_EFFECTS.vignette.type, _icons.VignetteEffectIcon), _constants.POSTPROCESSING_EFFECTS.magnify.type, _icons.MagnifyEffectIcon), _constants.POSTPROCESSING_EFFECTS.hexagonalPixelate.type, _icons.HexagonalPixelateEffectIcon), _constants.DISTANCE_FOG_TYPE, _icons.DistanceFogEffectIcon), _constants.SURFACE_FOG_TYPE, _icons.SurfaceFogEffectIcon));
|
|
36
|
+
var StyledEffectPanelHeader = (0, _styledComponents["default"])(_styledComponents2.StyledPanelHeader)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n height: ", "px;\n position: relative;\n align-items: stretch;\n\n .effect__drag-handle {\n margin-left: -5px;\n color: ", ";\n }\n\n .effect__drag-handle__placeholder {\n height: 20px;\n padding: 0px;\n margin: 10px 10px 10px 5px;\n }\n\n &:hover {\n cursor: pointer;\n background-color: ", ";\n .effect__drag-handle {\n opacity: 1;\n }\n }\n\n border-left: 3px solid ", ";\n"])), function (props) {
|
|
37
|
+
return props.theme.effectPanelHeaderHeight;
|
|
38
|
+
}, function (props) {
|
|
39
|
+
return props.theme.textColor;
|
|
40
|
+
}, function (props) {
|
|
41
|
+
return props.theme.panelBackgroundHover;
|
|
42
|
+
}, function (props) {
|
|
43
|
+
return props.theme.panelBackgroundHover;
|
|
44
|
+
});
|
|
45
|
+
var HeaderActionSection = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n position: absolute;\n height: 100%;\n align-items: stretch;\n right: 10px;\n &:hover {\n .effect-panel__header__actions__hidden {\n opacity: 1;\n background-color: ", ";\n }\n }\n"])), function (props) {
|
|
46
|
+
return props.theme.panelBackgroundHover;
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
// Hiden actions only show up on hover
|
|
50
|
+
|
|
51
|
+
var StyledPanelHeaderHiddenActions = _styledComponents["default"].div.attrs({
|
|
52
|
+
className: 'effect-panel__header__actions__hidden'
|
|
53
|
+
})(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n opacity: 0;\n display: flex;\n align-items: center;\n transition: opacity 0.4s ease, background-color 0.4s ease;\n background-color: ", ";\n\n &:hover {\n opacity: 1;\n }\n"])), function (props) {
|
|
54
|
+
return props.$isConfigActive ? props.theme.panelBackgroundHover : props.theme.panelBackground;
|
|
55
|
+
});
|
|
56
|
+
var StyledDragHandle = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n opacity: 0;\n z-index: 1000;\n &:hover {\n cursor: move;\n opacity: 1;\n color: ", ";\n }\n"])), function (props) {
|
|
57
|
+
return props.theme.textColorHl;
|
|
58
|
+
});
|
|
59
|
+
var DragHandle = function DragHandle(_ref) {
|
|
60
|
+
var className = _ref.className,
|
|
61
|
+
listeners = _ref.listeners,
|
|
62
|
+
children = _ref.children;
|
|
63
|
+
return /*#__PURE__*/_react["default"].createElement(StyledDragHandle, (0, _extends2["default"])({
|
|
64
|
+
className: className
|
|
65
|
+
}, listeners), children);
|
|
66
|
+
};
|
|
67
|
+
EffectPanelHeaderActionSectionFactory.deps = [_panelHeaderAction["default"]];
|
|
68
|
+
function EffectPanelHeaderActionSectionFactory(PanelHeaderAction) {
|
|
69
|
+
var EffectPanelHeaderActionSection = function EffectPanelHeaderActionSection(props) {
|
|
70
|
+
var effectId = props.effectId,
|
|
71
|
+
isEnabled = props.isEnabled,
|
|
72
|
+
isConfigActive = props.isConfigActive,
|
|
73
|
+
onToggleEnabled = props.onToggleEnabled,
|
|
74
|
+
onRemoveEffect = props.onRemoveEffect,
|
|
75
|
+
onToggleEnableConfig = props.onToggleEnableConfig,
|
|
76
|
+
actionItems = props.actionItems,
|
|
77
|
+
_props$actionIcons = props.actionIcons,
|
|
78
|
+
actionIcons = _props$actionIcons === void 0 ? defaultActionIcons : _props$actionIcons;
|
|
79
|
+
var effectActionItems = (0, _react.useMemo)(function () {
|
|
80
|
+
return actionItems !== null && actionItems !== void 0 ? actionItems : [{
|
|
81
|
+
key: 'remove-effect',
|
|
82
|
+
isHidden: true,
|
|
83
|
+
tooltip: 'tooltip.removeEffect',
|
|
84
|
+
tooltipType: 'error',
|
|
85
|
+
onClick: onRemoveEffect,
|
|
86
|
+
icon: actionIcons.remove
|
|
87
|
+
}, {
|
|
88
|
+
key: 'visibility-toggle',
|
|
89
|
+
tooltip: isEnabled ? 'tooltip.disableEffect' : 'tooltip.enabledEffect',
|
|
90
|
+
onClick: onToggleEnabled,
|
|
91
|
+
icon: isEnabled ? actionIcons.visible : actionIcons.hidden
|
|
92
|
+
}, {
|
|
93
|
+
key: 'enable-config',
|
|
94
|
+
classNames: {
|
|
95
|
+
'is-open': isConfigActive
|
|
96
|
+
},
|
|
97
|
+
tooltip: 'tooltip.effectSettings',
|
|
98
|
+
onClick: onToggleEnableConfig,
|
|
99
|
+
icon: actionIcons.enableConfig
|
|
100
|
+
}];
|
|
101
|
+
}, [actionItems, actionIcons, isEnabled, isConfigActive, onRemoveEffect, onToggleEnabled, onToggleEnableConfig]);
|
|
102
|
+
return /*#__PURE__*/_react["default"].createElement(HeaderActionSection, {
|
|
103
|
+
className: "effect-panel__header__actions"
|
|
104
|
+
}, /*#__PURE__*/_react["default"].createElement(StyledPanelHeaderHiddenActions, {
|
|
105
|
+
$isConfigActive: isConfigActive
|
|
106
|
+
}, effectActionItems.filter(function (item) {
|
|
107
|
+
return Boolean(item.isHidden);
|
|
108
|
+
}).map(function (item) {
|
|
109
|
+
return /*#__PURE__*/_react["default"].createElement(PanelHeaderAction, {
|
|
110
|
+
key: item.key,
|
|
111
|
+
className: "effect__".concat(item.key),
|
|
112
|
+
testId: "".concat(item.key, "-action"),
|
|
113
|
+
id: effectId,
|
|
114
|
+
tooltip: item.tooltip,
|
|
115
|
+
onClick: item.onClick,
|
|
116
|
+
tooltipType: item.tooltipType,
|
|
117
|
+
IconComponent: item.icon
|
|
118
|
+
});
|
|
119
|
+
})), effectActionItems.filter(function (item) {
|
|
120
|
+
return !item.isHidden;
|
|
121
|
+
}).map(function (item) {
|
|
122
|
+
return /*#__PURE__*/_react["default"].createElement(PanelHeaderAction, {
|
|
123
|
+
key: item.key,
|
|
124
|
+
className: (0, _classnames["default"])("effect__".concat(item.key), item.classNames),
|
|
125
|
+
testId: "".concat(item.key, "-action"),
|
|
126
|
+
id: effectId,
|
|
127
|
+
tooltip: item.tooltip,
|
|
128
|
+
onClick: item.onClick,
|
|
129
|
+
tooltipType: item.tooltipType,
|
|
130
|
+
IconComponent: item.icon
|
|
131
|
+
});
|
|
132
|
+
}));
|
|
133
|
+
};
|
|
134
|
+
return EffectPanelHeaderActionSection;
|
|
135
|
+
}
|
|
136
|
+
var StyledEffectTitleSection = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: 8px;\n flex-grow: 1;\n align-items: center;\n display: flex;\n color: ", ";\n"])), function (props) {
|
|
137
|
+
return props.theme.textColor;
|
|
138
|
+
});
|
|
139
|
+
var IconPlaceholder = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n width: 20px;\n height: 20px;\n"])));
|
|
140
|
+
var EffectIconWrapper = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n height: 18px;\n margin: auto;\n color: ", ";\n"])), function (props) {
|
|
141
|
+
return props.theme.textColor;
|
|
142
|
+
});
|
|
143
|
+
EffectPanelHeaderFactory.deps = [EffectPanelHeaderActionSectionFactory];
|
|
144
|
+
function EffectPanelHeaderFactory(EffectPanelHeaderActionSection) {
|
|
145
|
+
var EffectPanelHeader = function EffectPanelHeader(props) {
|
|
146
|
+
var isConfigActive = props.isConfigActive,
|
|
147
|
+
_props$isDragNDropEna = props.isDragNDropEnabled,
|
|
148
|
+
isDragNDropEnabled = _props$isDragNDropEna === void 0 ? true : _props$isDragNDropEna,
|
|
149
|
+
type = props.type,
|
|
150
|
+
effectId = props.effectId,
|
|
151
|
+
onToggleEnableConfig = props.onToggleEnableConfig,
|
|
152
|
+
listeners = props.listeners,
|
|
153
|
+
_props$showSortHandle = props.showSortHandle,
|
|
154
|
+
showSortHandle = _props$showSortHandle === void 0 ? true : _props$showSortHandle;
|
|
155
|
+
var intl = (0, _reactIntl.useIntl)();
|
|
156
|
+
var effectDesc = (0, _react.useMemo)(function () {
|
|
157
|
+
return _constants.EFFECT_DESCRIPTIONS.find(function (_description) {
|
|
158
|
+
return _description.type === type;
|
|
159
|
+
});
|
|
160
|
+
}, [type]);
|
|
161
|
+
var label = (effectDesc === null || effectDesc === void 0 ? void 0 : effectDesc.name) || 'Effect';
|
|
162
|
+
var descriptionText = effectDesc !== null && effectDesc !== void 0 && effectDesc.description ? intl.formatMessage({
|
|
163
|
+
id: effectDesc.description,
|
|
164
|
+
defaultMessage: ''
|
|
165
|
+
}) : '';
|
|
166
|
+
var tooltipId = "effect-header-".concat(effectId);
|
|
167
|
+
var EffectIcon = defaultEffectIcons[type];
|
|
168
|
+
return /*#__PURE__*/_react["default"].createElement(StyledEffectPanelHeader, {
|
|
169
|
+
className: (0, _classnames["default"])('effect-panel__header', {
|
|
170
|
+
'sort--handle': !isConfigActive
|
|
171
|
+
}),
|
|
172
|
+
$active: isConfigActive,
|
|
173
|
+
onClick: onToggleEnableConfig
|
|
174
|
+
}, isDragNDropEnabled ? /*#__PURE__*/_react["default"].createElement(DragHandle, {
|
|
175
|
+
className: "effect__drag-handle",
|
|
176
|
+
listeners: listeners
|
|
177
|
+
}, showSortHandle ? /*#__PURE__*/_react["default"].createElement(_icons.VertDots, {
|
|
178
|
+
height: "20px"
|
|
179
|
+
}) : /*#__PURE__*/_react["default"].createElement(IconPlaceholder, null)) : /*#__PURE__*/_react["default"].createElement("div", {
|
|
180
|
+
className: "effect__drag-handle__placeholder"
|
|
181
|
+
}), /*#__PURE__*/_react["default"].createElement(EffectIconWrapper, null, EffectIcon ? /*#__PURE__*/_react["default"].createElement(EffectIcon, {
|
|
182
|
+
height: "18px"
|
|
183
|
+
}) : null), /*#__PURE__*/_react["default"].createElement(StyledEffectTitleSection, {
|
|
184
|
+
"data-tip": descriptionText || undefined,
|
|
185
|
+
"data-for": descriptionText ? tooltipId : undefined
|
|
186
|
+
}, label, descriptionText ? /*#__PURE__*/_react["default"].createElement(MultilineTooltip, {
|
|
187
|
+
id: tooltipId,
|
|
188
|
+
effect: "solid",
|
|
189
|
+
place: "bottom",
|
|
190
|
+
delayShow: 500
|
|
191
|
+
}, descriptionText) : null), /*#__PURE__*/_react["default"].createElement(EffectPanelHeaderActionSection, props));
|
|
192
|
+
};
|
|
193
|
+
return EffectPanelHeader;
|
|
194
|
+
}
|
|
195
|
+
var _default = exports["default"] = EffectPanelHeaderFactory;
|
|
196
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9jb25zdGFudHMiLCJfcmVhY3RJbnRsIiwiX3BhbmVsSGVhZGVyQWN0aW9uIiwiX2ljb25zIiwiX3N0eWxlZENvbXBvbmVudHMyIiwiX3RlbXBsYXRlT2JqZWN0IiwiX2RlZmF1bHRFZmZlY3RJY29ucyIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfdGVtcGxhdGVPYmplY3QzIiwiX3RlbXBsYXRlT2JqZWN0NCIsIl90ZW1wbGF0ZU9iamVjdDUiLCJfdGVtcGxhdGVPYmplY3Q2IiwiX3RlbXBsYXRlT2JqZWN0NyIsIl90ZW1wbGF0ZU9iamVjdDgiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIk11bHRpbGluZVRvb2x0aXAiLCJzdHlsZWQiLCJUb29sdGlwIiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJkZWZhdWx0UHJvcHMiLCJleHBvcnRzIiwiaXNEcmFnTkRyb3BFbmFibGVkIiwiZGVmYXVsdEFjdGlvbkljb25zIiwicmVtb3ZlIiwiVHJhc2giLCJ2aXNpYmxlIiwiRXllU2VlbiIsImhpZGRlbiIsIkV5ZVVuc2VlbiIsImVuYWJsZUNvbmZpZyIsIkFycm93RG93biIsImRpc2FibGVDb25maWciLCJBcnJvd1VwIiwiZGVmYXVsdEVmZmVjdEljb25zIiwiX2RlZmluZVByb3BlcnR5MiIsIkxJR0hUX0FORF9TSEFET1dfRUZGRUNUIiwidHlwZSIsIkxpZ2h0QW5kU2hhZG93RWZmZWN0SWNvbiIsIlBPU1RQUk9DRVNTSU5HX0VGRkVDVFMiLCJpbmsiLCJJbmtFZmZlY3RJY29uIiwiYnJpZ2h0bmVzc0NvbnRyYXN0IiwiQnJpZ2h0bmVzc0NvbnRyYXN0RWZmZWN0SWNvbiIsImh1ZVNhdHVyYXRpb24iLCJIdWVTYXR1cmF0aW9uRWZmZWN0SWNvbiIsInZpYnJhbmNlIiwiVmlicmFuY2VFZmZlY3RJY29uIiwic2VwaWEiLCJTZXBpYUVmZmVjdEljb24iLCJkb3RTY3JlZW4iLCJEb3RTY3JlZW5FZmZlY3RJY29uIiwiY29sb3JIYWxmdG9uZSIsIkNvbG9ySGFsZnRvbmVFZmZlY3RJY29uIiwibm9pc2UiLCJOb2lzZUVmZmVjdEljb24iLCJ0cmlhbmdsZUJsdXIiLCJUcmlhbmdsZUJsdXJFZmZlY3RJY29uIiwiem9vbUJsdXIiLCJab29tQmx1ckVmZmVjdEljb24iLCJ0aWx0U2hpZnQiLCJUaWx0U2hpZnRFZmZlY3RJY29uIiwiZWRnZVdvcmsiLCJFZGdlV29ya0VmZmVjdEljb24iLCJ2aWduZXR0ZSIsIlZpZ25ldHRlRWZmZWN0SWNvbiIsIm1hZ25pZnkiLCJNYWduaWZ5RWZmZWN0SWNvbiIsImhleGFnb25hbFBpeGVsYXRlIiwiSGV4YWdvbmFsUGl4ZWxhdGVFZmZlY3RJY29uIiwiRElTVEFOQ0VfRk9HX1RZUEUiLCJEaXN0YW5jZUZvZ0VmZmVjdEljb24iLCJTVVJGQUNFX0ZPR19UWVBFIiwiU3VyZmFjZUZvZ0VmZmVjdEljb24iLCJTdHlsZWRFZmZlY3RQYW5lbEhlYWRlciIsIlN0eWxlZFBhbmVsSGVhZGVyIiwicHJvcHMiLCJ0aGVtZSIsImVmZmVjdFBhbmVsSGVhZGVySGVpZ2h0IiwidGV4dENvbG9yIiwicGFuZWxCYWNrZ3JvdW5kSG92ZXIiLCJIZWFkZXJBY3Rpb25TZWN0aW9uIiwiZGl2IiwiU3R5bGVkUGFuZWxIZWFkZXJIaWRkZW5BY3Rpb25zIiwiYXR0cnMiLCJjbGFzc05hbWUiLCIkaXNDb25maWdBY3RpdmUiLCJwYW5lbEJhY2tncm91bmQiLCJTdHlsZWREcmFnSGFuZGxlIiwidGV4dENvbG9ySGwiLCJEcmFnSGFuZGxlIiwiX3JlZiIsImxpc3RlbmVycyIsImNoaWxkcmVuIiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzMiIsIkVmZmVjdFBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbkZhY3RvcnkiLCJkZXBzIiwiUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5IiwiUGFuZWxIZWFkZXJBY3Rpb24iLCJFZmZlY3RQYW5lbEhlYWRlckFjdGlvblNlY3Rpb24iLCJlZmZlY3RJZCIsImlzRW5hYmxlZCIsImlzQ29uZmlnQWN0aXZlIiwib25Ub2dnbGVFbmFibGVkIiwib25SZW1vdmVFZmZlY3QiLCJvblRvZ2dsZUVuYWJsZUNvbmZpZyIsImFjdGlvbkl0ZW1zIiwiX3Byb3BzJGFjdGlvbkljb25zIiwiYWN0aW9uSWNvbnMiLCJlZmZlY3RBY3Rpb25JdGVtcyIsInVzZU1lbW8iLCJrZXkiLCJpc0hpZGRlbiIsInRvb2x0aXAiLCJ0b29sdGlwVHlwZSIsIm9uQ2xpY2siLCJpY29uIiwiY2xhc3NOYW1lcyIsImZpbHRlciIsIml0ZW0iLCJCb29sZWFuIiwibWFwIiwiY29uY2F0IiwidGVzdElkIiwiaWQiLCJJY29uQ29tcG9uZW50IiwiY2xhc3NuYW1lcyIsIlN0eWxlZEVmZmVjdFRpdGxlU2VjdGlvbiIsIkljb25QbGFjZWhvbGRlciIsIkVmZmVjdEljb25XcmFwcGVyIiwiRWZmZWN0UGFuZWxIZWFkZXJGYWN0b3J5IiwiRWZmZWN0UGFuZWxIZWFkZXIiLCJfcHJvcHMkaXNEcmFnTkRyb3BFbmEiLCJfcHJvcHMkc2hvd1NvcnRIYW5kbGUiLCJzaG93U29ydEhhbmRsZSIsImludGwiLCJ1c2VJbnRsIiwiZWZmZWN0RGVzYyIsIkVGRkVDVF9ERVNDUklQVElPTlMiLCJmaW5kIiwiX2Rlc2NyaXB0aW9uIiwibGFiZWwiLCJuYW1lIiwiZGVzY3JpcHRpb25UZXh0IiwiZGVzY3JpcHRpb24iLCJmb3JtYXRNZXNzYWdlIiwiZGVmYXVsdE1lc3NhZ2UiLCJ0b29sdGlwSWQiLCJFZmZlY3RJY29uIiwiJGFjdGl2ZSIsIlZlcnREb3RzIiwiaGVpZ2h0IiwidW5kZWZpbmVkIiwiZWZmZWN0IiwicGxhY2UiLCJkZWxheVNob3ciLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lZmZlY3RzL2VmZmVjdC1wYW5lbC1oZWFkZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZU1lbW99IGZyb20gJ3JlYWN0JztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5cbmltcG9ydCB7XG4gIEVGRkVDVF9ERVNDUklQVElPTlMsXG4gIExJR0hUX0FORF9TSEFET1dfRUZGRUNULFxuICBQT1NUUFJPQ0VTU0lOR19FRkZFQ1RTLFxuICBESVNUQU5DRV9GT0dfVFlQRSxcbiAgU1VSRkFDRV9GT0dfVFlQRVxufSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge3VzZUludGx9IGZyb20gJ3JlYWN0LWludGwnO1xuXG5pbXBvcnQgUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5LCB7UGFuZWxIZWFkZXJBY3Rpb25JY29ufSBmcm9tICcuLi9zaWRlLXBhbmVsL3BhbmVsLWhlYWRlci1hY3Rpb24nO1xuaW1wb3J0IHtcbiAgQXJyb3dEb3duLFxuICBBcnJvd1VwLFxuICBFeWVTZWVuLFxuICBFeWVVbnNlZW4sXG4gIFRyYXNoLFxuICBWZXJ0RG90cyxcbiAgTGlnaHRBbmRTaGFkb3dFZmZlY3RJY29uLFxuICBJbmtFZmZlY3RJY29uLFxuICBCcmlnaHRuZXNzQ29udHJhc3RFZmZlY3RJY29uLFxuICBIdWVTYXR1cmF0aW9uRWZmZWN0SWNvbixcbiAgVmlicmFuY2VFZmZlY3RJY29uLFxuICBTZXBpYUVmZmVjdEljb24sXG4gIERvdFNjcmVlbkVmZmVjdEljb24sXG4gIENvbG9ySGFsZnRvbmVFZmZlY3RJY29uLFxuICBOb2lzZUVmZmVjdEljb24sXG4gIFRyaWFuZ2xlQmx1ckVmZmVjdEljb24sXG4gIFpvb21CbHVyRWZmZWN0SWNvbixcbiAgVGlsdFNoaWZ0RWZmZWN0SWNvbixcbiAgRWRnZVdvcmtFZmZlY3RJY29uLFxuICBWaWduZXR0ZUVmZmVjdEljb24sXG4gIE1hZ25pZnlFZmZlY3RJY29uLFxuICBIZXhhZ29uYWxQaXhlbGF0ZUVmZmVjdEljb24sXG4gIERpc3RhbmNlRm9nRWZmZWN0SWNvbixcbiAgU3VyZmFjZUZvZ0VmZmVjdEljb24sXG4gIEJhc2VQcm9wc1xufSBmcm9tICcuLi9jb21tb24vaWNvbnMnO1xuaW1wb3J0IHtTdHlsZWRQYW5lbEhlYWRlciwgVG9vbHRpcH0gZnJvbSAnLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcblxuY29uc3QgTXVsdGlsaW5lVG9vbHRpcCA9IHN0eWxlZChUb29sdGlwKWBcbiAgJi5fX3JlYWN0X2NvbXBvbmVudF90b29sdGlwIHtcbiAgICBtYXgtd2lkdGg6IDI4MHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5gO1xuXG5leHBvcnQgdHlwZSBBY3Rpb25JdGVtID0ge1xuICBrZXk6IHN0cmluZztcbiAgaXNIaWRkZW4/OiBib29sZWFuO1xuICB0b29sdGlwOiBzdHJpbmc7XG4gIGNsYXNzTmFtZXM/OiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPjtcbiAgaWNvbjogUGFuZWxIZWFkZXJBY3Rpb25JY29uO1xuICB0b29sdGlwVHlwZT86ICdlcnJvcic7XG4gIG9uQ2xpY2s6ICgpID0+IHZvaWQ7XG59O1xuXG5leHBvcnQgdHlwZSBFZmZlY3RQYW5lbEhlYWRlclByb3BzID0ge1xuICB0eXBlOiBzdHJpbmc7XG4gIGxpc3RlbmVyczogYW55O1xuICBlZmZlY3RJZDogc3RyaW5nO1xuICBpc0VuYWJsZWQ6IGJvb2xlYW47XG4gIGlzQ29uZmlnQWN0aXZlOiBib29sZWFuO1xuICBpc0pzb25FZGl0b3JBY3RpdmU6IGJvb2xlYW47XG4gIHNob3dTb3J0SGFuZGxlPzogYm9vbGVhbjtcbiAgaXNEcmFnTkRyb3BFbmFibGVkOiBib29sZWFuO1xuICBvblRvZ2dsZUVuYWJsZWQ6ICgpID0+IHZvaWQ7XG4gIG9uUmVtb3ZlRWZmZWN0OiAoKSA9PiB2b2lkO1xuICBvblRvZ2dsZUVuYWJsZUNvbmZpZzogKCkgPT4gdm9pZDtcbiAgYWN0aW9uSWNvbnM/OiB7XG4gICAgcmVtb3ZlOiBSZWFjdC5Db21wb25lbnRUeXBlPFBhcnRpYWw8QmFzZVByb3BzPj47XG4gICAgdmlzaWJsZTogUmVhY3QuQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICAgIGhpZGRlbjogUmVhY3QuQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICAgIGVuYWJsZUNvbmZpZzogUmVhY3QuQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICAgIGRpc2FibGVDb25maWc6IFJlYWN0LkNvbXBvbmVudFR5cGU8UGFydGlhbDxCYXNlUHJvcHM+PjtcbiAgfTtcbiAgYWN0aW9uSXRlbXM/OiBBY3Rpb25JdGVtW107XG59O1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdFByb3BzID0ge1xuICBpc0RyYWdORHJvcEVuYWJsZWQ6IHRydWVcbn07XG5cbmNvbnN0IGRlZmF1bHRBY3Rpb25JY29ucyA9IHtcbiAgcmVtb3ZlOiBUcmFzaCxcbiAgdmlzaWJsZTogRXllU2VlbixcbiAgaGlkZGVuOiBFeWVVbnNlZW4sXG4gIGVuYWJsZUNvbmZpZzogQXJyb3dEb3duLFxuICBkaXNhYmxlQ29uZmlnOiBBcnJvd1VwXG59O1xuXG5jb25zdCBkZWZhdWx0RWZmZWN0SWNvbnMgPSB7XG4gIFtMSUdIVF9BTkRfU0hBRE9XX0VGRkVDVC50eXBlXTogTGlnaHRBbmRTaGFkb3dFZmZlY3RJY29uLFxuICBbUE9TVFBST0NFU1NJTkdfRUZGRUNUUy5pbmsudHlwZV06IElua0VmZmVjdEljb24sXG4gIFtQT1NUUFJPQ0VTU0lOR19FRkZFQ1RTLmJyaWdodG5lc3NDb250cmFzdC50eXBlXTogQnJpZ2h0bmVzc0NvbnRyYXN0RWZmZWN0SWNvbixcbiAgW1BPU1RQUk9DRVNTSU5HX0VGRkVDVFMuaHVlU2F0dXJhdGlvbi50eXBlXTogSHVlU2F0dXJhdGlvbkVmZmVjdEljb24sXG4gIFtQT1NUUFJPQ0VTU0lOR19FRkZFQ1RTLnZpYnJhbmNlLnR5cGVdOiBWaWJyYW5jZUVmZmVjdEljb24sXG4gIFtQT1NUUFJPQ0VTU0lOR19FRkZFQ1RTLnNlcGlhLnR5cGVdOiBTZXBpYUVmZmVjdEljb24sXG4gIFtQT1NUUFJPQ0VTU0lOR19FRkZFQ1RTLmRvdFNjcmVlbi50eXBlXTogRG90U2NyZWVuRWZmZWN0SWNvbixcbiAgW1BPU1RQUk9DRVNTSU5HX0VGRkVDVFMuY29sb3JIYWxmdG9uZS50eXBlXTogQ29sb3JIYWxmdG9uZUVmZmVjdEljb24sXG4gIFtQT1NUUFJPQ0VTU0lOR19FRkZFQ1RTLm5vaXNlLnR5cGVdOiBOb2lzZUVmZmVjdEljb24sXG4gIFtQT1NUUFJPQ0VTU0lOR19FRkZFQ1RTLnRyaWFuZ2xlQmx1ci50eXBlXTogVHJpYW5nbGVCbHVyRWZmZWN0SWNvbixcbiAgW1BPU1RQUk9DRVNTSU5HX0VGRkVDVFMuem9vbUJsdXIudHlwZV06IFpvb21CbHVyRWZmZWN0SWNvbixcbiAgW1BPU1RQUk9DRVNTSU5HX0VGRkVDVFMudGlsdFNoaWZ0LnR5cGVdOiBUaWx0U2hpZnRFZmZlY3RJY29uLFxuICBbUE9TVFBST0NFU1NJTkdfRUZGRUNUUy5lZGdlV29yay50eXBlXTogRWRnZVdvcmtFZmZlY3RJY29uLFxuICBbUE9TVFBST0NFU1NJTkdfRUZGRUNUUy52aWduZXR0ZS50eXBlXTogVmlnbmV0dGVFZmZlY3RJY29uLFxuICBbUE9TVFBST0NFU1NJTkdfRUZGRUNUUy5tYWduaWZ5LnR5cGVdOiBNYWduaWZ5RWZmZWN0SWNvbixcbiAgW1BPU1RQUk9DRVNTSU5HX0VGRkVDVFMuaGV4YWdvbmFsUGl4ZWxhdGUudHlwZV06IEhleGFnb25hbFBpeGVsYXRlRWZmZWN0SWNvbixcbiAgW0RJU1RBTkNFX0ZPR19UWVBFXTogRGlzdGFuY2VGb2dFZmZlY3RJY29uLFxuICBbU1VSRkFDRV9GT0dfVFlQRV06IFN1cmZhY2VGb2dFZmZlY3RJY29uXG59O1xuXG5jb25zdCBTdHlsZWRFZmZlY3RQYW5lbEhlYWRlciA9IHN0eWxlZChTdHlsZWRQYW5lbEhlYWRlcilgXG4gIGhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbEhlYWRlckhlaWdodH1weDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAuZWZmZWN0X19kcmFnLWhhbmRsZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgfVxuXG4gIC5lZmZlY3RfX2RyYWctaGFuZGxlX19wbGFjZWhvbGRlciB7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBtYXJnaW46IDEwcHggMTBweCAxMHB4IDVweDtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZEhvdmVyfTtcbiAgICAuZWZmZWN0X19kcmFnLWhhbmRsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuXG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3Zlcn07XG5gO1xuXG5jb25zdCBIZWFkZXJBY3Rpb25TZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICByaWdodDogMTBweDtcbiAgJjpob3ZlciB7XG4gICAgLmVmZmVjdC1wYW5lbF9faGVhZGVyX19hY3Rpb25zX19oaWRkZW4ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kSG92ZXJ9O1xuICAgIH1cbiAgfVxuYDtcblxuLy8gSGlkZW4gYWN0aW9ucyBvbmx5IHNob3cgdXAgb24gaG92ZXJcbnR5cGUgU3R5bGVkUGFuZWxIZWFkZXJIaWRkZW5BY3Rpb25zUHJvcHMgPSB7JGlzQ29uZmlnQWN0aXZlOiBib29sZWFufTtcbmNvbnN0IFN0eWxlZFBhbmVsSGVhZGVySGlkZGVuQWN0aW9ucyA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdlZmZlY3QtcGFuZWxfX2hlYWRlcl9fYWN0aW9uc19faGlkZGVuJ1xufSk8U3R5bGVkUGFuZWxIZWFkZXJIaWRkZW5BY3Rpb25zUHJvcHM+YFxuICBvcGFjaXR5OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAwLjRzIGVhc2U7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy4kaXNDb25maWdBY3RpdmUgPyBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3ZlciA6IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZH07XG5cbiAgJjpob3ZlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkRHJhZ0hhbmRsZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDEwMDA7XG4gICY6aG92ZXIge1xuICAgIGN1cnNvcjogbW92ZTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcbiAgfVxuYDtcblxuY29uc3QgRHJhZ0hhbmRsZSA9ICh7Y2xhc3NOYW1lLCBsaXN0ZW5lcnMsIGNoaWxkcmVufSkgPT4gKFxuICA8U3R5bGVkRHJhZ0hhbmRsZSBjbGFzc05hbWU9e2NsYXNzTmFtZX0gey4uLmxpc3RlbmVyc30+XG4gICAge2NoaWxkcmVufVxuICA8L1N0eWxlZERyYWdIYW5kbGU+XG4pO1xuXG5FZmZlY3RQYW5lbEhlYWRlckFjdGlvblNlY3Rpb25GYWN0b3J5LmRlcHMgPSBbUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5XTtcblxuZXhwb3J0IGZ1bmN0aW9uIEVmZmVjdFBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbkZhY3RvcnkoXG4gIFBhbmVsSGVhZGVyQWN0aW9uOiBSZXR1cm5UeXBlPHR5cGVvZiBQYW5lbEhlYWRlckFjdGlvbkZhY3Rvcnk+XG4pOiBSZWFjdC5GQzxFZmZlY3RQYW5lbEhlYWRlclByb3BzPiB7XG4gIGNvbnN0IEVmZmVjdFBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbiA9IChwcm9wczogRWZmZWN0UGFuZWxIZWFkZXJQcm9wcykgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGVmZmVjdElkLFxuICAgICAgaXNFbmFibGVkLFxuICAgICAgaXNDb25maWdBY3RpdmUsXG4gICAgICBvblRvZ2dsZUVuYWJsZWQsXG4gICAgICBvblJlbW92ZUVmZmVjdCxcbiAgICAgIG9uVG9nZ2xlRW5hYmxlQ29uZmlnLFxuICAgICAgYWN0aW9uSXRlbXMsXG4gICAgICBhY3Rpb25JY29ucyA9IGRlZmF1bHRBY3Rpb25JY29uc1xuICAgIH0gPSBwcm9wcztcblxuICAgIGNvbnN0IGVmZmVjdEFjdGlvbkl0ZW1zOiBBY3Rpb25JdGVtW10gPSB1c2VNZW1vKFxuICAgICAgKCkgPT5cbiAgICAgICAgYWN0aW9uSXRlbXMgPz8gW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGtleTogJ3JlbW92ZS1lZmZlY3QnLFxuICAgICAgICAgICAgaXNIaWRkZW46IHRydWUsXG4gICAgICAgICAgICB0b29sdGlwOiAndG9vbHRpcC5yZW1vdmVFZmZlY3QnLFxuICAgICAgICAgICAgdG9vbHRpcFR5cGU6ICdlcnJvcicsXG4gICAgICAgICAgICBvbkNsaWNrOiBvblJlbW92ZUVmZmVjdCxcbiAgICAgICAgICAgIGljb246IGFjdGlvbkljb25zLnJlbW92ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAga2V5OiAndmlzaWJpbGl0eS10b2dnbGUnLFxuICAgICAgICAgICAgdG9vbHRpcDogaXNFbmFibGVkID8gJ3Rvb2x0aXAuZGlzYWJsZUVmZmVjdCcgOiAndG9vbHRpcC5lbmFibGVkRWZmZWN0JyxcbiAgICAgICAgICAgIG9uQ2xpY2s6IG9uVG9nZ2xlRW5hYmxlZCxcbiAgICAgICAgICAgIGljb246IGlzRW5hYmxlZCA/IGFjdGlvbkljb25zLnZpc2libGUgOiBhY3Rpb25JY29ucy5oaWRkZW5cbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGtleTogJ2VuYWJsZS1jb25maWcnLFxuICAgICAgICAgICAgY2xhc3NOYW1lczogeydpcy1vcGVuJzogaXNDb25maWdBY3RpdmV9LFxuICAgICAgICAgICAgdG9vbHRpcDogJ3Rvb2x0aXAuZWZmZWN0U2V0dGluZ3MnLFxuICAgICAgICAgICAgb25DbGljazogb25Ub2dnbGVFbmFibGVDb25maWcsXG4gICAgICAgICAgICBpY29uOiBhY3Rpb25JY29ucy5lbmFibGVDb25maWdcbiAgICAgICAgICB9XG4gICAgICAgIF0sXG4gICAgICBbXG4gICAgICAgIGFjdGlvbkl0ZW1zLFxuICAgICAgICBhY3Rpb25JY29ucyxcbiAgICAgICAgaXNFbmFibGVkLFxuICAgICAgICBpc0NvbmZpZ0FjdGl2ZSxcbiAgICAgICAgb25SZW1vdmVFZmZlY3QsXG4gICAgICAgIG9uVG9nZ2xlRW5hYmxlZCxcbiAgICAgICAgb25Ub2dnbGVFbmFibGVDb25maWdcbiAgICAgIF1cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxIZWFkZXJBY3Rpb25TZWN0aW9uIGNsYXNzTmFtZT1cImVmZmVjdC1wYW5lbF9faGVhZGVyX19hY3Rpb25zXCI+XG4gICAgICAgIDxTdHlsZWRQYW5lbEhlYWRlckhpZGRlbkFjdGlvbnMgJGlzQ29uZmlnQWN0aXZlPXtpc0NvbmZpZ0FjdGl2ZX0+XG4gICAgICAgICAge2VmZmVjdEFjdGlvbkl0ZW1zXG4gICAgICAgICAgICAuZmlsdGVyKChpdGVtOiBBY3Rpb25JdGVtKSA9PiBCb29sZWFuKGl0ZW0uaXNIaWRkZW4pKVxuICAgICAgICAgICAgLm1hcCgoaXRlbTogQWN0aW9uSXRlbSkgPT4gKFxuICAgICAgICAgICAgICA8UGFuZWxIZWFkZXJBY3Rpb25cbiAgICAgICAgICAgICAgICBrZXk9e2l0ZW0ua2V5fVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YGVmZmVjdF9fJHtpdGVtLmtleX1gfVxuICAgICAgICAgICAgICAgIHRlc3RJZD17YCR7aXRlbS5rZXl9LWFjdGlvbmB9XG4gICAgICAgICAgICAgICAgaWQ9e2VmZmVjdElkfVxuICAgICAgICAgICAgICAgIHRvb2x0aXA9e2l0ZW0udG9vbHRpcH1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtpdGVtLm9uQ2xpY2t9XG4gICAgICAgICAgICAgICAgdG9vbHRpcFR5cGU9e2l0ZW0udG9vbHRpcFR5cGV9XG4gICAgICAgICAgICAgICAgSWNvbkNvbXBvbmVudD17aXRlbS5pY29ufVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgIDwvU3R5bGVkUGFuZWxIZWFkZXJIaWRkZW5BY3Rpb25zPlxuICAgICAgICB7ZWZmZWN0QWN0aW9uSXRlbXNcbiAgICAgICAgICAuZmlsdGVyKChpdGVtOiBBY3Rpb25JdGVtKSA9PiAhaXRlbS5pc0hpZGRlbilcbiAgICAgICAgICAubWFwKChpdGVtOiBBY3Rpb25JdGVtKSA9PiAoXG4gICAgICAgICAgICA8UGFuZWxIZWFkZXJBY3Rpb25cbiAgICAgICAgICAgICAga2V5PXtpdGVtLmtleX1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKGBlZmZlY3RfXyR7aXRlbS5rZXl9YCwgaXRlbS5jbGFzc05hbWVzKX1cbiAgICAgICAgICAgICAgdGVzdElkPXtgJHtpdGVtLmtleX0tYWN0aW9uYH1cbiAgICAgICAgICAgICAgaWQ9e2VmZmVjdElkfVxuICAgICAgICAgICAgICB0b29sdGlwPXtpdGVtLnRvb2x0aXB9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9e2l0ZW0ub25DbGlja31cbiAgICAgICAgICAgICAgdG9vbHRpcFR5cGU9e2l0ZW0udG9vbHRpcFR5cGV9XG4gICAgICAgICAgICAgIEljb25Db21wb25lbnQ9e2l0ZW0uaWNvbn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSl9XG4gICAgICA8L0hlYWRlckFjdGlvblNlY3Rpb24+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gRWZmZWN0UGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uO1xufVxuXG5jb25zdCBTdHlsZWRFZmZlY3RUaXRsZVNlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tbGVmdDogOHB4O1xuICBmbGV4LWdyb3c6IDE7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG5gO1xuXG5jb25zdCBJY29uUGxhY2Vob2xkZXIgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuYDtcblxuY29uc3QgRWZmZWN0SWNvbldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBoZWlnaHQ6IDE4cHg7XG4gIG1hcmdpbjogYXV0bztcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbmA7XG5cbkVmZmVjdFBhbmVsSGVhZGVyRmFjdG9yeS5kZXBzID0gW0VmZmVjdFBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbkZhY3RvcnldO1xuXG5mdW5jdGlvbiBFZmZlY3RQYW5lbEhlYWRlckZhY3RvcnkoXG4gIEVmZmVjdFBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbjogUmV0dXJuVHlwZTx0eXBlb2YgRWZmZWN0UGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uRmFjdG9yeT5cbik6IFJlYWN0LkZDPEVmZmVjdFBhbmVsSGVhZGVyUHJvcHM+IHtcbiAgY29uc3QgRWZmZWN0UGFuZWxIZWFkZXIgPSAocHJvcHM6IEVmZmVjdFBhbmVsSGVhZGVyUHJvcHMpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBpc0NvbmZpZ0FjdGl2ZSxcbiAgICAgIGlzRHJhZ05Ecm9wRW5hYmxlZCA9IHRydWUsXG4gICAgICB0eXBlLFxuICAgICAgZWZmZWN0SWQsXG4gICAgICBvblRvZ2dsZUVuYWJsZUNvbmZpZyxcbiAgICAgIGxpc3RlbmVycyxcbiAgICAgIHNob3dTb3J0SGFuZGxlID0gdHJ1ZVxuICAgIH0gPSBwcm9wcztcblxuICAgIGNvbnN0IGludGwgPSB1c2VJbnRsKCk7XG5cbiAgICBjb25zdCBlZmZlY3REZXNjID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICByZXR1cm4gRUZGRUNUX0RFU0NSSVBUSU9OUy5maW5kKF9kZXNjcmlwdGlvbiA9PiBfZGVzY3JpcHRpb24udHlwZSA9PT0gdHlwZSk7XG4gICAgfSwgW3R5cGVdKTtcblxuICAgIGNvbnN0IGxhYmVsID0gZWZmZWN0RGVzYz8ubmFtZSB8fCAnRWZmZWN0JztcbiAgICBjb25zdCBkZXNjcmlwdGlvblRleHQgPSBlZmZlY3REZXNjPy5kZXNjcmlwdGlvblxuICAgICAgPyBpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiBlZmZlY3REZXNjLmRlc2NyaXB0aW9uLCBkZWZhdWx0TWVzc2FnZTogJyd9KVxuICAgICAgOiAnJztcbiAgICBjb25zdCB0b29sdGlwSWQgPSBgZWZmZWN0LWhlYWRlci0ke2VmZmVjdElkfWA7XG5cbiAgICBjb25zdCBFZmZlY3RJY29uID0gZGVmYXVsdEVmZmVjdEljb25zW3R5cGVdO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRFZmZlY3RQYW5lbEhlYWRlclxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoJ2VmZmVjdC1wYW5lbF9faGVhZGVyJywge1xuICAgICAgICAgICdzb3J0LS1oYW5kbGUnOiAhaXNDb25maWdBY3RpdmVcbiAgICAgICAgfSl9XG4gICAgICAgICRhY3RpdmU9e2lzQ29uZmlnQWN0aXZlfVxuICAgICAgICBvbkNsaWNrPXtvblRvZ2dsZUVuYWJsZUNvbmZpZ31cbiAgICAgID5cbiAgICAgICAge2lzRHJhZ05Ecm9wRW5hYmxlZCA/IChcbiAgICAgICAgICA8RHJhZ0hhbmRsZSBjbGFzc05hbWU9XCJlZmZlY3RfX2RyYWctaGFuZGxlXCIgbGlzdGVuZXJzPXtsaXN0ZW5lcnN9PlxuICAgICAgICAgICAge3Nob3dTb3J0SGFuZGxlID8gPFZlcnREb3RzIGhlaWdodD1cIjIwcHhcIiAvPiA6IDxJY29uUGxhY2Vob2xkZXIgLz59XG4gICAgICAgICAgPC9EcmFnSGFuZGxlPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZWZmZWN0X19kcmFnLWhhbmRsZV9fcGxhY2Vob2xkZXJcIiAvPlxuICAgICAgICApfVxuXG4gICAgICAgIDxFZmZlY3RJY29uV3JhcHBlcj57RWZmZWN0SWNvbiA/IDxFZmZlY3RJY29uIGhlaWdodD1cIjE4cHhcIiAvPiA6IG51bGx9PC9FZmZlY3RJY29uV3JhcHBlcj5cblxuICAgICAgICA8U3R5bGVkRWZmZWN0VGl0bGVTZWN0aW9uXG4gICAgICAgICAgZGF0YS10aXA9e2Rlc2NyaXB0aW9uVGV4dCB8fCB1bmRlZmluZWR9XG4gICAgICAgICAgZGF0YS1mb3I9e2Rlc2NyaXB0aW9uVGV4dCA/IHRvb2x0aXBJZCA6IHVuZGVmaW5lZH1cbiAgICAgICAgPlxuICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgICB7ZGVzY3JpcHRpb25UZXh0ID8gKFxuICAgICAgICAgICAgPE11bHRpbGluZVRvb2x0aXAgaWQ9e3Rvb2x0aXBJZH0gZWZmZWN0PVwic29saWRcIiBwbGFjZT1cImJvdHRvbVwiIGRlbGF5U2hvdz17NTAwfT5cbiAgICAgICAgICAgICAge2Rlc2NyaXB0aW9uVGV4dH1cbiAgICAgICAgICAgIDwvTXVsdGlsaW5lVG9vbHRpcD5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9TdHlsZWRFZmZlY3RUaXRsZVNlY3Rpb24+XG5cbiAgICAgICAgPEVmZmVjdFBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbiB7Li4ucHJvcHN9IC8+XG4gICAgICA8L1N0eWxlZEVmZmVjdFBhbmVsSGVhZGVyPlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIEVmZmVjdFBhbmVsSGVhZGVyO1xufVxuXG5leHBvcnQgZGVmYXVsdCBFZmZlY3RQYW5lbEhlYWRlckZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLGlCQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFFQSxJQUFBSSxVQUFBLEdBQUFKLE9BQUE7QUFPQSxJQUFBSyxVQUFBLEdBQUFMLE9BQUE7QUFFQSxJQUFBTSxrQkFBQSxHQUFBSixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQU8sTUFBQSxHQUFBUCxPQUFBO0FBMkJBLElBQUFRLGtCQUFBLEdBQUFSLE9BQUE7QUFBdUUsSUFBQVMsZUFBQSxFQUFBQyxtQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQTVDdkU7QUFDQTtBQUFBLFNB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QUFVLEdBQUduSCxrQkFBa0IsQ0FBQ0csSUFBSSxDQUFDO0lBRTNDLG9CQUNFN0QsTUFBQSxZQUFBc0gsYUFBQSxDQUFDcEIsdUJBQXVCO01BQ3RCVyxTQUFTLEVBQUUsSUFBQTBDLHNCQUFVLEVBQUMsc0JBQXNCLEVBQUU7UUFDNUMsY0FBYyxFQUFFLENBQUN4QjtNQUNuQixDQUFDLENBQUU7TUFDSCtDLE9BQU8sRUFBRS9DLGNBQWU7TUFDeEJhLE9BQU8sRUFBRVY7SUFBcUIsR0FFN0JwRixrQkFBa0IsZ0JBQ2pCOUMsTUFBQSxZQUFBc0gsYUFBQSxDQUFDSixVQUFVO01BQUNMLFNBQVMsRUFBQyxxQkFBcUI7TUFBQ08sU0FBUyxFQUFFQTtJQUFVLEdBQzlEMkMsY0FBYyxnQkFBRy9KLE1BQUEsWUFBQXNILGFBQUEsQ0FBQzdHLE1BQUEsQ0FBQXNLLFFBQVE7TUFBQ0MsTUFBTSxFQUFDO0lBQU0sQ0FBRSxDQUFDLGdCQUFHaEwsTUFBQSxZQUFBc0gsYUFBQSxDQUFDbUMsZUFBZSxNQUFFLENBQ3ZELENBQUMsZ0JBRWJ6SixNQUFBLFlBQUFzSCxhQUFBO01BQUtULFNBQVMsRUFBQztJQUFrQyxDQUFFLENBQ3BELGVBRUQ3RyxNQUFBLFlBQUFzSCxhQUFBLENBQUNvQyxpQkFBaUIsUUFBRW1CLFVBQVUsZ0JBQUc3SyxNQUFBLFlBQUFzSCxhQUFBLENBQUN1RCxVQUFVO01BQUNHLE1BQU0sRUFBQztJQUFNLENBQUUsQ0FBQyxHQUFHLElBQXdCLENBQUMsZUFFekZoTCxNQUFBLFlBQUFzSCxhQUFBLENBQUNrQyx3QkFBd0I7TUFDdkIsWUFBVWdCLGVBQWUsSUFBSVMsU0FBVTtNQUN2QyxZQUFVVCxlQUFlLEdBQUdJLFNBQVMsR0FBR0s7SUFBVSxHQUVqRFgsS0FBSyxFQUNMRSxlQUFlLGdCQUNkeEssTUFBQSxZQUFBc0gsYUFBQSxDQUFDOUUsZ0JBQWdCO01BQUM2RyxFQUFFLEVBQUV1QixTQUFVO01BQUNNLE1BQU0sRUFBQyxPQUFPO01BQUNDLEtBQUssRUFBQyxRQUFRO01BQUNDLFNBQVMsRUFBRTtJQUFJLEdBQzNFWixlQUNlLENBQUMsR0FDakIsSUFDb0IsQ0FBQyxlQUUzQnhLLE1BQUEsWUFBQXNILGFBQUEsQ0FBQ00sOEJBQThCLEVBQUt4QixLQUFRLENBQ3JCLENBQUM7RUFFOUIsQ0FBQztFQUVELE9BQU93RCxpQkFBaUI7QUFDMUI7QUFBQyxJQUFBeUIsUUFBQSxHQUFBeEksT0FBQSxjQUVjOEcsd0JBQXdCIiwiaWdub3JlTGlzdCI6W119
|