@kepler.gl/reducers 3.3.0-alpha.1 → 3.3.0-alpha.11

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.
Files changed (86) hide show
  1. package/dist/cjs/combined-updaters.js +491 -0
  2. package/dist/cjs/composer-helpers.js +101 -0
  3. package/dist/cjs/composers.js +22 -0
  4. package/dist/cjs/core.js +105 -0
  5. package/dist/cjs/data-utils.js +53 -0
  6. package/dist/cjs/export-utils.js +91 -0
  7. package/dist/{index.js → cjs/index.js} +2 -3
  8. package/dist/cjs/interaction-utils.js +115 -0
  9. package/dist/cjs/layer-utils.js +635 -0
  10. package/dist/cjs/map-state-updaters.js +658 -0
  11. package/dist/cjs/map-state.js +35 -0
  12. package/dist/cjs/map-style-updaters.js +659 -0
  13. package/dist/cjs/map-style.js +33 -0
  14. package/dist/cjs/merger-handler.js +105 -0
  15. package/dist/cjs/middleware.js +25 -0
  16. package/dist/cjs/provider-state-updaters.js +464 -0
  17. package/dist/cjs/provider-state.js +34 -0
  18. package/dist/cjs/root.js +207 -0
  19. package/dist/cjs/ui-state-updaters.js +922 -0
  20. package/dist/cjs/ui-state.js +36 -0
  21. package/dist/cjs/vis-state-merger.js +1215 -0
  22. package/dist/cjs/vis-state-selectors.js +48 -0
  23. package/dist/cjs/vis-state-updaters.js +5150 -0
  24. package/dist/cjs/vis-state.js +35 -0
  25. package/dist/combined-updaters.d.ts +19 -2
  26. package/dist/composers.d.ts +2 -0
  27. package/dist/esm/combined-updaters.js +484 -0
  28. package/dist/esm/composer-helpers.js +85 -0
  29. package/dist/esm/composers.js +14 -0
  30. package/dist/esm/core.js +101 -0
  31. package/dist/esm/data-utils.js +47 -0
  32. package/dist/esm/export-utils.js +86 -0
  33. package/dist/esm/index.js +62 -0
  34. package/dist/esm/interaction-utils.js +106 -0
  35. package/dist/esm/layer-utils.js +602 -0
  36. package/dist/esm/map-state-updaters.js +650 -0
  37. package/dist/esm/map-state.js +29 -0
  38. package/dist/esm/map-style-updaters.js +652 -0
  39. package/dist/esm/map-style.js +27 -0
  40. package/dist/esm/merger-handler.js +96 -0
  41. package/dist/esm/middleware.js +17 -0
  42. package/dist/esm/provider-state-updaters.js +458 -0
  43. package/dist/esm/provider-state.js +28 -0
  44. package/dist/esm/root.js +201 -0
  45. package/dist/esm/ui-state-updaters.js +917 -0
  46. package/dist/esm/ui-state.js +30 -0
  47. package/dist/esm/vis-state-merger.js +1182 -0
  48. package/dist/esm/vis-state-selectors.js +42 -0
  49. package/dist/esm/vis-state-updaters.js +5057 -0
  50. package/dist/esm/vis-state.js +29 -0
  51. package/dist/interaction-utils.d.ts +1 -1
  52. package/dist/layer-utils.d.ts +23 -5
  53. package/dist/map-state-updaters.d.ts +26 -21
  54. package/dist/map-state.d.ts +2 -78
  55. package/dist/map-style-updaters.d.ts +1 -3
  56. package/dist/middleware.d.ts +2 -2
  57. package/dist/root.d.ts +1 -1
  58. package/dist/ui-state-updaters.d.ts +17 -2
  59. package/dist/vis-state-merger.d.ts +7 -0
  60. package/dist/vis-state-selectors.d.ts +88 -5
  61. package/dist/vis-state-updaters.d.ts +127 -4
  62. package/dist/vis-state.d.ts +8 -4
  63. package/package.json +37 -32
  64. package/dist/combined-updaters.js +0 -363
  65. package/dist/composer-helpers.js +0 -101
  66. package/dist/composers.js +0 -23
  67. package/dist/core.js +0 -105
  68. package/dist/data-utils.js +0 -53
  69. package/dist/export-utils.js +0 -91
  70. package/dist/interaction-utils.js +0 -105
  71. package/dist/layer-utils.js +0 -376
  72. package/dist/map-state-updaters.js +0 -438
  73. package/dist/map-state.js +0 -35
  74. package/dist/map-style-updaters.js +0 -661
  75. package/dist/map-style.js +0 -34
  76. package/dist/merger-handler.js +0 -105
  77. package/dist/middleware.js +0 -27
  78. package/dist/provider-state-updaters.js +0 -466
  79. package/dist/provider-state.js +0 -35
  80. package/dist/root.js +0 -207
  81. package/dist/ui-state-updaters.js +0 -887
  82. package/dist/ui-state.js +0 -37
  83. package/dist/vis-state-merger.js +0 -1032
  84. package/dist/vis-state-selectors.js +0 -30
  85. package/dist/vis-state-updaters.js +0 -3859
  86. package/dist/vis-state.js +0 -36
