react-three-map 0.8.2 → 1.0.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +3 -10
  3. package/dist/cjs/main.js +1261 -42
  4. package/dist/es/main10.mjs +71 -10
  5. package/dist/es/main10.mjs.map +1 -1
  6. package/dist/es/main11.mjs +12 -35
  7. package/dist/es/main11.mjs.map +1 -1
  8. package/dist/es/main12.mjs +12 -13
  9. package/dist/es/main12.mjs.map +1 -1
  10. package/dist/es/main13.mjs +42 -24
  11. package/dist/es/main13.mjs.map +1 -1
  12. package/dist/es/main14.mjs +13 -4
  13. package/dist/es/main14.mjs.map +1 -1
  14. package/dist/es/main15.mjs +22 -31
  15. package/dist/es/main15.mjs.map +1 -1
  16. package/dist/es/main16.mjs +87 -22
  17. package/dist/es/main16.mjs.map +1 -1
  18. package/dist/es/main17.mjs +14 -94
  19. package/dist/es/main17.mjs.map +1 -1
  20. package/dist/es/main18.mjs +22 -62
  21. package/dist/es/main18.mjs.map +1 -1
  22. package/dist/es/main19.mjs +27 -20
  23. package/dist/es/main19.mjs.map +1 -1
  24. package/dist/es/main20.mjs +8 -23
  25. package/dist/es/main20.mjs.map +1 -1
  26. package/dist/es/main21.mjs +34 -16
  27. package/dist/es/main21.mjs.map +1 -1
  28. package/dist/es/main22.mjs +12 -80
  29. package/dist/es/main22.mjs.map +1 -1
  30. package/dist/es/main23.mjs +26 -0
  31. package/dist/es/main23.mjs.map +1 -0
  32. package/dist/es/main24.mjs +5 -0
  33. package/dist/es/main24.mjs.map +1 -0
  34. package/dist/es/main25.mjs +33 -0
  35. package/dist/es/main25.mjs.map +1 -0
  36. package/dist/es/main26.mjs +27 -0
  37. package/dist/es/main26.mjs.map +1 -0
  38. package/dist/es/main27.mjs +98 -0
  39. package/dist/es/main27.mjs.map +1 -0
  40. package/dist/es/main28.mjs +66 -0
  41. package/dist/es/main28.mjs.map +1 -0
  42. package/dist/es/main29.mjs +23 -0
  43. package/dist/es/main29.mjs.map +1 -0
  44. package/dist/es/main3.mjs +13 -4
  45. package/dist/es/main3.mjs.map +1 -1
  46. package/dist/es/main30.mjs +27 -0
  47. package/dist/es/main30.mjs.map +1 -0
  48. package/dist/es/main31.mjs +19 -0
  49. package/dist/es/main31.mjs.map +1 -0
  50. package/dist/es/main32.mjs +83 -0
  51. package/dist/es/main32.mjs.map +1 -0
  52. package/dist/es/main33.mjs +501 -0
  53. package/dist/es/main33.mjs.map +1 -0
  54. package/dist/es/main34.mjs +90 -0
  55. package/dist/es/main34.mjs.map +1 -0
  56. package/dist/es/main35.mjs +6 -0
  57. package/dist/es/main35.mjs.map +1 -0
  58. package/dist/es/main36.mjs +26 -0
  59. package/dist/es/main36.mjs.map +1 -0
  60. package/dist/es/main37.mjs +19 -0
  61. package/dist/es/main37.mjs.map +1 -0
  62. package/dist/es/main38.mjs +50 -0
  63. package/dist/es/main38.mjs.map +1 -0
  64. package/dist/es/main39.mjs +31 -0
  65. package/dist/es/main39.mjs.map +1 -0
  66. package/dist/es/main4.mjs +3 -3
  67. package/dist/es/main40.mjs +9 -0
  68. package/dist/es/main40.mjs.map +1 -0
  69. package/dist/es/main41.mjs +62 -0
  70. package/dist/es/main41.mjs.map +1 -0
  71. package/dist/es/main42.mjs +42 -0
  72. package/dist/es/main42.mjs.map +1 -0
  73. package/dist/es/main5.mjs +1 -1
  74. package/dist/es/main6.mjs +1 -1
  75. package/dist/es/main7.mjs +1 -1
  76. package/dist/es/main8.mjs +87 -20
  77. package/dist/es/main8.mjs.map +1 -1
  78. package/dist/es/main9.mjs +80 -24
  79. package/dist/es/main9.mjs.map +1 -1
  80. package/dist/maplibre/cjs/main.js +8 -7
  81. package/dist/maplibre/es/main.mjs.map +1 -1
  82. package/dist/maplibre/es/main16.mjs +2 -1
  83. package/dist/maplibre/es/main16.mjs.map +1 -1
  84. package/dist/maplibre/es/main3.mjs +2 -2
  85. package/dist/maplibre/es/main3.mjs.map +1 -1
  86. package/dist/maplibre/types/core/canvas-in-layer/use-canvas-in-layer.d.ts +5 -1
  87. package/dist/maplibre/types/core/canvas-in-layer/use-render.d.ts +5 -1
  88. package/dist/maplibre/types/core/generic-map.d.ts +2 -2
  89. package/dist/maplibre/types/{mapbox → maplibre}/canvas.d.ts +1 -1
  90. package/dist/maplibre/types/maplibre.index.d.ts +1 -1
  91. package/dist/types/core/canvas-in-layer/use-canvas-in-layer.d.ts +5 -1
  92. package/dist/types/core/canvas-in-layer/use-render.d.ts +5 -1
  93. package/dist/types/core/generic-map.d.ts +2 -2
  94. package/dist/types/mapbox/canvas.d.ts +1 -1
  95. package/package.json +7 -7
  96. package/stories/package.json +3 -3
  97. package/stories/yarn.lock +171 -94
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const fiber = require("@react-three/fiber");
4
4
  const jsxRuntime = require("react/jsx-runtime");
