@web3icons/react 4.1.5 → 4.1.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dynamic/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dynamic/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA"}
@@ -1,3 +1,4 @@
1
+ 'use client'
1
2
  export { TokenIcon } from './TokenIcon.js'
2
3
  export { NetworkIcon } from './NetworkIcon.js'
3
4
  export { WalletIcon } from './WalletIcon.js'
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { TMetadata } from '@web3icons/common'
2
2
  import type { IconComponent } from '../types.js'
3
3
  export declare const preloadIcon: (type: string, metadata: TMetadata) => void
4
+ export declare const getIconKey: (type: string, metadata: TMetadata) => string
4
5
  export declare const loadIcon: (
5
6
  type: string,
6
7
  metadata: TMetadata,
@@ -1 +1 @@
1
- {"version":3,"file":"loadIcon.d.ts","sourceRoot":"","sources":["../../src/utils/loadIcon.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAS,MAAM,mBAAmB,CAAA;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAKhD,eAAO,MAAM,WAAW,SAAU,MAAM,YAAY,SAAS,KAAG,IAK/D,CAAA;AAgCD,eAAO,MAAM,QAAQ,SACb,MAAM,YACF,SAAS,KAClB,QAAQ,aAAa,CAmBvB,CAAA"}
1
+ {"version":3,"file":"loadIcon.d.ts","sourceRoot":"","sources":["../../src/utils/loadIcon.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAS,MAAM,mBAAmB,CAAA;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAkBhD,eAAO,MAAM,WAAW,SAAU,MAAM,YAAY,SAAS,KAAG,IAK/D,CAAA;AAoBD,eAAO,MAAM,UAAU,SAAU,MAAM,YAAY,SAAS,KAAG,MAU9D,CAAA;AAED,eAAO,MAAM,QAAQ,SACb,MAAM,YACF,SAAS,KAClB,QAAQ,aAAa,CAsBvB,CAAA"}
@@ -1,6 +1,15 @@
1
1
  import { toPascalCase } from './naming-conventions.js'
2
2
 
3
3
  const iconCache = new Map()
4
+ let dynamicIconImports = null
5
+ const getDynamicIconImports = async () => {
6
+ if (!dynamicIconImports) {
7
+ // Static string import - allows bundlers to analyze and code-split
8
+ const module = await import('@web3icons/react/dynamicIconImports')
9
+ dynamicIconImports = module.default
10
+ }
11
+ return dynamicIconImports
12
+ }
4
13
  /**
5
14
  * parse fileName to extract type and name
6
15
  * format must be "type:name" where type is one of: network, token, wallet, exchange
@@ -29,13 +38,16 @@ const getIconKey = (type, metadata) => {
29
38
  }
30
39
  const loadIcon = (type, metadata) => {
31
40
  const key = getIconKey(type, metadata)
32
- const { type: iconType } = parseFilePath(metadata.filePath)
33
41
  if (!iconCache.has(key)) {
34
- const importPromise = import(
35
- /* webpackChunkName: "[request]" */
36
- `../icons/${iconType}s/${key}.js`
37
- )
38
- .then((module) => module.default)
42
+ const importPromise = getDynamicIconImports()
43
+ .then((imports) => {
44
+ const importFn = imports[key]
45
+ if (!importFn) {
46
+ console.warn(`No dynamic import found for icon: ${key}`)
47
+ return null
48
+ }
49
+ return importFn().then((module) => module.default)
50
+ })
39
51
  .catch((error) => {
40
52
  console.warn(`Failed to load icon: ${key}`, error)
41
53
  return null
@@ -45,5 +57,5 @@ const loadIcon = (type, metadata) => {
45
57
  return iconCache.get(key)
46
58
  }
47
59
 
48
- export { loadIcon }
60
+ export { getIconKey, loadIcon }
49
61
  //# sourceMappingURL=loadIcon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loadIcon.js","sources":["../../src/utils/loadIcon.ts"],"sourcesContent":["import type { TMetadata, TType } from '@web3icons/common'\nimport type { IconComponent } from '../types.js'\nimport { toPascalCase } from './naming-conventions.js'\n\nconst iconCache = new Map<string, Promise<IconComponent>>()\n\nexport const preloadIcon = (type: string, metadata: TMetadata): void => {\n const key = getIconKey(type, metadata)\n if (!iconCache.has(key)) {\n loadIcon(type, metadata)\n }\n}\n\n/**\n * parse fileName to extract type and name\n * format must be \"type:name\" where type is one of: network, token, wallet, exchange\n * examples:\n * - \"network:ethereum\" - references network icon\n * - \"token:usdc\" - references token icon\n * - \"wallet:metamask\" - references wallet icon\n */\nconst parseFilePath = (filePath: string): { type: TType; name: string } => {\n const parts = filePath.split(':')\n if (parts.length !== 2) {\n throw new Error(\n `Invalid filePath format: \"${filePath}\". Expected format: \"type:name\" (e.g., \"network:ethereum\")`,\n )\n }\n return { type: parts[0] as TType, name: parts[1]! }\n}\n\nconst getIconKey = (type: string, metadata: TMetadata): string => {\n const { type: iconType, name: iconName } = parseFilePath(metadata.filePath)\n\n // generate component name based on the icon's type\n const componentName =\n iconType === 'token'\n ? iconName.replace(/[- ]+/g, '_').toUpperCase()\n : toPascalCase(iconName)\n\n return `${iconType.charAt(0).toUpperCase()}${iconType.slice(1)}${componentName}`\n}\n\nexport const loadIcon = (\n type: string,\n metadata: TMetadata,\n): Promise<IconComponent> => {\n const key = getIconKey(type, metadata)\n const { type: iconType } = parseFilePath(metadata.filePath)\n\n if (!iconCache.has(key)) {\n const importPromise = import(\n /* webpackChunkName: \"[request]\" */\n `../icons/${iconType}s/${key}.js`\n )\n .then((module) => module.default)\n .catch((error) => {\n console.warn(`Failed to load icon: ${key}`, error)\n return null\n })\n\n iconCache.set(key, importPromise)\n }\n\n return iconCache.get(key)!\n}\n"],"names":[],"mappings":";;AAIA,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkC;AAS3D;;;;;;;AAOG;AACH,MAAM,aAAa,GAAG,CAAC,QAAgB,KAAmC;IACxE,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;AACjC,IAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACtB,QAAA,MAAM,IAAI,KAAK,CACb,6BAA6B,QAAQ,CAAA,0DAAA,CAA4D,CAClG;IACH;AACA,IAAA,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAU,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE;AACrD,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,QAAmB,KAAY;AAC/D,IAAA,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC;;AAG3E,IAAA,MAAM,aAAa,GACjB,QAAQ,KAAK;UACT,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,WAAW;AAC7C,UAAE,YAAY,CAAC,QAAQ,CAAC;IAE5B,OAAO,CAAA,EAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA,EAAG,aAAa,EAAE;AAClF,CAAC;MAEY,QAAQ,GAAG,CACtB,IAAY,EACZ,QAAmB,KACO;IAC1B,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC;AACtC,IAAA,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAE3D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACvB,MAAM,aAAa,GAAG;;AAEpB,QAAA,CAAA,SAAA,EAAY,QAAQ,CAAA,EAAA,EAAK,GAAG,CAAA,GAAA,CAAK;aAEhC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO;AAC/B,aAAA,KAAK,CAAC,CAAC,KAAK,KAAI;YACf,OAAO,CAAC,IAAI,CAAC,CAAA,qBAAA,EAAwB,GAAG,CAAA,CAAE,EAAE,KAAK,CAAC;AAClD,YAAA,OAAO,IAAI;AACb,QAAA,CAAC,CAAC;AAEJ,QAAA,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC;IACnC;AAEA,IAAA,OAAO,SAAS,CAAC,GAAG,CAAC,GAAG,CAAE;AAC5B;;;;"}
1
+ {"version":3,"file":"loadIcon.js","sources":["../../src/utils/loadIcon.ts"],"sourcesContent":["import type { TMetadata, TType } from '@web3icons/common'\nimport type { IconComponent } from '../types.js'\nimport { toPascalCase } from './naming-conventions.js'\n\ntype DynamicImportFn = () => Promise<{ default: IconComponent }>\ntype DynamicIconImports = Record<string, DynamicImportFn>\n\nconst iconCache = new Map<string, Promise<IconComponent>>()\nlet dynamicIconImports: DynamicIconImports | null = null\n\nconst getDynamicIconImports = async (): Promise<DynamicIconImports> => {\n if (!dynamicIconImports) {\n // Static string import - allows bundlers to analyze and code-split\n const module = await import('@web3icons/react/dynamicIconImports')\n dynamicIconImports = module.default as DynamicIconImports\n }\n return dynamicIconImports!\n}\n\nexport const preloadIcon = (type: string, metadata: TMetadata): void => {\n const key = getIconKey(type, metadata)\n if (!iconCache.has(key)) {\n loadIcon(type, metadata)\n }\n}\n\n/**\n * parse fileName to extract type and name\n * format must be \"type:name\" where type is one of: network, token, wallet, exchange\n * examples:\n * - \"network:ethereum\" - references network icon\n * - \"token:usdc\" - references token icon\n * - \"wallet:metamask\" - references wallet icon\n */\nconst parseFilePath = (filePath: string): { type: TType; name: string } => {\n const parts = filePath.split(':')\n if (parts.length !== 2) {\n throw new Error(\n `Invalid filePath format: \"${filePath}\". Expected format: \"type:name\" (e.g., \"network:ethereum\")`,\n )\n }\n return { type: parts[0] as TType, name: parts[1]! }\n}\n\nexport const getIconKey = (type: string, metadata: TMetadata): string => {\n const { type: iconType, name: iconName } = parseFilePath(metadata.filePath)\n\n // generate component name based on the icon's type\n const componentName =\n iconType === 'token'\n ? iconName.replace(/[- ]+/g, '_').toUpperCase()\n : toPascalCase(iconName)\n\n return `${iconType.charAt(0).toUpperCase()}${iconType.slice(1)}${componentName}`\n}\n\nexport const loadIcon = (\n type: string,\n metadata: TMetadata,\n): Promise<IconComponent> => {\n const key = getIconKey(type, metadata)\n\n if (!iconCache.has(key)) {\n const importPromise = getDynamicIconImports()\n .then((imports) => {\n const importFn = imports[key]\n if (!importFn) {\n console.warn(`No dynamic import found for icon: ${key}`)\n return null\n }\n return importFn().then((module) => module.default)\n })\n .catch((error) => {\n console.warn(`Failed to load icon: ${key}`, error)\n return null\n })\n\n iconCache.set(key, importPromise as Promise<IconComponent>)\n }\n\n return iconCache.get(key)!\n}\n"],"names":[],"mappings":";;AAOA,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkC;AAC3D,IAAI,kBAAkB,GAA8B,IAAI;AAExD,MAAM,qBAAqB,GAAG,YAAwC;IACpE,IAAI,CAAC,kBAAkB,EAAE;;AAEvB,QAAA,MAAM,MAAM,GAAG,MAAM,OAAO,qCAAqC,CAAC;AAClE,QAAA,kBAAkB,GAAG,MAAM,CAAC,OAA6B;IAC3D;AACA,IAAA,OAAO,kBAAmB;AAC5B,CAAC;AASD;;;;;;;AAOG;AACH,MAAM,aAAa,GAAG,CAAC,QAAgB,KAAmC;IACxE,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;AACjC,IAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACtB,QAAA,MAAM,IAAI,KAAK,CACb,6BAA6B,QAAQ,CAAA,0DAAA,CAA4D,CAClG;IACH;AACA,IAAA,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAU,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE;AACrD,CAAC;MAEY,UAAU,GAAG,CAAC,IAAY,EAAE,QAAmB,KAAY;AACtE,IAAA,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC;;AAG3E,IAAA,MAAM,aAAa,GACjB,QAAQ,KAAK;UACT,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,WAAW;AAC7C,UAAE,YAAY,CAAC,QAAQ,CAAC;IAE5B,OAAO,CAAA,EAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA,EAAG,aAAa,EAAE;AAClF;MAEa,QAAQ,GAAG,CACtB,IAAY,EACZ,QAAmB,KACO;IAC1B,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC;IAEtC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACvB,MAAM,aAAa,GAAG,qBAAqB;AACxC,aAAA,IAAI,CAAC,CAAC,OAAO,KAAI;AAChB,YAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;YAC7B,IAAI,CAAC,QAAQ,EAAE;AACb,gBAAA,OAAO,CAAC,IAAI,CAAC,qCAAqC,GAAG,CAAA,CAAE,CAAC;AACxD,gBAAA,OAAO,IAAI;YACb;AACA,YAAA,OAAO,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC;AACpD,QAAA,CAAC;AACA,aAAA,KAAK,CAAC,CAAC,KAAK,KAAI;YACf,OAAO,CAAC,IAAI,CAAC,CAAA,qBAAA,EAAwB,GAAG,CAAA,CAAE,EAAE,KAAK,CAAC;AAClD,YAAA,OAAO,IAAI;AACb,QAAA,CAAC,CAAC;AAEJ,QAAA,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,aAAuC,CAAC;IAC7D;AAEA,IAAA,OAAO,SAAS,CAAC,GAAG,CAAC,GAAG,CAAE;AAC5B;;;;"}
@@ -0,0 +1,7 @@
1
+ // This file is auto-generated. Do not edit manually.
2
+
3
+ type DynamicImportFn = () => Promise<{ default: React.ComponentType<any> }>
4
+
5
+ declare const dynamicIconImports: Record<string, DynamicImportFn>
6
+
7
+ export default dynamicIconImports