@@ -0,0 +1,29 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ var _actionHandler;
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ // SPDX-License-Identifier: MIT
6
+ // Copyright contributors to the kepler.gl project
7
+
8
+ import { ActionTypes } from '@kepler.gl/actions';
9
+ import { handleActions } from 'redux-actions';
10
+ import * as visStateUpdaters from './vis-state-updaters';
11
+
12
+ /**
13
+ * Important: Do not rename `actionHandler` or the assignment pattern of property value.
14
+ * It is used to generate documentation
15
+ */
16
+ var actionHandler = (_actionHandler = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_actionHandler, ActionTypes.ADD_FILTER, visStateUpdaters.addFilterUpdater), ActionTypes.CREATE_OR_UPDATE_FILTER, visStateUpdaters.createOrUpdateFilterUpdater), ActionTypes.ADD_LAYER, visStateUpdaters.addLayerUpdater), ActionTypes.APPLY_FILTER_CONFIG, visStateUpdaters.applyFilterConfigUpdater), ActionTypes.APPLY_LAYER_CONFIG, visStateUpdaters.applyLayerConfigUpdater), ActionTypes.DUPLICATE_LAYER, visStateUpdaters.duplicateLayerUpdater), ActionTypes.SET_FILTER_VIEW, visStateUpdaters.setFilterViewUpdater), ActionTypes.INTERACTION_CONFIG_CHANGE, visStateUpdaters.interactionConfigChangeUpdater), ActionTypes.LAYER_CLICK, visStateUpdaters.layerClickUpdater), ActionTypes.LAYER_CONFIG_CHANGE, visStateUpdaters.layerConfigChangeUpdater), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_actionHandler, ActionTypes.LAYER_SET_IS_VALID, visStateUpdaters.layerSetIsValidUpdater), ActionTypes.LAYER_HOVER, visStateUpdaters.layerHoverUpdater), ActionTypes.LAYER_TYPE_CHANGE, visStateUpdaters.layerTypeChangeUpdater), ActionTypes.LAYER_VIS_CONFIG_CHANGE, visStateUpdaters.layerVisConfigChangeUpdater), ActionTypes.LAYER_TOGGLE_VISIBILITY, visStateUpdaters.layerToggleVisibilityUpdater), ActionTypes.LAYER_TEXT_LABEL_CHANGE, visStateUpdaters.layerTextLabelChangeUpdater), ActionTypes.LAYER_VISUAL_CHANNEL_CHANGE, visStateUpdaters.layerVisualChannelChangeUpdater), ActionTypes.LAYER_COLOR_UI_CHANGE, visStateUpdaters.layerColorUIChangeUpdater), ActionTypes.TOGGLE_LAYER_ANIMATION, visStateUpdaters.toggleLayerAnimationUpdater), ActionTypes.TOGGLE_LAYER_ANIMATION_CONTROL, visStateUpdaters.toggleLayerAnimationControlUpdater), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_actionHandler, ActionTypes.LOAD_FILES, visStateUpdaters.loadFilesUpdater), ActionTypes.LOAD_FILES_ERR, visStateUpdaters.loadFilesErrUpdater), ActionTypes.LOAD_NEXT_FILE, visStateUpdaters.loadNextFileUpdater), ActionTypes.LOAD_FILE_STEP_SUCCESS, visStateUpdaters.loadFileStepSuccessUpdater), ActionTypes.MAP_CLICK, visStateUpdaters.mapClickUpdater), ActionTypes.MOUSE_MOVE, visStateUpdaters.mouseMoveUpdater), ActionTypes.RECEIVE_MAP_CONFIG, visStateUpdaters.receiveMapConfigUpdater), ActionTypes.REMOVE_DATASET, visStateUpdaters.removeDatasetUpdater), ActionTypes.REMOVE_FILTER, visStateUpdaters.removeFilterUpdater), ActionTypes.REMOVE_LAYER, visStateUpdaters.removeLayerUpdater), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_actionHandler, ActionTypes.REORDER_LAYER, visStateUpdaters.reorderLayerUpdater), ActionTypes.ADD_LAYER_GROUP, visStateUpdaters.addLayerGroupUpdater), ActionTypes.REMOVE_LAYER_GROUP, visStateUpdaters.removeLayerGroupUpdater), ActionTypes.UPDATE_LAYER_GROUP, visStateUpdaters.updateLayerGroupUpdater), ActionTypes.ADD_LAYER_TO_LAYER_GROUP, visStateUpdaters.addLayerToLayerGroupUpdater), ActionTypes.REMOVE_LAYER_FROM_LAYER_GROUP, visStateUpdaters.removeLayerFromLayerGroupUpdater), ActionTypes.SWAP_LAYER_ORDER_ENTRIES, visStateUpdaters.swapLayerOrderEntriesUpdater), ActionTypes.RESET_MAP_CONFIG, visStateUpdaters.resetMapConfigUpdater), ActionTypes.SET_FILTER, visStateUpdaters.setFilterUpdater), ActionTypes.SET_FILTER_ANIMATION_TIME, visStateUpdaters.setFilterAnimationTimeUpdater), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_actionHandler, ActionTypes.SET_FILTER_ANIMATION_TIME_CONFIG, visStateUpdaters.setFilterAnimationTimeConfigUpdater), ActionTypes.SET_FILTER_ANIMATION_WINDOW, visStateUpdaters.setFilterAnimationWindowUpdater), ActionTypes.SET_FILTER_PLOT, visStateUpdaters.setFilterPlotUpdater), ActionTypes.SET_MAP_INFO, visStateUpdaters.setMapInfoUpdater), ActionTypes.SHOW_DATASET_TABLE, visStateUpdaters.showDatasetTableUpdater), ActionTypes.UPDATE_TABLE_COLOR, visStateUpdaters.updateTableColorUpdater), ActionTypes.REFRESH_DATASET, visStateUpdaters.refreshDatasetUpdater), ActionTypes.REFRESH_DATASET_SUCCESS, visStateUpdaters.refreshDatasetSuccessUpdater), ActionTypes.REFRESH_DATASET_ERROR, visStateUpdaters.refreshDatasetErrorUpdater), ActionTypes.REFRESH_DATASET_PROGRESS, visStateUpdaters.refreshDatasetProgressUpdater), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_actionHandler, ActionTypes.ADD_TO_DATASET, visStateUpdaters.addToDatasetUpdater), ActionTypes.REMOVE_FROM_DATASET, visStateUpdaters.removeFromDatasetUpdater), ActionTypes.TOGGLE_FILTER_ANIMATION, visStateUpdaters.toggleFilterAnimationUpdater), ActionTypes.UPDATE_FILTER_ANIMATION_SPEED, visStateUpdaters.updateFilterAnimationSpeedUpdater), ActionTypes.SET_ANIMATION_CONFIG, visStateUpdaters.setAnimationConfigUpdater), ActionTypes.SET_LAYER_ANIMATION_TIME, visStateUpdaters.setLayerAnimationTimeUpdater), ActionTypes.UPDATE_LAYER_ANIMATION_SPEED, visStateUpdaters.updateLayerAnimationSpeedUpdater), ActionTypes.TOGGLE_LAYER_FOR_MAP, visStateUpdaters.toggleLayerForMapUpdater), ActionTypes.TOGGLE_SPLIT_MAP, visStateUpdaters.toggleSplitMapUpdater), ActionTypes.UPDATE_LAYER_BLENDING, visStateUpdaters.updateLayerBlendingUpdater), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_actionHandler, ActionTypes.UPDATE_OVERLAY_BLENDING, visStateUpdaters.updateOverlayBlendingUpdater), ActionTypes.UPDATE_VIS_DATA, visStateUpdaters.updateVisDataUpdater), ActionTypes.RENAME_DATASET, visStateUpdaters.renameDatasetUpdater), ActionTypes.UPDATE_DATASET_PROPS, visStateUpdaters.updateDatasetPropsUpdater), ActionTypes.UPDATE_DATASET, visStateUpdaters.updateDatasetUpdater), ActionTypes.SET_FEATURES, visStateUpdaters.setFeaturesUpdater), ActionTypes.SET_EDITOR_FEATURE_PROPERTIES, visStateUpdaters.setEditorFeaturePropertiesUpdater), ActionTypes.DELETE_FEATURE, visStateUpdaters.deleteFeatureUpdater), ActionTypes.SET_POLYGON_FILTER_LAYER, visStateUpdaters.setPolygonFilterLayerUpdater), ActionTypes.SET_POLYGON_FILTER_ALL_LAYERS, visStateUpdaters.setPolygonFilterAllLayersUpdater), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_actionHandler, ActionTypes.SET_SELECTED_FEATURE, visStateUpdaters.setSelectedFeatureUpdater), ActionTypes.SET_EDITOR_MODE, visStateUpdaters.setEditorModeUpdater), ActionTypes.TOGGLE_EDITOR_VISIBILITY, visStateUpdaters.toggleEditorVisibilityUpdater), ActionTypes.CONVERT_EDITOR_FEATURES_TO_LAYER, visStateUpdaters.convertEditorFeaturesToLayerUpdater), ActionTypes.TOGGLE_FILTER_FEATURE, visStateUpdaters.toggleFilterFeatureUpdater), ActionTypes.APPLY_CPU_FILTER, visStateUpdaters.applyCPUFilterUpdater), ActionTypes.SORT_TABLE_COLUMN, visStateUpdaters.sortTableColumnUpdater), ActionTypes.PIN_TABLE_COLUMN, visStateUpdaters.pinTableColumnUpdater), ActionTypes.COPY_TABLE_COLUMN, visStateUpdaters.copyTableColumnUpdater), ActionTypes.SET_COLUMN_DISPLAY_FORMAT, visStateUpdaters.setColumnDisplayFormatUpdater), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_actionHandler, ActionTypes.LOAD_COLUMN_STATS, visStateUpdaters.loadColumnStatsUpdater), ActionTypes.LOAD_COLUMN_STATS_SUCCESS, visStateUpdaters.loadColumnStatsSuccessUpdater), ActionTypes.LOAD_COLUMN_STATS_ERROR, visStateUpdaters.loadColumnStatsErrorUpdater), ActionTypes.NEXT_FILE_BATCH, visStateUpdaters.nextFileBatchUpdater), ActionTypes.PROCESS_FILE_CONTENT, visStateUpdaters.processFileContentUpdater), ActionTypes.SET_LAYER_ANIMATION_TIME_CONFIG, visStateUpdaters.setLayerAnimationTimeConfigUpdater), ActionTypes.LAYER_FILTERED_ITEMS_CHANGE, visStateUpdaters.layerFilteredItemsChangeUpdater), ActionTypes.WMS_FEATURE_INFO, visStateUpdaters.wmsFeatureInfoUpdater), ActionTypes.SYNC_TIME_FILTER_WITH_LAYER_TIMELINE, visStateUpdaters.syncTimeFilterWithLayerTimelineUpdater), ActionTypes.SYNC_TIME_FILTER_TIMELINE_MODE, visStateUpdaters.setTimeFilterTimelineModeUpdater), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_actionHandler, ActionTypes.ADD_EFFECT, visStateUpdaters.addEffectUpdater), ActionTypes.REORDER_EFFECT, visStateUpdaters.reorderEffectUpdater), ActionTypes.REMOVE_EFFECT, visStateUpdaters.removeEffectUpdater), ActionTypes.UPDATE_EFFECT, visStateUpdaters.updateEffectUpdater), ActionTypes.ADD_ANNOTATION, visStateUpdaters.addAnnotationUpdater), ActionTypes.REMOVE_ANNOTATION, visStateUpdaters.removeAnnotationUpdater), ActionTypes.UPDATE_ANNOTATION, visStateUpdaters.updateAnnotationUpdater), ActionTypes.DUPLICATE_ANNOTATION, visStateUpdaters.duplicateAnnotationUpdater), ActionTypes.SET_SELECTED_ANNOTATION, visStateUpdaters.setSelectedAnnotationUpdater), ActionTypes.CREATE_NEW_DATASET_SUCCESS, visStateUpdaters.createNewDatasetSuccessUpdater), _defineProperty(_actionHandler, ActionTypes.SET_LOADING_INDICATOR, visStateUpdaters.setLoadingIndicatorUpdater));
17
+
18
+ // construct vis-state reducer
19
+ export var visStateReducerFactory = function visStateReducerFactory() {
20
+ var initialState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
21
+ return (
22
+ // @ts-expect-error
23
+ handleActions(actionHandler, _objectSpread(_objectSpread(_objectSpread({}, visStateUpdaters.INITIAL_VIS_STATE), initialState), {}, {
24
+ initialState: initialState
25
+ }))
26
+ );
27
+ };
28
+ export default visStateReducerFactory();
29
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBY3Rpb25UeXBlcyIsImhhbmRsZUFjdGlvbnMiLCJ2aXNTdGF0ZVVwZGF0ZXJzIiwiYWN0aW9uSGFuZGxlciIsIl9hY3Rpb25IYW5kbGVyIiwiX2RlZmluZVByb3BlcnR5IiwiQUREX0ZJTFRFUiIsImFkZEZpbHRlclVwZGF0ZXIiLCJDUkVBVEVfT1JfVVBEQVRFX0ZJTFRFUiIsImNyZWF0ZU9yVXBkYXRlRmlsdGVyVXBkYXRlciIsIkFERF9MQVlFUiIsImFkZExheWVyVXBkYXRlciIsIkFQUExZX0ZJTFRFUl9DT05GSUciLCJhcHBseUZpbHRlckNvbmZpZ1VwZGF0ZXIiLCJBUFBMWV9MQVlFUl9DT05GSUciLCJhcHBseUxheWVyQ29uZmlnVXBkYXRlciIsIkRVUExJQ0FURV9MQVlFUiIsImR1cGxpY2F0ZUxheWVyVXBkYXRlciIsIlNFVF9GSUxURVJfVklFVyIsInNldEZpbHRlclZpZXdVcGRhdGVyIiwiSU5URVJBQ1RJT05fQ09ORklHX0NIQU5HRSIsImludGVyYWN0aW9uQ29uZmlnQ2hhbmdlVXBkYXRlciIsIkxBWUVSX0NMSUNLIiwibGF5ZXJDbGlja1VwZGF0ZXIiLCJMQVlFUl9DT05GSUdfQ0hBTkdFIiwibGF5ZXJDb25maWdDaGFuZ2VVcGRhdGVyIiwiTEFZRVJfU0VUX0lTX1ZBTElEIiwibGF5ZXJTZXRJc1ZhbGlkVXBkYXRlciIsIkxBWUVSX0hPVkVSIiwibGF5ZXJIb3ZlclVwZGF0ZXIiLCJMQVlFUl9UWVBFX0NIQU5HRSIsImxheWVyVHlwZUNoYW5nZVVwZGF0ZXIiLCJMQVlFUl9WSVNfQ09ORklHX0NIQU5HRSIsImxheWVyVmlzQ29uZmlnQ2hhbmdlVXBkYXRlciIsIkxBWUVSX1RPR0dMRV9WSVNJQklMSVRZIiwibGF5ZXJUb2dnbGVWaXNpYmlsaXR5VXBkYXRlciIsIkxBWUVSX1RFWFRfTEFCRUxfQ0hBTkdFIiwibGF5ZXJUZXh0TGFiZWxDaGFuZ2VVcGRhdGVyIiwiTEFZRVJfVklTVUFMX0NIQU5ORUxfQ0hBTkdFIiwibGF5ZXJWaXN1YWxDaGFubmVsQ2hhbmdlVXBkYXRlciIsIkxBWUVSX0NPTE9SX1VJX0NIQU5HRSIsImxheWVyQ29sb3JVSUNoYW5nZVVwZGF0ZXIiLCJUT0dHTEVfTEFZRVJfQU5JTUFUSU9OIiwidG9nZ2xlTGF5ZXJBbmltYXRpb25VcGRhdGVyIiwiVE9HR0xFX0xBWUVSX0FOSU1BVElPTl9DT05UUk9MIiwidG9nZ2xlTGF5ZXJBbmltYXRpb25Db250cm9sVXBkYXRlciIsIkxPQURfRklMRVMiLCJsb2FkRmlsZXNVcGRhdGVyIiwiTE9BRF9GSUxFU19FUlIiLCJsb2FkRmlsZXNFcnJVcGRhdGVyIiwiTE9BRF9ORVhUX0ZJTEUiLCJsb2FkTmV4dEZpbGVVcGRhdGVyIiwiTE9BRF9GSUxFX1NURVBfU1VDQ0VTUyIsImxvYWRGaWxlU3RlcFN1Y2Nlc3NVcGRhdGVyIiwiTUFQX0NMSUNLIiwibWFwQ2xpY2tVcGRhdGVyIiwiTU9VU0VfTU9WRSIsIm1vdXNlTW92ZVVwZGF0ZXIiLCJSRUNFSVZFX01BUF9DT05GSUciLCJyZWNlaXZlTWFwQ29uZmlnVXBkYXRlciIsIlJFTU9WRV9EQVRBU0VUIiwicmVtb3ZlRGF0YXNldFVwZGF0ZXIiLCJSRU1PVkVfRklMVEVSIiwicmVtb3ZlRmlsdGVyVXBkYXRlciIsIlJFTU9WRV9MQVlFUiIsInJlbW92ZUxheWVyVXBkYXRlciIsIlJFT1JERVJfTEFZRVIiLCJyZW9yZGVyTGF5ZXJVcGRhdGVyIiwiQUREX0xBWUVSX0dST1VQIiwiYWRkTGF5ZXJHcm91cFVwZGF0ZXIiLCJSRU1PVkVfTEFZRVJfR1JPVVAiLCJyZW1vdmVMYXllckdyb3VwVXBkYXRlciIsIlVQREFURV9MQVlFUl9HUk9VUCIsInVwZGF0ZUxheWVyR3JvdXBVcGRhdGVyIiwiQUREX0xBWUVSX1RPX0xBWUVSX0dST1VQIiwiYWRkTGF5ZXJUb0xheWVyR3JvdXBVcGRhdGVyIiwiUkVNT1ZFX0xBWUVSX0ZST01fTEFZRVJfR1JPVVAiLCJyZW1vdmVMYXllckZyb21MYXllckdyb3VwVXBkYXRlciIsIlNXQVBfTEFZRVJfT1JERVJfRU5UUklFUyIsInN3YXBMYXllck9yZGVyRW50cmllc1VwZGF0ZXIiLCJSRVNFVF9NQVBfQ09ORklHIiwicmVzZXRNYXBDb25maWdVcGRhdGVyIiwiU0VUX0ZJTFRFUiIsInNldEZpbHRlclVwZGF0ZXIiLCJTRVRfRklMVEVSX0FOSU1BVElPTl9USU1FIiwic2V0RmlsdGVyQW5pbWF0aW9uVGltZVVwZGF0ZXIiLCJTRVRfRklMVEVSX0FOSU1BVElPTl9USU1FX0NPTkZJRyIsInNldEZpbHRlckFuaW1hdGlvblRpbWVDb25maWdVcGRhdGVyIiwiU0VUX0ZJTFRFUl9BTklNQVRJT05fV0lORE9XIiwic2V0RmlsdGVyQW5pbWF0aW9uV2luZG93VXBkYXRlciIsIlNFVF9GSUxURVJfUExPVCIsInNldEZpbHRlclBsb3RVcGRhdGVyIiwiU0VUX01BUF9JTkZPIiwic2V0TWFwSW5mb1VwZGF0ZXIiLCJTSE9XX0RBVEFTRVRfVEFCTEUiLCJzaG93RGF0YXNldFRhYmxlVXBkYXRlciIsIlVQREFURV9UQUJMRV9DT0xPUiIsInVwZGF0ZVRhYmxlQ29sb3JVcGRhdGVyIiwiUkVGUkVTSF9EQVRBU0VUIiwicmVmcmVzaERhdGFzZXRVcGRhdGVyIiwiUkVGUkVTSF9EQVRBU0VUX1NVQ0NFU1MiLCJyZWZyZXNoRGF0YXNldFN1Y2Nlc3NVcGRhdGVyIiwiUkVGUkVTSF9EQVRBU0VUX0VSUk9SIiwicmVmcmVzaERhdGFzZXRFcnJvclVwZGF0ZXIiLCJSRUZSRVNIX0RBVEFTRVRfUFJPR1JFU1MiLCJyZWZyZXNoRGF0YXNldFByb2dyZXNzVXBkYXRlciIsIkFERF9UT19EQVRBU0VUIiwiYWRkVG9EYXRhc2V0VXBkYXRlciIsIlJFTU9WRV9GUk9NX0RBVEFTRVQiLCJyZW1vdmVGcm9tRGF0YXNldFVwZGF0ZXIiLCJUT0dHTEVfRklMVEVSX0FOSU1BVElPTiIsInRvZ2dsZUZpbHRlckFuaW1hdGlvblVwZGF0ZXIiLCJVUERBVEVfRklMVEVSX0FOSU1BVElPTl9TUEVFRCIsInVwZGF0ZUZpbHRlckFuaW1hdGlvblNwZWVkVXBkYXRlciIsIlNFVF9BTklNQVRJT05fQ09ORklHIiwic2V0QW5pbWF0aW9uQ29uZmlnVXBkYXRlciIsIlNFVF9MQVlFUl9BTklNQVRJT05fVElNRSIsInNldExheWVyQW5pbWF0aW9uVGltZVVwZGF0ZXIiLCJVUERBVEVfTEFZRVJfQU5JTUFUSU9OX1NQRUVEIiwidXBkYXRlTGF5ZXJBbmltYXRpb25TcGVlZFVwZGF0ZXIiLCJUT0dHTEVfTEFZRVJfRk9SX01BUCIsInRvZ2dsZUxheWVyRm9yTWFwVXBkYXRlciIsIlRPR0dMRV9TUExJVF9NQVAiLCJ0b2dnbGVTcGxpdE1hcFVwZGF0ZXIiLCJVUERBVEVfTEFZRVJfQkxFTkRJTkciLCJ1cGRhdGVMYXllckJsZW5kaW5nVXBkYXRlciIsIlVQREFURV9PVkVSTEFZX0JMRU5ESU5HIiwidXBkYXRlT3ZlcmxheUJsZW5kaW5nVXBkYXRlciIsIlVQREFURV9WSVNfREFUQSIsInVwZGF0ZVZpc0RhdGFVcGRhdGVyIiwiUkVOQU1FX0RBVEFTRVQiLCJyZW5hbWVEYXRhc2V0VXBkYXRlciIsIlVQREFURV9EQVRBU0VUX1BST1BTIiwidXBkYXRlRGF0YXNldFByb3BzVXBkYXRlciIsIlVQREFURV9EQVRBU0VUIiwidXBkYXRlRGF0YXNldFVwZGF0ZXIiLCJTRVRfRkVBVFVSRVMiLCJzZXRGZWF0dXJlc1VwZGF0ZXIiLCJTRVRfRURJVE9SX0ZFQVRVUkVfUFJPUEVSVElFUyIsInNldEVkaXRvckZlYXR1cmVQcm9wZXJ0aWVzVXBkYXRlciIsIkRFTEVURV9GRUFUVVJFIiwiZGVsZXRlRmVhdHVyZVVwZGF0ZXIiLCJTRVRfUE9MWUdPTl9GSUxURVJfTEFZRVIiLCJzZXRQb2x5Z29uRmlsdGVyTGF5ZXJVcGRhdGVyIiwiU0VUX1BPTFlHT05fRklMVEVSX0FMTF9MQVlFUlMiLCJzZXRQb2x5Z29uRmlsdGVyQWxsTGF5ZXJzVXBkYXRlciIsIlNFVF9TRUxFQ1RFRF9GRUFUVVJFIiwic2V0U2VsZWN0ZWRGZWF0dXJlVXBkYXRlciIsIlNFVF9FRElUT1JfTU9ERSIsInNldEVkaXRvck1vZGVVcGRhdGVyIiwiVE9HR0xFX0VESVRPUl9WSVNJQklMSVRZIiwidG9nZ2xlRWRpdG9yVmlzaWJpbGl0eVVwZGF0ZXIiLCJDT05WRVJUX0VESVRPUl9GRUFUVVJFU19UT19MQVlFUiIsImNvbnZlcnRFZGl0b3JGZWF0dXJlc1RvTGF5ZXJVcGRhdGVyIiwiVE9HR0xFX0ZJTFRFUl9GRUFUVVJFIiwidG9nZ2xlRmlsdGVyRmVhdHVyZVVwZGF0ZXIiLCJBUFBMWV9DUFVfRklMVEVSIiwiYXBwbHlDUFVGaWx0ZXJVcGRhdGVyIiwiU09SVF9UQUJMRV9DT0xVTU4iLCJzb3J0VGFibGVDb2x1bW5VcGRhdGVyIiwiUElOX1RBQkxFX0NPTFVNTiIsInBpblRhYmxlQ29sdW1uVXBkYXRlciIsIkNPUFlfVEFCTEVfQ09MVU1OIiwiY29weVRhYmxlQ29sdW1uVXBkYXRlciIsIlNFVF9DT0xVTU5fRElTUExBWV9GT1JNQVQiLCJzZXRDb2x1bW5EaXNwbGF5Rm9ybWF0VXBkYXRlciIsIkxPQURfQ09MVU1OX1NUQVRTIiwibG9hZENvbHVtblN0YXRzVXBkYXRlciIsIkxPQURfQ09MVU1OX1NUQVRTX1NVQ0NFU1MiLCJsb2FkQ29sdW1uU3RhdHNTdWNjZXNzVXBkYXRlciIsIkxPQURfQ09MVU1OX1NUQVRTX0VSUk9SIiwibG9hZENvbHVtblN0YXRzRXJyb3JVcGRhdGVyIiwiTkVYVF9GSUxFX0JBVENIIiwibmV4dEZpbGVCYXRjaFVwZGF0ZXIiLCJQUk9DRVNTX0ZJTEVfQ09OVEVOVCIsInByb2Nlc3NGaWxlQ29udGVudFVwZGF0ZXIiLCJTRVRfTEFZRVJfQU5JTUFUSU9OX1RJTUVfQ09ORklHIiwic2V0TGF5ZXJBbmltYXRpb25UaW1lQ29uZmlnVXBkYXRlciIsIkxBWUVSX0ZJTFRFUkVEX0lURU1TX0NIQU5HRSIsImxheWVyRmlsdGVyZWRJdGVtc0NoYW5nZVVwZGF0ZXIiLCJXTVNfRkVBVFVSRV9JTkZPIiwid21zRmVhdHVyZUluZm9VcGRhdGVyIiwiU1lOQ19USU1FX0ZJTFRFUl9XSVRIX0xBWUVSX1RJTUVMSU5FIiwic3luY1RpbWVGaWx0ZXJXaXRoTGF5ZXJUaW1lbGluZVVwZGF0ZXIiLCJTWU5DX1RJTUVfRklMVEVSX1RJTUVMSU5FX01PREUiLCJzZXRUaW1lRmlsdGVyVGltZWxpbmVNb2RlVXBkYXRlciIsIkFERF9FRkZFQ1QiLCJhZGRFZmZlY3RVcGRhdGVyIiwiUkVPUkRFUl9FRkZFQ1QiLCJyZW9yZGVyRWZmZWN0VXBkYXRlciIsIlJFTU9WRV9FRkZFQ1QiLCJyZW1vdmVFZmZlY3RVcGRhdGVyIiwiVVBEQVRFX0VGRkVDVCIsInVwZGF0ZUVmZmVjdFVwZGF0ZXIiLCJBRERfQU5OT1RBVElPTiIsImFkZEFubm90YXRpb25VcGRhdGVyIiwiUkVNT1ZFX0FOTk9UQVRJT04iLCJyZW1vdmVBbm5vdGF0aW9uVXBkYXRlciIsIlVQREFURV9BTk5PVEFUSU9OIiwidXBkYXRlQW5ub3RhdGlvblVwZGF0ZXIiLCJEVVBMSUNBVEVfQU5OT1RBVElPTiIsImR1cGxpY2F0ZUFubm90YXRpb25VcGRhdGVyIiwiU0VUX1NFTEVDVEVEX0FOTk9UQVRJT04iLCJzZXRTZWxlY3RlZEFubm90YXRpb25VcGRhdGVyIiwiQ1JFQVRFX05FV19EQVRBU0VUX1NVQ0NFU1MiLCJjcmVhdGVOZXdEYXRhc2V0U3VjY2Vzc1VwZGF0ZXIiLCJTRVRfTE9BRElOR19JTkRJQ0FUT1IiLCJzZXRMb2FkaW5nSW5kaWNhdG9yVXBkYXRlciIsInZpc1N0YXRlUmVkdWNlckZhY3RvcnkiLCJpbml0aWFsU3RhdGUiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJfb2JqZWN0U3ByZWFkIiwiSU5JVElBTF9WSVNfU1RBVEUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdmlzLXN0YXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCB7QWN0aW9uVHlwZXN9IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5pbXBvcnQge2hhbmRsZUFjdGlvbnN9IGZyb20gJ3JlZHV4LWFjdGlvbnMnO1xuaW1wb3J0ICogYXMgdmlzU3RhdGVVcGRhdGVycyBmcm9tICcuL3Zpcy1zdGF0ZS11cGRhdGVycyc7XG5cbi8qKlxuICogSW1wb3J0YW50OiBEbyBub3QgcmVuYW1lIGBhY3Rpb25IYW5kbGVyYCBvciB0aGUgYXNzaWdubWVudCBwYXR0ZXJuIG9mIHByb3BlcnR5IHZhbHVlLlxuICogSXQgaXMgdXNlZCB0byBnZW5lcmF0ZSBkb2N1bWVudGF0aW9uXG4gKi9cbmNvbnN0IGFjdGlvbkhhbmRsZXIgPSB7XG4gIFtBY3Rpb25UeXBlcy5BRERfRklMVEVSXTogdmlzU3RhdGVVcGRhdGVycy5hZGRGaWx0ZXJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5DUkVBVEVfT1JfVVBEQVRFX0ZJTFRFUl06IHZpc1N0YXRlVXBkYXRlcnMuY3JlYXRlT3JVcGRhdGVGaWx0ZXJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5BRERfTEFZRVJdOiB2aXNTdGF0ZVVwZGF0ZXJzLmFkZExheWVyVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuQVBQTFlfRklMVEVSX0NPTkZJR106IHZpc1N0YXRlVXBkYXRlcnMuYXBwbHlGaWx0ZXJDb25maWdVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5BUFBMWV9MQVlFUl9DT05GSUddOiB2aXNTdGF0ZVVwZGF0ZXJzLmFwcGx5TGF5ZXJDb25maWdVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5EVVBMSUNBVEVfTEFZRVJdOiB2aXNTdGF0ZVVwZGF0ZXJzLmR1cGxpY2F0ZUxheWVyVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0VUX0ZJTFRFUl9WSUVXXTogdmlzU3RhdGVVcGRhdGVycy5zZXRGaWx0ZXJWaWV3VXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuSU5URVJBQ1RJT05fQ09ORklHX0NIQU5HRV06IHZpc1N0YXRlVXBkYXRlcnMuaW50ZXJhY3Rpb25Db25maWdDaGFuZ2VVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MQVlFUl9DTElDS106IHZpc1N0YXRlVXBkYXRlcnMubGF5ZXJDbGlja1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxBWUVSX0NPTkZJR19DSEFOR0VdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxheWVyQ29uZmlnQ2hhbmdlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTEFZRVJfU0VUX0lTX1ZBTElEXTogdmlzU3RhdGVVcGRhdGVycy5sYXllclNldElzVmFsaWRVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MQVlFUl9IT1ZFUl06IHZpc1N0YXRlVXBkYXRlcnMubGF5ZXJIb3ZlclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxBWUVSX1RZUEVfQ0hBTkdFXTogdmlzU3RhdGVVcGRhdGVycy5sYXllclR5cGVDaGFuZ2VVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MQVlFUl9WSVNfQ09ORklHX0NIQU5HRV06IHZpc1N0YXRlVXBkYXRlcnMubGF5ZXJWaXNDb25maWdDaGFuZ2VVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MQVlFUl9UT0dHTEVfVklTSUJJTElUWV06IHZpc1N0YXRlVXBkYXRlcnMubGF5ZXJUb2dnbGVWaXNpYmlsaXR5VXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTEFZRVJfVEVYVF9MQUJFTF9DSEFOR0VdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxheWVyVGV4dExhYmVsQ2hhbmdlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTEFZRVJfVklTVUFMX0NIQU5ORUxfQ0hBTkdFXTogdmlzU3RhdGVVcGRhdGVycy5sYXllclZpc3VhbENoYW5uZWxDaGFuZ2VVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MQVlFUl9DT0xPUl9VSV9DSEFOR0VdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxheWVyQ29sb3JVSUNoYW5nZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlRPR0dMRV9MQVlFUl9BTklNQVRJT05dOiB2aXNTdGF0ZVVwZGF0ZXJzLnRvZ2dsZUxheWVyQW5pbWF0aW9uVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVE9HR0xFX0xBWUVSX0FOSU1BVElPTl9DT05UUk9MXTogdmlzU3RhdGVVcGRhdGVycy50b2dnbGVMYXllckFuaW1hdGlvbkNvbnRyb2xVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MT0FEX0ZJTEVTXTogdmlzU3RhdGVVcGRhdGVycy5sb2FkRmlsZXNVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MT0FEX0ZJTEVTX0VSUl06IHZpc1N0YXRlVXBkYXRlcnMubG9hZEZpbGVzRXJyVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTE9BRF9ORVhUX0ZJTEVdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxvYWROZXh0RmlsZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxPQURfRklMRV9TVEVQX1NVQ0NFU1NdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxvYWRGaWxlU3RlcFN1Y2Nlc3NVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5NQVBfQ0xJQ0tdOiB2aXNTdGF0ZVVwZGF0ZXJzLm1hcENsaWNrVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTU9VU0VfTU9WRV06IHZpc1N0YXRlVXBkYXRlcnMubW91c2VNb3ZlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuUkVDRUlWRV9NQVBfQ09ORklHXTogdmlzU3RhdGVVcGRhdGVycy5yZWNlaXZlTWFwQ29uZmlnVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuUkVNT1ZFX0RBVEFTRVRdOiB2aXNTdGF0ZVVwZGF0ZXJzLnJlbW92ZURhdGFzZXRVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRU1PVkVfRklMVEVSXTogdmlzU3RhdGVVcGRhdGVycy5yZW1vdmVGaWx0ZXJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRU1PVkVfTEFZRVJdOiB2aXNTdGF0ZVVwZGF0ZXJzLnJlbW92ZUxheWVyVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuUkVPUkRFUl9MQVlFUl06IHZpc1N0YXRlVXBkYXRlcnMucmVvcmRlckxheWVyVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuQUREX0xBWUVSX0dST1VQXTogdmlzU3RhdGVVcGRhdGVycy5hZGRMYXllckdyb3VwVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuUkVNT1ZFX0xBWUVSX0dST1VQXTogdmlzU3RhdGVVcGRhdGVycy5yZW1vdmVMYXllckdyb3VwVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVVBEQVRFX0xBWUVSX0dST1VQXTogdmlzU3RhdGVVcGRhdGVycy51cGRhdGVMYXllckdyb3VwVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuQUREX0xBWUVSX1RPX0xBWUVSX0dST1VQXTogdmlzU3RhdGVVcGRhdGVycy5hZGRMYXllclRvTGF5ZXJHcm91cFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlJFTU9WRV9MQVlFUl9GUk9NX0xBWUVSX0dST1VQXTogdmlzU3RhdGVVcGRhdGVycy5yZW1vdmVMYXllckZyb21MYXllckdyb3VwVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU1dBUF9MQVlFUl9PUkRFUl9FTlRSSUVTXTogdmlzU3RhdGVVcGRhdGVycy5zd2FwTGF5ZXJPcmRlckVudHJpZXNVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRVNFVF9NQVBfQ09ORklHXTogdmlzU3RhdGVVcGRhdGVycy5yZXNldE1hcENvbmZpZ1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9GSUxURVJdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldEZpbHRlclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9GSUxURVJfQU5JTUFUSU9OX1RJTUVdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldEZpbHRlckFuaW1hdGlvblRpbWVVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfRklMVEVSX0FOSU1BVElPTl9USU1FX0NPTkZJR106XG4gICAgdmlzU3RhdGVVcGRhdGVycy5zZXRGaWx0ZXJBbmltYXRpb25UaW1lQ29uZmlnVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0VUX0ZJTFRFUl9BTklNQVRJT05fV0lORE9XXTogdmlzU3RhdGVVcGRhdGVycy5zZXRGaWx0ZXJBbmltYXRpb25XaW5kb3dVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfRklMVEVSX1BMT1RdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldEZpbHRlclBsb3RVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfTUFQX0lORk9dOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldE1hcEluZm9VcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TSE9XX0RBVEFTRVRfVEFCTEVdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNob3dEYXRhc2V0VGFibGVVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5VUERBVEVfVEFCTEVfQ09MT1JdOiB2aXNTdGF0ZVVwZGF0ZXJzLnVwZGF0ZVRhYmxlQ29sb3JVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRUZSRVNIX0RBVEFTRVRdOiB2aXNTdGF0ZVVwZGF0ZXJzLnJlZnJlc2hEYXRhc2V0VXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuUkVGUkVTSF9EQVRBU0VUX1NVQ0NFU1NdOiB2aXNTdGF0ZVVwZGF0ZXJzLnJlZnJlc2hEYXRhc2V0U3VjY2Vzc1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlJFRlJFU0hfREFUQVNFVF9FUlJPUl06IHZpc1N0YXRlVXBkYXRlcnMucmVmcmVzaERhdGFzZXRFcnJvclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlJFRlJFU0hfREFUQVNFVF9QUk9HUkVTU106IHZpc1N0YXRlVXBkYXRlcnMucmVmcmVzaERhdGFzZXRQcm9ncmVzc1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkFERF9UT19EQVRBU0VUXTogdmlzU3RhdGVVcGRhdGVycy5hZGRUb0RhdGFzZXRVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRU1PVkVfRlJPTV9EQVRBU0VUXTogdmlzU3RhdGVVcGRhdGVycy5yZW1vdmVGcm9tRGF0YXNldFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlRPR0dMRV9GSUxURVJfQU5JTUFUSU9OXTogdmlzU3RhdGVVcGRhdGVycy50b2dnbGVGaWx0ZXJBbmltYXRpb25VcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5VUERBVEVfRklMVEVSX0FOSU1BVElPTl9TUEVFRF06IHZpc1N0YXRlVXBkYXRlcnMudXBkYXRlRmlsdGVyQW5pbWF0aW9uU3BlZWRVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfQU5JTUFUSU9OX0NPTkZJR106IHZpc1N0YXRlVXBkYXRlcnMuc2V0QW5pbWF0aW9uQ29uZmlnVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0VUX0xBWUVSX0FOSU1BVElPTl9USU1FXTogdmlzU3RhdGVVcGRhdGVycy5zZXRMYXllckFuaW1hdGlvblRpbWVVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5VUERBVEVfTEFZRVJfQU5JTUFUSU9OX1NQRUVEXTogdmlzU3RhdGVVcGRhdGVycy51cGRhdGVMYXllckFuaW1hdGlvblNwZWVkVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVE9HR0xFX0xBWUVSX0ZPUl9NQVBdOiB2aXNTdGF0ZVVwZGF0ZXJzLnRvZ2dsZUxheWVyRm9yTWFwVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVE9HR0xFX1NQTElUX01BUF06IHZpc1N0YXRlVXBkYXRlcnMudG9nZ2xlU3BsaXRNYXBVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5VUERBVEVfTEFZRVJfQkxFTkRJTkddOiB2aXNTdGF0ZVVwZGF0ZXJzLnVwZGF0ZUxheWVyQmxlbmRpbmdVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5VUERBVEVfT1ZFUkxBWV9CTEVORElOR106IHZpc1N0YXRlVXBkYXRlcnMudXBkYXRlT3ZlcmxheUJsZW5kaW5nVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVVBEQVRFX1ZJU19EQVRBXTogdmlzU3RhdGVVcGRhdGVycy51cGRhdGVWaXNEYXRhVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuUkVOQU1FX0RBVEFTRVRdOiB2aXNTdGF0ZVVwZGF0ZXJzLnJlbmFtZURhdGFzZXRVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5VUERBVEVfREFUQVNFVF9QUk9QU106IHZpc1N0YXRlVXBkYXRlcnMudXBkYXRlRGF0YXNldFByb3BzVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVVBEQVRFX0RBVEFTRVRdOiB2aXNTdGF0ZVVwZGF0ZXJzLnVwZGF0ZURhdGFzZXRVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfRkVBVFVSRVNdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldEZlYXR1cmVzVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0VUX0VESVRPUl9GRUFUVVJFX1BST1BFUlRJRVNdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldEVkaXRvckZlYXR1cmVQcm9wZXJ0aWVzVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuREVMRVRFX0ZFQVRVUkVdOiB2aXNTdGF0ZVVwZGF0ZXJzLmRlbGV0ZUZlYXR1cmVVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfUE9MWUdPTl9GSUxURVJfTEFZRVJdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldFBvbHlnb25GaWx0ZXJMYXllclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9QT0xZR09OX0ZJTFRFUl9BTExfTEFZRVJTXTogdmlzU3RhdGVVcGRhdGVycy5zZXRQb2x5Z29uRmlsdGVyQWxsTGF5ZXJzVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0VUX1NFTEVDVEVEX0ZFQVRVUkVdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldFNlbGVjdGVkRmVhdHVyZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9FRElUT1JfTU9ERV06IHZpc1N0YXRlVXBkYXRlcnMuc2V0RWRpdG9yTW9kZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlRPR0dMRV9FRElUT1JfVklTSUJJTElUWV06IHZpc1N0YXRlVXBkYXRlcnMudG9nZ2xlRWRpdG9yVmlzaWJpbGl0eVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkNPTlZFUlRfRURJVE9SX0ZFQVRVUkVTX1RPX0xBWUVSXTpcbiAgICB2aXNTdGF0ZVVwZGF0ZXJzLmNvbnZlcnRFZGl0b3JGZWF0dXJlc1RvTGF5ZXJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5UT0dHTEVfRklMVEVSX0ZFQVRVUkVdOiB2aXNTdGF0ZVVwZGF0ZXJzLnRvZ2dsZUZpbHRlckZlYXR1cmVVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5BUFBMWV9DUFVfRklMVEVSXTogdmlzU3RhdGVVcGRhdGVycy5hcHBseUNQVUZpbHRlclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNPUlRfVEFCTEVfQ09MVU1OXTogdmlzU3RhdGVVcGRhdGVycy5zb3J0VGFibGVDb2x1bW5VcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5QSU5fVEFCTEVfQ09MVU1OXTogdmlzU3RhdGVVcGRhdGVycy5waW5UYWJsZUNvbHVtblVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkNPUFlfVEFCTEVfQ09MVU1OXTogdmlzU3RhdGVVcGRhdGVycy5jb3B5VGFibGVDb2x1bW5VcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfQ09MVU1OX0RJU1BMQVlfRk9STUFUXTogdmlzU3RhdGVVcGRhdGVycy5zZXRDb2x1bW5EaXNwbGF5Rm9ybWF0VXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTE9BRF9DT0xVTU5fU1RBVFNdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxvYWRDb2x1bW5TdGF0c1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxPQURfQ09MVU1OX1NUQVRTX1NVQ0NFU1NdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxvYWRDb2x1bW5TdGF0c1N1Y2Nlc3NVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MT0FEX0NPTFVNTl9TVEFUU19FUlJPUl06IHZpc1N0YXRlVXBkYXRlcnMubG9hZENvbHVtblN0YXRzRXJyb3JVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5ORVhUX0ZJTEVfQkFUQ0hdOiB2aXNTdGF0ZVVwZGF0ZXJzLm5leHRGaWxlQmF0Y2hVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5QUk9DRVNTX0ZJTEVfQ09OVEVOVF06IHZpc1N0YXRlVXBkYXRlcnMucHJvY2Vzc0ZpbGVDb250ZW50VXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0VUX0xBWUVSX0FOSU1BVElPTl9USU1FX0NPTkZJR106XG4gICAgdmlzU3RhdGVVcGRhdGVycy5zZXRMYXllckFuaW1hdGlvblRpbWVDb25maWdVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MQVlFUl9GSUxURVJFRF9JVEVNU19DSEFOR0VdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxheWVyRmlsdGVyZWRJdGVtc0NoYW5nZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLldNU19GRUFUVVJFX0lORk9dOiB2aXNTdGF0ZVVwZGF0ZXJzLndtc0ZlYXR1cmVJbmZvVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU1lOQ19USU1FX0ZJTFRFUl9XSVRIX0xBWUVSX1RJTUVMSU5FXTpcbiAgICB2aXNTdGF0ZVVwZGF0ZXJzLnN5bmNUaW1lRmlsdGVyV2l0aExheWVyVGltZWxpbmVVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TWU5DX1RJTUVfRklMVEVSX1RJTUVMSU5FX01PREVdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldFRpbWVGaWx0ZXJUaW1lbGluZU1vZGVVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5BRERfRUZGRUNUXTogdmlzU3RhdGVVcGRhdGVycy5hZGRFZmZlY3RVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRU9SREVSX0VGRkVDVF06IHZpc1N0YXRlVXBkYXRlcnMucmVvcmRlckVmZmVjdFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlJFTU9WRV9FRkZFQ1RdOiB2aXNTdGF0ZVVwZGF0ZXJzLnJlbW92ZUVmZmVjdFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlVQREFURV9FRkZFQ1RdOiB2aXNTdGF0ZVVwZGF0ZXJzLnVwZGF0ZUVmZmVjdFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkFERF9BTk5PVEFUSU9OXTogdmlzU3RhdGVVcGRhdGVycy5hZGRBbm5vdGF0aW9uVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuUkVNT1ZFX0FOTk9UQVRJT05dOiB2aXNTdGF0ZVVwZGF0ZXJzLnJlbW92ZUFubm90YXRpb25VcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5VUERBVEVfQU5OT1RBVElPTl06IHZpc1N0YXRlVXBkYXRlcnMudXBkYXRlQW5ub3RhdGlvblVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkRVUExJQ0FURV9BTk5PVEFUSU9OXTogdmlzU3RhdGVVcGRhdGVycy5kdXBsaWNhdGVBbm5vdGF0aW9uVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0VUX1NFTEVDVEVEX0FOTk9UQVRJT05dOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldFNlbGVjdGVkQW5ub3RhdGlvblVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkNSRUFURV9ORVdfREFUQVNFVF9TVUNDRVNTXTogdmlzU3RhdGVVcGRhdGVycy5jcmVhdGVOZXdEYXRhc2V0U3VjY2Vzc1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9MT0FESU5HX0lORElDQVRPUl06IHZpc1N0YXRlVXBkYXRlcnMuc2V0TG9hZGluZ0luZGljYXRvclVwZGF0ZXJcbn07XG5cbi8vIGNvbnN0cnVjdCB2aXMtc3RhdGUgcmVkdWNlclxuZXhwb3J0IGNvbnN0IHZpc1N0YXRlUmVkdWNlckZhY3RvcnkgPSAoaW5pdGlhbFN0YXRlID0ge30pID0+XG4gIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgaGFuZGxlQWN0aW9ucyhhY3Rpb25IYW5kbGVyLCB7XG4gICAgLi4udmlzU3RhdGVVcGRhdGVycy5JTklUSUFMX1ZJU19TVEFURSxcbiAgICAuLi5pbml0aWFsU3RhdGUsXG4gICAgaW5pdGlhbFN0YXRlXG4gIH0pO1xuXG5leHBv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
@@ -14,7 +14,7 @@ export declare function findFieldsToShow({ fields, id, maxDefaultTooltips }: {
14
14
  id: string;
15
15
  maxDefaultTooltips: number;
16
16
  }): {
17
- [key: string]: string[];
17
+ [key: string]: TooltipField[];
18
18
  };
