react-native-maps 0.31.1 → 1.0.0-beta.3

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 (69) hide show
  1. package/README.md +1 -5
  2. package/android/src/main/AndroidManifest.xml +0 -3
  3. package/android/src/main/java/com/airbnb/android/react/maps/AirMapLocalTile.java +11 -4
  4. package/android/src/main/java/com/airbnb/android/react/maps/AirMapLocalTileManager.java +5 -1
  5. package/android/src/main/java/com/airbnb/android/react/maps/AirMapManager.java +2 -41
  6. package/android/src/main/java/com/airbnb/android/react/maps/AirMapTileProvider.java +5 -5
  7. package/android/src/main/java/com/airbnb/android/react/maps/AirMapView.java +1 -33
  8. package/ios/AirGoogleMaps/AIRGoogleMap.m +37 -31
  9. package/ios/AirGoogleMaps/AIRGoogleMapManager.m +0 -95
  10. package/ios/AirMaps/AIRMap.h +0 -1
  11. package/ios/AirMaps/AIRMap.m +0 -12
  12. package/ios/AirMaps/AIRMapManager.m +2 -132
  13. package/lib/AnimatedRegion.d.ts +19 -0
  14. package/lib/AnimatedRegion.js +134 -0
  15. package/lib/Geojson.d.ts +166 -0
  16. package/lib/Geojson.js +165 -0
  17. package/lib/MapCallout.d.ts +40 -0
  18. package/lib/MapCallout.js +51 -0
  19. package/lib/MapCalloutSubview.d.ts +34 -0
  20. package/lib/MapCalloutSubview.js +48 -0
  21. package/lib/MapCircle.d.ts +117 -0
  22. package/lib/MapCircle.js +53 -0
  23. package/lib/MapHeatmap.d.ts +77 -0
  24. package/lib/MapHeatmap.js +59 -0
  25. package/lib/MapLocalTile.d.ts +35 -0
  26. package/lib/MapLocalTile.js +44 -0
  27. package/lib/MapMarker.d.ts +289 -0
  28. package/lib/MapMarker.js +113 -0
  29. package/lib/MapOverlay.d.ts +86 -0
  30. package/lib/MapOverlay.js +63 -0
  31. package/lib/MapPolygon.d.ts +156 -0
  32. package/lib/MapPolygon.js +74 -0
  33. package/lib/MapPolyline.d.ts +156 -0
  34. package/lib/MapPolyline.js +53 -0
  35. package/lib/MapUrlTile.d.ts +134 -0
  36. package/lib/MapUrlTile.js +44 -0
  37. package/lib/MapView.d.ts +825 -0
  38. package/lib/MapView.js +418 -0
  39. package/{src/MapView.web.js → lib/MapView.web.d.ts} +0 -0
  40. package/lib/MapView.web.js +9 -0
  41. package/lib/MapWMSTile.d.ts +116 -0
  42. package/lib/MapWMSTile.js +44 -0
  43. package/lib/ProviderConstants.d.ts +2 -0
  44. package/lib/ProviderConstants.js +5 -0
  45. package/lib/decorateMapComponent.d.ts +35 -0
  46. package/lib/decorateMapComponent.js +80 -0
  47. package/{src/index.js → lib/index.d.ts} +5 -16
  48. package/lib/index.js +66 -0
  49. package/lib/sharedTypes.d.ts +82 -0
  50. package/lib/sharedTypes.js +2 -0
  51. package/package.json +19 -28
  52. package/react-native-google-maps.podspec +1 -1
  53. package/index.d.ts +0 -637
  54. package/src/AnimatedRegion.js +0 -164
  55. package/src/Geojson.js +0 -334
  56. package/src/MapCallout.js +0 -51
  57. package/src/MapCalloutSubview.js +0 -44
  58. package/src/MapCircle.js +0 -150
  59. package/src/MapHeatmap.js +0 -99
  60. package/src/MapLocalTile.js +0 -52
  61. package/src/MapMarker.js +0 -377
  62. package/src/MapOverlay.js +0 -86
  63. package/src/MapPolygon.js +0 -202
  64. package/src/MapPolyline.js +0 -168
  65. package/src/MapUrlTile.js +0 -131
  66. package/src/MapView.js +0 -1160
  67. package/src/MapWMSTile.js +0 -122
  68. package/src/ProviderConstants.js +0 -2
  69. package/src/decorateMapComponent.js +0 -112
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.googleMapIsInstalled = exports.createNotSupportedComponent = exports.getNativeMapName = exports.ProviderContext = exports.NOT_SUPPORTED = exports.USES_DEFAULT_IMPLEMENTATION = exports.SUPPORTED = void 0;
4
+ const react_1 = require("react");
5
+ const react_native_1 = require("react-native");
6
+ const ProviderConstants_1 = require("./ProviderConstants");
7
+ exports.SUPPORTED = 'SUPPORTED';
8
+ exports.USES_DEFAULT_IMPLEMENTATION = 'USES_DEFAULT_IMPLEMENTATION';
9
+ exports.NOT_SUPPORTED = 'NOT_SUPPORTED';
10
+ exports.ProviderContext = (0, react_1.createContext)(undefined);
11
+ function getNativeMapName(provider) {
12
+ if (react_native_1.Platform.OS === 'android') {
13
+ return 'AIRMap';
14
+ }
15
+ if (provider === ProviderConstants_1.PROVIDER_GOOGLE) {
16
+ return 'AIRGoogleMap';
17
+ }
18
+ return 'AIRMap';
19
+ }
20
+ exports.getNativeMapName = getNativeMapName;
21
+ function getNativeComponentName(provider, component) {
22
+ return `${getNativeMapName(provider)}${component}`;
23
+ }
24
+ const createNotSupportedComponent = (message) => () => {
25
+ console.error(message);
26
+ return null;
27
+ };
28
+ exports.createNotSupportedComponent = createNotSupportedComponent;
29
+ exports.googleMapIsInstalled = !!react_native_1.UIManager.getViewManagerConfig(getNativeMapName(ProviderConstants_1.PROVIDER_GOOGLE));
30
+ function decorateMapComponent(Component, componentName, providers) {
31
+ const components = {};
32
+ const getDefaultComponent = () => (0, react_native_1.requireNativeComponent)(getNativeComponentName(undefined, componentName));
33
+ Component.contextType = exports.ProviderContext;
34
+ Component.prototype.getNativeComponent =
35
+ function getNativeComponent() {
36
+ const provider = this.context;
37
+ const key = provider || 'default';
38
+ if (components[key]) {
39
+ return components[key];
40
+ }
41
+ if (provider === ProviderConstants_1.PROVIDER_DEFAULT) {
42
+ components[key] = getDefaultComponent();
43
+ return components[key];
44
+ }
45
+ const providerInfo = providers[provider];
46
+ // quick fix. Previous code assumed android | ios
47
+ if (react_native_1.Platform.OS !== 'android' && react_native_1.Platform.OS !== 'ios') {
48
+ throw new Error(`react-native-maps doesn't support ${react_native_1.Platform.OS}`);
49
+ }
50
+ const platformSupport = providerInfo[react_native_1.Platform.OS];
51
+ const nativeComponentName = getNativeComponentName(provider, componentName);
52
+ if (platformSupport === exports.NOT_SUPPORTED) {
53
+ components[key] = (0, exports.createNotSupportedComponent)(`react-native-maps: ${nativeComponentName} is not supported on ${react_native_1.Platform.OS}`);
54
+ }
55
+ else if (platformSupport === exports.SUPPORTED) {
56
+ if (provider !== ProviderConstants_1.PROVIDER_GOOGLE ||
57
+ (react_native_1.Platform.OS === 'ios' && exports.googleMapIsInstalled)) {
58
+ components[key] = (0, react_native_1.requireNativeComponent)(nativeComponentName);
59
+ }
60
+ }
61
+ else {
62
+ // (platformSupport === USES_DEFAULT_IMPLEMENTATION)
63
+ if (!components.default) {
64
+ components.default = getDefaultComponent();
65
+ }
66
+ components[key] = components.default;
67
+ }
68
+ return components[key];
69
+ };
70
+ Component.prototype.getUIManagerCommand = function getUIManagerCommand(name) {
71
+ const nativeComponentName = getNativeComponentName(this.context, componentName);
72
+ return react_native_1.UIManager.getViewManagerConfig(nativeComponentName).Commands[name];
73
+ };
74
+ Component.prototype.getMapManagerCommand = function getMapManagerCommand(name) {
75
+ const nativeComponentName = `${getNativeComponentName(this.context, componentName)}Manager`;
76
+ return react_native_1.NativeModules[nativeComponentName][name];
77
+ };
78
+ return Component;
79
+ }
80
+ exports.default = decorateMapComponent;
@@ -1,12 +1,6 @@
1
- import MapView, {
2
- Animated,
3
- MAP_TYPES,
4
- ProviderPropType,
5
- enableLatestRenderer,
6
- } from './MapView';
1
+ import MapView, { AnimatedMapView as Animated, MAP_TYPES, enableLatestRenderer } from './MapView';
7
2
  import Marker from './MapMarker';
