@metamask-previews/design-system-react 0.28.0-preview.ba3ace4e → 0.28.0-preview.e22e766

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 (65) hide show
  1. package/dist/components/Icon/Icon.cjs +8 -30
  2. package/dist/components/Icon/Icon.cjs.map +1 -1
  3. package/dist/components/Icon/Icon.d.cts.map +1 -1
  4. package/dist/components/Icon/Icon.d.mts.map +1 -1
  5. package/dist/components/Icon/Icon.mjs +6 -8
  6. package/dist/components/Icon/Icon.mjs.map +1 -1
  7. package/dist/components/Icon/icons/index.cjs +587 -303
  8. package/dist/components/Icon/icons/index.cjs.map +1 -1
  9. package/dist/components/Icon/icons/index.d.cts +296 -14
  10. package/dist/components/Icon/icons/index.d.cts.map +1 -1
  11. package/dist/components/Icon/icons/index.d.mts +296 -14
  12. package/dist/components/Icon/icons/index.d.mts.map +1 -1
  13. package/dist/components/Icon/icons/index.mjs +583 -301
  14. package/dist/components/Icon/icons/index.mjs.map +1 -1
  15. package/dist/components/Icon/index.cjs +1 -3
  16. package/dist/components/Icon/index.cjs.map +1 -1
  17. package/dist/components/Icon/index.d.cts +0 -1
  18. package/dist/components/Icon/index.d.cts.map +1 -1
  19. package/dist/components/Icon/index.d.mts +0 -1
  20. package/dist/components/Icon/index.d.mts.map +1 -1
  21. package/dist/components/Icon/index.mjs +0 -1
  22. package/dist/components/Icon/index.mjs.map +1 -1
  23. package/dist/components/ModalContent/ModalContent.cjs +5 -1
  24. package/dist/components/ModalContent/ModalContent.cjs.map +1 -1
  25. package/dist/components/ModalContent/ModalContent.d.cts.map +1 -1
  26. package/dist/components/ModalContent/ModalContent.d.mts.map +1 -1
  27. package/dist/components/ModalContent/ModalContent.mjs +5 -1
  28. package/dist/components/ModalContent/ModalContent.mjs.map +1 -1
  29. package/dist/components/PureBlackProvider/PureBlackProvider.cjs +41 -0
  30. package/dist/components/PureBlackProvider/PureBlackProvider.cjs.map +1 -0
  31. package/dist/components/PureBlackProvider/PureBlackProvider.d.cts +8 -0
  32. package/dist/components/PureBlackProvider/PureBlackProvider.d.cts.map +1 -0
  33. package/dist/components/PureBlackProvider/PureBlackProvider.d.mts +8 -0
  34. package/dist/components/PureBlackProvider/PureBlackProvider.d.mts.map +1 -0
  35. package/dist/components/PureBlackProvider/PureBlackProvider.mjs +20 -0
  36. package/dist/components/PureBlackProvider/PureBlackProvider.mjs.map +1 -0
  37. package/dist/components/PureBlackProvider/index.cjs +7 -0
  38. package/dist/components/PureBlackProvider/index.cjs.map +1 -0
  39. package/dist/components/PureBlackProvider/index.d.cts +2 -0
  40. package/dist/components/PureBlackProvider/index.d.cts.map +1 -0
  41. package/dist/components/PureBlackProvider/index.d.mts +2 -0
  42. package/dist/components/PureBlackProvider/index.d.mts.map +1 -0
  43. package/dist/components/PureBlackProvider/index.mjs +2 -0
  44. package/dist/components/PureBlackProvider/index.mjs.map +1 -0
  45. package/dist/components/Tag/Tag.constants.cjs +2 -2
  46. package/dist/components/Tag/Tag.constants.cjs.map +1 -1
  47. package/dist/components/Tag/Tag.constants.mjs +2 -2
  48. package/dist/components/Tag/Tag.constants.mjs.map +1 -1
  49. package/dist/components/index.cjs +5 -3
  50. package/dist/components/index.cjs.map +1 -1
  51. package/dist/components/index.d.cts +2 -1
  52. package/dist/components/index.d.cts.map +1 -1
  53. package/dist/components/index.d.mts +2 -1
  54. package/dist/components/index.d.mts.map +1 -1
  55. package/dist/components/index.mjs +2 -1
  56. package/dist/components/index.mjs.map +1 -1
  57. package/package.json +3 -3
  58. package/dist/components/Icon/Icon.registry.cjs +0 -74
  59. package/dist/components/Icon/Icon.registry.cjs.map +0 -1
  60. package/dist/components/Icon/Icon.registry.d.cts +0 -46
  61. package/dist/components/Icon/Icon.registry.d.cts.map +0 -1
  62. package/dist/components/Icon/Icon.registry.d.mts +0 -46
  63. package/dist/components/Icon/Icon.registry.d.mts.map +0 -1
  64. package/dist/components/Icon/Icon.registry.mjs +0 -67
  65. package/dist/components/Icon/Icon.registry.mjs.map +0 -1
