Merge branch 'develop-lf' into 'develop'

完善地图组件与示例,抛出mapConfig定制化参数传入,完善API说明

See merge request web-project/zhst-lambo!10
This commit is contained in:
江志雄 2024-03-26 17:51:00 +08:00
commit e59b290559
66 changed files with 1183 additions and 92 deletions

View File

@ -1,16 +0,0 @@
import React from 'react';
import { ReactNode } from 'react';
interface IconFontProps {
styles?: React.CSSProperties;
icon: string;
size?: number;
color?: string;
title?: string;
className?: string;
onIconClick?: (e: React.MouseEvent<HTMLElement, MouseEvent>) => void;
children?: ReactNode;
active?: boolean;
disable?: boolean;
}
declare const IconFont: React.FC<IconFontProps>;
export default IconFont;

View File

@ -7,7 +7,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
import { createFromIconfontCN } from '@ant-design/icons';
import React from 'react';
var Icon = createFromIconfontCN({
scriptUrl: require("./font_1739270_pqkfa2ldec/iconfont.js")
scriptUrl: require("./font/iconfont.js")
});
var IconFont = function IconFont(props) {
var _ref = props || {},

View File

@ -0,0 +1,33 @@
import React from 'react';
var iconJson = require("../font/iconfont.json");
import { IconFont } from '@zhst/icon';
import "./index.less";
import { message } from '@zhst/meta';
var demo = function demo() {
var iconArr = iconJson['glyphs'];
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("ul", {
className: 'demo-ul'
}, iconArr.map(function (item) {
var font_class = item.font_class,
name = item.name;
var fontName = "icon-".concat(font_class);
return /*#__PURE__*/React.createElement("li", {
className: 'demo-li'
}, /*#__PURE__*/React.createElement(IconFont, {
styles: {
marginBottom: 20
},
icon: fontName,
size: 32,
onIconClick: function onIconClick() {
navigator.clipboard.writeText(fontName);
message.success("\u590D\u5236".concat(fontName, "\u6210\u529F"));
}
}), /*#__PURE__*/React.createElement("div", {
className: "demo-li-name"
}, name), /*#__PURE__*/React.createElement("div", {
className: "demo-li-name"
}, fontName));
})));
};
export default demo;

View File

@ -0,0 +1,20 @@
.demo {
&-ul {
list-style-type: none;
display: flex;
flex-wrap: wrap;
}
&-li {
display: flex;
flex-direction: column;
align-items: center;
height: 150px;
width: 150px;
&-name {
color: #666;
font-size: 12px;
}
}
}

View File

