Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
9fda1ce
chore: upgrade to deckgl 9.2.11
igorDykhta Mar 23, 2026
62ab8c3
fixes
igorDykhta Mar 23, 2026
6f72afe
fix lint follow up
igorDykhta Mar 23, 2026
9882ed9
fix blending
igorDykhta Mar 23, 2026
0e35da0
fix geojson layer
igorDykhta Mar 24, 2026
8ccb79d
more fixes for aggregation layers
igorDykhta Mar 24, 2026
6a86082
fix h3 layer
igorDykhta Mar 24, 2026
4befa17
potential fix for issues with geoarrow in point and line layers
igorDykhta Mar 24, 2026
4a8b816
fix postprocessing effects
igorDykhta Mar 24, 2026
ec2ec63
fixes for light and shadow effect
igorDykhta Mar 24, 2026
a199c5a
shadow and light effect - restore uniform shadow during the nighttime
igorDykhta Mar 24, 2026
ec45a94
don't hide line and arc layers when layer type changed
igorDykhta Mar 25, 2026
fbedc0d
restore filters for aggregation layers
igorDykhta Mar 25, 2026
8647f18
fix aggregation layers - hightlight outlines
igorDykhta Mar 25, 2026
541095a
fixes for raster tile layer - raster pmtiles related
igorDykhta Mar 25, 2026
f76a005
fixes for raster tiles shader modules updates
igorDykhta Mar 26, 2026
99d799f
merge master
igorDykhta Mar 26, 2026
17f0866
fix lint
igorDykhta Mar 26, 2026
448ca73
more lint
igorDykhta Mar 26, 2026
9b07f70
try to fix CI lint
igorDykhta Mar 26, 2026
6b33e07
try to fix CI tests
igorDykhta Mar 26, 2026
d5fdfd6
install webgpu
igorDykhta Mar 26, 2026
c419b75
try to fix Ci test env setup
igorDykhta Mar 26, 2026
b2967b4
cont fix setup browser env
igorDykhta Mar 26, 2026
98954b4
remove upgrade in examples - not yet released packages
igorDykhta Mar 26, 2026
f24754f
fix more tests
igorDykhta Mar 26, 2026
497d3db
fixes for line layer
igorDykhta Mar 26, 2026
aabd51c
_resizeRenderBuffers override changes
igorDykhta Mar 27, 2026
1cae110
revert jupyter loaders bump
igorDykhta Mar 27, 2026
c72c558
change luma shader validation logic for raster tile layer
igorDykhta Mar 27, 2026
655bd0b
Replaced the injected standalone with a proper UBO-backed shader module
igorDykhta Mar 27, 2026
0a41e25
unify deckgl type fixes
igorDykhta Mar 27, 2026
73b8d8f
fix plot container deckGLProps; fix lint
igorDykhta Mar 27, 2026
ed4ef7d
lint again
igorDykhta Mar 27, 2026
3c3e405
restore test for aggregation layers
igorDykhta Mar 27, 2026
d9f0c8d
fix cpu aggregator
igorDykhta Mar 27, 2026
a8cfe89
more error handling for aggregation layers
igorDykhta Mar 27, 2026
306226c
fixes to enchanced column draw
igorDykhta Mar 27, 2026
e271f1b
restore trip layer tests
igorDykhta Mar 27, 2026
c98e747
fix raster tile shader again
igorDykhta Mar 27, 2026
56dd767
fix for pickInfo types
igorDykhta Mar 27, 2026
6f778a6
postpone patchDeckRendererForPostProcessing
igorDykhta Mar 27, 2026
2520811
minor ts fix
igorDykhta Mar 27, 2026
a1a717e
add missing effect deps
igorDykhta Mar 27, 2026
00e2f96
ts changes
igorDykhta Mar 27, 2026
f9e4e8f
fix lint
igorDykhta Mar 27, 2026
8543b80
more small fixes
igorDykhta Mar 27, 2026
298852d
sync yarn
igorDykhta Mar 27, 2026
fc60c7a
fix lint again
igorDykhta Mar 27, 2026
1ec04cf
fix build
igorDykhta Mar 28, 2026
f7c2b92
remove unused hubble.gl from deps
igorDykhta Mar 28, 2026
6f117b7
ts fixes; test fixes
igorDykhta Mar 28, 2026
7ca5990
minor fixes
igorDykhta Mar 30, 2026
cc293e2
minor fixes
igorDykhta Mar 30, 2026
210094f
ts fixes
igorDykhta Mar 30, 2026
b5d9e7d
move gpu constants to constants module
igorDykhta Mar 30, 2026
9d2bbfb
fix lint
igorDykhta Mar 30, 2026
64f9eee
raster tile layer - migrate shaders to UBOs
igorDykhta Mar 30, 2026
a0acb64
raster tile fixes; ts impr
igorDykhta Mar 31, 2026
f8b556f
remove deprecated blending setter
igorDykhta Mar 31, 2026
4217926
more detailed tests
igorDykhta Mar 31, 2026
0b420e9
patch pipeline validation only if raster tile layers are created
igorDykhta Mar 31, 2026
b8629d7
fight with any
igorDykhta Mar 31, 2026
4db9dc6
add migration steps to docs
igorDykhta Mar 31, 2026
b3ca094
fix: aggregation - infinite config changes; add patch for non-numeric…
igorDykhta Mar 31, 2026
f54eccf
update aggr update triggers
igorDykhta Mar 31, 2026
cd71295
fix for count to column agg type change (numeric)
igorDykhta Mar 31, 2026
143de10
disable loggin mouse move and hover by default in console
igorDykhta Mar 31, 2026
8450ab2
fix tests
igorDykhta Mar 31, 2026
fb230b2
fog effects
igorDykhta Apr 1, 2026
f94e6aa
fix lint
igorDykhta Apr 1, 2026
73863c7
docs updates; typos
igorDykhta Apr 1, 2026
a6abe41
more docs upd
igorDykhta Apr 1, 2026
c6de237
fix remove shadow effect layer crash
igorDykhta Apr 2, 2026
af252a4
fix surface fog
igorDykhta Apr 2, 2026
f1dfa10
fix light and shadow image export; remove hubble warnings; hide loadi…
igorDykhta Apr 2, 2026
cb3cf11
fix image export - wait for tiled layers
igorDykhta Apr 2, 2026
194def2
enable tile 3d layer
igorDykhta Apr 3, 2026
945a7df
docs update; new install fix
igorDykhta Apr 3, 2026
8677ca5
fog adjuements; note about performance on older hardware
igorDykhta Apr 3, 2026
195206e
update docs; fixes to 3d tile layer
igorDykhta Apr 3, 2026
a5b540a
ui fixes; to bounds fix
igorDykhta Apr 3, 2026
4185609
fixes
igorDykhta Apr 3, 2026
6c64992
editable layer + effects -> disable
igorDykhta Apr 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,9 @@ Kepler.gl is also a React component that uses [Redux](https://redux.js.org/) to

## Env

Use Node 18.18.2 or above, older node versions have not been supported/ tested.
For best results, use [nvm](https://github.com/creationix/nvm) `nvm install`.
For **developing this repository**, use Node **18.18.2** (see `.nvmrc`): run `nvm install` and `nvm use`. Newer Node versions can make `yarn install` / `yarn bootstrap` try to compile the `gl` dev dependency from source; if that fails, see [Troubleshooting: gl package install](contributing/DEVELOPERS.md#troubleshooting-gl-package-install).

When **using kepler.gl as a dependency** in your own app, use Node 18.18.2 or a supported LTS; older Node versions are not supported or tested.

## Install kepler.gl modules

Expand Down
3 changes: 2 additions & 1 deletion SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@
* [Examples](examples/README.md)
* [Node/Express](examples/node-app/README.md)
* [Demo App](examples/demo-app/README.md)
* [Open modal](examples/replace-component/README.md)
* [Replace Component](examples/replace-component/README.md)
* [Open modal](examples/open-modal/README.md)
* [UMD client](examples/umd-client/README.md)
* [Customize kepler.gl Theme](examples/custom-theme/README.md)
Expand All @@ -80,3 +80,4 @@
* [Contributor Covenant Code of Conduct](contributing/CODE_OF_CONDUCT.md)
* [Change Log](CHANGELOG.md)
* [Upgrade Guide](UPGRADE-GUIDE.md)
* [Upgrade Guide v3.3](docs/upgrade-guide-v3.3.md)
25 changes: 25 additions & 0 deletions contributing/DEVELOPERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
## Table of contents

- [Development Setup](./#development-setup)
- [Troubleshooting: gl package install](./#troubleshooting-gl-package-install)
- [Running Tests](./#running-tests)
- [Coding Rules](./#coding-rules)
- [Commit Message Guidelines](./#git-commit-guidelines)
Expand Down Expand Up @@ -68,6 +69,7 @@ On Unix, MacOS
# install Volta on Unix
curl https://get.volta.sh | bash
```

On Windows

```bash
Expand Down Expand Up @@ -117,6 +119,29 @@ An demo app will be served at `http://localhost:8080/`

This is the demo app we hosted on [http://kepler.gl/#/demo][demo-app]. By default, it serves non-minified source code inside the src directory.

### Troubleshooting: gl package install

Yarn may report that the `gl` package (a dev dependency used for headless WebGL in tests) **could not be built**. That usually happens for one of two reasons:

1. **No prebuilt binary for your Node version and platform**
`prebuild-install` only ships binaries for certain Node releases and OS/arch pairs (for example, very new Node versions on Apple Silicon often have none). Yarn then falls back to compiling `gl` from source with `node-gyp`.

2. **Source build needs a `python` command**
The ANGLE sources invoked during that compile run `python` (not `python3`). macOS Command Line Tools typically install `python3` only, so the log shows `python: command not found` and `gyp ERR! configure error` even though `node-gyp` found Python 3.

**What to do**

- **Prefer the Node version pinned for this repo** (see `.nvmrc`, currently 18.18.2). After `nvm install` and `nvm use` (or Volta, as above), run `yarn install` / `yarn bootstrap` again. A matching prebuild is often available, so the native compile step never runs.

- **If you must use a newer Node** and the install compiles from source, ensure `python` is on your `PATH` and points to Python 3, for example on macOS:

```bash
sudo mkdir -p /usr/local/bin
sudo ln -sf /usr/bin/python3 /usr/local/bin/python
```

Use another location if `/usr/local/bin` is not early in your `PATH`.

#### Develop with deck.gl

When develop, upgrade, debug deck.gl, Demo app can load deck.gl directly from src
Expand Down
6 changes: 3 additions & 3 deletions docs/RFC/table-class.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,12 +66,12 @@ Missing features

#### Current kepler.gl methods:

1. `initalize`
1. `initialize`

to replace utils/dataset-utils `createNewDataEntry` This table method takes a `ProtoTable` and returns a `Table` to be saved in kepler state.

```js
table.initalize(protoTable);
table.initialize(protoTable);

// following meta data should be initialized
table.allIndexes,
Expand Down Expand Up @@ -102,7 +102,7 @@ table.allIndexes,
Value the field value, type the field type

7. `sortDatasetByColumn`
Sort a column, return an sorted index, assign to `sortColumn`, `sortOrder`
Sort a column, return a sorted index, assign to `sortColumn`, `sortOrder`

8. `filterDataset(filters, layers, opt)`
to replace `filter-utils.js` `filterDataset`
Expand Down
34 changes: 16 additions & 18 deletions docs/api-reference/actions/actions.md
Original file line number Diff line number Diff line change
Expand Up @@ -298,7 +298,7 @@ Callback when load map style success

### mapConfigChange

Update `visibleLayerGroups`to change layer group visibility
Update `visibleLayerGroups` to change layer group visibility

- **ActionTypes**: [`ActionTypes.MAP_CONFIG_CHANGE`][12]
- **Updaters**: [`mapStyleUpdaters.mapConfigChangeUpdater`][171]
Expand Down Expand Up @@ -343,12 +343,12 @@ Set 3d building layer group color
## main

Main kepler.gl actions, these actions handles loading data and config into kepler.gl reducer. These actions
is listened by all subreducers,
are listened to by all subreducers.

### addDataToMap

Add data to kepler.gl reducer, prepare map with preset configuration if config is passed.
Kepler.gl provides a handy set of utils to parse data from different formats to the `data` object required in dataset. You rarely need to manually format the data obejct.
Kepler.gl provides a handy set of utils to parse data from different formats to the `data` object required in dataset. You rarely need to manually format the data object.

Use `KeplerGlSchema.getConfigToSave` to generate a json blob of the currents instance config.
The config object value will always have higher precedence than the options properties.
Expand Down Expand Up @@ -533,7 +533,7 @@ Trigger CPU filter of selected dataset

**Parameters**

- `dataId` **([string][162] | Arrary<[string][162]>)** single dataId or an array of dataIds
- `dataId` **([string][162] | Array<[string][162]>)** single dataId or an array of dataIds

Returns **{type: ActionTypes.APPLY_CPU_FILTER, dataId: [string][162]}**

Expand Down Expand Up @@ -593,7 +593,7 @@ Update layer text label

### layerTypeChange

Update layer type. Previews layer config will be copied if applicable.
Update layer type. Previous layer config will be copied if applicable.

- **ActionTypes**: [`ActionTypes.LAYER_TYPE_CHANGE`][12]
- **Updaters**: [`visStateUpdaters.layerTypeChangeUpdater`][192]
Expand Down Expand Up @@ -697,7 +697,7 @@ Returns **{type: ActionTypes.MAP_CLICK}**

### onMouseMove

Trigger map mouse moveevent, payload would be
Trigger map mouse move event, payload would be
React-map-gl MapLayerMouseEvent
[https://visgl.github.io/react-map-gl/docs/api-reference/types#maplayermouseevent][202]

Expand All @@ -708,7 +708,7 @@ React-map-gl MapLayerMouseEvent

- `evt` **[Object][164]** MapLayerMouseEvent

Returns **{type: ActionTypes.MAP_CLICK}**
Returns **{type: ActionTypes.MOUSE_MOVE}**

### removeDataset

Expand Down Expand Up @@ -784,10 +784,10 @@ Set the map mode
**Examples**

```javascript
import {setMapMode} from '@kepler.gl/actions';
import {setEditorMode} from '@kepler.gl/actions';
import {EDITOR_MODES} from '@kepler.gl/constants';

this.props.dispatch(setMapMode(EDITOR_MODES.DRAW_POLYGON));
this.props.dispatch(setEditorMode(EDITOR_MODES.DRAW_POLYGON));
```

### setFilter
Expand Down Expand Up @@ -822,18 +822,16 @@ Returns **{type: ActionTypes.SET_FILTER_PLOT, idx: any, newProp: any}**

### setMapInfo

Set the property of a filter plot
Set map info such as title and description

- **ActionTypes**: [`ActionTypes.SET_MAP_INFO`][12]
- **Updaters**: [`visStateUpdaters.setMapInfoUpdater`][211]

**Parameters**

- `info`
- `idx` **[Number][188]**
- `newProp` **[Object][164]** key value mapping of new prop `{yAxis: 'histogram'}`
- `info` **[Object][164]** map info object, e.g. `{title: 'My Map', description: 'My map description'}`

Returns **{type: ActionTypes.SET_FILTER_PLOT, idx: any, newProp: any}**
Returns **{type: ActionTypes.SET_MAP_INFO, info: info}**

### showDatasetTable

Expand Down Expand Up @@ -958,9 +956,9 @@ Returns **{type: ActionTypes.UPDATE_VIS_DATA, datasets: datasets, options: optio
## uiStateActions

Actions handled mostly by `uiState` reducer.
They manage UI changes in tha app, such as open and close side panel,
They manage UI changes in the app, such as open and close side panel,
switch between tabs in the side panel, open and close modal dialog for exporting data / images etc.
It also manges which settings are selected during image and map export
It also manages which settings are selected during image and map export

### addNotification

Expand Down Expand Up @@ -1037,7 +1035,7 @@ Whether to export filtered data, `true` or `false`

**Parameters**

- `payload` **[boolean][165]** set `true` to ony export filtered data
- `payload` **[boolean][165]** set `true` to only export filtered data

### setExportImageDataUri

Expand Down Expand Up @@ -1474,7 +1472,7 @@ Set the export map format (html, json)
[173]: ../reducers/map-style.md#mapstyleupdatersrequestmapstylesupdater
[174]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array
[175]: ../reducers/map-style.md#mapstyleupdatersset3dbuildingcolorupdater
[176]: ../reducers/composers.md#combinedupdatersadddatatomapupdater
[176]: ../reducers/combine.md#combinedupdatersadddatatomapupdater
[177]: ../reducers/map-style.md#mapstyleupdatersinitmapstyleupdater
[178]: ../reducers/map-state.md#mapstateupdatersreceivemapconfigupdater
[179]: ../reducers/map-style.md#mapstyleupdatersreceivemapconfigupdater
Expand Down
2 changes: 1 addition & 1 deletion docs/api-reference/advanced-usages/custom-initial-state.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Here is an example modify `uiState` `initialState` to hide side panel, and selec

```js
import {combineReducers} from 'redux';
import {keplerGlReducer} from '@kepler.gl/reducers';
import keplerGlReducer from '@kepler.gl/reducers';

const customizedKeplerGlReducer = keplerGlReducer
.initialState({
Expand Down
4 changes: 2 additions & 2 deletions docs/api-reference/advanced-usages/custom-map-styles.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ By default, kepler.gl uses mapbox-gl.js to render its base maps, displayed in [m
You can custom kepler.gl to use other base map services, by passing in style.json written in [Mapbox GL Style Spec](https://docs.mapbox.com/mapbox-gl-js/style-spec/). With custom style.json kepler.gl can render base map independent of mapbox vector tile service.


For instance. there is a example [style.json](https://raw.githubusercontent.com/heshan0131/kepler.gl-data/master/style/basic.json). It points to the tile server described in the `sources` field.
For instance. there is an example [style.json](https://raw.githubusercontent.com/heshan0131/kepler.gl-data/master/style/basic.json). It points to the tile server described in the `sources` field.

```json
"sources": {
Expand Down Expand Up @@ -129,7 +129,7 @@ If your map styles are not using Mapbox services, and you replaced all kepler.gl

#### 4. `DEFAULT_LAYER_GROUPS`

If `layerGroups` is not suppied, kepler.gl uses the default layer groups below.
If `layerGroups` is not supplied, kepler.gl uses the default layer groups below.


```js
Expand Down
2 changes: 1 addition & 1 deletion docs/api-reference/advanced-usages/custom-mapbox-host.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ and In render:
<KeplerGl
id="foo"
mapboxApiAccessToken={this.token}
mapboxApiUrl={}
mapboxApiUrl={this.apiHost}
mapStyles={this.mapStyles}
width={width}
height={height}/>
Expand Down
2 changes: 1 addition & 1 deletion docs/api-reference/advanced-usages/forward-actions.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ import {toggleFullScreen, wrapTo} from '@kepler.gl/actions';
const wrapToMap = wrapTo('foo');
const MapContainer = ({dispatch}) => (
<div>
<button onClick={() => dispatch(wrapToMap(toggleFullScreen())} />
<button onClick={() => dispatch(wrapToMap(toggleFullScreen()))} />
<KeplerGl id="foo"/>
</div>
);
Expand Down
4 changes: 2 additions & 2 deletions docs/api-reference/advanced-usages/saving-loading-w-schema.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

![Processor and Schema][processor-schema]

Kelper.gl provides a schema manager to save and load maps. It converts current map data and configuration into a smaller JSON blob. You can then load that JSON blob into an empty map by passing it to `addDataToMap`.
Kepler.gl provides a schema manager to save and load maps. It converts current map data and configuration into a smaller JSON blob. You can then load that JSON blob into an empty map by passing it to `addDataToMap`.

The reason kepler.gl provides a Schema manager is to make it easy for users to connect the kepler.gl client app to any database, saving map data / config and later load it back. With the schema manager, a map saved in an older version can still be parsed and loaded with the latest kepler.gl library.

Expand All @@ -16,7 +16,7 @@ Under the hood, `SchemaManager.save()` calls `SchemaManager.getDatasetToSave()`
- `SchemaManager.getDatasetToSave()` will output an array of dataset.
- `SchemaManager.getConfigToSave()` will output a JSON blob of the current config.

In the example blow, `foo` is the id of the KeplerGl instance to be save.
In the example below, `foo` is the id of the KeplerGl instance to be save.

```js
import KeplerGlSchema from '@kepler.gl/schemas';
Expand Down
2 changes: 1 addition & 1 deletion docs/api-reference/advanced-usages/using-updaters.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ const composedReducer = (state, action) => {
foo: {
...state.keplerGl.foo,
mapState: mapStateUpdaters.togglePerspectiveUpdater(
t state.keplerGl.foo.mapState
state.keplerGl.foo.mapState
)
}
}
Expand Down
4 changes: 2 additions & 2 deletions docs/api-reference/cloud-providers/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

The kepler.gl application does not have a backend, however it offers integration point for optional commercial backends. Each backend can integrate with kepler by adding a "cloud provider" object to kepler's global list of cloud providers.

These objects must implement certain minimal set of methods, and can optionally immplement others, depending on the capability of the backend.
These objects must implement certain minimal set of methods, and can optionally implement others, depending on the capability of the backend.

The set of methods available for cloud providers to implement is subject to change as new features are added to the front-end.

Expand Down Expand Up @@ -32,7 +32,7 @@ Cloud-providers providers can implement the following properties
| `logout` | Method called to logout an user | required |
| `uploadMap` | Method called to upload map to storage | required |
| `listMaps` | Method called to load a catalog of maps saved by the current user | required |
| `downloadMap` | MEthod called to download a specific map | required |
| `downloadMap` | Method called to download a specific map | required |


## Adding a new Cloud Provider
Expand Down
10 changes: 5 additions & 5 deletions docs/api-reference/cloud-providers/cloud-provider.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,16 +60,16 @@ async downloadMap(loadParams) {
config: {},
info: {
app: 'kepler.gl',
created_at: ''
title: 'test map',
created_at: '',
title: 'test map',
description: 'Hello this is my test dropbox map'
}
},
// pass csv here if your provider currently only support save / load file as csv
format: 'keplergl'
};

return downloadMap;
return mockResponse;
}
```

Expand Down Expand Up @@ -105,7 +105,7 @@ Returns **[string][28]** shareUrl

This method is called to get the user name of the current user. It will be displayed in the cloud provider tile.

Returns **[string][28]** true if a user already logged in
Returns **[string][28]** the user name of the logged in user

### hasPrivateStorage

Expand Down Expand Up @@ -133,7 +133,7 @@ async listMaps() {
title: 'My map',
description: 'My first kepler map',
imageUrl: 'http://',
udpatedAt: 1582677787000,
updatedAt: 1582677787000,
privateMap: false,
loadParams: {}
}
Expand Down
4 changes: 2 additions & 2 deletions docs/api-reference/ecosystem.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Read more about [Component][components].

![Forward Dispatcher][forward-dispatcher]

The kepler.gl root reducer that user mounted in their app is in fact a wrapper reducer that stored the child state and update them based on forwarded actions. If An action is not a forwarded action, it pass down to all child reducers.
The kepler.gl root reducer that user mounted in their app is in fact a wrapper reducer that stored the child state and update them based on forwarded actions. If an action is not a forwarded action, it pass down to all child reducers.

When a KeplerGl component instance is mounted with the id `foo`, the wrapper reducer will add a kepler.gl local state in the root state at key `foo`.

Expand Down Expand Up @@ -56,7 +56,7 @@ Read more about [Actions and Updaters][actions-updaters].

Processors and schema manager are useful helpers to get data in and out of kepler.gl. You can use `processCsvData(csv)` and `processGeojson(geojson)` to parse csv or geoJson file and pass it to `addDataToMap()` action.

To save and reload the current map, you can call `KeplerGlSchema.save()` and pass it the instant state. It will return a json output containing map data and config. Pass this json file to `processKeplerglJSON()` and then `addDataToMap()` will reproduce the same map.
To save and reload the current map, you can call `KeplerGlSchema.save()` and pass it the instance state. It will return a json output containing map data and config. Pass this json file to `processKeplerglJSON()` and then `addDataToMap()` will reproduce the same map.

Read more about [Processors][processors] and [Schema Manager][schemas].

Expand Down
4 changes: 2 additions & 2 deletions docs/api-reference/localization/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ const localeMessages = {
const App = () => (
<KeplerGl
id="map"
localeMessages={messages}
localeMessages={localeMessages}
mapboxApiAccessToken={Token}
/>
);
Expand All @@ -88,7 +88,7 @@ const localeMessages = {
const App = () => (
<KeplerGl
id="map"
localeMessages={messages}
localeMessages={localeMessages}
mapboxApiAccessToken={Token}
/>
);
Expand Down
Loading
Loading