react-native-maplibre-gl-js 1.21.0 → 1.22.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 (52) hide show
  1. package/README.md +8 -8
  2. package/lib/module/communication/messages.utils.js +1 -0
  3. package/lib/module/communication/messages.utils.js.map +1 -1
  4. package/lib/module/react-native/components/web-objects/Map/Map.js +2 -1
  5. package/lib/module/react-native/components/web-objects/Map/Map.js.map +1 -1
  6. package/lib/module/react-native/components/web-objects/Marker/Marker.js +3 -1
  7. package/lib/module/react-native/components/web-objects/Marker/Marker.js.map +1 -1
  8. package/lib/module/react-native/components/web-objects/Popup/Popup.js +3 -1
  9. package/lib/module/react-native/components/web-objects/Popup/Popup.js.map +1 -1
  10. package/lib/module/react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.js +6 -2
  11. package/lib/module/react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.js.map +1 -1
  12. package/lib/module/react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.test.unit.js +2 -1
  13. package/lib/module/react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.test.unit.js.map +1 -1
  14. package/lib/module/react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.utils.js +42 -0
  15. package/lib/module/react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.utils.js.map +1 -0
  16. package/lib/module/react-native/components-factories/hooks/useMountUnmountUpdateWhenNeeded.test.unit.js +1 -0
  17. package/lib/module/react-native/components-factories/hooks/useMountUnmountUpdateWhenNeeded.test.unit.js.map +1 -1
  18. package/lib/module/react-native/components-factories/web-objects/createWebObjectAsComponent.js +2 -1
  19. package/lib/module/react-native/components-factories/web-objects/createWebObjectAsComponent.js.map +1 -1
  20. package/lib/module/react-native/components-factories/web-objects/createWebObjectAsComponent.test.integration.js +1 -1
  21. package/lib/module/react-native/components-factories/web-objects/createWebObjectAsComponent.test.integration.js.map +1 -1
  22. package/lib/module/react-native/components-factories/web-objects/createWebObjectAsComponent.test.unit.js +1 -1
  23. package/lib/module/react-native/components-factories/web-objects/createWebObjectAsComponent.test.unit.js.map +1 -1
  24. package/lib/module/web/controllers/WebObjectsController.js +39 -63
  25. package/lib/module/web/controllers/WebObjectsController.js.map +1 -1
  26. package/lib/module/web/generated/index.js +1 -1
  27. package/lib/module/web/generated/index.js.map +1 -1
  28. package/lib/module/web/generated/webview_static_html.js +11439 -10713
  29. package/lib/module/web/generated/webview_static_html.js.map +1 -1
  30. package/lib/typescript/src/communication/messages.types.d.ts +9 -5
  31. package/lib/typescript/src/communication/messages.types.d.ts.map +1 -1
  32. package/lib/typescript/src/communication/messages.utils.d.ts +2 -0
  33. package/lib/typescript/src/communication/messages.utils.d.ts.map +1 -1
  34. package/lib/typescript/src/react-native/components/core/MapProvider/MapProvider.types.d.ts +4 -1
  35. package/lib/typescript/src/react-native/components/core/MapProvider/MapProvider.types.d.ts.map +1 -1
  36. package/lib/typescript/src/react-native/components/web-objects/Map/Map.d.ts +1 -1
  37. package/lib/typescript/src/react-native/components/web-objects/Map/Map.d.ts.map +1 -1
  38. package/lib/typescript/src/react-native/components/web-objects/Marker/Marker.d.ts +1 -1
  39. package/lib/typescript/src/react-native/components/web-objects/Marker/Marker.d.ts.map +1 -1
  40. package/lib/typescript/src/react-native/components/web-objects/Popup/Popup.d.ts +1 -1
  41. package/lib/typescript/src/react-native/components/web-objects/Popup/Popup.d.ts.map +1 -1
  42. package/lib/typescript/src/react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.d.ts.map +1 -1
  43. package/lib/typescript/src/react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.types.d.ts +3 -2
  44. package/lib/typescript/src/react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.types.d.ts.map +1 -1
  45. package/lib/typescript/src/react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.utils.d.ts +4 -0
  46. package/lib/typescript/src/react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.utils.d.ts.map +1 -0
  47. package/lib/typescript/src/react-native/components-factories/web-objects/createWebObjectAsComponent.d.ts +1 -1
  48. package/lib/typescript/src/react-native/components-factories/web-objects/createWebObjectAsComponent.d.ts.map +1 -1
  49. package/lib/typescript/src/web/controllers/WebObjectsController.d.ts.map +1 -1
  50. package/lib/typescript/src/web/generated/webview_static_html.d.ts +1 -1
  51. package/lib/typescript/src/web/generated/webview_static_html.d.ts.map +1 -1
  52. package/package.json +2 -2
package/README.md CHANGED
@@ -109,7 +109,7 @@ Several real-world usage scenarios are available, you can explore them in two wa
109
109
 
110
110
  ### 1. Map
111
111
 
112
- - [`1.1. Component basis`](./example/src/app/1.-Map/1.1.-Component-basis.tsx)
112
+ - [`1.1. Component basics`](./example/src/app/1.-Map/1.1.-Component-basics.tsx)
113
113
  - [`1.2. Create a camera animation`](./example/src/app/1.-Map/1.2.-Create-a-camera-animation.tsx)
114
114
  - [`1.3. Use the globe projection`](./example/src/app/1.-Map/1.3.-Use-the-globe-projection.tsx)
115
115
  - [`1.4. Add a raster tile source directly on map`](./example/src/app/1.-Map/1.4.-Add-a-raster-tile-source-directly-on-map.tsx)
@@ -120,7 +120,7 @@ Several real-world usage scenarios are available, you can explore them in two wa
120
120
 
121
121
  ### 2. Marker
122
122
 
123
- - [`2.1. Component basis`](./example/src/app/2.-Marker/2.1.-Component-basis.tsx)
123
+ - [`2.1. Component basics`](./example/src/app/2.-Marker/2.1.-Component-basics.tsx)
124
124
  - [`2.2. Animate the coordinate with reanimated`](./example/src/app/2.-Marker/2.2.-Animate-the-coordinate-with-reanimated.tsx)
125
125
  - [`2.3. Animate on click with css`](./example/src/app/2.-Marker/2.3.-Animate-on-click-with-css.tsx)
126
126
  - [`2.4. Use an detached popup`](./example/src/app/2.-Marker/2.4.-Use-an-detached-popup.tsx)
@@ -130,32 +130,32 @@ Several real-world usage scenarios are available, you can explore them in two wa
130
130
 
131
131
  ### 3. Popup
132
132
 
133
- - [`3.1. Component basis`](./example/src/app/3.-Popup/3.1.-Component-basis.tsx)
133
+ - [`3.1. Component basics`](./example/src/app/3.-Popup/3.1.-Component-basics.tsx)
134
134
 
135
135
  ### 4. GeoJSONSource
136
136
 
137
- - [`4.1. Component basis`](./example/src/app/4.-GeoJSONSource/4.1.-Component-basis.tsx)
137
+ - [`4.1. Component basics`](./example/src/app/4.-GeoJSONSource/4.1.-Component-basics.tsx)
138
138
  - [`4.2. Use a line gradient`](./example/src/app/4.-GeoJSONSource/4.2.-Use-a-line-gradient.tsx)
139
139
  - [`4.3. Use a local image`](./example/src/app/4.-GeoJSONSource/4.3.-Use-a-local-image.tsx)
140
140
 
141
141
  ### 5. ImageSource
142
142
 
143
- - [`5.1. Component basis`](./example/src/app/5.-ImageSource/5.1.-Component-basis.tsx)
143
+ - [`5.1. Component basics`](./example/src/app/5.-ImageSource/5.1.-Component-basics.tsx)
144
144
  - [`5.2. Use an interactive listener`](./example/src/app/5.-ImageSource/5.2.-Use-an-interactive-listener.tsx)
