@rnmapbox/maps 10.0.0-beta.71 → 10.0.0-beta.73

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 (42) hide show
  1. package/README.md +1 -0
  2. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/RCTMGLPackage.java +2 -0
  3. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/annotation/RCTMGLPointAnnotation.kt +0 -1
  4. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/images/RCTMGLImage.kt +74 -0
  5. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/images/RCTMGLImageManager.kt +67 -0
  6. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/images/RCTMGLImages.kt +62 -35
  7. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/images/RCTMGLImagesManager.kt +216 -0
  8. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/styles/layers/RCTLayer.kt +2 -1
  9. package/index.d.ts +13 -3
  10. package/ios/RCTMGL-v10/RCMTGLImage.swift +93 -0
  11. package/ios/RCTMGL-v10/RCMTGLImageManager.m +9 -0
  12. package/ios/RCTMGL-v10/RCMTGLImageManager.swift +14 -0
  13. package/ios/RCTMGL-v10/RCTMGLImages.swift +68 -9
  14. package/javascript/components/Image.tsx +63 -0
  15. package/javascript/components/Images.tsx +29 -6
  16. package/javascript/components/annotations/Annotation.js +9 -10
  17. package/javascript/index.js +3 -0
  18. package/javascript/modules/location/locationManager.ts +1 -1
  19. package/lib/commonjs/components/Image.js +34 -0
  20. package/lib/commonjs/components/Image.js.map +1 -0
  21. package/lib/commonjs/components/Images.js +13 -0
  22. package/lib/commonjs/components/Images.js.map +1 -1
  23. package/lib/commonjs/components/annotations/Annotation.js +6 -9
  24. package/lib/commonjs/components/annotations/Annotation.js.map +1 -1
  25. package/lib/commonjs/index.js +8 -0
  26. package/lib/commonjs/index.js.map +1 -1
  27. package/lib/module/components/Image.js +24 -0
  28. package/lib/module/components/Image.js.map +1 -0
  29. package/lib/module/components/Images.js +15 -2
  30. package/lib/module/components/Images.js.map +1 -1
  31. package/lib/module/components/annotations/Annotation.js +6 -9
  32. package/lib/module/components/annotations/Annotation.js.map +1 -1
  33. package/lib/module/index.js +3 -1
  34. package/lib/module/index.js.map +1 -1
  35. package/lib/typescript/components/Image.d.ts +26 -0
  36. package/lib/typescript/components/Image.d.ts.map +1 -0
  37. package/lib/typescript/components/Images.d.ts +6 -4
  38. package/lib/typescript/components/Images.d.ts.map +1 -1
  39. package/lib/typescript/modules/location/locationManager.d.ts +1 -1
  40. package/lib/typescript/modules/location/locationManager.d.ts.map +1 -1
  41. package/package.json +1 -1
  42. package/android/rctmgl/src/main/java-v10/com/mapbox/rctmgl/components/images/RCTMGLImagesManager.java +0 -103
