react-bkoi-gl 1.0.7 → 2.0.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 (167) hide show
  1. package/README.md +163 -18
  2. package/dist/components/attribution-control.d.ts +4 -6
  3. package/dist/components/attribution-control.js +6 -5
  4. package/dist/components/attribution-control.js.map +1 -1
  5. package/dist/components/fullscreen-control.d.ts +4 -6
  6. package/dist/components/fullscreen-control.js +4 -4
  7. package/dist/components/fullscreen-control.js.map +1 -1
  8. package/dist/components/geolocate-control.d.ts +10 -26
  9. package/dist/components/geolocate-control.js +11 -11
  10. package/dist/components/geolocate-control.js.map +1 -1
  11. package/dist/components/layer.d.ts +7 -6
  12. package/dist/components/layer.js +8 -9
  13. package/dist/components/layer.js.map +1 -1
  14. package/dist/components/logo-control.d.ts +9 -0
  15. package/dist/components/logo-control.js +28 -0
  16. package/dist/components/logo-control.js.map +1 -0
  17. package/dist/components/map.d.ts +20 -16
  18. package/dist/components/map.js +38 -32
  19. package/dist/components/map.js.map +1 -1
  20. package/dist/components/marker.d.ts +10 -33
  21. package/dist/components/marker.js +22 -15
  22. package/dist/components/marker.js.map +1 -1
  23. package/dist/components/navigation-control.d.ts +4 -6
  24. package/dist/components/navigation-control.js +4 -4
  25. package/dist/components/navigation-control.js.map +1 -1
  26. package/dist/components/popup.d.ts +7 -25
  27. package/dist/components/popup.js +17 -28
  28. package/dist/components/popup.js.map +1 -1
  29. package/dist/components/scale-control.d.ts +4 -6
  30. package/dist/components/scale-control.js +4 -4
  31. package/dist/components/scale-control.js.map +1 -1
  32. package/dist/components/source.d.ts +3 -4
  33. package/dist/components/source.js +20 -22
  34. package/dist/components/source.js.map +1 -1
  35. package/dist/components/terrain-control.d.ts +10 -0
  36. package/dist/components/terrain-control.js +19 -0
  37. package/dist/components/terrain-control.js.map +1 -0
  38. package/dist/components/use-control.d.ts +6 -6
  39. package/dist/components/use-control.js +4 -5
  40. package/dist/components/use-control.js.map +1 -1
  41. package/dist/components/use-map.d.ts +8 -9
  42. package/dist/components/use-map.js +5 -5
  43. package/dist/components/use-map.js.map +1 -1
  44. package/dist/exports-maplibre-gl.d.ts +33 -0
  45. package/dist/exports-maplibre-gl.js +21 -0
  46. package/dist/exports-maplibre-gl.js.map +1 -0
  47. package/dist/index.cjs +590 -681
  48. package/dist/index.d.ts +2 -2
  49. package/dist/index.js +2 -2
  50. package/dist/index.js.map +1 -1
  51. package/dist/{mapbox → maplibre}/create-ref.d.ts +6 -6
  52. package/dist/maplibre/create-ref.js +30 -0
  53. package/dist/maplibre/create-ref.js.map +1 -0
  54. package/dist/maplibre/maplibre.d.ts +81 -0
  55. package/dist/maplibre/maplibre.js +387 -0
  56. package/dist/maplibre/maplibre.js.map +1 -0
  57. package/dist/styles/index.d.ts +4 -0
  58. package/dist/styles/react-bkoi-gl.css +1 -1
  59. package/dist/styles.d.js +2 -0
  60. package/dist/styles.d.js.map +1 -0
  61. package/dist/tsconfig.build.tsbuildinfo +1 -0
  62. package/dist/types/common.d.ts +2 -60
  63. package/dist/types/common.js.map +1 -1
  64. package/dist/types/events.d.ts +64 -23
  65. package/dist/types/events.js.map +1 -1
  66. package/dist/types/internal.d.ts +14 -0
  67. package/dist/types/internal.js +2 -0
  68. package/dist/types/internal.js.map +1 -0
  69. package/dist/types/lib.d.ts +16 -200
  70. package/dist/types/lib.js.map +1 -1
  71. package/dist/types/style-spec.d.ts +1 -0
  72. package/dist/types/style-spec.js +2 -0
  73. package/dist/types/style-spec.js.map +1 -0
  74. package/dist/utils/apply-react-style.d.ts +1 -1
  75. package/dist/utils/apply-react-style.js.map +1 -1
  76. package/dist/utils/compare-class-names.d.ts +2 -0
  77. package/dist/utils/compare-class-names.js +23 -0
  78. package/dist/utils/compare-class-names.js.map +1 -0
  79. package/dist/utils/deep-equal.d.ts +1 -1
  80. package/dist/utils/deep-equal.js +1 -1
  81. package/dist/utils/deep-equal.js.map +1 -1
  82. package/dist/utils/set-globals.d.ts +6 -8
  83. package/dist/utils/set-globals.js +22 -10
  84. package/dist/utils/set-globals.js.map +1 -1
  85. package/dist/utils/style-utils.d.ts +3 -2
  86. package/dist/utils/style-utils.js +4 -4
  87. package/dist/utils/style-utils.js.map +1 -1
  88. package/dist/utils/transform.d.ts +11 -19
  89. package/dist/utils/transform.js +13 -36
  90. package/dist/utils/transform.js.map +1 -1
  91. package/dist/utils/use-isomorphic-layout-effect.d.ts +1 -1
  92. package/dist/utils/use-isomorphic-layout-effect.js +2 -2
  93. package/dist/utils/use-isomorphic-layout-effect.js.map +1 -1
  94. package/package.json +42 -26
  95. package/src/components/attribution-control.ts +40 -16
  96. package/src/components/fullscreen-control.ts +40 -0
  97. package/src/components/geolocate-control.ts +45 -39
  98. package/src/components/layer.ts +37 -29
  99. package/src/components/logo-control.ts +44 -0
  100. package/src/components/map.tsx +86 -75
  101. package/src/components/marker.ts +141 -123
  102. package/src/components/navigation-control.ts +11 -12
  103. package/src/components/popup.ts +94 -97
  104. package/src/components/scale-control.ts +12 -14
  105. package/src/components/source.ts +58 -57
  106. package/src/components/terrain-control.ts +29 -0
  107. package/src/components/use-control.ts +21 -17
  108. package/src/components/use-map.tsx +26 -24
  109. package/src/exports-maplibre-gl.ts +37 -0
  110. package/src/index.ts +3 -2
  111. package/src/maplibre/create-ref.ts +70 -0
  112. package/src/maplibre/maplibre.ts +624 -0
  113. package/src/styles.d.ts +4 -0
  114. package/src/types/common.ts +12 -72
  115. package/src/types/events.ts +102 -42
  116. package/src/types/internal.ts +26 -0
  117. package/src/types/lib.ts +65 -260
  118. package/src/types/style-spec.ts +34 -0
  119. package/src/utils/apply-react-style.ts +7 -3
  120. package/src/utils/compare-class-names.ts +29 -0
  121. package/src/utils/deep-equal.ts +2 -2
  122. package/src/utils/set-globals.ts +22 -28
  123. package/src/utils/style-utils.ts +18 -9
  124. package/src/utils/transform.ts +32 -60
  125. package/src/utils/use-isomorphic-layout-effect.ts +3 -2
  126. package/bkoi-gl/package.json +0 -6
  127. package/dist/exports-bkoi-gl.cjs +0 -1512
  128. package/dist/exports-bkoi-gl.d.ts +0 -89
  129. package/dist/exports-bkoi-gl.js +0 -36
  130. package/dist/exports-bkoi-gl.js.map +0 -1
  131. package/dist/exports-mapbox.d.ts +0 -139
  132. package/dist/exports-mapbox.js +0 -36
  133. package/dist/exports-mapbox.js.map +0 -1
  134. package/dist/mapbox/create-ref.js +0 -64
  135. package/dist/mapbox/create-ref.js.map +0 -1
  136. package/dist/mapbox/mapbox.d.ts +0 -81
  137. package/dist/mapbox/mapbox.js +0 -476
  138. package/dist/mapbox/mapbox.js.map +0 -1
  139. package/dist/types/events-bkoi-gl.d.ts +0 -49
  140. package/dist/types/events-bkoi-gl.js +0 -2
  141. package/dist/types/events-bkoi-gl.js.map +0 -1
  142. package/dist/types/events-mapbox.d.ts +0 -49
  143. package/dist/types/events-mapbox.js +0 -2
  144. package/dist/types/events-mapbox.js.map +0 -1
  145. package/dist/types/index.d.ts +0 -70
  146. package/dist/types/index.js +0 -5
  147. package/dist/types/index.js.map +0 -1
  148. package/dist/types/public.d.ts +0 -2
  149. package/dist/types/public.js +0 -2
  150. package/dist/types/public.js.map +0 -1
  151. package/dist/types/style-spec-bkoi-gl.d.ts +0 -9
  152. package/dist/types/style-spec-bkoi-gl.js +0 -2
  153. package/dist/types/style-spec-bkoi-gl.js.map +0 -1
  154. package/dist/types/style-spec-mapbox.d.ts +0 -7
  155. package/dist/types/style-spec-mapbox.js +0 -2
  156. package/dist/types/style-spec-mapbox.js.map +0 -1
  157. package/src/components/fullscreen-control.tsx +0 -37
  158. package/src/exports-bkoi-gl.ts +0 -156
  159. package/src/exports-mapbox.ts +0 -159
  160. package/src/mapbox/create-ref.ts +0 -118
  161. package/src/mapbox/mapbox.ts +0 -742
  162. package/src/types/events-bkoi-gl.ts +0 -78
  163. package/src/types/events-mapbox.ts +0 -76
  164. package/src/types/index.ts +0 -93
  165. package/src/types/public.ts +0 -9
  166. package/src/types/style-spec-bkoi-gl.ts +0 -81
  167. package/src/types/style-spec-mapbox.ts +0 -80
