@matchain/matchid-sdk-react 0.1.48-alpha.8 → 0.1.48

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 (71) hide show
  1. package/dist/assets/icon/index.d.mts +8 -2
  2. package/dist/assets/icon/index.d.ts +8 -2
  3. package/dist/assets/icon/index.js +54 -2
  4. package/dist/assets/icon/index.js.map +1 -1
  5. package/dist/assets/icon/index.mjs +5 -1
  6. package/dist/{chunk-J5U7AXYA.mjs → chunk-4I5WVXIN.mjs} +2 -2
  7. package/dist/chunk-5JHHHLG4.mjs +136 -0
  8. package/dist/chunk-5JHHHLG4.mjs.map +1 -0
  9. package/dist/{chunk-USKUYOYJ.mjs → chunk-FB5MHLWX.mjs} +75 -42
  10. package/dist/chunk-FB5MHLWX.mjs.map +1 -0
  11. package/dist/{chunk-7UTR37EJ.mjs → chunk-LHNKZISB.mjs} +54 -4
  12. package/dist/chunk-LHNKZISB.mjs.map +1 -0
  13. package/dist/{chunk-EY6NPX4M.mjs → chunk-YSASIFLY.mjs} +2018 -702
  14. package/dist/chunk-YSASIFLY.mjs.map +1 -0
  15. package/dist/components/index.d.mts +4 -3
  16. package/dist/components/index.d.ts +4 -3
  17. package/dist/components/index.js +2265 -536
  18. package/dist/components/index.js.map +1 -1
  19. package/dist/components/index.mjs +14 -3
  20. package/dist/hooks/api/index.d.mts +2 -2
  21. package/dist/hooks/api/index.d.ts +2 -2
  22. package/dist/hooks/api/index.js +363 -204
  23. package/dist/hooks/api/index.js.map +1 -1
  24. package/dist/hooks/api/index.mjs +5 -4
  25. package/dist/hooks/index.d.mts +3 -2
  26. package/dist/hooks/index.d.ts +3 -2
  27. package/dist/hooks/index.js +1532 -320
  28. package/dist/hooks/index.js.map +1 -1
  29. package/dist/hooks/index.mjs +8 -3
  30. package/dist/index-BMfaixEx.d.mts +66 -0
  31. package/dist/{index-Bbn2Stvu.d.ts → index-BMsj8hJv.d.ts} +4 -3
  32. package/dist/{index-DcxdJ0m2.d.ts → index-BcEreCxd.d.ts} +1 -1
  33. package/dist/index-Bpmrd7mh.d.ts +66 -0
  34. package/dist/{index-C_S7k6z2.d.mts → index-Bvc8cjpN.d.ts} +34 -4
  35. package/dist/{index-Dzvj-uGt.d.mts → index-C9F6f2iz.d.mts} +4 -3
  36. package/dist/{index-D-uNr-JV.d.ts → index-C9qYyRgt.d.mts} +34 -4
  37. package/dist/{index-CB4j_ONH.d.mts → index-Cou96DpL.d.mts} +1 -1
  38. package/dist/{index-C-YCr0xJ.d.mts → index-Cy3K-Yao.d.ts} +22 -7
  39. package/dist/{index-zRpvDpIK.d.ts → index-D4ju2J_e.d.mts} +22 -7
  40. package/dist/{index-DDV4F9ka.d.mts → index-DUHkH5t-.d.mts} +114 -65
  41. package/dist/{index-Bz53bbI_.d.ts → index-DcQm2dkr.d.ts} +114 -65
  42. package/dist/index.css +613 -10
  43. package/dist/index.d.mts +8 -8
  44. package/dist/index.d.ts +8 -8
  45. package/dist/index.js +2593 -1104
  46. package/dist/index.js.map +1 -1
  47. package/dist/index.mjs +8 -7
  48. package/dist/types/index.d.mts +2 -1
  49. package/dist/types/index.d.ts +2 -1
  50. package/dist/{types-B4BYNw8B.d.mts → types-DzVVzMYU.d.mts} +62 -35
  51. package/dist/{types-B4BYNw8B.d.ts → types-DzVVzMYU.d.ts} +62 -35
  52. package/dist/ui/index.d.mts +4 -3
  53. package/dist/ui/index.d.ts +4 -3
  54. package/dist/ui/index.js +134 -95
  55. package/dist/ui/index.js.map +1 -1
  56. package/dist/ui/index.mjs +2 -2
  57. package/dist/utils/index.d.mts +26 -0
  58. package/dist/utils/index.d.ts +26 -0
  59. package/dist/utils/index.js +181 -0
  60. package/dist/utils/index.js.map +1 -0
  61. package/dist/utils/index.mjs +30 -0
  62. package/dist/utils/index.mjs.map +1 -0
  63. package/example/src/pages/Wallet/components/MatchWallet.tsx +44 -9
  64. package/example/src/pages/Wallet/index.tsx +2 -1
  65. package/package.json +7 -1
  66. package/dist/chunk-7UTR37EJ.mjs.map +0 -1
  67. package/dist/chunk-EY6NPX4M.mjs.map +0 -1
  68. package/dist/chunk-USKUYOYJ.mjs.map +0 -1
  69. package/dist/index-CKyWWkzU.d.mts +0 -60
  70. package/dist/index-DV_mRu4y.d.ts +0 -60
  71. /package/dist/{chunk-J5U7AXYA.mjs.map → chunk-4I5WVXIN.mjs.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/index.ts","../src/ui/Button/index.tsx","../src/ui/Overlay/index.tsx","../src/ui/Drawer/index.tsx","../src/ui/Field/index.tsx","../src/ui/HashPanel/index.tsx","../src/hooks/useLayout.tsx","../src/ui/Modal/index.tsx","../src/ui/ModalDrawer/index.tsx","../src/hooks/useHash.ts","../src/utils/matchlog.ts","../src/ui/Input/index.tsx","../src/ui/Popover/index.tsx","../src/ui/Switch/index.tsx","../src/ui/AlphaAvatar/index.tsx","../src/ui/Radio/index.tsx"],"sourcesContent":["export { default as Button } from './Button';\nexport { default as Drawer } from './Drawer';\nexport { default as Field } from './Field';\nexport { default as HashPanel } from './HashPanel';\nexport { default as Input } from './Input';\nexport { default as Modal,ModalWithHeader } from './Modal';\nexport { default as ModalDrawer } from './ModalDrawer';\nexport { default as Overlay } from './Overlay';\nexport { default as Popover } from './Popover';\nexport { default as Switch } from './Switch';\nexport { default as AlphaAvatar } from './AlphaAvatar';\nexport { default as Radio } from './Radio';","import {LoadingIcon} from \"assets/icon\";\nimport {ButtonProps} from \"../../types/types\";\n\nexport default function Button({\n size = \"df\",\n disabled = false,\n loading = false,\n children,\n onClick,\n highlight = false,\n block = false,\n type = \"button\",\n rounded = true,\n className = '',\n style = {}\n }: ButtonProps) {\n\n const onAction = () => {\n if (!disabled && !loading) {\n onClick && onClick()\n }\n }\n return <button\n type={type}\n className={`${className} matchid-btn ${'matchid-btn-' + size} ${highlight ? \"matchid-btn-highlight\" : ''} ${loading ? \"matchid-btn-loading\" : ''} ${block ? \"matchid-btn-block\" : ''} ${rounded ? \"matchid-btn-rounded\" : ''}`}\n disabled={disabled || loading}\n style={{\n ...style\n }}\n onClick={onAction}\n >\n {\n loading ?\n <LoadingIcon className=\"matchid-btn-loading-icon\" color=\"var(--matchid-btn-loading-color)\"/> :\n children\n }\n </button>\n}","import React, {PropsWithChildren, useEffect} from \"react\";\n\nexport default function Overlay({\n isOpen = false,\n children,\n zIndex = 100,\n }: {\n isOpen?: boolean\n zIndex?: number\n} & PropsWithChildren) {\n useEffect(() => {\n if (isOpen) {\n document.body.style.overflow = \"hidden\";\n } else {\n document.body.style.overflow = \"\";\n }\n\n return () => {\n document.body.style.overflow = \"\";\n };\n }, [isOpen]);\n return isOpen ? <div\n className=\"matchid-overlay\"\n style={{\n zIndex\n }}\n >\n {children}\n </div> : <></>\n}","import React, {PropsWithChildren} from \"react\";\nimport Overlay from \"../Overlay\";\nimport {CloseRoundIcon} from \"assets/icon\";\nimport {DrawerProps} from \"../../types\";\nimport ArrowLeftIcon from \"../../assets/icon/ArrowLeftIcon\";\n\nexport default function Drawer({\n children,\n showClose = true,\n onClose,\n isOpen = false,\n title,\n zIndex = 100,\n onBack\n }: DrawerProps) {\n\n if (!isOpen) {\n return <></>\n }\n\n\n return <Overlay isOpen={isOpen} zIndex={zIndex}>\n <div className={\"matchid-drawer\"}>\n <div className={`matchid-drawer-header matchid-flex`}>\n <div className={`matchid-drawer-header-content matchid-flex`}>\n {onBack && <ArrowLeftIcon height={25} width={24} className=\"matchid-drawer-header-back\" onClick={onBack}/>}\n {title}\n </div>\n {\n showClose && <CloseRoundIcon className={\"matchid-drawer-header-close\"} onClick={onClose}/>\n }\n </div>\n\n {children}\n </div>\n </Overlay>\n}","import {PropsWithChildren, ReactNode} from \"react\";\n\nexport default function Field({\n label,\n children,\n error,\n required,\n className=''\n }:{\n label: ReactNode,\n error?: ReactNode,\n required?: boolean\n className?: string\n\n}&PropsWithChildren){\n return <div className={`matchid-field-box ${className}`}>\n <div className=\"matchid-field-label\">{required&&<span className={\"matchid-field-required\"}>*</span>}{label}</div>\n {children}\n {error && <div className=\"matchid-field-error\">{error}</div>}\n </div>\n\n}","import {\n http,\n Hash,\n createPublicClient, Chain,\n} from \"viem\";\nimport {useEffect, useState} from \"react\";\nimport {useQuery} from \"@tanstack/react-query\";\nimport ModalDrawer from \"../ModalDrawer\";\nimport Button from \"../Button\";\nimport ConfirmImg from \"assets/img/confirm.gif\"\nimport PendingImg from \"assets/img/pending.gif\"\nimport SuccessImg from \"assets/img/success.gif\"\nimport FailImg from \"assets/img/fail.gif\"\nimport matchlog from \"../../utils/matchlog\";\nimport useHash from \"../../hooks/useHash\";\n\ntype statusType = 'pending' | 'success' | 'fail' | 'confirm'\ntype HashPanelProps = {\n hash?: Hash | null,\n chain?: Chain | null,\n isOpen: boolean,\n onClose: () => void\n zIndex?: number\n}\n\nfunction HashPanel({\n hash,\n chain,\n isOpen,\n onClose,\n zIndex,\n }: HashPanelProps) {\n const [status, setStatus] = useState<statusType>('confirm')\n\n const statusMaps: Record<statusType, {\n icon: string;\n text: string;\n color: string\n }> = {\n 'confirm': {\n icon: ConfirmImg,\n text: 'Confirming...',\n color: '#FC802D'\n },\n 'pending': {\n icon: PendingImg,\n text: 'Pending...',\n color: '#FC802D'\n },\n 'success': {\n icon: SuccessImg,\n text: 'Successful!',\n color: '#2CBF68'\n },\n 'fail': {\n icon: FailImg,\n text: 'Failed!',\n color: '#F14141'\n }\n }\n\n const statusValue = statusMaps[status]\n const [shouldRefetch, setShouldRefetch] = useState(true)\n\n useEffect(() => {\n if (hash) {\n setShouldRefetch(true)\n setStatus('pending')\n } else {\n setStatus('confirm')\n }\n }, [hash])\n const hashQuery = useHash({\n hash,\n chain,\n refetchInterval: shouldRefetch ? 3000 : false\n })\n useEffect(() => {\n if(hashQuery.data==1||hashQuery.data==-1){\n setShouldRefetch(false)\n }\n if(hashQuery.data==1){\n setStatus('success')\n }else if(hashQuery.data==-1){\n setStatus('fail')\n }else if(hashQuery.data==0){\n setStatus('pending')\n }\n }, [hashQuery.data]);\n\n const link = chain ? `${chain?.blockExplorers?.default.url}/tx/${hash}` : '';\n\n return <ModalDrawer isOpen={isOpen}\n showClose\n onClose={onClose}\n zIndex={zIndex}\n title={\n <div className={\"matchid-hashpanel-header\"}\n style={{\n color: statusValue.color\n }}>{statusValue.text}</div>\n }\n >\n <div className=\"matchid-hashpanel-box\">\n <div className=\"matchid-hashpanel-content\">\n <div className={`matchid-hashpanel-status`} style={{\n color: statusValue.color\n }}>{statusValue.text}</div>\n\n <img src={statusValue.icon} alt={statusValue.text} className={`matchid-hashpanel-img`}/>\n\n {hash && <div className=\"matchid-hashpanel-hash\">\n Hash:<a href={link} target=\"_blank\">{hash}</a>\n </div>}\n </div>\n <Button onClick={onClose} size=\"lg\" block>Back</Button>\n </div>\n </ModalDrawer>\n}\n\nexport default function (props: HashPanelProps) {\n return props.isOpen && <HashPanel {...props}/>\n\n}","import { useState ,useEffect} from \"react\";\n\nexport function useDownMd(): boolean {\n const [isBelowMd, setIsBelowMd] = useState(window.matchMedia('(max-width: 767px)').matches);\n\n useEffect(() => {\n const handleResize = () => {\n setIsBelowMd(window.matchMedia('(max-width: 767px)').matches);\n };\n\n window.addEventListener('resize', handleResize);\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, []);\n\n return isBelowMd;\n}","import React, {useEffect} from \"react\";\nimport {ModalProps, ModalWithHeaderProps} from \"../../types\";\nimport ArrowLeftIcon from \"../../assets/icon/ArrowLeftIcon\";\nimport {CloseRoundIcon} from \"../../assets/icon\";\nimport {useDownMd} from \"../../hooks/useLayout\";\nimport Overlay from \"../Overlay\";\n\nexport default function Modal({\n children,\n isOpen,\n width = 480,\n zIndex = 100,\n className = ''\n }: ModalProps) {\n\n return <Overlay isOpen={isOpen} zIndex={zIndex}>\n <div className={`matchid-modal ${className}`} style={{\n width\n }}>\n <div className=\"matchid-modal-mobile-header\"></div>\n {children}\n </div>\n </Overlay>\n}\n\nexport function ModalWithHeader({\n children,\n onBack,\n onClose,\n title,\n showBorder = true,\n showClose = true,\n ...props\n\n }: ModalWithHeaderProps) {\n const isDownMd = useDownMd()\n return <Modal {...props}>\n <div className={`matchid-modal-header ${showBorder ? 'matchid-modal-header-border' : ''}`}>\n <div className=\"matchid-modal-header-content\">\n {\n onBack &&\n <ArrowLeftIcon height={isDownMd ? 20 : 25} width={isDownMd ? 20 : 24} className=\"matchid-modal-header-back\" onClick={onBack}/>\n }\n <span className=\"matchid-modal-header-title\">{title}</span>\n </div>\n {onClose &&\n <CloseRoundIcon size={isDownMd ? 24 : 30} className=\"matchid-modal-header-close\" onClick={onClose}/>}\n </div>\n {children}\n </Modal>\n\n}","import {useDownMd} from \"hooks/useLayout\";\nimport {ModalWithHeader} from \"../Modal\";\nimport Drawer from \"../Drawer\";\nimport {WalletPanelProps} from \"../../types\";\n\nexport default function ModalDrawer({\n title,\n drawerTitleVisible=true,\n ...props}:WalletPanelProps){\n\n const isDownMd = useDownMd()\n if(isDownMd){\n return <ModalWithHeader {...props} title={title}/>\n }\n return <Drawer {...props} title={drawerTitleVisible ? title : null}/>\n}","import {useQuery} from \"@tanstack/react-query\";\nimport {Chain, createPublicClient, http} from \"viem\";\nimport matchlog from \"../utils/matchlog\";\n\nexport default function useHash({\n hash,\n chain,\n refetchInterval,\n enabled=true\n }:{\n hash?: `0x${string}` | null,\n chain?: Chain | null,\n refetchInterval?:false|number\n enabled?:boolean\n}){\n return useQuery(\n {\n queryKey: ['txhash', hash, chain],\n queryFn: async () => {\n if (!chain || !hash) return false\n const publicClient = createPublicClient({\n chain,\n transport: http(),\n });\n try {\n const receipt = await publicClient.getTransactionReceipt({hash});\n\n if (!receipt) {\n return 0\n }\n matchlog.log('getTransactionReceipt', receipt)\n if (receipt.status === 'success') {\n return 1\n }\n return -1\n\n } catch (error) {\n console.error('getTransactionReceiptError', error)\n }\n return -99\n },\n enabled: !!chain && !!hash && enabled,\n refetchInterval,\n // refetchIntervalInBackground: false\n }\n );\n}","// src/utils/logger.ts\nconst matchDevExists = () => localStorage.getItem('matchid-sdk-react-debug') !== null;\n\nconst handler = {\n get(target: any, prop: string) {\n if (matchDevExists() && typeof target[prop] === 'function') {\n return target[prop].bind(console);\n }\n return () => {};\n }\n};\n\nconst matchlog = new Proxy(console, handler);\n\nexport default matchlog;","import {InputProps} from \"types/types\";\nimport {DeleteRoundIcon, CloseEyeIcon, OpenEyeIcon} from \"assets/icon\";\nimport {useState} from \"react\";\nimport {useDownMd} from \"../../hooks/useLayout\";\n\nexport default function Input({\n onChange,\n type,\n after,\n className = '',\n ...props\n }: InputProps) {\n const [inputType, setInputType] = useState(type)\n const isDownMd = useDownMd()\n return <div\n className={`matchid-input-box ${props.value && props.value.length > 0 ? 'matchid-input-has-content' : ''} ${className}`}>\n <input type={inputType} onChange={onChange} {...props} className=\"matchid-input-field\"/>\n {\n props.value && props.value.length > 0\n && <div className=\"matchid-input-delete-icon\" onClick={(e) => {\n if (onChange) {\n onChange({target: {value: ''}});\n }\n }}>\n <DeleteRoundIcon height={isDownMd ? 16 : 21} width={isDownMd ? 16 : 20}\n color=\"var(--matchid-input-delete-icon-color)\"/>\n </div>\n }\n {\n type === 'password' && <div className=\"matchid-input-eye-icon\" onClick={() => {\n setInputType(inputType === 'password' ? 'text' : 'password')\n }}>\n {\n inputType === 'password' ? <CloseEyeIcon size={isDownMd ? 16 : 20}/> :\n <OpenEyeIcon size={isDownMd ? 16 : 20}/>\n }\n </div>\n }\n {\n after\n }\n </div>\n\n}","import {useState} from \"react\";\nimport {PopoverProps} from \"../../types/types\";\n\nexport default function Popover({\n children,\n content,\n position = \"right\",\n type = \"hover\",\n className = \"\",\n gap = '20px'\n }: PopoverProps) {\n const [active, setActive] = useState(false)\n return children && <div\n onClick={() => {\n if (type == 'click') {\n setActive(!active)\n }\n }}\n className={`matchid-popover-box matchid-popover-${position} matchid-popover-${type} ${className} ${type == 'click' && active ? 'matchid-popover-click-active' : ''}`}>\n {children}\n <div style={{\n paddingTop: gap\n }} className={`matchid-popover-area`}>\n <div className={`matchid-popover-content`}>\n {content}\n </div>\n </div>\n </div>\n\n}","import {UIProps} from \"../../types\";\nimport {LoadingIcon} from \"../../assets/icon\";\n\nexport default function Switch({\n size=\"default\",\n checked=false,\n loading=false,\n onChange,\n className,\n disabled=false,\n ...props\n }:{\n size?:\"default\"|\"sm\",\n checked?:boolean,\n loading?:boolean,\n disabled?:boolean,\n onChange?:(checked:boolean)=>void,\n}&UIProps){\n const onClick = ()=>{\n if(!disabled && !loading){\n onChange && onChange(!checked)\n }\n }\n return <div onClick={onClick} className={`matchid-switch matchid-switch-${size} ${checked ? \"matchid-switch-checked\":\"\"} ${disabled ? \"matchid-switch-disabled\":\"\"} ${loading ? \"matchid-switch-loading\":\"\"}`} {...props}>\n\n {\n loading ?\n <LoadingIcon className=\"matchid-switch-loading-icon\" size={size==\"default\"?24:18} color=\"var(--matchid-swicth-loading-color)\"/> :\n <div className={\"matchid-switch-ball\"}></div>\n }\n </div>\n}","import { useMemo} from \"react\";\nimport {UIProps} from \"../../types\";\n\nexport default function AlphaAvatar({\n name,\n size = \"default\", className = '',style}: {\n name: string,\n size?: number|\"sm\"|\"default\"|\"lg\",\n}&UIProps) {\n\n const avatar = useMemo(()=>{\n if (name) {\n const char = name[0].toUpperCase()\n if (char.match(/[a-zA-Z0-9]/)) {\n return char\n }\n }\n return ''\n },[name])\n\n const numberSize = typeof size === 'number' ? size : size === 'sm' ? 24 : size === 'default' ? 40 : 64\n return <div className={`matchid-alpha-avatar ${className}`} style={{\n width: numberSize,\n height: numberSize,\n fontSize: Math.ceil(numberSize / 2),\n ...style\n }}>\n {avatar}\n </div>\n}","import {CSSProperties} from \"react\";\n\nexport default function Radio({\n checked = false,\n onChange,\n size = 24,\n color = \"#FC802D\",\n className = \"\",\n style = {}\n }: {\n checked?: boolean,\n onChange?: () => void\n size?: number,\n color?: string,\n className?: string,\n style?: CSSProperties\n}) {\n return <div onClick={onChange} className={`matchid-radio ${className} ${checked ? 'matchid-radio-checked' :''}`} style={{\n width: size,\n height: size,\n ...style,\n // @ts-ignore\n '--matchid-radio-checked': color\n }}>\n {checked && <div className={`matchid-radio-content`} style={{\n width:Math.floor(size*0.7),\n height:Math.floor(size*0.7),\n }}></div>}\n </div>\n}"],"mappings":"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","names":["jsx","Fragment","jsx","jsx","jsxs","useEffect","useState","useEffect","jsx","jsxs","jsx","jsx","jsxs","useState","useEffect","useState","jsx","jsxs","useState","useState","jsx","jsxs","jsx","jsx","jsx"]}
@@ -184,7 +184,7 @@ function CloseRoundIcon({ size = 30, ...props }) {
184
184
 
185
185
  // src/assets/icon/LoadingIcon.tsx
186
186
  import { jsx as jsx10, jsxs as jsxs7 } from "react/jsx-runtime";
187
- var LoadingIcon = ({ size = 22, className = "", color = "white" }) => /* @__PURE__ */ jsxs7(
187
+ var LoadingIcon = ({ size = 22, className = "", color = "white", rotate = false }) => /* @__PURE__ */ jsxs7(
188
188
  "svg",
189
189
  {
190
190
  width: size,
@@ -192,7 +192,7 @@ var LoadingIcon = ({ size = 22, className = "", color = "white" }) => /* @__PURE
192
192
  viewBox: "0 0 22 22",
193
193
  fill: "none",
194
194
  xmlns: "http://www.w3.org/2000/svg",
195
- className,
195
+ className: className + " " + (rotate ? "matchid-rotate" : ""),
196
196
  children: [
197
197
  /* @__PURE__ */ jsx10("path", { d: "M11 1V3.5", stroke: color, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }),
198
198
  /* @__PURE__ */ jsx10("path", { opacity: "0.3", d: "M3.92834 3.92871L5.69977 5.70017", stroke: color, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }),
@@ -1133,6 +1133,54 @@ function InfoRoundIcon({
1133
1133
  ] });
1134
1134
  }
1135
1135
 
1136
+ // src/assets/icon/TransferIcon.tsx
1137
+ import { jsx as jsx47, jsxs as jsxs31 } from "react/jsx-runtime";
1138
+ function TransferIcon({ size = 40, ...props }) {
1139
+ return /* @__PURE__ */ jsxs31("svg", { width: size, height: size, viewBox: "0 0 40 40", ...props, fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
1140
+ /* @__PURE__ */ jsx47("rect", { x: "2", y: "2", width: "36", height: "36", rx: "18", fill: "white" }),
1141
+ /* @__PURE__ */ jsx47("rect", { x: "2", y: "2", width: "36", height: "36", rx: "18", stroke: "#F8F8F8", strokeWidth: "4" }),
1142
+ /* @__PURE__ */ jsx47(
1143
+ "path",
1144
+ {
1145
+ d: "M18.666 12.8913L18.666 26.2246L14.666 21.6413",
1146
+ stroke: "black",
1147
+ strokeWidth: "1.4",
1148
+ strokeLinecap: "round",
1149
+ strokeLinejoin: "round"
1150
+ }
1151
+ ),
1152
+ /* @__PURE__ */ jsx47(
1153
+ "path",
1154
+ {
1155
+ d: "M22.2217 12.8913L22.2217 26.2246L26.2217 21.6413",
1156
+ stroke: "black",
1157
+ strokeWidth: "1.4",
1158
+ strokeLinecap: "round",
1159
+ strokeLinejoin: "round"
1160
+ }
1161
+ )
1162
+ ] });
1163
+ }
1164
+
1165
+ // src/assets/icon/ArrowSendIcon.tsx
1166
+ import { jsx as jsx48 } from "react/jsx-runtime";
1167
+ function ArrowSendIcon({
1168
+ size = 34,
1169
+ color = "#6E6E6E",
1170
+ ...props
1171
+ }) {
1172
+ return /* @__PURE__ */ jsx48("svg", { width: size, height: size, viewBox: "0 0 34 34", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: /* @__PURE__ */ jsx48(
1173
+ "path",
1174
+ {
1175
+ d: "M22.6567 11.313L11.343 22.6267M22.6567 11.313L22.6567 19.7982M22.6567 11.313L14.1714 11.313",
1176
+ stroke: color,
1177
+ strokeWidth: "2",
1178
+ strokeLinecap: "round",
1179
+ strokeLinejoin: "round"
1180
+ }
1181
+ ) });
1182
+ }
1183
+
1136
1184
  export {
1137
1185
  BackIcon,
1138
1186
  CloseIcon,
@@ -1179,6 +1227,8 @@ export {
1179
1227
  TonLightIcon2,
1180
1228
  ErrorRoundIcon,
1181
1229
  InfoLineIcon,
1182
- InfoRoundIcon
1230
+ InfoRoundIcon,
1231
+ TransferIcon,
1232
+ ArrowSendIcon
1183
1233
  };
1184
- //# sourceMappingURL=chunk-7UTR37EJ.mjs.map
1234
+ //# sourceMappingURL=chunk-LHNKZISB.mjs.map