chore: merge

This commit is contained in:
thinkinggis 2020-05-09 11:26:43 +08:00
commit 89e5408e29
46 changed files with 923 additions and 672 deletions

View File

@ -1,6 +1,6 @@
---
title: Draw Component
order: 2
order: 3
---
地图绘制组件,支持点、线、面, 圆、矩形、的绘制编辑。
@ -157,10 +157,18 @@ drawPoint.enable();
开始编辑,绘制完成之后会自动结束。
```javascript
draw.enable();
```
#### disable
结束编辑
```javascript
draw.enable();
```
### 事件
#### draw.create

View File

@ -1,102 +1,8 @@
---
title: 地图绘制组件
order: 2
title: Draw 实例
order: 3
---
地图绘制组件,支持点、线、面, 圆、矩形、的绘制编辑。
# 使用
**using modules**
```javascript
import { DrawControl } from '@antv/l7-draw';
```
**CDN 版本引用**
```html
<head>
<! --引入最新版的L7-Draw -->
<script src="https://unpkg.com/@antv/l7-draw"></script>
</head>
```
### 参数
```javascript
const control = new DrawControl(scene, option);
```
```javascript
// CDN 引用
const control = new L7.Draw.DrawControl(scene, option);
```
#### scene
scene 对象
#### options
control 配置项
| name | Type | Default | Description |
| -------- | --------------------------------------------- | ---------- | ------------------------------- |
| position | `bottomright、topright、 bottomleft topleft` | `topright` | 组件位置 |
| layout | `horizontal、 vertical` | `vertical` | 组件布局 支持水平和垂直两种布局 |
| controls | `controlOptions` | | 设置 UI 组件添加哪些绘制工具 |
| style | | | 地图绘制样式 |
**controlOptions**
UI 组件配置项
- point `boolean | drawOption` 绘制点工具配置
- line `boolean | drawOption` 绘制线工具配置
- polygon `boolean | drawOption` 绘制面工具配置
- circle `boolean | drawOption` 绘制圆工具配置
- rect `boolean | drawOption` 绘制矩形工具配置
- delete `boolean | drawOption` 添加删除工具
默认配置
```
{
point: true,
line: true,
polygon: true,
rect: true,
circle: true,
delete: true
}
```
示例
```
{
point: false,
line: {
editEnable: false,
},
polygon: true,
rect: true,
circle: true,
delete: false
```
### 添加到地图
```javascript
scene.addControl(control);
```
### 从地图中移除
```javascript
scene.removeControl(control);
```
### Draw Type
可以不依赖 Draw UI 组件,独立的使用每一个 Draw
@ -153,8 +59,9 @@ drawPoint.enable();
### 配置项 DrawOption
- editEnable boolean 是否允许编辑
- selectEnable boolean 是否允许选中
- editEnable `boolean` 是否允许编辑
- selectEnable `boolean` 是否允许选中
- data `geojson` 传入数据
### 方法
@ -179,101 +86,3 @@ drawPoint.enable();
#### draw.update
图形更新时触发该事件,图形的平移,顶点的编辑
### style
- active 绘制过程中高亮颜色
- normal 正常显示状态
```javascript
const style = {
active: {
point: {
type: 'PointLayer',
shape: 'circle',
color: '#fbb03b',
size: 5,
style: {
stroke: '#fff',
strokeWidth: 2,
},
},
line: {
type: 'LineLayer',
shape: 'line',
color: '#fbb03b',
size: 1,
style: {
opacity: 1,
lineType: 'dash',
dashArray: [2, 2],
},
},
polygon: {
shape: 'fill',
color: '#fbb03b',
style: {
opacity: 0.1,
stroke: '#fbb03b',
strokeWidth: 1,
strokeOpacity: 1,
lineType: 'dash',
dashArray: [2, 2],
},
},
},
normal: {
polygon: {
type: 'PolygonLayer',
shape: 'fill',
color: '#3bb2d0',
style: {
opacity: 0.1,
stroke: '#3bb2d0',
strokeWidth: 1,
strokeOpacity: 1,
lineType: 'solid',
dashArray: [2, 2],
},
},
line: {
type: 'LineLayer',
shape: 'line',
size: 1,
color: '#3bb2d0',
style: {
opacity: 1,
},
},
point: {
type: 'PointLayer',
shape: 'circle',
color: '#3bb2d0',
size: 3,
style: {
stroke: '#fff',
strokeWidth: 2,
},
},
},
normal_point: {
type: 'PointLayer',
shape: 'circle',
color: '#3bb2d0',
size: 3,
style: {
stroke: '#fff',
strokeWidth: 2,
},
},
mid_point: {
point: {
type: 'PointLayer',
shape: 'circle',
color: '#fbb03b',
size: 3,
style: {},
},
},
};
```

View File

@ -0,0 +1,245 @@
---
title: Draw UI Component
order: 2
---
地图绘制组件,支持点、线、面, 圆、矩形、的绘制编辑。
# 使用
**using modules**
```javascript
import { DrawControl } from '@antv/l7-draw';
```
**CDN 版本引用**
```html
<head>
<! --引入最新版的L7-Draw -->
<script src="https://unpkg.com/@antv/l7-draw"></script>
</head>
```
### 参数
```javascript
const control = new DrawControl(scene, option);
```
```javascript
// CDN 引用
const control = new L7.Draw.DrawControl(scene, option);
```
#### scene
scene 对象, 绘制控件需要传入 scene 实例
#### options
control 配置项
| name | Type | Default | Description |
| -------- | --------------------------------------------- | ---------- | ------------------------------- |
| position | `bottomright、topright、 bottomleft topleft` | `topright` | 组件位置 |
| layout | `horizontal、 vertical` | `vertical` | 组件布局 支持水平和垂直两种布局 |
| controls | `controlOptions` | | 设置 UI 组件添加哪些绘制工具 |
| style | | | 地图绘制样式 |
**controlOptions**
UI 组件配置项
- point `boolean | drawOption` 绘制点工具配置
- line `boolean | drawOption` 绘制线工具配置
- polygon `boolean | drawOption` 绘制面工具配置
- circle `boolean | drawOption` 绘制圆工具配置
- rect `boolean | drawOption` 绘制矩形工具配置
- delete `boolean | drawOption` 添加删除工具
默认配置
```
{
point: true,
line: true,
polygon: true,
rect: true,
circle: true,
delete: true
}
```
示例
```
{
point: false,
line: {
editEnable: false,
},
polygon: true,
rect: true,
circle: true,
delete: false
```
### 添加到地图
```javascript
scene.addControl(control);
```
### 从地图中移除
```javascript
scene.removeControl(control);
```
## 方法
### getDraw()
参数: type 绘制实例 `point|line|polygon|rect| circle`
```javascript
const pointDraw = drawcontrol.get('point');
```
### getAllData()
获取每个 Draw 实例绘制的结果数据
返回数据格式如下
```javascript
{
point: [];
line: [];
}
```
### 事件
drawControl 的事件类型和每个 Draw 的事件一致,如果在 drawControl 监听事件会为每个 draw 增加事件监听。
- drawType: Draw 类型
- feature: 对应的数据
#### draw.create
绘制完成时触发该事件
#### draw.delete
图形删除时触发该事件
#### draw.update
图形更新时触发该事件,图形的平移,顶点的编辑
```javascript
drawControl.on('draw.delete', (e) => {});
```
### style
style 配置项可以按需配置,内部会和默认值进行 merge
- active 绘制过程中高亮颜色
- normal 正常显示状态
```javascript
// 默认配置参数
const style = {
active: {
point: {
type: 'PointLayer',
shape: 'circle',
color: '#fbb03b',
size: 5,
style: {
stroke: '#fff',
strokeWidth: 2,
},
},
line: {
type: 'LineLayer',
shape: 'line',
color: '#fbb03b',
size: 1,
style: {
opacity: 1,
lineType: 'dash',
dashArray: [2, 2],
},
},
polygon: {
shape: 'fill',
color: '#fbb03b',
style: {
opacity: 0.1,
stroke: '#fbb03b',
strokeWidth: 1,
strokeOpacity: 1,
lineType: 'dash',
dashArray: [2, 2],
},
},
},
normal: {
polygon: {
type: 'PolygonLayer',
shape: 'fill',
color: '#3bb2d0',
style: {
opacity: 0.1,
stroke: '#3bb2d0',
strokeWidth: 1,
strokeOpacity: 1,
lineType: 'solid',
dashArray: [2, 2],
},
},
line: {
type: 'LineLayer',
shape: 'line',
size: 1,
color: '#3bb2d0',
style: {
opacity: 1,
},
},
point: {
type: 'PointLayer',
shape: 'circle',
color: '#3bb2d0',
size: 3,
style: {
stroke: '#fff',
strokeWidth: 2,
},
},
},
normal_point: {
type: 'PointLayer',
shape: 'circle',
color: '#3bb2d0',
size: 3,
style: {
stroke: '#fff',
strokeWidth: 2,
},
},
mid_point: {
point: {
type: 'PointLayer',
shape: 'circle',
color: '#fbb03b',
size: 3,
style: {},
},
},
};
```

View File

