react-native-maplibre-gl-js 1.23.2 → 1.23.4

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 (21) hide show
  1. package/lib/module/communication/messages.utils.js +61 -0
  2. package/lib/module/communication/messages.utils.js.map +1 -1
  3. package/lib/module/react-native/components/core/MapProvider/MapProvider.hooks.js +19 -0
  4. package/lib/module/react-native/components/core/MapProvider/MapProvider.hooks.js.map +1 -1
  5. package/lib/module/react-native/components/core/MapProvider/MapProvider.js +7 -3
  6. package/lib/module/react-native/components/core/MapProvider/MapProvider.js.map +1 -1
  7. package/lib/module/react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.js +33 -30
  8. package/lib/module/react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.js.map +1 -1
  9. package/lib/module/react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.utils.js +8 -61
  10. package/lib/module/react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.utils.js.map +1 -1
  11. package/lib/module/react-native/components-factories/hooks/useWebObjectMethodsProxy.js +1 -1
  12. package/lib/module/react-native/components-factories/hooks/useWebObjectMethodsProxy.js.map +1 -1
  13. package/lib/typescript/src/communication/messages.utils.d.ts +4 -1
  14. package/lib/typescript/src/communication/messages.utils.d.ts.map +1 -1
  15. package/lib/typescript/src/react-native/components/core/MapProvider/MapProvider.d.ts.map +1 -1
  16. package/lib/typescript/src/react-native/components/core/MapProvider/MapProvider.hooks.d.ts +11 -0
  17. package/lib/typescript/src/react-native/components/core/MapProvider/MapProvider.hooks.d.ts.map +1 -1
  18. package/lib/typescript/src/react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.d.ts.map +1 -1
  19. package/lib/typescript/src/react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.utils.d.ts +1 -4
  20. package/lib/typescript/src/react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.utils.d.ts.map +1 -1
  21. package/package.json +1 -1
@@ -25,4 +25,65 @@ export const isWebObjectListenerOnHTMLElement = listener => {
25
25
  return 'elementListener' in listener;
26
26
  };
27
27
  export const getHTMLElementDescriptorListenerName = listener => `${listener.eventName}${listener.cssSelector}`;
28
+ export const removeHTMLElementListeners = (options, optionsThatAreHTMLElements) => {
29
+ if (!options || typeof options !== 'object') {
30
+ return options;
31
+ }
32
+ if (Array.isArray(options)) {
33
+ return options.map(opt => removeHTMLElementListeners(opt, optionsThatAreHTMLElements));
34
+ }
35
+ const result = {};
36
+ for (const key in options) {
37
+ if (optionsThatAreHTMLElements.includes(key) && Array.isArray(options[key]?.listeners)) {
38
+ result[key] = {
39
+ ...options[key],
40
+ listeners: options[key].listeners.map(({
41
+ cssSelector,
42
+ eventName
43
+ }) => ({
44
+ cssSelector,
45
+ eventName
46
+ }))
47
+ };
48
+ } else {
49
+ result[key] = removeHTMLElementListeners(options[key], optionsThatAreHTMLElements);
50
+ }
51
+ }
52
+ return result;
53
+ };
54
+ export const extractHTMLElementListenersFromOptions = (options, optionsThatAreHTMLElements) => {
55
+ let callbacks = {};
56
+ for (const key of optionsThatAreHTMLElements) {
57
+ callbacks = {
58
+ ...callbacks,
59
+ ...extractHTMLElementListenersFromDescriptor(options?.[key])
60
+ };
61
+ }
62
+ return callbacks;
63
+ };
64
+ export const extractHTMLElementListenersFromMethodArgs = methodArgs => {
65
+ let callbacks = {};
66
+ for (const arg of methodArgs) {
67
+ // TODO we need a more robust way to identify HTMLElements. A class for
68
+ // HTMLElementDescriptor could be created.
69
+ if (!arg?.listeners) {
70
+ continue;
71
+ }
72
+ callbacks = {
73
+ ...callbacks,
74
+ ...extractHTMLElementListenersFromDescriptor(arg)
75
+ };
76
+ }
77
+ return callbacks;
78
+ };
79
+ const extractHTMLElementListenersFromDescriptor = htmlElement => {
80
+ const callbacks = {};
81
+ const htmlListeners = htmlElement?.listeners;
82
+ htmlListeners?.forEach(listener => {
83
+ callbacks[getHTMLElementDescriptorListenerName(listener)] = {
84
+ elementListener: listener.callback
85
+ };
86
+ });
87
+ return callbacks;
88
+ };
28
89
  //# sourceMappingURL=messages.utils.js.map
@@ -1 +1 @@
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
+ {"version":3,"names":["isWebObjectListenerOnRN","listener","isWebObjectListenerOnObject","isWebObjectListenerOnMapLayer","isWebObjectListenerOnHTMLElement","getHTMLElementDescriptorListenerName","eventName","cssSelector","removeHTMLElementListeners","options","optionsThatAreHTMLElements","Array","isArray","map","opt","result","key","includes","listeners","extractHTMLElementListenersFromOptions","callbacks","extractHTMLElementListenersFromDescriptor","extractHTMLElementListenersFromMethodArgs","methodArgs","arg","htmlElement","htmlListeners","forEach","elementListener","callback"],"sourceRoot":"../../../src","sources":["communication/messages.utils.ts"],"mappings":";;AAYA,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;AAE3D,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;UAAEN,WAAW;UAAED;QAAyC,CAAC,MAAM;UAC9DC,WAAW;UACXD;QACF,CAAC,CACH;MACF,CAAC;IACH,CAAC,MAAM;MACLS,MAAM,CAACC,GAAG,CAAC,GAAGR,0BAA0B,CACtCC,OAAO,CAACO,GAAG,CAAC,EACZN,0BACF,CAAC;IACH;EACF;EACA,OAAOK,MAAM;AACf,CAAC;AAED,OAAO,MAAMI,sCAAsC,GAAGA,CACpDV,OAAY,EACZC,0BAA6C,KACtB;EACvB,IAAIU,SAA6B,GAAG,CAAC,CAAC;EAEtC,KAAK,MAAMJ,GAAG,IAAIN,0BAA0B,EAAE;IAC5CU,SAAS,GAAG;MACV,GAAGA,SAAS;MACZ,GAAGC,yCAAyC,CAACZ,OAAO,GAAGO,GAAG,CAAC;IAC7D,CAAC;EACH;EAEA,OAAOI,SAAS;AAClB,CAAC;AAED,OAAO,MAAME,yCAAyC,GACpDC,UAAiB,IACM;EACvB,IAAIH,SAA6B,GAAG,CAAC,CAAC;EAEtC,KAAK,MAAMI,GAAG,IAAID,UAAU,EAAE;IAC5B;IACA;IACA,IAAI,CAACC,GAAG,EAAEN,SAAS,EAAE;MACnB;IACF;IACAE,SAAS,GAAG;MACV,GAAGA,SAAS;MACZ,GAAGC,yCAAyC,CAACG,GAAG;IAClD,CAAC;EACH;EAEA,OAAOJ,SAAS;AAClB,CAAC;AAED,MAAMC,yCAAyC,GAC7CI,WAA8C,IACvB;EACvB,MAAML,SAA6B,GAAG,CAAC,CAAC;EACxC,MAAMM,aAAa,GAAGD,WAAW,EAAEP,SAEtB;EAEbQ,aAAa,EAAEC,OAAO,CAAE1B,QAAQ,IAAK;IACnCmB,SAAS,CAACf,oCAAoC,CAACJ,QAAQ,CAAC,CAAC,GAAG;MAC1D2B,eAAe,EAAE3B,QAAQ,CAAC4B;IAC5B,CAAC;EACH,CAAC,CAAC;EAEF,OAAOT,SAAS;AAClB,CAAC","ignoreList":[]}
@@ -160,6 +160,25 @@ export const useFlushMessagesOnMapMounted = () => {
160
160
  }, [flushMessages, isMapMountMessageReady]);