@@ -0,0 +1,93 @@
1
+ import MapboxMaps
2
+
3
+ class RCTMGLImage : UIView {
4
+ @objc
5
+ var name: String = ""
6
+
7
+ var image: UIImage? = nil
8
+
9
+ var sdf: Bool? = nil
10
+ var stretchX: [[NSNumber]] = []
11
+ var stretchY: [[NSNumber]] = []
12
+
13
+ weak var images: RCTMGLImageSetter? = nil {
14
+ didSet {
15
+ DispatchQueue.main.async { self.setImage() }
16
+ }
17
+ }
18
+ weak var bridge : RCTBridge! = nil
19
+
20
+ var reactSubviews : [UIView] = []
21
+
22
+ // MARK: - subview management
23
+
24
+ @objc open override func insertReactSubview(_ subview: UIView!, at atIndex: Int) {
25
+ reactSubviews.insert(subview, at: atIndex)
26
+ if reactSubviews.count > 1 {
27
+ Logger.log(level: .error, message: "Image supports max 1 subview")
28
+ }
29
+ if image == nil {
30
+ DispatchQueue.main.asyncAfter(deadline: .now() + .microseconds(10)) {
31
+ self.setImage()
32
+ }
33
+ }
34
+ }
35
+
36
+ @objc
37
+ open override func removeReactSubview(_ subview: UIView!) {
38
+ reactSubviews.removeAll(where: { $0 == subview })
39
+ }
40
+
41
+ // MARK: - view shnapshot
42
+
43
+ func changeImage(_ image: UIImage, name: String) {
44
+ if let images = images {
45
+ let _ = images.addImage(name: name, image: image, sdf: sdf, stretchX:stretchX, stretchY:stretchY, log: "RCTMGLImage.addImage")
46
+ }
47
+ }
48
+
49
+ func setImage() {
50
+ if let image = _createViewSnapshot() {
51
+ changeImage(image, name: name)
52
+ }
53
+ }
54
+
55
+ func _createViewSnapshot() -> UIImage? {
56
+ let useDummyImage = false
57
+ if useDummyImage {
58
+ let size = CGSize(width: 32, height: 32)
59
+ let renderer = UIGraphicsImageRenderer(size: size)
60
+ let image = renderer.image { context in
61
+ UIColor.darkGray.setStroke()
62
+ context.stroke(CGRect(x: 0, y:0, width: 32, height: 32))
63
+ UIColor(red: 158/255, green: 215/255, blue: 245/255, alpha: 1).setFill()
64
+ context.fill(CGRect(x: 2, y: 2, width: 30, height: 30))
65
+ }
66
+ return image
67
+ }
68
+ guard reactSubviews.count > 0 else {
69
+ return nil
70
+ }
71
+ return _createViewSnapshot(view: reactSubviews[0])
72
+ }
73
+
74
+ func _createViewSnapshot(view: UIView) -> UIImage? {
75
+ guard view.bounds.size.width > 0 && view.bounds.size.height > 0 else {
76
+ return nil
77
+ }
78
+
79
+ let roundUp = 4
80
+
81
+ let adjustedSize = CGSize(
82
+ width: ((Int(view.bounds.size.width)+roundUp-1)/roundUp)*roundUp,
83
+ height: ((Int(view.bounds.size.height)+roundUp-1)/roundUp)*roundUp
84
+ )
85
+
86
+ let renderer = UIGraphicsImageRenderer(size: adjustedSize)
87
+ let image = renderer.image { context in
88
+ view.layer.render(in: context.cgContext)
89
+ }
90
+ return image
91
+ }
92
+ }
93
+
@@ -0,0 +1,9 @@
1
+ #import <React/RCTBridgeModule.h>
2
+ #import <React/RCTViewManager.h>
3
+
4
+ @interface RCT_EXTERN_MODULE(RCTMGLImageManager, RCTViewManager)
5
+
6
+ RCT_EXPORT_VIEW_PROPERTY(name, NSString)
7
+
8
+ @end
9
+
@@ -0,0 +1,14 @@
1
+
2
+ @objc(RCTMGLImageManager)
3
+ class RCTMGLImageManager : RCTViewManager {
4
+ @objc
5
+ override static func requiresMainQueueSetup() -> Bool {
6
+ return true
7
+ }
8
+
9
+ override func view() -> UIView! {
10
+ let layer = RCTMGLImage()
11
+ layer.bridge = self.bridge
12
+ return layer
13
+ }
14
+ }
@@ -1,16 +1,24 @@
1
1
  import MapboxMaps
2
2
 
