@react-native-vector-icons/common 12.3.1 → 12.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -28
- package/lib/commonjs/create-icon-set.js +3 -4
- package/lib/commonjs/create-icon-set.js.map +1 -1
- package/lib/commonjs/dynamicLoading/dynamic-loading-setting.js +11 -7
- package/lib/commonjs/dynamicLoading/dynamic-loading-setting.js.map +1 -1
- package/lib/commonjs/scripts/updatePlist.js +1 -2
- package/lib/commonjs/scripts/updatePlist.js.map +1 -1
- package/lib/module/create-icon-set.js +2 -2
- package/lib/module/create-icon-set.js.map +1 -1
- package/lib/module/dynamicLoading/dynamic-loading-setting.js +11 -7
- package/lib/module/dynamicLoading/dynamic-loading-setting.js.map +1 -1
- package/lib/typescript/commonjs/src/create-icon-set.d.ts +4 -3
- package/lib/typescript/commonjs/src/create-icon-set.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/dynamicLoading/dynamic-loading-setting.d.ts.map +1 -1
- package/lib/typescript/module/src/create-icon-set.d.ts +4 -3
- package/lib/typescript/module/src/create-icon-set.d.ts.map +1 -1
- package/lib/typescript/module/src/dynamicLoading/dynamic-loading-setting.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/create-icon-set.tsx +9 -10
- package/src/dynamicLoading/dynamic-loading-setting.ts +11 -9
package/README.md
CHANGED
|
@@ -45,19 +45,20 @@ RNVI comes with the following supported icons. You can [search NPM](https://www.
|
|
|
45
45
|
|
|
46
46
|
- [`AntDesign`](https://ant.design/components/icon) from Ant Group (v4.4.2 with _449_ icons)
|
|
47
47
|
- [`Feather`](http://feathericons.com) created by Cole Bemis & Contributors (v4.29.2 featuring _287_ icons)
|
|
48
|
-
- [`FontAwesome
|
|
48
|
+
- [`FontAwesome`](https://fontawesome.com/search) designed by Fonticons, Inc. (v7.2.0 featuring _2,806_ free and _75,767_ pro icons)
|
|
49
49
|
- [`Foundation`](http://zurb.com/playground/foundation-icon-fonts-3) by ZURB, Inc. (v3.0 with _283_ icons)
|
|
50
|
-
- [`Ionicons`](https://ionic.io/ionicons) crafted by Ionic (v8.0.9 containing
|
|
50
|
+
- [`Ionicons`](https://ionic.io/ionicons) crafted by Ionic (v8.0.9 containing _1,357_ icons)
|
|
51
51
|
- [`MaterialDesignIcons`](https://pictogrammers.com/library/mdi/) from MaterialDesignIcons.com (v7.4.47 including _7448_ icons)
|
|
52
|
-
- [`Octicons`](https://primer.style/foundations/icons) designed by GitHub, Inc. (v19.
|
|
53
|
-
- [`Lucide`](https://lucide.dev/) designed by Lucide, (v0.
|
|
52
|
+
- [`Octicons`](https://primer.style/foundations/icons) designed by GitHub, Inc. (v19.22.0 with _339_ icons)
|
|
53
|
+
- [`Lucide`](https://lucide.dev/) designed by Lucide, (v0.576.0 with _1,639_ icons)
|
|
54
54
|
|
|
55
55
|
### No longer maintained upstream
|
|
56
56
|
|
|
57
57
|
- [`Entypo`](http://entypo.com) by Daniel Bruce (v1.0.1 with _411_ icons)
|
|
58
58
|
- [`EvilIcons`](http://evil-icons.io) designed by Alexander Madyankin & Roman Shamin (v1.10.1 with _70_ icons)
|
|
59
|
-
- [`FontAwesome`](https://fontawesome.com/v4/icons) by Fonticons, Inc. (v4.7.0 containing _785_ icons)
|
|
59
|
+
- [`FontAwesome 4`](https://fontawesome.com/v4/icons) by Fonticons, Inc. (v4.7.0 containing _785_ icons)
|
|
60
60
|
- [`FontAwesome 5`](https://fontawesome.com/v5/search) from Fonticons, Inc. (v5.15.4 offering _1611_ free and _7869_ pro icons)
|
|
61
|
+
- [`FontAwesome 6`](https://fontawesome.com/search) designed by Fonticons, Inc. (v6.7.2 featuring _2060_ free and _52663_ pro icons)
|
|
61
62
|
- [`Fontisto`](https://github.com/kenangundogan/fontisto) created by Kenan Gündoğan (v3.0.4 featuring _617_ icons)
|
|
62
63
|
- [`MaterialIcons`](https://fonts.google.com/icons?icon.set=Material+Icons) by Google, Inc. (v4.0.0 featuring _2234_ icons)
|
|
63
64
|
- [`SimpleLineIcons`](https://simplelineicons.github.io/) crafted by Sabbir & Contributors (v2.5.5 with _189_ icons)
|
|
@@ -72,16 +73,12 @@ See [MIGRATION.md](MIGRATION.md) if you are migrating from `react-native-vector-
|
|
|
72
73
|
1. Install the packages for the icons you want to use
|
|
73
74
|
|
|
74
75
|
```sh
|
|
75
|
-
npm install @react-native-vector-icons/
|
|
76
|
+
npm install @react-native-vector-icons/fontawesome-free-solid @react-native-vector-icons/evil-icons
|
|
76
77
|
```
|
|
77
78
|
|
|
78
79
|
1. Depending on the platform you're targeting (iOS/Android/Windows), follow the appropriate setup instructions below.
|
|
79
80
|
1. If you are using one of the following fonts, refer to their guides for further instructions
|
|
80
81
|
|
|
81
|
-
- [FontAwesome 6](packages/fontawesome6/README.md)
|
|
82
|
-
- [FontAwesome 6 Pro](packages/fontawesome6-pro/README.md)
|
|
83
|
-
- [FontAwesome 5](packages/fontawesome5/README.md)
|
|
84
|
-
- [FontAwesome 5 Pro](packages/fontawesome5-pro/README.md)
|
|
85
82
|
- [Fontello](packages/fontello/README.md)
|
|
86
83
|
- [Icomoon](packages/icomoon/README.md)
|
|
87
84
|
|
|
@@ -91,7 +88,7 @@ Refer to the guide for [Expo](./docs/SETUP-EXPO.md), [React Native](./docs/SETUP
|
|
|
91
88
|
|
|
92
89
|
### Font location customisation
|
|
93
90
|
|
|
94
|
-
For fonts like
|
|
91
|
+
For fonts like the FontAwesome Pro as well as fontello and icomoon where you provide the fonts the default location for the font files is `rnvi-fonts` in the same directory as your package.json. This can be customized by setting the `fontDir` property in your `package.json` file.
|
|
95
92
|
|
|
96
93
|
```json
|
|
97
94
|
{
|
|
@@ -106,9 +103,9 @@ For fonts like fontawesome6-pro, fontello and icomoon where you provide the font
|
|
|
106
103
|
You can either use one of the bundled icons above or roll your own custom font.
|
|
107
104
|
|
|
108
105
|
```js
|
|
109
|
-
import {
|
|
106
|
+
import { FontAwesomeFreeSolid } from "@react-native-vector-icons/fontawesome-free-solid";
|
|
110
107
|
|
|
111
|
-
<
|
|
108
|
+
<FontAwesomeFreeSolid name="rocket" size={30} color="#900" />;
|
|
112
109
|
```
|
|
113
110
|
|
|
114
111
|
### Props
|
|
@@ -139,20 +136,6 @@ By combining some of these you can create for example :
|
|
|
139
136
|

|
|
140
137
|

|
|
141
138
|
|
|
142
|
-
## Multi-Style Fonts
|
|
143
|
-
|
|
144
|
-
Some fonts today use multiple styles, FontAwesome 6 for example, which is supported by this library. The usage is pretty much the same as the standard `Icon` component:
|
|
145
|
-
|
|
146
|
-
```jsx
|
|
147
|
-
import { FontAwesome5 } from "@react-native-vector-icons/fontawesome5";
|
|
148
|
-
|
|
149
|
-
<FontAwesome5 name="comments" size={30} color="#900" />; // Defaults to regular
|
|
150
|
-
|
|
151
|
-
<FontAwesome5 name="comments" size={30} color="#900" iconType="solid" />
|
|
152
|
-
|
|
153
|
-
<FontAwesome5 name="comments" size={30} color="#900" iconType="light" />
|
|
154
|
-
```
|
|
155
|
-
|
|
156
139
|
## Usage as PNG Image/Source Object
|
|
157
140
|
|
|
158
141
|
Convenient way to plug this in into other components that rely on bitmap images rather than scalable vector icons. Takes the arguments `name`, `size` and `color` as described above.
|
|
@@ -221,7 +204,7 @@ animation library
|
|
|
221
204
|
|
|
222
205
|
Fonts can be available in an app statically (since build time) or loaded dynamically at runtime. The latter can be useful e.g. for apps that use over-the-air updates and want to load new fonts with an update, or when you need to use a font from a remote location.
|
|
223
206
|
|
|
224
|
-
Dynamic loading in `@react-native-vector-icons` is currently limited to those fonts that are bundled within the provided packages: it doesn't support Pro fonts (such as FontAwesome
|
|
207
|
+
Dynamic loading in `@react-native-vector-icons` is currently limited to those fonts that are bundled within the provided packages: it doesn't support Pro fonts (such as FontAwesome Pro). However, loading of custom fonts is not difficult to implement: use `createIconSet` as seen in [custom fonts](#custom-fonts) paragraph to obtain a icon font family with dynamic font loading enabled. See any of the free font packages for reference.
|
|
225
208
|
|
|
226
209
|
By default, dynamic loading is enabled if you run Expo SDK >= 52. It doesn't change the way you work with the package: If rendering an icon requires a font that is not known to the app, it will be loaded automatically and icon will render as expected.
|
|
227
210
|
|
|
@@ -13,8 +13,7 @@ var _dynamicLoadingSetting = require("./dynamicLoading/dynamic-loading-setting.j
|
|
|
13
13
|
var _getImageSource = require("./get-image-source.js");
|
|
14
14
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
15
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
|
-
function
|
|
17
|
-
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; }
|
|
16
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
18
17
|
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
19
18
|
|
|
20
19
|
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
@@ -41,11 +40,11 @@ function createIconSet(glyphMap, postScriptNameOrOptions, fontFileNameParam, fon
|
|
|
41
40
|
fontStyle: 'normal'
|
|
42
41
|
};
|
|
43
42
|
const resolveGlyph = name => {
|
|
44
|
-
const glyph = glyphMap[name];
|
|
43
|
+
const glyph = glyphMap[name] || '?';
|
|
45
44
|
if (typeof glyph === 'number') {
|
|
46
45
|
return String.fromCodePoint(glyph);
|
|
47
46
|
}
|
|
48
|
-
return
|
|
47
|
+
return glyph;
|
|
49
48
|
};
|
|
50
49
|
const Icon = ({
|
|
51
50
|
name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_createIconSourceCache","_interopRequireDefault","_defaults","_dynamicFontLoading","_dynamicLoadingSetting","_getImageSource","_jsxRuntime","e","__esModule","default","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_createIconSourceCache","_interopRequireDefault","_defaults","_dynamicFontLoading","_dynamicLoadingSetting","_getImageSource","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","createIconSet","glyphMap","postScriptNameOrOptions","fontFileNameParam","fontStyleParam","postScriptName","fontFileName","fontStyle","fontBasename","replace","fontReference","Platform","select","windows","android","styleOverrides","fontFamily","fontWeight","resolveGlyph","name","glyph","String","fromCodePoint","Icon","size","DEFAULT_ICON_SIZE","color","DEFAULT_ICON_COLOR","style","children","allowFontScaling","innerRef","props","isFontLoaded","setIsFontLoaded","React","useState","isDynamicLoadingEnabled","dynamicLoader","isLoaded","useEffect","isMounted","fontSource","loadFontAsync","finally","styleDefaults","fontSize","newProps","jsxs","Text","ref","selectable","WrappedIcon","forwardRef","jsx","displayName","imageSourceCache","createIconSourceCache","getImageSource","getImageSourceImpl","getImageSourceSync","getImageSourceSyncImpl","IconNamespace","assign"],"sourceRoot":"../../src","sources":["create-icon-set.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -24,10 +24,13 @@ function assertExpoModulesPresent(globalObj) {
|
|
|
24
24
|
throw new Error('Dynamic font loading not supported. Upgrade to latest expo and expo-font.');
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
|
|
28
|
+
// Detection of Expo modules is deferred to first use so that import order
|
|
29
|
+
// doesn't matter. By the time a component renders, all imports (including Expo)
|
|
30
|
+
// have been evaluated and globalThis.expo is available.
|
|
31
|
+
|
|
32
|
+
let dynamicFontLoadingOverride = null;
|
|
33
|
+
const isDynamicLoadingSupported = () => getIsDynamicLoadingSupported(globalThis);
|
|
31
34
|
|
|
32
35
|
/**
|
|
33
36
|
* Set whether dynamic loading of fonts is enabled.
|
|
@@ -39,14 +42,15 @@ const isDynamicLoadingSupported = () => hasNecessaryExpoFeatures;
|
|
|
39
42
|
* */
|
|
40
43
|
exports.isDynamicLoadingSupported = isDynamicLoadingSupported;
|
|
41
44
|
const setDynamicLoadingEnabled = value => {
|
|
42
|
-
if (!
|
|
45
|
+
if (!getIsDynamicLoadingSupported(globalThis)) {
|
|
43
46
|
if (process.env.NODE_ENV !== 'production' && !!value) {
|
|
47
|
+
const hasNecessaryExpoModules = (_reactNative.Platform.OS === 'web' || !!globalThis.expo?.modules?.ExpoAsset) && !!globalThis.expo?.modules?.ExpoFontLoader;
|
|
44
48
|
const message = hasNecessaryExpoModules ? 'Expo is installed, but does not support dynamic font loading. Make sure to use Expo SDK 54 or newer.' : 'Necessary Expo modules not found. Dynamic font loading is not available when necessary Expo modules are not present.';
|
|
45
49
|
console.error(message); // eslint-disable-line no-console
|
|
46
50
|
}
|
|
47
51
|
return false;
|
|
48
52
|
}
|
|
49
|
-
|
|
53
|
+
dynamicFontLoadingOverride = !!value;
|
|
50
54
|
return true;
|
|
51
55
|
};
|
|
52
56
|
|
|
@@ -54,7 +58,7 @@ const setDynamicLoadingEnabled = value => {
|
|
|
54
58
|
* Whether dynamic loading of fonts is enabled.
|
|
55
59
|
* */
|
|
56
60
|
exports.setDynamicLoadingEnabled = setDynamicLoadingEnabled;
|
|
57
|
-
const isDynamicLoadingEnabled = () =>
|
|
61
|
+
const isDynamicLoadingEnabled = () => dynamicFontLoadingOverride ?? getIsDynamicLoadingSupported(globalThis);
|
|
58
62
|
exports.isDynamicLoadingEnabled = isDynamicLoadingEnabled;
|
|
59
63
|
let dynamicLoadingErrorCallback;
|
|
60
64
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","getIsDynamicLoadingSupported","globalObj","expo","Platform","OS","modules","ExpoAsset","downloadAsync","ExpoFontLoader","getLoadedFonts","loadAsync","getIsRenderToImageSupported","ExpoFontUtils","renderToImageAsync","assertExpoModulesPresent","Error","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","getIsDynamicLoadingSupported","globalObj","expo","Platform","OS","modules","ExpoAsset","downloadAsync","ExpoFontLoader","getLoadedFonts","loadAsync","getIsRenderToImageSupported","ExpoFontUtils","renderToImageAsync","assertExpoModulesPresent","Error","dynamicFontLoadingOverride","isDynamicLoadingSupported","globalThis","exports","setDynamicLoadingEnabled","value","process","env","NODE_ENV","hasNecessaryExpoModules","message","console","error","isDynamicLoadingEnabled","dynamicLoadingErrorCallback","setDynamicLoadingErrorCallback","callback","getErrorCallback"],"sourceRoot":"../../../src","sources":["dynamicLoading/dynamic-loading-setting.ts"],"mappings":";;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAUA;;AAyCA;AACA,SAASC,4BAA4BA,CAACC,SAAc,EAElD;EACA,OACEA,SAAS,EAAEC,IAAI,KACdC,qBAAQ,CAACC,EAAE,KAAK,KAAK,IAAI,OAAOH,SAAS,CAACC,IAAI,CAACG,OAAO,EAAEC,SAAS,EAAEC,aAAa,KAAK,UAAU,CAAC,IACjG,OAAON,SAAS,CAACC,IAAI,CAACG,OAAO,EAAEG,cAAc,EAAEC,cAAc,KAAK,UAAU,IAC5E,OAAOR,SAAS,CAACC,IAAI,CAACG,OAAO,EAAEG,cAAc,EAAEE,SAAS,KAAK,UAAU;AAE3E;;AAEA;AACO,SAASC,2BAA2BA,CAACV,SAAc,EAMxD;EACA,OAAOA,SAAS,EAAEC,IAAI,IAAI,OAAOD,SAAS,CAACC,IAAI,CAACG,OAAO,EAAEO,aAAa,EAAEC,kBAAkB,KAAK,UAAU;AAC3G;AAEO,SAASC,wBAAwBA,CAACb,SAAkB,EAAiD;EAC1G,IAAI,CAACD,4BAA4B,CAACC,SAAS,CAAC,EAAE;IAC5C,MAAM,IAAIc,KAAK,CAAC,2EAA2E,CAAC;EAC9F;AACF;;AAEA;AACA;AACA;;AAEA,IAAIC,0BAA0C,GAAG,IAAI;AAE9C,MAAMC,yBAAyB,GAAGA,CAAA,KAAMjB,4BAA4B,CAACkB,UAAU,CAAC;;AAEvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPAC,OAAA,CAAAF,yBAAA,GAAAA,yBAAA;AAQO,MAAMG,wBAAwB,GAAIC,KAAc,IAAc;EACnE,IAAI,CAACrB,4BAA4B,CAACkB,UAAU,CAAC,EAAE;IAC7C,IAAII,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,IAAI,CAAC,CAACH,KAAK,EAAE;MACpD,MAAMI,uBAAuB,GAC3B,CAACtB,qBAAQ,CAACC,EAAE,KAAK,KAAK,IAAI,CAAC,CAACc,UAAU,CAAChB,IAAI,EAAEG,OAAO,EAAEC,SAAS,KAAK,CAAC,CAACY,UAAU,CAAChB,IAAI,EAAEG,OAAO,EAAEG,cAAc;MAChH,MAAMkB,OAAO,GAAGD,uBAAuB,GACnC,sGAAsG,GACtG,sHAAsH;MAC1HE,OAAO,CAACC,KAAK,CAACF,OAAO,CAAC,CAAC,CAAC;IAC1B;IACA,OAAO,KAAK;EACd;EAEAV,0BAA0B,GAAG,CAAC,CAACK,KAAK;EAEpC,OAAO,IAAI;AACb,CAAC;;AAED;AACA;AACA;AAFAF,OAAA,CAAAC,wBAAA,GAAAA,wBAAA;AAGO,MAAMS,uBAAuB,GAAGA,CAAA,KACrCb,0BAA0B,IAAIhB,4BAA4B,CAACkB,UAAU,CAAC;AAACC,OAAA,CAAAU,uBAAA,GAAAA,uBAAA;AAIzE,IAAIC,2BAAsD;;AAE1D;AACA;AACA;AACO,MAAMC,8BAA8B,GAAIC,QAAuB,IAAK;EACzEF,2BAA2B,GAAGE,QAAQ;AACxC,CAAC;AAACb,OAAA,CAAAY,8BAAA,GAAAA,8BAAA;AAEK,MAAME,gBAAgB,GAAGA,CAAA,KAAMH,2BAA2B;AAACX,OAAA,CAAAc,gBAAA,GAAAA,gBAAA","ignoreList":[]}
|
|
@@ -7,8 +7,7 @@ var path = _interopRequireWildcard(require("node:path"));
|
|
|
7
7
|
var _picocolors = _interopRequireDefault(require("picocolors"));
|
|
8
8
|
var plist = _interopRequireWildcard(require("plist"));
|
|
9
9
|
var _common = require("./common.js");
|
|
10
|
-
function
|
|
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; }
|
|
10
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
12
11
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
12
|
const getFontName = fontPath => path.basename(fontPath);
|
|
14
13
|
const packageJsonFilename = process.argv[2];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_nodeFs","_interopRequireDefault","require","path","_interopRequireWildcard","_picocolors","plist","_common","
|
|
1
|
+
{"version":3,"names":["_nodeFs","_interopRequireDefault","require","path","_interopRequireWildcard","_picocolors","plist","_common","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","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","yellow","Array","from","updatedInfoPlistContent","build","replace","writeFileSync"],"sourceRoot":"../../../src","sources":["scripts/updatePlist.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -32,11 +32,11 @@ export function createIconSet(glyphMap, postScriptNameOrOptions, fontFileNamePar
|
|
|
32
32
|
fontStyle: 'normal'
|
|
33
33
|
};
|
|
34
34
|
const resolveGlyph = name => {
|
|
35
|
-
const glyph = glyphMap[name];
|
|
35
|
+
const glyph = glyphMap[name] || '?';
|
|
36
36
|
if (typeof glyph === 'number') {
|
|
37
37
|
return String.fromCodePoint(glyph);
|
|
38
38
|
}
|
|
39
|
-
return
|
|
39
|
+
return glyph;
|
|
40
40
|
};
|
|
41
41
|
const Icon = ({
|
|
42
42
|
name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","forwardRef","useEffect","Platform","Text","createIconSourceCache","DEFAULT_ICON_COLOR","DEFAULT_ICON_SIZE","dynamicLoader","isDynamicLoadingEnabled","getImageSource","getImageSourceImpl","getImageSourceSync","getImageSourceSyncImpl","jsxs","_jsxs","jsx","_jsx","createIconSet","glyphMap","postScriptNameOrOptions","fontFileNameParam","fontStyleParam","postScriptName","fontFileName","fontStyle","fontBasename","replace","fontReference","select","windows","android","default","styleOverrides","fontFamily","fontWeight","resolveGlyph","name","glyph","String","fromCodePoint","Icon","size","color","style","children","allowFontScaling","innerRef","props","isFontLoaded","setIsFontLoaded","useState","isLoaded","isMounted","fontSource","loadFontAsync","finally","styleDefaults","fontSize","newProps","ref","selectable","WrappedIcon","displayName","imageSourceCache","IconNamespace","Object","assign"],"sourceRoot":"../../src","sources":["create-icon-set.tsx"],"mappings":";;AAAA;AACA,OAAOA,KAAK,IAAIC,UAAU,EAAYC,SAAS,QAAQ,OAAO;AAC9D;AACA,SAASC,QAAQ,EAAEC,IAAI,QAAwC,cAAc;AAE7E,OAAOC,qBAAqB,MAAM,+BAA4B;AAC9D,SAASC,kBAAkB,EAAEC,iBAAiB,QAAQ,eAAY;AAClE,SAASC,aAAa,QAAQ,0CAAuC;AACrE,SAASC,uBAAuB,QAAQ,6CAA0C;AAElF,SAASC,cAAc,IAAIC,kBAAkB,EAAEC,kBAAkB,IAAIC,sBAAsB,QAAQ,uBAAoB;AAAC,SAAAC,IAAA,IAAAC,KAAA,EAAAC,GAAA,IAAAC,IAAA;
|
|
1
|
+
{"version":3,"names":["React","forwardRef","useEffect","Platform","Text","createIconSourceCache","DEFAULT_ICON_COLOR","DEFAULT_ICON_SIZE","dynamicLoader","isDynamicLoadingEnabled","getImageSource","getImageSourceImpl","getImageSourceSync","getImageSourceSyncImpl","jsxs","_jsxs","jsx","_jsx","createIconSet","glyphMap","postScriptNameOrOptions","fontFileNameParam","fontStyleParam","postScriptName","fontFileName","fontStyle","fontBasename","replace","fontReference","select","windows","android","default","styleOverrides","fontFamily","fontWeight","resolveGlyph","name","glyph","String","fromCodePoint","Icon","size","color","style","children","allowFontScaling","innerRef","props","isFontLoaded","setIsFontLoaded","useState","isLoaded","isMounted","fontSource","loadFontAsync","finally","styleDefaults","fontSize","newProps","ref","selectable","WrappedIcon","displayName","imageSourceCache","IconNamespace","Object","assign"],"sourceRoot":"../../src","sources":["create-icon-set.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -18,10 +18,13 @@ export function assertExpoModulesPresent(globalObj) {
|
|
|
18
18
|
throw new Error('Dynamic font loading not supported. Upgrade to latest expo and expo-font.');
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
|
|
22
|
+
// Detection of Expo modules is deferred to first use so that import order
|
|
23
|
+
// doesn't matter. By the time a component renders, all imports (including Expo)
|
|
24
|
+
// have been evaluated and globalThis.expo is available.
|
|
25
|
+
|
|
26
|
+
let dynamicFontLoadingOverride = null;
|
|
27
|
+
export const isDynamicLoadingSupported = () => getIsDynamicLoadingSupported(globalThis);
|
|
25
28
|
|
|
26
29
|
/**
|
|
27
30
|
* Set whether dynamic loading of fonts is enabled.
|
|
@@ -32,21 +35,22 @@ export const isDynamicLoadingSupported = () => hasNecessaryExpoFeatures;
|
|
|
32
35
|
* @returns `true` if dynamic loading of fonts was successfully set. `false` otherwise.
|
|
33
36
|
* */
|
|
34
37
|
export const setDynamicLoadingEnabled = value => {
|
|
35
|
-
if (!
|
|
38
|
+
if (!getIsDynamicLoadingSupported(globalThis)) {
|
|
36
39
|
if (process.env.NODE_ENV !== 'production' && !!value) {
|
|
40
|
+
const hasNecessaryExpoModules = (Platform.OS === 'web' || !!globalThis.expo?.modules?.ExpoAsset) && !!globalThis.expo?.modules?.ExpoFontLoader;
|
|
37
41
|
const message = hasNecessaryExpoModules ? 'Expo is installed, but does not support dynamic font loading. Make sure to use Expo SDK 54 or newer.' : 'Necessary Expo modules not found. Dynamic font loading is not available when necessary Expo modules are not present.';
|
|
38
42
|
console.error(message); // eslint-disable-line no-console
|
|
39
43
|
}
|
|
40
44
|
return false;
|
|
41
45
|
}
|
|
42
|
-
|
|
46
|
+
dynamicFontLoadingOverride = !!value;
|
|
43
47
|
return true;
|
|
44
48
|
};
|
|
45
49
|
|
|
46
50
|
/**
|
|
47
51
|
* Whether dynamic loading of fonts is enabled.
|
|
48
52
|
* */
|
|
49
|
-
export const isDynamicLoadingEnabled = () =>
|
|
53
|
+
export const isDynamicLoadingEnabled = () => dynamicFontLoadingOverride ?? getIsDynamicLoadingSupported(globalThis);
|
|
50
54
|
let dynamicLoadingErrorCallback;
|
|
51
55
|
|
|
52
56
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","getIsDynamicLoadingSupported","globalObj","expo","OS","modules","ExpoAsset","downloadAsync","ExpoFontLoader","getLoadedFonts","loadAsync","getIsRenderToImageSupported","ExpoFontUtils","renderToImageAsync","assertExpoModulesPresent","Error","
|
|
1
|
+
{"version":3,"names":["Platform","getIsDynamicLoadingSupported","globalObj","expo","OS","modules","ExpoAsset","downloadAsync","ExpoFontLoader","getLoadedFonts","loadAsync","getIsRenderToImageSupported","ExpoFontUtils","renderToImageAsync","assertExpoModulesPresent","Error","dynamicFontLoadingOverride","isDynamicLoadingSupported","globalThis","setDynamicLoadingEnabled","value","process","env","NODE_ENV","hasNecessaryExpoModules","message","console","error","isDynamicLoadingEnabled","dynamicLoadingErrorCallback","setDynamicLoadingErrorCallback","callback","getErrorCallback"],"sourceRoot":"../../../src","sources":["dynamicLoading/dynamic-loading-setting.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,cAAc;;AAUvC;;AAyCA;AACA,SAASC,4BAA4BA,CAACC,SAAc,EAElD;EACA,OACEA,SAAS,EAAEC,IAAI,KACdH,QAAQ,CAACI,EAAE,KAAK,KAAK,IAAI,OAAOF,SAAS,CAACC,IAAI,CAACE,OAAO,EAAEC,SAAS,EAAEC,aAAa,KAAK,UAAU,CAAC,IACjG,OAAOL,SAAS,CAACC,IAAI,CAACE,OAAO,EAAEG,cAAc,EAAEC,cAAc,KAAK,UAAU,IAC5E,OAAOP,SAAS,CAACC,IAAI,CAACE,OAAO,EAAEG,cAAc,EAAEE,SAAS,KAAK,UAAU;AAE3E;;AAEA;AACA,OAAO,SAASC,2BAA2BA,CAACT,SAAc,EAMxD;EACA,OAAOA,SAAS,EAAEC,IAAI,IAAI,OAAOD,SAAS,CAACC,IAAI,CAACE,OAAO,EAAEO,aAAa,EAAEC,kBAAkB,KAAK,UAAU;AAC3G;AAEA,OAAO,SAASC,wBAAwBA,CAACZ,SAAkB,EAAiD;EAC1G,IAAI,CAACD,4BAA4B,CAACC,SAAS,CAAC,EAAE;IAC5C,MAAM,IAAIa,KAAK,CAAC,2EAA2E,CAAC;EAC9F;AACF;;AAEA;AACA;AACA;;AAEA,IAAIC,0BAA0C,GAAG,IAAI;AAErD,OAAO,MAAMC,yBAAyB,GAAGA,CAAA,KAAMhB,4BAA4B,CAACiB,UAAU,CAAC;;AAEvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,wBAAwB,GAAIC,KAAc,IAAc;EACnE,IAAI,CAACnB,4BAA4B,CAACiB,UAAU,CAAC,EAAE;IAC7C,IAAIG,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,IAAI,CAAC,CAACH,KAAK,EAAE;MACpD,MAAMI,uBAAuB,GAC3B,CAACxB,QAAQ,CAACI,EAAE,KAAK,KAAK,IAAI,CAAC,CAACc,UAAU,CAACf,IAAI,EAAEE,OAAO,EAAEC,SAAS,KAAK,CAAC,CAACY,UAAU,CAACf,IAAI,EAAEE,OAAO,EAAEG,cAAc;MAChH,MAAMiB,OAAO,GAAGD,uBAAuB,GACnC,sGAAsG,GACtG,sHAAsH;MAC1HE,OAAO,CAACC,KAAK,CAACF,OAAO,CAAC,CAAC,CAAC;IAC1B;IACA,OAAO,KAAK;EACd;EAEAT,0BAA0B,GAAG,CAAC,CAACI,KAAK;EAEpC,OAAO,IAAI;AACb,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMQ,uBAAuB,GAAGA,CAAA,KACrCZ,0BAA0B,IAAIf,4BAA4B,CAACiB,UAAU,CAAC;AAIxE,IAAIW,2BAAsD;;AAE1D;AACA;AACA;AACA,OAAO,MAAMC,8BAA8B,GAAIC,QAAuB,IAAK;EACzEF,2BAA2B,GAAGE,QAAQ;AACxC,CAAC;AAED,OAAO,MAAMC,gBAAgB,GAAGA,CAAA,KAAMH,2BAA2B","ignoreList":[]}
|
|
@@ -13,7 +13,8 @@ export type IconProps<T> = TextProps & {
|
|
|
13
13
|
color?: TextStyle['color'];
|
|
14
14
|
innerRef?: Ref<Text>;
|
|
15
15
|
};
|
|
16
|
-
|
|
16
|
+
type GlyphMap = Record<string, number | string>;
|
|
17
|
+
export type IconComponent<GM extends GlyphMap> = React.FC<TextProps & {
|
|
17
18
|
name: keyof GM;
|
|
18
19
|
size?: number;
|
|
19
20
|
color?: TextStyle['color'];
|
|
@@ -28,7 +29,7 @@ export type CreateIconSetOptions = {
|
|
|
28
29
|
fontSource?: FontSource;
|
|
29
30
|
fontStyle?: TextProps['style'];
|
|
30
31
|
};
|
|
31
|
-
export declare function createIconSet<GM extends
|
|
32
|
-
export declare function createIconSet<GM extends
|
|
32
|
+
export declare function createIconSet<GM extends GlyphMap>(glyphMap: GM, postScriptName: string, fontFileName: string, fontStyle?: TextProps['style']): IconComponent<GM>;
|
|
33
|
+
export declare function createIconSet<GM extends GlyphMap>(glyphMap: GM, options: CreateIconSetOptions): IconComponent<GM>;
|
|
33
34
|
export {};
|
|
34
35
|
//# sourceMappingURL=create-icon-set.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-icon-set.d.ts","sourceRoot":"","sources":["../../../../src/create-icon-set.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAc,KAAK,GAAG,EAAa,MAAM,OAAO,CAAC;AAE/D,OAAO,EAAY,IAAI,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAM9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGzD,KAAK,SAAS,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAChD,KAAK,0BAA0B,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC;AACrH,KAAK,sBAAsB,CAAC,EAAE,IAAI,CAChC,IAAI,EAAE,EAAE,EACR,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,KACvB,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;AAEpC,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,SAAS,GAAG;IACrC,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3B,QAAQ,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;CACtB,CAAC;AAEF,
|
|
1
|
+
{"version":3,"file":"create-icon-set.d.ts","sourceRoot":"","sources":["../../../../src/create-icon-set.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAc,KAAK,GAAG,EAAa,MAAM,OAAO,CAAC;AAE/D,OAAO,EAAY,IAAI,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAM9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGzD,KAAK,SAAS,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAChD,KAAK,0BAA0B,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC;AACrH,KAAK,sBAAsB,CAAC,EAAE,IAAI,CAChC,IAAI,EAAE,EAAE,EACR,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,KACvB,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;AAEpC,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,SAAS,GAAG;IACrC,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3B,QAAQ,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;CACtB,CAAC;AAEF,KAAK,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;AAEhD,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,QAAQ,IAAI,KAAK,CAAC,EAAE,CACvD,SAAS,GAAG;IACV,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3B,QAAQ,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;CACtB,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAC9B,GAAG;IACF,cAAc,EAAE,sBAAsB,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,kBAAkB,EAAE,0BAA0B,CAAC,MAAM,EAAE,CAAC,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAAE,SAAS,QAAQ,EAC/C,QAAQ,EAAE,EAAE,EACZ,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,GAC7B,aAAa,CAAC,EAAE,CAAC,CAAC;AACrB,wBAAgB,aAAa,CAAC,EAAE,SAAS,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-loading-setting.d.ts","sourceRoot":"","sources":["../../../../../src/dynamicLoading/dynamic-loading-setting.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,KAAK,eAAe,GAAG;IAGrB,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACzF,CAAC;AAGF,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE,KAAK,oBAAoB,GAAG;IAG1B,cAAc,EAAE,MAAM,MAAM,EAAE,CAAC;IAC/B,SAAS,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9E,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,kBAAkB,EAAE,CAClB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;QACP,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,KACE,OAAO,CAAC,MAAM,CAAC,CAAC;CACtB,CAAC;AAEF,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,UAAU;QAClB,OAAO,EAAE;YACP,SAAS,CAAC,EAAE,eAAe,CAAC;YAC5B,cAAc,CAAC,EAAE,oBAAoB,CAAC;YACtC,aAAa,CAAC,EAAE,mBAAmB,CAAC;SACrC,CAAC;KACH;IAGD,IAAI,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;CAClC;AAED,KAAK,cAAc,GAAG;IACpB,OAAO,EAAE;QACP,SAAS,EAAE,eAAe,CAAC;QAC3B,cAAc,EAAE,oBAAoB,CAAC;KACtC,CAAC;CACH,CAAC;AAeF,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,GAAG,GAAG,SAAS,IAAI;IACxE,IAAI,EAAE;QACJ,OAAO,EAAE;YACP,aAAa,EAAE,mBAAmB,CAAC;SACpC,CAAC;KACH,CAAC;CACH,CAEA;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,IAAI;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAI1G;
|
|
1
|
+
{"version":3,"file":"dynamic-loading-setting.d.ts","sourceRoot":"","sources":["../../../../../src/dynamicLoading/dynamic-loading-setting.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,KAAK,eAAe,GAAG;IAGrB,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACzF,CAAC;AAGF,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE,KAAK,oBAAoB,GAAG;IAG1B,cAAc,EAAE,MAAM,MAAM,EAAE,CAAC;IAC/B,SAAS,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9E,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,kBAAkB,EAAE,CAClB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;QACP,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,KACE,OAAO,CAAC,MAAM,CAAC,CAAC;CACtB,CAAC;AAEF,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,UAAU;QAClB,OAAO,EAAE;YACP,SAAS,CAAC,EAAE,eAAe,CAAC;YAC5B,cAAc,CAAC,EAAE,oBAAoB,CAAC;YACtC,aAAa,CAAC,EAAE,mBAAmB,CAAC;SACrC,CAAC;KACH;IAGD,IAAI,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;CAClC;AAED,KAAK,cAAc,GAAG;IACpB,OAAO,EAAE;QACP,SAAS,EAAE,eAAe,CAAC;QAC3B,cAAc,EAAE,oBAAoB,CAAC;KACtC,CAAC;CACH,CAAC;AAeF,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,GAAG,GAAG,SAAS,IAAI;IACxE,IAAI,EAAE;QACJ,OAAO,EAAE;YACP,aAAa,EAAE,mBAAmB,CAAC;SACpC,CAAC;KACH,CAAC;CACH,CAEA;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,IAAI;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAI1G;AAQD,eAAO,MAAM,yBAAyB,eAAiD,CAAC;AAExF;;;;;;;KAOK;AACL,eAAO,MAAM,wBAAwB,GAAI,OAAO,OAAO,KAAG,OAgBzD,CAAC;AAEF;;KAEK;AACL,eAAO,MAAM,uBAAuB,QAAO,OAC6B,CAAC;AAEzE,KAAK,aAAa,GAAG,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,KAAK,IAAI,CAAC;AAIlG;;KAEK;AACL,eAAO,MAAM,8BAA8B,GAAI,UAAU,aAAa,SAErE,CAAC;AAEF,eAAO,MAAM,gBAAgB,iCAAoC,CAAC"}
|
|
@@ -13,7 +13,8 @@ export type IconProps<T> = TextProps & {
|
|
|
13
13
|
color?: TextStyle['color'];
|
|
14
14
|
innerRef?: Ref<Text>;
|
|
15
15
|
};
|
|
16
|
-
|
|
16
|
+
type GlyphMap = Record<string, number | string>;
|
|
17
|
+
export type IconComponent<GM extends GlyphMap> = React.FC<TextProps & {
|
|
17
18
|
name: keyof GM;
|
|
18
19
|
size?: number;
|
|
19
20
|
color?: TextStyle['color'];
|
|
@@ -28,7 +29,7 @@ export type CreateIconSetOptions = {
|
|
|
28
29
|
fontSource?: FontSource;
|
|
29
30
|
fontStyle?: TextProps['style'];
|
|
30
31
|
};
|
|
31
|
-
export declare function createIconSet<GM extends
|
|
32
|
-
export declare function createIconSet<GM extends
|
|
32
|
+
export declare function createIconSet<GM extends GlyphMap>(glyphMap: GM, postScriptName: string, fontFileName: string, fontStyle?: TextProps['style']): IconComponent<GM>;
|
|
33
|
+
export declare function createIconSet<GM extends GlyphMap>(glyphMap: GM, options: CreateIconSetOptions): IconComponent<GM>;
|
|
33
34
|
export {};
|
|
34
35
|
//# sourceMappingURL=create-icon-set.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-icon-set.d.ts","sourceRoot":"","sources":["../../../../src/create-icon-set.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAc,KAAK,GAAG,EAAa,MAAM,OAAO,CAAC;AAE/D,OAAO,EAAY,IAAI,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAM9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGzD,KAAK,SAAS,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAChD,KAAK,0BAA0B,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC;AACrH,KAAK,sBAAsB,CAAC,EAAE,IAAI,CAChC,IAAI,EAAE,EAAE,EACR,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,KACvB,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;AAEpC,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,SAAS,GAAG;IACrC,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3B,QAAQ,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;CACtB,CAAC;AAEF,
|
|
1
|
+
{"version":3,"file":"create-icon-set.d.ts","sourceRoot":"","sources":["../../../../src/create-icon-set.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAc,KAAK,GAAG,EAAa,MAAM,OAAO,CAAC;AAE/D,OAAO,EAAY,IAAI,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAM9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGzD,KAAK,SAAS,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAChD,KAAK,0BAA0B,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC;AACrH,KAAK,sBAAsB,CAAC,EAAE,IAAI,CAChC,IAAI,EAAE,EAAE,EACR,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,KACvB,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;AAEpC,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,SAAS,GAAG;IACrC,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3B,QAAQ,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;CACtB,CAAC;AAEF,KAAK,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;AAEhD,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,QAAQ,IAAI,KAAK,CAAC,EAAE,CACvD,SAAS,GAAG;IACV,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3B,QAAQ,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;CACtB,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAC9B,GAAG;IACF,cAAc,EAAE,sBAAsB,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,kBAAkB,EAAE,0BAA0B,CAAC,MAAM,EAAE,CAAC,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAAE,SAAS,QAAQ,EAC/C,QAAQ,EAAE,EAAE,EACZ,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,GAC7B,aAAa,CAAC,EAAE,CAAC,CAAC;AACrB,wBAAgB,aAAa,CAAC,EAAE,SAAS,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-loading-setting.d.ts","sourceRoot":"","sources":["../../../../../src/dynamicLoading/dynamic-loading-setting.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,KAAK,eAAe,GAAG;IAGrB,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACzF,CAAC;AAGF,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE,KAAK,oBAAoB,GAAG;IAG1B,cAAc,EAAE,MAAM,MAAM,EAAE,CAAC;IAC/B,SAAS,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9E,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,kBAAkB,EAAE,CAClB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;QACP,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,KACE,OAAO,CAAC,MAAM,CAAC,CAAC;CACtB,CAAC;AAEF,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,UAAU;QAClB,OAAO,EAAE;YACP,SAAS,CAAC,EAAE,eAAe,CAAC;YAC5B,cAAc,CAAC,EAAE,oBAAoB,CAAC;YACtC,aAAa,CAAC,EAAE,mBAAmB,CAAC;SACrC,CAAC;KACH;IAGD,IAAI,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;CAClC;AAED,KAAK,cAAc,GAAG;IACpB,OAAO,EAAE;QACP,SAAS,EAAE,eAAe,CAAC;QAC3B,cAAc,EAAE,oBAAoB,CAAC;KACtC,CAAC;CACH,CAAC;AAeF,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,GAAG,GAAG,SAAS,IAAI;IACxE,IAAI,EAAE;QACJ,OAAO,EAAE;YACP,aAAa,EAAE,mBAAmB,CAAC;SACpC,CAAC;KACH,CAAC;CACH,CAEA;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,IAAI;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAI1G;
|
|
1
|
+
{"version":3,"file":"dynamic-loading-setting.d.ts","sourceRoot":"","sources":["../../../../../src/dynamicLoading/dynamic-loading-setting.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,KAAK,eAAe,GAAG;IAGrB,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACzF,CAAC;AAGF,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE,KAAK,oBAAoB,GAAG;IAG1B,cAAc,EAAE,MAAM,MAAM,EAAE,CAAC;IAC/B,SAAS,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9E,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,kBAAkB,EAAE,CAClB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;QACP,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,KACE,OAAO,CAAC,MAAM,CAAC,CAAC;CACtB,CAAC;AAEF,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,UAAU;QAClB,OAAO,EAAE;YACP,SAAS,CAAC,EAAE,eAAe,CAAC;YAC5B,cAAc,CAAC,EAAE,oBAAoB,CAAC;YACtC,aAAa,CAAC,EAAE,mBAAmB,CAAC;SACrC,CAAC;KACH;IAGD,IAAI,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;CAClC;AAED,KAAK,cAAc,GAAG;IACpB,OAAO,EAAE;QACP,SAAS,EAAE,eAAe,CAAC;QAC3B,cAAc,EAAE,oBAAoB,CAAC;KACtC,CAAC;CACH,CAAC;AAeF,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,GAAG,GAAG,SAAS,IAAI;IACxE,IAAI,EAAE;QACJ,OAAO,EAAE;YACP,aAAa,EAAE,mBAAmB,CAAC;SACpC,CAAC;KACH,CAAC;CACH,CAEA;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,IAAI;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAI1G;AAQD,eAAO,MAAM,yBAAyB,eAAiD,CAAC;AAExF;;;;;;;KAOK;AACL,eAAO,MAAM,wBAAwB,GAAI,OAAO,OAAO,KAAG,OAgBzD,CAAC;AAEF;;KAEK;AACL,eAAO,MAAM,uBAAuB,QAAO,OAC6B,CAAC;AAEzE,KAAK,aAAa,GAAG,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,KAAK,IAAI,CAAC;AAIlG;;KAEK;AACL,eAAO,MAAM,8BAA8B,GAAI,UAAU,aAAa,SAErE,CAAC;AAEF,eAAO,MAAM,gBAAgB,iCAAoC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-native-vector-icons/common",
|
|
3
|
-
"version": "12.
|
|
3
|
+
"version": "12.4.1",
|
|
4
4
|
"description": "Customizable Icons for React Native with support for image source and full styling.",
|
|
5
5
|
"source": "./src/index.ts",
|
|
6
6
|
"main": "./lib/commonjs/index.js",
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
"peerDependencies": {
|
|
86
86
|
"react": "*",
|
|
87
87
|
"react-native": "*",
|
|
88
|
-
"@react-native-vector-icons/get-image": "^12.
|
|
88
|
+
"@react-native-vector-icons/get-image": "^12.3.0"
|
|
89
89
|
},
|
|
90
90
|
"peerDependenciesMeta": {
|
|
91
91
|
"@react-native-vector-icons/get-image": {
|
package/src/create-icon-set.tsx
CHANGED
|
@@ -25,7 +25,9 @@ export type IconProps<T> = TextProps & {
|
|
|
25
25
|
innerRef?: Ref<Text>;
|
|
26
26
|
};
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
type GlyphMap = Record<string, number | string>;
|
|
29
|
+
|
|
30
|
+
export type IconComponent<GM extends GlyphMap> = React.FC<
|
|
29
31
|
TextProps & {
|
|
30
32
|
name: keyof GM;
|
|
31
33
|
size?: number;
|
|
@@ -44,17 +46,14 @@ export type CreateIconSetOptions = {
|
|
|
44
46
|
fontStyle?: TextProps['style'];
|
|
45
47
|
};
|
|
46
48
|
|
|
47
|
-
export function createIconSet<GM extends
|
|
49
|
+
export function createIconSet<GM extends GlyphMap>(
|
|
48
50
|
glyphMap: GM,
|
|
49
51
|
postScriptName: string,
|
|
50
52
|
fontFileName: string,
|
|
51
53
|
fontStyle?: TextProps['style'],
|
|
52
54
|
): IconComponent<GM>;
|
|
53
|
-
export function createIconSet<GM extends
|
|
54
|
-
|
|
55
|
-
options: CreateIconSetOptions,
|
|
56
|
-
): IconComponent<GM>;
|
|
57
|
-
export function createIconSet<GM extends Record<string, number>>(
|
|
55
|
+
export function createIconSet<GM extends GlyphMap>(glyphMap: GM, options: CreateIconSetOptions): IconComponent<GM>;
|
|
56
|
+
export function createIconSet<GM extends GlyphMap>(
|
|
58
57
|
glyphMap: GM,
|
|
59
58
|
postScriptNameOrOptions: string | CreateIconSetOptions,
|
|
60
59
|
fontFileNameParam?: string,
|
|
@@ -83,14 +82,14 @@ export function createIconSet<GM extends Record<string, number>>(
|
|
|
83
82
|
fontStyle: 'normal',
|
|
84
83
|
};
|
|
85
84
|
|
|
86
|
-
const resolveGlyph = (name: keyof GM) => {
|
|
87
|
-
const glyph = glyphMap[name];
|
|
85
|
+
const resolveGlyph = (name: keyof GM): string => {
|
|
86
|
+
const glyph = glyphMap[name] || '?';
|
|
88
87
|
|
|
89
88
|
if (typeof glyph === 'number') {
|
|
90
89
|
return String.fromCodePoint(glyph);
|
|
91
90
|
}
|
|
92
91
|
|
|
93
|
-
return
|
|
92
|
+
return glyph;
|
|
94
93
|
};
|
|
95
94
|
|
|
96
95
|
const Icon = ({
|
|
@@ -78,14 +78,13 @@ export function assertExpoModulesPresent(globalObj: unknown): asserts globalObj
|
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
-
|
|
82
|
-
|
|
81
|
+
// Detection of Expo modules is deferred to first use so that import order
|
|
82
|
+
// doesn't matter. By the time a component renders, all imports (including Expo)
|
|
83
|
+
// have been evaluated and globalThis.expo is available.
|
|
83
84
|
|
|
84
|
-
|
|
85
|
+
let dynamicFontLoadingOverride: boolean | null = null;
|
|
85
86
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
export const isDynamicLoadingSupported = () => hasNecessaryExpoFeatures;
|
|
87
|
+
export const isDynamicLoadingSupported = () => getIsDynamicLoadingSupported(globalThis);
|
|
89
88
|
|
|
90
89
|
/**
|
|
91
90
|
* Set whether dynamic loading of fonts is enabled.
|
|
@@ -96,8 +95,10 @@ export const isDynamicLoadingSupported = () => hasNecessaryExpoFeatures;
|
|
|
96
95
|
* @returns `true` if dynamic loading of fonts was successfully set. `false` otherwise.
|
|
97
96
|
* */
|
|
98
97
|
export const setDynamicLoadingEnabled = (value: boolean): boolean => {
|
|
99
|
-
if (!
|
|
98
|
+
if (!getIsDynamicLoadingSupported(globalThis)) {
|
|
100
99
|
if (process.env.NODE_ENV !== 'production' && !!value) {
|
|
100
|
+
const hasNecessaryExpoModules =
|
|
101
|
+
(Platform.OS === 'web' || !!globalThis.expo?.modules?.ExpoAsset) && !!globalThis.expo?.modules?.ExpoFontLoader;
|
|
101
102
|
const message = hasNecessaryExpoModules
|
|
102
103
|
? 'Expo is installed, but does not support dynamic font loading. Make sure to use Expo SDK 54 or newer.'
|
|
103
104
|
: 'Necessary Expo modules not found. Dynamic font loading is not available when necessary Expo modules are not present.';
|
|
@@ -106,7 +107,7 @@ export const setDynamicLoadingEnabled = (value: boolean): boolean => {
|
|
|
106
107
|
return false;
|
|
107
108
|
}
|
|
108
109
|
|
|
109
|
-
|
|
110
|
+
dynamicFontLoadingOverride = !!value;
|
|
110
111
|
|
|
111
112
|
return true;
|
|
112
113
|
};
|
|
@@ -114,7 +115,8 @@ export const setDynamicLoadingEnabled = (value: boolean): boolean => {
|
|
|
114
115
|
/**
|
|
115
116
|
* Whether dynamic loading of fonts is enabled.
|
|
116
117
|
* */
|
|
117
|
-
export const isDynamicLoadingEnabled = () =>
|
|
118
|
+
export const isDynamicLoadingEnabled = (): boolean =>
|
|
119
|
+
dynamicFontLoadingOverride ?? getIsDynamicLoadingSupported(globalThis);
|
|
118
120
|
|
|
119
121
|
type ErrorCallback = (args: { error: Error; fontFamily: string; fontSource: FontSource }) => void;
|
|
120
122
|
|