@ -1,8 +1,8 @@
@font-face {
font-family: iconfont; /* Project id 1739270 */
src: url('iconfont.woff2?t=1711007646448') format('woff2'),
url('iconfont.woff?t=1711007646448') format('woff'),
url('iconfont.ttf?t=1711007646448') format('truetype');
src: url('iconfont.woff2?t=1711094074098') format('woff2'),
url('iconfont.woff?t=1711094074098') format('woff'),
url('iconfont.ttf?t=1711094074098') format('truetype');
}
.iconfont {

Binary file not shown.

View File

@ -1,16 +0,0 @@
import React from 'react';
import { ReactNode } from 'react';
interface IconFontProps {
styles?: React.CSSProperties;
icon: string;
size?: number;
color?: string;
title?: string;
className?: string;
onIconClick?: (e: React.MouseEvent<HTMLElement, MouseEvent>) => void;
children?: ReactNode;
active?: boolean;
disable?: boolean;
}
declare const IconFont: React.FC<IconFontProps>;
export default IconFont;

View File

@ -35,7 +35,7 @@ module.exports = __toCommonJS(Iconfont_exports);
var import_icons = require("@ant-design/icons");
var import_react = __toESM(require("react"));
var Icon = (0, import_icons.createFromIconfontCN)({
scriptUrl: require("./font_1739270_pqkfa2ldec/iconfont.js")
scriptUrl: require("./font/iconfont.js")
});
var IconFont = (props) => {
const {

View File

@ -0,0 +1,59 @@
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/demo/demo.tsx
var demo_exports = {};
__export(demo_exports, {
default: () => demo_default
});
module.exports = __toCommonJS(demo_exports);
var import_react = __toESM(require("react"));
var import_icon = require("@zhst/icon");
var import_index = require("./index.less");
var import_meta = require("@zhst/meta");
var iconJson = require("../font/iconfont.json");
var demo = () => {
const iconArr = iconJson["glyphs"];
return /* @__PURE__ */ import_react.default.createElement("div", null, /* @__PURE__ */ import_react.default.createElement("ul", { className: "demo-ul" }, iconArr.map((item) => {
const { font_class, name } = item;
const fontName = `icon-${font_class}`;
return /* @__PURE__ */ import_react.default.createElement("li", { className: "demo-li" }, /* @__PURE__ */ import_react.default.createElement(
import_icon.IconFont,
{
styles: { marginBottom: 20 },
icon: fontName,
size: 32,
onIconClick: () => {
navigator.clipboard.writeText(fontName);
import_meta.message.success(`复制${fontName}成功`);
}
}
), /* @__PURE__ */ import_react.default.createElement("div", { className: "demo-li-name" }, name), /* @__PURE__ */ import_react.default.createElement("div", { className: "demo-li-name" }, fontName));
})));
};
var demo_default = demo;

View File

@ -0,0 +1,20 @@
.demo {
&-ul {
list-style-type: none;
display: flex;
flex-wrap: wrap;
}
&-li {
display: flex;
flex-direction: column;
align-items: center;
height: 150px;
width: 150px;
&-name {
color: #666;
font-size: 12px;
}
}
}

View File

@ -1,8 +1,8 @@
@font-face {
font-family: iconfont; /* Project id 1739270 */
src: url('iconfont.woff2?t=1711007646448') format('woff2'),
url('iconfont.woff?t=1711007646448') format('woff'),
url('iconfont.ttf?t=1711007646448') format('truetype');
src: url('iconfont.woff2?t=1711094074098') format('woff2'),
url('iconfont.woff?t=1711094074098') format('woff'),
url('iconfont.ttf?t=1711094074098') format('truetype');
}
.iconfont {

Binary file not shown.

View File

@ -15,7 +15,7 @@ interface IconFontProps {
disable?: boolean;
}
const Icon = createFromIconfontCN({
scriptUrl: require('./font_1739270_pqkfa2ldec/iconfont.js'),
scriptUrl: require('./font/iconfont.js'),
});
const IconFont: React.FC<IconFontProps> = (props) => {
const {

View File

@ -0,0 +1,31 @@
import React from 'react';
const iconJson = require('../font/iconfont.json')
import { IconFont } from '@zhst/icon';
import './index.less';
import { message } from '@zhst/meta';
const demo = ()=>{
const iconArr = iconJson['glyphs']
return (
<div>
<ul className={'demo-ul'}>
{iconArr.map((item: any)=>{
const {font_class,name}= item;
const fontName = `icon-${font_class}`
return <li className={'demo-li'} >
<IconFont
styles={{marginBottom:20}}
icon={fontName} size={32}
onIconClick={()=>{
navigator.clipboard.writeText(fontName)
message.success(`复制${fontName}成功`)
}}>
</IconFont>
<div className="demo-li-name">{name}</div>
<div className="demo-li-name">{fontName}</div>
</li>
})}
</ul>
</div>
);
}
export default demo

View File

@ -0,0 +1,20 @@
.demo {
&-ul {
list-style-type: none;
display: flex;
flex-wrap: wrap;
}
&-li {
display: flex;
flex-direction: column;
align-items: center;
height: 150px;
width: 150px;
&-name {
color: #666;
font-size: 12px;
}
}
}

View File

@ -1,8 +1,8 @@
@font-face {
font-family: iconfont; /* Project id 1739270 */
src: url('iconfont.woff2?t=1711007646448') format('woff2'),
url('iconfont.woff?t=1711007646448') format('woff'),
url('iconfont.ttf?t=1711007646448') format('truetype');
src: url('iconfont.woff2?t=1711094074098') format('woff2'),
url('iconfont.woff?t=1711094074098') format('woff'),
url('iconfont.ttf?t=1711094074098') format('truetype');
}
.iconfont {

Binary file not shown.

View File

@ -9,3 +9,14 @@ title: 快速上手
<embed src="../README.md" ></embed>
<code src="./demo/basic.tsx">基本用法</code>
<code src="./demo/demo.tsx">icon列表</code>
## API
| 参数 | 说明 | 类型 | 默认值 | 版本 |
| --- | --- | --- | --- | --- |
| title | 标题 | string | '' | - |
| styles | 样式 | cssProperties | {} | - |
| icon | fontClass名 | string | '' | - |
| size | fontClass名 | integer | 14 | - |
| onIconClick | icon点击事件 | function | ()=>{} | - |
| color | 图标颜色 | string | '' | - |

View File

@ -16,5 +16,5 @@
```js
import React from 'react';
import { TYPE } from '@zhst/map'
import { MapBox } from '@zhst/map'
```

51
packages/map/es/MapBox.js Normal file
View File

@ -0,0 +1,51 @@
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
var _excluded = ["style", "children", "mapRef", "onLoad", "mapCenter", "mapConfig"];
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
import 'mapbox-gl/dist/mapbox-gl.css';
import Map from 'react-map-gl';
import "./index.less";
import { merge } from "./utils";
import { MAP_CENTER, defaultMapConfig } from "./constants";
var MapBox = function MapBox(props) {
var _ref = props || {},
_ref$style = _ref.style,
style = _ref$style === void 0 ? {} : _ref$style,
children = _ref.children,
mapRef = _ref.mapRef,
_onLoad = _ref.onLoad,
_ref$mapCenter = _ref.mapCenter,
mapCenter = _ref$mapCenter === void 0 ? MAP_CENTER : _ref$mapCenter,
_ref$mapConfig = _ref.mapConfig,
mapConfig = _ref$mapConfig === void 0 ? {} : _ref$mapConfig,
others = _objectWithoutProperties(_ref, _excluded);
return (
/*#__PURE__*/
//@ts-ignore
React.createElement(Map, _extends({
ref: function ref(e) {
if (mapRef) {
mapRef.current = e;
}
},
onLoad: function onLoad(e) {
_onLoad && _onLoad(e);
},
style: _objectSpread({
width: '100%',
height: 600
}, style)
}, merge(defaultMapConfig, mapConfig), {
initialViewState: _objectSpread(_objectSpread({}, mapCenter), {}, {
zoom: 10
})
}, others), children)
);
};
export default MapBox;

31
packages/map/es/constants.d.ts vendored Normal file
View File

@ -0,0 +1,31 @@
export declare const mapboxAccessToken = "pk.eyJ1IjoiZGluZ2xpMTIzIiwiYSI6ImNra204ODhjczBobTgyeHJ6MmJpZHMxNWgifQ.NbKrXh_hb2gvjr5CEMDnyQ";
export declare const MAP_CENTER: {
longitude: number;
latitude: number;
};
export declare const defaultMapConfig: {
mapboxAccessToken: string;
maxZoom: number;
minZoom: number;
dragRotate: boolean;
mapStyle: {
version: number;
name: string;
glyphs: string;
sources: {
'osm-tiles': {
type: string;
tiles: string[];
tileSize: number;
};
};
layers: {
id: string;
type: string;
source: string;
minZoom: number;
maxZoom: number;
renderingMode: string;
}[];
};
};

View File

@ -0,0 +1,47 @@
export var mapboxAccessToken = 'pk.eyJ1IjoiZGluZ2xpMTIzIiwiYSI6ImNra204ODhjczBobTgyeHJ6MmJpZHMxNWgifQ.NbKrXh_hb2gvjr5CEMDnyQ';
export var MAP_CENTER = {
longitude: 120.2667694313269,
latitude: 30.180942826533766
}; //地图中心
var MapUrl = 'http://10.0.0.120:30003/map';
export var defaultMapConfig = {
mapboxAccessToken: mapboxAccessToken,
maxZoom: 18,
minZoom: 4,
dragRotate: false,
mapStyle: {
version: 8,
name: 'Mapbox Streets',
// sprite: `${location.origin}/mapbox/sprite`, // 地图图标
glyphs: 'mapbox://fonts/mapbox/{fontstack}/{range}.pbf',
// 字体
sources: {
//数据源
'osm-tiles': {
type: 'raster',
//栅格切片。vector:矢量切片
// Z-瓦片层级一般支持0-18级越大代表越清晰
// X-瓦片列号从西向东0->360依次012……
// Y-瓦片行号从北向南有些也可能是从南向北依次012……
tiles: ["".concat(MapUrl, "/api/tilesets/mapfile/{z}/{x}/{y}.png")],
//在线地址先写死120
tileSize: 256 //切片的最小展示尺寸(可选,单位:像素,默认值为 512即 1024/2
}
},
layers: [
// 图层。图层指定了如何渲染数据源提供的数据
{
id: 'zhstLayer',
//唯一id
type: 'raster',
//类型 栅格。circlesymbolline...
source: 'osm-tiles',
// 'source-layer': 'osmtiles',//数据源必须是type:vector
minZoom: 4,
//最小层级
maxZoom: 17,
//最大层级
renderingMode: '2d'
}]
}
};

View File

@ -1 +1 @@
export * from './user';
export { default as MapBox } from './MapBox';

View File

@ -1 +1 @@
export * from "./user";
export { default as MapBox } from "./MapBox";

View File

@ -0,0 +1,3 @@
.mapboxgl-ctrl-attrib-button {
display: none;
}

20
packages/map/es/interface.d.ts vendored Normal file
View File

@ -0,0 +1,20 @@
import { CSSProperties } from "react";
import { MapRef, MapStyle } from "react-map-gl";
export interface MapProps {
onLoad?: (e: mapboxgl.MapboxEvent<undefined>) => void;
mapRef?: React.MutableRefObject<MapRef | undefined>;
style?: CSSProperties;
children?: JSX.Element | JSX.Element[] | Array<JSX.Element | undefined>;
mapConfig?: MapConfigProps;
mapCenter: {
longitude: number;
latitude: number;
};
}
export interface MapConfigProps {
mapboxAccessToken?: string;
minZoom?: number;
maxZoom?: number;
dragRotate?: boolean;
mapStyle?: MapStyle;
}

View File

@ -0,0 +1 @@
export {};

1
packages/map/es/utils.d.ts vendored Normal file
View File

@ -0,0 +1 @@
export declare const merge: (object: any, ...sources: any) => any;

36
packages/map/es/utils.js Normal file
View File

@ -0,0 +1,36 @@
var getRawType = function getRawType(val) {
return Object.prototype.toString.call(val).slice(8, -1);
};
var isPlainObjectOrArray = function isPlainObjectOrArray(val) {
return isPlainObject(val) || Array.isArray(val);
};
var isPlainObject = function isPlainObject(val) {
return getRawType(val) === 'Object';
};
export var merge = function merge(object) {
for (var _len = arguments.length, sources = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
sources[_key - 1] = arguments[_key];
}
for (var _i = 0, _sources = sources; _i < _sources.length; _i++) {
var source = _sources[_i];
for (var key in source) {
if (source[key] === undefined && key in object) {
continue;
}
if (isPlainObjectOrArray(source[key])) {
if (getRawType(object[key] === getRawType(source[key]))) {
if (isPlainObject(object[key])) {
merge(object[key], source[key]);
} else {
object[key] = object[key].concat(source[key]);
}
} else {
object[key] = source[key];
}
} else {
object[key] = source[key];
}
}
}
return object;
};

View File

@ -0,0 +1,72 @@
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/MapBox.tsx
var MapBox_exports = {};
__export(MapBox_exports, {
default: () => MapBox_default
});
module.exports = __toCommonJS(MapBox_exports);
var import_mapbox_gl = require("mapbox-gl/dist/mapbox-gl.css");
var import_react_map_gl = __toESM(require("react-map-gl"));
var import_index = require("./index.less");
var import_utils = require("./utils");
var import_constants = require("./constants");
var MapBox = (props) => {
const {
style = {},
children,
mapRef,
onLoad,
mapCenter = import_constants.MAP_CENTER,
mapConfig = {},
...others
} = props || {};
return (
//@ts-ignore
/* @__PURE__ */ React.createElement(
import_react_map_gl.default,
{
ref: (e) => {
if (mapRef) {
mapRef.current = e;
}
},
onLoad: (e) => {
onLoad && onLoad(e);
},
style: { width: "100%", height: 600, ...style },
...(0, import_utils.merge)(import_constants.defaultMapConfig, mapConfig),
initialViewState: { ...mapCenter, zoom: 10 },
...others
},
children
)
);
};
var MapBox_default = MapBox;

31
packages/map/lib/constants.d.ts vendored Normal file
View File

@ -0,0 +1,31 @@
export declare const mapboxAccessToken = "pk.eyJ1IjoiZGluZ2xpMTIzIiwiYSI6ImNra204ODhjczBobTgyeHJ6MmJpZHMxNWgifQ.NbKrXh_hb2gvjr5CEMDnyQ";
export declare const MAP_CENTER: {
longitude: number;
latitude: number;
};
export declare const defaultMapConfig: {
mapboxAccessToken: string;
maxZoom: number;
minZoom: number;
dragRotate: boolean;
mapStyle: {
version: number;
name: string;
glyphs: string;
sources: {
'osm-tiles': {
type: string;
tiles: string[];
tileSize: number;
};
};
layers: {
id: string;
type: string;
source: string;
minZoom: number;
maxZoom: number;
renderingMode: string;
}[];
};
};

View File

@ -0,0 +1,81 @@
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/constants.ts
var constants_exports = {};
__export(constants_exports, {
MAP_CENTER: () => MAP_CENTER,
defaultMapConfig: () => defaultMapConfig,
mapboxAccessToken: () => mapboxAccessToken
});
module.exports = __toCommonJS(constants_exports);
var mapboxAccessToken = "pk.eyJ1IjoiZGluZ2xpMTIzIiwiYSI6ImNra204ODhjczBobTgyeHJ6MmJpZHMxNWgifQ.NbKrXh_hb2gvjr5CEMDnyQ";
var MAP_CENTER = {
longitude: 120.2667694313269,
latitude: 30.180942826533766
};
var MapUrl = "http://10.0.0.120:30003/map";
var defaultMapConfig = {
mapboxAccessToken,
maxZoom: 18,
minZoom: 4,
dragRotate: false,
mapStyle: {
version: 8,
name: "Mapbox Streets",
// sprite: `${location.origin}/mapbox/sprite`, // 地图图标
glyphs: "mapbox://fonts/mapbox/{fontstack}/{range}.pbf",
// 字体
sources: {
//数据源
"osm-tiles": {
type: "raster",
//栅格切片。vector:矢量切片
// Z-瓦片层级一般支持0-18级越大代表越清晰
// X-瓦片列号从西向东0->360依次012……
// Y-瓦片行号从北向南有些也可能是从南向北依次012……
tiles: [`${MapUrl}/api/tilesets/mapfile/{z}/{x}/{y}.png`],
//在线地址先写死120
tileSize: 256
//切片的最小展示尺寸(可选,单位:像素,默认值为 512即 1024/2
}
},
layers: [
// 图层。图层指定了如何渲染数据源提供的数据
{
id: "zhstLayer",
//唯一id
type: "raster",
//类型 栅格。circlesymbolline...
source: "osm-tiles",
// 'source-layer': 'osmtiles',//数据源必须是type:vector
minZoom: 4,
//最小层级
maxZoom: 17,
//最大层级
renderingMode: "2d"
}
]
}
};
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
MAP_CENTER,
defaultMapConfig,
mapboxAccessToken
});

1
packages/map/lib/index.d.ts vendored Normal file
View File

@ -0,0 +1 @@
export { default as MapBox } from './MapBox';

View File

@ -1,7 +1,13 @@
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
@ -10,14 +16,24 @@ var __copyProps = (to, from, except, desc) => {
}
return to;
};
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/index.ts
var src_exports = {};
__export(src_exports, {
MapBox: () => import_MapBox.default
});
module.exports = __toCommonJS(src_exports);
__reExport(src_exports, require("./user"), module.exports);
var import_MapBox = __toESM(require("./MapBox"));
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
...require("./user")
MapBox
});

View File

@ -0,0 +1,3 @@
.mapboxgl-ctrl-attrib-button {
display: none;
}

20
packages/map/lib/interface.d.ts vendored Normal file
View File

@ -0,0 +1,20 @@
import { CSSProperties } from "react";
import { MapRef, MapStyle } from "react-map-gl";
export interface MapProps {
onLoad?: (e: mapboxgl.MapboxEvent<undefined>) => void;
mapRef?: React.MutableRefObject<MapRef | undefined>;
style?: CSSProperties;
children?: JSX.Element | JSX.Element[] | Array<JSX.Element | undefined>;
mapConfig?: MapConfigProps;
mapCenter: {
longitude: number;
latitude: number;
};
}
export interface MapConfigProps {
mapboxAccessToken?: string;
minZoom?: number;
maxZoom?: number;
dragRotate?: boolean;
mapStyle?: MapStyle;
}

View File

@ -0,0 +1,17 @@
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/interface.ts
var interface_exports = {};
module.exports = __toCommonJS(interface_exports);

1
packages/map/lib/utils.d.ts vendored Normal file
View File

@ -0,0 +1 @@
export declare const merge: (object: any, ...sources: any) => any;

60
packages/map/lib/utils.js Normal file
View File

@ -0,0 +1,60 @@
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/utils.ts
var utils_exports = {};
__export(utils_exports, {
merge: () => merge
});
module.exports = __toCommonJS(utils_exports);
var getRawType = (val) => {
return Object.prototype.toString.call(val).slice(8, -1);
};
var isPlainObjectOrArray = (val) => {
return isPlainObject(val) || Array.isArray(val);
};
var isPlainObject = (val) => {
return getRawType(val) === "Object";
};
var merge = (object, ...sources) => {
for (const source of sources) {
for (const key in source) {
if (source[key] === void 0 && key in object) {
continue;
}
if (isPlainObjectOrArray(source[key])) {
if (getRawType(object[key] === getRawType(source[key]))) {
if (isPlainObject(object[key])) {
merge(object[key], source[key]);
} else {
object[key] = object[key].concat(source[key]);
}
} else {
object[key] = source[key];
}
} else {
object[key] = source[key];
}
}
}
return object;
};
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
merge
});

