@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
|
@@ -1,262 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = void 0;
|
|
9
|
-
exports.getDatasetAttributesFromVectorTile = getDatasetAttributesFromVectorTile;
|
|
10
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
12
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
14
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
-
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
16
|
-
var _commonUtils = require("@kepler.gl/common-utils");
|
|
17
|
-
var _constants = require("@kepler.gl/constants");
|
|
18
|
-
var _table = require("@kepler.gl/table");
|
|
19
|
-
var _utils = require("@kepler.gl/utils");
|
|
20
|
-
var _useFetchVectorTileMetadata = _interopRequireDefault(require("../../hooks/use-fetch-vector-tile-metadata"));
|
|
21
|
-
var _common = require("../../common");
|
|
22
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6; // SPDX-License-Identifier: MIT
|
|
23
|
-
// Copyright contributors to the kepler.gl project
|
|
24
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
25
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
26
|
-
var TilesetInputContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n grid-template-rows: repeat(4, auto);\n row-gap: 18px;\n font-size: 12px;\n"])));
|
|
27
|
-
var TilesetInputDescription = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n text-align: center;\n color: ", ";\n font-size: 11px;\n"])), function (props) {
|
|
28
|
-
return props.theme.AZURE200;
|
|
29
|
-
});
|
|
30
|
-
var ExampleUrlsContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n text-align: left;\n color: ", ";\n font-size: 11px;\n"])), function (props) {
|
|
31
|
-
return props.theme.AZURE200;
|
|
32
|
-
});
|
|
33
|
-
var ExampleTabs = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n gap: 6px;\n margin-top: 6px;\n margin-bottom: 6px;\n flex-wrap: wrap;\n"])));
|
|
34
|
-
var ExampleTab = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 3px 8px;\n border-radius: 3px;\n cursor: pointer;\n font-size: 11px;\n white-space: nowrap;\n background: ", ";\n color: ", ";\n border: 1px solid ", ";\n &:hover {\n background: ", ";\n }\n"])), function (props) {
|
|
35
|
-
return props.active ? props.theme.AZURE400 : 'transparent';
|
|
36
|
-
}, function (props) {
|
|
37
|
-
return props.active ? props.theme.WHITE : props.theme.AZURE200;
|
|
38
|
-
}, function (props) {
|
|
39
|
-
return props.theme.AZURE400;
|
|
40
|
-
}, function (props) {
|
|
41
|
-
return props.active ? props.theme.AZURE400 : props.theme.AZURE500;
|
|
42
|
-
});
|
|
43
|
-
var ExampleUrl = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n word-break: break-all;\n cursor: pointer;\n color: ", ";\n font-size: 11px;\n"])), function (props) {
|
|
44
|
-
return props.theme.AZURE200;
|
|
45
|
-
});
|
|
46
|
-
var VECTOR_TILE_EXAMPLES = [{
|
|
47
|
-
label: 'MVT',
|
|
48
|
-
name: 'USA Population',
|
|
49
|
-
url: 'https://4sq-studio-public.s3.us-west-2.amazonaws.com/vector-tile/cb_v2/{z}/{x}/{y}.pbf'
|
|
50
|
-
}, {
|
|
51
|
-
label: 'PMTiles',
|
|
52
|
-
name: 'FSQ Places',
|
|
53
|
-
url: 'https://fsq-os-places-us-east-1.s3.us-east-1.amazonaws.com/release/vector-tiles/latest/fsq-os-places.pmtiles'
|
|
54
|
-
}, {
|
|
55
|
-
label: 'PMTiles',
|
|
56
|
-
name: 'Railways',
|
|
57
|
-
url: 'https://4sq-studio-public.s3.us-west-2.amazonaws.com/pmtiles-test/161727fe-7952-4e57-aa05-850b3086b0b2.pmtiles'
|
|
58
|
-
}];
|
|
59
|
-
function getDatasetAttributesFromVectorTile(_ref) {
|
|
60
|
-
var name = _ref.name,
|
|
61
|
-
dataUrl = _ref.dataUrl,
|
|
62
|
-
metadataUrl = _ref.metadataUrl;
|
|
63
|
-
return {
|
|
64
|
-
name: name,
|
|
65
|
-
type: _constants.DatasetType.VECTOR_TILE,
|
|
66
|
-
metadata: {
|
|
67
|
-
type: _constants.REMOTE_TILE,
|
|
68
|
-
remoteTileFormat: (0, _commonUtils.isPMTilesUrl)(dataUrl) ? _constants.RemoteTileFormat.PMTILES : _constants.RemoteTileFormat.MVT,
|
|
69
|
-
tilesetDataUrl: dataUrl,
|
|
70
|
-
tilesetMetadataUrl: metadataUrl
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
var TilesetVectorForm = function TilesetVectorForm(_ref2) {
|
|
75
|
-
var setResponse = _ref2.setResponse;
|
|
76
|
-
var _useState = (0, _react.useState)(''),
|
|
77
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
78
|
-
tileName = _useState2[0],
|
|
79
|
-
setTileName = _useState2[1];
|
|
80
|
-
var _useState3 = (0, _react.useState)(''),
|
|
81
|
-
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
82
|
-
tileUrl = _useState4[0],
|
|
83
|
-
setTileUrl = _useState4[1];
|
|
84
|
-
var _useState5 = (0, _react.useState)(''),
|
|
85
|
-
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
86
|
-
metadataUrl = _useState6[0],
|
|
87
|
-
setMetadataUrl = _useState6[1];
|
|
88
|
-
var _useState7 = (0, _react.useState)(null),
|
|
89
|
-
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
90
|
-
initialFetchError = _useState8[0],
|
|
91
|
-
setInitialFetchError = _useState8[1];
|
|
92
|
-
var _useState9 = (0, _react.useState)(0),
|
|
93
|
-
_useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
|
|
94
|
-
exampleTab = _useState10[0],
|
|
95
|
-
setExampleTab = _useState10[1];
|
|
96
|
-
var onTileNameChange = (0, _react.useCallback)(function (event) {
|
|
97
|
-
event.preventDefault();
|
|
98
|
-
setTileName(event.target.value);
|
|
99
|
-
}, [setTileName]);
|
|
100
|
-
var onTileMetaUrlChange = (0, _react.useCallback)(function (event) {
|
|
101
|
-
event.preventDefault();
|
|
102
|
-
setMetadataUrl(event.target.value);
|
|
103
|
-
}, [setMetadataUrl]);
|
|
104
|
-
var onTileUrlChange = (0, _react.useCallback)( /*#__PURE__*/function () {
|
|
105
|
-
var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(event) {
|
|
106
|
-
var newTileUrl, usePMTiles, potentialMetadataUrl, resp;
|
|
107
|
-
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
108
|
-
while (1) switch (_context.prev = _context.next) {
|
|
109
|
-
case 0:
|
|
110
|
-
event.preventDefault();
|
|
111
|
-
newTileUrl = event.target.value;
|
|
112
|
-
setTileUrl(newTileUrl);
|
|
113
|
-
usePMTiles = (0, _commonUtils.isPMTilesUrl)(newTileUrl);
|
|
114
|
-
potentialMetadataUrl = usePMTiles ? newTileUrl : (0, _table.getMetaUrl)(newTileUrl);
|
|
115
|
-
if (!(!metadataUrl && potentialMetadataUrl)) {
|
|
116
|
-
_context.next = 17;
|
|
117
|
-
break;
|
|
118
|
-
}
|
|
119
|
-
if (!usePMTiles) {
|
|
120
|
-
_context.next = 10;
|
|
121
|
-
break;
|
|
122
|
-
}
|
|
123
|
-
_context.t0 = {
|
|
124
|
-
ok: true
|
|
125
|
-
};
|
|
126
|
-
_context.next = 13;
|
|
127
|
-
break;
|
|
128
|
-
case 10:
|
|
129
|
-
_context.next = 12;
|
|
130
|
-
return fetch(potentialMetadataUrl);
|
|
131
|
-
case 12:
|
|
132
|
-
_context.t0 = _context.sent;
|
|
133
|
-
case 13:
|
|
134
|
-
resp = _context.t0;
|
|
135
|
-
if (resp.ok) {
|
|
136
|
-
setInitialFetchError(null);
|
|
137
|
-
setMetadataUrl(potentialMetadataUrl);
|
|
138
|
-
} else {
|
|
139
|
-
setInitialFetchError(new Error("Metadata loading failed: ".concat(resp.status, " ").concat(resp.statusText)));
|
|
140
|
-
}
|
|
141
|
-
_context.next = 18;
|
|
142
|
-
break;
|
|
143
|
-
case 17:
|
|
144
|
-
setInitialFetchError(null);
|
|
145
|
-
case 18:
|
|
146
|
-
if (!tileName) {
|
|
147
|
-
setTileName(newTileUrl.split('/').pop() || newTileUrl);
|
|
148
|
-
}
|
|
149
|
-
case 19:
|
|
150
|
-
case "end":
|
|
151
|
-
return _context.stop();
|
|
152
|
-
}
|
|
153
|
-
}, _callee);
|
|
154
|
-
}));
|
|
155
|
-
return function (_x) {
|
|
156
|
-
return _ref3.apply(this, arguments);
|
|
157
|
-
};
|
|
158
|
-
}(), [setTileUrl, tileName, setMetadataUrl, metadataUrl]);
|
|
159
|
-
var onExampleClick = (0, _react.useCallback)(function (url, name) {
|
|
160
|
-
var usePMTiles = (0, _commonUtils.isPMTilesUrl)(url);
|
|
161
|
-
setTileUrl(url);
|
|
162
|
-
setTileName(name);
|
|
163
|
-
setInitialFetchError(null);
|
|
164
|
-
setMetadataUrl(usePMTiles ? url : (0, _table.getMetaUrl)(url));
|
|
165
|
-
}, []);
|
|
166
|
-
var process = (0, _react.useMemo)(function () {
|
|
167
|
-
return function (value) {
|
|
168
|
-
return (0, _table.parseVectorMetadata)(value, {
|
|
169
|
-
tileUrl: metadataUrl
|
|
170
|
-
});
|
|
171
|
-
};
|
|
172
|
-
}, [metadataUrl]);
|
|
173
|
-
var _useFetchVectorTileMe = (0, _useFetchVectorTileMetadata["default"])({
|
|
174
|
-
metadataUrl: metadataUrl,
|
|
175
|
-
tilesetUrl: tileUrl,
|
|
176
|
-
remoteTileFormat: (0, _commonUtils.isPMTilesUrl)(metadataUrl) ? _constants.RemoteTileFormat.PMTILES : _constants.RemoteTileFormat.MVT,
|
|
177
|
-
process: process
|
|
178
|
-
}),
|
|
179
|
-
metadata = _useFetchVectorTileMe.data,
|
|
180
|
-
loading = _useFetchVectorTileMe.loading,
|
|
181
|
-
metaError = _useFetchVectorTileMe.error;
|
|
182
|
-
|
|
183
|
-
// reset initial fetch error if the metadata is available
|
|
184
|
-
if (metadata && initialFetchError) {
|
|
185
|
-
setInitialFetchError(null);
|
|
186
|
-
}
|
|
187
|
-
(0, _react.useEffect)(function () {
|
|
188
|
-
if (tileName && tileUrl) {
|
|
189
|
-
if ((metadata === null || metadata === void 0 ? void 0 : metadata.pmtilesType) === _constants.PMTilesType.RASTER) {
|
|
190
|
-
return setResponse({
|
|
191
|
-
metadata: metadata,
|
|
192
|
-
dataset: null,
|
|
193
|
-
loading: loading,
|
|
194
|
-
error: new Error('For .pmtiles in raster format, please use the Raster Tile form.')
|
|
195
|
-
});
|
|
196
|
-
}
|
|
197
|
-
var dataset = getDatasetAttributesFromVectorTile({
|
|
198
|
-
name: tileName,
|
|
199
|
-
dataUrl: tileUrl,
|
|
200
|
-
metadataUrl: metadataUrl !== null && metadataUrl !== void 0 ? metadataUrl : undefined
|
|
201
|
-
});
|
|
202
|
-
setResponse({
|
|
203
|
-
metadata: metadata,
|
|
204
|
-
dataset: dataset,
|
|
205
|
-
loading: loading,
|
|
206
|
-
error: metaError || initialFetchError
|
|
207
|
-
});
|
|
208
|
-
} else {
|
|
209
|
-
setResponse({
|
|
210
|
-
metadata: metadata,
|
|
211
|
-
dataset: null,
|
|
212
|
-
loading: loading,
|
|
213
|
-
error: metaError || initialFetchError
|
|
214
|
-
});
|
|
215
|
-
}
|
|
216
|
-
}, [setResponse, metadata, loading, metaError, initialFetchError, tileUrl, tileName, metadataUrl]);
|
|
217
|
-
(0, _react.useEffect)(function () {
|
|
218
|
-
if (metadata) {
|
|
219
|
-
var name = metadata.name;
|
|
220
|
-
if (name) {
|
|
221
|
-
setTileName(name);
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
}, [metadata]);
|
|
225
|
-
return /*#__PURE__*/_react["default"].createElement(TilesetInputContainer, null, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("label", {
|
|
226
|
-
htmlFor: "tileset-name"
|
|
227
|
-
}, "Name"), /*#__PURE__*/_react["default"].createElement(_common.InputLight, {
|
|
228
|
-
id: "tileset-name",
|
|
229
|
-
placeholder: "Name your tileset",
|
|
230
|
-
value: tileName,
|
|
231
|
-
onChange: onTileNameChange
|
|
232
|
-
})), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("label", {
|
|
233
|
-
htmlFor: "tile-url"
|
|
234
|
-
}, "Tileset URL"), /*#__PURE__*/_react["default"].createElement(_common.InputLight, {
|
|
235
|
-
id: "tile-url",
|
|
236
|
-
placeholder: "Tileset URL",
|
|
237
|
-
value: tileUrl,
|
|
238
|
-
onChange: onTileUrlChange
|
|
239
|
-
}), /*#__PURE__*/_react["default"].createElement(TilesetInputDescription, null, "Requires {x}, {y}, {z} placeholders in URL or .pmtile extension.")), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("label", {
|
|
240
|
-
htmlFor: "tile-metadata"
|
|
241
|
-
}, "Tileset metadata URL"), /*#__PURE__*/_react["default"].createElement(_common.InputLight, {
|
|
242
|
-
id: "tile-metadata",
|
|
243
|
-
placeholder: "Tileset metadata",
|
|
244
|
-
value: metadataUrl !== null && metadataUrl !== void 0 ? metadataUrl : undefined,
|
|
245
|
-
onChange: onTileMetaUrlChange
|
|
246
|
-
}), /*#__PURE__*/_react["default"].createElement(TilesetInputDescription, null, "Optional, but recommended. Supports json, txt")), (0, _utils.getApplicationConfig)().showInlineTilesetExamples && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(TilesetInputDescription, null, "For example, try a public vector tileset:"), /*#__PURE__*/_react["default"].createElement(ExampleUrlsContainer, null, /*#__PURE__*/_react["default"].createElement(ExampleTabs, null, VECTOR_TILE_EXAMPLES.map(function (ex, i) {
|
|
247
|
-
return /*#__PURE__*/_react["default"].createElement(ExampleTab, {
|
|
248
|
-
key: "".concat(ex.label, "-").concat(ex.name),
|
|
249
|
-
active: exampleTab === i,
|
|
250
|
-
onClick: function onClick() {
|
|
251
|
-
setExampleTab(i);
|
|
252
|
-
onExampleClick(ex.url, ex.name);
|
|
253
|
-
}
|
|
254
|
-
}, ex.name);
|
|
255
|
-
})), /*#__PURE__*/_react["default"].createElement(ExampleUrl, {
|
|
256
|
-
onClick: function onClick() {
|
|
257
|
-
return onExampleClick(VECTOR_TILE_EXAMPLES[exampleTab].url, VECTOR_TILE_EXAMPLES[exampleTab].name);
|
|
258
|
-
}
|
|
259
|
-
}, VECTOR_TILE_EXAMPLES[exampleTab].url))));
|
|
260
|
-
};
|
|
261
|
-
var _default = exports["default"] = TilesetVectorForm;
|
|
262
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY29tbW9uVXRpbHMiLCJfY29uc3RhbnRzIiwiX3RhYmxlIiwiX3V0aWxzIiwiX3VzZUZldGNoVmVjdG9yVGlsZU1ldGFkYXRhIiwiX2NvbW1vbiIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfdGVtcGxhdGVPYmplY3QzIiwiX3RlbXBsYXRlT2JqZWN0NCIsIl90ZW1wbGF0ZU9iamVjdDUiLCJfdGVtcGxhdGVPYmplY3Q2IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiVGlsZXNldElucHV0Q29udGFpbmVyIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJUaWxlc2V0SW5wdXREZXNjcmlwdGlvbiIsInByb3BzIiwidGhlbWUiLCJBWlVSRTIwMCIsIkV4YW1wbGVVcmxzQ29udGFpbmVyIiwiRXhhbXBsZVRhYnMiLCJFeGFtcGxlVGFiIiwiYWN0aXZlIiwiQVpVUkU0MDAiLCJXSElURSIsIkFaVVJFNTAwIiwiRXhhbXBsZVVybCIsIlZFQ1RPUl9USUxFX0VYQU1QTEVTIiwibGFiZWwiLCJuYW1lIiwidXJsIiwiZ2V0RGF0YXNldEF0dHJpYnV0ZXNGcm9tVmVjdG9yVGlsZSIsIl9yZWYiLCJkYXRhVXJsIiwibWV0YWRhdGFVcmwiLCJ0eXBlIiwiRGF0YXNldFR5cGUiLCJWRUNUT1JfVElMRSIsIm1ldGFkYXRhIiwiUkVNT1RFX1RJTEUiLCJyZW1vdGVUaWxlRm9ybWF0IiwiaXNQTVRpbGVzVXJsIiwiUmVtb3RlVGlsZUZvcm1hdCIsIlBNVElMRVMiLCJNVlQiLCJ0aWxlc2V0RGF0YVVybCIsInRpbGVzZXRNZXRhZGF0YVVybCIsIlRpbGVzZXRWZWN0b3JGb3JtIiwiX3JlZjIiLCJzZXRSZXNwb25zZSIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInRpbGVOYW1lIiwic2V0VGlsZU5hbWUiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsInRpbGVVcmwiLCJzZXRUaWxlVXJsIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJzZXRNZXRhZGF0YVVybCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiaW5pdGlhbEZldGNoRXJyb3IiLCJzZXRJbml0aWFsRmV0Y2hFcnJvciIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUxMCIsImV4YW1wbGVUYWIiLCJzZXRFeGFtcGxlVGFiIiwib25UaWxlTmFtZUNoYW5nZSIsInVzZUNhbGxiYWNrIiwiZXZlbnQiLCJwcmV2ZW50RGVmYXVsdCIsInRhcmdldCIsInZhbHVlIiwib25UaWxlTWV0YVVybENoYW5nZSIsIm9uVGlsZVVybENoYW5nZSIsIl9yZWYzIiwiX2FzeW5jVG9HZW5lcmF0b3IyIiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJuZXdUaWxlVXJsIiwidXNlUE1UaWxlcyIsInBvdGVudGlhbE1ldGFkYXRhVXJsIiwicmVzcCIsIndyYXAiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJnZXRNZXRhVXJsIiwidDAiLCJvayIsImZldGNoIiwic2VudCIsIkVycm9yIiwiY29uY2F0Iiwic3RhdHVzIiwic3RhdHVzVGV4dCIsInNwbGl0IiwicG9wIiwic3RvcCIsIl94IiwiYXBwbHkiLCJhcmd1bWVudHMiLCJvbkV4YW1wbGVDbGljayIsInByb2Nlc3MiLCJ1c2VNZW1vIiwicGFyc2VWZWN0b3JNZXRhZGF0YSIsIl91c2VGZXRjaFZlY3RvclRpbGVNZSIsInVzZUZldGNoVmVjdG9yVGlsZU1ldGFkYXRhIiwidGlsZXNldFVybCIsImRhdGEiLCJsb2FkaW5nIiwibWV0YUVycm9yIiwiZXJyb3IiLCJ1c2VFZmZlY3QiLCJwbXRpbGVzVHlwZSIsIlBNVGlsZXNUeXBlIiwiUkFTVEVSIiwiZGF0YXNldCIsInVuZGVmaW5lZCIsImNyZWF0ZUVsZW1lbnQiLCJodG1sRm9yIiwiSW5wdXRMaWdodCIsImlkIiwicGxhY2Vob2xkZXIiLCJvbkNoYW5nZSIsImdldEFwcGxpY2F0aW9uQ29uZmlnIiwic2hvd0lubGluZVRpbGVzZXRFeGFtcGxlcyIsIm1hcCIsImV4Iiwia2V5Iiwib25DbGljayIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RhbHMvdGlsZXNldHMtbW9kYWxzL3RpbGVzZXQtdmVjdG9yLWZvcm0udHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVN0YXRlLCB1c2VNZW1vfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuaW1wb3J0IHtpc1BNVGlsZXNVcmx9IGZyb20gJ0BrZXBsZXIuZ2wvY29tbW9uLXV0aWxzJztcbmltcG9ydCB7XG4gIERhdGFzZXRUeXBlLFxuICBQTVRpbGVzVHlwZSxcbiAgUmVtb3RlVGlsZUZvcm1hdCxcbiAgVmVjdG9yVGlsZURhdGFzZXRNZXRhZGF0YSxcbiAgUkVNT1RFX1RJTEVcbn0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtUaWxlSlNPTn0gZnJvbSAnQGxvYWRlcnMuZ2wvbXZ0JztcbmltcG9ydCB7UE1UaWxlc01ldGFkYXRhfSBmcm9tICdAbG9hZGVycy5nbC9wbXRpbGVzJztcbmltcG9ydCB7Z2V0TWV0YVVybCwgcGFyc2VWZWN0b3JNZXRhZGF0YSwgVmVjdG9yVGlsZU1ldGFkYXRhfSBmcm9tICdAa2VwbGVyLmdsL3RhYmxlJztcbmltcG9ydCB7TWVyZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtnZXRBcHBsaWNhdGlvbkNvbmZpZ30gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5cbmltcG9ydCB7ZGVmYXVsdCBhcyB1c2VGZXRjaFZlY3RvclRpbGVNZXRhZGF0YX0gZnJvbSAnLi4vLi4vaG9va3MvdXNlLWZldGNoLXZlY3Rvci10aWxlLW1ldGFkYXRhJztcbmltcG9ydCB7RGF0YXNldENyZWF0aW9uQXR0cmlidXRlcywgTWV0YVJlc3BvbnNlfSBmcm9tICcuL2NvbW1vbic7XG5pbXBvcnQge0lucHV0TGlnaHR9IGZyb20gJy4uLy4uL2NvbW1vbic7XG5cbmNvbnN0IFRpbGVzZXRJbnB1dENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDQsIGF1dG8pO1xuICByb3ctZ2FwOiAxOHB4O1xuICBmb250LXNpemU6IDEycHg7XG5gO1xuXG5jb25zdCBUaWxlc2V0SW5wdXREZXNjcmlwdGlvbiA9IHN0eWxlZC5kaXZgXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuQVpVUkUyMDB9O1xuICBmb250LXNpemU6IDExcHg7XG5gO1xuXG5jb25zdCBFeGFtcGxlVXJsc0NvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLkFaVVJFMjAwfTtcbiAgZm9udC1zaXplOiAxMXB4O1xuYDtcblxuY29uc3QgRXhhbXBsZVRhYnMgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDZweDtcbiAgbWFyZ2luLXRvcDogNnB4O1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbmA7XG5cbmNvbnN0IEV4YW1wbGVUYWIgPSBzdHlsZWQuZGl2PHthY3RpdmU6IGJvb2xlYW59PmBcbiAgcGFkZGluZzogM3B4IDhweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiAocHJvcHMuYWN0aXZlID8gcHJvcHMudGhlbWUuQVpVUkU0MDAgOiAndHJhbnNwYXJlbnQnKX07XG4gIGNvbG9yOiAke3Byb3BzID0+IChwcm9wcy5hY3RpdmUgPyBwcm9wcy50aGVtZS5XSElURSA6IHByb3BzLnRoZW1lLkFaVVJFMjAwKX07XG4gIGJvcmRlcjogMXB4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuQVpVUkU0MDB9O1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IChwcm9wcy5hY3RpdmUgPyBwcm9wcy50aGVtZS5BWlVSRTQwMCA6IHByb3BzLnRoZW1lLkFaVVJFNTAwKX07XG4gIH1cbmA7XG5cbmNvbnN0IEV4YW1wbGVVcmwgPSBzdHlsZWQuZGl2YFxuICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuQVpVUkUyMDB9O1xuICBmb250LXNpemU6IDExcHg7XG5gO1xuXG5jb25zdCBWRUNUT1JfVElMRV9FWEFNUExFUyA9IFtcbiAge1xuICAgIGxhYmVsOiAnTVZUJyxcbiAgICBuYW1lOiAnVVNBIFBvcHVsYXRpb24nLFxuICAgIHVybDogJ2h0dHBzOi8vNHNxLXN0dWRpby1wdWJsaWMuczMudXMtd2VzdC0yLmFtYXpvbmF3cy5jb20vdmVjdG9yLXRpbGUvY2JfdjIve3p9L3t4fS97eX0ucGJmJ1xuICB9LFxuICB7XG4gICAgbGFiZWw6ICdQTVRpbGVzJyxcbiAgICBuYW1lOiAnRlNRIFBsYWNlcycsXG4gICAgdXJsOiAnaHR0cHM6Ly9mc3Etb3MtcGxhY2VzLXVzLWVhc3QtMS5zMy51cy1lYXN0LTEuYW1hem9uYXdzLmNvbS9yZWxlYXNlL3ZlY3Rvci10aWxlcy9sYXRlc3QvZnNxLW9zLXBsYWNlcy5wbXRpbGVzJ1xuICB9LFxuICB7XG4gICAgbGFiZWw6ICdQTVRpbGVzJyxcbiAgICBuYW1lOiAnUmFpbHdheXMnLFxuICAgIHVybDogJ2h0dHBzOi8vNHNxLXN0dWRpby1wdWJsaWMuczMudXMtd2VzdC0yLmFtYXpvbmF3cy5jb20vcG10aWxlcy10ZXN0LzE2MTcyN2ZlLTc5NTItNGU1Ny1hYTA1LTg1MGIzMDg2YjBiMi5wbXRpbGVzJ1xuICB9XG5dO1xuXG5leHBvcnQgdHlwZSBWZWN0b3JUaWxlc2V0Rm9ybURhdGEgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgZGF0YVVybDogc3RyaW5nO1xuICBtZXRhZGF0YVVybD86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFZlY3RvclRpbGVEYXRhc2V0Q3JlYXRpb25BdHRyaWJ1dGVzID0gTWVyZ2U8XG4gIERhdGFzZXRDcmVhdGlvbkF0dHJpYnV0ZXMsXG4gIHtcbiAgICBtZXRhZGF0YTogVmVjdG9yVGlsZURhdGFzZXRNZXRhZGF0YTtcbiAgfVxuPjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldERhdGFzZXRBdHRyaWJ1dGVzRnJvbVZlY3RvclRpbGUoe1xuICBuYW1lLFxuICBkYXRhVXJsLFxuICBtZXRhZGF0YVVybFxufTogVmVjdG9yVGlsZXNldEZvcm1EYXRhKTogVmVjdG9yVGlsZURhdGFzZXRDcmVhdGlvbkF0dHJpYnV0ZXMge1xuICByZXR1cm4ge1xuICAgIG5hbWUsXG4gICAgdHlwZTogRGF0YXNldFR5cGUuVkVDVE9SX1RJTEUsXG4gICAgbWV0YWRhdGE6IHtcbiAgICAgIHR5cGU6IFJFTU9URV9USUxFLFxuICAgICAgcmVtb3RlVGlsZUZvcm1hdDogaXNQTVRpbGVzVXJsKGRhdGFVcmwpID8gUmVtb3RlVGlsZUZvcm1hdC5QTVRJTEVTIDogUmVtb3RlVGlsZUZvcm1hdC5NVlQsXG4gICAgICB0aWxlc2V0RGF0YVVybDogZGF0YVVybCxcbiAgICAgIHRpbGVzZXRNZXRhZGF0YVVybDogbWV0YWRhdGFVcmxcbiAgICB9XG4gIH07XG59XG5cbnR5cGUgVGlsZXNldFZlY3RvckZvcm1Qcm9wcyA9IHtcbiAgc2V0UmVzcG9uc2U6IChyZXNwb25zZTogTWV0YVJlc3BvbnNlKSA9PiB2b2lkO1xufTtcblxuY29uc3QgVGlsZXNldFZlY3RvckZvcm06IFJlYWN0LkZDPFRpbGVzZXRWZWN0b3JGb3JtUHJvcHM+ID0gKHtzZXRSZXNwb25zZX0pID0+IHtcbiAgY29uc3QgW3RpbGVOYW1lLCBzZXRUaWxlTmFtZV0gPSB1c2VTdGF0ZTxzdHJpbmc+KCcnKTtcbiAgY29uc3QgW3RpbGVVcmwsIHNldFRpbGVVcmxdID0gdXNlU3RhdGU8c3RyaW5nPignJyk7XG4gIGNvbnN0IFttZXRhZGF0YVVybCwgc2V0TWV0YWRhdGFVcmxdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4oJycpO1xuICBjb25zdCBbaW5pdGlhbEZldGNoRXJyb3IsIHNldEluaXRpYWxGZXRjaEVycm9yXSA9IHVzZVN0YXRlPEVycm9yIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtleGFtcGxlVGFiLCBzZXRFeGFtcGxlVGFiXSA9IHVzZVN0YXRlKDApO1xuXG4gIGNvbnN0IG9uVGlsZU5hbWVDaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgc2V0VGlsZU5hbWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICB9LFxuICAgIFtzZXRUaWxlTmFtZV1cbiAgKTtcblxuICBjb25zdCBvblRpbGVNZXRhVXJsQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgKGV2ZW50OiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHNldE1ldGFkYXRhVXJsKGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gICAgfSxcbiAgICBbc2V0TWV0YWRhdGFVcmxdXG4gICk7XG5cbiAgY29uc3Qgb25UaWxlVXJsQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKGV2ZW50OiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGNvbnN0IG5ld1RpbGVVcmwgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgICBzZXRUaWxlVXJsKG5ld1RpbGVVcmwpO1xuXG4gICAgICBjb25zdCB1c2VQTVRpbGVzID0gaXNQTVRpbGVzVXJsKG5ld1RpbGVVcmwpO1xuICAgICAgY29uc3QgcG90ZW50aWFsTWV0YWRhdGFVcmwgPSB1c2VQTVRpbGVzID8gbmV3VGlsZVVybCA6IGdldE1ldGFVcmwobmV3VGlsZVVybCk7XG4gICAgICBpZiAoIW1ldGFkYXRhVXJsICYmIHBvdGVudGlhbE1ldGFkYXRhVXJsKSB7XG4gICAgICAgIC8vIGNoZWNrIGlmIFVSTCBleGlzdHMgYmVmb3JlIHNldHRpbmcgaXQgYXMgdGhlIG1ldGFkYXRhIFVSTFxuICAgICAgICAvLyBOb3RlOiBUaGUge21ldGhvZDogSEVBRH0gcmVxdWVzdCBvZnRlbiBmYWlscywgbGlrZWx5IGR1ZSB0byBpbmRpdmlkdWFsIHN0b3JhZ2Ugc2V0dGluZ3MuXG4gICAgICAgIGNvbnN0IHJlc3AgPSB1c2VQTVRpbGVzID8gKHtvazogdHJ1ZX0gYXMgUmVzcG9uc2UpIDogYXdhaXQgZmV0Y2gocG90ZW50aWFsTWV0YWRhdGFVcmwpO1xuICAgICAgICBpZiAocmVzcC5vaykge1xuICAgICAgICAgIHNldEluaXRpYWxGZXRjaEVycm9yKG51bGwpO1xuICAgICAgICAgIHNldE1ldGFkYXRhVXJsKHBvdGVudGlhbE1ldGFkYXRhVXJsKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzZXRJbml0aWFsRmV0Y2hFcnJvcihcbiAgICAgICAgICAgIG5ldyBFcnJvcihgTWV0YWRhdGEgbG9hZGluZyBmYWlsZWQ6ICR7cmVzcC5zdGF0dXN9ICR7cmVzcC5zdGF0dXNUZXh0fWApXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2V0SW5pdGlhbEZldGNoRXJyb3IobnVsbCk7XG4gICAgICB9XG4gICAgICBpZiAoIXRpbGVOYW1lKSB7XG4gICAgICAgIHNldFRpbGVOYW1lKG5ld1RpbGVVcmwuc3BsaXQoJy8nKS5wb3AoKSB8fCBuZXdUaWxlVXJsKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtzZXRUaWxlVXJsLCB0aWxlTmFtZSwgc2V0TWV0YWRhdGFVcmwsIG1ldGFkYXRhVXJsXVxuICApO1xuXG4gIGNvbnN0IG9uRXhhbXBsZUNsaWNrID0gdXNlQ2FsbGJhY2soKHVybDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCB1c2VQTVRpbGVzID0gaXNQTVRpbGVzVXJsKHVybCk7XG4gICAgc2V0VGlsZVVybCh1cmwpO1xuICAgIHNldFRpbGVOYW1lKG5hbWUpO1xuICAgIHNldEluaXRpYWxGZXRjaEVycm9yKG51bGwpO1xuICAgIHNldE1ldGFkYXRhVXJsKHVzZVBNVGlsZXMgPyB1cmwgOiBnZXRNZXRhVXJsKHVybCkpO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgcHJvY2VzcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiAodmFsdWU6IFBNVGlsZXNNZXRhZGF0YSB8IFRpbGVKU09OKSA9PlxuICAgICAgcGFyc2VWZWN0b3JNZXRhZGF0YSh2YWx1ZSwge3RpbGVVcmw6IG1ldGFkYXRhVXJsfSk7XG4gIH0sIFttZXRhZGF0YVVybF0pO1xuXG4gIGNvbnN0IHtcbiAgICBkYXRhOiBtZXRhZGF0YSxcbiAgICBsb2FkaW5nLFxuICAgIGVycm9yOiBtZXRhRXJyb3JcbiAgfSA9IHVzZUZldGNoVmVjdG9yVGlsZU1ldGFkYXRhKHtcbiAgICBtZXRhZGF0YVVybCxcbiAgICB0aWxlc2V0VXJsOiB0aWxlVXJsLFxuICAgIHJlbW90ZVRpbGVGb3JtYXQ6IGlzUE1UaWxlc1VybChtZXRhZGF0YVVybCkgPyBSZW1vdGVUaWxlRm9ybWF0LlBNVElMRVMgOiBSZW1vdGVUaWxlRm9ybWF0Lk1WVCxcbiAgICBwcm9jZXNzXG4gIH0pO1xuXG4gIC8vIHJlc2V0IGluaXRpYWwgZmV0Y2ggZXJyb3IgaWYgdGhlIG1ldGFkYXRhIGlzIGF2YWlsYWJsZVxuICBpZiAobWV0YWRhdGEgJiYgaW5pdGlhbEZldGNoRXJyb3IpIHtcbiAgICBzZXRJbml0aWFsRmV0Y2hFcnJvcihudWxsKTtcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHRpbGVOYW1lICYmIHRpbGVVcmwpIHtcbiAgICAgIGlmIChtZXRhZGF0YT8ucG10aWxlc1R5cGUgPT09IFBNVGlsZXNUeXBlLlJBU1RFUikge1xuICAgICAgICByZXR1cm4gc2V0UmVzcG9uc2Uoe1xuICAgICAgICAgIG1ldGFkYXRhLFxuICAgICAgICAgIGRhdGFzZXQ6IG51bGwsXG4gICAgICAgICAgbG9hZGluZyxcbiAgICAgICAgICBlcnJvcjogbmV3IEVycm9yKCdGb3IgLnBtdGlsZXMgaW4gcmFzdGVyIGZvcm1hdCwgcGxlYXNlIHVzZSB0aGUgUmFzdGVyIFRpbGUgZm9ybS4nKVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZGF0YXNldCA9IGdldERhdGFzZXRBdHRyaWJ1dGVzRnJvbVZlY3RvclRpbGUoe1xuICAgICAgICBuYW1lOiB0aWxlTmFtZSxcbiAgICAgICAgZGF0YVVybDogdGlsZVVybCxcbiAgICAgICAgbWV0YWRhdGFVcmw6IG1ldGFkYXRhVXJsID8/IHVuZGVmaW5lZFxuICAgICAgfSk7XG4gICAgICBzZXRSZXNwb25zZSh7XG4gICAgICAgIG1ldGFkYXRhLFxuICAgICAgICBkYXRhc2V0LFxuICAgICAgICBsb2FkaW5nLFxuICAgICAgICBlcnJvcjogbWV0YUVycm9yIHx8IGluaXRpYWxGZXRjaEVycm9yXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0UmVzcG9uc2Uoe1xuICAgICAgICBtZXRhZGF0YSxcbiAgICAgICAgZGF0YXNldDogbnVsbCxcbiAgICAgICAgbG9hZGluZyxcbiAgICAgICAgZXJyb3I6IG1ldGFFcnJvciB8fCBpbml0aWFsRmV0Y2hFcnJvclxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbXG4gICAgc2V0UmVzcG9uc2UsXG4gICAgbWV0YWRhdGEsXG4gICAgbG9hZGluZyxcbiAgICBtZXRhRXJyb3IsXG4gICAgaW5pdGlhbEZldGNoRXJyb3IsXG4gICAgdGlsZVVybCxcbiAgICB0aWxlTmFtZSxcbiAgICBtZXRhZGF0YVVybFxuICBdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChtZXRhZGF0YSkge1xuICAgICAgY29uc3QgbmFtZSA9IChtZXRhZGF0YSBhcyBWZWN0b3JUaWxlTWV0YWRhdGEpLm5hbWU7XG4gICAgICBpZiAobmFtZSkge1xuICAgICAgICBzZXRUaWxlTmFtZShuYW1lKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIFttZXRhZGF0YV0pO1xuXG4gIHJldHVybiAoXG4gICAgPFRpbGVzZXRJbnB1dENvbnRhaW5lcj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxsYWJlbCBodG1sRm9yPVwidGlsZXNldC1uYW1lXCI+TmFtZTwvbGFiZWw+XG4gICAgICAgIDxJbnB1dExpZ2h0XG4gICAgICAgICAgaWQ9XCJ0aWxlc2V0LW5hbWVcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiTmFtZSB5b3VyIHRpbGVzZXRcIlxuICAgICAgICAgIHZhbHVlPXt0aWxlTmFtZX1cbiAgICAgICAgICBvbkNoYW5nZT17b25UaWxlTmFtZUNoYW5nZX1cbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdj5cbiAgICAgICAgPGxhYmVsIGh0bWxGb3I9XCJ0aWxlLXVybFwiPlRpbGVzZXQgVVJMPC9sYWJlbD5cbiAgICAgICAgPElucHV0TGlnaHRcbiAgICAgICAgICBpZD1cInRpbGUtdXJsXCJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIlRpbGVzZXQgVVJMXCJcbiAgICAgICAgICB2YWx1ZT17dGlsZVVybH1cbiAgICAgICAgICBvbkNoYW5nZT17b25UaWxlVXJsQ2hhbmdlfVxuICAgICAgICAvPlxuICAgICAgICA8VGlsZXNldElucHV0RGVzY3JpcHRpb24+XG4gICAgICAgICAgUmVxdWlyZXMgJiMxMjM7eCYjMTI1OywgJiMxMjM7eSYjMTI1OywgJiMxMjM7eiYjMTI1OyBwbGFjZWhvbGRlcnMgaW4gVVJMIG9yIC5wbXRpbGVcbiAgICAgICAgICBleHRlbnNpb24uXG4gICAgICAgIDwvVGlsZXNldElucHV0RGVzY3JpcHRpb24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxsYWJlbCBodG1sRm9yPVwidGlsZS1tZXRhZGF0YVwiPlRpbGVzZXQgbWV0YWRhdGEgVVJMPC9sYWJlbD5cbiAgICAgICAgPElucHV0TGlnaHRcbiAgICAgICAgICBpZD1cInRpbGUtbWV0YWRhdGFcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiVGlsZXNldCBtZXRhZGF0YVwiXG4gICAgICAgICAgdmFsdWU9e21ldGFkYXRhVXJsID8/IHVuZGVmaW5lZH1cbiAgICAgICAgICBvbkNoYW5nZT17b25UaWxlTWV0YVVybENoYW5nZX1cbiAgICAgICAgLz5cbiAgICAgICAgPFRpbGVzZXRJbnB1dERlc2NyaXB0aW9uPlxuICAgICAgICAgIE9wdGlvbmFsLCBidXQgcmVjb21tZW5kZWQuIFN1cHBvcnRzIGpzb24sIHR4dFxuICAgICAgICA8L1RpbGVzZXRJbnB1dERlc2NyaXB0aW9uPlxuICAgICAgPC9kaXY+XG4gICAgICB7Z2V0QXBwbGljYXRpb25Db25maWcoKS5zaG93SW5saW5lVGlsZXNldEV4YW1wbGVzICYmIChcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8VGlsZXNldElucHV0RGVzY3JpcHRpb24+XG4gICAgICAgICAgICBGb3IgZXhhbXBsZSwgdHJ5IGEgcHVibGljIHZlY3RvciB0aWxlc2V0OlxuICAgICAgICAgIDwvVGlsZXNldElucHV0RGVzY3JpcHRpb24+XG4gICAgICAgICAgPEV4YW1wbGVVcmxzQ29udGFpbmVyPlxuICAgICAgICAgICAgPEV4YW1wbGVUYWJzPlxuICAgICAgICAgICAgICB7VkVDVE9SX1RJTEVfRVhBTVBMRVMubWFwKChleCwgaSkgPT4gKFxuICAgICAgICAgICAgICAgIDxFeGFtcGxlVGFiXG4gICAgICAgICAgICAgICAgICBrZXk9e2Ake2V4LmxhYmVsfS0ke2V4Lm5hbWV9YH1cbiAgICAgICAgICAgICAgICAgIGFjdGl2ZT17ZXhhbXBsZVRhYiA9PT0gaX1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgc2V0RXhhbXBsZVRhYihpKTtcbiAgICAgICAgICAgICAgICAgICAgb25FeGFtcGxlQ2xpY2soZXgudXJsLCBleC5uYW1lKTtcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2V4Lm5hbWV9XG4gICAgICAgICAgICAgICAgPC9FeGFtcGxlVGFiPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvRXhhbXBsZVRhYnM+XG4gICAgICAgICAgICA8RXhhbXBsZVVybFxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PlxuICAgICAgICAgICAgICAgIG9uRXhhbXBsZUNsaWNrKFxuICAgICAgICAgICAgICAgICAgVkVDVE9SX1RJTEVfRVhBTVBMRVNbZXhhbXBsZVRhYl0udXJsLFxuICAgICAgICAgICAgICAgICAgVkVDVE9SX1RJTEVfRVhBTVBMRVNbZXhhbXBsZVRhYl0ubmFtZVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7VkVDVE9SX1RJTEVfRVhBTVBMRVNbZXhhbXBsZVRhYl0udXJsfVxuICAgICAgICAgICAgPC9FeGFtcGxlVXJsPlxuICAgICAgICAgIDwvRXhhbXBsZVVybHNDb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICA8L1RpbGVzZXRJbnB1dENvbnRhaW5lcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFRpbGVzZXRWZWN0b3JGb3JtO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUVBLElBQUFHLFlBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFVBQUEsR0FBQUosT0FBQTtBQVNBLElBQUFLLE1BQUEsR0FBQUwsT0FBQTtBQUVBLElBQUFNLE1BQUEsR0FBQU4sT0FBQTtBQUVBLElBQUFPLDJCQUFBLEdBQUFMLHNCQUFBLENBQUFGLE9BQUE7QUFFQSxJQUFBUSxPQUFBLEdBQUFSLE9BQUE7QUFBd0MsSUFBQVMsZUFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQXRCeEM7QUFDQTtBQUFBLFNBQUFDLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBakIsd0JBQUFpQixDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FBQSxJQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUksVUFBQSxTQUFBSixDQUFBLGVBQUFBLENBQUEsZ0JBQUFL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
|
|
@@ -1,207 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = void 0;
|
|
9
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
10
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
11
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
12
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
14
|
-
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
15
|
-
var _commonUtils = require("@kepler.gl/common-utils");
|
|
16
|
-
var _constants = require("@kepler.gl/constants");
|
|
17
|
-
var _table = require("@kepler.gl/table");
|
|
18
|
-
var _utils = require("@kepler.gl/utils");
|
|
19
|
-
var _common = require("../../common");
|
|
20
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6; // SPDX-License-Identifier: MIT
|
|
21
|
-
// Copyright contributors to the kepler.gl project
|
|
22
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
23
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
24
|
-
var TilesetInputContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n grid-template-rows: repeat(3, auto);\n row-gap: 18px;\n font-size: 12px;\n"])));
|
|
25
|
-
var TilesetInputDescription = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n text-align: center;\n color: ", ";\n font-size: 11px;\n"])), function (props) {
|
|
26
|
-
return props.theme.AZURE200;
|
|
27
|
-
});
|
|
28
|
-
var ExampleUrlsContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n text-align: left;\n color: ", ";\n font-size: 11px;\n"])), function (props) {
|
|
29
|
-
return props.theme.AZURE200;
|
|
30
|
-
});
|
|
31
|
-
var ExampleTabs = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n gap: 6px;\n margin-top: 6px;\n margin-bottom: 6px;\n"])));
|
|
32
|
-
var ExampleTab = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 3px 8px;\n border-radius: 3px;\n cursor: pointer;\n font-size: 11px;\n white-space: nowrap;\n background: ", ";\n color: ", ";\n border: 1px solid ", ";\n\n &:hover {\n background: ", ";\n }\n"])), function (props) {
|
|
33
|
-
return props.active ? props.theme.AZURE400 : 'transparent';
|
|
34
|
-
}, function (props) {
|
|
35
|
-
return props.active ? props.theme.WHITE : props.theme.AZURE200;
|
|
36
|
-
}, function (props) {
|
|
37
|
-
return props.active ? props.theme.AZURE400 : props.theme.AZURE400;
|
|
38
|
-
}, function (props) {
|
|
39
|
-
return props.active ? props.theme.AZURE400 : props.theme.AZURE500;
|
|
40
|
-
});
|
|
41
|
-
var ExampleUrl = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n word-break: break-all;\n cursor: pointer;\n color: ", ";\n font-size: 11px;\n\n &:hover {\n color: ", ";\n }\n"])), function (props) {
|
|
42
|
-
return props.theme.AZURE200;
|
|
43
|
-
}, function (props) {
|
|
44
|
-
return props.theme.AZURE100;
|
|
45
|
-
});
|
|
46
|
-
var WMS_EXAMPLES = [{
|
|
47
|
-
label: 'OSM',
|
|
48
|
-
name: 'OpenStreetMap WMS',
|
|
49
|
-
url: 'https://ows.terrestris.de/osm/service'
|
|
50
|
-
}, {
|
|
51
|
-
label: 'NOAA Radar',
|
|
52
|
-
name: 'NOAA CONUS Radar',
|
|
53
|
-
url: 'https://opengeo.ncep.noaa.gov/geoserver/conus/conus_cref_qcd/ows'
|
|
54
|
-
}, {
|
|
55
|
-
label: 'NASA GIBS',
|
|
56
|
-
name: 'NASA GIBS',
|
|
57
|
-
url: 'https://gibs.earthdata.nasa.gov/wms/epsg4326/best/wms.cgi'
|
|
58
|
-
}];
|
|
59
|
-
var TilesetWMSForm = function TilesetWMSForm(_ref) {
|
|
60
|
-
var setResponse = _ref.setResponse;
|
|
61
|
-
var _useState = (0, _react.useState)(''),
|
|
62
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
63
|
-
layerName = _useState2[0],
|
|
64
|
-
setLayerName = _useState2[1];
|
|
65
|
-
var _useState3 = (0, _react.useState)(''),
|
|
66
|
-
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
67
|
-
wmsUrl = _useState4[0],
|
|
68
|
-
setWmsUrl = _useState4[1];
|
|
69
|
-
var _useState5 = (0, _react.useState)(false),
|
|
70
|
-
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
71
|
-
loading = _useState6[0],
|
|
72
|
-
setLoading = _useState6[1];
|
|
73
|
-
var _useState7 = (0, _react.useState)(null),
|
|
74
|
-
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
75
|
-
error = _useState8[0],
|
|
76
|
-
setError = _useState8[1];
|
|
77
|
-
var _useState9 = (0, _react.useState)(null),
|
|
78
|
-
_useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
|
|
79
|
-
wmsData = _useState10[0],
|
|
80
|
-
setWMSData = _useState10[1];
|
|
81
|
-
var _useState11 = (0, _react.useState)(0),
|
|
82
|
-
_useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
|
|
83
|
-
exampleTab = _useState12[0],
|
|
84
|
-
setExampleTab = _useState12[1];
|
|
85
|
-
var onLayerNameChange = (0, _react.useCallback)(function (event) {
|
|
86
|
-
event.preventDefault();
|
|
87
|
-
setLayerName(event.target.value);
|
|
88
|
-
}, [setLayerName]);
|
|
89
|
-
var onExampleClick = (0, _react.useCallback)(function (url, name) {
|
|
90
|
-
setWmsUrl(url);
|
|
91
|
-
setLayerName(name);
|
|
92
|
-
}, [setWmsUrl, setLayerName]);
|
|
93
|
-
var onWmsUrlChange = (0, _react.useCallback)( /*#__PURE__*/function () {
|
|
94
|
-
var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(event) {
|
|
95
|
-
var newWmsUrl, data, datasetMetadata, serviceTitle;
|
|
96
|
-
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
97
|
-
while (1) switch (_context.prev = _context.next) {
|
|
98
|
-
case 0:
|
|
99
|
-
event.preventDefault();
|
|
100
|
-
newWmsUrl = event.target.value;
|
|
101
|
-
setWmsUrl(newWmsUrl);
|
|
102
|
-
if ((0, _commonUtils.validateUrl)(newWmsUrl)) {
|
|
103
|
-
_context.next = 6;
|
|
104
|
-
break;
|
|
105
|
-
}
|
|
106
|
-
setWMSData(null);
|
|
107
|
-
return _context.abrupt("return");
|
|
108
|
-
case 6:
|
|
109
|
-
_context.prev = 6;
|
|
110
|
-
setLoading(true);
|
|
111
|
-
setError(null);
|
|
112
|
-
_context.next = 11;
|
|
113
|
-
return (0, _table.getWMSCapabilities)(newWmsUrl);
|
|
114
|
-
case 11:
|
|
115
|
-
data = _context.sent;
|
|
116
|
-
datasetMetadata = (0, _table.wmsCapabilitiesToDatasetMetadata)(data); // Extract name or title from GetCapabilities response
|
|
117
|
-
serviceTitle = (data === null || data === void 0 ? void 0 : data.title) || (data === null || data === void 0 ? void 0 : data.name);
|
|
118
|
-
if (serviceTitle && !layerName) {
|
|
119
|
-
setLayerName(serviceTitle);
|
|
120
|
-
}
|
|
121
|
-
setWMSData({
|
|
122
|
-
metadata: data,
|
|
123
|
-
layers: datasetMetadata.layers,
|
|
124
|
-
version: datasetMetadata.version
|
|
125
|
-
});
|
|
126
|
-
_context.next = 22;
|
|
127
|
-
break;
|
|
128
|
-
case 18:
|
|
129
|
-
_context.prev = 18;
|
|
130
|
-
_context.t0 = _context["catch"](6);
|
|
131
|
-
setError(_context.t0 instanceof Error ? _context.t0 : new Error('Unknown error'));
|
|
132
|
-
setWMSData(null);
|
|
133
|
-
case 22:
|
|
134
|
-
_context.prev = 22;
|
|
135
|
-
setLoading(false);
|
|
136
|
-
return _context.finish(22);
|
|
137
|
-
case 25:
|
|
138
|
-
case "end":
|
|
139
|
-
return _context.stop();
|
|
140
|
-
}
|
|
141
|
-
}, _callee, null, [[6, 18, 22, 25]]);
|
|
142
|
-
}));
|
|
143
|
-
return function (_x) {
|
|
144
|
-
return _ref2.apply(this, arguments);
|
|
145
|
-
};
|
|
146
|
-
}(), [layerName]);
|
|
147
|
-
(0, _react.useEffect)(function () {
|
|
148
|
-
if (layerName && wmsUrl) {
|
|
149
|
-
var _wmsData$metadata;
|
|
150
|
-
var dataset = {
|
|
151
|
-
name: layerName,
|
|
152
|
-
type: _constants.DatasetType.WMS_TILE,
|
|
153
|
-
metadata: {
|
|
154
|
-
type: _constants.REMOTE_TILE,
|
|
155
|
-
remoteTileFormat: _constants.RemoteTileFormat.WMS,
|
|
156
|
-
tilesetDataUrl: wmsUrl,
|
|
157
|
-
tilesetMetadataUrl: "".concat(wmsUrl, "?service=WMS&request=GetCapabilities"),
|
|
158
|
-
layers: (wmsData === null || wmsData === void 0 ? void 0 : wmsData.layers) || [],
|
|
159
|
-
version: (wmsData === null || wmsData === void 0 ? void 0 : wmsData.version) || '1.3.0'
|
|
160
|
-
}
|
|
161
|
-
};
|
|
162
|
-
setResponse({
|
|
163
|
-
metadata: (_wmsData$metadata = wmsData === null || wmsData === void 0 ? void 0 : wmsData.metadata) !== null && _wmsData$metadata !== void 0 ? _wmsData$metadata : null,
|
|
164
|
-
dataset: dataset,
|
|
165
|
-
loading: loading,
|
|
166
|
-
error: error
|
|
167
|
-
});
|
|
168
|
-
} else {
|
|
169
|
-
setResponse({
|
|
170
|
-
metadata: null,
|
|
171
|
-
dataset: null,
|
|
172
|
-
loading: loading,
|
|
173
|
-
error: error
|
|
174
|
-
});
|
|
175
|
-
}
|
|
176
|
-
}, [setResponse, layerName, wmsUrl, wmsData, loading, error]);
|
|
177
|
-
return /*#__PURE__*/_react["default"].createElement(TilesetInputContainer, null, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("label", {
|
|
178
|
-
htmlFor: "layer-name"
|
|
179
|
-
}, "Name"), /*#__PURE__*/_react["default"].createElement(_common.InputLight, {
|
|
180
|
-
id: "layer-name",
|
|
181
|
-
placeholder: "Name your WMS layer",
|
|
182
|
-
value: layerName,
|
|
183
|
-
onChange: onLayerNameChange
|
|
184
|
-
})), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("label", {
|
|
185
|
-
htmlFor: "wms-url"
|
|
186
|
-
}, "WMS URL"), /*#__PURE__*/_react["default"].createElement(_common.InputLight, {
|
|
187
|
-
id: "wms-url",
|
|
188
|
-
placeholder: "Enter WMS URL",
|
|
189
|
-
value: wmsUrl,
|
|
190
|
-
onChange: onWmsUrlChange
|
|
191
|
-
}), /*#__PURE__*/_react["default"].createElement(TilesetInputDescription, null, "Provide a valid WMS service URL.")), (0, _utils.getApplicationConfig)().showInlineTilesetExamples && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(TilesetInputDescription, null, "For example, try a public WMS URL:"), /*#__PURE__*/_react["default"].createElement(ExampleUrlsContainer, null, /*#__PURE__*/_react["default"].createElement(ExampleTabs, null, WMS_EXAMPLES.map(function (ex, i) {
|
|
192
|
-
return /*#__PURE__*/_react["default"].createElement(ExampleTab, {
|
|
193
|
-
key: ex.label,
|
|
194
|
-
active: exampleTab === i,
|
|
195
|
-
onClick: function onClick() {
|
|
196
|
-
setExampleTab(i);
|
|
197
|
-
onExampleClick(ex.url, ex.name);
|
|
198
|
-
}
|
|
199
|
-
}, ex.label);
|
|
200
|
-
})), /*#__PURE__*/_react["default"].createElement(ExampleUrl, {
|
|
201
|
-
onClick: function onClick() {
|
|
202
|
-
return onExampleClick(WMS_EXAMPLES[exampleTab].url, WMS_EXAMPLES[exampleTab].name);
|
|
203
|
-
}
|
|
204
|
-
}, WMS_EXAMPLES[exampleTab].url))));
|
|
205
|
-
};
|
|
206
|
-
var _default = exports["default"] = TilesetWMSForm;
|
|
207
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY29tbW9uVXRpbHMiLCJfY29uc3RhbnRzIiwiX3RhYmxlIiwiX3V0aWxzIiwiX2NvbW1vbiIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfdGVtcGxhdGVPYmplY3QzIiwiX3RlbXBsYXRlT2JqZWN0NCIsIl90ZW1wbGF0ZU9iamVjdDUiLCJfdGVtcGxhdGVPYmplY3Q2IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiVGlsZXNldElucHV0Q29udGFpbmVyIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJUaWxlc2V0SW5wdXREZXNjcmlwdGlvbiIsInByb3BzIiwidGhlbWUiLCJBWlVSRTIwMCIsIkV4YW1wbGVVcmxzQ29udGFpbmVyIiwiRXhhbXBsZVRhYnMiLCJFeGFtcGxlVGFiIiwiYWN0aXZlIiwiQVpVUkU0MDAiLCJXSElURSIsIkFaVVJFNTAwIiwiRXhhbXBsZVVybCIsIkFaVVJFMTAwIiwiV01TX0VYQU1QTEVTIiwibGFiZWwiLCJuYW1lIiwidXJsIiwiVGlsZXNldFdNU0Zvcm0iLCJfcmVmIiwic2V0UmVzcG9uc2UiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJsYXllck5hbWUiLCJzZXRMYXllck5hbWUiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsIndtc1VybCIsInNldFdtc1VybCIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwibG9hZGluZyIsInNldExvYWRpbmciLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsImVycm9yIiwic2V0RXJyb3IiLCJfdXNlU3RhdGU5IiwiX3VzZVN0YXRlMTAiLCJ3bXNEYXRhIiwic2V0V01TRGF0YSIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJleGFtcGxlVGFiIiwic2V0RXhhbXBsZVRhYiIsIm9uTGF5ZXJOYW1lQ2hhbmdlIiwidXNlQ2FsbGJhY2siLCJldmVudCIsInByZXZlbnREZWZhdWx0IiwidGFyZ2V0IiwidmFsdWUiLCJvbkV4YW1wbGVDbGljayIsIm9uV21zVXJsQ2hhbmdlIiwiX3JlZjIiLCJfYXN5bmNUb0dlbmVyYXRvcjIiLCJfcmVnZW5lcmF0b3IiLCJtYXJrIiwiX2NhbGxlZSIsIm5ld1dtc1VybCIsImRhdGEiLCJkYXRhc2V0TWV0YWRhdGEiLCJzZXJ2aWNlVGl0bGUiLCJ3cmFwIiwiX2NhbGxlZSQiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwidmFsaWRhdGVVcmwiLCJhYnJ1cHQiLCJnZXRXTVNDYXBhYmlsaXRpZXMiLCJzZW50Iiwid21zQ2FwYWJpbGl0aWVzVG9EYXRhc2V0TWV0YWRhdGEiLCJ0aXRsZSIsIm1ldGFkYXRhIiwibGF5ZXJzIiwidmVyc2lvbiIsInQwIiwiRXJyb3IiLCJmaW5pc2giLCJzdG9wIiwiX3giLCJhcHBseSIsImFyZ3VtZW50cyIsInVzZUVmZmVjdCIsIl93bXNEYXRhJG1ldGFkYXRhIiwiZGF0YXNldCIsInR5cGUiLCJEYXRhc2V0VHlwZSIsIldNU19USUxFIiwiUkVNT1RFX1RJTEUiLCJyZW1vdGVUaWxlRm9ybWF0IiwiUmVtb3RlVGlsZUZvcm1hdCIsIldNUyIsInRpbGVzZXREYXRhVXJsIiwidGlsZXNldE1ldGFkYXRhVXJsIiwiY29uY2F0IiwiY3JlYXRlRWxlbWVudCIsImh0bWxGb3IiLCJJbnB1dExpZ2h0IiwiaWQiLCJwbGFjZWhvbGRlciIsIm9uQ2hhbmdlIiwiZ2V0QXBwbGljYXRpb25Db25maWciLCJzaG93SW5saW5lVGlsZXNldEV4YW1wbGVzIiwibWFwIiwiZXgiLCJrZXkiLCJvbkNsaWNrIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZGFscy90aWxlc2V0cy1tb2RhbHMvdGlsZXNldC13bXMtZm9ybS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlU3RhdGV9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtXTVNDYXBhYmlsaXRpZXN9IGZyb20gJ0Bsb2FkZXJzLmdsL3dtcyc7XG5cbmltcG9ydCB7dmFsaWRhdGVVcmx9IGZyb20gJ0BrZXBsZXIuZ2wvY29tbW9uLXV0aWxzJztcbmltcG9ydCB7RGF0YXNldFR5cGUsIFJFTU9URV9USUxFLCBSZW1vdGVUaWxlRm9ybWF0LCBXTVNEYXRhc2V0TWV0YWRhdGF9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7Z2V0V01TQ2FwYWJpbGl0aWVzLCB3bXNDYXBhYmlsaXRpZXNUb0RhdGFzZXRNZXRhZGF0YX0gZnJvbSAnQGtlcGxlci5nbC90YWJsZSc7XG5pbXBvcnQge2dldEFwcGxpY2F0aW9uQ29uZmlnfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcblxuaW1wb3J0IHtNZXRhUmVzcG9uc2V9IGZyb20gJy4vY29tbW9uJztcbmltcG9ydCB7SW5wdXRMaWdodH0gZnJvbSAnLi4vLi4vY29tbW9uJztcblxuY29uc3QgVGlsZXNldElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMywgYXV0byk7XG4gIHJvdy1nYXA6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbmA7XG5cbmNvbnN0IFRpbGVzZXRJbnB1dERlc2NyaXB0aW9uID0gc3R5bGVkLmRpdmBcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5BWlVSRTIwMH07XG4gIGZvbnQtc2l6ZTogMTFweDtcbmA7XG5cbmNvbnN0IEV4YW1wbGVVcmxzQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuQVpVUkUyMDB9O1xuICBmb250LXNpemU6IDExcHg7XG5gO1xuXG5jb25zdCBFeGFtcGxlVGFicyA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogNnB4O1xuICBtYXJnaW4tdG9wOiA2cHg7XG4gIG1hcmdpbi1ib3R0b206IDZweDtcbmA7XG5cbmNvbnN0IEV4YW1wbGVUYWIgPSBzdHlsZWQuZGl2PHthY3RpdmU6IGJvb2xlYW59PmBcbiAgcGFkZGluZzogM3B4IDhweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiAocHJvcHMuYWN0aXZlID8gcHJvcHMudGhlbWUuQVpVUkU0MDAgOiAndHJhbnNwYXJlbnQnKX07XG4gIGNvbG9yOiAke3Byb3BzID0+IChwcm9wcy5hY3RpdmUgPyBwcm9wcy50aGVtZS5XSElURSA6IHByb3BzLnRoZW1lLkFaVVJFMjAwKX07XG4gIGJvcmRlcjogMXB4IHNvbGlkICR7cHJvcHMgPT4gKHByb3BzLmFjdGl2ZSA/IHByb3BzLnRoZW1lLkFaVVJFNDAwIDogcHJvcHMudGhlbWUuQVpVUkU0MDApfTtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IChwcm9wcy5hY3RpdmUgPyBwcm9wcy50aGVtZS5BWlVSRTQwMCA6IHByb3BzLnRoZW1lLkFaVVJFNTAwKX07XG4gIH1cbmA7XG5cbmNvbnN0IEV4YW1wbGVVcmwgPSBzdHlsZWQuZGl2YFxuICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuQVpVUkUyMDB9O1xuICBmb250LXNpemU6IDExcHg7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuQVpVUkUxMDB9O1xuICB9XG5gO1xuXG5jb25zdCBXTVNfRVhBTVBMRVMgPSBbXG4gIHtcbiAgICBsYWJlbDogJ09TTScsXG4gICAgbmFtZTogJ09wZW5TdHJlZXRNYXAgV01TJyxcbiAgICB1cmw6ICdodHRwczovL293cy50ZXJyZXN0cmlzLmRlL29zbS9zZXJ2aWNlJ1xuICB9LFxuICB7XG4gICAgbGFiZWw6ICdOT0FBIFJhZGFyJyxcbiAgICBuYW1lOiAnTk9BQSBDT05VUyBSYWRhcicsXG4gICAgdXJsOiAnaHR0cHM6Ly9vcGVuZ2VvLm5jZXAubm9hYS5nb3YvZ2Vvc2VydmVyL2NvbnVzL2NvbnVzX2NyZWZfcWNkL293cydcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnTkFTQSBHSUJTJyxcbiAgICBuYW1lOiAnTkFTQSBHSUJTJyxcbiAgICB1cmw6ICdodHRwczovL2dpYnMuZWFydGhkYXRhLm5hc2EuZ292L3dtcy9lcHNnNDMyNi9iZXN0L3dtcy5jZ2knXG4gIH1cbl07XG5cbnR5cGUgV01TVGlsZUZvcm1Qcm9wcyA9IHtcbiAgc2V0UmVzcG9uc2U6IChyZXNwb25zZTogTWV0YVJlc3BvbnNlKSA9PiB2b2lkO1xufTtcblxudHlwZSBXTVNEYXRhID0ge1xuICBtZXRhZGF0YTogV01TQ2FwYWJpbGl0aWVzIHwgbnVsbDtcbiAgbGF5ZXJzOiBXTVNEYXRhc2V0TWV0YWRhdGFbJ2xheWVycyddO1xuICB2ZXJzaW9uOiBzdHJpbmc7XG59O1xuXG5jb25zdCBUaWxlc2V0V01TRm9ybTogUmVhY3QuRkM8V01TVGlsZUZvcm1Qcm9wcz4gPSAoe3NldFJlc3BvbnNlfSkgPT4ge1xuICBjb25zdCBbbGF5ZXJOYW1lLCBzZXRMYXllck5hbWVdID0gdXNlU3RhdGU8c3RyaW5nPignJyk7XG4gIGNvbnN0IFt3bXNVcmwsIHNldFdtc1VybF0gPSB1c2VTdGF0ZTxzdHJpbmc+KCcnKTtcbiAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPEVycm9yIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFt3bXNEYXRhLCBzZXRXTVNEYXRhXSA9IHVzZVN0YXRlPFdNU0RhdGEgfCBudWxsPihudWxsKTtcbiAgY29uc3QgW2V4YW1wbGVUYWIsIHNldEV4YW1wbGVUYWJdID0gdXNlU3RhdGUoMCk7XG5cbiAgY29uc3Qgb25MYXllck5hbWVDaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgc2V0TGF5ZXJOYW1lKGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gICAgfSxcbiAgICBbc2V0TGF5ZXJOYW1lXVxuICApO1xuXG4gIGNvbnN0IG9uRXhhbXBsZUNsaWNrID0gdXNlQ2FsbGJhY2soXG4gICAgKHVybDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgIHNldFdtc1VybCh1cmwpO1xuICAgICAgc2V0TGF5ZXJOYW1lKG5hbWUpO1xuICAgIH0sXG4gICAgW3NldFdtc1VybCwgc2V0TGF5ZXJOYW1lXVxuICApO1xuXG4gIGNvbnN0IG9uV21zVXJsQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKGV2ZW50OiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGNvbnN0IG5ld1dtc1VybCA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICAgIHNldFdtc1VybChuZXdXbXNVcmwpO1xuXG4gICAgICBpZiAoIXZhbGlkYXRlVXJsKG5ld1dtc1VybCkpIHtcbiAgICAgICAgc2V0V01TRGF0YShudWxsKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBGZXRjaCBXTVMgR2V0Q2FwYWJpbGl0aWVzXG4gICAgICB0cnkge1xuICAgICAgICBzZXRMb2FkaW5nKHRydWUpO1xuICAgICAgICBzZXRFcnJvcihudWxsKTtcblxuICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgZ2V0V01TQ2FwYWJpbGl0aWVzKG5ld1dtc1VybCk7XG5cbiAgICAgICAgY29uc3QgZGF0YXNldE1ldGFkYXRhID0gd21zQ2FwYWJpbGl0aWVzVG9EYXRhc2V0TWV0YWRhdGEoZGF0YSk7XG5cbiAgICAgICAgLy8gRXh0cmFjdCBuYW1lIG9yIHRpdGxlIGZyb20gR2V0Q2FwYWJpbGl0aWVzIHJlc3BvbnNlXG4gICAgICAgIGNvbnN0IHNlcnZpY2VUaXRsZSA9IGRhdGE/LnRpdGxlIHx8IGRhdGE/Lm5hbWU7XG4gICAgICAgIGlmIChzZXJ2aWNlVGl0bGUgJiYgIWxheWVyTmFtZSkge1xuICAgICAgICAgIHNldExheWVyTmFtZShzZXJ2aWNlVGl0bGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0V01TRGF0YSh7XG4gICAgICAgICAgbWV0YWRhdGE6IGRhdGEsXG4gICAgICAgICAgbGF5ZXJzOiBkYXRhc2V0TWV0YWRhdGEubGF5ZXJzLFxuICAgICAgICAgIHZlcnNpb246IGRhdGFzZXRNZXRhZGF0YS52ZXJzaW9uXG4gICAgICAgIH0pO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIHNldEVycm9yKGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyIDogbmV3IEVycm9yKCdVbmtub3duIGVycm9yJykpO1xuICAgICAgICBzZXRXTVNEYXRhKG51bGwpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbbGF5ZXJOYW1lXVxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGxheWVyTmFtZSAmJiB3bXNVcmwpIHtcbiAgICAgIGNvbnN0IGRhdGFzZXQgPSB7XG4gICAgICAgIG5hbWU6IGxheWVyTmFtZSxcbiAgICAgICAgdHlwZTogRGF0YXNldFR5cGUuV01TX1RJTEUsXG4gICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgdHlwZTogUkVNT1RFX1RJTEUsXG4gICAgICAgICAgcmVtb3RlVGlsZUZvcm1hdDogUmVtb3RlVGlsZUZvcm1hdC5XTVMsXG4gICAgICAgICAgdGlsZXNldERhdGFVcmw6IHdtc1VybCxcbiAgICAgICAgICB0aWxlc2V0TWV0YWRhdGFVcmw6IGAke3dtc1VybH0/c2VydmljZT1XTVMmcmVxdWVzdD1HZXRDYXBhYmlsaXRpZXNgLFxuICAgICAgICAgIGxheWVyczogd21zRGF0YT8ubGF5ZXJzIHx8IFtdLFxuICAgICAgICAgIHZlcnNpb246IHdtc0RhdGE/LnZlcnNpb24gfHwgJzEuMy4wJ1xuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgc2V0UmVzcG9uc2Uoe1xuICAgICAgICBtZXRhZGF0YTogd21zRGF0YT8ubWV0YWRhdGEgPz8gbnVsbCxcbiAgICAgICAgZGF0YXNldCxcbiAgICAgICAgbG9hZGluZyxcbiAgICAgICAgZXJyb3JcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRSZXNwb25zZSh7XG4gICAgICAgIG1ldGFkYXRhOiBudWxsLFxuICAgICAgICBkYXRhc2V0OiBudWxsLFxuICAgICAgICBsb2FkaW5nLFxuICAgICAgICBlcnJvclxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbc2V0UmVzcG9uc2UsIGxheWVyTmFtZSwgd21zVXJsLCB3bXNEYXRhLCBsb2FkaW5nLCBlcnJvcl0pO1xuXG4gIHJldHVybiAoXG4gICAgPFRpbGVzZXRJbnB1dENvbnRhaW5lcj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxsYWJlbCBodG1sRm9yPVwibGF5ZXItbmFtZVwiPk5hbWU8L2xhYmVsPlxuICAgICAgICA8SW5wdXRMaWdodFxuICAgICAgICAgIGlkPVwibGF5ZXItbmFtZVwiXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJOYW1lIHlvdXIgV01TIGxheWVyXCJcbiAgICAgICAgICB2YWx1ZT17bGF5ZXJOYW1lfVxuICAgICAgICAgIG9uQ2hhbmdlPXtvbkxheWVyTmFtZUNoYW5nZX1cbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdj5cbiAgICAgICAgPGxhYmVsIGh0bWxGb3I9XCJ3bXMtdXJsXCI+V01TIFVSTDwvbGFiZWw+XG4gICAgICAgIDxJbnB1dExpZ2h0XG4gICAgICAgICAgaWQ9XCJ3bXMtdXJsXCJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIkVudGVyIFdNUyBVUkxcIlxuICAgICAgICAgIHZhbHVlPXt3bXNVcmx9XG4gICAgICAgICAgb25DaGFuZ2U9e29uV21zVXJsQ2hhbmdlfVxuICAgICAgICAvPlxuICAgICAgICA8VGlsZXNldElucHV0RGVzY3JpcHRpb24+UHJvdmlkZSBhIHZhbGlkIFdNUyBzZXJ2aWNlIFVSTC48L1RpbGVzZXRJbnB1dERlc2NyaXB0aW9uPlxuICAgICAgPC9kaXY+XG4gICAgICB7Z2V0QXBwbGljYXRpb25Db25maWcoKS5zaG93SW5saW5lVGlsZXNldEV4YW1wbGVzICYmIChcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8VGlsZXNldElucHV0RGVzY3JpcHRpb24+Rm9yIGV4YW1wbGUsIHRyeSBhIHB1YmxpYyBXTVMgVVJMOjwvVGlsZXNldElucHV0RGVzY3JpcHRpb24+XG4gICAgICAgICAgPEV4YW1wbGVVcmxzQ29udGFpbmVyPlxuICAgICAgICAgICAgPEV4YW1wbGVUYWJzPlxuICAgICAgICAgICAgICB7V01TX0VYQU1QTEVTLm1hcCgoZXgsIGkpID0+IChcbiAgICAgICAgICAgICAgICA8RXhhbXBsZVRhYlxuICAgICAgICAgICAgICAgICAga2V5PXtleC5sYWJlbH1cbiAgICAgICAgICAgICAgICAgIGFjdGl2ZT17ZXhhbXBsZVRhYiA9PT0gaX1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgc2V0RXhhbXBsZVRhYihpKTtcbiAgICAgICAgICAgICAgICAgICAgb25FeGFtcGxlQ2xpY2soZXgudXJsLCBleC5uYW1lKTtcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2V4LmxhYmVsfVxuICAgICAgICAgICAgICAgIDwvRXhhbXBsZVRhYj5cbiAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L0V4YW1wbGVUYWJzPlxuICAgICAgICAgICAgPEV4YW1wbGVVcmxcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT5cbiAgICAgICAgICAgICAgICBvbkV4YW1wbGVDbGljayhXTVNfRVhBTVBMRVNbZXhhbXBsZVRhYl0udXJsLCBXTVNfRVhBTVBMRVNbZXhhbXBsZVRhYl0ubmFtZSlcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7V01TX0VYQU1QTEVTW2V4YW1wbGVUYWJdLnVybH1cbiAgICAgICAgICAgIDwvRXhhbXBsZVVybD5cbiAgICAgICAgICA8L0V4YW1wbGVVcmxzQ29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgPC9UaWxlc2V0SW5wdXRDb250YWluZXI+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBUaWxlc2V0V01TRm9ybTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0Es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
|