@ -0,0 +1,255 @@
---
title: 绘制 UI 组件
order: 2
---
地图绘制组件,支持点、线、面, 圆、矩形、的绘制编辑。
# 使用
**using modules**
```javascript
import { DrawControl } from '@antv/l7-draw';
```
**CDN 版本引用**
```html
<head>
<! --引入最新版的L7-Draw -->
<script src="https://unpkg.com/@antv/l7-draw"></script>
</head>
```
### 参数
```javascript
const control = new DrawControl(scene, option);
```
```javascript
// CDN 引用
const control = new L7.Draw.DrawControl(scene, option);
```
#### scene
scene 对象
#### options
control 配置项
| name | Type | Default | Description |
| -------- | --------------------------------------------- | ---------- | ------------------------------- |
| position | `bottomright、topright、 bottomleft topleft` | `topright` | 组件位置 |
| layout | `horizontal、 vertical` | `vertical` | 组件布局 支持水平和垂直两种布局 |
| controls | `controlOptions` | | 设置 UI 组件添加哪些绘制工具 |
| style | | | 地图绘制样式 |
**controlOptions**
UI 组件配置项
- point `boolean | drawOption` 绘制点工具配置
- line `boolean | drawOption` 绘制线工具配置
- polygon `boolean | drawOption` 绘制面工具配置
- circle `boolean | drawOption` 绘制圆工具配置
- rect `boolean | drawOption` 绘制矩形工具配置
- delete `boolean | drawOption` 添加删除工具
默认配置
```
{
point: true,
line: true,
polygon: true,
rect: true,
circle: true,
delete: true
}
```
示例
```
{
point: false,
line: {
editEnable: false,
},
polygon: true,
rect: true,
circle: true,
delete: false
```
### 添加到地图
```javascript
scene.addControl(control);
```
### 从地图中移除
```javascript
scene.removeControl(control);
```
## 方法
### getDraw(type)
获取 draw 实例
参数: type 绘制实例 `point|line|polygon|rect| circle`
```javascript
const pointDraw = drawcontrol.get('point');
```
### getAllData()
获取每个 Draw 实例绘制的结果数据
返回数据格式如下
```javascript
{
point: []; // geojson数据格式
line: [];
}
```
### removeAllData()
移除绘制的的所有数据
```javascript
drawcontrol.removeAllData();
```
### 事件
drawControl 的事件类型和每个 Draw 的事件一致,如果在 drawControl 监听事件会为每个 draw 增加事件监听。
- drawType: Draw 类型
- feature: 对应的数据
#### draw.create
绘制完成时触发该事件
#### draw.delete
图形删除时触发该事件
#### draw.update
图形更新时触发该事件,图形的平移,顶点的编辑
```javascript
drawControl.on('draw.delete', (e) => {});
```
### style
style 配置项可以按需配置,内部会和默认值进行 merge
- active 绘制过程中高亮颜色
- normal 正常显示状态
```javascript
// 默认配置参数
const style = {
active: {
point: {
type: 'PointLayer',
shape: 'circle',
color: '#fbb03b',
size: 5,
style: {
stroke: '#fff',
strokeWidth: 2,
},
},
line: {
type: 'LineLayer',
shape: 'line',
color: '#fbb03b',
size: 1,
style: {
opacity: 1,
lineType: 'dash',
dashArray: [2, 2],
},
},
polygon: {
shape: 'fill',
color: '#fbb03b',
style: {
opacity: 0.1,
stroke: '#fbb03b',
strokeWidth: 1,
strokeOpacity: 1,
lineType: 'dash',
dashArray: [2, 2],
},
},
},
normal: {
polygon: {
type: 'PolygonLayer',
shape: 'fill',
color: '#3bb2d0',
style: {
opacity: 0.1,
stroke: '#3bb2d0',
strokeWidth: 1,
strokeOpacity: 1,
lineType: 'solid',
dashArray: [2, 2],
},
},
line: {
type: 'LineLayer',
shape: 'line',
size: 1,
color: '#3bb2d0',
style: {
opacity: 1,
},
},
point: {
type: 'PointLayer',
shape: 'circle',
color: '#3bb2d0',
size: 3,
style: {
stroke: '#fff',
strokeWidth: 2,
},
},
},
normal_point: {
type: 'PointLayer',
shape: 'circle',
color: '#3bb2d0',
size: 3,
style: {
stroke: '#fff',
strokeWidth: 2,
},
},
mid_point: {
point: {
type: 'PointLayer',
shape: 'circle',
color: '#fbb03b',
size: 3,
style: {},
},
},
};
```

View File

@ -52,6 +52,18 @@ layer.source(pointsData, {
});
```
### 方法
获取聚合节点的原始数据,通过Source的 getClustersLeaves方法
```javascript
const source = layer.getSource();
source.getClustersLeaves(id)
layer.on('click', (e) => {
console.log(source.getClustersLeaves(e.feature.cluster_id));
});
```
### 完整示例

View File

@ -66,6 +66,36 @@ layer.source(data);
layer.setData(data);
```
### 方法
#### getClustersLeaves(cluster_id)
聚合图使用,获取聚合节点的原始数据
参数:
id 聚合节点的 cluster_id
```javascript
layer.on('click', (e) => {
console.log(source.getClustersLeaves(e.feature.cluster_id));
});
```
### 方法
#### getClustersLeaves(cluster_id)
聚合图使用,获取聚合节点的原始数据
参数:
id 聚合节点的 cluster_id
```javascript
layer.on('click', (e) => {
console.log(source.getClustersLeaves(e.feature.cluster_id));
});
```
#### JSON
[JSON 数据格式解析](./json)

View File

