react-three-map 0.3.5 → 0.4.1

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 (85) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +25 -0
  3. package/dist/cjs/main.js +337 -1
  4. package/dist/es/main.mjs +4 -2
  5. package/dist/es/main.mjs.map +1 -1
  6. package/dist/es/main10.mjs +18 -0
  7. package/dist/es/main10.mjs.map +1 -0
  8. package/dist/es/main11.mjs +66 -0
  9. package/dist/es/main11.mjs.map +1 -0
  10. package/dist/es/main12.mjs +12 -0
  11. package/dist/es/main12.mjs.map +1 -0
  12. package/dist/es/main13.mjs +83 -0
  13. package/dist/es/main13.mjs.map +1 -0
  14. package/dist/es/main2.mjs +18 -29
  15. package/dist/es/main2.mjs.map +1 -1
  16. package/dist/es/main3.mjs +52 -6
  17. package/dist/es/main3.mjs.map +1 -1
  18. package/dist/es/main4.mjs +22 -16
  19. package/dist/es/main4.mjs.map +1 -1
  20. package/dist/es/main5.mjs +3 -60
  21. package/dist/es/main5.mjs.map +1 -1
  22. package/dist/es/main6.mjs +33 -12
  23. package/dist/es/main6.mjs.map +1 -1
  24. package/dist/es/main7.mjs +11 -52
  25. package/dist/es/main7.mjs.map +1 -1
  26. package/dist/es/main8.mjs +20 -5
  27. package/dist/es/main8.mjs.map +1 -1
  28. package/dist/es/main9.mjs +23 -0
  29. package/dist/es/main9.mjs.map +1 -0
  30. package/dist/maplibre/cjs/main.js +337 -1
  31. package/dist/maplibre/es/main.mjs +4 -2
  32. package/dist/maplibre/es/main.mjs.map +1 -1
  33. package/dist/maplibre/es/main10.mjs +18 -0
  34. package/dist/maplibre/es/main10.mjs.map +1 -0
  35. package/dist/maplibre/es/main11.mjs +66 -0
  36. package/dist/maplibre/es/main11.mjs.map +1 -0
  37. package/dist/maplibre/es/main12.mjs +12 -0
  38. package/dist/maplibre/es/main12.mjs.map +1 -0
  39. package/dist/maplibre/es/main13.mjs +83 -0
  40. package/dist/maplibre/es/main13.mjs.map +1 -0
  41. package/dist/maplibre/es/main2.mjs +18 -29
  42. package/dist/maplibre/es/main2.mjs.map +1 -1
  43. package/dist/maplibre/es/main3.mjs +52 -6
  44. package/dist/maplibre/es/main3.mjs.map +1 -1
  45. package/dist/maplibre/es/main4.mjs +22 -16
  46. package/dist/maplibre/es/main4.mjs.map +1 -1
  47. package/dist/maplibre/es/main5.mjs +3 -60
  48. package/dist/maplibre/es/main5.mjs.map +1 -1
  49. package/dist/maplibre/es/main6.mjs +33 -12
  50. package/dist/maplibre/es/main6.mjs.map +1 -1
  51. package/dist/maplibre/es/main7.mjs +11 -52
  52. package/dist/maplibre/es/main7.mjs.map +1 -1
  53. package/dist/maplibre/es/main8.mjs +20 -5
  54. package/dist/maplibre/es/main8.mjs.map +1 -1
  55. package/dist/maplibre/es/main9.mjs +23 -0
  56. package/dist/maplibre/es/main9.mjs.map +1 -0
  57. package/dist/maplibre/types/api/canvas-props.d.ts +8 -0
  58. package/dist/maplibre/types/api/coordinates.d.ts +7 -0
  59. package/dist/maplibre/types/core/store.d.ts +12 -0
  60. package/dist/maplibre/types/core/sync-camera.d.ts +2 -0
  61. package/dist/maplibre/types/core/use-canvas.d.ts +7 -9
  62. package/dist/maplibre/types/core/use-coords.d.ts +5 -0
  63. package/dist/maplibre/types/core/use-create-root.d.ts +13 -0
  64. package/dist/maplibre/types/core/use-on-add.d.ts +6 -4
  65. package/dist/maplibre/types/core/use-render.d.ts +3 -2
  66. package/dist/maplibre/types/maplibre/canvas.d.ts +2 -8
  67. package/dist/maplibre/types/maplibre.index.d.ts +2 -0
  68. package/dist/types/api/canvas-props.d.ts +8 -0
  69. package/dist/types/api/coordinates.d.ts +7 -0
  70. package/dist/types/core/store.d.ts +12 -0
  71. package/dist/types/core/sync-camera.d.ts +2 -0
  72. package/dist/types/core/use-canvas.d.ts +7 -9
  73. package/dist/types/core/use-coords.d.ts +5 -0
  74. package/dist/types/core/use-create-root.d.ts +13 -0
  75. package/dist/types/core/use-on-add.d.ts +6 -4
  76. package/dist/types/core/use-render.d.ts +3 -2
  77. package/dist/types/mapbox/canvas.d.ts +3 -9
  78. package/dist/types/mapbox.index.d.ts +2 -0
  79. package/package.json +5 -5
  80. package/stories/README.md +1 -0
  81. package/stories/package.json +31 -0
  82. package/stories/sandbox.config.json +3 -0
  83. package/stories/yarn.lock +4295 -0
  84. package/dist/maplibre/types/core/state-ref.d.ts +0 -8
  85. package/dist/types/core/state-ref.d.ts +0 -8
