@domir/react-native-measure-text 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.js +5 -0
- package/LICENSE +21 -0
- package/Readme.md +46 -0
- package/android/build.gradle +93 -0
- package/android/src/main/AndroidManifest.xml +2 -0
- package/android/src/main/java/expo/modules.measuretext/ReactNativeMeasureTextModule.kt +51 -0
- package/build/ReactNativeMeasureText.d.ts +6 -0
- package/build/ReactNativeMeasureText.d.ts.map +1 -0
- package/build/ReactNativeMeasureText.js +5 -0
- package/build/ReactNativeMeasureText.js.map +1 -0
- package/build/ReactNativeMeasureText.types.d.ts +4 -0
- package/build/ReactNativeMeasureText.types.d.ts.map +1 -0
- package/build/ReactNativeMeasureText.types.js +2 -0
- package/build/ReactNativeMeasureText.types.js.map +1 -0
- package/build/ReactNativeMeasureTextModule.d.ts +3 -0
- package/build/ReactNativeMeasureTextModule.d.ts.map +1 -0
- package/build/ReactNativeMeasureTextModule.js +5 -0
- package/build/ReactNativeMeasureTextModule.js.map +1 -0
- package/build/ReactNativeMeasureTextModule.web.d.ts +5 -0
- package/build/ReactNativeMeasureTextModule.web.d.ts.map +1 -0
- package/build/ReactNativeMeasureTextModule.web.js +6 -0
- package/build/ReactNativeMeasureTextModule.web.js.map +1 -0
- package/example/.expo-shared/assets.json +4 -0
- package/example/App.tsx +45 -0
- package/example/android/app/BUCK +55 -0
- package/example/android/app/build.gradle +376 -0
- package/example/android/app/build_defs.bzl +19 -0
- package/example/android/app/debug.keystore +0 -0
- package/example/android/app/proguard-rules.pro +14 -0
- package/example/android/app/src/debug/AndroidManifest.xml +7 -0
- package/example/android/app/src/debug/java/expo/modules/measuretext/example/ReactNativeFlipper.java +69 -0
- package/example/android/app/src/main/AndroidManifest.xml +34 -0
- package/example/android/app/src/main/java/expo/modules/measuretext/example/MainActivity.java +83 -0
- package/example/android/app/src/main/java/expo/modules/measuretext/example/MainApplication.java +106 -0
- package/example/android/app/src/main/java/expo/modules/measuretext/example/newarchitecture/MainApplicationReactNativeHost.java +117 -0
- package/example/android/app/src/main/java/expo/modules/measuretext/example/newarchitecture/components/MainComponentsRegistry.java +36 -0
- package/example/android/app/src/main/java/expo/modules/measuretext/example/newarchitecture/modules/MainApplicationTurboModuleManagerDelegate.java +48 -0
- package/example/android/app/src/main/jni/Android.mk +48 -0
- package/example/android/app/src/main/jni/MainApplicationModuleProvider.cpp +24 -0
- package/example/android/app/src/main/jni/MainApplicationModuleProvider.h +16 -0
- package/example/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp +45 -0
- package/example/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h +38 -0
- package/example/android/app/src/main/jni/MainComponentsRegistry.cpp +61 -0
- package/example/android/app/src/main/jni/MainComponentsRegistry.h +32 -0
- package/example/android/app/src/main/jni/OnLoad.cpp +11 -0
- package/example/android/app/src/main/res/drawable/rn_edit_text_material.xml +36 -0
- package/example/android/app/src/main/res/drawable/splashscreen.xml +3 -0
- package/example/android/app/src/main/res/drawable-hdpi/splashscreen_image.png +0 -0
- package/example/android/app/src/main/res/drawable-mdpi/splashscreen_image.png +0 -0
- package/example/android/app/src/main/res/drawable-xhdpi/splashscreen_image.png +0 -0
- package/example/android/app/src/main/res/drawable-xxhdpi/splashscreen_image.png +0 -0
- package/example/android/app/src/main/res/drawable-xxxhdpi/splashscreen_image.png +0 -0
- package/example/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +5 -0
- package/example/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +5 -0
- package/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/example/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png +0 -0
- package/example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
- package/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/example/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png +0 -0
- package/example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
- package/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png +0 -0
- package/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
- package/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png +0 -0
- package/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
- package/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png +0 -0
- package/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
- package/example/android/app/src/main/res/values/colors.xml +6 -0
- package/example/android/app/src/main/res/values/strings.xml +5 -0
- package/example/android/app/src/main/res/values/styles.xml +17 -0
- package/example/android/app/src/main/res/values-night/colors.xml +1 -0
- package/example/android/build.gradle +59 -0
- package/example/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/example/android/gradle/wrapper/gradle-wrapper.properties +5 -0
- package/example/android/gradle.properties +53 -0
- package/example/android/gradlew +234 -0
- package/example/android/gradlew.bat +89 -0
- package/example/android/settings.gradle +17 -0
- package/example/app.json +35 -0
- package/example/assets/adaptive-icon.png +0 -0
- package/example/assets/favicon.png +0 -0
- package/example/assets/icon.png +0 -0
- package/example/assets/splash.png +0 -0
- package/example/babel.config.js +19 -0
- package/example/index.js +8 -0
- package/example/ios/.xcode.env +11 -0
- package/example/ios/Podfile +59 -0
- package/example/ios/Podfile.lock +482 -0
- package/example/ios/Podfile.properties.json +3 -0
- package/example/ios/reactnativemeasuretextexample/AppDelegate.h +9 -0
- package/example/ios/reactnativemeasuretextexample/AppDelegate.mm +166 -0
- package/example/ios/reactnativemeasuretextexample/Images.xcassets/AppIcon.appiconset/App-Icon-20x20@1x.png +0 -0
- package/example/ios/reactnativemeasuretextexample/Images.xcassets/AppIcon.appiconset/App-Icon-20x20@2x.png +0 -0
- package/example/ios/reactnativemeasuretextexample/Images.xcassets/AppIcon.appiconset/App-Icon-20x20@3x.png +0 -0
- package/example/ios/reactnativemeasuretextexample/Images.xcassets/AppIcon.appiconset/App-Icon-29x29@1x.png +0 -0
- package/example/ios/reactnativemeasuretextexample/Images.xcassets/AppIcon.appiconset/App-Icon-29x29@2x.png +0 -0
- package/example/ios/reactnativemeasuretextexample/Images.xcassets/AppIcon.appiconset/App-Icon-29x29@3x.png +0 -0
- package/example/ios/reactnativemeasuretextexample/Images.xcassets/AppIcon.appiconset/App-Icon-40x40@1x.png +0 -0
- package/example/ios/reactnativemeasuretextexample/Images.xcassets/AppIcon.appiconset/App-Icon-40x40@2x.png +0 -0
- package/example/ios/reactnativemeasuretextexample/Images.xcassets/AppIcon.appiconset/App-Icon-40x40@3x.png +0 -0
- package/example/ios/reactnativemeasuretextexample/Images.xcassets/AppIcon.appiconset/App-Icon-60x60@2x.png +0 -0
- package/example/ios/reactnativemeasuretextexample/Images.xcassets/AppIcon.appiconset/App-Icon-60x60@3x.png +0 -0
- package/example/ios/reactnativemeasuretextexample/Images.xcassets/AppIcon.appiconset/App-Icon-76x76@1x.png +0 -0
- package/example/ios/reactnativemeasuretextexample/Images.xcassets/AppIcon.appiconset/App-Icon-76x76@2x.png +0 -0
- package/example/ios/reactnativemeasuretextexample/Images.xcassets/AppIcon.appiconset/App-Icon-83.5x83.5@2x.png +0 -0
- package/example/ios/reactnativemeasuretextexample/Images.xcassets/AppIcon.appiconset/Contents.json +122 -0
- package/example/ios/reactnativemeasuretextexample/Images.xcassets/AppIcon.appiconset/ItunesArtwork@2x.png +0 -0
- package/example/ios/reactnativemeasuretextexample/Images.xcassets/Contents.json +6 -0
- package/example/ios/reactnativemeasuretextexample/Images.xcassets/SplashScreen.imageset/Contents.json +21 -0
- package/example/ios/reactnativemeasuretextexample/Images.xcassets/SplashScreen.imageset/image.png +0 -0
- package/example/ios/reactnativemeasuretextexample/Images.xcassets/SplashScreenBackground.imageset/Contents.json +21 -0
- package/example/ios/reactnativemeasuretextexample/Images.xcassets/SplashScreenBackground.imageset/image.png +0 -0
- package/example/ios/reactnativemeasuretextexample/Info.plist +76 -0
- package/example/ios/reactnativemeasuretextexample/SplashScreen.storyboard +51 -0
- package/example/ios/reactnativemeasuretextexample/Supporting/Expo.plist +16 -0
- package/example/ios/reactnativemeasuretextexample/main.m +10 -0
- package/example/ios/reactnativemeasuretextexample/noop-file.swift +4 -0
- package/example/ios/reactnativemeasuretextexample/reactnativemeasuretextexample.entitlements +8 -0
- package/example/ios/reactnativemeasuretextexample.xcodeproj/project.pbxproj +497 -0
- package/example/ios/reactnativemeasuretextexample.xcodeproj/xcshareddata/xcschemes/reactnativemeasuretextexample.xcscheme +88 -0
- package/example/ios/reactnativemeasuretextexample.xcworkspace/contents.xcworkspacedata +10 -0
- package/example/ios/reactnativemeasuretextexample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- package/example/metro.config.js +14 -0
- package/example/package-lock.json +21620 -0
- package/example/package.json +29 -0
- package/example/tsconfig.json +10 -0
- package/example/webpack.config.js +20 -0
- package/example/yarn.lock +6664 -0
- package/expo-module.config.json +9 -0
- package/ios/ReactNativeMeasureText.podspec +32 -0
- package/ios/ReactNativeMeasureTextModule.swift +33 -0
- package/package.json +38 -0
- package/src/ReactNativeMeasureText.ts +8 -0
- package/src/ReactNativeMeasureText.types.ts +3 -0
- package/src/ReactNativeMeasureTextModule.ts +5 -0
- package/src/ReactNativeMeasureTextModule.web.ts +5 -0
- package/tsconfig.json +9 -0
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
#import "AppDelegate.h"
|
|
2
|
+
|
|
3
|
+
#import <React/RCTBridge.h>
|
|
4
|
+
#import <React/RCTBundleURLProvider.h>
|
|
5
|
+
#import <React/RCTRootView.h>
|
|
6
|
+
#import <React/RCTLinkingManager.h>
|
|
7
|
+
#import <React/RCTConvert.h>
|
|
8
|
+
|
|
9
|
+
#import <React/RCTAppSetupUtils.h>
|
|
10
|
+
|
|
11
|
+
#if RCT_NEW_ARCH_ENABLED
|
|
12
|
+
#import <React/CoreModulesPlugins.h>
|
|
13
|
+
#import <React/RCTCxxBridgeDelegate.h>
|
|
14
|
+
#import <React/RCTFabricSurfaceHostingProxyRootView.h>
|
|
15
|
+
#import <React/RCTSurfacePresenter.h>
|
|
16
|
+
#import <React/RCTSurfacePresenterBridgeAdapter.h>
|
|
17
|
+
#import <ReactCommon/RCTTurboModuleManager.h>
|
|
18
|
+
|
|
19
|
+
#import <react/config/ReactNativeConfig.h>
|
|
20
|
+
|
|
21
|
+
static NSString *const kRNConcurrentRoot = @"concurrentRoot";
|
|
22
|
+
|
|
23
|
+
@interface AppDelegate () <RCTCxxBridgeDelegate, RCTTurboModuleManagerDelegate> {
|
|
24
|
+
RCTTurboModuleManager *_turboModuleManager;
|
|
25
|
+
RCTSurfacePresenterBridgeAdapter *_bridgeAdapter;
|
|
26
|
+
std::shared_ptr<const facebook::react::ReactNativeConfig> _reactNativeConfig;
|
|
27
|
+
facebook::react::ContextContainer::Shared _contextContainer;
|
|
28
|
+
}
|
|
29
|
+
@end
|
|
30
|
+
#endif
|
|
31
|
+
|
|
32
|
+
@implementation AppDelegate
|
|
33
|
+
|
|
34
|
+
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
|
|
35
|
+
{
|
|
36
|
+
RCTAppSetupPrepareApp(application);
|
|
37
|
+
|
|
38
|
+
RCTBridge *bridge = [self.reactDelegate createBridgeWithDelegate:self launchOptions:launchOptions];
|
|
39
|
+
|
|
40
|
+
#if RCT_NEW_ARCH_ENABLED
|
|
41
|
+
_contextContainer = std::make_shared<facebook::react::ContextContainer const>();
|
|
42
|
+
_reactNativeConfig = std::make_shared<facebook::react::EmptyReactNativeConfig const>();
|
|
43
|
+
_contextContainer->insert("ReactNativeConfig", _reactNativeConfig);
|
|
44
|
+
_bridgeAdapter = [[RCTSurfacePresenterBridgeAdapter alloc] initWithBridge:bridge contextContainer:_contextContainer];
|
|
45
|
+
bridge.surfacePresenter = _bridgeAdapter.surfacePresenter;
|
|
46
|
+
#endif
|
|
47
|
+
|
|
48
|
+
NSDictionary *initProps = [self prepareInitialProps];
|
|
49
|
+
UIView *rootView = [self.reactDelegate createRootViewWithBridge:bridge moduleName:@"main" initialProperties:initProps];
|
|
50
|
+
|
|
51
|
+
rootView.backgroundColor = [UIColor whiteColor];
|
|
52
|
+
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
|
|
53
|
+
UIViewController *rootViewController = [self.reactDelegate createRootViewController];
|
|
54
|
+
rootViewController.view = rootView;
|
|
55
|
+
self.window.rootViewController = rootViewController;
|
|
56
|
+
[self.window makeKeyAndVisible];
|
|
57
|
+
|
|
58
|
+
[super application:application didFinishLaunchingWithOptions:launchOptions];
|
|
59
|
+
|
|
60
|
+
return YES;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
- (NSArray<id<RCTBridgeModule>> *)extraModulesForBridge:(RCTBridge *)bridge
|
|
64
|
+
{
|
|
65
|
+
// If you'd like to export some custom RCTBridgeModules, add them here!
|
|
66
|
+
return @[];
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/// This method controls whether the `concurrentRoot`feature of React18 is turned on or off.
|
|
70
|
+
///
|
|
71
|
+
/// @see: https://reactjs.org/blog/2022/03/29/react-v18.html
|
|
72
|
+
/// @note: This requires to be rendering on Fabric (i.e. on the New Architecture).
|
|
73
|
+
/// @return: `true` if the `concurrentRoot` feture is enabled. Otherwise, it returns `false`.
|
|
74
|
+
- (BOOL)concurrentRootEnabled
|
|
75
|
+
{
|
|
76
|
+
// Switch this bool to turn on and off the concurrent root
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
- (NSDictionary *)prepareInitialProps
|
|
81
|
+
{
|
|
82
|
+
NSMutableDictionary *initProps = [NSMutableDictionary new];
|
|
83
|
+
#if RCT_NEW_ARCH_ENABLED
|
|
84
|
+
initProps[kRNConcurrentRoot] = @([self concurrentRootEnabled]);
|
|
85
|
+
#endif
|
|
86
|
+
return initProps;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
|
|
90
|
+
{
|
|
91
|
+
#if DEBUG
|
|
92
|
+
return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"];
|
|
93
|
+
#else
|
|
94
|
+
return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
|
|
95
|
+
#endif
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
// Linking API
|
|
99
|
+
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
|
|
100
|
+
return [super application:application openURL:url options:options] || [RCTLinkingManager application:application openURL:url options:options];
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
// Universal Links
|
|
104
|
+
- (BOOL)application:(UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity restorationHandler:(nonnull void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler {
|
|
105
|
+
BOOL result = [RCTLinkingManager application:application continueUserActivity:userActivity restorationHandler:restorationHandler];
|
|
106
|
+
return [super application:application continueUserActivity:userActivity restorationHandler:restorationHandler] || result;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// Explicitly define remote notification delegates to ensure compatibility with some third-party libraries
|
|
110
|
+
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
|
|
111
|
+
{
|
|
112
|
+
return [super application:application didRegisterForRemoteNotificationsWithDeviceToken:deviceToken];
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
// Explicitly define remote notification delegates to ensure compatibility with some third-party libraries
|
|
116
|
+
- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error
|
|
117
|
+
{
|
|
118
|
+
return [super application:application didFailToRegisterForRemoteNotificationsWithError:error];
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
// Explicitly define remote notification delegates to ensure compatibility with some third-party libraries
|
|
122
|
+
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
|
|
123
|
+
{
|
|
124
|
+
return [super application:application didReceiveRemoteNotification:userInfo fetchCompletionHandler:completionHandler];
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
#if RCT_NEW_ARCH_ENABLED
|
|
128
|
+
|
|
129
|
+
#pragma mark - RCTCxxBridgeDelegate
|
|
130
|
+
|
|
131
|
+
- (std::unique_ptr<facebook::react::JSExecutorFactory>)jsExecutorFactoryForBridge:(RCTBridge *)bridge
|
|
132
|
+
{
|
|
133
|
+
_turboModuleManager = [[RCTTurboModuleManager alloc] initWithBridge:bridge
|
|
134
|
+
delegate:self
|
|
135
|
+
jsInvoker:bridge.jsCallInvoker];
|
|
136
|
+
return RCTAppSetupDefaultJsExecutorFactory(bridge, _turboModuleManager);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
#pragma mark RCTTurboModuleManagerDelegate
|
|
140
|
+
|
|
141
|
+
- (Class)getModuleClassFromName:(const char *)name
|
|
142
|
+
{
|
|
143
|
+
return RCTCoreModulesClassProvider(name);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:(const std::string &)name
|
|
147
|
+
jsInvoker:(std::shared_ptr<facebook::react::CallInvoker>)jsInvoker
|
|
148
|
+
{
|
|
149
|
+
return nullptr;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:(const std::string &)name
|
|
153
|
+
initParams:
|
|
154
|
+
(const facebook::react::ObjCTurboModule::InitParams &)params
|
|
155
|
+
{
|
|
156
|
+
return nullptr;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
- (id<RCTTurboModule>)getModuleInstanceFromClass:(Class)moduleClass
|
|
160
|
+
{
|
|
161
|
+
return RCTAppSetupDefaultModuleFromClass(moduleClass);
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
#endif
|
|
165
|
+
|
|
166
|
+
@end
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/example/ios/reactnativemeasuretextexample/Images.xcassets/AppIcon.appiconset/Contents.json
ADDED
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
{
|
|
2
|
+
"images": [
|
|
3
|
+
{
|
|
4
|
+
"idiom": "iphone",
|
|
5
|
+
"size": "20x20",
|
|
6
|
+
"scale": "2x",
|
|
7
|
+
"filename": "App-Icon-20x20@2x.png"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"idiom": "iphone",
|
|
11
|
+
"size": "20x20",
|
|
12
|
+
"scale": "3x",
|
|
13
|
+
"filename": "App-Icon-20x20@3x.png"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"idiom": "iphone",
|
|
17
|
+
"size": "29x29",
|
|
18
|
+
"scale": "1x",
|
|
19
|
+
"filename": "App-Icon-29x29@1x.png"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"idiom": "iphone",
|
|
23
|
+
"size": "29x29",
|
|
24
|
+
"scale": "2x",
|
|
25
|
+
"filename": "App-Icon-29x29@2x.png"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"idiom": "iphone",
|
|
29
|
+
"size": "29x29",
|
|
30
|
+
"scale": "3x",
|
|
31
|
+
"filename": "App-Icon-29x29@3x.png"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"idiom": "iphone",
|
|
35
|
+
"size": "40x40",
|
|
36
|
+
"scale": "2x",
|
|
37
|
+
"filename": "App-Icon-40x40@2x.png"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"idiom": "iphone",
|
|
41
|
+
"size": "40x40",
|
|
42
|
+
"scale": "3x",
|
|
43
|
+
"filename": "App-Icon-40x40@3x.png"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"idiom": "iphone",
|
|
47
|
+
"size": "60x60",
|
|
48
|
+
"scale": "2x",
|
|
49
|
+
"filename": "App-Icon-60x60@2x.png"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"idiom": "iphone",
|
|
53
|
+
"size": "60x60",
|
|
54
|
+
"scale": "3x",
|
|
55
|
+
"filename": "App-Icon-60x60@3x.png"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"idiom": "ipad",
|
|
59
|
+
"size": "20x20",
|
|
60
|
+
"scale": "1x",
|
|
61
|
+
"filename": "App-Icon-20x20@1x.png"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"idiom": "ipad",
|
|
65
|
+
"size": "20x20",
|
|
66
|
+
"scale": "2x",
|
|
67
|
+
"filename": "App-Icon-20x20@2x.png"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"idiom": "ipad",
|
|
71
|
+
"size": "29x29",
|
|
72
|
+
"scale": "1x",
|
|
73
|
+
"filename": "App-Icon-29x29@1x.png"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"idiom": "ipad",
|
|
77
|
+
"size": "29x29",
|
|
78
|
+
"scale": "2x",
|
|
79
|
+
"filename": "App-Icon-29x29@2x.png"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"idiom": "ipad",
|
|
83
|
+
"size": "40x40",
|
|
84
|
+
"scale": "1x",
|
|
85
|
+
"filename": "App-Icon-40x40@1x.png"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"idiom": "ipad",
|
|
89
|
+
"size": "40x40",
|
|
90
|
+
"scale": "2x",
|
|
91
|
+
"filename": "App-Icon-40x40@2x.png"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"idiom": "ipad",
|
|
95
|
+
"size": "76x76",
|
|
96
|
+
"scale": "1x",
|
|
97
|
+
"filename": "App-Icon-76x76@1x.png"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"idiom": "ipad",
|
|
101
|
+
"size": "76x76",
|
|
102
|
+
"scale": "2x",
|
|
103
|
+
"filename": "App-Icon-76x76@2x.png"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"idiom": "ipad",
|
|
107
|
+
"size": "83.5x83.5",
|
|
108
|
+
"scale": "2x",
|
|
109
|
+
"filename": "App-Icon-83.5x83.5@2x.png"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"idiom": "ios-marketing",
|
|
113
|
+
"size": "1024x1024",
|
|
114
|
+
"scale": "1x",
|
|
115
|
+
"filename": "ItunesArtwork@2x.png"
|
|
116
|
+
}
|
|
117
|
+
],
|
|
118
|
+
"info": {
|
|
119
|
+
"version": 1,
|
|
120
|
+
"author": "expo"
|
|
121
|
+
}
|
|
122
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"images": [
|
|
3
|
+
{
|
|
4
|
+
"idiom": "universal",
|
|
5
|
+
"filename": "image.png",
|
|
6
|
+
"scale": "1x"
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"idiom": "universal",
|
|
10
|
+
"scale": "2x"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"idiom": "universal",
|
|
14
|
+
"scale": "3x"
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
"info": {
|
|
18
|
+
"version": 1,
|
|
19
|
+
"author": "expo"
|
|
20
|
+
}
|
|
21
|
+
}
|
package/example/ios/reactnativemeasuretextexample/Images.xcassets/SplashScreen.imageset/image.png
ADDED
|
Binary file
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"images": [
|
|
3
|
+
{
|
|
4
|
+
"idiom": "universal",
|
|
5
|
+
"filename": "image.png",
|
|
6
|
+
"scale": "1x"
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"idiom": "universal",
|
|
10
|
+
"scale": "2x"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"idiom": "universal",
|
|
14
|
+
"scale": "3x"
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
"info": {
|
|
18
|
+
"version": 1,
|
|
19
|
+
"author": "expo"
|
|
20
|
+
}
|
|
21
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
+
<plist version="1.0">
|
|
4
|
+
<dict>
|
|
5
|
+
<key>CFBundleDevelopmentRegion</key>
|
|
6
|
+
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
|
7
|
+
<key>CFBundleDisplayName</key>
|
|
8
|
+
<string>react-native-measure-text-example</string>
|
|
9
|
+
<key>CFBundleExecutable</key>
|
|
10
|
+
<string>$(EXECUTABLE_NAME)</string>
|
|
11
|
+
<key>CFBundleIdentifier</key>
|
|
12
|
+
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
|
13
|
+
<key>CFBundleInfoDictionaryVersion</key>
|
|
14
|
+
<string>6.0</string>
|
|
15
|
+
<key>CFBundleName</key>
|
|
16
|
+
<string>$(PRODUCT_NAME)</string>
|
|
17
|
+
<key>CFBundlePackageType</key>
|
|
18
|
+
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
|
19
|
+
<key>CFBundleShortVersionString</key>
|
|
20
|
+
<string>1.0.0</string>
|
|
21
|
+
<key>CFBundleSignature</key>
|
|
22
|
+
<string>????</string>
|
|
23
|
+
<key>CFBundleURLTypes</key>
|
|
24
|
+
<array>
|
|
25
|
+
<dict>
|
|
26
|
+
<key>CFBundleURLSchemes</key>
|
|
27
|
+
<array>
|
|
28
|
+
<string>expo.modules.measuretext.example</string>
|
|
29
|
+
</array>
|
|
30
|
+
</dict>
|
|
31
|
+
</array>
|
|
32
|
+
<key>CFBundleVersion</key>
|
|
33
|
+
<string>1</string>
|
|
34
|
+
<key>LSRequiresIPhoneOS</key>
|
|
35
|
+
<true/>
|
|
36
|
+
<key>NSAppTransportSecurity</key>
|
|
37
|
+
<dict>
|
|
38
|
+
<key>NSAllowsArbitraryLoads</key>
|
|
39
|
+
<true/>
|
|
40
|
+
<key>NSExceptionDomains</key>
|
|
41
|
+
<dict>
|
|
42
|
+
<key>localhost</key>
|
|
43
|
+
<dict>
|
|
44
|
+
<key>NSExceptionAllowsInsecureHTTPLoads</key>
|
|
45
|
+
<true/>
|
|
46
|
+
</dict>
|
|
47
|
+
</dict>
|
|
48
|
+
</dict>
|
|
49
|
+
<key>UILaunchStoryboardName</key>
|
|
50
|
+
<string>SplashScreen</string>
|
|
51
|
+
<key>UIRequiredDeviceCapabilities</key>
|
|
52
|
+
<array>
|
|
53
|
+
<string>armv7</string>
|
|
54
|
+
</array>
|
|
55
|
+
<key>UIRequiresFullScreen</key>
|
|
56
|
+
<false/>
|
|
57
|
+
<key>UIStatusBarStyle</key>
|
|
58
|
+
<string>UIStatusBarStyleDefault</string>
|
|
59
|
+
<key>UISupportedInterfaceOrientations</key>
|
|
60
|
+
<array>
|
|
61
|
+
<string>UIInterfaceOrientationPortrait</string>
|
|
62
|
+
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
|
63
|
+
</array>
|
|
64
|
+
<key>UISupportedInterfaceOrientations~ipad</key>
|
|
65
|
+
<array>
|
|
66
|
+
<string>UIInterfaceOrientationPortrait</string>
|
|
67
|
+
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
|
68
|
+
<string>UIInterfaceOrientationLandscapeLeft</string>
|
|
69
|
+
<string>UIInterfaceOrientationLandscapeRight</string>
|
|
70
|
+
</array>
|
|
71
|
+
<key>UIUserInterfaceStyle</key>
|
|
72
|
+
<string>Light</string>
|
|
73
|
+
<key>UIViewControllerBasedStatusBarAppearance</key>
|
|
74
|
+
<false/>
|
|
75
|
+
</dict>
|
|
76
|
+
</plist>
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="16096" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="EXPO-VIEWCONTROLLER-1">
|
|
3
|
+
<device id="retina5_5" orientation="portrait" appearance="light"/>
|
|
4
|
+
<dependencies>
|
|
5
|
+
<deployment identifier="iOS"/>
|
|
6
|
+
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="16087"/>
|
|
7
|
+
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
|
|
8
|
+
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
|
9
|
+
</dependencies>
|
|
10
|
+
<scenes>
|
|
11
|
+
<scene sceneID="EXPO-SCENE-1">
|
|
12
|
+
<objects>
|
|
13
|
+
<viewController storyboardIdentifier="SplashScreenViewController" id="EXPO-VIEWCONTROLLER-1" sceneMemberID="viewController">
|
|
14
|
+
<view key="view" userInteractionEnabled="NO" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" id="EXPO-ContainerView" userLabel="ContainerView">
|
|
15
|
+
<rect key="frame" x="0.0" y="0.0" width="414" height="736"/>
|
|
16
|
+
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
|
17
|
+
<subviews>
|
|
18
|
+
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" insetsLayoutMarginsFromSafeArea="NO" image="SplashScreenBackground" translatesAutoresizingMaskIntoConstraints="NO" id="EXPO-SplashScreenBackground" userLabel="SplashScreenBackground">
|
|
19
|
+
<rect key="frame" x="0.0" y="0.0" width="414" height="736"/>
|
|
20
|
+
</imageView>
|
|
21
|
+
<imageView id="EXPO-SplashScreen" userLabel="SplashScreen" image="SplashScreen" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" clipsSubviews="true" userInteractionEnabled="false" translatesAutoresizingMaskIntoConstraints="false">
|
|
22
|
+
<rect key="frame" x="0" y="0" width="414" height="736"/>
|
|
23
|
+
</imageView>
|
|
24
|
+
</subviews>
|
|
25
|
+
<constraints>
|
|
26
|
+
<constraint firstItem="EXPO-SplashScreenBackground" firstAttribute="top" secondItem="EXPO-ContainerView" secondAttribute="top" id="1gX-mQ-vu6"/>
|
|
27
|
+
<constraint firstItem="EXPO-SplashScreenBackground" firstAttribute="leading" secondItem="EXPO-ContainerView" secondAttribute="leading" id="6tX-OG-Sck"/>
|
|
28
|
+
<constraint firstItem="EXPO-SplashScreenBackground" firstAttribute="trailing" secondItem="EXPO-ContainerView" secondAttribute="trailing" id="ABX-8g-7v4"/>
|
|
29
|
+
<constraint firstItem="EXPO-SplashScreenBackground" firstAttribute="bottom" secondItem="EXPO-ContainerView" secondAttribute="bottom" id="jkI-2V-eW5"/>
|
|
30
|
+
<constraint firstItem="EXPO-SplashScreen" firstAttribute="top" secondItem="EXPO-ContainerView" secondAttribute="top" id="2VS-Uz-0LU"/>
|
|
31
|
+
<constraint firstItem="EXPO-SplashScreen" firstAttribute="leading" secondItem="EXPO-ContainerView" secondAttribute="leading" id="LhH-Ei-DKo"/>
|
|
32
|
+
<constraint firstItem="EXPO-SplashScreen" firstAttribute="trailing" secondItem="EXPO-ContainerView" secondAttribute="trailing" id="I6l-TP-6fn"/>
|
|
33
|
+
<constraint firstItem="EXPO-SplashScreen" firstAttribute="bottom" secondItem="EXPO-ContainerView" secondAttribute="bottom" id="nbp-HC-eaG"/>
|
|
34
|
+
<constraint firstItem="EXPO-SplashScreen" firstAttribute="top" secondItem="EXPO-ContainerView" secondAttribute="top" id="83fcb9b545b870ba44c24f0feeb116490c499c52"/>
|
|
35
|
+
<constraint firstItem="EXPO-SplashScreen" firstAttribute="leading" secondItem="EXPO-ContainerView" secondAttribute="leading" id="61d16215e44b98e39d0a2c74fdbfaaa22601b12c"/>
|
|
36
|
+
<constraint firstItem="EXPO-SplashScreen" firstAttribute="trailing" secondItem="EXPO-ContainerView" secondAttribute="trailing" id="f934da460e9ab5acae3ad9987d5b676a108796c1"/>
|
|
37
|
+
<constraint firstItem="EXPO-SplashScreen" firstAttribute="bottom" secondItem="EXPO-ContainerView" secondAttribute="bottom" id="d6a0be88096b36fb132659aa90203d39139deda9"/>
|
|
38
|
+
</constraints>
|
|
39
|
+
<viewLayoutGuide key="safeArea" id="Rmq-lb-GrQ"/>
|
|
40
|
+
</view>
|
|
41
|
+
</viewController>
|
|
42
|
+
<placeholder placeholderIdentifier="IBFirstResponder" id="EXPO-PLACEHOLDER-1" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
|
43
|
+
</objects>
|
|
44
|
+
<point key="canvasLocation" x="140.625" y="129.4921875"/>
|
|
45
|
+
</scene>
|
|
46
|
+
</scenes>
|
|
47
|
+
<resources>
|
|
48
|
+
<image name="SplashScreenBackground" width="1" height="1"/>
|
|
49
|
+
<image name="SplashScreen" width="414" height="736"/>
|
|
50
|
+
</resources>
|
|
51
|
+
</document>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
+
<plist version="1.0">
|
|
4
|
+
<dict>
|
|
5
|
+
<key>EXUpdatesCheckOnLaunch</key>
|
|
6
|
+
<string>ALWAYS</string>
|
|
7
|
+
<key>EXUpdatesEnabled</key>
|
|
8
|
+
<true/>
|
|
9
|
+
<key>EXUpdatesLaunchWaitMs</key>
|
|
10
|
+
<integer>0</integer>
|
|
11
|
+
<key>EXUpdatesSDKVersion</key>
|
|
12
|
+
<string>46.0.0</string>
|
|
13
|
+
<key>EXUpdatesURL</key>
|
|
14
|
+
<string>https://exp.host/@domir/react-native-measure-text-example</string>
|
|
15
|
+
</dict>
|
|
16
|
+
</plist>
|