@react-native-vector-icons/common 0.0.1-alpha.20 → 0.0.1-alpha.23
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/LICENSE +1 -2
- package/README.md +40 -182
- package/android/build.gradle +36 -2
- package/android/generated/java/com/reactnativevectoricons/common/NativeVectorIconsSpec.java +42 -0
- package/android/generated/jni/CMakeLists.txt +49 -0
- package/android/generated/jni/RNVectorIconsSpec-generated.cpp +38 -0
- package/android/generated/jni/RNVectorIconsSpec.h +31 -0
- package/android/generated/jni/react/renderer/components/RNVectorIconsSpec/ComponentDescriptors.cpp +22 -0
- package/android/generated/jni/react/renderer/components/RNVectorIconsSpec/ComponentDescriptors.h +24 -0
- package/android/generated/jni/react/renderer/components/RNVectorIconsSpec/EventEmitters.cpp +16 -0
- package/android/generated/jni/react/renderer/components/RNVectorIconsSpec/EventEmitters.h +17 -0
- package/android/generated/jni/react/renderer/components/RNVectorIconsSpec/Props.cpp +19 -0
- package/android/generated/jni/react/renderer/components/RNVectorIconsSpec/Props.h +18 -0
- package/android/generated/jni/react/renderer/components/RNVectorIconsSpec/RNVectorIconsSpecJSI-generated.cpp +40 -0
- package/android/generated/jni/react/renderer/components/RNVectorIconsSpec/RNVectorIconsSpecJSI.h +76 -0
- package/android/generated/jni/react/renderer/components/RNVectorIconsSpec/ShadowNodes.cpp +17 -0
- package/android/generated/jni/react/renderer/components/RNVectorIconsSpec/ShadowNodes.h +23 -0
- package/android/generated/jni/react/renderer/components/RNVectorIconsSpec/States.cpp +16 -0
- package/android/generated/jni/react/renderer/components/RNVectorIconsSpec/States.h +19 -0
- package/android/src/main/AndroidManifestNew.xml +1 -1
- package/android/src/main/java/com/reactnativevectoricons/common/VectorIconsModule.kt +90 -0
- package/android/src/main/java/com/reactnativevectoricons/common/VectorIconsPackage.kt +35 -0
- package/android/src/newarch/VectorIconsSpec.kt +7 -0
- package/android/src/oldarch/VectorIconsSpec.kt +38 -0
- package/ios/VectorIcons.h +13 -17
- package/ios/VectorIcons.mm +21 -51
- package/ios/generated/RNVectorIconsSpec/ComponentDescriptors.cpp +22 -0
- package/ios/generated/RNVectorIconsSpec/ComponentDescriptors.h +24 -0
- package/ios/generated/RNVectorIconsSpec/EventEmitters.cpp +16 -0
- package/ios/generated/RNVectorIconsSpec/EventEmitters.h +17 -0
- package/ios/generated/RNVectorIconsSpec/Props.cpp +19 -0
- package/ios/generated/RNVectorIconsSpec/Props.h +18 -0
- package/ios/generated/RNVectorIconsSpec/RCTComponentViewHelpers.h +18 -0
- package/ios/generated/RNVectorIconsSpec/RNVectorIconsSpec-generated.mm +36 -0
- package/ios/generated/RNVectorIconsSpec/RNVectorIconsSpec.h +58 -0
- package/ios/generated/RNVectorIconsSpec/ShadowNodes.cpp +17 -0
- package/ios/generated/RNVectorIconsSpec/ShadowNodes.h +23 -0
- package/ios/generated/RNVectorIconsSpec/States.cpp +16 -0
- package/ios/generated/RNVectorIconsSpec/States.h +19 -0
- package/ios/generated/RNVectorIconsSpecJSI-generated.cpp +40 -0
- package/ios/generated/RNVectorIconsSpecJSI.h +76 -0
- package/lib/commonjs/NativeVectorIcons.js.map +1 -1
- package/lib/commonjs/create-icon-set.js +48 -19
- package/lib/commonjs/create-icon-set.js.map +1 -1
- package/lib/commonjs/dynamicLoading/dynamic-font-loading.js +92 -0
- package/lib/commonjs/dynamicLoading/dynamic-font-loading.js.map +1 -0
- package/lib/commonjs/dynamicLoading/dynamic-font-loading.web.js +20 -0
- package/lib/commonjs/dynamicLoading/dynamic-font-loading.web.js.map +1 -0
- package/lib/commonjs/dynamicLoading/dynamic-loading-setting.js +50 -0
- package/lib/commonjs/dynamicLoading/dynamic-loading-setting.js.map +1 -0
- package/lib/commonjs/dynamicLoading/types.js +2 -0
- package/lib/commonjs/dynamicLoading/types.js.map +1 -0
- package/lib/commonjs/index.js +57 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/scripts/getFonts.js +1 -1
- package/lib/commonjs/scripts/updatePlist.js +1 -1
- package/lib/module/NativeVectorIcons.js +2 -0
- package/lib/module/NativeVectorIcons.js.map +1 -1
- package/lib/module/NativeVectorIcons.web.js +2 -0
- package/lib/module/NativeVectorIcons.web.js.map +1 -1
- package/lib/module/create-icon-set.js +49 -18
- package/lib/module/create-icon-set.js.map +1 -1
- package/lib/module/create-icon-source-cache.js +2 -0
- package/lib/module/create-icon-source-cache.js.map +1 -1
- package/lib/module/dynamicLoading/dynamic-font-loading.js +85 -0
- package/lib/module/dynamicLoading/dynamic-font-loading.js.map +1 -0
- package/lib/module/dynamicLoading/dynamic-font-loading.web.js +16 -0
- package/lib/module/dynamicLoading/dynamic-font-loading.web.js.map +1 -0
- package/lib/module/dynamicLoading/dynamic-loading-setting.js +41 -0
- package/lib/module/dynamicLoading/dynamic-loading-setting.js.map +1 -0
- package/lib/module/dynamicLoading/types.js +2 -0
- package/lib/module/dynamicLoading/types.js.map +1 -0
- package/lib/module/ensure-native-module-available.js +2 -0
- package/lib/module/ensure-native-module-available.js.map +1 -1
- package/lib/module/index.js +33 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/scripts/common.js +2 -0
- package/lib/module/scripts/common.js.map +1 -1
- package/lib/module/scripts/getFonts.js +3 -1
- package/lib/module/scripts/getFonts.js.map +1 -1
- package/lib/module/scripts/updatePlist.js +3 -1
- package/lib/module/scripts/updatePlist.js.map +1 -1
- package/lib/typescript/commonjs/package.json +1 -0
- package/lib/typescript/commonjs/src/NativeVectorIcons.d.ts +8 -0
- package/lib/typescript/commonjs/src/NativeVectorIcons.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/NativeVectorIcons.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/create-icon-set.d.ts +36 -0
- package/lib/typescript/commonjs/src/create-icon-set.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/create-icon-source-cache.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/dynamicLoading/dynamic-font-loading.d.ts +3 -0
- package/lib/typescript/commonjs/src/dynamicLoading/dynamic-font-loading.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/dynamicLoading/dynamic-font-loading.web.d.ts +6 -0
- package/lib/typescript/commonjs/src/dynamicLoading/dynamic-font-loading.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/dynamicLoading/dynamic-loading-setting.d.ts +41 -0
- package/lib/typescript/commonjs/src/dynamicLoading/dynamic-loading-setting.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/dynamicLoading/types.d.ts +9 -0
- package/lib/typescript/commonjs/src/dynamicLoading/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/ensure-native-module-available.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/index.d.ts +6 -0
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/scripts/common.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/scripts/getFonts.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/scripts/updatePlist.d.ts.map +1 -0
- package/lib/typescript/module/package.json +1 -0
- package/lib/typescript/module/src/NativeVectorIcons.d.ts +8 -0
- package/lib/typescript/module/src/NativeVectorIcons.d.ts.map +1 -0
- package/lib/typescript/module/src/NativeVectorIcons.web.d.ts +3 -0
- package/lib/typescript/module/src/NativeVectorIcons.web.d.ts.map +1 -0
- package/lib/typescript/module/src/create-icon-set.d.ts +36 -0
- package/lib/typescript/module/src/create-icon-set.d.ts.map +1 -0
- package/lib/typescript/module/src/create-icon-source-cache.d.ts +21 -0
- package/lib/typescript/module/src/create-icon-source-cache.d.ts.map +1 -0
- package/lib/typescript/module/src/dynamicLoading/dynamic-font-loading.d.ts +3 -0
- package/lib/typescript/module/src/dynamicLoading/dynamic-font-loading.d.ts.map +1 -0
- package/lib/typescript/module/src/dynamicLoading/dynamic-font-loading.web.d.ts +6 -0
- package/lib/typescript/module/src/dynamicLoading/dynamic-font-loading.web.d.ts.map +1 -0
- package/lib/typescript/module/src/dynamicLoading/dynamic-loading-setting.d.ts +41 -0
- package/lib/typescript/module/src/dynamicLoading/dynamic-loading-setting.d.ts.map +1 -0
- package/lib/typescript/module/src/dynamicLoading/types.d.ts +9 -0
- package/lib/typescript/module/src/dynamicLoading/types.d.ts.map +1 -0
- package/lib/typescript/module/src/ensure-native-module-available.d.ts +2 -0
- package/lib/typescript/module/src/ensure-native-module-available.d.ts.map +1 -0
- package/lib/typescript/module/src/index.d.ts +6 -0
- package/lib/typescript/module/src/index.d.ts.map +1 -0
- package/lib/typescript/module/src/scripts/common.d.ts +2 -0
- package/lib/typescript/module/src/scripts/common.d.ts.map +1 -0
- package/lib/typescript/module/src/scripts/getFonts.d.ts +3 -0
- package/lib/typescript/module/src/scripts/getFonts.d.ts.map +1 -0
- package/lib/typescript/module/src/scripts/updatePlist.d.ts +3 -0
- package/lib/typescript/module/src/scripts/updatePlist.d.ts.map +1 -0
- package/package.json +66 -43
- package/react-native-vector-icons.podspec +26 -26
- package/react-native.config.js +12 -0
- package/src/NativeVectorIcons.ts +2 -4
- package/src/create-icon-set.tsx +79 -12
- package/src/dynamicLoading/dynamic-font-loading.ts +97 -0
- package/src/dynamicLoading/dynamic-font-loading.web.ts +15 -0
- package/src/dynamicLoading/dynamic-loading-setting.ts +77 -0
- package/src/dynamicLoading/types.ts +10 -0
- package/src/index.ts +48 -1
- package/src/scripts/getFonts.ts +1 -1
- package/android/src/main/java/com/reactnativevectoricons/common/VectorIconsModule.java +0 -121
- package/android/src/main/java/com/reactnativevectoricons/common/VectorIconsPackage.java +0 -45
- package/android/src/newarch/VectorIconsSpec.java +0 -9
- package/android/src/oldarch/VectorIconsSpec.java +0 -18
- package/lib/typescript/src/NativeVectorIcons.d.ts +0 -9
- package/lib/typescript/src/NativeVectorIcons.d.ts.map +0 -1
- package/lib/typescript/src/NativeVectorIcons.web.d.ts.map +0 -1
- package/lib/typescript/src/create-icon-set.d.ts +0 -26
- package/lib/typescript/src/create-icon-set.d.ts.map +0 -1
- package/lib/typescript/src/create-icon-source-cache.d.ts.map +0 -1
- package/lib/typescript/src/ensure-native-module-available.d.ts.map +0 -1
- package/lib/typescript/src/index.d.ts +0 -3
- package/lib/typescript/src/index.d.ts.map +0 -1
- package/lib/typescript/src/scripts/common.d.ts.map +0 -1
- package/lib/typescript/src/scripts/getFonts.d.ts.map +0 -1
- package/lib/typescript/src/scripts/updatePlist.d.ts.map +0 -1
- /package/lib/typescript/{src → commonjs/src}/NativeVectorIcons.web.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/create-icon-source-cache.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/ensure-native-module-available.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/scripts/common.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/scripts/getFonts.d.ts +0 -0
- /package/lib/typescript/{src → commonjs/src}/scripts/updatePlist.d.ts +0 -0
package/lib/commonjs/index.js
CHANGED
|
@@ -21,5 +21,61 @@ Object.defineProperty(exports, "createIconSet", {
|
|
|
21
21
|
return _createIconSet.createIconSet;
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
|
-
|
|
24
|
+
exports.getImageForFont = getImageForFont;
|
|
25
|
+
exports.getImageForFontSync = getImageForFontSync;
|
|
26
|
+
Object.defineProperty(exports, "isDynamicLoadingEnabled", {
|
|
27
|
+
enumerable: true,
|
|
28
|
+
get: function () {
|
|
29
|
+
return _dynamicLoadingSetting.isDynamicLoadingEnabled;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
Object.defineProperty(exports, "isDynamicLoadingSupported", {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function () {
|
|
35
|
+
return _dynamicLoadingSetting.isDynamicLoadingSupported;
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
Object.defineProperty(exports, "setDynamicLoadingEnabled", {
|
|
39
|
+
enumerable: true,
|
|
40
|
+
get: function () {
|
|
41
|
+
return _dynamicLoadingSetting.setDynamicLoadingEnabled;
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
Object.defineProperty(exports, "setDynamicLoadingErrorCallback", {
|
|
45
|
+
enumerable: true,
|
|
46
|
+
get: function () {
|
|
47
|
+
return _dynamicLoadingSetting.setDynamicLoadingErrorCallback;
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
var _reactNative = require("react-native");
|
|
51
|
+
var _createIconSet = require("./create-icon-set.js");
|
|
52
|
+
var _dynamicLoadingSetting = require("./dynamicLoading/dynamic-loading-setting.js");
|
|
53
|
+
const LINKING_ERROR = `
|
|
54
|
+
The package '@react-native-vector-icons/common' doesn't seem to be linked. Make sure:
|
|
55
|
+
${_reactNative.Platform.select({
|
|
56
|
+
ios: "- You have run 'pod install'\n",
|
|
57
|
+
default: ''
|
|
58
|
+
})}
|
|
59
|
+
- You rebuilt the app after installing the package\n'
|
|
60
|
+
- You are not using Expo Go
|
|
61
|
+
`;
|
|
62
|
+
|
|
63
|
+
// @ts-expect-error : NativeModules type is incomplete
|
|
64
|
+
const isTurboModuleEnabled = global.__turboModuleProxy != null; // eslint-disable-line no-underscore-dangle
|
|
65
|
+
|
|
66
|
+
const VectorIconsModule = isTurboModuleEnabled ? require('./NativeVectorIcons').default // eslint-disable-line @typescript-eslint/no-require-imports
|
|
67
|
+
: _reactNative.NativeModules.VectorIcons;
|
|
68
|
+
const VectorIcons = VectorIconsModule ? VectorIconsModule : new Proxy({}, {
|
|
69
|
+
get() {
|
|
70
|
+
throw new Error(LINKING_ERROR);
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
// TODO: Do we want to expose this as a public API?
|
|
75
|
+
function getImageForFont(fontFamilyName, glyph, fontSize, color) {
|
|
76
|
+
return VectorIcons.getImageForFont(fontFamilyName, glyph, fontSize, color);
|
|
77
|
+
}
|
|
78
|
+
function getImageForFontSync(fontFamilyName, glyph, fontSize, color) {
|
|
79
|
+
return VectorIcons.getImageForFontSync(fontFamilyName, glyph, fontSize, color);
|
|
80
|
+
}
|
|
25
81
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_createIconSet","_dynamicLoadingSetting","LINKING_ERROR","Platform","select","ios","default","isTurboModuleEnabled","global","__turboModuleProxy","VectorIconsModule","NativeModules","VectorIcons","Proxy","get","Error","getImageForFont","fontFamilyName","glyph","fontSize","color","getImageForFontSync"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,cAAA,GAAAD,OAAA;AAEA,IAAAE,sBAAA,GAAAF,OAAA;AAOA,MAAMG,aAAa,GAAG;AACtB;AACA,MAAMC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC;AAC7E;AACA;AACA,GAAG;;AAEH;AACA,MAAMC,oBAAoB,GAAGC,MAAM,CAACC,kBAAkB,IAAI,IAAI,CAAC,CAAC;;AAEhE,MAAMC,iBAAiB,GAAGH,oBAAoB,GAC1CR,OAAO,CAAC,qBAAqB,CAAC,CAACO,OAAO,CAAC;AAAA,EACvCK,0BAAa,CAACC,WAAW;AAE7B,MAAMA,WAAW,GAAGF,iBAAiB,GACjCA,iBAAiB,GACjB,IAAIG,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACb,aAAa,CAAC;EAChC;AACF,CACF,CAAC;;AAEL;AACO,SAASc,eAAeA,CAC7BC,cAAsB,EACtBC,KAAa,EACbC,QAAgB,EAChBC,KAAa,EACI;EACjB,OAAOR,WAAW,CAACI,eAAe,CAACC,cAAc,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,KAAK,CAAC;AAC5E;AAEO,SAASC,mBAAmBA,CAACJ,cAAsB,EAAEC,KAAa,EAAEC,QAAgB,EAAEC,KAAa,EAAU;EAClH,OAAOR,WAAW,CAACS,mBAAmB,CAACJ,cAAc,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,KAAK,CAAC;AAChF","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
3
|
|
|
4
|
-
var _common = require("./common");
|
|
4
|
+
var _common = require("./common.js");
|
|
5
5
|
const packageJsonFilename = process.argv[2];
|
|
6
6
|
if (!packageJsonFilename) {
|
|
7
7
|
throw new Error('Need the path to the roo package.json as the first argument');
|
|
@@ -6,7 +6,7 @@ var _nodeFs = _interopRequireDefault(require("node:fs"));
|
|
|
6
6
|
var path = _interopRequireWildcard(require("node:path"));
|
|
7
7
|
var _picocolors = _interopRequireDefault(require("picocolors"));
|
|
8
8
|
var plist = _interopRequireWildcard(require("plist"));
|
|
9
|
-
var _common = require("./common");
|
|
9
|
+
var _common = require("./common.js");
|
|
10
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
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
12
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -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;AAQlD,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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["NativeVectorIcons.web.ts"],"mappings":";;AAAA,eAAe,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,19 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { forwardRef, useEffect } from 'react';
|
|
3
4
|
import { PixelRatio, Platform, Text, processColor } from 'react-native';
|
|
4
5
|
import NativeIconAPI from './NativeVectorIcons';
|
|
5
|
-
import createIconSourceCache from
|
|
6
|
-
import
|
|
6
|
+
import createIconSourceCache from "./create-icon-source-cache.js";
|
|
7
|
+
import { dynamicLoader } from './dynamicLoading/dynamic-font-loading';
|
|
8
|
+
import { isDynamicLoadingEnabled } from "./dynamicLoading/dynamic-loading-setting.js";
|
|
9
|
+
import ensureNativeModuleAvailable from "./ensure-native-module-available.js";
|
|
10
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
7
11
|
export const DEFAULT_ICON_SIZE = 12;
|
|
8
12
|
export const DEFAULT_ICON_COLOR = 'black';
|
|
9
|
-
export
|
|
10
|
-
|
|
11
|
-
|
|
13
|
+
export function createIconSet(glyphMap, postScriptNameOrOptions, fontFileNameParam, fontStyleParam) {
|
|
14
|
+
const {
|
|
15
|
+
postScriptName,
|
|
16
|
+
fontFileName,
|
|
17
|
+
fontStyle
|
|
18
|
+
} = typeof postScriptNameOrOptions === 'string' ? {
|
|
19
|
+
postScriptName: postScriptNameOrOptions,
|
|
20
|
+
fontFileName: fontFileNameParam,
|
|
21
|
+
fontStyle: fontStyleParam
|
|
22
|
+
} : postScriptNameOrOptions;
|
|
23
|
+
const fontBasename = fontFileName ? fontFileName.replace(/\.(otf|ttf)$/, '') : postScriptName;
|
|
12
24
|
const fontReference = Platform.select({
|
|
13
|
-
windows: `/Assets/${
|
|
25
|
+
windows: `/Assets/${fontFileName}#${postScriptName}`,
|
|
14
26
|
android: fontBasename,
|
|
15
27
|
web: fontBasename,
|
|
16
|
-
default:
|
|
28
|
+
default: postScriptName
|
|
17
29
|
});
|
|
18
30
|
const resolveGlyph = name => {
|
|
19
31
|
const glyph = glyphMap[name] || '?';
|
|
@@ -25,14 +37,30 @@ export const createIconSet = (glyphMap, fontFamily, fontFile, fontStyle) => {
|
|
|
25
37
|
const Icon = ({
|
|
26
38
|
name,
|
|
27
39
|
size = DEFAULT_ICON_SIZE,
|
|
28
|
-
color,
|
|
40
|
+
color = DEFAULT_ICON_COLOR,
|
|
29
41
|
style,
|
|
30
42
|
children,
|
|
31
43
|
allowFontScaling = false,
|
|
32
44
|
innerRef,
|
|
33
45
|
...props
|
|
34
46
|
}) => {
|
|
35
|
-
const
|
|
47
|
+
const [isFontLoaded, setIsFontLoaded] = React.useState(isDynamicLoadingEnabled() ? dynamicLoader.isLoaded(fontReference) : true);
|
|
48
|
+
const glyph = isFontLoaded && name ? resolveGlyph(name) : '';
|
|
49
|
+
|
|
50
|
+
// biome-ignore lint/correctness/useExhaustiveDependencies: the dependencies never change
|
|
51
|
+
useEffect(() => {
|
|
52
|
+
let isMounted = true;
|
|
53
|
+
if (!isFontLoaded && typeof postScriptNameOrOptions === 'object' && typeof postScriptNameOrOptions.fontSource !== 'undefined') {
|
|
54
|
+
dynamicLoader.loadFontAsync(fontReference, postScriptNameOrOptions.fontSource).finally(() => {
|
|
55
|
+
if (isMounted) {
|
|
56
|
+
setIsFontLoaded(true);
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
return () => {
|
|
61
|
+
isMounted = false;
|
|
62
|
+
};
|
|
63
|
+
}, []);
|
|
36
64
|
const styleDefaults = {
|
|
37
65
|
fontSize: size,
|
|
38
66
|
color
|
|
@@ -47,14 +75,17 @@ export const createIconSet = (glyphMap, fontFamily, fontFile, fontStyle) => {
|
|
|
47
75
|
style: [styleDefaults, style, styleOverrides, fontStyle || {}],
|
|
48
76
|
allowFontScaling
|
|
49
77
|
};
|
|
50
|
-
return /*#__PURE__*/
|
|
78
|
+
return /*#__PURE__*/_jsxs(Text, {
|
|
51
79
|
ref: innerRef,
|
|
52
|
-
selectable: false
|
|
53
|
-
|
|
80
|
+
selectable: false,
|
|
81
|
+
...newProps,
|
|
82
|
+
children: [glyph, children]
|
|
83
|
+
});
|
|
54
84
|
};
|
|
55
|
-
const WrappedIcon = /*#__PURE__*/forwardRef((props, ref) => /*#__PURE__*/
|
|
56
|
-
innerRef: ref
|
|
57
|
-
|
|
85
|
+
const WrappedIcon = /*#__PURE__*/forwardRef((props, ref) => /*#__PURE__*/_jsx(Icon, {
|
|
86
|
+
innerRef: ref,
|
|
87
|
+
...props
|
|
88
|
+
}));
|
|
58
89
|
WrappedIcon.displayName = 'Icon';
|
|
59
90
|
const imageSourceCache = createIconSourceCache();
|
|
60
91
|
const getImageSourceSync = (name, size = DEFAULT_ICON_SIZE, color = DEFAULT_ICON_COLOR) => {
|
|
@@ -108,5 +139,5 @@ export const createIconSet = (glyphMap, fontFamily, fontFile, fontStyle) => {
|
|
|
108
139
|
getImageSourceSync
|
|
109
140
|
});
|
|
110
141
|
return IconNamespace;
|
|
111
|
-
}
|
|
142
|
+
}
|
|
112
143
|
//# sourceMappingURL=create-icon-set.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","forwardRef","PixelRatio","Platform","Text","processColor","NativeIconAPI","createIconSourceCache","ensureNativeModuleAvailable","DEFAULT_ICON_SIZE","DEFAULT_ICON_COLOR","createIconSet","glyphMap","
|
|
1
|
+
{"version":3,"names":["React","forwardRef","useEffect","PixelRatio","Platform","Text","processColor","NativeIconAPI","createIconSourceCache","dynamicLoader","isDynamicLoadingEnabled","ensureNativeModuleAvailable","jsxs","_jsxs","jsx","_jsx","DEFAULT_ICON_SIZE","DEFAULT_ICON_COLOR","createIconSet","glyphMap","postScriptNameOrOptions","fontFileNameParam","fontStyleParam","postScriptName","fontFileName","fontStyle","fontBasename","replace","fontReference","select","windows","android","web","default","resolveGlyph","name","glyph","String","fromCodePoint","Icon","size","color","style","children","allowFontScaling","innerRef","props","isFontLoaded","setIsFontLoaded","useState","isLoaded","isMounted","fontSource","loadFontAsync","finally","styleDefaults","fontSize","styleOverrides","fontFamily","fontWeight","newProps","ref","selectable","WrappedIcon","displayName","imageSourceCache","getImageSourceSync","processedColor","cacheKey","has","get","imagePath","getImageForFontSync","value","uri","scale","setValue","error","setError","getImageSource","getImageForFont","IconNamespace","Object","assign"],"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;AAM1B,eAAe,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":[]}
|
|
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;AAM1B,eAAe,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":[]}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
* The following imports are always present when react native is installed
|
|
5
|
+
* in the future, more explicit apis will be exposed by the core, including typings
|
|
6
|
+
* */
|
|
7
|
+
// @ts-expect-error missing types
|
|
8
|
+
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
9
|
+
import { getAssetByID } from '@react-native/assets-registry/registry';
|
|
10
|
+
// @ts-expect-error missing types
|
|
11
|
+
import resolveAssetSource from 'react-native/Libraries/Image/resolveAssetSource';
|
|
12
|
+
import { getErrorCallback } from "./dynamic-loading-setting.js";
|
|
13
|
+
const loadPromises = {};
|
|
14
|
+
const loadFontAsync = async (fontFamily, fontSource) => {
|
|
15
|
+
const expoModules = globalThis?.expo?.modules;
|
|
16
|
+
if (!expoModules) {
|
|
17
|
+
throw new Error('Expo is not available. Dynamic font loading is not available.');
|
|
18
|
+
}
|
|
19
|
+
if (loadPromises[fontFamily]) {
|
|
20
|
+
return loadPromises[fontFamily];
|
|
21
|
+
}
|
|
22
|
+
loadPromises[fontFamily] = async function LoadFont() {
|
|
23
|
+
try {
|
|
24
|
+
const localUri = await (() => {
|
|
25
|
+
if (typeof fontSource === 'string') {
|
|
26
|
+
// a local filesystem uri
|
|
27
|
+
return fontSource;
|
|
28
|
+
}
|
|
29
|
+
// a module id
|
|
30
|
+
const {
|
|
31
|
+
uri,
|
|
32
|
+
type,
|
|
33
|
+
hash
|
|
34
|
+
} = getLocalFontUrl(fontSource, fontFamily);
|
|
35
|
+
return expoModules.ExpoAsset.downloadAsync(uri, hash, type);
|
|
36
|
+
})();
|
|
37
|
+
await expoModules.ExpoFontLoader.loadAsync(fontFamily, localUri);
|
|
38
|
+
} catch (error) {
|
|
39
|
+
console.error(`Failed to load font ${fontFamily}`, error); // eslint-disable-line no-console
|
|
40
|
+
|
|
41
|
+
getErrorCallback()?.({
|
|
42
|
+
error: error,
|
|
43
|
+
fontFamily,
|
|
44
|
+
fontSource
|
|
45
|
+
});
|
|
46
|
+
} finally {
|
|
47
|
+
delete loadPromises[fontFamily];
|
|
48
|
+
}
|
|
49
|
+
}();
|
|
50
|
+
return loadPromises[fontFamily];
|
|
51
|
+
};
|
|
52
|
+
const getLocalFontUrl = (fontModuleId, fontFamily) => {
|
|
53
|
+
const assetMeta = getAssetByID(fontModuleId);
|
|
54
|
+
if (!assetMeta) {
|
|
55
|
+
throw new Error(`no asset found for font family "${fontFamily}", moduleId: ${String(fontModuleId)}`);
|
|
56
|
+
}
|
|
57
|
+
const resolver = resolveAssetSource;
|
|
58
|
+
const assetSource = resolver(fontModuleId);
|
|
59
|
+
return {
|
|
60
|
+
...assetMeta,
|
|
61
|
+
...assetSource
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
const loadedFontsCache = {};
|
|
65
|
+
const isLoadedNative = fontFamily => {
|
|
66
|
+
if (fontFamily in loadedFontsCache) {
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
const {
|
|
70
|
+
expo
|
|
71
|
+
} = globalThis;
|
|
72
|
+
if (!expo) {
|
|
73
|
+
throw new Error('Expo is not available. Dynamic font loading is not available.');
|
|
74
|
+
}
|
|
75
|
+
const loadedNativeFonts = expo.modules.ExpoFontLoader.getLoadedFonts();
|
|
76
|
+
loadedNativeFonts.forEach(font => {
|
|
77
|
+
loadedFontsCache[font] = true;
|
|
78
|
+
});
|
|
79
|
+
return fontFamily in loadedFontsCache;
|
|
80
|
+
};
|
|
81
|
+
export const dynamicLoader = {
|
|
82
|
+
isLoaded: isLoadedNative,
|
|
83
|
+
loadFontAsync
|
|
84
|
+
};
|
|
85
|
+
//# sourceMappingURL=dynamic-font-loading.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getAssetByID","resolveAssetSource","getErrorCallback","loadPromises","loadFontAsync","fontFamily","fontSource","expoModules","globalThis","expo","modules","Error","LoadFont","localUri","uri","type","hash","getLocalFontUrl","ExpoAsset","downloadAsync","ExpoFontLoader","loadAsync","error","console","fontModuleId","assetMeta","String","resolver","assetSource","loadedFontsCache","isLoadedNative","loadedNativeFonts","getLoadedFonts","forEach","font","dynamicLoader","isLoaded"],"sourceRoot":"../../../src","sources":["dynamicLoading/dynamic-font-loading.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,YAAY,QAAQ,wCAAwC;AAErE;AACA,OAAOC,kBAAkB,MAAM,iDAAiD;AAChF,SAASC,gBAAgB,QAAQ,8BAA2B;AAG5D,MAAMC,YAAqD,GAAG,CAAC,CAAC;AAEhE,MAAMC,aAAa,GAAG,MAAAA,CAAOC,UAAkB,EAAEC,UAAsB,KAAoB;EACzF,MAAMC,WAAW,GAAGC,UAAU,EAAEC,IAAI,EAAEC,OAAO;EAC7C,IAAI,CAACH,WAAW,EAAE;IAChB,MAAM,IAAII,KAAK,CAAC,+DAA+D,CAAC;EAClF;EAEA,IAAIR,YAAY,CAACE,UAAU,CAAC,EAAE;IAC5B,OAAOF,YAAY,CAACE,UAAU,CAAC;EACjC;EAEAF,YAAY,CAACE,UAAU,CAAC,GAAI,eAAeO,QAAQA,CAAA,EAAG;IACpD,IAAI;MACF,MAAMC,QAAQ,GAAG,MAAM,CAAC,MAAM;QAC5B,IAAI,OAAOP,UAAU,KAAK,QAAQ,EAAE;UAClC;UACA,OAAOA,UAAU;QACnB;QACA;QACA,MAAM;UAAEQ,GAAG;UAAEC,IAAI;UAAEC;QAAK,CAAC,GAAGC,eAAe,CAACX,UAAU,EAAED,UAAU,CAAC;QACnE,OAAOE,WAAW,CAACW,SAAS,CAACC,aAAa,CAACL,GAAG,EAAEE,IAAI,EAAED,IAAI,CAAC;MAC7D,CAAC,EAAE,CAAC;MAEJ,MAAMR,WAAW,CAACa,cAAc,CAACC,SAAS,CAAChB,UAAU,EAAEQ,QAAQ,CAAC;IAClE,CAAC,CAAC,OAAOS,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,uBAAuBjB,UAAU,EAAE,EAAEiB,KAAK,CAAC,CAAC,CAAC;;MAE3DpB,gBAAgB,CAAC,CAAC,GAAG;QACnBoB,KAAK,EAAEA,KAAc;QACrBjB,UAAU;QACVC;MACF,CAAC,CAAC;IACJ,CAAC,SAAS;MACR,OAAOH,YAAY,CAACE,UAAU,CAAC;IACjC;EACF,CAAC,CAAE,CAAC;EAEJ,OAAOF,YAAY,CAACE,UAAU,CAAC;AACjC,CAAC;AASD,MAAMY,eAAe,GAAGA,CAACO,YAAoB,EAAEnB,UAAkB,KAAK;EACpE,MAAMoB,SAA6B,GAAGzB,YAAY,CAACwB,YAAY,CAAC;EAChE,IAAI,CAACC,SAAS,EAAE;IACd,MAAM,IAAId,KAAK,CAAC,mCAAmCN,UAAU,gBAAgBqB,MAAM,CAACF,YAAY,CAAC,EAAE,CAAC;EACtG;EAEA,MAAMG,QAAyC,GAAG1B,kBAAkB;EACpE,MAAM2B,WAAW,GAAGD,QAAQ,CAACH,YAAY,CAAC;EAE1C,OAAO;IAAE,GAAGC,SAAS;IAAE,GAAGG;EAAY,CAAC;AACzC,CAAC;AAED,MAAMC,gBAA6C,GAAG,CAAC,CAAC;AAExD,MAAMC,cAAc,GAAIzB,UAAkB,IAAK;EAC7C,IAAIA,UAAU,IAAIwB,gBAAgB,EAAE;IAClC,OAAO,IAAI;EACb;EAEA,MAAM;IAAEpB;EAAK,CAAC,GAAGD,UAAU;EAC3B,IAAI,CAACC,IAAI,EAAE;IACT,MAAM,IAAIE,KAAK,CAAC,+DAA+D,CAAC;EAClF;EAEA,MAAMoB,iBAAiB,GAAGtB,IAAI,CAACC,OAAO,CAACU,cAAc,CAACY,cAAc,CAAC,CAAC;EACtED,iBAAiB,CAACE,OAAO,CAAEC,IAAI,IAAK;IAClCL,gBAAgB,CAACK,IAAI,CAAC,GAAG,IAAI;EAC/B,CAAC,CAAC;EAEF,OAAO7B,UAAU,IAAIwB,gBAAgB;AACvC,CAAC;AAED,OAAO,MAAMM,aAA4B,GAAG;EAC1CC,QAAQ,EAAEN,cAAc;EACxB1B;AACF,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* dynamic font loading isn't supported on web
|
|
5
|
+
* */
|
|
6
|
+
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
8
|
+
const loadFontAsync = async (_fontFamily, _fontSource) => undefined;
|
|
9
|
+
|
|
10
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
11
|
+
const isLoaded = _fontFamily => true;
|
|
12
|
+
export const dynamicLoader = {
|
|
13
|
+
isLoaded,
|
|
14
|
+
loadFontAsync
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=dynamic-font-loading.web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["loadFontAsync","_fontFamily","_fontSource","undefined","isLoaded","dynamicLoader"],"sourceRoot":"../../../src","sources":["dynamicLoading/dynamic-font-loading.web.ts"],"mappings":";;AAAA;AACA;AACA;;AAGA;AACA,MAAMA,aAAa,GAAG,MAAAA,CAAOC,WAAmB,EAAEC,WAAuB,KAAoBC,SAAS;;AAEtG;AACA,MAAMC,QAAQ,GAAIH,WAAmB,IAAK,IAAI;AAE9C,OAAO,MAAMI,aAA4B,GAAG;EAC1CD,QAAQ;EACRJ;AACF,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const hasNecessaryExpoModules = !!globalThis.expo?.modules?.ExpoAsset && !!globalThis.expo?.modules?.ExpoFontLoader;
|
|
4
|
+
const hasNecessaryExpoFeatures = hasNecessaryExpoModules && typeof globalThis.expo?.modules.ExpoFontLoader.getLoadedFonts === 'function';
|
|
5
|
+
let dynamicFontLoadingEnabled = hasNecessaryExpoFeatures;
|
|
6
|
+
export const isDynamicLoadingSupported = () => hasNecessaryExpoFeatures;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Set whether dynamic loading of fonts is enabled.
|
|
10
|
+
* Currently, the presence of Expo Asset and Font Loader modules is a prerequisite for enabling.
|
|
11
|
+
* In the future, React Native core apis will be used for dynamic font loading.
|
|
12
|
+
*
|
|
13
|
+
* @param value - whether dynamic loading of fonts is enabled
|
|
14
|
+
* @returns `true` if dynamic loading of fonts was successfully set. `false` otherwise.
|
|
15
|
+
* */
|
|
16
|
+
export const setDynamicLoadingEnabled = value => {
|
|
17
|
+
if (!hasNecessaryExpoFeatures) {
|
|
18
|
+
if (process.env.NODE_ENV !== 'production' && !!value) {
|
|
19
|
+
const message = hasNecessaryExpoModules ? 'Expo is installed, but does not support dynamic font loading. Make sure to use Expo SDK 52 or newer.' : 'Necessary Expo modules not found. Dynamic font loading is not available on Web or when necessary Expo modules are not present.';
|
|
20
|
+
console.error(message); // eslint-disable-line no-console
|
|
21
|
+
}
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
dynamicFontLoadingEnabled = !!value;
|
|
25
|
+
return true;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Whether dynamic loading of fonts is enabled.
|
|
30
|
+
* */
|
|
31
|
+
export const isDynamicLoadingEnabled = () => dynamicFontLoadingEnabled;
|
|
32
|
+
let dynamicLoadingErrorCallback;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Set a callback to be called when an error occurs during dynamic font loading.
|
|
36
|
+
* */
|
|
37
|
+
export const setDynamicLoadingErrorCallback = callback => {
|
|
38
|
+
dynamicLoadingErrorCallback = callback;
|
|
39
|
+
};
|
|
40
|
+
export const getErrorCallback = () => dynamicLoadingErrorCallback;
|
|
41
|
+
//# sourceMappingURL=dynamic-loading-setting.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["hasNecessaryExpoModules","globalThis","expo","modules","ExpoAsset","ExpoFontLoader","hasNecessaryExpoFeatures","getLoadedFonts","dynamicFontLoadingEnabled","isDynamicLoadingSupported","setDynamicLoadingEnabled","value","process","env","NODE_ENV","message","console","error","isDynamicLoadingEnabled","dynamicLoadingErrorCallback","setDynamicLoadingErrorCallback","callback","getErrorCallback"],"sourceRoot":"../../../src","sources":["dynamicLoading/dynamic-loading-setting.ts"],"mappings":";;AAuBA,MAAMA,uBAAuB,GAAG,CAAC,CAACC,UAAU,CAACC,IAAI,EAAEC,OAAO,EAAEC,SAAS,IAAI,CAAC,CAACH,UAAU,CAACC,IAAI,EAAEC,OAAO,EAAEE,cAAc;AAEnH,MAAMC,wBAAwB,GAC5BN,uBAAuB,IAAI,OAAOC,UAAU,CAACC,IAAI,EAAEC,OAAO,CAACE,cAAc,CAACE,cAAc,KAAK,UAAU;AAEzG,IAAIC,yBAAyB,GAAGF,wBAAwB;AAExD,OAAO,MAAMG,yBAAyB,GAAGA,CAAA,KAAMH,wBAAwB;;AAEvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMI,wBAAwB,GAAIC,KAAc,IAAc;EACnE,IAAI,CAACL,wBAAwB,EAAE;IAC7B,IAAIM,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,IAAI,CAAC,CAACH,KAAK,EAAE;MACpD,MAAMI,OAAO,GAAGf,uBAAuB,GACnC,sGAAsG,GACtG,gIAAgI;MACpIgB,OAAO,CAACC,KAAK,CAACF,OAAO,CAAC,CAAC,CAAC;IAC1B;IACA,OAAO,KAAK;EACd;EAEAP,yBAAyB,GAAG,CAAC,CAACG,KAAK;EAEnC,OAAO,IAAI;AACb,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMO,uBAAuB,GAAGA,CAAA,KAAMV,yBAAyB;AAQtE,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":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["dynamicLoading/types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeIconAPI","ensureNativeModuleAvailable","Error"],"sourceRoot":"../../src","sources":["ensure-native-module-available.ts"],"mappings":"AAAA,OAAOA,aAAa,MAAM,qBAAqB;AAE/C,eAAe,SAASC,2BAA2BA,CAAA,EAAG;EACpD,IAAI,CAACD,aAAa,EAAE;IAClB,MAAM,IAAIE,KAAK,CACb,2IACF,CAAC;EACH;AACF","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["NativeIconAPI","ensureNativeModuleAvailable","Error"],"sourceRoot":"../../src","sources":["ensure-native-module-available.ts"],"mappings":";;AAAA,OAAOA,aAAa,MAAM,qBAAqB;AAE/C,eAAe,SAASC,2BAA2BA,CAAA,EAAG;EACpD,IAAI,CAACD,aAAa,EAAE;IAClB,MAAM,IAAIE,KAAK,CACb,2IACF,CAAC;EACH;AACF","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -1,2 +1,34 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { NativeModules, Platform } from 'react-native';
|
|
4
|
+
export { createIconSet, DEFAULT_ICON_SIZE, DEFAULT_ICON_COLOR } from "./create-icon-set.js";
|
|
5
|
+
export { setDynamicLoadingEnabled, isDynamicLoadingEnabled, isDynamicLoadingSupported, setDynamicLoadingErrorCallback } from "./dynamicLoading/dynamic-loading-setting.js";
|
|
6
|
+
const LINKING_ERROR = `
|
|
7
|
+
The package '@react-native-vector-icons/common' doesn't seem to be linked. Make sure:
|
|
8
|
+
${Platform.select({
|
|
9
|
+
ios: "- You have run 'pod install'\n",
|
|
10
|
+
default: ''
|
|
11
|
+
})}
|
|
12
|
+
- You rebuilt the app after installing the package\n'
|
|
13
|
+
- You are not using Expo Go
|
|
14
|
+
`;
|
|
15
|
+
|
|
16
|
+
// @ts-expect-error : NativeModules type is incomplete
|
|
17
|
+
const isTurboModuleEnabled = global.__turboModuleProxy != null; // eslint-disable-line no-underscore-dangle
|
|
18
|
+
|
|
19
|
+
const VectorIconsModule = isTurboModuleEnabled ? require('./NativeVectorIcons').default // eslint-disable-line @typescript-eslint/no-require-imports
|
|
20
|
+
: NativeModules.VectorIcons;
|
|
21
|
+
const VectorIcons = VectorIconsModule ? VectorIconsModule : new Proxy({}, {
|
|
22
|
+
get() {
|
|
23
|
+
throw new Error(LINKING_ERROR);
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
// TODO: Do we want to expose this as a public API?
|
|
28
|
+
export function getImageForFont(fontFamilyName, glyph, fontSize, color) {
|
|
29
|
+
return VectorIcons.getImageForFont(fontFamilyName, glyph, fontSize, color);
|
|
30
|
+
}
|
|
31
|
+
export function getImageForFontSync(fontFamilyName, glyph, fontSize, color) {
|
|
32
|
+
return VectorIcons.getImageForFontSync(fontFamilyName, glyph, fontSize, color);
|
|
33
|
+
}
|
|
2
34
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createIconSet","DEFAULT_ICON_SIZE","DEFAULT_ICON_COLOR"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,SAASA,aAAa,EAAEC,iBAAiB,EAAEC,kBAAkB,QAAQ,mBAAmB","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["NativeModules","Platform","createIconSet","DEFAULT_ICON_SIZE","DEFAULT_ICON_COLOR","setDynamicLoadingEnabled","isDynamicLoadingEnabled","isDynamicLoadingSupported","setDynamicLoadingErrorCallback","LINKING_ERROR","select","ios","default","isTurboModuleEnabled","global","__turboModuleProxy","VectorIconsModule","require","VectorIcons","Proxy","get","Error","getImageForFont","fontFamilyName","glyph","fontSize","color","getImageForFontSync"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAEtD,SAASC,aAAa,EAAEC,iBAAiB,EAAEC,kBAAkB,QAAQ,sBAAmB;AAExF,SACEC,wBAAwB,EACxBC,uBAAuB,EACvBC,yBAAyB,EACzBC,8BAA8B,QACzB,6CAA0C;AAEjD,MAAMC,aAAa,GAAG;AACtB;AACA,MAAMR,QAAQ,CAACS,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC;AAC7E;AACA;AACA,GAAG;;AAEH;AACA,MAAMC,oBAAoB,GAAGC,MAAM,CAACC,kBAAkB,IAAI,IAAI,CAAC,CAAC;;AAEhE,MAAMC,iBAAiB,GAAGH,oBAAoB,GAC1CI,OAAO,CAAC,qBAAqB,CAAC,CAACL,OAAO,CAAC;AAAA,EACvCZ,aAAa,CAACkB,WAAW;AAE7B,MAAMA,WAAW,GAAGF,iBAAiB,GACjCA,iBAAiB,GACjB,IAAIG,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACZ,aAAa,CAAC;EAChC;AACF,CACF,CAAC;;AAEL;AACA,OAAO,SAASa,eAAeA,CAC7BC,cAAsB,EACtBC,KAAa,EACbC,QAAgB,EAChBC,KAAa,EACI;EACjB,OAAOR,WAAW,CAACI,eAAe,CAACC,cAAc,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,KAAK,CAAC;AAC5E;AAEA,OAAO,SAASC,mBAAmBA,CAACJ,cAAsB,EAAEC,KAAa,EAAEC,QAAgB,EAAEC,KAAa,EAAU;EAClH,OAAOR,WAAW,CAACS,mBAAmB,CAACJ,cAAc,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,KAAK,CAAC;AAChF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["fs","path","resolveNodeModuleDir","getPackageJson","filename","packageData","readFileSync","packageJson","JSON","parse","getPackageFontDirectories","packageJsonFilename","rootPackageJson","dependencies","Object","keys","packageDirs","forEach","dependency","dir","keywords","includes","push","getLocalFontsDir","config","reactNativeVectorIcons","dirname","fontDir","getFonts","existsSync","fonts","readdirSync","fontPaths","map","font","getFontPaths","flat"],"sourceRoot":"../../../src","sources":["scripts/common.ts"],"mappings":"AAAA,OAAOA,EAAE,MAAM,SAAS;AACxB,OAAOC,IAAI,MAAM,WAAW;AAC5B,SAASC,oBAAoB,QAAQ,mCAAmC;AAExE,MAAMC,cAAc,GAAIC,QAAgB,IAAK;EAC3C,MAAMC,WAAW,GAAGL,EAAE,CAACM,YAAY,CAACF,QAAQ,EAAE,OAAO,CAAC;EACtD,MAAMG,WAAW,GAAGC,IAAI,CAACC,KAAK,CAACJ,WAAW,CAAC;EAE3C,OAAOE,WAAW;AACpB,CAAC;AAED,MAAMG,yBAAyB,GAAIC,mBAA2B,IAAK;EACjE,MAAMC,eAAe,GAAGT,cAAc,CAACQ,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,GAAGjB,oBAAoB,CAACS,mBAAmB,EAAEO,UAAU,CAAC;IACjE,MAAMX,WAAW,GAAGJ,cAAc,CAAC,GAAGgB,GAAG,eAAe,CAAC;IACzD,IAAIZ,WAAW,CAACa,QAAQ,EAAEC,QAAQ,GAAG,gCAAgC,CAAC,EAAE;MACtEL,WAAW,CAACM,IAAI,CAAC,GAAGH,GAAG,QAAQ,CAAC;IAClC;EACF,CAAC,CAAC;EAEF,OAAOH,WAAW;AACpB,CAAC;AAED,MAAMO,gBAAgB,GAAIZ,mBAA2B,IAAK;EACxD,MAAMC,eAAe,GAAGT,cAAc,CAACQ,mBAAmB,CAAC;EAC3D,MAAMa,MAAM,GAAGZ,eAAe,CAACa,sBAAsB,IAAI,CAAC,CAAC;EAE3D,OAAO,GAAGxB,IAAI,CAACyB,OAAO,CAACf,mBAAmB,CAAC,IAAIa,MAAM,CAACG,OAAO,IAAI,YAAY,EAAE;AACjF,CAAC;AAED,MAAMC,QAAQ,GAAID,OAAe,IAAK;EACpC,IAAI,CAAC3B,EAAE,CAAC6B,UAAU,CAACF,OAAO,CAAC,EAAE;IAC3B,OAAO,EAAE;EACX;EAEA,MAAMG,KAAK,GAAG9B,EAAE,CAAC+B,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;AAED,OAAO,MAAMG,YAAY,GAAIxB,mBAA2B,IAAK;EAC3D,MAAMK,WAAW,GAAGN,yBAAyB,CAACC,mBAAmB,CAAC;EAClEK,WAAW,CAACM,IAAI,CAACC,gBAAgB,CAACZ,mBAAmB,CAAC,CAAC;EACvD,MAAMmB,KAAK,GAAGd,WAAW,CAACiB,GAAG,CAACL,QAAQ,CAAC;EAEvC,OAAOE,KAAK,CAACM,IAAI,CAAC,CAAC;AACrB,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["fs","path","resolveNodeModuleDir","getPackageJson","filename","packageData","readFileSync","packageJson","JSON","parse","getPackageFontDirectories","packageJsonFilename","rootPackageJson","dependencies","Object","keys","packageDirs","forEach","dependency","dir","keywords","includes","push","getLocalFontsDir","config","reactNativeVectorIcons","dirname","fontDir","getFonts","existsSync","fonts","readdirSync","fontPaths","map","font","getFontPaths","flat"],"sourceRoot":"../../../src","sources":["scripts/common.ts"],"mappings":";;AAAA,OAAOA,EAAE,MAAM,SAAS;AACxB,OAAOC,IAAI,MAAM,WAAW;AAC5B,SAASC,oBAAoB,QAAQ,mCAAmC;AAExE,MAAMC,cAAc,GAAIC,QAAgB,IAAK;EAC3C,MAAMC,WAAW,GAAGL,EAAE,CAACM,YAAY,CAACF,QAAQ,EAAE,OAAO,CAAC;EACtD,MAAMG,WAAW,GAAGC,IAAI,CAACC,KAAK,CAACJ,WAAW,CAAC;EAE3C,OAAOE,WAAW;AACpB,CAAC;AAED,MAAMG,yBAAyB,GAAIC,mBAA2B,IAAK;EACjE,MAAMC,eAAe,GAAGT,cAAc,CAACQ,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,GAAGjB,oBAAoB,CAACS,mBAAmB,EAAEO,UAAU,CAAC;IACjE,MAAMX,WAAW,GAAGJ,cAAc,CAAC,GAAGgB,GAAG,eAAe,CAAC;IACzD,IAAIZ,WAAW,CAACa,QAAQ,EAAEC,QAAQ,GAAG,gCAAgC,CAAC,EAAE;MACtEL,WAAW,CAACM,IAAI,CAAC,GAAGH,GAAG,QAAQ,CAAC;IAClC;EACF,CAAC,CAAC;EAEF,OAAOH,WAAW;AACpB,CAAC;AAED,MAAMO,gBAAgB,GAAIZ,mBAA2B,IAAK;EACxD,MAAMC,eAAe,GAAGT,cAAc,CAACQ,mBAAmB,CAAC;EAC3D,MAAMa,MAAM,GAAGZ,eAAe,CAACa,sBAAsB,IAAI,CAAC,CAAC;EAE3D,OAAO,GAAGxB,IAAI,CAACyB,OAAO,CAACf,mBAAmB,CAAC,IAAIa,MAAM,CAACG,OAAO,IAAI,YAAY,EAAE;AACjF,CAAC;AAED,MAAMC,QAAQ,GAAID,OAAe,IAAK;EACpC,IAAI,CAAC3B,EAAE,CAAC6B,UAAU,CAACF,OAAO,CAAC,EAAE;IAC3B,OAAO,EAAE;EACX;EAEA,MAAMG,KAAK,GAAG9B,EAAE,CAAC+B,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;AAED,OAAO,MAAMG,YAAY,GAAIxB,mBAA2B,IAAK;EAC3D,MAAMK,WAAW,GAAGN,yBAAyB,CAACC,mBAAmB,CAAC;EAClEK,WAAW,CAACM,IAAI,CAACC,gBAAgB,CAACZ,mBAAmB,CAAC,CAAC;EACvD,MAAMmB,KAAK,GAAGd,WAAW,CAACiB,GAAG,CAACL,QAAQ,CAAC;EAEvC,OAAOE,KAAK,CAACM,IAAI,CAAC,CAAC;AACrB,CAAC","ignoreList":[]}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
import { getFontPaths } from "./common.js";
|
|
3
5
|
const packageJsonFilename = process.argv[2];
|
|
4
6
|
if (!packageJsonFilename) {
|
|
5
7
|
throw new Error('Need the path to the roo package.json as the first argument');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getFontPaths","packageJsonFilename","process","argv","Error","fonts","map","font","console","log"],"sourceRoot":"../../../src","sources":["scripts/getFonts.ts"],"mappings":"AAAA;
|
|
1
|
+
{"version":3,"names":["getFontPaths","packageJsonFilename","process","argv","Error","fonts","map","font","console","log"],"sourceRoot":"../../../src","sources":["scripts/getFonts.ts"],"mappings":"AAAA;AAAmB;;AAEnB,SAASA,YAAY,QAAQ,aAAU;AAEvC,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,GAAGL,YAAY,CAACC,mBAAmB,CAAC;AAC/CI,KAAK,CAACC,GAAG,CAAEC,IAAI,IAAKC,OAAO,CAACC,GAAG,CAACF,IAAI,CAAC,CAAC,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/* eslint-disable no-console */
|
|
3
|
+
"use strict";
|
|
4
|
+
|
|
3
5
|
import fs from 'node:fs';
|
|
4
6
|
import * as path from 'node:path';
|
|
5
7
|
import pc from 'picocolors';
|
|
6
8
|
import * as plist from 'plist';
|
|
7
|
-
import { getFontPaths } from
|
|
9
|
+
import { getFontPaths } from "./common.js";
|
|
8
10
|
const getFontName = fontPath => path.basename(fontPath);
|
|
9
11
|
const packageJsonFilename = process.argv[2];
|
|
10
12
|
if (!packageJsonFilename) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["fs","path","pc","plist","getFontPaths","getFontName","fontPath","basename","packageJsonFilename","process","argv","Error","infoPlistFilename","fonts","console","log","length","infoPlistContent","readFileSync","infoPlist","parse","plistFonts","Set","UIAppFonts","providedFonts","map","hasChanges","forEach","font","has","add","green","red","Array","from","updatedInfoPlistContent","build","replace","writeFileSync"],"sourceRoot":"../../../src","sources":["scripts/updatePlist.ts"],"mappings":"AAAA;AACA;AAEA,OAAOA,EAAE,MAAM,SAAS;AACxB,OAAO,KAAKC,IAAI,MAAM,WAAW;AACjC,OAAOC,EAAE,MAAM,YAAY;AAC3B,OAAO,KAAKC,KAAK,MAAM,OAAO;AAE9B,SAASC,YAAY,QAAQ,
|
|
1
|
+
{"version":3,"names":["fs","path","pc","plist","getFontPaths","getFontName","fontPath","basename","packageJsonFilename","process","argv","Error","infoPlistFilename","fonts","console","log","length","infoPlistContent","readFileSync","infoPlist","parse","plistFonts","Set","UIAppFonts","providedFonts","map","hasChanges","forEach","font","has","add","green","red","Array","from","updatedInfoPlistContent","build","replace","writeFileSync"],"sourceRoot":"../../../src","sources":["scripts/updatePlist.ts"],"mappings":"AAAA;AACA;AAAA;;AAEA,OAAOA,EAAE,MAAM,SAAS;AACxB,OAAO,KAAKC,IAAI,MAAM,WAAW;AACjC,OAAOC,EAAE,MAAM,YAAY;AAC3B,OAAO,KAAKC,KAAK,MAAM,OAAO;AAE9B,SAASC,YAAY,QAAQ,aAAU;AAEvC,MAAMC,WAAW,GAAIC,QAAgB,IAAKL,IAAI,CAACM,QAAQ,CAACD,QAAQ,CAAC;AAEjE,MAAME,mBAAmB,GAAGC,OAAO,CAACC,IAAI,CAAC,CAAC,CAAC;AAC3C,IAAI,CAACF,mBAAmB,EAAE;EACxB,MAAM,IAAIG,KAAK,CAAC,8DAA8D,CAAC;AACjF;AAEA,MAAMC,iBAAiB,GAAGH,OAAO,CAACC,IAAI,CAAC,CAAC,CAAC;AACzC,IAAI,CAACE,iBAAiB,EAAE;EACtB,MAAM,IAAID,KAAK,CAAC,wDAAwD,CAAC;AAC3E;AAEA,MAAME,KAAK,GAAGT,YAAY,CAACI,mBAAmB,CAAC;AAC/CM,OAAO,CAACC,GAAG,CAAC,SAASF,KAAK,CAACG,MAAM,QAAQ,CAAC;AAE1C,MAAMC,gBAAgB,GAAGjB,EAAE,CAACkB,YAAY,CAACN,iBAAiB,EAAE,MAAM,CAAC;AACnE,MAAMO,SAAS,GAAGhB,KAAK,CAACiB,KAAK,CAACH,gBAAgB,CAA6B;AAE3E,MAAMI,UAAU,GAAG,IAAIC,GAAG,CAACH,SAAS,CAACI,UAAU,IAAI,EAAE,CAAC;AACtD,MAAMC,aAAa,GAAG,IAAIF,GAAG,CAACT,KAAK,CAACY,GAAG,CAACpB,WAAW,CAAC,CAAC;AAErD,IAAIqB,UAAU,GAAG,KAAK;;AAEtB;AACAF,aAAa,CAACG,OAAO,CAAEC,IAAI,IAAK;EAC9B,IAAI,CAACP,UAAU,CAACQ,GAAG,CAACD,IAAI,CAAC,EAAE;IACzBP,UAAU,CAACS,GAAG,CAACF,IAAI,CAAC;IACpBd,OAAO,CAACC,GAAG,CAACb,EAAE,CAAC6B,KAAK,CAAC,SAASH,IAAI,EAAE,CAAC,CAAC;IACtCF,UAAU,GAAG,IAAI;EACnB,CAAC,MAAM;IACLZ,OAAO,CAACC,GAAG,CAAC,YAAYa,IAAI,EAAE,CAAC;EACjC;AACF,CAAC,CAAC;;AAEF;AACAP,UAAU,CAACM,OAAO,CAAEC,IAAI,IAAK;EAC3B,IAAI,CAACJ,aAAa,CAACK,GAAG,CAACD,IAAI,CAAC,EAAE;IAC5Bd,OAAO,CAACC,GAAG,CAACb,EAAE,CAAC8B,GAAG,CAAC,SAASJ,IAAI,yCAAyC,CAAC,CAAC;EAC7E;AACF,CAAC,CAAC;;AAEF;AACA,IAAIF,UAAU,EAAE;EACdP,SAAS,CAACI,UAAU,GAAGU,KAAK,CAACC,IAAI,CAACb,UAAU,CAAC;EAC7C,MAAMc,uBAAuB,GAAGhC,KAAK,CAACiC,KAAK,CAACjB,SAAS,CAAC,CAACkB,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAACA,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC;EAErGrC,EAAE,CAACsC,aAAa,CAAC1B,iBAAiB,EAAEuB,uBAAuB,EAAE,MAAM,CAAC;AACtE","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"commonjs"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { TurboModule } from 'react-native';
|
|
2
|
+
export interface Spec extends TurboModule {
|
|
3
|
+
getImageForFont(fontFamilyName: string, glyph: string, fontSize: number, color: number): Promise<string>;
|
|
4
|
+
getImageForFontSync(fontFamilyName: string, glyph: string, fontSize: number, color: number): string;
|
|
5
|
+
}
|
|
6
|
+
declare const _default: Spec;
|
|
7
|
+
export default _default;
|
|
8
|
+
//# sourceMappingURL=NativeVectorIcons.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NativeVectorIcons.d.ts","sourceRoot":"","sources":["../../../../src/NativeVectorIcons.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzG,mBAAmB,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACrG;;AAED,wBAAqE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NativeVectorIcons.web.d.ts","sourceRoot":"","sources":["../../../../src/NativeVectorIcons.web.ts"],"names":[],"mappings":";AAAA,wBAAkB"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import React, { type Ref } from 'react';
|
|
2
|
+
import { Text, type TextProps, type TextStyle } from 'react-native';
|
|
3
|
+
import type { FontSource } from './dynamicLoading/types';
|
|
4
|
+
export declare const DEFAULT_ICON_SIZE = 12;
|
|
5
|
+
export declare const DEFAULT_ICON_COLOR = "black";
|
|
6
|
+
type ValueData = {
|
|
7
|
+
uri: string;
|
|
8
|
+
scale: number;
|
|
9
|
+
};
|
|
10
|
+
type GetImageSourceSyncIconFunc<GM> = (name: GM, size?: number, color?: TextStyle['color']) => ValueData | undefined;
|
|
11
|
+
type GetImageSourceIconFunc<GM> = (name: GM, size?: number, color?: TextStyle['color']) => Promise<ValueData | undefined>;
|
|
12
|
+
export type IconProps<T> = TextProps & {
|
|
13
|
+
name: T;
|
|
14
|
+
size?: number;
|
|
15
|
+
color?: TextStyle['color'];
|
|
16
|
+
innerRef?: Ref<Text>;
|
|
17
|
+
};
|
|
18
|
+
type IconComponent<GM extends Record<string, number>> = React.FC<TextProps & {
|
|
19
|
+
name: keyof GM;
|
|
20
|
+
size?: number;
|
|
21
|
+
color?: TextStyle['color'];
|
|
22
|
+
innerRef?: Ref<Text>;
|
|
23
|
+
} & React.RefAttributes<Text>> & {
|
|
24
|
+
getImageSource: GetImageSourceIconFunc<keyof GM>;
|
|
25
|
+
getImageSourceSync: GetImageSourceSyncIconFunc<keyof GM>;
|
|
26
|
+
};
|
|
27
|
+
export type CreateIconSetOptions = {
|
|
28
|
+
postScriptName: string;
|
|
29
|
+
fontFileName: string;
|
|
30
|
+
fontSource?: FontSource;
|
|
31
|
+
fontStyle?: TextProps['style'];
|
|
32
|
+
};
|
|
33
|
+
export declare function createIconSet<GM extends Record<string, number>>(glyphMap: GM, postScriptName: string, fontFileName: string, fontStyle?: TextProps['style']): IconComponent<GM>;
|
|
34
|
+
export declare function createIconSet<GM extends Record<string, number>>(glyphMap: GM, options: CreateIconSetOptions): IconComponent<GM>;
|
|
35
|
+
export {};
|
|
36
|
+
//# sourceMappingURL=create-icon-set.d.ts.map
|