161
161
  };
162
162
 
163
+ /**
164
+ * Stable values for the native scripts and CSS styles to avoid unnecessary
165
+ * executions.
166
+ * @param nativeScripts - A list of scripts to be injected into the WebView.
167
+ * @param cssStyles - The CSS to be made available within the webview.
168
+ * @returns - The stable values for the native scripts and CSS styles.
169
+ */
170
+ export const useStableNativeScriptsAndCssStyles = (nativeScripts, cssStyles) => {
171
+ const stableNativeScripts = useMemo(() => nativeScripts,
172
+ // eslint-disable-next-line react-hooks/exhaustive-deps
173
+ [Array.isArray(nativeScripts) ? nativeScripts.join('||') : nativeScripts]);
174
+ const stableCssStyles = useMemo(() => cssStyles,
175
+ // eslint-disable-next-line react-hooks/exhaustive-deps
176
+ [Array.isArray(cssStyles) ? cssStyles.join('||') : cssStyles]);
177
+ return {
178
+ stableNativeScripts,
179
+ stableCssStyles
180
+ };
181
+ };
163
182
  /**
164
183
  * @param cssStyles - The CSS to be made available within the webview.
165
184
  * @returns - A script to provide the given parameters to the Web world, using
@@ -1 +1 @@
1
- {"version":3,"names":["StyleSheet","useCallback","useEffect","useMemo","useRef","RNLogger","isWebObjectListenerOnHTMLElement","isWebObjectListenerOnMapLayer","isWebObjectListenerOnObject","isWebObjectListenerOnRN","useMapAtoms","buildCssInjectionScript","normalizeData","useStyles","create","container","width","height","overflow","webView","flex","backgroundColor","useWebMessageHandler","setIsWebWorldReady","getWebObjectListeners","getMapSourceListeners","resolveWebObjectPendingMethodResponse","createWebViewMessageHandler","handlers","handleMessage","event","debug","name","nativeEvent","data","message","JSON","parse","messages","type","payload","forEach","item","handler","error","console","args","level","slice","ready","webObjectListenerEvent","objectId","eventName","listener","rnListener","objectListener","layerListener","elementListener","webObjectMethodResponse","requestId","result","mapSourceListenerEvent","sourceId","layerId","useEnableDisableRNLogger","isEnabled","enable","disable","useFlushMessagesOnMapMounted","isMapMountMessageReady","flushMessages","useCssStylesInjectionScript","cssStyles","cssStylesInjectionScript","normalizedCss","undefined","useWebLoggerEnabledInjectionScript","webLoggerEnabledInjectionScript","useMessageOptionsInjectionScript","messageOptions","messageOptionsInjectionScript","flushIntervalMs","keepOnlyLastMessagePerType","useInjectJavaScriptIfScriptChanged","script","lastInjectedScriptRef","isWebWorldReady","current","injectJavaScript","useInjectJavaScriptIfAScriptChanged","scripts","lastInjectedScriptsRef","lastScripts","scriptsChanged","Array","isArray","length","some","s","i","normalizedScripts"],"sourceRoot":"../../../../../../src","sources":["react-native/components/core/MapProvider/MapProvider.hooks.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["StyleSheet","useCallback","useEffect","useMemo","useRef","RNLogger","isWebObjectListenerOnHTMLElement","isWebObjectListenerOnMapLayer","isWebObjectListenerOnObject","isWebObjectListenerOnRN","useMapAtoms","buildCssInjectionScript","normalizeData","useStyles","create","container","width","height","overflow","webView","flex","backgroundColor","useWebMessageHandler","setIsWebWorldReady","getWebObjectListeners","getMapSourceListeners","resolveWebObjectPendingMethodResponse","createWebViewMessageHandler","handlers","handleMessage","event","debug","name","nativeEvent","data","message","JSON","parse","messages","type","payload","forEach","item","handler","error","console","args","level","slice","ready","webObjectListenerEvent","objectId","eventName","listener","rnListener","objectListener","layerListener","elementListener","webObjectMethodResponse","requestId","result","mapSourceListenerEvent","sourceId","layerId","useEnableDisableRNLogger","isEnabled","enable","disable","useFlushMessagesOnMapMounted","isMapMountMessageReady","flushMessages","useStableNativeScriptsAndCssStyles","nativeScripts","cssStyles","stableNativeScripts","Array","isArray","join","stableCssStyles","useCssStylesInjectionScript","cssStylesInjectionScript","normalizedCss","undefined","useWebLoggerEnabledInjectionScript","webLoggerEnabledInjectionScript","useMessageOptionsInjectionScript","messageOptions","messageOptionsInjectionScript","flushIntervalMs","keepOnlyLastMessagePerType","useInjectJavaScriptIfScriptChanged","script","lastInjectedScriptRef","isWebWorldReady","current","injectJavaScript","useInjectJavaScriptIfAScriptChanged","scripts","lastInjectedScriptsRef","lastScripts","scriptsChanged","length","some","s","i","normalizedScripts"],"sourceRoot":"../../../../../../src","sources":["react-native/components/core/MapProvider/MapProvider.hooks.ts"],"mappings":"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","ignoreList":[]}
@@ -4,7 +4,7 @@ import { View } from 'react-native';
4
4
  import { WebView } from 'react-native-webview';
5
5
  import { WEBVIEW_STATIC_HTML } from "../../../../web/generated/webview_static_html.js";
6
6
  import useMapAtoms from "../../../hooks/atoms/useMapAtoms.js";
7
- import { useCssStylesInjectionScript, useEnableDisableRNLogger, useFlushMessagesOnMapMounted, useInjectJavaScriptIfAScriptChanged, useInjectJavaScriptIfScriptChanged, useMessageOptionsInjectionScript, useStyles, useWebLoggerEnabledInjectionScript, useWebMessageHandler } from "./MapProvider.hooks.js";
7
+ import { useCssStylesInjectionScript, useEnableDisableRNLogger, useFlushMessagesOnMapMounted, useInjectJavaScriptIfAScriptChanged, useInjectJavaScriptIfScriptChanged, useMessageOptionsInjectionScript, useStableNativeScriptsAndCssStyles, useStyles, useWebLoggerEnabledInjectionScript, useWebMessageHandler } from "./MapProvider.hooks.js";
8
8
  import { ScopeProvider } from 'jotai-scope';
9
9
  import { mapAtomsList } from "../../../hooks/atoms/mapAtoms.js";
10
10
 
@@ -63,6 +63,10 @@ const MapProviderInner = ({
63
63
  // Theme.
64
64
  const styles = useStyles();
65
65
  // Behaviors.
66
+ const {
67
+ stableNativeScripts,
68
+ stableCssStyles
69
+ } = useStableNativeScriptsAndCssStyles(nativeScripts, cssStyles);
66
70
  const {
67
71
  handler
68
72
  } = useWebMessageHandler();
@@ -70,7 +74,7 @@ const MapProviderInner = ({
70
74
  useFlushMessagesOnMapMounted();
71
75
  const {
72
76
  cssStylesInjectionScript
73
- } = useCssStylesInjectionScript(cssStyles);
77
+ } = useCssStylesInjectionScript(stableCssStyles);
74
78
  const {
75
79
  webLoggerEnabledInjectionScript
76
80
  } = useWebLoggerEnabledInjectionScript(webLoggerEnabled);
@@ -80,7 +84,7 @@ const MapProviderInner = ({
80
84
  useInjectJavaScriptIfScriptChanged(cssStylesInjectionScript);
81
85
  useInjectJavaScriptIfScriptChanged(webLoggerEnabledInjectionScript);
82
86
  useInjectJavaScriptIfScriptChanged(messageOptionsInjectionScript);
83
- useInjectJavaScriptIfAScriptChanged(nativeScripts);
87
+ useInjectJavaScriptIfAScriptChanged(stableNativeScripts);
84
88
  return /*#__PURE__*/_jsxs(View, {
85
89
  style: [styles.container, style],
86
90
  children: [/*#__PURE__*/_jsx(WebView, {
@@ -1 +1 @@
1
- {"version":3,"names":["View","WebView","WEBVIEW_STATIC_HTML","useMapAtoms","useCssStylesInjectionScript","useEnableDisableRNLogger","useFlushMessagesOnMapMounted","useInjectJavaScriptIfAScriptChanged","useInjectJavaScriptIfScriptChanged","useMessageOptionsInjectionScript","useStyles","useWebLoggerEnabledInjectionScript","useWebMessageHandler","ScopeProvider","mapAtomsList","jsx","_jsx","jsxs","_jsxs","MapProvider","props","atoms","children","MapProviderInner","style","webViewStyle","cssStyles","nativeScripts","rnLoggerEnabled","webLoggerEnabled","webMessageOptions","flushIntervalMs","keepOnlyLastMessagePerType","onWebViewReset","setWebView","webWorldSessionKey","reset","styles","handler","cssStylesInjectionScript","webLoggerEnabledInjectionScript","messageOptionsInjectionScript","container","testID","ref","webView","scrollEnabled","javaScriptEnabled","domStorageEnabled","onMessage","source","html","injectedJavaScriptBeforeContentLoaded","join","onContentProcessDidTerminate","onRenderProcessGone"],"sourceRoot":"../../../../../../src","sources":["react-native/components/core/MapProvider/MapProvider.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["View","WebView","WEBVIEW_STATIC_HTML","useMapAtoms","useCssStylesInjectionScript","useEnableDisableRNLogger","useFlushMessagesOnMapMounted","useInjectJavaScriptIfAScriptChanged","useInjectJavaScriptIfScriptChanged","useMessageOptionsInjectionScript","useStableNativeScriptsAndCssStyles","useStyles","useWebLoggerEnabledInjectionScript","useWebMessageHandler","ScopeProvider","mapAtomsList","jsx","_jsx","jsxs","_jsxs","MapProvider","props","atoms","children","MapProviderInner","style","webViewStyle","cssStyles","nativeScripts","rnLoggerEnabled","webLoggerEnabled","webMessageOptions","flushIntervalMs","keepOnlyLastMessagePerType","onWebViewReset","setWebView","webWorldSessionKey","reset","styles","stableNativeScripts","stableCssStyles","handler","cssStylesInjectionScript","webLoggerEnabledInjectionScript","messageOptionsInjectionScript","container","testID","ref","webView","scrollEnabled","javaScriptEnabled","domStorageEnabled","onMessage","source","html","injectedJavaScriptBeforeContentLoaded","join","onContentProcessDidTerminate","onRenderProcessGone"],"sourceRoot":"../../../../../../src","sources":["react-native/components/core/MapProvider/MapProvider.tsx"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,8 @@
2
2
 
3
3
  import { useCallback } from 'react';
4
4
  import useMapAtoms from "../../hooks/atoms/useMapAtoms.js";
5
- import { extractHTMLElementListenersFromOptions, removeHTMLElementListeners } from "./useMountUnmountUpdateCallbacks.utils.js";
5
+ import { useStableValue } from "./useMountUnmountUpdateCallbacks.utils.js";
6
+ import { extractHTMLElementListenersFromOptions, removeHTMLElementListeners } from "../../../communication/messages.utils.js";
6
7
 
7
8
  /**
8
9
  * @param input - The RN object props, etc.
@@ -19,24 +20,26 @@ const useMountUnmountUpdateCallbacks = input => {
19
20
  setMapSourceListeners,
20
21
  deleteMapSourceListeners
21
22
  } = useMapAtoms();
23
+ // Behaviors.
24
+ const stableInput = useStableValue(input);
22
25
  const mount = useCallback(() => {
23
- switch (input.type) {
26
+ switch (stableInput.type) {
24
27
  case 'webObject':
25
28
  {
26
29
  dispatchMessage({
27
30
  type: `webObjectMount`,
28
31
  payload: {
29
- options: removeHTMLElementListeners(input.props.options, input.optionsThatAreHTMLElements),
30
- listeners: input.props.listeners,
31
- objectId: input.objectId,
32
- objectType: input.objectType
32
+ options: removeHTMLElementListeners(stableInput.props.options, stableInput.optionsThatAreHTMLElements),
33
+ listeners: stableInput.props.listeners,
34
+ objectId: stableInput.objectId,
35
+ objectType: stableInput.objectType
33
36
  }
34
37
  });
35
38
  setWebObjectListeners({
36
- objectId: input.objectId,
39
+ objectId: stableInput.objectId,
37
40
  listeners: {
38
- ...(input.props.listeners ?? {}),
39
- ...extractHTMLElementListenersFromOptions(input.props.options, input.optionsThatAreHTMLElements)
41
+ ...(stableInput.props.listeners ?? {}),
42
+ ...extractHTMLElementListenersFromOptions(stableInput.props.options, stableInput.optionsThatAreHTMLElements)
40
43
  }
41
44
  });
42
45
  break;
@@ -45,11 +48,11 @@ const useMountUnmountUpdateCallbacks = input => {
45
48
  {
46
49
  dispatchMessage({
47
50
  type: `mapSourceMount`,
48
- payload: input.props
51
+ payload: stableInput.props
49
52
  });
50
53
  setMapSourceListeners({
51
- sourceId: input.props.id,
52
- listeners: input.props.layers.map(item => item.listeners ? {
54
+ sourceId: stableInput.props.id,
55
+ listeners: stableInput.props.layers.map(item => item.listeners ? {
53
56
  layerId: item.layer.id,
54
57
  listeners: item.listeners
55
58
  } : undefined).filter(item => item !== undefined) ?? []
@@ -57,23 +60,23 @@ const useMountUnmountUpdateCallbacks = input => {
57
60
  break;
58
61
  }
59
62
  }
60
- }, [input, dispatchMessage, setWebObjectListeners, setMapSourceListeners]);
63
+ }, [stableInput, dispatchMessage, setWebObjectListeners, setMapSourceListeners]);
61
64
  const update = useCallback(() => {
62
- switch (input.type) {
65
+ switch (stableInput.type) {
63
66
  case 'webObject':
64
67
  {
65
68
  dispatchMessage({
66
69
  type: `webObjectUpdate`,
67
70
  payload: {
68
- options: input.props.options,
69
- listeners: input.props.listeners,
70
- objectId: input.objectId,
71
- objectType: input.objectType
71
+ options: stableInput.props.options,
72
+ listeners: stableInput.props.listeners,
73
+ objectId: stableInput.objectId,
74
+ objectType: stableInput.objectType
72
75
  }
73
76
  });
74
77
  setWebObjectListeners({
75
- objectId: input.objectId,
76
- listeners: input.props.listeners ?? {}
78
+ objectId: stableInput.objectId,
79
+ listeners: stableInput.props.listeners ?? {}
77
80
  });
78
81
  break;
79
82
  }
@@ -81,11 +84,11 @@ const useMountUnmountUpdateCallbacks = input => {
81
84
  {
82
85
  dispatchMessage({
83
86
  type: `mapSourceUpdate`,
84
- payload: input.props
87
+ payload: stableInput.props
85
88
  });
86
89
  setMapSourceListeners({
87
- sourceId: input.props.id,
88
- listeners: input.props.layers.map(item => item.listeners ? {
90
+ sourceId: stableInput.props.id,
91
+ listeners: stableInput.props.layers.map(item => item.listeners ? {
89
92
  layerId: item.layer.id,
90
93
  listeners: item.listeners
91
94
  } : undefined).filter(item => item !== undefined) ?? []
@@ -93,19 +96,19 @@ const useMountUnmountUpdateCallbacks = input => {
93
96
  break;
94
97
  }
95
98
  }
96
- }, [input, dispatchMessage, setWebObjectListeners, setMapSourceListeners]);
99
+ }, [stableInput, dispatchMessage, setWebObjectListeners, setMapSourceListeners]);
97
100
  const unmount = useCallback(() => {
98
- switch (input.type) {
101
+ switch (stableInput.type) {
99
102
  case 'webObject':
100
103
  {
101
104
  dispatchMessage({
102
105
  type: `webObjectUnmount`,
103
106
  payload: {
104
- objectId: input.objectId
107
+ objectId: stableInput.objectId
105
108
  }
106
109
  });
107
110
  deleteWebObjectListeners({
108
- objectId: input.objectId
111
+ objectId: stableInput.objectId
109
112
  });
110
113
  break;
111
114
  }
@@ -114,16 +117,16 @@ const useMountUnmountUpdateCallbacks = input => {
114
117
  dispatchMessage({
115
118
  type: `mapSourceUnmount`,
116
119
  payload: {
117
- sourceId: input.props.id
120
+ sourceId: stableInput.props.id
118
121
  }
119
122
  });
120
123
  deleteMapSourceListeners({
121
- sourceId: input.props.id
124
+ sourceId: stableInput.props.id
122
125
  });
123
126
  break;
124
127
  }
125
128
  }
126
- }, [input, dispatchMessage, deleteWebObjectListeners, deleteMapSourceListeners]);
129
+ }, [stableInput, dispatchMessage, deleteWebObjectListeners, deleteMapSourceListeners]);
127
130
  return {
128
131
  mount,
129
132
  update,
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useMapAtoms","extractHTMLElementListenersFromOptions","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
+ {"version":3,"names":["useCallback","useMapAtoms","useStableValue","extractHTMLElementListenersFromOptions","removeHTMLElementListeners","useMountUnmountUpdateCallbacks","input","dispatchMessage","setWebObjectListeners","deleteWebObjectListeners","setMapSourceListeners","deleteMapSourceListeners","stableInput","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,65 +1,12 @@
1
1
  "use strict";
2
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 extractHTMLElementListenersFromOptions = (options, optionsThatAreHTMLElements) => {
31
- let callbacks = {};
32
- for (const key of optionsThatAreHTMLElements) {
33
- callbacks = {
34
- ...callbacks,
35
- ...extractHTMLElementListenersFromDescriptor(options?.[key])
36
- };
37
- }
38
- return callbacks;
39
- };
40
- export const extractHTMLElementListenersFromMethodArgs = methodArgs => {
41
- let callbacks = {};
42
- for (const arg of methodArgs) {
43
- // TODO we need a more robust way to identify HTMLElements. A class for
44
- // HTMLElementDescriptor could be created.
45
- if (!arg?.listeners) {
46
- continue;
47
- }
48
- callbacks = {
49
- ...callbacks,
50
- ...extractHTMLElementListenersFromDescriptor(arg)
51
- };
52
- }
53
- return callbacks;
54
- };
55
- const extractHTMLElementListenersFromDescriptor = htmlElement => {
56
- const callbacks = {};
57
- const htmlListeners = htmlElement?.listeners;
58
- htmlListeners?.forEach(listener => {
59
- callbacks[getHTMLElementDescriptorListenerName(listener)] = {
60
- elementListener: listener.callback
61
- };
62
- });
63
- return callbacks;
3
+ import { useRef } from 'react';
4
+ import equal from 'fast-deep-equal';
5
+ export const useStableValue = value => {
6
+ const ref = useRef(value);
7
+ if (!equal(ref.current, value)) {
8
+ ref.current = value;
9
+ }
10
+ return ref.current;
64
11
  };
65
12
  //# sourceMappingURL=useMountUnmountUpdateCallbacks.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getHTMLElementDescriptorListenerName","removeHTMLElementListeners","options","optionsThatAreHTMLElements","Array","isArray","map","opt","result","key","includes","listeners","cssSelector","eventName","extractHTMLElementListenersFromOptions","callbacks","extractHTMLElementListenersFromDescriptor","extractHTMLElementListenersFromMethodArgs","methodArgs","arg","htmlElement","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,sCAAsC,GAAGA,CACpDZ,OAAY,EACZC,0BAA6C,KACtB;EACvB,IAAIY,SAA6B,GAAG,CAAC,CAAC;EAEtC,KAAK,MAAMN,GAAG,IAAIN,0BAA0B,EAAE;IAC5CY,SAAS,GAAG;MACV,GAAGA,SAAS;MACZ,GAAGC,yCAAyC,CAACd,OAAO,GAAGO,GAAG,CAAC;IAC7D,CAAC;EACH;EAEA,OAAOM,SAAS;AAClB,CAAC;AAED,OAAO,MAAME,yCAAyC,GACpDC,UAAiB,IACM;EACvB,IAAIH,SAA6B,GAAG,CAAC,CAAC;EAEtC,KAAK,MAAMI,GAAG,IAAID,UAAU,EAAE;IAC5B;IACA;IACA,IAAI,CAACC,GAAG,EAAER,SAAS,EAAE;MACnB;IACF;IACAI,SAAS,GAAG;MACV,GAAGA,SAAS;MACZ,GAAGC,yCAAyC,CAACG,GAAG;IAClD,CAAC;EACH;EAEA,OAAOJ,SAAS;AAClB,CAAC;AAED,MAAMC,yCAAyC,GAC7CI,WAA8C,IACvB;EACvB,MAAML,SAA6B,GAAG,CAAC,CAAC;EACxC,MAAMM,aAAa,GAAGD,WAAW,EAAET,SAEtB;EAEbU,aAAa,EAAEC,OAAO,CAAEC,QAAQ,IAAK;IACnCR,SAAS,CAACf,oCAAoC,CAACuB,QAAQ,CAAC,CAAC,GAAG;MAC1DC,eAAe,EAAED,QAAQ,CAACE;IAC5B,CAAC;EACH,CAAC,CAAC;EAEF,OAAOV,SAAS;AAClB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useRef","equal","useStableValue","value","ref","current"],"sourceRoot":"../../../../../src","sources":["react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.utils.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,OAAO;AAC9B,OAAOC,KAAK,MAAM,iBAAiB;AAEnC,OAAO,MAAMC,cAAc,GAAOC,KAAQ,IAAQ;EAChD,MAAMC,GAAG,GAAGJ,MAAM,CAAIG,KAAK,CAAC;EAC5B,IAAI,CAACF,KAAK,CAACG,GAAG,CAACC,OAAO,EAAEF,KAAK,CAAC,EAAE;IAC9BC,GAAG,CAACC,OAAO,GAAGF,KAAK;EACrB;EACA,OAAOC,GAAG,CAACC,OAAO;AACpB,CAAC","ignoreList":[]}
@@ -2,8 +2,8 @@
2
2
 
3
3
  import { useCallback, useImperativeHandle, useMemo, useRef } from 'react';
4
4
  import useMapAtoms from "../../hooks/atoms/useMapAtoms.js";
5
- import { extractHTMLElementListenersFromMethodArgs } from "./useMountUnmountUpdateCallbacks.utils.js";
6
5
  import { genRequestId } from "./useWebObjectMethodsProxy.utils.js";
6
+ import { extractHTMLElementListenersFromMethodArgs } from "../../../communication/messages.utils.js";
7
7
 
8
8
  /**
9
9
  * Create a proxy to call the methods of the corresponding web world object,
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useImperativeHandle","useMemo","useRef","useMapAtoms","extractHTMLElementListenersFromMethodArgs","genRequestId","useWebObjectMethodsProxy","ref","objectId","methodsThatContainHTMLElements","methodsThatContainHTMLElementsRef","dispatchMessage","setWebObjectPendingMethodResponse","updateWebObjectListeners","createProxy","Proxy","get","_","propKey","args","Promise","resolve","requestId","current","includes","newListeners","type","payload","method","methodsProxy"],"sourceRoot":"../../../../../src","sources":["react-native/components-factories/hooks/useWebObjectMethodsProxy.ts"],"mappings":";;AAAA,SAEEA,WAAW,EACXC,mBAAmB,EACnBC,OAAO,EACPC,MAAM,QACD,OAAO;AAKd,OAAOC,WAAW,MAAM,kCAA+B;AACvD,SAASC,yCAAyC,QAAQ,2CAAwC;AAClG,SAASC,YAAY,QAAQ,qCAAkC;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,wBAAwB,GAAGA,CACtCC,GAAsB,EACtBC,QAAqB,EACrBC,8BAAiD,KAC9C;EACH;EACA,MAAMC,iCAAiC,GAAGR,MAAM,CAC9CO,8BACF,CAAC;EACD;EACA;EACA,MAAM;IACJE,eAAe;IACfC,iCAAiC;IACjCC;EACF,CAAC,GAAGV,WAAW,CAAC,CAAC;EAEjB,MAAMW,WAAW,GAAGf,WAAW,CAAC,MAAW;IACzC,OAAO,IAAIgB,KAAK,CACd,CAAC,CAAC,EACF;MACEC,GAAGA,CAACC,CAAC,EAAEC,OAAO,EAAE;QACd,IAAIA,OAAO,KAAK,OAAO,EAAE;UACvB,OAAO,MAAMV,QAAQ;QACvB;QACA,OAAO,CAAC,GAAGW,IAAW,KAAK;UACzB,OAAO,IAAIC,OAAO,CAAEC,OAAO,IAAK;YAC9B,MAAMC,SAAS,GAAGjB,YAAY,CAAC,CAAC;YAChC;YACA,IACEK,iCAAiC,CAACa,OAAO,CAACC,QAAQ,CAChDN,OACF,CAAC,EACD;cACAL,wBAAwB,CAAC;gBACvBL,QAAQ;gBACRiB,YAAY,EAAErB,yCAAyC,CAACe,IAAI;cAC9D,CAAC,CAAC;YACJ;YACA;YACAP,iCAAiC,CAAC;cAAEU,SAAS;cAAED;YAAQ,CAAC,CAAC;YACzD;YACAV,eAAe,CAAC;cACde,IAAI,EAAE,qBAAqB;cAC3BC,OAAO,EAAE;gBACPL,SAAS;gBACTd,QAAQ;gBACRoB,MAAM,EAAEV,OAAiB;gBACzBC;cACF;YACF,CAAC,CAAC;UACJ,CAAC,CAAC;QACJ,CAAC;MACH;IACF,CACF,CAAC;EACH,CAAC,EAAE,CACDX,QAAQ,EACRI,iCAAiC,EACjCD,eAAe,EACfE,wBAAwB,CACzB,CAAC;EAEF,MAAMgB,YAAY,GAAG5B,OAAO,CAAC,MAAMa,WAAW,CAAC,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAChE;EACAd,mBAAmB,CAACO,GAAG,EAAE,MAAMsB,YAAY,CAAC;AAC9C,CAAC;AAED,eAAevB,wBAAwB","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useImperativeHandle","useMemo","useRef","useMapAtoms","genRequestId","extractHTMLElementListenersFromMethodArgs","useWebObjectMethodsProxy","ref","objectId","methodsThatContainHTMLElements","methodsThatContainHTMLElementsRef","dispatchMessage","setWebObjectPendingMethodResponse","updateWebObjectListeners","createProxy","Proxy","get","_","propKey","args","Promise","resolve","requestId","current","includes","newListeners","type","payload","method","methodsProxy"],"sourceRoot":"../../../../../src","sources":["react-native/components-factories/hooks/useWebObjectMethodsProxy.ts"],"mappings":";;AAAA,SAEEA,WAAW,EACXC,mBAAmB,EACnBC,OAAO,EACPC,MAAM,QACD,OAAO;AAKd,OAAOC,WAAW,MAAM,kCAA+B;AACvD,SAASC,YAAY,QAAQ,qCAAkC;AAC/D,SAASC,yCAAyC,QAAQ,0CAAuC;;AAEjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,wBAAwB,GAAGA,CACtCC,GAAsB,EACtBC,QAAqB,EACrBC,8BAAiD,KAC9C;EACH;EACA,MAAMC,iCAAiC,GAAGR,MAAM,CAC9CO,8BACF,CAAC;EACD;EACA;EACA,MAAM;IACJE,eAAe;IACfC,iCAAiC;IACjCC;EACF,CAAC,GAAGV,WAAW,CAAC,CAAC;EAEjB,MAAMW,WAAW,GAAGf,WAAW,CAAC,MAAW;IACzC,OAAO,IAAIgB,KAAK,CACd,CAAC,CAAC,EACF;MACEC,GAAGA,CAACC,CAAC,EAAEC,OAAO,EAAE;QACd,IAAIA,OAAO,KAAK,OAAO,EAAE;UACvB,OAAO,MAAMV,QAAQ;QACvB;QACA,OAAO,CAAC,GAAGW,IAAW,KAAK;UACzB,OAAO,IAAIC,OAAO,CAAEC,OAAO,IAAK;YAC9B,MAAMC,SAAS,GAAGlB,YAAY,CAAC,CAAC;YAChC;YACA,IACEM,iCAAiC,CAACa,OAAO,CAACC,QAAQ,CAChDN,OACF,CAAC,EACD;cACAL,wBAAwB,CAAC;gBACvBL,QAAQ;gBACRiB,YAAY,EAAEpB,yCAAyC,CAACc,IAAI;cAC9D,CAAC,CAAC;YACJ;YACA;YACAP,iCAAiC,CAAC;cAAEU,SAAS;cAAED;YAAQ,CAAC,CAAC;YACzD;YACAV,eAAe,CAAC;cACde,IAAI,EAAE,qBAAqB;cAC3BC,OAAO,EAAE;gBACPL,SAAS;gBACTd,QAAQ;gBACRoB,MAAM,EAAEV,OAAiB;gBACzBC;cACF;YACF,CAAC,CAAC;UACJ,CAAC,CAAC;QACJ,CAAC;MACH;IACF,CACF,CAAC;EACH,CAAC,EAAE,CACDX,QAAQ,EACRI,iCAAiC,EACjCD,eAAe,EACfE,wBAAwB,CACzB,CAAC;EAEF,MAAMgB,YAAY,GAAG5B,OAAO,CAAC,MAAMa,WAAW,CAAC,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAChE;EACAd,mBAAmB,CAACO,GAAG,EAAE,MAAMsB,YAAY,CAAC;AAC9C,CAAC;AAED,eAAevB,wBAAwB","ignoreList":[]}
@@ -1,8 +1,11 @@
1
- import type { WebObjectListenerOnHTMLElement, WebObjectListenerOnMapLayer, WebObjectListenerOnObject, WebObjectListenerOnRN } from '../react-native/components-factories/web-objects/createWebObjectAsComponent.types';
1
+ import type { WebObjectListenerOnHTMLElement, WebObjectListenerOnMapLayer, WebObjectListenerOnObject, WebObjectListenerOnRN, WebObjectListeners } from '../react-native/components-factories/web-objects/createWebObjectAsComponent.types';
2
2
  import type { HTMLElementDescriptorListener } from './messages.types';
3
3
  export declare const isWebObjectListenerOnRN: (listener?: WebObjectListenerOnRN<any> | WebObjectListenerOnObject<any> | WebObjectListenerOnHTMLElement<any> | WebObjectListenerOnMapLayer<any>) => boolean;
4
4
  export declare const isWebObjectListenerOnObject: (listener?: WebObjectListenerOnRN<any> | WebObjectListenerOnObject<any> | WebObjectListenerOnHTMLElement<any> | WebObjectListenerOnMapLayer<any>) => boolean;
5
5
  export declare const isWebObjectListenerOnMapLayer: (listener?: WebObjectListenerOnRN<any> | WebObjectListenerOnObject<any> | WebObjectListenerOnHTMLElement<any> | WebObjectListenerOnMapLayer<any>) => boolean;
6
6
  export declare const isWebObjectListenerOnHTMLElement: (listener?: WebObjectListenerOnRN<any> | WebObjectListenerOnObject<any> | WebObjectListenerOnHTMLElement<any> | WebObjectListenerOnMapLayer<any>) => boolean;
7
7
  export declare const getHTMLElementDescriptorListenerName: (listener: HTMLElementDescriptorListener) => string;
8
+ export declare const removeHTMLElementListeners: (options: any, optionsThatAreHTMLElements: readonly string[]) => any;
9
+ export declare const extractHTMLElementListenersFromOptions: (options: any, optionsThatAreHTMLElements: readonly string[]) => WebObjectListeners;
10
+ export declare const extractHTMLElementListenersFromMethodArgs: (methodArgs: any[]) => WebObjectListeners;
8
11
  //# sourceMappingURL=messages.utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages.utils.d.ts","sourceRoot":"","sources":["../../../../src/communication/messages.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,8BAA8B,EAC9B,2BAA2B,EAC3B,yBAAyB,EACzB,qBAAqB,EACtB,MAAM,mFAAmF,CAAA;AAC1F,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAA;AAErE,eAAO,MAAM,uBAAuB,GAClC,WACI,qBAAqB,CAAC,GAAG,CAAC,GAC1B,yBAAyB,CAAC,GAAG,CAAC,GAC9B,8BAA8B,CAAC,GAAG,CAAC,GACnC,2BAA2B,CAAC,GAAG,CAAC,KACnC,OAKF,CAAA;AAED,eAAO,MAAM,2BAA2B,GACtC,WACI,qBAAqB,CAAC,GAAG,CAAC,GAC1B,yBAAyB,CAAC,GAAG,CAAC,GAC9B,8BAA8B,CAAC,GAAG,CAAC,GACnC,2BAA2B,CAAC,GAAG,CAAC,KACnC,OAKF,CAAA;AAED,eAAO,MAAM,6BAA6B,GACxC,WACI,qBAAqB,CAAC,GAAG,CAAC,GAC1B,yBAAyB,CAAC,GAAG,CAAC,GAC9B,8BAA8B,CAAC,GAAG,CAAC,GACnC,2BAA2B,CAAC,GAAG,CAAC,KACnC,OAKF,CAAA;AAED,eAAO,MAAM,gCAAgC,GAC3C,WACI,qBAAqB,CAAC,GAAG,CAAC,GAC1B,yBAAyB,CAAC,GAAG,CAAC,GAC9B,8BAA8B,CAAC,GAAG,CAAC,GACnC,2BAA2B,CAAC,GAAG,CAAC,KACnC,OAKF,CAAA;AAED,eAAO,MAAM,oCAAoC,GAC/C,UAAU,6BAA6B,KACtC,MAAwD,CAAA"}
1
+ {"version":3,"file":"messages.utils.d.ts","sourceRoot":"","sources":["../../../../src/communication/messages.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,8BAA8B,EAC9B,2BAA2B,EAC3B,yBAAyB,EACzB,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,mFAAmF,CAAA;AAC1F,OAAO,KAAK,EAEV,6BAA6B,EAC9B,MAAM,kBAAkB,CAAA;AAEzB,eAAO,MAAM,uBAAuB,GAClC,WACI,qBAAqB,CAAC,GAAG,CAAC,GAC1B,yBAAyB,CAAC,GAAG,CAAC,GAC9B,8BAA8B,CAAC,GAAG,CAAC,GACnC,2BAA2B,CAAC,GAAG,CAAC,KACnC,OAKF,CAAA;AAED,eAAO,MAAM,2BAA2B,GACtC,WACI,qBAAqB,CAAC,GAAG,CAAC,GAC1B,yBAAyB,CAAC,GAAG,CAAC,GAC9B,8BAA8B,CAAC,GAAG,CAAC,GACnC,2BAA2B,CAAC,GAAG,CAAC,KACnC,OAKF,CAAA;AAED,eAAO,MAAM,6BAA6B,GACxC,WACI,qBAAqB,CAAC,GAAG,CAAC,GAC1B,yBAAyB,CAAC,GAAG,CAAC,GAC9B,8BAA8B,CAAC,GAAG,CAAC,GACnC,2BAA2B,CAAC,GAAG,CAAC,KACnC,OAKF,CAAA;AAED,eAAO,MAAM,gCAAgC,GAC3C,WACI,qBAAqB,CAAC,GAAG,CAAC,GAC1B,yBAAyB,CAAC,GAAG,CAAC,GAC9B,8BAA8B,CAAC,GAAG,CAAC,GACnC,2BAA2B,CAAC,GAAG,CAAC,KACnC,OAKF,CAAA;AAED,eAAO,MAAM,oCAAoC,GAC/C,UAAU,6BAA6B,KACtC,MAAwD,CAAA;AAE3D,eAAO,MAAM,0BAA0B,GACrC,SAAS,GAAG,EACZ,4BAA4B,SAAS,MAAM,EAAE,KAC5C,GAiCF,CAAA;AAED,eAAO,MAAM,sCAAsC,GACjD,SAAS,GAAG,EACZ,4BAA4B,SAAS,MAAM,EAAE,KAC5C,kBAWF,CAAA;AAED,eAAO,MAAM,yCAAyC,GACpD,YAAY,GAAG,EAAE,KAChB,kBAgBF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"MapProvider.d.ts","sourceRoot":"","sources":["../../../../../../../src/react-native/components/core/MapProvider/MapProvider.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAI3D;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,WAAW,GAAI,OAAO,gBAAgB,4CAS3C,CAAA;AA2ED,eAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"MapProvider.d.ts","sourceRoot":"","sources":["../../../../../../../src/react-native/components/core/MapProvider/MapProvider.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAI3D;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,WAAW,GAAI,OAAO,gBAAgB,4CAS3C,CAAA;AA8ED,eAAe,WAAW,CAAA"}
@@ -24,6 +24,17 @@ export declare const useEnableDisableRNLogger: (isEnabled: boolean) => void;
24
24
  * the web world.
25
25
  */
26
26
  export declare const useFlushMessagesOnMapMounted: () => void;
27
+ /**
28
+ * Stable values for the native scripts and CSS styles to avoid unnecessary
29
+ * executions.
30
+ * @param nativeScripts - A list of scripts to be injected into the WebView.
31
+ * @param cssStyles - The CSS to be made available within the webview.
32
+ * @returns - The stable values for the native scripts and CSS styles.
33
+ */
34
+ export declare const useStableNativeScriptsAndCssStyles: (nativeScripts: string | string[] | undefined, cssStyles: string | string[] | undefined) => {
35
+ stableNativeScripts: string | string[] | undefined;
36
+ stableCssStyles: string | string[] | undefined;
37
+ };
27
38
  /**
28
39
  * @param cssStyles - The CSS to be made available within the webview.
29
40
  * @returns - A script to provide the given parameters to the Web world, using
@@ -1 +1 @@
1
- {"version":3,"file":"MapProvider.hooks.d.ts","sourceRoot":"","sources":["../../../../../../../src/react-native/components/core/MapProvider/MapProvider.hooks.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,iBAAiB,EAClB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAkB/D,eAAO,MAAM,SAAS;;;;;;;;;;EASrB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB;qBAaU,mBAAmB;CA8F7D,CAAA;AAED,eAAO,MAAM,wBAAwB,GAAI,WAAW,OAAO,SAQ1D,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,YAUxC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,GAAI,YAAY,MAAM,GAAG,MAAM,EAAE;;CAMxE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,kCAAkC,GAAI,YAAY,OAAO;;CAYrE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,GAC3C,gBAAgB,iBAAiB;;CAclC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kCAAkC,GAAI,SAAS,MAAM,SAmBjE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,mCAAmC,GAC9C,UAAU,MAAM,GAAG,MAAM,EAAE,SA8B5B,CAAA"}
1
+ {"version":3,"file":"MapProvider.hooks.d.ts","sourceRoot":"","sources":["../../../../../../../src/react-native/components/core/MapProvider/MapProvider.hooks.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,iBAAiB,EAClB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAkB/D,eAAO,MAAM,SAAS;;;;;;;;;;EASrB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB;qBAaU,mBAAmB;CA8F7D,CAAA;AAED,eAAO,MAAM,wBAAwB,GAAI,WAAW,OAAO,SAQ1D,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,YAUxC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kCAAkC,GAC7C,eAAe,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EAC5C,WAAW,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS;;;CAiBzC,CAAA;AACD;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,GAAI,YAAY,MAAM,GAAG,MAAM,EAAE;;CAMxE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,kCAAkC,GAAI,YAAY,OAAO;;CAYrE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,GAC3C,gBAAgB,iBAAiB;;CAclC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kCAAkC,GAAI,SAAS,MAAM,SAmBjE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,mCAAmC,GAC9C,UAAU,MAAM,GAAG,MAAM,EAAE,SA8B5B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useMountUnmountUpdateCallbacks.d.ts","sourceRoot":"","sources":["../../../../../../src/react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAA;AAOrF;;;;GAIG;AACH,QAAA,MAAM,8BAA8B,GAAI,OAAO,uBAAuB;;;;CAkIrE,CAAA;AAED,eAAe,8BAA8B,CAAA"}
1
+ {"version":3,"file":"useMountUnmountUpdateCallbacks.d.ts","sourceRoot":"","sources":["../../../../../../src/react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAA;AAQrF;;;;GAIG;AACH,QAAA,MAAM,8BAA8B,GAAI,OAAO,uBAAuB;;;;CA+IrE,CAAA;AAED,eAAe,8BAA8B,CAAA"}
@@ -1,5 +1,2 @@
1
- import type { WebObjectListeners } from '../web-objects/createWebObjectAsComponent.types';
2
- export declare const removeHTMLElementListeners: (options: any, optionsThatAreHTMLElements: readonly string[]) => any;
3
- export declare const extractHTMLElementListenersFromOptions: (options: any, optionsThatAreHTMLElements: readonly string[]) => WebObjectListeners;
4
- export declare const extractHTMLElementListenersFromMethodArgs: (methodArgs: any[]) => WebObjectListeners;
1
+ export declare const useStableValue: <T>(value: T) => T;
5
2
  //# sourceMappingURL=useMountUnmountUpdateCallbacks.utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMountUnmountUpdateCallbacks.utils.d.ts","sourceRoot":"","sources":["../../../../../../src/react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAA;AAOzF,eAAO,MAAM,0BAA0B,GACrC,SAAS,GAAG,EACZ,4BAA4B,SAAS,MAAM,EAAE,KAC5C,GAiCF,CAAA;AAED,eAAO,MAAM,sCAAsC,GACjD,SAAS,GAAG,EACZ,4BAA4B,SAAS,MAAM,EAAE,KAC5C,kBAWF,CAAA;AAED,eAAO,MAAM,yCAAyC,GACpD,YAAY,GAAG,EAAE,KAChB,kBAgBF,CAAA"}
1
+ {"version":3,"file":"useMountUnmountUpdateCallbacks.utils.d.ts","sourceRoot":"","sources":["../../../../../../src/react-native/components-factories/hooks/useMountUnmountUpdateCallbacks.utils.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,cAAc,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,CAM5C,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-maplibre-gl-js",
3
- "version": "1.23.2",
3
+ "version": "1.23.4",
4
4
  "description": "MapLibre GL JS for React Native",
5
5
  "author": "Emilien Aufauvre <emilien.aufauvre@live.fr> (https://github.com/emilienaufauvre)",
6
6
  "license": "MIT",