@maplibre/maplibre-react-native 11.0.0-beta.11 → 11.0.0-beta.12
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/ios/components/images/MLRNImageLoader.h +27 -0
- package/ios/components/images/MLRNImageLoader.m +85 -0
- package/ios/components/images/MLRNImageQueue.h +2 -2
- package/ios/components/images/MLRNImageQueue.m +2 -2
- package/ios/components/images/MLRNImageQueueOperation.h +2 -2
- package/ios/components/images/MLRNImageQueueOperation.m +3 -3
- package/ios/components/images/MLRNImages.h +0 -3
- package/ios/components/images/MLRNImages.m +6 -6
- package/ios/components/images/MLRNImagesComponentView.mm +0 -3
- package/ios/components/images/MLRNImagesModule.h +6 -0
- package/ios/components/images/MLRNImagesModule.mm +23 -0
- package/ios/components/layer/MLRNLayer.h +0 -3
- package/ios/components/layer/MLRNLayer.m +0 -1
- package/ios/components/layer/MLRNLayerComponentView.mm +0 -2
- package/ios/components/layer/style/MLRNStyle.h +0 -2
- package/ios/components/layer/style/MLRNStyle.m +67 -70
- package/ios/components/map-view/MLRNMapView.h +1 -0
- package/ios/components/sources/geojson-source/MLRNGeoJSONSource.h +0 -3
- package/ios/utils/MLRNUtils.h +0 -14
- package/ios/utils/MLRNUtils.m +0 -71
- package/lib/commonjs/components/images/Images.js +1 -0
- package/lib/commonjs/components/images/Images.js.map +1 -1
- package/lib/commonjs/components/images/NativeImagesModule.js +10 -0
- package/lib/commonjs/components/images/NativeImagesModule.js.map +1 -0
- package/lib/module/components/images/Images.js +1 -0
- package/lib/module/components/images/Images.js.map +1 -1
- package/lib/module/components/images/NativeImagesModule.js +7 -0
- package/lib/module/components/images/NativeImagesModule.js.map +1 -0
- package/lib/typescript/commonjs/src/components/images/Images.d.ts +1 -0
- package/lib/typescript/commonjs/src/components/images/Images.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/components/images/NativeImagesModule.d.ts +6 -0
- package/lib/typescript/commonjs/src/components/images/NativeImagesModule.d.ts.map +1 -0
- package/lib/typescript/module/src/components/images/Images.d.ts +1 -0
- package/lib/typescript/module/src/components/images/Images.d.ts.map +1 -1
- package/lib/typescript/module/src/components/images/NativeImagesModule.d.ts +6 -0
- package/lib/typescript/module/src/components/images/NativeImagesModule.d.ts.map +1 -0
- package/package.json +6 -5
- package/src/components/images/Images.tsx +1 -0
- package/src/components/images/NativeImagesModule.ts +11 -0
- /package/ios/{components/images → utils}/MLRNImageUtils.h +0 -0
- /package/ios/{components/images → utils}/MLRNImageUtils.m +0 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
#import <MapLibre/MapLibre.h>
|
|
2
|
+
#import <React/RCTImageLoaderProtocol.h>
|
|
3
|
+
|
|
4
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Singleton that exposes the image loader obtained from the TurboModule registry.
|
|
8
|
+
*/
|
|
9
|
+
@interface MLRNImageLoader : NSObject
|
|
10
|
+
|
|
11
|
+
+ (instancetype)sharedInstance;
|
|
12
|
+
|
|
13
|
+
@property (nonatomic, strong, nullable) id<RCTImageLoaderProtocol> imageLoader;
|
|
14
|
+
|
|
15
|
+
+ (void)fetchImage:(NSString *)url
|
|
16
|
+
scale:(double)scale
|
|
17
|
+
sdf:(BOOL)sdf
|
|
18
|
+
callback:(RCTImageLoaderCompletionBlock)callback;
|
|
19
|
+
|
|
20
|
+
+ (void)fetchImages:(MLNStyle *)style
|
|
21
|
+
objects:(NSDictionary<NSString *, id> *)objects
|
|
22
|
+
forceUpdate:(BOOL)forceUpdate
|
|
23
|
+
callback:(void (^)(void))callback;
|
|
24
|
+
|
|
25
|
+
@end
|
|
26
|
+
|
|
27
|
+
NS_ASSUME_NONNULL_END
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
#import "MLRNImageLoader.h"
|
|
2
|
+
#import "MLRNImageQueue.h"
|
|
3
|
+
|
|
4
|
+
#import <React/RCTLog.h>
|
|
5
|
+
|
|
6
|
+
@implementation MLRNImageLoader
|
|
7
|
+
|
|
8
|
+
+ (instancetype)sharedInstance {
|
|
9
|
+
static MLRNImageLoader *_instance = nil;
|
|
10
|
+
static dispatch_once_t onceToken;
|
|
11
|
+
dispatch_once(&onceToken, ^{
|
|
12
|
+
_instance = [[MLRNImageLoader alloc] init];
|
|
13
|
+
});
|
|
14
|
+
return _instance;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
+ (void)fetchImage:(NSString *)url
|
|
18
|
+
scale:(double)scale
|
|
19
|
+
sdf:(BOOL)sdf
|
|
20
|
+
callback:(RCTImageLoaderCompletionBlock)callback {
|
|
21
|
+
[MLRNImageQueue.sharedInstance addImage:url
|
|
22
|
+
scale:scale
|
|
23
|
+
sdf:sdf
|
|
24
|
+
imageLoader:[MLRNImageLoader sharedInstance].imageLoader
|
|
25
|
+
completionHandler:callback];
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
+ (void)fetchImages:(MLNStyle *)style
|
|
29
|
+
objects:(NSDictionary<NSString *, id> *)objects
|
|
30
|
+
forceUpdate:(BOOL)forceUpdate
|
|
31
|
+
callback:(void (^)(void))callback {
|
|
32
|
+
if (objects == nil) {
|
|
33
|
+
callback();
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
NSArray<NSString *> *imageNames = objects.allKeys;
|
|
38
|
+
if (imageNames.count == 0) {
|
|
39
|
+
callback();
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
__block NSUInteger imagesLeftToLoad = imageNames.count;
|
|
44
|
+
__weak MLNStyle *weakStyle = style;
|
|
45
|
+
|
|
46
|
+
void (^imageLoadedBlock)(void) = ^{
|
|
47
|
+
imagesLeftToLoad--;
|
|
48
|
+
|
|
49
|
+
if (imagesLeftToLoad == 0) {
|
|
50
|
+
callback();
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
for (NSString *imageName in imageNames) {
|
|
55
|
+
UIImage *foundImage = forceUpdate ? nil : [style imageForName:imageName];
|
|
56
|
+
|
|
57
|
+
if (forceUpdate || foundImage == nil) {
|
|
58
|
+
NSDictionary *image = objects[imageName];
|
|
59
|
+
BOOL hasScale =
|
|
60
|
+
[image isKindOfClass:[NSDictionary class]] && ([image objectForKey:@"scale"] != nil);
|
|
61
|
+
BOOL hasSdf =
|
|
62
|
+
[image isKindOfClass:[NSDictionary class]] && ([image objectForKey:@"sdf"] != nil);
|
|
63
|
+
double scale = hasScale ? [[image objectForKey:@"scale"] doubleValue] : 1.0;
|
|
64
|
+
BOOL sdf = hasSdf ? [[image objectForKey:@"sdf"] boolValue] : NO;
|
|
65
|
+
[MLRNImageQueue.sharedInstance addImage:objects[imageName]
|
|
66
|
+
scale:scale
|
|
67
|
+
sdf:sdf
|
|
68
|
+
imageLoader:[MLRNImageLoader sharedInstance].imageLoader
|
|
69
|
+
completionHandler:^(NSError *error, UIImage *img) {
|
|
70
|
+
if (!img) {
|
|
71
|
+
RCTLogWarn(@"Failed to fetch image: %@ error:%@", imageName, error);
|
|
72
|
+
} else {
|
|
73
|
+
dispatch_async(dispatch_get_main_queue(), ^{
|
|
74
|
+
[weakStyle setImage:img forName:imageName];
|
|
75
|
+
imageLoadedBlock();
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}];
|
|
79
|
+
} else {
|
|
80
|
+
imageLoadedBlock();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
@end
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#import <Foundation/Foundation.h>
|
|
2
|
-
#import <React/
|
|
2
|
+
#import <React/RCTImageLoaderProtocol.h>
|
|
3
3
|
|
|
4
4
|
@interface MLRNImageQueue : NSObject
|
|
5
5
|
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- (void)addImage:(NSString *)imageURL
|
|
10
10
|
scale:(double)scale
|
|
11
11
|
sdf:(Boolean)sdf
|
|
12
|
-
|
|
12
|
+
imageLoader:(id<RCTImageLoaderProtocol>)imageLoader
|
|
13
13
|
completionHandler:(RCTImageLoaderCompletionBlock)handler;
|
|
14
14
|
|
|
15
15
|
@end
|
|
@@ -34,10 +34,10 @@
|
|
|
34
34
|
- (void)addImage:(NSString *)imageURL
|
|
35
35
|
scale:(double)scale
|
|
36
36
|
sdf:(Boolean)sdf
|
|
37
|
-
|
|
37
|
+
imageLoader:(id<RCTImageLoaderProtocol>)imageLoader
|
|
38
38
|
completionHandler:(RCTImageLoaderCompletionBlock)handler {
|
|
39
39
|
MLRNImageQueueOperation *operation = [[MLRNImageQueueOperation alloc] init];
|
|
40
|
-
operation.
|
|
40
|
+
operation.imageLoader = imageLoader;
|
|
41
41
|
operation.urlRequest = [RCTConvert NSURLRequest:imageURL];
|
|
42
42
|
operation.sdf = sdf;
|
|
43
43
|
operation.completionHandler = handler;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
#import <React/
|
|
1
|
+
#import <React/RCTImageLoaderProtocol.h>
|
|
2
2
|
|
|
3
3
|
@interface MLRNImageQueueOperation : NSBlockOperation
|
|
4
4
|
|
|
5
|
-
@property (nonatomic, weak)
|
|
5
|
+
@property (nonatomic, weak) id<RCTImageLoaderProtocol> imageLoader;
|
|
6
6
|
@property (nonatomic, copy) RCTImageLoaderCompletionBlock completionHandler;
|
|
7
7
|
@property (nonatomic, copy) NSURLRequest *urlRequest;
|
|
8
8
|
@property (nonatomic) Boolean sdf;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
#import "MLRNImageQueueOperation.h"
|
|
2
2
|
|
|
3
|
+
#import <React/RCTImageLoader.h>
|
|
4
|
+
|
|
3
5
|
typedef NS_ENUM(NSInteger, MLRNImageQueueOperationState) {
|
|
4
6
|
IOState_Initial,
|
|
5
7
|
IOState_CancelledDoNotExecute,
|
|
@@ -101,9 +103,7 @@ typedef NS_ENUM(NSInteger, MLRNImageQueueOperationState) {
|
|
|
101
103
|
__weak MLRNImageQueueOperation *weakSelf = self;
|
|
102
104
|
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
|
|
103
105
|
[weakSelf
|
|
104
|
-
setCancellationBlock:[
|
|
105
|
-
lazilyLoadIfNecessary:YES]
|
|
106
|
-
loadImageWithURLRequest:weakSelf.urlRequest
|
|
106
|
+
setCancellationBlock:[weakSelf.imageLoader loadImageWithURLRequest:weakSelf.urlRequest
|
|
107
107
|
size:CGSizeZero
|
|
108
108
|
scale:weakSelf.scale
|
|
109
109
|
clipped:YES
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
#import <React/RCTBridge.h>
|
|
2
1
|
#import <React/RCTComponent.h>
|
|
3
2
|
#import <UIKit/UIKit.h>
|
|
4
3
|
|
|
@@ -8,8 +7,6 @@
|
|
|
8
7
|
|
|
9
8
|
@interface MLRNImages : UIView
|
|
10
9
|
|
|
11
|
-
@property (nonatomic, weak) RCTBridge *bridge;
|
|
12
|
-
|
|
13
10
|
@property (nonatomic, strong) MLRNMapView *_Nullable map;
|
|
14
11
|
@property (nonatomic, strong, nonnull) NSMutableArray<id<RCTComponent>> *reactSubviews;
|
|
15
12
|
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
#import <React/UIView+React.h>
|
|
3
3
|
#import "MLRNEvent.h"
|
|
4
4
|
#import "MLRNEventTypes.h"
|
|
5
|
+
#import "MLRNImageLoader.h"
|
|
5
6
|
#import "MLRNMapView.h"
|
|
6
7
|
#import "MLRNUtils.h"
|
|
7
8
|
|
|
@@ -169,12 +170,11 @@ static UIImage *_placeHolderImage;
|
|
|
169
170
|
|
|
170
171
|
if (missingImages.count > 0) {
|
|
171
172
|
// forceUpdate to ensure the placeholder images are updated
|
|
172
|
-
[
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
}];
|
|
173
|
+
[MLRNImageLoader fetchImages:self.map.style
|
|
174
|
+
objects:missingImages
|
|
175
|
+
forceUpdate:true
|
|
176
|
+
callback:^{
|
|
177
|
+
}];
|
|
178
178
|
}
|
|
179
179
|
}
|
|
180
180
|
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
|
|
8
8
|
#import "RCTFabricComponentsPlugins.h"
|
|
9
9
|
|
|
10
|
-
#import <React/RCTBridge+Private.h>
|
|
11
10
|
#import <React/RCTConversions.h>
|
|
12
11
|
#import "MLRNFollyConvert.h"
|
|
13
12
|
#import "MLRNImages.h"
|
|
@@ -37,8 +36,6 @@ using namespace facebook::react;
|
|
|
37
36
|
- (void)prepareView {
|
|
38
37
|
_view = [[MLRNImages alloc] init];
|
|
39
38
|
|
|
40
|
-
_view.bridge = [RCTBridge currentBridge];
|
|
41
|
-
|
|
42
39
|
// Capture weak self reference to prevent retain cycle
|
|
43
40
|
__weak __typeof__(self) weakSelf = self;
|
|
44
41
|
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
#import "MLRNImagesModule.h"
|
|
2
|
+
#import "MLRNImageLoader.h"
|
|
3
|
+
|
|
4
|
+
#import <MapLibreReactNativeSpec/MapLibreReactNativeSpec.h>
|
|
5
|
+
|
|
6
|
+
@implementation MLRNImagesModule
|
|
7
|
+
|
|
8
|
+
@synthesize moduleRegistry = _moduleRegistry;
|
|
9
|
+
|
|
10
|
+
+ (NSString *)moduleName {
|
|
11
|
+
return @"MLRNImagesModule";
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
|
|
15
|
+
(const facebook::react::ObjCTurboModule::InitParams &)params {
|
|
16
|
+
return std::make_shared<facebook::react::NativeImagesModuleSpecJSI>(params);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
- (void)initialize {
|
|
20
|
+
[MLRNImageLoader sharedInstance].imageLoader = [_moduleRegistry moduleForName:"ImageLoader"];
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
@end
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
#import <React/RCTBridge.h>
|
|
2
1
|
#import <UIKit/UIKit.h>
|
|
3
2
|
|
|
4
3
|
@class MLRNMapView;
|
|
@@ -7,8 +6,6 @@
|
|
|
7
6
|
|
|
8
7
|
@interface MLRNLayer : UIView
|
|
9
8
|
|
|
10
|
-
@property (nonatomic, weak, nullable) RCTBridge *bridge;
|
|
11
|
-
|
|
12
9
|
@property (nonatomic, strong, nullable) MLNStyleLayer *styleLayer;
|
|
13
10
|
@property (nonatomic, strong, nullable) MLNStyle *style;
|
|
14
11
|
@property (nonatomic, weak, nullable) MLRNMapView *map;
|
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
#import "RCTFabricComponentsPlugins.h"
|
|
9
9
|
|
|
10
10
|
#import <MapLibre/MapLibre.h>
|
|
11
|
-
#import <React/RCTBridge+Private.h>
|
|
12
11
|
#import <React/RCTConversions.h>
|
|
13
12
|
#import "MLRNLayer.h"
|
|
14
13
|
#import "MLRNPropConvert.h"
|
|
@@ -38,7 +37,6 @@ using namespace facebook::react;
|
|
|
38
37
|
_props = defaultProps;
|
|
39
38
|
|
|
40
39
|
_view = [[MLRNLayer alloc] init];
|
|
41
|
-
_view.bridge = [RCTBridge currentBridge];
|
|
42
40
|
self.contentView = _view;
|
|
43
41
|
}
|
|
44
42
|
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
// DO NOT MODIFY
|
|
2
2
|
// This file is auto-generated from scripts/templates/MLRNStyle.h.ejs
|
|
3
3
|
|
|
4
|
-
#import <React/RCTBridge.h>
|
|
5
4
|
#import "MLRNStyle.h"
|
|
6
5
|
#import "MLRNStyleValue.h"
|
|
7
6
|
|
|
@@ -9,7 +8,6 @@
|
|
|
9
8
|
|
|
10
9
|
@interface MLRNStyle : NSObject
|
|
11
10
|
|
|
12
|
-
@property (nonatomic, weak) RCTBridge *bridge;
|
|
13
11
|
@property (nonatomic, strong) MLNStyle *style;
|
|
14
12
|
|
|
15
13
|
- (id)initWithMLNStyle:(MLNStyle *)mlnStyle;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// This file is auto-generated from scripts/templates/MLRNStyle.m.ejs
|
|
3
3
|
|
|
4
4
|
#import "MLRNStyle.h"
|
|
5
|
+
#import "MLRNImageLoader.h"
|
|
5
6
|
#import "MLRNUtils.h"
|
|
6
7
|
|
|
7
8
|
@implementation MLRNStyle
|
|
@@ -54,20 +55,19 @@
|
|
|
54
55
|
} else {
|
|
55
56
|
NSString *imageURI = [styleValue getImageURI];
|
|
56
57
|
|
|
57
|
-
[
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
}];
|
|
58
|
+
[MLRNImageLoader fetchImage:imageURI
|
|
59
|
+
scale:[styleValue getImageScale]
|
|
60
|
+
sdf:[styleValue getImageSdf]
|
|
61
|
+
callback:^(NSError *error, UIImage *image) {
|
|
62
|
+
if (image != nil) {
|
|
63
|
+
dispatch_async(dispatch_get_main_queue(), ^{
|
|
64
|
+
if (isValid()) {
|
|
65
|
+
[self->_style setImage:image forName:imageURI];
|
|
66
|
+
[self setFillPattern:layer withReactStyleValue:styleValue];
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
}];
|
|
71
71
|
}
|
|
72
72
|
} else if ([prop isEqualToString:@"fillPatternTransition"]) {
|
|
73
73
|
[self setFillPatternTransition:layer withReactStyleValue:styleValue];
|
|
@@ -139,20 +139,19 @@
|
|
|
139
139
|
} else {
|
|
140
140
|
NSString *imageURI = [styleValue getImageURI];
|
|
141
141
|
|
|
142
|
-
[
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
}];
|
|
142
|
+
[MLRNImageLoader fetchImage:imageURI
|
|
143
|
+
scale:[styleValue getImageScale]
|
|
144
|
+
sdf:[styleValue getImageSdf]
|
|
145
|
+
callback:^(NSError *error, UIImage *image) {
|
|
146
|
+
if (image != nil) {
|
|
147
|
+
dispatch_async(dispatch_get_main_queue(), ^{
|
|
148
|
+
if (isValid()) {
|
|
149
|
+
[self->_style setImage:image forName:imageURI];
|
|
150
|
+
[self setLinePattern:layer withReactStyleValue:styleValue];
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
}];
|
|
156
155
|
}
|
|
157
156
|
} else if ([prop isEqualToString:@"linePatternTransition"]) {
|
|
158
157
|
[self setLinePatternTransition:layer withReactStyleValue:styleValue];
|
|
@@ -204,20 +203,19 @@
|
|
|
204
203
|
} else {
|
|
205
204
|
NSString *imageURI = [styleValue getImageURI];
|
|
206
205
|
|
|
207
|
-
[
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
}];
|
|
206
|
+
[MLRNImageLoader fetchImage:imageURI
|
|
207
|
+
scale:[styleValue getImageScale]
|
|
208
|
+
sdf:[styleValue getImageSdf]
|
|
209
|
+
callback:^(NSError *error, UIImage *image) {
|
|
210
|
+
if (image != nil) {
|
|
211
|
+
dispatch_async(dispatch_get_main_queue(), ^{
|
|
212
|
+
if (isValid()) {
|
|
213
|
+
[self->_style setImage:image forName:imageURI];
|
|
214
|
+
[self setIconImage:layer withReactStyleValue:styleValue];
|
|
215
|
+
}
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
}];
|
|
221
219
|
}
|
|
222
220
|
} else if ([prop isEqualToString:@"iconRotate"]) {
|
|
223
221
|
[self setIconRotate:layer withReactStyleValue:styleValue];
|
|
@@ -459,20 +457,20 @@
|
|
|
459
457
|
} else {
|
|
460
458
|
NSString *imageURI = [styleValue getImageURI];
|
|
461
459
|
|
|
462
|
-
[
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
460
|
+
[MLRNImageLoader fetchImage:imageURI
|
|
461
|
+
scale:[styleValue getImageScale]
|
|
462
|
+
sdf:[styleValue getImageSdf]
|
|
463
|
+
callback:^(NSError *error, UIImage *image) {
|
|
464
|
+
if (image != nil) {
|
|
465
|
+
dispatch_async(dispatch_get_main_queue(), ^{
|
|
466
|
+
if (isValid()) {
|
|
467
|
+
[self->_style setImage:image forName:imageURI];
|
|
468
|
+
[self setFillExtrusionPattern:layer
|
|
469
|
+
withReactStyleValue:styleValue];
|
|
470
|
+
}
|
|
471
|
+
});
|
|
472
|
+
}
|
|
473
|
+
}];
|
|
476
474
|
}
|
|
477
475
|
} else if ([prop isEqualToString:@"fillExtrusionPatternTransition"]) {
|
|
478
476
|
[self setFillExtrusionPatternTransition:layer withReactStyleValue:styleValue];
|
|
@@ -598,20 +596,19 @@
|
|
|
598
596
|
} else {
|
|
599
597
|
NSString *imageURI = [styleValue getImageURI];
|
|
600
598
|
|
|
601
|
-
[
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
}];
|
|
599
|
+
[MLRNImageLoader fetchImage:imageURI
|
|
600
|
+
scale:[styleValue getImageScale]
|
|
601
|
+
sdf:[styleValue getImageSdf]
|
|
602
|
+
callback:^(NSError *error, UIImage *image) {
|
|
603
|
+
if (image != nil) {
|
|
604
|
+
dispatch_async(dispatch_get_main_queue(), ^{
|
|
605
|
+
if (isValid()) {
|
|
606
|
+
[self->_style setImage:image forName:imageURI];
|
|
607
|
+
[self setBackgroundPattern:layer withReactStyleValue:styleValue];
|
|
608
|
+
}
|
|
609
|
+
});
|
|
610
|
+
}
|
|
611
|
+
}];
|
|
615
612
|
}
|
|
616
613
|
} else if ([prop isEqualToString:@"backgroundPatternTransition"]) {
|
|
617
614
|
[self setBackgroundPatternTransition:layer withReactStyleValue:styleValue];
|
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
#import <React/RCTBridge.h>
|
|
2
1
|
#import "MLRNSource.h"
|
|
3
2
|
|
|
4
3
|
#import <MapLibre/MapLibre.h>
|
|
5
4
|
|
|
6
5
|
@interface MLRNGeoJSONSource : MLRNSource
|
|
7
6
|
|
|
8
|
-
@property (nonatomic, weak) RCTBridge *bridge;
|
|
9
|
-
|
|
10
7
|
@property (nonatomic, copy, nullable) NSString *url;
|
|
11
8
|
@property (nonatomic, copy, nullable) NSString *shape;
|
|
12
9
|
|
package/ios/utils/MLRNUtils.h
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
#import <MapLibre/MapLibre.h>
|
|
2
|
-
#import <React/RCTBridge.h>
|
|
3
2
|
#import <React/RCTConvert.h>
|
|
4
|
-
#import <React/RCTImageLoader.h>
|
|
5
3
|
|
|
6
4
|
@interface MLRNUtils : NSObject
|
|
7
5
|
|
|
@@ -24,18 +22,6 @@
|
|
|
24
22
|
|
|
25
23
|
+ (UIColor *)toColor:(id)value;
|
|
26
24
|
|
|
27
|
-
+ (void)fetchImage:(RCTBridge *)bridge
|
|
28
|
-
url:(NSString *)url
|
|
29
|
-
scale:(double)scale
|
|
30
|
-
sdf:(Boolean)sdf
|
|
31
|
-
callback:(RCTImageLoaderCompletionBlock)callback;
|
|
32
|
-
|
|
33
|
-
+ (void)fetchImages:(RCTBridge *)bridge
|
|
34
|
-
style:(MLNStyle *)style
|
|
35
|
-
objects:(NSDictionary<NSString *, NSString *> *)objects
|
|
36
|
-
forceUpdate:(BOOL)forceUpdate
|
|
37
|
-
callback:(void (^)(void))callback;
|
|
38
|
-
|
|
39
25
|
+ (CGVector)toCGVector:(NSArray<NSNumber *> *)arr;
|
|
40
26
|
|
|
41
27
|
+ (UIEdgeInsets)toUIEdgeInsets:(NSArray<NSNumber *> *)arr;
|
package/ios/utils/MLRNUtils.m
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
#import "MLRNUtils.h"
|
|
2
|
-
#import "MLRNImageQueue.h"
|
|
3
2
|
|
|
4
3
|
@import MapLibre;
|
|
5
4
|
|
|
@@ -99,76 +98,6 @@ static double const MS_TO_S = 0.001;
|
|
|
99
98
|
return CGVectorMake([arr[0] floatValue], [arr[1] floatValue]);
|
|
100
99
|
}
|
|
101
100
|
|
|
102
|
-
+ (void)fetchImage:(RCTBridge *)bridge
|
|
103
|
-
url:(NSString *)url
|
|
104
|
-
scale:(double)scale
|
|
105
|
-
sdf:(Boolean)sdf
|
|
106
|
-
callback:(RCTImageLoaderCompletionBlock)callback {
|
|
107
|
-
[MLRNImageQueue.sharedInstance addImage:url
|
|
108
|
-
scale:scale
|
|
109
|
-
sdf:sdf
|
|
110
|
-
bridge:bridge
|
|
111
|
-
completionHandler:callback];
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
+ (void)fetchImages:(RCTBridge *)bridge
|
|
115
|
-
style:(MLNStyle *)style
|
|
116
|
-
objects:(NSDictionary<NSString *, id> *)objects
|
|
117
|
-
forceUpdate:(BOOL)forceUpdate
|
|
118
|
-
callback:(void (^)(void))callback {
|
|
119
|
-
if (objects == nil) {
|
|
120
|
-
callback();
|
|
121
|
-
return;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
NSArray<NSString *> *imageNames = objects.allKeys;
|
|
125
|
-
if (imageNames.count == 0) {
|
|
126
|
-
callback();
|
|
127
|
-
return;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
__block NSUInteger imagesLeftToLoad = imageNames.count;
|
|
131
|
-
__weak MLNStyle *weakStyle = style;
|
|
132
|
-
|
|
133
|
-
void (^imageLoadedBlock)(void) = ^{
|
|
134
|
-
imagesLeftToLoad--;
|
|
135
|
-
|
|
136
|
-
if (imagesLeftToLoad == 0) {
|
|
137
|
-
callback();
|
|
138
|
-
}
|
|
139
|
-
};
|
|
140
|
-
|
|
141
|
-
for (NSString *imageName in imageNames) {
|
|
142
|
-
UIImage *foundImage = forceUpdate ? nil : [style imageForName:imageName];
|
|
143
|
-
|
|
144
|
-
if (forceUpdate || foundImage == nil) {
|
|
145
|
-
NSDictionary *image = objects[imageName];
|
|
146
|
-
BOOL hasScale =
|
|
147
|
-
[image isKindOfClass:[NSDictionary class]] && ([image objectForKey:@"scale"] != nil);
|
|
148
|
-
BOOL hasSdf =
|
|
149
|
-
[image isKindOfClass:[NSDictionary class]] && ([image objectForKey:@"sdf"] != nil);
|
|
150
|
-
double scale = hasScale ? [[image objectForKey:@"scale"] doubleValue] : 1.0;
|
|
151
|
-
double sdf = hasSdf ? [[image objectForKey:@"sdf"] boolValue] : false;
|
|
152
|
-
[MLRNImageQueue.sharedInstance addImage:objects[imageName]
|
|
153
|
-
scale:scale
|
|
154
|
-
sdf:sdf
|
|
155
|
-
bridge:bridge
|
|
156
|
-
completionHandler:^(NSError *error, UIImage *image) {
|
|
157
|
-
if (!image) {
|
|
158
|
-
RCTLogWarn(@"Failed to fetch image: %@ error:%@", imageName, error);
|
|
159
|
-
} else {
|
|
160
|
-
dispatch_async(dispatch_get_main_queue(), ^{
|
|
161
|
-
[weakStyle setImage:image forName:imageName];
|
|
162
|
-
imageLoadedBlock();
|
|
163
|
-
});
|
|
164
|
-
}
|
|
165
|
-
}];
|
|
166
|
-
} else {
|
|
167
|
-
imageLoadedBlock();
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
|
|
172
101
|
+ (NSString *)getStyleJsonTempDirectory {
|
|
173
102
|
static NSString *styleJsonTempDirectory;
|
|
174
103
|
if (!styleJsonTempDirectory) {
|
|
@@ -7,6 +7,7 @@ exports.Images = void 0;
|
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
var _ImagesNativeComponent = _interopRequireDefault(require("./ImagesNativeComponent"));
|
|
10
|
+
require("./NativeImagesModule.js");
|
|
10
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
12
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
13
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_ImagesNativeComponent","_interopRequireDefault","_jsxRuntime","e","__esModule","default","Images","testID","images","onImageMissing","nativeImages","useMemo","result","Object","entries","forEach","imageName","value","uri","resolved","Image","resolveAssetSource","source","scale","sdf","jsx","exports"],"sourceRoot":"../../../../src","sources":["components/images/Images.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAOA,IAAAE,sBAAA,GAAAC,sBAAA,CAAAH,OAAA;
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_ImagesNativeComponent","_interopRequireDefault","_jsxRuntime","e","__esModule","default","Images","testID","images","onImageMissing","nativeImages","useMemo","result","Object","entries","forEach","imageName","value","uri","resolved","Image","resolveAssetSource","source","scale","sdf","jsx","exports"],"sourceRoot":"../../../../src","sources":["components/images/Images.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAOA,IAAAE,sBAAA,GAAAC,sBAAA,CAAAH,OAAA;AAGAA,OAAA;AAA8B,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAG,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAsD9B;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,MAAM,GAAGA,CAAC;EAAEC,MAAM;EAAEC,MAAM;EAAEC;AAA4B,CAAC,KAAK;EACzE,MAAMC,YAAY,GAAG,IAAAC,cAAO,EAAC,MAAM;IACjC,MAAMC,MAAwC,GAAG,CAAC,CAAC;IAEnDC,MAAM,CAACC,OAAO,CAACN,MAAM,CAAC,CAACO,OAAO,CAAC,CAAC,CAACC,SAAS,EAAEC,KAAK,CAAC,KAAK;MACrD,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;QAC7BL,MAAM,CAACI,SAAS,CAAC,GAAG;UAClBE,GAAG,EAAED;QACP,CAAC;MACH,CAAC,MAAM;QACL,MAAME,QAAQ,GAAGC,kBAAK,CAACC,kBAAkB,CACvC,OAAOJ,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAGA,KAAK,CAACK,MAC5C,CAAC;QAEDV,MAAM,CAACI,SAAS,CAAC,GAAG;UAClBE,GAAG,EAAEC,QAAQ,CAACD,GAAG;UACjBK,KAAK,EAAEJ,QAAQ,CAACI,KAAK;UACrBC,GAAG,EAAE,OAAOP,KAAK,KAAK,QAAQ,GAAGA,KAAK,CAACO,GAAG,GAAG;QAC/C,CAAC;MACH;IACF,CAAC,CAAC;IAEF,OAAOZ,MAAM;EACf,CAAC,EAAE,CAACJ,MAAM,CAAC,CAAC;EAEZ,oBACE,IAAAN,WAAA,CAAAuB,GAAA,EAACzB,sBAAA,CAAAK,OAAqB;IACpBE,MAAM,EAAEA,MAAO;IACfC,MAAM,EAAEE,YAAa;IACrBD,cAAc,EAAEA;EAAe,CAChC,CAAC;AAEN,CAAC;AAACiB,OAAA,CAAApB,MAAA,GAAAA,MAAA","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
const imagesModule = _reactNative.Platform.OS === "ios" ? _reactNative.TurboModuleRegistry.getEnforcing("MLRNImagesModule") : null;
|
|
9
|
+
var _default = exports.default = imagesModule;
|
|
10
|
+
//# sourceMappingURL=NativeImagesModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","imagesModule","Platform","OS","TurboModuleRegistry","getEnforcing","_default","exports","default"],"sourceRoot":"../../../../src","sources":["components/images/NativeImagesModule.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAKA,MAAMC,YAAY,GAChBC,qBAAQ,CAACC,EAAE,KAAK,KAAK,GACjBC,gCAAmB,CAACC,YAAY,CAAO,kBAAkB,CAAC,GAC1D,IAAI;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEIP,YAAY","ignoreList":[]}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import { useMemo } from "react";
|
|
4
4
|
import { Image } from "react-native";
|
|
5
5
|
import ImagesNativeComponent from "./ImagesNativeComponent";
|
|
6
|
+
import "./NativeImagesModule.js";
|
|
6
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
8
|
/**
|
|
8
9
|
* Images defines the images used in Symbol layers.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","Image","ImagesNativeComponent","jsx","_jsx","Images","testID","images","onImageMissing","nativeImages","result","Object","entries","forEach","imageName","value","uri","resolved","resolveAssetSource","source","scale","sdf"],"sourceRoot":"../../../../src","sources":["components/images/Images.tsx"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SACEC,KAAK,QAIA,cAAc;AAErB,OAAOC,qBAAqB,MAErB,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA;
|
|
1
|
+
{"version":3,"names":["useMemo","Image","ImagesNativeComponent","jsx","_jsx","Images","testID","images","onImageMissing","nativeImages","result","Object","entries","forEach","imageName","value","uri","resolved","resolveAssetSource","source","scale","sdf"],"sourceRoot":"../../../../src","sources":["components/images/Images.tsx"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SACEC,KAAK,QAIA,cAAc;AAErB,OAAOC,qBAAqB,MAErB,yBAAyB;AAChC,OAAO,yBAAsB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAsD9B;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,MAAM,GAAGA,CAAC;EAAEC,MAAM;EAAEC,MAAM;EAAEC;AAA4B,CAAC,KAAK;EACzE,MAAMC,YAAY,GAAGT,OAAO,CAAC,MAAM;IACjC,MAAMU,MAAwC,GAAG,CAAC,CAAC;IAEnDC,MAAM,CAACC,OAAO,CAACL,MAAM,CAAC,CAACM,OAAO,CAAC,CAAC,CAACC,SAAS,EAAEC,KAAK,CAAC,KAAK;MACrD,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;QAC7BL,MAAM,CAACI,SAAS,CAAC,GAAG;UAClBE,GAAG,EAAED;QACP,CAAC;MACH,CAAC,MAAM;QACL,MAAME,QAAQ,GAAGhB,KAAK,CAACiB,kBAAkB,CACvC,OAAOH,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAGA,KAAK,CAACI,MAC5C,CAAC;QAEDT,MAAM,CAACI,SAAS,CAAC,GAAG;UAClBE,GAAG,EAAEC,QAAQ,CAACD,GAAG;UACjBI,KAAK,EAAEH,QAAQ,CAACG,KAAK;UACrBC,GAAG,EAAE,OAAON,KAAK,KAAK,QAAQ,GAAGA,KAAK,CAACM,GAAG,GAAG;QAC/C,CAAC;MACH;IACF,CAAC,CAAC;IAEF,OAAOX,MAAM;EACf,CAAC,EAAE,CAACH,MAAM,CAAC,CAAC;EAEZ,oBACEH,IAAA,CAACF,qBAAqB;IACpBI,MAAM,EAAEA,MAAO;IACfC,MAAM,EAAEE,YAAa;IACrBD,cAAc,EAAEA;EAAe,CAChC,CAAC;AAEN,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Platform } from "react-native";
|
|
4
|
+
import { TurboModuleRegistry } from "react-native";
|
|
5
|
+
const imagesModule = Platform.OS === "ios" ? TurboModuleRegistry.getEnforcing("MLRNImagesModule") : null;
|
|
6
|
+
export default imagesModule;
|
|
7
|
+
//# sourceMappingURL=NativeImagesModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Platform","TurboModuleRegistry","imagesModule","OS","getEnforcing"],"sourceRoot":"../../../../src","sources":["components/images/NativeImagesModule.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAA0B,cAAc;AACzD,SAASC,mBAAmB,QAAQ,cAAc;AAIlD,MAAMC,YAAY,GAChBF,QAAQ,CAACG,EAAE,KAAK,KAAK,GACjBF,mBAAmB,CAACG,YAAY,CAAO,kBAAkB,CAAC,GAC1D,IAAI;AAEV,eAAeF,YAAY","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Images.d.ts","sourceRoot":"","sources":["../../../../../../src/components/images/Images.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAC1B,MAAM,cAAc,CAAC;AAKtB,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;AAE1E,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;KAAE,CAAC;IAEtC;;;;;;;;;;;;;OAaG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;CAC3E;AAED;;;;;GAKG;AACH,eAAO,MAAM,MAAM,GAAI,oCAAoC,WAAW,4CAgCrE,CAAC"}
|
|
1
|
+
{"version":3,"file":"Images.d.ts","sourceRoot":"","sources":["../../../../../../src/components/images/Images.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAC1B,MAAM,cAAc,CAAC;AAKtB,OAAO,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;AAE1E,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;KAAE,CAAC;IAEtC;;;;;;;;;;;;;OAaG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;CAC3E;AAED;;;;;GAKG;AACH,eAAO,MAAM,MAAM,GAAI,oCAAoC,WAAW,4CAgCrE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NativeImagesModule.d.ts","sourceRoot":"","sources":["../../../../../../src/components/images/NativeImagesModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAG1D,MAAM,WAAW,IAAK,SAAQ,WAAW;CAAG;AAE5C,QAAA,MAAM,YAAY,aAGR,CAAC;AAEX,eAAe,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Images.d.ts","sourceRoot":"","sources":["../../../../../../src/components/images/Images.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAC1B,MAAM,cAAc,CAAC;AAKtB,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;AAE1E,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;KAAE,CAAC;IAEtC;;;;;;;;;;;;;OAaG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;CAC3E;AAED;;;;;GAKG;AACH,eAAO,MAAM,MAAM,GAAI,oCAAoC,WAAW,4CAgCrE,CAAC"}
|
|
1
|
+
{"version":3,"file":"Images.d.ts","sourceRoot":"","sources":["../../../../../../src/components/images/Images.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAC1B,MAAM,cAAc,CAAC;AAKtB,OAAO,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;AAE1E,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;KAAE,CAAC;IAEtC;;;;;;;;;;;;;OAaG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;CAC3E;AAED;;;;;GAKG;AACH,eAAO,MAAM,MAAM,GAAI,oCAAoC,WAAW,4CAgCrE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NativeImagesModule.d.ts","sourceRoot":"","sources":["../../../../../../src/components/images/NativeImagesModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAG1D,MAAM,WAAW,IAAK,SAAQ,WAAW;CAAG;AAE5C,QAAA,MAAM,YAAY,aAGR,CAAC;AAEX,eAAe,YAAY,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@maplibre/maplibre-react-native",
|
|
3
3
|
"description": "React Native library for creating maps with MapLibre Native for Android & iOS",
|
|
4
|
-
"version": "11.0.0-beta.
|
|
4
|
+
"version": "11.0.0-beta.12",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public",
|
|
7
7
|
"provenance": true
|
|
@@ -143,6 +143,7 @@
|
|
|
143
143
|
"modulesProvider": {
|
|
144
144
|
"MLRNCameraModule": "MLRNCameraModule",
|
|
145
145
|
"MLRNGeoJSONSourceModule": "MLRNGeoJSONSourceModule",
|
|
146
|
+
"MLRNImagesModule": "MLRNImagesModule",
|
|
146
147
|
"MLRNLocationModule": "MLRNLocationModule",
|
|
147
148
|
"MLRNLogModule": "MLRNLogModule",
|
|
148
149
|
"MLRNMapViewModule": "MLRNMapViewModule",
|
|
@@ -180,7 +181,7 @@
|
|
|
180
181
|
"devDependencies": {
|
|
181
182
|
"@expo/config-plugins": "~55.0.4",
|
|
182
183
|
"@react-native-community/cli": "^20.1.1",
|
|
183
|
-
"@react-native/babel-preset": "0.
|
|
184
|
+
"@react-native/babel-preset": "0.84.1",
|
|
184
185
|
"@semantic-release/changelog": "^6.0.3",
|
|
185
186
|
"@semantic-release/exec": "^7.1.0",
|
|
186
187
|
"@semantic-release/git": "^10.0.1",
|
|
@@ -196,11 +197,11 @@
|
|
|
196
197
|
"expo-module-scripts": "^5.0.8",
|
|
197
198
|
"jest": "^29.7.0",
|
|
198
199
|
"prettier": "3.8.1",
|
|
199
|
-
"react": "19.2.
|
|
200
|
+
"react": "19.2.3",
|
|
200
201
|
"react-docgen": "^8.0.1",
|
|
201
|
-
"react-native": "0.
|
|
202
|
+
"react-native": "0.84.1",
|
|
202
203
|
"react-native-builder-bob": "0.40.17",
|
|
203
|
-
"react-test-renderer": "19.2.
|
|
204
|
+
"react-test-renderer": "19.2.3",
|
|
204
205
|
"semantic-release": "^25.0.1",
|
|
205
206
|
"snapshot-diff": "^0.10.0",
|
|
206
207
|
"ts-node": "^10.9.2",
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Platform, type TurboModule } from "react-native";
|
|
2
|
+
import { TurboModuleRegistry } from "react-native";
|
|
3
|
+
|
|
4
|
+
export interface Spec extends TurboModule {}
|
|
5
|
+
|
|
6
|
+
const imagesModule =
|
|
7
|
+
Platform.OS === "ios"
|
|
8
|
+
? TurboModuleRegistry.getEnforcing<Spec>("MLRNImagesModule")
|
|
9
|
+
: null;
|
|
10
|
+
|
|
11
|
+
export default imagesModule;
|
|
File without changes
|
|
File without changes
|