View File

@ -36,5 +36,8 @@
"access": "public",
"registry": "http://10.0.0.77:4874"
},
"dependencies": {}
"dependencies": {
"react-map-gl": "^7.1.7",
"mapbox-gl": "^2.15.0"
}
}

View File

@ -0,0 +1,39 @@
import 'mapbox-gl/dist/mapbox-gl.css';
import Map from 'react-map-gl';
import './index.less';
import { MapProps } from './interface';
import { merge } from './utils';
import { MAP_CENTER, defaultMapConfig } from './constants';
const MapBox: React.FC<MapProps> = (props) => {
const {
style = {},
children,
mapRef,
onLoad,
mapCenter = MAP_CENTER,
mapConfig = {},
...others
} = props || {};
return (
//@ts-ignore
<Map
ref={(e) => {
if (mapRef) {
mapRef.current = e!;
}
}}
onLoad={(e) => {
onLoad && onLoad(e);
}}
style={{ width: '100%', height: 600, ...style }}
{...merge(defaultMapConfig, mapConfig)}
initialViewState={{ ...mapCenter, zoom: 10 }}
{...others}
>
{children}
</Map>
);
};
export default MapBox;

View File

@ -1,11 +0,0 @@
---
nav:
title: 其它
title: 静态变量库
toc: content
---
<embed src="../../README.md" ></embed>
<embed src="../../CHANGELOG.md" ></embed>

