@carto/kepler.gl 0.0.86-alpha.deck9.1 → 0.0.86
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 +41 -36
- package/dist/actions/actions.js +21 -15
- package/dist/actions/identity-actions.js +20 -14
- package/dist/actions/index.js +16 -16
- package/dist/actions/map-state-actions.js +18 -12
- package/dist/actions/map-style-actions.js +46 -30
- package/dist/actions/provider-actions.js +73 -49
- package/dist/actions/ui-state-actions.js +113 -73
- package/dist/actions/vis-state-actions.js +148 -152
- package/dist/cloud-providers/index.js +7 -6
- package/dist/cloud-providers/provider.js +279 -189
- package/dist/components/bottom-widget.js +117 -105
- package/dist/components/common/action-panel.js +74 -122
- package/dist/components/common/animation-control/animation-control.js +54 -69
- package/dist/components/common/animation-control/animation-controller.js +160 -134
- package/dist/components/common/animation-control/animation-speed-slider.js +54 -47
- package/dist/components/common/animation-control/floating-time-display.js +100 -120
- package/dist/components/common/animation-control/playback-controls.js +144 -147
- package/dist/components/common/animation-control/speed-control.js +23 -31
- package/dist/components/common/checkbox.js +70 -56
- package/dist/components/common/color-legend.js +110 -83
- package/dist/components/common/data-table/button.js +23 -31
- package/dist/components/common/data-table/canvas.js +5 -11
- package/dist/components/common/data-table/cell-size.js +61 -51
- package/dist/components/common/data-table/grid.js +59 -40
- package/dist/components/common/data-table/index.js +348 -464
- package/dist/components/common/data-table/option-dropdown.js +33 -50
- package/dist/components/common/dataset-label.js +13 -17
- package/dist/components/common/error-boundary.js +45 -27
- package/dist/components/common/field-selector.js +139 -99
- package/dist/components/common/field-token.js +9 -24
- package/dist/components/common/file-uploader/file-drop.js +115 -96
- package/dist/components/common/file-uploader/file-upload-progress.js +45 -68
- package/dist/components/common/file-uploader/file-upload.js +187 -215
- package/dist/components/common/file-uploader/upload-button.js +22 -35
- package/dist/components/common/histogram-plot.js +58 -47
- package/dist/components/common/icons/add.js +27 -14
- package/dist/components/common/icons/anchor_window.js +18 -16
- package/dist/components/common/icons/arrow-down-alt.js +27 -14
- package/dist/components/common/icons/arrow-down-solid.js +27 -14
- package/dist/components/common/icons/arrow-down.js +27 -14
- package/dist/components/common/icons/arrow-left.js +30 -17
- package/dist/components/common/icons/arrow-right.js +27 -14
- package/dist/components/common/icons/arrow-up-alt.js +28 -15
- package/dist/components/common/icons/arrow-up-solid.js +27 -14
- package/dist/components/common/icons/arrow-up.js +27 -14
- package/dist/components/common/icons/base.js +57 -39
- package/dist/components/common/icons/bug.js +29 -16
- package/dist/components/common/icons/cancel.js +27 -14
- package/dist/components/common/icons/checkmark.js +31 -18
- package/dist/components/common/icons/chevron-right.js +33 -20
- package/dist/components/common/icons/clipboard.js +28 -15
- package/dist/components/common/icons/clock.js +29 -16
- package/dist/components/common/icons/close.js +32 -19
- package/dist/components/common/icons/code-alt.js +29 -16
- package/dist/components/common/icons/copy.js +31 -18
- package/dist/components/common/icons/crosshairs.js +29 -16
- package/dist/components/common/icons/cube-3d.js +31 -18
- package/dist/components/common/icons/cursor-click.js +31 -18
- package/dist/components/common/icons/data-table.js +28 -15
- package/dist/components/common/icons/db.js +28 -15
- package/dist/components/common/icons/delete.js +29 -16
- package/dist/components/common/icons/docs.js +43 -30
- package/dist/components/common/icons/drag-n-drop.js +29 -16
- package/dist/components/common/icons/draw-polygon.js +46 -33
- package/dist/components/common/icons/email.js +31 -18
- package/dist/components/common/icons/expand.js +29 -16
- package/dist/components/common/icons/eye-seen.js +29 -16
- package/dist/components/common/icons/eye-unseen.js +29 -16
- package/dist/components/common/icons/file-type.js +19 -35
- package/dist/components/common/icons/file.js +27 -14
- package/dist/components/common/icons/files.js +26 -14
- package/dist/components/common/icons/filter-funnel.js +27 -14
- package/dist/components/common/icons/free-window.js +18 -16
- package/dist/components/common/icons/gear.js +29 -16
- package/dist/components/common/icons/hash.js +27 -14
- package/dist/components/common/icons/histogram.js +27 -15
- package/dist/components/common/icons/index.js +156 -156
- package/dist/components/common/icons/info.js +38 -25
- package/dist/components/common/icons/layers.js +27 -14
- package/dist/components/common/icons/left-arrow.js +29 -16
- package/dist/components/common/icons/legend.js +27 -14
- package/dist/components/common/icons/line-chart.js +27 -14
- package/dist/components/common/icons/login.js +30 -17
- package/dist/components/common/icons/logout.js +29 -16
- package/dist/components/common/icons/map-icon.js +32 -18
- package/dist/components/common/icons/map.js +32 -18
- package/dist/components/common/icons/messages.js +27 -14
- package/dist/components/common/icons/minus.js +27 -14
- package/dist/components/common/icons/order-by-dataset.js +17 -15
- package/dist/components/common/icons/order-by-list.js +9 -7
- package/dist/components/common/icons/pause.js +27 -14
- package/dist/components/common/icons/picture.js +26 -14
- package/dist/components/common/icons/pin.js +30 -17
- package/dist/components/common/icons/play.js +27 -14
- package/dist/components/common/icons/polygon.js +48 -35
- package/dist/components/common/icons/rectangle.js +49 -36
- package/dist/components/common/icons/reduce.js +30 -17
- package/dist/components/common/icons/reset.js +27 -14
- package/dist/components/common/icons/rocket.js +27 -14
- package/dist/components/common/icons/save.js +29 -16
- package/dist/components/common/icons/save2.js +33 -20
- package/dist/components/common/icons/search.js +29 -16
- package/dist/components/common/icons/settings.js +29 -16
- package/dist/components/common/icons/share.js +27 -14
- package/dist/components/common/icons/split.js +55 -42
- package/dist/components/common/icons/square-select.js +29 -16
- package/dist/components/common/icons/swap-horizontal.js +31 -18
- package/dist/components/common/icons/table.js +27 -14
- package/dist/components/common/icons/trash.js +29 -16
- package/dist/components/common/icons/upload.js +27 -14
- package/dist/components/common/icons/vert-dots.js +65 -52
- package/dist/components/common/icons/vert-three-dots.js +40 -27
- package/dist/components/common/icons/warning.js +39 -26
- package/dist/components/common/image-preview.js +33 -71
- package/dist/components/common/info-helper.js +29 -36
- package/dist/components/common/item-selector/accessor.js +13 -7
- package/dist/components/common/item-selector/chickleted-input.js +56 -72
- package/dist/components/common/item-selector/dropdown-list.js +214 -182
- package/dist/components/common/item-selector/item-selector-submenu.js +55 -34
- package/dist/components/common/item-selector/item-selector.js +194 -183
- package/dist/components/common/item-selector/typeahead.js +248 -236
- package/dist/components/common/line-chart.js +58 -80
- package/dist/components/common/loading-spinner.js +31 -46
- package/dist/components/common/logo.js +48 -61
- package/dist/components/common/map-layer-selector.js +25 -31
- package/dist/components/common/modal.js +106 -167
- package/dist/components/common/portaled.js +189 -169
- package/dist/components/common/progress-bar.js +24 -27
- package/dist/components/common/range-brush.js +215 -176
- package/dist/components/common/range-plot.js +63 -52
- package/dist/components/common/range-slider.js +231 -206
- package/dist/components/common/slider/mouse-event.js +66 -59
- package/dist/components/common/slider/slider-bar-handle.js +61 -51
- package/dist/components/common/slider/slider-handle.js +102 -127
- package/dist/components/common/slider/slider.js +162 -143
- package/dist/components/common/styled-components.js +256 -518
- package/dist/components/common/switch.js +11 -11
- package/dist/components/common/time-range-slider-time-title.js +32 -49
- package/dist/components/common/time-range-slider.js +45 -56
- package/dist/components/common/time-slider-marker.js +52 -71
- package/dist/components/common/tippy-tooltip.js +59 -89
- package/dist/components/common/toolbar-item.js +45 -53
- package/dist/components/common/toolbar.js +18 -24
- package/dist/components/common/vertical-toolbar.js +6 -13
- package/dist/components/container.js +119 -87
- package/dist/components/context.js +8 -6
- package/dist/components/editor/constants.js +4 -4
- package/dist/components/editor/editor.js +157 -122
- package/dist/components/editor/feature-action-panel.js +59 -52
- package/dist/components/editor/feature-styles.js +29 -46
- package/dist/components/editor/handle-style.js +29 -38
- package/dist/components/filters/components.js +4 -8
- package/dist/components/filters/filter-panels/filter-panel-with-field-select.js +43 -33
- package/dist/components/filters/filter-panels/multi-select-filter-panel.js +21 -20
- package/dist/components/filters/filter-panels/new-filter-panel.js +31 -24
- package/dist/components/filters/filter-panels/polygon-filter-panel.js +31 -26
- package/dist/components/filters/filter-panels/range-filter-panel.js +21 -20
- package/dist/components/filters/filter-panels/single-select-filter-panel.js +21 -20
- package/dist/components/filters/filter-panels/time-range-filter-panel.js +31 -28
- package/dist/components/filters/index.js +10 -10
- package/dist/components/filters/multi-select-filter.js +9 -11
- package/dist/components/filters/polygon-filter.js +41 -26
- package/dist/components/filters/range-filter.js +7 -9
- package/dist/components/filters/single-select-filter.js +13 -11
- package/dist/components/filters/time-range-filter.js +14 -16
- package/dist/components/filters/time-widget.js +84 -125
- package/dist/components/geocoder/geocoder.js +177 -158
- package/dist/components/geocoder-panel.js +87 -66
- package/dist/components/index.js +329 -328
- package/dist/components/injector.js +63 -44
- package/dist/components/kepler-gl.js +361 -325
- package/dist/components/map/coordinate-info.js +16 -18
- package/dist/components/map/layer-hover-info.js +86 -108
- package/dist/components/map/layer-selector-panel.js +48 -50
- package/dist/components/map/locale-panel.js +44 -38
- package/dist/components/map/map-control-panel.js +47 -70
- package/dist/components/map/map-control-toolbar.js +6 -9
- package/dist/components/map/map-control-tooltip.js +8 -10
- package/dist/components/map/map-control.js +27 -35
- package/dist/components/map/map-draw-panel.js +48 -38
- package/dist/components/map/map-legend-panel.js +50 -47
- package/dist/components/map/map-legend.js +116 -133
- package/dist/components/map/map-popover.js +100 -155
- package/dist/components/map/split-map-button.js +34 -30
- package/dist/components/map/toggle-3d-button.js +27 -25
- package/dist/components/map-container.js +359 -313
- package/dist/components/maps-layout.js +26 -16
- package/dist/components/modal-container.js +355 -359
- package/dist/components/modals/add-map-style-modal.js +194 -233
- package/dist/components/modals/cloud-tile.js +67 -96
- package/dist/components/modals/data-table-modal.js +152 -155
- package/dist/components/modals/delete-data-modal.js +20 -20
- package/dist/components/modals/error-display.js +7 -9
- package/dist/components/modals/export-data-modal.js +140 -118
- package/dist/components/modals/export-image-modal.js +69 -82
- package/dist/components/modals/export-map-modal/components.js +18 -20
- package/dist/components/modals/export-map-modal/export-html-map.js +74 -82
- package/dist/components/modals/export-map-modal/export-json-map.js +45 -65
- package/dist/components/modals/export-map-modal/export-map-modal.js +47 -42
- package/dist/components/modals/image-modal-container.js +21 -20
- package/dist/components/modals/load-data-modal.js +30 -28
- package/dist/components/modals/load-storage-map.js +178 -277
- package/dist/components/modals/loading-dialog.js +19 -41
- package/dist/components/modals/modal-dialog.js +6 -4
- package/dist/components/modals/modal-tabs.js +48 -83
- package/dist/components/modals/overwrite-map-modal.js +30 -41
- package/dist/components/modals/provider-modal-container.js +42 -23
- package/dist/components/modals/save-map-modal.js +83 -107
- package/dist/components/modals/share-map-modal.js +95 -101
- package/dist/components/modals/status-panel.js +43 -63
- package/dist/components/modals/storage-map-viewer.js +70 -133
- package/dist/components/notification-panel/notification-item.js +97 -94
- package/dist/components/notification-panel.js +43 -35
- package/dist/components/performance.js +53 -49
- package/dist/components/plot-container.js +169 -151
- package/dist/components/side-panel/cloud-storage-dropdown.js +15 -13
- package/dist/components/side-panel/common/dataset-info.js +12 -16
- package/dist/components/side-panel/common/dataset-tag.js +27 -48
- package/dist/components/side-panel/common/dataset-title.js +116 -119
- package/dist/components/side-panel/common/source-data-catalog.js +32 -31
- package/dist/components/side-panel/common/source-data-selector.js +77 -52
- package/dist/components/side-panel/custom-panel.js +8 -6
- package/dist/components/side-panel/filter-manager.js +62 -48
- package/dist/components/side-panel/filter-panel/filter-panel-header.js +25 -35
- package/dist/components/side-panel/filter-panel/filter-panel.js +64 -46
- package/dist/components/side-panel/interaction-manager.js +18 -20
- package/dist/components/side-panel/interaction-panel/brush-config.js +17 -17
- package/dist/components/side-panel/interaction-panel/interaction-panel.js +95 -76
- package/dist/components/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +143 -118
- package/dist/components/side-panel/interaction-panel/tooltip-config.js +76 -95
- package/dist/components/side-panel/layer-manager.js +115 -105
- package/dist/components/side-panel/layer-panel/add-layer-button.js +54 -92
- package/dist/components/side-panel/layer-panel/color-dimension-scale-selector.js +5 -5
- package/dist/components/side-panel/layer-panel/color-palette.js +37 -50
- package/dist/components/side-panel/layer-panel/color-range-selector.js +207 -196
- package/dist/components/side-panel/layer-panel/color-selector.js +110 -104
- package/dist/components/side-panel/layer-panel/column-selector.js +22 -34
- package/dist/components/side-panel/layer-panel/custom-markers-config-group.js +4 -4
- package/dist/components/side-panel/layer-panel/custom-palette.js +205 -248
- package/dist/components/side-panel/layer-panel/custom-picker.js +69 -51
- package/dist/components/side-panel/layer-panel/dataset-layer-group.js +42 -37
- package/dist/components/side-panel/layer-panel/dataset-layer-section.js +27 -31
- package/dist/components/side-panel/layer-panel/dataset-section.js +35 -45
- package/dist/components/side-panel/layer-panel/dimension-scale-selector.js +13 -14
- package/dist/components/side-panel/layer-panel/hex-column-config.js +55 -32
- package/dist/components/side-panel/layer-panel/layer-aggregation-resolution.js +5 -5
- package/dist/components/side-panel/layer-panel/layer-column-config.js +46 -42
- package/dist/components/side-panel/layer-panel/layer-config-group.js +144 -178
- package/dist/components/side-panel/layer-panel/layer-configurator.js +830 -826
- package/dist/components/side-panel/layer-panel/layer-list.js +94 -101
- package/dist/components/side-panel/layer-panel/layer-panel-header.js +82 -124
- package/dist/components/side-panel/layer-panel/layer-panel.js +105 -111
- package/dist/components/side-panel/layer-panel/layer-type-dropdown-list.js +58 -67
- package/dist/components/side-panel/layer-panel/layer-type-list-item.js +32 -47
- package/dist/components/side-panel/layer-panel/layer-type-selector.js +41 -30
- package/dist/components/side-panel/layer-panel/layer-visibility-by-zoom.js +43 -42
- package/dist/components/side-panel/layer-panel/panel-view-list-toggle.js +57 -55
- package/dist/components/side-panel/layer-panel/single-color-palette.js +33 -48
- package/dist/components/side-panel/layer-panel/text-label-panel.js +116 -81
- package/dist/components/side-panel/layer-panel/vis-config-by-field-selector.js +102 -88
- package/dist/components/side-panel/layer-panel/vis-config-slider.js +85 -99
- package/dist/components/side-panel/layer-panel/vis-config-switch.js +29 -38
- package/dist/components/side-panel/map-manager.js +89 -70
- package/dist/components/side-panel/map-style-panel/map-layer-selector.js +60 -72
- package/dist/components/side-panel/map-style-panel/map-style-selector.js +42 -64
- package/dist/components/side-panel/panel-dropdown.js +37 -21
- package/dist/components/side-panel/panel-header-action.js +65 -60
- package/dist/components/side-panel/panel-header.js +184 -165
- package/dist/components/side-panel/panel-tab.js +29 -35
- package/dist/components/side-panel/panel-title.js +18 -15
- package/dist/components/side-panel/panel-toggle.js +31 -30
- package/dist/components/side-panel/side-bar.js +91 -100
- package/dist/components/side-panel.js +123 -108
- package/dist/connect/keplergl-connect.js +26 -17
- package/dist/connect/with-local-selector.js +63 -31
- package/dist/constants/action-types.js +115 -113
- package/dist/constants/color-palette.js +16 -14
- package/dist/constants/color-ranges.js +28 -23
- package/dist/constants/custom-color-ranges.js +12 -12
- package/dist/constants/default-settings.js +254 -323
- package/dist/constants/index.js +63 -63
- package/dist/constants/keyevent.js +4 -4
- package/dist/constants/tooltip.js +5 -5
- package/dist/constants/user-feedbacks.js +5 -9
- package/dist/constants/user-guides.js +10 -10
- package/dist/deckgl-layers/3d-building-layer/3d-building-layer.js +63 -37
- package/dist/deckgl-layers/3d-building-layer/3d-building-utils.js +56 -52
- package/dist/deckgl-layers/cluster-layer/cluster-layer.js +168 -165
- package/dist/deckgl-layers/column-layer/enhanced-column-layer.js +43 -24
- package/dist/deckgl-layers/grid-layer/enhanced-cpu-grid-layer.js +40 -27
- package/dist/deckgl-layers/hexagon-layer/enhanced-hexagon-layer.js +40 -27
- package/dist/deckgl-layers/layer-utils/cluster-utils.js +68 -60
- package/dist/deckgl-layers/layer-utils/cpu-aggregator.js +282 -276
- package/dist/deckgl-layers/layer-utils/shader-utils.js +2 -2
- package/dist/deckgl-layers/line-layer/line-layer.js +70 -62
- package/dist/deckgl-layers/svg-icon-layer/scatterplot-icon-layer.js +51 -37
- package/dist/deckgl-layers/svg-icon-layer/svg-icon-layer.js +85 -65
- package/dist/index.js +16 -15
- package/dist/layers/aggregation-layer.js +331 -299
- package/dist/layers/arc-layer/arc-layer-icon.js +41 -27
- package/dist/layers/arc-layer/arc-layer.js +201 -174
- package/dist/layers/base-layer.js +1544 -1371
- package/dist/layers/cluster-layer/cluster-layer-icon.js +44 -30
- package/dist/layers/cluster-layer/cluster-layer.js +103 -89
- package/dist/layers/default-layer-icon.js +53 -39
- package/dist/layers/geojson-layer/geojson-layer-icon.js +55 -42
- package/dist/layers/geojson-layer/geojson-layer.js +353 -292
- package/dist/layers/geojson-layer/geojson-utils.js +36 -31
- package/dist/layers/grid-layer/grid-layer-icon.js +100 -87
- package/dist/layers/grid-layer/grid-layer.js +61 -51
- package/dist/layers/grid-layer/grid-utils.js +9 -13
- package/dist/layers/h3-hexagon-layer/h3-hexagon-layer-icon.js +35 -21
- package/dist/layers/h3-hexagon-layer/h3-hexagon-layer.js +260 -225
- package/dist/layers/h3-hexagon-layer/h3-utils.js +16 -16
- package/dist/layers/heatmap-layer/heatmap-layer-icon.js +52 -39
- package/dist/layers/heatmap-layer/heatmap-layer.js +171 -140
- package/dist/layers/hexagon-layer/hexagon-layer-icon.js +64 -51
- package/dist/layers/hexagon-layer/hexagon-layer.js +63 -49
- package/dist/layers/hexagon-layer/hexagon-utils.js +14 -15
- package/dist/layers/icon-layer/icon-info-modal.js +75 -82
- package/dist/layers/icon-layer/icon-layer-icon.js +37 -24
- package/dist/layers/icon-layer/icon-layer.js +303 -274
- package/dist/layers/index.js +29 -43
- package/dist/layers/layer-factory.js +41 -25
- package/dist/layers/layer-text-label.js +23 -21
- package/dist/layers/layer-update.js +18 -16
- package/dist/layers/line-layer/line-layer-icon.js +43 -30
- package/dist/layers/line-layer/line-layer.js +142 -123
- package/dist/layers/mapbox-utils.js +62 -61
- package/dist/layers/mapboxgl-layer.js +169 -124
- package/dist/layers/point-layer/point-layer-icon.js +59 -45
- package/dist/layers/point-layer/point-layer.js +386 -355
- package/dist/layers/s2-geometry-layer/s2-geometry-layer.js +238 -208
- package/dist/layers/s2-geometry-layer/s2-layer-icon.js +35 -21
- package/dist/layers/s2-geometry-layer/s2-utils.js +8 -9
- package/dist/layers/scenegraph-layer/scenegraph-info-modal.js +25 -24
- package/dist/layers/scenegraph-layer/scenegraph-layer-icon.js +115 -102
- package/dist/layers/scenegraph-layer/scenegraph-layer.js +172 -148
- package/dist/layers/trip-layer/trip-info-modal.js +30 -50
- package/dist/layers/trip-layer/trip-layer-icon.js +53 -40
- package/dist/layers/trip-layer/trip-layer.js +307 -239
- package/dist/layers/trip-layer/trip-utils.js +50 -34
- package/dist/layers/types.js +2 -2
- package/dist/localization/formatted-message.js +10 -8
- package/dist/localization/index.js +7 -7
- package/dist/localization/locales.js +9 -6
- package/dist/localization/messages.js +10 -13
- package/dist/localization/translations/ca.js +13 -11
- package/dist/localization/translations/cn.js +13 -11
- package/dist/localization/translations/en.js +13 -11
- package/dist/localization/translations/es.js +13 -11
- package/dist/localization/translations/fi.js +13 -11
- package/dist/localization/translations/ja.js +13 -11
- package/dist/localization/translations/pt.js +13 -11
- package/dist/localization/translations/ru.js +13 -11
- package/dist/middleware/index.js +5 -3
- package/dist/processors/data-processor.js +201 -164
- package/dist/processors/file-handler.js +233 -111
- package/dist/processors/index.js +4 -4
- package/dist/reducers/combined-updaters.js +41 -41
- package/dist/reducers/composer-helpers.js +45 -20
- package/dist/reducers/composers.js +8 -9
- package/dist/reducers/core.js +35 -31
- package/dist/reducers/index.js +22 -21
- package/dist/reducers/map-state-updaters.js +47 -65
- package/dist/reducers/map-state.js +15 -23
- package/dist/reducers/map-style-updaters.js +159 -233
- package/dist/reducers/map-style.js +16 -30
- package/dist/reducers/provider-state-updaters.js +229 -217
- package/dist/reducers/provider-state.js +17 -29
- package/dist/reducers/root.js +58 -86
- package/dist/reducers/ui-state-updaters.js +218 -337
- package/dist/reducers/ui-state.js +16 -45
- package/dist/reducers/vis-state-merger.js +209 -205
- package/dist/reducers/vis-state-selectors.js +19 -5
- package/dist/reducers/vis-state-updaters.js +876 -1003
- package/dist/reducers/vis-state.js +16 -75
- package/dist/schemas/dataset-schema.js +108 -84
- package/dist/schemas/index.js +29 -28
- package/dist/schemas/map-state-schema.js +18 -21
- package/dist/schemas/map-style-schema.js +55 -47
- package/dist/schemas/schema-manager.js +161 -147
- package/dist/schemas/schema-utils.js +9 -8
- package/dist/schemas/schema.js +87 -72
- package/dist/schemas/versions.js +3 -3
- package/dist/schemas/vis-state-schema.js +583 -441
- package/dist/styles/base.js +1021 -1217
- package/dist/styles/index.js +3 -3
- package/dist/styles/media-breakpoints.js +18 -23
- package/dist/tasks/tasks.js +39 -36
- package/dist/templates/export-map-html.js +4 -233
- package/dist/utils/aggregate-utils.js +16 -13
- package/dist/utils/color-utils.js +37 -29
- package/dist/utils/custom-scales.js +3 -3
- package/dist/utils/data-scale-utils.js +13 -6
- package/dist/utils/data-utils.js +83 -60
- package/dist/utils/dataset-utils.js +77 -48
- package/dist/utils/dom-to-image.js +163 -108
- package/dist/utils/dom-utils.js +105 -88
- package/dist/utils/export-utils.js +103 -116
- package/dist/utils/filter-utils.js +374 -379
- package/dist/utils/gl-utils.js +15 -16
- package/dist/utils/gpu-filter-utils.js +73 -54
- package/dist/utils/index.js +48 -47
- package/dist/utils/interaction-utils.js +46 -53
- package/dist/utils/layer-utils.js +78 -89
- package/dist/utils/locale-utils.js +16 -24
- package/dist/utils/map-style-utils/mapbox-gl-style-editor.js +76 -67
- package/dist/utils/map-style-utils/mapbox-utils.js +3 -4
- package/dist/utils/mapbox-utils.js +4 -3
- package/dist/utils/notifications-utils.js +38 -33
- package/dist/utils/observe-dimensions.js +54 -42
- package/dist/utils/projection-utils.js +11 -14
- package/dist/utils/split-map-utils.js +33 -30
- package/dist/utils/table-utils/data-container-utils.js +14 -15
- package/dist/utils/table-utils/data-row.js +65 -58
- package/dist/utils/table-utils/index.js +2 -2
- package/dist/utils/table-utils/indexed-data-container.js +173 -105
- package/dist/utils/table-utils/kepler-table.js +386 -362
- package/dist/utils/table-utils/row-data-container.js +164 -99
- package/dist/utils/utils.js +30 -29
- package/package.json +1 -1
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
|
-
exports.getChildPos = exports
|
|
8
|
+
exports.getChildPos = exports["default"] = void 0;
|
|
8
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
13
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
14
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
9
15
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
16
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
17
|
var _debounce = _interopRequireDefault(require("lodash/debounce"));
|
|
@@ -16,9 +22,12 @@ var _reactModal = _interopRequireDefault(require("react-modal"));
|
|
|
16
22
|
var _window = _interopRequireDefault(require("global/window"));
|
|
17
23
|
var _document = _interopRequireDefault(require("global/document"));
|
|
18
24
|
var _base = require("../../styles/base");
|
|
19
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
20
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" !=
|
|
21
|
-
|
|
25
|
+
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); }
|
|
26
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
27
|
+
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)); }
|
|
28
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
29
|
+
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; }
|
|
30
|
+
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.
|
|
22
31
|
//
|
|
23
32
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
24
33
|
// of this software and associated documentation files (the "Software"), to deal
|
|
@@ -37,66 +46,67 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
37
46
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
38
47
|
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
39
48
|
// THE SOFTWARE.
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
y: _window.default.pageYOffset !== undefined ? _window.default.pageYOffset : (_document.default.documentElement || _document.default.body.parentNode || _document.default.body).scrollTop
|
|
46
|
-
});
|
|
47
|
-
const addEventListeners = () => {
|
|
48
|
-
if (_document.default && _document.default.body) _document.default.body.addEventListener('mousewheel', (0, _debounce.default)(startListening, 100));
|
|
49
|
-
_window.default.addEventListener('resize', (0, _debounce.default)(startListening, 50));
|
|
49
|
+
var listeners = {};
|
|
50
|
+
var startListening = function startListening() {
|
|
51
|
+
return Object.keys(listeners).forEach(function (key) {
|
|
52
|
+
return listeners[key]();
|
|
53
|
+
});
|
|
50
54
|
};
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
childRect,
|
|
56
|
-
pageOffset,
|
|
57
|
-
padding
|
|
58
|
-
} = _ref;
|
|
59
|
-
const {
|
|
60
|
-
topOffset,
|
|
61
|
-
leftOffset,
|
|
62
|
-
rightOffset
|
|
63
|
-
} = offsets;
|
|
64
|
-
const anchorLeft = leftOffset !== undefined;
|
|
65
|
-
const pos = {
|
|
66
|
-
top: pageOffset.y + rect.top + (topOffset || 0),
|
|
67
|
-
...(anchorLeft ? {
|
|
68
|
-
left: pageOffset.x + rect.left + leftOffset
|
|
69
|
-
} : {
|
|
70
|
-
right: _window.default.innerWidth - rect.right - pageOffset.x + (rightOffset || 0)
|
|
71
|
-
})
|
|
55
|
+
var getPageOffset = function getPageOffset() {
|
|
56
|
+
return {
|
|
57
|
+
x: _window["default"].pageXOffset !== undefined ? _window["default"].pageXOffset : (_document["default"].documentElement || _document["default"].body.parentNode || _document["default"].body).scrollLeft,
|
|
58
|
+
y: _window["default"].pageYOffset !== undefined ? _window["default"].pageYOffset : (_document["default"].documentElement || _document["default"].body.parentNode || _document["default"].body).scrollTop
|
|
72
59
|
};
|
|
73
|
-
|
|
60
|
+
};
|
|
61
|
+
var addEventListeners = function addEventListeners() {
|
|
62
|
+
if (_document["default"] && _document["default"].body) _document["default"].body.addEventListener('mousewheel', (0, _debounce["default"])(startListening, 100));
|
|
63
|
+
_window["default"].addEventListener('resize', (0, _debounce["default"])(startListening, 50));
|
|
64
|
+
};
|
|
65
|
+
var getChildPos = exports.getChildPos = function getChildPos(_ref) {
|
|
66
|
+
var offsets = _ref.offsets,
|
|
67
|
+
rect = _ref.rect,
|
|
68
|
+
childRect = _ref.childRect,
|
|
69
|
+
pageOffset = _ref.pageOffset,
|
|
70
|
+
padding = _ref.padding;
|
|
71
|
+
var topOffset = offsets.topOffset,
|
|
72
|
+
leftOffset = offsets.leftOffset,
|
|
73
|
+
rightOffset = offsets.rightOffset;
|
|
74
|
+
var anchorLeft = leftOffset !== undefined;
|
|
75
|
+
var pos = _objectSpread({
|
|
76
|
+
top: pageOffset.y + rect.top + (topOffset || 0)
|
|
77
|
+
}, anchorLeft ? {
|
|
78
|
+
left: pageOffset.x + rect.left + leftOffset
|
|
79
|
+
} : {
|
|
80
|
+
right: _window["default"].innerWidth - rect.right - pageOffset.x + (rightOffset || 0)
|
|
81
|
+
});
|
|
82
|
+
var leftOrRight = anchorLeft ? 'left' : 'right';
|
|
74
83
|
if (pos[leftOrRight] && pos[leftOrRight] < 0) {
|
|
75
84
|
pos[leftOrRight] = padding;
|
|
76
|
-
} else if (pos[leftOrRight] && pos[leftOrRight] + childRect.width > _window
|
|
77
|
-
pos[leftOrRight] = _window
|
|
85
|
+
} else if (pos[leftOrRight] && pos[leftOrRight] + childRect.width > _window["default"].innerWidth) {
|
|
86
|
+
pos[leftOrRight] = _window["default"].innerWidth - childRect.width - padding;
|
|
78
87
|
}
|
|
79
88
|
if (pos.top < 0) {
|
|
80
89
|
pos.top = padding;
|
|
81
|
-
} else if (pos.top + childRect.height > _window
|
|
82
|
-
pos.top = _window
|
|
90
|
+
} else if (pos.top + childRect.height > _window["default"].innerHeight) {
|
|
91
|
+
pos.top = _window["default"].innerHeight - childRect.height - padding;
|
|
83
92
|
}
|
|
84
93
|
return pos;
|
|
85
94
|
};
|
|
86
|
-
|
|
87
|
-
if (_document.default.body) {
|
|
95
|
+
if (_document["default"].body) {
|
|
88
96
|
addEventListeners();
|
|
89
97
|
} else {
|
|
90
|
-
_document
|
|
98
|
+
_document["default"].addEventListener('DOMContentLoaded', addEventListeners);
|
|
91
99
|
}
|
|
92
|
-
|
|
100
|
+
var listenerIdCounter = 0;
|
|
93
101
|
function subscribe(fn) {
|
|
94
102
|
listenerIdCounter += 1;
|
|
95
|
-
|
|
103
|
+
var id = listenerIdCounter;
|
|
96
104
|
listeners[id] = fn;
|
|
97
|
-
return ()
|
|
105
|
+
return function () {
|
|
106
|
+
return delete listeners[id];
|
|
107
|
+
};
|
|
98
108
|
}
|
|
99
|
-
|
|
109
|
+
var defaultModalStyle = {
|
|
100
110
|
content: {
|
|
101
111
|
top: 0,
|
|
102
112
|
left: 0,
|
|
@@ -113,145 +123,155 @@ const defaultModalStyle = {
|
|
|
113
123
|
backgroundColor: 'rgba(0, 0, 0, 0)'
|
|
114
124
|
}
|
|
115
125
|
};
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
(0,
|
|
126
|
+
var WINDOW_PAD = 20;
|
|
127
|
+
var noop = function noop() {};
|
|
128
|
+
var Portaled = /*#__PURE__*/function (_Component) {
|
|
129
|
+
function Portaled() {
|
|
130
|
+
var _this;
|
|
131
|
+
(0, _classCallCheck2["default"])(this, Portaled);
|
|
132
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
133
|
+
args[_key] = arguments[_key];
|
|
134
|
+
}
|
|
135
|
+
_this = _callSuper(this, Portaled, [].concat(args));
|
|
136
|
+
(0, _defineProperty2["default"])(_this, "state", {
|
|
122
137
|
pos: null,
|
|
123
138
|
isVisible: false
|
|
124
139
|
});
|
|
125
|
-
(0, _defineProperty2
|
|
126
|
-
(0, _defineProperty2
|
|
127
|
-
(0, _defineProperty2
|
|
128
|
-
(0, _defineProperty2
|
|
140
|
+
(0, _defineProperty2["default"])(_this, "unsubscribe", undefined);
|
|
141
|
+
(0, _defineProperty2["default"])(_this, "_unmounted", false);
|
|
142
|
+
(0, _defineProperty2["default"])(_this, "element", /*#__PURE__*/(0, _react.createRef)());
|
|
143
|
+
(0, _defineProperty2["default"])(_this, "child", /*#__PURE__*/(0, _react.createRef)());
|
|
129
144
|
// eslint-disable-next-line complexity
|
|
130
|
-
(0, _defineProperty2
|
|
131
|
-
if (
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
top
|
|
137
|
-
left
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
145
|
+
(0, _defineProperty2["default"])(_this, "handleScroll", function () {
|
|
146
|
+
if (_this.child.current && _this.element.current) {
|
|
147
|
+
var rect = _this.element.current.getBoundingClientRect();
|
|
148
|
+
var childRect = _this.child.current.getBoundingClientRect();
|
|
149
|
+
var pageOffset = getPageOffset();
|
|
150
|
+
var _this$props = _this.props,
|
|
151
|
+
topOffset = _this$props.top,
|
|
152
|
+
_this$props$left = _this$props.left,
|
|
153
|
+
leftOffset = _this$props$left === void 0 ? 0 : _this$props$left,
|
|
154
|
+
rightOffset = _this$props.right;
|
|
155
|
+
var pos = getChildPos({
|
|
141
156
|
offsets: {
|
|
142
|
-
topOffset,
|
|
143
|
-
leftOffset,
|
|
144
|
-
rightOffset
|
|
157
|
+
topOffset: topOffset,
|
|
158
|
+
leftOffset: leftOffset,
|
|
159
|
+
rightOffset: rightOffset
|
|
145
160
|
},
|
|
146
|
-
rect,
|
|
147
|
-
childRect,
|
|
148
|
-
pageOffset,
|
|
161
|
+
rect: rect,
|
|
162
|
+
childRect: childRect,
|
|
163
|
+
pageOffset: pageOffset,
|
|
149
164
|
padding: WINDOW_PAD
|
|
150
165
|
});
|
|
151
|
-
if (!(0, _isEqual
|
|
152
|
-
|
|
153
|
-
pos
|
|
166
|
+
if (!(0, _isEqual["default"])(pos, _this.state.pos)) {
|
|
167
|
+
_this.setState({
|
|
168
|
+
pos: pos
|
|
154
169
|
});
|
|
155
170
|
}
|
|
156
171
|
}
|
|
157
172
|
});
|
|
173
|
+
return _this;
|
|
158
174
|
}
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
}
|
|
164
|
-
componentDidUpdate(prevProps) {
|
|
165
|
-
const didOpen = this.props.isOpened && !prevProps.isOpened;
|
|
166
|
-
const didClose = !this.props.isOpened && prevProps.isOpened;
|
|
167
|
-
if (didOpen || didClose) {
|
|
168
|
-
_window.default.requestAnimationFrame(() => {
|
|
169
|
-
if (this._unmounted) return;
|
|
170
|
-
this.setState({
|
|
171
|
-
isVisible: Boolean(didOpen)
|
|
172
|
-
});
|
|
173
|
-
});
|
|
174
|
-
}
|
|
175
|
-
this.handleScroll();
|
|
176
|
-
}
|
|
177
|
-
componentWillUnmount() {
|
|
178
|
-
this._unmounted = true;
|
|
179
|
-
// @ts-ignore
|
|
180
|
-
this.unsubscribe();
|
|
181
|
-
}
|
|
182
|
-
render() {
|
|
183
|
-
const {
|
|
175
|
+
(0, _inherits2["default"])(Portaled, _Component);
|
|
176
|
+
return (0, _createClass2["default"])(Portaled, [{
|
|
177
|
+
key: "componentDidMount",
|
|
178
|
+
value: function componentDidMount() {
|
|
184
179
|
// relative
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
...(modalStyle.content || {})
|
|
202
|
-
},
|
|
203
|
-
overlay: {
|
|
204
|
-
...defaultModalStyle.overlay,
|
|
205
|
-
...(modalStyle.overlay || {}),
|
|
206
|
-
// needs to be on top of existing modal
|
|
207
|
-
zIndex: overlayZIndex || 9999
|
|
180
|
+
this.unsubscribe = subscribe(this.handleScroll);
|
|
181
|
+
this.handleScroll();
|
|
182
|
+
}
|
|
183
|
+
}, {
|
|
184
|
+
key: "componentDidUpdate",
|
|
185
|
+
value: function componentDidUpdate(prevProps) {
|
|
186
|
+
var _this2 = this;
|
|
187
|
+
var didOpen = this.props.isOpened && !prevProps.isOpened;
|
|
188
|
+
var didClose = !this.props.isOpened && prevProps.isOpened;
|
|
189
|
+
if (didOpen || didClose) {
|
|
190
|
+
_window["default"].requestAnimationFrame(function () {
|
|
191
|
+
if (_this2._unmounted) return;
|
|
192
|
+
_this2.setState({
|
|
193
|
+
isVisible: Boolean(didOpen)
|
|
194
|
+
});
|
|
195
|
+
});
|
|
208
196
|
}
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
197
|
+
this.handleScroll();
|
|
198
|
+
}
|
|
199
|
+
}, {
|
|
200
|
+
key: "componentWillUnmount",
|
|
201
|
+
value: function componentWillUnmount() {
|
|
202
|
+
this._unmounted = true;
|
|
203
|
+
// @ts-ignore
|
|
204
|
+
this.unsubscribe();
|
|
205
|
+
}
|
|
206
|
+
}, {
|
|
207
|
+
key: "render",
|
|
208
|
+
value: function render() {
|
|
209
|
+
var _this3 = this;
|
|
210
|
+
var _this$props2 = this.props,
|
|
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;
|
|
219
|
+
var _this$state = this.state,
|
|
220
|
+
isVisible = _this$state.isVisible,
|
|
221
|
+
pos = _this$state.pos;
|
|
222
|
+
var newModalStyle = _objectSpread(_objectSpread({}, defaultModalStyle), {}, {
|
|
223
|
+
content: _objectSpread({}, modalStyle.content || {}),
|
|
224
|
+
overlay: _objectSpread(_objectSpread(_objectSpread({}, defaultModalStyle.overlay), modalStyle.overlay || {}), {}, {
|
|
225
|
+
// needs to be on top of existing modal
|
|
226
|
+
zIndex: overlayZIndex || 9999
|
|
227
|
+
})
|
|
228
|
+
});
|
|
229
|
+
return /*#__PURE__*/_react["default"].createElement(_context.RootContext.Consumer, null, function (context) {
|
|
230
|
+
return /*#__PURE__*/_react["default"].createElement(Comp, {
|
|
231
|
+
ref: _this3.element
|
|
232
|
+
}, isOpened ? /*#__PURE__*/_react["default"].createElement(_reactModal["default"], (0, _extends2["default"])({
|
|
233
|
+
className: "modal-portal"
|
|
234
|
+
}, modalProps, {
|
|
235
|
+
ariaHideApp: false,
|
|
236
|
+
isOpen: true,
|
|
237
|
+
style: newModalStyle,
|
|
238
|
+
parentSelector: function parentSelector() {
|
|
239
|
+
// React modal issue: https://github.com/reactjs/react-modal/issues/769
|
|
240
|
+
// failed to execute removeChild on parent node when it is already unmounted
|
|
241
|
+
return (
|
|
242
|
+
// @ts-ignore
|
|
243
|
+
context && context.current || {
|
|
244
|
+
removeChild: function removeChild() {},
|
|
245
|
+
appendChild: function appendChild() {}
|
|
246
|
+
}
|
|
247
|
+
);
|
|
226
248
|
}
|
|
227
|
-
)
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
}
|
|
251
|
-
(0, _defineProperty2.default)(Portaled, "defaultProps", {
|
|
249
|
+
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
250
|
+
className: "portaled-content",
|
|
251
|
+
key: "item",
|
|
252
|
+
style: _objectSpread({
|
|
253
|
+
position: 'fixed',
|
|
254
|
+
opacity: isVisible ? 1 : 0,
|
|
255
|
+
transition: _this3.props.theme.transition,
|
|
256
|
+
// @ts-expect-error
|
|
257
|
+
top: _this3.state.top,
|
|
258
|
+
marginTop: isVisible ? '0px' : '14px'
|
|
259
|
+
}, pos)
|
|
260
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
261
|
+
ref: _this3.child,
|
|
262
|
+
style: {
|
|
263
|
+
position: 'absolute',
|
|
264
|
+
zIndex: overlayZIndex ? overlayZIndex + 1 : 10000
|
|
265
|
+
}
|
|
266
|
+
}, children))) : null);
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
}]);
|
|
270
|
+
}(_react.Component);
|
|
271
|
+
(0, _defineProperty2["default"])(Portaled, "defaultProps", {
|
|
252
272
|
component: 'div',
|
|
253
273
|
onClose: noop,
|
|
254
274
|
theme: _base.theme
|
|
255
275
|
});
|
|
256
|
-
var _default = exports
|
|
257
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfZGVib3VuY2UiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2lzRXF1YWwiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9jb250ZXh0IiwiX3JlYWN0TW9kYWwiLCJfd2luZG93IiwiX2RvY3VtZW50IiwiX2Jhc2UiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJsaXN0ZW5lcnMiLCJzdGFydExpc3RlbmluZyIsImtleXMiLCJmb3JFYWNoIiwia2V5IiwiZ2V0UGFnZU9mZnNldCIsIngiLCJ3aW5kb3ciLCJwYWdlWE9mZnNldCIsInVuZGVmaW5lZCIsImRvY3VtZW50IiwiZG9jdW1lbnRFbGVtZW50IiwiYm9keSIsInBhcmVudE5vZGUiLCJzY3JvbGxMZWZ0IiwieSIsInBhZ2VZT2Zmc2V0Iiwic2Nyb2xsVG9wIiwiYWRkRXZlbnRMaXN0ZW5lcnMiLCJhZGRFdmVudExpc3RlbmVyIiwiZGVib3VuY2UiLCJnZXRDaGlsZFBvcyIsIl9yZWYiLCJvZmZzZXRzIiwicmVjdCIsImNoaWxkUmVjdCIsInBhZ2VPZmZzZXQiLCJwYWRkaW5nIiwidG9wT2Zmc2V0IiwibGVmdE9mZnNldCIsInJpZ2h0T2Zmc2V0IiwiYW5jaG9yTGVmdCIsInBvcyIsInRvcCIsImxlZnQiLCJyaWdodCIsImlubmVyV2lkdGgiLCJsZWZ0T3JSaWdodCIsIndpZHRoIiwiaGVpZ2h0IiwiaW5uZXJIZWlnaHQiLCJleHBvcnRzIiwibGlzdGVuZXJJZENvdW50ZXIiLCJzdWJzY3JpYmUiLCJmbiIsImlkIiwiZGVmYXVsdE1vZGFsU3R5bGUiLCJjb250ZW50IiwiYm9yZGVyIiwiYm90dG9tIiwib3ZlcmxheSIsImJhY2tncm91bmRDb2xvciIsIldJTkRPV19QQUQiLCJub29wIiwiUG9ydGFsZWQiLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsImFyZ3VtZW50cyIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJpc1Zpc2libGUiLCJjcmVhdGVSZWYiLCJjaGlsZCIsImN1cnJlbnQiLCJlbGVtZW50IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwicHJvcHMiLCJpc0VxdWFsIiwic3RhdGUiLCJzZXRTdGF0ZSIsImNvbXBvbmVudERpZE1vdW50IiwidW5zdWJzY3JpYmUiLCJoYW5kbGVTY3JvbGwiLCJjb21wb25lbnREaWRVcGRhdGUiLCJwcmV2UHJvcHMiLCJkaWRPcGVuIiwiaXNPcGVuZWQiLCJkaWRDbG9zZSIsInJlcXVlc3RBbmltYXRpb25GcmFtZSIsIl91bm1vdW50ZWQiLCJCb29sZWFuIiwiY29tcG9uZW50V2lsbFVubW91bnQiLCJyZW5kZXIiLCJjb21wb25lbnQiLCJDb21wIiwib3ZlcmxheVpJbmRleCIsIm9uQ2xvc2UiLCJjaGlsZHJlbiIsIm1vZGFsUHJvcHMiLCJtb2RhbFN0eWxlIiwibmV3TW9kYWxTdHlsZSIsInpJbmRleCIsImNyZWF0ZUVsZW1lbnQiLCJSb290Q29udGV4dCIsIkNvbnN1bWVyIiwiY29udGV4dCIsInJlZiIsIl9leHRlbmRzMiIsImNsYXNzTmFtZSIsImFyaWFIaWRlQXBwIiwiaXNPcGVuIiwic3R5bGUiLCJwYXJlbnRTZWxlY3RvciIsInJlbW92ZUNoaWxkIiwiYXBwZW5kQ2hpbGQiLCJwb3NpdGlvbiIsIm9wYWNpdHkiLCJ0cmFuc2l0aW9uIiwidGhlbWUiLCJtYXJnaW5Ub3AiLCJfZGVmYXVsdCIsIndpdGhUaGVtZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NvbW1vbi9wb3J0YWxlZC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50LCBjcmVhdGVSZWYsIEVsZW1lbnRUeXBlLCBQcm9wc1dpdGhDaGlsZHJlbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGRlYm91bmNlIGZyb20gJ2xvZGFzaC9kZWJvdW5jZSc7XG5pbXBvcnQgaXNFcXVhbCBmcm9tICdsb2Rhc2gvaXNFcXVhbCc7XG5cbmltcG9ydCB7d2l0aFRoZW1lfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge1Jvb3RDb250ZXh0fSBmcm9tICdjb21wb25lbnRzL2NvbnRleHQnO1xuaW1wb3J0IE1vZGFsIGZyb20gJ3JlYWN0LW1vZGFsJztcbmltcG9ydCB3aW5kb3cgZnJvbSAnZ2xvYmFsL3dpbmRvdyc7XG5pbXBvcnQgZG9jdW1lbnQgZnJvbSAnZ2xvYmFsL2RvY3VtZW50JztcbmltcG9ydCB7dGhlbWV9IGZyb20gJ3N0eWxlcy9iYXNlJztcblxuY29uc3QgbGlzdGVuZXJzID0ge307XG5cbmNvbnN0IHN0YXJ0TGlzdGVuaW5nID0gKCkgPT4gT2JqZWN0LmtleXMobGlzdGVuZXJzKS5mb3JFYWNoKGtleSA9PiBsaXN0ZW5lcnNba2V5XSgpKTtcblxuY29uc3QgZ2V0UGFnZU9mZnNldCA9ICgpID0+ICh7XG4gIHg6XG4gICAgd2luZG93LnBhZ2VYT2Zmc2V0ICE9PSB1bmRlZmluZWRcbiAgICAgID8gd2luZG93LnBhZ2VYT2Zmc2V0XG4gICAgICA6IChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgfHwgZG9jdW1lbnQuYm9keS5wYXJlbnROb2RlIHx8IGRvY3VtZW50LmJvZHkpLnNjcm9sbExlZnQsXG4gIHk6XG4gICAgd2luZG93LnBhZ2VZT2Zmc2V0ICE9PSB1bmRlZmluZWRcbiAgICAgID8gd2luZG93LnBhZ2VZT2Zmc2V0XG4gICAgICA6IChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgfHwgZG9jdW1lbnQuYm9keS5wYXJlbnROb2RlIHx8IGRvY3VtZW50LmJvZHkpLnNjcm9sbFRvcFxufSk7XG5cbmNvbnN0IGFkZEV2ZW50TGlzdGVuZXJzID0gKCkgPT4ge1xuICBpZiAoZG9jdW1lbnQgJiYgZG9jdW1lbnQuYm9keSlcbiAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNld2hlZWwnLCBkZWJvdW5jZShzdGFydExpc3RlbmluZywgMTAwKSk7XG4gIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCBkZWJvdW5jZShzdGFydExpc3RlbmluZywgNTApKTtcbn07XG5cbmludGVyZmFjZSBHZXRDaGlsZFBvc1Byb3BzIHtcbiAgb2Zmc2V0czogUGFydGlhbDx7XG4gICAgdG9wT2Zmc2V0OiBudW1iZXI7XG4gICAgbGVmdE9mZnNldDogbnVtYmVyO1xuICAgIHJpZ2h0T2Zmc2V0OiBudW1iZXI7XG4gIH0+O1xuICByZWN0OiBET01SZWN0O1xuICBjaGlsZFJlY3Q6IERPTVJlY3Q7XG4gIHBhZ2VPZmZzZXQ6IHtcbiAgICB4OiBudW1iZXI7XG4gICAgeTogbnVtYmVyO1xuICB9O1xuICBwYWRkaW5nOiBudW1iZXI7XG59XG5cbmV4cG9ydCBjb25zdCBnZXRDaGlsZFBvcyA9ICh7b2Zmc2V0cywgcmVjdCwgY2hpbGRSZWN0LCBwYWdlT2Zmc2V0LCBwYWRkaW5nfTogR2V0Q2hpbGRQb3NQcm9wcykgPT4ge1xuICBjb25zdCB7dG9wT2Zmc2V0LCBsZWZ0T2Zmc2V0LCByaWdodE9mZnNldH0gPSBvZmZzZXRzO1xuXG4gIGNvbnN0IGFuY2hvckxlZnQgPSBsZWZ0T2Zmc2V0ICE9PSB1bmRlZmluZWQ7XG4gIGNvbnN0IHBvcyA9IHtcbiAgICB0b3A6IHBhZ2VPZmZzZXQueSArIHJlY3QudG9wICsgKHRvcE9mZnNldCB8fCAwKSxcbiAgICAuLi4oYW5jaG9yTGVmdFxuICAgICAgPyB7bGVmdDogcGFnZU9mZnNldC54ICsgcmVjdC5sZWZ0ICsgbGVmdE9mZnNldCF9XG4gICAgICA6IHtyaWdodDogd2luZG93LmlubmVyV2lkdGggLSByZWN0LnJpZ2h0IC0gcGFnZU9mZnNldC54ICsgKHJpZ2h0T2Zmc2V0IHx8IDApfSlcbiAgfTtcblxuICBjb25zdCBsZWZ0T3JSaWdodCA9IGFuY2hvckxlZnQgPyAnbGVmdCcgOiAncmlnaHQnO1xuXG4gIGlmIChwb3NbbGVmdE9yUmlnaHRdICYmIHBvc1tsZWZ0T3JSaWdodF0gPCAwKSB7XG4gICAgcG9zW2xlZnRPclJpZ2h0XSA9IHBhZGRpbmc7XG4gIH0gZWxzZSBpZiAocG9zW2xlZnRPclJpZ2h0XSAmJiBwb3NbbGVmdE9yUmlnaHRdICsgY2hpbGRSZWN0LndpZHRoID4gd2luZG93LmlubmVyV2lkdGgpIHtcbiAgICBwb3NbbGVmdE9yUmlnaHRdID0gd2luZG93LmlubmVyV2lkdGggLSBjaGlsZFJlY3Qud2lkdGggLSBwYWRkaW5nO1xuICB9XG5cbiAgaWYgKHBvcy50b3AgPCAwKSB7XG4gICAgcG9zLnRvcCA9IHBhZGRpbmc7XG4gIH0gZWxzZSBpZiAocG9zLnRvcCArIGNoaWxkUmVjdC5oZWlnaHQgPiB3aW5kb3cuaW5uZXJIZWlnaHQpIHtcbiAgICBwb3MudG9wID0gd2luZG93LmlubmVySGVpZ2h0IC0gY2hpbGRSZWN0LmhlaWdodCAtIHBhZGRpbmc7XG4gIH1cblxuICByZXR1cm4gcG9zO1xufTtcblxuaWYgKGRvY3VtZW50LmJvZHkpIHtcbiAgYWRkRXZlbnRMaXN0ZW5lcnMoKTtcbn0gZWxzZSB7XG4gIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCBhZGRFdmVudExpc3RlbmVycyk7XG59XG5cbmxldCBsaXN0ZW5lcklkQ291bnRlciA9IDA7XG5mdW5jdGlvbiBzdWJzY3JpYmUoZm4pIHtcbiAgbGlzdGVuZXJJZENvdW50ZXIgKz0gMTtcbiAgY29uc3QgaWQgPSBsaXN0ZW5lcklkQ291bnRlcjtcbiAgbGlzdGVuZXJzW2lkXSA9IGZuO1xuICByZXR1cm4gKCkgPT4gZGVsZXRlIGxpc3RlbmVyc1tpZF07XG59XG5cbmNvbnN0IGRlZmF1bHRNb2RhbFN0eWxlID0ge1xuICBjb250ZW50OiB7XG4gICAgdG9wOiAwLFxuICAgIGxlZnQ6IDAsXG4gICAgYm9yZGVyOiAwLFxuICAgIHJpZ2h0OiAnYXV0bycsXG4gICAgYm90dG9tOiAnYXV0bycsXG4gICAgcGFkZGluZzogJzBweCAwcHggMHB4IDBweCdcbiAgfSxcbiAgb3ZlcmxheToge1xuICAgIHJpZ2h0OiAnYXV0bycsXG4gICAgYm90dG9tOiAnYXV0bycsXG4gICAgd2lkdGg6ICcxMDB2dycsXG4gICAgaGVpZ2h0OiAnMTAwdmgnLFxuICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoMCwgMCwgMCwgMCknXG4gIH1cbn07XG5cbmNvbnN0IFdJTkRPV19QQUQgPSAyMDtcblxuY29uc3Qgbm9vcCA9ICgpID0+IHt9O1xuXG50eXBlIFBvcnRhbGVkUHJvcHMgPSBQcm9wc1dpdGhDaGlsZHJlbjx7XG4gIGNvbXBvbmVudDogRWxlbWVudFR5cGU7XG4gIG9uQ2xvc2U/OiAoXG4gICAgZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8RWxlbWVudCwgZ2xvYmFsVGhpcy5Nb3VzZUV2ZW50PiB8IFJlYWN0LktleWJvYXJkRXZlbnQ8RWxlbWVudD5cbiAgKSA9PiB2b2lkO1xuICB0aGVtZT86IGFueTtcbiAgaXNPcGVuZWQ/OiBib29sZWFuO1xuICB0b3A6IG51bWJlcjtcbiAgbGVmdD86IG51bWJlcjtcbiAgcmlnaHQ/OiBudW1iZXI7XG4gIG92ZXJsYXlaSW5kZXg/OiBudW1iZXI7XG4gIG1vZGFsUHJvcHM/OiBQYXJ0aWFsPFJlYWN0TW9kYWwuUHJvcHM+O1xuICBtb2RhbFN0eWxlPzogUGFydGlhbDx0eXBlb2YgZGVmYXVsdE1vZGFsU3R5bGU+O1xufT47XG5cbmludGVyZmFjZSBQb3J0YWxlZFN0YXRlIHtcbiAgcG9zOlxuICAgIHwge1xuICAgICAgICBsZWZ0OiBudW1iZXI7XG4gICAgICAgIHRvcDogbnVtYmVyO1xuICAgICAgfVxuICAgIHwge1xuICAgICAgICByaWdodDogbnVtYmVyO1xuICAgICAgICB0b3A6IG51bWJlcjtcbiAgICAgIH1cbiAgICB8IG51bGw7XG4gIGlzVmlzaWJsZTogYm9vbGVhbjtcbn1cblxuY2xhc3MgUG9ydGFsZWQgZXh0ZW5kcyBDb21wb25lbnQ8UG9ydGFsZWRQcm9wcywgUG9ydGFsZWRTdGF0ZT4ge1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGNvbXBvbmVudDogJ2RpdicsXG4gICAgb25DbG9zZTogbm9vcCxcbiAgICB0aGVtZVxuICB9O1xuXG4gIHN0YXRlID0ge1xuICAgIHBvczogbnVsbCxcbiAgICBpc1Zpc2libGU6IGZhbHNlXG4gIH07XG5cbiAgdW5zdWJzY3JpYmU6ICgoKSA9PiBib29sZWFuKSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgX3VubW91bnRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIC8vIHJlbGF0aXZlXG4gICAgdGhpcy51bnN1YnNjcmliZSA9IHN1YnNjcmliZSh0aGlzLmhhbmRsZVNjcm9sbCk7XG4gICAgdGhpcy5oYW5kbGVTY3JvbGwoKTtcbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCBkaWRPcGVuID0gdGhpcy5wcm9wcy5pc09wZW5lZCAmJiAhcHJldlByb3BzLmlzT3BlbmVkO1xuICAgIGNvbnN0IGRpZENsb3NlID0gIXRoaXMucHJvcHMuaXNPcGVuZWQgJiYgcHJldlByb3BzLmlzT3BlbmVkO1xuICAgIGlmIChkaWRPcGVuIHx8IGRpZENsb3NlKSB7XG4gICAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuX3VubW91bnRlZCkgcmV0dXJuO1xuICAgICAgICB0aGlzLnNldFN0YXRlKHtpc1Zpc2libGU6IEJvb2xlYW4oZGlkT3Blbil9KTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuaGFuZGxlU2Nyb2xsKCk7XG4gIH1cblxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICB0aGlzLl91bm1vdW50ZWQgPSB0cnVlO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBlbGVtZW50ID0gY3JlYXRlUmVmPEhUTUxEaXZFbGVtZW50PigpO1xuICBjaGlsZCA9IGNyZWF0ZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY29tcGxleGl0eVxuICBoYW5kbGVTY3JvbGwgPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMuY2hpbGQuY3VycmVudCAmJiB0aGlzLmVsZW1lbnQuY3VycmVudCkge1xuICAgICAgY29uc3QgcmVjdCA9IHRoaXMuZWxlbWVudC5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3QgY2hpbGRSZWN0ID0gdGhpcy5jaGlsZC5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3QgcGFnZU9mZnNldCA9IGdldFBhZ2VPZmZzZXQoKTtcbiAgICAgIGNvbnN0IHt0b3A6IHRvcE9mZnNldCwgbGVmdDogbGVmdE9mZnNldCA9IDAsIHJpZ2h0OiByaWdodE9mZnNldH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBjb25zdCBwb3MgPSBnZXRDaGlsZFBvcyh7XG4gICAgICAgIG9mZnNldHM6IHt0b3BPZmZzZXQsIGxlZnRPZmZzZXQsIHJpZ2h0T2Zmc2V0fSxcbiAgICAgICAgcmVjdCxcbiAgICAgICAgY2hpbGRSZWN0LFxuICAgICAgICBwYWdlT2Zmc2V0LFxuICAgICAgICBwYWRkaW5nOiBXSU5ET1dfUEFEXG4gICAgICB9KTtcblxuICAgICAgaWYgKCFpc0VxdWFsKHBvcywgdGhpcy5zdGF0ZS5wb3MpKSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe3Bvc30pO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgLy8gcmVsYXRpdmVcbiAgICAgIGNvbXBvbmVudDogQ29tcCxcbiAgICAgIG92ZXJsYXlaSW5kZXgsXG4gICAgICBpc09wZW5lZCxcbiAgICAgIG9uQ2xvc2UsXG5cbiAgICAgIC8vIE1vZGFsXG4gICAgICBjaGlsZHJlbixcbiAgICAgIG1vZGFsUHJvcHMsXG4gICAgICBtb2RhbFN0eWxlID0ge31cbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHtpc1Zpc2libGUsIHBvc30gPSB0aGlzLnN0YXRlO1xuXG4gICAgY29uc3QgbmV3TW9kYWxTdHlsZSA9IHtcbiAgICAgIC4uLmRlZmF1bHRNb2RhbFN0eWxlLFxuICAgICAgY29udGVudDoge1xuICAgICAgICAuLi4obW9kYWxTdHlsZS5jb250ZW50IHx8IHt9KVxuICAgICAgfSxcbiAgICAgIG92ZXJsYXk6IHtcbiAgICAgICAgLi4uZGVmYXVsdE1vZGFsU3R5bGUub3ZlcmxheSxcbiAgICAgICAgLi4uKG1vZGFsU3R5bGUub3ZlcmxheSB8fCB7fSksXG4gICAgICAgIC8vIG5lZWRzIHRvIGJlIG9uIHRvcCBvZiBleGlzdGluZyBtb2RhbFxuICAgICAgICB6SW5kZXg6IG92ZXJsYXlaSW5kZXggfHwgOTk5OVxuICAgICAgfVxuICAgIH07XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFJvb3RDb250ZXh0LkNvbnN1bWVyPlxuICAgICAgICB7Y29udGV4dCA9PiAoXG4gICAgICAgICAgPENvbXAgcmVmPXt0aGlzLmVsZW1lbnR9PlxuICAgICAgICAgICAge2lzT3BlbmVkID8gKFxuICAgICAgICAgICAgICA8TW9kYWxcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJtb2RhbC1wb3J0YWxcIlxuICAgICAgICAgICAgICAgIHsuLi5tb2RhbFByb3BzfVxuICAgICAgICAgICAgICAgIGFyaWFIaWRlQXBwPXtmYWxzZX1cbiAgICAgICAgICAgICAgICBpc09wZW5cbiAgICAgICAgICAgICAgICBzdHlsZT17bmV3TW9kYWxTdHlsZX1cbiAgICAgICAgICAgICAgICBwYXJlbnRTZWxlY3Rvcj17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgLy8gUmVhY3QgbW9kYWwgaXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9yZWFjdGpzL3JlYWN0LW1vZGFsL2lzc3Vlcy83NjlcbiAgICAgICAgICAgICAgICAgIC8vIGZhaWxlZCB0byBleGVjdXRlIHJlbW92ZUNoaWxkIG9uIHBhcmVudCBub2RlIHdoZW4gaXQgaXMgYWxyZWFkeSB1bm1vdW50ZWRcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgICAgKChjb250ZXh0ICYmIGNvbnRleHQuY3VycmVudCkgfHwge1xuICAgICAgICAgICAgICAgICAgICAgIHJlbW92ZUNoaWxkOiAoKSA9PiB7fSxcbiAgICAgICAgICAgICAgICAgICAgICBhcHBlbmRDaGlsZDogKCkgPT4ge31cbiAgICAgICAgICAgICAgICAgICAgfSkgYXMgSFRNTEVsZW1lbnRcbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInBvcnRhbGVkLWNvbnRlbnRcIlxuICAgICAgICAgICAgICAgICAga2V5PVwiaXRlbVwiXG4gICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogJ2ZpeGVkJyxcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogaXNWaXNpYmxlID8gMSA6IDAsXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRoaXMucHJvcHMudGhlbWUudHJhbnNpdGlvbixcbiAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgICAgICAgICAgICAgICB0b3A6IHRoaXMuc3RhdGUudG9wLFxuICAgICAgICAgICAgICAgICAgICBtYXJnaW5Ub3A6IGlzVmlzaWJsZSA/ICcwcHgnIDogJzE0cHgnLFxuICAgICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgICAgIC4uLnBvc1xuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIHJlZj17dGhpcy5jaGlsZH1cbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgICAgICAgICAgICAgICB6SW5kZXg6IG92ZXJsYXlaSW5kZXggPyBvdmVybGF5WkluZGV4ICsgMSA6IDEwMDAwXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L01vZGFsPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgPC9Db21wPlxuICAgICAgICApfVxuICAgICAgPC9Sb290Q29udGV4dC5Db25zdW1lcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhUaGVtZShQb3J0YWxlZCk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQW9CQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9B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
|
|
276
|
+
var _default = exports["default"] = (0, _styledComponents.withTheme)(Portaled);
|
|
277
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfZGVib3VuY2UiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2lzRXF1YWwiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9jb250ZXh0IiwiX3JlYWN0TW9kYWwiLCJfd2luZG93IiwiX2RvY3VtZW50IiwiX2Jhc2UiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJfY2FsbFN1cGVyIiwibyIsIl9nZXRQcm90b3R5cGVPZjIiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybjIiLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsImNvbnN0cnVjdG9yIiwiYXBwbHkiLCJCb29sZWFuIiwicHJvdG90eXBlIiwidmFsdWVPZiIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImxpc3RlbmVycyIsInN0YXJ0TGlzdGVuaW5nIiwia2V5IiwiZ2V0UGFnZU9mZnNldCIsIngiLCJ3aW5kb3ciLCJwYWdlWE9mZnNldCIsInVuZGVmaW5lZCIsImRvY3VtZW50IiwiZG9jdW1lbnRFbGVtZW50IiwiYm9keSIsInBhcmVudE5vZGUiLCJzY3JvbGxMZWZ0IiwieSIsInBhZ2VZT2Zmc2V0Iiwic2Nyb2xsVG9wIiwiYWRkRXZlbnRMaXN0ZW5lcnMiLCJhZGRFdmVudExpc3RlbmVyIiwiZGVib3VuY2UiLCJnZXRDaGlsZFBvcyIsImV4cG9ydHMiLCJfcmVmIiwib2Zmc2V0cyIsInJlY3QiLCJjaGlsZFJlY3QiLCJwYWdlT2Zmc2V0IiwicGFkZGluZyIsInRvcE9mZnNldCIsImxlZnRPZmZzZXQiLCJyaWdodE9mZnNldCIsImFuY2hvckxlZnQiLCJwb3MiLCJ0b3AiLCJsZWZ0IiwicmlnaHQiLCJpbm5lcldpZHRoIiwibGVmdE9yUmlnaHQiLCJ3aWR0aCIsImhlaWdodCIsImlubmVySGVpZ2h0IiwibGlzdGVuZXJJZENvdW50ZXIiLCJzdWJzY3JpYmUiLCJmbiIsImlkIiwiZGVmYXVsdE1vZGFsU3R5bGUiLCJjb250ZW50IiwiYm9yZGVyIiwiYm90dG9tIiwib3ZlcmxheSIsImJhY2tncm91bmRDb2xvciIsIldJTkRPV19QQUQiLCJub29wIiwiUG9ydGFsZWQiLCJfQ29tcG9uZW50IiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiX2xlbiIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjb25jYXQiLCJpc1Zpc2libGUiLCJjcmVhdGVSZWYiLCJjaGlsZCIsImN1cnJlbnQiLCJlbGVtZW50IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiX3RoaXMkcHJvcHMiLCJwcm9wcyIsIl90aGlzJHByb3BzJGxlZnQiLCJpc0VxdWFsIiwic3RhdGUiLCJzZXRTdGF0ZSIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwidmFsdWUiLCJjb21wb25lbnREaWRNb3VudCIsInVuc3Vic2NyaWJlIiwiaGFuZGxlU2Nyb2xsIiwiY29tcG9uZW50RGlkVXBkYXRlIiwicHJldlByb3BzIiwiX3RoaXMyIiwiZGlkT3BlbiIsImlzT3BlbmVkIiwiZGlkQ2xvc2UiLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJfdW5tb3VudGVkIiwiY29tcG9uZW50V2lsbFVubW91bnQiLCJyZW5kZXIiLCJfdGhpczMiLCJfdGhpcyRwcm9wczIiLCJDb21wIiwiY29tcG9uZW50Iiwib3ZlcmxheVpJbmRleCIsIm9uQ2xvc2UiLCJjaGlsZHJlbiIsIm1vZGFsUHJvcHMiLCJfdGhpcyRwcm9wczIkbW9kYWxTdHkiLCJtb2RhbFN0eWxlIiwiX3RoaXMkc3RhdGUiLCJuZXdNb2RhbFN0eWxlIiwiekluZGV4IiwiY3JlYXRlRWxlbWVudCIsIlJvb3RDb250ZXh0IiwiQ29uc3VtZXIiLCJjb250ZXh0IiwicmVmIiwiX2V4dGVuZHMyIiwiY2xhc3NOYW1lIiwiYXJpYUhpZGVBcHAiLCJpc09wZW4iLCJzdHlsZSIsInBhcmVudFNlbGVjdG9yIiwicmVtb3ZlQ2hpbGQiLCJhcHBlbmRDaGlsZCIsInBvc2l0aW9uIiwib3BhY2l0eSIsInRyYW5zaXRpb24iLCJ0aGVtZSIsIm1hcmdpblRvcCIsIkNvbXBvbmVudCIsIl9kZWZhdWx0Iiwid2l0aFRoZW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY29tbW9uL3BvcnRhbGVkLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHtDb21wb25lbnQsIGNyZWF0ZVJlZiwgRWxlbWVudFR5cGUsIFByb3BzV2l0aENoaWxkcmVufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgZGVib3VuY2UgZnJvbSAnbG9kYXNoL2RlYm91bmNlJztcbmltcG9ydCBpc0VxdWFsIGZyb20gJ2xvZGFzaC9pc0VxdWFsJztcblxuaW1wb3J0IHt3aXRoVGhlbWV9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7Um9vdENvbnRleHR9IGZyb20gJ2NvbXBvbmVudHMvY29udGV4dCc7XG5pbXBvcnQgTW9kYWwgZnJvbSAncmVhY3QtbW9kYWwnO1xuaW1wb3J0IHdpbmRvdyBmcm9tICdnbG9iYWwvd2luZG93JztcbmltcG9ydCBkb2N1bWVudCBmcm9tICdnbG9iYWwvZG9jdW1lbnQnO1xuaW1wb3J0IHt0aGVtZX0gZnJvbSAnc3R5bGVzL2Jhc2UnO1xuXG5jb25zdCBsaXN0ZW5lcnMgPSB7fTtcblxuY29uc3Qgc3RhcnRMaXN0ZW5pbmcgPSAoKSA9PiBPYmplY3Qua2V5cyhsaXN0ZW5lcnMpLmZvckVhY2goa2V5ID0+IGxpc3RlbmVyc1trZXldKCkpO1xuXG5jb25zdCBnZXRQYWdlT2Zmc2V0ID0gKCkgPT4gKHtcbiAgeDpcbiAgICB3aW5kb3cucGFnZVhPZmZzZXQgIT09IHVuZGVmaW5lZFxuICAgICAgPyB3aW5kb3cucGFnZVhPZmZzZXRcbiAgICAgIDogKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCB8fCBkb2N1bWVudC5ib2R5LnBhcmVudE5vZGUgfHwgZG9jdW1lbnQuYm9keSkuc2Nyb2xsTGVmdCxcbiAgeTpcbiAgICB3aW5kb3cucGFnZVlPZmZzZXQgIT09IHVuZGVmaW5lZFxuICAgICAgPyB3aW5kb3cucGFnZVlPZmZzZXRcbiAgICAgIDogKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCB8fCBkb2N1bWVudC5ib2R5LnBhcmVudE5vZGUgfHwgZG9jdW1lbnQuYm9keSkuc2Nyb2xsVG9wXG59KTtcblxuY29uc3QgYWRkRXZlbnRMaXN0ZW5lcnMgPSAoKSA9PiB7XG4gIGlmIChkb2N1bWVudCAmJiBkb2N1bWVudC5ib2R5KVxuICAgIGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V3aGVlbCcsIGRlYm91bmNlKHN0YXJ0TGlzdGVuaW5nLCAxMDApKTtcbiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGRlYm91bmNlKHN0YXJ0TGlzdGVuaW5nLCA1MCkpO1xufTtcblxuaW50ZXJmYWNlIEdldENoaWxkUG9zUHJvcHMge1xuICBvZmZzZXRzOiBQYXJ0aWFsPHtcbiAgICB0b3BPZmZzZXQ6IG51bWJlcjtcbiAgICBsZWZ0T2Zmc2V0OiBudW1iZXI7XG4gICAgcmlnaHRPZmZzZXQ6IG51bWJlcjtcbiAgfT47XG4gIHJlY3Q6IERPTVJlY3Q7XG4gIGNoaWxkUmVjdDogRE9NUmVjdDtcbiAgcGFnZU9mZnNldDoge1xuICAgIHg6IG51bWJlcjtcbiAgICB5OiBudW1iZXI7XG4gIH07XG4gIHBhZGRpbmc6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNvbnN0IGdldENoaWxkUG9zID0gKHtvZmZzZXRzLCByZWN0LCBjaGlsZFJlY3QsIHBhZ2VPZmZzZXQsIHBhZGRpbmd9OiBHZXRDaGlsZFBvc1Byb3BzKSA9PiB7XG4gIGNvbnN0IHt0b3BPZmZzZXQsIGxlZnRPZmZzZXQsIHJpZ2h0T2Zmc2V0fSA9IG9mZnNldHM7XG5cbiAgY29uc3QgYW5jaG9yTGVmdCA9IGxlZnRPZmZzZXQgIT09IHVuZGVmaW5lZDtcbiAgY29uc3QgcG9zID0ge1xuICAgIHRvcDogcGFnZU9mZnNldC55ICsgcmVjdC50b3AgKyAodG9wT2Zmc2V0IHx8IDApLFxuICAgIC4uLihhbmNob3JMZWZ0XG4gICAgICA/IHtsZWZ0OiBwYWdlT2Zmc2V0LnggKyByZWN0LmxlZnQgKyBsZWZ0T2Zmc2V0IX1cbiAgICAgIDoge3JpZ2h0OiB3aW5kb3cuaW5uZXJXaWR0aCAtIHJlY3QucmlnaHQgLSBwYWdlT2Zmc2V0LnggKyAocmlnaHRPZmZzZXQgfHwgMCl9KVxuICB9O1xuXG4gIGNvbnN0IGxlZnRPclJpZ2h0ID0gYW5jaG9yTGVmdCA/ICdsZWZ0JyA6ICdyaWdodCc7XG5cbiAgaWYgKHBvc1tsZWZ0T3JSaWdodF0gJiYgcG9zW2xlZnRPclJpZ2h0XSA8IDApIHtcbiAgICBwb3NbbGVmdE9yUmlnaHRdID0gcGFkZGluZztcbiAgfSBlbHNlIGlmIChwb3NbbGVmdE9yUmlnaHRdICYmIHBvc1tsZWZ0T3JSaWdodF0gKyBjaGlsZFJlY3Qud2lkdGggPiB3aW5kb3cuaW5uZXJXaWR0aCkge1xuICAgIHBvc1tsZWZ0T3JSaWdodF0gPSB3aW5kb3cuaW5uZXJXaWR0aCAtIGNoaWxkUmVjdC53aWR0aCAtIHBhZGRpbmc7XG4gIH1cblxuICBpZiAocG9zLnRvcCA8IDApIHtcbiAgICBwb3MudG9wID0gcGFkZGluZztcbiAgfSBlbHNlIGlmIChwb3MudG9wICsgY2hpbGRSZWN0LmhlaWdodCA+IHdpbmRvdy5pbm5lckhlaWdodCkge1xuICAgIHBvcy50b3AgPSB3aW5kb3cuaW5uZXJIZWlnaHQgLSBjaGlsZFJlY3QuaGVpZ2h0IC0gcGFkZGluZztcbiAgfVxuXG4gIHJldHVybiBwb3M7XG59O1xuXG5pZiAoZG9jdW1lbnQuYm9keSkge1xuICBhZGRFdmVudExpc3RlbmVycygpO1xufSBlbHNlIHtcbiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGFkZEV2ZW50TGlzdGVuZXJzKTtcbn1cblxubGV0IGxpc3RlbmVySWRDb3VudGVyID0gMDtcbmZ1bmN0aW9uIHN1YnNjcmliZShmbikge1xuICBsaXN0ZW5lcklkQ291bnRlciArPSAxO1xuICBjb25zdCBpZCA9IGxpc3RlbmVySWRDb3VudGVyO1xuICBsaXN0ZW5lcnNbaWRdID0gZm47XG4gIHJldHVybiAoKSA9PiBkZWxldGUgbGlzdGVuZXJzW2lkXTtcbn1cblxuY29uc3QgZGVmYXVsdE1vZGFsU3R5bGUgPSB7XG4gIGNvbnRlbnQ6IHtcbiAgICB0b3A6IDAsXG4gICAgbGVmdDogMCxcbiAgICBib3JkZXI6IDAsXG4gICAgcmlnaHQ6ICdhdXRvJyxcbiAgICBib3R0b206ICdhdXRvJyxcbiAgICBwYWRkaW5nOiAnMHB4IDBweCAwcHggMHB4J1xuICB9LFxuICBvdmVybGF5OiB7XG4gICAgcmlnaHQ6ICdhdXRvJyxcbiAgICBib3R0b206ICdhdXRvJyxcbiAgICB3aWR0aDogJzEwMHZ3JyxcbiAgICBoZWlnaHQ6ICcxMDB2aCcsXG4gICAgYmFja2dyb3VuZENvbG9yOiAncmdiYSgwLCAwLCAwLCAwKSdcbiAgfVxufTtcblxuY29uc3QgV0lORE9XX1BBRCA9IDIwO1xuXG5jb25zdCBub29wID0gKCkgPT4ge307XG5cbnR5cGUgUG9ydGFsZWRQcm9wcyA9IFByb3BzV2l0aENoaWxkcmVuPHtcbiAgY29tcG9uZW50OiBFbGVtZW50VHlwZTtcbiAgb25DbG9zZT86IChcbiAgICBldmVudDogUmVhY3QuTW91c2VFdmVudDxFbGVtZW50LCBnbG9iYWxUaGlzLk1vdXNlRXZlbnQ+IHwgUmVhY3QuS2V5Ym9hcmRFdmVudDxFbGVtZW50PlxuICApID0+IHZvaWQ7XG4gIHRoZW1lPzogYW55O1xuICBpc09wZW5lZD86IGJvb2xlYW47XG4gIHRvcDogbnVtYmVyO1xuICBsZWZ0PzogbnVtYmVyO1xuICByaWdodD86IG51bWJlcjtcbiAgb3ZlcmxheVpJbmRleD86IG51bWJlcjtcbiAgbW9kYWxQcm9wcz86IFBhcnRpYWw8UmVhY3RNb2RhbC5Qcm9wcz47XG4gIG1vZGFsU3R5bGU/OiBQYXJ0aWFsPHR5cGVvZiBkZWZhdWx0TW9kYWxTdHlsZT47XG59PjtcblxuaW50ZXJmYWNlIFBvcnRhbGVkU3RhdGUge1xuICBwb3M6XG4gICAgfCB7XG4gICAgICAgIGxlZnQ6IG51bWJlcjtcbiAgICAgICAgdG9wOiBudW1iZXI7XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIHJpZ2h0OiBudW1iZXI7XG4gICAgICAgIHRvcDogbnVtYmVyO1xuICAgICAgfVxuICAgIHwgbnVsbDtcbiAgaXNWaXNpYmxlOiBib29sZWFuO1xufVxuXG5jbGFzcyBQb3J0YWxlZCBleHRlbmRzIENvbXBvbmVudDxQb3J0YWxlZFByb3BzLCBQb3J0YWxlZFN0YXRlPiB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgY29tcG9uZW50OiAnZGl2JyxcbiAgICBvbkNsb3NlOiBub29wLFxuICAgIHRoZW1lXG4gIH07XG5cbiAgc3RhdGUgPSB7XG4gICAgcG9zOiBudWxsLFxuICAgIGlzVmlzaWJsZTogZmFsc2VcbiAgfTtcblxuICB1bnN1YnNjcmliZTogKCgpID0+IGJvb2xlYW4pIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICBfdW5tb3VudGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgLy8gcmVsYXRpdmVcbiAgICB0aGlzLnVuc3Vic2NyaWJlID0gc3Vic2NyaWJlKHRoaXMuaGFuZGxlU2Nyb2xsKTtcbiAgICB0aGlzLmhhbmRsZVNjcm9sbCgpO1xuICB9XG5cbiAgY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcykge1xuICAgIGNvbnN0IGRpZE9wZW4gPSB0aGlzLnByb3BzLmlzT3BlbmVkICYmICFwcmV2UHJvcHMuaXNPcGVuZWQ7XG4gICAgY29uc3QgZGlkQ2xvc2UgPSAhdGhpcy5wcm9wcy5pc09wZW5lZCAmJiBwcmV2UHJvcHMuaXNPcGVuZWQ7XG4gICAgaWYgKGRpZE9wZW4gfHwgZGlkQ2xvc2UpIHtcbiAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5fdW5tb3VudGVkKSByZXR1cm47XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe2lzVmlzaWJsZTogQm9vbGVhbihkaWRPcGVuKX0pO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5oYW5kbGVTY3JvbGwoKTtcbiAgfVxuXG4gIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgIHRoaXMuX3VubW91bnRlZCA9IHRydWU7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGVsZW1lbnQgPSBjcmVhdGVSZWY8SFRNTERpdkVsZW1lbnQ+KCk7XG4gIGNoaWxkID0gY3JlYXRlUmVmPEhUTUxEaXZFbGVtZW50PigpO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjb21wbGV4aXR5XG4gIGhhbmRsZVNjcm9sbCA9ICgpID0+IHtcbiAgICBpZiAodGhpcy5jaGlsZC5jdXJyZW50ICYmIHRoaXMuZWxlbWVudC5jdXJyZW50KSB7XG4gICAgICBjb25zdCByZWN0ID0gdGhpcy5lbGVtZW50LmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBjaGlsZFJlY3QgPSB0aGlzLmNoaWxkLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBwYWdlT2Zmc2V0ID0gZ2V0UGFnZU9mZnNldCgpO1xuICAgICAgY29uc3Qge3RvcDogdG9wT2Zmc2V0LCBsZWZ0OiBsZWZ0T2Zmc2V0ID0gMCwgcmlnaHQ6IHJpZ2h0T2Zmc2V0fSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGNvbnN0IHBvcyA9IGdldENoaWxkUG9zKHtcbiAgICAgICAgb2Zmc2V0czoge3RvcE9mZnNldCwgbGVmdE9mZnNldCwgcmlnaHRPZmZzZXR9LFxuICAgICAgICByZWN0LFxuICAgICAgICBjaGlsZFJlY3QsXG4gICAgICAgIHBhZ2VPZmZzZXQsXG4gICAgICAgIHBhZGRpbmc6IFdJTkRPV19QQURcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoIWlzRXF1YWwocG9zLCB0aGlzLnN0YXRlLnBvcykpIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7cG9zfSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICAvLyByZWxhdGl2ZVxuICAgICAgY29tcG9uZW50OiBDb21wLFxuICAgICAgb3ZlcmxheVpJbmRleCxcbiAgICAgIGlzT3BlbmVkLFxuICAgICAgb25DbG9zZSxcblxuICAgICAgLy8gTW9kYWxcbiAgICAgIGNoaWxkcmVuLFxuICAgICAgbW9kYWxQcm9wcyxcbiAgICAgIG1vZGFsU3R5bGUgPSB7fVxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qge2lzVmlzaWJsZSwgcG9zfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBjb25zdCBuZXdNb2RhbFN0eWxlID0ge1xuICAgICAgLi4uZGVmYXVsdE1vZGFsU3R5bGUsXG4gICAgICBjb250ZW50OiB7XG4gICAgICAgIC4uLihtb2RhbFN0eWxlLmNvbnRlbnQgfHwge30pXG4gICAgICB9LFxuICAgICAgb3ZlcmxheToge1xuICAgICAgICAuLi5kZWZhdWx0TW9kYWxTdHlsZS5vdmVybGF5LFxuICAgICAgICAuLi4obW9kYWxTdHlsZS5vdmVybGF5IHx8IHt9KSxcbiAgICAgICAgLy8gbmVlZHMgdG8gYmUgb24gdG9wIG9mIGV4aXN0aW5nIG1vZGFsXG4gICAgICAgIHpJbmRleDogb3ZlcmxheVpJbmRleCB8fCA5OTk5XG4gICAgICB9XG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICA8Um9vdENvbnRleHQuQ29uc3VtZXI+XG4gICAgICAgIHtjb250ZXh0ID0+IChcbiAgICAgICAgICA8Q29tcCByZWY9e3RoaXMuZWxlbWVudH0+XG4gICAgICAgICAgICB7aXNPcGVuZWQgPyAoXG4gICAgICAgICAgICAgIDxNb2RhbFxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm1vZGFsLXBvcnRhbFwiXG4gICAgICAgICAgICAgICAgey4uLm1vZGFsUHJvcHN9XG4gICAgICAgICAgICAgICAgYXJpYUhpZGVBcHA9e2ZhbHNlfVxuICAgICAgICAgICAgICAgIGlzT3BlblxuICAgICAgICAgICAgICAgIHN0eWxlPXtuZXdNb2RhbFN0eWxlfVxuICAgICAgICAgICAgICAgIHBhcmVudFNlbGVjdG9yPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAvLyBSZWFjdCBtb2RhbCBpc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3JlYWN0anMvcmVhY3QtbW9kYWwvaXNzdWVzLzc2OVxuICAgICAgICAgICAgICAgICAgLy8gZmFpbGVkIHRvIGV4ZWN1dGUgcmVtb3ZlQ2hpbGQgb24gcGFyZW50IG5vZGUgd2hlbiBpdCBpcyBhbHJlYWR5IHVubW91bnRlZFxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgICAgICAoKGNvbnRleHQgJiYgY29udGV4dC5jdXJyZW50KSB8fCB7XG4gICAgICAgICAgICAgICAgICAgICAgcmVtb3ZlQ2hpbGQ6ICgpID0+IHt9LFxuICAgICAgICAgICAgICAgICAgICAgIGFwcGVuZENoaWxkOiAoKSA9PiB7fVxuICAgICAgICAgICAgICAgICAgICB9KSBhcyBIVE1MRWxlbWVudFxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwicG9ydGFsZWQtY29udGVudFwiXG4gICAgICAgICAgICAgICAgICBrZXk9XCJpdGVtXCJcbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnZml4ZWQnLFxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiBpc1Zpc2libGUgPyAxIDogMCxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdGhpcy5wcm9wcy50aGVtZS50cmFuc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgICAgICAgICAgICAgIHRvcDogdGhpcy5zdGF0ZS50b3AsXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpblRvcDogaXNWaXNpYmxlID8gJzBweCcgOiAnMTRweCcsXG4gICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgICAgLi4ucG9zXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgcmVmPXt0aGlzLmNoaWxkfVxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgICAgICAgICAgIHpJbmRleDogb3ZlcmxheVpJbmRleCA/IG92ZXJsYXlaSW5kZXggKyAxIDogMTAwMDBcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvTW9kYWw+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L0NvbXA+XG4gICAgICAgICl9XG4gICAgICA8L1Jvb3RDb250ZXh0LkNvbnN1bWVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgd2l0aFRoZW1lKFBvcnRhbGVkKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFNBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFFBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUVBLElBQUFJLGlCQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxRQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxXQUFBLEdBQUFKLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBTyxPQUFBLEdBQUFMLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBUSxTQUFBLEdBQUFOLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBUyxLQUFBLEdBQUFULE9BQUE7QUFBa0MsU0FBQVUseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLENBQUEsV0FB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
|