@kepler.gl/reducers 3.0.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.
Files changed (47) hide show
  1. package/dist/combined-updaters.d.ts +50 -0
  2. package/dist/combined-updaters.js +212 -0
  3. package/dist/composer-helpers.d.ts +21 -0
  4. package/dist/composer-helpers.js +133 -0
  5. package/dist/composers.d.ts +12 -0
  6. package/dist/composers.js +47 -0
  7. package/dist/core.d.ts +64 -0
  8. package/dist/core.js +149 -0
  9. package/dist/data-utils.d.ts +8 -0
  10. package/dist/data-utils.js +60 -0
  11. package/dist/export-utils.d.ts +21 -0
  12. package/dist/export-utils.js +124 -0
  13. package/dist/index.d.ts +36 -0
  14. package/dist/index.js +372 -0
  15. package/dist/interaction-utils.d.ts +35 -0
  16. package/dist/interaction-utils.js +149 -0
  17. package/dist/layer-utils.d.ts +66 -0
  18. package/dist/layer-utils.js +289 -0
  19. package/dist/map-state-updaters.d.ts +62 -0
  20. package/dist/map-state-updaters.js +250 -0
  21. package/dist/map-state.d.ts +3 -0
  22. package/dist/map-state.js +67 -0
  23. package/dist/map-style-updaters.d.ts +173 -0
  24. package/dist/map-style-updaters.js +538 -0
  25. package/dist/map-style.d.ts +4 -0
  26. package/dist/map-style.js +66 -0
  27. package/dist/middleware.d.ts +8 -0
  28. package/dist/middleware.js +46 -0
  29. package/dist/provider-state-updaters.d.ts +42 -0
  30. package/dist/provider-state-updaters.js +512 -0
  31. package/dist/provider-state.d.ts +4 -0
  32. package/dist/provider-state.js +66 -0
  33. package/dist/root.d.ts +31 -0
  34. package/dist/root.js +235 -0
  35. package/dist/ui-state-updaters.d.ts +355 -0
  36. package/dist/ui-state-updaters.js +866 -0
  37. package/dist/ui-state.d.ts +3 -0
  38. package/dist/ui-state.js +68 -0
  39. package/dist/vis-state-merger.d.ts +102 -0
  40. package/dist/vis-state-merger.js +635 -0
  41. package/dist/vis-state-selectors.d.ts +2 -0
  42. package/dist/vis-state-selectors.js +53 -0
  43. package/dist/vis-state-updaters.d.ts +419 -0
  44. package/dist/vis-state-updaters.js +2472 -0
  45. package/dist/vis-state.d.ts +3 -0
  46. package/dist/vis-state.js +66 -0
  47. package/package.json +83 -0
