diff --git a/packages/maps/mapbox-gl/Control.tsx b/packages/maps/mapbox-gl/Control.tsx index 2cf37b78..fb601999 100644 --- a/packages/maps/mapbox-gl/Control.tsx +++ b/packages/maps/mapbox-gl/Control.tsx @@ -1,8 +1,7 @@ -import type { Map } from 'mapbox-gl'; import { useEffect, useMemo, useRef } from 'react'; import type { Root } from 'react-dom/client'; import { createRoot } from 'react-dom/client'; -import { useControl } from 'react-map-gl'; +import { useControl, type MapInstance } from 'react-map-gl'; import { useTheme } from '@mui/material'; import type { ControlContainerProps } from './ControlContainer'; import { ControlContainer } from './ControlContainer'; @@ -26,7 +25,7 @@ class DGControl { /** * What Mapbox uses for the map itself - needs to be named this */ - _map: Map | undefined; + _map: MapInstance | undefined; /** * What Mapbox uses for the container for the element we're adding - @@ -56,7 +55,7 @@ class DGControl { * Creates a new div that holds a `ControlContainer` for the contents. Pass * onClick if there are not multiple children. */ - onAdd(map: Map) { + onAdd(map: MapInstance) { this._map = map; this._container?.parentNode?.removeChild(this._container); this._container = document.createElement('div'); diff --git a/packages/maps/package.json b/packages/maps/package.json index 5c0cf5cf..ec474d10 100644 --- a/packages/maps/package.json +++ b/packages/maps/package.json @@ -9,8 +9,8 @@ "dependencies": { "@mui/material": "5.16.7", "api": "workspace:*", - "mapbox-gl": "3.0.1", "lucide-react": "0.427.0", + "mapbox-gl": "3.5.2", "react": "18.3.1", "react-dom": "18.3.1", "react-map-gl": "7.1.7", @@ -18,7 +18,6 @@ "ui": "workspace:*" }, "devDependencies": { - "@types/mapbox-gl": "2.7.19", "@types/node": "22.2.0", "@types/react": "18.3.3", "@types/react-dom": "18.3.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9fceb8ee..f0b125f2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -291,8 +291,8 @@ importers: specifier: 0.427.0 version: 0.427.0(react@18.3.1) mapbox-gl: - specifier: 3.0.1 - version: 3.0.1 + specifier: 3.5.2 + version: 3.5.2 react: specifier: 18.3.1 version: 18.3.1 @@ -301,7 +301,7 @@ importers: version: 18.3.1(react@18.3.1) react-map-gl: specifier: 7.1.7 - version: 7.1.7(mapbox-gl@3.0.1)(react-dom@18.3.1)(react@18.3.1) + version: 7.1.7(mapbox-gl@3.5.2)(react-dom@18.3.1)(react@18.3.1) shared-core: specifier: workspace:* version: link:../shared-core @@ -309,9 +309,6 @@ importers: specifier: workspace:* version: link:../ui devDependencies: - '@types/mapbox-gl': - specifier: 2.7.19 - version: 2.7.19 '@types/node': specifier: 22.2.0 version: 22.2.0 @@ -2592,21 +2589,13 @@ packages: whatwg-fetch: 3.6.20 dev: false - /@mapbox/geojson-rewind@0.5.2: - resolution: {integrity: sha512-tJaT+RbYGJYStt7wI3cq4Nl4SXxG8W7JDG5DMJu97V25RnbNg3QtQtf+KD+VLjNpWKYsRvXDNmNrBgEETr1ifA==} - hasBin: true - dependencies: - get-stream: 6.0.1 - minimist: 1.2.8 - dev: false - /@mapbox/jsonlint-lines-primitives@2.0.2: resolution: {integrity: sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ==} engines: {node: '>= 0.6'} dev: false - /@mapbox/mapbox-gl-supported@2.0.1: - resolution: {integrity: sha512-HP6XvfNIzfoMVfyGjBckjiAOQK9WfX0ywdLubuPMPv+Vqf5fj0uCbgBQYpiqcWZT6cbyyRnTSXDheT1ugvF6UQ==} + /@mapbox/mapbox-gl-supported@3.0.0: + resolution: {integrity: sha512-2XghOwu16ZwPJLOFVuIOaLbN0iKMn867evzXFyf0P22dqugezfJwLmdanAgU25ITvz1TvOfVP4jsDImlDJzcWg==} dev: false /@mapbox/node-pre-gyp@1.0.11: @@ -3359,6 +3348,7 @@ packages: /@types/geojson@7946.0.14: resolution: {integrity: sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==} + dev: false /@types/js-yaml@4.0.9: resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} @@ -3375,6 +3365,19 @@ packages: resolution: {integrity: sha512-pkRdlhQJNbtwcKJSVC4uuOA6M3OlOObIMhNecqHB991oeaDF5XkjSIRaTE0lh5p4KClptSCxW6MBiREVRHrl2A==} dependencies: '@types/geojson': 7946.0.14 + dev: false + + /@types/mapbox__point-geometry@0.1.4: + resolution: {integrity: sha512-mUWlSxAmYLfwnRBmgYV86tgYmMIICX4kza8YnE/eIlywGe2XoOxlpVnXWwir92xRLjwyarqwpu2EJKD2pk0IUA==} + dev: false + + /@types/mapbox__vector-tile@1.3.4: + resolution: {integrity: sha512-bpd8dRn9pr6xKvuEBQup8pwQfD4VUyqO/2deGjfpe6AwC8YRlyEipvefyRJUSiCJTZuCb8Pl1ciVV5ekqJ96Bg==} + dependencies: + '@types/geojson': 7946.0.14 + '@types/mapbox__point-geometry': 0.1.4 + '@types/pbf': 3.0.5 + dev: false /@types/ms@0.7.34: resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} @@ -3396,6 +3399,10 @@ packages: resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} dev: false + /@types/pbf@3.0.5: + resolution: {integrity: sha512-j3pOPiEcWZ34R6a6mN07mUkM4o4Lwf6hPNt8eilOeZhTFbxFXmKhvXl9Y28jotFPaI1bpPDJsbCprUoNke6OrA==} + dev: false + /@types/pg@8.11.6: resolution: {integrity: sha512-/2WmmBXHLsfRqzfHW7BNZ8SbYzE8OSk7i3WjFYvfgRHj7S1xj+16Je5fUKv3lVdVzk/zn9TXOqf+avFCFIE0yQ==} dependencies: @@ -4730,8 +4737,8 @@ packages: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} dev: true - /cheap-ruler@3.0.2: - resolution: {integrity: sha512-02T332h1/HTN6cDSufLP8x4JzDs2+VC+8qZ/N0kWIVPyc2xUkWwWh3B2fJxR7raXkL4Mq7k554mfuM9ofv/vGg==} + /cheap-ruler@4.0.0: + resolution: {integrity: sha512-0BJa8f4t141BYKQyn9NSQt1PguFQXMXwZiA5shfoaBYHAb2fFk2RAX+tiWMoQU+Agtzt3mdt0JtuyshAXqZ+Vw==} dev: false /chokidar@3.3.1: @@ -5434,8 +5441,8 @@ packages: resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} dev: false - /earcut@2.2.4: - resolution: {integrity: sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==} + /earcut@3.0.0: + resolution: {integrity: sha512-41Fs7Q/PLq1SDbqjsgcY7GA42T0jvaCNGXgGtsNdvg+Yv8eIu06bxv4/PoREkZ9nMDNwnUSG9OFB9+yv8eKhDg==} dev: false /eastasianwidth@0.2.0: @@ -6570,6 +6577,10 @@ packages: resolution: {integrity: sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==} dev: false + /fflate@0.8.2: + resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} + dev: false + /figures@2.0.0: resolution: {integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==} engines: {node: '>=4'} @@ -6807,8 +6818,8 @@ packages: engines: {node: '>=6.9.0'} dev: true - /geojson-vt@3.2.1: - resolution: {integrity: sha512-EvGQQi/zPrDA6zr6BnJD/YhwAkBP8nnJ9emh3EnHQKVMfg/MRVtPbMYdgVy/IaEmn4UfagD2a6fafPDL5hbtwg==} + /geojson-vt@4.0.2: + resolution: {integrity: sha512-AV9ROqlNqoZEIJGfm1ncNjEXfkz2hdFlZf0qkVfmkwdKa8vj7H16YUOT81rJw1rdFhyEDlN2Tds91p/glzbl5A==} dev: false /get-caller-file@2.0.5: @@ -6842,6 +6853,7 @@ packages: /get-stream@6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} + dev: true /get-stream@7.0.1: resolution: {integrity: sha512-3M8C1EOFN6r8AMUhwUAACIoXZJEOufDU5+0gFFN5uNs6XYOralD2Pqkl7m046va6x77FwposWXbAhPPIOus7mQ==} @@ -8130,6 +8142,10 @@ packages: resolution: {integrity: sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==} dev: true + /lodash.clonedeep@4.5.0: + resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} + dev: false + /lodash.escaperegexp@4.1.2: resolution: {integrity: sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==} dev: true @@ -8248,31 +8264,37 @@ packages: engines: {node: '>=0.10.0'} dev: true - /mapbox-gl@3.0.1: - resolution: {integrity: sha512-o7C6sAlj6Hkdd4xQVEgQflgJYNYyZOAtYahhIOb9m8chI8umtWcCp8Ie0iGLYJvce1WHRMa3WGzs69ggwuWlDA==} + /mapbox-gl@3.5.2: + resolution: {integrity: sha512-KUrmDmLFKPp3MSsWGNTH5uvtYwJknV+eFJ+vxiN6hqKpzbme37z+JfYs5Mehs3CgFaIV/pUdnEV9UPUZJPuS+Q==} dependencies: - '@mapbox/geojson-rewind': 0.5.2 '@mapbox/jsonlint-lines-primitives': 2.0.2 - '@mapbox/mapbox-gl-supported': 2.0.1 + '@mapbox/mapbox-gl-supported': 3.0.0 '@mapbox/point-geometry': 0.1.0 '@mapbox/tiny-sdf': 2.0.6 '@mapbox/unitbezier': 0.0.1 '@mapbox/vector-tile': 1.3.1 '@mapbox/whoots-js': 3.1.0 - cheap-ruler: 3.0.2 + '@types/geojson': 7946.0.14 + '@types/mapbox__vector-tile': 1.3.4 + cheap-ruler: 4.0.0 csscolorparser: 1.0.3 - earcut: 2.2.4 - geojson-vt: 3.2.1 + earcut: 3.0.0 + fflate: 0.8.2 + geojson-vt: 4.0.2 gl-matrix: 3.4.3 grid-index: 1.1.0 kdbush: 4.0.2 + lodash.clonedeep: 4.5.0 murmurhash-js: 1.0.0 pbf: 3.3.0 potpack: 2.0.0 - quickselect: 2.0.0 + quickselect: 3.0.0 rw: 1.3.3 + serialize-to-js: 3.1.2 supercluster: 8.0.1 - tinyqueue: 2.0.3 + tiny-lru: 11.2.11 + tinyqueue: 3.0.0 + tweakpane: 4.0.4 vt-pbf: 3.1.3 dev: false @@ -9508,8 +9530,8 @@ packages: /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - /quickselect@2.0.0: - resolution: {integrity: sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==} + /quickselect@3.0.0: + resolution: {integrity: sha512-XdjUArbK4Bm5fLLvlm5KpTFOiOThgfWWI4axAZDWg4E/0mKdZyI9tNEfds27qCi1ze/vwTR16kvmmGhRra3c2g==} dev: false /randombytes@2.1.0: @@ -9568,7 +9590,7 @@ packages: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} dev: false - /react-map-gl@7.1.7(mapbox-gl@3.0.1)(react-dom@18.3.1)(react@18.3.1): + /react-map-gl@7.1.7(mapbox-gl@3.5.2)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-mwjc0obkBJOXCcoXQr3VoLqmqwo9vS4bXfbGsdxXzEgVCv/PM0v+1QggL7W0d/ccIy+VCjbXNlGij+PENz6VNg==} peerDependencies: mapbox-gl: '>=1.13.0' @@ -9583,7 +9605,7 @@ packages: dependencies: '@maplibre/maplibre-gl-style-spec': 19.3.3 '@types/mapbox-gl': 2.7.19 - mapbox-gl: 3.0.1 + mapbox-gl: 3.5.2 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: false @@ -10099,6 +10121,11 @@ packages: randombytes: 2.1.0 dev: false + /serialize-to-js@3.1.2: + resolution: {integrity: sha512-owllqNuDDEimQat7EPG0tH7JjO090xKNzUtYz6X+Sk2BXDnOCilDdNLwjWeFywG9xkJul1ULvtUQa9O4pUaY0w==} + engines: {node: '>=4.0.0'} + dev: false + /server-only@0.0.1: resolution: {integrity: sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==} dev: false @@ -10814,8 +10841,13 @@ packages: resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==} dev: false - /tinyqueue@2.0.3: - resolution: {integrity: sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==} + /tiny-lru@11.2.11: + resolution: {integrity: sha512-27BIW0dIWTYYoWNnqSmoNMKe5WIbkXsc0xaCQHd3/3xT2XMuMJrzHdrO9QBFR14emBz1Bu0dOAs2sCBBrvgPQA==} + engines: {node: '>=12'} + dev: false + + /tinyqueue@3.0.0: + resolution: {integrity: sha512-gRa9gwYU3ECmQYv3lslts5hxuIa90veaEcxDYuu3QGOIAEM2mOZkVHp48ANJuu1CURtRdHKUBY5Lm1tHV+sD4g==} dev: false /title-case@3.0.3: @@ -11028,6 +11060,10 @@ packages: turbo-windows-arm64: 2.0.12 dev: true + /tweakpane@4.0.4: + resolution: {integrity: sha512-RkWD54zDlEbnN01wQPk0ANHGbdCvlJx/E8A1QxhTfCbX+ROWos1Ws2MnhOm39aUGMOh+36TjUwpDmLfmwTr1Fg==} + dev: false + /type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'}