@bm-fe/icons 0.1.0-beta.0 → 0.2.0-beta.1

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 (219) hide show
  1. package/core/manifest.json +179 -90
  2. package/core/types.ts +7 -0
  3. package/package.json +1 -1
  4. package/react/dist/AED.tsx +33 -20
  5. package/react/dist/AMD.tsx +31 -18
  6. package/react/dist/ARS.tsx +31 -18
  7. package/react/dist/AUD.tsx +31 -18
  8. package/react/dist/AZN.tsx +31 -18
  9. package/react/dist/Academy.tsx +23 -10
  10. package/react/dist/Add.tsx +23 -10
  11. package/react/dist/Add2.tsx +23 -10
  12. package/react/dist/Address.tsx +23 -10
  13. package/react/dist/AffiliateProgram.tsx +23 -10
  14. package/react/dist/AiHub.tsx +23 -10
  15. package/react/dist/Amm.tsx +24 -11
  16. package/react/dist/Apis.tsx +23 -10
  17. package/react/dist/AppDownload.tsx +23 -10
  18. package/react/dist/Apple.tsx +23 -10
  19. package/react/dist/ArrowLeft.tsx +23 -10
  20. package/react/dist/ArrowRight.tsx +23 -10
  21. package/react/dist/ArrowRight2.tsx +23 -10
  22. package/react/dist/Avatar.tsx +22 -9
  23. package/react/dist/BDT.tsx +31 -18
  24. package/react/dist/BRL.tsx +32 -19
  25. package/react/dist/BYN.tsx +32 -19
  26. package/react/dist/Beacon.tsx +23 -10
  27. package/react/dist/BitmartCard.tsx +22 -9
  28. package/react/dist/BitmartTravel.tsx +23 -10
  29. package/react/dist/BmDiscovery.tsx +23 -10
  30. package/react/dist/BrokerProgram.tsx +23 -10
  31. package/react/dist/CLP.tsx +31 -18
  32. package/react/dist/CNY.tsx +31 -18
  33. package/react/dist/COP.tsx +31 -18
  34. package/react/dist/Clear.tsx +23 -10
  35. package/react/dist/Close.tsx +24 -11
  36. package/react/dist/CloudBackup.tsx +23 -10
  37. package/react/dist/CoinM.tsx +23 -10
  38. package/react/dist/Community.tsx +23 -10
  39. package/react/dist/Copy.tsx +23 -10
  40. package/react/dist/CopyTrading.tsx +23 -10
  41. package/react/dist/CopyTradingClassic.tsx +23 -10
  42. package/react/dist/Create.tsx +23 -10
  43. package/react/dist/CreditCard.tsx +22 -9
  44. package/react/dist/CryptoLoans.tsx +23 -10
  45. package/react/dist/DZD.tsx +31 -18
  46. package/react/dist/DailyDraw.tsx +23 -10
  47. package/react/dist/DarkMode.tsx +23 -10
  48. package/react/dist/Delete.tsx +23 -10
  49. package/react/dist/Delete2.tsx +23 -10
  50. package/react/dist/DemoTrading.tsx +23 -10
  51. package/react/dist/Deposit.tsx +22 -9
  52. package/react/dist/Detail.tsx +23 -10
  53. package/react/dist/Dex.tsx +23 -10
  54. package/react/dist/Discord.tsx +23 -10
  55. package/react/dist/Down.tsx +23 -10
  56. package/react/dist/Download.tsx +23 -10
  57. package/react/dist/Drag.tsx +23 -10
  58. package/react/dist/EGP.tsx +31 -18
  59. package/react/dist/EUR.tsx +31 -18
  60. package/react/dist/EarnOverview.tsx +23 -10
  61. package/react/dist/Edit.tsx +23 -10
  62. package/react/dist/EventsCenter.tsx +23 -10
  63. package/react/dist/Exchange.tsx +23 -10
  64. package/react/dist/Facebook.tsx +23 -10
  65. package/react/dist/Fail.tsx +23 -10
  66. package/react/dist/FailFilled.tsx +23 -10
  67. package/react/dist/FiatConvert.tsx +23 -10
  68. package/react/dist/FiatConvertOutline.tsx +27 -14
  69. package/react/dist/Filter.tsx +28 -15
  70. package/react/dist/Fold.tsx +23 -10
  71. package/react/dist/FuturesKing.tsx +23 -10
  72. package/react/dist/FuturesOverview.tsx +23 -10
  73. package/react/dist/GBP.tsx +31 -18
  74. package/react/dist/GHS.tsx +31 -18
  75. package/react/dist/Gift.tsx +23 -10
  76. package/react/dist/Github.tsx +30 -17
  77. package/react/dist/Google.tsx +26 -13
  78. package/react/dist/GridBot.tsx +23 -10
  79. package/react/dist/HKD.tsx +31 -18
  80. package/react/dist/HUF.tsx +31 -18
  81. package/react/dist/Hide.tsx +24 -11
  82. package/react/dist/HistoryOrder.tsx +23 -10
  83. package/react/dist/HotFilled.tsx +23 -10
  84. package/react/dist/IDR.tsx +31 -18
  85. package/react/dist/INR.tsx +31 -18
  86. package/react/dist/IQD.tsx +31 -18
  87. package/react/dist/IconPlaceholder.tsx +23 -10
  88. package/react/dist/Import.tsx +23 -10
  89. package/react/dist/Info.tsx +23 -10
  90. package/react/dist/InfoFilled.tsx +23 -10
  91. package/react/dist/Ino.tsx +23 -10
  92. package/react/dist/Instagram.tsx +23 -10
  93. package/react/dist/Institution.tsx +23 -10
  94. package/react/dist/JOD.tsx +31 -18
  95. package/react/dist/JPY.tsx +31 -18
  96. package/react/dist/KES.tsx +31 -18
  97. package/react/dist/KZT.tsx +31 -18
  98. package/react/dist/LaunchPrime.tsx +23 -10
  99. package/react/dist/LightMode.tsx +23 -10
  100. package/react/dist/Linkedin.tsx +23 -10
  101. package/react/dist/Loading.tsx +30 -17
  102. package/react/dist/Lock.tsx +23 -10
  103. package/react/dist/MAD.tsx +31 -18
  104. package/react/dist/MRU.tsx +31 -18
  105. package/react/dist/MXN.tsx +31 -18
  106. package/react/dist/MYR.tsx +31 -18
  107. package/react/dist/ManualBackup.tsx +23 -10
  108. package/react/dist/Margin.tsx +23 -10
  109. package/react/dist/Markets.tsx +23 -10
  110. package/react/dist/Medium.tsx +23 -10
  111. package/react/dist/Message.tsx +23 -10
  112. package/react/dist/Metamask.tsx +51 -38
  113. package/react/dist/Microsoft.tsx +26 -13
  114. package/react/dist/MobileRecharge.tsx +23 -10
  115. package/react/dist/MobileRechargeAlt.tsx +22 -9
  116. package/react/dist/More.tsx +23 -10
  117. package/react/dist/NGN.tsx +31 -18
  118. package/react/dist/NPR.tsx +31 -18
  119. package/react/dist/Network.tsx +23 -10
  120. package/react/dist/News.tsx +23 -10
  121. package/react/dist/NftMarketplace.tsx +23 -10
  122. package/react/dist/NonSelected.tsx +23 -10
  123. package/react/dist/Notification.tsx +23 -10
  124. package/react/dist/Ok.tsx +23 -10
  125. package/react/dist/P2p.tsx +22 -9
  126. package/react/dist/PGK.tsx +31 -18
  127. package/react/dist/PHP.tsx +31 -18
  128. package/react/dist/PKR.tsx +31 -18
  129. package/react/dist/PLN.tsx +31 -18
  130. package/react/dist/Paste.tsx +23 -10
  131. package/react/dist/PlusFilled.tsx +23 -10
  132. package/react/dist/Powerdrop.tsx +23 -10
  133. package/react/dist/PreMarket.tsx +23 -10
  134. package/react/dist/PredictionMarket.tsx +27 -14
  135. package/react/dist/PrepaidCard.tsx +22 -9
  136. package/react/dist/ProgressFilled.tsx +23 -10
  137. package/react/dist/QrCode.tsx +23 -10
  138. package/react/dist/RON.tsx +31 -18
  139. package/react/dist/RUB.tsx +31 -18
  140. package/react/dist/Receive.tsx +23 -10
  141. package/react/dist/Reddit.tsx +23 -10
  142. package/react/dist/ReferralProgram.tsx +25 -12
  143. package/react/dist/RemoveFilled.tsx +23 -10
  144. package/react/dist/Replay.tsx +35 -22
  145. package/react/dist/RewardsHub.tsx +23 -10
  146. package/react/dist/Rocket.tsx +23 -10
  147. package/react/dist/Rwa.tsx +23 -10
  148. package/react/dist/SAR.tsx +31 -18
  149. package/react/dist/SEK.tsx +31 -18
  150. package/react/dist/Scan.tsx +23 -10
  151. package/react/dist/Search.tsx +23 -10
  152. package/react/dist/Send.tsx +23 -10
  153. package/react/dist/Setting.tsx +23 -10
  154. package/react/dist/Shop.tsx +23 -10
  155. package/react/dist/ShopOutline.tsx +24 -11
  156. package/react/dist/Show.tsx +23 -10
  157. package/react/dist/Sidebar.tsx +23 -10
  158. package/react/dist/SmartWallet.tsx +23 -10
  159. package/react/dist/Spot.tsx +23 -10
  160. package/react/dist/SpotDailyDraw.tsx +24 -11
  161. package/react/dist/StakeBmxToListing.tsx +23 -10
  162. package/react/dist/StakeToVote.tsx +23 -10
  163. package/react/dist/Staking.tsx +23 -10
  164. package/react/dist/Star.tsx +23 -10
  165. package/react/dist/StarFilled.tsx +23 -10
  166. package/react/dist/Success.tsx +23 -10
  167. package/react/dist/SuccessFilled.tsx +23 -10
  168. package/react/dist/Support.tsx +25 -12
  169. package/react/dist/THB.tsx +31 -18
  170. package/react/dist/TRY.tsx +31 -18
  171. package/react/dist/TWD.tsx +31 -18
  172. package/react/dist/TZS.tsx +31 -18
  173. package/react/dist/Telegram.tsx +23 -10
  174. package/react/dist/ThirdPartyPayment.tsx +22 -9
  175. package/react/dist/Tiktok.tsx +23 -10
  176. package/react/dist/Time.tsx +23 -10
  177. package/react/dist/TokenManage.tsx +23 -10
  178. package/react/dist/Transfer.tsx +24 -11
  179. package/react/dist/UAH.tsx +31 -18
  180. package/react/dist/USD.tsx +31 -18
  181. package/react/dist/UZS.tsx +31 -18
  182. package/react/dist/Unfold.tsx +23 -10
  183. package/react/dist/Up.tsx +23 -10
  184. package/react/dist/VES.tsx +31 -18
  185. package/react/dist/VND.tsx +31 -18
  186. package/react/dist/Vip.tsx +23 -10
  187. package/react/dist/VipExclusive.tsx +23 -10
  188. package/react/dist/Vk.tsx +23 -10
  189. package/react/dist/Wallet.tsx +23 -10
  190. package/react/dist/WarningFilled.tsx +23 -10
  191. package/react/dist/WealthManagement.tsx +23 -10
  192. package/react/dist/Whatsapp.tsx +23 -10
  193. package/react/dist/X.tsx +24 -11
  194. package/react/dist/XAF.tsx +31 -18
  195. package/react/dist/XInsight.tsx +23 -10
  196. package/react/dist/XOF.tsx +31 -18
  197. package/react/dist/Youtube.tsx +23 -10
  198. package/react/dist/ZAR.tsx +31 -18
  199. package/react/dist/index.d.mts +1168 -18
  200. package/react/dist/index.d.ts +1168 -18
  201. package/react/dist/index.js +4717 -1230
  202. package/react/dist/index.js.map +1 -1
  203. package/react/dist/index.mjs +4707 -1229
  204. package/react/dist/index.mjs.map +1 -1
  205. package/react/dist/index.ts +0 -4
  206. package/svg/product/apple.svg +1 -1
  207. package/svg/product/discord.svg +1 -1
  208. package/svg/product/facebook.svg +1 -1
  209. package/svg/product/github.svg +8 -8
  210. package/svg/product/instagram.svg +1 -1
  211. package/svg/product/linkedin.svg +1 -1
  212. package/svg/product/medium.svg +1 -1
  213. package/svg/product/reddit.svg +1 -1
  214. package/svg/product/telegram.svg +1 -1
  215. package/svg/product/tiktok.svg +1 -1
  216. package/svg/product/vk.svg +1 -1
  217. package/svg/product/whatsapp.svg +1 -1
  218. package/svg/product/x.svg +2 -2
  219. package/svg/product/youtube.svg +1 -1
