react-native-maplibre-gl-js 1.20.0 → 1.21.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.
- package/README.md +1 -0
- package/lib/module/react-native/components/core/MapProvider/MapProvider.hooks.js +5 -4
- package/lib/module/react-native/components/core/MapProvider/MapProvider.hooks.js.map +1 -1
- package/lib/module/react-native/components/core/MapProvider/MapProvider.js +1 -1
- package/lib/module/react-native/components/core/MapProvider/MapProvider.js.map +1 -1
- package/lib/module/react-native/components/core/MapProvider/MapProvider.utils.js +7 -7
- package/lib/module/react-native/components/core/MapProvider/MapProvider.utils.js.map +1 -1
- package/lib/typescript/src/react-native/components/core/MapProvider/MapProvider.hooks.d.ts +1 -1
- package/lib/typescript/src/react-native/components/core/MapProvider/MapProvider.hooks.d.ts.map +1 -1
- package/lib/typescript/src/react-native/components/core/MapProvider/MapProvider.types.d.ts +35 -17
- package/lib/typescript/src/react-native/components/core/MapProvider/MapProvider.types.d.ts.map +1 -1
- package/lib/typescript/src/react-native/components/core/MapProvider/MapProvider.utils.d.ts +5 -5
- package/lib/typescript/src/react-native/components/core/MapProvider/MapProvider.utils.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -116,6 +116,7 @@ Several real-world usage scenarios are available, you can explore them in two wa
|
|
|
116
116
|
- [`1.5. Use global css styles`](./example/src/app/1.-Map/1.5.-Use-global-css-styles.tsx)
|
|
117
117
|
- [`1.6. Add more velocity to drag pan`](./example/src/app/1.-Map/1.6.-Add-more-velocity-to-drag-pan.tsx)
|
|
118
118
|
- [`1.7. Use a native script to enhance performances`](./example/src/app/1.-Map/1.7.-Use-a-native-script-to-enhance-performances.tsx)
|
|
119
|
+
- [`1.8. Use functions in map options`](./example/src/app/1.-Map/1.8.-Use-functions-in-map-options.tsx)
|
|
119
120
|
|
|
120
121
|
### 2. Marker
|
|
121
122
|
|
|
@@ -5,7 +5,7 @@ import { useCallback, useEffect, useMemo, useRef } from 'react';
|
|
|
5
5
|
import RNLogger from "../../../logger/rn-logger.js";
|
|
6
6
|
import { isWebObjectListenerOnHTMLElement, isWebObjectListenerOnMapLayer, isWebObjectListenerOnObject, isWebObjectListenerOnRN } from "../../../../communication/messages.utils.js";
|
|
7
7
|
import useMapAtoms from "../../../hooks/atoms/useMapAtoms.js";
|
|
8
|
-
import { buildCssInjectionScript,
|
|
8
|
+
import { buildCssInjectionScript, normalizeData } from "./MapProvider.utils.js";
|
|
9
9
|
export const useStyles = () => {
|
|
10
10
|
return useMemo(() => StyleSheet.create({
|
|
11
11
|
container: {
|
|
@@ -167,7 +167,7 @@ export const useFlushMessagesOnMapMounted = () => {
|
|
|
167
167
|
*/
|
|
168
168
|
export const useCssStylesInjectionScript = cssStyles => {
|
|
169
169
|
const cssStylesInjectionScript = useMemo(() => {
|
|
170
|
-
const normalizedCss =
|
|
170
|
+
const normalizedCss = normalizeData(cssStyles);
|
|
171
171
|
return normalizedCss ? buildCssInjectionScript(normalizedCss) : undefined;
|
|
172
172
|
}, [cssStyles]);
|
|
173
173
|
return {
|
|
@@ -250,11 +250,12 @@ export const useInjectJavaScriptIfAScriptChanged = scripts => {
|
|
|
250
250
|
return;
|
|
251
251
|
}
|
|
252
252
|
const lastScripts = lastInjectedScriptsRef.current;
|
|
253
|
-
const scriptsChanged = !lastScripts || scripts.length !== lastScripts.length || scripts.some((s, i) => s !== lastScripts[i]);
|
|
253
|
+
const scriptsChanged = !lastScripts || scripts !== lastScripts || Array.isArray(scripts) && Array.isArray(lastScripts) && (scripts.length !== lastScripts.length || scripts.some((s, i) => s !== lastScripts[i]));
|
|
254
254
|
if (!scriptsChanged) {
|
|
255
255
|
return;
|
|
256
256
|
}
|
|
257
|
-
|
|
257
|
+
const normalizedScripts = normalizeData(scripts);
|
|
258
|
+
normalizedScripts?.forEach(script => webView.injectJavaScript(script));
|
|
258
259
|
lastInjectedScriptsRef.current = [...scripts];
|
|
259
260
|
}, [scripts, isWebWorldReady, webView]);
|
|
260
261
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","useCallback","useEffect","useMemo","useRef","RNLogger","isWebObjectListenerOnHTMLElement","isWebObjectListenerOnMapLayer","isWebObjectListenerOnObject","isWebObjectListenerOnRN","useMapAtoms","buildCssInjectionScript","
|
|
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":[]}
|
|
@@ -44,13 +44,13 @@ const MapProviderInner = ({
|
|
|
44
44
|
webViewStyle,
|
|
45
45
|
children,
|
|
46
46
|
cssStyles,
|
|
47
|
+
nativeScripts,
|
|
47
48
|
rnLoggerEnabled = false,
|
|
48
49
|
webLoggerEnabled = false,
|
|
49
50
|
webMessageOptions = {
|
|
50
51
|
flushIntervalMs: 100,
|
|
51
52
|
keepOnlyLastMessagePerType: true
|
|
52
53
|
},
|
|
53
|
-
nativeScripts = [],
|
|
54
54
|
onWebViewReset = () => {}
|
|
55
55
|
}) => {
|
|
56
56
|
// States.
|
|
@@ -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","rnLoggerEnabled","webLoggerEnabled","webMessageOptions","flushIntervalMs","keepOnlyLastMessagePerType","
|
|
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,18 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* @param
|
|
5
|
-
* @returns A normalized array of non-empty
|
|
6
|
-
*
|
|
4
|
+
* @param data - The information to be normalized.
|
|
5
|
+
* @returns A normalized array of non-empty strings or `undefined` if the given
|
|
6
|
+
* value is `undefined` or empty.
|
|
7
7
|
*/
|
|
8
|
-
export const
|
|
9
|
-
const
|
|
10
|
-
return
|
|
8
|
+
export const normalizeData = data => {
|
|
9
|
+
const normalizedData = (Array.isArray(data) ? data : data ? [data] : []).map(s => s.trim()).filter(Boolean);
|
|
10
|
+
return normalizedData.length ? normalizedData : undefined;
|
|
11
11
|
};
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* @param normalizedCss - The CSS to be injected, typically produced by
|
|
15
|
-
* {@link
|
|
15
|
+
* {@link normalizeData}.
|
|
16
16
|
* @returns A JavaScript snippet that injects CSS into the document and
|
|
17
17
|
* evaluates to `true` once executed.
|
|
18
18
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["normalizeData","data","normalizedData","Array","isArray","map","s","trim","filter","Boolean","length","undefined","buildCssInjectionScript","normalizedCss","INJECTED_STYLE_ID","css","join","cssJSON","JSON","stringify","idJSON"],"sourceRoot":"../../../../../../src","sources":["react-native/components/core/MapProvider/MapProvider.utils.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,aAAa,GACxBC,IAAwB,IACC;EACzB,MAAMC,cAAc,GAAG,CAACC,KAAK,CAACC,OAAO,CAACH,IAAI,CAAC,GAAGA,IAAI,GAAGA,IAAI,GAAG,CAACA,IAAI,CAAC,GAAG,EAAE,EACpEI,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC,CACpBC,MAAM,CAACC,OAAO,CAAC;EAElB,OAAOP,cAAc,CAACQ,MAAM,GAAGR,cAAc,GAAGS,SAAS;AAC3D,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,uBAAuB,GAAIC,aAAuB,IAAa;EAC1E,MAAMC,iBAAiB,GAAG,+BAA+B;EAEzD,MAAMC,GAAG,GAAGF,aAAa,CAACG,IAAI,CAAC,IAAI,CAAC;EACpC,MAAMC,OAAO,GAAGC,IAAI,CAACC,SAAS,CAACJ,GAAG,CAAC;EACnC,MAAMK,MAAM,GAAGF,IAAI,CAACC,SAAS,CAACL,iBAAiB,CAAC;EAEhD,OAAO;AACT;AACA;AACA;AACA,mBAAmBM,MAAM;AACzB,oBAAoBH,OAAO;AAC3B;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,GAAG;AACH,CAAC","ignoreList":[]}
|
|
@@ -57,5 +57,5 @@ export declare const useInjectJavaScriptIfScriptChanged: (script?: string) => vo
|
|
|
57
57
|
* Inject the given scripts into the WebView if one of them changed.
|
|
58
58
|
* @param scripts - A list of scripts to be injected into the WebView.
|
|
59
59
|
*/
|
|
60
|
-
export declare const useInjectJavaScriptIfAScriptChanged: (scripts
|
|
60
|
+
export declare const useInjectJavaScriptIfAScriptChanged: (scripts?: string | string[]) => void;
|
|
61
61
|
//# sourceMappingURL=MapProvider.hooks.d.ts.map
|
package/lib/typescript/src/react-native/components/core/MapProvider/MapProvider.hooks.d.ts.map
CHANGED
|
@@ -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,
|
|
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"}
|
|
@@ -15,11 +15,27 @@ export type MapProviderProps = {
|
|
|
15
15
|
*/
|
|
16
16
|
webViewStyle?: StyleProp<ViewStyle>;
|
|
17
17
|
/**
|
|
18
|
-
* CSS (or list of CSS) to
|
|
19
|
-
* Useful to share classes/animations across Marker components and/or
|
|
20
|
-
* elements that use HTMLElement (descriptors).
|
|
18
|
+
* CSS (or list of CSS) to be injected globally into the WebView document
|
|
19
|
+
* head. Useful to share classes/animations across Marker components and/or
|
|
20
|
+
* other elements that use HTMLElement (descriptors).
|
|
21
|
+
* Examples can be found in the example app.
|
|
21
22
|
*/
|
|
22
23
|
cssStyles?: string | string[];
|
|
24
|
+
/**
|
|
25
|
+
* A native script (or a list of them) to be injected into the WebView,
|
|
26
|
+
* allowing you to add custom web functionality, improve performance for
|
|
27
|
+
* frequently executed calls, or define web functions that are used by web
|
|
28
|
+
* objects (e.g., the Map and its transformCameraUpdate option).
|
|
29
|
+
* Some global objects are made available by default in the WebView context,
|
|
30
|
+
* such as the maplibre-gl-js Map.
|
|
31
|
+
* These globals are:
|
|
32
|
+
* - `window.__RNML_CONTROLLER`: the main controller to interact with the map.
|
|
33
|
+
* - `window.__RNML_BRIDGE`: the bridge to send messages to RN.
|
|
34
|
+
* To be compliant with the injection mechanism, a script must be an IIFE that
|
|
35
|
+
* returns true.
|
|
36
|
+
* Examples can be found in the example app.
|
|
37
|
+
*/
|
|
38
|
+
nativeScripts?: string | string[];
|
|
23
39
|
/**
|
|
24
40
|
* Enable logs originating from RN (RNLogger).
|
|
25
41
|
* Default to false.
|
|
@@ -37,6 +53,18 @@ export type MapProviderProps = {
|
|
|
37
53
|
* Control how Web messages are buffered and dispatched.
|
|
38
54
|
* These options define whether performance or delivery precision is
|
|
39
55
|
* prioritized.
|
|
56
|
+
* For example, if you want to ensure that your app state is always updated
|
|
57
|
+
* with the all information and update history, you can set
|
|
58
|
+
* `keepOnlyLastMessagePerType` to false. But if you only need the latest
|
|
59
|
+
* update of a specific property, you can set `keepOnlyLastMessagePerType` to
|
|
60
|
+
* true.
|
|
61
|
+
* This can apply to web object listeners (e.g., Map "onmove" listener) that
|
|
62
|
+
* are called frequently.
|
|
63
|
+
* The same logic applies to the `flushIntervalMs` option, which defines how
|
|
64
|
+
* often the buffered messages are flushed and sent to your app (e.g., Map
|
|
65
|
+
* "onmove" event is received once every `flushIntervalMs`, and the listener
|
|
66
|
+
* is executed accordingly).
|
|
67
|
+
* Note: use native scripts to handle high-frequency tasks and updates.
|
|
40
68
|
*/
|
|
41
69
|
webMessageOptions?: WebMessageOptions;
|
|
42
70
|
/**
|
|
@@ -44,20 +72,10 @@ export type MapProviderProps = {
|
|
|
44
72
|
*/
|
|
45
73
|
children?: ReactNode;
|
|
46
74
|
/**
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
* such as the maplibre-gl-js Map.
|
|
52
|
-
* These globals are:
|
|
53
|
-
* - `window.__RNML_CONTROLLER`: the main controller to interact with the map.
|
|
54
|
-
* - `window.__RNML_BRIDGE`: the bridge to send messages to RN.
|
|
55
|
-
* To be compliant with the injection mechanism, a script must be an IIFE that
|
|
56
|
-
* returns true.
|
|
57
|
-
*/
|
|
58
|
-
nativeScripts?: string[];
|
|
59
|
-
/**
|
|
60
|
-
* Callback when the WebView is reset (process terminated, reloaded, etc.).
|
|
75
|
+
* Callback when the WebView is reset (the process is terminated, reloaded,
|
|
76
|
+
* etc.). Useful when to restore app states when the app is put in the
|
|
77
|
+
* background and the OS kills the WebView. Note: the library automatically
|
|
78
|
+
* recreates the Map and its components when the WebView is reset.
|
|
61
79
|
*/
|
|
62
80
|
onWebViewReset?: () => void;
|
|
63
81
|
};
|
package/lib/typescript/src/react-native/components/core/MapProvider/MapProvider.types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapProvider.types.d.ts","sourceRoot":"","sources":["../../../../../../../src/react-native/components/core/MapProvider/MapProvider.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAA;AAElF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC5B;;OAEG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IACnC
|
|
1
|
+
{"version":3,"file":"MapProvider.types.d.ts","sourceRoot":"","sources":["../../../../../../../src/react-native/components/core/MapProvider/MapProvider.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAA;AAElF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC5B;;OAEG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IACnC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC7B;;;;;;;;;;;;;OAaG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACjC;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;;;;;;;;;;;;;;;OAgBG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;CAC5B,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB;;;;;;;;;OASG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAA;CACrC,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG;KACtC,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAClC,OAAO,EAAE,OAAO,CAAC,kBAAkB,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC,KAC9C,IAAI;CACV,CAAA"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @param
|
|
3
|
-
* @returns A normalized array of non-empty
|
|
4
|
-
*
|
|
2
|
+
* @param data - The information to be normalized.
|
|
3
|
+
* @returns A normalized array of non-empty strings or `undefined` if the given
|
|
4
|
+
* value is `undefined` or empty.
|
|
5
5
|
*/
|
|
6
|
-
export declare const
|
|
6
|
+
export declare const normalizeData: (data?: string | string[]) => string[] | undefined;
|
|
7
7
|
/**
|
|
8
8
|
* @param normalizedCss - The CSS to be injected, typically produced by
|
|
9
|
-
* {@link
|
|
9
|
+
* {@link normalizeData}.
|
|
10
10
|
* @returns A JavaScript snippet that injects CSS into the document and
|
|
11
11
|
* evaluates to `true` once executed.
|
|
12
12
|
*/
|
package/lib/typescript/src/react-native/components/core/MapProvider/MapProvider.utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapProvider.utils.d.ts","sourceRoot":"","sources":["../../../../../../../src/react-native/components/core/MapProvider/MapProvider.utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"MapProvider.utils.d.ts","sourceRoot":"","sources":["../../../../../../../src/react-native/components/core/MapProvider/MapProvider.utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,aAAa,GACxB,OAAO,MAAM,GAAG,MAAM,EAAE,KACvB,MAAM,EAAE,GAAG,SAMb,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,GAAI,eAAe,MAAM,EAAE,KAAG,MAwCjE,CAAA"}
|
package/package.json
CHANGED