@carto/kepler.gl 0.0.73 → 0.0.75-alpha.deckv9.0
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/actions/action-wrapper.js +20 -48
- package/dist/actions/actions.js +10 -19
- package/dist/actions/identity-actions.js +8 -17
- package/dist/actions/index.js +7 -24
- package/dist/actions/map-state-actions.js +10 -19
- package/dist/actions/map-style-actions.js +20 -35
- package/dist/actions/provider-actions.js +26 -42
- package/dist/actions/ui-state-actions.js +42 -70
- package/dist/actions/vis-state-actions.js +102 -162
- package/dist/cloud-providers/index.js +8 -8
- package/dist/cloud-providers/provider.js +55 -94
- package/dist/components/bottom-widget.js +47 -48
- package/dist/components/common/action-panel.js +39 -38
- package/dist/components/common/animation-control/animation-control.js +40 -38
- package/dist/components/common/animation-control/animation-controller.js +47 -70
- package/dist/components/common/animation-control/animation-speed-slider.js +28 -38
- package/dist/components/common/animation-control/floating-time-display.js +56 -67
- package/dist/components/common/animation-control/playback-controls.js +64 -80
- package/dist/components/common/animation-control/speed-control.js +26 -24
- package/dist/components/common/checkbox.js +31 -52
- package/dist/components/common/color-legend.js +40 -72
- package/dist/components/common/data-table/button.js +29 -22
- package/dist/components/common/data-table/canvas.js +21 -10
- package/dist/components/common/data-table/cell-size.js +54 -58
- package/dist/components/common/data-table/grid.js +30 -31
- package/dist/components/common/data-table/index.js +91 -133
- package/dist/components/common/data-table/option-dropdown.js +29 -33
- package/dist/components/common/dataset-label.js +21 -13
- package/dist/components/common/error-boundary.js +25 -30
- package/dist/components/common/field-selector.js +35 -69
- package/dist/components/common/field-token.js +21 -16
- package/dist/components/common/file-uploader/file-drop.js +40 -55
- package/dist/components/common/file-uploader/file-upload-progress.js +32 -30
- package/dist/components/common/file-uploader/file-upload.js +52 -91
- package/dist/components/common/file-uploader/upload-button.js +31 -42
- package/dist/components/common/histogram-plot.js +32 -27
- package/dist/components/common/icons/add.js +27 -27
- package/dist/components/common/icons/anchor_window.js +3 -9
- package/dist/components/common/icons/arrow-down-alt.js +27 -27
- package/dist/components/common/icons/arrow-down-solid .js +27 -27
- package/dist/components/common/icons/arrow-down.js +27 -27
- package/dist/components/common/icons/arrow-left.js +27 -27
- package/dist/components/common/icons/arrow-right.js +27 -27
- package/dist/components/common/icons/arrow-up-alt.js +27 -27
- package/dist/components/common/icons/arrow-up-solid.js +27 -27
- package/dist/components/common/icons/arrow-up.js +27 -27
- package/dist/components/common/icons/base.js +38 -42
- package/dist/components/common/icons/bug.js +27 -27
- package/dist/components/common/icons/cancel.js +27 -27
- package/dist/components/common/icons/checkmark.js +27 -28
- package/dist/components/common/icons/chevron-right.js +27 -27
- package/dist/components/common/icons/clipboard.js +27 -27
- package/dist/components/common/icons/clock.js +27 -27
- package/dist/components/common/icons/close.js +27 -27
- package/dist/components/common/icons/code-alt.js +27 -28
- package/dist/components/common/icons/copy.js +27 -28
- package/dist/components/common/icons/crosshairs.js +27 -28
- package/dist/components/common/icons/cube-3d.js +27 -27
- package/dist/components/common/icons/cursor-click.js +27 -27
- package/dist/components/common/icons/data-table.js +27 -27
- package/dist/components/common/icons/db.js +27 -27
- package/dist/components/common/icons/delete.js +27 -27
- package/dist/components/common/icons/docs.js +27 -27
- package/dist/components/common/icons/drag-n-drop.js +27 -27
- package/dist/components/common/icons/draw-polygon.js +27 -27
- package/dist/components/common/icons/email.js +27 -27
- package/dist/components/common/icons/expand.js +27 -27
- package/dist/components/common/icons/eye-seen.js +27 -27
- package/dist/components/common/icons/eye-unseen.js +27 -27
- package/dist/components/common/icons/file-type.js +23 -16
- package/dist/components/common/icons/file.js +27 -27
- package/dist/components/common/icons/files.js +24 -26
- package/dist/components/common/icons/filter-funnel.js +27 -27
- package/dist/components/common/icons/free-window.js +3 -9
- package/dist/components/common/icons/gear.js +27 -27
- package/dist/components/common/icons/hash.js +27 -27
- package/dist/components/common/icons/histogram.js +24 -25
- package/dist/components/common/icons/index.js +63 -138
- package/dist/components/common/icons/info.js +27 -28
- package/dist/components/common/icons/layers.js +27 -27
- package/dist/components/common/icons/left-arrow.js +27 -28
- package/dist/components/common/icons/legend.js +27 -27
- package/dist/components/common/icons/line-chart.js +27 -27
- package/dist/components/common/icons/login.js +27 -27
- package/dist/components/common/icons/logout.js +27 -27
- package/dist/components/common/icons/map-icon.js +27 -28
- package/dist/components/common/icons/map.js +27 -28
- package/dist/components/common/icons/messages.js +27 -27
- package/dist/components/common/icons/minus.js +27 -27
- package/dist/components/common/icons/pause.js +27 -27
- package/dist/components/common/icons/picture.js +24 -26
- package/dist/components/common/icons/pin.js +27 -27
- package/dist/components/common/icons/play.js +27 -27
- package/dist/components/common/icons/polygon.js +27 -27
- package/dist/components/common/icons/rectangle.js +27 -27
- package/dist/components/common/icons/reduce.js +27 -27
- package/dist/components/common/icons/reset.js +27 -27
- package/dist/components/common/icons/rocket.js +27 -27
- package/dist/components/common/icons/save.js +27 -27
- package/dist/components/common/icons/save2.js +27 -27
- package/dist/components/common/icons/search.js +27 -27
- package/dist/components/common/icons/settings.js +27 -27
- package/dist/components/common/icons/share.js +27 -27
- package/dist/components/common/icons/split.js +27 -27
- package/dist/components/common/icons/square-select.js +27 -27
- package/dist/components/common/icons/swap-horizontal.js +27 -28
- package/dist/components/common/icons/table.js +27 -27
- package/dist/components/common/icons/trash.js +27 -27
- package/dist/components/common/icons/upload.js +27 -27
- package/dist/components/common/icons/vert-dots.js +27 -27
- package/dist/components/common/icons/vert-three-dots.js +27 -27
- package/dist/components/common/icons/warning.js +27 -28
- package/dist/components/common/image-preview.js +36 -29
- package/dist/components/common/info-helper.js +26 -25
- package/dist/components/common/item-selector/accessor.js +3 -5
- package/dist/components/common/item-selector/chickleted-input.js +41 -43
- package/dist/components/common/item-selector/dropdown-list.js +44 -74
- package/dist/components/common/item-selector/item-selector-submenu.js +29 -38
- package/dist/components/common/item-selector/item-selector.js +36 -84
- package/dist/components/common/item-selector/typeahead.js +37 -83
- package/dist/components/common/line-chart.js +39 -36
- package/dist/components/common/loading-spinner.js +33 -25
- package/dist/components/common/logo.js +24 -22
- package/dist/components/common/map-layer-selector.js +23 -16
- package/dist/components/common/modal.js +36 -61
- package/dist/components/common/portaled.js +56 -97
- package/dist/components/common/progress-bar.js +29 -20
- package/dist/components/common/range-brush.js +63 -104
- package/dist/components/common/range-plot.js +47 -52
- package/dist/components/common/range-slider.js +52 -78
- package/dist/components/common/slider/mouse-event.js +11 -37
- package/dist/components/common/slider/slider-bar-handle.js +31 -39
- package/dist/components/common/slider/slider-handle.js +35 -44
- package/dist/components/common/slider/slider.js +55 -82
- package/dist/components/common/styled-components.js +64 -169
- package/dist/components/common/switch.js +22 -16
- package/dist/components/common/time-range-slider-time-title.js +24 -19
- package/dist/components/common/time-range-slider.js +41 -38
- package/dist/components/common/time-slider-marker.js +36 -41
- package/dist/components/common/toolbar-item.js +22 -16
- package/dist/components/common/toolbar.js +21 -10
- package/dist/components/common/vertical-toolbar.js +21 -10
- package/dist/components/container.js +49 -70
- package/dist/components/context.js +6 -10
- package/dist/components/editor/constants.js +6 -8
- package/dist/components/editor/editor.js +40 -72
- package/dist/components/editor/feature-action-panel.js +35 -43
- package/dist/components/editor/feature-styles.js +35 -40
- package/dist/components/editor/handle-style.js +35 -37
- package/dist/components/filters/components.js +21 -10
- package/dist/components/filters/filter-panels/filter-panel-with-field-select.js +14 -25
- package/dist/components/filters/filter-panels/multi-select-filter-panel.js +14 -21
- package/dist/components/filters/filter-panels/new-filter-panel.js +13 -23
- package/dist/components/filters/filter-panels/polygon-filter-panel.js +13 -25
- package/dist/components/filters/filter-panels/range-filter-panel.js +14 -21
- package/dist/components/filters/filter-panels/single-select-filter-panel.js +14 -21
- package/dist/components/filters/filter-panels/time-range-filter-panel.js +14 -23
- package/dist/components/filters/index.js +11 -17
- package/dist/components/filters/multi-select-filter.js +3 -9
- package/dist/components/filters/polygon-filter.js +8 -18
- package/dist/components/filters/range-filter.js +3 -8
- package/dist/components/filters/single-select-filter.js +3 -9
- package/dist/components/filters/time-range-filter.js +7 -18
- package/dist/components/filters/time-widget.js +41 -51
- package/dist/components/geocoder/geocoder.js +95 -128
- package/dist/components/geocoder-panel.js +37 -62
- package/dist/components/index.js +356 -498
- package/dist/components/injector.js +42 -58
- package/dist/components/kepler-gl.js +65 -158
- package/dist/components/map/coordinate-info.js +4 -13
- package/dist/components/map/layer-hover-info.js +40 -48
- package/dist/components/map/layer-selector-panel.js +17 -30
- package/dist/components/map/locale-panel.js +13 -27
- package/dist/components/map/map-control-panel.js +27 -24
- package/dist/components/map/map-control-toolbar.js +21 -11
- package/dist/components/map/map-control-tooltip.js +4 -11
- package/dist/components/map/map-control.js +26 -27
- package/dist/components/map/map-draw-panel.js +12 -29
- package/dist/components/map/map-legend-panel.js +17 -34
- package/dist/components/map/map-legend.js +52 -70
- package/dist/components/map/map-popover.js +41 -57
- package/dist/components/map/split-map-button.js +13 -25
- package/dist/components/map/toggle-3d-button.js +10 -21
- package/dist/components/map-container.js +98 -145
- package/dist/components/maps-layout.js +24 -26
- package/dist/components/modal-container.js +60 -112
- package/dist/components/modals/add-map-style-modal.js +37 -67
- package/dist/components/modals/cloud-tile.js +36 -36
- package/dist/components/modals/data-table-modal.js +51 -81
- package/dist/components/modals/delete-data-modal.js +24 -20
- package/dist/components/modals/error-display.js +3 -10
- package/dist/components/modals/export-data-modal.js +37 -54
- package/dist/components/modals/export-image-modal.js +31 -28
- package/dist/components/modals/export-map-modal/components.js +27 -27
- package/dist/components/modals/export-map-modal/export-html-map.js +27 -27
- package/dist/components/modals/export-map-modal/export-json-map.js +22 -22
- package/dist/components/modals/export-map-modal/export-map-modal.js +20 -40
- package/dist/components/modals/image-modal-container.js +9 -16
- package/dist/components/modals/load-data-modal.js +29 -33
- package/dist/components/modals/load-storage-map.js +42 -77
- package/dist/components/modals/loading-dialog.js +24 -18
- package/dist/components/modals/modal-dialog.js +3 -7
- package/dist/components/modals/modal-tabs.js +29 -29
- package/dist/components/modals/overwrite-map-modal.js +29 -28
- package/dist/components/modals/provider-modal-container.js +27 -27
- package/dist/components/modals/save-map-modal.js +43 -48
- package/dist/components/modals/share-map-modal.js +42 -53
- package/dist/components/modals/status-panel.js +24 -25
- package/dist/components/modals/storage-map-viewer.js +30 -43
- package/dist/components/notification-panel/notification-item.js +33 -47
- package/dist/components/notification-panel.js +30 -36
- package/dist/components/performance.js +11 -36
- package/dist/components/plot-container.js +42 -72
- package/dist/components/side-panel/cloud-storage-dropdown.js +4 -10
- package/dist/components/side-panel/common/dataset-info.js +20 -13
- package/dist/components/side-panel/common/dataset-tag.js +21 -12
- package/dist/components/side-panel/common/dataset-title.js +37 -52
- package/dist/components/side-panel/common/source-data-catalog.js +26 -22
- package/dist/components/side-panel/common/source-data-selector.js +34 -40
- package/dist/components/side-panel/custom-panel.js +5 -9
- package/dist/components/side-panel/filter-manager.js +18 -29
- package/dist/components/side-panel/filter-panel/filter-panel-header.js +30 -30
- package/dist/components/side-panel/filter-panel/filter-panel.js +36 -55
- package/dist/components/side-panel/interaction-manager.js +5 -12
- package/dist/components/side-panel/interaction-panel/brush-config.js +23 -19
- package/dist/components/side-panel/interaction-panel/interaction-panel.js +36 -59
- package/dist/components/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +34 -74
- package/dist/components/side-panel/interaction-panel/tooltip-config.js +28 -40
- package/dist/components/side-panel/layer-manager.js +51 -82
- package/dist/components/side-panel/layer-panel/color-dimension-scale-selector.js +3 -10
- package/dist/components/side-panel/layer-panel/color-palette.js +27 -23
- package/dist/components/side-panel/layer-panel/color-range-selector.js +52 -98
- package/dist/components/side-panel/layer-panel/color-selector.js +36 -67
- package/dist/components/side-panel/layer-panel/column-selector.js +26 -25
- package/dist/components/side-panel/layer-panel/custom-markers-config-group.js +2 -6
- package/dist/components/side-panel/layer-panel/custom-palette.js +37 -71
- package/dist/components/side-panel/layer-panel/custom-picker.js +32 -45
- package/dist/components/side-panel/layer-panel/dimension-scale-selector.js +8 -16
- package/dist/components/side-panel/layer-panel/hex-column-config.js +12 -34
- package/dist/components/side-panel/layer-panel/layer-aggregation-resolution.js +2 -10
- package/dist/components/side-panel/layer-panel/layer-column-config.js +31 -27
- package/dist/components/side-panel/layer-panel/layer-config-group.js +46 -80
- package/dist/components/side-panel/layer-panel/layer-configurator.js +162 -250
- package/dist/components/side-panel/layer-panel/layer-panel-header.js +52 -66
- package/dist/components/side-panel/layer-panel/layer-panel.js +33 -54
- package/dist/components/side-panel/layer-panel/layer-type-dropdown-list.js +28 -22
- package/dist/components/side-panel/layer-panel/layer-type-list-item.js +22 -18
- package/dist/components/side-panel/layer-panel/layer-type-selector.js +29 -32
- package/dist/components/side-panel/layer-panel/layer-visibility-by-zoom.js +35 -40
- package/dist/components/side-panel/layer-panel/single-color-palette.js +32 -42
- package/dist/components/side-panel/layer-panel/text-label-panel.js +31 -42
- package/dist/components/side-panel/layer-panel/vis-config-by-field-selector.js +39 -52
- package/dist/components/side-panel/layer-panel/vis-config-slider.js +10 -19
- package/dist/components/side-panel/layer-panel/vis-config-switch.js +28 -29
- package/dist/components/side-panel/map-manager.js +32 -46
- package/dist/components/side-panel/map-style-panel/map-layer-selector.js +28 -31
- package/dist/components/side-panel/map-style-panel/map-style-selector.js +26 -24
- package/dist/components/side-panel/panel-dropdown.js +28 -35
- package/dist/components/side-panel/panel-header-action.js +38 -43
- package/dist/components/side-panel/panel-header.js +54 -92
- package/dist/components/side-panel/panel-tab.js +24 -20
- package/dist/components/side-panel/panel-title.js +21 -10
- package/dist/components/side-panel/panel-toggle.js +26 -23
- package/dist/components/side-panel/side-bar.js +37 -53
- package/dist/components/side-panel.js +56 -65
- package/dist/connect/keplergl-connect.js +5 -14
- package/dist/connect/with-local-selector.js +33 -38
- package/dist/constants/action-types.js +5 -6
- package/dist/constants/color-palette.js +12 -23
- package/dist/constants/color-ranges.js +32 -31
- package/dist/constants/custom-color-ranges.js +9 -14
- package/dist/constants/default-settings.js +154 -239
- package/dist/constants/index.js +95 -103
- package/dist/constants/keyevent.js +3 -7
- package/dist/constants/tooltip.js +7 -10
- package/dist/constants/user-feedbacks.js +5 -6
- package/dist/constants/user-guides.js +12 -20
- package/dist/deckgl-layers/3d-building-layer/3d-building-layer.js +29 -32
- package/dist/deckgl-layers/3d-building-layer/3d-building-utils.js +10 -43
- package/dist/deckgl-layers/cluster-layer/cluster-layer.js +54 -75
- package/dist/deckgl-layers/column-layer/enhanced-column-layer.js +29 -32
- package/dist/deckgl-layers/grid-layer/enhanced-cpu-grid-layer.js +29 -30
- package/dist/deckgl-layers/hexagon-layer/enhanced-hexagon-layer.js +29 -30
- package/dist/deckgl-layers/layer-utils/cluster-utils.js +10 -21
- package/dist/deckgl-layers/layer-utils/cpu-aggregator.js +75 -132
- package/dist/deckgl-layers/layer-utils/shader-utils.js +1 -5
- package/dist/deckgl-layers/line-layer/line-layer.js +27 -34
- package/dist/deckgl-layers/svg-icon-layer/scatterplot-icon-layer.js +26 -30
- package/dist/deckgl-layers/svg-icon-layer/svg-icon-layer.js +33 -39
- package/dist/index.js +4 -23
- package/dist/layers/aggregation-layer.js +63 -97
- package/dist/layers/arc-layer/arc-layer-icon.js +27 -27
- package/dist/layers/arc-layer/arc-layer.js +48 -73
- package/dist/layers/base-layer.js +257 -406
- package/dist/layers/cluster-layer/cluster-layer-icon.js +27 -27
- package/dist/layers/cluster-layer/cluster-layer.js +33 -44
- package/dist/layers/default-layer-icon.js +27 -27
- package/dist/layers/geojson-layer/geojson-layer-icon.js +27 -27
- package/dist/layers/geojson-layer/geojson-layer.js +54 -87
- package/dist/layers/geojson-layer/geojson-utils.js +35 -47
- package/dist/layers/grid-layer/grid-layer-icon.js +27 -27
- package/dist/layers/grid-layer/grid-layer.js +30 -41
- package/dist/layers/grid-layer/grid-utils.js +6 -9
- package/dist/layers/h3-hexagon-layer/h3-hexagon-layer-icon.js +27 -27
- package/dist/layers/h3-hexagon-layer/h3-hexagon-layer.js +48 -80
- package/dist/layers/h3-hexagon-layer/h3-utils.js +10 -21
- package/dist/layers/heatmap-layer/heatmap-layer-icon.js +27 -27
- package/dist/layers/heatmap-layer/heatmap-layer.js +45 -72
- package/dist/layers/hexagon-layer/hexagon-layer-icon.js +27 -27
- package/dist/layers/hexagon-layer/hexagon-layer.js +30 -42
- package/dist/layers/hexagon-layer/hexagon-utils.js +3 -15
- package/dist/layers/icon-layer/icon-info-modal.js +23 -26
- package/dist/layers/icon-layer/icon-layer-icon.js +27 -27
- package/dist/layers/icon-layer/icon-layer.js +59 -97
- package/dist/layers/index.js +38 -39
- package/dist/layers/layer-factory.js +38 -42
- package/dist/layers/layer-text-label.js +7 -17
- package/dist/layers/layer-update.js +3 -14
- package/dist/layers/line-layer/line-layer-icon.js +27 -27
- package/dist/layers/line-layer/line-layer.js +46 -66
- package/dist/layers/mapbox-utils.js +38 -51
- package/dist/layers/mapboxgl-layer.js +43 -58
- package/dist/layers/point-layer/point-layer-icon.js +27 -27
- package/dist/layers/point-layer/point-layer.js +57 -90
- package/dist/layers/s2-geometry-layer/s2-geometry-layer.js +41 -73
- package/dist/layers/s2-geometry-layer/s2-layer-icon.js +27 -27
- package/dist/layers/s2-geometry-layer/s2-utils.js +5 -11
- package/dist/layers/scenegraph-layer/scenegraph-info-modal.js +21 -15
- package/dist/layers/scenegraph-layer/scenegraph-layer-icon.js +27 -27
- package/dist/layers/scenegraph-layer/scenegraph-layer.js +52 -75
- package/dist/layers/trip-layer/trip-info-modal.js +21 -16
- package/dist/layers/trip-layer/trip-layer-icon.js +27 -27
- package/dist/layers/trip-layer/trip-layer.js +51 -93
- package/dist/layers/trip-layer/trip-utils.js +16 -39
- package/dist/layers/types.js +3 -6
- package/dist/localization/en.js +22 -11
- package/dist/localization/formatted-message.js +5 -10
- package/dist/localization/index.js +7 -13
- package/dist/localization/locales.js +7 -12
- package/dist/middleware/index.js +2 -5
- package/dist/processors/data-processor.js +113 -177
- package/dist/processors/file-handler.js +200 -276
- package/dist/processors/index.js +33 -35
- package/dist/reducers/combined-updaters.js +35 -46
- package/dist/reducers/composer-helpers.js +28 -27
- package/dist/reducers/composers.js +25 -12
- package/dist/reducers/core.js +13 -46
- package/dist/reducers/index.js +24 -38
- package/dist/reducers/map-state-updaters.js +53 -65
- package/dist/reducers/map-state.js +31 -26
- package/dist/reducers/map-style-updaters.js +92 -136
- package/dist/reducers/map-style.js +31 -26
- package/dist/reducers/provider-state-updaters.js +92 -167
- package/dist/reducers/provider-state.js +32 -25
- package/dist/reducers/root.js +44 -50
- package/dist/reducers/ui-state-updaters.js +102 -202
- package/dist/reducers/ui-state.js +32 -26
- package/dist/reducers/vis-state-merger.js +102 -166
- package/dist/reducers/vis-state-selectors.js +5 -10
- package/dist/reducers/vis-state-updaters.js +386 -663
- package/dist/reducers/vis-state.js +32 -25
- package/dist/schemas/dataset-schema.js +36 -56
- package/dist/schemas/index.js +38 -45
- package/dist/schemas/map-state-schema.js +28 -24
- package/dist/schemas/map-style-schema.js +34 -48
- package/dist/schemas/schema-manager.js +44 -62
- package/dist/schemas/schema-utils.js +11 -15
- package/dist/schemas/schema.js +32 -27
- package/dist/schemas/versions.js +5 -9
- package/dist/schemas/vis-state-schema.js +109 -309
- package/dist/styles/base.js +367 -640
- package/dist/styles/index.js +1 -5
- package/dist/styles/media-breakpoints.js +21 -9
- package/dist/tasks/tasks.js +22 -50
- package/dist/templates/export-map-html.js +3 -6
- package/dist/utils/aggregate-utils.js +23 -27
- package/dist/utils/color-utils.js +36 -38
- package/dist/utils/custom-scales.js +1 -7
- package/dist/utils/data-scale-utils.js +11 -20
- package/dist/utils/data-utils.js +78 -137
- package/dist/utils/dataset-utils.js +71 -88
- package/dist/utils/dom-to-image.js +15 -93
- package/dist/utils/dom-utils.js +34 -116
- package/dist/utils/export-utils.js +65 -102
- package/dist/utils/filter-utils.js +170 -320
- package/dist/utils/gl-utils.js +39 -23
- package/dist/utils/gpu-filter-utils.js +46 -59
- package/dist/utils/index.js +68 -80
- package/dist/utils/interaction-utils.js +26 -50
- package/dist/utils/layer-utils.js +58 -63
- package/dist/utils/locale-utils.js +23 -21
- package/dist/utils/map-info-utils.js +2 -3
- package/dist/utils/map-style-utils/mapbox-gl-style-editor.js +72 -71
- package/dist/utils/map-style-utils/mapbox-utils.js +3 -5
- package/dist/utils/mapbox-utils.js +2 -5
- package/dist/utils/notifications-utils.js +36 -35
- package/dist/utils/observe-dimensions.js +36 -41
- package/dist/utils/projection-utils.js +9 -20
- package/dist/utils/searcher-utils.js +1 -4
- package/dist/utils/split-map-utils.js +36 -32
- package/dist/utils/table-utils/data-container-utils.js +27 -23
- package/dist/utils/table-utils/data-row.js +2 -13
- package/dist/utils/table-utils/index.js +1 -2
- package/dist/utils/table-utils/indexed-data-container.js +65 -84
- package/dist/utils/table-utils/kepler-table.js +83 -126
- package/dist/utils/table-utils/row-data-container.js +62 -87
- package/dist/utils/utils.js +51 -69
- package/package.json +4 -3
- package/src/components/kepler-gl.d.ts +0 -1
- package/src/components/kepler-gl.js +0 -7
- package/src/components/map-container.js +0 -3
- package/src/components/modal-container.d.ts +0 -1
- package/src/components/modal-container.js +0 -2
- package/src/components/modals/add-map-style-modal.js +0 -3
- package/src/components/side-panel/layer-panel/layer-configurator.js +11 -9
- package/src/layers/base-layer.js +1 -1
- package/src/utils/gl-utils.js +16 -15
- package/CHANGELOG.md +0 -948
|
@@ -1,88 +1,78 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
-
|
|
5
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
|
-
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
|
-
exports["default"] =
|
|
11
|
-
|
|
8
|
+
exports.getChildPos = exports["default"] = void 0;
|
|
12
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
-
|
|
14
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
|
-
|
|
16
11
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
|
-
|
|
18
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
19
|
-
|
|
20
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
21
|
-
|
|
22
12
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
23
|
-
|
|
24
13
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
25
|
-
|
|
14
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
26
16
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
27
|
-
|
|
28
17
|
var _react = _interopRequireWildcard(require("react"));
|
|
29
|
-
|
|
30
18
|
var _lodash = _interopRequireDefault(require("lodash.debounce"));
|
|
31
|
-
|
|
32
19
|
var _lodash2 = _interopRequireDefault(require("lodash.isequal"));
|
|
33
|
-
|
|
34
20
|
var _exenv = require("exenv");
|
|
35
|
-
|
|
36
21
|
var _styledComponents = require("styled-components");
|
|
37
|
-
|
|
38
22
|
var _context = require("../context");
|
|
39
|
-
|
|
40
23
|
var _reactModal = _interopRequireDefault(require("react-modal"));
|
|
41
|
-
|
|
42
24
|
var _window = _interopRequireDefault(require("global/window"));
|
|
43
|
-
|
|
44
25
|
var _base = require("../../styles/base");
|
|
45
|
-
|
|
46
|
-
function
|
|
47
|
-
|
|
48
|
-
function _isNativeReflectConstruct() {
|
|
49
|
-
|
|
50
|
-
function
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
26
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
27
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
28
|
+
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
29
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
30
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
31
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } // Copyright (c) 2022 Uber Technologies, Inc.
|
|
32
|
+
//
|
|
33
|
+
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
34
|
+
// of this software and associated documentation files (the "Software"), to deal
|
|
35
|
+
// in the Software without restriction, including without limitation the rights
|
|
36
|
+
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
37
|
+
// copies of the Software, and to permit persons to whom the Software is
|
|
38
|
+
// furnished to do so, subject to the following conditions:
|
|
39
|
+
//
|
|
40
|
+
// The above copyright notice and this permission notice shall be included in
|
|
41
|
+
// all copies or substantial portions of the Software.
|
|
42
|
+
//
|
|
43
|
+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
44
|
+
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
45
|
+
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
46
|
+
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
47
|
+
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
48
|
+
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
49
|
+
// THE SOFTWARE.
|
|
54
50
|
var listeners = {};
|
|
55
|
-
|
|
56
51
|
var startListening = function startListening() {
|
|
57
52
|
return Object.keys(listeners).forEach(function (key) {
|
|
58
53
|
return listeners[key]();
|
|
59
54
|
});
|
|
60
55
|
};
|
|
61
|
-
|
|
62
56
|
var getPageOffset = function getPageOffset() {
|
|
63
57
|
return {
|
|
64
58
|
x: _window["default"].pageXOffset !== undefined ? _window["default"].pageXOffset : (document.documentElement || document.body.parentNode || document.body).scrollLeft,
|
|
65
59
|
y: _window["default"].pageYOffset !== undefined ? _window["default"].pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop
|
|
66
60
|
};
|
|
67
61
|
};
|
|
68
|
-
|
|
69
62
|
var addEventListeners = function addEventListeners() {
|
|
70
63
|
if (document && document.body) document.body.addEventListener('mousewheel', (0, _lodash["default"])(startListening, 100, true));
|
|
71
|
-
|
|
72
64
|
_window["default"].addEventListener('resize', (0, _lodash["default"])(startListening, 50, true));
|
|
73
65
|
};
|
|
74
|
-
|
|
75
|
-
var getChildPos = function getChildPos(_ref) {
|
|
66
|
+
var getChildPos = exports.getChildPos = function getChildPos(_ref) {
|
|
76
67
|
var offsets = _ref.offsets,
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
68
|
+
rect = _ref.rect,
|
|
69
|
+
childRect = _ref.childRect,
|
|
70
|
+
pageOffset = _ref.pageOffset,
|
|
71
|
+
padding = _ref.padding;
|
|
81
72
|
var topOffset = offsets.topOffset,
|
|
82
|
-
|
|
83
|
-
|
|
73
|
+
leftOffset = offsets.leftOffset,
|
|
74
|
+
rightOffset = offsets.rightOffset;
|
|
84
75
|
var anchorLeft = leftOffset !== undefined;
|
|
85
|
-
|
|
86
76
|
var pos = _objectSpread({
|
|
87
77
|
top: pageOffset.y + rect.top + (topOffset || 0)
|
|
88
78
|
}, anchorLeft ? {
|
|
@@ -90,26 +80,19 @@ var getChildPos = function getChildPos(_ref) {
|
|
|
90
80
|
} : {
|
|
91
81
|
right: _window["default"].innerWidth - rect.right - pageOffset.x + (rightOffset || 0)
|
|
92
82
|
});
|
|
93
|
-
|
|
94
83
|
var leftOrRight = anchorLeft ? 'left' : 'right';
|
|
95
|
-
|
|
96
84
|
if (pos[leftOrRight] && pos[leftOrRight] < 0) {
|
|
97
85
|
pos[leftOrRight] = padding;
|
|
98
86
|
} else if (pos[leftOrRight] && pos[leftOrRight] + childRect.width > _window["default"].innerWidth) {
|
|
99
87
|
pos[leftOrRight] = _window["default"].innerWidth - childRect.width - padding;
|
|
100
88
|
}
|
|
101
|
-
|
|
102
89
|
if (pos.top < 0) {
|
|
103
90
|
pos.top = padding;
|
|
104
91
|
} else if (pos.top + childRect.height > _window["default"].innerHeight) {
|
|
105
92
|
pos.top = _window["default"].innerHeight - childRect.height - padding;
|
|
106
93
|
}
|
|
107
|
-
|
|
108
94
|
return pos;
|
|
109
95
|
};
|
|
110
|
-
|
|
111
|
-
exports.getChildPos = getChildPos;
|
|
112
|
-
|
|
113
96
|
if (_exenv.canUseDOM) {
|
|
114
97
|
if (document.body) {
|
|
115
98
|
addEventListeners();
|
|
@@ -117,9 +100,7 @@ if (_exenv.canUseDOM) {
|
|
|
117
100
|
document.addEventListener('DOMContentLoaded', addEventListeners);
|
|
118
101
|
}
|
|
119
102
|
}
|
|
120
|
-
|
|
121
103
|
var listenerIdCounter = 0;
|
|
122
|
-
|
|
123
104
|
function subscribe(fn) {
|
|
124
105
|
listenerIdCounter += 1;
|
|
125
106
|
var id = listenerIdCounter;
|
|
@@ -128,7 +109,6 @@ function subscribe(fn) {
|
|
|
128
109
|
return delete listeners[id];
|
|
129
110
|
};
|
|
130
111
|
}
|
|
131
|
-
|
|
132
112
|
var defaultModalStyle = {
|
|
133
113
|
content: {
|
|
134
114
|
top: 0,
|
|
@@ -147,41 +127,32 @@ var defaultModalStyle = {
|
|
|
147
127
|
}
|
|
148
128
|
};
|
|
149
129
|
var WINDOW_PAD = 20;
|
|
150
|
-
|
|
151
130
|
var noop = function noop() {};
|
|
152
|
-
|
|
153
131
|
var Portaled = /*#__PURE__*/function (_Component) {
|
|
154
132
|
(0, _inherits2["default"])(Portaled, _Component);
|
|
155
|
-
|
|
156
|
-
var _super = _createSuper(Portaled);
|
|
157
|
-
|
|
158
133
|
function Portaled() {
|
|
159
134
|
var _this;
|
|
160
|
-
|
|
161
135
|
(0, _classCallCheck2["default"])(this, Portaled);
|
|
162
|
-
|
|
163
136
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
164
137
|
args[_key] = arguments[_key];
|
|
165
138
|
}
|
|
166
|
-
|
|
167
|
-
_this = _super.call.apply(_super, [this].concat(args));
|
|
139
|
+
_this = _callSuper(this, Portaled, [].concat(args));
|
|
168
140
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
|
|
169
141
|
pos: null,
|
|
170
142
|
isVisible: false
|
|
171
143
|
});
|
|
172
144
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "element", /*#__PURE__*/(0, _react.createRef)());
|
|
173
145
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "child", /*#__PURE__*/(0, _react.createRef)());
|
|
146
|
+
// eslint-disable-next-line complexity
|
|
174
147
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleScroll", function () {
|
|
175
148
|
if (_this.child.current) {
|
|
176
149
|
var rect = _this.element.current.getBoundingClientRect();
|
|
177
|
-
|
|
178
150
|
var childRect = _this.child.current && _this.child.current.getBoundingClientRect();
|
|
179
|
-
|
|
180
151
|
var pageOffset = getPageOffset();
|
|
181
152
|
var _this$props = _this.props,
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
153
|
+
topOffset = _this$props.top,
|
|
154
|
+
leftOffset = _this$props.left,
|
|
155
|
+
rightOffset = _this$props.right;
|
|
185
156
|
var pos = getChildPos({
|
|
186
157
|
offsets: {
|
|
187
158
|
topOffset: topOffset,
|
|
@@ -193,7 +164,6 @@ var Portaled = /*#__PURE__*/function (_Component) {
|
|
|
193
164
|
pageOffset: pageOffset,
|
|
194
165
|
padding: WINDOW_PAD
|
|
195
166
|
});
|
|
196
|
-
|
|
197
167
|
if (!(0, _lodash2["default"])(pos, _this.state.pos)) {
|
|
198
168
|
_this.setState({
|
|
199
169
|
pos: pos
|
|
@@ -203,7 +173,6 @@ var Portaled = /*#__PURE__*/function (_Component) {
|
|
|
203
173
|
});
|
|
204
174
|
return _this;
|
|
205
175
|
}
|
|
206
|
-
|
|
207
176
|
(0, _createClass2["default"])(Portaled, [{
|
|
208
177
|
key: "componentDidMount",
|
|
209
178
|
value: function componentDidMount() {
|
|
@@ -215,47 +184,41 @@ var Portaled = /*#__PURE__*/function (_Component) {
|
|
|
215
184
|
key: "componentDidUpdate",
|
|
216
185
|
value: function componentDidUpdate(prevProps) {
|
|
217
186
|
var _this2 = this;
|
|
218
|
-
|
|
219
187
|
var didOpen = this.props.isOpened && !prevProps.isOpened;
|
|
220
188
|
var didClose = !this.props.isOpened && prevProps.isOpened;
|
|
221
|
-
|
|
222
189
|
if (didOpen || didClose) {
|
|
223
190
|
_window["default"].requestAnimationFrame(function () {
|
|
224
191
|
if (_this2._unmounted) return;
|
|
225
|
-
|
|
226
192
|
_this2.setState({
|
|
227
193
|
isVisible: didOpen
|
|
228
194
|
});
|
|
229
195
|
});
|
|
230
196
|
}
|
|
231
|
-
|
|
232
197
|
this.handleScroll();
|
|
233
198
|
}
|
|
234
199
|
}, {
|
|
235
200
|
key: "componentWillUnmount",
|
|
236
201
|
value: function componentWillUnmount() {
|
|
237
|
-
this._unmounted = true;
|
|
238
|
-
|
|
202
|
+
this._unmounted = true;
|
|
203
|
+
// @ts-ignore
|
|
239
204
|
this.unsubscribe();
|
|
240
205
|
}
|
|
241
206
|
}, {
|
|
242
207
|
key: "render",
|
|
243
208
|
value: function render() {
|
|
244
209
|
var _this3 = this;
|
|
245
|
-
|
|
246
210
|
var _this$props2 = this.props,
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
211
|
+
Comp = _this$props2.component,
|
|
212
|
+
overlayZIndex = _this$props2.overlayZIndex,
|
|
213
|
+
isOpened = _this$props2.isOpened,
|
|
214
|
+
onClose = _this$props2.onClose,
|
|
215
|
+
children = _this$props2.children,
|
|
216
|
+
modalProps = _this$props2.modalProps,
|
|
217
|
+
_this$props2$modalSty = _this$props2.modalStyle,
|
|
218
|
+
modalStyle = _this$props2$modalSty === void 0 ? {} : _this$props2$modalSty;
|
|
255
219
|
var _this$state = this.state,
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
220
|
+
isVisible = _this$state.isVisible,
|
|
221
|
+
pos = _this$state.pos;
|
|
259
222
|
var newModalStyle = _objectSpread(_objectSpread({}, defaultModalStyle), {}, {
|
|
260
223
|
content: _objectSpread({}, modalStyle.content || {}),
|
|
261
224
|
overlay: _objectSpread(_objectSpread(_objectSpread({}, defaultModalStyle.overlay), modalStyle.overlay || {}), {}, {
|
|
@@ -263,7 +226,6 @@ var Portaled = /*#__PURE__*/function (_Component) {
|
|
|
263
226
|
zIndex: overlayZIndex || 9999
|
|
264
227
|
})
|
|
265
228
|
});
|
|
266
|
-
|
|
267
229
|
return /*#__PURE__*/_react["default"].createElement(_context.RootContext.Consumer, null, function (context) {
|
|
268
230
|
return /*#__PURE__*/_react["default"].createElement(Comp, {
|
|
269
231
|
ref: _this3.element
|
|
@@ -276,7 +238,8 @@ var Portaled = /*#__PURE__*/function (_Component) {
|
|
|
276
238
|
parentSelector: function parentSelector() {
|
|
277
239
|
// React modal issue: https://github.com/reactjs/react-modal/issues/769
|
|
278
240
|
// failed to execute removeChild on parent node when it is already unmounted
|
|
279
|
-
return (
|
|
241
|
+
return (
|
|
242
|
+
// @ts-ignore
|
|
280
243
|
context && context.current || {
|
|
281
244
|
removeChild: function removeChild() {},
|
|
282
245
|
appendChild: function appendChild() {}
|
|
@@ -304,14 +267,10 @@ var Portaled = /*#__PURE__*/function (_Component) {
|
|
|
304
267
|
}]);
|
|
305
268
|
return Portaled;
|
|
306
269
|
}(_react.Component);
|
|
307
|
-
|
|
308
270
|
(0, _defineProperty2["default"])(Portaled, "defaultProps", {
|
|
309
271
|
component: 'div',
|
|
310
272
|
onClose: noop,
|
|
311
273
|
theme: _base.theme
|
|
312
274
|
});
|
|
313
|
-
|
|
314
|
-
var _default = (0, _styledComponents.withTheme)(Portaled);
|
|
315
|
-
|
|
316
|
-
exports["default"] = _default;
|
|
317
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NvbW1vbi9wb3J0YWxlZC5qcyJdLCJuYW1lcyI6WyJsaXN0ZW5lcnMiLCJzdGFydExpc3RlbmluZyIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwia2V5IiwiZ2V0UGFnZU9mZnNldCIsIngiLCJ3aW5kb3ciLCJwYWdlWE9mZnNldCIsInVuZGVmaW5lZCIsImRvY3VtZW50IiwiZG9jdW1lbnRFbGVtZW50IiwiYm9keSIsInBhcmVudE5vZGUiLCJzY3JvbGxMZWZ0IiwieSIsInBhZ2VZT2Zmc2V0Iiwic2Nyb2xsVG9wIiwiYWRkRXZlbnRMaXN0ZW5lcnMiLCJhZGRFdmVudExpc3RlbmVyIiwiZ2V0Q2hpbGRQb3MiLCJvZmZzZXRzIiwicmVjdCIsImNoaWxkUmVjdCIsInBhZ2VPZmZzZXQiLCJwYWRkaW5nIiwidG9wT2Zmc2V0IiwibGVmdE9mZnNldCIsInJpZ2h0T2Zmc2V0IiwiYW5jaG9yTGVmdCIsInBvcyIsInRvcCIsImxlZnQiLCJyaWdodCIsImlubmVyV2lkdGgiLCJsZWZ0T3JSaWdodCIsIndpZHRoIiwiaGVpZ2h0IiwiaW5uZXJIZWlnaHQiLCJjYW5Vc2VET00iLCJsaXN0ZW5lcklkQ291bnRlciIsInN1YnNjcmliZSIsImZuIiwiaWQiLCJkZWZhdWx0TW9kYWxTdHlsZSIsImNvbnRlbnQiLCJib3JkZXIiLCJib3R0b20iLCJvdmVybGF5IiwiYmFja2dyb3VuZENvbG9yIiwiV0lORE9XX1BBRCIsIm5vb3AiLCJQb3J0YWxlZCIsImlzVmlzaWJsZSIsImNoaWxkIiwiY3VycmVudCIsImVsZW1lbnQiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJwcm9wcyIsInN0YXRlIiwic2V0U3RhdGUiLCJ1bnN1YnNjcmliZSIsImhhbmRsZVNjcm9sbCIsInByZXZQcm9wcyIsImRpZE9wZW4iLCJpc09wZW5lZCIsImRpZENsb3NlIiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwiX3VubW91bnRlZCIsIkNvbXAiLCJjb21wb25lbnQiLCJvdmVybGF5WkluZGV4Iiwib25DbG9zZSIsImNoaWxkcmVuIiwibW9kYWxQcm9wcyIsIm1vZGFsU3R5bGUiLCJuZXdNb2RhbFN0eWxlIiwiekluZGV4IiwiY29udGV4dCIsInJlbW92ZUNoaWxkIiwiYXBwZW5kQ2hpbGQiLCJwb3NpdGlvbiIsIm9wYWNpdHkiLCJtYXJnaW5Ub3AiLCJDb21wb25lbnQiLCJ0aGVtZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7O0FBRUEsSUFBTUEsU0FBUyxHQUFHLEVBQWxCOztBQUVBLElBQU1DLGNBQWMsR0FBRyxTQUFqQkEsY0FBaUI7QUFBQSxTQUFNQyxNQUFNLENBQUNDLElBQVAsQ0FBWUgsU0FBWixFQUF1QkksT0FBdkIsQ0FBK0IsVUFBQUMsR0FBRztBQUFBLFdBQUlMLFNBQVMsQ0FBQ0ssR0FBRCxDQUFULEVBQUo7QUFBQSxHQUFsQyxDQUFOO0FBQUEsQ0FBdkI7O0FBRUEsSUFBTUMsYUFBYSxHQUFHLFNBQWhCQSxhQUFnQjtBQUFBLFNBQU87QUFDM0JDLElBQUFBLENBQUMsRUFDQ0MsbUJBQU9DLFdBQVAsS0FBdUJDLFNBQXZCLEdBQ0lGLG1CQUFPQyxXQURYLEdBRUksQ0FBQ0UsUUFBUSxDQUFDQyxlQUFULElBQTRCRCxRQUFRLENBQUNFLElBQVQsQ0FBY0MsVUFBMUMsSUFBd0RILFFBQVEsQ0FBQ0UsSUFBbEUsRUFBd0VFLFVBSm5EO0FBSzNCQyxJQUFBQSxDQUFDLEVBQ0NSLG1CQUFPUyxXQUFQLEtBQXVCUCxTQUF2QixHQUNJRixtQkFBT1MsV0FEWCxHQUVJLENBQUNOLFFBQVEsQ0FBQ0MsZUFBVCxJQUE0QkQsUUFBUSxDQUFDRSxJQUFULENBQWNDLFVBQTFDLElBQXdESCxRQUFRLENBQUNFLElBQWxFLEVBQXdFSztBQVJuRCxHQUFQO0FBQUEsQ0FBdEI7O0FBV0EsSUFBTUMsaUJBQWlCLEdB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SUEzQ04sQ0FETTtBQUFBLE9BRFYsQ0FERjtBQW1ERDs7O0VBOUlvQlcsZ0I7O2lDQUFqQmhDLFEsa0JBQ2tCO0FBQ3BCa0IsRUFBQUEsU0FBUyxFQUFFLEtBRFM7QUFFcEJFLEVBQUFBLE9BQU8sRUFBRXJCLElBRlc7QUFHcEJrQyxFQUFBQSxLQUFLLEVBQUxBO0FBSG9CLEM7O2VBZ0pULGlDQUFVakMsUUFBVixDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50LCBjcmVhdGVSZWZ9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBkZWJvdW5jZSBmcm9tICdsb2Rhc2guZGVib3VuY2UnO1xuaW1wb3J0IGlzRXF1YWwgZnJvbSAnbG9kYXNoLmlzZXF1YWwnO1xuXG5pbXBvcnQge2NhblVzZURPTX0gZnJvbSAnZXhlbnYnO1xuaW1wb3J0IHt3aXRoVGhlbWV9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7Um9vdENvbnRleHR9IGZyb20gJ2NvbXBvbmVudHMvY29udGV4dCc7XG5pbXBvcnQgTW9kYWwgZnJvbSAncmVhY3QtbW9kYWwnO1xuaW1wb3J0IHdpbmRvdyBmcm9tICdnbG9iYWwvd2luZG93JztcbmltcG9ydCB7dGhlbWV9IGZyb20gJ3N0eWxlcy9iYXNlJztcblxuY29uc3QgbGlzdGVuZXJzID0ge307XG5cbmNvbnN0IHN0YXJ0TGlzdGVuaW5nID0gKCkgPT4gT2JqZWN0LmtleXMobGlzdGVuZXJzKS5mb3JFYWNoKGtleSA9PiBsaXN0ZW5lcnNba2V5XSgpKTtcblxuY29uc3QgZ2V0UGFnZU9mZnNldCA9ICgpID0+ICh7XG4gIHg6XG4gICAgd2luZG93LnBhZ2VYT2Zmc2V0ICE9PSB1bmRlZmluZWRcbiAgICAgID8gd2luZG93LnBhZ2VYT2Zmc2V0XG4gICAgICA6IChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgfHwgZG9jdW1lbnQuYm9keS5wYXJlbnROb2RlIHx8IGRvY3VtZW50LmJvZHkpLnNjcm9sbExlZnQsXG4gIHk6XG4gICAgd2luZG93LnBhZ2VZT2Zmc2V0ICE9PSB1bmRlZmluZWRcbiAgICAgID8gd2luZG93LnBhZ2VZT2Zmc2V0XG4gICAgICA6IChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgfHwgZG9jdW1lbnQuYm9keS5wYXJlbnROb2RlIHx8IGRvY3VtZW50LmJvZHkpLnNjcm9sbFRvcFxufSk7XG5cbmNvbnN0IGFkZEV2ZW50TGlzdGVuZXJzID0gKCkgPT4ge1xuICBpZiAoZG9jdW1lbnQgJiYgZG9jdW1lbnQuYm9keSlcbiAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNld2hlZWwnLCBkZWJvdW5jZShzdGFydExpc3RlbmluZywgMTAwLCB0cnVlKSk7XG4gIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCBkZWJvdW5jZShzdGFydExpc3RlbmluZywgNTAsIHRydWUpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDaGlsZFBvcyA9ICh7b2Zmc2V0cywgcmVjdCwgY2hpbGRSZWN0LCBwYWdlT2Zmc2V0LCBwYWRkaW5nfSkgPT4ge1xuICBjb25zdCB7dG9wT2Zmc2V0LCBsZWZ0T2Zmc2V0LCByaWdodE9mZnNldH0gPSBvZmZzZXRzO1xuXG4gIGNvbnN0IGFuY2hvckxlZnQgPSBsZWZ0T2Zmc2V0ICE9PSB1bmRlZmluZWQ7XG4gIGNvbnN0IHBvcyA9IHtcbiAgICB0b3A6IHBhZ2VPZmZzZXQueSArIHJlY3QudG9wICsgKHRvcE9mZnNldCB8fCAwKSxcbiAgICAuLi4oYW5jaG9yTGVmdFxuICAgICAgPyB7bGVmdDogcGFnZU9mZnNldC54ICsgcmVjdC5sZWZ0ICsgbGVmdE9mZnNldH1cbiAgICAgIDoge3JpZ2h0OiB3aW5kb3cuaW5uZXJXaWR0aCAtIHJlY3QucmlnaHQgLSBwYWdlT2Zmc2V0LnggKyAocmlnaHRPZmZzZXQgfHwgMCl9KVxuICB9O1xuXG4gIGNvbnN0IGxlZnRPclJpZ2h0ID0gYW5jaG9yTGVmdCA/ICdsZWZ0JyA6ICdyaWdodCc7XG5cbiAgaWYgKHBvc1tsZWZ0T3JSaWdodF0gJiYgcG9zW2xlZnRPclJpZ2h0XSA8IDApIHtcbiAgICBwb3NbbGVmdE9yUmlnaHRdID0gcGFkZGluZztcbiAgfSBlbHNlIGlmIChwb3NbbGVmdE9yUmlnaHRdICYmIHBvc1tsZWZ0T3JSaWdodF0gKyBjaGlsZFJlY3Qud2lkdGggPiB3aW5kb3cuaW5uZXJXaWR0aCkge1xuICAgIHBvc1tsZWZ0T3JSaWdodF0gPSB3aW5kb3cuaW5uZXJXaWR0aCAtIGNoaWxkUmVjdC53aWR0aCAtIHBhZGRpbmc7XG4gIH1cblxuICBpZiAocG9zLnRvcCA8IDApIHtcbiAgICBwb3MudG9wID0gcGFkZGluZztcbiAgfSBlbHNlIGlmIChwb3MudG9wICsgY2hpbGRSZWN0LmhlaWdodCA+IHdpbmRvdy5pbm5lckhlaWdodCkge1xuICAgIHBvcy50b3AgPSB3aW5kb3cuaW5uZXJIZWlnaHQgLSBjaGlsZFJlY3QuaGVpZ2h0IC0gcGFkZGluZztcbiAgfVxuXG4gIHJldHVybiBwb3M7XG59O1xuXG5pZiAoY2FuVXNlRE9NKSB7XG4gIGlmIChkb2N1bWVudC5ib2R5KSB7XG4gICAgYWRkRXZlbnRMaXN0ZW5lcnMoKTtcbiAgfSBlbHNlIHtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgYWRkRXZlbnRMaXN0ZW5lcnMpO1xuICB9XG59XG5cbmxldCBsaXN0ZW5lcklkQ291bnRlciA9IDA7XG5mdW5jdGlvbiBzdWJzY3JpYmUoZm4pIHtcbiAgbGlzdGVuZXJJZENvdW50ZXIgKz0gMTtcbiAgY29uc3QgaWQgPSBsaXN0ZW5lcklkQ291bnRlcjtcbiAgbGlzdGVuZXJzW2lkXSA9IGZuO1xuICByZXR1cm4gKCkgPT4gZGVsZXRlIGxpc3RlbmVyc1tpZF07XG59XG5cbmNvbnN0IGRlZmF1bHRNb2RhbFN0eWxlID0ge1xuICBjb250ZW50OiB7XG4gICAgdG9wOiAwLFxuICAgIGxlZnQ6IDAsXG4gICAgYm9yZGVyOiAwLFxuICAgIHJpZ2h0OiAnYXV0bycsXG4gICAgYm90dG9tOiAnYXV0bycsXG4gICAgcGFkZGluZzogJzBweCAwcHggMHB4IDBweCdcbiAgfSxcbiAgb3ZlcmxheToge1xuICAgIHJpZ2h0OiAnYXV0bycsXG4gICAgYm90dG9tOiAnYXV0bycsXG4gICAgd2lkdGg6ICcxMDB2dycsXG4gICAgaGVpZ2h0OiAnMTAwdmgnLFxuICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoMCwgMCwgMCwgMCknXG4gIH1cbn07XG5cbmNvbnN0IFdJTkRPV19QQUQgPSAyMDtcblxuY29uc3Qgbm9vcCA9ICgpID0+IHt9O1xuXG5jbGFzcyBQb3J0YWxlZCBleHRlbmRzIENvbXBvbmVudCB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgY29tcG9uZW50OiAnZGl2JyxcbiAgICBvbkNsb3NlOiBub29wLFxuICAgIHRoZW1lXG4gIH07XG5cbiAgc3RhdGUgPSB7XG4gICAgcG9zOiBudWxsLFxuICAgIGlzVmlzaWJsZTogZmFsc2VcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAvLyByZWxhdGl2ZVxuICAgIHRoaXMudW5zdWJzY3JpYmUgPSBzdWJzY3JpYmUodGhpcy5oYW5kbGVTY3JvbGwpO1xuICAgIHRoaXMuaGFuZGxlU2Nyb2xsKCk7XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgZGlkT3BlbiA9IHRoaXMucHJvcHMuaXNPcGVuZWQgJiYgIXByZXZQcm9wcy5pc09wZW5lZDtcbiAgICBjb25zdCBkaWRDbG9zZSA9ICF0aGlzLnByb3BzLmlzT3BlbmVkICYmIHByZXZQcm9wcy5pc09wZW5lZDtcbiAgICBpZiAoZGlkT3BlbiB8fCBkaWRDbG9zZSkge1xuICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLl91bm1vdW50ZWQpIHJldHVybjtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7aXNWaXNpYmxlOiBkaWRPcGVufSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLmhhbmRsZVNjcm9sbCgpO1xuICB9XG5cbiAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgdGhpcy5fdW5tb3VudGVkID0gdHJ1ZTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgdGhpcy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgZWxlbWVudCA9IGNyZWF0ZVJlZigpO1xuICBjaGlsZCA9IGNyZWF0ZVJlZigpO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjb21wbGV4aXR5XG4gIGhhbmRsZVNjcm9sbCA9ICgpID0+IHtcbiAgICBpZiAodGhpcy5jaGlsZC5jdXJyZW50KSB7XG4gICAgICBjb25zdCByZWN0ID0gdGhpcy5lbGVtZW50LmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBjaGlsZFJlY3QgPSB0aGlzLmNoaWxkLmN1cnJlbnQgJiYgdGhpcy5jaGlsZC5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3QgcGFnZU9mZnNldCA9IGdldFBhZ2VPZmZzZXQoKTtcbiAgICAgIGNvbnN0IHt0b3A6IHRvcE9mZnNldCwgbGVmdDogbGVmdE9mZnNldCwgcmlnaHQ6IHJpZ2h0T2Zmc2V0fSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGNvbnN0IHBvcyA9IGdldENoaWxkUG9zKHtcbiAgICAgICAgb2Zmc2V0czoge3RvcE9mZnNldCwgbGVmdE9mZnNldCwgcmlnaHRPZmZzZXR9LFxuICAgICAgICByZWN0LFxuICAgICAgICBjaGlsZFJlY3QsXG4gICAgICAgIHBhZ2VPZmZzZXQsXG4gICAgICAgIHBhZGRpbmc6IFdJTkRPV19QQURcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoIWlzRXF1YWwocG9zLCB0aGlzLnN0YXRlLnBvcykpIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7cG9zfSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICAvLyByZWxhdGl2ZVxuICAgICAgY29tcG9uZW50OiBDb21wLFxuICAgICAgb3ZlcmxheVpJbmRleCxcbiAgICAgIGlzT3BlbmVkLFxuICAgICAgb25DbG9zZSxcblxuICAgICAgLy8gTW9kYWxcbiAgICAgIGNoaWxkcmVuLFxuICAgICAgbW9kYWxQcm9wcyxcbiAgICAgIG1vZGFsU3R5bGUgPSB7fVxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qge2lzVmlzaWJsZSwgcG9zfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBjb25zdCBuZXdNb2RhbFN0eWxlID0ge1xuICAgICAgLi4uZGVmYXVsdE1vZGFsU3R5bGUsXG4gICAgICBjb250ZW50OiB7XG4gICAgICAgIC4uLihtb2RhbFN0eWxlLmNvbnRlbnQgfHwge30pXG4gICAgICB9LFxuICAgICAgb3ZlcmxheToge1xuICAgICAgICAuLi5kZWZhdWx0TW9kYWxTdHlsZS5vdmVybGF5LFxuICAgICAgICAuLi4obW9kYWxTdHlsZS5vdmVybGF5IHx8IHt9KSxcbiAgICAgICAgLy8gbmVlZHMgdG8gYmUgb24gdG9wIG9mIGV4aXN0aW5nIG1vZGFsXG4gICAgICAgIHpJbmRleDogb3ZlcmxheVpJbmRleCB8fCA5OTk5XG4gICAgICB9XG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICA8Um9vdENvbnRleHQuQ29uc3VtZXI+XG4gICAgICAgIHtjb250ZXh0ID0+IChcbiAgICAgICAgICA8Q29tcCByZWY9e3RoaXMuZWxlbWVudH0+XG4gICAgICAgICAgICB7aXNPcGVuZWQgPyAoXG4gICAgICAgICAgICAgIDxNb2RhbFxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm1vZGFsLXBvcnRhbFwiXG4gICAgICAgICAgICAgICAgey4uLm1vZGFsUHJvcHN9XG4gICAgICAgICAgICAgICAgYXJpYUhpZGVBcHA9e2ZhbHNlfVxuICAgICAgICAgICAgICAgIGlzT3BlblxuICAgICAgICAgICAgICAgIHN0eWxlPXtuZXdNb2RhbFN0eWxlfVxuICAgICAgICAgICAgICAgIHBhcmVudFNlbGVjdG9yPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAvLyBSZWFjdCBtb2RhbCBpc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3JlYWN0anMvcmVhY3QtbW9kYWwvaXNzdWVzLzc2OVxuICAgICAgICAgICAgICAgICAgLy8gZmFpbGVkIHRvIGV4ZWN1dGUgcmVtb3ZlQ2hpbGQgb24gcGFyZW50IG5vZGUgd2hlbiBpdCBpcyBhbHJlYWR5IHVubW91bnRlZFxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgICAgICAoY29udGV4dCAmJiBjb250ZXh0LmN1cnJlbnQpIHx8IHtcbiAgICAgICAgICAgICAgICAgICAgICByZW1vdmVDaGlsZDogKCkgPT4ge30sXG4gICAgICAgICAgICAgICAgICAgICAgYXBwZW5kQ2hpbGQ6ICgpID0+IHt9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInBvcnRhbGVkLWNvbnRlbnRcIlxuICAgICAgICAgICAgICAgICAga2V5PVwiaXRlbVwiXG4gICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogJ2ZpeGVkJyxcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogaXNWaXNpYmxlID8gMSA6IDAsXG4gICAgICAgICAgICAgICAgICAgIHRvcDogdGhpcy5zdGF0ZS50b3AsXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpblRvcDogaXNWaXNpYmxlID8gJzBweCcgOiAnMTRweCcsXG4gICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgICAgLi4ucG9zXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgcmVmPXt0aGlzLmNoaWxkfVxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgICAgICAgICAgIHpJbmRleDogb3ZlcmxheVpJbmRleCA/IG92ZXJsYXlaSW5kZXggKyAxIDogMTAwMDBcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvTW9kYWw+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L0NvbXA+XG4gICAgICAgICl9XG4gICAgICA8L1Jvb3RDb250ZXh0LkNvbnN1bWVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgd2l0aFRoZW1lKFBvcnRhbGVkKTtcbiJdfQ==
|
|
275
|
+
var _default = exports["default"] = (0, _styledComponents.withTheme)(Portaled);
|
|
276
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9sb2Rhc2gyIiwiX2V4ZW52IiwiX3N0eWxlZENvbXBvbmVudHMiLCJfY29udGV4dCIsIl9yZWFjdE1vZGFsIiwiX3dpbmRvdyIsIl9iYXNlIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiX2NhbGxTdXBlciIsIm8iLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJjb25zdHJ1Y3RvciIsImFwcGx5IiwiQm9vbGVhbiIsInZhbHVlT2YiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImVudW1lcmFibGUiLCJwdXNoIiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJsaXN0ZW5lcnMiLCJzdGFydExpc3RlbmluZyIsImtleSIsImdldFBhZ2VPZmZzZXQiLCJ4Iiwid2luZG93IiwicGFnZVhPZmZzZXQiLCJ1bmRlZmluZWQiLCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIsImJvZHkiLCJwYXJlbnROb2RlIiwic2Nyb2xsTGVmdCIsInkiLCJwYWdlWU9mZnNldCIsInNjcm9sbFRvcCIsImFkZEV2ZW50TGlzdGVuZXJzIiwiYWRkRXZlbnRMaXN0ZW5lciIsImRlYm91bmNlIiwiZ2V0Q2hpbGRQb3MiLCJleHBvcnRzIiwiX3JlZiIsIm9mZnNldHMiLCJyZWN0IiwiY2hpbGRSZWN0IiwicGFnZU9mZnNldCIsInBhZGRpbmciLCJ0b3BPZmZzZXQiLCJsZWZ0T2Zmc2V0IiwicmlnaHRPZmZzZXQiLCJhbmNob3JMZWZ0IiwicG9zIiwidG9wIiwibGVmdCIsInJpZ2h0IiwiaW5uZXJXaWR0aCIsImxlZnRPclJpZ2h0Iiwid2lkdGgiLCJoZWlnaHQiLCJpbm5lckhlaWdodCIsImNhblVzZURPTSIsImxpc3RlbmVySWRDb3VudGVyIiwic3Vic2NyaWJlIiwiZm4iLCJpZCIsImRlZmF1bHRNb2RhbFN0eWxlIiwiY29udGVudCIsImJvcmRlciIsImJvdHRvbSIsIm92ZXJsYXkiLCJiYWNrZ3JvdW5kQ29sb3IiLCJXSU5ET1dfUEFEIiwibm9vcCIsIlBvcnRhbGVkIiwiX0NvbXBvbmVudCIsIl9pbmhlcml0czIiLCJfdGhpcyIsIl9jbGFzc0NhbGxDaGVjazIiLCJfbGVuIiwiYXJncyIsIkFycmF5IiwiX2tleSIsImNvbmNhdCIsIl9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQyIiwiaXNWaXNpYmxlIiwiY3JlYXRlUmVmIiwiY2hpbGQiLCJjdXJyZW50IiwiZWxlbWVudCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsIl90aGlzJHByb3BzIiwicHJvcHMiLCJpc0VxdWFsIiwic3RhdGUiLCJzZXRTdGF0ZSIsIl9jcmVhdGVDbGFzczIiLCJ2YWx1ZSIsImNvbXBvbmVudERpZE1vdW50IiwidW5zdWJzY3JpYmUiLCJoYW5kbGVTY3JvbGwiLCJjb21wb25lbnREaWRVcGRhdGUiLCJwcmV2UHJvcHMiLCJfdGhpczIiLCJkaWRPcGVuIiwiaXNPcGVuZWQiLCJkaWRDbG9zZSIsInJlcXVlc3RBbmltYXRpb25GcmFtZSIsIl91bm1vdW50ZWQiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsInJlbmRlciIsIl90aGlzMyIsIl90aGlzJHByb3BzMiIsIkNvbXAiLCJjb21wb25lbnQiLCJvdmVybGF5WkluZGV4Iiwib25DbG9zZSIsImNoaWxkcmVuIiwibW9kYWxQcm9wcyIsIl90aGlzJHByb3BzMiRtb2RhbFN0eSIsIm1vZGFsU3R5bGUiLCJfdGhpcyRzdGF0ZSIsIm5ld01vZGFsU3R5bGUiLCJ6SW5kZXgiLCJjcmVhdGVFbGVtZW50IiwiUm9vdENvbnRleHQiLCJDb25zdW1lciIsImNvbnRleHQiLCJyZWYiLCJfZXh0ZW5kczIiLCJjbGFzc05hbWUiLCJhcmlhSGlkZUFwcCIsImlzT3BlbiIsInN0eWxlIiwicGFyZW50U2VsZWN0b3IiLCJyZW1vdmVDaGlsZCIsImFwcGVuZENoaWxkIiwicG9zaXRpb24iLCJvcGFjaXR5IiwibWFyZ2luVG9wIiwiQ29tcG9uZW50IiwidGhlbWUiLCJfZGVmYXVsdCIsIndpdGhUaGVtZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NvbW1vbi9wb3J0YWxlZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHtDb21wb25lbnQsIGNyZWF0ZVJlZn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGRlYm91bmNlIGZyb20gJ2xvZGFzaC5kZWJvdW5jZSc7XG5pbXBvcnQgaXNFcXVhbCBmcm9tICdsb2Rhc2guaXNlcXVhbCc7XG5cbmltcG9ydCB7Y2FuVXNlRE9NfSBmcm9tICdleGVudic7XG5pbXBvcnQge3dpdGhUaGVtZX0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtSb290Q29udGV4dH0gZnJvbSAnY29tcG9uZW50cy9jb250ZXh0JztcbmltcG9ydCBNb2RhbCBmcm9tICdyZWFjdC1tb2RhbCc7XG5pbXBvcnQgd2luZG93IGZyb20gJ2dsb2JhbC93aW5kb3cnO1xuaW1wb3J0IHt0aGVtZX0gZnJvbSAnc3R5bGVzL2Jhc2UnO1xuXG5jb25zdCBsaXN0ZW5lcnMgPSB7fTtcblxuY29uc3Qgc3RhcnRMaXN0ZW5pbmcgPSAoKSA9PiBPYmplY3Qua2V5cyhsaXN0ZW5lcnMpLmZvckVhY2goa2V5ID0+IGxpc3RlbmVyc1trZXldKCkpO1xuXG5jb25zdCBnZXRQYWdlT2Zmc2V0ID0gKCkgPT4gKHtcbiAgeDpcbiAgICB3aW5kb3cucGFnZVhPZmZzZXQgIT09IHVuZGVmaW5lZFxuICAgICAgPyB3aW5kb3cucGFnZVhPZmZzZXRcbiAgICAgIDogKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCB8fCBkb2N1bWVudC5ib2R5LnBhcmVudE5vZGUgfHwgZG9jdW1lbnQuYm9keSkuc2Nyb2xsTGVmdCxcbiAgeTpcbiAgICB3aW5kb3cucGFnZVlPZmZzZXQgIT09IHVuZGVmaW5lZFxuICAgICAgPyB3aW5kb3cucGFnZVlPZmZzZXRcbiAgICAgIDogKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCB8fCBkb2N1bWVudC5ib2R5LnBhcmVudE5vZGUgfHwgZG9jdW1lbnQuYm9keSkuc2Nyb2xsVG9wXG59KTtcblxuY29uc3QgYWRkRXZlbnRMaXN0ZW5lcnMgPSAoKSA9PiB7XG4gIGlmIChkb2N1bWVudCAmJiBkb2N1bWVudC5ib2R5KVxuICAgIGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V3aGVlbCcsIGRlYm91bmNlKHN0YXJ0TGlzdGVuaW5nLCAxMDAsIHRydWUpKTtcbiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGRlYm91bmNlKHN0YXJ0TGlzdGVuaW5nLCA1MCwgdHJ1ZSkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldENoaWxkUG9zID0gKHtvZmZzZXRzLCByZWN0LCBjaGlsZFJlY3QsIHBhZ2VPZmZzZXQsIHBhZGRpbmd9KSA9PiB7XG4gIGNvbnN0IHt0b3BPZmZzZXQsIGxlZnRPZmZzZXQsIHJpZ2h0T2Zmc2V0fSA9IG9mZnNldHM7XG5cbiAgY29uc3QgYW5jaG9yTGVmdCA9IGxlZnRPZmZzZXQgIT09IHVuZGVmaW5lZDtcbiAgY29uc3QgcG9zID0ge1xuICAgIHRvcDogcGFnZU9mZnNldC55ICsgcmVjdC50b3AgKyAodG9wT2Zmc2V0IHx8IDApLFxuICAgIC4uLihhbmNob3JMZWZ0XG4gICAgICA/IHtsZWZ0OiBwYWdlT2Zmc2V0LnggKyByZWN0LmxlZnQgKyBsZWZ0T2Zmc2V0fVxuICAgICAgOiB7cmlnaHQ6IHdpbmRvdy5pbm5lcldpZHRoIC0gcmVjdC5yaWdodCAtIHBhZ2VPZmZzZXQueCArIChyaWdodE9mZnNldCB8fCAwKX0pXG4gIH07XG5cbiAgY29uc3QgbGVmdE9yUmlnaHQgPSBhbmNob3JMZWZ0ID8gJ2xlZnQnIDogJ3JpZ2h0JztcblxuICBpZiAocG9zW2xlZnRPclJpZ2h0XSAmJiBwb3NbbGVmdE9yUmlnaHRdIDwgMCkge1xuICAgIHBvc1tsZWZ0T3JSaWdodF0gPSBwYWRkaW5nO1xuICB9IGVsc2UgaWYgKHBvc1tsZWZ0T3JSaWdodF0gJiYgcG9zW2xlZnRPclJpZ2h0XSArIGNoaWxkUmVjdC53aWR0aCA+IHdpbmRvdy5pbm5lcldpZHRoKSB7XG4gICAgcG9zW2xlZnRPclJpZ2h0XSA9IHdpbmRvdy5pbm5lcldpZHRoIC0gY2hpbGRSZWN0LndpZHRoIC0gcGFkZGluZztcbiAgfVxuXG4gIGlmIChwb3MudG9wIDwgMCkge1xuICAgIHBvcy50b3AgPSBwYWRkaW5nO1xuICB9IGVsc2UgaWYgKHBvcy50b3AgKyBjaGlsZFJlY3QuaGVpZ2h0ID4gd2luZG93LmlubmVySGVpZ2h0KSB7XG4gICAgcG9zLnRvcCA9IHdpbmRvdy5pbm5lckhlaWdodCAtIGNoaWxkUmVjdC5oZWlnaHQgLSBwYWRkaW5nO1xuICB9XG5cbiAgcmV0dXJuIHBvcztcbn07XG5cbmlmIChjYW5Vc2VET00pIHtcbiAgaWYgKGRvY3VtZW50LmJvZHkpIHtcbiAgICBhZGRFdmVudExpc3RlbmVycygpO1xuICB9IGVsc2Uge1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCBhZGRFdmVudExpc3RlbmVycyk7XG4gIH1cbn1cblxubGV0IGxpc3RlbmVySWRDb3VudGVyID0gMDtcbmZ1bmN0aW9uIHN1YnNjcmliZShmbikge1xuICBsaXN0ZW5lcklkQ291bnRlciArPSAxO1xuICBjb25zdCBpZCA9IGxpc3RlbmVySWRDb3VudGVyO1xuICBsaXN0ZW5lcnNbaWRdID0gZm47XG4gIHJldHVybiAoKSA9PiBkZWxldGUgbGlzdGVuZXJzW2lkXTtcbn1cblxuY29uc3QgZGVmYXVsdE1vZGFsU3R5bGUgPSB7XG4gIGNvbnRlbnQ6IHtcbiAgICB0b3A6IDAsXG4gICAgbGVmdDogMCxcbiAgICBib3JkZXI6IDAsXG4gICAgcmlnaHQ6ICdhdXRvJyxcbiAgICBib3R0b206ICdhdXRvJyxcbiAgICBwYWRkaW5nOiAnMHB4IDBweCAwcHggMHB4J1xuICB9LFxuICBvdmVybGF5OiB7XG4gICAgcmlnaHQ6ICdhdXRvJyxcbiAgICBib3R0b206ICdhdXRvJyxcbiAgICB3aWR0aDogJzEwMHZ3JyxcbiAgICBoZWlnaHQ6ICcxMDB2aCcsXG4gICAgYmFja2dyb3VuZENvbG9yOiAncmdiYSgwLCAwLCAwLCAwKSdcbiAgfVxufTtcblxuY29uc3QgV0lORE9XX1BBRCA9IDIwO1xuXG5jb25zdCBub29wID0gKCkgPT4ge307XG5cbmNsYXNzIFBvcnRhbGVkIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBjb21wb25lbnQ6ICdkaXYnLFxuICAgIG9uQ2xvc2U6IG5vb3AsXG4gICAgdGhlbWVcbiAgfTtcblxuICBzdGF0ZSA9IHtcbiAgICBwb3M6IG51bGwsXG4gICAgaXNWaXNpYmxlOiBmYWxzZVxuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIC8vIHJlbGF0aXZlXG4gICAgdGhpcy51bnN1YnNjcmliZSA9IHN1YnNjcmliZSh0aGlzLmhhbmRsZVNjcm9sbCk7XG4gICAgdGhpcy5oYW5kbGVTY3JvbGwoKTtcbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCBkaWRPcGVuID0gdGhpcy5wcm9wcy5pc09wZW5lZCAmJiAhcHJldlByb3BzLmlzT3BlbmVkO1xuICAgIGNvbnN0IGRpZENsb3NlID0gIXRoaXMucHJvcHMuaXNPcGVuZWQgJiYgcHJldlByb3BzLmlzT3BlbmVkO1xuICAgIGlmIChkaWRPcGVuIHx8IGRpZENsb3NlKSB7XG4gICAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuX3VubW91bnRlZCkgcmV0dXJuO1xuICAgICAgICB0aGlzLnNldFN0YXRlKHtpc1Zpc2libGU6IGRpZE9wZW59KTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuaGFuZGxlU2Nyb2xsKCk7XG4gIH1cblxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICB0aGlzLl91bm1vdW50ZWQgPSB0cnVlO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBlbGVtZW50ID0gY3JlYXRlUmVmKCk7XG4gIGNoaWxkID0gY3JlYXRlUmVmKCk7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNvbXBsZXhpdHlcbiAgaGFuZGxlU2Nyb2xsID0gKCkgPT4ge1xuICAgIGlmICh0aGlzLmNoaWxkLmN1cnJlbnQpIHtcbiAgICAgIGNvbnN0IHJlY3QgPSB0aGlzLmVsZW1lbnQuY3VycmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IGNoaWxkUmVjdCA9IHRoaXMuY2hpbGQuY3VycmVudCAmJiB0aGlzLmNoaWxkLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBwYWdlT2Zmc2V0ID0gZ2V0UGFnZU9mZnNldCgpO1xuICAgICAgY29uc3Qge3RvcDogdG9wT2Zmc2V0LCBsZWZ0OiBsZWZ0T2Zmc2V0LCByaWdodDogcmlnaHRPZmZzZXR9ID0gdGhpcy5wcm9wcztcblxuICAgICAgY29uc3QgcG9zID0gZ2V0Q2hpbGRQb3Moe1xuICAgICAgICBvZmZzZXRzOiB7dG9wT2Zmc2V0LCBsZWZ0T2Zmc2V0LCByaWdodE9mZnNldH0sXG4gICAgICAgIHJlY3QsXG4gICAgICAgIGNoaWxkUmVjdCxcbiAgICAgICAgcGFnZU9mZnNldCxcbiAgICAgICAgcGFkZGluZzogV0lORE9XX1BBRFxuICAgICAgfSk7XG5cbiAgICAgIGlmICghaXNFcXVhbChwb3MsIHRoaXMuc3RhdGUucG9zKSkge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHtwb3N9KTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIC8vIHJlbGF0aXZlXG4gICAgICBjb21wb25lbnQ6IENvbXAsXG4gICAgICBvdmVybGF5WkluZGV4LFxuICAgICAgaXNPcGVuZWQsXG4gICAgICBvbkNsb3NlLFxuXG4gICAgICAvLyBNb2RhbFxuICAgICAgY2hpbGRyZW4sXG4gICAgICBtb2RhbFByb3BzLFxuICAgICAgbW9kYWxTdHlsZSA9IHt9XG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCB7aXNWaXNpYmxlLCBwb3N9ID0gdGhpcy5zdGF0ZTtcblxuICAgIGNvbnN0IG5ld01vZGFsU3R5bGUgPSB7XG4gICAgICAuLi5kZWZhdWx0TW9kYWxTdHlsZSxcbiAgICAgIGNvbnRlbnQ6IHtcbiAgICAgICAgLi4uKG1vZGFsU3R5bGUuY29udGVudCB8fCB7fSlcbiAgICAgIH0sXG4gICAgICBvdmVybGF5OiB7XG4gICAgICAgIC4uLmRlZmF1bHRNb2RhbFN0eWxlLm92ZXJsYXksXG4gICAgICAgIC4uLihtb2RhbFN0eWxlLm92ZXJsYXkgfHwge30pLFxuICAgICAgICAvLyBuZWVkcyB0byBiZSBvbiB0b3Agb2YgZXhpc3RpbmcgbW9kYWxcbiAgICAgICAgekluZGV4OiBvdmVybGF5WkluZGV4IHx8IDk5OTlcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxSb290Q29udGV4dC5Db25zdW1lcj5cbiAgICAgICAge2NvbnRleHQgPT4gKFxuICAgICAgICAgIDxDb21wIHJlZj17dGhpcy5lbGVtZW50fT5cbiAgICAgICAgICAgIHtpc09wZW5lZCA/IChcbiAgICAgICAgICAgICAgPE1vZGFsXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibW9kYWwtcG9ydGFsXCJcbiAgICAgICAgICAgICAgICB7Li4ubW9kYWxQcm9wc31cbiAgICAgICAgICAgICAgICBhcmlhSGlkZUFwcD17ZmFsc2V9XG4gICAgICAgICAgICAgICAgaXNPcGVuXG4gICAgICAgICAgICAgICAgc3R5bGU9e25ld01vZGFsU3R5bGV9XG4gICAgICAgICAgICAgICAgcGFyZW50U2VsZWN0b3I9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgIC8vIFJlYWN0IG1vZGFsIGlzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vcmVhY3Rqcy9yZWFjdC1tb2RhbC9pc3N1ZXMvNzY5XG4gICAgICAgICAgICAgICAgICAvLyBmYWlsZWQgdG8gZXhlY3V0ZSByZW1vdmVDaGlsZCBvbiBwYXJlbnQgbm9kZSB3aGVuIGl0IGlzIGFscmVhZHkgdW5tb3VudGVkXG4gICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgICAgIChjb250ZXh0ICYmIGNvbnRleHQuY3VycmVudCkgfHwge1xuICAgICAgICAgICAgICAgICAgICAgIHJlbW92ZUNoaWxkOiAoKSA9PiB7fSxcbiAgICAgICAgICAgICAgICAgICAgICBhcHBlbmRDaGlsZDogKCkgPT4ge31cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwicG9ydGFsZWQtY29udGVudFwiXG4gICAgICAgICAgICAgICAgICBrZXk9XCJpdGVtXCJcbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnZml4ZWQnLFxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiBpc1Zpc2libGUgPyAxIDogMCxcbiAgICAgICAgICAgICAgICAgICAgdG9wOiB0aGlzLnN0YXRlLnRvcCxcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luVG9wOiBpc1Zpc2libGUgPyAnMHB4JyA6ICcxNHB4JyxcbiAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgICAgICAuLi5wb3NcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICByZWY9e3RoaXMuY2hpbGR9XG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICAgICAgICAgICAgekluZGV4OiBvdmVybGF5WkluZGV4ID8gb3ZlcmxheVpJbmRleCArIDEgOiAxMDAwMFxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9Nb2RhbD5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDwvQ29tcD5cbiAgICAgICAgKX1cbiAgICAgIDwvUm9vdENvbnRleHQuQ29uc3VtZXI+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCB3aXRoVGhlbWUoUG9ydGFsZWQpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFFBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUVBLElBQUFJLE1BQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLGlCQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxRQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxXQUFBLEdBQUFMLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBUSxPQUFBLEdBQUFOLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBUyxLQUFBLEdBQUFULE9BQUE7QUFBa0MsU0FBQVUseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFaLHdCQUFBWSxDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FBQSxJQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUksVUFBQSxTQUFBSixDQUFBLGVBQUFBLENBQUEsZ0JBQUFLLE9BQUEsQ0FBQUwsQ0FBQSwwQkFBQUEsQ0FBQSxzQkFBQUEsQ0FBQSxRQUFBRyxDQUFBLEdBQUFKLHdCQUFBLENBQUFHLENBQUEsT0FBQUMsQ0FBQSxJQUFBQSxDQUFBLENBQUFHLEdBQUEsQ0FBQU4sQ0FBQSxVQUFBRyxDQUFBLENBQUFJ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
|
|
@@ -1,43 +1,54 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports["default"] = void 0;
|
|
9
|
-
|
|
10
8
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
11
|
-
|
|
12
9
|
var _react = _interopRequireDefault(require("react"));
|
|
13
|
-
|
|
14
10
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
var _templateObject, _templateObject2; // Copyright (c) 2022 Uber Technologies, Inc.
|
|
12
|
+
//
|
|
13
|
+
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
14
|
+
// of this software and associated documentation files (the "Software"), to deal
|
|
15
|
+
// in the Software without restriction, including without limitation the rights
|
|
16
|
+
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
17
|
+
// copies of the Software, and to permit persons to whom the Software is
|
|
18
|
+
// furnished to do so, subject to the following conditions:
|
|
19
|
+
//
|
|
20
|
+
// The above copyright notice and this permission notice shall be included in
|
|
21
|
+
// all copies or substantial portions of the Software.
|
|
22
|
+
//
|
|
23
|
+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
24
|
+
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
25
|
+
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
26
|
+
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
27
|
+
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
28
|
+
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
29
|
+
// THE SOFTWARE.
|
|
18
30
|
/** @typedef {import('./progress-bar').ProgressBarProps} ProgressBarProps */
|
|
31
|
+
|
|
19
32
|
var StyledBar = _styledComponents["default"].span.attrs({
|
|
20
33
|
className: 'progress-bar__bar'
|
|
21
34
|
})(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n /* transition: width 200ms; */\n display: block;\n"])), function (props) {
|
|
22
35
|
return props.barColor || props.theme.progressBarColor;
|
|
23
36
|
});
|
|
24
|
-
|
|
25
37
|
var StyledTrack = _styledComponents["default"].div.attrs({
|
|
26
38
|
className: 'progress-bar'
|
|
27
39
|
})(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n"])), function (props) {
|
|
28
40
|
return props.trackColor || props.theme.progressBarTrackColor;
|
|
29
41
|
});
|
|
30
|
-
/** @type {React.FunctionComponent<ProgressBarProps>} */
|
|
31
|
-
|
|
32
42
|
|
|
43
|
+
/** @type {React.FunctionComponent<ProgressBarProps>} */
|
|
33
44
|
var ProgressBar = function ProgressBar(_ref) {
|
|
34
45
|
var percent = _ref.percent,
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
46
|
+
_ref$height = _ref.height,
|
|
47
|
+
height = _ref$height === void 0 ? 4 : _ref$height,
|
|
48
|
+
isLoading = _ref.isLoading,
|
|
49
|
+
barColor = _ref.barColor,
|
|
50
|
+
trackColor = _ref.trackColor,
|
|
51
|
+
theme = _ref.theme;
|
|
41
52
|
return /*#__PURE__*/_react["default"].createElement(StyledTrack, {
|
|
42
53
|
trackColor: trackColor,
|
|
43
54
|
theme: theme
|
|
@@ -50,7 +61,5 @@ var ProgressBar = function ProgressBar(_ref) {
|
|
|
50
61
|
}
|
|
51
62
|
}));
|
|
52
63
|
};
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
exports["default"] = _default;
|
|
56
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NvbW1vbi9wcm9ncmVzcy1iYXIuanMiXSwibmFtZXMiOlsiU3R5bGVkQmFyIiwic3R5bGVkIiwic3BhbiIsImF0dHJzIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJiYXJDb2xvciIsInRoZW1lIiwicHJvZ3Jlc3NCYXJDb2xvciIsIlN0eWxlZFRyYWNrIiwiZGl2IiwidHJhY2tDb2xvciIsInByb2dyZXNzQmFyVHJhY2tDb2xvciIsIlByb2dyZXNzQmFyIiwicGVyY2VudCIsImhlaWdodCIsImlzTG9hZGluZyIsIndpZHRoIiwib3BhY2l0eSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7Ozs7QUFFQTtBQUVBLElBQU1BLFNBQVMsR0FBR0MsNkJBQU9DLElBQVAsQ0FBWUMsS0FBWixDQUFrQjtBQUNsQ0MsRUFBQUEsU0FBUyxFQUFFO0FBRHVCLENBQWxCLENBQUgseUtBR08sVUFBQUMsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsUUFBTixJQUFrQkQsS0FBSyxDQUFDRSxLQUFOLENBQVlDLGdCQUFsQztBQUFBLENBSFosQ0FBZjs7QUFPQSxJQUFNQyxXQUFXLEdBQUdSLDZCQUFPUyxHQUFQLENBQVdQLEtBQVgsQ0FBaUI7QUFDbkNDLEVBQUFBLFNBQVMsRUFBRTtBQUR3QixDQUFqQixDQUFILHNIQUdLLFVBQUFDLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNNLFVBQU4sSUFBb0JOLEtBQUssQ0FBQ0UsS0FBTixDQUFZSyxxQkFBcEM7QUFBQSxDQUhWLENBQWpCO0FBTUE7OztBQUNBLElBQU1DLFdBQVcsR0FBRyxTQUFkQSxXQUFjO0FBQUEsTUFBRUMsT0FBRixRQUFFQSxPQUFGO0FBQUEseUJBQVdDLE1BQVg7QUFBQSxNQUFXQSxNQUFYLDRCQUFvQixDQUFwQjtBQUFBLE1BQXVCQyxTQUF2QixRQUF1QkEsU0FBdkI7QUFBQSxNQUFrQ1YsUUFBbEMsUUFBa0NBLFFBQWxDO0FBQUEsTUFBNENLLFVBQTVDLFFBQTRDQSxVQUE1QztBQUFBLE1BQXdESixLQUF4RCxRQUF3REEsS0FBeEQ7QUFBQSxzQkFDbEIsZ0NBQUMsV0FBRDtBQUFhLElBQUEsVUFBVSxFQUFFSSxVQUF6QjtBQUFxQyxJQUFBLEtBQUssRUFBRUo7QUFBNUMsa0JBQ0UsZ0NBQUMsU0FBRDtBQUNFLElBQUEsUUFBUSxFQUFFRCxRQURaO0FBRUUsSUFBQSxLQUFLLEVBQUU7QUFBQ1csTUFBQUEsS0FBSyxFQUFFSCxPQUFSO0FBQWlCQyxNQUFBQSxNQUFNLFlBQUtBLE1BQUwsT0FBdkI7QUFBd0NHLE1BQUFBLE9BQU8sRUFBRUYsU0FBUyxHQUFHLENBQUgsR0FBTztBQUFqRTtBQUZULElBREYsQ0FEa0I7QUFBQSxDQUFwQjs7ZUFTZUgsVyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuLyoqIEB0eXBlZGVmIHtpbXBvcnQoJy4vcHJvZ3Jlc3MtYmFyJykuUHJvZ3Jlc3NCYXJQcm9wc30gUHJvZ3Jlc3NCYXJQcm9wcyAqL1xuXG5jb25zdCBTdHlsZWRCYXIgPSBzdHlsZWQuc3Bhbi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ3Byb2dyZXNzLWJhcl9fYmFyJ1xufSlgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuYmFyQ29sb3IgfHwgcHJvcHMudGhlbWUucHJvZ3Jlc3NCYXJDb2xvcn07XG4gIC8qIHRyYW5zaXRpb246IHdpZHRoIDIwMG1zOyAqL1xuICBkaXNwbGF5OiBibG9jaztcbmA7XG5jb25zdCBTdHlsZWRUcmFjayA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdwcm9ncmVzcy1iYXInXG59KWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50cmFja0NvbG9yIHx8IHByb3BzLnRoZW1lLnByb2dyZXNzQmFyVHJhY2tDb2xvcn07XG5gO1xuXG4vKiogQHR5cGUge1JlYWN0LkZ1bmN0aW9uQ29tcG9uZW50PFByb2dyZXNzQmFyUHJvcHM+fSAqL1xuY29uc3QgUHJvZ3Jlc3NCYXIgPSAoe3BlcmNlbnQsIGhlaWdodCA9IDQsIGlzTG9hZGluZywgYmFyQ29sb3IsIHRyYWNrQ29sb3IsIHRoZW1lfSkgPT4gKFxuICA8U3R5bGVkVHJhY2sgdHJhY2tDb2xvcj17dHJhY2tDb2xvcn0gdGhlbWU9e3RoZW1lfT5cbiAgICA8U3R5bGVkQmFyXG4gICAgICBiYXJDb2xvcj17YmFyQ29sb3J9XG4gICAgICBzdHlsZT17e3dpZHRoOiBwZXJjZW50LCBoZWlnaHQ6IGAke2hlaWdodH1weGAsIG9wYWNpdHk6IGlzTG9hZGluZyA/IDEgOiAwfX1cbiAgICAvPlxuICA8L1N0eWxlZFRyYWNrPlxuKTtcblxuZXhwb3J0IGRlZmF1bHQgUHJvZ3Jlc3NCYXI7XG4iXX0=
|
|
64
|
+
var _default = exports["default"] = ProgressBar;
|
|
65
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zdHlsZWRDb21wb25lbnRzIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIlN0eWxlZEJhciIsInN0eWxlZCIsInNwYW4iLCJhdHRycyIsImNsYXNzTmFtZSIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJiYXJDb2xvciIsInRoZW1lIiwicHJvZ3Jlc3NCYXJDb2xvciIsIlN0eWxlZFRyYWNrIiwiZGl2IiwidHJhY2tDb2xvciIsInByb2dyZXNzQmFyVHJhY2tDb2xvciIsIlByb2dyZXNzQmFyIiwiX3JlZiIsInBlcmNlbnQiLCJfcmVmJGhlaWdodCIsImhlaWdodCIsImlzTG9hZGluZyIsImNyZWF0ZUVsZW1lbnQiLCJzdHlsZSIsIndpZHRoIiwiY29uY2F0Iiwib3BhY2l0eSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NvbW1vbi9wcm9ncmVzcy1iYXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuXG4vKiogQHR5cGVkZWYge2ltcG9ydCgnLi9wcm9ncmVzcy1iYXInKS5Qcm9ncmVzc0JhclByb3BzfSBQcm9ncmVzc0JhclByb3BzICovXG5cbmNvbnN0IFN0eWxlZEJhciA9IHN0eWxlZC5zcGFuLmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAncHJvZ3Jlc3MtYmFyX19iYXInXG59KWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5iYXJDb2xvciB8fCBwcm9wcy50aGVtZS5wcm9ncmVzc0JhckNvbG9yfTtcbiAgLyogdHJhbnNpdGlvbjogd2lkdGggMjAwbXM7ICovXG4gIGRpc3BsYXk6IGJsb2NrO1xuYDtcbmNvbnN0IFN0eWxlZFRyYWNrID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ3Byb2dyZXNzLWJhcidcbn0pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRyYWNrQ29sb3IgfHwgcHJvcHMudGhlbWUucHJvZ3Jlc3NCYXJUcmFja0NvbG9yfTtcbmA7XG5cbi8qKiBAdHlwZSB7UmVhY3QuRnVuY3Rpb25Db21wb25lbnQ8UHJvZ3Jlc3NCYXJQcm9wcz59ICovXG5jb25zdCBQcm9ncmVzc0JhciA9ICh7cGVyY2VudCwgaGVpZ2h0ID0gNCwgaXNMb2FkaW5nLCBiYXJDb2xvciwgdHJhY2tDb2xvciwgdGhlbWV9KSA9PiAoXG4gIDxTdHlsZWRUcmFjayB0cmFja0NvbG9yPXt0cmFja0NvbG9yfSB0aGVtZT17dGhlbWV9PlxuICAgIDxTdHlsZWRCYXJcbiAgICAgIGJhckNvbG9yPXtiYXJDb2xvcn1cbiAgICAgIHN0eWxlPXt7d2lkdGg6IHBlcmNlbnQsIGhlaWdodDogYCR7aGVpZ2h0fXB4YCwgb3BhY2l0eTogaXNMb2FkaW5nID8gMSA6IDB9fVxuICAgIC8+XG4gIDwvU3R5bGVkVHJhY2s+XG4pO1xuXG5leHBvcnQgZGVmYXVsdCBQcm9ncmVzc0JhcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFvQkEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUF1QyxJQUFBRSxlQUFBLEVBQUFDLGdCQUFBLEVBckJ2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUtBOztBQUVBLElBQU1DLFNBQVMsR0FBR0MsNEJBQU0sQ0FBQ0MsSUFBSSxDQUFDQyxLQUFLLENBQUM7RUFDbENDLFNBQVMsRUFBRTtBQUNiLENBQUMsQ0FBQyxDQUFBTixlQUFBLEtBQUFBLGVBQUEsT0FBQU8sdUJBQUEsdUdBQ29CLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLFFBQVEsSUFBSUQsS0FBSyxDQUFDRSxLQUFLLENBQUNDLGdCQUFnQjtBQUFBLEVBRzVFO0FBQ0QsSUFBTUMsV0FBVyxHQUFHVCw0QkFBTSxDQUFDVSxHQUFHLENBQUNSLEtBQUssQ0FBQztFQUNuQ0MsU0FBUyxFQUFFO0FBQ2IsQ0FBQyxDQUFDLENBQUFMLGdCQUFBLEtBQUFBLGdCQUFBLE9BQUFNLHVCQUFBLGtEQUNvQixVQUFBQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDTSxVQUFVLElBQUlOLEtBQUssQ0FBQ0UsS0FBSyxDQUFDSyxxQkFBcUI7QUFBQSxFQUNuRjs7QUFFRDtBQUNBLElBQU1DLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFBQyxJQUFBO0VBQUEsSUFBS0MsT0FBTyxHQUFBRCxJQUFBLENBQVBDLE9BQU87SUFBQUMsV0FBQSxHQUFBRixJQUFBLENBQUVHLE1BQU07SUFBTkEsTUFBTSxHQUFBRCxXQUFBLGNBQUcsQ0FBQyxHQUFBQSxXQUFBO0lBQUVFLFNBQVMsR0FBQUosSUFBQSxDQUFUSSxTQUFTO0lBQUVaLFFBQVEsR0FBQVEsSUFBQSxDQUFSUixRQUFRO0lBQUVLLFVBQVUsR0FBQUcsSUFBQSxDQUFWSCxVQUFVO0lBQUVKLEtBQUssR0FBQU8sSUFBQSxDQUFMUCxLQUFLO0VBQUEsb0JBQy9FZCxNQUFBLFlBQUEwQixhQUFBLENBQUNWLFdBQVc7SUFBQ0UsVUFBVSxFQUFFQSxVQUFXO0lBQUNKLEtBQUssRUFBRUE7RUFBTSxnQkFDaERkLE1BQUEsWUFBQTBCLGFBQUEsQ0FBQ3BCLFNBQVM7SUFDUk8sUUFBUSxFQUFFQSxRQUFTO0lBQ25CYyxLQUFLLEVBQUU7TUFBQ0MsS0FBSyxFQUFFTixPQUFPO01BQUVFLE1BQU0sS0FBQUssTUFBQSxDQUFLTCxNQUFNLE9BQUk7TUFBRU0sT0FBTyxFQUFFTCxTQUFTLEdBQUcsQ0FBQyxHQUFHO0lBQUM7RUFBRSxDQUM1RSxDQUNVLENBQUM7QUFBQSxDQUNmO0FBQUMsSUFBQU0sUUFBQSxHQUFBQyxPQUFBLGNBRWFaLFdBQVcifQ==
|