@@ -1,16 +1,29 @@
1
1
  import React from 'react';
2
- import { IconBase, type IconBaseProps } from '../src/IconBase';
3
2
 
4
- export interface BitmartTravelProps extends Omit<IconBaseProps, 'children'> {}
3
+ export interface BitmartTravelProps extends React.SVGProps<SVGSVGElement> {
4
+ /** Icon size — number (px) or string ("1.5em"). Default: "1em" */
5
+ size?: number | string;
6
+ }
5
7
 
6
- export const BitmartTravel: React.FC<BitmartTravelProps> = (props) => {
7
- return (
8
- <IconBase {...props}>
9
- <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
10
- <path d="M20.5 20V22H3.5V20H20.5ZM8.37012 3L8.65039 3.24121L15.2803 8.92383L18.1357 8.35254C19.5779 8.06411 21.0167 8.86418 21.5332 10.2412L21.6436 10.5352C22.2755 12.2208 21.2906 14.0798 19.541 14.5039L4.46191 18.1592L0.520508 10.2764L4.8291 9.41406L5.20703 9.79297L6.30664 10.8926L8.25977 10.4043L2.44238 3H8.37012ZM11.7402 11.5957L5.69336 13.1074L4.1709 11.585L3.47949 11.7236L5.53809 15.8398L19.0703 12.5605C19.6535 12.4192 19.9812 11.7992 19.7705 11.2373L19.6611 10.9434C19.489 10.4844 19.009 10.2183 18.5283 10.3145L14.7188 11.0762L14.3496 10.7588L7.63086 5H6.55762L11.7402 11.5957Z" fill="currentColor"/>
8
+ export const BitmartTravel = React.forwardRef<SVGSVGElement, BitmartTravelProps>(
9
+ ({ size, width, height, className, ...props }, ref) => {
10
+ const sizeValue = typeof size === 'number' ? `${size}px` : size;
11
+ return (
12
+ <svg
13
+ ref={ref}
14
+ width={sizeValue ?? width ?? '1em'}
15
+ height={sizeValue ?? height ?? '1em'}
16
+ viewBox="0 0 24 24"
17
+ fill="currentColor"
18
+ role="img"
19
+ aria-hidden="true"
20
+ className={className}
21
+ {...props}
22
+ >
23
+ <path d="M20.5 20V22H3.5V20H20.5ZM8.37012 3L8.65039 3.24121L15.2803 8.92383L18.1357 8.35254C19.5779 8.06411 21.0167 8.86418 21.5332 10.2412L21.6436 10.5352C22.2755 12.2208 21.2906 14.0798 19.541 14.5039L4.46191 18.1592L0.520508 10.2764L4.8291 9.41406L5.20703 9.79297L6.30664 10.8926L8.25977 10.4043L2.44238 3H8.37012ZM11.7402 11.5957L5.69336 13.1074L4.1709 11.585L3.47949 11.7236L5.53809 15.8398L19.0703 12.5605C19.6535 12.4192 19.9812 11.7992 19.7705 11.2373L19.6611 10.9434C19.489 10.4844 19.009 10.2183 18.5283 10.3145L14.7188 11.0762L14.3496 10.7588L7.63086 5H6.55762L11.7402 11.5957Z" fill="currentColor"/>
11
24
  </svg>
12
- </IconBase>
13
- );
14
- };
25
+ );
26
+ }
27
+ );
15
28
 
