react-native-maplibre-gl-js 1.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 (137) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +146 -0
  3. package/lib/module/communication/messages.types.js +4 -0
  4. package/lib/module/communication/messages.types.js.map +1 -0
  5. package/lib/module/communication/messages.utils.js +27 -0
  6. package/lib/module/communication/messages.utils.js.map +1 -0
  7. package/lib/module/index.js +14 -0
  8. package/lib/module/index.js.map +1 -0
  9. package/lib/module/package.json +1 -0
  10. package/lib/module/react-native/components/Map/Map.js +11 -0
  11. package/lib/module/react-native/components/Map/Map.js.map +1 -0
  12. package/lib/module/react-native/components/Map/Map.types.js +4 -0
  13. package/lib/module/react-native/components/Map/Map.types.js.map +1 -0
  14. package/lib/module/react-native/components/MapProvider/MapProvider.hooks.js +18 -0
  15. package/lib/module/react-native/components/MapProvider/MapProvider.hooks.js.map +1 -0
  16. package/lib/module/react-native/components/MapProvider/MapProvider.js +118 -0
  17. package/lib/module/react-native/components/MapProvider/MapProvider.js.map +1 -0
  18. package/lib/module/react-native/components/MapProvider/MapProvider.types.js +4 -0
  19. package/lib/module/react-native/components/MapProvider/MapProvider.types.js.map +1 -0
  20. package/lib/module/react-native/components/Marker/Marker.js +11 -0
  21. package/lib/module/react-native/components/Marker/Marker.js.map +1 -0
  22. package/lib/module/react-native/components/Marker/Marker.types.js +4 -0
  23. package/lib/module/react-native/components/Marker/Marker.types.js.map +1 -0
  24. package/lib/module/react-native/components/Popup/Popup.js +12 -0
  25. package/lib/module/react-native/components/Popup/Popup.js.map +1 -0
  26. package/lib/module/react-native/components/Popup/Popup.types.js +4 -0
  27. package/lib/module/react-native/components/Popup/Popup.types.js.map +1 -0
  28. package/lib/module/react-native/components-factory/createWebObjectAsComponent.js +23 -0
  29. package/lib/module/react-native/components-factory/createWebObjectAsComponent.js.map +1 -0
  30. package/lib/module/react-native/components-factory/createWebObjectAsComponent.types.js +4 -0
  31. package/lib/module/react-native/components-factory/createWebObjectAsComponent.types.js.map +1 -0
  32. package/lib/module/react-native/components-factory/hooks/useWebObjectMethodsProxy.js +54 -0
  33. package/lib/module/react-native/components-factory/hooks/useWebObjectMethodsProxy.js.map +1 -0
  34. package/lib/module/react-native/components-factory/hooks/useWebObjectMountOnLaunch.js +68 -0
  35. package/lib/module/react-native/components-factory/hooks/useWebObjectMountOnLaunch.js.map +1 -0
  36. package/lib/module/react-native/components-factory/hooks/useWebObjectOptionsUpdater.js +20 -0
  37. package/lib/module/react-native/components-factory/hooks/useWebObjectOptionsUpdater.js.map +1 -0
  38. package/lib/module/react-native/hooks/atoms/useMapAtoms.js +198 -0
  39. package/lib/module/react-native/hooks/atoms/useMapAtoms.js.map +1 -0
  40. package/lib/module/react-native/hooks/atoms/useMapAtoms.utils.js +18 -0
  41. package/lib/module/react-native/hooks/atoms/useMapAtoms.utils.js.map +1 -0
  42. package/lib/module/react-native/logger/rn-logger.js +42 -0
  43. package/lib/module/react-native/logger/rn-logger.js.map +1 -0
  44. package/lib/module/typedoc.js +4 -0
  45. package/lib/module/typedoc.js.map +1 -0
  46. package/lib/module/web/bridge/ReactNativeBridge.js +38 -0
  47. package/lib/module/web/bridge/ReactNativeBridge.js.map +1 -0
  48. package/lib/module/web/generated/index.html +18 -0
  49. package/lib/module/web/generated/index.js +21 -0
  50. package/lib/module/web/generated/index.js.map +1 -0
  51. package/lib/module/web/generated/webview_static_html.js +23529 -0
  52. package/lib/module/web/generated/webview_static_html.js.map +1 -0
  53. package/lib/module/web/logger/web-logger.js +35 -0
  54. package/lib/module/web/logger/web-logger.js.map +1 -0
  55. package/lib/module/web/maplibre-gl-js/MapController.js +264 -0
  56. package/lib/module/web/maplibre-gl-js/MapController.js.map +1 -0
  57. package/lib/typescript/package.json +1 -0
  58. package/lib/typescript/src/communication/messages.types.d.ts +105 -0
  59. package/lib/typescript/src/communication/messages.types.d.ts.map +1 -0
  60. package/lib/typescript/src/communication/messages.utils.d.ts +6 -0
  61. package/lib/typescript/src/communication/messages.utils.d.ts.map +1 -0
  62. package/lib/typescript/src/index.d.ts +19 -0
  63. package/lib/typescript/src/index.d.ts.map +1 -0
  64. package/lib/typescript/src/react-native/components/Map/Map.d.ts +9 -0
  65. package/lib/typescript/src/react-native/components/Map/Map.d.ts.map +1 -0
  66. package/lib/typescript/src/react-native/components/Map/Map.types.d.ts +70 -0
  67. package/lib/typescript/src/react-native/components/Map/Map.types.d.ts.map +1 -0
  68. package/lib/typescript/src/react-native/components/MapProvider/MapProvider.d.ts +9 -0
  69. package/lib/typescript/src/react-native/components/MapProvider/MapProvider.d.ts.map +1 -0
  70. package/lib/typescript/src/react-native/components/MapProvider/MapProvider.hooks.d.ts +12 -0
  71. package/lib/typescript/src/react-native/components/MapProvider/MapProvider.hooks.d.ts.map +1 -0
  72. package/lib/typescript/src/react-native/components/MapProvider/MapProvider.types.d.ts +12 -0
  73. package/lib/typescript/src/react-native/components/MapProvider/MapProvider.types.d.ts.map +1 -0
  74. package/lib/typescript/src/react-native/components/Marker/Marker.d.ts +9 -0
  75. package/lib/typescript/src/react-native/components/Marker/Marker.d.ts.map +1 -0
  76. package/lib/typescript/src/react-native/components/Marker/Marker.types.d.ts +31 -0
  77. package/lib/typescript/src/react-native/components/Marker/Marker.types.d.ts.map +1 -0
  78. package/lib/typescript/src/react-native/components/Popup/Popup.d.ts +9 -0
  79. package/lib/typescript/src/react-native/components/Popup/Popup.d.ts.map +1 -0
  80. package/lib/typescript/src/react-native/components/Popup/Popup.types.d.ts +25 -0
  81. package/lib/typescript/src/react-native/components/Popup/Popup.types.d.ts.map +1 -0
  82. package/lib/typescript/src/react-native/components-factory/createWebObjectAsComponent.d.ts +5 -0
  83. package/lib/typescript/src/react-native/components-factory/createWebObjectAsComponent.d.ts.map +1 -0
  84. package/lib/typescript/src/react-native/components-factory/createWebObjectAsComponent.types.d.ts +129 -0
  85. package/lib/typescript/src/react-native/components-factory/createWebObjectAsComponent.types.d.ts.map +1 -0
  86. package/lib/typescript/src/react-native/components-factory/hooks/useWebObjectMethodsProxy.d.ts +12 -0
  87. package/lib/typescript/src/react-native/components-factory/hooks/useWebObjectMethodsProxy.d.ts.map +1 -0
  88. package/lib/typescript/src/react-native/components-factory/hooks/useWebObjectMountOnLaunch.d.ts +12 -0
  89. package/lib/typescript/src/react-native/components-factory/hooks/useWebObjectMountOnLaunch.d.ts.map +1 -0
  90. package/lib/typescript/src/react-native/components-factory/hooks/useWebObjectOptionsUpdater.d.ts +5 -0
  91. package/lib/typescript/src/react-native/components-factory/hooks/useWebObjectOptionsUpdater.d.ts.map +1 -0
  92. package/lib/typescript/src/react-native/hooks/atoms/useMapAtoms.d.ts +40 -0
  93. package/lib/typescript/src/react-native/hooks/atoms/useMapAtoms.d.ts.map +1 -0
  94. package/lib/typescript/src/react-native/hooks/atoms/useMapAtoms.utils.d.ts +9 -0
  95. package/lib/typescript/src/react-native/hooks/atoms/useMapAtoms.utils.d.ts.map +1 -0
  96. package/lib/typescript/src/react-native/logger/rn-logger.d.ts +12 -0
  97. package/lib/typescript/src/react-native/logger/rn-logger.d.ts.map +1 -0
  98. package/lib/typescript/src/typedoc.d.ts +8 -0
  99. package/lib/typescript/src/typedoc.d.ts.map +1 -0
  100. package/lib/typescript/src/web/bridge/ReactNativeBridge.d.ts +14 -0
  101. package/lib/typescript/src/web/bridge/ReactNativeBridge.d.ts.map +1 -0
  102. package/lib/typescript/src/web/generated/index.d.ts +2 -0
  103. package/lib/typescript/src/web/generated/index.d.ts.map +1 -0
  104. package/lib/typescript/src/web/generated/webview_static_html.d.ts +2 -0
  105. package/lib/typescript/src/web/generated/webview_static_html.d.ts.map +1 -0
  106. package/lib/typescript/src/web/logger/web-logger.d.ts +11 -0
  107. package/lib/typescript/src/web/logger/web-logger.d.ts.map +1 -0
  108. package/lib/typescript/src/web/maplibre-gl-js/MapController.d.ts +15 -0
  109. package/lib/typescript/src/web/maplibre-gl-js/MapController.d.ts.map +1 -0
  110. package/package.json +196 -0
  111. package/src/communication/messages.types.ts +121 -0
  112. package/src/communication/messages.utils.ts +58 -0
  113. package/src/index.ts +31 -0
  114. package/src/react-native/components/Map/Map.tsx +14 -0
  115. package/src/react-native/components/Map/Map.types.ts +149 -0
  116. package/src/react-native/components/MapProvider/MapProvider.hooks.ts +13 -0
  117. package/src/react-native/components/MapProvider/MapProvider.tsx +139 -0
  118. package/src/react-native/components/MapProvider/MapProvider.types.ts +12 -0
  119. package/src/react-native/components/Marker/Marker.tsx +14 -0
  120. package/src/react-native/components/Marker/Marker.types.ts +56 -0
  121. package/src/react-native/components/Popup/Popup.tsx +14 -0
  122. package/src/react-native/components/Popup/Popup.types.ts +43 -0
  123. package/src/react-native/components-factory/createWebObjectAsComponent.ts +33 -0
  124. package/src/react-native/components-factory/createWebObjectAsComponent.types.ts +176 -0
  125. package/src/react-native/components-factory/hooks/useWebObjectMethodsProxy.ts +61 -0
  126. package/src/react-native/components-factory/hooks/useWebObjectMountOnLaunch.ts +79 -0
  127. package/src/react-native/components-factory/hooks/useWebObjectOptionsUpdater.ts +29 -0
  128. package/src/react-native/hooks/atoms/useMapAtoms.ts +261 -0
  129. package/src/react-native/hooks/atoms/useMapAtoms.utils.ts +15 -0
  130. package/src/react-native/logger/rn-logger.ts +51 -0
  131. package/src/typedoc.ts +35 -0
  132. package/src/web/bridge/ReactNativeBridge.ts +44 -0
  133. package/src/web/generated/index.html +18 -0
  134. package/src/web/generated/index.ts +17 -0
  135. package/src/web/generated/webview_static_html.ts +23528 -0
  136. package/src/web/logger/web-logger.ts +36 -0
  137. package/src/web/maplibre-gl-js/MapController.ts +322 -0
