@kepler.gl/components 3.3.0-alpha.1 → 3.3.0-alpha.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/annotations/annotation-overlay.d.ts +1 -0
- package/dist/annotations/annotation-utils.d.ts +14 -0
- package/dist/cjs/annotations/annotation-node.js +145 -0
- package/dist/cjs/annotations/annotation-overlay.js +168 -0
- package/dist/cjs/annotations/annotation-panel.js +361 -0
- package/dist/cjs/annotations/annotation-text.js +149 -0
- package/dist/cjs/annotations/annotation-utils.js +197 -0
- package/dist/cjs/annotations/index.js +53 -0
- package/dist/cjs/annotations/lexical-editor/clickable-link-plugin.js +71 -0
- package/dist/cjs/annotations/lexical-editor/floating-link-editor.js +193 -0
- package/dist/cjs/annotations/lexical-editor/index.js +78 -0
- package/dist/cjs/annotations/lexical-editor/lexical-constants.js +22 -0
- package/dist/cjs/annotations/lexical-editor/lexical-nodes.js +13 -0
- package/dist/cjs/annotations/lexical-editor/lexical-rich-text-editor.js +121 -0
- package/dist/cjs/annotations/lexical-editor/lexical-theme.js +25 -0
- package/dist/cjs/annotations/lexical-editor/lexical-toolbar.js +292 -0
- package/dist/cjs/annotations/lexical-editor/lexical-utils.js +45 -0
- package/dist/cjs/annotations/lexical-editor/use-lexical-toolbar.js +253 -0
- package/dist/cjs/bottom-widget.js +183 -0
- package/dist/cjs/common/action-panel.js +133 -0
- package/dist/cjs/common/animation-control/animation-control.js +100 -0
- package/dist/cjs/common/animation-control/animation-controller.js +271 -0
- package/dist/cjs/common/animation-control/animation-speed-slider.js +63 -0
- package/dist/cjs/common/animation-control/animation-window-control.js +59 -0
- package/dist/cjs/common/animation-control/export-video-control.js +43 -0
- package/dist/cjs/common/animation-control/floating-time-display.js +131 -0
- package/dist/cjs/common/animation-control/play-control.js +50 -0
- package/dist/cjs/common/animation-control/playback-controls.js +164 -0
- package/dist/cjs/common/animation-control/reset-control.js +41 -0
- package/dist/cjs/common/animation-control/speed-control.js +51 -0
- package/dist/cjs/common/animation-control/window-action-control.js +57 -0
- package/dist/cjs/common/checkbox.js +101 -0
- package/dist/cjs/common/color-legend.js +272 -0
- package/dist/cjs/common/column-stats-chart.js +312 -0
- package/dist/cjs/common/data-table/button.js +38 -0
- package/dist/cjs/common/data-table/canvas.js +26 -0
- package/dist/cjs/common/data-table/cell-size.js +200 -0
- package/dist/cjs/common/data-table/column-statistics-categoric.js +40 -0
- package/dist/cjs/common/data-table/column-statistics-components.js +65 -0
- package/dist/cjs/common/data-table/column-statistics-numeric.js +87 -0
- package/dist/cjs/common/data-table/column-statistics-time.js +69 -0
- package/dist/cjs/common/data-table/display-format.js +125 -0
- package/dist/cjs/common/data-table/grid.js +106 -0
- package/dist/cjs/common/data-table/header-cell.js +227 -0
- package/dist/cjs/common/data-table/index.js +543 -0
- package/dist/cjs/common/data-table/option-dropdown.js +159 -0
- package/dist/cjs/common/dataset-label.js +27 -0
- package/dist/cjs/common/dnd-layer-items.js +22 -0
- package/dist/cjs/common/error-boundary.js +59 -0
- package/dist/cjs/common/field-selector.js +172 -0
- package/dist/cjs/common/field-token.js +43 -0
- package/dist/cjs/common/file-uploader/file-drop.js +180 -0
- package/dist/cjs/common/file-uploader/file-upload-progress.js +84 -0
- package/dist/cjs/common/file-uploader/file-upload.js +452 -0
- package/dist/cjs/common/file-uploader/upload-button.js +58 -0
- package/dist/cjs/common/flex-container.js +15 -0
- package/dist/cjs/common/histogram-plot.js +282 -0
- package/dist/cjs/common/icon-button.js +25 -0
- package/dist/cjs/common/icons/3d-models/airplane.js +103 -0
- package/dist/cjs/common/icons/3d-models/bicycle.js +425 -0
- package/dist/cjs/common/icons/3d-models/boeing.js +118 -0
- package/dist/cjs/common/icons/3d-models/car.js +109 -0
- package/dist/cjs/common/icons/3d-models/cargoship.js +245 -0
- package/dist/cjs/common/icons/3d-models/evtol.js +133 -0
- package/dist/cjs/common/icons/3d-models/glider.js +61 -0
- package/dist/cjs/common/icons/3d-models/helicopter.js +109 -0
- package/dist/cjs/common/icons/3d-models/scooter.js +158 -0
- package/dist/cjs/common/icons/3d-models/semitruck.js +176 -0
- package/dist/cjs/common/icons/3d-models/truck.js +121 -0
- package/dist/cjs/common/icons/add.js +40 -0
- package/dist/cjs/common/icons/anchor_window.js +41 -0
- package/dist/cjs/common/icons/annotation-text.js +55 -0
- package/dist/cjs/common/icons/arrow-down-alt.js +40 -0
- package/dist/cjs/common/icons/arrow-down-full.js +49 -0
- package/dist/cjs/common/icons/arrow-down-small.js +53 -0
- package/dist/cjs/common/icons/arrow-down.js +50 -0
- package/dist/cjs/common/icons/arrow-left.js +43 -0
- package/dist/cjs/common/icons/arrow-right.js +40 -0
- package/dist/cjs/common/icons/arrow-up-alt.js +41 -0
- package/dist/cjs/common/icons/arrow-up-solid.js +40 -0
- package/dist/cjs/common/icons/arrow-up.js +40 -0
- package/dist/cjs/common/icons/base-map.js +56 -0
- package/dist/cjs/common/icons/base.js +78 -0
- package/dist/cjs/common/icons/bug.js +70 -0
- package/dist/cjs/common/icons/calendar.js +48 -0
- package/dist/cjs/common/icons/cancel.js +40 -0
- package/dist/cjs/common/icons/checkmark.js +46 -0
- package/dist/cjs/common/icons/circle.js +54 -0
- package/dist/cjs/common/icons/clipboard.js +41 -0
- package/dist/cjs/common/icons/clock.js +42 -0
- package/dist/cjs/common/icons/close.js +46 -0
- package/dist/cjs/common/icons/cloud.js +50 -0
- package/dist/cjs/common/icons/code-alt.js +43 -0
- package/dist/cjs/common/icons/copy.js +51 -0
- package/dist/cjs/common/icons/crosshairs.js +43 -0
- package/dist/cjs/common/icons/cube-3d.js +54 -0
- package/dist/cjs/common/icons/cursor-click.js +44 -0
- package/dist/cjs/common/icons/cursor-point.js +50 -0
- package/dist/cjs/common/icons/data-table.js +76 -0
- package/dist/cjs/common/icons/db.js +58 -0
- package/dist/cjs/common/icons/delete.js +52 -0
- package/dist/cjs/common/icons/docs.js +56 -0
- package/dist/cjs/common/icons/docs2.js +50 -0
- package/dist/cjs/common/icons/drag-n-drop.js +42 -0
- package/dist/cjs/common/icons/draggable-dots.js +84 -0
- package/dist/cjs/common/icons/draw-point.js +50 -0
- package/dist/cjs/common/icons/draw-polygon.js +60 -0
- package/dist/cjs/common/icons/edit.js +48 -0
- package/dist/cjs/common/icons/effects/brightness-contrast.js +69 -0
- package/dist/cjs/common/icons/effects/color-halftone.js +108 -0
- package/dist/cjs/common/icons/effects/distance-fog.js +78 -0
- package/dist/cjs/common/icons/effects/dot-screen.js +103 -0
- package/dist/cjs/common/icons/effects/edge-work.js +62 -0
- package/dist/cjs/common/icons/effects/hexagonal-pixelate.js +129 -0
- package/dist/cjs/common/icons/effects/hue-saturation.js +60 -0
- package/dist/cjs/common/icons/effects/ink.js +59 -0
- package/dist/cjs/common/icons/effects/light-and-shadow.js +48 -0
- package/dist/cjs/common/icons/effects/magic-wand.js +60 -0
- package/dist/cjs/common/icons/effects/magnify.js +67 -0
- package/dist/cjs/common/icons/effects/noise.js +113 -0
- package/dist/cjs/common/icons/effects/sepia.js +60 -0
- package/dist/cjs/common/icons/effects/surface-fog.js +85 -0
- package/dist/cjs/common/icons/effects/tilt-shift.js +69 -0
- package/dist/cjs/common/icons/effects/triangle-blur.js +64 -0
- package/dist/cjs/common/icons/effects/vibrance.js +60 -0
- package/dist/cjs/common/icons/effects/vignette.js +53 -0
- package/dist/cjs/common/icons/effects/zoom-blur.js +88 -0
- package/dist/cjs/common/icons/email.js +44 -0
- package/dist/cjs/common/icons/expand.js +42 -0
- package/dist/cjs/common/icons/eye-seen.js +49 -0
- package/dist/cjs/common/icons/eye-unseen.js +47 -0
- package/dist/cjs/common/icons/file-type.js +35 -0
- package/dist/cjs/common/icons/file.js +40 -0
- package/dist/cjs/common/icons/files.js +41 -0
- package/dist/cjs/common/icons/filter-funnel.js +50 -0
- package/dist/cjs/common/icons/folder.js +50 -0
- package/dist/cjs/common/icons/free-window.js +44 -0
- package/dist/cjs/common/icons/gear.js +42 -0
- package/dist/cjs/common/icons/globe.js +53 -0
- package/dist/cjs/common/icons/hash.js +40 -0
- package/dist/cjs/common/icons/help.js +50 -0
- package/dist/cjs/common/icons/histogram.js +41 -0
- package/dist/cjs/common/icons/horizontal-resize-handle.js +58 -0
- package/dist/cjs/common/icons/index.js +845 -0
- package/dist/cjs/common/icons/info.js +53 -0
- package/dist/cjs/common/icons/layers.js +54 -0
- package/dist/cjs/common/icons/left-arrow.js +43 -0
- package/dist/cjs/common/icons/legend.js +68 -0
- package/dist/cjs/common/icons/line-chart.js +40 -0
- package/dist/cjs/common/icons/line-string.js +60 -0
- package/dist/cjs/common/icons/location-marker.js +58 -0
- package/dist/cjs/common/icons/login.js +43 -0
- package/dist/cjs/common/icons/logout.js +42 -0
- package/dist/cjs/common/icons/map-icon.js +47 -0
- package/dist/cjs/common/icons/map-pin.js +56 -0
- package/dist/cjs/common/icons/messages.js +54 -0
- package/dist/cjs/common/icons/minus.js +40 -0
- package/dist/cjs/common/icons/moon.js +58 -0
- package/dist/cjs/common/icons/order-by-dataset.js +46 -0
- package/dist/cjs/common/icons/order-by-list.js +38 -0
- package/dist/cjs/common/icons/pause.js +60 -0
- package/dist/cjs/common/icons/picture.js +59 -0
- package/dist/cjs/common/icons/pin.js +52 -0
- package/dist/cjs/common/icons/play.js +50 -0
- package/dist/cjs/common/icons/pointer-click.js +58 -0
- package/dist/cjs/common/icons/polygon.js +62 -0
- package/dist/cjs/common/icons/rectangle.js +63 -0
- package/dist/cjs/common/icons/reduce.js +43 -0
- package/dist/cjs/common/icons/reset.js +56 -0
- package/dist/cjs/common/icons/save.js +57 -0
- package/dist/cjs/common/icons/save2.js +54 -0
- package/dist/cjs/common/icons/search.js +42 -0
- package/dist/cjs/common/icons/settings.js +60 -0
- package/dist/cjs/common/icons/share.js +70 -0
- package/dist/cjs/common/icons/speed.js +52 -0
- package/dist/cjs/common/icons/split.js +68 -0
- package/dist/cjs/common/icons/square-select.js +42 -0
- package/dist/cjs/common/icons/sun.js +74 -0
- package/dist/cjs/common/icons/sunrise.js +70 -0
- package/dist/cjs/common/icons/sunset.js +70 -0
- package/dist/cjs/common/icons/timeline-marker.js +55 -0
- package/dist/cjs/common/icons/trash.js +54 -0
- package/dist/cjs/common/icons/vert-dots.js +78 -0
- package/dist/cjs/common/icons/vert-three-dots.js +53 -0
- package/dist/cjs/common/icons/warning-sign.js +60 -0
- package/dist/cjs/common/icons/warning.js +54 -0
- package/dist/cjs/common/icons/zoom-in.js +47 -0
- package/dist/cjs/common/icons/zoom-out.js +47 -0
- package/dist/cjs/common/image-preview.js +64 -0
- package/dist/cjs/common/index.js +282 -0
- package/dist/cjs/common/info-helper.js +61 -0
- package/dist/cjs/common/item-selector/accessor.js +37 -0
- package/dist/cjs/common/item-selector/chickleted-input.js +157 -0
- package/dist/cjs/common/item-selector/dropdown-list.js +257 -0
- package/dist/cjs/common/item-selector/dropdown-select.js +84 -0
- package/dist/cjs/common/item-selector/item-selector.js +254 -0
- package/dist/cjs/common/item-selector/typeahead.js +435 -0
- package/dist/cjs/common/layout-splitter.js +230 -0
- package/dist/cjs/common/line-chart.js +286 -0
- package/dist/cjs/common/link-renderer.js +20 -0
- package/dist/cjs/common/loading-spinner.js +50 -0
- package/dist/cjs/common/logo.js +68 -0
- package/dist/cjs/common/map-layer-selector.js +38 -0
- package/dist/cjs/common/modal.js +170 -0
- package/dist/cjs/common/portaled.js +287 -0
- package/dist/cjs/common/progress-bar.js +47 -0
- package/dist/cjs/common/radius-legend.js +131 -0
- package/dist/cjs/common/range-brush.js +265 -0
- package/dist/cjs/common/range-plot.js +217 -0
- package/dist/cjs/common/range-slider-timeline-panel.js +42 -0
- package/dist/cjs/common/range-slider-timeline.js +112 -0
- package/dist/cjs/common/range-slider.js +371 -0
- package/dist/cjs/common/slider/mouse-event.js +104 -0
- package/dist/cjs/common/slider/slider-bar-handle.js +90 -0
- package/dist/cjs/common/slider/slider-handle.js +136 -0
- package/dist/cjs/common/slider/slider.js +251 -0
- package/dist/cjs/common/styled-components.js +447 -0
- package/dist/cjs/common/switch.js +21 -0
- package/dist/cjs/common/sync-timeline-control.js +61 -0
- package/dist/cjs/common/time-range-slider-time-title.js +62 -0
- package/dist/cjs/common/time-range-slider.js +143 -0
- package/dist/cjs/common/time-slider-marker.js +115 -0
- package/dist/cjs/common/timeline-helpers.js +57 -0
- package/dist/cjs/common/timeline-slider.js +140 -0
- package/dist/cjs/common/tippy-tooltip.js +134 -0
- package/dist/cjs/common/toolbar-item.js +81 -0
- package/dist/cjs/common/toolbar.js +27 -0
- package/dist/cjs/common/vertical-toolbar.js +16 -0
- package/dist/cjs/connect/keplergl-connect.js +44 -0
- package/dist/cjs/connect/with-local-selector.js +85 -0
- package/dist/cjs/container.js +180 -0
- package/dist/cjs/context.js +43 -0
- package/dist/cjs/dnd-context.js +174 -0
- package/dist/cjs/editor/editor.js +218 -0
- package/dist/cjs/editor/feature-action-panel.js +169 -0
- package/dist/cjs/editor/feature-properties-editor.js +215 -0
- package/dist/cjs/editor/filter-feature-badges.js +92 -0
- package/dist/cjs/effects/compact-color-picker.js +110 -0
- package/dist/cjs/effects/effect-configurator.js +473 -0
- package/dist/cjs/effects/effect-list.js +129 -0
- package/dist/cjs/effects/effect-manager.js +141 -0
- package/dist/cjs/effects/effect-panel-header.js +196 -0
- package/dist/cjs/effects/effect-panel.js +86 -0
- package/dist/cjs/effects/effect-time-configurator.js +381 -0
- package/dist/cjs/effects/effect-time-selector.js +152 -0
- package/dist/cjs/effects/effect-time-slider.js +198 -0
- package/dist/cjs/effects/effect-type-dropdown-list.js +65 -0
- package/dist/cjs/effects/effect-type-list-item.js +98 -0
- package/dist/cjs/effects/effect-type-selector.js +76 -0
- package/dist/cjs/effects/side-panel-title.js +37 -0
- package/dist/cjs/effects/surface-fog-section.js +262 -0
- package/dist/cjs/effects/timezone-selector.js +57 -0
- package/dist/cjs/filter-animation-controller.js +76 -0
- package/dist/cjs/filters/components.js +14 -0
- package/dist/cjs/filters/filter-panels/filter-panel-with-field-select.js +77 -0
- package/dist/cjs/filters/filter-panels/filter-synced-dataset-panel.js +260 -0
- package/dist/cjs/filters/filter-panels/multi-select-filter-panel.js +48 -0
- package/dist/cjs/filters/filter-panels/new-filter-panel.js +66 -0
- package/dist/cjs/filters/filter-panels/polygon-filter-panel.js +67 -0
- package/dist/cjs/filters/filter-panels/range-filter-panel.js +53 -0
- package/dist/cjs/filters/filter-panels/single-select-filter-panel.js +48 -0
- package/dist/cjs/filters/filter-panels/time-range-filter-panel.js +129 -0
- package/dist/cjs/filters/filter-panels/time-synced-field-selector.js +28 -0
- package/dist/cjs/filters/filter-panels/types.js +6 -0
- package/dist/cjs/filters/index.js +63 -0
- package/dist/cjs/filters/multi-select-filter.js +31 -0
- package/dist/cjs/filters/polygon-filter.js +76 -0
- package/dist/cjs/filters/range-filter.js +35 -0
- package/dist/cjs/filters/single-select-filter.js +40 -0
- package/dist/cjs/filters/time-range-filter.js +69 -0
- package/dist/cjs/filters/time-widget-settings.js +311 -0
- package/dist/cjs/filters/time-widget-top.js +80 -0
- package/dist/cjs/filters/time-widget.js +376 -0
- package/dist/cjs/filters/types.js +6 -0
- package/dist/cjs/geocoder/geocoder.js +327 -0
- package/dist/cjs/geocoder-panel.js +172 -0
- package/dist/cjs/hooks/use-cloud-list-provider.js +46 -0
- package/dist/cjs/hooks/use-dnd-effects.js +69 -0
- package/dist/cjs/hooks/use-dnd-layers.js +141 -0
- package/dist/cjs/hooks/use-feature-flags.js +17 -0
- package/dist/cjs/hooks/use-fetch-raster-tile-metadata.js +120 -0
- package/dist/cjs/hooks/use-fetch-vector-tile-metadata.js +133 -0
- package/dist/cjs/hooks/use-legend-position.js +176 -0
- package/dist/cjs/hooks/use-on-click-outside.js +36 -0
- package/dist/cjs/index.js +2929 -0
- package/dist/cjs/injector.js +151 -0
- package/dist/cjs/kepler-gl.js +685 -0
- package/dist/cjs/layer-animation-controller.js +53 -0
- package/dist/cjs/loading-indicator.js +76 -0
- package/dist/cjs/map/annotations/annotation-control.js +55 -0
- package/dist/cjs/map/attribution.js +391 -0
- package/dist/cjs/map/coordinate-info.js +42 -0
- package/dist/cjs/map/effects/effect-control.js +51 -0
- package/dist/cjs/map/layer-hover-info.js +318 -0
- package/dist/cjs/map/lazy-tippy.js +60 -0
- package/dist/cjs/map/locale-panel.js +76 -0
- package/dist/cjs/map/map-control-panel.js +140 -0
- package/dist/cjs/map/map-control-toolbar.js +18 -0
- package/dist/cjs/map/map-control-tooltip.js +34 -0
- package/dist/cjs/map/map-control.js +87 -0
- package/dist/cjs/map/map-draw-panel.js +159 -0
- package/dist/cjs/map/map-legend-panel.js +289 -0
- package/dist/cjs/map/map-legend.js +509 -0
- package/dist/cjs/map/map-navigation-control.js +159 -0
- package/dist/cjs/map/map-popover-content.js +28 -0
- package/dist/cjs/map/map-popover.js +189 -0
- package/dist/cjs/map/map-scale.js +162 -0
- package/dist/cjs/map/split-map-button.js +176 -0
- package/dist/cjs/map/theme-toggle-button.js +64 -0
- package/dist/cjs/map/toggle-3d-button.js +122 -0
- package/dist/cjs/map-container.js +1333 -0
- package/dist/cjs/map-view-state-context.js +98 -0
- package/dist/cjs/maps-layout.js +102 -0
- package/dist/cjs/modal-container.js +457 -0
- package/dist/cjs/modals/add-map-style-modal.js +262 -0
- package/dist/cjs/modals/cloud-components/cloud-header.js +59 -0
- package/dist/cjs/modals/cloud-components/cloud-item.js +107 -0
- package/dist/cjs/modals/cloud-components/cloud-item.spec.js +164 -0
- package/dist/cjs/modals/cloud-components/cloud-maps.js +48 -0
- package/dist/cjs/modals/cloud-components/cloud-maps.spec.js +98 -0
- package/dist/cjs/modals/cloud-components/cloud-storage-disclaimer.js +24 -0
- package/dist/cjs/modals/cloud-components/provider-select.js +30 -0
- package/dist/cjs/modals/cloud-tile.js +245 -0
- package/dist/cjs/modals/data-table-modal.js +227 -0
- package/dist/cjs/modals/delete-data-modal.js +41 -0
- package/dist/cjs/modals/error-display.js +32 -0
- package/dist/cjs/modals/export-data-modal.js +163 -0
- package/dist/cjs/modals/export-image-modal.js +188 -0
- package/dist/cjs/modals/export-map-modal/components.js +43 -0
- package/dist/cjs/modals/export-map-modal/export-html-map.js +124 -0
- package/dist/cjs/modals/export-map-modal/export-json-map.js +77 -0
- package/dist/cjs/modals/export-map-modal/export-map-modal.js +89 -0
- package/dist/cjs/modals/export-video-modal.js +440 -0
- package/dist/cjs/modals/export-video-modal.spec.js +732 -0
- package/dist/cjs/modals/fog-height-animation.js +97 -0
- package/dist/cjs/modals/globe-export-video-container.js +642 -0
- package/dist/cjs/modals/globe-export-video-preview.js +166 -0
- package/dist/cjs/modals/hubble-utils.js +452 -0
- package/dist/cjs/modals/hubble-utils.spec.js +397 -0
- package/dist/cjs/modals/image-modal-container.js +57 -0
- package/dist/cjs/modals/load-data-modal.js +97 -0
- package/dist/cjs/modals/load-storage-map.js +82 -0
- package/dist/cjs/modals/load-storage-map.spec.js +216 -0
- package/dist/cjs/modals/loading-dialog.js +37 -0
- package/dist/cjs/modals/modal-dialog.js +16 -0
- package/dist/cjs/modals/modal-tabs.js +74 -0
- package/dist/cjs/modals/overwrite-map-modal.js +83 -0
- package/dist/cjs/modals/save-map-modal.js +180 -0
- package/dist/cjs/modals/save-map-modal.spec.js +195 -0
- package/dist/cjs/modals/share-map-modal.js +169 -0
- package/dist/cjs/modals/share-map-modal.spec.js +173 -0
- package/dist/cjs/modals/status-panel.js +65 -0
- package/dist/cjs/modals/swipe-composite-utils.js +126 -0
- package/dist/cjs/modals/swipe-composite-utils.spec.js +69 -0
- package/dist/cjs/modals/swipe-export-settings.js +372 -0
- package/dist/cjs/modals/swipe-export-video-container.js +653 -0
- package/dist/cjs/modals/swipe-export-video-preview.js +395 -0
- package/dist/cjs/modals/tilesets-modals/common.js +6 -0
- package/dist/cjs/modals/tilesets-modals/load-data-footer.js +55 -0
- package/dist/cjs/modals/tilesets-modals/load-tileset.js +168 -0
- package/dist/cjs/modals/tilesets-modals/tileset-bitmap-form.js +283 -0
- package/dist/cjs/modals/tilesets-modals/tileset-icon.js +39 -0
- package/dist/cjs/modals/tilesets-modals/tileset-raster-form.js +287 -0
- package/dist/cjs/modals/tilesets-modals/tileset-tile3d-form.js +388 -0
- package/dist/cjs/modals/tilesets-modals/tileset-vector-form.js +261 -0
- package/dist/cjs/modals/tilesets-modals/tileset-wms-form.js +206 -0
- package/dist/cjs/notification-panel/notification-item.js +165 -0
- package/dist/cjs/notification-panel.js +39 -0
- package/dist/cjs/plot-container.js +318 -0
- package/dist/cjs/remote-dataset-refresh-controller.js +50 -0
- package/dist/cjs/side-panel/add-by-dataset-button.js +128 -0
- package/dist/cjs/side-panel/common/dataset-info.js +213 -0
- package/dist/cjs/side-panel/common/dataset-refresh-progress.js +63 -0
- package/dist/cjs/side-panel/common/dataset-tag.js +62 -0
- package/dist/cjs/side-panel/common/dataset-title.js +206 -0
- package/dist/cjs/side-panel/common/source-data-catalog.js +74 -0
- package/dist/cjs/side-panel/common/source-data-selector-content.js +64 -0
- package/dist/cjs/side-panel/common/source-data-selector.js +41 -0
- package/dist/cjs/side-panel/common/source-selector.js +56 -0
- package/dist/cjs/side-panel/common/types.js +6 -0
- package/dist/cjs/side-panel/custom-panel.js +39 -0
- package/dist/cjs/side-panel/filter-manager.js +206 -0
- package/dist/cjs/side-panel/filter-panel/add-filter-button.js +27 -0
- package/dist/cjs/side-panel/filter-panel/filter-panel-header.js +67 -0
- package/dist/cjs/side-panel/filter-panel/filter-panel.js +92 -0
- package/dist/cjs/side-panel/interaction-manager.js +45 -0
- package/dist/cjs/side-panel/interaction-panel/brush-config.js +41 -0
- package/dist/cjs/side-panel/interaction-panel/geocoder-config.js +45 -0
- package/dist/cjs/side-panel/interaction-panel/interaction-panel.js +121 -0
- package/dist/cjs/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +164 -0
- package/dist/cjs/side-panel/interaction-panel/tooltip-config.js +149 -0
- package/dist/cjs/side-panel/layer-manager.js +242 -0
- package/dist/cjs/side-panel/layer-panel/add-layer-button.js +27 -0
- package/dist/cjs/side-panel/layer-panel/aggr-scale-selector.js +37 -0
- package/dist/cjs/side-panel/layer-panel/channel-by-value-selector.js +71 -0
- package/dist/cjs/side-panel/layer-panel/color-breaks-panel.js +193 -0
- package/dist/cjs/side-panel/layer-panel/color-palette-preset.js +45 -0
- package/dist/cjs/side-panel/layer-panel/color-palette.js +74 -0
- package/dist/cjs/side-panel/layer-panel/color-range-selector.js +242 -0
- package/dist/cjs/side-panel/layer-panel/color-scale-selector.js +295 -0
- package/dist/cjs/side-panel/layer-panel/color-selector.js +186 -0
- package/dist/cjs/side-panel/layer-panel/column-selector.js +59 -0
- package/dist/cjs/side-panel/layer-panel/custom-palette.js +787 -0
- package/dist/cjs/side-panel/layer-panel/custom-picker.js +83 -0
- package/dist/cjs/side-panel/layer-panel/dataset-layer-group.js +68 -0
- package/dist/cjs/side-panel/layer-panel/dataset-layer-section.js +119 -0
- package/dist/cjs/side-panel/layer-panel/dataset-section.js +78 -0
- package/dist/cjs/side-panel/layer-panel/dimension-scale-selector.js +91 -0
- package/dist/cjs/side-panel/layer-panel/how-to-button.js +27 -0
- package/dist/cjs/side-panel/layer-panel/layer-color-selector.js +105 -0
- package/dist/cjs/side-panel/layer-panel/layer-column-config.js +85 -0
- package/dist/cjs/side-panel/layer-panel/layer-column-mode-config.js +192 -0
- package/dist/cjs/side-panel/layer-panel/layer-config-group.js +143 -0
- package/dist/cjs/side-panel/layer-panel/layer-configurator.js +1130 -0
- package/dist/cjs/side-panel/layer-panel/layer-error-message.js +29 -0
- package/dist/cjs/side-panel/layer-panel/layer-group-header.js +178 -0
- package/dist/cjs/side-panel/layer-panel/layer-list.js +330 -0
- package/dist/cjs/side-panel/layer-panel/layer-panel-header.js +311 -0
- package/dist/cjs/side-panel/layer-panel/layer-panel.js +171 -0
- package/dist/cjs/side-panel/layer-panel/layer-type-dropdown-list.js +77 -0
- package/dist/cjs/side-panel/layer-panel/layer-type-list-item.js +71 -0
- package/dist/cjs/side-panel/layer-panel/layer-type-selector.js +57 -0
- package/dist/cjs/side-panel/layer-panel/raster-tile-colormap-list-item.js +60 -0
- package/dist/cjs/side-panel/layer-panel/raster-tile-layer-configurator.js +457 -0
- package/dist/cjs/side-panel/layer-panel/scenegraph-model-selector.js +122 -0
- package/dist/cjs/side-panel/layer-panel/single-color-palette.js +85 -0
- package/dist/cjs/side-panel/layer-panel/text-label-panel.js +173 -0
- package/dist/cjs/side-panel/layer-panel/vector-tile-layer-configurator.js +94 -0
- package/dist/cjs/side-panel/layer-panel/vis-config-by-field-selector.js +60 -0
- package/dist/cjs/side-panel/layer-panel/vis-config-slider.js +167 -0
- package/dist/cjs/side-panel/layer-panel/vis-config-switch.js +55 -0
- package/dist/cjs/side-panel/map-manager.js +108 -0
- package/dist/cjs/side-panel/map-style-panel/globe-config-panel.js +334 -0
- package/dist/cjs/side-panel/map-style-panel/map-layer-group-color-picker.js +76 -0
- package/dist/cjs/side-panel/map-style-panel/map-layer-group-item.js +94 -0
- package/dist/cjs/side-panel/map-style-panel/map-layer-selector.js +74 -0
- package/dist/cjs/side-panel/map-style-panel/map-style-selector.js +97 -0
- package/dist/cjs/side-panel/panel-header-action.js +73 -0
- package/dist/cjs/side-panel/panel-header.js +309 -0
- package/dist/cjs/side-panel/panel-tab.js +55 -0
- package/dist/cjs/side-panel/panel-title.js +40 -0
- package/dist/cjs/side-panel/panel-toggle.js +47 -0
- package/dist/cjs/side-panel/panel-view-list-toggle.js +97 -0
- package/dist/cjs/side-panel/side-bar.js +126 -0
- package/dist/cjs/side-panel.js +235 -0
- package/dist/cjs/types.js +6 -0
- package/dist/common/color-legend.d.ts +1 -1
- package/dist/common/data-table/canvas.d.ts +1 -1
- package/dist/common/data-table/column-statistics-categoric.d.ts +9 -0
- package/dist/common/data-table/column-statistics-components.d.ts +31 -0
- package/dist/common/data-table/column-statistics-numeric.d.ts +18 -0
- package/dist/common/data-table/column-statistics-time.d.ts +19 -0
- package/dist/common/data-table/header-cell.d.ts +7 -5
- package/dist/common/data-table/index.d.ts +7 -24
- package/dist/common/dnd-layer-items.d.ts +4 -0
- package/dist/common/error-boundary.d.ts +1 -1
- package/dist/common/file-uploader/file-upload.d.ts +1 -1
- package/dist/common/flex-container.d.ts +15 -7
- package/dist/common/histogram-plot.d.ts +24 -1
- package/dist/common/icon-button.d.ts +53 -6
- package/dist/common/icons/arrow-down-full.d.ts +2 -1
- package/dist/common/icons/circle.d.ts +10 -0
- package/dist/common/icons/draw-point.d.ts +10 -0
- package/dist/common/icons/folder.d.ts +10 -0
- package/dist/common/icons/index.d.ts +4 -0
- package/dist/common/icons/line-string.d.ts +10 -0
- package/dist/common/icons/timeline-marker.d.ts +2 -1
- package/dist/common/item-selector/dropdown-list.d.ts +1 -1
- package/dist/common/item-selector/dropdown-select.d.ts +13 -7
- package/dist/common/item-selector/item-selector.d.ts +1 -1
- package/dist/common/item-selector/typeahead.d.ts +4 -4
- package/dist/common/layout-splitter.d.ts +45 -0
- package/dist/common/line-chart.d.ts +7 -3
- package/dist/common/modal.d.ts +11 -5
- package/dist/common/portaled.d.ts +17 -17
- package/dist/common/slider/mouse-event.d.ts +1 -1
- package/dist/common/slider/slider-bar-handle.d.ts +1 -1
- package/dist/common/slider/slider-handle.d.ts +3 -3
- package/dist/common/slider/slider.d.ts +4 -4
- package/dist/common/styled-components.d.ts +642 -189
- package/dist/common/toolbar-item.d.ts +2 -0
- package/dist/common/vertical-toolbar.d.ts +12 -2
- package/dist/container.d.ts +3 -2
- package/dist/context.d.ts +1 -1
- package/dist/dnd-context.d.ts +4 -3
- package/dist/editor/editor.d.ts +1 -0
- package/dist/editor/feature-action-panel.d.ts +1 -0
- package/dist/editor/feature-properties-editor.d.ts +8 -0
- package/dist/editor/filter-feature-badges.d.ts +12 -0
- package/dist/effects/compact-color-picker.d.ts +1 -1
- package/dist/effects/effect-configurator.d.ts +2 -4
- package/dist/effects/effect-manager.d.ts +1 -1
- package/dist/effects/effect-type-list-item.d.ts +1 -1
- package/dist/esm/annotations/annotation-node.js +138 -0
- package/dist/esm/annotations/annotation-overlay.js +161 -0
- package/dist/esm/annotations/annotation-panel.js +355 -0
- package/dist/esm/annotations/annotation-text.js +142 -0
- package/dist/esm/annotations/annotation-utils.js +185 -0
- package/dist/esm/annotations/index.js +9 -0
- package/dist/esm/annotations/lexical-editor/clickable-link-plugin.js +64 -0
- package/dist/esm/annotations/lexical-editor/floating-link-editor.js +186 -0
- package/dist/esm/annotations/lexical-editor/index.js +9 -0
- package/dist/esm/annotations/lexical-editor/lexical-constants.js +16 -0
- package/dist/esm/annotations/lexical-editor/lexical-nodes.js +7 -0
- package/dist/esm/annotations/lexical-editor/lexical-rich-text-editor.js +114 -0
- package/dist/esm/annotations/lexical-editor/lexical-theme.js +19 -0
- package/dist/esm/annotations/lexical-editor/lexical-toolbar.js +285 -0
- package/dist/esm/annotations/lexical-editor/lexical-utils.js +37 -0
- package/dist/esm/annotations/lexical-editor/use-lexical-toolbar.js +248 -0
- package/dist/esm/bottom-widget.js +176 -0
- package/dist/esm/common/action-panel.js +126 -0
- package/dist/esm/common/animation-control/animation-control.js +95 -0
- package/dist/esm/common/animation-control/animation-controller.js +266 -0
- package/dist/esm/common/animation-control/animation-speed-slider.js +56 -0
- package/dist/esm/common/animation-control/animation-window-control.js +50 -0
- package/dist/esm/common/animation-control/export-video-control.js +36 -0
- package/dist/esm/common/animation-control/floating-time-display.js +124 -0
- package/dist/esm/common/animation-control/play-control.js +43 -0
- package/dist/esm/common/animation-control/playback-controls.js +157 -0
- package/dist/esm/common/animation-control/reset-control.js +34 -0
- package/dist/esm/common/animation-control/speed-control.js +46 -0
- package/dist/esm/common/animation-control/window-action-control.js +48 -0
- package/dist/esm/common/checkbox.js +94 -0
- package/dist/esm/common/color-legend.js +261 -0
- package/dist/esm/common/column-stats-chart.js +305 -0
- package/dist/esm/common/data-table/button.js +33 -0
- package/dist/esm/common/data-table/canvas.js +22 -0
- package/dist/esm/common/data-table/cell-size.js +194 -0
- package/dist/esm/common/data-table/column-statistics-categoric.js +33 -0
- package/dist/esm/common/data-table/column-statistics-components.js +59 -0
- package/dist/esm/common/data-table/column-statistics-numeric.js +78 -0
- package/dist/esm/common/data-table/column-statistics-time.js +60 -0
- package/dist/esm/common/data-table/display-format.js +118 -0
- package/dist/esm/common/data-table/grid.js +100 -0
- package/dist/esm/common/data-table/header-cell.js +220 -0
- package/dist/esm/common/data-table/index.js +536 -0
- package/dist/esm/common/data-table/option-dropdown.js +152 -0
- package/dist/esm/common/dataset-label.js +22 -0
- package/dist/esm/common/dnd-layer-items.js +16 -0
- package/dist/esm/common/error-boundary.js +55 -0
- package/dist/esm/common/field-selector.js +164 -0
- package/dist/esm/common/field-token.js +38 -0
- package/dist/esm/common/file-uploader/file-drop.js +170 -0
- package/dist/esm/common/file-uploader/file-upload-progress.js +77 -0
- package/dist/esm/common/file-uploader/file-upload.js +445 -0
- package/dist/esm/common/file-uploader/upload-button.js +51 -0
- package/dist/esm/common/flex-container.js +10 -0
- package/dist/esm/common/histogram-plot.js +275 -0
- package/dist/esm/common/icon-button.js +20 -0
- package/dist/esm/common/icons/3d-models/airplane.js +97 -0
- package/dist/esm/common/icons/3d-models/bicycle.js +419 -0
- package/dist/esm/common/icons/3d-models/boeing.js +112 -0
- package/dist/esm/common/icons/3d-models/car.js +103 -0
- package/dist/esm/common/icons/3d-models/cargoship.js +239 -0
- package/dist/esm/common/icons/3d-models/evtol.js +127 -0
- package/dist/esm/common/icons/3d-models/glider.js +55 -0
- package/dist/esm/common/icons/3d-models/helicopter.js +103 -0
- package/dist/esm/common/icons/3d-models/scooter.js +152 -0
- package/dist/esm/common/icons/3d-models/semitruck.js +170 -0
- package/dist/esm/common/icons/3d-models/truck.js +115 -0
- package/dist/esm/common/icons/add.js +34 -0
- package/dist/esm/common/icons/anchor_window.js +36 -0
- package/dist/esm/common/icons/annotation-text.js +49 -0
- package/dist/esm/common/icons/arrow-down-alt.js +34 -0
- package/dist/esm/common/icons/arrow-down-full.js +43 -0
- package/dist/esm/common/icons/arrow-down-small.js +47 -0
- package/dist/esm/common/icons/arrow-down.js +44 -0
- package/dist/esm/common/icons/arrow-left.js +37 -0
- package/dist/esm/common/icons/arrow-right.js +34 -0
- package/dist/esm/common/icons/arrow-up-alt.js +35 -0
- package/dist/esm/common/icons/arrow-up-solid.js +34 -0
- package/dist/esm/common/icons/arrow-up.js +34 -0
- package/dist/esm/common/icons/base-map.js +49 -0
- package/dist/esm/common/icons/base.js +72 -0
- package/dist/esm/common/icons/bug.js +64 -0
- package/dist/esm/common/icons/calendar.js +42 -0
- package/dist/esm/common/icons/cancel.js +34 -0
- package/dist/esm/common/icons/checkmark.js +40 -0
- package/dist/esm/common/icons/circle.js +48 -0
- package/dist/esm/common/icons/clipboard.js +35 -0
- package/dist/esm/common/icons/clock.js +36 -0
- package/dist/esm/common/icons/close.js +40 -0
- package/dist/esm/common/icons/cloud.js +44 -0
- package/dist/esm/common/icons/code-alt.js +37 -0
- package/dist/esm/common/icons/copy.js +45 -0
- package/dist/esm/common/icons/crosshairs.js +37 -0
- package/dist/esm/common/icons/cube-3d.js +48 -0
- package/dist/esm/common/icons/cursor-click.js +38 -0
- package/dist/esm/common/icons/cursor-point.js +44 -0
- package/dist/esm/common/icons/data-table.js +70 -0
- package/dist/esm/common/icons/db.js +52 -0
- package/dist/esm/common/icons/delete.js +46 -0
- package/dist/esm/common/icons/docs.js +50 -0
- package/dist/esm/common/icons/docs2.js +44 -0
- package/dist/esm/common/icons/drag-n-drop.js +36 -0
- package/dist/esm/common/icons/draggable-dots.js +78 -0
- package/dist/esm/common/icons/draw-point.js +44 -0
- package/dist/esm/common/icons/draw-polygon.js +54 -0
- package/dist/esm/common/icons/edit.js +42 -0
- package/dist/esm/common/icons/effects/brightness-contrast.js +63 -0
- package/dist/esm/common/icons/effects/color-halftone.js +102 -0
- package/dist/esm/common/icons/effects/distance-fog.js +72 -0
- package/dist/esm/common/icons/effects/dot-screen.js +97 -0
- package/dist/esm/common/icons/effects/edge-work.js +56 -0
- package/dist/esm/common/icons/effects/hexagonal-pixelate.js +123 -0
- package/dist/esm/common/icons/effects/hue-saturation.js +54 -0
- package/dist/esm/common/icons/effects/ink.js +53 -0
- package/dist/esm/common/icons/effects/light-and-shadow.js +42 -0
- package/dist/esm/common/icons/effects/magic-wand.js +54 -0
- package/dist/esm/common/icons/effects/magnify.js +61 -0
- package/dist/esm/common/icons/effects/noise.js +107 -0
- package/dist/esm/common/icons/effects/sepia.js +54 -0
- package/dist/esm/common/icons/effects/surface-fog.js +79 -0
- package/dist/esm/common/icons/effects/tilt-shift.js +63 -0
- package/dist/esm/common/icons/effects/triangle-blur.js +58 -0
- package/dist/esm/common/icons/effects/vibrance.js +54 -0
- package/dist/esm/common/icons/effects/vignette.js +47 -0
- package/dist/esm/common/icons/effects/zoom-blur.js +82 -0
- package/dist/esm/common/icons/email.js +38 -0
- package/dist/esm/common/icons/expand.js +36 -0
- package/dist/esm/common/icons/eye-seen.js +43 -0
- package/dist/esm/common/icons/eye-unseen.js +41 -0
- package/dist/esm/common/icons/file-type.js +30 -0
- package/dist/esm/common/icons/file.js +34 -0
- package/dist/esm/common/icons/files.js +37 -0
- package/dist/esm/common/icons/filter-funnel.js +44 -0
- package/dist/esm/common/icons/folder.js +44 -0
- package/dist/esm/common/icons/free-window.js +39 -0
- package/dist/esm/common/icons/gear.js +36 -0
- package/dist/esm/common/icons/globe.js +47 -0
- package/dist/esm/common/icons/hash.js +34 -0
- package/dist/esm/common/icons/help.js +44 -0
- package/dist/esm/common/icons/histogram.js +37 -0
- package/dist/esm/common/icons/horizontal-resize-handle.js +52 -0
- package/dist/esm/common/icons/index.js +127 -0
- package/dist/esm/common/icons/info.js +47 -0
- package/dist/esm/common/icons/layers.js +48 -0
- package/dist/esm/common/icons/left-arrow.js +37 -0
- package/dist/esm/common/icons/legend.js +62 -0
- package/dist/esm/common/icons/line-chart.js +34 -0
- package/dist/esm/common/icons/line-string.js +54 -0
- package/dist/esm/common/icons/location-marker.js +52 -0
- package/dist/esm/common/icons/login.js +37 -0
- package/dist/esm/common/icons/logout.js +36 -0
- package/dist/esm/common/icons/map-icon.js +40 -0
- package/dist/esm/common/icons/map-pin.js +50 -0
- package/dist/esm/common/icons/messages.js +48 -0
- package/dist/esm/common/icons/minus.js +34 -0
- package/dist/esm/common/icons/moon.js +52 -0
- package/dist/esm/common/icons/order-by-dataset.js +41 -0
- package/dist/esm/common/icons/order-by-list.js +33 -0
- package/dist/esm/common/icons/pause.js +54 -0
- package/dist/esm/common/icons/picture.js +55 -0
- package/dist/esm/common/icons/pin.js +46 -0
- package/dist/esm/common/icons/play.js +44 -0
- package/dist/esm/common/icons/pointer-click.js +52 -0
- package/dist/esm/common/icons/polygon.js +56 -0
- package/dist/esm/common/icons/rectangle.js +57 -0
- package/dist/esm/common/icons/reduce.js +37 -0
- package/dist/esm/common/icons/reset.js +50 -0
- package/dist/esm/common/icons/save.js +51 -0
- package/dist/esm/common/icons/save2.js +48 -0
- package/dist/esm/common/icons/search.js +36 -0
- package/dist/esm/common/icons/settings.js +54 -0
- package/dist/esm/common/icons/share.js +64 -0
- package/dist/esm/common/icons/speed.js +46 -0
- package/dist/esm/common/icons/split.js +62 -0
- package/dist/esm/common/icons/square-select.js +36 -0
- package/dist/esm/common/icons/sun.js +68 -0
- package/dist/esm/common/icons/sunrise.js +64 -0
- package/dist/esm/common/icons/sunset.js +64 -0
- package/dist/esm/common/icons/timeline-marker.js +49 -0
- package/dist/esm/common/icons/trash.js +48 -0
- package/dist/esm/common/icons/vert-dots.js +72 -0
- package/dist/esm/common/icons/vert-three-dots.js +47 -0
- package/dist/esm/common/icons/warning-sign.js +54 -0
- package/dist/esm/common/icons/warning.js +48 -0
- package/dist/esm/common/icons/zoom-in.js +41 -0
- package/dist/esm/common/icons/zoom-out.js +41 -0
- package/dist/esm/common/image-preview.js +59 -0
- package/dist/esm/common/index.js +8 -0
- package/dist/esm/common/info-helper.js +56 -0
- package/dist/esm/common/item-selector/accessor.js +31 -0
- package/dist/esm/common/item-selector/chickleted-input.js +150 -0
- package/dist/esm/common/item-selector/dropdown-list.js +251 -0
- package/dist/esm/common/item-selector/dropdown-select.js +79 -0
- package/dist/esm/common/item-selector/item-selector.js +247 -0
- package/dist/esm/common/item-selector/typeahead.js +428 -0
- package/dist/esm/common/layout-splitter.js +224 -0
- package/dist/esm/common/line-chart.js +279 -0
- package/dist/esm/common/link-renderer.js +13 -0
- package/dist/esm/common/loading-spinner.js +43 -0
- package/dist/esm/common/logo.js +63 -0
- package/dist/esm/common/map-layer-selector.js +33 -0
- package/dist/esm/common/modal.js +163 -0
- package/dist/esm/common/portaled.js +280 -0
- package/dist/esm/common/progress-bar.js +43 -0
- package/dist/esm/common/radius-legend.js +124 -0
- package/dist/esm/common/range-brush.js +258 -0
- package/dist/esm/common/range-plot.js +210 -0
- package/dist/esm/common/range-slider-timeline-panel.js +35 -0
- package/dist/esm/common/range-slider-timeline.js +105 -0
- package/dist/esm/common/range-slider.js +364 -0
- package/dist/esm/common/slider/mouse-event.js +98 -0
- package/dist/esm/common/slider/slider-bar-handle.js +84 -0
- package/dist/esm/common/slider/slider-handle.js +130 -0
- package/dist/esm/common/slider/slider.js +245 -0
- package/dist/esm/common/styled-components.js +441 -0
- package/dist/esm/common/switch.js +16 -0
- package/dist/esm/common/sync-timeline-control.js +54 -0
- package/dist/esm/common/time-range-slider-time-title.js +57 -0
- package/dist/esm/common/time-range-slider.js +135 -0
- package/dist/esm/common/time-slider-marker.js +105 -0
- package/dist/esm/common/timeline-helpers.js +48 -0
- package/dist/esm/common/timeline-slider.js +133 -0
- package/dist/esm/common/tippy-tooltip.js +127 -0
- package/dist/esm/common/toolbar-item.js +76 -0
- package/dist/esm/common/toolbar.js +22 -0
- package/dist/esm/common/vertical-toolbar.js +11 -0
- package/dist/esm/connect/keplergl-connect.js +38 -0
- package/dist/esm/connect/with-local-selector.js +78 -0
- package/dist/esm/container.js +171 -0
- package/dist/esm/context.js +35 -0
- package/dist/esm/dnd-context.js +167 -0
- package/dist/esm/editor/editor.js +211 -0
- package/dist/esm/editor/feature-action-panel.js +161 -0
- package/dist/esm/editor/feature-properties-editor.js +208 -0
- package/dist/esm/editor/filter-feature-badges.js +85 -0
- package/dist/esm/effects/compact-color-picker.js +103 -0
- package/dist/esm/effects/effect-configurator.js +465 -0
- package/dist/esm/effects/effect-list.js +122 -0
- package/dist/esm/effects/effect-manager.js +134 -0
- package/dist/esm/effects/effect-panel-header.js +188 -0
- package/dist/esm/effects/effect-panel.js +79 -0
- package/dist/esm/effects/effect-time-configurator.js +374 -0
- package/dist/esm/effects/effect-time-selector.js +145 -0
- package/dist/esm/effects/effect-time-slider.js +190 -0
- package/dist/esm/effects/effect-type-dropdown-list.js +57 -0
- package/dist/esm/effects/effect-type-list-item.js +89 -0
- package/dist/esm/effects/effect-type-selector.js +69 -0
- package/dist/esm/effects/side-panel-title.js +32 -0
- package/dist/esm/effects/surface-fog-section.js +254 -0
- package/dist/esm/effects/timezone-selector.js +50 -0
- package/dist/esm/filter-animation-controller.js +67 -0
- package/dist/esm/filters/components.js +9 -0
- package/dist/esm/filters/filter-panels/filter-panel-with-field-select.js +68 -0
- package/dist/esm/filters/filter-panels/filter-synced-dataset-panel.js +253 -0
- package/dist/esm/filters/filter-panels/multi-select-filter-panel.js +39 -0
- package/dist/esm/filters/filter-panels/new-filter-panel.js +56 -0
- package/dist/esm/filters/filter-panels/polygon-filter-panel.js +58 -0
- package/dist/esm/filters/filter-panels/range-filter-panel.js +44 -0
- package/dist/esm/filters/filter-panels/single-select-filter-panel.js +39 -0
- package/dist/esm/filters/filter-panels/time-range-filter-panel.js +120 -0
- package/dist/esm/filters/filter-panels/time-synced-field-selector.js +23 -0
- package/dist/esm/filters/filter-panels/types.js +3 -0
- package/dist/esm/filters/index.js +12 -0
- package/dist/esm/filters/multi-select-filter.js +24 -0
- package/dist/esm/filters/polygon-filter.js +67 -0
- package/dist/esm/filters/range-filter.js +28 -0
- package/dist/esm/filters/single-select-filter.js +33 -0
- package/dist/esm/filters/time-range-filter.js +61 -0
- package/dist/esm/filters/time-widget-settings.js +304 -0
- package/dist/esm/filters/time-widget-top.js +73 -0
- package/dist/esm/filters/time-widget.js +369 -0
- package/dist/esm/filters/types.js +3 -0
- package/dist/esm/geocoder/geocoder.js +318 -0
- package/dist/esm/geocoder-panel.js +164 -0
- package/dist/esm/hooks/use-cloud-list-provider.js +37 -0
- package/dist/esm/hooks/use-dnd-effects.js +62 -0
- package/dist/esm/hooks/use-dnd-layers.js +136 -0
- package/dist/esm/hooks/use-feature-flags.js +11 -0
- package/dist/esm/hooks/use-fetch-raster-tile-metadata.js +113 -0
- package/dist/esm/hooks/use-fetch-vector-tile-metadata.js +128 -0
- package/dist/esm/hooks/use-legend-position.js +170 -0
- package/dist/esm/hooks/use-on-click-outside.js +29 -0
- package/dist/esm/index.js +282 -0
- package/dist/esm/injector.js +141 -0
- package/dist/esm/kepler-gl.js +672 -0
- package/dist/esm/layer-animation-controller.js +44 -0
- package/dist/esm/loading-indicator.js +69 -0
- package/dist/esm/map/annotations/annotation-control.js +46 -0
- package/dist/esm/map/attribution.js +382 -0
- package/dist/esm/map/coordinate-info.js +36 -0
- package/dist/esm/map/effects/effect-control.js +42 -0
- package/dist/esm/map/layer-hover-info.js +312 -0
- package/dist/esm/map/lazy-tippy.js +53 -0
- package/dist/esm/map/locale-panel.js +67 -0
- package/dist/esm/map/map-control-panel.js +133 -0
- package/dist/esm/map/map-control-toolbar.js +13 -0
- package/dist/esm/map/map-control-tooltip.js +27 -0
- package/dist/esm/map/map-control.js +83 -0
- package/dist/esm/map/map-draw-panel.js +152 -0
- package/dist/esm/map/map-legend-panel.js +282 -0
- package/dist/esm/map/map-legend.js +496 -0
- package/dist/esm/map/map-navigation-control.js +152 -0
- package/dist/esm/map/map-popover-content.js +21 -0
- package/dist/esm/map/map-popover.js +181 -0
- package/dist/esm/map/map-scale.js +155 -0
- package/dist/esm/map/split-map-button.js +167 -0
- package/dist/esm/map/theme-toggle-button.js +55 -0
- package/dist/esm/map/toggle-3d-button.js +113 -0
- package/dist/esm/map-container.js +1303 -0
- package/dist/esm/map-view-state-context.js +89 -0
- package/dist/esm/maps-layout.js +95 -0
- package/dist/esm/modal-container.js +454 -0
- package/dist/esm/modals/add-map-style-modal.js +256 -0
- package/dist/esm/modals/cloud-components/cloud-header.js +52 -0
- package/dist/esm/modals/cloud-components/cloud-item.js +100 -0
- package/dist/esm/modals/cloud-components/cloud-item.spec.js +163 -0
- package/dist/esm/modals/cloud-components/cloud-maps.js +43 -0
- package/dist/esm/modals/cloud-components/cloud-maps.spec.js +94 -0
- package/dist/esm/modals/cloud-components/cloud-storage-disclaimer.js +19 -0
- package/dist/esm/modals/cloud-components/provider-select.js +25 -0
- package/dist/esm/modals/cloud-tile.js +238 -0
- package/dist/esm/modals/data-table-modal.js +220 -0
- package/dist/esm/modals/delete-data-modal.js +36 -0
- package/dist/esm/modals/error-display.js +23 -0
- package/dist/esm/modals/export-data-modal.js +155 -0
- package/dist/esm/modals/export-image-modal.js +181 -0
- package/dist/esm/modals/export-map-modal/components.js +38 -0
- package/dist/esm/modals/export-map-modal/export-html-map.js +119 -0
- package/dist/esm/modals/export-map-modal/export-json-map.js +70 -0
- package/dist/esm/modals/export-map-modal/export-map-modal.js +84 -0
- package/dist/esm/modals/export-video-modal.js +427 -0
- package/dist/esm/modals/export-video-modal.spec.js +731 -0
- package/dist/esm/modals/fog-height-animation.js +90 -0
- package/dist/esm/modals/globe-export-video-container.js +636 -0
- package/dist/esm/modals/globe-export-video-preview.js +159 -0
- package/dist/esm/modals/hubble-utils.js +434 -0
- package/dist/esm/modals/hubble-utils.spec.js +396 -0
- package/dist/esm/modals/image-modal-container.js +48 -0
- package/dist/esm/modals/load-data-modal.js +89 -0
- package/dist/esm/modals/load-storage-map.js +75 -0
- package/dist/esm/modals/load-storage-map.spec.js +212 -0
- package/dist/esm/modals/loading-dialog.js +32 -0
- package/dist/esm/modals/modal-dialog.js +9 -0
- package/dist/esm/modals/modal-tabs.js +67 -0
- package/dist/esm/modals/overwrite-map-modal.js +76 -0
- package/dist/esm/modals/save-map-modal.js +173 -0
- package/dist/esm/modals/save-map-modal.spec.js +196 -0
- package/dist/esm/modals/share-map-modal.js +161 -0
- package/dist/esm/modals/share-map-modal.spec.js +172 -0
- package/dist/esm/modals/status-panel.js +60 -0
- package/dist/esm/modals/swipe-composite-utils.js +119 -0
- package/dist/esm/modals/swipe-composite-utils.spec.js +67 -0
- package/dist/esm/modals/swipe-export-settings.js +366 -0
- package/dist/esm/modals/swipe-export-video-container.js +646 -0
- package/dist/esm/modals/swipe-export-video-preview.js +388 -0
- package/dist/esm/modals/tilesets-modals/common.js +3 -0
- package/dist/esm/modals/tilesets-modals/load-data-footer.js +48 -0
- package/dist/esm/modals/tilesets-modals/load-tileset.js +161 -0
- package/dist/esm/modals/tilesets-modals/tileset-bitmap-form.js +275 -0
- package/dist/esm/modals/tilesets-modals/tileset-icon.js +34 -0
- package/dist/esm/modals/tilesets-modals/tileset-raster-form.js +279 -0
- package/dist/esm/modals/tilesets-modals/tileset-tile3d-form.js +380 -0
- package/dist/esm/modals/tilesets-modals/tileset-vector-form.js +253 -0
- package/dist/esm/modals/tilesets-modals/tileset-wms-form.js +199 -0
- package/dist/esm/notification-panel/notification-item.js +158 -0
- package/dist/esm/notification-panel.js +34 -0
- package/dist/esm/plot-container.js +311 -0
- package/dist/esm/remote-dataset-refresh-controller.js +44 -0
- package/dist/esm/side-panel/add-by-dataset-button.js +121 -0
- package/dist/esm/side-panel/common/dataset-info.js +206 -0
- package/dist/esm/side-panel/common/dataset-refresh-progress.js +56 -0
- package/dist/esm/side-panel/common/dataset-tag.js +57 -0
- package/dist/esm/side-panel/common/dataset-title.js +199 -0
- package/dist/esm/side-panel/common/source-data-catalog.js +67 -0
- package/dist/esm/side-panel/common/source-data-selector-content.js +55 -0
- package/dist/esm/side-panel/common/source-data-selector.js +34 -0
- package/dist/esm/side-panel/common/source-selector.js +49 -0
- package/dist/esm/side-panel/common/types.js +3 -0
- package/dist/esm/side-panel/custom-panel.js +32 -0
- package/dist/esm/side-panel/filter-manager.js +199 -0
- package/dist/esm/side-panel/filter-panel/add-filter-button.js +20 -0
- package/dist/esm/side-panel/filter-panel/filter-panel-header.js +60 -0
- package/dist/esm/side-panel/filter-panel/filter-panel.js +85 -0
- package/dist/esm/side-panel/interaction-manager.js +38 -0
- package/dist/esm/side-panel/interaction-panel/brush-config.js +36 -0
- package/dist/esm/side-panel/interaction-panel/geocoder-config.js +40 -0
- package/dist/esm/side-panel/interaction-panel/interaction-panel.js +114 -0
- package/dist/esm/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +157 -0
- package/dist/esm/side-panel/interaction-panel/tooltip-config.js +142 -0
- package/dist/esm/side-panel/layer-manager.js +235 -0
- package/dist/esm/side-panel/layer-panel/add-layer-button.js +20 -0
- package/dist/esm/side-panel/layer-panel/aggr-scale-selector.js +29 -0
- package/dist/esm/side-panel/layer-panel/channel-by-value-selector.js +61 -0
- package/dist/esm/side-panel/layer-panel/color-breaks-panel.js +186 -0
- package/dist/esm/side-panel/layer-panel/color-palette-preset.js +40 -0
- package/dist/esm/side-panel/layer-panel/color-palette.js +67 -0
- package/dist/esm/side-panel/layer-panel/color-range-selector.js +236 -0
- package/dist/esm/side-panel/layer-panel/color-scale-selector.js +288 -0
- package/dist/esm/side-panel/layer-panel/color-selector.js +179 -0
- package/dist/esm/side-panel/layer-panel/column-selector.js +52 -0
- package/dist/esm/side-panel/layer-panel/custom-palette.js +783 -0
- package/dist/esm/side-panel/layer-panel/custom-picker.js +77 -0
- package/dist/esm/side-panel/layer-panel/dataset-layer-group.js +59 -0
- package/dist/esm/side-panel/layer-panel/dataset-layer-section.js +112 -0
- package/dist/esm/side-panel/layer-panel/dataset-section.js +72 -0
- package/dist/esm/side-panel/layer-panel/dimension-scale-selector.js +82 -0
- package/dist/esm/side-panel/layer-panel/how-to-button.js +22 -0
- package/dist/esm/side-panel/layer-panel/layer-color-selector.js +94 -0
- package/dist/esm/side-panel/layer-panel/layer-column-config.js +76 -0
- package/dist/esm/side-panel/layer-panel/layer-column-mode-config.js +184 -0
- package/dist/esm/side-panel/layer-panel/layer-config-group.js +134 -0
- package/dist/esm/side-panel/layer-panel/layer-configurator.js +1121 -0
- package/dist/esm/side-panel/layer-panel/layer-error-message.js +24 -0
- package/dist/esm/side-panel/layer-panel/layer-group-header.js +171 -0
- package/dist/esm/side-panel/layer-panel/layer-list.js +323 -0
- package/dist/esm/side-panel/layer-panel/layer-panel-header.js +302 -0
- package/dist/esm/side-panel/layer-panel/layer-panel.js +164 -0
- package/dist/esm/side-panel/layer-panel/layer-type-dropdown-list.js +69 -0
- package/dist/esm/side-panel/layer-panel/layer-type-list-item.js +63 -0
- package/dist/esm/side-panel/layer-panel/layer-type-selector.js +50 -0
- package/dist/esm/side-panel/layer-panel/raster-tile-colormap-list-item.js +55 -0
- package/dist/esm/side-panel/layer-panel/raster-tile-layer-configurator.js +450 -0
- package/dist/esm/side-panel/layer-panel/scenegraph-model-selector.js +115 -0
- package/dist/esm/side-panel/layer-panel/single-color-palette.js +78 -0
- package/dist/esm/side-panel/layer-panel/text-label-panel.js +166 -0
- package/dist/esm/side-panel/layer-panel/vector-tile-layer-configurator.js +87 -0
- package/dist/esm/side-panel/layer-panel/vis-config-by-field-selector.js +53 -0
- package/dist/esm/side-panel/layer-panel/vis-config-slider.js +160 -0
- package/dist/esm/side-panel/layer-panel/vis-config-switch.js +50 -0
- package/dist/esm/side-panel/map-manager.js +99 -0
- package/dist/esm/side-panel/map-style-panel/globe-config-panel.js +327 -0
- package/dist/esm/side-panel/map-style-panel/map-layer-group-color-picker.js +69 -0
- package/dist/esm/side-panel/map-style-panel/map-layer-group-item.js +87 -0
- package/dist/esm/side-panel/map-style-panel/map-layer-selector.js +69 -0
- package/dist/esm/side-panel/map-style-panel/map-style-selector.js +92 -0
- package/dist/esm/side-panel/panel-header-action.js +68 -0
- package/dist/esm/side-panel/panel-header.js +303 -0
- package/dist/esm/side-panel/panel-tab.js +49 -0
- package/dist/esm/side-panel/panel-title.js +35 -0
- package/dist/esm/side-panel/panel-toggle.js +40 -0
- package/dist/esm/side-panel/panel-view-list-toggle.js +90 -0
- package/dist/esm/side-panel/side-bar.js +119 -0
- package/dist/esm/side-panel.js +227 -0
- package/dist/esm/types.js +3 -0
- package/dist/filters/components.d.ts +7 -5
- package/dist/filters/filter-panels/filter-synced-dataset-panel.d.ts +6 -2
- package/dist/geocoder-panel.d.ts +2 -2
- package/dist/hooks/use-dnd-layers.d.ts +4 -3
- package/dist/index.d.ts +14 -4
- package/dist/injector.d.ts +1 -1
- package/dist/kepler-gl.d.ts +172 -27
- package/dist/loading-indicator.d.ts +2 -1
- package/dist/map/attribution.d.ts +52 -0
- package/dist/map/layer-hover-info.d.ts +7 -3
- package/dist/map/locale-panel.d.ts +1 -1
- package/dist/map/map-control-toolbar.d.ts +29 -4
- package/dist/map/map-control.d.ts +18 -4
- package/dist/map/map-draw-panel.d.ts +2 -1
- package/dist/map/map-legend-panel.d.ts +11 -2
- package/dist/map/map-legend.d.ts +19 -2
- package/dist/map/map-scale.d.ts +11 -0
- package/dist/map/split-map-button.d.ts +10 -3
- package/dist/map/theme-toggle-button.d.ts +18 -0
- package/dist/map/toggle-3d-button.d.ts +8 -2
- package/dist/map-container.d.ts +7 -16
- package/dist/map-view-state-context.d.ts +2 -0
- package/dist/maps-layout.d.ts +3 -0
- package/dist/modal-container.d.ts +1 -1
- package/dist/modals/cloud-components/cloud-item.d.ts +2 -1
- package/dist/modals/cloud-components/cloud-storage-disclaimer.d.ts +2 -0
- package/dist/modals/cloud-tile.d.ts +1 -2
- package/dist/modals/data-table-modal.d.ts +1 -0
- package/dist/modals/export-map-modal/components.d.ts +23 -5
- package/dist/modals/export-video-modal.d.ts +3 -0
- package/dist/modals/globe-export-video-container.d.ts +119 -0
- package/dist/modals/globe-export-video-preview.d.ts +44 -0
- package/dist/modals/hubble-utils.d.ts +46 -1
- package/dist/modals/modal-dialog.d.ts +1 -1
- package/dist/modals/share-map-modal.d.ts +2 -4
- package/dist/modals/swipe-composite-utils.d.ts +10 -0
- package/dist/modals/swipe-composite-utils.spec.d.ts +1 -0
- package/dist/modals/swipe-export-settings.d.ts +25 -0
- package/dist/modals/swipe-export-video-container.d.ts +128 -0
- package/dist/modals/swipe-export-video-preview.d.ts +70 -0
- package/dist/remote-dataset-refresh-controller.d.ts +11 -0
- package/dist/side-panel/common/dataset-info.d.ts +10 -0
- package/dist/side-panel/common/dataset-refresh-progress.d.ts +11 -0
- package/dist/side-panel/common/dataset-title.d.ts +5 -0
- package/dist/side-panel/common/source-data-catalog.d.ts +3 -0
- package/dist/side-panel/filter-panel/filter-panel-header.d.ts +7 -3
- package/dist/side-panel/layer-manager.d.ts +6 -4
- package/dist/side-panel/layer-panel/color-selector.d.ts +6 -4
- package/dist/side-panel/layer-panel/custom-palette.d.ts +3 -5
- package/dist/side-panel/layer-panel/dataset-layer-group.d.ts +3 -1
- package/dist/side-panel/layer-panel/dataset-layer-section.d.ts +3 -1
- package/dist/side-panel/layer-panel/dataset-section.d.ts +2 -0
- package/dist/side-panel/layer-panel/layer-config-group.d.ts +5 -11
- package/dist/side-panel/layer-panel/layer-group-header.d.ts +15 -0
- package/dist/side-panel/layer-panel/layer-list.d.ts +10 -4
- package/dist/side-panel/layer-panel/layer-panel-header.d.ts +1 -1
- package/dist/side-panel/layer-panel/layer-panel.d.ts +2 -1
- package/dist/side-panel/map-manager.d.ts +9 -3
- package/dist/side-panel/map-style-panel/globe-config-panel.d.ts +15 -0
- package/dist/side-panel/panel-tab.d.ts +1 -3
- package/dist/side-panel/panel-view-list-toggle.d.ts +4 -4
- package/dist/side-panel/side-bar.d.ts +1 -6
- package/dist/side-panel.d.ts +1 -1
- package/dist/types.d.ts +3 -2
- package/package.json +59 -49
- package/dist/annotations/annotation-node.js +0 -145
- package/dist/annotations/annotation-overlay.js +0 -166
- package/dist/annotations/annotation-panel.js +0 -362
- package/dist/annotations/annotation-text.js +0 -150
- package/dist/annotations/annotation-utils.js +0 -156
- package/dist/annotations/index.js +0 -53
- package/dist/annotations/lexical-editor/clickable-link-plugin.js +0 -71
- package/dist/annotations/lexical-editor/floating-link-editor.js +0 -194
- package/dist/annotations/lexical-editor/index.js +0 -78
- package/dist/annotations/lexical-editor/lexical-constants.js +0 -22
- package/dist/annotations/lexical-editor/lexical-nodes.js +0 -13
- package/dist/annotations/lexical-editor/lexical-rich-text-editor.js +0 -122
- package/dist/annotations/lexical-editor/lexical-theme.js +0 -25
- package/dist/annotations/lexical-editor/lexical-toolbar.js +0 -293
- package/dist/annotations/lexical-editor/lexical-utils.js +0 -45
- package/dist/annotations/lexical-editor/use-lexical-toolbar.js +0 -253
- package/dist/bottom-widget.js +0 -184
- package/dist/common/action-panel.js +0 -134
- package/dist/common/animation-control/animation-control.js +0 -100
- package/dist/common/animation-control/animation-controller.js +0 -271
- package/dist/common/animation-control/animation-speed-slider.js +0 -64
- package/dist/common/animation-control/animation-window-control.js +0 -60
- package/dist/common/animation-control/export-video-control.js +0 -43
- package/dist/common/animation-control/floating-time-display.js +0 -132
- package/dist/common/animation-control/play-control.js +0 -50
- package/dist/common/animation-control/playback-controls.js +0 -165
- package/dist/common/animation-control/reset-control.js +0 -41
- package/dist/common/animation-control/speed-control.js +0 -51
- package/dist/common/animation-control/window-action-control.js +0 -58
- package/dist/common/checkbox.js +0 -102
- package/dist/common/color-legend.js +0 -273
- package/dist/common/column-stats-chart.js +0 -313
- package/dist/common/data-table/button.js +0 -38
- package/dist/common/data-table/canvas.js +0 -26
- package/dist/common/data-table/cell-size.js +0 -183
- package/dist/common/data-table/display-format.js +0 -126
- package/dist/common/data-table/grid.js +0 -107
- package/dist/common/data-table/header-cell.js +0 -149
- package/dist/common/data-table/index.js +0 -471
- package/dist/common/data-table/option-dropdown.js +0 -160
- package/dist/common/dataset-label.js +0 -27
- package/dist/common/dnd-layer-items.js +0 -18
- package/dist/common/error-boundary.js +0 -59
- package/dist/common/field-selector.js +0 -173
- package/dist/common/field-token.js +0 -43
- package/dist/common/file-uploader/file-drop.js +0 -181
- package/dist/common/file-uploader/file-upload-progress.js +0 -85
- package/dist/common/file-uploader/file-upload.js +0 -242
- package/dist/common/file-uploader/upload-button.js +0 -59
- package/dist/common/flex-container.js +0 -15
- package/dist/common/histogram-plot.js +0 -283
- package/dist/common/icon-button.js +0 -25
- package/dist/common/icons/3d-models/airplane.js +0 -104
- package/dist/common/icons/3d-models/bicycle.js +0 -426
- package/dist/common/icons/3d-models/boeing.js +0 -119
- package/dist/common/icons/3d-models/car.js +0 -110
- package/dist/common/icons/3d-models/cargoship.js +0 -246
- package/dist/common/icons/3d-models/evtol.js +0 -134
- package/dist/common/icons/3d-models/glider.js +0 -62
- package/dist/common/icons/3d-models/helicopter.js +0 -110
- package/dist/common/icons/3d-models/scooter.js +0 -159
- package/dist/common/icons/3d-models/semitruck.js +0 -177
- package/dist/common/icons/3d-models/truck.js +0 -122
- package/dist/common/icons/add.js +0 -41
- package/dist/common/icons/anchor_window.js +0 -41
- package/dist/common/icons/annotation-text.js +0 -56
- package/dist/common/icons/arrow-down-alt.js +0 -41
- package/dist/common/icons/arrow-down-full.js +0 -50
- package/dist/common/icons/arrow-down-small.js +0 -54
- package/dist/common/icons/arrow-down-solid.d.ts +0 -9
- package/dist/common/icons/arrow-down-solid.js +0 -41
- package/dist/common/icons/arrow-down.js +0 -51
- package/dist/common/icons/arrow-left.js +0 -44
- package/dist/common/icons/arrow-right.js +0 -41
- package/dist/common/icons/arrow-up-alt.js +0 -42
- package/dist/common/icons/arrow-up-solid.js +0 -41
- package/dist/common/icons/arrow-up.js +0 -41
- package/dist/common/icons/base-map.js +0 -57
- package/dist/common/icons/base.js +0 -79
- package/dist/common/icons/bug.js +0 -71
- package/dist/common/icons/calendar.js +0 -49
- package/dist/common/icons/cancel.js +0 -41
- package/dist/common/icons/checkmark.js +0 -47
- package/dist/common/icons/clipboard.js +0 -42
- package/dist/common/icons/clock.js +0 -43
- package/dist/common/icons/close.js +0 -47
- package/dist/common/icons/cloud.js +0 -51
- package/dist/common/icons/code-alt.js +0 -44
- package/dist/common/icons/copy.js +0 -52
- package/dist/common/icons/crosshairs.js +0 -44
- package/dist/common/icons/cube-3d.js +0 -55
- package/dist/common/icons/cursor-click.js +0 -45
- package/dist/common/icons/cursor-point.js +0 -51
- package/dist/common/icons/data-table.js +0 -77
- package/dist/common/icons/db.js +0 -59
- package/dist/common/icons/delete.js +0 -53
- package/dist/common/icons/docs.js +0 -57
- package/dist/common/icons/docs2.js +0 -51
- package/dist/common/icons/drag-n-drop.js +0 -43
- package/dist/common/icons/draggable-dots.js +0 -85
- package/dist/common/icons/draw-polygon.js +0 -61
- package/dist/common/icons/edit.js +0 -49
- package/dist/common/icons/effects/brightness-contrast.js +0 -70
- package/dist/common/icons/effects/color-halftone.js +0 -109
- package/dist/common/icons/effects/distance-fog.js +0 -79
- package/dist/common/icons/effects/dot-screen.js +0 -104
- package/dist/common/icons/effects/edge-work.js +0 -63
- package/dist/common/icons/effects/hexagonal-pixelate.js +0 -130
- package/dist/common/icons/effects/hue-saturation.js +0 -61
- package/dist/common/icons/effects/ink.js +0 -60
- package/dist/common/icons/effects/light-and-shadow.js +0 -49
- package/dist/common/icons/effects/magic-wand.js +0 -61
- package/dist/common/icons/effects/magnify.js +0 -68
- package/dist/common/icons/effects/noise.js +0 -114
- package/dist/common/icons/effects/sepia.js +0 -61
- package/dist/common/icons/effects/surface-fog.js +0 -86
- package/dist/common/icons/effects/tilt-shift.js +0 -70
- package/dist/common/icons/effects/triangle-blur.js +0 -65
- package/dist/common/icons/effects/vibrance.js +0 -61
- package/dist/common/icons/effects/vignette.js +0 -54
- package/dist/common/icons/effects/zoom-blur.js +0 -89
- package/dist/common/icons/email.js +0 -45
- package/dist/common/icons/expand.js +0 -43
- package/dist/common/icons/eye-seen.js +0 -50
- package/dist/common/icons/eye-unseen.js +0 -48
- package/dist/common/icons/file-type.js +0 -35
- package/dist/common/icons/file.js +0 -41
- package/dist/common/icons/files.js +0 -41
- package/dist/common/icons/filter-funnel.js +0 -51
- package/dist/common/icons/free-window.js +0 -44
- package/dist/common/icons/gear.js +0 -43
- package/dist/common/icons/globe.js +0 -54
- package/dist/common/icons/hash.js +0 -41
- package/dist/common/icons/help.js +0 -51
- package/dist/common/icons/histogram.js +0 -41
- package/dist/common/icons/horizontal-resize-handle.js +0 -59
- package/dist/common/icons/index.js +0 -817
- package/dist/common/icons/info.js +0 -54
- package/dist/common/icons/layers.js +0 -55
- package/dist/common/icons/left-arrow.js +0 -44
- package/dist/common/icons/legend.js +0 -69
- package/dist/common/icons/line-chart.js +0 -41
- package/dist/common/icons/location-marker.js +0 -59
- package/dist/common/icons/login.js +0 -44
- package/dist/common/icons/logout.js +0 -43
- package/dist/common/icons/map-icon.js +0 -48
- package/dist/common/icons/map-pin.js +0 -57
- package/dist/common/icons/messages.js +0 -55
- package/dist/common/icons/minus.js +0 -41
- package/dist/common/icons/moon.js +0 -59
- package/dist/common/icons/order-by-dataset.js +0 -46
- package/dist/common/icons/order-by-list.js +0 -38
- package/dist/common/icons/pause.js +0 -61
- package/dist/common/icons/picture.js +0 -59
- package/dist/common/icons/pin.js +0 -53
- package/dist/common/icons/play.js +0 -51
- package/dist/common/icons/pointer-click.js +0 -59
- package/dist/common/icons/polygon.js +0 -63
- package/dist/common/icons/rectangle.js +0 -64
- package/dist/common/icons/reduce.js +0 -44
- package/dist/common/icons/reset.js +0 -57
- package/dist/common/icons/save.js +0 -58
- package/dist/common/icons/save2.js +0 -55
- package/dist/common/icons/search.js +0 -43
- package/dist/common/icons/settings.js +0 -61
- package/dist/common/icons/share.js +0 -71
- package/dist/common/icons/speed.js +0 -53
- package/dist/common/icons/split.js +0 -69
- package/dist/common/icons/square-select.js +0 -43
- package/dist/common/icons/sun.js +0 -75
- package/dist/common/icons/sunrise.js +0 -71
- package/dist/common/icons/sunset.js +0 -71
- package/dist/common/icons/timeline-marker.js +0 -56
- package/dist/common/icons/trash.js +0 -55
- package/dist/common/icons/vert-dots.js +0 -79
- package/dist/common/icons/vert-three-dots.js +0 -54
- package/dist/common/icons/warning-sign.js +0 -61
- package/dist/common/icons/warning.js +0 -55
- package/dist/common/icons/zoom-in.js +0 -48
- package/dist/common/icons/zoom-out.js +0 -48
- package/dist/common/image-preview.js +0 -64
- package/dist/common/index.js +0 -283
- package/dist/common/info-helper.js +0 -61
- package/dist/common/item-selector/accessor.js +0 -37
- package/dist/common/item-selector/chickleted-input.js +0 -158
- package/dist/common/item-selector/dropdown-list.js +0 -258
- package/dist/common/item-selector/dropdown-select.js +0 -84
- package/dist/common/item-selector/item-selector.js +0 -255
- package/dist/common/item-selector/typeahead.js +0 -438
- package/dist/common/line-chart.js +0 -167
- package/dist/common/link-renderer.js +0 -20
- package/dist/common/loading-spinner.js +0 -51
- package/dist/common/logo.js +0 -68
- package/dist/common/map-layer-selector.js +0 -38
- package/dist/common/modal.js +0 -171
- package/dist/common/portaled.js +0 -288
- package/dist/common/progress-bar.js +0 -47
- package/dist/common/radius-legend.js +0 -132
- package/dist/common/range-brush.js +0 -266
- package/dist/common/range-plot.js +0 -218
- package/dist/common/range-slider-timeline-panel.js +0 -43
- package/dist/common/range-slider-timeline.js +0 -113
- package/dist/common/range-slider.js +0 -374
- package/dist/common/slider/mouse-event.js +0 -105
- package/dist/common/slider/slider-bar-handle.js +0 -91
- package/dist/common/slider/slider-handle.js +0 -137
- package/dist/common/slider/slider.js +0 -252
- package/dist/common/styled-components.js +0 -439
- package/dist/common/switch.js +0 -21
- package/dist/common/sync-timeline-control.js +0 -61
- package/dist/common/time-range-slider-time-title.js +0 -62
- package/dist/common/time-range-slider.js +0 -144
- package/dist/common/time-slider-marker.js +0 -116
- package/dist/common/timeline-helpers.js +0 -57
- package/dist/common/timeline-slider.js +0 -141
- package/dist/common/tippy-tooltip.js +0 -135
- package/dist/common/toolbar-item.js +0 -60
- package/dist/common/toolbar.js +0 -27
- package/dist/common/vertical-toolbar.js +0 -16
- package/dist/connect/keplergl-connect.js +0 -44
- package/dist/connect/with-local-selector.js +0 -86
- package/dist/container.js +0 -181
- package/dist/context.js +0 -44
- package/dist/dnd-context.js +0 -120
- package/dist/editor/editor.js +0 -201
- package/dist/editor/feature-action-panel.js +0 -148
- package/dist/effects/compact-color-picker.js +0 -111
- package/dist/effects/effect-configurator.js +0 -474
- package/dist/effects/effect-list.js +0 -130
- package/dist/effects/effect-manager.js +0 -127
- package/dist/effects/effect-panel-header.js +0 -197
- package/dist/effects/effect-panel.js +0 -87
- package/dist/effects/effect-time-configurator.js +0 -302
- package/dist/effects/effect-time-selector.js +0 -153
- package/dist/effects/effect-time-slider.js +0 -199
- package/dist/effects/effect-type-dropdown-list.js +0 -66
- package/dist/effects/effect-type-list-item.js +0 -99
- package/dist/effects/effect-type-selector.js +0 -77
- package/dist/effects/side-panel-title.js +0 -37
- package/dist/effects/surface-fog-section.js +0 -263
- package/dist/effects/timezone-selector.js +0 -58
- package/dist/filter-animation-controller.js +0 -77
- package/dist/filters/components.js +0 -14
- package/dist/filters/filter-panels/filter-panel-with-field-select.js +0 -78
- package/dist/filters/filter-panels/filter-synced-dataset-panel.js +0 -261
- package/dist/filters/filter-panels/multi-select-filter-panel.js +0 -49
- package/dist/filters/filter-panels/new-filter-panel.js +0 -67
- package/dist/filters/filter-panels/polygon-filter-panel.js +0 -68
- package/dist/filters/filter-panels/range-filter-panel.js +0 -54
- package/dist/filters/filter-panels/single-select-filter-panel.js +0 -49
- package/dist/filters/filter-panels/time-range-filter-panel.js +0 -130
- package/dist/filters/filter-panels/time-synced-field-selector.js +0 -28
- package/dist/filters/filter-panels/types.js +0 -6
- package/dist/filters/index.js +0 -63
- package/dist/filters/multi-select-filter.js +0 -31
- package/dist/filters/polygon-filter.js +0 -77
- package/dist/filters/range-filter.js +0 -35
- package/dist/filters/single-select-filter.js +0 -40
- package/dist/filters/time-range-filter.js +0 -69
- package/dist/filters/time-widget-settings.js +0 -312
- package/dist/filters/time-widget-top.js +0 -81
- package/dist/filters/time-widget.js +0 -377
- package/dist/filters/types.js +0 -6
- package/dist/geocoder/geocoder.js +0 -328
- package/dist/geocoder-panel.js +0 -174
- package/dist/hooks/use-cloud-list-provider.js +0 -47
- package/dist/hooks/use-dnd-effects.js +0 -69
- package/dist/hooks/use-dnd-layers.js +0 -80
- package/dist/hooks/use-feature-flags.js +0 -17
- package/dist/hooks/use-fetch-raster-tile-metadata.js +0 -120
- package/dist/hooks/use-fetch-vector-tile-metadata.js +0 -133
- package/dist/hooks/use-legend-position.js +0 -176
- package/dist/hooks/use-on-click-outside.js +0 -36
- package/dist/index.js +0 -2833
- package/dist/injector.js +0 -151
- package/dist/kepler-gl.js +0 -663
- package/dist/layer-animation-controller.js +0 -54
- package/dist/loading-indicator.js +0 -74
- package/dist/map/annotations/annotation-control.js +0 -56
- package/dist/map/coordinate-info.js +0 -42
- package/dist/map/effects/effect-control.js +0 -52
- package/dist/map/layer-hover-info.js +0 -283
- package/dist/map/layer-selector-panel.d.ts +0 -21
- package/dist/map/layer-selector-panel.js +0 -85
- package/dist/map/lazy-tippy.js +0 -61
- package/dist/map/locale-panel.js +0 -77
- package/dist/map/map-control-panel.js +0 -140
- package/dist/map/map-control-toolbar.js +0 -18
- package/dist/map/map-control-tooltip.js +0 -34
- package/dist/map/map-control.js +0 -80
- package/dist/map/map-draw-panel.js +0 -101
- package/dist/map/map-legend-panel.js +0 -277
- package/dist/map/map-legend.js +0 -396
- package/dist/map/map-navigation-control.js +0 -143
- package/dist/map/map-popover-content.js +0 -28
- package/dist/map/map-popover.js +0 -190
- package/dist/map/split-map-button.js +0 -65
- package/dist/map/toggle-3d-button.js +0 -60
- package/dist/map-container.js +0 -1191
- package/dist/map-view-state-context.js +0 -99
- package/dist/maps-layout.js +0 -43
- package/dist/modal-container.js +0 -457
- package/dist/modals/add-map-style-modal.js +0 -225
- package/dist/modals/cloud-components/cloud-header.js +0 -60
- package/dist/modals/cloud-components/cloud-item.js +0 -59
- package/dist/modals/cloud-components/cloud-item.spec.js +0 -92
- package/dist/modals/cloud-components/cloud-maps.js +0 -47
- package/dist/modals/cloud-components/cloud-maps.spec.js +0 -98
- package/dist/modals/cloud-components/provider-loading.d.ts +0 -2
- package/dist/modals/cloud-components/provider-loading.js +0 -20
- package/dist/modals/cloud-components/provider-select.js +0 -30
- package/dist/modals/cloud-tile.js +0 -203
- package/dist/modals/data-table-modal.js +0 -216
- package/dist/modals/delete-data-modal.js +0 -41
- package/dist/modals/error-display.js +0 -33
- package/dist/modals/export-data-modal.js +0 -164
- package/dist/modals/export-image-modal.js +0 -189
- package/dist/modals/export-map-modal/components.js +0 -34
- package/dist/modals/export-map-modal/export-html-map.js +0 -128
- package/dist/modals/export-map-modal/export-json-map.js +0 -82
- package/dist/modals/export-map-modal/export-map-modal.js +0 -84
- package/dist/modals/export-video-modal.js +0 -338
- package/dist/modals/export-video-modal.spec.js +0 -686
- package/dist/modals/fog-height-animation.js +0 -97
- package/dist/modals/hubble-utils.js +0 -197
- package/dist/modals/hubble-utils.spec.js +0 -397
- package/dist/modals/image-modal-container.js +0 -58
- package/dist/modals/load-data-modal.js +0 -98
- package/dist/modals/load-storage-map.js +0 -80
- package/dist/modals/load-storage-map.spec.js +0 -216
- package/dist/modals/loading-dialog.js +0 -37
- package/dist/modals/modal-dialog.js +0 -16
- package/dist/modals/modal-tabs.js +0 -75
- package/dist/modals/overwrite-map-modal.js +0 -84
- package/dist/modals/save-map-modal.js +0 -180
- package/dist/modals/save-map-modal.spec.js +0 -195
- package/dist/modals/share-map-modal.js +0 -169
- package/dist/modals/share-map-modal.spec.js +0 -173
- package/dist/modals/status-panel.js +0 -65
- package/dist/modals/storage-map-viewer.d.ts +0 -21
- package/dist/modals/storage-map-viewer.js +0 -98
- package/dist/modals/tilesets-modals/common.js +0 -6
- package/dist/modals/tilesets-modals/load-data-footer.js +0 -56
- package/dist/modals/tilesets-modals/load-tileset.js +0 -169
- package/dist/modals/tilesets-modals/tileset-bitmap-form.js +0 -284
- package/dist/modals/tilesets-modals/tileset-icon.js +0 -39
- package/dist/modals/tilesets-modals/tileset-raster-form.js +0 -292
- package/dist/modals/tilesets-modals/tileset-tile3d-form.js +0 -389
- package/dist/modals/tilesets-modals/tileset-vector-form.js +0 -262
- package/dist/modals/tilesets-modals/tileset-wms-form.js +0 -207
- package/dist/notification-panel/notification-item.js +0 -120
- package/dist/notification-panel.js +0 -39
- package/dist/plot-container.js +0 -312
- package/dist/side-panel/add-by-dataset-button.js +0 -129
- package/dist/side-panel/cloud-storage-dropdown.d.ts +0 -6
- package/dist/side-panel/cloud-storage-dropdown.js +0 -40
- package/dist/side-panel/common/dataset-info.js +0 -34
- package/dist/side-panel/common/dataset-tag.js +0 -62
- package/dist/side-panel/common/dataset-title.js +0 -144
- package/dist/side-panel/common/source-data-catalog.js +0 -49
- package/dist/side-panel/common/source-data-selector-content.js +0 -65
- package/dist/side-panel/common/source-data-selector.js +0 -41
- package/dist/side-panel/common/source-selector.js +0 -57
- package/dist/side-panel/common/types.js +0 -6
- package/dist/side-panel/custom-panel.js +0 -39
- package/dist/side-panel/filter-manager.js +0 -203
- package/dist/side-panel/filter-panel/add-filter-button.js +0 -27
- package/dist/side-panel/filter-panel/filter-panel-header.js +0 -68
- package/dist/side-panel/filter-panel/filter-panel.js +0 -93
- package/dist/side-panel/interaction-manager.js +0 -45
- package/dist/side-panel/interaction-panel/brush-config.js +0 -41
- package/dist/side-panel/interaction-panel/geocoder-config.js +0 -45
- package/dist/side-panel/interaction-panel/interaction-panel.js +0 -122
- package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +0 -165
- package/dist/side-panel/interaction-panel/tooltip-config.js +0 -150
- package/dist/side-panel/layer-manager.js +0 -210
- package/dist/side-panel/layer-panel/add-layer-button.js +0 -27
- package/dist/side-panel/layer-panel/aggr-scale-selector.js +0 -37
- package/dist/side-panel/layer-panel/channel-by-value-selector.js +0 -72
- package/dist/side-panel/layer-panel/color-breaks-panel.js +0 -194
- package/dist/side-panel/layer-panel/color-palette-preset.js +0 -45
- package/dist/side-panel/layer-panel/color-palette.js +0 -75
- package/dist/side-panel/layer-panel/color-range-selector.js +0 -243
- package/dist/side-panel/layer-panel/color-scale-selector.js +0 -296
- package/dist/side-panel/layer-panel/color-selector.js +0 -187
- package/dist/side-panel/layer-panel/column-selector.js +0 -60
- package/dist/side-panel/layer-panel/custom-palette.js +0 -788
- package/dist/side-panel/layer-panel/custom-picker.js +0 -84
- package/dist/side-panel/layer-panel/dataset-layer-group.js +0 -67
- package/dist/side-panel/layer-panel/dataset-layer-section.js +0 -100
- package/dist/side-panel/layer-panel/dataset-section.js +0 -74
- package/dist/side-panel/layer-panel/dimension-scale-selector.js +0 -92
- package/dist/side-panel/layer-panel/how-to-button.js +0 -27
- package/dist/side-panel/layer-panel/layer-color-selector.js +0 -106
- package/dist/side-panel/layer-panel/layer-column-config.js +0 -86
- package/dist/side-panel/layer-panel/layer-column-mode-config.js +0 -193
- package/dist/side-panel/layer-panel/layer-config-group.js +0 -144
- package/dist/side-panel/layer-panel/layer-configurator.js +0 -1026
- package/dist/side-panel/layer-panel/layer-error-message.js +0 -29
- package/dist/side-panel/layer-panel/layer-list.js +0 -172
- package/dist/side-panel/layer-panel/layer-panel-header.js +0 -312
- package/dist/side-panel/layer-panel/layer-panel.js +0 -162
- package/dist/side-panel/layer-panel/layer-type-dropdown-list.js +0 -78
- package/dist/side-panel/layer-panel/layer-type-list-item.js +0 -72
- package/dist/side-panel/layer-panel/layer-type-selector.js +0 -58
- package/dist/side-panel/layer-panel/radius-by-zoom-input.d.ts +0 -11
- package/dist/side-panel/layer-panel/radius-by-zoom-input.js +0 -220
- package/dist/side-panel/layer-panel/raster-tile-colormap-list-item.js +0 -60
- package/dist/side-panel/layer-panel/raster-tile-layer-configurator.js +0 -458
- package/dist/side-panel/layer-panel/scenegraph-model-selector.js +0 -123
- package/dist/side-panel/layer-panel/single-color-palette.js +0 -86
- package/dist/side-panel/layer-panel/text-label-panel.js +0 -174
- package/dist/side-panel/layer-panel/vector-tile-layer-configurator.js +0 -102
- package/dist/side-panel/layer-panel/vis-config-by-field-selector.js +0 -60
- package/dist/side-panel/layer-panel/vis-config-slider.js +0 -168
- package/dist/side-panel/layer-panel/vis-config-switch.js +0 -55
- package/dist/side-panel/map-manager.js +0 -102
- package/dist/side-panel/map-style-panel/map-layer-group-color-picker.js +0 -77
- package/dist/side-panel/map-style-panel/map-layer-group-item.js +0 -95
- package/dist/side-panel/map-style-panel/map-layer-selector.js +0 -74
- package/dist/side-panel/map-style-panel/map-style-selector.js +0 -97
- package/dist/side-panel/panel-header-action.js +0 -73
- package/dist/side-panel/panel-header.js +0 -310
- package/dist/side-panel/panel-tab.js +0 -55
- package/dist/side-panel/panel-title.js +0 -40
- package/dist/side-panel/panel-toggle.js +0 -48
- package/dist/side-panel/panel-view-list-toggle.js +0 -98
- package/dist/side-panel/side-bar.js +0 -127
- package/dist/side-panel.js +0 -234
- package/dist/types.js +0 -6
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
// Copyright contributors to the kepler.gl project
|
|
3
|
+
|
|
4
|
+
jest.mock('@kepler.gl/deckgl-layers', function () {
|
|
5
|
+
return {
|
|
6
|
+
drawStarsBackground: jest.fn()
|
|
7
|
+
};
|
|
8
|
+
});
|
|
9
|
+
import { drawStarsBackground } from '@kepler.gl/deckgl-layers';
|
|
10
|
+
import { compositeSwipeFrame } from './swipe-composite-utils';
|
|
11
|
+
function mockCanvas(width, height, ctx) {
|
|
12
|
+
return {
|
|
13
|
+
width: width,
|
|
14
|
+
height: height,
|
|
15
|
+
getContext: function getContext() {
|
|
16
|
+
return ctx;
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
function mockCompositeCtx() {
|
|
21
|
+
return {
|
|
22
|
+
clearRect: jest.fn(),
|
|
23
|
+
fillRect: jest.fn(),
|
|
24
|
+
drawImage: jest.fn(),
|
|
25
|
+
save: jest.fn(),
|
|
26
|
+
restore: jest.fn(),
|
|
27
|
+
beginPath: jest.fn(),
|
|
28
|
+
rect: jest.fn(),
|
|
29
|
+
clip: jest.fn(),
|
|
30
|
+
fillStyle: '',
|
|
31
|
+
strokeStyle: '',
|
|
32
|
+
lineWidth: 0,
|
|
33
|
+
shadowColor: '',
|
|
34
|
+
shadowBlur: 0,
|
|
35
|
+
moveTo: jest.fn(),
|
|
36
|
+
lineTo: jest.fn(),
|
|
37
|
+
stroke: jest.fn(),
|
|
38
|
+
arc: jest.fn(),
|
|
39
|
+
fill: jest.fn(),
|
|
40
|
+
closePath: jest.fn()
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
describe('compositeSwipeFrame', function () {
|
|
44
|
+
afterEach(function () {
|
|
45
|
+
jest.clearAllMocks();
|
|
46
|
+
});
|
|
47
|
+
test('tiles stars after the globe background color when showStars is true', function () {
|
|
48
|
+
var ctx = mockCompositeCtx();
|
|
49
|
+
var left = mockCanvas(10, 10, ctx);
|
|
50
|
+
var right = mockCanvas(10, 10, ctx);
|
|
51
|
+
var output = mockCanvas(100, 50, ctx);
|
|
52
|
+
compositeSwipeFrame(left, right, output, 50, false, 'rgb(1, 2, 3)', true);
|
|
53
|
+
expect(ctx.fillStyle).toBe('rgb(1, 2, 3)');
|
|
54
|
+
expect(ctx.fillRect).toHaveBeenCalledWith(0, 0, 100, 50);
|
|
55
|
+
expect(drawStarsBackground).toHaveBeenCalledWith(ctx, 100, 50);
|
|
56
|
+
expect(ctx.fillRect.mock.invocationCallOrder[0]).toBeLessThan(drawStarsBackground.mock.invocationCallOrder[0]);
|
|
57
|
+
});
|
|
58
|
+
test('does not draw stars when showStars is omitted', function () {
|
|
59
|
+
var ctx = mockCompositeCtx();
|
|
60
|
+
var left = mockCanvas(10, 10, ctx);
|
|
61
|
+
var right = mockCanvas(10, 10, ctx);
|
|
62
|
+
var output = mockCanvas(100, 50, ctx);
|
|
63
|
+
compositeSwipeFrame(left, right, output, 50, false, 'rgb(1, 2, 3)');
|
|
64
|
+
expect(drawStarsBackground).not.toHaveBeenCalled();
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJqZXN0IiwibW9jayIsImRyYXdTdGFyc0JhY2tncm91bmQiLCJmbiIsImNvbXBvc2l0ZVN3aXBlRnJhbWUiLCJtb2NrQ2FudmFzIiwid2lkdGgiLCJoZWlnaHQiLCJjdHgiLCJnZXRDb250ZXh0IiwibW9ja0NvbXBvc2l0ZUN0eCIsImNsZWFyUmVjdCIsImZpbGxSZWN0IiwiZHJhd0ltYWdlIiwic2F2ZSIsInJlc3RvcmUiLCJiZWdpblBhdGgiLCJyZWN0IiwiY2xpcCIsImZpbGxTdHlsZSIsInN0cm9rZVN0eWxlIiwibGluZVdpZHRoIiwic2hhZG93Q29sb3IiLCJzaGFkb3dCbHVyIiwibW92ZVRvIiwibGluZVRvIiwic3Ryb2tlIiwiYXJjIiwiZmlsbCIsImNsb3NlUGF0aCIsImRlc2NyaWJlIiwiYWZ0ZXJFYWNoIiwiY2xlYXJBbGxNb2NrcyIsInRlc3QiLCJsZWZ0IiwicmlnaHQiLCJvdXRwdXQiLCJleHBlY3QiLCJ0b0JlIiwidG9IYXZlQmVlbkNhbGxlZFdpdGgiLCJpbnZvY2F0aW9uQ2FsbE9yZGVyIiwidG9CZUxlc3NUaGFuIiwibm90IiwidG9IYXZlQmVlbkNhbGxlZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RhbHMvc3dpcGUtY29tcG9zaXRlLXV0aWxzLnNwZWMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuamVzdC5tb2NrKCdAa2VwbGVyLmdsL2RlY2tnbC1sYXllcnMnLCAoKSA9PiAoe1xuICBkcmF3U3RhcnNCYWNrZ3JvdW5kOiBqZXN0LmZuKClcbn0pKTtcblxuaW1wb3J0IHtkcmF3U3RhcnNCYWNrZ3JvdW5kfSBmcm9tICdAa2VwbGVyLmdsL2RlY2tnbC1sYXllcnMnO1xuaW1wb3J0IHtjb21wb3NpdGVTd2lwZUZyYW1lfSBmcm9tICcuL3N3aXBlLWNvbXBvc2l0ZS11dGlscyc7XG5cbmZ1bmN0aW9uIG1vY2tDYW52YXMod2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIsIGN0eDogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIHwgbnVsbCkge1xuICByZXR1cm4ge1xuICAgIHdpZHRoLFxuICAgIGhlaWdodCxcbiAgICBnZXRDb250ZXh0OiAoKSA9PiBjdHhcbiAgfSBhcyB1bmtub3duIGFzIEhUTUxDYW52YXNFbGVtZW50O1xufVxuXG5mdW5jdGlvbiBtb2NrQ29tcG9zaXRlQ3R4KCkge1xuICByZXR1cm4ge1xuICAgIGNsZWFyUmVjdDogamVzdC5mbigpLFxuICAgIGZpbGxSZWN0OiBqZXN0LmZuKCksXG4gICAgZHJhd0ltYWdlOiBqZXN0LmZuKCksXG4gICAgc2F2ZTogamVzdC5mbigpLFxuICAgIHJlc3RvcmU6IGplc3QuZm4oKSxcbiAgICBiZWdpblBhdGg6IGplc3QuZm4oKSxcbiAgICByZWN0OiBqZXN0LmZuKCksXG4gICAgY2xpcDogamVzdC5mbigpLFxuICAgIGZpbGxTdHlsZTogJycsXG4gICAgc3Ryb2tlU3R5bGU6ICcnLFxuICAgIGxpbmVXaWR0aDogMCxcbiAgICBzaGFkb3dDb2xvcjogJycsXG4gICAgc2hhZG93Qmx1cjogMCxcbiAgICBtb3ZlVG86IGplc3QuZm4oKSxcbiAgICBsaW5lVG86IGplc3QuZm4oKSxcbiAgICBzdHJva2U6IGplc3QuZm4oKSxcbiAgICBhcmM6IGplc3QuZm4oKSxcbiAgICBmaWxsOiBqZXN0LmZuKCksXG4gICAgY2xvc2VQYXRoOiBqZXN0LmZuKClcbiAgfTtcbn1cblxuZGVzY3JpYmUoJ2NvbXBvc2l0ZVN3aXBlRnJhbWUnLCAoKSA9PiB7XG4gIGFmdGVyRWFjaCgoKSA9PiB7XG4gICAgamVzdC5jbGVhckFsbE1vY2tzKCk7XG4gIH0pO1xuXG4gIHRlc3QoJ3RpbGVzIHN0YXJzIGFmdGVyIHRoZSBnbG9iZSBiYWNrZ3JvdW5kIGNvbG9yIHdoZW4gc2hvd1N0YXJzIGlzIHRydWUnLCAoKSA9PiB7XG4gICAgY29uc3QgY3R4ID0gbW9ja0NvbXBvc2l0ZUN0eCgpO1xuICAgIGNvbnN0IGxlZnQgPSBtb2NrQ2FudmFzKDEwLCAxMCwgY3R4IGFzIHVua25vd24gYXMgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKTtcbiAgICBjb25zdCByaWdodCA9IG1vY2tDYW52YXMoMTAsIDEwLCBjdHggYXMgdW5rbm93biBhcyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQpO1xuICAgIGNvbnN0IG91dHB1dCA9IG1vY2tDYW52YXMoMTAwLCA1MCwgY3R4IGFzIHVua25vd24gYXMgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKTtcblxuICAgIGNvbXBvc2l0ZVN3aXBlRnJhbWUobGVmdCwgcmlnaHQsIG91dHB1dCwgNTAsIGZhbHNlLCAncmdiKDEsIDIsIDMpJywgdHJ1ZSk7XG5cbiAgICBleHBlY3QoY3R4LmZpbGxTdHlsZSkudG9CZSgncmdiKDEsIDIsIDMpJyk7XG4gICAgZXhwZWN0KGN0eC5maWxsUmVjdCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoMCwgMCwgMTAwLCA1MCk7XG4gICAgZXhwZWN0KGRyYXdTdGFyc0JhY2tncm91bmQpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGN0eCwgMTAwLCA1MCk7XG4gICAgZXhwZWN0KGN0eC5maWxsUmVjdC5tb2NrLmludm9jYXRpb25DYWxsT3JkZXJbMF0pLnRvQmVMZXNzVGhhbihcbiAgICAgIChkcmF3U3RhcnNCYWNrZ3JvdW5kIGFzIGplc3QuTW9jaykubW9jay5pbnZvY2F0aW9uQ2FsbE9yZGVyWzBdXG4gICAgKTtcbiAgfSk7XG5cbiAgdGVzdCgnZG9lcyBub3QgZHJhdyBzdGFycyB3aGVuIHNob3dTdGFycyBpcyBvbWl0dGVkJywgKCkgPT4ge1xuICAgIGNvbnN0IGN0eCA9IG1vY2tDb21wb3NpdGVDdHgoKTtcbiAgICBjb25zdCBsZWZ0ID0gbW9ja0NhbnZhcygxMCwgMTAsIGN0eCBhcyB1bmtub3duIGFzIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCk7XG4gICAgY29uc3QgcmlnaHQgPSBtb2NrQ2FudmFzKDEwLCAxMCwgY3R4IGFzIHVua25vd24gYXMgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKTtcbiAgICBjb25zdCBvdXRwdXQgPSBtb2NrQ2FudmFzKDEwMCwgNTAsIGN0eCBhcyB1bmtub3duIGFzIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCk7XG5cbiAgICBjb21wb3NpdGVTd2lwZUZyYW1lKGxlZnQsIHJpZ2h0LCBvdXRwdXQsIDUwLCBmYWxzZSwgJ3JnYigxLCAyLCAzKScpO1xuXG4gICAgZXhwZWN0KGRyYXdTdGFyc0JhY2tncm91bmQpLm5vdC50b0hhdmVCZWVuQ2FsbGVkKCk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7O0FBRUFBLElBQUksQ0FBQ0MsSUFBSSxDQUFDLDBCQUEwQixFQUFFO0VBQUEsT0FBTztJQUMzQ0MsbUJBQW1CLEVBQUVGLElBQUksQ0FBQ0csRUFBRSxDQUFDO0VBQy9CLENBQUM7QUFBQSxDQUFDLENBQUM7QUFFSCxTQUFRRCxtQkFBbUIsUUFBTywwQkFBMEI7QUFDNUQsU0FBUUUsbUJBQW1CLFFBQU8seUJBQXlCO0FBRTNELFNBQVNDLFVBQVVBLENBQUNDLEtBQWEsRUFBRUMsTUFBYyxFQUFFQyxHQUFvQyxFQUFFO0VBQ3ZGLE9BQU87SUFDTEYsS0FBSyxFQUFMQSxLQUFLO0lBQ0xDLE1BQU0sRUFBTkEsTUFBTTtJQUNORSxVQUFVLEVBQUUsU0FBWkEsVUFBVUEsQ0FBQTtNQUFBLE9BQVFELEdBQUc7SUFBQTtFQUN2QixDQUFDO0FBQ0g7QUFFQSxTQUFTRSxnQkFBZ0JBLENBQUEsRUFBRztFQUMxQixPQUFPO0lBQ0xDLFNBQVMsRUFBRVgsSUFBSSxDQUFDRyxFQUFFLENBQUMsQ0FBQztJQUNwQlMsUUFBUSxFQUFFWixJQUFJLENBQUNHLEVBQUUsQ0FBQyxDQUFDO0lBQ25CVSxTQUFTLEVBQUViLElBQUksQ0FBQ0csRUFBRSxDQUFDLENBQUM7SUFDcEJXLElBQUksRUFBRWQsSUFBSSxDQUFDRyxFQUFFLENBQUMsQ0FBQztJQUNmWSxP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
|
|
@@ -0,0 +1,366 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
4
|
+
import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
|
|
5
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
|
|
6
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
7
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
8
|
+
// SPDX-License-Identifier: MIT
|
|
9
|
+
// Copyright contributors to the kepler.gl project
|
|
10
|
+
|
|
11
|
+
import React, { useMemo, useState } from 'react';
|
|
12
|
+
import styled, { ThemeProvider, useTheme } from 'styled-components';
|
|
13
|
+
import Slider from '../common/slider/slider';
|
|
14
|
+
import ItemSelector from '../common/item-selector/item-selector';
|
|
15
|
+
import { InputLight } from '../common/styled-components';
|
|
16
|
+
|
|
17
|
+
// --- Styled components matching the regular export video modal ---
|
|
18
|
+
|
|
19
|
+
var StyledModalTab = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n border-bottom: 1px solid ", ";\n margin-bottom: 16px;\n"])), function (props) {
|
|
20
|
+
return props.theme.borderColorLT;
|
|
21
|
+
});
|
|
22
|
+
var StyledTabItem = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n padding: 8px 16px;\n cursor: pointer;\n font-size: 14px;\n color: ", ";\n border-bottom: 2px solid transparent;\n\n &.active {\n color: ", ";\n border-bottom: 2px solid ", ";\n font-weight: 500;\n }\n\n &:hover {\n color: ", ";\n }\n"])), function (props) {
|
|
23
|
+
return props.theme.subtextColorLT;
|
|
24
|
+
}, function (props) {
|
|
25
|
+
return props.theme.textColorLT;
|
|
26
|
+
}, function (props) {
|
|
27
|
+
return props.theme.textColorLT;
|
|
28
|
+
}, function (props) {
|
|
29
|
+
return props.theme.textColorLT;
|
|
30
|
+
});
|
|
31
|
+
var InputGrid = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: grid;\n grid-template-columns: 100px 1fr;\n grid-row-gap: 12px;\n align-items: center;\n"])));
|
|
32
|
+
var StyledLabelCell = styled.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n font-size: 11px;\n font-weight: 500;\n color: ", ";\n"])), function (props) {
|
|
33
|
+
return props.theme.subtextColorLT;
|
|
34
|
+
});
|
|
35
|
+
var StyledValueCell = styled.div(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n font-size: 11px;\n color: ", ";\n"])), function (props) {
|
|
36
|
+
return props.theme.textColorLT;
|
|
37
|
+
});
|
|
38
|
+
var SliderWrapper = styled.div(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n width: 100%;\n"])));
|
|
39
|
+
var VideoLengthDisplay = styled.span(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n font-size: 11px;\n color: ", ";\n white-space: nowrap;\n margin-left: 8px;\n min-width: 42px;\n"])), function (props) {
|
|
40
|
+
return props.theme.textColorLT;
|
|
41
|
+
});
|
|
42
|
+
var SectionDivider = styled.div(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n margin: 14px 0 10px;\n padding-top: 10px;\n border-top: 1px solid ", ";\n font-size: 11px;\n font-weight: 600;\n color: ", ";\n margin-bottom: 10px;\n"])), function (props) {
|
|
43
|
+
return props.theme.borderColorLT;
|
|
44
|
+
}, function (props) {
|
|
45
|
+
return props.theme.textColorLT;
|
|
46
|
+
});
|
|
47
|
+
var SLIDER_LIGHT_OVERRIDES = {
|
|
48
|
+
sliderBarColor: '#A0A7B4',
|
|
49
|
+
sliderBarBgd: '#D3D8E0',
|
|
50
|
+
sliderBarHoverColor: '#939BA8',
|
|
51
|
+
sliderHandleColor: '#F7F7F7',
|
|
52
|
+
sliderHandleHoverColor: '#F7F7F7',
|
|
53
|
+
sliderInactiveBorderColor: '#F7F7F7',
|
|
54
|
+
sliderHandleTextColor: '#F7F7F7',
|
|
55
|
+
sliderHandleShadow: '0 2px 4px 0 rgba(0,0,0,0.20)'
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
// --- Options ---
|
|
59
|
+
|
|
60
|
+
var EASING_OPTIONS = [{
|
|
61
|
+
id: 'ease-in-out',
|
|
62
|
+
label: 'Ease In-Out'
|
|
63
|
+
}, {
|
|
64
|
+
id: 'linear',
|
|
65
|
+
label: 'Linear'
|
|
66
|
+
}];
|
|
67
|
+
var FORMAT_OPTIONS = [{
|
|
68
|
+
value: 'gif',
|
|
69
|
+
label: 'GIF'
|
|
70
|
+
}, {
|
|
71
|
+
value: 'webm',
|
|
72
|
+
label: 'WebM Video'
|
|
73
|
+
}, {
|
|
74
|
+
value: 'png',
|
|
75
|
+
label: 'PNG Sequence'
|
|
76
|
+
}, {
|
|
77
|
+
value: 'jpeg',
|
|
78
|
+
label: 'JPEG Sequence'
|
|
79
|
+
}];
|
|
80
|
+
var DEFAULT_PREVIEW_RESOLUTIONS = {
|
|
81
|
+
'16:9': '1280x720',
|
|
82
|
+
'4:3': '1280x960'
|
|
83
|
+
};
|
|
84
|
+
var RESOLUTION_OPTIONS = [{
|
|
85
|
+
value: '960x540',
|
|
86
|
+
label: 'Good (540p)',
|
|
87
|
+
aspectRatio: '16:9'
|
|
88
|
+
}, {
|
|
89
|
+
value: '1280x720',
|
|
90
|
+
label: 'High (720p)',
|
|
91
|
+
aspectRatio: '16:9'
|
|
92
|
+
}, {
|
|
93
|
+
value: '1920x1080',
|
|
94
|
+
label: 'Highest (1080p)',
|
|
95
|
+
aspectRatio: '16:9'
|
|
96
|
+
}, {
|
|
97
|
+
value: '640x480',
|
|
98
|
+
label: 'Good (480p)',
|
|
99
|
+
aspectRatio: '4:3'
|
|
100
|
+
}, {
|
|
101
|
+
value: '1280x960',
|
|
102
|
+
label: 'High (960p)',
|
|
103
|
+
aspectRatio: '4:3'
|
|
104
|
+
}, {
|
|
105
|
+
value: '1920x1440',
|
|
106
|
+
label: 'Highest (1440p)',
|
|
107
|
+
aspectRatio: '4:3'
|
|
108
|
+
}];
|
|
109
|
+
var CAMERA_PRESETS = ['None', 'Orbit (90º)', 'Orbit (180º)', 'Orbit (360º)', 'Zoom Out', 'Zoom In'];
|
|
110
|
+
|
|
111
|
+
// --- Types ---
|
|
112
|
+
|
|
113
|
+
// --- Utilities ---
|
|
114
|
+
|
|
115
|
+
function printDuration(durationMs) {
|
|
116
|
+
var seconds = Math.floor(durationMs / 1000) % 60;
|
|
117
|
+
var minutes = Math.floor(durationMs / 60000);
|
|
118
|
+
var ms = Math.floor(durationMs % 1000 / 100);
|
|
119
|
+
var hh = minutes > 0 ? "".concat(minutes, ":") : '';
|
|
120
|
+
return "".concat(hh).concat(seconds < 10 ? '0' : '').concat(seconds, ".").concat(ms);
|
|
121
|
+
}
|
|
122
|
+
function estimateFileSize(frameRate, resolution, durationMs, mediaType) {
|
|
123
|
+
var MB = 8 * 1024 * 1024;
|
|
124
|
+
var seconds = Math.floor(durationMs / 1000);
|
|
125
|
+
var COMPRESSION_RATIO = 0.8;
|
|
126
|
+
var BIT_DEPTH = 6;
|
|
127
|
+
if (mediaType === 'gif' || mediaType === 'png') {
|
|
128
|
+
return "".concat(Math.floor(resolution[0] * resolution[1] * BIT_DEPTH / MB * (frameRate * seconds) * COMPRESSION_RATIO), " MB");
|
|
129
|
+
}
|
|
130
|
+
if (mediaType === 'webm') {
|
|
131
|
+
return "".concat(Math.ceil(resolution[0] / 1280 * frameRate * seconds * 0.125), " MB");
|
|
132
|
+
}
|
|
133
|
+
if (mediaType === 'jpeg') {
|
|
134
|
+
return "".concat(Math.floor(resolution[0] * resolution[1] * BIT_DEPTH / MB * (frameRate * seconds) * 0.4), " MB");
|
|
135
|
+
}
|
|
136
|
+
return '—';
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
// --- Sub-components ---
|
|
140
|
+
|
|
141
|
+
var LightSlider = function LightSlider(props) {
|
|
142
|
+
var theme = useTheme();
|
|
143
|
+
var lightTheme = useMemo(function () {
|
|
144
|
+
return _objectSpread(_objectSpread({}, theme), SLIDER_LIGHT_OVERRIDES);
|
|
145
|
+
}, [theme]);
|
|
146
|
+
return /*#__PURE__*/React.createElement(ThemeProvider, {
|
|
147
|
+
theme: lightTheme
|
|
148
|
+
}, /*#__PURE__*/React.createElement(Slider, props));
|
|
149
|
+
};
|
|
150
|
+
var LightItemSelector = function LightItemSelector(props) {
|
|
151
|
+
return /*#__PURE__*/React.createElement(ItemSelector, _extends({}, props, {
|
|
152
|
+
inputTheme: "light"
|
|
153
|
+
}));
|
|
154
|
+
};
|
|
155
|
+
var getOptionValue = function getOptionValue(o) {
|
|
156
|
+
return o.value;
|
|
157
|
+
};
|
|
158
|
+
var displayOption = function displayOption(o) {
|
|
159
|
+
return o.label;
|
|
160
|
+
};
|
|
161
|
+
|
|
162
|
+
// --- Animation Tab ---
|
|
163
|
+
|
|
164
|
+
var AnimationTab = function AnimationTab(_ref) {
|
|
165
|
+
var durationMs = _ref.durationMs,
|
|
166
|
+
cameraPreset = _ref.cameraPreset,
|
|
167
|
+
swipeStartPct = _ref.swipeStartPct,
|
|
168
|
+
swipeEndPct = _ref.swipeEndPct,
|
|
169
|
+
swipeEasing = _ref.swipeEasing,
|
|
170
|
+
disabled = _ref.disabled,
|
|
171
|
+
hideSwipe = _ref.hideSwipe,
|
|
172
|
+
onChangeDuration = _ref.onChangeDuration,
|
|
173
|
+
onChangeCameraPreset = _ref.onChangeCameraPreset,
|
|
174
|
+
onChangeStartPct = _ref.onChangeStartPct,
|
|
175
|
+
onChangeEndPct = _ref.onChangeEndPct,
|
|
176
|
+
onChangeEasing = _ref.onChangeEasing;
|
|
177
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(InputGrid, null, /*#__PURE__*/React.createElement(StyledLabelCell, null, "Duration"), /*#__PURE__*/React.createElement(StyledValueCell, null, /*#__PURE__*/React.createElement(SliderWrapper, null, /*#__PURE__*/React.createElement(LightSlider, {
|
|
178
|
+
showValues: false,
|
|
179
|
+
enableBarDrag: !disabled,
|
|
180
|
+
isRanged: false,
|
|
181
|
+
value0: 100,
|
|
182
|
+
value1: durationMs,
|
|
183
|
+
step: 100,
|
|
184
|
+
minValue: 100,
|
|
185
|
+
maxValue: 10000,
|
|
186
|
+
onSlider1Change: function onSlider1Change(v) {
|
|
187
|
+
if (!disabled) onChangeDuration(v);
|
|
188
|
+
}
|
|
189
|
+
}), /*#__PURE__*/React.createElement(VideoLengthDisplay, null, printDuration(durationMs)))), /*#__PURE__*/React.createElement(StyledLabelCell, null, "Camera"), /*#__PURE__*/React.createElement(LightItemSelector, {
|
|
190
|
+
selectedItems: cameraPreset,
|
|
191
|
+
options: CAMERA_PRESETS,
|
|
192
|
+
multiSelect: false,
|
|
193
|
+
searchable: false,
|
|
194
|
+
onChange: onChangeCameraPreset,
|
|
195
|
+
disabled: disabled
|
|
196
|
+
})), !hideSwipe && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SectionDivider, null, "Swipe"), /*#__PURE__*/React.createElement(InputGrid, null, /*#__PURE__*/React.createElement(StyledLabelCell, null, "Start (", Math.round(swipeStartPct), "%)"), /*#__PURE__*/React.createElement(LightSlider, {
|
|
197
|
+
showValues: false,
|
|
198
|
+
isRanged: false,
|
|
199
|
+
value1: swipeStartPct,
|
|
200
|
+
minValue: 0,
|
|
201
|
+
maxValue: 100,
|
|
202
|
+
step: 1,
|
|
203
|
+
onSlider1Change: function onSlider1Change(v) {
|
|
204
|
+
if (!disabled) onChangeStartPct(v);
|
|
205
|
+
},
|
|
206
|
+
disabled: disabled
|
|
207
|
+
}), /*#__PURE__*/React.createElement(StyledLabelCell, null, "End (", Math.round(swipeEndPct), "%)"), /*#__PURE__*/React.createElement(LightSlider, {
|
|
208
|
+
showValues: false,
|
|
209
|
+
isRanged: false,
|
|
210
|
+
value1: swipeEndPct,
|
|
211
|
+
minValue: 0,
|
|
212
|
+
maxValue: 100,
|
|
213
|
+
step: 1,
|
|
214
|
+
onSlider1Change: function onSlider1Change(v) {
|
|
215
|
+
if (!disabled) onChangeEndPct(v);
|
|
216
|
+
},
|
|
217
|
+
disabled: disabled
|
|
218
|
+
}), /*#__PURE__*/React.createElement(StyledLabelCell, null, "Easing"), /*#__PURE__*/React.createElement(LightItemSelector, {
|
|
219
|
+
selectedItems: EASING_OPTIONS.find(function (o) {
|
|
220
|
+
return o.id === swipeEasing;
|
|
221
|
+
}) || EASING_OPTIONS[0],
|
|
222
|
+
options: EASING_OPTIONS,
|
|
223
|
+
multiSelect: false,
|
|
224
|
+
searchable: false,
|
|
225
|
+
onChange: function onChange(val) {
|
|
226
|
+
return onChangeEasing((val === null || val === void 0 ? void 0 : val.id) || val);
|
|
227
|
+
},
|
|
228
|
+
disabled: disabled,
|
|
229
|
+
getOptionValue: function getOptionValue(o) {
|
|
230
|
+
return o.id;
|
|
231
|
+
},
|
|
232
|
+
displayOption: function displayOption(o) {
|
|
233
|
+
return o.label;
|
|
234
|
+
}
|
|
235
|
+
}))));
|
|
236
|
+
};
|
|
237
|
+
|
|
238
|
+
// --- Settings Tab (identical to regular export) ---
|
|
239
|
+
|
|
240
|
+
var SettingsTab = function SettingsTab(_ref2) {
|
|
241
|
+
var fileName = _ref2.fileName,
|
|
242
|
+
mediaType = _ref2.mediaType,
|
|
243
|
+
resolution = _ref2.resolution,
|
|
244
|
+
frameRate = _ref2.frameRate,
|
|
245
|
+
durationMs = _ref2.durationMs,
|
|
246
|
+
disabled = _ref2.disabled,
|
|
247
|
+
onChangeFileName = _ref2.onChangeFileName,
|
|
248
|
+
onChangeMediaType = _ref2.onChangeMediaType,
|
|
249
|
+
onChangeResolution = _ref2.onChangeResolution;
|
|
250
|
+
var _useState = useState('16:9'),
|
|
251
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
252
|
+
aspRatio = _useState2[0],
|
|
253
|
+
setAspRatio = _useState2[1];
|
|
254
|
+
var resolutionParts = resolution.split('x').map(Number);
|
|
255
|
+
var currentResolution = [resolutionParts[0] || 1280, resolutionParts[1] || 720];
|
|
256
|
+
return /*#__PURE__*/React.createElement(InputGrid, null, /*#__PURE__*/React.createElement(StyledLabelCell, null, "File Name"), /*#__PURE__*/React.createElement(InputLight, {
|
|
257
|
+
value: fileName,
|
|
258
|
+
placeholder: "kepler.gl",
|
|
259
|
+
onChange: function onChange(e) {
|
|
260
|
+
return onChangeFileName(e.target.value);
|
|
261
|
+
},
|
|
262
|
+
disabled: disabled
|
|
263
|
+
}), /*#__PURE__*/React.createElement(StyledLabelCell, null, "Media Type"), /*#__PURE__*/React.createElement(LightItemSelector, {
|
|
264
|
+
selectedItems: FORMAT_OPTIONS.find(function (o) {
|
|
265
|
+
return o.value === mediaType;
|
|
266
|
+
}) || FORMAT_OPTIONS[0],
|
|
267
|
+
options: FORMAT_OPTIONS,
|
|
268
|
+
multiSelect: false,
|
|
269
|
+
searchable: false,
|
|
270
|
+
onChange: function onChange(val) {
|
|
271
|
+
return onChangeMediaType((val === null || val === void 0 ? void 0 : val.value) || val);
|
|
272
|
+
},
|
|
273
|
+
disabled: disabled,
|
|
274
|
+
getOptionValue: getOptionValue,
|
|
275
|
+
displayOption: displayOption
|
|
276
|
+
}), /*#__PURE__*/React.createElement(StyledLabelCell, null, "Ratio"), /*#__PURE__*/React.createElement(LightItemSelector, {
|
|
277
|
+
selectedItems: aspRatio,
|
|
278
|
+
options: ['4:3', '16:9'],
|
|
279
|
+
multiSelect: false,
|
|
280
|
+
searchable: false,
|
|
281
|
+
onChange: function onChange(ratio) {
|
|
282
|
+
setAspRatio(ratio);
|
|
283
|
+
onChangeResolution(DEFAULT_PREVIEW_RESOLUTIONS[ratio]);
|
|
284
|
+
},
|
|
285
|
+
disabled: disabled
|
|
286
|
+
}), /*#__PURE__*/React.createElement(StyledLabelCell, null, "Quality"), /*#__PURE__*/React.createElement(LightItemSelector, {
|
|
287
|
+
selectedItems: RESOLUTION_OPTIONS.find(function (o) {
|
|
288
|
+
return o.value === resolution;
|
|
289
|
+
}) || RESOLUTION_OPTIONS[1],
|
|
290
|
+
options: RESOLUTION_OPTIONS.filter(function (o) {
|
|
291
|
+
return o.aspectRatio === aspRatio;
|
|
292
|
+
}),
|
|
293
|
+
multiSelect: false,
|
|
294
|
+
searchable: false,
|
|
295
|
+
onChange: function onChange(val) {
|
|
296
|
+
return onChangeResolution((val === null || val === void 0 ? void 0 : val.value) || val);
|
|
297
|
+
},
|
|
298
|
+
disabled: disabled,
|
|
299
|
+
getOptionValue: getOptionValue,
|
|
300
|
+
displayOption: displayOption
|
|
301
|
+
}), /*#__PURE__*/React.createElement(StyledLabelCell, null, "File Size"), /*#__PURE__*/React.createElement(StyledValueCell, null, "Approx. ", estimateFileSize(frameRate, currentResolution, durationMs, mediaType)));
|
|
302
|
+
};
|
|
303
|
+
|
|
304
|
+
// --- Main Component ---
|
|
305
|
+
|
|
306
|
+
var SwipeExportSettings = function SwipeExportSettings(_ref3) {
|
|
307
|
+
var durationMs = _ref3.durationMs,
|
|
308
|
+
mediaType = _ref3.mediaType,
|
|
309
|
+
resolution = _ref3.resolution,
|
|
310
|
+
fileName = _ref3.fileName,
|
|
311
|
+
cameraPreset = _ref3.cameraPreset,
|
|
312
|
+
frameRate = _ref3.frameRate,
|
|
313
|
+
onChangeDuration = _ref3.onChangeDuration,
|
|
314
|
+
onChangeMediaType = _ref3.onChangeMediaType,
|
|
315
|
+
onChangeResolution = _ref3.onChangeResolution,
|
|
316
|
+
onChangeFileName = _ref3.onChangeFileName,
|
|
317
|
+
onChangeCameraPreset = _ref3.onChangeCameraPreset,
|
|
318
|
+
swipeStartPct = _ref3.swipeStartPct,
|
|
319
|
+
swipeEndPct = _ref3.swipeEndPct,
|
|
320
|
+
swipeEasing = _ref3.swipeEasing,
|
|
321
|
+
disabled = _ref3.disabled,
|
|
322
|
+
onChangeStartPct = _ref3.onChangeStartPct,
|
|
323
|
+
onChangeEndPct = _ref3.onChangeEndPct,
|
|
324
|
+
onChangeEasing = _ref3.onChangeEasing,
|
|
325
|
+
hideSwipe = _ref3.hideSwipe;
|
|
326
|
+
var _useState3 = useState('animation'),
|
|
327
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
328
|
+
activeTab = _useState4[0],
|
|
329
|
+
setActiveTab = _useState4[1];
|
|
330
|
+
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(StyledModalTab, null, /*#__PURE__*/React.createElement(StyledTabItem, {
|
|
331
|
+
className: activeTab === 'animation' ? 'active' : '',
|
|
332
|
+
onClick: function onClick() {
|
|
333
|
+
return setActiveTab('animation');
|
|
334
|
+
}
|
|
335
|
+
}, "Animation"), /*#__PURE__*/React.createElement(StyledTabItem, {
|
|
336
|
+
className: activeTab === 'settings' ? 'active' : '',
|
|
337
|
+
onClick: function onClick() {
|
|
338
|
+
return setActiveTab('settings');
|
|
339
|
+
}
|
|
340
|
+
}, "Settings")), activeTab === 'animation' && /*#__PURE__*/React.createElement(AnimationTab, {
|
|
341
|
+
durationMs: durationMs,
|
|
342
|
+
cameraPreset: cameraPreset,
|
|
343
|
+
swipeStartPct: swipeStartPct,
|
|
344
|
+
swipeEndPct: swipeEndPct,
|
|
345
|
+
swipeEasing: swipeEasing,
|
|
346
|
+
disabled: disabled,
|
|
347
|
+
hideSwipe: hideSwipe,
|
|
348
|
+
onChangeDuration: onChangeDuration,
|
|
349
|
+
onChangeCameraPreset: onChangeCameraPreset,
|
|
350
|
+
onChangeStartPct: onChangeStartPct,
|
|
351
|
+
onChangeEndPct: onChangeEndPct,
|
|
352
|
+
onChangeEasing: onChangeEasing
|
|
353
|
+
}), activeTab === 'settings' && /*#__PURE__*/React.createElement(SettingsTab, {
|
|
354
|
+
fileName: fileName,
|
|
355
|
+
mediaType: mediaType,
|
|
356
|
+
resolution: resolution,
|
|
357
|
+
frameRate: frameRate,
|
|
358
|
+
durationMs: durationMs,
|
|
359
|
+
disabled: disabled,
|
|
360
|
+
onChangeFileName: onChangeFileName,
|
|
361
|
+
onChangeMediaType: onChangeMediaType,
|
|
362
|
+
onChangeResolution: onChangeResolution
|
|
363
|
+
}));
|
|
364
|
+
};
|
|
365
|
+
export default SwipeExportSettings;
|
|
366
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsInN0eWxlZCIsIlRoZW1lUHJvdmlkZXIiLCJ1c2VUaGVtZSIsIlNsaWRlciIsIkl0ZW1TZWxlY3RvciIsIklucHV0TGlnaHQiLCJTdHlsZWRNb2RhbFRhYiIsImRpdiIsIl90ZW1wbGF0ZU9iamVjdCIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwiLCJwcm9wcyIsInRoZW1lIiwiYm9yZGVyQ29sb3JMVCIsIlN0eWxlZFRhYkl0ZW0iLCJfdGVtcGxhdGVPYmplY3QyIiwic3VidGV4dENvbG9yTFQiLCJ0ZXh0Q29sb3JMVCIsIklucHV0R3JpZCIsIl90ZW1wbGF0ZU9iamVjdDMiLCJTdHlsZWRMYWJlbENlbGwiLCJfdGVtcGxhdGVPYmplY3Q0IiwiU3R5bGVkVmFsdWVDZWxsIiwiX3RlbXBsYXRlT2JqZWN0NSIsIlNsaWRlcldyYXBwZXIiLCJfdGVtcGxhdGVPYmplY3Q2IiwiVmlkZW9MZW5ndGhEaXNwbGF5Iiwic3BhbiIsIl90ZW1wbGF0ZU9iamVjdDciLCJTZWN0aW9uRGl2aWRlciIsIl90ZW1wbGF0ZU9iamVjdDgiLCJTTElERVJfTElHSFRfT1ZFUlJJREVTIiwic2xpZGVyQmFyQ29sb3IiLCJzbGlkZXJCYXJCZ2QiLCJzbGlkZXJCYXJIb3ZlckNvbG9yIiwic2xpZGVySGFuZGxlQ29sb3IiLCJzbGlkZXJIYW5kbGVIb3ZlckNvbG9yIiwic2xpZGVySW5hY3RpdmVCb3JkZXJDb2xvciIsInNsaWRlckhhbmRsZVRleHRDb2xvciIsInNsaWRlckhhbmRsZVNoYWRvdyIsIkVBU0lOR19PUFRJT05TIiwiaWQiLCJsYWJlbCIsIkZPUk1BVF9PUFRJT05TIiwidmFsdWUiLCJERUZBVUxUX1BSRVZJRVdfUkVTT0xVVElPTlMiLCJSRVNPTFVUSU9OX09QVElPTlMiLCJhc3BlY3RSYXRpbyIsIkNBTUVSQV9QUkVTRVRTIiwicHJpbnREdXJhdGlvbiIsImR1cmF0aW9uTXMiLCJzZWNvbmRzIiwiTWF0aCIsImZsb29yIiwibWludXRlcyIsIm1zIiwiaGgiLCJjb25jYXQiLCJlc3RpbWF0ZUZpbGVTaXplIiwiZnJhbWVSYXRlIiwicmVzb2x1dGlvbiIsIm1lZGlhVHlwZSIsIk1CIiwiQ09NUFJFU1NJT05fUkFUSU8iLCJCSVRfREVQVEgiLCJjZWlsIiwiTGlnaHRTbGlkZXIiLCJsaWdodFRoZW1lIiwiX29iamVjdFNwcmVhZCIsImNyZWF0ZUVsZW1lbnQiLCJMaWdodEl0ZW1TZWxlY3RvciIsIl9leHRlbmRzIiwiaW5wdXRUaGVtZSIsImdldE9wdGlvblZhbHVlIiwibyIsImRpc3BsYXlPcHRpb24iLCJBbmltYXRpb25UYWIiLCJfcmVmIiwiY2FtZXJhUHJlc2V0Iiwic3dpcGVTdGFydFBjdCIsInN3aXBlRW5kUGN0Iiwic3dpcGVFYXNpbmciLCJkaXNhYmxlZCIsImhpZGVTd2lwZSIsIm9uQ2hhbmdlRHVyYXRpb24iLCJvbkNoYW5nZUNhbWVyYVByZXNldCIsIm9uQ2hhbmdlU3RhcnRQY3QiLCJvbkNoYW5nZUVuZFBjdCIsIm9uQ2hhbmdlRWFzaW5nIiwiRnJhZ21lbnQiLCJzaG93VmFsdWVzIiwiZW5hYmxlQmFyRHJhZyIsImlzUmFuZ2VkIiwidmFsdWUwIiwidmFsdWUxIiwic3RlcCIsIm1pblZhbHVlIiwibWF4VmFsdWUiLCJvblNsaWRlcjFDaGFuZ2UiLCJ2Iiwic2VsZWN0ZWRJdGVtcyIsIm9wdGlvbnMiLCJtdWx0aVNlbGVjdCIsInNlYXJjaGFibGUiLCJvbkNoYW5nZSIsInJvdW5kIiwiZmluZCIsInZhbCIsIlNldHRpbmdzVGFiIiwiX3JlZjIiLCJmaWxlTmFtZSIsIm9uQ2hhbmdlRmlsZU5hbWUiLCJvbkNoYW5nZU1lZGlhVHlwZSIsIm9uQ2hhbmdlUmVzb2x1dGlvbiIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImFzcFJhdGlvIiwic2V0QXNwUmF0aW8iLCJyZXNvbHV0aW9uUGFydHMiLCJzcGxpdCIsIm1hcCIsIk51bWJlciIsImN1cnJlbnRSZXNvbHV0aW9uIiwicGxhY2Vob2xkZXIiLCJlIiwidGFyZ2V0IiwicmF0aW8iLCJmaWx0ZXIiLCJTd2lwZUV4cG9ydFNldHRpbmdzIiwiX3JlZjMiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImFjdGl2ZVRhYiIsInNldEFjdGl2ZVRhYiIsImNsYXNzTmFtZSIsIm9uQ2xpY2siXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kYWxzL3N3aXBlLWV4cG9ydC1zZXR0aW5ncy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7Q2hhbmdlRXZlbnQsIHVzZU1lbW8sIHVzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkLCB7VGhlbWVQcm92aWRlciwgdXNlVGhlbWV9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7U3dpcGVFYXNpbmd9IGZyb20gJy4vc3dpcGUtY29tcG9zaXRlLXV0aWxzJztcblxuaW1wb3J0IFNsaWRlciBmcm9tICcuLi9jb21tb24vc2xpZGVyL3NsaWRlcic7XG5pbXBvcnQgSXRlbVNlbGVjdG9yIGZyb20gJy4uL2NvbW1vbi9pdGVtLXNlbGVjdG9yL2l0ZW0tc2VsZWN0b3InO1xuaW1wb3J0IHtJbnB1dExpZ2h0fSBmcm9tICcuLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuXG4vLyAtLS0gU3R5bGVkIGNvbXBvbmVudHMgbWF0Y2hpbmcgdGhlIHJlZ3VsYXIgZXhwb3J0IHZpZGVvIG1vZGFsIC0tLVxuXG5jb25zdCBTdHlsZWRNb2RhbFRhYiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLmJvcmRlckNvbG9yTFR9O1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuYDtcblxuY29uc3QgU3R5bGVkVGFiSXRlbSA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6IDhweCAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yTFR9O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckxUfTtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JMVH07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckxUfTtcbiAgfVxuYDtcblxuY29uc3QgSW5wdXRHcmlkID0gc3R5bGVkLmRpdjx7JHJvd3M/OiBudW1iZXJ9PmBcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDBweCAxZnI7XG4gIGdyaWQtcm93LWdhcDogMTJweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IFN0eWxlZExhYmVsQ2VsbCA9IHN0eWxlZC5kaXZgXG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yTFR9O1xuYDtcblxuY29uc3QgU3R5bGVkVmFsdWVDZWxsID0gc3R5bGVkLmRpdmBcbiAgZm9udC1zaXplOiAxMXB4O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JMVH07XG5gO1xuXG5jb25zdCBTbGlkZXJXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG5gO1xuXG5jb25zdCBWaWRlb0xlbmd0aERpc3BsYXkgPSBzdHlsZWQuc3BhbmBcbiAgZm9udC1zaXplOiAxMXB4O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JMVH07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG4gIG1pbi13aWR0aDogNDJweDtcbmA7XG5cbmNvbnN0IFNlY3Rpb25EaXZpZGVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luOiAxNHB4IDAgMTBweDtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLmJvcmRlckNvbG9yTFR9O1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckxUfTtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbmA7XG5cbmNvbnN0IFNMSURFUl9MSUdIVF9PVkVSUklERVMgPSB7XG4gIHNsaWRlckJhckNvbG9yOiAnI0EwQTdCNCcsXG4gIHNsaWRlckJhckJnZDogJyNEM0Q4RTAnLFxuICBzbGlkZXJCYXJIb3ZlckNvbG9yOiAnIzkzOUJBOCcsXG4gIHNsaWRlckhhbmRsZUNvbG9yOiAnI0Y3RjdGNycsXG4gIHNsaWRlckhhbmRsZUhvdmVyQ29sb3I6ICcjRjdGN0Y3JyxcbiAgc2xpZGVySW5hY3RpdmVCb3JkZXJDb2xvcjogJyNGN0Y3RjcnLFxuICBzbGlkZXJIYW5kbGVUZXh0Q29sb3I6ICcjRjdGN0Y3JyxcbiAgc2xpZGVySGFuZGxlU2hhZG93OiAnMCAycHggNHB4IDAgcmdiYSgwLDAsMCwwLjIwKSdcbn07XG5cbi8vIC0tLSBPcHRpb25zIC0tLVxuXG5jb25zdCBFQVNJTkdfT1BUSU9OUyA9IFtcbiAge2lkOiAnZWFzZS1pbi1vdXQnLCBsYWJlbDogJ0Vhc2UgSW4tT3V0J30sXG4gIHtpZDogJ2xpbmVhcicsIGxhYmVsOiAnTGluZWFyJ31cbl07XG5cbmNvbnN0IEZPUk1BVF9PUFRJT05TID0gW1xuICB7dmFsdWU6ICdnaWYnLCBsYWJlbDogJ0dJRid9LFxuICB7dmFsdWU6ICd3ZWJtJywgbGFiZWw6ICdXZWJNIFZpZGVvJ30sXG4gIHt2YWx1ZTogJ3BuZycsIGxhYmVsOiAnUE5HIFNlcXVlbmNlJ30sXG4gIHt2YWx1ZTogJ2pwZWcnLCBsYWJlbDogJ0pQRUcgU2VxdWVuY2UnfVxuXTtcblxuY29uc3QgREVGQVVMVF9QUkVWSUVXX1JFU09MVVRJT05TOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0geycxNjo5JzogJzEyODB4NzIwJywgJzQ6Myc6ICcxMjgweDk2MCd9O1xuXG5jb25zdCBSRVNPTFVUSU9OX09QVElPTlMgPSBbXG4gIHt2YWx1ZTogJzk2MHg1NDAnLCBsYWJlbDogJ0dvb2QgKDU0MHApJywgYXNwZWN0UmF0aW86ICcxNjo5J30sXG4gIHt2YWx1ZTogJzEyODB4NzIwJywgbGFiZWw6ICdIaWdoICg3MjBwKScsIGFzcGVjdFJhdGlvOiAnMTY6OSd9LFxuICB7dmFsdWU6ICcxOTIweDEwODAnLCBsYWJlbDogJ0hpZ2hlc3QgKDEwODBwKScsIGFzcGVjdFJhdGlvOiAnMTY6OSd9LFxuICB7dmFsdWU6ICc2NDB4NDgwJywgbGFiZWw6ICdHb29kICg0ODBwKScsIGFzcGVjdFJhdGlvOiAnNDozJ30sXG4gIHt2YWx1ZTogJzEyODB4OTYwJywgbGFiZWw6ICdIaWdoICg5NjBwKScsIGFzcGVjdFJhdGlvOiAnNDozJ30sXG4gIHt2YWx1ZTogJzE5MjB4MTQ0MCcsIGxhYmVsOiAnSGlnaGVzdCAoMTQ0MHApJywgYXNwZWN0UmF0aW86ICc0OjMnfVxuXTtcblxuY29uc3QgQ0FNRVJBX1BSRVNFVFMgPSBbXG4gICdOb25lJyxcbiAgJ09yYml0ICg5MMK6KScsXG4gICdPcmJpdCAoMTgwwropJyxcbiAgJ09yYml0ICgzNjDCuiknLFxuICAnWm9vbSBPdXQnLFxuICAnWm9vbSBJbidcbl07XG5cbi8vIC0tLSBUeXBlcyAtLS1cblxuZXhwb3J0IHR5cGUgU3dpcGVFeHBvcnRTZXR0aW5nc1Byb3BzID0ge1xuICBkdXJhdGlvbk1zOiBudW1iZXI7XG4gIG1lZGlhVHlwZTogc3RyaW5nO1xuICByZXNvbHV0aW9uOiBzdHJpbmc7XG4gIGZpbGVOYW1lOiBzdHJpbmc7XG4gIGNhbWVyYVByZXNldDogc3RyaW5nO1xuICBmcmFtZVJhdGU6IG51bWJlcjtcbiAgb25DaGFuZ2VEdXJhdGlvbjogKHZhbHVlOiBudW1iZXIpID0+IHZvaWQ7XG4gIG9uQ2hhbmdlTWVkaWFUeXBlOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZDtcbiAgb25DaGFuZ2VSZXNvbHV0aW9uOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZDtcbiAgb25DaGFuZ2VGaWxlTmFtZTogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIG9uQ2hhbmdlQ2FtZXJhUHJlc2V0OiAodmFsdWU6IHN0cmluZykgPT4gdm9pZDtcbiAgc3dpcGVTdGFydFBjdDogbnVtYmVyO1xuICBzd2lwZUVuZFBjdDogbnVtYmVyO1xuICBzd2lwZUVhc2luZzogU3dpcGVFYXNpbmc7XG4gIGRpc2FibGVkOiBib29sZWFuO1xuICBvbkNoYW5nZVN0YXJ0UGN0OiAodmFsdWU6IG51bWJlcikgPT4gdm9pZDtcbiAgb25DaGFuZ2VFbmRQY3Q6ICh2YWx1ZTogbnVtYmVyKSA9PiB2b2lkO1xuICBvbkNoYW5nZUVhc2luZzogKHZhbHVlOiBTd2lwZUVhc2luZykgPT4gdm9pZDtcbiAgLy8gV2hlbiB0cnVlLCBoaWRlIHRoZSBzd2lwZS1zcGVjaWZpYyBjb250cm9scyAodXNlZCBieSBzaW5nbGUtbWFwIGdsb2JlIGV4cG9ydCkuXG4gIGhpZGVTd2lwZT86IGJvb2xlYW47XG59O1xuXG4vLyAtLS0gVXRpbGl0aWVzIC0tLVxuXG5mdW5jdGlvbiBwcmludER1cmF0aW9uKGR1cmF0aW9uTXM6IG51bWJlcik6IHN0cmluZyB7XG4gIGNvbnN0IHNlY29uZHMgPSBNYXRoLmZsb29yKGR1cmF0aW9uTXMgLyAxMDAwKSAlIDYwO1xuICBjb25zdCBtaW51dGVzID0gTWF0aC5mbG9vcihkdXJhdGlvbk1zIC8gNjAwMDApO1xuICBjb25zdCBtcyA9IE1hdGguZmxvb3IoKGR1cmF0aW9uTXMgJSAxMDAwKSAvIDEwMCk7XG4gIGNvbnN0IGhoID0gbWludXRlcyA+IDAgPyBgJHttaW51dGVzfTpgIDogJyc7XG4gIHJldHVybiBgJHtoaH0ke3NlY29uZHMgPCAxMCA/ICcwJyA6ICcnfSR7c2Vjb25kc30uJHttc31gO1xufVxuXG5mdW5jdGlvbiBlc3RpbWF0ZUZpbGVTaXplKFxuICBmcmFtZVJhdGU6IG51bWJlcixcbiAgcmVzb2x1dGlvbjogW251bWJlciwgbnVtYmVyXSxcbiAgZHVyYXRpb25NczogbnVtYmVyLFxuICBtZWRpYVR5cGU6IHN0cmluZ1xuKTogc3RyaW5nIHtcbiAgY29uc3QgTUIgPSA4ICogMTAyNCAqIDEwMjQ7XG4gIGNvbnN0IHNlY29uZHMgPSBNYXRoLmZsb29yKGR1cmF0aW9uTXMgLyAxMDAwKTtcbiAgY29uc3QgQ09NUFJFU1NJT05fUkFUSU8gPSAwLjg7XG4gIGNvbnN0IEJJVF9ERVBUSCA9IDY7XG5cbiAgaWYgKG1lZGlhVHlwZSA9PT0gJ2dpZicgfHwgbWVkaWFUeXBlID09PSAncG5nJykge1xuICAgIHJldHVybiBgJHtNYXRoLmZsb29yKFxuICAgICAgKChyZXNvbHV0aW9uWzBdICogcmVzb2x1dGlvblsxXSAqIEJJVF9ERVBUSCkgLyBNQikgKiAoZnJhbWVSYXRlICogc2Vjb25kcykgKiBDT01QUkVTU0lPTl9SQVRJT1xuICAgICl9IE1CYDtcbiAgfVxuICBpZiAobWVkaWFUeXBlID09PSAnd2VibScpIHtcbiAgICByZXR1cm4gYCR7TWF0aC5jZWlsKChyZXNvbHV0aW9uWzBdIC8gMTI4MCkgKiBmcmFtZVJhdGUgKiBzZWNvbmRzICogMC4xMjUpfSBNQmA7XG4gIH1cbiAgaWYgKG1lZGlhVHlwZSA9PT0gJ2pwZWcnKSB7XG4gICAgcmV0dXJuIGAke01hdGguZmxvb3IoXG4gICAgICAoKHJlc29sdXRpb25bMF0gKiByZXNvbHV0aW9uWzFdICogQklUX0RFUFRIKSAvIE1CKSAqIChmcmFtZVJhdGUgKiBzZWNvbmRzKSAqIDAuNFxuICAgICl9IE1CYDtcbiAgfVxuICByZXR1cm4gJ+KAlCc7XG59XG5cbi8vIC0tLSBTdWItY29tcG9uZW50cyAtLS1cblxuY29uc3QgTGlnaHRTbGlkZXI6IFJlYWN0LkZDPGFueT4gPSBwcm9wcyA9PiB7XG4gIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKTtcbiAgY29uc3QgbGlnaHRUaGVtZSA9IHVzZU1lbW8oKCkgPT4gKHsuLi50aGVtZSwgLi4uU0xJREVSX0xJR0hUX09WRVJSSURFU30pLCBbdGhlbWVdKTtcbiAgcmV0dXJuIChcbiAgICA8VGhlbWVQcm92aWRlciB0aGVtZT17bGlnaHRUaGVtZX0+XG4gICAgICA8U2xpZGVyIHsuLi5wcm9wc30gLz5cbiAgICA8L1RoZW1lUHJvdmlkZXI+XG4gICk7XG59O1xuXG5jb25zdCBMaWdodEl0ZW1TZWxlY3RvcjogUmVhY3QuRkM8YW55PiA9IHByb3BzID0+IChcbiAgPEl0ZW1TZWxlY3RvciB7Li4ucHJvcHN9IGlucHV0VGhlbWU9XCJsaWdodFwiIC8+XG4pO1xuXG5jb25zdCBnZXRPcHRpb25WYWx1ZSA9IChvOiBhbnkpID0+IG8udmFsdWU7XG5jb25zdCBkaXNwbGF5T3B0aW9uID0gKG86IGFueSkgPT4gby5sYWJlbDtcblxuLy8gLS0tIEFuaW1hdGlvbiBUYWIgLS0tXG5cbmNvbnN0IEFuaW1hdGlvblRhYjogUmVhY3QuRkM8e1xuICBkdXJhdGlvbk1zOiBudW1iZXI7XG4gIGNhbWVyYVByZXNldDogc3RyaW5nO1xuICBzd2lwZVN0YXJ0UGN0OiBudW1iZXI7XG4gIHN3aXBlRW5kUGN0OiBudW1iZXI7XG4gIHN3aXBlRWFzaW5nOiBTd2lwZUVhc2luZztcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIGhpZGVTd2lwZT86IGJvb2xlYW47XG4gIG9uQ2hhbmdlRHVyYXRpb246ICh2YWx1ZTogbnVtYmVyKSA9PiB2b2lkO1xuICBvbkNoYW5nZUNhbWVyYVByZXNldDogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIG9uQ2hhbmdlU3RhcnRQY3Q6ICh2YWx1ZTogbnVtYmVyKSA9PiB2b2lkO1xuICBvbkNoYW5nZUVuZFBjdDogKHZhbHVlOiBudW1iZXIpID0+IHZvaWQ7XG4gIG9uQ2hhbmdlRWFzaW5nOiAodmFsdWU6IFN3aXBlRWFzaW5nKSA9PiB2b2lkO1xufT4gPSAoe1xuICBkdXJhdGlvbk1zLFxuICBjYW1lcmFQcmVzZXQsXG4gIHN3aXBlU3RhcnRQY3QsXG4gIHN3aXBlRW5kUGN0LFxuICBzd2lwZUVhc2luZyxcbiAgZGlzYWJsZWQsXG4gIGhpZGVTd2lwZSxcbiAgb25DaGFuZ2VEdXJhdGlvbixcbiAgb25DaGFuZ2VDYW1lcmFQcmVzZXQsXG4gIG9uQ2hhbmdlU3RhcnRQY3QsXG4gIG9uQ2hhbmdlRW5kUGN0LFxuICBvbkNoYW5nZUVhc2luZ1xufSkgPT4gKFxuICA8PlxuICAgIDxJbnB1dEdyaWQ+XG4gICAgICA8U3R5bGVkTGFiZWxDZWxsPkR1cmF0aW9uPC9TdHlsZWRMYWJlbENlbGw+XG4gICAgICA8U3R5bGVkVmFsdWVDZWxsPlxuICAgICAgICA8U2xpZGVyV3JhcHBlcj5cbiAgICAgICAgICA8TGlnaHRTbGlkZXJcbiAgICAgICAgICAgIHNob3dWYWx1ZXM9e2ZhbHNlfVxuICAgICAgICAgICAgZW5hYmxlQmFyRHJhZz17IWRpc2FibGVkfVxuICAgICAgICAgICAgaXNSYW5nZWQ9e2ZhbHNlfVxuICAgICAgICAgICAgdmFsdWUwPXsxMDB9XG4gICAgICAgICAgICB2YWx1ZTE9e2R1cmF0aW9uTXN9XG4gICAgICAgICAgICBzdGVwPXsxMDB9XG4gICAgICAgICAgICBtaW5WYWx1ZT17MTAwfVxuICAgICAgICAgICAgbWF4VmFsdWU9ezEwMDAwfVxuICAgICAgICAgICAgb25TbGlkZXIxQ2hhbmdlPXsodjogbnVtYmVyKSA9PiB7IGlmICghZGlzYWJsZWQpIG9uQ2hhbmdlRHVyYXRpb24odik7IH19XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8VmlkZW9MZW5ndGhEaXNwbGF5PntwcmludER1cmF0aW9uKGR1cmF0aW9uTXMpfTwvVmlkZW9MZW5ndGhEaXNwbGF5PlxuICAgICAgICA8L1NsaWRlcldyYXBwZXI+XG4gICAgICA8L1N0eWxlZFZhbHVlQ2VsbD5cblxuICAgICAgPFN0eWxlZExhYmVsQ2VsbD5DYW1lcmE8L1N0eWxlZExhYmVsQ2VsbD5cbiAgICAgIDxMaWdodEl0ZW1TZWxlY3RvclxuICAgICAgICBzZWxlY3RlZEl0ZW1zPXtjYW1lcmFQcmVzZXR9XG4gICAgICAgIG9wdGlvbnM9e0NBTUVSQV9QUkVTRVRTfVxuICAgICAgICBtdWx0aVNlbGVjdD17ZmFsc2V9XG4gICAgICAgIHNlYXJjaGFibGU9e2ZhbHNlfVxuICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2VDYW1lcmFQcmVzZXR9XG4gICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgIC8+XG4gICAgPC9JbnB1dEdyaWQ+XG5cbiAgICB7IWhpZGVTd2lwZSAmJiAoXG4gICAgICA8PlxuICAgICAgICA8U2VjdGlvbkRpdmlkZXI+U3dpcGU8L1NlY3Rpb25EaXZpZGVyPlxuICAgICAgICA8SW5wdXRHcmlkPlxuICAgICAgICAgIDxTdHlsZWRMYWJlbENlbGw+U3RhcnQgKHtNYXRoLnJvdW5kKHN3aXBlU3RhcnRQY3QpfSUpPC9TdHlsZWRMYWJlbENlbGw+XG4gICAgICAgICAgPExpZ2h0U2xpZGVyXG4gICAgICAgICAgICBzaG93VmFsdWVzPXtmYWxzZX1cbiAgICAgICAgICAgIGlzUmFuZ2VkPXtmYWxzZX1cbiAgICAgICAgICAgIHZhbHVlMT17c3dpcGVTdGFydFBjdH1cbiAgICAgICAgICAgIG1pblZhbHVlPXswfVxuICAgICAgICAgICAgbWF4VmFsdWU9ezEwMH1cbiAgICAgICAgICAgIHN0ZXA9ezF9XG4gICAgICAgICAgICBvblNsaWRlcjFDaGFuZ2U9eyh2OiBudW1iZXIpID0+IHsgaWYgKCFkaXNhYmxlZCkgb25DaGFuZ2VTdGFydFBjdCh2KTsgfX1cbiAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAvPlxuXG4gICAgICAgICAgPFN0eWxlZExhYmVsQ2VsbD5FbmQgKHtNYXRoLnJvdW5kKHN3aXBlRW5kUGN0KX0lKTwvU3R5bGVkTGFiZWxDZWxsPlxuICAgICAgICAgIDxMaWdodFNsaWRlclxuICAgICAgICAgICAgc2hvd1ZhbHVlcz17ZmFsc2V9XG4gICAgICAgICAgICBpc1JhbmdlZD17ZmFsc2V9XG4gICAgICAgICAgICB2YWx1ZTE9e3N3aXBlRW5kUGN0fVxuICAgICAgICAgICAgbWluVmFsdWU9ezB9XG4gICAgICAgICAgICBtYXhWYWx1ZT17MTAwfVxuICAgICAgICAgICAgc3RlcD17MX1cbiAgICAgICAgICAgIG9uU2xpZGVyMUNoYW5nZT17KHY6IG51bWJlcikgPT4geyBpZiAoIWRpc2FibGVkKSBvbkNoYW5nZUVuZFBjdCh2KTsgfX1cbiAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAvPlxuXG4gICAgICAgICAgPFN0eWxlZExhYmVsQ2VsbD5FYXNpbmc8L1N0eWxlZExhYmVsQ2VsbD5cbiAgICAgICAgICA8TGlnaHRJdGVtU2VsZWN0b3JcbiAgICAgICAgICAgIHNlbGVjdGVkSXRlbXM9e0VBU0lOR19PUFRJT05TLmZpbmQobyA9PiBvLmlkID09PSBzd2lwZUVhc2luZykgfHwgRUFTSU5HX09QVElPTlNbMF19XG4gICAgICAgICAgICBvcHRpb25zPXtFQVNJTkdfT1BUSU9OU31cbiAgICAgICAgICAgIG11bHRpU2VsZWN0PXtmYWxzZX1cbiAgICAgICAgICAgIHNlYXJjaGFibGU9e2ZhbHNlfVxuICAgICAgICAgICAgb25DaGFuZ2U9eyh2YWw6IGFueSkgPT4gb25DaGFuZ2VFYXNpbmcodmFsPy5pZCB8fCB2YWwpfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgZ2V0T3B0aW9uVmFsdWU9eyhvOiBhbnkpID0+IG8uaWR9XG4gICAgICAgICAgICBkaXNwbGF5T3B0aW9uPXsobzogYW55KSA9PiBvLmxhYmVsfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvSW5wdXRHcmlkPlxuICAgICAgPC8+XG4gICAgKX1cbiAgPC8+XG4pO1xuXG4vLyAtLS0gU2V0dGluZ3MgVGFiIChpZGVudGljYWwgdG8gcmVndWxhciBleHBvcnQpIC0tLVxuXG5jb25zdCBTZXR0aW5nc1RhYjogUmVhY3QuRkM8e1xuICBmaWxlTmFtZTogc3RyaW5nO1xuICBtZWRpYVR5cGU6IHN0cmluZztcbiAgcmVzb2x1dGlvbjogc3RyaW5nO1xuICBmcmFtZVJhdGU6IG51bWJlcjtcbiAgZHVyYXRpb25NczogbnVtYmVyO1xuICBkaXNhYmxlZDogYm9vbGVhbjtcbiAgb25DaGFuZ2VGaWxlTmFtZTogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIG9uQ2hhbmdlTWVkaWFUeXBlOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZDtcbiAgb25DaGFuZ2VSZXNvbHV0aW9uOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZDtcbn0+ID0gKHtcbiAgZmlsZU5hbWUsXG4gIG1lZGlhVHlwZSxcbiAgcmVzb2x1dGlvbixcbiAgZnJhbWVSYXRlLFxuICBkdXJhdGlvbk1zLFxuICBkaXNhYmxlZCxcbiAgb25DaGFuZ2VGaWxlTmFtZSxcbiAgb25DaGFuZ2VNZWRpYVR5cGUsXG4gIG9uQ2hhbmdlUmVzb2x1dGlvblxufSkgPT4ge1xuICBjb25zdCBbYXNwUmF0aW8sIHNldEFzcFJhdGlvXSA9IHVzZVN0YXRlPHN0cmluZz4oJzE2OjknKTtcblxuICBjb25zdCByZXNvbHV0aW9uUGFydHMgPSByZXNvbHV0aW9uLnNwbGl0KCd4JykubWFwKE51bWJlcik7XG4gIGNvbnN0IGN1cnJlbnRSZXNvbHV0aW9uOiBbbnVtYmVyLCBudW1iZXJdID0gW3Jlc29sdXRpb25QYXJ0c1swXSB8fCAxMjgwLCByZXNvbHV0aW9uUGFydHNbMV0gfHwgNzIwXTtcblxuICByZXR1cm4gKFxuICAgIDxJbnB1dEdyaWQ+XG4gICAgICA8U3R5bGVkTGFiZWxDZWxsPkZpbGUgTmFtZTwvU3R5bGVkTGFiZWxDZWxsPlxuICAgICAgPElucHV0TGlnaHRcbiAgICAgICAgdmFsdWU9e2ZpbGVOYW1lfVxuICAgICAgICBwbGFjZWhvbGRlcj1cImtlcGxlci5nbFwiXG4gICAgICAgIG9uQ2hhbmdlPXsoZTogQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IG9uQ2hhbmdlRmlsZU5hbWUoZS50YXJnZXQudmFsdWUpfVxuICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAvPlxuXG4gICAgICA8U3R5bGVkTGFiZWxDZWxsPk1lZGlhIFR5cGU8L1N0eWxlZExhYmVsQ2VsbD5cbiAgICAgIDxMaWdodEl0ZW1TZWxlY3RvclxuICAgICAgICBzZWxlY3RlZEl0ZW1zPXtGT1JNQVRfT1BUSU9OUy5maW5kKG8gPT4gby52YWx1ZSA9PT0gbWVkaWFUeXBlKSB8fCBGT1JNQVRfT1BUSU9OU1swXX1cbiAgICAgICAgb3B0aW9ucz17Rk9STUFUX09QVElPTlN9XG4gICAgICAgIG11bHRpU2VsZWN0PXtmYWxzZX1cbiAgICAgICAgc2VhcmNoYWJsZT17ZmFsc2V9XG4gICAgICAgIG9uQ2hhbmdlPXsodmFsOiBhbnkpID0+IG9uQ2hhbmdlTWVkaWFUeXBlKHZhbD8udmFsdWUgfHwgdmFsKX1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICBnZXRPcHRpb25WYWx1ZT17Z2V0T3B0aW9uVmFsdWV9XG4gICAgICAgIGRpc3BsYXlPcHRpb249e2Rpc3BsYXlPcHRpb259XG4gICAgICAvPlxuXG4gICAgICA8U3R5bGVkTGFiZWxDZWxsPlJhdGlvPC9TdHlsZWRMYWJlbENlbGw+XG4gICAgICA8TGlnaHRJdGVtU2VsZWN0b3JcbiAgICAgICAgc2VsZWN0ZWRJdGVtcz17YXNwUmF0aW99XG4gICAgICAgIG9wdGlvbnM9e1snNDozJywgJzE2OjknXX1cbiAgICAgICAgbXVsdGlTZWxlY3Q9e2ZhbHNlfVxuICAgICAgICBzZWFyY2hhYmxlPXtmYWxzZX1cbiAgICAgICAgb25DaGFuZ2U9eyhyYXRpbzogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgc2V0QXNwUmF0aW8ocmF0aW8pO1xuICAgICAgICAgIG9uQ2hhbmdlUmVzb2x1dGlvbihERUZBVUxUX1BSRVZJRVdfUkVTT0xVVElPTlNbcmF0aW9dKTtcbiAgICAgICAgfX1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgLz5cblxuICAgICAgPFN0eWxlZExhYmVsQ2VsbD5RdWFsaXR5PC9TdHlsZWRMYWJlbENlbGw+XG4gICAgICA8TGlnaHRJdGVtU2VsZWN0b3JcbiAgICAgICAgc2VsZWN0ZWRJdGVtcz17UkVTT0xVVElPTl9PUFRJT05TLmZpbmQobyA9PiBvLnZhbHVlID09PSByZXNvbHV0aW9uKSB8fCBSRVNPTFVUSU9OX09QVElPTlNbMV19XG4gICAgICAgIG9wdGlvbnM9e1JFU09MVVRJT05fT1BUSU9OUy5maWx0ZXIobyA9PiBvLmFzcGVjdFJhdGlvID09PSBhc3BSYXRpbyl9XG4gICAgICAgIG11bHRpU2VsZWN0PXtmYWxzZX1cbiAgICAgICAgc2VhcmNoYWJsZT17ZmFsc2V9XG4gICAgICAgIG9uQ2hhbmdlPXsodmFsOiBhbnkpID0+IG9uQ2hhbmdlUmVzb2x1dGlvbih2YWw/LnZhbHVlIHx8IHZhbCl9XG4gICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgZ2V0T3B0aW9uVmFsdWU9e2dldE9wdGlvblZhbHVlfVxuICAgICAgICBkaXNwbGF5T3B0aW9uPXtkaXNwbGF5T3B0aW9ufVxuICAgICAgLz5cblxuICAgICAgPFN0eWxlZExhYmVsQ2VsbD5GaWxlIFNpemU8L1N0eWxlZExhYmVsQ2VsbD5cbiAgICAgIDxTdHlsZWRWYWx1ZUNlbGw+XG4gICAgICAgIEFwcHJveC4ge2VzdGltYXRlRmlsZVNpemUoZnJhbWVSYXRlLCBjdXJyZW50UmVzb2x1dGlvbiwgZHVyYXRpb25NcywgbWVkaWFUeXBlKX1cbiAgICAgIDwvU3R5bGVkVmFsdWVDZWxsPlxuICAgIDwvSW5wdXRHcmlkPlxuICApO1xufTtcblxuLy8gLS0tIE1haW4gQ29tcG9uZW50IC0tLVxuXG50eXBlIFRhYklkID0gJ2FuaW1hdGlvbicgfCAnc2V0dGluZ3MnO1xuXG5jb25zdCBTd2lwZUV4cG9ydFNldHRpbmdzOiBSZWFjdC5GQzxTd2lwZUV4cG9ydFNldHRpbmdzUHJvcHM+ID0gKHtcbiAgZHVyYXRpb25NcyxcbiAgbWVkaWFUeXBlLFxuICByZXNvbHV0aW9uLFxuICBmaWxlTmFtZSxcbiAgY2FtZXJhUHJlc2V0LFxuICBmcmFtZVJhdGUsXG4gIG9uQ2hhbmdlRHVyYXRpb24sXG4gIG9uQ2hhbmdlTWVkaWFUeXBlLFxuICBvbkNoYW5nZVJlc29sdXRpb24sXG4gIG9uQ2hhbmdlRmlsZU5hbWUsXG4gIG9uQ2hhbmdlQ2FtZXJhUHJlc2V0LFxuICBzd2lwZVN0YXJ0UGN0LFxuICBzd2lwZUVuZFBjdCxcbiAgc3dpcGVFYXNpbmcsXG4gIGRpc2FibGVkLFxuICBvbkNoYW5nZVN0YXJ0UGN0LFxuICBvbkNoYW5nZUVuZFBjdCxcbiAgb25DaGFuZ2VFYXNpbmcsXG4gIGhpZGVTd2lwZVxufSkgPT4ge1xuICBjb25zdCBbYWN0aXZlVGFiLCBzZXRBY3RpdmVUYWJdID0gdXNlU3RhdGU8VGFiSWQ+KCdhbmltYXRpb24nKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXY+XG4gICAgICA8U3R5bGVkTW9kYWxUYWI+XG4gICAgICAgIDxTdHlsZWRUYWJJdGVtXG4gICAgICAgICAgY2xhc3NOYW1lPXthY3RpdmVUYWIgPT09ICdhbmltYXRpb24nID8gJ2FjdGl2ZScgOiAnJ31cbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRBY3RpdmVUYWIoJ2FuaW1hdGlvbicpfVxuICAgICAgICA+XG4gICAgICAgICAgQW5pbWF0aW9uXG4gICAgICAgIDwvU3R5bGVkVGFiSXRlbT5cbiAgICAgICAgPFN0eWxlZFRhYkl0ZW1cbiAgICAgICAgICBjbGFzc05hbWU9e2FjdGl2ZVRhYiA9PT0gJ3NldHRpbmdzJyA/ICdhY3RpdmUnIDogJyd9XG4gICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0QWN0aXZlVGFiKCdzZXR0aW5ncycpfVxuICAgICAgICA+XG4gICAgICAgICAgU2V0dGluZ3NcbiAgICAgICAgPC9TdHlsZWRUYWJJdGVtPlxuICAgICAgPC9TdHlsZWRNb2RhbFRhYj5cblxuICAgICAge2FjdGl2ZVRhYiA9PT0gJ2FuaW1hdGlvbicgJiYgKFxuICAgICAgICA8QW5pbWF0aW9uVGFiXG4gICAgICAgICAgZHVyYXRpb25Ncz17ZHVyYXRpb25Nc31cbiAgICAgICAgICBjYW1lcmFQcmVzZXQ9e2NhbWVyYVByZXNldH1cbiAgICAgICAgICBzd2lwZVN0YXJ0UGN0PXtzd2lwZVN0YXJ0UGN0fVxuICAgICAgICAgIHN3aXBlRW5kUGN0PXtzd2lwZUVuZFBjdH1cbiAgICAgICAgICBzd2lwZUVhc2luZz17c3dpcGVFYXNpbmd9XG4gICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgIGhpZGVTd2lwZT17aGlkZVN3aXBlfVxuICAgICAgICAgIG9uQ2hhbmdlRHVyYXRpb249e29uQ2hhbmdlRHVyYXRpb259XG4gICAgICAgICAgb25DaGFuZ2VDYW1lcmFQcmVzZXQ9e29uQ2hhbmdlQ2FtZXJhUHJlc2V0fVxuICAgICAgICAgIG9uQ2hhbmdlU3RhcnRQY3Q9e29uQ2hhbmdlU3RhcnRQY3R9XG4gICAgICAgICAgb25DaGFuZ2VFbmRQY3Q9e29uQ2hhbmdlRW5kUGN0fVxuICAgICAgICAgIG9uQ2hhbmdlRWFzaW5nPXtvbkNoYW5nZUVhc2luZ31cbiAgICAgICAgLz5cbiAgICAgICl9XG5cbiAgICAgIHthY3RpdmVUYWIgPT09ICdzZXR0aW5ncycgJiYgKFxuICAgICAgICA8U2V0dGluZ3NUYWJcbiAgICAgICAgICBmaWxlTmFtZT17ZmlsZU5hbWV9XG4gICAgICAgICAgbWVkaWFUeXBlPXttZWRpYVR5cGV9XG4gICAgICAgICAgcmVzb2x1dGlvbj17cmVzb2x1dGlvbn1cbiAgICAgICAgICBmcmFtZVJhdGU9e2ZyYW1lUmF0ZX1cbiAgICAgICAgICBkdXJhdGlvbk1zPXtkdXJhdGlvbk1zfVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICBvbkNoYW5nZUZpbGVOYW1lPXtvbkNoYW5nZUZpbGVOYW1lfVxuICAgICAgICAgIG9uQ2hhbmdlTWVkaWFUeXBlPXtvbkNoYW5nZU1lZGlhVHlwZX1cbiAgICAgICAgICBvbkNoYW5nZVJlc29sdXRpb249e29uQ2hhbmdlUmVzb2x1dGlvbn1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBTd2lwZUV4cG9ydFNldHRpbmdzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7QUFDQTs7QUFFQSxPQUFPQSxLQUFLLElBQWdCQyxPQUFPLEVBQUVDLFFBQVEsUUFBTyxPQUFPO0FBQzNELE9BQU9DLE1BQU0sSUFBR0MsYUFBYSxFQUFFQyxRQUFRLFFBQU8sbUJBQW1CO0FBR2pFLE9BQU9DLE1BQU0sTUFBTSx5QkFBeUI7QUFDNUMsT0FBT0MsWUFBWSxNQUFNLHVDQUF1QztBQUNoRSxTQUFRQyxVQUFVLFFBQU8sNkJBQTZCOztBQUV0RDs7QUFFQSxJQUFNQyxjQUFjLEdBQUdOLE1BQU0sQ0FBQ08sR0FBRyxDQUFBQyxlQUFBLEtBQUFBLGVBQUEsR0FBQUMsc0JBQUEsdUZBRUosVUFBQUMsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDQyxhQUFhO0FBQUEsRUFFOUQ7QUFFRCxJQUFNQyxhQUFhLEdBQUdiLE1BQU0sQ0FBQ08sR0FBRyxDQUFBTyxnQkFBQSxLQUFBQSxnQkFBQSxHQUFBTCxzQkFBQSwwUUFJckIsVUFBQUMsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDSSxjQUFjO0FBQUEsR0FJakMsVUFBQUwsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDSyxX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
|