145
145
  - [`5.3. Animate a serie of images 1`](./example/src/app/5.-ImageSource/5.3.-Animate-a-serie-of-images-1.tsx)
146
146
  - [`5.4. Animate a serie of images 2`](./example/src/app/5.-ImageSource/5.4.-Animate-a-serie-of-images-2.tsx)
147
147
 
148
148
  ### 6. VideoSource
149
149
 
150
- - [`6.1. Component basis`](./example/src/app/6.-VideoSource/6.1.-Component-basis.tsx)
150
+ - [`6.1. Component basics`](./example/src/app/6.-VideoSource/6.1.-Component-basics.tsx)
151
151
 
152
152
  ### 7. VectorTileSource
153
153
 
154
- - [`7.1. Component basis`](./example/src/app/7.-VectorTileSource/7.1.-Component-basis.tsx)
154
+ - [`7.1. Component basics`](./example/src/app/7.-VectorTileSource/7.1.-Component-basics.tsx)
155
155
 
156
156
  ### 8. RasterTileSource
157
157
 
158
- - [`8.1. Component basis`](./example/src/app/8.-RasterTileSource/8.1.-Component-basis.tsx)
158
+ - [`8.1. Component basics`](./example/src/app/8.-RasterTileSource/8.1.-Component-basics.tsx)
159
159
 
160
160
  <!-- EXAMPLES-LIST:END -->
161
161
 
@@ -24,4 +24,5 @@ export const isWebObjectListenerOnHTMLElement = listener => {
24
24
  }
25
25
  return 'elementListener' in listener;
26
26
  };
27
+ export const getHTMLElementDescriptorListenerName = listener => `${listener.eventName}${listener.cssSelector}`;
27
28
  //# sourceMappingURL=messages.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["isWebObjectListenerOnRN","listener","isWebObjectListenerOnObject","isWebObjectListenerOnMapLayer","isWebObjectListenerOnHTMLElement"],"sourceRoot":"../../../src","sources":["communication/messages.utils.ts"],"mappings":";;AAOA,OAAO,MAAMA,uBAAuB,GAClCC,QAIoC,IACxB;EACZ,IAAI,CAACA,QAAQ,EAAE;IACb,OAAO,KAAK;EACd;EACA,OAAO,YAAY,IAAIA,QAAQ;AACjC,CAAC;AAED,OAAO,MAAMC,2BAA2B,GACtCD,QAIoC,IACxB;EACZ,IAAI,CAACA,QAAQ,EAAE;IACb,OAAO,KAAK;EACd;EACA,OAAO,gBAAgB,IAAIA,QAAQ;AACrC,CAAC;AAED,OAAO,MAAME,6BAA6B,GACxCF,QAIoC,IACxB;EACZ,IAAI,CAACA,QAAQ,EAAE;IACb,OAAO,KAAK;EACd;EACA,OAAO,eAAe,IAAIA,QAAQ;AACpC,CAAC;AAED,OAAO,MAAMG,gCAAgC,GAC3CH,QAIoC,IACxB;EACZ,IAAI,CAACA,QAAQ,EAAE;IACb,OAAO,KAAK;EACd;EACA,OAAO,iBAAiB,IAAIA,QAAQ;AACtC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["isWebObjectListenerOnRN","listener","isWebObjectListenerOnObject","isWebObjectListenerOnMapLayer","isWebObjectListenerOnHTMLElement","getHTMLElementDescriptorListenerName","eventName","cssSelector"],"sourceRoot":"../../../src","sources":["communication/messages.utils.ts"],"mappings":";;AAQA,OAAO,MAAMA,uBAAuB,GAClCC,QAIoC,IACxB;EACZ,IAAI,CAACA,QAAQ,EAAE;IACb,OAAO,KAAK;EACd;EACA,OAAO,YAAY,IAAIA,QAAQ;AACjC,CAAC;AAED,OAAO,MAAMC,2BAA2B,GACtCD,QAIoC,IACxB;EACZ,IAAI,CAACA,QAAQ,EAAE;IACb,OAAO,KAAK;EACd;EACA,OAAO,gBAAgB,IAAIA,QAAQ;AACrC,CAAC;AAED,OAAO,MAAME,6BAA6B,GACxCF,QAIoC,IACxB;EACZ,IAAI,CAACA,QAAQ,EAAE;IACb,OAAO,KAAK;EACd;EACA,OAAO,eAAe,IAAIA,QAAQ;AACpC,CAAC;AAED,OAAO,MAAMG,gCAAgC,GAC3CH,QAIoC,IACxB;EACZ,IAAI,CAACA,QAAQ,EAAE;IACb,OAAO,KAAK;EACd;EACA,OAAO,iBAAiB,IAAIA,QAAQ;AACtC,CAAC;AAED,OAAO,MAAMI,oCAAoC,GAC/CJ,QAAuC,IAC5B,GAAGA,QAAQ,CAACK,SAAS,GAAGL,QAAQ,CAACM,WAAW,EAAE","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ import { MAP_OPTIONS_THAT_ARE_HTML_ELEMENTS } from "./Map.types.js";
3
4
  import createWebObjectAsComponent from "../../../components-factories/web-objects/createWebObjectAsComponent.js";
4
5
 
5
6
  /**
@@ -36,6 +37,6 @@ import createWebObjectAsComponent from "../../../components-factories/web-object
36
37
  * ```
37
38
  * @group Components – web objects
38
39
  */
39
- const Map = createWebObjectAsComponent('map');
40
+ const Map = createWebObjectAsComponent('map', MAP_OPTIONS_THAT_ARE_HTML_ELEMENTS);
40
41
  export default Map;
41
42
  //# sourceMappingURL=Map.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createWebObjectAsComponent","Map"],"sourceRoot":"../../../../../../src","sources":["react-native/components/web-objects/Map/Map.tsx"],"mappings":";;AACA,OAAOA,0BAA0B,MAAM,yEAAsE;;AAE7G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,GAAG,GAAGD,0BAA0B,CAAmB,KAAK,CAAC;AAE/D,eAAeC,GAAG","ignoreList":[]}
1
+ {"version":3,"names":["MAP_OPTIONS_THAT_ARE_HTML_ELEMENTS","createWebObjectAsComponent","Map"],"sourceRoot":"../../../../../../src","sources":["react-native/components/web-objects/Map/Map.tsx"],"mappings":";;AAAA,SACEA,kCAAkC,QAG7B,gBAAa;AACpB,OAAOC,0BAA0B,MAAM,yEAAsE;;AAE7G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,GAAG,GAAGD,0BAA0B,CACpC,KAAK,EACLD,kCACF,CAAC;AAED,eAAeE,GAAG","ignoreList":[]}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  import createWebObjectAsComponent from "../../../components-factories/web-objects/createWebObjectAsComponent.js";
4
+ import { MARKER_OPTIONS_THAT_ARE_HTML_ELEMENTS } from "./Marker.types.js";
5
+
4
6
  /**
5
7
  * MapLibre Marker view.
6
8
  * @props {@link MarkerProps}
@@ -47,6 +49,6 @@ import createWebObjectAsComponent from "../../../components-factories/web-object
47
49
  * ```
48
50
  * @group Components – web objects
49
51
  */
50
- const Marker = createWebObjectAsComponent('marker');
52
+ const Marker = createWebObjectAsComponent('marker', MARKER_OPTIONS_THAT_ARE_HTML_ELEMENTS);
51
53
  export default Marker;
52
54
  //# sourceMappingURL=Marker.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createWebObjectAsComponent","Marker"],"sourceRoot":"../../../../../../src","sources":["react-native/components/web-objects/Marker/Marker.tsx"],"mappings":";;AAAA,OAAOA,0BAA0B,MAAM,yEAAsE;AAG7G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,MAAM,GAAGD,0BAA0B,CAAyB,QAAQ,CAAC;AAE3E,eAAeC,MAAM","ignoreList":[]}