3
+ protocol RCTMGLImageSetter : AnyObject {
4
+ func addImage(name: String, image: UIImage, sdf: Bool?, stretchX: [[NSNumber]], stretchY: [[NSNumber]], log: String) -> Bool
5
+ }
6
+
3
7
  class RCTMGLImages : UIView, RCTMGLMapComponent {
4
8
 
5
9
  weak var bridge : RCTBridge! = nil
6
10
  var remoteImages : [String:String] = [:]
7
11
 
12
+ weak var style: Style? = nil
13
+
8
14
  @objc
9
15
  var onImageMissing: RCTBubblingEventBlock? = nil
10
16
 
11
17
  @objc
12
18
  var images : [String:Any] = [:]
13
19
 
20
+ var imageViews: [RCTMGLImage] = []
21
+
14
22
  @objc
15
23
  var nativeImages: [Any] = [] {
16
24
  didSet {
@@ -21,6 +29,23 @@ class RCTMGLImages : UIView, RCTMGLMapComponent {
21
29
  typealias NativeImageInfo = (name:String, sdf: Bool, stretchX:[(from:Float, to:Float)], stretchY:[(from:Float, to:Float)]);
22
30
  var nativeImageInfos: [NativeImageInfo] = []
23
31
 
32
+ @objc open override func insertReactSubview(_ subview: UIView!, at atIndex: Int) {
33
+ if let image = subview as? RCTMGLImage {
34
+ imageViews.insert(image, at: atIndex)
35
+ } else {
36
+ Logger.log(level:.warn, message: "RCTMGLImages children can only be RCTMGLImage, got \(optional: subview)")
37
+ }
38
+ super.insertReactSubview(subview, at: atIndex)
39
+ }
40
+
41
+ @objc open override func removeReactSubview(_ subview: UIView!) {
42
+ if let image = subview as? RCTMGLImage {
43
+ imageViews.removeAll { $0 == image }
44
+ image.images = nil
45
+ }
46
+ super.removeReactSubview(subview)
47
+ }
48
+
24
49
  // MARK: - RCTMGLMapComponent
25
50
 
26
51
  func waitForStyleLoad() -> Bool {
@@ -28,14 +53,17 @@ class RCTMGLImages : UIView, RCTMGLMapComponent {
28
53
  }
29
54
 
30
55
  func addToMap(_ map: RCTMGLMapView, style: Style) {
56
+ self.style = style
31
57
  map.images.append(self)
32
58
  map.setupEvents()
33
59
 
34
60
  self.addNativeImages(style: style, nativeImages: nativeImageInfos)
35
61
  self.addRemoteImages(style: style, remoteImages: images)
62
+ self.addImageViews(style: style, imageViews: imageViews)
36
63
  }
37
64
 
38
65
  func removeFromMap(_ map: RCTMGLMapView) {
66
+ self.style = nil
39
67
  // v10todo
40
68
  }
41
69
 
@@ -63,6 +91,12 @@ class RCTMGLImages : UIView, RCTMGLMapComponent {
63
91
  }
64
92
  }
65
93
 
94
+ private func addImageViews(style: Style, imageViews: [RCTMGLImage]) {
95
+ imageViews.forEach { imageView in
96
+ imageView.images = self
97
+ }
98
+ }
99
+
66
100
  public func addMissingImageToStyle(style: Style, imageName: String) -> Bool {
67
101
  if let nativeImage = nativeImageInfos.first(where: { $0.name == imageName }) {
68
102
  addNativeImages(style: style, nativeImages: [nativeImage])
@@ -84,6 +118,16 @@ class RCTMGLImages : UIView, RCTMGLMapComponent {
84
118
  }
85
119
  }
86
120
 
121
+ func convert(stretch: [[NSNumber]]) -> [(from: Float, to: Float)] {
122
+ return stretch.map{ pair in
123
+ return (from: pair[0].floatValue, to: pair[1].floatValue)
124
+ }
125
+ }
126
+
127
+ func convert(stretch: [(from: Float, to: Float)]) -> [ImageStretches] {
128
+ return stretch.map { v in ImageStretches(first: v.from, second: v.to) }
129
+ }
130
+
87
131
  func decodeImage(_ imageNameOrInfo: Any) -> NativeImageInfo? {
88
132
  if let imageName = imageNameOrInfo as? String {
89
133
  return (name: imageName, sdf: false, stretchX:[],stretchY:[])
@@ -100,18 +144,14 @@ class RCTMGLImages : UIView, RCTMGLMapComponent {
100
144
  }
101
145
 
102
146
  if let stretchXV = imageInfo["stretchX"] as? [[NSNumber]] {
103
- stretchX = stretchXV.map{ pair in
104
- return (from: pair[0].floatValue, to: pair[1].floatValue)
105
- }
147
+ stretchX = convert(stretch: stretchXV)
106
148
  }
107
149
 
108
150
  if let stretchYV = imageInfo["stretchY"] as? [[NSNumber]] {
109
- stretchY = stretchYV.map{ pair in
110
- return (from: pair[0].floatValue, to: pair[1].floatValue)
111
- }
151
+ stretchY = convert(stretch: stretchYV)
112
152
  }
113
153
 
114
- return (name: name, sdf: sdf, stretchX:stretchX,stretchY:stretchY)
154
+ return (name: name, sdf: sdf, stretchX: stretchX, stretchY: stretchY)
115
155
  } else {
116
156
  Logger.log(level: .warn, message: "RCTMGLImage.nativeImage, unexpected image: \(imageNameOrInfo)")
117
157
  return nil
@@ -125,8 +165,9 @@ class RCTMGLImages : UIView, RCTMGLMapComponent {
125
165
  if let image = UIImage(named: imageName) {
126
166
  logged("RCTMGLImage.addNativeImage: \(imageName)") {
127
167
  try style.addImage(image, id: imageName, sdf: imageInfo.sdf,
128
- stretchX: imageInfo.stretchX.map { v in ImageStretches(first: v.from, second: v.to) },
129
- stretchY: imageInfo.stretchY.map { v in ImageStretches(first: v.from, second: v.to) } )
168
+ stretchX: convert(stretch: imageInfo.stretchX),
169
+ stretchY: convert(stretch: imageInfo.stretchY)
170
+ )
130
171
  }
131
172
  } else {
132
173
  Logger.log(level:.error, message: "Cannot find nativeImage named \(imageName)")
@@ -141,5 +182,23 @@ class RCTMGLImages : UIView, RCTMGLMapComponent {
141
182
  UIGraphicsEndImageContext()
142
183
  return result
143
184
  }()
185
+ }
144
186
 
187
+ extension RCTMGLImages : RCTMGLImageSetter {
188
+ func addImage(name: String, image: UIImage, sdf: Bool?, stretchX: [[NSNumber]], stretchY: [[NSNumber]], log: String) -> Bool
189
+ {
190
+ return logged("\(log).addImage") {
191
+ if let style = style {
192
+ try style.addImage(image,
193
+ id:name,
194
+ sdf: sdf ?? false,
195
+ stretchX: convert(stretch: convert(stretch: stretchX)),
196
+ stretchY: convert(stretch: convert(stretch: stretchY))
197
+ )
198
+ return true
199
+ } else {
200
+ return false
201
+ }
202
+ } ?? false
203
+ }
145
204
  }
@@ -0,0 +1,63 @@
1
+ import React, { memo, forwardRef, ReactElement } from 'react';
2
+ import { requireNativeComponent } from 'react-native';
3
+
4
+ interface Props {
5
+ /** ID of the image */
6
+ name: string;
7
+
8
+ /** Make image an sdf optional - see [SDF icons](https://docs.mapbox.com/help/troubleshooting/using-recolorable-images-in-mapbox-maps/) */
9
+ sdf?: boolean;
10
+
11
+ /** An array of two-element arrays, consisting of two numbers that represent, the from position and the to position of areas that can be stretched horizontally. */
12
+ stretchX?: [number, number][];
13
+
14
+ /** An array of two-element arrays, consisting of two numbers that represent, the from position and the to position of areas that can be stretched vertically. */
15
+ stretchY?: [number, number][];
16
+
17
+ /** An array of four numbers, with the first two specifying the left, top
18
+ * corner, and the last two specifying the right, bottom corner. If present, and if the
19
+ * icon uses icon-text-fit, the symbol's text will be fit inside the content box. */
20
+ content?: [number, number, number, number];
21
+
22
+ /** Scale factor for the image. */
23
+ scale?: number;
24
+
25
+ /** Single react native view rendering the image */
26
+ children: ReactElement;
27
+ }
28
+
29
+ interface Ref {
30
+ refresh: () => void;
31
+ }
32
+
33
+ const Image = memo(
34
+ forwardRef<Ref, Props>(function Image(
35
+ { name, sdf, stretchX, stretchY, children }: Props,
36
+ ref: React.ForwardedRef<Ref>,
37
+ ) {
38
+ const nativeProps = {
39
+ name,
40
+ sdf,
41
+ stretchX,
42
+ stretchY,
43
+ children,
44
+ };
45
+ return <RCTMGLImage {...nativeProps} />;
46
+ }),
47
+ );
48
+
49
+ interface NativeProps {
50
+ name: string;
51
+ children: ReactElement;
52
+ sdf?: boolean;
53
+ stretchX?: [number, number][];
54
+ stretchY?: [number, number][];
55
+ }
56
+
57
+ export const NATIVE_MODULE_NAME = 'RCTMGLImage';
58
+
59
+ const RCTMGLImage = requireNativeComponent<NativeProps>(NATIVE_MODULE_NAME);
60
+
61
+ Image.displayName = 'Image';
62
+
63
+ export default Image;
@@ -1,8 +1,9 @@
1
- import React from 'react';
2
- import { requireNativeComponent, Image } from 'react-native';
1
+ import React, { ReactNode, ReactElement } from 'react';
2
+ import { requireNativeComponent, Image as RNImage } from 'react-native';
3
3
  import { ImageSourcePropType, ImageResolvedAssetSource } from 'react-native';
4
4
 
5
5
  import { ShapeSource } from './ShapeSource';
6
+ import Image from './Image';
6
7
 
7
8
  export const NATIVE_MODULE_NAME = 'RCTMGLImages';
8
9
 
@@ -23,15 +24,23 @@ function _isUrlOrPath(value: string | ImageSourcePropType): value is string {
23
24
  );
24
25
  }
25
26
 
27
+ type TypedReactNode<T> = ReactElement<T> | Array<TypedReactNode<T>> | never;
28
+
26
29
  type NativeImage =
27
30
  | string
28
31
  | {
29
32
  name: string;
30
33
  sdf?: boolean;
31
- strechX: [number, number][];
32
- streacY: [number, number][];
34
+ stretchX?: [number, number][];
35
+ stretchY?: [number, number][];
33
36
  };
34
37
 
38
+ const isChildAnImage = (
39
+ child: ReactNode,
40
+ ): child is React.ReactElement<typeof Image> => {
41
+ return React.isValidElement(child) && child.type === Image;
42
+ };
43
+
35
44
  interface Props {
36
45
  /**
37
46
  * Specifies the external images in key-value pairs required for the shape source.
@@ -54,7 +63,7 @@ interface Props {
54
63
  onImageMissing?: (imageKey: string) => void;
55
64
 
56
65
  id?: string;
57
- children?: React.ReactElement;
66
+ children?: TypedReactNode<typeof Image>;
58
67
  }
59
68
 
60
69
  /**
@@ -85,7 +94,7 @@ class Images extends React.Component<Props> {
85
94
  } else if (_isUrlOrPath(value)) {
86
95
  images[imageName] = value;
87
96
  } else {
88
- const res = Image.resolveAssetSource(value);
97
+ const res = RNImage.resolveAssetSource(value);
89
98
  if (res && res.uri) {
90
99
  images[imageName] = res;
91
100
  }
@@ -93,6 +102,20 @@ class Images extends React.Component<Props> {
93
102
  }
94
103
  }
95
104
 
105
+ const { children } = this.props;
106
+ if (children) {
107
+ const childrenWithWrongType = React.Children.toArray(children).find(
108
+ (child) => !isChildAnImage(child),
109
+ );
110
+ if (childrenWithWrongType) {
111
+ console.error(
112
+ `Images component on accepts Image a children passed in: ${
113
+ (childrenWithWrongType as any).type || 'n/a'
114
+ }`,
115
+ );
116
+ }
117
+ }
118
+
96
119
  if (this.props.nativeAssetImages) {
97
120
  nativeImages = this.props.nativeAssetImages;
98
121
  }
@@ -51,11 +51,16 @@ class Annotation extends React.Component {
51
51
  prevProps.coordinates[0] !== this.props.coordinates[0] ||
52
52
  prevProps.coordinates[1] !== this.props.coordinates[1];
53
53
 
54
- if (!hasCoordChanged) {
55
- return;
56
- }
54
+ if (
55
+ prevProps.animated !== this.props.animated ||
56
+ (hasCoordChanged && (!this.state.shape || !this.props.animated))
57
+ ) {
58
+ const shape = this._getShapeFromProps(this.props);
57
59
 
58
- if (this.props.animated && this.state.shape) {
60
+ this.setState({
61
+ shape: this.props.animated ? new AnimatedPoint(shape) : shape,
62
+ });
63
+ } else if (hasCoordChanged && this.props.animated && this.state.shape) {
59
64
  // flush current animations
60
65
  this.state.shape.stopAnimation();
61
66
 
@@ -66,12 +71,6 @@ class Annotation extends React.Component {
66
71
  duration: this.props.animationDuration,
67
72
  })
68
73
  .start();
69
- } else if (!this.state.shape || !this.props.animated) {
70
- const shape = this._getShapeFromProps(this.props);
71
-
72
- this.setState({
73
- shape: this.props.animated ? new AnimatedPoint(shape) : shape,
74
- });
75
74
  }
76
75
  }
77
76
 
@@ -14,6 +14,7 @@ import RasterSource from './components/RasterSource';
14
14
  import RasterDemSource from './components/RasterDemSource';
15
15
  import ImageSource from './components/ImageSource';
16
16
  import Images from './components/Images';
17
+ import Image from './components/Image';
17
18
  import FillLayer from './components/FillLayer';
18
19
  import FillExtrusionLayer from './components/FillExtrusionLayer';
19
20
  import HeatmapLayer from './components/HeatmapLayer';
@@ -79,6 +80,7 @@ MapboxGL.ShapeSource = ShapeSource;
79
80
  MapboxGL.RasterSource = RasterSource;
80
81
  MapboxGL.ImageSource = ImageSource;
81
82
  MapboxGL.Images = Images;
83
+ MapboxGL.Image = Image;
82
84
  MapboxGL.RasterDemSource = RasterDemSource;
83
85
 
84
86
  // layers
@@ -129,6 +131,7 @@ export {
129
131
  RasterDemSource,
130
132
  ImageSource,
131
133
  Images,
134
+ Image,
132
135
  FillLayer,
133
136
  FillExtrusionLayer,
134
137
  HeatmapLayer,
@@ -17,7 +17,7 @@ export const LocationModuleEventEmitter = new NativeEventEmitter(
17
17
  /**
18
18
  * Location sent by locationManager
19
19
  */
20
- interface Location {
20
+ export interface Location {
21
21
  coords: Coordinates;
22
22
  timestamp?: number;
23
23
  }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.NATIVE_MODULE_NAME = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
10
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
11
+ const Image = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _react.forwardRef)(function Image(_ref, ref) {
12
+ let {
13
+ name,
14
+ sdf,
15
+ stretchX,
16
+ stretchY,
17
+ children
18
+ } = _ref;
19
+ const nativeProps = {
20
+ name,
21
+ sdf,
22
+ stretchX,
23
+ stretchY,
24
+ children
25
+ };
26
+ return /*#__PURE__*/_react.default.createElement(RCTMGLImage, nativeProps);
27
+ }));
28
+ const NATIVE_MODULE_NAME = 'RCTMGLImage';
29
+ exports.NATIVE_MODULE_NAME = NATIVE_MODULE_NAME;
30
+ const RCTMGLImage = (0, _reactNative.requireNativeComponent)(NATIVE_MODULE_NAME);
31
+ Image.displayName = 'Image';
32
+ var _default = Image;
33
+ exports.default = _default;
34
+ //# sourceMappingURL=Image.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Image","memo","forwardRef","_ref","ref","name","sdf","stretchX","stretchY","children","nativeProps","createElement","RCTMGLImage","NATIVE_MODULE_NAME","exports","requireNativeComponent","displayName","_default"],"sourceRoot":"../../../javascript","sources":["components/Image.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAAsD,SAAAE,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAJ,wBAAAQ,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AA+BtD,MAAMW,KAAK,gBAAG,IAAAC,WAAI,gBAChB,IAAAC,iBAAU,EAAa,SAASF,KAAKA,CAAAG,IAAA,EAEnCC,GAA4B,EAC5B;EAAA,IAFA;IAAEC,IAAI;IAAEC,GAAG;IAAEC,QAAQ;IAAEC,QAAQ;IAAEC;EAAgB,CAAC,GAAAN,IAAA;EAGlD,MAAMO,WAAW,GAAG;IAClBL,IAAI;IACJC,GAAG;IACHC,QAAQ;IACRC,QAAQ;IACRC;EACF,CAAC;EACD,oBAAOnC,MAAA,CAAAW,OAAA,CAAA0B,aAAA,CAACC,WAAW,EAAKF,WAAW,CAAI;AACzC,CAAC,CAAC,CACH;AAUM,MAAMG,kBAAkB,GAAG,aAAa;AAACC,OAAA,CAAAD,kBAAA,GAAAA,kBAAA;AAEhD,MAAMD,WAAW,GAAG,IAAAG,mCAAsB,EAAcF,kBAAkB,CAAC;AAE3Eb,KAAK,CAACgB,WAAW,GAAG,OAAO;AAAC,IAAAC,QAAA,GAEbjB,KAAK;AAAAc,OAAA,CAAA7B,OAAA,GAAAgC,QAAA"}
@@ -7,12 +7,16 @@ exports.default = exports.NATIVE_MODULE_NAME = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  var _ShapeSource = require("./ShapeSource");
10
+ var _Image = _interopRequireDefault(require("./Image"));
10
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
12
  const NATIVE_MODULE_NAME = 'RCTMGLImages';
12
13
  exports.NATIVE_MODULE_NAME = NATIVE_MODULE_NAME;
13
14
  function _isUrlOrPath(value) {
14
15
  return (typeof value === 'string' || value instanceof String) && (value.startsWith('file://') || value.startsWith('http://') || value.startsWith('https://') || value.startsWith('data:') || value.startsWith('asset://') || value.startsWith('/'));
15
16
  }
17
+ const isChildAnImage = child => {
18
+ return /*#__PURE__*/_react.default.isValidElement(child) && child.type === _Image.default;
19
+ };
16
20
  /**
17
21
  * Images defines the images used in Symbol etc. layers.
18
22
  */
@@ -40,6 +44,15 @@ class Images extends _react.default.Component {
40
44
  }
41
45
  }
42
46
  }
47
+ const {
48
+ children
49
+ } = this.props;
50
+ if (children) {
51
+ const childrenWithWrongType = _react.default.Children.toArray(children).find(child => !isChildAnImage(child));
52
+ if (childrenWithWrongType) {
53
+ console.error(`Images component on accepts Image a children passed in: ${childrenWithWrongType.type || 'n/a'}`);
54
+ }
55
+ }
43
56
  if (this.props.nativeAssetImages) {
44
57
  nativeImages = this.props.nativeAssetImages;
45
58
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_ShapeSource","obj","__esModule","default","NATIVE_MODULE_NAME","exports","_isUrlOrPath","value","String","startsWith","Images","React","Component","NATIVE_ASSETS_KEY","_getImages","props","images","nativeAssetImages","nativeImages","imageNames","Object","keys","imageName","ShapeSource","Array","isArray","console","error","res","Image","resolveAssetSource","uri","_onImageMissing","event","onImageMissing","nativeEvent","payload","imageKey","render","id","hasOnImageMissing","bind","createElement","RCTMGLImages","children","requireNativeComponent","_default"],"sourceRoot":"../../../javascript","sources":["components/Images.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_ShapeSource","_Image","obj","__esModule","default","NATIVE_MODULE_NAME","exports","_isUrlOrPath","value","String","startsWith","isChildAnImage","child","React","isValidElement","type","Image","Images","Component","NATIVE_ASSETS_KEY","_getImages","props","images","nativeAssetImages","nativeImages","imageNames","Object","keys","imageName","ShapeSource","Array","isArray","console","error","res","RNImage","resolveAssetSource","uri","children","childrenWithWrongType","Children","toArray","find","_onImageMissing","event","onImageMissing","nativeEvent","payload","imageKey","render","id","hasOnImageMissing","bind","createElement","RCTMGLImages","requireNativeComponent","_default"],"sourceRoot":"../../../javascript","sources":["components/Images.tsx"],"mappings":"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"}
@@ -44,10 +44,12 @@ class Annotation extends _react.default.Component {
44
44
  return;
45
45
  }
46
46
  const hasCoordChanged = prevProps.coordinates[0] !== this.props.coordinates[0] || prevProps.coordinates[1] !== this.props.coordinates[1];
47
- if (!hasCoordChanged) {
48
- return;
49
- }
50
- if (this.props.animated && this.state.shape) {
47
+ if (prevProps.animated !== this.props.animated || hasCoordChanged && (!this.state.shape || !this.props.animated)) {
48
+ const shape = this._getShapeFromProps(this.props);
49
+ this.setState({
50
+ shape: this.props.animated ? new _classes.AnimatedPoint(shape) : shape
51
+ });
52
+ } else if (hasCoordChanged && this.props.animated && this.state.shape) {
51
53
  // flush current animations
52
54
  this.state.shape.stopAnimation();
53
55
  this.state.shape.timing({
@@ -55,11 +57,6 @@ class Annotation extends _react.default.Component {
55
57
  easing: this.props.animationEasingFunction,
56
58
  duration: this.props.animationDuration
57
59
  }).start();
58
- } else if (!this.state.shape || !this.props.animated) {
59
- const shape = this._getShapeFromProps(this.props);
60
- this.setState({
61
- shape: this.props.animated ? new _classes.AnimatedPoint(shape) : shape
62
- });
63
60
  }
64
61
  }
65
62
  onPress() {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_propTypes","_SymbolLayer","_Animated","_classes","obj","__esModule","default","Annotation","React","Component","propTypes","id","PropTypes","string","isRequired","animated","bool","animationDuration","number","animationEasingFunction","func","coordinates","arrayOf","onPress","children","any","style","icon","oneOfType","object","defaultProps","Easing","linear","constructor","props","shape","_getShapeFromProps","state","AnimatedPoint","bind","componentDidUpdate","prevProps","Array","isArray","setState","hasCoordChanged","stopAnimation","timing","easing","duration","start","arguments","length","undefined","lng","lat","type","symbolStyle","Object","assign","iconImage","render","createElement","ShapeSource","ref","SymbolLayer","_default","exports"],"sourceRoot":"../../../../javascript","sources":["components/annotations/Annotation.js"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_propTypes","_SymbolLayer","_Animated","_classes","obj","__esModule","default","Annotation","React","Component","propTypes","id","PropTypes","string","isRequired","animated","bool","animationDuration","number","animationEasingFunction","func","coordinates","arrayOf","onPress","children","any","style","icon","oneOfType","object","defaultProps","Easing","linear","constructor","props","shape","_getShapeFromProps","state","AnimatedPoint","bind","componentDidUpdate","prevProps","Array","isArray","setState","hasCoordChanged","stopAnimation","timing","easing","duration","start","arguments","length","undefined","lng","lat","type","symbolStyle","Object","assign","iconImage","render","createElement","ShapeSource","ref","SymbolLayer","_default","exports"],"sourceRoot":"../../../../javascript","sources":["components/annotations/Annotation.js"],"mappings":"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"}
@@ -94,6 +94,12 @@ Object.defineProperty(exports, "HeatmapLayer", {
94
94
  return _HeatmapLayer.default;
95
95
  }
96
96
  });
97
+ Object.defineProperty(exports, "Image", {
98
+ enumerable: true,
99
+ get: function () {
100
+ return _Image.default;
101
+ }
102
+ });
97
103
  Object.defineProperty(exports, "ImageSource", {
98
104
  enumerable: true,
99
105
  get: function () {
@@ -243,6 +249,7 @@ var _RasterSource = _interopRequireDefault(require("./components/RasterSource"))
243
249
  var _RasterDemSource = _interopRequireDefault(require("./components/RasterDemSource"));
244
250
  var _ImageSource = _interopRequireDefault(require("./components/ImageSource"));
245
251
  var _Images = _interopRequireDefault(require("./components/Images"));
252
+ var _Image = _interopRequireDefault(require("./components/Image"));
246
253
  var _FillLayer = _interopRequireDefault(require("./components/FillLayer"));
247
254
  var _FillExtrusionLayer = _interopRequireDefault(require("./components/FillExtrusionLayer"));
248
255
  var _HeatmapLayer = _interopRequireDefault(require("./components/HeatmapLayer"));
@@ -300,6 +307,7 @@ MapboxGL.ShapeSource = _ShapeSource.ShapeSource;
300
307
  MapboxGL.RasterSource = _RasterSource.default;
301
308
  MapboxGL.ImageSource = _ImageSource.default;
302
309
  MapboxGL.Images = _Images.default;
310
+ MapboxGL.Image = _Image.default;
303
311
  MapboxGL.RasterDemSource = _RasterDemSource.default;
304
312
 
305
313
  // layers