Skip to content

Commit

Permalink
Merge branch 'master' into xli-ai-assist-2
Browse files Browse the repository at this point in the history
  • Loading branch information
lixun910 authored Nov 26, 2024
2 parents d1036de + 40c6c8b commit 8edff99
Show file tree
Hide file tree
Showing 119 changed files with 2,174 additions and 1,442 deletions.
25 changes: 16 additions & 9 deletions .github/workflows/npmpublish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,22 @@ on:
jobs:
publish-npm:
runs-on: ubuntu-latest

env:
NPM_AUTH_TOKEN: ${{secrets.npm_token}}

steps:
- uses: actions/checkout@v2.1.1
- uses: actions/setup-node@v3
with:
node-version: 18
registry-url: https://registry.npmjs.org/
- run: npm install -g yarn
- uses: actions/checkout@v4

# use Volta to manage yarn/node versions
- uses: volta-cli/action@v4

- run: yarn install
- run: yarn bootstrap
- run: npm i -g [email protected]
- run: npm --version && npm publish --workspaces --access public
env:
NODE_AUTH_TOKEN: ${{secrets.npm_token}}

- name: Login to NPM
run: npm config set "//registry.npmjs.org/:_authToken=${NPM_AUTH_TOKEN}"

- name: Publish
run: npm publish --workspaces --access public
115 changes: 115 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,121 @@ Each version should:
Ref: http://keepachangelog.com/en/0.3.0/
-->

## [3.1.0-alpha.0] - November 26 2024

