rn-iconify 2.1.0 → 2.2.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 (122) hide show
  1. package/lib/commonjs/IconRenderer.js +54 -12
  2. package/lib/commonjs/IconRenderer.js.map +1 -1
  3. package/lib/commonjs/babel/cache-writer.js +102 -26
  4. package/lib/commonjs/babel/cache-writer.js.map +1 -1
  5. package/lib/commonjs/babel/plugin.js +129 -44
  6. package/lib/commonjs/babel/plugin.js.map +1 -1
  7. package/lib/commonjs/babel/scanner.js +219 -0
  8. package/lib/commonjs/babel/scanner.js.map +1 -0
  9. package/lib/commonjs/babel/types.js.map +1 -1
  10. package/lib/commonjs/cache/CacheManager.js +82 -1
  11. package/lib/commonjs/cache/CacheManager.js.map +1 -1
  12. package/lib/commonjs/cache/DiskCache.js +33 -4
  13. package/lib/commonjs/cache/DiskCache.js.map +1 -1
  14. package/lib/commonjs/cli/CLAUDE.md +7 -0
  15. package/lib/commonjs/cli/commands/bundle.js +37 -6
  16. package/lib/commonjs/cli/commands/bundle.js.map +1 -1
  17. package/lib/commonjs/config/ConfigManager.js +8 -1
  18. package/lib/commonjs/config/ConfigManager.js.map +1 -1
  19. package/lib/commonjs/config/index.js.map +1 -1
  20. package/lib/commonjs/config/types.js +9 -0
  21. package/lib/commonjs/config/types.js.map +1 -1
  22. package/lib/commonjs/index.js.map +1 -1
  23. package/lib/commonjs/metro/devServerMiddleware.js +150 -0
  24. package/lib/commonjs/metro/devServerMiddleware.js.map +1 -0
  25. package/lib/commonjs/metro/index.js +20 -0
  26. package/lib/commonjs/metro/index.js.map +1 -0
  27. package/lib/commonjs/metro/types.js +6 -0
  28. package/lib/commonjs/metro/types.js.map +1 -0
  29. package/lib/commonjs/metro/withRnIconify.js +53 -0
  30. package/lib/commonjs/metro/withRnIconify.js.map +1 -0
  31. package/lib/commonjs/network/IconifyAPI.js +30 -2
  32. package/lib/commonjs/network/IconifyAPI.js.map +1 -1
  33. package/lib/module/IconRenderer.js +54 -12
  34. package/lib/module/IconRenderer.js.map +1 -1
  35. package/lib/module/babel/cache-writer.js +99 -26
  36. package/lib/module/babel/cache-writer.js.map +1 -1
  37. package/lib/module/babel/plugin.js +129 -46
  38. package/lib/module/babel/plugin.js.map +1 -1
  39. package/lib/module/babel/scanner.js +213 -0
  40. package/lib/module/babel/scanner.js.map +1 -0
  41. package/lib/module/babel/types.js.map +1 -1
  42. package/lib/module/cache/CacheManager.js +82 -1
  43. package/lib/module/cache/CacheManager.js.map +1 -1
  44. package/lib/module/cache/DiskCache.js +32 -4
  45. package/lib/module/cache/DiskCache.js.map +1 -1
  46. package/lib/module/cli/CLAUDE.md +7 -0
  47. package/lib/module/cli/commands/bundle.js +37 -6
  48. package/lib/module/cli/commands/bundle.js.map +1 -1
  49. package/lib/module/config/ConfigManager.js +8 -1
  50. package/lib/module/config/ConfigManager.js.map +1 -1
  51. package/lib/module/config/index.js.map +1 -1
  52. package/lib/module/config/types.js +9 -0
  53. package/lib/module/config/types.js.map +1 -1
  54. package/lib/module/index.js.map +1 -1
  55. package/lib/module/metro/devServerMiddleware.js +143 -0
  56. package/lib/module/metro/devServerMiddleware.js.map +1 -0
  57. package/lib/module/metro/index.js +19 -0
  58. package/lib/module/metro/index.js.map +1 -0
  59. package/lib/module/metro/types.js +2 -0
  60. package/lib/module/metro/types.js.map +1 -0
  61. package/lib/module/metro/withRnIconify.js +48 -0
  62. package/lib/module/metro/withRnIconify.js.map +1 -0
  63. package/lib/module/network/IconifyAPI.js +30 -2
  64. package/lib/module/network/IconifyAPI.js.map +1 -1
  65. package/lib/typescript/IconRenderer.d.ts.map +1 -1
  66. package/lib/typescript/babel/cache-writer.d.ts +16 -2
  67. package/lib/typescript/babel/cache-writer.d.ts.map +1 -1
  68. package/lib/typescript/babel/plugin.d.ts +5 -0
  69. package/lib/typescript/babel/plugin.d.ts.map +1 -1
  70. package/lib/typescript/babel/scanner.d.ts +31 -0
  71. package/lib/typescript/babel/scanner.d.ts.map +1 -0
  72. package/lib/typescript/babel/types.d.ts +8 -1
  73. package/lib/typescript/babel/types.d.ts.map +1 -1
  74. package/lib/typescript/cache/CacheManager.d.ts +16 -0
  75. package/lib/typescript/cache/CacheManager.d.ts.map +1 -1
  76. package/lib/typescript/cache/DiskCache.d.ts +2 -0
  77. package/lib/typescript/cache/DiskCache.d.ts.map +1 -1
  78. package/lib/typescript/cli/commands/bundle.d.ts.map +1 -1
  79. package/lib/typescript/components/Charm.d.ts +1 -1
  80. package/lib/typescript/components/Dashicons.d.ts +1 -1
  81. package/lib/typescript/components/Hugeicons.d.ts +1 -1
  82. package/lib/typescript/components/Ix.d.ts +1 -1
  83. package/lib/typescript/components/Tabler.d.ts +1 -1
  84. package/lib/typescript/components/Token.d.ts +1 -1
  85. package/lib/typescript/components/TokenBranded.d.ts +1 -1
  86. package/lib/typescript/config/ConfigManager.d.ts +5 -1
  87. package/lib/typescript/config/ConfigManager.d.ts.map +1 -1
  88. package/lib/typescript/config/index.d.ts +1 -1
  89. package/lib/typescript/config/index.d.ts.map +1 -1
  90. package/lib/typescript/config/types.d.ts +26 -0
  91. package/lib/typescript/config/types.d.ts.map +1 -1
  92. package/lib/typescript/index.d.ts +1 -1
  93. package/lib/typescript/index.d.ts.map +1 -1
  94. package/lib/typescript/metro/devServerMiddleware.d.ts +11 -0
  95. package/lib/typescript/metro/devServerMiddleware.d.ts.map +1 -0
  96. package/lib/typescript/metro/index.d.ts +19 -0
  97. package/lib/typescript/metro/index.d.ts.map +1 -0
  98. package/lib/typescript/metro/types.d.ts +46 -0
  99. package/lib/typescript/metro/types.d.ts.map +1 -0
  100. package/lib/typescript/metro/withRnIconify.d.ts +20 -0
  101. package/lib/typescript/metro/withRnIconify.d.ts.map +1 -0
  102. package/lib/typescript/network/IconifyAPI.d.ts.map +1 -1
  103. package/metro.js +12 -0
  104. package/package.json +13 -6
  105. package/src/IconRenderer.tsx +59 -12
  106. package/src/babel/cache-writer.ts +105 -31
  107. package/src/babel/plugin.ts +157 -34
  108. package/src/babel/scanner.ts +274 -0
  109. package/src/babel/types.ts +9 -1
  110. package/src/cache/CacheManager.ts +83 -1
  111. package/src/cache/DiskCache.ts +43 -4
  112. package/src/cli/CLAUDE.md +7 -0
  113. package/src/cli/commands/bundle.ts +52 -6
  114. package/src/config/ConfigManager.ts +9 -0
  115. package/src/config/index.ts +1 -0
  116. package/src/config/types.ts +35 -0
  117. package/src/index.ts +1 -0
  118. package/src/metro/devServerMiddleware.ts +137 -0
  119. package/src/metro/index.ts +19 -0
  120. package/src/metro/types.ts +52 -0
  121. package/src/metro/withRnIconify.ts +52 -0
  122. package/src/network/IconifyAPI.ts +23 -1
