diff --git a/package.json b/package.json index 579768e..171230b 100644 --- a/package.json +++ b/package.json @@ -48,6 +48,7 @@ "leaflet": "^1.9.4", "livephotoskit": "^1.5.6", "lodash": "^4.17.21", + "mapbox-gl": "^3.15.0", "material-ui-popup-state": "^5.0.10", "monaco-editor": "^0.49.0", "mpegts.js": "^1.8.0", diff --git a/public/locales/de-DE/dashboard.json b/public/locales/de-DE/dashboard.json index 150e6ad..30413b7 100644 --- a/public/locales/de-DE/dashboard.json +++ b/public/locales/de-DE/dashboard.json @@ -257,8 +257,11 @@ "mimeMappingDes": "MIME-Typ-Zuordnung im JSON-Format, wobei der Schlüssel die Dateierweiterung und der Wert der MIME-Typ ist. Cloudreve bestimmt den Datei-MIME-Typ basierend auf der Dateierweiterung und dieser Einstellung.", "mapProvider": "Kartenanbieter", "mapProviderDes": "Kartenanbieter, der zur Anzeige von Medienstandortinformationen verwendet wird.", - "mapGoogle": "Google Maps", - "mapOpenStreetMap": "OpenStreetMap", + "mapGoogle": "Google Maps (Leaflet)", + "mapOpenStreetMap": "OpenStreetMap (Leaflet)", + "mapboxMap": "OpenStreetMap (Mapbox)", + "mapboxAccessToken": "Mapbox-Zugriffstoken", + "mapboxAccessTokenDes": "Öffentlicher Zugriffstoken, der in der <0>Mapbox-Konsole erstellt wurde.", "tileType": "Standard-Kacheltyp", "tileTypeDes": "Standard-Kacheltyp für Google Maps.", "tileTypeTerrain": "Gelände", diff --git a/public/locales/en-US/dashboard.json b/public/locales/en-US/dashboard.json index b88c734..02dbcf3 100644 --- a/public/locales/en-US/dashboard.json +++ b/public/locales/en-US/dashboard.json @@ -256,8 +256,11 @@ "mimeMappingDes": "MIME type mapping in JSON format, where the key is the file extension and the value is the MIME type. Cloudreve will determine the file MIME type based on the file extension and this setting.", "mapProvider": "Map provider", "mapProviderDes": "Map provider used to display media location information.", - "mapGoogle": "Google Maps", - "mapOpenStreetMap": "OpenStreetMap", + "mapGoogle": "Google Maps (Leaflet)", + "mapOpenStreetMap": "OpenStreetMap (Leaflet)", + "mapboxMap": "OpenStreetMap (Mapbox)", + "mapboxAccessToken": "Mapbox Access Token", + "mapboxAccessTokenDes": "Public access token created in <0>Mapbox Console.", "tileType": "Default tile type", "tileTypeDes": "Default tile type for Google Maps.", "tileTypeTerrain": "Terrain", diff --git a/public/locales/es-ES/dashboard.json b/public/locales/es-ES/dashboard.json index 8e10fc0..d8f37c6 100644 --- a/public/locales/es-ES/dashboard.json +++ b/public/locales/es-ES/dashboard.json @@ -257,8 +257,11 @@ "mimeMappingDes": "Mapeo de tipo MIME en formato JSON, donde la clave es la extensión del archivo y el valor es el tipo MIME. Cloudreve determinará el tipo MIME del archivo basándose en la extensión del archivo y esta configuración.", "mapProvider": "Proveedor de mapas", "mapProviderDes": "Proveedor de mapas utilizado para mostrar información de ubicación de medios.", - "mapGoogle": "Google Maps", - "mapOpenStreetMap": "OpenStreetMap", + "mapGoogle": "Google Maps (Leaflet)", + "mapOpenStreetMap": "OpenStreetMap (Leaflet)", + "mapboxMap": "OpenStreetMap (Mapbox)", + "mapboxAccessToken": "Token de acceso de Mapbox", + "mapboxAccessTokenDes": "Token de acceso público creado en la <0>consola de Mapbox.", "tileType": "Tipo de mosaico predeterminado", "tileTypeDes": "Tipo de mosaico predeterminado para Google Maps.", "tileTypeTerrain": "Terreno", diff --git a/public/locales/fr-FR/dashboard.json b/public/locales/fr-FR/dashboard.json index dea7afb..f10a700 100644 --- a/public/locales/fr-FR/dashboard.json +++ b/public/locales/fr-FR/dashboard.json @@ -257,8 +257,11 @@ "mimeMappingDes": "Mappage de type MIME au format JSON, où la clé est l'extension de fichier et la valeur est le type MIME. Cloudreve déterminera le type MIME du fichier basé sur l'extension de fichier et ce paramètre.", "mapProvider": "Fournisseur de cartes", "mapProviderDes": "Fournisseur de cartes utilisé pour afficher les informations de localisation des médias.", - "mapGoogle": "Google Maps", - "mapOpenStreetMap": "OpenStreetMap", + "mapGoogle": "Google Maps (Leaflet)", + "mapOpenStreetMap": "OpenStreetMap (Leaflet)", + "mapboxMap": "OpenStreetMap (Mapbox)", + "mapboxAccessToken": "Jeton d'accès Mapbox", + "mapboxAccessTokenDes": "Jeton d'accès public créé dans la <0>console Mapbox.", "tileType": "Type de tuile par défaut", "tileTypeDes": "Type de tuile par défaut pour Google Maps.", "tileTypeTerrain": "Terrain", diff --git a/public/locales/it-IT/dashboard.json b/public/locales/it-IT/dashboard.json index 067c39a..3b519f5 100644 --- a/public/locales/it-IT/dashboard.json +++ b/public/locales/it-IT/dashboard.json @@ -257,8 +257,11 @@ "mimeMappingDes": "Mappatura tipo MIME in formato JSON, dove la chiave è l'estensione file e il valore è il tipo MIME. Cloudreve determinerà il tipo MIME del file basandosi sull'estensione file e questa impostazione.", "mapProvider": "Fornitore mappa", "mapProviderDes": "Fornitore mappa utilizzato per visualizzare informazioni posizione media.", - "mapGoogle": "Google Maps", - "mapOpenStreetMap": "OpenStreetMap", + "mapGoogle": "Google Maps (Leaflet)", + "mapOpenStreetMap": "OpenStreetMap (Leaflet)", + "mapboxMap": "OpenStreetMap (Mapbox)", + "mapboxAccessToken": "Token di accesso Mapbox", + "mapboxAccessTokenDes": "Token di accesso pubblico creato nella <0>console Mapbox.", "tileType": "Tipo tile predefinito", "tileTypeDes": "Tipo tile predefinito per Google Maps.", "tileTypeTerrain": "Terreno", diff --git a/public/locales/ja-JP/dashboard.json b/public/locales/ja-JP/dashboard.json index 00c72bb..9abe4dd 100644 --- a/public/locales/ja-JP/dashboard.json +++ b/public/locales/ja-JP/dashboard.json @@ -256,8 +256,11 @@ "mimeMappingDes": "JSON形式のMIMEタイプマッピングテーブル。キーはファイル拡張子、値はMIMEタイプです。Cloudreveはファイル拡張子とこの設定に基づいてファイルのMIMEタイプを判断します。", "mapProvider": "地図プロバイダー", "mapProviderDes": "メディアの位置情報を表示する際に使用する地図プロバイダー。", - "mapGoogle": "Google Maps", - "mapOpenStreetMap": "OpenStreetMap", + "mapGoogle": "Google Maps (Leaflet)", + "mapOpenStreetMap": "OpenStreetMap (Leaflet)", + "mapboxMap": "OpenStreetMap (Mapbox)", + "mapboxAccessToken": "Mapboxアクセストークン", + "mapboxAccessTokenDes": "<0>Mapboxコンソールで作成した公開アクセストークン。", "tileType": "デフォルト地図タイプ", "tileTypeDes": "Google Mapsのデフォルト地図タイプ。", "tileTypeTerrain": "地形", diff --git a/public/locales/ko-KR/dashboard.json b/public/locales/ko-KR/dashboard.json index 96722dd..21979af 100644 --- a/public/locales/ko-KR/dashboard.json +++ b/public/locales/ko-KR/dashboard.json @@ -256,8 +256,11 @@ "mimeMappingDes": "JSON 형식의 MIME 유형 매핑 테이블로, 키는 파일 확장자, 값은 MIME 유형입니다. Cloudreve는 파일 확장자와 이 설정에 따라 파일 MIME 유형을 판단합니다.", "mapProvider": "지도 제공업체", "mapProviderDes": "미디어 위치 정보를 표시할 때 사용하는 지도 제공업체", - "mapGoogle": "Google Maps", - "mapOpenStreetMap": "OpenStreetMap", + "mapGoogle": "Google Maps (Leaflet)", + "mapOpenStreetMap": "OpenStreetMap (Leaflet)", + "mapboxMap": "OpenStreetMap (Mapbox)", + "mapboxAccessToken": "Mapbox 액세스 토큰", + "mapboxAccessTokenDes": "<0>Mapbox 콘솔에서 생성한 공개 액세스 토큰입니다.", "tileType": "기본 지도 유형", "tileTypeDes": "Google Maps 기본 지도 유형", "tileTypeTerrain": "지형", diff --git a/public/locales/pt-BR/dashboard.json b/public/locales/pt-BR/dashboard.json index d62a9f6..8154072 100644 --- a/public/locales/pt-BR/dashboard.json +++ b/public/locales/pt-BR/dashboard.json @@ -257,8 +257,11 @@ "mimeMappingDes": "Mapeamento de tipo MIME em formato JSON, onde a chave é a extensão do arquivo e o valor é o tipo MIME. O Cloudreve determinará o tipo MIME do arquivo com base na extensão do arquivo e nesta configuração.", "mapProvider": "Provedor de mapa", "mapProviderDes": "Provedor de mapa usado para exibir informações de localização de mídia.", - "mapGoogle": "Google Maps", - "mapOpenStreetMap": "OpenStreetMap", + "mapGoogle": "Google Maps (Leaflet)", + "mapOpenStreetMap": "OpenStreetMap (Leaflet)", + "mapboxMap": "OpenStreetMap (Mapbox)", + "mapboxAccessToken": "Token de acesso Mapbox", + "mapboxAccessTokenDes": "Token de acesso público criado no <0>Console Mapbox.", "tileType": "Tipo de tile padrão", "tileTypeDes": "Tipo de tile padrão para Google Maps.", "tileTypeTerrain": "Terreno", diff --git a/public/locales/ru-RU/dashboard.json b/public/locales/ru-RU/dashboard.json index 6c8aa47..c3603ca 100644 --- a/public/locales/ru-RU/dashboard.json +++ b/public/locales/ru-RU/dashboard.json @@ -257,8 +257,11 @@ "mimeMappingDes": "Сопоставление MIME-типов в формате JSON, где ключ - расширение файла, а значение - MIME-тип. Cloudreve будет определять MIME-тип файла на основе расширения файла и этой настройки.", "mapProvider": "Поставщик карт", "mapProviderDes": "Поставщик карт, используемый для отображения информации о местоположении медиа.", - "mapGoogle": "Google Maps", - "mapOpenStreetMap": "OpenStreetMap", + "mapGoogle": "Google Maps (Leaflet)", + "mapOpenStreetMap": "OpenStreetMap (Leaflet)", + "mapboxMap": "OpenStreetMap (Mapbox)", + "mapboxAccessToken": "Токен доступа Mapbox", + "mapboxAccessTokenDes": "Публичный токен доступа, созданный в <0>консоли Mapbox.", "tileType": "Тип плитки по умолчанию", "tileTypeDes": "Тип плитки по умолчанию для Google Maps.", "tileTypeTerrain": "Рельеф", diff --git a/public/locales/zh-CN/dashboard.json b/public/locales/zh-CN/dashboard.json index 2875e94..c674571 100644 --- a/public/locales/zh-CN/dashboard.json +++ b/public/locales/zh-CN/dashboard.json @@ -256,8 +256,11 @@ "mimeMappingDes": "JSON 格式的 MIME 类型映射表,键为文件扩展名,值为 MIME 类型。Cloudreve 会根据文件扩展名和此设置判断文件 MIME 类型。", "mapProvider": "地图提供商", "mapProviderDes": "展示媒体位置信息时使用的地图提供商。", - "mapGoogle": "Google Maps", - "mapOpenStreetMap": "OpenStreetMap", + "mapGoogle": "Google Maps (Leaflet)", + "mapOpenStreetMap": "OpenStreetMap (Leaflet)", + "mapboxMap": "OpenStreetMap (Mapbox)", + "mapboxAccessToken": "Mapbox 密钥", + "mapboxAccessTokenDes": "在 <0>Mapbox 控制台 创建的公共密钥。", "tileType": "默认地图类型", "tileTypeDes": "Google Maps 默认地图类型。", "tileTypeTerrain": "地形", diff --git a/public/locales/zh-TW/dashboard.json b/public/locales/zh-TW/dashboard.json index bb53f10..cb18f28 100644 --- a/public/locales/zh-TW/dashboard.json +++ b/public/locales/zh-TW/dashboard.json @@ -256,8 +256,11 @@ "mimeMappingDes": "JSON 格式的 MIME 型別對映表,鍵為副檔名,值為 MIME 型別。Cloudreve 會根據副檔名和此設定判斷檔案 MIME 型別。", "mapProvider": "地圖提供商", "mapProviderDes": "展示媒體位置資訊時使用的地圖提供商。", - "mapGoogle": "Google Maps", - "mapOpenStreetMap": "OpenStreetMap", + "mapGoogle": "Google Maps (Leaflet)", + "mapOpenStreetMap": "OpenStreetMap (Leaflet)", + "mapboxMap": "OpenStreetMap (Mapbox)", + "mapboxAccessToken": "Mapbox 密鑰", + "mapboxAccessTokenDes": "在 <0>Mapbox 控制台 創建的公開密鑰。", "tileType": "預設地圖型別", "tileTypeDes": "Google Maps 預設地圖型別。", "tileTypeTerrain": "地形", diff --git a/src/api/site.ts b/src/api/site.ts index d9638f8..829f51d 100644 --- a/src/api/site.ts +++ b/src/api/site.ts @@ -35,6 +35,7 @@ export interface SiteConfig { icons?: string; emoji_preset?: string; map_provider?: string; + mapbox_ak?: string; google_map_tile_type?: string; file_viewers?: ViewerGroup[]; max_batch_size?: number; diff --git a/src/component/Admin/FileSystem/Filesystem.tsx b/src/component/Admin/FileSystem/Filesystem.tsx index 0e2ab59..e4d1a16 100644 --- a/src/component/Admin/FileSystem/Filesystem.tsx +++ b/src/component/Admin/FileSystem/Filesystem.tsx @@ -85,6 +85,7 @@ const FileSystem = () => { "max_batched_file", "map_provider", "map_google_tile_type", + "map_mapbox_ak", "mime_mapping", "explorer_category_image_query", "explorer_category_video_query", diff --git a/src/component/Admin/FileSystem/Parameters.tsx b/src/component/Admin/FileSystem/Parameters.tsx index 78b8879..d0984e3 100644 --- a/src/component/Admin/FileSystem/Parameters.tsx +++ b/src/component/Admin/FileSystem/Parameters.tsx @@ -270,10 +270,38 @@ const Parameters = () => { {t("settings.mapOpenStreetMap")} + + + {t("settings.mapboxMap")} + + {t("settings.mapProviderDes")} + + + + setSettings({ map_mapbox_ak: e.target.value })} + /> + + ]} + /> + + + + diff --git a/src/component/FileManager/Sidebar/Map/LeafletMapBox.tsx b/src/component/FileManager/Sidebar/Map/LeafletMapBox.tsx index 6acc4a7..a84953b 100644 --- a/src/component/FileManager/Sidebar/Map/LeafletMapBox.tsx +++ b/src/component/FileManager/Sidebar/Map/LeafletMapBox.tsx @@ -14,9 +14,6 @@ L.Icon.Default.mergeOptions({ shadowUrl: "/static/img/marker-shadow.png", // .src removed }); -/* - Majority users of Cloudreve in China prefer not to include Ukraine flag. Feel free to remove it if you want to display it. - */ const includeUkraineFlag = false; const FlagRemoval = () => { const map = useMap(); diff --git a/src/component/FileManager/Sidebar/Map/MapLoader.tsx b/src/component/FileManager/Sidebar/Map/MapLoader.tsx index c6dc0b4..1725ce7 100644 --- a/src/component/FileManager/Sidebar/Map/MapLoader.tsx +++ b/src/component/FileManager/Sidebar/Map/MapLoader.tsx @@ -2,21 +2,29 @@ import { BoxProps, Skeleton } from "@mui/material"; import { lazy, Suspense } from "react"; import { useAppSelector } from "../../../../redux/hooks.ts"; -const MapBox = lazy(() => import("./LeafletMapBox.tsx")); +const LeafletMapBox = lazy(() => import("./LeafletMapBox.tsx")); +const Mapbox = lazy(() => import("./Mapbox.tsx")); export interface MapLoaderProps extends BoxProps { height: number; center: [number, number]; mapProvider?: string; googleTileType?: string; + token?: string; } const MapLoader = (props: MapLoaderProps) => { const mapProvider = useAppSelector((state) => state.siteConfig.explorer.config.map_provider); + const mapboxAk = useAppSelector((state) => state.siteConfig.explorer.config.mapbox_ak); const googleTileType = useAppSelector((state) => state.siteConfig.explorer.config.google_map_tile_type); return ( }> - + {mapProvider !== "mapbox" && ( + + )} + {mapProvider === "mapbox" && ( + + )} ); }; diff --git a/src/component/FileManager/Sidebar/Map/Mapbox.tsx b/src/component/FileManager/Sidebar/Map/Mapbox.tsx new file mode 100644 index 0000000..5d39186 --- /dev/null +++ b/src/component/FileManager/Sidebar/Map/Mapbox.tsx @@ -0,0 +1,85 @@ +import { Box, useTheme } from "@mui/material"; +import mapboxgl from "mapbox-gl"; +import "mapbox-gl/dist/mapbox-gl.css"; +import { useEffect, useRef } from "react"; +import { MapLoaderProps } from "./MapLoader.tsx"; + +const MapboxComponent = ({ center, height, mapProvider, token, sx, ...rest }: MapLoaderProps) => { + const theme = useTheme(); + const mapRef = useRef(null); + const mapContainerRef = useRef(null); + const markerRef = useRef(null); + + // Dynamic map style based on theme mode + const mapStyle = "mapbox://styles/mapbox/standard"; + + useEffect(() => { + if (!mapContainerRef.current) return; + + // Set Mapbox access token + mapboxgl.accessToken = token; + + // Initialize map + mapRef.current = new mapboxgl.Map({ + container: mapContainerRef.current, + style: mapStyle, + config: { + basemap: { + lightPreset: theme.palette.mode === "dark" ? "night" : "day", + }, + }, + center: [center[1], center[0]], // Mapbox uses [lng, lat] format + zoom: 13, + }); + + // Add marker + markerRef.current = new mapboxgl.Marker().setLngLat([center[1], center[0]]).addTo(mapRef.current); + + return () => { + if (markerRef.current) { + markerRef.current.remove(); + } + if (mapRef.current) { + mapRef.current.remove(); + } + }; + }, [center]); + + useEffect(() => { + if (mapRef.current) { + mapRef.current.setConfigProperty("basemap", "lightPreset", theme.palette.mode === "dark" ? "night" : "day"); + } + }, [theme.palette.mode]); + + // Update marker position when center changes + useEffect(() => { + if (markerRef.current) { + markerRef.current.setLngLat([center[1], center[0]]); + } + if (mapRef.current) { + mapRef.current.setCenter([center[1], center[0]]); + } + }, [center]); + + return ( + +
+ + ); +}; + +export default MapboxComponent; diff --git a/vite.config.ts b/vite.config.ts index 2b64e2f..6853dd6 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -17,6 +17,7 @@ export default defineConfig({ injectRegister: "auto", manifest: false, workbox: { + globIgnores: ["**/*leaflet*", "**/*mapbox*", "**/*Leaflet*", "**/*Mapbox*"], maximumFileSizeToCacheInBytes: 10000000, navigateFallbackDenylist: [/^\/pdfviewer.html/, /^\/api\/(.+)/, /^\/f\/(.+)/, /^\/s\/(.+)/], }, @@ -82,7 +83,9 @@ export default defineConfig({ "node_modules/pica/", ], mermaid: ["node_modules/mermaid", "node_modules/katex"], + leaflet: ["node_modules/leaflet", "node_modules/react-leaflet"], react: ["node_modules/react", "node_modules/react-dom"], + mapbox: ["node_modules/mapbox-gl"], }; // https://github.com/vitejs/vite/issues/5189#issuecomment-2175410148 diff --git a/yarn.lock b/yarn.lock index 8f9a725..5491d36 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2270,6 +2270,45 @@ dependencies: "@lit-labs/ssr-dom-shim" "^1.2.0" +"@mapbox/jsonlint-lines-primitives@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz#ce56e539f83552b58d10d672ea4d6fc9adc7b234" + integrity sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ== + +"@mapbox/mapbox-gl-supported@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@mapbox/mapbox-gl-supported/-/mapbox-gl-supported-3.0.0.tgz#bebd3d5da3c1fd988011bb79718a39f63f5e16ac" + integrity sha512-2XghOwu16ZwPJLOFVuIOaLbN0iKMn867evzXFyf0P22dqugezfJwLmdanAgU25ITvz1TvOfVP4jsDImlDJzcWg== + +"@mapbox/point-geometry@^1.1.0", "@mapbox/point-geometry@~1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@mapbox/point-geometry/-/point-geometry-1.1.0.tgz#3328fb54b3a1273bc619bf0a6baad8de37181749" + integrity sha512-YGcBz1cg4ATXDCM/71L9xveh4dynfGmcLDqufR+nQQy3fKwsAZsWd/x4621/6uJaeB9mwOHE6hPeDgXz9uViUQ== + +"@mapbox/tiny-sdf@^2.0.6": + version "2.0.7" + resolved "https://registry.yarnpkg.com/@mapbox/tiny-sdf/-/tiny-sdf-2.0.7.tgz#0d67d65a43195003b282764f2297c619736bbc6e" + integrity sha512-25gQLQMcpivjOSA40g3gO6qgiFPDpWRoMfd+G/GoppPIeP6JDaMMkMrEJnMZhKyyS6iKwVt5YKu02vCUyJM3Ug== + +"@mapbox/unitbezier@^0.0.1": + version "0.0.1" + resolved "https://registry.yarnpkg.com/@mapbox/unitbezier/-/unitbezier-0.0.1.tgz#d32deb66c7177e9e9dfc3bbd697083e2e657ff01" + integrity sha512-nMkuDXFv60aBr9soUG5q+GvZYL+2KZHVvsqFCzqnkGEf46U2fvmytHaEVc1/YZbiLn8X+eR3QzX1+dwDO1lxlw== + +"@mapbox/vector-tile@^2.0.4": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@mapbox/vector-tile/-/vector-tile-2.0.4.tgz#59c5ca80a84c210e61226367b0f9c8fd1737a437" + integrity sha512-AkOLcbgGTdXScosBWwmmD7cDlvOjkg/DetGva26pIRiZPdeJYjYKarIlb4uxVzi6bwHO6EWH82eZ5Nuv4T5DUg== + dependencies: + "@mapbox/point-geometry" "~1.1.0" + "@types/geojson" "^7946.0.16" + pbf "^4.0.1" + +"@mapbox/whoots-js@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@mapbox/whoots-js/-/whoots-js-3.1.0.tgz#497c67a1cef50d1a2459ba60f315e448d2ad87fe" + integrity sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q== + "@marijn/find-cluster-break@^1.0.0": version "1.0.2" resolved "https://registry.yarnpkg.com/@marijn/find-cluster-break/-/find-cluster-break-1.0.2.tgz#775374306116d51c0c500b8c4face0f9a04752d8" @@ -3858,11 +3897,23 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.8.tgz#958b91c991b1867ced318bedea0e215ee050726e" integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w== +"@types/geojson-vt@^3.2.5": + version "3.2.5" + resolved "https://registry.yarnpkg.com/@types/geojson-vt/-/geojson-vt-3.2.5.tgz#b6c356874991d9ab4207533476dfbcdb21e38408" + integrity sha512-qDO7wqtprzlpe8FfQ//ClPV9xiuoh2nkIgiouIptON9w5jvD/fA4szvP9GBlDVdJ5dldAl0kX/sy3URbWwLx0g== + dependencies: + "@types/geojson" "*" + "@types/geojson@*": version "7946.0.14" resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.14.tgz#319b63ad6df705ee2a65a73ef042c8271e696613" integrity sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg== +"@types/geojson@^7946.0.16": + version "7946.0.16" + resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.16.tgz#8ebe53d69efada7044454e3305c19017d97ced2a" + integrity sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg== + "@types/hast@^3.0.0": version "3.0.4" resolved "https://registry.yarnpkg.com/@types/hast/-/hast-3.0.4.tgz#1d6b39993b82cea6ad783945b0508c25903e15aa" @@ -3894,6 +3945,11 @@ resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.202.tgz#f09dbd2fb082d507178b2f2a5c7e74bd72ff98f8" integrity sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ== +"@types/mapbox__point-geometry@^0.1.4": + version "0.1.4" + resolved "https://registry.yarnpkg.com/@types/mapbox__point-geometry/-/mapbox__point-geometry-0.1.4.tgz#0ef017b75eedce02ff6243b4189210e2e6d5e56d" + integrity sha512-mUWlSxAmYLfwnRBmgYV86tgYmMIICX4kza8YnE/eIlywGe2XoOxlpVnXWwir92xRLjwyarqwpu2EJKD2pk0IUA== + "@types/mdast@^3.0.0": version "3.0.15" resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.15.tgz#49c524a263f30ffa28b71ae282f813ed000ab9f5" @@ -3930,6 +3986,11 @@ resolved "https://registry.yarnpkg.com/@types/path-browserify/-/path-browserify-1.0.2.tgz#14b62d4371316016f254b9cca5c10e60ef33dcc0" integrity sha512-ZkC5IUqqIFPXx3ASTTybTzmQdwHwe2C0u3eL75ldQ6T9E9IWFJodn6hIfbZGab73DfyiHN4Xw15gNxUq2FbvBA== +"@types/pbf@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@types/pbf/-/pbf-3.0.5.tgz#a9495a58d8c75be4ffe9a0bd749a307715c07404" + integrity sha512-j3pOPiEcWZ34R6a6mN07mUkM4o4Lwf6hPNt8eilOeZhTFbxFXmKhvXl9Y28jotFPaI1bpPDJsbCprUoNke6OrA== + "@types/prop-types@*": version "15.7.11" resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz" @@ -4005,6 +4066,13 @@ resolved "https://registry.yarnpkg.com/@types/stylis/-/stylis-4.2.5.tgz#1daa6456f40959d06157698a653a9ab0a70281df" integrity sha512-1Xve+NMN7FWjY14vLoY5tL3BVEQ/n42YLwaqJIPYhotZ9uBHt87VceMwWQpzmdEt2TNXIorIFG+YeCUUW7RInw== +"@types/supercluster@^7.1.3": + version "7.1.3" + resolved "https://registry.yarnpkg.com/@types/supercluster/-/supercluster-7.1.3.tgz#1a1bc2401b09174d9c9e44124931ec7874a72b27" + integrity sha512-Z0pOY34GDFl3Q6hUFYf3HkTwKEE02e7QgtJppBt+beEAxnyOpJua+voGFvxINBHa06GwLFFym7gRPY2SiKIfIA== + dependencies: + "@types/geojson" "*" + "@types/trusted-types@^2.0.2": version "2.0.7" resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.7.tgz#baccb07a970b91707df3a3e8ba6896c57ead2d11" @@ -4753,6 +4821,11 @@ character-reference-invalid@^2.0.0: resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz#85c66b041e43b47210faf401278abf808ac45cb9" integrity sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw== +cheap-ruler@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cheap-ruler/-/cheap-ruler-4.0.0.tgz#bdc984de7e0e3f748bdfd2dbe23ec6b9dc820a09" + integrity sha512-0BJa8f4t141BYKQyn9NSQt1PguFQXMXwZiA5shfoaBYHAb2fFk2RAX+tiWMoQU+Agtzt3mdt0JtuyshAXqZ+Vw== + "chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.3: version "3.6.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" @@ -5006,6 +5079,11 @@ css-to-react-native@3.2.0: css-color-keywords "^1.0.0" postcss-value-parser "^4.0.2" +csscolorparser@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/csscolorparser/-/csscolorparser-1.0.3.tgz#b34f391eea4da8f3e98231e2ccd8df9c041f171b" + integrity sha512-umPSgYwZkdFoUrH5hIq5kf0wPSXiro51nPw0j2K/c83KflkPSTBGMz6NJvMB+07VlL0y7VPo6QJcDjcgKTTm3w== + csstype@3.1.3, csstype@^3.0.2, csstype@^3.1.2, csstype@^3.1.3: version "3.1.3" resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz" @@ -5515,6 +5593,11 @@ dunder-proto@^1.0.0, dunder-proto@^1.0.1: es-errors "^1.3.0" gopd "^1.2.0" +earcut@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/earcut/-/earcut-3.0.2.tgz#d478a29aaf99acf418151493048aa197d0512248" + integrity sha512-X7hshQbLyMJ/3RPhyObLARM2sNxxmRALLKx1+NVFFnQ9gKzmCrxm9+uLIAdBcvc8FNLpctqlQ2V6AE92Ol9UDQ== + ejs@^3.1.6: version "3.1.10" resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.10.tgz#69ab8358b14e896f80cc39e62087b88500c3ac3b" @@ -6250,6 +6333,11 @@ gensync@^1.0.0-beta.2: resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== +geojson-vt@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/geojson-vt/-/geojson-vt-4.0.2.tgz#1162f6c7d61a0ba305b1030621e6e111f847828a" + integrity sha512-AV9ROqlNqoZEIJGfm1ncNjEXfkz2hdFlZf0qkVfmkwdKa8vj7H16YUOT81rJw1rdFhyEDlN2Tds91p/glzbl5A== + get-east-asian-width@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz#21b4071ee58ed04ee0db653371b55b4299875389" @@ -6321,6 +6409,11 @@ giscus@^1.6.0: dependencies: lit "^3.2.1" +gl-matrix@^3.4.4: + version "3.4.4" + resolved "https://registry.yarnpkg.com/gl-matrix/-/gl-matrix-3.4.4.tgz#7789ee4982f62c7a7af447ee488f3bd6b0c77003" + integrity sha512-latSnyDNt/8zYUB6VIJ6PCh2jBjJX6gnDsoCZ7LyW7GkqrD51EWwa9qCoGixj8YqBtETQK/xY7OmpTF8xz1DdQ== + glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" @@ -6407,6 +6500,11 @@ graphemer@^1.4.0: resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz" integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== +grid-index@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/grid-index/-/grid-index-1.1.0.tgz#97f8221edec1026c8377b86446a7c71e79522ea7" + integrity sha512-HZRwumpOGUrHyxO5bqKZL0B0GlUpwtCAzZ42sgxUPniu33R1LSFH5yrIcBCHjkctCAh3mtWKcKd9J4vDDdeVHA== + hachure-fill@^0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/hachure-fill/-/hachure-fill-0.5.2.tgz#d19bc4cc8750a5962b47fb1300557a85fcf934cc" @@ -7053,6 +7151,11 @@ katex@^0.16.9: dependencies: commander "^8.3.0" +kdbush@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/kdbush/-/kdbush-4.0.2.tgz#2f7b7246328b4657dd122b6c7f025fbc2c868e39" + integrity sha512-WbCVYJ27Sz8zi9Q7Q0xHC+05iwkm3Znipc2XTlrnJbsHMYktW4hPhXUE8Ys1engBrvffoSCqbil1JQAa7clRpA== + keyv@^4.5.4: version "4.5.4" resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" @@ -7308,6 +7411,39 @@ make-dir@^2.1.0: pify "^4.0.1" semver "^5.6.0" +mapbox-gl@^3.15.0: + version "3.15.0" + resolved "https://registry.yarnpkg.com/mapbox-gl/-/mapbox-gl-3.15.0.tgz#32bc07f8c07b63a28ca916492acb7ee6b0a86a91" + integrity sha512-I42ffZpiXwt0PG3PO6gMYQnoz+AInkirLe/+zoHjcfBTFoFkKYtu5gFwT1WGeSvNrVTqG2Bwp9zUjPw0PFGY+w== + dependencies: + "@mapbox/jsonlint-lines-primitives" "^2.0.2" + "@mapbox/mapbox-gl-supported" "^3.0.0" + "@mapbox/point-geometry" "^1.1.0" + "@mapbox/tiny-sdf" "^2.0.6" + "@mapbox/unitbezier" "^0.0.1" + "@mapbox/vector-tile" "^2.0.4" + "@mapbox/whoots-js" "^3.1.0" + "@types/geojson" "^7946.0.16" + "@types/geojson-vt" "^3.2.5" + "@types/mapbox__point-geometry" "^0.1.4" + "@types/pbf" "^3.0.5" + "@types/supercluster" "^7.1.3" + cheap-ruler "^4.0.0" + csscolorparser "~1.0.3" + earcut "^3.0.1" + geojson-vt "^4.0.2" + gl-matrix "^3.4.4" + grid-index "^1.1.0" + kdbush "^4.0.2" + martinez-polygon-clipping "^0.7.4" + murmurhash-js "^1.0.0" + pbf "^4.0.1" + potpack "^2.0.0" + quickselect "^3.0.0" + serialize-to-js "^3.1.2" + supercluster "^8.0.1" + tinyqueue "^3.0.0" + markdown-table@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-3.0.3.tgz#e6331d30e493127e031dd385488b5bd326e4a6bd" @@ -7318,6 +7454,15 @@ marks-pane@^1.0.9: resolved "https://registry.yarnpkg.com/marks-pane/-/marks-pane-1.0.9.tgz#c0b5ab813384d8cd81faaeb3bbf3397dc809c1b3" integrity sha512-Ahs4oeG90tbdPWwAJkAAoHg2lRR8lAs9mZXETNPO9hYg3AkjUJBKi1NQ4aaIQZVGrig7c/3NUV1jANl8rFTeMg== +martinez-polygon-clipping@^0.7.4: + version "0.7.4" + resolved "https://registry.yarnpkg.com/martinez-polygon-clipping/-/martinez-polygon-clipping-0.7.4.tgz#f7b27f9bdf05fe8d770531605919eeb84764f237" + integrity sha512-jBEwrKtA0jTagUZj2bnmb4Yg2s4KnJGRePStgI7bAVjtcipKiF39R4LZ2V/UT61jMYWrTcBhPazexeqd6JAVtw== + dependencies: + robust-predicates "^2.0.4" + splaytree "^0.1.4" + tinyqueue "^1.2.0" + material-ui-popup-state@^5.0.10: version "5.0.10" resolved "https://registry.yarnpkg.com/material-ui-popup-state/-/material-ui-popup-state-5.0.10.tgz#1c2d42cbe9f04f60fa6e4cd8ceb8ff5a456dfc62" @@ -8202,6 +8347,11 @@ multimath@^2.0.0: glur "^1.1.2" object-assign "^4.1.1" +murmurhash-js@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/murmurhash-js/-/murmurhash-js-1.0.0.tgz#b06278e21fc6c37fa5313732b0412bcb6ae15f51" + integrity sha512-TvmkNhkv8yct0SVBSy+o8wYzXjE4Zz3PCesbfs8HiCXXdcTuocApFv11UWlNFWKYsP2okqrhb7JNlSm9InBhIw== + nano-spawn@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/nano-spawn/-/nano-spawn-1.0.2.tgz#9853795681f0e96ef6f39104c2e4347b6ba79bf6" @@ -8491,6 +8641,13 @@ path-webpack@0.0.3: resolved "https://registry.yarnpkg.com/path-webpack/-/path-webpack-0.0.3.tgz#ff6dec749eec5a94605c04d5f63fc55607a03a16" integrity sha512-AmeDxedoo5svf7aB3FYqSAKqMxys014lVKBzy1o/5vv9CtU7U4wgGWL1dA2o6MOzcD53ScN4Jmiq6VbtLz1vIQ== +pbf@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pbf/-/pbf-4.0.1.tgz#ad9015e022b235dcdbe05fc468a9acadf483f0d4" + integrity sha512-SuLdBvS42z33m8ejRbInMapQe8n0D3vN/Xd5fmWM3tufNgRQFBpaW2YVJxQZV4iPNqb0vEFvssMEo5w9c6BTIA== + dependencies: + resolve-protobuf-schema "^2.1.0" + pdfjs-dist@4.10.38: version "4.10.38" resolved "https://registry.yarnpkg.com/pdfjs-dist/-/pdfjs-dist-4.10.38.tgz#3ee698003790dc266cc8b55c0e662ccb9ae18f53" @@ -8610,6 +8767,11 @@ postcss@^8.4.43: picocolors "^1.1.0" source-map-js "^1.2.1" +potpack@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/potpack/-/potpack-2.1.0.tgz#fe548e2f9061e9937f17191c1ab6dd98ca30e02f" + integrity sha512-pcaShQc1Shq0y+E7GqJqvZj8DTthWV1KeHGdi0Z6IAin2Oi3JnLCOfwnCo84qc+HAp52wT9nK9H7FAJp5a44GQ== + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" @@ -8658,6 +8820,11 @@ prop-types@^15.5.0, prop-types@^15.5.8, prop-types@^15.6.2, prop-types@^15.7.2, object-assign "^4.1.1" react-is "^16.13.1" +protocol-buffers-schema@^3.3.1: + version "3.6.0" + resolved "https://registry.yarnpkg.com/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz#77bc75a48b2ff142c1ad5b5b90c94cd0fa2efd03" + integrity sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw== + proxy-from-env@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz" @@ -8688,6 +8855,11 @@ queue-microtask@^1.2.2: resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== +quickselect@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/quickselect/-/quickselect-3.0.0.tgz#a37fc953867d56f095a20ac71c6d27063d2de603" + integrity sha512-XdjUArbK4Bm5fLLvlm5KpTFOiOThgfWWI4axAZDWg4E/0mKdZyI9tNEfds27qCi1ze/vwTR16kvmmGhRra3c2g== + randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" @@ -9098,6 +9270,13 @@ resolve-from@^4.0.0: resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== +resolve-protobuf-schema@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz#9ca9a9e69cf192bbdaf1006ec1973948aa4a3758" + integrity sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ== + dependencies: + protocol-buffers-schema "^3.3.1" + resolve@^1.14.2, resolve@^1.22.1: version "1.22.10" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39" @@ -9143,6 +9322,11 @@ rfdc@^1.4.1: resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.4.1.tgz#778f76c4fb731d93414e8f925fbecf64cce7f6ca" integrity sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA== +robust-predicates@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/robust-predicates/-/robust-predicates-2.0.4.tgz#0a2367a93abd99676d075981707f29cfb402248b" + integrity sha512-l4NwboJM74Ilm4VKfbAtFeGq7aEjWL+5kVFcmgFA2MrdnQWx9iE/tUGvxY5HyMI7o/WpSIUFLbC5fbeaHgSCYg== + robust-predicates@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/robust-predicates/-/robust-predicates-3.0.2.tgz#d5b28528c4824d20fc48df1928d41d9efa1ad771" @@ -9311,6 +9495,11 @@ serialize-javascript@^6.0.1: dependencies: randombytes "^2.1.0" +serialize-to-js@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/serialize-to-js/-/serialize-to-js-3.1.2.tgz#844b8a1c2d72412f68ea30da55090b3fc8e95790" + integrity sha512-owllqNuDDEimQat7EPG0tH7JjO090xKNzUtYz6X+Sk2BXDnOCilDdNLwjWeFywG9xkJul1ULvtUQa9O4pUaY0w== + set-function-length@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" @@ -9480,6 +9669,11 @@ sourcemap-codec@^1.4.8: resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== +splaytree@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/splaytree/-/splaytree-0.1.4.tgz#fc35475248edcc29d4938c9b67e43c6b7e55a659" + integrity sha512-D50hKrjZgBzqD3FT2Ek53f2dcDLAQT8SSGrzj3vidNH5ISRgceeGVJ2dQIthKOuayqFXfFjXheHNo4bbt9LhRQ== + static-browser-server@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/static-browser-server/-/static-browser-server-1.0.3.tgz#9030d141b99ed92c8eec1a7546b87548fd036f5d" @@ -9657,6 +9851,13 @@ stylis@^4.1.3: resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.3.6.tgz#7c7b97191cb4f195f03ecab7d52f7902ed378320" integrity sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ== +supercluster@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/supercluster/-/supercluster-8.0.1.tgz#9946ba123538e9e9ab15de472531f604e7372df5" + integrity sha512-IiOea5kJ9iqzD2t7QJq/cREyLHTtSmUT6gQsweojg9WH2sYJqZK9SswTu6jrscO6D1G5v5vYZ9ru/eq85lXeZQ== + dependencies: + kdbush "^4.0.2" + supports-color@^5.3.0: version "5.5.0" resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" @@ -9731,6 +9932,16 @@ tinyglobby@^0.2.10: fdir "^6.4.3" picomatch "^4.0.2" +tinyqueue@^1.2.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/tinyqueue/-/tinyqueue-1.2.3.tgz#b6a61de23060584da29f82362e45df1ec7353f3d" + integrity sha512-Qz9RgWuO9l8lT+Y9xvbzhPT2efIUIFd69N7eF7tJ9lnQl0iLj1M7peK7IoUGZL9DJHw9XftqLreccfxcQgYLxA== + +tinyqueue@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/tinyqueue/-/tinyqueue-3.0.0.tgz#101ea761ccc81f979e29200929e78f1556e3661e" + integrity sha512-gRa9gwYU3ECmQYv3lslts5hxuIa90veaEcxDYuu3QGOIAEM2mOZkVHp48ANJuu1CURtRdHKUBY5Lm1tHV+sD4g== + tippy.js@^6.3.1: version "6.3.7" resolved "https://registry.yarnpkg.com/tippy.js/-/tippy.js-6.3.7.tgz#8ccfb651d642010ed9a32ff29b0e9e19c5b8c61c"