1
+ {"version":3,"names":["createWebObjectAsComponent","MARKER_OPTIONS_THAT_ARE_HTML_ELEMENTS","Marker"],"sourceRoot":"../../../../../../src","sources":["react-native/components/web-objects/Marker/Marker.tsx"],"mappings":";;AAAA,OAAOA,0BAA0B,MAAM,yEAAsE;AAC7G,SACEC,qCAAqC,QAGhC,mBAAgB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,MAAM,GAAGF,0BAA0B,CACvC,QAAQ,EACRC,qCACF,CAAC;AAED,eAAeC,MAAM","ignoreList":[]}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  import createWebObjectAsComponent from "../../../components-factories/web-objects/createWebObjectAsComponent.js";
4
+ import { POPUP_OPTIONS_THAT_ARE_HTML_ELEMENTS } from "./Popup.types.js";
5
+
4
6
  /**
5
7
  * MapLibre Popup view.
6
8
  * @props {@link PopupProps}
@@ -34,6 +36,6 @@ import createWebObjectAsComponent from "../../../components-factories/web-object
34
36
  * ```
35
37
  * @group Components – web objects
36
38
  */
37
- const Popup = createWebObjectAsComponent('popup');
39
+ const Popup = createWebObjectAsComponent('popup', POPUP_OPTIONS_THAT_ARE_HTML_ELEMENTS);
38
40
  export default Popup;
39
41
  //# sourceMappingURL=Popup.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createWebObjectAsComponent","Popup"],"sourceRoot":"../../../../../../src","sources":["react-native/components/web-objects/Popup/Popup.tsx"],"mappings":";;AAAA,OAAOA,0BAA0B,MAAM,yEAAsE;AAG7G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,KAAK,GAAGD,0BAA0B,CAAuB,OAAO,CAAC;AAEvE,eAAeC,KAAK","ignoreList":[]}
1
+ {"version":3,"names":["createWebObjectAsComponent","POPUP_OPTIONS_THAT_ARE_HTML_ELEMENTS","Popup"],"sourceRoot":"../../../../../../src","sources":["react-native/components/web-objects/Popup/Popup.tsx"],"mappings":";;AAAA,OAAOA,0BAA0B,MAAM,yEAAsE;AAC7G,SACEC,oCAAoC,QAG/B,kBAAe;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,KAAK,GAAGF,0BAA0B,CACtC,OAAO,EACPC,oCACF,CAAC;AAED,eAAeC,KAAK","ignoreList":[]}
@@ -2,6 +2,7 @@
2
2
 
3
3
  import { useCallback } from 'react';
4
4
  import useMapAtoms from "../../hooks/atoms/useMapAtoms.js";
5
+ import { extractHTMLElementListeners, removeHTMLElementListeners } from "./useMountUnmountUpdateCallbacks.utils.js";
5
6
 