@@ -0,0 +1,37 @@
1
+ import { Map } from "./components/map";
2
+ export { Map };
3
+ export default Map;
4
+
5
+ export { Marker } from "./components/marker";
6
+ export { Popup } from "./components/popup";
7
+ export { AttributionControl } from "./components/attribution-control";
8
+ export { FullscreenControl } from "./components/fullscreen-control";
9
+ export { GeolocateControl } from "./components/geolocate-control";
10
+ export { NavigationControl } from "./components/navigation-control";
11
+ export { ScaleControl } from "./components/scale-control";
12
+ export { TerrainControl } from "./components/terrain-control";
13
+ export { LogoControl } from "./components/logo-control";
14
+ export { Source } from "./components/source";
15
+ export { Layer } from "./components/layer";
16
+ export { useControl } from "./components/use-control";
17
+ export { MapProvider, useMap } from "./components/use-map";
18
+
19
+ export type { MapProps } from "./components/map";
20
+ export type { MapRef } from "./maplibre/create-ref";
21
+ export type { MarkerProps } from "./components/marker";
22
+ export type { PopupProps } from "./components/popup";
23
+ export type { AttributionControlProps } from "./components/attribution-control";
24
+ export type { FullscreenControlProps } from "./components/fullscreen-control";
25
+ export type { GeolocateControlProps } from "./components/geolocate-control";
26
+ export type { NavigationControlProps } from "./components/navigation-control";
27
+ export type { ScaleControlProps } from "./components/scale-control";
28
+ export type { TerrainControlProps } from "./components/terrain-control";
29
+ export type { LogoControlProps } from "./components/logo-control";
30
+ export type { SourceProps } from "./components/source";
31
+ export type { LayerProps } from "./components/layer";
32
+
33
+ // Types
34
+ export * from "./types/common";
35
+ export * from "./types/events";
36
+ export * from "./types/lib";
37
+ export * from "./types/style-spec";
package/src/index.ts CHANGED
@@ -1,2 +1,3 @@
1
- export * from './exports-mapbox';
2
- export {default as default} from './exports-mapbox';
1
+ /* eslint-disable import/no-unresolved */
2
+ export * from "./exports-maplibre-gl.js";
3
+ export { default as default } from "./exports-maplibre-gl.js";
@@ -0,0 +1,70 @@
1
+ import type { Map as MapInstance } from "../types/lib";
2
+ import type Maplibre from "./maplibre";
3
+
4
+ /** These methods may break the react binding if called directly */
5
+ const skipMethods = [
6
+ "setMaxBounds",
7
+ "setMinZoom",
8
+ "setMaxZoom",
9
+ "setMinPitch",
10
+ "setMaxPitch",
11
+ "setRenderWorldCopies",
12
+ "setProjection",
13
+ "setStyle",
14
+ "addSource",
15
+ "removeSource",
16
+ "addLayer",
17
+ "removeLayer",
18
+ "setLayerZoomRange",
19
+ "setFilter",
20
+ "setPaintProperty",
21
+ "setLayoutProperty",
22
+ "setLight",
23
+ "setTerrain",
24
+ "setFog",
25
+ "remove",
26
+ ] as const;
27
+
28
+ export type MapRef = {
29
+ getMap(): MapInstance;
30
+ } & Omit<MapInstance, (typeof skipMethods)[number]>;
31
+
32
+ export default function createRef(mapInstance: Maplibre): MapRef | null {
33
+ if (!mapInstance) {
34
+ return null;
35
+ }
36
+
37
+ const map = mapInstance.map;
38
+ const result: any = {
39
+ getMap: () => map,
40
+ };
41
+
42
+ for (const key of getMethodNames(map)) {
43
+ // @ts-expect-error
44
+ if (!(key in result) && !skipMethods.includes(key)) {
45
+ result[key] = map[key].bind(map);
46
+ }
47
+ }
48
+
49
+ return result;
50
+ }
51
+
52
+ function getMethodNames(obj: Object) {
53
+ const result = new Set<string>();
54
+
55
+ let proto = obj;
56
+ while (proto) {
57
+ for (const key of Object.getOwnPropertyNames(proto)) {
58
+ if (
59
+ key[0] !== "_" &&
60
+ typeof obj[key] === "function" &&
61
+ key !== "fire" &&
62
+ key !== "setEventedParent"
63
+ ) {
64
+ result.add(key);
65
+ }
66
+ }
67
+ proto = Object.getPrototypeOf(proto);
68
+ }
69
+ return Array.from(result);
70
+ }