@kepler.gl/components 3.0.0 → 3.1.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +26 -27
- package/dist/bottom-widget.d.ts +0 -19
- package/dist/bottom-widget.js +0 -166
- package/dist/common/action-panel.d.ts +0 -27
- package/dist/common/action-panel.js +0 -132
- package/dist/common/animation-control/animation-control.d.ts +0 -25
- package/dist/common/animation-control/animation-control.js +0 -113
- package/dist/common/animation-control/animation-controller.d.ts +0 -19
- package/dist/common/animation-control/animation-controller.js +0 -318
- package/dist/common/animation-control/animation-speed-slider.d.ts +0 -12
- package/dist/common/animation-control/animation-speed-slider.js +0 -100
- package/dist/common/animation-control/animation-window-control.d.ts +0 -20
- package/dist/common/animation-control/animation-window-control.js +0 -68
- package/dist/common/animation-control/floating-time-display.d.ts +0 -9
- package/dist/common/animation-control/floating-time-display.js +0 -161
- package/dist/common/animation-control/play-control.d.ts +0 -12
- package/dist/common/animation-control/play-control.js +0 -63
- package/dist/common/animation-control/playback-controls.d.ts +0 -55
- package/dist/common/animation-control/playback-controls.js +0 -182
- package/dist/common/animation-control/reset-control.d.ts +0 -9
- package/dist/common/animation-control/reset-control.js +0 -53
- package/dist/common/animation-control/speed-control.d.ts +0 -12
- package/dist/common/animation-control/speed-control.js +0 -68
- package/dist/common/animation-control/window-action-control.d.ts +0 -11
- package/dist/common/animation-control/window-action-control.js +0 -69
- package/dist/common/checkbox.d.ts +0 -35
- package/dist/common/checkbox.js +0 -139
- package/dist/common/color-legend.d.ts +0 -39
- package/dist/common/color-legend.js +0 -231
- package/dist/common/data-table/button.d.ts +0 -8
- package/dist/common/data-table/button.js +0 -46
- package/dist/common/data-table/canvas.d.ts +0 -2
- package/dist/common/data-table/canvas.js +0 -32
- package/dist/common/data-table/cell-size.d.ts +0 -43
- package/dist/common/data-table/cell-size.js +0 -206
- package/dist/common/data-table/display-format.d.ts +0 -25
- package/dist/common/data-table/display-format.js +0 -149
- package/dist/common/data-table/grid.d.ts +0 -10
- package/dist/common/data-table/grid.js +0 -139
- package/dist/common/data-table/header-cell.d.ts +0 -28
- package/dist/common/data-table/header-cell.js +0 -169
- package/dist/common/data-table/index.d.ts +0 -101
- package/dist/common/data-table/index.js +0 -523
- package/dist/common/data-table/option-dropdown.d.ts +0 -28
- package/dist/common/data-table/option-dropdown.js +0 -195
- package/dist/common/dataset-label.d.ts +0 -10
- package/dist/common/dataset-label.js +0 -36
- package/dist/common/error-boundary.d.ts +0 -16
- package/dist/common/error-boundary.js +0 -83
- package/dist/common/field-selector.d.ts +0 -50
- package/dist/common/field-selector.js +0 -202
- package/dist/common/field-token.d.ts +0 -58
- package/dist/common/field-token.js +0 -54
- package/dist/common/file-uploader/file-drop.d.ts +0 -54
- package/dist/common/file-uploader/file-drop.js +0 -232
- package/dist/common/file-uploader/file-upload-progress.d.ts +0 -8
- package/dist/common/file-uploader/file-upload-progress.js +0 -103
- package/dist/common/file-uploader/file-upload.d.ts +0 -23
- package/dist/common/file-uploader/file-upload.js +0 -304
- package/dist/common/file-uploader/upload-button.d.ts +0 -8
- package/dist/common/file-uploader/upload-button.js +0 -74
- package/dist/common/flex-container.d.ts +0 -3
- package/dist/common/flex-container.js +0 -23
- package/dist/common/histogram-plot.d.ts +0 -3
- package/dist/common/histogram-plot.js +0 -120
- package/dist/common/icon-button.d.ts +0 -13
- package/dist/common/icon-button.js +0 -32
- package/dist/common/icons/add.d.ts +0 -9
- package/dist/common/icons/add.js +0 -58
- package/dist/common/icons/anchor_window.d.ts +0 -11
- package/dist/common/icons/anchor_window.js +0 -39
- package/dist/common/icons/arrow-down-alt.d.ts +0 -9
- package/dist/common/icons/arrow-down-alt.js +0 -58
- package/dist/common/icons/arrow-down-small.d.ts +0 -14
- package/dist/common/icons/arrow-down-small.js +0 -72
- package/dist/common/icons/arrow-down-solid.d.ts +0 -9
- package/dist/common/icons/arrow-down-solid.js +0 -58
- package/dist/common/icons/arrow-down.d.ts +0 -9
- package/dist/common/icons/arrow-down.js +0 -58
- package/dist/common/icons/arrow-left.d.ts +0 -9
- package/dist/common/icons/arrow-left.js +0 -61
- package/dist/common/icons/arrow-right.d.ts +0 -9
- package/dist/common/icons/arrow-right.js +0 -58
- package/dist/common/icons/arrow-up-alt.d.ts +0 -9
- package/dist/common/icons/arrow-up-alt.js +0 -59
- package/dist/common/icons/arrow-up-solid.d.ts +0 -9
- package/dist/common/icons/arrow-up-solid.js +0 -58
- package/dist/common/icons/arrow-up.d.ts +0 -9
- package/dist/common/icons/arrow-up.js +0 -58
- package/dist/common/icons/base.d.ts +0 -29
- package/dist/common/icons/base.js +0 -96
- package/dist/common/icons/bug.d.ts +0 -9
- package/dist/common/icons/bug.js +0 -60
- package/dist/common/icons/calendar.d.ts +0 -10
- package/dist/common/icons/calendar.js +0 -66
- package/dist/common/icons/cancel.d.ts +0 -9
- package/dist/common/icons/cancel.js +0 -58
- package/dist/common/icons/checkmark.d.ts +0 -10
- package/dist/common/icons/checkmark.js +0 -65
- package/dist/common/icons/clipboard.d.ts +0 -9
- package/dist/common/icons/clipboard.js +0 -59
- package/dist/common/icons/clock.d.ts +0 -9
- package/dist/common/icons/clock.js +0 -60
- package/dist/common/icons/close.d.ts +0 -9
- package/dist/common/icons/close.js +0 -63
- package/dist/common/icons/code-alt.d.ts +0 -9
- package/dist/common/icons/code-alt.js +0 -62
- package/dist/common/icons/copy.d.ts +0 -9
- package/dist/common/icons/copy.js +0 -64
- package/dist/common/icons/crosshairs.d.ts +0 -9
- package/dist/common/icons/crosshairs.js +0 -62
- package/dist/common/icons/cube-3d.d.ts +0 -9
- package/dist/common/icons/cube-3d.js +0 -62
- package/dist/common/icons/cursor-click.d.ts +0 -9
- package/dist/common/icons/cursor-click.js +0 -62
- package/dist/common/icons/cursor-point.d.ts +0 -14
- package/dist/common/icons/cursor-point.js +0 -69
- package/dist/common/icons/data-table.d.ts +0 -10
- package/dist/common/icons/data-table.js +0 -59
- package/dist/common/icons/db.d.ts +0 -10
- package/dist/common/icons/db.js +0 -59
- package/dist/common/icons/delete.d.ts +0 -9
- package/dist/common/icons/delete.js +0 -60
- package/dist/common/icons/docs.d.ts +0 -9
- package/dist/common/icons/docs.js +0 -74
- package/dist/common/icons/drag-n-drop.d.ts +0 -9
- package/dist/common/icons/drag-n-drop.js +0 -60
- package/dist/common/icons/draw-polygon.d.ts +0 -10
- package/dist/common/icons/draw-polygon.js +0 -78
- package/dist/common/icons/effects/brightness-contrast.d.ts +0 -14
- package/dist/common/icons/effects/brightness-contrast.js +0 -88
- package/dist/common/icons/effects/color-halftone.d.ts +0 -14
- package/dist/common/icons/effects/color-halftone.js +0 -127
- package/dist/common/icons/effects/dot-screen.d.ts +0 -14
- package/dist/common/icons/effects/dot-screen.js +0 -122
- package/dist/common/icons/effects/edge-work.d.ts +0 -14
- package/dist/common/icons/effects/edge-work.js +0 -81
- package/dist/common/icons/effects/hexagonal-pixelate.d.ts +0 -14
- package/dist/common/icons/effects/hexagonal-pixelate.js +0 -148
- package/dist/common/icons/effects/hue-saturation.d.ts +0 -14
- package/dist/common/icons/effects/hue-saturation.js +0 -79
- package/dist/common/icons/effects/ink.d.ts +0 -14
- package/dist/common/icons/effects/ink.js +0 -78
- package/dist/common/icons/effects/light-and-shadow.d.ts +0 -14
- package/dist/common/icons/effects/light-and-shadow.js +0 -67
- package/dist/common/icons/effects/magic-wand.d.ts +0 -14
- package/dist/common/icons/effects/magic-wand.js +0 -79
- package/dist/common/icons/effects/magnify.d.ts +0 -14
- package/dist/common/icons/effects/magnify.js +0 -86
- package/dist/common/icons/effects/noise.d.ts +0 -14
- package/dist/common/icons/effects/noise.js +0 -132
- package/dist/common/icons/effects/sepia.d.ts +0 -14
- package/dist/common/icons/effects/sepia.js +0 -79
- package/dist/common/icons/effects/tilt-shift.d.ts +0 -14
- package/dist/common/icons/effects/tilt-shift.js +0 -88
- package/dist/common/icons/effects/triangle-blur.d.ts +0 -14
- package/dist/common/icons/effects/triangle-blur.js +0 -83
- package/dist/common/icons/effects/vibrance.d.ts +0 -14
- package/dist/common/icons/effects/vibrance.js +0 -79
- package/dist/common/icons/effects/vignette.d.ts +0 -14
- package/dist/common/icons/effects/vignette.js +0 -72
- package/dist/common/icons/effects/zoom-blur.d.ts +0 -14
- package/dist/common/icons/effects/zoom-blur.js +0 -107
- package/dist/common/icons/email.d.ts +0 -9
- package/dist/common/icons/email.js +0 -62
- package/dist/common/icons/expand.d.ts +0 -9
- package/dist/common/icons/expand.js +0 -60
- package/dist/common/icons/eye-seen.d.ts +0 -9
- package/dist/common/icons/eye-seen.js +0 -60
- package/dist/common/icons/eye-unseen.d.ts +0 -9
- package/dist/common/icons/eye-unseen.js +0 -60
- package/dist/common/icons/file-type.d.ts +0 -8
- package/dist/common/icons/file-type.js +0 -45
- package/dist/common/icons/file.d.ts +0 -9
- package/dist/common/icons/file.js +0 -58
- package/dist/common/icons/files.d.ts +0 -9
- package/dist/common/icons/files.js +0 -60
- package/dist/common/icons/filter-funnel.d.ts +0 -9
- package/dist/common/icons/filter-funnel.js +0 -58
- package/dist/common/icons/free-window.d.ts +0 -11
- package/dist/common/icons/free-window.js +0 -39
- package/dist/common/icons/gear.d.ts +0 -9
- package/dist/common/icons/gear.js +0 -60
- package/dist/common/icons/globe.d.ts +0 -15
- package/dist/common/icons/globe.js +0 -72
- package/dist/common/icons/hash.d.ts +0 -9
- package/dist/common/icons/hash.js +0 -58
- package/dist/common/icons/histogram.d.ts +0 -9
- package/dist/common/icons/histogram.js +0 -59
- package/dist/common/icons/index.d.ts +0 -102
- package/dist/common/icons/index.js +0 -812
- package/dist/common/icons/info.d.ts +0 -12
- package/dist/common/icons/info.js +0 -72
- package/dist/common/icons/layers.d.ts +0 -9
- package/dist/common/icons/layers.js +0 -58
- package/dist/common/icons/left-arrow.d.ts +0 -9
- package/dist/common/icons/left-arrow.js +0 -62
- package/dist/common/icons/legend.d.ts +0 -9
- package/dist/common/icons/legend.js +0 -58
- package/dist/common/icons/line-chart.d.ts +0 -9
- package/dist/common/icons/line-chart.js +0 -58
- package/dist/common/icons/location-marker.d.ts +0 -14
- package/dist/common/icons/location-marker.js +0 -77
- package/dist/common/icons/login.d.ts +0 -9
- package/dist/common/icons/login.js +0 -61
- package/dist/common/icons/logout.d.ts +0 -9
- package/dist/common/icons/logout.js +0 -60
- package/dist/common/icons/map-icon.d.ts +0 -11
- package/dist/common/icons/map-icon.js +0 -66
- package/dist/common/icons/map.d.ts +0 -11
- package/dist/common/icons/map.js +0 -66
- package/dist/common/icons/messages.d.ts +0 -9
- package/dist/common/icons/messages.js +0 -58
- package/dist/common/icons/minus.d.ts +0 -9
- package/dist/common/icons/minus.js +0 -58
- package/dist/common/icons/moon.d.ts +0 -14
- package/dist/common/icons/moon.js +0 -77
- package/dist/common/icons/order-by-dataset.d.ts +0 -12
- package/dist/common/icons/order-by-dataset.js +0 -39
- package/dist/common/icons/order-by-list.d.ts +0 -12
- package/dist/common/icons/order-by-list.js +0 -31
- package/dist/common/icons/pause.d.ts +0 -9
- package/dist/common/icons/pause.js +0 -58
- package/dist/common/icons/picture.d.ts +0 -9
- package/dist/common/icons/picture.js +0 -60
- package/dist/common/icons/pin.d.ts +0 -9
- package/dist/common/icons/pin.js +0 -66
- package/dist/common/icons/play.d.ts +0 -9
- package/dist/common/icons/play.js +0 -58
- package/dist/common/icons/polygon.d.ts +0 -10
- package/dist/common/icons/polygon.js +0 -80
- package/dist/common/icons/rectangle.d.ts +0 -10
- package/dist/common/icons/rectangle.js +0 -81
- package/dist/common/icons/reduce.d.ts +0 -9
- package/dist/common/icons/reduce.js +0 -61
- package/dist/common/icons/reset.d.ts +0 -9
- package/dist/common/icons/reset.js +0 -58
- package/dist/common/icons/rocket.d.ts +0 -9
- package/dist/common/icons/rocket.js +0 -58
- package/dist/common/icons/save.d.ts +0 -9
- package/dist/common/icons/save.js +0 -60
- package/dist/common/icons/save2.d.ts +0 -9
- package/dist/common/icons/save2.js +0 -64
- package/dist/common/icons/search.d.ts +0 -9
- package/dist/common/icons/search.js +0 -60
- package/dist/common/icons/settings.d.ts +0 -9
- package/dist/common/icons/settings.js +0 -60
- package/dist/common/icons/share.d.ts +0 -9
- package/dist/common/icons/share.js +0 -58
- package/dist/common/icons/split.d.ts +0 -9
- package/dist/common/icons/split.js +0 -86
- package/dist/common/icons/square-select.d.ts +0 -9
- package/dist/common/icons/square-select.js +0 -60
- package/dist/common/icons/sun.d.ts +0 -14
- package/dist/common/icons/sun.js +0 -93
- package/dist/common/icons/sunrise.d.ts +0 -14
- package/dist/common/icons/sunrise.js +0 -89
- package/dist/common/icons/sunset.d.ts +0 -14
- package/dist/common/icons/sunset.js +0 -89
- package/dist/common/icons/trash.d.ts +0 -9
- package/dist/common/icons/trash.js +0 -60
- package/dist/common/icons/vert-dots.d.ts +0 -9
- package/dist/common/icons/vert-dots.js +0 -96
- package/dist/common/icons/vert-three-dots.d.ts +0 -9
- package/dist/common/icons/vert-three-dots.js +0 -71
- package/dist/common/icons/warning-sign.d.ts +0 -15
- package/dist/common/icons/warning-sign.js +0 -80
- package/dist/common/icons/warning.d.ts +0 -10
- package/dist/common/icons/warning.js +0 -73
- package/dist/common/image-preview.d.ts +0 -15
- package/dist/common/image-preview.js +0 -71
- package/dist/common/index.d.ts +0 -3
- package/dist/common/index.js +0 -273
- package/dist/common/info-helper.d.ts +0 -10
- package/dist/common/info-helper.js +0 -75
- package/dist/common/item-selector/accessor.d.ts +0 -7
- package/dist/common/item-selector/accessor.js +0 -39
- package/dist/common/item-selector/chickleted-input.d.ts +0 -22
- package/dist/common/item-selector/chickleted-input.js +0 -176
- package/dist/common/item-selector/dropdown-list.d.ts +0 -72
- package/dist/common/item-selector/dropdown-list.js +0 -295
- package/dist/common/item-selector/item-selector.d.ts +0 -47
- package/dist/common/item-selector/item-selector.js +0 -351
- package/dist/common/item-selector/typeahead.d.ts +0 -117
- package/dist/common/item-selector/typeahead.js +0 -498
- package/dist/common/line-chart.d.ts +0 -34
- package/dist/common/line-chart.js +0 -126
- package/dist/common/loading-spinner.d.ts +0 -9
- package/dist/common/loading-spinner.js +0 -56
- package/dist/common/logo.d.ts +0 -8
- package/dist/common/logo.js +0 -82
- package/dist/common/map-layer-selector.d.ts +0 -13
- package/dist/common/map-layer-selector.js +0 -48
- package/dist/common/modal.d.ts +0 -64
- package/dist/common/modal.js +0 -208
- package/dist/common/portaled.d.ts +0 -578
- package/dist/common/portaled.js +0 -340
- package/dist/common/progress-bar.d.ts +0 -12
- package/dist/common/progress-bar.js +0 -54
- package/dist/common/range-brush.d.ts +0 -19
- package/dist/common/range-brush.js +0 -326
- package/dist/common/range-plot.d.ts +0 -39
- package/dist/common/range-plot.js +0 -137
- package/dist/common/range-slider.d.ts +0 -34
- package/dist/common/range-slider.js +0 -329
- package/dist/common/slider/mouse-event.d.ts +0 -27
- package/dist/common/slider/mouse-event.js +0 -129
- package/dist/common/slider/slider-bar-handle.d.ts +0 -29
- package/dist/common/slider/slider-bar-handle.js +0 -115
- package/dist/common/slider/slider-handle.d.ts +0 -33
- package/dist/common/slider/slider-handle.js +0 -162
- package/dist/common/slider/slider.d.ts +0 -72
- package/dist/common/slider/slider.js +0 -247
- package/dist/common/styled-components.d.ts +0 -128
- package/dist/common/styled-components.js +0 -531
- package/dist/common/switch.d.ts +0 -16
- package/dist/common/switch.js +0 -30
- package/dist/common/time-range-slider-time-title.d.ts +0 -9
- package/dist/common/time-range-slider-time-title.js +0 -74
- package/dist/common/time-range-slider.d.ts +0 -35
- package/dist/common/time-range-slider.js +0 -131
- package/dist/common/time-slider-marker.d.ts +0 -21
- package/dist/common/time-slider-marker.js +0 -141
- package/dist/common/timeline-slider.d.ts +0 -13
- package/dist/common/timeline-slider.js +0 -153
- package/dist/common/tippy-tooltip.d.ts +0 -6
- package/dist/common/tippy-tooltip.js +0 -134
- package/dist/common/toolbar-item.d.ts +0 -14
- package/dist/common/toolbar-item.js +0 -73
- package/dist/common/toolbar.d.ts +0 -5
- package/dist/common/toolbar.js +0 -33
- package/dist/common/vertical-toolbar.d.ts +0 -3
- package/dist/common/vertical-toolbar.js +0 -22
- package/dist/connect/keplergl-connect.d.ts +0 -9
- package/dist/connect/keplergl-connect.js +0 -51
- package/dist/connect/with-local-selector.d.ts +0 -6
- package/dist/connect/with-local-selector.js +0 -110
- package/dist/container.d.ts +0 -39
- package/dist/container.js +0 -222
- package/dist/context.d.ts +0 -27
- package/dist/context.js +0 -49
- package/dist/dnd-context.d.ts +0 -13
- package/dist/dnd-context.js +0 -157
- package/dist/editor/editor.d.ts +0 -31
- package/dist/editor/editor.js +0 -253
- package/dist/editor/feature-action-panel.d.ts +0 -32
- package/dist/editor/feature-action-panel.js +0 -171
- package/dist/effects/compact-color-picker.d.ts +0 -10
- package/dist/effects/compact-color-picker.js +0 -130
- package/dist/effects/effect-configurator.d.ts +0 -17
- package/dist/effects/effect-configurator.js +0 -302
- package/dist/effects/effect-list.d.ts +0 -15
- package/dist/effects/effect-list.js +0 -153
- package/dist/effects/effect-manager.d.ts +0 -22
- package/dist/effects/effect-manager.js +0 -142
- package/dist/effects/effect-panel-header.d.ts +0 -45
- package/dist/effects/effect-panel-header.js +0 -206
- package/dist/effects/effect-panel.d.ts +0 -24
- package/dist/effects/effect-panel.js +0 -149
- package/dist/effects/effect-time-configurator.d.ts +0 -20
- package/dist/effects/effect-time-configurator.js +0 -340
- package/dist/effects/effect-time-selector.d.ts +0 -16
- package/dist/effects/effect-time-selector.js +0 -181
- package/dist/effects/effect-time-slider.d.ts +0 -34
- package/dist/effects/effect-time-slider.js +0 -220
- package/dist/effects/effect-type-dropdown-list.d.ts +0 -18
- package/dist/effects/effect-type-dropdown-list.js +0 -77
- package/dist/effects/effect-type-list-item.d.ts +0 -22
- package/dist/effects/effect-type-list-item.js +0 -105
- package/dist/effects/effect-type-selector.d.ts +0 -30
- package/dist/effects/effect-type-selector.js +0 -92
- package/dist/effects/side-panel-title.d.ts +0 -7
- package/dist/effects/side-panel-title.js +0 -47
- package/dist/effects/timezone-selector.d.ts +0 -19
- package/dist/effects/timezone-selector.js +0 -71
- package/dist/filter-animation-controller.d.ts +0 -17
- package/dist/filter-animation-controller.js +0 -73
- package/dist/filters/components.d.ts +0 -3
- package/dist/filters/components.js +0 -20
- package/dist/filters/filter-panels/filter-panel-with-field-select.d.ts +0 -10
- package/dist/filters/filter-panels/filter-panel-with-field-select.js +0 -90
- package/dist/filters/filter-panels/multi-select-filter-panel.d.ts +0 -9
- package/dist/filters/filter-panels/multi-select-filter-panel.js +0 -56
- package/dist/filters/filter-panels/new-filter-panel.d.ts +0 -12
- package/dist/filters/filter-panels/new-filter-panel.js +0 -78
- package/dist/filters/filter-panels/polygon-filter-panel.d.ts +0 -9
- package/dist/filters/filter-panels/polygon-filter-panel.js +0 -80
- package/dist/filters/filter-panels/range-filter-panel.d.ts +0 -9
- package/dist/filters/filter-panels/range-filter-panel.js +0 -56
- package/dist/filters/filter-panels/single-select-filter-panel.d.ts +0 -9
- package/dist/filters/filter-panels/single-select-filter-panel.js +0 -56
- package/dist/filters/filter-panels/time-range-filter-panel.d.ts +0 -8
- package/dist/filters/filter-panels/time-range-filter-panel.js +0 -84
- package/dist/filters/filter-panels/types.d.ts +0 -36
- package/dist/filters/filter-panels/types.js +0 -6
- package/dist/filters/index.d.ts +0 -7
- package/dist/filters/index.js +0 -64
- package/dist/filters/multi-select-filter.d.ts +0 -3
- package/dist/filters/multi-select-filter.js +0 -37
- package/dist/filters/polygon-filter.d.ts +0 -4
- package/dist/filters/polygon-filter.js +0 -88
- package/dist/filters/range-filter.d.ts +0 -8
- package/dist/filters/range-filter.js +0 -38
- package/dist/filters/single-select-filter.d.ts +0 -3
- package/dist/filters/single-select-filter.js +0 -46
- package/dist/filters/time-range-filter.d.ts +0 -29
- package/dist/filters/time-range-filter.js +0 -72
- package/dist/filters/time-widget-top.d.ts +0 -8
- package/dist/filters/time-widget-top.js +0 -103
- package/dist/filters/time-widget.d.ts +0 -10
- package/dist/filters/time-widget.js +0 -115
- package/dist/filters/types.d.ts +0 -58
- package/dist/filters/types.js +0 -6
- package/dist/geocoder/geocoder.d.ts +0 -31
- package/dist/geocoder/geocoder.js +0 -319
- package/dist/geocoder-panel.d.ts +0 -31
- package/dist/geocoder-panel.js +0 -232
- package/dist/hooks/use-cloud-list-provider.d.ts +0 -11
- package/dist/hooks/use-cloud-list-provider.js +0 -57
- package/dist/hooks/use-dnd-effects.d.ts +0 -9
- package/dist/hooks/use-dnd-effects.js +0 -88
- package/dist/hooks/use-dnd-layers.d.ts +0 -9
- package/dist/hooks/use-dnd-layers.js +0 -95
- package/dist/hooks/use-feature-flags.d.ts +0 -5
- package/dist/hooks/use-feature-flags.js +0 -21
- package/dist/index.d.ts +0 -233
- package/dist/index.js +0 -2514
- package/dist/injector.d.ts +0 -29
- package/dist/injector.js +0 -178
- package/dist/kepler-gl.d.ts +0 -323
- package/dist/kepler-gl.js +0 -603
- package/dist/layer-animation-controller.d.ts +0 -13
- package/dist/layer-animation-controller.js +0 -58
- package/dist/map/coordinate-info.d.ts +0 -7
- package/dist/map/coordinate-info.js +0 -51
- package/dist/map/effects/effect-control.d.ts +0 -16
- package/dist/map/effects/effect-control.js +0 -62
- package/dist/map/layer-hover-info.d.ts +0 -13
- package/dist/map/layer-hover-info.js +0 -224
- package/dist/map/layer-selector-panel.d.ts +0 -21
- package/dist/map/layer-selector-panel.js +0 -98
- package/dist/map/lazy-tippy.d.ts +0 -7
- package/dist/map/lazy-tippy.js +0 -74
- package/dist/map/locale-panel.d.ts +0 -16
- package/dist/map/locale-panel.js +0 -91
- package/dist/map/map-control-panel.d.ts +0 -19
- package/dist/map/map-control-panel.js +0 -152
- package/dist/map/map-control-toolbar.d.ts +0 -2
- package/dist/map/map-control-toolbar.js +0 -25
- package/dist/map/map-control-tooltip.d.ts +0 -8
- package/dist/map/map-control-tooltip.js +0 -41
- package/dist/map/map-control.d.ts +0 -53
- package/dist/map/map-control.js +0 -80
- package/dist/map/map-draw-panel.d.ts +0 -20
- package/dist/map/map-draw-panel.js +0 -114
- package/dist/map/map-legend-panel.d.ts +0 -35
- package/dist/map/map-legend-panel.js +0 -178
- package/dist/map/map-legend.d.ts +0 -55
- package/dist/map/map-legend.js +0 -254
- package/dist/map/map-popover-content.d.ts +0 -28
- package/dist/map/map-popover-content.js +0 -35
- package/dist/map/map-popover.d.ts +0 -33
- package/dist/map/map-popover.js +0 -276
- package/dist/map/split-map-button.d.ts +0 -20
- package/dist/map/split-map-button.js +0 -76
- package/dist/map/toggle-3d-button.d.ts +0 -17
- package/dist/map/toggle-3d-button.js +0 -65
- package/dist/map-container.d.ts +0 -72
- package/dist/map-container.js +0 -1003
- package/dist/map-view-state-context.d.ts +0 -17
- package/dist/map-view-state-context.js +0 -117
- package/dist/maps-layout.d.ts +0 -12
- package/dist/maps-layout.js +0 -64
- package/dist/modal-container.d.ts +0 -59
- package/dist/modal-container.js +0 -473
- package/dist/modals/add-map-style-modal.d.ts +0 -16
- package/dist/modals/add-map-style-modal.js +0 -242
- package/dist/modals/cloud-components/cloud-header.d.ts +0 -8
- package/dist/modals/cloud-components/cloud-header.js +0 -65
- package/dist/modals/cloud-components/cloud-item.d.ts +0 -5
- package/dist/modals/cloud-components/cloud-item.js +0 -72
- package/dist/modals/cloud-components/cloud-item.spec.d.ts +0 -1
- package/dist/modals/cloud-components/cloud-item.spec.js +0 -105
- package/dist/modals/cloud-components/cloud-maps.d.ts +0 -8
- package/dist/modals/cloud-components/cloud-maps.js +0 -63
- package/dist/modals/cloud-components/cloud-maps.spec.d.ts +0 -1
- package/dist/modals/cloud-components/cloud-maps.spec.js +0 -112
- package/dist/modals/cloud-components/provider-loading.d.ts +0 -2
- package/dist/modals/cloud-components/provider-loading.js +0 -29
- package/dist/modals/cloud-components/provider-select.d.ts +0 -7
- package/dist/modals/cloud-components/provider-select.js +0 -40
- package/dist/modals/cloud-tile.d.ts +0 -15
- package/dist/modals/cloud-tile.js +0 -253
- package/dist/modals/data-table-modal.d.ts +0 -37
- package/dist/modals/data-table-modal.js +0 -316
- package/dist/modals/delete-data-modal.d.ts +0 -10
- package/dist/modals/delete-data-modal.js +0 -54
- package/dist/modals/error-display.d.ts +0 -6
- package/dist/modals/error-display.js +0 -39
- package/dist/modals/export-data-modal.d.ts +0 -23
- package/dist/modals/export-data-modal.js +0 -212
- package/dist/modals/export-image-modal.d.ts +0 -16
- package/dist/modals/export-image-modal.js +0 -136
- package/dist/modals/export-map-modal/components.d.ts +0 -8
- package/dist/modals/export-map-modal/components.js +0 -51
- package/dist/modals/export-map-modal/export-html-map.d.ts +0 -12
- package/dist/modals/export-map-modal/export-html-map.js +0 -138
- package/dist/modals/export-map-modal/export-json-map.d.ts +0 -9
- package/dist/modals/export-map-modal/export-json-map.js +0 -100
- package/dist/modals/export-map-modal/export-map-modal.d.ts +0 -27
- package/dist/modals/export-map-modal/export-map-modal.js +0 -103
- package/dist/modals/image-modal-container.d.ts +0 -16
- package/dist/modals/image-modal-container.js +0 -64
- package/dist/modals/load-data-modal.d.ts +0 -36
- package/dist/modals/load-data-modal.js +0 -98
- package/dist/modals/load-storage-map.d.ts +0 -5
- package/dist/modals/load-storage-map.js +0 -95
- package/dist/modals/load-storage-map.spec.d.ts +0 -1
- package/dist/modals/load-storage-map.spec.js +0 -237
- package/dist/modals/loading-dialog.d.ts +0 -7
- package/dist/modals/loading-dialog.js +0 -48
- package/dist/modals/modal-dialog.d.ts +0 -2
- package/dist/modals/modal-dialog.js +0 -20
- package/dist/modals/modal-tabs.d.ts +0 -27
- package/dist/modals/modal-tabs.js +0 -99
- package/dist/modals/overwrite-map-modal.d.ts +0 -16
- package/dist/modals/overwrite-map-modal.js +0 -107
- package/dist/modals/save-map-modal.d.ts +0 -28
- package/dist/modals/save-map-modal.js +0 -206
- package/dist/modals/save-map-modal.spec.d.ts +0 -1
- package/dist/modals/save-map-modal.spec.js +0 -218
- package/dist/modals/share-map-modal.d.ts +0 -26
- package/dist/modals/share-map-modal.js +0 -195
- package/dist/modals/share-map-modal.spec.d.ts +0 -1
- package/dist/modals/share-map-modal.spec.js +0 -202
- package/dist/modals/status-panel.d.ts +0 -13
- package/dist/modals/status-panel.js +0 -83
- package/dist/modals/storage-map-viewer.d.ts +0 -21
- package/dist/modals/storage-map-viewer.js +0 -127
- package/dist/notification-panel/notification-item.d.ts +0 -67
- package/dist/notification-panel/notification-item.js +0 -185
- package/dist/notification-panel.d.ts +0 -13
- package/dist/notification-panel.js +0 -86
- package/dist/plot-container.d.ts +0 -24
- package/dist/plot-container.js +0 -268
- package/dist/side-panel/add-by-dataset-button.d.ts +0 -12
- package/dist/side-panel/add-by-dataset-button.js +0 -153
- package/dist/side-panel/cloud-storage-dropdown.d.ts +0 -6
- package/dist/side-panel/cloud-storage-dropdown.js +0 -46
- package/dist/side-panel/common/dataset-info.d.ts +0 -10
- package/dist/side-panel/common/dataset-info.js +0 -43
- package/dist/side-panel/common/dataset-tag.d.ts +0 -17
- package/dist/side-panel/common/dataset-tag.js +0 -72
- package/dist/side-panel/common/dataset-title.d.ts +0 -22
- package/dist/side-panel/common/dataset-title.js +0 -171
- package/dist/side-panel/common/source-data-catalog.d.ts +0 -28
- package/dist/side-panel/common/source-data-catalog.js +0 -62
- package/dist/side-panel/common/source-data-selector.d.ts +0 -8
- package/dist/side-panel/common/source-data-selector.js +0 -80
- package/dist/side-panel/common/types.d.ts +0 -43
- package/dist/side-panel/common/types.js +0 -6
- package/dist/side-panel/custom-panel.d.ts +0 -8
- package/dist/side-panel/custom-panel.js +0 -43
- package/dist/side-panel/filter-manager.d.ts +0 -32
- package/dist/side-panel/filter-manager.js +0 -223
- package/dist/side-panel/filter-panel/add-filter-button.d.ts +0 -8
- package/dist/side-panel/filter-panel/add-filter-button.js +0 -34
- package/dist/side-panel/filter-panel/filter-panel-header.d.ts +0 -24
- package/dist/side-panel/filter-panel/filter-panel-header.js +0 -67
- package/dist/side-panel/filter-panel/filter-panel.d.ts +0 -23
- package/dist/side-panel/filter-panel/filter-panel.js +0 -131
- package/dist/side-panel/interaction-manager.d.ts +0 -18
- package/dist/side-panel/interaction-manager.js +0 -54
- package/dist/side-panel/interaction-panel/brush-config.d.ts +0 -15
- package/dist/side-panel/interaction-panel/brush-config.js +0 -54
- package/dist/side-panel/interaction-panel/interaction-panel.d.ts +0 -21
- package/dist/side-panel/interaction-panel/interaction-panel.js +0 -143
- package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +0 -30
- package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +0 -266
- package/dist/side-panel/interaction-panel/tooltip-config.d.ts +0 -37
- package/dist/side-panel/interaction-panel/tooltip-config.js +0 -176
- package/dist/side-panel/layer-manager.d.ts +0 -42
- package/dist/side-panel/layer-manager.js +0 -240
- package/dist/side-panel/layer-panel/add-layer-button.d.ts +0 -8
- package/dist/side-panel/layer-panel/add-layer-button.js +0 -34
- package/dist/side-panel/layer-panel/color-palette.d.ts +0 -11
- package/dist/side-panel/layer-panel/color-palette.js +0 -71
- package/dist/side-panel/layer-panel/color-range-selector.d.ts +0 -47
- package/dist/side-panel/layer-panel/color-range-selector.js +0 -270
- package/dist/side-panel/layer-panel/color-selector.d.ts +0 -33
- package/dist/side-panel/layer-panel/color-selector.js +0 -253
- package/dist/side-panel/layer-panel/column-selector.d.ts +0 -22
- package/dist/side-panel/layer-panel/column-selector.js +0 -65
- package/dist/side-panel/layer-panel/custom-palette.d.ts +0 -43
- package/dist/side-panel/layer-panel/custom-palette.js +0 -293
- package/dist/side-panel/layer-panel/custom-picker.d.ts +0 -24
- package/dist/side-panel/layer-panel/custom-picker.js +0 -116
- package/dist/side-panel/layer-panel/dataset-layer-group.d.ts +0 -22
- package/dist/side-panel/layer-panel/dataset-layer-group.js +0 -71
- package/dist/side-panel/layer-panel/dataset-layer-section.d.ts +0 -24
- package/dist/side-panel/layer-panel/dataset-layer-section.js +0 -70
- package/dist/side-panel/layer-panel/dataset-section.d.ts +0 -23
- package/dist/side-panel/layer-panel/dataset-section.js +0 -91
- package/dist/side-panel/layer-panel/dimension-scale-selector.d.ts +0 -10
- package/dist/side-panel/layer-panel/dimension-scale-selector.js +0 -44
- package/dist/side-panel/layer-panel/how-to-button.d.ts +0 -6
- package/dist/side-panel/layer-panel/how-to-button.js +0 -38
- package/dist/side-panel/layer-panel/layer-color-selector.d.ts +0 -42
- package/dist/side-panel/layer-panel/layer-color-selector.js +0 -118
- package/dist/side-panel/layer-panel/layer-column-config.d.ts +0 -25
- package/dist/side-panel/layer-panel/layer-column-config.js +0 -109
- package/dist/side-panel/layer-panel/layer-config-group.d.ts +0 -44
- package/dist/side-panel/layer-panel/layer-config-group.js +0 -176
- package/dist/side-panel/layer-panel/layer-configurator.d.ts +0 -75
- package/dist/side-panel/layer-panel/layer-configurator.js +0 -735
- package/dist/side-panel/layer-panel/layer-error-message.d.ts +0 -6
- package/dist/side-panel/layer-panel/layer-error-message.js +0 -38
- package/dist/side-panel/layer-panel/layer-list.d.ts +0 -20
- package/dist/side-panel/layer-panel/layer-list.js +0 -191
- package/dist/side-panel/layer-panel/layer-panel-header.d.ts +0 -75
- package/dist/side-panel/layer-panel/layer-panel-header.js +0 -310
- package/dist/side-panel/layer-panel/layer-panel.d.ts +0 -38
- package/dist/side-panel/layer-panel/layer-panel.js +0 -194
- package/dist/side-panel/layer-panel/layer-type-dropdown-list.d.ts +0 -22
- package/dist/side-panel/layer-panel/layer-type-dropdown-list.js +0 -89
- package/dist/side-panel/layer-panel/layer-type-list-item.d.ts +0 -22
- package/dist/side-panel/layer-panel/layer-type-list-item.js +0 -77
- package/dist/side-panel/layer-panel/layer-type-selector.d.ts +0 -22
- package/dist/side-panel/layer-panel/layer-type-selector.js +0 -73
- package/dist/side-panel/layer-panel/single-color-palette.d.ts +0 -9
- package/dist/side-panel/layer-panel/single-color-palette.js +0 -61
- package/dist/side-panel/layer-panel/text-label-panel.d.ts +0 -17
- package/dist/side-panel/layer-panel/text-label-panel.js +0 -198
- package/dist/side-panel/layer-panel/vis-config-by-field-selector.d.ts +0 -27
- package/dist/side-panel/layer-panel/vis-config-by-field-selector.js +0 -117
- package/dist/side-panel/layer-panel/vis-config-slider.d.ts +0 -20
- package/dist/side-panel/layer-panel/vis-config-slider.js +0 -190
- package/dist/side-panel/layer-panel/vis-config-switch.d.ts +0 -16
- package/dist/side-panel/layer-panel/vis-config-switch.js +0 -71
- package/dist/side-panel/map-manager.d.ts +0 -27
- package/dist/side-panel/map-manager.js +0 -159
- package/dist/side-panel/map-style-panel/map-layer-group-color-picker.d.ts +0 -14
- package/dist/side-panel/map-style-panel/map-layer-group-color-picker.js +0 -96
- package/dist/side-panel/map-style-panel/map-layer-group-item.d.ts +0 -29
- package/dist/side-panel/map-style-panel/map-layer-group-item.js +0 -111
- package/dist/side-panel/map-style-panel/map-layer-selector.d.ts +0 -23
- package/dist/side-panel/map-style-panel/map-layer-selector.js +0 -91
- package/dist/side-panel/map-style-panel/map-style-selector.d.ts +0 -23
- package/dist/side-panel/map-style-panel/map-style-selector.js +0 -112
- package/dist/side-panel/panel-dropdown.d.ts +0 -18
- package/dist/side-panel/panel-dropdown.js +0 -79
- package/dist/side-panel/panel-header-action.d.ts +0 -22
- package/dist/side-panel/panel-header-action.js +0 -87
- package/dist/side-panel/panel-header.d.ts +0 -84
- package/dist/side-panel/panel-header.js +0 -341
- package/dist/side-panel/panel-tab.d.ts +0 -20
- package/dist/side-panel/panel-tab.js +0 -68
- package/dist/side-panel/panel-title.d.ts +0 -7
- package/dist/side-panel/panel-title.js +0 -51
- package/dist/side-panel/panel-toggle.d.ts +0 -13
- package/dist/side-panel/panel-toggle.js +0 -60
- package/dist/side-panel/panel-view-list-toggle.d.ts +0 -47
- package/dist/side-panel/panel-view-list-toggle.js +0 -123
- package/dist/side-panel/side-bar.d.ts +0 -78
- package/dist/side-panel/side-bar.js +0 -159
- package/dist/side-panel.d.ts +0 -19
- package/dist/side-panel.js +0 -239
- package/dist/types.d.ts +0 -47
- package/dist/types.js +0 -6
|
@@ -1,231 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
6
|
-
|
|
7
|
-
Object.defineProperty(exports, "__esModule", {
|
|
8
|
-
value: true
|
|
9
|
-
});
|
|
10
|
-
exports.LegendRow = exports["default"] = void 0;
|
|
11
|
-
|
|
12
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
-
|
|
14
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
-
|
|
16
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
17
|
-
|
|
18
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
-
|
|
20
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
-
|
|
22
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
-
|
|
24
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
|
-
|
|
26
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
27
|
-
|
|
28
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
29
|
-
|
|
30
|
-
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
31
|
-
|
|
32
|
-
var _reselect = require("reselect");
|
|
33
|
-
|
|
34
|
-
var _moment = _interopRequireDefault(require("moment"));
|
|
35
|
-
|
|
36
|
-
var _constants = require("@kepler.gl/constants");
|
|
37
|
-
|
|
38
|
-
var _utils = require("@kepler.gl/utils");
|
|
39
|
-
|
|
40
|
-
var _templateObject;
|
|
41
|
-
|
|
42
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
43
|
-
|
|
44
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
45
|
-
|
|
46
|
-
var ROW_H = 10;
|
|
47
|
-
var GAP = 4;
|
|
48
|
-
var RECT_W = 20;
|
|
49
|
-
|
|
50
|
-
var StyledLegend = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n\n max-height: 150px;\n overflow-y: auto;\n\n svg {\n text {\n font-size: 9px;\n fill: ", ";\n }\n }\n"])), function (props) {
|
|
51
|
-
return props.theme.sidePanelScrollBar;
|
|
52
|
-
}, function (props) {
|
|
53
|
-
return props.theme.textColor;
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
var defaultFormat = function defaultFormat(d) {
|
|
57
|
-
return d;
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
var getTimeLabelFormat = function getTimeLabelFormat(domain) {
|
|
61
|
-
var formatter = (0, _utils.getTimeWidgetHintFormatter)(domain);
|
|
62
|
-
return function (val) {
|
|
63
|
-
return _moment["default"].utc(val).format(formatter);
|
|
64
|
-
};
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
var getQuantLabelFormat = function getQuantLabelFormat(domain, fieldType) {
|
|
68
|
-
// quant scale can only be assigned to linear Fields: real, timestamp, integer
|
|
69
|
-
return fieldType === _constants.ALL_FIELD_TYPES.timestamp ? getTimeLabelFormat(domain) : !fieldType ? defaultFormat : function (n) {
|
|
70
|
-
return (0, _utils.formatNumber)(n, fieldType);
|
|
71
|
-
};
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
var getOrdinalLegends = function getOrdinalLegends(scale) {
|
|
75
|
-
var domain = scale.domain();
|
|
76
|
-
return {
|
|
77
|
-
data: domain.map(scale),
|
|
78
|
-
labels: domain
|
|
79
|
-
};
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
var getQuantLegends = function getQuantLegends(scale, labelFormat) {
|
|
83
|
-
if (typeof scale.invertExtent !== 'function') {
|
|
84
|
-
// only quantile, quantize, threshold scale has invertExtent method
|
|
85
|
-
return {
|
|
86
|
-
data: [],
|
|
87
|
-
labels: []
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
var labels = scale.range().map(function (d) {
|
|
92
|
-
var invert = scale.invertExtent(d);
|
|
93
|
-
return "".concat(labelFormat(invert[0]), " to ").concat(labelFormat(invert[1]));
|
|
94
|
-
});
|
|
95
|
-
return {
|
|
96
|
-
data: scale.range(),
|
|
97
|
-
labels: labels
|
|
98
|
-
};
|
|
99
|
-
};
|
|
100
|
-
|
|
101
|
-
var ColorLegend = /*#__PURE__*/function (_Component) {
|
|
102
|
-
(0, _inherits2["default"])(ColorLegend, _Component);
|
|
103
|
-
|
|
104
|
-
var _super = _createSuper(ColorLegend);
|
|
105
|
-
|
|
106
|
-
function ColorLegend() {
|
|
107
|
-
var _this;
|
|
108
|
-
|
|
109
|
-
(0, _classCallCheck2["default"])(this, ColorLegend);
|
|
110
|
-
|
|
111
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
112
|
-
args[_key] = arguments[_key];
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
_this = _super.call.apply(_super, [this].concat(args));
|
|
116
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "domainSelector", function (props) {
|
|
117
|
-
return props.domain;
|
|
118
|
-
});
|
|
119
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "rangeSelector", function (props) {
|
|
120
|
-
return props.range;
|
|
121
|
-
});
|
|
122
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "labelFormatSelector", function (props) {
|
|
123
|
-
return props.labelFormat;
|
|
124
|
-
});
|
|
125
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "scaleTypeSelector", function (props) {
|
|
126
|
-
return props.scaleType;
|
|
127
|
-
});
|
|
128
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "fieldTypeSelector", function (props) {
|
|
129
|
-
return props.fieldType;
|
|
130
|
-
});
|
|
131
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "legendsSelector", (0, _reselect.createSelector)(_this.domainSelector, _this.rangeSelector, _this.scaleTypeSelector, _this.labelFormatSelector, _this.fieldTypeSelector, function (domain, range, scaleType, labelFormat, fieldType) {
|
|
132
|
-
var empty = {
|
|
133
|
-
data: [],
|
|
134
|
-
labels: []
|
|
135
|
-
};
|
|
136
|
-
|
|
137
|
-
if (!range) {
|
|
138
|
-
return empty;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
if (range.colorLegends) {
|
|
142
|
-
return {
|
|
143
|
-
data: Object.keys(range.colorLegends),
|
|
144
|
-
labels: Object.values(range.colorLegends)
|
|
145
|
-
};
|
|
146
|
-
} else if (Array.isArray(range.colorMap)) {
|
|
147
|
-
return {
|
|
148
|
-
data: range.colorMap.map(function (cm) {
|
|
149
|
-
return cm[1];
|
|
150
|
-
}),
|
|
151
|
-
labels: range.colorMap.map(function (cm) {
|
|
152
|
-
return cm[0];
|
|
153
|
-
})
|
|
154
|
-
};
|
|
155
|
-
} else if (Array.isArray(range.colors)) {
|
|
156
|
-
if (!domain || !scaleType) {
|
|
157
|
-
return empty;
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
var scaleFunction = _constants.SCALE_FUNC[scaleType]; // color scale can only be quantize, quantile or ordinal
|
|
161
|
-
// @ts-ignore fix d3 scale
|
|
162
|
-
|
|
163
|
-
var scale = scaleFunction().domain(domain).range(range.colors);
|
|
164
|
-
|
|
165
|
-
if (scaleType === _constants.SCALE_TYPES.ordinal) {
|
|
166
|
-
return getOrdinalLegends(scale);
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
var formatLabel = labelFormat || getQuantLabelFormat(scale.domain(), fieldType);
|
|
170
|
-
return getQuantLegends(scale, formatLabel);
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
return empty;
|
|
174
|
-
}));
|
|
175
|
-
return _this;
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
(0, _createClass2["default"])(ColorLegend, [{
|
|
179
|
-
key: "render",
|
|
180
|
-
value: function render() {
|
|
181
|
-
var _this$props = this.props,
|
|
182
|
-
width = _this$props.width,
|
|
183
|
-
_this$props$displayLa = _this$props.displayLabel,
|
|
184
|
-
displayLabel = _this$props$displayLa === void 0 ? true : _this$props$displayLa;
|
|
185
|
-
var legends = this.legendsSelector(this.props);
|
|
186
|
-
var height = legends.data.length * (ROW_H + GAP);
|
|
187
|
-
return /*#__PURE__*/_react["default"].createElement(StyledLegend, {
|
|
188
|
-
className: "styled-color-legend"
|
|
189
|
-
}, /*#__PURE__*/_react["default"].createElement("svg", {
|
|
190
|
-
width: width,
|
|
191
|
-
height: height
|
|
192
|
-
}, legends.data.map(function (color, idx) {
|
|
193
|
-
return /*#__PURE__*/_react["default"].createElement(LegendRow, {
|
|
194
|
-
key: idx,
|
|
195
|
-
label: legends.labels[idx],
|
|
196
|
-
displayLabel: displayLabel,
|
|
197
|
-
color: color,
|
|
198
|
-
idx: idx
|
|
199
|
-
});
|
|
200
|
-
})));
|
|
201
|
-
}
|
|
202
|
-
}]);
|
|
203
|
-
return ColorLegend;
|
|
204
|
-
}(_react.Component);
|
|
205
|
-
|
|
206
|
-
exports["default"] = ColorLegend;
|
|
207
|
-
|
|
208
|
-
var LegendRow = function LegendRow(_ref) {
|
|
209
|
-
var _label$toString;
|
|
210
|
-
|
|
211
|
-
var _ref$label = _ref.label,
|
|
212
|
-
label = _ref$label === void 0 ? '' : _ref$label,
|
|
213
|
-
displayLabel = _ref.displayLabel,
|
|
214
|
-
color = _ref.color,
|
|
215
|
-
idx = _ref.idx;
|
|
216
|
-
return /*#__PURE__*/_react["default"].createElement("g", {
|
|
217
|
-
transform: "translate(0, ".concat(idx * (ROW_H + GAP), ")")
|
|
218
|
-
}, /*#__PURE__*/_react["default"].createElement("rect", {
|
|
219
|
-
width: RECT_W,
|
|
220
|
-
height: ROW_H,
|
|
221
|
-
style: {
|
|
222
|
-
fill: color
|
|
223
|
-
}
|
|
224
|
-
}), /*#__PURE__*/_react["default"].createElement("text", {
|
|
225
|
-
x: RECT_W + 8,
|
|
226
|
-
y: ROW_H - 1
|
|
227
|
-
}, displayLabel ? (_label$toString = label === null || label === void 0 ? void 0 : label.toString()) !== null && _label$toString !== void 0 ? _label$toString : 'N/A' : ''));
|
|
228
|
-
};
|
|
229
|
-
|
|
230
|
-
exports.LegendRow = LegendRow;
|
|
231
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vY29sb3ItbGVnZW5kLnRzeCJdLCJuYW1lcyI6WyJST1dfSCIsIkdBUCIsIlJFQ1RfVyIsIlN0eWxlZExlZ2VuZCIsInN0eWxlZCIsImRpdiIsInByb3BzIiwidGhlbWUiLCJzaWRlUGFuZWxTY3JvbGxCYXIiLCJ0ZXh0Q29sb3IiLCJkZWZhdWx0Rm9ybWF0IiwiZCIsImdldFRpbWVMYWJlbEZvcm1hdCIsImRvbWFpbiIsImZvcm1hdHRlciIsInZhbCIsIm1vbWVudCIsInV0YyIsImZvcm1hdCIsImdldFF1YW50TGFiZWxGb3JtYXQiLCJmaWVsZFR5cGUiLCJBTExfRklFTERfVFlQRVMiLCJ0aW1lc3RhbXAiLCJuIiwiZ2V0T3JkaW5hbExlZ2VuZHMiLCJzY2FsZSIsImRhdGEiLCJtYXAiLCJsYWJlbHMiLCJnZXRRdWFudExlZ2VuZHMiLCJsYWJlbEZvcm1hdCIsImludmVydEV4dGVudCIsInJhbmdlIiwiaW52ZXJ0IiwiQ29sb3JMZWdlbmQiLCJzY2FsZVR5cGUiLCJkb21haW5TZWxlY3RvciIsInJhbmdlU2VsZWN0b3IiLCJzY2FsZVR5cGVTZWxlY3RvciIsImxhYmVsRm9ybWF0U2VsZWN0b3IiLCJmaWVsZFR5cGVTZWxlY3RvciIsImVtcHR5IiwiY29sb3JMZWdlbmRzIiwiT2JqZWN0Iiwia2V5cyIsInZhbHVlcyIsIkFycmF5IiwiaXNBcnJheSIsImNvbG9yTWFwIiwiY20iLCJjb2xvcnMiLCJzY2FsZUZ1bmN0aW9uIiwiU0NBTEVfRlVOQyIsIlNDQUxFX1RZUEVTIiwib3JkaW5hbCIsImZvcm1hdExhYmVsIiwid2lkdGgiLCJkaXNwbGF5TGFiZWwiLCJsZWdlbmRzIiwibGVnZW5kc1NlbGVjdG9yIiwiaGVpZ2h0IiwibGVuZ3RoIiwiY29sb3IiLCJpZHgiLCJDb21wb25lbnQiLCJMZWdlbmRSb3ciLCJsYWJlbCIsImZpbGwiLCJ0b1N0cmluZyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FB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LFVBQUNtQyxLQUFELEVBQVFDLEdBQVI7QUFBQSw0QkFDaEIsZ0NBQUMsU0FBRDtBQUNFLFVBQUEsR0FBRyxFQUFFQSxHQURQO0FBRUUsVUFBQSxLQUFLLEVBQUVMLE9BQU8sQ0FBQzlCLE1BQVIsQ0FBZW1DLEdBQWYsQ0FGVDtBQUdFLFVBQUEsWUFBWSxFQUFFTixZQUhoQjtBQUlFLFVBQUEsS0FBSyxFQUFFSyxLQUpUO0FBS0UsVUFBQSxHQUFHLEVBQUVDO0FBTFAsVUFEZ0I7QUFBQSxPQUFqQixDQURILENBREYsQ0FERjtBQWVEOzs7RUE1RXNDQyxnQjs7OztBQStFbEMsSUFBTUMsU0FBUyxHQUFHLFNBQVpBLFNBQVk7QUFBQTs7QUFBQSx3QkFBRUMsS0FBRjtBQUFBLE1BQUVBLEtBQUYsMkJBQVUsRUFBVjtBQUFBLE1BQWNULFlBQWQsUUFBY0EsWUFBZDtBQUFBLE1BQTRCSyxLQUE1QixRQUE0QkEsS0FBNUI7QUFBQSxNQUFtQ0MsR0FBbkMsUUFBbUNBLEdBQW5DO0FBQUEsc0JBQ3ZCO0FBQUcsSUFBQSxTQUFTLHlCQUFrQkEsR0FBRyxJQUFJL0QsS0FBSyxHQUFHQyxHQUFaLENBQXJCO0FBQVosa0JBQ0U7QUFBTSxJQUFBLEtBQUssRUFBRUMsTUFBYjtBQUFxQixJQUFBLE1BQU0sRUFBRUYsS0FBN0I7QUFBb0MsSUFBQSxLQUFLLEVBQUU7QUFBQ21FLE1BQUFBLElBQUksRUFBRUw7QUFBUDtBQUEzQyxJQURGLGVBRUU7QUFBTSxJQUFBLENBQUMsRUFBRTVELE1BQU0sR0FBRyxDQUFsQjtBQUFxQixJQUFBLENBQUMsRUFBRUYsS0FBSyxHQUFHO0FBQWhDLEtBQ0d5RCxZQUFZLHNCQUFHUyxLQUFILGFBQUdBLEtBQUgsdUJBQUdBLEtBQUssQ0FBRUUsUUFBUCxFQUFILDZEQUF3QixLQUF4QixHQUFnQyxFQUQvQyxDQUZGLENBRHVCO0FBQUEsQ0FBbEIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHtDb21wb25lbnR9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtjcmVhdGVTZWxlY3Rvcn0gZnJvbSAncmVzZWxlY3QnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHtTQ0FMRV9UWVBFUywgU0NBTEVfRlVOQywgQUxMX0ZJRUxEX1RZUEVTfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge2dldFRpbWVXaWRnZXRIaW50Rm9ybWF0dGVyLCBmb3JtYXROdW1iZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuXG5jb25zdCBST1dfSCA9IDEwO1xuY29uc3QgR0FQID0gNDtcbmNvbnN0IFJFQ1RfVyA9IDIwO1xuXG5jb25zdCBTdHlsZWRMZWdlbmQgPSBzdHlsZWQuZGl2YFxuICAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNpZGVQYW5lbFNjcm9sbEJhcn07XG5cbiAgbWF4LWhlaWdodDogMTUwcHg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgc3ZnIHtcbiAgICB0ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogOXB4O1xuICAgICAgZmlsbDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgZGVmYXVsdEZvcm1hdCA9IGQgPT4gZDtcblxuY29uc3QgZ2V0VGltZUxhYmVsRm9ybWF0ID0gZG9tYWluID0+IHtcbiAgY29uc3QgZm9ybWF0dGVyID0gZ2V0VGltZVdpZGdldEhpbnRGb3JtYXR0ZXIoZG9tYWluKTtcbiAgcmV0dXJuIHZhbCA9PiBtb21lbnQudXRjKHZhbCkuZm9ybWF0KGZvcm1hdHRlcik7XG59O1xuXG5jb25zdCBnZXRRdWFudExhYmVsRm9ybWF0ID0gKGRvbWFpbiwgZmllbGRUeXBlKSA9PiB7XG4gIC8vIHF1YW50IHNjYWxlIGNhbiBvbmx5IGJlIGFzc2lnbmVkIHRvIGxpbmVhciBGaWVsZHM6IHJlYWwsIHRpbWVzdGFtcCwgaW50ZWdlclxuICByZXR1cm4gZmllbGRUeXBlID09PSBBTExfRklFTERfVFlQRVMudGltZXN0YW1wXG4gICAgPyBnZXRUaW1lTGFiZWxGb3JtYXQoZG9tYWluKVxuICAgIDogIWZpZWxkVHlwZVxuICAgID8gZGVmYXVsdEZvcm1hdFxuICAgIDogbiA9PiBmb3JtYXROdW1iZXIobiwgZmllbGRUeXBlKTtcbn07XG5cbmNvbnN0IGdldE9yZGluYWxMZWdlbmRzID0gc2NhbGUgPT4ge1xuICBjb25zdCBkb21haW4gPSBzY2FsZS5kb21haW4oKTtcbiAgcmV0dXJuIHtcbiAgICBkYXRhOiBkb21haW4ubWFwKHNjYWxlKSxcbiAgICBsYWJlbHM6IGRvbWFpblxuICB9O1xufTtcblxuY29uc3QgZ2V0UXVhbnRMZWdlbmRzID0gKHNjYWxlLCBsYWJlbEZvcm1hdCkgPT4ge1xuICBpZiAodHlwZW9mIHNjYWxlLmludmVydEV4dGVudCAhPT0gJ2Z1bmN0aW9uJykge1xuICAgIC8vIG9ubHkgcXVhbnRpbGUsIHF1YW50aXplLCB0aHJlc2hvbGQgc2NhbGUgaGFzIGludmVydEV4dGVudCBtZXRob2RcbiAgICByZXR1cm4ge1xuICAgICAgZGF0YTogW10sXG4gICAgICBsYWJlbHM6IFtdXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0IGxhYmVscyA9IHNjYWxlLnJhbmdlKCkubWFwKGQgPT4ge1xuICAgIGNvbnN0IGludmVydCA9IHNjYWxlLmludmVydEV4dGVudChkKTtcbiAgICByZXR1cm4gYCR7bGFiZWxGb3JtYXQoaW52ZXJ0WzBdKX0gdG8gJHtsYWJlbEZvcm1hdChpbnZlcnRbMV0pfWA7XG4gIH0pO1xuXG4gIHJldHVybiB7XG4gICAgZGF0YTogc2NhbGUucmFuZ2UoKSxcbiAgICBsYWJlbHNcbiAgfTtcbn07XG5cbnR5cGUgUmFuZ2VUeXBlID0ge1xuICBjb2xvck1hcD86IFtzdHJpbmcsIHN0cmluZ11bXTtcbiAgY29sb3JMZWdlbmRzPzoge1trZXk6IHN0cmluZ106IHN0cmluZ307XG4gIGNvbG9yczogc3RyaW5nW107XG59O1xuXG5pbnRlcmZhY2UgQ29sb3JMZWdlbmRQcm9wcyB7XG4gIHdpZHRoOiBudW1iZXI7XG4gIHNjYWxlVHlwZT86IHN0cmluZztcbiAgZG9tYWluPzogYW55W10gfCBvYmplY3Q7XG4gIGZpZWxkVHlwZT86IHN0cmluZyB8IG51bGw7XG4gIHJhbmdlPzogUmFuZ2VUeXBlO1xuICBsYWJlbEZvcm1hdD86IEZ1bmN0aW9uO1xuICBkaXNwbGF5TGFiZWw/OiBib29sZWFuO1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb2xvckxlZ2VuZCBleHRlbmRzIENvbXBvbmVudDxDb2xvckxlZ2VuZFByb3BzPiB7XG4gIGRvbWFpblNlbGVjdG9yID0gcHJvcHMgPT4gcHJvcHMuZG9tYWluO1xuICByYW5nZVNlbGVjdG9yID0gcHJvcHMgPT4gcHJvcHMucmFuZ2U7XG4gIGxhYmVsRm9ybWF0U2VsZWN0b3IgPSBwcm9wcyA9PiBwcm9wcy5sYWJlbEZvcm1hdDtcbiAgc2NhbGVUeXBlU2VsZWN0b3IgPSBwcm9wcyA9PiBwcm9wcy5zY2FsZVR5cGU7XG4gIGZpZWxkVHlwZVNlbGVjdG9yID0gcHJvcHMgPT4gcHJvcHMuZmllbGRUeXBlO1xuXG4gIGxlZ2VuZHNTZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgIHRoaXMuZG9tYWluU2VsZWN0b3IsXG4gICAgdGhpcy5yYW5nZVNlbGVjdG9yLFxuICAgIHRoaXMuc2NhbGVUeXBlU2VsZWN0b3IsXG4gICAgdGhpcy5sYWJlbEZvcm1hdFNlbGVjdG9yLFxuICAgIHRoaXMuZmllbGRUeXBlU2VsZWN0b3IsXG4gICAgKGRvbWFpbiwgcmFuZ2UsIHNjYWxlVHlwZSwgbGFiZWxGb3JtYXQsIGZpZWxkVHlwZSkgPT4ge1xuICAgICAgY29uc3QgZW1wdHkgPSB7XG4gICAgICAgIGRhdGE6IFtdLFxuICAgICAgICBsYWJlbHM6IFtdXG4gICAgICB9O1xuICAgICAgaWYgKCFyYW5nZSkge1xuICAgICAgICByZXR1cm4gZW1wdHk7XG4gICAgICB9XG4gICAgICBpZiAocmFuZ2UuY29sb3JMZWdlbmRzKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgZGF0YTogT2JqZWN0LmtleXMocmFuZ2UuY29sb3JMZWdlbmRzKSxcbiAgICAgICAgICBsYWJlbHM6IE9iamVjdC52YWx1ZXMocmFuZ2UuY29sb3JMZWdlbmRzKVxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHJhbmdlLmNvbG9yTWFwKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGRhdGE6IHJhbmdlLmNvbG9yTWFwLm1hcChjbSA9PiBjbVsxXSksXG4gICAgICAgICAgbGFiZWxzOiByYW5nZS5jb2xvck1hcC5tYXAoY20gPT4gY21bMF0pXG4gICAgICAgIH07XG4gICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkocmFuZ2UuY29sb3JzKSkge1xuICAgICAgICBpZiAoIWRvbWFpbiB8fCAhc2NhbGVUeXBlKSB7XG4gICAgICAgICAgcmV0dXJuIGVtcHR5O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2NhbGVGdW5jdGlvbiA9IFNDQUxFX0ZVTkNbc2NhbGVUeXBlXTtcbiAgICAgICAgLy8gY29sb3Igc2NhbGUgY2FuIG9ubHkgYmUgcXVhbnRpemUsIHF1YW50aWxlIG9yIG9yZGluYWxcbiAgICAgICAgLy8gQHRzLWlnbm9yZSBmaXggZDMgc2NhbGVcbiAgICAgICAgY29uc3Qgc2NhbGUgPSBzY2FsZUZ1bmN0aW9uKClcbiAgICAgICAgICAuZG9tYWluKGRvbWFpbilcbiAgICAgICAgICAucmFuZ2UocmFuZ2UuY29sb3JzKTtcblxuICAgICAgICBpZiAoc2NhbGVUeXBlID09PSBTQ0FMRV9UWVBFUy5vcmRpbmFsKSB7XG4gICAgICAgICAgcmV0dXJuIGdldE9yZGluYWxMZWdlbmRzKHNjYWxlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZvcm1hdExhYmVsID0gbGFiZWxGb3JtYXQgfHwgZ2V0UXVhbnRMYWJlbEZvcm1hdChzY2FsZS5kb21haW4oKSwgZmllbGRUeXBlKTtcblxuICAgICAgICByZXR1cm4gZ2V0UXVhbnRMZWdlbmRzKHNjYWxlLCBmb3JtYXRMYWJlbCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZW1wdHk7XG4gICAgfVxuICApO1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7d2lkdGgsIGRpc3BsYXlMYWJlbCA9IHRydWV9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGxlZ2VuZHMgPSB0aGlzLmxlZ2VuZHNTZWxlY3Rvcih0aGlzLnByb3BzKTtcbiAgICBjb25zdCBoZWlnaHQgPSBsZWdlbmRzLmRhdGEubGVuZ3RoICogKFJPV19IICsgR0FQKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkTGVnZW5kIGNsYXNzTmFtZT1cInN0eWxlZC1jb2xvci1sZWdlbmRcIj5cbiAgICAgICAgPHN2ZyB3aWR0aD17d2lkdGh9IGhlaWdodD17aGVpZ2h0fT5cbiAgICAgICAgICB7bGVnZW5kcy5kYXRhLm1hcCgoY29sb3IsIGlkeCkgPT4gKFxuICAgICAgICAgICAgPExlZ2VuZFJvd1xuICAgICAgICAgICAgICBrZXk9e2lkeH1cbiAgICAgICAgICAgICAgbGFiZWw9e2xlZ2VuZHMubGFiZWxzW2lkeF19XG4gICAgICAgICAgICAgIGRpc3BsYXlMYWJlbD17ZGlzcGxheUxhYmVsfVxuICAgICAgICAgICAgICBjb2xvcj17Y29sb3J9XG4gICAgICAgICAgICAgIGlkeD17aWR4fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9zdmc+XG4gICAgICA8L1N0eWxlZExlZ2VuZD5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBMZWdlbmRSb3cgPSAoe2xhYmVsID0gJycsIGRpc3BsYXlMYWJlbCwgY29sb3IsIGlkeH0pID0+IChcbiAgPGcgdHJhbnNmb3JtPXtgdHJhbnNsYXRlKDAsICR7aWR4ICogKFJPV19IICsgR0FQKX0pYH0+XG4gICAgPHJlY3Qgd2lkdGg9e1JFQ1RfV30gaGVpZ2h0PXtST1dfSH0gc3R5bGU9e3tmaWxsOiBjb2xvcn19IC8+XG4gICAgPHRleHQgeD17UkVDVF9XICsgOH0geT17Uk9XX0ggLSAxfT5cbiAgICAgIHtkaXNwbGF5TGFiZWwgPyBsYWJlbD8udG9TdHJpbmcoKSA/PyAnTi9BJyA6ICcnfVxuICAgIDwvdGV4dD5cbiAgPC9nPlxuKTtcbiJdfQ==
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import React, { MouseEventHandler } from 'react';
|
|
2
|
-
declare type ButtonProps = {
|
|
3
|
-
onClick?: MouseEventHandler<HTMLButtonElement>;
|
|
4
|
-
disabled?: boolean;
|
|
5
|
-
text?: string;
|
|
6
|
-
} & React.ButtonHTMLAttributes<HTMLButtonElement>;
|
|
7
|
-
declare const Button: ({ onClick, disabled, text, children, ...props }: ButtonProps) => React.JSX.Element;
|
|
8
|
-
export default Button;
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = void 0;
|
|
9
|
-
|
|
10
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
-
|
|
12
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
|
-
|
|
14
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
|
-
|
|
16
|
-
var _react = _interopRequireDefault(require("react"));
|
|
17
|
-
|
|
18
|
-
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
19
|
-
|
|
20
|
-
var _templateObject;
|
|
21
|
-
|
|
22
|
-
var StyledButton = _styledComponents["default"].button(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n background-color: transparent;\n border: none;\n cursor: pointer;\n outline: none;\n transition: ", ";\n height: 2rem;\n display: flex;\n align-items: center;\n padding: 0;\n\n &:hover {\n opacity: 0.8;\n }\n"])), function (props) {
|
|
23
|
-
return props.theme.optionButtonColor;
|
|
24
|
-
}, function (props) {
|
|
25
|
-
return props.theme.transition;
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
var noop = function noop() {};
|
|
29
|
-
|
|
30
|
-
var Button = function Button(_ref) {
|
|
31
|
-
var _ref$onClick = _ref.onClick,
|
|
32
|
-
onClick = _ref$onClick === void 0 ? noop : _ref$onClick,
|
|
33
|
-
_ref$disabled = _ref.disabled,
|
|
34
|
-
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
35
|
-
_ref$text = _ref.text,
|
|
36
|
-
text = _ref$text === void 0 ? '' : _ref$text,
|
|
37
|
-
children = _ref.children,
|
|
38
|
-
props = (0, _objectWithoutProperties2["default"])(_ref, ["onClick", "disabled", "text", "children"]);
|
|
39
|
-
return /*#__PURE__*/_react["default"].createElement(StyledButton, (0, _extends2["default"])({}, props, {
|
|
40
|
-
onClick: disabled ? undefined : onClick
|
|
41
|
-
}), text || children);
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
var _default = Button;
|
|
45
|
-
exports["default"] = _default;
|
|
46
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vZGF0YS10YWJsZS9idXR0b24udHN4Il0sIm5hbWVzIjpbIlN0eWxlZEJ1dHRvbiIsInN0eWxlZCIsImJ1dHRvbiIsInByb3BzIiwidGhlbWUiLCJvcHRpb25CdXR0b25Db2xvciIsInRyYW5zaXRpb24iLCJub29wIiwiQnV0dG9uIiwib25DbGljayIsImRpc2FibGVkIiwidGV4dCIsImNoaWxkcmVuIiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFHQTs7QUFDQTs7OztBQUVBLElBQU1BLFlBQVksR0FBR0MsNkJBQU9DLE1BQVYsd1VBQ1AsVUFBQUMsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZQyxpQkFBaEI7QUFBQSxDQURFLEVBTUYsVUFBQUYsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZRSxVQUFoQjtBQUFBLENBTkgsQ0FBbEI7O0FBdUJBLElBQU1DLElBQUksR0FBRyxTQUFQQSxJQUFPLEdBQU0sQ0FBRSxDQUFyQjs7QUFDQSxJQUFNQyxNQUFNLEdBQUcsU0FBVEEsTUFBUztBQUFBLDBCQUFFQyxPQUFGO0FBQUEsTUFBRUEsT0FBRiw2QkFBWUYsSUFBWjtBQUFBLDJCQUFrQkcsUUFBbEI7QUFBQSxNQUFrQkEsUUFBbEIsOEJBQTZCLEtBQTdCO0FBQUEsdUJBQW9DQyxJQUFwQztBQUFBLE1BQW9DQSxJQUFwQywwQkFBMkMsRUFBM0M7QUFBQSxNQUErQ0MsUUFBL0MsUUFBK0NBLFFBQS9DO0FBQUEsTUFBNERULEtBQTVEO0FBQUEsc0JBQ2IsZ0NBQUMsWUFBRCxnQ0FBa0JBLEtBQWxCO0FBQXlCLElBQUEsT0FBTyxFQUFFTyxRQUFRLEdBQUdHLFNBQUgsR0FBZUo7QUFBekQsTUFDR0UsSUFBSSxJQUFJQyxRQURYLENBRGE7QUFBQSxDQUFmOztlQU1lSixNIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7TW91c2VFdmVudEhhbmRsZXJ9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5jb25zdCBTdHlsZWRCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5vcHRpb25CdXR0b25Db2xvcn07XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3V0bGluZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50cmFuc2l0aW9ufTtcbiAgaGVpZ2h0OiAycmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuXG4gICY6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuODtcbiAgfVxuYDtcblxudHlwZSBCdXR0b25Qcm9wcyA9IHtcbiAgb25DbGljaz86IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxCdXR0b25FbGVtZW50PjtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICB0ZXh0Pzogc3RyaW5nO1xufSAmIFJlYWN0LkJ1dHRvbkhUTUxBdHRyaWJ1dGVzPEhUTUxCdXR0b25FbGVtZW50PjtcblxuY29uc3Qgbm9vcCA9ICgpID0+IHt9O1xuY29uc3QgQnV0dG9uID0gKHtvbkNsaWNrID0gbm9vcCwgZGlzYWJsZWQgPSBmYWxzZSwgdGV4dCA9ICcnLCBjaGlsZHJlbiwgLi4ucHJvcHN9OiBCdXR0b25Qcm9wcykgPT4gKFxuICA8U3R5bGVkQnV0dG9uIHsuLi5wcm9wc30gb25DbGljaz17ZGlzYWJsZWQgPyB1bmRlZmluZWQgOiBvbkNsaWNrfT5cbiAgICB7dGV4dCB8fCBjaGlsZHJlbn1cbiAgPC9TdHlsZWRCdXR0b24+XG4pO1xuXG5leHBvcnQgZGVmYXVsdCBCdXR0b247XG4iXX0=
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = void 0;
|
|
9
|
-
|
|
10
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
11
|
-
|
|
12
|
-
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
13
|
-
|
|
14
|
-
var _templateObject;
|
|
15
|
-
|
|
16
|
-
/*
|
|
17
|
-
ScrollSync works by getting a callback about the dom elements scroll amount
|
|
18
|
-
and then using that to pass into how much to scroll all child components,
|
|
19
|
-
it works great!
|
|
20
|
-
|
|
21
|
-
Except... Because scrolling is managed by a separate thread, and JavaScript
|
|
22
|
-
is only periodically notified of the updated position, there's some latency
|
|
23
|
-
issues with this.
|
|
24
|
-
|
|
25
|
-
We can hack around this by using a niche property of canvas that removes the
|
|
26
|
-
delay in scroll event firing! Easiest way to reproduce: enable "Trace React updates"
|
|
27
|
-
in React DevTools (it works by overlaying a viewport-wide canvas over the document).
|
|
28
|
-
*/
|
|
29
|
-
var _default = _styledComponents["default"].canvas(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n height: 100%;\n left: 0;\n pointer-events: none;\n position: absolute;\n top: 0;\n width: 100%;\n"])));
|
|
30
|
-
|
|
31
|
-
exports["default"] = _default;
|
|
32
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vZGF0YS10YWJsZS9jYW52YXMudHN4Il0sIm5hbWVzIjpbInN0eWxlZCIsImNhbnZhcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFHQTs7OztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO2VBQ2VBLDZCQUFPQyxNIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5cbi8qXG4gICAgU2Nyb2xsU3luYyB3b3JrcyBieSBnZXR0aW5nIGEgY2FsbGJhY2sgYWJvdXQgdGhlIGRvbSBlbGVtZW50cyBzY3JvbGwgYW1vdW50XG4gICAgYW5kIHRoZW4gdXNpbmcgdGhhdCB0byBwYXNzIGludG8gaG93IG11Y2ggdG8gc2Nyb2xsIGFsbCBjaGlsZCBjb21wb25lbnRzLFxuICAgIGl0IHdvcmtzIGdyZWF0IVxuXG4gICAgRXhjZXB0Li4uIEJlY2F1c2Ugc2Nyb2xsaW5nIGlzIG1hbmFnZWQgYnkgYSBzZXBhcmF0ZSB0aHJlYWQsIGFuZCBKYXZhU2NyaXB0XG4gICAgaXMgb25seSBwZXJpb2RpY2FsbHkgbm90aWZpZWQgb2YgdGhlIHVwZGF0ZWQgcG9zaXRpb24sIHRoZXJlJ3Mgc29tZSBsYXRlbmN5XG4gICAgaXNzdWVzIHdpdGggdGhpcy5cblxuICAgIFdlIGNhbiBoYWNrIGFyb3VuZCB0aGlzIGJ5IHVzaW5nIGEgbmljaGUgcHJvcGVydHkgb2YgY2FudmFzIHRoYXQgcmVtb3ZlcyB0aGVcbiAgICBkZWxheSBpbiBzY3JvbGwgZXZlbnQgZmlyaW5nISBFYXNpZXN0IHdheSB0byByZXByb2R1Y2U6IGVuYWJsZSBcIlRyYWNlIFJlYWN0IHVwZGF0ZXNcIlxuICAgIGluIFJlYWN0IERldlRvb2xzIChpdCB3b3JrcyBieSBvdmVybGF5aW5nIGEgdmlld3BvcnQtd2lkZSBjYW52YXMgb3ZlciB0aGUgZG9jdW1lbnQpLlxuICAqL1xuZXhwb3J0IGRlZmF1bHQgc3R5bGVkLmNhbnZhc2BcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuYDtcbiJdfQ==
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { DataContainerInterface } from '@kepler.gl/utils';
|
|
2
|
-
declare type RenderSizeParam = {
|
|
3
|
-
text: {
|
|
4
|
-
dataContainer: DataContainerInterface;
|
|
5
|
-
column: string;
|
|
6
|
-
};
|
|
7
|
-
type?: string;
|
|
8
|
-
colIdx: number;
|
|
9
|
-
numRowsToCalculate?: number;
|
|
10
|
-
fontSize?: number;
|
|
11
|
-
font?: string;
|
|
12
|
-
cellPadding?: number;
|
|
13
|
-
maxCellSize?: number;
|
|
14
|
-
maxHeaderSize?: number;
|
|
15
|
-
minCellSize?: number;
|
|
16
|
-
optionsButton?: number;
|
|
17
|
-
};
|
|
18
|
-
export declare type CellSizeCache = {
|
|
19
|
-
[key: string]: {
|
|
20
|
-
row: number;
|
|
21
|
-
header: number;
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
|
-
/**
|
|
25
|
-
* Measure rows and column content to determine min width for each column
|
|
26
|
-
* @param {RenderSizeParam} param0
|
|
27
|
-
*/
|
|
28
|
-
export declare function renderedSize({ text: { dataContainer, column }, type, colIdx, numRowsToCalculate, fontSize, font, cellPadding, maxCellSize, maxHeaderSize, minCellSize, optionsButton }: RenderSizeParam): {
|
|
29
|
-
row: number;
|
|
30
|
-
header: number;
|
|
31
|
-
};
|
|
32
|
-
/**
|
|
33
|
-
* Adjust cell size based on container width
|
|
34
|
-
* @param {number} containerWidth
|
|
35
|
-
* @param {CellSizeCache} cellSizeCache
|
|
36
|
-
* @param {string[]} pinnedColumns
|
|
37
|
-
* @param {string[]} unpinnedColumns
|
|
38
|
-
*/
|
|
39
|
-
export declare function adjustCellsToContainer(containerWidth: number, cellSizeCache: CellSizeCache, pinnedColumns: string[], unpinnedColumns: string[]): {
|
|
40
|
-
cellSizeCache: CellSizeCache;
|
|
41
|
-
ghost?: number | null;
|
|
42
|
-
};
|
|
43
|
-
export {};
|
|
@@ -1,206 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.renderedSize = renderedSize;
|
|
9
|
-
exports.adjustCellsToContainer = adjustCellsToContainer;
|
|
10
|
-
|
|
11
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
|
-
|
|
13
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
14
|
-
|
|
15
|
-
var _document = _interopRequireDefault(require("global/document"));
|
|
16
|
-
|
|
17
|
-
var _utils = require("@kepler.gl/utils");
|
|
18
|
-
|
|
19
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
20
|
-
|
|
21
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
22
|
-
|
|
23
|
-
var MIN_GHOST_CELL_SIZE = 200;
|
|
24
|
-
var MIN_CELL_SIZE = 45; // first column have padding on the left
|
|
25
|
-
|
|
26
|
-
var EDGE_COLUMN_PADDING = 10; // in case cell content is small, column name is big, we allow max empty space to
|
|
27
|
-
// be added to min cell width in order to show column name
|
|
28
|
-
|
|
29
|
-
var MAX_EMPTY_COLUMN_SPACE = 60;
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Measure rows and column content to determine min width for each column
|
|
33
|
-
* @param {RenderSizeParam} param0
|
|
34
|
-
*/
|
|
35
|
-
function renderedSize(_ref) {
|
|
36
|
-
var _ref$text = _ref.text,
|
|
37
|
-
dataContainer = _ref$text.dataContainer,
|
|
38
|
-
column = _ref$text.column,
|
|
39
|
-
_ref$type = _ref.type,
|
|
40
|
-
type = _ref$type === void 0 ? 'string' : _ref$type,
|
|
41
|
-
colIdx = _ref.colIdx,
|
|
42
|
-
_ref$numRowsToCalcula = _ref.numRowsToCalculate,
|
|
43
|
-
numRowsToCalculate = _ref$numRowsToCalcula === void 0 ? 10 : _ref$numRowsToCalcula,
|
|
44
|
-
_ref$fontSize = _ref.fontSize,
|
|
45
|
-
fontSize = _ref$fontSize === void 0 ? 12 : _ref$fontSize,
|
|
46
|
-
_ref$font = _ref.font,
|
|
47
|
-
font = _ref$font === void 0 ? 'Lato' : _ref$font,
|
|
48
|
-
_ref$cellPadding = _ref.cellPadding,
|
|
49
|
-
cellPadding = _ref$cellPadding === void 0 ? 40 : _ref$cellPadding,
|
|
50
|
-
_ref$maxCellSize = _ref.maxCellSize,
|
|
51
|
-
maxCellSize = _ref$maxCellSize === void 0 ? 500 : _ref$maxCellSize,
|
|
52
|
-
_ref$maxHeaderSize = _ref.maxHeaderSize,
|
|
53
|
-
maxHeaderSize = _ref$maxHeaderSize === void 0 ? 500 : _ref$maxHeaderSize,
|
|
54
|
-
_ref$minCellSize = _ref.minCellSize,
|
|
55
|
-
minCellSize = _ref$minCellSize === void 0 ? MIN_CELL_SIZE : _ref$minCellSize,
|
|
56
|
-
_ref$optionsButton = _ref.optionsButton,
|
|
57
|
-
optionsButton = _ref$optionsButton === void 0 ? 44 : _ref$optionsButton;
|
|
58
|
-
|
|
59
|
-
if (!_document["default"]) {
|
|
60
|
-
return {
|
|
61
|
-
row: 0,
|
|
62
|
-
header: 0
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
var textCanvas = _document["default"].createElement('canvas');
|
|
67
|
-
|
|
68
|
-
_document["default"].body.appendChild(textCanvas);
|
|
69
|
-
|
|
70
|
-
var context = textCanvas.getContext('2d');
|
|
71
|
-
context.font = [fontSize, font].join('px ');
|
|
72
|
-
var rowsToSample = (0, _toConsumableArray2["default"])(Array(numRowsToCalculate)).map(function () {
|
|
73
|
-
return Math.floor(Math.random() * (dataContainer.numRows() - 1));
|
|
74
|
-
}); // If we have less than 10 rows, lets measure all of them
|
|
75
|
-
|
|
76
|
-
if (dataContainer.numRows() <= numRowsToCalculate) {
|
|
77
|
-
rowsToSample = Array.from(Array(dataContainer.numRows()).keys());
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
var rowWidth = Math.max.apply(Math, (0, _toConsumableArray2["default"])(rowsToSample.map(function (rowIdx) {
|
|
81
|
-
var value = (0, _utils.parseFieldValue)(dataContainer.valueAt(rowIdx, colIdx), type); // measuring large text cause slow performance
|
|
82
|
-
|
|
83
|
-
if (value.length > maxCellSize) {
|
|
84
|
-
return maxCellSize;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
var textWidth = context.measureText(value).width;
|
|
88
|
-
return Math.ceil(textWidth) + cellPadding;
|
|
89
|
-
}))); // header cell only has left padding
|
|
90
|
-
|
|
91
|
-
var headerWidth = Math.ceil(context.measureText(column).width) + cellPadding / 2 + optionsButton; // min row width is measured by cell content
|
|
92
|
-
|
|
93
|
-
var minRowWidth = minCellSize + cellPadding; // min header width is measured by cell
|
|
94
|
-
|
|
95
|
-
var minHeaderWidth = minCellSize + cellPadding / 2 + optionsButton;
|
|
96
|
-
var clampedRowWidth = clamp(minRowWidth, maxCellSize, rowWidth);
|
|
97
|
-
var clampedHeaderWidth = clamp(minHeaderWidth, maxHeaderSize, headerWidth); // cleanup
|
|
98
|
-
|
|
99
|
-
textCanvas.parentElement.removeChild(textCanvas);
|
|
100
|
-
return {
|
|
101
|
-
row: clampedRowWidth,
|
|
102
|
-
header: clampedHeaderWidth
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
function clamp(min, max, value) {
|
|
107
|
-
return Math.max(Math.min(max, value), min);
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
function getColumnOrder() {
|
|
111
|
-
var pinnedColumns = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
112
|
-
var unpinnedColumns = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
113
|
-
return [].concat((0, _toConsumableArray2["default"])(pinnedColumns), (0, _toConsumableArray2["default"])(unpinnedColumns));
|
|
114
|
-
} // If total min cell size is bigger than containerWidth adjust column
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
function getMinCellSize(cellSizeCache) {
|
|
118
|
-
return Object.keys(cellSizeCache).reduce(function (accu, col) {
|
|
119
|
-
return _objectSpread(_objectSpread({}, accu), {}, (0, _defineProperty2["default"])({}, col, cellSizeCache[col].row > cellSizeCache[col].header ? cellSizeCache[col].row : // if row is smaller than header, use the smaller of MAX_EMPTY_COLUMN_SPACE + row width and header
|
|
120
|
-
Math.min(cellSizeCache[col].header, cellSizeCache[col].row + MAX_EMPTY_COLUMN_SPACE)));
|
|
121
|
-
}, {});
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
function getSizeSum(sizeCache, key) {
|
|
125
|
-
return Object.keys(sizeCache).reduce(function (acc, val) {
|
|
126
|
-
return acc + (key ? sizeCache[val][key] : sizeCache[val]);
|
|
127
|
-
}, 0);
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* Expand cell to fit both row and header, if there is still room left,
|
|
131
|
-
* expand last cell to fit the entire width of the container
|
|
132
|
-
* @param {CellSizeCache} cellSizeCache
|
|
133
|
-
* @param {string[]} columnOrder
|
|
134
|
-
* @param {number} containerWidth
|
|
135
|
-
* @param {number} roomToFill
|
|
136
|
-
*/
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
function expandCellSize(cellSizeCache, columnOrder, containerWidth, roomToFill) {
|
|
140
|
-
var remaining = roomToFill;
|
|
141
|
-
var expandedCellSize = columnOrder.reduce(function (accu, col) {
|
|
142
|
-
var size = cellSizeCache[col].row;
|
|
143
|
-
|
|
144
|
-
if (cellSizeCache[col].row < cellSizeCache[col].header && remaining > 0) {
|
|
145
|
-
// if we are cutting off the header, expand to fit it
|
|
146
|
-
size = cellSizeCache[col].header - cellSizeCache[col].row < remaining ? cellSizeCache[col].header : cellSizeCache[col].row + remaining;
|
|
147
|
-
remaining -= size - cellSizeCache[col].row;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
return _objectSpread(_objectSpread({}, accu), {}, (0, _defineProperty2["default"])({}, col, size));
|
|
151
|
-
}, {});
|
|
152
|
-
var ghost = null;
|
|
153
|
-
|
|
154
|
-
if (remaining > 0 && remaining < MIN_GHOST_CELL_SIZE) {
|
|
155
|
-
// expand last cell
|
|
156
|
-
var lastCell = columnOrder[columnOrder.length - 1];
|
|
157
|
-
expandedCellSize[lastCell] += remaining;
|
|
158
|
-
} else if (remaining >= MIN_GHOST_CELL_SIZE) {
|
|
159
|
-
// if too much left add a ghost cell
|
|
160
|
-
ghost = remaining;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
return {
|
|
164
|
-
cellSizeCache: expandedCellSize,
|
|
165
|
-
ghost: ghost
|
|
166
|
-
};
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
function addPaddingToFirstColumn(cellSizeCache) {
|
|
170
|
-
var columnOrder = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
171
|
-
var firstCol = columnOrder[0];
|
|
172
|
-
|
|
173
|
-
if (firstCol && cellSizeCache[firstCol]) {
|
|
174
|
-
return _objectSpread(_objectSpread({}, cellSizeCache), {}, (0, _defineProperty2["default"])({}, firstCol, {
|
|
175
|
-
header: cellSizeCache[firstCol].header + EDGE_COLUMN_PADDING,
|
|
176
|
-
row: cellSizeCache[firstCol].row + EDGE_COLUMN_PADDING
|
|
177
|
-
}));
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
return cellSizeCache;
|
|
181
|
-
}
|
|
182
|
-
/**
|
|
183
|
-
* Adjust cell size based on container width
|
|
184
|
-
* @param {number} containerWidth
|
|
185
|
-
* @param {CellSizeCache} cellSizeCache
|
|
186
|
-
* @param {string[]} pinnedColumns
|
|
187
|
-
* @param {string[]} unpinnedColumns
|
|
188
|
-
*/
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
function adjustCellsToContainer(containerWidth, cellSizeCache, pinnedColumns, unpinnedColumns) {
|
|
192
|
-
var columnOrder = getColumnOrder(pinnedColumns, unpinnedColumns);
|
|
193
|
-
var paddedCellSize = addPaddingToFirstColumn(cellSizeCache, columnOrder);
|
|
194
|
-
var minRowSum = getSizeSum(paddedCellSize, 'row');
|
|
195
|
-
|
|
196
|
-
if (minRowSum >= containerWidth) {
|
|
197
|
-
// we apply the min Width to all cells
|
|
198
|
-
return {
|
|
199
|
-
cellSizeCache: getMinCellSize(paddedCellSize)
|
|
200
|
-
};
|
|
201
|
-
} // if we have some room to expand
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
return expandCellSize(paddedCellSize, columnOrder, containerWidth, containerWidth - minRowSum);
|
|
205
|
-
}
|
|
206
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vZGF0YS10YWJsZS9jZWxsLXNpemUudHMiXSwibmFtZXMiOlsiTUlOX0dIT1NUX0NFTExfU0laRSIsIk1JTl9DRUxMX1NJWkUiLCJFREdFX0NPTFVNTl9QQURESU5HIiwiTUFYX0VNUFRZX0NPTFVNTl9TUEFDRSIsInJlbmRlcmVkU2l6ZSIsInRleHQiLCJkYXRhQ29udGFpbmVyIiwiY29sdW1uIiwidHlwZSIsImNvbElkeCIsIm51bVJvd3NUb0NhbGN1bGF0ZSIsImZvbnRTaXplIiwiZm9udCIsImNlbGxQYWRkaW5nIiwibWF4Q2VsbFNpemUiLCJtYXhIZWFkZXJTaXplIiwibWluQ2VsbFNpemUiLCJvcHRpb25zQnV0dG9uIiwiZG9jdW1lbnQiLCJyb3ciLCJoZWFkZXIiLCJ0ZXh0Q2FudmFzIiwiY3JlYXRlRWxlbWVudCIsImJvZHkiLCJhcHBlbmRDaGlsZCIsImNvbnRleHQiLCJnZXRDb250ZXh0Iiwiam9pbiIsInJvd3NUb1NhbXBsZSIsIkFycmF5IiwibWFwIiwiTWF0aCIsImZsb29yIiwicmFuZG9tIiwibnVtUm93cyIsImZyb20iLCJrZXlzIiwicm93V2lkdGgiLCJtYXgiLCJyb3dJZHgiLCJ2YWx1ZSIsInZhbHVlQXQiLCJsZW5ndGgiLCJ0ZXh0V2lkdGgiLCJtZWFzdXJlVGV4dCIsIndpZHRoIiwiY2VpbCIsImhlYWRlcldpZHRoIiwibWluUm93V2lkdGgiLCJtaW5IZWFkZXJXaWR0aCIsImNsYW1wZWRSb3dXaWR0aCIsImNsYW1wIiwiY2xhbXBlZEhlYWRlcldpZHRoIiwicGFyZW50RWxlbWVudCIsInJlbW92ZUNoaWxkIiwibWluIiwiZ2V0Q29sdW1uT3JkZXIiLCJwaW5uZWRDb2x1bW5zIiwidW5waW5uZWRDb2x1bW5zIiwiZ2V0TWluQ2VsbFNpemUiLCJjZWxsU2l6ZUNhY2hlIiwiT2JqZWN0IiwicmVkdWNlIiwiYWNjdSIsImNvbCIsImdldFNpemVTdW0iLCJzaXplQ2FjaGUiLCJrZXkiLCJhY2MiLCJ2YWwiLCJleHBhbmRDZWxsU2l6ZSIsImNvbHVtbk9yZGVyIiwiY29udGFpbmVyV2lkdGgiLCJyb29tVG9GaWxsIiwicmVtYWluaW5nIiwiZXhwYW5kZWRDZWxsU2l6ZSIsInNpemUiLCJnaG9zdCIsImxhc3RDZWxsIiwiYWRkUGFkZGluZ1RvRmlyc3RDb2x1bW4iLCJmaXJzdENvbCIsImFkanVzdENlbGxzVG9Db250YWluZXIiLCJwYWRkZWRDZWxsU2l6ZSIsIm1pblJvd1N1bSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFHQTs7QUFDQTs7Ozs7O0FBRUEsSUFBTUEsbUJBQTJCLEdBQUcsR0FBcEM7QUFDQSxJQUFNQyxhQUFhLEdBQUcsRUFBdEIsQyxDQUNBOztBQUNBLElBQU1DLG1CQUFtQixHQUFHLEVBQTVCLEMsQ0FFQTtBQUNBOztBQUNBLElBQU1DLHNCQUFzQixHQUFHLEVBQS9COztBQXVCQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLFNBQVNDLFlBQVQsT0FZNEM7QUFBQSx1QkFYakRDLElBV2lEO0FBQUEsTUFYMUNDLGFBVzBDLGFBWDFDQSxhQVcwQztBQUFBLE1BWDNCQyxNQVcyQixhQVgzQkEsTUFXMkI7QUFBQSx1QkFWakRDLElBVWlEO0FBQUEsTUFWakRBLElBVWlELDBCQVYxQyxRQVUwQztBQUFBLE1BVGpEQyxNQVNpRCxRQVRqREEsTUFTaUQ7QUFBQSxtQ0FSakRDLGtCQVFpRDtBQUFBLE1BUmpEQSxrQkFRaUQsc0NBUjVCLEVBUTRCO0FBQUEsMkJBUGpEQyxRQU9pRDtBQUFBLE1BUGpEQSxRQU9pRCw4QkFQdEMsRUFPc0M7QUFBQSx1QkFOakRDLElBTWlEO0FBQUEsTUFOakRBLElBTWlELDBCQU4xQyxNQU0wQztBQUFBLDhCQUxqREMsV0FLaUQ7QUFBQSxNQUxqREEsV0FLaUQsaUNBTG5DLEVBS21DO0FBQUEsOEJBSmpEQyxXQUlpRDtBQUFBLE1BSmpEQSxXQUlpRCxpQ0FKbkMsR0FJbUM7QUFBQSxnQ0FIakRDLGFBR2lEO0FBQUEsTUFIakRBLGFBR2lELG1DQUhqQyxHQUdpQztB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QUNuQixhQUFELEVBQWdCVyxXQUFoQixDQUE5QztBQUNBLE1BQU1ZLFNBQVMsR0FBR2xCLFVBQVUsQ0FBQ2lCLGNBQUQsRUFBaUIsS0FBakIsQ0FBNUI7O0FBRUEsTUFBSUMsU0FBUyxJQUFJWCxjQUFqQixFQUFpQztBQUMvQjtBQUNBLFdBQU87QUFBQ1osTUFBQUEsYUFBYSxFQUFFRCxjQUFjLENBQUN1QixjQUFEO0FBQTlCLEtBQVA7QUFDRCxHQVJELENBU0E7OztBQUNBLFNBQU9aLGNBQWMsQ0FBQ1ksY0FBRCxFQUFpQlgsV0FBakIsRUFBOEJDLGNBQTlCLEVBQThDQSxjQUFjLEdBQUdXLFNBQS9ELENBQXJCO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgZG9jdW1lbnQgZnJvbSAnZ2xvYmFsL2RvY3VtZW50JztcbmltcG9ydCB7RGF0YUNvbnRhaW5lckludGVyZmFjZSwgcGFyc2VGaWVsZFZhbHVlfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcblxuY29uc3QgTUlOX0dIT1NUX0NFTExfU0laRTogbnVtYmVyID0gMjAwO1xuY29uc3QgTUlOX0NFTExfU0laRSA9IDQ1O1xuLy8gZmlyc3QgY29sdW1uIGhhdmUgcGFkZGluZyBvbiB0aGUgbGVmdFxuY29uc3QgRURHRV9DT0xVTU5fUEFERElORyA9IDEwO1xuXG4vLyBpbiBjYXNlIGNlbGwgY29udGVudCBpcyBzbWFsbCwgY29sdW1uIG5hbWUgaXMgYmlnLCB3ZSBhbGxvdyBtYXggZW1wdHkgc3BhY2UgdG9cbi8vIGJlIGFkZGVkIHRvIG1pbiBjZWxsIHdpZHRoIGluIG9yZGVyIHRvIHNob3cgY29sdW1uIG5hbWVcbmNvbnN0IE1BWF9FTVBUWV9DT0xVTU5fU1BBQ0UgPSA2MDtcblxudHlwZSBSZW5kZXJTaXplUGFyYW0gPSB7XG4gIHRleHQ6IHtkYXRhQ29udGFpbmVyOiBEYXRhQ29udGFpbmVySW50ZXJmYWNlOyBjb2x1bW46IHN0cmluZ307XG4gIHR5cGU/OiBzdHJpbmc7XG4gIGNvbElkeDogbnVtYmVyO1xuICBudW1Sb3dzVG9DYWxjdWxhdGU/OiBudW1iZXI7XG4gIGZvbnRTaXplPzogbnVtYmVyO1xuICBmb250Pzogc3RyaW5nO1xuICBjZWxsUGFkZGluZz86IG51bWJlcjtcbiAgbWF4Q2VsbFNpemU/OiBudW1iZXI7XG4gIG1heEhlYWRlclNpemU/OiBudW1iZXI7XG4gIG1pbkNlbGxTaXplPzogbnVtYmVyO1xuICBvcHRpb25zQnV0dG9uPzogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgQ2VsbFNpemVDYWNoZSA9IHtcbiAgW2tleTogc3RyaW5nXToge1xuICAgIHJvdzogbnVtYmVyO1xuICAgIGhlYWRlcjogbnVtYmVyO1xuICB9O1xufTtcblxuLyoqXG4gKiBNZWFzdXJlIHJvd3MgYW5kIGNvbHVtbiBjb250ZW50IHRvIGRldGVybWluZSBtaW4gd2lkdGggZm9yIGVhY2ggY29sdW1uXG4gKiBAcGFyYW0ge1JlbmRlclNpemVQYXJhbX0gcGFyYW0wXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW5kZXJlZFNpemUoe1xuICB0ZXh0OiB7ZGF0YUNvbnRhaW5lciwgY29sdW1ufSxcbiAgdHlwZSA9ICdzdHJpbmcnLFxuICBjb2xJZHgsXG4gIG51bVJvd3NUb0NhbGN1bGF0ZSA9IDEwLFxuICBmb250U2l6ZSA9IDEyLFxuICBmb250ID0gJ0xhdG8nLFxuICBjZWxsUGFkZGluZyA9IDQwLFxuICBtYXhDZWxsU2l6ZSA9IDUwMCxcbiAgbWF4SGVhZGVyU2l6ZSA9IDUwMCxcbiAgbWluQ2VsbFNpemUgPSBNSU5fQ0VMTF9TSVpFLFxuICBvcHRpb25zQnV0dG9uID0gNDRcbn06IFJlbmRlclNpemVQYXJhbSk6IHtyb3c6IG51bWJlcjsgaGVhZGVyOiBudW1iZXJ9IHtcbiAgaWYgKCFkb2N1bWVudCkge1xuICAgIHJldHVybiB7XG4gICAgICByb3c6IDAsXG4gICAgICBoZWFkZXI6IDBcbiAgICB9O1xuICB9XG5cbiAgY29uc3QgdGV4dENhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRleHRDYW52YXMpO1xuICBjb25zdCBjb250ZXh0ID0gdGV4dENhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuICBjb250ZXh0LmZvbnQgPSBbZm9udFNpemUsIGZvbnRdLmpvaW4oJ3B4ICcpO1xuXG4gIGxldCByb3dzVG9TYW1wbGUgPSBbLi4uQXJyYXkobnVtUm93c1RvQ2FsY3VsYXRlKV0ubWFwKCgpID0+XG4gICAgTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKGRhdGFDb250YWluZXIubnVtUm93cygpIC0gMSkpXG4gICk7XG5cbiAgLy8gSWYgd2UgaGF2ZSBsZXNzIHRoYW4gMTAgcm93cywgbGV0cyBtZWFzdXJlIGFsbCBvZiB0aGVtXG4gIGlmIChkYXRhQ29udGFpbmVyLm51bVJvd3MoKSA8PSBudW1Sb3dzVG9DYWxjdWxhdGUpIHtcbiAgICByb3dzVG9TYW1wbGUgPSBBcnJheS5mcm9tKEFycmF5KGRhdGFDb250YWluZXIubnVtUm93cygpKS5rZXlzKCkpO1xuICB9XG4gIGNvbnN0IHJvd1dpZHRoID0gTWF0aC5tYXgoXG4gICAgLi4ucm93c1RvU2FtcGxlLm1hcChyb3dJZHggPT4ge1xuICAgICAgY29uc3QgdmFsdWUgPSBwYXJzZUZpZWxkVmFsdWUoZGF0YUNvbnRhaW5lci52YWx1ZUF0KHJvd0lkeCwgY29sSWR4KSwgdHlwZSk7XG4gICAgICAvLyBtZWFzdXJpbmcgbGFyZ2UgdGV4dCBjYXVzZSBzbG93IHBlcmZvcm1hbmNlXG4gICAgICBpZiAodmFsdWUubGVuZ3RoID4gbWF4Q2VsbFNpemUpIHtcbiAgICAgICAgcmV0dXJuIG1heENlbGxTaXplO1xuICAgICAgfVxuICAgICAgY29uc3QgdGV4dFdpZHRoID0gY29udGV4dC5tZWFzdXJlVGV4dCh2YWx1ZSkud2lkdGg7XG4gICAgICByZXR1cm4gTWF0aC5jZWlsKHRleHRXaWR0aCkgKyBjZWxsUGFkZGluZztcbiAgICB9KVxuICApO1xuICAvLyBoZWFkZXIgY2VsbCBvbmx5IGhhcyBsZWZ0IHBhZGRpbmdcbiAgY29uc3QgaGVhZGVyV2lkdGggPVxuICAgIE1hdGguY2VpbChjb250ZXh0Lm1lYXN1cmVUZXh0KGNvbHVtbikud2lkdGgpICsgY2VsbFBhZGRpbmcgLyAyICsgb3B0aW9uc0J1dHRvbjtcblxuICAvLyBtaW4gcm93IHdpZHRoIGlzIG1lYXN1cmVkIGJ5IGNlbGwgY29udGVudFxuICBjb25zdCBtaW5Sb3dXaWR0aCA9IG1pbkNlbGxTaXplICsgY2VsbFBhZGRpbmc7XG4gIC8vIG1pbiBoZWFkZXIgd2lkdGggaXMgbWVhc3VyZWQgYnkgY2VsbFxuICBjb25zdCBtaW5IZWFkZXJXaWR0aCA9IG1pbkNlbGxTaXplICsgY2VsbFBhZGRpbmcgLyAyICsgb3B0aW9uc0J1dHRvbjtcblxuICBjb25zdCBjbGFtcGVkUm93V2lkdGggPSBjbGFtcChtaW5Sb3dXaWR0aCwgbWF4Q2VsbFNpemUsIHJvd1dpZHRoKTtcbiAgY29uc3QgY2xhbXBlZEhlYWRlcldpZHRoID0gY2xhbXAobWluSGVhZGVyV2lkdGgsIG1heEhlYWRlclNpemUsIGhlYWRlcldpZHRoKTtcblxuICAvLyBjbGVhbnVwXG4gIHRleHRDYW52YXMucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZCh0ZXh0Q2FudmFzKTtcblxuICByZXR1cm4ge1xuICAgIHJvdzogY2xhbXBlZFJvd1dpZHRoLFxuICAgIGhlYWRlcjogY2xhbXBlZEhlYWRlcldpZHRoXG4gIH07XG59XG5cbmZ1bmN0aW9uIGNsYW1wKG1pbiwgbWF4LCB2YWx1ZSkge1xuICByZXR1cm4gTWF0aC5tYXgoTWF0aC5taW4obWF4LCB2YWx1ZSksIG1pbik7XG59XG5cbmZ1bmN0aW9uIGdldENvbHVtbk9yZGVyKHBpbm5lZENvbHVtbnM6IHN0cmluZ1tdID0gW10sIHVucGlubmVkQ29sdW1uczogc3RyaW5nW10gPSBbXSkge1xuICByZXR1cm4gWy4uLnBpbm5lZENvbHVtbnMsIC4uLnVucGlubmVkQ29sdW1uc107XG59XG5cbi8vIElmIHRvdGFsIG1pbiBjZWxsIHNpemUgaXMgYmlnZ2VyIHRoYW4gY29udGFpbmVyV2lkdGggYWRqdXN0IGNvbHVtblxuZnVuY3Rpb24gZ2V0TWluQ2VsbFNpemUoY2VsbFNpemVDYWNoZTogQ2VsbFNpemVDYWNoZSkge1xuICByZXR1cm4gT2JqZWN0LmtleXMoY2VsbFNpemVDYWNoZSkucmVkdWNlKFxuICAgIChhY2N1LCBjb2wpID0+ICh7XG4gICAgICAuLi5hY2N1LFxuICAgICAgLy8gaWYgcm93IGlzIGxhcmdlciB0aGFuIGhlYWRlciwgdXNlIHJvd1xuICAgICAgW2NvbF06XG4gICAgICAgIGNlbGxTaXplQ2FjaGVbY29sXS5yb3cgPiBjZWxsU2l6ZUNhY2hlW2NvbF0uaGVhZGVyXG4gICAgICAgICAgPyBjZWxsU2l6ZUNhY2hlW2NvbF0ucm93XG4gICAgICAgICAgOiAvLyBpZiByb3cgaXMgc21hbGxlciB0aGFuIGhlYWRlciwgdXNlIHRoZSBzbWFsbGVyIG9mIE1BWF9FTVBUWV9DT0xVTU5fU1BBQ0UgKyByb3cgd2lkdGggYW5kIGhlYWRlclxuICAgICAgICAgICAgTWF0aC5taW4oY2VsbFNpemVDYWNoZVtjb2xdLmhlYWRlciwgY2VsbFNpemVDYWNoZVtjb2xdLnJvdyArIE1BWF9FTVBUWV9DT0xVTU5fU1BBQ0UpXG4gICAgfSksXG4gICAge31cbiAgKTtcbn1cblxuZnVuY3Rpb24gZ2V0U2l6ZVN1bShzaXplQ2FjaGUsIGtleSkge1xuICByZXR1cm4gT2JqZWN0LmtleXMoc2l6ZUNhY2hlKS5yZWR1Y2UoXG4gICAgKGFjYywgdmFsKSA9PiBhY2MgKyAoa2V5ID8gc2l6ZUNhY2hlW3ZhbF1ba2V5XSA6IHNpemVDYWNoZVt2YWxdKSxcbiAgICAwXG4gICk7XG59XG5cbi8qKlxuICogRXhwYW5kIGNlbGwgdG8gZml0IGJvdGggcm93IGFuZCBoZWFkZXIsIGlmIHRoZXJlIGlzIHN0aWxsIHJvb20gbGVmdCxcbiAqIGV4cGFuZCBsYXN0IGNlbGwgdG8gZml0IHRoZSBlbnRpcmUgd2lkdGggb2YgdGhlIGNvbnRhaW5lclxuICogQHBhcmFtIHtDZWxsU2l6ZUNhY2hlfSBjZWxsU2l6ZUNhY2hlXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBjb2x1bW5PcmRlclxuICogQHBhcmFtIHtudW1iZXJ9IGNvbnRhaW5lcldpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gcm9vbVRvRmlsbFxuICovXG5mdW5jdGlvbiBleHBhbmRDZWxsU2l6ZShcbiAgY2VsbFNpemVDYWNoZTogQ2VsbFNpemVDYWNoZSxcbiAgY29sdW1uT3JkZXI6IHN0cmluZ1tdLFxuICBjb250YWluZXJXaWR0aDogbnVtYmVyLFxuICByb29tVG9GaWxsOiBudW1iZXJcbik6IHtcbiAgY2VsbFNpemVDYWNoZTogQ2VsbFNpemVDYWNoZTtcbiAgZ2hvc3Q6IG51bWJlciB8IG51bGw7XG59IHtcbiAgbGV0IHJlbWFpbmluZyA9IHJvb21Ub0ZpbGw7XG5cbiAgY29uc3QgZXhwYW5kZWRDZWxsU2l6ZSA9IGNvbHVtbk9yZGVyLnJlZHVjZSgoYWNjdSwgY29sKSA9PiB7XG4gICAgbGV0IHNpemUgPSBjZWxsU2l6ZUNhY2hlW2NvbF0ucm93O1xuICAgIGlmIChjZWxsU2l6ZUNhY2hlW2NvbF0ucm93IDwgY2VsbFNpemVDYWNoZVtjb2xdLmhlYWRlciAmJiByZW1haW5pbmcgPiAwKSB7XG4gICAgICAvLyBpZiB3ZSBhcmUgY3V0dGluZyBvZmYgdGhlIGhlYWRlciwgZXhwYW5kIHRvIGZpdCBpdFxuICAgICAgc2l6ZSA9XG4gICAgICAgIGNlbGxTaXplQ2FjaGVbY29sXS5oZWFkZXIgLSBjZWxsU2l6ZUNhY2hlW2NvbF0ucm93IDwgcmVtYWluaW5nXG4gICAgICAgICAgPyBjZWxsU2l6ZUNhY2hlW2NvbF0uaGVhZGVyXG4gICAgICAgICAgOiBjZWxsU2l6ZUNhY2hlW2NvbF0ucm93ICsgcmVtYWluaW5nO1xuICAgICAgcmVtYWluaW5nIC09IHNpemUgLSBjZWxsU2l6ZUNhY2hlW2NvbF0ucm93O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5hY2N1LFxuICAgICAgW2NvbF06IHNpemVcbiAgICB9O1xuICB9LCB7fSk7XG5cbiAgbGV0IGdob3N0OiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgaWYgKHJlbWFpbmluZyA+IDAgJiYgcmVtYWluaW5nIDwgTUlOX0dIT1NUX0NFTExfU0laRSkge1xuICAgIC8vIGV4cGFuZCBsYXN0IGNlbGxcbiAgICBjb25zdCBsYXN0Q2VsbCA9IGNvbHVtbk9yZGVyW2NvbHVtbk9yZGVyLmxlbmd0aCAtIDFdO1xuICAgIGV4cGFuZGVkQ2VsbFNpemVbbGFzdENlbGxdICs9IHJlbWFpbmluZztcbiAgfSBlbHNlIGlmIChyZW1haW5pbmcgPj0gTUlOX0dIT1NUX0NFTExfU0laRSkge1xuICAgIC8vIGlmIHRvbyBtdWNoIGxlZnQgYWRkIGEgZ2hvc3QgY2VsbFxuICAgIGdob3N0ID0gcmVtYWluaW5nO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBjZWxsU2l6ZUNhY2hlOiBleHBhbmRlZENlbGxTaXplLFxuICAgIGdob3N0XG4gIH07XG59XG5cbmZ1bmN0aW9uIGFkZFBhZGRpbmdUb0ZpcnN0Q29sdW1uKFxuICBjZWxsU2l6ZUNhY2hlOiBDZWxsU2l6ZUNhY2hlLFxuICBjb2x1bW5PcmRlcjogc3RyaW5nW10gPSBbXVxuKTogQ2VsbFNpemVDYWNoZSB7XG4gIGNvbnN0IGZpcnN0Q29sID0gY29sdW1uT3JkZXJbMF07XG5cbiAgaWYgKGZpcnN0Q29sICYmIGNlbGxTaXplQ2FjaGVbZmlyc3RDb2xdKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmNlbGxTaXplQ2FjaGUsXG4gICAgICBbZmlyc3RDb2xdOiB7XG4gICAgICAgIGhlYWRlcjogY2VsbFNpemVDYWNoZVtmaXJzdENvbF0uaGVhZGVyICsgRURHRV9DT0xVTU5fUEFERElORyxcbiAgICAgICAgcm93OiBjZWxsU2l6ZUNhY2hlW2ZpcnN0Q29sXS5yb3cgKyBFREdFX0NPTFVNTl9QQURESU5HXG4gICAgICB9XG4gICAgfTtcbiAgfVxuICByZXR1cm4gY2VsbFNpemVDYWNoZTtcbn1cblxuLyoqXG4gKiBBZGp1c3QgY2VsbCBzaXplIGJhc2VkIG9uIGNvbnRhaW5lciB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGNvbnRhaW5lcldpZHRoXG4gKiBAcGFyYW0ge0NlbGxTaXplQ2FjaGV9IGNlbGxTaXplQ2FjaGVcbiAqIEBwYXJhbSB7c3RyaW5nW119IHBpbm5lZENvbHVtbnNcbiAqIEBwYXJhbSB7c3RyaW5nW119IHVucGlubmVkQ29sdW1uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gYWRqdXN0Q2VsbHNUb0NvbnRhaW5lcihcbiAgY29udGFpbmVyV2lkdGg6IG51bWJlcixcbiAgY2VsbFNpemVDYWNoZTogQ2VsbFNpemVDYWNoZSxcbiAgcGlubmVkQ29sdW1uczogc3RyaW5nW10sXG4gIHVucGlubmVkQ29sdW1uczogc3RyaW5nW11cbik6IHtcbiAgY2VsbFNpemVDYWNoZTogQ2VsbFNpemVDYWNoZTtcbiAgZ2hvc3Q/OiBudW1iZXIgfCBudWxsO1xufSB7XG4gIGNvbnN0IGNvbHVtbk9yZGVyID0gZ2V0Q29sdW1uT3JkZXIocGlubmVkQ29sdW1ucywgdW5waW5uZWRDb2x1bW5zKTtcbiAgY29uc3QgcGFkZGVkQ2VsbFNpemUgPSBhZGRQYWRkaW5nVG9GaXJzdENvbHVtbihjZWxsU2l6ZUNhY2hlLCBjb2x1bW5PcmRlcik7XG4gIGNvbnN0IG1pblJvd1N1bSA9IGdldFNpemVTdW0ocGFkZGVkQ2VsbFNpemUsICdyb3cnKTtcblxuICBpZiAobWluUm93U3VtID49IGNvbnRhaW5lcldpZHRoKSB7XG4gICAgLy8gd2UgYXBwbHkgdGhlIG1pbiBXaWR0aCB0byBhbGwgY2VsbHNcbiAgICByZXR1cm4ge2NlbGxTaXplQ2FjaGU6IGdldE1pbkNlbGxTaXplKHBhZGRlZENlbGxTaXplKX07XG4gIH1cbiAgLy8gaWYgd2UgaGF2ZSBzb21lIHJvb20gdG8gZXhwYW5kXG4gIHJldHVybiBleHBhbmRDZWxsU2l6ZShwYWRkZWRDZWxsU2l6ZSwgY29sdW1uT3JkZXIsIGNvbnRhaW5lcldpZHRoLCBjb250YWluZXJXaWR0aCAtIG1pblJvd1N1bSk7XG59XG4iXX0=
|