View File

@ -0,0 +1,42 @@
export const mapboxAccessToken =
'pk.eyJ1IjoiZGluZ2xpMTIzIiwiYSI6ImNra204ODhjczBobTgyeHJ6MmJpZHMxNWgifQ.NbKrXh_hb2gvjr5CEMDnyQ';
export const MAP_CENTER = {
longitude: 120.2667694313269,
latitude: 30.180942826533766,
}; //地图中心
const MapUrl = 'http://10.0.0.120:30003/map';
export const defaultMapConfig = {
mapboxAccessToken,
maxZoom: 18,
minZoom: 4,
dragRotate: false,
mapStyle: {
version: 8,
name: 'Mapbox Streets',
// sprite: `${location.origin}/mapbox/sprite`, // 地图图标
glyphs: 'mapbox://fonts/mapbox/{fontstack}/{range}.pbf', // 字体
sources: {
//数据源
'osm-tiles': {
type: 'raster', //栅格切片。vector:矢量切片
// Z-瓦片层级一般支持0-18级越大代表越清晰
// X-瓦片列号从西向东0->360依次012……
// Y-瓦片行号从北向南有些也可能是从南向北依次012……
tiles: [`${MapUrl}/api/tilesets/mapfile/{z}/{x}/{y}.png`], //在线地址先写死120
tileSize: 256, //切片的最小展示尺寸(可选,单位:像素,默认值为 512即 1024/2
},
},
layers: [
// 图层。图层指定了如何渲染数据源提供的数据
{
id: 'zhstLayer', //唯一id
type: 'raster', //类型 栅格。circlesymbolline...
source: 'osm-tiles',
// 'source-layer': 'osmtiles',//数据源必须是type:vector
minZoom: 4, //最小层级
maxZoom: 17, //最大层级
renderingMode: '2d',
},
],
},
};

View File

@ -0,0 +1,25 @@
import React, { useRef } from 'react';
import { MapBox } from '@zhst/map';
const demo = () => {
const mapRef = useRef(null);
const handleMapLoad = (e: mapboxgl.MapboxEvent<undefined>) => {
const map = e.target;
if (!map) {
return;
}
map.flyTo({
center: [120,30],
zoom: map?.getMaxZoom(),
});
};
return (
<div>
<MapBox onLoad={handleMapLoad}
mapRef={mapRef}
style={{ width: '100%', height: 300 }}/>
</div>
);
};
export default demo;

View File

@ -0,0 +1,3 @@
.mapboxgl-ctrl-attrib-button {
display: none;
}

View File

@ -7,3 +7,14 @@ title: 快速上手
---
<embed src="../README.md" ></embed>
<code src="./demo/basic.tsx">基本用法</code>
## API
| 参数 | 说明 | 类型 | 默认值 | 版本 |
| --- | --- | --- | --- | --- |
| mapRef | 标题 | React.MutableRefObject<MapRef或undefined> | '' | - |
| style | 地图样式 | cssProperties | {} | - |
| mapCenter | 地图中心点 | {longitude: number, latitude: number} | {longitude: 120.2667694313269, latitude: 30.180942826533766} | - |
| children | 内部元素 | JSX.Element或JSX.Element[]或Array<JSX.Element或undefined> | {} | - |
| mapConfig | 地图配置 | MapConfigProps | defaultMapConfig | - |
| onLoad | 地图加载事件 | function | ()=>{} | - |

View File

@ -1 +1 @@
export * from './user'
export { default as MapBox } from './MapBox';

View File

