@kepler.gl/components 3.2.6 → 3.3.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/annotations/annotation-node.d.ts +11 -0
- package/dist/annotations/annotation-node.js +145 -0
- package/dist/annotations/annotation-overlay.d.ts +16 -0
- package/dist/annotations/annotation-overlay.js +166 -0
- package/dist/annotations/annotation-panel.d.ts +24 -0
- package/dist/annotations/annotation-panel.js +362 -0
- package/dist/annotations/annotation-text.d.ts +16 -0
- package/dist/annotations/annotation-text.js +150 -0
- package/dist/annotations/annotation-utils.d.ts +39 -0
- package/dist/annotations/annotation-utils.js +156 -0
- package/dist/annotations/index.d.ts +7 -0
- package/dist/annotations/index.js +53 -0
- package/dist/annotations/lexical-editor/clickable-link-plugin.d.ts +3 -0
- package/dist/annotations/lexical-editor/clickable-link-plugin.js +71 -0
- package/dist/annotations/lexical-editor/floating-link-editor.d.ts +1 -0
- package/dist/annotations/lexical-editor/floating-link-editor.js +194 -0
- package/dist/annotations/lexical-editor/index.d.ts +7 -0
- package/dist/annotations/lexical-editor/index.js +78 -0
- package/dist/annotations/lexical-editor/lexical-constants.d.ts +12 -0
- package/dist/annotations/lexical-editor/lexical-constants.js +22 -0
- package/dist/annotations/lexical-editor/lexical-nodes.d.ts +3 -0
- package/dist/annotations/lexical-editor/lexical-nodes.js +13 -0
- package/dist/annotations/lexical-editor/lexical-rich-text-editor.d.ts +15 -0
- package/dist/annotations/lexical-editor/lexical-rich-text-editor.js +122 -0
- package/dist/annotations/lexical-editor/lexical-theme.d.ts +15 -0
- package/dist/annotations/lexical-editor/lexical-theme.js +25 -0
- package/dist/annotations/lexical-editor/lexical-toolbar.d.ts +7 -0
- package/dist/annotations/lexical-editor/lexical-toolbar.js +293 -0
- package/dist/annotations/lexical-editor/lexical-utils.d.ts +4 -0
- package/dist/annotations/lexical-editor/lexical-utils.js +45 -0
- package/dist/annotations/lexical-editor/use-lexical-toolbar.d.ts +36 -0
- package/dist/annotations/lexical-editor/use-lexical-toolbar.js +253 -0
- package/dist/bottom-widget.d.ts +5 -5
- package/dist/bottom-widget.js +12 -6
- package/dist/common/action-panel.d.ts +3 -3
- package/dist/common/animation-control/animation-control.d.ts +2 -1
- package/dist/common/animation-control/animation-control.js +3 -1
- package/dist/common/animation-control/animation-controller.js +8 -6
- package/dist/common/animation-control/export-video-control.d.ts +9 -0
- package/dist/common/animation-control/export-video-control.js +43 -0
- package/dist/common/animation-control/playback-controls.d.ts +5 -3
- package/dist/common/animation-control/playback-controls.js +7 -4
- package/dist/common/checkbox.d.ts +5 -21
- package/dist/common/checkbox.js +58 -70
- package/dist/common/color-legend.d.ts +4 -4
- package/dist/common/color-legend.js +3 -3
- package/dist/common/column-stats-chart.d.ts +3 -3
- package/dist/common/data-table/button.d.ts +1 -1
- package/dist/common/data-table/canvas.d.ts +0 -1
- package/dist/common/data-table/cell-size.d.ts +2 -2
- package/dist/common/data-table/display-format.d.ts +1 -1
- package/dist/common/data-table/header-cell.d.ts +2 -2
- package/dist/common/data-table/index.d.ts +8 -10
- package/dist/common/data-table/index.js +3 -3
- package/dist/common/data-table/option-dropdown.d.ts +1 -1
- package/dist/common/field-selector.d.ts +5 -5
- package/dist/common/field-token.d.ts +1 -1
- package/dist/common/file-uploader/file-drop.d.ts +1 -1
- package/dist/common/file-uploader/file-upload-progress.d.ts +1 -1
- package/dist/common/file-uploader/file-upload.d.ts +1 -1
- package/dist/common/file-uploader/file-upload.js +4 -4
- package/dist/common/flex-container.d.ts +2 -3
- package/dist/common/histogram-plot.d.ts +1 -1
- package/dist/common/histogram-plot.js +102 -53
- package/dist/common/icon-button.d.ts +16 -16
- package/dist/common/icons/3d-models/airplane.d.ts +14 -0
- package/dist/common/icons/3d-models/airplane.js +104 -0
- package/dist/common/icons/3d-models/bicycle.d.ts +14 -0
- package/dist/common/icons/3d-models/bicycle.js +426 -0
- package/dist/common/icons/3d-models/boeing.d.ts +14 -0
- package/dist/common/icons/3d-models/boeing.js +119 -0
- package/dist/common/icons/3d-models/car.d.ts +14 -0
- package/dist/common/icons/3d-models/car.js +110 -0
- package/dist/common/icons/3d-models/cargoship.d.ts +14 -0
- package/dist/common/icons/3d-models/cargoship.js +246 -0
- package/dist/common/icons/3d-models/evtol.d.ts +14 -0
- package/dist/common/icons/3d-models/evtol.js +134 -0
- package/dist/common/icons/3d-models/glider.d.ts +14 -0
- package/dist/common/icons/3d-models/glider.js +62 -0
- package/dist/common/icons/3d-models/helicopter.d.ts +14 -0
- package/dist/common/icons/3d-models/helicopter.js +110 -0
- package/dist/common/icons/3d-models/scooter.d.ts +14 -0
- package/dist/common/icons/3d-models/scooter.js +159 -0
- package/dist/common/icons/3d-models/semitruck.d.ts +14 -0
- package/dist/common/icons/3d-models/semitruck.js +177 -0
- package/dist/common/icons/3d-models/truck.d.ts +14 -0
- package/dist/common/icons/3d-models/truck.js +122 -0
- package/dist/common/icons/anchor_window.d.ts +1 -8
- package/dist/common/icons/anchor_window.js +17 -10
- package/dist/common/icons/annotation-text.d.ts +9 -0
- package/dist/common/icons/annotation-text.js +56 -0
- package/dist/common/icons/base.d.ts +1 -1
- package/dist/common/icons/close.js +1 -1
- package/dist/common/icons/effects/distance-fog.d.ts +14 -0
- package/dist/common/icons/effects/distance-fog.js +79 -0
- package/dist/common/icons/effects/surface-fog.d.ts +14 -0
- package/dist/common/icons/effects/surface-fog.js +86 -0
- package/dist/common/icons/index.d.ts +3 -0
- package/dist/common/icons/index.js +22 -1
- package/dist/common/item-selector/chickleted-input.d.ts +5 -5
- package/dist/common/item-selector/chickleted-input.js +5 -5
- package/dist/common/item-selector/dropdown-list.d.ts +3 -3
- package/dist/common/item-selector/dropdown-select.d.ts +7 -7
- package/dist/common/item-selector/item-selector.d.ts +2 -2
- package/dist/common/item-selector/typeahead.d.ts +3 -3
- package/dist/common/line-chart.d.ts +4 -1
- package/dist/common/line-chart.js +59 -12
- package/dist/common/loading-spinner.d.ts +2 -2
- package/dist/common/modal.d.ts +5 -5
- package/dist/common/portaled.d.ts +8 -25
- package/dist/common/progress-bar.d.ts +1 -1
- package/dist/common/radius-legend.d.ts +1 -1
- package/dist/common/range-brush.d.ts +1 -1
- package/dist/common/range-plot.d.ts +1 -1
- package/dist/common/range-plot.js +4 -2
- package/dist/common/range-slider.d.ts +2 -0
- package/dist/common/range-slider.js +108 -43
- package/dist/common/slider/mouse-event.d.ts +1 -1
- package/dist/common/slider/slider-bar-handle.d.ts +2 -2
- package/dist/common/slider/slider-handle.d.ts +3 -3
- package/dist/common/slider/slider.d.ts +6 -2
- package/dist/common/slider/slider.js +78 -35
- package/dist/common/styled-components.d.ts +158 -159
- package/dist/common/styled-components.js +2 -2
- package/dist/common/sync-timeline-control.d.ts +3 -3
- package/dist/common/time-range-slider-time-title.d.ts +2 -2
- package/dist/common/time-range-slider-time-title.js +5 -5
- package/dist/common/time-range-slider.d.ts +4 -3
- package/dist/common/time-range-slider.js +19 -7
- package/dist/common/timeline-helpers.d.ts +3 -0
- package/dist/common/timeline-helpers.js +57 -0
- package/dist/common/timeline-slider.d.ts +1 -1
- package/dist/common/timeline-slider.js +21 -12
- package/dist/common/tippy-tooltip.d.ts +1 -1
- package/dist/common/toolbar-item.d.ts +1 -1
- package/dist/common/toolbar-item.js +5 -5
- package/dist/common/toolbar.d.ts +2 -2
- package/dist/common/toolbar.js +4 -4
- package/dist/common/vertical-toolbar.d.ts +2 -3
- package/dist/container.d.ts +6 -6
- package/dist/context.d.ts +3 -3
- package/dist/dnd-context.d.ts +2 -2
- package/dist/editor/editor.d.ts +1 -1
- package/dist/editor/editor.js +1 -1
- package/dist/editor/feature-action-panel.d.ts +1 -1
- package/dist/editor/feature-action-panel.js +1 -1
- package/dist/effects/compact-color-picker.d.ts +1 -1
- package/dist/effects/effect-configurator.d.ts +5 -4
- package/dist/effects/effect-configurator.js +243 -44
- package/dist/effects/effect-list.d.ts +1 -1
- package/dist/effects/effect-manager.d.ts +3 -3
- package/dist/effects/effect-manager.js +11 -4
- package/dist/effects/effect-panel-header.d.ts +2 -2
- package/dist/effects/effect-panel-header.js +35 -18
- package/dist/effects/effect-panel.d.ts +6 -6
- package/dist/effects/effect-panel.js +61 -86
- package/dist/effects/effect-time-configurator.d.ts +1 -1
- package/dist/effects/effect-time-configurator.js +10 -10
- package/dist/effects/effect-time-selector.d.ts +1 -1
- package/dist/effects/effect-time-slider.d.ts +3 -3
- package/dist/effects/effect-type-dropdown-list.d.ts +3 -2
- package/dist/effects/effect-type-dropdown-list.js +1 -1
- package/dist/effects/effect-type-list-item.d.ts +2 -1
- package/dist/effects/effect-type-list-item.js +23 -7
- package/dist/effects/effect-type-selector.d.ts +3 -2
- package/dist/effects/effect-type-selector.js +2 -2
- package/dist/effects/side-panel-title.d.ts +1 -1
- package/dist/effects/surface-fog-section.d.ts +14 -0
- package/dist/effects/surface-fog-section.js +263 -0
- package/dist/effects/timezone-selector.d.ts +1 -1
- package/dist/filters/components.d.ts +2 -3
- package/dist/filters/filter-panels/types.d.ts +4 -4
- package/dist/filters/index.d.ts +1 -0
- package/dist/filters/index.js +8 -1
- package/dist/filters/polygon-filter.js +2 -2
- package/dist/filters/time-range-filter.js +3 -1
- package/dist/filters/time-widget-settings.d.ts +14 -0
- package/dist/filters/time-widget-settings.js +312 -0
- package/dist/filters/time-widget-top.d.ts +2 -3
- package/dist/filters/time-widget-top.js +32 -39
- package/dist/filters/time-widget.d.ts +3 -2
- package/dist/filters/time-widget.js +285 -9
- package/dist/filters/types.d.ts +11 -11
- package/dist/filters/types.js +1 -1
- package/dist/geocoder/geocoder.d.ts +7 -4
- package/dist/geocoder/geocoder.js +65 -14
- package/dist/geocoder-panel.d.ts +11 -2
- package/dist/geocoder-panel.js +8 -4
- package/dist/hooks/use-cloud-list-provider.d.ts +1 -1
- package/dist/hooks/use-dnd-effects.d.ts +1 -1
- package/dist/hooks/use-dnd-layers.d.ts +1 -1
- package/dist/hooks/use-feature-flags.d.ts +1 -1
- package/dist/hooks/use-fetch-raster-tile-metadata.d.ts +3 -3
- package/dist/hooks/use-fetch-vector-tile-metadata.d.ts +2 -2
- package/dist/hooks/use-legend-position.d.ts +4 -5
- package/dist/index.d.ts +14 -0
- package/dist/index.js +124 -1
- package/dist/injector.d.ts +5 -5
- package/dist/kepler-gl.d.ts +70 -67
- package/dist/kepler-gl.js +89 -11
- package/dist/loading-indicator.d.ts +6 -4
- package/dist/loading-indicator.js +6 -3
- package/dist/map/annotations/annotation-control.d.ts +16 -0
- package/dist/map/annotations/annotation-control.js +56 -0
- package/dist/map/effects/effect-control.d.ts +1 -1
- package/dist/map/layer-hover-info.d.ts +3 -3
- package/dist/map/layer-hover-info.js +69 -36
- package/dist/map/layer-selector-panel.d.ts +2 -2
- package/dist/map/lazy-tippy.js +3 -3
- package/dist/map/locale-panel.d.ts +2 -2
- package/dist/map/locale-panel.js +2 -2
- package/dist/map/map-control-panel.d.ts +1 -1
- package/dist/map/map-control-toolbar.d.ts +7 -8
- package/dist/map/map-control-tooltip.d.ts +1 -1
- package/dist/map/map-control.d.ts +8 -4
- package/dist/map/map-control.js +16 -7
- package/dist/map/map-draw-panel.d.ts +2 -2
- package/dist/map/map-draw-panel.js +7 -4
- package/dist/map/map-legend-panel.d.ts +5 -4
- package/dist/map/map-legend-panel.js +10 -8
- package/dist/map/map-legend.d.ts +11 -9
- package/dist/map/map-legend.js +39 -9
- package/dist/map/map-navigation-control.d.ts +13 -0
- package/dist/map/map-navigation-control.js +143 -0
- package/dist/map/map-popover-content.d.ts +2 -2
- package/dist/map/map-popover.d.ts +2 -2
- package/dist/map/map-popover.js +2 -2
- package/dist/map/split-map-button.d.ts +1 -1
- package/dist/map/toggle-3d-button.d.ts +1 -1
- package/dist/map-container.d.ts +15 -5
- package/dist/map-container.js +286 -73
- package/dist/map-view-state-context.d.ts +10 -2
- package/dist/map-view-state-context.js +1 -1
- package/dist/modal-container.d.ts +6 -8
- package/dist/modal-container.js +28 -6
- package/dist/modals/add-map-style-modal.js +173 -200
- package/dist/modals/cloud-components/cloud-header.d.ts +1 -1
- package/dist/modals/cloud-components/provider-select.d.ts +1 -1
- package/dist/modals/cloud-tile.d.ts +1 -1
- package/dist/modals/data-table-modal.d.ts +2 -2
- package/dist/modals/data-table-modal.js +146 -194
- package/dist/modals/export-data-modal.js +117 -139
- package/dist/modals/export-image-modal.js +1 -1
- package/dist/modals/export-map-modal/components.d.ts +1 -1
- package/dist/modals/export-map-modal/export-html-map.d.ts +1 -1
- package/dist/modals/export-map-modal/export-json-map.d.ts +1 -1
- package/dist/modals/export-video-modal.d.ts +25 -0
- package/dist/modals/export-video-modal.js +338 -0
- package/dist/modals/export-video-modal.spec.d.ts +1 -0
- package/dist/modals/export-video-modal.spec.js +686 -0
- package/dist/modals/fog-height-animation.d.ts +8 -0
- package/dist/modals/fog-height-animation.js +97 -0
- package/dist/modals/hubble-utils.d.ts +25 -0
- package/dist/modals/hubble-utils.js +197 -0
- package/dist/modals/hubble-utils.spec.d.ts +1 -0
- package/dist/modals/hubble-utils.spec.js +397 -0
- package/dist/modals/image-modal-container.d.ts +1 -1
- package/dist/modals/load-data-modal.d.ts +2 -2
- package/dist/modals/modal-dialog.d.ts +0 -2
- package/dist/modals/overwrite-map-modal.d.ts +1 -1
- package/dist/modals/save-map-modal.d.ts +3 -3
- package/dist/modals/share-map-modal.d.ts +1 -1
- package/dist/modals/tilesets-modals/common.d.ts +3 -3
- package/dist/modals/tilesets-modals/common.js +1 -1
- package/dist/modals/tilesets-modals/load-data-footer.d.ts +1 -1
- package/dist/modals/tilesets-modals/load-data-footer.js +2 -2
- package/dist/modals/tilesets-modals/load-tileset.d.ts +1 -1
- package/dist/modals/tilesets-modals/load-tileset.js +27 -10
- package/dist/modals/tilesets-modals/tileset-bitmap-form.d.ts +14 -0
- package/dist/modals/tilesets-modals/tileset-bitmap-form.js +284 -0
- package/dist/modals/tilesets-modals/tileset-icon.d.ts +1 -1
- package/dist/modals/tilesets-modals/tileset-raster-form.d.ts +2 -2
- package/dist/modals/tilesets-modals/tileset-raster-form.js +94 -11
- package/dist/modals/tilesets-modals/tileset-tile3d-form.d.ts +12 -0
- package/dist/modals/tilesets-modals/tileset-tile3d-form.js +389 -0
- package/dist/modals/tilesets-modals/tileset-vector-form.d.ts +3 -3
- package/dist/modals/tilesets-modals/tileset-vector-form.js +58 -4
- package/dist/modals/tilesets-modals/tileset-wms-form.d.ts +1 -1
- package/dist/modals/tilesets-modals/tileset-wms-form.js +55 -11
- package/dist/notification-panel/notification-item.d.ts +1 -53
- package/dist/notification-panel/notification-item.js +47 -75
- package/dist/notification-panel.d.ts +1 -1
- package/dist/notification-panel.js +20 -42
- package/dist/plot-container.js +55 -14
- package/dist/side-panel/add-by-dataset-button.d.ts +1 -1
- package/dist/side-panel/add-by-dataset-button.js +3 -3
- package/dist/side-panel/common/dataset-info.d.ts +2 -2
- package/dist/side-panel/common/dataset-info.js +2 -2
- package/dist/side-panel/common/dataset-tag.d.ts +2 -2
- package/dist/side-panel/common/dataset-title.d.ts +2 -2
- package/dist/side-panel/common/source-data-catalog.d.ts +3 -3
- package/dist/side-panel/common/types.d.ts +8 -8
- package/dist/side-panel/custom-panel.d.ts +2 -2
- package/dist/side-panel/filter-manager.d.ts +3 -3
- package/dist/side-panel/filter-panel/add-filter-button.d.ts +1 -1
- package/dist/side-panel/filter-panel/filter-panel-header.d.ts +2 -2
- package/dist/side-panel/interaction-manager.d.ts +1 -1
- package/dist/side-panel/interaction-panel/brush-config.d.ts +1 -1
- package/dist/side-panel/interaction-panel/geocoder-config.d.ts +11 -0
- package/dist/side-panel/interaction-panel/geocoder-config.js +45 -0
- package/dist/side-panel/interaction-panel/interaction-panel.d.ts +3 -2
- package/dist/side-panel/interaction-panel/interaction-panel.js +10 -3
- package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +3 -3
- package/dist/side-panel/interaction-panel/tooltip-config.d.ts +1 -1
- package/dist/side-panel/layer-manager.d.ts +2 -2
- package/dist/side-panel/layer-manager.js +11 -3
- package/dist/side-panel/layer-panel/add-layer-button.d.ts +1 -1
- package/dist/side-panel/layer-panel/channel-by-value-selector.d.ts +1 -1
- package/dist/side-panel/layer-panel/color-breaks-panel.d.ts +4 -4
- package/dist/side-panel/layer-panel/color-palette-preset.d.ts +1 -1
- package/dist/side-panel/layer-panel/color-palette.d.ts +2 -2
- package/dist/side-panel/layer-panel/color-range-selector.d.ts +3 -3
- package/dist/side-panel/layer-panel/color-scale-selector.d.ts +5 -5
- package/dist/side-panel/layer-panel/color-scale-selector.js +1 -1
- package/dist/side-panel/layer-panel/color-selector.d.ts +3 -3
- package/dist/side-panel/layer-panel/column-selector.d.ts +1 -1
- package/dist/side-panel/layer-panel/custom-palette.d.ts +10 -10
- package/dist/side-panel/layer-panel/custom-palette.js +5 -5
- package/dist/side-panel/layer-panel/custom-picker.d.ts +1 -1
- package/dist/side-panel/layer-panel/dataset-layer-group.d.ts +1 -1
- package/dist/side-panel/layer-panel/dataset-layer-section.d.ts +1 -1
- package/dist/side-panel/layer-panel/dataset-layer-section.js +19 -3
- package/dist/side-panel/layer-panel/dataset-section.d.ts +2 -2
- package/dist/side-panel/layer-panel/dimension-scale-selector.d.ts +1 -1
- package/dist/side-panel/layer-panel/how-to-button.d.ts +1 -1
- package/dist/side-panel/layer-panel/layer-color-selector.d.ts +3 -3
- package/dist/side-panel/layer-panel/layer-column-config.d.ts +1 -1
- package/dist/side-panel/layer-panel/layer-column-mode-config.d.ts +3 -3
- package/dist/side-panel/layer-panel/layer-config-group.d.ts +5 -5
- package/dist/side-panel/layer-panel/layer-configurator.d.ts +6 -4
- package/dist/side-panel/layer-panel/layer-configurator.js +408 -72
- package/dist/side-panel/layer-panel/layer-error-message.d.ts +1 -1
- package/dist/side-panel/layer-panel/layer-list.d.ts +2 -2
- package/dist/side-panel/layer-panel/layer-panel-header.d.ts +5 -5
- package/dist/side-panel/layer-panel/layer-panel-header.js +2 -2
- package/dist/side-panel/layer-panel/layer-panel.d.ts +1 -1
- package/dist/side-panel/layer-panel/layer-type-dropdown-list.d.ts +2 -2
- package/dist/side-panel/layer-panel/layer-type-list-item.d.ts +2 -2
- package/dist/side-panel/layer-panel/layer-type-selector.d.ts +1 -1
- package/dist/side-panel/layer-panel/radius-by-zoom-input.d.ts +1 -1
- package/dist/side-panel/layer-panel/raster-tile-layer-configurator.d.ts +2 -2
- package/dist/side-panel/layer-panel/raster-tile-layer-configurator.js +127 -27
- package/dist/side-panel/layer-panel/scenegraph-model-selector.d.ts +24 -0
- package/dist/side-panel/layer-panel/scenegraph-model-selector.js +123 -0
- package/dist/side-panel/layer-panel/single-color-palette.d.ts +1 -1
- package/dist/side-panel/layer-panel/text-label-panel.d.ts +2 -2
- package/dist/side-panel/layer-panel/text-label-panel.js +11 -2
- package/dist/side-panel/layer-panel/vector-tile-layer-configurator.d.ts +3 -3
- package/dist/side-panel/layer-panel/vis-config-by-field-selector.d.ts +1 -1
- package/dist/side-panel/layer-panel/vis-config-slider.d.ts +3 -1
- package/dist/side-panel/layer-panel/vis-config-slider.js +7 -3
- package/dist/side-panel/layer-panel/vis-config-switch.d.ts +1 -1
- package/dist/side-panel/map-manager.d.ts +1 -1
- package/dist/side-panel/map-style-panel/map-layer-group-color-picker.d.ts +1 -1
- package/dist/side-panel/map-style-panel/map-layer-group-item.d.ts +2 -2
- package/dist/side-panel/map-style-panel/map-layer-selector.d.ts +1 -1
- package/dist/side-panel/map-style-panel/map-style-selector.d.ts +1 -1
- package/dist/side-panel/panel-header-action.d.ts +1 -1
- package/dist/side-panel/panel-header.d.ts +13 -12
- package/dist/side-panel/panel-header.js +9 -2
- package/dist/side-panel/panel-tab.d.ts +5 -5
- package/dist/side-panel/panel-tab.js +4 -4
- package/dist/side-panel/panel-title.d.ts +1 -1
- package/dist/side-panel/panel-toggle.d.ts +1 -1
- package/dist/side-panel/panel-view-list-toggle.d.ts +3 -3
- package/dist/side-panel/side-bar.d.ts +2 -2
- package/dist/side-panel.d.ts +1 -1
- package/dist/side-panel.js +5 -1
- package/dist/types.d.ts +3 -3
- package/package.json +41 -29
|
@@ -128,7 +128,9 @@ function RangePlotFactory(RangeBrush, HistogramPlot, LineChartPlot) {
|
|
|
128
128
|
onBrush: onBrush
|
|
129
129
|
}, chartProps);
|
|
130
130
|
return isLineChart(plotType) && lineChart ? /*#__PURE__*/_react["default"].createElement(LineChartPlot, (0, _extends2["default"])({
|
|
131
|
-
lineChart: lineChart
|
|
131
|
+
lineChart: lineChart,
|
|
132
|
+
range: range,
|
|
133
|
+
yAxisAutoRange: plotType.yAxisAutoRange
|
|
132
134
|
}, commonProps)) : /*#__PURE__*/_react["default"].createElement(HistogramPlot, (0, _extends2["default"])({
|
|
133
135
|
histogramsByGroup: bins,
|
|
134
136
|
colorsByGroup: groupColors,
|
|
@@ -213,4 +215,4 @@ function RangePlotFactory(RangeBrush, HistogramPlot, LineChartPlot) {
|
|
|
213
215
|
};
|
|
214
216
|
return (0, _styledComponents.withTheme)(WithPlotLoading);
|
|
215
217
|
}
|
|
216
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9yYW5nZUJydXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9oaXN0b2dyYW1QbG90IiwiX2xpbmVDaGFydCIsIl91dGlscyIsIl9jb25zdGFudHMiLCJfbG9hZGluZ1NwaW5uZXIiLCJfc3R5bGVzIiwiX2V4Y2x1ZGVkIiwiX2V4Y2x1ZGVkMiIsIl90ZW1wbGF0ZU9iamVjdCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIlN0eWxlZFJhbmdlUGxvdCIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJ0aGVtZSIsInNsaWRlckJhckhlaWdodCIsIlJhbmdlUGxvdEZhY3RvcnkiLCJkZXBzIiwiUmFuZ2VCcnVzaEZhY3RvcnkiLCJIaXN0b2dyYW1QbG90RmFjdG9yeSIsIkxpbmVDaGFydEZhY3RvcnkiLCJpc0hpc3RvZ3JhbVBsb3QiLCJwbG90VHlwZSIsInR5cGUiLCJQTE9UX1RZUEVTIiwiaGlzdG9ncmFtIiwiaXNMaW5lQ2hhcnQiLCJsaW5lQ2hhcnQiLCJoYXNIaXN0b2dyYW0iLCJiaW5zIiwiaGFzTGluZUNoYXJ0IiwiTE9BRElOR19TUElOTkVSX0NPTlRBSU5FUl9TVFlMRSIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwianVzdGlmeUNvbnRlbnQiLCJ3aWR0aCIsIlJhbmdlQnJ1c2giLCJIaXN0b2dyYW1QbG90IiwiTGluZUNoYXJ0UGxvdCIsIlJhbmdlUGxvdCIsIl9yZWYiLCJvbkJydXNoIiwicmFuZ2UiLCJ2YWx1ZSIsImlzRW5sYXJnZWQiLCJpc1JhbmdlZCIsImNoYXJ0UHJvcHMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMyIiwiZ3JvdXBDb2xvcnMiLCJ1c2VNZW1vIiwiZGF0YUlkcyIsImNvbG9yc0J5RGF0YUlkIiwicmVkdWNlIiwiYWNjIiwiZGF0YUlkIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwiYnJ1c2hpbmciLCJzZXRCcnVzaGluZyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiaG92ZXJlZERQIiwib25Nb3VzZU1vdmUiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImVuYWJsZUNoYXJ0SG92ZXIiLCJzZXRFbmFibGVDaGFydEhvdmVyIiwiaGVpZ2h0IiwiaGFzTW9iaWxlV2lkdGgiLCJicmVha1BvaW50VmFsdWVzIiwicmFuZ2VQbG90SExhcmdlUGFsbSIsInJhbmdlUGxvdEhMYXJnZSIsInJhbmdlUGxvdEgiLCJvbkJydXNoU3RhcnQiLCJ1c2VDYWxsYmFjayIsIm9uQnJ1c2hFbmQiLCJvbk1vdXNlb3ZlckhhbmRsZSIsIm9uTW91c2VvdXRIYW5kbGUiLCJicnVzaENvbXBvbmVudCIsImlzVGVzdCIsImNyZWF0ZUVsZW1lbnQiLCJfZXh0ZW5kczIiLCJjb21tb25Qcm9wcyIsIm1hcmdpbiIsInJhbmdlUGxvdE1hcmdpbkxhcmdlIiwicmFuZ2VQbG90TWFyZ2luIiwiaGlzdG9ncmFtc0J5R3JvdXAiLCJjb2xvcnNCeUdyb3VwIiwiUmFuZ2VQbG90V2l0aFRoZW1lIiwid2l0aFRoZW1lIiwiV2l0aFBsb3RMb2FkaW5nIiwiX3JlZjIiLCJzZXRGaWx0ZXJQbG90Iiwib3RoZXJQcm9wcyIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiaXNMb2FkaW5nIiwic2V0SXNMb2FkaW5nIiwiaXNDaGFuZ2luZ1JlZiIsInVzZVJlZiIsInVzZUVmZmVjdCIsImN1cnJlbnQiLCJyYW5nZVBsb3RTdHlsZSIsImNvbmNhdCIsInJhbmdlUGxvdENvbnRhaW5lckhMYXJnZVBhbG0iLCJyYW5nZVBsb3RDb250YWluZXJITGFyZ2UiLCJyYW5nZVBsb3RDb250YWluZXJIIiwic3R5bGUiLCJjbGFzc05hbWUiLCJib3JkZXJDb2xvciIsInNpemUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbW9uL3JhbmdlLXBsb3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUsIENTU1Byb3BlcnRpZXN9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQsIHt3aXRoVGhlbWV9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBSYW5nZUJydXNoRmFjdG9yeSwge09uQnJ1c2gsIFJhbmdlQnJ1c2hQcm9wc30gZnJvbSAnLi9yYW5nZS1icnVzaCc7XG5pbXBvcnQgSGlzdG9ncmFtUGxvdEZhY3RvcnkgZnJvbSAnLi9oaXN0b2dyYW0tcGxvdCc7XG5pbXBvcnQgTGluZUNoYXJ0RmFjdG9yeSwge0hvdmVyRFB9IGZyb20gJy4vbGluZS1jaGFydCc7XG5pbXBvcnQge2hhc01vYmlsZVdpZHRoLCBpc1Rlc3R9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuaW1wb3J0IHtQTE9UX1RZUEVTfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQgTG9hZGluZ1NwaW5uZXIgZnJvbSAnLi9sb2FkaW5nLXNwaW5uZXInO1xuaW1wb3J0IHticmVha1BvaW50VmFsdWVzfSBmcm9tICdAa2VwbGVyLmdsL3N0eWxlcyc7XG5pbXBvcnQge0xpbmVDaGFydCBhcyBMaW5lQ2hhcnRUeXBlLCBGaWx0ZXIsIEJpbnN9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtEYXRhc2V0c30gZnJvbSAnQGtlcGxlci5nbC90YWJsZSc7XG5cbmNvbnN0IFN0eWxlZFJhbmdlUGxvdCA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2xpZGVyQmFySGVpZ2h0fXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5gO1xuXG5pbnRlcmZhY2UgUmFuZ2VQbG90UHJvcHMge1xuICBvbkJydXNoOiBPbkJydXNoO1xuICByYW5nZTogbnVtYmVyW107XG4gIHZhbHVlOiBudW1iZXJbXTtcbiAgd2lkdGg6IG51bWJlcjtcbiAgcGxvdFR5cGU6IHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gIH07XG4gIGxpbmVDaGFydD86IExpbmVDaGFydFR5cGU7XG4gIGJpbnM/OiBCaW5zO1xuXG4gIGlzRW5sYXJnZWQ/OiBib29sZWFuO1xuICBpc1JhbmdlZD86IGJvb2xlYW47XG4gIHRoZW1lOiBhbnk7XG4gIHRpbWVGb3JtYXQ/OiBzdHJpbmc7XG4gIHRpbWV6b25lPzogc3RyaW5nIHwgbnVsbDtcbiAgcGxheWJhY2tDb250cm9sV2lkdGg/OiBudW1iZXI7XG5cbiAgYW5pbWF0aW9uV2luZG93Pzogc3RyaW5nO1xuICBmaWx0ZXI/OiBGaWx0ZXI7XG4gIGRhdGFzZXRzPzogRGF0YXNldHM7XG5cbiAgaW52ZXJ0VHJlbmRDb2xvcj86IGJvb2xlYW47XG5cbiAgc3R5bGU6IENTU1Byb3BlcnRpZXM7XG59XG5cbnR5cGUgV2l0aFBsb3RMb2FkaW5nUHJvcHMgPSBSYW5nZVBsb3RQcm9wcyAmXG4gIFBhcnRpYWw8UmFuZ2VCcnVzaFByb3BzPiAmIHtcbiAgICBzZXRGaWx0ZXJQbG90OiBhbnk7XG4gIH07XG5cblJhbmdlUGxvdEZhY3RvcnkuZGVwcyA9IFtSYW5nZUJydXNoRmFjdG9yeSwgSGlzdG9ncmFtUGxvdEZhY3RvcnksIExpbmVDaGFydEZhY3RvcnldO1xuXG5jb25zdCBpc0hpc3RvZ3JhbVBsb3QgPSBwbG90VHlwZSA9PiBwbG90VHlwZT8udHlwZSA9PT0gUExPVF9UWVBFUy5oaXN0b2dyYW07XG5jb25zdCBpc0xpbmVDaGFydCA9IHBsb3RUeXBlID0+IHBsb3RUeXBlPy50eXBlID09PSBQTE9UX1RZUEVTLmxpbmVDaGFydDtcbmNvbnN0IGhhc0hpc3RvZ3JhbSA9IChwbG90VHlwZSwgYmlucykgPT4gaXNIaXN0b2dyYW1QbG90KHBsb3RUeXBlKSAmJiBiaW5zO1xuY29uc3QgaGFzTGluZUNoYXJ0ID0gKHBsb3RUeXBlLCBsaW5lQ2hhcnQpID0+IGlzTGluZUNoYXJ0KHBsb3RUeXBlKSAmJiBsaW5lQ2hhcnQ7XG5cbmNvbnN0IExPQURJTkdfU1BJTk5FUl9DT05UQUlORVJfU1RZTEUgPSB7XG4gIGRpc3BsYXk6ICdmbGV4JyxcbiAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgd2lkdGg6ICcxMDAlJ1xufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUmFuZ2VQbG90RmFjdG9yeShcbiAgUmFuZ2VCcnVzaDogUmV0dXJuVHlwZTx0eXBlb2YgUmFuZ2VCcnVzaEZhY3Rvcnk+LFxuICBIaXN0b2dyYW1QbG90OiBSZXR1cm5UeXBlPHR5cGVvZiBIaXN0b2dyYW1QbG90RmFjdG9yeT4sXG4gIExpbmVDaGFydFBsb3Q6IFJldHVyblR5cGU8dHlwZW9mIExpbmVDaGFydEZhY3Rvcnk+XG4pIHtcbiAgY29uc3QgUmFuZ2VQbG90ID0gKHtcbiAgICBiaW5zLFxuICAgIG9uQnJ1c2gsXG4gICAgcmFuZ2UsXG4gICAgdmFsdWUsXG4gICAgd2lkdGgsXG4gICAgcGxvdFR5cGUsXG4gICAgbGluZUNoYXJ0LFxuICAgIGlzRW5sYXJnZWQsXG4gICAgaXNSYW5nZWQsXG4gICAgdGhlbWUsXG4gICAgLi4uY2hhcnRQcm9wc1xuICB9OiBSYW5nZVBsb3RQcm9wcyAmIFBhcnRpYWw8UmFuZ2VCcnVzaFByb3BzPikgPT4ge1xuICAgIGNvbnN0IGdyb3VwQ29sb3JzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBjb25zdCBkYXRhSWRzID0gYmlucyA/IE9iamVjdC5rZXlzKGJpbnMpIDogW107XG4gICAgICByZXR1cm4gcGxvdFR5cGUuY29sb3JzQnlEYXRhSWRcbiAgICAgICAgPyBkYXRhSWRzLnJlZHVjZSgoYWNjLCBkYXRhSWQpID0+IHtcbiAgICAgICAgICAgIGFjY1tkYXRhSWRdID0gcGxvdFR5cGUuY29sb3JzQnlEYXRhSWRbZGF0YUlkXTtcbiAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgfSwge30pXG4gICAgICAgIDogbnVsbDtcbiAgICB9LCBbYmlucywgcGxvdFR5cGUuY29sb3JzQnlEYXRhSWRdKTtcblxuICAgIGNvbnN0IFticnVzaGluZywgc2V0QnJ1c2hpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtob3ZlcmVkRFAsIG9uTW91c2VNb3ZlXSA9IHVzZVN0YXRlPEhvdmVyRFAgfCBudWxsPihudWxsKTtcbiAgICBjb25zdCBbZW5hYmxlQ2hhcnRIb3Zlciwgc2V0RW5hYmxlQ2hhcnRIb3Zlcl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgaGVpZ2h0ID0gaXNFbmxhcmdlZFxuICAgICAgPyBoYXNNb2JpbGVXaWR0aChicmVha1BvaW50VmFsdWVzKVxuICAgICAgICA/IHRoZW1lLnJhbmdlUGxvdEhMYXJnZVBhbG1cbiAgICAgICAgOiB0aGVtZS5yYW5nZVBsb3RITGFyZ2VcbiAgICAgIDogdGhlbWUucmFuZ2VQbG90SDtcblxuICAgIGNvbnN0IG9uQnJ1c2hTdGFydCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIHNldEJydXNoaW5nKHRydWUpO1xuICAgICAgb25Nb3VzZU1vdmUobnVsbCk7XG4gICAgICBzZXRFbmFibGVDaGFydEhvdmVyKGZhbHNlKTtcbiAgICB9LCBbc2V0QnJ1c2hpbmcsIG9uTW91c2VNb3ZlLCBzZXRFbmFibGVDaGFydEhvdmVyXSk7XG5cbiAgICBjb25zdCBvbkJydXNoRW5kID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgc2V0QnJ1c2hpbmcoZmFsc2UpO1xuICAgICAgc2V0RW5hYmxlQ2hhcnRIb3Zlcih0cnVlKTtcbiAgICB9LCBbc2V0QnJ1c2hpbmcsIHNldEVuYWJsZUNoYXJ0SG92ZXJdKTtcblxuICAgIGNvbnN0IG9uTW91c2VvdmVySGFuZGxlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgb25Nb3VzZU1vdmUobnVsbCk7XG4gICAgICBzZXRFbmFibGVDaGFydEhvdmVyKGZhbHNlKTtcbiAgICB9LCBbb25Nb3VzZU1vdmUsIHNldEVuYWJsZUNoYXJ0SG92ZXJdKTtcblxuICAgIGNvbnN0IG9uTW91c2VvdXRIYW5kbGUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRFbmFibGVDaGFydEhvdmVyKHRydWUpO1xuICAgIH0sIFtzZXRFbmFibGVDaGFydEhvdmVyXSk7XG5cbiAgICAvLyBKc0RvbSBoYXZlIGxpbWl0ZWQgc3VwcG9ydCBmb3IgU1ZHLCBkMyB3aWxsIGZhaWxcbiAgICBjb25zdCBicnVzaENvbXBvbmVudCA9IGlzVGVzdCgpID8gbnVsbCA6IChcbiAgICAgIDxSYW5nZUJydXNoXG4gICAgICAgIG9uQnJ1c2g9e29uQnJ1c2h9XG4gICAgICAgIG9uQnJ1c2hTdGFydD17b25CcnVzaFN0YXJ0fVxuICAgICAgICBvbkJydXNoRW5kPXtvbkJydXNoRW5kfVxuICAgICAgICByYW5nZT17cmFuZ2V9XG4gICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgICBoZWlnaHQ9e2hlaWdodH1cbiAgICAgICAgaXNSYW5nZWQ9e2lzUmFuZ2VkfVxuICAgICAgICBvbk1vdXNlb3ZlckhhbmRsZT17b25Nb3VzZW92ZXJIYW5kbGV9XG4gICAgICAgIG9uTW91c2VvdXRIYW5kbGU9e29uTW91c2VvdXRIYW5kbGV9XG4gICAgICAgIHsuLi5jaGFydFByb3BzfVxuICAgICAgLz5cbiAgICApO1xuXG4gICAgY29uc3QgY29tbW9uUHJvcHMgPSB7XG4gICAgICB3aWR0aCxcbiAgICAgIHZhbHVlLFxuICAgICAgaGVpZ2h0LFxuICAgICAgbWFyZ2luOiBpc0VubGFyZ2VkID8gdGhlbWUucmFuZ2VQbG90TWFyZ2luTGFyZ2UgOiB0aGVtZS5yYW5nZVBsb3RNYXJnaW4sXG4gICAgICBicnVzaENvbXBvbmVudCxcbiAgICAgIGJydXNoaW5nLFxuICAgICAgaXNFbmxhcmdlZCxcbiAgICAgIGVuYWJsZUNoYXJ0SG92ZXIsXG4gICAgICBvbk1vdXNlTW92ZSxcbiAgICAgIGhvdmVyZWREUCxcbiAgICAgIGlzUmFuZ2VkLFxuICAgICAgb25CcnVzaCxcbiAgICAgIC4uLmNoYXJ0UHJvcHNcbiAgICB9O1xuXG4gICAgcmV0dXJuIGlzTGluZUNoYXJ0KHBsb3RUeXBlKSAmJiBsaW5lQ2hhcnQgPyAoXG4gICAgICA8TGluZUNoYXJ0UGxvdCBsaW5lQ2hhcnQ9e2xpbmVDaGFydH0gey4uLmNvbW1vblByb3BzfSAvPlxuICAgICkgOiAoXG4gICAgICA8SGlzdG9ncmFtUGxvdFxuICAgICAgICBoaXN0b2dyYW1zQnlHcm91cD17Ymluc31cbiAgICAgICAgY29sb3JzQnlHcm91cD17Z3JvdXBDb2xvcnN9XG4gICAgICAgIHJhbmdlPXtyYW5nZX1cbiAgICAgICAgey4uLmNvbW1vblByb3BzfVxuICAgICAgLz5cbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IFJhbmdlUGxvdFdpdGhUaGVtZSA9IHdpdGhUaGVtZShSYW5nZVBsb3QpIGFzIFJlYWN0LkZDPFxuICAgIFJhbmdlUGxvdFByb3BzICYgUGFydGlhbDxSYW5nZUJydXNoUHJvcHM+XG4gID47XG5cbiAgLy8gYSBjb250YWluZXIgdG8gcmVuZGVyIHNwaW5uZXIgb3IgbWVzc2FnZSB3aGVuIHRoZSBkYXRhIGlzIHRvbyBiaWdcbiAgLy8gdG8gZ2VuZXJhdGUgYSBwbG90XG4gIGNvbnN0IFdpdGhQbG90TG9hZGluZyA9ICh7XG4gICAgbGluZUNoYXJ0LFxuICAgIHBsb3RUeXBlLFxuICAgIGJpbnMsXG4gICAgc2V0RmlsdGVyUGxvdCxcbiAgICBpc0VubGFyZ2VkLFxuICAgIHRoZW1lLFxuICAgIC4uLm90aGVyUHJvcHNcbiAgfTogV2l0aFBsb3RMb2FkaW5nUHJvcHMpID0+IHtcbiAgICBjb25zdCBbaXNMb2FkaW5nLCBzZXRJc0xvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IGlzQ2hhbmdpbmdSZWYgPSB1c2VSZWYoZmFsc2UpO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmIChpc0NoYW5naW5nUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgaWYgKGhhc0hpc3RvZ3JhbShwbG90VHlwZSwgYmlucykpIHtcbiAgICAgICAgICAvLyBCaW5zIGFyZSBsb2FkZWRcbiAgICAgICAgICBpc0NoYW5naW5nUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKCFwbG90VHlwZSB8fCAoaXNIaXN0b2dyYW1QbG90KHBsb3RUeXBlKSAmJiAhYmlucykpIHtcbiAgICAgICAgICAvLyBsb2FkIGhpc3RvZ3JhbVxuICAgICAgICAgIHNldElzTG9hZGluZyh0cnVlKTtcbiAgICAgICAgICBzZXRGaWx0ZXJQbG90KHtwbG90VHlwZToge3R5cGU6IFBMT1RfVFlQRVMuaGlzdG9ncmFtfX0pO1xuICAgICAgICAgIGlzQ2hhbmdpbmdSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LCBbYmlucywgcGxvdFR5cGUsIHNldEZpbHRlclBsb3RdKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoaXNDaGFuZ2luZ1JlZi5jdXJyZW50KSB7XG4gICAgICAgIGlmIChoYXNMaW5lQ2hhcnQocGxvdFR5cGUsIGxpbmVDaGFydCkpIHtcbiAgICAgICAgICAvLyBMaW5lIGNoYXJ0IGlzIGxvYWRlZFxuICAgICAgICAgIGlzQ2hhbmdpbmdSZWYuY3VycmVudCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoaXNMaW5lQ2hhcnQocGxvdFR5cGUpICYmICFsaW5lQ2hhcnQpIHtcbiAgICAgICAgICAvLyBsb2FkIGxpbmUgY2hhcnRcbiAgICAgICAgICBzZXRJc0xvYWRpbmcodHJ1ZSk7XG4gICAgICAgICAgc2V0RmlsdGVyUGxvdCh7cGxvdFR5cGU6IHt0eXBlOiBQTE9UX1RZUEVTLmxpbmVDaGFydH19KTtcbiAgICAgICAgICBpc0NoYW5naW5nUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSwgW2xpbmVDaGFydCwgcGxvdFR5cGUsIHNldEZpbHRlclBsb3RdKTtcblxuICAgIGNvbnN0IHJhbmdlUGxvdFN0eWxlID0gdXNlTWVtbyhcbiAgICAgICgpID0+ICh7XG4gICAgICAgIGhlaWdodDogYCR7XG4gICAgICAgICAgaXNFbmxhcmdlZFxuICAgICAgICAgICAgPyBoYXNNb2JpbGVXaWR0aChicmVha1BvaW50VmFsdWVzKVxuICAgICAgICAgICAgICA/IHRoZW1lLnJhbmdlUGxvdENvbnRhaW5lckhMYXJnZVBhbG1cbiAgICAgICAgICAgICAgOiB0aGVtZS5yYW5nZVBsb3RDb250YWluZXJITGFyZ2VcbiAgICAgICAgICAgIDogdGhlbWUucmFuZ2VQbG90Q29udGFpbmVySFxuICAgICAgICB9cHhgXG4gICAgICB9KSxcbiAgICAgIFtpc0VubGFyZ2VkLCB0aGVtZV1cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRSYW5nZVBsb3Qgc3R5bGU9e3JhbmdlUGxvdFN0eWxlfSBjbGFzc05hbWU9XCJrZy1yYW5nZS1zbGlkZXJfX3Bsb3RcIj5cbiAgICAgICAge2lzTG9hZGluZyA/IChcbiAgICAgICAgICA8ZGl2IHN0eWxlPXtMT0FESU5HX1NQSU5ORVJfQ09OVEFJTkVSX1NUWUxFfT5cbiAgICAgICAgICAgIDxMb2FkaW5nU3Bpbm5lciBib3JkZXJDb2xvcj1cInRyYW5zcGFyZW50XCIgc2l6ZT17NDB9IC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJhbmdlUGxvdFdpdGhUaGVtZVxuICAgICAgICAgICAgbGluZUNoYXJ0PXtsaW5lQ2hhcnR9XG4gICAgICAgICAgICBiaW5zPXtiaW5zfVxuICAgICAgICAgICAgcGxvdFR5cGU9e3Bsb3RUeXBlfVxuICAgICAgICAgICAgaXNFbmxhcmdlZD17aXNFbmxhcmdlZH1cbiAgICAgICAgICAgIHRoZW1lPXt0aGVtZX1cbiAgICAgICAgICAgIHsuLi5vdGhlclByb3BzfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1N0eWxlZFJhbmdlUGxvdD5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiB3aXRoVGhlbWUoV2l0aFBsb3RMb2FkaW5nKSBhcyBSZWFjdC5GQzxPbWl0PFdpdGhQbG90TG9hZGluZ1Byb3BzLCAndGhlbWUnPj47XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxpQkFBQSxHQUFBRix1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsV0FBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksY0FBQSxHQUFBRCxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUssVUFBQSxHQUFBRixzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQU0sTUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sVUFBQSxHQUFBUCxPQUFBO0FB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
|
|
218
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9yYW5nZUJydXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9oaXN0b2dyYW1QbG90IiwiX2xpbmVDaGFydCIsIl91dGlscyIsIl9jb25zdGFudHMiLCJfbG9hZGluZ1NwaW5uZXIiLCJfc3R5bGVzIiwiX2V4Y2x1ZGVkIiwiX2V4Y2x1ZGVkMiIsIl90ZW1wbGF0ZU9iamVjdCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIlN0eWxlZFJhbmdlUGxvdCIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJ0aGVtZSIsInNsaWRlckJhckhlaWdodCIsIlJhbmdlUGxvdEZhY3RvcnkiLCJkZXBzIiwiUmFuZ2VCcnVzaEZhY3RvcnkiLCJIaXN0b2dyYW1QbG90RmFjdG9yeSIsIkxpbmVDaGFydEZhY3RvcnkiLCJpc0hpc3RvZ3JhbVBsb3QiLCJwbG90VHlwZSIsInR5cGUiLCJQTE9UX1RZUEVTIiwiaGlzdG9ncmFtIiwiaXNMaW5lQ2hhcnQiLCJsaW5lQ2hhcnQiLCJoYXNIaXN0b2dyYW0iLCJiaW5zIiwiaGFzTGluZUNoYXJ0IiwiTE9BRElOR19TUElOTkVSX0NPTlRBSU5FUl9TVFlMRSIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwianVzdGlmeUNvbnRlbnQiLCJ3aWR0aCIsIlJhbmdlQnJ1c2giLCJIaXN0b2dyYW1QbG90IiwiTGluZUNoYXJ0UGxvdCIsIlJhbmdlUGxvdCIsIl9yZWYiLCJvbkJydXNoIiwicmFuZ2UiLCJ2YWx1ZSIsImlzRW5sYXJnZWQiLCJpc1JhbmdlZCIsImNoYXJ0UHJvcHMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMyIiwiZ3JvdXBDb2xvcnMiLCJ1c2VNZW1vIiwiZGF0YUlkcyIsImNvbG9yc0J5RGF0YUlkIiwicmVkdWNlIiwiYWNjIiwiZGF0YUlkIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwiYnJ1c2hpbmciLCJzZXRCcnVzaGluZyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiaG92ZXJlZERQIiwib25Nb3VzZU1vdmUiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImVuYWJsZUNoYXJ0SG92ZXIiLCJzZXRFbmFibGVDaGFydEhvdmVyIiwiaGVpZ2h0IiwiaGFzTW9iaWxlV2lkdGgiLCJicmVha1BvaW50VmFsdWVzIiwicmFuZ2VQbG90SExhcmdlUGFsbSIsInJhbmdlUGxvdEhMYXJnZSIsInJhbmdlUGxvdEgiLCJvbkJydXNoU3RhcnQiLCJ1c2VDYWxsYmFjayIsIm9uQnJ1c2hFbmQiLCJvbk1vdXNlb3ZlckhhbmRsZSIsIm9uTW91c2VvdXRIYW5kbGUiLCJicnVzaENvbXBvbmVudCIsImlzVGVzdCIsImNyZWF0ZUVsZW1lbnQiLCJfZXh0ZW5kczIiLCJjb21tb25Qcm9wcyIsIm1hcmdpbiIsInJhbmdlUGxvdE1hcmdpbkxhcmdlIiwicmFuZ2VQbG90TWFyZ2luIiwieUF4aXNBdXRvUmFuZ2UiLCJoaXN0b2dyYW1zQnlHcm91cCIsImNvbG9yc0J5R3JvdXAiLCJSYW5nZVBsb3RXaXRoVGhlbWUiLCJ3aXRoVGhlbWUiLCJXaXRoUGxvdExvYWRpbmciLCJfcmVmMiIsInNldEZpbHRlclBsb3QiLCJvdGhlclByb3BzIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJpc0xvYWRpbmciLCJzZXRJc0xvYWRpbmciLCJpc0NoYW5naW5nUmVmIiwidXNlUmVmIiwidXNlRWZmZWN0IiwiY3VycmVudCIsInJhbmdlUGxvdFN0eWxlIiwiY29uY2F0IiwicmFuZ2VQbG90Q29udGFpbmVySExhcmdlUGFsbSIsInJhbmdlUGxvdENvbnRhaW5lckhMYXJnZSIsInJhbmdlUGxvdENvbnRhaW5lckgiLCJzdHlsZSIsImNsYXNzTmFtZSIsImJvcmRlckNvbG9yIiwic2l6ZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vcmFuZ2UtcGxvdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSwgQ1NTUHJvcGVydGllc30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCwge3dpdGhUaGVtZX0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IFJhbmdlQnJ1c2hGYWN0b3J5LCB7T25CcnVzaCwgUmFuZ2VCcnVzaFByb3BzfSBmcm9tICcuL3JhbmdlLWJydXNoJztcbmltcG9ydCBIaXN0b2dyYW1QbG90RmFjdG9yeSBmcm9tICcuL2hpc3RvZ3JhbS1wbG90JztcbmltcG9ydCBMaW5lQ2hhcnRGYWN0b3J5LCB7SG92ZXJEUH0gZnJvbSAnLi9saW5lLWNoYXJ0JztcbmltcG9ydCB7aGFzTW9iaWxlV2lkdGgsIGlzVGVzdH0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge1BMT1RfVFlQRVN9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCBMb2FkaW5nU3Bpbm5lciBmcm9tICcuL2xvYWRpbmctc3Bpbm5lcic7XG5pbXBvcnQge2JyZWFrUG9pbnRWYWx1ZXN9IGZyb20gJ0BrZXBsZXIuZ2wvc3R5bGVzJztcbmltcG9ydCB7TGluZUNoYXJ0IGFzIExpbmVDaGFydFR5cGUsIEZpbHRlciwgQmluc30gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge0RhdGFzZXRzfSBmcm9tICdAa2VwbGVyLmdsL3RhYmxlJztcblxuY29uc3QgU3R5bGVkUmFuZ2VQbG90ID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLWJvdHRvbTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zbGlkZXJCYXJIZWlnaHR9cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmludGVyZmFjZSBSYW5nZVBsb3RQcm9wcyB7XG4gIG9uQnJ1c2g6IE9uQnJ1c2g7XG4gIHJhbmdlOiBudW1iZXJbXTtcbiAgdmFsdWU6IG51bWJlcltdO1xuICB3aWR0aDogbnVtYmVyO1xuICBwbG90VHlwZToge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgfTtcbiAgbGluZUNoYXJ0PzogTGluZUNoYXJ0VHlwZTtcbiAgYmlucz86IEJpbnM7XG5cbiAgaXNFbmxhcmdlZD86IGJvb2xlYW47XG4gIGlzUmFuZ2VkPzogYm9vbGVhbjtcbiAgdGhlbWU6IGFueTtcbiAgdGltZUZvcm1hdD86IHN0cmluZztcbiAgdGltZXpvbmU/OiBzdHJpbmcgfCBudWxsO1xuICBwbGF5YmFja0NvbnRyb2xXaWR0aD86IG51bWJlcjtcblxuICBhbmltYXRpb25XaW5kb3c/OiBzdHJpbmc7XG4gIGZpbHRlcj86IEZpbHRlcjtcbiAgZGF0YXNldHM/OiBEYXRhc2V0cztcblxuICBpbnZlcnRUcmVuZENvbG9yPzogYm9vbGVhbjtcblxuICBzdHlsZTogQ1NTUHJvcGVydGllcztcbn1cblxudHlwZSBXaXRoUGxvdExvYWRpbmdQcm9wcyA9IFJhbmdlUGxvdFByb3BzICZcbiAgUGFydGlhbDxSYW5nZUJydXNoUHJvcHM+ICYge1xuICAgIHNldEZpbHRlclBsb3Q6IGFueTtcbiAgfTtcblxuUmFuZ2VQbG90RmFjdG9yeS5kZXBzID0gW1JhbmdlQnJ1c2hGYWN0b3J5LCBIaXN0b2dyYW1QbG90RmFjdG9yeSwgTGluZUNoYXJ0RmFjdG9yeV07XG5cbmNvbnN0IGlzSGlzdG9ncmFtUGxvdCA9IHBsb3RUeXBlID0+IHBsb3RUeXBlPy50eXBlID09PSBQTE9UX1RZUEVTLmhpc3RvZ3JhbTtcbmNvbnN0IGlzTGluZUNoYXJ0ID0gcGxvdFR5cGUgPT4gcGxvdFR5cGU/LnR5cGUgPT09IFBMT1RfVFlQRVMubGluZUNoYXJ0O1xuY29uc3QgaGFzSGlzdG9ncmFtID0gKHBsb3RUeXBlLCBiaW5zKSA9PiBpc0hpc3RvZ3JhbVBsb3QocGxvdFR5cGUpICYmIGJpbnM7XG5jb25zdCBoYXNMaW5lQ2hhcnQgPSAocGxvdFR5cGUsIGxpbmVDaGFydCkgPT4gaXNMaW5lQ2hhcnQocGxvdFR5cGUpICYmIGxpbmVDaGFydDtcblxuY29uc3QgTE9BRElOR19TUElOTkVSX0NPTlRBSU5FUl9TVFlMRSA9IHtcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICB3aWR0aDogJzEwMCUnXG59O1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBSYW5nZVBsb3RGYWN0b3J5KFxuICBSYW5nZUJydXNoOiBSZXR1cm5UeXBlPHR5cGVvZiBSYW5nZUJydXNoRmFjdG9yeT4sXG4gIEhpc3RvZ3JhbVBsb3Q6IFJldHVyblR5cGU8dHlwZW9mIEhpc3RvZ3JhbVBsb3RGYWN0b3J5PixcbiAgTGluZUNoYXJ0UGxvdDogUmV0dXJuVHlwZTx0eXBlb2YgTGluZUNoYXJ0RmFjdG9yeT5cbikge1xuICBjb25zdCBSYW5nZVBsb3QgPSAoe1xuICAgIGJpbnMsXG4gICAgb25CcnVzaCxcbiAgICByYW5nZSxcbiAgICB2YWx1ZSxcbiAgICB3aWR0aCxcbiAgICBwbG90VHlwZSxcbiAgICBsaW5lQ2hhcnQsXG4gICAgaXNFbmxhcmdlZCxcbiAgICBpc1JhbmdlZCxcbiAgICB0aGVtZSxcbiAgICAuLi5jaGFydFByb3BzXG4gIH06IFJhbmdlUGxvdFByb3BzICYgUGFydGlhbDxSYW5nZUJydXNoUHJvcHM+KSA9PiB7XG4gICAgY29uc3QgZ3JvdXBDb2xvcnMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IGRhdGFJZHMgPSBiaW5zID8gT2JqZWN0LmtleXMoYmlucykgOiBbXTtcbiAgICAgIHJldHVybiBwbG90VHlwZS5jb2xvcnNCeURhdGFJZFxuICAgICAgICA/IGRhdGFJZHMucmVkdWNlKChhY2MsIGRhdGFJZCkgPT4ge1xuICAgICAgICAgICAgYWNjW2RhdGFJZF0gPSBwbG90VHlwZS5jb2xvcnNCeURhdGFJZFtkYXRhSWRdO1xuICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICB9LCB7fSlcbiAgICAgICAgOiBudWxsO1xuICAgIH0sIFtiaW5zLCBwbG90VHlwZS5jb2xvcnNCeURhdGFJZF0pO1xuXG4gICAgY29uc3QgW2JydXNoaW5nLCBzZXRCcnVzaGluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW2hvdmVyZWREUCwgb25Nb3VzZU1vdmVdID0gdXNlU3RhdGU8SG92ZXJEUCB8IG51bGw+KG51bGwpO1xuICAgIGNvbnN0IFtlbmFibGVDaGFydEhvdmVyLCBzZXRFbmFibGVDaGFydEhvdmVyXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBoZWlnaHQgPSBpc0VubGFyZ2VkXG4gICAgICA/IGhhc01vYmlsZVdpZHRoKGJyZWFrUG9pbnRWYWx1ZXMpXG4gICAgICAgID8gdGhlbWUucmFuZ2VQbG90SExhcmdlUGFsbVxuICAgICAgICA6IHRoZW1lLnJhbmdlUGxvdEhMYXJnZVxuICAgICAgOiB0aGVtZS5yYW5nZVBsb3RIO1xuXG4gICAgY29uc3Qgb25CcnVzaFN0YXJ0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgc2V0QnJ1c2hpbmcodHJ1ZSk7XG4gICAgICBvbk1vdXNlTW92ZShudWxsKTtcbiAgICAgIHNldEVuYWJsZUNoYXJ0SG92ZXIoZmFsc2UpO1xuICAgIH0sIFtzZXRCcnVzaGluZywgb25Nb3VzZU1vdmUsIHNldEVuYWJsZUNoYXJ0SG92ZXJdKTtcblxuICAgIGNvbnN0IG9uQnJ1c2hFbmQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRCcnVzaGluZyhmYWxzZSk7XG4gICAgICBzZXRFbmFibGVDaGFydEhvdmVyKHRydWUpO1xuICAgIH0sIFtzZXRCcnVzaGluZywgc2V0RW5hYmxlQ2hhcnRIb3Zlcl0pO1xuXG4gICAgY29uc3Qgb25Nb3VzZW92ZXJIYW5kbGUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBvbk1vdXNlTW92ZShudWxsKTtcbiAgICAgIHNldEVuYWJsZUNoYXJ0SG92ZXIoZmFsc2UpO1xuICAgIH0sIFtvbk1vdXNlTW92ZSwgc2V0RW5hYmxlQ2hhcnRIb3Zlcl0pO1xuXG4gICAgY29uc3Qgb25Nb3VzZW91dEhhbmRsZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIHNldEVuYWJsZUNoYXJ0SG92ZXIodHJ1ZSk7XG4gICAgfSwgW3NldEVuYWJsZUNoYXJ0SG92ZXJdKTtcblxuICAgIC8vIEpzRG9tIGhhdmUgbGltaXRlZCBzdXBwb3J0IGZvciBTVkcsIGQzIHdpbGwgZmFpbFxuICAgIGNvbnN0IGJydXNoQ29tcG9uZW50ID0gaXNUZXN0KCkgPyBudWxsIDogKFxuICAgICAgPFJhbmdlQnJ1c2hcbiAgICAgICAgb25CcnVzaD17b25CcnVzaH1cbiAgICAgICAgb25CcnVzaFN0YXJ0PXtvbkJydXNoU3RhcnR9XG4gICAgICAgIG9uQnJ1c2hFbmQ9e29uQnJ1c2hFbmR9XG4gICAgICAgIHJhbmdlPXtyYW5nZX1cbiAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICB3aWR0aD17d2lkdGh9XG4gICAgICAgIGhlaWdodD17aGVpZ2h0fVxuICAgICAgICBpc1JhbmdlZD17aXNSYW5nZWR9XG4gICAgICAgIG9uTW91c2VvdmVySGFuZGxlPXtvbk1vdXNlb3ZlckhhbmRsZX1cbiAgICAgICAgb25Nb3VzZW91dEhhbmRsZT17b25Nb3VzZW91dEhhbmRsZX1cbiAgICAgICAgey4uLmNoYXJ0UHJvcHN9XG4gICAgICAvPlxuICAgICk7XG5cbiAgICBjb25zdCBjb21tb25Qcm9wcyA9IHtcbiAgICAgIHdpZHRoLFxuICAgICAgdmFsdWUsXG4gICAgICBoZWlnaHQsXG4gICAgICBtYXJnaW46IGlzRW5sYXJnZWQgPyB0aGVtZS5yYW5nZVBsb3RNYXJnaW5MYXJnZSA6IHRoZW1lLnJhbmdlUGxvdE1hcmdpbixcbiAgICAgIGJydXNoQ29tcG9uZW50LFxuICAgICAgYnJ1c2hpbmcsXG4gICAgICBpc0VubGFyZ2VkLFxuICAgICAgZW5hYmxlQ2hhcnRIb3ZlcixcbiAgICAgIG9uTW91c2VNb3ZlLFxuICAgICAgaG92ZXJlZERQLFxuICAgICAgaXNSYW5nZWQsXG4gICAgICBvbkJydXNoLFxuICAgICAgLi4uY2hhcnRQcm9wc1xuICAgIH07XG5cbiAgICByZXR1cm4gaXNMaW5lQ2hhcnQocGxvdFR5cGUpICYmIGxpbmVDaGFydCA/IChcbiAgICAgIDxMaW5lQ2hhcnRQbG90IGxpbmVDaGFydD17bGluZUNoYXJ0fSByYW5nZT17cmFuZ2V9IHlBeGlzQXV0b1JhbmdlPXtwbG90VHlwZS55QXhpc0F1dG9SYW5nZX0gey4uLmNvbW1vblByb3BzfSAvPlxuICAgICkgOiAoXG4gICAgICA8SGlzdG9ncmFtUGxvdFxuICAgICAgICBoaXN0b2dyYW1zQnlHcm91cD17Ymluc31cbiAgICAgICAgY29sb3JzQnlHcm91cD17Z3JvdXBDb2xvcnN9XG4gICAgICAgIHJhbmdlPXtyYW5nZX1cbiAgICAgICAgey4uLmNvbW1vblByb3BzfVxuICAgICAgLz5cbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IFJhbmdlUGxvdFdpdGhUaGVtZSA9IHdpdGhUaGVtZShSYW5nZVBsb3QpIGFzIFJlYWN0LkZDPFxuICAgIFJhbmdlUGxvdFByb3BzICYgUGFydGlhbDxSYW5nZUJydXNoUHJvcHM+XG4gID47XG5cbiAgLy8gYSBjb250YWluZXIgdG8gcmVuZGVyIHNwaW5uZXIgb3IgbWVzc2FnZSB3aGVuIHRoZSBkYXRhIGlzIHRvbyBiaWdcbiAgLy8gdG8gZ2VuZXJhdGUgYSBwbG90XG4gIGNvbnN0IFdpdGhQbG90TG9hZGluZyA9ICh7XG4gICAgbGluZUNoYXJ0LFxuICAgIHBsb3RUeXBlLFxuICAgIGJpbnMsXG4gICAgc2V0RmlsdGVyUGxvdCxcbiAgICBpc0VubGFyZ2VkLFxuICAgIHRoZW1lLFxuICAgIC4uLm90aGVyUHJvcHNcbiAgfTogV2l0aFBsb3RMb2FkaW5nUHJvcHMpID0+IHtcbiAgICBjb25zdCBbaXNMb2FkaW5nLCBzZXRJc0xvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IGlzQ2hhbmdpbmdSZWYgPSB1c2VSZWYoZmFsc2UpO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmIChpc0NoYW5naW5nUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgaWYgKGhhc0hpc3RvZ3JhbShwbG90VHlwZSwgYmlucykpIHtcbiAgICAgICAgICAvLyBCaW5zIGFyZSBsb2FkZWRcbiAgICAgICAgICBpc0NoYW5naW5nUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKCFwbG90VHlwZSB8fCAoaXNIaXN0b2dyYW1QbG90KHBsb3RUeXBlKSAmJiAhYmlucykpIHtcbiAgICAgICAgICAvLyBsb2FkIGhpc3RvZ3JhbVxuICAgICAgICAgIHNldElzTG9hZGluZyh0cnVlKTtcbiAgICAgICAgICBzZXRGaWx0ZXJQbG90KHtwbG90VHlwZToge3R5cGU6IFBMT1RfVFlQRVMuaGlzdG9ncmFtfX0pO1xuICAgICAgICAgIGlzQ2hhbmdpbmdSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LCBbYmlucywgcGxvdFR5cGUsIHNldEZpbHRlclBsb3RdKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoaXNDaGFuZ2luZ1JlZi5jdXJyZW50KSB7XG4gICAgICAgIGlmIChoYXNMaW5lQ2hhcnQocGxvdFR5cGUsIGxpbmVDaGFydCkpIHtcbiAgICAgICAgICAvLyBMaW5lIGNoYXJ0IGlzIGxvYWRlZFxuICAgICAgICAgIGlzQ2hhbmdpbmdSZWYuY3VycmVudCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoaXNMaW5lQ2hhcnQocGxvdFR5cGUpICYmICFsaW5lQ2hhcnQpIHtcbiAgICAgICAgICAvLyBsb2FkIGxpbmUgY2hhcnRcbiAgICAgICAgICBzZXRJc0xvYWRpbmcodHJ1ZSk7XG4gICAgICAgICAgc2V0RmlsdGVyUGxvdCh7cGxvdFR5cGU6IHt0eXBlOiBQTE9UX1RZUEVTLmxpbmVDaGFydH19KTtcbiAgICAgICAgICBpc0NoYW5naW5nUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSwgW2xpbmVDaGFydCwgcGxvdFR5cGUsIHNldEZpbHRlclBsb3RdKTtcblxuICAgIGNvbnN0IHJhbmdlUGxvdFN0eWxlID0gdXNlTWVtbyhcbiAgICAgICgpID0+ICh7XG4gICAgICAgIGhlaWdodDogYCR7XG4gICAgICAgICAgaXNFbmxhcmdlZFxuICAgICAgICAgICAgPyBoYXNNb2JpbGVXaWR0aChicmVha1BvaW50VmFsdWVzKVxuICAgICAgICAgICAgICA/IHRoZW1lLnJhbmdlUGxvdENvbnRhaW5lckhMYXJnZVBhbG1cbiAgICAgICAgICAgICAgOiB0aGVtZS5yYW5nZVBsb3RDb250YWluZXJITGFyZ2VcbiAgICAgICAgICAgIDogdGhlbWUucmFuZ2VQbG90Q29udGFpbmVySFxuICAgICAgICB9cHhgXG4gICAgICB9KSxcbiAgICAgIFtpc0VubGFyZ2VkLCB0aGVtZV1cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRSYW5nZVBsb3Qgc3R5bGU9e3JhbmdlUGxvdFN0eWxlfSBjbGFzc05hbWU9XCJrZy1yYW5nZS1zbGlkZXJfX3Bsb3RcIj5cbiAgICAgICAge2lzTG9hZGluZyA/IChcbiAgICAgICAgICA8ZGl2IHN0eWxlPXtMT0FESU5HX1NQSU5ORVJfQ09OVEFJTkVSX1NUWUxFfT5cbiAgICAgICAgICAgIDxMb2FkaW5nU3Bpbm5lciBib3JkZXJDb2xvcj1cInRyYW5zcGFyZW50XCIgc2l6ZT17NDB9IC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJhbmdlUGxvdFdpdGhUaGVtZVxuICAgICAgICAgICAgbGluZUNoYXJ0PXtsaW5lQ2hhcnR9XG4gICAgICAgICAgICBiaW5zPXtiaW5zfVxuICAgICAgICAgICAgcGxvdFR5cGU9e3Bsb3RUeXBlfVxuICAgICAgICAgICAgaXNFbmxhcmdlZD17aXNFbmxhcmdlZH1cbiAgICAgICAgICAgIHRoZW1lPXt0aGVtZX1cbiAgICAgICAgICAgIHsuLi5vdGhlclByb3BzfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1N0eWxlZFJhbmdlUGxvdD5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiB3aXRoVGhlbWUoV2l0aFBsb3RMb2FkaW5nKSBhcyBSZWFjdC5GQzxPbWl0PFdpdGhQbG90TG9hZGluZ1Byb3BzLCAndGhlbWUnPj47XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxpQkFBQSxHQUFBRix1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsV0FBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksY0FBQSxHQUFBRCxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUssVUFBQSxHQUFBRixz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
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ComponentType, ElementType } from 'react';
|
|
2
2
|
import RangePlotFactory from './range-plot';
|
|
3
3
|
import RangeSliderSubAnimationPanelFactory from '../common/range-slider-timeline-panel';
|
|
4
|
+
import type { SliderScaleConfig } from '@kepler.gl/utils';
|
|
4
5
|
import { LineChart, Filter, Bins } from '@kepler.gl/types';
|
|
5
6
|
import { Datasets } from '@kepler.gl/table';
|
|
6
7
|
import { ActionHandler, setFilterPlot } from '@kepler.gl/actions';
|
|
@@ -34,6 +35,7 @@ interface RangeSliderProps {
|
|
|
34
35
|
filter?: Filter;
|
|
35
36
|
datasets?: Datasets;
|
|
36
37
|
invertTrendColor?: boolean;
|
|
38
|
+
scaleConfig?: SliderScaleConfig | null;
|
|
37
39
|
}
|
|
38
40
|
declare function RangeSliderFactory(RangePlot: ReturnType<typeof RangePlotFactory>, RangeSliderSubAnimationPanel: ReturnType<typeof RangeSliderSubAnimationPanelFactory>): ComponentType<RangeSliderProps>;
|
|
39
41
|
declare namespace RangeSliderFactory {
|
|
@@ -82,33 +82,91 @@ function RangeSliderFactory(RangePlot, RangeSliderSubAnimationPanel) {
|
|
|
82
82
|
(0, _defineProperty2["default"])(_this, "filterValueSelector", (0, _reselect.createSelector)(_this.value0Selector, _this.value1Selector, function (value0, value1) {
|
|
83
83
|
return [value0, value1];
|
|
84
84
|
}));
|
|
85
|
-
(0, _defineProperty2["default"])(_this, "
|
|
85
|
+
(0, _defineProperty2["default"])(_this, "_isTimeFilter", function () {
|
|
86
|
+
return typeof _this.props.timeFormat === 'string';
|
|
87
|
+
});
|
|
88
|
+
(0, _defineProperty2["default"])(_this, "_getDisplayRangeInfo", function () {
|
|
86
89
|
var _this$props = _this.props,
|
|
87
90
|
range = _this$props.range,
|
|
88
|
-
|
|
91
|
+
bins = _this$props.bins,
|
|
92
|
+
isRanged = _this$props.isRanged;
|
|
93
|
+
if (!range) {
|
|
94
|
+
return {
|
|
95
|
+
displayRange: range,
|
|
96
|
+
binStep: 0
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
if (!bins || !isRanged) {
|
|
100
|
+
return {
|
|
101
|
+
displayRange: range,
|
|
102
|
+
binStep: 0
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
var groupKeys = Object.keys(bins).filter(function (k) {
|
|
106
|
+
var _bins$k;
|
|
107
|
+
return ((_bins$k = bins[k]) === null || _bins$k === void 0 ? void 0 : _bins$k.length) > 0;
|
|
108
|
+
});
|
|
109
|
+
if (groupKeys.length === 0) {
|
|
110
|
+
return {
|
|
111
|
+
displayRange: range,
|
|
112
|
+
binStep: 0
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
var group = bins[groupKeys[0]];
|
|
116
|
+
var idx = group.length > 1 ? 1 : 0;
|
|
117
|
+
var binStep = group[idx].x1 - group[idx].x0;
|
|
118
|
+
if (binStep <= 0) {
|
|
119
|
+
return {
|
|
120
|
+
displayRange: range,
|
|
121
|
+
binStep: 0
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
if (_this._isTimeFilter()) {
|
|
125
|
+
var _displayRange = [range[0] - binStep, range[1] + binStep];
|
|
126
|
+
return {
|
|
127
|
+
displayRange: _displayRange,
|
|
128
|
+
binStep: binStep
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
// Non-time range filters: pad by half a bin so edge bars aren't clipped
|
|
133
|
+
var pad = binStep / 2;
|
|
134
|
+
var displayRange = [range[0] - pad, range[1] + pad];
|
|
135
|
+
return {
|
|
136
|
+
displayRange: displayRange,
|
|
137
|
+
binStep: pad
|
|
138
|
+
};
|
|
139
|
+
});
|
|
140
|
+
(0, _defineProperty2["default"])(_this, "_getDisplayRange", function () {
|
|
141
|
+
return _this._getDisplayRangeInfo().displayRange;
|
|
142
|
+
});
|
|
143
|
+
(0, _defineProperty2["default"])(_this, "_roundValToStep", function (val) {
|
|
144
|
+
var _this$props2 = _this.props,
|
|
145
|
+
range = _this$props2.range,
|
|
146
|
+
step = _this$props2.step;
|
|
89
147
|
if (!range || !step) return;
|
|
90
148
|
return (0, _utils.roundValToStep)(range[0], step, val);
|
|
91
149
|
});
|
|
92
150
|
(0, _defineProperty2["default"])(_this, "_setRangeVal1", function (val) {
|
|
93
|
-
var _this$
|
|
94
|
-
value0 = _this$
|
|
95
|
-
|
|
96
|
-
_this$
|
|
97
|
-
|
|
98
|
-
if (!
|
|
151
|
+
var _this$props3 = _this.props,
|
|
152
|
+
value0 = _this$props3.value0,
|
|
153
|
+
_this$props3$onChange = _this$props3.onChange,
|
|
154
|
+
onChange = _this$props3$onChange === void 0 ? noop : _this$props3$onChange;
|
|
155
|
+
var dr = _this._getDisplayRange();
|
|
156
|
+
if (!dr) return;
|
|
99
157
|
var val1 = Number(val);
|
|
100
|
-
onChange([value0, (0, _utils.clamp)([value0,
|
|
158
|
+
onChange([value0, (0, _utils.clamp)([value0, dr[1]], _this._roundValToStep(val1))]);
|
|
101
159
|
return true;
|
|
102
160
|
});
|
|
103
161
|
(0, _defineProperty2["default"])(_this, "_setRangeVal0", function (val) {
|
|
104
|
-
var _this$
|
|
105
|
-
value1 = _this$
|
|
106
|
-
|
|
107
|
-
_this$
|
|
108
|
-
|
|
109
|
-
if (!
|
|
162
|
+
var _this$props4 = _this.props,
|
|
163
|
+
value1 = _this$props4.value1,
|
|
164
|
+
_this$props4$onChange = _this$props4.onChange,
|
|
165
|
+
onChange = _this$props4$onChange === void 0 ? noop : _this$props4$onChange;
|
|
166
|
+
var dr = _this._getDisplayRange();
|
|
167
|
+
if (!dr) return;
|
|
110
168
|
var val0 = Number(val);
|
|
111
|
-
onChange([(0, _utils.clamp)([
|
|
169
|
+
onChange([(0, _utils.clamp)([dr[0], value1], _this._roundValToStep(val0)), value1]);
|
|
112
170
|
return true;
|
|
113
171
|
});
|
|
114
172
|
(0, _defineProperty2["default"])(_this, "_resize", function () {
|
|
@@ -178,30 +236,36 @@ function RangeSliderFactory(RangePlot, RangeSliderSubAnimationPanel) {
|
|
|
178
236
|
}, {
|
|
179
237
|
key: "render",
|
|
180
238
|
value: function render() {
|
|
181
|
-
var _this$
|
|
182
|
-
isRanged = _this$
|
|
183
|
-
showInput = _this$
|
|
184
|
-
bins = _this$
|
|
185
|
-
lineChart = _this$
|
|
186
|
-
plotType = _this$
|
|
187
|
-
invertTrendColor = _this$
|
|
188
|
-
range = _this$
|
|
189
|
-
_this$
|
|
190
|
-
onChange = _this$
|
|
191
|
-
sliderHandleWidth = _this$
|
|
192
|
-
step = _this$
|
|
193
|
-
timezone = _this$
|
|
194
|
-
timeFormat = _this$
|
|
195
|
-
playbackControlWidth = _this$
|
|
196
|
-
setFilterPlot = _this$
|
|
197
|
-
animationWindow = _this$
|
|
198
|
-
subAnimations = _this$
|
|
199
|
-
filter = _this$
|
|
200
|
-
datasets = _this$
|
|
239
|
+
var _this$props5 = this.props,
|
|
240
|
+
isRanged = _this$props5.isRanged,
|
|
241
|
+
showInput = _this$props5.showInput,
|
|
242
|
+
bins = _this$props5.bins,
|
|
243
|
+
lineChart = _this$props5.lineChart,
|
|
244
|
+
plotType = _this$props5.plotType,
|
|
245
|
+
invertTrendColor = _this$props5.invertTrendColor,
|
|
246
|
+
range = _this$props5.range,
|
|
247
|
+
_this$props5$onChange = _this$props5.onChange,
|
|
248
|
+
onChange = _this$props5$onChange === void 0 ? noop : _this$props5$onChange,
|
|
249
|
+
sliderHandleWidth = _this$props5.sliderHandleWidth,
|
|
250
|
+
step = _this$props5.step,
|
|
251
|
+
timezone = _this$props5.timezone,
|
|
252
|
+
timeFormat = _this$props5.timeFormat,
|
|
253
|
+
playbackControlWidth = _this$props5.playbackControlWidth,
|
|
254
|
+
setFilterPlot = _this$props5.setFilterPlot,
|
|
255
|
+
animationWindow = _this$props5.animationWindow,
|
|
256
|
+
subAnimations = _this$props5.subAnimations,
|
|
257
|
+
filter = _this$props5.filter,
|
|
258
|
+
datasets = _this$props5.datasets,
|
|
259
|
+
scaleConfig = _this$props5.scaleConfig;
|
|
201
260
|
var width = this.state.width;
|
|
202
261
|
var plotWidth = Math.max(width - Number(sliderHandleWidth), 0);
|
|
203
262
|
var hasPlot = plotType === null || plotType === void 0 ? void 0 : plotType.type;
|
|
204
|
-
var
|
|
263
|
+
var _this$_getDisplayRang = this._getDisplayRangeInfo(),
|
|
264
|
+
displayRange = _this$_getDisplayRang.displayRange;
|
|
265
|
+
var rawValue = this.props.plotValue || this.filterValueSelector(this.props);
|
|
266
|
+
var value = displayRange && Array.isArray(rawValue) ? rawValue.map(function (v) {
|
|
267
|
+
return (0, _utils.clamp)([displayRange[0], displayRange[1]], v);
|
|
268
|
+
}) : rawValue;
|
|
205
269
|
var scaledValue = subAnimations !== null && subAnimations !== void 0 && subAnimations.length && range ? (0, _utils.scaleSourceDomainToDestination)(value, range) : [0, 0];
|
|
206
270
|
var commonPadding = "".concat(Number(sliderHandleWidth) / 2, "px");
|
|
207
271
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
@@ -224,7 +288,7 @@ function RangeSliderFactory(RangePlot, RangeSliderSubAnimationPanel) {
|
|
|
224
288
|
animationWindow: animationWindow,
|
|
225
289
|
filter: filter,
|
|
226
290
|
datasets: datasets,
|
|
227
|
-
range: range,
|
|
291
|
+
range: displayRange || range,
|
|
228
292
|
value: value,
|
|
229
293
|
width: plotWidth,
|
|
230
294
|
isRanged: isRanged,
|
|
@@ -251,13 +315,13 @@ function RangeSliderFactory(RangePlot, RangeSliderSubAnimationPanel) {
|
|
|
251
315
|
}, /*#__PURE__*/_react["default"].createElement(this.props.xAxis, {
|
|
252
316
|
width: plotWidth,
|
|
253
317
|
timezone: timezone,
|
|
254
|
-
domain:
|
|
318
|
+
domain: displayRange,
|
|
255
319
|
isEnlarged: this.props.isEnlarged
|
|
256
320
|
})) : null, /*#__PURE__*/_react["default"].createElement(_slider["default"], {
|
|
257
321
|
marks: this.props.marks,
|
|
258
322
|
isRanged: isRanged,
|
|
259
|
-
minValue: range[0],
|
|
260
|
-
maxValue: range[1],
|
|
323
|
+
minValue: (displayRange || range)[0],
|
|
324
|
+
maxValue: (displayRange || range)[1],
|
|
261
325
|
value0: this.props.value0,
|
|
262
326
|
value1: this.props.value1,
|
|
263
327
|
step: step,
|
|
@@ -267,7 +331,8 @@ function RangeSliderFactory(RangePlot, RangeSliderSubAnimationPanel) {
|
|
|
267
331
|
onSliderBarChange: function onSliderBarChange(val0, val1) {
|
|
268
332
|
onChange([val0, val1]);
|
|
269
333
|
},
|
|
270
|
-
enableBarDrag: true
|
|
334
|
+
enableBarDrag: true,
|
|
335
|
+
scaleConfig: scaleConfig
|
|
271
336
|
}), !isRanged && showInput ? this._renderInput('value1') : null), isRanged && showInput ? /*#__PURE__*/_react["default"].createElement(RangeInputWrapper, {
|
|
272
337
|
className: "range-slider__input-group"
|
|
273
338
|
}, this._renderInput('value0'), this._renderInput('value1')) : null));
|
|
@@ -306,4 +371,4 @@ function RangeSliderFactory(RangePlot, RangeSliderSubAnimationPanel) {
|
|
|
306
371
|
(0, _reactLifecyclesCompat.polyfill)(RangeSlider);
|
|
307
372
|
return RangeSlider;
|
|
308
373
|
}
|
|
309
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RMaWZlY3ljbGVzQ29tcGF0IiwiX3Jlc2VsZWN0IiwiX3N0eWxlZENvbXBvbmVudHMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3JhbmdlUGxvdCIsIl9zbGlkZXIiLCJfc3R5bGVkQ29tcG9uZW50czIiLCJfcmFuZ2VTbGlkZXJUaW1lbGluZVBhbmVsIiwiX3V0aWxzIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJfY2FsbFN1cGVyIiwiX2dldFByb3RvdHlwZU9mMiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuMiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiY29uc3RydWN0b3IiLCJCb29sZWFuIiwicHJvdG90eXBlIiwidmFsdWVPZiIsIm5vb3AiLCJTbGlkZXJJbnB1dCIsInN0eWxlZCIsIklucHV0IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJwcm9wcyIsInRoZW1lIiwic2xpZGVySW5wdXRXaWR0aCIsIiRmbHVzaCIsIiRpbnB1dFNpemUiLCJzbGlkZXJJbnB1dEZvbnRTaXplIiwic2xpZGVySW5wdXRQYWRkaW5nIiwiU2xpZGVyV3JhcHBlciIsImRpdiIsIiRpc1JhbmdlZCIsIiRzaG93SW5wdXQiLCJSYW5nZUlucHV0V3JhcHBlciIsIlJBTkdFX1NMSURFUl9USU1FTElORV9QQU5FTF9TVFlMRSIsIm1hcmdpbkxlZnQiLCJSYW5nZVNsaWRlckZhY3RvcnkiLCJkZXBzIiwiUmFuZ2VQbG90RmFjdG9yeSIsIlJhbmdlU2xpZGVyU3ViQW5pbWF0aW9uUGFuZWxGYWN0b3J5IiwiUmFuZ2VQbG90IiwiUmFuZ2VTbGlkZXJTdWJBbmltYXRpb25QYW5lbCIsIlJhbmdlU2xpZGVyIiwiX0NvbXBvbmVudCIsIl90aGlzIiwiX2NsYXNzQ2FsbENoZWNrMiIsIl9sZW4iLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiY29uY2F0IiwidmFsdWUwIiwidmFsdWUxIiwicHJldlZhbHVlMCIsInByZXZWYWx1ZTEiLCJ3aWR0aCIsImVsZW1lbnQiLCJzbGlkZXJDb250YWluZXIiLCJfcmVzaXplIiwiY3JlYXRlUmVmIiwiY3JlYXRlU2VsZWN0b3IiLCJ2YWx1ZTBTZWxlY3RvciIsInZhbHVlMVNlbGVjdG9yIiwidmFsIiwiX3RoaXMkcHJvcHMiLCJyYW5nZSIsInN0ZXAiLCJyb3VuZFZhbFRvU3RlcCIsIl90aGlzJHByb3BzMiIsIl90aGlzJHByb3BzMiRvbkNoYW5nZSIsIm9uQ2hhbmdlIiwidmFsMSIsIk51bWJlciIsImNsYW1wIiwiX3JvdW5kVmFsVG9TdGVwIiwiX3RoaXMkcHJvcHMzIiwiX3RoaXMkcHJvcHMzJG9uQ2hhbmdlIiwidmFsMCIsIm9mZnNldFdpZHRoIiwic3RhdGUiLCJzZXRTdGF0ZSIsImtleSIsInRhcmdldCIsInZhbHVlIiwiX2luaGVyaXRzMiIsIl9jcmVhdGVDbGFzczIiLCJjb21wb25lbnREaWRNb3VudCIsIkVsZW1lbnQiLCJvYnNlcnZlRGltZW5zaW9ucyIsImNvbXBvbmVudFdpbGxVbm1vdW50IiwidW5vYnNlcnZlRGltZW5zaW9ucyIsIl9yZW5kZXJJbnB1dCIsIl90aGlzMiIsInNldFJhbmdlIiwiX3NldFJhbmdlVmFsMCIsIl9zZXRSYW5nZVZhbDEiLCJyZWYiLCJpbnB1dFZhbHVlMCIsImlucHV0VmFsdWUxIiwidXBkYXRlIiwiX29uQ2hhbmdlSW5wdXQiLCJiaW5kIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsInR5cGUiLCJpZCIsIm9uS2V5UHJlc3MiLCJjdXJyZW50IiwiYmx1ciIsIm9uQmx1ciIsImlucHV0U2l6ZSIsInNlY29uZGFyeSIsImlucHV0VGhlbWUiLCJyZW5kZXIiLCJfdGhpcyRwcm9wczQiLCJpc1JhbmdlZCIsInNob3dJbnB1dCIsImJpbnMiLCJsaW5lQ2hhcnQiLCJwbG90VHlwZSIsImludmVydFRyZW5kQ29sb3IiLCJfdGhpcyRwcm9wczQkb25DaGFuZ2UiLCJzbGlkZXJIYW5kbGVXaWR0aCIsInRpbWV6b25lIiwidGltZUZvcm1hdCIsInBsYXliYWNrQ29udHJvbFdpZHRoIiwic2V0RmlsdGVyUGxvdCIsImFuaW1hdGlvbldpbmRvdyIsInN1YkFuaW1hdGlvbnMiLCJkYXRhc2V0cyIsInBsb3RXaWR0aCIsIk1hdGgiLCJtYXgiLCJoYXNQbG90IiwicGxvdFZhbHVlIiwiZmlsdGVyVmFsdWVTZWxlY3RvciIsInNjYWxlZFZhbHVlIiwic2NhbGVTb3VyY2VEb21haW5Ub0Rlc3RpbmF0aW9uIiwiY29tbW9uUGFkZGluZyIsInN0eWxlIiwicGFkZGluZyIsInNldFNsaWRlckNvbnRhaW5lciIsImlzQXJyYXkiLCJldmVyeSIsImlzRmluaXRlIiwiRnJhZ21lbnQiLCJpc0VubGFyZ2VkIiwib25CcnVzaCIsIm1hcmtzIiwicGFkZGluZ0xlZnQiLCJ4QXhpcyIsImhlaWdodCIsImRvbWFpbiIsIm1pblZhbHVlIiwibWF4VmFsdWUiLCJvblNsaWRlcjBDaGFuZ2UiLCJvblNsaWRlcjFDaGFuZ2UiLCJvblNsaWRlckJhckNoYW5nZSIsImVuYWJsZUJhckRyYWciLCJnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMiLCJpc05hTiIsIkNvbXBvbmVudCIsInBvbHlmaWxsIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1vbi9yYW5nZS1zbGlkZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudCwgQ29tcG9uZW50VHlwZSwgY3JlYXRlUmVmLCBFbGVtZW50VHlwZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtwb2x5ZmlsbH0gZnJvbSAncmVhY3QtbGlmZWN5Y2xlcy1jb21wYXQnO1xuaW1wb3J0IHtjcmVhdGVTZWxlY3Rvcn0gZnJvbSAncmVzZWxlY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgUmFuZ2VQbG90RmFjdG9yeSBmcm9tICcuL3JhbmdlLXBsb3QnO1xuaW1wb3J0IFNsaWRlciBmcm9tICcuL3NsaWRlci9zbGlkZXInO1xuaW1wb3J0IHtJbnB1dH0gZnJvbSAnLi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgUmFuZ2VTbGlkZXJTdWJBbmltYXRpb25QYW5lbEZhY3RvcnkgZnJvbSAnLi4vY29tbW9uL3JhbmdlLXNsaWRlci10aW1lbGluZS1wYW5lbCc7XG5pbXBvcnQge1xuICBvYnNlcnZlRGltZW5zaW9ucyxcbiAgdW5vYnNlcnZlRGltZW5zaW9ucyxcbiAgcm91bmRWYWxUb1N0ZXAsXG4gIGNsYW1wLFxuICBzY2FsZVNvdXJjZURvbWFpblRvRGVzdGluYXRpb25cbn0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge0xpbmVDaGFydCwgRmlsdGVyLCBCaW5zfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7RGF0YXNldHN9IGZyb20gJ0BrZXBsZXIuZ2wvdGFibGUnO1xuaW1wb3J0IHtBY3Rpb25IYW5kbGVyLCBzZXRGaWx0ZXJQbG90fSBmcm9tICdAa2VwbGVyLmdsL2FjdGlvbnMnO1xuXG5pbnRlcmZhY2UgU2xpZGVySW5wdXRQcm9wcyB7XG4gICRmbHVzaD86IGJvb2xlYW47XG4gICRpbnB1dFNpemU/OiBzdHJpbmc7XG59XG5jb25zdCBub29wID0gKCkgPT4ge1xuICByZXR1cm47XG59O1xuY29uc3QgU2xpZGVySW5wdXQgPSBzdHlsZWQoSW5wdXQpPFNsaWRlcklucHV0UHJvcHM+YFxuICB3aWR0aDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zbGlkZXJJbnB1dFdpZHRofXB4O1xuICBtYXJnaW4tbGVmdDogJHtwcm9wcyA9PiAocHJvcHMuJGZsdXNoID8gMCA6IHByb3BzLiRpbnB1dFNpemUgPT09ICd0aW55JyA/IDEyIDogMTgpfXB4O1xuICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2xpZGVySW5wdXRGb250U2l6ZX07IC8vIDEwcHggLy8gMTJweDtcbiAgcGFkZGluZzogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zbGlkZXJJbnB1dFBhZGRpbmd9OyAvLyA0cHggNnB4OyAvLyA2cHggMTJweDtcbmA7XG5cbmludGVyZmFjZSBTbGlkZXJXcmFwcGVyUHJvcHMge1xuICAkaXNSYW5nZWQ/OiBib29sZWFuO1xuICAkc2hvd0lucHV0PzogYm9vbGVhbjtcbn1cblxuY29uc3QgU2xpZGVyV3JhcHBlciA9IHN0eWxlZC5kaXY8U2xpZGVyV3JhcHBlclByb3BzPmBcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogJHtwcm9wcyA9PiAoIXByb3BzLiRpc1JhbmdlZCAmJiBwcm9wcy4kc2hvd0lucHV0ID8gJ2NlbnRlcicgOiAnZmxleC1zdGFydCcpfTtcbmA7XG5cbmNvbnN0IFJhbmdlSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogMTJweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuaW50ZXJmYWNlIFJhbmdlU2xpZGVyUHJvcHMge1xuICByYW5nZT86IG51bWJlcltdO1xuICB2YWx1ZTA6IG51bWJlcjtcbiAgdmFsdWUxOiBudW1iZXI7XG4gIG9uQ2hhbmdlPzogKHZhbDogbnVtYmVyW10sIGU/OiBFdmVudCB8IG51bGwpID0+IHZvaWQ7IC8vIFRPRE9cbiAgc2V0RmlsdGVyUGxvdD86IEFjdGlvbkhhbmRsZXI8dHlwZW9mIHNldEZpbHRlclBsb3Q+O1xuICBiaW5zPzogQmlucztcbiAgaXNSYW5nZWQ/OiBib29sZWFuO1xuICBpc0VubGFyZ2VkPzogYm9vbGVhbjtcbiAgc2hvd0lucHV0PzogYm9vbGVhbjtcbiAgaW5wdXRUaGVtZT86IHN0cmluZztcbiAgaW5wdXRTaXplPzogc3RyaW5nO1xuICBzdGVwPzogbnVtYmVyO1xuICBzbGlkZXJIYW5kbGVXaWR0aD86IG51bWJlcjtcbiAgeEF4aXM/OiBFbGVtZW50VHlwZTtcbiAgc3ViQW5pbWF0aW9ucz86IGFueVtdO1xuICB0aW1lbGluZUxhYmVsPzogc3RyaW5nO1xuXG4gIHRpbWV6b25lPzogc3RyaW5nIHwgbnVsbDtcbiAgdGltZUZvcm1hdD86IHN0cmluZztcbiAgcGxheWJhY2tDb250cm9sV2lkdGg/OiBudW1iZXI7XG4gIGxpbmVDaGFydD86IExpbmVDaGFydDtcbiAgbWFya3M/OiBudW1iZXJbXTtcbiAgcGxvdFR5cGU/OiB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICB9O1xuICBwbG90VmFsdWU/OiBudW1iZXJbXTtcblxuICBhbmltYXRpb25XaW5kb3c/OiBzdHJpbmc7XG4gIGZpbHRlcj86IEZpbHRlcjtcbiAgZGF0YXNldHM/OiBEYXRhc2V0cztcblxuICBpbnZlcnRUcmVuZENvbG9yPzogYm9vbGVhbjtcbn1cblxuY29uc3QgUkFOR0VfU0xJREVSX1RJTUVMSU5FX1BBTkVMX1NUWUxFID0ge21hcmdpbkxlZnQ6ICctMzJweCd9O1xuXG5SYW5nZVNsaWRlckZhY3RvcnkuZGVwcyA9IFtSYW5nZVBsb3RGYWN0b3J5LCBSYW5nZVNsaWRlclN1YkFuaW1hdGlvblBhbmVsRmFjdG9yeV07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFJhbmdlU2xpZGVyRmFjdG9yeShcbiAgUmFuZ2VQbG90OiBSZXR1cm5UeXBlPHR5cGVvZiBSYW5nZVBsb3RGYWN0b3J5PixcbiAgUmFuZ2VTbGlkZXJTdWJBbmltYXRpb25QYW5lbDogUmV0dXJuVHlwZTx0eXBlb2YgUmFuZ2VTbGlkZXJTdWJBbmltYXRpb25QYW5lbEZhY3Rvcnk+XG4pOiBDb21wb25lbnRUeXBlPFJhbmdlU2xpZGVyUHJvcHM+IHtcbiAgY2xhc3MgUmFuZ2VTbGlkZXIgZXh0ZW5kcyBDb21wb25lbnQ8UmFuZ2VTbGlkZXJQcm9wcz4ge1xuICAgIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgICBpc0VubGFyZ2VkOiBmYWxzZSxcbiAgICAgIGlzUmFuZ2VkOiB0cnVlLFxuICAgICAgc2hvd0lucHV0OiB0cnVlLFxuICAgICAgc2xpZGVySGFuZGxlV2lkdGg6IDEyLFxuICAgICAgaW5wdXRUaGVtZTogJycsXG4gICAgICBpbnB1dFNpemU6ICdzbWFsbCcsXG4gICAgICBvbkNoYW5nZTogbm9vcFxuICAgIH07XG5cbiAgICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKHByb3BzLCBzdGF0ZSkge1xuICAgICAgbGV0IHVwZGF0ZToge3ZhbHVlMT86IGFueTsgcHJldlZhbHVlMT86IGFueTsgdmFsdWUwPzogYW55OyBwcmV2VmFsdWUwPzogYW55fSB8IG51bGwgPSBudWxsO1xuICAgICAgY29uc3Qge3ZhbHVlMCwgdmFsdWUxfSA9IHByb3BzO1xuICAgICAgaWYgKHByb3BzLnZhbHVlMCAhPT0gc3RhdGUucHJldlZhbHVlMCAmJiAhaXNOYU4odmFsdWUwKSkge1xuICAgICAgICB1cGRhdGUgPSB7Li4uKHVwZGF0ZSB8fCB7fSksIHZhbHVlMCwgcHJldlZhbHVlMDogdmFsdWUwfTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy52YWx1ZTEgIT09IHN0YXRlLnByZXZWYWx1ZTEgJiYgIWlzTmFOKHZhbHVlMSkpIHtcbiAgICAgICAgdXBkYXRlID0gey4uLih1cGRhdGUgfHwge30pLCB2YWx1ZTEsIHByZXZWYWx1ZTE6IHZhbHVlMX07XG4gICAgICB9XG4gICAgICByZXR1cm4gdXBkYXRlO1xuICAgIH1cblxuICAgIHN0YXRlID0ge1xuICAgICAgdmFsdWUwOiAwLFxuICAgICAgdmFsdWUxOiAxLFxuICAgICAgcHJldlZhbHVlMDogMCxcbiAgICAgIHByZXZWYWx1ZTE6IDEsXG4gICAgICB3aWR0aDogMjg4XG4gICAgfTtcblxuICAgIHNsaWRlckNvbnRhaW5lcjogSFRNTERpdkVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgaWYgKHRoaXMuc2xpZGVyQ29udGFpbmVyIGluc3RhbmNlb2YgRWxlbWVudCkge1xuICAgICAgICBvYnNlcnZlRGltZW5zaW9ucyh0aGlzLnNsaWRlckNvbnRhaW5lciwgdGhpcy5fcmVzaXplLCAxMDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgICAgaWYgKHRoaXMuc2xpZGVyQ29udGFpbmVyIGluc3RhbmNlb2YgRWxlbWVudCkge1xuICAgICAgICB1bm9ic2VydmVEaW1lbnNpb25zKHRoaXMuc2xpZGVyQ29udGFpbmVyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRTbGlkZXJDb250YWluZXI6IFJlYWN0LkxlZ2FjeVJlZjxIVE1MRGl2RWxlbWVudD4gPSBlbGVtZW50ID0+IHtcbiAgICAgIHRoaXMuc2xpZGVyQ29udGFpbmVyID0gZWxlbWVudDtcbiAgICAgIHRoaXMuX3Jlc2l6ZSgpO1xuICAgIH07XG4gICAgaW5wdXRWYWx1ZTAgPSBjcmVhdGVSZWY8SFRNTElucHV0RWxlbWVudD4oKTtcbiAgICBpbnB1dFZhbHVlMSA9IGNyZWF0ZVJlZjxIVE1MSW5wdXRFbGVtZW50PigpO1xuICAgIHZhbHVlMFNlbGVjdG9yID0gcHJvcHMgPT4gcHJvcHMudmFsdWUwO1xuICAgIHZhbHVlMVNlbGVjdG9yID0gcHJvcHMgPT4gcHJvcHMudmFsdWUxO1xuICAgIGZpbHRlclZhbHVlU2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvcihcbiAgICAgIHRoaXMudmFsdWUwU2VsZWN0b3IsXG4gICAgICB0aGlzLnZhbHVlMVNlbGVjdG9yLFxuICAgICAgKHZhbHVlMCwgdmFsdWUxKSA9PiBbdmFsdWUwLCB2YWx1ZTFdXG4gICAgKTtcblxuICAgIF9yb3VuZFZhbFRvU3RlcCA9IHZhbCA9PiB7XG4gICAgICBjb25zdCB7cmFuZ2UsIHN0ZXB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGlmICghcmFuZ2UgfHwgIXN0ZXApIHJldHVybjtcbiAgICAgIHJldHVybiByb3VuZFZhbFRvU3RlcChyYW5nZVswXSwgc3RlcCwgdmFsKTtcbiAgICB9O1xuXG4gICAgX3NldFJhbmdlVmFsMSA9IHZhbCA9PiB7XG4gICAgICBjb25zdCB7dmFsdWUwLCByYW5nZSwgb25DaGFuZ2UgPSBub29wfSA9IHRoaXMucHJvcHM7XG4gICAgICBpZiAoIXJhbmdlKSByZXR1cm47XG4gICAgICBjb25zdCB2YWwxID0gTnVtYmVyKHZhbCk7XG4gICAgICBvbkNoYW5nZShbdmFsdWUwLCBjbGFtcChbdmFsdWUwLCByYW5nZVsxXV0sIHRoaXMuX3JvdW5kVmFsVG9TdGVwKHZhbDEpKV0pO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfTtcblxuICAgIF9zZXRSYW5nZVZhbDAgPSB2YWwgPT4ge1xuICAgICAgY29uc3Qge3ZhbHVlMSwgcmFuZ2UsIG9uQ2hhbmdlID0gbm9vcH0gPSB0aGlzLnByb3BzO1xuICAgICAgaWYgKCFyYW5nZSkgcmV0dXJuO1xuICAgICAgY29uc3QgdmFsMCA9IE51bWJlcih2YWwpO1xuICAgICAgb25DaGFuZ2UoW2NsYW1wKFtyYW5nZVswXSwgdmFsdWUxXSwgdGhpcy5fcm91bmRWYWxUb1N0ZXAodmFsMCkpLCB2YWx1ZTFdKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH07XG5cbiAgICBfcmVzaXplID0gKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuc2xpZGVyQ29udGFpbmVyKSB7XG4gICAgICAgIGNvbnN0IHdpZHRoID0gdGhpcy5zbGlkZXJDb250YWluZXIub2Zmc2V0V2lkdGg7XG4gICAgICAgIGlmICh3aWR0aCAhPT0gdGhpcy5zdGF0ZS53aWR0aCkge1xuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe3dpZHRofSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX29uQ2hhbmdlSW5wdXQgPSAoa2V5LCBlKSA9PiB7XG4gICAgICB0aGlzLnNldFN0YXRlKHtba2V5XTogZS50YXJnZXQudmFsdWV9KTtcbiAgICB9O1xuXG4gICAgX3JlbmRlcklucHV0KGtleSkge1xuICAgICAgY29uc3Qgc2V0UmFuZ2UgPSBrZXkgPT09ICd2YWx1ZTAnID8gdGhpcy5fc2V0UmFuZ2VWYWwwIDogdGhpcy5fc2V0UmFuZ2VWYWwxO1xuICAgICAgY29uc3QgcmVmID0ga2V5ID09PSAndmFsdWUwJyA/IHRoaXMuaW5wdXRWYWx1ZTAgOiB0aGlzLmlucHV0VmFsdWUxO1xuICAgICAgY29uc3QgdXBkYXRlID0gZSA9PiB7XG4gICAgICAgIGlmICghc2V0UmFuZ2UoZS50YXJnZXQudmFsdWUpKSB7XG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7W2tleV06IHRoaXMuc3RhdGVba2V5XX0pO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICBjb25zdCBvbkNoYW5nZSA9IHRoaXMuX29uQ2hhbmdlSW5wdXQuYmluZCh0aGlzLCBrZXkpO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U2xpZGVySW5wdXRcbiAgICAgICAgICBjbGFzc05hbWU9XCJrZy1yYW5nZS1zbGlkZXJfX2lucHV0XCJcbiAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgICBpZD17YHNsaWRlci1pbnB1dC0ke2tleX1gfVxuICAgICAgICAgIGtleT17a2V5fVxuICAgICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlW2tleV19XG4gICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgIG9uS2V5UHJlc3M9e2UgPT4ge1xuICAgICAgICAgICAgaWYgKGUua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgICAgICAgIHVwZGF0ZShlKTtcbiAgICAgICAgICAgICAgKHJlZi5jdXJyZW50IGFzIGFueSkuYmx1cigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH19XG4gICAgICAgICAgb25CbHVyPXt1cGRhdGV9XG4gICAgICAgICAgJGZsdXNoPXtrZXkgPT09ICd2YWx1ZTAnfVxuICAgICAgICAgICRpbnB1dFNpemU9e3RoaXMucHJvcHMuaW5wdXRTaXplfVxuICAgICAgICAgIHNlY29uZGFyeT17dGhpcy5wcm9wcy5pbnB1dFRoZW1lID09PSAnc2Vjb25kYXJ5J31cbiAgICAgICAgLz5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNvbXBsZXhpdHlcbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7XG4gICAgICAgIGlzUmFuZ2VkLFxuICAgICAgICBzaG93SW5wdXQsXG4gICAgICAgIGJpbnMsXG4gICAgICAgIGxpbmVDaGFydCxcbiAgICAgICAgcGxvdFR5cGUsXG4gICAgICAgIGludmVydFRyZW5kQ29sb3IsXG4gICAgICAgIHJhbmdlLFxuICAgICAgICBvbkNoYW5nZSA9IG5vb3AsXG4gICAgICAgIHNsaWRlckhhbmRsZVdpZHRoLFxuICAgICAgICBzdGVwLFxuICAgICAgICB0aW1lem9uZSxcbiAgICAgICAgdGltZUZvcm1hdCxcbiAgICAgICAgcGxheWJhY2tDb250cm9sV2lkdGgsXG4gICAgICAgIHNldEZpbHRlclBsb3QsXG4gICAgICAgIGFuaW1hdGlvbldpbmRvdyxcbiAgICAgICAgc3ViQW5pbWF0aW9uczogc3ViQW5pbWF0aW9ucyxcbiAgICAgICAgZmlsdGVyLFxuICAgICAgICBkYXRhc2V0c1xuICAgICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGNvbnN0IHt3aWR0aH0gPSB0aGlzLnN0YXRlO1xuICAgICAgY29uc3QgcGxvdFdpZHRoID0gTWF0aC5tYXgod2lkdGggLSBOdW1iZXIoc2xpZGVySGFuZGxlV2lkdGgpLCAwKTtcbiAgICAgIGNvbnN0IGhhc1Bsb3QgPSBwbG90VHlwZT8udHlwZTtcblxuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnByb3BzLnBsb3RWYWx1ZSB8fCB0aGlzLmZpbHRlclZhbHVlU2VsZWN0b3IodGhpcy5wcm9wcyk7XG4gICAgICBjb25zdCBzY2FsZWRWYWx1ZSA9XG4gICAgICAgIHN1YkFuaW1hdGlvbnM/Lmxlbmd0aCAmJiByYW5nZVxuICAgICAgICAgID8gc2NhbGVTb3VyY2VEb21haW5Ub0Rlc3RpbmF0aW9uKHZhbHVlIGFzIFtudW1iZXIsIG51bWJlcl0sIHJhbmdlIGFzIFtudW1iZXIsIG51bWJlcl0pXG4gICAgICAgICAgOiBbMCwgMF07XG4gICAgICBjb25zdCBjb21tb25QYWRkaW5nID0gYCR7TnVtYmVyKHNsaWRlckhhbmRsZVdpZHRoKSAvIDJ9cHhgO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzTmFtZT1cImtnLXJhbmdlLXNsaWRlclwiXG4gICAgICAgICAgc3R5bGU9e3t3aWR0aDogJzEwMCUnLCBwYWRkaW5nOiBgMCAke2NvbW1vblBhZGRpbmd9YH19XG4gICAgICAgICAgcmVmPXt0aGlzLnNldFNsaWRlckNvbnRhaW5lcn1cbiAgICAgICAgPlxuICAgICAgICAgIHtBcnJheS5pc0FycmF5KHJhbmdlKSAmJiByYW5nZS5ldmVyeShOdW1iZXIuaXNGaW5pdGUpICYmIChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIHtoYXNQbG90ID8gKFxuICAgICAgICAgICAgICAgIDxSYW5nZVBsb3RcbiAgICAgICAgICAgICAgICAgIGJpbnM9e2JpbnN9XG4gICAgICAgICAgICAgICAgICBsaW5lQ2hhcnQ9e2xpbmVDaGFydH1cbiAgICAgICAgICAgICAgICAgIHBsb3RUeXBlPXtwbG90VHlwZX1cbiAgICAgICAgICAgICAgICAgIGludmVydFRyZW5kQ29sb3I9e2ludmVydFRyZW5kQ29sb3J9XG4gICAgICAgICAgICAgICAgICBpc0VubGFyZ2VkPXt0aGlzLnByb3BzLmlzRW5sYXJnZWR9XG4gICAgICAgICAgICAgICAgICBvbkJydXNoPXsodmFsMCwgdmFsMSkgPT4gb25DaGFuZ2UoW3ZhbDAsIHZhbDFdKX1cbiAgICAgICAgICAgICAgICAgIG1hcmtzPXt0aGlzLnByb3BzLm1hcmtzfVxuICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uV2luZG93PXthbmltYXRpb25XaW5kb3d9XG4gICAgICAgICAgICAgICAgICBmaWx0ZXI9e2ZpbHRlcn1cbiAgICAgICAgICAgICAgICAgIGRhdGFzZXRzPXtkYXRhc2V0c31cbiAgICAgICAgICAgICAgICAgIHJhbmdlPXtyYW5nZX1cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgICAgICAgIHdpZHRoPXtwbG90V2lkdGh9XG4gICAgICAgICAgICAgICAgICBpc1JhbmdlZD17aXNSYW5nZWR9XG4gICAgICAgICAgICAgICAgICBzdGVwPXtzdGVwfVxuICAgICAgICAgICAgICAgICAgdGltZXpvbmU9e3RpbWV6b25lfVxuICAgICAgICAgICAgICAgICAgdGltZUZvcm1hdD17dGltZUZvcm1hdH1cbiAgICAgICAgICAgICAgICAgIHBsYXliYWNrQ29udHJvbFdpZHRoPXtwbGF5YmFja0NvbnRyb2xXaWR0aH1cbiAgICAgICAgICAgICAgICAgIHNldEZpbHRlclBsb3Q9e3NldEZpbHRlclBsb3R9XG4gICAgICAgICAgICAgICAgICBzdHlsZT17e3BhZGRpbmdMZWZ0OiBjb21tb25QYWRkaW5nfX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAge3N1YkFuaW1hdGlvbnM/Lmxlbmd0aCA/IChcbiAgICAgICAgICAgICAgICA8UmFuZ2VTbGlkZXJTdWJBbmltYXRpb25QYW5lbFxuICAgICAgICAgICAgICAgICAgc3ViQW5pbWF0aW9ucz17c3ViQW5pbWF0aW9uc31cbiAgICAgICAgICAgICAgICAgIHNjYWxlZFZhbHVlPXtzY2FsZWRWYWx1ZX1cbiAgICAgICAgICAgICAgICAgIHN0eWxlPXtSQU5HRV9TTElERVJfVElNRUxJTkVfUEFORUxfU1RZTEV9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgIDxTbGlkZXJXcmFwcGVyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwia2ctcmFuZ2Utc2xpZGVyX19zbGlkZXJcIlxuICAgICAgICAgICAgICAgICRpc1JhbmdlZD17aXNSYW5nZWR9XG4gICAgICAgICAgICAgICAgJHNob3dJbnB1dD17c2hvd0lucHV0fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3RoaXMucHJvcHMueEF4aXMgPyAoXG4gICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7aGVpZ2h0OiAnMzBweCd9fT5cbiAgICAgICAgICAgICAgICAgICAgPHRoaXMucHJvcHMueEF4aXNcbiAgICAgICAgICAgICAgICAgICAgICB3aWR0aD17cGxvdFdpZHRofVxuICAgICAgICAgICAgICAgICAgICAgIHRpbWV6b25lPXt0aW1lem9uZX1cbiAgICAgICAgICAgICAgICAgICAgICBkb21haW49e3JhbmdlfVxuICAgICAgICAgICAgICAgICAgICAgIGlzRW5sYXJnZWQ9e3RoaXMucHJvcHMuaXNFbmxhcmdlZH1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgIDxTbGlkZXJcbiAgICAgICAgICAgICAgICAgIG1hcmtzPXt0aGlzLnByb3BzLm1hcmtzfVxuICAgICAgICAgICAgICAgICAgaXNSYW5nZWQ9e2lzUmFuZ2VkfVxuICAgICAgICAgICAgICAgICAgbWluVmFsdWU9e3JhbmdlWzBdfVxuICAgICAgICAgICAgICAgICAgbWF4VmFsdWU9e3JhbmdlWzFdfVxuICAgICAgICAgICAgICAgICAgdmFsdWUwPXt0aGlzLnByb3BzLnZhbHVlMH1cbiAgICAgICAgICAgICAgICAgIHZhbHVlMT17dGhpcy5wcm9wcy52YWx1ZTF9XG4gICAgICAgICAgICAgICAgICBzdGVwPXtzdGVwfVxuICAgICAgICAgICAgICAgICAgc2xpZGVySGFuZGxlV2lkdGg9e3NsaWRlckhhbmRsZVdpZHRofVxuICAgICAgICAgICAgICAgICAgb25TbGlkZXIwQ2hhbmdlPXt0aGlzLl9zZXRSYW5nZVZhbDB9XG4gICAgICAgICAgICAgICAgICBvblNsaWRlcjFDaGFuZ2U9e3RoaXMuX3NldFJhbmdlVmFsMX1cbiAgICAgICAgICAgICAgICAgIG9uU2xpZGVyQmFyQ2hhbmdlPXsodmFsMCwgdmFsMSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZShbdmFsMCwgdmFsMV0pO1xuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIGVuYWJsZUJhckRyYWdcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIHshaXNSYW5nZWQgJiYgc2hvd0lucHV0ID8gdGhpcy5fcmVuZGVySW5wdXQoJ3ZhbHVlMScpIDogbnVsbH1cbiAgICAgICAgICAgICAgPC9TbGlkZXJXcmFwcGVyPlxuICAgICAgICAgICAgICB7aXNSYW5nZWQgJiYgc2hvd0lucHV0ID8gKFxuICAgICAgICAgICAgICAgIDxSYW5nZUlucHV0V3JhcHBlciBjbGFzc05hbWU9XCJyYW5nZS1zbGlkZXJfX2lucHV0LWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICB7dGhpcy5fcmVuZGVySW5wdXQoJ3ZhbHVlMCcpfVxuICAgICAgICAgICAgICAgICAge3RoaXMuX3JlbmRlcklucHV0KCd2YWx1ZTEnKX1cbiAgICAgICAgICAgICAgICA8L1JhbmdlSW5wdXRXcmFwcGVyPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwb2x5ZmlsbChSYW5nZVNsaWRlcik7XG5cbiAgcmV0dXJuIFJhbmdlU2xpZGVyO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxzQkFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsU0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFLLFVBQUEsR0FBQUQsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFNLE9BQUEsR0FBQUYsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFPLGtCQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSx5QkFBQSxHQUFBSixzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQVMsTUFBQSxHQUFBVCxPQUFBO0FBTTBCLElBQUFVLGVBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFqQjFCO0FBQ0E7QUFBQSxTQUFBQyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQWYsd0JBQUFlLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEs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LFNBQVMsZ0JBQ3BCL0osTUFBQSxZQUFBaUosYUFBQSxDQUFDckUsaUJBQWlCO1VBQUNzRSxTQUFTLEVBQUM7UUFBMkIsR0FDckQsSUFBSSxDQUFDWixZQUFZLENBQUMsUUFBUSxDQUFDLEVBQzNCLElBQUksQ0FBQ0EsWUFBWSxDQUFDLFFBQVEsQ0FDVixDQUFDLEdBQ2xCLElBQ0osQ0FFRCxDQUFDO01BRVY7SUFBQztNQUFBVixHQUFBO01BQUFFLEtBQUEsRUF4T0QsU0FBTzRFLHdCQUF3QkEsQ0FBQ3pJLEtBQUssRUFBRXlELEtBQUssRUFBRTtRQUM1QyxJQUFJb0IsTUFBK0UsR0FBRyxJQUFJO1FBQzFGLElBQU9oRCxNQUFNLEdBQVk3QixLQUFLLENBQXZCNkIsTUFBTTtVQUFFQyxNQUFNLEdBQUk5QixLQUFLLENBQWY4QixNQUFNO1FBQ3JCLElBQUk5QixLQUFLLENBQUM2QixNQUFNLEtBQUs0QixLQUFLLENBQUMxQixVQUFVLElBQUksQ0FBQzJHLEtBQUssQ0FBQzdHLE1BQU0sQ0FBQyxFQUFFO1VBQ3ZEZ0QsTUFBTSxHQUFBbkcsYUFBQSxDQUFBQSxhQUFBLEtBQVFtRyxNQUFNLElBQUksQ0FBQyxDQUFDO1lBQUdoRCxNQUFNLEVBQU5BLE1BQU07WUFBRUUsVUFBVSxFQUFFRjtVQUFNLEVBQUM7UUFDMUQ7UUFDQSxJQUFJN0IsS0FBSyxDQUFDOEIsTUFBTSxLQUFLMkIsS0FBSyxDQUFDekIsVUFBVSxJQUFJLENBQUMwRyxLQUFLLENBQUM1RyxNQUFNLENBQUMsRUFBRTtVQUN2RCtDLE1BQU0sR0FBQW5HLGFBQUEsQ0FBQUEsYUFBQSxLQUFRbUcsTUFBTSxJQUFJLENBQUMsQ0FBQztZQUFHL0MsTUFBTSxFQUFOQSxNQUFNO1lBQUVFLFVBQVUsRUFBRUY7VUFBTSxFQUFDO1FBQzFEO1FBQ0EsT0FBTytDLE1BQU07TUFDZjtJQUFDO0VBQUEsRUFyQnVCOEQsZ0JBQVM7RUFBQSxJQUFBN0osZ0JBQUEsYUFBN0JzQyxXQUFXLGtCQUNPO0lBQ3BCd0csVUFBVSxFQUFFLEtBQUs7SUFDakIvQixRQUFRLEVBQUUsSUFBSTtJQUNkQyxTQUFTLEVBQUUsSUFBSTtJQUNmTSxpQkFBaUIsRUFBRSxFQUFFO0lBQ3JCVixVQUFVLEVBQUUsRUFBRTtJQUNkRixTQUFTLEVBQUUsT0FBTztJQUNsQnhDLFFBQVEsRUFBRXJEO0VBQ1osQ0FBQztFQTZPSCxJQUFBaUosK0JBQVEsRUFBQ3hILFdBQVcsQ0FBQztFQUVyQixPQUFPQSxXQUFXO0FBQ3BCIiwiaWdub3JlTGlzdCI6W119
|
|
374
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RMaWZlY3ljbGVzQ29tcGF0IiwiX3Jlc2VsZWN0IiwiX3N0eWxlZENvbXBvbmVudHMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3JhbmdlUGxvdCIsIl9zbGlkZXIiLCJfc3R5bGVkQ29tcG9uZW50czIiLCJfcmFuZ2VTbGlkZXJUaW1lbGluZVBhbmVsIiwiX3V0aWxzIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJfY2FsbFN1cGVyIiwiX2dldFByb3RvdHlwZU9mMiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuMiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiY29uc3RydWN0b3IiLCJCb29sZWFuIiwicHJvdG90eXBlIiwidmFsdWVPZiIsIm5vb3AiLCJTbGlkZXJJbnB1dCIsInN0eWxlZCIsIklucHV0IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJwcm9wcyIsInRoZW1lIiwic2xpZGVySW5wdXRXaWR0aCIsIiRmbHVzaCIsIiRpbnB1dFNpemUiLCJzbGlkZXJJbnB1dEZvbnRTaXplIiwic2xpZGVySW5wdXRQYWRkaW5nIiwiU2xpZGVyV3JhcHBlciIsImRpdiIsIiRpc1JhbmdlZCIsIiRzaG93SW5wdXQiLCJSYW5nZUlucHV0V3JhcHBlciIsIlJBTkdFX1NMSURFUl9USU1FTElORV9QQU5FTF9TVFlMRSIsIm1hcmdpbkxlZnQiLCJSYW5nZVNsaWRlckZhY3RvcnkiLCJkZXBzIiwiUmFuZ2VQbG90RmFjdG9yeSIsIlJhbmdlU2xpZGVyU3ViQW5pbWF0aW9uUGFuZWxGYWN0b3J5IiwiUmFuZ2VQbG90IiwiUmFuZ2VTbGlkZXJTdWJBbmltYXRpb25QYW5lbCIsIlJhbmdlU2xpZGVyIiwiX0NvbXBvbmVudCIsIl90aGlzIiwiX2NsYXNzQ2FsbENoZWNrMiIsIl9sZW4iLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiY29uY2F0IiwidmFsdWUwIiwidmFsdWUxIiwicHJldlZhbHVlMCIsInByZXZWYWx1ZTEiLCJ3aWR0aCIsImVsZW1lbnQiLCJzbGlkZXJDb250YWluZXIiLCJfcmVzaXplIiwiY3JlYXRlUmVmIiwiY3JlYXRlU2VsZWN0b3IiLCJ2YWx1ZTBTZWxlY3RvciIsInZhbHVlMVNlbGVjdG9yIiwidGltZUZvcm1hdCIsIl90aGlzJHByb3BzIiwicmFuZ2UiLCJiaW5zIiwiaXNSYW5nZWQiLCJkaXNwbGF5UmFuZ2UiLCJiaW5TdGVwIiwiZ3JvdXBLZXlzIiwiayIsIl9iaW5zJGsiLCJncm91cCIsImlkeCIsIngxIiwieDAiLCJfaXNUaW1lRmlsdGVyIiwicGFkIiwiX2dldERpc3BsYXlSYW5nZUluZm8iLCJ2YWwiLCJfdGhpcyRwcm9wczIiLCJzdGVwIiwicm91bmRWYWxUb1N0ZXAiLCJfdGhpcyRwcm9wczMiLCJfdGhpcyRwcm9wczMkb25DaGFuZ2UiLCJvbkNoYW5nZSIsImRyIiwiX2dldERpc3BsYXlSYW5nZSIsInZhbDEiLCJOdW1iZXIiLCJjbGFtcCIsIl9yb3VuZFZhbFRvU3RlcCIsIl90aGlzJHByb3BzNCIsIl90aGlzJHByb3BzNCRvbkNoYW5nZSIsInZhbDAiLCJvZmZzZXRXaWR0aCIsInN0YXRlIiwic2V0U3RhdGUiLCJrZXkiLCJ0YXJnZXQiLCJ2YWx1ZSIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwiY29tcG9uZW50RGlkTW91bnQiLCJFbGVtZW50Iiwib2JzZXJ2ZURpbWVuc2lvbnMiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsInVub2JzZXJ2ZURpbWVuc2lvbnMiLCJfcmVuZGVySW5wdXQiLCJfdGhpczIiLCJzZXRSYW5nZSIsIl9zZXRSYW5nZVZhbDAiLCJfc2V0UmFuZ2VWYWwxIiwicmVmIiwiaW5wdXRWYWx1ZTAiLCJpbnB1dFZhbHVlMSIsInVwZGF0ZSIsIl9vbkNoYW5nZUlucHV0IiwiYmluZCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJ0eXBlIiwiaWQiLCJvbktleVByZXNzIiwiY3VycmVudCIsImJsdXIiLCJvbkJsdXIiLCJpbnB1dFNpemUiLCJzZWNvbmRhcnkiLCJpbnB1dFRoZW1lIiwicmVuZGVyIiwiX3RoaXMkcHJvcHM1Iiwic2hvd0lucHV0IiwibGluZUNoYXJ0IiwicGxvdFR5cGUiLCJpbnZlcnRUcmVuZENvbG9yIiwiX3RoaXMkcHJvcHM1JG9uQ2hhbmdlIiwic2xpZGVySGFuZGxlV2lkdGgiLCJ0aW1lem9uZSIsInBsYXliYWNrQ29udHJvbFdpZHRoIiwic2V0RmlsdGVyUGxvdCIsImFuaW1hdGlvbldpbmRvdyIsInN1YkFuaW1hdGlvbnMiLCJkYXRhc2V0cyIsInNjYWxlQ29uZmlnIiwicGxvdFdpZHRoIiwiTWF0aCIsIm1heCIsImhhc1Bsb3QiLCJfdGhpcyRfZ2V0RGlzcGxheVJhbmciLCJyYXdWYWx1ZSIsInBsb3RWYWx1ZSIsImZpbHRlclZhbHVlU2VsZWN0b3IiLCJpc0FycmF5IiwibWFwIiwidiIsInNjYWxlZFZhbHVlIiwic2NhbGVTb3VyY2VEb21haW5Ub0Rlc3RpbmF0aW9uIiwiY29tbW9uUGFkZGluZyIsInN0eWxlIiwicGFkZGluZyIsInNldFNsaWRlckNvbnRhaW5lciIsImV2ZXJ5IiwiaXNGaW5pdGUiLCJGcmFnbWVudCIsImlzRW5sYXJnZWQiLCJvbkJydXNoIiwibWFya3MiLCJwYWRkaW5nTGVmdCIsInhBeGlzIiwiaGVpZ2h0IiwiZG9tYWluIiwibWluVmFsdWUiLCJtYXhWYWx1ZSIsIm9uU2xpZGVyMENoYW5nZSIsIm9uU2xpZGVyMUNoYW5nZSIsIm9uU2xpZGVyQmFyQ2hhbmdlIiwiZW5hYmxlQmFyRHJhZyIsImdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyIsImlzTmFOIiwiQ29tcG9uZW50IiwicG9seWZpbGwiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbW9uL3JhbmdlLXNsaWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50LCBDb21wb25lbnRUeXBlLCBjcmVhdGVSZWYsIEVsZW1lbnRUeXBlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge3BvbHlmaWxsfSBmcm9tICdyZWFjdC1saWZlY3ljbGVzLWNvbXBhdCc7XG5pbXBvcnQge2NyZWF0ZVNlbGVjdG9yfSBmcm9tICdyZXNlbGVjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBSYW5nZVBsb3RGYWN0b3J5IGZyb20gJy4vcmFuZ2UtcGxvdCc7XG5pbXBvcnQgU2xpZGVyIGZyb20gJy4vc2xpZGVyL3NsaWRlcic7XG5pbXBvcnQge0lucHV0fSBmcm9tICcuL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBSYW5nZVNsaWRlclN1YkFuaW1hdGlvblBhbmVsRmFjdG9yeSBmcm9tICcuLi9jb21tb24vcmFuZ2Utc2xpZGVyLXRpbWVsaW5lLXBhbmVsJztcbmltcG9ydCB7XG4gIG9ic2VydmVEaW1lbnNpb25zLFxuICB1bm9ic2VydmVEaW1lbnNpb25zLFxuICByb3VuZFZhbFRvU3RlcCxcbiAgY2xhbXAsXG4gIHNjYWxlU291cmNlRG9tYWluVG9EZXN0aW5hdGlvblxufSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCB0eXBlIHtTbGlkZXJTY2FsZUNvbmZpZ30gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge0xpbmVDaGFydCwgRmlsdGVyLCBCaW5zfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7RGF0YXNldHN9IGZyb20gJ0BrZXBsZXIuZ2wvdGFibGUnO1xuaW1wb3J0IHtBY3Rpb25IYW5kbGVyLCBzZXRGaWx0ZXJQbG90fSBmcm9tICdAa2VwbGVyLmdsL2FjdGlvbnMnO1xuXG5pbnRlcmZhY2UgU2xpZGVySW5wdXRQcm9wcyB7XG4gICRmbHVzaD86IGJvb2xlYW47XG4gICRpbnB1dFNpemU/OiBzdHJpbmc7XG59XG5jb25zdCBub29wID0gKCkgPT4ge1xuICByZXR1cm47XG59O1xuY29uc3QgU2xpZGVySW5wdXQgPSBzdHlsZWQoSW5wdXQpPFNsaWRlcklucHV0UHJvcHM+YFxuICB3aWR0aDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zbGlkZXJJbnB1dFdpZHRofXB4O1xuICBtYXJnaW4tbGVmdDogJHtwcm9wcyA9PiAocHJvcHMuJGZsdXNoID8gMCA6IHByb3BzLiRpbnB1dFNpemUgPT09ICd0aW55JyA/IDEyIDogMTgpfXB4O1xuICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2xpZGVySW5wdXRGb250U2l6ZX07IC8vIDEwcHggLy8gMTJweDtcbiAgcGFkZGluZzogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zbGlkZXJJbnB1dFBhZGRpbmd9OyAvLyA0cHggNnB4OyAvLyA2cHggMTJweDtcbmA7XG5cbmludGVyZmFjZSBTbGlkZXJXcmFwcGVyUHJvcHMge1xuICAkaXNSYW5nZWQ/OiBib29sZWFuO1xuICAkc2hvd0lucHV0PzogYm9vbGVhbjtcbn1cblxuY29uc3QgU2xpZGVyV3JhcHBlciA9IHN0eWxlZC5kaXY8U2xpZGVyV3JhcHBlclByb3BzPmBcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogJHtwcm9wcyA9PiAoIXByb3BzLiRpc1JhbmdlZCAmJiBwcm9wcy4kc2hvd0lucHV0ID8gJ2NlbnRlcicgOiAnZmxleC1zdGFydCcpfTtcbmA7XG5cbmNvbnN0IFJhbmdlSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogMTJweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuaW50ZXJmYWNlIFJhbmdlU2xpZGVyUHJvcHMge1xuICByYW5nZT86IG51bWJlcltdO1xuICB2YWx1ZTA6IG51bWJlcjtcbiAgdmFsdWUxOiBudW1iZXI7XG4gIG9uQ2hhbmdlPzogKHZhbDogbnVtYmVyW10sIGU/OiBFdmVudCB8IG51bGwpID0+IHZvaWQ7IC8vIFRPRE9cbiAgc2V0RmlsdGVyUGxvdD86IEFjdGlvbkhhbmRsZXI8dHlwZW9mIHNldEZpbHRlclBsb3Q+O1xuICBiaW5zPzogQmlucztcbiAgaXNSYW5nZWQ/OiBib29sZWFuO1xuICBpc0VubGFyZ2VkPzogYm9vbGVhbjtcbiAgc2hvd0lucHV0PzogYm9vbGVhbjtcbiAgaW5wdXRUaGVtZT86IHN0cmluZztcbiAgaW5wdXRTaXplPzogc3RyaW5nO1xuICBzdGVwPzogbnVtYmVyO1xuICBzbGlkZXJIYW5kbGVXaWR0aD86IG51bWJlcjtcbiAgeEF4aXM/OiBFbGVtZW50VHlwZTtcbiAgc3ViQW5pbWF0aW9ucz86IGFueVtdO1xuICB0aW1lbGluZUxhYmVsPzogc3RyaW5nO1xuXG4gIHRpbWV6b25lPzogc3RyaW5nIHwgbnVsbDtcbiAgdGltZUZvcm1hdD86IHN0cmluZztcbiAgcGxheWJhY2tDb250cm9sV2lkdGg/OiBudW1iZXI7XG4gIGxpbmVDaGFydD86IExpbmVDaGFydDtcbiAgbWFya3M/OiBudW1iZXJbXTtcbiAgcGxvdFR5cGU/OiB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICB9O1xuICBwbG90VmFsdWU/OiBudW1iZXJbXTtcblxuICBhbmltYXRpb25XaW5kb3c/OiBzdHJpbmc7XG4gIGZpbHRlcj86IEZpbHRlcjtcbiAgZGF0YXNldHM/OiBEYXRhc2V0cztcblxuICBpbnZlcnRUcmVuZENvbG9yPzogYm9vbGVhbjtcbiAgc2NhbGVDb25maWc/OiBTbGlkZXJTY2FsZUNvbmZpZyB8IG51bGw7XG59XG5cbmNvbnN0IFJBTkdFX1NMSURFUl9USU1FTElORV9QQU5FTF9TVFlMRSA9IHttYXJnaW5MZWZ0OiAnLTMycHgnfTtcblxuUmFuZ2VTbGlkZXJGYWN0b3J5LmRlcHMgPSBbUmFuZ2VQbG90RmFjdG9yeSwgUmFuZ2VTbGlkZXJTdWJBbmltYXRpb25QYW5lbEZhY3RvcnldO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBSYW5nZVNsaWRlckZhY3RvcnkoXG4gIFJhbmdlUGxvdDogUmV0dXJuVHlwZTx0eXBlb2YgUmFuZ2VQbG90RmFjdG9yeT4sXG4gIFJhbmdlU2xpZGVyU3ViQW5pbWF0aW9uUGFuZWw6IFJldHVyblR5cGU8dHlwZW9mIFJhbmdlU2xpZGVyU3ViQW5pbWF0aW9uUGFuZWxGYWN0b3J5PlxuKTogQ29tcG9uZW50VHlwZTxSYW5nZVNsaWRlclByb3BzPiB7XG4gIGNsYXNzIFJhbmdlU2xpZGVyIGV4dGVuZHMgQ29tcG9uZW50PFJhbmdlU2xpZGVyUHJvcHM+IHtcbiAgICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgICAgaXNFbmxhcmdlZDogZmFsc2UsXG4gICAgICBpc1JhbmdlZDogdHJ1ZSxcbiAgICAgIHNob3dJbnB1dDogdHJ1ZSxcbiAgICAgIHNsaWRlckhhbmRsZVdpZHRoOiAxMixcbiAgICAgIGlucHV0VGhlbWU6ICcnLFxuICAgICAgaW5wdXRTaXplOiAnc21hbGwnLFxuICAgICAgb25DaGFuZ2U6IG5vb3BcbiAgICB9O1xuXG4gICAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhwcm9wcywgc3RhdGUpIHtcbiAgICAgIGxldCB1cGRhdGU6IHt2YWx1ZTE/OiBhbnk7IHByZXZWYWx1ZTE/OiBhbnk7IHZhbHVlMD86IGFueTsgcHJldlZhbHVlMD86IGFueX0gfCBudWxsID0gbnVsbDtcbiAgICAgIGNvbnN0IHt2YWx1ZTAsIHZhbHVlMX0gPSBwcm9wcztcbiAgICAgIGlmIChwcm9wcy52YWx1ZTAgIT09IHN0YXRlLnByZXZWYWx1ZTAgJiYgIWlzTmFOKHZhbHVlMCkpIHtcbiAgICAgICAgdXBkYXRlID0gey4uLih1cGRhdGUgfHwge30pLCB2YWx1ZTAsIHByZXZWYWx1ZTA6IHZhbHVlMH07XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMudmFsdWUxICE9PSBzdGF0ZS5wcmV2VmFsdWUxICYmICFpc05hTih2YWx1ZTEpKSB7XG4gICAgICAgIHVwZGF0ZSA9IHsuLi4odXBkYXRlIHx8IHt9KSwgdmFsdWUxLCBwcmV2VmFsdWUxOiB2YWx1ZTF9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHVwZGF0ZTtcbiAgICB9XG5cbiAgICBzdGF0ZSA9IHtcbiAgICAgIHZhbHVlMDogMCxcbiAgICAgIHZhbHVlMTogMSxcbiAgICAgIHByZXZWYWx1ZTA6IDAsXG4gICAgICBwcmV2VmFsdWUxOiAxLFxuICAgICAgd2lkdGg6IDI4OFxuICAgIH07XG5cbiAgICBzbGlkZXJDb250YWluZXI6IEhUTUxEaXZFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAgIGlmICh0aGlzLnNsaWRlckNvbnRhaW5lciBpbnN0YW5jZW9mIEVsZW1lbnQpIHtcbiAgICAgICAgb2JzZXJ2ZURpbWVuc2lvbnModGhpcy5zbGlkZXJDb250YWluZXIsIHRoaXMuX3Jlc2l6ZSwgMTAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAgIGlmICh0aGlzLnNsaWRlckNvbnRhaW5lciBpbnN0YW5jZW9mIEVsZW1lbnQpIHtcbiAgICAgICAgdW5vYnNlcnZlRGltZW5zaW9ucyh0aGlzLnNsaWRlckNvbnRhaW5lcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc2V0U2xpZGVyQ29udGFpbmVyOiBSZWFjdC5MZWdhY3lSZWY8SFRNTERpdkVsZW1lbnQ+ID0gZWxlbWVudCA9PiB7XG4gICAgICB0aGlzLnNsaWRlckNvbnRhaW5lciA9IGVsZW1lbnQ7XG4gICAgICB0aGlzLl9yZXNpemUoKTtcbiAgICB9O1xuICAgIGlucHV0VmFsdWUwID0gY3JlYXRlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KCk7XG4gICAgaW5wdXRWYWx1ZTEgPSBjcmVhdGVSZWY8SFRNTElucHV0RWxlbWVudD4oKTtcbiAgICB2YWx1ZTBTZWxlY3RvciA9IHByb3BzID0+IHByb3BzLnZhbHVlMDtcbiAgICB2YWx1ZTFTZWxlY3RvciA9IHByb3BzID0+IHByb3BzLnZhbHVlMTtcbiAgICBmaWx0ZXJWYWx1ZVNlbGVjdG9yID0gY3JlYXRlU2VsZWN0b3IoXG4gICAgICB0aGlzLnZhbHVlMFNlbGVjdG9yLFxuICAgICAgdGhpcy52YWx1ZTFTZWxlY3RvcixcbiAgICAgICh2YWx1ZTAsIHZhbHVlMSkgPT4gW3ZhbHVlMCwgdmFsdWUxXVxuICAgICk7XG5cbiAgICBfaXNUaW1lRmlsdGVyID0gKCkgPT4ge1xuICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzLnByb3BzLnRpbWVGb3JtYXQgPT09ICdzdHJpbmcnO1xuICAgIH07XG5cbiAgICBfZ2V0RGlzcGxheVJhbmdlSW5mbyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHtyYW5nZSwgYmlucywgaXNSYW5nZWR9ID0gdGhpcy5wcm9wcztcbiAgICAgIGlmICghcmFuZ2UpIHtcbiAgICAgICAgcmV0dXJuIHtkaXNwbGF5UmFuZ2U6IHJhbmdlLCBiaW5TdGVwOiAwfTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFiaW5zIHx8ICFpc1JhbmdlZCkge1xuICAgICAgICByZXR1cm4ge2Rpc3BsYXlSYW5nZTogcmFuZ2UsIGJpblN0ZXA6IDB9O1xuICAgICAgfVxuXG4gICAgICBjb25zdCBncm91cEtleXMgPSBPYmplY3Qua2V5cyhiaW5zKS5maWx0ZXIoayA9PiBiaW5zW2tdPy5sZW5ndGggPiAwKTtcbiAgICAgIGlmIChncm91cEtleXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiB7ZGlzcGxheVJhbmdlOiByYW5nZSwgYmluU3RlcDogMH07XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGdyb3VwID0gYmluc1tncm91cEtleXNbMF1dO1xuICAgICAgY29uc3QgaWR4ID0gZ3JvdXAubGVuZ3RoID4gMSA/IDEgOiAwO1xuICAgICAgY29uc3QgYmluU3RlcCA9IGdyb3VwW2lkeF0ueDEgLSBncm91cFtpZHhdLngwO1xuXG4gICAgICBpZiAoYmluU3RlcCA8PSAwKSB7XG4gICAgICAgIHJldHVybiB7ZGlzcGxheVJhbmdlOiByYW5nZSwgYmluU3RlcDogMH07XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLl9pc1RpbWVGaWx0ZXIoKSkge1xuICAgICAgICBjb25zdCBkaXNwbGF5UmFuZ2UgPSBbcmFuZ2VbMF0gLSBiaW5TdGVwLCByYW5nZVsxXSArIGJpblN0ZXBdO1xuICAgICAgICByZXR1cm4ge2Rpc3BsYXlSYW5nZSwgYmluU3RlcH07XG4gICAgICB9XG5cbiAgICAgIC8vIE5vbi10aW1lIHJhbmdlIGZpbHRlcnM6IHBhZCBieSBoYWxmIGEgYmluIHNvIGVkZ2UgYmFycyBhcmVuJ3QgY2xpcHBlZFxuICAgICAgY29uc3QgcGFkID0gYmluU3RlcCAvIDI7XG4gICAgICBjb25zdCBkaXNwbGF5UmFuZ2UgPSBbcmFuZ2VbMF0gLSBwYWQsIHJhbmdlWzFdICsgcGFkXTtcbiAgICAgIHJldHVybiB7ZGlzcGxheVJhbmdlLCBiaW5TdGVwOiBwYWR9O1xuICAgIH07XG5cbiAgICBfZ2V0RGlzcGxheVJhbmdlID0gKCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuX2dldERpc3BsYXlSYW5nZUluZm8oKS5kaXNwbGF5UmFuZ2U7XG4gICAgfTtcblxuICAgIF9yb3VuZFZhbFRvU3RlcCA9IHZhbCA9PiB7XG4gICAgICBjb25zdCB7cmFuZ2UsIHN0ZXB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGlmICghcmFuZ2UgfHwgIXN0ZXApIHJldHVybjtcbiAgICAgIHJldHVybiByb3VuZFZhbFRvU3RlcChyYW5nZVswXSwgc3RlcCwgdmFsKTtcbiAgICB9O1xuXG4gICAgX3NldFJhbmdlVmFsMSA9IHZhbCA9PiB7XG4gICAgICBjb25zdCB7dmFsdWUwLCBvbkNoYW5nZSA9IG5vb3B9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IGRyID0gdGhpcy5fZ2V0RGlzcGxheVJhbmdlKCk7XG4gICAgICBpZiAoIWRyKSByZXR1cm47XG4gICAgICBjb25zdCB2YWwxID0gTnVtYmVyKHZhbCk7XG4gICAgICBvbkNoYW5nZShbdmFsdWUwLCBjbGFtcChbdmFsdWUwLCBkclsxXV0sIHRoaXMuX3JvdW5kVmFsVG9TdGVwKHZhbDEpKV0pO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfTtcblxuICAgIF9zZXRSYW5nZVZhbDAgPSB2YWwgPT4ge1xuICAgICAgY29uc3Qge3ZhbHVlMSwgb25DaGFuZ2UgPSBub29wfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBkciA9IHRoaXMuX2dldERpc3BsYXlSYW5nZSgpO1xuICAgICAgaWYgKCFkcikgcmV0dXJuO1xuICAgICAgY29uc3QgdmFsMCA9IE51bWJlcih2YWwpO1xuICAgICAgb25DaGFuZ2UoW2NsYW1wKFtkclswXSwgdmFsdWUxXSwgdGhpcy5fcm91bmRWYWxUb1N0ZXAodmFsMCkpLCB2YWx1ZTFdKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH07XG5cbiAgICBfcmVzaXplID0gKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuc2xpZGVyQ29udGFpbmVyKSB7XG4gICAgICAgIGNvbnN0IHdpZHRoID0gdGhpcy5zbGlkZXJDb250YWluZXIub2Zmc2V0V2lkdGg7XG4gICAgICAgIGlmICh3aWR0aCAhPT0gdGhpcy5zdGF0ZS53aWR0aCkge1xuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe3dpZHRofSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX29uQ2hhbmdlSW5wdXQgPSAoa2V5LCBlKSA9PiB7XG4gICAgICB0aGlzLnNldFN0YXRlKHtba2V5XTogZS50YXJnZXQudmFsdWV9KTtcbiAgICB9O1xuXG4gICAgX3JlbmRlcklucHV0KGtleSkge1xuICAgICAgY29uc3Qgc2V0UmFuZ2UgPSBrZXkgPT09ICd2YWx1ZTAnID8gdGhpcy5fc2V0UmFuZ2VWYWwwIDogdGhpcy5fc2V0UmFuZ2VWYWwxO1xuICAgICAgY29uc3QgcmVmID0ga2V5ID09PSAndmFsdWUwJyA/IHRoaXMuaW5wdXRWYWx1ZTAgOiB0aGlzLmlucHV0VmFsdWUxO1xuICAgICAgY29uc3QgdXBkYXRlID0gZSA9PiB7XG4gICAgICAgIGlmICghc2V0UmFuZ2UoZS50YXJnZXQudmFsdWUpKSB7XG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7W2tleV06IHRoaXMuc3RhdGVba2V5XX0pO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICBjb25zdCBvbkNoYW5nZSA9IHRoaXMuX29uQ2hhbmdlSW5wdXQuYmluZCh0aGlzLCBrZXkpO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U2xpZGVySW5wdXRcbiAgICAgICAgICBjbGFzc05hbWU9XCJrZy1yYW5nZS1zbGlkZXJfX2lucHV0XCJcbiAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgICBpZD17YHNsaWRlci1pbnB1dC0ke2tleX1gfVxuICAgICAgICAgIGtleT17a2V5fVxuICAgICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlW2tleV19XG4gICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgIG9uS2V5UHJlc3M9e2UgPT4ge1xuICAgICAgICAgICAgaWYgKGUua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgICAgICAgIHVwZGF0ZShlKTtcbiAgICAgICAgICAgICAgKHJlZi5jdXJyZW50IGFzIGFueSkuYmx1cigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH19XG4gICAgICAgICAgb25CbHVyPXt1cGRhdGV9XG4gICAgICAgICAgJGZsdXNoPXtrZXkgPT09ICd2YWx1ZTAnfVxuICAgICAgICAgICRpbnB1dFNpemU9e3RoaXMucHJvcHMuaW5wdXRTaXplfVxuICAgICAgICAgIHNlY29uZGFyeT17dGhpcy5wcm9wcy5pbnB1dFRoZW1lID09PSAnc2Vjb25kYXJ5J31cbiAgICAgICAgLz5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNvbXBsZXhpdHlcbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7XG4gICAgICAgIGlzUmFuZ2VkLFxuICAgICAgICBzaG93SW5wdXQsXG4gICAgICAgIGJpbnMsXG4gICAgICAgIGxpbmVDaGFydCxcbiAgICAgICAgcGxvdFR5cGUsXG4gICAgICAgIGludmVydFRyZW5kQ29sb3IsXG4gICAgICAgIHJhbmdlLFxuICAgICAgICBvbkNoYW5nZSA9IG5vb3AsXG4gICAgICAgIHNsaWRlckhhbmRsZVdpZHRoLFxuICAgICAgICBzdGVwLFxuICAgICAgICB0aW1lem9uZSxcbiAgICAgICAgdGltZUZvcm1hdCxcbiAgICAgICAgcGxheWJhY2tDb250cm9sV2lkdGgsXG4gICAgICAgIHNldEZpbHRlclBsb3QsXG4gICAgICAgIGFuaW1hdGlvbldpbmRvdyxcbiAgICAgICAgc3ViQW5pbWF0aW9uczogc3ViQW5pbWF0aW9ucyxcbiAgICAgICAgZmlsdGVyLFxuICAgICAgICBkYXRhc2V0cyxcbiAgICAgICAgc2NhbGVDb25maWdcbiAgICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBjb25zdCB7d2lkdGh9ID0gdGhpcy5zdGF0ZTtcbiAgICAgIGNvbnN0IHBsb3RXaWR0aCA9IE1hdGgubWF4KHdpZHRoIC0gTnVtYmVyKHNsaWRlckhhbmRsZVdpZHRoKSwgMCk7XG4gICAgICBjb25zdCBoYXNQbG90ID0gcGxvdFR5cGU/LnR5cGU7XG5cbiAgICAgIGNvbnN0IHtkaXNwbGF5UmFuZ2V9ID0gdGhpcy5fZ2V0RGlzcGxheVJhbmdlSW5mbygpO1xuXG4gICAgICBjb25zdCByYXdWYWx1ZSA9IHRoaXMucHJvcHMucGxvdFZhbHVlIHx8IHRoaXMuZmlsdGVyVmFsdWVTZWxlY3Rvcih0aGlzLnByb3BzKTtcbiAgICAgIGNvbnN0IHZhbHVlID1cbiAgICAgICAgZGlzcGxheVJhbmdlICYmIEFycmF5LmlzQXJyYXkocmF3VmFsdWUpXG4gICAgICAgICAgPyAocmF3VmFsdWUubWFwKHYgPT4gY2xhbXAoW2Rpc3BsYXlSYW5nZVswXSwgZGlzcGxheVJhbmdlWzFdXSwgdikpIGFzIHR5cGVvZiByYXdWYWx1ZSlcbiAgICAgICAgICA6IHJhd1ZhbHVlO1xuICAgICAgY29uc3Qgc2NhbGVkVmFsdWUgPVxuICAgICAgICBzdWJBbmltYXRpb25zPy5sZW5ndGggJiYgcmFuZ2VcbiAgICAgICAgICA/IHNjYWxlU291cmNlRG9tYWluVG9EZXN0aW5hdGlvbih2YWx1ZSBhcyBbbnVtYmVyLCBudW1iZXJdLCByYW5nZSBhcyBbbnVtYmVyLCBudW1iZXJdKVxuICAgICAgICAgIDogWzAsIDBdO1xuICAgICAgY29uc3QgY29tbW9uUGFkZGluZyA9IGAke051bWJlcihzbGlkZXJIYW5kbGVXaWR0aCkgLyAyfXB4YDtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzc05hbWU9XCJrZy1yYW5nZS1zbGlkZXJcIlxuICAgICAgICAgIHN0eWxlPXt7d2lkdGg6ICcxMDAlJywgcGFkZGluZzogYDAgJHtjb21tb25QYWRkaW5nfWB9fVxuICAgICAgICAgIHJlZj17dGhpcy5zZXRTbGlkZXJDb250YWluZXJ9XG4gICAgICAgID5cbiAgICAgICAgICB7QXJyYXkuaXNBcnJheShyYW5nZSkgJiYgcmFuZ2UuZXZlcnkoTnVtYmVyLmlzRmluaXRlKSAmJiAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICB7aGFzUGxvdCA/IChcbiAgICAgICAgICAgICAgICA8UmFuZ2VQbG90XG4gICAgICAgICAgICAgICAgICBiaW5zPXtiaW5zfVxuICAgICAgICAgICAgICAgICAgbGluZUNoYXJ0PXtsaW5lQ2hhcnR9XG4gICAgICAgICAgICAgICAgICBwbG90VHlwZT17cGxvdFR5cGV9XG4gICAgICAgICAgICAgICAgICBpbnZlcnRUcmVuZENvbG9yPXtpbnZlcnRUcmVuZENvbG9yfVxuICAgICAgICAgICAgICAgICAgaXNFbmxhcmdlZD17dGhpcy5wcm9wcy5pc0VubGFyZ2VkfVxuICAgICAgICAgICAgICAgICAgb25CcnVzaD17KHZhbDAsIHZhbDEpID0+IG9uQ2hhbmdlKFt2YWwwLCB2YWwxXSl9XG4gICAgICAgICAgICAgICAgICBtYXJrcz17dGhpcy5wcm9wcy5tYXJrc31cbiAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbldpbmRvdz17YW5pbWF0aW9uV2luZG93fVxuICAgICAgICAgICAgICAgICAgZmlsdGVyPXtmaWx0ZXJ9XG4gICAgICAgICAgICAgICAgICBkYXRhc2V0cz17ZGF0YXNldHN9XG4gICAgICAgICAgICAgICAgICByYW5nZT17ZGlzcGxheVJhbmdlIHx8IHJhbmdlfVxuICAgICAgICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgICAgICAgd2lkdGg9e3Bsb3RXaWR0aH1cbiAgICAgICAgICAgICAgICAgIGlzUmFuZ2VkPXtpc1JhbmdlZH1cbiAgICAgICAgICAgICAgICAgIHN0ZXA9e3N0ZXB9XG4gICAgICAgICAgICAgICAgICB0aW1lem9uZT17dGltZXpvbmV9XG4gICAgICAgICAgICAgICAgICB0aW1lRm9ybWF0PXt0aW1lRm9ybWF0fVxuICAgICAgICAgICAgICAgICAgcGxheWJhY2tDb250cm9sV2lkdGg9e3BsYXliYWNrQ29udHJvbFdpZHRofVxuICAgICAgICAgICAgICAgICAgc2V0RmlsdGVyUGxvdD17c2V0RmlsdGVyUGxvdH1cbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7cGFkZGluZ0xlZnQ6IGNvbW1vblBhZGRpbmd9fVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICB7c3ViQW5pbWF0aW9ucz8ubGVuZ3RoID8gKFxuICAgICAgICAgICAgICAgIDxSYW5nZVNsaWRlclN1YkFuaW1hdGlvblBhbmVsXG4gICAgICAgICAgICAgICAgICBzdWJBbmltYXRpb25zPXtzdWJBbmltYXRpb25zfVxuICAgICAgICAgICAgICAgICAgc2NhbGVkVmFsdWU9e3NjYWxlZFZhbHVlfVxuICAgICAgICAgICAgICAgICAgc3R5bGU9e1JBTkdFX1NMSURFUl9USU1FTElORV9QQU5FTF9TVFlMRX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgPFNsaWRlcldyYXBwZXJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJrZy1yYW5nZS1zbGlkZXJfX3NsaWRlclwiXG4gICAgICAgICAgICAgICAgJGlzUmFuZ2VkPXtpc1JhbmdlZH1cbiAgICAgICAgICAgICAgICAkc2hvd0lucHV0PXtzaG93SW5wdXR9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7dGhpcy5wcm9wcy54QXhpcyA/IChcbiAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3toZWlnaHQ6ICczMHB4J319PlxuICAgICAgICAgICAgICAgICAgICA8dGhpcy5wcm9wcy54QXhpc1xuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPXtwbG90V2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgdGltZXpvbmU9e3RpbWV6b25lfVxuICAgICAgICAgICAgICAgICAgICAgIGRvbWFpbj17ZGlzcGxheVJhbmdlfVxuICAgICAgICAgICAgICAgICAgICAgIGlzRW5sYXJnZWQ9e3RoaXMucHJvcHMuaXNFbmxhcmdlZH1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgIDxTbGlkZXJcbiAgICAgICAgICAgICAgICAgIG1hcmtzPXt0aGlzLnByb3BzLm1hcmtzfVxuICAgICAgICAgICAgICAgICAgaXNSYW5nZWQ9e2lzUmFuZ2VkfVxuICAgICAgICAgICAgICAgICAgbWluVmFsdWU9eyhkaXNwbGF5UmFuZ2UgfHwgcmFuZ2UpWzBdfVxuICAgICAgICAgICAgICAgICAgbWF4VmFsdWU9eyhkaXNwbGF5UmFuZ2UgfHwgcmFuZ2UpWzFdfVxuICAgICAgICAgICAgICAgICAgdmFsdWUwPXt0aGlzLnByb3BzLnZhbHVlMH1cbiAgICAgICAgICAgICAgICAgIHZhbHVlMT17dGhpcy5wcm9wcy52YWx1ZTF9XG4gICAgICAgICAgICAgICAgICBzdGVwPXtzdGVwfVxuICAgICAgICAgICAgICAgICAgc2xpZGVySGFuZGxlV2lkdGg9e3NsaWRlckhhbmRsZVdpZHRofVxuICAgICAgICAgICAgICAgICAgb25TbGlkZXIwQ2hhbmdlPXt0aGlzLl9zZXRSYW5nZVZhbDB9XG4gICAgICAgICAgICAgICAgICBvblNsaWRlcjFDaGFuZ2U9e3RoaXMuX3NldFJhbmdlVmFsMX1cbiAgICAgICAgICAgICAgICAgIG9uU2xpZGVyQmFyQ2hhbmdlPXsodmFsMCwgdmFsMSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZShbdmFsMCwgdmFsMV0pO1xuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIGVuYWJsZUJhckRyYWdcbiAgICAgICAgICAgICAgICAgIHNjYWxlQ29uZmlnPXtzY2FsZUNvbmZpZ31cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIHshaXNSYW5nZWQgJiYgc2hvd0lucHV0ID8gdGhpcy5fcmVuZGVySW5wdXQoJ3ZhbHVlMScpIDogbnVsbH1cbiAgICAgICAgICAgICAgPC9TbGlkZXJXcmFwcGVyPlxuICAgICAgICAgICAgICB7aXNSYW5nZWQgJiYgc2hvd0lucHV0ID8gKFxuICAgICAgICAgICAgICAgIDxSYW5nZUlucHV0V3JhcHBlciBjbGFzc05hbWU9XCJyYW5nZS1zbGlkZXJfX2lucHV0LWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICB7dGhpcy5fcmVuZGVySW5wdXQoJ3ZhbHVlMCcpfVxuICAgICAgICAgICAgICAgICAge3RoaXMuX3JlbmRlcklucHV0KCd2YWx1ZTEnKX1cbiAgICAgICAgICAgICAgICA8L1JhbmdlSW5wdXRXcmFwcGVyPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwb2x5ZmlsbChSYW5nZVNsaWRlcik7XG5cbiAgcmV0dXJuIFJhbmdlU2xpZGVyO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxzQkFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsU0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFLLFVBQUEsR0FBQUQsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFNLE9BQUEsR0FBQUYsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFPLGtCQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSx5QkFBQSxHQUFBSixzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQVMsTUFBQSxHQUFBVCxPQUFBO0FBTTBCLElBQUFVLGVBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFqQjFCO0FB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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { RefObject, TouchEventHandler, MouseEventHandler as ReactMouseEventHandler } from 'react';
|
|
2
2
|
import { StyleRangeSliderType } from './slider';
|
|
3
|
-
|
|
3
|
+
type MouseEventHandlerProps = {
|
|
4
4
|
vertical: boolean;
|
|
5
5
|
valueListener: (distance: number) => void;
|
|
6
6
|
toggleMouseOver: () => void;
|
|
@@ -2,12 +2,12 @@ import React, { Component, RefObject } from 'react';
|
|
|
2
2
|
import MouseEventHandler from './mouse-event';
|
|
3
3
|
import { StyleRangeSliderType } from './slider';
|
|
4
4
|
import { BaseComponentProps } from '../../types';
|
|
5
|
-
export
|
|
5
|
+
export type StyledSliderProps = BaseComponentProps & {
|
|
6
6
|
$active?: boolean;
|
|
7
7
|
$vertical?: boolean;
|
|
8
8
|
};
|
|
9
9
|
declare function nope(): void;
|
|
10
|
-
|
|
10
|
+
type SliderBarHandleProps = {
|
|
11
11
|
width: number;
|
|
12
12
|
v0Left: number;
|
|
13
13
|
sliderBarListener: (distance: number) => void;
|
|
@@ -2,15 +2,15 @@ import React, { Component, RefObject } from 'react';
|
|
|
2
2
|
import MouseEventHandler from './mouse-event';
|
|
3
3
|
import { StyleRangeSliderType } from './slider';
|
|
4
4
|
import { BaseComponentProps } from '../../types';
|
|
5
|
-
export
|
|
5
|
+
export type StyledSliderHandleProps = StyledSliderTooltipProps & {
|
|
6
6
|
$vertical?: boolean;
|
|
7
7
|
$active?: boolean;
|
|
8
8
|
ref: RefObject<Element>;
|
|
9
9
|
};
|
|
10
|
-
export
|
|
10
|
+
export type StyledSliderTooltipProps = BaseComponentProps & {
|
|
11
11
|
$sliderHandleWidth: number;
|
|
12
12
|
};
|
|
13
|
-
|
|
13
|
+
type SliderHandleProps = {
|
|
14
14
|
sliderHandleWidth: number;
|
|
15
15
|
left: string;
|
|
16
16
|
display: boolean;
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import React, { Component, RefObject } from 'react';
|
|
2
|
+
import type { SliderScaleConfig } from '@kepler.gl/utils';
|
|
2
3
|
declare function noop(): void;
|
|
3
4
|
interface StyledRangeSliderProps {
|
|
4
5
|
$vertical?: boolean;
|
|
5
6
|
}
|
|
6
7
|
declare const StyledRangeSlider: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, StyledRangeSliderProps>>;
|
|
7
|
-
export
|
|
8
|
+
export type StyleRangeSliderType = typeof StyledRangeSlider & HTMLDivElement;
|
|
8
9
|
interface SliderWrapperProps {
|
|
9
10
|
$isRanged?: boolean;
|
|
10
11
|
$vertical?: boolean;
|
|
11
12
|
}
|
|
12
13
|
declare const SliderWrapper: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, SliderWrapperProps>>;
|
|
13
|
-
|
|
14
|
+
type SliderProps = {
|
|
14
15
|
title: string;
|
|
15
16
|
isRanged: boolean;
|
|
16
17
|
value0: number;
|
|
@@ -32,6 +33,7 @@ declare type SliderProps = {
|
|
|
32
33
|
disabled: boolean;
|
|
33
34
|
className?: string;
|
|
34
35
|
style?: object;
|
|
36
|
+
scaleConfig?: SliderScaleConfig | null;
|
|
35
37
|
};
|
|
36
38
|
export default class Slider extends Component<SliderProps> {
|
|
37
39
|
props: SliderProps;
|
|
@@ -58,6 +60,8 @@ export default class Slider extends Component<SliderProps> {
|
|
|
58
60
|
constructor(props: SliderProps);
|
|
59
61
|
private setAnchor;
|
|
60
62
|
private getBaseDistance;
|
|
63
|
+
private getValueFromPixelOffset;
|
|
64
|
+
private getPositionFromValue;
|
|
61
65
|
private getDeltaVal;
|
|
62
66
|
private getDeltaX;
|
|
63
67
|
private getValue;
|