@kepler.gl/components 3.1.0-alpha.0 → 3.1.0-alpha.2
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/bottom-widget.d.ts +19 -0
- package/dist/bottom-widget.js +184 -0
- package/dist/common/action-panel.d.ts +29 -0
- package/dist/common/action-panel.js +136 -0
- package/dist/common/animation-control/animation-control.d.ts +25 -0
- package/dist/common/animation-control/animation-control.js +96 -0
- package/dist/common/animation-control/animation-controller.d.ts +19 -0
- package/dist/common/animation-control/animation-controller.js +269 -0
- package/dist/common/animation-control/animation-speed-slider.d.ts +12 -0
- package/dist/common/animation-control/animation-speed-slider.js +50 -0
- package/dist/common/animation-control/animation-window-control.d.ts +20 -0
- package/dist/common/animation-control/animation-window-control.js +60 -0
- package/dist/common/animation-control/floating-time-display.d.ts +9 -0
- package/dist/common/animation-control/floating-time-display.js +132 -0
- package/dist/common/animation-control/play-control.d.ts +12 -0
- package/dist/common/animation-control/play-control.js +52 -0
- package/dist/common/animation-control/playback-controls.d.ts +48 -0
- package/dist/common/animation-control/playback-controls.js +156 -0
- package/dist/common/animation-control/reset-control.d.ts +9 -0
- package/dist/common/animation-control/reset-control.js +43 -0
- package/dist/common/animation-control/speed-control.d.ts +12 -0
- package/dist/common/animation-control/speed-control.js +53 -0
- package/dist/common/animation-control/window-action-control.d.ts +11 -0
- package/dist/common/animation-control/window-action-control.js +58 -0
- package/dist/common/checkbox.d.ts +36 -0
- package/dist/common/checkbox.js +105 -0
- package/dist/common/color-legend.d.ts +57 -0
- package/dist/common/color-legend.js +262 -0
- package/dist/common/column-stats-chart.d.ts +37 -0
- package/dist/common/column-stats-chart.js +359 -0
- package/dist/common/data-table/button.d.ts +8 -0
- package/dist/common/data-table/button.js +38 -0
- package/dist/common/data-table/canvas.d.ts +2 -0
- package/dist/common/data-table/canvas.js +26 -0
- package/dist/common/data-table/cell-size.d.ts +43 -0
- package/dist/common/data-table/cell-size.js +183 -0
- package/dist/common/data-table/display-format.d.ts +25 -0
- package/dist/common/data-table/display-format.js +126 -0
- package/dist/common/data-table/grid.d.ts +10 -0
- package/dist/common/data-table/grid.js +107 -0
- package/dist/common/data-table/header-cell.d.ts +28 -0
- package/dist/common/data-table/header-cell.js +149 -0
- package/dist/common/data-table/index.d.ts +101 -0
- package/dist/common/data-table/index.js +464 -0
- package/dist/common/data-table/option-dropdown.d.ts +28 -0
- package/dist/common/data-table/option-dropdown.js +160 -0
- package/dist/common/dataset-label.d.ts +10 -0
- package/dist/common/dataset-label.js +27 -0
- package/dist/common/error-boundary.d.ts +16 -0
- package/dist/common/error-boundary.js +59 -0
- package/dist/common/field-selector.d.ts +49 -0
- package/dist/common/field-selector.js +173 -0
- package/dist/common/field-token.d.ts +62 -0
- package/dist/common/field-token.js +43 -0
- package/dist/common/file-uploader/file-drop.d.ts +54 -0
- package/dist/common/file-uploader/file-drop.js +196 -0
- package/dist/common/file-uploader/file-upload-progress.d.ts +8 -0
- package/dist/common/file-uploader/file-upload-progress.js +86 -0
- package/dist/common/file-uploader/file-upload.d.ts +23 -0
- package/dist/common/file-uploader/file-upload.js +244 -0
- package/dist/common/file-uploader/upload-button.d.ts +8 -0
- package/dist/common/file-uploader/upload-button.js +59 -0
- package/dist/common/flex-container.d.ts +3 -0
- package/dist/common/flex-container.js +15 -0
- package/dist/common/histogram-plot.d.ts +13 -0
- package/dist/common/histogram-plot.js +232 -0
- package/dist/common/icon-button.d.ts +27 -0
- package/dist/common/icon-button.js +25 -0
- package/dist/common/icons/add.d.ts +9 -0
- package/dist/common/icons/add.js +41 -0
- package/dist/common/icons/anchor_window.d.ts +11 -0
- package/dist/common/icons/anchor_window.js +34 -0
- package/dist/common/icons/arrow-down-alt.d.ts +9 -0
- package/dist/common/icons/arrow-down-alt.js +41 -0
- package/dist/common/icons/arrow-down-full.d.ts +16 -0
- package/dist/common/icons/arrow-down-full.js +50 -0
- package/dist/common/icons/arrow-down-small.d.ts +14 -0
- package/dist/common/icons/arrow-down-small.js +54 -0
- package/dist/common/icons/arrow-down-solid.d.ts +9 -0
- package/dist/common/icons/arrow-down-solid.js +41 -0
- package/dist/common/icons/arrow-down.d.ts +9 -0
- package/dist/common/icons/arrow-down.js +41 -0
- package/dist/common/icons/arrow-left.d.ts +9 -0
- package/dist/common/icons/arrow-left.js +44 -0
- package/dist/common/icons/arrow-right.d.ts +9 -0
- package/dist/common/icons/arrow-right.js +41 -0
- package/dist/common/icons/arrow-up-alt.d.ts +9 -0
- package/dist/common/icons/arrow-up-alt.js +42 -0
- package/dist/common/icons/arrow-up-solid.d.ts +9 -0
- package/dist/common/icons/arrow-up-solid.js +41 -0
- package/dist/common/icons/arrow-up.d.ts +9 -0
- package/dist/common/icons/arrow-up.js +41 -0
- package/dist/common/icons/base.d.ts +29 -0
- package/dist/common/icons/base.js +79 -0
- package/dist/common/icons/bug.d.ts +9 -0
- package/dist/common/icons/bug.js +43 -0
- package/dist/common/icons/calendar.d.ts +10 -0
- package/dist/common/icons/calendar.js +49 -0
- package/dist/common/icons/cancel.d.ts +9 -0
- package/dist/common/icons/cancel.js +41 -0
- package/dist/common/icons/checkmark.d.ts +10 -0
- package/dist/common/icons/checkmark.js +47 -0
- package/dist/common/icons/clipboard.d.ts +9 -0
- package/dist/common/icons/clipboard.js +42 -0
- package/dist/common/icons/clock.d.ts +9 -0
- package/dist/common/icons/clock.js +43 -0
- package/dist/common/icons/close.d.ts +9 -0
- package/dist/common/icons/close.js +46 -0
- package/dist/common/icons/code-alt.d.ts +9 -0
- package/dist/common/icons/code-alt.js +44 -0
- package/dist/common/icons/copy.d.ts +9 -0
- package/dist/common/icons/copy.js +46 -0
- package/dist/common/icons/crosshairs.d.ts +9 -0
- package/dist/common/icons/crosshairs.js +44 -0
- package/dist/common/icons/cube-3d.d.ts +9 -0
- package/dist/common/icons/cube-3d.js +45 -0
- package/dist/common/icons/cursor-click.d.ts +9 -0
- package/dist/common/icons/cursor-click.js +45 -0
- package/dist/common/icons/cursor-point.d.ts +14 -0
- package/dist/common/icons/cursor-point.js +51 -0
- package/dist/common/icons/data-table.d.ts +10 -0
- package/dist/common/icons/data-table.js +42 -0
- package/dist/common/icons/db.d.ts +10 -0
- package/dist/common/icons/db.js +42 -0
- package/dist/common/icons/delete.d.ts +9 -0
- package/dist/common/icons/delete.js +43 -0
- package/dist/common/icons/docs.d.ts +9 -0
- package/dist/common/icons/docs.js +57 -0
- package/dist/common/icons/drag-n-drop.d.ts +9 -0
- package/dist/common/icons/drag-n-drop.js +43 -0
- package/dist/common/icons/draw-polygon.d.ts +10 -0
- package/dist/common/icons/draw-polygon.js +61 -0
- package/dist/common/icons/edit.d.ts +14 -0
- package/dist/common/icons/edit.js +49 -0
- package/dist/common/icons/effects/brightness-contrast.d.ts +14 -0
- package/dist/common/icons/effects/brightness-contrast.js +70 -0
- package/dist/common/icons/effects/color-halftone.d.ts +14 -0
- package/dist/common/icons/effects/color-halftone.js +109 -0
- package/dist/common/icons/effects/dot-screen.d.ts +14 -0
- package/dist/common/icons/effects/dot-screen.js +104 -0
- package/dist/common/icons/effects/edge-work.d.ts +14 -0
- package/dist/common/icons/effects/edge-work.js +63 -0
- package/dist/common/icons/effects/hexagonal-pixelate.d.ts +14 -0
- package/dist/common/icons/effects/hexagonal-pixelate.js +130 -0
- package/dist/common/icons/effects/hue-saturation.d.ts +14 -0
- package/dist/common/icons/effects/hue-saturation.js +61 -0
- package/dist/common/icons/effects/ink.d.ts +14 -0
- package/dist/common/icons/effects/ink.js +60 -0
- package/dist/common/icons/effects/light-and-shadow.d.ts +14 -0
- package/dist/common/icons/effects/light-and-shadow.js +49 -0
- package/dist/common/icons/effects/magic-wand.d.ts +14 -0
- package/dist/common/icons/effects/magic-wand.js +61 -0
- package/dist/common/icons/effects/magnify.d.ts +14 -0
- package/dist/common/icons/effects/magnify.js +68 -0
- package/dist/common/icons/effects/noise.d.ts +14 -0
- package/dist/common/icons/effects/noise.js +114 -0
- package/dist/common/icons/effects/sepia.d.ts +14 -0
- package/dist/common/icons/effects/sepia.js +61 -0
- package/dist/common/icons/effects/tilt-shift.d.ts +14 -0
- package/dist/common/icons/effects/tilt-shift.js +70 -0
- package/dist/common/icons/effects/triangle-blur.d.ts +14 -0
- package/dist/common/icons/effects/triangle-blur.js +65 -0
- package/dist/common/icons/effects/vibrance.d.ts +14 -0
- package/dist/common/icons/effects/vibrance.js +61 -0
- package/dist/common/icons/effects/vignette.d.ts +14 -0
- package/dist/common/icons/effects/vignette.js +54 -0
- package/dist/common/icons/effects/zoom-blur.d.ts +14 -0
- package/dist/common/icons/effects/zoom-blur.js +89 -0
- package/dist/common/icons/email.d.ts +9 -0
- package/dist/common/icons/email.js +45 -0
- package/dist/common/icons/expand.d.ts +9 -0
- package/dist/common/icons/expand.js +43 -0
- package/dist/common/icons/eye-seen.d.ts +9 -0
- package/dist/common/icons/eye-seen.js +43 -0
- package/dist/common/icons/eye-unseen.d.ts +9 -0
- package/dist/common/icons/eye-unseen.js +43 -0
- package/dist/common/icons/file-type.d.ts +8 -0
- package/dist/common/icons/file-type.js +35 -0
- package/dist/common/icons/file.d.ts +9 -0
- package/dist/common/icons/file.js +41 -0
- package/dist/common/icons/files.d.ts +9 -0
- package/dist/common/icons/files.js +41 -0
- package/dist/common/icons/filter-funnel.d.ts +9 -0
- package/dist/common/icons/filter-funnel.js +41 -0
- package/dist/common/icons/free-window.d.ts +4 -0
- package/dist/common/icons/free-window.js +44 -0
- package/dist/common/icons/gear.d.ts +9 -0
- package/dist/common/icons/gear.js +43 -0
- package/dist/common/icons/globe.d.ts +15 -0
- package/dist/common/icons/globe.js +54 -0
- package/dist/common/icons/hash.d.ts +9 -0
- package/dist/common/icons/hash.js +41 -0
- package/dist/common/icons/help.d.ts +13 -0
- package/dist/common/icons/help.js +51 -0
- package/dist/common/icons/histogram.d.ts +9 -0
- package/dist/common/icons/histogram.js +41 -0
- package/dist/common/icons/index.d.ts +106 -0
- package/dist/common/icons/index.js +740 -0
- package/dist/common/icons/info.d.ts +12 -0
- package/dist/common/icons/info.js +54 -0
- package/dist/common/icons/layers.d.ts +9 -0
- package/dist/common/icons/layers.js +41 -0
- package/dist/common/icons/left-arrow.d.ts +9 -0
- package/dist/common/icons/left-arrow.js +44 -0
- package/dist/common/icons/legend.d.ts +9 -0
- package/dist/common/icons/legend.js +41 -0
- package/dist/common/icons/line-chart.d.ts +9 -0
- package/dist/common/icons/line-chart.js +41 -0
- package/dist/common/icons/location-marker.d.ts +14 -0
- package/dist/common/icons/location-marker.js +59 -0
- package/dist/common/icons/login.d.ts +9 -0
- package/dist/common/icons/login.js +44 -0
- package/dist/common/icons/logout.d.ts +9 -0
- package/dist/common/icons/logout.js +43 -0
- package/dist/common/icons/map-icon.d.ts +11 -0
- package/dist/common/icons/map-icon.js +48 -0
- package/dist/common/icons/map.d.ts +11 -0
- package/dist/common/icons/map.js +48 -0
- package/dist/common/icons/messages.d.ts +9 -0
- package/dist/common/icons/messages.js +41 -0
- package/dist/common/icons/minus.d.ts +9 -0
- package/dist/common/icons/minus.js +41 -0
- package/dist/common/icons/moon.d.ts +14 -0
- package/dist/common/icons/moon.js +59 -0
- package/dist/common/icons/order-by-dataset.d.ts +4 -0
- package/dist/common/icons/order-by-dataset.js +46 -0
- package/dist/common/icons/order-by-list.d.ts +4 -0
- package/dist/common/icons/order-by-list.js +38 -0
- package/dist/common/icons/pause.d.ts +9 -0
- package/dist/common/icons/pause.js +41 -0
- package/dist/common/icons/picture.d.ts +9 -0
- package/dist/common/icons/picture.js +41 -0
- package/dist/common/icons/pin.d.ts +9 -0
- package/dist/common/icons/pin.js +45 -0
- package/dist/common/icons/play.d.ts +9 -0
- package/dist/common/icons/play.js +41 -0
- package/dist/common/icons/polygon.d.ts +10 -0
- package/dist/common/icons/polygon.js +63 -0
- package/dist/common/icons/rectangle.d.ts +10 -0
- package/dist/common/icons/rectangle.js +64 -0
- package/dist/common/icons/reduce.d.ts +9 -0
- package/dist/common/icons/reduce.js +44 -0
- package/dist/common/icons/reset.d.ts +9 -0
- package/dist/common/icons/reset.js +41 -0
- package/dist/common/icons/rocket.d.ts +9 -0
- package/dist/common/icons/rocket.js +41 -0
- package/dist/common/icons/save.d.ts +9 -0
- package/dist/common/icons/save.js +43 -0
- package/dist/common/icons/save2.d.ts +9 -0
- package/dist/common/icons/save2.js +47 -0
- package/dist/common/icons/search.d.ts +9 -0
- package/dist/common/icons/search.js +43 -0
- package/dist/common/icons/settings.d.ts +9 -0
- package/dist/common/icons/settings.js +43 -0
- package/dist/common/icons/share.d.ts +9 -0
- package/dist/common/icons/share.js +41 -0
- package/dist/common/icons/split.d.ts +9 -0
- package/dist/common/icons/split.js +69 -0
- package/dist/common/icons/square-select.d.ts +9 -0
- package/dist/common/icons/square-select.js +43 -0
- package/dist/common/icons/sun.d.ts +14 -0
- package/dist/common/icons/sun.js +75 -0
- package/dist/common/icons/sunrise.d.ts +14 -0
- package/dist/common/icons/sunrise.js +71 -0
- package/dist/common/icons/sunset.d.ts +14 -0
- package/dist/common/icons/sunset.js +71 -0
- package/dist/common/icons/timeline-marker.d.ts +17 -0
- package/dist/common/icons/timeline-marker.js +56 -0
- package/dist/common/icons/trash.d.ts +10 -0
- package/dist/common/icons/trash.js +44 -0
- package/dist/common/icons/vert-dots.d.ts +9 -0
- package/dist/common/icons/vert-dots.js +79 -0
- package/dist/common/icons/vert-three-dots.d.ts +9 -0
- package/dist/common/icons/vert-three-dots.js +54 -0
- package/dist/common/icons/warning-sign.d.ts +15 -0
- package/dist/common/icons/warning-sign.js +61 -0
- package/dist/common/icons/warning.d.ts +10 -0
- package/dist/common/icons/warning.js +55 -0
- package/dist/common/image-preview.d.ts +15 -0
- package/dist/common/image-preview.js +60 -0
- package/dist/common/index.d.ts +4 -0
- package/dist/common/index.js +277 -0
- package/dist/common/info-helper.d.ts +10 -0
- package/dist/common/info-helper.js +61 -0
- package/dist/common/item-selector/accessor.d.ts +7 -0
- package/dist/common/item-selector/accessor.js +37 -0
- package/dist/common/item-selector/chickleted-input.d.ts +23 -0
- package/dist/common/item-selector/chickleted-input.js +153 -0
- package/dist/common/item-selector/dropdown-list.d.ts +74 -0
- package/dist/common/item-selector/dropdown-list.js +260 -0
- package/dist/common/item-selector/dropdown-select.d.ts +33 -0
- package/dist/common/item-selector/dropdown-select.js +79 -0
- package/dist/common/item-selector/item-selector.d.ts +82 -0
- package/dist/common/item-selector/item-selector.js +252 -0
- package/dist/common/item-selector/typeahead.d.ts +126 -0
- package/dist/common/item-selector/typeahead.js +433 -0
- package/dist/common/line-chart.d.ts +34 -0
- package/dist/common/line-chart.js +120 -0
- package/dist/common/loading-spinner.d.ts +10 -0
- package/dist/common/loading-spinner.js +51 -0
- package/dist/common/logo.d.ts +8 -0
- package/dist/common/logo.js +68 -0
- package/dist/common/map-layer-selector.d.ts +13 -0
- package/dist/common/map-layer-selector.js +38 -0
- package/dist/common/modal.d.ts +64 -0
- package/dist/common/modal.js +171 -0
- package/dist/common/portaled.d.ts +583 -0
- package/dist/common/portaled.js +285 -0
- package/dist/common/progress-bar.d.ts +12 -0
- package/dist/common/progress-bar.js +47 -0
- package/dist/common/radius-legend.d.ts +10 -0
- package/dist/common/radius-legend.js +132 -0
- package/dist/common/range-brush.d.ts +19 -0
- package/dist/common/range-brush.js +266 -0
- package/dist/common/range-plot.d.ts +41 -0
- package/dist/common/range-plot.js +207 -0
- package/dist/common/range-slider-timeline-panel.d.ts +11 -0
- package/dist/common/range-slider-timeline-panel.js +43 -0
- package/dist/common/range-slider-timeline.d.ts +7 -0
- package/dist/common/range-slider-timeline.js +114 -0
- package/dist/common/range-slider.d.ts +42 -0
- package/dist/common/range-slider.js +309 -0
- package/dist/common/slider/mouse-event.d.ts +27 -0
- package/dist/common/slider/mouse-event.js +105 -0
- package/dist/common/slider/slider-bar-handle.d.ts +29 -0
- package/dist/common/slider/slider-bar-handle.js +91 -0
- package/dist/common/slider/slider-handle.d.ts +33 -0
- package/dist/common/slider/slider-handle.js +137 -0
- package/dist/common/slider/slider.d.ts +72 -0
- package/dist/common/slider/slider.js +209 -0
- package/dist/common/styled-components.d.ts +159 -0
- package/dist/common/styled-components.js +398 -0
- package/dist/common/switch.d.ts +16 -0
- package/dist/common/switch.js +21 -0
- package/dist/common/sync-timeline-control.d.ts +28 -0
- package/dist/common/sync-timeline-control.js +61 -0
- package/dist/common/time-range-slider-time-title.d.ts +9 -0
- package/dist/common/time-range-slider-time-title.js +62 -0
- package/dist/common/time-range-slider.d.ts +42 -0
- package/dist/common/time-range-slider.js +132 -0
- package/dist/common/time-slider-marker.d.ts +14 -0
- package/dist/common/time-slider-marker.js +116 -0
- package/dist/common/timeline-slider.d.ts +13 -0
- package/dist/common/timeline-slider.js +132 -0
- package/dist/common/tippy-tooltip.d.ts +6 -0
- package/dist/common/tippy-tooltip.js +135 -0
- package/dist/common/toolbar-item.d.ts +14 -0
- package/dist/common/toolbar-item.js +60 -0
- package/dist/common/toolbar.d.ts +5 -0
- package/dist/common/toolbar.js +27 -0
- package/dist/common/vertical-toolbar.d.ts +3 -0
- package/dist/common/vertical-toolbar.js +16 -0
- package/dist/connect/keplergl-connect.d.ts +9 -0
- package/dist/connect/keplergl-connect.js +44 -0
- package/dist/connect/with-local-selector.d.ts +6 -0
- package/dist/connect/with-local-selector.js +86 -0
- package/dist/container.d.ts +39 -0
- package/dist/container.js +181 -0
- package/dist/context.d.ts +27 -0
- package/dist/context.js +44 -0
- package/dist/dnd-context.d.ts +13 -0
- package/dist/dnd-context.js +124 -0
- package/dist/editor/editor.d.ts +31 -0
- package/dist/editor/editor.js +201 -0
- package/dist/editor/feature-action-panel.d.ts +32 -0
- package/dist/editor/feature-action-panel.js +148 -0
- package/dist/effects/compact-color-picker.d.ts +10 -0
- package/dist/effects/compact-color-picker.js +111 -0
- package/dist/effects/effect-configurator.d.ts +17 -0
- package/dist/effects/effect-configurator.js +275 -0
- package/dist/effects/effect-list.d.ts +20 -0
- package/dist/effects/effect-list.js +129 -0
- package/dist/effects/effect-manager.d.ts +27 -0
- package/dist/effects/effect-manager.js +120 -0
- package/dist/effects/effect-panel-header.d.ts +45 -0
- package/dist/effects/effect-panel-header.js +180 -0
- package/dist/effects/effect-panel.d.ts +24 -0
- package/dist/effects/effect-panel.js +112 -0
- package/dist/effects/effect-time-configurator.d.ts +20 -0
- package/dist/effects/effect-time-configurator.js +302 -0
- package/dist/effects/effect-time-selector.d.ts +16 -0
- package/dist/effects/effect-time-selector.js +153 -0
- package/dist/effects/effect-time-slider.d.ts +34 -0
- package/dist/effects/effect-time-slider.js +199 -0
- package/dist/effects/effect-type-dropdown-list.d.ts +18 -0
- package/dist/effects/effect-type-dropdown-list.js +66 -0
- package/dist/effects/effect-type-list-item.d.ts +22 -0
- package/dist/effects/effect-type-list-item.js +87 -0
- package/dist/effects/effect-type-selector.d.ts +30 -0
- package/dist/effects/effect-type-selector.js +77 -0
- package/dist/effects/side-panel-title.d.ts +7 -0
- package/dist/effects/side-panel-title.js +37 -0
- package/dist/effects/timezone-selector.d.ts +19 -0
- package/dist/effects/timezone-selector.js +58 -0
- package/dist/filter-animation-controller.d.ts +17 -0
- package/dist/filter-animation-controller.js +77 -0
- package/dist/filters/components.d.ts +3 -0
- package/dist/filters/components.js +14 -0
- package/dist/filters/filter-panels/filter-panel-with-field-select.d.ts +10 -0
- package/dist/filters/filter-panels/filter-panel-with-field-select.js +78 -0
- package/dist/filters/filter-panels/filter-synced-dataset-panel.d.ts +54 -0
- package/dist/filters/filter-panels/filter-synced-dataset-panel.js +261 -0
- package/dist/filters/filter-panels/multi-select-filter-panel.d.ts +9 -0
- package/dist/filters/filter-panels/multi-select-filter-panel.js +49 -0
- package/dist/filters/filter-panels/new-filter-panel.d.ts +12 -0
- package/dist/filters/filter-panels/new-filter-panel.js +67 -0
- package/dist/filters/filter-panels/polygon-filter-panel.d.ts +9 -0
- package/dist/filters/filter-panels/polygon-filter-panel.js +68 -0
- package/dist/filters/filter-panels/range-filter-panel.d.ts +9 -0
- package/dist/filters/filter-panels/range-filter-panel.js +54 -0
- package/dist/filters/filter-panels/single-select-filter-panel.d.ts +9 -0
- package/dist/filters/filter-panels/single-select-filter-panel.js +49 -0
- package/dist/filters/filter-panels/time-range-filter-panel.d.ts +12 -0
- package/dist/filters/filter-panels/time-range-filter-panel.js +130 -0
- package/dist/filters/filter-panels/time-synced-field-selector.d.ts +7 -0
- package/dist/filters/filter-panels/time-synced-field-selector.js +28 -0
- package/dist/filters/filter-panels/types.d.ts +40 -0
- package/dist/filters/filter-panels/types.js +6 -0
- package/dist/filters/index.d.ts +7 -0
- package/dist/filters/index.js +56 -0
- package/dist/filters/multi-select-filter.d.ts +3 -0
- package/dist/filters/multi-select-filter.js +31 -0
- package/dist/filters/polygon-filter.d.ts +4 -0
- package/dist/filters/polygon-filter.js +77 -0
- package/dist/filters/range-filter.d.ts +8 -0
- package/dist/filters/range-filter.js +35 -0
- package/dist/filters/single-select-filter.d.ts +3 -0
- package/dist/filters/single-select-filter.js +40 -0
- package/dist/filters/time-range-filter.d.ts +35 -0
- package/dist/filters/time-range-filter.js +67 -0
- package/dist/filters/time-widget-top.d.ts +8 -0
- package/dist/filters/time-widget-top.js +88 -0
- package/dist/filters/time-widget.d.ts +10 -0
- package/dist/filters/time-widget.js +101 -0
- package/dist/filters/types.d.ts +67 -0
- package/dist/filters/types.js +6 -0
- package/dist/geocoder/geocoder.d.ts +31 -0
- package/dist/geocoder/geocoder.js +269 -0
- package/dist/geocoder-panel.d.ts +22 -0
- package/dist/geocoder-panel.js +197 -0
- package/dist/hooks/use-cloud-list-provider.d.ts +11 -0
- package/dist/hooks/use-cloud-list-provider.js +47 -0
- package/dist/hooks/use-dnd-effects.d.ts +9 -0
- package/dist/hooks/use-dnd-effects.js +69 -0
- package/dist/hooks/use-dnd-layers.d.ts +9 -0
- package/dist/hooks/use-dnd-layers.js +80 -0
- package/dist/hooks/use-feature-flags.d.ts +5 -0
- package/dist/hooks/use-feature-flags.js +17 -0
- package/dist/hooks/use-fetch-vector-tile-metadata.d.ts +16 -0
- package/dist/hooks/use-fetch-vector-tile-metadata.js +109 -0
- package/dist/hooks/use-on-click-outside.d.ts +2 -0
- package/dist/hooks/use-on-click-outside.js +36 -0
- package/dist/index.d.ts +253 -0
- package/dist/index.js +2608 -0
- package/dist/injector.d.ts +29 -0
- package/dist/injector.js +151 -0
- package/dist/kepler-gl.d.ts +325 -0
- package/dist/kepler-gl.js +504 -0
- package/dist/layer-animation-controller.d.ts +13 -0
- package/dist/layer-animation-controller.js +54 -0
- package/dist/map/coordinate-info.d.ts +7 -0
- package/dist/map/coordinate-info.js +42 -0
- package/dist/map/effects/effect-control.d.ts +16 -0
- package/dist/map/effects/effect-control.js +52 -0
- package/dist/map/layer-hover-info.d.ts +29 -0
- package/dist/map/layer-hover-info.js +222 -0
- package/dist/map/layer-selector-panel.d.ts +21 -0
- package/dist/map/layer-selector-panel.js +85 -0
- package/dist/map/lazy-tippy.d.ts +8 -0
- package/dist/map/lazy-tippy.js +61 -0
- package/dist/map/locale-panel.d.ts +16 -0
- package/dist/map/locale-panel.js +77 -0
- package/dist/map/map-control-panel.d.ts +20 -0
- package/dist/map/map-control-panel.js +139 -0
- package/dist/map/map-control-toolbar.d.ts +2 -0
- package/dist/map/map-control-toolbar.js +18 -0
- package/dist/map/map-control-tooltip.d.ts +8 -0
- package/dist/map/map-control-tooltip.js +34 -0
- package/dist/map/map-control.d.ts +56 -0
- package/dist/map/map-control.js +71 -0
- package/dist/map/map-draw-panel.d.ts +20 -0
- package/dist/map/map-draw-panel.js +98 -0
- package/dist/map/map-legend-panel.d.ts +65 -0
- package/dist/map/map-legend-panel.js +155 -0
- package/dist/map/map-legend.d.ts +90 -0
- package/dist/map/map-legend.js +369 -0
- package/dist/map/map-popover-content.d.ts +28 -0
- package/dist/map/map-popover-content.js +28 -0
- package/dist/map/map-popover.d.ts +33 -0
- package/dist/map/map-popover.js +185 -0
- package/dist/map/split-map-button.d.ts +20 -0
- package/dist/map/split-map-button.js +65 -0
- package/dist/map/toggle-3d-button.d.ts +17 -0
- package/dist/map/toggle-3d-button.js +55 -0
- package/dist/map-container.d.ts +73 -0
- package/dist/map-container.js +903 -0
- package/dist/map-view-state-context.d.ts +17 -0
- package/dist/map-view-state-context.js +99 -0
- package/dist/maps-layout.d.ts +12 -0
- package/dist/maps-layout.js +43 -0
- package/dist/modal-container.d.ts +59 -0
- package/dist/modal-container.js +434 -0
- package/dist/modals/add-map-style-modal.d.ts +17 -0
- package/dist/modals/add-map-style-modal.js +198 -0
- package/dist/modals/cloud-components/cloud-header.d.ts +12 -0
- package/dist/modals/cloud-components/cloud-header.js +60 -0
- package/dist/modals/cloud-components/cloud-item.d.ts +5 -0
- package/dist/modals/cloud-components/cloud-item.js +59 -0
- package/dist/modals/cloud-components/cloud-item.spec.d.ts +1 -0
- package/dist/modals/cloud-components/cloud-item.spec.js +92 -0
- package/dist/modals/cloud-components/cloud-maps.d.ts +8 -0
- package/dist/modals/cloud-components/cloud-maps.js +47 -0
- package/dist/modals/cloud-components/cloud-maps.spec.d.ts +1 -0
- package/dist/modals/cloud-components/cloud-maps.spec.js +98 -0
- package/dist/modals/cloud-components/provider-loading.d.ts +2 -0
- package/dist/modals/cloud-components/provider-loading.js +20 -0
- package/dist/modals/cloud-components/provider-select.d.ts +7 -0
- package/dist/modals/cloud-components/provider-select.js +30 -0
- package/dist/modals/cloud-tile.d.ts +15 -0
- package/dist/modals/cloud-tile.js +203 -0
- package/dist/modals/data-table-modal.d.ts +37 -0
- package/dist/modals/data-table-modal.js +264 -0
- package/dist/modals/delete-data-modal.d.ts +10 -0
- package/dist/modals/delete-data-modal.js +41 -0
- package/dist/modals/error-display.d.ts +6 -0
- package/dist/modals/error-display.js +33 -0
- package/dist/modals/export-data-modal.d.ts +23 -0
- package/dist/modals/export-data-modal.js +187 -0
- package/dist/modals/export-image-modal.d.ts +16 -0
- package/dist/modals/export-image-modal.js +122 -0
- package/dist/modals/export-map-modal/components.d.ts +8 -0
- package/dist/modals/export-map-modal/components.js +34 -0
- package/dist/modals/export-map-modal/export-html-map.d.ts +12 -0
- package/dist/modals/export-map-modal/export-html-map.js +126 -0
- package/dist/modals/export-map-modal/export-json-map.d.ts +9 -0
- package/dist/modals/export-map-modal/export-json-map.js +81 -0
- package/dist/modals/export-map-modal/export-map-modal.d.ts +27 -0
- package/dist/modals/export-map-modal/export-map-modal.js +84 -0
- package/dist/modals/image-modal-container.d.ts +16 -0
- package/dist/modals/image-modal-container.js +58 -0
- package/dist/modals/load-data-modal.d.ts +44 -0
- package/dist/modals/load-data-modal.js +98 -0
- package/dist/modals/load-storage-map.d.ts +9 -0
- package/dist/modals/load-storage-map.js +80 -0
- package/dist/modals/load-storage-map.spec.d.ts +1 -0
- package/dist/modals/load-storage-map.spec.js +216 -0
- package/dist/modals/loading-dialog.d.ts +7 -0
- package/dist/modals/loading-dialog.js +37 -0
- package/dist/modals/modal-dialog.d.ts +2 -0
- package/dist/modals/modal-dialog.js +16 -0
- package/dist/modals/modal-tabs.d.ts +15 -0
- package/dist/modals/modal-tabs.js +75 -0
- package/dist/modals/overwrite-map-modal.d.ts +16 -0
- package/dist/modals/overwrite-map-modal.js +84 -0
- package/dist/modals/save-map-modal.d.ts +28 -0
- package/dist/modals/save-map-modal.js +179 -0
- package/dist/modals/save-map-modal.spec.d.ts +1 -0
- package/dist/modals/save-map-modal.spec.js +195 -0
- package/dist/modals/share-map-modal.d.ts +26 -0
- package/dist/modals/share-map-modal.js +169 -0
- package/dist/modals/share-map-modal.spec.d.ts +1 -0
- package/dist/modals/share-map-modal.spec.js +173 -0
- package/dist/modals/status-panel.d.ts +13 -0
- package/dist/modals/status-panel.js +65 -0
- package/dist/modals/storage-map-viewer.d.ts +21 -0
- package/dist/modals/storage-map-viewer.js +98 -0
- package/dist/modals/tilesets-modals/common.d.ts +12 -0
- package/dist/modals/tilesets-modals/common.js +6 -0
- package/dist/modals/tilesets-modals/load-data-footer.d.ts +11 -0
- package/dist/modals/tilesets-modals/load-data-footer.js +41 -0
- package/dist/modals/tilesets-modals/load-tileset.d.ts +16 -0
- package/dist/modals/tilesets-modals/load-tileset.js +114 -0
- package/dist/modals/tilesets-modals/tileset-icon.d.ts +9 -0
- package/dist/modals/tilesets-modals/tileset-icon.js +32 -0
- package/dist/modals/tilesets-modals/tileset-vector-form.d.ts +13 -0
- package/dist/modals/tilesets-modals/tileset-vector-form.js +165 -0
- package/dist/notification-panel/notification-item.d.ts +67 -0
- package/dist/notification-panel/notification-item.js +150 -0
- package/dist/notification-panel.d.ts +13 -0
- package/dist/notification-panel.js +61 -0
- package/dist/plot-container.d.ts +24 -0
- package/dist/plot-container.js +223 -0
- package/dist/side-panel/add-by-dataset-button.d.ts +12 -0
- package/dist/side-panel/add-by-dataset-button.js +128 -0
- package/dist/side-panel/cloud-storage-dropdown.d.ts +6 -0
- package/dist/side-panel/cloud-storage-dropdown.js +40 -0
- package/dist/side-panel/common/dataset-info.d.ts +11 -0
- package/dist/side-panel/common/dataset-info.js +34 -0
- package/dist/side-panel/common/dataset-tag.d.ts +17 -0
- package/dist/side-panel/common/dataset-tag.js +62 -0
- package/dist/side-panel/common/dataset-title.d.ts +22 -0
- package/dist/side-panel/common/dataset-title.js +143 -0
- package/dist/side-panel/common/source-data-catalog.d.ts +29 -0
- package/dist/side-panel/common/source-data-catalog.js +49 -0
- package/dist/side-panel/common/source-data-selector-content.d.ts +8 -0
- package/dist/side-panel/common/source-data-selector-content.js +65 -0
- package/dist/side-panel/common/source-data-selector.d.ts +8 -0
- package/dist/side-panel/common/source-data-selector.js +41 -0
- package/dist/side-panel/common/source-selector.d.ts +21 -0
- package/dist/side-panel/common/source-selector.js +57 -0
- package/dist/side-panel/common/types.d.ts +44 -0
- package/dist/side-panel/common/types.js +6 -0
- package/dist/side-panel/custom-panel.d.ts +13 -0
- package/dist/side-panel/custom-panel.js +39 -0
- package/dist/side-panel/filter-manager.d.ts +32 -0
- package/dist/side-panel/filter-manager.js +203 -0
- package/dist/side-panel/filter-panel/add-filter-button.d.ts +8 -0
- package/dist/side-panel/filter-panel/add-filter-button.js +28 -0
- package/dist/side-panel/filter-panel/filter-panel-header.d.ts +26 -0
- package/dist/side-panel/filter-panel/filter-panel-header.js +53 -0
- package/dist/side-panel/filter-panel/filter-panel.d.ts +23 -0
- package/dist/side-panel/filter-panel/filter-panel.js +93 -0
- package/dist/side-panel/interaction-manager.d.ts +18 -0
- package/dist/side-panel/interaction-manager.js +45 -0
- package/dist/side-panel/interaction-panel/brush-config.d.ts +15 -0
- package/dist/side-panel/interaction-panel/brush-config.js +41 -0
- package/dist/side-panel/interaction-panel/interaction-panel.d.ts +20 -0
- package/dist/side-panel/interaction-panel/interaction-panel.js +115 -0
- package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +30 -0
- package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +162 -0
- package/dist/side-panel/interaction-panel/tooltip-config.d.ts +37 -0
- package/dist/side-panel/interaction-panel/tooltip-config.js +150 -0
- package/dist/side-panel/layer-manager.d.ts +44 -0
- package/dist/side-panel/layer-manager.js +200 -0
- package/dist/side-panel/layer-panel/add-layer-button.d.ts +8 -0
- package/dist/side-panel/layer-panel/add-layer-button.js +28 -0
- package/dist/side-panel/layer-panel/aggr-scale-selector.d.ts +13 -0
- package/dist/side-panel/layer-panel/aggr-scale-selector.js +35 -0
- package/dist/side-panel/layer-panel/channel-by-value-selector.d.ts +26 -0
- package/dist/side-panel/layer-panel/channel-by-value-selector.js +68 -0
- package/dist/side-panel/layer-panel/color-breaks-panel.d.ts +33 -0
- package/dist/side-panel/layer-panel/color-breaks-panel.js +153 -0
- package/dist/side-panel/layer-panel/color-palette-preset.d.ts +9 -0
- package/dist/side-panel/layer-panel/color-palette-preset.js +45 -0
- package/dist/side-panel/layer-panel/color-palette.d.ts +12 -0
- package/dist/side-panel/layer-panel/color-palette.js +69 -0
- package/dist/side-panel/layer-panel/color-range-selector.d.ts +39 -0
- package/dist/side-panel/layer-panel/color-range-selector.js +244 -0
- package/dist/side-panel/layer-panel/color-scale-selector.d.ts +36 -0
- package/dist/side-panel/layer-panel/color-scale-selector.js +186 -0
- package/dist/side-panel/layer-panel/color-selector.d.ts +34 -0
- package/dist/side-panel/layer-panel/color-selector.js +167 -0
- package/dist/side-panel/layer-panel/column-selector.d.ts +18 -0
- package/dist/side-panel/layer-panel/column-selector.js +60 -0
- package/dist/side-panel/layer-panel/custom-palette.d.ts +77 -0
- package/dist/side-panel/layer-panel/custom-palette.js +427 -0
- package/dist/side-panel/layer-panel/custom-picker.d.ts +8 -0
- package/dist/side-panel/layer-panel/custom-picker.js +71 -0
- package/dist/side-panel/layer-panel/dataset-layer-group.d.ts +23 -0
- package/dist/side-panel/layer-panel/dataset-layer-group.js +67 -0
- package/dist/side-panel/layer-panel/dataset-layer-section.d.ts +25 -0
- package/dist/side-panel/layer-panel/dataset-layer-section.js +60 -0
- package/dist/side-panel/layer-panel/dataset-section.d.ts +23 -0
- package/dist/side-panel/layer-panel/dataset-section.js +74 -0
- package/dist/side-panel/layer-panel/dimension-scale-selector.d.ts +23 -0
- package/dist/side-panel/layer-panel/dimension-scale-selector.js +90 -0
- package/dist/side-panel/layer-panel/how-to-button.d.ts +6 -0
- package/dist/side-panel/layer-panel/how-to-button.js +27 -0
- package/dist/side-panel/layer-panel/layer-color-selector.d.ts +42 -0
- package/dist/side-panel/layer-panel/layer-color-selector.js +106 -0
- package/dist/side-panel/layer-panel/layer-column-config.d.ts +24 -0
- package/dist/side-panel/layer-panel/layer-column-config.js +86 -0
- package/dist/side-panel/layer-panel/layer-column-mode-config.d.ts +47 -0
- package/dist/side-panel/layer-panel/layer-column-mode-config.js +193 -0
- package/dist/side-panel/layer-panel/layer-config-group.d.ts +44 -0
- package/dist/side-panel/layer-panel/layer-config-group.js +141 -0
- package/dist/side-panel/layer-panel/layer-configurator.d.ts +67 -0
- package/dist/side-panel/layer-panel/layer-configurator.js +644 -0
- package/dist/side-panel/layer-panel/layer-error-message.d.ts +6 -0
- package/dist/side-panel/layer-panel/layer-error-message.js +29 -0
- package/dist/side-panel/layer-panel/layer-list.d.ts +21 -0
- package/dist/side-panel/layer-panel/layer-list.js +170 -0
- package/dist/side-panel/layer-panel/layer-panel-header.d.ts +73 -0
- package/dist/side-panel/layer-panel/layer-panel-header.js +274 -0
- package/dist/side-panel/layer-panel/layer-panel.d.ts +39 -0
- package/dist/side-panel/layer-panel/layer-panel.js +162 -0
- package/dist/side-panel/layer-panel/layer-type-dropdown-list.d.ts +22 -0
- package/dist/side-panel/layer-panel/layer-type-dropdown-list.js +78 -0
- package/dist/side-panel/layer-panel/layer-type-list-item.d.ts +22 -0
- package/dist/side-panel/layer-panel/layer-type-list-item.js +67 -0
- package/dist/side-panel/layer-panel/layer-type-selector.d.ts +22 -0
- package/dist/side-panel/layer-panel/layer-type-selector.js +58 -0
- package/dist/side-panel/layer-panel/radius-by-zoom-input.d.ts +11 -0
- package/dist/side-panel/layer-panel/radius-by-zoom-input.js +220 -0
- package/dist/side-panel/layer-panel/single-color-palette.d.ts +9 -0
- package/dist/side-panel/layer-panel/single-color-palette.js +86 -0
- package/dist/side-panel/layer-panel/text-label-panel.d.ts +17 -0
- package/dist/side-panel/layer-panel/text-label-panel.js +165 -0
- package/dist/side-panel/layer-panel/vector-tile-layer-configurator.d.ts +22 -0
- package/dist/side-panel/layer-panel/vector-tile-layer-configurator.js +86 -0
- package/dist/side-panel/layer-panel/vis-config-by-field-selector.d.ts +24 -0
- package/dist/side-panel/layer-panel/vis-config-by-field-selector.js +60 -0
- package/dist/side-panel/layer-panel/vis-config-slider.d.ts +20 -0
- package/dist/side-panel/layer-panel/vis-config-slider.js +159 -0
- package/dist/side-panel/layer-panel/vis-config-switch.d.ts +16 -0
- package/dist/side-panel/layer-panel/vis-config-switch.js +55 -0
- package/dist/side-panel/map-manager.d.ts +27 -0
- package/dist/side-panel/map-manager.js +127 -0
- package/dist/side-panel/map-style-panel/map-layer-group-color-picker.d.ts +14 -0
- package/dist/side-panel/map-style-panel/map-layer-group-color-picker.js +77 -0
- package/dist/side-panel/map-style-panel/map-layer-group-item.d.ts +29 -0
- package/dist/side-panel/map-style-panel/map-layer-group-item.js +95 -0
- package/dist/side-panel/map-style-panel/map-layer-selector.d.ts +23 -0
- package/dist/side-panel/map-style-panel/map-layer-selector.js +74 -0
- package/dist/side-panel/map-style-panel/map-style-selector.d.ts +23 -0
- package/dist/side-panel/map-style-panel/map-style-selector.js +96 -0
- package/dist/side-panel/panel-header-action.d.ts +22 -0
- package/dist/side-panel/panel-header-action.js +73 -0
- package/dist/side-panel/panel-header.d.ts +91 -0
- package/dist/side-panel/panel-header.js +303 -0
- package/dist/side-panel/panel-tab.d.ts +20 -0
- package/dist/side-panel/panel-tab.js +55 -0
- package/dist/side-panel/panel-title.d.ts +7 -0
- package/dist/side-panel/panel-title.js +40 -0
- package/dist/side-panel/panel-toggle.d.ts +13 -0
- package/dist/side-panel/panel-toggle.js +48 -0
- package/dist/side-panel/panel-view-list-toggle.d.ts +31 -0
- package/dist/side-panel/panel-view-list-toggle.js +98 -0
- package/dist/side-panel/side-bar.d.ts +78 -0
- package/dist/side-panel/side-bar.js +127 -0
- package/dist/side-panel.d.ts +21 -0
- package/dist/side-panel.js +214 -0
- package/dist/types.d.ts +47 -0
- package/dist/types.js +6 -0
- package/package.json +16 -16
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import React, { FC, ComponentType } from 'react';
|
|
2
|
+
import ColorLegendFactory, { LegendRowFactory } from '../common/color-legend';
|
|
3
|
+
import { Layer, LayerBaseConfig, VisualChannel, VisualChannelDescription } from '@kepler.gl/layers';
|
|
4
|
+
import { LayerVisConfig, MapState, RGBColor } from '@kepler.gl/types';
|
|
5
|
+
import PanelHeaderActionFactory from '../side-panel/panel-header-action';
|
|
6
|
+
interface StyledMapControlLegendProps {
|
|
7
|
+
width?: number;
|
|
8
|
+
last?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare const StyledMapControlLegend: import("styled-components").StyledComponent<"div", any, StyledMapControlLegendProps, never>;
|
|
11
|
+
export declare const VisualChannelMetric: ({ name }: {
|
|
12
|
+
name: any;
|
|
13
|
+
}) => React.JSX.Element;
|
|
14
|
+
export declare type LayerSizeLegendProps = {
|
|
15
|
+
label: string;
|
|
16
|
+
name: string | undefined;
|
|
17
|
+
};
|
|
18
|
+
export declare const LayerDefaultLegend: React.FC<LayerSizeLegendProps>;
|
|
19
|
+
export declare type SingleColorLegendProps = {
|
|
20
|
+
color: RGBColor;
|
|
21
|
+
label?: string;
|
|
22
|
+
};
|
|
23
|
+
export declare function SingleColorLegendFactory(LegendRow: ReturnType<typeof LegendRowFactory>): React.NamedExoticComponent<SingleColorLegendProps>;
|
|
24
|
+
export declare namespace SingleColorLegendFactory {
|
|
25
|
+
var deps: (typeof LegendRowFactory)[];
|
|
26
|
+
}
|
|
27
|
+
export declare type LayerColorLegendProps = {
|
|
28
|
+
description: VisualChannelDescription;
|
|
29
|
+
config: LayerBaseConfig;
|
|
30
|
+
colorChannel: VisualChannel;
|
|
31
|
+
onLayerVisConfigChange?: (oldLayer: Layer, newVisConfig: Partial<LayerVisConfig>) => void;
|
|
32
|
+
layer: Layer;
|
|
33
|
+
disableEdit?: boolean;
|
|
34
|
+
isExport?: boolean;
|
|
35
|
+
mapState?: MapState;
|
|
36
|
+
actionIcons: MapLegendIcons;
|
|
37
|
+
};
|
|
38
|
+
export declare function LayerColorLegendFactory(ColorLegend: ReturnType<typeof ColorLegendFactory>, SingleColorLegend: ReturnType<typeof SingleColorLegendFactory>, PanelHeaderAction: ReturnType<typeof PanelHeaderActionFactory>): React.NamedExoticComponent<LayerColorLegendProps>;
|
|
39
|
+
export declare namespace LayerColorLegendFactory {
|
|
40
|
+
var deps: (typeof PanelHeaderActionFactory | typeof ColorLegendFactory | typeof SingleColorLegendFactory)[];
|
|
41
|
+
}
|
|
42
|
+
export declare type MapLegendIcons = {
|
|
43
|
+
expanded: ComponentType<any>;
|
|
44
|
+
collapsed: ComponentType<any>;
|
|
45
|
+
};
|
|
46
|
+
export declare type LayerRadiusLegendProps = {
|
|
47
|
+
layer: Layer;
|
|
48
|
+
mapState?: MapState;
|
|
49
|
+
width: number;
|
|
50
|
+
isExport?: boolean;
|
|
51
|
+
visualChannel: VisualChannel;
|
|
52
|
+
};
|
|
53
|
+
export declare const LayerRadiusLegend: FC<LayerRadiusLegendProps>;
|
|
54
|
+
export declare type LayerLegendHeaderProps = {
|
|
55
|
+
layer: Layer;
|
|
56
|
+
options?: {
|
|
57
|
+
showLayerName?: boolean;
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
export declare function LayerLegendHeaderFactory(): React.FC<LayerLegendHeaderProps>;
|
|
61
|
+
export declare type LayerLegendContentProps = {
|
|
62
|
+
layer: Layer;
|
|
63
|
+
containerW: number;
|
|
64
|
+
mapState?: MapState;
|
|
65
|
+
disableEdit?: boolean;
|
|
66
|
+
isExport?: boolean;
|
|
67
|
+
onLayerVisConfigChange?: (oldLayer: Layer, newVisConfig: Partial<LayerVisConfig>) => void;
|
|
68
|
+
actionIcons: MapLegendIcons;
|
|
69
|
+
};
|
|
70
|
+
export declare function LayerLegendContentFactory(LayerColorLegend: ReturnType<typeof LayerColorLegendFactory>): React.FC<LayerLegendContentProps>;
|
|
71
|
+
export declare namespace LayerLegendContentFactory {
|
|
72
|
+
var deps: (typeof LayerColorLegendFactory)[];
|
|
73
|
+
}
|
|
74
|
+
export declare type MapLegendProps = {
|
|
75
|
+
layers?: ReadonlyArray<Layer>;
|
|
76
|
+
width?: number;
|
|
77
|
+
mapState?: MapState;
|
|
78
|
+
options?: {
|
|
79
|
+
showLayerName?: boolean;
|
|
80
|
+
};
|
|
81
|
+
disableEdit?: boolean;
|
|
82
|
+
isExport?: boolean;
|
|
83
|
+
onLayerVisConfigChange?: (oldLayer: Layer, newVisConfig: Partial<LayerVisConfig>) => void;
|
|
84
|
+
actionIcons: MapLegendIcons;
|
|
85
|
+
};
|
|
86
|
+
declare function MapLegendFactory(LayerLegendHeader: ReturnType<typeof LayerLegendHeaderFactory>, LayerLegendContent: ReturnType<typeof LayerLegendContentFactory>): React.FC<MapLegendProps>;
|
|
87
|
+
declare namespace MapLegendFactory {
|
|
88
|
+
var deps: (typeof LayerLegendContentFactory | typeof LayerLegendHeaderFactory)[];
|
|
89
|
+
}
|
|
90
|
+
export default MapLegendFactory;
|
|
@@ -0,0 +1,369 @@
|
|
|
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.LayerColorLegendFactory = LayerColorLegendFactory;
|
|
9
|
+
exports.LayerDefaultLegend = void 0;
|
|
10
|
+
exports.LayerLegendContentFactory = LayerLegendContentFactory;
|
|
11
|
+
exports.LayerLegendHeaderFactory = LayerLegendHeaderFactory;
|
|
12
|
+
exports.LayerRadiusLegend = void 0;
|
|
13
|
+
exports.SingleColorLegendFactory = SingleColorLegendFactory;
|
|
14
|
+
exports["default"] = exports.VisualChannelMetric = exports.StyledMapControlLegend = void 0;
|
|
15
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
16
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
18
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
19
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
20
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
21
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
22
|
+
var _d3Color = require("d3-color");
|
|
23
|
+
var _reactIntl = require("react-intl");
|
|
24
|
+
var _colorLegend = _interopRequireWildcard(require("../common/color-legend"));
|
|
25
|
+
var _radiusLegend = _interopRequireDefault(require("../common/radius-legend"));
|
|
26
|
+
var _constants = require("@kepler.gl/constants");
|
|
27
|
+
var _localization = require("@kepler.gl/localization");
|
|
28
|
+
var _viewportMercatorProject = require("viewport-mercator-project");
|
|
29
|
+
var _icons = require("../common/icons");
|
|
30
|
+
var _panelHeaderAction = _interopRequireDefault(require("../side-panel/panel-header-action"));
|
|
31
|
+
var _templateObject; // SPDX-License-Identifier: MIT
|
|
32
|
+
// Copyright contributors to the kepler.gl project
|
|
33
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
34
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
35
|
+
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; }
|
|
36
|
+
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; }
|
|
37
|
+
var StyledMapControlLegend = exports.StyledMapControlLegend = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n padding: 10px ", "px 10px\n ", "px;\n font-size: 11px;\n font-family: ", ";\n border-bottom-color: ", ";\n border-bottom-style: solid;\n border-bottom-width: ", ";\n width: ", "px;\n box-sizing: border-box;\n\n .legend--layer_name {\n font-size: 12px;\n padding-right: ", "px;\n color: ", ";\n font-weight: 500;\n }\n .legend--layer_type {\n color: ", ";\n font-weight: 500;\n font-size: 11px;\n padding-right: ", "px;\n }\n\n .legend--layer_size-title-row {\n display: flex;\n margin-top: 4px;\n padding-right: ", "px;\n align-items: center;\n }\n\n .legend--layer__title {\n }\n\n .legend--layer__item {\n padding-bottom: 4px;\n }\n .legend--layer_by {\n color: ", ";\n margin-top: 4px;\n }\n\n .legend--layer_color_field {\n color: ", ";\n font-weight: 500;\n }\n\n .legend--layer_color-legend {\n margin-top: 6px;\n }\n"])), function (props) {
|
|
38
|
+
return props.theme.mapControl.padding;
|
|
39
|
+
}, function (props) {
|
|
40
|
+
return props.theme.mapControl.padding;
|
|
41
|
+
}, function (props) {
|
|
42
|
+
return props.theme.fontFamily;
|
|
43
|
+
}, function (props) {
|
|
44
|
+
return props.theme.panelBorderColor;
|
|
45
|
+
}, function (props) {
|
|
46
|
+
return props.last ? 0 : '1px';
|
|
47
|
+
}, function (props) {
|
|
48
|
+
return props.width;
|
|
49
|
+
}, function (props) {
|
|
50
|
+
return props.theme.mapControl.padding;
|
|
51
|
+
}, function (props) {
|
|
52
|
+
return props.theme.textColor;
|
|
53
|
+
}, function (props) {
|
|
54
|
+
return props.theme.subtextColor;
|
|
55
|
+
}, function (props) {
|
|
56
|
+
return props.theme.mapControl.padding;
|
|
57
|
+
}, function (props) {
|
|
58
|
+
return props.theme.mapControl.padding;
|
|
59
|
+
}, function (props) {
|
|
60
|
+
return props.theme.subtextColor;
|
|
61
|
+
}, function (props) {
|
|
62
|
+
return props.theme.textColorHl;
|
|
63
|
+
});
|
|
64
|
+
var VisualChannelMetric = exports.VisualChannelMetric = function VisualChannelMetric(_ref) {
|
|
65
|
+
var name = _ref.name;
|
|
66
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
67
|
+
className: "legend--layer__title"
|
|
68
|
+
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
69
|
+
className: "legend--layer_color_field"
|
|
70
|
+
}, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
|
|
71
|
+
id: name
|
|
72
|
+
})));
|
|
73
|
+
};
|
|
74
|
+
var LayerDefaultLegend = exports.LayerDefaultLegend = function LayerDefaultLegend(_ref2) {
|
|
75
|
+
var label = _ref2.label,
|
|
76
|
+
name = _ref2.name;
|
|
77
|
+
return label ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
78
|
+
className: "legend--layer_size-schema"
|
|
79
|
+
}, /*#__PURE__*/_react["default"].createElement("p", null, /*#__PURE__*/_react["default"].createElement("span", {
|
|
80
|
+
className: "legend--layer_by"
|
|
81
|
+
}, label ? /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
|
|
82
|
+
id: label
|
|
83
|
+
}) : null), /*#__PURE__*/_react["default"].createElement("span", {
|
|
84
|
+
className: "legend--layer_by"
|
|
85
|
+
}, " by ")), name && /*#__PURE__*/_react["default"].createElement(VisualChannelMetric, {
|
|
86
|
+
name: name
|
|
87
|
+
})) : null;
|
|
88
|
+
};
|
|
89
|
+
SingleColorLegendFactory.deps = [_colorLegend.LegendRowFactory];
|
|
90
|
+
function SingleColorLegendFactory(LegendRow) {
|
|
91
|
+
var SingleColorLegend = function SingleColorLegend(_ref3) {
|
|
92
|
+
var color = _ref3.color,
|
|
93
|
+
label = _ref3.label;
|
|
94
|
+
return /*#__PURE__*/_react["default"].createElement(LegendRow, {
|
|
95
|
+
label: label !== null && label !== void 0 ? label : '',
|
|
96
|
+
displayLabel: Boolean(label),
|
|
97
|
+
color: Array.isArray(color) ? _d3Color.rgb.apply(void 0, (0, _toConsumableArray2["default"])(color)).toString() : color
|
|
98
|
+
});
|
|
99
|
+
};
|
|
100
|
+
SingleColorLegend.displayName = 'SingleColorLegend';
|
|
101
|
+
return /*#__PURE__*/_react["default"].memo(SingleColorLegend);
|
|
102
|
+
}
|
|
103
|
+
LayerColorLegendFactory.deps = [_colorLegend["default"], SingleColorLegendFactory, _panelHeaderAction["default"]];
|
|
104
|
+
function LayerColorLegendFactory(ColorLegend, SingleColorLegend, PanelHeaderAction) {
|
|
105
|
+
var LayerColorLegend = function LayerColorLegend(_ref4) {
|
|
106
|
+
var description = _ref4.description,
|
|
107
|
+
config = _ref4.config,
|
|
108
|
+
layer = _ref4.layer,
|
|
109
|
+
colorChannel = _ref4.colorChannel,
|
|
110
|
+
disableEdit = _ref4.disableEdit,
|
|
111
|
+
onLayerVisConfigChange = _ref4.onLayerVisConfigChange,
|
|
112
|
+
isExport = _ref4.isExport,
|
|
113
|
+
mapState = _ref4.mapState,
|
|
114
|
+
actionIcons = _ref4.actionIcons;
|
|
115
|
+
var intl = (0, _reactIntl.useIntl)();
|
|
116
|
+
var enableColorBy = description.measure;
|
|
117
|
+
var scale = colorChannel.scale,
|
|
118
|
+
field = colorChannel.field,
|
|
119
|
+
domain = colorChannel.domain,
|
|
120
|
+
range = colorChannel.range,
|
|
121
|
+
property = colorChannel.property,
|
|
122
|
+
fixed = colorChannel.fixed;
|
|
123
|
+
var _map = [scale, field, domain].map(function (k) {
|
|
124
|
+
return config[k];
|
|
125
|
+
}),
|
|
126
|
+
_map2 = (0, _slicedToArray2["default"])(_map, 3),
|
|
127
|
+
colorScale = _map2[0],
|
|
128
|
+
colorField = _map2[1],
|
|
129
|
+
colorDomain = _map2[2];
|
|
130
|
+
var isFixed = fixed && config.visConfig[fixed];
|
|
131
|
+
var colorRange = config.visConfig[range];
|
|
132
|
+
var onUpdateColorLegend = (0, _react.useCallback)(function (colorLegends) {
|
|
133
|
+
if (onLayerVisConfigChange) {
|
|
134
|
+
onLayerVisConfigChange(layer, (0, _defineProperty2["default"])({}, range, _objectSpread(_objectSpread({}, colorRange), {}, {
|
|
135
|
+
colorLegends: colorLegends
|
|
136
|
+
})));
|
|
137
|
+
}
|
|
138
|
+
}, [layer, onLayerVisConfigChange, colorRange, range]);
|
|
139
|
+
var _useState = (0, _react.useState)(isExport),
|
|
140
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
141
|
+
isExpanded = _useState2[0],
|
|
142
|
+
setIsExpanded = _useState2[1];
|
|
143
|
+
var handleToggleExpanded = function handleToggleExpanded() {
|
|
144
|
+
return setIsExpanded(!isExpanded);
|
|
145
|
+
};
|
|
146
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
147
|
+
className: "legend--layer__item"
|
|
148
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
149
|
+
className: "legend--layer_color-schema"
|
|
150
|
+
}, /*#__PURE__*/_react["default"].createElement("div", null, enableColorBy ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
151
|
+
className: "legend--layer_size-title-row"
|
|
152
|
+
}, /*#__PURE__*/_react["default"].createElement(VisualChannelMetric, {
|
|
153
|
+
name: enableColorBy
|
|
154
|
+
}), !isExport ? /*#__PURE__*/_react["default"].createElement(PanelHeaderAction, {
|
|
155
|
+
id: "legend-collapse-button",
|
|
156
|
+
onClick: handleToggleExpanded,
|
|
157
|
+
IconComponent: isExpanded ? actionIcons.expanded : actionIcons.collapsed
|
|
158
|
+
}) : null) : null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
159
|
+
className: "legend--layer_color-legend"
|
|
160
|
+
}, enableColorBy ? /*#__PURE__*/_react["default"].createElement(ColorLegend, {
|
|
161
|
+
layer: layer,
|
|
162
|
+
isExpanded: isExpanded,
|
|
163
|
+
scaleType: colorScale,
|
|
164
|
+
displayLabel: true,
|
|
165
|
+
domain: colorDomain,
|
|
166
|
+
fieldType: colorField && colorField.type || 'real',
|
|
167
|
+
range: colorRange,
|
|
168
|
+
onUpdateColorLegend: onUpdateColorLegend,
|
|
169
|
+
disableEdit: disableEdit,
|
|
170
|
+
isFixed: isFixed,
|
|
171
|
+
mapState: mapState
|
|
172
|
+
}) : /*#__PURE__*/_react["default"].createElement(SingleColorLegend, {
|
|
173
|
+
color: config.visConfig[property] || config[property] || config.color,
|
|
174
|
+
label: intl.formatMessage({
|
|
175
|
+
id: "mapLegend.layers.".concat(layer.type, ".singleColor.").concat(colorChannel.key),
|
|
176
|
+
defaultMessage: intl.formatMessage({
|
|
177
|
+
id: "mapLegend.layers.default.singleColor.".concat(colorChannel.key),
|
|
178
|
+
defaultMessage: ' ' // mustn't be empty string or id will be used
|
|
179
|
+
})
|
|
180
|
+
})
|
|
181
|
+
})))));
|
|
182
|
+
};
|
|
183
|
+
LayerColorLegend.displayName = 'LayerColorLegend';
|
|
184
|
+
return /*#__PURE__*/_react["default"].memo(LayerColorLegend);
|
|
185
|
+
}
|
|
186
|
+
function getLayerRadiusScaleMetersToPixelsMultiplier(layer, mapState) {
|
|
187
|
+
// @ts-ignore this actually exist
|
|
188
|
+
var _getDistanceScales = (0, _viewportMercatorProject.getDistanceScales)(mapState),
|
|
189
|
+
metersPerPixel = _getDistanceScales.metersPerPixel;
|
|
190
|
+
// if no field size is defined we need to pass fixed radius = false
|
|
191
|
+
var fixedRadius = layer.config.visConfig.fixedRadius && Boolean(layer.config.sizeField);
|
|
192
|
+
return layer.getRadiusScaleByZoom(mapState, fixedRadius) / metersPerPixel[0];
|
|
193
|
+
}
|
|
194
|
+
var LayerRadiusLegend = exports.LayerRadiusLegend = /*#__PURE__*/_react["default"].memo(function (_ref5) {
|
|
195
|
+
var layer = _ref5.layer,
|
|
196
|
+
width = _ref5.width,
|
|
197
|
+
visualChannel = _ref5.visualChannel,
|
|
198
|
+
mapState = _ref5.mapState;
|
|
199
|
+
var description = layer.getVisualChannelDescription(visualChannel.key);
|
|
200
|
+
var config = layer.config;
|
|
201
|
+
var enableSizeBy = description.measure;
|
|
202
|
+
var scale = visualChannel.scale,
|
|
203
|
+
field = visualChannel.field,
|
|
204
|
+
domain = visualChannel.domain,
|
|
205
|
+
range = visualChannel.range;
|
|
206
|
+
var _map3 = [scale, field, domain].map(function (k) {
|
|
207
|
+
return config[k];
|
|
208
|
+
}),
|
|
209
|
+
_map4 = (0, _slicedToArray2["default"])(_map3, 3),
|
|
210
|
+
sizeScale = _map4[0],
|
|
211
|
+
sizeField = _map4[1],
|
|
212
|
+
sizeDomain = _map4[2];
|
|
213
|
+
var sizeRange = config.visConfig[range];
|
|
214
|
+
if (mapState) {
|
|
215
|
+
var radiusMultiplier = getLayerRadiusScaleMetersToPixelsMultiplier(layer, mapState);
|
|
216
|
+
sizeRange = sizeRange.map(function (v) {
|
|
217
|
+
return v * radiusMultiplier;
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
221
|
+
className: "legend--layer_size-schema"
|
|
222
|
+
}, /*#__PURE__*/_react["default"].createElement("div", null, enableSizeBy ? /*#__PURE__*/_react["default"].createElement(VisualChannelMetric, {
|
|
223
|
+
name: enableSizeBy
|
|
224
|
+
}) : null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
225
|
+
className: "legend--layer_size-legend"
|
|
226
|
+
}, enableSizeBy ? /*#__PURE__*/_react["default"].createElement(_radiusLegend["default"], {
|
|
227
|
+
scaleType: sizeScale,
|
|
228
|
+
domain: sizeDomain,
|
|
229
|
+
fieldType: sizeField && sizeField.type || 'real',
|
|
230
|
+
range: sizeRange,
|
|
231
|
+
width: width
|
|
232
|
+
}) : null))));
|
|
233
|
+
});
|
|
234
|
+
var isColorChannel = function isColorChannel(visualChannel) {
|
|
235
|
+
return [_constants.CHANNEL_SCALES.color, _constants.CHANNEL_SCALES.colorAggr].includes(visualChannel.channelScaleType);
|
|
236
|
+
};
|
|
237
|
+
var isRadiusChannel = function isRadiusChannel(visualChannel) {
|
|
238
|
+
return [_constants.CHANNEL_SCALES.radius].includes(visualChannel.channelScaleType);
|
|
239
|
+
};
|
|
240
|
+
function LayerLegendHeaderFactory() {
|
|
241
|
+
var LayerLegendHeader = function LayerLegendHeader(_ref6) {
|
|
242
|
+
var options = _ref6.options,
|
|
243
|
+
layer = _ref6.layer;
|
|
244
|
+
return (options === null || options === void 0 ? void 0 : options.showLayerName) !== false ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
245
|
+
className: "legend--layer_name"
|
|
246
|
+
}, layer.config.label) : null;
|
|
247
|
+
};
|
|
248
|
+
return LayerLegendHeader;
|
|
249
|
+
}
|
|
250
|
+
var defaultActionIcons = {
|
|
251
|
+
expanded: _icons.ArrowDown,
|
|
252
|
+
collapsed: _icons.ArrowRight
|
|
253
|
+
};
|
|
254
|
+
LayerLegendContentFactory.deps = [LayerColorLegendFactory];
|
|
255
|
+
function LayerLegendContentFactory(LayerColorLegend) {
|
|
256
|
+
var LayerLegendContent = function LayerLegendContent(_ref7) {
|
|
257
|
+
var layer = _ref7.layer,
|
|
258
|
+
containerW = _ref7.containerW,
|
|
259
|
+
mapState = _ref7.mapState,
|
|
260
|
+
disableEdit = _ref7.disableEdit,
|
|
261
|
+
isExport = _ref7.isExport,
|
|
262
|
+
onLayerVisConfigChange = _ref7.onLayerVisConfigChange,
|
|
263
|
+
actionIcons = _ref7.actionIcons;
|
|
264
|
+
var visualChannels = layer.getLegendVisualChannels();
|
|
265
|
+
var channelKeys = Object.values(visualChannels);
|
|
266
|
+
var colorChannels = channelKeys.filter(isColorChannel);
|
|
267
|
+
var nonColorChannels = channelKeys.filter(function (vc) {
|
|
268
|
+
return !isColorChannel(vc);
|
|
269
|
+
});
|
|
270
|
+
var width = containerW - 2 * _constants.DIMENSIONS.mapControl.padding;
|
|
271
|
+
|
|
272
|
+
// render color by chanel only
|
|
273
|
+
var colorChannelToRender = colorChannels.filter(function (cc) {
|
|
274
|
+
var _layer$getVisualChann;
|
|
275
|
+
return (!cc.condition || cc.condition(layer.config)) && ((_layer$getVisualChann = layer.getVisualChannelDescription(cc.key)) === null || _layer$getVisualChann === void 0 ? void 0 : _layer$getVisualChann.measure);
|
|
276
|
+
});
|
|
277
|
+
// if no color by chanel, render rest
|
|
278
|
+
if (!colorChannelToRender.length) {
|
|
279
|
+
colorChannelToRender = colorChannels.filter(function (cc) {
|
|
280
|
+
return !cc.condition || cc.condition(layer.config);
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, colorChannelToRender.map(function (colorChannel) {
|
|
284
|
+
return /*#__PURE__*/_react["default"].createElement(LayerColorLegend, {
|
|
285
|
+
key: colorChannel.key,
|
|
286
|
+
colorChannel: colorChannel,
|
|
287
|
+
config: layer.config,
|
|
288
|
+
description: layer.getVisualChannelDescription(colorChannel.key),
|
|
289
|
+
layer: layer,
|
|
290
|
+
isExport: isExport,
|
|
291
|
+
disableEdit: disableEdit,
|
|
292
|
+
mapState: mapState,
|
|
293
|
+
onLayerVisConfigChange: onLayerVisConfigChange,
|
|
294
|
+
actionIcons: actionIcons
|
|
295
|
+
});
|
|
296
|
+
}), nonColorChannels.map(function (visualChannel) {
|
|
297
|
+
var matchCondition = !visualChannel.condition || visualChannel.condition(layer.config);
|
|
298
|
+
var enabled = layer.config[visualChannel.field] || visualChannel.defaultMeasure;
|
|
299
|
+
if (matchCondition && enabled) {
|
|
300
|
+
var description = layer.getVisualChannelDescription(visualChannel.key);
|
|
301
|
+
if (isRadiusChannel(visualChannel)) {
|
|
302
|
+
return /*#__PURE__*/_react["default"].createElement(LayerRadiusLegend, {
|
|
303
|
+
key: visualChannel.key,
|
|
304
|
+
layer: layer,
|
|
305
|
+
mapState: mapState,
|
|
306
|
+
width: width,
|
|
307
|
+
visualChannel: visualChannel
|
|
308
|
+
});
|
|
309
|
+
}
|
|
310
|
+
return /*#__PURE__*/_react["default"].createElement(LayerDefaultLegend, {
|
|
311
|
+
key: visualChannel.key,
|
|
312
|
+
label: description.label,
|
|
313
|
+
name: description.measure
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
return null;
|
|
317
|
+
}));
|
|
318
|
+
};
|
|
319
|
+
return LayerLegendContent;
|
|
320
|
+
}
|
|
321
|
+
MapLegendFactory.deps = [LayerLegendHeaderFactory, LayerLegendContentFactory];
|
|
322
|
+
function MapLegendFactory(LayerLegendHeader, LayerLegendContent) {
|
|
323
|
+
var MapLegend = function MapLegend(_ref8) {
|
|
324
|
+
var _ref8$layers = _ref8.layers,
|
|
325
|
+
layers = _ref8$layers === void 0 ? [] : _ref8$layers,
|
|
326
|
+
width = _ref8.width,
|
|
327
|
+
mapState = _ref8.mapState,
|
|
328
|
+
options = _ref8.options,
|
|
329
|
+
disableEdit = _ref8.disableEdit,
|
|
330
|
+
isExport = _ref8.isExport,
|
|
331
|
+
onLayerVisConfigChange = _ref8.onLayerVisConfigChange,
|
|
332
|
+
_ref8$actionIcons = _ref8.actionIcons,
|
|
333
|
+
actionIcons = _ref8$actionIcons === void 0 ? defaultActionIcons : _ref8$actionIcons;
|
|
334
|
+
return /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({
|
|
335
|
+
className: "map-legend"
|
|
336
|
+
}, (mapState === null || mapState === void 0 ? void 0 : mapState.height) && {
|
|
337
|
+
style: {
|
|
338
|
+
/* subtracting rough size of 4 map control buttons and padding */
|
|
339
|
+
maxHeight: mapState.height - (isExport ? 0 : 250)
|
|
340
|
+
}
|
|
341
|
+
}), layers.map(function (layer, index) {
|
|
342
|
+
if (!layer.isValidToSave() || layer.config.hidden) {
|
|
343
|
+
return null;
|
|
344
|
+
}
|
|
345
|
+
var containerW = width || _constants.DIMENSIONS.mapControl.width;
|
|
346
|
+
return /*#__PURE__*/_react["default"].createElement(StyledMapControlLegend, {
|
|
347
|
+
className: "legend--layer",
|
|
348
|
+
last: index === layers.length - 1,
|
|
349
|
+
key: index,
|
|
350
|
+
width: containerW
|
|
351
|
+
}, /*#__PURE__*/_react["default"].createElement(LayerLegendHeader, {
|
|
352
|
+
options: options,
|
|
353
|
+
layer: layer
|
|
354
|
+
}), /*#__PURE__*/_react["default"].createElement(LayerLegendContent, {
|
|
355
|
+
containerW: containerW,
|
|
356
|
+
layer: layer,
|
|
357
|
+
mapState: mapState,
|
|
358
|
+
disableEdit: disableEdit,
|
|
359
|
+
isExport: isExport,
|
|
360
|
+
onLayerVisConfigChange: onLayerVisConfigChange,
|
|
361
|
+
actionIcons: actionIcons
|
|
362
|
+
}));
|
|
363
|
+
}));
|
|
364
|
+
};
|
|
365
|
+
MapLegend.displayName = 'MapLegend';
|
|
366
|
+
return MapLegend;
|
|
367
|
+
}
|
|
368
|
+
var _default = exports["default"] = MapLegendFactory;
|
|
369
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfZDNDb2xvciIsIl9yZWFjdEludGwiLCJfY29sb3JMZWdlbmQiLCJfcmFkaXVzTGVnZW5kIiwiX2NvbnN0YW50cyIsIl9sb2NhbGl6YXRpb24iLCJfdmlld3BvcnRNZXJjYXRvclByb2plY3QiLCJfaWNvbnMiLCJfcGFuZWxIZWFkZXJBY3Rpb24iLCJfdGVtcGxhdGVPYmplY3QiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJTdHlsZWRNYXBDb250cm9sTGVnZW5kIiwiZXhwb3J0cyIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJ0aGVtZSIsIm1hcENvbnRyb2wiLCJwYWRkaW5nIiwiZm9udEZhbWlseSIsInBhbmVsQm9yZGVyQ29sb3IiLCJsYXN0Iiwid2lkdGgiLCJ0ZXh0Q29sb3IiLCJzdWJ0ZXh0Q29sb3IiLCJ0ZXh0Q29sb3JIbCIsIlZpc3VhbENoYW5uZWxNZXRyaWMiLCJfcmVmIiwibmFtZSIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJGb3JtYXR0ZWRNZXNzYWdlIiwiaWQiLCJMYXllckRlZmF1bHRMZWdlbmQiLCJfcmVmMiIsImxhYmVsIiwiU2luZ2xlQ29sb3JMZWdlbmRGYWN0b3J5IiwiZGVwcyIsIkxlZ2VuZFJvd0ZhY3RvcnkiLCJMZWdlbmRSb3ciLCJTaW5nbGVDb2xvckxlZ2VuZCIsIl9yZWYzIiwiY29sb3IiLCJkaXNwbGF5TGFiZWwiLCJCb29sZWFuIiwiQXJyYXkiLCJpc0FycmF5IiwicmdiIiwiX3RvQ29uc3VtYWJsZUFycmF5MiIsInRvU3RyaW5nIiwiZGlzcGxheU5hbWUiLCJSZWFjdCIsIm1lbW8iLCJMYXllckNvbG9yTGVnZW5kRmFjdG9yeSIsIkNvbG9yTGVnZW5kRmFjdG9yeSIsIlBhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeSIsIkNvbG9yTGVnZW5kIiwiUGFuZWxIZWFkZXJBY3Rpb24iLCJMYXllckNvbG9yTGVnZW5kIiwiX3JlZjQiLCJkZXNjcmlwdGlvbiIsImNvbmZpZyIsImxheWVyIiwiY29sb3JDaGFubmVsIiwiZGlzYWJsZUVkaXQiLCJvbkxheWVyVmlzQ29uZmlnQ2hhbmdlIiwiaXNFeHBvcnQiLCJtYXBTdGF0ZSIsImFjdGlvbkljb25zIiwiaW50bCIsInVzZUludGwiLCJlbmFibGVDb2xvckJ5IiwibWVhc3VyZSIsInNjYWxlIiwiZmllbGQiLCJkb21haW4iLCJyYW5nZSIsInByb3BlcnR5IiwiZml4ZWQiLCJfbWFwIiwibWFwIiwiayIsIl9tYXAyIiwiX3NsaWNlZFRvQXJyYXkyIiwiY29sb3JTY2FsZSIsImNvbG9yRmllbGQiLCJjb2xvckRvbWFpbiIsImlzRml4ZWQiLCJ2aXNDb25maWciLCJjb2xvclJhbmdlIiwib25VcGRhdGVDb2xvckxlZ2VuZCIsInVzZUNhbGxiYWNrIiwiY29sb3JMZWdlbmRzIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiaXNFeHBhbmRlZCIsInNldElzRXhwYW5kZWQiLCJoYW5kbGVUb2dnbGVFeHBhbmRlZCIsIm9uQ2xpY2siLCJJY29uQ29tcG9uZW50IiwiZXhwYW5kZWQiLCJjb2xsYXBzZWQiLCJzY2FsZVR5cGUiLCJmaWVsZFR5cGUiLCJ0eXBlIiwiZm9ybWF0TWVzc2FnZSIsImNvbmNhdCIsImtleSIsImRlZmF1bHRNZXNzYWdlIiwiZ2V0TGF5ZXJSYWRpdXNTY2FsZU1ldGVyc1RvUGl4ZWxzTXVsdGlwbGllciIsIl9nZXREaXN0YW5jZVNjYWxlcyIsImdldERpc3RhbmNlU2NhbGVzIiwibWV0ZXJzUGVyUGl4ZWwiLCJmaXhlZFJhZGl1cyIsInNpemVGaWVsZCIsImdldFJhZGl1c1NjYWxlQnlab29tIiwiTGF5ZXJSYWRpdXNMZWdlbmQiLCJfcmVmNSIsInZpc3VhbENoYW5uZWwiLCJnZXRWaXN1YWxDaGFubmVsRGVzY3JpcHRpb24iLCJlbmFibGVTaXplQnkiLCJfbWFwMyIsIl9tYXA0Iiwic2l6ZVNjYWxlIiwic2l6ZURvbWFpbiIsInNpemVSYW5nZSIsInJhZGl1c011bHRpcGxpZXIiLCJ2IiwiaXNDb2xvckNoYW5uZWwiLCJDSEFOTkVMX1NDQUxFUyIsImNvbG9yQWdnciIsImluY2x1ZGVzIiwiY2hhbm5lbFNjYWxlVHlwZSIsImlzUmFkaXVzQ2hhbm5lbCIsInJhZGl1cyIsIkxheWVyTGVnZW5kSGVhZGVyRmFjdG9yeSIsIkxheWVyTGVnZW5kSGVhZGVyIiwiX3JlZjYiLCJvcHRpb25zIiwic2hvd0xheWVyTmFtZSIsImRlZmF1bHRBY3Rpb25JY29ucyIsIkFycm93RG93biIsIkFycm93UmlnaHQiLCJMYXllckxlZ2VuZENvbnRlbnRGYWN0b3J5IiwiTGF5ZXJMZWdlbmRDb250ZW50IiwiX3JlZjciLCJjb250YWluZXJXIiwidmlzdWFsQ2hhbm5lbHMiLCJnZXRMZWdlbmRWaXN1YWxDaGFubmVscyIsImNoYW5uZWxLZXlzIiwidmFsdWVzIiwiY29sb3JDaGFubmVscyIsIm5vbkNvbG9yQ2hhbm5lbHMiLCJ2YyIsIkRJTUVOU0lPTlMiLCJjb2xvckNoYW5uZWxUb1JlbmRlciIsImNjIiwiX2xheWVyJGdldFZpc3VhbENoYW5uIiwiY29uZGl0aW9uIiwiRnJhZ21lbnQiLCJtYXRjaENvbmRpdGlvbiIsImVuYWJsZWQiLCJkZWZhdWx0TWVhc3VyZSIsIk1hcExlZ2VuZEZhY3RvcnkiLCJNYXBMZWdlbmQiLCJfcmVmOCIsIl9yZWY4JGxheWVycyIsImxheWVycyIsIl9yZWY4JGFjdGlvbkljb25zIiwiX2V4dGVuZHMyIiwiaGVpZ2h0Iiwic3R5bGUiLCJtYXhIZWlnaHQiLCJpbmRleCIsImlzVmFsaWRUb1NhdmUiLCJoaWRkZW4iLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXAvbWFwLWxlZ2VuZC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7RkMsIHVzZUNhbGxiYWNrLCB1c2VTdGF0ZSwgQ29tcG9uZW50VHlwZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge3JnYn0gZnJvbSAnZDMtY29sb3InO1xuaW1wb3J0IHt1c2VJbnRsfSBmcm9tICdyZWFjdC1pbnRsJztcbmltcG9ydCBDb2xvckxlZ2VuZEZhY3RvcnksIHtMZWdlbmRSb3dGYWN0b3J5fSBmcm9tICcuLi9jb21tb24vY29sb3ItbGVnZW5kJztcbmltcG9ydCBSYWRpdXNMZWdlbmQgZnJvbSAnLi4vY29tbW9uL3JhZGl1cy1sZWdlbmQnO1xuaW1wb3J0IHtDSEFOTkVMX1NDQUxFUywgRElNRU5TSU9OU30gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdAa2VwbGVyLmdsL2xvY2FsaXphdGlvbic7XG5pbXBvcnQge0xheWVyLCBMYXllckJhc2VDb25maWcsIFZpc3VhbENoYW5uZWwsIFZpc3VhbENoYW5uZWxEZXNjcmlwdGlvbn0gZnJvbSAnQGtlcGxlci5nbC9sYXllcnMnO1xuaW1wb3J0IHtMYXllclZpc0NvbmZpZywgTWFwU3RhdGUsIFJHQkNvbG9yfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7Z2V0RGlzdGFuY2VTY2FsZXN9IGZyb20gJ3ZpZXdwb3J0LW1lcmNhdG9yLXByb2plY3QnO1xuaW1wb3J0IHtBcnJvd0Rvd24sIEFycm93UmlnaHR9IGZyb20gJy4uL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQgUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5IGZyb20gJy4uL3NpZGUtcGFuZWwvcGFuZWwtaGVhZGVyLWFjdGlvbic7XG5cbmludGVyZmFjZSBTdHlsZWRNYXBDb250cm9sTGVnZW5kUHJvcHMge1xuICB3aWR0aD86IG51bWJlcjtcbiAgbGFzdD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNYXBDb250cm9sTGVnZW5kID0gc3R5bGVkLmRpdjxTdHlsZWRNYXBDb250cm9sTGVnZW5kUHJvcHM+YFxuICBwYWRkaW5nOiAxMHB4ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubWFwQ29udHJvbC5wYWRkaW5nfXB4IDEwcHhcbiAgICAke3Byb3BzID0+IHByb3BzLnRoZW1lLm1hcENvbnRyb2wucGFkZGluZ31weDtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mb250RmFtaWx5fTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJvcmRlckNvbG9yfTtcbiAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6ICR7cHJvcHMgPT4gKHByb3BzLmxhc3QgPyAwIDogJzFweCcpfTtcbiAgd2lkdGg6ICR7cHJvcHMgPT4gcHJvcHMud2lkdGh9cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgLmxlZ2VuZC0tbGF5ZXJfbmFtZSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubWFwQ29udHJvbC5wYWRkaW5nfXB4O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuICAubGVnZW5kLS1sYXllcl90eXBlIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zdWJ0ZXh0Q29sb3J9O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubWFwQ29udHJvbC5wYWRkaW5nfXB4O1xuICB9XG5cbiAgLmxlZ2VuZC0tbGF5ZXJfc2l6ZS10aXRsZS1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubWFwQ29udHJvbC5wYWRkaW5nfXB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAubGVnZW5kLS1sYXllcl9fdGl0bGUge1xuICB9XG5cbiAgLmxlZ2VuZC0tbGF5ZXJfX2l0ZW0ge1xuICAgIHBhZGRpbmctYm90dG9tOiA0cHg7XG4gIH1cbiAgLmxlZ2VuZC0tbGF5ZXJfYnkge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnN1YnRleHRDb2xvcn07XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICB9XG5cbiAgLmxlZ2VuZC0tbGF5ZXJfY29sb3JfZmllbGQge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG5cbiAgLmxlZ2VuZC0tbGF5ZXJfY29sb3ItbGVnZW5kIHtcbiAgICBtYXJnaW4tdG9wOiA2cHg7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBWaXN1YWxDaGFubmVsTWV0cmljID0gKHtuYW1lfSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwibGVnZW5kLS1sYXllcl9fdGl0bGVcIj5cbiAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImxlZ2VuZC0tbGF5ZXJfY29sb3JfZmllbGRcIj5cbiAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9e25hbWV9IC8+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgdHlwZSBMYXllclNpemVMZWdlbmRQcm9wcyA9IHtcbiAgbGFiZWw6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IGNvbnN0IExheWVyRGVmYXVsdExlZ2VuZDogUmVhY3QuRkM8TGF5ZXJTaXplTGVnZW5kUHJvcHM+ID0gKHtsYWJlbCwgbmFtZX0pID0+XG4gIGxhYmVsID8gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwibGVnZW5kLS1sYXllcl9zaXplLXNjaGVtYVwiPlxuICAgICAgPHA+XG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImxlZ2VuZC0tbGF5ZXJfYnlcIj57bGFiZWwgPyA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17bGFiZWx9IC8+IDogbnVsbH08L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImxlZ2VuZC0tbGF5ZXJfYnlcIj4gYnkgPC9zcGFuPlxuICAgICAgPC9wPlxuICAgICAge25hbWUgJiYgPFZpc3VhbENoYW5uZWxNZXRyaWMgbmFtZT17bmFtZX0gLz59XG4gICAgPC9kaXY+XG4gICkgOiBudWxsO1xuXG5leHBvcnQgdHlwZSBTaW5nbGVDb2xvckxlZ2VuZFByb3BzID0ge1xuICBjb2xvcjogUkdCQ29sb3I7XG4gIGxhYmVsPzogc3RyaW5nO1xufTtcblxuU2luZ2xlQ29sb3JMZWdlbmRGYWN0b3J5LmRlcHMgPSBbTGVnZW5kUm93RmFjdG9yeV07XG5cbmV4cG9ydCBmdW5jdGlvbiBTaW5nbGVDb2xvckxlZ2VuZEZhY3RvcnkoTGVnZW5kUm93OiBSZXR1cm5UeXBlPHR5cGVvZiBMZWdlbmRSb3dGYWN0b3J5Pikge1xuICBjb25zdCBTaW5nbGVDb2xvckxlZ2VuZDogUmVhY3QuRkM8U2luZ2xlQ29sb3JMZWdlbmRQcm9wcz4gPSAoe2NvbG9yLCBsYWJlbH0pID0+IChcbiAgICA8TGVnZW5kUm93XG4gICAgICBsYWJlbD17bGFiZWwgPz8gJyd9XG4gICAgICBkaXNwbGF5TGFiZWw9e0Jvb2xlYW4obGFiZWwpfVxuICAgICAgY29sb3I9e0FycmF5LmlzQXJyYXkoY29sb3IpID8gcmdiKC4uLmNvbG9yKS50b1N0cmluZygpIDogY29sb3J9XG4gICAgLz5cbiAgKTtcblxuICBTaW5nbGVDb2xvckxlZ2VuZC5kaXNwbGF5TmFtZSA9ICdTaW5nbGVDb2xvckxlZ2VuZCc7XG5cbiAgcmV0dXJuIFJlYWN0Lm1lbW8oU2luZ2xlQ29sb3JMZWdlbmQpO1xufVxuXG5leHBvcnQgdHlwZSBMYXllckNvbG9yTGVnZW5kUHJvcHMgPSB7XG4gIGRlc2NyaXB0aW9uOiBWaXN1YWxDaGFubmVsRGVzY3JpcHRpb247XG4gIGNvbmZpZzogTGF5ZXJCYXNlQ29uZmlnO1xuICBjb2xvckNoYW5uZWw6IFZpc3VhbENoYW5uZWw7XG4gIG9uTGF5ZXJWaXNDb25maWdDaGFuZ2U/OiAob2xkTGF5ZXI6IExheWVyLCBuZXdWaXNDb25maWc6IFBhcnRpYWw8TGF5ZXJWaXNDb25maWc+KSA9PiB2b2lkO1xuICBsYXllcjogTGF5ZXI7XG4gIGRpc2FibGVFZGl0PzogYm9vbGVhbjtcbiAgaXNFeHBvcnQ/OiBib29sZWFuO1xuICBtYXBTdGF0ZT86IE1hcFN0YXRlO1xuICBhY3Rpb25JY29uczogTWFwTGVnZW5kSWNvbnM7XG59O1xuXG5MYXllckNvbG9yTGVnZW5kRmFjdG9yeS5kZXBzID0gW1xuICBDb2xvckxlZ2VuZEZhY3RvcnksXG4gIFNpbmdsZUNvbG9yTGVnZW5kRmFjdG9yeSxcbiAgUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5XG5dO1xuZXhwb3J0IGZ1bmN0aW9uIExheWVyQ29sb3JMZWdlbmRGYWN0b3J5KFxuICBDb2xvckxlZ2VuZDogUmV0dXJuVHlwZTx0eXBlb2YgQ29sb3JMZWdlbmRGYWN0b3J5PixcbiAgU2luZ2xlQ29sb3JMZWdlbmQ6IFJldHVyblR5cGU8dHlwZW9mIFNpbmdsZUNvbG9yTGVnZW5kRmFjdG9yeT4sXG4gIFBhbmVsSGVhZGVyQWN0aW9uOiBSZXR1cm5UeXBlPHR5cGVvZiBQYW5lbEhlYWRlckFjdGlvbkZhY3Rvcnk+XG4pIHtcbiAgY29uc3QgTGF5ZXJDb2xvckxlZ2VuZDogUmVhY3QuRkM8TGF5ZXJDb2xvckxlZ2VuZFByb3BzPiA9ICh7XG4gICAgZGVzY3JpcHRpb24sXG4gICAgY29uZmlnLFxuICAgIGxheWVyLFxuICAgIGNvbG9yQ2hhbm5lbCxcbiAgICBkaXNhYmxlRWRpdCxcbiAgICBvbkxheWVyVmlzQ29uZmlnQ2hhbmdlLFxuICAgIGlzRXhwb3J0LFxuICAgIG1hcFN0YXRlLFxuICAgIGFjdGlvbkljb25zXG4gIH0pID0+IHtcbiAgICBjb25zdCBpbnRsID0gdXNlSW50bCgpO1xuICAgIGNvbnN0IGVuYWJsZUNvbG9yQnkgPSBkZXNjcmlwdGlvbi5tZWFzdXJlO1xuICAgIGNvbnN0IHtzY2FsZSwgZmllbGQsIGRvbWFpbiwgcmFuZ2UsIHByb3BlcnR5LCBmaXhlZH0gPSBjb2xvckNoYW5uZWw7XG4gICAgY29uc3QgW2NvbG9yU2NhbGUsIGNvbG9yRmllbGQsIGNvbG9yRG9tYWluXSA9IFtzY2FsZSwgZmllbGQsIGRvbWFpbl0ubWFwKGsgPT4gY29uZmlnW2tdKTtcbiAgICBjb25zdCBpc0ZpeGVkID0gZml4ZWQgJiYgY29uZmlnLnZpc0NvbmZpZ1tmaXhlZF07XG5cbiAgICBjb25zdCBjb2xvclJhbmdlID0gY29uZmlnLnZpc0NvbmZpZ1tyYW5nZV07XG4gICAgY29uc3Qgb25VcGRhdGVDb2xvckxlZ2VuZCA9IHVzZUNhbGxiYWNrKFxuICAgICAgY29sb3JMZWdlbmRzID0+IHtcbiAgICAgICAgaWYgKG9uTGF5ZXJWaXNDb25maWdDaGFuZ2UpIHtcbiAgICAgICAgICBvbkxheWVyVmlzQ29uZmlnQ2hhbmdlKGxheWVyLCB7XG4gICAgICAgICAgICBbcmFuZ2VdOiB7XG4gICAgICAgICAgICAgIC4uLmNvbG9yUmFuZ2UsXG4gICAgICAgICAgICAgIGNvbG9yTGVnZW5kc1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgW2xheWVyLCBvbkxheWVyVmlzQ29uZmlnQ2hhbmdlLCBjb2xvclJhbmdlLCByYW5nZV1cbiAgICApO1xuICAgIGNvbnN0IFtpc0V4cGFuZGVkLCBzZXRJc0V4cGFuZGVkXSA9IHVzZVN0YXRlKGlzRXhwb3J0KTtcbiAgICBjb25zdCBoYW5kbGVUb2dnbGVFeHBhbmRlZCA9ICgpID0+IHNldElzRXhwYW5kZWQoIWlzRXhwYW5kZWQpO1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImxlZ2VuZC0tbGF5ZXJfX2l0ZW1cIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsZWdlbmQtLWxheWVyX2NvbG9yLXNjaGVtYVwiPlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICB7ZW5hYmxlQ29sb3JCeSA/IChcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsZWdlbmQtLWxheWVyX3NpemUtdGl0bGUtcm93XCI+XG4gICAgICAgICAgICAgICAgPFZpc3VhbENoYW5uZWxNZXRyaWMgbmFtZT17ZW5hYmxlQ29sb3JCeX0gLz5cbiAgICAgICAgICAgICAgICB7IWlzRXhwb3J0ID8gKFxuICAgICAgICAgICAgICAgICAgPFBhbmVsSGVhZGVyQWN0aW9uXG4gICAgICAgICAgICAgICAgICAgIGlkPVwibGVnZW5kLWNvbGxhcHNlLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVRvZ2dsZUV4cGFuZGVkfVxuICAgICAgICAgICAgICAgICAgICBJY29uQ29tcG9uZW50PXtpc0V4cGFuZGVkID8gYWN0aW9uSWNvbnMuZXhwYW5kZWQgOiBhY3Rpb25JY29ucy5jb2xsYXBzZWR9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsZWdlbmQtLWxheWVyX2NvbG9yLWxlZ2VuZFwiPlxuICAgICAgICAgICAgICB7ZW5hYmxlQ29sb3JCeSA/IChcbiAgICAgICAgICAgICAgICA8Q29sb3JMZWdlbmRcbiAgICAgICAgICAgICAgICAgIGxheWVyPXtsYXllcn1cbiAgICAgICAgICAgICAgICAgIGlzRXhwYW5kZWQ9e2lzRXhwYW5kZWR9XG4gICAgICAgICAgICAgICAgICBzY2FsZVR5cGU9e2NvbG9yU2NhbGV9XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5TGFiZWxcbiAgICAgICAgICAgICAgICAgIGRvbWFpbj17Y29sb3JEb21haW59XG4gICAgICAgICAgICAgICAgICBmaWVsZFR5cGU9eyhjb2xvckZpZWxkICYmIGNvbG9yRmllbGQudHlwZSkgfHwgJ3JlYWwnfVxuICAgICAgICAgICAgICAgICAgcmFuZ2U9e2NvbG9yUmFuZ2V9XG4gICAgICAgICAgICAgICAgICBvblVwZGF0ZUNvbG9yTGVnZW5kPXtvblVwZGF0ZUNvbG9yTGVnZW5kfVxuICAgICAgICAgICAgICAgICAgZGlzYWJsZUVkaXQ9e2Rpc2FibGVFZGl0fVxuICAgICAgICAgICAgICAgICAgaXNGaXhlZD17aXNGaXhlZH1cbiAgICAgICAgICAgICAgICAgIG1hcFN0YXRlPXttYXBTdGF0ZX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIDxTaW5nbGVDb2xvckxlZ2VuZFxuICAgICAgICAgICAgICAgICAgY29sb3I9e2NvbmZpZy52aXNDb25maWdbcHJvcGVydHldIHx8IGNvbmZpZ1twcm9wZXJ0eV0gfHwgY29uZmlnLmNvbG9yfVxuICAgICAgICAgICAgICAgICAgbGFiZWw9e2ludGwuZm9ybWF0TWVzc2FnZSh7XG4gICAgICAgICAgICAgICAgICAgIGlkOiBgbWFwTGVnZW5kLmxheWVycy4ke2xheWVyLnR5cGV9LnNpbmdsZUNvbG9yLiR7Y29sb3JDaGFubmVsLmtleX1gLFxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0TWVzc2FnZTogaW50bC5mb3JtYXRNZXNzYWdlKHtcbiAgICAgICAgICAgICAgICAgICAgICBpZDogYG1hcExlZ2VuZC5sYXllcnMuZGVmYXVsdC5zaW5nbGVDb2xvci4ke2NvbG9yQ2hhbm5lbC5rZXl9YCxcbiAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0TWVzc2FnZTogJyAnIC8vIG11c3RuJ3QgYmUgZW1wdHkgc3RyaW5nIG9yIGlkIHdpbGwgYmUgdXNlZFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH07XG5cbiAgTGF5ZXJDb2xvckxlZ2VuZC5kaXNwbGF5TmFtZSA9ICdMYXllckNvbG9yTGVnZW5kJztcbiAgcmV0dXJuIFJlYWN0Lm1lbW8oTGF5ZXJDb2xvckxlZ2VuZCk7XG59XG5cbmZ1bmN0aW9uIGdldExheWVyUmFkaXVzU2NhbGVNZXRlcnNUb1BpeGVsc011bHRpcGxpZXIobGF5ZXIsIG1hcFN0YXRlKSB7XG4gIC8vIEB0cy1pZ25vcmUgdGhpcyBhY3R1YWxseSBleGlzdFxuICBjb25zdCB7bWV0ZXJzUGVyUGl4ZWx9ID0gZ2V0RGlzdGFuY2VTY2FsZXMobWFwU3RhdGUpO1xuICAvLyBpZiBubyBmaWVsZCBzaXplIGlzIGRlZmluZWQgd2UgbmVlZCB0byBwYXNzIGZpeGVkIHJhZGl1cyA9IGZhbHNlXG4gIGNvbnN0IGZpeGVkUmFkaXVzID0gbGF5ZXIuY29uZmlnLnZpc0NvbmZpZy5maXhlZFJhZGl1cyAmJiBCb29sZWFuKGxheWVyLmNvbmZpZy5zaXplRmllbGQpO1xuICByZXR1cm4gbGF5ZXIuZ2V0UmFkaXVzU2NhbGVCeVpvb20obWFwU3RhdGUsIGZpeGVkUmFkaXVzKSAvIG1ldGVyc1BlclBpeGVsWzBdO1xufVxuXG5leHBvcnQgdHlwZSBNYXBMZWdlbmRJY29ucyA9IHtcbiAgZXhwYW5kZWQ6IENvbXBvbmVudFR5cGU8YW55PjtcbiAgY29sbGFwc2VkOiBDb21wb25lbnRUeXBlPGFueT47XG59O1xuXG5leHBvcnQgdHlwZSBMYXllclJhZGl1c0xlZ2VuZFByb3BzID0ge1xuICBsYXllcjogTGF5ZXI7XG4gIG1hcFN0YXRlPzogTWFwU3RhdGU7XG4gIHdpZHRoOiBudW1iZXI7XG4gIGlzRXhwb3J0PzogYm9vbGVhbjtcbiAgdmlzdWFsQ2hhbm5lbDogVmlzdWFsQ2hhbm5lbDtcbn07XG5cbmV4cG9ydCBjb25zdCBMYXllclJhZGl1c0xlZ2VuZDogRkM8TGF5ZXJSYWRpdXNMZWdlbmRQcm9wcz4gPSBSZWFjdC5tZW1vKFxuICAoe2xheWVyLCB3aWR0aCwgdmlzdWFsQ2hhbm5lbCwgbWFwU3RhdGV9KSA9PiB7XG4gICAgY29uc3QgZGVzY3JpcHRpb24gPSBsYXllci5nZXRWaXN1YWxDaGFubmVsRGVzY3JpcHRpb24odmlzdWFsQ2hhbm5lbC5rZXkpO1xuICAgIGNvbnN0IGNvbmZpZyA9IGxheWVyLmNvbmZpZztcblxuICAgIGNvbnN0IGVuYWJsZVNpemVCeSA9IGRlc2NyaXB0aW9uLm1lYXN1cmU7XG4gICAgY29uc3Qge3NjYWxlLCBmaWVsZCwgZG9tYWluLCByYW5nZX0gPSB2aXN1YWxDaGFubmVsO1xuICAgIGNvbnN0IFtzaXplU2NhbGUsIHNpemVGaWVsZCwgc2l6ZURvbWFpbl0gPSBbc2NhbGUsIGZpZWxkLCBkb21haW5dLm1hcChrID0+IGNvbmZpZ1trXSk7XG4gICAgbGV0IHNpemVSYW5nZSA9IGNvbmZpZy52aXNDb25maWdbcmFuZ2VdO1xuXG4gICAgaWYgKG1hcFN0YXRlKSB7XG4gICAgICBjb25zdCByYWRpdXNNdWx0aXBsaWVyID0gZ2V0TGF5ZXJSYWRpdXNTY2FsZU1ldGVyc1RvUGl4ZWxzTXVsdGlwbGllcihsYXllciwgbWFwU3RhdGUpO1xuICAgICAgc2l6ZVJhbmdlID0gc2l6ZVJhbmdlLm1hcCh2ID0+IHYgKiByYWRpdXNNdWx0aXBsaWVyKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsZWdlbmQtLWxheWVyX3NpemUtc2NoZW1hXCI+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIHtlbmFibGVTaXplQnkgPyA8VmlzdWFsQ2hhbm5lbE1ldHJpYyBuYW1lPXtlbmFibGVTaXplQnl9IC8+IDogbnVsbH1cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGVnZW5kLS1sYXllcl9zaXplLWxlZ2VuZFwiPlxuICAgICAgICAgICAgICB7ZW5hYmxlU2l6ZUJ5ID8gKFxuICAgICAgICAgICAgICAgIDxSYWRpdXNMZWdlbmRcbiAgICAgICAgICAgICAgICAgIHNjYWxlVHlwZT17c2l6ZVNjYWxlfVxuICAgICAgICAgICAgICAgICAgZG9tYWluPXtzaXplRG9tYWlufVxuICAgICAgICAgICAgICAgICAgZmllbGRUeXBlPXsoc2l6ZUZpZWxkICYmIHNpemVGaWVsZC50eXBlKSB8fCAncmVhbCd9XG4gICAgICAgICAgICAgICAgICByYW5nZT17c2l6ZVJhbmdlfVxuICAgICAgICAgICAgICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuKTtcblxuY29uc3QgaXNDb2xvckNoYW5uZWwgPSB2aXN1YWxDaGFubmVsID0+XG4gIFtDSEFOTkVMX1NDQUxFUy5jb2xvciwgQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXS5pbmNsdWRlcyh2aXN1YWxDaGFubmVsLmNoYW5uZWxTY2FsZVR5cGUpO1xuXG5leHBvcnQgdHlwZSBMYXllckxlZ2VuZEhlYWRlclByb3BzID0ge1xuICBsYXllcjogTGF5ZXI7XG4gIG9wdGlvbnM/OiB7XG4gICAgc2hvd0xheWVyTmFtZT86IGJvb2xlYW47XG4gIH07XG59O1xuXG5jb25zdCBpc1JhZGl1c0NoYW5uZWwgPSB2aXN1YWxDaGFubmVsID0+XG4gIFtDSEFOTkVMX1NDQUxFUy5yYWRpdXNdLmluY2x1ZGVzKHZpc3VhbENoYW5uZWwuY2hhbm5lbFNjYWxlVHlwZSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBMYXllckxlZ2VuZEhlYWRlckZhY3RvcnkoKSB7XG4gIGNvbnN0IExheWVyTGVnZW5kSGVhZGVyOiBSZWFjdC5GQzxMYXllckxlZ2VuZEhlYWRlclByb3BzPiA9ICh7b3B0aW9ucywgbGF5ZXJ9KSA9PiB7XG4gICAgcmV0dXJuIG9wdGlvbnM/LnNob3dMYXllck5hbWUgIT09IGZhbHNlID8gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJsZWdlbmQtLWxheWVyX25hbWVcIj57bGF5ZXIuY29uZmlnLmxhYmVsfTwvZGl2PlxuICAgICkgOiBudWxsO1xuICB9O1xuICByZXR1cm4gTGF5ZXJMZWdlbmRIZWFkZXI7XG59XG5cbmNvbnN0IGRlZmF1bHRBY3Rpb25JY29ucyA9IHtcbiAgZXhwYW5kZWQ6IEFycm93RG93bixcbiAgY29sbGFwc2VkOiBBcnJvd1JpZ2h0XG59O1xuXG5leHBvcnQgdHlwZSBMYXllckxlZ2VuZENvbnRlbnRQcm9wcyA9IHtcbiAgbGF5ZXI6IExheWVyO1xuICBjb250YWluZXJXOiBudW1iZXI7XG4gIG1hcFN0YXRlPzogTWFwU3RhdGU7XG4gIGRpc2FibGVFZGl0PzogYm9vbGVhbjtcbiAgaXNFeHBvcnQ/OiBib29sZWFuO1xuICBvbkxheWVyVmlzQ29uZmlnQ2hhbmdlPzogKG9sZExheWVyOiBMYXllciwgbmV3VmlzQ29uZmlnOiBQYXJ0aWFsPExheWVyVmlzQ29uZmlnPikgPT4gdm9pZDtcbiAgYWN0aW9uSWNvbnM6IE1hcExlZ2VuZEljb25zO1xufTtcblxuTGF5ZXJMZWdlbmRDb250ZW50RmFjdG9yeS5kZXBzID0gW0xheWVyQ29sb3JMZWdlbmRGYWN0b3J5XTtcblxuZXhwb3J0IGZ1bmN0aW9uIExheWVyTGVnZW5kQ29udGVudEZhY3RvcnkoXG4gIExheWVyQ29sb3JMZWdlbmQ6IFJldHVyblR5cGU8dHlwZW9mIExheWVyQ29sb3JMZWdlbmRGYWN0b3J5PlxuKSB7XG4gIGNvbnN0IExheWVyTGVnZW5kQ29udGVudDogUmVhY3QuRkM8TGF5ZXJMZWdlbmRDb250ZW50UHJvcHM+ID0gKHtcbiAgICBsYXllcixcbiAgICBjb250YWluZXJXLFxuICAgIG1hcFN0YXRlLFxuICAgIGRpc2FibGVFZGl0LFxuICAgIGlzRXhwb3J0LFxuICAgIG9uTGF5ZXJWaXNDb25maWdDaGFuZ2UsXG4gICAgYWN0aW9uSWNvbnNcbiAgfSkgPT4ge1xuICAgIGNvbnN0IHZpc3VhbENoYW5uZWxzID0gbGF5ZXIuZ2V0TGVnZW5kVmlzdWFsQ2hhbm5lbHMoKTtcbiAgICBjb25zdCBjaGFubmVsS2V5cyA9IE9iamVjdC52YWx1ZXModmlzdWFsQ2hhbm5lbHMpO1xuICAgIGNvbnN0IGNvbG9yQ2hhbm5lbHMgPSBjaGFubmVsS2V5cy5maWx0ZXIoaXNDb2xvckNoYW5uZWwpIGFzIFZpc3VhbENoYW5uZWxbXTtcbiAgICBjb25zdCBub25Db2xvckNoYW5uZWxzID0gY2hhbm5lbEtleXMuZmlsdGVyKHZjID0+ICFpc0NvbG9yQ2hhbm5lbCh2YykpO1xuICAgIGNvbnN0IHdpZHRoID0gY29udGFpbmVyVyAtIDIgKiBESU1FTlNJT05TLm1hcENvbnRyb2wucGFkZGluZztcblxuICAgIC8vIHJlbmRlciBjb2xvciBieSBjaGFuZWwgb25seVxuICAgIGxldCBjb2xvckNoYW5uZWxUb1JlbmRlciA9IGNvbG9yQ2hhbm5lbHMuZmlsdGVyKFxuICAgICAgY2MgPT5cbiAgICAgICAgKCFjYy5jb25kaXRpb24gfHwgY2MuY29uZGl0aW9uKGxheWVyLmNvbmZpZykpICYmXG4gICAgICAgIGxheWVyLmdldFZpc3VhbENoYW5uZWxEZXNjcmlwdGlvbihjYy5rZXkpPy5tZWFzdXJlXG4gICAgKTtcbiAgICAvLyBpZiBubyBjb2xvciBieSBjaGFuZWwsIHJlbmRlciByZXN0XG4gICAgaWYgKCFjb2xvckNoYW5uZWxUb1JlbmRlci5sZW5ndGgpIHtcbiAgICAgIGNvbG9yQ2hhbm5lbFRvUmVuZGVyID0gY29sb3JDaGFubmVscy5maWx0ZXIoXG4gICAgICAgIGNjID0+ICFjYy5jb25kaXRpb24gfHwgY2MuY29uZGl0aW9uKGxheWVyLmNvbmZpZylcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7Y29sb3JDaGFubmVsVG9SZW5kZXIubWFwKGNvbG9yQ2hhbm5lbCA9PiAoXG4gICAgICAgICAgPExheWVyQ29sb3JMZWdlbmRcbiAgICAgICAgICAgIGtleT17Y29sb3JDaGFubmVsLmtleX1cbiAgICAgICAgICAgIGNvbG9yQ2hhbm5lbD17Y29sb3JDaGFubmVsfVxuICAgICAgICAgICAgY29uZmlnPXtsYXllci5jb25maWd9XG4gICAgICAgICAgICBkZXNjcmlwdGlvbj17bGF5ZXIuZ2V0VmlzdWFsQ2hhbm5lbERlc2NyaXB0aW9uKGNvbG9yQ2hhbm5lbC5rZXkpfVxuICAgICAgICAgICAgbGF5ZXI9e2xheWVyfVxuICAgICAgICAgICAgaXNFeHBvcnQ9e2lzRXhwb3J0fVxuICAgICAgICAgICAgZGlzYWJsZUVkaXQ9e2Rpc2FibGVFZGl0fVxuICAgICAgICAgICAgbWFwU3RhdGU9e21hcFN0YXRlfVxuICAgICAgICAgICAgb25MYXllclZpc0NvbmZpZ0NoYW5nZT17b25MYXllclZpc0NvbmZpZ0NoYW5nZX1cbiAgICAgICAgICAgIGFjdGlvbkljb25zPXthY3Rpb25JY29uc31cbiAgICAgICAgICAvPlxuICAgICAgICApKX1cbiAgICAgICAge25vbkNvbG9yQ2hhbm5lbHMubWFwKCh2aXN1YWxDaGFubmVsOiBWaXN1YWxDaGFubmVsKSA9PiB7XG4gICAgICAgICAgY29uc3QgbWF0Y2hDb25kaXRpb24gPSAhdmlzdWFsQ2hhbm5lbC5jb25kaXRpb24gfHwgdmlzdWFsQ2hhbm5lbC5jb25kaXRpb24obGF5ZXIuY29uZmlnKTtcbiAgICAgICAgICBjb25zdCBlbmFibGVkID0gbGF5ZXIuY29uZmlnW3Zpc3VhbENoYW5uZWwuZmllbGRdIHx8IHZpc3VhbENoYW5uZWwuZGVmYXVsdE1lYXN1cmU7XG5cbiAgICAgICAgICBpZiAobWF0Y2hDb25kaXRpb24gJiYgZW5hYmxlZCkge1xuICAgICAgICAgICAgY29uc3QgZGVzY3JpcHRpb24gPSBsYXllci5nZXRWaXN1YWxDaGFubmVsRGVzY3JpcHRpb24odmlzdWFsQ2hhbm5lbC5rZXkpO1xuICAgICAgICAgICAgaWYgKGlzUmFkaXVzQ2hhbm5lbCh2aXN1YWxDaGFubmVsKSkge1xuICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxMYXllclJhZGl1c0xlZ2VuZFxuICAgICAgICAgICAgICAgICAga2V5PXt2aXN1YWxDaGFubmVsLmtleX1cbiAgICAgICAgICAgICAgICAgIGxheWVyPXtsYXllcn1cbiAgICAgICAgICAgICAgICAgIG1hcFN0YXRlPXttYXBTdGF0ZX1cbiAgICAgICAgICAgICAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgICAgICAgICAgICAgIHZpc3VhbENoYW5uZWw9e3Zpc3VhbENoYW5uZWx9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxMYXllckRlZmF1bHRMZWdlbmRcbiAgICAgICAgICAgICAgICBrZXk9e3Zpc3VhbENoYW5uZWwua2V5fVxuICAgICAgICAgICAgICAgIGxhYmVsPXtkZXNjcmlwdGlvbi5sYWJlbH1cbiAgICAgICAgICAgICAgICBuYW1lPXtkZXNjcmlwdGlvbi5tZWFzdXJlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH0pfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gTGF5ZXJMZWdlbmRDb250ZW50O1xufVxuXG5leHBvcnQgdHlwZSBNYXBMZWdlbmRQcm9wcyA9IHtcbiAgbGF5ZXJzPzogUmVhZG9ubHlBcnJheTxMYXllcj47XG4gIHdpZHRoPzogbnVtYmVyO1xuICBtYXBTdGF0ZT86IE1hcFN0YXRlO1xuICBvcHRpb25zPzoge1xuICAgIHNob3dMYXllck5hbWU/OiBib29sZWFuO1xuICB9O1xuICBkaXNhYmxlRWRpdD86IGJvb2xlYW47XG4gIGlzRXhwb3J0PzogYm9vbGVhbjtcbiAgb25MYXllclZpc0NvbmZpZ0NoYW5nZT86IChvbGRMYXllcjogTGF5ZXIsIG5ld1Zpc0NvbmZpZzogUGFydGlhbDxMYXllclZpc0NvbmZpZz4pID0+IHZvaWQ7XG4gIGFjdGlvbkljb25zOiBNYXBMZWdlbmRJY29ucztcbn07XG5cbk1hcExlZ2VuZEZhY3RvcnkuZGVwcyA9IFtMYXllckxlZ2VuZEhlYWRlckZhY3RvcnksIExheWVyTGVnZW5kQ29udGVudEZhY3RvcnldO1xuXG5mdW5jdGlvbiBNYXBMZWdlbmRGYWN0b3J5KFxuICBMYXllckxlZ2VuZEhlYWRlcjogUmV0dXJuVHlwZTx0eXBlb2YgTGF5ZXJMZWdlbmRIZWFkZXJGYWN0b3J5PixcbiAgTGF5ZXJMZWdlbmRDb250ZW50OiBSZXR1cm5UeXBlPHR5cGVvZiBMYXllckxlZ2VuZENvbnRlbnRGYWN0b3J5PlxuKSB7XG4gIGNvbnN0IE1hcExlZ2VuZDogUmVhY3QuRkM8TWFwTGVnZW5kUHJvcHM+ID0gKHtcbiAgICBsYXllcnMgPSBbXSxcbiAgICB3aWR0aCxcbiAgICBtYXBTdGF0ZSxcbiAgICBvcHRpb25zLFxuICAgIGRpc2FibGVFZGl0LFxuICAgIGlzRXhwb3J0LFxuICAgIG9uTGF5ZXJWaXNDb25maWdDaGFuZ2UsXG4gICAgYWN0aW9uSWNvbnMgPSBkZWZhdWx0QWN0aW9uSWNvbnNcbiAgfSkgPT4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT1cIm1hcC1sZWdlbmRcIlxuICAgICAgey4uLihtYXBTdGF0ZT8uaGVpZ2h0ICYmIHtcbiAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAvKiBzdWJ0cmFjdGluZyByb3VnaCBzaXplIG9mIDQgbWFwIGNvbnRyb2wgYnV0dG9ucyBhbmQgcGFkZGluZyAqL1xuICAgICAgICAgIG1heEhlaWdodDogbWFwU3RhdGUuaGVpZ2h0IC0gKGlzRXhwb3J0ID8gMCA6IDI1MClcbiAgICAgICAgfVxuICAgICAgfSl9XG4gICAgPlxuICAgICAge2xheWVycy5tYXAoKGxheWVyLCBpbmRleCkgPT4ge1xuICAgICAgICBpZiAoIWxheWVyLmlzVmFsaWRUb1NhdmUoKSB8fCBsYXllci5jb25maWcuaGlkZGVuKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY29udGFpbmVyVyA9IHdpZHRoIHx8IERJTUVOU0lPTlMubWFwQ29udHJvbC53aWR0aDtcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxTdHlsZWRNYXBDb250cm9sTGVnZW5kXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJsZWdlbmQtLWxheWVyXCJcbiAgICAgICAgICAgIGxhc3Q9e2luZGV4ID09PSBsYXllcnMubGVuZ3RoIC0gMX1cbiAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICB3aWR0aD17Y29udGFpbmVyV31cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8TGF5ZXJMZWdlbmRIZWFkZXIgb3B0aW9ucz17b3B0aW9uc30gbGF5ZXI9e2xheWVyfSAvPlxuICAgICAgICAgICAgPExheWVyTGVnZW5kQ29udGVudFxuICAgICAgICAgICAgICBjb250YWluZXJXPXtjb250YWluZXJXfVxuICAgICAgICAgICAgICBsYXllcj17bGF5ZXJ9XG4gICAgICAgICAgICAgIG1hcFN0YXRlPXttYXBTdGF0ZX1cbiAgICAgICAgICAgICAgZGlzYWJsZUVkaXQ9e2Rpc2FibGVFZGl0fVxuICAgICAgICAgICAgICBpc0V4cG9ydD17aXNFeHBvcnR9XG4gICAgICAgICAgICAgIG9uTGF5ZXJWaXNDb25maWdDaGFuZ2U9e29uTGF5ZXJWaXNDb25maWdDaGFuZ2V9XG4gICAgICAgICAgICAgIGFjdGlvbkljb25zPXthY3Rpb25JY29uc31cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9TdHlsZWRNYXBDb250cm9sTGVnZW5kPlxuICAgICAgICApO1xuICAgICAgfSl9XG4gICAgPC9kaXY+XG4gICk7XG5cbiAgTWFwTGVnZW5kLmRpc3BsYXlOYW1lID0gJ01hcExlZ2VuZCc7XG5cbiAgcmV0dXJuIE1hcExlZ2VuZDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTWFwTGVnZW5kRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxRQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxVQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxZQUFBLEdBQUFOLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTSxhQUFBLEdBQUFKLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBTyxVQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxhQUFBLEdBQUFSLE9BQUE7QUFHQSxJQUFBUyx3QkFBQSxHQUFBVCxPQUFBO0FBQ0EsSUFBQVUsTUFBQSxHQUFBVixPQUFBO0FBQ0EsSUFBQVcsa0JBQUEs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
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { IntlShape } from 'react-intl';
|
|
3
|
+
import { LayerHoverProp } from '@kepler.gl/reducers';
|
|
4
|
+
import LayerHoverInfoFactory from './layer-hover-info';
|
|
5
|
+
import CoordinateInfoFactory from './coordinate-info';
|
|
6
|
+
declare type MapPopoverContentProps = {
|
|
7
|
+
coordinate: [number, number] | boolean;
|
|
8
|
+
layerHoverProp: LayerHoverProp | null;
|
|
9
|
+
zoom: number;
|
|
10
|
+
};
|
|
11
|
+
declare type IntlProps = {
|
|
12
|
+
intl: IntlShape;
|
|
13
|
+
};
|
|
14
|
+
declare function MapPopoverContentFactory(LayerHoverInfo: ReturnType<typeof LayerHoverInfoFactory>, CoordinateInfo: ReturnType<typeof CoordinateInfoFactory>): React.FC<import("react-intl").WithIntlProps<MapPopoverContentProps & IntlProps>> & {
|
|
15
|
+
WrappedComponent: React.ComponentType<MapPopoverContentProps & IntlProps>;
|
|
16
|
+
};
|
|
17
|
+
declare namespace MapPopoverContentFactory {
|
|
18
|
+
var deps: ((() => React.FC<import("./coordinate-info").CoordinateInfoProps>) | (() => {
|
|
19
|
+
(props: any): React.JSX.Element | null;
|
|
20
|
+
propTypes: {
|
|
21
|
+
fields: import("prop-types").Requireable<any[]>;
|
|
22
|
+
fieldsToShow: import("prop-types").Requireable<any[]>;
|
|
23
|
+
layer: import("prop-types").Requireable<object>;
|
|
24
|
+
data: import("prop-types").Requireable<object>;
|
|
25
|
+
};
|
|
26
|
+
}))[];
|
|
27
|
+
}
|
|
28
|
+
export default MapPopoverContentFactory;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = MapPopoverContentFactory;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _reactIntl = require("react-intl");
|
|
10
|
+
var _layerHoverInfo = _interopRequireDefault(require("./layer-hover-info"));
|
|
11
|
+
var _coordinateInfo = _interopRequireDefault(require("./coordinate-info"));
|
|
12
|
+
// SPDX-License-Identifier: MIT
|
|
13
|
+
// Copyright contributors to the kepler.gl project
|
|
14
|
+
|
|
15
|
+
MapPopoverContentFactory.deps = [_layerHoverInfo["default"], _coordinateInfo["default"]];
|
|
16
|
+
function MapPopoverContentFactory(LayerHoverInfo, CoordinateInfo) {
|
|
17
|
+
var MapPopoverContent = function MapPopoverContent(_ref) {
|
|
18
|
+
var coordinate = _ref.coordinate,
|
|
19
|
+
layerHoverProp = _ref.layerHoverProp,
|
|
20
|
+
zoom = _ref.zoom;
|
|
21
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, Array.isArray(coordinate) && /*#__PURE__*/_react["default"].createElement(CoordinateInfo, {
|
|
22
|
+
coordinate: coordinate,
|
|
23
|
+
zoom: zoom
|
|
24
|
+
}), layerHoverProp && /*#__PURE__*/_react["default"].createElement(LayerHoverInfo, layerHoverProp));
|
|
25
|
+
};
|
|
26
|
+
return (0, _reactIntl.injectIntl)(MapPopoverContent);
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdEludGwiLCJfbGF5ZXJIb3ZlckluZm8iLCJfY29vcmRpbmF0ZUluZm8iLCJNYXBQb3BvdmVyQ29udGVudEZhY3RvcnkiLCJkZXBzIiwiTGF5ZXJIb3ZlckluZm9GYWN0b3J5IiwiQ29vcmRpbmF0ZUluZm9GYWN0b3J5IiwiTGF5ZXJIb3ZlckluZm8iLCJDb29yZGluYXRlSW5mbyIsIk1hcFBvcG92ZXJDb250ZW50IiwiX3JlZiIsImNvb3JkaW5hdGUiLCJsYXllckhvdmVyUHJvcCIsInpvb20iLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJBcnJheSIsImlzQXJyYXkiLCJpbmplY3RJbnRsIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hcC9tYXAtcG9wb3Zlci1jb250ZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtpbmplY3RJbnRsLCBJbnRsU2hhcGV9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHtMYXllckhvdmVyUHJvcH0gZnJvbSAnQGtlcGxlci5nbC9yZWR1Y2Vycyc7XG5pbXBvcnQgTGF5ZXJIb3ZlckluZm9GYWN0b3J5IGZyb20gJy4vbGF5ZXItaG92ZXItaW5mbyc7XG5pbXBvcnQgQ29vcmRpbmF0ZUluZm9GYWN0b3J5IGZyb20gJy4vY29vcmRpbmF0ZS1pbmZvJztcblxuTWFwUG9wb3ZlckNvbnRlbnRGYWN0b3J5LmRlcHMgPSBbTGF5ZXJIb3ZlckluZm9GYWN0b3J5LCBDb29yZGluYXRlSW5mb0ZhY3RvcnldO1xuXG50eXBlIE1hcFBvcG92ZXJDb250ZW50UHJvcHMgPSB7XG4gIGNvb3JkaW5hdGU6IFtudW1iZXIsIG51bWJlcl0gfCBib29sZWFuO1xuICBsYXllckhvdmVyUHJvcDogTGF5ZXJIb3ZlclByb3AgfCBudWxsO1xuICB6b29tOiBudW1iZXI7XG59O1xuXG50eXBlIEludGxQcm9wcyA9IHtcbiAgaW50bDogSW50bFNoYXBlO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gTWFwUG9wb3ZlckNvbnRlbnRGYWN0b3J5KFxuICBMYXllckhvdmVySW5mbzogUmV0dXJuVHlwZTx0eXBlb2YgTGF5ZXJIb3ZlckluZm9GYWN0b3J5PixcbiAgQ29vcmRpbmF0ZUluZm86IFJldHVyblR5cGU8dHlwZW9mIENvb3JkaW5hdGVJbmZvRmFjdG9yeT5cbikge1xuICBjb25zdCBNYXBQb3BvdmVyQ29udGVudDogUmVhY3QuRkM8TWFwUG9wb3ZlckNvbnRlbnRQcm9wcyAmIEludGxQcm9wcz4gPSAoe1xuICAgIGNvb3JkaW5hdGUsXG4gICAgbGF5ZXJIb3ZlclByb3AsXG4gICAgem9vbVxuICB9KSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIHtBcnJheS5pc0FycmF5KGNvb3JkaW5hdGUpICYmIDxDb29yZGluYXRlSW5mbyBjb29yZGluYXRlPXtjb29yZGluYXRlfSB6b29tPXt6b29tfSAvPn1cbiAgICAgICAge2xheWVySG92ZXJQcm9wICYmIDxMYXllckhvdmVySW5mbyB7Li4ubGF5ZXJIb3ZlclByb3B9IC8+fVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcbiAgcmV0dXJuIGluamVjdEludGwoTWFwUG9wb3ZlckNvbnRlbnQpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsZUFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsZUFBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBUEE7QUFDQTs7QUFRQUksd0JBQXdCLENBQUNDLElBQUksR0FBRyxDQUFDQywwQkFBcUIsRUFBRUMsMEJBQXFCLENBQUM7QUFZL0QsU0FBU0gsd0JBQXdCQSxDQUM5Q0ksY0FBd0QsRUFDeERDLGNBQXdELEVBQ3hEO0VBQ0EsSUFBTUMsaUJBQStELEdBQUcsU0FBbEVBLGlCQUErREEsQ0FBQUMsSUFBQSxFQUkvRDtJQUFBLElBSEpDLFVBQVUsR0FBQUQsSUFBQSxDQUFWQyxVQUFVO01BQ1ZDLGNBQWMsR0FBQUYsSUFBQSxDQUFkRSxjQUFjO01BQ2RDLElBQUksR0FBQUgsSUFBQSxDQUFKRyxJQUFJO0lBRUosb0JBQ0VoQixNQUFBLFlBQUFpQixhQUFBLENBQUFqQixNQUFBLFlBQUFrQixRQUFBLFFBQ0dDLEtBQUssQ0FBQ0MsT0FBTyxDQUFDTixVQUFVLENBQUMsaUJBQUlkLE1BQUEsWUFBQWlCLGFBQUEsQ0FBQ04sY0FBYztNQUFDRyxVQUFVLEVBQUVBLFVBQVc7TUFBQ0UsSUFBSSxFQUFFQTtJQUFLLENBQUUsQ0FBQyxFQUNuRkQsY0FBYyxpQkFBSWYsTUFBQSxZQUFBaUIsYUFBQSxDQUFDUCxjQUFjLEVBQUtLLGNBQWlCLENBQ3hELENBQUM7RUFFUCxDQUFDO0VBQ0QsT0FBTyxJQUFBTSxxQkFBVSxFQUFDVCxpQkFBaUIsQ0FBQztBQUN0QyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import MapPopoverContentFactory from './map-popover-content';
|
|
3
|
+
import { IntlShape } from 'react-intl';
|
|
4
|
+
import { LayerHoverProp } from '@kepler.gl/reducers';
|
|
5
|
+
import { Feature, FeatureSelectionContext } from '@kepler.gl/types';
|
|
6
|
+
export declare function getSelectedFeature(layerHoverProp: LayerHoverProp | null): Feature | null;
|
|
7
|
+
export declare type MapPopoverProps = {
|
|
8
|
+
x: number;
|
|
9
|
+
y: number;
|
|
10
|
+
frozen?: boolean;
|
|
11
|
+
coordinate: [number, number] | boolean;
|
|
12
|
+
layerHoverProp: LayerHoverProp | null;
|
|
13
|
+
isBase?: boolean;
|
|
14
|
+
zoom: number;
|
|
15
|
+
container?: HTMLElement | null;
|
|
16
|
+
onClose: () => void;
|
|
17
|
+
onSetFeatures: (features: Feature[]) => any;
|
|
18
|
+
setSelectedFeature: (feature: Feature | null, clickContext?: FeatureSelectionContext) => any;
|
|
19
|
+
featureCollection?: {
|
|
20
|
+
type: string;
|
|
21
|
+
features: Feature[];
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
declare type IntlProps = {
|
|
25
|
+
intl: IntlShape;
|
|
26
|
+
};
|
|
27
|
+
declare function MapPopoverFactory(MapPopoverContent: ReturnType<typeof MapPopoverContentFactory>): React.FC<import("react-intl").WithIntlProps<MapPopoverProps & IntlProps>> & {
|
|
28
|
+
WrappedComponent: React.ComponentType<MapPopoverProps & IntlProps>;
|
|
29
|
+
};
|
|
30
|
+
declare namespace MapPopoverFactory {
|
|
31
|
+
var deps: (typeof MapPopoverContentFactory)[];
|
|
32
|
+
}
|
|
33
|
+
export default MapPopoverFactory;
|