├── .gitignore
├── .gitattributes
├── .github
├── FUNDING.yml
└── workflows
│ └── publish.yml
├── src
├── events
│ ├── index.ts
│ ├── reference.ts
│ ├── map.ts
│ ├── global.ts
│ └── layer.ts
├── index.ts
├── types.ts
└── GeomanControls.ts
├── tsconfig.build.json
├── .vscode
└── launch.json
├── example
├── index.tsx
├── App.tsx
├── geojson.ts
└── Geoman.tsx
├── tsconfig.json
├── index.html
├── LICENSE
├── package.json
├── vite.config.ts
├── README.md
└── yarn.lock
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
3 | .DS_Store
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | # These are supported funding model platforms
2 |
3 | github: TurtIeSocks
4 |
--------------------------------------------------------------------------------
/src/events/index.ts:
--------------------------------------------------------------------------------
1 | export * from './global'
2 | export * from './layer'
3 | export * from './map'
4 | export * from './reference'
5 |
--------------------------------------------------------------------------------
/src/index.ts:
--------------------------------------------------------------------------------
1 | import GeomanControls from "./GeomanControls"
2 |
3 | export * from "./types"
4 | export * from "./events"
5 | export { GeomanControls, GeomanControls as useGeomanControls }
6 |
--------------------------------------------------------------------------------
/tsconfig.build.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.json",
3 | "compilerOptions": {
4 | // "emitDeclarationOnly": true,
5 | "outDir": "dist",
6 | "rootDir": "src"
7 | },
8 | "include": [
9 | "src"
10 | ]
11 | }
12 |
--------------------------------------------------------------------------------
/.vscode/launch.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "0.2.0",
3 | "configurations": [
4 | {
5 | "type": "chrome",
6 | "request": "launch",
7 | "name": "Launch Chrome against localhost",
8 | "url": "http://localhost:3001",
9 | "webRoot": "${workspaceFolder}/example"
10 | }
11 | ]
12 | }
--------------------------------------------------------------------------------
/example/index.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import { createRoot } from 'react-dom/client'
3 |
4 | import App from './App'
5 |
6 | import '@geoman-io/leaflet-geoman-free/dist/leaflet-geoman.css'
7 | import 'leaflet/dist/leaflet.css'
8 |
9 | // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
10 | createRoot(document.getElementById('root')!).render( )
11 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "moduleResolution": "node",
4 | "esModuleInterop": true,
5 | "target": "es2020",
6 | "module": "es2020",
7 | "lib": [
8 | "es2020"
9 | ],
10 | "strict": true,
11 | "declaration": true,
12 | "allowSyntheticDefaultImports": true,
13 | "skipLibCheck": true
14 | },
15 | "exclude": [
16 | "dist",
17 | "node_modules"
18 | ],
19 | "include": [
20 | "src",
21 | "test"
22 | ]
23 | }
--------------------------------------------------------------------------------
/.github/workflows/publish.yml:
--------------------------------------------------------------------------------
1 | name: Publish
2 |
3 | on:
4 | release:
5 | types: [created]
6 |
7 | jobs:
8 | publish-npm:
9 | name: Publish to NPM
10 | runs-on: ubuntu-latest
11 | steps:
12 | - name: Checkout Code
13 | uses: actions/checkout@v3
14 | with:
15 | fetch-depth: 2
16 |
17 | - name: Setup Node.js environment
18 | uses: actions/setup-node@v3
19 | with:
20 | node-version: 16
21 | registry-url: https://registry.npmjs.org/
22 | - run: yarn install
23 | - run: yarn build:ts
24 | - uses: JS-DevTools/npm-publish@v1
25 | with:
26 | token: ${{ secrets.NPM_TOKEN }}
27 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
10 |
11 | React Leaflet Geoman
12 |
26 |
27 |
28 |
29 |
30 |
31 |
32 | This app requires JavaScript.
33 |
34 |
35 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 TurtIeSocks
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/example/App.tsx:
--------------------------------------------------------------------------------
1 | import * as React from 'react'
2 | import { MapContainer, TileLayer } from 'react-leaflet'
3 | import type { FeatureCollection } from 'geojson'
4 |
5 | import GeomanWrapper from './Geoman'
6 | import { GEOJSON } from './geojson'
7 |
8 | export default function App() {
9 | const [geojson, setGeojson] = React.useState(GEOJSON)
10 |
11 | return (
12 |
13 |
14 |
15 |
19 |
20 |
21 |
22 |
23 |
{geojson.features.length} Features
24 |
{JSON.stringify(geojson, null, 2)}
25 |
26 |
27 | )
28 | }
29 |
--------------------------------------------------------------------------------
/src/events/reference.ts:
--------------------------------------------------------------------------------
1 | import type { GeomanHandlers } from '../types'
2 |
3 | export const reference = [
4 | 'onMapRemove',
5 | 'onLayerRemove',
6 | 'onMapCut',
7 | 'onLayerCut',
8 | 'onMapRotateEnable',
9 | 'onLayerRotateEnable',
10 | 'onMapRotateDisable',
11 | 'onLayerRotateDisable',
12 | 'onMapRotateStart',
13 | 'onLayerRotateStart',
14 | 'onMapRotate',
15 | 'onLayerRotate',
16 | 'onMapRotateEnd',
17 | 'onLayerRotateEnd',
18 | 'onGlobalDrawModeToggled',
19 | 'onDrawStart',
20 | 'onDrawEnd',
21 | 'onCreate',
22 | 'onGlobalEditModeToggled',
23 | 'onGlobalDragModeToggled',
24 | 'onGlobalRemovalModeToggled',
25 | 'onGlobalCutModeToggled',
26 | 'onGlobalRotateModeToggled',
27 | 'onLangChange',
28 | 'onButtonClick',
29 | 'onActionClick',
30 | 'onKeyEvent',
31 | 'onSnapDrag',
32 | 'onSnap',
33 | 'onUnsnap',
34 | 'onCenterPlaced',
35 | 'onEdit',
36 | 'onUpdate',
37 | 'onEnable',
38 | 'onDisable',
39 | 'onVertexAdded',
40 | 'onVertexRemoved',
41 | 'onVertexClick',
42 | 'onMarkerDragStart',
43 | 'onMarkerDrag',
44 | 'onMarkerDragEnd',
45 | 'onLayerReset',
46 | 'onIntersect',
47 | 'onChange',
48 | 'onTextChange',
49 | 'onDragStart',
50 | 'onDrag',
51 | 'onDragEnd',
52 | 'onDragEnable',
53 | 'onDragDisable',
54 | ] as (keyof GeomanHandlers)[]
55 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "react-leaflet-geoman-v2",
3 | "version": "1.0.1",
4 | "description": "React wrapper for the leaflet-geoman plugin",
5 | "repository": "https://github.com/TurtIeSocks/react-leaflet-geoman",
6 | "author": "TurtIeSocks <58572875+TurtIeSocks@users.noreply.github.com>",
7 | "license": "MIT",
8 | "private": false,
9 | "files": [
10 | "dist"
11 | ],
12 | "main": "dist/index.js",
13 | "types": "dist/index.d.ts",
14 | "scripts": {
15 | "start": "vite",
16 | "build": "vite build",
17 | "build:ts": "tsc --project tsconfig.build.json"
18 | },
19 | "devDependencies": {
20 | "@geoman-io/leaflet-geoman-free": "^2.14.2",
21 | "@rollup/plugin-typescript": "^8.4.0",
22 | "@types/leaflet": "^1.7.11",
23 | "@types/node": "^18.7.13",
24 | "@types/react": "^18.0.17",
25 | "@types/react-dom": "^18.0.6",
26 | "@vitejs/plugin-react": "^2.0.1",
27 | "geojson": "^0.5.0",
28 | "leaflet": "^1.8.0",
29 | "react": "^18.2.0",
30 | "react-dom": "^18.2.0",
31 | "react-leaflet": "^4.0.2",
32 | "typescript": "^4.6.3",
33 | "vite": "^3.0.8",
34 | "vite-plugin-checker": "^0.4.9"
35 | },
36 | "peerDependencies": {
37 | "@geoman-io/leaflet-geoman-free": "^2.14.2",
38 | "react": "^17.0.0 || ^18.0.0",
39 | "react-dom": "^17.0.0 || ^18.0.0",
40 | "react-leaflet": "^4"
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/src/events/map.ts:
--------------------------------------------------------------------------------
1 | import type { Map } from 'leaflet'
2 |
3 | import { layerEvents } from './layer'
4 | import type { HandlersWithDebug, Method } from '../types'
5 |
6 | export function mapEvents(
7 | map: Map,
8 | handlers: HandlersWithDebug,
9 | method: Method
10 | ) {
11 | // Cut
12 | if (handlers.onMapCut) {
13 | map[method]('pm:cut', (e) => {
14 | layerEvents(e.layer, handlers, 'off')
15 | layerEvents(e.layer, handlers, 'on')
16 | if (handlers.onMapCut) handlers.onMapCut(e)
17 | })
18 | }
19 |
20 | // Draw
21 | if (handlers.onCreate) {
22 | map[method]('pm:create', (e) => {
23 | layerEvents(e.layer, handlers, 'off')
24 | layerEvents(e.layer, handlers, 'on')
25 | if (handlers.onCreate) handlers.onCreate(e)
26 | })
27 | }
28 | if (handlers.onDrawStart) {
29 | map[method]('pm:drawstart', handlers.onDrawStart)
30 | }
31 | if (handlers.onDrawEnd) {
32 | map[method]('pm:drawend', handlers.onDrawEnd)
33 | }
34 |
35 | // Remove
36 | if (handlers.onMapRemove) {
37 | map[method]('pm:remove', handlers.onMapRemove)
38 | }
39 |
40 | // Rotate
41 | if (handlers.onMapRotateEnable) {
42 | map[method]('pm:rotateenable', handlers.onMapRotateEnable)
43 | }
44 | if (handlers.onMapRotateDisable) {
45 | map[method]('pm:rotatedisable', handlers.onMapRotateDisable)
46 | }
47 | if (handlers.onMapRotate) {
48 | map[method]('pm:rotate', handlers.onMapRotate)
49 | }
50 | if (handlers.onMapRotateStart) {
51 | map[method]('pm:rotatestart', handlers.onMapRotateStart)
52 | }
53 | if (handlers.onMapRotateEnd) {
54 | map[method]('pm:rotateend', handlers.onMapRotateEnd)
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/src/events/global.ts:
--------------------------------------------------------------------------------
1 | import type { Map } from 'leaflet'
2 |
3 | import type { HandlersWithDebug, Method } from '../types'
4 |
5 | export function globalEvents(
6 | map: Map,
7 | handlers: HandlersWithDebug,
8 | method: Method
9 | ) {
10 | // Cut Mode
11 | if (handlers.onGlobalCutModeToggled) {
12 | map[method]('pm:globalcutmodetoggled', handlers.onGlobalCutModeToggled)
13 | }
14 |
15 | // Drag Mode
16 | if (handlers.onGlobalDragModeToggled) {
17 | map[method]('pm:globaldragmodetoggled', handlers.onGlobalDragModeToggled)
18 | }
19 |
20 | // Draw Mode
21 | if (handlers.onGlobalDrawModeToggled) {
22 | map[method]('pm:globaldrawmodetoggled', handlers.onGlobalDrawModeToggled)
23 | }
24 |
25 | // Edit Mode
26 | if (handlers.onGlobalEditModeToggled) {
27 | map[method]('pm:globaleditmodetoggled', handlers.onGlobalEditModeToggled)
28 | }
29 |
30 | // Misc Actions
31 | if (handlers.onButtonClick) {
32 | map[method]('pm:buttonclick', handlers.onButtonClick)
33 | }
34 | if (handlers.onActionClick) {
35 | map[method]('pm:actionclick', handlers.onActionClick)
36 | }
37 | if (handlers.onKeyEvent) {
38 | map[method]('pm:keyevent', handlers.onKeyEvent)
39 | }
40 | if (handlers.onLangChange) {
41 | map[method]('pm:langchange', handlers.onLangChange)
42 | }
43 |
44 | // Remove Mode
45 | if (handlers.onGlobalRemovalModeToggled) {
46 | map[method](
47 | 'pm:globalremovalmodetoggled',
48 | handlers.onGlobalRemovalModeToggled
49 | )
50 | }
51 |
52 | // Rotate Mode
53 | if (handlers.onGlobalRotateModeToggled) {
54 | map[method](
55 | 'pm:globalrotatemodetoggled',
56 | handlers.onGlobalRotateModeToggled
57 | )
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { resolve } from 'path'
2 |
3 | import { defineConfig } from 'vite'
4 | import react from '@vitejs/plugin-react'
5 | import checker from 'vite-plugin-checker'
6 | import typescript from '@rollup/plugin-typescript'
7 |
8 | export default defineConfig(({ mode }) => ({
9 | plugins:
10 | mode === 'development'
11 | ? [
12 | react({
13 | jsxRuntime: 'classic',
14 | }),
15 | checker({
16 | overlay: {
17 | initialIsOpen: false,
18 | },
19 | typescript: {
20 | tsconfigPath: resolve(__dirname, 'tsconfig.json'),
21 | },
22 | }),
23 | ]
24 | : [],
25 | build: {
26 | target: ['safari11.1', 'chrome64', 'firefox66', 'edge88'],
27 | outDir: resolve(__dirname, './dist'),
28 | sourcemap: true,
29 | minify: false,
30 | input:
31 | mode === 'development'
32 | ? { main: resolve(__dirname, 'index.html') }
33 | : undefined,
34 | lib:
35 | mode === 'development'
36 | ? undefined
37 | : {
38 | name: 'react-leaflet-geoman',
39 | entry: 'src/index.ts',
40 | fileName: 'index',
41 | },
42 | rollupOptions:
43 | mode === 'development'
44 | ? {}
45 | : {
46 | plugins: [typescript({ tsconfig: './tsconfig.build.json' })],
47 | external: [
48 | 'react',
49 | 'leaflet',
50 | 'react-leaflet',
51 | '@geoman-io/leaflet-geoman-free',
52 | ],
53 | },
54 | assetsDir: '',
55 | emptyOutDir: true,
56 | },
57 | server: {
58 | host: '0.0.0.0',
59 | open: true,
60 | port: 3001,
61 | fs: {
62 | strict: false,
63 | },
64 | },
65 | }))
66 |
--------------------------------------------------------------------------------
/example/geojson.ts:
--------------------------------------------------------------------------------
1 | import type { FeatureCollection } from 'geojson'
2 |
3 | export const GEOJSON: FeatureCollection = {
4 | type: 'FeatureCollection',
5 | features: [
6 | {
7 | type: 'Feature',
8 | properties: {},
9 | geometry: {
10 | type: 'Polygon',
11 | coordinates: [
12 | [
13 | [-73.97408, 40.778104],
14 | [-73.97172, 40.78808],
15 | [-73.966141, 40.786001],
16 | [-73.97408, 40.778104],
17 | ],
18 | ],
19 | },
20 | },
21 | {
22 | type: 'Feature',
23 | properties: {},
24 | geometry: {
25 | type: 'Polygon',
26 | coordinates: [
27 | [
28 | [-73.974982, 40.776187],
29 | [-73.965283, 40.774724],
30 | [-73.957644, 40.779534],
31 | [-73.959189, 40.782231],
32 | [-73.971034, 40.778819],
33 | [-73.974982, 40.776187],
34 | ],
35 | ],
36 | },
37 | },
38 | {
39 | type: 'Feature',
40 | properties: {},
41 | geometry: { type: 'Point', coordinates: [-73.979187, 40.783498] },
42 | },
43 | {
44 | type: 'Feature',
45 | properties: { radius: 20 },
46 | geometry: { type: 'Point', coordinates: [-73.961507, 40.786585] },
47 | },
48 | {
49 | type: 'Feature',
50 | properties: { radius: 15 },
51 | geometry: { type: 'Point', coordinates: [-73.977685, 40.771604] },
52 | },
53 | {
54 | type: 'Feature',
55 | properties: { radius: 160 },
56 | geometry: { type: 'Point', coordinates: [-73.967772, 40.769719] },
57 | },
58 | {
59 | type: 'Feature',
60 | properties: { radius: 200 },
61 | geometry: { type: 'Point', coordinates: [-73.961936, 40.771539] },
62 | },
63 | {
64 | type: 'Feature',
65 | properties: { radius: 40 },
66 | geometry: { type: 'Point', coordinates: [-73.958288, 40.774952] },
67 | },
68 | {
69 | type: 'Feature',
70 | properties: { radius: 70 },
71 | geometry: { type: 'Point', coordinates: [-73.971205, 40.772742] },
72 | },
73 | {
74 | type: 'Feature',
75 | properties: {},
76 | geometry: {
77 | type: 'Polygon',
78 | coordinates: [
79 | [
80 | [-73.988543, 40.769882],
81 | [-73.988543, 40.778787],
82 | [-73.980475, 40.778787],
83 | [-73.980475, 40.769882],
84 | [-73.988543, 40.769882],
85 | ],
86 | ],
87 | },
88 | },
89 | {
90 | type: 'Feature',
91 | properties: {},
92 | geometry: {
93 | type: 'LineString',
94 | coordinates: [
95 | [-73.951684, 40.78977],
96 | [-73.949409, 40.775277],
97 | [-73.948594, 40.789932],
98 | [-73.951641, 40.792499],
99 | ],
100 | },
101 | },
102 | ],
103 | }
104 |
--------------------------------------------------------------------------------
/example/Geoman.tsx:
--------------------------------------------------------------------------------
1 | import * as React from 'react'
2 | import { FeatureGroup } from 'react-leaflet'
3 | import type { FeatureCollection } from 'geojson'
4 | import * as L from 'leaflet'
5 |
6 | import { GeomanControls } from '../src/index'
7 |
8 | interface Props {
9 | geojson: FeatureCollection
10 | setGeojson: (geojson: FeatureCollection) => void
11 | }
12 |
13 | export default function Geoman({ geojson, setGeojson }: Props) {
14 | const ref = React.useRef(null)
15 |
16 | React.useEffect(() => {
17 | if (ref.current?.getLayers().length === 0 && geojson) {
18 | L.geoJSON(geojson).eachLayer((layer) => {
19 | if (
20 | layer instanceof L.Polyline ||
21 | layer instanceof L.Polygon ||
22 | layer instanceof L.Marker
23 | ) {
24 | if (layer?.feature?.properties.radius && ref.current) {
25 | new L.Circle(layer.feature.geometry.coordinates.slice().reverse(), {
26 | radius: layer.feature?.properties.radius,
27 | }).addTo(ref.current)
28 | } else {
29 | ref.current?.addLayer(layer)
30 | }
31 | }
32 | })
33 | }
34 | }, [geojson])
35 |
36 | const handleChange = () => {
37 | const newGeo: FeatureCollection = {
38 | type: 'FeatureCollection',
39 | features: [],
40 | }
41 | const layers = ref.current?.getLayers()
42 | if (layers) {
43 | layers.forEach((layer) => {
44 | if (layer instanceof L.Circle || layer instanceof L.CircleMarker) {
45 | const { lat, lng } = layer.getLatLng()
46 | newGeo.features.push({
47 | type: 'Feature',
48 | properties: {
49 | radius: layer.getRadius(),
50 | },
51 | geometry: {
52 | type: 'Point',
53 | coordinates: [lng, lat],
54 | },
55 | })
56 | } else if (
57 | layer instanceof L.Marker ||
58 | layer instanceof L.Polygon ||
59 | layer instanceof L.Rectangle ||
60 | layer instanceof L.Polyline
61 | ) {
62 | newGeo.features.push(layer.toGeoJSON())
63 | }
64 | })
65 | }
66 | setGeojson(newGeo)
67 | }
68 |
69 | return (
70 |
71 | L.PM.setOptIn(true)}
81 | // onUnmount={() => L.PM.setOptIn(false)}
82 | eventDebugFn={console.log}
83 | onCreate={handleChange}
84 | onChange={handleChange}
85 | onUpdate={handleChange}
86 | onEdit={handleChange}
87 | onMapRemove={handleChange}
88 | onMapCut={handleChange}
89 | onDragEnd={handleChange}
90 | onMarkerDragEnd={handleChange}
91 | />
92 |
93 | )
94 | }
95 |
--------------------------------------------------------------------------------
/src/types.ts:
--------------------------------------------------------------------------------
1 | import type { PM, PathOptions } from 'leaflet'
2 |
3 | export type Method = 'on' | 'off'
4 |
5 | export type EventDebugFn = (input?: any) => void
6 |
7 | export type ValueOf = GeomanHandlers[T]
8 |
9 | export interface HandlersWithDebug extends GeomanHandlers {
10 | eventDebugFn?: EventDebugFn
11 | }
12 |
13 | export interface GeomanHandlers {
14 | // Global
15 | onGlobalDrawModeToggled?: PM.GlobalDrawModeToggledEventHandler
16 | onGlobalEditModeToggled?: PM.GlobalEditModeToggledEventHandler
17 | onGlobalDragModeToggled?: PM.GlobalDragModeToggledEventHandler
18 | onGlobalRemovalModeToggled?: PM.GlobalRemovalModeToggledEventHandler
19 | onGlobalCutModeToggled?: PM.GlobalCutModeToggledEventHandler
20 | onGlobalRotateModeToggled?: PM.GlobalRotateModeToggledEventHandler
21 | onButtonClick?: PM.ButtonClickEventHandler
22 | onActionClick?: PM.ActionClickEventHandler
23 | onKeyEvent?: PM.KeyboardKeyEventHandler
24 | onLangChange?: PM.LangChangeEventHandler
25 |
26 | // map
27 | onCreate?: PM.CreateEventHandler
28 | onDrawStart?: PM.DrawStartEventHandler
29 | onDrawEnd?: PM.DrawEndEventHandler
30 | onMapRemove?: PM.RemoveEventHandler
31 | onMapCut?: PM.CutEventHandler
32 | onMapRotateEnable?: PM.RotateEnableEventHandler
33 | onMapRotateDisable?: PM.RotateDisableEventHandler
34 | onMapRotateStart?: PM.RotateStartEventHandler
35 | onMapRotate?: PM.RotateEventHandler
36 | onMapRotateEnd?: PM.RotateEndEventHandler
37 |
38 | // layer
39 | onSnapDrag?: PM.SnapEventHandler
40 | onSnap?: PM.SnapEventHandler
41 | onUnsnap?: PM.SnapEventHandler
42 | onCenterPlaced?: PM.CenterPlacedEventHandler
43 | onEdit?: PM.EditEventHandler
44 | onUpdate?: PM.UpdateEventHandler
45 | onEnable?: PM.EnableEventHandler
46 | onDisable?: PM.DisableEventHandler
47 | onVertexAdded?: PM.VertexAddedEventHandler
48 | onVertexRemoved?: PM.VertexRemovedEventHandler
49 | onVertexClick?: PM.VertexClickEventHandler
50 | onMarkerDragStart?: PM.MarkerDragStartEventHandler
51 | onMarkerDrag?: PM.MarkerDragEventHandler
52 | onMarkerDragEnd?: PM.MarkerDragEndEventHandler
53 | onLayerReset?: PM.LayerResetEventHandler
54 | onIntersect?: PM.IntersectEventHandler
55 | onChange?: PM.ChangeEventHandler
56 | onTextChange?: PM.TextChangeEventHandler
57 | onDragStart?: PM.DragStartEventHandler
58 | onDrag?: PM.DragEventHandler
59 | onDragEnd?: PM.DragEndEventHandler
60 | onDragEnable?: PM.DragEnableEventHandler
61 | onDragDisable?: PM.DragDisableEventHandler
62 | onLayerRemove?: PM.RemoveEventHandler
63 | onLayerCut?: PM.CutEventHandler
64 | onLayerRotateEnable?: PM.RotateEnableEventHandler
65 | onLayerRotateDisable?: PM.RotateDisableEventHandler
66 | onLayerRotateStart?: PM.RotateStartEventHandler
67 | onLayerRotate?: PM.RotateEventHandler
68 | onLayerRotateEnd?: PM.RotateEndEventHandler
69 | }
70 |
71 | export interface GeomanProps extends GeomanHandlers {
72 | options?: PM.ToolbarOptions
73 | globalOptions?: PM.GlobalOptions
74 | pathOptions?: PathOptions
75 | eventDebugFn?: EventDebugFn
76 | onMount?: () => void
77 | onUnmount?: () => void
78 | lang?: PM.SupportLocales
79 | }
80 |
--------------------------------------------------------------------------------
/src/GeomanControls.ts:
--------------------------------------------------------------------------------
1 | import '@geoman-io/leaflet-geoman-free'
2 | import { useLayoutEffect, useEffect, useState } from 'react'
3 | import { useLeafletContext } from '@react-leaflet/core'
4 | import type { LayerGroup } from 'leaflet'
5 |
6 | import type { GeomanProps } from './types'
7 | import { reference, layerEvents, globalEvents, mapEvents } from './events'
8 |
9 | export default function GeomanControls({
10 | options = {},
11 | globalOptions = {},
12 | pathOptions = {},
13 | lang = 'en',
14 | eventDebugFn,
15 | onMount,
16 | onUnmount,
17 | ...handlers
18 | }: GeomanProps): null {
19 | const [mounted, setMounted] = useState(false)
20 | const [handlersRef, setHandlersRef] = useState>(
21 | process.env.NODE_ENV === 'development' ? handlers : {}
22 | )
23 | const { map, layerContainer } = useLeafletContext()
24 | const container = (layerContainer as LayerGroup) || map
25 |
26 | if (!container) {
27 | console.warn('[GEOMAN-CONTROLS] No map or container instance found')
28 | return null
29 | }
30 |
31 | useLayoutEffect(() => {
32 | // add controls
33 | if (!map.pm.controlsVisible()) {
34 | map.pm.addControls(options)
35 | if (onMount) onMount()
36 | setMounted(true)
37 | }
38 | return () => {
39 | map.pm.disableDraw()
40 | map.pm.disableGlobalEditMode()
41 | map.pm.disableGlobalRemovalMode()
42 | map.pm.disableGlobalDragMode()
43 | map.pm.disableGlobalCutMode()
44 | map.pm.disableGlobalRotateMode()
45 | map.pm.disableGlobalDragMode()
46 | map.pm.disableGlobalCutMode()
47 | if (onUnmount) onUnmount()
48 | map.pm.removeControls()
49 | setMounted(false)
50 | }
51 | }, [])
52 |
53 | useEffect(() => {
54 | // set path options
55 | if (mounted) map.pm.setPathOptions(pathOptions)
56 | }, [pathOptions, mounted])
57 |
58 | useEffect(() => {
59 | // set global options
60 | if (mounted)
61 | map.pm.setGlobalOptions({ layerGroup: container, ...globalOptions })
62 | }, [globalOptions, mounted])
63 |
64 | useEffect(() => {
65 | // set language
66 | if (mounted) map.pm.setLang(lang)
67 | }, [lang, mounted])
68 |
69 | useEffect(() => {
70 | // attach and remove event handlers
71 | if (mounted) {
72 | const withDebug = Object.fromEntries(
73 | reference.map((handler) => [handler, handlers[handler] ?? eventDebugFn])
74 | )
75 | const layers = layerContainer
76 | ? container.getLayers()
77 | : map.pm.getGeomanLayers()
78 | layers.forEach((layer) => layerEvents(layer, withDebug, 'on'))
79 |
80 | globalEvents(map, withDebug, 'on')
81 | mapEvents(map, withDebug, 'on')
82 |
83 | return () => {
84 | globalEvents(map, withDebug, 'off')
85 | mapEvents(map, withDebug, 'off')
86 | layers.forEach((layer) => layerEvents(layer, withDebug, 'off'))
87 | setHandlersRef(handlers)
88 | }
89 | }
90 | }, [
91 | mounted,
92 | process.env.NODE_ENV === 'development'
93 | ? Object.entries(handlers).every(([k, fn]) => handlersRef[k] === fn)
94 | : true,
95 | ])
96 |
97 | return null
98 | }
99 |
--------------------------------------------------------------------------------
/src/events/layer.ts:
--------------------------------------------------------------------------------
1 | import type { Layer } from 'leaflet'
2 |
3 | import type { HandlersWithDebug, Method } from '../types'
4 |
5 | export function layerEvents(
6 | layer: Layer,
7 | handlers: HandlersWithDebug,
8 | method: Method
9 | ) {
10 | // Drawing Mode
11 | if (handlers.onVertexAdded) {
12 | layer[method]('pm:vertexadded', handlers.onVertexAdded)
13 | }
14 | if (handlers.onSnapDrag) {
15 | layer[method]('pm:snapdrag', handlers.onSnapDrag)
16 | }
17 | if (handlers.onSnap) {
18 | layer[method]('pm:snap', handlers.onSnap)
19 | }
20 | if (handlers.onUnsnap) {
21 | layer[method]('pm:unsnap', handlers.onUnsnap)
22 | }
23 | if (handlers.onCenterPlaced) {
24 | layer[method]('pm:centerplaced', handlers.onCenterPlaced)
25 | }
26 | if (handlers.onChange) {
27 | layer[method]('pm:change', handlers.onChange)
28 | }
29 |
30 | // Edit Mode
31 | if (handlers.onEdit) {
32 | layer[method]('pm:edit', handlers.onEdit)
33 | }
34 | if (handlers.onUpdate) {
35 | layer[method]('pm:update', handlers.onUpdate)
36 | }
37 | if (handlers.onEnable) {
38 | layer[method]('pm:enable', handlers.onEnable)
39 | }
40 | if (handlers.onDisable) {
41 | layer[method]('pm:disable', handlers.onDisable)
42 | }
43 | if (handlers.onVertexRemoved) {
44 | layer[method]('pm:vertexremoved', handlers.onVertexRemoved)
45 | }
46 | if (handlers.onVertexClick) {
47 | layer[method]('pm:vertexclick', handlers.onVertexClick)
48 | }
49 | if (handlers.onMarkerDragStart) {
50 | layer[method]('pm:markerdragstart', handlers.onMarkerDragStart)
51 | }
52 | if (handlers.onMarkerDrag) {
53 | layer[method]('pm:markerdrag', handlers.onMarkerDrag)
54 | }
55 | if (handlers.onMarkerDragEnd) {
56 | layer[method]('pm:markerdragend', handlers.onMarkerDragEnd)
57 | }
58 | if (handlers.onLayerReset) {
59 | layer[method]('pm:layerreset', handlers.onLayerReset)
60 | }
61 | if (handlers.onIntersect) {
62 | layer[method]('pm:intersect', handlers.onIntersect)
63 | }
64 |
65 | // Drag Mode
66 | if (handlers.onDragStart) {
67 | layer[method]('pm:dragstart', handlers.onDragStart)
68 | }
69 | if (handlers.onDrag) {
70 | layer[method]('pm:drag', handlers.onDrag)
71 | }
72 | if (handlers.onDragEnd) {
73 | layer[method]('pm:dragend', handlers.onDragEnd)
74 | }
75 | if (handlers.onDragEnable) {
76 | layer[method]('pm:dragenable', handlers.onDragEnable)
77 | }
78 | if (handlers.onDragDisable) {
79 | layer[method]('pm:dragdisable', handlers.onDragDisable)
80 | }
81 |
82 | // Remove Mode
83 | if (handlers.onLayerRemove) {
84 | layer[method]('pm:remove', handlers.onLayerRemove)
85 | }
86 |
87 | // Cut Mode
88 | if (handlers.onLayerCut) {
89 | layer[method]('pm:cut', handlers.onLayerCut)
90 | }
91 |
92 | // Rotate Mode
93 | if (handlers.onLayerRotateEnable) {
94 | layer[method]('pm:rotateenable', handlers.onLayerRotateEnable)
95 | }
96 | if (handlers.onLayerRotateDisable) {
97 | layer[method]('pm:rotatedisable', handlers.onLayerRotateDisable)
98 | }
99 | if (handlers.onLayerRotateStart) {
100 | layer[method]('pm:rotatestart', handlers.onLayerRotateStart)
101 | }
102 | if (handlers.onLayerRotate) {
103 | layer[method]('pm:rotate', handlers.onLayerRotate)
104 | }
105 | if (handlers.onLayerRotateEnd) {
106 | layer[method]('pm:rotateend', handlers.onLayerRotateEnd)
107 | }
108 |
109 | // Text Mode
110 | if (handlers.onTextChange) {
111 | layer[method]('pm:textchange', handlers.onTextChange)
112 | }
113 | }
114 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # react-leaflet-geoman
2 |
3 | [](https://badge.fury.io/js/react-leaflet-geoman-v2)
4 |
5 | Basic React wrapper for the [Leaflet Geoman Plugin](https://github.com/geoman-io/leaflet-geoman)
6 |
7 | ## Installation
8 |
9 | Add Peer Dependencies:
10 |
11 | ```sh
12 | // npm
13 | npm i react react-dom react-leaflet @geoman-io/leaflet-geoman-free
14 |
15 | // yarn
16 | yarn add react react-dom react-leaflet @geoman-io/leaflet-geoman-free
17 | ```
18 |
19 | Add React Leaflet Geoman
20 |
21 | ```sh
22 | // npm
23 | npm i react-leaflet-geoman-v2
24 |
25 | // yarn
26 | yarn add react-leaflet-geoman-v2
27 | ```
28 |
29 | ## Usage
30 |
31 | Since this package modifies the DOM directly, it can be imported either as hook or a component. At a minimum, it must be initiated inside of a `MapContainer` component. You can either draw shapes directly to the map container or wrap it in a `FeatureGroup` component. See the [Example](/example) code for a more detailed usage example.
32 |
33 | ## V2 Breaking Changes
34 |
35 | This component wrapper no longer imports the Leaflet Geoman CSS file. You must import it yourself, this is for compatibility reasons for different frameworks.
36 |
37 | ```tsx
38 | // as a React component
39 | import '@geoman-io/leaflet-geoman-free/dist/leaflet-geoman.css'
40 | import { GeomanControls } from 'react-leaflet-geoman-v2'
41 |
42 | export default function Drawing() {
43 | const handleChange = () => {
44 | console.log('Event fired!')
45 | }
46 | return (
47 |
48 | console.log('onChange', e)}
59 | />
60 |
61 | )
62 | }
63 |
64 | // as a hook
65 | import '@geoman-io/leaflet-geoman-free/dist/leaflet-geoman.css'
66 | import { useGeomanControls } from 'react-leaflet-geoman-v2'
67 |
68 | export default function Drawing() {
69 | useGeomanControls({
70 | options: { drawText: true, drawCircle: true },
71 | onCreate: (e) => console.log('onCreate', e),
72 | eventDebugFn: console.log,
73 | })
74 | return null
75 | }
76 | ```
77 |
78 | ## Options
79 |
80 | Respects all of the options, global options, and event handlers from Leaflet Geoman.
81 |
82 | - [Options](https://github.com/geoman-io/leaflet-geoman/blob/0fabb8c2bfe0d40d1d9d6a827912bd53d8f6ad3b/leaflet-geoman.d.ts#L1083)
83 | - [Global Options](https://github.com/geoman-io/leaflet-geoman/blob/0fabb8c2bfe0d40d1d9d6a827912bd53d8f6ad3b/leaflet-geoman.d.ts#L748)
84 | - [Path Options](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/3b442d0c53fe1de99bcaf2b82fae33c22c42a052/types/leaflet/index.d.ts#L1000)
85 | - [Lang Options](https://github.com/geoman-io/leaflet-geoman/blob/3458b8541dc283fa5404dbb3e6558bdee4a32874/leaflet-geoman.d.ts#L488)
86 |
87 | ```ts
88 | // Additional Props
89 | interface GeomanProps extends GeomanHandlers {
90 | options?: PM.ToolbarOptions // See options link above
91 | globalOptions?: PM.GlobalOptions // See global options link above
92 | pathOptions?: L.PathOptions // See Leaflet PathOptions link above
93 | eventDebugFn?: EventDebugFn // optional function that can be used to debug events, such as `console.log`
94 | lang?: PM.SupportLocales // See lang options link above
95 | onMount?: () => void // callback that runs after it mounts to the DOM
96 | onUnmount?: () => void // callback that runs after it unmounts
97 | }
98 | ```
99 |
100 | ## Event Handlers
101 |
102 | Hooks into all of the Leaflet Geoman events. **Some events names have been altered slightly to allow more customization.** For example, `onMapCut` allows you to hook into the `pm:cut` event linked to the map container when a cut happens and `onLayerCut` allows you to hook a different callback into the `pm:cut` event linked to each of the layers.
103 |
104 | ```ts
105 | interface GeomanHandlers {
106 | // Global (also applied to the map container)
107 | onGlobalDrawModeToggled?: PM.GlobalDrawModeToggledEventHandler
108 | onGlobalEditModeToggled?: PM.GlobalEditModeToggledEventHandler
109 | onGlobalDragModeToggled?: PM.GlobalDragModeToggledEventHandler
110 | onGlobalRemovalModeToggled?: PM.GlobalRemovalModeToggledEventHandler
111 | onGlobalCutModeToggled?: PM.GlobalCutModeToggledEventHandler
112 | onGlobalRotateModeToggled?: PM.GlobalRotateModeToggledEventHandler
113 | onButtonClick?: PM.ButtonClickEventHandler
114 | onActionClick?: PM.ActionClickEventHandler
115 | onKeyEvent?: PM.KeyboardKeyEventHandler
116 | onLangChange?: PM.LangChangeEventHandler
117 |
118 | // Map
119 | onCreate?: PM.CreateEventHandler
120 | onDrawStart?: PM.DrawStartEventHandler
121 | onDrawEnd?: PM.DrawEndEventHandler
122 | onMapRemove?: PM.RemoveEventHandler
123 | onMapCut?: PM.CutEventHandler
124 | onMapRotateEnable?: PM.RotateEnableEventHandler
125 | onMapRotateDisable?: PM.RotateDisableEventHandler
126 | onMapRotateStart?: PM.RotateStartEventHandler
127 | onMapRotate?: PM.RotateEventHandler
128 | onMapRotateEnd?: PM.RotateEndEventHandler
129 |
130 | // Layer
131 | onSnapDrag?: PM.SnapEventHandler
132 | onSnap?: PM.SnapEventHandler
133 | onUnsnap?: PM.SnapEventHandler
134 | onCenterPlaced?: PM.CenterPlacedEventHandler
135 | onEdit?: PM.EditEventHandler
136 | onUpdate?: PM.UpdateEventHandler
137 | onEnable?: PM.EnableEventHandler
138 | onDisable?: PM.DisableEventHandler
139 | onVertexAdded?: PM.VertexAddedEventHandler
140 | onVertexRemoved?: PM.VertexRemovedEventHandler
141 | onVertexClick?: PM.VertexClickEventHandler
142 | onMarkerDragStart?: PM.MarkerDragStartEventHandler
143 | onMarkerDrag?: PM.MarkerDragEventHandler
144 | onMarkerDragEnd?: PM.MarkerDragEndEventHandler
145 | onLayerReset?: PM.LayerResetEventHandler
146 | onIntersect?: PM.IntersectEventHandler
147 | onChange?: PM.ChangeEventHandler
148 | onTextChange?: PM.TextChangeEventHandler
149 | onDragStart?: PM.DragStartEventHandler
150 | onDrag?: PM.DragEventHandler
151 | onDragEnd?: PM.DragEndEventHandler
152 | onDragEnable?: PM.DragEnableEventHandler
153 | onDragDisable?: PM.DragDisableEventHandler
154 | onLayerRemove?: PM.RemoveEventHandler
155 | onLayerCut?: PM.CutEventHandler
156 | onLayerRotateEnable?: PM.RotateEnableEventHandler
157 | onLayerRotateDisable?: PM.RotateDisableEventHandler
158 | onLayerRotateStart?: PM.RotateStartEventHandler
159 | onLayerRotate?: PM.RotateEventHandler
160 | onLayerRotateEnd?: PM.RotateEndEventHandler
161 | }
162 | ```
163 |
164 | Layer Events are automatically applied when...
165 |
166 | - `pm:create`/`onCreate` is fired
167 | - `pm:cut`/`onMapCut` is fired
168 | - If you add new layers to the `MapContainer` or `FeatureGroup` via a `ref`
169 |
170 | Though generally not necessarily, you can import and apply layerEvents yourself with:
171 | ```ts
172 | import { layerEvents } from 'react-leaflet-geoman-v2'
173 |
174 | export default function Drawing({ geojson }) {
175 | React.useEffect(() => {
176 | L.geoJSON(geojson).eachLayer((layer) => {
177 | layerEvents(
178 | layer,
179 | {
180 | onDragStart: (e) => console.log('onDragStart', e),
181 | onDrag: (e) => console.log('onDrag', e),
182 | onDragEnd: (e) => console.log('onDragEnd', e),
183 | },
184 | 'on'
185 | )
186 | })
187 | }, [geojson])
188 | }
189 | ```
190 |
191 |
192 | ## TypeScript Note
193 | This library is only typed as well as the base plugin, if you see an issue, [please consider contributing better types to Leaflet Geoman](https://github.com/geoman-io/leaflet-geoman/issues?q=is%3Aissue+is%3Aopen+typescript)!
194 |
195 | ## Contributing
196 |
197 | - `yarn start` to start the Vite dev server with HMR enabled.
198 | - With VS Code you can open a debugger in Chrome for IDE debugging
199 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@ampproject/remapping@^2.1.0":
6 | version "2.2.0"
7 | resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d"
8 | integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==
9 | dependencies:
10 | "@jridgewell/gen-mapping" "^0.1.0"
11 | "@jridgewell/trace-mapping" "^0.3.9"
12 |
13 | "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6":
14 | version "7.18.6"
15 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a"
16 | integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==
17 | dependencies:
18 | "@babel/highlight" "^7.18.6"
19 |
20 | "@babel/compat-data@^7.18.8":
21 | version "7.18.13"
22 | resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.13.tgz#6aff7b350a1e8c3e40b029e46cbe78e24a913483"
23 | integrity sha512-5yUzC5LqyTFp2HLmDoxGQelcdYgSpP9xsnMWBphAscOdFrHSAVbLNzWiy32sVNDqJRDiJK6klfDnAgu6PAGSHw==
24 |
25 | "@babel/core@^7.18.10":
26 | version "7.18.13"
27 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.13.tgz#9be8c44512751b05094a4d3ab05fc53a47ce00ac"
28 | integrity sha512-ZisbOvRRusFktksHSG6pjj1CSvkPkcZq/KHD45LAkVP/oiHJkNBZWfpvlLmX8OtHDG8IuzsFlVRWo08w7Qxn0A==
29 | dependencies:
30 | "@ampproject/remapping" "^2.1.0"
31 | "@babel/code-frame" "^7.18.6"
32 | "@babel/generator" "^7.18.13"
33 | "@babel/helper-compilation-targets" "^7.18.9"
34 | "@babel/helper-module-transforms" "^7.18.9"
35 | "@babel/helpers" "^7.18.9"
36 | "@babel/parser" "^7.18.13"
37 | "@babel/template" "^7.18.10"
38 | "@babel/traverse" "^7.18.13"
39 | "@babel/types" "^7.18.13"
40 | convert-source-map "^1.7.0"
41 | debug "^4.1.0"
42 | gensync "^1.0.0-beta.2"
43 | json5 "^2.2.1"
44 | semver "^6.3.0"
45 |
46 | "@babel/generator@^7.18.13":
47 | version "7.18.13"
48 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.13.tgz#59550cbb9ae79b8def15587bdfbaa388c4abf212"
49 | integrity sha512-CkPg8ySSPuHTYPJYo7IRALdqyjM9HCbt/3uOBEFbzyGVP6Mn8bwFPB0jX6982JVNBlYzM1nnPkfjuXSOPtQeEQ==
50 | dependencies:
51 | "@babel/types" "^7.18.13"
52 | "@jridgewell/gen-mapping" "^0.3.2"
53 | jsesc "^2.5.1"
54 |
55 | "@babel/helper-annotate-as-pure@^7.18.6":
56 | version "7.18.6"
57 | resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb"
58 | integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==
59 | dependencies:
60 | "@babel/types" "^7.18.6"
61 |
62 | "@babel/helper-compilation-targets@^7.18.9":
63 | version "7.18.9"
64 | resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz#69e64f57b524cde3e5ff6cc5a9f4a387ee5563bf"
65 | integrity sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==
66 | dependencies:
67 | "@babel/compat-data" "^7.18.8"
68 | "@babel/helper-validator-option" "^7.18.6"
69 | browserslist "^4.20.2"
70 | semver "^6.3.0"
71 |
72 | "@babel/helper-environment-visitor@^7.18.9":
73 | version "7.18.9"
74 | resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be"
75 | integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==
76 |
77 | "@babel/helper-function-name@^7.18.9":
78 | version "7.18.9"
79 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz#940e6084a55dee867d33b4e487da2676365e86b0"
80 | integrity sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A==
81 | dependencies:
82 | "@babel/template" "^7.18.6"
83 | "@babel/types" "^7.18.9"
84 |
85 | "@babel/helper-hoist-variables@^7.18.6":
86 | version "7.18.6"
87 | resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678"
88 | integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==
89 | dependencies:
90 | "@babel/types" "^7.18.6"
91 |
92 | "@babel/helper-module-imports@^7.18.6":
93 | version "7.18.6"
94 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e"
95 | integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==
96 | dependencies:
97 | "@babel/types" "^7.18.6"
98 |
99 | "@babel/helper-module-transforms@^7.18.9":
100 | version "7.18.9"
101 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz#5a1079c005135ed627442df31a42887e80fcb712"
102 | integrity sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==
103 | dependencies:
104 | "@babel/helper-environment-visitor" "^7.18.9"
105 | "@babel/helper-module-imports" "^7.18.6"
106 | "@babel/helper-simple-access" "^7.18.6"
107 | "@babel/helper-split-export-declaration" "^7.18.6"
108 | "@babel/helper-validator-identifier" "^7.18.6"
109 | "@babel/template" "^7.18.6"
110 | "@babel/traverse" "^7.18.9"
111 | "@babel/types" "^7.18.9"
112 |
113 | "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9":
114 | version "7.18.9"
115 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz#4b8aea3b069d8cb8a72cdfe28ddf5ceca695ef2f"
116 | integrity sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==
117 |
118 | "@babel/helper-simple-access@^7.18.6":
119 | version "7.18.6"
120 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz#d6d8f51f4ac2978068df934b569f08f29788c7ea"
121 | integrity sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==
122 | dependencies:
123 | "@babel/types" "^7.18.6"
124 |
125 | "@babel/helper-split-export-declaration@^7.18.6":
126 | version "7.18.6"
127 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075"
128 | integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==
129 | dependencies:
130 | "@babel/types" "^7.18.6"
131 |
132 | "@babel/helper-string-parser@^7.18.10":
133 | version "7.18.10"
134 | resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz#181f22d28ebe1b3857fa575f5c290b1aaf659b56"
135 | integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==
136 |
137 | "@babel/helper-validator-identifier@^7.18.6":
138 | version "7.18.6"
139 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076"
140 | integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==
141 |
142 | "@babel/helper-validator-option@^7.18.6":
143 | version "7.18.6"
144 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8"
145 | integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==
146 |
147 | "@babel/helpers@^7.18.9":
148 | version "7.18.9"
149 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.9.tgz#4bef3b893f253a1eced04516824ede94dcfe7ff9"
150 | integrity sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ==
151 | dependencies:
152 | "@babel/template" "^7.18.6"
153 | "@babel/traverse" "^7.18.9"
154 | "@babel/types" "^7.18.9"
155 |
156 | "@babel/highlight@^7.18.6":
157 | version "7.18.6"
158 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf"
159 | integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==
160 | dependencies:
161 | "@babel/helper-validator-identifier" "^7.18.6"
162 | chalk "^2.0.0"
163 | js-tokens "^4.0.0"
164 |
165 | "@babel/parser@^7.18.10", "@babel/parser@^7.18.13":
166 | version "7.18.13"
167 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.13.tgz#5b2dd21cae4a2c5145f1fbd8ca103f9313d3b7e4"
168 | integrity sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg==
169 |
170 | "@babel/plugin-syntax-jsx@^7.18.6":
171 | version "7.18.6"
172 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0"
173 | integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==
174 | dependencies:
175 | "@babel/helper-plugin-utils" "^7.18.6"
176 |
177 | "@babel/plugin-transform-react-jsx-development@^7.18.6":
178 | version "7.18.6"
179 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz#dbe5c972811e49c7405b630e4d0d2e1380c0ddc5"
180 | integrity sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==
181 | dependencies:
182 | "@babel/plugin-transform-react-jsx" "^7.18.6"
183 |
184 | "@babel/plugin-transform-react-jsx-self@^7.18.6":
185 | version "7.18.6"
186 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz#3849401bab7ae8ffa1e3e5687c94a753fc75bda7"
187 | integrity sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==
188 | dependencies:
189 | "@babel/helper-plugin-utils" "^7.18.6"
190 |
191 | "@babel/plugin-transform-react-jsx-source@^7.18.6":
192 | version "7.18.6"
193 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.18.6.tgz#06e9ae8a14d2bc19ce6e3c447d842032a50598fc"
194 | integrity sha512-utZmlASneDfdaMh0m/WausbjUjEdGrQJz0vFK93d7wD3xf5wBtX219+q6IlCNZeguIcxS2f/CvLZrlLSvSHQXw==
195 | dependencies:
196 | "@babel/helper-plugin-utils" "^7.18.6"
197 |
198 | "@babel/plugin-transform-react-jsx@^7.18.10", "@babel/plugin-transform-react-jsx@^7.18.6":
199 | version "7.18.10"
200 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.18.10.tgz#ea47b2c4197102c196cbd10db9b3bb20daa820f1"
201 | integrity sha512-gCy7Iikrpu3IZjYZolFE4M1Sm+nrh1/6za2Ewj77Z+XirT4TsbJcvOFOyF+fRPwU6AKKK136CZxx6L8AbSFG6A==
202 | dependencies:
203 | "@babel/helper-annotate-as-pure" "^7.18.6"
204 | "@babel/helper-module-imports" "^7.18.6"
205 | "@babel/helper-plugin-utils" "^7.18.9"
206 | "@babel/plugin-syntax-jsx" "^7.18.6"
207 | "@babel/types" "^7.18.10"
208 |
209 | "@babel/template@^7.18.10", "@babel/template@^7.18.6":
210 | version "7.18.10"
211 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71"
212 | integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==
213 | dependencies:
214 | "@babel/code-frame" "^7.18.6"
215 | "@babel/parser" "^7.18.10"
216 | "@babel/types" "^7.18.10"
217 |
218 | "@babel/traverse@^7.18.13", "@babel/traverse@^7.18.9":
219 | version "7.18.13"
220 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.13.tgz#5ab59ef51a997b3f10c4587d648b9696b6cb1a68"
221 | integrity sha512-N6kt9X1jRMLPxxxPYWi7tgvJRH/rtoU+dbKAPDM44RFHiMH8igdsaSBgFeskhSl/kLWLDUvIh1RXCrTmg0/zvA==
222 | dependencies:
223 | "@babel/code-frame" "^7.18.6"
224 | "@babel/generator" "^7.18.13"
225 | "@babel/helper-environment-visitor" "^7.18.9"
226 | "@babel/helper-function-name" "^7.18.9"
227 | "@babel/helper-hoist-variables" "^7.18.6"
228 | "@babel/helper-split-export-declaration" "^7.18.6"
229 | "@babel/parser" "^7.18.13"
230 | "@babel/types" "^7.18.13"
231 | debug "^4.1.0"
232 | globals "^11.1.0"
233 |
234 | "@babel/types@^7.18.10", "@babel/types@^7.18.13", "@babel/types@^7.18.6", "@babel/types@^7.18.9":
235 | version "7.18.13"
236 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.13.tgz#30aeb9e514f4100f7c1cb6e5ba472b30e48f519a"
237 | integrity sha512-ePqfTihzW0W6XAU+aMw2ykilisStJfDnsejDCXRchCcMJ4O0+8DhPXf2YUbZ6wjBlsEmZwLK/sPweWtu8hcJYQ==
238 | dependencies:
239 | "@babel/helper-string-parser" "^7.18.10"
240 | "@babel/helper-validator-identifier" "^7.18.6"
241 | to-fast-properties "^2.0.0"
242 |
243 | "@esbuild/linux-loong64@0.14.54":
244 | version "0.14.54"
245 | resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz#de2a4be678bd4d0d1ffbb86e6de779cde5999028"
246 | integrity sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==
247 |
248 | "@geoman-io/leaflet-geoman-free@^2.14.2":
249 | version "2.14.2"
250 | resolved "https://registry.yarnpkg.com/@geoman-io/leaflet-geoman-free/-/leaflet-geoman-free-2.14.2.tgz#c84c2115c263f34d11dc0b43859551639fe3d56b"
251 | integrity sha512-6lIyG8RvSVdFjVjiQgBPyNASjymSyqzsiUeBW0pA+q41lB5fAg4SDC6SfJvWdEyDHa81Jb5FWjUkCc9O+u0gbg==
252 | dependencies:
253 | "@turf/boolean-contains" "^6.5.0"
254 | "@turf/kinks" "^6.5.0"
255 | "@turf/line-intersect" "^6.5.0"
256 | "@turf/line-split" "^6.5.0"
257 | lodash "4.17.21"
258 | polygon-clipping "0.15.3"
259 |
260 | "@jridgewell/gen-mapping@^0.1.0":
261 | version "0.1.1"
262 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996"
263 | integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==
264 | dependencies:
265 | "@jridgewell/set-array" "^1.0.0"
266 | "@jridgewell/sourcemap-codec" "^1.4.10"
267 |
268 | "@jridgewell/gen-mapping@^0.3.2":
269 | version "0.3.2"
270 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9"
271 | integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==
272 | dependencies:
273 | "@jridgewell/set-array" "^1.0.1"
274 | "@jridgewell/sourcemap-codec" "^1.4.10"
275 | "@jridgewell/trace-mapping" "^0.3.9"
276 |
277 | "@jridgewell/resolve-uri@^3.0.3":
278 | version "3.1.0"
279 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78"
280 | integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==
281 |
282 | "@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1":
283 | version "1.1.2"
284 | resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72"
285 | integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
286 |
287 | "@jridgewell/sourcemap-codec@^1.4.10":
288 | version "1.4.14"
289 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24"
290 | integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
291 |
292 | "@jridgewell/trace-mapping@^0.3.9":
293 | version "0.3.15"
294 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz#aba35c48a38d3fd84b37e66c9c0423f9744f9774"
295 | integrity sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==
296 | dependencies:
297 | "@jridgewell/resolve-uri" "^3.0.3"
298 | "@jridgewell/sourcemap-codec" "^1.4.10"
299 |
300 | "@nodelib/fs.scandir@2.1.5":
301 | version "2.1.5"
302 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
303 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
304 | dependencies:
305 | "@nodelib/fs.stat" "2.0.5"
306 | run-parallel "^1.1.9"
307 |
308 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
309 | version "2.0.5"
310 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
311 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
312 |
313 | "@nodelib/fs.walk@^1.2.3":
314 | version "1.2.8"
315 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
316 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
317 | dependencies:
318 | "@nodelib/fs.scandir" "2.1.5"
319 | fastq "^1.6.0"
320 |
321 | "@react-leaflet/core@^2.0.1":
322 | version "2.0.1"
323 | resolved "https://registry.yarnpkg.com/@react-leaflet/core/-/core-2.0.1.tgz#19d4bb7c83525fab786982e5750a3f53a4bb0168"
324 | integrity sha512-XGmx01DovDt0IWsW4tqeuSYifpY19aUn9NYCqTBI3KNtjbCjj0pfiWa7krNsnJ6l2oQbv4Nt0/BabLbIvT4ocA==
325 |
326 | "@rollup/plugin-typescript@^8.4.0":
327 | version "8.4.0"
328 | resolved "https://registry.yarnpkg.com/@rollup/plugin-typescript/-/plugin-typescript-8.4.0.tgz#a8a384b6dbaab42b4cafb075278b15743c0f5ef8"
329 | integrity sha512-QssfoOP6V4/6skX12EfOW5UzJAv/c334F4OJWmQpe2kg3agEa0JwVCckwmfuvEgDixyX+XyxjFenH7M2rDKUyQ==
330 | dependencies:
331 | "@rollup/pluginutils" "^3.1.0"
332 | resolve "^1.17.0"
333 |
334 | "@rollup/pluginutils@^3.1.0":
335 | version "3.1.0"
336 | resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b"
337 | integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==
338 | dependencies:
339 | "@types/estree" "0.0.39"
340 | estree-walker "^1.0.1"
341 | picomatch "^2.2.2"
342 |
343 | "@turf/bbox@*", "@turf/bbox@^6.5.0":
344 | version "6.5.0"
345 | resolved "https://registry.yarnpkg.com/@turf/bbox/-/bbox-6.5.0.tgz#bec30a744019eae420dac9ea46fb75caa44d8dc5"
346 | integrity sha512-RBbLaao5hXTYyyg577iuMtDB8ehxMlUqHEJiMs8jT1GHkFhr6sYre3lmLsPeYEi/ZKj5TP5tt7fkzNdJ4GIVyw==
347 | dependencies:
348 | "@turf/helpers" "^6.5.0"
349 | "@turf/meta" "^6.5.0"
350 |
351 | "@turf/bearing@^6.5.0":
352 | version "6.5.0"
353 | resolved "https://registry.yarnpkg.com/@turf/bearing/-/bearing-6.5.0.tgz#462a053c6c644434bdb636b39f8f43fb0cd857b0"
354 | integrity sha512-dxINYhIEMzgDOztyMZc20I7ssYVNEpSv04VbMo5YPQsqa80KO3TFvbuCahMsCAW5z8Tncc8dwBlEFrmRjJG33A==
355 | dependencies:
356 | "@turf/helpers" "^6.5.0"
357 | "@turf/invariant" "^6.5.0"
358 |
359 | "@turf/boolean-contains@^6.5.0":
360 | version "6.5.0"
361 | resolved "https://registry.yarnpkg.com/@turf/boolean-contains/-/boolean-contains-6.5.0.tgz#f802e7432fb53109242d5bf57393ef2f53849bbf"
362 | integrity sha512-4m8cJpbw+YQcKVGi8y0cHhBUnYT+QRfx6wzM4GI1IdtYH3p4oh/DOBJKrepQyiDzFDaNIjxuWXBh0ai1zVwOQQ==
363 | dependencies:
364 | "@turf/bbox" "^6.5.0"
365 | "@turf/boolean-point-in-polygon" "^6.5.0"
366 | "@turf/boolean-point-on-line" "^6.5.0"
367 | "@turf/helpers" "^6.5.0"
368 | "@turf/invariant" "^6.5.0"
369 |
370 | "@turf/boolean-point-in-polygon@^6.5.0":
371 | version "6.5.0"
372 | resolved "https://registry.yarnpkg.com/@turf/boolean-point-in-polygon/-/boolean-point-in-polygon-6.5.0.tgz#6d2e9c89de4cd2e4365004c1e51490b7795a63cf"
373 | integrity sha512-DtSuVFB26SI+hj0SjrvXowGTUCHlgevPAIsukssW6BG5MlNSBQAo70wpICBNJL6RjukXg8d2eXaAWuD/CqL00A==
374 | dependencies:
375 | "@turf/helpers" "^6.5.0"
376 | "@turf/invariant" "^6.5.0"
377 |
378 | "@turf/boolean-point-on-line@^6.5.0":
379 | version "6.5.0"
380 | resolved "https://registry.yarnpkg.com/@turf/boolean-point-on-line/-/boolean-point-on-line-6.5.0.tgz#a8efa7bad88760676f395afb9980746bc5b376e9"
381 | integrity sha512-A1BbuQ0LceLHvq7F/P7w3QvfpmZqbmViIUPHdNLvZimFNLo4e6IQunmzbe+8aSStH9QRZm3VOflyvNeXvvpZEQ==
382 | dependencies:
383 | "@turf/helpers" "^6.5.0"
384 | "@turf/invariant" "^6.5.0"
385 |
386 | "@turf/destination@^6.5.0":
387 | version "6.5.0"
388 | resolved "https://registry.yarnpkg.com/@turf/destination/-/destination-6.5.0.tgz#30a84702f9677d076130e0440d3223ae503fdae1"
389 | integrity sha512-4cnWQlNC8d1tItOz9B4pmJdWpXqS0vEvv65bI/Pj/genJnsL7evI0/Xw42RvEGROS481MPiU80xzvwxEvhQiMQ==
390 | dependencies:
391 | "@turf/helpers" "^6.5.0"
392 | "@turf/invariant" "^6.5.0"
393 |
394 | "@turf/distance@^6.5.0":
395 | version "6.5.0"
396 | resolved "https://registry.yarnpkg.com/@turf/distance/-/distance-6.5.0.tgz#21f04d5f86e864d54e2abde16f35c15b4f36149a"
397 | integrity sha512-xzykSLfoURec5qvQJcfifw/1mJa+5UwByZZ5TZ8iaqjGYN0vomhV9aiSLeYdUGtYRESZ+DYC/OzY+4RclZYgMg==
398 | dependencies:
399 | "@turf/helpers" "^6.5.0"
400 | "@turf/invariant" "^6.5.0"
401 |
402 | "@turf/helpers@6.x", "@turf/helpers@^6.5.0":
403 | version "6.5.0"
404 | resolved "https://registry.yarnpkg.com/@turf/helpers/-/helpers-6.5.0.tgz#f79af094bd6b8ce7ed2bd3e089a8493ee6cae82e"
405 | integrity sha512-VbI1dV5bLFzohYYdgqwikdMVpe7pJ9X3E+dlr425wa2/sMJqYDhTO++ec38/pcPvPE6oD9WEEeU3Xu3gza+VPw==
406 |
407 | "@turf/invariant@^6.5.0":
408 | version "6.5.0"
409 | resolved "https://registry.yarnpkg.com/@turf/invariant/-/invariant-6.5.0.tgz#970afc988023e39c7ccab2341bd06979ddc7463f"
410 | integrity sha512-Wv8PRNCtPD31UVbdJE/KVAWKe7l6US+lJItRR/HOEW3eh+U/JwRCSUl/KZ7bmjM/C+zLNoreM2TU6OoLACs4eg==
411 | dependencies:
412 | "@turf/helpers" "^6.5.0"
413 |
414 | "@turf/kinks@^6.5.0":
415 | version "6.5.0"
416 | resolved "https://registry.yarnpkg.com/@turf/kinks/-/kinks-6.5.0.tgz#80e7456367535365012f658cf1a988b39a2c920b"
417 | integrity sha512-ViCngdPt1eEL7hYUHR2eHR662GvCgTc35ZJFaNR6kRtr6D8plLaDju0FILeFFWSc+o8e3fwxZEJKmFj9IzPiIQ==
418 | dependencies:
419 | "@turf/helpers" "^6.5.0"
420 |
421 | "@turf/line-intersect@^6.5.0":
422 | version "6.5.0"
423 | resolved "https://registry.yarnpkg.com/@turf/line-intersect/-/line-intersect-6.5.0.tgz#dea48348b30c093715d2195d2dd7524aee4cf020"
424 | integrity sha512-CS6R1tZvVQD390G9Ea4pmpM6mJGPWoL82jD46y0q1KSor9s6HupMIo1kY4Ny+AEYQl9jd21V3Scz20eldpbTVA==
425 | dependencies:
426 | "@turf/helpers" "^6.5.0"
427 | "@turf/invariant" "^6.5.0"
428 | "@turf/line-segment" "^6.5.0"
429 | "@turf/meta" "^6.5.0"
430 | geojson-rbush "3.x"
431 |
432 | "@turf/line-segment@^6.5.0":
433 | version "6.5.0"
434 | resolved "https://registry.yarnpkg.com/@turf/line-segment/-/line-segment-6.5.0.tgz#ee73f3ffcb7c956203b64ed966d96af380a4dd65"
435 | integrity sha512-jI625Ho4jSuJESNq66Mmi290ZJ5pPZiQZruPVpmHkUw257Pew0alMmb6YrqYNnLUuiVVONxAAKXUVeeUGtycfw==
436 | dependencies:
437 | "@turf/helpers" "^6.5.0"
438 | "@turf/invariant" "^6.5.0"
439 | "@turf/meta" "^6.5.0"
440 |
441 | "@turf/line-split@^6.5.0":
442 | version "6.5.0"
443 | resolved "https://registry.yarnpkg.com/@turf/line-split/-/line-split-6.5.0.tgz#116d7fbf714457878225187f5820ef98db7b02c2"
444 | integrity sha512-/rwUMVr9OI2ccJjw7/6eTN53URtGThNSD5I0GgxyFXMtxWiloRJ9MTff8jBbtPWrRka/Sh2GkwucVRAEakx9Sw==
445 | dependencies:
446 | "@turf/bbox" "^6.5.0"
447 | "@turf/helpers" "^6.5.0"
448 | "@turf/invariant" "^6.5.0"
449 | "@turf/line-intersect" "^6.5.0"
450 | "@turf/line-segment" "^6.5.0"
451 | "@turf/meta" "^6.5.0"
452 | "@turf/nearest-point-on-line" "^6.5.0"
453 | "@turf/square" "^6.5.0"
454 | "@turf/truncate" "^6.5.0"
455 | geojson-rbush "3.x"
456 |
457 | "@turf/meta@6.x", "@turf/meta@^6.5.0":
458 | version "6.5.0"
459 | resolved "https://registry.yarnpkg.com/@turf/meta/-/meta-6.5.0.tgz#b725c3653c9f432133eaa04d3421f7e51e0418ca"
460 | integrity sha512-RrArvtsV0vdsCBegoBtOalgdSOfkBrTJ07VkpiCnq/491W67hnMWmDu7e6Ztw0C3WldRYTXkg3SumfdzZxLBHA==
461 | dependencies:
462 | "@turf/helpers" "^6.5.0"
463 |
464 | "@turf/nearest-point-on-line@^6.5.0":
465 | version "6.5.0"
466 | resolved "https://registry.yarnpkg.com/@turf/nearest-point-on-line/-/nearest-point-on-line-6.5.0.tgz#8e1cd2cdc0b5acaf4c8d8b3b33bb008d3cb99e7b"
467 | integrity sha512-WthrvddddvmymnC+Vf7BrkHGbDOUu6Z3/6bFYUGv1kxw8tiZ6n83/VG6kHz4poHOfS0RaNflzXSkmCi64fLBlg==
468 | dependencies:
469 | "@turf/bearing" "^6.5.0"
470 | "@turf/destination" "^6.5.0"
471 | "@turf/distance" "^6.5.0"
472 | "@turf/helpers" "^6.5.0"
473 | "@turf/invariant" "^6.5.0"
474 | "@turf/line-intersect" "^6.5.0"
475 | "@turf/meta" "^6.5.0"
476 |
477 | "@turf/square@^6.5.0":
478 | version "6.5.0"
479 | resolved "https://registry.yarnpkg.com/@turf/square/-/square-6.5.0.tgz#ab43eef99d39c36157ab5b80416bbeba1f6b2122"
480 | integrity sha512-BM2UyWDmiuHCadVhHXKIx5CQQbNCpOxB6S/aCNOCLbhCeypKX5Q0Aosc5YcmCJgkwO5BERCC6Ee7NMbNB2vHmQ==
481 | dependencies:
482 | "@turf/distance" "^6.5.0"
483 | "@turf/helpers" "^6.5.0"
484 |
485 | "@turf/truncate@^6.5.0":
486 | version "6.5.0"
487 | resolved "https://registry.yarnpkg.com/@turf/truncate/-/truncate-6.5.0.tgz#c3a16cad959f1be1c5156157d5555c64b19185d8"
488 | integrity sha512-pFxg71pLk+eJj134Z9yUoRhIi8vqnnKvCYwdT4x/DQl/19RVdq1tV3yqOT3gcTQNfniteylL5qV1uTBDV5sgrg==
489 | dependencies:
490 | "@turf/helpers" "^6.5.0"
491 | "@turf/meta" "^6.5.0"
492 |
493 | "@types/estree@0.0.39":
494 | version "0.0.39"
495 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f"
496 | integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==
497 |
498 | "@types/geojson@*":
499 | version "7946.0.10"
500 | resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.10.tgz#6dfbf5ea17142f7f9a043809f1cd4c448cb68249"
501 | integrity sha512-Nmh0K3iWQJzniTuPRcJn5hxXkfB1T1pgB89SBig5PlJQU5yocazeu4jATJlaA0GYFKWMqDdvYemoSnF2pXgLVA==
502 |
503 | "@types/geojson@7946.0.8":
504 | version "7946.0.8"
505 | resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.8.tgz#30744afdb385e2945e22f3b033f897f76b1f12ca"
506 | integrity sha512-1rkryxURpr6aWP7R786/UQOkJ3PcpQiWkAXBmdWc7ryFWqN6a4xfK7BtjXvFBKO9LjQ+MWQSWxYeZX1OApnArA==
507 |
508 | "@types/leaflet@^1.7.11":
509 | version "1.7.11"
510 | resolved "https://registry.yarnpkg.com/@types/leaflet/-/leaflet-1.7.11.tgz#48b33b7a15b015bbb1e8950399298a112c3220c8"
511 | integrity sha512-VwAYom2pfIAf/pLj1VR5aLltd4tOtHyvfaJlNYCoejzP2nu52PrMi1ehsLRMUS+bgafmIIKBV1cMfKeS+uJ0Vg==
512 | dependencies:
513 | "@types/geojson" "*"
514 |
515 | "@types/node@^18.7.13":
516 | version "18.7.13"
517 | resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.13.tgz#23e6c5168333480d454243378b69e861ab5c011a"
518 | integrity sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw==
519 |
520 | "@types/prop-types@*":
521 | version "15.7.5"
522 | resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf"
523 | integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==
524 |
525 | "@types/react-dom@^18.0.6":
526 | version "18.0.6"
527 | resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.6.tgz#36652900024842b74607a17786b6662dd1e103a1"
528 | integrity sha512-/5OFZgfIPSwy+YuIBP/FgJnQnsxhZhjjrnxudMddeblOouIodEQ75X14Rr4wGSG/bknL+Omy9iWlLo1u/9GzAA==
529 | dependencies:
530 | "@types/react" "*"
531 |
532 | "@types/react@*", "@types/react@^18.0.17":
533 | version "18.0.17"
534 | resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.17.tgz#4583d9c322d67efe4b39a935d223edcc7050ccf4"
535 | integrity sha512-38ETy4tL+rn4uQQi7mB81G7V1g0u2ryquNmsVIOKUAEIDK+3CUjZ6rSRpdvS99dNBnkLFL83qfmtLacGOTIhwQ==
536 | dependencies:
537 | "@types/prop-types" "*"
538 | "@types/scheduler" "*"
539 | csstype "^3.0.2"
540 |
541 | "@types/scheduler@*":
542 | version "0.16.2"
543 | resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39"
544 | integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==
545 |
546 | "@vitejs/plugin-react@^2.0.1":
547 | version "2.0.1"
548 | resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-2.0.1.tgz#3197c01d8e4a4eb9fed829c7888c467a43aadd4e"
549 | integrity sha512-uINzNHmjrbunlFtyVkST6lY1ewSfz/XwLufG0PIqvLGnpk2nOIOa/1CACTDNcKi1/RwaCzJLmsXwm1NsUVV/NA==
550 | dependencies:
551 | "@babel/core" "^7.18.10"
552 | "@babel/plugin-transform-react-jsx" "^7.18.10"
553 | "@babel/plugin-transform-react-jsx-development" "^7.18.6"
554 | "@babel/plugin-transform-react-jsx-self" "^7.18.6"
555 | "@babel/plugin-transform-react-jsx-source" "^7.18.6"
556 | magic-string "^0.26.2"
557 | react-refresh "^0.14.0"
558 |
559 | ansi-escapes@^4.3.0:
560 | version "4.3.2"
561 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e"
562 | integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==
563 | dependencies:
564 | type-fest "^0.21.3"
565 |
566 | ansi-regex@^5.0.1:
567 | version "5.0.1"
568 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
569 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
570 |
571 | ansi-styles@^3.2.1:
572 | version "3.2.1"
573 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
574 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
575 | dependencies:
576 | color-convert "^1.9.0"
577 |
578 | ansi-styles@^4.1.0:
579 | version "4.3.0"
580 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
581 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
582 | dependencies:
583 | color-convert "^2.0.1"
584 |
585 | anymatch@~3.1.2:
586 | version "3.1.2"
587 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
588 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==
589 | dependencies:
590 | normalize-path "^3.0.0"
591 | picomatch "^2.0.4"
592 |
593 | balanced-match@^1.0.0:
594 | version "1.0.2"
595 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
596 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
597 |
598 | binary-extensions@^2.0.0:
599 | version "2.2.0"
600 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
601 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
602 |
603 | brace-expansion@^1.1.7:
604 | version "1.1.11"
605 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
606 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
607 | dependencies:
608 | balanced-match "^1.0.0"
609 | concat-map "0.0.1"
610 |
611 | braces@^3.0.2, braces@~3.0.2:
612 | version "3.0.2"
613 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
614 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
615 | dependencies:
616 | fill-range "^7.0.1"
617 |
618 | browserslist@^4.20.2:
619 | version "4.21.3"
620 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.3.tgz#5df277694eb3c48bc5c4b05af3e8b7e09c5a6d1a"
621 | integrity sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==
622 | dependencies:
623 | caniuse-lite "^1.0.30001370"
624 | electron-to-chromium "^1.4.202"
625 | node-releases "^2.0.6"
626 | update-browserslist-db "^1.0.5"
627 |
628 | caniuse-lite@^1.0.30001370:
629 | version "1.0.30001383"
630 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001383.tgz#aecf317ccd940690725ae3ae4f28293c5fb8050e"
631 | integrity sha512-swMpEoTp5vDoGBZsYZX7L7nXHe6dsHxi9o6/LKf/f0LukVtnrxly5GVb/fWdCDTqi/yw6Km6tiJ0pmBacm0gbg==
632 |
633 | chalk@^2.0.0:
634 | version "2.4.2"
635 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
636 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
637 | dependencies:
638 | ansi-styles "^3.2.1"
639 | escape-string-regexp "^1.0.5"
640 | supports-color "^5.3.0"
641 |
642 | chalk@^4.1.1:
643 | version "4.1.2"
644 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
645 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
646 | dependencies:
647 | ansi-styles "^4.1.0"
648 | supports-color "^7.1.0"
649 |
650 | chokidar@^3.5.1:
651 | version "3.5.3"
652 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
653 | integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
654 | dependencies:
655 | anymatch "~3.1.2"
656 | braces "~3.0.2"
657 | glob-parent "~5.1.2"
658 | is-binary-path "~2.1.0"
659 | is-glob "~4.0.1"
660 | normalize-path "~3.0.0"
661 | readdirp "~3.6.0"
662 | optionalDependencies:
663 | fsevents "~2.3.2"
664 |
665 | color-convert@^1.9.0:
666 | version "1.9.3"
667 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
668 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
669 | dependencies:
670 | color-name "1.1.3"
671 |
672 | color-convert@^2.0.1:
673 | version "2.0.1"
674 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
675 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
676 | dependencies:
677 | color-name "~1.1.4"
678 |
679 | color-name@1.1.3:
680 | version "1.1.3"
681 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
682 | integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
683 |
684 | color-name@~1.1.4:
685 | version "1.1.4"
686 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
687 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
688 |
689 | commander@^8.0.0:
690 | version "8.3.0"
691 | resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66"
692 | integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==
693 |
694 | concat-map@0.0.1:
695 | version "0.0.1"
696 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
697 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
698 |
699 | convert-source-map@^1.7.0:
700 | version "1.8.0"
701 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369"
702 | integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==
703 | dependencies:
704 | safe-buffer "~5.1.1"
705 |
706 | csstype@^3.0.2:
707 | version "3.1.0"
708 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.0.tgz#4ddcac3718d787cf9df0d1b7d15033925c8f29f2"
709 | integrity sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==
710 |
711 | debug@^4.1.0:
712 | version "4.3.4"
713 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
714 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
715 | dependencies:
716 | ms "2.1.2"
717 |
718 | electron-to-chromium@^1.4.202:
719 | version "1.4.233"
720 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.233.tgz#aa142e45468bda111b88abc9cc59d573b75d6a60"
721 | integrity sha512-ejwIKXTg1wqbmkcRJh9Ur3hFGHFDZDw1POzdsVrB2WZjgRuRMHIQQKNpe64N/qh3ZtH2otEoRoS+s6arAAuAAw==
722 |
723 | esbuild-android-64@0.14.54:
724 | version "0.14.54"
725 | resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz#505f41832884313bbaffb27704b8bcaa2d8616be"
726 | integrity sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==
727 |
728 | esbuild-android-arm64@0.14.54:
729 | version "0.14.54"
730 | resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz#8ce69d7caba49646e009968fe5754a21a9871771"
731 | integrity sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==
732 |
733 | esbuild-darwin-64@0.14.54:
734 | version "0.14.54"
735 | resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz#24ba67b9a8cb890a3c08d9018f887cc221cdda25"
736 | integrity sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==
737 |
738 | esbuild-darwin-arm64@0.14.54:
739 | version "0.14.54"
740 | resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz#3f7cdb78888ee05e488d250a2bdaab1fa671bf73"
741 | integrity sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==
742 |
743 | esbuild-freebsd-64@0.14.54:
744 | version "0.14.54"
745 | resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz#09250f997a56ed4650f3e1979c905ffc40bbe94d"
746 | integrity sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==
747 |
748 | esbuild-freebsd-arm64@0.14.54:
749 | version "0.14.54"
750 | resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz#bafb46ed04fc5f97cbdb016d86947a79579f8e48"
751 | integrity sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==
752 |
753 | esbuild-linux-32@0.14.54:
754 | version "0.14.54"
755 | resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz#e2a8c4a8efdc355405325033fcebeb941f781fe5"
756 | integrity sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==
757 |
758 | esbuild-linux-64@0.14.54:
759 | version "0.14.54"
760 | resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz#de5fdba1c95666cf72369f52b40b03be71226652"
761 | integrity sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==
762 |
763 | esbuild-linux-arm64@0.14.54:
764 | version "0.14.54"
765 | resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz#dae4cd42ae9787468b6a5c158da4c84e83b0ce8b"
766 | integrity sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==
767 |
768 | esbuild-linux-arm@0.14.54:
769 | version "0.14.54"
770 | resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz#a2c1dff6d0f21dbe8fc6998a122675533ddfcd59"
771 | integrity sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==
772 |
773 | esbuild-linux-mips64le@0.14.54:
774 | version "0.14.54"
775 | resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz#d9918e9e4cb972f8d6dae8e8655bf9ee131eda34"
776 | integrity sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==
777 |
778 | esbuild-linux-ppc64le@0.14.54:
779 | version "0.14.54"
780 | resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz#3f9a0f6d41073fb1a640680845c7de52995f137e"
781 | integrity sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==
782 |
783 | esbuild-linux-riscv64@0.14.54:
784 | version "0.14.54"
785 | resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz#618853c028178a61837bc799d2013d4695e451c8"
786 | integrity sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==
787 |
788 | esbuild-linux-s390x@0.14.54:
789 | version "0.14.54"
790 | resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz#d1885c4c5a76bbb5a0fe182e2c8c60eb9e29f2a6"
791 | integrity sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==
792 |
793 | esbuild-netbsd-64@0.14.54:
794 | version "0.14.54"
795 | resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz#69ae917a2ff241b7df1dbf22baf04bd330349e81"
796 | integrity sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==
797 |
798 | esbuild-openbsd-64@0.14.54:
799 | version "0.14.54"
800 | resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz#db4c8495287a350a6790de22edea247a57c5d47b"
801 | integrity sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==
802 |
803 | esbuild-sunos-64@0.14.54:
804 | version "0.14.54"
805 | resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz#54287ee3da73d3844b721c21bc80c1dc7e1bf7da"
806 | integrity sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==
807 |
808 | esbuild-windows-32@0.14.54:
809 | version "0.14.54"
810 | resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz#f8aaf9a5667630b40f0fb3aa37bf01bbd340ce31"
811 | integrity sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==
812 |
813 | esbuild-windows-64@0.14.54:
814 | version "0.14.54"
815 | resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz#bf54b51bd3e9b0f1886ffdb224a4176031ea0af4"
816 | integrity sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==
817 |
818 | esbuild-windows-arm64@0.14.54:
819 | version "0.14.54"
820 | resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz#937d15675a15e4b0e4fafdbaa3a01a776a2be982"
821 | integrity sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==
822 |
823 | esbuild@^0.14.47:
824 | version "0.14.54"
825 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.54.tgz#8b44dcf2b0f1a66fc22459943dccf477535e9aa2"
826 | integrity sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==
827 | optionalDependencies:
828 | "@esbuild/linux-loong64" "0.14.54"
829 | esbuild-android-64 "0.14.54"
830 | esbuild-android-arm64 "0.14.54"
831 | esbuild-darwin-64 "0.14.54"
832 | esbuild-darwin-arm64 "0.14.54"
833 | esbuild-freebsd-64 "0.14.54"
834 | esbuild-freebsd-arm64 "0.14.54"
835 | esbuild-linux-32 "0.14.54"
836 | esbuild-linux-64 "0.14.54"
837 | esbuild-linux-arm "0.14.54"
838 | esbuild-linux-arm64 "0.14.54"
839 | esbuild-linux-mips64le "0.14.54"
840 | esbuild-linux-ppc64le "0.14.54"
841 | esbuild-linux-riscv64 "0.14.54"
842 | esbuild-linux-s390x "0.14.54"
843 | esbuild-netbsd-64 "0.14.54"
844 | esbuild-openbsd-64 "0.14.54"
845 | esbuild-sunos-64 "0.14.54"
846 | esbuild-windows-32 "0.14.54"
847 | esbuild-windows-64 "0.14.54"
848 | esbuild-windows-arm64 "0.14.54"
849 |
850 | escalade@^3.1.1:
851 | version "3.1.1"
852 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
853 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
854 |
855 | escape-string-regexp@^1.0.5:
856 | version "1.0.5"
857 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
858 | integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
859 |
860 | estree-walker@^1.0.1:
861 | version "1.0.1"
862 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700"
863 | integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==
864 |
865 | fast-glob@^3.2.7:
866 | version "3.2.11"
867 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9"
868 | integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==
869 | dependencies:
870 | "@nodelib/fs.stat" "^2.0.2"
871 | "@nodelib/fs.walk" "^1.2.3"
872 | glob-parent "^5.1.2"
873 | merge2 "^1.3.0"
874 | micromatch "^4.0.4"
875 |
876 | fastq@^1.6.0:
877 | version "1.13.0"
878 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c"
879 | integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==
880 | dependencies:
881 | reusify "^1.0.4"
882 |
883 | fill-range@^7.0.1:
884 | version "7.0.1"
885 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
886 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
887 | dependencies:
888 | to-regex-range "^5.0.1"
889 |
890 | fsevents@~2.3.2:
891 | version "2.3.2"
892 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
893 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
894 |
895 | function-bind@^1.1.1:
896 | version "1.1.1"
897 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
898 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
899 |
900 | gensync@^1.0.0-beta.2:
901 | version "1.0.0-beta.2"
902 | resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
903 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
904 |
905 | geojson-rbush@3.x:
906 | version "3.2.0"
907 | resolved "https://registry.yarnpkg.com/geojson-rbush/-/geojson-rbush-3.2.0.tgz#8b543cf0d56f99b78faf1da52bb66acad6dfc290"
908 | integrity sha512-oVltQTXolxvsz1sZnutlSuLDEcQAKYC/uXt9zDzJJ6bu0W+baTI8LZBaTup5afzibEH4N3jlq2p+a152wlBJ7w==
909 | dependencies:
910 | "@turf/bbox" "*"
911 | "@turf/helpers" "6.x"
912 | "@turf/meta" "6.x"
913 | "@types/geojson" "7946.0.8"
914 | rbush "^3.0.1"
915 |
916 | geojson@^0.5.0:
917 | version "0.5.0"
918 | resolved "https://registry.yarnpkg.com/geojson/-/geojson-0.5.0.tgz#3cd6c96399be65b56ee55596116fe9191ce701c0"
919 | integrity sha512-/Bx5lEn+qRF4TfQ5aLu6NH+UKtvIv7Lhc487y/c8BdludrCTpiWf9wyI0RTyqg49MFefIAvFDuEi5Dfd/zgNxQ==
920 |
921 | glob-parent@^5.1.2, glob-parent@~5.1.2:
922 | version "5.1.2"
923 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
924 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
925 | dependencies:
926 | is-glob "^4.0.1"
927 |
928 | globals@^11.1.0:
929 | version "11.12.0"
930 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
931 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
932 |
933 | has-flag@^3.0.0:
934 | version "3.0.0"
935 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
936 | integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==
937 |
938 | has-flag@^4.0.0:
939 | version "4.0.0"
940 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
941 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
942 |
943 | has@^1.0.3:
944 | version "1.0.3"
945 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
946 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
947 | dependencies:
948 | function-bind "^1.1.1"
949 |
950 | is-binary-path@~2.1.0:
951 | version "2.1.0"
952 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
953 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
954 | dependencies:
955 | binary-extensions "^2.0.0"
956 |
957 | is-core-module@^2.9.0:
958 | version "2.10.0"
959 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed"
960 | integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==
961 | dependencies:
962 | has "^1.0.3"
963 |
964 | is-extglob@^2.1.1:
965 | version "2.1.1"
966 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
967 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
968 |
969 | is-glob@^4.0.1, is-glob@~4.0.1:
970 | version "4.0.3"
971 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
972 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
973 | dependencies:
974 | is-extglob "^2.1.1"
975 |
976 | is-number@^7.0.0:
977 | version "7.0.0"
978 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
979 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
980 |
981 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
982 | version "4.0.0"
983 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
984 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
985 |
986 | jsesc@^2.5.1:
987 | version "2.5.2"
988 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
989 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
990 |
991 | json5@^2.2.1:
992 | version "2.2.1"
993 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c"
994 | integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==
995 |
996 | leaflet@^1.8.0:
997 | version "1.8.0"
998 | resolved "https://registry.yarnpkg.com/leaflet/-/leaflet-1.8.0.tgz#4615db4a22a304e8e692cae9270b983b38a2055e"
999 | integrity sha512-gwhMjFCQiYs3x/Sf+d49f10ERXaEFCPr+nVTryhAW8DWbMGqJqt9G4XuIaHmFW08zYvhgdzqXGr8AlW8v8dQkA==
1000 |
1001 | lodash.debounce@^4.0.8:
1002 | version "4.0.8"
1003 | resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
1004 | integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==
1005 |
1006 | lodash.pick@^4.4.0:
1007 | version "4.4.0"
1008 | resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3"
1009 | integrity sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==
1010 |
1011 | lodash@4.17.21:
1012 | version "4.17.21"
1013 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
1014 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
1015 |
1016 | loose-envify@^1.1.0:
1017 | version "1.4.0"
1018 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
1019 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
1020 | dependencies:
1021 | js-tokens "^3.0.0 || ^4.0.0"
1022 |
1023 | lru-cache@^6.0.0:
1024 | version "6.0.0"
1025 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
1026 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
1027 | dependencies:
1028 | yallist "^4.0.0"
1029 |
1030 | magic-string@^0.26.2:
1031 | version "0.26.2"
1032 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.2.tgz#5331700e4158cd6befda738bb6b0c7b93c0d4432"
1033 | integrity sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A==
1034 | dependencies:
1035 | sourcemap-codec "^1.4.8"
1036 |
1037 | merge2@^1.3.0:
1038 | version "1.4.1"
1039 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
1040 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
1041 |
1042 | micromatch@^4.0.4:
1043 | version "4.0.5"
1044 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
1045 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
1046 | dependencies:
1047 | braces "^3.0.2"
1048 | picomatch "^2.3.1"
1049 |
1050 | minimatch@^3.0.4:
1051 | version "3.1.2"
1052 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
1053 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
1054 | dependencies:
1055 | brace-expansion "^1.1.7"
1056 |
1057 | ms@2.1.2:
1058 | version "2.1.2"
1059 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
1060 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
1061 |
1062 | nanoid@^3.3.4:
1063 | version "3.3.4"
1064 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab"
1065 | integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==
1066 |
1067 | node-releases@^2.0.6:
1068 | version "2.0.6"
1069 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503"
1070 | integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==
1071 |
1072 | normalize-path@^3.0.0, normalize-path@~3.0.0:
1073 | version "3.0.0"
1074 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
1075 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
1076 |
1077 | npm-run-path@^4.0.1:
1078 | version "4.0.1"
1079 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
1080 | integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
1081 | dependencies:
1082 | path-key "^3.0.0"
1083 |
1084 | path-key@^3.0.0:
1085 | version "3.1.1"
1086 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
1087 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
1088 |
1089 | path-parse@^1.0.7:
1090 | version "1.0.7"
1091 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
1092 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
1093 |
1094 | picocolors@^1.0.0:
1095 | version "1.0.0"
1096 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
1097 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
1098 |
1099 | picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.3.1:
1100 | version "2.3.1"
1101 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
1102 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
1103 |
1104 | polygon-clipping@0.15.3:
1105 | version "0.15.3"
1106 | resolved "https://registry.yarnpkg.com/polygon-clipping/-/polygon-clipping-0.15.3.tgz#0215840438470ba2e9e6593625e4ea5c1087b4b7"
1107 | integrity sha512-ho0Xx5DLkgxRx/+n4O74XyJ67DcyN3Tu9bGYKsnTukGAW6ssnuak6Mwcyb1wHy9MZc9xsUWqIoiazkZB5weECg==
1108 | dependencies:
1109 | splaytree "^3.1.0"
1110 |
1111 | postcss@^8.4.16:
1112 | version "8.4.16"
1113 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.16.tgz#33a1d675fac39941f5f445db0de4db2b6e01d43c"
1114 | integrity sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==
1115 | dependencies:
1116 | nanoid "^3.3.4"
1117 | picocolors "^1.0.0"
1118 | source-map-js "^1.0.2"
1119 |
1120 | queue-microtask@^1.2.2:
1121 | version "1.2.3"
1122 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
1123 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
1124 |
1125 | quickselect@^2.0.0:
1126 | version "2.0.0"
1127 | resolved "https://registry.yarnpkg.com/quickselect/-/quickselect-2.0.0.tgz#f19680a486a5eefb581303e023e98faaf25dd018"
1128 | integrity sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==
1129 |
1130 | rbush@^3.0.1:
1131 | version "3.0.1"
1132 | resolved "https://registry.yarnpkg.com/rbush/-/rbush-3.0.1.tgz#5fafa8a79b3b9afdfe5008403a720cc1de882ecf"
1133 | integrity sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==
1134 | dependencies:
1135 | quickselect "^2.0.0"
1136 |
1137 | react-dom@^18.2.0:
1138 | version "18.2.0"
1139 | resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d"
1140 | integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==
1141 | dependencies:
1142 | loose-envify "^1.1.0"
1143 | scheduler "^0.23.0"
1144 |
1145 | react-leaflet@^4.0.2:
1146 | version "4.0.2"
1147 | resolved "https://registry.yarnpkg.com/react-leaflet/-/react-leaflet-4.0.2.tgz#ffa3d8dde9859459e3dc91436f84ffd56f39ec57"
1148 | integrity sha512-pDyIf50Ek/LZ0p4Qxw2D9LMOx+LytQs2R+MY3mhTUPGzubrpP4QAgbCv2qc0L9y0qVRgx7dHavWuPFkc/WCJCw==
1149 | dependencies:
1150 | "@react-leaflet/core" "^2.0.1"
1151 |
1152 | react-refresh@^0.14.0:
1153 | version "0.14.0"
1154 | resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e"
1155 | integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==
1156 |
1157 | react@^18.2.0:
1158 | version "18.2.0"
1159 | resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5"
1160 | integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==
1161 | dependencies:
1162 | loose-envify "^1.1.0"
1163 |
1164 | readdirp@~3.6.0:
1165 | version "3.6.0"
1166 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
1167 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
1168 | dependencies:
1169 | picomatch "^2.2.1"
1170 |
1171 | resolve@^1.17.0, resolve@^1.22.1:
1172 | version "1.22.1"
1173 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177"
1174 | integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==
1175 | dependencies:
1176 | is-core-module "^2.9.0"
1177 | path-parse "^1.0.7"
1178 | supports-preserve-symlinks-flag "^1.0.0"
1179 |
1180 | reusify@^1.0.4:
1181 | version "1.0.4"
1182 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
1183 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
1184 |
1185 | "rollup@>=2.75.6 <2.77.0 || ~2.77.0":
1186 | version "2.77.3"
1187 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.77.3.tgz#8f00418d3a2740036e15deb653bed1a90ee0cc12"
1188 | integrity sha512-/qxNTG7FbmefJWoeeYJFbHehJ2HNWnjkAFRKzWN/45eNBBF/r8lo992CwcJXEzyVxs5FmfId+vTSTQDb+bxA+g==
1189 | optionalDependencies:
1190 | fsevents "~2.3.2"
1191 |
1192 | run-parallel@^1.1.9:
1193 | version "1.2.0"
1194 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
1195 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
1196 | dependencies:
1197 | queue-microtask "^1.2.2"
1198 |
1199 | safe-buffer@~5.1.1:
1200 | version "5.1.2"
1201 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
1202 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
1203 |
1204 | scheduler@^0.23.0:
1205 | version "0.23.0"
1206 | resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe"
1207 | integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==
1208 | dependencies:
1209 | loose-envify "^1.1.0"
1210 |
1211 | semver@^6.3.0:
1212 | version "6.3.0"
1213 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
1214 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
1215 |
1216 | semver@^7.3.4:
1217 | version "7.3.7"
1218 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f"
1219 | integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==
1220 | dependencies:
1221 | lru-cache "^6.0.0"
1222 |
1223 | source-map-js@^1.0.2:
1224 | version "1.0.2"
1225 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
1226 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
1227 |
1228 | sourcemap-codec@^1.4.8:
1229 | version "1.4.8"
1230 | resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4"
1231 | integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
1232 |
1233 | splaytree@^3.1.0:
1234 | version "3.1.1"
1235 | resolved "https://registry.yarnpkg.com/splaytree/-/splaytree-3.1.1.tgz#e1bc8e68e64ef5a9d5f09d36e6d9f3621795a438"
1236 | integrity sha512-9FaQ18FF0+sZc/ieEeXHt+Jw2eSpUgUtTLDYB/HXKWvhYVyOc7h1hzkn5MMO3GPib9MmXG1go8+OsBBzs/NMww==
1237 |
1238 | strip-ansi@^6.0.0:
1239 | version "6.0.1"
1240 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
1241 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
1242 | dependencies:
1243 | ansi-regex "^5.0.1"
1244 |
1245 | supports-color@^5.3.0:
1246 | version "5.5.0"
1247 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
1248 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
1249 | dependencies:
1250 | has-flag "^3.0.0"
1251 |
1252 | supports-color@^7.1.0:
1253 | version "7.2.0"
1254 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
1255 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
1256 | dependencies:
1257 | has-flag "^4.0.0"
1258 |
1259 | supports-preserve-symlinks-flag@^1.0.0:
1260 | version "1.0.0"
1261 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
1262 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
1263 |
1264 | tiny-invariant@^1.1.0:
1265 | version "1.2.0"
1266 | resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.2.0.tgz#a1141f86b672a9148c72e978a19a73b9b94a15a9"
1267 | integrity sha512-1Uhn/aqw5C6RI4KejVeTg6mIS7IqxnLJ8Mv2tV5rTc0qWobay7pDUz6Wi392Cnc8ak1H0F2cjoRzb2/AW4+Fvg==
1268 |
1269 | to-fast-properties@^2.0.0:
1270 | version "2.0.0"
1271 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
1272 | integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==
1273 |
1274 | to-regex-range@^5.0.1:
1275 | version "5.0.1"
1276 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
1277 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
1278 | dependencies:
1279 | is-number "^7.0.0"
1280 |
1281 | type-fest@^0.21.3:
1282 | version "0.21.3"
1283 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37"
1284 | integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==
1285 |
1286 | typescript@^4.6.3:
1287 | version "4.8.2"
1288 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.2.tgz#e3b33d5ccfb5914e4eeab6699cf208adee3fd790"
1289 | integrity sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw==
1290 |
1291 | update-browserslist-db@^1.0.5:
1292 | version "1.0.5"
1293 | resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz#be06a5eedd62f107b7c19eb5bcefb194411abf38"
1294 | integrity sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==
1295 | dependencies:
1296 | escalade "^3.1.1"
1297 | picocolors "^1.0.0"
1298 |
1299 | vite-plugin-checker@^0.4.9:
1300 | version "0.4.9"
1301 | resolved "https://registry.yarnpkg.com/vite-plugin-checker/-/vite-plugin-checker-0.4.9.tgz#ec0c6cd5c1d98a826915a729cf1de3026c8db3bb"
1302 | integrity sha512-Oii9mTum8bqZovWejcR739kCqST32oG6LdB/XMdwcLVzmcjq0gf1iVDIedVzJJ7t6GLQAYgjNwvB0fuMiT3tlg==
1303 | dependencies:
1304 | "@babel/code-frame" "^7.12.13"
1305 | ansi-escapes "^4.3.0"
1306 | chalk "^4.1.1"
1307 | chokidar "^3.5.1"
1308 | commander "^8.0.0"
1309 | fast-glob "^3.2.7"
1310 | lodash.debounce "^4.0.8"
1311 | lodash.pick "^4.4.0"
1312 | npm-run-path "^4.0.1"
1313 | strip-ansi "^6.0.0"
1314 | tiny-invariant "^1.1.0"
1315 | vscode-languageclient "^7.0.0"
1316 | vscode-languageserver "^7.0.0"
1317 | vscode-languageserver-textdocument "^1.0.1"
1318 | vscode-uri "^3.0.2"
1319 |
1320 | vite@^3.0.8:
1321 | version "3.0.9"
1322 | resolved "https://registry.yarnpkg.com/vite/-/vite-3.0.9.tgz#45fac22c2a5290a970f23d66c1aef56a04be8a30"
1323 | integrity sha512-waYABTM+G6DBTCpYAxvevpG50UOlZuynR0ckTK5PawNVt7ebX6X7wNXHaGIO6wYYFXSM7/WcuFuO2QzhBB6aMw==
1324 | dependencies:
1325 | esbuild "^0.14.47"
1326 | postcss "^8.4.16"
1327 | resolve "^1.22.1"
1328 | rollup ">=2.75.6 <2.77.0 || ~2.77.0"
1329 | optionalDependencies:
1330 | fsevents "~2.3.2"
1331 |
1332 | vscode-jsonrpc@6.0.0:
1333 | version "6.0.0"
1334 | resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-6.0.0.tgz#108bdb09b4400705176b957ceca9e0880e9b6d4e"
1335 | integrity sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==
1336 |
1337 | vscode-languageclient@^7.0.0:
1338 | version "7.0.0"
1339 | resolved "https://registry.yarnpkg.com/vscode-languageclient/-/vscode-languageclient-7.0.0.tgz#b505c22c21ffcf96e167799757fca07a6bad0fb2"
1340 | integrity sha512-P9AXdAPlsCgslpP9pRxYPqkNYV7Xq8300/aZDpO35j1fJm/ncize8iGswzYlcvFw5DQUx4eVk+KvfXdL0rehNg==
1341 | dependencies:
1342 | minimatch "^3.0.4"
1343 | semver "^7.3.4"
1344 | vscode-languageserver-protocol "3.16.0"
1345 |
1346 | vscode-languageserver-protocol@3.16.0:
1347 | version "3.16.0"
1348 | resolved "https://registry.yarnpkg.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.16.0.tgz#34135b61a9091db972188a07d337406a3cdbe821"
1349 | integrity sha512-sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==
1350 | dependencies:
1351 | vscode-jsonrpc "6.0.0"
1352 | vscode-languageserver-types "3.16.0"
1353 |
1354 | vscode-languageserver-textdocument@^1.0.1:
1355 | version "1.0.5"
1356 | resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.5.tgz#838769940ece626176ec5d5a2aa2d0aa69f5095c"
1357 | integrity sha512-1ah7zyQjKBudnMiHbZmxz5bYNM9KKZYz+5VQLj+yr8l+9w3g+WAhCkUkWbhMEdC5u0ub4Ndiye/fDyS8ghIKQg==
1358 |
1359 | vscode-languageserver-types@3.16.0:
1360 | version "3.16.0"
1361 | resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz#ecf393fc121ec6974b2da3efb3155644c514e247"
1362 | integrity sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==
1363 |
1364 | vscode-languageserver@^7.0.0:
1365 | version "7.0.0"
1366 | resolved "https://registry.yarnpkg.com/vscode-languageserver/-/vscode-languageserver-7.0.0.tgz#49b068c87cfcca93a356969d20f5d9bdd501c6b0"
1367 | integrity sha512-60HTx5ID+fLRcgdHfmz0LDZAXYEV68fzwG0JWwEPBode9NuMYTIxuYXPg4ngO8i8+Ou0lM7y6GzaYWbiDL0drw==
1368 | dependencies:
1369 | vscode-languageserver-protocol "3.16.0"
1370 |
1371 | vscode-uri@^3.0.2:
1372 | version "3.0.3"
1373 | resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-3.0.3.tgz#a95c1ce2e6f41b7549f86279d19f47951e4f4d84"
1374 | integrity sha512-EcswR2S8bpR7fD0YPeS7r2xXExrScVMxg4MedACaWHEtx9ftCF/qHG1xGkolzTPcEmjTavCQgbVzHUIdTMzFGA==
1375 |
1376 | yallist@^4.0.0:
1377 | version "4.0.0"
1378 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
1379 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
1380 |
--------------------------------------------------------------------------------