@@ -0,0 +1,250 @@
1
+ // Copyright (c) 2022 Uber Technologies, Inc.
2
+ //
3
+ // Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ // of this software and associated documentation files (the "Software"), to deal
5
+ // in the Software without restriction, including without limitation the rights
6
+ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ // copies of the Software, and to permit persons to whom the Software is
8
+ // furnished to do so, subject to the following conditions:
9
+ //
10
+ // The above copyright notice and this permission notice shall be included in
11
+ // all copies or substantial portions of the Software.
12
+ //
13
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ // THE SOFTWARE.
20
+
21
+ "use strict";
22
+
23
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
24
+
25
+ Object.defineProperty(exports, "__esModule", {
26
+ value: true
27
+ });
28
+ exports.getMapDimForSplitMap = getMapDimForSplitMap;
29
+ exports.toggleSplitMapUpdater = exports.receiveMapConfigUpdater = exports.resetMapConfigUpdater = exports.togglePerspectiveUpdater = exports.fitBoundsUpdater = exports.updateMapUpdater = exports.INITIAL_MAP_STATE = void 0;
30
+
31
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
32
+
33
+ var _utils = require("@kepler.gl/utils");
34
+
35
+ 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; }
36
+
37
+ 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; }
38
+
39
+ /**
40
+ * Updaters for `mapState` reducer. Can be used in your root reducer to directly modify kepler.gl's state.
41
+ * Read more about [Using updaters](../advanced-usage/using-updaters.md)
42
+ * @public
43
+ * @example
44
+ *
45
+ * import keplerGlReducer, {mapStateUpdaters} from 'kepler.gl/reducers';
46
+ * // Root Reducer
47
+ * const reducers = combineReducers({
48
+ * keplerGl: keplerGlReducer,
49
+ * app: appReducer
50
+ * });
51
+ *
52
+ * const composedReducer = (state, action) => {
53
+ * switch (action.type) {
54
+ * // click button to close side panel
55
+ * case 'CLICK_BUTTON':
56
+ * return {
57
+ * ...state,
58
+ * keplerGl: {
59
+ * ...state.keplerGl,
60
+ * foo: {
61
+ * ...state.keplerGl.foo,
62
+ * mapState: mapStateUpdaters.fitBoundsUpdater(
63
+ * mapState, {payload: [127.34, 31.09, 127.56, 31.59]]}
64
+ * )
65
+ * }
66
+ * }
67
+ * };
68
+ * }
69
+ * return reducers(state, action);
70
+ * };
71
+ *
72
+ * export default composedReducer;
73
+ */
74
+
75
+ /* eslint-disable no-unused-vars */
76
+ // @ts-ignore
77
+ var mapStateUpdaters = null;
78
+ /* eslint-enable no-unused-vars */
79
+
80
+ /**
81
+ * Default initial `mapState`
82
+ * @memberof mapStateUpdaters
83
+ * @constant
84
+ * @property pitch Default: `0`
85
+ * @property bearing Default: `0`
86
+ * @property latitude Default: `37.75043`
87
+ * @property longitude Default: `-122.34679`
88
+ * @property zoom Default: `9`
89
+ * @property dragRotate Default: `false`
90
+ * @property width Default: `800`
91
+ * @property height Default: `800`
92
+ * @property isSplit Default: `false`
93
+ * @public
94
+ */
95
+
96
+ var INITIAL_MAP_STATE = {
97
+ pitch: 0,
98
+ bearing: 0,
99
+ latitude: 37.75043,
100
+ longitude: -122.34679,
101
+ zoom: 9,
102
+ dragRotate: false,
103
+ width: 800,
104
+ height: 800,
105
+ isSplit: false
106
+ };
107
+ /* Updaters */
108
+
109
+ /**
110
+ * Update map viewport
111
+ * @memberof mapStateUpdaters
112
+ * @public
113
+ */
114
+
115
+ exports.INITIAL_MAP_STATE = INITIAL_MAP_STATE;
116
+
117
+ var updateMapUpdater = function updateMapUpdater(state, action) {
118
+ return _objectSpread(_objectSpread({}, state), action.payload || {});
119
+ };
120
+ /**
121
+ * Fit map viewport to bounds
122
+ * @memberof mapStateUpdaters
123
+ * @public
124
+ */
125
+
126
+
127
+ exports.updateMapUpdater = updateMapUpdater;
128
+
129
+ var fitBoundsUpdater = function fitBoundsUpdater(state, action) {
130
+ var centerAndZoom = (0, _utils.getCenterAndZoomFromBounds)(action.payload, {
131
+ width: state.width,
132
+ height: state.height
133
+ });
134
+
135
+ if (!centerAndZoom) {
136
+ // bounds is invalid
137
+ return state;
138
+ }
139
+
140
+ return _objectSpread(_objectSpread({}, state), {}, {
141
+ latitude: centerAndZoom.center[1],
142
+ longitude: centerAndZoom.center[0]
143
+ }, Number.isFinite(centerAndZoom.zoom) ? {
144
+ zoom: centerAndZoom.zoom
145
+ } : {});
146
+ };
147
+ /**
148
+ * Toggle between 3d and 2d map.
149
+ * @memberof mapStateUpdaters
150
+ * @public
151
+ */
152
+
153
+
154
+ exports.fitBoundsUpdater = fitBoundsUpdater;
155
+
156
+ var togglePerspectiveUpdater = function togglePerspectiveUpdater(state, action) {
157
+ return _objectSpread(_objectSpread(_objectSpread({}, state), {
158
+ pitch: state.dragRotate ? 0 : 50,
159
+ bearing: state.dragRotate ? 0 : 24
160
+ }), {}, {
161
+ dragRotate: !state.dragRotate
162
+ });
163
+ };
164
+ /**
165
+ * reset mapState to initial State
166
+ * @memberof mapStateUpdaters
167
+ * @public
168
+ */
169
+
170
+
171
+ exports.togglePerspectiveUpdater = togglePerspectiveUpdater;
172
+
173
+ var resetMapConfigUpdater = function resetMapConfigUpdater(state) {
174
+ return _objectSpread(_objectSpread(_objectSpread({}, INITIAL_MAP_STATE), state.initialState), {}, {
175
+ initialState: state.initialState
176
+ });
177
+ }; // consider case where you have a split map and user wants to reset
178
+
179
+ /**
180
+ * Update `mapState` to propagate a new config
181
+ * @memberof mapStateUpdaters
182
+ * @public
183
+ */
184
+
185
+
186
+ exports.resetMapConfigUpdater = resetMapConfigUpdater;
187
+
188
+ var receiveMapConfigUpdater = function receiveMapConfigUpdater(state, _ref) {
189
+ var _ref$payload = _ref.payload,
190
+ _ref$payload$config = _ref$payload.config,
191
+ config = _ref$payload$config === void 0 ? {} : _ref$payload$config,
192
+ _ref$payload$options = _ref$payload.options,
193
+ options = _ref$payload$options === void 0 ? {} : _ref$payload$options,
194
+ _ref$payload$bounds = _ref$payload.bounds,
195
+ bounds = _ref$payload$bounds === void 0 ? null : _ref$payload$bounds;
196
+
197
+ var _ref2 = config || {},
198
+ mapState = _ref2.mapState; // merged received mapstate with previous state
199
+
200
+
201
+ var mergedState = _objectSpread(_objectSpread({}, state), mapState); // if center map
202
+ // center map will override mapState config
203
+
204
+
205
+ if (options.centerMap && bounds) {
206
+ mergedState = fitBoundsUpdater(mergedState, {
207
+ payload: bounds
208
+ });
209
+ }
210
+
211
+ return _objectSpread(_objectSpread({}, mergedState), getMapDimForSplitMap(mergedState.isSplit, state));
212
+ };
213
+ /**
214
+ * Toggle between one or split maps
215
+ * @memberof mapStateUpdaters
216
+ * @public
217
+ */
218
+
219
+
220
+ exports.receiveMapConfigUpdater = receiveMapConfigUpdater;
221
+
222
+ var toggleSplitMapUpdater = function toggleSplitMapUpdater(state, action) {
223
+ return _objectSpread(_objectSpread({}, state), {}, {
224
+ isSplit: !state.isSplit
225
+ }, getMapDimForSplitMap(!state.isSplit, state));
226
+ }; // Helpers
227
+
228
+
229
+ exports.toggleSplitMapUpdater = toggleSplitMapUpdater;
230
+
231
+ function getMapDimForSplitMap(isSplit, state) {
232
+ // cases:
233
+ // 1. state split: true - isSplit: true
234
+ // do nothing
235
+ // 2. state split: false - isSplit: false
236
+ // do nothing
237
+ if (state.isSplit === isSplit) {
238
+ return {};
239
+ }
240
+
241
+ var width = state.isSplit && !isSplit ? // 3. state split: true - isSplit: false
242
+ // double width
243
+ state.width * 2 : // 4. state split: false - isSplit: true
244
+ // split width
245
+ state.width / 2;
246
+ return {
247
+ width: width
248
+ };
249
+ }
250
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYXAtc3RhdGUtdXBkYXRlcnMudHMiXSwibmFtZXMiOlsibWFwU3RhdGVVcGRhdGVycyIsIklOSVRJQUxfTUFQX1NUQVRFIiwicGl0Y2giLCJiZWFyaW5nIiwibGF0aXR1ZGUiLCJsb25naXR1ZGUiLCJ6b29tIiwiZHJhZ1JvdGF0ZSIsIndpZHRoIiwiaGVpZ2h0IiwiaXNTcGxpdCIsInVwZGF0ZU1hcFVwZGF0ZXIiLCJzdGF0ZSIsImFjdGlvbiIsInBheWxvYWQiLCJmaXRCb3VuZHNVcGRhdGVyIiwiY2VudGVyQW5kWm9vbSIsImNlbnRlciIsIk51bWJlciIsImlzRmluaXRlIiwidG9nZ2xlUGVyc3BlY3RpdmVVcGRhdGVyIiwicmVzZXRNYXBDb25maWdVcGRhdGVyIiwiaW5pdGlhbFN0YXRlIiwicmVjZWl2ZU1hcENvbmZpZ1VwZGF0ZXIiLCJjb25maWciLCJvcHRpb25zIiwiYm91bmRzIiwibWFwU3RhdGUiLCJtZXJnZWRTdGF0ZSIsImNlbnRlck1hcCIsImdldE1hcERpbUZvclNwbGl0TWFwIiwidG9nZ2xlU3BsaXRNYXBVcGRhdGVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFvQkE7Ozs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBLElBQU1BLGdCQUFnQixHQUFHLElBQXpCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNPLElBQU1DLGlCQUEyQixHQUFHO0FBQ3pDQyxFQUFBQSxLQUFLLEVBQUUsQ0FEa0M7QUFFekNDLEVB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QUFDQSxNQUFJRixPQUFPLENBQUNJLFNBQVIsSUFBcUJILE1BQXpCLEVBQWlDO0FBQy9CRSxJQUFBQSxXQUFXLEdBQUdiLGdCQUFnQixDQUFDYSxXQUFELEVBQWM7QUFDMUNkLE1BQUFBLE9BQU8sRUFBRVk7QUFEaUMsS0FBZCxDQUE5QjtBQUdEOztBQUVELHlDQUNLRSxXQURMLEdBR0tFLG9CQUFvQixDQUFDRixXQUFXLENBQUNsQixPQUFiLEVBQXNCRSxLQUF0QixDQUh6QjtBQUtELENBNUJNO0FBOEJQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7O0FBQ08sSUFBTW1CLHFCQUFxQixHQUFHLFNBQXhCQSxxQkFBd0IsQ0FDbkNuQixLQURtQyxFQUVuQ0MsTUFGbUM7QUFBQSx5Q0FJaENELEtBSmdDO0FBS25DRixJQUFBQSxPQUFPLEVBQUUsQ0FBQ0UsS0FBSyxDQUFDRjtBQUxtQixLQU1oQ29CLG9CQUFvQixDQUFDLENBQUNsQixLQUFLLENBQUNGLE9BQVIsRUFBaUJFLEtBQWpCLENBTlk7QUFBQSxDQUE5QixDLENBU1A7Ozs7O0FBQ08sU0FBU2tCLG9CQUFULENBQThCcEIsT0FBOUIsRUFBdUNFLEtBQXZDLEVBQThDO0FBQ25EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFJQSxLQUFLLENBQUNGLE9BQU4sS0FBa0JBLE9BQXRCLEVBQStCO0FBQzdCLFdBQU8sRUFBUDtBQUNEOztBQUVELE1BQU1GLEtBQUssR0FDVEksS0FBSyxDQUFDRixPQUFOLElBQWlCLENBQUNBLE9BQWxCLEdBQ0k7QUFDQTtBQUNBRSxFQUFBQSxLQUFLLENBQUNKLEtBQU4sR0FBYyxDQUhsQixHQUlJO0FBQ0E7QUFDQUksRUFBQUEsS0FBSyxDQUFDSixLQUFOLEdBQWMsQ0FQcEI7QUFTQSxTQUFPO0FBQ0xBLElBQUFBLEtBQUssRUFBTEE7QUFESyxHQUFQO0FBR0QiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQge2dldENlbnRlckFuZFpvb21Gcm9tQm91bmRzfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCB7TWFwU3RhdGVBY3Rpb25zLCBSZWNlaXZlTWFwQ29uZmlnUGF5bG9hZCwgQWN0aW9uVHlwZXN9IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5pbXBvcnQge01hcFN0YXRlfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcblxuLyoqXG4gKiBVcGRhdGVycyBmb3IgYG1hcFN0YXRlYCByZWR1Y2VyLiBDYW4gYmUgdXNlZCBpbiB5b3VyIHJvb3QgcmVkdWNlciB0byBkaXJlY3RseSBtb2RpZnkga2VwbGVyLmdsJ3Mgc3RhdGUuXG4gKiBSZWFkIG1vcmUgYWJvdXQgW1VzaW5nIHVwZGF0ZXJzXSguLi9hZHZhbmNlZC11c2FnZS91c2luZy11cGRhdGVycy5tZClcbiAqIEBwdWJsaWNcbiAqIEBleGFtcGxlXG4gKlxuICogaW1wb3J0IGtlcGxlckdsUmVkdWNlciwge21hcFN0YXRlVXBkYXRlcnN9IGZyb20gJ2tlcGxlci5nbC9yZWR1Y2Vycyc7XG4gKiAvLyBSb290IFJlZHVjZXJcbiAqIGNvbnN0IHJlZHVjZXJzID0gY29tYmluZVJlZHVjZXJzKHtcbiAqICBrZXBsZXJHbDoga2VwbGVyR2xSZWR1Y2VyLFxuICogIGFwcDogYXBwUmVkdWNlclxuICogfSk7XG4gKlxuICogY29uc3QgY29tcG9zZWRSZWR1Y2VyID0gKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAqICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XG4gKiAgICAvLyBjbGljayBidXR0b24gdG8gY2xvc2Ugc2lkZSBwYW5lbFxuICogICAgY2FzZSAnQ0xJQ0tfQlVUVE9OJzpcbiAqICAgICAgcmV0dXJuIHtcbiAqICAgICAgICAuLi5zdGF0ZSxcbiAqICAgICAgICBrZXBsZXJHbDoge1xuICogICAgICAgICAgLi4uc3RhdGUua2VwbGVyR2wsXG4gKiAgICAgICAgICBmb286IHtcbiAqICAgICAgICAgICAgIC4uLnN0YXRlLmtlcGxlckdsLmZvbyxcbiAqICAgICAgICAgICAgIG1hcFN0YXRlOiBtYXBTdGF0ZVVwZGF0ZXJzLmZpdEJvdW5kc1VwZGF0ZXIoXG4gKiAgICAgICAgICAgICAgIG1hcFN0YXRlLCB7cGF5bG9hZDogWzEyNy4zNCwgMzEuMDksIDEyNy41NiwgMzEuNTldXX1cbiAqICAgICAgICAgICAgIClcbiAqICAgICAgICAgIH1cbiAqICAgICAgICB9XG4gKiAgICAgIH07XG4gKiAgfVxuICogIHJldHVybiByZWR1Y2VycyhzdGF0ZSwgYWN0aW9uKTtcbiAqIH07XG4gKlxuICogZXhwb3J0IGRlZmF1bHQgY29tcG9zZWRSZWR1Y2VyO1xuICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby11bnVzZWQtdmFycyAqL1xuLy8gQHRzLWlnbm9yZVxuY29uc3QgbWFwU3RhdGVVcGRhdGVycyA9IG51bGw7XG4vKiBlc2xpbnQtZW5hYmxlIG5vLXVudXNlZC12YXJzICovXG5cbi8qKlxuICogRGVmYXVsdCBpbml0aWFsIGBtYXBTdGF0ZWBcbiAqIEBtZW1iZXJvZiBtYXBTdGF0ZVVwZGF0ZXJzXG4gKiBAY29uc3RhbnRcbiAqIEBwcm9wZXJ0eSBwaXRjaCBEZWZhdWx0OiBgMGBcbiAqIEBwcm9wZXJ0eSBiZWFyaW5nIERlZmF1bHQ6IGAwYFxuICogQHByb3BlcnR5IGxhdGl0dWRlIERlZmF1bHQ6IGAzNy43NTA0M2BcbiAqIEBwcm9wZXJ0eSBsb25naXR1ZGUgRGVmYXVsdDogYC0xMjIuMzQ2NzlgXG4gKiBAcHJvcGVydHkgem9vbSBEZWZhdWx0OiBgOWBcbiAqIEBwcm9wZXJ0eSBkcmFnUm90YXRlIERlZmF1bHQ6IGBmYWxzZWBcbiAqIEBwcm9wZXJ0eSB3aWR0aCBEZWZhdWx0OiBgODAwYFxuICogQHByb3BlcnR5IGhlaWdodCBEZWZhdWx0OiBgODAwYFxuICogQHByb3BlcnR5IGlzU3BsaXQgRGVmYXVsdDogYGZhbHNlYFxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgSU5JVElBTF9NQVBfU1RBVEU6IE1hcFN0YXRlID0ge1xuICBwaXRjaDogMCxcbiAgYmVhcmluZzogMCxcbiAgbGF0aXR1ZGU6IDM3Ljc1MDQzLFxuICBsb25naXR1ZGU6IC0xMjIuMzQ2NzksXG4gIHpvb206IDksXG4gIGRyYWdSb3RhdGU6IGZhbHNlLFxuICB3aWR0aDogODAwLFxuICBoZWlnaHQ6IDgwMCxcbiAgaXNTcGxpdDogZmFsc2Vcbn07XG5cbi8qIFVwZGF0ZXJzICovXG4vKipcbiAqIFVwZGF0ZSBtYXAgdmlld3BvcnRcbiAqIEBtZW1iZXJvZiBtYXBTdGF0ZVVwZGF0ZXJzXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCB1cGRhdGVNYXBVcGRhdGVyID0gKFxuICBzdGF0ZTogTWFwU3RhdGUsXG4gIGFjdGlvbjogTWFwU3RhdGVBY3Rpb25zLlVwZGF0ZU1hcFVwZGF0ZXJBY3Rpb25cbik6IE1hcFN0YXRlID0+ICh7XG4gIC4uLnN0YXRlLFxuICAuLi4oYWN0aW9uLnBheWxvYWQgfHwge30pXG59KTtcblxuLyoqXG4gKiBGaXQgbWFwIHZpZXdwb3J0IHRvIGJvdW5kc1xuICogQG1lbWJlcm9mIG1hcFN0YXRlVXBkYXRlcnNcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IGZpdEJvdW5kc1VwZGF0ZXIgPSAoXG4gIHN0YXRlOiBNYXBTdGF0ZSxcbiAgYWN0aW9uOiBNYXBTdGF0ZUFjdGlvbnMuRml0Qm91bmRzVXBkYXRlckFjdGlvblxuKTogTWFwU3RhdGUgPT4ge1xuICBjb25zdCBjZW50ZXJBbmRab29tID0gZ2V0Q2VudGVyQW5kWm9vbUZyb21Cb3VuZHMoYWN0aW9uLnBheWxvYWQsIHtcbiAgICB3aWR0aDogc3RhdGUud2lkdGgsXG4gICAgaGVpZ2h0OiBzdGF0ZS5oZWlnaHRcbiAgfSk7XG4gIGlmICghY2VudGVyQW5kWm9vbSkge1xuICAgIC8vIGJvdW5kcyBpcyBpbnZhbGlkXG4gICAgcmV0dXJuIHN0YXRlO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5zdGF0ZSxcbiAgICBsYXRpdHVkZTogY2VudGVyQW5kWm9vbS5jZW50ZXJbMV0sXG4gICAgbG9uZ2l0dWRlOiBjZW50ZXJBbmRab29tLmNlbnRlclswXSxcbiAgICAvLyBGb3IgbWFyZ2luYWwgb3IgaW52YWxpZCBib3VuZHMsIHpvb20gbWF5IGJlIE5hTi4gTWFrZSBzdXJlIHRvIHByb3ZpZGUgYSB2YWxpZCB2YWx1ZSBpbiBvcmRlclxuICAgIC8vIHRvIGF2b2lkIGNvcnJ1cHQgc3RhdGUgYW5kIHBvdGVudGlhbCBjcmFzaGVzIGFzIHpvb20gaXMgZXhwZWN0ZWQgdG8gYmUgYSBudW1iZXJcbiAgICAuLi4oTnVtYmVyLmlzRmluaXRlKGNlbnRlckFuZFpvb20uem9vbSkgPyB7em9vbTogY2VudGVyQW5kWm9vbS56b29tfSA6IHt9KVxuICB9O1xufTtcblxuLyoqXG4gKiBUb2dnbGUgYmV0d2VlbiAzZCBhbmQgMmQgbWFwLlxuICogQG1lbWJlcm9mIG1hcFN0YXRlVXBkYXRlcnNcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IHRvZ2dsZVBlcnNwZWN0aXZlVXBkYXRlciA9IChcbiAgc3RhdGU6IE1hcFN0YXRlLFxuICBhY3Rpb246IE1hcFN0YXRlQWN0aW9ucy5Ub2dnbGVQZXJzcGVjdGl2ZVVwZGF0ZXJBY3Rpb25cbik6IE1hcFN0YXRlID0+ICh7XG4gIC4uLnN0YXRlLFxuICAuLi57XG4gICAgcGl0Y2g6IHN0YXRlLmRyYWdSb3RhdGUgPyAwIDogNTAsXG4gICAgYmVhcmluZzogc3RhdGUuZHJhZ1JvdGF0ZSA/IDAgOiAyNFxuICB9LFxuICBkcmFnUm90YXRlOiAhc3RhdGUuZHJhZ1JvdGF0ZVxufSk7XG5cbi8qKlxuICogcmVzZXQgbWFwU3RhdGUgdG8gaW5pdGlhbCBTdGF0ZVxuICogQG1lbWJlcm9mIG1hcFN0YXRlVXBkYXRlcnNcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IHJlc2V0TWFwQ29uZmlnVXBkYXRlciA9IChzdGF0ZTogTWFwU3RhdGUpOiBNYXBTdGF0ZSA9PiAoe1xuICAuLi5JTklUSUFMX01BUF9TVEFURSxcbiAgLi4uc3RhdGUuaW5pdGlhbFN0YXRlLFxuICBpbml0aWFsU3RhdGU6IHN0YXRlLmluaXRpYWxTdGF0ZVxufSk7XG5cbi8vIGNvbnNpZGVyIGNhc2Ugd2hlcmUgeW91IGhhdmUgYSBzcGxpdCBtYXAgYW5kIHVzZXIgd2FudHMgdG8gcmVzZXRcbi8qKlxuICogVXBkYXRlIGBtYXBTdGF0ZWAgdG8gcHJvcGFnYXRlIGEgbmV3IGNvbmZpZ1xuICogQG1lbWJlcm9mIG1hcFN0YXRlVXBkYXRlcnNcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IHJlY2VpdmVNYXBDb25maWdVcGRhdGVyID0gKFxuICBzdGF0ZTogTWFwU3RhdGUsXG4gIHtcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgcGF5bG9hZDoge2NvbmZpZyA9IHt9LCBvcHRpb25zID0ge30sIGJvdW5kcyA9IG51bGx9XG4gIH06IHtcbiAgICB0eXBlPzogdHlwZW9mIEFjdGlvblR5cGVzLlJFQ0VJVkVfTUFQX0NPTkZJRztcbiAgICBwYXlsb2FkOiBSZWNlaXZlTWFwQ29uZmlnUGF5bG9hZDtcbiAgfVxuKTogTWFwU3RhdGUgPT4ge1xuICBjb25zdCB7bWFwU3RhdGV9ID0gY29uZmlnIHx8IHt9O1xuXG4gIC8vIG1lcmdlZCByZWNlaXZlZCBtYXBzdGF0ZSB3aXRoIHByZXZpb3VzIHN0YXRlXG4gIGxldCBtZXJnZWRTdGF0ZSA9IHsuLi5zdGF0ZSwgLi4ubWFwU3RhdGV9O1xuXG4gIC8vIGlmIGNlbnRlciBtYXBcbiAgLy8gY2VudGVyIG1hcCB3aWxsIG92ZXJyaWRlIG1hcFN0YXRlIGNvbmZpZ1xuICBpZiAob3B0aW9ucy5jZW50ZXJNYXAgJiYgYm91bmRzKSB7XG4gICAgbWVyZ2VkU3RhdGUgPSBmaXRCb3VuZHNVcGRhdGVyKG1lcmdlZFN0YXRlLCB7XG4gICAgICBwYXlsb2FkOiBib3VuZHNcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgLi4ubWVyZ2VkU3RhdGUsXG4gICAgLy8gdXBkYXRlIHdpZHRoIGlmIGBpc1NwbGl0YCBoYXMgY2hhbmdlZFxuICAgIC4uLmdldE1hcERpbUZvclNwbGl0TWFwKG1lcmdlZFN0YXRlLmlzU3BsaXQsIHN0YXRlKVxuICB9O1xufTtcblxuLyoqXG4gKiBUb2dnbGUgYmV0d2VlbiBvbmUgb3Igc3BsaXQgbWFwc1xuICogQG1lbWJlcm9mIG1hcFN0YXRlVXBkYXRlcnNcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IHRvZ2dsZVNwbGl0TWFwVXBkYXRlciA9IChcbiAgc3RhdGU6IE1hcFN0YXRlLFxuICBhY3Rpb246IE1hcFN0YXRlQWN0aW9ucy5Ub2dnbGVTcGxpdE1hcFVwZGF0ZXJBY3Rpb25cbik6IE1hcFN0YXRlID0+ICh7XG4gIC4uLnN0YXRlLFxuICBpc1NwbGl0OiAhc3RhdGUuaXNTcGxpdCxcbiAgLi4uZ2V0TWFwRGltRm9yU3BsaXRNYXAoIXN0YXRlLmlzU3BsaXQsIHN0YXRlKVxufSk7XG5cbi8vIEhlbHBlcnNcbmV4cG9ydCBmdW5jdGlvbiBnZXRNYXBEaW1Gb3JTcGxpdE1hcChpc1NwbGl0LCBzdGF0ZSkge1xuICAvLyBjYXNlczpcbiAgLy8gMS4gc3RhdGUgc3BsaXQ6IHRydWUgLSBpc1NwbGl0OiB0cnVlXG4gIC8vIGRvIG5vdGhpbmdcbiAgLy8gMi4gc3RhdGUgc3BsaXQ6IGZhbHNlIC0gaXNTcGxpdDogZmFsc2VcbiAgLy8gZG8gbm90aGluZ1xuICBpZiAoc3RhdGUuaXNTcGxpdCA9PT0gaXNTcGxpdCkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIGNvbnN0IHdpZHRoID1cbiAgICBzdGF0ZS5pc1NwbGl0ICYmICFpc1NwbGl0XG4gICAgICA/IC8vIDMuIHN0YXRlIHNwbGl0OiB0cnVlIC0gaXNTcGxpdDogZmFsc2VcbiAgICAgICAgLy8gZG91YmxlIHdpZHRoXG4gICAgICAgIHN0YXRlLndpZHRoICogMlxuICAgICAgOiAvLyA0LiBzdGF0ZSBzcGxpdDogZmFsc2UgLSBpc1NwbGl0OiB0cnVlXG4gICAgICAgIC8vIHNwbGl0IHdpZHRoXG4gICAgICAgIHN0YXRlLndpZHRoIC8gMjtcblxuICByZXR1cm4ge1xuICAgIHdpZHRoXG4gIH07XG59XG4iXX0=
@@ -0,0 +1,3 @@
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>;
3
+ export default _default;
@@ -0,0 +1,67 @@
1
+ // Copyright (c) 2022 Uber Technologies, Inc.
2
+ //
3
+ // Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ // of this software and associated documentation files (the "Software"), to deal
5
+ // in the Software without restriction, including without limitation the rights
6
+ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ // copies of the Software, and to permit persons to whom the Software is
8
+ // furnished to do so, subject to the following conditions:
9
+ //
10
+ // The above copyright notice and this permission notice shall be included in
11
+ // all copies or substantial portions of the Software.
12
+ //
13
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ // THE SOFTWARE.
20
+
21
+ "use strict";
22
+
23
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
24
+
25
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
26
+
27
+ Object.defineProperty(exports, "__esModule", {
28
+ value: true
29
+ });
30
+ exports["default"] = exports.mapStateReducerFactory = void 0;
31
+
32
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
33
+
34
+ var _reduxActions = require("redux-actions");
35
+
36
+ var _actions = require("@kepler.gl/actions");
37
+
38
+ var mapStateUpdaters = _interopRequireWildcard(require("./map-state-updaters"));
39
+
40
+ var _actionHandler;
41
+
42
+ 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; }
43
+
44
+ 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; }
45
+
46
+ /**
47
+ * Important: Do not rename `actionHandler` or the assignment pattern of property value.
48
+ * It is used to generate documentation
49
+ */
50
+ var actionHandler = (_actionHandler = {}, (0, _defineProperty2["default"])(_actionHandler, _actions.ActionTypes.UPDATE_MAP, mapStateUpdaters.updateMapUpdater), (0, _defineProperty2["default"])(_actionHandler, _actions.ActionTypes.FIT_BOUNDS, mapStateUpdaters.fitBoundsUpdater), (0, _defineProperty2["default"])(_actionHandler, _actions.ActionTypes.TOGGLE_PERSPECTIVE, mapStateUpdaters.togglePerspectiveUpdater), (0, _defineProperty2["default"])(_actionHandler, _actions.ActionTypes.RECEIVE_MAP_CONFIG, mapStateUpdaters.receiveMapConfigUpdater), (0, _defineProperty2["default"])(_actionHandler, _actions.ActionTypes.RESET_MAP_CONFIG, mapStateUpdaters.resetMapConfigUpdater), (0, _defineProperty2["default"])(_actionHandler, _actions.ActionTypes.TOGGLE_SPLIT_MAP, mapStateUpdaters.toggleSplitMapUpdater), _actionHandler);
51
+ /* Reducer */
52
+
53
+ var mapStateReducerFactory = function mapStateReducerFactory() {
54
+ var initialState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
55
+ return (// @ts-expect-error
56
+ (0, _reduxActions.handleActions)(actionHandler, _objectSpread(_objectSpread(_objectSpread({}, mapStateUpdaters.INITIAL_MAP_STATE), initialState), {}, {
57
+ initialState: initialState
58
+ }))
59
+ );
60
+ };
61
+
62
+ exports.mapStateReducerFactory = mapStateReducerFactory;
63
+
64
+ var _default = mapStateReducerFactory();
65
+
66
+ exports["default"] = _default;
67
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYXAtc3RhdGUudHMiXSwibmFtZXMiOlsiYWN0aW9uSGFuZGxlciIsIkFjdGlvblR5cGVzIiwiVVBEQVRFX01BUCIsIm1hcFN0YXRlVXBkYXRlcnMiLCJ1cGRhdGVNYXBVcGRhdGVyIiwiRklUX0JPVU5EUyIsImZpdEJvdW5kc1VwZGF0ZXIiLCJUT0dHTEVfUEVSU1BFQ1RJVkUiLCJ0b2dnbGVQZXJzcGVjdGl2ZVVwZGF0ZXIiLCJSRUNFSVZFX01BUF9DT05GSUciLCJyZWNlaXZlTWFwQ29uZmlnVXBkYXRlciIsIlJFU0VUX01BUF9DT05GSUciLCJyZXNldE1hcENvbmZpZ1VwZGF0ZXIiLCJUT0dHTEVfU1BMSVRfTUFQIiwidG9nZ2xlU3BsaXRNYXBVcGRhdGVyIiwibWFwU3RhdGVSZWR1Y2VyRmFjdG9yeSIsImluaXRpYWxTdGF0ZSIsIklOSVRJQUxfTUFQX1NUQVRFIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOzs7Ozs7OztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBTUEsYUFBYSwwRUFDaEJDLHFCQUFZQyxVQURJLEVBQ1NDLGdCQUFnQixDQUFDQyxnQkFEMUIsb0RBRWhCSCxxQkFBWUksVUFGSSxFQUVTRixnQkFBZ0IsQ0FBQ0csZ0JBRjFCLG9EQUdoQkwscUJBQVlNLGtCQUhJLEVBR2lCSixnQkFBZ0IsQ0FBQ0ssd0JBSGxDLG9EQUloQlAscUJBQVlRLGtCQUpJLEVBSWlCTixnQkFBZ0IsQ0FBQ08sdUJBSmxDLG9EQUtoQlQscUJBQVlVLGdCQUxJLEVBS2VSLGdCQUFnQixDQUFDUyxxQkFMaEMsb0RBTWhCWCxxQkFBWVksZ0JBTkksRUFNZVYsZ0JBQWdCLENBQUNXLHFCQU5oQyxrQkFBbkI7QUFTQTs7QUFDTyxJQUFNQyxzQkFBc0IsR0FBRyxTQUF6QkEsc0JBQXlCO0FBQUEsTUFBQ0MsWUFBRCx1RUFBZ0IsRUFBaEI7QUFBQSxTQUNwQztBQUNBLHFDQUFjaEIsYUFBZCxnREFDS0csZ0JBQWdCLENBQUNjLGlCQUR0QixHQUVLRCxZQUZMO0FBR0VBLE1BQUFBLFlBQVksRUFBWkE7QUFIRjtBQUZvQztBQUFBLENBQS9COzs7O2VBUVFELHNCQUFzQixFIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IHtoYW5kbGVBY3Rpb25zfSBmcm9tICdyZWR1eC1hY3Rpb25zJztcbmltcG9ydCB7QWN0aW9uVHlwZXN9IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5pbXBvcnQgKiBhcyBtYXBTdGF0ZVVwZGF0ZXJzIGZyb20gJy4vbWFwLXN0YXRlLXVwZGF0ZXJzJztcblxuLyoqXG4gKiBJbXBvcnRhbnQ6IERvIG5vdCByZW5hbWUgYGFjdGlvbkhhbmRsZXJgIG9yIHRoZSBhc3NpZ25tZW50IHBhdHRlcm4gb2YgcHJvcGVydHkgdmFsdWUuXG4gKiBJdCBpcyB1c2VkIHRvIGdlbmVyYXRlIGRvY3VtZW50YXRpb25cbiAqL1xuY29uc3QgYWN0aW9uSGFuZGxlciA9IHtcbiAgW0FjdGlvblR5cGVzLlVQREFURV9NQVBdOiBtYXBTdGF0ZVVwZGF0ZXJzLnVwZGF0ZU1hcFVwZGF0ZXIsXG4gIFtBY3Rpb25UeXBlcy5GSVRfQk9VTkRTXTogbWFwU3RhdGVVcGRhdGVycy5maXRCb3VuZHNVcGRhdGVyLFxuICBbQWN0aW9uVHlwZXMuVE9HR0xFX1BFUlNQRUNUSVZFXTogbWFwU3RhdGVVcGRhdGVycy50b2dnbGVQZXJzcGVjdGl2ZVVwZGF0ZXIsXG4gIFtBY3Rpb25UeXBlcy5SRUNFSVZFX01BUF9DT05GSUddOiBtYXBTdGF0ZVVwZGF0ZXJzLnJlY2VpdmVNYXBDb25maWdVcGRhdGVyLFxuICBbQWN0aW9uVHlwZXMuUkVTRVRfTUFQX0NPTkZJR106IG1hcFN0YXRlVXBkYXRlcnMucmVzZXRNYXBDb25maWdVcGRhdGVyLFxuICBbQWN0aW9uVHlwZXMuVE9HR0xFX1NQTElUX01BUF06IG1hcFN0YXRlVXBkYXRlcnMudG9nZ2xlU3BsaXRNYXBVcGRhdGVyXG59O1xuXG4vKiBSZWR1Y2VyICovXG5leHBvcnQgY29uc3QgbWFwU3RhdGVSZWR1Y2VyRmFjdG9yeSA9IChpbml0aWFsU3RhdGUgPSB7fSkgPT5cbiAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICBoYW5kbGVBY3Rpb25zKGFjdGlvbkhhbmRsZXIsIHtcbiAgICAuLi5tYXBTdGF0ZVVwZGF0ZXJzLklOSVRJQUxfTUFQX1NUQVRFLFxuICAgIC4uLmluaXRpYWxTdGF0ZSxcbiAgICBpbml0aWFsU3RhdGVcbiAgfSk7XG5cbmV4cG9ydCBkZWZhdWx0IG1hcFN0YXRlUmVkdWNlckZhY3RvcnkoKTtcbiJdfQ==
@@ -0,0 +1,173 @@
1
+ import { RGBColor, LayerGroup, MapStyles, InputStyle, VisibleLayerGroups } from '@kepler.gl/types';
2
+ import { ActionTypes, ReceiveMapConfigPayload, KeplerGlInitPayload, MapStyleActions } from '@kepler.gl/actions';
3
+ export declare type MapboxStyleUrl = string;
4
+ export declare type MapStyle = {
5
+ styleType: string;
6
+ visibleLayerGroups: VisibleLayerGroups;
7
+ topLayerGroups: VisibleLayerGroups;
8
+ mapStyles: MapStyles;
9
+ mapboxApiAccessToken: string | null;
10
+ mapboxApiUrl: string;
11
+ mapStylesReplaceDefault: boolean;
12
+ inputStyle: InputStyle;
13
+ threeDBuildingColor: RGBColor;
14
+ custom3DBuildingColor: boolean;
15
+ bottomMapStyle: any;
16
+ topMapStyle: any;
17
+ initialState?: MapStyle;
18
+ };
19
+ /**
20
+ * Default initial `mapStyle`
21
+ * @memberof mapStyleUpdaters
22
+ * @constant
23
+ * @property styleType - Default: `'dark'`
24
+ * @property visibleLayerGroups - Default: `{}`
25
+ * @property topLayerGroups - Default: `{}`
26
+ * @property mapStyles - mapping from style key to style object
27
+ * @property mapboxApiAccessToken - Default: `null`
28
+ * @Property mapboxApiUrl - Default null
29
+ * @Property mapStylesReplaceDefault - Default: `false`
30
+ * @property inputStyle - Default: `{}`
31
+ * @property threeDBuildingColor - Default: `[r, g, b]`
32
+ * @public
33
+ */
34
+ export declare const INITIAL_MAP_STYLE: MapStyle;
35
+ interface GetMapStylesParam {
36
+ styleType: string;
37
+ visibleLayerGroups: {
38
+ [id: string]: LayerGroup | boolean;
39
+ };
40
+ topLayerGroups: {
41
+ [id: string]: LayerGroup | boolean;
42
+ };
43
+ mapStyles: {
44
+ [id: string]: any;
45
+ };
46
+ }
47
+ /**
48
+ * Create two map styles from preset map style, one for top map one for bottom
49
+ *
50
+ * @param {string} styleType - current map style
51
+ * @param {Object} visibleLayerGroups - visible layers of bottom map
52
+ * @param {Object} topLayerGroups - visible layers of top map
53
+ * @param {Object} mapStyles - a dictionary of all map styles
54
+ * @returns {Object} bottomMapStyle | topMapStyle | isRaster
55
+ */
56
+ export declare function getMapStyles({ styleType, visibleLayerGroups, topLayerGroups, mapStyles }: GetMapStylesParam): {
57
+ bottomMapStyle?: undefined;
58
+ topMapStyle?: undefined;
59
+ editable?: undefined;
60
+ } | {
61
+ bottomMapStyle: any;
62
+ topMapStyle: {
63
+ layers: any;
64
+ constructor?: Function | undefined;
65
+ toString?: (() => string) | undefined;
66
+ toLocaleString?: (() => string) | undefined;
67
+ valueOf?: (() => Object) | undefined;
68
+ hasOwnProperty?: ((v: PropertyKey) => boolean) | undefined;
69
+ isPrototypeOf?: ((v: Object) => boolean) | undefined;
70
+ propertyIsEnumerable?: ((v: PropertyKey) => boolean) | undefined;
71
+ } | null;
72
+ editable: number;
73
+ };
74
+ /**
75
+ * Propagate `mapStyle` reducer with `mapboxApiAccessToken` and `mapStylesReplaceDefault`.
76
+ * if mapStylesReplaceDefault is true mapStyles is emptied; loadMapStylesUpdater() will
77
+ * populate mapStyles.
78
+ *
79
+ * @memberof mapStyleUpdaters
80
+ * @public
81
+ */
82
+ export declare const initMapStyleUpdater: (state: MapStyle, { payload }: {
83
+ type?: "@@kepler.gl/INIT" | undefined;
84
+ payload: KeplerGlInitPayload;
85
+ }) => MapStyle;
86
+ /**
87
+ * Update `visibleLayerGroups`to change layer group visibility
88
+ * @memberof mapStyleUpdaters
89
+ * @public
90
+ */
91
+ export declare const mapConfigChangeUpdater: (state: MapStyle, action: MapStyleActions.MapConfigChangeUpdaterAction) => MapStyle;
92
+ /**
93
+ * Change to another map style. The selected style should already been loaded into `mapStyle.mapStyles`
94
+ * @memberof mapStyleUpdaters
95
+ * @public
96
+ */
97
+ export declare const mapStyleChangeUpdater: (state: MapStyle, { payload: styleType }: MapStyleActions.MapStyleChangeUpdaterAction) => MapStyle;
98
+ /**
99
+ * Callback when load map style success
100
+ * @memberof mapStyleUpdaters
101
+ * @public
102
+ */
103
+ export declare const loadMapStylesUpdater: (state: MapStyle, action: MapStyleActions.LoadMapStylesUpdaterAction) => MapStyle;
104
+ /**
105
+ * Callback when load map style error
106
+ * @memberof mapStyleUpdaters
107
+ * @public
108
+ */
109
+ export declare const loadMapStyleErrUpdater: (state: MapStyle, action: MapStyleActions.LoadMapStyleErrUpdaterAction) => MapStyle;
110
+ /**
111
+ * @memberof mapStyleUpdaters
112
+ * @public
113
+ */
114
+ export declare const requestMapStylesUpdater: (state: MapStyle, { payload: mapStyles }: MapStyleActions.RequestMapStylesUpdaterAction) => MapStyle;
115
+ /**
116
+ * Load map style object when pass in saved map config
117
+ * @memberof mapStyleUpdaters
118
+ * @param state `mapStyle`
119
+ * @param action
120
+ * @param action.payload saved map config `{mapStyle, visState, mapState}`
121
+ * @returns nextState or `react-pam` tasks to load map style object
122
+ */
123
+ export declare const receiveMapConfigUpdater: (state: MapStyle, { payload: { config } }: {
124
+ type?: typeof ActionTypes.RECEIVE_MAP_CONFIG;
125
+ payload: ReceiveMapConfigPayload;
126
+ }) => MapStyle;
127
+ /**
128
+ * Reset map style config to initial state
129
+ * @memberof mapStyleUpdaters
130
+ * @param state `mapStyle`
131
+ * @returns nextState
132
+ * @public
133
+ */
134
+ export declare const resetMapConfigMapStyleUpdater: (state: MapStyle) => MapStyle;
135
+ /**
136
+ * Callback when a custom map style object is received
137
+ * @memberof mapStyleUpdaters
138
+ * @public
139
+ */
140
+ export declare const loadCustomMapStyleUpdater: (state: MapStyle, { payload: { icon, style, error } }: MapStyleActions.LoadCustomMapStyleUpdaterAction) => MapStyle;
141
+ /**
142
+ * Input a custom map style object
143
+ * @memberof mapStyleUpdaters
144
+ * @public
145
+ */
146
+ export declare const inputMapStyleUpdater: (state: MapStyle, { payload: { inputStyle, mapState } }: MapStyleActions.InputMapStyleUpdaterAction) => MapStyle;
147
+ /**
148
+ * Add map style from user input to reducer and set it to current style
149
+ * This action is called when user click confirm after putting in a valid style url in the custom map style dialog.
150
+ * It should not be called from outside kepler.gl without a valid `inputStyle` in the `mapStyle` reducer.
151
+ * @memberof mapStyleUpdaters
152
+ */
153
+ export declare const addCustomMapStyleUpdater: (state: MapStyle) => MapStyle;
154
+ /**
155
+ * Updates 3d building color
156
+ * @memberof mapStyleUpdaters
157
+ */
158
+ export declare const set3dBuildingColorUpdater: (state: MapStyle, { payload: color }: MapStyleActions.Set3dBuildingColorUpdaterAction) => MapStyle;
159
+ /**
160
+ * Return the initial input style
161
+ * @return Object
162
+ */
163
+ export declare function getInitialInputStyle(): {
164
+ accessToken: null;
165
+ error: boolean;
166
+ isValid: boolean;
167
+ label: null;
168
+ style: null;
169
+ url: null;
170
+ icon: null;
171
+ custom: boolean;
172
+ };
173
+ export {};