UNPKG

@metamask/design-system-react-native

Version:
1 lines 1.79 kB
{"version":3,"file":"Icon.cjs","sourceRoot":"","sources":["../../../src/components/Icon/Icon.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qFAAmE;AACnE,+CAAuC;AAEvC,iDAAkD;AAElD,mDAAgD;AAEhD,yDAA0D;AAEnD,MAAM,IAAI,GAAG,CAAC,EACnB,IAAI,GAAG,gBAAQ,CAAC,EAAE,EAClB,IAAI,EACJ,KAAK,GAAG,iBAAS,CAAC,WAAW,EAC7B,WAAW,EACX,KAAK,EACL,GAAG,KAAK,EACE,EAAE,EAAE;IACd,MAAM,EAAE,GAAG,IAAA,wCAAW,GAAE,CAAC;IACzB,MAAM,GAAG,GAAG,6BAAe,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAC3B,MAAM,gBAAgB,GAAG,IAAA,uCAAsB,EAAC;YAC9C,KAAK;YACL,IAAI;YACJ,WAAW;SACZ,CAAC,CAAC;QACH,OAAO,EAAE,CAAA,GAAG,gBAAgB,EAAE,CAAC;IACjC,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;IAEnC,OAAO,CACL,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,EAAG,CAC5E,CAAC;AACJ,CAAC,CAAC;AAtBW,QAAA,IAAI,QAsBf","sourcesContent":["import { useTailwind } from '@metamask/design-system-twrnc-preset';\nimport React, { useMemo } from 'react';\n\nimport { IconColor, IconSize } from '../../types';\n\nimport { assetByIconName } from './Icon.assets';\nimport type { IconProps } from './Icon.types';\nimport { generateIconClassNames } from './Icon.utilities';\n\nexport const Icon = ({\n size = IconSize.Md,\n name,\n color = IconColor.IconDefault,\n twClassName,\n style,\n ...props\n}: IconProps) => {\n const tw = useTailwind();\n const SVG = assetByIconName[name];\n const twStyle = useMemo(() => {\n const mergedClassnames = generateIconClassNames({\n color,\n size,\n twClassName,\n });\n return tw`${mergedClassnames}`;\n }, [color, size, tw, twClassName]);\n\n return (\n <SVG name={name} fill=\"currentColor\" style={[twStyle, style]} {...props} />\n );\n};\n"]}