@@ -1,13 +1,11 @@
1
- import { RenderProps } from "@react-three/fiber";
2
- import { PropsWithChildren } from "react";
3
- import { Matrix4Tuple } from "three";
4
- export interface useCanvasProps extends Omit<RenderProps<HTMLCanvasElement>, 'frameloop'>, PropsWithChildren {
5
- frameloop: 'always' | 'demand';
6
- m4: Matrix4Tuple;
1
+ import { CanvasProps } from "../api/canvas-props";
2
+ import { FromLngLat } from "./generic-map";
3
+ export interface useCanvasProps extends CanvasProps {
4
+ fromLngLat: FromLngLat;
7
5
  }
8
- export declare const useCanvas: ({ m4, children, frameloop, ...renderProps }: useCanvasProps) => {
6
+ export declare function useCanvas({ longitude, latitude, altitude, frameloop, fromLngLat, ...renderProps }: useCanvasProps): {
9
7
  id: string;
10
8
  onAdd: (map: import("./generic-map").MapInstance, gl: WebGLRenderingContext) => void;
11
- onRemove: (map: import("./generic-map").MapInstance) => void;
12
- render: (_gl: WebGL2RenderingContext, matrix: number[]) => void;
9
+ onRemove: () => void;
10
+ render: (_gl: WebGL2RenderingContext, mapCamMx: number[]) => void;
13
11
  };
@@ -0,0 +1,5 @@
1
+ import { coordsToMatrix } from "./coords-to-matrix";
2
+ type Props = Parameters<typeof coordsToMatrix>[0];
3
+ /** calculate matrix from coordinates */
4
+ export declare function useCoords({ latitude, longitude, altitude, fromLngLat }: Props): import("three").Matrix4Tuple;
5
+ export {};
@@ -0,0 +1,13 @@
1
+ import { RenderProps } from "@react-three/fiber";
2
+ import { PropsWithChildren } from "react";
3
+ import { FromLngLat } from "./generic-map";
4
+ export interface useCanvasProps extends Omit<RenderProps<HTMLCanvasElement>, 'frameloop'>, PropsWithChildren {
5
+ frameloop: 'always' | 'demand';
6
+ fromLngLat: FromLngLat;
7
+ }
8
+ export declare const useCreateRoot: ({ children, frameloop, fromLngLat, ...renderProps }: useCanvasProps) => {
9
+ id: string;
10
+ onAdd: (map: import("./generic-map").MapInstance, gl: WebGLRenderingContext) => void;
11
+ onRemove: () => void;
12
+ r3mRef: import("react").MutableRefObject<import("./store").R3mStore>;
13
+ };
@@ -1,8 +1,10 @@
1
+ /// <reference types="react" />
1
2
  import { RenderProps } from "@react-three/fiber";
2
- import { MapInstance } from "./generic-map";
3
- import { StateRef } from "./state-ref";
4
- export declare function useOnAdd(ref: StateRef, { frameloop, ...renderProps }: RenderProps<HTMLCanvasElement>): {
3
+ import { FromLngLat, MapInstance } from "./generic-map";
4
+ import { R3mStore } from "./store";
5
+ export declare function useOnAdd(fromLngLat: FromLngLat, { frameloop, ...renderProps }: RenderProps<HTMLCanvasElement>): {
5
6
  onAdd: (map: MapInstance, gl: WebGLRenderingContext) => void;
6
- onRemove: (map: MapInstance) => void;
7
+ onRemove: () => void;
7
8
  mounted: boolean;
9
+ r3mRef: import("react").MutableRefObject<R3mStore>;
8
10
  };
@@ -1,3 +1,4 @@
1
+ import { MutableRefObject } from "react";
1
2
  import { Matrix4Tuple } from "three";
2
- import { StateRef } from "./state-ref";
3
- export declare function useRender(m4: Matrix4Tuple, stateRef: StateRef, frameloop: 'always' | 'demand'): (_gl: WebGL2RenderingContext, matrix: number[]) => void;
3
+ import { R3mStore } from "./store";
4
+ export declare function useRender(origin: Matrix4Tuple, r3mRef: MutableRefObject<R3mStore>, frameloop: 'always' | 'demand'): (_gl: WebGL2RenderingContext, mapCamMx: number[]) => void;
@@ -1,10 +1,4 @@
1
- import { RenderProps } from "@react-three/fiber";
2
- import { PropsWithChildren } from "react";
3
- export interface CanvasProps extends Omit<RenderProps<HTMLCanvasElement>, 'frameloop'>, PropsWithChildren {
4
- longitude: number;
5
- latitude: number;
6
- altitude?: number;
7
- frameloop?: 'always' | 'demand';
8
- }
9
- /** react`-three-fiber` canvas inside `MapLibre` */
1
+ /// <reference types="react" />
2
+ import { CanvasProps } from "../api/canvas-props";
3
+ /** react`-three-fiber` canvas inside `Mapbox` */
10
4
  export declare const Canvas: import("react").NamedExoticComponent<CanvasProps>;
@@ -1 +1,3 @@
1
1
  export * from './mapbox/canvas';
2
+ export * from './api/canvas-props';
3
+ export * from './api/coordinates';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-three-map",
3
- "version": "0.3.5",
3
+ "version": "0.4.1",
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",
@@ -21,11 +21,11 @@
21
21
  "build:mapbox": "cross-env LIB_MODE=1 MAP_MODE=1 vite build",
22
22
  "postbuild:mapbox": "cross-env LIB_MODE=2 MAP_MODE=1 vite build",
23
23
  "release": "yarn build && yarn changeset publish",
24
- "lint": "eslint src example-maplibre/src example-mapbox/src --ext ts,tsx --fix",
24
+ "lint": "eslint src example-maplibre/src example-mapbox/src stories --ext ts,tsx --fix",
25
25
  "preview": "vite preview",
26
26
  "ts": "tsc -w",
27
27
  "ts:check": "tsc",
28
- "stories": "yarn ladle serve",
28
+ "dev": "yarn ladle serve",
29
29
  "build:stories": "yarn ladle build"
30
30
  },
31
31
  "dependencies": {},
@@ -37,7 +37,7 @@
37
37
  "@types/node": "^20.3.1",
38
38
  "@types/react": "^18.0.37",
39
39
  "@types/react-dom": "^18.0.11",
40
- "@types/three": "^0.152.1",
40
+ "@types/three": "^0.154.0",
41
41
  "@typescript-eslint/eslint-plugin": "^5.59.11",
42
42
  "@typescript-eslint/parser": "^5.59.11",
43
43
  "@vitejs/plugin-react": "^4.0.0",
@@ -55,7 +55,7 @@
55
55
  "three": "^0.153.0",
56
56
  "three-stdlib": "^2.23.8",
57
57
  "typescript": "~5.0.2",
58
- "vite": "^4.3.9",
58
+ "vite": "^4.4.4",
59
59
  "web-ifc-three": "^0.0.125"
60
60
  },
61
61
  "peerDependencies": {
@@ -0,0 +1 @@
1
+ This folder is being used as both a CodeSandbox CI and also as the main main stories from the root folder.
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "stories",
3
+ "version": "0.0.0",
4
+ "license": "MIT",
5
+ "scripts": {
6
+ "dev": "yarn ladle serve"
7
+ },
8
+ "dependencies": {
9
+ "@ladle/react": "^2.16.0",
10
+ "@react-three/drei": "^9.78.2",
11
+ "@react-three/fiber": "^8.13.5",
12
+ "leva": "^0.9.35",
13
+ "mapbox-gl": "^2.15.0",
14
+ "maplibre-gl": "^3.2.0",
15
+ "react": "^18.2.0",
16
+ "react-dom": "^18.2.0",
17
+ "react-map-gl": "^7.1.2",
18
+ "react-three-map": "^0.3.5",
19
+ "three": "^0.154.0",
20
+ "three-stdlib": "^2.23.13",
21
+ "web-ifc-three": "^0.0.125"
22
+ },
23
+ "devDependencies": {
24
+ "@types/react": "^18.2.15",
25
+ "@types/react-dom": "^18.2.7",
26
+ "@types/three": "^0.154.0",
27
+ "@vitejs/plugin-react": "^4.0.3",
28
+ "typescript": "^5.1.6",
29
+ "vite": "^4.4.4"
30
+ }
31
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "port": 61000
3
+ }