@react-native-vector-icons/common 0.0.1-alpha.20 → 0.0.1-alpha.22

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.
Files changed (162) hide show
  1. package/LICENSE +1 -2
  2. package/README.md +40 -182
  3. package/android/build.gradle +36 -2
  4. package/android/generated/java/com/reactnativevectoricons/common/NativeVectorIconsSpec.java +42 -0
  5. package/android/generated/jni/CMakeLists.txt +49 -0
  6. package/android/generated/jni/RNVectorIconsSpec-generated.cpp +38 -0
  7. package/android/generated/jni/RNVectorIconsSpec.h +31 -0
  8. package/android/generated/jni/react/renderer/components/RNVectorIconsSpec/ComponentDescriptors.cpp +22 -0
  9. package/android/generated/jni/react/renderer/components/RNVectorIconsSpec/ComponentDescriptors.h +24 -0
  10. package/android/generated/jni/react/renderer/components/RNVectorIconsSpec/EventEmitters.cpp +16 -0
  11. package/android/generated/jni/react/renderer/components/RNVectorIconsSpec/EventEmitters.h +17 -0
  12. package/android/generated/jni/react/renderer/components/RNVectorIconsSpec/Props.cpp +19 -0
  13. package/android/generated/jni/react/renderer/components/RNVectorIconsSpec/Props.h +18 -0
  14. package/android/generated/jni/react/renderer/components/RNVectorIconsSpec/RNVectorIconsSpecJSI-generated.cpp +40 -0
  15. package/android/generated/jni/react/renderer/components/RNVectorIconsSpec/RNVectorIconsSpecJSI.h +76 -0
  16. package/android/generated/jni/react/renderer/components/RNVectorIconsSpec/ShadowNodes.cpp +17 -0
  17. package/android/generated/jni/react/renderer/components/RNVectorIconsSpec/ShadowNodes.h +23 -0
  18. package/android/generated/jni/react/renderer/components/RNVectorIconsSpec/States.cpp +16 -0
  19. package/android/generated/jni/react/renderer/components/RNVectorIconsSpec/States.h +19 -0
  20. package/android/src/main/AndroidManifestNew.xml +1 -1
  21. package/android/src/main/java/com/reactnativevectoricons/common/VectorIconsModule.kt +90 -0
  22. package/android/src/main/java/com/reactnativevectoricons/common/VectorIconsPackage.kt +35 -0
  23. package/android/src/newarch/VectorIconsSpec.kt +7 -0
  24. package/android/src/oldarch/VectorIconsSpec.kt +38 -0
  25. package/ios/VectorIcons.h +13 -17
  26. package/ios/VectorIcons.mm +21 -51
  27. package/ios/generated/RNVectorIconsSpec/ComponentDescriptors.cpp +22 -0
  28. package/ios/generated/RNVectorIconsSpec/ComponentDescriptors.h +24 -0
  29. package/ios/generated/RNVectorIconsSpec/EventEmitters.cpp +16 -0
  30. package/ios/generated/RNVectorIconsSpec/EventEmitters.h +17 -0
  31. package/ios/generated/RNVectorIconsSpec/Props.cpp +19 -0
  32. package/ios/generated/RNVectorIconsSpec/Props.h +18 -0
  33. package/ios/generated/RNVectorIconsSpec/RCTComponentViewHelpers.h +18 -0
  34. package/ios/generated/RNVectorIconsSpec/RNVectorIconsSpec-generated.mm +36 -0
  35. package/ios/generated/RNVectorIconsSpec/RNVectorIconsSpec.h +58 -0
  36. package/ios/generated/RNVectorIconsSpec/ShadowNodes.cpp +17 -0
  37. package/ios/generated/RNVectorIconsSpec/ShadowNodes.h +23 -0
  38. package/ios/generated/RNVectorIconsSpec/States.cpp +16 -0
  39. package/ios/generated/RNVectorIconsSpec/States.h +19 -0
  40. package/ios/generated/RNVectorIconsSpecJSI-generated.cpp +40 -0
  41. package/ios/generated/RNVectorIconsSpecJSI.h +76 -0
  42. package/lib/commonjs/NativeVectorIcons.js.map +1 -1
  43. package/lib/commonjs/create-icon-set.js +48 -19
  44. package/lib/commonjs/create-icon-set.js.map +1 -1
  45. package/lib/commonjs/dynamicLoading/dynamic-font-loading.js +92 -0
  46. package/lib/commonjs/dynamicLoading/dynamic-font-loading.js.map +1 -0
  47. package/lib/commonjs/dynamicLoading/dynamic-font-loading.web.js +20 -0
  48. package/lib/commonjs/dynamicLoading/dynamic-font-loading.web.js.map +1 -0
  49. package/lib/commonjs/dynamicLoading/dynamic-loading-setting.js +50 -0
  50. package/lib/commonjs/dynamicLoading/dynamic-loading-setting.js.map +1 -0
  51. package/lib/commonjs/dynamicLoading/types.js +2 -0
  52. package/lib/commonjs/dynamicLoading/types.js.map +1 -0
  53. package/lib/commonjs/index.js +57 -1
  54. package/lib/commonjs/index.js.map +1 -1
  55. package/lib/commonjs/scripts/getFonts.js +1 -1
  56. package/lib/commonjs/scripts/updatePlist.js +1 -1
  57. package/lib/module/NativeVectorIcons.js +2 -0
  58. package/lib/module/NativeVectorIcons.js.map +1 -1
  59. package/lib/module/NativeVectorIcons.web.js +2 -0
  60. package/lib/module/NativeVectorIcons.web.js.map +1 -1
  61. package/lib/module/create-icon-set.js +49 -18
  62. package/lib/module/create-icon-set.js.map +1 -1
  63. package/lib/module/create-icon-source-cache.js +2 -0
  64. package/lib/module/create-icon-source-cache.js.map +1 -1
  65. package/lib/module/dynamicLoading/dynamic-font-loading.js +85 -0
  66. package/lib/module/dynamicLoading/dynamic-font-loading.js.map +1 -0
  67. package/lib/module/dynamicLoading/dynamic-font-loading.web.js +16 -0
  68. package/lib/module/dynamicLoading/dynamic-font-loading.web.js.map +1 -0
  69. package/lib/module/dynamicLoading/dynamic-loading-setting.js +41 -0
  70. package/lib/module/dynamicLoading/dynamic-loading-setting.js.map +1 -0
  71. package/lib/module/dynamicLoading/types.js +2 -0
  72. package/lib/module/dynamicLoading/types.js.map +1 -0
  73. package/lib/module/ensure-native-module-available.js +2 -0
  74. package/lib/module/ensure-native-module-available.js.map +1 -1
  75. package/lib/module/index.js +33 -1
  76. package/lib/module/index.js.map +1 -1
  77. package/lib/module/scripts/common.js +2 -0
  78. package/lib/module/scripts/common.js.map +1 -1
  79. package/lib/module/scripts/getFonts.js +3 -1
  80. package/lib/module/scripts/getFonts.js.map +1 -1
  81. package/lib/module/scripts/updatePlist.js +3 -1
  82. package/lib/module/scripts/updatePlist.js.map +1 -1
  83. package/lib/typescript/commonjs/package.json +1 -0
  84. package/lib/typescript/commonjs/src/NativeVectorIcons.d.ts +8 -0
  85. package/lib/typescript/commonjs/src/NativeVectorIcons.d.ts.map +1 -0
  86. package/lib/typescript/commonjs/src/NativeVectorIcons.web.d.ts.map +1 -0
  87. package/lib/typescript/commonjs/src/create-icon-set.d.ts +36 -0
  88. package/lib/typescript/commonjs/src/create-icon-set.d.ts.map +1 -0
  89. package/lib/typescript/commonjs/src/create-icon-source-cache.d.ts.map +1 -0
  90. package/lib/typescript/commonjs/src/dynamicLoading/dynamic-font-loading.d.ts +3 -0
  91. package/lib/typescript/commonjs/src/dynamicLoading/dynamic-font-loading.d.ts.map +1 -0
  92. package/lib/typescript/commonjs/src/dynamicLoading/dynamic-font-loading.web.d.ts +6 -0
  93. package/lib/typescript/commonjs/src/dynamicLoading/dynamic-font-loading.web.d.ts.map +1 -0
  94. package/lib/typescript/commonjs/src/dynamicLoading/dynamic-loading-setting.d.ts +41 -0
  95. package/lib/typescript/commonjs/src/dynamicLoading/dynamic-loading-setting.d.ts.map +1 -0
  96. package/lib/typescript/commonjs/src/dynamicLoading/types.d.ts +9 -0
  97. package/lib/typescript/commonjs/src/dynamicLoading/types.d.ts.map +1 -0
  98. package/lib/typescript/commonjs/src/ensure-native-module-available.d.ts.map +1 -0
  99. package/lib/typescript/commonjs/src/index.d.ts +6 -0
  100. package/lib/typescript/commonjs/src/index.d.ts.map +1 -0
  101. package/lib/typescript/commonjs/src/scripts/common.d.ts.map +1 -0
  102. package/lib/typescript/commonjs/src/scripts/getFonts.d.ts.map +1 -0
  103. package/lib/typescript/commonjs/src/scripts/updatePlist.d.ts.map +1 -0
  104. package/lib/typescript/module/package.json +1 -0
  105. package/lib/typescript/module/src/NativeVectorIcons.d.ts +8 -0
  106. package/lib/typescript/module/src/NativeVectorIcons.d.ts.map +1 -0
  107. package/lib/typescript/module/src/NativeVectorIcons.web.d.ts +3 -0
  108. package/lib/typescript/module/src/NativeVectorIcons.web.d.ts.map +1 -0
  109. package/lib/typescript/module/src/create-icon-set.d.ts +36 -0
  110. package/lib/typescript/module/src/create-icon-set.d.ts.map +1 -0
  111. package/lib/typescript/module/src/create-icon-source-cache.d.ts +21 -0
  112. package/lib/typescript/module/src/create-icon-source-cache.d.ts.map +1 -0
  113. package/lib/typescript/module/src/dynamicLoading/dynamic-font-loading.d.ts +3 -0
  114. package/lib/typescript/module/src/dynamicLoading/dynamic-font-loading.d.ts.map +1 -0
  115. package/lib/typescript/module/src/dynamicLoading/dynamic-font-loading.web.d.ts +6 -0
  116. package/lib/typescript/module/src/dynamicLoading/dynamic-font-loading.web.d.ts.map +1 -0
  117. package/lib/typescript/module/src/dynamicLoading/dynamic-loading-setting.d.ts +41 -0
  118. package/lib/typescript/module/src/dynamicLoading/dynamic-loading-setting.d.ts.map +1 -0
  119. package/lib/typescript/module/src/dynamicLoading/types.d.ts +9 -0
  120. package/lib/typescript/module/src/dynamicLoading/types.d.ts.map +1 -0
  121. package/lib/typescript/module/src/ensure-native-module-available.d.ts +2 -0
  122. package/lib/typescript/module/src/ensure-native-module-available.d.ts.map +1 -0
  123. package/lib/typescript/module/src/index.d.ts +6 -0
  124. package/lib/typescript/module/src/index.d.ts.map +1 -0
  125. package/lib/typescript/module/src/scripts/common.d.ts +2 -0
  126. package/lib/typescript/module/src/scripts/common.d.ts.map +1 -0
  127. package/lib/typescript/module/src/scripts/getFonts.d.ts +3 -0
  128. package/lib/typescript/module/src/scripts/getFonts.d.ts.map +1 -0
  129. package/lib/typescript/module/src/scripts/updatePlist.d.ts +3 -0
  130. package/lib/typescript/module/src/scripts/updatePlist.d.ts.map +1 -0
  131. package/package.json +65 -43
  132. package/react-native-vector-icons.podspec +26 -26
  133. package/src/NativeVectorIcons.ts +2 -4
  134. package/src/create-icon-set.tsx +79 -12
  135. package/src/dynamicLoading/dynamic-font-loading.ts +97 -0
  136. package/src/dynamicLoading/dynamic-font-loading.web.ts +15 -0
  137. package/src/dynamicLoading/dynamic-loading-setting.ts +77 -0
  138. package/src/dynamicLoading/types.ts +10 -0
  139. package/src/index.ts +48 -1
  140. package/src/scripts/getFonts.ts +1 -1
  141. package/android/src/main/java/com/reactnativevectoricons/common/VectorIconsModule.java +0 -121
  142. package/android/src/main/java/com/reactnativevectoricons/common/VectorIconsPackage.java +0 -45
  143. package/android/src/newarch/VectorIconsSpec.java +0 -9
  144. package/android/src/oldarch/VectorIconsSpec.java +0 -18
  145. package/lib/typescript/src/NativeVectorIcons.d.ts +0 -9
  146. package/lib/typescript/src/NativeVectorIcons.d.ts.map +0 -1
  147. package/lib/typescript/src/NativeVectorIcons.web.d.ts.map +0 -1
  148. package/lib/typescript/src/create-icon-set.d.ts +0 -26
  149. package/lib/typescript/src/create-icon-set.d.ts.map +0 -1
  150. package/lib/typescript/src/create-icon-source-cache.d.ts.map +0 -1
  151. package/lib/typescript/src/ensure-native-module-available.d.ts.map +0 -1
  152. package/lib/typescript/src/index.d.ts +0 -3
  153. package/lib/typescript/src/index.d.ts.map +0 -1
  154. package/lib/typescript/src/scripts/common.d.ts.map +0 -1
  155. package/lib/typescript/src/scripts/getFonts.d.ts.map +0 -1
  156. package/lib/typescript/src/scripts/updatePlist.d.ts.map +0 -1
  157. /package/lib/typescript/{src → commonjs/src}/NativeVectorIcons.web.d.ts +0 -0
  158. /package/lib/typescript/{src → commonjs/src}/create-icon-source-cache.d.ts +0 -0
  159. /package/lib/typescript/{src → commonjs/src}/ensure-native-module-available.d.ts +0 -0
  160. /package/lib/typescript/{src → commonjs/src}/scripts/common.d.ts +0 -0
  161. /package/lib/typescript/{src → commonjs/src}/scripts/getFonts.d.ts +0 -0
  162. /package/lib/typescript/{src → commonjs/src}/scripts/updatePlist.d.ts +0 -0
@@ -21,5 +21,61 @@ Object.defineProperty(exports, "createIconSet", {
21
21
  return _createIconSet.createIconSet;
22
22
  }
23
23
  });
24
- var _createIconSet = require("./create-icon-set");
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":["_createIconSet","require"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA","ignoreList":[]}
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,3 +1,5 @@
1
+ "use strict";
2
+
1
3
  import { TurboModuleRegistry } from 'react-native';
2
4
  export default TurboModuleRegistry.getEnforcing('VectorIcons');
3
5
  //# sourceMappingURL=NativeVectorIcons.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeVectorIcons.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,cAAc;AAUlD,eAAeA,mBAAmB,CAACC,YAAY,CAAO,aAAa,CAAC","ignoreList":[]}
1
+ {"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,2 +1,4 @@
1
+ "use strict";
2
+
1
3
  export default {};
2
4
  //# sourceMappingURL=NativeVectorIcons.web.js.map
@@ -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
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
- import React, { forwardRef } from 'react';
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 './create-icon-source-cache';
6
- import ensureNativeModuleAvailable from './ensure-native-module-available';
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 const createIconSet = (glyphMap, fontFamily, fontFile, fontStyle) => {
10
- // Android doesn't care about actual fontFamily name, it will only look in fonts folder.
11
- const fontBasename = fontFile ? fontFile.replace(/\.(otf|ttf)$/, '') : fontFamily;
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/${fontFile}#${fontFamily}`,
25
+ windows: `/Assets/${fontFileName}#${postScriptName}`,
14
26
  android: fontBasename,
15
27
  web: fontBasename,
16
- default: fontFamily
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 glyph = name ? resolveGlyph(name) : '';
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__*/React.createElement(Text, _extends({
78
+ return /*#__PURE__*/_jsxs(Text, {
51
79
  ref: innerRef,
52
- selectable: false
53
- }, newProps), glyph, children);
80
+ selectable: false,
81
+ ...newProps,
82
+ children: [glyph, children]
83
+ });
54
84
  };
55
- const WrappedIcon = /*#__PURE__*/forwardRef((props, ref) => /*#__PURE__*/React.createElement(Icon, _extends({
56
- innerRef: ref
57
- }, props)));
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","fontFamily","fontFile","fontStyle","fontBasename","replace","fontReference","select","windows","android","web","default","resolveGlyph","name","glyph","String","fromCodePoint","Icon","size","color","style","children","allowFontScaling","innerRef","props","styleDefaults","fontSize","styleOverrides","fontWeight","newProps","createElement","_extends","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
+ {"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,3 +1,5 @@
1
+ "use strict";
2
+
1
3
  const TYPE_VALUE = 'value';
2
4
  const TYPE_ERROR = 'error';
3
5
  export default function createIconSourceCache() {
@@ -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":"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","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,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["dynamicLoading/types.ts"],"mappings":"","ignoreList":[]}
@@ -1,3 +1,5 @@
1
+ "use strict";
2
+
1
3
  import NativeIconAPI from './NativeVectorIcons';
2
4
  export default function ensureNativeModuleAvailable() {
3
5
  if (!NativeIconAPI) {
@@ -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":[]}
@@ -1,2 +1,34 @@
1
- export { createIconSet, DEFAULT_ICON_SIZE, DEFAULT_ICON_COLOR } from './create-icon-set';
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
@@ -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,3 +1,5 @@
1
+ "use strict";
2
+
1
3
  import fs from 'node:fs';
2
4
  import path from 'node:path';
3
5
  import { resolveNodeModuleDir } from '@react-native-community/cli-tools';
@@ -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
- import { getFontPaths } from "./common";
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;AAEA,SAASA,YAAY,QAAQ,UAAU;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
+ {"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 './common';
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,UAAU;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":[]}
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