19
19
  export declare function getTooltipDisplayDeltaValue({ field, value, primaryValue, compareType }: {
20
20
  field: Field;
@@ -1,6 +1,6 @@
1
1
  import { Layer as DeckLayer } from '@deck.gl/core';
2
2
  type DeckLayerProps = any;
3
- import { Field, LayerVisConfig, TooltipField, CompareType, SplitMapLayers, Editor, Feature, FeatureSelectionContext, BindedLayerCallbacks, LayerCallbacks, Viewport } from '@kepler.gl/types';
3
+ import { Field, LayerVisConfig, TooltipField, CompareType, SplitMapLayers, Editor, Feature, FeatureSelectionContext, BindedLayerCallbacks, LayerCallbacks, Viewport, LayerOrderGroup, LayerOrder, LayerOrderEntry, FlatLayerOrder, LayerOrderHierarchy } from '@kepler.gl/types';
4
4
  import { Layer, LayerClassesType } from '@kepler.gl/layers';
5
5
  import KeplerTable from '@kepler.gl/table';
6
6
  import { VisState } from '@kepler.gl/schemas';
@@ -18,11 +18,11 @@ export type AggregationLayerHoverData = {
18
18
  }>;
19
19
  };
20
20
  export type LayerHoverProp = {
21
- data: DataRow | AggregationLayerHoverData | null;
21
+ data: DataRow | AggregationLayerHoverData | any[] | null;
22
22
  fields: Field[];
23
23
  fieldsToShow: TooltipField[];
24
24
  layer: Layer;
25
- primaryData?: DataRow | AggregationLayerHoverData | null;
25
+ primaryData?: DataRow | AggregationLayerHoverData | any[] | null;
26
26
  compareType?: CompareType;
27
27
  currentTime?: VisState['animationConfig']['currentTime'];
28
28
  };
@@ -99,9 +99,27 @@ export declare function computeDeckLayers({ visState, mapState, mapStyle }: any,
99
99
  export declare function getLayerOrderFromLayers<T extends {
100
100
  id: string;
101
101
  }>(layers: T[]): string[];
102
+ export declare function getNewLayerGroup(props?: Partial<LayerOrderGroup>): LayerOrderGroup;
103
+ export declare function addLayerOrGroupToLayerOrder(layerOrder: LayerOrder, element: LayerOrderEntry, atIndex?: number): LayerOrder;
104
+ export declare function removeElementFromLayerOrder(layerOrder: LayerOrder, element: LayerOrderEntry): LayerOrder;
105
+ export declare function getLayerGroupFromLayerOrder(layerOrder: LayerOrder, layerGroupId: string): LayerOrderGroup | undefined;
106
+ /**
107
+ * Find the parent group that contains a given layer ID.
108
+ * Returns undefined if the layer is at the root level.
109
+ */
110
+ export declare function findParentGroupForLayer(layerOrder: LayerOrder, layerId: string): LayerOrderGroup | undefined;
111
+ export declare function getIndexFromLayerEntryId(layerOrder: LayerOrder, layerEntryId: string): number;
112
+ export declare function isLayerPresentInLayerOrder(layerOrder: LayerOrder, layerId: string): boolean;
113
+ export declare function replaceLayerEntryInLayerOrder(layerOrder: LayerOrder, oldEntry: LayerOrderEntry, newEntry: LayerOrderEntry): LayerOrder;
114
+ export declare function updateLayerGroupInLayerOrder(layerOrder: LayerOrder, newLayerGroup: LayerOrderGroup): LayerOrder;
115
+ export declare function getFlatLayerOrder(layerOrder: LayerOrder): FlatLayerOrder;
116
+ export declare function buildLayerOrderHierarchy(layerOrder: LayerOrder, layers?: Layer[] | readonly Layer[]): LayerOrderHierarchy;
117
+ export declare function removeGhostLayerFromLayerOrder(layerOrder: LayerOrder, layers: {
118
+ id: string;
119
+ }[]): LayerOrder;
102
120
  export declare function reorderLayerOrder(layerOrder: VisState['layerOrder'], originLayerId: string, destinationLayerId: string): VisState['layerOrder'];
103
- export declare function addLayerToLayerOrder(layerOrder: VisState['layerOrder'], layerId: string): string[];
104
- export declare function getLayerHoverPropValue(data: DataRow | AggregationLayerHoverData | null | undefined, fieldIndex: number): any;
121
+ export declare function addLayerToLayerOrder(layerOrder: VisState['layerOrder'], layerId: string): LayerOrder;
122
+ export declare function getLayerHoverPropValue(data: DataRow | AggregationLayerHoverData | any[] | null | undefined, fieldIndex: number): any;
105
123
  /** Checks if any Deck layers are in the process of loading. */
106
124
  export declare function areAnyDeckLayersLoading(layers: DeckLayer[]): boolean;
107
125
  export {};
@@ -1,5 +1,5 @@
1
1
  import { MapStateActions, ReceiveMapConfigPayload, ActionTypes } from '@kepler.gl/actions';
2
- import { MapState, Bounds, Viewport } from '@kepler.gl/types';
2
+ import { MapState, Viewport } from '@kepler.gl/types';
3
3
  /**
4
4
  * Default initial `mapState`
5
5
  * @memberof mapStateUpdaters
@@ -41,6 +41,18 @@ export declare const fitBoundsUpdater: (state: MapState, action: MapStateActions
41
41
  * @public
42
42
  */
43
43
  export declare const togglePerspectiveUpdater: (state: MapState) => MapState;
44
+ /**
45
+ * Set map view mode (2D, 3D, Globe)
46
+ * @memberof mapStateUpdaters
47
+ * @public
48
+ */
49
+ export declare const setMapViewModeUpdater: (state: MapState, action: MapStateActions.SetMapViewModeUpdaterAction) => MapState;
50
+ /**
51
+ * Update globe config
52
+ * @memberof mapStateUpdaters
53
+ * @public
54
+ */
55
+ export declare const globeConfigChangeUpdater: (state: MapState, action: MapStateActions.GlobeConfigChangeUpdaterAction) => MapState;
44
56
  /**
45
57
  * reset mapState to initial State
46
58
  * @memberof mapStateUpdaters
@@ -62,31 +74,24 @@ export declare const receiveMapConfigUpdater: (state: MapState, { payload: { con
62
74
  * @public
63
75
  */
64
76
  export declare const toggleSplitMapUpdater: (state: MapState) => MapState;
77
+ /**
78
+ * Set the map split mode (single, dual, or swipe)
79
+ * @memberof mapStateUpdaters
80
+ * @public
81
+ */
82
+ export declare const setMapSplitModeUpdater: (state: MapState, action: MapStateActions.SetMapSplitModeUpdaterAction) => MapState;
83
+ /**
84
+ * Set the swipe compare percentage
85
+ * @memberof mapStateUpdaters
86
+ * @public
87
+ */
88
+ export declare const setSwipeComparePercentageUpdater: (state: MapState, action: MapStateActions.SetSwipeComparePercentageUpdaterAction) => MapState;
65
89
  /**
66
90
  * Toggle between locked and unlocked split viewports
67
91
  * @memberof mapStateUpdaters
68
92
  * @public
69
93
  */
70
- export declare const toggleSplitMapViewportUpdater: (state: MapState, action: MapStateActions.ToggleSplitMapViewportUpdaterAction) => {
71
- isViewportSynced: boolean;
72
- isZoomLocked: boolean;
73
- pitch: number;
74
- bearing: number;
75
- latitude: number;
76
- longitude: number;
77
- zoom: number;
78
- dragRotate: boolean;
79
- width: number;
80
- height: number;
81
- minZoom?: number;
82
- maxZoom?: number;
83
- maxPitch?: number;
84
- maxBounds?: Bounds;
85
- initialState?: any;
86
- scale?: number;
87
- isSplit: boolean;
88
- splitMapViewports: Viewport[];
89
- };
94
+ export declare const toggleSplitMapViewportUpdater: (state: MapState, action: MapStateActions.ToggleSplitMapViewportUpdaterAction) => MapState;
90
95
  export declare function getMapDimForSplitMap(isSplit: any, state: any): {
91
96
  width?: undefined;
92
97
  } | {
@@ -1,79 +1,3 @@
1
- export declare const mapStateReducerFactory: (initialState?: {}) => import("redux-actions").ReduxCompatibleReducer<{
2
- isViewportSynced: boolean;
3
- isZoomLocked: boolean;
4
- pitch: number;
5
- bearing: number;
6
- latitude: number;
7
- longitude: number;
8
- zoom: number;
9
- dragRotate: boolean;
10
- width: number;
11
- height: number;
12
- minZoom?: number;
13
- maxZoom?: number;
14
- maxPitch?: number;
15
- maxBounds?: import("@kepler.gl/types").Bounds;
16
- initialState?: any;
17
- scale?: number;
18
- isSplit: boolean;
19
- splitMapViewports: import("@kepler.gl/types").Viewport[];
20
- }, {
21
- isViewportSynced: boolean;
22
- isZoomLocked: boolean;
23
- pitch: number;
24
- bearing: number;
25
- latitude: number;
26
- longitude: number;
27
- zoom: number;
28
- dragRotate: boolean;
29
- width: number;
30
- height: number;
31
- minZoom?: number;
32
- maxZoom?: number;
33
- maxPitch?: number;
34
- maxBounds?: import("@kepler.gl/types").Bounds;
35
- initialState?: any;
36
- scale?: number;
37
- isSplit: boolean;
38
- splitMapViewports: import("@kepler.gl/types").Viewport[];
39
- }>;
40
- declare const _default: import("redux-actions").ReduxCompatibleReducer<{
41
- isViewportSynced: boolean;
42
- isZoomLocked: boolean;
43
- pitch: number;
44
- bearing: number;
45
- latitude: number;
46
- longitude: number;
47
- zoom: number;
48
- dragRotate: boolean;
49
- width: number;
50
- height: number;
51
- minZoom?: number;
52
- maxZoom?: number;
53
- maxPitch?: number;
54
- maxBounds?: import("@kepler.gl/types").Bounds;
55
- initialState?: any;
56
- scale?: number;
57
- isSplit: boolean;
58
- splitMapViewports: import("@kepler.gl/types").Viewport[];
59
- }, {
60
- isViewportSynced: boolean;
61
- isZoomLocked: boolean;
62
- pitch: number;
63
- bearing: number;
64
- latitude: number;
65
- longitude: number;
66
- zoom: number;
67
- dragRotate: boolean;
68
- width: number;
69
- height: number;
70
- minZoom?: number;
71
- maxZoom?: number;
72
- maxPitch?: number;
73
- maxBounds?: import("@kepler.gl/types").Bounds;
74
- initialState?: any;
75
- scale?: number;
76
- isSplit: boolean;
77
- splitMapViewports: import("@kepler.gl/types").Viewport[];
78
- }>;
1
+ export declare const mapStateReducerFactory: (initialState?: {}) => import("redux-actions").ReduxCompatibleReducer<import("@kepler.gl/types").MapState, import("@kepler.gl/types").MapState>;
2
+ declare const _default: import("redux-actions").ReduxCompatibleReducer<import("@kepler.gl/types").MapState, import("@kepler.gl/types").MapState>;
79
3
  export default _default;
@@ -65,9 +65,7 @@ export declare function getMapStyles({ styleType, visibleLayerGroups, topLayerGr
65
65
  editable?: undefined;
66
66
  } | {
67
67
  bottomMapStyle: any;
68
- topMapStyle: {
69
- layers: any;
70
- } | null;
68
+ topMapStyle: object | null;
71
69
  editable: number;
72
70
  };
73
71
  /**
@@ -1,8 +1,8 @@
1
1
  import { Middleware } from 'redux';
2
2
  /**
3
3
  * This method is used to enhance redux middleware and provide
4
- * functionality to support react-palm
4
+ * functionality to support the kepler.gl task system
5
5
  * @param middlewares current redux middlewares
6
- * @returns {*[]} the original list of middlewares plus the react-palm middleware
6
+ * @returns {*[]} the original list of middlewares plus the task middleware
7
7
  */
8
8
  export declare function enhanceReduxMiddleware(middlewares?: Middleware[]): Middleware[];
package/dist/root.d.ts CHANGED
@@ -10,7 +10,7 @@ export declare function provideInitialState(initialState: any, extraReducers?: a
10
10
  * @example
11
11
  * import keplerGlReducer from '@kepler.gl/reducers';
12
12
  * import {createStore, combineReducers, applyMiddleware, compose} from 'redux';
13
- * import {taskMiddleware} from 'react-palm/tasks';
13
+ * import {taskMiddleware} from '@kepler.gl/tasks';
14
14
  *
15
15
  * const initialState = {};
16
16
  * const reducers = combineReducers({
@@ -11,7 +11,8 @@ export declare const DEFAULT_MODAL = "addData";
11
11
  * @property toggle3d Default: `{show: true}`
12
12
  * @property splitMap Default: `{show: true}`
13
13
  * @property mapDraw Default: `{show: true, active: false}`
14
- * @property mapLocale Default: `{show: false, active: false}`
14
+ * @property mapLocale Default: `{show: true, active: false}`
15
+ * @property mapTheme Default: `{show: true, active: false}`
15
16
  * @public
16
17
  */
17
18
  export declare const DEFAULT_MAP_CONTROLS: MapControls;
@@ -79,7 +80,7 @@ export declare const DEFAULT_EXPORT_MAP: ExportMap;
79
80
  * @property mediaType Default: `'webm'`
80
81
  * @property cameraPreset Default: `'None'`
81
82
  * @property fileName Default: `'kepler.gl'`
82
- * @property resolution Default: `''`
83
+ * @property resolution Default: `'1280x720'`
83
84
  * @property durationMs Default: `1000`
84
85
  * @public
85
86
  */
@@ -100,6 +101,8 @@ export declare const DEFAULT_EXPORT_VIDEO: ExportVideo;
100
101
  * @property notifications Default: `[]`
101
102
  * @property notifications Default: `[]`
102
103
  * @property loadFiles
104
+ * @property locale Default: `'en'`
105
+ * @property theme Default: `'dark'`
103
106
  * @property isSidePanelCloseButtonVisible Default: `true`
104
107
  * @public
105
108
  */
@@ -155,6 +158,7 @@ export declare const hideExportDropdownUpdater: (state: UiState) => UiState;
155
158
  * @public
156
159
  */
157
160
  export declare const toggleSidePanelCloseButtonUpdater: (state: UiState, { payload: { show } }: UIStateActions.ToggleSidePanelCloseButtonUpdaterAction) => UiState;
161
+ export declare const MUTUALLY_EXCLUSIVE_MAP_CONTROLS: string[];
158
162
  /**
159
163
  * Toggle active map control panel
160
164
  * @memberof uiStateUpdaters
@@ -381,6 +385,17 @@ export declare const showDatasetTableUpdater: (state: UiState) => UiState;
381
385
  * @public
382
386
  */
383
387
  export declare const setLocaleUpdater: (state: UiState, { payload: { locale } }: UIStateActions.SetLocaleUpdaterAction) => UiState;
388
+ /**
389
+ * Set the theme of the UI
390
+ * @memberof uiStateUpdaters
391
+ * @param state `uiState`
392
+ * @param action
393
+ * @param action.payload
394
+ * @param action.payload.theme theme
395
+ * @returns nextState
396
+ * @public
397
+ */
398
+ export declare const setThemeUpdater: (state: UiState, { payload: { theme } }: UIStateActions.SetThemeUpdaterAction) => UiState;
384
399
  /**
385
400
  * Toggle layer panel list view
386
401
  * @memberof uiStateUpdaters
@@ -38,6 +38,13 @@ export declare function insertLayerAtRightOrder(currentLayers: any, layersToInse
38
38
  newLayers: any;
39
39
  newLayerOrder: any;
40
40
  };
41
+ /**
42
+ * Merge saved layerOrder with current state to restore layer groups.
43
+ * Called after layers have been merged. If the saved config contains a layerOrder
44
+ * with groups, this replaces the flat layerOrder with the saved hierarchical one,
45
+ * filtering out any layer IDs that don't exist in the current state.
46
+ */
47
+ export declare function mergeLayerOrder<S extends VisState>(state: S, savedLayerOrder?: any[], fromConfig?: boolean): S;
41
48
  /**
42
49
  * Merge interactions with saved config
43
50
  *
@@ -4,16 +4,99 @@ interface LoaderInfo {
4
4
  }
5
5
  export declare const getFileFormatNames: ((state: {
6
6
  loaders: LoaderInfo[];
7
- }) => string[]) & import("reselect").OutputSelectorFields<(args_0: LoaderInfo[]) => string[], {
8
- clearCache: () => void;
9
- }> & {
7
+ }) => string[]) & {
10
8
  clearCache: () => void;
9
+ resultsCount: () => number;
10
+ resetResultsCount: () => void;
11
+ } & {
12
+ resultFunc: (resultFuncArgs_0: LoaderInfo[], resultFuncArgs_1: import("@kepler.gl/utils").KeplerAcceptedFileFormat[] | null) => string[];
13
+ memoizedResultFunc: ((resultFuncArgs_0: LoaderInfo[], resultFuncArgs_1: import("@kepler.gl/utils").KeplerAcceptedFileFormat[] | null) => string[]) & {
14
+ clearCache: () => void;
15
+ resultsCount: () => number;
16
+ resetResultsCount: () => void;
17
+ };
18
+ lastResult: () => string[];
19
+ dependencies: [(state: {
20
+ loaders: LoaderInfo[];
21
+ }) => LoaderInfo[], () => import("@kepler.gl/utils").KeplerAcceptedFileFormat[] | null];
22
+ recomputations: () => number;
23
+ resetRecomputations: () => void;
24
+ dependencyRecomputations: () => number;
25
+ resetDependencyRecomputations: () => void;
26
+ } & {
27
+ argsMemoize: typeof import("reselect").weakMapMemoize;
28
+ memoize: typeof import("reselect").weakMapMemoize;
11
29
  };
12
30
  export declare const getFileExtensions: ((state: {
13
31
  loaders: LoaderInfo[];
14
- }) => string[]) & import("reselect").OutputSelectorFields<(args_0: LoaderInfo[]) => string[], {
32
+ }) => string[]) & {
15
33
  clearCache: () => void;
16
- }> & {
34
+ resultsCount: () => number;
35
+ resetResultsCount: () => void;
36
+ } & {
37
+ resultFunc: (resultFuncArgs_0: LoaderInfo[], resultFuncArgs_1: import("@kepler.gl/utils").KeplerAcceptedFileFormat[] | null) => string[];
38
+ memoizedResultFunc: ((resultFuncArgs_0: LoaderInfo[], resultFuncArgs_1: import("@kepler.gl/utils").KeplerAcceptedFileFormat[] | null) => string[]) & {
39
+ clearCache: () => void;
40
+ resultsCount: () => number;
41
+ resetResultsCount: () => void;
42
+ };
43
+ lastResult: () => string[];
44
+ dependencies: [(state: {
45
+ loaders: LoaderInfo[];
46
+ }) => LoaderInfo[], () => import("@kepler.gl/utils").KeplerAcceptedFileFormat[] | null];
47
+ recomputations: () => number;
48
+ resetRecomputations: () => void;
49
+ dependencyRecomputations: () => number;
50
+ resetDependencyRecomputations: () => void;
51
+ } & {
52
+ argsMemoize: typeof import("reselect").weakMapMemoize;
53
+ memoize: typeof import("reselect").weakMapMemoize;
54
+ };
55
+ export declare const getDisplayedFileExtensions: ((state: {
56
+ loaders: LoaderInfo[];
57
+ }) => string[]) & {
17
58
  clearCache: () => void;
59
+ resultsCount: () => number;
60
+ resetResultsCount: () => void;
61
+ } & {
62
+ resultFunc: (resultFuncArgs_0: string[]) => string[];
63
+ memoizedResultFunc: ((resultFuncArgs_0: string[]) => string[]) & {
64
+ clearCache: () => void;
65
+ resultsCount: () => number;
66
+ resetResultsCount: () => void;
67
+ };
68
+ lastResult: () => string[];
69
+ dependencies: [((state: {
70
+ loaders: LoaderInfo[];
71
+ }) => string[]) & {
72
+ clearCache: () => void;
73
+ resultsCount: () => number;
74
+ resetResultsCount: () => void;
75
+ } & {
76
+ resultFunc: (resultFuncArgs_0: LoaderInfo[], resultFuncArgs_1: import("@kepler.gl/utils").KeplerAcceptedFileFormat[] | null) => string[];
77
+ memoizedResultFunc: ((resultFuncArgs_0: LoaderInfo[], resultFuncArgs_1: import("@kepler.gl/utils").KeplerAcceptedFileFormat[] | null) => string[]) & {
78
+ clearCache: () => void;
79
+ resultsCount: () => number;
80
+ resetResultsCount: () => void;
81
+ };
82
+ lastResult: () => string[];
83
+ dependencies: [(state: {
84
+ loaders: LoaderInfo[];
85
+ }) => LoaderInfo[], () => import("@kepler.gl/utils").KeplerAcceptedFileFormat[] | null];
86
+ recomputations: () => number;
87
+ resetRecomputations: () => void;
88
+ dependencyRecomputations: () => number;
89
+ resetDependencyRecomputations: () => void;
90
+ } & {
91
+ argsMemoize: typeof import("reselect").weakMapMemoize;
92
+ memoize: typeof import("reselect").weakMapMemoize;
93
+ }];
94
+ recomputations: () => number;
95
+ resetRecomputations: () => void;
96
+ dependencyRecomputations: () => number;
97
+ resetDependencyRecomputations: () => void;
98
+ } & {
99
+ argsMemoize: typeof import("reselect").weakMapMemoize;
100
+ memoize: typeof import("reselect").weakMapMemoize;
18
101
  };
19
102
  export {};