@kepler.gl/components 3.0.0-alpha.0 → 3.0.0-alpha.1
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 +11 -38
- package/dist/bottom-widget.js +43 -99
- package/dist/common/action-panel.d.ts +2 -2
- package/dist/common/action-panel.js +4 -4
- package/dist/common/animation-control/animation-control.d.ts +19 -18
- package/dist/common/animation-control/animation-control.js +59 -81
- package/dist/common/animation-control/animation-controller.d.ts +6 -2
- package/dist/common/animation-control/animation-controller.js +50 -36
- package/dist/common/animation-control/animation-speed-slider.js +2 -2
- package/dist/common/animation-control/animation-window-control.js +1 -1
- package/dist/common/animation-control/floating-time-display.d.ts +2 -2
- package/dist/common/animation-control/floating-time-display.js +2 -2
- package/dist/common/animation-control/play-control.d.ts +2 -2
- package/dist/common/animation-control/play-control.js +1 -1
- package/dist/common/animation-control/playback-controls.d.ts +7 -7
- package/dist/common/animation-control/playback-controls.js +6 -6
- package/dist/common/animation-control/reset-control.d.ts +2 -2
- package/dist/common/animation-control/reset-control.js +1 -1
- package/dist/common/animation-control/speed-control.d.ts +2 -2
- package/dist/common/animation-control/speed-control.js +2 -2
- package/dist/common/animation-control/window-action-control.d.ts +2 -2
- package/dist/common/animation-control/window-action-control.js +1 -1
- package/dist/common/checkbox.d.ts +2 -2
- package/dist/common/checkbox.js +3 -3
- package/dist/common/color-legend.d.ts +3 -3
- package/dist/common/color-legend.js +11 -17
- package/dist/common/data-table/button.d.ts +1 -1
- package/dist/common/data-table/button.js +2 -2
- package/dist/common/data-table/canvas.js +2 -2
- package/dist/common/data-table/cell-size.js +44 -13
- package/dist/common/data-table/display-format.d.ts +25 -0
- package/dist/common/data-table/display-format.js +169 -0
- package/dist/common/data-table/grid.d.ts +5 -2
- package/dist/common/data-table/grid.js +45 -5
- package/dist/common/data-table/header-cell.d.ts +4 -1
- package/dist/common/data-table/header-cell.js +66 -29
- package/dist/common/data-table/index.d.ts +27 -34
- package/dist/common/data-table/index.js +148 -62
- package/dist/common/data-table/option-dropdown.d.ts +17 -3
- package/dist/common/data-table/option-dropdown.js +86 -13
- package/dist/common/dataset-label.d.ts +2 -2
- package/dist/common/dataset-label.js +3 -3
- package/dist/common/error-boundary.d.ts +6 -2
- package/dist/common/error-boundary.js +2 -2
- package/dist/common/field-selector.d.ts +9 -3
- package/dist/common/field-selector.js +3 -3
- package/dist/common/field-token.d.ts +8 -0
- package/dist/common/field-token.js +7 -3
- package/dist/common/file-uploader/file-drop.d.ts +3 -2
- package/dist/common/file-uploader/file-drop.js +2 -2
- package/dist/common/file-uploader/file-upload-progress.js +2 -2
- package/dist/common/file-uploader/file-upload.d.ts +2 -6
- package/dist/common/file-uploader/file-upload.js +2 -2
- package/dist/common/file-uploader/upload-button.d.ts +1 -0
- package/dist/common/file-uploader/upload-button.js +2 -2
- package/dist/common/histogram-plot.d.ts +2 -2
- package/dist/common/histogram-plot.js +18 -12
- package/dist/common/icon-button.d.ts +2 -1
- package/dist/common/icon-button.js +2 -2
- package/dist/common/icons/add.d.ts +2 -2
- package/dist/common/icons/add.js +2 -2
- package/dist/common/icons/anchor_window.d.ts +2 -2
- package/dist/common/icons/anchor_window.js +2 -2
- package/dist/common/icons/arrow-down-alt.d.ts +2 -2
- package/dist/common/icons/arrow-down-alt.js +2 -2
- package/dist/common/icons/arrow-down-solid.d.ts +2 -2
- package/dist/common/icons/arrow-down-solid.js +2 -2
- package/dist/common/icons/arrow-down.d.ts +2 -2
- package/dist/common/icons/arrow-down.js +2 -2
- package/dist/common/icons/arrow-left.d.ts +2 -2
- package/dist/common/icons/arrow-left.js +2 -2
- package/dist/common/icons/arrow-right.d.ts +2 -2
- package/dist/common/icons/arrow-right.js +2 -2
- package/dist/common/icons/arrow-up-alt.d.ts +2 -2
- package/dist/common/icons/arrow-up-alt.js +2 -2
- package/dist/common/icons/arrow-up-solid.d.ts +2 -2
- package/dist/common/icons/arrow-up-solid.js +2 -2
- package/dist/common/icons/arrow-up.d.ts +2 -2
- package/dist/common/icons/arrow-up.js +2 -2
- package/dist/common/icons/base.d.ts +1 -1
- package/dist/common/icons/base.js +2 -2
- package/dist/common/icons/bug.d.ts +2 -2
- package/dist/common/icons/bug.js +2 -2
- package/dist/common/icons/cancel.d.ts +2 -2
- package/dist/common/icons/cancel.js +2 -2
- package/dist/common/icons/checkmark.d.ts +2 -2
- package/dist/common/icons/checkmark.js +2 -2
- package/dist/common/icons/clipboard.d.ts +2 -2
- package/dist/common/icons/clipboard.js +2 -2
- package/dist/common/icons/clock.d.ts +2 -2
- package/dist/common/icons/clock.js +2 -2
- package/dist/common/icons/close.d.ts +2 -2
- package/dist/common/icons/close.js +2 -2
- package/dist/common/icons/code-alt.d.ts +2 -2
- package/dist/common/icons/code-alt.js +2 -2
- package/dist/common/icons/copy.d.ts +2 -2
- package/dist/common/icons/copy.js +2 -2
- package/dist/common/icons/crosshairs.d.ts +2 -2
- package/dist/common/icons/crosshairs.js +2 -2
- package/dist/common/icons/cube-3d.d.ts +2 -2
- package/dist/common/icons/cube-3d.js +2 -2
- package/dist/common/icons/cursor-click.d.ts +2 -2
- package/dist/common/icons/cursor-click.js +2 -2
- package/dist/common/icons/cursor-point.d.ts +14 -0
- package/dist/common/icons/cursor-point.js +89 -0
- package/dist/common/icons/data-table.d.ts +2 -2
- package/dist/common/icons/data-table.js +2 -2
- package/dist/common/icons/db.d.ts +2 -2
- package/dist/common/icons/db.js +2 -2
- package/dist/common/icons/delete.d.ts +2 -2
- package/dist/common/icons/delete.js +2 -2
- package/dist/common/icons/docs.d.ts +2 -2
- package/dist/common/icons/docs.js +2 -2
- package/dist/common/icons/drag-n-drop.d.ts +2 -2
- package/dist/common/icons/drag-n-drop.js +2 -2
- package/dist/common/icons/draw-polygon.d.ts +2 -2
- package/dist/common/icons/draw-polygon.js +2 -2
- package/dist/common/icons/email.d.ts +2 -2
- package/dist/common/icons/email.js +2 -2
- package/dist/common/icons/expand.d.ts +2 -2
- package/dist/common/icons/expand.js +2 -2
- package/dist/common/icons/eye-seen.d.ts +2 -2
- package/dist/common/icons/eye-seen.js +2 -2
- package/dist/common/icons/eye-unseen.d.ts +2 -2
- package/dist/common/icons/eye-unseen.js +2 -2
- package/dist/common/icons/file-type.d.ts +2 -2
- package/dist/common/icons/file-type.js +2 -2
- package/dist/common/icons/file.d.ts +2 -2
- package/dist/common/icons/file.js +2 -2
- package/dist/common/icons/files.d.ts +1 -1
- package/dist/common/icons/files.js +2 -2
- package/dist/common/icons/filter-funnel.d.ts +2 -2
- package/dist/common/icons/filter-funnel.js +2 -2
- package/dist/common/icons/free-window.d.ts +2 -2
- package/dist/common/icons/free-window.js +2 -2
- package/dist/common/icons/gear.d.ts +2 -2
- package/dist/common/icons/gear.js +2 -2
- package/dist/common/icons/hash.d.ts +2 -2
- package/dist/common/icons/hash.js +2 -2
- package/dist/common/icons/histogram.d.ts +1 -1
- package/dist/common/icons/histogram.js +2 -2
- package/dist/common/icons/index.d.ts +1 -0
- package/dist/common/icons/index.js +10 -2
- package/dist/common/icons/info.d.ts +2 -2
- package/dist/common/icons/info.js +2 -2
- package/dist/common/icons/layers.d.ts +2 -2
- package/dist/common/icons/layers.js +2 -2
- package/dist/common/icons/left-arrow.d.ts +2 -2
- package/dist/common/icons/left-arrow.js +2 -2
- package/dist/common/icons/legend.d.ts +2 -2
- package/dist/common/icons/legend.js +2 -2
- package/dist/common/icons/line-chart.d.ts +2 -2
- package/dist/common/icons/line-chart.js +2 -2
- package/dist/common/icons/login.d.ts +2 -2
- package/dist/common/icons/login.js +2 -2
- package/dist/common/icons/logout.d.ts +2 -2
- package/dist/common/icons/logout.js +2 -2
- package/dist/common/icons/map-icon.d.ts +2 -2
- package/dist/common/icons/map-icon.js +2 -2
- package/dist/common/icons/map.d.ts +2 -2
- package/dist/common/icons/map.js +2 -2
- package/dist/common/icons/messages.d.ts +2 -2
- package/dist/common/icons/messages.js +2 -2
- package/dist/common/icons/minus.d.ts +2 -2
- package/dist/common/icons/minus.js +2 -2
- package/dist/common/icons/order-by-dataset.d.ts +2 -2
- package/dist/common/icons/order-by-dataset.js +2 -2
- package/dist/common/icons/order-by-list.d.ts +2 -2
- package/dist/common/icons/order-by-list.js +2 -2
- package/dist/common/icons/pause.d.ts +2 -2
- package/dist/common/icons/pause.js +2 -2
- package/dist/common/icons/picture.d.ts +1 -1
- package/dist/common/icons/picture.js +2 -2
- package/dist/common/icons/pin.d.ts +2 -2
- package/dist/common/icons/pin.js +2 -2
- package/dist/common/icons/play.d.ts +2 -2
- package/dist/common/icons/play.js +2 -2
- package/dist/common/icons/polygon.d.ts +2 -2
- package/dist/common/icons/polygon.js +2 -2
- package/dist/common/icons/rectangle.d.ts +2 -2
- package/dist/common/icons/rectangle.js +2 -2
- package/dist/common/icons/reduce.d.ts +2 -2
- package/dist/common/icons/reduce.js +2 -2
- package/dist/common/icons/reset.d.ts +2 -2
- package/dist/common/icons/reset.js +2 -2
- package/dist/common/icons/rocket.d.ts +2 -2
- package/dist/common/icons/rocket.js +2 -2
- package/dist/common/icons/save.d.ts +2 -2
- package/dist/common/icons/save.js +2 -2
- package/dist/common/icons/save2.d.ts +2 -2
- package/dist/common/icons/save2.js +2 -2
- package/dist/common/icons/search.d.ts +2 -2
- package/dist/common/icons/search.js +2 -2
- package/dist/common/icons/settings.d.ts +2 -2
- package/dist/common/icons/settings.js +2 -2
- package/dist/common/icons/share.d.ts +2 -2
- package/dist/common/icons/share.js +2 -2
- package/dist/common/icons/split.d.ts +2 -2
- package/dist/common/icons/split.js +2 -2
- package/dist/common/icons/square-select.d.ts +2 -2
- package/dist/common/icons/square-select.js +2 -2
- package/dist/common/icons/trash.d.ts +2 -2
- package/dist/common/icons/trash.js +2 -2
- package/dist/common/icons/vert-dots.d.ts +2 -2
- package/dist/common/icons/vert-dots.js +2 -2
- package/dist/common/icons/vert-three-dots.d.ts +2 -2
- package/dist/common/icons/vert-three-dots.js +2 -2
- package/dist/common/icons/warning-sign.d.ts +2 -2
- package/dist/common/icons/warning-sign.js +2 -2
- package/dist/common/icons/warning.d.ts +2 -2
- package/dist/common/icons/warning.js +2 -2
- package/dist/common/image-preview.d.ts +2 -2
- package/dist/common/image-preview.js +2 -2
- package/dist/common/index.d.ts +1 -1
- package/dist/common/index.js +8 -2
- package/dist/common/info-helper.d.ts +2 -2
- package/dist/common/info-helper.js +2 -2
- package/dist/common/item-selector/accessor.js +2 -2
- package/dist/common/item-selector/chickleted-input.js +2 -2
- package/dist/common/item-selector/dropdown-list.d.ts +28 -8
- package/dist/common/item-selector/dropdown-list.js +144 -25
- package/dist/common/item-selector/item-selector.d.ts +2 -3
- package/dist/common/item-selector/item-selector.js +7 -3
- package/dist/common/item-selector/typeahead.d.ts +16 -12
- package/dist/common/item-selector/typeahead.js +24 -13
- package/dist/common/line-chart.d.ts +2 -2
- package/dist/common/line-chart.js +2 -2
- package/dist/common/loading-spinner.js +2 -2
- package/dist/common/logo.d.ts +2 -2
- package/dist/common/logo.js +2 -2
- package/dist/common/map-layer-selector.d.ts +2 -2
- package/dist/common/map-layer-selector.js +3 -4
- package/dist/common/modal.d.ts +24 -11
- package/dist/common/modal.js +2 -2
- package/dist/common/portaled.d.ts +513 -2
- package/dist/common/portaled.js +2 -2
- package/dist/common/progress-bar.d.ts +2 -2
- package/dist/common/progress-bar.js +2 -2
- package/dist/common/range-brush.js +2 -2
- package/dist/common/range-plot.d.ts +6 -2
- package/dist/common/range-plot.js +4 -3
- package/dist/common/range-slider.d.ts +5 -1
- package/dist/common/range-slider.js +9 -3
- package/dist/common/slider/mouse-event.js +2 -2
- package/dist/common/slider/slider-bar-handle.d.ts +2 -2
- package/dist/common/slider/slider-bar-handle.js +2 -2
- package/dist/common/slider/slider-handle.d.ts +1 -1
- package/dist/common/slider/slider-handle.js +2 -2
- package/dist/common/slider/slider.d.ts +7 -5
- package/dist/common/slider/slider.js +8 -5
- package/dist/common/styled-components.d.ts +5 -0
- package/dist/common/styled-components.js +161 -47
- package/dist/common/switch.d.ts +3 -2
- package/dist/common/switch.js +2 -2
- package/dist/common/time-range-slider-time-title.d.ts +2 -2
- package/dist/common/time-range-slider-time-title.js +2 -2
- package/dist/common/time-range-slider.d.ts +6 -3
- package/dist/common/time-range-slider.js +33 -14
- package/dist/common/time-slider-marker.d.ts +1 -1
- package/dist/common/time-slider-marker.js +3 -3
- package/dist/common/timeline-slider.d.ts +13 -0
- package/dist/common/timeline-slider.js +173 -0
- package/dist/common/tippy-tooltip.d.ts +4 -2
- package/dist/common/tippy-tooltip.js +23 -11
- package/dist/common/toolbar-item.d.ts +1 -1
- package/dist/common/toolbar-item.js +6 -4
- package/dist/common/toolbar.js +2 -2
- package/dist/common/vertical-toolbar.js +2 -2
- package/dist/connect/keplergl-connect.d.ts +5 -1
- package/dist/connect/keplergl-connect.js +2 -2
- package/dist/connect/with-local-selector.js +2 -2
- package/dist/container.js +2 -2
- package/dist/context.js +4 -3
- package/dist/dnd-context.d.ts +13 -0
- package/dist/dnd-context.js +252 -0
- package/dist/editor/editor.d.ts +11 -10
- package/dist/editor/editor.js +97 -103
- package/dist/editor/feature-action-panel.d.ts +8 -6
- package/dist/editor/feature-action-panel.js +75 -22
- package/dist/effects/effect-configurator.d.ts +18 -0
- package/dist/effects/effect-configurator.js +237 -0
- package/dist/effects/effect-list.d.ts +15 -0
- package/dist/effects/effect-list.js +173 -0
- package/dist/effects/effect-manager.d.ts +21 -0
- package/dist/effects/effect-manager.js +129 -0
- package/dist/effects/effect-panel-header.d.ts +33 -0
- package/dist/effects/effect-panel-header.js +174 -0
- package/dist/effects/effect-panel.d.ts +24 -0
- package/dist/effects/effect-panel.js +162 -0
- package/dist/effects/effect-time-configurator.d.ts +13 -0
- package/dist/effects/effect-time-configurator.js +191 -0
- package/dist/effects/effect-type-selector.d.ts +11 -0
- package/dist/effects/effect-type-selector.js +117 -0
- package/dist/effects/side-panel-title.d.ts +7 -0
- package/dist/effects/side-panel-title.js +67 -0
- package/dist/filter-animation-controller.d.ts +17 -0
- package/dist/filter-animation-controller.js +91 -0
- package/dist/filters/components.js +2 -2
- package/dist/filters/filter-panels/filter-panel-with-field-select.js +3 -3
- package/dist/filters/filter-panels/multi-select-filter-panel.js +3 -3
- package/dist/filters/filter-panels/new-filter-panel.js +2 -2
- package/dist/filters/filter-panels/polygon-filter-panel.js +3 -3
- package/dist/filters/filter-panels/range-filter-panel.js +3 -3
- package/dist/filters/filter-panels/single-select-filter-panel.js +3 -3
- package/dist/filters/filter-panels/time-range-filter-panel.js +25 -8
- package/dist/filters/filter-panels/types.d.ts +2 -1
- package/dist/filters/filter-panels/types.js +1 -1
- package/dist/filters/index.d.ts +2 -0
- package/dist/filters/index.js +18 -2
- package/dist/filters/multi-select-filter.js +2 -2
- package/dist/filters/polygon-filter.js +14 -4
- package/dist/filters/range-filter.js +6 -4
- package/dist/filters/single-select-filter.js +2 -2
- package/dist/filters/time-range-filter.d.ts +2 -1
- package/dist/filters/time-range-filter.js +10 -7
- package/dist/filters/time-widget-top.d.ts +8 -0
- package/dist/filters/time-widget-top.js +123 -0
- package/dist/filters/time-widget.d.ts +3 -7
- package/dist/filters/time-widget.js +35 -92
- package/dist/filters/types.d.ts +7 -3
- package/dist/filters/types.js +1 -1
- package/dist/geocoder/geocoder.d.ts +1 -3
- package/dist/geocoder/geocoder.js +2 -2
- package/dist/geocoder-panel.d.ts +9 -3
- package/dist/geocoder-panel.js +30 -19
- package/dist/hooks/useFeatureFlags.js +1 -1
- package/dist/index.d.ts +68 -20
- package/dist/index.js +599 -99
- package/dist/injector.d.ts +4 -4
- package/dist/injector.js +2 -2
- package/dist/kepler-gl.d.ts +58 -17
- package/dist/kepler-gl.js +78 -31
- package/dist/layer-animation-controller.d.ts +13 -0
- package/dist/layer-animation-controller.js +76 -0
- package/dist/map/coordinate-info.js +2 -2
- package/dist/map/effects/effect-control.d.ts +16 -0
- package/dist/map/effects/effect-control.js +81 -0
- package/dist/map/layer-hover-info.d.ts +2 -2
- package/dist/map/layer-hover-info.js +26 -10
- package/dist/map/layer-selector-panel.js +2 -2
- package/dist/map/lazy-tippy.js +1 -1
- package/dist/map/locale-panel.d.ts +1 -1
- package/dist/map/locale-panel.js +2 -2
- package/dist/map/map-control-panel.d.ts +6 -0
- package/dist/map/map-control-panel.js +65 -9
- package/dist/map/map-control-toolbar.js +3 -3
- package/dist/map/map-control-tooltip.js +2 -2
- package/dist/map/map-control.d.ts +15 -7
- package/dist/map/map-control.js +6 -7
- package/dist/map/map-draw-panel.d.ts +2 -2
- package/dist/map/map-draw-panel.js +2 -9
- package/dist/map/map-legend-panel.d.ts +12 -1
- package/dist/map/map-legend-panel.js +27 -14
- package/dist/map/map-legend.d.ts +1 -1
- package/dist/map/map-legend.js +2 -2
- package/dist/map/map-popover-content.d.ts +28 -0
- package/dist/map/map-popover-content.js +51 -0
- package/dist/map/map-popover.d.ts +11 -14
- package/dist/map/map-popover.js +94 -15
- package/dist/map/split-map-button.js +2 -2
- package/dist/map/toggle-3d-button.js +2 -2
- package/dist/map-container.d.ts +33 -9
- package/dist/map-container.js +530 -161
- package/dist/map-view-state-context.d.ts +12 -0
- package/dist/map-view-state-context.js +116 -0
- package/dist/maps-layout.d.ts +5 -2
- package/dist/maps-layout.js +7 -3
- package/dist/modal-container.d.ts +2 -6
- package/dist/modal-container.js +8 -6
- package/dist/modals/add-map-style-modal.d.ts +1 -3
- package/dist/modals/add-map-style-modal.js +12 -6
- package/dist/modals/cloud-tile.js +2 -2
- package/dist/modals/data-table-modal.d.ts +11 -2
- package/dist/modals/data-table-modal.js +75 -24
- package/dist/modals/delete-data-modal.js +2 -2
- package/dist/modals/error-display.js +2 -2
- package/dist/modals/export-data-modal.d.ts +1 -3
- package/dist/modals/export-data-modal.js +2 -2
- package/dist/modals/export-image-modal.d.ts +1 -3
- package/dist/modals/export-image-modal.js +2 -2
- package/dist/modals/export-map-modal/components.d.ts +2 -2
- package/dist/modals/export-map-modal/components.js +2 -2
- package/dist/modals/export-map-modal/export-html-map.js +2 -2
- package/dist/modals/export-map-modal/export-json-map.d.ts +1 -1
- package/dist/modals/export-map-modal/export-json-map.js +2 -2
- package/dist/modals/export-map-modal/export-map-modal.d.ts +2 -2
- package/dist/modals/export-map-modal/export-map-modal.js +2 -2
- package/dist/modals/image-modal-container.d.ts +1 -0
- package/dist/modals/image-modal-container.js +2 -2
- package/dist/modals/load-data-modal.js +2 -2
- package/dist/modals/load-storage-map.js +2 -2
- package/dist/modals/loading-dialog.js +2 -2
- package/dist/modals/modal-dialog.js +2 -2
- package/dist/modals/modal-tabs.d.ts +1 -1
- package/dist/modals/modal-tabs.js +2 -2
- package/dist/modals/overwrite-map-modal.js +2 -2
- package/dist/modals/provider-modal-container.d.ts +3 -2
- package/dist/modals/provider-modal-container.js +2 -2
- package/dist/modals/save-map-modal.js +2 -2
- package/dist/modals/share-map-modal.js +2 -2
- package/dist/modals/status-panel.js +2 -2
- package/dist/modals/storage-map-viewer.d.ts +1 -1
- package/dist/modals/storage-map-viewer.js +2 -2
- package/dist/notification-panel/notification-item.d.ts +7 -10
- package/dist/notification-panel/notification-item.js +45 -13
- package/dist/notification-panel.js +2 -2
- package/dist/plot-container.js +20 -8
- package/dist/side-panel/add-by-dataset-button.d.ts +12 -0
- package/dist/side-panel/add-by-dataset-button.js +173 -0
- package/dist/side-panel/cloud-storage-dropdown.d.ts +2 -2
- package/dist/side-panel/cloud-storage-dropdown.js +2 -2
- package/dist/side-panel/common/dataset-info.d.ts +10 -3
- package/dist/side-panel/common/dataset-info.js +2 -2
- package/dist/side-panel/common/dataset-tag.d.ts +15 -1
- package/dist/side-panel/common/dataset-tag.js +14 -11
- package/dist/side-panel/common/dataset-title.d.ts +16 -2
- package/dist/side-panel/common/dataset-title.js +71 -105
- package/dist/side-panel/common/source-data-catalog.d.ts +22 -3
- package/dist/side-panel/common/source-data-catalog.js +2 -2
- package/dist/side-panel/common/source-data-selector.js +2 -2
- package/dist/side-panel/common/types.d.ts +7 -27
- package/dist/side-panel/common/types.js +1 -1
- package/dist/side-panel/custom-panel.d.ts +6 -7
- package/dist/side-panel/custom-panel.js +2 -2
- package/dist/side-panel/filter-manager.d.ts +18 -6
- package/dist/side-panel/filter-manager.js +176 -65
- package/dist/side-panel/filter-panel/add-filter-button.d.ts +8 -0
- package/dist/side-panel/filter-panel/add-filter-button.js +50 -0
- package/dist/side-panel/filter-panel/filter-panel-header.d.ts +6 -3
- package/dist/side-panel/filter-panel/filter-panel-header.js +4 -4
- package/dist/side-panel/filter-panel/filter-panel.js +2 -2
- package/dist/side-panel/interaction-manager.d.ts +6 -3
- package/dist/side-panel/interaction-manager.js +21 -8
- package/dist/side-panel/interaction-panel/brush-config.d.ts +2 -2
- package/dist/side-panel/interaction-panel/brush-config.js +2 -2
- package/dist/side-panel/interaction-panel/interaction-panel.d.ts +5 -2
- package/dist/side-panel/interaction-panel/interaction-panel.js +12 -5
- package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +3 -9
- package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +25 -42
- package/dist/side-panel/interaction-panel/tooltip-config.d.ts +2 -3
- package/dist/side-panel/interaction-panel/tooltip-config.js +9 -7
- package/dist/side-panel/layer-manager.d.ts +8 -10
- package/dist/side-panel/layer-manager.js +71 -37
- package/dist/side-panel/layer-panel/add-layer-button.d.ts +3 -5
- package/dist/side-panel/layer-panel/add-layer-button.js +13 -139
- package/dist/side-panel/layer-panel/color-palette.js +2 -2
- package/dist/side-panel/layer-panel/color-range-selector.d.ts +1 -1
- package/dist/side-panel/layer-panel/color-range-selector.js +2 -2
- package/dist/side-panel/layer-panel/color-selector.d.ts +15 -24
- package/dist/side-panel/layer-panel/color-selector.js +175 -127
- package/dist/side-panel/layer-panel/column-selector.js +2 -2
- package/dist/side-panel/layer-panel/custom-palette.d.ts +7 -2
- package/dist/side-panel/layer-panel/custom-palette.js +6 -5
- package/dist/side-panel/layer-panel/custom-picker.d.ts +9 -36
- package/dist/side-panel/layer-panel/custom-picker.js +2 -2
- package/dist/side-panel/layer-panel/dataset-layer-group.d.ts +1 -1
- package/dist/side-panel/layer-panel/dataset-layer-group.js +3 -2
- package/dist/side-panel/layer-panel/dataset-layer-section.d.ts +3 -2
- package/dist/side-panel/layer-panel/dataset-layer-section.js +5 -4
- package/dist/side-panel/layer-panel/dataset-section.d.ts +2 -3
- package/dist/side-panel/layer-panel/dataset-section.js +6 -7
- package/dist/side-panel/layer-panel/dimension-scale-selector.js +2 -2
- package/dist/side-panel/layer-panel/how-to-button.js +2 -2
- package/dist/side-panel/layer-panel/layer-color-selector.d.ts +42 -0
- package/dist/side-panel/layer-panel/layer-color-selector.js +134 -0
- package/dist/side-panel/layer-panel/layer-column-config.d.ts +15 -9
- package/dist/side-panel/layer-panel/layer-column-config.js +35 -13
- package/dist/side-panel/layer-panel/layer-config-group.d.ts +11 -2
- package/dist/side-panel/layer-panel/layer-config-group.js +19 -11
- package/dist/side-panel/layer-panel/layer-configurator.d.ts +10 -35
- package/dist/side-panel/layer-panel/layer-configurator.js +61 -110
- package/dist/side-panel/layer-panel/layer-error-message.d.ts +6 -0
- package/dist/side-panel/layer-panel/layer-error-message.js +58 -0
- package/dist/side-panel/layer-panel/layer-list.d.ts +4 -3
- package/dist/side-panel/layer-panel/layer-list.js +112 -89
- package/dist/side-panel/layer-panel/layer-panel-header.d.ts +22 -10
- package/dist/side-panel/layer-panel/layer-panel-header.js +106 -67
- package/dist/side-panel/layer-panel/layer-panel.d.ts +3 -1
- package/dist/side-panel/layer-panel/layer-panel.js +24 -11
- package/dist/side-panel/layer-panel/layer-type-dropdown-list.js +2 -2
- package/dist/side-panel/layer-panel/layer-type-list-item.d.ts +12 -3
- package/dist/side-panel/layer-panel/layer-type-list-item.js +12 -4
- package/dist/side-panel/layer-panel/layer-type-selector.d.ts +2 -1
- package/dist/side-panel/layer-panel/layer-type-selector.js +5 -3
- package/dist/side-panel/layer-panel/single-color-palette.d.ts +1 -1
- package/dist/side-panel/layer-panel/single-color-palette.js +2 -2
- package/dist/side-panel/layer-panel/text-label-panel.d.ts +4 -2
- package/dist/side-panel/layer-panel/text-label-panel.js +62 -15
- package/dist/side-panel/layer-panel/vis-config-by-field-selector.d.ts +1 -3
- package/dist/side-panel/layer-panel/vis-config-by-field-selector.js +2 -2
- package/dist/side-panel/layer-panel/vis-config-slider.js +2 -2
- package/dist/side-panel/layer-panel/vis-config-switch.js +2 -2
- package/dist/side-panel/map-manager.d.ts +13 -6
- package/dist/side-panel/map-manager.js +56 -45
- 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 +116 -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 +131 -0
- package/dist/side-panel/map-style-panel/map-layer-selector.d.ts +16 -12
- package/dist/side-panel/map-style-panel/map-layer-selector.js +34 -51
- package/dist/side-panel/map-style-panel/map-style-selector.d.ts +11 -4
- package/dist/side-panel/map-style-panel/map-style-selector.js +54 -20
- package/dist/side-panel/panel-dropdown.d.ts +3 -2
- package/dist/side-panel/panel-dropdown.js +2 -2
- package/dist/side-panel/panel-header-action.d.ts +4 -2
- package/dist/side-panel/panel-header-action.js +11 -4
- package/dist/side-panel/panel-header.d.ts +13 -8
- package/dist/side-panel/panel-header.js +2 -2
- package/dist/side-panel/panel-tab.d.ts +2 -2
- package/dist/side-panel/panel-tab.js +2 -2
- package/dist/side-panel/panel-title.d.ts +6 -3
- package/dist/side-panel/panel-title.js +31 -14
- package/dist/side-panel/panel-toggle.d.ts +1 -1
- package/dist/side-panel/panel-toggle.js +2 -2
- package/dist/side-panel/{layer-panel/panel-view-list-toggle.d.ts → panel-view-list-toggle.d.ts} +19 -8
- package/dist/side-panel/panel-view-list-toggle.js +143 -0
- package/dist/side-panel/side-bar.d.ts +15 -16
- package/dist/side-panel/side-bar.js +8 -6
- package/dist/side-panel.d.ts +2 -117
- package/dist/side-panel.js +14 -20
- package/dist/types.d.ts +16 -9
- package/dist/types.js +1 -1
- package/package.json +41 -34
- package/dist/editor/constants.d.ts +0 -17
- package/dist/editor/constants.js +0 -47
- package/dist/editor/feature-styles.d.ts +0 -37
- package/dist/editor/feature-styles.js +0 -92
- package/dist/editor/handle-style.d.ts +0 -42
- package/dist/editor/handle-style.js +0 -100
- package/dist/side-panel/layer-panel/panel-view-list-toggle.js +0 -143
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright (c)
|
|
1
|
+
// Copyright (c) 2023 Uber Technologies, Inc.
|
|
2
2
|
//
|
|
3
3
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
4
|
// of this software and associated documentation files (the "Software"), to deal
|
|
@@ -27,11 +27,12 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
|
|
|
27
27
|
Object.defineProperty(exports, "__esModule", {
|
|
28
28
|
value: true
|
|
29
29
|
});
|
|
30
|
-
exports.TimeWidgetTopFactory = TimeWidgetTopFactory;
|
|
31
30
|
exports["default"] = void 0;
|
|
32
31
|
|
|
33
32
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
34
33
|
|
|
34
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
35
|
+
|
|
35
36
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
36
37
|
|
|
37
38
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -40,102 +41,40 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
|
40
41
|
|
|
41
42
|
var _styledComponents2 = require("../common/styled-components");
|
|
42
43
|
|
|
43
|
-
var _icons = require("../common/icons");
|
|
44
|
-
|
|
45
44
|
var _timeRangeSlider = _interopRequireDefault(require("../common/time-range-slider"));
|
|
46
45
|
|
|
47
|
-
var _fieldSelector = _interopRequireDefault(require("../common/field-selector"));
|
|
48
|
-
|
|
49
46
|
var _floatingTimeDisplay = _interopRequireDefault(require("../common/animation-control/floating-time-display"));
|
|
50
47
|
|
|
51
48
|
var _timeRangeFilter = require("./time-range-filter");
|
|
52
49
|
|
|
53
|
-
var
|
|
54
|
-
|
|
55
|
-
var TOP_SECTION_HEIGHT = '36px';
|
|
56
|
-
var TimeBottomWidgetInner = (0, _styledComponents["default"])(_styledComponents2.BottomWidgetInner)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n padding: 6px 32px 24px 32px;\n"])));
|
|
50
|
+
var _timeWidgetTop = _interopRequireDefault(require("./time-widget-top"));
|
|
57
51
|
|
|
58
|
-
var
|
|
59
|
-
className: 'time-widget--top'
|
|
60
|
-
})(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n width: 100%;\n color: ", ";\n height: ", ";\n\n .bottom-widget__y-axis {\n flex-grow: 1;\n margin-left: 20px;\n }\n\n .bottom-widget__field-select {\n width: 160px;\n display: inline-block;\n\n .item-selector__dropdown {\n background: transparent;\n padding: 4px 10px 4px 4px;\n border-color: transparent;\n\n :active,\n :focus,\n &.focus,\n &.active {\n background: transparent;\n border-color: transparent;\n }\n }\n\n .item-selector__dropdown:hover {\n background: transparent;\n border-color: transparent;\n\n .item-selector__dropdown__value {\n color: ", ";\n }\n }\n }\n\n .animation-control__speed-control {\n margin-right: -12px;\n\n .animation-control__speed-slider {\n right: calc(0% - 48px);\n }\n }\n"])), function (props) {
|
|
61
|
-
return props.theme.labelColor;
|
|
62
|
-
}, TOP_SECTION_HEIGHT, function (props) {
|
|
63
|
-
return props.hoverColor ? props.theme[props.hoverColor] : props.theme.textColorHl;
|
|
64
|
-
});
|
|
52
|
+
var _templateObject;
|
|
65
53
|
|
|
66
|
-
var
|
|
67
|
-
|
|
68
|
-
});
|
|
69
|
-
TimeWidgetTopFactory.deps = [_fieldSelector["default"]];
|
|
54
|
+
var TimeBottomWidgetInner = (0, _styledComponents["default"])(_styledComponents2.BottomWidgetInner)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n padding: 6px 32px 24px 32px;\n"])));
|
|
55
|
+
TimeWidgetFactory.deps = [_timeRangeSlider["default"], _floatingTimeDisplay["default"], _timeWidgetTop["default"]];
|
|
70
56
|
|
|
71
|
-
function
|
|
72
|
-
var
|
|
73
|
-
var
|
|
57
|
+
function TimeWidgetFactory(TimeRangeSlider, FloatingTimeDisplay, TimeWidgetTop) {
|
|
58
|
+
var TimeWidget = function TimeWidget(_ref) {
|
|
59
|
+
var datasets = _ref.datasets,
|
|
60
|
+
filter = _ref.filter,
|
|
61
|
+
index = _ref.index,
|
|
74
62
|
readOnly = _ref.readOnly,
|
|
75
|
-
|
|
63
|
+
showTimeDisplay = _ref.showTimeDisplay,
|
|
64
|
+
setFilterAnimationTime = _ref.setFilterAnimationTime,
|
|
65
|
+
onClose = _ref.onClose,
|
|
66
|
+
resetAnimation = _ref.resetAnimation,
|
|
67
|
+
isAnimatable = _ref.isAnimatable,
|
|
68
|
+
updateAnimationSpeed = _ref.updateAnimationSpeed,
|
|
69
|
+
toggleAnimation = _ref.toggleAnimation,
|
|
76
70
|
setFilterPlot = _ref.setFilterPlot,
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
var yAxisFields = (0, _react.useMemo)(function () {
|
|
80
|
-
return ((datasets[filter.dataId[0]] || {}).fields || []).filter(function (f) {
|
|
81
|
-
return f.type === 'integer' || f.type === 'real';
|
|
82
|
-
});
|
|
83
|
-
}, [datasets, filter.dataId]);
|
|
84
|
-
|
|
85
|
-
var _setFilterPlotYAxis = (0, _react.useCallback)(function (value) {
|
|
86
|
-
return setFilterPlot(index, {
|
|
87
|
-
yAxis: value
|
|
88
|
-
});
|
|
89
|
-
}, [setFilterPlot, index]);
|
|
90
|
-
|
|
91
|
-
return /*#__PURE__*/_react["default"].createElement(TopSectionWrapper, null, /*#__PURE__*/_react["default"].createElement(StyledTitle, {
|
|
92
|
-
className: "bottom-widget__field"
|
|
93
|
-
}, /*#__PURE__*/_react["default"].createElement(_styledComponents2.CenterFlexbox, {
|
|
94
|
-
className: "bottom-widget__icon"
|
|
95
|
-
}, /*#__PURE__*/_react["default"].createElement(_icons.Clock, {
|
|
96
|
-
height: "15px"
|
|
97
|
-
})), /*#__PURE__*/_react["default"].createElement(_styledComponents2.SelectTextBold, null, filter.name)), /*#__PURE__*/_react["default"].createElement(StyledTitle, {
|
|
98
|
-
className: "bottom-widget__y-axis"
|
|
99
|
-
}, /*#__PURE__*/_react["default"].createElement(_styledComponents2.CenterFlexbox, {
|
|
100
|
-
className: "bottom-widget__icon"
|
|
101
|
-
}, /*#__PURE__*/_react["default"].createElement(_icons.LineChart, {
|
|
102
|
-
height: "15px"
|
|
103
|
-
})), /*#__PURE__*/_react["default"].createElement("div", {
|
|
104
|
-
className: "bottom-widget__field-select"
|
|
105
|
-
}, /*#__PURE__*/_react["default"].createElement(FieldSelector, {
|
|
106
|
-
fields: yAxisFields,
|
|
107
|
-
placement: "top",
|
|
108
|
-
value: filter.yAxis ? filter.yAxis.name : null,
|
|
109
|
-
onSelect: _setFilterPlotYAxis,
|
|
110
|
-
placeholder: "placeholder.yAxis",
|
|
111
|
-
erasable: true,
|
|
112
|
-
showToken: false
|
|
113
|
-
}))), !readOnly ? /*#__PURE__*/_react["default"].createElement(_styledComponents2.CenterFlexbox, null, /*#__PURE__*/_react["default"].createElement(_styledComponents2.IconRoundSmall, null, /*#__PURE__*/_react["default"].createElement(_icons.Close, {
|
|
114
|
-
height: "12px",
|
|
115
|
-
onClick: onClose
|
|
116
|
-
}))) : null);
|
|
117
|
-
};
|
|
71
|
+
setFilterAnimationWindow = _ref.setFilterAnimationWindow,
|
|
72
|
+
timeline = _ref.timeline;
|
|
118
73
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
function TimeWidgetFactory(TimeRangeSlider, FloatingTimeDisplay, TimeWidgetTop) {
|
|
125
|
-
var TimeWidget = function TimeWidget(_ref2) {
|
|
126
|
-
var datasets = _ref2.datasets,
|
|
127
|
-
filter = _ref2.filter,
|
|
128
|
-
index = _ref2.index,
|
|
129
|
-
readOnly = _ref2.readOnly,
|
|
130
|
-
showTimeDisplay = _ref2.showTimeDisplay,
|
|
131
|
-
setFilterAnimationTime = _ref2.setFilterAnimationTime,
|
|
132
|
-
resetAnimation = _ref2.resetAnimation,
|
|
133
|
-
isAnimatable = _ref2.isAnimatable,
|
|
134
|
-
updateAnimationSpeed = _ref2.updateAnimationSpeed,
|
|
135
|
-
toggleAnimation = _ref2.toggleAnimation,
|
|
136
|
-
enlargeFilter = _ref2.enlargeFilter,
|
|
137
|
-
setFilterPlot = _ref2.setFilterPlot,
|
|
138
|
-
setFilterAnimationWindow = _ref2.setFilterAnimationWindow;
|
|
74
|
+
var _useState = (0, _react.useState)(false),
|
|
75
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
76
|
+
isMinified = _useState2[0],
|
|
77
|
+
setMinified = _useState2[1];
|
|
139
78
|
|
|
140
79
|
var _updateAnimationSpeed = (0, _react.useCallback)(function (speed) {
|
|
141
80
|
return updateAnimationSpeed(index, speed);
|
|
@@ -145,9 +84,9 @@ function TimeWidgetFactory(TimeRangeSlider, FloatingTimeDisplay, TimeWidgetTop)
|
|
|
145
84
|
return toggleAnimation(index);
|
|
146
85
|
}, [toggleAnimation, index]);
|
|
147
86
|
|
|
148
|
-
var
|
|
149
|
-
return
|
|
150
|
-
}, [
|
|
87
|
+
var _onToggleMinify = (0, _react.useCallback)(function () {
|
|
88
|
+
return setMinified(!isMinified);
|
|
89
|
+
}, [setMinified, isMinified]);
|
|
151
90
|
|
|
152
91
|
var _setFilterAnimationWindow = (0, _react.useCallback)(function (animationWindow) {
|
|
153
92
|
return setFilterAnimationWindow({
|
|
@@ -167,7 +106,9 @@ function TimeWidgetFactory(TimeRangeSlider, FloatingTimeDisplay, TimeWidgetTop)
|
|
|
167
106
|
datasets: datasets,
|
|
168
107
|
setFilterPlot: setFilterPlot,
|
|
169
108
|
index: index,
|
|
170
|
-
onClose:
|
|
109
|
+
onClose: onClose,
|
|
110
|
+
onToggleMinify: _onToggleMinify,
|
|
111
|
+
isMinified: isMinified
|
|
171
112
|
}), /*#__PURE__*/_react["default"].createElement(TimeRangeSlider, (0, _extends2["default"])({}, (0, _timeRangeFilter.timeRangeSliderFieldsSelector)(filter), {
|
|
172
113
|
onChange: timeSliderOnChange,
|
|
173
114
|
toggleAnimation: _toggleAnimation,
|
|
@@ -175,7 +116,9 @@ function TimeWidgetFactory(TimeRangeSlider, FloatingTimeDisplay, TimeWidgetTop)
|
|
|
175
116
|
setFilterAnimationWindow: _setFilterAnimationWindow,
|
|
176
117
|
hideTimeTitle: showTimeDisplay,
|
|
177
118
|
resetAnimation: resetAnimation,
|
|
178
|
-
isAnimatable: isAnimatable
|
|
119
|
+
isAnimatable: isAnimatable,
|
|
120
|
+
isMinified: isMinified,
|
|
121
|
+
timeline: timeline
|
|
179
122
|
})), showTimeDisplay ? /*#__PURE__*/_react["default"].createElement(FloatingTimeDisplay, {
|
|
180
123
|
currentTime: filter.value,
|
|
181
124
|
defaultTimeFormat: filter.defaultTimeFormat,
|
|
@@ -189,4 +132,4 @@ function TimeWidgetFactory(TimeRangeSlider, FloatingTimeDisplay, TimeWidgetTop)
|
|
|
189
132
|
|
|
190
133
|
var _default = TimeWidgetFactory;
|
|
191
134
|
exports["default"] = _default;
|
|
192
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWx0ZXJzL3RpbWUtd2lkZ2V0LnRzeCJdLCJuYW1lcyI6WyJUT1BfU0VDVElPTl9IRUlHSFQiLCJUaW1lQm90dG9tV2lkZ2V0SW5uZXIiLCJCb3R0b21XaWRnZXRJbm5lciIsIlRvcFNlY3Rpb25XcmFwcGVyIiwic3R5bGVkIiwiZGl2IiwiYXR0cnMiLCJjbGFzc05hbWUiLCJwcm9wcyIsInRoZW1lIiwibGFiZWxDb2xvciIsImhvdmVyQ29sb3IiLCJ0ZXh0Q29sb3JIbCIsIlN0eWxlZFRpdGxlIiwiQ2VudGVyRmxleGJveCIsInRleHRDb2xvciIsIlRpbWVXaWRnZXRUb3BGYWN0b3J5IiwiZGVwcyIsIkZpZWxkU2VsZWN0b3JGYWN0b3J5IiwiRmllbGRTZWxlY3RvciIsIlRpbWVXaWRnZXRUb3AiLCJmaWx0ZXIiLCJyZWFkT25seSIsImRhdGFzZXRzIiwic2V0RmlsdGVyUGxvdCIsImluZGV4Iiwib25DbG9zZSIsInlBeGlzRmllbGRzIiwiZGF0YUlkIiwiZmllbGRzIiwiZiIsInR5cGUiLCJfc2V0RmlsdGVyUGxvdFlBeGlzIiwidmFsdWUiLCJ5QXhpcyIsIm5hbWUiLCJUaW1lV2lkZ2V0RmFjdG9yeSIsIlRpbWVSYW5nZVNsaWRlckZhY3RvcnkiLCJGbG9hdGluZ1RpbWVEaXNwbGF5RmFjdG9yeSIsIlRpbWVSYW5nZVNsaWRlciIsIkZsb2F0aW5nVGltZURpc3BsYXkiLCJUaW1lV2lkZ2V0Iiwic2hvd1RpbWVEaXNwbGF5Iiwic2V0RmlsdGVyQW5pbWF0aW9uVGltZSIsInJlc2V0QW5pbWF0aW9uIiwiaXNBbmltYXRhYmxlIiwidXBkYXRlQW5pbWF0aW9uU3BlZWQiLCJ0b2dnbGVBbmltYXRpb24iLCJlbmxhcmdlRmlsdGVyIiwic2V0RmlsdGVyQW5pbWF0aW9uV2luZG93IiwiX3VwZGF0ZUFuaW1hdGlvblNwZWVkIiwic3BlZWQiLCJfdG9nZ2xlQW5pbWF0aW9uIiwiX29uQ2xvc2UiLCJfc2V0RmlsdGVyQW5pbWF0aW9uV2luZG93IiwiYW5pbWF0aW9uV2luZG93IiwiaWQiLCJ0aW1lU2xpZGVyT25DaGFuZ2UiLCJkZWZhdWx0VGltZUZvcm1hdCIsInRpbWVGb3JtYXQiLCJ0aW1lem9uZSIsIlJlYWN0IiwibWVtbyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFDQTs7QUFNQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7OztBQUdBLElBQU1BLGtCQUFrQixHQUFHLE1BQTNCO0FBRUEsSUFBTUMscUJBQXFCLEdBQUcsa0NBQU9DLG9DQUFQLENBQUgsd0hBQTNCOztBQUdBLElBQU1DLGlCQUFpQixHQUFHQyw2QkFBT0MsR0FBUCxDQUFXQyxLQUFYLENBQWlCO0FBQ3pDQyxFQUFBQSxTQUFTLEVBQUU7QUFEOEIsQ0FBakIsQ0FBSCx5OUJBTVosVUFBQUMsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZQyxVQUFoQjtBQUFBLENBTk8sRUFPWFYsa0JBUFcsRUFxQ04sVUFBQVEsS0FBSztBQUFBLFNBQ1pBLEtBQUssQ0FBQ0csVUFBTixHQUFtQkgsS0FBSyxDQUFDQyxLQUFOLENBQVlELEtBQUssQ0FBQ0csVUFBbEIsQ0FBbkIsR0FBbURILEtBQUssQ0FBQ0MsS0FBTixDQUFZRyxXQURuRDtBQUFBLENBckNDLENBQXZCOztBQW9EQSxJQUFNQyxXQUFXLEdBQUcsa0NBQU9DLGdDQUFQLENBQUgsdVFBRU4sVUFBQU4sS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZTSxTQUFoQjtBQUFBLENBRkMsQ0FBakI7QUFhQUMsb0JBQW9CLENBQUNDLElBQXJCLEdBQTRCLENBQUNDLHlCQUFELENBQTVCOztBQUNPLFNBQVNGLG9CQUFULENBQThCRyxhQUE5QixFQUFzRjtBQUMzRixNQUFNQyxhQUEyQyxHQUFHLFNBQTlDQSxhQUE4QyxPQU85QztBQUFBLFFBTkpDLE1BTUksUUFOSkEsTUFNSTtBQUFBLFFBTEpDLFFBS0ksUUFMSkEsUUFLSTtBQUFBLFFBSkpDLFFBSUksUUFKSkEs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LEtBQWpCLEVBQW9FLENBQzdGVSxzQkFENkYsRUFFN0ZsQixLQUY2RixDQUFwRSxDQUEzQjtBQUtBLHdCQUNFLGdDQUFDLHFCQUFEO0FBQXVCLE1BQUEsU0FBUyxFQUFDO0FBQWpDLG9CQUNFLGdDQUFDLGFBQUQ7QUFDRSxNQUFBLE1BQU0sRUFBRUosTUFEVjtBQUVFLE1BQUEsUUFBUSxFQUFFQyxRQUZaO0FBR0UsTUFBQSxRQUFRLEVBQUVDLFFBSFo7QUFJRSxNQUFBLGFBQWEsRUFBRUMsYUFKakI7QUFLRSxNQUFBLEtBQUssRUFBRUMsS0FMVDtBQU1FLE1BQUEsT0FBTyxFQUFFNEI7QUFOWCxNQURGLGVBU0UsZ0NBQUMsZUFBRCxnQ0FDTSxvREFBOEJoQyxNQUE5QixDQUROO0FBRUUsTUFBQSxRQUFRLEVBQUVvQyxrQkFGWjtBQUdFLE1BQUEsZUFBZSxFQUFFTCxnQkFIbkI7QUFJRSxNQUFBLG9CQUFvQixFQUFFRixxQkFKeEI7QUFLRSxNQUFBLHdCQUF3QixFQUFFSSx5QkFMNUI7QUFNRSxNQUFBLGFBQWEsRUFBRVosZUFOakI7QUFPRSxNQUFBLGNBQWMsRUFBRUUsY0FQbEI7QUFRRSxNQUFBLFlBQVksRUFBRUM7QUFSaEIsT0FURixFQW1CR0gsZUFBZSxnQkFDZCxnQ0FBQyxtQkFBRDtBQUNFLE1BQUEsV0FBVyxFQUFFckIsTUFBTSxDQUFDWSxLQUR0QjtBQUVFLE1BQUEsaUJBQWlCLEVBQUVaLE1BQU0sQ0FBQ3FDLGlCQUY1QjtBQUdFLE1BQUEsVUFBVSxFQUFFckMsTUFBTSxDQUFDc0MsVUFIckI7QUFJRSxNQUFBLFFBQVEsRUFBRXRDLE1BQU0sQ0FBQ3VDO0FBSm5CLE1BRGMsR0FPWixJQTFCTixDQURGO0FBOEJELEdBaEVEOztBQWtFQSxzQkFBT0Msa0JBQU1DLElBQU4sQ0FBV3JCLFVBQVgsQ0FBUDtBQUNEOztlQUVjTCxpQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge3VzZUNhbGxiYWNrLCB1c2VNZW1vfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIENlbnRlckZsZXhib3gsXG4gIFNlbGVjdFRleHRCb2xkLFxuICBJY29uUm91bmRTbWFsbCxcbiAgQm90dG9tV2lkZ2V0SW5uZXJcbn0gZnJvbSAnLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7Q2xvc2UsIENsb2NrLCBMaW5lQ2hhcnR9IGZyb20gJy4uL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQgVGltZVJhbmdlU2xpZGVyRmFjdG9yeSBmcm9tICcuLi9jb21tb24vdGltZS1yYW5nZS1zbGlkZXInO1xuaW1wb3J0IEZpZWxkU2VsZWN0b3JGYWN0b3J5IGZyb20gJy4uL2NvbW1vbi9maWVsZC1zZWxlY3Rvcic7XG5pbXBvcnQgRmxvYXRpbmdUaW1lRGlzcGxheUZhY3RvcnkgZnJvbSAnLi4vY29tbW9uL2FuaW1hdGlvbi1jb250cm9sL2Zsb2F0aW5nLXRpbWUtZGlzcGxheSc7XG5pbXBvcnQge0ZpZWxkfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7dGltZVJhbmdlU2xpZGVyRmllbGRzU2VsZWN0b3J9IGZyb20gJy4vdGltZS1yYW5nZS1maWx0ZXInO1xuaW1wb3J0IHtUaW1lV2lkZ2V0UHJvcHMsIFRpbWVXaWRnZXRUb3BQcm9wcywgVG9wU2VjdGlvbldyYXBwZXJQcm9wc30gZnJvbSAnLi90eXBlcyc7XG5cbmNvbnN0IFRPUF9TRUNUSU9OX0hFSUdIVCA9ICczNnB4JztcblxuY29uc3QgVGltZUJvdHRvbVdpZGdldElubmVyID0gc3R5bGVkKEJvdHRvbVdpZGdldElubmVyKWBcbiAgcGFkZGluZzogNnB4IDMycHggMjRweCAzMnB4O1xuYDtcbmNvbnN0IFRvcFNlY3Rpb25XcmFwcGVyID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ3RpbWUtd2lkZ2V0LS10b3AnXG59KTxUb3BTZWN0aW9uV3JhcHBlclByb3BzPmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGFiZWxDb2xvcn07XG4gIGhlaWdodDogJHtUT1BfU0VDVElPTl9IRUlHSFR9O1xuXG4gIC5ib3R0b20td2lkZ2V0X195LWF4aXMge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgfVxuXG4gIC5ib3R0b20td2lkZ2V0X19maWVsZC1zZWxlY3Qge1xuICAgIHdpZHRoOiAxNjBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAuaXRlbS1zZWxlY3Rvcl9fZHJvcGRvd24ge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBwYWRkaW5nOiA0cHggMTBweCA0cHggNHB4O1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgOmFjdGl2ZSxcbiAgICAgIDpmb2N1cyxcbiAgICAgICYuZm9jdXMsXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pdGVtLXNlbGVjdG9yX19kcm9wZG93bjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgIC5pdGVtLXNlbGVjdG9yX19kcm9wZG93bl9fdmFsdWUge1xuICAgICAgICBjb2xvcjogJHtwcm9wcyA9PlxuICAgICAgICAgIHByb3BzLmhvdmVyQ29sb3IgPyBwcm9wcy50aGVtZVtwcm9wcy5ob3ZlckNvbG9yXSA6IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYW5pbWF0aW9uLWNvbnRyb2xfX3NwZWVkLWNvbnRyb2wge1xuICAgIG1hcmdpbi1yaWdodDogLTEycHg7XG5cbiAgICAuYW5pbWF0aW9uLWNvbnRyb2xfX3NwZWVkLXNsaWRlciB7XG4gICAgICByaWdodDogY2FsYygwJSAtIDQ4cHgpO1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkVGl0bGUgPSBzdHlsZWQoQ2VudGVyRmxleGJveClgXG4gIGZsZXgtZ3JvdzogMDtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuXG4gIC5ib3R0b20td2lkZ2V0X19pY29uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuICAuYm90dG9tLXdpZGdldF9faWNvbi5zcGVlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG5gO1xuXG5UaW1lV2lkZ2V0VG9wRmFjdG9yeS5kZXBzID0gW0ZpZWxkU2VsZWN0b3JGYWN0b3J5XTtcbmV4cG9ydCBmdW5jdGlvbiBUaW1lV2lkZ2V0VG9wRmFjdG9yeShGaWVsZFNlbGVjdG9yOiBSZXR1cm5UeXBlPHR5cGVvZiBGaWVsZFNlbGVjdG9yRmFjdG9yeT4pIHtcbiAgY29uc3QgVGltZVdpZGdldFRvcDogUmVhY3QuRkM8VGltZVdpZGdldFRvcFByb3BzPiA9ICh7XG4gICAgZmlsdGVyLFxuICAgIHJlYWRPbmx5LFxuICAgIGRhdGFzZXRzLFxuICAgIHNldEZpbHRlclBsb3QsXG4gICAgaW5kZXgsXG4gICAgb25DbG9zZVxuICB9KSA9PiB7XG4gICAgY29uc3QgeUF4aXNGaWVsZHMgPSB1c2VNZW1vKFxuICAgICAgKCkgPT5cbiAgICAgICAgKChkYXRhc2V0c1tmaWx0ZXIuZGF0YUlkWzBdXSB8fCB7fSkuZmllbGRzIHx8IFtdKS5maWx0ZXIoXG4gICAgICAgICAgKGY6IEZpZWxkKSA9PiBmLnR5cGUgPT09ICdpbnRlZ2VyJyB8fCBmLnR5cGUgPT09ICdyZWFsJ1xuICAgICAgICApLFxuICAgICAgW2RhdGFzZXRzLCBmaWx0ZXIuZGF0YUlkXVxuICAgICk7XG4gICAgY29uc3QgX3NldEZpbHRlclBsb3RZQXhpcyA9IHVzZUNhbGxiYWNrKHZhbHVlID0+IHNldEZpbHRlclBsb3QoaW5kZXgsIHt5QXhpczogdmFsdWV9KSwgW1xuICAgICAgc2V0RmlsdGVyUGxvdCxcbiAgICAgIGluZGV4XG4gICAgXSk7XG4gICAgcmV0dXJuIChcbiAgICAgIDxUb3BTZWN0aW9uV3JhcHBlcj5cbiAgICAgICAgPFN0eWxlZFRpdGxlIGNsYXNzTmFtZT1cImJvdHRvbS13aWRnZXRfX2ZpZWxkXCI+XG4gICAgICAgICAgPENlbnRlckZsZXhib3ggY2xhc3NOYW1lPVwiYm90dG9tLXdpZGdldF9faWNvblwiPlxuICAgICAgICAgICAgPENsb2NrIGhlaWdodD1cIjE1cHhcIiAvPlxuICAgICAgICAgIDwvQ2VudGVyRmxleGJveD5cbiAgICAgICAgICA8U2VsZWN0VGV4dEJvbGQ+e2ZpbHRlci5uYW1lfTwvU2VsZWN0VGV4dEJvbGQ+XG4gICAgICAgIDwvU3R5bGVkVGl0bGU+XG4gICAgICAgIDxTdHlsZWRUaXRsZSBjbGFzc05hbWU9XCJib3R0b20td2lkZ2V0X195LWF4aXNcIj5cbiAgICAgICAgICA8Q2VudGVyRmxleGJveCBjbGFzc05hbWU9XCJib3R0b20td2lkZ2V0X19pY29uXCI+XG4gICAgICAgICAgICA8TGluZUNoYXJ0IGhlaWdodD1cIjE1cHhcIiAvPlxuICAgICAgICAgIDwvQ2VudGVyRmxleGJveD5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJvdHRvbS13aWRnZXRfX2ZpZWxkLXNlbGVjdFwiPlxuICAgICAgICAgICAgPEZpZWxkU2VsZWN0b3JcbiAgICAgICAgICAgICAgZmllbGRzPXt5QXhpc0ZpZWxkc31cbiAgICAgICAgICAgICAgcGxhY2VtZW50PVwidG9wXCJcbiAgICAgICAgICAgICAgdmFsdWU9e2ZpbHRlci55QXhpcyA/IGZpbHRlci55QXhpcy5uYW1lIDogbnVsbH1cbiAgICAgICAgICAgICAgb25TZWxlY3Q9e19zZXRGaWx0ZXJQbG90WUF4aXN9XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwicGxhY2Vob2xkZXIueUF4aXNcIlxuICAgICAgICAgICAgICBlcmFzYWJsZVxuICAgICAgICAgICAgICBzaG93VG9rZW49e2ZhbHNlfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9TdHlsZWRUaXRsZT5cbiAgICAgICAgeyFyZWFkT25seSA/IChcbiAgICAgICAgICA8Q2VudGVyRmxleGJveD5cbiAgICAgICAgICAgIDxJY29uUm91bmRTbWFsbD5cbiAgICAgICAgICAgICAgPENsb3NlIGhlaWdodD1cIjEycHhcIiBvbkNsaWNrPXtvbkNsb3NlfSAvPlxuICAgICAgICAgICAgPC9JY29uUm91bmRTbWFsbD5cbiAgICAgICAgICA8L0NlbnRlckZsZXhib3g+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Ub3BTZWN0aW9uV3JhcHBlcj5cbiAgICApO1xuICB9O1xuICByZXR1cm4gVGltZVdpZGdldFRvcDtcbn1cblxuVGltZVdpZGdldEZhY3RvcnkuZGVwcyA9IFtUaW1lUmFuZ2VTbGlkZXJGYWN0b3J5LCBGbG9hdGluZ1RpbWVEaXNwbGF5RmFjdG9yeSwgVGltZVdpZGdldFRvcEZhY3RvcnldO1xuZnVuY3Rpb24gVGltZVdpZGdldEZhY3RvcnkoXG4gIFRpbWVSYW5nZVNsaWRlcjogUmV0dXJuVHlwZTx0eXBlb2YgVGltZVJhbmdlU2xpZGVyRmFjdG9yeT4sXG4gIEZsb2F0aW5nVGltZURpc3BsYXk6IFJldHVyblR5cGU8dHlwZW9mIEZsb2F0aW5nVGltZURpc3BsYXlGYWN0b3J5PixcbiAgVGltZVdpZGdldFRvcDogUmV0dXJuVHlwZTx0eXBlb2YgVGltZVdpZGdldFRvcEZhY3Rvcnk+XG4pIHtcbiAgY29uc3QgVGltZVdpZGdldDogUmVhY3QuRkM8VGltZVdpZGdldFByb3BzPiA9ICh7XG4gICAgZGF0YXNldHMsXG4gICAgZmlsdGVyLFxuICAgIGluZGV4LFxuICAgIHJlYWRPbmx5LFxuICAgIHNob3dUaW1lRGlzcGxheSxcbiAgICBzZXRGaWx0ZXJBbmltYXRpb25UaW1lLFxuICAgIHJlc2V0QW5pbWF0aW9uLFxuICAgIGlzQW5pbWF0YWJsZSxcbiAgICB1cGRhdGVBbmltYXRpb25TcGVlZCxcbiAgICB0b2dnbGVBbmltYXRpb24sXG4gICAgZW5sYXJnZUZpbHRlcixcbiAgICBzZXRGaWx0ZXJQbG90LFxuICAgIHNldEZpbHRlckFuaW1hdGlvbldpbmRvd1xuICB9OiBUaW1lV2lkZ2V0UHJvcHMpID0+IHtcbiAgICBjb25zdCBfdXBkYXRlQW5pbWF0aW9uU3BlZWQgPSB1c2VDYWxsYmFjayhzcGVlZCA9PiB1cGRhdGVBbmltYXRpb25TcGVlZChpbmRleCwgc3BlZWQpLCBbXG4gICAgICB1cGRhdGVBbmltYXRpb25TcGVlZCxcbiAgICAgIGluZGV4XG4gICAgXSk7XG5cbiAgICBjb25zdCBfdG9nZ2xlQW5pbWF0aW9uID0gdXNlQ2FsbGJhY2soKCkgPT4gdG9nZ2xlQW5pbWF0aW9uKGluZGV4KSwgW3RvZ2dsZUFuaW1hdGlvbiwgaW5kZXhdKTtcblxuICAgIGNvbnN0IF9vbkNsb3NlID0gdXNlQ2FsbGJhY2soKCkgPT4gZW5sYXJnZUZpbHRlcihpbmRleCksIFtlbmxhcmdlRmlsdGVyLCBpbmRleF0pO1xuXG4gICAgY29uc3QgX3NldEZpbHRlckFuaW1hdGlvbldpbmRvdyA9IHVzZUNhbGxiYWNrKFxuICAgICAgYW5pbWF0aW9uV2luZG93ID0+IHNldEZpbHRlckFuaW1hdGlvbldpbmRvdyh7aWQ6IGZpbHRlci5pZCwgYW5pbWF0aW9uV2luZG93fSksXG4gICAgICBbc2V0RmlsdGVyQW5pbWF0aW9uV2luZG93LCBmaWx0ZXIuaWRdXG4gICAgKTtcblxuICAgIGNvbnN0IHRpbWVTbGlkZXJPbkNoYW5nZSA9IHVzZUNhbGxiYWNrKHZhbHVlID0+IHNldEZpbHRlckFuaW1hdGlvblRpbWUoaW5kZXgsICd2YWx1ZScsIHZhbHVlKSwgW1xuICAgICAgc2V0RmlsdGVyQW5pbWF0aW9uVGltZSxcbiAgICAgIGluZGV4XG4gICAgXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFRpbWVCb3R0b21XaWRnZXRJbm5lciBjbGFzc05hbWU9XCJib3R0b20td2lkZ2V0LS1pbm5lclwiPlxuICAgICAgICA8VGltZVdpZGdldFRvcFxuICAgICAgICAgIGZpbHRlcj17ZmlsdGVyfVxuICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICBkYXRhc2V0cz17ZGF0YXNldHN9XG4gICAgICAgICAgc2V0RmlsdGVyUGxvdD17c2V0RmlsdGVyUGxvdH1cbiAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgb25DbG9zZT17X29uQ2xvc2V9XG4gICAgICAgIC8+XG4gICAgICAgIDxUaW1lUmFuZ2VTbGlkZXJcbiAgICAgICAgICB7Li4udGltZVJhbmdlU2xpZGVyRmllbGRzU2VsZWN0b3IoZmlsdGVyKX1cbiAgICAgICAgICBvbkNoYW5nZT17dGltZVNsaWRlck9uQ2hhbmdlfVxuICAgICAgICAgIHRvZ2dsZUFuaW1hdGlvbj17X3RvZ2dsZUFuaW1hdGlvbn1cbiAgICAgICAgICB1cGRhdGVBbmltYXRpb25TcGVlZD17X3VwZGF0ZUFuaW1hdGlvblNwZWVkfVxuICAgICAgICAgIHNldEZpbHRlckFuaW1hdGlvbldpbmRvdz17X3NldEZpbHRlckFuaW1hdGlvbldpbmRvd31cbiAgICAgICAgICBoaWRlVGltZVRpdGxlPXtzaG93VGltZURpc3BsYXl9XG4gICAgICAgICAgcmVzZXRBbmltYXRpb249e3Jlc2V0QW5pbWF0aW9ufVxuICAgICAgICAgIGlzQW5pbWF0YWJsZT17aXNBbmltYXRhYmxlfVxuICAgICAgICAvPlxuICAgICAgICB7c2hvd1RpbWVEaXNwbGF5ID8gKFxuICAgICAgICAgIDxGbG9hdGluZ1RpbWVEaXNwbGF5XG4gICAgICAgICAgICBjdXJyZW50VGltZT17ZmlsdGVyLnZhbHVlfVxuICAgICAgICAgICAgZGVmYXVsdFRpbWVGb3JtYXQ9e2ZpbHRlci5kZWZhdWx0VGltZUZvcm1hdH1cbiAgICAgICAgICAgIHRpbWVGb3JtYXQ9e2ZpbHRlci50aW1lRm9ybWF0fVxuICAgICAgICAgICAgdGltZXpvbmU9e2ZpbHRlci50aW1lem9uZX1cbiAgICAgICAgICAvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVGltZUJvdHRvbVdpZGdldElubmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIFJlYWN0Lm1lbW8oVGltZVdpZGdldCk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IFRpbWVXaWRnZXRGYWN0b3J5O1xuIl19
|
|
135
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWx0ZXJzL3RpbWUtd2lkZ2V0LnRzeCJdLCJuYW1lcyI6WyJUaW1lQm90dG9tV2lkZ2V0SW5uZXIiLCJCb3R0b21XaWRnZXRJbm5lciIsIlRpbWVXaWRnZXRGYWN0b3J5IiwiZGVwcyIsIlRpbWVSYW5nZVNsaWRlckZhY3RvcnkiLCJGbG9hdGluZ1RpbWVEaXNwbGF5RmFjdG9yeSIsIlRpbWVXaWRnZXRUb3BGYWN0b3J5IiwiVGltZVJhbmdlU2xpZGVyIiwiRmxvYXRpbmdUaW1lRGlzcGxheSIsIlRpbWVXaWRnZXRUb3AiLCJUaW1lV2lkZ2V0IiwiZGF0YXNldHMiLCJmaWx0ZXIiLCJpbmRleCIsInJlYWRPbmx5Iiwic2hvd1RpbWVEaXNwbGF5Iiwic2V0RmlsdGVyQW5pbWF0aW9uVGltZSIsIm9uQ2xvc2UiLCJyZXNldEFuaW1hdGlvbiIsImlzQW5pbWF0YWJsZSIsInVwZGF0ZUFuaW1hdGlvblNwZWVkIiwidG9nZ2xlQW5pbWF0aW9uIiwic2V0RmlsdGVyUGxvdCIsInNldEZpbHRlckFuaW1hdGlvbldpbmRvdyIsInRpbWVsaW5lIiwiaXNNaW5pZmllZCIsInNldE1pbmlmaWVkIiwiX3VwZGF0ZUFuaW1hdGlvblNwZWVkIiwic3BlZWQiLCJfdG9nZ2xlQW5pbWF0aW9uIiwiX29uVG9nZ2xlTWluaWZ5IiwiX3NldEZpbHRlckFuaW1hdGlvbldpbmRvdyIsImFuaW1hdGlvbldpbmRvdyIsImlkIiwidGltZVNsaWRlck9uQ2hhbmdlIiwidmFsdWUiLCJkZWZhdWx0VGltZUZvcm1hdCIsInRpbWVGb3JtYXQiLCJ0aW1lem9uZSIsIlJlYWN0IiwibWVtbyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7Ozs7QUFFQSxJQUFNQSxxQkFBcUIsR0FBRyxrQ0FBT0Msb0NBQVAsQ0FBSCx3SEFBM0I7QUFJQUMsaUJBQWlCLENBQUNDLElBQWxCLEdBQXlCLENBQUND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O0FBS0UsTUFBQSx3QkFBd0IsRUFBRUkseUJBTDVCO0FBTUUsTUFBQSxhQUFhLEVBQUVoQixlQU5qQjtBQU9FLE1BQUEsY0FBYyxFQUFFRyxjQVBsQjtBQVFFLE1BQUEsWUFBWSxFQUFFQyxZQVJoQjtBQVNFLE1BQUEsVUFBVSxFQUFFTSxVQVRkO0FBVUUsTUFBQSxRQUFRLEVBQUVEO0FBVlosT0FiRixFQXlCR1QsZUFBZSxnQkFDZCxnQ0FBQyxtQkFBRDtBQUNFLE1BQUEsV0FBVyxFQUFFSCxNQUFNLENBQUN1QixLQUR0QjtBQUVFLE1BQUEsaUJBQWlCLEVBQUV2QixNQUFNLENBQUN3QixpQkFGNUI7QUFHRSxNQUFBLFVBQVUsRUFBRXhCLE1BQU0sQ0FBQ3lCLFVBSHJCO0FBSUUsTUFBQSxRQUFRLEVBQUV6QixNQUFNLENBQUMwQjtBQUpuQixNQURjLEdBT1osSUFoQ04sQ0FERjtBQW9DRCxHQXpFRDs7QUEyRUEsc0JBQU9DLGtCQUFNQyxJQUFOLENBQVc5QixVQUFYLENBQVA7QUFDRDs7ZUFFY1IsaUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjMgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFjaywgdXNlU3RhdGV9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtCb3R0b21XaWRnZXRJbm5lcn0gZnJvbSAnLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBUaW1lUmFuZ2VTbGlkZXJGYWN0b3J5IGZyb20gJy4uL2NvbW1vbi90aW1lLXJhbmdlLXNsaWRlcic7XG5pbXBvcnQgRmxvYXRpbmdUaW1lRGlzcGxheUZhY3RvcnkgZnJvbSAnLi4vY29tbW9uL2FuaW1hdGlvbi1jb250cm9sL2Zsb2F0aW5nLXRpbWUtZGlzcGxheSc7XG5pbXBvcnQge3RpbWVSYW5nZVNsaWRlckZpZWxkc1NlbGVjdG9yfSBmcm9tICcuL3RpbWUtcmFuZ2UtZmlsdGVyJztcbmltcG9ydCB7VGltZVdpZGdldFByb3BzfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCBUaW1lV2lkZ2V0VG9wRmFjdG9yeSBmcm9tICcuL3RpbWUtd2lkZ2V0LXRvcCc7XG5cbmNvbnN0IFRpbWVCb3R0b21XaWRnZXRJbm5lciA9IHN0eWxlZChCb3R0b21XaWRnZXRJbm5lcilgXG4gIHBhZGRpbmc6IDZweCAzMnB4IDI0cHggMzJweDtcbmA7XG5cblRpbWVXaWRnZXRGYWN0b3J5LmRlcHMgPSBbVGltZVJhbmdlU2xpZGVyRmFjdG9yeSwgRmxvYXRpbmdUaW1lRGlzcGxheUZhY3RvcnksIFRpbWVXaWRnZXRUb3BGYWN0b3J5XTtcblxuZnVuY3Rpb24gVGltZVdpZGdldEZhY3RvcnkoXG4gIFRpbWVSYW5nZVNsaWRlcjogUmV0dXJuVHlwZTx0eXBlb2YgVGltZVJhbmdlU2xpZGVyRmFjdG9yeT4sXG4gIEZsb2F0aW5nVGltZURpc3BsYXk6IFJldHVyblR5cGU8dHlwZW9mIEZsb2F0aW5nVGltZURpc3BsYXlGYWN0b3J5PixcbiAgVGltZVdpZGdldFRvcDogUmV0dXJuVHlwZTx0eXBlb2YgVGltZVdpZGdldFRvcEZhY3Rvcnk+XG4pIHtcbiAgY29uc3QgVGltZVdpZGdldDogUmVhY3QuRkM8VGltZVdpZGdldFByb3BzPiA9ICh7XG4gICAgZGF0YXNldHMsXG4gICAgZmlsdGVyLFxuICAgIGluZGV4LFxuICAgIHJlYWRPbmx5LFxuICAgIHNob3dUaW1lRGlzcGxheSxcbiAgICBzZXRGaWx0ZXJBbmltYXRpb25UaW1lLFxuICAgIG9uQ2xvc2UsXG4gICAgcmVzZXRBbmltYXRpb24sXG4gICAgaXNBbmltYXRhYmxlLFxuICAgIHVwZGF0ZUFuaW1hdGlvblNwZWVkLFxuICAgIHRvZ2dsZUFuaW1hdGlvbixcbiAgICBzZXRGaWx0ZXJQbG90LFxuICAgIHNldEZpbHRlckFuaW1hdGlvbldpbmRvdyxcbiAgICB0aW1lbGluZVxuICB9OiBUaW1lV2lkZ2V0UHJvcHMpID0+IHtcbiAgICBjb25zdCBbaXNNaW5pZmllZCwgc2V0TWluaWZpZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gICAgY29uc3QgX3VwZGF0ZUFuaW1hdGlvblNwZWVkID0gdXNlQ2FsbGJhY2soc3BlZWQgPT4gdXBkYXRlQW5pbWF0aW9uU3BlZWQoaW5kZXgsIHNwZWVkKSwgW1xuICAgICAgdXBkYXRlQW5pbWF0aW9uU3BlZWQsXG4gICAgICBpbmRleFxuICAgIF0pO1xuXG4gICAgY29uc3QgX3RvZ2dsZUFuaW1hdGlvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHRvZ2dsZUFuaW1hdGlvbihpbmRleCksIFt0b2dnbGVBbmltYXRpb24sIGluZGV4XSk7XG5cbiAgICBjb25zdCBfb25Ub2dnbGVNaW5pZnkgPSB1c2VDYWxsYmFjaygoKSA9PiBzZXRNaW5pZmllZCghaXNNaW5pZmllZCksIFtzZXRNaW5pZmllZCwgaXNNaW5pZmllZF0pO1xuXG4gICAgY29uc3QgX3NldEZpbHRlckFuaW1hdGlvbldpbmRvdyA9IHVzZUNhbGxiYWNrKFxuICAgICAgYW5pbWF0aW9uV2luZG93ID0+IHNldEZpbHRlckFuaW1hdGlvbldpbmRvdyh7aWQ6IGZpbHRlci5pZCwgYW5pbWF0aW9uV2luZG93fSksXG4gICAgICBbc2V0RmlsdGVyQW5pbWF0aW9uV2luZG93LCBmaWx0ZXIuaWRdXG4gICAgKTtcblxuICAgIGNvbnN0IHRpbWVTbGlkZXJPbkNoYW5nZSA9IHVzZUNhbGxiYWNrKHZhbHVlID0+IHNldEZpbHRlckFuaW1hdGlvblRpbWUoaW5kZXgsICd2YWx1ZScsIHZhbHVlKSwgW1xuICAgICAgc2V0RmlsdGVyQW5pbWF0aW9uVGltZSxcbiAgICAgIGluZGV4XG4gICAgXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFRpbWVCb3R0b21XaWRnZXRJbm5lciBjbGFzc05hbWU9XCJib3R0b20td2lkZ2V0LS1pbm5lclwiPlxuICAgICAgICA8VGltZVdpZGdldFRvcFxuICAgICAgICAgIGZpbHRlcj17ZmlsdGVyfVxuICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICBkYXRhc2V0cz17ZGF0YXNldHN9XG4gICAgICAgICAgc2V0RmlsdGVyUGxvdD17c2V0RmlsdGVyUGxvdH1cbiAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgb25DbG9zZT17b25DbG9zZX1cbiAgICAgICAgICBvblRvZ2dsZU1pbmlmeT17X29uVG9nZ2xlTWluaWZ5fVxuICAgICAgICAgIGlzTWluaWZpZWQ9e2lzTWluaWZpZWR9XG4gICAgICAgIC8+XG4gICAgICAgIHsvKiBPbmNlIEFuaW1hdGlvbkNvbnRyb2wgaXMgYWJsZSB0byBkaXNwbGF5IGxhcmdlIHRpbWVsaW5lKi99XG4gICAgICAgIHsvKiB3ZSBjYW4gcmVwbGFjZSBUaW1lUmFuZ2VTbGlkZXIgd2l0aCBBbmltYXRpb25Db250cm9sKi99XG4gICAgICAgIDxUaW1lUmFuZ2VTbGlkZXJcbiAgICAgICAgICB7Li4udGltZVJhbmdlU2xpZGVyRmllbGRzU2VsZWN0b3IoZmlsdGVyKX1cbiAgICAgICAgICBvbkNoYW5nZT17dGltZVNsaWRlck9uQ2hhbmdlfVxuICAgICAgICAgIHRvZ2dsZUFuaW1hdGlvbj17X3RvZ2dsZUFuaW1hdGlvbn1cbiAgICAgICAgICB1cGRhdGVBbmltYXRpb25TcGVlZD17X3VwZGF0ZUFuaW1hdGlvblNwZWVkfVxuICAgICAgICAgIHNldEZpbHRlckFuaW1hdGlvbldpbmRvdz17X3NldEZpbHRlckFuaW1hdGlvbldpbmRvd31cbiAgICAgICAgICBoaWRlVGltZVRpdGxlPXtzaG93VGltZURpc3BsYXl9XG4gICAgICAgICAgcmVzZXRBbmltYXRpb249e3Jlc2V0QW5pbWF0aW9ufVxuICAgICAgICAgIGlzQW5pbWF0YWJsZT17aXNBbmltYXRhYmxlfVxuICAgICAgICAgIGlzTWluaWZpZWQ9e2lzTWluaWZpZWR9XG4gICAgICAgICAgdGltZWxpbmU9e3RpbWVsaW5lfVxuICAgICAgICAvPlxuICAgICAgICB7c2hvd1RpbWVEaXNwbGF5ID8gKFxuICAgICAgICAgIDxGbG9hdGluZ1RpbWVEaXNwbGF5XG4gICAgICAgICAgICBjdXJyZW50VGltZT17ZmlsdGVyLnZhbHVlfVxuICAgICAgICAgICAgZGVmYXVsdFRpbWVGb3JtYXQ9e2ZpbHRlci5kZWZhdWx0VGltZUZvcm1hdH1cbiAgICAgICAgICAgIHRpbWVGb3JtYXQ9e2ZpbHRlci50aW1lRm9ybWF0fVxuICAgICAgICAgICAgdGltZXpvbmU9e2ZpbHRlci50aW1lem9uZX1cbiAgICAgICAgICAvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVGltZUJvdHRvbVdpZGdldElubmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIFJlYWN0Lm1lbW8oVGltZVdpZGdldCk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IFRpbWVXaWRnZXRGYWN0b3J5O1xuIl19
|
package/dist/filters/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Filter, MultiSelectFilter, RangeFilter, SelectFilter, TimeRangeFilter } from '@kepler.gl/types';
|
|
1
|
+
import { Filter, MultiSelectFilter, RangeFilter, SelectFilter, TimeRangeFilter, Timeline } from '@kepler.gl/types';
|
|
2
2
|
import { Layer } from '@kepler.gl/layers';
|
|
3
|
-
import { ActionHandler,
|
|
3
|
+
import { ActionHandler, setFilterAnimationTime, setFilterAnimationWindow, setFilterPlot, toggleFilterAnimation, updateFilterAnimationSpeed } from '@kepler.gl/actions';
|
|
4
4
|
import { Datasets } from '@kepler.gl/table';
|
|
5
5
|
export declare type PolygonFilterProps = {
|
|
6
6
|
filter: Filter;
|
|
@@ -20,6 +20,7 @@ export declare type TimeRangeFilterProps = {
|
|
|
20
20
|
hideTimeTitle: boolean;
|
|
21
21
|
setFilter: (v: number[]) => void;
|
|
22
22
|
toggleAnimation: () => void;
|
|
23
|
+
timeline: Timeline;
|
|
23
24
|
};
|
|
24
25
|
export declare type SingleSelectFilterProps = {
|
|
25
26
|
filter: SelectFilter;
|
|
@@ -36,6 +37,8 @@ export declare type TimeWidgetTopProps = {
|
|
|
36
37
|
setFilterPlot: ActionHandler<typeof setFilterPlot>;
|
|
37
38
|
index: number;
|
|
38
39
|
onClose: () => void;
|
|
40
|
+
onToggleMinify: () => void;
|
|
41
|
+
isMinified: boolean;
|
|
39
42
|
};
|
|
40
43
|
export declare type TimeWidgetProps = {
|
|
41
44
|
datasets: Datasets;
|
|
@@ -45,10 +48,11 @@ export declare type TimeWidgetProps = {
|
|
|
45
48
|
showTimeDisplay: boolean;
|
|
46
49
|
isAnimatable: boolean;
|
|
47
50
|
resetAnimation: () => void;
|
|
51
|
+
onClose: () => void;
|
|
48
52
|
setFilterAnimationTime: ActionHandler<typeof setFilterAnimationTime>;
|
|
49
53
|
updateAnimationSpeed: ActionHandler<typeof updateFilterAnimationSpeed>;
|
|
50
54
|
toggleAnimation: ActionHandler<typeof toggleFilterAnimation>;
|
|
51
|
-
enlargeFilter: ActionHandler<typeof enlargeFilter>;
|
|
52
55
|
setFilterPlot: ActionHandler<typeof setFilterPlot>;
|
|
53
56
|
setFilterAnimationWindow: ActionHandler<typeof setFilterAnimationWindow>;
|
|
57
|
+
timeline: Timeline;
|
|
54
58
|
};
|
package/dist/filters/types.js
CHANGED
|
@@ -25,9 +25,7 @@ declare type GeocoderProps = {
|
|
|
25
25
|
declare type IntlProps = {
|
|
26
26
|
intl: IntlShape;
|
|
27
27
|
};
|
|
28
|
-
declare const _default: React.
|
|
29
|
-
forwardedRef?: React.Ref<any> | undefined;
|
|
30
|
-
} & React.RefAttributes<any>> & {
|
|
28
|
+
declare const _default: React.FC<import("react-intl").WithIntlProps<GeocoderProps & IntlProps>> & {
|
|
31
29
|
WrappedComponent: React.ComponentType<GeocoderProps & IntlProps>;
|
|
32
30
|
};
|
|
33
31
|
export default _default;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright (c)
|
|
1
|
+
// Copyright (c) 2023 Uber Technologies, Inc.
|
|
2
2
|
//
|
|
3
3
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
4
|
// of this software and associated documentation files (the "Software"), to deal
|
|
@@ -333,4 +333,4 @@ var GeoCoder = function GeoCoder(_ref) {
|
|
|
333
333
|
var _default = (0, _reactIntl.injectIntl)(GeoCoder);
|
|
334
334
|
|
|
335
335
|
exports["default"] = _default;
|
|
336
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nZW9jb2Rlci9nZW9jb2Rlci50c3giXSwibmFtZXMiOlsiQ09PUkRJTkFURV9SRUdFWF9TVFJJTkciLCJDT09SRElOQVRFX1JFR0VYIiwiUmVnRXhwIiwiUExBQ0VIT0xERVIiLCJkZWJvdW5jZVRpbWVvdXQiLCJ0ZXN0Rm9yQ29vcmRpbmF0ZXMiLCJxdWVyeSIsImlzVmFsaWQiLCJ0ZXN0IiwidHJpbSIsInRva2VucyIsInNwbGl0IiwiTnVtYmVyIiwiU3R5bGVkQ29udGFpbmVyIiwic3R5bGVkIiwiZGl2IiwicHJvcHMiLCJ0aGVtZSIsInRleHRDb2xvciIsImJveFNoYWRvdyIsImdlb2NvZGVySW5wdXRIZWlnaHQiLCJzdWJ0ZXh0Q29sb3IiLCJwYW5lbEJhY2tncm91bmQiLCJpc0Zpbml0ZSIsIndpZHRoIiwiZ2VvY29kZXJXaWR0aCIsImRyb3Bkb3duV2FwcGVyTWFyZ2luIiwiZHJvcGRvd25MaXN0SXRlbSIsInRleHRUcnVuY2F0ZSIsImRyb3Bkb3duTGlzdEhpZ2hsaWdodEJnIiwidGV4dENvbG9ySGwiLCJHZW9Db2RlciIsIm1hcGJveEFwaUFjY2Vzc1Rva2VuIiwiY2xhc3NOYW1lIiwibGltaXQiLCJ0aW1lb3V0IiwiZm9ybWF0SXRlbSIsIml0ZW0iLCJwbGFjZV9uYW1lIiwidmlld3BvcnQiLCJvblNlbGVjdGVkIiwib25EZWxldGVNYXJrZXIiLCJ0cmFuc2l0aW9uRHVyYXRpb24iLCJwb2ludFpvb20iLCJpbnRsIiwiaW5wdXRWYWx1ZSIsInNldElucHV0VmFsdWUiLCJzaG93UmVzdWx0cyIsInNldFNob3dSZXN1bHRzIiwic2hvd0RlbGV0ZSIsInNldFNob3dEZWxldGUiLCJpbml0aWFsUmVzdWx0cyIsInJlc3VsdHMiLCJzZXRSZXN1bHRzIiwic2VsZWN0ZWRJbmRleCIsInNldFNlbGVjdGVkSW5kZXgiLCJjbGllbnQiLCJNYXBib3hDbGllbnQiLCJvbkNoYW5nZSIsImV2ZW50IiwicXVlcnlTdHJpbmciLCJ0YXJnZXQiLCJ2YWx1ZSIsInJlc3VsdENvb3JkaW5hdGVzIiwiXyIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwiY2VudGVyIiwiY2xlYXJUaW1lb3V0Iiwic2V0VGltZW91dCIsIkJvb2xlYW4iLCJnZW9jb2RlRm9yd2FyZCIsInJlc3BvbnNlIiwiZW50aXR5IiwiZmVhdHVyZXMiLCJjb25zb2xlIiwibG9nIiwib25CbHVyIiwib25Gb2N1cyIsIm9uSXRlbVNlbGVjdGVkIiwibmV3Vmlld3BvcnQiLCJXZWJNZXJjYXRvclZpZXdwb3J0IiwiYmJveCIsImdvdG9WaWV3cG9ydCIsImZpdEJvdW5kcyIsInpvb20iLCJvbk1hcmtEZWxldGVkIiwib25LZXlEb3duIiwiZSIsImxlbmd0aCIsImtleUNvZGUiLCJLZXlFdmVudCIsIkRPTV9WS19VUCIsIkRPTV9WS19ET1dOIiwiRE9NX1ZLX0VOVEVSIiwiRE9NX1ZLX1JFVFVSTiIsImZvcm1hdE1lc3NhZ2UiLCJpZCIsImRlZmF1bHRNZXNzYWdlIiwibWFwIiwiaW5kZXgiLCJhY3RpdmUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7QUFPQTtBQUNBLElBQU1BLHVCQUF1QixHQUMzQixtR0FERjtBQUVBLElBQU1DLGdCQUFnQixHQUFHQyxNQUFNLENBQUNGLHVCQUFELENBQS9CO0FBRUEsSUFBTUcsV0FBVyxHQUFHLG1EQUFwQjtBQUVBLElBQUlDLGVBQXNDLEdBQUcsSUFBN0M7O0FBRU8sSUFBTUMsa0JBQWtCLEdBQUcsU0FBckJBLGtCQUFxQixDQUFDQyxLQUFELEVBQTZEO0FBQzdGLE1BQU1DLE9BQU8sR0FBR04sZ0JBQWdCLENBQUNPLElBQWpCLENBQXNCRixLQUFLLENBQUNHLElBQU4sRUFBdEIsQ0FBaEI7O0FBRUEsTUFBSSxDQUFDRixPQUFMLEVBQWM7QUFDWixXQUFPLENBQUNBLE9BQUQsRUFBVUQsS0FBVixDQUFQO0FBQ0Q7O0FBRUQs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LFFBQUFBLE1BQU0sRUFBRS9DLGFBQWEsS0FBSzhDO0FBQTNCLE9BQTVCLENBRmI7QUFHRSxNQUFBLE9BQU8sRUFBRTtBQUFBLGVBQU1yQixjQUFjLENBQUMxQyxJQUFELENBQXBCO0FBQUE7QUFIWCxPQUtHRCxVQUFVLENBQUNDLElBQUQsQ0FMYixDQURXO0FBQUEsR0FBWixDQURILENBRFUsR0FZUixJQXJDTixDQURGO0FBeUNELENBbktEOztlQXFLZSwyQkFBV04sUUFBWCxDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7dXNlQ2FsbGJhY2ssIHVzZU1lbW8sIHVzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IE1hcGJveENsaWVudCBmcm9tICdtYXBib3gnO1xuaW1wb3J0IHtpbmplY3RJbnRsLCBJbnRsU2hhcGV9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHtXZWJNZXJjYXRvclZpZXdwb3J0fSBmcm9tICd2aWV3cG9ydC1tZXJjYXRvci1wcm9qZWN0JztcbmltcG9ydCB7S2V5RXZlbnR9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7SW5wdXR9IGZyb20gJy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge1NlYXJjaCwgRGVsZXRlfSBmcm9tICcuLi9jb21tb24vaWNvbnMnO1xuaW1wb3J0IHtWaWV3cG9ydH0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5cbnR5cGUgU3R5bGVkQ29udGFpbmVyUHJvcHMgPSB7XG4gIHdpZHRoPzogbnVtYmVyO1xufTtcblxuLy8gbWF0Y2hlcyBvbmx5IHZhbGlkIGNvb3JkaW5hdGVzXG5jb25zdCBDT09SRElOQVRFX1JFR0VYX1NUUklORyA9XG4gICdeWy0rXT8oWzEtOF0/XFxcXGQoXFxcXC5cXFxcZCspP3w5MChcXFxcLjArKT8pLFxcXFxzKlstK10/KDE4MChcXFxcLjArKT98KCgxWzAtN11cXFxcZCl8KFsxLTldP1xcXFxkKSkoXFxcXC5cXFxcZCspPyknO1xuY29uc3QgQ09PUkRJTkFURV9SRUdFWCA9IFJlZ0V4cChDT09SRElOQVRFX1JFR0VYX1NUUklORyk7XG5cbmNvbnN0IFBMQUNFSE9MREVSID0gJ0VudGVyIGFuIGFkZHJlc3Mgb3IgY29vcmRpbmF0ZXMsIGV4IDM3Ljc5LC0xMjIuNDAnO1xuXG5sZXQgZGVib3VuY2VUaW1lb3V0OiBOb2RlSlMuVGltZW91dCB8IG51bGwgPSBudWxsO1xuXG5leHBvcnQgY29uc3QgdGVzdEZvckNvb3JkaW5hdGVzID0gKHF1ZXJ5OiBzdHJpbmcpOiBbdHJ1ZSwgbnVtYmVyLCBudW1iZXJdIHwgW2ZhbHNlLCBzdHJpbmddID0+IHtcbiAgY29uc3QgaXNWYWxpZCA9IENPT1JESU5BVEVfUkVHRVgudGVzdChxdWVyeS50cmltKCkpO1xuXG4gIGlmICghaXNWYWxpZCkge1xuICAgIHJldHVybiBbaXNWYWxpZCwgcXVlcnldO1xuICB9XG5cbiAgY29uc3QgdG9rZW5zID0gcXVlcnkudHJpbSgpLnNwbGl0KCcsJyk7XG5cbiAgcmV0dXJuIFtpc1ZhbGlkLCBOdW1iZXIodG9rZW5zWzBdKSwgTnVtYmVyKHRva2Vuc1sxXSldO1xufTtcblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkLmRpdjxTdHlsZWRDb250YWluZXJQcm9wcz5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcblxuICAuZ2VvY29kZXItaW5wdXQge1xuICAgIGJveC1zaGFkb3c6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm94U2hhZG93fTtcblxuICAgIC5nZW9jb2Rlci1pbnB1dF9fc2VhcmNoIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5nZW9jb2RlcklucHV0SGVpZ2h0fXB4O1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDZweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zdWJ0ZXh0Q29sb3J9O1xuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgIHBhZGRpbmc6IDRweCAzNnB4O1xuICAgICAgaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmdlb2NvZGVySW5wdXRIZWlnaHR9cHg7XG4gICAgICBjYXJldC1jb2xvcjogdW5zZXQ7XG4gICAgfVxuICB9XG5cbiAgLmdlb2NvZGVyLXJlc3VsdHMge1xuICAgIGJveC1zaGFkb3c6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm94U2hhZG93fTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZH07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAke3Byb3BzID0+IChOdW1iZXIuaXNGaW5pdGUocHJvcHMud2lkdGgpID8gcHJvcHMud2lkdGggOiBwcm9wcy50aGVtZS5nZW9jb2RlcldpZHRoKX1weDtcbiAgICBtYXJnaW4tdG9wOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmRyb3Bkb3duV2FwcGVyTWFyZ2lufXB4O1xuICB9XG5cbiAgLmdlb2NvZGVyLWl0ZW0ge1xuICAgICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZHJvcGRvd25MaXN0SXRlbX07XG4gICAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0VHJ1bmNhdGV9O1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5kcm9wZG93bkxpc3RIaWdobGlnaHRCZ307XG4gICAgfVxuICB9XG5cbiAgLnJlbW92ZS1yZXN1bHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMTZweDtcbiAgICB0b3A6IDBweDtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZ2VvY29kZXJJbnB1dEhlaWdodH1weDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICA6aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9ySGx9O1xuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGludGVyZmFjZSBSZXN1bHQge1xuICBjZW50ZXI6IFtudW1iZXIsIG51bWJlcl07XG4gIHBsYWNlX25hbWU6IHN0cmluZztcbiAgYmJveD86IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdO1xuICB0ZXh0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBSZXN1bHRzID0gUmVhZG9ubHlBcnJheTxSZXN1bHQ+O1xuXG50eXBlIEdlb2NvZGVyUHJvcHMgPSB7XG4gIG1hcGJveEFwaUFjY2Vzc1Rva2VuOiBzdHJpbmc7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgbGltaXQ/OiBudW1iZXI7XG4gIHRpbWVvdXQ/OiBudW1iZXI7XG4gIGZvcm1hdEl0ZW0/OiAoaXRlbTogUmVzdWx0KSA9PiBzdHJpbmc7XG4gIHZpZXdwb3J0PzogVmlld3BvcnQ7XG4gIG9uU2VsZWN0ZWQ6ICh2aWV3cG9ydDogVmlld3BvcnQgfCBudWxsLCBpdGVtOiBSZXN1bHQpID0+IHZvaWQ7XG4gIG9uRGVsZXRlTWFya2VyPzogKCkgPT4gdm9pZDtcbiAgdHJhbnNpdGlvbkR1cmF0aW9uPzogbnVtYmVyO1xuICBwb2ludFpvb20/OiBudW1iZXI7XG4gIHdpZHRoPzogbnVtYmVyO1xufTtcblxudHlwZSBJbnRsUHJvcHMgPSB7XG4gIGludGw6IEludGxTaGFwZTtcbn07XG5cbi8qKiBAdHlwZSB7aW1wb3J0KCcuL2dlb2NvZGVyJykuR2VvY29kZXJDb21wb25lbnR9ICovXG5jb25zdCBHZW9Db2RlcjogUmVhY3QuRkM8R2VvY29kZXJQcm9wcyAmIEludGxQcm9wcz4gPSAoe1xuICBtYXBib3hBcGlBY2Nlc3NUb2tlbixcbiAgY2xhc3NOYW1lID0gJycsXG4gIGxpbWl0ID0gNSxcbiAgdGltZW91dCA9IDMwMCxcbiAgZm9ybWF0SXRlbSA9IGl0ZW0gPT4gaXRlbS5wbGFjZV9uYW1lLFxuICB2aWV3cG9ydCxcbiAgb25TZWxlY3RlZCxcbiAgb25EZWxldGVNYXJrZXIsXG4gIHRyYW5zaXRpb25EdXJhdGlvbixcbiAgcG9pbnRab29tLFxuICB3aWR0aCxcbiAgaW50bFxufSkgPT4ge1xuICBjb25zdCBbaW5wdXRWYWx1ZSwgc2V0SW5wdXRWYWx1ZV0gPSB1c2VTdGF0ZSgnJyk7XG4gIGNvbnN0IFtzaG93UmVzdWx0cywgc2V0U2hvd1Jlc3VsdHNdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbc2hvd0RlbGV0ZSwgc2V0U2hvd0RlbGV0ZV0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIC8qKiBAdHlwZSB7aW1wb3J0KCcuL2dlb2NvZGVyJykuUmVzdWx0c30gKi9cbiAgY29uc3QgaW5pdGlhbFJlc3VsdHM6IFJlc3VsdFtdID0gW107XG4gIGNvbnN0IFtyZXN1bHRzLCBzZXRSZXN1bHRzXSA9IHVzZVN0YXRlKGluaXRpYWxSZXN1bHRzKTtcbiAgY29uc3QgW3NlbGVjdGVkSW5kZXgsIHNldFNlbGVjdGVkSW5kZXhdID0gdXNlU3RhdGUoMCk7XG5cbiAgY29uc3QgY2xpZW50ID0gdXNlTWVtbygoKSA9PiBuZXcgTWFwYm94Q2xpZW50KG1hcGJveEFwaUFjY2Vzc1Rva2VuKSwgW21hcGJveEFwaUFjY2Vzc1Rva2VuXSk7XG5cbiAgY29uc3Qgb25DaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICBldmVudCA9PiB7XG4gICAgICBjb25zdCBxdWVyeVN0cmluZyA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICAgIHNldElucHV0VmFsdWUocXVlcnlTdHJpbmcpO1xuICAgICAgY29uc3QgcmVzdWx0Q29vcmRpbmF0ZXMgPSB0ZXN0Rm9yQ29vcmRpbmF0ZXMocXVlcnlTdHJpbmcpO1xuICAgICAgaWYgKHJlc3VsdENvb3JkaW5hdGVzWzBdKSB7XG4gICAgICAgIGNvbnN0IFtfLCBsYXRpdHVkZSwgbG9uZ2l0dWRlXSA9IHJlc3VsdENvb3JkaW5hdGVzO1xuICAgICAgICBzZXRSZXN1bHRzKFt7Y2VudGVyOiBbbGF0aXR1ZGUsIGxvbmdpdHVkZV0sIHBsYWNlX25hbWU6IHF1ZXJ5U3RyaW5nfV0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGRlYm91bmNlVGltZW91dCkge1xuICAgICAgICAgIGNsZWFyVGltZW91dChkZWJvdW5jZVRpbWVvdXQpO1xuICAgICAgICB9XG4gICAgICAgIGRlYm91bmNlVGltZW91dCA9IHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgIGlmIChsaW1pdCA+IDAgJiYgQm9vbGVhbihxdWVyeVN0cmluZykpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50Lmdlb2NvZGVGb3J3YXJkKHF1ZXJ5U3RyaW5nLCB7bGltaXR9KTtcbiAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmVudGl0eS5mZWF0dXJlcykge1xuICAgICAgICAgICAgICAgIHNldFNob3dSZXN1bHRzKHRydWUpO1xuICAgICAgICAgICAgICAgIHNldFJlc3VsdHMocmVzcG9uc2UuZW50aXR5LmZlYXR1cmVzKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAvLyBUT0RPOiBzaG93IGdlb2NvZGUgZXJyb3JcbiAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9LCB0aW1lb3V0KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtjbGllbnQsIGxpbWl0LCB0aW1lb3V0LCBzZXRSZXN1bHRzLCBzZXRTaG93UmVzdWx0c11cbiAgKTtcblxuICBjb25zdCBvbkJsdXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBzZXRTaG93UmVzdWx0cyhmYWxzZSk7XG4gICAgfSwgdGltZW91dCk7XG4gIH0sIFtzZXRTaG93UmVzdWx0cywgdGltZW91dF0pO1xuXG4gIGNvbnN0IG9uRm9jdXMgPSB1c2VDYWxsYmFjaygoKSA9PiBzZXRTaG93UmVzdWx0cyh0cnVlKSwgW3NldFNob3dSZXN1bHRzXSk7XG5cbiAgY29uc3Qgb25JdGVtU2VsZWN0ZWQgPSB1c2VDYWxsYmFjayhcbiAgICBpdGVtID0+IHtcbiAgICAgIGNvbnN0IG5ld1ZpZXdwb3J0ID0gbmV3IFdlYk1lcmNhdG9yVmlld3BvcnQodmlld3BvcnQpO1xuICAgICAgY29uc3Qge2Jib3gsIGNlbnRlcn0gPSBpdGVtO1xuXG4gICAgICBjb25zdCBnb3RvVmlld3BvcnQgPSBiYm94XG4gICAgICAgID8gbmV3Vmlld3BvcnQuZml0Qm91bmRzKFtcbiAgICAgICAgICAgIFtiYm94WzBdLCBiYm94WzFdXSxcbiAgICAgICAgICAgIFtiYm94WzJdLCBiYm94WzNdXVxuICAgICAgICAgIF0pXG4gICAgICAgIDoge1xuICAgICAgICAgICAgbG9uZ2l0dWRlOiBjZW50ZXJbMF0sXG4gICAgICAgICAgICBsYXRpdHVkZTogY2VudGVyWzFdLFxuICAgICAgICAgICAgem9vbTogcG9pbnRab29tXG4gICAgICAgICAgfTtcblxuICAgICAgY29uc3Qge2xvbmdpdHVkZSwgbGF0aXR1ZGUsIHpvb219ID0gZ290b1ZpZXdwb3J0O1xuXG4gICAgICBvblNlbGVjdGVkKHsuLi52aWV3cG9ydCwgLi4ue2xvbmdpdHVkZSwgbGF0aXR1ZGUsIHpvb20sIHRyYW5zaXRpb25EdXJhdGlvbn19LCBpdGVtKTtcblxuICAgICAgc2V0U2hvd1Jlc3VsdHMoZmFsc2UpO1xuICAgICAgc2V0SW5wdXRWYWx1ZShmb3JtYXRJdGVtKGl0ZW0pKTtcbiAgICAgIHNldFNob3dEZWxldGUodHJ1ZSk7XG4gICAgfSxcbiAgICBbdmlld3BvcnQsIG9uU2VsZWN0ZWQsIHRyYW5zaXRpb25EdXJhdGlvbiwgcG9pbnRab29tLCBmb3JtYXRJdGVtXVxuICApO1xuXG4gIGNvbnN0IG9uTWFya0RlbGV0ZWQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0U2hvd0RlbGV0ZShmYWxzZSk7XG4gICAgc2V0SW5wdXRWYWx1ZSgnJyk7XG4gICAgb25EZWxldGVNYXJrZXI/LigpO1xuICB9LCBbb25EZWxldGVNYXJrZXJdKTtcblxuICBjb25zdCBvbktleURvd24gPSB1c2VDYWxsYmFjayhcbiAgICBlID0+IHtcbiAgICAgIGlmICghcmVzdWx0cyB8fCByZXN1bHRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBzd2l0Y2ggKGUua2V5Q29kZSkge1xuICAgICAgICBjYXNlIEtleUV2ZW50LkRPTV9WS19VUDpcbiAgICAgICAgICBzZXRTZWxlY3RlZEluZGV4KHNlbGVjdGVkSW5kZXggPiAwID8gc2VsZWN0ZWRJbmRleCAtIDEgOiBzZWxlY3RlZEluZGV4KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBLZXlFdmVudC5ET01fVktfRE9XTjpcbiAgICAgICAgICBzZXRTZWxlY3RlZEluZGV4KHNlbGVjdGVkSW5kZXggPCByZXN1bHRzLmxlbmd0aCAtIDEgPyBzZWxlY3RlZEluZGV4ICsgMSA6IHNlbGVjdGVkSW5kZXgpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIEtleUV2ZW50LkRPTV9WS19FTlRFUjpcbiAgICAgICAgY2FzZSBLZXlFdmVudC5ET01fVktfUkVUVVJOOlxuICAgICAgICAgIGlmIChyZXN1bHRzW3NlbGVjdGVkSW5kZXhdKSB7XG4gICAgICAgICAgICBvbkl0ZW1TZWxlY3RlZChyZXN1bHRzW3NlbGVjdGVkSW5kZXhdKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfSxcbiAgICBbcmVzdWx0cywgc2VsZWN0ZWRJbmRleCwgc2V0U2VsZWN0ZWRJbmRleCwgb25JdGVtU2VsZWN0ZWRdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQ29udGFpbmVyIGNsYXNzTmFtZT17Y2xhc3NOYW1lfSB3aWR0aD17d2lkdGh9PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJnZW9jb2Rlci1pbnB1dFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdlb2NvZGVyLWlucHV0X19zZWFyY2hcIj5cbiAgICAgICAgICA8U2VhcmNoIGhlaWdodD1cIjIwcHhcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPElucHV0XG4gICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgICBvbkJsdXI9e29uQmx1cn1cbiAgICAgICAgICBvbkZvY3VzPXtvbkZvY3VzfVxuICAgICAgICAgIG9uS2V5RG93bj17b25LZXlEb3dufVxuICAgICAgICAgIHZhbHVlPXtpbnB1dFZhbHVlfVxuICAgICAgICAgIHBsYWNlaG9sZGVyPXtcbiAgICAgICAgICAgIGludGxcbiAgICAgICAgICAgICAgPyBpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnZ2VvY29kZXIudGl0bGUnLCBkZWZhdWx0TWVzc2FnZTogUExBQ0VIT0xERVJ9KVxuICAgICAgICAgICAgICA6IFBMQUNFSE9MREVSXG4gICAgICAgICAgfVxuICAgICAgICAvPlxuICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbW92ZS1yZXN1bHRcIj5cbiAgICAgICAgICAgIDxEZWxldGUgaGVpZ2h0PVwiMTJweFwiIG9uQ2xpY2s9e29uTWFya0RlbGV0ZWR9IC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIHtzaG93UmVzdWx0cyA/IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJnZW9jb2Rlci1yZXN1bHRzXCI+XG4gICAgICAgICAge3Jlc3VsdHMubWFwKChpdGVtLCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoJ2dlb2NvZGVyLWl0ZW0nLCB7YWN0aXZlOiBzZWxlY3RlZEluZGV4ID09PSBpbmRleH0pfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkl0ZW1TZWxlY3RlZChpdGVtKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2Zvcm1hdEl0ZW0oaXRlbSl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogbnVsbH1cbiAgICA8L1N0eWxlZENvbnRhaW5lcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGluamVjdEludGwoR2VvQ29kZXIpO1xuIl19
|
|
336
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nZW9jb2Rlci9nZW9jb2Rlci50c3giXSwibmFtZXMiOlsiQ09PUkRJTkFURV9SRUdFWF9TVFJJTkciLCJDT09SRElOQVRFX1JFR0VYIiwiUmVnRXhwIiwiUExBQ0VIT0xERVIiLCJkZWJvdW5jZVRpbWVvdXQiLCJ0ZXN0Rm9yQ29vcmRpbmF0ZXMiLCJxdWVyeSIsImlzVmFsaWQiLCJ0ZXN0IiwidHJpbSIsInRva2VucyIsInNwbGl0IiwiTnVtYmVyIiwiU3R5bGVkQ29udGFpbmVyIiwic3R5bGVkIiwiZGl2IiwicHJvcHMiLCJ0aGVtZSIsInRleHRDb2xvciIsImJveFNoYWRvdyIsImdlb2NvZGVySW5wdXRIZWlnaHQiLCJzdWJ0ZXh0Q29sb3IiLCJwYW5lbEJhY2tncm91bmQiLCJpc0Zpbml0ZSIsIndpZHRoIiwiZ2VvY29kZXJXaWR0aCIsImRyb3Bkb3duV2FwcGVyTWFyZ2luIiwiZHJvcGRvd25MaXN0SXRlbSIsInRleHRUcnVuY2F0ZSIsImRyb3Bkb3duTGlzdEhpZ2hsaWdodEJnIiwidGV4dENvbG9ySGwiLCJHZW9Db2RlciIsIm1hcGJveEFwaUFjY2Vzc1Rva2VuIiwiY2xhc3NOYW1lIiwibGltaXQiLCJ0aW1lb3V0IiwiZm9ybWF0SXRlbSIsIml0ZW0iLCJwbGFjZV9uYW1lIiwidmlld3BvcnQiLCJvblNlbGVjdGVkIiwib25EZWxldGVNYXJrZXIiLCJ0cmFuc2l0aW9uRHVyYXRpb24iLCJwb2ludFpvb20iLCJpbnRsIiwiaW5wdXRWYWx1ZSIsInNldElucHV0VmFsdWUiLCJzaG93UmVzdWx0cyIsInNldFNob3dSZXN1bHRzIiwic2hvd0RlbGV0ZSIsInNldFNob3dEZWxldGUiLCJpbml0aWFsUmVzdWx0cyIsInJlc3VsdHMiLCJzZXRSZXN1bHRzIiwic2VsZWN0ZWRJbmRleCIsInNldFNlbGVjdGVkSW5kZXgiLCJjbGllbnQiLCJNYXBib3hDbGllbnQiLCJvbkNoYW5nZSIsImV2ZW50IiwicXVlcnlTdHJpbmciLCJ0YXJnZXQiLCJ2YWx1ZSIsInJlc3VsdENvb3JkaW5hdGVzIiwiXyIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwiY2VudGVyIiwiY2xlYXJUaW1lb3V0Iiwic2V0VGltZW91dCIsIkJvb2xlYW4iLCJnZW9jb2RlRm9yd2FyZCIsInJlc3BvbnNlIiwiZW50aXR5IiwiZmVhdHVyZXMiLCJjb25zb2xlIiwibG9nIiwib25CbHVyIiwib25Gb2N1cyIsIm9uSXRlbVNlbGVjdGVkIiwibmV3Vmlld3BvcnQiLCJXZWJNZXJjYXRvclZpZXdwb3J0IiwiYmJveCIsImdvdG9WaWV3cG9ydCIsImZpdEJvdW5kcyIsInpvb20iLCJvbk1hcmtEZWxldGVkIiwib25LZXlEb3duIiwiZSIsImxlbmd0aCIsImtleUNvZGUiLCJLZXlFdmVudCIsIkRPTV9WS19VUCIsIkRPTV9WS19ET1dOIiwiRE9NX1ZLX0VOVEVSIiwiRE9NX1ZLX1JFVFVSTiIsImZvcm1hdE1lc3NhZ2UiLCJpZCIsImRlZmF1bHRNZXNzYWdlIiwibWFwIiwiaW5kZXgiLCJhY3RpdmUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7QUFPQTtBQUNBLElBQU1BLHVCQUF1QixHQUMzQixtR0FERjtBQUVBLElBQU1DLGdCQUFnQixHQUFHQyxNQUFNLENBQUNGLHVCQUFELENBQS9CO0FBRUEsSUFBTUcsV0FBVyxHQUFHLG1EQUFwQjtBQUVBLElBQUlDLGVBQXNDLEdBQUcsSUFBN0M7O0FBRU8sSUFBTUMsa0JBQWtCLEdBQUcsU0FBckJBLGtCQUFxQixDQUFDQyxLQUFELEVBQTZEO0FBQzdGLE1BQU1DLE9BQU8sR0FBR04sZ0JBQWdCLENBQUNPLElBQWpCLENBQXNCRixLQUFLLENBQUNHLElBQU4sRUFBdEIsQ0FBaEI7O0FBRUEsTUFBSSxDQUFDRixPQUFMLEVBQWM7QUFDWixXQUFPLENBQUNBLE9BQUQsRUFBVUQsS0FBVixDQUFQO0FBQ0Q7O0FBRUQs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LFFBQUFBLE1BQU0sRUFBRS9DLGFBQWEsS0FBSzhDO0FBQTNCLE9BQTVCLENBRmI7QUFHRSxNQUFBLE9BQU8sRUFBRTtBQUFBLGVBQU1yQixjQUFjLENBQUMxQyxJQUFELENBQXBCO0FBQUE7QUFIWCxPQUtHRCxVQUFVLENBQUNDLElBQUQsQ0FMYixDQURXO0FBQUEsR0FBWixDQURILENBRFUsR0FZUixJQXJDTixDQURGO0FBeUNELENBbktEOztlQXFLZSwyQkFBV04sUUFBWCxDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIzIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7dXNlQ2FsbGJhY2ssIHVzZU1lbW8sIHVzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IE1hcGJveENsaWVudCBmcm9tICdtYXBib3gnO1xuaW1wb3J0IHtpbmplY3RJbnRsLCBJbnRsU2hhcGV9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHtXZWJNZXJjYXRvclZpZXdwb3J0fSBmcm9tICd2aWV3cG9ydC1tZXJjYXRvci1wcm9qZWN0JztcbmltcG9ydCB7S2V5RXZlbnR9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7SW5wdXR9IGZyb20gJy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge1NlYXJjaCwgRGVsZXRlfSBmcm9tICcuLi9jb21tb24vaWNvbnMnO1xuaW1wb3J0IHtWaWV3cG9ydH0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5cbnR5cGUgU3R5bGVkQ29udGFpbmVyUHJvcHMgPSB7XG4gIHdpZHRoPzogbnVtYmVyO1xufTtcblxuLy8gbWF0Y2hlcyBvbmx5IHZhbGlkIGNvb3JkaW5hdGVzXG5jb25zdCBDT09SRElOQVRFX1JFR0VYX1NUUklORyA9XG4gICdeWy0rXT8oWzEtOF0/XFxcXGQoXFxcXC5cXFxcZCspP3w5MChcXFxcLjArKT8pLFxcXFxzKlstK10/KDE4MChcXFxcLjArKT98KCgxWzAtN11cXFxcZCl8KFsxLTldP1xcXFxkKSkoXFxcXC5cXFxcZCspPyknO1xuY29uc3QgQ09PUkRJTkFURV9SRUdFWCA9IFJlZ0V4cChDT09SRElOQVRFX1JFR0VYX1NUUklORyk7XG5cbmNvbnN0IFBMQUNFSE9MREVSID0gJ0VudGVyIGFuIGFkZHJlc3Mgb3IgY29vcmRpbmF0ZXMsIGV4IDM3Ljc5LC0xMjIuNDAnO1xuXG5sZXQgZGVib3VuY2VUaW1lb3V0OiBOb2RlSlMuVGltZW91dCB8IG51bGwgPSBudWxsO1xuXG5leHBvcnQgY29uc3QgdGVzdEZvckNvb3JkaW5hdGVzID0gKHF1ZXJ5OiBzdHJpbmcpOiBbdHJ1ZSwgbnVtYmVyLCBudW1iZXJdIHwgW2ZhbHNlLCBzdHJpbmddID0+IHtcbiAgY29uc3QgaXNWYWxpZCA9IENPT1JESU5BVEVfUkVHRVgudGVzdChxdWVyeS50cmltKCkpO1xuXG4gIGlmICghaXNWYWxpZCkge1xuICAgIHJldHVybiBbaXNWYWxpZCwgcXVlcnldO1xuICB9XG5cbiAgY29uc3QgdG9rZW5zID0gcXVlcnkudHJpbSgpLnNwbGl0KCcsJyk7XG5cbiAgcmV0dXJuIFtpc1ZhbGlkLCBOdW1iZXIodG9rZW5zWzBdKSwgTnVtYmVyKHRva2Vuc1sxXSldO1xufTtcblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkLmRpdjxTdHlsZWRDb250YWluZXJQcm9wcz5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcblxuICAuZ2VvY29kZXItaW5wdXQge1xuICAgIGJveC1zaGFkb3c6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm94U2hhZG93fTtcblxuICAgIC5nZW9jb2Rlci1pbnB1dF9fc2VhcmNoIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5nZW9jb2RlcklucHV0SGVpZ2h0fXB4O1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDZweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zdWJ0ZXh0Q29sb3J9O1xuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgIHBhZGRpbmc6IDRweCAzNnB4O1xuICAgICAgaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmdlb2NvZGVySW5wdXRIZWlnaHR9cHg7XG4gICAgICBjYXJldC1jb2xvcjogdW5zZXQ7XG4gICAgfVxuICB9XG5cbiAgLmdlb2NvZGVyLXJlc3VsdHMge1xuICAgIGJveC1zaGFkb3c6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm94U2hhZG93fTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZH07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAke3Byb3BzID0+IChOdW1iZXIuaXNGaW5pdGUocHJvcHMud2lkdGgpID8gcHJvcHMud2lkdGggOiBwcm9wcy50aGVtZS5nZW9jb2RlcldpZHRoKX1weDtcbiAgICBtYXJnaW4tdG9wOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmRyb3Bkb3duV2FwcGVyTWFyZ2lufXB4O1xuICB9XG5cbiAgLmdlb2NvZGVyLWl0ZW0ge1xuICAgICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZHJvcGRvd25MaXN0SXRlbX07XG4gICAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0VHJ1bmNhdGV9O1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5kcm9wZG93bkxpc3RIaWdobGlnaHRCZ307XG4gICAgfVxuICB9XG5cbiAgLnJlbW92ZS1yZXN1bHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMTZweDtcbiAgICB0b3A6IDBweDtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZ2VvY29kZXJJbnB1dEhlaWdodH1weDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICA6aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9ySGx9O1xuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGludGVyZmFjZSBSZXN1bHQge1xuICBjZW50ZXI6IFtudW1iZXIsIG51bWJlcl07XG4gIHBsYWNlX25hbWU6IHN0cmluZztcbiAgYmJveD86IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdO1xuICB0ZXh0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBSZXN1bHRzID0gUmVhZG9ubHlBcnJheTxSZXN1bHQ+O1xuXG50eXBlIEdlb2NvZGVyUHJvcHMgPSB7XG4gIG1hcGJveEFwaUFjY2Vzc1Rva2VuOiBzdHJpbmc7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgbGltaXQ/OiBudW1iZXI7XG4gIHRpbWVvdXQ/OiBudW1iZXI7XG4gIGZvcm1hdEl0ZW0/OiAoaXRlbTogUmVzdWx0KSA9PiBzdHJpbmc7XG4gIHZpZXdwb3J0PzogVmlld3BvcnQ7XG4gIG9uU2VsZWN0ZWQ6ICh2aWV3cG9ydDogVmlld3BvcnQgfCBudWxsLCBpdGVtOiBSZXN1bHQpID0+IHZvaWQ7XG4gIG9uRGVsZXRlTWFya2VyPzogKCkgPT4gdm9pZDtcbiAgdHJhbnNpdGlvbkR1cmF0aW9uPzogbnVtYmVyO1xuICBwb2ludFpvb20/OiBudW1iZXI7XG4gIHdpZHRoPzogbnVtYmVyO1xufTtcblxudHlwZSBJbnRsUHJvcHMgPSB7XG4gIGludGw6IEludGxTaGFwZTtcbn07XG5cbi8qKiBAdHlwZSB7aW1wb3J0KCcuL2dlb2NvZGVyJykuR2VvY29kZXJDb21wb25lbnR9ICovXG5jb25zdCBHZW9Db2RlcjogUmVhY3QuRkM8R2VvY29kZXJQcm9wcyAmIEludGxQcm9wcz4gPSAoe1xuICBtYXBib3hBcGlBY2Nlc3NUb2tlbixcbiAgY2xhc3NOYW1lID0gJycsXG4gIGxpbWl0ID0gNSxcbiAgdGltZW91dCA9IDMwMCxcbiAgZm9ybWF0SXRlbSA9IGl0ZW0gPT4gaXRlbS5wbGFjZV9uYW1lLFxuICB2aWV3cG9ydCxcbiAgb25TZWxlY3RlZCxcbiAgb25EZWxldGVNYXJrZXIsXG4gIHRyYW5zaXRpb25EdXJhdGlvbixcbiAgcG9pbnRab29tLFxuICB3aWR0aCxcbiAgaW50bFxufSkgPT4ge1xuICBjb25zdCBbaW5wdXRWYWx1ZSwgc2V0SW5wdXRWYWx1ZV0gPSB1c2VTdGF0ZSgnJyk7XG4gIGNvbnN0IFtzaG93UmVzdWx0cywgc2V0U2hvd1Jlc3VsdHNdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbc2hvd0RlbGV0ZSwgc2V0U2hvd0RlbGV0ZV0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIC8qKiBAdHlwZSB7aW1wb3J0KCcuL2dlb2NvZGVyJykuUmVzdWx0c30gKi9cbiAgY29uc3QgaW5pdGlhbFJlc3VsdHM6IFJlc3VsdFtdID0gW107XG4gIGNvbnN0IFtyZXN1bHRzLCBzZXRSZXN1bHRzXSA9IHVzZVN0YXRlKGluaXRpYWxSZXN1bHRzKTtcbiAgY29uc3QgW3NlbGVjdGVkSW5kZXgsIHNldFNlbGVjdGVkSW5kZXhdID0gdXNlU3RhdGUoMCk7XG5cbiAgY29uc3QgY2xpZW50ID0gdXNlTWVtbygoKSA9PiBuZXcgTWFwYm94Q2xpZW50KG1hcGJveEFwaUFjY2Vzc1Rva2VuKSwgW21hcGJveEFwaUFjY2Vzc1Rva2VuXSk7XG5cbiAgY29uc3Qgb25DaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICBldmVudCA9PiB7XG4gICAgICBjb25zdCBxdWVyeVN0cmluZyA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICAgIHNldElucHV0VmFsdWUocXVlcnlTdHJpbmcpO1xuICAgICAgY29uc3QgcmVzdWx0Q29vcmRpbmF0ZXMgPSB0ZXN0Rm9yQ29vcmRpbmF0ZXMocXVlcnlTdHJpbmcpO1xuICAgICAgaWYgKHJlc3VsdENvb3JkaW5hdGVzWzBdKSB7XG4gICAgICAgIGNvbnN0IFtfLCBsYXRpdHVkZSwgbG9uZ2l0dWRlXSA9IHJlc3VsdENvb3JkaW5hdGVzO1xuICAgICAgICBzZXRSZXN1bHRzKFt7Y2VudGVyOiBbbGF0aXR1ZGUsIGxvbmdpdHVkZV0sIHBsYWNlX25hbWU6IHF1ZXJ5U3RyaW5nfV0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGRlYm91bmNlVGltZW91dCkge1xuICAgICAgICAgIGNsZWFyVGltZW91dChkZWJvdW5jZVRpbWVvdXQpO1xuICAgICAgICB9XG4gICAgICAgIGRlYm91bmNlVGltZW91dCA9IHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgIGlmIChsaW1pdCA+IDAgJiYgQm9vbGVhbihxdWVyeVN0cmluZykpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50Lmdlb2NvZGVGb3J3YXJkKHF1ZXJ5U3RyaW5nLCB7bGltaXR9KTtcbiAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmVudGl0eS5mZWF0dXJlcykge1xuICAgICAgICAgICAgICAgIHNldFNob3dSZXN1bHRzKHRydWUpO1xuICAgICAgICAgICAgICAgIHNldFJlc3VsdHMocmVzcG9uc2UuZW50aXR5LmZlYXR1cmVzKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAvLyBUT0RPOiBzaG93IGdlb2NvZGUgZXJyb3JcbiAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9LCB0aW1lb3V0KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtjbGllbnQsIGxpbWl0LCB0aW1lb3V0LCBzZXRSZXN1bHRzLCBzZXRTaG93UmVzdWx0c11cbiAgKTtcblxuICBjb25zdCBvbkJsdXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBzZXRTaG93UmVzdWx0cyhmYWxzZSk7XG4gICAgfSwgdGltZW91dCk7XG4gIH0sIFtzZXRTaG93UmVzdWx0cywgdGltZW91dF0pO1xuXG4gIGNvbnN0IG9uRm9jdXMgPSB1c2VDYWxsYmFjaygoKSA9PiBzZXRTaG93UmVzdWx0cyh0cnVlKSwgW3NldFNob3dSZXN1bHRzXSk7XG5cbiAgY29uc3Qgb25JdGVtU2VsZWN0ZWQgPSB1c2VDYWxsYmFjayhcbiAgICBpdGVtID0+IHtcbiAgICAgIGNvbnN0IG5ld1ZpZXdwb3J0ID0gbmV3IFdlYk1lcmNhdG9yVmlld3BvcnQodmlld3BvcnQpO1xuICAgICAgY29uc3Qge2Jib3gsIGNlbnRlcn0gPSBpdGVtO1xuXG4gICAgICBjb25zdCBnb3RvVmlld3BvcnQgPSBiYm94XG4gICAgICAgID8gbmV3Vmlld3BvcnQuZml0Qm91bmRzKFtcbiAgICAgICAgICAgIFtiYm94WzBdLCBiYm94WzFdXSxcbiAgICAgICAgICAgIFtiYm94WzJdLCBiYm94WzNdXVxuICAgICAgICAgIF0pXG4gICAgICAgIDoge1xuICAgICAgICAgICAgbG9uZ2l0dWRlOiBjZW50ZXJbMF0sXG4gICAgICAgICAgICBsYXRpdHVkZTogY2VudGVyWzFdLFxuICAgICAgICAgICAgem9vbTogcG9pbnRab29tXG4gICAgICAgICAgfTtcblxuICAgICAgY29uc3Qge2xvbmdpdHVkZSwgbGF0aXR1ZGUsIHpvb219ID0gZ290b1ZpZXdwb3J0O1xuXG4gICAgICBvblNlbGVjdGVkKHsuLi52aWV3cG9ydCwgLi4ue2xvbmdpdHVkZSwgbGF0aXR1ZGUsIHpvb20sIHRyYW5zaXRpb25EdXJhdGlvbn19LCBpdGVtKTtcblxuICAgICAgc2V0U2hvd1Jlc3VsdHMoZmFsc2UpO1xuICAgICAgc2V0SW5wdXRWYWx1ZShmb3JtYXRJdGVtKGl0ZW0pKTtcbiAgICAgIHNldFNob3dEZWxldGUodHJ1ZSk7XG4gICAgfSxcbiAgICBbdmlld3BvcnQsIG9uU2VsZWN0ZWQsIHRyYW5zaXRpb25EdXJhdGlvbiwgcG9pbnRab29tLCBmb3JtYXRJdGVtXVxuICApO1xuXG4gIGNvbnN0IG9uTWFya0RlbGV0ZWQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0U2hvd0RlbGV0ZShmYWxzZSk7XG4gICAgc2V0SW5wdXRWYWx1ZSgnJyk7XG4gICAgb25EZWxldGVNYXJrZXI/LigpO1xuICB9LCBbb25EZWxldGVNYXJrZXJdKTtcblxuICBjb25zdCBvbktleURvd24gPSB1c2VDYWxsYmFjayhcbiAgICBlID0+IHtcbiAgICAgIGlmICghcmVzdWx0cyB8fCByZXN1bHRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBzd2l0Y2ggKGUua2V5Q29kZSkge1xuICAgICAgICBjYXNlIEtleUV2ZW50LkRPTV9WS19VUDpcbiAgICAgICAgICBzZXRTZWxlY3RlZEluZGV4KHNlbGVjdGVkSW5kZXggPiAwID8gc2VsZWN0ZWRJbmRleCAtIDEgOiBzZWxlY3RlZEluZGV4KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBLZXlFdmVudC5ET01fVktfRE9XTjpcbiAgICAgICAgICBzZXRTZWxlY3RlZEluZGV4KHNlbGVjdGVkSW5kZXggPCByZXN1bHRzLmxlbmd0aCAtIDEgPyBzZWxlY3RlZEluZGV4ICsgMSA6IHNlbGVjdGVkSW5kZXgpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIEtleUV2ZW50LkRPTV9WS19FTlRFUjpcbiAgICAgICAgY2FzZSBLZXlFdmVudC5ET01fVktfUkVUVVJOOlxuICAgICAgICAgIGlmIChyZXN1bHRzW3NlbGVjdGVkSW5kZXhdKSB7XG4gICAgICAgICAgICBvbkl0ZW1TZWxlY3RlZChyZXN1bHRzW3NlbGVjdGVkSW5kZXhdKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfSxcbiAgICBbcmVzdWx0cywgc2VsZWN0ZWRJbmRleCwgc2V0U2VsZWN0ZWRJbmRleCwgb25JdGVtU2VsZWN0ZWRdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQ29udGFpbmVyIGNsYXNzTmFtZT17Y2xhc3NOYW1lfSB3aWR0aD17d2lkdGh9PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJnZW9jb2Rlci1pbnB1dFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdlb2NvZGVyLWlucHV0X19zZWFyY2hcIj5cbiAgICAgICAgICA8U2VhcmNoIGhlaWdodD1cIjIwcHhcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPElucHV0XG4gICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgICBvbkJsdXI9e29uQmx1cn1cbiAgICAgICAgICBvbkZvY3VzPXtvbkZvY3VzfVxuICAgICAgICAgIG9uS2V5RG93bj17b25LZXlEb3dufVxuICAgICAgICAgIHZhbHVlPXtpbnB1dFZhbHVlfVxuICAgICAgICAgIHBsYWNlaG9sZGVyPXtcbiAgICAgICAgICAgIGludGxcbiAgICAgICAgICAgICAgPyBpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnZ2VvY29kZXIudGl0bGUnLCBkZWZhdWx0TWVzc2FnZTogUExBQ0VIT0xERVJ9KVxuICAgICAgICAgICAgICA6IFBMQUNFSE9MREVSXG4gICAgICAgICAgfVxuICAgICAgICAvPlxuICAgICAgICB7c2hvd0RlbGV0ZSA/IChcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbW92ZS1yZXN1bHRcIj5cbiAgICAgICAgICAgIDxEZWxldGUgaGVpZ2h0PVwiMTJweFwiIG9uQ2xpY2s9e29uTWFya0RlbGV0ZWR9IC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIHtzaG93UmVzdWx0cyA/IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJnZW9jb2Rlci1yZXN1bHRzXCI+XG4gICAgICAgICAge3Jlc3VsdHMubWFwKChpdGVtLCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoJ2dlb2NvZGVyLWl0ZW0nLCB7YWN0aXZlOiBzZWxlY3RlZEluZGV4ID09PSBpbmRleH0pfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkl0ZW1TZWxlY3RlZChpdGVtKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2Zvcm1hdEl0ZW0oaXRlbSl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogbnVsbH1cbiAgICA8L1N0eWxlZENvbnRhaW5lcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGluamVjdEludGwoR2VvQ29kZXIpO1xuIl19
|
package/dist/geocoder-panel.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ComponentType } from 'react';
|
|
2
|
-
import { MapState } from '@kepler.gl/types';
|
|
3
|
-
export declare function getUpdateVisDataPayload(lat: any, lon: any, text: any): (
|
|
2
|
+
import { MapState, UiState } from '@kepler.gl/types';
|
|
3
|
+
export declare function getUpdateVisDataPayload(lat: any, lon: any, text: any): ({
|
|
4
4
|
data: import("@kepler.gl/types").ProcessorResult;
|
|
5
5
|
id: string;
|
|
6
6
|
info: {
|
|
@@ -10,16 +10,22 @@ export declare function getUpdateVisDataPayload(lat: any, lon: any, text: any):
|
|
|
10
10
|
};
|
|
11
11
|
}[] | {
|
|
12
12
|
keepExistingConfig: boolean;
|
|
13
|
-
}
|
|
13
|
+
})[];
|
|
14
14
|
interface GeocoderPanelProps {
|
|
15
15
|
isGeocoderEnabled: boolean;
|
|
16
16
|
mapState: MapState;
|
|
17
|
+
uiState: UiState;
|
|
17
18
|
mapboxApiAccessToken: string;
|
|
18
19
|
updateVisData: Function;
|
|
19
20
|
removeDataset: Function;
|
|
20
21
|
updateMap: Function;
|
|
22
|
+
layerOrder: string[];
|
|
21
23
|
transitionDuration?: number;
|
|
22
24
|
width?: number;
|
|
25
|
+
appWidth: number;
|
|
26
|
+
className?: string;
|
|
27
|
+
index: number;
|
|
28
|
+
unsyncedViewports: boolean;
|
|
23
29
|
}
|
|
24
30
|
export default function GeocoderPanelFactory(): ComponentType<GeocoderPanelProps>;
|
|
25
31
|
export {};
|