8
3
  import Overlay from './MapOverlay';
9
-
10
4
  export { default as Polyline } from './MapPolyline';
11
5
  export { default as Heatmap } from './MapHeatmap';
12
6
  export { default as Polygon } from './MapPolygon';
@@ -18,14 +12,9 @@ export { default as Callout } from './MapCallout';
18
12
  export { default as CalloutSubview } from './MapCalloutSubview';
19
13
  export { default as AnimatedRegion } from './AnimatedRegion';
20
14
  export { default as Geojson } from './Geojson';
21
-
22
15
  export { Marker, Overlay };
23
- export { Animated, MAP_TYPES, ProviderPropType, enableLatestRenderer };
24
-
25
- export const PROVIDER_GOOGLE = MapView.PROVIDER_GOOGLE;
26
- export const PROVIDER_DEFAULT = MapView.PROVIDER_DEFAULT;
27
-
28
- export const MarkerAnimated = Marker.Animated;
29
- export const OverlayAnimated = Overlay.Animated;
30
-
16
+ export { Animated, MAP_TYPES, enableLatestRenderer };
17
+ export * from './ProviderConstants';
18
+ export declare const MarkerAnimated: import("react-native").Animated.AnimatedComponent<typeof import("./MapMarker").MapMarker>;
19
+ export declare const OverlayAnimated: import("react-native").Animated.AnimatedComponent<typeof import("./MapOverlay").MapOverlay>;
31
20
  export default MapView;