@@ -0,0 +1 @@
1
+ {"version":3,"names":["fs","_interopRequireWildcard","require","path","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","USAGE_ENDPOINT","STATUS_ENDPOINT","readUsageFile","usagePath","existsSync","content","readFileSync","data","JSON","parse","version","Array","isArray","icons","updatedAt","Date","toISOString","writeUsageFile","dir","dirname","mkdirSync","recursive","tmpPath","writeFileSync","stringify","renameSync","parseBody","req","Promise","resolve","reject","body","on","chunk","toString","Error","createDevServerMiddleware","options","outputDir","verbose","projectRoot","process","cwd","isAbsolute","join","handleRequest","res","next","url","method","icon","includes","writeHead","end","error","usage","push","console","log","length","ok","iconCount"],"sourceRoot":"../../../src","sources":["metro/devServerMiddleware.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "createDevServerMiddleware", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _devServerMiddleware.createDevServerMiddleware;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "withRnIconify", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _withRnIconify.withRnIconify;
16
+ }
17
+ });
18
+ var _withRnIconify = require("./withRnIconify");
19
+ var _devServerMiddleware = require("./devServerMiddleware");
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_withRnIconify","require","_devServerMiddleware"],"sourceRoot":"../../../src","sources":["metro/index.ts"],"mappings":";;;;;;;;;;;;;;;;;AAgBA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,oBAAA,GAAAD,OAAA","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["metro/types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.withRnIconify = withRnIconify;
7
+ var _devServerMiddleware = require("./devServerMiddleware");
8
+ /**
9
+ * Metro Config Wrapper
10
+ * Adds rn-iconify middleware to the Metro dev server
11
+ *
12
+ * @example
13
+ * ```js
14
+ * // metro.config.js
15
+ * const { withRnIconify } = require('rn-iconify/metro');
16
+ *
17
+ * const config = getDefaultConfig(__dirname);
18
+ * module.exports = withRnIconify(config);
19
+ * ```
20
+ */
21
+
22
+ /**
23
+ * Wrap a Metro config to add rn-iconify dev server middleware
24
+ * This enables runtime icon usage learning during development
25
+ */
26
+ function withRnIconify(config, options) {
27
+ const middleware = (0, _devServerMiddleware.createDevServerMiddleware)(options);
28
+ const existingEnhance = config.server?.enhanceMiddleware;
29
+ return {
30
+ ...config,
31
+ server: {
32
+ ...config.server,
33
+ enhanceMiddleware: (metroMiddleware, server) => {
34
+ // Apply existing enhanceMiddleware if present
35
+ const enhanced = existingEnhance ? existingEnhance(metroMiddleware, server) : metroMiddleware;
36
+
37
+ // Wrap with our middleware
38
+ return (req, res, next) => {
39
+ // Check if this is our endpoint
40
+ const url = req.url;
41
+ if (url === '/__rn_iconify_log' || url === '/__rn_iconify_status') {
42
+ middleware(req, res, next);
43
+ return;
44
+ }
45
+
46
+ // Otherwise pass through
47
+ enhanced(req, res, next);
48
+ };
49
+ }
50
+ }
51
+ };
52
+ }
53
+ //# sourceMappingURL=withRnIconify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_devServerMiddleware","require","withRnIconify","config","options","middleware","createDevServerMiddleware","existingEnhance","server","enhanceMiddleware","metroMiddleware","enhanced","req","res","next","url"],"sourceRoot":"../../../src","sources":["metro/withRnIconify.ts"],"mappings":";;;;;;AAeA,IAAAA,oBAAA,GAAAC,OAAA;AAfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACO,SAASC,aAAaA,CAACC,MAAmB,EAAEC,OAA+B,EAAe;EAC/F,MAAMC,UAAU,GAAG,IAAAC,8CAAyB,EAACF,OAAO,CAAC;EAErD,MAAMG,eAAe,GAAGJ,MAAM,CAACK,MAAM,EAAEC,iBAAiB;EAExD,OAAO;IACL,GAAGN,MAAM;IACTK,MAAM,EAAE;MACN,GAAGL,MAAM,CAACK,MAAM;MAChBC,iBAAiB,EAAEA,CAACC,eAAgC,EAAEF,MAAe,KAAsB;QACzF;QACA,MAAMG,QAAQ,GAAGJ,eAAe,GAC5BA,eAAe,CAACG,eAAe,EAAEF,MAAM,CAAC,GACxCE,eAAe;;QAEnB;QACA,OAAO,CAACE,GAAG,EAAEC,GAAG,EAAEC,IAAI,KAAK;UACzB;UACA,MAAMC,GAAG,GAAGH,GAAG,CAACG,GAAG;UACnB,IAAIA,GAAG,KAAK,mBAAmB,IAAIA,GAAG,KAAK,sBAAsB,EAAE;YACjEV,UAAU,CAACO,GAAG,EAAEC,GAAG,EAAEC,IAAI,CAAC;YAC1B;UACF;;UAEA;UACAH,QAAQ,CAACC,GAAG,EAAEC,GAAG,EAAEC,IAAI,CAAC;QAC1B,CAAC;MACH;IACF;EACF,CAAC;AACH","ignoreList":[]}
@@ -69,18 +69,46 @@ async function fetchWithTimeout(url, options = {}, timeoutMs) {
69
69
 
70
70
  /**
71
71
  * Combine multiple AbortSignals into one
72
+ * Properly cleans up event listeners to prevent memory leaks
72
73
  */
73
74
  function anySignal(signals) {
74
75
  const controller = new AbortController();
76
+
77
+ // Check if any signal is already aborted
75
78
  for (const signal of signals) {
76
79
  if (signal.aborted) {
77
80
  controller.abort();
78
81
  return controller.signal;
79
82
  }
80
- signal.addEventListener('abort', () => controller.abort(), {
81
- once: true
83
+ }
84
+
85
+ // Create abort handlers that we can clean up
86
+ const abortHandlers = [];
87
+ const cleanup = () => {
88
+ for (const {
89
+ signal,
90
+ handler
91
+ } of abortHandlers) {
92
+ signal.removeEventListener('abort', handler);
93
+ }
94
+ abortHandlers.length = 0;
95
+ };
96
+ for (const signal of signals) {
97
+ const handler = () => {
98
+ cleanup();
99
+ controller.abort();
100
+ };
101
+ abortHandlers.push({
102
+ signal,
103
+ handler
82
104
  });
105
+ signal.addEventListener('abort', handler);
83
106
  }
107
+
108
+ // Also cleanup when our controller aborts (from timeout)
109
+ controller.signal.addEventListener('abort', cleanup, {
110
+ once: true
111
+ });
84
112
  return controller.signal;
85
113
  }
86
114
 
@@ -1 +1 @@
1
- {"version":3,"names":["_config","require","getAPISettings","config","ConfigManager","getAPIConfig","baseUrl","apiUrl","timeout","retries","retryDelay","headers","logging","pendingRequests","Map","fetchWithTimeout","url","options","timeoutMs","settings","effectiveTimeout","controller","AbortController","timeoutId","setTimeout","abort","signal","anySignal","response","fetch","clearTimeout","signals","aborted","addEventListener","once","isValidSvg","content","trim","startsWith","includes","SAFE_NAME_PATTERN","parseIconName","iconName","parts","split","length","prefix","name","test","buildSvg","data","defaultWidth","defaultHeight","width","height","left","top","viewBox","transform","transforms","rotate","rotation","push","hFlip","vFlip","scaleX","scaleY","translateX","translateY","join","body","fetchIcon","pending","get","parsed","Error","requestPromise","lastError","attempt","DOMException","console","log","ok","status","json","icons","iconData","svg","error","message","String","delay","Promise","resolve","set","delete","fetchIconsBatch","iconNames","success","failed","byPrefix","names","fetchPromises","Array","from","entries","map","forEach","sortedNames","sort","errorMessage","all","checkAPIHealth","method","getAPIBaseUrl","fetchCollection","uncategorized","isArray","categories","category","Object","values","Set","total","title","aliases","searchIconsAPI","query","prefixes","limit","params","URLSearchParams","toString"],"sourceRoot":"../../../src","sources":["network/IconifyAPI.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_config","require","getAPISettings","config","ConfigManager","getAPIConfig","baseUrl","apiUrl","timeout","retries","retryDelay","headers","logging","pendingRequests","Map","fetchWithTimeout","url","options","timeoutMs","settings","effectiveTimeout","controller","AbortController","timeoutId","setTimeout","abort","signal","anySignal","response","fetch","clearTimeout","signals","aborted","abortHandlers","cleanup","handler","removeEventListener","length","push","addEventListener","once","isValidSvg","content","trim","startsWith","includes","SAFE_NAME_PATTERN","parseIconName","iconName","parts","split","prefix","name","test","buildSvg","data","defaultWidth","defaultHeight","width","height","left","top","viewBox","transform","transforms","rotate","rotation","hFlip","vFlip","scaleX","scaleY","translateX","translateY","join","body","fetchIcon","pending","get","parsed","Error","requestPromise","lastError","attempt","DOMException","console","log","ok","status","json","icons","iconData","svg","error","message","String","delay","Promise","resolve","set","delete","fetchIconsBatch","iconNames","success","failed","byPrefix","names","fetchPromises","Array","from","entries","map","forEach","sortedNames","sort","errorMessage","all","checkAPIHealth","method","getAPIBaseUrl","fetchCollection","uncategorized","isArray","categories","category","Object","values","Set","total","title","aliases","searchIconsAPI","query","prefixes","limit","params","URLSearchParams","toString"],"sourceRoot":"../../../src","sources":["network/IconifyAPI.ts"],"mappings":"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","ignoreList":[]}
@@ -11,6 +11,7 @@ import { CacheManager } from './cache/CacheManager';
11
11
  import { fetchIcon } from './network/IconifyAPI';
12
12
  import { PlaceholderFactory } from './placeholder';
13
13
  import { useIconAnimation } from './animated/useIconAnimation';
14
+ import { ConfigManager } from './config';
14
15
  /**
15
16
  * Escape special characters for XML attribute values
16
17
  * Prevents XSS attacks when user input is used as color prop
@@ -53,13 +54,22 @@ export function IconRenderer({
53
54
  autoPlay = true,
54
55
  onAnimationComplete
55
56
  }) {
57
+ // Resolve defaults from config
58
+ const defaultsConfig = ConfigManager.getDefaultsConfig();
59
+ const effectivePlaceholder = placeholder !== undefined ? placeholder : defaultsConfig.placeholder !== false ? defaultsConfig.placeholder : undefined;
60
+ const fadeIn = defaultsConfig.fadeIn;
61
+ const fadeInDuration = defaultsConfig.fadeInDuration;
56
62
  const [svg, setSvg] = useState(null);
57
63
  const [state, setState] = useState('idle');
58
64
  const [showFallback, setShowFallback] = useState(false);
65
+ const [wasCacheHit, setWasCacheHit] = useState(false);
59
66
  const mountedRef = useRef(true);
60
67
  const fallbackTimerRef = useRef(null);
61
68
  const abortControllerRef = useRef(null);
62
- const isLoadingRef = useRef(false); // Track loading state for closure
69
+ const isLoadingRef = useRef(false);
70
+
71
+ // Fade-in animation value
72
+ const fadeAnim = useRef(new Animated.Value(0)).current;
63
73
 
64
74
  // Calculate dimensions
65
75
  const iconWidth = propWidth ?? size;
@@ -95,7 +105,9 @@ export function IconRenderer({
95
105
  if (mountedRef.current) {
96
106
  setSvg(cached);
97
107
  setState('loaded');
108
+ setWasCacheHit(true);
98
109
  isLoadingRef.current = false;
110
+ fadeAnim.setValue(1); // No fade for cache hits
99
111
  onLoad?.();
100
112
  }
101
113
  return;
@@ -104,14 +116,14 @@ export function IconRenderer({
104
116
  // 2. Set loading state and start fallback timer
105
117
  setState('loading');
106
118
  isLoadingRef.current = true;
119
+ setWasCacheHit(false);
107
120
  if (fallbackDelay > 0) {
108
121
  fallbackTimerRef.current = setTimeout(() => {
109
- // Use ref instead of state to avoid stale closure
110
122
  if (mountedRef.current && isLoadingRef.current) {
111
123
  setShowFallback(true);
112
124
  }
113
125
  }, fallbackDelay);
114
- } else if (fallback) {
126
+ } else if (fallback || effectivePlaceholder !== undefined) {
115
127
  setShowFallback(true);
116
128
  }
117
129
 
@@ -119,16 +131,26 @@ export function IconRenderer({
119
131
  try {
120
132
  const fetchedSvg = await fetchIcon(iconName, abortControllerRef.current.signal);
121
133
  if (mountedRef.current) {
122
- // Store in cache
123
134
  CacheManager.set(iconName, fetchedSvg);
124
135
  setSvg(fetchedSvg);
125
136
  setState('loaded');
126
137
  isLoadingRef.current = false;
127
138
  setShowFallback(false);
139
+
140
+ // Fade-in for non-cached icons
141
+ if (fadeIn) {
142
+ fadeAnim.setValue(0);
143
+ Animated.timing(fadeAnim, {
144
+ toValue: 1,
145
+ duration: fadeInDuration,
146
+ useNativeDriver: true
147
+ }).start();
148
+ } else {
149
+ fadeAnim.setValue(1);
150
+ }
128
151
  onLoad?.();
129
152
  }
130
153
  } catch (error) {
131
- // Ignore abort errors
132
154
  if (error instanceof Error && error.name === 'AbortError') {
133
155
  return;
134
156
  }
@@ -138,7 +160,7 @@ export function IconRenderer({
138
160
  onError?.(error instanceof Error ? error : new Error(String(error)));
139
161
  }
140
162
  }
141
- }, [iconName, fallback, fallbackDelay, onLoad, onError]); // Removed 'state' from deps
163
+ }, [iconName, fallback, fallbackDelay, onLoad, onError, effectivePlaceholder, fadeIn, fadeInDuration, fadeAnim]);
142
164
 
143
165
  // Effect to load icon
144
166
  useEffect(() => {
@@ -188,6 +210,9 @@ export function IconRenderer({
188
210
  // Determine if we should show placeholder/fallback
189
211
  const shouldShowPlaceholder = state === 'loading' && showFallback || state === 'error';
190
212
 
213
+ // Whether to use fade-in wrapper (only for non-cached, non-animated icons)
214
+ const useFadeIn = fadeIn && !wasCacheHit && state === 'loaded' && !hasAnimation;
215
+
191
216
  // Check if icon should be pressable
192
217
  const isPressable = !!(onPress || onLongPress);
193
218
 
@@ -219,8 +244,8 @@ export function IconRenderer({
219
244
 
220
245
  // Render placeholder or fallback during loading/error
221
246
  if (shouldShowPlaceholder) {
222
- // Priority: placeholder > fallback
223
- if (placeholder !== undefined) {
247
+ // Priority: effectivePlaceholder (includes config default) > fallback
248
+ if (effectivePlaceholder !== undefined) {
224
249
  return wrapWithPressable(/*#__PURE__*/React.createElement(View, _extends({
225
250
  style: [{
226
251
  width: iconWidth,
@@ -229,7 +254,7 @@ export function IconRenderer({
229
254
  accessibilityLabel: accessibilityLabel,
230
255
  testID: testID
231
256
  }, nativeWindProps), /*#__PURE__*/React.createElement(PlaceholderFactory, {
232
- type: placeholder,
257
+ type: effectivePlaceholder,
233
258
  width: iconWidth,
234
259
  height: iconHeight,
235
260
  color: placeholderColor,
@@ -280,7 +305,24 @@ export function IconRenderer({
280
305
  })));
281
306
  }
282
307
 
283
- // Render without animation
308
+ // Render without animation (with optional fade-in)
309
+ if (useFadeIn) {
310
+ return wrapWithPressable(/*#__PURE__*/React.createElement(Animated.View, _extends({
311
+ style: [styles.container, {
312
+ width: iconWidth,
313
+ height: iconHeight,
314
+ transform: transformStyle,
315
+ opacity: fadeAnim
316
+ }, style],
317
+ accessibilityLabel: accessibilityLabel,
318
+ accessibilityRole: "image",
319
+ testID: testID
320
+ }, nativeWindProps), /*#__PURE__*/React.createElement(SvgXml, {
321
+ xml: colorizedSvg,
322
+ width: iconWidth,
323
+ height: iconHeight
324
+ })));
325
+ }
284
326
  return wrapWithPressable(/*#__PURE__*/React.createElement(View, _extends({
285
327
  style: [styles.container, {
286
328
  width: iconWidth,
@@ -298,7 +340,7 @@ export function IconRenderer({
298
340
  }
299
341
 
300
342
  // Show placeholder immediately if set (no delay), otherwise empty view
301
- if (placeholder !== undefined && state === 'loading') {
343
+ if (effectivePlaceholder !== undefined && state === 'loading') {
302
344
  return wrapWithPressable(/*#__PURE__*/React.createElement(View, _extends({
303
345
  style: [{
304
346
  width: iconWidth,
@@ -307,7 +349,7 @@ export function IconRenderer({
307
349
  accessibilityLabel: accessibilityLabel,
308
350
  testID: testID
309
351
  }, nativeWindProps), /*#__PURE__*/React.createElement(PlaceholderFactory, {
310
- type: placeholder,
352
+ type: effectivePlaceholder,
311
353
  width: iconWidth,
312
354
  height: iconHeight,
313
355
  color: placeholderColor,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","useEffect","useCallback","useRef","useMemo","View","StyleSheet","Animated","Pressable","SvgXml","CacheManager","fetchIcon","PlaceholderFactory","useIconAnimation","escapeXmlAttribute","value","replace","IconRenderer","iconName","size","color","width","propWidth","height","propHeight","style","className","rotate","flip","fallback","fallbackDelay","placeholder","placeholderColor","placeholderDuration","onLoad","onError","accessibilityLabel","testID","onPress","onLongPress","onPressIn","onPressOut","disabled","pressedStyle","animate","animationDuration","animationLoop","animationEasing","animationDelay","autoPlay","onAnimationComplete","svg","setSvg","state","setState","showFallback","setShowFallback","mountedRef","fallbackTimerRef","abortControllerRef","isLoadingRef","iconWidth","iconHeight","animatedStyle","hasAnimation","animation","duration","loop","easing","delay","onComplete","loadIcon","current","abort","AbortController","cached","get","setTimeout","fetchedSvg","signal","set","error","Error","name","String","clearTimeout","transformStyle","transforms","push","scaleX","scaleY","length","undefined","colorizedSvg","safeColor","shouldShowPlaceholder","isPressable","nativeWindProps","wrapWithPressable","content","createElement","accessibilityRole","accessibilityState","pressed","_extends","type","styles","container","transform","xml","create","alignItems","justifyContent"],"sourceRoot":"../../src","sources":["IconRenderer.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useState","useEffect","useCallback","useRef","useMemo","View","StyleSheet","Animated","Pressable","SvgXml","CacheManager","fetchIcon","PlaceholderFactory","useIconAnimation","ConfigManager","escapeXmlAttribute","value","replace","IconRenderer","iconName","size","color","width","propWidth","height","propHeight","style","className","rotate","flip","fallback","fallbackDelay","placeholder","placeholderColor","placeholderDuration","onLoad","onError","accessibilityLabel","testID","onPress","onLongPress","onPressIn","onPressOut","disabled","pressedStyle","animate","animationDuration","animationLoop","animationEasing","animationDelay","autoPlay","onAnimationComplete","defaultsConfig","getDefaultsConfig","effectivePlaceholder","undefined","fadeIn","fadeInDuration","svg","setSvg","state","setState","showFallback","setShowFallback","wasCacheHit","setWasCacheHit","mountedRef","fallbackTimerRef","abortControllerRef","isLoadingRef","fadeAnim","Value","current","iconWidth","iconHeight","animatedStyle","hasAnimation","animation","duration","loop","easing","delay","onComplete","loadIcon","abort","AbortController","cached","get","setValue","setTimeout","fetchedSvg","signal","set","timing","toValue","useNativeDriver","start","error","Error","name","String","clearTimeout","transformStyle","transforms","push","scaleX","scaleY","length","colorizedSvg","safeColor","shouldShowPlaceholder","useFadeIn","isPressable","nativeWindProps","wrapWithPressable","content","createElement","accessibilityRole","accessibilityState","pressed","_extends","type","styles","container","transform","xml","opacity","create","alignItems","justifyContent"],"sourceRoot":"../../src","sources":["IconRenderer.tsx"],"mappings":"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","ignoreList":[]}
@@ -190,7 +190,33 @@ export async function fetchAndCreateBundle(iconNames, options) {
190
190
  }
191
191
 
192
192
  /**
193
- * Write bundle to file
193
+ * Read existing bundle from disk
194
+ * Returns null if file doesn't exist or is invalid
195
+ */
196
+ export function readExistingBundle(bundlePath) {
197
+ try {
198
+ if (!fs.existsSync(bundlePath)) return null;
199
+ const content = fs.readFileSync(bundlePath, 'utf-8');
200
+ const bundle = JSON.parse(content);
201
+ if (bundle.version === '1.0.0' && typeof bundle.count === 'number' && bundle.icons) {
202
+ return bundle;
203
+ }
204
+ } catch {
205
+ // Invalid bundle file
206
+ }
207
+ return null;
208
+ }
209
+
210
+ /**
211
+ * Determine which icons are new and need to be fetched
212
+ */
213
+ export function getNewIconNames(allIcons, existingBundle) {
214
+ if (!existingBundle) return allIcons;
215
+ return allIcons.filter(name => !existingBundle.icons[name]);
216
+ }
217
+
218
+ /**
219
+ * Write bundle to file (only if content changed)
194
220
  */
195
221
  export function writeBundleToFile(bundle, outputPath, verbose) {
196
222
  // Ensure directory exists
@@ -201,8 +227,28 @@ export function writeBundleToFile(bundle, outputPath, verbose) {
201
227
  });
202
228
  }
203
229
 
204
- // Write bundle
230
+ // Write bundle JSON
205
231
  const content = JSON.stringify(bundle);
232
+
233
+ // Check if content actually changed
234
+ if (fs.existsSync(outputPath)) {
235
+ try {
236
+ const existing = fs.readFileSync(outputPath, 'utf-8');
237
+ const existingBundle = JSON.parse(existing);
238
+ if (existingBundle.count === bundle.count && existingBundle.version === bundle.version) {
239
+ const existingKeys = Object.keys(existingBundle.icons).sort().join(',');
240
+ const newKeys = Object.keys(bundle.icons).sort().join(',');
241
+ if (existingKeys === newKeys) {
242
+ if (verbose) {
243
+ console.log('[rn-iconify] Bundle unchanged, skipping write');
244
+ }
245
+ return;
246
+ }
247
+ }
248
+ } catch {
249
+ // Existing file is corrupted, proceed with write
250
+ }
251
+ }
206
252
  fs.writeFileSync(outputPath, content, 'utf-8');
207
253
  if (verbose) {
208
254
  const sizeKB = (content.length / 1024).toFixed(2);
@@ -210,12 +256,20 @@ export function writeBundleToFile(bundle, outputPath, verbose) {
210
256
  }
211
257
  }
212
258
 
259
+ /**
260
+ * Resolve the bundle directory path
261
+ */
262
+ export function resolveBundleDir(outputPath, projectRoot) {
263
+ return path.isAbsolute(outputPath) ? outputPath : path.join(projectRoot, outputPath);
264
+ }
265
+
213
266
  /**
214
267
  * Generate icon bundle from collected icons
268
+ * Supports incremental fetching: only fetches icons not already in the existing bundle
215
269
  */
216
- export async function generateBundle(iconNames, options, projectRoot) {
270
+ export async function generateBundle(iconNames, options, projectRoot, existingBundle) {
217
271
  const {
218
- outputPath = 'node_modules/.cache/rn-iconify',
272
+ outputPath = '.rn-iconify',
219
273
  verbose = false
220
274
  } = options;
221
275
  if (iconNames.length === 0) {
@@ -224,25 +278,52 @@ export async function generateBundle(iconNames, options, projectRoot) {
224
278
  }
225
279
  return;
226
280
  }
281
+ const bundleDir = resolveBundleDir(outputPath, projectRoot);
282
+ const bundleFile = path.join(bundleDir, 'icons.json');
227
283
  try {
228
- // Fetch all icons
229
- const bundle = await fetchAndCreateBundle(iconNames, options);
284
+ // Read existing bundle if not provided
285
+ const existing = existingBundle !== undefined ? existingBundle : readExistingBundle(bundleFile);
286
+
287
+ // Determine which icons need fetching
288
+ const newIconNames = getNewIconNames(iconNames, existing);
289
+ if (newIconNames.length === 0 && existing) {
290
+ if (verbose) {
291
+ console.log('[rn-iconify] All icons already bundled, skipping fetch');
292
+ }
293
+ return;
294
+ }
230
295
 
231
- // Determine output file path
232
- const bundleFile = path.isAbsolute(outputPath) ? path.join(outputPath, 'icons.json') : path.join(projectRoot, outputPath, 'icons.json');
296
+ // Fetch only new icons
297
+ const newBundle = newIconNames.length > 0 ? await fetchAndCreateBundle(newIconNames, options) : {
298
+ version: '1.0.0',
299
+ generatedAt: new Date().toISOString(),
300
+ icons: {},
301
+ count: 0
302
+ };
303
+
304
+ // Merge with existing bundle
305
+ const mergedIcons = {
306
+ ...(existing?.icons || {}),
307
+ ...newBundle.icons
308
+ };
309
+ const bundle = {
310
+ version: '1.0.0',
311
+ generatedAt: new Date().toISOString(),
312
+ icons: mergedIcons,
313
+ count: Object.keys(mergedIcons).length
314
+ };
233
315
 
234
316
  // Write bundle to file
235
317
  writeBundleToFile(bundle, bundleFile, verbose);
236
318
 
237
- // Also write a JS module for easy importing
238
- const jsContent = `// Auto-generated by rn-iconify babel plugin
239
- // Do not edit manually
240
- module.exports = ${JSON.stringify(bundle)};
241
- `;
242
- const jsFile = bundleFile.replace('.json', '.js');
319
+ // Also write a JS module for direct require() by Metro
320
+ const jsContent = `// Auto-generated by rn-iconify babel plugin\n// Do not edit manually\nmodule.exports = ${JSON.stringify(bundle)};\n`;
321
+ const jsFile = path.join(bundleDir, 'icons.js');
243
322
  fs.writeFileSync(jsFile, jsContent, 'utf-8');
244
323
  if (verbose) {
245
- console.log(`[rn-iconify] Bundle generation complete!`);
324
+ const newCount = newIconNames.length;
325
+ const existingCount = existing ? Object.keys(existing.icons).length : 0;
326
+ console.log(`[rn-iconify] Bundle generation complete! ${newCount} new + ${existingCount} existing = ${bundle.count} total icons`);
246
327
  }
247
328
  } catch (error) {
248
329
  // Don't fail the build on bundle generation error
@@ -254,16 +335,8 @@ module.exports = ${JSON.stringify(bundle)};
254
335
  * Check if bundle file exists and is valid
255
336
  */
256
337
  export function isBundleValid(outputPath, projectRoot) {
257
- const bundleFile = path.isAbsolute(outputPath) ? path.join(outputPath, 'icons.json') : path.join(projectRoot, outputPath, 'icons.json');
258
- if (!fs.existsSync(bundleFile)) {
259
- return false;
260
- }
261
- try {
262
- const content = fs.readFileSync(bundleFile, 'utf-8');
263
- const bundle = JSON.parse(content);
264
- return bundle.version === '1.0.0' && typeof bundle.count === 'number';
265
- } catch {
266
- return false;
267
- }
338
+ const bundleDir = resolveBundleDir(outputPath, projectRoot);
339
+ const bundleFile = path.join(bundleDir, 'icons.json');
340
+ return readExistingBundle(bundleFile) !== null;
268
341
  }
269
342
  //# sourceMappingURL=cache-writer.js.map