@kepler.gl/components 3.3.0-alpha.4 → 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/common/styled-components.d.ts +2 -1
- 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 +2 -1
- package/dist/loading-indicator.d.ts +1 -0
- package/dist/map/map-scale.d.ts +11 -0
- package/dist/map-container.d.ts +3 -2
- package/dist/modals/hubble-utils.d.ts +16 -0
- package/package.json +39 -25
- 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 -443
- 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 -2882
- 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 -73
- package/dist/map/annotations/annotation-control.js +0 -55
- package/dist/map/attribution.js +0 -389
- 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/split-map-button.js +0 -176
- package/dist/map/toggle-3d-button.js +0 -122
- package/dist/map-container.js +0 -1241
- 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 -224
- 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,312 @@
|
|
|
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"] = exports.HISTOGRAM_WIDTH = exports.HISTOGRAM_HEIGHT = exports.ColorChartTick = exports.ColorChartHeader = void 0;
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
12
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
+
var _d3Format = require("d3-format");
|
|
14
|
+
var _d3Scale = require("d3-scale");
|
|
15
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
16
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
17
|
+
var _utils = require("@kepler.gl/utils");
|
|
18
|
+
var _colorPalette = _interopRequireDefault(require("../side-panel/layer-panel/color-palette"));
|
|
19
|
+
var _histogramPlot = _interopRequireWildcard(require("./histogram-plot"));
|
|
20
|
+
var _loadingSpinner = _interopRequireDefault(require("./loading-spinner"));
|
|
21
|
+
var _templateObject, _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
|
+
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; }
|
|
25
|
+
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; }
|
|
26
|
+
var HISTOGRAM_WIDTH = exports.HISTOGRAM_WIDTH = 210;
|
|
27
|
+
var HISTOGRAM_HEIGHT = exports.HISTOGRAM_HEIGHT = 80;
|
|
28
|
+
var HISTOGRAM_MARGIN = {
|
|
29
|
+
top: 10,
|
|
30
|
+
bottom: 8,
|
|
31
|
+
left: 10,
|
|
32
|
+
right: 20
|
|
33
|
+
};
|
|
34
|
+
var COLOR_CHART_TICK_WRAPPER_HEIGHT = 10;
|
|
35
|
+
var COLOR_CHART_TICK_HEIGHT = 8;
|
|
36
|
+
var COLOR_CHART_TICK_WIDTH = 4;
|
|
37
|
+
var COLOR_CHART_TICK_BORDER_COLOR = '#999999';
|
|
38
|
+
var StyledContainer = _styledComponents["default"].div.attrs({
|
|
39
|
+
className: 'color-chart-loading'
|
|
40
|
+
})(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n height: ", "px;\n"])), HISTOGRAM_HEIGHT);
|
|
41
|
+
|
|
42
|
+
// height 142 = 18 + 110 + 10
|
|
43
|
+
var ColorChartContainer = _styledComponents["default"].div.attrs({
|
|
44
|
+
className: 'color-chart-container'
|
|
45
|
+
})(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n margin-top: 8px;\n"])));
|
|
46
|
+
var ColorChartHeaderWrapper = _styledComponents["default"].div.attrs({
|
|
47
|
+
className: 'color-chart-header'
|
|
48
|
+
})(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-around;\n color: ", ";\n margin-left: ", "px;\n margin-right: ", "px;\n font-size: 9px;\n"])), function (props) {
|
|
49
|
+
return props.theme.textColor;
|
|
50
|
+
}, HISTOGRAM_MARGIN.left, HISTOGRAM_MARGIN.right);
|
|
51
|
+
var ColorChartHeaderItem = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n width: 33%;\n overflow: hidden;\n white-space: nowrap;\n"])));
|
|
52
|
+
var ColorChartWrapper = _styledComponents["default"].div.attrs({
|
|
53
|
+
className: 'color-chart-wrapper'
|
|
54
|
+
})(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n height: ", "px;\n"])), HISTOGRAM_HEIGHT + 30);
|
|
55
|
+
var ColorPaletteWrapper = _styledComponents["default"].div.attrs({
|
|
56
|
+
className: 'color-chart-palette'
|
|
57
|
+
})(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n margin-top: ", "px;\n margin-left: ", "px;\n margin-right: ", "px;\n"])), HISTOGRAM_MARGIN.top, HISTOGRAM_MARGIN.left, HISTOGRAM_MARGIN.right);
|
|
58
|
+
var HistogramWrapper = _styledComponents["default"].div.attrs({
|
|
59
|
+
className: 'color-chart-histogram'
|
|
60
|
+
})(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n"])));
|
|
61
|
+
var ColorChartTickContainer = _styledComponents["default"].div.attrs({
|
|
62
|
+
className: 'color-chart-tick-container'
|
|
63
|
+
})(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n height: ", "px;\n position: relative;\n margin-left: ", "px;\n margin-right: ", "px;\n"])), COLOR_CHART_TICK_WRAPPER_HEIGHT, HISTOGRAM_MARGIN.left, HISTOGRAM_MARGIN.right);
|
|
64
|
+
var ColorChartHeader = exports.ColorChartHeader = function ColorChartHeader(_ref) {
|
|
65
|
+
var minVal = _ref.minVal,
|
|
66
|
+
meanVal = _ref.meanVal,
|
|
67
|
+
maxVal = _ref.maxVal;
|
|
68
|
+
return /*#__PURE__*/_react["default"].createElement(ColorChartHeaderWrapper, null, /*#__PURE__*/_react["default"].createElement(ColorChartHeaderItem, {
|
|
69
|
+
title: minVal
|
|
70
|
+
}, "MIN: ", minVal), /*#__PURE__*/_react["default"].createElement(ColorChartHeaderItem, {
|
|
71
|
+
title: meanVal
|
|
72
|
+
}, "MEAN: ", (0, _d3Format.format)('.4~r')(meanVal)), /*#__PURE__*/_react["default"].createElement(ColorChartHeaderItem, {
|
|
73
|
+
title: maxVal,
|
|
74
|
+
style: {
|
|
75
|
+
textAlign: 'right'
|
|
76
|
+
}
|
|
77
|
+
}, "MAX: ", maxVal));
|
|
78
|
+
};
|
|
79
|
+
var ColorChartTick = exports.ColorChartTick = function ColorChartTick(_ref2) {
|
|
80
|
+
var colors = _ref2.colors,
|
|
81
|
+
positions = _ref2.positions,
|
|
82
|
+
histogramWidth = _ref2.histogramWidth,
|
|
83
|
+
onTickMoving = _ref2.onTickMoving,
|
|
84
|
+
onTickChanged = _ref2.onTickChanged;
|
|
85
|
+
var _useState = (0, _react.useState)(positions),
|
|
86
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
87
|
+
statePositions = _useState2[0],
|
|
88
|
+
setPositions = _useState2[1];
|
|
89
|
+
var _useState3 = (0, _react.useState)(-1),
|
|
90
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
91
|
+
dragTick = _useState4[0],
|
|
92
|
+
setDragTick = _useState4[1];
|
|
93
|
+
var containerRef = (0, _react.useRef)(null);
|
|
94
|
+
(0, _react.useEffect)(function () {
|
|
95
|
+
setPositions(positions);
|
|
96
|
+
setDragTick(dragTick);
|
|
97
|
+
}, [positions, dragTick]);
|
|
98
|
+
var onMouseMove = (0, _react.useCallback)(function (e) {
|
|
99
|
+
if (dragTick >= 0) {
|
|
100
|
+
// @ts-ignore
|
|
101
|
+
var offsetX = containerRef.current.getBoundingClientRect().x;
|
|
102
|
+
statePositions[dragTick] = e.clientX - (offsetX !== null && offsetX !== void 0 ? offsetX : 0);
|
|
103
|
+
var leftBound = dragTick === 0 ? 0 : statePositions[dragTick - 1] + 1;
|
|
104
|
+
var rightBound = dragTick === positions.length - 1 ? histogramWidth : statePositions[dragTick + 1] - 1;
|
|
105
|
+
|
|
106
|
+
// restrict user drag-n-move between left and right neighboring ticks
|
|
107
|
+
if (statePositions[dragTick] < leftBound) {
|
|
108
|
+
statePositions[dragTick] = leftBound;
|
|
109
|
+
}
|
|
110
|
+
if (statePositions[dragTick] > rightBound) {
|
|
111
|
+
statePositions[dragTick] = rightBound;
|
|
112
|
+
}
|
|
113
|
+
setPositions((0, _toConsumableArray2["default"])(statePositions));
|
|
114
|
+
onTickMoving(statePositions, dragTick);
|
|
115
|
+
}
|
|
116
|
+
}, [dragTick, onTickMoving, positions.length, statePositions, histogramWidth]);
|
|
117
|
+
var onMouseUp = (0, _react.useCallback)(function (e) {
|
|
118
|
+
if (dragTick >= 0) {
|
|
119
|
+
onTickChanged();
|
|
120
|
+
setDragTick(-1);
|
|
121
|
+
e.stopPropagation();
|
|
122
|
+
e.preventDefault();
|
|
123
|
+
}
|
|
124
|
+
}, [dragTick, onTickChanged]);
|
|
125
|
+
var _onMouseDown = (0, _react.useCallback)(function (e, tickIndex) {
|
|
126
|
+
if ((0, _utils.isNumber)(tickIndex)) {
|
|
127
|
+
setDragTick(tickIndex);
|
|
128
|
+
e.stopPropagation();
|
|
129
|
+
e.preventDefault();
|
|
130
|
+
}
|
|
131
|
+
}, []);
|
|
132
|
+
return /*#__PURE__*/_react["default"].createElement(ColorChartTickContainer, {
|
|
133
|
+
ref: containerRef,
|
|
134
|
+
onMouseMove: onMouseMove,
|
|
135
|
+
onMouseUp: onMouseUp,
|
|
136
|
+
onMouseLeave: onMouseUp
|
|
137
|
+
}, colors.map(function (color, index) {
|
|
138
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
139
|
+
draggable: true,
|
|
140
|
+
key: "color-chart-tick-".concat(color, "-").concat(index),
|
|
141
|
+
onMouseDown: function onMouseDown(e) {
|
|
142
|
+
return _onMouseDown(e, index);
|
|
143
|
+
},
|
|
144
|
+
style: {
|
|
145
|
+
backgroundColor: color,
|
|
146
|
+
left: "".concat(statePositions[index] - COLOR_CHART_TICK_WIDTH / 2 - 1, "px"),
|
|
147
|
+
borderWidth: "1px",
|
|
148
|
+
borderStyle: 'solid',
|
|
149
|
+
borderColor: COLOR_CHART_TICK_BORDER_COLOR,
|
|
150
|
+
position: 'absolute',
|
|
151
|
+
width: "".concat(COLOR_CHART_TICK_WIDTH, "px"),
|
|
152
|
+
height: "".concat(COLOR_CHART_TICK_HEIGHT, "px"),
|
|
153
|
+
cursor: 'pointer'
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
}));
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
// only for numetic field
|
|
160
|
+
ColumnStatsChartFactory.deps = [_histogramPlot["default"]];
|
|
161
|
+
function ColumnStatsChartFactory(HistogramPlot) {
|
|
162
|
+
var ColumnStatsChart = function ColumnStatsChart(_ref3) {
|
|
163
|
+
var allBins = _ref3.allBins,
|
|
164
|
+
filteredBins = _ref3.filteredBins,
|
|
165
|
+
isFiltered = _ref3.isFiltered,
|
|
166
|
+
histogramDomain = _ref3.histogramDomain,
|
|
167
|
+
colorBreaks = _ref3.colorBreaks,
|
|
168
|
+
onChangedUpdater = _ref3.onChangedUpdater;
|
|
169
|
+
var _useState5 = (0, _react.useState)(colorBreaks),
|
|
170
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
171
|
+
ticks = _useState6[0],
|
|
172
|
+
setTicks = _useState6[1];
|
|
173
|
+
var _useDimensions = (0, _utils.useDimensions)(),
|
|
174
|
+
_useDimensions2 = (0, _slicedToArray2["default"])(_useDimensions, 2),
|
|
175
|
+
ref = _useDimensions2[0],
|
|
176
|
+
size = _useDimensions2[1];
|
|
177
|
+
var histogramWidth = size ? size.width - HISTOGRAM_MARGIN.left - HISTOGRAM_MARGIN.right : HISTOGRAM_WIDTH;
|
|
178
|
+
|
|
179
|
+
// distinguish between props.colorBreaks and states.ticks
|
|
180
|
+
var isTickChangingRef = _react["default"].useRef(false);
|
|
181
|
+
(0, _react.useEffect)(function () {
|
|
182
|
+
setTicks(ticks);
|
|
183
|
+
// reset isTickChanging once histogram domain is recomputed
|
|
184
|
+
isTickChangingRef.current = false;
|
|
185
|
+
}, [ticks]);
|
|
186
|
+
|
|
187
|
+
// histograms used by histogram-plot.js
|
|
188
|
+
var histogramsByGroup = (0, _react.useMemo)(function () {
|
|
189
|
+
return {
|
|
190
|
+
bins: allBins,
|
|
191
|
+
filteredBins: filteredBins
|
|
192
|
+
};
|
|
193
|
+
}, [allBins, filteredBins]);
|
|
194
|
+
|
|
195
|
+
// get colors from colorBreaks
|
|
196
|
+
var domainColors = (0, _react.useMemo)(function () {
|
|
197
|
+
return colorBreaks ? colorBreaks.map(function (c) {
|
|
198
|
+
return c.data;
|
|
199
|
+
}) : [];
|
|
200
|
+
}, [colorBreaks]);
|
|
201
|
+
var tickPositions = (0, _react.useMemo)(function () {
|
|
202
|
+
if (!isTickChangingRef.current) {
|
|
203
|
+
setTicks(colorBreaks);
|
|
204
|
+
}
|
|
205
|
+
var _histogramDomain = (0, _slicedToArray2["default"])(histogramDomain, 2),
|
|
206
|
+
valueMin = _histogramDomain[0],
|
|
207
|
+
valueMax = _histogramDomain[1];
|
|
208
|
+
var widthScale = (0, _d3Scale.scaleLinear)().domain([valueMin, valueMax]).range([0, histogramWidth]);
|
|
209
|
+
return ticks.slice(0, -1).map(function (cb) {
|
|
210
|
+
var pos = widthScale(cb.range[1]);
|
|
211
|
+
if (pos < 0) return 0;else if (pos > histogramWidth) return histogramWidth;
|
|
212
|
+
return pos;
|
|
213
|
+
});
|
|
214
|
+
}, [histogramDomain, ticks, colorBreaks, histogramWidth]);
|
|
215
|
+
var domainColorWidths = (0, _react.useMemo)(function () {
|
|
216
|
+
var n = tickPositions.length;
|
|
217
|
+
var widths = [tickPositions[0]];
|
|
218
|
+
for (var i = 1; i < n; ++i) {
|
|
219
|
+
widths.push(tickPositions[i] - tickPositions[i - 1]);
|
|
220
|
+
}
|
|
221
|
+
widths.push(histogramWidth - tickPositions[n - 1]);
|
|
222
|
+
return widths;
|
|
223
|
+
}, [tickPositions, histogramWidth]);
|
|
224
|
+
|
|
225
|
+
// handle tick drag-n-move
|
|
226
|
+
var onTickMovingHandler = (0, _react.useCallback)(function (newTickPositions, tickIndex) {
|
|
227
|
+
var _histogramDomain2 = (0, _slicedToArray2["default"])(histogramDomain, 2),
|
|
228
|
+
valueMin = _histogramDomain2[0],
|
|
229
|
+
valueMax = _histogramDomain2[1];
|
|
230
|
+
var valueRange = valueMax - valueMin;
|
|
231
|
+
var breaks = [valueMin];
|
|
232
|
+
newTickPositions.forEach(function (element) {
|
|
233
|
+
breaks.push(valueMin + valueRange * element / histogramWidth);
|
|
234
|
+
});
|
|
235
|
+
breaks.push(valueMax);
|
|
236
|
+
for (var i = 0; i < ticks.length; ++i) {
|
|
237
|
+
var leftValue = i === tickIndex + 1 ? breaks[i] : ticks[i].range[0];
|
|
238
|
+
var rightValue = i + 1 === tickIndex + 1 ? breaks[i + 1] : ticks[i].range[1];
|
|
239
|
+
ticks[i] = _objectSpread(_objectSpread({}, ticks[i]), {}, {
|
|
240
|
+
range: [leftValue, rightValue],
|
|
241
|
+
inputs: [leftValue, rightValue],
|
|
242
|
+
label: "".concat((0, _d3Format.format)('.2f')(breaks[i]), " to ").concat((0, _d3Format.format)('.2f')(breaks[i + 1]))
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
isTickChangingRef.current = true;
|
|
246
|
+
setTicks((0, _toConsumableArray2["default"])(ticks));
|
|
247
|
+
}, [histogramDomain, ticks, histogramWidth]);
|
|
248
|
+
|
|
249
|
+
// update parent and sibling components when tick dragging ended
|
|
250
|
+
var onTickChangedHandler = (0, _react.useCallback)(function () {
|
|
251
|
+
onChangedUpdater(ticks);
|
|
252
|
+
}, [onChangedUpdater, ticks]);
|
|
253
|
+
return /*#__PURE__*/_react["default"].createElement(ColorChartContainer, {
|
|
254
|
+
ref: ref
|
|
255
|
+
}, /*#__PURE__*/_react["default"].createElement(ColorChartHeader, {
|
|
256
|
+
minVal: histogramDomain[0],
|
|
257
|
+
maxVal: histogramDomain[1],
|
|
258
|
+
meanVal: histogramDomain[2]
|
|
259
|
+
}), /*#__PURE__*/_react["default"].createElement(ColorChartWrapper, null, /*#__PURE__*/_react["default"].createElement(ColorPaletteWrapper, null, /*#__PURE__*/_react["default"].createElement(_colorPalette["default"], {
|
|
260
|
+
colors: domainColors,
|
|
261
|
+
colorWidths: domainColorWidths,
|
|
262
|
+
height: HISTOGRAM_HEIGHT + 16
|
|
263
|
+
})), /*#__PURE__*/_react["default"].createElement(HistogramWrapper, null, /*#__PURE__*/_react["default"].createElement(HistogramPlot, {
|
|
264
|
+
histogramsByGroup: histogramsByGroup,
|
|
265
|
+
colorsByGroup: null,
|
|
266
|
+
isMasked: isFiltered ? _histogramPlot.HISTOGRAM_MASK_MODE.MaskWithOverlay : _histogramPlot.HISTOGRAM_MASK_MODE.Mask,
|
|
267
|
+
value: histogramDomain,
|
|
268
|
+
width: histogramWidth,
|
|
269
|
+
height: HISTOGRAM_HEIGHT,
|
|
270
|
+
margin: HISTOGRAM_MARGIN,
|
|
271
|
+
breakLines: tickPositions
|
|
272
|
+
}))), /*#__PURE__*/_react["default"].createElement(ColorChartTick, {
|
|
273
|
+
colors: domainColors.slice(0, -1),
|
|
274
|
+
positions: tickPositions,
|
|
275
|
+
histogramWidth: histogramWidth,
|
|
276
|
+
onTickMoving: onTickMovingHandler,
|
|
277
|
+
onTickChanged: onTickChangedHandler
|
|
278
|
+
}));
|
|
279
|
+
};
|
|
280
|
+
var ColumnStatsChartWLoading = function ColumnStatsChartWLoading(_ref4) {
|
|
281
|
+
var colorField = _ref4.colorField,
|
|
282
|
+
dataset = _ref4.dataset,
|
|
283
|
+
colorBreaks = _ref4.colorBreaks,
|
|
284
|
+
allBins = _ref4.allBins,
|
|
285
|
+
filteredBins = _ref4.filteredBins,
|
|
286
|
+
isFiltered = _ref4.isFiltered,
|
|
287
|
+
histogramDomain = _ref4.histogramDomain,
|
|
288
|
+
onChangedUpdater = _ref4.onChangedUpdater;
|
|
289
|
+
var fieldName = colorField === null || colorField === void 0 ? void 0 : colorField.name;
|
|
290
|
+
var field = (0, _react.useMemo)(function () {
|
|
291
|
+
return fieldName ? dataset.getColumnField(fieldName) : null;
|
|
292
|
+
}, [dataset, fieldName]);
|
|
293
|
+
if (!(0, _utils.isNumericColorBreaks)(colorBreaks)) {
|
|
294
|
+
// TODO: implement display for ordinal breaks
|
|
295
|
+
return null;
|
|
296
|
+
}
|
|
297
|
+
if (field !== null && field !== void 0 && field.isLoadingStats) {
|
|
298
|
+
return /*#__PURE__*/_react["default"].createElement(StyledContainer, null, /*#__PURE__*/_react["default"].createElement(_loadingSpinner["default"], null));
|
|
299
|
+
}
|
|
300
|
+
return /*#__PURE__*/_react["default"].createElement(ColumnStatsChart, {
|
|
301
|
+
colorBreaks: colorBreaks,
|
|
302
|
+
allBins: allBins,
|
|
303
|
+
filteredBins: filteredBins,
|
|
304
|
+
isFiltered: isFiltered,
|
|
305
|
+
histogramDomain: histogramDomain,
|
|
306
|
+
onChangedUpdater: onChangedUpdater
|
|
307
|
+
});
|
|
308
|
+
};
|
|
309
|
+
return ColumnStatsChartWLoading;
|
|
310
|
+
}
|
|
311
|
+
var _default = exports["default"] = ColumnStatsChartFactory;
|
|
312
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZDNGb3JtYXQiLCJyZXF1aXJlIiwiX2QzU2NhbGUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl91dGlscyIsIl9jb2xvclBhbGV0dGUiLCJfaGlzdG9ncmFtUGxvdCIsIl9sb2FkaW5nU3Bpbm5lciIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfdGVtcGxhdGVPYmplY3QzIiwiX3RlbXBsYXRlT2JqZWN0NCIsIl90ZW1wbGF0ZU9iamVjdDUiLCJfdGVtcGxhdGVPYmplY3Q2IiwiX3RlbXBsYXRlT2JqZWN0NyIsIl90ZW1wbGF0ZU9iamVjdDgiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiSElTVE9HUkFNX1dJRFRIIiwiZXhwb3J0cyIsIkhJU1RPR1JBTV9IRUlHSFQiLCJISVNUT0dSQU1fTUFSR0lOIiwidG9wIiwiYm90dG9tIiwibGVmdCIsInJpZ2h0IiwiQ09MT1JfQ0hBUlRfVElDS19XUkFQUEVSX0hFSUdIVCIsIkNPTE9SX0NIQVJUX1RJQ0tfSEVJR0hUIiwiQ09MT1JfQ0hBUlRfVElDS19XSURUSCIsIkNPTE9SX0NIQVJUX1RJQ0tfQk9SREVSX0NPTE9SIiwiU3R5bGVkQ29udGFpbmVyIiwic3R5bGVkIiwiZGl2IiwiYXR0cnMiLCJjbGFzc05hbWUiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsIkNvbG9yQ2hhcnRDb250YWluZXIiLCJDb2xvckNoYXJ0SGVhZGVyV3JhcHBlciIsInByb3BzIiwidGhlbWUiLCJ0ZXh0Q29sb3IiLCJDb2xvckNoYXJ0SGVhZGVySXRlbSIsIkNvbG9yQ2hhcnRXcmFwcGVyIiwiQ29sb3JQYWxldHRlV3JhcHBlciIsIkhpc3RvZ3JhbVdyYXBwZXIiLCJDb2xvckNoYXJ0VGlja0NvbnRhaW5lciIsIkNvbG9yQ2hhcnRIZWFkZXIiLCJfcmVmIiwibWluVmFsIiwibWVhblZhbCIsIm1heFZhbCIsImNyZWF0ZUVsZW1lbnQiLCJ0aXRsZSIsImQzRm9ybWF0Iiwic3R5bGUiLCJ0ZXh0QWxpZ24iLCJDb2xvckNoYXJ0VGljayIsIl9yZWYyIiwiY29sb3JzIiwicG9zaXRpb25zIiwiaGlzdG9ncmFtV2lkdGgiLCJvblRpY2tNb3ZpbmciLCJvblRpY2tDaGFuZ2VkIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwic3RhdGVQb3NpdGlvbnMiLCJzZXRQb3NpdGlvbnMiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImRyYWdUaWNrIiwic2V0RHJhZ1RpY2siLCJjb250YWluZXJSZWYiLCJ1c2VSZWYiLCJ1c2VFZmZlY3QiLCJvbk1vdXNlTW92ZSIsInVzZUNhbGxiYWNrIiwib2Zmc2V0WCIsImN1cnJlbnQiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJ4IiwiY2xpZW50WCIsImxlZnRCb3VuZCIsInJpZ2h0Qm91bmQiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwib25Nb3VzZVVwIiwic3RvcFByb3BhZ2F0aW9uIiwicHJldmVudERlZmF1bHQiLCJvbk1vdXNlRG93biIsInRpY2tJbmRleCIsImlzTnVtYmVyIiwicmVmIiwib25Nb3VzZUxlYXZlIiwibWFwIiwiY29sb3IiLCJpbmRleCIsImRyYWdnYWJsZSIsImtleSIsImNvbmNhdCIsImJhY2tncm91bmRDb2xvciIsImJvcmRlcldpZHRoIiwiYm9yZGVyU3R5bGUiLCJib3JkZXJDb2xvciIsInBvc2l0aW9uIiwid2lkdGgiLCJoZWlnaHQiLCJjdXJzb3IiLCJDb2x1bW5TdGF0c0NoYXJ0RmFjdG9yeSIsImRlcHMiLCJIaXN0b2dyYW1QbG90RmFjdG9yeSIsIkhpc3RvZ3JhbVBsb3QiLCJDb2x1bW5TdGF0c0NoYXJ0IiwiX3JlZjMiLCJhbGxCaW5zIiwiZmlsdGVyZWRCaW5zIiwiaXNGaWx0ZXJlZCIsImhpc3RvZ3JhbURvbWFpbiIsImNvbG9yQnJlYWtzIiwib25DaGFuZ2VkVXBkYXRlciIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwidGlja3MiLCJzZXRUaWNrcyIsIl91c2VEaW1lbnNpb25zIiwidXNlRGltZW5zaW9ucyIsIl91c2VEaW1lbnNpb25zMiIsInNpemUiLCJpc1RpY2tDaGFuZ2luZ1JlZiIsIlJlYWN0IiwiaGlzdG9ncmFtc0J5R3JvdXAiLCJ1c2VNZW1vIiwiYmlucyIsImRvbWFpbkNvbG9ycyIsImMiLCJkYXRhIiwidGlja1Bvc2l0aW9ucyIsIl9oaXN0b2dyYW1Eb21haW4iLCJ2YWx1ZU1pbiIsInZhbHVlTWF4Iiwid2lkdGhTY2FsZSIsInNjYWxlTGluZWFyIiwiZG9tYWluIiwicmFuZ2UiLCJzbGljZSIsImNiIiwicG9zIiwiZG9tYWluQ29sb3JXaWR0aHMiLCJ3aWR0aHMiLCJvblRpY2tNb3ZpbmdIYW5kbGVyIiwibmV3VGlja1Bvc2l0aW9ucyIsIl9oaXN0b2dyYW1Eb21haW4yIiwidmFsdWVSYW5nZSIsImJyZWFrcyIsImVsZW1lbnQiLCJsZWZ0VmFsdWUiLCJyaWdodFZhbHVlIiwiaW5wdXRzIiwibGFiZWwiLCJvblRpY2tDaGFuZ2VkSGFuZGxlciIsImNvbG9yV2lkdGhzIiwiY29sb3JzQnlHcm91cCIsImlzTWFza2VkIiwiSElTVE9HUkFNX01BU0tfTU9ERSIsIk1hc2tXaXRoT3ZlcmxheSIsIk1hc2siLCJ2YWx1ZSIsIm1hcmdpbiIsImJyZWFrTGluZXMiLCJDb2x1bW5TdGF0c0NoYXJ0V0xvYWRpbmciLCJfcmVmNCIsImNvbG9yRmllbGQiLCJkYXRhc2V0IiwiZmllbGROYW1lIiwibmFtZSIsImZpZWxkIiwiZ2V0Q29sdW1uRmllbGQiLCJpc051bWVyaWNDb2xvckJyZWFrcyIsImlzTG9hZGluZ1N0YXRzIiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbW9uL2NvbHVtbi1zdGF0cy1jaGFydC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHtmb3JtYXQgYXMgZDNGb3JtYXR9IGZyb20gJ2QzLWZvcm1hdCc7XG5pbXBvcnQge3NjYWxlTGluZWFyfSBmcm9tICdkMy1zY2FsZSc7XG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuaW1wb3J0IHtLZXBsZXJUYWJsZX0gZnJvbSAnQGtlcGxlci5nbC90YWJsZSc7XG5pbXBvcnQge0JpbiwgRmllbGR9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtcbiAgQ29sb3JCcmVhayxcbiAgQ29sb3JCcmVha09yZGluYWwsXG4gIGlzTnVtYmVyLFxuICBpc051bWVyaWNDb2xvckJyZWFrcyxcbiAgdXNlRGltZW5zaW9uc1xufSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcblxuaW1wb3J0IENvbG9yUGFsZXR0ZSBmcm9tICcuLi9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2NvbG9yLXBhbGV0dGUnO1xuaW1wb3J0IEhpc3RvZ3JhbVBsb3RGYWN0b3J5LCB7SElTVE9HUkFNX01BU0tfTU9ERX0gZnJvbSAnLi9oaXN0b2dyYW0tcGxvdCc7XG5pbXBvcnQgTG9hZGluZ1NwaW5uZXIgZnJvbSAnLi9sb2FkaW5nLXNwaW5uZXInO1xuXG5leHBvcnQgY29uc3QgSElTVE9HUkFNX1dJRFRIID0gMjEwO1xuZXhwb3J0IGNvbnN0IEhJU1RPR1JBTV9IRUlHSFQgPSA4MDtcbmNvbnN0IEhJU1RPR1JBTV9NQVJHSU4gPSB7dG9wOiAxMCwgYm90dG9tOiA4LCBsZWZ0OiAxMCwgcmlnaHQ6IDIwfTtcbmNvbnN0IENPTE9SX0NIQVJUX1RJQ0tfV1JBUFBFUl9IRUlHSFQgPSAxMDtcbmNvbnN0IENPTE9SX0NIQVJUX1RJQ0tfSEVJR0hUID0gODtcbmNvbnN0IENPTE9SX0NIQVJUX1RJQ0tfV0lEVEggPSA0O1xuY29uc3QgQ09MT1JfQ0hBUlRfVElDS19CT1JERVJfQ09MT1IgPSAnIzk5OTk5OSc7XG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdjb2xvci1jaGFydC1sb2FkaW5nJ1xufSlgXG4gIGhlaWdodDogJHtISVNUT0dSQU1fSEVJR0hUfXB4O1xuYDtcblxuLy8gaGVpZ2h0IDE0MiA9IDE4ICsgMTEwICsgMTBcbmNvbnN0IENvbG9yQ2hhcnRDb250YWluZXIgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnY29sb3ItY2hhcnQtY29udGFpbmVyJ1xufSlgXG4gIG1hcmdpbi10b3A6IDhweDtcbmA7XG5cbmNvbnN0IENvbG9yQ2hhcnRIZWFkZXJXcmFwcGVyID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2NvbG9yLWNoYXJ0LWhlYWRlcidcbn0pYFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgbWFyZ2luLWxlZnQ6ICR7SElTVE9HUkFNX01BUkdJTi5sZWZ0fXB4O1xuICBtYXJnaW4tcmlnaHQ6ICR7SElTVE9HUkFNX01BUkdJTi5yaWdodH1weDtcbiAgZm9udC1zaXplOiA5cHg7XG5gO1xuXG5jb25zdCBDb2xvckNoYXJ0SGVhZGVySXRlbSA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAzMyU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5gO1xuXG5jb25zdCBDb2xvckNoYXJ0V3JhcHBlciA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdjb2xvci1jaGFydC13cmFwcGVyJ1xufSlgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAke0hJU1RPR1JBTV9IRUlHSFQgKyAzMH1weDtcbmA7XG5cbmNvbnN0IENvbG9yUGFsZXR0ZVdyYXBwZXIgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnY29sb3ItY2hhcnQtcGFsZXR0ZSdcbn0pYFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi10b3A6ICR7SElTVE9HUkFNX01BUkdJTi50b3B9cHg7XG4gIG1hcmdpbi1sZWZ0OiAke0hJU1RPR1JBTV9NQVJHSU4ubGVmdH1weDtcbiAgbWFyZ2luLXJpZ2h0OiAke0hJU1RPR1JBTV9NQVJHSU4ucmlnaHR9cHg7XG5gO1xuXG5jb25zdCBIaXN0b2dyYW1XcmFwcGVyID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2NvbG9yLWNoYXJ0LWhpc3RvZ3JhbSdcbn0pYFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5gO1xuXG5jb25zdCBDb2xvckNoYXJ0VGlja0NvbnRhaW5lciA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdjb2xvci1jaGFydC10aWNrLWNvbnRhaW5lcidcbn0pYFxuICBoZWlnaHQ6ICR7Q09MT1JfQ0hBUlRfVElDS19XUkFQUEVSX0hFSUdIVH1weDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tbGVmdDogJHtISVNUT0dSQU1fTUFSR0lOLmxlZnR9cHg7XG4gIG1hcmdpbi1yaWdodDogJHtISVNUT0dSQU1fTUFSR0lOLnJpZ2h0fXB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IENvbG9yQ2hhcnRIZWFkZXIgPSAoe21pblZhbCwgbWVhblZhbCwgbWF4VmFsfSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxDb2xvckNoYXJ0SGVhZGVyV3JhcHBlcj5cbiAgICAgIDxDb2xvckNoYXJ0SGVhZGVySXRlbSB0aXRsZT17bWluVmFsfT5NSU46IHttaW5WYWx9PC9Db2xvckNoYXJ0SGVhZGVySXRlbT5cbiAgICAgIDxDb2xvckNoYXJ0SGVhZGVySXRlbSB0aXRsZT17bWVhblZhbH0+TUVBTjoge2QzRm9ybWF0KCcuNH5yJykobWVhblZhbCl9PC9Db2xvckNoYXJ0SGVhZGVySXRlbT5cbiAgICAgIDxDb2xvckNoYXJ0SGVhZGVySXRlbSB0aXRsZT17bWF4VmFsfSBzdHlsZT17e3RleHRBbGlnbjogJ3JpZ2h0J319PlxuICAgICAgICBNQVg6IHttYXhWYWx9XG4gICAgICA8L0NvbG9yQ2hhcnRIZWFkZXJJdGVtPlxuICAgIDwvQ29sb3JDaGFydEhlYWRlcldyYXBwZXI+XG4gICk7XG59O1xuXG5leHBvcnQgdHlwZSBDb2xvckNoYXJ0VGlja1Byb3BzID0ge1xuICBjb2xvcnM6IHN0cmluZ1tdO1xuICBwb3NpdGlvbnM6IG51bWJlcltdO1xuICBvblRpY2tNb3Zpbmc6IChwb3NpdGlvbnM6IG51bWJlcltdLCBkcmFnVGljazogbnVtYmVyKSA9PiB2b2lkO1xuICBvblRpY2tDaGFuZ2VkOiAoKSA9PiB2b2lkO1xuICBoaXN0b2dyYW1XaWR0aDogbnVtYmVyO1xufTtcblxuZXhwb3J0IGNvbnN0IENvbG9yQ2hhcnRUaWNrOiBSZWFjdC5GQzxDb2xvckNoYXJ0VGlja1Byb3BzPiA9ICh7XG4gIGNvbG9ycyxcbiAgcG9zaXRpb25zLFxuICBoaXN0b2dyYW1XaWR0aCxcbiAgb25UaWNrTW92aW5nLFxuICBvblRpY2tDaGFuZ2VkXG59KSA9PiB7XG4gIGNvbnN0IFtzdGF0ZVBvc2l0aW9ucywgc2V0UG9zaXRpb25zXSA9IHVzZVN0YXRlKHBvc2l0aW9ucyk7XG4gIGNvbnN0IFtkcmFnVGljaywgc2V0RHJhZ1RpY2tdID0gdXNlU3RhdGUoLTEpO1xuICBjb25zdCBjb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0UG9zaXRpb25zKHBvc2l0aW9ucyk7XG4gICAgc2V0RHJhZ1RpY2soZHJhZ1RpY2spO1xuICB9LCBbcG9zaXRpb25zLCBkcmFnVGlja10pO1xuXG4gIGNvbnN0IG9uTW91c2VNb3ZlID0gdXNlQ2FsbGJhY2soXG4gICAgZSA9PiB7XG4gICAgICBpZiAoZHJhZ1RpY2sgPj0gMCkge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IG9mZnNldFggPSBjb250YWluZXJSZWYuY3VycmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS54O1xuICAgICAgICBzdGF0ZVBvc2l0aW9uc1tkcmFnVGlja10gPSBlLmNsaWVudFggLSAob2Zmc2V0WCA/PyAwKTtcbiAgICAgICAgY29uc3QgbGVmdEJvdW5kID0gZHJhZ1RpY2sgPT09IDAgPyAwIDogc3RhdGVQb3NpdGlvbnNbZHJhZ1RpY2sgLSAxXSArIDE7XG4gICAgICAgIGNvbnN0IHJpZ2h0Qm91bmQgPVxuICAgICAgICAgIGRyYWdUaWNrID09PSBwb3NpdGlvbnMubGVuZ3RoIC0gMSA/IGhpc3RvZ3JhbVdpZHRoIDogc3RhdGVQb3NpdGlvbnNbZHJhZ1RpY2sgKyAxXSAtIDE7XG5cbiAgICAgICAgLy8gcmVzdHJpY3QgdXNlciBkcmFnLW4tbW92ZSBiZXR3ZWVuIGxlZnQgYW5kIHJpZ2h0IG5laWdoYm9yaW5nIHRpY2tzXG4gICAgICAgIGlmIChzdGF0ZVBvc2l0aW9uc1tkcmFnVGlja10gPCBsZWZ0Qm91bmQpIHtcbiAgICAgICAgICBzdGF0ZVBvc2l0aW9uc1tkcmFnVGlja10gPSBsZWZ0Qm91bmQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN0YXRlUG9zaXRpb25zW2RyYWdUaWNrXSA+IHJpZ2h0Qm91bmQpIHtcbiAgICAgICAgICBzdGF0ZVBvc2l0aW9uc1tkcmFnVGlja10gPSByaWdodEJvdW5kO1xuICAgICAgICB9XG4gICAgICAgIHNldFBvc2l0aW9ucyhbLi4uc3RhdGVQb3NpdGlvbnNdKTtcbiAgICAgICAgb25UaWNrTW92aW5nKHN0YXRlUG9zaXRpb25zLCBkcmFnVGljayk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbZHJhZ1RpY2ssIG9uVGlja01vdmluZywgcG9zaXRpb25zLmxlbmd0aCwgc3RhdGVQb3NpdGlvbnMsIGhpc3RvZ3JhbVdpZHRoXVxuICApO1xuXG4gIGNvbnN0IG9uTW91c2VVcCA9IHVzZUNhbGxiYWNrKFxuICAgIGUgPT4ge1xuICAgICAgaWYgKGRyYWdUaWNrID49IDApIHtcbiAgICAgICAgb25UaWNrQ2hhbmdlZCgpO1xuICAgICAgICBzZXREcmFnVGljaygtMSk7XG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtkcmFnVGljaywgb25UaWNrQ2hhbmdlZF1cbiAgKTtcblxuICBjb25zdCBvbk1vdXNlRG93biA9IHVzZUNhbGxiYWNrKChlLCB0aWNrSW5kZXgpID0+IHtcbiAgICBpZiAoaXNOdW1iZXIodGlja0luZGV4KSkge1xuICAgICAgc2V0RHJhZ1RpY2sodGlja0luZGV4KTtcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9LCBbXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8Q29sb3JDaGFydFRpY2tDb250YWluZXJcbiAgICAgIHJlZj17Y29udGFpbmVyUmVmfVxuICAgICAgb25Nb3VzZU1vdmU9e29uTW91c2VNb3ZlfVxuICAgICAgb25Nb3VzZVVwPXtvbk1vdXNlVXB9XG4gICAgICBvbk1vdXNlTGVhdmU9e29uTW91c2VVcH1cbiAgICA+XG4gICAgICB7Y29sb3JzLm1hcCgoY29sb3IsIGluZGV4KSA9PiAoXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBkcmFnZ2FibGU9e3RydWV9XG4gICAgICAgICAga2V5PXtgY29sb3ItY2hhcnQtdGljay0ke2NvbG9yfS0ke2luZGV4fWB9XG4gICAgICAgICAgb25Nb3VzZURvd249e2UgPT4gb25Nb3VzZURvd24oZSwgaW5kZXgpfVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9yLFxuICAgICAgICAgICAgbGVmdDogYCR7c3RhdGVQb3NpdGlvbnNbaW5kZXhdIC0gQ09MT1JfQ0hBUlRfVElDS19XSURUSCAvIDIgLSAxfXB4YCxcbiAgICAgICAgICAgIGJvcmRlcldpZHRoOiBgMXB4YCxcbiAgICAgICAgICAgIGJvcmRlclN0eWxlOiAnc29saWQnLFxuICAgICAgICAgICAgYm9yZGVyQ29sb3I6IENPTE9SX0NIQVJUX1RJQ0tfQk9SREVSX0NPTE9SLFxuICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICB3aWR0aDogYCR7Q09MT1JfQ0hBUlRfVElDS19XSURUSH1weGAsXG4gICAgICAgICAgICBoZWlnaHQ6IGAke0NPTE9SX0NIQVJUX1RJQ0tfSEVJR0hUfXB4YCxcbiAgICAgICAgICAgIGN1cnNvcjogJ3BvaW50ZXInXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICkpfVxuICAgIDwvQ29sb3JDaGFydFRpY2tDb250YWluZXI+XG4gICk7XG59O1xuXG4vLyBvbmx5IGZvciBudW1ldGljIGZpZWxkXG5Db2x1bW5TdGF0c0NoYXJ0RmFjdG9yeS5kZXBzID0gW0hpc3RvZ3JhbVBsb3RGYWN0b3J5XTtcblxuZXhwb3J0IHR5cGUgQ29sdW1uU3RhdHNDaGFydFdMb2FkaW5nUHJvcHMgPSB7XG4gIGNvbG9yRmllbGQ6IEZpZWxkO1xuICBkYXRhc2V0OiBLZXBsZXJUYWJsZTtcbiAgY29sb3JCcmVha3M6IENvbG9yQnJlYWtbXSB8IENvbG9yQnJlYWtPcmRpbmFsW10gfCBudWxsO1xuICBhbGxCaW5zOiBCaW5bXTtcbiAgZmlsdGVyZWRCaW5zOiBCaW5bXTtcbiAgaXNGaWx0ZXJlZDogYm9vbGVhbjtcbiAgaGlzdG9ncmFtRG9tYWluOiBudW1iZXJbXTtcbiAgb25DaGFuZ2VkVXBkYXRlcjogKHRpY2tzOiBDb2xvckJyZWFrW10pID0+IHZvaWQ7XG59O1xuXG5leHBvcnQgdHlwZSBDb2x1bW5TdGF0c0NoYXJ0UHJvcHMgPSB7XG4gIGFsbEJpbnM6IEJpbltdO1xuICBmaWx0ZXJlZEJpbnM6IEJpbltdO1xuICBpc0ZpbHRlcmVkOiBib29sZWFuO1xuICBoaXN0b2dyYW1Eb21haW46IG51bWJlcltdO1xuICBjb2xvckJyZWFrczogQ29sb3JCcmVha1tdO1xuICBvbkNoYW5nZWRVcGRhdGVyOiAodGlja3M6IENvbG9yQnJlYWtbXSkgPT4gdm9pZDtcbn07XG5mdW5jdGlvbiBDb2x1bW5TdGF0c0NoYXJ0RmFjdG9yeShcbiAgSGlzdG9ncmFtUGxvdDogUmV0dXJuVHlwZTx0eXBlb2YgSGlzdG9ncmFtUGxvdEZhY3Rvcnk+XG4pOiBSZWFjdC5GQzxDb2x1bW5TdGF0c0NoYXJ0V0xvYWRpbmdQcm9wcz4ge1xuICBjb25zdCBDb2x1bW5TdGF0c0NoYXJ0OiBSZWFjdC5GQzxDb2x1bW5TdGF0c0NoYXJ0UHJvcHM+ID0gKHtcbiAgICBhbGxCaW5zLFxuICAgIGZpbHRlcmVkQmlucyxcbiAgICBpc0ZpbHRlcmVkLFxuICAgIGhpc3RvZ3JhbURvbWFpbixcbiAgICBjb2xvckJyZWFrcyxcbiAgICBvbkNoYW5nZWRVcGRhdGVyXG4gIH0pID0+IHtcbiAgICBjb25zdCBbdGlja3MsIHNldFRpY2tzXSA9IHVzZVN0YXRlKGNvbG9yQnJlYWtzKTtcbiAgICBjb25zdCBbcmVmLCBzaXplXSA9IHVzZURpbWVuc2lvbnM8SFRNTERpdkVsZW1lbnQ+KCk7XG4gICAgY29uc3QgaGlzdG9ncmFtV2lkdGggPSBzaXplXG4gICAgICA/IHNpemUud2lkdGggLSBISVNUT0dSQU1fTUFSR0lOLmxlZnQgLSBISVNUT0dSQU1fTUFSR0lOLnJpZ2h0XG4gICAgICA6IEhJU1RPR1JBTV9XSURUSDtcblxuICAgIC8vIGRpc3Rpbmd1aXNoIGJldHdlZW4gcHJvcHMuY29sb3JCcmVha3MgYW5kIHN0YXRlcy50aWNrc1xuICAgIGNvbnN0IGlzVGlja0NoYW5naW5nUmVmID0gUmVhY3QudXNlUmVmKGZhbHNlKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBzZXRUaWNrcyh0aWNrcyk7XG4gICAgICAvLyByZXNldCBpc1RpY2tDaGFuZ2luZyBvbmNlIGhpc3RvZ3JhbSBkb21haW4gaXMgcmVjb21wdXRlZFxuICAgICAgaXNUaWNrQ2hhbmdpbmdSZWYuY3VycmVudCA9IGZhbHNlO1xuICAgIH0sIFt0aWNrc10pO1xuXG4gICAgLy8gaGlzdG9ncmFtcyB1c2VkIGJ5IGhpc3RvZ3JhbS1wbG90LmpzXG4gICAgY29uc3QgaGlzdG9ncmFtc0J5R3JvdXAgPSB1c2VNZW1vKFxuICAgICAgKCkgPT4gKHtcbiAgICAgICAgYmluczogYWxsQmlucyxcbiAgICAgICAgZmlsdGVyZWRCaW5zXG4gICAgICB9KSxcbiAgICAgIFthbGxCaW5zLCBmaWx0ZXJlZEJpbnNdXG4gICAgKTtcblxuICAgIC8vIGdldCBjb2xvcnMgZnJvbSBjb2xvckJyZWFrc1xuICAgIGNvbnN0IGRvbWFpbkNvbG9ycyA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiAoY29sb3JCcmVha3MgPyBjb2xvckJyZWFrcy5tYXAoYyA9PiBjLmRhdGEpIDogW10pLFxuICAgICAgW2NvbG9yQnJlYWtzXVxuICAgICk7XG5cbiAgICBjb25zdCB0aWNrUG9zaXRpb25zID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBpZiAoIWlzVGlja0NoYW5naW5nUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgc2V0VGlja3MoY29sb3JCcmVha3MpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBbdmFsdWVNaW4sIHZhbHVlTWF4XSA9IGhpc3RvZ3JhbURvbWFpbjtcbiAgICAgIGNvbnN0IHdpZHRoU2NhbGUgPSBzY2FsZUxpbmVhcigpLmRvbWFpbihbdmFsdWVNaW4sIHZhbHVlTWF4XSkucmFuZ2UoWzAsIGhpc3RvZ3JhbVdpZHRoXSk7XG4gICAgICByZXR1cm4gdGlja3Muc2xpY2UoMCwgLTEpLm1hcChjYiA9PiB7XG4gICAgICAgIGNvbnN0IHBvcyA9IHdpZHRoU2NhbGUoY2IucmFuZ2VbMV0pO1xuICAgICAgICBpZiAocG9zIDwgMCkgcmV0dXJuIDA7XG4gICAgICAgIGVsc2UgaWYgKHBvcyA+IGhpc3RvZ3JhbVdpZHRoKSByZXR1cm4gaGlzdG9ncmFtV2lkdGg7XG4gICAgICAgIHJldHVybiBwb3M7XG4gICAgICB9KTtcbiAgICB9LCBbaGlzdG9ncmFtRG9tYWluLCB0aWNrcywgY29sb3JCcmVha3MsIGhpc3RvZ3JhbVdpZHRoXSk7XG5cbiAgICBjb25zdCBkb21haW5Db2xvcldpZHRocyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgY29uc3QgbiA9IHRpY2tQb3NpdGlvbnMubGVuZ3RoO1xuICAgICAgY29uc3Qgd2lkdGhzID0gW3RpY2tQb3NpdGlvbnNbMF1dO1xuICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPCBuOyArK2kpIHtcbiAgICAgICAgd2lkdGhzLnB1c2godGlja1Bvc2l0aW9uc1tpXSAtIHRpY2tQb3NpdGlvbnNbaSAtIDFdKTtcbiAgICAgIH1cbiAgICAgIHdpZHRocy5wdXNoKGhpc3RvZ3JhbVdpZHRoIC0gdGlja1Bvc2l0aW9uc1tuIC0gMV0pO1xuICAgICAgcmV0dXJuIHdpZHRocztcbiAgICB9LCBbdGlja1Bvc2l0aW9ucywgaGlzdG9ncmFtV2lkdGhdKTtcblxuICAgIC8vIGhhbmRsZSB0aWNrIGRyYWctbi1tb3ZlXG4gICAgY29uc3Qgb25UaWNrTW92aW5nSGFuZGxlciA9IHVzZUNhbGxiYWNrKFxuICAgICAgKG5ld1RpY2tQb3NpdGlvbnMsIHRpY2tJbmRleCkgPT4ge1xuICAgICAgICBjb25zdCBbdmFsdWVNaW4sIHZhbHVlTWF4XSA9IGhpc3RvZ3JhbURvbWFpbjtcbiAgICAgICAgY29uc3QgdmFsdWVSYW5nZSA9IHZhbHVlTWF4IC0gdmFsdWVNaW47XG4gICAgICAgIGNvbnN0IGJyZWFrcyA9IFt2YWx1ZU1pbl07XG4gICAgICAgIG5ld1RpY2tQb3NpdGlvbnMuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgICBicmVha3MucHVzaCh2YWx1ZU1pbiArICh2YWx1ZVJhbmdlICogZWxlbWVudCkgLyBoaXN0b2dyYW1XaWR0aCk7XG4gICAgICAgIH0pO1xuICAgICAgICBicmVha3MucHVzaCh2YWx1ZU1heCk7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aWNrcy5sZW5ndGg7ICsraSkge1xuICAgICAgICAgIGNvbnN0IGxlZnRWYWx1ZSA9IGkgPT09IHRpY2tJbmRleCArIDEgPyBicmVha3NbaV0gOiB0aWNrc1tpXS5yYW5nZVswXTtcbiAgICAgICAgICBjb25zdCByaWdodFZhbHVlID0gaSArIDEgPT09IHRpY2tJbmRleCArIDEgPyBicmVha3NbaSArIDFdIDogdGlja3NbaV0ucmFuZ2VbMV07XG5cbiAgICAgICAgICB0aWNrc1tpXSA9IHtcbiAgICAgICAgICAgIC4uLnRpY2tzW2ldLFxuICAgICAgICAgICAgcmFuZ2U6IFtsZWZ0VmFsdWUsIHJpZ2h0VmFsdWVdLFxuICAgICAgICAgICAgaW5wdXRzOiBbbGVmdFZhbHVlLCByaWdodFZhbHVlXSxcbiAgICAgICAgICAgIGxhYmVsOiBgJHtkM0Zvcm1hdCgnLjJmJykoYnJlYWtzW2ldKX0gdG8gJHtkM0Zvcm1hdCgnLjJmJykoYnJlYWtzW2kgKyAxXSl9YFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgaXNUaWNrQ2hhbmdpbmdSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICAgIHNldFRpY2tzKFsuLi50aWNrc10pO1xuICAgICAgfSxcbiAgICAgIFtoaXN0b2dyYW1Eb21haW4sIHRpY2tzLCBoaXN0b2dyYW1XaWR0aF1cbiAgICApO1xuXG4gICAgLy8gdXBkYXRlIHBhcmVudCBhbmQgc2libGluZyBjb21wb25lbnRzIHdoZW4gdGljayBkcmFnZ2luZyBlbmRlZFxuICAgIGNvbnN0IG9uVGlja0NoYW5nZWRIYW5kbGVyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgb25DaGFuZ2VkVXBkYXRlcih0aWNrcyk7XG4gICAgfSwgW29uQ2hhbmdlZFVwZGF0ZXIsIHRpY2tzXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPENvbG9yQ2hhcnRDb250YWluZXIgcmVmPXtyZWZ9PlxuICAgICAgICA8Q29sb3JDaGFydEhlYWRlclxuICAgICAgICAgIG1pblZhbD17aGlzdG9ncmFtRG9tYWluWzBdfVxuICAgICAgICAgIG1heFZhbD17aGlzdG9ncmFtRG9tYWluWzFdfVxuICAgICAgICAgIG1lYW5WYWw9e2hpc3RvZ3JhbURvbWFpblsyXX1cbiAgICAgICAgLz5cbiAgICAgICAgPENvbG9yQ2hhcnRXcmFwcGVyPlxuICAgICAgICAgIDxDb2xvclBhbGV0dGVXcmFwcGVyPlxuICAgICAgICAgICAgPENvbG9yUGFsZXR0ZVxuICAgICAgICAgICAgICBjb2xvcnM9e2RvbWFpbkNvbG9yc31cbiAgICAgICAgICAgICAgY29sb3JXaWR0aHM9e2RvbWFpbkNvbG9yV2lkdGhzfVxuICAgICAgICAgICAgICBoZWlnaHQ9e0hJU1RPR1JBTV9IRUlHSFQgKyAxNn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Db2xvclBhbGV0dGVXcmFwcGVyPlxuICAgICAgICAgIDxIaXN0b2dyYW1XcmFwcGVyPlxuICAgICAgICAgICAgPEhpc3RvZ3JhbVBsb3RcbiAgICAgICAgICAgICAgaGlzdG9ncmFtc0J5R3JvdXA9e2hpc3RvZ3JhbXNCeUdyb3VwfVxuICAgICAgICAgICAgICBjb2xvcnNCeUdyb3VwPXtudWxsfVxuICAgICAgICAgICAgICBpc01hc2tlZD17aXNGaWx0ZXJlZCA/IEhJU1RPR1JBTV9NQVNLX01PREUuTWFza1dpdGhPdmVybGF5IDogSElTVE9HUkFNX01BU0tfTU9ERS5NYXNrfVxuICAgICAgICAgICAgICB2YWx1ZT17aGlzdG9ncmFtRG9tYWlufVxuICAgICAgICAgICAgICB3aWR0aD17aGlzdG9ncmFtV2lkdGh9XG4gICAgICAgICAgICAgIGhlaWdodD17SElTVE9HUkFNX0hFSUdIVH1cbiAgICAgICAgICAgICAgbWFyZ2luPXtISVNUT0dSQU1fTUFSR0lOfVxuICAgICAgICAgICAgICBicmVha0xpbmVzPXt0aWNrUG9zaXRpb25zfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0hpc3RvZ3JhbVdyYXBwZXI+XG4gICAgICAgIDwvQ29sb3JDaGFydFdyYXBwZXI+XG4gICAgICAgIDxDb2xvckNoYXJ0VGlja1xuICAgICAgICAgIGNvbG9ycz17ZG9tYWluQ29sb3JzLnNsaWNlKDAsIC0xKX1cbiAgICAgICAgICBwb3NpdGlvbnM9e3RpY2tQb3NpdGlvbnN9XG4gICAgICAgICAgaGlzdG9ncmFtV2lkdGg9e2hpc3RvZ3JhbVdpZHRofVxuICAgICAgICAgIG9uVGlja01vdmluZz17b25UaWNrTW92aW5nSGFuZGxlcn1cbiAgICAgICAgICBvblRpY2tDaGFuZ2VkPXtvblRpY2tDaGFuZ2VkSGFuZGxlcn1cbiAgICAgICAgLz5cbiAgICAgIDwvQ29sb3JDaGFydENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IENvbHVtblN0YXRzQ2hhcnRXTG9hZGluZzogUmVhY3QuRkM8Q29sdW1uU3RhdHNDaGFydFdMb2FkaW5nUHJvcHM+ID0gKHtcbiAgICBjb2xvckZpZWxkLFxuICAgIGRhdGFzZXQsXG4gICAgY29sb3JCcmVha3MsXG4gICAgYWxsQmlucyxcbiAgICBmaWx0ZXJlZEJpbnMsXG4gICAgaXNGaWx0ZXJlZCxcbiAgICBoaXN0b2dyYW1Eb21haW4sXG4gICAgb25DaGFuZ2VkVXBkYXRlclxuICB9KSA9PiB7XG4gICAgY29uc3QgZmllbGROYW1lID0gY29sb3JGaWVsZD8ubmFtZTtcbiAgICBjb25zdCBmaWVsZCA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiAoZmllbGROYW1lID8gZGF0YXNldC5nZXRDb2x1bW5GaWVsZChmaWVsZE5hbWUpIDogbnVsbCksXG4gICAgICBbZGF0YXNldCwgZmllbGROYW1lXVxuICAgICk7XG5cbiAgICBpZiAoIWlzTnVtZXJpY0NvbG9yQnJlYWtzKGNvbG9yQnJlYWtzKSkge1xuICAgICAgLy8gVE9ETzogaW1wbGVtZW50IGRpc3BsYXkgZm9yIG9yZGluYWwgYnJlYWtzXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoZmllbGQ/LmlzTG9hZGluZ1N0YXRzKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U3R5bGVkQ29udGFpbmVyPlxuICAgICAgICAgIDxMb2FkaW5nU3Bpbm5lciAvPlxuICAgICAgICA8L1N0eWxlZENvbnRhaW5lcj5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxDb2x1bW5TdGF0c0NoYXJ0XG4gICAgICAgIGNvbG9yQnJlYWtzPXtjb2xvckJyZWFrc31cbiAgICAgICAgYWxsQmlucz17YWxsQmluc31cbiAgICAgICAgZmlsdGVyZWRCaW5zPXtmaWx0ZXJlZEJpbnN9XG4gICAgICAgIGlzRmlsdGVyZWQ9e2lzRmlsdGVyZWR9XG4gICAgICAgIGhpc3RvZ3JhbURvbWFpbj17aGlzdG9ncmFtRG9tYWlufVxuICAgICAgICBvbkNoYW5nZWRVcGRhdGVyPXtvbkNoYW5nZWRVcGRhdGVyfVxuICAgICAgLz5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiBDb2x1bW5TdGF0c0NoYXJ0V0xvYWRpbmc7XG59XG5cbmV4cG9ydCBkZWZhdWx0IENvbHVtblN0YXRzQ2hhcnRGYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxTQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxRQUFB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
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
10
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
11
|
+
var _react = _interopRequireDefault(require("react"));
|
|
12
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
13
|
+
var _excluded = ["onClick", "disabled", "text", "children"];
|
|
14
|
+
var _templateObject; // SPDX-License-Identifier: MIT
|
|
15
|
+
// Copyright contributors to the kepler.gl project
|
|
16
|
+
var StyledButton = _styledComponents["default"].button(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n background-color: transparent;\n border: none;\n cursor: pointer;\n outline: none;\n transition: ", ";\n height: 2rem;\n display: flex;\n align-items: center;\n padding: 0;\n\n &:hover {\n opacity: 0.8;\n }\n"])), function (props) {
|
|
17
|
+
return props.theme.optionButtonColor;
|
|
18
|
+
}, function (props) {
|
|
19
|
+
return props.theme.transition;
|
|
20
|
+
});
|
|
21
|
+
var noop = function noop() {
|
|
22
|
+
return;
|
|
23
|
+
};
|
|
24
|
+
var Button = function Button(_ref) {
|
|
25
|
+
var _ref$onClick = _ref.onClick,
|
|
26
|
+
onClick = _ref$onClick === void 0 ? noop : _ref$onClick,
|
|
27
|
+
_ref$disabled = _ref.disabled,
|
|
28
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
29
|
+
_ref$text = _ref.text,
|
|
30
|
+
text = _ref$text === void 0 ? '' : _ref$text,
|
|
31
|
+
children = _ref.children,
|
|
32
|
+
props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
|
33
|
+
return /*#__PURE__*/_react["default"].createElement(StyledButton, (0, _extends2["default"])({}, props, {
|
|
34
|
+
onClick: disabled ? undefined : onClick
|
|
35
|
+
}), text || children);
|
|
36
|
+
};
|
|
37
|
+
var _default = exports["default"] = Button;
|
|
38
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2V4Y2x1ZGVkIiwiX3RlbXBsYXRlT2JqZWN0IiwiU3R5bGVkQnV0dG9uIiwic3R5bGVkIiwiYnV0dG9uIiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJwcm9wcyIsInRoZW1lIiwib3B0aW9uQnV0dG9uQ29sb3IiLCJ0cmFuc2l0aW9uIiwibm9vcCIsIkJ1dHRvbiIsIl9yZWYiLCJfcmVmJG9uQ2xpY2siLCJvbkNsaWNrIiwiX3JlZiRkaXNhYmxlZCIsImRpc2FibGVkIiwiX3JlZiR0ZXh0IiwidGV4dCIsImNoaWxkcmVuIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzMiIsImNyZWF0ZUVsZW1lbnQiLCJfZXh0ZW5kczIiLCJ1bmRlZmluZWQiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2RhdGEtdGFibGUvYnV0dG9uLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHtNb3VzZUV2ZW50SGFuZGxlcn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5cbmNvbnN0IFN0eWxlZEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLm9wdGlvbkJ1dHRvbkNvbG9yfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdXRsaW5lOiBub25lO1xuICB0cmFuc2l0aW9uOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRyYW5zaXRpb259O1xuICBoZWlnaHQ6IDJyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG5cbiAgJjpob3ZlciB7XG4gICAgb3BhY2l0eTogMC44O1xuICB9XG5gO1xuXG50eXBlIEJ1dHRvblByb3BzID0ge1xuICBvbkNsaWNrPzogTW91c2VFdmVudEhhbmRsZXI8SFRNTEJ1dHRvbkVsZW1lbnQ+O1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIHRleHQ/OiBzdHJpbmc7XG59ICYgUmVhY3QuQnV0dG9uSFRNTEF0dHJpYnV0ZXM8SFRNTEJ1dHRvbkVsZW1lbnQ+O1xuXG5jb25zdCBub29wID0gKCkgPT4ge1xuICByZXR1cm47XG59O1xuY29uc3QgQnV0dG9uID0gKHtvbkNsaWNrID0gbm9vcCwgZGlzYWJsZWQgPSBmYWxzZSwgdGV4dCA9ICcnLCBjaGlsZHJlbiwgLi4ucHJvcHN9OiBCdXR0b25Qcm9wcykgPT4gKFxuICA8U3R5bGVkQnV0dG9uIHsuLi5wcm9wc30gb25DbGljaz17ZGlzYWJsZWQgPyB1bmRlZmluZWQgOiBvbkNsaWNrfT5cbiAgICB7dGV4dCB8fCBjaGlsZHJlbn1cbiAgPC9TdHlsZWRCdXR0b24+XG4pO1xuXG5leHBvcnQgZGVmYXVsdCBCdXR0b247XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxpQkFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQXVDLElBQUFFLFNBQUE7QUFBQSxJQUFBQyxlQUFBLEVBSnZDO0FBQ0E7QUFLQSxJQUFNQyxZQUFZLEdBQUdDLDRCQUFNLENBQUNDLE1BQU0sQ0FBQUgsZUFBQSxLQUFBQSxlQUFBLE9BQUFJLHVCQUFBLHNRQUN2QixVQUFBQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNDLGlCQUFpQjtBQUFBLEdBS2pDLFVBQUFGLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ0UsVUFBVTtBQUFBLEVBUzlDO0FBUUQsSUFBTUMsSUFBSSxHQUFHLFNBQVBBLElBQUlBLENBQUEsRUFBUztFQUNqQjtBQUNGLENBQUM7QUFDRCxJQUFNQyxNQUFNLEdBQUcsU0FBVEEsTUFBTUEsQ0FBQUMsSUFBQTtFQUFBLElBQUFDLFlBQUEsR0FBQUQsSUFBQSxDQUFLRSxPQUFPO0lBQVBBLE9BQU8sR0FBQUQsWUFBQSxjQUFHSCxJQUFJLEdBQUFHLFlBQUE7SUFBQUUsYUFBQSxHQUFBSCxJQUFBLENBQUVJLFFBQVE7SUFBUkEsUUFBUSxHQUFBRCxhQUFBLGNBQUcsS0FBSyxHQUFBQSxhQUFBO0lBQUFFLFNBQUEsR0FBQUwsSUFBQSxDQUFFTSxJQUFJO0lBQUpBLElBQUksR0FBQUQsU0FBQSxjQUFHLEVBQUUsR0FBQUEsU0FBQTtJQUFFRSxRQUFRLEdBQUFQLElBQUEsQ0FBUk8sUUFBUTtJQUFLYixLQUFLLE9BQUFjLHlCQUFBLGFBQUFSLElBQUEsRUFBQVosU0FBQTtFQUFBLG9CQUM5RUosTUFBQSxZQUFBeUIsYUFBQSxDQUFDbkIsWUFBWSxNQUFBb0IsU0FBQSxpQkFBS2hCLEtBQUs7SUFBRVEsT0FBTyxFQUFFRSxRQUFRLEdBQUdPLFNBQVMsR0FBR1Q7RUFBUSxJQUM5REksSUFBSSxJQUFJQyxRQUNHLENBQUM7QUFBQSxDQUNoQjtBQUFDLElBQUFLLFFBQUEsR0FBQUMsT0FBQSxjQUVhZCxNQUFNIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
9
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
10
|
+
var _templateObject; // SPDX-License-Identifier: MIT
|
|
11
|
+
// Copyright contributors to the kepler.gl project
|
|
12
|
+
/*
|
|
13
|
+
ScrollSync works by getting a callback about the dom elements scroll amount
|
|
14
|
+
and then using that to pass into how much to scroll all child components,
|
|
15
|
+
it works great!
|
|
16
|
+
|
|
17
|
+
Except... Because scrolling is managed by a separate thread, and JavaScript
|
|
18
|
+
is only periodically notified of the updated position, there's some latency
|
|
19
|
+
issues with this.
|
|
20
|
+
|
|
21
|
+
We can hack around this by using a niche property of canvas that removes the
|
|
22
|
+
delay in scroll event firing! Easiest way to reproduce: enable "Trace React updates"
|
|
23
|
+
in React DevTools (it works by overlaying a viewport-wide canvas over the document).
|
|
24
|
+
*/
|
|
25
|
+
var _default = exports["default"] = _styledComponents["default"].canvas(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n height: 100%;\n left: 0;\n pointer-events: none;\n position: absolute;\n top: 0;\n width: 100%;\n"])));
|
|
26
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3RlbXBsYXRlT2JqZWN0IiwiX2RlZmF1bHQiLCJleHBvcnRzIiwic3R5bGVkIiwiY2FudmFzIiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2RhdGEtdGFibGUvY2FudmFzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuLypcbiAgICBTY3JvbGxTeW5jIHdvcmtzIGJ5IGdldHRpbmcgYSBjYWxsYmFjayBhYm91dCB0aGUgZG9tIGVsZW1lbnRzIHNjcm9sbCBhbW91bnRcbiAgICBhbmQgdGhlbiB1c2luZyB0aGF0IHRvIHBhc3MgaW50byBob3cgbXVjaCB0byBzY3JvbGwgYWxsIGNoaWxkIGNvbXBvbmVudHMsXG4gICAgaXQgd29ya3MgZ3JlYXQhXG5cbiAgICBFeGNlcHQuLi4gQmVjYXVzZSBzY3JvbGxpbmcgaXMgbWFuYWdlZCBieSBhIHNlcGFyYXRlIHRocmVhZCwgYW5kIEphdmFTY3JpcHRcbiAgICBpcyBvbmx5IHBlcmlvZGljYWxseSBub3RpZmllZCBvZiB0aGUgdXBkYXRlZCBwb3NpdGlvbiwgdGhlcmUncyBzb21lIGxhdGVuY3lcbiAgICBpc3N1ZXMgd2l0aCB0aGlzLlxuXG4gICAgV2UgY2FuIGhhY2sgYXJvdW5kIHRoaXMgYnkgdXNpbmcgYSBuaWNoZSBwcm9wZXJ0eSBvZiBjYW52YXMgdGhhdCByZW1vdmVzIHRoZVxuICAgIGRlbGF5IGluIHNjcm9sbCBldmVudCBmaXJpbmchIEVhc2llc3Qgd2F5IHRvIHJlcHJvZHVjZTogZW5hYmxlIFwiVHJhY2UgUmVhY3QgdXBkYXRlc1wiXG4gICAgaW4gUmVhY3QgRGV2VG9vbHMgKGl0IHdvcmtzIGJ5IG92ZXJsYXlpbmcgYSB2aWV3cG9ydC13aWRlIGNhbnZhcyBvdmVyIHRoZSBkb2N1bWVudCkuXG4gICovXG5leHBvcnQgZGVmYXVsdCBzdHlsZWQuY2FudmFzYFxuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG5gO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUdBLElBQUFBLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFBdUMsSUFBQUMsZUFBQSxFQUh2QztBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFaQSxJQUFBQyxRQUFBLEdBQUFDLE9BQUEsY0FhZUMsNEJBQU0sQ0FBQ0MsTUFBTSxDQUFBSixlQUFBLEtBQUFBLGVBQUEsT0FBQUssdUJBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
|