package/lib/index.js ADDED
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
26
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
27
+ };
28
+ var __importDefault = (this && this.__importDefault) || function (mod) {
29
+ return (mod && mod.__esModule) ? mod : { "default": mod };
30
+ };
31
+ Object.defineProperty(exports, "__esModule", { value: true });
32
+ exports.OverlayAnimated = exports.MarkerAnimated = exports.enableLatestRenderer = exports.MAP_TYPES = exports.Animated = exports.Overlay = exports.Marker = exports.Geojson = exports.AnimatedRegion = exports.CalloutSubview = exports.Callout = exports.LocalTile = exports.WMSTile = exports.UrlTile = exports.Circle = exports.Polygon = exports.Heatmap = exports.Polyline = void 0;
33
+ const MapView_1 = __importStar(require("./MapView"));
34
+ Object.defineProperty(exports, "Animated", { enumerable: true, get: function () { return MapView_1.AnimatedMapView; } });
35
+ Object.defineProperty(exports, "MAP_TYPES", { enumerable: true, get: function () { return MapView_1.MAP_TYPES; } });
36
+ Object.defineProperty(exports, "enableLatestRenderer", { enumerable: true, get: function () { return MapView_1.enableLatestRenderer; } });
37
+ const MapMarker_1 = __importDefault(require("./MapMarker"));
38
+ exports.Marker = MapMarker_1.default;
39
+ const MapOverlay_1 = __importDefault(require("./MapOverlay"));
40
+ exports.Overlay = MapOverlay_1.default;
41
+ var MapPolyline_1 = require("./MapPolyline");
42
+ Object.defineProperty(exports, "Polyline", { enumerable: true, get: function () { return __importDefault(MapPolyline_1).default; } });
43
+ var MapHeatmap_1 = require("./MapHeatmap");
44
+ Object.defineProperty(exports, "Heatmap", { enumerable: true, get: function () { return __importDefault(MapHeatmap_1).default; } });
45
+ var MapPolygon_1 = require("./MapPolygon");
46
+ Object.defineProperty(exports, "Polygon", { enumerable: true, get: function () { return __importDefault(MapPolygon_1).default; } });
47
+ var MapCircle_1 = require("./MapCircle");
48
+ Object.defineProperty(exports, "Circle", { enumerable: true, get: function () { return __importDefault(MapCircle_1).default; } });
49
+ var MapUrlTile_1 = require("./MapUrlTile");
50
+ Object.defineProperty(exports, "UrlTile", { enumerable: true, get: function () { return __importDefault(MapUrlTile_1).default; } });
51
+ var MapWMSTile_1 = require("./MapWMSTile");
52
+ Object.defineProperty(exports, "WMSTile", { enumerable: true, get: function () { return __importDefault(MapWMSTile_1).default; } });
53
+ var MapLocalTile_1 = require("./MapLocalTile");
54
+ Object.defineProperty(exports, "LocalTile", { enumerable: true, get: function () { return __importDefault(MapLocalTile_1).default; } });
55
+ var MapCallout_1 = require("./MapCallout");
56
+ Object.defineProperty(exports, "Callout", { enumerable: true, get: function () { return __importDefault(MapCallout_1).default; } });
57
+ var MapCalloutSubview_1 = require("./MapCalloutSubview");
58
+ Object.defineProperty(exports, "CalloutSubview", { enumerable: true, get: function () { return __importDefault(MapCalloutSubview_1).default; } });
59
+ var AnimatedRegion_1 = require("./AnimatedRegion");
60
+ Object.defineProperty(exports, "AnimatedRegion", { enumerable: true, get: function () { return __importDefault(AnimatedRegion_1).default; } });
61
+ var Geojson_1 = require("./Geojson");
62
+ Object.defineProperty(exports, "Geojson", { enumerable: true, get: function () { return __importDefault(Geojson_1).default; } });
63
+ __exportStar(require("./ProviderConstants"), exports);
64
+ exports.MarkerAnimated = MapMarker_1.default.Animated;
65
+ exports.OverlayAnimated = MapOverlay_1.default.Animated;
66
+ exports.default = MapView_1.default;
@@ -0,0 +1,82 @@
1
+ import { NativeSyntheticEvent } from 'react-native';
2
+ export declare type Modify<T, R> = Omit<T, keyof R> & R;
3
+ export declare type Provider = 'google' | undefined;
4
+ export declare type LatLng = {
5
+ latitude: number;
6
+ longitude: number;
7
+ };
8
+ export declare type Point = {
9
+ x: number;
10
+ y: number;
11
+ };
12
+ export declare type Region = LatLng & {
13
+ latitudeDelta: number;
14
+ longitudeDelta: number;
15
+ };
16
+ export declare type Frame = Point & {
17
+ height: number;
18
+ width: number;
19
+ };
20
+ export declare type CalloutPressEvent = NativeSyntheticEvent<{
21
+ action: 'callout-press';
22
+ /**
23
+ * @platform iOS
24
+ */
25
+ frame?: Frame;
26
+ /**
27
+ * @platform iOS
28
+ */
29
+ id?: string;
30
+ /**
31
+ * @platform iOS
32
+ */
33
+ point?: Point;
34
+ /**
35
+ * @platform Android
36
+ */
37
+ coordinate?: LatLng;
38
+ /**
39
+ * @platform Android
40
+ */
41
+ position?: Point;
42
+ }>;
43
+ export declare type LineCapType = 'butt' | 'round' | 'square';
44
+ export declare type LineJoinType = 'miter' | 'round' | 'bevel';
45
+ export declare type ClickEvent<T = {}> = NativeSyntheticEvent<{
46
+ coordinate: LatLng;
47
+ position: Point;
48
+ } & T>;
49
+ export declare type MarkerDeselectEvent = Omit<ClickEvent<{
50
+ action: 'marker-deselect';
51
+ id: string;
52
+ }>, 'position'>;
53
+ export declare type MarkerSelectEvent = Omit<ClickEvent<{
54
+ id: string;
55
+ action: 'marker-select';
56
+ }>, 'position'>;
57
+ export declare type MarkerDragEvent = ClickEvent<{
58
+ /**
59
+ * @platform iOS
60
+ */
61
+ id?: string;
62
+ }>;
63
+ export declare type MarkerDragStartEndEvent = NativeSyntheticEvent<{
64
+ coordinate: LatLng;
65
+ /**
66
+ * @platform iOS
67
+ */
68
+ id?: string;
69
+ /**
70
+ * @platform Android
71
+ */
72
+ position?: Point;
73
+ }>;
74
+ export declare type MarkerPressEvent = NativeSyntheticEvent<{
75
+ id: string;
76
+ action: 'marker-press';
77
+ coordinate: LatLng;
78
+ /**
79
+ * @platform Android
80
+ */
81
+ position?: Point;
82
+ }>;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/package.json CHANGED
@@ -1,22 +1,22 @@
1
1
  {
2
2
  "name": "react-native-maps",
3
3
  "description": "React Native Mapview component for iOS + Android",
4
- "main": "src/index.js",
5
- "types": "index.d.ts",
4
+ "main": "lib/index.js",
6
5
  "author": "Leland Richardson <leland.m.richardson@gmail.com>",
7
- "version": "0.31.1",
6
+ "version": "1.0.0-beta.3",
8
7
  "license": "MIT",
9
8
  "scripts": {
10
9
  "lint": "eslint . --max-warnings 0",
10
+ "tscheck": "tsc --noEmit",
11
+ "build": "tsc",
11
12
  "test": "jest",
12
13
  "prepare": "husky install",
13
14
  "release": "semantic-release"
14
15
  },
15
16
  "files": [
16
- "index.d.ts",
17
+ "lib",
17
18
  "android",
18
19
  "ios",
19
- "src",
20
20
  "react-native-google-maps.podspec",
21
21
  "react-native-maps.podspec",
22
22
  "!android/build",
@@ -39,8 +39,8 @@
39
39
  "mapkit"
40
40
  ],
41
41
  "peerDependencies": {
42
- "react": ">= 16.0",
43
- "react-native": ">= 0.51",
42
+ "react": ">= 17.0.1",
43
+ "react-native": ">= 0.64.3",
44
44
  "react-native-web": ">= 0.11"
45
45
  },
46
46
  "peerDependenciesMeta": {
@@ -49,33 +49,24 @@
49
49
  }
50
50
  },