@@ -1,48 +1,26 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
4
  };
25
5
  Object.defineProperty(exports, "__esModule", { value: true });
26
6
  exports.Icon = void 0;
27
7
  const design_system_shared_1 = require("@metamask-previews/design-system-shared");
28
- const react_1 = __importStar(require("react"));
8
+ const react_1 = __importDefault(require("react"));
29
9
  const tw_merge_1 = require("../../utils/tw-merge.cjs");
30
10
  const Icon_constants_1 = require("./Icon.constants.cjs");
31
- const Icon_registry_1 = require("./Icon.registry.cjs");
32
- const IconRenderer = ({ name, size = design_system_shared_1.IconSize.Md, color = design_system_shared_1.IconColor.IconDefault, className, style, ...props }) => {
11
+ const icons_1 = require("./icons/index.cjs");
12
+ const Icon = ({ name, size = design_system_shared_1.IconSize.Md, color = design_system_shared_1.IconColor.IconDefault, className, style, ...props }) => {
33
13
  if (!name) {
34
14
  console.warn('Icon name is required');
35
15
  return null;
36
16
  }
37
- if (!(0, Icon_registry_1.isIconName)(name)) {
38
- console.warn(`Icon "${String(name)}" not found`);
17
+ const IconComponent = icons_1.Icons[name];
18
+ if (!IconComponent) {
19
+ console.warn(`Icon "${name}" not found`);
39
20
  return null;
40
21
  }
41
- const IconComponent = (0, Icon_registry_1.getIconComponent)(name);
42
22
  const mergedClassName = (0, tw_merge_1.twMerge)('inline-block', Icon_constants_1.TWCLASSMAP_ICON_SIZE_DIMENSION[size], color, className);
43
23
  return (react_1.default.createElement(IconComponent, { className: mergedClassName, ...props, style: style }));
44
24
  };
45
- const Icon = (props) => (react_1.default.createElement(react_1.Suspense, { fallback: null },
46
- react_1.default.createElement(IconRenderer, { ...props })));
47
25
  exports.Icon = Icon;
48
26
  //# sourceMappingURL=Icon.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.cjs","sourceRoot":"","sources":["../../../src/components/Icon/Icon.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kFAA8E;AAC9E,+CAAwC;AAExC,uDAA+C;AAE/C,yDAAkE;AAClE,uDAA+D;AAG/D,MAAM,YAAY,GAAwB,CAAC,EACzC,IAAI,EACJ,IAAI,GAAG,+BAAQ,CAAC,EAAE,EAClB,KAAK,GAAG,gCAAS,CAAC,WAAW,EAC7B,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,EAAE;IACH,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;KACb;IAED,IAAI,CAAC,IAAA,0BAAU,EAAC,IAAI,CAAC,EAAE;QACrB,OAAO,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;KACb;IAED,MAAM,aAAa,GAAG,IAAA,gCAAgB,EAAC,IAAI,CAAC,CAAC;IAE7C,MAAM,eAAe,GAAG,IAAA,kBAAO,EAC7B,cAAc,EACd,+CAA8B,CAAC,IAAI,CAAC,EACpC,KAAK,EACL,SAAS,CACV,CAAC;IAEF,OAAO,CACL,8BAAC,aAAa,IACZ,SAAS,EAAE,eAAe,KACrB,KAAuC,EAC5C,KAAK,EAAE,KAAK,GACZ,CACH,CAAC;AACJ,CAAC,CAAC;AAEK,MAAM,IAAI,GAAwB,CAAC,KAAK,EAAE,EAAE,CAAC,CAClD,8BAAC,gBAAQ,IAAC,QAAQ,EAAE,IAAI;IACtB,8BAAC,YAAY,OAAK,KAAK,GAAI,CAClB,CACZ,CAAC;AAJW,QAAA,IAAI,QAIf","sourcesContent":["import { IconSize, IconColor } from '@metamask-previews/design-system-shared';\nimport React, { Suspense } from 'react';\n\nimport { twMerge } from '../../utils/tw-merge';\n\nimport { TWCLASSMAP_ICON_SIZE_DIMENSION } from './Icon.constants';\nimport { getIconComponent, isIconName } from './Icon.registry';\nimport type { IconProps } from './Icon.types';\n\nconst IconRenderer: React.FC<IconProps> = ({\n name,\n size = IconSize.Md,\n color = IconColor.IconDefault,\n className,\n style,\n ...props\n}) => {\n if (!name) {\n console.warn('Icon name is required');\n return null;\n }\n\n if (!isIconName(name)) {\n console.warn(`Icon \"${String(name)}\" not found`);\n return null;\n }\n\n const IconComponent = getIconComponent(name);\n\n const mergedClassName = twMerge(\n 'inline-block',\n TWCLASSMAP_ICON_SIZE_DIMENSION[size],\n color,\n className,\n );\n\n return (\n <IconComponent\n className={mergedClassName}\n {...(props as React.SVGProps<SVGSVGElement>)}\n style={style}\n />\n );\n};\n\nexport const Icon: React.FC<IconProps> = (props) => (\n <Suspense fallback={null}>\n <IconRenderer {...props} />\n </Suspense>\n);\n"]}
1
+ {"version":3,"file":"Icon.cjs","sourceRoot":"","sources":["../../../src/components/Icon/Icon.tsx"],"names":[],"mappings":";;;;;;AAAA,kFAA8E;AAC9E,kDAA0B;AAE1B,uDAA+C;AAE/C,yDAAkE;AAElE,6CAAgC;AAEzB,MAAM,IAAI,GAAwB,CAAC,EACxC,IAAI,EACJ,IAAI,GAAG,+BAAQ,CAAC,EAAE,EAClB,KAAK,GAAG,gCAAS,CAAC,WAAW,EAC7B,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,EAAE;IACH,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;KACb;IAED,MAAM,aAAa,GAAG,aAAK,CAAC,IAAI,CAAC,CAAC;IAElC,IAAI,CAAC,aAAa,EAAE;QAClB,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,aAAa,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;KACb;IAED,MAAM,eAAe,GAAG,IAAA,kBAAO,EAC7B,cAAc,EACd,+CAA8B,CAAC,IAAI,CAAC,EACpC,KAAK,EACL,SAAS,CACV,CAAC;IAEF,OAAO,CACL,8BAAC,aAAa,IACZ,SAAS,EAAE,eAAe,KACrB,KAAuC,EAC5C,KAAK,EAAE,KAAK,GACZ,CACH,CAAC;AACJ,CAAC,CAAC;AAlCW,QAAA,IAAI,QAkCf","sourcesContent":["import { IconSize, IconColor } from '@metamask-previews/design-system-shared';\nimport React from 'react';\n\nimport { twMerge } from '../../utils/tw-merge';\n\nimport { TWCLASSMAP_ICON_SIZE_DIMENSION } from './Icon.constants';\nimport type { IconProps } from './Icon.types';\nimport { Icons } from './icons';\n\nexport const Icon: React.FC<IconProps> = ({\n name,\n size = IconSize.Md,\n color = IconColor.IconDefault,\n className,\n style,\n ...props\n}) => {\n if (!name) {\n console.warn('Icon name is required');\n return null;\n }\n\n const IconComponent = Icons[name];\n\n if (!IconComponent) {\n console.warn(`Icon \"${name}\" not found`);\n return null;\n }\n\n const mergedClassName = twMerge(\n 'inline-block',\n TWCLASSMAP_ICON_SIZE_DIMENSION[size],\n color,\n className,\n );\n\n return (\n <IconComponent\n className={mergedClassName}\n {...(props as React.SVGProps<SVGSVGElement>)}\n style={style}\n />\n );\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.d.cts","sourceRoot":"","sources":["../../../src/components/Icon/Icon.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmB,cAAc;AAMxC,OAAO,KAAK,EAAE,SAAS,EAAE,yBAAqB;AAsC9C,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAIpC,CAAC"}
1
+ {"version":3,"file":"Icon.d.cts","sourceRoot":"","sources":["../../../src/components/Icon/Icon.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,cAAc;AAK1B,OAAO,KAAK,EAAE,SAAS,EAAE,yBAAqB;AAG9C,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAkCpC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.d.mts","sourceRoot":"","sources":["../../../src/components/Icon/Icon.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmB,cAAc;AAMxC,OAAO,KAAK,EAAE,SAAS,EAAE,yBAAqB;AAsC9C,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAIpC,CAAC"}
1
+ {"version":3,"file":"Icon.d.mts","sourceRoot":"","sources":["../../../src/components/Icon/Icon.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,cAAc;AAK1B,OAAO,KAAK,EAAE,SAAS,EAAE,yBAAqB;AAG9C,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAkCpC,CAAC"}
@@ -5,24 +5,22 @@ function $importDefault(module) {
5
5
  return module;
6
6
  }
7
7
  import { IconSize, IconColor } from "@metamask-previews/design-system-shared";
8
- import $React, { Suspense } from "react";
8
+ import $React from "react";
9
9
  const React = $importDefault($React);
10
10
  import { twMerge } from "../../utils/tw-merge.mjs";
11
11
  import { TWCLASSMAP_ICON_SIZE_DIMENSION } from "./Icon.constants.mjs";
12
- import { getIconComponent, isIconName } from "./Icon.registry.mjs";
13
- const IconRenderer = ({ name, size = IconSize.Md, color = IconColor.IconDefault, className, style, ...props }) => {
12
+ import { Icons } from "./icons/index.mjs";
13
+ export const Icon = ({ name, size = IconSize.Md, color = IconColor.IconDefault, className, style, ...props }) => {
14
14
  if (!name) {
15
15
  console.warn('Icon name is required');
16
16
  return null;
17
17
  }
18
- if (!isIconName(name)) {
19
- console.warn(`Icon "${String(name)}" not found`);
18
+ const IconComponent = Icons[name];
19
+ if (!IconComponent) {
20
+ console.warn(`Icon "${name}" not found`);
20
21
  return null;
21
22
  }
22
- const IconComponent = getIconComponent(name);
23
23
  const mergedClassName = twMerge('inline-block', TWCLASSMAP_ICON_SIZE_DIMENSION[size], color, className);
24
24
  return (React.createElement(IconComponent, { className: mergedClassName, ...props, style: style }));
25
25
  };
26
- export const Icon = (props) => (React.createElement(Suspense, { fallback: null },
27
- React.createElement(IconRenderer, { ...props })));
28
26
  //# sourceMappingURL=Icon.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.mjs","sourceRoot":"","sources":["../../../src/components/Icon/Icon.tsx"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,gDAAgD;AAC9E,OAAO,QAAO,EAAE,QAAQ,EAAE,cAAc;;AAExC,OAAO,EAAE,OAAO,EAAE,iCAA6B;AAE/C,OAAO,EAAE,8BAA8B,EAAE,6BAAyB;AAClE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,4BAAwB;AAG/D,MAAM,YAAY,GAAwB,CAAC,EACzC,IAAI,EACJ,IAAI,GAAG,QAAQ,CAAC,EAAE,EAClB,KAAK,GAAG,SAAS,CAAC,WAAW,EAC7B,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,EAAE;IACH,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;KACb;IAED,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACrB,OAAO,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;KACb;IAED,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAE7C,MAAM,eAAe,GAAG,OAAO,CAC7B,cAAc,EACd,8BAA8B,CAAC,IAAI,CAAC,EACpC,KAAK,EACL,SAAS,CACV,CAAC;IAEF,OAAO,CACL,oBAAC,aAAa,IACZ,SAAS,EAAE,eAAe,KACrB,KAAuC,EAC5C,KAAK,EAAE,KAAK,GACZ,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAwB,CAAC,KAAK,EAAE,EAAE,CAAC,CAClD,oBAAC,QAAQ,IAAC,QAAQ,EAAE,IAAI;IACtB,oBAAC,YAAY,OAAK,KAAK,GAAI,CAClB,CACZ,CAAC","sourcesContent":["import { IconSize, IconColor } from '@metamask-previews/design-system-shared';\nimport React, { Suspense } from 'react';\n\nimport { twMerge } from '../../utils/tw-merge';\n\nimport { TWCLASSMAP_ICON_SIZE_DIMENSION } from './Icon.constants';\nimport { getIconComponent, isIconName } from './Icon.registry';\nimport type { IconProps } from './Icon.types';\n\nconst IconRenderer: React.FC<IconProps> = ({\n name,\n size = IconSize.Md,\n color = IconColor.IconDefault,\n className,\n style,\n ...props\n}) => {\n if (!name) {\n console.warn('Icon name is required');\n return null;\n }\n\n if (!isIconName(name)) {\n console.warn(`Icon \"${String(name)}\" not found`);\n return null;\n }\n\n const IconComponent = getIconComponent(name);\n\n const mergedClassName = twMerge(\n 'inline-block',\n TWCLASSMAP_ICON_SIZE_DIMENSION[size],\n color,\n className,\n );\n\n return (\n <IconComponent\n className={mergedClassName}\n {...(props as React.SVGProps<SVGSVGElement>)}\n style={style}\n />\n );\n};\n\nexport const Icon: React.FC<IconProps> = (props) => (\n <Suspense fallback={null}>\n <IconRenderer {...props} />\n </Suspense>\n);\n"]}
1
+ {"version":3,"file":"Icon.mjs","sourceRoot":"","sources":["../../../src/components/Icon/Icon.tsx"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,gDAAgD;AAC9E,OAAO,MAAK,cAAc;;AAE1B,OAAO,EAAE,OAAO,EAAE,iCAA6B;AAE/C,OAAO,EAAE,8BAA8B,EAAE,6BAAyB;AAElE,OAAO,EAAE,KAAK,EAAE,0BAAgB;AAEhC,MAAM,CAAC,MAAM,IAAI,GAAwB,CAAC,EACxC,IAAI,EACJ,IAAI,GAAG,QAAQ,CAAC,EAAE,EAClB,KAAK,GAAG,SAAS,CAAC,WAAW,EAC7B,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,EAAE;IACH,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;KACb;IAED,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAElC,IAAI,CAAC,aAAa,EAAE;QAClB,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,aAAa,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;KACb;IAED,MAAM,eAAe,GAAG,OAAO,CAC7B,cAAc,EACd,8BAA8B,CAAC,IAAI,CAAC,EACpC,KAAK,EACL,SAAS,CACV,CAAC;IAEF,OAAO,CACL,oBAAC,aAAa,IACZ,SAAS,EAAE,eAAe,KACrB,KAAuC,EAC5C,KAAK,EAAE,KAAK,GACZ,CACH,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { IconSize, IconColor } from '@metamask-previews/design-system-shared';\nimport React from 'react';\n\nimport { twMerge } from '../../utils/tw-merge';\n\nimport { TWCLASSMAP_ICON_SIZE_DIMENSION } from './Icon.constants';\nimport type { IconProps } from './Icon.types';\nimport { Icons } from './icons';\n\nexport const Icon: React.FC<IconProps> = ({\n name,\n size = IconSize.Md,\n color = IconColor.IconDefault,\n className,\n style,\n ...props\n}) => {\n if (!name) {\n console.warn('Icon name is required');\n return null;\n }\n\n const IconComponent = Icons[name];\n\n if (!IconComponent) {\n console.warn(`Icon \"${name}\" not found`);\n return null;\n }\n\n const mergedClassName = twMerge(\n 'inline-block',\n TWCLASSMAP_ICON_SIZE_DIMENSION[size],\n color,\n className,\n );\n\n return (\n <IconComponent\n className={mergedClassName}\n {...(props as React.SVGProps<SVGSVGElement>)}\n style={style}\n />\n );\n};\n"]}