@react-native-vector-icons/common 0.0.1-alpha.2 → 0.0.1-alpha.20
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/README.md +410 -0
- package/android/build.gradle +4 -4
- package/ios/VectorIcons.mm +83 -69
- package/lib/commonjs/NativeVectorIcons.js.map +1 -1
- package/lib/commonjs/NativeVectorIcons.web.js.map +1 -1
- package/lib/commonjs/create-icon-set.js +7 -19
- package/lib/commonjs/create-icon-set.js.map +1 -1
- package/lib/commonjs/create-icon-source-cache.js.map +1 -1
- package/lib/commonjs/ensure-native-module-available.js +1 -1
- package/lib/commonjs/ensure-native-module-available.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/scripts/common.js +49 -0
- package/lib/commonjs/scripts/common.js.map +1 -0
- package/lib/commonjs/scripts/getFonts.js +6 -40
- package/lib/commonjs/scripts/getFonts.js.map +1 -1
- package/lib/commonjs/scripts/updatePlist.js +54 -0
- package/lib/commonjs/scripts/updatePlist.js.map +1 -0
- package/lib/module/NativeVectorIcons.js.map +1 -1
- package/lib/module/NativeVectorIcons.web.js.map +1 -1
- package/lib/module/create-icon-set.js +6 -18
- package/lib/module/create-icon-set.js.map +1 -1
- package/lib/module/create-icon-source-cache.js.map +1 -1
- package/lib/module/ensure-native-module-available.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/scripts/common.js +41 -0
- package/lib/module/scripts/common.js.map +1 -0
- package/lib/module/scripts/getFonts.js +6 -39
- package/lib/module/scripts/getFonts.js.map +1 -1
- package/lib/module/scripts/updatePlist.js +49 -0
- package/lib/module/scripts/updatePlist.js.map +1 -0
- package/lib/typescript/src/NativeVectorIcons.d.ts.map +1 -1
- package/lib/typescript/src/create-icon-set.d.ts.map +1 -1
- package/lib/typescript/src/create-icon-source-cache.d.ts.map +1 -1
- package/lib/typescript/src/scripts/common.d.ts +2 -0
- package/lib/typescript/src/scripts/common.d.ts.map +1 -0
- package/lib/typescript/src/scripts/updatePlist.d.ts +3 -0
- package/lib/typescript/src/scripts/updatePlist.d.ts.map +1 -0
- package/package.json +20 -51
- package/react-native-vector-icons.podspec +54 -10
- package/src/NativeVectorIcons.ts +2 -12
- package/src/create-icon-set.tsx +19 -43
- package/src/create-icon-source-cache.ts +3 -7
- package/src/ensure-native-module-available.ts +1 -1
- package/src/scripts/common.ts +52 -0
- package/src/scripts/getFonts.ts +6 -47
- package/src/scripts/updatePlist.ts +58 -0
package/ios/VectorIcons.mm
CHANGED
|
@@ -1,54 +1,55 @@
|
|
|
1
1
|
#import "VectorIcons.h"
|
|
2
2
|
|
|
3
3
|
#import <CoreText/CoreText.h>
|
|
4
|
-
#import <React/RCTConvert.h>
|
|
5
4
|
#import <React/RCTBridge.h>
|
|
6
|
-
#import <React/
|
|
5
|
+
#import <React/RCTConvert.h>
|
|
7
6
|
#import <React/RCTFont.h>
|
|
8
|
-
|
|
7
|
+
#import <React/RCTUtils.h>
|
|
9
8
|
|
|
10
9
|
NSString *const RNVIErrorDomain = @"com.reactnativevectoricons.common";
|
|
11
10
|
|
|
12
11
|
@implementation VectorIcons
|
|
13
12
|
RCT_EXPORT_MODULE()
|
|
14
13
|
|
|
15
|
-
- (NSString *)hexStringFromColor:(UIColor *)color
|
|
16
|
-
{
|
|
14
|
+
- (NSString *)hexStringFromColor:(UIColor *)color {
|
|
17
15
|
const CGFloat *components = CGColorGetComponents(color.CGColor);
|
|
18
16
|
|
|
19
17
|
CGFloat r = components[0];
|
|
20
18
|
CGFloat g = components[1];
|
|
21
19
|
CGFloat b = components[2];
|
|
22
20
|
|
|
23
|
-
return [NSString stringWithFormat:@"#%02lX%02lX%02lX",
|
|
24
|
-
|
|
25
|
-
lroundf(g * 255),
|
|
26
|
-
lroundf(b * 255)];
|
|
21
|
+
return [NSString stringWithFormat:@"#%02lX%02lX%02lX", lroundf(r * 255),
|
|
22
|
+
lroundf(g * 255), lroundf(b * 255)];
|
|
27
23
|
}
|
|
28
24
|
|
|
29
|
-
- (NSString *)generateFilePath:(NSString *)glyph
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
{
|
|
25
|
+
- (NSString *)generateFilePath:(NSString *)glyph
|
|
26
|
+
withFontName:(NSString *)fontName
|
|
27
|
+
withFontSize:(CGFloat)fontSize
|
|
28
|
+
withColor:(UIColor *)color
|
|
29
|
+
withExtraIdentifier:(NSString *)identifier {
|
|
34
30
|
CGFloat screenScale = RCTScreenScale();
|
|
35
31
|
NSString *hexColor = [self hexStringFromColor:color];
|
|
36
|
-
NSString *fileName =
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
32
|
+
NSString *fileName =
|
|
33
|
+
[NSString stringWithFormat:@"%@RNVectorIcons_%@_%@_%@_%.f%@@%.fx.png",
|
|
34
|
+
NSTemporaryDirectory(), identifier, fontName,
|
|
35
|
+
glyph, fontSize, hexColor, screenScale];
|
|
40
36
|
|
|
41
37
|
return fileName;
|
|
42
38
|
}
|
|
43
39
|
|
|
44
|
-
- (BOOL)createAndSaveGlyphImage:(NSString *)glyph
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
{
|
|
48
|
-
if(![[NSFileManager defaultManager] fileExistsAtPath:filePath]) {
|
|
40
|
+
- (BOOL)createAndSaveGlyphImage:(NSString *)glyph
|
|
41
|
+
withFont:(UIFont *)font
|
|
42
|
+
withFilePath:(NSString *)filePath
|
|
43
|
+
withColor:(UIColor *)color {
|
|
44
|
+
if (![[NSFileManager defaultManager] fileExistsAtPath:filePath]) {
|
|
49
45
|
// No cached icon exists, we need to create it and persist to disk
|
|
50
46
|
|
|
51
|
-
NSAttributedString *attributedString =
|
|
47
|
+
NSAttributedString *attributedString =
|
|
48
|
+
[[NSAttributedString alloc] initWithString:glyph
|
|
49
|
+
attributes:@{
|
|
50
|
+
NSFontAttributeName : font,
|
|
51
|
+
NSForegroundColorAttributeName : color
|
|
52
|
+
}];
|
|
52
53
|
|
|
53
54
|
CGSize iconSize = [attributedString size];
|
|
54
55
|
UIGraphicsBeginImageContextWithOptions(iconSize, NO, 0.0);
|
|
@@ -66,86 +67,96 @@ RCT_EXPORT_MODULE()
|
|
|
66
67
|
|
|
67
68
|
- (NSString *)createGlyphImagePathForFont:(NSString *)fontName
|
|
68
69
|
withGlyph:(NSString *)glyph
|
|
69
|
-
|
|
70
|
+
withFontSize:(CGFloat)fontSize
|
|
70
71
|
withColor:(double)color
|
|
71
|
-
withError:(NSError **)error
|
|
72
|
-
{
|
|
72
|
+
withError:(NSError **)error {
|
|
73
73
|
UIColor *parsedColor = [RCTConvert UIColor:@(color)];
|
|
74
74
|
UIFont *font = [UIFont fontWithName:fontName size:fontSize];
|
|
75
|
-
NSString *filePath = [self generateFilePath:glyph
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
75
|
+
NSString *filePath = [self generateFilePath:glyph
|
|
76
|
+
withFontName:fontName
|
|
77
|
+
withFontSize:fontSize
|
|
78
|
+
withColor:parsedColor
|
|
79
|
+
withExtraIdentifier:@""];
|
|
79
80
|
|
|
80
|
-
BOOL success = [self createAndSaveGlyphImage:glyph
|
|
81
|
-
|
|
82
|
-
|
|
81
|
+
BOOL success = [self createAndSaveGlyphImage:glyph
|
|
82
|
+
withFont:font
|
|
83
|
+
withFilePath:filePath
|
|
84
|
+
withColor:parsedColor];
|
|
83
85
|
|
|
84
86
|
if (!success) {
|
|
85
|
-
*error = [NSError errorWithDomain:RNVIErrorDomain
|
|
87
|
+
*error = [NSError errorWithDomain:RNVIErrorDomain
|
|
88
|
+
code:RNVIGenericError
|
|
89
|
+
userInfo:@{
|
|
90
|
+
NSLocalizedDescriptionKey :
|
|
91
|
+
@"Failed to write rendered icon image"
|
|
92
|
+
}];
|
|
86
93
|
return nil;
|
|
87
94
|
}
|
|
88
95
|
return filePath;
|
|
89
96
|
}
|
|
90
97
|
|
|
91
|
-
RCT_EXPORT_METHOD(
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
) {
|
|
98
|
+
RCT_EXPORT_METHOD(getImageForFont
|
|
99
|
+
: (NSString *)fontName glyph
|
|
100
|
+
: (NSString *)glyph fontSize
|
|
101
|
+
: (CGFloat)fontSize color
|
|
102
|
+
: (double)color resolve
|
|
103
|
+
: (RCTPromiseResolveBlock)resolve reject
|
|
104
|
+
: (RCTPromiseRejectBlock)reject) {
|
|
99
105
|
NSError *error = nil;
|
|
100
106
|
NSString *filePath = [self createGlyphImagePathForFont:fontName
|
|
101
107
|
withGlyph:glyph
|
|
102
|
-
|
|
108
|
+
withFontSize:fontSize
|
|
103
109
|
withColor:color
|
|
104
110
|
withError:&error];
|
|
105
111
|
if (error != nil) {
|
|
106
|
-
reject([NSString stringWithFormat:@"%ld", (long)error.code],
|
|
112
|
+
reject([NSString stringWithFormat:@"%ld", (long)error.code],
|
|
113
|
+
error.localizedDescription, error);
|
|
107
114
|
} else {
|
|
108
115
|
resolve(filePath);
|
|
109
116
|
}
|
|
110
117
|
}
|
|
111
118
|
|
|
112
|
-
RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
) {
|
|
119
|
+
RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(getImageForFontSync
|
|
120
|
+
: (NSString *)fontName glyph
|
|
121
|
+
: (NSString *)glyph fontSize
|
|
122
|
+
: (CGFloat)fontSize color
|
|
123
|
+
: (double)color) {
|
|
118
124
|
NSError *error = nil;
|
|
119
125
|
return [self createGlyphImagePathForFont:fontName
|
|
120
126
|
withGlyph:glyph
|
|
121
|
-
|
|
127
|
+
withFontSize:fontSize
|
|
122
128
|
withColor:color
|
|
123
129
|
withError:&error];
|
|
124
130
|
}
|
|
125
131
|
|
|
126
|
-
RCT_EXPORT_METHOD(
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
) {
|
|
132
|
+
RCT_EXPORT_METHOD(loadFontWithFileName
|
|
133
|
+
: (NSString *)fontFileName extension
|
|
134
|
+
: (NSString *)extension subdirectory
|
|
135
|
+
: (NSString *)subdirectory resolve
|
|
136
|
+
: (RCTPromiseResolveBlock)resolve reject
|
|
137
|
+
: (RCTPromiseRejectBlock)reject) {
|
|
133
138
|
NSBundle *bundle = [NSBundle bundleForClass:[self class]];
|
|
134
|
-
NSURL *fontURL = [bundle URLForResource:fontFileName
|
|
139
|
+
NSURL *fontURL = [bundle URLForResource:fontFileName
|
|
140
|
+
withExtension:extension
|
|
141
|
+
subdirectory:subdirectory];
|
|
135
142
|
NSData *fontData = [NSData dataWithContentsOfURL:fontURL];
|
|
136
143
|
|
|
137
|
-
CGDataProviderRef provider =
|
|
144
|
+
CGDataProviderRef provider =
|
|
145
|
+
CGDataProviderCreateWithCFData((CFDataRef)fontData);
|
|
138
146
|
CGFontRef font = CGFontCreateWithDataProvider(provider);
|
|
139
147
|
|
|
140
148
|
if (font) {
|
|
141
149
|
CFErrorRef errorRef = NULL;
|
|
142
150
|
if (CTFontManagerRegisterGraphicsFont(font, &errorRef) == NO) {
|
|
143
151
|
NSError *error = (__bridge NSError *)errorRef;
|
|
144
|
-
if (error.code == kCTFontManagerErrorAlreadyRegistered ||
|
|
145
|
-
|
|
152
|
+
if (error.code == kCTFontManagerErrorAlreadyRegistered ||
|
|
153
|
+
error.code == kCTFontManagerErrorDuplicatedName) {
|
|
154
|
+
// NSLog(@"Loaded font already %@/%@.%@", subdirectory, fontFileName,
|
|
155
|
+
// extension);
|
|
146
156
|
resolve(nil);
|
|
147
157
|
} else {
|
|
148
|
-
NSString *errorMessage = [NSString
|
|
158
|
+
NSString *errorMessage = [NSString
|
|
159
|
+
stringWithFormat:@"Font '%@' failed to load", fontFileName];
|
|
149
160
|
reject(@"font_load_failed", errorMessage, error);
|
|
150
161
|
}
|
|
151
162
|
} else {
|
|
@@ -153,24 +164,27 @@ RCT_EXPORT_METHOD(
|
|
|
153
164
|
resolve(nil);
|
|
154
165
|
}
|
|
155
166
|
|
|
167
|
+
if (errorRef) {
|
|
168
|
+
CFRelease(errorRef);
|
|
169
|
+
}
|
|
170
|
+
|
|
156
171
|
CFRelease(font);
|
|
157
172
|
} else {
|
|
158
173
|
// TODO: Should we reject back to javascript?
|
|
159
|
-
NSLog(@"RNVI: failed to find font %@/%@.%@", subdirectory, fontFileName,
|
|
174
|
+
NSLog(@"RNVI: failed to find font %@/%@.%@", subdirectory, fontFileName,
|
|
175
|
+
extension);
|
|
160
176
|
}
|
|
161
177
|
|
|
162
178
|
if (provider) {
|
|
163
179
|
CFRelease(provider);
|
|
164
180
|
}
|
|
165
|
-
|
|
166
181
|
}
|
|
167
182
|
|
|
168
183
|
// Don't compile this code when we build for the old architecture.
|
|
169
184
|
#ifdef RCT_NEW_ARCH_ENABLED
|
|
170
185
|
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
|
|
171
|
-
(const facebook::react::ObjCTurboModule::InitParams &)params
|
|
172
|
-
|
|
173
|
-
return std::make_shared<facebook::react::NativeVectorIconsSpecJSI>(params);
|
|
186
|
+
(const facebook::react::ObjCTurboModule::InitParams &)params {
|
|
187
|
+
return std::make_shared<facebook::react::NativeVectorIconsSpecJSI>(params);
|
|
174
188
|
}
|
|
175
189
|
#endif
|
|
176
190
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeVectorIcons.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAAmD,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeVectorIcons.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAAmD,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAUpCC,gCAAmB,CAACC,YAAY,CAAO,aAAa,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../src","sources":["NativeVectorIcons.web.ts"],"mappings":";;;;;;iCAAe,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["NativeVectorIcons.web.ts"],"mappings":";;;;;;iCAAe,CAAC,CAAC","ignoreList":[]}
|
|
@@ -6,13 +6,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.createIconSet = exports.DEFAULT_ICON_SIZE = exports.DEFAULT_ICON_COLOR = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
|
-
var _ensureNativeModuleAvailable = _interopRequireDefault(require("./ensure-native-module-available"));
|
|
10
|
-
var _createIconSourceCache = _interopRequireDefault(require("./create-icon-source-cache"));
|
|
11
9
|
var _NativeVectorIcons = _interopRequireDefault(require("./NativeVectorIcons"));
|
|
12
|
-
|
|
10
|
+
var _createIconSourceCache = _interopRequireDefault(require("./create-icon-source-cache"));
|
|
11
|
+
var _ensureNativeModuleAvailable = _interopRequireDefault(require("./ensure-native-module-available"));
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
13
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
14
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
|
15
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (
|
|
14
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
15
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
16
16
|
const DEFAULT_ICON_SIZE = exports.DEFAULT_ICON_SIZE = 12;
|
|
17
17
|
const DEFAULT_ICON_COLOR = exports.DEFAULT_ICON_COLOR = 'black';
|
|
18
18
|
const createIconSet = (glyphMap, fontFamily, fontFile, fontStyle) => {
|
|
@@ -112,21 +112,9 @@ const createIconSet = (glyphMap, fontFamily, fontFile, fontStyle) => {
|
|
|
112
112
|
throw error;
|
|
113
113
|
}
|
|
114
114
|
};
|
|
115
|
-
const loadFont = async () => {
|
|
116
|
-
if (_reactNative.Platform.OS !== 'ios') {
|
|
117
|
-
return;
|
|
118
|
-
}
|
|
119
|
-
(0, _ensureNativeModuleAvailable.default)();
|
|
120
|
-
const [filename, extension] = fontFile.split('.'); // FIXME: what if filename has two dots?
|
|
121
|
-
if (!extension) {
|
|
122
|
-
throw new Error('Font needs a filename extensison.');
|
|
123
|
-
}
|
|
124
|
-
await _NativeVectorIcons.default.loadFontWithFileName(filename, extension, 'react-native-vector-icons');
|
|
125
|
-
};
|
|
126
|
-
loadFont();
|
|
127
115
|
const IconNamespace = Object.assign(WrappedIcon, {
|
|
128
|
-
getImageSource
|
|
129
|
-
getImageSourceSync
|
|
116
|
+
getImageSource,
|
|
117
|
+
getImageSourceSync
|
|
130
118
|
});
|
|
131
119
|
return IconNamespace;
|
|
132
120
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_NativeVectorIcons","_interopRequireDefault","_createIconSourceCache","_ensureNativeModuleAvailable","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","DEFAULT_ICON_SIZE","exports","DEFAULT_ICON_COLOR","createIconSet","glyphMap","fontFamily","fontFile","fontStyle","fontBasename","replace","fontReference","Platform","select","windows","android","web","resolveGlyph","name","glyph","String","fromCodePoint","Icon","size","color","style","children","allowFontScaling","innerRef","props","styleDefaults","fontSize","styleOverrides","fontWeight","newProps","createElement","Text","ref","selectable","WrappedIcon","forwardRef","displayName","imageSourceCache","createIconSourceCache","getImageSourceSync","ensureNativeModuleAvailable","processedColor","processColor","cacheKey","imagePath","NativeIconAPI","getImageForFontSync","value","uri","scale","PixelRatio","setValue","error","setError","getImageSource","getImageForFont","IconNamespace"],"sourceRoot":"../../src","sources":["create-icon-set.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TYPE_VALUE","TYPE_ERROR","createIconSourceCache","cache","Map","setValue","key","value","set","type","data","setError","error","has","get","undefined"],"sourceRoot":"../../src","sources":["create-icon-source-cache.ts"],"mappings":";;;;;;AAAA,MAAMA,UAAU,GAAG,OAAO;AAC1B,MAAMC,UAAU,GAAG,OAAO;
|
|
1
|
+
{"version":3,"names":["TYPE_VALUE","TYPE_ERROR","createIconSourceCache","cache","Map","setValue","key","value","set","type","data","setError","error","has","get","undefined"],"sourceRoot":"../../src","sources":["create-icon-source-cache.ts"],"mappings":";;;;;;AAAA,MAAMA,UAAU,GAAG,OAAO;AAC1B,MAAMC,UAAU,GAAG,OAAO;AAMX,SAASC,qBAAqBA,CAAA,EAAG;EAC9C,MAAMC,KAAK,GAAG,IAAIC,GAAG,CAAgB,CAAC;EAEtC,MAAMC,QAAQ,GAAGA,CAACC,GAAW,EAAEC,KAAgB,KAAKJ,KAAK,CAACK,GAAG,CAACF,GAAG,EAAE;IAAEG,IAAI,EAAET,UAAU;IAAEU,IAAI,EAAEH;EAAM,CAAC,CAAC;EAErG,MAAMI,QAAQ,GAAGA,CAACL,GAAW,EAAEM,KAAY,KAAKT,KAAK,CAACK,GAAG,CAACF,GAAG,EAAE;IAAEG,IAAI,EAAER,UAAU;IAAES,IAAI,EAAEE;EAAM,CAAC,CAAC;EAEjG,MAAMC,GAAG,GAAIP,GAAW,IAAKH,KAAK,CAACU,GAAG,CAACP,GAAG,CAAC;EAE3C,MAAMQ,GAAG,GAAIR,GAAW,IAAK;IAC3B,MAAMC,KAAK,GAAGJ,KAAK,CAACW,GAAG,CAACR,GAAG,CAAC;IAC5B,IAAI,CAACC,KAAK,EAAE;MACV,OAAOQ,SAAS;IAClB;IAEA,MAAM;MAAEN,IAAI;MAAEC;IAAK,CAAC,GAAGH,KAAK;IAC5B,IAAIE,IAAI,KAAKR,UAAU,EAAE;MACvB,MAAMS,IAAI;IACZ;IACA,OAAOA,IAAI;EACb,CAAC;EAED,OAAO;IAAEL,QAAQ;IAAEM,QAAQ;IAAEE,GAAG;IAAEC;EAAI,CAAC;AACzC","ignoreList":[]}
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = ensureNativeModuleAvailable;
|
|
7
7
|
var _NativeVectorIcons = _interopRequireDefault(require("./NativeVectorIcons"));
|
|
8
|
-
function _interopRequireDefault(
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
9
|
function ensureNativeModuleAvailable() {
|
|
10
10
|
if (!_NativeVectorIcons.default) {
|
|
11
11
|
throw new Error('The native RNVectorIcons API is not available, did you properly integrate the module? Please verify your autolinking setup and recompile.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_NativeVectorIcons","_interopRequireDefault","require","
|
|
1
|
+
{"version":3,"names":["_NativeVectorIcons","_interopRequireDefault","require","e","__esModule","default","ensureNativeModuleAvailable","NativeIconAPI","Error"],"sourceRoot":"../../src","sources":["ensure-native-module-available.ts"],"mappings":";;;;;;AAAA,IAAAA,kBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAgD,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEjC,SAASG,2BAA2BA,CAAA,EAAG;EACpD,IAAI,CAACC,0BAAa,EAAE;IAClB,MAAM,IAAIC,KAAK,CACb,2IACF,CAAC;EACH;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_createIconSet","require"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA"}
|
|
1
|
+
{"version":3,"names":["_createIconSet","require"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA","ignoreList":[]}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getFontPaths = void 0;
|
|
7
|
+
var _nodeFs = _interopRequireDefault(require("node:fs"));
|
|
8
|
+
var _nodePath = _interopRequireDefault(require("node:path"));
|
|
9
|
+
var _cliTools = require("@react-native-community/cli-tools");
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
const getPackageJson = filename => {
|
|
12
|
+
const packageData = _nodeFs.default.readFileSync(filename, 'utf-8');
|
|
13
|
+
const packageJson = JSON.parse(packageData);
|
|
14
|
+
return packageJson;
|
|
15
|
+
};
|
|
16
|
+
const getPackageFontDirectories = packageJsonFilename => {
|
|
17
|
+
const rootPackageJson = getPackageJson(packageJsonFilename);
|
|
18
|
+
const dependencies = Object.keys(rootPackageJson.dependencies || {});
|
|
19
|
+
const packageDirs = [];
|
|
20
|
+
dependencies.forEach(dependency => {
|
|
21
|
+
const dir = (0, _cliTools.resolveNodeModuleDir)(packageJsonFilename, dependency);
|
|
22
|
+
const packageJson = getPackageJson(`${dir}/package.json`);
|
|
23
|
+
if (packageJson.keywords?.includes?.('react-native-vector-icons-icon')) {
|
|
24
|
+
packageDirs.push(`${dir}/fonts`);
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
return packageDirs;
|
|
28
|
+
};
|
|
29
|
+
const getLocalFontsDir = packageJsonFilename => {
|
|
30
|
+
const rootPackageJson = getPackageJson(packageJsonFilename);
|
|
31
|
+
const config = rootPackageJson.reactNativeVectorIcons || {};
|
|
32
|
+
return `${_nodePath.default.dirname(packageJsonFilename)}/${config.fontDir || 'rnvi-fonts'}`;
|
|
33
|
+
};
|
|
34
|
+
const getFonts = fontDir => {
|
|
35
|
+
if (!_nodeFs.default.existsSync(fontDir)) {
|
|
36
|
+
return [];
|
|
37
|
+
}
|
|
38
|
+
const fonts = _nodeFs.default.readdirSync(fontDir);
|
|
39
|
+
const fontPaths = fonts.map(font => `${fontDir}/${font}`);
|
|
40
|
+
return fontPaths;
|
|
41
|
+
};
|
|
42
|
+
const getFontPaths = packageJsonFilename => {
|
|
43
|
+
const packageDirs = getPackageFontDirectories(packageJsonFilename);
|
|
44
|
+
packageDirs.push(getLocalFontsDir(packageJsonFilename));
|
|
45
|
+
const fonts = packageDirs.map(getFonts);
|
|
46
|
+
return fonts.flat();
|
|
47
|
+
};
|
|
48
|
+
exports.getFontPaths = getFontPaths;
|
|
49
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_nodeFs","_interopRequireDefault","require","_nodePath","_cliTools","e","__esModule","default","getPackageJson","filename","packageData","fs","readFileSync","packageJson","JSON","parse","getPackageFontDirectories","packageJsonFilename","rootPackageJson","dependencies","Object","keys","packageDirs","forEach","dependency","dir","resolveNodeModuleDir","keywords","includes","push","getLocalFontsDir","config","reactNativeVectorIcons","path","dirname","fontDir","getFonts","existsSync","fonts","readdirSync","fontPaths","map","font","getFontPaths","flat","exports"],"sourceRoot":"../../../src","sources":["scripts/common.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAAyE,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEzE,MAAMG,cAAc,GAAIC,QAAgB,IAAK;EAC3C,MAAMC,WAAW,GAAGC,eAAE,CAACC,YAAY,CAACH,QAAQ,EAAE,OAAO,CAAC;EACtD,MAAMI,WAAW,GAAGC,IAAI,CAACC,KAAK,CAACL,WAAW,CAAC;EAE3C,OAAOG,WAAW;AACpB,CAAC;AAED,MAAMG,yBAAyB,GAAIC,mBAA2B,IAAK;EACjE,MAAMC,eAAe,GAAGV,cAAc,CAACS,mBAAmB,CAAC;EAC3D,MAAME,YAAY,GAAGC,MAAM,CAACC,IAAI,CAACH,eAAe,CAACC,YAAY,IAAI,CAAC,CAAC,CAAC;EAEpE,MAAMG,WAAqB,GAAG,EAAE;EAChCH,YAAY,CAACI,OAAO,CAAEC,UAAU,IAAK;IACnC,MAAMC,GAAG,GAAG,IAAAC,8BAAoB,EAACT,mBAAmB,EAAEO,UAAU,CAAC;IACjE,MAAMX,WAAW,GAAGL,cAAc,CAAC,GAAGiB,GAAG,eAAe,CAAC;IACzD,IAAIZ,WAAW,CAACc,QAAQ,EAAEC,QAAQ,GAAG,gCAAgC,CAAC,EAAE;MACtEN,WAAW,CAACO,IAAI,CAAC,GAAGJ,GAAG,QAAQ,CAAC;IAClC;EACF,CAAC,CAAC;EAEF,OAAOH,WAAW;AACpB,CAAC;AAED,MAAMQ,gBAAgB,GAAIb,mBAA2B,IAAK;EACxD,MAAMC,eAAe,GAAGV,cAAc,CAACS,mBAAmB,CAAC;EAC3D,MAAMc,MAAM,GAAGb,eAAe,CAACc,sBAAsB,IAAI,CAAC,CAAC;EAE3D,OAAO,GAAGC,iBAAI,CAACC,OAAO,CAACjB,mBAAmB,CAAC,IAAIc,MAAM,CAACI,OAAO,IAAI,YAAY,EAAE;AACjF,CAAC;AAED,MAAMC,QAAQ,GAAID,OAAe,IAAK;EACpC,IAAI,CAACxB,eAAE,CAAC0B,UAAU,CAACF,OAAO,CAAC,EAAE;IAC3B,OAAO,EAAE;EACX;EAEA,MAAMG,KAAK,GAAG3B,eAAE,CAAC4B,WAAW,CAACJ,OAAO,CAAC;EACrC,MAAMK,SAAS,GAAGF,KAAK,CAACG,GAAG,CAAEC,IAAI,IAAK,GAAGP,OAAO,IAAIO,IAAI,EAAE,CAAC;EAE3D,OAAOF,SAAS;AAClB,CAAC;AAEM,MAAMG,YAAY,GAAI1B,mBAA2B,IAAK;EAC3D,MAAMK,WAAW,GAAGN,yBAAyB,CAACC,mBAAmB,CAAC;EAClEK,WAAW,CAACO,IAAI,CAACC,gBAAgB,CAACb,mBAAmB,CAAC,CAAC;EACvD,MAAMqB,KAAK,GAAGhB,WAAW,CAACmB,GAAG,CAACL,QAAQ,CAAC;EAEvC,OAAOE,KAAK,CAACM,IAAI,CAAC,CAAC;AACrB,CAAC;AAACC,OAAA,CAAAF,YAAA,GAAAA,YAAA","ignoreList":[]}
|
|
@@ -1,45 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const rootDir = process.argv[2];
|
|
9
|
-
if (!rootDir) {
|
|
10
|
-
throw new Error('Need rootDir as first argument');
|
|
4
|
+
var _common = require("./common");
|
|
5
|
+
const packageJsonFilename = process.argv[2];
|
|
6
|
+
if (!packageJsonFilename) {
|
|
7
|
+
throw new Error('Need the path to the roo package.json as the first argument');
|
|
11
8
|
}
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
const packageJson = JSON.parse(packageData);
|
|
15
|
-
return packageJson;
|
|
16
|
-
};
|
|
17
|
-
const getPackages = () => {
|
|
18
|
-
const rootPackageJson = getPackageJson(rootDir);
|
|
19
|
-
const dependencies = Object.keys(rootPackageJson.dependencies || {});
|
|
20
|
-
const packageDirs = [];
|
|
21
|
-
dependencies.forEach(dependency => {
|
|
22
|
-
const dir = (0, _cliTools.resolveNodeModuleDir)(rootDir, dependency);
|
|
23
|
-
const packageJson = getPackageJson(dir);
|
|
24
|
-
if (packageJson.keywords?.includes?.('react-native-vector-icons-icon')) {
|
|
25
|
-
packageDirs.push(dir);
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
return packageDirs;
|
|
29
|
-
};
|
|
30
|
-
const getFonts = dir => {
|
|
31
|
-
const fontDirs = [`${dir}/fonts`];
|
|
32
|
-
const rootPackageJson = getPackageJson(rootDir);
|
|
33
|
-
const config = rootPackageJson.reactNativeVectorIcons || {};
|
|
34
|
-
fontDirs.push(`${rootDir}/${config.fontDir || 'rnvi-fonts'}`);
|
|
35
|
-
fontDirs.forEach(fontDir => {
|
|
36
|
-
if (!_nodeFs.default.existsSync(fontDir)) {
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
const fonts = _nodeFs.default.readdirSync(fontDir);
|
|
40
|
-
fonts.forEach(font => console.log(`${fontDir}/${font}`));
|
|
41
|
-
});
|
|
42
|
-
};
|
|
43
|
-
const packageDirs = getPackages();
|
|
44
|
-
packageDirs.forEach(dir => getFonts(dir));
|
|
9
|
+
const fonts = (0, _common.getFontPaths)(packageJsonFilename);
|
|
10
|
+
fonts.map(font => console.log(font)); // eslint-disable-line no-console
|
|
45
11
|
//# sourceMappingURL=getFonts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_common","require","packageJsonFilename","process","argv","Error","fonts","getFontPaths","map","font","console","log"],"sourceRoot":"../../../src","sources":["scripts/getFonts.ts"],"mappings":"AAAA;AAAmB;;AAEnB,IAAAA,OAAA,GAAAC,OAAA;AAEA,MAAMC,mBAAmB,GAAGC,OAAO,CAACC,IAAI,CAAC,CAAC,CAAC;AAC3C,IAAI,CAACF,mBAAmB,EAAE;EACxB,MAAM,IAAIG,KAAK,CAAC,6DAA6D,CAAC;AAChF;AAEA,MAAMC,KAAK,GAAG,IAAAC,oBAAY,EAACL,mBAAmB,CAAC;AAC/CI,KAAK,CAACE,GAAG,CAAEC,IAAI,IAAKC,OAAO,CAACC,GAAG,CAACF,IAAI,CAAC,CAAC,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/* eslint-disable no-console */
|
|
3
|
+
"use strict";
|
|
4
|
+
|
|
5
|
+
var _nodeFs = _interopRequireDefault(require("node:fs"));
|
|
6
|
+
var path = _interopRequireWildcard(require("node:path"));
|
|
7
|
+
var _picocolors = _interopRequireDefault(require("picocolors"));
|
|
8
|
+
var plist = _interopRequireWildcard(require("plist"));
|
|
9
|
+
var _common = require("./common");
|
|
10
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
11
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
|
+
const getFontName = fontPath => path.basename(fontPath);
|
|
14
|
+
const packageJsonFilename = process.argv[2];
|
|
15
|
+
if (!packageJsonFilename) {
|
|
16
|
+
throw new Error('Need the path to the root package.json as the first argument');
|
|
17
|
+
}
|
|
18
|
+
const infoPlistFilename = process.argv[3];
|
|
19
|
+
if (!infoPlistFilename) {
|
|
20
|
+
throw new Error('Need the path to the Info.plist as the second argument');
|
|
21
|
+
}
|
|
22
|
+
const fonts = (0, _common.getFontPaths)(packageJsonFilename);
|
|
23
|
+
console.log(`Found ${fonts.length} fonts`);
|
|
24
|
+
const infoPlistContent = _nodeFs.default.readFileSync(infoPlistFilename, 'utf8');
|
|
25
|
+
const infoPlist = plist.parse(infoPlistContent);
|
|
26
|
+
const plistFonts = new Set(infoPlist.UIAppFonts || []);
|
|
27
|
+
const providedFonts = new Set(fonts.map(getFontName));
|
|
28
|
+
let hasChanges = false;
|
|
29
|
+
|
|
30
|
+
// Check for missing fonts and add them
|
|
31
|
+
providedFonts.forEach(font => {
|
|
32
|
+
if (!plistFonts.has(font)) {
|
|
33
|
+
plistFonts.add(font);
|
|
34
|
+
console.log(_picocolors.default.green(`Added ${font}`));
|
|
35
|
+
hasChanges = true;
|
|
36
|
+
} else {
|
|
37
|
+
console.log(`Existing ${font}`);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
// Check for extra fonts in Info.plist
|
|
42
|
+
plistFonts.forEach(font => {
|
|
43
|
+
if (!providedFonts.has(font)) {
|
|
44
|
+
console.log(_picocolors.default.red(`Extra ${font} (Please remove manually if not needed)`));
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
// Update Info.plist if there were changes
|
|
49
|
+
if (hasChanges) {
|
|
50
|
+
infoPlist.UIAppFonts = Array.from(plistFonts);
|
|
51
|
+
const updatedInfoPlistContent = plist.build(infoPlist).replace(/^ {2}/gm, '').replace(/ {2}/gm, '\t');
|
|
52
|
+
_nodeFs.default.writeFileSync(infoPlistFilename, updatedInfoPlistContent, 'utf8');
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=updatePlist.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_nodeFs","_interopRequireDefault","require","path","_interopRequireWildcard","_picocolors","plist","_common","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","getFontName","fontPath","basename","packageJsonFilename","process","argv","Error","infoPlistFilename","fonts","getFontPaths","console","log","length","infoPlistContent","fs","readFileSync","infoPlist","parse","plistFonts","Set","UIAppFonts","providedFonts","map","hasChanges","forEach","font","add","pc","green","red","Array","from","updatedInfoPlistContent","build","replace","writeFileSync"],"sourceRoot":"../../../src","sources":["scripts/updatePlist.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeVectorIcons.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,cAAc;
|
|
1
|
+
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeVectorIcons.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,cAAc;AAUlD,eAAeA,mBAAmB,CAACC,YAAY,CAAO,aAAa,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../src","sources":["NativeVectorIcons.web.ts"],"mappings":"AAAA,eAAe,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["NativeVectorIcons.web.ts"],"mappings":"AAAA,eAAe,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
2
|
import React, { forwardRef } from 'react';
|
|
3
|
-
import { Platform,
|
|
4
|
-
import ensureNativeModuleAvailable from './ensure-native-module-available';
|
|
5
|
-
import createIconSourceCache from './create-icon-source-cache';
|
|
3
|
+
import { PixelRatio, Platform, Text, processColor } from 'react-native';
|
|
6
4
|
import NativeIconAPI from './NativeVectorIcons';
|
|
5
|
+
import createIconSourceCache from './create-icon-source-cache';
|
|
6
|
+
import ensureNativeModuleAvailable from './ensure-native-module-available';
|
|
7
7
|
export const DEFAULT_ICON_SIZE = 12;
|
|
8
8
|
export const DEFAULT_ICON_COLOR = 'black';
|
|
9
9
|
export const createIconSet = (glyphMap, fontFamily, fontFile, fontStyle) => {
|
|
@@ -103,21 +103,9 @@ export const createIconSet = (glyphMap, fontFamily, fontFile, fontStyle) => {
|
|
|
103
103
|
throw error;
|
|
104
104
|
}
|
|
105
105
|
};
|
|
106
|
-
const loadFont = async () => {
|
|
107
|
-
if (Platform.OS !== 'ios') {
|
|
108
|
-
return;
|
|
109
|
-
}
|
|
110
|
-
ensureNativeModuleAvailable();
|
|
111
|
-
const [filename, extension] = fontFile.split('.'); // FIXME: what if filename has two dots?
|
|
112
|
-
if (!extension) {
|
|
113
|
-
throw new Error('Font needs a filename extensison.');
|
|
114
|
-
}
|
|
115
|
-
await NativeIconAPI.loadFontWithFileName(filename, extension, 'react-native-vector-icons');
|
|
116
|
-
};
|
|
117
|
-
loadFont();
|
|
118
106
|
const IconNamespace = Object.assign(WrappedIcon, {
|
|
119
|
-
getImageSource
|
|
120
|
-
getImageSourceSync
|
|
107
|
+
getImageSource,
|
|
108
|
+
getImageSourceSync
|
|
121
109
|
});
|
|
122
110
|
return IconNamespace;
|
|
123
111
|
};
|