16
29
  BitmartTravel.displayName = 'BitmartTravel';
@@ -1,16 +1,29 @@
1
1
  import React from 'react';
2
- import { IconBase, type IconBaseProps } from '../src/IconBase';
3
2
 
4
- export interface BmDiscoveryProps extends Omit<IconBaseProps, 'children'> {}
3
+ export interface BmDiscoveryProps extends React.SVGProps<SVGSVGElement> {
4
+ /** Icon size — number (px) or string ("1.5em"). Default: "1em" */
5
+ size?: number | string;
6
+ }
5
7
 
6
- export const BmDiscovery: React.FC<BmDiscoveryProps> = (props) => {
7
- return (
8
- <IconBase {...props}>
9
- <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
10
- <path d="M12 3C16.9706 3 21 7.02944 21 12C21 16.9706 16.9706 21 12 21H7V19H12C15.866 19 19 15.866 19 12C19 8.13401 15.866 5 12 5H5V21H3V3H12ZM11 7C13.7614 7 16 9.23858 16 12C16 14.7614 13.7614 17 11 17H8V15H11C12.6569 15 14 13.6569 14 12C14 10.3431 12.6569 9 11 9H8V7H11Z" fill="currentColor"/>
8
+ export const BmDiscovery = React.forwardRef<SVGSVGElement, BmDiscoveryProps>(
9
+ ({ size, width, height, className, ...props }, ref) => {
10
+ const sizeValue = typeof size === 'number' ? `${size}px` : size;
11
+ return (
12
+ <svg
13
+ ref={ref}
14
+ width={sizeValue ?? width ?? '1em'}
15
+ height={sizeValue ?? height ?? '1em'}
16
+ viewBox="0 0 24 24"
17
+ fill="currentColor"
18
+ role="img"
19
+ aria-hidden="true"
20
+ className={className}
21
+ {...props}
22
+ >
23
+ <path d="M12 3C16.9706 3 21 7.02944 21 12C21 16.9706 16.9706 21 12 21H7V19H12C15.866 19 19 15.866 19 12C19 8.13401 15.866 5 12 5H5V21H3V3H12ZM11 7C13.7614 7 16 9.23858 16 12C16 14.7614 13.7614 17 11 17H8V15H11C12.6569 15 14 13.6569 14 12C14 10.3431 12.6569 9 11 9H8V7H11Z" fill="currentColor"/>
11
24
  </svg>
12
- </IconBase>
13
- );
14
- };
25
+ );
26
+ }
27
+ );
15
28
 
16
29
  BmDiscovery.displayName = 'BmDiscovery';
@@ -1,16 +1,29 @@
1
1
  import React from 'react';
2
- import { IconBase, type IconBaseProps } from '../src/IconBase';
3
2
 
4
- export interface BrokerProgramProps extends Omit<IconBaseProps, 'children'> {}
3
+ export interface BrokerProgramProps extends React.SVGProps<SVGSVGElement> {
4
+ /** Icon size — number (px) or string ("1.5em"). Default: "1em" */
5
+ size?: number | string;
6
+ }
5
7
 
6
- export const BrokerProgram: React.FC<BrokerProgramProps> = (props) => {
7
- return (
8
- <IconBase {...props}>
9
- <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
10
- <path d="M21 13V21H19V15H12.4775L14.1738 19.2412L13.707 19.707L12 21.4141L10.293 19.707L9.82617 19.2412L11.5225 15H5V21H3V13H21ZM15 7C15 5.34315 13.6569 4 12 4C10.3431 4 9 5.34315 9 7C9 8.65685 10.3431 10 12 10C13.6569 10 15 8.65685 15 7ZM17 7C17 9.76142 14.7614 12 12 12C9.23858 12 7 9.76142 7 7C7 4.23858 9.23858 2 12 2C14.7614 2 17 4.23858 17 7Z" fill="currentColor"/>
8
+ export const BrokerProgram = React.forwardRef<SVGSVGElement, BrokerProgramProps>(
9
+ ({ size, width, height, className, ...props }, ref) => {
10
+ const sizeValue = typeof size === 'number' ? `${size}px` : size;
11
+ return (
12
+ <svg
13
+ ref={ref}
14
+ width={sizeValue ?? width ?? '1em'}
15
+ height={sizeValue ?? height ?? '1em'}
16
+ viewBox="0 0 24 24"
17
+ fill="currentColor"
18
+ role="img"
19
+ aria-hidden="true"
20
+ className={className}
21
+ {...props}
22
+ >
23
+ <path d="M21 13V21H19V15H12.4775L14.1738 19.2412L13.707 19.707L12 21.4141L10.293 19.707L9.82617 19.2412L11.5225 15H5V21H3V13H21ZM15 7C15 5.34315 13.6569 4 12 4C10.3431 4 9 5.34315 9 7C9 8.65685 10.3431 10 12 10C13.6569 10 15 8.65685 15 7ZM17 7C17 9.76142 14.7614 12 12 12C9.23858 12 7 9.76142 7 7C7 4.23858 9.23858 2 12 2C14.7614 2 17 4.23858 17 7Z" fill="currentColor"/>
11
24
  </svg>
12
- </IconBase>
13
- );
14
- };
25
+ );
26
+ }
27
+ );
15
28
 