- 5b4f6537 [feat] create new dataset action (#2778)
- a253cae1 [chore] Update the keplergl processors update (#2776)
- 931e2c6b [fix] Update the path to relative path in utils (#2775)
- ac469c13 [chore] Updated imports for Kepler GL Reducers in docs (#2774)
- 13b469d8 [chore] common-utils module (#2773)
- 6fd4f884 [Feat] Kepler.gl AI Assistant [1] (#2735)
- ab9e2530 [fix] Time Sync fixes and tests (#2771)
- 1689ed68 [fix] Custom color scale fixes (#2770)
- d0c9a3b9 [feat] Support custom breaks in color scale (#2739)
- 3f645002 [fix] restore arc and line layers in non-geoarrow modes (#2732)
- 966ee4c6 [Chore] Custom Initial State and Forward Actions Docs update (#2731)
- e88577de [chore] Docs action page import updates (#2729)
- d783b43c [feat] experimental support for ARROW:extension:point; support for arrrow:wkb for geojson layer (#2716)
- 26687575 [chore] Update Code examples in API Reference Get Started page (#2727)
- 8ea1cabe [fix] Fixed synced filter domain and interval calculation (#2725)
- 695861b2 [Bug] fix yaxis chat doesn't update (#2724)
- 8c37afaa [fix] time sync bugfixes (#2723)
- 4c2a6b3c [Improvement] Improved radius legend number formatting (#2726)
- c9658214 [Doc] Improve keplergl-jupyter documentation (#2697)
- 934f8e89 [feat] Improve timeline sync filer UI (#2722)
- d6f68379 [fix] Time Sync bugfixes (#2721)
- 40f82127 [feat] Sync filter with layer timeline (#2718)
- 0b6f320a [Enhancement] Synced filter small tuneup to synced filter panel (#2715)
- caf6e485 [fix] filter fields based on timestamp (#2714)
- c17dacf3 [feat] Layer animation (#2713)
- 0507bd60 [faat] deckgl-arrow-layers module (#2680)
- 8e4d723b [feat] Allow function return type of getData in getFilterValueAccessor (#2708)
- e20d5e82 [BUG] fix gpu filter update trigger attribute update in every render (#2707)
- 2d8161e3 [Feat] add color picker to single color selector (#2699)
- b258e8a9 [Bug] Fix synced time filter loaded value not saved (#892) (#2706)
- e5fe97be [feat] Updated time filter sync style (#2705)
- cb705c63 [fix] Prevent bottom time widget crash (#895) (#2703)
- ef2ac8f0 [chore] Add runGpuFilterForPlot to export, ts changes to KeplerTableModel (#2702)
- ee695327 [fix] remove duplicate "https:" in example (#2711)
- a743a276 [fix] add map control buttons back (#2709)
- 97df4c94 [Feat] Replaced filter enlarged with view: side | enlarged | minified - part 2 (#2537)
- 1c0ef9a9 [feat] add deck.gl onFilteredItemsChange callback to DeckGl overlays (#2691)
- d6082fe6 [feat] Time filter syncing (#2690)
- b28a263e [feat] Implemented ability to invert time series trend colors (#2692)
- ecb5ed41 [feat] Edit color legend value (#2681)
- 9c82daae [Enhancement] Add billboard and fadeTrail toggles (#2684)
- 69fc6c65 [Feat] Dynamic map lib config (#2678)
- 5764b069 [Chore] Remove default props and react-onclickoutside in react functional components (#2679)
- 09e19f86 [Fix] Tooltip not working in exported HTML map (#2556)
- a24ba5ec [Feat] Support radius legend (#2677)
- 1e7415a3 [Enhancement] call layer methods to validate visconfig when switching dataset (#2676)
- 25a5b60d [Chore] Adding application config (#2658)
- a9135ac6 [Feat] add geojson column mode for point layer (#2666)
- b6ac6540 [Feat] Add neighbor column mode to arc layer, support arc from hex (#2665)
- 2bc59371 [Feat] support create geojson path from point csv in polygon layer (#2664)
- 4c489940 [chore] Split out column mode config into separate component (#2663)
- add6192b [feat] Layer Column Mode (#2662)
- ef32f711 [fix] Fixed disappearing animation time control (#2625)
- c70ae07e [chore] Update @loaders to 4.1.1 (#2638)
- ad94d703 [Fix] legend wasn't interactive in shadow DOM (#2630)
- 6ffb1dcb [chore] Move create or update filter action (#2636)
- 16a3ac26 [fix] Improved map bounds calculation and handled latitude issues (#2632)
- 7e3ea28b [fix] prevent second shadow effect (#2631)
- f8e7b417 [fix] Upgrade react-router from 3.2.5 to 3.2.6 (#2637)
- 56c9c3ed [fix] Updated type data-utils getColumnFormatter method (#2640)
- 5d77b7ab [chore] Add className for LayerManager (#2629)
- 6f45f1f0 [feat] add autoFocus prop in TypeHead (#2646)
- 406b9787 [fix] Reset default values when DropdownList component unmounts (#2648)
- cf39ab20 [fix] Map controls tooltips break drag event positioning (#2649)
- e7deb4c6 [chore] Exporting missing types for PlaybackControls (#2650)
- edd1fd98 [fix] Making sure animated spinner has border width CSS prop set (#2651)
- b92b9707 [fix] Disable polygon filter menu for non-polygon features (#2652)
- e40d9b6e [feat] Call get after inject to create full cache (#2647)
- f15be57f [fix] Fixed effect panel width (#2644)
- 04280b33 [fix] Hiding legend scrollbar when in image export (#2643)
- 73704019 [chore] Update modal with test id (#2642)
- 4f9d261c [fix] data table right margin in header (#2641)
- 66b7fbdf [chore] Replaced deprecated "assert" with "with". (#2654)
- fb7fd817 [fix] build_and_publish fix (#2645)
- 9dbc80f1 [chore] migrate from webpack to esbuild to build demo-app locally (#2616)
- 7b512cfa [chore]: Upgrade to yarn 4 (#2610)
- a06d03c5 [chore] Bump setuptools from 69.5.1 to 70.0.0 in /bindings/kepler.gl-jupyter (#2587)
- f977b4f2 [chore] Bump elliptic from 6.5.6 to 6.5.7 (#2608)
- 40005446 [chore] Fix cover script generate cover report (#2609)
- affc5b65 [Chore] Upgrade to eslint 8.53.0 and prettier 2.8.8, fix lint and type errors (#2607)
- bc90b0e2 [Chore] fix tests (#2602)
- e5111dad [Bug] Fixes a number of issues preventing Kepler from building on fresh checkout (#2596)
- 9341911e [Bug] Fix custom map style input (#2564)
- 89180277 [chore] update deps; update doc; update version (#2568)
- ff52dda6 [fix] jupyter widget: don't take over <title> (#1723)
- 739aed86 [deps] Bump ip from 1.1.5 to 1.1.9 (#2527)
- 44526ebc [Feat] Kepler-Jupyter 0.3.4 with kepler v3 (#2565)
- 6667a966 [Docs] Update node.js version in docs to v18 (#2558)
- 4932e76a [Feat] use fixed height in geojson layer (#2533)
- 400120f3 [Enhancement] call layer methods to validate visconfig when switching dataset (#2532)
- 1f9757b8 [feat] Pass in custom transformRequest function (#2534)
- b644f203 [Fix] layer popover mapIndex (#2535)
- 4b3c950f [fix] Fix sample maps (#2529)
- 55fb2426 [chore]] Update COC to OpenJS (#2496)
- 0959de6a [Feat]Support Zoom to layer in layer panel (#2516)
- ac0d3575 [Chore] docs: Add GeoArrow to supported formats (#2503)
- 084d807f [Chore] Bump path-parse from 1.0.6 to 1.0.7 (#1569)
- 46086e88 [Chore] Bump cached-path-relative from 1.0.2 to 1.1.0 (#1687)
- b8e5f865 [Chore] Bump ssri from 6.0.1 to 6.0.2 (#1866)
- 48e5839f [Chore] Bump postcss from 7.0.35 to 7.0.39 (#1691)
- 03d844c4 [Chore] Bump url-parse from 1.5.1 to 1.5.10 (#1724)
- f5d3be2c [Chore] Bump async from 2.6.3 to 2.6.4 (#1810)
- 012e9d7e [Chore] Bump shell-quote from 1.7.2 to 1.7.3 (#1847)
- 3222fa11 [Chore] Bump minimist from 1.2.3 to 1.2.6 (#2520)
- 248a759d [Chore] Bump hosted-git-info from 2.8.8 to 2.8.9 (#1865)
- 8659d4c9 [Chore] Bump decode-uri-component from 0.2.0 to 0.2.2 (#2053)
- 354fb8d2 [Chore] Bump browserify-sign from 4.2.1 to 4.2.2 (#2421)
- 59d81ef8 [Chore] Bump @adobe/css-tools from 4.3.1 to 4.3.2 (#2464)
- 776f11bc [Chore] Update docs to MapLibre and react-map-gl v7 (#2497)
- 0ad17b50 [Chore] Bump follow-redirects from 1.15.1 to 1.15.4 (#2507)
- b3be6c9e [Fix] fix example node-app arrow errors (#2508)
- 24acc1a0 [Chore] Update Uber References (#2495)

## [3.0.0] - December 21 2023

- 21a445fd [chore] update readme, fix examples, show effects button (#2492)
Expand Down
2 changes: 1 addition & 1 deletion docs/api-reference/advanced-usages/reducer-plugin.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ For advanced users, who want to add additional action handler to kepler.gl reduc

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

const customizedKeplerGlReducer = keplerGlReducer
.plugin({
Expand Down
6 changes: 3 additions & 3 deletions docs/api-reference/advanced-usages/replace-ui-component.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ In kepler.gl, we create the app injector by calling provide with an array of def
Here is an example of how to use `injectComponents` to replace default `PanelHeader`.

```js
import {injectComponents, PanelHeaderFactory} from 'kepler.gl/components';
import {injectComponents, PanelHeaderFactory} from '@kepler.gl/components';

// define custom header
const CustomHeader = () => (<div>My kepler.gl app</div>);
Expand Down Expand Up @@ -68,8 +68,8 @@ const MapContainer = () => <KeplerGl id="foo"/>;
Here is an example of using `withState` helper to add reducer state and actions to customized component as additional props.

```js
import {withState, injectComponents, PanelHeaderFactory} from 'kepler.gl/components';
import {visStateLens} from 'kepler.gl/reducers';
import {withState, injectComponents, PanelHeaderFactory} from '@kepler.gl/components';
import {visStateLens} from '@kepler.gl/reducers';

// custom action wrap to mounted instance
const addTodo = (text) => ({
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 @@ -21,7 +21,7 @@ const MapContainer = ({dispatch}) => (
or import the corresponding updater `mapStateUpdaters.togglePerspectiveUpdater` and call it inside the root reducer. The example below demos how to add a button outside kepler.gl component, and update the map perspective when click it.

```js
import keplerGlReducer, {mapStateUpdaters} from 'kepler.gl/reducers';
import keplerGlReducer, {mapStateUpdaters} from '@kepler.gl/reducers';

// Root Reducer
const reducers = combineReducers({
Expand Down
12 changes: 6 additions & 6 deletions docs/api-reference/localization/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Localization

Kepler.gl supports localization through [react-intl]. Locale is determined by `uiState.locale` value.
Current supported languages are:
Current supported languages are:

| locale code | Language | Default? |
|-------------|------------|----------|
Expand All @@ -20,8 +20,8 @@ By default the first language is English `en`. The default language can be chang

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

const customizedKeplerGlReducer = keplerGlReducer.initialState({
uiState: {
Expand Down Expand Up @@ -55,7 +55,7 @@ Let's say we want to add the Swedish language to kepler.gl. Easiest way to add t
```

## Modify default translation or add new translation
the `localeMessages` prop of `KeplerGl` takes additional translations and merge with default translation.
the `localeMessages` prop of `KeplerGl` takes additional translations and merge with default translation.

#### Example 1. Update default translation
To update the english translation of `layerManager.addData`, pass `localeMessages` like this.
Expand All @@ -68,7 +68,7 @@ const localeMessages = {
};

const App = () => (
<KeplerGl
<KeplerGl
id="map"
localeMessages={messages}
mapboxApiAccessToken={Token}
Expand All @@ -86,7 +86,7 @@ const localeMessages = {
};

const App = () => (
<KeplerGl
<KeplerGl
id="map"
localeMessages={messages}
mapboxApiAccessToken={Token}
Expand Down
32 changes: 16 additions & 16 deletions docs/api-reference/processors/processors.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

### Table of Contents

- [getFieldsFromData][1]
- [processCsvData][4]
- [processGeojson][7]
- [processKeplerglJSON][10]
- [processRowObject][13]
- [getFieldsFromData](#getfieldsfromdata)
- [processCsvData](#processcsvdata)
- [processGeojson](#processgeojson)
- [processKeplerglJSON](#processkeplergljson)
- [processRowObject](#processrowobject)

## getFieldsFromData

Expand All @@ -21,7 +21,7 @@ Assign `type`, `tableFieldIndex` and `format` (timestamp only) to each field
**Examples**

```javascript
import {getFieldsFromData} from 'kepler.gl/processors';
import {getFieldsFromData} from '@kepler.gl/processors';
const data = [{
time: '2016-09-17 00:09:55',
value: '4',
Expand Down Expand Up @@ -66,7 +66,7 @@ The data object can be wrapped in a `dataset` and pass to [`addDataToMap`][18]
**Examples**

```javascript
import {processCsvData} from 'kepler.gl/processors';
import {processCsvData} from '@kepler.gl/processors';

const testData = `gps_data.utc_timestamp,gps_data.lat,gps_data.lng,gps_data.types,epoch,has_result,id,time,begintrip_ts_utc,begintrip_ts_local,date
2016-09-17 00:09:55,29.9900937,31.2590542,driver_analytics,1472688000000,False,1,2016-09-23T00:00:00.000Z,2016-10-01 09:41:39+00:00,2016-10-01 09:41:39+00:00,2016-09-23
Expand Down Expand Up @@ -100,8 +100,8 @@ The data object can be wrapped in a `dataset` and pass to [`addDataToMap`][18]
**Examples**

```javascript
import {addDataToMap} from 'kepler.gl/actions';
import {processGeojson} from 'kepler.gl/processors';
import {addDataToMap} from '@kepler.gl/actions';
import {processGeojson} from '@kepler.gl/processors';

const geojson = {
"type" : "FeatureCollection",
Expand Down Expand Up @@ -138,15 +138,15 @@ The json object should contain `datasets` and `config`.

**Parameters**

- `rawData` **[Object][17]**
- `rawData.datasets` **[Array][16]**
- `rawData.config` **[Object][17]**
- `rawData` **[Object][17]**
- `rawData.datasets` **[Array][16]**
- `rawData.config` **[Object][17]**

**Examples**

```javascript
import {addDataToMap} from 'kepler.gl/actions';
import {processKeplerglJSON} from 'kepler.gl/processors';
import {addDataToMap} from '@kepler.gl/actions';
import {processKeplerglJSON} from '@kepler.gl/processors';

dispatch(addDataToMap(processKeplerglJSON(keplerGlJson)));
```
Expand All @@ -164,8 +164,8 @@ Process data where each row is an object, output can be passed to [`addDataToMap
**Examples**

```javascript
import {addDataToMap} from 'kepler.gl/actions';
import {processRowObject} from 'kepler.gl/processors';
import {addDataToMap} from '@kepler.gl/actions';
import {processRowObject} from '@kepler.gl/processors';

const data = [
{lat: 31.27, lng: 127.56, value: 3},
Expand Down
8 changes: 4 additions & 4 deletions docs/api-reference/reducers/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,14 @@ It is immportant to understand the relationship between __kepler.gl reducer__, _
## KeplerGl Reducer

To connect kepler.gl components to your Redux app you'll need the following pieces from the kepler.gl package:
- Redux Reducer: `keplerGlReducer` imported from `kepler.gl/reducers`
- React Component: `KeplerGl` imported from `kepler.gl`
- Redux Reducer: `keplerGlReducer` imported from `@kepler.gl/reducers`
- React Component: `KeplerGl` imported from `@kepler.gl/components`

These are the only 2 pieces you need to get kepler.gl up and running in your app. When you mount kepler.gl reducer in your app reducer (with `combineReducers`), it will then managers __ALL__ KeplerGl component instances that you add to your app. Each kepler.gl instance state is stored in a instance reduccer.

For instance, if you have 2 kepler.gl components in your App:
```js
import KeplerGl from 'kepler.gl';
import KeplerGl from '@kepler.gl/components';

const MapApp = () => (
<div>
Expand Down Expand Up @@ -73,7 +73,7 @@ User can import a specific action handler in their root reducer and use it to di
Here is an example how you can listen to an app action `QUERY_SUCCESS` and call `updateVisDataUpdater` to load data into kepler.gl.

```js
import keplerGlReducer, {visStateUpdaters} from 'kepler.gl/reducers';
import keplerGlReducer, {visStateUpdaters} from '@kepler.gl/reducers';

// Root Reducer
const reducers = combineReducers({
Expand Down
8 changes: 4 additions & 4 deletions docs/api-reference/reducers/combine.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

### Table of Contents

- [combinedUpdaters][1]
- [addDataToMapUpdater][3]
- [combinedUpdaters](#combinedupdaters)
- [addDataToMapUpdater](#adddatatomapupdater)

## combinedUpdaters

Expand All @@ -14,7 +14,7 @@ as the first argument. Read more about [Using updaters][5]
**Examples**

```javascript
import keplerGlReducer, {combinedUpdaters} from 'kepler.gl/reducers';
import keplerGlReducer, {combinedUpdaters} from '@kepler.gl/reducers';
// Root Reducer
const reducers = combineReducers({
keplerGl: keplerGlReducer,
Expand Down Expand Up @@ -58,7 +58,7 @@ Combine data and full configuration update in a single action
**Parameters**

- `state` **[Object][7]** kepler.gl instance state, containing all subreducer state
- `action` **[Object][7]**
- `action` **[Object][7]**
- `action.payload` **[Object][7]** `{datasets, options, config}`
- `action.payload.datasets` **([Array][8]&lt;[Object][7]> | [Object][7])** **\*required** datasets can be a dataset or an array of datasets
Each dataset object needs to have `info` and `data` property.
Expand Down
Loading

0 comments on commit 8edff99

Please sign in to comment.