51
51
  "devDependencies": {
52
- "@commitlint/cli": "16.2.3",
53
- "@commitlint/config-conventional": "16.2.1",
54
- "@react-native-community/eslint-config": "^3.0.1",
52
+ "@commitlint/cli": "17.0.2",
53
+ "@commitlint/config-conventional": "17.0.2",
54
+ "@react-native-community/eslint-config": "^3.0.2",
55
+ "@types/react-native": "0.68.0",
55
56
  "babel-jest": "^27.3.1",
56
57
  "eslint": "7.32.0",
57
- "husky": "7.0.4",
58
+ "husky": "8.0.1",
58
59
  "jest": "^27.3.1",
59
- "react": "^17.0.2",
60
- "react-native": "^0.66.3",
61
- "semantic-release": "19.0.2",
62
- "typescript": "^4.4.3"
60
+ "prettier": "2.7.1",
61
+ "react": "17.0.2",
62
+ "react-native": "0.68.2",
63
+ "semantic-release": "19.0.3",
64
+ "typescript": "4.7.4"
63
65
  },
64
66
  "dependencies": {
65
- "@types/geojson": "^7946.0.7",
66
- "deprecated-react-native-prop-types": "^2.3.0"
67
+ "@types/geojson": "^7946.0.8"
67
68
  },
68
69
  "jest": {
69
- "preset": "react-native",
70
- "testRegex": "<rootDir>/__tests__/.*|(\\.|/)(test|spec)\\.jsx?$",
71
- "transform": {
72
- "^.+\\.js$": "<rootDir>/node_modules/react-native/jest/preprocessor.js"
73
- },
74
- "moduleFileExtensions": [
75
- "js"
76
- ],
77
- "transformIgnorePatterns": [
78
- "node_modules/(?!@react-native|react-native)"
79
- ]
70
+ "preset": "react-native"
80
71
  }
81
72
  }
@@ -17,6 +17,6 @@ Pod::Spec.new do |s|
17
17
  s.compiler_flags = '-DHAVE_GOOGLE_MAPS=1', '-DHAVE_GOOGLE_MAPS_UTILS=1', '-fno-modules'
18
18
 
19
19
  s.dependency 'React-Core'
20
- s.dependency 'GoogleMaps', '6.1.1'
20
+ s.dependency 'GoogleMaps', '6.2.1'
21
21
  s.dependency 'Google-Maps-iOS-Utils', '4.1.0'
22
22
  end