@kepler.gl/components 3.0.0-alpha.0 → 3.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bottom-widget.d.ts +11 -38
- package/dist/bottom-widget.js +43 -99
- package/dist/common/action-panel.d.ts +2 -2
- package/dist/common/action-panel.js +4 -4
- package/dist/common/animation-control/animation-control.d.ts +19 -18
- package/dist/common/animation-control/animation-control.js +59 -81
- package/dist/common/animation-control/animation-controller.d.ts +6 -2
- package/dist/common/animation-control/animation-controller.js +50 -36
- package/dist/common/animation-control/animation-speed-slider.js +2 -2
- package/dist/common/animation-control/animation-window-control.js +1 -1
- package/dist/common/animation-control/floating-time-display.d.ts +2 -2
- package/dist/common/animation-control/floating-time-display.js +2 -2
- package/dist/common/animation-control/play-control.d.ts +2 -2
- package/dist/common/animation-control/play-control.js +1 -1
- package/dist/common/animation-control/playback-controls.d.ts +7 -7
- package/dist/common/animation-control/playback-controls.js +6 -6
- package/dist/common/animation-control/reset-control.d.ts +2 -2
- package/dist/common/animation-control/reset-control.js +1 -1
- package/dist/common/animation-control/speed-control.d.ts +2 -2
- package/dist/common/animation-control/speed-control.js +2 -2
- package/dist/common/animation-control/window-action-control.d.ts +2 -2
- package/dist/common/animation-control/window-action-control.js +1 -1
- package/dist/common/checkbox.d.ts +2 -2
- package/dist/common/checkbox.js +3 -3
- package/dist/common/color-legend.d.ts +3 -3
- package/dist/common/color-legend.js +11 -17
- package/dist/common/data-table/button.d.ts +1 -1
- package/dist/common/data-table/button.js +2 -2
- package/dist/common/data-table/canvas.js +2 -2
- package/dist/common/data-table/cell-size.js +44 -13
- package/dist/common/data-table/display-format.d.ts +25 -0
- package/dist/common/data-table/display-format.js +169 -0
- package/dist/common/data-table/grid.d.ts +5 -2
- package/dist/common/data-table/grid.js +45 -5
- package/dist/common/data-table/header-cell.d.ts +4 -1
- package/dist/common/data-table/header-cell.js +66 -29
- package/dist/common/data-table/index.d.ts +27 -34
- package/dist/common/data-table/index.js +148 -62
- package/dist/common/data-table/option-dropdown.d.ts +17 -3
- package/dist/common/data-table/option-dropdown.js +86 -13
- package/dist/common/dataset-label.d.ts +2 -2
- package/dist/common/dataset-label.js +3 -3
- package/dist/common/error-boundary.d.ts +6 -2
- package/dist/common/error-boundary.js +2 -2
- package/dist/common/field-selector.d.ts +9 -3
- package/dist/common/field-selector.js +3 -3
- package/dist/common/field-token.d.ts +8 -0
- package/dist/common/field-token.js +7 -3
- package/dist/common/file-uploader/file-drop.d.ts +3 -2
- package/dist/common/file-uploader/file-drop.js +2 -2
- package/dist/common/file-uploader/file-upload-progress.js +2 -2
- package/dist/common/file-uploader/file-upload.d.ts +2 -6
- package/dist/common/file-uploader/file-upload.js +2 -2
- package/dist/common/file-uploader/upload-button.d.ts +1 -0
- package/dist/common/file-uploader/upload-button.js +2 -2
- package/dist/common/histogram-plot.d.ts +2 -2
- package/dist/common/histogram-plot.js +18 -12
- package/dist/common/icon-button.d.ts +2 -1
- package/dist/common/icon-button.js +2 -2
- package/dist/common/icons/add.d.ts +2 -2
- package/dist/common/icons/add.js +2 -2
- package/dist/common/icons/anchor_window.d.ts +2 -2
- package/dist/common/icons/anchor_window.js +2 -2
- package/dist/common/icons/arrow-down-alt.d.ts +2 -2
- package/dist/common/icons/arrow-down-alt.js +2 -2
- package/dist/common/icons/arrow-down-solid.d.ts +2 -2
- package/dist/common/icons/arrow-down-solid.js +2 -2
- package/dist/common/icons/arrow-down.d.ts +2 -2
- package/dist/common/icons/arrow-down.js +2 -2
- package/dist/common/icons/arrow-left.d.ts +2 -2
- package/dist/common/icons/arrow-left.js +2 -2
- package/dist/common/icons/arrow-right.d.ts +2 -2
- package/dist/common/icons/arrow-right.js +2 -2
- package/dist/common/icons/arrow-up-alt.d.ts +2 -2
- package/dist/common/icons/arrow-up-alt.js +2 -2
- package/dist/common/icons/arrow-up-solid.d.ts +2 -2
- package/dist/common/icons/arrow-up-solid.js +2 -2
- package/dist/common/icons/arrow-up.d.ts +2 -2
- package/dist/common/icons/arrow-up.js +2 -2
- package/dist/common/icons/base.d.ts +1 -1
- package/dist/common/icons/base.js +2 -2
- package/dist/common/icons/bug.d.ts +2 -2
- package/dist/common/icons/bug.js +2 -2
- package/dist/common/icons/cancel.d.ts +2 -2
- package/dist/common/icons/cancel.js +2 -2
- package/dist/common/icons/checkmark.d.ts +2 -2
- package/dist/common/icons/checkmark.js +2 -2
- package/dist/common/icons/clipboard.d.ts +2 -2
- package/dist/common/icons/clipboard.js +2 -2
- package/dist/common/icons/clock.d.ts +2 -2
- package/dist/common/icons/clock.js +2 -2
- package/dist/common/icons/close.d.ts +2 -2
- package/dist/common/icons/close.js +2 -2
- package/dist/common/icons/code-alt.d.ts +2 -2
- package/dist/common/icons/code-alt.js +2 -2
- package/dist/common/icons/copy.d.ts +2 -2
- package/dist/common/icons/copy.js +2 -2
- package/dist/common/icons/crosshairs.d.ts +2 -2
- package/dist/common/icons/crosshairs.js +2 -2
- package/dist/common/icons/cube-3d.d.ts +2 -2
- package/dist/common/icons/cube-3d.js +2 -2
- package/dist/common/icons/cursor-click.d.ts +2 -2
- package/dist/common/icons/cursor-click.js +2 -2
- package/dist/common/icons/cursor-point.d.ts +14 -0
- package/dist/common/icons/cursor-point.js +89 -0
- package/dist/common/icons/data-table.d.ts +2 -2
- package/dist/common/icons/data-table.js +2 -2
- package/dist/common/icons/db.d.ts +2 -2
- package/dist/common/icons/db.js +2 -2
- package/dist/common/icons/delete.d.ts +2 -2
- package/dist/common/icons/delete.js +2 -2
- package/dist/common/icons/docs.d.ts +2 -2
- package/dist/common/icons/docs.js +2 -2
- package/dist/common/icons/drag-n-drop.d.ts +2 -2
- package/dist/common/icons/drag-n-drop.js +2 -2
- package/dist/common/icons/draw-polygon.d.ts +2 -2
- package/dist/common/icons/draw-polygon.js +2 -2
- package/dist/common/icons/email.d.ts +2 -2
- package/dist/common/icons/email.js +2 -2
- package/dist/common/icons/expand.d.ts +2 -2
- package/dist/common/icons/expand.js +2 -2
- package/dist/common/icons/eye-seen.d.ts +2 -2
- package/dist/common/icons/eye-seen.js +2 -2
- package/dist/common/icons/eye-unseen.d.ts +2 -2
- package/dist/common/icons/eye-unseen.js +2 -2
- package/dist/common/icons/file-type.d.ts +2 -2
- package/dist/common/icons/file-type.js +2 -2
- package/dist/common/icons/file.d.ts +2 -2
- package/dist/common/icons/file.js +2 -2
- package/dist/common/icons/files.d.ts +1 -1
- package/dist/common/icons/files.js +2 -2
- package/dist/common/icons/filter-funnel.d.ts +2 -2
- package/dist/common/icons/filter-funnel.js +2 -2
- package/dist/common/icons/free-window.d.ts +2 -2
- package/dist/common/icons/free-window.js +2 -2
- package/dist/common/icons/gear.d.ts +2 -2
- package/dist/common/icons/gear.js +2 -2
- package/dist/common/icons/hash.d.ts +2 -2
- package/dist/common/icons/hash.js +2 -2
- package/dist/common/icons/histogram.d.ts +1 -1
- package/dist/common/icons/histogram.js +2 -2
- package/dist/common/icons/index.d.ts +1 -0
- package/dist/common/icons/index.js +10 -2
- package/dist/common/icons/info.d.ts +2 -2
- package/dist/common/icons/info.js +2 -2
- package/dist/common/icons/layers.d.ts +2 -2
- package/dist/common/icons/layers.js +2 -2
- package/dist/common/icons/left-arrow.d.ts +2 -2
- package/dist/common/icons/left-arrow.js +2 -2
- package/dist/common/icons/legend.d.ts +2 -2
- package/dist/common/icons/legend.js +2 -2
- package/dist/common/icons/line-chart.d.ts +2 -2
- package/dist/common/icons/line-chart.js +2 -2
- package/dist/common/icons/login.d.ts +2 -2
- package/dist/common/icons/login.js +2 -2
- package/dist/common/icons/logout.d.ts +2 -2
- package/dist/common/icons/logout.js +2 -2
- package/dist/common/icons/map-icon.d.ts +2 -2
- package/dist/common/icons/map-icon.js +2 -2
- package/dist/common/icons/map.d.ts +2 -2
- package/dist/common/icons/map.js +2 -2
- package/dist/common/icons/messages.d.ts +2 -2
- package/dist/common/icons/messages.js +2 -2
- package/dist/common/icons/minus.d.ts +2 -2
- package/dist/common/icons/minus.js +2 -2
- package/dist/common/icons/order-by-dataset.d.ts +2 -2
- package/dist/common/icons/order-by-dataset.js +2 -2
- package/dist/common/icons/order-by-list.d.ts +2 -2
- package/dist/common/icons/order-by-list.js +2 -2
- package/dist/common/icons/pause.d.ts +2 -2
- package/dist/common/icons/pause.js +2 -2
- package/dist/common/icons/picture.d.ts +1 -1
- package/dist/common/icons/picture.js +2 -2
- package/dist/common/icons/pin.d.ts +2 -2
- package/dist/common/icons/pin.js +2 -2
- package/dist/common/icons/play.d.ts +2 -2
- package/dist/common/icons/play.js +2 -2
- package/dist/common/icons/polygon.d.ts +2 -2
- package/dist/common/icons/polygon.js +2 -2
- package/dist/common/icons/rectangle.d.ts +2 -2
- package/dist/common/icons/rectangle.js +2 -2
- package/dist/common/icons/reduce.d.ts +2 -2
- package/dist/common/icons/reduce.js +2 -2
- package/dist/common/icons/reset.d.ts +2 -2
- package/dist/common/icons/reset.js +2 -2
- package/dist/common/icons/rocket.d.ts +2 -2
- package/dist/common/icons/rocket.js +2 -2
- package/dist/common/icons/save.d.ts +2 -2
- package/dist/common/icons/save.js +2 -2
- package/dist/common/icons/save2.d.ts +2 -2
- package/dist/common/icons/save2.js +2 -2
- package/dist/common/icons/search.d.ts +2 -2
- package/dist/common/icons/search.js +2 -2
- package/dist/common/icons/settings.d.ts +2 -2
- package/dist/common/icons/settings.js +2 -2
- package/dist/common/icons/share.d.ts +2 -2
- package/dist/common/icons/share.js +2 -2
- package/dist/common/icons/split.d.ts +2 -2
- package/dist/common/icons/split.js +2 -2
- package/dist/common/icons/square-select.d.ts +2 -2
- package/dist/common/icons/square-select.js +2 -2
- package/dist/common/icons/trash.d.ts +2 -2
- package/dist/common/icons/trash.js +2 -2
- package/dist/common/icons/vert-dots.d.ts +2 -2
- package/dist/common/icons/vert-dots.js +2 -2
- package/dist/common/icons/vert-three-dots.d.ts +2 -2
- package/dist/common/icons/vert-three-dots.js +2 -2
- package/dist/common/icons/warning-sign.d.ts +2 -2
- package/dist/common/icons/warning-sign.js +2 -2
- package/dist/common/icons/warning.d.ts +2 -2
- package/dist/common/icons/warning.js +2 -2
- package/dist/common/image-preview.d.ts +2 -2
- package/dist/common/image-preview.js +2 -2
- package/dist/common/index.d.ts +1 -1
- package/dist/common/index.js +8 -2
- package/dist/common/info-helper.d.ts +2 -2
- package/dist/common/info-helper.js +2 -2
- package/dist/common/item-selector/accessor.js +2 -2
- package/dist/common/item-selector/chickleted-input.js +2 -2
- package/dist/common/item-selector/dropdown-list.d.ts +28 -8
- package/dist/common/item-selector/dropdown-list.js +144 -25
- package/dist/common/item-selector/item-selector.d.ts +2 -3
- package/dist/common/item-selector/item-selector.js +7 -3
- package/dist/common/item-selector/typeahead.d.ts +16 -12
- package/dist/common/item-selector/typeahead.js +24 -13
- package/dist/common/line-chart.d.ts +2 -2
- package/dist/common/line-chart.js +2 -2
- package/dist/common/loading-spinner.js +2 -2
- package/dist/common/logo.d.ts +2 -2
- package/dist/common/logo.js +2 -2
- package/dist/common/map-layer-selector.d.ts +2 -2
- package/dist/common/map-layer-selector.js +3 -4
- package/dist/common/modal.d.ts +24 -11
- package/dist/common/modal.js +2 -2
- package/dist/common/portaled.d.ts +513 -2
- package/dist/common/portaled.js +2 -2
- package/dist/common/progress-bar.d.ts +2 -2
- package/dist/common/progress-bar.js +2 -2
- package/dist/common/range-brush.js +2 -2
- package/dist/common/range-plot.d.ts +6 -2
- package/dist/common/range-plot.js +4 -3
- package/dist/common/range-slider.d.ts +5 -1
- package/dist/common/range-slider.js +9 -3
- package/dist/common/slider/mouse-event.js +2 -2
- package/dist/common/slider/slider-bar-handle.d.ts +2 -2
- package/dist/common/slider/slider-bar-handle.js +2 -2
- package/dist/common/slider/slider-handle.d.ts +1 -1
- package/dist/common/slider/slider-handle.js +2 -2
- package/dist/common/slider/slider.d.ts +7 -5
- package/dist/common/slider/slider.js +8 -5
- package/dist/common/styled-components.d.ts +5 -0
- package/dist/common/styled-components.js +161 -47
- package/dist/common/switch.d.ts +3 -2
- package/dist/common/switch.js +2 -2
- package/dist/common/time-range-slider-time-title.d.ts +2 -2
- package/dist/common/time-range-slider-time-title.js +2 -2
- package/dist/common/time-range-slider.d.ts +6 -3
- package/dist/common/time-range-slider.js +33 -14
- package/dist/common/time-slider-marker.d.ts +1 -1
- package/dist/common/time-slider-marker.js +3 -3
- package/dist/common/timeline-slider.d.ts +13 -0
- package/dist/common/timeline-slider.js +173 -0
- package/dist/common/tippy-tooltip.d.ts +4 -2
- package/dist/common/tippy-tooltip.js +23 -11
- package/dist/common/toolbar-item.d.ts +1 -1
- package/dist/common/toolbar-item.js +6 -4
- package/dist/common/toolbar.js +2 -2
- package/dist/common/vertical-toolbar.js +2 -2
- package/dist/connect/keplergl-connect.d.ts +5 -1
- package/dist/connect/keplergl-connect.js +2 -2
- package/dist/connect/with-local-selector.js +2 -2
- package/dist/container.js +2 -2
- package/dist/context.js +4 -3
- package/dist/dnd-context.d.ts +13 -0
- package/dist/dnd-context.js +252 -0
- package/dist/editor/editor.d.ts +11 -10
- package/dist/editor/editor.js +97 -103
- package/dist/editor/feature-action-panel.d.ts +8 -6
- package/dist/editor/feature-action-panel.js +75 -22
- package/dist/effects/effect-configurator.d.ts +18 -0
- package/dist/effects/effect-configurator.js +237 -0
- package/dist/effects/effect-list.d.ts +15 -0
- package/dist/effects/effect-list.js +173 -0
- package/dist/effects/effect-manager.d.ts +21 -0
- package/dist/effects/effect-manager.js +129 -0
- package/dist/effects/effect-panel-header.d.ts +33 -0
- package/dist/effects/effect-panel-header.js +174 -0
- package/dist/effects/effect-panel.d.ts +24 -0
- package/dist/effects/effect-panel.js +162 -0
- package/dist/effects/effect-time-configurator.d.ts +13 -0
- package/dist/effects/effect-time-configurator.js +191 -0
- package/dist/effects/effect-type-selector.d.ts +11 -0
- package/dist/effects/effect-type-selector.js +117 -0
- package/dist/effects/side-panel-title.d.ts +7 -0
- package/dist/effects/side-panel-title.js +67 -0
- package/dist/filter-animation-controller.d.ts +17 -0
- package/dist/filter-animation-controller.js +91 -0
- package/dist/filters/components.js +2 -2
- package/dist/filters/filter-panels/filter-panel-with-field-select.js +3 -3
- package/dist/filters/filter-panels/multi-select-filter-panel.js +3 -3
- package/dist/filters/filter-panels/new-filter-panel.js +2 -2
- package/dist/filters/filter-panels/polygon-filter-panel.js +3 -3
- package/dist/filters/filter-panels/range-filter-panel.js +3 -3
- package/dist/filters/filter-panels/single-select-filter-panel.js +3 -3
- package/dist/filters/filter-panels/time-range-filter-panel.js +25 -8
- package/dist/filters/filter-panels/types.d.ts +2 -1
- package/dist/filters/filter-panels/types.js +1 -1
- package/dist/filters/index.d.ts +2 -0
- package/dist/filters/index.js +18 -2
- package/dist/filters/multi-select-filter.js +2 -2
- package/dist/filters/polygon-filter.js +14 -4
- package/dist/filters/range-filter.js +6 -4
- package/dist/filters/single-select-filter.js +2 -2
- package/dist/filters/time-range-filter.d.ts +2 -1
- package/dist/filters/time-range-filter.js +10 -7
- package/dist/filters/time-widget-top.d.ts +8 -0
- package/dist/filters/time-widget-top.js +123 -0
- package/dist/filters/time-widget.d.ts +3 -7
- package/dist/filters/time-widget.js +35 -92
- package/dist/filters/types.d.ts +7 -3
- package/dist/filters/types.js +1 -1
- package/dist/geocoder/geocoder.d.ts +1 -3
- package/dist/geocoder/geocoder.js +2 -2
- package/dist/geocoder-panel.d.ts +9 -3
- package/dist/geocoder-panel.js +30 -19
- package/dist/hooks/useFeatureFlags.js +1 -1
- package/dist/index.d.ts +68 -20
- package/dist/index.js +599 -99
- package/dist/injector.d.ts +4 -4
- package/dist/injector.js +2 -2
- package/dist/kepler-gl.d.ts +58 -17
- package/dist/kepler-gl.js +78 -31
- package/dist/layer-animation-controller.d.ts +13 -0
- package/dist/layer-animation-controller.js +76 -0
- package/dist/map/coordinate-info.js +2 -2
- package/dist/map/effects/effect-control.d.ts +16 -0
- package/dist/map/effects/effect-control.js +81 -0
- package/dist/map/layer-hover-info.d.ts +2 -2
- package/dist/map/layer-hover-info.js +26 -10
- package/dist/map/layer-selector-panel.js +2 -2
- package/dist/map/lazy-tippy.js +1 -1
- package/dist/map/locale-panel.d.ts +1 -1
- package/dist/map/locale-panel.js +2 -2
- package/dist/map/map-control-panel.d.ts +6 -0
- package/dist/map/map-control-panel.js +65 -9
- package/dist/map/map-control-toolbar.js +3 -3
- package/dist/map/map-control-tooltip.js +2 -2
- package/dist/map/map-control.d.ts +15 -7
- package/dist/map/map-control.js +6 -7
- package/dist/map/map-draw-panel.d.ts +2 -2
- package/dist/map/map-draw-panel.js +2 -9
- package/dist/map/map-legend-panel.d.ts +12 -1
- package/dist/map/map-legend-panel.js +27 -14
- package/dist/map/map-legend.d.ts +1 -1
- package/dist/map/map-legend.js +2 -2
- package/dist/map/map-popover-content.d.ts +28 -0
- package/dist/map/map-popover-content.js +51 -0
- package/dist/map/map-popover.d.ts +11 -14
- package/dist/map/map-popover.js +94 -15
- package/dist/map/split-map-button.js +2 -2
- package/dist/map/toggle-3d-button.js +2 -2
- package/dist/map-container.d.ts +33 -9
- package/dist/map-container.js +530 -161
- package/dist/map-view-state-context.d.ts +12 -0
- package/dist/map-view-state-context.js +116 -0
- package/dist/maps-layout.d.ts +5 -2
- package/dist/maps-layout.js +7 -3
- package/dist/modal-container.d.ts +2 -6
- package/dist/modal-container.js +8 -6
- package/dist/modals/add-map-style-modal.d.ts +1 -3
- package/dist/modals/add-map-style-modal.js +12 -6
- package/dist/modals/cloud-tile.js +2 -2
- package/dist/modals/data-table-modal.d.ts +11 -2
- package/dist/modals/data-table-modal.js +75 -24
- package/dist/modals/delete-data-modal.js +2 -2
- package/dist/modals/error-display.js +2 -2
- package/dist/modals/export-data-modal.d.ts +1 -3
- package/dist/modals/export-data-modal.js +2 -2
- package/dist/modals/export-image-modal.d.ts +1 -3
- package/dist/modals/export-image-modal.js +2 -2
- package/dist/modals/export-map-modal/components.d.ts +2 -2
- package/dist/modals/export-map-modal/components.js +2 -2
- package/dist/modals/export-map-modal/export-html-map.js +2 -2
- package/dist/modals/export-map-modal/export-json-map.d.ts +1 -1
- package/dist/modals/export-map-modal/export-json-map.js +2 -2
- package/dist/modals/export-map-modal/export-map-modal.d.ts +2 -2
- package/dist/modals/export-map-modal/export-map-modal.js +2 -2
- package/dist/modals/image-modal-container.d.ts +1 -0
- package/dist/modals/image-modal-container.js +2 -2
- package/dist/modals/load-data-modal.js +2 -2
- package/dist/modals/load-storage-map.js +2 -2
- package/dist/modals/loading-dialog.js +2 -2
- package/dist/modals/modal-dialog.js +2 -2
- package/dist/modals/modal-tabs.d.ts +1 -1
- package/dist/modals/modal-tabs.js +2 -2
- package/dist/modals/overwrite-map-modal.js +2 -2
- package/dist/modals/provider-modal-container.d.ts +3 -2
- package/dist/modals/provider-modal-container.js +2 -2
- package/dist/modals/save-map-modal.js +2 -2
- package/dist/modals/share-map-modal.js +2 -2
- package/dist/modals/status-panel.js +2 -2
- package/dist/modals/storage-map-viewer.d.ts +1 -1
- package/dist/modals/storage-map-viewer.js +2 -2
- package/dist/notification-panel/notification-item.d.ts +7 -10
- package/dist/notification-panel/notification-item.js +45 -13
- package/dist/notification-panel.js +2 -2
- package/dist/plot-container.js +20 -8
- package/dist/side-panel/add-by-dataset-button.d.ts +12 -0
- package/dist/side-panel/add-by-dataset-button.js +173 -0
- package/dist/side-panel/cloud-storage-dropdown.d.ts +2 -2
- package/dist/side-panel/cloud-storage-dropdown.js +2 -2
- package/dist/side-panel/common/dataset-info.d.ts +10 -3
- package/dist/side-panel/common/dataset-info.js +2 -2
- package/dist/side-panel/common/dataset-tag.d.ts +15 -1
- package/dist/side-panel/common/dataset-tag.js +14 -11
- package/dist/side-panel/common/dataset-title.d.ts +16 -2
- package/dist/side-panel/common/dataset-title.js +71 -105
- package/dist/side-panel/common/source-data-catalog.d.ts +22 -3
- package/dist/side-panel/common/source-data-catalog.js +2 -2
- package/dist/side-panel/common/source-data-selector.js +2 -2
- package/dist/side-panel/common/types.d.ts +7 -27
- package/dist/side-panel/common/types.js +1 -1
- package/dist/side-panel/custom-panel.d.ts +6 -7
- package/dist/side-panel/custom-panel.js +2 -2
- package/dist/side-panel/filter-manager.d.ts +18 -6
- package/dist/side-panel/filter-manager.js +176 -65
- package/dist/side-panel/filter-panel/add-filter-button.d.ts +8 -0
- package/dist/side-panel/filter-panel/add-filter-button.js +50 -0
- package/dist/side-panel/filter-panel/filter-panel-header.d.ts +6 -3
- package/dist/side-panel/filter-panel/filter-panel-header.js +4 -4
- package/dist/side-panel/filter-panel/filter-panel.js +2 -2
- package/dist/side-panel/interaction-manager.d.ts +6 -3
- package/dist/side-panel/interaction-manager.js +21 -8
- package/dist/side-panel/interaction-panel/brush-config.d.ts +2 -2
- package/dist/side-panel/interaction-panel/brush-config.js +2 -2
- package/dist/side-panel/interaction-panel/interaction-panel.d.ts +5 -2
- package/dist/side-panel/interaction-panel/interaction-panel.js +12 -5
- package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +3 -9
- package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +25 -42
- package/dist/side-panel/interaction-panel/tooltip-config.d.ts +2 -3
- package/dist/side-panel/interaction-panel/tooltip-config.js +9 -7
- package/dist/side-panel/layer-manager.d.ts +8 -10
- package/dist/side-panel/layer-manager.js +71 -37
- package/dist/side-panel/layer-panel/add-layer-button.d.ts +3 -5
- package/dist/side-panel/layer-panel/add-layer-button.js +13 -139
- package/dist/side-panel/layer-panel/color-palette.js +2 -2
- package/dist/side-panel/layer-panel/color-range-selector.d.ts +1 -1
- package/dist/side-panel/layer-panel/color-range-selector.js +2 -2
- package/dist/side-panel/layer-panel/color-selector.d.ts +15 -24
- package/dist/side-panel/layer-panel/color-selector.js +175 -127
- package/dist/side-panel/layer-panel/column-selector.js +2 -2
- package/dist/side-panel/layer-panel/custom-palette.d.ts +7 -2
- package/dist/side-panel/layer-panel/custom-palette.js +6 -5
- package/dist/side-panel/layer-panel/custom-picker.d.ts +9 -36
- package/dist/side-panel/layer-panel/custom-picker.js +2 -2
- package/dist/side-panel/layer-panel/dataset-layer-group.d.ts +1 -1
- package/dist/side-panel/layer-panel/dataset-layer-group.js +3 -2
- package/dist/side-panel/layer-panel/dataset-layer-section.d.ts +3 -2
- package/dist/side-panel/layer-panel/dataset-layer-section.js +5 -4
- package/dist/side-panel/layer-panel/dataset-section.d.ts +2 -3
- package/dist/side-panel/layer-panel/dataset-section.js +6 -7
- package/dist/side-panel/layer-panel/dimension-scale-selector.js +2 -2
- package/dist/side-panel/layer-panel/how-to-button.js +2 -2
- package/dist/side-panel/layer-panel/layer-color-selector.d.ts +42 -0
- package/dist/side-panel/layer-panel/layer-color-selector.js +134 -0
- package/dist/side-panel/layer-panel/layer-column-config.d.ts +15 -9
- package/dist/side-panel/layer-panel/layer-column-config.js +35 -13
- package/dist/side-panel/layer-panel/layer-config-group.d.ts +11 -2
- package/dist/side-panel/layer-panel/layer-config-group.js +19 -11
- package/dist/side-panel/layer-panel/layer-configurator.d.ts +10 -35
- package/dist/side-panel/layer-panel/layer-configurator.js +61 -110
- package/dist/side-panel/layer-panel/layer-error-message.d.ts +6 -0
- package/dist/side-panel/layer-panel/layer-error-message.js +58 -0
- package/dist/side-panel/layer-panel/layer-list.d.ts +4 -3
- package/dist/side-panel/layer-panel/layer-list.js +112 -89
- package/dist/side-panel/layer-panel/layer-panel-header.d.ts +22 -10
- package/dist/side-panel/layer-panel/layer-panel-header.js +106 -67
- package/dist/side-panel/layer-panel/layer-panel.d.ts +3 -1
- package/dist/side-panel/layer-panel/layer-panel.js +24 -11
- package/dist/side-panel/layer-panel/layer-type-dropdown-list.js +2 -2
- package/dist/side-panel/layer-panel/layer-type-list-item.d.ts +12 -3
- package/dist/side-panel/layer-panel/layer-type-list-item.js +12 -4
- package/dist/side-panel/layer-panel/layer-type-selector.d.ts +2 -1
- package/dist/side-panel/layer-panel/layer-type-selector.js +5 -3
- package/dist/side-panel/layer-panel/single-color-palette.d.ts +1 -1
- package/dist/side-panel/layer-panel/single-color-palette.js +2 -2
- package/dist/side-panel/layer-panel/text-label-panel.d.ts +4 -2
- package/dist/side-panel/layer-panel/text-label-panel.js +62 -15
- package/dist/side-panel/layer-panel/vis-config-by-field-selector.d.ts +1 -3
- package/dist/side-panel/layer-panel/vis-config-by-field-selector.js +2 -2
- package/dist/side-panel/layer-panel/vis-config-slider.js +2 -2
- package/dist/side-panel/layer-panel/vis-config-switch.js +2 -2
- package/dist/side-panel/map-manager.d.ts +13 -6
- package/dist/side-panel/map-manager.js +56 -45
- package/dist/side-panel/map-style-panel/map-layer-group-color-picker.d.ts +14 -0
- package/dist/side-panel/map-style-panel/map-layer-group-color-picker.js +116 -0
- package/dist/side-panel/map-style-panel/map-layer-group-item.d.ts +29 -0
- package/dist/side-panel/map-style-panel/map-layer-group-item.js +131 -0
- package/dist/side-panel/map-style-panel/map-layer-selector.d.ts +16 -12
- package/dist/side-panel/map-style-panel/map-layer-selector.js +34 -51
- package/dist/side-panel/map-style-panel/map-style-selector.d.ts +11 -4
- package/dist/side-panel/map-style-panel/map-style-selector.js +54 -20
- package/dist/side-panel/panel-dropdown.d.ts +3 -2
- package/dist/side-panel/panel-dropdown.js +2 -2
- package/dist/side-panel/panel-header-action.d.ts +4 -2
- package/dist/side-panel/panel-header-action.js +11 -4
- package/dist/side-panel/panel-header.d.ts +13 -8
- package/dist/side-panel/panel-header.js +2 -2
- package/dist/side-panel/panel-tab.d.ts +2 -2
- package/dist/side-panel/panel-tab.js +2 -2
- package/dist/side-panel/panel-title.d.ts +6 -3
- package/dist/side-panel/panel-title.js +31 -14
- package/dist/side-panel/panel-toggle.d.ts +1 -1
- package/dist/side-panel/panel-toggle.js +2 -2
- package/dist/side-panel/{layer-panel/panel-view-list-toggle.d.ts → panel-view-list-toggle.d.ts} +19 -8
- package/dist/side-panel/panel-view-list-toggle.js +143 -0
- package/dist/side-panel/side-bar.d.ts +15 -16
- package/dist/side-panel/side-bar.js +8 -6
- package/dist/side-panel.d.ts +2 -117
- package/dist/side-panel.js +14 -20
- package/dist/types.d.ts +16 -9
- package/dist/types.js +1 -1
- package/package.json +41 -34
- package/dist/editor/constants.d.ts +0 -17
- package/dist/editor/constants.js +0 -47
- package/dist/editor/feature-styles.d.ts +0 -37
- package/dist/editor/feature-styles.js +0 -92
- package/dist/editor/handle-style.d.ts +0 -42
- package/dist/editor/handle-style.js +0 -100
- package/dist/side-panel/layer-panel/panel-view-list-toggle.js +0 -143
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright (c)
|
|
1
|
+
// Copyright (c) 2023 Uber Technologies, Inc.
|
|
2
2
|
//
|
|
3
3
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
4
|
// of this software and associated documentation files (the "Software"), to deal
|
|
@@ -22,8 +22,6 @@
|
|
|
22
22
|
|
|
23
23
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
24
24
|
|
|
25
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
26
|
-
|
|
27
25
|
Object.defineProperty(exports, "__esModule", {
|
|
28
26
|
value: true
|
|
29
27
|
});
|
|
@@ -31,125 +29,105 @@ exports["default"] = void 0;
|
|
|
31
29
|
|
|
32
30
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
33
31
|
|
|
34
|
-
var _react =
|
|
32
|
+
var _react = _interopRequireDefault(require("react"));
|
|
35
33
|
|
|
36
34
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
37
35
|
|
|
38
36
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
39
37
|
|
|
40
|
-
var
|
|
38
|
+
var _styles = require("@kepler.gl/styles");
|
|
41
39
|
|
|
42
|
-
var
|
|
40
|
+
var _timelineSlider = _interopRequireDefault(require("../timeline-slider"));
|
|
43
41
|
|
|
44
42
|
var _playbackControls = _interopRequireDefault(require("./playback-controls"));
|
|
45
43
|
|
|
46
44
|
var _floatingTimeDisplay = _interopRequireDefault(require("./floating-time-display"));
|
|
47
45
|
|
|
48
|
-
var
|
|
49
|
-
|
|
50
|
-
var _constants = require("@kepler.gl/constants");
|
|
51
|
-
|
|
52
|
-
var _styles = require("@kepler.gl/styles");
|
|
53
|
-
|
|
54
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
46
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
55
47
|
|
|
56
48
|
var SLIDER_MARGIN_PALM = 6;
|
|
57
49
|
|
|
58
|
-
var
|
|
50
|
+
var AnimationControlContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n padding: ", ";\n position: relative;\n margin-top: ", "px;\n\n ", "\n"])), function (props) {
|
|
51
|
+
return "".concat(props.theme.bottomInnerPdVert, "px ").concat(props.theme.bottomInnerPdSide, "px");
|
|
52
|
+
}, function (props) {
|
|
53
|
+
return props.theme.bottomPanelGap;
|
|
54
|
+
}, _styles.media.portable(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n border-top: 1px solid ", ";\n border-left: 1px solid ", ";\n padding: 12px 12px;\n margin-top: 0;\n "])), function (props) {
|
|
55
|
+
return props.theme.panelBorderColor;
|
|
56
|
+
}, function (props) {
|
|
57
|
+
return props.theme.panelBorderColor;
|
|
58
|
+
}));
|
|
59
59
|
|
|
60
60
|
var AnimationWidgetInner = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n display: flex;\n align-items: center;\n\n .animation-control__time-slider {\n display: flex;\n align-items: center;\n height: 32px;\n width: 100%;\n }\n .playback-controls {\n margin-left: 16px;\n }\n\n ", ";\n"])), _styles.media.palm(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n flex-direction: column;\n .playback-controls {\n margin: 0;\n }\n .animation-control__time-slider {\n width: 100%;\n position: relative;\n }\n .animation-control__time-domain {\n position: absolute;\n top: -24px;\n\n &.domain-start {\n left: ", "px;\n }\n &.domain-end {\n right: ", "px;\n }\n }\n "])), SLIDER_MARGIN_PALM, SLIDER_MARGIN_PALM));
|
|
61
61
|
|
|
62
|
-
var
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
})(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-weight: 400;\n font-size: 10px;\n"])), function (props) {
|
|
67
|
-
return props.theme.titleTextColor;
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
AnimationControlFactory.deps = [_playbackControls["default"], _floatingTimeDisplay["default"]];
|
|
62
|
+
var TIMELINE_PLAYBACK_STYLE = {
|
|
63
|
+
flex: 1
|
|
64
|
+
};
|
|
65
|
+
AnimationControlFactory.deps = [_playbackControls["default"], _floatingTimeDisplay["default"], _timelineSlider["default"]];
|
|
71
66
|
|
|
72
|
-
function AnimationControlFactory(PlaybackControls, FloatingTimeDisplay) {
|
|
67
|
+
function AnimationControlFactory(PlaybackControls, FloatingTimeDisplay, TimelineSlider) {
|
|
73
68
|
var AnimationControl = function AnimationControl(_ref) {
|
|
74
|
-
var
|
|
69
|
+
var className = _ref.className,
|
|
70
|
+
style = _ref.style,
|
|
71
|
+
isAnimatable = _ref.isAnimatable,
|
|
75
72
|
isAnimating = _ref.isAnimating,
|
|
76
73
|
resetAnimation = _ref.resetAnimation,
|
|
77
74
|
toggleAnimation = _ref.toggleAnimation,
|
|
78
|
-
setLayerAnimationTime = _ref.setLayerAnimationTime,
|
|
79
75
|
updateAnimationSpeed = _ref.updateAnimationSpeed,
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
}, [domain, dateFunc]);
|
|
104
|
-
var timeEnd = (0, _react.useMemo)(function () {
|
|
105
|
-
return domain ? dateFunc(domain[1]) : '';
|
|
106
|
-
}, [domain, dateFunc]);
|
|
107
|
-
return /*#__PURE__*/_react["default"].createElement(_styledComponents2.BottomWidgetInner, {
|
|
108
|
-
className: "bottom-widget--inner"
|
|
76
|
+
setTimelineValue = _ref.setTimelineValue,
|
|
77
|
+
setAnimationWindow = _ref.setAnimationWindow,
|
|
78
|
+
timeline = _ref.timeline,
|
|
79
|
+
_ref$showTimeline = _ref.showTimeline,
|
|
80
|
+
showTimeline = _ref$showTimeline === void 0 ? true : _ref$showTimeline,
|
|
81
|
+
_ref$showControls = _ref.showControls,
|
|
82
|
+
showControls = _ref$showControls === void 0 ? true : _ref$showControls,
|
|
83
|
+
_ref$showTimeDisplay = _ref.showTimeDisplay,
|
|
84
|
+
showTimeDisplay = _ref$showTimeDisplay === void 0 ? true : _ref$showTimeDisplay;
|
|
85
|
+
|
|
86
|
+
if (!timeline) {
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
var animationWindow = timeline.animationWindow,
|
|
91
|
+
value = timeline.value,
|
|
92
|
+
speed = timeline.speed,
|
|
93
|
+
defaultTimeFormat = timeline.defaultTimeFormat,
|
|
94
|
+
timeFormat = timeline.timeFormat,
|
|
95
|
+
timezone = timeline.timezone;
|
|
96
|
+
return /*#__PURE__*/_react["default"].createElement(AnimationControlContainer, {
|
|
97
|
+
style: style,
|
|
98
|
+
className: (0, _classnames["default"])('animation-control-container', className)
|
|
109
99
|
}, /*#__PURE__*/_react["default"].createElement(AnimationWidgetInner, {
|
|
110
100
|
className: "animation-widget--inner"
|
|
111
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
}
|
|
116
|
-
className: "animation-control__slider"
|
|
117
|
-
}, /*#__PURE__*/_react["default"].createElement(_slider["default"], {
|
|
118
|
-
isRanged: false,
|
|
119
|
-
step: step,
|
|
120
|
-
minValue: domain ? domain[0] : 0,
|
|
121
|
-
maxValue: domain ? domain[1] : 1,
|
|
122
|
-
value1: currentTime,
|
|
123
|
-
onSlider1Change: onSlider1Change,
|
|
124
|
-
enableBarDrag: true
|
|
125
|
-
})), /*#__PURE__*/_react["default"].createElement(StyledDomain, {
|
|
126
|
-
className: "domain-end"
|
|
127
|
-
}, /*#__PURE__*/_react["default"].createElement("span", null, timeEnd))), /*#__PURE__*/_react["default"].createElement(PlaybackControls, {
|
|
101
|
+
}, showTimeline ? /*#__PURE__*/_react["default"].createElement(TimelineSlider, {
|
|
102
|
+
style: TIMELINE_PLAYBACK_STYLE,
|
|
103
|
+
timeline: timeline,
|
|
104
|
+
setTimelineValue: setTimelineValue
|
|
105
|
+
}) : null, showControls ? /*#__PURE__*/_react["default"].createElement(PlaybackControls, {
|
|
128
106
|
className: "animation-control-playpause",
|
|
107
|
+
isAnimatable: isAnimatable,
|
|
129
108
|
startAnimation: toggleAnimation,
|
|
130
109
|
isAnimating: isAnimating,
|
|
131
110
|
pauseAnimation: toggleAnimation,
|
|
132
111
|
resetAnimation: resetAnimation,
|
|
133
112
|
speed: speed,
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
113
|
+
updateAnimationSpeed: updateAnimationSpeed,
|
|
114
|
+
setFilterAnimationWindow: setAnimationWindow,
|
|
115
|
+
animationWindow: animationWindow
|
|
116
|
+
}) : null), showTimeDisplay ? /*#__PURE__*/_react["default"].createElement(FloatingTimeDisplay, {
|
|
117
|
+
currentTime: value,
|
|
138
118
|
defaultTimeFormat: defaultTimeFormat,
|
|
139
119
|
timeFormat: timeFormat,
|
|
140
120
|
timezone: timezone
|
|
141
|
-
}));
|
|
121
|
+
}) : null);
|
|
142
122
|
};
|
|
143
123
|
|
|
144
124
|
AnimationControl.defaultProps = {
|
|
145
125
|
toggleAnimation: function toggleAnimation() {},
|
|
146
|
-
updateAnimationSpeed: function updateAnimationSpeed() {}
|
|
147
|
-
animationControlProps: {},
|
|
148
|
-
animationConfig: {}
|
|
126
|
+
updateAnimationSpeed: function updateAnimationSpeed() {}
|
|
149
127
|
};
|
|
150
128
|
return AnimationControl;
|
|
151
129
|
}
|
|
152
130
|
|
|
153
131
|
var _default = AnimationControlFactory;
|
|
154
132
|
exports["default"] = _default;
|
|
155
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vYW5pbWF0aW9uLWNvbnRyb2wvYW5pbWF0aW9uLWNvbnRyb2wudHN4Il0sIm5hbWVzIjpbIlNMSURFUl9NQVJHSU5fUEFMTSIsIlNsaWRlcldyYXBwZXIiLCJzdHlsZWQiLCJkaXYiLCJtZWRpYSIsInBhbG0iLCJBbmltYXRpb25XaWRnZXRJbm5lciIsIlN0eWxlZERvbWFpbiIsImF0dHJzIiwicHJvcHMiLCJjbGFzc05hbWUiLCJ0aGVtZSIsInRpdGxlVGV4dENvbG9yIiwiQW5pbWF0aW9uQ29udHJvbEZhY3RvcnkiLCJkZXBzIiwiUGxheWJhY2tDb250cm9sc0ZhY3RvcnkiLCJGbG9hdGluZ1RpbWVEaXNwbGF5RmFjdG9yeSIsIlBsYXliYWNrQ29udHJvbHMiLCJGbG9hdGluZ1RpbWVEaXNwbGF5IiwiQW5pbWF0aW9uQ29udHJvbCIsImlzQW5pbWF0YWJsZSIsImlzQW5pbWF0aW5nIiwicmVzZXRBbmltYXRpb24iLCJ0b2dnbGVBbmltYXRpb24iLCJzZXRMYXllckFuaW1hdGlvblRpbWUiLCJ1cGRhdGVBbmltYXRpb25TcGVlZCIsImFuaW1hdGlvbkNvbmZpZyIsImN1cnJlbnRUaW1lIiwiZG9tYWluIiwic3BlZWQiLCJzdGVwIiwidGltZVN0ZXBzIiwidGltZUZvcm1hdCIsInRpbWV6b25lIiwiZGVmYXVsdFRpbWVGb3JtYXQiLCJvblNsaWRlcjFDaGFuZ2UiLCJ2YWwiLCJBcnJheSIsImlzQXJyYXkiLCJkYXRlRnVuYyIsImhhc1VzZXJGb3JtYXQiLCJjdXJyZW50Rm9ybWF0IiwiREVGQVVMVF9USU1FX0ZPUk1BVCIsInRpbWVTdGFydCIsInRpbWVFbmQiLCJkZWZhdWx0UHJvcHMiLCJhbmltYXRpb25Db250cm9sUHJvcHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7QUFFQSxJQUFNQSxrQkFBa0Is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O0FBS0UsTUFBQSxjQUFjLEVBQUVELGNBTGxCO0FBTUUsTUFBQSxLQUFLLEVBQUVPLEtBTlQ7QUFPRSxNQUFBLFlBQVksRUFBRVQsWUFQaEI7QUFRRSxNQUFBLG9CQUFvQixFQUFFSztBQVJ4QixNQXBCRixDQURGLGVBZ0NFLGdDQUFDLG1CQUFEO0FBQ0UsTUFBQSxXQUFXLEVBQUVFLFdBRGY7QUFFRSxNQUFBLGlCQUFpQixFQUFFTyxpQkFGckI7QUFHRSxNQUFBLFVBQVUsRUFBRUYsVUFIZDtBQUlFLE1BQUEsUUFBUSxFQUFFQztBQUpaLE1BaENGLENBREY7QUF5Q0QsR0FsRkQ7O0FBb0ZBZCxFQUFBQSxnQkFBZ0IsQ0FBQzBCLFlBQWpCLEdBQWdDO0FBQzlCdEIsSUFBQUEsZUFBZSxFQUFFLDJCQUFNLENBQUUsQ0FESztBQUU5QkUsSUFBQUEsb0JBQW9CLEVBQUUsZ0NBQU0sQ0FBRSxDQUZBO0FBRzlCcUIsSUFBQUEscUJBQXFCLEVBQUUsRUFITztBQUk5QnBCLElBQUFBLGVBQWUsRUFBRTtBQUphLEdBQWhDO0FBT0EsU0FBT1AsZ0JBQVA7QUFDRDs7ZUFFY04sdUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFjaywgdXNlTWVtb30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcblxuaW1wb3J0IFNsaWRlciBmcm9tICcuLi9zbGlkZXIvc2xpZGVyJztcbmltcG9ydCB7Qm90dG9tV2lkZ2V0SW5uZXJ9IGZyb20gJy4uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBQbGF5YmFja0NvbnRyb2xzRmFjdG9yeSBmcm9tICcuL3BsYXliYWNrLWNvbnRyb2xzJztcbmltcG9ydCBGbG9hdGluZ1RpbWVEaXNwbGF5RmFjdG9yeSBmcm9tICcuL2Zsb2F0aW5nLXRpbWUtZGlzcGxheSc7XG5pbXBvcnQge2RhdGV0aW1lRm9ybWF0dGVyLCBzbmFwVG9NYXJrc30gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge0RFRkFVTFRfVElNRV9GT1JNQVR9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7bWVkaWF9IGZyb20gJ0BrZXBsZXIuZ2wvc3R5bGVzJztcblxuY29uc3QgU0xJREVSX01BUkdJTl9QQUxNID0gNjtcblxuY29uc3QgU2xpZGVyV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW46IDAgMjRweDtcblxuICAke21lZGlhLnBhbG1gXG4gICAgbWFyZ2luOiAwICR7U0xJREVSX01BUkdJTl9QQUxNfXB4O1xuICBgfVxuYDtcblxuY29uc3QgQW5pbWF0aW9uV2lkZ2V0SW5uZXIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgLmFuaW1hdGlvbi1jb250cm9sX190aW1lLXNsaWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogMzJweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAucGxheWJhY2stY29udHJvbHMge1xuICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICB9XG5cbiAgJHttZWRpYS5wYWxtYFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLnBsYXliYWNrLWNvbnRyb2xzIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgLmFuaW1hdGlvbi1jb250cm9sX190aW1lLXNsaWRlciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgLmFuaW1hdGlvbi1jb250cm9sX190aW1lLWRvbWFpbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0yNHB4O1xuXG4gICAgICAmLmRvbWFpbi1zdGFydCB7XG4gICAgICAgIGxlZnQ6ICR7U0xJREVSX01BUkdJTl9QQUxNfXB4O1xuICAgICAgfVxuICAgICAgJi5kb21haW4tZW5kIHtcbiAgICAgICAgcmlnaHQ6ICR7U0xJREVSX01BUkdJTl9QQUxNfXB4O1xuICAgICAgfVxuICAgIH1cbiAgYH07XG5gO1xuXG5jb25zdCBTdHlsZWREb21haW4gPSBzdHlsZWQuZGl2LmF0dHJzKHByb3BzID0+ICh7XG4gIGNsYXNzTmFtZTogY2xhc3NuYW1lcygnYW5pbWF0aW9uLWNvbnRyb2xfX3RpbWUtZG9tYWluJywgcHJvcHMuY2xhc3NOYW1lKVxufSkpYFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50aXRsZVRleHRDb2xvcn07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMTBweDtcbmA7XG5cbkFuaW1hdGlvbkNvbnRyb2xGYWN0b3J5LmRlcHMgPSBbUGxheWJhY2tDb250cm9sc0ZhY3RvcnksIEZsb2F0aW5nVGltZURpc3BsYXlGYWN0b3J5XTtcblxuZnVuY3Rpb24gQW5pbWF0aW9uQ29udHJvbEZhY3RvcnkoXG4gIFBsYXliYWNrQ29udHJvbHM6IFJldHVyblR5cGU8dHlwZW9mIFBsYXliYWNrQ29udHJvbHNGYWN0b3J5PixcbiAgRmxvYXRpbmdUaW1lRGlzcGxheTogUmV0dXJuVHlwZTx0eXBlb2YgRmxvYXRpbmdUaW1lRGlzcGxheUZhY3Rvcnk+XG4pIHtcbiAgY29uc3QgQW5pbWF0aW9uQ29udHJvbCA9ICh7XG4gICAgaXNBbmltYXRhYmxlLFxuICAgIGlzQW5pbWF0aW5nLFxuICAgIHJlc2V0QW5pbWF0aW9uLFxuICAgIHRvZ2dsZUFuaW1hdGlvbixcbiAgICBzZXRMYXllckFuaW1hdGlvblRpbWUsXG4gICAgdXBkYXRlQW5pbWF0aW9uU3BlZWQsXG4gICAgYW5pbWF0aW9uQ29uZmlnXG4gIH0pID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBjdXJyZW50VGltZSxcbiAgICAgIGRvbWFpbixcbiAgICAgIHNwZWVkLFxuICAgICAgc3RlcCxcbiAgICAgIHRpbWVTdGVwcyxcbiAgICAgIHRpbWVGb3JtYXQsXG4gICAgICB0aW1lem9uZSxcbiAgICAgIGRlZmF1bHRUaW1lRm9ybWF0XG4gICAgfSA9IGFuaW1hdGlvbkNvbmZpZztcbiAgICBjb25zdCBvblNsaWRlcjFDaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAgIHZhbCA9PiB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRpbWVTdGVwcykpIHtcbiAgICAgICAgICBzZXRMYXllckFuaW1hdGlvblRpbWUoc25hcFRvTWFya3ModmFsLCB0aW1lU3RlcHMpKTtcblxuICAgICAgICAgIC8vIFRPRE86IG1lcmdlIHNsaWRlciBpbiB0byBhdm9pZCB0aGlzIHN0ZXBcbiAgICAgICAgfSBlbHNlIGlmICh2YWwgPj0gZG9tYWluWzBdICYmIHZhbCA8PSBkb21haW5bMV0pIHtcbiAgICAgICAgICBzZXRMYXllckFuaW1hdGlvblRpbWUodmFsKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFtkb21haW4sIHRpbWVTdGVwcywgc2V0TGF5ZXJBbmltYXRpb25UaW1lXVxuICAgICk7XG5cbiAgICBjb25zdCBkYXRlRnVuYyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgY29uc3QgaGFzVXNlckZvcm1hdCA9IHR5cGVvZiB0aW1lRm9ybWF0ID09PSAnc3RyaW5nJztcbiAgICAgIGNvbnN0IGN1cnJlbnRGb3JtYXQgPSAoaGFzVXNlckZvcm1hdCA/IHRpbWVGb3JtYXQgOiBkZWZhdWx0VGltZUZvcm1hdCkgfHwgREVGQVVMVF9USU1FX0ZPUk1BVDtcbiAgICAgIHJldHVybiBkYXRldGltZUZvcm1hdHRlcih0aW1lem9uZSkoY3VycmVudEZvcm1hdCk7XG4gICAgfSwgW3RpbWVGb3JtYXQsIGRlZmF1bHRUaW1lRm9ybWF0LCB0aW1lem9uZV0pO1xuXG4gICAgY29uc3QgdGltZVN0YXJ0ID0gdXNlTWVtbygoKSA9PiAoZG9tYWluID8gZGF0ZUZ1bmMoZG9tYWluWzBdKSA6ICcnKSwgW2RvbWFpbiwgZGF0ZUZ1bmNdKTtcbiAgICBjb25zdCB0aW1lRW5kID0gdXNlTWVtbygoKSA9PiAoZG9tYWluID8gZGF0ZUZ1bmMoZG9tYWluWzFdKSA6ICcnKSwgW2RvbWFpbiwgZGF0ZUZ1bmNdKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8Qm90dG9tV2lkZ2V0SW5uZXIgY2xhc3NOYW1lPVwiYm90dG9tLXdpZGdldC0taW5uZXJcIj5cbiAgICAgICAgPEFuaW1hdGlvbldpZGdldElubmVyIGNsYXNzTmFtZT1cImFuaW1hdGlvbi13aWRnZXQtLWlubmVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhbmltYXRpb24tY29udHJvbF9fdGltZS1zbGlkZXJcIj5cbiAgICAgICAgICAgIDxTdHlsZWREb21haW4gY2xhc3NOYW1lPVwiZG9tYWluLXN0YXJ0XCI+XG4gICAgICAgICAgICAgIDxzcGFuPnt0aW1lU3RhcnR9PC9zcGFuPlxuICAgICAgICAgICAgPC9TdHlsZWREb21haW4+XG4gICAgICAgICAgICA8U2xpZGVyV3JhcHBlciBjbGFzc05hbWU9XCJhbmltYXRpb24tY29udHJvbF9fc2xpZGVyXCI+XG4gICAgICAgICAgICAgIDxTbGlkZXJcbiAgICAgICAgICAgICAgICBpc1JhbmdlZD17ZmFsc2V9XG4gICAgICAgICAgICAgICAgc3RlcD17c3RlcH1cbiAgICAgICAgICAgICAgICBtaW5WYWx1ZT17ZG9tYWluID8gZG9tYWluWzBdIDogMH1cbiAgICAgICAgICAgICAgICBtYXhWYWx1ZT17ZG9tYWluID8gZG9tYWluWzFdIDogMX1cbiAgICAgICAgICAgICAgICB2YWx1ZTE9e2N1cnJlbnRUaW1lfVxuICAgICAgICAgICAgICAgIG9uU2xpZGVyMUNoYW5nZT17b25TbGlkZXIxQ2hhbmdlfVxuICAgICAgICAgICAgICAgIGVuYWJsZUJhckRyYWc9e3RydWV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L1NsaWRlcldyYXBwZXI+XG4gICAgICAgICAgICA8U3R5bGVkRG9tYWluIGNsYXNzTmFtZT1cImRvbWFpbi1lbmRcIj5cbiAgICAgICAgICAgICAgPHNwYW4+e3RpbWVFbmR9PC9zcGFuPlxuICAgICAgICAgICAgPC9TdHlsZWREb21haW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPFBsYXliYWNrQ29udHJvbHNcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImFuaW1hdGlvbi1jb250cm9sLXBsYXlwYXVzZVwiXG4gICAgICAgICAgICBzdGFydEFuaW1hdGlvbj17dG9nZ2xlQW5pbWF0aW9ufVxuICAgICAgICAgICAgaXNBbmltYXRpbmc9e2lzQW5pbWF0aW5nfVxuICAgICAgICAgICAgcGF1c2VBbmltYXRpb249e3RvZ2dsZUFuaW1hdGlvbn1cbiAgICAgICAgICAgIHJlc2V0QW5pbWF0aW9uPXtyZXNldEFuaW1hdGlvbn1cbiAgICAgICAgICAgIHNwZWVkPXtzcGVlZH1cbiAgICAgICAgICAgIGlzQW5pbWF0YWJsZT17aXNBbmltYXRhYmxlfVxuICAgICAgICAgICAgdXBkYXRlQW5pbWF0aW9uU3BlZWQ9e3VwZGF0ZUFuaW1hdGlvblNwZWVkfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvQW5pbWF0aW9uV2lkZ2V0SW5uZXI+XG4gICAgICAgIDxGbG9hdGluZ1RpbWVEaXNwbGF5XG4gICAgICAgICAgY3VycmVudFRpbWU9e2N1cnJlbnRUaW1lfVxuICAgICAgICAgIGRlZmF1bHRUaW1lRm9ybWF0PXtkZWZhdWx0VGltZUZvcm1hdH1cbiAgICAgICAgICB0aW1lRm9ybWF0PXt0aW1lRm9ybWF0fVxuICAgICAgICAgIHRpbWV6b25lPXt0aW1lem9uZX1cbiAgICAgICAgLz5cbiAgICAgIDwvQm90dG9tV2lkZ2V0SW5uZXI+XG4gICAgKTtcbiAgfTtcblxuICBBbmltYXRpb25Db250cm9sLmRlZmF1bHRQcm9wcyA9IHtcbiAgICB0b2dnbGVBbmltYXRpb246ICgpID0+IHt9LFxuICAgIHVwZGF0ZUFuaW1hdGlvblNwZWVkOiAoKSA9PiB7fSxcbiAgICBhbmltYXRpb25Db250cm9sUHJvcHM6IHt9LFxuICAgIGFuaW1hdGlvbkNvbmZpZzoge31cbiAgfTtcblxuICByZXR1cm4gQW5pbWF0aW9uQ29udHJvbDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgQW5pbWF0aW9uQ29udHJvbEZhY3Rvcnk7XG4iXX0=
|
|
133
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vYW5pbWF0aW9uLWNvbnRyb2wvYW5pbWF0aW9uLWNvbnRyb2wudHN4Il0sIm5hbWVzIjpbIlNMSURFUl9NQVJHSU5fUEFMTSIsIkFuaW1hdGlvbkNvbnRyb2xDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiLCJwcm9wcyIsInRoZW1lIiwiYm90dG9tSW5uZXJQZFZlcnQiLCJib3R0b21Jbm5lclBkU2lkZSIsImJvdHRvbVBhbmVsR2FwIiwibWVkaWEiLCJwb3J0YWJsZSIsInBhbmVsQm9yZGVyQ29sb3IiLCJBbmltYXRpb25XaWRnZXRJbm5lciIsInBhbG0iLCJUSU1FTElORV9QTEFZQkFDS19TVFlMRSIsImZsZXgiLCJBbmltYXRpb25Db250cm9sRmFjdG9yeSIsImRlcHMiLCJQbGF5YmFja0NvbnRyb2xzRmFjdG9yeSIsIkZsb2F0aW5nVGltZURpc3BsYXlGYWN0b3J5IiwiVGltZWxpbmVTbGlkZXJGYWN0b3J5IiwiUGxheWJhY2tDb250cm9scyIsIkZsb2F0aW5nVGltZURpc3BsYXkiLCJUaW1lbGluZVNsaWRlciIsIkFuaW1hdGlvbkNvbnRyb2wiLCJjbGFzc05hbWUiLCJzdHlsZSIsImlzQW5pbWF0YWJsZSIsImlzQW5pbWF0aW5nIiwicmVzZXRBbmltYXRpb24iLCJ0b2dnbGVBbmltYXRpb24iLCJ1cGRhdGVBbmltYXRpb25TcGVlZCIsInNldFRpbWVsaW5lVmFsdWUiLCJzZXRBbmltYXRpb25XaW5kb3ciLCJ0aW1lbGluZSIsInNob3dUaW1lbGluZSIsInNob3dDb250cm9scyIsInNob3dUaW1lRGlzcGxheSIsImFuaW1hdGlvbldpbmRvdyIsInZhbHVlIiwic3BlZWQiLCJkZWZhdWx0VGltZUZvcm1hdCIsInRpbWVGb3JtYXQiLCJ0aW1lem9uZSIsImRlZmF1bHRQcm9wcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBR0E7O0FBQ0E7O0FBQ0E7Ozs7QUFFQSxJQUFN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QUFjLEVBQUVHLGVBSGxCO0FBSUUsTUFBQSxXQUFXLEVBQUVGLFdBSmY7QUFLRSxNQUFBLGNBQWMsRUFBRUUsZUFMbEI7QUFNRSxNQUFBLGNBQWMsRUFBRUQsY0FObEI7QUFPRSxNQUFBLEtBQUssRUFBRVcsS0FQVDtBQVFFLE1BQUEsb0JBQW9CLEVBQUVULG9CQVJ4QjtBQVNFLE1BQUEsd0JBQXdCLEVBQUVFLGtCQVQ1QjtBQVVFLE1BQUEsZUFBZSxFQUFFSztBQVZuQixNQURXLEdBYVQsSUFyQk4sQ0FKRixFQTJCR0QsZUFBZSxnQkFDZCxnQ0FBQyxtQkFBRDtBQUNFLE1BQUEsV0FBVyxFQUFFRSxLQURmO0FBRUUsTUFBQSxpQkFBaUIsRUFBRUUsaUJBRnJCO0FBR0UsTUFBQSxVQUFVLEVBQUVDLFVBSGQ7QUFJRSxNQUFBLFFBQVEsRUFBRUM7QUFKWixNQURjLEdBT1osSUFsQ04sQ0FERjtBQXNDRCxHQTNERDs7QUE2REFuQixFQUFBQSxnQkFBZ0IsQ0FBQ29CLFlBQWpCLEdBQWdDO0FBQzlCZCxJQUFBQSxlQUFlLEVBQUUsMkJBQU0sQ0FBRSxDQURLO0FBRTlCQyxJQUFBQSxvQkFBb0IsRUFBRSxnQ0FBTSxDQUFFO0FBRkEsR0FBaEM7QUFLQSxTQUFPUCxnQkFBUDtBQUNEOztlQUVjUix1QiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMyBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuXG5pbXBvcnQge21lZGlhfSBmcm9tICdAa2VwbGVyLmdsL3N0eWxlcyc7XG5pbXBvcnQge1RpbWVsaW5lfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcblxuaW1wb3J0IFRpbWVsaW5lU2xpZGVyRmFjdG9yeSBmcm9tICcuLi90aW1lbGluZS1zbGlkZXInO1xuaW1wb3J0IFBsYXliYWNrQ29udHJvbHNGYWN0b3J5IGZyb20gJy4vcGxheWJhY2stY29udHJvbHMnO1xuaW1wb3J0IEZsb2F0aW5nVGltZURpc3BsYXlGYWN0b3J5IGZyb20gJy4vZmxvYXRpbmctdGltZS1kaXNwbGF5JztcblxuY29uc3QgU0xJREVSX01BUkdJTl9QQUxNID0gNjtcblxuY29uc3QgQW5pbWF0aW9uQ29udHJvbENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6ICR7cHJvcHMgPT4gYCR7cHJvcHMudGhlbWUuYm90dG9tSW5uZXJQZFZlcnR9cHggJHtwcm9wcy50aGVtZS5ib3R0b21Jbm5lclBkU2lkZX1weGB9O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm90dG9tUGFuZWxHYXB9cHg7XG5cbiAgJHttZWRpYS5wb3J0YWJsZWBcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJvcmRlckNvbG9yfTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCb3JkZXJDb2xvcn07XG4gICAgcGFkZGluZzogMTJweCAxMnB4O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIGB9XG5gO1xuXG5jb25zdCBBbmltYXRpb25XaWRnZXRJbm5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAuYW5pbWF0aW9uLWNvbnRyb2xfX3RpbWUtc2xpZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5wbGF5YmFjay1jb250cm9scyB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gIH1cblxuICAke21lZGlhLnBhbG1gXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAucGxheWJhY2stY29udHJvbHMge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAuYW5pbWF0aW9uLWNvbnRyb2xfX3RpbWUtc2xpZGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAuYW5pbWF0aW9uLWNvbnRyb2xfX3RpbWUtZG9tYWluIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTI0cHg7XG5cbiAgICAgICYuZG9tYWluLXN0YXJ0IHtcbiAgICAgICAgbGVmdDogJHtTTElERVJfTUFSR0lOX1BBTE19cHg7XG4gICAgICB9XG4gICAgICAmLmRvbWFpbi1lbmQge1xuICAgICAgICByaWdodDogJHtTTElERVJfTUFSR0lOX1BBTE19cHg7XG4gICAgICB9XG4gICAgfVxuICBgfTtcbmA7XG5cbmNvbnN0IFRJTUVMSU5FX1BMQVlCQUNLX1NUWUxFID0ge2ZsZXg6IDF9O1xuXG5leHBvcnQgdHlwZSBBbmltYXRpb25Db250cm9sUHJvcHMgPSB7XG4gIHRpbWVsaW5lPzogVGltZWxpbmU7XG4gIGlzQW5pbWF0YWJsZT86IGJvb2xlYW47XG4gIGlzQW5pbWF0aW5nPzogYm9vbGVhbjtcbiAgdXBkYXRlQW5pbWF0aW9uU3BlZWQ/OiAodmFsOiBudW1iZXIpID0+IHZvaWQ7XG4gIHNldEFuaW1hdGlvbldpbmRvdz86IChpZDogc3RyaW5nKSA9PiB2b2lkO1xuICB0b2dnbGVBbmltYXRpb246ICgpID0+IHZvaWQ7XG4gIHJlc2V0QW5pbWF0aW9uPzogKCkgPT4gdm9pZDtcbiAgc2V0VGltZWxpbmVWYWx1ZTogKHZhbHVlOiBudW1iZXJbXSkgPT4gdm9pZDtcbiAgc2hvd1RpbWVEaXNwbGF5PzogYm9vbGVhbjtcbiAgc2hvd1RpbWVsaW5lPzogYm9vbGVhbjtcbiAgc2hvd0NvbnRyb2xzPzogYm9vbGVhbjtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBzdHlsZT86IG9iamVjdDtcbn07XG5cbkFuaW1hdGlvbkNvbnRyb2xGYWN0b3J5LmRlcHMgPSBbXG4gIFBsYXliYWNrQ29udHJvbHNGYWN0b3J5LFxuICBGbG9hdGluZ1RpbWVEaXNwbGF5RmFjdG9yeSxcbiAgVGltZWxpbmVTbGlkZXJGYWN0b3J5XG5dO1xuXG5mdW5jdGlvbiBBbmltYXRpb25Db250cm9sRmFjdG9yeShcbiAgUGxheWJhY2tDb250cm9sczogUmV0dXJuVHlwZTx0eXBlb2YgUGxheWJhY2tDb250cm9sc0ZhY3Rvcnk+LFxuICBGbG9hdGluZ1RpbWVEaXNwbGF5OiBSZXR1cm5UeXBlPHR5cGVvZiBGbG9hdGluZ1RpbWVEaXNwbGF5RmFjdG9yeT4sXG4gIFRpbWVsaW5lU2xpZGVyOiBSZXR1cm5UeXBlPHR5cGVvZiBUaW1lbGluZVNsaWRlckZhY3Rvcnk+XG4pIHtcbiAgY29uc3QgQW5pbWF0aW9uQ29udHJvbDogUmVhY3QuRkM8QW5pbWF0aW9uQ29udHJvbFByb3BzPiA9ICh7XG4gICAgY2xhc3NOYW1lLFxuICAgIHN0eWxlLFxuICAgIGlzQW5pbWF0YWJsZSxcbiAgICBpc0FuaW1hdGluZyxcbiAgICByZXNldEFuaW1hdGlvbixcbiAgICB0b2dnbGVBbmltYXRpb24sXG4gICAgdXBkYXRlQW5pbWF0aW9uU3BlZWQsXG4gICAgc2V0VGltZWxpbmVWYWx1ZSxcbiAgICBzZXRBbmltYXRpb25XaW5kb3csXG4gICAgdGltZWxpbmUsXG4gICAgc2hvd1RpbWVsaW5lID0gdHJ1ZSxcbiAgICBzaG93Q29udHJvbHMgPSB0cnVlLFxuICAgIHNob3dUaW1lRGlzcGxheSA9IHRydWVcbiAgfSkgPT4ge1xuICAgIGlmICghdGltZWxpbmUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHthbmltYXRpb25XaW5kb3csIHZhbHVlLCBzcGVlZCwgZGVmYXVsdFRpbWVGb3JtYXQsIHRpbWVGb3JtYXQsIHRpbWV6b25lfSA9IHRpbWVsaW5lO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxBbmltYXRpb25Db250cm9sQ29udGFpbmVyXG4gICAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdhbmltYXRpb24tY29udHJvbC1jb250YWluZXInLCBjbGFzc05hbWUpfVxuICAgICAgPlxuICAgICAgICA8QW5pbWF0aW9uV2lkZ2V0SW5uZXIgY2xhc3NOYW1lPVwiYW5pbWF0aW9uLXdpZGdldC0taW5uZXJcIj5cbiAgICAgICAgICB7c2hvd1RpbWVsaW5lID8gKFxuICAgICAgICAgICAgPFRpbWVsaW5lU2xpZGVyXG4gICAgICAgICAgICAgIHN0eWxlPXtUSU1FTElORV9QTEFZQkFDS19TVFlMRX1cbiAgICAgICAgICAgICAgdGltZWxpbmU9e3RpbWVsaW5lfVxuICAgICAgICAgICAgICBzZXRUaW1lbGluZVZhbHVlPXtzZXRUaW1lbGluZVZhbHVlfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICB7c2hvd0NvbnRyb2xzID8gKFxuICAgICAgICAgICAgPFBsYXliYWNrQ29udHJvbHNcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYW5pbWF0aW9uLWNvbnRyb2wtcGxheXBhdXNlXCJcbiAgICAgICAgICAgICAgaXNBbmltYXRhYmxlPXtpc0FuaW1hdGFibGV9XG4gICAgICAgICAgICAgIHN0YXJ0QW5pbWF0aW9uPXt0b2dnbGVBbmltYXRpb259XG4gICAgICAgICAgICAgIGlzQW5pbWF0aW5nPXtpc0FuaW1hdGluZ31cbiAgICAgICAgICAgICAgcGF1c2VBbmltYXRpb249e3RvZ2dsZUFuaW1hdGlvbn1cbiAgICAgICAgICAgICAgcmVzZXRBbmltYXRpb249e3Jlc2V0QW5pbWF0aW9ufVxuICAgICAgICAgICAgICBzcGVlZD17c3BlZWR9XG4gICAgICAgICAgICAgIHVwZGF0ZUFuaW1hdGlvblNwZWVkPXt1cGRhdGVBbmltYXRpb25TcGVlZH1cbiAgICAgICAgICAgICAgc2V0RmlsdGVyQW5pbWF0aW9uV2luZG93PXtzZXRBbmltYXRpb25XaW5kb3d9XG4gICAgICAgICAgICAgIGFuaW1hdGlvbldpbmRvdz17YW5pbWF0aW9uV2luZG93fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9BbmltYXRpb25XaWRnZXRJbm5lcj5cbiAgICAgICAge3Nob3dUaW1lRGlzcGxheSA/IChcbiAgICAgICAgICA8RmxvYXRpbmdUaW1lRGlzcGxheVxuICAgICAgICAgICAgY3VycmVudFRpbWU9e3ZhbHVlfVxuICAgICAgICAgICAgZGVmYXVsdFRpbWVGb3JtYXQ9e2RlZmF1bHRUaW1lRm9ybWF0fVxuICAgICAgICAgICAgdGltZUZvcm1hdD17dGltZUZvcm1hdH1cbiAgICAgICAgICAgIHRpbWV6b25lPXt0aW1lem9uZX1cbiAgICAgICAgICAvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvQW5pbWF0aW9uQ29udHJvbENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIEFuaW1hdGlvbkNvbnRyb2wuZGVmYXVsdFByb3BzID0ge1xuICAgIHRvZ2dsZUFuaW1hdGlvbjogKCkgPT4ge30sXG4gICAgdXBkYXRlQW5pbWF0aW9uU3BlZWQ6ICgpID0+IHt9XG4gIH07XG5cbiAgcmV0dXJuIEFuaW1hdGlvbkNvbnRyb2w7XG59XG5cbmV4cG9ydCBkZWZhdWx0IEFuaW1hdGlvbkNvbnRyb2xGYWN0b3J5O1xuIl19
|
|
@@ -1,13 +1,17 @@
|
|
|
1
|
-
import { Component } from 'react';
|
|
1
|
+
import React, { Component } from 'react';
|
|
2
|
+
import { Timeline } from '@kepler.gl/types';
|
|
2
3
|
interface AnimationControllerProps<T extends number | number[]> {
|
|
3
4
|
isAnimating?: boolean;
|
|
4
5
|
speed?: number;
|
|
5
|
-
updateAnimation
|
|
6
|
+
updateAnimation?: (x: T) => void;
|
|
7
|
+
setTimelineValue: (x: T) => void;
|
|
8
|
+
timeline?: Timeline;
|
|
6
9
|
animationWindow?: string;
|
|
7
10
|
steps?: number[] | null;
|
|
8
11
|
domain: number[] | null;
|
|
9
12
|
value: T;
|
|
10
13
|
baseSpeed?: number;
|
|
14
|
+
children?: (isAnimating: boolean | undefined, startAnimation: () => void, pauseAnimation: () => void, resetAnimation: () => void, timeline: Timeline | undefined, setTimelineValue: (x: any) => void) => React.ReactElement | null;
|
|
11
15
|
}
|
|
12
16
|
declare class AnimationControllerType<T extends number | number[]> extends Component<AnimationControllerProps<T>> {
|
|
13
17
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright (c)
|
|
1
|
+
// Copyright (c) 2023 Uber Technologies, Inc.
|
|
2
2
|
//
|
|
3
3
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
4
|
// of this software and associated documentation files (the "Software"), to deal
|
|
@@ -133,32 +133,40 @@ function AnimationControllerFactory() {
|
|
|
133
133
|
var _this$props = _this.props,
|
|
134
134
|
domain = _this$props.domain,
|
|
135
135
|
value = _this$props.value,
|
|
136
|
-
animationWindow = _this$props.animationWindow
|
|
136
|
+
animationWindow = _this$props.animationWindow,
|
|
137
|
+
updateAnimation = _this$props.updateAnimation;
|
|
137
138
|
|
|
138
139
|
if (!domain) {
|
|
139
140
|
return;
|
|
140
|
-
}
|
|
141
|
+
} // interim solution while we fully migrate filter and layer controllers
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
var setTimelineValue = updateAnimation || _this.props.setTimelineValue;
|
|
141
145
|
|
|
142
146
|
if (Array.isArray(value)) {
|
|
143
147
|
if (animationWindow === _constants.ANIMATION_WINDOW.incremental) {
|
|
144
|
-
|
|
148
|
+
setTimelineValue([value[0], value[0] + 1]);
|
|
145
149
|
} else {
|
|
146
|
-
|
|
150
|
+
setTimelineValue([domain[0], domain[0] + value[1] - value[0]]);
|
|
147
151
|
}
|
|
148
152
|
} else {
|
|
149
|
-
|
|
153
|
+
setTimelineValue(domain[0]);
|
|
150
154
|
}
|
|
151
155
|
});
|
|
152
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "
|
|
153
|
-
var _this$
|
|
154
|
-
|
|
155
|
-
|
|
156
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_resetAnimationByTimeStep", function () {
|
|
157
|
+
var _this$props2 = _this.props,
|
|
158
|
+
_this$props2$steps = _this$props2.steps,
|
|
159
|
+
steps = _this$props2$steps === void 0 ? null : _this$props2$steps,
|
|
160
|
+
updateAnimation = _this$props2.updateAnimation;
|
|
161
|
+
if (!steps) return; // interim solution while we fully migrate filter and layer controllers
|
|
156
162
|
|
|
157
|
-
_this.props.
|
|
163
|
+
var setTimelineValue = updateAnimation || _this.props.setTimelineValue; // go to the first steps
|
|
164
|
+
|
|
165
|
+
setTimelineValue([steps[0], 0]);
|
|
158
166
|
});
|
|
159
167
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_resetAnimation", function () {
|
|
160
168
|
if (_this.props.animationWindow === _constants.ANIMATION_WINDOW.interval) {
|
|
161
|
-
_this.
|
|
169
|
+
_this._resetAnimationByTimeStep();
|
|
162
170
|
} else {
|
|
163
171
|
_this._resetAnimationByDomain();
|
|
164
172
|
}
|
|
@@ -210,9 +218,10 @@ function AnimationControllerFactory() {
|
|
|
210
218
|
});
|
|
211
219
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_nextFrame", function () {
|
|
212
220
|
_this._timer = null;
|
|
213
|
-
var nextValue = _this.props.animationWindow === _constants.ANIMATION_WINDOW.interval ? _this._nextFrameByTimeStep() : _this._nextFrameByDomain();
|
|
221
|
+
var nextValue = _this.props.animationWindow === _constants.ANIMATION_WINDOW.interval ? _this._nextFrameByTimeStep() : _this._nextFrameByDomain(); // interim solution while we fully migrate filter and layer controllers
|
|
214
222
|
|
|
215
|
-
_this.props.updateAnimation
|
|
223
|
+
var setTimelineValue = _this.props.updateAnimation || _this.props.setTimelineValue;
|
|
224
|
+
setTimelineValue(nextValue);
|
|
216
225
|
});
|
|
217
226
|
return _this;
|
|
218
227
|
}
|
|
@@ -237,10 +246,10 @@ function AnimationControllerFactory() {
|
|
|
237
246
|
}, {
|
|
238
247
|
key: "_startOrPauseAnimation",
|
|
239
248
|
value: function _startOrPauseAnimation() {
|
|
240
|
-
var _this$
|
|
241
|
-
isAnimating = _this$
|
|
242
|
-
_this$
|
|
243
|
-
speed = _this$
|
|
249
|
+
var _this$props3 = this.props,
|
|
250
|
+
isAnimating = _this$props3.isAnimating,
|
|
251
|
+
_this$props3$speed = _this$props3.speed,
|
|
252
|
+
speed = _this$props3$speed === void 0 ? 1 : _this$props3$speed;
|
|
244
253
|
|
|
245
254
|
if (!this._timer && isAnimating && speed > 0) {
|
|
246
255
|
this._startAnimation();
|
|
@@ -251,14 +260,14 @@ function AnimationControllerFactory() {
|
|
|
251
260
|
}, {
|
|
252
261
|
key: "_nextFrameByDomain",
|
|
253
262
|
value: function _nextFrameByDomain() {
|
|
254
|
-
var _this$
|
|
255
|
-
domain = _this$
|
|
256
|
-
value = _this$
|
|
257
|
-
_this$
|
|
258
|
-
speed = _this$
|
|
259
|
-
_this$
|
|
260
|
-
baseSpeed = _this$
|
|
261
|
-
animationWindow = _this$
|
|
263
|
+
var _this$props4 = this.props,
|
|
264
|
+
domain = _this$props4.domain,
|
|
265
|
+
value = _this$props4.value,
|
|
266
|
+
_this$props4$speed = _this$props4.speed,
|
|
267
|
+
speed = _this$props4$speed === void 0 ? 1 : _this$props4$speed,
|
|
268
|
+
_this$props4$baseSpee = _this$props4.baseSpeed,
|
|
269
|
+
baseSpeed = _this$props4$baseSpee === void 0 ? 600 : _this$props4$baseSpee,
|
|
270
|
+
animationWindow = _this$props4.animationWindow;
|
|
262
271
|
|
|
263
272
|
if (!domain) {
|
|
264
273
|
return;
|
|
@@ -270,13 +279,16 @@ function AnimationControllerFactory() {
|
|
|
270
279
|
if (Array.isArray(value)) {
|
|
271
280
|
var value0;
|
|
272
281
|
var value1;
|
|
273
|
-
var readEnd = value[1] + delta > domain[1];
|
|
274
282
|
|
|
275
283
|
if (animationWindow === _constants.ANIMATION_WINDOW.incremental) {
|
|
284
|
+
var lastFrame = value[1] + delta > domain[1];
|
|
276
285
|
value0 = value[0];
|
|
277
|
-
value1 =
|
|
286
|
+
value1 = lastFrame ? value[0] + 1 : value[1] + delta;
|
|
278
287
|
} else {
|
|
279
|
-
|
|
288
|
+
// use value[0] to display the last item duration as the first item
|
|
289
|
+
var _lastFrame = value[0] + delta > domain[1];
|
|
290
|
+
|
|
291
|
+
value0 = _lastFrame ? domain[0] : value[0] + delta;
|
|
280
292
|
value1 = value0 + value[1] - value[0];
|
|
281
293
|
}
|
|
282
294
|
|
|
@@ -289,14 +301,16 @@ function AnimationControllerFactory() {
|
|
|
289
301
|
}, {
|
|
290
302
|
key: "_nextFrameByTimeStep",
|
|
291
303
|
value: function _nextFrameByTimeStep() {
|
|
292
|
-
var _this$
|
|
293
|
-
_this$
|
|
294
|
-
steps = _this$
|
|
295
|
-
value = _this$
|
|
304
|
+
var _this$props5 = this.props,
|
|
305
|
+
_this$props5$steps = _this$props5.steps,
|
|
306
|
+
steps = _this$props5$steps === void 0 ? null : _this$props5$steps,
|
|
307
|
+
value = _this$props5.value;
|
|
296
308
|
if (!steps) return;
|
|
297
309
|
var val = Array.isArray(value) ? value[0] : Number(value);
|
|
298
310
|
var index = (0, _d3Array.bisectLeft)(steps, val);
|
|
299
|
-
var nextIdx = index >= steps.length - 1 ? 0 : index + 1;
|
|
311
|
+
var nextIdx = index >= steps.length - 1 ? 0 : index + 1; // why do we need to pass an array of two objects? are we reading nextIdx at some point?
|
|
312
|
+
// _nextFrameByDomain only returns one value
|
|
313
|
+
|
|
300
314
|
return [steps[nextIdx], nextIdx];
|
|
301
315
|
}
|
|
302
316
|
}, {
|
|
@@ -304,7 +318,7 @@ function AnimationControllerFactory() {
|
|
|
304
318
|
value: function render() {
|
|
305
319
|
var isAnimating = this.state.isAnimating;
|
|
306
320
|
var children = this.props.children;
|
|
307
|
-
return typeof children === 'function' ? children(isAnimating, this._startAnimation, this._pauseAnimation, this._resetAnimation) : null;
|
|
321
|
+
return typeof children === 'function' ? children(isAnimating, this._startAnimation, this._pauseAnimation, this._resetAnimation, this.props.timeline, this.props.setTimelineValue) : null;
|
|
308
322
|
}
|
|
309
323
|
}]);
|
|
310
324
|
return AnimationController;
|
|
@@ -321,4 +335,4 @@ function AnimationControllerFactory() {
|
|
|
321
335
|
|
|
322
336
|
var _default = AnimationControllerFactory;
|
|
323
337
|
exports["default"] = _default;
|
|
324
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vYW5pbWF0aW9uLWNvbnRyb2wvYW5pbWF0aW9uLWNvbnRyb2xsZXIudHMiXSwibmFtZXMiOlsiQW5pbWF0aW9uQ29udHJvbGxlclR5cGUiLCJDb21wb25lbnQiLCJBbmltYXRpb25Db250cm9sbGVyRmFjdG9yeSIsIkFuaW1hdGlvbkNvbnRyb2xsZXIiLCJpc0FuaW1hdGluZyIsImRlbGF5IiwiX3N0YXJ0VGltZSIsIkRhdGUiLCJnZXRUaW1lIiwibG9vcCIsImN1cnJlbnQiLCJkZWx0YSIsIl9uZXh0RnJhbWUiLCJfdGltZXIiLCJwcm9wcyIsImRvbWFpbiIsInZhbHVlIiwiYW5pbWF0aW9uV2luZG93IiwiQXJyYXkiLCJpc0FycmF5IiwiQU5JTUFUSU9OX1dJTkRPVyIsImluY3JlbWVudGFsIiwidXBkYXRlQW5pbWF0aW9uIiwic3RlcHMiLCJpbnRlcnZhbCIsIl9yZXNldEFuaW10aW9uQnlUaW1lU3RlcCIsIl9yZXNldEFuaW1hdGlvbkJ5RG9tYWluIiwic3BlZWQiLCJfY2xlYXJUaW1lciIsImxlbmd0aCIsIkNvbnNvbGUiLCJ3YXJuIiwiQkFTRV9TUEVFRCIsIkZQUyIsIl9hbmltYXRlIiwic2V0U3RhdGUiLCJuZXh0VmFsdWUiLCJfbmV4dEZyYW1lQnlUaW1lU3RlcCIsIl9uZXh0RnJhbWVCeURvbWFpbiIsIl9zdGFydE9yUGF1c2VBbmltYXRpb24iLCJfc3RhcnRBbmltYXRpb24iLCJfcGF1c2VBbmltYXRpb24iLCJiYXNlU3BlZWQiLCJ2YWx1ZTAiLCJ2YWx1ZTEiLCJyZWFkRW5kIiwiTnVtYmVyIiwidmFsIiwiaW5kZXgiLCJuZXh0SWR4Iiwic3RhdGUiLCJjaGlsZHJlbiIsIl9yZXNldEFuaW1hdGlvbiIsImZyZWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7SUFhTUEsdUI7Ozs7Ozs7Ozs7O0VBQTZEQyxnQjs7QUFJbkUsU0FBU0MsMEJBQVQsR0FBc0U7QUFDcEU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUF0QnNFLE1BdUI5REMsbUJBdkI4RDtBQUFBOztBQUFBOztBQUFBO0FBQUE7O0FBQUE7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUEsZ0dBaUMxRDtBQUNOQyxRQUFBQSxXQUFXLEVBQUU7QUFEUCxPQWpDMEQ7QUFBQSxpR0FtRHpELElBbkR5RDtBQUFBLHFHQW9EN0MsQ0FwRDZDO0FBQUEsbUdBK0R2RCxVQUFBQyxLQUFLLEVBQUk7QUFDbEIsY0FBS0MsVUFBTCxHQUFrQixJQUFJQyxJQUFKLEdBQVdDLE9BQVgsRUFBbEI7O0FBRUEsWUFBTUMsSUFBSSxHQUFHLFNBQVBBLElBQU8sR0FBTTtBQUNqQixjQUFNQyxPQUFPLEdBQUcsSUFBSUgsSUFBSixHQUFXQyxPQUFYLEVBQWhCO0FBQ0EsY0FBTUcsS0FBSyxHQUFHRCxPQUFPLEdBQUcsTUFBS0osVUFBN0I7O0FBRUEsY0FBSUssS0FBSyxJQUFJTixLQUFiLEVBQW9CO0FBQ2xCLGtCQUFLTyxVQUFMOztBQUNBLGtCQUFLTixVQUFMLEdBQWtCLElBQUlDLElBQUosR0FBV0MsT0FBWCxFQUFsQjtBQUNELFdBSEQsTUFHTztBQUNMLGtCQUFLSyxNQUFMLEdBQWMsbUNBQXNCSixJQUF0QixDQUFkO0FBQ0Q7QUFDRixTQVZEOztBQVlBLGNBQUtJLE1BQUwsR0FBYyxtQ0FBc0JKLElBQXRCLENBQWQ7QUFDRCxPQS9FaUU7QUFBQSxrSEFpRnhDLFlBQU07QUFBQSwwQkFDVyxNQUFLSyxLQURoQjtBQUFBLFlBQ3ZCQyxNQUR1QixlQUN2QkEsTUFEdUI7QUFBQSxZQUNmQyxLQURlLGVBQ2ZBLEtBRGU7QUFBQSxZQUNSQyxlQURRLGVBQ1JBLGVBRFE7O0FBRTlCLFlBQUksQ0FBQ0YsTUFBTCxFQUFhO0FBQ1g7QUFDRDs7QUFDRCxZQUFJRyxLQUFLLENBQUNDLE9BQU4sQ0FBY0gsS0FBZCxDQUFKLEVBQTBCO0FBQ3hCLGNBQUlDLGVBQWUsS0FBS0csNEJBQWlCQyxXQUF6QyxFQUFzRDtBQUNwRCxrQkFBS1AsS0FBTCxDQUFXUSxlQUFYLENBQTJCLENBQUNOLEtBQUssQ0FBQyxDQUFELENBQU4sRUFBV0EsS0FBSyxDQUFDLENBQUQsQ0FBTCxHQUFXLENBQXRCLENBQTNCO0FBQ0QsV0FGRCxNQUVPO0FBQ0wsa0JBQUtGLEtBQUwsQ0FBV1EsZUFBWCxDQUEyQixDQUFDUCxNQUFNLENBQUMsQ0FBRCxDQUFQLEVBQVlBLE1BQU0sQ0FBQyxDQUFELENBQU4sR0FBWUMsS0FBSyxDQUFDLENBQUQsQ0FBakIsR0FBdUJBLEtBQUssQ0FBQyxDQUFELENBQXhDLENBQTNCO0FBQ0Q7QUFDRixTQU5ELE1BTU87QUFDTCxnQkFBS0YsS0FBTCxDQUFXUSxlQUFYLENBQTJCUCxNQUFNLENBQUMsQ0FBRCxDQUFqQztBQUNEO0FBQ0YsT0EvRmlFO0FBQUEsbUhBaUd2QyxZQUFNO0FBQUEsZ0NBQ1IsTUFBS0QsS0FERyxDQUN4QlMsS0FEd0I7QUFBQSxZQUN4QkEsS0FEd0Isa0NBQ2hCLElBRGdCO0FBRS9CLFlBQUksQ0FBQ0EsS0FBTCxFQUFZLE9BRm1CLENBRy9COztBQUNBLGNBQUtULEtBQUwsQ0FBV1EsZUFBWCxDQUEyQixDQUFDQyxLQUFLLENBQUMsQ0FBRCxDQUFOLEVBQVcsQ0FBWCxDQUEzQjtBQUNELE9BdEdpRTtBQUFBLDBHQXdHaEQsWUFBTTtBQUN0QixZQUFJLE1BQUtULEtBQUwsQ0FBV0csZUFBWCxLQUErQkcsNEJBQWlCSSxRQUFwRCxFQUE4RDtBQUM1RCxnQkFBS0Msd0JBQUw7QUFDRCxTQUZELE1BRU87QUFDTCxnQkFBS0MsdUJBQUw7QUFDRDtBQUNGLE9BOUdpRTtBQUFBLDBHQWdIaEQsWUFBTTtBQUFBLGdDQUNGLE1BQUtaLEtBREgsQ0FDZmEsS0FEZTtBQUFBLFlBQ2ZBLEtBRGUsa0NBQ1AsQ0FETzs7QUFFdEIsY0FBS0MsV0FBTDs7QUFDQSxZQUFJRCxLQUFLLEdBQUcsQ0FBWixFQUFlO0FBQ2IsY0FBSSxNQUFLYixLQUFMLENBQVdHLGVBQVgsS0FBK0JHLDRCQUFpQkksUUFBcEQsRUFBOEQ7QUFDNUQ7QUFDQTtBQUY0RCxnQkFHckRELEtBSHFELEdBRzVDLE1BQUtULEtBSHVDLENBR3JEUyxLQUhxRDs7QUFJNUQsZ0JBQUksQ0FBQ0wsS0FBSyxDQUFDQyxPQUFOLENBQWNJLEtBQWQsQ0FBRCxJQUF5QixDQUFDQSxLQUFLLENBQUNNLE1BQXBDLEVBQTRDO0FBQzFDQyxrQ0FBUUMsSUFBUixDQUFhLG9DQUFiOztBQUNBO0FBQ0QsYUFQMkQsQ0FRNUQ7QUFDQTs7O0FBQ0EsZ0JBQU0xQixLQUFLLEdBQUkyQix5QkFBYyxPQUFPQyxjQUFyQixDQUFELEdBQThCVixLQUFLLENBQUNNLE1BQXBDLElBQThDRixLQUFLLElBQUksQ0FBdkQsQ0FBZDs7QUFDQSxrQkFBS08sUUFBTCxDQUFjN0IsS0FBZDtBQUNELFdBWkQsTUFZTztBQUNMLGtCQUFLUSxNQUFMLEdBQWMsbUNBQXNCLE1BQUtELFVBQTNCLENBQWQ7QUFDRDtBQUNGOztBQUNELGNBQUt1QixRQUFMLENBQWM7QUFBQy9CLFVBQUFBLFdBQVcsRUFBRTtBQUFkLFNBQWQ7QUFDRCxPQXJJaUU7QUFBQSxzR0F1SXBELFlBQU07QUFDbEIsWUFBSSxNQUFLUyxNQUFULEVBQWlCO0FBQ2YsNENBQXFCLE1BQUtBLE1BQTFCO0FBQ0EsZ0JBQUtBLE1BQUwsR0FBYyxJQUFkO0FBQ0Q7QUFDRixPQTVJaUU7QUFBQSwwR0E4SWhELFlBQU07QUFDdEIsY0FBS2UsV0FBTDs7QUFDQSxjQUFLTyxRQUFMLENBQWM7QUFBQy9CLFVBQUFBLFdBQVcsRUFBRTtBQUFkLFNBQWQ7QUFDRCxPQWpKaUU7QUFBQSxxR0FtSnJELFlBQU07QUFDakIsY0FBS1MsTUFBTCxHQUFjLElBQWQ7QUFDQSxZQUFNdUIsU0FBUyxHQUNiLE1BQUt0QixLQUFMLENBQVdHLGVBQVgsS0FBK0JHLDRCQUFpQkksUUFBaEQsR0FDSSxNQUFLYSxvQkFBTCxFQURKLEdBRUksTUFBS0Msa0JBQUwsRUFITjs7QUFLQSxjQUFLeEIsS0FBTCxDQUFXUSxlQUFYLENBQTJCYyxTQUEzQjtBQUNELE9BM0ppRTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBLGFBcUNsRSw2QkFBb0I7QUFDbEIsYUFBS0csc0JBQUw7QUFDRDtBQXZDaUU7QUFBQTtBQUFBLGFBeUNsRSw4QkFBcUI7QUFDbkIsYUFBS0Esc0JBQUw7QUFDRDtBQTNDaUU7QUFBQTtBQUFBLGFBNkNsRSxnQ0FBdUI7QUFDckIsWUFBSSxLQUFLMUIsTUFBVCxFQUFpQjtBQUNmLDRDQUFxQixLQUFLQSxNQUExQjtBQUNEO0FBQ0Y7QUFqRGlFO0FBQUE7QUFBQSxhQXNEbEUsa0NBQXlCO0FBQUEsMkJBQ1UsS0FBS0MsS0FEZjtBQUFBLFlBQ2hCVixXQURnQixnQkFDaEJBLFdBRGdCO0FBQUEsOENBQ0h1QixLQURHO0FBQUEsWUFDSEEsS0FERyxtQ0FDSyxDQURMOztBQUV2QixZQUFJLENBQUMsS0FBS2QsTUFBTixJQUFnQlQsV0FBaEIsSUFBK0J1QixLQUFLLEdBQUcsQ0FBM0MsRUFBOEM7QUFDNUMsZUFBS2EsZUFBTDtBQUNELFNBRkQsTUFFTyxJQUFJLEtBQUszQixNQUFMLElBQWUsQ0FBQ1QsV0FBcEIsRUFBaUM7QUFDdEMsZUFBS3FDLGVBQUw7QUFDRDtBQUNGO0FBN0RpRTtBQUFBO0FBQUEsYUE2SmxFLDhCQUFxQjtBQUFBLDJCQUNrRCxLQUFLM0IsS0FEdkQ7QUFBQSxZQUNaQyxNQURZLGdCQUNaQSxNQURZO0FBQUEsWUFDSkMsS0FESSxnQkFDSkEsS0FESTtBQUFBLDhDQUNHVyxLQURIO0FBQUEsWUFDR0EsS0FESCxtQ0FDVyxDQURYO0FBQUEsaURBQ2NlLFNBRGQ7QUFBQSxZQUNjQSxTQURkLHNDQUMwQixHQUQxQjtBQUFBLFlBQytCekIsZUFEL0IsZ0JBQytCQSxlQUQvQjs7QUFFbkIsWUFBSSxDQUFDRixNQUFMLEVBQWE7QUFDWDtBQUNEOztBQUNELFlBQU1KLEtBQUssR0FBSSxDQUFDSSxNQUFNLENBQUMsQ0FBRCxDQUFOLEdBQVlBLE1BQU0sQ0FBQyxDQUFELENBQW5CLElBQTBCMkIsU0FBM0IsR0FBd0NmLEtBQXRELENBTG1CLENBT25CO0FBQ0E7O0FBQ0EsWUFBSVQsS0FBSyxDQUFDQyxPQUFOLENBQWNILEtBQWQsQ0FBSixFQUEwQjtBQUN4QixjQUFJMkIsTUFBSjtBQUNBLGNBQUlDLE1BQUo7QUFDQSxjQUFNQyxPQUFPLEdBQUc3QixLQUFLLENBQUMsQ0FBRCxDQUFMLEdBQVdMLEtBQVgsR0FBbUJJLE1BQU0sQ0FBQyxDQUFELENBQXpDOztBQUNBLGNBQUlFLGVBQWUsS0FBS0csNEJBQWlCQyxXQUF6QyxFQUFzRDtBQUNwRHNCLFlBQUFBLE1BQU0sR0FBRzNCLEtBQUssQ0FBQyxDQUFELENBQWQ7QUFDQTRCLFlBQUFBLE1BQU0sR0FBR0MsT0FBTyxHQUFHN0IsS0FBSyxDQUFDLENBQUQsQ0FBTCxHQUFXLENBQWQsR0FBa0JBLEtBQUssQ0FBQyxDQUFELENBQUwsR0FBV0wsS0FBN0M7QUFDRCxXQUhELE1BR087QUFDTGdDLFlBQUFBLE1BQU0sR0FBR0UsT0FBTyxHQUFHOUIsTUFBTSxDQUFDLENBQUQsQ0FBVCxHQUFlQyxLQUFLLENBQUMsQ0FBRCxDQUFMLEdBQVdMLEtBQTFDO0FBQ0FpQyxZQUFBQSxNQUFNLEdBQUdELE1BQU0sR0FBRzNCLEtBQUssQ0FBQyxDQUFELENBQWQsR0FBb0JBLEtBQUssQ0FBQyxDQUFELENBQWxDO0FBQ0Q7O0FBQ0QsaUJBQU8sQ0FBQzJCLE1BQUQsRUFBU0MsTUFBVCxDQUFQO0FBQ0QsU0FyQmtCLENBdUJuQjs7O0FBQ0EsZUFBT0UsTUFBTSxDQUFDOUIsS0FBRCxDQUFOLEdBQWdCTCxLQUFoQixHQUF3QkksTUFBTSxDQUFDLENBQUQsQ0FBOUIsR0FBb0NBLE1BQU0sQ0FBQyxDQUFELENBQTFDLEdBQWdEK0IsTUFBTSxDQUFDOUIsS0FBRCxDQUFOLEdBQWdCTCxLQUF2RTtBQUNEO0FBdExpRTtBQUFBO0FBQUEsYUF3TGxFLGdDQUF1QjtBQUFBLDJCQUNTLEtBQUtHLEtBRGQ7QUFBQSw4Q0FDZFMsS0FEYztBQUFBLFlBQ2RBLEtBRGMsbUNBQ04sSUFETTtBQUFBLFlBQ0FQLEtBREEsZ0JBQ0FBLEtBREE7QUFFckIsWUFBSSxDQUFDTyxLQUFMLEVBQVk7QUFDWixZQUFNd0IsR0FBRyxHQUFHN0IsS0FBSyxDQUFDQyxPQUFOLENBQWNILEtBQWQsSUFBdUJBLEtBQUssQ0FBQyxDQUFELENBQTVCLEdBQWtDOEIsTUFBTSxDQUFDOUIsS0FBRCxDQUFwRDtBQUNBLFlBQU1nQyxLQUFLLEdBQUcseUJBQVd6QixLQUFYLEVBQWtCd0IsR0FBbEIsQ0FBZDtBQUNBLFlBQU1FLE9BQU8sR0FBR0QsS0FBSyxJQUFJekIsS0FBSyxDQUFDTSxNQUFOLEdBQWUsQ0FBeEIsR0FBNEIsQ0FBNUIsR0FBZ0NtQixLQUFLLEdBQUcsQ0FBeEQ7QUFFQSxlQUFPLENBQUN6QixLQUFLLENBQUMwQixPQUFELENBQU4sRUFBaUJBLE9BQWpCLENBQVA7QUFDRDtBQWhNaUU7QUFBQTtBQUFBLGFBa01sRSxrQkFBUztBQUFBLFlBQ0E3QyxXQURBLEdBQ2UsS0FBSzhDLEtBRHBCLENBQ0E5QyxXQURBO0FBQUEsWUFFQStDLFFBRkEsR0FFWSxLQUFLckMsS0FGakIsQ0FFQXFDLFFBRkE7QUFJUCxlQUFPLE9BQU9BLFFBQVAsS0FBb0IsVUFBcEIsR0FDSEEsUUFBUSxDQUFDL0MsV0FBRCxFQUFjLEtBQUtvQyxlQUFuQixFQUFvQyxLQUFLQyxlQUF6QyxFQUEwRCxLQUFLVyxlQUEvRCxDQURMLEdBRUgsSUFGSjtBQUdEO0FBek1pRTtBQUFBO0FBQUEsSUF1QkxuRCxnQkF2Qks7O0FBQUEsbUNBdUI5REUsbUJBdkI4RCxrQkEwQjVDO0FBQ3BCdUMsSUFBQUEsU0FBUyxFQUFFVixxQkFEUztBQUVwQkwsSUFBQUEsS0FBSyxFQUFFLENBRmE7QUFHcEJKLElBQUFBLEtBQUssRUFBRSxJQUhhO0FBSXBCTixJQUFBQSxlQUFlLEVBQUVHLDRCQUFpQmlDO0FBSmQsR0ExQjRDO0FBNE1wRSxTQUFPbEQsbUJBQVA7QUFDRDs7ZUFFY0QsMEIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQge0NvbXBvbmVudH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtiaXNlY3RMZWZ0fSBmcm9tICdkMy1hcnJheSc7XG5pbXBvcnQge3JlcXVlc3RBbmltYXRpb25GcmFtZSwgY2FuY2VsQW5pbWF0aW9uRnJhbWV9IGZyb20gJ2dsb2JhbC93aW5kb3cnO1xuaW1wb3J0IENvbnNvbGUgZnJvbSAnZ2xvYmFsL2NvbnNvbGUnO1xuaW1wb3J0IHtCQVNFX1NQRUVELCBGUFMsIEFOSU1BVElPTl9XSU5ET1d9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcblxuaW50ZXJmYWNlIEFuaW1hdGlvbkNvbnRyb2xsZXJQcm9wczxUIGV4dGVuZHMgbnVtYmVyIHwgbnVtYmVyW10+IHtcbiAgaXNBbmltYXRpbmc/OiBib29sZWFuO1xuICBzcGVlZD86IG51bWJlcjtcbiAgdXBkYXRlQW5pbWF0aW9uOiAoeDogVCkgPT4gdm9pZDtcbiAgYW5pbWF0aW9uV2luZG93Pzogc3RyaW5nO1xuICBzdGVwcz86IG51bWJlcltdIHwgbnVsbDtcbiAgZG9tYWluOiBudW1iZXJbXSB8IG51bGw7XG4gIHZhbHVlOiBUO1xuICBiYXNlU3BlZWQ/OiBudW1iZXI7XG59XG5cbmNsYXNzIEFuaW1hdGlvbkNvbnRyb2xsZXJUeXBlPFQgZXh0ZW5kcyBudW1iZXIgfCBudW1iZXJbXT4gZXh0ZW5kcyBDb21wb25lbnQ8XG4gIEFuaW1hdGlvbkNvbnRyb2xsZXJQcm9wczxUPlxuPiB7fVxuXG5mdW5jdGlvbiBBbmltYXRpb25Db250cm9sbGVyRmFjdG9yeSgpOiB0eXBlb2YgQW5pbWF0aW9uQ29udHJvbGxlclR5cGUge1xuICAvKipcbiAgICogNCBBbmltYXRpb24gV2luZG93IFR5cGVzXG4gICAqIDEuIGZyZWVcbiAgICogIHwtPiAgfC0+XG4gICAqIEN1cnJlbnQgdGltZSBpcyBhIGZpeGVkIHJhbmdlLCBhbmltYXRlIGEgbW92aW5nIHdpbmRvdyB0aGF0IGNhbGxzIG5leHQgYW5pbWF0aW9uIGZyYW1lcyBjb250aW51b3VzbHlcbiAgICogVGhlIGluY3JlbWVudCBpZCBiYXNlZCBvbiBkb21haW4gLyBCQVNFX1NQRUVEICogU1BFRURcbiAgICpcbiAgICogMi4gaW5jcmVtZW50YWxcbiAgICogfCAgICB8LT5cbiAgICogU2FtZSBhcyBmcmVlLCBjdXJyZW50IHRpbWUgaXMgYSBncm93aW5nIHJhbmdlLCBvbmx5IHRoZSBtYXggdmFsdWUgb2YgcmFuZ2UgaW5jcmVtZW50IGR1cmluZyBhbmltYXRpb24uXG4gICAqIFRoZSBpbmNyZW1lbnQgaXMgYWxzbyBiYXNlZCBvbiBkb21haW4gLyBCQVNFX1NQRUVEICogU1BFRURcbiAgICpcbiAgICogMy4gcG9pbnRcbiAgICogbyAtPiBvXG4gICAqIEN1cnJlbnQgdGltZSBpcyBhIHBvaW50LCBhbmltYXRlIGEgbW92aW5nIHBvaW50IGNhbGxzIG5leHQgYW5pbWF0aW9uIGZyYW1lIGNvbnRpbnVvdXNseVxuICAgKiBUaGUgaW5jcmVtZW50IGlzIGJhc2VkIG9uIGRvbWFpbiAvIEJBU0VfU1BFRUQgKiBTUEVFRFxuICAgKlxuICAgKiA0LiBpbnRlcnZhbFxuICAgKiBvIH4+IG9cbiAgICogQ3VycmVudCB0aW1lIGlzIGEgcG9pbnQuIEFuIGFycmF5IG9mIHNvcnRlZCB0aW1lIHN0ZXBzIGFyZSBwcm92aWRlZCxcbiAgICogYW5pbWF0ZSBhIG1vdmluZyBwb2ludCBqdW1wcyB0byB0aGUgbmV4dCBzdGVwXG4gICAqL1xuICBjbGFzcyBBbmltYXRpb25Db250cm9sbGVyPFQgZXh0ZW5kcyBudW1iZXIgfCBudW1iZXJbXT4gZXh0ZW5kcyBDb21wb25lbnQ8XG4gICAgQW5pbWF0aW9uQ29udHJvbGxlclByb3BzPFQ+XG4gID4ge1xuICAgIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgICBiYXNlU3BlZWQ6IEJBU0VfU1BFRUQsXG4gICAgICBzcGVlZDogMSxcbiAgICAgIHN0ZXBzOiBudWxsLFxuICAgICAgYW5pbWF0aW9uV2luZG93OiBBTklNQVRJT05fV0lORE9XLmZyZWVcbiAgICB9O1xuXG4gICAgc3RhdGUgPSB7XG4gICAgICBpc0FuaW1hdGluZzogZmFsc2VcbiAgICB9O1xuXG4gICAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICB0aGlzLl9zdGFydE9yUGF1c2VBbmltYXRpb24oKTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgICB0aGlzLl9zdGFydE9yUGF1c2VBbmltYXRpb24oKTtcbiAgICB9XG5cbiAgICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAgIGlmICh0aGlzLl90aW1lcikge1xuICAgICAgICBjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl90aW1lcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgX3RpbWVyID0gbnVsbDtcbiAgICBfc3RhcnRUaW1lOiBudW1iZXIgPSAwO1xuXG4gICAgX3N0YXJ0T3JQYXVzZUFuaW1hdGlvbigpIHtcbiAgICAgIGNvbnN0IHtpc0FuaW1hdGluZywgc3BlZWQgPSAxfSA9IHRoaXMucHJvcHM7XG4gICAgICBpZiAoIXRoaXMuX3RpbWVyICYmIGlzQW5pbWF0aW5nICYmIHNwZWVkID4gMCkge1xuICAgICAgICB0aGlzLl9zdGFydEFuaW1hdGlvbigpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLl90aW1lciAmJiAhaXNBbmltYXRpbmcpIHtcbiAgICAgICAgdGhpcy5fcGF1c2VBbmltYXRpb24oKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBfYW5pbWF0ZSA9IGRlbGF5ID0+IHtcbiAgICAgIHRoaXMuX3N0YXJ0VGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuXG4gICAgICBjb25zdCBsb29wID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBjdXJyZW50ID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgIGNvbnN0IGRlbHRhID0gY3VycmVudCAtIHRoaXMuX3N0YXJ0VGltZTtcblxuICAgICAgICBpZiAoZGVsdGEgPj0gZGVsYXkpIHtcbiAgICAgICAgICB0aGlzLl9uZXh0RnJhbWUoKTtcbiAgICAgICAgICB0aGlzLl9zdGFydFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl90aW1lciA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShsb29wKTtcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgdGhpcy5fdGltZXIgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUobG9vcCk7XG4gICAgfTtcblxuICAgIF9yZXNldEFuaW1hdGlvbkJ5RG9tYWluID0gKCkgPT4ge1xuICAgICAgY29uc3Qge2RvbWFpbiwgdmFsdWUsIGFuaW1hdGlvbldpbmRvd30gPSB0aGlzLnByb3BzO1xuICAgICAgaWYgKCFkb21haW4pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIGlmIChhbmltYXRpb25XaW5kb3cgPT09IEFOSU1BVElPTl9XSU5ET1cuaW5jcmVtZW50YWwpIHtcbiAgICAgICAgICB0aGlzLnByb3BzLnVwZGF0ZUFuaW1hdGlvbihbdmFsdWVbMF0sIHZhbHVlWzBdICsgMV0gYXMgVCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5wcm9wcy51cGRhdGVBbmltYXRpb24oW2RvbWFpblswXSwgZG9tYWluWzBdICsgdmFsdWVbMV0gLSB2YWx1ZVswXV0gYXMgVCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucHJvcHMudXBkYXRlQW5pbWF0aW9uKGRvbWFpblswXSBhcyBUKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX3Jlc2V0QW5pbXRpb25CeVRpbWVTdGVwID0gKCkgPT4ge1xuICAgICAgY29uc3Qge3N0ZXBzID0gbnVsbH0gPSB0aGlzLnByb3BzO1xuICAgICAgaWYgKCFzdGVwcykgcmV0dXJuO1xuICAgICAgLy8gZ28gdG8gdGhlIGZpcnN0IHN0ZXBzXG4gICAgICB0aGlzLnByb3BzLnVwZGF0ZUFuaW1hdGlvbihbc3RlcHNbMF0sIDBdIGFzIFQpO1xuICAgIH07XG5cbiAgICBfcmVzZXRBbmltYXRpb24gPSAoKSA9PiB7XG4gICAgICBpZiAodGhpcy5wcm9wcy5hbmltYXRpb25XaW5kb3cgPT09IEFOSU1BVElPTl9XSU5ET1cuaW50ZXJ2YWwpIHtcbiAgICAgICAgdGhpcy5fcmVzZXRBbmltdGlvbkJ5VGltZVN0ZXAoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX3Jlc2V0QW5pbWF0aW9uQnlEb21haW4oKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX3N0YXJ0QW5pbWF0aW9uID0gKCkgPT4ge1xuICAgICAgY29uc3Qge3NwZWVkID0gMX0gPSB0aGlzLnByb3BzO1xuICAgICAgdGhpcy5fY2xlYXJUaW1lcigpO1xuICAgICAgaWYgKHNwZWVkID4gMCkge1xuICAgICAgICBpZiAodGhpcy5wcm9wcy5hbmltYXRpb25XaW5kb3cgPT09IEFOSU1BVElPTl9XSU5ET1cuaW50ZXJ2YWwpIHtcbiAgICAgICAgICAvLyBhbmltYXRlIGJ5IGludGVydmFsXG4gICAgICAgICAgLy8gMzAqNjAwXG4gICAgICAgICAgY29uc3Qge3N0ZXBzfSA9IHRoaXMucHJvcHM7XG4gICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHN0ZXBzKSB8fCAhc3RlcHMubGVuZ3RoKSB7XG4gICAgICAgICAgICBDb25zb2xlLndhcm4oJ2FuaW1hdGlvbiBzdGVwcyBzaG91bGQgYmUgYW4gYXJyYXknKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gd2hlbiBzcGVlZCA9IDEsIGFuaW1hdGlvbiBzaG91bGQgbG9vcCB0aHJvdWdoIDYwMCBmcmFtZXMgYXQgNjAgRlBTXG4gICAgICAgICAgLy8gY2FsY3VsYXRlIGRlbGF5IGJhc2VkIG9uICMgc3RlcHNcbiAgICAgICAgICBjb25zdCBkZWxheSA9IChCQVNFX1NQRUVEICogKDEwMDAgLyBGUFMpKSAvIHN0ZXBzLmxlbmd0aCAvIChzcGVlZCB8fCAxKTtcbiAgICAgICAgICB0aGlzLl9hbmltYXRlKGRlbGF5KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl90aW1lciA9IHJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLl9uZXh0RnJhbWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLnNldFN0YXRlKHtpc0FuaW1hdGluZzogdHJ1ZX0pO1xuICAgIH07XG5cbiAgICBfY2xlYXJUaW1lciA9ICgpID0+IHtcbiAgICAgIGlmICh0aGlzLl90aW1lcikge1xuICAgICAgICBjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl90aW1lcik7XG4gICAgICAgIHRoaXMuX3RpbWVyID0gbnVsbDtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX3BhdXNlQW5pbWF0aW9uID0gKCkgPT4ge1xuICAgICAgdGhpcy5fY2xlYXJUaW1lcigpO1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7aXNBbmltYXRpbmc6IGZhbHNlfSk7XG4gICAgfTtcblxuICAgIF9uZXh0RnJhbWUgPSAoKSA9PiB7XG4gICAgICB0aGlzLl90aW1lciA9IG51bGw7XG4gICAgICBjb25zdCBuZXh0VmFsdWUgPVxuICAgICAgICB0aGlzLnByb3BzLmFuaW1hdGlvbldpbmRvdyA9PT0gQU5JTUFUSU9OX1dJTkRPVy5pbnRlcnZhbFxuICAgICAgICAgID8gdGhpcy5fbmV4dEZyYW1lQnlUaW1lU3RlcCgpXG4gICAgICAgICAgOiB0aGlzLl9uZXh0RnJhbWVCeURvbWFpbigpO1xuXG4gICAgICB0aGlzLnByb3BzLnVwZGF0ZUFuaW1hdGlvbihuZXh0VmFsdWUgYXMgVCk7XG4gICAgfTtcblxuICAgIF9uZXh0RnJhbWVCeURvbWFpbigpIHtcbiAgICAgIGNvbnN0IHtkb21haW4sIHZhbHVlLCBzcGVlZCA9IDEsIGJhc2VTcGVlZCA9IDYwMCwgYW5pbWF0aW9uV2luZG93fSA9IHRoaXMucHJvcHM7XG4gICAgICBpZiAoIWRvbWFpbikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBkZWx0YSA9ICgoZG9tYWluWzFdIC0gZG9tYWluWzBdKSAvIGJhc2VTcGVlZCkgKiBzcGVlZDtcblxuICAgICAgLy8gbG9vcCB3aGVuIHJlYWNoZXMgdGhlIGVuZFxuICAgICAgLy8gY3VycmVudCB0aW1lIGlzIGEgcmFuZ2VcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICBsZXQgdmFsdWUwOiBudW1iZXI7XG4gICAgICAgIGxldCB2YWx1ZTE6IG51bWJlcjtcbiAgICAgICAgY29uc3QgcmVhZEVuZCA9IHZhbHVlWzFdICsgZGVsdGEgPiBkb21haW5bMV07XG4gICAgICAgIGlmIChhbmltYXRpb25XaW5kb3cgPT09IEFOSU1BVElPTl9XSU5ET1cuaW5jcmVtZW50YWwpIHtcbiAgICAgICAgICB2YWx1ZTAgPSB2YWx1ZVswXTtcbiAgICAgICAgICB2YWx1ZTEgPSByZWFkRW5kID8gdmFsdWVbMF0gKyAxIDogdmFsdWVbMV0gKyBkZWx0YTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YWx1ZTAgPSByZWFkRW5kID8gZG9tYWluWzBdIDogdmFsdWVbMF0gKyBkZWx0YTtcbiAgICAgICAgICB2YWx1ZTEgPSB2YWx1ZTAgKyB2YWx1ZVsxXSAtIHZhbHVlWzBdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBbdmFsdWUwLCB2YWx1ZTFdO1xuICAgICAgfVxuXG4gICAgICAvLyBjdXJyZW50IHRpbWUgaXMgYSBwb2ludFxuICAgICAgcmV0dXJuIE51bWJlcih2YWx1ZSkgKyBkZWx0YSA+IGRvbWFpblsxXSA/IGRvbWFpblswXSA6IE51bWJlcih2YWx1ZSkgKyBkZWx0YTtcbiAgICB9XG5cbiAgICBfbmV4dEZyYW1lQnlUaW1lU3RlcCgpIHtcbiAgICAgIGNvbnN0IHtzdGVwcyA9IG51bGwsIHZhbHVlfSA9IHRoaXMucHJvcHM7XG4gICAgICBpZiAoIXN0ZXBzKSByZXR1cm47XG4gICAgICBjb25zdCB2YWwgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlWzBdIDogTnVtYmVyKHZhbHVlKTtcbiAgICAgIGNvbnN0IGluZGV4ID0gYmlzZWN0TGVmdChzdGVwcywgdmFsKTtcbiAgICAgIGNvbnN0IG5leHRJZHggPSBpbmRleCA+PSBzdGVwcy5sZW5ndGggLSAxID8gMCA6IGluZGV4ICsgMTtcblxuICAgICAgcmV0dXJuIFtzdGVwc1tuZXh0SWR4XSwgbmV4dElkeF07XG4gICAgfVxuXG4gICAgcmVuZGVyKCkge1xuICAgICAgY29uc3Qge2lzQW5pbWF0aW5nfSA9IHRoaXMuc3RhdGU7XG4gICAgICBjb25zdCB7Y2hpbGRyZW59ID0gdGhpcy5wcm9wcztcblxuICAgICAgcmV0dXJuIHR5cGVvZiBjaGlsZHJlbiA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICA/IGNoaWxkcmVuKGlzQW5pbWF0aW5nLCB0aGlzLl9zdGFydEFuaW1hdGlvbiwgdGhpcy5fcGF1c2VBbmltYXRpb24sIHRoaXMuX3Jlc2V0QW5pbWF0aW9uKVxuICAgICAgICA6IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIEFuaW1hdGlvbkNvbnRyb2xsZXI7XG59XG5cbmV4cG9ydCBkZWZhdWx0IEFuaW1hdGlvbkNvbnRyb2xsZXJGYWN0b3J5O1xuIl19
|
|
338
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vYW5pbWF0aW9uLWNvbnRyb2wvYW5pbWF0aW9uLWNvbnRyb2xsZXIudHMiXSwibmFtZXMiOlsiQW5pbWF0aW9uQ29udHJvbGxlclR5cGUiLCJDb21wb25lbnQiLCJBbmltYXRpb25Db250cm9sbGVyRmFjdG9yeSIsIkFuaW1hdGlvbkNvbnRyb2xsZXIiLCJpc0FuaW1hdGluZyIsImRlbGF5IiwiX3N0YXJ0VGltZSIsIkRhdGUiLCJnZXRUaW1lIiwibG9vcCIsImN1cnJlbnQiLCJkZWx0YSIsIl9uZXh0RnJhbWUiLCJfdGltZXIiLCJwcm9wcyIsImRvbWFpbiIsInZhbHVlIiwiYW5pbWF0aW9uV2luZG93IiwidXBkYXRlQW5pbWF0aW9uIiwic2V0VGltZWxpbmVWYWx1ZSIsIkFycmF5IiwiaXNBcnJheSIsIkFOSU1BVElPTl9XSU5ET1ciLCJpbmNyZW1lbnRhbCIsInN0ZXBzIiwiaW50ZXJ2YWwiLCJfcmVzZXRBbmltYXRpb25CeVRpbWVTdGVwIiwiX3Jlc2V0QW5pbWF0aW9uQnlEb21haW4iLCJzcGVlZCIsIl9jbGVhclRpbWVyIiwibGVuZ3RoIiwiQ29uc29sZSIsIndhcm4iLCJCQVNFX1NQRUVEIiwiRlBTIiwiX2FuaW1hdGUiLCJzZXRTdGF0ZSIsIm5leHRWYWx1ZSIsIl9uZXh0RnJhbWVCeVRpbWVTdGVwIiwiX25leHRGcmFtZUJ5RG9tYWluIiwiX3N0YXJ0T3JQYXVzZUFuaW1hdGlvbiIsIl9zdGFydEFuaW1hdGlvbiIsIl9wYXVzZUFuaW1hdGlvbiIsImJhc2VTcGVlZCIsInZhbHVlMCIsInZhbHVlMSIsImxhc3RGcmFtZSIsIk51bWJlciIsInZhbCIsImluZGV4IiwibmV4dElkeCIsInN0YXRlIiwiY2hpbGRyZW4iLCJfcmVzZXRBbmltYXRpb24iLCJ0aW1lbGluZSIsImZyZWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7SUF3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REEsR0FDZSxLQUFLK0MsS0FEcEIsQ0FDQS9DLFdBREE7QUFBQSxZQUVBZ0QsUUFGQSxHQUVZLEtBQUt0QyxLQUZqQixDQUVBc0MsUUFGQTtBQUlQLGVBQU8sT0FBT0EsUUFBUCxLQUFvQixVQUFwQixHQUNIQSxRQUFRLENBQ05oRCxXQURNLEVBRU4sS0FBS3FDLGVBRkMsRUFHTixLQUFLQyxlQUhDLEVBSU4sS0FBS1csZUFKQyxFQUtOLEtBQUt2QyxLQUFMLENBQVd3QyxRQUxMLEVBTU4sS0FBS3hDLEtBQUwsQ0FBV0ssZ0JBTkwsQ0FETCxHQVNILElBVEo7QUFVRDtBQTVOaUU7QUFBQTtBQUFBLElBdUJMbEIsZ0JBdkJLOztBQUFBLG1DQXVCOURFLG1CQXZCOEQsa0JBMEI1QztBQUNwQndDLElBQUFBLFNBQVMsRUFBRVYscUJBRFM7QUFFcEJMLElBQUFBLEtBQUssRUFBRSxDQUZhO0FBR3BCSixJQUFBQSxLQUFLLEVBQUUsSUFIYTtBQUlwQlAsSUFBQUEsZUFBZSxFQUFFSyw0QkFBaUJpQztBQUpkLEdBMUI0QztBQStOcEUsU0FBT3BELG1CQUFQO0FBQ0Q7O2VBRWNELDBCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIzIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge2Jpc2VjdExlZnR9IGZyb20gJ2QzLWFycmF5JztcbmltcG9ydCB7cmVxdWVzdEFuaW1hdGlvbkZyYW1lLCBjYW5jZWxBbmltYXRpb25GcmFtZX0gZnJvbSAnZ2xvYmFsL3dpbmRvdyc7XG5pbXBvcnQgQ29uc29sZSBmcm9tICdnbG9iYWwvY29uc29sZSc7XG5pbXBvcnQge0JBU0VfU1BFRUQsIEZQUywgQU5JTUFUSU9OX1dJTkRPV30gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtUaW1lbGluZX0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5cbmludGVyZmFjZSBBbmltYXRpb25Db250cm9sbGVyUHJvcHM8VCBleHRlbmRzIG51bWJlciB8IG51bWJlcltdPiB7XG4gIGlzQW5pbWF0aW5nPzogYm9vbGVhbjtcbiAgc3BlZWQ/OiBudW1iZXI7XG4gIHVwZGF0ZUFuaW1hdGlvbj86ICh4OiBUKSA9PiB2b2lkO1xuICBzZXRUaW1lbGluZVZhbHVlOiAoeDogVCkgPT4gdm9pZDtcbiAgdGltZWxpbmU/OiBUaW1lbGluZTtcbiAgYW5pbWF0aW9uV2luZG93Pzogc3RyaW5nO1xuICBzdGVwcz86IG51bWJlcltdIHwgbnVsbDtcbiAgZG9tYWluOiBudW1iZXJbXSB8IG51bGw7XG4gIHZhbHVlOiBUO1xuICBiYXNlU3BlZWQ/OiBudW1iZXI7XG4gIGNoaWxkcmVuPzogKFxuICAgIGlzQW5pbWF0aW5nOiBib29sZWFuIHwgdW5kZWZpbmVkLFxuICAgIHN0YXJ0QW5pbWF0aW9uOiAoKSA9PiB2b2lkLFxuICAgIHBhdXNlQW5pbWF0aW9uOiAoKSA9PiB2b2lkLFxuICAgIHJlc2V0QW5pbWF0aW9uOiAoKSA9PiB2b2lkLFxuICAgIHRpbWVsaW5lOiBUaW1lbGluZSB8IHVuZGVmaW5lZCxcbiAgICBzZXRUaW1lbGluZVZhbHVlOiAoeDogYW55KSA9PiB2b2lkXG4gICkgPT4gUmVhY3QuUmVhY3RFbGVtZW50IHwgbnVsbDtcbn1cblxuY2xhc3MgQW5pbWF0aW9uQ29udHJvbGxlclR5cGU8VCBleHRlbmRzIG51bWJlciB8IG51bWJlcltdPiBleHRlbmRzIENvbXBvbmVudDxcbiAgQW5pbWF0aW9uQ29udHJvbGxlclByb3BzPFQ+XG4+IHt9XG5cbmZ1bmN0aW9uIEFuaW1hdGlvbkNvbnRyb2xsZXJGYWN0b3J5KCk6IHR5cGVvZiBBbmltYXRpb25Db250cm9sbGVyVHlwZSB7XG4gIC8qKlxuICAgKiA0IEFuaW1hdGlvbiBXaW5kb3cgVHlwZXNcbiAgICogMS4gZnJlZVxuICAgKiAgfC0+ICB8LT5cbiAgICogQ3VycmVudCB0aW1lIGlzIGEgZml4ZWQgcmFuZ2UsIGFuaW1hdGUgYSBtb3Zpbmcgd2luZG93IHRoYXQgY2FsbHMgbmV4dCBhbmltYXRpb24gZnJhbWVzIGNvbnRpbnVvdXNseVxuICAgKiBUaGUgaW5jcmVtZW50IGlkIGJhc2VkIG9uIGRvbWFpbiAvIEJBU0VfU1BFRUQgKiBTUEVFRFxuICAgKlxuICAgKiAyLiBpbmNyZW1lbnRhbFxuICAgKiB8ICAgIHwtPlxuICAgKiBTYW1lIGFzIGZyZWUsIGN1cnJlbnQgdGltZSBpcyBhIGdyb3dpbmcgcmFuZ2UsIG9ubHkgdGhlIG1heCB2YWx1ZSBvZiByYW5nZSBpbmNyZW1lbnQgZHVyaW5nIGFuaW1hdGlvbi5cbiAgICogVGhlIGluY3JlbWVudCBpcyBhbHNvIGJhc2VkIG9uIGRvbWFpbiAvIEJBU0VfU1BFRUQgKiBTUEVFRFxuICAgKlxuICAgKiAzLiBwb2ludFxuICAgKiBvIC0+IG9cbiAgICogQ3VycmVudCB0aW1lIGlzIGEgcG9pbnQsIGFuaW1hdGUgYSBtb3ZpbmcgcG9pbnQgY2FsbHMgbmV4dCBhbmltYXRpb24gZnJhbWUgY29udGludW91c2x5XG4gICAqIFRoZSBpbmNyZW1lbnQgaXMgYmFzZWQgb24gZG9tYWluIC8gQkFTRV9TUEVFRCAqIFNQRUVEXG4gICAqXG4gICAqIDQuIGludGVydmFsXG4gICAqIG8gfj4gb1xuICAgKiBDdXJyZW50IHRpbWUgaXMgYSBwb2ludC4gQW4gYXJyYXkgb2Ygc29ydGVkIHRpbWUgc3RlcHMgYXJlIHByb3ZpZGVkLFxuICAgKiBhbmltYXRlIGEgbW92aW5nIHBvaW50IGp1bXBzIHRvIHRoZSBuZXh0IHN0ZXBcbiAgICovXG4gIGNsYXNzIEFuaW1hdGlvbkNvbnRyb2xsZXI8VCBleHRlbmRzIG51bWJlciB8IG51bWJlcltdPiBleHRlbmRzIENvbXBvbmVudDxcbiAgICBBbmltYXRpb25Db250cm9sbGVyUHJvcHM8VD5cbiAgPiB7XG4gICAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICAgIGJhc2VTcGVlZDogQkFTRV9TUEVFRCxcbiAgICAgIHNwZWVkOiAxLFxuICAgICAgc3RlcHM6IG51bGwsXG4gICAgICBhbmltYXRpb25XaW5kb3c6IEFOSU1BVElPTl9XSU5ET1cuZnJlZVxuICAgIH07XG5cbiAgICBzdGF0ZSA9IHtcbiAgICAgIGlzQW5pbWF0aW5nOiBmYWxzZVxuICAgIH07XG5cbiAgICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAgIHRoaXMuX3N0YXJ0T3JQYXVzZUFuaW1hdGlvbigpO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICAgIHRoaXMuX3N0YXJ0T3JQYXVzZUFuaW1hdGlvbigpO1xuICAgIH1cblxuICAgIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgICAgaWYgKHRoaXMuX3RpbWVyKSB7XG4gICAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX3RpbWVyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBfdGltZXIgPSBudWxsO1xuICAgIF9zdGFydFRpbWU6IG51bWJlciA9IDA7XG5cbiAgICBfc3RhcnRPclBhdXNlQW5pbWF0aW9uKCkge1xuICAgICAgY29uc3Qge2lzQW5pbWF0aW5nLCBzcGVlZCA9IDF9ID0gdGhpcy5wcm9wcztcbiAgICAgIGlmICghdGhpcy5fdGltZXIgJiYgaXNBbmltYXRpbmcgJiYgc3BlZWQgPiAwKSB7XG4gICAgICAgIHRoaXMuX3N0YXJ0QW5pbWF0aW9uKCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuX3RpbWVyICYmICFpc0FuaW1hdGluZykge1xuICAgICAgICB0aGlzLl9wYXVzZUFuaW1hdGlvbigpO1xuICAgICAgfVxuICAgIH1cblxuICAgIF9hbmltYXRlID0gZGVsYXkgPT4ge1xuICAgICAgdGhpcy5fc3RhcnRUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG5cbiAgICAgIGNvbnN0IGxvb3AgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnQgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICAgICAgY29uc3QgZGVsdGEgPSBjdXJyZW50IC0gdGhpcy5fc3RhcnRUaW1lO1xuXG4gICAgICAgIGlmIChkZWx0YSA+PSBkZWxheSkge1xuICAgICAgICAgIHRoaXMuX25leHRGcmFtZSgpO1xuICAgICAgICAgIHRoaXMuX3N0YXJ0VGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuX3RpbWVyID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGxvb3ApO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICB0aGlzLl90aW1lciA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShsb29wKTtcbiAgICB9O1xuXG4gICAgX3Jlc2V0QW5pbWF0aW9uQnlEb21haW4gPSAoKSA9PiB7XG4gICAgICBjb25zdCB7ZG9tYWluLCB2YWx1ZSwgYW5pbWF0aW9uV2luZG93LCB1cGRhdGVBbmltYXRpb259ID0gdGhpcy5wcm9wcztcbiAgICAgIGlmICghZG9tYWluKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIC8vIGludGVyaW0gc29sdXRpb24gd2hpbGUgd2UgZnVsbHkgbWlncmF0ZSBmaWx0ZXIgYW5kIGxheWVyIGNvbnRyb2xsZXJzXG4gICAgICBjb25zdCBzZXRUaW1lbGluZVZhbHVlID0gdXBkYXRlQW5pbWF0aW9uIHx8IHRoaXMucHJvcHMuc2V0VGltZWxpbmVWYWx1ZTtcblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIGlmIChhbmltYXRpb25XaW5kb3cgPT09IEFOSU1BVElPTl9XSU5ET1cuaW5jcmVtZW50YWwpIHtcbiAgICAgICAgICBzZXRUaW1lbGluZVZhbHVlKFt2YWx1ZVswXSwgdmFsdWVbMF0gKyAxXSBhcyBUKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzZXRUaW1lbGluZVZhbHVlKFtkb21haW5bMF0sIGRvbWFpblswXSArIHZhbHVlWzFdIC0gdmFsdWVbMF1dIGFzIFQpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRUaW1lbGluZVZhbHVlKGRvbWFpblswXSBhcyBUKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX3Jlc2V0QW5pbWF0aW9uQnlUaW1lU3RlcCA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHtzdGVwcyA9IG51bGwsIHVwZGF0ZUFuaW1hdGlvbn0gPSB0aGlzLnByb3BzO1xuICAgICAgaWYgKCFzdGVwcykgcmV0dXJuO1xuICAgICAgLy8gaW50ZXJpbSBzb2x1dGlvbiB3aGlsZSB3ZSBmdWxseSBtaWdyYXRlIGZpbHRlciBhbmQgbGF5ZXIgY29udHJvbGxlcnNcbiAgICAgIGNvbnN0IHNldFRpbWVsaW5lVmFsdWUgPSB1cGRhdGVBbmltYXRpb24gfHwgdGhpcy5wcm9wcy5zZXRUaW1lbGluZVZhbHVlO1xuXG4gICAgICAvLyBnbyB0byB0aGUgZmlyc3Qgc3RlcHNcbiAgICAgIHNldFRpbWVsaW5lVmFsdWUoW3N0ZXBzWzBdLCAwXSBhcyBUKTtcbiAgICB9O1xuXG4gICAgX3Jlc2V0QW5pbWF0aW9uID0gKCkgPT4ge1xuICAgICAgaWYgKHRoaXMucHJvcHMuYW5pbWF0aW9uV2luZG93ID09PSBBTklNQVRJT05fV0lORE9XLmludGVydmFsKSB7XG4gICAgICAgIHRoaXMuX3Jlc2V0QW5pbWF0aW9uQnlUaW1lU3RlcCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fcmVzZXRBbmltYXRpb25CeURvbWFpbigpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBfc3RhcnRBbmltYXRpb24gPSAoKSA9PiB7XG4gICAgICBjb25zdCB7c3BlZWQgPSAxfSA9IHRoaXMucHJvcHM7XG4gICAgICB0aGlzLl9jbGVhclRpbWVyKCk7XG4gICAgICBpZiAoc3BlZWQgPiAwKSB7XG4gICAgICAgIGlmICh0aGlzLnByb3BzLmFuaW1hdGlvbldpbmRvdyA9PT0gQU5JTUFUSU9OX1dJTkRPVy5pbnRlcnZhbCkge1xuICAgICAgICAgIC8vIGFuaW1hdGUgYnkgaW50ZXJ2YWxcbiAgICAgICAgICAvLyAzMCo2MDBcbiAgICAgICAgICBjb25zdCB7c3RlcHN9ID0gdGhpcy5wcm9wcztcbiAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoc3RlcHMpIHx8ICFzdGVwcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIENvbnNvbGUud2FybignYW5pbWF0aW9uIHN0ZXBzIHNob3VsZCBiZSBhbiBhcnJheScpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyB3aGVuIHNwZWVkID0gMSwgYW5pbWF0aW9uIHNob3VsZCBsb29wIHRocm91Z2ggNjAwIGZyYW1lcyBhdCA2MCBGUFNcbiAgICAgICAgICAvLyBjYWxjdWxhdGUgZGVsYXkgYmFzZWQgb24gIyBzdGVwc1xuICAgICAgICAgIGNvbnN0IGRlbGF5ID0gKEJBU0VfU1BFRUQgKiAoMTAwMCAvIEZQUykpIC8gc3RlcHMubGVuZ3RoIC8gKHNwZWVkIHx8IDEpO1xuICAgICAgICAgIHRoaXMuX2FuaW1hdGUoZGVsYXkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuX3RpbWVyID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMuX25leHRGcmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuc2V0U3RhdGUoe2lzQW5pbWF0aW5nOiB0cnVlfSk7XG4gICAgfTtcblxuICAgIF9jbGVhclRpbWVyID0gKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuX3RpbWVyKSB7XG4gICAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX3RpbWVyKTtcbiAgICAgICAgdGhpcy5fdGltZXIgPSBudWxsO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBfcGF1c2VBbmltYXRpb24gPSAoKSA9PiB7XG4gICAgICB0aGlzLl9jbGVhclRpbWVyKCk7XG4gICAgICB0aGlzLnNldFN0YXRlKHtpc0FuaW1hdGluZzogZmFsc2V9KTtcbiAgICB9O1xuXG4gICAgX25leHRGcmFtZSA9ICgpID0+IHtcbiAgICAgIHRoaXMuX3RpbWVyID0gbnVsbDtcbiAgICAgIGNvbnN0IG5leHRWYWx1ZSA9XG4gICAgICAgIHRoaXMucHJvcHMuYW5pbWF0aW9uV2luZG93ID09PSBBTklNQVRJT05fV0lORE9XLmludGVydmFsXG4gICAgICAgICAgPyB0aGlzLl9uZXh0RnJhbWVCeVRpbWVTdGVwKClcbiAgICAgICAgICA6IHRoaXMuX25leHRGcmFtZUJ5RG9tYWluKCk7XG5cbiAgICAgIC8vIGludGVyaW0gc29sdXRpb24gd2hpbGUgd2UgZnVsbHkgbWlncmF0ZSBmaWx0ZXIgYW5kIGxheWVyIGNvbnRyb2xsZXJzXG4gICAgICBjb25zdCBzZXRUaW1lbGluZVZhbHVlID0gdGhpcy5wcm9wcy51cGRhdGVBbmltYXRpb24gfHwgdGhpcy5wcm9wcy5zZXRUaW1lbGluZVZhbHVlO1xuICAgICAgc2V0VGltZWxpbmVWYWx1ZShuZXh0VmFsdWUgYXMgVCk7XG4gICAgfTtcblxuICAgIF9uZXh0RnJhbWVCeURvbWFpbigpIHtcbiAgICAgIGNvbnN0IHtkb21haW4sIHZhbHVlLCBzcGVlZCA9IDEsIGJhc2VTcGVlZCA9IDYwMCwgYW5pbWF0aW9uV2luZG93fSA9IHRoaXMucHJvcHM7XG4gICAgICBpZiAoIWRvbWFpbikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBkZWx0YSA9ICgoZG9tYWluWzFdIC0gZG9tYWluWzBdKSAvIGJhc2VTcGVlZCkgKiBzcGVlZDtcblxuICAgICAgLy8gbG9vcCB3aGVuIHJlYWNoZXMgdGhlIGVuZFxuICAgICAgLy8gY3VycmVudCB0aW1lIGlzIGEgcmFuZ2VcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICBsZXQgdmFsdWUwOiBudW1iZXI7XG4gICAgICAgIGxldCB2YWx1ZTE6IG51bWJlcjtcbiAgICAgICAgaWYgKGFuaW1hdGlvbldpbmRvdyA9PT0gQU5JTUFUSU9OX1dJTkRPVy5pbmNyZW1lbnRhbCkge1xuICAgICAgICAgIGNvbnN0IGxhc3RGcmFtZSA9IHZhbHVlWzFdICsgZGVsdGEgPiBkb21haW5bMV07XG4gICAgICAgICAgdmFsdWUwID0gdmFsdWVbMF07XG4gICAgICAgICAgdmFsdWUxID0gbGFzdEZyYW1lID8gdmFsdWVbMF0gKyAxIDogdmFsdWVbMV0gKyBkZWx0YTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyB1c2UgdmFsdWVbMF0gdG8gZGlzcGxheSB0aGUgbGFzdCBpdGVtICBkdXJhdGlvbiBhcyB0aGUgZmlyc3QgaXRlbVxuICAgICAgICAgIGNvbnN0IGxhc3RGcmFtZSA9IHZhbHVlWzBdICsgZGVsdGEgPiBkb21haW5bMV07XG4gICAgICAgICAgdmFsdWUwID0gbGFzdEZyYW1lID8gZG9tYWluWzBdIDogdmFsdWVbMF0gKyBkZWx0YTtcbiAgICAgICAgICB2YWx1ZTEgPSB2YWx1ZTAgKyB2YWx1ZVsxXSAtIHZhbHVlWzBdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBbdmFsdWUwLCB2YWx1ZTFdO1xuICAgICAgfVxuXG4gICAgICAvLyBjdXJyZW50IHRpbWUgaXMgYSBwb2ludFxuICAgICAgcmV0dXJuIE51bWJlcih2YWx1ZSkgKyBkZWx0YSA+IGRvbWFpblsxXSA/IGRvbWFpblswXSA6IE51bWJlcih2YWx1ZSkgKyBkZWx0YTtcbiAgICB9XG5cbiAgICBfbmV4dEZyYW1lQnlUaW1lU3RlcCgpIHtcbiAgICAgIGNvbnN0IHtzdGVwcyA9IG51bGwsIHZhbHVlfSA9IHRoaXMucHJvcHM7XG4gICAgICBpZiAoIXN0ZXBzKSByZXR1cm47XG4gICAgICBjb25zdCB2YWwgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlWzBdIDogTnVtYmVyKHZhbHVlKTtcbiAgICAgIGNvbnN0IGluZGV4ID0gYmlzZWN0TGVmdChzdGVwcywgdmFsKTtcbiAgICAgIGNvbnN0IG5leHRJZHggPSBpbmRleCA+PSBzdGVwcy5sZW5ndGggLSAxID8gMCA6IGluZGV4ICsgMTtcblxuICAgICAgLy8gd2h5IGRvIHdlIG5lZWQgdG8gcGFzcyBhbiBhcnJheSBvZiB0d28gb2JqZWN0cz8gYXJlIHdlIHJlYWRpbmcgbmV4dElkeCBhdCBzb21lIHBvaW50P1xuICAgICAgLy8gX25leHRGcmFtZUJ5RG9tYWluIG9ubHkgcmV0dXJucyBvbmUgdmFsdWVcbiAgICAgIHJldHVybiBbc3RlcHNbbmV4dElkeF0sIG5leHRJZHhdO1xuICAgIH1cblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHtpc0FuaW1hdGluZ30gPSB0aGlzLnN0YXRlO1xuICAgICAgY29uc3Qge2NoaWxkcmVufSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIHJldHVybiB0eXBlb2YgY2hpbGRyZW4gPT09ICdmdW5jdGlvbidcbiAgICAgICAgPyBjaGlsZHJlbihcbiAgICAgICAgICAgIGlzQW5pbWF0aW5nLFxuICAgICAgICAgICAgdGhpcy5fc3RhcnRBbmltYXRpb24sXG4gICAgICAgICAgICB0aGlzLl9wYXVzZUFuaW1hdGlvbixcbiAgICAgICAgICAgIHRoaXMuX3Jlc2V0QW5pbWF0aW9uLFxuICAgICAgICAgICAgdGhpcy5wcm9wcy50aW1lbGluZSxcbiAgICAgICAgICAgIHRoaXMucHJvcHMuc2V0VGltZWxpbmVWYWx1ZVxuICAgICAgICAgIClcbiAgICAgICAgOiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBBbmltYXRpb25Db250cm9sbGVyO1xufVxuXG5leHBvcnQgZGVmYXVsdCBBbmltYXRpb25Db250cm9sbGVyRmFjdG9yeTtcbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright (c)
|
|
1
|
+
// Copyright (c) 2023 Uber Technologies, Inc.
|
|
2
2
|
//
|
|
3
3
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
4
|
// of this software and associated documentation files (the "Software"), to deal
|
|
@@ -117,4 +117,4 @@ function AnimationSpeedSliderFactory(RangeSlider) {
|
|
|
117
117
|
|
|
118
118
|
return (0, _reactOnclickoutside["default"])(AnimationSpeedSlider);
|
|
119
119
|
}
|
|
120
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
120
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vYW5pbWF0aW9uLWNvbnRyb2wvYW5pbWF0aW9uLXNwZWVkLXNsaWRlci50c3giXSwibmFtZXMiOlsiU2xpZGVyV3JhcHBlciIsInN0eWxlZCIsImRpdiIsIlNwZWVkU2xpZGVyQ29udGFpbmVyIiwicHJvcHMiLCJ0aGVtZSIsImJvdHRvbVdpZGdldEJnZCIsIkFuaW1hdGlvblNwZWVkU2xpZGVyRmFjdG9yeSIsImRlcHMiLCJSYW5nZVNsaWRlckZhY3RvcnkiLCJSYW5nZVNsaWRlciIsIkFuaW1hdGlvblNwZWVkU2xpZGVyIiwiZSIsIm9uSGlkZSIsInYiLCJ1cGRhdGVBbmltYXRpb25TcGVlZCIsIlNQRUVEX0NPTlRST0xfUkFOR0UiLCJTUEVFRF9DT05UUk9MX1NURVAiLCJzcGVlZCIsIl9vbkNoYW5nZSIsIkNvbXBvbmVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7OztBQUVBLElBQU1BLGFBQWEsR0FBR0MsNkJBQU9DLEdBQVYsK0dBQW5COztBQUlBLElBQU1DLG9CQUFvQixHQUFHRiw2QkFBT0MsR0FBVixrV0FNSixVQUFBRSxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlDLGVBQWhCO0FBQUEsQ0FORCxDQUExQjs7QUFlQUMsMkJBQTJCLENBQUNDLElBQTVCLEdBQW1DLENBQUNDLHVCQUFELENBQW5DOztBQVFlLFNBQVNGLDJCQUFULENBQ2JHLFdBRGEsRUFFNkI7QUFBQSxNQUNwQ0Msb0JBRG9DO0FBQUE7O0FBQUE7O0FBQUE7QUFBQTs7QUFBQTs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQSw2R0FFbkIsVUFBQUMsQ0FBQyxFQUFJO0FBQ3hCLGNBQUtSLEtBQUwsQ0FBV1MsTUFBWDtBQUNELE9BSnVDO0FBQUEsb0dBTTVCLFVBQUFDLENBQUM7QUFBQSxlQUFJLE1BQUtWLEtBQUwsQ0FBV1csb0JBQVgsQ0FBZ0NELENBQUMsQ0FBQyxDQUFELENBQWpDLENBQUo7QUFBQSxPQU4yQjtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBLGFBUXhDLGtCQUFTO0FBQ1AsNEJBQ0UsZ0NBQUMsb0JBQUQ7QUFBc0IsVUFBQSxTQUFTLEVBQUM7QUFBaEMsd0JBQ0UsZ0NBQUMsYUFBRCxxQkFDRSxnQ0FBQyxXQUFEO0FBQ0UsVUFBQSxLQUFLLEVBQUVFLDhCQURUO0FBRUUsVUFBQSxJQUFJLEVBQUVDLDZCQUZSO0FBR0UsVUFBQSxNQUFNLEVBQUUsQ0FIVjtBQUlFLFVBQUEsTUFBTSxFQUFFLEtBQUtiLEtBQUwsQ0FBV2MsS0FKckI7QUFLRSxVQUFBLFFBQVEsRUFBRSxLQUFLQyxTQUxqQjtBQU1FLFVBQUEsUUFBUSxFQUFFLEtBTlo7QUFPRSxVQUFBLFNBQVMsTUFQWDtBQVFFLFVBQUEsVUFBVSxFQUFDLFdBUmI7QUFTRSxVQUFBLFNBQVMsRUFBQztBQVRaLFVBREYsQ0FERixDQURGO0FBaUJEO0FBMUJ1QztBQUFBO0FBQUEsSUFDUEMsZ0JBRE87O0FBNkIxQyxTQUFPLHFDQUFlVCxvQkFBZixDQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjMgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHtDb21wb25lbnQsIENvbXBvbmVudFR5cGV9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IFJhbmdlU2xpZGVyRmFjdG9yeSBmcm9tICcuLi9yYW5nZS1zbGlkZXInO1xuaW1wb3J0IG9uQ2xpY2tPdXRzaWRlIGZyb20gJ3JlYWN0LW9uY2xpY2tvdXRzaWRlJztcbmltcG9ydCB7U1BFRURfQ09OVFJPTF9SQU5HRSwgU1BFRURfQ09OVFJPTF9TVEVQfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5cbmNvbnN0IFNsaWRlcldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5gO1xuXG5jb25zdCBTcGVlZFNsaWRlckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiA1MHB4O1xuICByaWdodDogY2FsYygwJSAtIDMycHgpO1xuICB3aWR0aDogMTgwcHg7XG4gIHBhZGRpbmc6IDJweCA4cHggMnB4IDEycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm90dG9tV2lkZ2V0QmdkfTtcbiAgYm94LXNoYWRvdzogLTJweCAtMnB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG5cbiAgLmtnLXJhbmdlLXNsaWRlcl9faW5wdXQge1xuICAgIHdpZHRoOiA0OHB4O1xuICAgIHBhZGRpbmc6IDZweDtcbiAgfVxuYDtcblxuQW5pbWF0aW9uU3BlZWRTbGlkZXJGYWN0b3J5LmRlcHMgPSBbUmFuZ2VTbGlkZXJGYWN0b3J5XTtcblxuaW50ZXJmYWNlIEFuaW1hdGlvblNwZWVkU2xpZGVyUHJvcHMge1xuICBvbkhpZGU6ICgpID0+IHZvaWQ7XG4gIHNwZWVkOiBudW1iZXI7XG4gIHVwZGF0ZUFuaW1hdGlvblNwZWVkOiAodmFsOiBudW1iZXIpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEFuaW1hdGlvblNwZWVkU2xpZGVyRmFjdG9yeShcbiAgUmFuZ2VTbGlkZXI6IFJldHVyblR5cGU8dHlwZW9mIFJhbmdlU2xpZGVyRmFjdG9yeT5cbik6IENvbXBvbmVudFR5cGU8QW5pbWF0aW9uU3BlZWRTbGlkZXJQcm9wcz4ge1xuICBjbGFzcyBBbmltYXRpb25TcGVlZFNsaWRlciBleHRlbmRzIENvbXBvbmVudDxBbmltYXRpb25TcGVlZFNsaWRlclByb3BzPiB7XG4gICAgaGFuZGxlQ2xpY2tPdXRzaWRlID0gZSA9PiB7XG4gICAgICB0aGlzLnByb3BzLm9uSGlkZSgpO1xuICAgIH07XG5cbiAgICBfb25DaGFuZ2UgPSB2ID0+IHRoaXMucHJvcHMudXBkYXRlQW5pbWF0aW9uU3BlZWQodlsxXSk7XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U3BlZWRTbGlkZXJDb250YWluZXIgY2xhc3NOYW1lPVwiYW5pbWF0aW9uLWNvbnRyb2xfX3NwZWVkLXNsaWRlclwiPlxuICAgICAgICAgIDxTbGlkZXJXcmFwcGVyPlxuICAgICAgICAgICAgPFJhbmdlU2xpZGVyXG4gICAgICAgICAgICAgIHJhbmdlPXtTUEVFRF9DT05UUk9MX1JBTkdFfVxuICAgICAgICAgICAgICBzdGVwPXtTUEVFRF9DT05UUk9MX1NURVB9XG4gICAgICAgICAgICAgIHZhbHVlMD17MH1cbiAgICAgICAgICAgICAgdmFsdWUxPXt0aGlzLnByb3BzLnNwZWVkfVxuICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5fb25DaGFuZ2V9XG4gICAgICAgICAgICAgIGlzUmFuZ2VkPXtmYWxzZX1cbiAgICAgICAgICAgICAgc2hvd0lucHV0XG4gICAgICAgICAgICAgIGlucHV0VGhlbWU9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICBpbnB1dFNpemU9XCJ0aW55XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9TbGlkZXJXcmFwcGVyPlxuICAgICAgICA8L1NwZWVkU2xpZGVyQ29udGFpbmVyPlxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gb25DbGlja091dHNpZGUoQW5pbWF0aW9uU3BlZWRTbGlkZXIpO1xufVxuIl19
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
2
|
interface FloatingTimeDisplayProps {
|
|
3
3
|
currentTime: number | number[];
|
|
4
4
|
defaultTimeFormat?: string | null;
|
|
5
5
|
timeFormat?: string | null;
|
|
6
6
|
timezone?: string | null;
|
|
7
7
|
}
|
|
8
|
-
export default function FloatingTimeDisplayFactory(): ({ currentTime, defaultTimeFormat, timeFormat, timezone }: FloatingTimeDisplayProps) => JSX.Element;
|
|
8
|
+
export default function FloatingTimeDisplayFactory(): ({ currentTime, defaultTimeFormat, timeFormat, timezone }: FloatingTimeDisplayProps) => React.JSX.Element;
|
|
9
9
|
export {};
|