16
29
  BrokerProgram.displayName = 'BrokerProgram';
@@ -1,24 +1,37 @@
1
1
  import React from 'react';
2
- import { IconBase, type IconBaseProps } from '../src/IconBase';
3
2
 
4
- export interface CLPProps extends Omit<IconBaseProps, 'children'> {}
3
+ export interface CLPProps extends React.SVGProps<SVGSVGElement> {
4
+ /** Icon size — number (px) or string ("1.5em"). Default: "1em" */
5
+ size?: number | string;
6
+ }
5
7
 
6
- export const CLP: React.FC<CLPProps> = (props) => {
7
- return (
8
- <IconBase {...props}>
9
- <svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
10
- <g clip-path="url(#clip0_72_3933)">
11
- <circle cx="20" cy="20" r="20" fill="#2B73DE"/>
12
- <path fill-rule="evenodd" clip-rule="evenodd" d="M19.2514 11.8022C18.0109 11.8901 17.0057 12.2198 16.193 12.8132C15.1022 13.5824 14.5675 14.6813 14.5675 16.1319C14.5675 17.7582 15.2947 18.989 16.7918 19.8242L19.2514 20.7473V25.8901C18.5884 25.8022 18.0751 25.5824 17.7115 25.2308C17.2196 24.7473 16.9415 23.9121 16.856 22.7692H14.375C14.5033 24.5714 15.0166 25.9121 15.9149 26.7912C16.6849 27.5385 17.7971 27.956 19.2514 28.0659V30H20.663V28.0659C21.9677 27.978 23.0371 27.6484 23.8926 27.0769C25.0475 26.2857 25.625 25.1209 25.625 23.5604C25.625 21.956 24.8764 20.7253 23.4007 19.8681C23.2723 19.7802 22.3527 19.4286 20.663 18.7912V13.956C21.1977 14.022 21.6255 14.1758 21.9463 14.4176C22.4596 14.7912 22.7804 15.4286 22.9087 16.3516H25.347C25.1331 14.7473 24.5984 13.5824 23.7215 12.8791C22.9729 12.2637 21.9463 11.8901 20.663 11.8022V10H19.2514V11.8022ZM20.663 21.2747C20.7486 21.2967 20.8127 21.3187 20.8983 21.3626C22.3741 21.8901 23.1226 22.6593 23.1226 23.6483C23.1226 24.3736 22.8232 24.945 22.2243 25.3407C21.7966 25.6264 21.2619 25.8022 20.663 25.8901V21.2747ZM17.0699 16.1318C17.0699 16.967 17.7971 17.6703 19.2514 18.2417V13.934C18.6953 14 18.2462 14.1538 17.9254 14.3736C17.3479 14.7252 17.0699 15.3186 17.0699 16.1318Z" fill="white"/>
13
- </g>
14
- <defs>
15
- <clipPath id="clip0_72_3933">
16
- <rect width="40" height="40" fill="white"/>
17
- </clipPath>
18
- </defs>
8
+ export const CLP = React.forwardRef<SVGSVGElement, CLPProps>(
9
+ ({ size, width, height, className, ...props }, ref) => {
10
+ const sizeValue = typeof size === 'number' ? `${size}px` : size;
11
+ return (
12
+ <svg
13
+ ref={ref}
14
+ width={sizeValue ?? width ?? '1em'}
15
+ height={sizeValue ?? height ?? '1em'}
16
+ viewBox="0 0 40 40"
17
+ fill="none"
18
+ role="img"
19
+ aria-hidden="true"
20
+ className={className}
21
+ {...props}
22
+ >
23
+ <g clipPath="url(#clip0_72_3933)">
24
+ <circle cx="20" cy="20" r="20" fill="#2B73DE"/>
25
+ <path fillRule="evenodd" clipRule="evenodd" d="M19.2514 11.8022C18.0109 11.8901 17.0057 12.2198 16.193 12.8132C15.1022 13.5824 14.5675 14.6813 14.5675 16.1319C14.5675 17.7582 15.2947 18.989 16.7918 19.8242L19.2514 20.7473V25.8901C18.5884 25.8022 18.0751 25.5824 17.7115 25.2308C17.2196 24.7473 16.9415 23.9121 16.856 22.7692H14.375C14.5033 24.5714 15.0166 25.9121 15.9149 26.7912C16.6849 27.5385 17.7971 27.956 19.2514 28.0659V30H20.663V28.0659C21.9677 27.978 23.0371 27.6484 23.8926 27.0769C25.0475 26.2857 25.625 25.1209 25.625 23.5604C25.625 21.956 24.8764 20.7253 23.4007 19.8681C23.2723 19.7802 22.3527 19.4286 20.663 18.7912V13.956C21.1977 14.022 21.6255 14.1758 21.9463 14.4176C22.4596 14.7912 22.7804 15.4286 22.9087 16.3516H25.347C25.1331 14.7473 24.5984 13.5824 23.7215 12.8791C22.9729 12.2637 21.9463 11.8901 20.663 11.8022V10H19.2514V11.8022ZM20.663 21.2747C20.7486 21.2967 20.8127 21.3187 20.8983 21.3626C22.3741 21.8901 23.1226 22.6593 23.1226 23.6483C23.1226 24.3736 22.8232 24.945 22.2243 25.3407C21.7966 25.6264 21.2619 25.8022 20.663 25.8901V21.2747ZM17.0699 16.1318C17.0699 16.967 17.7971 17.6703 19.2514 18.2417V13.934C18.6953 14 18.2462 14.1538 17.9254 14.3736C17.3479 14.7252 17.0699 15.3186 17.0699 16.1318Z" fill="white"/>
26
+ </g>
27
+ <defs>
28
+ <clipPath id="clip0_72_3933">
29
+ <rect width="40" height="40" fill="white"/>
30
+ </clipPath>
31
+ </defs>
19
32
  </svg>
20
- </IconBase>
21
- );
22
- };
33
+ );
34
+ }
35
+ );
23
36
 
24
37
  CLP.displayName = 'CLP';
@@ -1,24 +1,37 @@
1
1
  import React from 'react';
2
- import { IconBase, type IconBaseProps } from '../src/IconBase';
3
2
 