5
- const mapboxGl = require("mapbox-gl");
5
+ const maplibreGl = require("maplibre-gl");
6
6
  const react = require("react");
7
- const reactMapGl = require("react-map-gl");
7
+ const maplibre = require("react-map-gl/maplibre");
8
8
  const THREE = require("three");
9
9
  const reactDom = require("react-dom");
10
10
  function _interopNamespaceDefault(e) {
@@ -237,7 +237,8 @@ function useRender({
237
237
  r3m
238
238
  }) {
239
239
  const render = useFunction((_gl, projViewMx) => {
240
- r3m.viewProjMx.splice(0, 16, ...projViewMx);
240
+ const pVMx = "defaultProjectionData" in projViewMx ? Object.values(projViewMx.defaultProjectionData.mainMatrix) : projViewMx;
241
+ r3m.viewProjMx.splice(0, 16, ...pVMx);
241
242
  const state = useThree.getState();
242
243
  const camera = state.camera;
243
244
  const { gl, advance } = state;
@@ -537,9 +538,9 @@ const InitCanvasFC = react.memo((props) => {
537
538
  });
538
539
  InitCanvasFC.displayName = "InitCanvasFC";
539
540
  fiber.extend(THREE__namespace);
540
- const fromLngLat = mapboxGl.MercatorCoordinate.fromLngLat;
541
+ const fromLngLat = maplibreGl.MercatorCoordinate.fromLngLat;
541
542
  const Canvas = react.memo(({ overlay, ...props }) => {
542
- const map = reactMapGl.useMap().current.getMap();
543
+ const map = maplibre.useMap().current.getMap();
543
544
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
544
545
  overlay && /* @__PURE__ */ jsxRuntime.jsx(CanvasOverlay, { map, ...props }),
545
546
  !overlay && /* @__PURE__ */ jsxRuntime.jsx(CanvasInLayer, { map, ...props })
@@ -548,7 +549,7 @@ const Canvas = react.memo(({ overlay, ...props }) => {
548
549
  Canvas.displayName = "Canvas";
549
550
  const CanvasInLayer = react.memo(({ map, ...props }) => {
550
551
  const layerProps = useCanvasInLayer(props, fromLngLat, map);
551
- return /* @__PURE__ */ jsxRuntime.jsx(reactMapGl.Layer, { ...layerProps });
552
+ return /* @__PURE__ */ jsxRuntime.jsx(maplibre.Layer, { ...layerProps });
552
553
  });
553
554
  CanvasInLayer.displayName = "CanvasInLayer";
554
555
  const CanvasOverlay = react.memo(({ map, id, beforeId, ...props }) => {
@@ -559,7 +560,7 @@ const CanvasOverlay = react.memo(({ map, id, beforeId, ...props }) => {
559
560
  onRender(mx);
560
561
  });
561
562
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
562
- /* @__PURE__ */ jsxRuntime.jsx(reactMapGl.Layer, { id, beforeId, type: "custom", render }),
563
+ /* @__PURE__ */ jsxRuntime.jsx(maplibre.Layer, { id, beforeId, type: "custom", render }),
563
564
  /* @__PURE__ */ jsxRuntime.jsx(
564
565
  InitCanvasFC,
565
566
  {
@@ -1 +1 @@
1
- {"version":3,"file":"main.mjs","sources":["../../../src/maplibre.index.ts"],"sourcesContent":["import type { Map } from 'maplibre-gl';\nimport { useMap as useMapGeneric } from './api/use-map';\n\nexport * from './api';\nexport * from './mapbox/canvas';\n\nexport const useMap = useMapGeneric<Map>;\n"],"names":["useMapGeneric"],"mappings":";;;;;;AAMO,MAAM,SAASA;"}
1
+ {"version":3,"file":"main.mjs","sources":["../../../src/maplibre.index.ts"],"sourcesContent":["import type { Map } from 'maplibre-gl';\nimport { useMap as useMapGeneric } from './api/use-map';\n\nexport * from './api';\nexport * from './maplibre/canvas';\n\nexport const useMap = useMapGeneric<Map>;\n"],"names":["useMapGeneric"],"mappings":";;;;;;AAMO,MAAM,SAASA;"}
@@ -8,7 +8,8 @@ function useRender({
8
8
  r3m
9
9
  }) {
10
10
  const render = useFunction((_gl, projViewMx) => {
11
- r3m.viewProjMx.splice(0, 16, ...projViewMx);
11
+ const pVMx = "defaultProjectionData" in projViewMx ? Object.values(projViewMx.defaultProjectionData.mainMatrix) : projViewMx;
12
+ r3m.viewProjMx.splice(0, 16, ...pVMx);
12
13
  const state = useThree.getState();
13
14
  const camera = state.camera;
14
15
  const { gl, advance } = state;
@@ -1 +1 @@
1
- {"version":3,"file":"main16.mjs","sources":["../../../src/core/canvas-in-layer/use-render.ts"],"sourcesContent":["import { RootState } from \"@react-three/fiber\";\nimport { Matrix4Tuple, PerspectiveCamera } from \"three\";\nimport { UseBoundStore } from \"zustand\";\nimport { MapInstance } from \"../generic-map\";\nimport { syncCamera } from \"../sync-camera\";\nimport { useFunction } from \"../use-function\";\nimport { R3M } from \"../use-r3m\";\n\nexport function useRender({\n map, origin, useThree, frameloop, r3m,\n} :{\n map: MapInstance,\n origin: Matrix4Tuple,\n useThree: UseBoundStore<RootState>,\n frameloop?: 'always' | 'demand',\n r3m: R3M\n}) {\n const render = useFunction((_gl: WebGL2RenderingContext, projViewMx: number[]) => {\n r3m.viewProjMx.splice(0, 16, ...projViewMx)\n const state = useThree.getState();\n const camera = state.camera as PerspectiveCamera;\n const {gl, advance} = state;\n syncCamera(camera as PerspectiveCamera, origin, projViewMx as Matrix4Tuple);\n gl.resetState();\n advance(Date.now() * 0.001, true);\n if (!frameloop || frameloop === 'always') map.triggerRepaint();\n })\n return render;\n}"],"names":[],"mappings":";;AAQO,SAAS,UAAU;AAAA,EACxB;AAAA,EAAK;AAAA,EAAQ;AAAA,EAAU;AAAA,EAAW;AACpC,GAMG;AACD,QAAM,SAAS,YAAY,CAAC,KAA6B,eAAyB;AAChF,QAAI,WAAW,OAAO,GAAG,IAAI,GAAG,UAAU;AACpC,UAAA,QAAQ,SAAS;AACvB,UAAM,SAAS,MAAM;AACf,UAAA,EAAC,IAAI,QAAW,IAAA;AACX,eAAA,QAA6B,QAAQ,UAA0B;AAC1E,OAAG,WAAW;AACd,YAAQ,KAAK,IAAQ,IAAA,MAAO,IAAI;AAC5B,QAAA,CAAC,aAAa,cAAc;AAAU,UAAI,eAAe;AAAA,EAAA,CAC9D;AACM,SAAA;AACT;"}
1
+ {"version":3,"file":"main16.mjs","sources":["../../../src/core/canvas-in-layer/use-render.ts"],"sourcesContent":["import { RootState } from \"@react-three/fiber\";\nimport { Matrix4Tuple, PerspectiveCamera } from \"three\";\nimport { UseBoundStore } from \"zustand\";\nimport { MapInstance } from \"../generic-map\";\nimport { syncCamera } from \"../sync-camera\";\nimport { useFunction } from \"../use-function\";\nimport { R3M } from \"../use-r3m\";\n\nexport function useRender({\n map, origin, useThree, frameloop, r3m,\n} :{\n map: MapInstance,\n origin: Matrix4Tuple,\n useThree: UseBoundStore<RootState>,\n frameloop?: 'always' | 'demand',\n r3m: R3M\n}) {\n const render = useFunction((_gl: WebGL2RenderingContext, projViewMx: number[] | {defaultProjectionData: {mainMatrix: Record<string, number>}}) => {\n const pVMx = 'defaultProjectionData' in projViewMx ? Object.values(projViewMx.defaultProjectionData.mainMatrix) : projViewMx;\n r3m.viewProjMx.splice(0, 16, ...pVMx)\n const state = useThree.getState();\n const camera = state.camera as PerspectiveCamera;\n const {gl, advance} = state;\n syncCamera(camera as PerspectiveCamera, origin, projViewMx as Matrix4Tuple);\n gl.resetState();\n advance(Date.now() * 0.001, true);\n if (!frameloop || frameloop === 'always') map.triggerRepaint();\n })\n return render;\n}"],"names":[],"mappings":";;AAQO,SAAS,UAAU;AAAA,EACxB;AAAA,EAAK;AAAA,EAAQ;AAAA,EAAU;AAAA,EAAW;AACpC,GAMG;AACD,QAAM,SAAS,YAAY,CAAC,KAA6B,eAAyF;AAC1I,UAAA,OAAO,2BAA2B,aAAa,OAAO,OAAO,WAAW,sBAAsB,UAAU,IAAI;AAClH,QAAI,WAAW,OAAO,GAAG,IAAI,GAAG,IAAI;AAC9B,UAAA,QAAQ,SAAS;AACvB,UAAM,SAAS,MAAM;AACf,UAAA,EAAC,IAAI,QAAW,IAAA;AACX,eAAA,QAA6B,QAAQ,UAA0B;AAC1E,OAAG,WAAW;AACd,YAAQ,KAAK,IAAQ,IAAA,MAAO,IAAI;AAC5B,QAAA,CAAC,aAAa,cAAc;AAAU,UAAI,eAAe;AAAA,EAAA,CAC9D;AACM,SAAA;AACT;"}
@@ -1,8 +1,8 @@
1
1
  import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
2
  import { extend } from "@react-three/fiber";
3
- import { MercatorCoordinate } from "mapbox-gl";
3
+ import { MercatorCoordinate } from "maplibre-gl";
4
4
  import { memo, useState } from "react";
5
- import { useMap, Layer } from "react-map-gl";
5
+ import { useMap, Layer } from "react-map-gl/maplibre";
6
6
  import * as THREE from "three";
7
7
  import { useCanvasInLayer } from "./main8.mjs";
8
8
  import { InitCanvasFC } from "./main9.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"main3.mjs","sources":["../../../src/mapbox/canvas.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport { extend } from \"@react-three/fiber\";\nimport { MercatorCoordinate } from \"mapbox-gl\";\nimport { memo, useState } from \"react\";\nimport { Layer, useMap } from \"react-map-gl\";\nimport * as THREE from \"three\";\nimport { Matrix4Tuple } from \"three\";\nimport { CanvasProps } from \"../api/canvas-props\";\nimport { useCanvasInLayer } from \"../core/canvas-in-layer/use-canvas-in-layer\";\nimport { InitCanvasFC } from \"../core/canvas-overlay/init-canvas-fc\";\nimport { Render } from \"../core/canvas-overlay/render\";\nimport { MapInstance } from \"../core/generic-map\";\nimport { useFunction } from \"../core/use-function\";\n\nextend(THREE);\n\nconst fromLngLat = MercatorCoordinate.fromLngLat\n\n/** react`-three-fiber` canvas inside `Mapbox` */\nexport const Canvas = memo<CanvasProps>(({ overlay, ...props }) => {\n\n const map = useMap().current!.getMap(); // eslint-disable-line @typescript-eslint/no-non-null-assertion\n\n return <>\n {overlay && <CanvasOverlay map={map} {...props} />}\n {!overlay && <CanvasInLayer map={map} {...props} />}\n </>\n})\nCanvas.displayName = 'Canvas'\n\ninterface CanvasPropsAndMap extends CanvasProps {\n map: MapInstance;\n}\n\nconst CanvasInLayer = memo<CanvasPropsAndMap>(({ map, ...props }) => {\n const layerProps = useCanvasInLayer(props, fromLngLat, map);\n /* @ts-ignore */ // eslint-disable-line @typescript-eslint/ban-ts-comment\n return <Layer {...layerProps} />\n})\nCanvasInLayer.displayName = 'CanvasInLayer';\n\nconst CanvasOverlay = memo<CanvasPropsAndMap>(({ map, id, beforeId, ...props }) => {\n const [onRender, setOnRender] = useState<(mx: Matrix4Tuple) => void>();\n\n const render = useFunction<Render>((_gl, mx) => {\n if (!onRender) return;\n onRender(mx as Matrix4Tuple);\n })\n\n return <>\n {/* @ts-ignore */}\n <Layer id={id} beforeId={beforeId} type=\"custom\" render={render} />\n <InitCanvasFC {...props}\n setOnRender={setOnRender}\n map={map}\n fromLngLat={fromLngLat}\n />\n </>\n})\nCanvasInLayer.displayName = 'CanvasInLayer';"],"names":[],"mappings":";;;;;;;;;AAcA,OAAO,KAAK;AAEZ,MAAM,aAAa,mBAAmB;AAG/B,MAAM,SAAS,KAAkB,CAAC,EAAE,SAAS,GAAG,YAAY;AAEjE,QAAM,MAAM,OAAA,EAAS,QAAS,OAAO;AAErC,SACG,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAA,WAAY,oBAAA,eAAA,EAAc,KAAW,GAAG,MAAO,CAAA;AAAA,IAC/C,CAAC,WAAW,oBAAC,eAAc,EAAA,KAAW,GAAG,OAAO;AAAA,EACnD,EAAA,CAAA;AACF,CAAC;AACD,OAAO,cAAc;AAMrB,MAAM,gBAAgB,KAAwB,CAAC,EAAE,KAAK,GAAG,YAAY;AACnE,QAAM,aAAa,iBAAiB,OAAO,YAAY,GAAG;AAEnD,SAAA,oBAAC,OAAO,EAAA,GAAG,WAAY,CAAA;AAChC,CAAC;AACD,cAAc,cAAc;AAE5B,MAAM,gBAAgB,KAAwB,CAAC,EAAE,KAAK,IAAI,UAAU,GAAG,YAAY;AACjF,QAAM,CAAC,UAAU,WAAW,IAAI,SAAqC;AAErE,QAAM,SAAS,YAAoB,CAAC,KAAK,OAAO;AAC9C,QAAI,CAAC;AAAU;AACf,aAAS,EAAkB;AAAA,EAAA,CAC5B;AAED,SAEE,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAA,oBAAC,OAAM,EAAA,IAAQ,UAAoB,MAAK,UAAS,QAAgB;AAAA,IACjE;AAAA,MAAC;AAAA,MAAA;AAAA,QAAc,GAAG;AAAA,QAChB;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,IACF;AAAA,EACF,EAAA,CAAA;AACF,CAAC;AACD,cAAc,cAAc;"}
1
+ {"version":3,"file":"main3.mjs","sources":["../../../src/maplibre/canvas.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport { extend } from \"@react-three/fiber\";\nimport { MercatorCoordinate } from \"maplibre-gl\";\nimport { memo, useState } from \"react\";\nimport { Layer, useMap } from \"react-map-gl/maplibre\";\nimport * as THREE from \"three\";\nimport { Matrix4Tuple } from \"three\";\nimport { CanvasProps } from \"../api/canvas-props\";\nimport { useCanvasInLayer } from \"../core/canvas-in-layer/use-canvas-in-layer\";\nimport { InitCanvasFC } from \"../core/canvas-overlay/init-canvas-fc\";\nimport { Render } from \"../core/canvas-overlay/render\";\nimport { MapInstance } from \"../core/generic-map\";\nimport { useFunction } from \"../core/use-function\";\n\nextend(THREE);\n\nconst fromLngLat = MercatorCoordinate.fromLngLat\n\n/** `react-three-fiber` canvas inside `MapLibre` */\nexport const Canvas = memo<CanvasProps>(({ overlay, ...props }) => {\n\n const map = useMap().current!.getMap(); // eslint-disable-line @typescript-eslint/no-non-null-assertion\n\n return <>\n {overlay && <CanvasOverlay map={map} {...props} />}\n {!overlay && <CanvasInLayer map={map} {...props} />}\n </>\n})\nCanvas.displayName = 'Canvas'\n\ninterface CanvasPropsAndMap extends CanvasProps {\n map: MapInstance;\n}\n\nconst CanvasInLayer = memo<CanvasPropsAndMap>(({ map, ...props }) => {\n const layerProps = useCanvasInLayer(props, fromLngLat, map);\n /* @ts-ignore */ // eslint-disable-line @typescript-eslint/ban-ts-comment\n return <Layer {...layerProps} />\n})\nCanvasInLayer.displayName = 'CanvasInLayer';\n\nconst CanvasOverlay = memo<CanvasPropsAndMap>(({ map, id, beforeId, ...props }) => {\n const [onRender, setOnRender] = useState<(mx: Matrix4Tuple) => void>();\n\n const render = useFunction<Render>((_gl, mx) => {\n if (!onRender) return;\n onRender(mx as Matrix4Tuple);\n })\n\n return <>\n {/* @ts-ignore */}\n <Layer id={id} beforeId={beforeId} type=\"custom\" render={render} />\n <InitCanvasFC {...props}\n setOnRender={setOnRender}\n map={map}\n fromLngLat={fromLngLat}\n />\n </>\n})\nCanvasInLayer.displayName = 'CanvasInLayer';"],"names":[],"mappings":";;;;;;;;;AAcA,OAAO,KAAK;AAEZ,MAAM,aAAa,mBAAmB;AAG/B,MAAM,SAAS,KAAkB,CAAC,EAAE,SAAS,GAAG,YAAY;AAEjE,QAAM,MAAM,OAAA,EAAS,QAAS,OAAO;AAErC,SACG,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAA,WAAY,oBAAA,eAAA,EAAc,KAAW,GAAG,MAAO,CAAA;AAAA,IAC/C,CAAC,WAAW,oBAAC,eAAc,EAAA,KAAW,GAAG,OAAO;AAAA,EACnD,EAAA,CAAA;AACF,CAAC;AACD,OAAO,cAAc;AAMrB,MAAM,gBAAgB,KAAwB,CAAC,EAAE,KAAK,GAAG,YAAY;AACnE,QAAM,aAAa,iBAAiB,OAAO,YAAY,GAAG;AAEnD,SAAA,oBAAC,OAAO,EAAA,GAAG,WAAY,CAAA;AAChC,CAAC;AACD,cAAc,cAAc;AAE5B,MAAM,gBAAgB,KAAwB,CAAC,EAAE,KAAK,IAAI,UAAU,GAAG,YAAY;AACjF,QAAM,CAAC,UAAU,WAAW,IAAI,SAAqC;AAErE,QAAM,SAAS,YAAoB,CAAC,KAAK,OAAO;AAC9C,QAAI,CAAC;AAAU;AACf,aAAS,EAAkB;AAAA,EAAA,CAC5B;AAED,SAEE,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAA,oBAAC,OAAM,EAAA,IAAQ,UAAoB,MAAK,UAAS,QAAgB;AAAA,IACjE;AAAA,MAAC;AAAA,MAAA;AAAA,QAAc,GAAG;AAAA,QAChB;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,IACF;AAAA,EACF,EAAA,CAAA;AACF,CAAC;AACD,cAAc,cAAc;"}
@@ -5,7 +5,11 @@ export declare function useCanvasInLayer(props: CanvasProps, fromLngLat: FromLng
5
5
  readonly id: string | undefined;
6
6
  readonly beforeId: string | undefined;
7
7
  readonly onRemove: () => void;
8
- readonly render: (_gl: WebGL2RenderingContext, projViewMx: number[]) => void;
8
+ readonly render: (_gl: WebGL2RenderingContext, projViewMx: number[] | {
9
+ defaultProjectionData: {
10
+ mainMatrix: Record<string, number>;
11
+ };
12
+ }) => void;
9
13
  readonly type: "custom";
10
14
  readonly renderingMode: "3d";
11
15
  };
@@ -9,4 +9,8 @@ export declare function useRender({ map, origin, useThree, frameloop, r3m, }: {
9
9
  useThree: UseBoundStore<RootState>;
10
10
  frameloop?: 'always' | 'demand';
11
11
  r3m: R3M;
12
- }): (_gl: WebGL2RenderingContext, projViewMx: number[]) => void;
12
+ }): (_gl: WebGL2RenderingContext, projViewMx: number[] | {
13
+ defaultProjectionData: {
14
+ mainMatrix: Record<string, number>;
15
+ };
16
+ }) => void;
@@ -34,8 +34,8 @@ export interface MapInstance {
34
34
  /** MapLibre only */
35
35
  getPixelRatio?: () => number;
36
36
  triggerRepaint(): void;
37
- on<T extends keyof MapEventType>(type: T, listener: (ev: MapEventType[T] & Object) => void): this;
38
- off<T extends keyof MapEventType>(type: T, listener: (ev: MapEventType[T] & Object) => void): this;
37
+ on<T extends keyof MapEventType>(type: T, listener: (ev: MapEventType[T] & Object) => void): void;
38
+ off<T extends keyof MapEventType>(type: T, listener: (ev: MapEventType[T] & Object) => void): void;
39
39
  }
40
40
  /** Generic interface of Mapbox/Maplibre `MapEventType` */
41
41
  export type MapEventType = {
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import { CanvasProps } from "../api/canvas-props";
3
- /** react`-three-fiber` canvas inside `Mapbox` */
3
+ /** `react-three-fiber` canvas inside `MapLibre` */
4
4
  export declare const Canvas: import("react").NamedExoticComponent<CanvasProps>;
@@ -1,4 +1,4 @@
1
1
  import type { Map } from 'maplibre-gl';
2
2
  export * from './api';
3
- export * from './mapbox/canvas';
3
+ export * from './maplibre/canvas';
4
4
  export declare const useMap: () => Map;
@@ -5,7 +5,11 @@ export declare function useCanvasInLayer(props: CanvasProps, fromLngLat: FromLng
5
5
  readonly id: string | undefined;
6
6
  readonly beforeId: string | undefined;
7
7
  readonly onRemove: () => void;
8
- readonly render: (_gl: WebGL2RenderingContext, projViewMx: number[]) => void;
8
+ readonly render: (_gl: WebGL2RenderingContext, projViewMx: number[] | {
9
+ defaultProjectionData: {
10
+ mainMatrix: Record<string, number>;
11
+ };
12
+ }) => void;
9
13
  readonly type: "custom";
10
14
  readonly renderingMode: "3d";
11
15
  };
@@ -9,4 +9,8 @@ export declare function useRender({ map, origin, useThree, frameloop, r3m, }: {
9
9
  useThree: UseBoundStore<RootState>;
10
10
  frameloop?: 'always' | 'demand';
11
11
  r3m: R3M;
12
- }): (_gl: WebGL2RenderingContext, projViewMx: number[]) => void;
12
+ }): (_gl: WebGL2RenderingContext, projViewMx: number[] | {
13
+ defaultProjectionData: {
14
+ mainMatrix: Record<string, number>;
15
+ };
16
+ }) => void;
@@ -34,8 +34,8 @@ export interface MapInstance {
34
34
  /** MapLibre only */
35
35
  getPixelRatio?: () => number;
36
36
  triggerRepaint(): void;
37
- on<T extends keyof MapEventType>(type: T, listener: (ev: MapEventType[T] & Object) => void): this;
38
- off<T extends keyof MapEventType>(type: T, listener: (ev: MapEventType[T] & Object) => void): this;
37
+ on<T extends keyof MapEventType>(type: T, listener: (ev: MapEventType[T] & Object) => void): void;
38
+ off<T extends keyof MapEventType>(type: T, listener: (ev: MapEventType[T] & Object) => void): void;
39
39
  }
40
40
  /** Generic interface of Mapbox/Maplibre `MapEventType` */
41
41
  export type MapEventType = {
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import { CanvasProps } from "../api/canvas-props";
3
- /** react`-three-fiber` canvas inside `Mapbox` */
3
+ /** `react-three-fiber` canvas inside `Mapbox` */
4
4
  export declare const Canvas: import("react").NamedExoticComponent<CanvasProps>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-three-map",
3
- "version": "0.8.2",
3
+ "version": "1.0.0-next.0",
4
4
  "description": "Use react-three-fiber inside MapLibre and Mapbox",
5
5
  "main": "dist/cjs/main.js",
6
6
  "module": "dist/es/main.mjs",
@@ -53,11 +53,11 @@
53
53
  "happy-dom": "^10.5.2",
54
54
  "leva": "^0.9.35",
55
55
  "luxon": "^3.3.0",
56
- "mapbox-gl": "^3.1.2",
57
- "maplibre-gl": "^3.2.0",
56
+ "mapbox-gl": "^3.9.4",
57
+ "maplibre-gl": "4.7.1",
58
58
  "react": "^18.2.0",
59
59
  "react-dom": "^18.2.0",
60
- "react-map-gl": "^7.1.7",
60
+ "react-map-gl": "^8.0.1",
61
61
  "suncalc": "^1.9.0",
62
62
  "suspend-react": "^0.1.3",
63
63
  "three": "^0.159.0",
@@ -70,10 +70,10 @@
70
70
  },
71
71
  "peerDependencies": {
72
72
  "@react-three/fiber": ">=8.13",
73
- "mapbox-gl": ">=2.15",
74
- "maplibre-gl": ">=3.2",
73
+ "mapbox-gl": ">=3.5.0",
74
+ "maplibre-gl": ">=4.0.0",
75
75
  "react": ">=18.0",
76
- "react-map-gl": ">=7.1",
76
+ "react-map-gl": ">=8.0.0",
77
77
  "three": ">=0.133"
78
78
  },
79
79
  "peerDependenciesMeta": {
@@ -15,11 +15,11 @@
15
15
  "@types/tz-lookup": "^6.1.2",
16
16
  "leva": "^0.9.35",
17
17
  "luxon": "^3.4.4",
18
- "mapbox-gl": "^3.1.2",
19
- "maplibre-gl": "^3.2.0",
18
+ "mapbox-gl": "^3.9.4",
19
+ "maplibre-gl": "^5.1.0",
20
20
  "react": "^18.2.0",
21
21
  "react-dom": "^18.2.0",
22
- "react-map-gl": "^7.1.7",
22
+ "react-map-gl": "^8.0.1",
23
23
  "react-three-map": "^0.8.1",
24
24
  "suncalc": "^1.9.0",
25
25
  "three": "^0.159.0",