react-native-maps 0.31.0-beta.6 → 1.0.0-beta.1

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 (78) hide show
  1. package/README.md +1 -5
  2. package/android/build.gradle +31 -2
  3. package/android/src/main/AndroidManifest.xml +0 -3
  4. package/android/src/main/java/com/airbnb/android/react/maps/AirMapCalloutManager.java +2 -2
  5. package/android/src/main/java/com/airbnb/android/react/maps/AirMapLocalTile.java +11 -4
  6. package/android/src/main/java/com/airbnb/android/react/maps/AirMapLocalTileManager.java +5 -1
  7. package/android/src/main/java/com/airbnb/android/react/maps/AirMapManager.java +4 -43
  8. package/android/src/main/java/com/airbnb/android/react/maps/AirMapMarker.java +2 -2
  9. package/android/src/main/java/com/airbnb/android/react/maps/AirMapMarkerManager.java +2 -2
  10. package/android/src/main/java/com/airbnb/android/react/maps/AirMapModule.java +1 -2
  11. package/android/src/main/java/com/airbnb/android/react/maps/AirMapOverlayManager.java +2 -2
  12. package/android/src/main/java/com/airbnb/android/react/maps/AirMapPolygonManager.java +2 -2
  13. package/android/src/main/java/com/airbnb/android/react/maps/AirMapPolylineManager.java +2 -2
  14. package/android/src/main/java/com/airbnb/android/react/maps/AirMapTileProvider.java +5 -5
  15. package/android/src/main/java/com/airbnb/android/react/maps/AirMapView.java +0 -32
  16. package/android/src/main/java/com/airbnb/android/react/maps/ImageReader.java +2 -2
  17. package/ios/AirGoogleMaps/AIRGoogleMap.m +37 -31
  18. package/ios/AirGoogleMaps/AIRGoogleMapManager.m +0 -95
  19. package/ios/AirMaps/AIRMap.m +0 -7
  20. package/ios/AirMaps/AIRMapManager.m +0 -105
  21. package/lib/AnimatedRegion.d.ts +19 -0
  22. package/lib/AnimatedRegion.js +134 -0
  23. package/lib/Geojson.d.ts +166 -0
  24. package/lib/Geojson.js +165 -0
  25. package/lib/MapCallout.d.ts +40 -0
  26. package/lib/MapCallout.js +51 -0
  27. package/lib/MapCalloutSubview.d.ts +34 -0
  28. package/lib/MapCalloutSubview.js +48 -0
  29. package/lib/MapCircle.d.ts +117 -0
  30. package/lib/MapCircle.js +53 -0
  31. package/lib/MapHeatmap.d.ts +77 -0
  32. package/lib/MapHeatmap.js +59 -0
  33. package/lib/MapLocalTile.d.ts +35 -0
  34. package/lib/MapLocalTile.js +44 -0
  35. package/lib/MapMarker.d.ts +289 -0
  36. package/lib/MapMarker.js +113 -0
  37. package/lib/MapOverlay.d.ts +86 -0
  38. package/lib/MapOverlay.js +63 -0
  39. package/lib/MapPolygon.d.ts +156 -0
  40. package/lib/MapPolygon.js +74 -0
  41. package/lib/MapPolyline.d.ts +156 -0
  42. package/lib/MapPolyline.js +53 -0
  43. package/lib/MapUrlTile.d.ts +134 -0
  44. package/lib/MapUrlTile.js +44 -0
  45. package/lib/MapView.d.ts +825 -0
  46. package/lib/MapView.js +418 -0
  47. package/{src/MapView.web.js → lib/MapView.web.d.ts} +0 -0
  48. package/lib/MapView.web.js +9 -0
  49. package/lib/MapWMSTile.d.ts +116 -0
  50. package/lib/MapWMSTile.js +44 -0
  51. package/lib/ProviderConstants.d.ts +2 -0
  52. package/lib/ProviderConstants.js +5 -0
  53. package/lib/decorateMapComponent.d.ts +35 -0
  54. package/lib/decorateMapComponent.js +80 -0
  55. package/{src/index.js → lib/index.d.ts} +5 -16
  56. package/lib/index.js +66 -0
  57. package/lib/sharedTypes.d.ts +82 -0
  58. package/lib/sharedTypes.js +2 -0
  59. package/package.json +18 -27
  60. package/react-native-google-maps.podspec +1 -1
  61. package/react-native-maps.podspec +1 -1
  62. package/index.d.ts +0 -637
  63. package/src/AnimatedRegion.js +0 -164
  64. package/src/Geojson.js +0 -334
  65. package/src/MapCallout.js +0 -51
  66. package/src/MapCalloutSubview.js +0 -44
  67. package/src/MapCircle.js +0 -150
  68. package/src/MapHeatmap.js +0 -99
  69. package/src/MapLocalTile.js +0 -52
  70. package/src/MapMarker.js +0 -377
  71. package/src/MapOverlay.js +0 -86
  72. package/src/MapPolygon.js +0 -202
  73. package/src/MapPolyline.js +0 -168
  74. package/src/MapUrlTile.js +0 -131
  75. package/src/MapView.js +0 -1160
  76. package/src/MapWMSTile.js +0 -122
  77. package/src/ProviderConstants.js +0 -2
  78. 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.0-beta.6",
6
+ "version": "1.0.0-beta.1",
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.67.8",
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",
60
+ "prettier": "2.6.2",
61
+ "react": "17.0.2",
62
+ "react-native": "0.68.2",
61
63
  "semantic-release": "19.0.2",
62
- "typescript": "^4.4.3"
64
+ "typescript": "4.7.3"
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
@@ -10,7 +10,7 @@ Pod::Spec.new do |s|
10
10
  s.authors = { "intelligibabble" => "leland.m.richardson@gmail.com" }
11
11
  s.homepage = "https://github.com/react-native-maps/react-native-maps#readme"
12
12
  s.license = "MIT"
13
- s.platform = :ios, "12.0"
13
+ s.platform = :ios, "11.0"
14
14
 
15
15
  s.source = { :git => "https://github.com/react-native-maps/react-native-maps.git", :tag=> "v#{s.version}" }
16
16
  s.source_files = "ios/AirMaps/**/*.{h,m}"