4
- export interface CNYProps extends Omit<IconBaseProps, 'children'> {}
3
+ export interface CNYProps extends React.SVGProps<SVGSVGElement> {
4
+ /** Icon size — number (px) or string ("1.5em"). Default: "1em" */
5
+ size?: number | string;
6
+ }
5
7
 
6
- export const CNY: React.FC<CNYProps> = (props) => {
7
- return (
8
- <IconBase {...props}>
9
- <svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
10
- <g clip-path="url(#clip0_72_3978)">
11
- <circle cx="20" cy="20" r="20" fill="#DB0E0E"/>
12
- <path d="M12.6663 11.1675H16.0388L19.625 18.3162L23.2113 11.1675H26.5838L22.0238 19.4325H25.0638V21H21.145L21.1213 21.0237V22.995H25.0638V24.5625H21.1213V28.125H18.1288V24.5625H14.21V22.995H18.1288V21.0237L18.105 21H14.21V19.4325H17.2263L12.6663 11.1675Z" fill="#FEFF03"/>
13
- </g>
14
- <defs>
15
- <clipPath id="clip0_72_3978">
16
- <rect width="40" height="40" fill="white"/>
17
- </clipPath>
18
- </defs>
8
+ export const CNY = React.forwardRef<SVGSVGElement, CNYProps>(
9
+ ({ size, width, height, className, ...props }, ref) => {
10
+ const sizeValue = typeof size === 'number' ? `${size}px` : size;
11
+ return (
12
+ <svg
13
+ ref={ref}
14
+ width={sizeValue ?? width ?? '1em'}
15
+ height={sizeValue ?? height ?? '1em'}
16
+ viewBox="0 0 40 40"
17
+ fill="none"
18
+ role="img"
19
+ aria-hidden="true"
20
+ className={className}
21
+ {...props}
22
+ >
23
+ <g clipPath="url(#clip0_72_3978)">
24
+ <circle cx="20" cy="20" r="20" fill="#DB0E0E"/>
25
+ <path d="M12.6663 11.1675H16.0388L19.625 18.3162L23.2113 11.1675H26.5838L22.0238 19.4325H25.0638V21H21.145L21.1213 21.0237V22.995H25.0638V24.5625H21.1213V28.125H18.1288V24.5625H14.21V22.995H18.1288V21.0237L18.105 21H14.21V19.4325H17.2263L12.6663 11.1675Z" fill="#FEFF03"/>
26
+ </g>
27
+ <defs>
28
+ <clipPath id="clip0_72_3978">
29
+ <rect width="40" height="40" fill="white"/>
30
+ </clipPath>
31
+ </defs>
19
32
  </svg>
20
- </IconBase>
21
- );
22
- };
33
+ );
34
+ }
35
+ );
23
36
 
24
37
  CNY.displayName = 'CNY';
@@ -1,24 +1,37 @@
1
1
  import React from 'react';
2
- import { IconBase, type IconBaseProps } from '../src/IconBase';
3
2
 
4
- export interface COPProps extends Omit<IconBaseProps, 'children'> {}
3
+ export interface COPProps extends React.SVGProps<SVGSVGElement> {
4
+ /** Icon size — number (px) or string ("1.5em"). Default: "1em" */
5
+ size?: number | string;
6
+ }
5
7
 
6
- export const COP: React.FC<COPProps> = (props) => {
7
- return (
8
- <IconBase {...props}>
9
- <svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
10
- <g clip-path="url(#clip0_72_3959)">
11
- <circle cx="20" cy="20" r="20" fill="#FEB116"/>
12
- <path fill-rule="evenodd" clip-rule="evenodd" d="M19.6055 12.3146C18.4339 12.397 17.4846 12.706 16.717 13.2624C15.6868 13.9835 15.1818 15.0137 15.1818 16.3736C15.1818 17.8984 15.8686 19.0522 17.2826 19.8352L19.6055 20.7005V25.522C18.9793 25.4396 18.4945 25.2335 18.1511 24.9038C17.6865 24.4505 17.424 23.6676 17.3432 22.5962H15C15.1212 24.2857 15.606 25.5426 16.4544 26.3668C17.1816 27.0673 18.2319 27.4588 19.6055 27.5618V29.375H20.9387V27.5618C22.1709 27.4794 23.1808 27.1703 23.9888 26.6346C25.0796 25.8929 25.625 24.8008 25.625 23.3379C25.625 21.8338 24.918 20.6799 23.5242 19.8764C23.403 19.794 22.5345 19.4643 20.9387 18.8668V14.3338C21.4437 14.3956 21.8477 14.5398 22.1507 14.7665C22.6355 15.1168 22.9385 15.7143 23.0596 16.5797H25.3624C25.1604 15.0755 24.6554 13.9835 23.8272 13.3242C23.1202 12.7473 22.1507 12.397 20.9387 12.3146V10.625H19.6055V12.3146ZM20.9387 21.1951C21.0195 21.2157 21.0801 21.2363 21.1609 21.2775C22.5547 21.772 23.2617 22.4931 23.2617 23.4203C23.2617 24.1003 22.9789 24.636 22.4133 25.0069C22.0093 25.2747 21.5043 25.4396 20.9387 25.522V21.1951ZM17.5452 16.3736C17.5452 17.1566 18.232 17.8159 19.6055 18.3517V14.3132C19.0803 14.375 18.6561 14.5192 18.3532 14.7253C17.8078 15.055 17.5452 15.6113 17.5452 16.3736Z" fill="white"/>
13
- </g>
14
- <defs>
15
- <clipPath id="clip0_72_3959">
16
- <rect width="40" height="40" fill="white"/>
17
- </clipPath>
18
- </defs>
8
+ export const COP = React.forwardRef<SVGSVGElement, COPProps>(
9
+ ({ size, width, height, className, ...props }, ref) => {
10
+ const sizeValue = typeof size === 'number' ? `${size}px` : size;
11
+ return (
12
+ <svg
13
+ ref={ref}
14
+ width={sizeValue ?? width ?? '1em'}
15
+ height={sizeValue ?? height ?? '1em'}
16
+ viewBox="0 0 40 40"
17
+ fill="none"
18
+ role="img"
19
+ aria-hidden="true"
20
+ className={className}
21
+ {...props}
22
+ >
23
+ <g clipPath="url(#clip0_72_3959)">
24
+ <circle cx="20" cy="20" r="20" fill="#FEB116"/>
25
+ <path fillRule="evenodd" clipRule="evenodd" d="M19.6055 12.3146C18.4339 12.397 17.4846 12.706 16.717 13.2624C15.6868 13.9835 15.1818 15.0137 15.1818 16.3736C15.1818 17.8984 15.8686 19.0522 17.2826 19.8352L19.6055 20.7005V25.522C18.9793 25.4396 18.4945 25.2335 18.1511 24.9038C17.6865 24.4505 17.424 23.6676 17.3432 22.5962H15C15.1212 24.2857 15.606 25.5426 16.4544 26.3668C17.1816 27.0673 18.2319 27.4588 19.6055 27.5618V29.375H20.9387V27.5618C22.1709 27.4794 23.1808 27.1703 23.9888 26.6346C25.0796 25.8929 25.625 24.8008 25.625 23.3379C25.625 21.8338 24.918 20.6799 23.5242 19.8764C23.403 19.794 22.5345 19.4643 20.9387 18.8668V14.3338C21.4437 14.3956 21.8477 14.5398 22.1507 14.7665C22.6355 15.1168 22.9385 15.7143 23.0596 16.5797H25.3624C25.1604 15.0755 24.6554 13.9835 23.8272 13.3242C23.1202 12.7473 22.1507 12.397 20.9387 12.3146V10.625H19.6055V12.3146ZM20.9387 21.1951C21.0195 21.2157 21.0801 21.2363 21.1609 21.2775C22.5547 21.772 23.2617 22.4931 23.2617 23.4203C23.2617 24.1003 22.9789 24.636 22.4133 25.0069C22.0093 25.2747 21.5043 25.4396 20.9387 25.522V21.1951ZM17.5452 16.3736C17.5452 17.1566 18.232 17.8159 19.6055 18.3517V14.3132C19.0803 14.375 18.6561 14.5192 18.3532 14.7253C17.8078 15.055 17.5452 15.6113 17.5452 16.3736Z" fill="white"/>
26
+ </g>
27
+ <defs>
28
+ <clipPath id="clip0_72_3959">
29
+ <rect width="40" height="40" fill="white"/>
30
+ </clipPath>
31
+ </defs>
19
32
  </svg>
20
- </IconBase>
21
- );
22
- };
33
+ );
34
+ }
35
+ );
23
36
 