@ -14,7 +14,7 @@
"message": "chore: publish"
}
},
"version": "2.2.0",
"version": "2.2.3",
"npmClient": "yarn",
"useWorkspaces": true,
"publishConfig": {

View File

@ -22,7 +22,7 @@
"@babel/preset-typescript": "^7.3.3",
"@commitlint/cli": "^8.1.0",
"@commitlint/config-conventional": "^8.1.0",
"@rollup/plugin-alias": "^2.2.0",
"@rollup/plugin-alias": "^3.1.0",
"@rollup/plugin-commonjs": "11.0.2",
"@rollup/plugin-json": "^4.0.0",
"@rollup/plugin-node-resolve": "^6.0.0",
@ -32,7 +32,7 @@
"@types/enzyme": "^3.1.14",
"@types/enzyme-adapter-react-16": "^1.0.3",
"@types/gl": "^4.1.0",
"@types/jest": "^24.0.18",
"@types/jest": "^25.2.1",
"@types/node": "13.11.1",
"@types/storybook__react": "^4.0.2",
"@types/supercluster": "^5.0.1",
@ -50,7 +50,7 @@
"babel-plugin-transform-postcss": "^0.3.0",
"babel-preset-gatsby": "^0.2.22",
"babel-template": "^6.26.0",
"clean-webpack-plugin": "^0.1.19",
"clean-webpack-plugin": "^3.0.0",
"commitizen": "^4.0.3",
"copy-webpack-plugin": "^4.5.2",
"core-js": "3",
@ -72,7 +72,7 @@
"gh-pages": "^2.1.1",
"gl": "^4.4.0",
"glsl-minifier": "^0.0.13",
"html-webpack-plugin": "^3.2.0",
"html-webpack-plugin": "^4.3.0",
"husky": "^3.0.9",
"jest": "^24.9.0",
"jest-electron": "^0.1.11",
@ -86,13 +86,13 @@
"postcss-plugin": "^1.0.0",
"postcss-url": "^8.0.0",
"prettier": "^1.19.1",
"raw-loader": "^1.0.0",
"raw-loader": "^4.0.1",
"react": "^16.13.1",
"react-docgen-typescript-loader": "^3.1.0",
"react-dom": "^16.13.1",
"react-i18next": "^11.0.1",
"react-scripts": "^3.4.1",
"rimraf": "^2.6.2",
"rimraf": "^3.0.2",
"rollup": "^1.27.14",
"rollup-plugin-analyzer": "^3.2.2",
"rollup-plugin-babel": "^4.3.3",
@ -102,12 +102,12 @@
"rollup-plugin-terser": "^5.1.2",
"rollup-plugin-typescript": "^1.0.1",
"rollup-pluginutils": "^2.8.2",
"sass-loader": "^7.1.0",
"sass-loader": "^8.0.2",
"style-loader": "^1.0.0",
"styled-components": "^3.4.6",
"stylelint": "^9.5.0",
"stylelint-config-recommended": "^2.1.0",
"stylelint-config-standard": "^18.2.0",
"stylelint-config-standard": "^20.0.0",
"stylelint-config-styled-components": "^0.1.1",
"stylelint-processor-styled-components": "^1.3.2",
"svg-inline-loader": "^0.8.0",
@ -116,7 +116,7 @@
"tslint": "^5.11.0",
"tslint-config-prettier": "^1.15.0",
"tslint-plugin-prettier": "^1.3.0",
"tslint-react": "^3.6.0",
"tslint-react": "^4.1.0",
"typescript": "^3.7.0-beta",
"webpack": "^4.17.1",
"webpack-cli": "^3.1.0",

View File

@ -1,6 +1,6 @@
{
"name": "@antv/l7-component",
"version": "2.2.0",
"version": "2.2.3",
"description": "",
"main": "lib/index.js",
"module": "es/index.js",
@ -24,14 +24,14 @@
"author": "lzxue",
"license": "ISC",
"dependencies": {
"@antv/l7-core": "^2.2.0",
"@antv/l7-utils": "^2.2.0",
"@antv/l7-core": "2.2.3",
"@antv/l7-utils": "2.2.3",
"@babel/runtime": "^7.7.7",
"eventemitter3": "^4.0.0",
"inversify": "^5.0.1",
"load-styles": "^2.0.0"
},
"gitHead": "a5d354b66873f700730248d015c5e539c54b34b7",
"gitHead": "532ade40831b35b04a677b351d092e54c00613d8",
"publishConfig": {
"access": "public"
}

View File

@ -1,6 +1,6 @@
{
"name": "@antv/l7-core",
"version": "2.2.0",
"version": "2.2.3",
"description": "",
"main": "lib/index.js",
"module": "es/index.js",
@ -23,7 +23,7 @@
"license": "ISC",
"dependencies": {
"@antv/async-hook": "^2.1.0",
"@antv/l7-utils": "^2.2.0",
"@antv/l7-utils": "2.2.3",
"@babel/runtime": "^7.7.7",
"@mapbox/tiny-sdf": "^1.1.1",
"ajv": "^6.10.2",
@ -46,7 +46,7 @@
"@types/lodash": "^4.14.138",
"@types/viewport-mercator-project": "^6.1.0"
},
"gitHead": "a5d354b66873f700730248d015c5e539c54b34b7",
"gitHead": "532ade40831b35b04a677b351d092e54c00613d8",
"publishConfig": {
"access": "public"
}

View File

@ -1,6 +1,6 @@
{
"name": "@antv/l7-district",
"version": "2.2.0",
"version": "2.2.3",
"description": "L7 district moudules",
"keywords": [],
"author": "thinkinggis <lzx199065@gmail.com>",
@ -43,6 +43,7 @@
"@turf/turf": "^5.1.6",
"geobuf": "^3.0.1",
"lodash": "^4.6.2",
"eventemitter3": "^4.0.0",
"pbf": "^3.2.1"
},
"peerDependencies": {

View File

@ -22,7 +22,12 @@ export default {
url({ url: 'inline' })
]
}),
commonjs(),
commonjs({
namedExports: {
eventemitter3: [ 'EventEmitter' ],
lodash: [ 'merge', 'clone' ]
}
}),
buble({
transforms: { generator: false }
}),

View File

@ -0,0 +1,9 @@
import BaseLayer from '../layer/baseLayer';
describe('baseLayer', () => {
it('set option', () => {
const option = {
adcode: [],
};
// const layer = new BaseLayer(null, option);
});
});

View File

@ -8,6 +8,7 @@ import {
Scene,
StyleAttrField,
} from '@antv/l7';
import { EventEmitter } from 'eventemitter3';
// @ts-ignore
import geobuf from 'geobuf';
// tslint:disable-next-line: no-submodule-imports
@ -15,7 +16,7 @@ import merge from 'lodash/merge';
// @ts-ignore
import Pbf from 'pbf';
import { IDistrictLayerOption } from './interface';
export default class BaseLayer {
export default class BaseLayer extends EventEmitter {
public fillLayer: ILayer;
public lineLayer: ILayer;
public labelLayer: ILayer;
@ -25,8 +26,9 @@ export default class BaseLayer {
private popup: IPopup;
constructor(scene: Scene, option: Partial<IDistrictLayerOption> = {}) {
super();
this.scene = scene;
this.options = merge(this.getDefaultOption(), option);
this.options = merge({}, this.getDefaultOption(), option);
}
public destroy() {
@ -53,6 +55,7 @@ export default class BaseLayer {
return {
zIndex: 0,
depth: 1,
adcode: [],
label: {
enable: true,
color: '#000',
@ -133,6 +136,7 @@ export default class BaseLayer {
if (popup.enable) {
this.addPopup();
}
this.emit('loaded');
}
protected addFillLine(provinceLine: any) {

View File

@ -13,7 +13,7 @@ import { adcodeType, IDistrictLayerOption } from './interface';
import ProvinceLayer from './province';
export interface IProvinceLayerOption extends IDistrictLayerOption {
adcode: string[];
adcode: adcodeType;
}
export default class CityLayer extends ProvinceLayer {
protected getDefaultOption(): IProvinceLayerOption {

View File

@ -5,7 +5,7 @@ import { adcodeType, IDistrictLayerOption } from './interface';
import ProvinceLayer from './province';
export interface IProvinceLayerOption extends IDistrictLayerOption {
adcode: string[];
adcode: adcodeType;
}
export default class CityLayer extends ProvinceLayer {
protected getDefaultOption(): IProvinceLayerOption {

View File

@ -9,17 +9,29 @@ export default class DrillDownLayer {
private cityLayer: CityLayer;
private countryLayer: CountryLayer;
constructor(scene: Scene, option: Partial<IDistrictLayerOption>) {
const cfg = this.getDefaultOption();
this.countryLayer = new CountryLayer(scene, option);
this.provinceLayer = new ProvinceLayer(scene);
this.provinceLayer = new ProvinceLayer(scene, cfg.city);
// this.cityLayer = new CityLayer(scene);
// this.provinceLayer.hide();
// this.cityLayer.hide();
this.countryLayer.on('loaded', () => {
this.addProvinceEvent();
});
}
public getDefaultOption() {
return {
province: {},
city: {},
county: {},
city: {
adcode: '',
},
county: {
adcode: [],
},
};
}
public addProvinceEvent() {
return 'event';
// this.countryLayer.fillLayer.on('click', (e: any) => {
// });
}
}

View File

@ -13,6 +13,7 @@ export type adcodeType = string[] | string | number | number[];
export interface IDistrictLayerOption {
zIndex: number;
data?: Array<{ [key: string]: any }>;
adcode: adcodeType;
depth: 0 | 1 | 2 | 3;
label: Partial<ILabelOption>;
fill: Partial<{

View File

@ -1,6 +1,6 @@
{
"name": "@antv/l7-draw",
"version": "2.2.0",
"version": "2.2.3",
"description": "L7 Draw moudules",
"keywords": [],
"author": "thinkinggis <lzx199065@gmail.com>",
@ -35,18 +35,16 @@
"test": "jest"
},
"dependencies": {
"@antv/l7": "^2.2.0",
"@antv/l7": "2.2.3",
"@babel/runtime": "^7.7.7",
"@turf/turf": "^5.1.6",
"@turf/circle": "^6.0.1",
"@turf/distance": "^6.0.1",
"@turf/helpers": "^6.1.4",
"@turf/midpoint": "^5.1.5",
"@turf/turf": "^5.1.6",
"eventemitter3": "^4.0.0",
"lodash": "^4.6.2"
},
"peerDependencies": {
"@antv/l7": "^2.1.15"
},
"bugs": {
"url": "https://github.com/antvis/L7/issues"
},
@ -56,5 +54,6 @@
"postcss-url": "^8.0.0",
"rollup": "^2.3.3",
"rollup-plugin-less": "^1.1.2"
}
},
"gitHead": "532ade40831b35b04a677b351d092e54c00613d8"
}

View File

@ -25,7 +25,7 @@ export default {
commonjs({
namedExports: {
eventemitter3: [ 'EventEmitter' ],
lodash: [ 'merge' ]
lodash: [ 'merge', 'clone' ]
}
}),
buble({

View File

@ -68,6 +68,10 @@ export class DrawControl extends Control {
const { controls } = this.controlOption as IDrawControlOption;
const container = DOM.create('div', controlClass) as HTMLElement;
this.addControls(controls, container);
// 代理每个绘制组件的事件
this.addControlEvent();
// 监听组件 选中, 编辑
return container;
}
@ -79,6 +83,32 @@ export class DrawControl extends Control {
}
}
}
public getDraw(type: string): DrawFeature | null {
const { controls } = this.controlOption as IDrawControlOption;
if (controls[type]) {
return this.draw[type];
}
return null;
}
public getAllData() {
const res: { [key: string]: any } = {};
for (const draw in this.draw) {
if (this.draw[draw]) {
res[draw] = this.draw[draw].getData();
}
}
return res;
}
public removeAllData() {
for (const draw in this.draw) {
if (this.draw[draw]) {
this.draw[draw].removeAllData();
}
}
}
private addControls(controls: IControls, container: HTMLElement) {
for (const type in controls) {
if (DrawType[type] && controls[type] !== false) {
@ -107,6 +137,22 @@ export class DrawControl extends Control {
}
}
private addControlEvent() {
for (const draw in this.draw) {
if (this.draw[draw]) {
['draw.create', 'draw.update', 'draw.delete'].forEach(
(type: string) => {
this.draw[draw].on(type, (feature) => {
this.emit(type, {
drawType: draw,
feature,
});
});
},
);
}
}
}
private createButton(
tile: string,
className: string,

View File

@ -63,7 +63,6 @@ export default abstract class DrawFeature extends DrawMode {
public setCurrentFeature(feature: Feature) {
this.currentFeature = feature as Feature;
// @ts-ignore
// @ts-ignore
this.pointFeatures = feature.properties.pointFeatures;
this.source.setFeatureActive(feature);
@ -78,7 +77,23 @@ export default abstract class DrawFeature extends DrawMode {
public enableLayer() {
this.drawLayer.enableSelect();
}
public getData(): FeatureCollection {
return this.source.getData();
}
public removeAllData(): void {
this.source.removeAllFeatures();
this.currentFeature = null;
this.drawLayer.hide();
this.drawVertexLayer.hide();
this.normalLayer.hide();
this.hideOtherLayer();
}
public clear() {
this.drawLayer.disableSelect();
this.drawLayer.disableEdit();
this.drawLayer.hide();
this.drawVertexLayer.hide();
this.hideOtherLayer();
@ -184,6 +199,8 @@ export default abstract class DrawFeature extends DrawMode {
break;
case DrawModes.STATIC:
this.source.updateFeature(this.currentFeature as Feature);
this.selectMode.disable();
this.editMode.disable();
this.source.clearFeatureActive();
this.drawVertexLayer.hide();
this.drawVertexLayer.disableEdit();
@ -205,7 +222,9 @@ export default abstract class DrawFeature extends DrawMode {
};
private onDrawMove = (delta: ILngLat) => {
this.moveFeature(delta);
if (this.drawStatus === 'DrawSelected') {
this.moveFeature(delta);
}
};
private onDrawEdit = (endpoint: ILngLat) => {
@ -218,7 +237,9 @@ export default abstract class DrawFeature extends DrawMode {
this.source.removeFeature(this.currentFeature as Feature);
this.normalLayer.update(this.source.data);
this.drawLayer.disableSelect();
this.selectMode.disable();
this.currentFeature = null;
// this.drawStatus = 'DrawDelete';
}
};

View File

@ -17,7 +17,8 @@ export type DrawStatus =
| 'DrawSelected'
| 'DrawEdit'
| 'DrawFinish'
| 'EditFinish';
| 'EditFinish'
| 'DrawDelete';
let DrawFeatureId = 0;

View File

@ -60,6 +60,7 @@ export default class DrawPoint extends DrawFeature {
protected createFeature(p: ILngLat): Feature {
const feature = point([p.lng, p.lat], {
id: this.getUniqId(),
type: 'point',
pointFeatures: [point([p.lng, p.lat])],
});
this.setCurrentFeature(feature as Feature);

View File

@ -29,6 +29,11 @@ export default class DrawPolygon extends DrawFeature {
this.type = 'polygon';
this.drawMidVertexLayer = new DrawMidVertex(this);
this.on(DrawEvent.MODE_CHANGE, this.addMidLayerEvent);
if (this.options.data) {
this.initData();
this.normalLayer.update(this.source.data);
this.normalLayer.enableSelect();
}
}
public enable() {
super.enable();
@ -116,9 +121,7 @@ export default class DrawPolygon extends DrawFeature {
this.endPoint = lngLat;
this.points.push(lngLat);
const feature = this.createFeature(this.points);
const properties = feature.properties as { pointFeatures: Feature[] };
const pointfeatures = createPoint([this.points[0], this.endPoint]);
// this.pointFeatures = pointfeatures.features;
this.drawLayer.update(featureCollection([feature]));
this.drawVertexLayer.update(featureCollection(pointfeatures.features));
this.onDraw();
@ -155,13 +158,17 @@ export default class DrawPolygon extends DrawFeature {
};
this.setCurrentFeature(newFeature[0]);
}
protected createFeature(points: ILngLat[]): Feature {
const pointfeatures = createPoint(this.points);
protected createFeature(
points: ILngLat[],
id?: string,
active: boolean = true,
): Feature {
const pointfeatures = createPoint(points);
this.pointFeatures = pointfeatures.features;
const feature = createPolygon(points, {
id: this.getUniqId(),
id: id || this.getUniqId(),
type: 'polygon',
active: true,
active,
pointFeatures: this.pointFeatures,
});
this.setCurrentFeature(feature as Feature);
@ -252,6 +259,26 @@ export default class DrawPolygon extends DrawFeature {
featureCollection([this.currentFeature as Feature]),
);
}
private initData() {
const features: Feature[] = [];
this.source.data.features.forEach((feature) => {
if (feature.geometry.type === 'Polygon') {
const points = (feature.geometry.coordinates[0] as Position[]).map(
(coord) => {
return {
lng: coord[0],
lat: coord[1],
};
},
);
features.push(
this.createFeature(points.slice(1), feature?.properties?.id, false),
);
}
});
this.source.data.features = features;
}
}
/**
* draw

View File

@ -20,6 +20,7 @@ export function renderFeature(fe: FeatureCollection, style: any): ILayer[] {
function drawPoint(fe: FeatureCollection, style: any) {
const layer = new PointLayer({
zIndex: 2,
pickingBuffer: 3,
})
.source(fe)
.shape('circle')

View File

@ -1,4 +1,6 @@
import { Feature, FeatureCollection } from '@turf/helpers';
// tslint:disable-next-line:no-submodule-imports
import cloneDeep from 'lodash/cloneDeep';
export default class DrawSource {
public data: FeatureCollection;
constructor(data?: FeatureCollection) {
@ -9,6 +11,20 @@ export default class DrawSource {
this.data.features.push(feature);
}
public getData(): FeatureCollection {
const features = cloneDeep(this.data.features).map((feature: Feature) => {
feature.properties = {
id: feature?.properties?.id,
type: feature?.properties?.type,
};
return feature;
});
return {
type: 'FeatureCollection',
features,
};
}
public getFeature(id: string): Feature | undefined {
const result = this.data.features.find((fe: Feature) => {
return fe?.properties?.id === id;
@ -16,6 +32,9 @@ export default class DrawSource {
return result;
}
public removeAllFeatures() {
this.data = this.getDefaultData();
}
public removeFeature(feature: Feature) {
const index = this.getFeatureIndex(feature);
if (index !== undefined) {

View File

@ -1,6 +1,6 @@
{
"name": "@antv/l7",
"version": "2.2.0",
"version": "2.2.3",
"description": "A Large-scale WebGL-powered Geospatial Data Visualization",
"main": "lib/index.js",
"module": "es/index.js",
@ -24,15 +24,15 @@
"author": "antv",
"license": "MIT",
"dependencies": {
"@antv/l7-component": "^2.2.0",
"@antv/l7-core": "^2.2.0",
"@antv/l7-layers": "^2.2.0",
"@antv/l7-maps": "^2.2.0",
"@antv/l7-scene": "^2.2.0",
"@antv/l7-utils": "^2.2.0",
"@antv/l7-component": "2.2.3",
"@antv/l7-core": "2.2.3",
"@antv/l7-layers": "2.2.3",
"@antv/l7-maps": "2.2.3",
"@antv/l7-scene": "2.2.3",
"@antv/l7-utils": "2.2.3",
"@babel/runtime": "^7.7.7"
},
"gitHead": "a5d354b66873f700730248d015c5e539c54b34b7",
"gitHead": "532ade40831b35b04a677b351d092e54c00613d8",
"publishConfig": {
"access": "public"
}

View File

@ -1,2 +1,2 @@
const version = '2.2.0';
const version = '2.2.3';
export { version };

View File

@ -1,6 +1,6 @@
{
"name": "@antv/l7-layers",
"version": "2.2.0",
"version": "2.2.3",
"description": "L7's collection of built-in layers",
"main": "lib/index.js",
"module": "es/index.js",
@ -23,11 +23,11 @@
"license": "ISC",
"dependencies": {
"@antv/async-hook": "^2.1.0",
"@antv/l7-core": "^2.2.0",
"@antv/l7-source": "^2.2.0",
"@antv/l7-utils": "^2.2.0",
"@antv/l7-core": "2.2.3",
"@antv/l7-source": "2.2.3",
"@antv/l7-utils": "2.2.3",
"@babel/runtime": "^7.7.7",
"@mapbox/martini": "^0.1.0",
"@mapbox/martini": "^0.2.0",
"@turf/meta": "^6.0.2",
"d3-array": "1",
"d3-color": "^1.4.0",
@ -50,7 +50,7 @@
"@types/gl-matrix": "^2.4.5",
"@types/lodash": "^4.14.138"
},
"gitHead": "a5d354b66873f700730248d015c5e539c54b34b7",
"gitHead": "532ade40831b35b04a677b351d092e54c00613d8",
"publishConfig": {
"access": "public"
}

View File

@ -1,6 +1,6 @@
{
"name": "@antv/l7-maps",
"version": "2.2.0",
"version": "2.2.3",
"description": "",
"main": "lib/index.js",
"module": "es/index.js",
@ -25,8 +25,8 @@
"author": "xiaoiver",
"license": "ISC",
"dependencies": {
"@antv/l7-core": "^2.2.0",
"@antv/l7-utils": "^2.2.0",
"@antv/l7-core": "2.2.3",
"@antv/l7-utils": "2.2.3",
"@babel/runtime": "^7.7.7",
"@types/amap-js-api": "^1.4.6",
"gl-matrix": "^3.1.0",
@ -39,7 +39,7 @@
"@types/mapbox-gl": "^0.54.3",
"@types/viewport-mercator-project": "^6.1.0"
},
"gitHead": "a5d354b66873f700730248d015c5e539c54b34b7",
"gitHead": "532ade40831b35b04a677b351d092e54c00613d8",
"publishConfig": {
"access": "public"
}

View File

@ -1,6 +1,6 @@
{
"name": "@antv/l7-react",
"version": "2.2.0",
"version": "2.2.3",
"description": "",
"main": "lib/index.js",
"module": "es/index.js",
@ -24,8 +24,8 @@
"author": "lzxue",
"license": "ISC",
"dependencies": {
"@antv/l7": "^2.2.0",
"@antv/l7-maps": "^2.2.0",
"@antv/l7": "2.2.3",
"@antv/l7-maps": "2.2.3",
"@babel/runtime": "^7.7.7",
"load-styles": "^2.0.0"
},
@ -33,7 +33,7 @@
"react": "^16.8.6",
"react-dom": "^16.10.2"
},
"gitHead": "a5d354b66873f700730248d015c5e539c54b34b7",
"gitHead": "532ade40831b35b04a677b351d092e54c00613d8",
"publishConfig": {
"access": "public"
}

View File

@ -1,6 +1,6 @@
{
"name": "@antv/l7-renderer",
"version": "2.2.0",
"version": "2.2.3",
"description": "",
"main": "lib/index.js",
"module": "es/index.js",
@ -25,14 +25,14 @@
"gl": "^4.4.0"
},
"dependencies": {
"@antv/l7-core": "^2.2.0",
"@antv/l7-core": "2.2.3",
"@babel/runtime": "^7.7.7",
"inversify": "^5.0.1",
"lodash": "^4.17.15",
"reflect-metadata": "^0.1.13",
"regl": "1.3.13"
},
"gitHead": "a5d354b66873f700730248d015c5e539c54b34b7",
"gitHead": "532ade40831b35b04a677b351d092e54c00613d8",
"publishConfig": {
"access": "public"
}

View File

@ -1,6 +1,6 @@
{
"name": "@antv/l7-scene",
"version": "2.2.0",
"version": "2.2.3",
"description": "",
"main": "lib/index.js",
"module": "es/index.js",
@ -22,17 +22,17 @@
"author": "xiaoiver",
"license": "ISC",
"dependencies": {
"@antv/l7-component": "^2.2.0",
"@antv/l7-core": "^2.2.0",
"@antv/l7-maps": "^2.2.0",
"@antv/l7-renderer": "^2.2.0",
"@antv/l7-utils": "^2.2.0",
"@antv/l7-component": "2.2.3",
"@antv/l7-core": "2.2.3",
"@antv/l7-maps": "2.2.3",
"@antv/l7-renderer": "2.2.3",
"@antv/l7-utils": "2.2.3",
"@babel/runtime": "^7.7.7",
"inversify": "^5.0.1",
"mapbox-gl": "^1.2.1",
"reflect-metadata": "^0.1.13"
},
"gitHead": "a5d354b66873f700730248d015c5e539c54b34b7",
"gitHead": "532ade40831b35b04a677b351d092e54c00613d8",
"publishConfig": {
"access": "public"
}

View File

@ -1,6 +1,6 @@
{
"name": "@antv/l7-source",
"version": "2.2.0",
"version": "2.2.3",
"description": "",
"main": "lib/index.js",
"module": "es/index.js",
@ -25,8 +25,8 @@
"license": "ISC",
"dependencies": {
"@antv/async-hook": "^2.1.0",
"@antv/l7-core": "^2.2.0",
"@antv/l7-utils": "^2.2.0",
"@antv/l7-core": "2.2.3",
"@antv/l7-utils": "2.2.3",
"@babel/runtime": "^7.7.7",
"@mapbox/geojson-rewind": "^0.4.0",
"@turf/helpers": "^6.1.4",
@ -44,7 +44,7 @@
"@types/d3-hexbin": "^0.2.3",
"@types/lodash": "^4.14.138"
},
"gitHead": "a5d354b66873f700730248d015c5e539c54b34b7",
"gitHead": "532ade40831b35b04a677b351d092e54c00613d8",
"publishConfig": {
"access": "public"
}

View File

@ -39,7 +39,9 @@ export function cluster(
type: 'Point',
coordinates: item.coordinates,
},
properties: {},
properties: {
...item,
},
};
});
pointIndex.load(geojson.features);

View File

@ -1,8 +1,12 @@
{
"name": "@antv/l7-three",
"version": "2.1.15",
"version": "2.2.3",
"description": "three for L7 ",
"keywords": ["3D", "L7", "three"],
"keywords": [
"3D",
"L7",
"three"
],
"author": "thinkinggis <lzx199065@gmail.com>",
"license": "ISC",
"main": "lib/index.js",
@ -39,12 +43,16 @@
},
"homepage": "https://github.com/antvis/L7#readme",
"dependencies": {
"@antv/l7": "2.2.0",
"@antv/l7": "2.2.3",
"@babel/runtime": "^7.7.7",
"rollup": "^2.3.3",
"rollup-plugin-less": "^1.1.2"
},
"devDependencies": {
"three": "^0.115.0"
},
"gitHead": "532ade40831b35b04a677b351d092e54c00613d8",
"publishConfig": {
"access": "public"
}
}

View File

@ -1,6 +1,6 @@
{
"name": "@antv/l7-utils",
"version": "2.2.0",
"version": "2.2.3",
"description": "",
"main": "lib/index.js",
"module": "es/index.js",
@ -29,7 +29,7 @@
"devDependencies": {
"@types/d3-color": "^1.2.2"
},
"gitHead": "a5d354b66873f700730248d015c5e539c54b34b7",
"gitHead": "532ade40831b35b04a677b351d092e54c00613d8",
"publishConfig": {
"access": "public"
}

View File

@ -171,7 +171,7 @@ export default class Country extends React.Component {
const { province } = this.state;
this.provinceLayer = new ProvinceLayer(scene, {
data: [],
adcode: [province],
adcode: [],
depth: 3,
label: {
field: 'NAME_CHN',

View File

@ -35,8 +35,13 @@ export default class AMapDraw extends React.Component {
delete: true,
},
});
scene.on('click', () => {
console.log('click');
// @ts-ignore
window.drawControl = drawControl;
drawControl.on('draw.create', (e) => {
console.log(e);
});
scene.on('dblclick', () => {
drawControl.removeAllData();
});
scene.addControl(drawControl);
});

View File

@ -1,5 +1,5 @@
import { LineLayer, PointLayer, PolygonLayer, Popup, Scene } from '@antv/l7';
import { DrawCircle } from '@antv/l7-draw';
import { DrawPolygon } from '@antv/l7-draw';
import { GaodeMap, Mapbox } from '@antv/l7-maps';
import * as React from 'react';
@ -23,13 +23,13 @@ export default class Circle extends React.Component {
this.scene = scene;
scene.on('loaded', () => {
const drawCircle = new DrawCircle(scene);
const drawCircle = new DrawPolygon(scene);
drawCircle.enable();
drawCircle.on('draw.create', (e: any) => {
console.log(e);
});
drawCircle.on('draw.update', (e: any) => {
console.log(e);
console.log('update', e);
});
});
}

View File

@ -36,6 +36,9 @@ export default class Circle extends React.Component {
},
});
scene.on('click', () => {});
drawControl.on('draw.update', (e: any) => {
console.log('update', e);
});
scene.addControl(drawControl);
});
}

View File

@ -1,210 +0,0 @@
import { LineLayer, PointLayer, PolygonLayer, Scene } from '@antv/l7';
import { GaodeMap, Mapbox } from '@antv/l7-maps';
import * as React from 'react';
function convertRGB2Hex(rgb: number[]) {
return (
'#' + rgb.map((r) => ('0' + Math.floor(r).toString(16)).slice(-2)).join('')
);
}
function calcMid(data1: number[], data2: number[]) {
return {
x: (data1[0] + data2[0]) / 2,
y: (data1[1] + data2[1]) / 2,
};
}
export default class MultiPolygon extends React.Component {
private gui: dat.GUI;
private $stats: Node;
private scene: Scene;
public componentWillUnmount() {
this.scene.destroy();
}
public async componentDidMount() {
const data = {
type: 'FeatureCollection',
features: [
{
type: 'Feature',
properties: {},
geometry: {
type: 'Polygon',
coordinates: [
[
[108.6328125, 40.17887331434696],
[92.28515625, 37.3002752813443],
[99.31640625, 25.799891182088334],
[111.26953125, 23.885837699862005],
[115.83984375, 36.87962060502676],
[108.6328125, 40.17887331434696],
],
],
},
},
],
};
const data2 = {
type: 'FeatureCollection',
features: [
{
type: 'Feature',
properties: {},
geometry: {
type: 'Polygon',
coordinates: [
[
[117.59765625, 45.9511496866914],
[120.76171875, 35.60371874069731],
[129.0234375, 30.90222470517144],
[135.703125, 37.43997405227057],
[135.703125, 45.9511496866914],
[117.59765625, 45.9511496866914],
],
],
},
},
],
};
const scene = new Scene({
id: 'map',
map: new GaodeMap({
pitch: 0,
style: 'dark',
center: [121.775374, 31.31067],
zoom: 2,
}),
});
const layer = new PolygonLayer()
.source(data)
.shape('fill')
.color('#3bb2d0')
.style({
opacity: 0.1,
});
layer.on('click', (e) => {
console.log(e);
});
layer.on('dblclick', (e) => {
console.log(e);
});
const line = new PolygonLayer()
.source(data)
.shape('line')
.size(1)
.color('#3bb2d0')
.style({
opacity: 1,
});
scene.addLayer(layer);
scene.addLayer(line);
const activelayer = new PolygonLayer()
.source(data2)
.shape('fill')
.color('#fbb03b')
.style({
opacity: 0.1,
});
const activeline = new PolygonLayer()
.source(data2)
.shape('line')
.size(1)
.color('#fbb03b')
.style({
opacity: 1,
lineType: 'dash',
dashArray: [2, 2],
});
scene.addLayer(activelayer);
scene.addLayer(activeline);
scene.addLayer(this.addPoint(data2));
scene.addLayer(this.addActivePoint());
scene.addLayer(this.addMidPoint(data2));
this.scene = scene;
}
public render() {
return (
<div
id="map"
style={{
position: 'absolute',
top: 0,
left: 0,
right: 0,
bottom: 0,
}}
/>
);
}
private addPoint(data: any) {
const pointData = data.features[0].geometry.coordinates[0].map(
(coor: any) => {
return {
x: coor[0],
y: coor[1],
};
},
);
return new PointLayer()
.source(pointData, {
parser: {
type: 'json',
x: 'x',
y: 'y',
},
})
.shape('circle')
.color('#fbb03b')
.size(3)
.style({
stroke: '#fff',
strokeWidth: 2,
});
}
private addMidPoint(data: any) {
const coords = data.features[0].geometry.coordinates[0];
const midPoint = [];
for (let i = 0; i < coords.length - 1; i++) {
midPoint.push(calcMid(coords[i], coords[i + 1]));
}
return new PointLayer()
.source(midPoint, {
parser: {
type: 'json',
x: 'x',
y: 'y',
},
})
.shape('circle')
.color('#fbb03b')
.size(2);
}
private addActivePoint() {
return new PointLayer()
.source(
[
{
x: 117.59765625,
y: 45.9511496866914,
},
],
{
parser: {
type: 'json',
x: 'x',
y: 'y',
},
},
)
.shape('circle')
.color('#fbb03b')
.size(5)
.style({
stroke: '#fff',
strokeWidth: 2,
});
}
}

View File

@ -23,7 +23,32 @@ export default class Circle extends React.Component {
this.scene = scene;
scene.on('loaded', () => {
const drawPolygon = new DrawPolygon(scene);
const drawPolygon = new DrawPolygon(scene, {
data: {
type: 'FeatureCollection',
features: [
{
type: 'Feature',
properties: {},
geometry: {
type: 'Polygon',
coordinates: [
[
[44.29687499999999, 55.3791104480105],
[28.4765625, 47.754097979680026],
[27.0703125, 38.8225909761771],
[42.890625, 33.43144133557529],
[73.47656249999999, 37.43997405227057],
[85.4296875, 47.989921667414194],
[79.1015625, 60.58696734225869],
[44.29687499999999, 55.3791104480105],
],
],
},
},
],
},
});
drawPolygon.enable();
});
}

View File

@ -6,7 +6,6 @@ import DrawCircle from './Components/DrawCircle';
import DrawControl from './Components/DrawControl';
import Line from './Components/DrawLine';
import Point from './Components/DrawPoint';
import DrawPolygon from './Components/DrawPolygon';
import DrawRect from './Components/DrawRect';
import Polygon from './Components/Polygon';
@ -18,5 +17,4 @@ storiesOf('绘制', module)
.add('路径', () => <Line />, {})
.add('绘制组件', () => <DrawControl />, {})
.add('绘制圆', () => <DrawCircle />, {})
.add('高德地图', () => <AMapDraw />, {})
.add('绘制面', () => <DrawPolygon />, {});
.add('高德地图', () => <AMapDraw />, {});

250
yarn.lock
View File

@ -1906,10 +1906,10 @@
"@types/istanbul-reports" "^1.1.1"
"@types/yargs" "^13.0.0"
"@jest/types@^25.4.0":
version "25.4.0"
resolved "https://registry.npmjs.org/@jest/types/-/types-25.4.0.tgz#5afeb8f7e1cba153a28e5ac3c9fe3eede7206d59"
integrity sha512-XBeaWNzw2PPnGW5aXvZt3+VO60M+34RY3XDsCK5tW7kyj3RK0XClRutCfjqcBuaR2aBQTbluEDME9b5MB9UAPw==
"@jest/types@^25.5.0":
version "25.5.0"
resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.5.0.tgz#4d6a4793f7b9599fc3680877b856a97dbccf2a9d"
integrity sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==
dependencies:
"@types/istanbul-lib-coverage" "^2.0.0"
"@types/istanbul-reports" "^1.1.1"
@ -2645,10 +2645,10 @@
resolved "https://registry.npmjs.org/@mapbox/mapbox-gl-supported/-/mapbox-gl-supported-1.5.0.tgz#f60b6a55a5d8e5ee908347d2ce4250b15103dc8e"
integrity sha512-/PT1P6DNf7vjEEiPkVIRJkvibbqWtqnyGaBz3nfRdcxclNSnSdaLU5tfAgcD7I8Yt5i+L19s406YLl1koLnLbg==
"@mapbox/martini@^0.1.0":
version "0.1.0"
resolved "https://registry.npmjs.org/@mapbox/martini/-/martini-0.1.0.tgz#1801b9234140e1136f37939157ba647d46f1ea30"
integrity sha512-sAk7M4l1Zw0vIRIH1QpT+dy548w0Mh5fMP+r2sNPVzM9q8BV2nur76Qiv7cQ1NJzbYdCX182qUxbRnUljT4grg==
"@mapbox/martini@^0.2.0":
version "0.2.0"
resolved "https://registry.yarnpkg.com/@mapbox/martini/-/martini-0.2.0.tgz#1af70211fbe994abf26e37f1388ca69c02cd43b4"
integrity sha512-7hFhtkb0KTLEls+TRw/rWayq5EeHtTaErgm/NskVoXmtgAQu/9D299aeyj6mzAR/6XUnYRp2lU+4IcrYRFjVsQ==
"@mapbox/point-geometry@0.1.0", "@mapbox/point-geometry@^0.1.0", "@mapbox/point-geometry@~0.1.0":
version "0.1.0"
@ -2954,10 +2954,10 @@
prop-types "^15.6.1"
react-lifecycles-compat "^3.0.4"
"@rollup/plugin-alias@^2.2.0":
version "2.2.0"
resolved "https://registry.npmjs.org/@rollup/plugin-alias/-/plugin-alias-2.2.0.tgz#3ac52ece8b39583249884adb90fb316484389fe5"
integrity sha512-//6zmlHGbmousaatu4pBlC61gqZykLbH0c2GESBO4JgK5xFZgb/ih0zlg/5/BmTAczX5R/xsHRnsYsu4KyHV5w==
"@rollup/plugin-alias@^3.1.0":
version "3.1.0"
resolved "https://registry.yarnpkg.com/@rollup/plugin-alias/-/plugin-alias-3.1.0.tgz#4f7bc9d15e030d75da9224aaa5105129c54a3ffd"
integrity sha512-IzoejtAqdfwAvx4D0bztAJFoL5Js36kJgnbO00zfI1B9jf9G80vWysyG0C4+E6w5uG5hz0EeetPpoBWKdNktCQ==
dependencies:
slash "^3.0.0"
@ -4910,12 +4910,13 @@
"@types/istanbul-lib-coverage" "*"
"@types/istanbul-lib-report" "*"
"@types/jest@^24.0.18":
version "24.9.1"
resolved "https://registry.npmjs.org/@types/jest/-/jest-24.9.1.tgz#02baf9573c78f1b9974a5f36778b366aa77bd534"
integrity sha512-Fb38HkXSVA4L8fGKEZ6le5bB8r6MRWlOCZbVuWZcmOMSCd2wCYOwN1ibj8daIoV9naq7aaOZjrLCoCMptKU/4Q==
"@types/jest@^25.2.1":
version "25.2.1"
resolved "https://registry.yarnpkg.com/@types/jest/-/jest-25.2.1.tgz#9544cd438607955381c1bdbdb97767a249297db5"
integrity sha512-msra1bCaAeEdkSyA0CZ6gW1ukMIvZ5YoJkdXw/qhQdsuuDlFTcEUrUw8CLCPt2rVRUfXlClVvK2gvPs9IokZaA==
dependencies:
jest-diff "^24.3.0"
jest-diff "^25.2.1"
pretty-format "^25.2.1"
"@types/js-cookie@2.2.6":
version "2.2.6"
@ -5214,7 +5215,7 @@
"@types/source-list-map" "*"
source-map "^0.6.1"
"@types/webpack@^4.41.8":
"@types/webpack@^4.4.31", "@types/webpack@^4.41.8":
version "4.41.12"
resolved "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.12.tgz#0386ee2a2814368e2f2397abb036c0bf173ff6c3"
integrity sha512-BpCtM4NnBen6W+KEhrL9jKuZCXVtiH6+0b6cxdvNt2EwU949Al334PjQSl2BeAyvAX9mgoNNG21wvjP3xZJJ5w==
@ -7844,14 +7845,6 @@ callsites@^3.0.0, callsites@^3.1.0:
resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
camel-case@3.0.x:
version "3.0.0"
resolved "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73"
integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=
dependencies:
no-case "^2.2.0"
upper-case "^1.1.1"
camel-case@^4.1.1:
version "4.1.1"
resolved "https://registry.npmjs.org/camel-case/-/camel-case-4.1.1.tgz#1fc41c854f00e2f7d0139dfeba1542d6896fe547"
@ -8172,7 +8165,7 @@ classnames@2.x, classnames@^2.2.0, classnames@^2.2.1, classnames@^2.2.3, classna
resolved "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce"
integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==
clean-css@4.2.x, clean-css@^4.2.3:
clean-css@^4.2.3:
version "4.2.3"
resolved "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78"
integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==
@ -8184,12 +8177,13 @@ clean-stack@^2.0.0:
resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
clean-webpack-plugin@^0.1.19:
version "0.1.19"
resolved "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-0.1.19.tgz#ceda8bb96b00fe168e9b080272960d20fdcadd6d"
integrity sha512-M1Li5yLHECcN2MahoreuODul5LkjohJGFxLPTjl3j1ttKrF5rgjZET1SJduuqxLAuT1gAPOdkhg03qcaaU1KeA==
clean-webpack-plugin@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/clean-webpack-plugin/-/clean-webpack-plugin-3.0.0.tgz#a99d8ec34c1c628a4541567aa7b457446460c62b"
integrity sha512-MciirUH5r+cYLGCOL5JX/ZLzOZbVr1ot3Fw+KcvbhUb6PM+yycqd9ZhIlcigQ5gl+XhppNmw3bEFuaaMNyLj3A==
dependencies:
rimraf "^2.6.1"
"@types/webpack" "^4.4.31"
del "^4.1.1"
cli-boxes@^1.0.0:
version "1.0.0"
@ -8508,21 +8502,11 @@ commander@2, commander@^2.11.0, commander@^2.12.1, commander@^2.18.0, commander@
resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
commander@2.17.x:
version "2.17.1"
resolved "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf"
integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==
commander@^4.0.1, commander@^4.1.1:
version "4.1.1"
resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068"
integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==
commander@~2.19.0:
version "2.19.0"
resolved "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a"
integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==
comment-parser@^0.5.4:
version "0.5.5"
resolved "https://registry.npmjs.org/comment-parser/-/comment-parser-0.5.5.tgz#c2584cae7c2f0afc773e96b2ee98f8c10cbd693d"
@ -9588,16 +9572,15 @@ cz-conventional-changelog@3.0.1:
"@commitlint/load" ">6.1.1"
cz-conventional-changelog@^3.0.2:
version "3.1.0"
resolved "https://registry.npmjs.org/cz-conventional-changelog/-/cz-conventional-changelog-3.1.0.tgz#1e004a4f507531347a5f78ab4ed65c3ff693fc97"
integrity sha512-SCwPPOF+7qMh1DZkJhrwaxCvZzPaz2E9BwQzcZwBuHlpcJj9zzz7K5vADQRhHuxStaHZFSLbDlZEdcls4bKu7Q==
version "3.2.0"
resolved "https://registry.yarnpkg.com/cz-conventional-changelog/-/cz-conventional-changelog-3.2.0.tgz#6aef1f892d64113343d7e455529089ac9f20e477"
integrity sha512-yAYxeGpVi27hqIilG1nh4A9Bnx4J3Ov+eXy4koL3drrR+IO9GaWPsKjik20ht608Asqi8TQPf0mczhEeyAtMzg==
dependencies:
chalk "^2.4.1"
commitizen "^4.0.3"
conventional-commit-types "^3.0.0"
lodash.map "^4.5.1"
longest "^2.0.1"
right-pad "^1.0.1"
word-wrap "^1.0.3"
optionalDependencies:
"@commitlint/load" ">6.1.1"
@ -14041,7 +14024,7 @@ hastscript@^5.0.0:
property-information "^5.0.0"
space-separated-tokens "^1.0.0"
he@1.2.x, he@^1.2.0:
he@^1.2.0:
version "1.2.0"
resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
@ -14166,19 +14149,6 @@ html-minifier-terser@^5.0.1:
relateurl "^0.2.7"
terser "^4.6.3"
html-minifier@^3.2.3:
version "3.5.21"
resolved "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz#d0040e054730e354db008463593194015212d20c"
integrity sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==
dependencies:
camel-case "3.0.x"
clean-css "4.2.x"
commander "2.17.x"
he "1.2.x"
param-case "2.1.x"
relateurl "0.2.x"
uglify-js "3.4.x"
html-parse-stringify2@2.0.1:
version "2.0.1"
resolved "https://registry.npmjs.org/html-parse-stringify2/-/html-parse-stringify2-2.0.1.tgz#dc5670b7292ca158b7bc916c9a6735ac8872834a"
@ -14213,23 +14183,10 @@ html-webpack-plugin@4.0.0-beta.11:
tapable "^1.1.3"
util.promisify "1.0.0"
html-webpack-plugin@^3.2.0:
version "3.2.0"
resolved "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz#b01abbd723acaaa7b37b6af4492ebda03d9dd37b"
integrity sha1-sBq71yOsqqeze2r0SS69oD2d03s=
dependencies:
html-minifier "^3.2.3"
loader-utils "^0.2.16"
lodash "^4.17.3"
pretty-error "^2.0.2"
tapable "^1.0.0"
toposort "^1.0.0"
util.promisify "1.0.0"
html-webpack-plugin@^4.0.0-beta.2:
version "4.2.0"
resolved "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.2.0.tgz#ea46f15b620d4c1c8c73ea399395c81208e9f823"
integrity sha512-zL7LYTuq/fcJX6vV6tmmvFR508Bd9e6kvVGbS76YAjZ2CPVRzsjkvDYs/SshPevpolSdTWgaDV39D6k6oQoVFw==
html-webpack-plugin@^4.0.0-beta.2, html-webpack-plugin@^4.3.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.3.0.tgz#53bf8f6d696c4637d5b656d3d9863d89ce8174fd"
integrity sha512-C0fzKN8yQoVLTelcJxZfJCE+aAvQiY2VUf3UuKrR4a9k5UMWYOtpDLsaXwATbcVCnI05hUS7L9ULQHWLZhyi3w==
dependencies:
"@types/html-minifier-terser" "^5.0.0"
"@types/tapable" "^1.0.5"
@ -15746,7 +15703,7 @@ jest-config@^24.9.0:
pretty-format "^24.9.0"
realpath-native "^1.1.0"
jest-diff@^24.3.0, jest-diff@^24.9.0:
jest-diff@^24.9.0:
version "24.9.0"
resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da"
integrity sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==
@ -15756,15 +15713,15 @@ jest-diff@^24.3.0, jest-diff@^24.9.0:
jest-get-type "^24.9.0"
pretty-format "^24.9.0"
jest-diff@^25.3.0:
version "25.4.0"
resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-25.4.0.tgz#260b70f19a46c283adcad7f081cae71eb784a634"
integrity sha512-kklLbJVXW0y8UKOWOdYhI6TH5MG6QAxrWiBMgQaPIuhj3dNFGirKCd+/xfplBXICQ7fI+3QcqHm9p9lWu1N6ug==
jest-diff@^25.2.1, jest-diff@^25.3.0:
version "25.5.0"
resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.5.0.tgz#1dd26ed64f96667c068cef026b677dfa01afcfa9"
integrity sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==
dependencies:
chalk "^3.0.0"
diff-sequences "^25.2.6"
jest-get-type "^25.2.6"
pretty-format "^25.4.0"
pretty-format "^25.5.0"
jest-docblock@^21.0.0:
version "21.2.0"
@ -16773,7 +16730,7 @@ loader-utils@^0.2.16:
json5 "^0.5.0"
object-assign "^4.0.1"
loader-utils@^1.0.0, loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0:
loader-utils@^1.0.0, loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0:
version "1.4.0"
resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613"
integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==
@ -16976,7 +16933,7 @@ lodash.uniq@4.5.0, lodash.uniq@^4.5.0:
resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
lodash@4.17.15, "lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.11.1, lodash@^4.15.0, lodash@^4.17.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.6.2, lodash@~4.17.12, lodash@~4.17.5:
lodash@4.17.15, "lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.11.1, lodash@^4.15.0, lodash@^4.17.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.6.2, lodash@~4.17.12, lodash@~4.17.5:
version "4.17.15"
resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
@ -17086,11 +17043,6 @@ loud-rejection@^2.2.0:
currently-unhandled "^0.4.1"
signal-exit "^3.0.2"
lower-case@^1.1.1:
version "1.1.4"
resolved "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac"
integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw=
lower-case@^2.0.1:
version "2.0.1"
resolved "https://registry.npmjs.org/lower-case/-/lower-case-2.0.1.tgz#39eeb36e396115cc05e29422eaea9e692c9408c7"
@ -18156,13 +18108,6 @@ nlcst-to-string@^2.0.0:
resolved "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-2.0.4.tgz#9315dfab80882bbfd86ddf1b706f53622dc400cc"
integrity sha512-3x3jwTd6UPG7vi5k4GEzvxJ5rDA7hVUIRNHPblKuMVP9Z3xmlsd9cgLcpAMkc5uPOBna82EeshROFhsPkbnTZg==
no-case@^2.2.0:
version "2.3.2"
resolved "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac"
integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==
dependencies:
lower-case "^1.1.1"
no-case@^3.0.3:
version "3.0.3"
resolved "https://registry.npmjs.org/no-case/-/no-case-3.0.3.tgz#c21b434c1ffe48b39087e86cfb4d2582e9df18f8"
@ -19204,13 +19149,6 @@ parallel-transform@^1.1.0:
inherits "^2.0.3"
readable-stream "^2.1.5"
param-case@2.1.x:
version "2.1.1"
resolved "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247"
integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc=
dependencies:
no-case "^2.2.0"
param-case@^3.0.3:
version "3.0.3"
resolved "https://registry.npmjs.org/param-case/-/param-case-3.0.3.tgz#4be41f8399eff621c56eebb829a5e451d9801238"
@ -20647,7 +20585,7 @@ pretty-bytes@^5.1.0, pretty-bytes@^5.3.0:
resolved "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.3.0.tgz#f2849e27db79fb4d6cfe24764fc4134f165989f2"
integrity sha512-hjGrh+P926p4R4WbaB6OckyRtO0F0/lQBiT+0gnxjV+5kjPBrfVBFCsCLbMqVQeydvIoouYTCmmEURiH3R1Bdg==
pretty-error@^2.0.2, pretty-error@^2.1.1:
pretty-error@^2.1.1:
version "2.1.1"
resolved "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3"
integrity sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=
@ -20665,12 +20603,12 @@ pretty-format@^24.9.0:
ansi-styles "^3.2.0"
react-is "^16.8.4"
pretty-format@^25.4.0:
version "25.4.0"
resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-25.4.0.tgz#c58801bb5c4926ff4a677fe43f9b8b99812c7830"
integrity sha512-PI/2dpGjXK5HyXexLPZU/jw5T9Q6S1YVXxxVxco+LIqzUFHXIbKZKdUVt7GcX7QUCr31+3fzhi4gN4/wUYPVxQ==
pretty-format@^25.2.1, pretty-format@^25.5.0:
version "25.5.0"
resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.5.0.tgz#7873c1d774f682c34b8d48b6743a2bf2ac55791a"
integrity sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==
dependencies:
"@jest/types" "^25.4.0"
"@jest/types" "^25.5.0"
ansi-regex "^5.0.0"
ansi-styles "^4.0.0"
react-is "^16.12.0"
@ -21120,14 +21058,6 @@ raw-loader@^0.5.1:
resolved "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz#0c3d0beaed8a01c966d9787bf778281252a979aa"
integrity sha1-DD0L6u2KAclm2Xh793goElKpeao=
raw-loader@^1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/raw-loader/-/raw-loader-1.0.0.tgz#3f9889e73dadbda9a424bce79809b4133ad46405"
integrity sha512-Uqy5AqELpytJTRxYT4fhltcKPj0TyaEpzJDcGz7DFJi+pQOOi3GjR/DOdxTkTsF+NzhnldIoG6TORaBlInUuqA==
dependencies:
loader-utils "^1.1.0"
schema-utils "^1.0.0"
raw-loader@^3.1.0:
version "3.1.0"
resolved "https://registry.npmjs.org/raw-loader/-/raw-loader-3.1.0.tgz#5e9d399a5a222cc0de18f42c3bc5e49677532b3f"
@ -21136,6 +21066,14 @@ raw-loader@^3.1.0:
loader-utils "^1.1.0"
schema-utils "^2.0.1"
raw-loader@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-4.0.1.tgz#14e1f726a359b68437e183d5a5b7d33a3eba6933"
integrity sha512-baolhQBSi3iNh1cglJjA0mYzga+wePk7vdEX//1dTFd+v4TsQlQE0jitJSNF1OIP82rdYulH7otaVmdlDaJ64A==
dependencies:
loader-utils "^2.0.0"
schema-utils "^2.6.5"
rbush@*:
version "3.0.1"
resolved "https://registry.npmjs.org/rbush/-/rbush-3.0.1.tgz#5fafa8a79b3b9afdfe5008403a720cc1de882ecf"
@ -22367,7 +22305,7 @@ rehype-react@^5.0.0:
"@mapbox/hast-util-table-cell-style" "^0.1.3"
hast-to-hyperscript "^8.0.0"
relateurl@0.2.x, relateurl@^0.2.7:
relateurl@^0.2.7:
version "0.2.7"
resolved "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9"
integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=
@ -22915,7 +22853,7 @@ rimraf@2.6.3:
dependencies:
glob "^7.1.3"
rimraf@^3.0.0:
rimraf@^3.0.0, rimraf@^3.0.2:
version "3.0.2"
resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
@ -23248,7 +23186,7 @@ sass-graph@^2.2.4:
scss-tokenizer "^0.2.3"
yargs "^7.0.0"
sass-loader@8.0.2:
sass-loader@8.0.2, sass-loader@^8.0.2:
version "8.0.2"
resolved "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.2.tgz#debecd8c3ce243c76454f2e8290482150380090d"
integrity sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ==
@ -23259,17 +23197,6 @@ sass-loader@8.0.2:
schema-utils "^2.6.1"
semver "^6.3.0"
sass-loader@^7.1.0:
version "7.3.1"
resolved "https://registry.npmjs.org/sass-loader/-/sass-loader-7.3.1.tgz#a5bf68a04bcea1c13ff842d747150f7ab7d0d23f"
integrity sha512-tuU7+zm0pTCynKYHpdqaPpe+MMTQ76I9TPZ7i4/5dZsigE350shQWe5EZNl5dBidM49TPET75tNqRbcsUZWeNA==
dependencies:
clone-deep "^4.0.1"
loader-utils "^1.0.1"
neo-async "^2.5.0"
pify "^4.0.1"
semver "^6.3.0"
sax@>=0.6.0, sax@^1.2.4, sax@~1.2.4:
version "1.2.4"
resolved "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
@ -23315,7 +23242,7 @@ schema-utils@^1.0.0:
ajv-errors "^1.0.0"
ajv-keywords "^3.1.0"
schema-utils@^2.0.1, schema-utils@^2.5.0, schema-utils@^2.6.0, schema-utils@^2.6.1, schema-utils@^2.6.4, schema-utils@^2.6.5:
schema-utils@^2.0.1, schema-utils@^2.5.0, schema-utils@^2.6.0, schema-utils@^2.6.1, schema-utils@^2.6.4, schema-utils@^2.6.5, schema-utils@^2.6.6:
version "2.6.6"
resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.6.tgz#299fe6bd4a3365dc23d99fd446caff8f1d6c330c"
integrity sha512-wHutF/WPSbIi9x6ctjGGk2Hvl0VOz5l3EKEuKbjPlB30mKZUzb9A5k9yEXRX3pwyqVLPvpfZZEllaFq/M718hA==
@ -24696,12 +24623,12 @@ style-loader@0.23.1, style-loader@^0.23.1:
schema-utils "^1.0.0"
style-loader@^1.0.0:
version "1.1.4"
resolved "https://registry.npmjs.org/style-loader/-/style-loader-1.1.4.tgz#1ad81283cefe51096756fd62697258edad933230"
integrity sha512-SbBHRD8fwK3pX+4UDF4ETxUF0+rCvk29LWTTI7Rt0cgsDjAj3SWM76ByTe6u2+4IlJ/WwluB7wuslWETCoPQdg==
version "1.2.1"
resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.2.1.tgz#c5cbbfbf1170d076cfdd86e0109c5bba114baa1a"
integrity sha512-ByHSTQvHLkWE9Ir5+lGbVOXhxX10fbprhLvdg96wedFZb4NDekDPxVKv5Fwmio+QcMlkkNfuK+5W1peQ5CUhZg==
dependencies:
loader-utils "^2.0.0"
schema-utils "^2.6.5"
schema-utils "^2.6.6"
style-search@^0.1.0:
version "0.1.0"
@ -24746,17 +24673,22 @@ stylehacks@^4.0.0:
postcss "^7.0.0"
postcss-selector-parser "^3.0.0"
stylelint-config-recommended@^2.1.0, stylelint-config-recommended@^2.2.0:
stylelint-config-recommended@^2.1.0:
version "2.2.0"
resolved "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-2.2.0.tgz#46ab139db4a0e7151fd5f94af155512886c96d3f"
integrity sha512-bZ+d4RiNEfmoR74KZtCKmsABdBJr4iXRiCso+6LtMJPw5rd/KnxUWTxht7TbafrTJK1YRjNgnN0iVZaJfc3xJA==
stylelint-config-standard@^18.2.0:
version "18.3.0"
resolved "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-18.3.0.tgz#a2a1b788d2cf876c013feaff8ae276117a1befa7"
integrity sha512-Tdc/TFeddjjy64LvjPau9SsfVRexmTFqUhnMBrzz07J4p2dVQtmpncRF/o8yZn8ugA3Ut43E6o1GtjX80TFytw==
stylelint-config-recommended@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/stylelint-config-recommended/-/stylelint-config-recommended-3.0.0.tgz#e0e547434016c5539fe2650afd58049a2fd1d657"
integrity sha512-F6yTRuc06xr1h5Qw/ykb2LuFynJ2IxkKfCMf+1xqPffkxh0S09Zc902XCffcsw/XMFq/OzQ1w54fLIDtmRNHnQ==
stylelint-config-standard@^20.0.0:
version "20.0.0"
resolved "https://registry.yarnpkg.com/stylelint-config-standard/-/stylelint-config-standard-20.0.0.tgz#06135090c9e064befee3d594289f50e295b5e20d"
integrity sha512-IB2iFdzOTA/zS4jSVav6z+wGtin08qfj+YyExHB3LF9lnouQht//YyB0KZq9gGz5HNPkddHOzcY8HsUey6ZUlA==
dependencies:
stylelint-config-recommended "^2.2.0"
stylelint-config-recommended "^3.0.0"
stylelint-config-styled-components@^0.1.1:
version "0.1.1"
@ -25497,11 +25429,6 @@ toposort@^0.2.10:
resolved "https://registry.npmjs.org/toposort/-/toposort-0.2.12.tgz#c7d2984f3d48c217315cc32d770888b779491e81"
integrity sha1-x9KYTz1IwhcxXMMtdwiIt3lJHoE=
toposort@^1.0.0:
version "1.0.7"
resolved "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029"
integrity sha1-LmhELZ9k7HILjMieZEOsbKqVACk=
tough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@^2.5.0, tough-cookie@~2.5.0:
version "2.5.0"
resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
@ -25635,12 +25562,12 @@ tslint-plugin-prettier@^1.3.0:
eslint-plugin-prettier "^2.2.0"
tslib "^1.7.1"
tslint-react@^3.6.0:
version "3.6.0"
resolved "https://registry.npmjs.org/tslint-react/-/tslint-react-3.6.0.tgz#7f462c95c4a0afaae82507f06517ff02942196a1"
integrity sha512-AIv1QcsSnj7e9pFir6cJ6vIncTqxfqeFF3Lzh8SuuBljueYzEAtByuB6zMaD27BL0xhMEqsZ9s5eHuCONydjBw==
tslint-react@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/tslint-react/-/tslint-react-4.1.0.tgz#7153b724a8cfbea52423d0ffa469e8eba3bcc834"
integrity sha512-Y7CbFn09X7Mpg6rc7t/WPbmjx9xPI8p1RsQyiGCLWgDR6sh3+IBSlT+bEkc0PSZcWwClOkqq2wPsID8Vep6szQ==
dependencies:
tsutils "^2.13.1"
tsutils "^3.9.1"
tslint@^5.11.0:
version "5.20.1"
@ -25661,14 +25588,14 @@ tslint@^5.11.0:
tslib "^1.8.0"
tsutils "^2.29.0"
tsutils@^2.13.1, tsutils@^2.29.0:
tsutils@^2.29.0:
version "2.29.0"
resolved "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99"
integrity sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==
dependencies:
tslib "^1.8.1"
tsutils@^3.17.1:
tsutils@^3.17.1, tsutils@^3.9.1:
version "3.17.1"
resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759"
integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==
@ -25801,14 +25728,6 @@ ua-parser-js@^0.7.18:
resolved "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.21.tgz#853cf9ce93f642f67174273cc34565ae6f308777"
integrity sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ==
uglify-js@3.4.x:
version "3.4.10"
resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f"
integrity sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==
dependencies:
commander "~2.19.0"
source-map "~0.6.1"
uglify-js@^2.6.2:
version "2.8.29"
resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd"
@ -26230,11 +26149,6 @@ update-notifier@^3.0.1:
semver-diff "^2.0.0"
xdg-basedir "^3.0.0"
upper-case@^1.1.1:
version "1.1.3"
resolved "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598"
integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=
uri-js@^4.2.2:
version "4.2.2"
resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0"