@kepler.gl/components 3.0.0-alpha.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/bottom-widget.d.ts +46 -0
- package/dist/bottom-widget.js +242 -0
- package/dist/common/action-panel.d.ts +27 -0
- package/dist/common/action-panel.js +152 -0
- package/dist/common/animation-control/animation-control.d.ts +24 -0
- package/dist/common/animation-control/animation-control.js +155 -0
- package/dist/common/animation-control/animation-controller.d.ts +15 -0
- package/dist/common/animation-control/animation-controller.js +324 -0
- package/dist/common/animation-control/animation-speed-slider.d.ts +12 -0
- package/dist/common/animation-control/animation-speed-slider.js +120 -0
- package/dist/common/animation-control/animation-window-control.d.ts +20 -0
- package/dist/common/animation-control/animation-window-control.js +86 -0
- package/dist/common/animation-control/floating-time-display.d.ts +9 -0
- package/dist/common/animation-control/floating-time-display.js +181 -0
- package/dist/common/animation-control/play-control.d.ts +12 -0
- package/dist/common/animation-control/play-control.js +81 -0
- package/dist/common/animation-control/playback-controls.d.ts +55 -0
- package/dist/common/animation-control/playback-controls.js +202 -0
- package/dist/common/animation-control/reset-control.d.ts +9 -0
- package/dist/common/animation-control/reset-control.js +71 -0
- package/dist/common/animation-control/speed-control.d.ts +12 -0
- package/dist/common/animation-control/speed-control.js +88 -0
- package/dist/common/animation-control/window-action-control.d.ts +11 -0
- package/dist/common/animation-control/window-action-control.js +87 -0
- package/dist/common/checkbox.d.ts +35 -0
- package/dist/common/checkbox.js +159 -0
- package/dist/common/color-legend.d.ts +39 -0
- package/dist/common/color-legend.js +257 -0
- package/dist/common/data-table/button.d.ts +8 -0
- package/dist/common/data-table/button.js +66 -0
- package/dist/common/data-table/canvas.d.ts +2 -0
- package/dist/common/data-table/canvas.js +52 -0
- package/dist/common/data-table/cell-size.d.ts +43 -0
- package/dist/common/data-table/cell-size.js +195 -0
- package/dist/common/data-table/grid.d.ts +7 -0
- package/dist/common/data-table/grid.js +119 -0
- package/dist/common/data-table/header-cell.d.ts +25 -0
- package/dist/common/data-table/header-cell.js +152 -0
- package/dist/common/data-table/index.d.ts +108 -0
- package/dist/common/data-table/index.js +457 -0
- package/dist/common/data-table/option-dropdown.d.ts +14 -0
- package/dist/common/data-table/option-dropdown.js +142 -0
- package/dist/common/dataset-label.d.ts +10 -0
- package/dist/common/dataset-label.js +56 -0
- package/dist/common/error-boundary.d.ts +12 -0
- package/dist/common/error-boundary.js +103 -0
- package/dist/common/field-selector.d.ts +43 -0
- package/dist/common/field-selector.js +220 -0
- package/dist/common/field-token.d.ts +46 -0
- package/dist/common/field-token.js +70 -0
- package/dist/common/file-uploader/file-drop.d.ts +53 -0
- package/dist/common/file-uploader/file-drop.js +252 -0
- package/dist/common/file-uploader/file-upload-progress.d.ts +8 -0
- package/dist/common/file-uploader/file-upload-progress.js +123 -0
- package/dist/common/file-uploader/file-upload.d.ts +27 -0
- package/dist/common/file-uploader/file-upload.js +324 -0
- package/dist/common/file-uploader/upload-button.d.ts +7 -0
- package/dist/common/file-uploader/upload-button.js +94 -0
- package/dist/common/histogram-plot.d.ts +3 -0
- package/dist/common/histogram-plot.js +134 -0
- package/dist/common/icon-button.d.ts +12 -0
- package/dist/common/icon-button.js +52 -0
- package/dist/common/icons/add.d.ts +9 -0
- package/dist/common/icons/add.js +78 -0
- package/dist/common/icons/anchor_window.d.ts +11 -0
- package/dist/common/icons/anchor_window.js +55 -0
- package/dist/common/icons/arrow-down-alt.d.ts +9 -0
- package/dist/common/icons/arrow-down-alt.js +78 -0
- package/dist/common/icons/arrow-down-solid.d.ts +9 -0
- package/dist/common/icons/arrow-down-solid.js +78 -0
- package/dist/common/icons/arrow-down.d.ts +9 -0
- package/dist/common/icons/arrow-down.js +78 -0
- package/dist/common/icons/arrow-left.d.ts +9 -0
- package/dist/common/icons/arrow-left.js +81 -0
- package/dist/common/icons/arrow-right.d.ts +9 -0
- package/dist/common/icons/arrow-right.js +78 -0
- package/dist/common/icons/arrow-up-alt.d.ts +9 -0
- package/dist/common/icons/arrow-up-alt.js +79 -0
- package/dist/common/icons/arrow-up-solid.d.ts +9 -0
- package/dist/common/icons/arrow-up-solid.js +78 -0
- package/dist/common/icons/arrow-up.d.ts +9 -0
- package/dist/common/icons/arrow-up.js +78 -0
- package/dist/common/icons/base.d.ts +29 -0
- package/dist/common/icons/base.js +116 -0
- package/dist/common/icons/bug.d.ts +9 -0
- package/dist/common/icons/bug.js +80 -0
- package/dist/common/icons/cancel.d.ts +9 -0
- package/dist/common/icons/cancel.js +78 -0
- package/dist/common/icons/checkmark.d.ts +10 -0
- package/dist/common/icons/checkmark.js +85 -0
- package/dist/common/icons/clipboard.d.ts +9 -0
- package/dist/common/icons/clipboard.js +79 -0
- package/dist/common/icons/clock.d.ts +9 -0
- package/dist/common/icons/clock.js +80 -0
- package/dist/common/icons/close.d.ts +9 -0
- package/dist/common/icons/close.js +83 -0
- package/dist/common/icons/code-alt.d.ts +9 -0
- package/dist/common/icons/code-alt.js +82 -0
- package/dist/common/icons/copy.d.ts +9 -0
- package/dist/common/icons/copy.js +84 -0
- package/dist/common/icons/crosshairs.d.ts +9 -0
- package/dist/common/icons/crosshairs.js +82 -0
- package/dist/common/icons/cube-3d.d.ts +9 -0
- package/dist/common/icons/cube-3d.js +82 -0
- package/dist/common/icons/cursor-click.d.ts +9 -0
- package/dist/common/icons/cursor-click.js +82 -0
- package/dist/common/icons/data-table.d.ts +10 -0
- package/dist/common/icons/data-table.js +79 -0
- package/dist/common/icons/db.d.ts +10 -0
- package/dist/common/icons/db.js +79 -0
- package/dist/common/icons/delete.d.ts +9 -0
- package/dist/common/icons/delete.js +80 -0
- package/dist/common/icons/docs.d.ts +9 -0
- package/dist/common/icons/docs.js +94 -0
- package/dist/common/icons/drag-n-drop.d.ts +9 -0
- package/dist/common/icons/drag-n-drop.js +80 -0
- package/dist/common/icons/draw-polygon.d.ts +10 -0
- package/dist/common/icons/draw-polygon.js +98 -0
- package/dist/common/icons/email.d.ts +9 -0
- package/dist/common/icons/email.js +82 -0
- package/dist/common/icons/expand.d.ts +9 -0
- package/dist/common/icons/expand.js +80 -0
- package/dist/common/icons/eye-seen.d.ts +9 -0
- package/dist/common/icons/eye-seen.js +80 -0
- package/dist/common/icons/eye-unseen.d.ts +9 -0
- package/dist/common/icons/eye-unseen.js +80 -0
- package/dist/common/icons/file-type.d.ts +8 -0
- package/dist/common/icons/file-type.js +65 -0
- package/dist/common/icons/file.d.ts +9 -0
- package/dist/common/icons/file.js +78 -0
- package/dist/common/icons/files.d.ts +9 -0
- package/dist/common/icons/files.js +80 -0
- package/dist/common/icons/filter-funnel.d.ts +9 -0
- package/dist/common/icons/filter-funnel.js +78 -0
- package/dist/common/icons/free-window.d.ts +11 -0
- package/dist/common/icons/free-window.js +55 -0
- package/dist/common/icons/gear.d.ts +9 -0
- package/dist/common/icons/gear.js +80 -0
- package/dist/common/icons/hash.d.ts +9 -0
- package/dist/common/icons/hash.js +78 -0
- package/dist/common/icons/histogram.d.ts +9 -0
- package/dist/common/icons/histogram.js +79 -0
- package/dist/common/icons/index.d.ts +76 -0
- package/dist/common/icons/index.js +624 -0
- package/dist/common/icons/info.d.ts +12 -0
- package/dist/common/icons/info.js +92 -0
- package/dist/common/icons/layers.d.ts +9 -0
- package/dist/common/icons/layers.js +78 -0
- package/dist/common/icons/left-arrow.d.ts +9 -0
- package/dist/common/icons/left-arrow.js +82 -0
- package/dist/common/icons/legend.d.ts +9 -0
- package/dist/common/icons/legend.js +78 -0
- package/dist/common/icons/line-chart.d.ts +9 -0
- package/dist/common/icons/line-chart.js +78 -0
- package/dist/common/icons/login.d.ts +9 -0
- package/dist/common/icons/login.js +81 -0
- package/dist/common/icons/logout.d.ts +9 -0
- package/dist/common/icons/logout.js +80 -0
- package/dist/common/icons/map-icon.d.ts +11 -0
- package/dist/common/icons/map-icon.js +86 -0
- package/dist/common/icons/map.d.ts +11 -0
- package/dist/common/icons/map.js +86 -0
- package/dist/common/icons/messages.d.ts +9 -0
- package/dist/common/icons/messages.js +78 -0
- package/dist/common/icons/minus.d.ts +9 -0
- package/dist/common/icons/minus.js +78 -0
- package/dist/common/icons/order-by-dataset.d.ts +12 -0
- package/dist/common/icons/order-by-dataset.js +55 -0
- package/dist/common/icons/order-by-list.d.ts +12 -0
- package/dist/common/icons/order-by-list.js +47 -0
- package/dist/common/icons/pause.d.ts +9 -0
- package/dist/common/icons/pause.js +78 -0
- package/dist/common/icons/picture.d.ts +9 -0
- package/dist/common/icons/picture.js +80 -0
- package/dist/common/icons/pin.d.ts +9 -0
- package/dist/common/icons/pin.js +86 -0
- package/dist/common/icons/play.d.ts +9 -0
- package/dist/common/icons/play.js +78 -0
- package/dist/common/icons/polygon.d.ts +10 -0
- package/dist/common/icons/polygon.js +100 -0
- package/dist/common/icons/rectangle.d.ts +10 -0
- package/dist/common/icons/rectangle.js +101 -0
- package/dist/common/icons/reduce.d.ts +9 -0
- package/dist/common/icons/reduce.js +81 -0
- package/dist/common/icons/reset.d.ts +9 -0
- package/dist/common/icons/reset.js +78 -0
- package/dist/common/icons/rocket.d.ts +9 -0
- package/dist/common/icons/rocket.js +78 -0
- package/dist/common/icons/save.d.ts +9 -0
- package/dist/common/icons/save.js +80 -0
- package/dist/common/icons/save2.d.ts +9 -0
- package/dist/common/icons/save2.js +84 -0
- package/dist/common/icons/search.d.ts +9 -0
- package/dist/common/icons/search.js +80 -0
- package/dist/common/icons/settings.d.ts +9 -0
- package/dist/common/icons/settings.js +80 -0
- package/dist/common/icons/share.d.ts +9 -0
- package/dist/common/icons/share.js +78 -0
- package/dist/common/icons/split.d.ts +9 -0
- package/dist/common/icons/split.js +106 -0
- package/dist/common/icons/square-select.d.ts +9 -0
- package/dist/common/icons/square-select.js +80 -0
- package/dist/common/icons/trash.d.ts +9 -0
- package/dist/common/icons/trash.js +80 -0
- package/dist/common/icons/vert-dots.d.ts +9 -0
- package/dist/common/icons/vert-dots.js +116 -0
- package/dist/common/icons/vert-three-dots.d.ts +9 -0
- package/dist/common/icons/vert-three-dots.js +91 -0
- package/dist/common/icons/warning-sign.d.ts +15 -0
- package/dist/common/icons/warning-sign.js +100 -0
- package/dist/common/icons/warning.d.ts +10 -0
- package/dist/common/icons/warning.js +93 -0
- package/dist/common/image-preview.d.ts +15 -0
- package/dist/common/image-preview.js +91 -0
- package/dist/common/index.d.ts +3 -0
- package/dist/common/index.js +287 -0
- package/dist/common/info-helper.d.ts +10 -0
- package/dist/common/info-helper.js +95 -0
- package/dist/common/item-selector/accessor.d.ts +7 -0
- package/dist/common/item-selector/accessor.js +56 -0
- package/dist/common/item-selector/chickleted-input.d.ts +21 -0
- package/dist/common/item-selector/chickleted-input.js +116 -0
- package/dist/common/item-selector/dropdown-list.d.ts +50 -0
- package/dist/common/item-selector/dropdown-list.js +191 -0
- package/dist/common/item-selector/item-selector.d.ts +45 -0
- package/dist/common/item-selector/item-selector.js +359 -0
- package/dist/common/item-selector/typeahead.d.ts +113 -0
- package/dist/common/item-selector/typeahead.js +507 -0
- package/dist/common/line-chart.d.ts +34 -0
- package/dist/common/line-chart.js +146 -0
- package/dist/common/loading-spinner.d.ts +9 -0
- package/dist/common/loading-spinner.js +76 -0
- package/dist/common/logo.d.ts +8 -0
- package/dist/common/logo.js +102 -0
- package/dist/common/map-layer-selector.d.ts +13 -0
- package/dist/common/map-layer-selector.js +69 -0
- package/dist/common/modal.d.ts +51 -0
- package/dist/common/modal.js +211 -0
- package/dist/common/portaled.d.ts +54 -0
- package/dist/common/portaled.js +360 -0
- package/dist/common/progress-bar.d.ts +12 -0
- package/dist/common/progress-bar.js +74 -0
- package/dist/common/range-brush.d.ts +19 -0
- package/dist/common/range-brush.js +346 -0
- package/dist/common/range-plot.d.ts +35 -0
- package/dist/common/range-plot.js +156 -0
- package/dist/common/range-slider.d.ts +30 -0
- package/dist/common/range-slider.js +343 -0
- package/dist/common/slider/mouse-event.d.ts +27 -0
- package/dist/common/slider/mouse-event.js +145 -0
- package/dist/common/slider/slider-bar-handle.d.ts +29 -0
- package/dist/common/slider/slider-bar-handle.js +135 -0
- package/dist/common/slider/slider-handle.d.ts +33 -0
- package/dist/common/slider/slider-handle.js +182 -0
- package/dist/common/slider/slider.d.ts +70 -0
- package/dist/common/slider/slider.js +264 -0
- package/dist/common/styled-components.d.ts +123 -0
- package/dist/common/styled-components.js +438 -0
- package/dist/common/switch.d.ts +15 -0
- package/dist/common/switch.js +50 -0
- package/dist/common/time-range-slider-time-title.d.ts +9 -0
- package/dist/common/time-range-slider-time-title.js +94 -0
- package/dist/common/time-range-slider.d.ts +32 -0
- package/dist/common/time-range-slider.js +132 -0
- package/dist/common/time-slider-marker.d.ts +21 -0
- package/dist/common/time-slider-marker.js +161 -0
- package/dist/common/tippy-tooltip.d.ts +4 -0
- package/dist/common/tippy-tooltip.js +142 -0
- package/dist/common/toolbar-item.d.ts +14 -0
- package/dist/common/toolbar-item.js +91 -0
- package/dist/common/toolbar.d.ts +5 -0
- package/dist/common/toolbar.js +53 -0
- package/dist/common/vertical-toolbar.d.ts +3 -0
- package/dist/common/vertical-toolbar.js +42 -0
- package/dist/connect/keplergl-connect.d.ts +5 -0
- package/dist/connect/keplergl-connect.js +67 -0
- package/dist/connect/with-local-selector.d.ts +6 -0
- package/dist/connect/with-local-selector.js +130 -0
- package/dist/container.d.ts +39 -0
- package/dist/container.js +242 -0
- package/dist/context.d.ts +16 -0
- package/dist/context.js +53 -0
- package/dist/editor/constants.d.ts +17 -0
- package/dist/editor/constants.js +47 -0
- package/dist/editor/editor.d.ts +30 -0
- package/dist/editor/editor.js +279 -0
- package/dist/editor/feature-action-panel.d.ts +30 -0
- package/dist/editor/feature-action-panel.js +169 -0
- package/dist/editor/feature-styles.d.ts +37 -0
- package/dist/editor/feature-styles.js +92 -0
- package/dist/editor/handle-style.d.ts +42 -0
- package/dist/editor/handle-style.js +100 -0
- package/dist/filters/components.d.ts +3 -0
- package/dist/filters/components.js +40 -0
- package/dist/filters/filter-panels/filter-panel-with-field-select.d.ts +10 -0
- package/dist/filters/filter-panels/filter-panel-with-field-select.js +106 -0
- package/dist/filters/filter-panels/multi-select-filter-panel.d.ts +9 -0
- package/dist/filters/filter-panels/multi-select-filter-panel.js +72 -0
- package/dist/filters/filter-panels/new-filter-panel.d.ts +12 -0
- package/dist/filters/filter-panels/new-filter-panel.js +94 -0
- package/dist/filters/filter-panels/polygon-filter-panel.d.ts +9 -0
- package/dist/filters/filter-panels/polygon-filter-panel.js +96 -0
- package/dist/filters/filter-panels/range-filter-panel.d.ts +9 -0
- package/dist/filters/filter-panels/range-filter-panel.js +72 -0
- package/dist/filters/filter-panels/single-select-filter-panel.d.ts +9 -0
- package/dist/filters/filter-panels/single-select-filter-panel.js +72 -0
- package/dist/filters/filter-panels/time-range-filter-panel.d.ts +8 -0
- package/dist/filters/filter-panels/time-range-filter-panel.js +87 -0
- package/dist/filters/filter-panels/types.d.ts +35 -0
- package/dist/filters/filter-panels/types.js +26 -0
- package/dist/filters/index.d.ts +5 -0
- package/dist/filters/index.js +68 -0
- package/dist/filters/multi-select-filter.d.ts +3 -0
- package/dist/filters/multi-select-filter.js +53 -0
- package/dist/filters/polygon-filter.d.ts +4 -0
- package/dist/filters/polygon-filter.js +94 -0
- package/dist/filters/range-filter.d.ts +8 -0
- package/dist/filters/range-filter.js +52 -0
- package/dist/filters/single-select-filter.d.ts +3 -0
- package/dist/filters/single-select-filter.js +62 -0
- package/dist/filters/time-range-filter.d.ts +28 -0
- package/dist/filters/time-range-filter.js +84 -0
- package/dist/filters/time-widget.d.ts +14 -0
- package/dist/filters/time-widget.js +192 -0
- package/dist/filters/types.d.ts +54 -0
- package/dist/filters/types.js +26 -0
- package/dist/geocoder/geocoder.d.ts +33 -0
- package/dist/geocoder/geocoder.js +336 -0
- package/dist/geocoder-panel.d.ts +25 -0
- package/dist/geocoder-panel.js +241 -0
- package/dist/hooks/useFeatureFlags.d.ts +2 -0
- package/dist/hooks/useFeatureFlags.js +38 -0
- package/dist/index.d.ts +176 -0
- package/dist/index.js +1935 -0
- package/dist/injector.d.ts +29 -0
- package/dist/injector.js +198 -0
- package/dist/kepler-gl.d.ts +281 -0
- package/dist/kepler-gl.js +568 -0
- package/dist/map/coordinate-info.d.ts +7 -0
- package/dist/map/coordinate-info.js +67 -0
- package/dist/map/layer-hover-info.d.ts +13 -0
- package/dist/map/layer-hover-info.js +228 -0
- package/dist/map/layer-selector-panel.d.ts +21 -0
- package/dist/map/layer-selector-panel.js +114 -0
- package/dist/map/lazy-tippy.d.ts +7 -0
- package/dist/map/lazy-tippy.js +94 -0
- package/dist/map/locale-panel.d.ts +16 -0
- package/dist/map/locale-panel.js +107 -0
- package/dist/map/map-control-panel.d.ts +13 -0
- package/dist/map/map-control-panel.js +116 -0
- package/dist/map/map-control-toolbar.d.ts +2 -0
- package/dist/map/map-control-toolbar.js +45 -0
- package/dist/map/map-control-tooltip.d.ts +8 -0
- package/dist/map/map-control-tooltip.js +57 -0
- package/dist/map/map-control.d.ts +45 -0
- package/dist/map/map-control.js +101 -0
- package/dist/map/map-draw-panel.d.ts +20 -0
- package/dist/map/map-draw-panel.js +137 -0
- package/dist/map/map-legend-panel.d.ts +24 -0
- package/dist/map/map-legend-panel.js +181 -0
- package/dist/map/map-legend.d.ts +55 -0
- package/dist/map/map-legend.js +274 -0
- package/dist/map/map-popover.d.ts +36 -0
- package/dist/map/map-popover.js +217 -0
- package/dist/map/split-map-button.d.ts +20 -0
- package/dist/map/split-map-button.js +92 -0
- package/dist/map/toggle-3d-button.d.ts +17 -0
- package/dist/map/toggle-3d-button.js +81 -0
- package/dist/map-container.d.ts +48 -0
- package/dist/map-container.js +653 -0
- package/dist/maps-layout.d.ts +9 -0
- package/dist/maps-layout.js +80 -0
- package/dist/modal-container.d.ts +63 -0
- package/dist/modal-container.js +530 -0
- package/dist/modals/add-map-style-modal.d.ts +18 -0
- package/dist/modals/add-map-style-modal.js +300 -0
- package/dist/modals/cloud-tile.d.ts +15 -0
- package/dist/modals/cloud-tile.js +144 -0
- package/dist/modals/data-table-modal.d.ts +28 -0
- package/dist/modals/data-table-modal.js +285 -0
- package/dist/modals/delete-data-modal.d.ts +10 -0
- package/dist/modals/delete-data-modal.js +74 -0
- package/dist/modals/error-display.d.ts +6 -0
- package/dist/modals/error-display.js +50 -0
- package/dist/modals/export-data-modal.d.ts +25 -0
- package/dist/modals/export-data-modal.js +232 -0
- package/dist/modals/export-image-modal.d.ts +18 -0
- package/dist/modals/export-image-modal.js +156 -0
- package/dist/modals/export-map-modal/components.d.ts +8 -0
- package/dist/modals/export-map-modal/components.js +71 -0
- package/dist/modals/export-map-modal/export-html-map.d.ts +12 -0
- package/dist/modals/export-map-modal/export-html-map.js +158 -0
- package/dist/modals/export-map-modal/export-json-map.d.ts +9 -0
- package/dist/modals/export-map-modal/export-json-map.js +120 -0
- package/dist/modals/export-map-modal/export-map-modal.d.ts +27 -0
- package/dist/modals/export-map-modal/export-map-modal.js +119 -0
- package/dist/modals/image-modal-container.d.ts +17 -0
- package/dist/modals/image-modal-container.js +86 -0
- package/dist/modals/load-data-modal.d.ts +41 -0
- package/dist/modals/load-data-modal.js +118 -0
- package/dist/modals/load-storage-map.d.ts +26 -0
- package/dist/modals/load-storage-map.js +308 -0
- package/dist/modals/loading-dialog.d.ts +7 -0
- package/dist/modals/loading-dialog.js +68 -0
- package/dist/modals/modal-dialog.d.ts +2 -0
- package/dist/modals/modal-dialog.js +36 -0
- package/dist/modals/modal-tabs.d.ts +27 -0
- package/dist/modals/modal-tabs.js +119 -0
- package/dist/modals/overwrite-map-modal.d.ts +16 -0
- package/dist/modals/overwrite-map-modal.js +100 -0
- package/dist/modals/provider-modal-container.d.ts +22 -0
- package/dist/modals/provider-modal-container.js +101 -0
- package/dist/modals/save-map-modal.d.ts +30 -0
- package/dist/modals/save-map-modal.js +226 -0
- package/dist/modals/share-map-modal.d.ts +30 -0
- package/dist/modals/share-map-modal.js +219 -0
- package/dist/modals/status-panel.d.ts +13 -0
- package/dist/modals/status-panel.js +103 -0
- package/dist/modals/storage-map-viewer.d.ts +21 -0
- package/dist/modals/storage-map-viewer.js +147 -0
- package/dist/notification-panel/notification-item.d.ts +70 -0
- package/dist/notification-panel/notification-item.js +173 -0
- package/dist/notification-panel.d.ts +13 -0
- package/dist/notification-panel.js +106 -0
- package/dist/plot-container.d.ts +24 -0
- package/dist/plot-container.js +276 -0
- package/dist/side-panel/cloud-storage-dropdown.d.ts +6 -0
- package/dist/side-panel/cloud-storage-dropdown.js +62 -0
- package/dist/side-panel/common/dataset-info.d.ts +3 -0
- package/dist/side-panel/common/dataset-info.js +63 -0
- package/dist/side-panel/common/dataset-tag.d.ts +3 -0
- package/dist/side-panel/common/dataset-tag.js +89 -0
- package/dist/side-panel/common/dataset-title.d.ts +8 -0
- package/dist/side-panel/common/dataset-title.js +225 -0
- package/dist/side-panel/common/source-data-catalog.d.ts +9 -0
- package/dist/side-panel/common/source-data-catalog.js +82 -0
- package/dist/side-panel/common/source-data-selector.d.ts +8 -0
- package/dist/side-panel/common/source-data-selector.js +96 -0
- package/dist/side-panel/common/types.d.ts +63 -0
- package/dist/side-panel/common/types.js +26 -0
- package/dist/side-panel/custom-panel.d.ts +9 -0
- package/dist/side-panel/custom-panel.js +59 -0
- package/dist/side-panel/filter-manager.d.ts +20 -0
- package/dist/side-panel/filter-manager.js +132 -0
- package/dist/side-panel/filter-panel/filter-panel-header.d.ts +21 -0
- package/dist/side-panel/filter-panel/filter-panel-header.js +87 -0
- package/dist/side-panel/filter-panel/filter-panel.d.ts +23 -0
- package/dist/side-panel/filter-panel/filter-panel.js +151 -0
- package/dist/side-panel/interaction-manager.d.ts +15 -0
- package/dist/side-panel/interaction-manager.js +57 -0
- package/dist/side-panel/interaction-panel/brush-config.d.ts +15 -0
- package/dist/side-panel/interaction-panel/brush-config.js +74 -0
- package/dist/side-panel/interaction-panel/interaction-panel.d.ts +18 -0
- package/dist/side-panel/interaction-panel/interaction-panel.js +156 -0
- package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +28 -0
- package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +264 -0
- package/dist/side-panel/interaction-panel/tooltip-config.d.ts +38 -0
- package/dist/side-panel/interaction-panel/tooltip-config.js +185 -0
- package/dist/side-panel/layer-manager.d.ts +39 -0
- package/dist/side-panel/layer-manager.js +225 -0
- package/dist/side-panel/layer-panel/add-layer-button.d.ts +10 -0
- package/dist/side-panel/layer-panel/add-layer-button.js +176 -0
- package/dist/side-panel/layer-panel/color-palette.d.ts +11 -0
- package/dist/side-panel/layer-panel/color-palette.js +91 -0
- package/dist/side-panel/layer-panel/color-range-selector.d.ts +47 -0
- package/dist/side-panel/layer-panel/color-range-selector.js +290 -0
- package/dist/side-panel/layer-panel/color-selector.d.ts +42 -0
- package/dist/side-panel/layer-panel/color-selector.js +225 -0
- package/dist/side-panel/layer-panel/column-selector.d.ts +22 -0
- package/dist/side-panel/layer-panel/column-selector.js +85 -0
- package/dist/side-panel/layer-panel/custom-palette.d.ts +38 -0
- package/dist/side-panel/layer-panel/custom-palette.js +312 -0
- package/dist/side-panel/layer-panel/custom-picker.d.ts +51 -0
- package/dist/side-panel/layer-panel/custom-picker.js +136 -0
- package/dist/side-panel/layer-panel/dataset-layer-group.d.ts +22 -0
- package/dist/side-panel/layer-panel/dataset-layer-group.js +86 -0
- package/dist/side-panel/layer-panel/dataset-layer-section.d.ts +23 -0
- package/dist/side-panel/layer-panel/dataset-layer-section.js +89 -0
- package/dist/side-panel/layer-panel/dataset-section.d.ts +24 -0
- package/dist/side-panel/layer-panel/dataset-section.js +112 -0
- package/dist/side-panel/layer-panel/dimension-scale-selector.d.ts +10 -0
- package/dist/side-panel/layer-panel/dimension-scale-selector.js +60 -0
- package/dist/side-panel/layer-panel/how-to-button.d.ts +6 -0
- package/dist/side-panel/layer-panel/how-to-button.js +58 -0
- package/dist/side-panel/layer-panel/layer-column-config.d.ts +19 -0
- package/dist/side-panel/layer-panel/layer-column-config.js +107 -0
- package/dist/side-panel/layer-panel/layer-config-group.d.ts +35 -0
- package/dist/side-panel/layer-panel/layer-config-group.js +188 -0
- package/dist/side-panel/layer-panel/layer-configurator.d.ts +100 -0
- package/dist/side-panel/layer-panel/layer-configurator.js +792 -0
- package/dist/side-panel/layer-panel/layer-list.d.ts +19 -0
- package/dist/side-panel/layer-panel/layer-list.js +188 -0
- package/dist/side-panel/layer-panel/layer-panel-header.d.ts +63 -0
- package/dist/side-panel/layer-panel/layer-panel-header.js +291 -0
- package/dist/side-panel/layer-panel/layer-panel.d.ts +36 -0
- package/dist/side-panel/layer-panel/layer-panel.js +201 -0
- package/dist/side-panel/layer-panel/layer-type-dropdown-list.d.ts +22 -0
- package/dist/side-panel/layer-panel/layer-type-dropdown-list.js +109 -0
- package/dist/side-panel/layer-panel/layer-type-list-item.d.ts +13 -0
- package/dist/side-panel/layer-panel/layer-type-list-item.js +89 -0
- package/dist/side-panel/layer-panel/layer-type-selector.d.ts +21 -0
- package/dist/side-panel/layer-panel/layer-type-selector.js +91 -0
- package/dist/side-panel/layer-panel/panel-view-list-toggle.d.ts +36 -0
- package/dist/side-panel/layer-panel/panel-view-list-toggle.js +143 -0
- package/dist/side-panel/layer-panel/single-color-palette.d.ts +9 -0
- package/dist/side-panel/layer-panel/single-color-palette.js +81 -0
- package/dist/side-panel/layer-panel/text-label-panel.d.ts +15 -0
- package/dist/side-panel/layer-panel/text-label-panel.js +171 -0
- package/dist/side-panel/layer-panel/vis-config-by-field-selector.d.ts +29 -0
- package/dist/side-panel/layer-panel/vis-config-by-field-selector.js +137 -0
- package/dist/side-panel/layer-panel/vis-config-slider.d.ts +20 -0
- package/dist/side-panel/layer-panel/vis-config-slider.js +210 -0
- package/dist/side-panel/layer-panel/vis-config-switch.d.ts +16 -0
- package/dist/side-panel/layer-panel/vis-config-switch.js +91 -0
- package/dist/side-panel/map-manager.d.ts +20 -0
- package/dist/side-panel/map-manager.js +168 -0
- package/dist/side-panel/map-style-panel/map-layer-selector.d.ts +19 -0
- package/dist/side-panel/map-style-panel/map-layer-selector.js +128 -0
- package/dist/side-panel/map-style-panel/map-style-selector.d.ts +16 -0
- package/dist/side-panel/map-style-panel/map-style-selector.js +98 -0
- package/dist/side-panel/panel-dropdown.d.ts +17 -0
- package/dist/side-panel/panel-dropdown.js +99 -0
- package/dist/side-panel/panel-header-action.d.ts +20 -0
- package/dist/side-panel/panel-header-action.js +100 -0
- package/dist/side-panel/panel-header.d.ts +79 -0
- package/dist/side-panel/panel-header.js +360 -0
- package/dist/side-panel/panel-tab.d.ts +20 -0
- package/dist/side-panel/panel-tab.js +88 -0
- package/dist/side-panel/panel-title.d.ts +4 -0
- package/dist/side-panel/panel-title.js +54 -0
- package/dist/side-panel/panel-toggle.d.ts +13 -0
- package/dist/side-panel/panel-toggle.js +80 -0
- package/dist/side-panel/side-bar.d.ts +79 -0
- package/dist/side-panel/side-bar.js +177 -0
- package/dist/side-panel.d.ts +134 -0
- package/dist/side-panel.js +274 -0
- package/dist/types.d.ts +42 -0
- package/dist/types.js +26 -0
- package/package.json +136 -0
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
// Copyright (c) 2022 Uber Technologies, Inc.
|
|
2
|
+
//
|
|
3
|
+
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
+
// of this software and associated documentation files (the "Software"), to deal
|
|
5
|
+
// in the Software without restriction, including without limitation the rights
|
|
6
|
+
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
+
// copies of the Software, and to permit persons to whom the Software is
|
|
8
|
+
// furnished to do so, subject to the following conditions:
|
|
9
|
+
//
|
|
10
|
+
// The above copyright notice and this permission notice shall be included in
|
|
11
|
+
// all copies or substantial portions of the Software.
|
|
12
|
+
//
|
|
13
|
+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
+
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
+
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
19
|
+
// THE SOFTWARE.
|
|
20
|
+
|
|
21
|
+
"use strict";
|
|
22
|
+
|
|
23
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
24
|
+
|
|
25
|
+
Object.defineProperty(exports, "__esModule", {
|
|
26
|
+
value: true
|
|
27
|
+
});
|
|
28
|
+
exports["default"] = void 0;
|
|
29
|
+
|
|
30
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
31
|
+
|
|
32
|
+
var _react = _interopRequireDefault(require("react"));
|
|
33
|
+
|
|
34
|
+
var _styledComponents = require("../../common/styled-components");
|
|
35
|
+
|
|
36
|
+
var _components = require("./components");
|
|
37
|
+
|
|
38
|
+
var _constants = require("@kepler.gl/constants");
|
|
39
|
+
|
|
40
|
+
var _styledComponents2 = _interopRequireDefault(require("styled-components"));
|
|
41
|
+
|
|
42
|
+
var _reactIntl = require("react-intl");
|
|
43
|
+
|
|
44
|
+
var _localization = require("@kepler.gl/localization");
|
|
45
|
+
|
|
46
|
+
var _templateObject, _templateObject2, _templateObject3;
|
|
47
|
+
|
|
48
|
+
var ExportMapStyledExportSection = (0, _styledComponents2["default"])(_styledComponents.StyledExportSection)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n .disclaimer {\n font-size: ", ";\n color: ", ";\n margin-top: 12px;\n }\n"])), function (props) {
|
|
49
|
+
return props.theme.inputFontSize;
|
|
50
|
+
}, function (props) {
|
|
51
|
+
return props.theme.inputColor;
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
var StyledInput = _styledComponents2["default"].input(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n padding: ", ";\n color: ", ";\n height: ", ";\n outline: 0;\n font-size: ", ";\n\n :active,\n :focus,\n &.focus,\n &.active {\n outline: 0;\n }\n"])), function (props) {
|
|
55
|
+
return props.theme.inputPadding;
|
|
56
|
+
}, function (props) {
|
|
57
|
+
return props.error ? 'red' : props.theme.titleColorLT;
|
|
58
|
+
}, function (props) {
|
|
59
|
+
return props.theme.inputBoxHeight;
|
|
60
|
+
}, function (props) {
|
|
61
|
+
return props.theme.inputFontSize;
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
var BigStyledTile = (0, _styledComponents2["default"])(_styledComponents.StyledType)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n height: unset;\n width: unset;\n img {\n width: 180px;\n height: 120px;\n }\n"])));
|
|
65
|
+
|
|
66
|
+
function ExportHtmlMapFactory() {
|
|
67
|
+
/** @type {typeof import('./export-html-map').ExportHtmlMap} */
|
|
68
|
+
var ExportHtmlMap = function ExportHtmlMap(_ref) {
|
|
69
|
+
var _ref$onChangeExportMa = _ref.onChangeExportMapHTMLMode,
|
|
70
|
+
onChangeExportMapHTMLMode = _ref$onChangeExportMa === void 0 ? function (mode) {} : _ref$onChangeExportMa,
|
|
71
|
+
_ref$onEditUserMapbox = _ref.onEditUserMapboxAccessToken,
|
|
72
|
+
onEditUserMapboxAccessToken = _ref$onEditUserMapbox === void 0 ? function (token) {} : _ref$onEditUserMapbox,
|
|
73
|
+
_ref$options = _ref.options,
|
|
74
|
+
options = _ref$options === void 0 ? {} : _ref$options,
|
|
75
|
+
intl = _ref.intl;
|
|
76
|
+
return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_components.StyledExportMapSection, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
77
|
+
className: "description"
|
|
78
|
+
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
79
|
+
className: "selection"
|
|
80
|
+
}, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
|
|
81
|
+
id: 'modal.exportMap.html.selection'
|
|
82
|
+
}))), /*#__PURE__*/_react["default"].createElement(ExportMapStyledExportSection, {
|
|
83
|
+
className: "export-map-modal__html-options"
|
|
84
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
85
|
+
className: "description"
|
|
86
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
87
|
+
className: "title"
|
|
88
|
+
}, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
|
|
89
|
+
id: 'modal.exportMap.html.tokenTitle'
|
|
90
|
+
})), /*#__PURE__*/_react["default"].createElement("div", {
|
|
91
|
+
className: "subtitle"
|
|
92
|
+
}, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
|
|
93
|
+
id: 'modal.exportMap.html.tokenSubtitle'
|
|
94
|
+
}))), /*#__PURE__*/_react["default"].createElement("div", {
|
|
95
|
+
className: "selection"
|
|
96
|
+
}, /*#__PURE__*/_react["default"].createElement(StyledInput, {
|
|
97
|
+
onChange: function onChange(e) {
|
|
98
|
+
return onEditUserMapboxAccessToken(e.target.value);
|
|
99
|
+
},
|
|
100
|
+
type: "text",
|
|
101
|
+
placeholder: intl.formatMessage({
|
|
102
|
+
id: 'modal.exportMap.html.tokenPlaceholder'
|
|
103
|
+
}),
|
|
104
|
+
value: options ? options.userMapboxToken : ''
|
|
105
|
+
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
106
|
+
className: "disclaimer"
|
|
107
|
+
}, /*#__PURE__*/_react["default"].createElement(_components.StyledWarning, null, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
|
|
108
|
+
id: 'modal.exportMap.html.tokenMisuseWarning'
|
|
109
|
+
})), /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
|
|
110
|
+
id: 'modal.exportMap.html.tokenDisclaimer'
|
|
111
|
+
}), /*#__PURE__*/_react["default"].createElement(_components.ExportMapLink, {
|
|
112
|
+
href: _constants.EXPORT_HTML_MAP_DOC
|
|
113
|
+
}, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
|
|
114
|
+
id: 'modal.exportMap.html.tokenUpdate'
|
|
115
|
+
}))))), /*#__PURE__*/_react["default"].createElement(ExportMapStyledExportSection, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
116
|
+
className: "description"
|
|
117
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
118
|
+
className: "title"
|
|
119
|
+
}, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
|
|
120
|
+
id: 'modal.exportMap.html.modeTitle'
|
|
121
|
+
})), /*#__PURE__*/_react["default"].createElement("div", {
|
|
122
|
+
className: "subtitle"
|
|
123
|
+
}, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
|
|
124
|
+
id: 'modal.exportMap.html.modeSubtitle1'
|
|
125
|
+
}), /*#__PURE__*/_react["default"].createElement("a", {
|
|
126
|
+
href: _constants.EXPORT_HTML_MAP_MODES_DOC
|
|
127
|
+
}, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
|
|
128
|
+
id: 'modal.exportMap.html.modeSubtitle2'
|
|
129
|
+
})))), /*#__PURE__*/_react["default"].createElement("div", {
|
|
130
|
+
className: "selection"
|
|
131
|
+
}, _constants.EXPORT_HTML_MAP_MODE_OPTIONS.map(function (mode) {
|
|
132
|
+
return /*#__PURE__*/_react["default"].createElement(BigStyledTile, {
|
|
133
|
+
key: mode.id,
|
|
134
|
+
selected: options.mode === mode.id,
|
|
135
|
+
onClick: function onClick() {
|
|
136
|
+
return mode.available && onChangeExportMapHTMLMode(mode.id);
|
|
137
|
+
}
|
|
138
|
+
}, /*#__PURE__*/_react["default"].createElement("img", {
|
|
139
|
+
src: mode.url,
|
|
140
|
+
alt: ""
|
|
141
|
+
}), /*#__PURE__*/_react["default"].createElement("p", null, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
|
|
142
|
+
id: 'modal.exportMap.html.modeDescription',
|
|
143
|
+
values: {
|
|
144
|
+
mode: intl.formatMessage({
|
|
145
|
+
id: mode.label
|
|
146
|
+
})
|
|
147
|
+
}
|
|
148
|
+
})), options.mode === mode.id && /*#__PURE__*/_react["default"].createElement(_styledComponents.CheckMark, null));
|
|
149
|
+
}))));
|
|
150
|
+
};
|
|
151
|
+
|
|
152
|
+
ExportHtmlMap.displayName = 'ExportHtmlMap';
|
|
153
|
+
return (0, _reactIntl.injectIntl)(ExportHtmlMap);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
var _default = ExportHtmlMapFactory;
|
|
157
|
+
exports["default"] = _default;
|
|
158
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RhbHMvZXhwb3J0LW1hcC1tb2RhbC9leHBvcnQtaHRtbC1tYXAudHN4Il0sIm5hbWVzIjpbIkV4cG9ydE1hcFN0eWxlZEV4cG9ydFNlY3Rpb24iLCJTdHlsZWRFeHBvcnRTZWN0aW9uIiwicHJvcHMiLCJ0aGVtZSIsImlucHV0Rm9udFNpemUiLCJpbnB1dENvbG9yIiwiU3R5bGVkSW5wdXQiLCJzdHlsZWQiLCJpbnB1dCIsImlucHV0UGFkZGluZyIsImVycm9yIiwidGl0bGVDb2xvckxUIiwiaW5wdXRCb3hIZWlnaHQiLCJCaWdTdHlsZWRUaWxlIiwiU3R5bGVkVHlwZSIsIkV4cG9ydEh0bWxNYXBGYWN0b3J5IiwiRXhwb3J0SHRtbE1hcCIsIm9uQ2hhbmdlRXhwb3J0TWFwSFRNTE1vZGUiLCJtb2RlIiwib25FZGl0VXNlck1hcGJveEFjY2Vzc1Rva2VuIiwidG9rZW4iLCJvcHRpb25zIiwiaW50bCIsImUiLCJ0YXJnZXQiLCJ2YWx1ZSIsImZvcm1hdE1lc3NhZ2UiLCJpZCIsInVzZXJNYXBib3hUb2tlbiIsIkVYUE9SVF9IVE1MX01BUF9ET0MiLCJFWFBPUlRfSFRNTF9NQVBfTU9ERVNfRE9DIiwiRVhQT1JUX0hUTUxfTUFQX01PREVfT1BUSU9OUyIsIm1hcCIsImF2YWlsYWJsZSIsInVybCIsImxhYmVsIiwiZGlzcGxheU5hbWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOztBQUNBOztBQUtBOztBQUNBOztBQUNBOzs7O0FBU0EsSUFBTUEsNEJBQTRCLEdBQUcsbUNBQU9DLHFDQUFQLENBQUgsOEtBRWpCLFVBQUFDLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUMsYUFBaEI7QUFBQSxDQUZZLEVBR3JCLFVBQUFGLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUUsVUFBaEI7QUFBQSxDQUhnQixDQUFsQzs7QUFZQSxJQUFNQyxXQUFXLEdBQUdDLDhCQUFPQyxLQUFWLDBRQUVKLFVBQUFOLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWU0sWUFBaEI7QUFBQSxDQUZELEVBR04sVUFBQVAsS0FBSztBQUFBLFNBQUtBLEtBQUssQ0FBQ1EsS0FBTixHQUFjLEtBQWQsR0FBc0JSLEtBQUssQ0FBQ0MsS0FBTixDQUFZUSxZQUF2QztBQUFBLENBSEMsRUFJTCxVQUFBVCxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlTLGNBQWhCO0FBQUEsQ0FKQSxFQU1GLFVBQUFWLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUMsYUFBaEI7QUFBQSxDQU5ILENBQWpCOztBQWdCQSxJQUFNUyxhQUFhLEdBQUcsbUNBQU9DLDRCQUFQLENBQUgsa0xBQW5COztBQXNCQSxTQUFTQyxvQkFBVCxHQUF5RTtBQUN2RTtBQUNBLE1BQU1DLGFBQXVELEdBQUcsU0FBMURBLGFBQTBEO0FBQUEscUNBQzlEQyx5QkFEOEQ7QUFBQSxRQUM5REEseUJBRDhELHNDQUNsQyxVQUFBQyxJQUFJLEVBQUksQ0FBRSxDQUR3QjtBQUFBLHFDQUU5REMsMkJBRjhEO0FBQUEsUUFFOURBLDJCQUY4RCxzQ0FFaEMsVUFBQUMsS0FBSyxFQUFJLENBQUUsQ0FGcUI7QUFBQSw0QkFHOURDLE9BSDhEO0FBQUEsUUFHOURBLE9BSDhELDZCQUdwRCxFQUhvRDtBQUFBLFFBSTlEQyxJQUo4RCxRQUk5REEsSUFKOEQ7QUFBQSx3QkFNOUQsMERBQ0UsZ0NBQUMsa0NBQUQscUJBQ0U7QUFBSyxNQUFBLFNBQVMsRUFBQztBQUFmLE1BREYsZUFFRTtBQUFLLE1BQUEsU0FBUyxFQUFDO0FBQWYsb0JBQ0UsZ0NBQUMsOEJBQUQ7QUFBa0IsTUFBQSxFQUFFLEVBQUU7QUFBdEIsTUFERixDQUZGLENBREYsZUFPRSxnQ0FBQyw0QkFBRDtBQUE4QixNQUFBLFNBQVMsRUFBQztBQUF4QyxvQkFDRTtBQUFLLE1BQUEsU0FBUyxFQUFDO0FBQWYsb0JBQ0U7QUFBSyxNQUFBLFNBQVMsRUFBQztBQUFmLG9CQUNFLGdDQUFDLDhCQUFEO0FBQWtCLE1BQUEsRUFBRSxFQUFFO0FBQXRCLE1BREYsQ0FERixlQUlFO0FBQUssTUFBQSxTQUFTLEVBQUM7QUFBZixvQkFDRSxnQ0FBQyw4QkFBRDtBQUFrQixNQUFBLEVBQUUsRUFBRTtBQUF0QixNQURGLENBSkYsQ0FERixlQVNFO0FBQUssTUFBQSxTQUFTLEVBQUM7QUFBZixvQkFDRSxnQ0FBQyxXQUFEO0FBQ0UsTUFBQSxRQUFRLEVBQUUsa0JBQUFDLENBQUM7QUFBQSxlQUFJSiwyQkFBMkIsQ0FBQ0ksQ0FBQyxDQUFDQyxNQUFGLENBQVNDLEtBQVYsQ0FBL0I7QUFBQSxPQURiO0FBRUUsTUFBQSxJQUFJLEVBQUMsTUFGUDtBQUdFLE1BQUEsV0FBVyxFQUFFSCxJQUFJLENBQUNJLGFBQUwsQ0FBbUI7QUFBQ0MsUUFBQUEsRUFBRSxFQUFFO0FBQUwsT0FBbkIsQ0FIZjtBQUlFLE1BQUEsS0FBSyxFQUFFTixPQUFPLEdBQUdBLE9BQU8sQ0FBQ08sZUFBWCxHQUE2QjtBQUo3QyxNQURGLGVBT0U7QUFBSyxNQUFBLFNBQVMsRUFBQztBQUFmLG9CQUNFLGdDQUFDLHlCQUFELHFCQUNFLGdDQUFDLDhCQUFEO0FBQWtCLE1BQUEsRUFBRSxFQUFFO0FBQXRCLE1BREYsQ0FERixlQUlFLGdDQUFDLDhCQUFEO0FBQWtCLE1BQUEsRUFBRSxFQUFFO0FBQXRCLE1BSkYsZUFLRSxnQ0FBQyx5QkFBRDtBQUFlLE1BQUEsSUFBSSxFQUFFQztBQUFyQixvQkFDRSxnQ0FBQyw4QkFBRDtBQUFrQixNQUFBLEVBQUUsRUFBRTtBQUF0QixNQURGLENBTEYsQ0FQRixDQVRGLENBUEYsZUFrQ0UsZ0NBQUMsNEJBQUQscUJBQ0U7QUFBSyxNQUFBLFNBQVMsRUFBQztBQUFmLG9CQUNFO0FBQUssTUFBQSxTQUFTLEVBQUM7QUFBZixvQkFDRSxnQ0FBQyw4QkFBRDtBQUFrQixNQUFBLEVBQUUsRUFBRTtBQUF0QixNQURGLENBREYsZUFJRTtBQUFLLE1BQUEsU0FBUyxFQUFDO0FBQWYsb0JBQ0UsZ0NBQUMsOEJBQUQ7QUFBa0IsTUFBQSxFQUFFLEVBQUU7QUFBdEIsTUFERixlQUVFO0FBQUcsTUFBQSxJQUFJLEVBQUVDO0FBQVQsb0JBQ0UsZ0NBQUMsOEJBQUQ7QUFBa0IsTUFBQSxFQUFFLEVBQUU7QUFBdEIsTUFERixDQUZGLENBSkYsQ0FERixlQVlFO0FBQUssTUFBQSxTQUFTLEVBQUM7QUFBZixPQUNHQyx3Q0FBNkJDLEdBQTdCLENBQWlDLFVBQUFkLElBQUk7QUFBQSwwQkFDcEMsZ0NBQUMsYUFBRDtBQUNFLFFBQUEsR0FBRyxFQUFFQSxJQUFJLENBQUNTLEVBRFo7QUFFRSxRQUFBLFFBQVEsRUFBRU4sT0FBTyxDQUFDSCxJQUFSLEtBQWlCQSxJQUFJLENBQUNTLEVBRmxDO0FBR0UsUUFBQSxPQUFPLEVBQUU7QUFBQSxpQkFBTVQsSUFBSSxDQUFDZSxTQUFMLElBQWtCaEIseUJBQXlCLENBQUNDLElBQUksQ0FBQ1MsRUFBTixDQUFqRDtBQUFBO0FBSFgsc0JBS0U7QUFBSyxRQUFBLEdBQUcsRUFBRVQsSUFBSSxDQUFDZ0IsR0FBZjtBQUFvQixRQUFBLEdBQUcsRUFBQztBQUF4QixRQUxGLGVBTUUsd0RBQ0UsZ0NBQUMsOEJBQUQ7QUFDRSxRQUFBLEVBQUUsRUFBRSxzQ0FETjtBQUVFLFFBQUEsTUFBTSxFQUFFO0FBQUNoQixVQUFBQSxJQUFJLEVBQUVJLElBQUksQ0FBQ0ksYUFBTCxDQUFtQjtBQUFDQyxZQUFBQSxFQUFFLEVBQUVULElBQUksQ0FBQ2lCO0FBQVYsV0FBbkI7QUFBUDtBQUZWLFFBREYsQ0FORixFQVlHZCxPQUFPLENBQUNILElBQVIsS0FBaUJBLElBQUksQ0FBQ1MsRUFBdEIsaUJBQTRCLGdDQUFDLDJCQUFELE9BWi9CLENBRG9DO0FBQUEsS0FBckMsQ0FESCxDQVpGLENBbENGLENBTjhEO0FBQUEsR0FBaEU7O0FBMEVBWCxFQUFBQSxhQUFhLENBQUNvQixXQUFkLEdBQTRCLGVBQTVCO0FBRUEsU0FBTywyQkFBV3BCLGFBQVgsQ0FBUDtBQUNEOztlQUVjRCxvQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQge1N0eWxlZEV4cG9ydFNlY3Rpb24sIFN0eWxlZFR5cGUsIENoZWNrTWFya30gZnJvbSAnLi4vLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7U3R5bGVkRXhwb3J0TWFwU2VjdGlvbiwgU3R5bGVkV2FybmluZywgRXhwb3J0TWFwTGlua30gZnJvbSAnLi9jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIEVYUE9SVF9IVE1MX01BUF9NT0RFX09QVElPTlMsXG4gIEVYUE9SVF9IVE1MX01BUF9ET0MsXG4gIEVYUE9SVF9IVE1MX01BUF9NT0RFU19ET0Ncbn0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge2luamVjdEludGx9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdAa2VwbGVyLmdsL2xvY2FsaXphdGlvbic7XG5pbXBvcnQge0ludGxTaGFwZX0gZnJvbSAncmVhY3QtaW50bCc7XG5cbmltcG9ydCB7XG4gIHNldFVzZXJNYXBib3hBY2Nlc3NUb2tlbixcbiAgc2V0RXhwb3J0SFRNTE1hcE1vZGUsXG4gIEFjdGlvbkhhbmRsZXJcbn0gZnJvbSAnQGtlcGxlci5nbC9hY3Rpb25zJztcblxuY29uc3QgRXhwb3J0TWFwU3R5bGVkRXhwb3J0U2VjdGlvbiA9IHN0eWxlZChTdHlsZWRFeHBvcnRTZWN0aW9uKWBcbiAgLmRpc2NsYWltZXIge1xuICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEZvbnRTaXplfTtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dENvbG9yfTtcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICB9XG5gO1xuXG5pbnRlcmZhY2UgU3R5bGVkSW5wdXRQcm9wcyB7XG4gIGVycm9yPzogYm9vbGVhbjtcbn1cblxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQ8U3R5bGVkSW5wdXRQcm9wcz5gXG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0UGFkZGluZ307XG4gIGNvbG9yOiAke3Byb3BzID0+IChwcm9wcy5lcnJvciA/ICdyZWQnIDogcHJvcHMudGhlbWUudGl0bGVDb2xvckxUKX07XG4gIGhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEJveEhlaWdodH07XG4gIG91dGxpbmU6IDA7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEZvbnRTaXplfTtcblxuICA6YWN0aXZlLFxuICA6Zm9jdXMsXG4gICYuZm9jdXMsXG4gICYuYWN0aXZlIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5gO1xuXG5jb25zdCBCaWdTdHlsZWRUaWxlID0gc3R5bGVkKFN0eWxlZFR5cGUpYFxuICBoZWlnaHQ6IHVuc2V0O1xuICB3aWR0aDogdW5zZXQ7XG4gIGltZyB7XG4gICAgd2lkdGg6IDE4MHB4O1xuICAgIGhlaWdodDogMTIwcHg7XG4gIH1cbmA7XG5cbnR5cGUgRXhwb3J0SHRtbE1hcFByb3BzID0ge1xuICBvbkNoYW5nZUV4cG9ydE1hcEhUTUxNb2RlOiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBzZXRFeHBvcnRIVE1MTWFwTW9kZT47XG4gIG9uRWRpdFVzZXJNYXBib3hBY2Nlc3NUb2tlbjogQWN0aW9uSGFuZGxlcjx0eXBlb2Ygc2V0VXNlck1hcGJveEFjY2Vzc1Rva2VuPjtcbiAgb3B0aW9uczoge1xuICAgIHVzZXJNYXBib3hUb2tlbj86IHN0cmluZztcbiAgICBtb2RlPzogc3RyaW5nO1xuICB9O1xufTtcblxudHlwZSBJbnRsUHJvcHMgPSB7XG4gIGludGw6IEludGxTaGFwZTtcbn07XG5cbmZ1bmN0aW9uIEV4cG9ydEh0bWxNYXBGYWN0b3J5KCk6IFJlYWN0LkNvbXBvbmVudFR5cGU8RXhwb3J0SHRtbE1hcFByb3BzPiB7XG4gIC8qKiBAdHlwZSB7dHlwZW9mIGltcG9ydCgnLi9leHBvcnQtaHRtbC1tYXAnKS5FeHBvcnRIdG1sTWFwfSAqL1xuICBjb25zdCBFeHBvcnRIdG1sTWFwOiBSZWFjdC5GQzxFeHBvcnRIdG1sTWFwUHJvcHMgJiBJbnRsUHJvcHM+ID0gKHtcbiAgICBvbkNoYW5nZUV4cG9ydE1hcEhUTUxNb2RlID0gbW9kZSA9PiB7fSxcbiAgICBvbkVkaXRVc2VyTWFwYm94QWNjZXNzVG9rZW4gPSB0b2tlbiA9PiB7fSxcbiAgICBvcHRpb25zID0ge30sXG4gICAgaW50bFxuICB9KSA9PiAoXG4gICAgPGRpdj5cbiAgICAgIDxTdHlsZWRFeHBvcnRNYXBTZWN0aW9uPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRlc2NyaXB0aW9uXCIgLz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzZWxlY3Rpb25cIj5cbiAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17J21vZGFsLmV4cG9ydE1hcC5odG1sLnNlbGVjdGlvbid9IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9TdHlsZWRFeHBvcnRNYXBTZWN0aW9uPlxuICAgICAgPEV4cG9ydE1hcFN0eWxlZEV4cG9ydFNlY3Rpb24gY2xhc3NOYW1lPVwiZXhwb3J0LW1hcC1tb2RhbF9faHRtbC1vcHRpb25zXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRpdGxlXCI+XG4gICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17J21vZGFsLmV4cG9ydE1hcC5odG1sLnRva2VuVGl0bGUnfSAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3VidGl0bGVcIj5cbiAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXsnbW9kYWwuZXhwb3J0TWFwLmh0bWwudG9rZW5TdWJ0aXRsZSd9IC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNlbGVjdGlvblwiPlxuICAgICAgICAgIDxTdHlsZWRJbnB1dFxuICAgICAgICAgICAgb25DaGFuZ2U9e2UgPT4gb25FZGl0VXNlck1hcGJveEFjY2Vzc1Rva2VuKGUudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnbW9kYWwuZXhwb3J0TWFwLmh0bWwudG9rZW5QbGFjZWhvbGRlcid9KX1cbiAgICAgICAgICAgIHZhbHVlPXtvcHRpb25zID8gb3B0aW9ucy51c2VyTWFwYm94VG9rZW4gOiAnJ31cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGlzY2xhaW1lclwiPlxuICAgICAgICAgICAgPFN0eWxlZFdhcm5pbmc+XG4gICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXsnbW9kYWwuZXhwb3J0TWFwLmh0bWwudG9rZW5NaXN1c2VXYXJuaW5nJ30gLz5cbiAgICAgICAgICAgIDwvU3R5bGVkV2FybmluZz5cbiAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXsnbW9kYWwuZXhwb3J0TWFwLmh0bWwudG9rZW5EaXNjbGFpbWVyJ30gLz5cbiAgICAgICAgICAgIDxFeHBvcnRNYXBMaW5rIGhyZWY9e0VYUE9SVF9IVE1MX01BUF9ET0N9PlxuICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17J21vZGFsLmV4cG9ydE1hcC5odG1sLnRva2VuVXBkYXRlJ30gLz5cbiAgICAgICAgICAgIDwvRXhwb3J0TWFwTGluaz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L0V4cG9ydE1hcFN0eWxlZEV4cG9ydFNlY3Rpb24+XG4gICAgICA8RXhwb3J0TWFwU3R5bGVkRXhwb3J0U2VjdGlvbj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkZXNjcmlwdGlvblwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGl0bGVcIj5cbiAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXsnbW9kYWwuZXhwb3J0TWFwLmh0bWwubW9kZVRpdGxlJ30gLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInN1YnRpdGxlXCI+XG4gICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17J21vZGFsLmV4cG9ydE1hcC5odG1sLm1vZGVTdWJ0aXRsZTEnfSAvPlxuICAgICAgICAgICAgPGEgaHJlZj17RVhQT1JUX0hUTUxfTUFQX01PREVTX0RPQ30+XG4gICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXsnbW9kYWwuZXhwb3J0TWFwLmh0bWwubW9kZVN1YnRpdGxlMid9IC8+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNlbGVjdGlvblwiPlxuICAgICAgICAgIHtFWFBPUlRfSFRNTF9NQVBfTU9ERV9PUFRJT05TLm1hcChtb2RlID0+IChcbiAgICAgICAgICAgIDxCaWdTdHlsZWRUaWxlXG4gICAgICAgICAgICAgIGtleT17bW9kZS5pZH1cbiAgICAgICAgICAgICAgc2VsZWN0ZWQ9e29wdGlvbnMubW9kZSA9PT0gbW9kZS5pZH1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gbW9kZS5hdmFpbGFibGUgJiYgb25DaGFuZ2VFeHBvcnRNYXBIVE1MTW9kZShtb2RlLmlkKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGltZyBzcmM9e21vZGUudXJsfSBhbHQ9XCJcIiAvPlxuICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZVxuICAgICAgICAgICAgICAgICAgaWQ9eydtb2RhbC5leHBvcnRNYXAuaHRtbC5tb2RlRGVzY3JpcHRpb24nfVxuICAgICAgICAgICAgICAgICAgdmFsdWVzPXt7bW9kZTogaW50bC5mb3JtYXRNZXNzYWdlKHtpZDogbW9kZS5sYWJlbH0pfX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgIHtvcHRpb25zLm1vZGUgPT09IG1vZGUuaWQgJiYgPENoZWNrTWFyayAvPn1cbiAgICAgICAgICAgIDwvQmlnU3R5bGVkVGlsZT5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L0V4cG9ydE1hcFN0eWxlZEV4cG9ydFNlY3Rpb24+XG4gICAgPC9kaXY+XG4gICk7XG5cbiAgRXhwb3J0SHRtbE1hcC5kaXNwbGF5TmFtZSA9ICdFeHBvcnRIdG1sTWFwJztcblxuICByZXR1cm4gaW5qZWN0SW50bChFeHBvcnRIdG1sTWFwKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgRXhwb3J0SHRtbE1hcEZhY3Rvcnk7XG4iXX0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
declare type ExportJsonPropTypes = {
|
|
3
|
+
config: any;
|
|
4
|
+
};
|
|
5
|
+
declare const ExportJsonMapFactory: () => React.MemoExoticComponent<{
|
|
6
|
+
({ config }: ExportJsonPropTypes): JSX.Element;
|
|
7
|
+
displayName: string;
|
|
8
|
+
}>;
|
|
9
|
+
export default ExportJsonMapFactory;
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
// Copyright (c) 2022 Uber Technologies, Inc.
|
|
2
|
+
//
|
|
3
|
+
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
+
// of this software and associated documentation files (the "Software"), to deal
|
|
5
|
+
// in the Software without restriction, including without limitation the rights
|
|
6
|
+
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
+
// copies of the Software, and to permit persons to whom the Software is
|
|
8
|
+
// furnished to do so, subject to the following conditions:
|
|
9
|
+
//
|
|
10
|
+
// The above copyright notice and this permission notice shall be included in
|
|
11
|
+
// all copies or substantial portions of the Software.
|
|
12
|
+
//
|
|
13
|
+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
+
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
+
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
19
|
+
// THE SOFTWARE.
|
|
20
|
+
|
|
21
|
+
"use strict";
|
|
22
|
+
|
|
23
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
24
|
+
|
|
25
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
26
|
+
|
|
27
|
+
Object.defineProperty(exports, "__esModule", {
|
|
28
|
+
value: true
|
|
29
|
+
});
|
|
30
|
+
exports["default"] = void 0;
|
|
31
|
+
|
|
32
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
33
|
+
|
|
34
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
35
|
+
|
|
36
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
37
|
+
|
|
38
|
+
var _reactJsonPretty = _interopRequireDefault(require("react-json-pretty"));
|
|
39
|
+
|
|
40
|
+
var _constants = require("@kepler.gl/constants");
|
|
41
|
+
|
|
42
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
43
|
+
|
|
44
|
+
var _styledComponents2 = require("../../common/styled-components");
|
|
45
|
+
|
|
46
|
+
var _components = require("./components");
|
|
47
|
+
|
|
48
|
+
var _localization = require("@kepler.gl/localization");
|
|
49
|
+
|
|
50
|
+
var _reactCopyToClipboard = require("react-copy-to-clipboard");
|
|
51
|
+
|
|
52
|
+
var _templateObject;
|
|
53
|
+
|
|
54
|
+
var StyledJsonExportSection = (0, _styledComponents["default"])(_styledComponents2.StyledExportSection)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n .note {\n color: ", ";\n font-size: 11px;\n }\n\n .viewer {\n position: relative;\n border: 1px solid ", ";\n background-color: white;\n border-radius: 2px;\n display: inline-block;\n font: inherit;\n line-height: 1.5em;\n padding: 0.5em 3.5em 0.5em 1em;\n margin: 0;\n box-sizing: border-box;\n height: 180px;\n width: 100%;\n overflow-y: scroll;\n overflow-x: auto;\n white-space: pre-wrap;\n word-wrap: break-word;\n max-width: 600px;\n }\n\n .copy-button {\n margin: 1em 1em 0 0;\n position: absolute;\n top: 0;\n right: 0;\n }\n"])), function (props) {
|
|
55
|
+
return props.theme.errorColor;
|
|
56
|
+
}, function (props) {
|
|
57
|
+
return props.theme.selectBorderColorLT;
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
var ExportJsonMapUnmemoized = function ExportJsonMapUnmemoized(_ref) {
|
|
61
|
+
var _ref$config = _ref.config,
|
|
62
|
+
config = _ref$config === void 0 ? {} : _ref$config;
|
|
63
|
+
|
|
64
|
+
var _useState = (0, _react.useState)(false),
|
|
65
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
66
|
+
copied = _useState2[0],
|
|
67
|
+
setCopy = _useState2[1];
|
|
68
|
+
|
|
69
|
+
return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_components.StyledExportMapSection, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
70
|
+
className: "description"
|
|
71
|
+
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
72
|
+
className: "selection"
|
|
73
|
+
}, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
|
|
74
|
+
id: 'modal.exportMap.json.selection'
|
|
75
|
+
}))), /*#__PURE__*/_react["default"].createElement(StyledJsonExportSection, {
|
|
76
|
+
className: "export-map-modal__json-options"
|
|
77
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
78
|
+
className: "description"
|
|
79
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
80
|
+
className: "title"
|
|
81
|
+
}, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
|
|
82
|
+
id: 'modal.exportMap.json.configTitle'
|
|
83
|
+
})), /*#__PURE__*/_react["default"].createElement("div", {
|
|
84
|
+
className: "subtitle"
|
|
85
|
+
}, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
|
|
86
|
+
id: 'modal.exportMap.json.configDisclaimer'
|
|
87
|
+
}), /*#__PURE__*/_react["default"].createElement(_components.ExportMapLink, {
|
|
88
|
+
href: _constants.ADD_DATA_TO_MAP_DOC
|
|
89
|
+
}, "addDataToMap"), ".")), /*#__PURE__*/_react["default"].createElement("div", {
|
|
90
|
+
className: "selection"
|
|
91
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
92
|
+
className: "viewer"
|
|
93
|
+
}, /*#__PURE__*/_react["default"].createElement(_reactJsonPretty["default"], {
|
|
94
|
+
id: "json-pretty",
|
|
95
|
+
json: config
|
|
96
|
+
}), /*#__PURE__*/_react["default"].createElement(_reactCopyToClipboard.CopyToClipboard, {
|
|
97
|
+
text: JSON.stringify(config),
|
|
98
|
+
onCopy: function onCopy() {
|
|
99
|
+
return setCopy(true);
|
|
100
|
+
}
|
|
101
|
+
}, /*#__PURE__*/_react["default"].createElement(_styledComponents2.Button, {
|
|
102
|
+
width: "80px"
|
|
103
|
+
}, copied ? 'Copied!' : 'Copy'))), /*#__PURE__*/_react["default"].createElement("div", {
|
|
104
|
+
className: "disclaimer"
|
|
105
|
+
}, /*#__PURE__*/_react["default"].createElement(_components.StyledWarning, null, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
|
|
106
|
+
id: 'modal.exportMap.json.disclaimer'
|
|
107
|
+
}))))));
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
ExportJsonMapUnmemoized.displayName = 'ExportJsonMap';
|
|
111
|
+
|
|
112
|
+
var ExportJsonMap = /*#__PURE__*/_react["default"].memo(ExportJsonMapUnmemoized);
|
|
113
|
+
|
|
114
|
+
var ExportJsonMapFactory = function ExportJsonMapFactory() {
|
|
115
|
+
return ExportJsonMap;
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
var _default = ExportJsonMapFactory;
|
|
119
|
+
exports["default"] = _default;
|
|
120
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RhbHMvZXhwb3J0LW1hcC1tb2RhbC9leHBvcnQtanNvbi1tYXAudHN4Il0sIm5hbWVzIjpbIlN0eWxlZEpzb25FeHBvcnRTZWN0aW9uIiwiU3R5bGVkRXhwb3J0U2VjdGlvbiIsInByb3BzIiwidGhlbWUiLCJlcnJvckNvbG9yIiwic2VsZWN0Qm9yZGVyQ29sb3JMVCIsIkV4cG9ydEpzb25NYXBVbm1lbW9pemVkIiwiY29uZmlnIiwiY29waWVkIiwic2V0Q29weSIsIkFERF9EQVRBX1RPX01BUF9ET0MiLCJKU09OIiwic3RyaW5naWZ5IiwiZGlzcGxheU5hbWUiLCJFeHBvcnRKc29uTWFwIiwiUmVhY3QiLCJtZW1vIiwiRXhwb3J0SnNvbk1hcEZhY3RvcnkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQUVBLElBQU1BLHVCQUF1QixHQUFHLGtDQUFPQyxzQ0FBUCxDQUFILDByQkFFaEIsVUFBQUMsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZQyxVQUFoQjtBQUFBLENBRlcsRUFRTCxVQUFBRixLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlFLG1CQUFoQjtBQUFBLENBUkEsQ0FBN0I7O0FBc0NBLElBQU1DLHVCQUF1QixHQUFHLFNBQTFCQSx1QkFBMEIsT0FBd0M7QUFBQSx5QkFBdENDLE1BQXNDO0FBQUEsTUFBdENBLE1BQXNDLDRCQUE3QixFQUE2Qjs7QUFBQSxrQkFDNUMscUJBQVMsS0FBVCxDQUQ0QztBQUFBO0FBQUEsTUFDL0RDLE1BRCtEO0FBQUEsTUFDdkRDLE9BRHVEOztBQUV0RSxzQkFDRSwwREFDRSxnQ0FBQyxrQ0FBRCxxQkFDRTtBQUFLLElBQUEsU0FBUyxFQUFDO0FBQWYsSUFERixlQUVFO0FBQUssSUFBQSxTQUFTLEVBQUM7QUFBZixrQkFDRSxnQ0FBQyw4QkFBRDtBQUFrQixJQUFBLEVBQUUsRUFBRTtBQUF0QixJQURGLENBRkYsQ0FERixlQU9FLGdDQUFDLHVCQUFEO0FBQXlCLElBQUEsU0FBUyxFQUFDO0FBQW5DLGtCQUNFO0FBQUssSUFBQSxTQUFTLEVBQUM7QUFBZixrQkFDRTtBQUFLLElBQUEsU0FBUyxFQUFDO0FBQWYsa0JBQ0UsZ0NBQUMsOEJBQUQ7QUFBa0IsSUFBQSxFQUFFLEVBQUU7QUFBdEIsSUFERixDQURGLGVBSUU7QUFBSyxJQUFBLFNBQVMsRUFBQztBQUFmLGtCQUNFLGdDQUFDLDhCQUFEO0FBQWtCLElBQUEsRUFBRSxFQUFFO0FBQXRCLElBREYsZUFFRSxnQ0FBQyx5QkFBRDtBQUFlLElBQUEsSUFBSSxFQUFFQztBQUFyQixvQkFGRixNQUpGLENBREYsZUFVRTtBQUFLLElBQUEsU0FBUyxFQUFDO0FBQWYsa0JBQ0U7QUFBSyxJQUFBLFNBQVMsRUFBQztBQUFmLGtCQUNFLGdDQUFDLDJCQUFEO0FBQVksSUFBQSxFQUFFLEVBQUMsYUFBZjtBQUE2QixJQUFBLElBQUksRUFBRUg7QUFBbkMsSUFERixlQUVFLGdDQUFDLHFDQUFEO0FBQWlCLElBQUEsSUFBSSxFQUFFSSxJQUFJLENBQUNDLFNBQUwsQ0FBZUwsTUFBZixDQUF2QjtBQUErQyxJQUFBLE1BQU0sRUFBRTtBQUFBLGFBQU1FLE9BQU8sQ0FBQyxJQUFELENBQWI7QUFBQTtBQUF2RCxrQkFDRSxnQ0FBQyx5QkFBRDtBQUFRLElBQUEsS0FBSyxFQUFDO0FBQWQsS0FBc0JELE1BQU0sR0FBRyxTQUFILEdBQWUsTUFBM0MsQ0FERixDQUZGLENBREYsZUFPRTtBQUFLLElBQUEsU0FBUyxFQUFDO0FBQWYsa0JBQ0UsZ0NBQUMseUJBQUQscUJBQ0UsZ0NBQUMsOEJBQUQ7QUFBa0IsSUFBQSxFQUFFLEVBQUU7QUFBdEIsSUFERixDQURGLENBUEYsQ0FWRixDQVBGLENBREY7QUFrQ0QsQ0FwQ0Q7O0FBc0NBRix1QkFBdUIsQ0FBQ08sV0FBeEIsR0FBc0MsZUFBdEM7O0FBRUEsSUFBTUMsYUFBYSxnQkFBR0Msa0JBQU1DLElBQU4sQ0FBV1YsdUJBQVgsQ0FBdEI7O0FBRUEsSUFBTVcsb0JBQW9CLEdBQUcsU0FBdkJBLG9CQUF1QjtBQUFBLFNBQU1ILGFBQU47QUFBQSxDQUE3Qjs7ZUFFZUcsb0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHt1c2VTdGF0ZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IEpTT05QcmV0dHkgZnJvbSAncmVhY3QtanNvbi1wcmV0dHknO1xuaW1wb3J0IHtBRERfREFUQV9UT19NQVBfRE9DfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7U3R5bGVkRXhwb3J0U2VjdGlvbiwgQnV0dG9ufSBmcm9tICcuLi8uLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtTdHlsZWRFeHBvcnRNYXBTZWN0aW9uLCBTdHlsZWRXYXJuaW5nLCBFeHBvcnRNYXBMaW5rfSBmcm9tICcuL2NvbXBvbmVudHMnO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdAa2VwbGVyLmdsL2xvY2FsaXphdGlvbic7XG5pbXBvcnQge0NvcHlUb0NsaXBib2FyZH0gZnJvbSAncmVhY3QtY29weS10by1jbGlwYm9hcmQnO1xuXG5jb25zdCBTdHlsZWRKc29uRXhwb3J0U2VjdGlvbiA9IHN0eWxlZChTdHlsZWRFeHBvcnRTZWN0aW9uKWBcbiAgLm5vdGUge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVycm9yQ29sb3J9O1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgfVxuXG4gIC52aWV3ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlbGVjdEJvcmRlckNvbG9yTFR9O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udDogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gICAgcGFkZGluZzogMC41ZW0gMy41ZW0gMC41ZW0gMWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGhlaWdodDogMTgwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICB9XG5cbiAgLmNvcHktYnV0dG9uIHtcbiAgICBtYXJnaW46IDFlbSAxZW0gMCAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbmA7XG5cbnR5cGUgRXhwb3J0SnNvblByb3BUeXBlcyA9IHtcbiAgY29uZmlnOiBhbnk7XG59O1xuXG5jb25zdCBFeHBvcnRKc29uTWFwVW5tZW1vaXplZCA9ICh7Y29uZmlnID0ge319OiBFeHBvcnRKc29uUHJvcFR5cGVzKSA9PiB7XG4gIGNvbnN0IFtjb3BpZWQsIHNldENvcHldID0gdXNlU3RhdGUoZmFsc2UpO1xuICByZXR1cm4gKFxuICAgIDxkaXY+XG4gICAgICA8U3R5bGVkRXhwb3J0TWFwU2VjdGlvbj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkZXNjcmlwdGlvblwiIC8+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic2VsZWN0aW9uXCI+XG4gICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9eydtb2RhbC5leHBvcnRNYXAuanNvbi5zZWxlY3Rpb24nfSAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvU3R5bGVkRXhwb3J0TWFwU2VjdGlvbj5cbiAgICAgIDxTdHlsZWRKc29uRXhwb3J0U2VjdGlvbiBjbGFzc05hbWU9XCJleHBvcnQtbWFwLW1vZGFsX19qc29uLW9wdGlvbnNcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkZXNjcmlwdGlvblwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGl0bGVcIj5cbiAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXsnbW9kYWwuZXhwb3J0TWFwLmpzb24uY29uZmlnVGl0bGUnfSAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3VidGl0bGVcIj5cbiAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXsnbW9kYWwuZXhwb3J0TWFwLmpzb24uY29uZmlnRGlzY2xhaW1lcid9IC8+XG4gICAgICAgICAgICA8RXhwb3J0TWFwTGluayBocmVmPXtBRERfREFUQV9UT19NQVBfRE9DfT5hZGREYXRhVG9NYXA8L0V4cG9ydE1hcExpbms+LlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzZWxlY3Rpb25cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInZpZXdlclwiPlxuICAgICAgICAgICAgPEpTT05QcmV0dHkgaWQ9XCJqc29uLXByZXR0eVwiIGpzb249e2NvbmZpZ30gLz5cbiAgICAgICAgICAgIDxDb3B5VG9DbGlwYm9hcmQgdGV4dD17SlNPTi5zdHJpbmdpZnkoY29uZmlnKX0gb25Db3B5PXsoKSA9PiBzZXRDb3B5KHRydWUpfT5cbiAgICAgICAgICAgICAgPEJ1dHRvbiB3aWR0aD1cIjgwcHhcIj57Y29waWVkID8gJ0NvcGllZCEnIDogJ0NvcHknfTwvQnV0dG9uPlxuICAgICAgICAgICAgPC9Db3B5VG9DbGlwYm9hcmQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkaXNjbGFpbWVyXCI+XG4gICAgICAgICAgICA8U3R5bGVkV2FybmluZz5cbiAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9eydtb2RhbC5leHBvcnRNYXAuanNvbi5kaXNjbGFpbWVyJ30gLz5cbiAgICAgICAgICAgIDwvU3R5bGVkV2FybmluZz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L1N0eWxlZEpzb25FeHBvcnRTZWN0aW9uPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuRXhwb3J0SnNvbk1hcFVubWVtb2l6ZWQuZGlzcGxheU5hbWUgPSAnRXhwb3J0SnNvbk1hcCc7XG5cbmNvbnN0IEV4cG9ydEpzb25NYXAgPSBSZWFjdC5tZW1vKEV4cG9ydEpzb25NYXBVbm1lbW9pemVkKTtcblxuY29uc3QgRXhwb3J0SnNvbk1hcEZhY3RvcnkgPSAoKSA9PiBFeHBvcnRKc29uTWFwO1xuXG5leHBvcnQgZGVmYXVsdCBFeHBvcnRKc29uTWFwRmFjdG9yeTtcbiJdfQ==
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import ExportHtmlMapFactory from './export-html-map';
|
|
3
|
+
import ExportJsonMapFactory from './export-json-map';
|
|
4
|
+
import { ActionHandler, setExportHTMLMapMode, setUserMapboxAccessToken } from '@kepler.gl/actions';
|
|
5
|
+
interface ExportMapModalFactoryProps {
|
|
6
|
+
options?: {
|
|
7
|
+
format: string;
|
|
8
|
+
};
|
|
9
|
+
config: any;
|
|
10
|
+
onEditUserMapboxAccessToken: ActionHandler<typeof setUserMapboxAccessToken>;
|
|
11
|
+
onChangeExportMapHTMLMode?: ActionHandler<typeof setExportHTMLMapMode>;
|
|
12
|
+
onChangeExportMapFormat?: (format: string) => any;
|
|
13
|
+
mapFormat?: string;
|
|
14
|
+
}
|
|
15
|
+
declare function ExportMapModalFactory(ExportHtmlMap: ReturnType<typeof ExportHtmlMapFactory>, ExportJsonMap: ReturnType<typeof ExportJsonMapFactory>): React.MemoExoticComponent<{
|
|
16
|
+
({ config, onChangeExportMapFormat, onChangeExportMapHTMLMode, onEditUserMapboxAccessToken, options }: ExportMapModalFactoryProps): JSX.Element;
|
|
17
|
+
displayName: string;
|
|
18
|
+
}>;
|
|
19
|
+
declare namespace ExportMapModalFactory {
|
|
20
|
+
var deps: ((() => React.MemoExoticComponent<{
|
|
21
|
+
({ config }: {
|
|
22
|
+
config: any;
|
|
23
|
+
}): JSX.Element;
|
|
24
|
+
displayName: string;
|
|
25
|
+
}>) | typeof ExportHtmlMapFactory)[];
|
|
26
|
+
}
|
|
27
|
+
export default ExportMapModalFactory;
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
// Copyright (c) 2022 Uber Technologies, Inc.
|
|
2
|
+
//
|
|
3
|
+
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
+
// of this software and associated documentation files (the "Software"), to deal
|
|
5
|
+
// in the Software without restriction, including without limitation the rights
|
|
6
|
+
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
+
// copies of the Software, and to permit persons to whom the Software is
|
|
8
|
+
// furnished to do so, subject to the following conditions:
|
|
9
|
+
//
|
|
10
|
+
// The above copyright notice and this permission notice shall be included in
|
|
11
|
+
// all copies or substantial portions of the Software.
|
|
12
|
+
//
|
|
13
|
+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
+
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
+
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
19
|
+
// THE SOFTWARE.
|
|
20
|
+
|
|
21
|
+
"use strict";
|
|
22
|
+
|
|
23
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
24
|
+
|
|
25
|
+
Object.defineProperty(exports, "__esModule", {
|
|
26
|
+
value: true
|
|
27
|
+
});
|
|
28
|
+
exports["default"] = void 0;
|
|
29
|
+
|
|
30
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
31
|
+
|
|
32
|
+
var _react = _interopRequireDefault(require("react"));
|
|
33
|
+
|
|
34
|
+
var _icons = require("../../common/icons");
|
|
35
|
+
|
|
36
|
+
var _styledComponents = require("../../common/styled-components");
|
|
37
|
+
|
|
38
|
+
var _constants = require("@kepler.gl/constants");
|
|
39
|
+
|
|
40
|
+
var _components = require("./components");
|
|
41
|
+
|
|
42
|
+
var _exportHtmlMap = _interopRequireDefault(require("./export-html-map"));
|
|
43
|
+
|
|
44
|
+
var _exportJsonMap = _interopRequireDefault(require("./export-json-map"));
|
|
45
|
+
|
|
46
|
+
var _localization = require("@kepler.gl/localization");var style = {
|
|
47
|
+
width: '100%'
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
var NO_OP = function NO_OP() {
|
|
51
|
+
return {};
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
ExportMapModalFactory.deps = [_exportHtmlMap["default"], _exportJsonMap["default"]];
|
|
55
|
+
|
|
56
|
+
function ExportMapModalFactory(ExportHtmlMap, ExportJsonMap) {
|
|
57
|
+
var ExportMapModalUnmemoized = function ExportMapModalUnmemoized(_ref) {
|
|
58
|
+
var _EXPORT_MAP_FORMATS$H;
|
|
59
|
+
|
|
60
|
+
var _ref$config = _ref.config,
|
|
61
|
+
config = _ref$config === void 0 ? {} : _ref$config,
|
|
62
|
+
_ref$onChangeExportMa = _ref.onChangeExportMapFormat,
|
|
63
|
+
onChangeExportMapFormat = _ref$onChangeExportMa === void 0 ? NO_OP : _ref$onChangeExportMa,
|
|
64
|
+
_ref$onChangeExportMa2 = _ref.onChangeExportMapHTMLMode,
|
|
65
|
+
onChangeExportMapHTMLMode = _ref$onChangeExportMa2 === void 0 ? NO_OP : _ref$onChangeExportMa2,
|
|
66
|
+
_ref$onEditUserMapbox = _ref.onEditUserMapboxAccessToken,
|
|
67
|
+
onEditUserMapboxAccessToken = _ref$onEditUserMapbox === void 0 ? NO_OP : _ref$onEditUserMapbox,
|
|
68
|
+
_ref$options = _ref.options,
|
|
69
|
+
options = _ref$options === void 0 ? {
|
|
70
|
+
format: ''
|
|
71
|
+
} : _ref$options;
|
|
72
|
+
return /*#__PURE__*/_react["default"].createElement(_styledComponents.StyledModalContent, {
|
|
73
|
+
className: "export-map-modal"
|
|
74
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
75
|
+
style: style
|
|
76
|
+
}, /*#__PURE__*/_react["default"].createElement(_components.StyledExportMapSection, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
77
|
+
className: "description"
|
|
78
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
79
|
+
className: "title"
|
|
80
|
+
}, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
|
|
81
|
+
id: 'modal.exportMap.formatTitle'
|
|
82
|
+
})), /*#__PURE__*/_react["default"].createElement("div", {
|
|
83
|
+
className: "subtitle"
|
|
84
|
+
}, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
|
|
85
|
+
id: 'modal.exportMap.formatSubtitle'
|
|
86
|
+
}))), /*#__PURE__*/_react["default"].createElement("div", {
|
|
87
|
+
className: "selection"
|
|
88
|
+
}, _constants.EXPORT_MAP_FORMAT_OPTIONS.map(function (op) {
|
|
89
|
+
return /*#__PURE__*/_react["default"].createElement(_styledComponents.StyledType, {
|
|
90
|
+
key: op.id,
|
|
91
|
+
selected: options.format === op.id,
|
|
92
|
+
onClick: function onClick() {
|
|
93
|
+
return op.available && onChangeExportMapFormat(op.id);
|
|
94
|
+
}
|
|
95
|
+
}, /*#__PURE__*/_react["default"].createElement(_icons.FileType, {
|
|
96
|
+
ext: op.label,
|
|
97
|
+
height: "80px",
|
|
98
|
+
fontSize: "11px"
|
|
99
|
+
}), options.format === op.id && /*#__PURE__*/_react["default"].createElement(_styledComponents.CheckMark, null));
|
|
100
|
+
}))), (_EXPORT_MAP_FORMATS$H = {}, (0, _defineProperty2["default"])(_EXPORT_MAP_FORMATS$H, _constants.EXPORT_MAP_FORMATS.HTML, /*#__PURE__*/_react["default"].createElement(ExportHtmlMap, {
|
|
101
|
+
onChangeExportMapHTMLMode: onChangeExportMapHTMLMode,
|
|
102
|
+
onEditUserMapboxAccessToken: onEditUserMapboxAccessToken,
|
|
103
|
+
options: options[options.format]
|
|
104
|
+
})), (0, _defineProperty2["default"])(_EXPORT_MAP_FORMATS$H, _constants.EXPORT_MAP_FORMATS.JSON, /*#__PURE__*/_react["default"].createElement(ExportJsonMap, {
|
|
105
|
+
config: config
|
|
106
|
+
})), _EXPORT_MAP_FORMATS$H)[// @ts-ignore
|
|
107
|
+
options.format]));
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
ExportMapModalUnmemoized.displayName = 'ExportMapModal';
|
|
111
|
+
|
|
112
|
+
var ExportMapModal = /*#__PURE__*/_react["default"].memo(ExportMapModalUnmemoized);
|
|
113
|
+
|
|
114
|
+
return ExportMapModal;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
var _default = ExportMapModalFactory;
|
|
118
|
+
exports["default"] = _default;
|
|
119
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RhbHMvZXhwb3J0LW1hcC1tb2RhbC9leHBvcnQtbWFwLW1vZGFsLnRzeCJdLCJuYW1lcyI6WyJzdHlsZSIsIndpZHRoIiwiTk9fT1AiLCJFeHBvcnRNYXBNb2RhbEZhY3RvcnkiLCJkZXBzIiwiRXhwb3J0SHRtbE1hcEZhY3RvcnkiLCJFeHBvcnRKc29uTWFwRmFjdG9yeSIsIkV4cG9ydEh0bWxNYXAiLCJFeHBvcnRKc29uTWFwIiwiRXhwb3J0TWFwTW9kYWxVbm1lbW9pemVkIiwiY29uZmlnIiwib25DaGFuZ2VFeHBvcnRNYXBGb3JtYXQiLCJvbkNoYW5nZUV4cG9ydE1hcEhUTUxNb2RlIiwib25FZGl0VXNlck1hcGJveEFjY2Vzc1Rva2VuIiwib3B0aW9ucyIsImZvcm1hdCIsIkVYUE9SVF9NQVBfRk9STUFUX09QVElPTlMiLCJtYXAiLCJvcCIsImlkIiwiYXZhaWxhYmxlIiwibGFiZWwiLCJFWFBPUlRfTUFQX0ZPUk1BVFMiLCJIVE1MIiwiSlNPTiIsImRpc3BsYXlOYW1lIiwiRXhwb3J0TWFwTW9kYWwiLCJSZWFjdCIsIm1lbW8iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBb0JBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQTVCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQTBCQSxJQUFNQSxLQUFLLEdBQUc7QUFBQ0MsRUFBQUEsS0FBSyxFQUFFO0FBQVIsQ0FBZDs7QUFFQSxJQUFNQyxLQUFLLEdBQUcsU0FBUkEsS0FBUTtBQUFBLFNBQXFCLEVBQXJCO0FBQUEsQ0FBZDs7QUFFQUMscUJBQXFCLENBQUNDLElBQXRCLEdBQTZCLENBQUNDLHlCQUFELEVBQXVCQyx5QkFBdkIsQ0FBN0I7O0FBRUEsU0FBU0gscUJBQVQsQ0FDRUksYUFERixFQUVFQyxhQUZGLEVBR0U7QUFDQSxNQUFNQyx3QkFBd0IsR0FBRyxTQUEzQkEsd0JBQTJCO0FBQUE7O0FBQUEsMkJBQy9CQyxNQUQrQjtBQUFBLFFBQy9CQSxNQUQrQiw0QkFDdEIsRUFEc0I7QUFBQSxxQ0FFL0JDLHVCQUYrQjtBQUFBLFFBRS9CQSx1QkFGK0Isc0NBRUxULEtBRks7QUFBQSxzQ0FHL0JVLHlCQUgrQjtBQUFBLFFBRy9CQSx5QkFIK0IsdUNBR0hWLEtBSEc7QUFBQSxxQ0FJL0JXLDJCQUorQjtBQUFBLFFBSS9CQSwyQkFKK0Isc0NBSURYLEtBSkM7QUFBQSw0QkFLL0JZLE9BTCtCO0FBQUEsUUFLL0JBLE9BTCtCLDZCQUtyQjtBQUFDQyxNQUFBQSxNQUFNLEVBQUU7QUFBVCxLQUxxQjtBQUFBLHdCQU8vQixnQ0FBQyxvQ0FBRDtBQUFvQixNQUFBLFNBQVMsRUFBQztBQUE5QixvQkFDRTtBQUFLLE1BQUEsS0FBSyxFQUFFZjtBQUFaLG9CQUNFLGdDQUFDLGtDQUFELHFCQUNFO0FBQUssTUFBQSxTQUFTLEVBQUM7QUFBZixvQkFDRTtBQUFLLE1BQUEsU0FBUyxFQUFDO0FBQWYsb0JBQ0UsZ0NBQUMsOEJBQUQ7QUFBa0IsTUFBQSxFQUFFLEVBQUU7QUFBdEIsTUFERixDQURGLGVBSUU7QUFBSyxNQUFBLFNBQVMsRUFBQztBQUFmLG9CQUNFLGdDQUFDLDhCQUFEO0FBQWtCLE1BQUEsRUFBRSxFQUFFO0FBQXRCLE1BREYsQ0FKRixDQURGLGVBU0U7QUFBSyxNQUFBLFNBQVMsRUFBQztBQUFmLE9BQ0dnQixxQ0FBMEJDLEdBQTFCLENBQThCLFVBQUFDLEVBQUU7QUFBQSwwQkFDL0IsZ0NBQUMsNEJBQUQ7QUFDRSxRQUFBLEdBQUcsRUFBRUEsRUFBRSxDQUFDQyxFQURWO0FBRUUsUUFBQSxRQUFRLEVBQUVMLE9BQU8sQ0FBQ0MsTUFBUixLQUFtQkcsRUFBRSxDQUFDQyxFQUZsQztBQUdFLFFBQUEsT0FBTyxFQUFFO0FBQUEsaUJBQU1ELEVBQUUsQ0FBQ0UsU0FBSCxJQUFnQlQsdUJBQXVCLENBQUNPLEVBQUUsQ0FBQ0MsRUFBSixDQUE3QztBQUFBO0FBSFgsc0JBS0UsZ0NBQUMsZUFBRDtBQUFVLFFBQUEsR0FBRyxFQUFFRCxFQUFFLENBQUNHLEtBQWxCO0FBQXlCLFFBQUEsTUFBTSxFQUFDLE1BQWhDO0FBQXVDLFFBQUEsUUFBUSxFQUFDO0FBQWhELFFBTEYsRUFPR1AsT0FBTyxDQUFDQyxNQUFSLEtBQW1CRyxFQUFFLENBQUNDLEVBQXRCLGlCQUE0QixnQ0FBQywyQkFBRCxPQVAvQixDQUQrQjtBQUFBLEtBQWhDLENBREgsQ0FURixDQURGLEVBeUJJLHFGQUNHRyw4QkFBbUJDLElBRHRCLGVBRUksZ0NBQUMsYUFBRDtBQUNFLE1BQUEseUJBQXlCLEVBQUVYLHlCQUQ3QjtBQUVFLE1BQUEsMkJBQTJCLEVBQUVDLDJCQUYvQjtBQUdFLE1BQUEsT0FBTyxFQUFFQyxPQUFPLENBQUNBLE9BQU8sQ0FBQ0MsTUFBVDtBQUhsQixNQUZKLDJEQVFHTyw4QkFBbUJFLElBUnRCLGVBUTZCLGdDQUFDLGFBQUQ7QUFBZSxNQUFBLE1BQU0sRUFBRWQ7QUFBdkIsTUFSN0IsMEJBVUU7QUFDQUksSUFBQUEsT0FBTyxDQUFDQyxNQVhWLENBekJKLENBREYsQ0FQK0I7QUFBQSxHQUFqQzs7QUFtREFOLEVBQUFBLHdCQUF3QixDQUFDZ0IsV0FBekIsR0FBdUMsZ0JBQXZDOztBQUVBLE1BQU1DLGNBQWMsZ0JBQUdDLGtCQUFNQyxJQUFOLENBQVduQix3QkFBWCxDQUF2Qjs7QUFFQSxTQUFPaUIsY0FBUDtBQUNEOztlQUVjdkIscUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQge0ZpbGVUeXBlfSBmcm9tICcuLi8uLi9jb21tb24vaWNvbnMnO1xuaW1wb3J0IHtTdHlsZWRNb2RhbENvbnRlbnQsIFN0eWxlZFR5cGUsIENoZWNrTWFya30gZnJvbSAnLi4vLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7RVhQT1JUX01BUF9GT1JNQVRTLCBFWFBPUlRfTUFQX0ZPUk1BVF9PUFRJT05TfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge1N0eWxlZEV4cG9ydE1hcFNlY3Rpb259IGZyb20gJy4vY29tcG9uZW50cyc7XG5pbXBvcnQgRXhwb3J0SHRtbE1hcEZhY3RvcnkgZnJvbSAnLi9leHBvcnQtaHRtbC1tYXAnO1xuaW1wb3J0IEV4cG9ydEpzb25NYXBGYWN0b3J5IGZyb20gJy4vZXhwb3J0LWpzb24tbWFwJztcbmltcG9ydCB7Rm9ybWF0dGVkTWVzc2FnZX0gZnJvbSAnQGtlcGxlci5nbC9sb2NhbGl6YXRpb24nO1xuaW1wb3J0IHtcbiAgQWN0aW9uSGFuZGxlcixcbiAgc2V0RXhwb3J0SFRNTE1hcE1vZGUsXG4gIHNldFVzZXJNYXBib3hBY2Nlc3NUb2tlblxufSBmcm9tICdAa2VwbGVyLmdsL2FjdGlvbnMnO1xuXG5pbnRlcmZhY2UgRXhwb3J0TWFwTW9kYWxGYWN0b3J5UHJvcHMge1xuICBvcHRpb25zPzoge2Zvcm1hdDogc3RyaW5nfTtcbiAgY29uZmlnOiBhbnk7XG4gIG9uRWRpdFVzZXJNYXBib3hBY2Nlc3NUb2tlbjogQWN0aW9uSGFuZGxlcjx0eXBlb2Ygc2V0VXNlck1hcGJveEFjY2Vzc1Rva2VuPjtcbiAgb25DaGFuZ2VFeHBvcnRNYXBIVE1MTW9kZT86IEFjdGlvbkhhbmRsZXI8dHlwZW9mIHNldEV4cG9ydEhUTUxNYXBNb2RlPjtcbiAgb25DaGFuZ2VFeHBvcnRNYXBGb3JtYXQ/OiAoZm9ybWF0OiBzdHJpbmcpID0+IGFueTtcbiAgbWFwRm9ybWF0Pzogc3RyaW5nO1xufVxuXG5jb25zdCBzdHlsZSA9IHt3aWR0aDogJzEwMCUnfTtcblxuY29uc3QgTk9fT1AgPSAoLi4uYXJnczogYW55W10pID0+ICh7fSBhcyBhbnkpO1xuXG5FeHBvcnRNYXBNb2RhbEZhY3RvcnkuZGVwcyA9IFtFeHBvcnRIdG1sTWFwRmFjdG9yeSwgRXhwb3J0SnNvbk1hcEZhY3RvcnldO1xuXG5mdW5jdGlvbiBFeHBvcnRNYXBNb2RhbEZhY3RvcnkoXG4gIEV4cG9ydEh0bWxNYXA6IFJldHVyblR5cGU8dHlwZW9mIEV4cG9ydEh0bWxNYXBGYWN0b3J5PixcbiAgRXhwb3J0SnNvbk1hcDogUmV0dXJuVHlwZTx0eXBlb2YgRXhwb3J0SnNvbk1hcEZhY3Rvcnk+XG4pIHtcbiAgY29uc3QgRXhwb3J0TWFwTW9kYWxVbm1lbW9pemVkID0gKHtcbiAgICBjb25maWcgPSB7fSxcbiAgICBvbkNoYW5nZUV4cG9ydE1hcEZvcm1hdCA9IE5PX09QLFxuICAgIG9uQ2hhbmdlRXhwb3J0TWFwSFRNTE1vZGUgPSBOT19PUCxcbiAgICBvbkVkaXRVc2VyTWFwYm94QWNjZXNzVG9rZW4gPSBOT19PUCxcbiAgICBvcHRpb25zID0ge2Zvcm1hdDogJyd9XG4gIH06IEV4cG9ydE1hcE1vZGFsRmFjdG9yeVByb3BzKSA9PiAoXG4gICAgPFN0eWxlZE1vZGFsQ29udGVudCBjbGFzc05hbWU9XCJleHBvcnQtbWFwLW1vZGFsXCI+XG4gICAgICA8ZGl2IHN0eWxlPXtzdHlsZX0+XG4gICAgICAgIDxTdHlsZWRFeHBvcnRNYXBTZWN0aW9uPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGl0bGVcIj5cbiAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9eydtb2RhbC5leHBvcnRNYXAuZm9ybWF0VGl0bGUnfSAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInN1YnRpdGxlXCI+XG4gICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXsnbW9kYWwuZXhwb3J0TWFwLmZvcm1hdFN1YnRpdGxlJ30gLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic2VsZWN0aW9uXCI+XG4gICAgICAgICAgICB7RVhQT1JUX01BUF9GT1JNQVRfT1BUSU9OUy5tYXAob3AgPT4gKFxuICAgICAgICAgICAgICA8U3R5bGVkVHlwZVxuICAgICAgICAgICAgICAgIGtleT17b3AuaWR9XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWQ9e29wdGlvbnMuZm9ybWF0ID09PSBvcC5pZH1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvcC5hdmFpbGFibGUgJiYgb25DaGFuZ2VFeHBvcnRNYXBGb3JtYXQob3AuaWQpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPEZpbGVUeXBlIGV4dD17b3AubGFiZWx9IGhlaWdodD1cIjgwcHhcIiBmb250U2l6ZT1cIjExcHhcIiAvPlxuXG4gICAgICAgICAgICAgICAge29wdGlvbnMuZm9ybWF0ID09PSBvcC5pZCAmJiA8Q2hlY2tNYXJrIC8+fVxuICAgICAgICAgICAgICA8L1N0eWxlZFR5cGU+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9TdHlsZWRFeHBvcnRNYXBTZWN0aW9uPlxuICAgICAgICB7XG4gICAgICAgICAge1xuICAgICAgICAgICAgW0VYUE9SVF9NQVBfRk9STUFUUy5IVE1MXTogKFxuICAgICAgICAgICAgICA8RXhwb3J0SHRtbE1hcFxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlRXhwb3J0TWFwSFRNTE1vZGU9e29uQ2hhbmdlRXhwb3J0TWFwSFRNTE1vZGV9XG4gICAgICAgICAgICAgICAgb25FZGl0VXNlck1hcGJveEFjY2Vzc1Rva2VuPXtvbkVkaXRVc2VyTWFwYm94QWNjZXNzVG9rZW59XG4gICAgICAgICAgICAgICAgb3B0aW9ucz17b3B0aW9uc1tvcHRpb25zLmZvcm1hdF19XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgW0VYUE9SVF9NQVBfRk9STUFUUy5KU09OXTogPEV4cG9ydEpzb25NYXAgY29uZmlnPXtjb25maWd9IC8+XG4gICAgICAgICAgfVtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIG9wdGlvbnMuZm9ybWF0XG4gICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L1N0eWxlZE1vZGFsQ29udGVudD5cbiAgKTtcblxuICBFeHBvcnRNYXBNb2RhbFVubWVtb2l6ZWQuZGlzcGxheU5hbWUgPSAnRXhwb3J0TWFwTW9kYWwnO1xuXG4gIGNvbnN0IEV4cG9ydE1hcE1vZGFsID0gUmVhY3QubWVtbyhFeHBvcnRNYXBNb2RhbFVubWVtb2l6ZWQpO1xuXG4gIHJldHVybiBFeHBvcnRNYXBNb2RhbDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgRXhwb3J0TWFwTW9kYWxGYWN0b3J5O1xuIl19
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { SetExportImageSettingUpdaterAction } from '@kepler.gl/actions';
|
|
3
|
+
import { Provider } from '@kepler.gl/cloud-providers';
|
|
4
|
+
/** @typedef {import('./image-modal-container').ImageModalContainerProps} ImageModalContainerProps */
|
|
5
|
+
export declare type ImageModalContainerProps = {
|
|
6
|
+
cloudProviders?: Provider[];
|
|
7
|
+
currentProvider?: string | null;
|
|
8
|
+
onUpdateImageSetting: (newSetting: SetExportImageSettingUpdaterAction['payload']) => void;
|
|
9
|
+
cleanupExportImage: () => void;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* A wrapper component in modals contain a image preview of the map with cloud providers
|
|
13
|
+
* It sets export image size based on provider thumbnail size
|
|
14
|
+
* @type {React.FunctionComponent<ImageModalContainerProps>}
|
|
15
|
+
*/
|
|
16
|
+
declare const ImageModalContainer: React.FC<ImageModalContainerProps>;
|
|
17
|
+
export default ImageModalContainer;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
// Copyright (c) 2022 Uber Technologies, Inc.
|
|
2
|
+
//
|
|
3
|
+
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
+
// of this software and associated documentation files (the "Software"), to deal
|
|
5
|
+
// in the Software without restriction, including without limitation the rights
|
|
6
|
+
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
+
// copies of the Software, and to permit persons to whom the Software is
|
|
8
|
+
// furnished to do so, subject to the following conditions:
|
|
9
|
+
//
|
|
10
|
+
// The above copyright notice and this permission notice shall be included in
|
|
11
|
+
// all copies or substantial portions of the Software.
|
|
12
|
+
//
|
|
13
|
+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
+
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
+
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
19
|
+
// THE SOFTWARE.
|
|
20
|
+
|
|
21
|
+
"use strict";
|
|
22
|
+
|
|
23
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
24
|
+
|
|
25
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
26
|
+
|
|
27
|
+
Object.defineProperty(exports, "__esModule", {
|
|
28
|
+
value: true
|
|
29
|
+
});
|
|
30
|
+
exports["default"] = void 0;
|
|
31
|
+
|
|
32
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
33
|
+
|
|
34
|
+
var _lodash = _interopRequireDefault(require("lodash.get"));
|
|
35
|
+
|
|
36
|
+
var _constants = require("@kepler.gl/constants");/**
|
|
37
|
+
* A wrapper component in modals contain a image preview of the map with cloud providers
|
|
38
|
+
* It sets export image size based on provider thumbnail size
|
|
39
|
+
* @type {React.FunctionComponent<ImageModalContainerProps>}
|
|
40
|
+
*/
|
|
41
|
+
var ImageModalContainer = function ImageModalContainer(_ref) {
|
|
42
|
+
var onUpdateImageSetting = _ref.onUpdateImageSetting,
|
|
43
|
+
cleanupExportImage = _ref.cleanupExportImage,
|
|
44
|
+
cloudProviders = _ref.cloudProviders,
|
|
45
|
+
currentProvider = _ref.currentProvider,
|
|
46
|
+
children = _ref.children;
|
|
47
|
+
(0, _react.useEffect)(function () {
|
|
48
|
+
onUpdateImageSetting({
|
|
49
|
+
exporting: true
|
|
50
|
+
});
|
|
51
|
+
return function () {
|
|
52
|
+
cleanupExportImage();
|
|
53
|
+
};
|
|
54
|
+
}, [onUpdateImageSetting, cleanupExportImage]);
|
|
55
|
+
(0, _react.useEffect)(function () {
|
|
56
|
+
if (currentProvider && cloudProviders && cloudProviders.length) {
|
|
57
|
+
var provider = cloudProviders.find(function (p) {
|
|
58
|
+
return p.name === currentProvider;
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
if (provider && provider.thumbnail) {
|
|
62
|
+
onUpdateImageSetting({
|
|
63
|
+
mapW: (0, _lodash["default"])(provider, ['thumbnail', 'width']) || _constants.MAP_THUMBNAIL_DIMENSION.width,
|
|
64
|
+
mapH: (0, _lodash["default"])(provider, ['thumbnail', 'height']) || _constants.MAP_THUMBNAIL_DIMENSION.height,
|
|
65
|
+
ratio: _constants.EXPORT_IMG_RATIOS.CUSTOM,
|
|
66
|
+
legend: false
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
} else {
|
|
70
|
+
onUpdateImageSetting({
|
|
71
|
+
mapW: _constants.MAP_THUMBNAIL_DIMENSION.width,
|
|
72
|
+
mapH: _constants.MAP_THUMBNAIL_DIMENSION.height,
|
|
73
|
+
ratio: _constants.EXPORT_IMG_RATIOS.CUSTOM,
|
|
74
|
+
legend: false
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
}, [currentProvider, cloudProviders, onUpdateImageSetting]);
|
|
78
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, children);
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
ImageModalContainer.defaultProps = {
|
|
82
|
+
cloudProviders: []
|
|
83
|
+
};
|
|
84
|
+
var _default = ImageModalContainer;
|
|
85
|
+
exports["default"] = _default;
|
|
86
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RhbHMvaW1hZ2UtbW9kYWwtY29udGFpbmVyLnRzeCJdLCJuYW1lcyI6WyJJbWFnZU1vZGFsQ29udGFpbmVyIiwib25VcGRhdGVJbWFnZVNldHRpbmciLCJjbGVhbnVwRXhwb3J0SW1hZ2UiLCJjbG91ZFByb3ZpZGVycyIsImN1cnJlbnRQcm92aWRlciIsImNoaWxkcmVuIiwiZXhwb3J0aW5nIiwibGVuZ3RoIiwicHJvdmlkZXIiLCJmaW5kIiwicCIsIm5hbWUiLCJ0aHVtYm5haWwiLCJtYXBXIiwiTUFQX1RIVU1CTkFJTF9ESU1FTlNJT04iLCJ3aWR0aCIsIm1hcEgiLCJoZWlnaHQiLCJyYXRpbyIsIkVYUE9SVF9JTUdfUkFUSU9TIiwiQ1VTVE9NIiwibGVnZW5kIiwiZGVmYXVsdFByb3BzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFFQTs7QUF2QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBa0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFNQSxtQkFBdUQsR0FBRyxTQUExREEsbUJBQTBELE9BTTFEO0FBQUEsTUFMSkMsb0JBS0ksUUFMSkEsb0JBS0k7QUFBQSxNQUpKQyxrQkFJSSxRQUpKQSxrQkFJSTtBQUFBLE1BSEpDLGNBR0ksUUFISkEsY0FHSTtBQUFBLE1BRkpDLGVBRUksUUFGSkEsZUFFSTtBQUFBLE1BREpDLFFBQ0ksUUFESkEsUUFDSTtBQUNKLHdCQUFVLFlBQU07QUFDZEosSUFBQUEsb0JBQW9CLENBQUM7QUFBQ0ssTUFBQUEsU0FBUyxFQUFFO0FBQVosS0FBRCxDQUFwQjtBQUNBLFdBQU8sWUFBTTtBQUNYSixNQUFBQSxrQkFBa0I7QUFDbkIsS0FGRDtBQUdELEdBTEQsRUFLRyxDQUFDRCxvQkFBRCxFQUF1QkMsa0JBQXZCLENBTEg7QUFPQSx3QkFBVSxZQUFNO0FBQ2QsUUFBSUUsZUFBZSxJQUFJRCxjQUFuQixJQUFxQ0EsY0FBYyxDQUFDSSxNQUF4RCxFQUFnRTtBQUM5RCxVQUFNQyxRQUFRLEdBQUdMLGNBQWMsQ0FBQ00sSUFBZixDQUFvQixVQUFBQyxDQUFDO0FBQUEsZUFBSUEsQ0FBQyxDQUFDQyxJQUFGLEtBQVdQLGVBQWY7QUFBQSxPQUFyQixDQUFqQjs7QUFFQSxVQUFJSSxRQUFRLElBQUlBLFFBQVEsQ0FBQ0ksU0FBekIsRUFBb0M7QUFDbENYLFFBQUFBLG9CQUFvQixDQUFDO0FBQ25CWSxVQUFBQSxJQUFJLEVBQUUsd0JBQUlMLFFBQUosRUFBYyxDQUFDLFdBQUQsRUFBYyxPQUFkLENBQWQsS0FBeUNNLG1DQUF3QkMsS0FEcEQ7QUFFbkJDLFVBQUFBLElBQUksRUFBRSx3QkFBSVIsUUFBSixFQUFjLENBQUMsV0FBRCxFQUFjLFFBQWQsQ0FBZCxLQUEwQ00sbUNBQXdCRyxNQUZyRDtBQUduQkMsVUFBQUEsS0FBSyxFQUFFQyw2QkFBa0JDLE1BSE47QUFJbkJDLFVBQUFBLE1BQU0sRUFBRTtBQUpXLFNBQUQsQ0FBcEI7QUFNRDtBQUNGLEtBWEQsTUFXTztBQUNMcEIsTUFBQUEsb0JBQW9CLENBQUM7QUFDbkJZLFFBQUFBLElBQUksRUFBRUMsbUNBQXdCQyxLQURYO0FBRW5CQyxRQUFBQSxJQUFJLEVBQUVGLG1DQUF3QkcsTUFGWDtBQUduQkMsUUFBQUEsS0FBSyxFQUFFQyw2QkFBa0JDLE1BSE47QUFJbkJDLFFBQUFBLE1BQU0sRUFBRTtBQUpXLE9BQUQsQ0FBcEI7QUFNRDtBQUNGLEdBcEJELEVBb0JHLENBQUNqQixlQUFELEVBQWtCRCxjQUFsQixFQUFrQ0Ysb0JBQWxDLENBcEJIO0FBc0JBLHNCQUFPLGtFQUFHSSxRQUFILENBQVA7QUFDRCxDQXJDRDs7QUF1Q0FMLG1CQUFtQixDQUFDc0IsWUFBcEIsR0FBbUM7QUFDakNuQixFQUFBQSxjQUFjLEVBQUU7QUFEaUIsQ0FBbkM7ZUFJZUgsbUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHt1c2VFZmZlY3R9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBnZXQgZnJvbSAnbG9kYXNoLmdldCc7XG5cbmltcG9ydCB7TUFQX1RIVU1CTkFJTF9ESU1FTlNJT04sIEVYUE9SVF9JTUdfUkFUSU9TfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge1NldEV4cG9ydEltYWdlU2V0dGluZ1VwZGF0ZXJBY3Rpb259IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5pbXBvcnQge1Byb3ZpZGVyfSBmcm9tICdAa2VwbGVyLmdsL2Nsb3VkLXByb3ZpZGVycyc7XG5cbi8qKiBAdHlwZWRlZiB7aW1wb3J0KCcuL2ltYWdlLW1vZGFsLWNvbnRhaW5lcicpLkltYWdlTW9kYWxDb250YWluZXJQcm9wc30gSW1hZ2VNb2RhbENvbnRhaW5lclByb3BzICovXG5cbmV4cG9ydCB0eXBlIEltYWdlTW9kYWxDb250YWluZXJQcm9wcyA9IHtcbiAgY2xvdWRQcm92aWRlcnM/OiBQcm92aWRlcltdO1xuICBjdXJyZW50UHJvdmlkZXI/OiBzdHJpbmcgfCBudWxsO1xuICBvblVwZGF0ZUltYWdlU2V0dGluZzogKG5ld1NldHRpbmc6IFNldEV4cG9ydEltYWdlU2V0dGluZ1VwZGF0ZXJBY3Rpb25bJ3BheWxvYWQnXSkgPT4gdm9pZDtcbiAgY2xlYW51cEV4cG9ydEltYWdlOiAoKSA9PiB2b2lkO1xufTtcblxuLyoqXG4gKiBBIHdyYXBwZXIgY29tcG9uZW50IGluIG1vZGFscyBjb250YWluIGEgaW1hZ2UgcHJldmlldyBvZiB0aGUgbWFwIHdpdGggY2xvdWQgcHJvdmlkZXJzXG4gKiBJdCBzZXRzIGV4cG9ydCBpbWFnZSBzaXplIGJhc2VkIG9uIHByb3ZpZGVyIHRodW1ibmFpbCBzaXplXG4gKiBAdHlwZSB7UmVhY3QuRnVuY3Rpb25Db21wb25lbnQ8SW1hZ2VNb2RhbENvbnRhaW5lclByb3BzPn1cbiAqL1xuY29uc3QgSW1hZ2VNb2RhbENvbnRhaW5lcjogUmVhY3QuRkM8SW1hZ2VNb2RhbENvbnRhaW5lclByb3BzPiA9ICh7XG4gIG9uVXBkYXRlSW1hZ2VTZXR0aW5nLFxuICBjbGVhbnVwRXhwb3J0SW1hZ2UsXG4gIGNsb3VkUHJvdmlkZXJzLFxuICBjdXJyZW50UHJvdmlkZXIsXG4gIGNoaWxkcmVuXG59KSA9PiB7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgb25VcGRhdGVJbWFnZVNldHRpbmcoe2V4cG9ydGluZzogdHJ1ZX0pO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjbGVhbnVwRXhwb3J0SW1hZ2UoKTtcbiAgICB9O1xuICB9LCBbb25VcGRhdGVJbWFnZVNldHRpbmcsIGNsZWFudXBFeHBvcnRJbWFnZV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGN1cnJlbnRQcm92aWRlciAmJiBjbG91ZFByb3ZpZGVycyAmJiBjbG91ZFByb3ZpZGVycy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IHByb3ZpZGVyID0gY2xvdWRQcm92aWRlcnMuZmluZChwID0+IHAubmFtZSA9PT0gY3VycmVudFByb3ZpZGVyKTtcblxuICAgICAgaWYgKHByb3ZpZGVyICYmIHByb3ZpZGVyLnRodW1ibmFpbCkge1xuICAgICAgICBvblVwZGF0ZUltYWdlU2V0dGluZyh7XG4gICAgICAgICAgbWFwVzogZ2V0KHByb3ZpZGVyLCBbJ3RodW1ibmFpbCcsICd3aWR0aCddKSB8fCBNQVBfVEhVTUJOQUlMX0RJTUVOU0lPTi53aWR0aCxcbiAgICAgICAgICBtYXBIOiBnZXQocHJvdmlkZXIsIFsndGh1bWJuYWlsJywgJ2hlaWdodCddKSB8fCBNQVBfVEhVTUJOQUlMX0RJTUVOU0lPTi5oZWlnaHQsXG4gICAgICAgICAgcmF0aW86IEVYUE9SVF9JTUdfUkFUSU9TLkNVU1RPTSxcbiAgICAgICAgICBsZWdlbmQ6IGZhbHNlXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBvblVwZGF0ZUltYWdlU2V0dGluZyh7XG4gICAgICAgIG1hcFc6IE1BUF9USFVNQk5BSUxfRElNRU5TSU9OLndpZHRoLFxuICAgICAgICBtYXBIOiBNQVBfVEhVTUJOQUlMX0RJTUVOU0lPTi5oZWlnaHQsXG4gICAgICAgIHJhdGlvOiBFWFBPUlRfSU1HX1JBVElPUy5DVVNUT00sXG4gICAgICAgIGxlZ2VuZDogZmFsc2VcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW2N1cnJlbnRQcm92aWRlciwgY2xvdWRQcm92aWRlcnMsIG9uVXBkYXRlSW1hZ2VTZXR0aW5nXSk7XG5cbiAgcmV0dXJuIDw+e2NoaWxkcmVufTwvPjtcbn07XG5cbkltYWdlTW9kYWxDb250YWluZXIuZGVmYXVsdFByb3BzID0ge1xuICBjbG91ZFByb3ZpZGVyczogW11cbn07XG5cbmV4cG9ydCBkZWZhdWx0IEltYWdlTW9kYWxDb250YWluZXI7XG4iXX0=
|