24
37
  COP.displayName = 'COP';
@@ -1,16 +1,29 @@
1
1
  import React from 'react';
2
- import { IconBase, type IconBaseProps } from '../src/IconBase';
3
2
 
4
- export interface ClearProps extends Omit<IconBaseProps, 'children'> {}
3
+ export interface ClearProps extends React.SVGProps<SVGSVGElement> {
4
+ /** Icon size — number (px) or string ("1.5em"). Default: "1em" */
5
+ size?: number | string;
6
+ }
5
7
 
6
- export const Clear: React.FC<ClearProps> = (props) => {
7
- return (
8
- <IconBase {...props}>
9
- <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
10
- <path d="M13 6H19.6025L19.7373 6.8418L21.9873 20.8418L22.1738 22H1.82617L2.0127 20.8418L4.2627 6.8418L4.39746 6H11V2H13V6ZM4.17383 20H19.8262L18.7012 13H5.29883L4.17383 20ZM5.61914 11H18.3809L17.8984 8H6.10156L5.61914 11Z" fill="currentColor"/>
8
+ export const Clear = React.forwardRef<SVGSVGElement, ClearProps>(
9
+ ({ size, width, height, className, ...props }, ref) => {
10
+ const sizeValue = typeof size === 'number' ? `${size}px` : size;
11
+ return (
12
+ <svg
13
+ ref={ref}
14
+ width={sizeValue ?? width ?? '1em'}
15
+ height={sizeValue ?? height ?? '1em'}
16
+ viewBox="0 0 24 24"
17
+ fill="currentColor"
18
+ role="img"
19
+ aria-hidden="true"
20
+ className={className}
21
+ {...props}
22
+ >
23
+ <path d="M13 6H19.6025L19.7373 6.8418L21.9873 20.8418L22.1738 22H1.82617L2.0127 20.8418L4.2627 6.8418L4.39746 6H11V2H13V6ZM4.17383 20H19.8262L18.7012 13H5.29883L4.17383 20ZM5.61914 11H18.3809L17.8984 8H6.10156L5.61914 11Z" fill="currentColor"/>
11
24
  </svg>
12
- </IconBase>
13
- );
14
- };
25
+ );
26
+ }
27
+ );
15
28
 
16
29
  Clear.displayName = 'Clear';
@@ -1,17 +1,30 @@
1
1
  import React from 'react';
2
- import { IconBase, type IconBaseProps } from '../src/IconBase';
3
2
 
4
- export interface CloseProps extends Omit<IconBaseProps, 'children'> {}
3
+ export interface CloseProps extends React.SVGProps<SVGSVGElement> {
4
+ /** Icon size — number (px) or string ("1.5em"). Default: "1em" */
5
+ size?: number | string;
6
+ }
5
7
 
6
- export const Close: React.FC<CloseProps> = (props) => {
7
- return (
8
- <IconBase {...props}>
9
- <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
10
- <path d="M18.707 6.70703L13.4141 12L18.707 17.293L17.293 18.707L12 13.4141L6.70703 18.707L5.29297 17.293L10.5859 12L5.29297 6.70703L6.70703 5.29297L12 10.5859L17.293 5.29297L18.707 6.70703Z" fill="currentColor"/>
11
- <path d="M18.707 6.70703L13.4141 12L18.707 17.293L17.293 18.707L12 13.4141L6.70703 18.707L5.29297 17.293L10.5859 12L5.29297 6.70703L6.70703 5.29297L12 10.5859L17.293 5.29297L18.707 6.70703Z" fill="currentColor"/>
8
+ export const Close = React.forwardRef<SVGSVGElement, CloseProps>(
9
+ ({ size, width, height, className, ...props }, ref) => {
10
+ const sizeValue = typeof size === 'number' ? `${size}px` : size;
11
+ return (
12
+ <svg
13
+ ref={ref}
14
+ width={sizeValue ?? width ?? '1em'}
15
+ height={sizeValue ?? height ?? '1em'}
16
+ viewBox="0 0 24 24"
17
+ fill="currentColor"
18
+ role="img"
19
+ aria-hidden="true"
20
+ className={className}
21
+ {...props}
22
+ >
23
+ <path d="M18.707 6.70703L13.4141 12L18.707 17.293L17.293 18.707L12 13.4141L6.70703 18.707L5.29297 17.293L10.5859 12L5.29297 6.70703L6.70703 5.29297L12 10.5859L17.293 5.29297L18.707 6.70703Z" fill="currentColor"/>
24
+ <path d="M18.707 6.70703L13.4141 12L18.707 17.293L17.293 18.707L12 13.4141L6.70703 18.707L5.29297 17.293L10.5859 12L5.29297 6.70703L6.70703 5.29297L12 10.5859L17.293 5.29297L18.707 6.70703Z" fill="currentColor"/>
12
25
  </svg>
13
- </IconBase>
14
- );
15
- };
26
+ );
27
+ }
28
+ );
16
29
 
17
30
  Close.displayName = 'Close';
@@ -1,16 +1,29 @@
1
1
  import React from 'react';
2
- import { IconBase, type IconBaseProps } from '../src/IconBase';
3
2
 
