@xswap-link/sdk 0.15.1 → 0.15.2

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.
package/dist/index.js CHANGED
@@ -17415,7 +17415,7 @@ var sortChains = (chains, disabledChainIds) => [...chains].map((chain) => ({
17415
17415
  var import_client = require("react-dom/client");
17416
17416
 
17417
17417
  // src/components/global.css
17418
- var global_default = `/* ! tailwindcss v3.4.4 | MIT License | https://tailwindcss.com */*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}::before,::after{--tw-content:''}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-family,'Satoshi',Tahoma,Verdana,ui-sans-serif);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type='button']),input:where([type='reset']),input:where([type='submit']){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type='search']{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder, textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role="button"]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::before,::after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x:;--tw-pan-y:;--tw-pinch-zoom:;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position:;--tw-gradient-via-position:;--tw-gradient-to-position:;--tw-ordinal:;--tw-slashed-zero:;--tw-numeric-figure:;--tw-numeric-spacing:;--tw-numeric-fraction:;--tw-ring-inset:;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur:;--tw-brightness:;--tw-contrast:;--tw-grayscale:;--tw-hue-rotate:;--tw-invert:;--tw-saturate:;--tw-sepia:;--tw-drop-shadow:;--tw-backdrop-blur:;--tw-backdrop-brightness:;--tw-backdrop-contrast:;--tw-backdrop-grayscale:;--tw-backdrop-hue-rotate:;--tw-backdrop-invert:;--tw-backdrop-opacity:;--tw-backdrop-saturate:;--tw-backdrop-sepia:;--tw-contain-size:;--tw-contain-layout:;--tw-contain-paint:;--tw-contain-style:}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x:;--tw-pan-y:;--tw-pinch-zoom:;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position:;--tw-gradient-via-position:;--tw-gradient-to-position:;--tw-ordinal:;--tw-slashed-zero:;--tw-numeric-figure:;--tw-numeric-spacing:;--tw-numeric-fraction:;--tw-ring-inset:;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur:;--tw-brightness:;--tw-contrast:;--tw-grayscale:;--tw-hue-rotate:;--tw-invert:;--tw-saturate:;--tw-sepia:;--tw-drop-shadow:;--tw-backdrop-blur:;--tw-backdrop-brightness:;--tw-backdrop-contrast:;--tw-backdrop-grayscale:;--tw-backdrop-hue-rotate:;--tw-backdrop-invert:;--tw-backdrop-opacity:;--tw-backdrop-saturate:;--tw-backdrop-sepia:;--tw-contain-size:;--tw-contain-layout:;--tw-contain-paint:;--tw-contain-style:}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.gradient-sections-separator-container{background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from:transparent var(--tw-gradient-from-position);--tw-gradient-to:rgb(0 0 0/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),color-mix(in srgb,var(--bg-tertiary) calc(0.1 * 100%),transparent) var(--tw-gradient-via-position),var(--tw-gradient-to);--tw-gradient-to:transparent var(--tw-gradient-to-position)}.x-border{border-width:1px;border-style:solid;border-color:color-mix(in srgb,var(--text-primary) calc(var(--tw-border-opacity) * 100%),transparent);--tw-border-opacity:0.1}.swap-panel-gradient-border{position:relative}.swap-panel-gradient-border::before,.swap-panel-gradient-border::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.swap-panel-gradient-border::before{background:linear-gradient(90deg,color-mix(in srgb,var(--text-primary) 2.5%,transparent),color-mix(in srgb,var(--text-primary) 5%,transparent))}.swap-panel-gradient-border::after{background:linear-gradient(90deg,color-mix(in srgb,var(--text-primary) 5%,transparent),color-mix(in srgb,var(--text-primary) 7.5%,transparent));opacity:0;transition:opacity 0.15s ease}.swap-panel-gradient-border:hover::after{opacity:1}.network-dropdown-surface{background:linear-gradient(90deg,color-mix(in srgb,var(--bg-primary) 20%,transparent) 0%,color-mix(in srgb,var(--bg-primary) 20%,transparent) 100%),linear-gradient(180deg,color-mix(in srgb,var(--bg-tertiary) 4%,transparent) 0%,color-mix(in srgb,var(--bg-tertiary) 2%,transparent) 49.5%,color-mix(in srgb,var(--bg-tertiary) 4%,transparent) 100%),var(--bg-secondary)}.network-dropdown-row:hover,.network-dropdown-row-active{background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--bg-tertiary) 0.5%,transparent) 15%,color-mix(in srgb,var(--bg-tertiary) 2.5%,transparent) 50%,color-mix(in srgb,var(--bg-tertiary) 0.5%,transparent) 85%,transparent 100%)}.tx-modal-glow-success{background:radial-gradient(120% 60% at 0% 0%,rgba(76,175,80,0.25) 0%,transparent 45%)}.tx-modal-glow-error{background:radial-gradient(120% 60% at 0% 0%,rgba(244,67,54,0.25) 0%,transparent 45%)}.btn{position:relative;z-index:1;margin:0px;-webkit-appearance:none;-moz-appearance:none;appearance:none;white-space:nowrap;border-style:none;background-color:transparent;font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.btn:hover{cursor:pointer}.btn-disabled{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));opacity:0.5}.btn-disabled:hover{cursor:not-allowed}.btn--full-width{width:100%}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0px}.inset-x-0{left:0px;right:0px}.-right-2{right:-0.5rem}.bottom-0{bottom:0px}.bottom-5{bottom:1.25rem}.left-0{left:0px}.left-1\\/2{left:50%}.right-0{right:0px}.right-2{right:0.5rem}.top-0{top:0px}.top-\\[calc\\(100\\%\\+8px\\)\\]{top:calc(100% + 8px)}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\\[1\\]{z-index:1}.m-0{margin:0px}.mx-0{margin-left:0px;margin-right:0px}.mx-1{margin-left:0.25rem;margin-right:0.25rem}.mx-1\\.5{margin-left:0.375rem;margin-right:0.375rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:0.25rem;margin-bottom:0.25rem}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.-mr-1{margin-right:-0.25rem}.-mr-1\\.5{margin-right:-0.375rem}.-mr-2{margin-right:-0.5rem}.mb-1{margin-bottom:0.25rem}.mb-2{margin-bottom:0.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:0.25rem}.ml-1\\.5{margin-left:0.375rem}.mr-1{margin-right:0.25rem}.mr-2{margin-right:0.5rem}.mt-2{margin-top:0.5rem}.box-border{box-sizing:border-box}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-0{height:0px}.h-0\\.5{height:0.125rem}.h-1{height:0.25rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-3{height:0.75rem}.h-3\\.5{height:0.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\\[11px\\]{height:11px}.h-\\[12px\\]{height:12px}.h-\\[14px\\]{height:14px}.h-\\[16px\\]{height:16px}.h-\\[18px\\]{height:18px}.h-\\[20px\\]{height:20px}.h-\\[214px\\]{height:214px}.h-\\[32px\\]{height:32px}.h-\\[34px\\]{height:34px}.h-\\[72px\\]{height:72px}.h-\\[85vh\\]{height:85vh}.h-full{height:100%}.h-px{height:1px}.max-h-full{max-height:100%}.min-h-0{min-height:0px}.min-h-11{min-height:2.75rem}.min-h-6{min-height:1.5rem}.min-h-\\[320px\\]{min-height:320px}.min-h-\\[43px\\]{min-height:43px}.min-h-\\[532px\\]{min-height:532px}.w-0{width:0px}.w-0\\.5{width:0.125rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-20{width:5rem}.w-3{width:0.75rem}.w-3\\.5{width:0.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\\[100px\\]{width:100px}.w-\\[11px\\]{width:11px}.w-\\[14px\\]{width:14px}.w-\\[150px\\]{width:150px}.w-\\[18px\\]{width:18px}.w-\\[296px\\]{width:296px}.w-\\[34px\\]{width:34px}.w-\\[48px\\]{width:48px}.w-\\[60px\\]{width:60px}.w-\\[80px\\]{width:80px}.w-full{width:100%}.w-x_modal{width:var(--modal-width)}.min-w-0{min-width:0px}.min-w-10{min-width:2.5rem}.min-w-9{min-width:2.25rem}.min-w-\\[108px\\]{min-width:108px}.min-w-\\[340px\\]{min-width:340px}.min-w-x_modal{min-width:var(--modal-width,340px)}.max-w-80{max-width:20rem}.max-w-\\[120px\\]{max-width:120px}.max-w-\\[500px\\]{max-width:500px}.max-w-\\[var\\(--modal-width\\2c 588px\\)\\]{max-width:var(--modal-width,588px)}.max-w-x_modal{max-width:var(--modal-width,620px)}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.-translate-x-1\\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-5{--tw-translate-x:1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(0.4,0,0.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin-slow{animation:spin 3s linear infinite}.\\!cursor-not-allowed{cursor:not-allowed !important}.cursor-help{cursor:help}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-0\\.5{gap:0.125rem}.gap-1{gap:0.25rem}.gap-1\\.5{gap:0.375rem}.gap-2{gap:0.5rem}.gap-2\\.5{gap:0.625rem}.gap-3{gap:0.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-1{-moz-column-gap:0.25rem;column-gap:0.25rem}.gap-y-2{row-gap:0.5rem}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.text-nowrap{text-wrap:nowrap}.\\!rounded-\\[10px\\]{border-radius:10px !important}.rounded{border-radius:0.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\\[10px\\]{border-radius:10px}.rounded-\\[32px\\]{border-radius:32px}.rounded-\\[4px\\]{border-radius:4px}.rounded-\\[inherit\\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:0.5rem}.rounded-md{border-radius:0.375rem}.rounded-xl{border-radius:0.75rem}.rounded-b-none{border-bottom-right-radius:0px;border-bottom-left-radius:0px}.rounded-t-\\[24px\\]{border-top-left-radius:24px;border-top-right-radius:24px}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-solid{border-style:solid}.border-none{border-style:none}.border-t_bg_secondary{--tw-border-opacity:1;border-color:color-mix(in srgb,var(--bg-secondary) calc(var(--tw-border-opacity) * 100%),transparent)}.border-t_error_dark{--tw-border-opacity:1;border-color:color-mix(in srgb,var(--error-dark) calc(var(--tw-border-opacity) * 100%),transparent)}.border-t_main_accent_dark{--tw-border-opacity:1;border-color:color-mix(in srgb,var(--main-accent-dark) calc(var(--tw-border-opacity) * 100%),transparent)}.border-t_main_accent_light{--tw-border-opacity:1;border-color:color-mix(in srgb,var(--main-accent-light) calc(var(--tw-border-opacity) * 100%),transparent)}.border-t_main_accent_light\\/60{border-color:color-mix(in srgb,var(--main-accent-light) calc(0.6 * 100%),transparent)}.border-t_success_dark{--tw-border-opacity:1;border-color:color-mix(in srgb,var(--success-dark) calc(var(--tw-border-opacity) * 100%),transparent)}.border-t_text_primary{--tw-border-opacity:1;border-color:color-mix(in srgb,var(--text-primary) calc(var(--tw-border-opacity) * 100%),transparent)}.border-t_warning_dark{--tw-border-opacity:1;border-color:color-mix(in srgb,var(--warning-dark) calc(var(--tw-border-opacity) * 100%),transparent)}.border-x_alert{--tw-border-opacity:1;border-color:rgb(255 183 77/var(--tw-border-opacity))}.border-opacity-10{--tw-border-opacity:0.1}.border-opacity-20{--tw-border-opacity:0.2}.border-opacity-5{--tw-border-opacity:0.05}.border-opacity-50{--tw-border-opacity:0.5}.\\!bg-t_bg_tertiary{--tw-bg-opacity:1 !important;background-color:color-mix(in srgb,var(--bg-tertiary) calc(var(--tw-bg-opacity) * 100%),transparent) !important}.bg-\\[rgba\\(0\\2c 0\\2c 0\\2c 0\\.8\\)\\]{background-color:rgba(0,0,0,0.8)}.bg-\\[rgba\\(2\\2c 2\\2c 2\\2c 0\\.8\\)\\]{background-color:rgba(2,2,2,0.8)}.bg-\\[rgba\\(40\\2c 40\\2c 40\\2c 0\\.15\\)\\]{background-color:rgba(40,40,40,0.15)}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-t_bg_primary{--tw-bg-opacity:1;background-color:color-mix(in srgb,var(--bg-primary) calc(var(--tw-bg-opacity) * 100%),transparent)}.bg-t_bg_secondary{--tw-bg-opacity:1;background-color:color-mix(in srgb,var(--bg-secondary) calc(var(--tw-bg-opacity) * 100%),transparent)}.bg-t_bg_tertiary{--tw-bg-opacity:1;background-color:color-mix(in srgb,var(--bg-tertiary) calc(var(--tw-bg-opacity) * 100%),transparent)}.bg-t_button_pr_off_bg{--tw-bg-opacity:1;background-color:color-mix(in srgb,var(--button-pr-off-bg) calc(var(--tw-bg-opacity) * 100%),transparent)}.bg-t_text_green{--tw-bg-opacity:1;background-color:color-mix(in srgb,var(--text-green) calc(var(--tw-bg-opacity) * 100%),transparent)}.bg-t_text_orange{--tw-bg-opacity:1;background-color:color-mix(in srgb,var(--text-orange) calc(var(--tw-bg-opacity) * 100%),transparent)}.bg-t_text_primary{--tw-bg-opacity:1;background-color:color-mix(in srgb,var(--text-primary) calc(var(--tw-bg-opacity) * 100%),transparent)}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.\\!bg-opacity-10{--tw-bg-opacity:0.1 !important}.bg-opacity-10{--tw-bg-opacity:0.1}.bg-opacity-15{--tw-bg-opacity:0.15}.bg-opacity-5{--tw-bg-opacity:0.05}.bg-opacity-50{--tw-bg-opacity:0.5}.bg-opacity-75{--tw-bg-opacity:0.75}.bg-opacity-80{--tw-bg-opacity:0.8}.bg-opacity-\\[0\\.02\\]{--tw-bg-opacity:0.02}.bg-opacity-\\[0\\.03\\]{--tw-bg-opacity:0.03}.bg-opacity-\\[0\\.04\\]{--tw-bg-opacity:0.04}.bg-opacity-\\[0\\.07\\]{--tw-bg-opacity:0.07}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-t_bg_primary\\/\\[0\\.65\\]{--tw-gradient-from:color-mix(in srgb,var(--bg-primary) calc(0.65 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-t_bg_secondary\\/50{--tw-gradient-from:color-mix(in srgb,var(--bg-secondary) calc(0.5 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-t_bg_secondary\\/65{--tw-gradient-from:color-mix(in srgb,var(--bg-secondary) calc(0.65 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-t_bg_tertiary\\/0{--tw-gradient-from:color-mix(in srgb,var(--bg-tertiary) calc(0 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-t_bg_tertiary\\/10{--tw-gradient-from:color-mix(in srgb,var(--bg-tertiary) calc(0.1 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-t_bg_tertiary\\/5{--tw-gradient-from:color-mix(in srgb,var(--bg-tertiary) calc(0.05 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-t_bg_tertiary\\/\\[0\\.01\\]{--tw-gradient-from:color-mix(in srgb,var(--bg-tertiary) calc(0.01 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-t_bg_tertiary\\/\\[0\\.02\\]{--tw-gradient-from:color-mix(in srgb,var(--bg-tertiary) calc(0.02 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-t_bg_tertiary\\/\\[0\\.03\\]{--tw-gradient-from:color-mix(in srgb,var(--bg-tertiary) calc(0.03 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-t_error_dark\\/15{--tw-gradient-from:color-mix(in srgb,var(--error-dark) calc(0.15 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-t_main_accent_light{--tw-gradient-from:color-mix(in srgb,var(--main-accent-light) calc(1 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:color-mix(in srgb,var(--main-accent-light) calc(0 * 100%),transparent) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-t_main_accent_light\\/10{--tw-gradient-from:color-mix(in srgb,var(--main-accent-light) calc(0.1 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-t_main_accent_light\\/20{--tw-gradient-from:color-mix(in srgb,var(--main-accent-light) calc(0.2 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-t_main_accent_light\\/25{--tw-gradient-from:color-mix(in srgb,var(--main-accent-light) calc(0.25 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-t_success_light\\/20{--tw-gradient-from:color-mix(in srgb,var(--success-light) calc(0.2 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-t_warning_dark\\/15{--tw-gradient-from:color-mix(in srgb,var(--warning-dark) calc(0.15 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-transparent{--tw-gradient-from:transparent var(--tw-gradient-from-position);--tw-gradient-to:rgb(0 0 0/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-x_blue_light{--tw-gradient-from:rgba(54,129,198,1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(54,129,198,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-x_blue_light\\/25{--tw-gradient-from:rgba(54,129,198,0.25) var(--tw-gradient-from-position);--tw-gradient-to:rgba(54,129,198,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-50\\%{--tw-gradient-from-position:50%}.via-t_bg_tertiary\\/5{--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),color-mix(in srgb,var(--bg-tertiary) calc(0.05 * 100%),transparent) var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-t_bg_secondary\\/0{--tw-gradient-to:color-mix(in srgb,var(--bg-secondary) calc(0 * 100%),transparent) var(--tw-gradient-to-position)}.to-t_bg_secondary\\/15{--tw-gradient-to:color-mix(in srgb,var(--bg-secondary) calc(0.15 * 100%),transparent) var(--tw-gradient-to-position)}.to-t_bg_secondary\\/50{--tw-gradient-to:color-mix(in srgb,var(--bg-secondary) calc(0.5 * 100%),transparent) var(--tw-gradient-to-position)}.to-t_bg_tertiary\\/0{--tw-gradient-to:color-mix(in srgb,var(--bg-tertiary) calc(0 * 100%),transparent) var(--tw-gradient-to-position)}.to-t_bg_tertiary\\/5{--tw-gradient-to:color-mix(in srgb,var(--bg-tertiary) calc(0.05 * 100%),transparent) var(--tw-gradient-to-position)}.to-t_bg_tertiary\\/\\[0\\.01\\]{--tw-gradient-to:color-mix(in srgb,var(--bg-tertiary) calc(0.01 * 100%),transparent) var(--tw-gradient-to-position)}.to-t_bg_tertiary\\/\\[0\\.02\\]{--tw-gradient-to:color-mix(in srgb,var(--bg-tertiary) calc(0.02 * 100%),transparent) var(--tw-gradient-to-position)}.to-t_bg_tertiary\\/\\[0\\.03\\]{--tw-gradient-to:color-mix(in srgb,var(--bg-tertiary) calc(0.03 * 100%),transparent) var(--tw-gradient-to-position)}.to-t_bg_tertiary\\/\\[0\\.08\\]{--tw-gradient-to:color-mix(in srgb,var(--bg-tertiary) calc(0.08 * 100%),transparent) var(--tw-gradient-to-position)}.to-t_main_accent_dark{--tw-gradient-to:color-mix(in srgb,var(--main-accent-dark) calc(1 * 100%),transparent) var(--tw-gradient-to-position)}.to-t_main_accent_dark\\/10{--tw-gradient-to:color-mix(in srgb,var(--main-accent-dark) calc(0.1 * 100%),transparent) var(--tw-gradient-to-position)}.to-t_main_accent_dark\\/20{--tw-gradient-to:color-mix(in srgb,var(--main-accent-dark) calc(0.2 * 100%),transparent) var(--tw-gradient-to-position)}.to-t_main_accent_dark\\/25{--tw-gradient-to:color-mix(in srgb,var(--main-accent-dark) calc(0.25 * 100%),transparent) var(--tw-gradient-to-position)}.to-t_success_dark\\/20{--tw-gradient-to:color-mix(in srgb,var(--success-dark) calc(0.2 * 100%),transparent) var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.to-x_blue_dark{--tw-gradient-to:rgba(43,74,157,1) var(--tw-gradient-to-position)}.to-x_blue_dark\\/25{--tw-gradient-to:rgba(43,74,157,0.25) var(--tw-gradient-to-position)}.fill-t_success_dark{fill:color-mix(in srgb,var(--success-dark) calc(1 * 100%),transparent)}.fill-t_text_primary{fill:color-mix(in srgb,var(--text-primary) calc(1 * 100%),transparent)}.fill-white{fill:#fff}.p-0{padding:0px}.p-0\\.5{padding:0.125rem}.p-1{padding:0.25rem}.p-2{padding:0.5rem}.p-3{padding:0.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-\\[14px\\]{padding:14px}.p-\\[15px\\]{padding:15px}.\\!py-3{padding-top:0.75rem !important;padding-bottom:0.75rem !important}.px-0{padding-left:0px;padding-right:0px}.px-2{padding-left:0.5rem;padding-right:0.5rem}.px-2\\.5{padding-left:0.625rem;padding-right:0.625rem}.px-3{padding-left:0.75rem;padding-right:0.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-top:0px;padding-bottom:0px}.py-0\\.5{padding-top:0.125rem;padding-bottom:0.125rem}.py-1{padding-top:0.25rem;padding-bottom:0.25rem}.py-2{padding-top:0.5rem;padding-bottom:0.5rem}.py-3{padding-top:0.75rem;padding-bottom:0.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.pb-1{padding-bottom:0.25rem}.pb-2{padding-bottom:0.5rem}.pb-3{padding-bottom:0.75rem}.pb-4{padding-bottom:1rem}.pl-4{padding-left:1rem}.pl-9{padding-left:2.25rem}.pr-1{padding-right:0.25rem}.pt-2{padding-top:0.5rem}.pt-2\\.5{padding-top:0.625rem}.pt-3{padding-top:0.75rem}.pt-\\[10px\\]{padding-top:10px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.\\!text-sm{font-size:0.875rem !important;line-height:1.25rem !important}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\\[10px\\]{font-size:10px}.text-\\[12px\\]{font-size:12px}.text-\\[15px\\]{font-size:15px}.text-\\[16px\\]{font-size:16px}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:0.875rem;line-height:1.25rem}.text-xs{font-size:0.75rem;line-height:1rem}.\\!font-medium{font-weight:500 !important}.font-medium{font-weight:500}.leading-10{line-height:2.5rem}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-8{line-height:2rem}.leading-\\[0px\\]{line-height:0px}.leading-\\[14px\\]{line-height:14px}.leading-\\[18px\\]{line-height:18px}.tracking-\\[0\\.015em\\]{letter-spacing:0.015em}.tracking-\\[0\\.01em\\]{letter-spacing:0.01em}.tracking-\\[0\\.032em\\]{letter-spacing:0.032em}.tracking-\\[0\\.08em\\]{letter-spacing:0.08em}.\\!text-t_button_pr_text{--tw-text-opacity:1 !important;color:color-mix(in srgb,var(--button-pr-text) calc(var(--tw-text-opacity) * 100%),transparent) !important}.text-\\[\\#6AE89B\\]{--tw-text-opacity:1;color:rgb(106 232 155/var(--tw-text-opacity))}.text-\\[\\#D77F02\\]{--tw-text-opacity:1;color:rgb(215 127 2/var(--tw-text-opacity))}.text-\\[\\#F44336\\]{--tw-text-opacity:1;color:rgb(244 67 54/var(--tw-text-opacity))}.text-\\[\\#F46F28\\]{--tw-text-opacity:1;color:rgb(244 111 40/var(--tw-text-opacity))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-t_button_pr_off_text{--tw-text-opacity:1;color:color-mix(in srgb,var(--button-pr-off-text) calc(var(--tw-text-opacity) * 100%),transparent)}.text-t_button_pr_text{--tw-text-opacity:1;color:color-mix(in srgb,var(--button-pr-text) calc(var(--tw-text-opacity) * 100%),transparent)}.text-t_success_light{--tw-text-opacity:1;color:color-mix(in srgb,var(--success-light) calc(var(--tw-text-opacity) * 100%),transparent)}.text-t_text_green{--tw-text-opacity:1;color:color-mix(in srgb,var(--text-green) calc(var(--tw-text-opacity) * 100%),transparent)}.text-t_text_orange{--tw-text-opacity:1;color:color-mix(in srgb,var(--text-orange) calc(var(--tw-text-opacity) * 100%),transparent)}.text-t_text_primary{--tw-text-opacity:1;color:color-mix(in srgb,var(--text-primary) calc(var(--tw-text-opacity) * 100%),transparent)}.text-t_text_red{--tw-text-opacity:1;color:color-mix(in srgb,var(--text-red) calc(var(--tw-text-opacity) * 100%),transparent)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-x_alert_light{--tw-text-opacity:1;color:rgb(255 226 183/var(--tw-text-opacity))}.\\!text-opacity-50{--tw-text-opacity:0.5 !important}.text-opacity-10{--tw-text-opacity:0.1}.text-opacity-25{--tw-text-opacity:0.25}.text-opacity-30{--tw-text-opacity:0.3}.text-opacity-40{--tw-text-opacity:0.4}.text-opacity-50{--tw-text-opacity:0.5}.text-opacity-60{--tw-text-opacity:0.6}.text-opacity-70{--tw-text-opacity:0.7}.text-opacity-75{--tw-text-opacity:0.75}.text-opacity-80{--tw-text-opacity:0.8}.no-underline{text-decoration-line:none}.opacity-25{opacity:0.25}.opacity-40{opacity:0.4}.opacity-50{opacity:0.5}.opacity-60{opacity:0.6}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 0 0/0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\\[0_0_6px_rgba\\(255\\2c 0\\2c 0\\2c 0\\.5\\)\\]{--tw-shadow:0 0 6px rgba(255,0,0,0.5);--tw-shadow-colored:0 0 6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\\[0_0_6px_rgba\\(255\\2c 165\\2c 0\\2c 0\\.5\\)\\]{--tw-shadow:0 0 6px rgba(255,165,0,0.5);--tw-shadow-colored:0 0 6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 0 0/0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0/0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-\\[12px\\]{--tw-backdrop-blur:blur(12px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-\\[24px\\]{--tw-backdrop-blur:blur(24px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-\\[32px\\]{--tw-backdrop-blur:blur(32px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-\\[48px\\]{--tw-backdrop-blur:blur(48px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-\\[filter\\]{transition-property:filter;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}:host{color:white;line-height:1.5rem;font-size:1rem;*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--bg-tertiary) 15%,transparent) var(--bg-primary)}*::-webkit-scrollbar{width:4px}*::-webkit-scrollbar-track{background:var(--bg-primary);border-radius:4px}*::-webkit-scrollbar-thumb{background-color:color-mix(in srgb,var(--bg-tertiary) 15%,transparent);border-radius:4px}}.SnackbarContainer-top,.notistack-SnackbarContainer{top:100px !important}.placeholder\\:text-t_text_primary::-moz-placeholder{--tw-text-opacity:1;color:color-mix(in srgb,var(--text-primary) calc(var(--tw-text-opacity) * 100%),transparent)}.placeholder\\:text-t_text_primary::placeholder{--tw-text-opacity:1;color:color-mix(in srgb,var(--text-primary) calc(var(--tw-text-opacity) * 100%),transparent)}.placeholder\\:text-opacity-40::-moz-placeholder{--tw-text-opacity:0.4}.placeholder\\:text-opacity-40::placeholder{--tw-text-opacity:0.4}.placeholder\\:text-opacity-50::-moz-placeholder{--tw-text-opacity:0.5}.placeholder\\:text-opacity-50::placeholder{--tw-text-opacity:0.5}.hover\\:bg-t_bg_tertiary:hover{--tw-bg-opacity:1;background-color:color-mix(in srgb,var(--bg-tertiary) calc(var(--tw-bg-opacity) * 100%),transparent)}.hover\\:bg-opacity-10:hover{--tw-bg-opacity:0.1}.hover\\:from-t_bg_tertiary\\/10:hover{--tw-gradient-from:color-mix(in srgb,var(--bg-tertiary) calc(0.1 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:from-t_main_accent_light\\/40:hover{--tw-gradient-from:color-mix(in srgb,var(--main-accent-light) calc(0.4 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:to-t_bg_tertiary\\/10:hover{--tw-gradient-to:color-mix(in srgb,var(--bg-tertiary) calc(0.1 * 100%),transparent) var(--tw-gradient-to-position)}.hover\\:to-t_main_accent_dark\\/40:hover{--tw-gradient-to:color-mix(in srgb,var(--main-accent-dark) calc(0.4 * 100%),transparent) var(--tw-gradient-to-position)}.hover\\:fill-t_main_accent_light:hover{fill:color-mix(in srgb,var(--main-accent-light) calc(1 * 100%),transparent)}.hover\\:text-opacity-50:hover{--tw-text-opacity:0.5}.hover\\:opacity-80:hover{opacity:0.8}.hover\\:brightness-105:hover{--tw-brightness:brightness(1.05);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.group:hover .group-hover\\:flex{display:flex}.group:hover .group-hover\\:hidden{display:none}@media (min-width:640px){.sm\\:invisible{visibility:hidden}.sm\\:absolute{position:absolute}.sm\\:z-\\[1\\]{z-index:1}.sm\\:z-\\[2\\]{z-index:2}.sm\\:block{display:block}.sm\\:inline{display:inline}.sm\\:hidden{display:none}.sm\\:h-\\[600px\\]{height:600px}.sm\\:h-full{height:100%}.sm\\:w-\\[72px\\]{width:72px}.sm\\:max-w-\\[636px\\]{max-width:636px}.sm\\:justify-start{justify-content:flex-start}.sm\\:justify-center{justify-content:center}.sm\\:rounded-\\[32px\\]{border-radius:32px}.sm\\:rounded-none{border-radius:0px}.sm\\:border{border-width:1px}.sm\\:border-0{border-width:0px}.sm\\:bg-transparent{background-color:transparent}.sm\\:bg-none{background-image:none}.sm\\:p-0{padding:0px}.sm\\:p-4{padding:1rem}.sm\\:p-8{padding:2rem}.sm\\:px-6{padding-left:1.5rem;padding-right:1.5rem}}.\\[\\&_svg\\]\\:h-4 svg{height:1rem}.\\[\\&_svg\\]\\:h-5 svg{height:1.25rem}.\\[\\&_svg\\]\\:w-4 svg{width:1rem}.\\[\\&_svg\\]\\:w-auto svg{width:auto}
17418
+ var global_default = `/* ! tailwindcss v3.4.4 | MIT License | https://tailwindcss.com */*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}::before,::after{--tw-content:''}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-family,'Satoshi',Tahoma,Verdana,ui-sans-serif);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type='button']),input:where([type='reset']),input:where([type='submit']){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type='search']{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder, textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role="button"]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::before,::after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x:;--tw-pan-y:;--tw-pinch-zoom:;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position:;--tw-gradient-via-position:;--tw-gradient-to-position:;--tw-ordinal:;--tw-slashed-zero:;--tw-numeric-figure:;--tw-numeric-spacing:;--tw-numeric-fraction:;--tw-ring-inset:;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur:;--tw-brightness:;--tw-contrast:;--tw-grayscale:;--tw-hue-rotate:;--tw-invert:;--tw-saturate:;--tw-sepia:;--tw-drop-shadow:;--tw-backdrop-blur:;--tw-backdrop-brightness:;--tw-backdrop-contrast:;--tw-backdrop-grayscale:;--tw-backdrop-hue-rotate:;--tw-backdrop-invert:;--tw-backdrop-opacity:;--tw-backdrop-saturate:;--tw-backdrop-sepia:;--tw-contain-size:;--tw-contain-layout:;--tw-contain-paint:;--tw-contain-style:}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x:;--tw-pan-y:;--tw-pinch-zoom:;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position:;--tw-gradient-via-position:;--tw-gradient-to-position:;--tw-ordinal:;--tw-slashed-zero:;--tw-numeric-figure:;--tw-numeric-spacing:;--tw-numeric-fraction:;--tw-ring-inset:;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur:;--tw-brightness:;--tw-contrast:;--tw-grayscale:;--tw-hue-rotate:;--tw-invert:;--tw-saturate:;--tw-sepia:;--tw-drop-shadow:;--tw-backdrop-blur:;--tw-backdrop-brightness:;--tw-backdrop-contrast:;--tw-backdrop-grayscale:;--tw-backdrop-hue-rotate:;--tw-backdrop-invert:;--tw-backdrop-opacity:;--tw-backdrop-saturate:;--tw-backdrop-sepia:;--tw-contain-size:;--tw-contain-layout:;--tw-contain-paint:;--tw-contain-style:}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.gradient-sections-separator-container{background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from:transparent var(--tw-gradient-from-position);--tw-gradient-to:rgb(0 0 0/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),color-mix(in srgb,var(--bg-tertiary) calc(0.1 * 100%),transparent) var(--tw-gradient-via-position),var(--tw-gradient-to);--tw-gradient-to:transparent var(--tw-gradient-to-position)}.x-border{border-width:1px;border-style:solid;border-color:color-mix(in srgb,var(--text-primary) calc(var(--tw-border-opacity) * 100%),transparent);--tw-border-opacity:0.1}.swap-panel-gradient-border{position:relative}.swap-panel-gradient-border::before,.swap-panel-gradient-border::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.swap-panel-gradient-border::before{background:linear-gradient(90deg,color-mix(in srgb,var(--text-primary) 2.5%,transparent),color-mix(in srgb,var(--text-primary) 5%,transparent))}.swap-panel-gradient-border::after{background:linear-gradient(90deg,color-mix(in srgb,var(--text-primary) 5%,transparent),color-mix(in srgb,var(--text-primary) 7.5%,transparent));opacity:0;transition:opacity 0.15s ease}.swap-panel-gradient-border:hover::after{opacity:1}.network-dropdown-surface{background:linear-gradient(90deg,color-mix(in srgb,var(--bg-primary) 20%,transparent) 0%,color-mix(in srgb,var(--bg-primary) 20%,transparent) 100%),linear-gradient(180deg,color-mix(in srgb,var(--bg-tertiary) 4%,transparent) 0%,color-mix(in srgb,var(--bg-tertiary) 2%,transparent) 49.5%,color-mix(in srgb,var(--bg-tertiary) 4%,transparent) 100%),var(--bg-secondary)}.network-dropdown-row:hover,.network-dropdown-row-active{background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--bg-tertiary) 0.5%,transparent) 15%,color-mix(in srgb,var(--bg-tertiary) 2.5%,transparent) 50%,color-mix(in srgb,var(--bg-tertiary) 0.5%,transparent) 85%,transparent 100%)}.tx-modal-glow-success{background:radial-gradient(120% 60% at 0% 0%,rgba(76,175,80,0.25) 0%,transparent 45%)}.tx-modal-glow-error{background:radial-gradient(120% 60% at 0% 0%,rgba(244,67,54,0.25) 0%,transparent 45%)}.btn{position:relative;z-index:1;margin:0px;-webkit-appearance:none;-moz-appearance:none;appearance:none;white-space:nowrap;border-style:none;background-color:transparent;font-size:0.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.btn:hover{cursor:pointer}.btn-disabled{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));opacity:0.5}.btn-disabled:hover{cursor:not-allowed}.btn--full-width{width:100%}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0px}.inset-x-0{left:0px;right:0px}.-right-2{right:-0.5rem}.bottom-0{bottom:0px}.bottom-5{bottom:1.25rem}.left-0{left:0px}.left-1\\/2{left:50%}.right-0{right:0px}.right-2{right:0.5rem}.top-0{top:0px}.top-\\[calc\\(100\\%\\+8px\\)\\]{top:calc(100% + 8px)}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\\[1\\]{z-index:1}.m-0{margin:0px}.mx-0{margin-left:0px;margin-right:0px}.mx-1{margin-left:0.25rem;margin-right:0.25rem}.mx-1\\.5{margin-left:0.375rem;margin-right:0.375rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:0.25rem;margin-bottom:0.25rem}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.-mr-1{margin-right:-0.25rem}.-mr-1\\.5{margin-right:-0.375rem}.-mr-2{margin-right:-0.5rem}.mb-1{margin-bottom:0.25rem}.mb-2{margin-bottom:0.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:0.25rem}.ml-1\\.5{margin-left:0.375rem}.mr-1{margin-right:0.25rem}.mr-2{margin-right:0.5rem}.mt-2{margin-top:0.5rem}.box-border{box-sizing:border-box}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-0{height:0px}.h-0\\.5{height:0.125rem}.h-1{height:0.25rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-3{height:0.75rem}.h-3\\.5{height:0.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\\[11px\\]{height:11px}.h-\\[12px\\]{height:12px}.h-\\[14px\\]{height:14px}.h-\\[16px\\]{height:16px}.h-\\[18px\\]{height:18px}.h-\\[20px\\]{height:20px}.h-\\[214px\\]{height:214px}.h-\\[32px\\]{height:32px}.h-\\[34px\\]{height:34px}.h-\\[72px\\]{height:72px}.h-\\[85vh\\]{height:85vh}.h-full{height:100%}.h-px{height:1px}.max-h-full{max-height:100%}.min-h-0{min-height:0px}.min-h-11{min-height:2.75rem}.min-h-6{min-height:1.5rem}.min-h-\\[320px\\]{min-height:320px}.min-h-\\[43px\\]{min-height:43px}.min-h-\\[532px\\]{min-height:532px}.w-0{width:0px}.w-0\\.5{width:0.125rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-20{width:5rem}.w-3{width:0.75rem}.w-3\\.5{width:0.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\\[100px\\]{width:100px}.w-\\[11px\\]{width:11px}.w-\\[14px\\]{width:14px}.w-\\[150px\\]{width:150px}.w-\\[18px\\]{width:18px}.w-\\[296px\\]{width:296px}.w-\\[34px\\]{width:34px}.w-\\[48px\\]{width:48px}.w-\\[60px\\]{width:60px}.w-\\[80px\\]{width:80px}.w-full{width:100%}.w-x_modal{width:var(--modal-width)}.min-w-0{min-width:0px}.min-w-10{min-width:2.5rem}.min-w-9{min-width:2.25rem}.min-w-\\[108px\\]{min-width:108px}.min-w-\\[340px\\]{min-width:340px}.min-w-x_modal{min-width:var(--modal-width,340px)}.max-w-80{max-width:20rem}.max-w-\\[120px\\]{max-width:120px}.max-w-\\[500px\\]{max-width:500px}.max-w-\\[var\\(--modal-width\\2c 588px\\)\\]{max-width:var(--modal-width,588px)}.max-w-x_modal{max-width:var(--modal-width,620px)}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.-translate-x-1\\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-5{--tw-translate-x:1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(0.4,0,0.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin-slow{animation:spin 3s linear infinite}.\\!cursor-not-allowed{cursor:not-allowed !important}.cursor-help{cursor:help}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-0\\.5{gap:0.125rem}.gap-1{gap:0.25rem}.gap-1\\.5{gap:0.375rem}.gap-2{gap:0.5rem}.gap-2\\.5{gap:0.625rem}.gap-3{gap:0.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-1{-moz-column-gap:0.25rem;column-gap:0.25rem}.gap-y-2{row-gap:0.5rem}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.text-nowrap{text-wrap:nowrap}.\\!rounded-\\[10px\\]{border-radius:10px !important}.rounded{border-radius:0.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\\[10px\\]{border-radius:10px}.rounded-\\[32px\\]{border-radius:32px}.rounded-\\[4px\\]{border-radius:4px}.rounded-\\[inherit\\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:0.5rem}.rounded-md{border-radius:0.375rem}.rounded-xl{border-radius:0.75rem}.rounded-b-none{border-bottom-right-radius:0px;border-bottom-left-radius:0px}.rounded-t-\\[24px\\]{border-top-left-radius:24px;border-top-right-radius:24px}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-solid{border-style:solid}.border-none{border-style:none}.border-t_bg_secondary{--tw-border-opacity:1;border-color:color-mix(in srgb,var(--bg-secondary) calc(var(--tw-border-opacity) * 100%),transparent)}.border-t_error_dark{--tw-border-opacity:1;border-color:color-mix(in srgb,var(--error-dark) calc(var(--tw-border-opacity) * 100%),transparent)}.border-t_main_accent_dark{--tw-border-opacity:1;border-color:color-mix(in srgb,var(--main-accent-dark) calc(var(--tw-border-opacity) * 100%),transparent)}.border-t_main_accent_light{--tw-border-opacity:1;border-color:color-mix(in srgb,var(--main-accent-light) calc(var(--tw-border-opacity) * 100%),transparent)}.border-t_main_accent_light\\/60{border-color:color-mix(in srgb,var(--main-accent-light) calc(0.6 * 100%),transparent)}.border-t_success_dark{--tw-border-opacity:1;border-color:color-mix(in srgb,var(--success-dark) calc(var(--tw-border-opacity) * 100%),transparent)}.border-t_text_primary{--tw-border-opacity:1;border-color:color-mix(in srgb,var(--text-primary) calc(var(--tw-border-opacity) * 100%),transparent)}.border-t_warning_dark{--tw-border-opacity:1;border-color:color-mix(in srgb,var(--warning-dark) calc(var(--tw-border-opacity) * 100%),transparent)}.border-x_alert{--tw-border-opacity:1;border-color:rgb(255 183 77/var(--tw-border-opacity))}.border-opacity-10{--tw-border-opacity:0.1}.border-opacity-20{--tw-border-opacity:0.2}.border-opacity-5{--tw-border-opacity:0.05}.border-opacity-50{--tw-border-opacity:0.5}.\\!bg-t_bg_tertiary{--tw-bg-opacity:1 !important;background-color:color-mix(in srgb,var(--bg-tertiary) calc(var(--tw-bg-opacity) * 100%),transparent) !important}.bg-\\[rgba\\(0\\2c 0\\2c 0\\2c 0\\.8\\)\\]{background-color:rgba(0,0,0,0.8)}.bg-\\[rgba\\(2\\2c 2\\2c 2\\2c 0\\.8\\)\\]{background-color:rgba(2,2,2,0.8)}.bg-\\[rgba\\(40\\2c 40\\2c 40\\2c 0\\.15\\)\\]{background-color:rgba(40,40,40,0.15)}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-t_bg_primary{--tw-bg-opacity:1;background-color:color-mix(in srgb,var(--bg-primary) calc(var(--tw-bg-opacity) * 100%),transparent)}.bg-t_bg_secondary{--tw-bg-opacity:1;background-color:color-mix(in srgb,var(--bg-secondary) calc(var(--tw-bg-opacity) * 100%),transparent)}.bg-t_bg_tertiary{--tw-bg-opacity:1;background-color:color-mix(in srgb,var(--bg-tertiary) calc(var(--tw-bg-opacity) * 100%),transparent)}.bg-t_button_pr_off_bg{--tw-bg-opacity:1;background-color:color-mix(in srgb,var(--button-pr-off-bg) calc(var(--tw-bg-opacity) * 100%),transparent)}.bg-t_text_green{--tw-bg-opacity:1;background-color:color-mix(in srgb,var(--text-green) calc(var(--tw-bg-opacity) * 100%),transparent)}.bg-t_text_orange{--tw-bg-opacity:1;background-color:color-mix(in srgb,var(--text-orange) calc(var(--tw-bg-opacity) * 100%),transparent)}.bg-t_text_primary{--tw-bg-opacity:1;background-color:color-mix(in srgb,var(--text-primary) calc(var(--tw-bg-opacity) * 100%),transparent)}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.\\!bg-opacity-10{--tw-bg-opacity:0.1 !important}.bg-opacity-10{--tw-bg-opacity:0.1}.bg-opacity-15{--tw-bg-opacity:0.15}.bg-opacity-5{--tw-bg-opacity:0.05}.bg-opacity-50{--tw-bg-opacity:0.5}.bg-opacity-75{--tw-bg-opacity:0.75}.bg-opacity-80{--tw-bg-opacity:0.8}.bg-opacity-\\[0\\.02\\]{--tw-bg-opacity:0.02}.bg-opacity-\\[0\\.03\\]{--tw-bg-opacity:0.03}.bg-opacity-\\[0\\.04\\]{--tw-bg-opacity:0.04}.bg-opacity-\\[0\\.07\\]{--tw-bg-opacity:0.07}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-t_bg_primary\\/\\[0\\.65\\]{--tw-gradient-from:color-mix(in srgb,var(--bg-primary) calc(0.65 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-t_bg_secondary\\/50{--tw-gradient-from:color-mix(in srgb,var(--bg-secondary) calc(0.5 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-t_bg_secondary\\/65{--tw-gradient-from:color-mix(in srgb,var(--bg-secondary) calc(0.65 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-t_bg_tertiary\\/0{--tw-gradient-from:color-mix(in srgb,var(--bg-tertiary) calc(0 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-t_bg_tertiary\\/10{--tw-gradient-from:color-mix(in srgb,var(--bg-tertiary) calc(0.1 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-t_bg_tertiary\\/5{--tw-gradient-from:color-mix(in srgb,var(--bg-tertiary) calc(0.05 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-t_bg_tertiary\\/\\[0\\.01\\]{--tw-gradient-from:color-mix(in srgb,var(--bg-tertiary) calc(0.01 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-t_bg_tertiary\\/\\[0\\.02\\]{--tw-gradient-from:color-mix(in srgb,var(--bg-tertiary) calc(0.02 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-t_bg_tertiary\\/\\[0\\.03\\]{--tw-gradient-from:color-mix(in srgb,var(--bg-tertiary) calc(0.03 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-t_error_dark\\/15{--tw-gradient-from:color-mix(in srgb,var(--error-dark) calc(0.15 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-t_main_accent_light{--tw-gradient-from:color-mix(in srgb,var(--main-accent-light) calc(1 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:color-mix(in srgb,var(--main-accent-light) calc(0 * 100%),transparent) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-t_main_accent_light\\/10{--tw-gradient-from:color-mix(in srgb,var(--main-accent-light) calc(0.1 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-t_main_accent_light\\/20{--tw-gradient-from:color-mix(in srgb,var(--main-accent-light) calc(0.2 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-t_main_accent_light\\/25{--tw-gradient-from:color-mix(in srgb,var(--main-accent-light) calc(0.25 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-t_success_light\\/20{--tw-gradient-from:color-mix(in srgb,var(--success-light) calc(0.2 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-t_warning_dark\\/15{--tw-gradient-from:color-mix(in srgb,var(--warning-dark) calc(0.15 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-transparent{--tw-gradient-from:transparent var(--tw-gradient-from-position);--tw-gradient-to:rgb(0 0 0/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-x_blue_light{--tw-gradient-from:rgba(54,129,198,1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(54,129,198,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-x_blue_light\\/25{--tw-gradient-from:rgba(54,129,198,0.25) var(--tw-gradient-from-position);--tw-gradient-to:rgba(54,129,198,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-50\\%{--tw-gradient-from-position:50%}.via-t_bg_tertiary\\/5{--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),color-mix(in srgb,var(--bg-tertiary) calc(0.05 * 100%),transparent) var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-t_bg_secondary\\/0{--tw-gradient-to:color-mix(in srgb,var(--bg-secondary) calc(0 * 100%),transparent) var(--tw-gradient-to-position)}.to-t_bg_secondary\\/15{--tw-gradient-to:color-mix(in srgb,var(--bg-secondary) calc(0.15 * 100%),transparent) var(--tw-gradient-to-position)}.to-t_bg_secondary\\/50{--tw-gradient-to:color-mix(in srgb,var(--bg-secondary) calc(0.5 * 100%),transparent) var(--tw-gradient-to-position)}.to-t_bg_tertiary\\/0{--tw-gradient-to:color-mix(in srgb,var(--bg-tertiary) calc(0 * 100%),transparent) var(--tw-gradient-to-position)}.to-t_bg_tertiary\\/5{--tw-gradient-to:color-mix(in srgb,var(--bg-tertiary) calc(0.05 * 100%),transparent) var(--tw-gradient-to-position)}.to-t_bg_tertiary\\/\\[0\\.01\\]{--tw-gradient-to:color-mix(in srgb,var(--bg-tertiary) calc(0.01 * 100%),transparent) var(--tw-gradient-to-position)}.to-t_bg_tertiary\\/\\[0\\.02\\]{--tw-gradient-to:color-mix(in srgb,var(--bg-tertiary) calc(0.02 * 100%),transparent) var(--tw-gradient-to-position)}.to-t_bg_tertiary\\/\\[0\\.03\\]{--tw-gradient-to:color-mix(in srgb,var(--bg-tertiary) calc(0.03 * 100%),transparent) var(--tw-gradient-to-position)}.to-t_bg_tertiary\\/\\[0\\.08\\]{--tw-gradient-to:color-mix(in srgb,var(--bg-tertiary) calc(0.08 * 100%),transparent) var(--tw-gradient-to-position)}.to-t_main_accent_dark{--tw-gradient-to:color-mix(in srgb,var(--main-accent-dark) calc(1 * 100%),transparent) var(--tw-gradient-to-position)}.to-t_main_accent_dark\\/10{--tw-gradient-to:color-mix(in srgb,var(--main-accent-dark) calc(0.1 * 100%),transparent) var(--tw-gradient-to-position)}.to-t_main_accent_dark\\/20{--tw-gradient-to:color-mix(in srgb,var(--main-accent-dark) calc(0.2 * 100%),transparent) var(--tw-gradient-to-position)}.to-t_main_accent_dark\\/25{--tw-gradient-to:color-mix(in srgb,var(--main-accent-dark) calc(0.25 * 100%),transparent) var(--tw-gradient-to-position)}.to-t_success_dark\\/20{--tw-gradient-to:color-mix(in srgb,var(--success-dark) calc(0.2 * 100%),transparent) var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.to-x_blue_dark{--tw-gradient-to:rgba(43,74,157,1) var(--tw-gradient-to-position)}.to-x_blue_dark\\/25{--tw-gradient-to:rgba(43,74,157,0.25) var(--tw-gradient-to-position)}.fill-t_success_dark{fill:color-mix(in srgb,var(--success-dark) calc(1 * 100%),transparent)}.fill-t_text_primary{fill:color-mix(in srgb,var(--text-primary) calc(1 * 100%),transparent)}.fill-white{fill:#fff}.p-0{padding:0px}.p-0\\.5{padding:0.125rem}.p-1{padding:0.25rem}.p-2{padding:0.5rem}.p-3{padding:0.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-\\[14px\\]{padding:14px}.p-\\[15px\\]{padding:15px}.\\!py-3{padding-top:0.75rem !important;padding-bottom:0.75rem !important}.px-0{padding-left:0px;padding-right:0px}.px-2{padding-left:0.5rem;padding-right:0.5rem}.px-2\\.5{padding-left:0.625rem;padding-right:0.625rem}.px-3{padding-left:0.75rem;padding-right:0.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-top:0px;padding-bottom:0px}.py-0\\.5{padding-top:0.125rem;padding-bottom:0.125rem}.py-1{padding-top:0.25rem;padding-bottom:0.25rem}.py-2{padding-top:0.5rem;padding-bottom:0.5rem}.py-3{padding-top:0.75rem;padding-bottom:0.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.pb-1{padding-bottom:0.25rem}.pb-2{padding-bottom:0.5rem}.pb-3{padding-bottom:0.75rem}.pb-4{padding-bottom:1rem}.pl-4{padding-left:1rem}.pl-9{padding-left:2.25rem}.pr-1{padding-right:0.25rem}.pt-2{padding-top:0.5rem}.pt-2\\.5{padding-top:0.625rem}.pt-3{padding-top:0.75rem}.pt-\\[10px\\]{padding-top:10px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.\\!text-sm{font-size:0.875rem !important;line-height:1.25rem !important}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\\[10px\\]{font-size:10px}.text-\\[12px\\]{font-size:12px}.text-\\[15px\\]{font-size:15px}.text-\\[16px\\]{font-size:16px}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:0.875rem;line-height:1.25rem}.text-xs{font-size:0.75rem;line-height:1rem}.\\!font-medium{font-weight:500 !important}.font-medium{font-weight:500}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-10{line-height:2.5rem}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-8{line-height:2rem}.leading-\\[0px\\]{line-height:0px}.leading-\\[14px\\]{line-height:14px}.leading-\\[18px\\]{line-height:18px}.tracking-\\[0\\.015em\\]{letter-spacing:0.015em}.tracking-\\[0\\.01em\\]{letter-spacing:0.01em}.tracking-\\[0\\.032em\\]{letter-spacing:0.032em}.tracking-\\[0\\.08em\\]{letter-spacing:0.08em}.\\!text-t_button_pr_text{--tw-text-opacity:1 !important;color:color-mix(in srgb,var(--button-pr-text) calc(var(--tw-text-opacity) * 100%),transparent) !important}.text-\\[\\#6AE89B\\]{--tw-text-opacity:1;color:rgb(106 232 155/var(--tw-text-opacity))}.text-\\[\\#D77F02\\]{--tw-text-opacity:1;color:rgb(215 127 2/var(--tw-text-opacity))}.text-\\[\\#F44336\\]{--tw-text-opacity:1;color:rgb(244 67 54/var(--tw-text-opacity))}.text-\\[\\#F46F28\\]{--tw-text-opacity:1;color:rgb(244 111 40/var(--tw-text-opacity))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-t_button_pr_off_text{--tw-text-opacity:1;color:color-mix(in srgb,var(--button-pr-off-text) calc(var(--tw-text-opacity) * 100%),transparent)}.text-t_button_pr_text{--tw-text-opacity:1;color:color-mix(in srgb,var(--button-pr-text) calc(var(--tw-text-opacity) * 100%),transparent)}.text-t_success_light{--tw-text-opacity:1;color:color-mix(in srgb,var(--success-light) calc(var(--tw-text-opacity) * 100%),transparent)}.text-t_text_green{--tw-text-opacity:1;color:color-mix(in srgb,var(--text-green) calc(var(--tw-text-opacity) * 100%),transparent)}.text-t_text_orange{--tw-text-opacity:1;color:color-mix(in srgb,var(--text-orange) calc(var(--tw-text-opacity) * 100%),transparent)}.text-t_text_primary{--tw-text-opacity:1;color:color-mix(in srgb,var(--text-primary) calc(var(--tw-text-opacity) * 100%),transparent)}.text-t_text_red{--tw-text-opacity:1;color:color-mix(in srgb,var(--text-red) calc(var(--tw-text-opacity) * 100%),transparent)}.text-t_warning_light{--tw-text-opacity:1;color:color-mix(in srgb,var(--warning-light) calc(var(--tw-text-opacity) * 100%),transparent)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-x_alert_light{--tw-text-opacity:1;color:rgb(255 226 183/var(--tw-text-opacity))}.\\!text-opacity-50{--tw-text-opacity:0.5 !important}.text-opacity-10{--tw-text-opacity:0.1}.text-opacity-25{--tw-text-opacity:0.25}.text-opacity-30{--tw-text-opacity:0.3}.text-opacity-40{--tw-text-opacity:0.4}.text-opacity-50{--tw-text-opacity:0.5}.text-opacity-60{--tw-text-opacity:0.6}.text-opacity-70{--tw-text-opacity:0.7}.text-opacity-75{--tw-text-opacity:0.75}.text-opacity-80{--tw-text-opacity:0.8}.no-underline{text-decoration-line:none}.opacity-25{opacity:0.25}.opacity-40{opacity:0.4}.opacity-50{opacity:0.5}.opacity-60{opacity:0.6}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 0 0/0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\\[0_0_6px_rgba\\(255\\2c 0\\2c 0\\2c 0\\.5\\)\\]{--tw-shadow:0 0 6px rgba(255,0,0,0.5);--tw-shadow-colored:0 0 6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\\[0_0_6px_rgba\\(255\\2c 165\\2c 0\\2c 0\\.5\\)\\]{--tw-shadow:0 0 6px rgba(255,165,0,0.5);--tw-shadow-colored:0 0 6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 0 0/0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0/0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-\\[12px\\]{--tw-backdrop-blur:blur(12px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-\\[24px\\]{--tw-backdrop-blur:blur(24px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-\\[32px\\]{--tw-backdrop-blur:blur(32px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-\\[48px\\]{--tw-backdrop-blur:blur(48px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-\\[filter\\]{transition-property:filter;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}:host{color:white;line-height:1.5rem;font-size:1rem;*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--bg-tertiary) 15%,transparent) var(--bg-primary)}*::-webkit-scrollbar{width:4px}*::-webkit-scrollbar-track{background:var(--bg-primary);border-radius:4px}*::-webkit-scrollbar-thumb{background-color:color-mix(in srgb,var(--bg-tertiary) 15%,transparent);border-radius:4px}}.SnackbarContainer-top,.notistack-SnackbarContainer{top:100px !important}.placeholder\\:text-t_text_primary::-moz-placeholder{--tw-text-opacity:1;color:color-mix(in srgb,var(--text-primary) calc(var(--tw-text-opacity) * 100%),transparent)}.placeholder\\:text-t_text_primary::placeholder{--tw-text-opacity:1;color:color-mix(in srgb,var(--text-primary) calc(var(--tw-text-opacity) * 100%),transparent)}.placeholder\\:text-opacity-40::-moz-placeholder{--tw-text-opacity:0.4}.placeholder\\:text-opacity-40::placeholder{--tw-text-opacity:0.4}.placeholder\\:text-opacity-50::-moz-placeholder{--tw-text-opacity:0.5}.placeholder\\:text-opacity-50::placeholder{--tw-text-opacity:0.5}.hover\\:bg-t_bg_tertiary:hover{--tw-bg-opacity:1;background-color:color-mix(in srgb,var(--bg-tertiary) calc(var(--tw-bg-opacity) * 100%),transparent)}.hover\\:bg-opacity-10:hover{--tw-bg-opacity:0.1}.hover\\:from-t_bg_tertiary\\/10:hover{--tw-gradient-from:color-mix(in srgb,var(--bg-tertiary) calc(0.1 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:from-t_main_accent_light\\/40:hover{--tw-gradient-from:color-mix(in srgb,var(--main-accent-light) calc(0.4 * 100%),transparent) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:to-t_bg_tertiary\\/10:hover{--tw-gradient-to:color-mix(in srgb,var(--bg-tertiary) calc(0.1 * 100%),transparent) var(--tw-gradient-to-position)}.hover\\:to-t_main_accent_dark\\/40:hover{--tw-gradient-to:color-mix(in srgb,var(--main-accent-dark) calc(0.4 * 100%),transparent) var(--tw-gradient-to-position)}.hover\\:fill-t_main_accent_light:hover{fill:color-mix(in srgb,var(--main-accent-light) calc(1 * 100%),transparent)}.hover\\:text-opacity-50:hover{--tw-text-opacity:0.5}.hover\\:opacity-80:hover{opacity:0.8}.hover\\:brightness-105:hover{--tw-brightness:brightness(1.05);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.group:hover .group-hover\\:flex{display:flex}.group:hover .group-hover\\:hidden{display:none}@media (min-width:640px){.sm\\:invisible{visibility:hidden}.sm\\:absolute{position:absolute}.sm\\:z-\\[1\\]{z-index:1}.sm\\:z-\\[2\\]{z-index:2}.sm\\:block{display:block}.sm\\:inline{display:inline}.sm\\:hidden{display:none}.sm\\:h-\\[600px\\]{height:600px}.sm\\:h-full{height:100%}.sm\\:w-\\[72px\\]{width:72px}.sm\\:max-w-\\[636px\\]{max-width:636px}.sm\\:justify-start{justify-content:flex-start}.sm\\:justify-center{justify-content:center}.sm\\:rounded-\\[32px\\]{border-radius:32px}.sm\\:rounded-none{border-radius:0px}.sm\\:border{border-width:1px}.sm\\:border-0{border-width:0px}.sm\\:bg-transparent{background-color:transparent}.sm\\:bg-none{background-image:none}.sm\\:p-0{padding:0px}.sm\\:p-4{padding:1rem}.sm\\:p-8{padding:2rem}.sm\\:px-6{padding-left:1.5rem;padding-right:1.5rem}}.\\[\\&_svg\\]\\:h-4 svg{height:1rem}.\\[\\&_svg\\]\\:h-5 svg{height:1.25rem}.\\[\\&_svg\\]\\:w-4 svg{width:1rem}.\\[\\&_svg\\]\\:w-auto svg{width:auto}
17419
17419
  `;
17420
17420
 
17421
17421
  // src/fonts/Satoshi-Regular.woff2
@@ -17577,6 +17577,14 @@ async function getBalances(payload) {
17577
17577
  })}`
17578
17578
  );
17579
17579
  }
17580
+ async function getTransactionStatus(payload, abortSignal) {
17581
+ return _sendRequest(
17582
+ `/getTransactionStatus?${new URLSearchParams({
17583
+ data: JSON.stringify(payload)
17584
+ })}`,
17585
+ { signal: abortSignal }
17586
+ );
17587
+ }
17580
17588
  async function getTxStatus(payload) {
17581
17589
  return await _sendRequest(
17582
17590
  `/getTxStatus?${new URLSearchParams({
@@ -18681,14 +18689,96 @@ var useEvmContractApi_default = useEvmContractApi;
18681
18689
  // src/hooks/useBatchQuery.ts
18682
18690
  var import_react8 = require("react");
18683
18691
 
18684
- // src/hooks/useDebounce.tsx
18692
+ // src/hooks/useCrossChainDelivery.ts
18685
18693
  var import_react9 = require("react");
18694
+ var TERMINAL_STATUSES = [
18695
+ "DONE",
18696
+ "PARTIALLY_FAILED",
18697
+ "FAILED"
18698
+ ];
18699
+ var POLL_INTERVAL_MS = 4e3;
18700
+ var SLOW_POLL_INTERVAL_MS = 15e3;
18701
+ var SLOW_POLL_AFTER_MS = 3 * 60 * 1e3;
18702
+ var useCrossChainDelivery = ({
18703
+ enabled,
18704
+ chainId,
18705
+ txHash,
18706
+ walletAddress
18707
+ }) => {
18708
+ const [response, setResponse] = (0, import_react9.useState)();
18709
+ const [startedAt, setStartedAt] = (0, import_react9.useState)();
18710
+ const active = enabled && !!chainId && !!txHash;
18711
+ (0, import_react9.useEffect)(() => {
18712
+ if (!active) {
18713
+ setResponse(void 0);
18714
+ setStartedAt(void 0);
18715
+ return;
18716
+ }
18717
+ let cancelled = false;
18718
+ let timer;
18719
+ const controller = new AbortController();
18720
+ const startTime = Date.now();
18721
+ setResponse(void 0);
18722
+ setStartedAt(startTime);
18723
+ const poll2 = async () => {
18724
+ try {
18725
+ const next = await getTransactionStatus(
18726
+ {
18727
+ chainId,
18728
+ txHash,
18729
+ walletAddress
18730
+ },
18731
+ controller.signal
18732
+ );
18733
+ if (cancelled) {
18734
+ return;
18735
+ }
18736
+ setResponse(next);
18737
+ if (TERMINAL_STATUSES.includes(next.status)) {
18738
+ return;
18739
+ }
18740
+ } catch (err) {
18741
+ if (cancelled) {
18742
+ return;
18743
+ }
18744
+ console.warn("Failed to read cross-chain delivery status:", err);
18745
+ }
18746
+ timer = setTimeout(
18747
+ poll2,
18748
+ Date.now() - startTime > SLOW_POLL_AFTER_MS ? SLOW_POLL_INTERVAL_MS : POLL_INTERVAL_MS
18749
+ );
18750
+ };
18751
+ poll2();
18752
+ return () => {
18753
+ cancelled = true;
18754
+ if (timer) {
18755
+ clearTimeout(timer);
18756
+ }
18757
+ controller.abort();
18758
+ };
18759
+ }, [active, chainId, txHash, walletAddress]);
18760
+ const status = response?.status;
18761
+ const isSettled = !!status && TERMINAL_STATUSES.includes(status);
18762
+ return {
18763
+ status,
18764
+ response,
18765
+ isPolling: active && !isSettled,
18766
+ isSettled,
18767
+ isDelivered: status === "DONE",
18768
+ isPartiallyFailed: status === "PARTIALLY_FAILED",
18769
+ isFailed: status === "FAILED",
18770
+ startedAt
18771
+ };
18772
+ };
18773
+
18774
+ // src/hooks/useDebounce.tsx
18775
+ var import_react10 = require("react");
18686
18776
  var useDebounce = ({
18687
18777
  delayMs,
18688
18778
  instantExecution
18689
18779
  }) => {
18690
- const timerRef = (0, import_react9.useRef)(null);
18691
- const debounce = (0, import_react9.useCallback)(
18780
+ const timerRef = (0, import_react10.useRef)(null);
18781
+ const debounce = (0, import_react10.useCallback)(
18692
18782
  (callback) => {
18693
18783
  if (timerRef.current) {
18694
18784
  clearTimeout(timerRef.current);
@@ -18705,7 +18795,7 @@ var useDebounce = ({
18705
18795
  };
18706
18796
 
18707
18797
  // src/hooks/useXPower.ts
18708
- var import_react10 = require("react");
18798
+ var import_react11 = require("react");
18709
18799
  var iface = new ethers_exports.utils.Interface(StakingStableAPRAbi);
18710
18800
 
18711
18801
  // src/services/solana/jupiter/extract-swap-data.ts
@@ -20475,9 +20565,9 @@ function extractMintDecimals(accountInfosMap, mint) {
20475
20565
  // src/context/HistoryProvider.tsx
20476
20566
  var import_bignumber21 = __toESM(require("bignumber.js"));
20477
20567
  var import_notistack2 = require("notistack");
20478
- var import_react11 = require("react");
20568
+ var import_react12 = require("react");
20479
20569
  var import_jsx_runtime74 = require("react/jsx-runtime");
20480
- var HistoryContext = (0, import_react11.createContext)(
20570
+ var HistoryContext = (0, import_react12.createContext)(
20481
20571
  {}
20482
20572
  );
20483
20573
  var PENDING_TXS_LOCAL_STORAGE_KEY = "pending_transactions";
@@ -20521,15 +20611,15 @@ var HistoryProvider = ({ children }) => {
20521
20611
  const { evm, solana } = useWallet();
20522
20612
  const { address } = evm;
20523
20613
  const { address: solanaAddress } = solana;
20524
- const [solanaHistory, setSolanaHistory] = (0, import_react11.useState)([]);
20525
- const [history, setHistory] = (0, import_react11.useState)([]);
20526
- const [historyLoadedOnce, setHistoryLoadedOnce] = (0, import_react11.useState)(false);
20527
- const [solanaHistoryLoadedOnce, setSolanaHistoryLoadedOnce] = (0, import_react11.useState)(false);
20614
+ const [solanaHistory, setSolanaHistory] = (0, import_react12.useState)([]);
20615
+ const [history, setHistory] = (0, import_react12.useState)([]);
20616
+ const [historyLoadedOnce, setHistoryLoadedOnce] = (0, import_react12.useState)(false);
20617
+ const [solanaHistoryLoadedOnce, setSolanaHistoryLoadedOnce] = (0, import_react12.useState)(false);
20528
20618
  const { enqueueSnackbar, closeSnackbar } = (0, import_notistack2.useSnackbar)();
20529
20619
  const { debounce: getHistoryDebounce } = useDebounce({
20530
20620
  delayMs: 600
20531
20621
  });
20532
- (0, import_react11.useEffect)(() => {
20622
+ (0, import_react12.useEffect)(() => {
20533
20623
  if (!isServer) {
20534
20624
  localStorage.removeItem("transactions-history");
20535
20625
  }
@@ -20569,7 +20659,7 @@ var HistoryProvider = ({ children }) => {
20569
20659
  setSolanaHistoryLoadedOnce(true);
20570
20660
  }
20571
20661
  };
20572
- (0, import_react11.useEffect)(() => {
20662
+ (0, import_react12.useEffect)(() => {
20573
20663
  if (solanaAddress) {
20574
20664
  fetchSolanaHistory();
20575
20665
  } else {
@@ -20577,7 +20667,7 @@ var HistoryProvider = ({ children }) => {
20577
20667
  setSolanaHistoryLoadedOnce(true);
20578
20668
  }
20579
20669
  }, [solanaAddress]);
20580
- const fetchHistory = (0, import_react11.useCallback)(async () => {
20670
+ const fetchHistory = (0, import_react12.useCallback)(async () => {
20581
20671
  try {
20582
20672
  if (!address) {
20583
20673
  return;
@@ -20674,7 +20764,7 @@ var HistoryProvider = ({ children }) => {
20674
20764
  setHistoryLoadedOnce(true);
20675
20765
  }
20676
20766
  }, [address, enqueueSnackbar]);
20677
- (0, import_react11.useEffect)(() => {
20767
+ (0, import_react12.useEffect)(() => {
20678
20768
  if (!historyLoadedOnce) {
20679
20769
  getHistoryDebounce(fetchHistory);
20680
20770
  }
@@ -20683,7 +20773,7 @@ var HistoryProvider = ({ children }) => {
20683
20773
  }, 6e4);
20684
20774
  return () => clearInterval(timer);
20685
20775
  }, [address, fetchHistory, getHistoryDebounce, historyLoadedOnce]);
20686
- const addTransactionToLocalHistory = (0, import_react11.useCallback)(
20776
+ const addTransactionToLocalHistory = (0, import_react12.useCallback)(
20687
20777
  (transaction, userAddress) => {
20688
20778
  setHistory((prevHistory) => {
20689
20779
  const clearedPrevHistory = prevHistory.filter(
@@ -20699,7 +20789,7 @@ var HistoryProvider = ({ children }) => {
20699
20789
  },
20700
20790
  []
20701
20791
  );
20702
- const showSnackbarForDoneTx = (0, import_react11.useCallback)(
20792
+ const showSnackbarForDoneTx = (0, import_react12.useCallback)(
20703
20793
  (messageId) => {
20704
20794
  enqueueSnackbar(
20705
20795
  /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
@@ -20736,7 +20826,7 @@ var HistoryProvider = ({ children }) => {
20736
20826
  },
20737
20827
  [closeSnackbar, enqueueSnackbar]
20738
20828
  );
20739
- const updateTransactionInLocalHistory = (0, import_react11.useCallback)(
20829
+ const updateTransactionInLocalHistory = (0, import_react12.useCallback)(
20740
20830
  (transaction, userAddress) => {
20741
20831
  setHistory((prevHistory) => {
20742
20832
  const newHistory = prevHistory.map(
@@ -20761,13 +20851,13 @@ var HistoryProvider = ({ children }) => {
20761
20851
  },
20762
20852
  [showSnackbarForDoneTx]
20763
20853
  );
20764
- (0, import_react11.useEffect)(() => {
20854
+ (0, import_react12.useEffect)(() => {
20765
20855
  setHistoryLoadedOnce(false);
20766
20856
  setSolanaHistoryLoadedOnce(false);
20767
20857
  setHistory([]);
20768
20858
  setSolanaHistory([]);
20769
20859
  }, [address, solanaAddress]);
20770
- const state = (0, import_react11.useMemo)(
20860
+ const state = (0, import_react12.useMemo)(
20771
20861
  () => ({
20772
20862
  history,
20773
20863
  addTransactionToLocalHistory,
@@ -20788,7 +20878,7 @@ var HistoryProvider = ({ children }) => {
20788
20878
  return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(HistoryContext.Provider, { value: state, children });
20789
20879
  };
20790
20880
  function useHistory() {
20791
- return (0, import_react11.useContext)(HistoryContext);
20881
+ return (0, import_react12.useContext)(HistoryContext);
20792
20882
  }
20793
20883
 
20794
20884
  // src/utils/tokens.ts
@@ -20834,7 +20924,7 @@ var addCustomTokensToChains = (chains) => {
20834
20924
 
20835
20925
  // src/context/SwapProvider.tsx
20836
20926
  var import_bignumber22 = __toESM(require("bignumber.js"));
20837
- var import_react12 = require("react");
20927
+ var import_react13 = require("react");
20838
20928
 
20839
20929
  // src/utils/validation.ts
20840
20930
  var getDefaultSwapSourceChain = ({
@@ -21194,7 +21284,7 @@ var init2 = {
21194
21284
  dstChainOptions: [],
21195
21285
  addTokenToChainIfNotExists: functionNotImplemented
21196
21286
  };
21197
- var swapContext = (0, import_react12.createContext)(init2);
21287
+ var swapContext = (0, import_react13.createContext)(init2);
21198
21288
  var SwapProvider = ({
21199
21289
  children,
21200
21290
  integrationConfig,
@@ -21204,80 +21294,80 @@ var SwapProvider = ({
21204
21294
  const { evm, solana } = useWallet();
21205
21295
  const { address: evmAddress, chainId: walletChainId } = evm;
21206
21296
  const { address: solanaAddress } = solana;
21207
- const [isInitialStateSet, setIsInitialStateSet] = (0, import_react12.useState)(false);
21208
- const [tab, setTab] = (0, import_react12.useState)(init2.tab);
21209
- const [error, setError] = (0, import_react12.useState)(init2.error);
21210
- const [activePicker, setActivePicker] = (0, import_react12.useState)(init2.activePicker);
21211
- const [expressDelivery, setExpressDelivery] = (0, import_react12.useState)(init2.expressDelivery);
21212
- const [slippage, setSlippage] = (0, import_react12.useState)(init2.slippage);
21213
- const [infiniteApproval, setInfiniteApproval] = (0, import_react12.useState)(
21297
+ const [isInitialStateSet, setIsInitialStateSet] = (0, import_react13.useState)(false);
21298
+ const [tab, setTab] = (0, import_react13.useState)(init2.tab);
21299
+ const [error, setError] = (0, import_react13.useState)(init2.error);
21300
+ const [activePicker, setActivePicker] = (0, import_react13.useState)(init2.activePicker);
21301
+ const [expressDelivery, setExpressDelivery] = (0, import_react13.useState)(init2.expressDelivery);
21302
+ const [slippage, setSlippage] = (0, import_react13.useState)(init2.slippage);
21303
+ const [infiniteApproval, setInfiniteApproval] = (0, import_react13.useState)(
21214
21304
  init2.infiniteApproval
21215
21305
  );
21216
- const [srcChain, setSrcChain] = (0, import_react12.useState)(init2.srcChain);
21217
- const [dstChain, setDstChain] = (0, import_react12.useState)(init2.dstChain);
21218
- const [feeToken, setFeeToken] = (0, import_react12.useState)(init2.feeToken);
21219
- const [srcToken, setSrcToken] = (0, import_react12.useState)(init2.srcToken);
21220
- const [dstToken, setDstToken] = (0, import_react12.useState)(init2.dstToken);
21221
- const [tokenPrices, setTokenPrices] = (0, import_react12.useState)(init2.tokenPrices);
21222
- const [tokenBalances, setTokenBalances] = (0, import_react12.useState)({});
21223
- const [customTokensVersion, setCustomTokensVersion] = (0, import_react12.useState)(0);
21224
- const [bridgeTokens, setBridgeTokens] = (0, import_react12.useState)([]);
21225
- const [srcValue, setSrcValue] = (0, import_react12.useState)(init2.srcValue);
21226
- const [srcTokenBalanceWei, setSrcTokenBalanceWei] = (0, import_react12.useState)(
21306
+ const [srcChain, setSrcChain] = (0, import_react13.useState)(init2.srcChain);
21307
+ const [dstChain, setDstChain] = (0, import_react13.useState)(init2.dstChain);
21308
+ const [feeToken, setFeeToken] = (0, import_react13.useState)(init2.feeToken);
21309
+ const [srcToken, setSrcToken] = (0, import_react13.useState)(init2.srcToken);
21310
+ const [dstToken, setDstToken] = (0, import_react13.useState)(init2.dstToken);
21311
+ const [tokenPrices, setTokenPrices] = (0, import_react13.useState)(init2.tokenPrices);
21312
+ const [tokenBalances, setTokenBalances] = (0, import_react13.useState)({});
21313
+ const [customTokensVersion, setCustomTokensVersion] = (0, import_react13.useState)(0);
21314
+ const [bridgeTokens, setBridgeTokens] = (0, import_react13.useState)([]);
21315
+ const [srcValue, setSrcValue] = (0, import_react13.useState)(init2.srcValue);
21316
+ const [srcTokenBalanceWei, setSrcTokenBalanceWei] = (0, import_react13.useState)(
21227
21317
  init2.srcTokenBalanceWei
21228
21318
  );
21229
- const [srcChainTokensOptions, setSrcChainTokensOptions] = (0, import_react12.useState)(
21319
+ const [srcChainTokensOptions, setSrcChainTokensOptions] = (0, import_react13.useState)(
21230
21320
  init2.srcChainTokensOptions
21231
21321
  );
21232
- const [dstChainTokensOptions, setDstChainTokensOptions] = (0, import_react12.useState)(
21322
+ const [dstChainTokensOptions, setDstChainTokensOptions] = (0, import_react13.useState)(
21233
21323
  init2.dstChainTokensOptions
21234
21324
  );
21235
- const [srcChainOtherTokensOptions, setSrcChainOtherTokensOptions] = (0, import_react12.useState)(
21325
+ const [srcChainOtherTokensOptions, setSrcChainOtherTokensOptions] = (0, import_react13.useState)(
21236
21326
  init2.srcChainOtherTokensOptions
21237
21327
  );
21238
- const [dstChainOtherTokensOptions, setDstChainOtherTokensOptions] = (0, import_react12.useState)(
21328
+ const [dstChainOtherTokensOptions, setDstChainOtherTokensOptions] = (0, import_react13.useState)(
21239
21329
  init2.dstChainOtherTokensOptions
21240
21330
  );
21241
- const [srcChainOptions, setSrcChainOptions] = (0, import_react12.useState)([]);
21242
- const [dstChainOptions, setDstChainOptions] = (0, import_react12.useState)([]);
21243
- const [isFetchingBalance, setIsFetchingBalance] = (0, import_react12.useState)(
21331
+ const [srcChainOptions, setSrcChainOptions] = (0, import_react13.useState)([]);
21332
+ const [dstChainOptions, setDstChainOptions] = (0, import_react13.useState)([]);
21333
+ const [isFetchingBalance, setIsFetchingBalance] = (0, import_react13.useState)(
21244
21334
  init2.isFetchingBalance
21245
21335
  );
21246
- const [isFetchingBalances, setIsFetchingBalances] = (0, import_react12.useState)(
21336
+ const [isFetchingBalances, setIsFetchingBalances] = (0, import_react13.useState)(
21247
21337
  init2.isFetchingBalances
21248
21338
  );
21249
- const [isFetchingRoute, setFetchingRoute] = (0, import_react12.useState)(init2.isFetchingRoute);
21250
- const [route, setRoute] = (0, import_react12.useState)(init2.route);
21251
- const routeAbortController = (0, import_react12.useRef)(null);
21252
- const refreshSelectedTokenBalanceNonce = (0, import_react12.useRef)(crypto.randomUUID());
21253
- const prevWalletAddresses = (0, import_react12.useRef)(void 0);
21254
- const prevFollowedWalletChainId = (0, import_react12.useRef)(void 0);
21255
- const initPending = (0, import_react12.useRef)(false);
21256
- const modeSwitchReinit = (0, import_react12.useRef)(false);
21257
- const srcTokenLocked = (0, import_react12.useMemo)(
21339
+ const [isFetchingRoute, setFetchingRoute] = (0, import_react13.useState)(init2.isFetchingRoute);
21340
+ const [route, setRoute] = (0, import_react13.useState)(init2.route);
21341
+ const routeAbortController = (0, import_react13.useRef)(null);
21342
+ const refreshSelectedTokenBalanceNonce = (0, import_react13.useRef)(crypto.randomUUID());
21343
+ const prevWalletAddresses = (0, import_react13.useRef)(void 0);
21344
+ const prevFollowedWalletChainId = (0, import_react13.useRef)(void 0);
21345
+ const initPending = (0, import_react13.useRef)(false);
21346
+ const modeSwitchReinit = (0, import_react13.useRef)(false);
21347
+ const srcTokenLocked = (0, import_react13.useMemo)(
21258
21348
  () => !!integrationConfig?.srcTokenLocked,
21259
21349
  [integrationConfig?.srcTokenLocked]
21260
21350
  );
21261
- const dstTokenLocked = (0, import_react12.useMemo)(
21351
+ const dstTokenLocked = (0, import_react13.useMemo)(
21262
21352
  () => !!integrationConfig?.dstTokenLocked,
21263
21353
  [integrationConfig?.dstTokenLocked]
21264
21354
  );
21265
- const dstChainLocked = (0, import_react12.useMemo)(
21355
+ const dstChainLocked = (0, import_react13.useMemo)(
21266
21356
  () => !!integrationConfig?.dstChainLocked,
21267
21357
  [integrationConfig?.dstChainLocked]
21268
21358
  );
21269
- const srcChainLocked = (0, import_react12.useMemo)(
21359
+ const srcChainLocked = (0, import_react13.useMemo)(
21270
21360
  () => !!integrationConfig?.srcChainLocked,
21271
21361
  [integrationConfig?.srcChainLocked]
21272
21362
  );
21273
- const bridgeUI = (0, import_react12.useMemo)(
21363
+ const bridgeUI = (0, import_react13.useMemo)(
21274
21364
  () => !!integrationConfig.bridge,
21275
21365
  [integrationConfig.bridge]
21276
21366
  );
21277
- const hasOnConnectWalletCallback = (0, import_react12.useMemo)(() => {
21367
+ const hasOnConnectWalletCallback = (0, import_react13.useMemo)(() => {
21278
21368
  return !!(integrationConfig.onConnectWallet || window.xPayOnConnectWallet);
21279
21369
  }, [integrationConfig.onConnectWallet]);
21280
- const supportedTokens = (0, import_react12.useMemo)(() => {
21370
+ const supportedTokens = (0, import_react13.useMemo)(() => {
21281
21371
  const customTokens = !isServer ? JSON.parse(localStorage.getItem("custom-tokens") || "{}") : {};
21282
21372
  const chainIdToTokenAddressToData = {};
21283
21373
  supportedChains.forEach((chain) => {
@@ -21288,7 +21378,7 @@ var SwapProvider = ({
21288
21378
  });
21289
21379
  return deepMergeObjects(chainIdToTokenAddressToData, customTokens);
21290
21380
  }, [supportedChains, customTokensVersion]);
21291
- const chainToTokenOptionsMap = (0, import_react12.useMemo)(() => {
21381
+ const chainToTokenOptionsMap = (0, import_react13.useMemo)(() => {
21292
21382
  const tempChainToTokenOptionsMap = {};
21293
21383
  Object.entries(supportedTokens).forEach(([chainId, chainData]) => {
21294
21384
  tempChainToTokenOptionsMap[chainId] = Object.entries(chainData).filter(([, tokenData]) => tokenData.supported).sort(([, tokenDataA], [, tokenDataB]) => {
@@ -21302,7 +21392,7 @@ var SwapProvider = ({
21302
21392
  });
21303
21393
  return tempChainToTokenOptionsMap;
21304
21394
  }, [supportedTokens]);
21305
- const bridgeTokensDictionary = (0, import_react12.useMemo)(() => {
21395
+ const bridgeTokensDictionary = (0, import_react13.useMemo)(() => {
21306
21396
  if (!bridgeTokens || bridgeTokens.length === 0) return null;
21307
21397
  const dictionary = {};
21308
21398
  const addMapping = (chainIdFrom, tokenAddressFrom, chainIdTo, tokenAddressTo) => {
@@ -21328,20 +21418,20 @@ var SwapProvider = ({
21328
21418
  }
21329
21419
  return Object.keys(dictionary).length > 0 ? dictionary : null;
21330
21420
  }, [bridgeTokens]);
21331
- const srcValueUsd = (0, import_react12.useMemo)(() => {
21421
+ const srcValueUsd = (0, import_react13.useMemo)(() => {
21332
21422
  if (srcToken && srcChain && tokenPrices && tokenPrices[srcChain.chainId] && tokenPrices[srcChain.chainId]?.[srcToken.address]) {
21333
21423
  return (Number(srcValue) * Number(tokenPrices[srcChain.chainId]?.[srcToken.address])).toFixed(2);
21334
21424
  }
21335
21425
  return null;
21336
21426
  }, [tokenPrices, srcToken, srcValue, srcChain]);
21337
- const srcValueWei = (0, import_react12.useMemo)(
21427
+ const srcValueWei = (0, import_react13.useMemo)(
21338
21428
  () => humanReadableToWei({
21339
21429
  amount: srcValue,
21340
21430
  decimals: srcToken?.decimals || 18
21341
21431
  }),
21342
21432
  [srcToken?.decimals, srcValue]
21343
21433
  );
21344
- const dstValue = (0, import_react12.useMemo)(
21434
+ const dstValue = (0, import_react13.useMemo)(
21345
21435
  () => weiToHumanReadable({
21346
21436
  amount: route?.estAmountOut || "0",
21347
21437
  // TODO include fees.xSwapFee.tokenFee
@@ -21351,20 +21441,20 @@ var SwapProvider = ({
21351
21441
  // eslint-disable-next-line react-hooks/exhaustive-deps
21352
21442
  [route]
21353
21443
  );
21354
- const dstValueWei = (0, import_react12.useMemo)(
21444
+ const dstValueWei = (0, import_react13.useMemo)(
21355
21445
  () => humanReadableToWei({
21356
21446
  amount: dstValue,
21357
21447
  decimals: dstToken?.decimals || 18
21358
21448
  }),
21359
21449
  [dstToken?.decimals, dstValue]
21360
21450
  );
21361
- const dstValueUsd = (0, import_react12.useMemo)(() => {
21451
+ const dstValueUsd = (0, import_react13.useMemo)(() => {
21362
21452
  if (dstToken && dstChain && tokenPrices && tokenPrices[dstChain?.chainId] && tokenPrices[dstChain?.chainId]?.[dstToken.address]) {
21363
21453
  return (Number(dstValue) * Number(tokenPrices[dstChain?.chainId]?.[dstToken.address])).toFixed(2);
21364
21454
  }
21365
21455
  return null;
21366
21456
  }, [tokenPrices, dstToken, dstValue, dstChain]);
21367
- const dstValueMin = (0, import_react12.useMemo)(
21457
+ const dstValueMin = (0, import_react13.useMemo)(
21368
21458
  () => weiToHumanReadable({
21369
21459
  amount: route?.minAmountOut || "0",
21370
21460
  decimals: dstToken?.decimals || 18,
@@ -21373,15 +21463,20 @@ var SwapProvider = ({
21373
21463
  // eslint-disable-next-line react-hooks/exhaustive-deps
21374
21464
  [route]
21375
21465
  );
21376
- const isExpressDeliveryActive = (0, import_react12.useMemo)(
21377
- () => expressDelivery && !!route && BigNumber.from(route.xSwapFees?.expressDeliveryFee || "0").gt("0"),
21378
- [expressDelivery, route]
21379
- );
21380
- const isAsyncDataLoaded = (0, import_react12.useMemo)(
21466
+ const isExpressDeliveryActive = (0, import_react13.useMemo)(() => {
21467
+ if (!route) {
21468
+ return false;
21469
+ }
21470
+ if (typeof route.expressDelivery === "boolean") {
21471
+ return route.expressDelivery;
21472
+ }
21473
+ return expressDelivery && BigNumber.from(route.xSwapFees?.expressDeliveryFee || "0").gt("0");
21474
+ }, [expressDelivery, route]);
21475
+ const isAsyncDataLoaded = (0, import_react13.useMemo)(
21381
21476
  () => supportedChains.length > 0 && bridgeTokens.length > 0,
21382
21477
  [supportedChains, bridgeTokens]
21383
21478
  );
21384
- const srcTokenBalanceInfo = (0, import_react12.useMemo)(() => {
21479
+ const srcTokenBalanceInfo = (0, import_react13.useMemo)(() => {
21385
21480
  if (!srcToken || !srcTokenBalanceWei || !evmAddress && !solanaAddress) {
21386
21481
  return "";
21387
21482
  }
@@ -21402,7 +21497,7 @@ var SwapProvider = ({
21402
21497
  precisionFractionalPlaces: 5
21403
21498
  });
21404
21499
  }, [evmAddress, solanaAddress, srcToken, srcTokenBalanceWei]);
21405
- const getTokenOptions = (0, import_react12.useCallback)(
21500
+ const getTokenOptions = (0, import_react13.useCallback)(
21406
21501
  (chainId) => {
21407
21502
  if (!chainId) {
21408
21503
  return [];
@@ -21422,7 +21517,7 @@ var SwapProvider = ({
21422
21517
  },
21423
21518
  [bridgeTokensDictionary, bridgeUI, chainToTokenOptionsMap]
21424
21519
  );
21425
- const quoteRoute = (0, import_react12.useCallback)(async () => {
21520
+ const quoteRoute = (0, import_react13.useCallback)(async () => {
21426
21521
  if (!srcChain || !dstChain || !srcToken || !dstToken || !srcValueWei || safeBigNumberFrom(srcValueWei).eq(0) || bridgeUI && !bridgeTokensDictionary || bridgeUI && srcChain.ecosystem !== "evm" /* EVM */) {
21427
21522
  setRoute(void 0);
21428
21523
  return;
@@ -21510,7 +21605,7 @@ var SwapProvider = ({
21510
21605
  srcToken,
21511
21606
  srcValueWei
21512
21607
  ]);
21513
- const refreshBalance = (0, import_react12.useCallback)(
21608
+ const refreshBalance = (0, import_react13.useCallback)(
21514
21609
  async (options) => {
21515
21610
  if (!evmAddress && !solanaAddress || !srcChain?.publicRpcUrls[0] || !srcToken || !srcToken?.address) {
21516
21611
  refreshSelectedTokenBalanceNonce.current = crypto.randomUUID();
@@ -21585,20 +21680,20 @@ var SwapProvider = ({
21585
21680
  },
21586
21681
  [evmAddress, solanaAddress, srcChain, srcToken, tokenBalances]
21587
21682
  );
21588
- const findTokenDataByAddressAndChain = (0, import_react12.useCallback)(
21683
+ const findTokenDataByAddressAndChain = (0, import_react13.useCallback)(
21589
21684
  (tokenAddress, chainId) => {
21590
21685
  return supportedTokens[chainId]?.[tokenAddress];
21591
21686
  },
21592
21687
  [supportedTokens]
21593
21688
  );
21594
- const onConnectWallet = (0, import_react12.useCallback)(() => {
21689
+ const onConnectWallet = (0, import_react13.useCallback)(() => {
21595
21690
  if (integrationConfig.onConnectWallet) {
21596
21691
  integrationConfig.onConnectWallet();
21597
21692
  } else if (window.xPayOnConnectWallet) {
21598
21693
  window.xPayOnConnectWallet();
21599
21694
  }
21600
21695
  }, [integrationConfig]);
21601
- const addTokenToChainIfNotExists = (0, import_react12.useCallback)(
21696
+ const addTokenToChainIfNotExists = (0, import_react13.useCallback)(
21602
21697
  (chainId, token) => {
21603
21698
  const chain = supportedChains.find((chain2) => chain2.chainId === chainId);
21604
21699
  if (!chain) return chain;
@@ -21614,7 +21709,7 @@ var SwapProvider = ({
21614
21709
  },
21615
21710
  [supportedChains]
21616
21711
  );
21617
- (0, import_react12.useEffect)(() => {
21712
+ (0, import_react13.useEffect)(() => {
21618
21713
  if (supportedChains.length > 0) {
21619
21714
  const chainIds = supportedChains.map((chain) => chain.chainId);
21620
21715
  getPrices({ chainId: chainIds }).then((prices) => {
@@ -21622,22 +21717,22 @@ var SwapProvider = ({
21622
21717
  });
21623
21718
  }
21624
21719
  }, [supportedChains]);
21625
- (0, import_react12.useEffect)(() => {
21720
+ (0, import_react13.useEffect)(() => {
21626
21721
  (async () => {
21627
21722
  const data = await getBridgeTokens();
21628
21723
  setBridgeTokens(data);
21629
21724
  })();
21630
21725
  }, []);
21631
- (0, import_react12.useEffect)(() => {
21726
+ (0, import_react13.useEffect)(() => {
21632
21727
  quoteRoute();
21633
21728
  }, [quoteRoute]);
21634
- (0, import_react12.useEffect)(() => {
21729
+ (0, import_react13.useEffect)(() => {
21635
21730
  const walletAddresses = `${evmAddress ?? ""}:${solanaAddress ?? ""}`;
21636
21731
  const walletChanged = prevWalletAddresses.current !== void 0 && prevWalletAddresses.current !== walletAddresses;
21637
21732
  prevWalletAddresses.current = walletAddresses;
21638
21733
  refreshBalance(walletChanged ? { forceRpc: true } : void 0);
21639
21734
  }, [refreshBalance, evmAddress, solanaAddress]);
21640
- (0, import_react12.useEffect)(() => {
21735
+ (0, import_react13.useEffect)(() => {
21641
21736
  let isCancelled = false;
21642
21737
  if ((evmAddress || solanaAddress) && supportedChains.length > 0) {
21643
21738
  setIsFetchingBalances(true);
@@ -21656,7 +21751,7 @@ var SwapProvider = ({
21656
21751
  isCancelled = true;
21657
21752
  };
21658
21753
  }, [evmAddress, solanaAddress, supportedChains.length, customTokensVersion]);
21659
- (0, import_react12.useEffect)(() => {
21754
+ (0, import_react13.useEffect)(() => {
21660
21755
  if (srcChain?.chainId === "mainnet-beta") {
21661
21756
  setFeeToken(
21662
21757
  srcChain?.tokens.find(
@@ -21671,7 +21766,7 @@ var SwapProvider = ({
21671
21766
  );
21672
21767
  }
21673
21768
  }, [srcChain]);
21674
- (0, import_react12.useEffect)(() => {
21769
+ (0, import_react13.useEffect)(() => {
21675
21770
  (async () => {
21676
21771
  const isSingleChainSelected = dstChain?.chainId === srcChain?.chainId;
21677
21772
  const srcTokenOptions = getTokenOptions(
@@ -21740,7 +21835,7 @@ var SwapProvider = ({
21740
21835
  dstToken?.symbol,
21741
21836
  tokenBalances
21742
21837
  ]);
21743
- (0, import_react12.useEffect)(() => {
21838
+ (0, import_react13.useEffect)(() => {
21744
21839
  const baseChains = supportedChains.filter(
21745
21840
  ({ web3Environment, swapSupported, bridgeSupported }) => web3Environment === "mainnet" /* MAINNET */ && (bridgeUI && bridgeSupported || !bridgeUI && swapSupported)
21746
21841
  );
@@ -21795,7 +21890,7 @@ var SwapProvider = ({
21795
21890
  dstToken,
21796
21891
  bridgeTokensDictionary
21797
21892
  ]);
21798
- (0, import_react12.useEffect)(() => {
21893
+ (0, import_react13.useEffect)(() => {
21799
21894
  const prevWalletChainId = prevFollowedWalletChainId.current;
21800
21895
  prevFollowedWalletChainId.current = walletChainId;
21801
21896
  if (!walletChainId || !prevWalletChainId || prevWalletChainId === walletChainId || !isInitialStateSet || integrationConfig?.srcChainId || bridgeUI) {
@@ -21814,7 +21909,7 @@ var SwapProvider = ({
21814
21909
  integrationConfig?.srcChainId,
21815
21910
  bridgeUI
21816
21911
  ]);
21817
- (0, import_react12.useEffect)(() => {
21912
+ (0, import_react13.useEffect)(() => {
21818
21913
  if (!isInitialStateSet) {
21819
21914
  return;
21820
21915
  }
@@ -21830,7 +21925,7 @@ var SwapProvider = ({
21830
21925
  setDstChain(void 0);
21831
21926
  setIsInitialStateSet(false);
21832
21927
  }, [bridgeUI]);
21833
- (0, import_react12.useEffect)(() => {
21928
+ (0, import_react13.useEffect)(() => {
21834
21929
  if (isInitialStateSet || !supportedChains || supportedChains.length === 0 || !bridgeTokensDictionary) {
21835
21930
  return;
21836
21931
  }
@@ -21895,7 +21990,7 @@ var SwapProvider = ({
21895
21990
  isInitialStateSet,
21896
21991
  bridgeTokensDictionary
21897
21992
  ]);
21898
- (0, import_react12.useEffect)(() => {
21993
+ (0, import_react13.useEffect)(() => {
21899
21994
  if (!bridgeTokensDictionary || supportedChains.length === 0 || !isInitialStateSet || // A bridgeUI-change reset is in flight: this closure still holds the
21900
21995
  // previous mode's route, so mapping it against the new mode would
21901
21996
  // resurrect it. The re-init applies the new mode's defaults instead.
@@ -21931,7 +22026,7 @@ var SwapProvider = ({
21931
22026
  bridgeTokensDictionary,
21932
22027
  isInitialStateSet
21933
22028
  ]);
21934
- (0, import_react12.useEffect)(() => {
22029
+ (0, import_react13.useEffect)(() => {
21935
22030
  if (!isInitialStateSet || initPending.current) {
21936
22031
  return;
21937
22032
  }
@@ -21941,7 +22036,7 @@ var SwapProvider = ({
21941
22036
  window.xPayOnDstChainChange(dstChain?.chainId);
21942
22037
  }
21943
22038
  }, [integrationConfig.onDstChainChange, dstChain]);
21944
- (0, import_react12.useEffect)(() => {
22039
+ (0, import_react13.useEffect)(() => {
21945
22040
  if (!isInitialStateSet || initPending.current) {
21946
22041
  return;
21947
22042
  }
@@ -21952,7 +22047,7 @@ var SwapProvider = ({
21952
22047
  window.xPayOnDstTokenChange(token);
21953
22048
  }
21954
22049
  }, [integrationConfig.onDstTokenChange, dstToken]);
21955
- (0, import_react12.useEffect)(() => {
22050
+ (0, import_react13.useEffect)(() => {
21956
22051
  if (!isInitialStateSet || initPending.current) {
21957
22052
  return;
21958
22053
  }
@@ -21962,7 +22057,7 @@ var SwapProvider = ({
21962
22057
  window.xPayOnSrcChainChange(srcChain?.chainId);
21963
22058
  }
21964
22059
  }, [integrationConfig.onSrcChainChange, srcChain]);
21965
- (0, import_react12.useEffect)(() => {
22060
+ (0, import_react13.useEffect)(() => {
21966
22061
  if (!isInitialStateSet || initPending.current) {
21967
22062
  return;
21968
22063
  }
@@ -22044,16 +22139,16 @@ var SwapProvider = ({
22044
22139
  );
22045
22140
  };
22046
22141
  var useSwapContext = () => {
22047
- return (0, import_react12.useContext)(swapContext);
22142
+ return (0, import_react13.useContext)(swapContext);
22048
22143
  };
22049
22144
 
22050
22145
  // src/context/TransactionProvider.tsx
22051
22146
  var import_web36 = require("@solana/web3.js");
22052
- var import_react13 = require("react");
22147
+ var import_react14 = require("react");
22053
22148
  var import_jsx_runtime76 = require("react/jsx-runtime");
22054
- var TransactionContext = (0, import_react13.createContext)({});
22149
+ var TransactionContext = (0, import_react14.createContext)({});
22055
22150
  var TransactionProvider = ({ children }) => {
22056
- const evmTransactionExecutor = (0, import_react13.useCallback)(
22151
+ const evmTransactionExecutor = (0, import_react14.useCallback)(
22057
22152
  async ({ executeTransaction, handlers }) => {
22058
22153
  try {
22059
22154
  const tx = await executeTransaction();
@@ -22070,11 +22165,11 @@ var TransactionProvider = ({ children }) => {
22070
22165
  },
22071
22166
  []
22072
22167
  );
22073
- const customConnection = (0, import_react13.useMemo)(
22168
+ const customConnection = (0, import_react14.useMemo)(
22074
22169
  () => new import_web36.Connection(SOLANA_MAINNET_RPC_URL, "confirmed"),
22075
22170
  []
22076
22171
  );
22077
- const solanaTransactionExecutor = (0, import_react13.useCallback)(
22172
+ const solanaTransactionExecutor = (0, import_react14.useCallback)(
22078
22173
  async ({ executeTransaction, handlers }) => {
22079
22174
  try {
22080
22175
  const signedTransaction = await executeTransaction();
@@ -22113,7 +22208,7 @@ var TransactionProvider = ({ children }) => {
22113
22208
  },
22114
22209
  [customConnection]
22115
22210
  );
22116
- const enqueueTransaction = (0, import_react13.useCallback)(
22211
+ const enqueueTransaction = (0, import_react14.useCallback)(
22117
22212
  ({
22118
22213
  executeTransaction,
22119
22214
  handlers,
@@ -22135,7 +22230,7 @@ var TransactionProvider = ({ children }) => {
22135
22230
  },
22136
22231
  [evmTransactionExecutor, solanaTransactionExecutor]
22137
22232
  );
22138
- const state = (0, import_react13.useMemo)(
22233
+ const state = (0, import_react14.useMemo)(
22139
22234
  () => ({
22140
22235
  enqueueTransaction
22141
22236
  }),
@@ -22144,15 +22239,15 @@ var TransactionProvider = ({ children }) => {
22144
22239
  return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(TransactionContext.Provider, { value: state, children });
22145
22240
  };
22146
22241
  function useTransaction() {
22147
- return (0, import_react13.useContext)(TransactionContext);
22242
+ return (0, import_react14.useContext)(TransactionContext);
22148
22243
  }
22149
22244
 
22150
22245
  // src/hooks/networkManagement/useNetworks.ts
22151
- var import_react15 = require("react");
22246
+ var import_react16 = require("react");
22152
22247
  var import_wagmi4 = require("wagmi");
22153
22248
 
22154
22249
  // src/hooks/networkManagement/clientToSigner.tsx
22155
- var import_react14 = require("react");
22250
+ var import_react15 = require("react");
22156
22251
  var import_wagmi3 = require("wagmi");
22157
22252
  function clientToSigner(client) {
22158
22253
  const { account, transport } = client;
@@ -22162,18 +22257,18 @@ function clientToSigner(client) {
22162
22257
  }
22163
22258
  async function useEthersSigner({ chainId } = {}) {
22164
22259
  const { data: client } = (0, import_wagmi3.useConnectorClient)({ chainId });
22165
- return (0, import_react14.useMemo)(() => client ? clientToSigner(client) : void 0, [client]);
22260
+ return (0, import_react15.useMemo)(() => client ? clientToSigner(client) : void 0, [client]);
22166
22261
  }
22167
22262
 
22168
22263
  // src/hooks/networkManagement/useNetworks.ts
22169
22264
  var useNetworks = () => {
22170
- const [signer, setSigner] = (0, import_react15.useState)();
22265
+ const [signer, setSigner] = (0, import_react16.useState)();
22171
22266
  const ethersSigner = useEthersSigner();
22172
- (0, import_react15.useEffect)(() => {
22267
+ (0, import_react16.useEffect)(() => {
22173
22268
  ethersSigner.then((signer2) => setSigner(signer2));
22174
22269
  }, [ethersSigner]);
22175
22270
  const account = (0, import_wagmi4.useAccount)();
22176
- const evm = (0, import_react15.useMemo)(
22271
+ const evm = (0, import_react16.useMemo)(
22177
22272
  () => ({
22178
22273
  networkName: "EVM",
22179
22274
  chainId: account.chainId?.toString() || DEFAULT_SOURCE_CHAIN_ID,
@@ -22190,10 +22285,10 @@ var useNetworks = () => {
22190
22285
  var useNetworks_default = useNetworks;
22191
22286
 
22192
22287
  // src/components/Swap/SwapView/ConfirmationView/TxOverview/index.tsx
22193
- var import_react19 = require("react");
22288
+ var import_react20 = require("react");
22194
22289
 
22195
22290
  // src/components/Swap/SwapView/FeesPanel/index.tsx
22196
- var import_react16 = require("react");
22291
+ var import_react17 = require("react");
22197
22292
 
22198
22293
  // src/components/Swap/SwapView/FeesPanel/DeliveryInfo/index.tsx
22199
22294
  var import_jsx_runtime77 = require("react/jsx-runtime");
@@ -22223,7 +22318,10 @@ var import_jsx_runtime79 = require("react/jsx-runtime");
22223
22318
  var Fees = ({
22224
22319
  solanaBridgeFee
22225
22320
  }) => {
22226
- const { route, slippage, feeToken, dstToken, expressDelivery } = useSwapContext();
22321
+ const { route, slippage, feeToken, dstToken } = useSwapContext();
22322
+ const expressDeliveryFee = safeBigNumberFrom(
22323
+ route?.xSwapFees.expressDeliveryFee || "0"
22324
+ );
22227
22325
  const fees = [
22228
22326
  {
22229
22327
  name: "CCIP Fee: ",
@@ -22241,11 +22339,11 @@ var Fees = ({
22241
22339
  precisionFractionalPlaces: 5
22242
22340
  }) || 0} ${feeToken?.symbol || ""}`
22243
22341
  },
22244
- ...expressDelivery ? [
22342
+ ...expressDeliveryFee.gt(0) ? [
22245
22343
  {
22246
22344
  name: "Express delivery Fee: ",
22247
22345
  value: `${weiToHumanReadable({
22248
- amount: route?.xSwapFees.expressDeliveryFee || "0",
22346
+ amount: expressDeliveryFee.toString(),
22249
22347
  decimals: feeToken?.decimals || 18,
22250
22348
  precisionFractionalPlaces: 5
22251
22349
  }) || 0} ${feeToken?.symbol || ""}`
@@ -24372,9 +24470,9 @@ var import_anchor7 = require("@coral-xyz/anchor");
24372
24470
  var import_wallet_adapter_react3 = require("@solana/wallet-adapter-react");
24373
24471
  var import_jsx_runtime80 = require("react/jsx-runtime");
24374
24472
  var FeesPanel = () => {
24375
- const [expanded, setExpanded] = (0, import_react16.useState)(false);
24376
- const [isFetchingSolanaFee, setIsFetchingSolanaFee] = (0, import_react16.useState)(false);
24377
- const [solanaBridgeFee, setSolanaBridgeFee] = (0, import_react16.useState)(null);
24473
+ const [expanded, setExpanded] = (0, import_react17.useState)(false);
24474
+ const [isFetchingSolanaFee, setIsFetchingSolanaFee] = (0, import_react17.useState)(false);
24475
+ const [solanaBridgeFee, setSolanaBridgeFee] = (0, import_react17.useState)(null);
24378
24476
  const {
24379
24477
  route,
24380
24478
  feeToken,
@@ -24391,7 +24489,7 @@ var FeesPanel = () => {
24391
24489
  evm: { address: evmAddress }
24392
24490
  }
24393
24491
  } = useNetworks_default();
24394
- (0, import_react16.useEffect)(() => {
24492
+ (0, import_react17.useEffect)(() => {
24395
24493
  const fetchSolanaBridgeFee = async () => {
24396
24494
  if (bridgeUI && srcChain?.ecosystem === "solana" /* SOLANA */ && dstChain?.ccipChainId && srcToken && srcValueWei && publicKey9 && evmAddress) {
24397
24495
  try {
@@ -24473,7 +24571,7 @@ var FeesPanel = () => {
24473
24571
  evmAddress,
24474
24572
  srcToken
24475
24573
  ]);
24476
- const totalFee = (0, import_react16.useMemo)(() => {
24574
+ const totalFee = (0, import_react17.useMemo)(() => {
24477
24575
  if (!route) {
24478
24576
  return "0";
24479
24577
  }
@@ -24517,7 +24615,7 @@ var FeesPanel = () => {
24517
24615
  };
24518
24616
 
24519
24617
  // src/components/Swap/SwapView/ConfirmationView/TokenTiles/index.tsx
24520
- var import_react17 = require("react");
24618
+ var import_react18 = require("react");
24521
24619
  var import_jsx_runtime81 = require("react/jsx-runtime");
24522
24620
  var TokenTile = ({ type }) => {
24523
24621
  const {
@@ -24531,7 +24629,7 @@ var TokenTile = ({ type }) => {
24531
24629
  } = useSwapContext();
24532
24630
  const token = type === "source" ? srcToken : dstToken;
24533
24631
  const chain = type === "source" ? srcChain : dstChain;
24534
- const value = (0, import_react17.useMemo)(() => {
24632
+ const value = (0, import_react18.useMemo)(() => {
24535
24633
  if (type === "destination" && bridgeUI && srcChain?.ecosystem === "solana" /* SOLANA */) {
24536
24634
  return srcValue;
24537
24635
  }
@@ -24581,11 +24679,11 @@ var Header = ({ onCloseClick }) => {
24581
24679
  };
24582
24680
 
24583
24681
  // src/components/Swap/SwapView/ConfirmationView/TxOverview/Steps/index.tsx
24584
- var import_react18 = require("react");
24682
+ var import_react19 = require("react");
24585
24683
  var import_jsx_runtime83 = require("react/jsx-runtime");
24586
24684
  var Steps = () => {
24587
24685
  const { txStatus, txNeedsApproval, txMsg } = useTxUIWrapper();
24588
- const items = (0, import_react18.useMemo)(() => {
24686
+ const items = (0, import_react19.useMemo)(() => {
24589
24687
  const approvalActive = txStatus === 1 /* SIGNING_APPROVAL */ || txStatus === 2 /* CONFIRMING_APPROVAL */;
24590
24688
  const txActive = txStatus === 3 /* SIGNING_TX */ || txStatus === 4 /* CONFIRMING_TX */;
24591
24689
  return [
@@ -24605,7 +24703,7 @@ var Steps = () => {
24605
24703
  }
24606
24704
  ];
24607
24705
  }, [txMsg, txNeedsApproval, txStatus]);
24608
- const filteredItems = (0, import_react18.useMemo)(
24706
+ const filteredItems = (0, import_react19.useMemo)(
24609
24707
  () => items.filter(({ show }) => show),
24610
24708
  [items]
24611
24709
  );
@@ -24654,7 +24752,8 @@ var TxOverview = ({ onCloseClick }) => {
24654
24752
  dstValueWei,
24655
24753
  route,
24656
24754
  refreshBalance,
24657
- bridgeUI
24755
+ bridgeUI,
24756
+ isExpressDeliveryActive
24658
24757
  } = useSwapContext();
24659
24758
  const {
24660
24759
  txStatus,
@@ -24671,7 +24770,7 @@ var TxOverview = ({ onCloseClick }) => {
24671
24770
  } = useNetworks_default();
24672
24771
  const { publicKey: publicKey9, signTransaction } = (0, import_wallet_adapter_react4.useWallet)();
24673
24772
  const evmContractApi = useEvmContractApi();
24674
- const trackTransaction = (0, import_react19.useCallback)(
24773
+ const trackTransaction = (0, import_react20.useCallback)(
24675
24774
  async (txReceipt) => {
24676
24775
  if (!srcChain || !dstChain || !srcToken || !dstToken || !route) {
24677
24776
  return;
@@ -24685,7 +24784,10 @@ var TxOverview = ({ onCloseClick }) => {
24685
24784
  tokenAddress: srcToken.address,
24686
24785
  tokenOutAddress: dstToken?.address,
24687
24786
  tokenOutAmount: dstValueWei,
24688
- estimatedDeliveryTimestamp: Number(route.xSwapFees.expressDeliveryFee || "0") > 0 ? Date.now() / 1e3 * 1e3 + 30 * 1e3 : Date.now() / 1e3 * 1e3 + crosschainEstimationTimes?.[srcChain?.chainId]?.[dstChain?.chainId] || FALLBACK_CROSSCHAIN_ESTIMATION_TIME,
24787
+ // Read the speed off the quote, never off the express-delivery fee: a fast
24788
+ // CCTP transfer pays Circle out of the bridged USDC and charges no express
24789
+ // fee, so the fee test used to promise 30 minutes for a 30-second transfer.
24790
+ estimatedDeliveryTimestamp: isExpressDeliveryActive ? Date.now() + EXPRESS_DELIVERY_TIME : Date.now() + (crosschainEstimationTimes?.[srcChain?.chainId]?.[dstChain?.chainId] || FALLBACK_CROSSCHAIN_ESTIMATION_TIME),
24689
24791
  status: "IN_PROGRESS"
24690
24792
  };
24691
24793
  if (srcChain.chainId === dstChain.chainId) {
@@ -24752,10 +24854,11 @@ var TxOverview = ({ onCloseClick }) => {
24752
24854
  srcValueWei,
24753
24855
  dstValueWei,
24754
24856
  supportedChains,
24755
- route
24857
+ route,
24858
+ isExpressDeliveryActive
24756
24859
  ]
24757
24860
  );
24758
- const enqueueSwapTx = (0, import_react19.useCallback)(async () => {
24861
+ const enqueueSwapTx = (0, import_react20.useCallback)(async () => {
24759
24862
  if (srcToken) {
24760
24863
  if (route && route.ecosystem === "evm" /* EVM */) {
24761
24864
  const enqueueSwap = ({ afterApproval = false } = {}) => {
@@ -25083,20 +25186,54 @@ async function checkAndDelegateTokenAuthority(connection, publicKey9, tokenMint,
25083
25186
  }
25084
25187
  }
25085
25188
 
25086
- // src/components/Swap/SwapView/ConfirmationView/TxResult/index.tsx
25189
+ // src/components/Swap/SwapView/ConfirmationView/TxProgress/index.tsx
25190
+ var import_react21 = require("react");
25087
25191
  var import_jsx_runtime85 = require("react/jsx-runtime");
25088
- var TxResult = ({ onCloseClick }) => {
25089
- const { txError, txExplorerUrl, txMsg } = useTxUIWrapper();
25090
- const { isExpressDeliveryActive, srcChain, dstChain } = useSwapContext();
25192
+ var FAST_DELIVERY_GRACE_MS = 2 * 60 * 1e3;
25193
+ var formatElapsed = (ms) => {
25194
+ const totalSeconds = Math.floor(ms / 1e3);
25195
+ const minutes = Math.floor(totalSeconds / 60);
25196
+ const seconds = totalSeconds % 60;
25197
+ return `${minutes}:${seconds.toString().padStart(2, "0")}`;
25198
+ };
25199
+ var TxProgress = ({ onCloseClick, delivery }) => {
25200
+ const { srcChain, dstChain, isExpressDeliveryActive } = useSwapContext();
25201
+ const { txExplorerUrl } = useTxUIWrapper();
25202
+ const [now, setNow] = (0, import_react21.useState)(() => Date.now());
25203
+ (0, import_react21.useEffect)(() => {
25204
+ const ticker = setInterval(() => setNow(Date.now()), 1e3);
25205
+ return () => clearInterval(ticker);
25206
+ }, []);
25207
+ const elapsedMs = delivery.startedAt ? Math.max(0, now - delivery.startedAt) : 0;
25208
+ const isExpress = delivery.response?.expressDelivery ?? isExpressDeliveryActive;
25209
+ const estimatedMs = (0, import_react21.useMemo)(
25210
+ () => srcChain && dstChain && crosschainEstimationTimes?.[srcChain.chainId]?.[dstChain.chainId] || FALLBACK_CROSSCHAIN_ESTIMATION_TIME,
25211
+ [srcChain, dstChain]
25212
+ );
25213
+ const isSlow = elapsedMs > (isExpress ? FAST_DELIVERY_GRACE_MS : estimatedMs);
25214
+ const note = isSlow ? "This is taking longer than usual. Nothing is lost \u2014 the transfer is still on its way." : isExpress ? "Fast delivery is on: funds usually arrive within a minute." : `Funds can take up to ${Math.round(
25215
+ estimatedMs / 6e4
25216
+ )} minutes to arrive on ${dstChain?.displayName || "the destination chain"}.`;
25091
25217
  return /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: "flex flex-col gap-8 text-t_text_primary", children: [
25092
25218
  /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: "flex flex-col gap-2", children: [
25093
- /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: "flex items-center gap-3", children: [
25094
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { className: "text-2xl font-medium leading-8 tracking-[0.01em]", children: txError ? "Transaction Error" : "Transaction Success" }),
25095
- txError ? /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(ErrorCircleThinIcon, { className: "w-6 h-6 shrink-0 text-[#F44336]" }) : /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(CheckCircleThinIcon, { className: "w-6 h-6 shrink-0 text-[#6AE89B]" })
25219
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { className: "text-2xl font-medium leading-8 tracking-[0.01em]", children: "Delivering Funds" }),
25220
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { className: "text-sm leading-5 tracking-[0.01em] text-t_text_primary text-opacity-50", children: note }),
25221
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { className: "text-sm leading-5 tracking-[0.01em] text-t_text_primary text-opacity-25", children: "You can close this window \u2014 the transfer completes on its own." })
25222
+ ] }),
25223
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(TokenTiles, {}),
25224
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: "flex flex-col rounded-xl bg-t_bg_tertiary bg-opacity-[0.02]", children: [
25225
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: "flex items-center justify-between gap-4 px-4 sm:px-6 py-4 rounded-lg", children: [
25226
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { className: "text-sm leading-5 tracking-[0.01em] text-t_text_primary text-opacity-50", children: `Swap confirmed on ${srcChain?.displayName || "the source chain"}` }),
25227
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(CheckCircleThinIcon, { className: "w-6 h-6 shrink-0 text-[#6AE89B]" })
25096
25228
  ] }),
25097
- txError ? /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { className: "text-sm leading-5 tracking-[0.01em] text-t_text_primary text-opacity-50", children: txError }) : !txMsg && srcChain !== dstChain && /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { className: "text-sm leading-5 tracking-[0.01em] text-t_text_primary text-opacity-50", children: `Approximated time of delivery: ${isExpressDeliveryActive ? "30 sec" : "30 min"}` })
25229
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: "flex items-center justify-between gap-4 px-4 sm:px-6 py-4 rounded-lg bg-gradient-to-r from-transparent via-t_bg_tertiary/5 to-transparent", children: [
25230
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { className: "text-sm leading-5 tracking-[0.01em] text-t_text_primary text-opacity-75", children: `Waiting for funds on ${dstChain?.displayName || "the destination chain"}` }),
25231
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: "flex items-center gap-3 shrink-0", children: [
25232
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("span", { className: "text-sm leading-5 tracking-[0.01em] tabular-nums text-t_text_primary text-opacity-50", children: formatElapsed(elapsedMs) }),
25233
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(ProgressRingThinIcon, { className: "w-6 h-6 shrink-0 animate-spin-slow text-t_text_primary" })
25234
+ ] })
25235
+ ] })
25098
25236
  ] }),
25099
- !txMsg && /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(TokenTiles, {}),
25100
25237
  /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { className: "h-px w-full gradient-sections-separator-container" }),
25101
25238
  /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
25102
25239
  "button",
@@ -25104,10 +25241,10 @@ var TxResult = ({ onCloseClick }) => {
25104
25241
  type: "button",
25105
25242
  onClick: onCloseClick,
25106
25243
  className: "w-full px-6 py-3 rounded-lg border-none cursor-pointer bg-t_bg_tertiary bg-opacity-5 text-sm font-medium leading-6 tracking-[0.01em] text-t_text_primary text-opacity-80 hover:bg-opacity-10 transition-colors",
25107
- children: "Continue"
25244
+ children: "Close"
25108
25245
  }
25109
25246
  ),
25110
- !txMsg && !txError && /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: "w-full flex gap-3 items-center", children: [
25247
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: "w-full flex gap-3 items-center", children: [
25111
25248
  /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(
25112
25249
  "a",
25113
25250
  {
@@ -25127,49 +25264,164 @@ var TxResult = ({ onCloseClick }) => {
25127
25264
  ] });
25128
25265
  };
25129
25266
 
25130
- // src/components/Swap/SwapView/ConfirmationView/index.tsx
25267
+ // src/components/Swap/SwapView/ConfirmationView/TxResult/index.tsx
25268
+ var import_react22 = require("react");
25131
25269
  var import_jsx_runtime86 = require("react/jsx-runtime");
25132
- var ConfirmationView = ({ onCloseClick }) => {
25270
+ var TxResult = ({ onCloseClick, delivery }) => {
25271
+ const { txError, txExplorerUrl, txMsg } = useTxUIWrapper();
25272
+ const { isExpressDeliveryActive, srcChain, dstChain, supportedChains } = useSwapContext();
25273
+ const isCrossChain = !!srcChain && !!dstChain && srcChain.chainId !== dstChain.chainId;
25274
+ const failed = !!txError || !!delivery?.isFailed;
25275
+ const partiallyFailed = !!delivery?.isPartiallyFailed;
25276
+ const targetTx = delivery?.response?.targetTx;
25277
+ const targetExplorerUrl = (0, import_react22.useMemo)(() => {
25278
+ if (!targetTx) {
25279
+ return void 0;
25280
+ }
25281
+ const explorer = supportedChains.find(
25282
+ (chain) => chain.chainId === targetTx.chainId && chain.ecosystem === "evm" /* EVM */
25283
+ )?.transactionExplorer;
25284
+ return explorer ? `${explorer}/${targetTx.hash}` : void 0;
25285
+ }, [supportedChains, targetTx]);
25286
+ const note = (0, import_react22.useMemo)(() => {
25287
+ if (delivery?.isFailed) {
25288
+ return `The transaction failed on ${srcChain?.displayName || "the source chain"}.`;
25289
+ }
25290
+ if (partiallyFailed) {
25291
+ return `The swap on ${dstChain?.displayName || "the destination chain"} could not be completed, so the bridged tokens were sent to your wallet instead.`;
25292
+ }
25293
+ if (delivery?.isDelivered) {
25294
+ return `Funds delivered on ${dstChain?.displayName || "the destination chain"}.`;
25295
+ }
25296
+ if (isCrossChain) {
25297
+ return `Approximated time of delivery: ${isExpressDeliveryActive ? "30 sec" : "30 min"}`;
25298
+ }
25299
+ return void 0;
25300
+ }, [
25301
+ delivery?.isDelivered,
25302
+ delivery?.isFailed,
25303
+ partiallyFailed,
25304
+ isCrossChain,
25305
+ isExpressDeliveryActive,
25306
+ srcChain?.displayName,
25307
+ dstChain?.displayName
25308
+ ]);
25309
+ return /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)("div", { className: "flex flex-col gap-8 text-t_text_primary", children: [
25310
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)("div", { className: "flex flex-col gap-2", children: [
25311
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)("div", { className: "flex items-center gap-3", children: [
25312
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("div", { className: "text-2xl font-medium leading-8 tracking-[0.01em]", children: failed ? "Transaction Error" : partiallyFailed ? "Partially Completed" : "Transaction Success" }),
25313
+ failed ? /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(ErrorCircleThinIcon, { className: "w-6 h-6 shrink-0 text-[#F44336]" }) : partiallyFailed ? /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(ErrorCircleThinIcon, { className: "w-6 h-6 shrink-0 text-t_warning_light" }) : /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(CheckCircleThinIcon, { className: "w-6 h-6 shrink-0 text-[#6AE89B]" })
25314
+ ] }),
25315
+ txError ? /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("div", { className: "text-sm leading-5 tracking-[0.01em] text-t_text_primary text-opacity-50", children: txError }) : !txMsg && !!note && /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("div", { className: "text-sm leading-5 tracking-[0.01em] text-t_text_primary text-opacity-50", children: note })
25316
+ ] }),
25317
+ !txMsg && /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(TokenTiles, {}),
25318
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("div", { className: "h-px w-full gradient-sections-separator-container" }),
25319
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
25320
+ "button",
25321
+ {
25322
+ type: "button",
25323
+ onClick: onCloseClick,
25324
+ className: "w-full px-6 py-3 rounded-lg border-none cursor-pointer bg-t_bg_tertiary bg-opacity-5 text-sm font-medium leading-6 tracking-[0.01em] text-t_text_primary text-opacity-80 hover:bg-opacity-10 transition-colors",
25325
+ children: "Continue"
25326
+ }
25327
+ ),
25328
+ !txMsg && !txError && /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)("div", { className: "w-full flex gap-3 items-center", children: [
25329
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(
25330
+ "a",
25331
+ {
25332
+ href: txExplorerUrl,
25333
+ target: "_blank",
25334
+ rel: "noreferrer",
25335
+ className: "flex items-center gap-1.5 text-sm text-t_text_primary text-opacity-25 hover:text-opacity-50 transition-colors",
25336
+ children: [
25337
+ "View On Explorer",
25338
+ " ",
25339
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("div", { className: "w-6 h-6 bg-t_bg_tertiary bg-opacity-5 rounded-[4px] flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(RedirectThinIcon, { className: "w-3 h-3" }) })
25340
+ ]
25341
+ }
25342
+ ),
25343
+ targetExplorerUrl && /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(
25344
+ "a",
25345
+ {
25346
+ href: targetExplorerUrl,
25347
+ target: "_blank",
25348
+ rel: "noreferrer",
25349
+ className: "flex items-center gap-1.5 text-sm text-t_text_primary text-opacity-25 hover:text-opacity-50 transition-colors",
25350
+ children: [
25351
+ "View Delivery",
25352
+ " ",
25353
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("div", { className: "w-6 h-6 bg-t_bg_tertiary bg-opacity-5 rounded-[4px] flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(RedirectThinIcon, { className: "w-3 h-3" }) })
25354
+ ]
25355
+ }
25356
+ ),
25357
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("div", { className: "flex-1 h-px bg-t_text_primary bg-opacity-10" })
25358
+ ] })
25359
+ ] });
25360
+ };
25361
+
25362
+ // src/components/Swap/SwapView/ConfirmationView/index.tsx
25363
+ var import_jsx_runtime87 = require("react/jsx-runtime");
25364
+ var ConfirmationView = ({ onCloseClick, delivery }) => {
25133
25365
  const { txStatus, txError } = useTxUIWrapper();
25134
- return txStatus === 5 /* COMPLETED */ || txError ? /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(TxResult, { onCloseClick }) : /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(TxOverview, { onCloseClick });
25366
+ if (txError) {
25367
+ return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(TxResult, { onCloseClick, delivery });
25368
+ }
25369
+ if (txStatus !== 5 /* COMPLETED */) {
25370
+ return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(TxOverview, { onCloseClick });
25371
+ }
25372
+ return delivery.isPolling ? /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(TxProgress, { onCloseClick, delivery }) : /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(TxResult, { onCloseClick, delivery });
25135
25373
  };
25136
25374
 
25137
25375
  // src/context/TxUIWrapper.tsx
25138
25376
  var import_notistack3 = require("notistack");
25139
- var import_react20 = require("react");
25140
- var import_jsx_runtime87 = require("react/jsx-runtime");
25141
- var TxUIWrapperContext = (0, import_react20.createContext)({});
25377
+ var import_react23 = require("react");
25378
+ var import_jsx_runtime88 = require("react/jsx-runtime");
25379
+ var TxUIWrapperContext = (0, import_react23.createContext)({});
25142
25380
  var TxUIWrapper = ({ children }) => {
25143
25381
  const { evm, solana } = useWallet();
25144
25382
  const { chainId } = evm;
25145
25383
  const { chainId: solanaChainId } = solana;
25146
25384
  const { enqueueTransaction: nativeEnqueueTransaction } = useTransaction();
25147
25385
  const { enqueueSnackbar, closeSnackbar } = (0, import_notistack3.useSnackbar)();
25148
- const [currentNetwork, setCurrentNetwork] = (0, import_react20.useState)("evm" /* EVM */);
25149
- const isTxModalOpenRef = (0, import_react20.useRef)(false);
25150
- const [isTxModalOpen, setTxModalOpen] = (0, import_react20.useState)(false);
25151
- const [txHash, setTxHash] = (0, import_react20.useState)("");
25152
- const txKey = (0, import_react20.useRef)();
25153
- const [txError, setTxError] = (0, import_react20.useState)("");
25154
- const [txMsg, setTxMsg] = (0, import_react20.useState)("");
25155
- const [txReceipt, setTxReceipt] = (0, import_react20.useState)(
25386
+ const [currentNetwork, setCurrentNetwork] = (0, import_react23.useState)("evm" /* EVM */);
25387
+ const isTxModalOpenRef = (0, import_react23.useRef)(false);
25388
+ const [isTxModalOpen, setTxModalOpen] = (0, import_react23.useState)(false);
25389
+ const [txHash, setTxHash] = (0, import_react23.useState)("");
25390
+ const txKey = (0, import_react23.useRef)();
25391
+ const [txError, setTxError] = (0, import_react23.useState)("");
25392
+ const [txMsg, setTxMsg] = (0, import_react23.useState)("");
25393
+ const [txReceipt, setTxReceipt] = (0, import_react23.useState)(
25156
25394
  void 0
25157
25395
  );
25158
- const [loading, setLoading] = (0, import_react20.useState)(false);
25159
- const [txNeedsApproval, setTxNeedsApproval] = (0, import_react20.useState)(false);
25160
- const [txStatus, setTxStatus] = (0, import_react20.useState)(0 /* SWAP_INIT */);
25161
- const { supportedChains, setSrcValue } = useSwapContext();
25396
+ const [loading, setLoading] = (0, import_react23.useState)(false);
25397
+ const [txNeedsApproval, setTxNeedsApproval] = (0, import_react23.useState)(false);
25398
+ const [txStatus, setTxStatus] = (0, import_react23.useState)(0 /* SWAP_INIT */);
25399
+ const { supportedChains, setSrcValue, srcChain, dstChain } = useSwapContext();
25400
+ const isCrossChainSwap = !!srcChain && !!dstChain && srcChain.chainId !== dstChain.chainId;
25401
+ const delivery = useCrossChainDelivery({
25402
+ enabled: txStatus === 5 /* COMPLETED */ && !txError && // Only while the modal is up: the chains below are the ones currently
25403
+ // selected, and the user is free to pick different ones the moment they close
25404
+ // it. An unclaimed CCTP transfer is the executor's and the sweep's job from
25405
+ // there on, not this poll's.
25406
+ isTxModalOpen && // A custom message means the modal is running a standalone transaction
25407
+ // (an approval reset, say), not a swap with a destination leg.
25408
+ !txMsg && isCrossChainSwap && // The status endpoint reads an EVM receipt; a Solana source has none.
25409
+ srcChain?.ecosystem === "evm" /* EVM */,
25410
+ chainId: srcChain?.chainId,
25411
+ txHash,
25412
+ walletAddress: evm.address
25413
+ });
25162
25414
  const closeTransactionModal = (transactionKey) => {
25163
25415
  if (txKey.current === transactionKey) {
25164
25416
  isTxModalOpenRef.current = false;
25165
25417
  setTxModalOpen(false);
25166
25418
  }
25167
25419
  };
25168
- (0, import_react20.useEffect)(() => {
25420
+ (0, import_react23.useEffect)(() => {
25169
25421
  if (!isTxModalOpen) {
25170
25422
  if (txError) {
25171
25423
  enqueueSnackbar(
25172
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
25424
+ /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
25173
25425
  SnackMessage,
25174
25426
  {
25175
25427
  message: {
@@ -25185,14 +25437,14 @@ var TxUIWrapper = ({ children }) => {
25185
25437
  if (txHash) {
25186
25438
  const snackbarKey = txHash;
25187
25439
  enqueueSnackbar(
25188
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
25440
+ /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
25189
25441
  SnackMessage,
25190
25442
  {
25191
25443
  message: {
25192
25444
  text: `Transaction ${trimTxHash(txHash)} is about to be mined!`,
25193
25445
  variant: "warning",
25194
- action: () => /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("div", { className: "flex items-center flex-nowrap", children: [
25195
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
25446
+ action: () => /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)("div", { className: "flex items-center flex-nowrap", children: [
25447
+ /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
25196
25448
  Button,
25197
25449
  {
25198
25450
  type: "button",
@@ -25206,16 +25458,16 @@ var TxUIWrapper = ({ children }) => {
25206
25458
  children: "Check"
25207
25459
  }
25208
25460
  ),
25209
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
25461
+ /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
25210
25462
  "div",
25211
25463
  {
25212
25464
  className: "fill-t_text_primary text-t_text_primary w-[14px] h-[14px] cursor-pointer p-[14px] leading-[0px]",
25213
25465
  onClick: () => closeSnackbar(snackbarKey),
25214
- children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(CloseIcon, {})
25466
+ children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(CloseIcon, {})
25215
25467
  }
25216
25468
  )
25217
25469
  ] }),
25218
- animation: () => /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(Spinner, { className: "w-4 h-4" })
25470
+ animation: () => /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(Spinner, { className: "w-4 h-4" })
25219
25471
  }
25220
25472
  }
25221
25473
  ),
@@ -25236,7 +25488,7 @@ var TxUIWrapper = ({ children }) => {
25236
25488
  isTxModalOpen,
25237
25489
  supportedChains
25238
25490
  ]);
25239
- const getTxExplorerUrl = (0, import_react20.useCallback)(
25491
+ const getTxExplorerUrl = (0, import_react23.useCallback)(
25240
25492
  (txHash2, txExplorer, txReceipt2) => {
25241
25493
  const defaultUrl = `${txExplorer}/${txHash2}`;
25242
25494
  if (!txReceipt2) {
@@ -25255,7 +25507,7 @@ var TxUIWrapper = ({ children }) => {
25255
25507
  },
25256
25508
  []
25257
25509
  );
25258
- const addUILogicToHandlersEVM = (0, import_react20.useCallback)(
25510
+ const addUILogicToHandlersEVM = (0, import_react23.useCallback)(
25259
25511
  (currentKey, handlers, showDefaultSuccessMessage = true) => {
25260
25512
  const newHandlers = { ...handlers };
25261
25513
  newHandlers.onConfirm = (tx) => {
@@ -25283,14 +25535,14 @@ var TxUIWrapper = ({ children }) => {
25283
25535
  }
25284
25536
  const snackbarKey = `${txHash}-success`;
25285
25537
  enqueueSnackbar(
25286
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
25538
+ /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
25287
25539
  SnackMessage,
25288
25540
  {
25289
25541
  message: {
25290
25542
  text: `Transaction mined successfully!`,
25291
25543
  variant: "success",
25292
- action: () => /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("div", { className: "flex items-center flex-nowrap", children: [
25293
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
25544
+ action: () => /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)("div", { className: "flex items-center flex-nowrap", children: [
25545
+ /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
25294
25546
  Button,
25295
25547
  {
25296
25548
  type: "button",
@@ -25308,12 +25560,12 @@ var TxUIWrapper = ({ children }) => {
25308
25560
  children: "View"
25309
25561
  }
25310
25562
  ),
25311
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
25563
+ /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
25312
25564
  "div",
25313
25565
  {
25314
25566
  className: "fill-t_text_primary text-t_text_primary w-[14px] h-[14px] cursor-pointer p-[14px] leading-[0px]",
25315
25567
  onClick: () => closeSnackbar(snackbarKey),
25316
- children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(CloseIcon, {})
25568
+ children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(CloseIcon, {})
25317
25569
  }
25318
25570
  )
25319
25571
  ] })
@@ -25342,7 +25594,7 @@ var TxUIWrapper = ({ children }) => {
25342
25594
  currentNetwork
25343
25595
  ]
25344
25596
  );
25345
- const addUILogicToHandlersSolana = (0, import_react20.useCallback)(
25597
+ const addUILogicToHandlersSolana = (0, import_react23.useCallback)(
25346
25598
  (currentKey, handlers, showDefaultSuccessMessage = true) => {
25347
25599
  const newHandlers = { ...handlers };
25348
25600
  newHandlers.onConfirm = (signedTransaction) => {
@@ -25369,14 +25621,14 @@ var TxUIWrapper = ({ children }) => {
25369
25621
  }
25370
25622
  const snackbarKey = `${txHash}-success`;
25371
25623
  enqueueSnackbar(
25372
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
25624
+ /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
25373
25625
  SnackMessage,
25374
25626
  {
25375
25627
  message: {
25376
25628
  text: `Transaction mined successfully!`,
25377
25629
  variant: "success",
25378
- action: () => /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("div", { className: "flex items-center flex-nowrap", children: [
25379
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
25630
+ action: () => /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)("div", { className: "flex items-center flex-nowrap", children: [
25631
+ /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
25380
25632
  Button,
25381
25633
  {
25382
25634
  type: "button",
@@ -25393,12 +25645,12 @@ var TxUIWrapper = ({ children }) => {
25393
25645
  children: "View"
25394
25646
  }
25395
25647
  ),
25396
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
25648
+ /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
25397
25649
  "div",
25398
25650
  {
25399
25651
  className: "fill-t_text_primary text-t_text_primary w-[14px] h-[14px] cursor-pointer p-[14px] leading-[0px]",
25400
25652
  onClick: () => closeSnackbar(snackbarKey),
25401
- children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(CloseIcon, {})
25653
+ children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(CloseIcon, {})
25402
25654
  }
25403
25655
  )
25404
25656
  ] })
@@ -25427,7 +25679,7 @@ var TxUIWrapper = ({ children }) => {
25427
25679
  currentNetwork
25428
25680
  ]
25429
25681
  );
25430
- const enqueueTransaction = (0, import_react20.useCallback)(
25682
+ const enqueueTransaction = (0, import_react23.useCallback)(
25431
25683
  ({
25432
25684
  executeTransaction,
25433
25685
  txStatus: txStatus2,
@@ -25475,7 +25727,7 @@ var TxUIWrapper = ({ children }) => {
25475
25727
  nativeEnqueueTransaction
25476
25728
  ]
25477
25729
  );
25478
- const txExplorerUrl = (0, import_react20.useMemo)(() => {
25730
+ const txExplorerUrl = (0, import_react23.useMemo)(() => {
25479
25731
  return getTxExplorerUrl(
25480
25732
  txHash,
25481
25733
  supportedChains.find(
@@ -25492,15 +25744,15 @@ var TxUIWrapper = ({ children }) => {
25492
25744
  txHash,
25493
25745
  txReceipt
25494
25746
  ]);
25495
- const setModalOpen = (0, import_react20.useCallback)((flag) => {
25747
+ const setModalOpen = (0, import_react23.useCallback)((flag) => {
25496
25748
  setTxModalOpen(flag);
25497
25749
  isTxModalOpenRef.current = flag;
25498
25750
  }, []);
25499
- const modalType = (0, import_react20.useMemo)(
25500
- () => txError ? "error" : txStatus === 5 /* COMPLETED */ ? "success" : "neutral",
25501
- [txError, txStatus]
25751
+ const modalType = (0, import_react23.useMemo)(
25752
+ () => txError ? "error" : delivery.isPolling ? "waiting" : txStatus === 5 /* COMPLETED */ ? "success" : "neutral",
25753
+ [txError, txStatus, delivery.isPolling]
25502
25754
  );
25503
- const state = (0, import_react20.useMemo)(
25755
+ const state = (0, import_react23.useMemo)(
25504
25756
  () => ({
25505
25757
  enqueueTransaction,
25506
25758
  closeTransactionModal,
@@ -25530,49 +25782,49 @@ var TxUIWrapper = ({ children }) => {
25530
25782
  txNeedsApproval
25531
25783
  ]
25532
25784
  );
25533
- const closeTxModal = (0, import_react20.useCallback)(() => {
25785
+ const closeTxModal = (0, import_react23.useCallback)(() => {
25534
25786
  setTxError("");
25535
25787
  setSrcValue("");
25536
25788
  setModalOpen(false);
25537
25789
  }, [setTxError, setSrcValue, setModalOpen]);
25538
- return /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(TxUIWrapperContext.Provider, { value: state, children: [
25539
- isTxModalOpen && /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
25790
+ return /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(TxUIWrapperContext.Provider, { value: state, children: [
25791
+ isTxModalOpen && /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
25540
25792
  TxModal,
25541
25793
  {
25542
25794
  id: "tx_modal",
25543
25795
  type: modalType,
25544
25796
  onCloseClick: closeTxModal,
25545
- children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(ConfirmationView, { onCloseClick: closeTxModal })
25797
+ children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(ConfirmationView, { onCloseClick: closeTxModal, delivery })
25546
25798
  }
25547
25799
  ),
25548
25800
  children
25549
25801
  ] });
25550
25802
  };
25551
25803
  function useTxUIWrapper() {
25552
- return (0, import_react20.useContext)(TxUIWrapperContext);
25804
+ return (0, import_react23.useContext)(TxUIWrapperContext);
25553
25805
  }
25554
25806
 
25555
25807
  // src/components/Modal/index.tsx
25556
- var import_jsx_runtime88 = require("react/jsx-runtime");
25808
+ var import_jsx_runtime89 = require("react/jsx-runtime");
25557
25809
 
25558
25810
  // src/components/PoweredBy/index.tsx
25559
- var import_jsx_runtime89 = require("react/jsx-runtime");
25811
+ var import_jsx_runtime90 = require("react/jsx-runtime");
25560
25812
  var PoweredBy = () => {
25561
- return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("div", { className: "flex justify-end items-center", children: /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)("div", { className: "flex items-center gap-2.5 px-3 py-2 rounded-lg bg-gradient-to-r from-t_bg_tertiary/0 to-t_bg_tertiary/5", children: [
25562
- /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("div", { className: "flex items-center [&_svg]:h-5 [&_svg]:w-auto", children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(ChainlinkMarkIcon, {}) }),
25563
- /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)("p", { className: "text-xs whitespace-nowrap leading-5 tracking-[0.015em]", children: [
25564
- /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("span", { className: "text-t_text_primary text-opacity-70", children: `POWERED BY ` }),
25565
- /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("span", { className: "text-t_text_primary", children: "CCIP." })
25813
+ return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("div", { className: "flex justify-end items-center", children: /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)("div", { className: "flex items-center gap-2.5 px-3 py-2 rounded-lg bg-gradient-to-r from-t_bg_tertiary/0 to-t_bg_tertiary/5", children: [
25814
+ /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("div", { className: "flex items-center [&_svg]:h-5 [&_svg]:w-auto", children: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(ChainlinkMarkIcon, {}) }),
25815
+ /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)("p", { className: "text-xs whitespace-nowrap leading-5 tracking-[0.015em]", children: [
25816
+ /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("span", { className: "text-t_text_primary text-opacity-70", children: `POWERED BY ` }),
25817
+ /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("span", { className: "text-t_text_primary", children: "CCIP." })
25566
25818
  ] })
25567
25819
  ] }) });
25568
25820
  };
25569
25821
 
25570
25822
  // src/components/SafeInput/index.tsx
25571
- var import_react21 = require("react");
25572
- var import_jsx_runtime90 = require("react/jsx-runtime");
25573
- var SafeInput = (0, import_react21.forwardRef)(({ value, onChange, id: id2, placeholder, regex, className, disabled }, ref) => {
25574
- const size = (0, import_react21.useMemo)(() => value.length < 2 ? 2 : value.length, [value]);
25575
- const handleChange = (0, import_react21.useCallback)(
25823
+ var import_react24 = require("react");
25824
+ var import_jsx_runtime91 = require("react/jsx-runtime");
25825
+ var SafeInput = (0, import_react24.forwardRef)(({ value, onChange, id: id2, placeholder, regex, className, disabled }, ref) => {
25826
+ const size = (0, import_react24.useMemo)(() => value.length < 2 ? 2 : value.length, [value]);
25827
+ const handleChange = (0, import_react24.useCallback)(
25576
25828
  (e) => {
25577
25829
  if (e.target.value === ".") {
25578
25830
  return;
@@ -25583,7 +25835,7 @@ var SafeInput = (0, import_react21.forwardRef)(({ value, onChange, id: id2, plac
25583
25835
  },
25584
25836
  [onChange, regex, id2]
25585
25837
  );
25586
- return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
25838
+ return /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
25587
25839
  "input",
25588
25840
  {
25589
25841
  ref,
@@ -25606,9 +25858,9 @@ var SafeInput = (0, import_react21.forwardRef)(({ value, onChange, id: id2, plac
25606
25858
  SafeInput.displayName = "SafeInput";
25607
25859
 
25608
25860
  // src/components/Skeleton/index.tsx
25609
- var import_jsx_runtime91 = require("react/jsx-runtime");
25861
+ var import_jsx_runtime92 = require("react/jsx-runtime");
25610
25862
  var Skeleton = ({ className }) => {
25611
- return /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
25863
+ return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
25612
25864
  "div",
25613
25865
  {
25614
25866
  className: `bg-t_bg_tertiary bg-opacity-15 rounded animate-pulse ${className || ""}`
@@ -25617,9 +25869,9 @@ var Skeleton = ({ className }) => {
25617
25869
  };
25618
25870
 
25619
25871
  // src/components/Spinner/index.tsx
25620
- var import_jsx_runtime92 = require("react/jsx-runtime");
25872
+ var import_jsx_runtime93 = require("react/jsx-runtime");
25621
25873
  var Spinner = ({ className }) => {
25622
- return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("div", { role: "status", className: className || "", children: /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(
25874
+ return /* @__PURE__ */ (0, import_jsx_runtime93.jsx)("div", { role: "status", className: className || "", children: /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(
25623
25875
  "svg",
25624
25876
  {
25625
25877
  "aria-hidden": "true",
@@ -25628,14 +25880,14 @@ var Spinner = ({ className }) => {
25628
25880
  fill: "none",
25629
25881
  xmlns: "http://www.w3.org/2000/svg",
25630
25882
  children: [
25631
- /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
25883
+ /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
25632
25884
  "path",
25633
25885
  {
25634
25886
  d: "M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",
25635
25887
  fill: "currentColor"
25636
25888
  }
25637
25889
  ),
25638
- /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
25890
+ /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
25639
25891
  "path",
25640
25892
  {
25641
25893
  d: "M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",
@@ -25648,11 +25900,11 @@ var Spinner = ({ className }) => {
25648
25900
  };
25649
25901
 
25650
25902
  // src/components/Swap/index.tsx
25651
- var import_react41 = require("react");
25903
+ var import_react44 = require("react");
25652
25904
 
25653
25905
  // src/components/Swap/Header/Controls/index.tsx
25654
- var import_jsx_runtime93 = require("react/jsx-runtime");
25655
- var HeaderIconButton = ({ onClick, label, children }) => /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
25906
+ var import_jsx_runtime94 = require("react/jsx-runtime");
25907
+ var HeaderIconButton = ({ onClick, label, children }) => /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
25656
25908
  "button",
25657
25909
  {
25658
25910
  type: "button",
@@ -25664,63 +25916,63 @@ var HeaderIconButton = ({ onClick, label, children }) => /* @__PURE__ */ (0, imp
25664
25916
  );
25665
25917
  var Controls = ({ onClose }) => {
25666
25918
  const { tab, setTab, overlay } = useSwapContext();
25667
- return /* @__PURE__ */ (0, import_jsx_runtime93.jsx)("div", { className: "flex gap-2 items-center", children: tab === "Swap" ? /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_jsx_runtime93.Fragment, { children: [
25668
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
25919
+ return /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { className: "flex gap-2 items-center", children: tab === "Swap" ? /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(import_jsx_runtime94.Fragment, { children: [
25920
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
25669
25921
  HeaderIconButton,
25670
25922
  {
25671
25923
  onClick: () => setTab("Settings"),
25672
25924
  label: "Open preferences",
25673
- children: /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(AdjustmentsIcon, { className: "w-4 h-4 opacity-50" })
25925
+ children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(AdjustmentsIcon, { className: "w-4 h-4 opacity-50" })
25674
25926
  }
25675
25927
  ),
25676
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
25928
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
25677
25929
  HeaderIconButton,
25678
25930
  {
25679
25931
  onClick: () => setTab("History"),
25680
25932
  label: "Open activity",
25681
- children: /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(ClockIcon, { className: "w-4 h-4 opacity-50" })
25933
+ children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(ClockIcon, { className: "w-4 h-4 opacity-50" })
25682
25934
  }
25683
25935
  ),
25684
- overlay && /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(HeaderIconButton, { onClick: onClose, label: "Close", children: /* @__PURE__ */ (0, import_jsx_runtime93.jsx)("div", { className: "w-4 h-4 opacity-50 fill-t_text_primary flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(CloseIcon, {}) }) })
25685
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_jsx_runtime93.Fragment, { children: [
25686
- tab === "Settings" && /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
25936
+ overlay && /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(HeaderIconButton, { onClick: onClose, label: "Close", children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { className: "w-4 h-4 opacity-50 fill-t_text_primary flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(CloseIcon, {}) }) })
25937
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(import_jsx_runtime94.Fragment, { children: [
25938
+ tab === "Settings" && /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
25687
25939
  HeaderIconButton,
25688
25940
  {
25689
25941
  onClick: () => setTab("Settings"),
25690
25942
  label: "Preferences",
25691
- children: /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(AdjustmentsIcon, { className: "w-4 h-4 opacity-50" })
25943
+ children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(AdjustmentsIcon, { className: "w-4 h-4 opacity-50" })
25692
25944
  }
25693
25945
  ),
25694
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
25946
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
25695
25947
  HeaderIconButton,
25696
25948
  {
25697
25949
  onClick: () => setTab("Swap"),
25698
25950
  label: "Back to swap",
25699
- children: /* @__PURE__ */ (0, import_jsx_runtime93.jsx)("div", { className: "w-4 h-4 opacity-50 fill-t_text_primary flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(CloseIcon, {}) })
25951
+ children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { className: "w-4 h-4 opacity-50 fill-t_text_primary flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(CloseIcon, {}) })
25700
25952
  }
25701
25953
  )
25702
25954
  ] }) });
25703
25955
  };
25704
25956
 
25705
25957
  // src/components/Swap/Header/index.tsx
25706
- var import_jsx_runtime94 = require("react/jsx-runtime");
25958
+ var import_jsx_runtime95 = require("react/jsx-runtime");
25707
25959
  var Header2 = ({ onClose }) => {
25708
25960
  const { tab, integrationConfig, bridgeUI } = useSwapContext();
25709
25961
  const title = tab === "Settings" ? "Preferences" : tab === "History" ? "My Activity" : integrationConfig.widgetTitle || (bridgeUI ? "Bridge" : "Swap");
25710
- return /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: "flex justify-between items-center", children: [
25711
- /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { className: "text-2xl font-medium leading-8 tracking-[0.01em]", children: title }),
25712
- /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(Controls, { onClose })
25962
+ return /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: "flex justify-between items-center", children: [
25963
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("div", { className: "text-2xl font-medium leading-8 tracking-[0.01em]", children: title }),
25964
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Controls, { onClose })
25713
25965
  ] });
25714
25966
  };
25715
25967
 
25716
25968
  // src/components/Swap/HistoryView/index.tsx
25717
- var import_react23 = require("react");
25969
+ var import_react26 = require("react");
25718
25970
  var import_react_virtuoso = require("react-virtuoso");
25719
25971
 
25720
25972
  // src/components/Swap/HistoryView/ActivityCard/index.tsx
25721
25973
  var import_date_fns2 = require("date-fns");
25722
- var import_react22 = require("react");
25723
- var import_jsx_runtime95 = require("react/jsx-runtime");
25974
+ var import_react25 = require("react");
25975
+ var import_jsx_runtime96 = require("react/jsx-runtime");
25724
25976
  var ActivityCard = ({ transaction }) => {
25725
25977
  const { supportedChains, findTokenDataByAddressAndChain, tokenPrices } = useSwapContext();
25726
25978
  const { evm, solana } = useWallet();
@@ -25743,7 +25995,7 @@ var ActivityCard = ({ transaction }) => {
25743
25995
  const date = (0, import_date_fns2.format)(txDate, "dd.MM.yyyy");
25744
25996
  const time = (0, import_date_fns2.format)(txDate, "hh.mmaa");
25745
25997
  const receivedToken = dstToken || srcToken;
25746
- const amount = (0, import_react22.useMemo)(() => {
25998
+ const amount = (0, import_react25.useMemo)(() => {
25747
25999
  if (transaction.tokenOutAmount && dstToken) {
25748
26000
  return weiToHumanReadable({
25749
26001
  amount: transaction.tokenOutAmount,
@@ -25757,7 +26009,7 @@ var ActivityCard = ({ transaction }) => {
25757
26009
  precisionFractionalPlaces: 4
25758
26010
  });
25759
26011
  }, [transaction, srcToken, dstToken]);
25760
- const amountUsd = (0, import_react22.useMemo)(() => {
26012
+ const amountUsd = (0, import_react25.useMemo)(() => {
25761
26013
  const token = dstToken || srcToken;
25762
26014
  const chainId = dstToken ? transaction.targetChainId : transaction.sourceChainId;
25763
26015
  if (!token) return null;
@@ -25769,19 +26021,19 @@ var ActivityCard = ({ transaction }) => {
25769
26021
  (chain) => chain.chainId === transaction.sourceChainId
25770
26022
  )?.transactionExplorer}/${transaction.hash}`;
25771
26023
  const destinationChain = dstChain || srcChain;
25772
- return /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("div", { className: "pb-2", children: /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: "flex flex-col gap-4 p-4 rounded-2xl bg-t_bg_tertiary bg-opacity-[0.03]", children: [
25773
- /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: "flex items-center justify-between gap-2", children: [
25774
- /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: "flex items-center gap-2 px-3 py-2 rounded-md bg-t_bg_tertiary bg-opacity-[0.03]", children: [
25775
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("span", { className: "text-xs leading-[18px] tracking-[0.01em] text-t_text_primary text-opacity-50 whitespace-nowrap", children: date }),
25776
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("span", { className: "w-0.5 h-0.5 shrink-0 bg-t_text_primary opacity-25" }),
25777
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("span", { className: "text-xs leading-[18px] tracking-[0.01em] text-t_text_primary text-opacity-50 whitespace-nowrap", children: time })
26024
+ return /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { className: "pb-2", children: /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: "flex flex-col gap-4 p-4 rounded-2xl bg-t_bg_tertiary bg-opacity-[0.03]", children: [
26025
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: "flex items-center justify-between gap-2", children: [
26026
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: "flex items-center gap-2 px-3 py-2 rounded-md bg-t_bg_tertiary bg-opacity-[0.03]", children: [
26027
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("span", { className: "text-xs leading-[18px] tracking-[0.01em] text-t_text_primary text-opacity-50 whitespace-nowrap", children: date }),
26028
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("span", { className: "w-0.5 h-0.5 shrink-0 bg-t_text_primary opacity-25" }),
26029
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("span", { className: "text-xs leading-[18px] tracking-[0.01em] text-t_text_primary text-opacity-50 whitespace-nowrap", children: time })
25778
26030
  ] }),
25779
- /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: "flex items-center gap-2", children: [
25780
- transaction.status === "IN_PROGRESS" ? /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: "flex items-center gap-2 px-3 py-2 rounded-md bg-t_text_orange bg-opacity-[0.07] text-t_text_orange", children: [
25781
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(LoadingRingIcon, { className: "w-4 h-4 shrink-0 animate-spin" }),
25782
- /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("p", { className: "text-xs leading-[18px] whitespace-nowrap", children: [
26031
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: "flex items-center gap-2", children: [
26032
+ transaction.status === "IN_PROGRESS" ? /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: "flex items-center gap-2 px-3 py-2 rounded-md bg-t_text_orange bg-opacity-[0.07] text-t_text_orange", children: [
26033
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(LoadingRingIcon, { className: "w-4 h-4 shrink-0 animate-spin" }),
26034
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("p", { className: "text-xs leading-[18px] whitespace-nowrap", children: [
25783
26035
  `Est. Time `,
25784
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
26036
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
25785
26037
  Timer,
25786
26038
  {
25787
26039
  displayFormat: 0 /* Minutes */,
@@ -25790,8 +26042,8 @@ var ActivityCard = ({ transaction }) => {
25790
26042
  }
25791
26043
  )
25792
26044
  ] })
25793
- ] }) : transaction.status === "DONE" ? /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("div", { className: "flex items-center px-3 py-2 rounded-md bg-t_text_green bg-opacity-5", children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("p", { className: "text-xs leading-[18px] whitespace-nowrap text-t_text_green text-opacity-80", children: "Done" }) }) : transaction.status === "REVERTED" ? /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("div", { className: "flex items-center px-3 py-2 rounded-md bg-t_bg_tertiary bg-opacity-[0.03]", children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("p", { className: "text-xs leading-[18px] whitespace-nowrap text-t_text_primary text-opacity-50", children: "Reverted" }) }) : null,
25794
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
26045
+ ] }) : transaction.status === "DONE" ? /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { className: "flex items-center px-3 py-2 rounded-md bg-t_text_green bg-opacity-5", children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("p", { className: "text-xs leading-[18px] whitespace-nowrap text-t_text_green text-opacity-80", children: "Done" }) }) : transaction.status === "REVERTED" ? /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { className: "flex items-center px-3 py-2 rounded-md bg-t_bg_tertiary bg-opacity-[0.03]", children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("p", { className: "text-xs leading-[18px] whitespace-nowrap text-t_text_primary text-opacity-50", children: "Reverted" }) }) : null,
26046
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
25795
26047
  "a",
25796
26048
  {
25797
26049
  href: explorerUrl,
@@ -25799,14 +26051,14 @@ var ActivityCard = ({ transaction }) => {
25799
26051
  rel: "noreferrer",
25800
26052
  className: "flex items-center justify-center w-[34px] h-[34px] shrink-0 rounded-md bg-t_bg_tertiary bg-opacity-5 no-underline text-t_text_primary hover:bg-opacity-10 transition-colors",
25801
26053
  "aria-label": "Show the transaction in the chain explorer",
25802
- children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(LinkExternalThinIcon, { className: "w-3 h-3 opacity-50" })
26054
+ children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(LinkExternalThinIcon, { className: "w-3 h-3 opacity-50" })
25803
26055
  }
25804
26056
  )
25805
26057
  ] })
25806
26058
  ] }),
25807
- /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: "flex items-center gap-3", children: [
25808
- /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: "flex items-center shrink-0", children: [
25809
- dstToken && /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("div", { className: "-mr-2", children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
26059
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: "flex items-center gap-3", children: [
26060
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: "flex items-center shrink-0", children: [
26061
+ dstToken && /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { className: "-mr-2", children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
25810
26062
  TokenLogoWithChain,
25811
26063
  {
25812
26064
  token: srcToken,
@@ -25816,7 +26068,7 @@ var ActivityCard = ({ transaction }) => {
25816
26068
  chainLogoClassName: "w-[18px]"
25817
26069
  }
25818
26070
  ) }),
25819
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
26071
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
25820
26072
  TokenLogoWithChain,
25821
26073
  {
25822
26074
  token: receivedToken,
@@ -25827,26 +26079,26 @@ var ActivityCard = ({ transaction }) => {
25827
26079
  }
25828
26080
  )
25829
26081
  ] }),
25830
- /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: "flex justify-between items-center gap-2 w-full min-w-0", children: [
25831
- /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: "flex flex-col gap-0.5 text-left min-w-0", children: [
25832
- /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: "flex items-center gap-2 text-sm font-medium leading-5 tracking-[0.01em] text-t_text_primary", children: [
25833
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("span", { children: srcToken?.symbol || "?" }),
25834
- dstToken && /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_jsx_runtime95.Fragment, { children: [
25835
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(ChevronRightThinIcon, { className: "shrink-0 opacity-50" }),
25836
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("span", { className: "truncate", children: dstToken.symbol })
26082
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: "flex justify-between items-center gap-2 w-full min-w-0", children: [
26083
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: "flex flex-col gap-0.5 text-left min-w-0", children: [
26084
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: "flex items-center gap-2 text-sm font-medium leading-5 tracking-[0.01em] text-t_text_primary", children: [
26085
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("span", { children: srcToken?.symbol || "?" }),
26086
+ dstToken && /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(import_jsx_runtime96.Fragment, { children: [
26087
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(ChevronRightThinIcon, { className: "shrink-0 opacity-50" }),
26088
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("span", { className: "truncate", children: dstToken.symbol })
25837
26089
  ] })
25838
26090
  ] }),
25839
- /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: "flex items-center gap-2 text-xs leading-[18px] tracking-[0.01em] text-t_text_primary text-opacity-50 min-w-0", children: [
25840
- destinationChain && /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_jsx_runtime95.Fragment, { children: [
25841
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("span", { className: "whitespace-nowrap truncate", children: `Destination ${destinationChain.displayName || destinationChain.name}` }),
25842
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("span", { className: "w-0.5 h-0.5 shrink-0 bg-t_text_primary opacity-25" })
26091
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: "flex items-center gap-2 text-xs leading-[18px] tracking-[0.01em] text-t_text_primary text-opacity-50 min-w-0", children: [
26092
+ destinationChain && /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(import_jsx_runtime96.Fragment, { children: [
26093
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("span", { className: "whitespace-nowrap truncate", children: `Destination ${destinationChain.displayName || destinationChain.name}` }),
26094
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("span", { className: "w-0.5 h-0.5 shrink-0 bg-t_text_primary opacity-25" })
25843
26095
  ] }),
25844
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("span", { className: "whitespace-nowrap", children: receiverAddress ? shortAddress(receiverAddress) : "-" })
26096
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("span", { className: "whitespace-nowrap", children: receiverAddress ? shortAddress(receiverAddress) : "-" })
25845
26097
  ] })
25846
26098
  ] }),
25847
- /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: "flex flex-col gap-0.5 text-right shrink-0", children: [
25848
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("div", { className: "text-sm font-medium leading-5 tracking-[0.01em] text-t_text_primary", children: amount }),
25849
- amountUsd && /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("div", { className: "text-xs leading-[18px] tracking-[0.01em] text-t_text_primary text-opacity-50", children: `${amountUsd} USD` })
26099
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: "flex flex-col gap-0.5 text-right shrink-0", children: [
26100
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { className: "text-sm font-medium leading-5 tracking-[0.01em] text-t_text_primary", children: amount }),
26101
+ amountUsd && /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { className: "text-xs leading-[18px] tracking-[0.01em] text-t_text_primary text-opacity-50", children: `${amountUsd} USD` })
25850
26102
  ] })
25851
26103
  ] })
25852
26104
  ] })
@@ -25854,13 +26106,13 @@ var ActivityCard = ({ transaction }) => {
25854
26106
  };
25855
26107
 
25856
26108
  // src/components/Swap/HistoryView/index.tsx
25857
- var import_jsx_runtime96 = require("react/jsx-runtime");
26109
+ var import_jsx_runtime97 = require("react/jsx-runtime");
25858
26110
  var HistoryView = () => {
25859
26111
  const { history, historyLoadedOnce, solanaHistory, solanaHistoryLoadedOnce } = useHistory();
25860
26112
  const {
25861
26113
  solana: { address: solanaAddress }
25862
26114
  } = useWallet();
25863
- const unifiedHistory = (0, import_react23.useMemo)(() => {
26115
+ const unifiedHistory = (0, import_react26.useMemo)(() => {
25864
26116
  const combinedHistory = [
25865
26117
  ...history,
25866
26118
  ...solanaAddress ? solanaHistory : []
@@ -25869,40 +26121,40 @@ var HistoryView = () => {
25869
26121
  return b.timestamp - a.timestamp;
25870
26122
  });
25871
26123
  }, [history, solanaHistory, solanaAddress]);
25872
- const view = (0, import_react23.useMemo)(() => {
26124
+ const view = (0, import_react26.useMemo)(() => {
25873
26125
  if (!unifiedHistory || unifiedHistory.length === 0) {
25874
26126
  const isHistoryLoaded = historyLoadedOnce && (solanaAddress ? solanaHistoryLoadedOnce : true);
25875
- return isHistoryLoaded ? /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: "flex flex-col items-center justify-center gap-2 h-full min-h-[320px] text-center", children: [
25876
- /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("p", { className: "text-sm font-medium text-t_text_primary", children: "Nothing here yet..." }),
25877
- /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("p", { className: "text-xs leading-[18px] text-t_text_primary text-opacity-50", children: [
26127
+ return isHistoryLoaded ? /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: "flex flex-col items-center justify-center gap-2 h-full min-h-[320px] text-center", children: [
26128
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("p", { className: "text-sm font-medium text-t_text_primary", children: "Nothing here yet..." }),
26129
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("p", { className: "text-xs leading-[18px] text-t_text_primary text-opacity-50", children: [
25878
26130
  "Your swaps will show up here",
25879
- /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("br", {}),
26131
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("br", {}),
25880
26132
  "once you make the first one."
25881
26133
  ] })
25882
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: "flex flex-col items-center justify-center gap-4 h-full min-h-[320px] text-center", children: [
25883
- /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(Spinner, { className: "w-8 h-8" }),
25884
- /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: "flex flex-col gap-1", children: [
25885
- /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("p", { className: "text-sm font-medium text-t_text_primary", children: "Where's it..." }),
25886
- /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("p", { className: "text-xs leading-[18px] text-t_text_primary text-opacity-50", children: [
26134
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: "flex flex-col items-center justify-center gap-4 h-full min-h-[320px] text-center", children: [
26135
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(Spinner, { className: "w-8 h-8" }),
26136
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: "flex flex-col gap-1", children: [
26137
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("p", { className: "text-sm font-medium text-t_text_primary", children: "Where's it..." }),
26138
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("p", { className: "text-xs leading-[18px] text-t_text_primary text-opacity-50", children: [
25887
26139
  "We crunch data for your view.",
25888
- /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("br", {}),
26140
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("br", {}),
25889
26141
  "Please wait a moment."
25890
26142
  ] })
25891
26143
  ] })
25892
26144
  ] });
25893
26145
  }
25894
- return /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: "relative h-full", children: [
25895
- /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
26146
+ return /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: "relative h-full", children: [
26147
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
25896
26148
  import_react_virtuoso.Virtuoso,
25897
26149
  {
25898
26150
  data: unifiedHistory,
25899
26151
  style: { height: "100%" },
25900
26152
  itemContent: (_, transaction) => {
25901
- return /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(ActivityCard, { transaction });
26153
+ return /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(ActivityCard, { transaction });
25902
26154
  }
25903
26155
  }
25904
26156
  ),
25905
- /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { className: "pointer-events-none absolute bottom-0 inset-x-0 h-16 bg-gradient-to-t from-t_bg_primary/[0.65] to-transparent" })
26157
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("div", { className: "pointer-events-none absolute bottom-0 inset-x-0 h-16 bg-gradient-to-t from-t_bg_primary/[0.65] to-transparent" })
25906
26158
  ] });
25907
26159
  }, [
25908
26160
  historyLoadedOnce,
@@ -25910,13 +26162,13 @@ var HistoryView = () => {
25910
26162
  unifiedHistory,
25911
26163
  solanaAddress
25912
26164
  ]);
25913
- return /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { className: "flex-1 overflow-hidden", children: view });
26165
+ return /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("div", { className: "flex-1 overflow-hidden", children: view });
25914
26166
  };
25915
26167
 
25916
26168
  // src/components/Swap/SwapView/SwapPanel/TokenPanel/ChainPicker/index.tsx
25917
- var import_react24 = require("react");
26169
+ var import_react27 = require("react");
25918
26170
  var import_react_virtuoso2 = require("react-virtuoso");
25919
- var import_jsx_runtime97 = require("react/jsx-runtime");
26171
+ var import_jsx_runtime98 = require("react/jsx-runtime");
25920
26172
  var ChainPicker = ({
25921
26173
  chains,
25922
26174
  selectedChainId,
@@ -25924,14 +26176,14 @@ var ChainPicker = ({
25924
26176
  onSelect,
25925
26177
  onClose
25926
26178
  }) => {
25927
- const [searchValue, setSearchValue] = (0, import_react24.useState)("");
25928
- const chainSearchRef = (0, import_react24.useRef)(null);
25929
- (0, import_react24.useEffect)(() => {
26179
+ const [searchValue, setSearchValue] = (0, import_react27.useState)("");
26180
+ const chainSearchRef = (0, import_react27.useRef)(null);
26181
+ (0, import_react27.useEffect)(() => {
25930
26182
  setTimeout(() => {
25931
26183
  chainSearchRef.current?.focus();
25932
26184
  }, 10);
25933
26185
  }, []);
25934
- const filteredChains = (0, import_react24.useMemo)(() => {
26186
+ const filteredChains = (0, import_react27.useMemo)(() => {
25935
26187
  if (!searchValue) return chains;
25936
26188
  const searchLower = searchValue.toLowerCase();
25937
26189
  return chains.filter(
@@ -25939,23 +26191,23 @@ var ChainPicker = ({
25939
26191
  );
25940
26192
  }, [chains, searchValue]);
25941
26193
  const requiresSourceReset = (chain) => !!chain.disabled || chain.chainId === sameChainId;
25942
- return /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(import_jsx_runtime97.Fragment, { children: [
25943
- /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: "flex justify-between items-center mb-6", children: [
25944
- /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("div", { className: "text-2xl font-medium leading-8 tracking-[0.01em] text-t_text_primary", children: "Select Network" }),
25945
- /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
26194
+ return /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(import_jsx_runtime98.Fragment, { children: [
26195
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: "flex justify-between items-center mb-6", children: [
26196
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("div", { className: "text-2xl font-medium leading-8 tracking-[0.01em] text-t_text_primary", children: "Select Network" }),
26197
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
25946
26198
  "button",
25947
26199
  {
25948
26200
  type: "button",
25949
26201
  "aria-label": "Close",
25950
26202
  className: "flex items-center justify-center w-8 h-8 rounded-md bg-t_bg_tertiary bg-opacity-5 hover:bg-opacity-10 transition-colors",
25951
26203
  onClick: onClose,
25952
- children: /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("div", { className: "w-4 h-4 opacity-50 fill-t_text_primary flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(CloseIcon, {}) })
26204
+ children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("div", { className: "w-4 h-4 opacity-50 fill-t_text_primary flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(CloseIcon, {}) })
25953
26205
  }
25954
26206
  )
25955
26207
  ] }),
25956
- /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: "flex items-center gap-2 h-14 px-4 rounded-xl bg-t_bg_tertiary bg-opacity-[0.03] border border-solid border-t_text_primary border-opacity-5 mb-6", children: [
25957
- /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("div", { className: "text-t_text_primary opacity-60 flex items-center shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(SearchThinIcon, {}) }),
25958
- /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
26208
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: "flex items-center gap-2 h-14 px-4 rounded-xl bg-t_bg_tertiary bg-opacity-[0.03] border border-solid border-t_text_primary border-opacity-5 mb-6", children: [
26209
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("div", { className: "text-t_text_primary opacity-60 flex items-center shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(SearchThinIcon, {}) }),
26210
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
25959
26211
  "input",
25960
26212
  {
25961
26213
  ref: chainSearchRef,
@@ -25966,7 +26218,7 @@ var ChainPicker = ({
25966
26218
  }
25967
26219
  )
25968
26220
  ] }),
25969
- /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("div", { className: "flex flex-col mx-0 h-full min-h-0 flex-1", children: filteredChains.length ? /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
26221
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("div", { className: "flex flex-col mx-0 h-full min-h-0 flex-1", children: filteredChains.length ? /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
25970
26222
  import_react_virtuoso2.Virtuoso,
25971
26223
  {
25972
26224
  style: { maxHeight: "700px", height: "100%" },
@@ -25974,13 +26226,13 @@ var ChainPicker = ({
25974
26226
  itemContent: (_, chain) => {
25975
26227
  const resetWarning = requiresSourceReset(chain);
25976
26228
  const isSelected = chain.chainId === selectedChainId;
25977
- return /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("div", { className: "pb-2", children: /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(
26229
+ return /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("div", { className: "pb-2", children: /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(
25978
26230
  "div",
25979
26231
  {
25980
26232
  onClick: () => onSelect(chain),
25981
26233
  className: `flex gap-3 items-center p-3 sm:p-4 rounded-xl cursor-pointer bg-gradient-to-r from-t_bg_tertiary/[0.02] to-t_bg_tertiary/[0.02] bg-[rgba(40,40,40,0.15)] hover:bg-t_bg_tertiary hover:bg-opacity-10 transition-colors ${isSelected ? "!bg-t_bg_tertiary !bg-opacity-10" : ""}`,
25982
26234
  children: [
25983
- /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
26235
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
25984
26236
  "img",
25985
26237
  {
25986
26238
  src: chain.image,
@@ -25988,19 +26240,19 @@ var ChainPicker = ({
25988
26240
  className: `w-10 h-10 rounded-full shrink-0 ${resetWarning ? "opacity-40" : ""}`
25989
26241
  }
25990
26242
  ),
25991
- /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: "flex justify-between items-center gap-2 w-full min-w-0", children: [
25992
- /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
26243
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: "flex justify-between items-center gap-2 w-full min-w-0", children: [
26244
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
25993
26245
  "p",
25994
26246
  {
25995
26247
  className: `text-sm font-medium leading-5 tracking-[0.01em] text-t_text_primary ${resetWarning ? "opacity-40" : ""}`,
25996
26248
  children: chain.displayName
25997
26249
  }
25998
26250
  ),
25999
- resetWarning && /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: "flex items-center justify-end gap-1.5 text-[#D77F02]", children: [
26000
- /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(WarningIcon, { className: "w-3.5 h-3.5 shrink-0" }),
26001
- /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("span", { className: "text-xs leading-[18px] tracking-[0.01em] whitespace-nowrap", children: [
26002
- /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("span", { className: "sm:hidden", children: "Source will reset." }),
26003
- /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("span", { className: "hidden sm:inline", children: "Source will reset after selection." })
26251
+ resetWarning && /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: "flex items-center justify-end gap-1.5 text-[#D77F02]", children: [
26252
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(WarningIcon, { className: "w-3.5 h-3.5 shrink-0" }),
26253
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("span", { className: "text-xs leading-[18px] tracking-[0.01em] whitespace-nowrap", children: [
26254
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("span", { className: "sm:hidden", children: "Source will reset." }),
26255
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("span", { className: "hidden sm:inline", children: "Source will reset after selection." })
26004
26256
  ] })
26005
26257
  ] })
26006
26258
  ] })
@@ -26009,42 +26261,42 @@ var ChainPicker = ({
26009
26261
  ) });
26010
26262
  }
26011
26263
  }
26012
- ) : /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("div", { className: "text-center py-1 text-sm text-t_text_primary text-opacity-50", children: "No network found" }) })
26264
+ ) : /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("div", { className: "text-center py-1 text-sm text-t_text_primary text-opacity-50", children: "No network found" }) })
26013
26265
  ] });
26014
26266
  };
26015
26267
 
26016
26268
  // src/components/Swap/SwapView/SwapPanel/TokenPanel/TokenPicker/index.tsx
26017
26269
  var import_free_solid_svg_icons = require("@fortawesome/free-solid-svg-icons");
26018
26270
  var import_react_fontawesome = require("@fortawesome/react-fontawesome");
26019
- var import_react27 = require("react");
26271
+ var import_react30 = require("react");
26020
26272
  var import_react_virtuoso4 = require("react-virtuoso");
26021
26273
 
26022
26274
  // src/components/Swap/SwapView/SwapPanel/TokenPanel/TokenPicker/NetworkFilter/index.tsx
26023
- var import_react25 = require("react");
26275
+ var import_react28 = require("react");
26024
26276
  var import_react_virtuoso3 = require("react-virtuoso");
26025
- var import_jsx_runtime98 = require("react/jsx-runtime");
26277
+ var import_jsx_runtime99 = require("react/jsx-runtime");
26026
26278
  var NetworkFilter = ({ type, selectedChain, onSelect }) => {
26027
26279
  const { srcChainOptions, dstChainOptions } = useSwapContext();
26028
- const [open, setOpen] = (0, import_react25.useState)(false);
26029
- const [searchValue, setSearchValue] = (0, import_react25.useState)("");
26030
- const containerRef = (0, import_react25.useRef)(null);
26031
- const chains = (0, import_react25.useMemo)(
26280
+ const [open, setOpen] = (0, import_react28.useState)(false);
26281
+ const [searchValue, setSearchValue] = (0, import_react28.useState)("");
26282
+ const containerRef = (0, import_react28.useRef)(null);
26283
+ const chains = (0, import_react28.useMemo)(
26032
26284
  () => type === "source" ? srcChainOptions : dstChainOptions,
26033
26285
  [type, srcChainOptions, dstChainOptions]
26034
26286
  );
26035
- const filteredChains = (0, import_react25.useMemo)(() => {
26287
+ const filteredChains = (0, import_react28.useMemo)(() => {
26036
26288
  if (!searchValue) return chains;
26037
26289
  const searchLower = searchValue.toLowerCase();
26038
26290
  return chains.filter(
26039
26291
  (chain) => chain.displayName.toLowerCase().includes(searchLower) || chain.chainId.toLowerCase().includes(searchLower)
26040
26292
  );
26041
26293
  }, [chains, searchValue]);
26042
- (0, import_react25.useEffect)(() => {
26294
+ (0, import_react28.useEffect)(() => {
26043
26295
  if (!open) {
26044
26296
  setSearchValue("");
26045
26297
  }
26046
26298
  }, [open]);
26047
- (0, import_react25.useEffect)(() => {
26299
+ (0, import_react28.useEffect)(() => {
26048
26300
  const onPointerDown = (e) => {
26049
26301
  if (containerRef.current && !e.composedPath().includes(containerRef.current)) {
26050
26302
  setOpen(false);
@@ -26054,22 +26306,22 @@ var NetworkFilter = ({ type, selectedChain, onSelect }) => {
26054
26306
  return () => document.removeEventListener("mousedown", onPointerDown);
26055
26307
  }, []);
26056
26308
  const clusterChains = chains.slice(0, 4);
26057
- return /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: "relative", ref: containerRef, children: [
26058
- /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(
26309
+ return /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("div", { className: "relative", ref: containerRef, children: [
26310
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(
26059
26311
  "button",
26060
26312
  {
26061
26313
  type: "button",
26062
26314
  onClick: () => setOpen((state) => !state),
26063
26315
  className: "flex items-center gap-2.5 h-12 px-3 py-2 rounded-lg bg-t_bg_tertiary bg-opacity-[0.04] hover:bg-opacity-10 transition-colors",
26064
26316
  children: [
26065
- selectedChain ? /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
26317
+ selectedChain ? /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
26066
26318
  "img",
26067
26319
  {
26068
26320
  src: selectedChain.image,
26069
26321
  alt: selectedChain.displayName,
26070
26322
  className: "w-5 h-5 rounded-full"
26071
26323
  }
26072
- ) : /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("div", { className: "grid grid-cols-2 gap-0.5 shrink-0", children: clusterChains.map((chain) => /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
26324
+ ) : /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { className: "grid grid-cols-2 gap-0.5 shrink-0", children: clusterChains.map((chain) => /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
26073
26325
  "img",
26074
26326
  {
26075
26327
  src: chain.image,
@@ -26078,21 +26330,21 @@ var NetworkFilter = ({ type, selectedChain, onSelect }) => {
26078
26330
  },
26079
26331
  chain.chainId
26080
26332
  )) }),
26081
- /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("p", { className: "text-sm leading-6 tracking-[0.01em] text-t_text_primary whitespace-nowrap max-w-[120px] truncate", children: selectedChain ? selectedChain.displayName : `${chains.length} Networks` }),
26082
- /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
26333
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("p", { className: "text-sm leading-6 tracking-[0.01em] text-t_text_primary whitespace-nowrap max-w-[120px] truncate", children: selectedChain ? selectedChain.displayName : `${chains.length} Networks` }),
26334
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
26083
26335
  "div",
26084
26336
  {
26085
26337
  className: `flex items-center justify-center w-6 h-6 text-t_text_primary opacity-50 transition-transform ${open ? "rotate-180" : ""}`,
26086
- children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(ChevronDownThinIcon, {})
26338
+ children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(ChevronDownThinIcon, {})
26087
26339
  }
26088
26340
  )
26089
26341
  ]
26090
26342
  }
26091
26343
  ),
26092
- open && /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: "absolute -right-2 top-[calc(100%+8px)] z-20 flex flex-col w-[296px] py-5 px-2.5 rounded-xl network-dropdown-surface border border-solid border-t_text_primary border-opacity-5 overflow-hidden", children: [
26093
- /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: "flex items-center gap-2 px-2.5 pb-4", children: [
26094
- /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("div", { className: "text-t_text_primary opacity-60 [&_svg]:w-4 [&_svg]:h-4 flex items-center", children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(SearchThinIcon, {}) }),
26095
- /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
26344
+ open && /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("div", { className: "absolute -right-2 top-[calc(100%+8px)] z-20 flex flex-col w-[296px] py-5 px-2.5 rounded-xl network-dropdown-surface border border-solid border-t_text_primary border-opacity-5 overflow-hidden", children: [
26345
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("div", { className: "flex items-center gap-2 px-2.5 pb-4", children: [
26346
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { className: "text-t_text_primary opacity-60 [&_svg]:w-4 [&_svg]:h-4 flex items-center", children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(SearchThinIcon, {}) }),
26347
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
26096
26348
  "input",
26097
26349
  {
26098
26350
  value: searchValue,
@@ -26102,15 +26354,15 @@ var NetworkFilter = ({ type, selectedChain, onSelect }) => {
26102
26354
  }
26103
26355
  )
26104
26356
  ] }),
26105
- /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("div", { className: "h-px w-full bg-t_bg_tertiary bg-opacity-5 mb-2" }),
26106
- /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("div", { className: "h-[214px]", children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
26357
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { className: "h-px w-full bg-t_bg_tertiary bg-opacity-5 mb-2" }),
26358
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { className: "h-[214px]", children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
26107
26359
  import_react_virtuoso3.Virtuoso,
26108
26360
  {
26109
26361
  style: { height: "214px" },
26110
26362
  data: [void 0, ...filteredChains],
26111
26363
  itemContent: (_, chain) => {
26112
26364
  const isSelected = (chain?.chainId || "") === (selectedChain?.chainId || "");
26113
- return /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(
26365
+ return /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(
26114
26366
  "button",
26115
26367
  {
26116
26368
  type: "button",
@@ -26120,14 +26372,14 @@ var NetworkFilter = ({ type, selectedChain, onSelect }) => {
26120
26372
  },
26121
26373
  className: `network-dropdown-row flex items-center gap-2.5 w-full h-10 px-2.5 rounded-lg text-left ${isSelected ? "network-dropdown-row-active" : ""}`,
26122
26374
  children: [
26123
- chain ? /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
26375
+ chain ? /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
26124
26376
  "img",
26125
26377
  {
26126
26378
  src: chain.image,
26127
26379
  alt: chain.displayName,
26128
26380
  className: "w-6 h-6 rounded-full"
26129
26381
  }
26130
- ) : /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("div", { className: "grid grid-cols-2 gap-0.5 shrink-0", children: clusterChains.map((clusterChain) => /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
26382
+ ) : /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { className: "grid grid-cols-2 gap-0.5 shrink-0", children: clusterChains.map((clusterChain) => /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
26131
26383
  "img",
26132
26384
  {
26133
26385
  src: clusterChain.image,
@@ -26136,7 +26388,7 @@ var NetworkFilter = ({ type, selectedChain, onSelect }) => {
26136
26388
  },
26137
26389
  clusterChain.chainId
26138
26390
  )) }),
26139
- /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
26391
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
26140
26392
  "p",
26141
26393
  {
26142
26394
  className: `text-sm leading-[18px] tracking-[0.01em] text-t_text_primary truncate ${isSelected ? "" : "text-opacity-80"}`,
@@ -26154,9 +26406,9 @@ var NetworkFilter = ({ type, selectedChain, onSelect }) => {
26154
26406
  };
26155
26407
 
26156
26408
  // src/components/Swap/SwapView/SwapPanel/TokenPanel/TokenPicker/TokenItem/index.tsx
26157
- var import_react26 = require("react");
26409
+ var import_react29 = require("react");
26158
26410
  var import_wagmi5 = require("wagmi");
26159
- var import_jsx_runtime99 = require("react/jsx-runtime");
26411
+ var import_jsx_runtime100 = require("react/jsx-runtime");
26160
26412
  var TokenItem = ({
26161
26413
  token,
26162
26414
  selectedTokenAddress,
@@ -26172,34 +26424,34 @@ var TokenItem = ({
26172
26424
  integrationConfig
26173
26425
  } = useSwapContext();
26174
26426
  const { address } = (0, import_wagmi5.useAccount)();
26175
- const chain = (0, import_react26.useMemo)(
26427
+ const chain = (0, import_react29.useMemo)(
26176
26428
  () => supportedChains.find(({ chainId }) => chainId === token.chainId),
26177
26429
  [supportedChains, token]
26178
26430
  );
26179
- const tokenPrice = (0, import_react26.useMemo)(() => {
26431
+ const tokenPrice = (0, import_react29.useMemo)(() => {
26180
26432
  const prices = tokenPrices[token.chainId];
26181
26433
  return prices?.[token.address];
26182
26434
  }, [token, tokenPrices]);
26183
- const tokenBalance = (0, import_react26.useMemo)(() => {
26435
+ const tokenBalance = (0, import_react29.useMemo)(() => {
26184
26436
  if (!token.balance || !token.decimals) return null;
26185
26437
  return Number(ethers_exports.utils.formatUnits(token.balance, token.decimals));
26186
26438
  }, [token.balance, token.decimals]);
26187
- const hasBalance = (0, import_react26.useMemo)(
26439
+ const hasBalance = (0, import_react29.useMemo)(
26188
26440
  () => token.balance && !token.balance.eq(0),
26189
26441
  [token.balance]
26190
26442
  );
26191
- const tokenValueUsd = (0, import_react26.useMemo)(() => {
26443
+ const tokenValueUsd = (0, import_react29.useMemo)(() => {
26192
26444
  if (!tokenBalance || !tokenPrice || !hasBalance) return null;
26193
26445
  return tokenBalance * +tokenPrice;
26194
26446
  }, [tokenBalance, tokenPrice, hasBalance]);
26195
26447
  const isSelected = token.address.toLowerCase() === selectedTokenAddress?.toLowerCase() && selectedChainId && token.chainId === selectedChainId;
26196
- return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { className: "pb-2", children: /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(
26448
+ return /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("div", { className: "pb-2", children: /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(
26197
26449
  "div",
26198
26450
  {
26199
26451
  className: `flex gap-3 items-center p-3 sm:p-4 rounded-xl cursor-pointer bg-gradient-to-r from-t_bg_tertiary/[0.02] to-t_bg_tertiary/[0.02] bg-[rgba(40,40,40,0.15)] hover:bg-t_bg_tertiary hover:bg-opacity-10 transition-colors ${isSelected ? "!bg-t_bg_tertiary !bg-opacity-10" : ""}`,
26200
26452
  onClick,
26201
26453
  children: [
26202
- /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { className: `shrink-0 ${resetWarning ? "opacity-40" : ""}`, children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
26454
+ /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("div", { className: `shrink-0 ${resetWarning ? "opacity-40" : ""}`, children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
26203
26455
  TokenLogoWithChain,
26204
26456
  {
26205
26457
  token,
@@ -26209,37 +26461,37 @@ var TokenItem = ({
26209
26461
  chainLogoClassName: "w-[18px]"
26210
26462
  }
26211
26463
  ) }),
26212
- /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("div", { className: "flex justify-between items-center gap-2 w-full min-w-0", children: [
26213
- /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(
26464
+ /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)("div", { className: "flex justify-between items-center gap-2 w-full min-w-0", children: [
26465
+ /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(
26214
26466
  "div",
26215
26467
  {
26216
26468
  className: `text-left min-w-0 ${resetWarning ? "opacity-40" : ""}`,
26217
26469
  children: [
26218
- /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("div", { className: "text-sm font-medium leading-5 tracking-[0.01em] text-t_text_primary flex items-center gap-1", children: [
26470
+ /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)("div", { className: "text-sm font-medium leading-5 tracking-[0.01em] text-t_text_primary flex items-center gap-1", children: [
26219
26471
  token.symbol,
26220
26472
  integrationConfig?.highlightedDstTokens?.includes(
26221
26473
  token.symbol
26222
- ) && panelType === "destination" && /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
26474
+ ) && panelType === "destination" && /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
26223
26475
  "div",
26224
26476
  {
26225
26477
  className: "flex items-center justify-center text-t_text_primary rounded-full w-3.5 h-3.5 text-xs",
26226
26478
  title: "AI-powered token",
26227
- children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(StarsIcon, {})
26479
+ children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(StarsIcon, {})
26228
26480
  }
26229
26481
  )
26230
26482
  ] }),
26231
- /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("div", { className: "flex gap-2 items-center text-xs leading-[18px] tracking-[0.01em] text-t_text_primary text-opacity-50", children: [
26232
- /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("span", { className: "whitespace-nowrap", children: chain?.displayName || token.name }),
26233
- !resetWarning && /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(import_jsx_runtime99.Fragment, { children: [
26234
- /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("span", { className: "w-0.5 h-0.5 bg-t_text_primary opacity-25 shrink-0" }),
26235
- /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("span", { className: "whitespace-nowrap hidden sm:block", children: shortAddress(token.address) })
26483
+ /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)("div", { className: "flex gap-2 items-center text-xs leading-[18px] tracking-[0.01em] text-t_text_primary text-opacity-50", children: [
26484
+ /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("span", { className: "whitespace-nowrap", children: chain?.displayName || token.name }),
26485
+ !resetWarning && /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(import_jsx_runtime100.Fragment, { children: [
26486
+ /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("span", { className: "w-0.5 h-0.5 bg-t_text_primary opacity-25 shrink-0" }),
26487
+ /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("span", { className: "whitespace-nowrap hidden sm:block", children: shortAddress(token.address) })
26236
26488
  ] })
26237
26489
  ] })
26238
26490
  ]
26239
26491
  }
26240
26492
  ),
26241
- /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("div", { className: "text-right shrink-0", children: [
26242
- address && isFetchingBalances ? /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Skeleton, { className: "w-[48px] h-[12px]" }) : token.balance && token.decimals && address && /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
26493
+ /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)("div", { className: "text-right shrink-0", children: [
26494
+ address && isFetchingBalances ? /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(Skeleton, { className: "w-[48px] h-[12px]" }) : token.balance && token.decimals && address && /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
26243
26495
  "div",
26244
26496
  {
26245
26497
  className: `text-sm font-medium leading-5 tracking-[0.01em] text-t_text_primary ${resetWarning ? "opacity-40" : ""}`,
@@ -26250,13 +26502,13 @@ var TokenItem = ({
26250
26502
  }) : "<0.0001"
26251
26503
  }
26252
26504
  ),
26253
- resetWarning ? /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("div", { className: "flex items-center justify-end gap-1.5 text-[#F46F28]", children: [
26254
- /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(WarningIcon, { className: "w-3.5 h-3.5 shrink-0" }),
26255
- /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("span", { className: "text-xs leading-[18px] tracking-[0.01em] whitespace-nowrap", children: [
26256
- /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("span", { className: "sm:hidden", children: resetWarning === "source" ? "Source will reset." : "Destination will reset." }),
26257
- /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("span", { className: "hidden sm:inline", children: resetWarning === "source" ? "Source will reset after selection." : "Destination will reset after selection." })
26505
+ resetWarning ? /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)("div", { className: "flex items-center justify-end gap-1.5 text-[#F46F28]", children: [
26506
+ /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(WarningIcon, { className: "w-3.5 h-3.5 shrink-0" }),
26507
+ /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)("span", { className: "text-xs leading-[18px] tracking-[0.01em] whitespace-nowrap", children: [
26508
+ /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("span", { className: "sm:hidden", children: resetWarning === "source" ? "Source will reset." : "Destination will reset." }),
26509
+ /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("span", { className: "hidden sm:inline", children: resetWarning === "source" ? "Source will reset after selection." : "Destination will reset after selection." })
26258
26510
  ] })
26259
- ] }) : !isFetchingBalances && hasBalance && address && /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("div", { className: "text-xs leading-[18px] tracking-[0.01em] text-t_text_primary text-opacity-50", children: tokenValueUsd ? `${tokenValueUsd.toFixed(2)} USD` : "-" })
26511
+ ] }) : !isFetchingBalances && hasBalance && address && /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("div", { className: "text-xs leading-[18px] tracking-[0.01em] text-t_text_primary text-opacity-50", children: tokenValueUsd ? `${tokenValueUsd.toFixed(2)} USD` : "-" })
26260
26512
  ] })
26261
26513
  ] })
26262
26514
  ]
@@ -26267,7 +26519,7 @@ var TokenItem = ({
26267
26519
  // src/components/Swap/SwapView/SwapPanel/TokenPanel/TokenPicker/index.tsx
26268
26520
  var import_wagmi6 = require("wagmi");
26269
26521
  var import_web328 = require("@solana/web3.js");
26270
- var import_jsx_runtime100 = require("react/jsx-runtime");
26522
+ var import_jsx_runtime101 = require("react/jsx-runtime");
26271
26523
  var TokenPicker = ({
26272
26524
  chain,
26273
26525
  tokens,
@@ -26278,16 +26530,16 @@ var TokenPicker = ({
26278
26530
  setModalOpen,
26279
26531
  type
26280
26532
  }) => {
26281
- const [searchValue, setSearchValue] = (0, import_react27.useState)("");
26282
- const [acceptRisks, setAcceptRisks] = (0, import_react27.useState)(false);
26283
- const [showImportWarning, setShowImportWarning] = (0, import_react27.useState)(false);
26284
- const [loadingCustomTokenData, setLoadingCustomTokenData] = (0, import_react27.useState)(false);
26285
- const [customTokenData, setCustomTokenData] = (0, import_react27.useState)(null);
26286
- const [networkFilter, setNetworkFilter] = (0, import_react27.useState)(
26533
+ const [searchValue, setSearchValue] = (0, import_react30.useState)("");
26534
+ const [acceptRisks, setAcceptRisks] = (0, import_react30.useState)(false);
26535
+ const [showImportWarning, setShowImportWarning] = (0, import_react30.useState)(false);
26536
+ const [loadingCustomTokenData, setLoadingCustomTokenData] = (0, import_react30.useState)(false);
26537
+ const [customTokenData, setCustomTokenData] = (0, import_react30.useState)(null);
26538
+ const [networkFilter, setNetworkFilter] = (0, import_react30.useState)(
26287
26539
  void 0
26288
26540
  );
26289
- const currentRouteRequestNonce = (0, import_react27.useRef)(0);
26290
- const tokenSearchRef = (0, import_react27.useRef)(null);
26541
+ const currentRouteRequestNonce = (0, import_react30.useRef)(0);
26542
+ const tokenSearchRef = (0, import_react30.useRef)(null);
26291
26543
  const {
26292
26544
  bridgeUI,
26293
26545
  supportedChains,
@@ -26302,12 +26554,12 @@ var TokenPicker = ({
26302
26554
  const {
26303
26555
  solana: { address: solanaAddress }
26304
26556
  } = useWallet();
26305
- (0, import_react27.useEffect)(() => {
26557
+ (0, import_react30.useEffect)(() => {
26306
26558
  setShowImportWarning(false);
26307
26559
  setAcceptRisks(false);
26308
26560
  }, [isOpen]);
26309
26561
  const importChain = networkFilter ?? chain;
26310
- const importCustomToken = (0, import_react27.useCallback)(() => {
26562
+ const importCustomToken = (0, import_react30.useCallback)(() => {
26311
26563
  if (importChain && customTokenData && (isETHAddressValid(searchValue) || isSolanaAddressValid(searchValue))) {
26312
26564
  let customTokens = {};
26313
26565
  if (!isServer) {
@@ -26343,7 +26595,7 @@ var TokenPicker = ({
26343
26595
  addTokenToChainIfNotExists,
26344
26596
  setModalOpen
26345
26597
  ]);
26346
- const getCustomTokenData2 = (0, import_react27.useCallback)(async () => {
26598
+ const getCustomTokenData2 = (0, import_react30.useCallback)(async () => {
26347
26599
  if (!importChain) {
26348
26600
  return;
26349
26601
  }
@@ -26369,7 +26621,7 @@ var TokenPicker = ({
26369
26621
  }
26370
26622
  }
26371
26623
  }, [importChain, searchValue]);
26372
- const getCustomSolanaTokenData = (0, import_react27.useCallback)(async () => {
26624
+ const getCustomSolanaTokenData = (0, import_react30.useCallback)(async () => {
26373
26625
  const nonce = Date.now();
26374
26626
  currentRouteRequestNonce.current = nonce;
26375
26627
  const rpcUrl = supportedChains.find(
@@ -26432,7 +26684,7 @@ var TokenPicker = ({
26432
26684
  }
26433
26685
  }
26434
26686
  }, [importChain, searchValue, supportedChains]);
26435
- (0, import_react27.useEffect)(() => {
26687
+ (0, import_react30.useEffect)(() => {
26436
26688
  if (!bridgeUI && importChain && !findTokenDataByAddressAndChain(
26437
26689
  importChain.ecosystem === "evm" /* EVM */ ? searchValue.toLowerCase() : searchValue,
26438
26690
  importChain.chainId
@@ -26457,12 +26709,12 @@ var TokenPicker = ({
26457
26709
  findTokenDataByAddressAndChain,
26458
26710
  importChain
26459
26711
  ]);
26460
- (0, import_react27.useEffect)(() => {
26712
+ (0, import_react30.useEffect)(() => {
26461
26713
  setSearchValue("");
26462
26714
  setNetworkFilter(void 0);
26463
26715
  }, [isOpen]);
26464
26716
  const isMatch = (value, searchValue2) => value.toLowerCase().indexOf(searchValue2.toLowerCase()) > -1;
26465
- const visibleTokens = (0, import_react27.useMemo)(() => {
26717
+ const visibleTokens = (0, import_react30.useMemo)(() => {
26466
26718
  const all = [...tokens || [], ...otherTokens || []];
26467
26719
  return all.filter((token) => {
26468
26720
  if (networkFilter && token.chainId !== networkFilter.chainId) {
@@ -26471,7 +26723,7 @@ var TokenPicker = ({
26471
26723
  return isMatch(token.symbol, searchValue) || isMatch(token.name, searchValue) || token.address.toLowerCase() === searchValue.toLowerCase();
26472
26724
  });
26473
26725
  }, [tokens, otherTokens, searchValue, networkFilter]);
26474
- const calculateTokenValue = (0, import_react27.useCallback)(
26726
+ const calculateTokenValue = (0, import_react30.useCallback)(
26475
26727
  (token) => {
26476
26728
  if (!token.balance || !token.decimals) return 0;
26477
26729
  const balance = Number(
@@ -26482,7 +26734,7 @@ var TokenPicker = ({
26482
26734
  },
26483
26735
  [tokenPrices]
26484
26736
  );
26485
- const getResetWarning = (0, import_react27.useCallback)(
26737
+ const getResetWarning = (0, import_react30.useCallback)(
26486
26738
  (token) => {
26487
26739
  if (type === "destination") {
26488
26740
  if (srcChain && !isChainConnectionSupported(srcChain, token.chainId, bridgeUI)) {
@@ -26505,11 +26757,11 @@ var TokenPicker = ({
26505
26757
  },
26506
26758
  [type, srcChain, dstChain, bridgeUI, supportedChains, bridgeTokensDictionary]
26507
26759
  );
26508
- const compareByResetWarning = (0, import_react27.useCallback)(
26760
+ const compareByResetWarning = (0, import_react30.useCallback)(
26509
26761
  (tokenA, tokenB) => Number(!!getResetWarning(tokenA)) - Number(!!getResetWarning(tokenB)),
26510
26762
  [getResetWarning]
26511
26763
  );
26512
- const ownedTokens = (0, import_react27.useMemo)(() => {
26764
+ const ownedTokens = (0, import_react30.useMemo)(() => {
26513
26765
  if (!address && !solanaAddress) {
26514
26766
  return [];
26515
26767
  }
@@ -26532,7 +26784,7 @@ var TokenPicker = ({
26532
26784
  calculateTokenValue,
26533
26785
  compareByResetWarning
26534
26786
  ]);
26535
- const recommendedTokens = (0, import_react27.useMemo)(
26787
+ const recommendedTokens = (0, import_react30.useMemo)(
26536
26788
  () => visibleTokens.filter(
26537
26789
  (token) => !(address || solanaAddress) || BigNumber.from(token?.balance || "0").eq(0)
26538
26790
  ).sort(
@@ -26540,13 +26792,13 @@ var TokenPicker = ({
26540
26792
  ),
26541
26793
  [visibleTokens, address, solanaAddress, compareByResetWarning]
26542
26794
  );
26543
- const tokenGroups = (0, import_react27.useMemo)(() => {
26795
+ const tokenGroups = (0, import_react30.useMemo)(() => {
26544
26796
  return ownedTokens.length ? [
26545
26797
  { label: "MY TOKENS.", tokens: ownedTokens },
26546
26798
  { label: "RECOMMENDED.", tokens: recommendedTokens }
26547
26799
  ] : [{ label: "RECOMMENDED.", tokens: recommendedTokens }];
26548
26800
  }, [ownedTokens, recommendedTokens]);
26549
- const listRows = (0, import_react27.useMemo)(
26801
+ const listRows = (0, import_react30.useMemo)(
26550
26802
  () => tokenGroups.flatMap((group, groupIndex) => {
26551
26803
  const rows = groupIndex === 0 ? [] : [
26552
26804
  {
@@ -26570,49 +26822,49 @@ var TokenPicker = ({
26570
26822
  }),
26571
26823
  [tokenGroups]
26572
26824
  );
26573
- const [topRowIndex, setTopRowIndex] = (0, import_react27.useState)(0);
26825
+ const [topRowIndex, setTopRowIndex] = (0, import_react30.useState)(0);
26574
26826
  const pinnedGroupLabel = listRows[Math.min(topRowIndex, listRows.length - 1)]?.groupLabel ?? tokenGroups[0]?.label ?? "";
26575
- (0, import_react27.useEffect)(() => {
26827
+ (0, import_react30.useEffect)(() => {
26576
26828
  if (isOpen && tokenSearchRef.current) {
26577
26829
  setTimeout(() => {
26578
26830
  tokenSearchRef.current?.focus();
26579
26831
  }, 10);
26580
26832
  }
26581
26833
  }, [isOpen]);
26582
- return showImportWarning ? /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(import_jsx_runtime100.Fragment, { children: [
26583
- /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)("div", { className: "flex justify-between items-center mb-6", children: [
26584
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("div", { className: "text-2xl font-medium leading-8 tracking-[0.01em]", children: "Import token" }),
26585
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
26834
+ return showImportWarning ? /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(import_jsx_runtime101.Fragment, { children: [
26835
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("div", { className: "flex justify-between items-center mb-6", children: [
26836
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: "text-2xl font-medium leading-8 tracking-[0.01em]", children: "Import token" }),
26837
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
26586
26838
  "button",
26587
26839
  {
26588
26840
  type: "button",
26589
26841
  "aria-label": "Close",
26590
26842
  className: "flex items-center justify-center w-8 h-8 rounded-md bg-t_bg_tertiary bg-opacity-5 hover:bg-opacity-10 transition-colors",
26591
26843
  onClick: () => setModalOpen(false),
26592
- children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("div", { className: "w-4 h-4 opacity-50 fill-t_text_primary flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(CloseIcon, {}) })
26844
+ children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: "w-4 h-4 opacity-50 fill-t_text_primary flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(CloseIcon, {}) })
26593
26845
  }
26594
26846
  )
26595
26847
  ] }),
26596
- /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)("div", { className: "flex flex-col h-full gap-2", children: [
26597
- customTokenData && /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(
26848
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("div", { className: "flex flex-col h-full gap-2", children: [
26849
+ customTokenData && /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(
26598
26850
  "div",
26599
26851
  {
26600
26852
  className: `flex gap-3 py-3 px-4 items-center grow-0 bg-t_bg_tertiary bg-opacity-[0.03] border border-solid border-t_text_primary border-opacity-10 rounded-xl`,
26601
26853
  children: [
26602
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
26854
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
26603
26855
  UnknownTokenLogo,
26604
26856
  {
26605
26857
  tokenName: customTokenData.name,
26606
26858
  className: "w-9 h-9 text-[15px]"
26607
26859
  }
26608
26860
  ),
26609
- /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)("div", { className: "flex justify-between items-center gap-1 overflow-hidden grow", children: [
26610
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("div", { className: "overflow-hidden whitespace-nowrap text-ellipsis text-sm font-medium", children: customTokenData.name }),
26611
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("div", { className: "text-sm text-t_text_primary text-opacity-50", children: customTokenData.symbol })
26861
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("div", { className: "flex justify-between items-center gap-1 overflow-hidden grow", children: [
26862
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: "overflow-hidden whitespace-nowrap text-ellipsis text-sm font-medium", children: customTokenData.name }),
26863
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: "text-sm text-t_text_primary text-opacity-50", children: customTokenData.symbol })
26612
26864
  ] }),
26613
- /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)("div", { className: "text-sm flex items-center", children: [
26865
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("div", { className: "text-sm flex items-center", children: [
26614
26866
  shortAddress(searchValue.toLowerCase()),
26615
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
26867
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
26616
26868
  "button",
26617
26869
  {
26618
26870
  type: "button",
@@ -26621,30 +26873,30 @@ var TokenPicker = ({
26621
26873
  ),
26622
26874
  "aria-label": `Copy ${customTokenData.symbol} token address`,
26623
26875
  className: "flex items-center p-2 fill-t_text_primary cursor-pointer hover:fill-t_main_accent_light",
26624
- children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(CopyIcon, { className: "w-5 h-5" })
26876
+ children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(CopyIcon, { className: "w-5 h-5" })
26625
26877
  }
26626
26878
  )
26627
26879
  ] })
26628
26880
  ]
26629
26881
  }
26630
26882
  ),
26631
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("div", { className: "px-4 py-4 rounded-xl border border-solid border-t_warning_dark text-sm text-t_text_primary text-opacity-80", children: "Ensure that you have verified the token address and confirmed its correctness" }),
26632
- /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)("div", { className: "bg-t_bg_tertiary bg-opacity-[0.03] border border-solid border-t_text_primary border-opacity-10 rounded-xl p-4", children: [
26633
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("div", { className: "text-sm mb-2 text-t_text_primary text-opacity-80", children: "Be mindful that anyone can create tokens, even counterfeit versions of existing ones. Certain tokens and their technical specifications might not be compatible with XSwap services. By importing such custom tokens, you acknowledge and consent to the associated risks." }),
26634
- /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(
26883
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: "px-4 py-4 rounded-xl border border-solid border-t_warning_dark text-sm text-t_text_primary text-opacity-80", children: "Ensure that you have verified the token address and confirmed its correctness" }),
26884
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("div", { className: "bg-t_bg_tertiary bg-opacity-[0.03] border border-solid border-t_text_primary border-opacity-10 rounded-xl p-4", children: [
26885
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: "text-sm mb-2 text-t_text_primary text-opacity-80", children: "Be mindful that anyone can create tokens, even counterfeit versions of existing ones. Certain tokens and their technical specifications might not be compatible with XSwap services. By importing such custom tokens, you acknowledge and consent to the associated risks." }),
26886
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(
26635
26887
  "button",
26636
26888
  {
26637
26889
  type: "button",
26638
26890
  onClick: () => setAcceptRisks((state) => !state),
26639
26891
  className: "flex items-center",
26640
26892
  children: [
26641
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("div", { className: "flex justify-center items-center p-1 w-6 h-6 border-2 border-solid border-t_text_primary border-opacity-50 rounded-md mr-2", children: acceptRisks && /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_react_fontawesome.FontAwesomeIcon, { icon: import_free_solid_svg_icons.faCheck, className: "w-4 h-4" }) }),
26642
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("div", { className: "font-medium", children: "Accept" })
26893
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: "flex justify-center items-center p-1 w-6 h-6 border-2 border-solid border-t_text_primary border-opacity-50 rounded-md mr-2", children: acceptRisks && /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(import_react_fontawesome.FontAwesomeIcon, { icon: import_free_solid_svg_icons.faCheck, className: "w-4 h-4" }) }),
26894
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: "font-medium", children: "Accept" })
26643
26895
  ]
26644
26896
  }
26645
26897
  )
26646
26898
  ] }),
26647
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("div", { className: "flex grow items-end justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
26899
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: "flex grow items-end justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
26648
26900
  Button,
26649
26901
  {
26650
26902
  type: "button",
@@ -26655,24 +26907,24 @@ var TokenPicker = ({
26655
26907
  }
26656
26908
  ) })
26657
26909
  ] })
26658
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(import_jsx_runtime100.Fragment, { children: [
26659
- /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)("div", { className: "flex justify-between items-center mb-6", children: [
26660
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("div", { className: "text-2xl font-medium leading-8 tracking-[0.01em] text-t_text_primary", children: "Select Token" }),
26661
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
26910
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(import_jsx_runtime101.Fragment, { children: [
26911
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("div", { className: "flex justify-between items-center mb-6", children: [
26912
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: "text-2xl font-medium leading-8 tracking-[0.01em] text-t_text_primary", children: "Select Token" }),
26913
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
26662
26914
  "button",
26663
26915
  {
26664
26916
  type: "button",
26665
26917
  "aria-label": "Close",
26666
26918
  className: "flex items-center justify-center w-8 h-8 rounded-md bg-t_bg_tertiary bg-opacity-5 hover:bg-opacity-10 transition-colors",
26667
26919
  onClick: () => setModalOpen(false),
26668
- children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("div", { className: "w-4 h-4 opacity-50 fill-t_text_primary flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(CloseIcon, {}) })
26920
+ children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: "w-4 h-4 opacity-50 fill-t_text_primary flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(CloseIcon, {}) })
26669
26921
  }
26670
26922
  )
26671
26923
  ] }),
26672
- /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)("div", { className: "flex items-center justify-between gap-2 h-14 pl-4 pr-1 rounded-xl bg-t_bg_tertiary bg-opacity-[0.03] border border-solid border-t_text_primary border-opacity-5 mb-6", children: [
26673
- /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)("div", { className: "flex items-center gap-2 flex-1 min-w-0", children: [
26674
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("div", { className: "text-t_text_primary opacity-60 flex items-center shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(SearchThinIcon, {}) }),
26675
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
26924
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("div", { className: "flex items-center justify-between gap-2 h-14 pl-4 pr-1 rounded-xl bg-t_bg_tertiary bg-opacity-[0.03] border border-solid border-t_text_primary border-opacity-5 mb-6", children: [
26925
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("div", { className: "flex items-center gap-2 flex-1 min-w-0", children: [
26926
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: "text-t_text_primary opacity-60 flex items-center shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(SearchThinIcon, {}) }),
26927
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
26676
26928
  "input",
26677
26929
  {
26678
26930
  ref: tokenSearchRef,
@@ -26683,7 +26935,7 @@ var TokenPicker = ({
26683
26935
  }
26684
26936
  )
26685
26937
  ] }),
26686
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
26938
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
26687
26939
  NetworkFilter,
26688
26940
  {
26689
26941
  type,
@@ -26692,8 +26944,8 @@ var TokenPicker = ({
26692
26944
  }
26693
26945
  )
26694
26946
  ] }),
26695
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("div", { className: "flex flex-col mx-0 h-full min-h-0 flex-1", children: loadingCustomTokenData ? /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("div", { className: "flex justify-center w-full py-4 px-0", children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(Spinner, { className: "w-9 h-9" }) }) : /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_jsx_runtime100.Fragment, { children: customTokenData ? /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)("div", { className: "flex gap-3 py-3 px-4 items-center rounded-xl bg-t_bg_tertiary bg-opacity-[0.03]", children: [
26696
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
26947
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: "flex flex-col mx-0 h-full min-h-0 flex-1", children: loadingCustomTokenData ? /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: "flex justify-center w-full py-4 px-0", children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(Spinner, { className: "w-9 h-9" }) }) : /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(import_jsx_runtime101.Fragment, { children: customTokenData ? /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("div", { className: "flex gap-3 py-3 px-4 items-center rounded-xl bg-t_bg_tertiary bg-opacity-[0.03]", children: [
26948
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
26697
26949
  TokenLogoWithChain,
26698
26950
  {
26699
26951
  token: customTokenData,
@@ -26703,14 +26955,14 @@ var TokenPicker = ({
26703
26955
  chainLogoClassName: "w-5"
26704
26956
  }
26705
26957
  ),
26706
- /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)("div", { className: "flex justify-between items-center gap-1 overflow-hidden grow", children: [
26707
- /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)("div", { children: [
26708
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("div", { className: "text-sm font-medium text-ellipsis", children: customTokenData.name }),
26709
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("div", { className: "text-xs text-t_text_primary !text-opacity-50", children: importChain?.displayName })
26958
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("div", { className: "flex justify-between items-center gap-1 overflow-hidden grow", children: [
26959
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("div", { children: [
26960
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: "text-sm font-medium text-ellipsis", children: customTokenData.name }),
26961
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: "text-xs text-t_text_primary !text-opacity-50", children: importChain?.displayName })
26710
26962
  ] }),
26711
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("div", { className: "text-sm text-t_text_primary text-opacity-50", children: customTokenData.symbol })
26963
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: "text-sm text-t_text_primary text-opacity-50", children: customTokenData.symbol })
26712
26964
  ] }),
26713
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
26965
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
26714
26966
  Button,
26715
26967
  {
26716
26968
  type: "button",
@@ -26719,10 +26971,10 @@ var TokenPicker = ({
26719
26971
  children: "Import"
26720
26972
  }
26721
26973
  ) })
26722
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)("div", { className: "flex flex-col h-full min-h-0", children: [
26723
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("p", { className: "pb-3 text-[10px] leading-4 tracking-[0.015em] text-t_text_primary text-opacity-30 text-left shrink-0", children: pinnedGroupLabel }),
26724
- /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)("div", { className: "relative flex flex-col flex-1 min-h-0", children: [
26725
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
26974
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("div", { className: "flex flex-col h-full min-h-0", children: [
26975
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("p", { className: "pb-3 text-[10px] leading-4 tracking-[0.015em] text-t_text_primary text-opacity-30 text-left shrink-0", children: pinnedGroupLabel }),
26976
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("div", { className: "relative flex flex-col flex-1 min-h-0", children: [
26977
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
26726
26978
  import_react_virtuoso4.Virtuoso,
26727
26979
  {
26728
26980
  style: { maxHeight: "700px", height: "100%" },
@@ -26734,12 +26986,12 @@ var TokenPicker = ({
26734
26986
  return null;
26735
26987
  }
26736
26988
  if (row.kind === "label") {
26737
- return /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("p", { className: "pt-2 pb-3 text-[10px] leading-4 tracking-[0.015em] text-t_text_primary text-opacity-30 text-left", children: row.label });
26989
+ return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("p", { className: "pt-2 pb-3 text-[10px] leading-4 tracking-[0.015em] text-t_text_primary text-opacity-30 text-left", children: row.label });
26738
26990
  }
26739
26991
  if (row.kind === "empty") {
26740
- return /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("div", { className: "text-center py-1 pb-3 text-sm text-t_text_primary text-opacity-50", children: "No token found" });
26992
+ return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: "text-center py-1 pb-3 text-sm text-t_text_primary text-opacity-50", children: "No token found" });
26741
26993
  }
26742
- return /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
26994
+ return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
26743
26995
  TokenItem,
26744
26996
  {
26745
26997
  panelType: type,
@@ -26756,14 +27008,14 @@ var TokenPicker = ({
26756
27008
  }
26757
27009
  }
26758
27010
  ),
26759
- /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("div", { className: "pointer-events-none absolute bottom-0 left-0 right-0 h-16 bg-gradient-to-t from-t_bg_secondary/65 to-t_bg_secondary/0" })
27011
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: "pointer-events-none absolute bottom-0 left-0 right-0 h-16 bg-gradient-to-t from-t_bg_secondary/65 to-t_bg_secondary/0" })
26760
27012
  ] })
26761
27013
  ] }) }) })
26762
27014
  ] });
26763
27015
  };
26764
27016
 
26765
27017
  // src/components/Swap/PickerView/index.tsx
26766
- var import_jsx_runtime101 = require("react/jsx-runtime");
27018
+ var import_jsx_runtime102 = require("react/jsx-runtime");
26767
27019
  var PickerView = () => {
26768
27020
  const {
26769
27021
  activePicker,
@@ -26830,7 +27082,7 @@ var PickerView = () => {
26830
27082
  if (!activePicker) {
26831
27083
  return null;
26832
27084
  }
26833
- return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
27085
+ return /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
26834
27086
  "div",
26835
27087
  {
26836
27088
  className: "fixed top-0 left-0 right-0 bottom-0 z-10 flex flex-col justify-end bg-[rgba(2,2,2,0.8)] sm:absolute sm:z-[1] sm:justify-start sm:bg-transparent",
@@ -26842,9 +27094,9 @@ var PickerView = () => {
26842
27094
  close();
26843
27095
  }
26844
27096
  },
26845
- children: /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("div", { className: "flex flex-col w-full h-[85vh] max-h-full overflow-hidden p-4 pt-2.5 rounded-t-[24px] border-t border-solid border-t_text_primary border-opacity-10 bg-gradient-to-r from-t_bg_secondary/50 to-t_bg_secondary/50 bg-t_bg_primary sm:h-full sm:p-0 sm:rounded-none sm:border-0 sm:bg-none sm:bg-transparent", children: [
26846
- /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: "sm:hidden mx-auto mb-4 h-1 w-8 rounded-full bg-t_bg_tertiary bg-opacity-10 shrink-0" }),
26847
- bridgeDestination ? /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
27097
+ children: /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)("div", { className: "flex flex-col w-full h-[85vh] max-h-full overflow-hidden p-4 pt-2.5 rounded-t-[24px] border-t border-solid border-t_text_primary border-opacity-10 bg-gradient-to-r from-t_bg_secondary/50 to-t_bg_secondary/50 bg-t_bg_primary sm:h-full sm:p-0 sm:rounded-none sm:border-0 sm:bg-none sm:bg-transparent", children: [
27098
+ /* @__PURE__ */ (0, import_jsx_runtime102.jsx)("div", { className: "sm:hidden mx-auto mb-4 h-1 w-8 rounded-full bg-t_bg_tertiary bg-opacity-10 shrink-0" }),
27099
+ bridgeDestination ? /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
26848
27100
  ChainPicker,
26849
27101
  {
26850
27102
  chains: dstChainOptions,
@@ -26853,7 +27105,7 @@ var PickerView = () => {
26853
27105
  onSelect: onDstChainSelect,
26854
27106
  onClose: close
26855
27107
  }
26856
- ) : /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
27108
+ ) : /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
26857
27109
  TokenPicker,
26858
27110
  {
26859
27111
  type,
@@ -26876,9 +27128,9 @@ var PickerView = () => {
26876
27128
  };
26877
27129
 
26878
27130
  // src/components/ToggleButton/index.tsx
26879
- var import_jsx_runtime102 = require("react/jsx-runtime");
27131
+ var import_jsx_runtime103 = require("react/jsx-runtime");
26880
27132
  var ToggleButton = ({ checked, onClick }) => {
26881
- return /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
27133
+ return /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
26882
27134
  "button",
26883
27135
  {
26884
27136
  type: "button",
@@ -26886,7 +27138,7 @@ var ToggleButton = ({ checked, onClick }) => {
26886
27138
  "aria-checked": checked,
26887
27139
  onClick,
26888
27140
  className: `relative inline-flex items-center w-10 h-5 p-0.5 rounded-full cursor-pointer transition-opacity border-none bg-gradient-to-r ${checked ? "from-x_blue_light/25 to-x_blue_dark/25" : "from-t_main_accent_light/20 to-t_main_accent_dark/20 opacity-50"}`,
26889
- children: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
27141
+ children: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
26890
27142
  "span",
26891
27143
  {
26892
27144
  className: `w-4 h-4 rounded-full transition-transform bg-gradient-to-r ${checked ? "translate-x-5 from-x_blue_light to-x_blue_dark" : "translate-x-0 from-t_main_accent_light to-t_main_accent_dark"}`
@@ -26973,9 +27225,9 @@ var mapTransports = (chains) => {
26973
27225
  };
26974
27226
 
26975
27227
  // src/components/Tooltip/index.tsx
26976
- var import_react28 = require("react");
27228
+ var import_react31 = require("react");
26977
27229
  var import_react_dom = require("react-dom");
26978
- var import_jsx_runtime103 = require("react/jsx-runtime");
27230
+ var import_jsx_runtime104 = require("react/jsx-runtime");
26979
27231
  var positionToClass = {
26980
27232
  TOP: "-translate-x-1/2 -translate-y-full",
26981
27233
  BOTTOM: "-translate-x-1/2",
@@ -26983,9 +27235,9 @@ var positionToClass = {
26983
27235
  RIGHT: "-translate-y-1/2"
26984
27236
  };
26985
27237
  var Tooltip = ({ id: id2, position, text, triggerRef }) => {
26986
- const [positionPx, setPositionPx] = (0, import_react28.useState)({ top: 0, left: 0 });
26987
- const [visible, setVisible] = (0, import_react28.useState)(false);
26988
- (0, import_react28.useEffect)(() => {
27238
+ const [positionPx, setPositionPx] = (0, import_react31.useState)({ top: 0, left: 0 });
27239
+ const [visible, setVisible] = (0, import_react31.useState)(false);
27240
+ (0, import_react31.useEffect)(() => {
26989
27241
  const trigger = triggerRef.current;
26990
27242
  const updatePosition = () => {
26991
27243
  if (!trigger) {
@@ -27046,7 +27298,7 @@ var Tooltip = ({ id: id2, position, text, triggerRef }) => {
27046
27298
  };
27047
27299
  }, [triggerRef, position]);
27048
27300
  return (0, import_react_dom.createPortal)(
27049
- visible && /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
27301
+ visible && /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
27050
27302
  "div",
27051
27303
  {
27052
27304
  id: id2,
@@ -27064,18 +27316,18 @@ var Tooltip = ({ id: id2, position, text, triggerRef }) => {
27064
27316
  };
27065
27317
 
27066
27318
  // src/components/Swap/SettingsView/InfiniteApproval/index.tsx
27067
- var import_react29 = require("react");
27068
- var import_jsx_runtime104 = require("react/jsx-runtime");
27319
+ var import_react32 = require("react");
27320
+ var import_jsx_runtime105 = require("react/jsx-runtime");
27069
27321
  var InfiniteApproval = () => {
27070
- const tooltipTriggerRef = (0, import_react29.useRef)(null);
27322
+ const tooltipTriggerRef = (0, import_react32.useRef)(null);
27071
27323
  const { infiniteApproval, setInfiniteApproval } = useSwapContext();
27072
- return /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)("div", { className: "flex gap-2 items-center justify-between py-4 px-6 rounded-xl bg-gradient-to-r from-t_bg_tertiary/[0.03] to-t_bg_tertiary/[0.01]", children: [
27073
- /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)("div", { className: "flex items-center gap-2 min-w-0", children: [
27074
- /* @__PURE__ */ (0, import_jsx_runtime104.jsx)("h2", { className: "text-sm leading-6 tracking-[0.01em] text-t_text_primary whitespace-nowrap", children: "Persistent Access" }),
27075
- /* @__PURE__ */ (0, import_jsx_runtime104.jsx)("div", { className: "w-0.5 h-0.5 bg-t_text_primary opacity-25 shrink-0" }),
27076
- /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)("div", { className: "flex items-center gap-1.5 min-w-0", children: [
27077
- /* @__PURE__ */ (0, import_jsx_runtime104.jsx)("p", { className: "text-sm leading-6 tracking-[0.01em] text-t_text_primary text-opacity-50 whitespace-nowrap truncate", children: "Don't Ask Every Tx." }),
27078
- /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
27324
+ return /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)("div", { className: "flex gap-2 items-center justify-between py-4 px-6 rounded-xl bg-gradient-to-r from-t_bg_tertiary/[0.03] to-t_bg_tertiary/[0.01]", children: [
27325
+ /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)("div", { className: "flex items-center gap-2 min-w-0", children: [
27326
+ /* @__PURE__ */ (0, import_jsx_runtime105.jsx)("h2", { className: "text-sm leading-6 tracking-[0.01em] text-t_text_primary whitespace-nowrap", children: "Persistent Access" }),
27327
+ /* @__PURE__ */ (0, import_jsx_runtime105.jsx)("div", { className: "w-0.5 h-0.5 bg-t_text_primary opacity-25 shrink-0" }),
27328
+ /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)("div", { className: "flex items-center gap-1.5 min-w-0", children: [
27329
+ /* @__PURE__ */ (0, import_jsx_runtime105.jsx)("p", { className: "text-sm leading-6 tracking-[0.01em] text-t_text_primary text-opacity-50 whitespace-nowrap truncate", children: "Don't Ask Every Tx." }),
27330
+ /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(
27079
27331
  Tooltip,
27080
27332
  {
27081
27333
  text: "Enabling persistent access (infinite approval) allows to access your tokens without requiring repeated approvals for each transaction. This streamlines multiple transactions but may pose a security risk if the spender's address is compromised.",
@@ -27084,7 +27336,7 @@ var InfiniteApproval = () => {
27084
27336
  id: "infinite-approval-tooltip"
27085
27337
  }
27086
27338
  ),
27087
- /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
27339
+ /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(
27088
27340
  InfoThinIcon,
27089
27341
  {
27090
27342
  ref: tooltipTriggerRef,
@@ -27093,7 +27345,7 @@ var InfiniteApproval = () => {
27093
27345
  )
27094
27346
  ] })
27095
27347
  ] }),
27096
- /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
27348
+ /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(
27097
27349
  ToggleButton,
27098
27350
  {
27099
27351
  checked: infiniteApproval,
@@ -27106,18 +27358,18 @@ var InfiniteApproval = () => {
27106
27358
  };
27107
27359
 
27108
27360
  // src/components/Swap/SettingsView/Delivery/index.tsx
27109
- var import_react30 = require("react");
27110
- var import_jsx_runtime105 = require("react/jsx-runtime");
27361
+ var import_react33 = require("react");
27362
+ var import_jsx_runtime106 = require("react/jsx-runtime");
27111
27363
  var Delivery = () => {
27112
- const tooltipTriggerRef = (0, import_react30.useRef)(null);
27364
+ const tooltipTriggerRef = (0, import_react33.useRef)(null);
27113
27365
  const { expressDelivery, setExpressDelivery } = useSwapContext();
27114
- return /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)("div", { className: "flex gap-2 items-center justify-between py-4 px-6 rounded-xl bg-gradient-to-r from-t_bg_tertiary/[0.03] to-t_bg_tertiary/[0.01]", children: [
27115
- /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)("div", { className: "flex items-center gap-2 min-w-0", children: [
27116
- /* @__PURE__ */ (0, import_jsx_runtime105.jsx)("h2", { className: "text-sm leading-6 tracking-[0.01em] text-t_text_primary whitespace-nowrap", children: "Fast Delivery" }),
27117
- /* @__PURE__ */ (0, import_jsx_runtime105.jsx)("div", { className: "w-0.5 h-0.5 bg-t_text_primary opacity-25 shrink-0" }),
27118
- /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)("div", { className: "flex items-center gap-1.5 min-w-0", children: [
27119
- /* @__PURE__ */ (0, import_jsx_runtime105.jsx)("p", { className: "text-sm leading-6 tracking-[0.01em] text-t_text_primary text-opacity-50 whitespace-nowrap truncate", children: expressDelivery ? "Est. Time 30 Sec." : "Est. Time 30 Min." }),
27120
- /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(
27366
+ return /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: "flex gap-2 items-center justify-between py-4 px-6 rounded-xl bg-gradient-to-r from-t_bg_tertiary/[0.03] to-t_bg_tertiary/[0.01]", children: [
27367
+ /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: "flex items-center gap-2 min-w-0", children: [
27368
+ /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("h2", { className: "text-sm leading-6 tracking-[0.01em] text-t_text_primary whitespace-nowrap", children: "Fast Delivery" }),
27369
+ /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("div", { className: "w-0.5 h-0.5 bg-t_text_primary opacity-25 shrink-0" }),
27370
+ /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: "flex items-center gap-1.5 min-w-0", children: [
27371
+ /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("p", { className: "text-sm leading-6 tracking-[0.01em] text-t_text_primary text-opacity-50 whitespace-nowrap truncate", children: expressDelivery ? "Est. Time 30 Sec." : "Est. Time 30 Min." }),
27372
+ /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
27121
27373
  Tooltip,
27122
27374
  {
27123
27375
  text: "Fast Delivery is a special feature of XSwap that reduces transaction time across chains to around 30 seconds. It is currently available for swaps below a value of $1000 USD.",
@@ -27126,7 +27378,7 @@ var Delivery = () => {
27126
27378
  id: "express-delivery-tooltip"
27127
27379
  }
27128
27380
  ),
27129
- /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(
27381
+ /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
27130
27382
  InfoThinIcon,
27131
27383
  {
27132
27384
  ref: tooltipTriggerRef,
@@ -27135,7 +27387,7 @@ var Delivery = () => {
27135
27387
  )
27136
27388
  ] })
27137
27389
  ] }),
27138
- /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(
27390
+ /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
27139
27391
  ToggleButton,
27140
27392
  {
27141
27393
  checked: expressDelivery,
@@ -27148,13 +27400,13 @@ var Delivery = () => {
27148
27400
  };
27149
27401
 
27150
27402
  // src/components/Swap/SettingsView/Slippage/index.tsx
27151
- var import_react31 = require("react");
27152
- var import_jsx_runtime106 = require("react/jsx-runtime");
27403
+ var import_react34 = require("react");
27404
+ var import_jsx_runtime107 = require("react/jsx-runtime");
27153
27405
  var defaultPreset = "1.5";
27154
27406
  var presets = ["1", "2", "6"];
27155
27407
  var Slippage = () => {
27156
27408
  const { slippage, setSlippage } = useSwapContext();
27157
- const [customSlippage, setCustomSlippage] = (0, import_react31.useState)(slippage);
27409
+ const [customSlippage, setCustomSlippage] = (0, import_react34.useState)(slippage);
27158
27410
  const onInputChange = (value) => {
27159
27411
  if (value.length === 0) {
27160
27412
  setCustomSlippage("");
@@ -27169,18 +27421,18 @@ var Slippage = () => {
27169
27421
  }
27170
27422
  }
27171
27423
  };
27172
- return /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: "flex flex-col gap-6 py-4 px-6 rounded-xl bg-gradient-to-r from-t_bg_tertiary/[0.03] to-t_bg_tertiary/[0.01]", children: [
27173
- /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: "flex flex-col gap-4", children: [
27174
- /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: "flex items-center gap-2", children: [
27175
- /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("h2", { className: "text-sm leading-6 tracking-[0.01em] text-t_text_primary", children: "Slippage" }),
27176
- /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("div", { className: "w-0.5 h-0.5 bg-t_text_primary opacity-25 shrink-0" }),
27177
- /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("p", { className: "text-sm leading-6 tracking-[0.01em] text-t_text_primary text-opacity-50", children: `${Number(slippage).toFixed(2)}%` })
27424
+ return /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)("div", { className: "flex flex-col gap-6 py-4 px-6 rounded-xl bg-gradient-to-r from-t_bg_tertiary/[0.03] to-t_bg_tertiary/[0.01]", children: [
27425
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)("div", { className: "flex flex-col gap-4", children: [
27426
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)("div", { className: "flex items-center gap-2", children: [
27427
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("h2", { className: "text-sm leading-6 tracking-[0.01em] text-t_text_primary", children: "Slippage" }),
27428
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("div", { className: "w-0.5 h-0.5 bg-t_text_primary opacity-25 shrink-0" }),
27429
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("p", { className: "text-sm leading-6 tracking-[0.01em] text-t_text_primary text-opacity-50", children: `${Number(slippage).toFixed(2)}%` })
27178
27430
  ] }),
27179
- /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: "flex items-center gap-4 w-full", children: [
27180
- /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: "flex items-center justify-between flex-1 h-12 gap-3 p-3 rounded-[10px] bg-gradient-to-r from-t_bg_tertiary/[0.02] to-t_bg_tertiary/[0.02] bg-[rgba(40,40,40,0.15)] border border-solid border-t_text_primary border-opacity-5", children: [
27181
- /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: "flex items-center gap-3 min-w-0 flex-1", children: [
27182
- /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("div", { className: "flex items-center justify-center w-6 h-6 rounded bg-t_bg_tertiary bg-opacity-5 shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(AdjustmentsIcon, { className: "w-3.5 h-3.5 text-t_text_primary" }) }),
27183
- /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
27431
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)("div", { className: "flex items-center gap-4 w-full", children: [
27432
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)("div", { className: "flex items-center justify-between flex-1 h-12 gap-3 p-3 rounded-[10px] bg-gradient-to-r from-t_bg_tertiary/[0.02] to-t_bg_tertiary/[0.02] bg-[rgba(40,40,40,0.15)] border border-solid border-t_text_primary border-opacity-5", children: [
27433
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)("div", { className: "flex items-center gap-3 min-w-0 flex-1", children: [
27434
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("div", { className: "flex items-center justify-center w-6 h-6 rounded bg-t_bg_tertiary bg-opacity-5 shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(AdjustmentsIcon, { className: "w-3.5 h-3.5 text-t_text_primary" }) }),
27435
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
27184
27436
  SafeInput,
27185
27437
  {
27186
27438
  id: "slippage-input",
@@ -27192,10 +27444,10 @@ var Slippage = () => {
27192
27444
  }
27193
27445
  )
27194
27446
  ] }),
27195
- /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("span", { className: "text-sm leading-6 text-t_text_primary text-opacity-50 shrink-0", children: "%" })
27447
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("span", { className: "text-sm leading-6 text-t_text_primary text-opacity-50 shrink-0", children: "%" })
27196
27448
  ] }),
27197
- /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("div", { className: "w-0.5 h-0.5 bg-t_text_primary opacity-25 shrink-0 hidden sm:block" }),
27198
- /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("div", { className: "flex items-center gap-2", children: presets.map((preset) => /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
27449
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("div", { className: "w-0.5 h-0.5 bg-t_text_primary opacity-25 shrink-0 hidden sm:block" }),
27450
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("div", { className: "flex items-center gap-2", children: presets.map((preset) => /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
27199
27451
  "button",
27200
27452
  {
27201
27453
  type: "button",
@@ -27207,10 +27459,10 @@ var Slippage = () => {
27207
27459
  )) })
27208
27460
  ] })
27209
27461
  ] }),
27210
- /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: "flex flex-col gap-3", children: [
27211
- /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("p", { className: "text-[10px] leading-4 tracking-[0.015em] text-t_text_primary text-opacity-30", children: "NOTE." }),
27212
- /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("p", { className: "text-sm leading-[18px] tracking-[0.01em] text-t_text_primary text-opacity-40", children: [
27213
- /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("span", { className: "font-medium", children: "Slippage" }),
27462
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)("div", { className: "flex flex-col gap-3", children: [
27463
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("p", { className: "text-[10px] leading-4 tracking-[0.015em] text-t_text_primary text-opacity-30", children: "NOTE." }),
27464
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)("p", { className: "text-sm leading-[18px] tracking-[0.01em] text-t_text_primary text-opacity-40", children: [
27465
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("span", { className: "font-medium", children: "Slippage" }),
27214
27466
  ` defines how much a price can change before your
27215
27467
  transfer falls back to USDC. If the price moves more than your
27216
27468
  tolerance allows, you'll receive USDC on your destination chain.`
@@ -27220,17 +27472,17 @@ var Slippage = () => {
27220
27472
  };
27221
27473
 
27222
27474
  // src/components/Swap/SettingsView/index.tsx
27223
- var import_jsx_runtime107 = require("react/jsx-runtime");
27475
+ var import_jsx_runtime108 = require("react/jsx-runtime");
27224
27476
  var SettingsView = () => {
27225
- return /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)("div", { className: "flex flex-col gap-2", children: [
27226
- /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(Delivery, {}),
27227
- /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(InfiniteApproval, {}),
27228
- /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(Slippage, {})
27477
+ return /* @__PURE__ */ (0, import_jsx_runtime108.jsxs)("div", { className: "flex flex-col gap-2", children: [
27478
+ /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(Delivery, {}),
27479
+ /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(InfiniteApproval, {}),
27480
+ /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(Slippage, {})
27229
27481
  ] });
27230
27482
  };
27231
27483
 
27232
27484
  // src/components/Swap/ReorderButton/ReorderButton.tsx
27233
- var import_jsx_runtime108 = require("react/jsx-runtime");
27485
+ var import_jsx_runtime109 = require("react/jsx-runtime");
27234
27486
  var ReorderButton = () => {
27235
27487
  const {
27236
27488
  dstChain,
@@ -27248,13 +27500,13 @@ var ReorderButton = () => {
27248
27500
  setDstToken(srcToken);
27249
27501
  setSrcToken(dstToken);
27250
27502
  };
27251
- return /* @__PURE__ */ (0, import_jsx_runtime108.jsx)("div", { className: "h-0 w-full relative z-[1]", children: /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
27503
+ return /* @__PURE__ */ (0, import_jsx_runtime109.jsx)("div", { className: "h-0 w-full relative z-[1]", children: /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
27252
27504
  "button",
27253
27505
  {
27254
27506
  onClick: onReorderClick,
27255
27507
  "aria-label": "Switch target token with the source token",
27256
27508
  className: "absolute left-1/2 -translate-x-1/2 -translate-y-1/2 flex items-center justify-center w-8 h-8 rounded-md backdrop-blur-[24px] bg-t_bg_secondary bg-gradient-to-r from-t_bg_tertiary/5 to-t_bg_tertiary/5 hover:from-t_bg_tertiary/10 hover:to-t_bg_tertiary/10 transition-colors",
27257
- children: /* @__PURE__ */ (0, import_jsx_runtime108.jsx)("div", { className: "flex text-t_text_primary opacity-50", children: /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(ChevronsUpDownThinIcon, {}) })
27509
+ children: /* @__PURE__ */ (0, import_jsx_runtime109.jsx)("div", { className: "flex text-t_text_primary opacity-50", children: /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(ChevronsUpDownThinIcon, {}) })
27258
27510
  }
27259
27511
  ) });
27260
27512
  };
@@ -27265,7 +27517,7 @@ var specialApprovalTokens = {
27265
27517
  };
27266
27518
 
27267
27519
  // src/hooks/useERC20Token.ts
27268
- var import_react32 = require("react");
27520
+ var import_react35 = require("react");
27269
27521
  var useERC20Token = ({
27270
27522
  rpcChainId,
27271
27523
  currentChainId,
@@ -27274,7 +27526,7 @@ var useERC20Token = ({
27274
27526
  }) => {
27275
27527
  const evmContractApi = useEvmContractApi_default();
27276
27528
  const { supportedChains } = useSwapContext();
27277
- const contract = (0, import_react32.useMemo)(() => {
27529
+ const contract = (0, import_react35.useMemo)(() => {
27278
27530
  const rpcUrl = supportedChains.find(
27279
27531
  (chain) => chain.ecosystem === "evm" /* EVM */ && chain.chainId === rpcChainId
27280
27532
  )?.publicRpcUrls[0];
@@ -27288,13 +27540,13 @@ var useERC20Token = ({
27288
27540
  return null;
27289
27541
  }, [rpcChainId, currentChainId, signer, tokenAddress, supportedChains]);
27290
27542
  return {
27291
- balanceOf: (0, import_react32.useCallback)(
27543
+ balanceOf: (0, import_react35.useCallback)(
27292
27544
  async (address) => {
27293
27545
  return await evmContractApi.query(contract, "balanceOf", [address]);
27294
27546
  },
27295
27547
  [contract, evmContractApi]
27296
27548
  ),
27297
- allowance: (0, import_react32.useCallback)(
27549
+ allowance: (0, import_react35.useCallback)(
27298
27550
  async (address, allowedToSpendAddress) => {
27299
27551
  return await evmContractApi.query(contract, "allowance", [
27300
27552
  address,
@@ -27303,7 +27555,7 @@ var useERC20Token = ({
27303
27555
  },
27304
27556
  [contract, evmContractApi]
27305
27557
  ),
27306
- approve: (0, import_react32.useCallback)(
27558
+ approve: (0, import_react35.useCallback)(
27307
27559
  async (amount, allowedToSpendAddress) => {
27308
27560
  return await evmContractApi.execute(contract, "approve", [
27309
27561
  allowedToSpendAddress,
@@ -27316,9 +27568,9 @@ var useERC20Token = ({
27316
27568
  };
27317
27569
 
27318
27570
  // src/components/Swap/SwapView/SwapButton/index.tsx
27319
- var import_react33 = require("react");
27571
+ var import_react36 = require("react");
27320
27572
  var import_wagmi7 = require("wagmi");
27321
- var import_jsx_runtime109 = require("react/jsx-runtime");
27573
+ var import_jsx_runtime110 = require("react/jsx-runtime");
27322
27574
  var SwapButton = () => {
27323
27575
  const { address, chainId } = (0, import_wagmi7.useAccount)();
27324
27576
  const { switchChainAsync } = (0, import_wagmi7.useSwitchChain)();
@@ -27338,11 +27590,11 @@ var SwapButton = () => {
27338
27590
  onConnectWallet
27339
27591
  } = useSwapContext();
27340
27592
  const { setTxStatus, setTxMsg, setTxModalOpen, enqueueTransaction } = useTxUIWrapper();
27341
- const srcChainId = (0, import_react33.useMemo)(() => srcChain?.chainId, [srcChain?.chainId]);
27342
- const dstChainId = (0, import_react33.useMemo)(() => dstChain?.chainId, [dstChain?.chainId]);
27343
- const srcTokenAddress = (0, import_react33.useMemo)(() => srcToken?.address, [srcToken?.address]);
27344
- const dstTokenAddress = (0, import_react33.useMemo)(() => dstToken?.address, [dstToken?.address]);
27345
- const [currentTokenAllowance, setCurrentTokenAllowance] = (0, import_react33.useState)("0");
27593
+ const srcChainId = (0, import_react36.useMemo)(() => srcChain?.chainId, [srcChain?.chainId]);
27594
+ const dstChainId = (0, import_react36.useMemo)(() => dstChain?.chainId, [dstChain?.chainId]);
27595
+ const srcTokenAddress = (0, import_react36.useMemo)(() => srcToken?.address, [srcToken?.address]);
27596
+ const dstTokenAddress = (0, import_react36.useMemo)(() => dstToken?.address, [dstToken?.address]);
27597
+ const [currentTokenAllowance, setCurrentTokenAllowance] = (0, import_react36.useState)("0");
27346
27598
  const {
27347
27599
  networks: { evm }
27348
27600
  } = useNetworks_default();
@@ -27359,11 +27611,11 @@ var SwapButton = () => {
27359
27611
  signer: evm.signer,
27360
27612
  tokenAddress: srcTokenAddress
27361
27613
  });
27362
- const routerAddress = (0, import_react33.useMemo)(() => {
27614
+ const routerAddress = (0, import_react36.useMemo)(() => {
27363
27615
  if (!srcChainId) return "";
27364
27616
  return srcChainId === dstChainId ? ADDRESSES[srcChainId]?.XSwapRouterSingleChain || "" : ADDRESSES[srcChainId]?.XSwapRouter || "";
27365
27617
  }, [srcChainId, dstChainId]);
27366
- const getAllowance = (0, import_react33.useCallback)(async () => {
27618
+ const getAllowance = (0, import_react36.useCallback)(async () => {
27367
27619
  if (routerAddress && evm.address) {
27368
27620
  try {
27369
27621
  const currentAllowance = await allowance(evm.address, routerAddress);
@@ -27375,17 +27627,17 @@ var SwapButton = () => {
27375
27627
  setCurrentTokenAllowance("0");
27376
27628
  }
27377
27629
  }, [allowance, evm.address, routerAddress]);
27378
- (0, import_react33.useEffect)(() => {
27630
+ (0, import_react36.useEffect)(() => {
27379
27631
  if (srcChainId && specialApprovalTokens[srcChainId]?.includes(srcTokenAddress)) {
27380
27632
  getAllowance();
27381
27633
  }
27382
27634
  }, [getAllowance, srcChainId, srcTokenAddress]);
27383
- const showSwapConfirmationView = (0, import_react33.useCallback)(() => {
27635
+ const showSwapConfirmationView = (0, import_react36.useCallback)(() => {
27384
27636
  setTxStatus(0 /* SWAP_INIT */);
27385
27637
  setTxMsg("");
27386
27638
  setTxModalOpen(true);
27387
27639
  }, [setTxModalOpen, setTxMsg, setTxStatus]);
27388
- const button = (0, import_react33.useMemo)(() => {
27640
+ const button = (0, import_react36.useMemo)(() => {
27389
27641
  if (!isAsyncDataLoaded) {
27390
27642
  return {
27391
27643
  text: "Loading XPay...",
@@ -27556,7 +27808,7 @@ var SwapButton = () => {
27556
27808
  setTxStatus,
27557
27809
  showSwapConfirmationView
27558
27810
  ]);
27559
- return /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(import_jsx_runtime109.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
27811
+ return /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(import_jsx_runtime110.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
27560
27812
  "button",
27561
27813
  {
27562
27814
  type: "button",
@@ -27569,11 +27821,11 @@ var SwapButton = () => {
27569
27821
  };
27570
27822
 
27571
27823
  // src/components/Swap/SwapView/SwapPanel/index.tsx
27572
- var import_react39 = require("react");
27824
+ var import_react42 = require("react");
27573
27825
 
27574
27826
  // src/components/Swap/SwapView/SwapPanel/AmountPanel/index.tsx
27575
- var import_react34 = require("react");
27576
- var import_jsx_runtime110 = require("react/jsx-runtime");
27827
+ var import_react37 = require("react");
27828
+ var import_jsx_runtime111 = require("react/jsx-runtime");
27577
27829
  var AmountPanel = ({ type }) => {
27578
27830
  const {
27579
27831
  srcChain,
@@ -27600,7 +27852,7 @@ var AmountPanel = ({ type }) => {
27600
27852
  })
27601
27853
  );
27602
27854
  };
27603
- const value = (0, import_react34.useMemo)(() => {
27855
+ const value = (0, import_react37.useMemo)(() => {
27604
27856
  if (type === "destination" && dstToken && dstChain && bridgeUI && srcChain?.ecosystem === "solana" /* SOLANA */) {
27605
27857
  return srcValue;
27606
27858
  }
@@ -27615,10 +27867,10 @@ var AmountPanel = ({ type }) => {
27615
27867
  dstChain
27616
27868
  ]);
27617
27869
  if (!isAsyncDataLoaded) {
27618
- return /* @__PURE__ */ (0, import_jsx_runtime110.jsx)("div", { className: "flex items-center flex-1 min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(Skeleton, { className: "w-[100px] h-8" }) });
27870
+ return /* @__PURE__ */ (0, import_jsx_runtime111.jsx)("div", { className: "flex items-center flex-1 min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(Skeleton, { className: "w-[100px] h-8" }) });
27619
27871
  }
27620
- return /* @__PURE__ */ (0, import_jsx_runtime110.jsx)("div", { className: "flex items-center gap-3 flex-1 min-w-0 overflow-hidden text-left", children: type === "source" ? /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(import_jsx_runtime110.Fragment, { children: [
27621
- /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
27872
+ return /* @__PURE__ */ (0, import_jsx_runtime111.jsx)("div", { className: "flex items-center gap-3 flex-1 min-w-0 overflow-hidden text-left", children: type === "source" ? /* @__PURE__ */ (0, import_jsx_runtime111.jsxs)(import_jsx_runtime111.Fragment, { children: [
27873
+ /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(
27622
27874
  SafeInput,
27623
27875
  {
27624
27876
  id: "swap-amount-input",
@@ -27628,7 +27880,7 @@ var AmountPanel = ({ type }) => {
27628
27880
  onChange: (value2) => setSrcValue(value2)
27629
27881
  }
27630
27882
  ),
27631
- !!srcToken && !!srcTokenBalanceWei && /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
27883
+ !!srcToken && !!srcTokenBalanceWei && /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(
27632
27884
  "button",
27633
27885
  {
27634
27886
  type: "button",
@@ -27637,12 +27889,12 @@ var AmountPanel = ({ type }) => {
27637
27889
  children: "MAX"
27638
27890
  }
27639
27891
  )
27640
- ] }) : isFetchingRoute ? /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(Skeleton, { className: "w-[150px] h-[32px]" }) : /* @__PURE__ */ (0, import_jsx_runtime110.jsx)("div", { className: "text-2xl leading-8 text-t_text_primary opacity-60 truncate", children: value || 0 }) });
27892
+ ] }) : isFetchingRoute ? /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(Skeleton, { className: "w-[150px] h-[32px]" }) : /* @__PURE__ */ (0, import_jsx_runtime111.jsx)("div", { className: "text-2xl leading-8 text-t_text_primary opacity-60 truncate", children: value || 0 }) });
27641
27893
  };
27642
27894
 
27643
27895
  // src/components/Swap/SwapView/SwapPanel/AmountPanel/Balance/index.tsx
27644
- var import_react35 = require("react");
27645
- var import_jsx_runtime111 = require("react/jsx-runtime");
27896
+ var import_react38 = require("react");
27897
+ var import_jsx_runtime112 = require("react/jsx-runtime");
27646
27898
  var Balance = ({ type }) => {
27647
27899
  const {
27648
27900
  srcToken,
@@ -27653,7 +27905,7 @@ var Balance = ({ type }) => {
27653
27905
  dstChain,
27654
27906
  dstChainTokensOptions
27655
27907
  } = useSwapContext();
27656
- const dstTokenBalanceInfo = (0, import_react35.useMemo)(() => {
27908
+ const dstTokenBalanceInfo = (0, import_react38.useMemo)(() => {
27657
27909
  if (!dstToken || !dstChain) {
27658
27910
  return "";
27659
27911
  }
@@ -27675,15 +27927,15 @@ var Balance = ({ type }) => {
27675
27927
  if (!token || !balanceInfo && !isLoading) {
27676
27928
  return null;
27677
27929
  }
27678
- return /* @__PURE__ */ (0, import_jsx_runtime111.jsx)("div", { className: "flex items-center justify-end py-1", children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(Skeleton, { className: "w-[80px] h-[16px]" }) : /* @__PURE__ */ (0, import_jsx_runtime111.jsxs)("p", { className: "text-[10px] leading-4 text-right whitespace-nowrap", children: [
27679
- /* @__PURE__ */ (0, import_jsx_runtime111.jsx)("span", { className: "text-t_text_primary text-opacity-50", children: `Balance. ` }),
27680
- /* @__PURE__ */ (0, import_jsx_runtime111.jsx)("span", { className: "text-t_text_primary text-opacity-75 tracking-[0.032em]", children: `${balanceInfo} ${token.symbol}` })
27930
+ return /* @__PURE__ */ (0, import_jsx_runtime112.jsx)("div", { className: "flex items-center justify-end py-1", children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(Skeleton, { className: "w-[80px] h-[16px]" }) : /* @__PURE__ */ (0, import_jsx_runtime112.jsxs)("p", { className: "text-[10px] leading-4 text-right whitespace-nowrap", children: [
27931
+ /* @__PURE__ */ (0, import_jsx_runtime112.jsx)("span", { className: "text-t_text_primary text-opacity-50", children: `Balance. ` }),
27932
+ /* @__PURE__ */ (0, import_jsx_runtime112.jsx)("span", { className: "text-t_text_primary text-opacity-75 tracking-[0.032em]", children: `${balanceInfo} ${token.symbol}` })
27681
27933
  ] }) });
27682
27934
  };
27683
27935
 
27684
27936
  // src/components/Swap/SwapView/SwapPanel/TokenPanel/index.tsx
27685
- var import_react36 = require("react");
27686
- var import_jsx_runtime112 = require("react/jsx-runtime");
27937
+ var import_react39 = require("react");
27938
+ var import_jsx_runtime113 = require("react/jsx-runtime");
27687
27939
  var TokenPanel = ({ chain, token, type, className }) => {
27688
27940
  const {
27689
27941
  bridgeUI,
@@ -27693,36 +27945,36 @@ var TokenPanel = ({ chain, token, type, className }) => {
27693
27945
  setActivePicker,
27694
27946
  isAsyncDataLoaded
27695
27947
  } = useSwapContext();
27696
- const integratorLockedDestinationToken = (0, import_react36.useMemo)(
27948
+ const integratorLockedDestinationToken = (0, import_react39.useMemo)(
27697
27949
  () => type === "destination" && dstTokenLocked,
27698
27950
  [type, dstTokenLocked]
27699
27951
  );
27700
- const integratorLockedSourceToken = (0, import_react36.useMemo)(
27952
+ const integratorLockedSourceToken = (0, import_react39.useMemo)(
27701
27953
  () => type === "source" && srcTokenLocked,
27702
27954
  [type, srcTokenLocked]
27703
27955
  );
27704
- const bridgeDestination = (0, import_react36.useMemo)(
27956
+ const bridgeDestination = (0, import_react39.useMemo)(
27705
27957
  () => type === "destination" && bridgeUI,
27706
27958
  [bridgeUI, type]
27707
27959
  );
27708
27960
  const locked = bridgeDestination && dstChainLocked || integratorLockedDestinationToken || integratorLockedSourceToken;
27709
27961
  if (!isAsyncDataLoaded) {
27710
- return /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(
27962
+ return /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(
27711
27963
  "div",
27712
27964
  {
27713
27965
  className: `flex items-center shrink-0 min-h-11 ${className || ""}`,
27714
27966
  "aria-hidden": true,
27715
- children: /* @__PURE__ */ (0, import_jsx_runtime112.jsxs)("div", { className: "flex items-center gap-3", children: [
27716
- /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(Skeleton, { className: "w-12 h-4" }),
27717
- /* @__PURE__ */ (0, import_jsx_runtime112.jsxs)("div", { className: "relative flex items-end pr-1 pb-1", children: [
27718
- /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(Skeleton, { className: "w-10 h-10 rounded-full" }),
27719
- /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(Skeleton, { className: "absolute bottom-0 right-0 w-[18px] h-[18px] rounded-full border border-solid border-t_bg_secondary" })
27967
+ children: /* @__PURE__ */ (0, import_jsx_runtime113.jsxs)("div", { className: "flex items-center gap-3", children: [
27968
+ /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(Skeleton, { className: "w-12 h-4" }),
27969
+ /* @__PURE__ */ (0, import_jsx_runtime113.jsxs)("div", { className: "relative flex items-end pr-1 pb-1", children: [
27970
+ /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(Skeleton, { className: "w-10 h-10 rounded-full" }),
27971
+ /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(Skeleton, { className: "absolute bottom-0 right-0 w-[18px] h-[18px] rounded-full border border-solid border-t_bg_secondary" })
27720
27972
  ] })
27721
27973
  ] })
27722
27974
  }
27723
27975
  );
27724
27976
  }
27725
- return /* @__PURE__ */ (0, import_jsx_runtime112.jsxs)(
27977
+ return /* @__PURE__ */ (0, import_jsx_runtime113.jsxs)(
27726
27978
  "button",
27727
27979
  {
27728
27980
  type: "button",
@@ -27732,15 +27984,15 @@ var TokenPanel = ({ chain, token, type, className }) => {
27732
27984
  },
27733
27985
  className: `flex items-center shrink-0 min-h-11 rounded-lg ${locked ? "" : "hover:opacity-80 transition-opacity"} ${className || ""}`,
27734
27986
  children: [
27735
- /* @__PURE__ */ (0, import_jsx_runtime112.jsxs)("div", { className: "flex items-center gap-3", children: [
27736
- /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(
27987
+ /* @__PURE__ */ (0, import_jsx_runtime113.jsxs)("div", { className: "flex items-center gap-3", children: [
27988
+ /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(
27737
27989
  "p",
27738
27990
  {
27739
27991
  className: `text-sm font-medium leading-6 tracking-[0.01em] text-t_text_primary ${token ? "" : "opacity-60"}`,
27740
27992
  children: token ? token.symbol : bridgeDestination && chain ? chain.displayName : "Select"
27741
27993
  }
27742
27994
  ),
27743
- token ? /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(
27995
+ token ? /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(
27744
27996
  TokenLogoWithChain,
27745
27997
  {
27746
27998
  token,
@@ -27749,7 +28001,7 @@ var TokenPanel = ({ chain, token, type, className }) => {
27749
28001
  generatedLogoClassName: "w-10 h-10 text-[16px]",
27750
28002
  chainLogoClassName: "w-[18px]"
27751
28003
  }
27752
- ) : bridgeDestination && chain && /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(
28004
+ ) : bridgeDestination && chain && /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(
27753
28005
  "img",
27754
28006
  {
27755
28007
  src: chain.image,
@@ -27760,30 +28012,30 @@ var TokenPanel = ({ chain, token, type, className }) => {
27760
28012
  ] }),
27761
28013
  !locked && // The 24px glyph has 8px of built-in whitespace on each side; pull the
27762
28014
  // right side back so the chevron sits flush with the panel edge.
27763
- /* @__PURE__ */ (0, import_jsx_runtime112.jsx)("div", { className: "flex items-center justify-center w-6 h-6 ml-1 -mr-2 text-t_text_primary opacity-50", children: /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(ChevronDownThinIcon, {}) })
28015
+ /* @__PURE__ */ (0, import_jsx_runtime113.jsx)("div", { className: "flex items-center justify-center w-6 h-6 ml-1 -mr-2 text-t_text_primary opacity-50", children: /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(ChevronDownThinIcon, {}) })
27764
28016
  ]
27765
28017
  }
27766
28018
  );
27767
28019
  };
27768
28020
 
27769
28021
  // src/components/Swap/SwapView/SwapPanel/UsdValue/index.tsx
27770
- var import_react37 = require("react");
27771
- var import_jsx_runtime113 = require("react/jsx-runtime");
28022
+ var import_react40 = require("react");
28023
+ var import_jsx_runtime114 = require("react/jsx-runtime");
27772
28024
  var UsdValue = ({ type }) => {
27773
28025
  const { srcValueUsd, dstValueUsd, isFetchingRoute } = useSwapContext();
27774
- const valueUsd = (0, import_react37.useMemo)(
28026
+ const valueUsd = (0, import_react40.useMemo)(
27775
28027
  () => type === "source" ? srcValueUsd : dstValueUsd,
27776
28028
  [dstValueUsd, srcValueUsd, type]
27777
28029
  );
27778
28030
  if (type === "destination" && isFetchingRoute) {
27779
- return /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(Skeleton, { className: "w-[80px] h-[16px] my-1" });
28031
+ return /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(Skeleton, { className: "w-[80px] h-[16px] my-1" });
27780
28032
  }
27781
- return /* @__PURE__ */ (0, import_jsx_runtime113.jsx)("p", { className: "py-1 text-[10px] leading-4 tracking-[0.01em] text-t_text_primary text-opacity-50 whitespace-nowrap", children: valueUsd ? `${valueUsd} USD` : "" });
28033
+ return /* @__PURE__ */ (0, import_jsx_runtime114.jsx)("p", { className: "py-1 text-[10px] leading-4 tracking-[0.01em] text-t_text_primary text-opacity-50 whitespace-nowrap", children: valueUsd ? `${valueUsd} USD` : "" });
27782
28034
  };
27783
28035
 
27784
28036
  // src/components/Swap/SwapView/SwapPanel/WalletPanel/index.tsx
27785
- var import_react38 = require("react");
27786
- var import_jsx_runtime114 = require("react/jsx-runtime");
28037
+ var import_react41 = require("react");
28038
+ var import_jsx_runtime115 = require("react/jsx-runtime");
27787
28039
  var WalletPanel = ({ chain, className }) => {
27788
28040
  const {
27789
28041
  setOpenEVMWalletModal,
@@ -27799,7 +28051,7 @@ var WalletPanel = ({ chain, className }) => {
27799
28051
  onConnectWallet,
27800
28052
  isAsyncDataLoaded
27801
28053
  } = useSwapContext();
27802
- const openEvmWalletModal = (0, import_react38.useCallback)(() => {
28054
+ const openEvmWalletModal = (0, import_react41.useCallback)(() => {
27803
28055
  if (!integrationConfig.defaultWalletPicker && hasOnConnectWalletCallback) {
27804
28056
  onConnectWallet();
27805
28057
  return;
@@ -27811,7 +28063,7 @@ var WalletPanel = ({ chain, className }) => {
27811
28063
  onConnectWallet,
27812
28064
  setOpenEVMWalletModal
27813
28065
  ]);
27814
- const openWalletModal = (0, import_react38.useCallback)(() => {
28066
+ const openWalletModal = (0, import_react41.useCallback)(() => {
27815
28067
  if (!chain) {
27816
28068
  return;
27817
28069
  }
@@ -27823,7 +28075,7 @@ var WalletPanel = ({ chain, className }) => {
27823
28075
  setOpenSuiWalletModal(true);
27824
28076
  }
27825
28077
  }, [chain, openEvmWalletModal, setOpenSolanaWalletModal, setOpenSuiWalletModal]);
27826
- const address = (0, import_react38.useMemo)(() => {
28078
+ const address = (0, import_react41.useMemo)(() => {
27827
28079
  if (!chain) {
27828
28080
  return "";
27829
28081
  }
@@ -27837,34 +28089,34 @@ var WalletPanel = ({ chain, className }) => {
27837
28089
  return "";
27838
28090
  }, [chain, evm, solana, sui]);
27839
28091
  if (!isAsyncDataLoaded) {
27840
- return /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(Skeleton, { className: "w-16 h-6" });
28092
+ return /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(Skeleton, { className: "w-16 h-6" });
27841
28093
  }
27842
28094
  if (!chain) {
27843
- return /* @__PURE__ */ (0, import_jsx_runtime114.jsx)("div", { className: "h-6", "aria-hidden": true });
28095
+ return /* @__PURE__ */ (0, import_jsx_runtime115.jsx)("div", { className: "h-6", "aria-hidden": true });
27844
28096
  }
27845
- return /* @__PURE__ */ (0, import_jsx_runtime114.jsxs)(
28097
+ return /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)(
27846
28098
  "button",
27847
28099
  {
27848
28100
  type: "button",
27849
28101
  onClick: openWalletModal,
27850
28102
  className: `flex items-center justify-center px-2 py-1 rounded bg-t_bg_tertiary bg-opacity-5 hover:bg-opacity-10 transition-colors ${className || ""}`,
27851
28103
  children: [
27852
- /* @__PURE__ */ (0, import_jsx_runtime114.jsx)("p", { className: "text-[10px] leading-4 tracking-[0.01em] text-t_text_primary whitespace-nowrap", children: address ? shortAddress(address) : "Connect" }),
27853
- /* @__PURE__ */ (0, import_jsx_runtime114.jsx)("div", { className: "flex items-center justify-center w-4 h-4 -mr-1.5 text-t_text_primary opacity-50", children: /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(ChevronDownThinSmallIcon, {}) })
28104
+ /* @__PURE__ */ (0, import_jsx_runtime115.jsx)("p", { className: "text-[10px] leading-4 tracking-[0.01em] text-t_text_primary whitespace-nowrap", children: address ? shortAddress(address) : "Connect" }),
28105
+ /* @__PURE__ */ (0, import_jsx_runtime115.jsx)("div", { className: "flex items-center justify-center w-4 h-4 -mr-1.5 text-t_text_primary opacity-50", children: /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(ChevronDownThinSmallIcon, {}) })
27854
28106
  ]
27855
28107
  }
27856
28108
  );
27857
28109
  };
27858
28110
 
27859
28111
  // src/components/Swap/SwapView/SwapPanel/index.tsx
27860
- var import_jsx_runtime115 = require("react/jsx-runtime");
28112
+ var import_jsx_runtime116 = require("react/jsx-runtime");
27861
28113
  var SwapPanel = ({ type }) => {
27862
28114
  const { srcChain, srcToken, dstChain, dstToken } = useSwapContext();
27863
- const token = (0, import_react39.useMemo)(
28115
+ const token = (0, import_react42.useMemo)(
27864
28116
  () => type === "source" ? srcToken : dstToken,
27865
28117
  [type, srcToken, dstToken]
27866
28118
  );
27867
- const chain = (0, import_react39.useMemo)(
28119
+ const chain = (0, import_react42.useMemo)(
27868
28120
  () => type === "source" ? srcChain : dstChain,
27869
28121
  [type, srcChain, dstChain]
27870
28122
  );
@@ -27874,23 +28126,23 @@ var SwapPanel = ({ type }) => {
27874
28126
  }
27875
28127
  event.currentTarget.querySelector("#swap-amount-input")?.focus();
27876
28128
  };
27877
- return /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)(
28129
+ return /* @__PURE__ */ (0, import_jsx_runtime116.jsxs)(
27878
28130
  "div",
27879
28131
  {
27880
28132
  onClick: focusAmountInput,
27881
28133
  className: `flex flex-col gap-2 px-4 sm:px-6 py-4 rounded-2xl backdrop-blur-[12px] ${type === "source" ? "bg-gradient-to-r from-t_bg_tertiary/5 to-t_bg_tertiary/5 swap-panel-gradient-border cursor-text" : "bg-gradient-to-r from-t_bg_tertiary/[0.03] to-t_bg_tertiary/[0.03]"}`,
27882
28134
  children: [
27883
- /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)("div", { className: "flex gap-2 items-center w-full min-h-6", children: [
27884
- /* @__PURE__ */ (0, import_jsx_runtime115.jsx)("p", { className: "text-[10px] leading-4 tracking-[0.01em] text-t_text_primary text-opacity-50", children: type === "source" ? "Source" : "Destination" }),
27885
- /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(WalletPanel, { chain, type })
28135
+ /* @__PURE__ */ (0, import_jsx_runtime116.jsxs)("div", { className: "flex gap-2 items-center w-full min-h-6", children: [
28136
+ /* @__PURE__ */ (0, import_jsx_runtime116.jsx)("p", { className: "text-[10px] leading-4 tracking-[0.01em] text-t_text_primary text-opacity-50", children: type === "source" ? "Source" : "Destination" }),
28137
+ /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(WalletPanel, { chain, type })
27886
28138
  ] }),
27887
- /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)("div", { className: "flex items-center justify-between w-full gap-4", children: [
27888
- /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(AmountPanel, { type }),
27889
- /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(TokenPanel, { chain, token, type })
28139
+ /* @__PURE__ */ (0, import_jsx_runtime116.jsxs)("div", { className: "flex items-center justify-between w-full gap-4", children: [
28140
+ /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(AmountPanel, { type }),
28141
+ /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(TokenPanel, { chain, token, type })
27890
28142
  ] }),
27891
- /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)("div", { className: "flex items-center justify-between w-full gap-4 min-h-6", children: [
27892
- /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(UsdValue, { type }),
27893
- /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(Balance, { type })
28143
+ /* @__PURE__ */ (0, import_jsx_runtime116.jsxs)("div", { className: "flex items-center justify-between w-full gap-4 min-h-6", children: [
28144
+ /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(UsdValue, { type }),
28145
+ /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(Balance, { type })
27894
28146
  ] })
27895
28147
  ]
27896
28148
  }
@@ -27898,35 +28150,35 @@ var SwapPanel = ({ type }) => {
27898
28150
  };
27899
28151
 
27900
28152
  // src/components/Swap/SwapView/index.tsx
27901
- var import_jsx_runtime116 = require("react/jsx-runtime");
28153
+ var import_jsx_runtime117 = require("react/jsx-runtime");
27902
28154
  var SwapView = () => {
27903
- return /* @__PURE__ */ (0, import_jsx_runtime116.jsxs)("div", { className: "flex flex-col gap-8 fill-t_text_primary", children: [
27904
- /* @__PURE__ */ (0, import_jsx_runtime116.jsxs)("div", { className: "flex flex-col gap-6", children: [
27905
- /* @__PURE__ */ (0, import_jsx_runtime116.jsxs)("div", { className: "flex flex-col gap-1.5", children: [
27906
- /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(SwapPanel, { type: "source" }),
27907
- /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(ReorderButton, {}),
27908
- /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(SwapPanel, { type: "destination" })
28155
+ return /* @__PURE__ */ (0, import_jsx_runtime117.jsxs)("div", { className: "flex flex-col gap-8 fill-t_text_primary", children: [
28156
+ /* @__PURE__ */ (0, import_jsx_runtime117.jsxs)("div", { className: "flex flex-col gap-6", children: [
28157
+ /* @__PURE__ */ (0, import_jsx_runtime117.jsxs)("div", { className: "flex flex-col gap-1.5", children: [
28158
+ /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(SwapPanel, { type: "source" }),
28159
+ /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(ReorderButton, {}),
28160
+ /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(SwapPanel, { type: "destination" })
27909
28161
  ] }),
27910
- /* @__PURE__ */ (0, import_jsx_runtime116.jsx)("div", { className: "h-px w-full gradient-sections-separator-container" }),
27911
- /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(FeesPanel, {})
28162
+ /* @__PURE__ */ (0, import_jsx_runtime117.jsx)("div", { className: "h-px w-full gradient-sections-separator-container" }),
28163
+ /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(FeesPanel, {})
27912
28164
  ] }),
27913
- /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(SwapButton, {})
28165
+ /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(SwapButton, {})
27914
28166
  ] });
27915
28167
  };
27916
28168
 
27917
28169
  // src/components/Swap/SwapView/WalletPicker/index.tsx
27918
- var import_react40 = require("react");
28170
+ var import_react43 = require("react");
27919
28171
  var import_wagmi8 = require("wagmi");
27920
28172
  var import_wallet_adapter_react5 = require("@solana/wallet-adapter-react");
27921
28173
  var import_dapp_kit3 = require("@mysten/dapp-kit");
27922
- var import_jsx_runtime117 = require("react/jsx-runtime");
28174
+ var import_jsx_runtime118 = require("react/jsx-runtime");
27923
28175
  var ConnectorIcon = ({
27924
28176
  connector,
27925
28177
  className
27926
28178
  }) => {
27927
28179
  switch (connector.name) {
27928
28180
  case "WalletConnect": {
27929
- return /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
28181
+ return /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
27930
28182
  WalletConnectIcon,
27931
28183
  {
27932
28184
  className: `w-10 h-10 rounded-lg shrink-0 ${className || ""}`
@@ -27934,7 +28186,7 @@ var ConnectorIcon = ({
27934
28186
  );
27935
28187
  }
27936
28188
  default: {
27937
- return /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
28189
+ return /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
27938
28190
  "img",
27939
28191
  {
27940
28192
  src: connector.icon,
@@ -27945,7 +28197,7 @@ var ConnectorIcon = ({
27945
28197
  }
27946
28198
  }
27947
28199
  };
27948
- var WalletRow = ({ icon, name, isConnected, onClick }) => /* @__PURE__ */ (0, import_jsx_runtime117.jsx)("div", { className: "pb-2", children: /* @__PURE__ */ (0, import_jsx_runtime117.jsxs)(
28200
+ var WalletRow = ({ icon, name, isConnected, onClick }) => /* @__PURE__ */ (0, import_jsx_runtime118.jsx)("div", { className: "pb-2", children: /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)(
27949
28201
  "button",
27950
28202
  {
27951
28203
  type: "button",
@@ -27953,15 +28205,15 @@ var WalletRow = ({ icon, name, isConnected, onClick }) => /* @__PURE__ */ (0, im
27953
28205
  className: `group flex gap-3 items-center w-full p-3 sm:p-4 rounded-xl cursor-pointer bg-gradient-to-r from-t_bg_tertiary/[0.02] to-t_bg_tertiary/[0.02] bg-[rgba(40,40,40,0.15)] hover:bg-t_bg_tertiary hover:bg-opacity-10 transition-colors ${isConnected ? "!bg-t_bg_tertiary !bg-opacity-10" : ""}`,
27954
28206
  children: [
27955
28207
  icon,
27956
- /* @__PURE__ */ (0, import_jsx_runtime117.jsxs)("div", { className: "flex justify-between items-center gap-2 w-full min-w-0", children: [
27957
- /* @__PURE__ */ (0, import_jsx_runtime117.jsx)("p", { className: "text-sm font-medium leading-5 tracking-[0.01em] text-t_text_primary text-left", children: name }),
27958
- isConnected && /* @__PURE__ */ (0, import_jsx_runtime117.jsxs)("span", { className: "flex items-center gap-1.5 text-xs leading-[18px] tracking-[0.01em] whitespace-nowrap", children: [
27959
- /* @__PURE__ */ (0, import_jsx_runtime117.jsxs)("span", { className: "group-hover:hidden flex items-center gap-1.5 text-t_text_green", children: [
27960
- /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(DotGreenIcon, {}),
28208
+ /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)("div", { className: "flex justify-between items-center gap-2 w-full min-w-0", children: [
28209
+ /* @__PURE__ */ (0, import_jsx_runtime118.jsx)("p", { className: "text-sm font-medium leading-5 tracking-[0.01em] text-t_text_primary text-left", children: name }),
28210
+ isConnected && /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)("span", { className: "flex items-center gap-1.5 text-xs leading-[18px] tracking-[0.01em] whitespace-nowrap", children: [
28211
+ /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)("span", { className: "group-hover:hidden flex items-center gap-1.5 text-t_text_green", children: [
28212
+ /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(DotGreenIcon, {}),
27961
28213
  "Connected"
27962
28214
  ] }),
27963
- /* @__PURE__ */ (0, import_jsx_runtime117.jsxs)("span", { className: "hidden group-hover:flex items-center gap-1.5 text-t_text_red", children: [
27964
- /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(DotRedIcon, {}),
28215
+ /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)("span", { className: "hidden group-hover:flex items-center gap-1.5 text-t_text_red", children: [
28216
+ /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(DotRedIcon, {}),
27965
28217
  "Disconnect"
27966
28218
  ] })
27967
28219
  ] })
@@ -27981,7 +28233,7 @@ var WalletPicker = ({ ecosystem, className, onClose }) => {
27981
28233
  publicKey: publicKey9,
27982
28234
  disconnect: disconnectSolana
27983
28235
  } = (0, import_wallet_adapter_react5.useWallet)();
27984
- const handleEvmWalletClick = (0, import_react40.useCallback)(
28236
+ const handleEvmWalletClick = (0, import_react43.useCallback)(
27985
28237
  async (connector) => {
27986
28238
  try {
27987
28239
  await connectAsync({ connector });
@@ -27993,7 +28245,7 @@ var WalletPicker = ({ ecosystem, className, onClose }) => {
27993
28245
  },
27994
28246
  [connectAsync, onClose]
27995
28247
  );
27996
- const handleConnectSolana = (0, import_react40.useCallback)(
28248
+ const handleConnectSolana = (0, import_react43.useCallback)(
27997
28249
  async (walletName) => {
27998
28250
  try {
27999
28251
  select(walletName);
@@ -28011,7 +28263,7 @@ var WalletPicker = ({ ecosystem, className, onClose }) => {
28011
28263
  const suiCurrentWallet = (0, import_dapp_kit3.useCurrentWallet)();
28012
28264
  const { mutateAsync: connectSuiWalletMut } = (0, import_dapp_kit3.useConnectWallet)();
28013
28265
  const { mutateAsync: disconnectSuiWalletMut } = (0, import_dapp_kit3.useDisconnectWallet)();
28014
- const handleConnectSui = (0, import_react40.useCallback)(
28266
+ const handleConnectSui = (0, import_react43.useCallback)(
28015
28267
  async (wallet) => {
28016
28268
  try {
28017
28269
  await connectSuiWalletMut({ wallet });
@@ -28023,7 +28275,7 @@ var WalletPicker = ({ ecosystem, className, onClose }) => {
28023
28275
  },
28024
28276
  [connectSuiWalletMut, onClose]
28025
28277
  );
28026
- const handleDisconnectSui = (0, import_react40.useCallback)(async () => {
28278
+ const handleDisconnectSui = (0, import_react43.useCallback)(async () => {
28027
28279
  try {
28028
28280
  await disconnectSuiWalletMut();
28029
28281
  } catch (error) {
@@ -28036,27 +28288,27 @@ var WalletPicker = ({ ecosystem, className, onClose }) => {
28036
28288
  (connector, index) => connectors.findIndex(({ name }) => name === connector.name) === index
28037
28289
  );
28038
28290
  const visibleSolanaWallets = wallets.filter((wallet) => !/metamask/i.test(wallet.adapter.name));
28039
- return /* @__PURE__ */ (0, import_jsx_runtime117.jsxs)("div", { className: `flex flex-col h-full min-h-0 ${className || ""}`, children: [
28040
- /* @__PURE__ */ (0, import_jsx_runtime117.jsxs)("div", { className: "flex justify-between items-center mb-6", children: [
28041
- /* @__PURE__ */ (0, import_jsx_runtime117.jsx)("div", { className: "text-2xl font-medium leading-8 tracking-[0.01em] text-t_text_primary", children: "Select Wallet" }),
28042
- /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
28291
+ return /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)("div", { className: `flex flex-col h-full min-h-0 ${className || ""}`, children: [
28292
+ /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)("div", { className: "flex justify-between items-center mb-6", children: [
28293
+ /* @__PURE__ */ (0, import_jsx_runtime118.jsx)("div", { className: "text-2xl font-medium leading-8 tracking-[0.01em] text-t_text_primary", children: "Select Wallet" }),
28294
+ /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
28043
28295
  "button",
28044
28296
  {
28045
28297
  type: "button",
28046
28298
  "aria-label": "Close",
28047
28299
  className: "flex items-center justify-center w-8 h-8 rounded-md bg-t_bg_tertiary bg-opacity-5 hover:bg-opacity-10 transition-colors",
28048
28300
  onClick: onClose,
28049
- children: /* @__PURE__ */ (0, import_jsx_runtime117.jsx)("div", { className: "w-4 h-4 opacity-50 fill-t_text_primary flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(CloseIcon, {}) })
28301
+ children: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)("div", { className: "w-4 h-4 opacity-50 fill-t_text_primary flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(CloseIcon, {}) })
28050
28302
  }
28051
28303
  )
28052
28304
  ] }),
28053
- /* @__PURE__ */ (0, import_jsx_runtime117.jsxs)("div", { className: "flex flex-col flex-1 min-h-0 overflow-y-auto", children: [
28305
+ /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)("div", { className: "flex flex-col flex-1 min-h-0 overflow-y-auto", children: [
28054
28306
  ecosystem === "evm" /* EVM */ && visibleConnectors.map((connector) => {
28055
28307
  const isConnected = activeConnector?.id === connector.id;
28056
- return /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
28308
+ return /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
28057
28309
  WalletRow,
28058
28310
  {
28059
- icon: /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(ConnectorIcon, { connector }),
28311
+ icon: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(ConnectorIcon, { connector }),
28060
28312
  name: connector.name,
28061
28313
  isConnected,
28062
28314
  onClick: async () => {
@@ -28069,10 +28321,10 @@ var WalletPicker = ({ ecosystem, className, onClose }) => {
28069
28321
  }),
28070
28322
  ecosystem === "solana" /* SOLANA */ && (visibleSolanaWallets.length ? visibleSolanaWallets.map((wallet) => {
28071
28323
  const isConnected = !!publicKey9 && activeWallet?.adapter.name === wallet.adapter.name;
28072
- return /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
28324
+ return /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
28073
28325
  WalletRow,
28074
28326
  {
28075
- icon: /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
28327
+ icon: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
28076
28328
  "img",
28077
28329
  {
28078
28330
  src: wallet.adapter.icon,
@@ -28089,20 +28341,20 @@ var WalletPicker = ({ ecosystem, className, onClose }) => {
28089
28341
  },
28090
28342
  wallet.adapter.name
28091
28343
  );
28092
- }) : /* @__PURE__ */ (0, import_jsx_runtime117.jsx)("div", { className: "text-center py-1 text-sm text-t_text_primary text-opacity-50", children: "No wallet found" })),
28344
+ }) : /* @__PURE__ */ (0, import_jsx_runtime118.jsx)("div", { className: "text-center py-1 text-sm text-t_text_primary text-opacity-50", children: "No wallet found" })),
28093
28345
  ecosystem === "sui" /* SUI */ && (suiWallets.length ? suiWallets.map((wallet) => {
28094
28346
  const isConnected = !!suiAccount?.address && suiCurrentWallet?.currentWallet?.name === wallet.name;
28095
- return /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
28347
+ return /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
28096
28348
  WalletRow,
28097
28349
  {
28098
- icon: wallet.icon ? /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
28350
+ icon: wallet.icon ? /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
28099
28351
  "img",
28100
28352
  {
28101
28353
  src: wallet.icon,
28102
28354
  alt: wallet.name,
28103
28355
  className: "w-10 h-10 rounded-lg shrink-0"
28104
28356
  }
28105
- ) : /* @__PURE__ */ (0, import_jsx_runtime117.jsx)("div", { className: "w-10 h-10 rounded-lg shrink-0 bg-t_bg_tertiary bg-opacity-10" }),
28357
+ ) : /* @__PURE__ */ (0, import_jsx_runtime118.jsx)("div", { className: "w-10 h-10 rounded-lg shrink-0 bg-t_bg_tertiary bg-opacity-10" }),
28106
28358
  name: wallet.name,
28107
28359
  isConnected,
28108
28360
  onClick: async () => {
@@ -28111,13 +28363,13 @@ var WalletPicker = ({ ecosystem, className, onClose }) => {
28111
28363
  },
28112
28364
  wallet.name
28113
28365
  );
28114
- }) : /* @__PURE__ */ (0, import_jsx_runtime117.jsx)("div", { className: "text-center py-1 text-sm text-t_text_primary text-opacity-50", children: "No wallet found" }))
28366
+ }) : /* @__PURE__ */ (0, import_jsx_runtime118.jsx)("div", { className: "text-center py-1 text-sm text-t_text_primary text-opacity-50", children: "No wallet found" }))
28115
28367
  ] })
28116
28368
  ] });
28117
28369
  };
28118
28370
 
28119
28371
  // src/components/Swap/WalletPickerView/index.tsx
28120
- var import_jsx_runtime118 = require("react/jsx-runtime");
28372
+ var import_jsx_runtime119 = require("react/jsx-runtime");
28121
28373
  var WalletPickerView = () => {
28122
28374
  const {
28123
28375
  openEVMWalletModal,
@@ -28136,7 +28388,7 @@ var WalletPickerView = () => {
28136
28388
  if (!ecosystem) {
28137
28389
  return null;
28138
28390
  }
28139
- return /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
28391
+ return /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(
28140
28392
  "div",
28141
28393
  {
28142
28394
  className: "fixed top-0 left-0 right-0 bottom-0 z-10 flex flex-col justify-end bg-[rgba(2,2,2,0.8)] sm:absolute sm:z-[2] sm:justify-start sm:bg-transparent",
@@ -28148,9 +28400,9 @@ var WalletPickerView = () => {
28148
28400
  close();
28149
28401
  }
28150
28402
  },
28151
- children: /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)("div", { className: "flex flex-col w-full h-[85vh] max-h-full overflow-hidden p-4 pt-2.5 rounded-t-[24px] border-t border-solid border-t_text_primary border-opacity-10 bg-gradient-to-r from-t_bg_secondary/50 to-t_bg_secondary/50 bg-t_bg_primary sm:h-full sm:p-0 sm:rounded-none sm:border-0 sm:bg-none sm:bg-transparent", children: [
28152
- /* @__PURE__ */ (0, import_jsx_runtime118.jsx)("div", { className: "sm:hidden mx-auto mb-4 h-1 w-8 rounded-full bg-t_bg_tertiary bg-opacity-10 shrink-0" }),
28153
- /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(WalletPicker, { ecosystem, onClose: close })
28403
+ children: /* @__PURE__ */ (0, import_jsx_runtime119.jsxs)("div", { className: "flex flex-col w-full h-[85vh] max-h-full overflow-hidden p-4 pt-2.5 rounded-t-[24px] border-t border-solid border-t_text_primary border-opacity-10 bg-gradient-to-r from-t_bg_secondary/50 to-t_bg_secondary/50 bg-t_bg_primary sm:h-full sm:p-0 sm:rounded-none sm:border-0 sm:bg-none sm:bg-transparent", children: [
28404
+ /* @__PURE__ */ (0, import_jsx_runtime119.jsx)("div", { className: "sm:hidden mx-auto mb-4 h-1 w-8 rounded-full bg-t_bg_tertiary bg-opacity-10 shrink-0" }),
28405
+ /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(WalletPicker, { ecosystem, onClose: close })
28154
28406
  ] })
28155
28407
  }
28156
28408
  );
@@ -28161,51 +28413,51 @@ var useWalletPickerOpen = () => {
28161
28413
  };
28162
28414
 
28163
28415
  // src/components/Swap/index.tsx
28164
- var import_jsx_runtime119 = require("react/jsx-runtime");
28416
+ var import_jsx_runtime120 = require("react/jsx-runtime");
28165
28417
  var Swap = ({ onClose }) => {
28166
28418
  const { tab, activePicker } = useSwapContext();
28167
28419
  const walletPickerOpen = useWalletPickerOpen();
28168
- const overlayView = (0, import_react41.useMemo)(() => {
28169
- return tab === "Settings" ? /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(SettingsView, {}) : tab === "History" ? /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(HistoryView, {}) : null;
28420
+ const overlayView = (0, import_react44.useMemo)(() => {
28421
+ return tab === "Settings" ? /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(SettingsView, {}) : tab === "History" ? /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(HistoryView, {}) : null;
28170
28422
  }, [tab]);
28171
- return /* @__PURE__ */ (0, import_jsx_runtime119.jsxs)(
28423
+ return /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(
28172
28424
  "div",
28173
28425
  {
28174
28426
  className: `relative flex flex-col gap-6 p-4 sm:p-8 text-t_text_primary bg-gradient-to-r from-t_bg_tertiary/[0.01] to-t_bg_tertiary/[0.01] bg-t_bg_secondary bg-opacity-50 backdrop-blur-[48px] rounded-[32px] border border-solid border-t_text_primary border-opacity-10 flex-1`,
28175
28427
  children: [
28176
- /* @__PURE__ */ (0, import_jsx_runtime119.jsxs)("div", { className: "relative flex flex-col flex-1 min-h-0", children: [
28177
- activePicker && /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(PickerView, {}),
28178
- /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(WalletPickerView, {}),
28179
- /* @__PURE__ */ (0, import_jsx_runtime119.jsxs)(
28428
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)("div", { className: "relative flex flex-col flex-1 min-h-0", children: [
28429
+ activePicker && /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(PickerView, {}),
28430
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(WalletPickerView, {}),
28431
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(
28180
28432
  "div",
28181
28433
  {
28182
28434
  className: `flex flex-col gap-6 flex-1 min-h-0 ${activePicker || walletPickerOpen ? "sm:invisible" : ""}`,
28183
28435
  children: [
28184
- /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(Header2, { onClose }),
28185
- /* @__PURE__ */ (0, import_jsx_runtime119.jsxs)("div", { className: "relative flex flex-col flex-1 min-h-0", children: [
28186
- /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(
28436
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(Header2, { onClose }),
28437
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)("div", { className: "relative flex flex-col flex-1 min-h-0", children: [
28438
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
28187
28439
  "div",
28188
28440
  {
28189
28441
  className: `flex flex-col flex-1 min-h-0 ${overlayView ? "invisible" : ""}`,
28190
- children: /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(SwapView, {})
28442
+ children: /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(SwapView, {})
28191
28443
  }
28192
28444
  ),
28193
- overlayView && /* @__PURE__ */ (0, import_jsx_runtime119.jsx)("div", { className: "absolute inset-0 flex flex-col min-h-0", children: overlayView })
28445
+ overlayView && /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("div", { className: "absolute inset-0 flex flex-col min-h-0", children: overlayView })
28194
28446
  ] })
28195
28447
  ]
28196
28448
  }
28197
28449
  )
28198
28450
  ] }),
28199
- /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(PoweredBy, {})
28451
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(PoweredBy, {})
28200
28452
  ]
28201
28453
  }
28202
28454
  );
28203
28455
  };
28204
28456
 
28205
28457
  // src/components/TextInput/index.tsx
28206
- var import_react42 = require("react");
28207
- var import_jsx_runtime120 = require("react/jsx-runtime");
28208
- var TextInput = (0, import_react42.forwardRef)((props, ref) => {
28458
+ var import_react45 = require("react");
28459
+ var import_jsx_runtime121 = require("react/jsx-runtime");
28460
+ var TextInput = (0, import_react45.forwardRef)((props, ref) => {
28209
28461
  const {
28210
28462
  inputIcon,
28211
28463
  required,
@@ -28219,10 +28471,10 @@ var TextInput = (0, import_react42.forwardRef)((props, ref) => {
28219
28471
  disabled = false,
28220
28472
  className = ""
28221
28473
  } = props;
28222
- return /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(import_jsx_runtime120.Fragment, { children: [
28223
- /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)("div", { className: "flex items-center border border-solid border-t_text_primary border-opacity-10 rounded-lg py-0 px-3 gap-2 bg-t_bg_secondary ", children: [
28474
+ return /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(import_jsx_runtime121.Fragment, { children: [
28475
+ /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)("div", { className: "flex items-center border border-solid border-t_text_primary border-opacity-10 rounded-lg py-0 px-3 gap-2 bg-t_bg_secondary ", children: [
28224
28476
  inputIcon,
28225
- /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
28477
+ /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
28226
28478
  "input",
28227
28479
  {
28228
28480
  ref,
@@ -28237,13 +28489,13 @@ var TextInput = (0, import_react42.forwardRef)((props, ref) => {
28237
28489
  }
28238
28490
  )
28239
28491
  ] }),
28240
- error && /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("div", { className: "flex justify-between pt-[10px]", children: /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("div", { className: "px-5 text-t_text_red", children: error }) }),
28241
- warning && /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("div", { className: "flex justify-between pt-[10px]", children: /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("div", { className: "px-5 text-t_text_orange", children: warning }) })
28492
+ error && /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("div", { className: "flex justify-between pt-[10px]", children: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("div", { className: "px-5 text-t_text_red", children: error }) }),
28493
+ warning && /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("div", { className: "flex justify-between pt-[10px]", children: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("div", { className: "px-5 text-t_text_orange", children: warning }) })
28242
28494
  ] });
28243
28495
  });
28244
28496
 
28245
28497
  // src/hooks/useTimer.ts
28246
- var import_react43 = require("react");
28498
+ var import_react46 = require("react");
28247
28499
  var TimeUtils = class {
28248
28500
  static getTimeFromSeconds(seconds) {
28249
28501
  const days = Math.floor(seconds / (60 * 60 * 24));
@@ -28263,11 +28515,11 @@ var useTimer = ({
28263
28515
  onExpire,
28264
28516
  autoStart = true
28265
28517
  }) => {
28266
- const [isRunning, setIsRunning] = (0, import_react43.useState)(autoStart);
28267
- const [seconds, setSeconds] = (0, import_react43.useState)(
28518
+ const [isRunning, setIsRunning] = (0, import_react46.useState)(autoStart);
28519
+ const [seconds, setSeconds] = (0, import_react46.useState)(
28268
28520
  TimeUtils.getSecondsFromExpiry(expiryTimestamp)
28269
28521
  );
28270
- const tick = (0, import_react43.useCallback)(() => {
28522
+ const tick = (0, import_react46.useCallback)(() => {
28271
28523
  const newSeconds = TimeUtils.getSecondsFromExpiry(expiryTimestamp);
28272
28524
  if (newSeconds <= 0) {
28273
28525
  if (onExpire) onExpire();
@@ -28275,14 +28527,14 @@ var useTimer = ({
28275
28527
  }
28276
28528
  setSeconds(newSeconds);
28277
28529
  }, [expiryTimestamp, onExpire]);
28278
- (0, import_react43.useEffect)(() => {
28530
+ (0, import_react46.useEffect)(() => {
28279
28531
  if (!isRunning) return;
28280
28532
  const intervalId = setInterval(tick, 1e3);
28281
28533
  return () => clearInterval(intervalId);
28282
28534
  }, [isRunning, tick]);
28283
- const pause = (0, import_react43.useCallback)(() => setIsRunning(false), []);
28284
- const resume = (0, import_react43.useCallback)(() => setIsRunning(true), []);
28285
- const restart = (0, import_react43.useCallback)((newExpiryTimestamp) => {
28535
+ const pause = (0, import_react46.useCallback)(() => setIsRunning(false), []);
28536
+ const resume = (0, import_react46.useCallback)(() => setIsRunning(true), []);
28537
+ const restart = (0, import_react46.useCallback)((newExpiryTimestamp) => {
28286
28538
  setIsRunning(true);
28287
28539
  setSeconds(TimeUtils.getSecondsFromExpiry(newExpiryTimestamp));
28288
28540
  }, []);
@@ -28297,37 +28549,37 @@ var useTimer = ({
28297
28549
  var useTimer_default = useTimer;
28298
28550
 
28299
28551
  // src/components/Timer/index.tsx
28300
- var import_react44 = require("react");
28301
- var import_jsx_runtime121 = require("react/jsx-runtime");
28552
+ var import_react47 = require("react");
28553
+ var import_jsx_runtime122 = require("react/jsx-runtime");
28302
28554
  var Timer = ({
28303
28555
  expiryTimestamp,
28304
28556
  displayFormat = 2 /* Days */,
28305
28557
  customTextOnExpire
28306
28558
  }) => {
28307
- const [expired, setExpired] = (0, import_react44.useState)(
28559
+ const [expired, setExpired] = (0, import_react47.useState)(
28308
28560
  expiryTimestamp.getTime() < Date.now()
28309
28561
  );
28310
28562
  const { seconds, minutes, hours, days, restart } = useTimer_default({
28311
28563
  expiryTimestamp,
28312
28564
  onExpire: () => setExpired(true)
28313
28565
  });
28314
- (0, import_react44.useEffect)(() => {
28566
+ (0, import_react47.useEffect)(() => {
28315
28567
  restart(expiryTimestamp);
28316
28568
  }, [expiryTimestamp]);
28317
- return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(import_jsx_runtime121.Fragment, { children: expired && customTextOnExpire ? /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(import_jsx_runtime121.Fragment, { children: customTextOnExpire }) : /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(import_jsx_runtime121.Fragment, { children: [
28318
- displayFormat === 0 /* Minutes */ && /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("span", { children: `${(days * 24 + hours) * 60 + minutes}:${seconds.toString().padStart(2, "0")}` }),
28319
- displayFormat === 1 /* Hours */ && /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("span", { children: `${days * 24 + hours}:${minutes.toString().padStart(2, "0")}:${seconds.toString().padStart(2, "0")}` }),
28320
- displayFormat === 2 /* Days */ && /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("span", { children: `${days}:${hours.toString().padStart(2, "0")}:${minutes.toString().padStart(2, "0")}:${seconds.toString().padStart(2, "0")}` })
28569
+ return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_jsx_runtime122.Fragment, { children: expired && customTextOnExpire ? /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_jsx_runtime122.Fragment, { children: customTextOnExpire }) : /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_jsx_runtime122.Fragment, { children: [
28570
+ displayFormat === 0 /* Minutes */ && /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("span", { children: `${(days * 24 + hours) * 60 + minutes}:${seconds.toString().padStart(2, "0")}` }),
28571
+ displayFormat === 1 /* Hours */ && /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("span", { children: `${days * 24 + hours}:${minutes.toString().padStart(2, "0")}:${seconds.toString().padStart(2, "0")}` }),
28572
+ displayFormat === 2 /* Days */ && /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("span", { children: `${days}:${hours.toString().padStart(2, "0")}:${minutes.toString().padStart(2, "0")}:${seconds.toString().padStart(2, "0")}` })
28321
28573
  ] }) });
28322
28574
  };
28323
28575
 
28324
28576
  // src/components/TokenLogo/index.tsx
28325
- var import_react45 = require("react");
28577
+ var import_react48 = require("react");
28326
28578
 
28327
28579
  // src/components/TokenLogo/Unknown/index.tsx
28328
- var import_jsx_runtime122 = require("react/jsx-runtime");
28580
+ var import_jsx_runtime123 = require("react/jsx-runtime");
28329
28581
  var UnknownTokenLogo = ({ tokenName, className }) => {
28330
- return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
28582
+ return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
28331
28583
  "div",
28332
28584
  {
28333
28585
  className: `rounded-full bg-white shadow-sm flex items-center justify-center text-black ${className}`,
@@ -28337,21 +28589,21 @@ var UnknownTokenLogo = ({ tokenName, className }) => {
28337
28589
  };
28338
28590
 
28339
28591
  // src/components/TokenLogo/index.tsx
28340
- var import_jsx_runtime123 = require("react/jsx-runtime");
28592
+ var import_jsx_runtime124 = require("react/jsx-runtime");
28341
28593
  var TokenLogo = ({
28342
28594
  token,
28343
28595
  className,
28344
28596
  generatedLogoClassName
28345
28597
  }) => {
28346
- const [errorOcurred, setErrorOccured] = (0, import_react45.useState)(false);
28347
- (0, import_react45.useEffect)(() => {
28598
+ const [errorOcurred, setErrorOccured] = (0, import_react48.useState)(false);
28599
+ (0, import_react48.useEffect)(() => {
28348
28600
  setErrorOccured(false);
28349
28601
  }, [token?.address]);
28350
28602
  if (!token) {
28351
28603
  return null;
28352
28604
  }
28353
28605
  if (errorOcurred) {
28354
- return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
28606
+ return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
28355
28607
  UnknownTokenLogo,
28356
28608
  {
28357
28609
  tokenName: token.name,
@@ -28359,7 +28611,7 @@ var TokenLogo = ({
28359
28611
  }
28360
28612
  );
28361
28613
  }
28362
- return token?.image ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
28614
+ return token?.image ? /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
28363
28615
  "img",
28364
28616
  {
28365
28617
  src: token.image,
@@ -28367,7 +28619,7 @@ var TokenLogo = ({
28367
28619
  className: `rounded-full ${className}`,
28368
28620
  onError: () => setErrorOccured(true)
28369
28621
  }
28370
- ) : /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
28622
+ ) : /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
28371
28623
  UnknownTokenLogo,
28372
28624
  {
28373
28625
  tokenName: token.name,
@@ -28377,7 +28629,7 @@ var TokenLogo = ({
28377
28629
  };
28378
28630
 
28379
28631
  // src/components/TokenLogo/WithChain/index.tsx
28380
- var import_jsx_runtime124 = require("react/jsx-runtime");
28632
+ var import_jsx_runtime125 = require("react/jsx-runtime");
28381
28633
  var TokenLogoWithChain = ({
28382
28634
  token,
28383
28635
  chain,
@@ -28385,8 +28637,8 @@ var TokenLogoWithChain = ({
28385
28637
  generatedLogoClassName,
28386
28638
  chainLogoClassName
28387
28639
  }) => {
28388
- return /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)("div", { className: "relative flex items-end pr-1 pb-1", children: [
28389
- /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
28640
+ return /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("div", { className: "relative flex items-end pr-1 pb-1", children: [
28641
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
28390
28642
  TokenLogo,
28391
28643
  {
28392
28644
  token,
@@ -28394,7 +28646,7 @@ var TokenLogoWithChain = ({
28394
28646
  generatedLogoClassName
28395
28647
  }
28396
28648
  ),
28397
- chain && /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
28649
+ chain && /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
28398
28650
  "img",
28399
28651
  {
28400
28652
  src: chain.image,
@@ -28406,7 +28658,7 @@ var TokenLogoWithChain = ({
28406
28658
  };
28407
28659
 
28408
28660
  // src/components/TxConfigForm/index.tsx
28409
- var import_react46 = require("react");
28661
+ var import_react49 = require("react");
28410
28662
  var import_react_error_boundary = require("react-error-boundary");
28411
28663
 
28412
28664
  // localTheme.ts
@@ -28529,7 +28781,7 @@ function changeHostVariableColor(isLightMode, customStyles) {
28529
28781
  }
28530
28782
 
28531
28783
  // src/components/TxConfigForm/index.tsx
28532
- var import_jsx_runtime125 = require("react/jsx-runtime");
28784
+ var import_jsx_runtime126 = require("react/jsx-runtime");
28533
28785
  var normalizeTxConfigFormProps = (props) => {
28534
28786
  return {
28535
28787
  ...props,
@@ -28539,21 +28791,21 @@ var normalizeTxConfigFormProps = (props) => {
28539
28791
  };
28540
28792
  var PendingTransactionsEmitter = ({ onPendingTransactionsChange }) => {
28541
28793
  const { history } = useHistory();
28542
- const pendingTransactions = (0, import_react46.useMemo)(
28794
+ const pendingTransactions = (0, import_react49.useMemo)(
28543
28795
  () => history.filter((entry) => entry.status === "IN_PROGRESS"),
28544
28796
  [history]
28545
28797
  );
28546
- (0, import_react46.useEffect)(() => {
28798
+ (0, import_react49.useEffect)(() => {
28547
28799
  if (onPendingTransactionsChange) {
28548
28800
  onPendingTransactionsChange(pendingTransactions);
28549
28801
  } else if (window.xPayOnPendingTransactionsChange) {
28550
28802
  window.xPayOnPendingTransactionsChange(pendingTransactions);
28551
28803
  }
28552
28804
  }, [onPendingTransactionsChange, pendingTransactions]);
28553
- return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_jsx_runtime125.Fragment, {});
28805
+ return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_jsx_runtime126.Fragment, {});
28554
28806
  };
28555
28807
  var TxConfigForm = (props) => {
28556
- const normalizedProps = (0, import_react46.useMemo)(
28808
+ const normalizedProps = (0, import_react49.useMemo)(
28557
28809
  () => normalizeTxConfigFormProps(props),
28558
28810
  [props]
28559
28811
  );
@@ -28598,30 +28850,30 @@ var TxConfigForm = (props) => {
28598
28850
  onClose();
28599
28851
  }
28600
28852
  };
28601
- const wagmiConfig = (0, import_react46.useMemo)(
28853
+ const wagmiConfig = (0, import_react49.useMemo)(
28602
28854
  () => providedWagmiConfig ?? window.xPayWagmiConfig ?? getWagmiConfig(supportedChains),
28603
28855
  [providedWagmiConfig, supportedChains]
28604
28856
  );
28605
- (0, import_react46.useEffect)(() => {
28857
+ (0, import_react49.useEffect)(() => {
28606
28858
  changeHostVariableColor(lightTheme, styles);
28607
28859
  }, [lightTheme, styles]);
28608
- (0, import_react46.useEffect)(() => {
28860
+ (0, import_react49.useEffect)(() => {
28609
28861
  if (override?.apiUrl) {
28610
28862
  setApiUrl(override?.apiUrl);
28611
28863
  }
28612
28864
  }, [override?.apiUrl]);
28613
- return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
28865
+ return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
28614
28866
  import_react_error_boundary.ErrorBoundary,
28615
28867
  {
28616
- FallbackComponent: () => /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("div", { children: "Something went wrong, please contact XSwap." }),
28617
- children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(AllWalletsConfig, { wagmiConfig, children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(WalletProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(HistoryProvider, { children: [
28618
- /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
28868
+ FallbackComponent: () => /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("div", { children: "Something went wrong, please contact XSwap." }),
28869
+ children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(AllWalletsConfig, { wagmiConfig, children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(WalletProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)(HistoryProvider, { children: [
28870
+ /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
28619
28871
  PendingTransactionsEmitter,
28620
28872
  {
28621
28873
  onPendingTransactionsChange
28622
28874
  }
28623
28875
  ),
28624
- /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
28876
+ /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
28625
28877
  SwapProvider,
28626
28878
  {
28627
28879
  integrationConfig: {
@@ -28651,14 +28903,14 @@ var TxConfigForm = (props) => {
28651
28903
  },
28652
28904
  supportedChains,
28653
28905
  overlay,
28654
- children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(TransactionProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(TxUIWrapper, { children: overlay ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
28906
+ children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(TransactionProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(TxUIWrapper, { children: overlay ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
28655
28907
  "div",
28656
28908
  {
28657
28909
  className: "top-0 left-0 right-0 bottom-0 bg-[rgba(0,0,0,0.8)] fixed flex flex-col items-center justify-center z-10",
28658
28910
  onMouseDown: onBackdropClick,
28659
- children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("div", { className: "relative rounded-[32px] overflow-auto text-t_text_primary w-x_modal min-w-x_modal max-w-x_modal min-h-[532px] flex flex-col", children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Swap, { onSubmit, onClose }) })
28911
+ children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("div", { className: "relative rounded-[32px] overflow-auto text-t_text_primary w-x_modal min-w-x_modal max-w-x_modal min-h-[532px] flex flex-col", children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(Swap, { onSubmit, onClose }) })
28660
28912
  }
28661
- ) : /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("div", { className: "rounded-[32px] overflow-auto text-t_text_primary min-h-[532px] w-x_modal min-w-x_modal max-w-x_modal flex flex-col", children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Swap, { onSubmit: () => {
28913
+ ) : /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("div", { className: "rounded-[32px] overflow-auto text-t_text_primary min-h-[532px] w-x_modal min-w-x_modal max-w-x_modal flex flex-col", children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(Swap, { onSubmit: () => {
28662
28914
  }, onClose: () => {
28663
28915
  } }) }) }) })
28664
28916
  }
@@ -28698,7 +28950,7 @@ var openTxConfigForm = async ({
28698
28950
  throw new Error("XPay was incorrectly initialized");
28699
28951
  }
28700
28952
  xpayRoot.render(
28701
- /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
28953
+ /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
28702
28954
  TxConfigForm,
28703
28955
  {
28704
28956
  integratorId,
@@ -28744,13 +28996,13 @@ var openTxConfigForm = async ({
28744
28996
  var import_free_solid_svg_icons2 = require("@fortawesome/free-solid-svg-icons");
28745
28997
  var import_react_fontawesome2 = require("@fortawesome/react-fontawesome");
28746
28998
  var import_date_fns3 = require("date-fns");
28747
- var import_react47 = require("react");
28999
+ var import_react50 = require("react");
28748
29000
 
28749
29001
  // src/components/TxDataCard/TokenDetails/index.tsx
28750
- var import_jsx_runtime126 = require("react/jsx-runtime");
29002
+ var import_jsx_runtime127 = require("react/jsx-runtime");
28751
29003
  var TokenDetails = ({ chain, token, amount }) => {
28752
- return /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)("div", { className: "flex gap-2", children: [
28753
- /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
29004
+ return /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { className: "flex gap-2", children: [
29005
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
28754
29006
  TokenLogoWithChain,
28755
29007
  {
28756
29008
  token,
@@ -28760,22 +29012,22 @@ var TokenDetails = ({ chain, token, amount }) => {
28760
29012
  chainLogoClassName: "w-5"
28761
29013
  }
28762
29014
  ),
28763
- /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)("div", { className: "flex flex-col text-[12px]", children: [
28764
- /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("div", { className: "text-t_text_primary text-nowrap", children: `${Number(amount) < 1e-4 ? "<0.0001" : amount} ${token?.symbol ? token?.symbol : "unknown"}` }),
28765
- /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("div", { className: "text-xs text-t_text_primary text-opacity-50", children: chain?.displayName })
29015
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { className: "flex flex-col text-[12px]", children: [
29016
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("div", { className: "text-t_text_primary text-nowrap", children: `${Number(amount) < 1e-4 ? "<0.0001" : amount} ${token?.symbol ? token?.symbol : "unknown"}` }),
29017
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("div", { className: "text-xs text-t_text_primary text-opacity-50", children: chain?.displayName })
28766
29018
  ] })
28767
29019
  ] });
28768
29020
  };
28769
29021
 
28770
29022
  // src/components/TxDataCard/TxDataCardUI/index.tsx
28771
- var import_jsx_runtime127 = require("react/jsx-runtime");
29023
+ var import_jsx_runtime128 = require("react/jsx-runtime");
28772
29024
  var TxDataCardUI = ({
28773
29025
  transaction,
28774
29026
  supportedChains,
28775
29027
  srcToken,
28776
29028
  dstToken
28777
29029
  }) => {
28778
- const getDate = (0, import_react47.useCallback)((blockTimestamp) => {
29030
+ const getDate = (0, import_react50.useCallback)((blockTimestamp) => {
28779
29031
  return (0, import_date_fns3.format)(new Date(blockTimestamp * 1e3), "d MMM yyyy HH:mm:ss");
28780
29032
  }, []);
28781
29033
  const date = getDate(transaction.timestamp);
@@ -28795,21 +29047,21 @@ var TxDataCardUI = ({
28795
29047
  const dstChain = supportedChains.find(
28796
29048
  (chain) => chain.chainId === transaction.targetChainId
28797
29049
  );
28798
- return /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { className: "flex flex-col border border-t_text_primary border-opacity-10 rounded-lg bg-t_bg_primary p-4 gap-4 mb-2", children: [
28799
- /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { className: "flex items-center gap-2 border-b border-solid border-t_text_primary border-opacity-10 pb-1", children: [
28800
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("div", { className: "text-xs text-t_text_primary text-opacity-50", children: date }),
28801
- /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { className: "flex grow justify-end items-center h-6", children: [
28802
- transaction.status === "IN_PROGRESS" ? /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { className: "flex items-center grow justify-end text-xs", children: [
28803
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
29050
+ return /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex flex-col border border-t_text_primary border-opacity-10 rounded-lg bg-t_bg_primary p-4 gap-4 mb-2", children: [
29051
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex items-center gap-2 border-b border-solid border-t_text_primary border-opacity-10 pb-1", children: [
29052
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("div", { className: "text-xs text-t_text_primary text-opacity-50", children: date }),
29053
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex grow justify-end items-center h-6", children: [
29054
+ transaction.status === "IN_PROGRESS" ? /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex items-center grow justify-end text-xs", children: [
29055
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
28804
29056
  import_react_fontawesome2.FontAwesomeIcon,
28805
29057
  {
28806
29058
  icon: import_free_solid_svg_icons2.faHourglassHalf,
28807
29059
  className: "w-4 h-4 mr-1 text-t_text_orange"
28808
29060
  }
28809
29061
  ),
28810
- /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { className: "text-xs text-t_text_orange min-w-[108px]", children: [
29062
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "text-xs text-t_text_orange min-w-[108px]", children: [
28811
29063
  "In progress (",
28812
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
29064
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
28813
29065
  Timer,
28814
29066
  {
28815
29067
  displayFormat: 0 /* Minutes */,
@@ -28819,8 +29071,8 @@ var TxDataCardUI = ({
28819
29071
  ),
28820
29072
  ")"
28821
29073
  ] })
28822
- ] }) : transaction.status === "DONE" ? /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("div", { className: "flex items-center grow justify-end text-xs", children: /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("div", { className: "mr-1 text-t_text_green", children: "Done" }) }) : transaction.status === "REVERTED" ? /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("div", { className: "flex items-center grow justify-end text-xs", children: /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("div", { className: "mr-1 text-t_text_red", children: "Reverted" }) }) : null,
28823
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
29074
+ ] }) : transaction.status === "DONE" ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("div", { className: "flex items-center grow justify-end text-xs", children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("div", { className: "mr-1 text-t_text_green", children: "Done" }) }) : transaction.status === "REVERTED" ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("div", { className: "flex items-center grow justify-end text-xs", children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("div", { className: "mr-1 text-t_text_red", children: "Reverted" }) }) : null,
29075
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
28824
29076
  "a",
28825
29077
  {
28826
29078
  href: `${transaction.messageId ? `${CCIP_EXPLORER}${transaction.messageId}` : `${supportedChains.find(
@@ -28830,7 +29082,7 @@ var TxDataCardUI = ({
28830
29082
  rel: "noreferrer",
28831
29083
  className: "no-underline ml-1.5 text-t_text_primary",
28832
29084
  "aria-label": "Show the transaction in the chain explorer",
28833
- children: /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
29085
+ children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
28834
29086
  import_react_fontawesome2.FontAwesomeIcon,
28835
29087
  {
28836
29088
  icon: import_free_solid_svg_icons2.faArrowUpRightFromSquare,
@@ -28841,8 +29093,8 @@ var TxDataCardUI = ({
28841
29093
  )
28842
29094
  ] })
28843
29095
  ] }),
28844
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("div", { className: "flex flex-wrap gap-8", children: /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { className: "flex items-center gap-2", children: [
28845
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
29096
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("div", { className: "flex flex-wrap gap-8", children: /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex items-center gap-2", children: [
29097
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
28846
29098
  TokenDetails,
28847
29099
  {
28848
29100
  chain: srcChain,
@@ -28850,15 +29102,15 @@ var TxDataCardUI = ({
28850
29102
  amount: transferredAmount
28851
29103
  }
28852
29104
  ),
28853
- transaction.tokenOutAddress && /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_jsx_runtime127.Fragment, { children: [
28854
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
29105
+ transaction.tokenOutAddress && /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(import_jsx_runtime128.Fragment, { children: [
29106
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
28855
29107
  import_react_fontawesome2.FontAwesomeIcon,
28856
29108
  {
28857
29109
  icon: import_free_solid_svg_icons2.faArrowRight,
28858
29110
  className: "w-5 h-5 text-t_text_primary opacity-50 mx-1.5"
28859
29111
  }
28860
29112
  ),
28861
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
29113
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
28862
29114
  TokenDetails,
28863
29115
  {
28864
29116
  chain: dstChain,
@@ -28872,11 +29124,11 @@ var TxDataCardUI = ({
28872
29124
  };
28873
29125
 
28874
29126
  // src/components/TxDataCard/index.tsx
28875
- var import_jsx_runtime128 = require("react/jsx-runtime");
29127
+ var import_jsx_runtime129 = require("react/jsx-runtime");
28876
29128
 
28877
29129
  // src/components/TxModal/index.tsx
28878
29130
  var import_react_dom2 = require("react-dom");
28879
- var import_jsx_runtime129 = require("react/jsx-runtime");
29131
+ var import_jsx_runtime130 = require("react/jsx-runtime");
28880
29132
  var TxModal = ({
28881
29133
  id: id2,
28882
29134
  children,
@@ -28892,24 +29144,24 @@ var TxModal = ({
28892
29144
  }
28893
29145
  };
28894
29146
  return (0, import_react_dom2.createPortal)(
28895
- /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
29147
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
28896
29148
  "div",
28897
29149
  {
28898
29150
  className: "fixed box-border inset-0 z-20 flex items-center justify-center bg-black bg-opacity-80",
28899
29151
  onMouseDown: onBackdropClick,
28900
- children: /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
29152
+ children: /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(
28901
29153
  "div",
28902
29154
  {
28903
29155
  className: `relative rounded-[32px] p-6 sm:p-8 w-full min-w-[340px] overflow-auto max-w-[var(--modal-width,588px)] backdrop-blur-[32px] bg-t_bg_secondary bg-opacity-75 border border-solid ${type === "warning" ? "border-t_warning_dark" : type === "waiting" ? "border-t_main_accent_dark" : "border-t_text_primary border-opacity-10"} ${className}`,
28904
29156
  children: [
28905
- (type === "error" || type === "success") && /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
29157
+ (type === "error" || type === "success") && /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
28906
29158
  "div",
28907
29159
  {
28908
29160
  "aria-hidden": true,
28909
29161
  className: `absolute inset-0 rounded-[inherit] pointer-events-none ${type === "error" ? "tx-modal-glow-error" : "tx-modal-glow-success"}`
28910
29162
  }
28911
29163
  ),
28912
- /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("div", { className: "relative", children })
29164
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: "relative", children })
28913
29165
  ]
28914
29166
  }
28915
29167
  )
@@ -28921,30 +29173,30 @@ var TxModal = ({
28921
29173
  };
28922
29174
 
28923
29175
  // src/components/TxStatusButton/index.tsx
28924
- var import_react48 = require("react");
28925
- var import_jsx_runtime130 = require("react/jsx-runtime");
29176
+ var import_react51 = require("react");
29177
+ var import_jsx_runtime131 = require("react/jsx-runtime");
28926
29178
  var TxStatusButton = ({
28927
29179
  transaction,
28928
29180
  supportedChains,
28929
29181
  srcToken,
28930
29182
  dstToken
28931
29183
  }) => {
28932
- const [isWide, setIsWide] = (0, import_react48.useState)(false);
28933
- const background = (0, import_react48.useMemo)(
29184
+ const [isWide, setIsWide] = (0, import_react51.useState)(false);
29185
+ const background = (0, import_react51.useMemo)(
28934
29186
  () => transaction?.status === "DONE" ? "bg-t_bg_primary bg-gradient-to-r from-t_success_light/20 to-t_success_dark/20" : "bg-t_bg_primary bg-gradient-to-r from-t_main_accent_light/20 to-t_main_accent_dark/20]",
28935
29187
  [transaction]
28936
29188
  );
28937
- const border = (0, import_react48.useMemo)(
29189
+ const border = (0, import_react51.useMemo)(
28938
29190
  () => transaction?.status === "DONE" ? "border border-solid border-t_success_dark" : "border border-solid border-t_main_accent_dark",
28939
29191
  [transaction]
28940
29192
  );
28941
- return /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(
29193
+ return /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)(
28942
29194
  "div",
28943
29195
  {
28944
29196
  className: "flex gap-2 items-end justify-end flex-wrap",
28945
29197
  onClick: () => setIsWide((x) => !x),
28946
29198
  children: [
28947
- isWide && /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
29199
+ isWide && /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
28948
29200
  TxDataCardUI,
28949
29201
  {
28950
29202
  transaction,
@@ -28953,15 +29205,15 @@ var TxStatusButton = ({
28953
29205
  dstToken
28954
29206
  }
28955
29207
  ),
28956
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
29208
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
28957
29209
  "div",
28958
29210
  {
28959
29211
  className: `text-t_text_primary rounded-xl h-14 w-20 mb-2 cursor-pointer ${background} ${border}`,
28960
- children: /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("div", { className: "flex gap-2 items-center h-14 w-20 justify-center fill-t_text_primary", children: [
28961
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: `${isWide ? "rotate-180" : ""}`, children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(ArrowLeftIcon, {}) }),
28962
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: "relative flex items-center justify-center w-9 h-9", children: transaction?.status === "DONE" ? /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: "w-5 h-5 fill-t_success_dark", children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(CheckIcon, {}) }) : /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(import_jsx_runtime130.Fragment, { children: [
28963
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: "w-5 h-5", children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(XSwapLogo, {}) }),
28964
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: "absolute flex items-center justify-center top-0 left-0 right-0 bottom-0 text-t_text_primary", children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(Spinner, { className: "w-10 h-10" }) })
29212
+ children: /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { className: "flex gap-2 items-center h-14 w-20 justify-center fill-t_text_primary", children: [
29213
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: `${isWide ? "rotate-180" : ""}`, children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(ArrowLeftIcon, {}) }),
29214
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "relative flex items-center justify-center w-9 h-9", children: transaction?.status === "DONE" ? /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "w-5 h-5 fill-t_success_dark", children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(CheckIcon, {}) }) : /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)(import_jsx_runtime131.Fragment, { children: [
29215
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "w-5 h-5", children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(XSwapLogo, {}) }),
29216
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "absolute flex items-center justify-center top-0 left-0 right-0 bottom-0 text-t_text_primary", children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(Spinner, { className: "w-10 h-10" }) })
28965
29217
  ] }) })
28966
29218
  ] })
28967
29219
  }
@@ -28998,22 +29250,22 @@ var updateTransactionDoneInRenderedTransactions = (hash3) => {
28998
29250
  });
28999
29251
  };
29000
29252
  var renderTxStatusButtons = () => {
29001
- const buttons = renderedTransactions.map((item) => /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(TxStatusButton, { ...item }, item.transaction.hash));
29253
+ const buttons = renderedTransactions.map((item) => /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(TxStatusButton, { ...item }, item.transaction.hash));
29002
29254
  if (xpayTxStatusRoot === null) {
29003
29255
  throw new Error("XPay was incorrectly initialized");
29004
29256
  }
29005
29257
  xpayTxStatusRoot.render(
29006
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: "fixed bottom-5 right-2 flex flex-col gap-3 pl-9 items-end w-full z-50", children: buttons })
29258
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "fixed bottom-5 right-2 flex flex-col gap-3 pl-9 items-end w-full z-50", children: buttons })
29007
29259
  );
29008
29260
  };
29009
29261
 
29010
29262
  // src/utils/webComponents.ts
29011
29263
  var import_core2 = __toESM(require("@r2wc/core"));
29012
- var import_react49 = __toESM(require("react"));
29264
+ var import_react52 = __toESM(require("react"));
29013
29265
  var import_client3 = require("react-dom/client");
29014
29266
  var mount = (container, ReactComponent, props) => {
29015
29267
  const root = (0, import_client3.createRoot)(container);
29016
- const element = import_react49.default.createElement(ReactComponent, props);
29268
+ const element = import_react52.default.createElement(ReactComponent, props);
29017
29269
  root.render(element);
29018
29270
  return {
29019
29271
  root,
@@ -29021,7 +29273,7 @@ var mount = (container, ReactComponent, props) => {
29021
29273
  };
29022
29274
  };
29023
29275
  var update2 = ({ root, ReactComponent }, props) => {
29024
- const element = import_react49.default.createElement(ReactComponent, props);
29276
+ const element = import_react52.default.createElement(ReactComponent, props);
29025
29277
  root.render(element);
29026
29278
  };
29027
29279
  var unmount = ({ root }) => {
@@ -29032,8 +29284,8 @@ var createWebComponent = (ReactComponent, options = {}) => {
29032
29284
  };
29033
29285
 
29034
29286
  // src/components/TxWidgetWC/index.tsx
29035
- var import_react50 = require("react");
29036
- var import_jsx_runtime131 = require("react/jsx-runtime");
29287
+ var import_react53 = require("react");
29288
+ var import_jsx_runtime132 = require("react/jsx-runtime");
29037
29289
  var TxWidget = ({
29038
29290
  integratorId,
29039
29291
  dstChain: dstChainId,
@@ -29063,15 +29315,15 @@ var TxWidget = ({
29063
29315
  integratorFeeReceiverAddress,
29064
29316
  highlightedDstTokens
29065
29317
  }) => {
29066
- const [loading, setLoading] = (0, import_react50.useState)(true);
29067
- const [supportedChains, setSupportedChains] = (0, import_react50.useState)([]);
29068
- const [srcTokenAddr, setSrcTokenAddr] = (0, import_react50.useState)(
29318
+ const [loading, setLoading] = (0, import_react53.useState)(true);
29319
+ const [supportedChains, setSupportedChains] = (0, import_react53.useState)([]);
29320
+ const [srcTokenAddr, setSrcTokenAddr] = (0, import_react53.useState)(
29069
29321
  void 0
29070
29322
  );
29071
- const [dstTokenAddr, setDstTokenAddr] = (0, import_react50.useState)(
29323
+ const [dstTokenAddr, setDstTokenAddr] = (0, import_react53.useState)(
29072
29324
  void 0
29073
29325
  );
29074
- (0, import_react50.useEffect)(() => {
29326
+ (0, import_react53.useEffect)(() => {
29075
29327
  (async () => {
29076
29328
  setLoading(true);
29077
29329
  if (override?.apiUrl) {
@@ -29092,7 +29344,7 @@ var TxWidget = ({
29092
29344
  console.error("Error parsing styles:", error);
29093
29345
  }
29094
29346
  })();
29095
- (0, import_react50.useEffect)(() => {
29347
+ (0, import_react53.useEffect)(() => {
29096
29348
  const newSrcTokenAddr = resolveTokenAddress(
29097
29349
  srcTokenId,
29098
29350
  srcChainId,
@@ -29106,9 +29358,9 @@ var TxWidget = ({
29106
29358
  setSrcTokenAddr(newSrcTokenAddr);
29107
29359
  setDstTokenAddr(newDstTokenAddr);
29108
29360
  }, [srcTokenId, srcChainId, dstTokenId, dstChainId, supportedChains]);
29109
- return /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)(import_jsx_runtime131.Fragment, { children: [
29110
- /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("style", { children: global_default }),
29111
- loading ? /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "min-h-[532px] w-full flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(Spinner, { className: "w-10 h-10" }) }) : /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
29361
+ return /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)(import_jsx_runtime132.Fragment, { children: [
29362
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsx)("style", { children: global_default }),
29363
+ loading ? /* @__PURE__ */ (0, import_jsx_runtime132.jsx)("div", { className: "min-h-[532px] w-full flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(Spinner, { className: "w-10 h-10" }) }) : /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
29112
29364
  TxConfigForm,
29113
29365
  {
29114
29366
  integratorId,
@@ -29187,8 +29439,8 @@ var createTxWidgetWC = () => {
29187
29439
 
29188
29440
  // src/components/TxWidgetWCWrapped/index.tsx
29189
29441
  var import_react_query2 = require("@tanstack/react-query");
29190
- var import_react51 = require("react");
29191
- var import_jsx_runtime132 = require("react/jsx-runtime");
29442
+ var import_react54 = require("react");
29443
+ var import_jsx_runtime133 = require("react/jsx-runtime");
29192
29444
  var TxWidgetWC = createTxWidgetWC();
29193
29445
  if (!import_react_query2.isServer && typeof customElements !== "undefined") {
29194
29446
  if (!customElements.get("xpay-widget")) {
@@ -29228,7 +29480,7 @@ var TxWidgetWCWrapped = ({
29228
29480
  if (typeof window !== "undefined") {
29229
29481
  window.xPayWagmiConfig = wagmiConfig;
29230
29482
  }
29231
- (0, import_react51.useEffect)(() => {
29483
+ (0, import_react54.useEffect)(() => {
29232
29484
  window.xPayOnPendingTransactionsChange = onPendingTransactionsChange;
29233
29485
  window.xPayOnDstTokenChange = onDstTokenChange;
29234
29486
  window.xPayOnDstChainChange = onDstChainChange;
@@ -29243,7 +29495,7 @@ var TxWidgetWCWrapped = ({
29243
29495
  onSrcChainChange,
29244
29496
  onConnectWallet
29245
29497
  ]);
29246
- return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
29498
+ return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
29247
29499
  "xpay-widget",
29248
29500
  {
29249
29501
  "integrator-id": integratorId,