6
7
  /**
7
8
  * @param input - The RN object props, etc.
@@ -25,7 +26,7 @@ const useMountUnmountUpdateCallbacks = input => {
25
26
  dispatchMessage({
26
27
  type: `webObjectMount`,
27
28
  payload: {
28
- options: input.props.options,
29
+ options: removeHTMLElementListeners(input.props.options, input.optionsThatAreHTMLElements),
29
30
  listeners: input.props.listeners,
30
31
  objectId: input.objectId,
31
32
  objectType: input.objectType
@@ -33,7 +34,10 @@ const useMountUnmountUpdateCallbacks = input => {
33
34
  });
34
35
  setWebObjectListeners({
35
36
  objectId: input.objectId,
36
- listeners: input.props.listeners ?? {}
37
+ listeners: {
38
+ ...(input.props.listeners ?? {}),
39
+ ...extractHTMLElementListeners(input.props.options, input.optionsThatAreHTMLElements)
40
+ }
37
41
  });
38
42
  break;
39
43
  }
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useMapAtoms","useMountUnmountUpdateCallbacks","input","dispatchMessage","setWebObjectListeners","deleteWebObjectListeners","setMapSourceListeners","deleteMapSourceListeners","mount","type","payload","options","props","listeners","objectId","objectType","sourceId","id","layers","map","item","layerId","layer","undefined","filter","update","unmount"],"sourceRoot":"../../../../../src","sources":["react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useMapAtoms","extractHTMLElementListeners","removeHTMLElementListeners","useMountUnmountUpdateCallbacks","input","dispatchMessage","setWebObjectListeners","deleteWebObjectListeners","setMapSourceListeners","deleteMapSourceListeners","mount","type","payload","options","props","optionsThatAreHTMLElements","listeners","objectId","objectType","sourceId","id","layers","map","item","layerId","layer","undefined","filter","update","unmount"],"sourceRoot":"../../../../../src","sources":["react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.ts"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { render, act } from '@testing-library/react-native';
3
+ import { act, render } from '@testing-library/react-native';
4
4
  import { jest } from '@jest/globals';
5
5
  import useMountUnmountUpdateCallbacks from "./useMountUnmountUpdateCallbacks.js";
6
6
  import { deleteMapSourceListenersMock, deleteWebObjectListenersMock, dispatchMessageMock, setMapSourceListenersMock, setWebObjectListenersMock } from "../../hooks/atoms/useMapAtoms.mock.js";
@@ -33,6 +33,7 @@ describe('useMountUnmountUpdateCallbacks', () => {
33
33
  options,
34
34
  listeners
35
35
  },
36
+ optionsThatAreHTMLElements: [],
36
37
  objectId,
37
38
  objectType
38
39
  });
@@ -1 +1 @@
1
- {"version":3,"names":["render","act","jest","useMountUnmountUpdateCallbacks","deleteMapSourceListenersMock","deleteWebObjectListenersMock","dispatchMessageMock","setMapSourceListenersMock","setWebObjectListenersMock","jsx","_jsx","mock","require","describe","beforeEach","clearAllMocks","options","foo","listeners","onTap","objectId","objectType","mount","update","unmount","Probe","callbacks","type","props","test","expect","toHaveBeenCalledTimes","toHaveBeenCalledWith","payload","sourceId","source","layers","layer","id","click","map","layerId"],"sourceRoot":"../../../../../src","sources":["react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.test.unit.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["act","render","jest","useMountUnmountUpdateCallbacks","deleteMapSourceListenersMock","deleteWebObjectListenersMock","dispatchMessageMock","setMapSourceListenersMock","setWebObjectListenersMock","jsx","_jsx","mock","require","describe","beforeEach","clearAllMocks","options","foo","listeners","onTap","objectId","objectType","mount","update","unmount","Probe","callbacks","type","props","optionsThatAreHTMLElements","test","expect","toHaveBeenCalledTimes","toHaveBeenCalledWith","payload","sourceId","source","layers","layer","id","click","map","layerId"],"sourceRoot":"../../../../../src","sources":["react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.test.unit.tsx"],"mappings":";;AAAA,SAASA,GAAG,EAAEC,MAAM,QAAQ,+BAA+B;AAC3D,SAASC,IAAI,QAAQ,eAAe;AACpC,OAAOC,8BAA8B,MAAM,qCAAkC;AAC7E,SACEC,4BAA4B,EAC5BC,4BAA4B,EAC5BC,mBAAmB,EACnBC,yBAAyB,EACzBC,yBAAyB,QACpB,uCAAoC;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAG3CR,IAAI,CAACS,IAAI,CAAC,iCAAiC,EAAE,MAC3CC,OAAO,CAAC,sCAAsC,CAChD,CAAC;AAEDC,QAAQ,CAAC,gCAAgC,EAAE,MAAM;EAC/CC,UAAU,CAAC,MAAM;IACfZ,IAAI,CAACa,aAAa,CAAC,CAAC;EACtB,CAAC,CAAC;EAEFF,QAAQ,CAAC,oFAAoF,EAAE,MAAM;IACnG,MAAMG,OAAO,GAAG;MAAEC,GAAG,EAAE;IAAM,CAAC;IAC9B,MAAMC,SAAS,GAAG;MAAEC,KAAK,EAAE;IAAc,CAAC;IAC1C,MAAMC,QAAQ,GAAG,OAAO;IACxB,MAAMC,UAAU,GAAG,KAAK;IAExB,IAAIC,KAA2B;IAC/B,IAAIC,MAA4B;IAChC,IAAIC,OAA6B;IAEjCV,UAAU,CAAC,MAAM;MACf;AACN;AACA;MACM,MAAMW,KAAK,GAAGA,CAAA,KAAM;QAClB,MAAMC,SAAS,GAAGvB,8BAA8B,CAAC;UAC/CwB,IAAI,EAAE,WAAW;UACjBC,KAAK,EAAE;YACLZ,OAAO;YACPE;UACF,CAAC;UACDW,0BAA0B,EAAE,EAAE;UAC9BT,QAAQ;UACRC;QACF,CAAC,CAAC;QACFC,KAAK,GAAGI,SAAS,CAACJ,KAAK;QACvBC,MAAM,GAAGG,SAAS,CAACH,MAAM;QACzBC,OAAO,GAAGE,SAAS,CAACF,OAAO;QAC3B,OAAO,IAAI;MACb,CAAC;MAEDvB,MAAM,cAACS,IAAA,CAACe,KAAK,IAAE,CAAC,CAAC;IACnB,CAAC,CAAC;IAEFZ,QAAQ,CAAC,sBAAsB,EAAE,MAAM;MACrCC,UAAU,CAAC,MAAM;QACfd,GAAG,CAAC,MAAMsB,KAAK,CAAC,CAAC,CAAC;MACpB,CAAC,CAAC;MAEFQ,IAAI,CAAC,2DAA2D,EAAE,MAAM;QACtEC,MAAM,CAACzB,mBAAmB,CAAC,CAAC0B,qBAAqB,CAAC,CAAC,CAAC;QACpDD,MAAM,CAACzB,mBAAmB,CAAC,CAAC2B,oBAAoB,CAAC;UAC/CN,IAAI,EAAE,gBAAgB;UACtBO,OAAO,EAAE;YACPd,QAAQ;YACRC,UAAU;YACVL,OAAO;YACPE;UACF;QACF,CAAC,CAAC;QACFa,MAAM,CAACvB,yBAAyB,CAAC,CAACwB,qBAAqB,CAAC,CAAC,CAAC;QAC1DD,MAAM,CAACvB,yBAAyB,CAAC,CAACyB,oBAAoB,CAAC;UACrDb,QAAQ;UACRF;QACF,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ,CAAC,CAAC;IAEFL,QAAQ,CAAC,uBAAuB,EAAE,MAAM;MACtCC,UAAU,CAAC,MAAM;QACfd,GAAG,CAAC,MAAMuB,MAAM,CAAC,CAAC,CAAC;MACrB,CAAC,CAAC;MAEFO,IAAI,CAAC,4DAA4D,EAAE,MAAM;QACvEC,MAAM,CAACzB,mBAAmB,CAAC,CAAC0B,qBAAqB,CAAC,CAAC,CAAC;QACpDD,MAAM,CAACzB,mBAAmB,CAAC,CAAC2B,oBAAoB,CAAC;UAC/CN,IAAI,EAAE,iBAAiB;UACvBO,OAAO,EAAE;YACPd,QAAQ;YACRC,UAAU;YACVL,OAAO;YACPE;UACF;QACF,CAAC,CAAC;QACFa,MAAM,CAACvB,yBAAyB,CAAC,CAACwB,qBAAqB,CAAC,CAAC,CAAC;QAC1DD,MAAM,CAACvB,yBAAyB,CAAC,CAACyB,oBAAoB,CAAC;UACrDb,QAAQ;UACRF;QACF,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ,CAAC,CAAC;IAEFL,QAAQ,CAAC,wBAAwB,EAAE,MAAM;MACvCC,UAAU,CAAC,MAAM;QACfd,GAAG,CAAC,MAAMwB,OAAO,CAAC,CAAC,CAAC;MACtB,CAAC,CAAC;MAEFM,IAAI,CAAC,iEAAiE,EAAE,MAAM;QAC5EC,MAAM,CAACzB,mBAAmB,CAAC,CAAC0B,qBAAqB,CAAC,CAAC,CAAC;QACpDD,MAAM,CAACzB,mBAAmB,CAAC,CAAC2B,oBAAoB,CAAC;UAC/CN,IAAI,EAAE,kBAAkB;UACxBO,OAAO,EAAE;YACPd;UACF;QACF,CAAC,CAAC;QACFW,MAAM,CAAC1B,4BAA4B,CAAC,CAAC2B,qBAAqB,CAAC,CAAC,CAAC;QAC7DD,MAAM,CAAC1B,4BAA4B,CAAC,CAAC4B,oBAAoB,CAAC;UACxDb;QACF,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFP,QAAQ,CAAC,oFAAoF,EAAE,MAAM;IACnG,MAAMsB,QAAQ,GAAG,OAAO;IACxB,MAAMC,MAAM,GAAG;MAAEnB,GAAG,EAAE;IAAM,CAAC;IAC7B,MAAMoB,MAAM,GAAG,CACb;MACEC,KAAK,EAAE;QAAEC,EAAE,EAAE,SAAS;QAAEZ,IAAI,EAAE;MAAO,CAAC;MACtCT,SAAS,EAAE;QAAEsB,KAAK,EAAEA,CAAA,KAAM;MAAc;IAC1C,CAAC,CACkB;IAErB,IAAIlB,KAA2B;IAC/B,IAAIC,MAA4B;IAChC,IAAIC,OAA6B;IAEjCV,UAAU,CAAC,MAAM;MACf;AACN;AACA;MACM,MAAMW,KAAK,GAAGA,CAAA,KAAM;QAClB,MAAMC,SAAS,GAAGvB,8BAA8B,CAAC;UAC/CwB,IAAI,EAAE,WAAW;UACjBC,KAAK,EAAE;YACLW,EAAE,EAAEJ,QAAQ;YACZC,MAAM;YACNC;UACF;QACF,CAAC,CAAC;QACFf,KAAK,GAAGI,SAAS,CAACJ,KAAK;QACvBC,MAAM,GAAGG,SAAS,CAACH,MAAM;QACzBC,OAAO,GAAGE,SAAS,CAACF,OAAO;QAC3B,OAAO,IAAI;MACb,CAAC;MAEDvB,MAAM,cAACS,IAAA,CAACe,KAAK,IAAE,CAAC,CAAC;IACnB,CAAC,CAAC;IAEFZ,QAAQ,CAAC,sBAAsB,EAAE,MAAM;MACrCC,UAAU,CAAC,MAAM;QACfd,GAAG,CAAC,MAAMsB,KAAK,CAAC,CAAC,CAAC;MACpB,CAAC,CAAC;MAEFQ,IAAI,CAAC,2DAA2D,EAAE,MAAM;QACtEC,MAAM,CAACzB,mBAAmB,CAAC,CAAC0B,qBAAqB,CAAC,CAAC,CAAC;QACpDD,MAAM,CAACzB,mBAAmB,CAAC,CAAC2B,oBAAoB,CAAC;UAC/CN,IAAI,EAAE,gBAAgB;UACtBO,OAAO,EAAE;YACPK,EAAE,EAAEJ,QAAQ;YACZC,MAAM;YACNC;UACF;QACF,CAAC,CAAC;QACFN,MAAM,CAACxB,yBAAyB,CAAC,CAACyB,qBAAqB,CAAC,CAAC,CAAC;QAC1DD,MAAM,CAACxB,yBAAyB,CAAC,CAAC0B,oBAAoB,CAAC;UACrDE,QAAQ;UACRjB,SAAS,EAAEmB,MAAM,CAACI,GAAG,CAAC,CAAC;YAAEH,KAAK;YAAEpB;UAAU,CAAC,MAAM;YAC/CwB,OAAO,EAAEJ,KAAK,CAACC,EAAE;YACjBrB;UACF,CAAC,CAAC;QACJ,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ,CAAC,CAAC;IAEFL,QAAQ,CAAC,uBAAuB,EAAE,MAAM;MACtCC,UAAU,CAAC,MAAM;QACfd,GAAG,CAAC,MAAMuB,MAAM,CAAC,CAAC,CAAC;MACrB,CAAC,CAAC;MAEFO,IAAI,CAAC,4DAA4D,EAAE,MAAM;QACvEC,MAAM,CAACzB,mBAAmB,CAAC,CAAC0B,qBAAqB,CAAC,CAAC,CAAC;QACpDD,MAAM,CAACzB,mBAAmB,CAAC,CAAC2B,oBAAoB,CAAC;UAC/CN,IAAI,EAAE,iBAAiB;UACvBO,OAAO,EAAE;YACPK,EAAE,EAAEJ,QAAQ;YACZC,MAAM;YACNC;UACF;QACF,CAAC,CAAC;QACFN,MAAM,CAACxB,yBAAyB,CAAC,CAACyB,qBAAqB,CAAC,CAAC,CAAC;QAC1DD,MAAM,CAACxB,yBAAyB,CAAC,CAAC0B,oBAAoB,CAAC;UACrDE,QAAQ;UACRjB,SAAS,EAAEmB,MAAM,CAACI,GAAG,CAAC,CAAC;YAAEH,KAAK;YAAEpB;UAAU,CAAC,MAAM;YAC/CwB,OAAO,EAAEJ,KAAK,CAACC,EAAE;YACjBrB;UACF,CAAC,CAAC;QACJ,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ,CAAC,CAAC;IAEFL,QAAQ,CAAC,wBAAwB,EAAE,MAAM;MACvCC,UAAU,CAAC,MAAM;QACfd,GAAG,CAAC,MAAMwB,OAAO,CAAC,CAAC,CAAC;MACtB,CAAC,CAAC;MAEFM,IAAI,CAAC,iEAAiE,EAAE,MAAM;QAC5EC,MAAM,CAACzB,mBAAmB,CAAC,CAAC0B,qBAAqB,CAAC,CAAC,CAAC;QACpDD,MAAM,CAACzB,mBAAmB,CAAC,CAAC2B,oBAAoB,CAAC;UAC/CN,IAAI,EAAE,kBAAkB;UACxBO,OAAO,EAAE;YACPC;UACF;QACF,CAAC,CAAC;QACFJ,MAAM,CAAC3B,4BAA4B,CAAC,CAAC4B,qBAAqB,CAAC,CAAC,CAAC;QAC7DD,MAAM,CAAC3B,4BAA4B,CAAC,CAAC6B,oBAAoB,CAAC;UACxDE;QACF,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ import { getHTMLElementDescriptorListenerName } from "../../../communication/messages.utils.js";
4
+ export const removeHTMLElementListeners = (options, optionsThatAreHTMLElements) => {
5
+ if (!options || typeof options !== 'object') {
6
+ return options;
7
+ }
8
+ if (Array.isArray(options)) {
9
+ return options.map(opt => removeHTMLElementListeners(opt, optionsThatAreHTMLElements));
10
+ }
11
+ const result = {};
12
+ for (const key in options) {
13
+ if (optionsThatAreHTMLElements.includes(key) && Array.isArray(options[key]?.listeners)) {
14
+ result[key] = {
15
+ ...options[key],
16
+ listeners: options[key].listeners.map(({
17
+ cssSelector,
18
+ eventName
19
+ }) => ({
20
+ cssSelector,
21
+ eventName
22
+ }))
23
+ };
24
+ } else {
25
+ result[key] = removeHTMLElementListeners(options[key], optionsThatAreHTMLElements);
26
+ }
27
+ }
28
+ return result;
29
+ };
30
+ export const extractHTMLElementListeners = (options, optionsThatAreHTMLElements) => {
31
+ const callbacks = {};
32
+ for (const key of optionsThatAreHTMLElements) {
33
+ const htmlListeners = options?.[key]?.listeners;
34
+ htmlListeners?.forEach(listener => {
35
+ callbacks[getHTMLElementDescriptorListenerName(listener)] = {
36
+ elementListener: listener.callback
37
+ };
38
+ });
39
+ }
40
+ return callbacks;
41
+ };
42
+ //# sourceMappingURL=useMountUnmountUpdateCallbacks.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getHTMLElementDescriptorListenerName","removeHTMLElementListeners","options","optionsThatAreHTMLElements","Array","isArray","map","opt","result","key","includes","listeners","cssSelector","eventName","extractHTMLElementListeners","callbacks","htmlListeners","forEach","listener","elementListener","callback"],"sourceRoot":"../../../../../src","sources":["react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.utils.ts"],"mappings":";;AAKA,SAASA,oCAAoC,QAAQ,0CAAuC;AAE5F,OAAO,MAAMC,0BAA0B,GAAGA,CACxCC,OAAY,EACZC,0BAA6C,KACrC;EACR,IAAI,CAACD,OAAO,IAAI,OAAOA,OAAO,KAAK,QAAQ,EAAE;IAC3C,OAAOA,OAAO;EAChB;EACA,IAAIE,KAAK,CAACC,OAAO,CAACH,OAAO,CAAC,EAAE;IAC1B,OAAOA,OAAO,CAACI,GAAG,CAAEC,GAAG,IACrBN,0BAA0B,CAACM,GAAG,EAAEJ,0BAA0B,CAC5D,CAAC;EACH;EAEA,MAAMK,MAAW,GAAG,CAAC,CAAC;EACtB,KAAK,MAAMC,GAAG,IAAIP,OAAO,EAAE;IACzB,IACEC,0BAA0B,CAACO,QAAQ,CAACD,GAAG,CAAC,IACxCL,KAAK,CAACC,OAAO,CAACH,OAAO,CAACO,GAAG,CAAC,EAAEE,SAAS,CAAC,EACtC;MACAH,MAAM,CAACC,GAAG,CAAC,GAAG;QACZ,GAAGP,OAAO,CAACO,GAAG,CAAC;QACfE,SAAS,EAAET,OAAO,CAACO,GAAG,CAAC,CAACE,SAAS,CAACL,GAAG,CACnC,CAAC;UAAEM,WAAW;UAAEC;QAAyC,CAAC,MAAM;UAC9DD,WAAW;UACXC;QACF,CAAC,CACH;MACF,CAAC;IACH,CAAC,MAAM;MACLL,MAAM,CAACC,GAAG,CAAC,GAAGR,0BAA0B,CACtCC,OAAO,CAACO,GAAG,CAAC,EACZN,0BACF,CAAC;IACH;EACF;EACA,OAAOK,MAAM;AACf,CAAC;AAED,OAAO,MAAMM,2BAA2B,GAAGA,CACzCZ,OAAY,EACZC,0BAA6C,KACtB;EACvB,MAAMY,SAA8D,GAAG,CAAC,CAAC;EAEzE,KAAK,MAAMN,GAAG,IAAIN,0BAA0B,EAAE;IAC5C,MAAMa,aAAa,GAAGd,OAAO,GAAGO,GAAG,CAAC,EAAEE,SAEzB;IACbK,aAAa,EAAEC,OAAO,CAAEC,QAAQ,IAAK;MACnCH,SAAS,CAACf,oCAAoC,CAACkB,QAAQ,CAAC,CAAC,GAAG;QAC1DC,eAAe,EAAED,QAAQ,CAACE;MAC5B,CAAC;IACH,CAAC,CAAC;EACJ;EAEA,OAAOL,SAAS;AAClB,CAAC","ignoreList":[]}
@@ -27,6 +27,7 @@ describe('useMountUpdateUnmountWhenNeeded', () => {
27
27
  onTap: 'tapFunction'
28
28
  }
29
29
  },
30
+ optionsThatAreHTMLElements: [],
30
31
  objectId: 'obj-1',
31
32
  objectType: 'map'
32
33
  });
@@ -1 +1 @@
1
- {"version":3,"names":["render","screen","waitFor","jest","useMountUpdateUnmountWhenNeeded","mount","unmount","update","setIsWebWorldReady","jsx","_jsx","mock","require","describe","beforeEach","clearAllMocks","Probe","type","props","options","foo","listeners","onTap","objectId","objectType","test","expect","toHaveBeenCalledTimes","rerender"],"sourceRoot":"../../../../../src","sources":["react-native/components-factories/hooks/useMountUnmountUpdateWhenNeeded.test.unit.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["render","screen","waitFor","jest","useMountUpdateUnmountWhenNeeded","mount","unmount","update","setIsWebWorldReady","jsx","_jsx","mock","require","describe","beforeEach","clearAllMocks","Probe","type","props","options","foo","listeners","onTap","optionsThatAreHTMLElements","objectId","objectType","test","expect","toHaveBeenCalledTimes","rerender"],"sourceRoot":"../../../../../src","sources":["react-native/components-factories/hooks/useMountUnmountUpdateWhenNeeded.test.unit.tsx"],"mappings":"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","ignoreList":[]}
@@ -4,7 +4,7 @@ import { forwardRef, useMemo, useRef } from 'react';
4
4
  import useWebObjectMethodsProxy from "../hooks/useWebObjectMethodsProxy.js";
5
5
  import useMountUpdateUnmountWhenNeeded from "../hooks/useMountUpdateUnmountWhenNeeded.js";
6
6
  import { genId } from "./createWebObjectAsComponent.utils.js";
7
- const createWebObjectAsComponent = objectType => {
7
+ const createWebObjectAsComponent = (objectType, optionsThatAreHTMLElements) => {
8
8
  return /*#__PURE__*/forwardRef((props, ref) => {
9
9
  // UID of the web object.
10
10
  const id = useRef(genId());
@@ -19,6 +19,7 @@ const createWebObjectAsComponent = objectType => {
19
19
  options: props.options,
20
20
  listeners: props.listeners
21
21
  },
22
+ optionsThatAreHTMLElements,
22
23
  objectId: id.current,
23
24
  objectType
24
25
  }),
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","useMemo","useRef","useWebObjectMethodsProxy","useMountUpdateUnmountWhenNeeded","genId","createWebObjectAsComponent","objectType","props","ref","id","current","input","type","options","listeners","objectId"],"sourceRoot":"../../../../../src","sources":["react-native/components-factories/web-objects/createWebObjectAsComponent.ts"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AAQnD,OAAOC,wBAAwB,MAAM,sCAAmC;AAExE,OAAOC,+BAA+B,MAAM,6CAA0C;AACtF,SAASC,KAAK,QAAQ,uCAAoC;AAE1D,MAAMC,0BAA0B,GAI9BC,UAAyB,IACU;EACnC,oBAAOP,UAAU,CAAa,CAACQ,KAAK,EAAEC,GAAG,KAAK;IAC5C;IACA,MAAMC,EAAE,GAAGR,MAAM,CAAcG,KAAK,CAAC,CAAC,CAAC;IACvC;IACAF,wBAAwB,CAAMM,GAAG,EAAEC,EAAE,CAACC,OAAO,CAAC;IAC9C;IACA;IACA;IACA,MAAMC,KAA8B,GAAGX,OAAO,CAC5C,OAAO;MACLY,IAAI,EAAE,WAAW;MACjBL,KAAK,EAAE;QACLM,OAAO,EAAEN,KAAK,CAACM,OAAO;QACtBC,SAAS,EAAEP,KAAK,CAACO;MACnB,CAAC;MACDC,QAAQ,EAAEN,EAAE,CAACC,OAAO;MACpBJ;IACF,CAAC,CAAC;IACF;IACA,CAACG,EAAE,EAAEF,KAAK,CAACM,OAAO,EAAEN,KAAK,CAACO,SAAS,CACrC,CAAC;IACDX,+BAA+B,CAACQ,KAAK,CAAC;IAEtC,OAAO,IAAI;EACb,CAAC,CAAC;AACJ,CAAC;AAED,eAAeN,0BAA0B","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","useMemo","useRef","useWebObjectMethodsProxy","useMountUpdateUnmountWhenNeeded","genId","createWebObjectAsComponent","objectType","optionsThatAreHTMLElements","props","ref","id","current","input","type","options","listeners","objectId"],"sourceRoot":"../../../../../src","sources":["react-native/components-factories/web-objects/createWebObjectAsComponent.ts"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AAQnD,OAAOC,wBAAwB,MAAM,sCAAmC;AAExE,OAAOC,+BAA+B,MAAM,6CAA0C;AACtF,SAASC,KAAK,QAAQ,uCAAoC;AAE1D,MAAMC,0BAA0B,GAAGA,CAIjCC,UAAyB,EACzBC,0BAA6C,KACV;EACnC,oBAAOR,UAAU,CAAa,CAACS,KAAK,EAAEC,GAAG,KAAK;IAC5C;IACA,MAAMC,EAAE,GAAGT,MAAM,CAAcG,KAAK,CAAC,CAAC,CAAC;IACvC;IACAF,wBAAwB,CAAMO,GAAG,EAAEC,EAAE,CAACC,OAAO,CAAC;IAC9C;IACA;IACA;IACA,MAAMC,KAA8B,GAAGZ,OAAO,CAC5C,OAAO;MACLa,IAAI,EAAE,WAAW;MACjBL,KAAK,EAAE;QACLM,OAAO,EAAEN,KAAK,CAACM,OAAO;QACtBC,SAAS,EAAEP,KAAK,CAACO;MACnB,CAAC;MACDR,0BAA0B;MAC1BS,QAAQ,EAAEN,EAAE,CAACC,OAAO;MACpBL;IACF,CAAC,CAAC;IACF;IACA,CAACI,EAAE,EAAEF,KAAK,CAACM,OAAO,EAAEN,KAAK,CAACO,SAAS,CACrC,CAAC;IACDZ,+BAA+B,CAACS,KAAK,CAAC;IAEtC,OAAO,IAAI;EACb,CAAC,CAAC;AACJ,CAAC;AAED,eAAeP,0BAA0B","ignoreList":[]}
@@ -15,7 +15,7 @@ describe('createWebObjectAsComponent', () => {
15
15
  describe('Given the web object is rendered and the web world is ready', () => {
16
16
  let Component;
17
17
  beforeEach(() => {
18
- Component = createWebObjectAsComponent('map');
18
+ Component = createWebObjectAsComponent('map', []);
19
19
  setIsWebWorldReady(true);
20
20
  render(/*#__PURE__*/_jsx(Component, {}));
21
21
  });
@@ -1 +1 @@
1
- {"version":3,"names":["render","screen","waitFor","createWebObjectAsComponent","jest","setIsWebWorldReady","mount","unmount","update","jsx","_jsx","mock","require","describe","beforeEach","clearAllMocks","Component","test","expect","toHaveBeenCalledTimes","rerender","listeners","new","options"],"sourceRoot":"../../../../../src","sources":["react-native/components-factories/web-objects/createWebObjectAsComponent.test.integration.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["render","screen","waitFor","createWebObjectAsComponent","jest","setIsWebWorldReady","mount","unmount","update","jsx","_jsx","mock","require","describe","beforeEach","clearAllMocks","Component","test","expect","toHaveBeenCalledTimes","rerender","listeners","new","options"],"sourceRoot":"../../../../../src","sources":["react-native/components-factories/web-objects/createWebObjectAsComponent.test.integration.tsx"],"mappings":"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","ignoreList":[]}
@@ -14,7 +14,7 @@ describe('createWebObjectAsComponent', () => {
14
14
  });
15
15
  describe('Given the web object is rendered', () => {
16
16
  beforeEach(() => {
17
- const Component = createWebObjectAsComponent('map');
17
+ const Component = createWebObjectAsComponent('map', []);
18
18
  render(/*#__PURE__*/_jsx(Component, {}));
19
19
  });
20
20
  describe('When nothing', () => {
@@ -1 +1 @@
1
- {"version":3,"names":["render","createWebObjectAsComponent","jest","useWebObjectMethodsProxy","useMountUpdateUnmountWhenNeeded","jsx","_jsx","mock","require","describe","beforeEach","clearAllMocks","Component","test","expect","toHaveBeenCalledTimes"],"sourceRoot":"../../../../../src","sources":["react-native/components-factories/web-objects/createWebObjectAsComponent.test.unit.tsx"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,+BAA+B;AACtD,OAAOC,0BAA0B,MAAM,iCAA8B;AACrE,SAASC,IAAI,QAAQ,eAAe;AACpC,OAAOC,wBAAwB,MAAM,sCAAmC;AACxE,OAAOC,+BAA+B,MAAM,6CAA0C;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAEtFJ,IAAI,CAACK,IAAI,CAAC,qCAAqC,EAAE,MAC/CC,OAAO,CAAC,0CAA0C,CACpD,CAAC;AAEDN,IAAI,CAACK,IAAI,CAAC,4CAA4C,EAAE,MACtDC,OAAO,CAAC,iDAAiD,CAC3D,CAAC;AAEDC,QAAQ,CAAC,4BAA4B,EAAE,MAAM;EAC3CC,UAAU,CAAC,MAAM;IACfR,IAAI,CAACS,aAAa,CAAC,CAAC;EACtB,CAAC,CAAC;EAEFF,QAAQ,CAAC,kCAAkC,EAAE,MAAM;IACjDC,UAAU,CAAC,MAAM;MACf,MAAME,SAAS,GAAGX,0BAA0B,CAAC,KAAK,CAAC;MACnDD,MAAM,cAACM,IAAA,CAACM,SAAS,IAAE,CAAC,CAAC;IACvB,CAAC,CAAC;IAEFH,QAAQ,CAAC,cAAc,EAAE,MAAM;MAC7BI,IAAI,CAAC,mCAAmC,EAAE,MAAM;QAC9CC,MAAM,CAACX,wBAAwB,CAAC,CAACY,qBAAqB,CAAC,CAAC,CAAC;MAC3D,CAAC,CAAC;MAEFF,IAAI,CAAC,gDAAgD,EAAE,MAAM;QAC3DC,MAAM,CAACV,+BAA+B,CAAC,CAACW,qBAAqB,CAAC,CAAC,CAAC;MAClE,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["render","createWebObjectAsComponent","jest","useWebObjectMethodsProxy","useMountUpdateUnmountWhenNeeded","jsx","_jsx","mock","require","describe","beforeEach","clearAllMocks","Component","test","expect","toHaveBeenCalledTimes"],"sourceRoot":"../../../../../src","sources":["react-native/components-factories/web-objects/createWebObjectAsComponent.test.unit.tsx"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,+BAA+B;AACtD,OAAOC,0BAA0B,MAAM,iCAA8B;AACrE,SAASC,IAAI,QAAQ,eAAe;AACpC,OAAOC,wBAAwB,MAAM,sCAAmC;AACxE,OAAOC,+BAA+B,MAAM,6CAA0C;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAEtFJ,IAAI,CAACK,IAAI,CAAC,qCAAqC,EAAE,MAC/CC,OAAO,CAAC,0CAA0C,CACpD,CAAC;AAEDN,IAAI,CAACK,IAAI,CAAC,4CAA4C,EAAE,MACtDC,OAAO,CAAC,iDAAiD,CAC3D,CAAC;AAEDC,QAAQ,CAAC,4BAA4B,EAAE,MAAM;EAC3CC,UAAU,CAAC,MAAM;IACfR,IAAI,CAACS,aAAa,CAAC,CAAC;EACtB,CAAC,CAAC;EAEFF,QAAQ,CAAC,kCAAkC,EAAE,MAAM;IACjDC,UAAU,CAAC,MAAM;MACf,MAAME,SAAS,GAAGX,0BAA0B,CAAC,KAAK,EAAE,EAAE,CAAC;MACvDD,MAAM,cAACM,IAAA,CAACM,SAAS,IAAE,CAAC,CAAC;IACvB,CAAC,CAAC;IAEFH,QAAQ,CAAC,cAAc,EAAE,MAAM;MAC7BI,IAAI,CAAC,mCAAmC,EAAE,MAAM;QAC9CC,MAAM,CAACX,wBAAwB,CAAC,CAACY,qBAAqB,CAAC,CAAC,CAAC;MAC3D,CAAC,CAAC;MAEFF,IAAI,CAAC,gDAAgD,EAAE,MAAM;QAC3DC,MAAM,CAACV,+BAA+B,CAAC,CAACW,qBAAqB,CAAC,CAAC,CAAC;MAClE,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import maplibregl from 'maplibre-gl';
4
- import { isWebObjectListenerOnHTMLElement, isWebObjectListenerOnMapLayer, isWebObjectListenerOnObject } from "../../communication/messages.utils.js";
4
+ import { getHTMLElementDescriptorListenerName, isWebObjectListenerOnHTMLElement, isWebObjectListenerOnMapLayer, isWebObjectListenerOnObject } from "../../communication/messages.utils.js";
5
5
  import { stableStringify } from "../../react-native/hooks/atoms/useMapAtoms.utils.js";
6
6
  import { MAP_OPTIONS_THAT_ARE_HTML_ELEMENTS, MAP_OPTIONS_THAT_ARE_WEB_FUNCTIONS } from "../../react-native/components/web-objects/Map/Map.types.js";
7
7
  import { MARKER_OPTIONS_THAT_ARE_HTML_ELEMENTS, MARKER_OPTIONS_THAT_ARE_WEB_FUNCTIONS } from "../../react-native/components/web-objects/Marker/Marker.types.js";
@@ -31,13 +31,7 @@ export default class WebObjectsController {
31
31
  this.#objects.entries().forEach(([id, object]) => {
32
32
  if (!(object instanceof maplibregl.Map)) {
33
33
  object.addTo(map);
34
- reactNativeBridge.postMessage({
35
- type: 'webObjectListenerEvent',
36
- payload: {
37
- objectId: id,
38
- eventName: 'mount'
39
- }
40
- });
34
+ this.#sendEventToReactNative(id, reactNativeBridge, 'mount');
41
35
  }
42
36
  });
43
37
  };
@@ -86,7 +80,7 @@ export default class WebObjectsController {
86
80
  switch (objectType) {
87
81
  case 'map':
88
82
  {
89
- options = this.#resolveDescriptorsInOptions(options, MAP_OPTIONS_THAT_ARE_WEB_FUNCTIONS, MAP_OPTIONS_THAT_ARE_HTML_ELEMENTS);
83
+ options = this.#resolveDescriptorsInOptions(objectId, reactNativeBridge, options, MAP_OPTIONS_THAT_ARE_WEB_FUNCTIONS, MAP_OPTIONS_THAT_ARE_HTML_ELEMENTS);
90
84
  const htmlContainer = document.getElementById('app');
91
85
  element = new maplibregl.Map({
92
86
  ...options,
@@ -97,13 +91,13 @@ export default class WebObjectsController {
97
91
  }
98
92
  case 'marker':
99
93
  {
100
- options = this.#resolveDescriptorsInOptions(options, MARKER_OPTIONS_THAT_ARE_WEB_FUNCTIONS, MARKER_OPTIONS_THAT_ARE_HTML_ELEMENTS);
94
+ options = this.#resolveDescriptorsInOptions(objectId, reactNativeBridge, options, MARKER_OPTIONS_THAT_ARE_WEB_FUNCTIONS, MARKER_OPTIONS_THAT_ARE_HTML_ELEMENTS);
101
95
  element = new maplibregl.Marker(options).setLngLat(options.coordinate ?? [0, 0]).addTo(this.map);
102
96
  break;
103
97
  }
104
98
  case 'popup':
105
99
  {
106
- options = this.#resolveDescriptorsInOptions(options, POPUP_OPTIONS_THAT_ARE_WEB_FUNCTIONS, POPUP_OPTIONS_THAT_ARE_HTML_ELEMENTS);
100
+ options = this.#resolveDescriptorsInOptions(objectId, reactNativeBridge, options, POPUP_OPTIONS_THAT_ARE_WEB_FUNCTIONS, POPUP_OPTIONS_THAT_ARE_HTML_ELEMENTS);
107
101
  element = new maplibregl.Popup(options);
108
102
  break;
109
103
  }
@@ -113,13 +107,7 @@ export default class WebObjectsController {
113
107
  }
114
108
 
115
109
  // Send the "mount" event to the React Native listener.
116
- reactNativeBridge.postMessage({
117
- type: 'webObjectListenerEvent',
118
- payload: {
119
- objectId,
120
- eventName: 'mount'
121
- }
122
- });
110
+ this.#sendEventToReactNative(objectId, reactNativeBridge, 'mount');
123
111
  return element;
124
112
  };
125
113
  #updateObject = (objectId, objectType, options, reactNativeBridge) => {
@@ -144,43 +132,23 @@ export default class WebObjectsController {
144
132
  }
145
133
  object.remove();
146
134
  // Send the "unmount" event to the React Native listener.
147
- reactNativeBridge.postMessage({
148
- type: 'webObjectListenerEvent',
149
- payload: {
150
- objectId: objectId,
151
- eventName: 'unmount'
152
- }
153
- });
135
+ this.#sendEventToReactNative(objectId, reactNativeBridge, 'unmount');
154
136
  };
155
137
  #setObjectListeners = (reactNativeBridge, object, objectId, listeners) => {
156
138
  if (!listeners) {
157
139
  return;
158
140
  }
159
141
  Object.entries(listeners).forEach(([eventName, listener]) => {
160
- const sendEventToReactNative = event => {
161
- // Remove circular references that cannot be serialized.
162
- delete event.target;
163
- // Send the event to the React Native listener.
164
- reactNativeBridge.postMessage({
165
- type: 'webObjectListenerEvent',
166
- payload: {
167
- objectId,
168
- eventName,
169
- event
170
- }
171
- });
172
- };
173
-
174
142
  // Attach the listener to the object.
175
143
  if (isWebObjectListenerOnObject(listener)) {
176
- object.on(eventName, sendEventToReactNative);
144
+ object.on(eventName, event => this.#sendEventToReactNative(objectId, reactNativeBridge, eventName, event));
177
145
  }
178
146
  // Attach the listener to a map layer.
179
147
  if (isWebObjectListenerOnMapLayer(listener)) {
180
148
  // Listening to only one layer of the map is only possible on map
181
149
  // events.
182
150
  if (object instanceof maplibregl.Map) {
183
- object.on(eventName, listener.layerId, sendEventToReactNative);
151
+ object.on(eventName, listener.layerId, event => this.#sendEventToReactNative(objectId, reactNativeBridge, eventName, event));
184
152
  }
185
153
  }
186
154
  // Attach the listener to the HTML element of the object
@@ -189,7 +157,7 @@ export default class WebObjectsController {
189
157
  // object.
190
158
  if (!(object instanceof maplibregl.Map)) {
191
159
  object.getElement().addEventListener(eventName, event => {
192
- sendEventToReactNative(event);
160
+ this.#sendEventToReactNative(objectId, reactNativeBridge, eventName, event);
193
161
  event.stopPropagation();
194
162
  });
195
163
  }
@@ -261,14 +229,14 @@ export default class WebObjectsController {
261
229
  #runNormalMethod = async (message, object) => {
262
230
  return await object[message.payload.method]?.(...message.payload.args);
263
231
  };
264
- #resolveDescriptorsInOptions = (options, optionsThatAreFunctions, optionsThatAreHTMLElements) => {
232
+ #resolveDescriptorsInOptions = (objectId, reactNativeBridge, options, optionsThatAreFunctions, optionsThatAreHTMLElements) => {
265
233
  if (options === null || typeof options !== 'object') {
266
234
  return options;
267
235
  }
268
236
 
269
237
  // Flatten the array if needed.
270
238
  if (Array.isArray(options)) {
271
- return options.map(opt => this.#resolveDescriptorsInOptions(opt, optionsThatAreFunctions, optionsThatAreHTMLElements));
239
+ return options.map(opt => this.#resolveDescriptorsInOptions(objectId, reactNativeBridge, opt, optionsThatAreFunctions, optionsThatAreHTMLElements));
272
240
  }
273
241
  const resolved = {};
274
242
 
@@ -278,38 +246,46 @@ export default class WebObjectsController {
278
246
  if (optionsThatAreFunctions.includes(key)) {
279
247
  resolved[key] = window[options[key]];
280
248
  } else if (optionsThatAreHTMLElements.includes(key)) {
281
- resolved[key] = this.#buildHTMLElement(options[key]);
249
+ resolved[key] = this.#buildHTMLElement(objectId, reactNativeBridge, options[key]);
282
250
  } else {
283
- resolved[key] = this.#resolveDescriptorsInOptions(options[key], optionsThatAreFunctions, optionsThatAreHTMLElements);
251
+ resolved[key] = this.#resolveDescriptorsInOptions(objectId, reactNativeBridge, options[key], optionsThatAreFunctions, optionsThatAreHTMLElements);
284
252
  }
285
253
  }
286
254
  return resolved;
287
255
  };
288
- #buildHTMLElement = descriptor => {
256
+ #buildHTMLElement = (objectId, reactNativeBridge, descriptor) => {
289
257
  // From a descriptor, build the corresponding HTMLElement.
290
258
  if (!descriptor) {
291
259
  return undefined;
292
260
  }
293
- const element = document.createElement(descriptor.tagName ?? 'div');
294
- element.className = descriptor.className ?? '';
295
- if (descriptor.attributes) {
296
- for (const [name, value] of Object.entries(descriptor.attributes)) {
297
- element.setAttribute(name, value);
298
- }
299
- }
300
- if (descriptor.style) {
301
- Object.assign(element.style, descriptor.style);
302
- }
303
- if (descriptor.dataset) {
304
- for (const [name, value] of Object.entries(descriptor.dataset)) {
305
- ;
306
- element.dataset[name] = value;
307
- }
308
- }
261
+ const element = document.createElement('div');
262
+ // Provide the inner HTML (style + HTML) to the element.
309
263
  if (descriptor.innerHTML !== undefined) {
310
264
  element.innerHTML = descriptor.innerHTML;
311
265
  }
266
+ // Attach the listeners to the element.
267
+ descriptor.listeners?.forEach(listener => {
268
+ element.addEventListener(listener.eventName, event => {
269
+ const target = event.target;
270
+ if (target.closest(listener.cssSelector)) {
271
+ this.#sendEventToReactNative(objectId, reactNativeBridge, getHTMLElementDescriptorListenerName(listener), event);
272
+ }
273
+ });
274
+ });
312
275
  return element;
313
276
  };
277
+ #sendEventToReactNative = (objectId, reactNativeBridge, eventName, event) => {
278
+ // Remove circular references that cannot be serialized.
279
+ delete event?.target;
280
+ // Send the event to the React Native listener.
281
+ reactNativeBridge.postMessage({
282
+ type: 'webObjectListenerEvent',
283
+ payload: {
284
+ objectId,
285
+ eventName,
286
+ event
287
+ }
288
+ });
289
+ };
314
290
  }
315
291
  //# sourceMappingURL=WebObjectsController.js.map