@ -0,0 +1,19 @@
import { CSSProperties } from "react";
import { MapRef, MapStyle } from "react-map-gl";
export interface MapProps {
onLoad?: (e: mapboxgl.MapboxEvent<undefined>) => void;
mapRef?: React.MutableRefObject<MapRef | undefined>;
style?: CSSProperties;
children?: JSX.Element | JSX.Element[] | Array<JSX.Element | undefined>;
mapConfig?: MapConfigProps
mapCenter: {longitude: number, latitude: number}
}
export interface MapConfigProps {
mapboxAccessToken?: string; //token
minZoom?: number; //最小层级
maxZoom?: number; //最大层级
dragRotate?: boolean; //是否支持拖拽旋转
mapStyle?: MapStyle; //地图样式
}

View File

@ -1 +0,0 @@
export default {}

35
packages/map/src/utils.ts Normal file
View File

@ -0,0 +1,35 @@
const getRawType = (val: any) => {
return Object.prototype.toString.call(val).slice(8, -1)
}
const isPlainObjectOrArray = (val: any) => {
return isPlainObject(val) || Array.isArray(val)
}
const isPlainObject = (val: any) => {
return getRawType(val) === 'Object'
}
export const merge = (object: any, ...sources: any) => {
for(const source of sources) {
for(const key in source) {
if(source[key] === undefined && key in object) {
continue
}
if(isPlainObjectOrArray(source[key])) {
if(getRawType(object[key] === getRawType(source[key]))) {
if(isPlainObject(object[key])) {
merge(object[key], source[key])
} else {
object[key] = object[key].concat(source[key])
}
} else {
object[key] = source[key]
}
} else {
object[key] = source[key]
}
}
}
return object;
}

View File