@@ -0,0 +1,40 @@
1
+ import type { WebView } from 'react-native-webview';
2
+ import type { MessageFromRNToWeb, WebObjectId } from 'react-native-maplibre-gl-js/communication/messages.types';
3
+ import type { WebObjectListeners } from 'react-native-maplibre-gl-js/react-native/components-factory/createWebObjectAsComponent.types';
4
+ /**
5
+ * The callbacks registered to react to web objects events.
6
+ */
7
+ export declare const webObjectsListenersAtom: import("jotai").PrimitiveAtom<Map<string, WebObjectListeners>> & {
8
+ init: Map<string, WebObjectListeners>;
9
+ };
10
+ declare const useMapAtoms: () => {
11
+ webView: WebView<{}> | null;
12
+ setWebView: (args_0: WebView<{}> | ((prev: WebView<{}> | null) => WebView<{}> | null) | null) => void;
13
+ isWebWorldReady: boolean;
14
+ setIsWebWorldReady: (args_0: boolean | ((prev: boolean) => boolean)) => void;
15
+ isMapMountMessageReady: boolean;
16
+ enqueueMessage: (message: MessageFromRNToWeb) => void;
17
+ dispatchMessage: (message: MessageFromRNToWeb) => void;
18
+ flushMessages: () => void;
19
+ setWebObjectPendingMethodResponse: (args_0: {
20
+ requestId: string;
21
+ resolve: (result: any) => void;
22
+ }) => void;
23
+ resolveWebObjectPendingMethodResponse: (args_0: {
24
+ requestId: string;
25
+ result: any;
26
+ }) => void;
27
+ deleteWebObjectPendingMethodResponse: (requestId: string) => void;
28
+ setWebObjectListeners: (args_0: {
29
+ objectId: WebObjectId;
30
+ listeners: WebObjectListeners;
31
+ }) => void;
32
+ getWebObjectListeners: (args_0: {
33
+ objectId: WebObjectId;
34
+ }) => WebObjectListeners | undefined;
35
+ deleteWebObjectListeners: (args_0: {
36
+ objectId: WebObjectId;
37
+ }) => void;
38
+ };
39
+ export default useMapAtoms;
40
+ //# sourceMappingURL=useMapAtoms.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMapAtoms.d.ts","sourceRoot":"","sources":["../../../../../../src/react-native/hooks/atoms/useMapAtoms.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAEnD,OAAO,KAAK,EACV,kBAAkB,EAClB,WAAW,EACZ,MAAM,0DAA0D,CAAA;AAEjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8FAA8F,CAAA;AAqCtI;;GAEG;AACH,eAAO,MAAM,uBAAuB;;CAEnC,CAAA;AAiLD,QAAA,MAAM,WAAW;;;;;;;;;;mBAnFG,MAAM;iBAAW,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI;;;mBAaT,MAAM;gBAAU,GAAG;;;;kBAmCjD,WAAW;mBAAa,kBAAkB;;;kBAgB/B,WAAW;;;kBAYF,WAAW;;CAsCjD,CAAA;AAED,eAAe,WAAW,CAAA"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Stable stringify for messages that may contain functions. Keep the function
3
+ * members as '...' to allow identification of the object type (by default a
4
+ * function cannot be stringified and is removed from the final string).
5
+ * @param message - The message to be stringified.
6
+ * @returns - The stringified message.
7
+ */
8
+ export declare const stableStringify: (message: any) => string;
9
+ //# sourceMappingURL=useMapAtoms.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMapAtoms.utils.d.ts","sourceRoot":"","sources":["../../../../../../src/react-native/hooks/atoms/useMapAtoms.utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,GAAG,KAAG,MAO9C,CAAA"}
@@ -0,0 +1,12 @@
1
+ type LogOrigin = 'RN' | 'Web';
2
+ /**
3
+ * Logger to be used from the React Native world. Will log to the default
4
+ * output. Works only in __DEV__.
5
+ */
6
+ declare const RNLogger: {
7
+ debug: (from: LogOrigin, func: string, ...args: any[]) => void;
8
+ info: (from: LogOrigin, func: string, ...args: any[]) => void;
9
+ error: (from: LogOrigin, func: string, ...args: any[]) => void;
10
+ };
11
+ export default RNLogger;
12
+ //# sourceMappingURL=rn-logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rn-logger.d.ts","sourceRoot":"","sources":["../../../../../src/react-native/logger/rn-logger.ts"],"names":[],"mappings":"AAGA,KAAK,SAAS,GAAG,IAAI,GAAG,KAAK,CAAA;AAqC7B;;;GAGG;AACH,QAAA,MAAM,QAAQ;kBAhBE,SAAS,QAAQ,MAAM,WAAW,GAAG,EAAE;iBAAvC,SAAS,QAAQ,MAAM,WAAW,GAAG,EAAE;kBAAvC,SAAS,QAAQ,MAAM,WAAW,GAAG,EAAE;CAoBtD,CAAA;AAED,eAAe,QAAQ,CAAA"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Internal types exposed for the documentation, but not by the public API.
3
+ * @module Internal types
4
+ * @packageDocumentation
5
+ */
6
+ import type { WebObjectComponent, WebObjectRef, WebObjectProps, WebObjectListeners, WebObjectListenersDefault, WebObjectListenersWeb, WebObjectListenerOnRN, WebObjectListenerOnObject, WebObjectListenerOnMapLayer, WebObjectListenerOnHTMLElement, WebObjectOptionsInferred, WebObjectMethodsInferred } from 'react-native-maplibre-gl-js/react-native/components-factory/createWebObjectAsComponent.types';
7
+ export type { WebObjectComponent, WebObjectRef, WebObjectProps, WebObjectListeners, WebObjectListenersDefault, WebObjectListenersWeb, WebObjectListenerOnRN, WebObjectListenerOnObject, WebObjectListenerOnMapLayer, WebObjectListenerOnHTMLElement, WebObjectOptionsInferred, WebObjectMethodsInferred, };
8
+ //# sourceMappingURL=typedoc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typedoc.d.ts","sourceRoot":"","sources":["../../../src/typedoc.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,2BAA2B,EAC3B,8BAA8B,EAC9B,wBAAwB,EACxB,wBAAwB,EACzB,MAAM,8FAA8F,CAAA;AAErG,YAAY,EACV,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,2BAA2B,EAC3B,8BAA8B,EAC9B,wBAAwB,EACxB,wBAAwB,GACzB,CAAA"}
@@ -0,0 +1,14 @@
1
+ import type MapController from 'react-native-maplibre-gl-js/web/maplibre-gl-js/MapController';
2
+ import type { MessageFromWebToRN } from 'react-native-maplibre-gl-js/communication/messages.types';
3
+ /**
4
+ * From the web world, manage bidirectional communication with the React Native
5
+ * one by receiving and sending messages.
6
+ */
7
+ export default class ReactNativeBridge {
8
+ #private;
9
+ constructor();
10
+ set mapController(controller: MapController);
11
+ get mapController(): MapController | undefined;
12
+ postMessage(message: MessageFromWebToRN): void;
13
+ }
14
+ //# sourceMappingURL=ReactNativeBridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReactNativeBridge.d.ts","sourceRoot":"","sources":["../../../../../src/web/bridge/ReactNativeBridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,8DAA8D,CAAA;AAC7F,OAAO,KAAK,EAEV,kBAAkB,EACnB,MAAM,0DAA0D,CAAA;AAGjE;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;;;IAmBpC,IAAI,aAAa,CAAC,UAAU,EAAE,aAAa,EAE1C;IAED,IAAI,aAAa,IAAI,aAAa,GAAG,SAAS,CAE7C;IAED,WAAW,CAAC,OAAO,EAAE,kBAAkB;CAKxC"}
@@ -0,0 +1,2 @@
1
+ import 'maplibre-gl/dist/maplibre-gl.css';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/web/generated/index.ts"],"names":[],"mappings":"AAAA,OAAO,kCAAkC,CAAA"}