4
- export interface CloudBackupProps extends Omit<IconBaseProps, 'children'> {}
3
+ export interface CloudBackupProps extends React.SVGProps<SVGSVGElement> {
4
+ /** Icon size — number (px) or string ("1.5em"). Default: "1em" */
5
+ size?: number | string;
6
+ }
5
7
 
6
- export const CloudBackup: React.FC<CloudBackupProps> = (props) => {
7
- return (
8
- <IconBase {...props}>
9
- <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
10
- <path d="M15.707 13.293L14.293 14.707L13 13.4141V19.001H11V13.4141L9.70703 14.707L8.29297 13.293L12 9.58594L15.707 13.293ZM12 4C15.0783 4 17.6131 6.31884 17.958 9.30469C20.1826 10.0038 21.9998 11.8484 22 14.2256H21.999C22.0135 15.0737 21.7214 16.264 20.8252 17.2559C19.8933 18.287 18.4039 19.0009 16.2275 19.001H15V17.001H16.2275C17.9407 17.0009 18.8526 16.4563 19.3418 15.915C19.8583 15.3435 20.0098 14.6587 20 14.25V14.2256C19.9997 12.6098 18.2646 11 16 11V10C15.9997 7.79105 14.209 6 12 6C9.79102 6.00003 8.00027 7.79107 8 10H7.50098L7.32715 10.0049C5.54515 10.1058 4.00024 11.747 4 13.5947C4.00003 15.4753 5.52465 17 7.40527 17H9.16699V19H7.40527C4.42008 19 2.00003 16.5799 2 13.5947C2.00021 11.0435 3.85152 8.73224 6.29297 8.14453C7.07463 5.73926 9.33408 4.00003 12 4Z" fill="currentColor"/>
8
+ export const CloudBackup = React.forwardRef<SVGSVGElement, CloudBackupProps>(
9
+ ({ size, width, height, className, ...props }, ref) => {
10
+ const sizeValue = typeof size === 'number' ? `${size}px` : size;
11
+ return (
12
+ <svg
13
+ ref={ref}
14
+ width={sizeValue ?? width ?? '1em'}
15
+ height={sizeValue ?? height ?? '1em'}
16
+ viewBox="0 0 24 24"
17
+ fill="currentColor"
18
+ role="img"
19
+ aria-hidden="true"
20
+ className={className}
21
+ {...props}
22
+ >
23
+ <path d="M15.707 13.293L14.293 14.707L13 13.4141V19.001H11V13.4141L9.70703 14.707L8.29297 13.293L12 9.58594L15.707 13.293ZM12 4C15.0783 4 17.6131 6.31884 17.958 9.30469C20.1826 10.0038 21.9998 11.8484 22 14.2256H21.999C22.0135 15.0737 21.7214 16.264 20.8252 17.2559C19.8933 18.287 18.4039 19.0009 16.2275 19.001H15V17.001H16.2275C17.9407 17.0009 18.8526 16.4563 19.3418 15.915C19.8583 15.3435 20.0098 14.6587 20 14.25V14.2256C19.9997 12.6098 18.2646 11 16 11V10C15.9997 7.79105 14.209 6 12 6C9.79102 6.00003 8.00027 7.79107 8 10H7.50098L7.32715 10.0049C5.54515 10.1058 4.00024 11.747 4 13.5947C4.00003 15.4753 5.52465 17 7.40527 17H9.16699V19H7.40527C4.42008 19 2.00003 16.5799 2 13.5947C2.00021 11.0435 3.85152 8.73224 6.29297 8.14453C7.07463 5.73926 9.33408 4.00003 12 4Z" fill="currentColor"/>
11
24
  </svg>
12
- </IconBase>
13
- );
14
- };
25
+ );
26
+ }
27
+ );
15
28
 
16
29
  CloudBackup.displayName = 'CloudBackup';
@@ -1,16 +1,29 @@
1
1
  import React from 'react';
2
- import { IconBase, type IconBaseProps } from '../src/IconBase';
3
2
 
4
- export interface CoinMProps extends Omit<IconBaseProps, 'children'> {}
3
+ export interface CoinMProps extends React.SVGProps<SVGSVGElement> {
4
+ /** Icon size — number (px) or string ("1.5em"). Default: "1em" */
5
+ size?: number | string;
6
+ }
5
7
 
6
- export const CoinM: React.FC<CoinMProps> = (props) => {
7
- return (
8
- <IconBase {...props}>
9
- <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
10
- <path d="M4 22H2V14H4V22ZM21 22H5V2H21V22ZM7 20H19V4H7V20ZM16 10H13.8574L13.6748 10.0098C12.7707 10.1072 12 10.9208 12 12C12 13.1511 12.8772 14 13.8574 14H16V16H13.8574C11.6818 16 10 14.1626 10 12C10 9.90509 11.5778 8.11488 13.6543 8.00488L13.8574 8H16V10Z" fill="currentColor"/>
8
+ export const CoinM = React.forwardRef<SVGSVGElement, CoinMProps>(
9
+ ({ size, width, height, className, ...props }, ref) => {
10
+ const sizeValue = typeof size === 'number' ? `${size}px` : size;
11
+ return (
12
+ <svg
13
+ ref={ref}
14
+ width={sizeValue ?? width ?? '1em'}
15
+ height={sizeValue ?? height ?? '1em'}
16
+ viewBox="0 0 24 24"
17
+ fill="currentColor"
18
+ role="img"
19
+ aria-hidden="true"
20
+ className={className}
21
+ {...props}
22
+ >
23
+ <path d="M4 22H2V14H4V22ZM21 22H5V2H21V22ZM7 20H19V4H7V20ZM16 10H13.8574L13.6748 10.0098C12.7707 10.1072 12 10.9208 12 12C12 13.1511 12.8772 14 13.8574 14H16V16H13.8574C11.6818 16 10 14.1626 10 12C10 9.90509 11.5778 8.11488 13.6543 8.00488L13.8574 8H16V10Z" fill="currentColor"/>
11
24
  </svg>
12
- </IconBase>
13
- );
14
- };
25
+ );
26
+ }
27
+ );
15
28
 
16
29
  CoinM.displayName = 'CoinM';
@@ -1,16 +1,29 @@
1
1
  import React from 'react';
2
- import { IconBase, type IconBaseProps } from '../src/IconBase';
3
2
 
4
- export interface CommunityProps extends Omit<IconBaseProps, 'children'> {}
3
+ export interface CommunityProps extends React.SVGProps<SVGSVGElement> {
4
+ /** Icon size — number (px) or string ("1.5em"). Default: "1em" */
5
+ size?: number | string;
6
+ }
5
7
 
6
- export const Community: React.FC<CommunityProps> = (props) => {
7
- return (
8
- <IconBase {...props}>
9
- <svg width="20" height="20" viewBox="0 0 20 20" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
10
- <path d="M20 20H18V12.3438L10 14.7441L2 12.3438V20H0V9.65625L10 12.6553L20 9.65625V20ZM10 0C13.866 0 17 3.13401 17 7C17 7.94575 16.8106 8.84695 16.4707 9.66992L13.5107 10.5576C14.4294 9.65101 15 8.39264 15 7C15 4.23858 12.7614 2 10 2C7.23858 2 5 4.23858 5 7C5 8.39239 5.56994 9.65105 6.48828 10.5576L3.52832 9.66992C3.18847 8.84704 3 7.94562 3 7C3 3.13401 6.13401 0 10 0ZM12 7L10 9L8 7L10 5L12 7Z" fill="currentColor"/>
8
+ export const Community = React.forwardRef<SVGSVGElement, CommunityProps>(
9
+ ({ size, width, height, className, ...props }, ref) => {
10
+ const sizeValue = typeof size === 'number' ? `${size}px` : size;
11
+ return (
12
+ <svg
13
+ ref={ref}
14
+ width={sizeValue ?? width ?? '1em'}
15
+ height={sizeValue ?? height ?? '1em'}
16
+ viewBox="0 0 20 20"
17
+ fill="currentColor"
18
+ role="img"
19
+ aria-hidden="true"
20
+ className={className}
21
+ {...props}
22
+ >
23
+ <path d="M20 20H18V12.3438L10 14.7441L2 12.3438V20H0V9.65625L10 12.6553L20 9.65625V20ZM10 0C13.866 0 17 3.13401 17 7C17 7.94575 16.8106 8.84695 16.4707 9.66992L13.5107 10.5576C14.4294 9.65101 15 8.39264 15 7C15 4.23858 12.7614 2 10 2C7.23858 2 5 4.23858 5 7C5 8.39239 5.56994 9.65105 6.48828 10.5576L3.52832 9.66992C3.18847 8.84704 3 7.94562 3 7C3 3.13401 6.13401 0 10 0ZM12 7L10 9L8 7L10 5L12 7Z" fill="currentColor"/>
11
24
  </svg>
12
- </IconBase>
13
- );
14
- };
25
+ );
26
+ }
27
+ );
15
28
 
16
29
  Community.displayName = 'Community';
@@ -1,16 +1,29 @@
1
1
  import React from 'react';
2
- import { IconBase, type IconBaseProps } from '../src/IconBase';
3
2
 
4
- export interface CopyProps extends Omit<IconBaseProps, 'children'> {}
3
+ export interface CopyProps extends React.SVGProps<SVGSVGElement> {
4
+ /** Icon size — number (px) or string ("1.5em"). Default: "1em" */
5
+ size?: number | string;
6
+ }
5
7
 
6
- export const Copy: React.FC<CopyProps> = (props) => {
7
- return (
8
- <IconBase {...props}>
9
- <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
10
- <path d="M22 22H6V6H22V22ZM8 20H20V8H8V20ZM15 4H4V15H2V2H15V4Z" fill="currentColor"/>
8
+ export const Copy = React.forwardRef<SVGSVGElement, CopyProps>(
9
+ ({ size, width, height, className, ...props }, ref) => {
10
+ const sizeValue = typeof size === 'number' ? `${size}px` : size;
11
+ return (
12
+ <svg
13
+ ref={ref}
14
+ width={sizeValue ?? width ?? '1em'}
15
+ height={sizeValue ?? height ?? '1em'}
16
+ viewBox="0 0 24 24"
17
+ fill="currentColor"
18
+ role="img"
19
+ aria-hidden="true"
20
+ className={className}
21
+ {...props}
22
+ >
23
+ <path d="M22 22H6V6H22V22ZM8 20H20V8H8V20ZM15 4H4V15H2V2H15V4Z" fill="currentColor"/>
11
24
  </svg>
12
- </IconBase>
13
- );
14
- };
25
+ );
26
+ }
27
+ );
15
28
 
16
29
  Copy.displayName = 'Copy';
@@ -1,16 +1,29 @@
1
1
  import React from 'react';
2
- import { IconBase, type IconBaseProps } from '../src/IconBase';
3
2
 
4
- export interface CopyTradingProps extends Omit<IconBaseProps, 'children'> {}
3
+ export interface CopyTradingProps extends React.SVGProps<SVGSVGElement> {
4
+ /** Icon size — number (px) or string ("1.5em"). Default: "1em" */
5
+ size?: number | string;
6
+ }
5
7
 
6
- export const CopyTrading: React.FC<CopyTradingProps> = (props) => {
7
- return (
8
- <IconBase {...props}>
9
- <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
10
- <path d="M10 3C14.9706 3 19 7.02944 19 12C19 16.9706 14.9706 21 10 21C5.02944 21 1 16.9706 1 12C1 7.02944 5.02944 3 10 3ZM10 5C6.13401 5 3 8.13401 3 12C3 15.866 6.13401 19 10 19C13.866 19 17 15.866 17 12C17 8.13401 13.866 5 10 5ZM20.7559 5.3457C22.158 6.96545 23 9.37456 23 12C23 14.6254 22.158 17.0346 20.7559 18.6543L19.2441 17.3457C20.2806 16.1484 21 14.2288 21 12C21 9.77119 20.2806 7.85159 19.2441 6.6543L20.7559 5.3457ZM14 12L10 16L6 12L10 8L14 12ZM8.8291 12L10 13.1709L11.1709 12L10 10.8291L8.8291 12Z" fill="currentColor"/>
8
+ export const CopyTrading = React.forwardRef<SVGSVGElement, CopyTradingProps>(
9
+ ({ size, width, height, className, ...props }, ref) => {
10
+ const sizeValue = typeof size === 'number' ? `${size}px` : size;
11
+ return (
12
+ <svg
13
+ ref={ref}
14
+ width={sizeValue ?? width ?? '1em'}
15
+ height={sizeValue ?? height ?? '1em'}
16
+ viewBox="0 0 24 24"
17
+ fill="currentColor"
18
+ role="img"
19
+ aria-hidden="true"
20
+ className={className}
21
+ {...props}
22
+ >
23
+ <path d="M10 3C14.9706 3 19 7.02944 19 12C19 16.9706 14.9706 21 10 21C5.02944 21 1 16.9706 1 12C1 7.02944 5.02944 3 10 3ZM10 5C6.13401 5 3 8.13401 3 12C3 15.866 6.13401 19 10 19C13.866 19 17 15.866 17 12C17 8.13401 13.866 5 10 5ZM20.7559 5.3457C22.158 6.96545 23 9.37456 23 12C23 14.6254 22.158 17.0346 20.7559 18.6543L19.2441 17.3457C20.2806 16.1484 21 14.2288 21 12C21 9.77119 20.2806 7.85159 19.2441 6.6543L20.7559 5.3457ZM14 12L10 16L6 12L10 8L14 12ZM8.8291 12L10 13.1709L11.1709 12L10 10.8291L8.8291 12Z" fill="currentColor"/>
11
24
  </svg>
12
- </IconBase>
13
- );
14
- };
25
+ );
26
+ }
27
+ );
15
28
 
16
29
  CopyTrading.displayName = 'CopyTrading';