@ -166,7 +166,14 @@ importers:
specifier: ^5.3.0
version: 5.3.4(react-dom@18.2.0)(react@18.2.0)
packages/map: {}
packages/map:
dependencies:
mapbox-gl:
specifier: ^2.15.0
version: 2.15.0
react-map-gl:
specifier: ^7.1.7
version: 7.1.7(mapbox-gl@2.15.0)(react-dom@18.2.0)(react@18.2.0)
packages/material:
dependencies:
@ -1492,7 +1499,7 @@ packages:
/@changesets/apply-release-plan@7.0.0:
resolution: {integrity: sha512-vfi69JR416qC9hWmFGSxj7N6wA5J222XNBmezSVATPWDVPIF7gkd4d8CpbEbXmRWbVrkoli3oerGS6dcL/BGsQ==}
dependencies:
'@babel/runtime': 7.23.8
'@babel/runtime': 7.24.1
'@changesets/config': 3.0.0
'@changesets/get-version-range-type': 0.4.0
'@changesets/git': 3.0.0
@ -1510,7 +1517,7 @@ packages:
/@changesets/assemble-release-plan@6.0.0:
resolution: {integrity: sha512-4QG7NuisAjisbW4hkLCmGW2lRYdPrKzro+fCtZaILX+3zdUELSvYjpL4GTv0E4aM9Mef3PuIQp89VmHJ4y2bfw==}
dependencies:
'@babel/runtime': 7.23.8
'@babel/runtime': 7.24.1
'@changesets/errors': 0.2.0
'@changesets/get-dependents-graph': 2.0.0
'@changesets/types': 6.0.0
@ -1593,7 +1600,7 @@ packages:
/@changesets/get-release-plan@4.0.0:
resolution: {integrity: sha512-9L9xCUeD/Tb6L/oKmpm8nyzsOzhdNBBbt/ZNcjynbHC07WW4E1eX8NMGC5g5SbM5z/V+MOrYsJ4lRW41GCbg3w==}
dependencies:
'@babel/runtime': 7.23.8
'@babel/runtime': 7.24.1
'@changesets/assemble-release-plan': 6.0.0
'@changesets/config': 3.0.0
'@changesets/pre': 2.0.0
@ -1609,7 +1616,7 @@ packages:
/@changesets/git@3.0.0:
resolution: {integrity: sha512-vvhnZDHe2eiBNRFHEgMiGd2CT+164dfYyrJDhwwxTVD/OW0FUD6G7+4DIx1dNwkwjHyzisxGAU96q0sVNBns0w==}
dependencies:
'@babel/runtime': 7.23.8
'@babel/runtime': 7.24.1
'@changesets/errors': 0.2.0
'@changesets/types': 6.0.0
'@manypkg/get-packages': 1.1.3
@ -1634,7 +1641,7 @@ packages:
/@changesets/pre@2.0.0:
resolution: {integrity: sha512-HLTNYX/A4jZxc+Sq8D1AMBsv+1qD6rmmJtjsCJa/9MSRybdxh0mjbTvE6JYZQ/ZiQ0mMlDOlGPXTm9KLTU3jyw==}
dependencies:
'@babel/runtime': 7.23.8
'@babel/runtime': 7.24.1
'@changesets/errors': 0.2.0
'@changesets/types': 6.0.0
'@manypkg/get-packages': 1.1.3
@ -1644,7 +1651,7 @@ packages:
/@changesets/read@0.6.0:
resolution: {integrity: sha512-ZypqX8+/im1Fm98K4YcZtmLKgjs1kDQ5zHpc2U1qdtNBmZZfo/IBiG162RoP0CUF05tvp2y4IspH11PLnPxuuw==}
dependencies:
'@babel/runtime': 7.23.8
'@babel/runtime': 7.24.1
'@changesets/git': 3.0.0
'@changesets/logger': 0.1.0
'@changesets/parse': 0.4.0
@ -1665,7 +1672,7 @@ packages:
/@changesets/write@0.3.0:
resolution: {integrity: sha512-slGLb21fxZVUYbyea+94uFiD6ntQW0M2hIKNznFizDhZPDgn2c/fv1UzzlW43RVzh1BEDuIqW6hzlJ1OflNmcw==}
dependencies:
'@babel/runtime': 7.23.8
'@babel/runtime': 7.24.1
'@changesets/types': 6.0.0
fs-extra: 7.0.1
human-id: 1.0.2
@ -2953,7 +2960,7 @@ packages:
/@manypkg/get-packages@1.1.3:
resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==}
dependencies:
'@babel/runtime': 7.23.8
'@babel/runtime': 7.24.1
'@changesets/types': 4.1.0
'@manypkg/find-root': 1.1.0
fs-extra: 8.1.0
@ -2961,6 +2968,58 @@ packages:
read-yaml-file: 1.1.0
dev: true
/@mapbox/geojson-rewind@0.5.2:
resolution: {integrity: sha512-tJaT+RbYGJYStt7wI3cq4Nl4SXxG8W7JDG5DMJu97V25RnbNg3QtQtf+KD+VLjNpWKYsRvXDNmNrBgEETr1ifA==}
hasBin: true
dependencies:
get-stream: 6.0.1
minimist: 1.2.8
dev: false
/@mapbox/jsonlint-lines-primitives@2.0.2:
resolution: {integrity: sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ==}
engines: {node: '>= 0.6'}
dev: false
/@mapbox/mapbox-gl-supported@2.0.1:
resolution: {integrity: sha512-HP6XvfNIzfoMVfyGjBckjiAOQK9WfX0ywdLubuPMPv+Vqf5fj0uCbgBQYpiqcWZT6cbyyRnTSXDheT1ugvF6UQ==}
dev: false
/@mapbox/point-geometry@0.1.0:
resolution: {integrity: sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ==}
dev: false
/@mapbox/tiny-sdf@2.0.6:
resolution: {integrity: sha512-qMqa27TLw+ZQz5Jk+RcwZGH7BQf5G/TrutJhspsca/3SHwmgKQ1iq+d3Jxz5oysPVYTGP6aXxCo5Lk9Er6YBAA==}
dev: false
/@mapbox/unitbezier@0.0.1:
resolution: {integrity: sha512-nMkuDXFv60aBr9soUG5q+GvZYL+2KZHVvsqFCzqnkGEf46U2fvmytHaEVc1/YZbiLn8X+eR3QzX1+dwDO1lxlw==}
dev: false
/@mapbox/vector-tile@1.3.1:
resolution: {integrity: sha512-MCEddb8u44/xfQ3oD+Srl/tNcQoqTw3goGk2oLsrFxOTc3dUp+kAnby3PvAeeBYSMSjSPD1nd1AJA6W49WnoUw==}
dependencies:
'@mapbox/point-geometry': 0.1.0
dev: false
/@mapbox/whoots-js@3.1.0:
resolution: {integrity: sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q==}
engines: {node: '>=6.0.0'}
dev: false
/@maplibre/maplibre-gl-style-spec@19.3.3:
resolution: {integrity: sha512-cOZZOVhDSulgK0meTsTkmNXb1ahVvmTmWmfx9gRBwc6hq98wS9JP35ESIoNq3xqEan+UN+gn8187Z6E4NKhLsw==}
hasBin: true
dependencies:
'@mapbox/jsonlint-lines-primitives': 2.0.2
'@mapbox/unitbezier': 0.0.1
json-stringify-pretty-compact: 3.0.0
minimist: 1.2.8
rw: 1.3.3
sort-object: 3.0.3
dev: false
/@microsoft/api-extractor-model@7.27.5(@types/node@20.5.1):
resolution: {integrity: sha512-9/tBzYMJitR+o+zkPr1lQh2+e8ClcaTF6eZo7vZGDqRt2O5XmXWPbYJZmxyM3wb5at6lfJNEeGZrQXLjsQ0Nbw==}
dependencies:
@ -3490,12 +3549,12 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
'@babel/runtime': 7.23.8
'@babel/runtime': 7.24.1
'@rc-component/portal': 1.1.2(react-dom@18.2.0)(react@18.2.0)
classnames: 2.5.1
rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0)
rc-resize-observer: 1.4.0(react-dom@18.2.0)(react@18.2.0)
rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0)
rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
@ -5222,6 +5281,12 @@ packages:
resolution: {integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==}
dev: true
/@types/mapbox-gl@3.1.0:
resolution: {integrity: sha512-hI6cQDjw1bkJw7MC/eHMqq5TWUamLwsujnUUeiIX2KDRjxRNSYMjnHz07+LATz9I9XIsKumOtUz4gRYnZOJ/FA==}
dependencies:
'@types/geojson': 7946.0.8
dev: false
/@types/mdast@3.0.15:
resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==}
dependencies:
@ -7004,6 +7069,11 @@ packages:
dependencies:
tslib: 2.6.2
/arr-union@3.1.0:
resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==}
engines: {node: '>=0.10.0'}
dev: false
/array-buffer-byte-length@1.0.0:
resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==}
dependencies:
@ -7110,6 +7180,11 @@ packages:
object.assign: 4.1.5
util: 0.10.4
/assign-symbols@1.0.0:
resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==}
engines: {node: '>=0.10.0'}
dev: false
/astral-regex@2.0.0:
resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==}
engines: {node: '>=8'}
@ -7536,6 +7611,19 @@ packages:
engines: {node: '>=12.17'}
dev: true
/bytewise-core@1.2.3:
resolution: {integrity: sha512-nZD//kc78OOxeYtRlVk8/zXqTB4gf/nlguL1ggWA8FuchMyOxcyHR4QPQZMUmA7czC+YnaBrPUCubqAWe50DaA==}
dependencies:
typewise-core: 1.2.0
dev: false
/bytewise@1.1.0:
resolution: {integrity: sha512-rHuuseJ9iQ0na6UDhnrRVDh8YnWVlU6xM3VH6q/+yHDeUH2zIhUzP+2/h3LIrhLDBtTqzWpE3p3tP/boefskKQ==}
dependencies:
bytewise-core: 1.2.3
typewise: 1.0.3
dev: false
/cacache@10.0.4:
resolution: {integrity: sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==}
dependencies:
@ -8468,6 +8556,10 @@ packages:
source-map-resolve: 0.6.0
dev: true
/csscolorparser@1.0.3:
resolution: {integrity: sha512-umPSgYwZkdFoUrH5hIq5kf0wPSXiro51nPw0j2K/c83KflkPSTBGMz6NJvMB+07VlL0y7VPo6QJcDjcgKTTm3w==}
dev: false
/cssdb@6.6.3:
resolution: {integrity: sha512-7GDvDSmE+20+WcSMhP17Q1EVWUrLlbxxpMDqG731n8P99JhnQZHR9YvtjPvEHfjFUjvQJvdpKCjlKOX+xe4UVA==}
@ -9597,7 +9689,7 @@ packages:
engines: {node: '>=10'}
dependencies:
cross-spawn: 7.0.3
get-stream: 6.0.0
get-stream: 6.0.1
human-signals: 2.1.0
is-stream: 2.0.0
merge-stream: 2.0.0
@ -9662,7 +9754,14 @@ packages:
engines: {node: '>=0.10.0'}
dependencies:
is-extendable: 0.1.1
dev: true
/extend-shallow@3.0.2:
resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==}
engines: {node: '>=0.10.0'}
dependencies:
assign-symbols: 1.0.0
is-extendable: 1.0.1
dev: false
/extend@3.0.2:
resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
@ -10192,6 +10291,10 @@ packages:
rbush: 3.0.1
dev: false
/geojson-vt@3.2.1:
resolution: {integrity: sha512-EvGQQi/zPrDA6zr6BnJD/YhwAkBP8nnJ9emh3EnHQKVMfg/MRVtPbMYdgVy/IaEmn4UfagD2a6fafPDL5hbtwg==}
dev: false
/get-caller-file@2.0.5:
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
engines: {node: 6.* || 8.* || >= 10.*}
@ -10258,7 +10361,6 @@ packages:
/get-value@2.0.6:
resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==}
engines: {node: '>=0.10.0'}
dev: true
/git-branch@1.0.0:
resolution: {integrity: sha512-ZTzuqw5Df8fyLXQWrX6hK+4FpNCdKzMcERlxENEGO5aKcLmG7MAszhrMhluUKNKmOS/JAGijDMQDXDCDw1mE/A==}
@ -10356,6 +10458,10 @@ packages:
resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==}
dev: true
/gl-matrix@3.4.3:
resolution: {integrity: sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA==}
dev: false
/glob-parent@5.1.2:
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
engines: {node: '>= 6'}
@ -10538,6 +10644,10 @@ packages:
/graphemer@1.4.0:
resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
/grid-index@1.1.0:
resolution: {integrity: sha512-HZRwumpOGUrHyxO5bqKZL0B0GlUpwtCAzZ42sgxUPniu33R1LSFH5yrIcBCHjkctCAh3mtWKcKd9J4vDDdeVHA==}
dev: false
/gud@1.0.0:
resolution: {integrity: sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==}
dev: false
@ -11406,7 +11516,13 @@ packages:
/is-extendable@0.1.1:
resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==}
engines: {node: '>=0.10.0'}
dev: true
/is-extendable@1.0.1:
resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==}
engines: {node: '>=0.10.0'}
dependencies:
is-plain-object: 2.0.4
dev: false
/is-extglob@2.1.1:
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
@ -11527,7 +11643,6 @@ packages:
engines: {node: '>=0.10.0'}
dependencies:
isobject: 3.0.1
dev: true
/is-plain-object@5.0.0:
resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==}
@ -11684,7 +11799,6 @@ packages:
/isobject@3.0.1:
resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==}
engines: {node: '>=0.10.0'}
dev: true
/isomorphic-unfetch@4.0.2:
resolution: {integrity: sha512-1Yd+CF/7al18/N2BDbsLBcp6RO3tucSW+jcLq24dqdX5MNbCNTw1z4BsGsp4zNmjr/Izm2cs/cEqZPp4kvWSCA==}
@ -11945,6 +12059,10 @@ packages:
/json-stable-stringify-without-jsonify@1.0.1:
resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
/json-stringify-pretty-compact@3.0.0:
resolution: {integrity: sha512-Rc2suX5meI0S3bfdZuA7JMFBGkJ875ApfVyq2WHELjBiiG22My/l7/8zPpH/CfFVQHuVLd8NLR0nv6vi0BYYKA==}
dev: false
/json-stringify-safe@5.0.1:
resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==}
dev: true
@ -12019,6 +12137,10 @@ packages:
setimmediate: 1.0.5
dev: false
/kdbush@4.0.2:
resolution: {integrity: sha512-WbCVYJ27Sz8zi9Q7Q0xHC+05iwkm3Znipc2XTlrnJbsHMYktW4hPhXUE8Ys1engBrvffoSCqbil1JQAa7clRpA==}
dev: false
/keyv@4.5.4:
resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
dependencies:
@ -12682,6 +12804,33 @@ packages:
resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==}
engines: {node: '>=8'}
/mapbox-gl@2.15.0:
resolution: {integrity: sha512-fjv+aYrd5TIHiL7wRa+W7KjtUqKWziJMZUkK5hm8TvJ3OLeNPx4NmW/DgfYhd/jHej8wWL+QJBDbdMMAKvNC0A==}
dependencies:
'@mapbox/geojson-rewind': 0.5.2
'@mapbox/jsonlint-lines-primitives': 2.0.2
'@mapbox/mapbox-gl-supported': 2.0.1
'@mapbox/point-geometry': 0.1.0
'@mapbox/tiny-sdf': 2.0.6
'@mapbox/unitbezier': 0.0.1
'@mapbox/vector-tile': 1.3.1
'@mapbox/whoots-js': 3.1.0
csscolorparser: 1.0.3
earcut: 2.2.4
geojson-vt: 3.2.1
gl-matrix: 3.4.3
grid-index: 1.1.0
kdbush: 4.0.2
murmurhash-js: 1.0.0
pbf: 3.2.1
potpack: 2.0.0
quickselect: 2.0.0
rw: 1.3.3
supercluster: 8.0.1
tinyqueue: 2.0.3
vt-pbf: 3.1.3
dev: false
/markdown-table@3.0.3:
resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==}
dev: true
@ -13497,6 +13646,10 @@ packages:
object-assign: 4.1.1
dev: false
/murmurhash-js@1.0.0:
resolution: {integrity: sha512-TvmkNhkv8yct0SVBSy+o8wYzXjE4Zz3PCesbfs8HiCXXdcTuocApFv11UWlNFWKYsP2okqrhb7JNlSm9InBhIw==}
dev: false
/mute-stream@0.0.7:
resolution: {integrity: sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==}
dev: true
@ -14513,6 +14666,14 @@ packages:
resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
engines: {node: '>=8'}
/pbf@3.2.1:
resolution: {integrity: sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ==}
hasBin: true
dependencies:
ieee754: 1.2.1
resolve-protobuf-schema: 2.1.0
dev: false
/pbkdf2@3.1.2:
resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==}
engines: {node: '>=0.12'}
@ -15018,6 +15179,10 @@ packages:
picocolors: 1.0.0
source-map-js: 1.0.2
/potpack@2.0.0:
resolution: {integrity: sha512-Q+/tYsFU9r7xoOJ+y/ZTtdVQwTWfzjbiXBDMM/JKUux3+QPP02iUuIoeBQ+Ot6oEDlC+/PGjB/5A3K7KKb7hcw==}
dev: false
/preferred-pm@3.1.2:
resolution: {integrity: sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q==}
engines: {node: '>=10'}
@ -15184,6 +15349,10 @@ packages:
resolution: {integrity: sha512-9t5qARVofg2xQqKtytzt+lZ4d1Qvj8t5B8fEwXK6qOfgRLgH/b13QlgEyDh033NOS31nXeFbYv7CLUDG1CeifQ==}
dev: true
/protocol-buffers-schema@3.6.0:
resolution: {integrity: sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==}
dev: false
/protocols@2.0.1:
resolution: {integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==}
dev: true
@ -15453,11 +15622,11 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
'@babel/runtime': 7.23.8
'@babel/runtime': 7.24.1
'@rc-component/portal': 1.1.2(react-dom@18.2.0)(react@18.2.0)
classnames: 2.5.1
rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0)
rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0)
rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
@ -15556,9 +15725,9 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
'@babel/runtime': 7.23.8
'@babel/runtime': 7.24.1
async-validator: 4.2.5
rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0)
rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
@ -15583,12 +15752,12 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
'@babel/runtime': 7.23.8
'@babel/runtime': 7.24.1
'@rc-component/portal': 1.1.2(react-dom@18.2.0)(react@18.2.0)
classnames: 2.5.1
rc-dialog: 9.3.4(react-dom@18.2.0)(react@18.2.0)
rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0)
rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0)
rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
@ -15750,12 +15919,12 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
'@babel/runtime': 7.23.8
'@babel/runtime': 7.24.1
'@rc-component/trigger': 1.18.2(react-dom@18.2.0)(react@18.2.0)
classnames: 2.5.1
rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0)
rc-overflow: 1.3.2(react-dom@18.2.0)(react@18.2.0)
rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0)
rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
@ -16277,10 +16446,10 @@ packages:
react: '*'
react-dom: '*'
dependencies:
'@babel/runtime': 7.23.8
'@babel/runtime': 7.24.1
classnames: 2.5.1
rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0)
rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0)
rc-util: 5.39.1(react-dom@18.2.0)(react@18.2.0)
rc-virtual-list: 3.11.3(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
@ -16525,6 +16694,26 @@ packages:
resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==}
dev: false
/react-map-gl@7.1.7(mapbox-gl@2.15.0)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-mwjc0obkBJOXCcoXQr3VoLqmqwo9vS4bXfbGsdxXzEgVCv/PM0v+1QggL7W0d/ccIy+VCjbXNlGij+PENz6VNg==}
peerDependencies:
mapbox-gl: '>=1.13.0'
maplibre-gl: '>=1.13.0'
react: '>=16.3.0'
react-dom: '>=16.3.0'
peerDependenciesMeta:
mapbox-gl:
optional: true
maplibre-gl:
optional: true
dependencies:
'@maplibre/maplibre-gl-style-spec': 19.3.3
'@types/mapbox-gl': 3.1.0
mapbox-gl: 2.15.0
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
/react-merge-refs@1.1.0:
resolution: {integrity: sha512-alTKsjEL0dKH/ru1Iyn7vliS2QRcBp9zZPGoWxUOvRGWPUYgjo+V01is7p04It6KhgrzhJGnIj9GgX8W4bZoCQ==}
@ -16964,6 +17153,12 @@ packages:
/resolve-pkg-maps@1.0.0:
resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
/resolve-protobuf-schema@2.1.0:
resolution: {integrity: sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==}
dependencies:
protocol-buffers-schema: 3.6.0
dev: false
/resolve@1.19.0:
resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==}
dependencies:
@ -17107,6 +17302,10 @@ packages:
aproba: 1.2.0
dev: true
/rw@1.3.3:
resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==}
dev: false
/rxjs@6.6.7:
resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==}
engines: {npm: '>=2.0.0'}
@ -17268,6 +17467,16 @@ packages:
functions-have-names: 1.2.3
has-property-descriptors: 1.0.1
/set-value@2.0.1:
resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==}
engines: {node: '>=0.10.0'}
dependencies:
extend-shallow: 2.0.1
is-extendable: 0.1.1
is-plain-object: 2.0.4
split-string: 3.1.0
dev: false
/setimmediate@1.0.5:
resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==}
@ -17479,6 +17688,16 @@ packages:
dependencies:
atomic-sleep: 1.0.0
/sort-asc@0.2.0:
resolution: {integrity: sha512-umMGhjPeHAI6YjABoSTrFp2zaBtXBej1a0yKkuMUyjjqu6FJsTF+JYwCswWDg+zJfk/5npWUUbd33HH/WLzpaA==}
engines: {node: '>=0.10.0'}
dev: false
/sort-desc@0.2.0:
resolution: {integrity: sha512-NqZqyvL4VPW+RAxxXnB8gvE1kyikh8+pR+T+CXLksVRN9eiQqkQlPwqWYU0mF9Jm7UnctShlxLyAt1CaBOTL1w==}
engines: {node: '>=0.10.0'}
dev: false
/sort-keys@2.0.0:
resolution: {integrity: sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==}
engines: {node: '>=4'}
@ -17489,6 +17708,18 @@ packages:
/sort-object-keys@1.1.3:
resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==}
/sort-object@3.0.3:
resolution: {integrity: sha512-nK7WOY8jik6zaG9CRwZTaD5O7ETWDLZYMM12pqY8htll+7dYeqGfEUPcUBHOpSJg2vJOrvFIY2Dl5cX2ih1hAQ==}
engines: {node: '>=0.10.0'}
dependencies:
bytewise: 1.1.0
get-value: 2.0.6
is-extendable: 0.1.1
sort-asc: 0.2.0
sort-desc: 0.2.0
union-value: 1.0.1
dev: false
/sort-package-json@2.4.1:
resolution: {integrity: sha512-Nd3rgLBJcZ4iw7tpuOhwBupG6SvUDU0Fy1cZGAMorA2JmDUb+29Dg5phJK9gapa2Ak9d15w/RuMl/viwX+nKwQ==}
hasBin: true
@ -17605,6 +17836,13 @@ packages:
resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==}
engines: {node: '>=6'}
/split-string@3.1.0:
resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==}
engines: {node: '>=0.10.0'}
dependencies:
extend-shallow: 3.0.2
dev: false
/split2@3.2.2:
resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==}
dependencies:
@ -17952,6 +18190,12 @@ packages:
resolution: {integrity: sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ==}
dev: false
/supercluster@8.0.1:
resolution: {integrity: sha512-IiOea5kJ9iqzD2t7QJq/cREyLHTtSmUT6gQsweojg9WH2sYJqZK9SswTu6jrscO6D1G5v5vYZ9ru/eq85lXeZQ==}
dependencies:
kdbush: 4.0.2
dev: false
/supports-color@5.5.0:
resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
engines: {node: '>=4'}
@ -18583,6 +18827,16 @@ packages:
engines: {node: '>=14.17'}
hasBin: true
/typewise-core@1.2.0:
resolution: {integrity: sha512-2SCC/WLzj2SbUwzFOzqMCkz5amXLlxtJqDKTICqg30x+2DZxcfZN2MvQZmGfXWKNWaKK9pBPsvkcwv8bF/gxKg==}
dev: false
/typewise@1.0.3:
resolution: {integrity: sha512-aXofE06xGhaQSPzt8hlTY+/YWQhm9P0jYUp1f2XtmW/3Bk0qzXcyFWAtPoo2uTGQj1ZwbDuSyuxicq+aDo8lCQ==}
dependencies:
typewise-core: 1.2.0
dev: false
/uglify-js@3.17.4:
resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==}
engines: {node: '>=0.8.0'}
@ -18717,6 +18971,16 @@ packages:
vfile: 5.3.7
dev: true
/union-value@1.0.1:
resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==}
engines: {node: '>=0.10.0'}
dependencies:
arr-union: 3.1.0
get-value: 2.0.6
is-extendable: 0.1.1
set-value: 2.0.1
dev: false
/unique-filename@1.1.1:
resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==}
dependencies:
@ -19050,6 +19314,14 @@ packages:
/vm-browserify@1.1.2:
resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==}
/vt-pbf@3.1.3:
resolution: {integrity: sha512-2LzDFzt0mZKZ9IpVF2r69G9bXaP2Q2sArJCmcCgvfTdCCZzSyz4aCLoQyUilu37Ll56tCblIZrXFIjNUpGIlmA==}
dependencies:
'@mapbox/point-geometry': 0.1.0
'@mapbox/vector-tile': 1.3.1
pbf: 3.2.1
dev: false
/walker@1.0.8:
resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
dependencies: