@react-native-vector-icons/common 12.4.2 → 13.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +30 -19
  2. package/lib/commonjs/create-icon-set.js +23 -14
  3. package/lib/commonjs/create-icon-set.js.map +1 -1
  4. package/lib/commonjs/create-icon-source-cache.js.map +1 -1
  5. package/lib/commonjs/dynamicLoading/dynamic-font-loading.js +0 -1
  6. package/lib/commonjs/dynamicLoading/dynamic-font-loading.js.map +1 -1
  7. package/lib/commonjs/dynamicLoading/dynamic-loading-setting.js.map +1 -1
  8. package/lib/commonjs/get-image-library.js +5 -7
  9. package/lib/commonjs/get-image-library.js.map +1 -1
  10. package/lib/commonjs/get-image-source.js +34 -27
  11. package/lib/commonjs/get-image-source.js.map +1 -1
  12. package/lib/module/create-icon-set.js +23 -12
  13. package/lib/module/create-icon-set.js.map +1 -1
  14. package/lib/module/create-icon-source-cache.js.map +1 -1
  15. package/lib/module/dynamicLoading/dynamic-font-loading.js +0 -1
  16. package/lib/module/dynamicLoading/dynamic-font-loading.js.map +1 -1
  17. package/lib/module/dynamicLoading/dynamic-loading-setting.js.map +1 -1
  18. package/lib/module/get-image-library.js +5 -8
  19. package/lib/module/get-image-library.js.map +1 -1
  20. package/lib/module/get-image-source.js +34 -27
  21. package/lib/module/get-image-source.js.map +1 -1
  22. package/lib/typescript/commonjs/src/create-icon-set.d.ts +9 -5
  23. package/lib/typescript/commonjs/src/create-icon-set.d.ts.map +1 -1
  24. package/lib/typescript/commonjs/src/create-icon-source-cache.d.ts +17 -4
  25. package/lib/typescript/commonjs/src/create-icon-source-cache.d.ts.map +1 -1
  26. package/lib/typescript/commonjs/src/dynamicLoading/dynamic-font-loading.d.ts.map +1 -1
  27. package/lib/typescript/commonjs/src/dynamicLoading/dynamic-loading-setting.d.ts +2 -1
  28. package/lib/typescript/commonjs/src/dynamicLoading/dynamic-loading-setting.d.ts.map +1 -1
  29. package/lib/typescript/commonjs/src/get-image-library.d.ts +7 -3
  30. package/lib/typescript/commonjs/src/get-image-library.d.ts.map +1 -1
  31. package/lib/typescript/commonjs/src/get-image-source.d.ts +6 -7
  32. package/lib/typescript/commonjs/src/get-image-source.d.ts.map +1 -1
  33. package/lib/typescript/module/src/create-icon-set.d.ts +9 -5
  34. package/lib/typescript/module/src/create-icon-set.d.ts.map +1 -1
  35. package/lib/typescript/module/src/create-icon-source-cache.d.ts +17 -4
  36. package/lib/typescript/module/src/create-icon-source-cache.d.ts.map +1 -1
  37. package/lib/typescript/module/src/dynamicLoading/dynamic-font-loading.d.ts.map +1 -1
  38. package/lib/typescript/module/src/dynamicLoading/dynamic-loading-setting.d.ts +2 -1
  39. package/lib/typescript/module/src/dynamicLoading/dynamic-loading-setting.d.ts.map +1 -1
  40. package/lib/typescript/module/src/get-image-library.d.ts +7 -3
  41. package/lib/typescript/module/src/get-image-library.d.ts.map +1 -1
  42. package/lib/typescript/module/src/get-image-source.d.ts +6 -7
  43. package/lib/typescript/module/src/get-image-source.d.ts.map +1 -1
  44. package/package.json +6 -2
  45. package/src/create-icon-set.tsx +41 -26
  46. package/src/create-icon-source-cache.ts +20 -3
  47. package/src/dynamicLoading/dynamic-font-loading.ts +0 -1
  48. package/src/dynamicLoading/dynamic-loading-setting.ts +2 -1
  49. package/src/get-image-library.ts +16 -8
  50. package/src/get-image-source.ts +31 -32
@@ -1 +1 @@
1
- {"version":3,"names":["getIsRenderToImageSupported","NativeIconAPI","require","globalRef","globalThis","hasExpoRenderToImage","ensureGetImageAvailable","ensureNativeModuleAvailable","ExpoFontUtils","expo","modules","getImageForFont","fontReference","glyph","size","color","result","renderToImageAsync","fontFamily","uri","getImageForFontSync","Error"],"sourceRoot":"../../src","sources":["get-image-library.ts"],"mappings":";;AAAA,SAASA,2BAA2B,QAAQ,6CAA0C;;AAEtF;AACA,IAAIC,aAA2E,GAAG,IAAI;AAEtF,IAAI;EACF;EACAA,aAAa,GAAGC,OAAO,CAAC,sCAAsC,CAAC;AACjE,CAAC,CAAC,MAAM;EACN;EACA;EACA;AAAA;AAGF,MAAMC,SAAS,GAAGC,UAAU;AAC5B,MAAMC,oBAAoB,GAAGL,2BAA2B,CAACG,SAAS,CAAC;AAEnE,OAAO,MAAMG,uBAAuB,GAAGA,CAAA,KAAM;EAC3C,IAAIL,aAAa,EAAE;IACjBA,aAAa,CAACM,2BAA2B,CAAC,CAAC;IAC3C,OAAON,aAAa;EACtB;EACA,IAAII,oBAAoB,EAAE;IACxB,MAAM;MAAEG;IAAc,CAAC,GAAGL,SAAS,CAACM,IAAI,CAACC,OAAO;IAChD,OAAO;MACLC,eAAe,EAAE,MAAAA,CAAOC,aAAqB,EAAEC,KAAa,EAAEC,IAAY,EAAEC,KAAa,KAAK;QAC5F,MAAMC,MAAM,GAAG,MAAMR,aAAa,CAACS,kBAAkB,CAACJ,KAAK,EAAE;UAC3DK,UAAU,EAAEN,aAAa;UACzBE,IAAI;UACJC;QACF,CAAC,CAAC;QACF,OAAOC,MAAM,CAACG,GAAG;MACnB,CAAC;MACDC,mBAAmB,EAAEA,CAAA,KAAM;QACzB,MAAM,IAAIC,KAAK,CACb,2OACF,CAAC;MACH;IACF,CAAC;EACH;EACA,MAAM,IAAIA,KAAK,CACb,iNACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["processColor","getIsRenderToImageSupported","NativeIconAPI","require","globalRef","globalThis","hasExpoRenderToImage","ensureGetImageAvailable","ensureNativeModuleAvailable","ExpoFontUtils","expo","modules","getImageForFont","glyph","options","renderToImageAsync","color","getImageForFontSync","Error"],"sourceRoot":"../../src","sources":["get-image-library.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,cAAc;AAE3C,SAASC,2BAA2B,QAAQ,6CAA0C;AAEtF,IAAIC,aAA2E,GAAG,IAAI;AAMtF,IAAI;EACF;EACAA,aAAa,GAAGC,OAAO,CAAC,sCAAsC,CAAC;AACjE,CAAC,CAAC,MAAM;EACN;EACA;EACA;AAAA;AAGF,MAAMC,SAAS,GAAGC,UAAU;AAC5B,MAAMC,oBAAoB,GAAGL,2BAA2B,CAACG,SAAS,CAAC;AAOnE,OAAO,MAAMG,uBAAuB,GAAGA,CAAA,KAAmB;EACxD,IAAIL,aAAa,EAAE;IACjBA,aAAa,CAACM,2BAA2B,CAAC,CAAC;IAC3C,OAAON,aAAa;EACtB;EACA,IAAII,oBAAoB,EAAE;IACxB,MAAM;MAAEG;IAAc,CAAC,GAAGL,SAAS,CAACM,IAAI,CAACC,OAAO;IAChD,OAAO;MACLC,eAAe,EAAE,MAAAA,CAAOC,KAAK,EAAEC,OAAO,KAAK;QACzC,OAAO,MAAML,aAAa,CAACM,kBAAkB,CAACF,KAAK,EAAE;UACnD,GAAGC,OAAO;UACVE,KAAK,EAAEhB,YAAY,CAACc,OAAO,CAACE,KAAK,IAAI,OAAO;QAC9C,CAAC,CAAC;MACJ,CAAC;MACDC,mBAAmB,EAAEA,CAAA,KAAM;QACzB,MAAM,IAAIC,KAAK,CACb,2OACF,CAAC;MACH;IACF,CAAC;EACH;EACA,MAAM,IAAIA,KAAK,CACb,iNACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,38 +1,45 @@
1
1
  "use strict";
2
2
 
3
- import { PixelRatio, processColor } from 'react-native';
4
3
  import { DEFAULT_ICON_COLOR, DEFAULT_ICON_SIZE } from "./defaults.js";
5
4
  import { ensureGetImageAvailable } from "./get-image-library.js";
6
- export const getImageSourceSync = (imageSourceCache, fontReference, glyph, size = DEFAULT_ICON_SIZE, color = DEFAULT_ICON_COLOR) => {
7
- const NativeIconAPI = ensureGetImageAvailable();
8
- const processedColor = processColor(color);
9
- const cacheKey = `${glyph}:${size}:${String(processedColor)}`;
10
- const maybeCachedValue = imageSourceCache.get(cacheKey);
11
- if (maybeCachedValue !== undefined) {
12
- return maybeCachedValue;
13
- }
14
- const imagePath = NativeIconAPI.getImageForFontSync(fontReference, glyph, size, processedColor // FIXME what if a non existent colour was passed in?,
15
- );
16
- const value = {
17
- uri: imagePath,
18
- scale: PixelRatio.get()
5
+ const resolveOptions = (imageSourceCache, fontReference, glyph, {
6
+ size = DEFAULT_ICON_SIZE,
7
+ color = DEFAULT_ICON_COLOR,
8
+ lineHeight
9
+ } = {}) => {
10
+ const cacheKey = `${glyph}:${size}:${String(color)}:${lineHeight ?? ''}`;
11
+ const cached = imageSourceCache.get(cacheKey);
12
+ const nativeOptions = {
13
+ fontFamily: fontReference,
14
+ size,
15
+ color: color,
16
+ lineHeight
19
17
  };
18
+ return {
19
+ cacheKey,
20
+ cached,
21
+ nativeOptions
22
+ };
23
+ };
24
+ export const getImageSourceSync = (imageSourceCache, fontReference, glyph, options) => {
25
+ const {
26
+ cacheKey,
27
+ cached,
28
+ nativeOptions
29
+ } = resolveOptions(imageSourceCache, fontReference, glyph, options);
30
+ if (cached !== undefined) return cached;
31
+ const value = ensureGetImageAvailable().getImageForFontSync(glyph, nativeOptions);
20
32
  imageSourceCache.setValue(cacheKey, value);
21
33
  return value;
22
34
  };
23
- export const getImageSource = async (imageSourceCache, fontReference, glyph, size = DEFAULT_ICON_SIZE, color = DEFAULT_ICON_COLOR) => {
24
- const NativeIconAPI = ensureGetImageAvailable();
25
- const processedColor = processColor(color);
26
- const cacheKey = `${glyph}:${size}:${String(processedColor)}`;
27
- const maybeCachedValue = imageSourceCache.get(cacheKey);
28
- if (maybeCachedValue !== undefined) {
29
- return maybeCachedValue;
30
- }
31
- const imagePath = await NativeIconAPI.getImageForFont(fontReference, glyph, size, processedColor);
32
- const value = {
33
- uri: imagePath,
34
- scale: PixelRatio.get()
35
- };
35
+ export const getImageSource = async (imageSourceCache, fontReference, glyph, options) => {
36
+ const {
37
+ cacheKey,
38
+ cached,
39
+ nativeOptions
40
+ } = resolveOptions(imageSourceCache, fontReference, glyph, options);
41
+ if (cached !== undefined) return cached;
42
+ const value = await ensureGetImageAvailable().getImageForFont(glyph, nativeOptions);
36
43
  imageSourceCache.setValue(cacheKey, value);
37
44
  return value;
38
45
  };
@@ -1 +1 @@
1
- {"version":3,"names":["PixelRatio","processColor","DEFAULT_ICON_COLOR","DEFAULT_ICON_SIZE","ensureGetImageAvailable","getImageSourceSync","imageSourceCache","fontReference","glyph","size","color","NativeIconAPI","processedColor","cacheKey","String","maybeCachedValue","get","undefined","imagePath","getImageForFontSync","value","uri","scale","setValue","getImageSource","getImageForFont"],"sourceRoot":"../../src","sources":["get-image-source.ts"],"mappings":";;AACA,SAASA,UAAU,EAAEC,YAAY,QAAQ,cAAc;AAGvD,SAASC,kBAAkB,EAAEC,iBAAiB,QAAQ,eAAY;AAClE,SAASC,uBAAuB,QAAQ,wBAAqB;AAE7D,OAAO,MAAMC,kBAAkB,GAAGA,CAChCC,gBAA0D,EAC1DC,aAAqB,EACrBC,KAAa,EACbC,IAAI,GAAGN,iBAAiB,EACxBO,KAAyB,GAAGR,kBAAkB,KAC3C;EACH,MAAMS,aAAa,GAAGP,uBAAuB,CAAC,CAAC;EAE/C,MAAMQ,cAAc,GAAGX,YAAY,CAACS,KAAK,CAAC;EAC1C,MAAMG,QAAQ,GAAG,GAAGL,KAAK,IAAIC,IAAI,IAAIK,MAAM,CAACF,cAAc,CAAC,EAAE;EAE7D,MAAMG,gBAAgB,GAAGT,gBAAgB,CAACU,GAAG,CAACH,QAAQ,CAAC;EACvD,IAAIE,gBAAgB,KAAKE,SAAS,EAAE;IAClC,OAAOF,gBAAgB;EACzB;EAEA,MAAMG,SAAS,GAAGP,aAAa,CAACQ,mBAAmB,CACjDZ,aAAa,EACbC,KAAK,EACLC,IAAI,EACJG,cAAc,CAAY;EAC5B,CAAC;EACD,MAAMQ,KAAK,GAAG;IAAEC,GAAG,EAAEH,SAAS;IAAEI,KAAK,EAAEtB,UAAU,CAACgB,GAAG,CAAC;EAAE,CAAC;EACzDV,gBAAgB,CAACiB,QAAQ,CAACV,QAAQ,EAAEO,KAAK,CAAC;EAC1C,OAAOA,KAAK;AACd,CAAC;AAED,OAAO,MAAMI,cAAc,GAAG,MAAAA,CAC5BlB,gBAA0D,EAC1DC,aAAqB,EACrBC,KAAa,EACbC,IAAI,GAAGN,iBAAiB,EACxBO,KAAyB,GAAGR,kBAAkB,KAC3C;EACH,MAAMS,aAAa,GAAGP,uBAAuB,CAAC,CAAC;EAE/C,MAAMQ,cAAc,GAAGX,YAAY,CAACS,KAAK,CAAC;EAC1C,MAAMG,QAAQ,GAAG,GAAGL,KAAK,IAAIC,IAAI,IAAIK,MAAM,CAACF,cAAc,CAAC,EAAE;EAE7D,MAAMG,gBAAgB,GAAGT,gBAAgB,CAACU,GAAG,CAACH,QAAQ,CAAC;EACvD,IAAIE,gBAAgB,KAAKE,SAAS,EAAE;IAClC,OAAOF,gBAAgB;EACzB;EAEA,MAAMG,SAAS,GAAG,MAAMP,aAAa,CAACc,eAAe,CAAClB,aAAa,EAAEC,KAAK,EAAEC,IAAI,EAAEG,cAAwB,CAAC;EAC3G,MAAMQ,KAAK,GAAG;IAAEC,GAAG,EAAEH,SAAS;IAAEI,KAAK,EAAEtB,UAAU,CAACgB,GAAG,CAAC;EAAE,CAAC;EACzDV,gBAAgB,CAACiB,QAAQ,CAACV,QAAQ,EAAEO,KAAK,CAAC;EAC1C,OAAOA,KAAK;AACd,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["DEFAULT_ICON_COLOR","DEFAULT_ICON_SIZE","ensureGetImageAvailable","resolveOptions","imageSourceCache","fontReference","glyph","size","color","lineHeight","cacheKey","String","cached","get","nativeOptions","fontFamily","getImageSourceSync","options","undefined","value","getImageForFontSync","setValue","getImageSource","getImageForFont"],"sourceRoot":"../../src","sources":["get-image-source.ts"],"mappings":";;AAGA,SAASA,kBAAkB,EAAEC,iBAAiB,QAAQ,eAAY;AAClE,SAASC,uBAAuB,QAAQ,wBAAqB;AAQ7D,MAAMC,cAAc,GAAGA,CACrBC,gBAA0D,EAC1DC,aAAqB,EACrBC,KAAa,EACb;EAAEC,IAAI,GAAGN,iBAAiB;EAAEO,KAAK,GAAGR,kBAAkB;EAAES;AAAkC,CAAC,GAAG,CAAC,CAAC,KAC7F;EACH,MAAMC,QAAQ,GAAG,GAAGJ,KAAK,IAAIC,IAAI,IAAII,MAAM,CAACH,KAAK,CAAC,IAAIC,UAAU,IAAI,EAAE,EAAE;EACxE,MAAMG,MAAM,GAAGR,gBAAgB,CAACS,GAAG,CAACH,QAAQ,CAAC;EAC7C,MAAMI,aAAa,GAAG;IACpBC,UAAU,EAAEV,aAAa;IACzBE,IAAI;IACJC,KAAK,EAAEA,KAAe;IACtBC;EACF,CAAC;EACD,OAAO;IAAEC,QAAQ;IAAEE,MAAM;IAAEE;EAAc,CAAC;AAC5C,CAAC;AAED,OAAO,MAAME,kBAAkB,GAAGA,CAChCZ,gBAA0D,EAC1DC,aAAqB,EACrBC,KAAa,EACbW,OAA+B,KAC5B;EACH,MAAM;IAAEP,QAAQ;IAAEE,MAAM;IAAEE;EAAc,CAAC,GAAGX,cAAc,CAACC,gBAAgB,EAAEC,aAAa,EAAEC,KAAK,EAAEW,OAAO,CAAC;EAC3G,IAAIL,MAAM,KAAKM,SAAS,EAAE,OAAON,MAAM;EAEvC,MAAMO,KAAK,GAAGjB,uBAAuB,CAAC,CAAC,CAACkB,mBAAmB,CAACd,KAAK,EAAEQ,aAAa,CAAC;EACjFV,gBAAgB,CAACiB,QAAQ,CAACX,QAAQ,EAAES,KAAK,CAAC;EAC1C,OAAOA,KAAK;AACd,CAAC;AAED,OAAO,MAAMG,cAAc,GAAG,MAAAA,CAC5BlB,gBAA0D,EAC1DC,aAAqB,EACrBC,KAAa,EACbW,OAA+B,KAC5B;EACH,MAAM;IAAEP,QAAQ;IAAEE,MAAM;IAAEE;EAAc,CAAC,GAAGX,cAAc,CAACC,gBAAgB,EAAEC,aAAa,EAAEC,KAAK,EAAEW,OAAO,CAAC;EAC3G,IAAIL,MAAM,KAAKM,SAAS,EAAE,OAAON,MAAM;EAEvC,MAAMO,KAAK,GAAG,MAAMjB,uBAAuB,CAAC,CAAC,CAACqB,eAAe,CAACjB,KAAK,EAAEQ,aAAa,CAAC;EACnFV,gBAAgB,CAACiB,QAAQ,CAACX,QAAQ,EAAES,KAAK,CAAC;EAC1C,OAAOA,KAAK;AACd,CAAC","ignoreList":[]}
@@ -1,12 +1,16 @@
1
1
  import React, { type Ref } from 'react';
2
2
  import { Text, type TextProps, type TextStyle } from 'react-native';
3
+ import { type ImageResult } from './create-icon-source-cache';
3
4
  import type { FontSource } from './dynamicLoading/types';
4
- type ValueData = {
5
- uri: string;
6
- scale: number;
5
+ import { type GetImageSourceOptions } from './get-image-source';
6
+ type GetImageSourceSyncIconFunc<GM> = {
7
+ (name: GM, options: GetImageSourceOptions): ImageResult;
8
+ (name: GM, size?: number, color?: TextStyle['color']): ImageResult;
9
+ };
10
+ type GetImageSourceIconFunc<GM> = {
11
+ (name: GM, options: GetImageSourceOptions): Promise<ImageResult>;
12
+ (name: GM, size?: number, color?: TextStyle['color']): Promise<ImageResult>;
7
13
  };
8
- type GetImageSourceSyncIconFunc<GM> = (name: GM, size?: number, color?: TextStyle['color']) => ValueData | undefined;
9
- type GetImageSourceIconFunc<GM> = (name: GM, size?: number, color?: TextStyle['color']) => Promise<ValueData | undefined>;
10
14
  export type IconProps<T> = TextProps & {
11
15
  name: T;
12
16
  size?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"create-icon-set.d.ts","sourceRoot":"","sources":["../../../../src/create-icon-set.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAc,KAAK,GAAG,EAAa,MAAM,OAAO,CAAC;AAE/D,OAAO,EAAY,IAAI,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAM9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGzD,KAAK,SAAS,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAChD,KAAK,0BAA0B,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC;AACrH,KAAK,sBAAsB,CAAC,EAAE,IAAI,CAChC,IAAI,EAAE,EAAE,EACR,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,KACvB,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;AAEpC,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,SAAS,GAAG;IACrC,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3B,QAAQ,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;CACtB,CAAC;AAEF,KAAK,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;AAEhD,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,QAAQ,IAAI,KAAK,CAAC,EAAE,CACvD,SAAS,GAAG;IACV,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3B,QAAQ,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;CACtB,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAC9B,GAAG;IACF,cAAc,EAAE,sBAAsB,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,kBAAkB,EAAE,0BAA0B,CAAC,MAAM,EAAE,CAAC,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAAE,SAAS,QAAQ,EAC/C,QAAQ,EAAE,EAAE,EACZ,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,GAC7B,aAAa,CAAC,EAAE,CAAC,CAAC;AACrB,wBAAgB,aAAa,CAAC,EAAE,SAAS,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"create-icon-set.d.ts","sourceRoot":"","sources":["../../../../src/create-icon-set.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAc,KAAK,GAAG,EAAa,MAAM,OAAO,CAAC;AAC/D,OAAO,EAAY,IAAI,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9E,OAAO,EAAyB,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAIrF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EACL,KAAK,qBAAqB,EAG3B,MAAM,oBAAoB,CAAC;AAE5B,KAAK,0BAA0B,CAAC,EAAE,IAAI;IACpC,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,GAAG,WAAW,CAAC;IACxD,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC;CACpE,CAAC;AACF,KAAK,sBAAsB,CAAC,EAAE,IAAI;IAChC,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACjE,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CAC7E,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,SAAS,GAAG;IACrC,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3B,QAAQ,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;CACtB,CAAC;AAEF,KAAK,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;AAEhD,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,QAAQ,IAAI,KAAK,CAAC,EAAE,CACvD,SAAS,GAAG;IACV,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3B,QAAQ,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;CACtB,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAC9B,GAAG;IACF,cAAc,EAAE,sBAAsB,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,kBAAkB,EAAE,0BAA0B,CAAC,MAAM,EAAE,CAAC,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAAE,SAAS,QAAQ,EAC/C,QAAQ,EAAE,EAAE,EACZ,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,GAC7B,aAAa,CAAC,EAAE,CAAC,CAAC;AACrB,wBAAgB,aAAa,CAAC,EAAE,SAAS,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC"}
@@ -1,10 +1,23 @@
1
- type ValueData = {
1
+ export type ImageResult = {
2
+ /**
3
+ * The file URI to the rendered image.
4
+ */
2
5
  uri: string;
6
+ /**
7
+ * Image width in dp.
8
+ */
9
+ width: number;
10
+ /**
11
+ * Image height in dp.
12
+ */
13
+ height: number;
14
+ /**
15
+ * Scale factor of the image. Multiply the dp dimensions by this value to get the dimensions in pixels.
16
+ */
3
17
  scale: number;
4
18
  };
5
19
  export declare function createIconSourceCache(): {
6
- setValue: (key: string, value: ValueData) => Map<string, ValueData>;
7
- get: (key: string) => ValueData | undefined;
20
+ setValue: (key: string, value: ImageResult) => Map<string, ImageResult>;
21
+ get: (key: string) => ImageResult | undefined;
8
22
  };
9
- export {};
10
23
  //# sourceMappingURL=create-icon-source-cache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-icon-source-cache.d.ts","sourceRoot":"","sources":["../../../../src/create-icon-source-cache.ts"],"names":[],"mappings":"AAAA,KAAK,SAAS,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhD,wBAAgB,qBAAqB;oBAGZ,MAAM,SAAS,SAAS;eAE7B,MAAM;EAGzB"}
1
+ {"version":3,"file":"create-icon-source-cache.d.ts","sourceRoot":"","sources":["../../../../src/create-icon-source-cache.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IACxB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wBAAgB,qBAAqB;oBAGZ,MAAM,SAAS,WAAW;eAE/B,MAAM;EAGzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-font-loading.d.ts","sourceRoot":"","sources":["../../../../../src/dynamicLoading/dynamic-font-loading.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,SAAS,CAAC;AAkFzD,eAAO,MAAM,aAAa,EAAE,aAG3B,CAAC"}
1
+ {"version":3,"file":"dynamic-font-loading.d.ts","sourceRoot":"","sources":["../../../../../src/dynamicLoading/dynamic-font-loading.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,SAAS,CAAC;AAkFzD,eAAO,MAAM,aAAa,EAAE,aAG3B,CAAC"}
@@ -30,8 +30,9 @@ type RenderToImageResult = {
30
30
  };
31
31
  type ExpoFontUtilsModule = {
32
32
  renderToImageAsync: (glyph: string, options: {
33
- fontFamily?: string;
33
+ fontFamily: string;
34
34
  size?: number;
35
+ lineHeight?: number;
35
36
  color?: number;
36
37
  }) => Promise<RenderToImageResult>;
37
38
  };
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-loading-setting.d.ts","sourceRoot":"","sources":["../../../../../src/dynamicLoading/dynamic-loading-setting.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,KAAK,eAAe,GAAG;IAGrB,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACzF,CAAC;AAGF,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE,KAAK,oBAAoB,GAAG;IAG1B,cAAc,EAAE,MAAM,MAAM,EAAE,CAAC;IAC/B,SAAS,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9E,CAAC;AAIF,KAAK,mBAAmB,GAAG;IACzB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;SAEK;IACL,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,kBAAkB,EAAE,CAClB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;QACP,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,KACE,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACnC,CAAC;AAEF,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,UAAU;QAClB,OAAO,EAAE;YACP,SAAS,CAAC,EAAE,eAAe,CAAC;YAC5B,cAAc,CAAC,EAAE,oBAAoB,CAAC;YACtC,aAAa,CAAC,EAAE,mBAAmB,CAAC;SACrC,CAAC;KACH;IAGD,IAAI,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;CAClC;AAED,KAAK,cAAc,GAAG;IACpB,OAAO,EAAE;QACP,SAAS,EAAE,eAAe,CAAC;QAC3B,cAAc,EAAE,oBAAoB,CAAC;KACtC,CAAC;CACH,CAAC;AAeF,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,GAAG,GAAG,SAAS,IAAI;IACxE,IAAI,EAAE;QACJ,OAAO,EAAE;YACP,aAAa,EAAE,mBAAmB,CAAC;SACpC,CAAC;KACH,CAAC;CACH,CAEA;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,IAAI;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAI1G;AAQD,eAAO,MAAM,yBAAyB,eAAiD,CAAC;AAExF;;;;;;;KAOK;AACL,eAAO,MAAM,wBAAwB,GAAI,OAAO,OAAO,KAAG,OAgBzD,CAAC;AAEF;;KAEK;AACL,eAAO,MAAM,uBAAuB,QAAO,OAC6B,CAAC;AAEzE,KAAK,aAAa,GAAG,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,KAAK,IAAI,CAAC;AAIlG;;KAEK;AACL,eAAO,MAAM,8BAA8B,GAAI,UAAU,aAAa,SAErE,CAAC;AAEF,eAAO,MAAM,gBAAgB,iCAAoC,CAAC"}
1
+ {"version":3,"file":"dynamic-loading-setting.d.ts","sourceRoot":"","sources":["../../../../../src/dynamicLoading/dynamic-loading-setting.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,KAAK,eAAe,GAAG;IAGrB,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACzF,CAAC;AAGF,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE,KAAK,oBAAoB,GAAG;IAG1B,cAAc,EAAE,MAAM,MAAM,EAAE,CAAC;IAC/B,SAAS,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9E,CAAC;AAIF,KAAK,mBAAmB,GAAG;IACzB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;SAEK;IACL,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,kBAAkB,EAAE,CAClB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,KACE,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACnC,CAAC;AAEF,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,UAAU;QAClB,OAAO,EAAE;YACP,SAAS,CAAC,EAAE,eAAe,CAAC;YAC5B,cAAc,CAAC,EAAE,oBAAoB,CAAC;YACtC,aAAa,CAAC,EAAE,mBAAmB,CAAC;SACrC,CAAC;KACH;IAGD,IAAI,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;CAClC;AAED,KAAK,cAAc,GAAG;IACpB,OAAO,EAAE;QACP,SAAS,EAAE,eAAe,CAAC;QAC3B,cAAc,EAAE,oBAAoB,CAAC;KACtC,CAAC;CACH,CAAC;AAeF,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,GAAG,GAAG,SAAS,IAAI;IACxE,IAAI,EAAE;QACJ,OAAO,EAAE;YACP,aAAa,EAAE,mBAAmB,CAAC;SACpC,CAAC;KACH,CAAC;CACH,CAEA;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,IAAI;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAI1G;AAQD,eAAO,MAAM,yBAAyB,eAAiD,CAAC;AAExF;;;;;;;KAOK;AACL,eAAO,MAAM,wBAAwB,GAAI,OAAO,OAAO,KAAG,OAgBzD,CAAC;AAEF;;KAEK;AACL,eAAO,MAAM,uBAAuB,QAAO,OAC6B,CAAC;AAEzE,KAAK,aAAa,GAAG,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,KAAK,IAAI,CAAC;AAIlG;;KAEK;AACL,eAAO,MAAM,8BAA8B,GAAI,UAAU,aAAa,SAErE,CAAC;AAEF,eAAO,MAAM,gBAAgB,iCAAoC,CAAC"}
@@ -1,5 +1,9 @@
1
- export declare const ensureGetImageAvailable: () => typeof import("@react-native-vector-icons/get-image") | {
2
- getImageForFont: (fontReference: string, glyph: string, size: number, color: number) => Promise<string>;
3
- getImageForFontSync: () => never;
1
+ import type { ImageOptions } from '@react-native-vector-icons/get-image';
2
+ import type { ImageResult } from './create-icon-source-cache';
3
+ type GetImageAPI = {
4
+ getImageForFont(glyph: string, options: ImageOptions): Promise<ImageResult>;
5
+ getImageForFontSync(glyph: string, options: ImageOptions): ImageResult;
4
6
  };
7
+ export declare const ensureGetImageAvailable: () => GetImageAPI;
8
+ export {};
5
9
  //# sourceMappingURL=get-image-library.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-image-library.d.ts","sourceRoot":"","sources":["../../../../src/get-image-library.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,uBAAuB;qCAQS,MAAM,SAAS,MAAM,QAAQ,MAAM,SAAS,MAAM;;CAkB9F,CAAC"}
1
+ {"version":3,"file":"get-image-library.d.ts","sourceRoot":"","sources":["../../../../src/get-image-library.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAEzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAc9D,KAAK,WAAW,GAAG;IACjB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC5E,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,WAAW,CAAC;CACxE,CAAC;AAEF,eAAO,MAAM,uBAAuB,QAAO,WAwB1C,CAAC"}
@@ -1,11 +1,10 @@
1
1
  import type { TextStyle } from 'react-native';
2
2
  import type { createIconSourceCache } from './create-icon-source-cache';
3
- export declare const getImageSourceSync: (imageSourceCache: ReturnType<typeof createIconSourceCache>, fontReference: string, glyph: string, size?: number, color?: TextStyle["color"]) => {
4
- uri: string;
5
- scale: number;
3
+ export type GetImageSourceOptions = {
4
+ size?: number;
5
+ color?: TextStyle['color'];
6
+ lineHeight?: number;
6
7
  };
7
- export declare const getImageSource: (imageSourceCache: ReturnType<typeof createIconSourceCache>, fontReference: string, glyph: string, size?: number, color?: TextStyle["color"]) => Promise<{
8
- uri: string;
9
- scale: number;
10
- }>;
8
+ export declare const getImageSourceSync: (imageSourceCache: ReturnType<typeof createIconSourceCache>, fontReference: string, glyph: string, options?: GetImageSourceOptions) => import("./create-icon-source-cache").ImageResult;
9
+ export declare const getImageSource: (imageSourceCache: ReturnType<typeof createIconSourceCache>, fontReference: string, glyph: string, options?: GetImageSourceOptions) => Promise<import("./create-icon-source-cache").ImageResult>;
11
10
  //# sourceMappingURL=get-image-source.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-image-source.d.ts","sourceRoot":"","sources":["../../../../src/get-image-source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAIxE,eAAO,MAAM,kBAAkB,GAC7B,kBAAkB,UAAU,CAAC,OAAO,qBAAqB,CAAC,EAC1D,eAAe,MAAM,EACrB,OAAO,MAAM,EACb,aAAwB,EACxB,QAAO,SAAS,CAAC,OAAO,CAAsB;;;CAqB/C,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,kBAAkB,UAAU,CAAC,OAAO,qBAAqB,CAAC,EAC1D,eAAe,MAAM,EACrB,OAAO,MAAM,EACb,aAAwB,EACxB,QAAO,SAAS,CAAC,OAAO,CAAsB;;;EAgB/C,CAAC"}
1
+ {"version":3,"file":"get-image-source.d.ts","sourceRoot":"","sources":["../../../../src/get-image-source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAIxE,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAmBF,eAAO,MAAM,kBAAkB,GAC7B,kBAAkB,UAAU,CAAC,OAAO,qBAAqB,CAAC,EAC1D,eAAe,MAAM,EACrB,OAAO,MAAM,EACb,UAAU,qBAAqB,qDAQhC,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,kBAAkB,UAAU,CAAC,OAAO,qBAAqB,CAAC,EAC1D,eAAe,MAAM,EACrB,OAAO,MAAM,EACb,UAAU,qBAAqB,8DAQhC,CAAC"}
@@ -1,12 +1,16 @@
1
1
  import React, { type Ref } from 'react';
2
2
  import { Text, type TextProps, type TextStyle } from 'react-native';
3
+ import { type ImageResult } from './create-icon-source-cache';
3
4
  import type { FontSource } from './dynamicLoading/types';
4
- type ValueData = {
5
- uri: string;
6
- scale: number;
5
+ import { type GetImageSourceOptions } from './get-image-source';
6
+ type GetImageSourceSyncIconFunc<GM> = {
7
+ (name: GM, options: GetImageSourceOptions): ImageResult;
8
+ (name: GM, size?: number, color?: TextStyle['color']): ImageResult;
9
+ };
10
+ type GetImageSourceIconFunc<GM> = {
11
+ (name: GM, options: GetImageSourceOptions): Promise<ImageResult>;
12
+ (name: GM, size?: number, color?: TextStyle['color']): Promise<ImageResult>;
7
13
  };
8
- type GetImageSourceSyncIconFunc<GM> = (name: GM, size?: number, color?: TextStyle['color']) => ValueData | undefined;
9
- type GetImageSourceIconFunc<GM> = (name: GM, size?: number, color?: TextStyle['color']) => Promise<ValueData | undefined>;
10
14
  export type IconProps<T> = TextProps & {
11
15
  name: T;
12
16
  size?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"create-icon-set.d.ts","sourceRoot":"","sources":["../../../../src/create-icon-set.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAc,KAAK,GAAG,EAAa,MAAM,OAAO,CAAC;AAE/D,OAAO,EAAY,IAAI,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAM9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGzD,KAAK,SAAS,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAChD,KAAK,0BAA0B,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC;AACrH,KAAK,sBAAsB,CAAC,EAAE,IAAI,CAChC,IAAI,EAAE,EAAE,EACR,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,KACvB,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;AAEpC,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,SAAS,GAAG;IACrC,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3B,QAAQ,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;CACtB,CAAC;AAEF,KAAK,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;AAEhD,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,QAAQ,IAAI,KAAK,CAAC,EAAE,CACvD,SAAS,GAAG;IACV,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3B,QAAQ,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;CACtB,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAC9B,GAAG;IACF,cAAc,EAAE,sBAAsB,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,kBAAkB,EAAE,0BAA0B,CAAC,MAAM,EAAE,CAAC,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAAE,SAAS,QAAQ,EAC/C,QAAQ,EAAE,EAAE,EACZ,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,GAC7B,aAAa,CAAC,EAAE,CAAC,CAAC;AACrB,wBAAgB,aAAa,CAAC,EAAE,SAAS,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"create-icon-set.d.ts","sourceRoot":"","sources":["../../../../src/create-icon-set.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAc,KAAK,GAAG,EAAa,MAAM,OAAO,CAAC;AAC/D,OAAO,EAAY,IAAI,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9E,OAAO,EAAyB,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAIrF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EACL,KAAK,qBAAqB,EAG3B,MAAM,oBAAoB,CAAC;AAE5B,KAAK,0BAA0B,CAAC,EAAE,IAAI;IACpC,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,GAAG,WAAW,CAAC;IACxD,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC;CACpE,CAAC;AACF,KAAK,sBAAsB,CAAC,EAAE,IAAI;IAChC,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACjE,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CAC7E,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,SAAS,GAAG;IACrC,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3B,QAAQ,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;CACtB,CAAC;AAEF,KAAK,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;AAEhD,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,QAAQ,IAAI,KAAK,CAAC,EAAE,CACvD,SAAS,GAAG;IACV,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3B,QAAQ,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;CACtB,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAC9B,GAAG;IACF,cAAc,EAAE,sBAAsB,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,kBAAkB,EAAE,0BAA0B,CAAC,MAAM,EAAE,CAAC,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAAE,SAAS,QAAQ,EAC/C,QAAQ,EAAE,EAAE,EACZ,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,GAC7B,aAAa,CAAC,EAAE,CAAC,CAAC;AACrB,wBAAgB,aAAa,CAAC,EAAE,SAAS,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC"}
@@ -1,10 +1,23 @@
1
- type ValueData = {
1
+ export type ImageResult = {
2
+ /**
3
+ * The file URI to the rendered image.
4
+ */
2
5
  uri: string;
6
+ /**
7
+ * Image width in dp.
8
+ */
9
+ width: number;
10
+ /**
11
+ * Image height in dp.
12
+ */
13
+ height: number;
14
+ /**
15
+ * Scale factor of the image. Multiply the dp dimensions by this value to get the dimensions in pixels.
16
+ */
3
17
  scale: number;
4
18
  };
5
19
  export declare function createIconSourceCache(): {
6
- setValue: (key: string, value: ValueData) => Map<string, ValueData>;
7
- get: (key: string) => ValueData | undefined;
20
+ setValue: (key: string, value: ImageResult) => Map<string, ImageResult>;
21
+ get: (key: string) => ImageResult | undefined;
8
22
  };
9
- export {};
10
23
  //# sourceMappingURL=create-icon-source-cache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-icon-source-cache.d.ts","sourceRoot":"","sources":["../../../../src/create-icon-source-cache.ts"],"names":[],"mappings":"AAAA,KAAK,SAAS,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhD,wBAAgB,qBAAqB;oBAGZ,MAAM,SAAS,SAAS;eAE7B,MAAM;EAGzB"}
1
+ {"version":3,"file":"create-icon-source-cache.d.ts","sourceRoot":"","sources":["../../../../src/create-icon-source-cache.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IACxB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wBAAgB,qBAAqB;oBAGZ,MAAM,SAAS,WAAW;eAE/B,MAAM;EAGzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-font-loading.d.ts","sourceRoot":"","sources":["../../../../../src/dynamicLoading/dynamic-font-loading.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,SAAS,CAAC;AAkFzD,eAAO,MAAM,aAAa,EAAE,aAG3B,CAAC"}
1
+ {"version":3,"file":"dynamic-font-loading.d.ts","sourceRoot":"","sources":["../../../../../src/dynamicLoading/dynamic-font-loading.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,SAAS,CAAC;AAkFzD,eAAO,MAAM,aAAa,EAAE,aAG3B,CAAC"}
@@ -30,8 +30,9 @@ type RenderToImageResult = {
30
30
  };
31
31
  type ExpoFontUtilsModule = {
32
32
  renderToImageAsync: (glyph: string, options: {
33
- fontFamily?: string;
33
+ fontFamily: string;
34
34
  size?: number;
35
+ lineHeight?: number;
35
36
  color?: number;
36
37
  }) => Promise<RenderToImageResult>;
37
38
  };
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-loading-setting.d.ts","sourceRoot":"","sources":["../../../../../src/dynamicLoading/dynamic-loading-setting.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,KAAK,eAAe,GAAG;IAGrB,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACzF,CAAC;AAGF,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE,KAAK,oBAAoB,GAAG;IAG1B,cAAc,EAAE,MAAM,MAAM,EAAE,CAAC;IAC/B,SAAS,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9E,CAAC;AAIF,KAAK,mBAAmB,GAAG;IACzB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;SAEK;IACL,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,kBAAkB,EAAE,CAClB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;QACP,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,KACE,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACnC,CAAC;AAEF,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,UAAU;QAClB,OAAO,EAAE;YACP,SAAS,CAAC,EAAE,eAAe,CAAC;YAC5B,cAAc,CAAC,EAAE,oBAAoB,CAAC;YACtC,aAAa,CAAC,EAAE,mBAAmB,CAAC;SACrC,CAAC;KACH;IAGD,IAAI,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;CAClC;AAED,KAAK,cAAc,GAAG;IACpB,OAAO,EAAE;QACP,SAAS,EAAE,eAAe,CAAC;QAC3B,cAAc,EAAE,oBAAoB,CAAC;KACtC,CAAC;CACH,CAAC;AAeF,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,GAAG,GAAG,SAAS,IAAI;IACxE,IAAI,EAAE;QACJ,OAAO,EAAE;YACP,aAAa,EAAE,mBAAmB,CAAC;SACpC,CAAC;KACH,CAAC;CACH,CAEA;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,IAAI;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAI1G;AAQD,eAAO,MAAM,yBAAyB,eAAiD,CAAC;AAExF;;;;;;;KAOK;AACL,eAAO,MAAM,wBAAwB,GAAI,OAAO,OAAO,KAAG,OAgBzD,CAAC;AAEF;;KAEK;AACL,eAAO,MAAM,uBAAuB,QAAO,OAC6B,CAAC;AAEzE,KAAK,aAAa,GAAG,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,KAAK,IAAI,CAAC;AAIlG;;KAEK;AACL,eAAO,MAAM,8BAA8B,GAAI,UAAU,aAAa,SAErE,CAAC;AAEF,eAAO,MAAM,gBAAgB,iCAAoC,CAAC"}
1
+ {"version":3,"file":"dynamic-loading-setting.d.ts","sourceRoot":"","sources":["../../../../../src/dynamicLoading/dynamic-loading-setting.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,KAAK,eAAe,GAAG;IAGrB,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACzF,CAAC;AAGF,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE,KAAK,oBAAoB,GAAG;IAG1B,cAAc,EAAE,MAAM,MAAM,EAAE,CAAC;IAC/B,SAAS,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9E,CAAC;AAIF,KAAK,mBAAmB,GAAG;IACzB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;SAEK;IACL,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,kBAAkB,EAAE,CAClB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,KACE,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACnC,CAAC;AAEF,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,UAAU;QAClB,OAAO,EAAE;YACP,SAAS,CAAC,EAAE,eAAe,CAAC;YAC5B,cAAc,CAAC,EAAE,oBAAoB,CAAC;YACtC,aAAa,CAAC,EAAE,mBAAmB,CAAC;SACrC,CAAC;KACH;IAGD,IAAI,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;CAClC;AAED,KAAK,cAAc,GAAG;IACpB,OAAO,EAAE;QACP,SAAS,EAAE,eAAe,CAAC;QAC3B,cAAc,EAAE,oBAAoB,CAAC;KACtC,CAAC;CACH,CAAC;AAeF,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,GAAG,GAAG,SAAS,IAAI;IACxE,IAAI,EAAE;QACJ,OAAO,EAAE;YACP,aAAa,EAAE,mBAAmB,CAAC;SACpC,CAAC;KACH,CAAC;CACH,CAEA;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,IAAI;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAI1G;AAQD,eAAO,MAAM,yBAAyB,eAAiD,CAAC;AAExF;;;;;;;KAOK;AACL,eAAO,MAAM,wBAAwB,GAAI,OAAO,OAAO,KAAG,OAgBzD,CAAC;AAEF;;KAEK;AACL,eAAO,MAAM,uBAAuB,QAAO,OAC6B,CAAC;AAEzE,KAAK,aAAa,GAAG,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,KAAK,IAAI,CAAC;AAIlG;;KAEK;AACL,eAAO,MAAM,8BAA8B,GAAI,UAAU,aAAa,SAErE,CAAC;AAEF,eAAO,MAAM,gBAAgB,iCAAoC,CAAC"}
@@ -1,5 +1,9 @@
1
- export declare const ensureGetImageAvailable: () => typeof import("@react-native-vector-icons/get-image") | {
2
- getImageForFont: (fontReference: string, glyph: string, size: number, color: number) => Promise<string>;
3
- getImageForFontSync: () => never;
1
+ import type { ImageOptions } from '@react-native-vector-icons/get-image';
2
+ import type { ImageResult } from './create-icon-source-cache';
3
+ type GetImageAPI = {
4
+ getImageForFont(glyph: string, options: ImageOptions): Promise<ImageResult>;
5
+ getImageForFontSync(glyph: string, options: ImageOptions): ImageResult;
4
6
  };
7
+ export declare const ensureGetImageAvailable: () => GetImageAPI;
8
+ export {};
5
9
  //# sourceMappingURL=get-image-library.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-image-library.d.ts","sourceRoot":"","sources":["../../../../src/get-image-library.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,uBAAuB;qCAQS,MAAM,SAAS,MAAM,QAAQ,MAAM,SAAS,MAAM;;CAkB9F,CAAC"}
1
+ {"version":3,"file":"get-image-library.d.ts","sourceRoot":"","sources":["../../../../src/get-image-library.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAEzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAc9D,KAAK,WAAW,GAAG;IACjB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC5E,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,WAAW,CAAC;CACxE,CAAC;AAEF,eAAO,MAAM,uBAAuB,QAAO,WAwB1C,CAAC"}
@@ -1,11 +1,10 @@
1
1
  import type { TextStyle } from 'react-native';
2
2
  import type { createIconSourceCache } from './create-icon-source-cache';
3
- export declare const getImageSourceSync: (imageSourceCache: ReturnType<typeof createIconSourceCache>, fontReference: string, glyph: string, size?: number, color?: TextStyle["color"]) => {
4
- uri: string;
5
- scale: number;
3
+ export type GetImageSourceOptions = {
4
+ size?: number;
5
+ color?: TextStyle['color'];
6
+ lineHeight?: number;
6
7
  };
7
- export declare const getImageSource: (imageSourceCache: ReturnType<typeof createIconSourceCache>, fontReference: string, glyph: string, size?: number, color?: TextStyle["color"]) => Promise<{
8
- uri: string;
9
- scale: number;
10
- }>;
8
+ export declare const getImageSourceSync: (imageSourceCache: ReturnType<typeof createIconSourceCache>, fontReference: string, glyph: string, options?: GetImageSourceOptions) => import("./create-icon-source-cache").ImageResult;
9
+ export declare const getImageSource: (imageSourceCache: ReturnType<typeof createIconSourceCache>, fontReference: string, glyph: string, options?: GetImageSourceOptions) => Promise<import("./create-icon-source-cache").ImageResult>;
11
10
  //# sourceMappingURL=get-image-source.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-image-source.d.ts","sourceRoot":"","sources":["../../../../src/get-image-source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAIxE,eAAO,MAAM,kBAAkB,GAC7B,kBAAkB,UAAU,CAAC,OAAO,qBAAqB,CAAC,EAC1D,eAAe,MAAM,EACrB,OAAO,MAAM,EACb,aAAwB,EACxB,QAAO,SAAS,CAAC,OAAO,CAAsB;;;CAqB/C,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,kBAAkB,UAAU,CAAC,OAAO,qBAAqB,CAAC,EAC1D,eAAe,MAAM,EACrB,OAAO,MAAM,EACb,aAAwB,EACxB,QAAO,SAAS,CAAC,OAAO,CAAsB;;;EAgB/C,CAAC"}
1
+ {"version":3,"file":"get-image-source.d.ts","sourceRoot":"","sources":["../../../../src/get-image-source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAIxE,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAmBF,eAAO,MAAM,kBAAkB,GAC7B,kBAAkB,UAAU,CAAC,OAAO,qBAAqB,CAAC,EAC1D,eAAe,MAAM,EACrB,OAAO,MAAM,EACb,UAAU,qBAAqB,qDAQhC,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,kBAAkB,UAAU,CAAC,OAAO,qBAAqB,CAAC,EAC1D,eAAe,MAAM,EACrB,OAAO,MAAM,EACb,UAAU,qBAAqB,8DAQhC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-native-vector-icons/common",
3
- "version": "12.4.2",
3
+ "version": "13.0.0",
4
4
  "description": "Customizable Icons for React Native with support for image source and full styling.",
5
5
  "source": "./src/index.ts",
6
6
  "main": "./lib/commonjs/index.js",
@@ -83,11 +83,15 @@
83
83
  "typescript": "^5.7.2"
84
84
  },
85
85
  "peerDependencies": {
86
+ "@react-native/assets-registry": "*",
86
87
  "react": "*",
87
88
  "react-native": "*",
88
- "@react-native-vector-icons/get-image": "^12.3.0"
89
+ "@react-native-vector-icons/get-image": "^13.0.0"
89
90
  },
90
91
  "peerDependenciesMeta": {
92
+ "@react-native/assets-registry": {
93
+ "optional": true
94
+ },
91
95
  "@react-native-vector-icons/get-image": {
92
96
  "optional": true
93
97
  }
@@ -1,22 +1,25 @@
1
- // eslint-disable-next-line import/no-extraneous-dependencies
2
1
  import React, { forwardRef, type Ref, useEffect } from 'react';
3
- // eslint-disable-next-line import/no-extraneous-dependencies
4
2
  import { Platform, Text, type TextProps, type TextStyle } from 'react-native';
5
3
 
6
- import { createIconSourceCache } from './create-icon-source-cache';
4
+ import { createIconSourceCache, type ImageResult } from './create-icon-source-cache';
7
5
  import { DEFAULT_ICON_COLOR, DEFAULT_ICON_SIZE } from './defaults';
8
6
  import { dynamicLoader } from './dynamicLoading/dynamic-font-loading';
9
7
  import { isDynamicLoadingEnabled } from './dynamicLoading/dynamic-loading-setting';
10
8
  import type { FontSource } from './dynamicLoading/types';
11
- import { getImageSource as getImageSourceImpl, getImageSourceSync as getImageSourceSyncImpl } from './get-image-source';
12
-
13
- type ValueData = { uri: string; scale: number };
14
- type GetImageSourceSyncIconFunc<GM> = (name: GM, size?: number, color?: TextStyle['color']) => ValueData | undefined;
15
- type GetImageSourceIconFunc<GM> = (
16
- name: GM,
17
- size?: number,
18
- color?: TextStyle['color'],
19
- ) => Promise<ValueData | undefined>;
9
+ import {
10
+ type GetImageSourceOptions,
11
+ getImageSource as getImageSourceImpl,
12
+ getImageSourceSync as getImageSourceSyncImpl,
13
+ } from './get-image-source';
14
+
15
+ type GetImageSourceSyncIconFunc<GM> = {
16
+ (name: GM, options: GetImageSourceOptions): ImageResult;
17
+ (name: GM, size?: number, color?: TextStyle['color']): ImageResult;
18
+ };
19
+ type GetImageSourceIconFunc<GM> = {
20
+ (name: GM, options: GetImageSourceOptions): Promise<ImageResult>;
21
+ (name: GM, size?: number, color?: TextStyle['color']): Promise<ImageResult>;
22
+ };
20
23
 
21
24
  export type IconProps<T> = TextProps & {
22
25
  name: T;
@@ -82,6 +85,8 @@ export function createIconSet<GM extends GlyphMap>(
82
85
  fontStyle: 'normal',
83
86
  };
84
87
 
88
+ const fontSource = typeof postScriptNameOrOptions === 'object' && postScriptNameOrOptions?.fontSource;
89
+
85
90
  const resolveGlyph = (name: keyof GM): string => {
86
91
  const glyph = glyphMap[name] || '?';
87
92
 
@@ -102,21 +107,19 @@ export function createIconSet<GM extends GlyphMap>(
102
107
  innerRef,
103
108
  ...props
104
109
  }: IconProps<keyof GM>) => {
110
+ const canUseDynamicLoading = !!fontSource && isDynamicLoadingEnabled();
105
111
  const [isFontLoaded, setIsFontLoaded] = React.useState(
106
- isDynamicLoadingEnabled() ? dynamicLoader.isLoaded(fontReference) : true,
112
+ canUseDynamicLoading ? dynamicLoader.isLoaded(fontReference) : true,
107
113
  );
108
114
  const glyph = isFontLoaded && name ? resolveGlyph(name) : '';
109
115
 
116
+ const shouldLoadFontDynamically = !isFontLoaded && canUseDynamicLoading;
110
117
  // biome-ignore lint/correctness/useExhaustiveDependencies: the dependencies never change
111
118
  useEffect(() => {
112
119
  let isMounted = true;
113
120
 
114
- if (
115
- !isFontLoaded &&
116
- typeof postScriptNameOrOptions === 'object' &&
117
- typeof postScriptNameOrOptions.fontSource !== 'undefined'
118
- ) {
119
- dynamicLoader.loadFontAsync(fontReference, postScriptNameOrOptions.fontSource).finally(() => {
121
+ if (shouldLoadFontDynamically) {
122
+ dynamicLoader.loadFontAsync(fontReference, fontSource).finally(() => {
120
123
  if (isMounted) {
121
124
  setIsFontLoaded(true);
122
125
  }
@@ -134,7 +137,7 @@ export function createIconSet<GM extends GlyphMap>(
134
137
 
135
138
  const newProps: TextProps = {
136
139
  ...props,
137
- style: [styleDefaults, style, styleOverrides, fontStyle || {}],
140
+ style: [styleDefaults, style, styleOverrides, fontStyle],
138
141
  allowFontScaling,
139
142
  };
140
143
 
@@ -153,15 +156,27 @@ export function createIconSet<GM extends GlyphMap>(
153
156
 
154
157
  const imageSourceCache = createIconSourceCache();
155
158
 
156
- const getImageSource: GetImageSourceIconFunc<keyof GM> = async (name, size, color) => {
157
- if (typeof postScriptNameOrOptions === 'object' && typeof postScriptNameOrOptions.fontSource !== 'undefined') {
158
- await dynamicLoader.loadFontAsync(fontReference, postScriptNameOrOptions.fontSource);
159
+ const getImageSource: GetImageSourceIconFunc<keyof GM> = async (
160
+ name: keyof GM,
161
+ sizeOrOptions?: number | GetImageSourceOptions,
162
+ color?: TextStyle['color'],
163
+ ) => {
164
+ const canUseDynamicLoading = !!fontSource && isDynamicLoadingEnabled();
165
+ if (canUseDynamicLoading && !dynamicLoader.isLoaded(fontReference)) {
166
+ await dynamicLoader.loadFontAsync(fontReference, fontSource);
159
167
  }
160
- return getImageSourceImpl(imageSourceCache, fontReference, resolveGlyph(name), size, color);
168
+ const options = typeof sizeOrOptions === 'object' ? sizeOrOptions : { size: sizeOrOptions, color };
169
+ return getImageSourceImpl(imageSourceCache, fontReference, resolveGlyph(name), options);
161
170
  };
162
171
 
163
- const getImageSourceSync: GetImageSourceSyncIconFunc<keyof GM> = (name, size, color) =>
164
- getImageSourceSyncImpl(imageSourceCache, fontReference, resolveGlyph(name), size, color);
172
+ const getImageSourceSync: GetImageSourceSyncIconFunc<keyof GM> = (
173
+ name: keyof GM,
174
+ sizeOrOptions?: number | GetImageSourceOptions,
175
+ color?: TextStyle['color'],
176
+ ) => {
177
+ const options = typeof sizeOrOptions === 'object' ? sizeOrOptions : { size: sizeOrOptions, color };
178
+ return getImageSourceSyncImpl(imageSourceCache, fontReference, resolveGlyph(name), options);
179
+ };
165
180
 
166
181
  const IconNamespace = Object.assign(WrappedIcon, {
167
182
  getImageSource,
@@ -1,9 +1,26 @@
1
- type ValueData = { uri: string; scale: number };
1
+ export type ImageResult = {
2
+ /**
3
+ * The file URI to the rendered image.
4
+ */
5
+ uri: string;
6
+ /**
7
+ * Image width in dp.
8
+ */
9
+ width: number;
10
+ /**
11
+ * Image height in dp.
12
+ */
13
+ height: number;
14
+ /**
15
+ * Scale factor of the image. Multiply the dp dimensions by this value to get the dimensions in pixels.
16
+ */
17
+ scale: number;
18
+ };
2
19
 
3
20
  export function createIconSourceCache() {
4
- const cache = new Map<string, ValueData>();
21
+ const cache = new Map<string, ImageResult>();
5
22
 
6
- const setValue = (key: string, value: ValueData) => cache.set(key, value);
23
+ const setValue = (key: string, value: ImageResult) => cache.set(key, value);
7
24
 
8
25
  const get = (key: string) => cache.get(key);
9
26
 
@@ -5,7 +5,6 @@
5
5
  import { Image, Platform } from 'react-native';
6
6
 
7
7
  // @ts-expect-error missing types
8
- // eslint-disable-next-line import/no-extraneous-dependencies,import/no-unresolved
9
8
  import { getAssetByID } from '@react-native/assets-registry/registry';
10
9
 
11
10
  import { assertExpoModulesPresent, getErrorCallback, type LoadAsyncAsset } from './dynamic-loading-setting';
@@ -44,8 +44,9 @@ type ExpoFontUtilsModule = {
44
44
  renderToImageAsync: (
45
45
  glyph: string,
46
46
  options: {
47
- fontFamily?: string;
47
+ fontFamily: string;
48
48
  size?: number;
49
+ lineHeight?: number;
49
50
  color?: number;
50
51
  },
51
52
  ) => Promise<RenderToImageResult>;