@electrolux-oss/plugin-infrawallet 1.1.0-20250901061058-90165b1 → 1.1.0-20250929154750-e4ed5e3
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.
|
@@ -72,6 +72,11 @@ const iconConfigs = {
|
|
|
72
72
|
icon: "SiGrafana",
|
|
73
73
|
library: "si" /* SimpleIcons */,
|
|
74
74
|
color: "#F46800"
|
|
75
|
+
},
|
|
76
|
+
elasticcloud: {
|
|
77
|
+
icon: "SiElasticcloud",
|
|
78
|
+
library: "si" /* SimpleIcons */,
|
|
79
|
+
color: "#005571"
|
|
75
80
|
}
|
|
76
81
|
};
|
|
77
82
|
const ProviderIcon = memo(({ provider, size = 24 }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProviderIcon.esm.js","sources":["../../../src/components/ProviderIcon/ProviderIcon.tsx"],"sourcesContent":["import { default as React, memo, useEffect, useState } from 'react';\nimport { IconType } from 'react-icons';\n\nenum IconLibrary {\n SimpleIcons = 'si',\n VSCodeCodicons = 'vsc',\n}\n\nconst IconLibraryImportMap = {\n [IconLibrary.SimpleIcons]: () => import('react-icons/si'),\n [IconLibrary.VSCodeCodicons]: () => import('react-icons/vsc'),\n};\n\n// Icon registry to cache loaded icons\nclass IconRegistry {\n private static instance: IconRegistry;\n private iconCache: Map<string, any> = new Map();\n\n private constructor() {}\n\n static getInstance(): IconRegistry {\n if (!IconRegistry.instance) {\n IconRegistry.instance = new IconRegistry();\n }\n return IconRegistry.instance;\n }\n\n async loadIcon(library: IconLibrary, iconName: string): Promise<IconType | null> {\n const cacheKey = `${library}/${iconName}`;\n\n if (this.iconCache.has(cacheKey)) {\n return this.iconCache.get(cacheKey);\n }\n\n try {\n const importFn = IconLibraryImportMap[library];\n if (!importFn) {\n throw new Error(`Unsupported icon library: ${library}`);\n }\n\n const module = await importFn();\n const icon = module[iconName as keyof typeof module];\n\n if (typeof icon === 'function') {\n this.iconCache.set(cacheKey, icon as IconType);\n return icon as IconType;\n }\n\n return null;\n } catch (error) {\n return null;\n }\n }\n}\n\ntype IconConfig = {\n icon: string;\n library: IconLibrary;\n color: string;\n};\n\ntype ProviderIconProps = {\n provider: string | undefined;\n size?: number;\n};\n\nconst iconConfigs: Record<string, IconConfig> = {\n aws: {\n icon: 'SiAmazonwebservices',\n library: IconLibrary.SimpleIcons,\n color: '#FF9900',\n },\n azure: {\n icon: 'VscAzure',\n library: IconLibrary.VSCodeCodicons,\n color: '#0078D4',\n },\n gcp: {\n icon: 'SiGooglecloud',\n library: IconLibrary.SimpleIcons,\n color: '#4285F4',\n },\n mongoatlas: {\n icon: 'SiMongodb',\n library: IconLibrary.SimpleIcons,\n color: '#47A248',\n },\n github: {\n icon: 'SiGithub',\n library: IconLibrary.SimpleIcons,\n color: '#181717',\n },\n datadog: {\n icon: 'SiDatadog',\n library: IconLibrary.SimpleIcons,\n color: '#632CA6',\n },\n grafana: {\n icon: 'SiGrafana',\n library: IconLibrary.SimpleIcons,\n color: '#F46800',\n },\n};\n\nexport const ProviderIcon = memo(({ provider, size = 24 }: ProviderIconProps) => {\n const [IconComponent, setIconComponent] = useState<any>(null);\n const [error, setError] = useState<string | null>(null);\n\n useEffect(() => {\n if (!provider) {\n return;\n }\n\n const config = iconConfigs[provider.toLowerCase()];\n\n if (!config) {\n return;\n }\n\n const loadIcon = async () => {\n setError(null);\n\n try {\n const registry = IconRegistry.getInstance();\n const icon = await registry.loadIcon(config.library, config.icon);\n\n if (icon) {\n setIconComponent(() => icon);\n } else {\n setError(`Icon ${config.icon} not found`);\n }\n } catch (err) {\n setError(err instanceof Error ? err.message : 'Failed to load icon');\n }\n };\n\n loadIcon();\n }, [provider]);\n\n if (!provider || error || !IconComponent) {\n return <></>;\n }\n\n const config = iconConfigs[provider.toLowerCase()];\n\n return <IconComponent size={size} color={config.color} />;\n});\n"],"names":["config"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ProviderIcon.esm.js","sources":["../../../src/components/ProviderIcon/ProviderIcon.tsx"],"sourcesContent":["import { default as React, memo, useEffect, useState } from 'react';\nimport { IconType } from 'react-icons';\n\nenum IconLibrary {\n SimpleIcons = 'si',\n VSCodeCodicons = 'vsc',\n}\n\nconst IconLibraryImportMap = {\n [IconLibrary.SimpleIcons]: () => import('react-icons/si'),\n [IconLibrary.VSCodeCodicons]: () => import('react-icons/vsc'),\n};\n\n// Icon registry to cache loaded icons\nclass IconRegistry {\n private static instance: IconRegistry;\n private iconCache: Map<string, any> = new Map();\n\n private constructor() {}\n\n static getInstance(): IconRegistry {\n if (!IconRegistry.instance) {\n IconRegistry.instance = new IconRegistry();\n }\n return IconRegistry.instance;\n }\n\n async loadIcon(library: IconLibrary, iconName: string): Promise<IconType | null> {\n const cacheKey = `${library}/${iconName}`;\n\n if (this.iconCache.has(cacheKey)) {\n return this.iconCache.get(cacheKey);\n }\n\n try {\n const importFn = IconLibraryImportMap[library];\n if (!importFn) {\n throw new Error(`Unsupported icon library: ${library}`);\n }\n\n const module = await importFn();\n const icon = module[iconName as keyof typeof module];\n\n if (typeof icon === 'function') {\n this.iconCache.set(cacheKey, icon as IconType);\n return icon as IconType;\n }\n\n return null;\n } catch (error) {\n return null;\n }\n }\n}\n\ntype IconConfig = {\n icon: string;\n library: IconLibrary;\n color: string;\n};\n\ntype ProviderIconProps = {\n provider: string | undefined;\n size?: number;\n};\n\nconst iconConfigs: Record<string, IconConfig> = {\n aws: {\n icon: 'SiAmazonwebservices',\n library: IconLibrary.SimpleIcons,\n color: '#FF9900',\n },\n azure: {\n icon: 'VscAzure',\n library: IconLibrary.VSCodeCodicons,\n color: '#0078D4',\n },\n gcp: {\n icon: 'SiGooglecloud',\n library: IconLibrary.SimpleIcons,\n color: '#4285F4',\n },\n mongoatlas: {\n icon: 'SiMongodb',\n library: IconLibrary.SimpleIcons,\n color: '#47A248',\n },\n github: {\n icon: 'SiGithub',\n library: IconLibrary.SimpleIcons,\n color: '#181717',\n },\n datadog: {\n icon: 'SiDatadog',\n library: IconLibrary.SimpleIcons,\n color: '#632CA6',\n },\n grafana: {\n icon: 'SiGrafana',\n library: IconLibrary.SimpleIcons,\n color: '#F46800',\n },\n elasticcloud: {\n icon: 'SiElasticcloud',\n library: IconLibrary.SimpleIcons,\n color: '#005571',\n },\n};\n\nexport const ProviderIcon = memo(({ provider, size = 24 }: ProviderIconProps) => {\n const [IconComponent, setIconComponent] = useState<any>(null);\n const [error, setError] = useState<string | null>(null);\n\n useEffect(() => {\n if (!provider) {\n return;\n }\n\n const config = iconConfigs[provider.toLowerCase()];\n\n if (!config) {\n return;\n }\n\n const loadIcon = async () => {\n setError(null);\n\n try {\n const registry = IconRegistry.getInstance();\n const icon = await registry.loadIcon(config.library, config.icon);\n\n if (icon) {\n setIconComponent(() => icon);\n } else {\n setError(`Icon ${config.icon} not found`);\n }\n } catch (err) {\n setError(err instanceof Error ? err.message : 'Failed to load icon');\n }\n };\n\n loadIcon();\n }, [provider]);\n\n if (!provider || error || !IconComponent) {\n return <></>;\n }\n\n const config = iconConfigs[provider.toLowerCase()];\n\n return <IconComponent size={size} color={config.color} />;\n});\n"],"names":["config"],"mappings":"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"}
|