@tokenflight/swap 0.0.1 → 0.0.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.
@@ -4783,7 +4783,7 @@ const styles$6 = {
4783
4783
  footerBrandAccent,
4784
4784
  footerArrow
4785
4785
  };
4786
- var _tmpl$$d = /* @__PURE__ */ template(`<span aria-label=TokenFlight role=img style=line-height:1>✈️`), _tmpl$3$8 = /* @__PURE__ */ template(`<div>`), _tmpl$4$8 = /* @__PURE__ */ template(`<img>`), _tmpl$5$8 = /* @__PURE__ */ template(`<img alt>`), _tmpl$6$6 = /* @__PURE__ */ template(`<a href=https://tokenflight.ai target=_blank rel="noopener noreferrer"part=fee-info data-testid=footer><span>Powered by</span><span>✈️</span><span>Token<span>Flight`);
4786
+ var _tmpl$$d = /* @__PURE__ */ template(`<span aria-label=TokenFlight role=img style=line-height:1>✈️`), _tmpl$3$8 = /* @__PURE__ */ template(`<div>`), _tmpl$4$8 = /* @__PURE__ */ template(`<img>`), _tmpl$5$8 = /* @__PURE__ */ template(`<img alt>`), _tmpl$6$7 = /* @__PURE__ */ template(`<a href=https://tokenflight.ai target=_blank rel="noopener noreferrer"part=fee-info data-testid=footer><span>Powered by</span><span>✈️</span><span>Token<span>Flight`);
4787
4787
  function chainIconUrl(apiEndpoint, chainId) {
4788
4788
  if (!apiEndpoint) return void 0;
4789
4789
  return `${apiEndpoint.replace(/\/$/, "")}/v1/chain/${chainId}/icon`;
@@ -4902,7 +4902,7 @@ function ChainDot(props) {
4902
4902
  }
4903
4903
  function PoweredByTokenFlight() {
4904
4904
  return (() => {
4905
- var _el$7 = _tmpl$6$6(), _el$8 = _el$7.firstChild, _el$9 = _el$8.nextSibling, _el$0 = _el$9.nextSibling, _el$1 = _el$0.firstChild, _el$10 = _el$1.nextSibling;
4905
+ var _el$7 = _tmpl$6$7(), _el$8 = _el$7.firstChild, _el$9 = _el$8.nextSibling, _el$0 = _el$9.nextSibling, _el$1 = _el$0.firstChild, _el$10 = _el$1.nextSibling;
4906
4906
  insert(_el$7, createComponent(external_link_default, {
4907
4907
  size: 12,
4908
4908
  get ["class"]() {
@@ -5613,7 +5613,7 @@ const actionStyles = {
5613
5613
  btnInner,
5614
5614
  spinner
5615
5615
  };
5616
- var _tmpl$$8 = /* @__PURE__ */ template(`<div part=button-primary data-testid=btn-primary>`), _tmpl$2$7 = /* @__PURE__ */ template(`<button part=button-primary data-testid=btn-primary>`), _tmpl$3$6 = /* @__PURE__ */ template(`<button part=button-secondary data-testid=btn-connect>`), _tmpl$4$6 = /* @__PURE__ */ template(`<button part=button-primary data-testid=btn-primary disabled><span><span>`), _tmpl$5$6 = /* @__PURE__ */ template(`<button part=button-primary data-testid=btn-recipient>`), _tmpl$6$5 = /* @__PURE__ */ template(`<button part=button-primary data-testid=btn-primary disabled style=opacity:0.6>`);
5616
+ var _tmpl$$8 = /* @__PURE__ */ template(`<div part=button-primary data-testid=btn-primary>`), _tmpl$2$7 = /* @__PURE__ */ template(`<button part=button-primary data-testid=btn-primary>`), _tmpl$3$6 = /* @__PURE__ */ template(`<button part=button-secondary data-testid=btn-connect>`), _tmpl$4$6 = /* @__PURE__ */ template(`<button part=button-primary data-testid=btn-primary disabled><span><span>`), _tmpl$5$6 = /* @__PURE__ */ template(`<button part=button-primary data-testid=btn-recipient>`), _tmpl$6$6 = /* @__PURE__ */ template(`<button part=button-primary data-testid=btn-primary disabled style=opacity:0.6>`);
5617
5617
  function ActionButton(props) {
5618
5618
  return createComponent(Switch, {
5619
5619
  get children() {
@@ -5691,7 +5691,7 @@ function ActionButton(props) {
5691
5691
  return props.insufficientBalance;
5692
5692
  },
5693
5693
  get children() {
5694
- var _el$8 = _tmpl$6$5();
5694
+ var _el$8 = _tmpl$6$6();
5695
5695
  insert(_el$8, () => t("error.insufficientBalance"));
5696
5696
  createRenderEffect(() => className(_el$8, actionStyles.btnPrimary));
5697
5697
  return _el$8;
@@ -5712,7 +5712,7 @@ function ActionButton(props) {
5712
5712
  return props.phase === "idle" || props.phase === "quoting" || props.phase === "quoted";
5713
5713
  },
5714
5714
  get children() {
5715
- var _el$0 = _tmpl$6$5();
5715
+ var _el$0 = _tmpl$6$6();
5716
5716
  insert(_el$0, () => t("swap.reviewSwap"));
5717
5717
  createRenderEffect(() => className(_el$0, actionStyles.btnPrimary));
5718
5718
  return _el$0;
@@ -5759,6 +5759,8 @@ function shortenTxHash(hash) {
5759
5759
  const progress = "tf-5835df";
5760
5760
  const header$4 = "tf-9322ae";
5761
5761
  const tokenCol = "tf-7d5519";
5762
+ const tokenColFrom = "tf-0b8d30";
5763
+ const tokenColInner = "tf-bfbd0b";
5762
5764
  const tokenIconWrap$2 = "tf-7e8fdf";
5763
5765
  const chainBadge = "tf-37f3cf";
5764
5766
  const tokenInfo = "tf-9401fd";
@@ -5794,6 +5796,8 @@ const styles$3 = {
5794
5796
  progress,
5795
5797
  header: header$4,
5796
5798
  tokenCol,
5799
+ tokenColFrom,
5800
+ tokenColInner,
5797
5801
  tokenIconWrap: tokenIconWrap$2,
5798
5802
  chainBadge,
5799
5803
  tokenInfo,
@@ -5826,7 +5830,15 @@ const styles$3 = {
5826
5830
  retryHidden,
5827
5831
  retryBtn
5828
5832
  };
5829
- var _tmpl$$7 = /* @__PURE__ */ template(`<div><div><div><div></div></div><div><div></div><span></span></div></div><div></div><div><div><div></div></div><div><div></div><span>`), _tmpl$2$6 = /* @__PURE__ */ template(`<img>`), _tmpl$3$5 = /* @__PURE__ */ template(`<div>`), _tmpl$4$5 = /* @__PURE__ */ template(`<div><button>`), _tmpl$5$5 = /* @__PURE__ */ template(`<a target=_blank rel="noopener noreferrer"> `), _tmpl$6$4 = /* @__PURE__ */ template(`<button>`), _tmpl$7$4 = /* @__PURE__ */ template(`<div><div>`), _tmpl$8$4 = /* @__PURE__ */ template(`<div part=progress><div>`), _tmpl$9$4 = /* @__PURE__ */ template(`<div><div></div><div><div></div><div><span>`), _tmpl$0$3 = /* @__PURE__ */ template(`<span style=font-size:14px>!`), _tmpl$1$3 = /* @__PURE__ */ template(`<span>`);
5833
+ var _tmpl$$7 = /* @__PURE__ */ template(`<div><div><div><div><div></div></div><div><div></div><span></span></div></div></div><div></div><div><div><div><div></div></div><div><div></div><span>`), _tmpl$2$6 = /* @__PURE__ */ template(`<img>`), _tmpl$3$5 = /* @__PURE__ */ template(`<div>`), _tmpl$4$5 = /* @__PURE__ */ template(`<div><button>`), _tmpl$5$5 = /* @__PURE__ */ template(`<a target=_blank rel="noopener noreferrer"> `), _tmpl$6$5 = /* @__PURE__ */ template(`<button>`), _tmpl$7$4 = /* @__PURE__ */ template(`<div><div>`), _tmpl$8$4 = /* @__PURE__ */ template(`<div part=progress><div>`), _tmpl$9$4 = /* @__PURE__ */ template(`<div><div></div><div><div></div><div><span>`), _tmpl$0$3 = /* @__PURE__ */ template(`<span style=font-size:14px>!`), _tmpl$1$3 = /* @__PURE__ */ template(`<span>`);
5834
+ function autoScale(el) {
5835
+ el.style.transform = "";
5836
+ if (el.scrollWidth > el.clientWidth) {
5837
+ const scale = el.clientWidth / el.scrollWidth;
5838
+ el.style.transform = `scale(${scale})`;
5839
+ el.style.transformOrigin = "left";
5840
+ }
5841
+ }
5830
5842
  function OrderProgress(props) {
5831
5843
  const fromChainName = () => props.fromToken ? getChainName(props.fromToken.chainId, props.chainMap) : "";
5832
5844
  const toChainName = () => props.toToken ? getChainName(props.toToken.chainId, props.chainMap) : "";
@@ -5970,15 +5982,15 @@ function OrderProgress(props) {
5970
5982
  return txHash && chainId ? getExplorerTxUrl(chainId, txHash, props.chainMap) : null;
5971
5983
  };
5972
5984
  return (() => {
5973
- var _el$ = _tmpl$8$4(), _el$16 = _el$.firstChild;
5985
+ var _el$ = _tmpl$8$4(), _el$18 = _el$.firstChild;
5974
5986
  insert(_el$, createComponent(Show, {
5975
5987
  get when() {
5976
5988
  return memo(() => !!props.fromToken)() && props.toToken;
5977
5989
  },
5978
5990
  get children() {
5979
5991
  return [(() => {
5980
- var _el$2 = _tmpl$$7(), _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.firstChild, _el$6 = _el$4.nextSibling, _el$7 = _el$6.firstChild, _el$8 = _el$7.nextSibling, _el$9 = _el$3.nextSibling, _el$0 = _el$9.nextSibling, _el$1 = _el$0.firstChild, _el$10 = _el$1.firstChild, _el$11 = _el$1.nextSibling, _el$12 = _el$11.firstChild, _el$13 = _el$12.nextSibling;
5981
- insert(_el$4, createComponent(TokenIcon, {
5992
+ var _el$2 = _tmpl$$7(), _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.firstChild, _el$6 = _el$5.firstChild, _el$7 = _el$5.nextSibling, _el$8 = _el$7.firstChild, _el$9 = _el$8.nextSibling, _el$0 = _el$3.nextSibling, _el$1 = _el$0.nextSibling, _el$10 = _el$1.firstChild, _el$11 = _el$10.firstChild, _el$12 = _el$11.firstChild, _el$13 = _el$11.nextSibling, _el$14 = _el$13.firstChild, _el$15 = _el$14.nextSibling;
5993
+ insert(_el$5, createComponent(TokenIcon, {
5982
5994
  get symbol() {
5983
5995
  return props.fromToken.symbol ?? "?";
5984
5996
  },
@@ -5987,15 +5999,20 @@ function OrderProgress(props) {
5987
5999
  get logoURI() {
5988
6000
  return props.fromToken.logoURI;
5989
6001
  }
5990
- }), _el$5);
5991
- insert(_el$5, createComponent(ChainDot, {
6002
+ }), _el$6);
6003
+ insert(_el$6, createComponent(ChainDot, {
5992
6004
  color: null,
5993
6005
  size: 14,
5994
6006
  get iconUrl() {
5995
6007
  return chainIconUrl(props.apiEndpoint, props.fromToken.chainId);
5996
6008
  }
5997
6009
  }));
5998
- insert(_el$7, createComponent(Show, {
6010
+ use((el) => createEffect(() => {
6011
+ void props.inputAmount;
6012
+ void props.fromToken;
6013
+ autoScale(el);
6014
+ }), _el$8);
6015
+ insert(_el$8, createComponent(Show, {
5999
6016
  get when() {
6000
6017
  return props.inputAmount;
6001
6018
  },
@@ -6008,12 +6025,12 @@ function OrderProgress(props) {
6008
6025
  }), " "];
6009
6026
  }
6010
6027
  }), null);
6011
- insert(_el$7, () => props.fromToken.symbol ?? "", null);
6012
- insert(_el$8, fromChainName);
6013
- insert(_el$9, createComponent(arrow_right_default, {
6028
+ insert(_el$8, () => props.fromToken.symbol ?? "", null);
6029
+ insert(_el$9, fromChainName);
6030
+ insert(_el$0, createComponent(arrow_right_default, {
6014
6031
  size: 14
6015
6032
  }));
6016
- insert(_el$1, createComponent(TokenIcon, {
6033
+ insert(_el$11, createComponent(TokenIcon, {
6017
6034
  get symbol() {
6018
6035
  return props.toToken.symbol ?? "?";
6019
6036
  },
@@ -6022,15 +6039,20 @@ function OrderProgress(props) {
6022
6039
  get logoURI() {
6023
6040
  return props.toToken.logoURI;
6024
6041
  }
6025
- }), _el$10);
6026
- insert(_el$10, createComponent(ChainDot, {
6042
+ }), _el$12);
6043
+ insert(_el$12, createComponent(ChainDot, {
6027
6044
  color: null,
6028
6045
  size: 14,
6029
6046
  get iconUrl() {
6030
6047
  return chainIconUrl(props.apiEndpoint, props.toToken.chainId);
6031
6048
  }
6032
6049
  }));
6033
- insert(_el$12, createComponent(Show, {
6050
+ use((el) => createEffect(() => {
6051
+ void props.outputAmount;
6052
+ void props.toToken;
6053
+ autoScale(el);
6054
+ }), _el$14);
6055
+ insert(_el$14, createComponent(Show, {
6034
6056
  get when() {
6035
6057
  return props.outputAmount;
6036
6058
  },
@@ -6043,10 +6065,10 @@ function OrderProgress(props) {
6043
6065
  }), " "];
6044
6066
  }
6045
6067
  }), null);
6046
- insert(_el$12, () => props.toToken.symbol ?? "", null);
6047
- insert(_el$13, toChainName);
6068
+ insert(_el$14, () => props.toToken.symbol ?? "", null);
6069
+ insert(_el$15, toChainName);
6048
6070
  createRenderEffect((_p$) => {
6049
- var _v$ = styles$3.header, _v$2 = styles$3.tokenCol, _v$3 = styles$3.tokenIconWrap, _v$4 = styles$3.chainBadge, _v$5 = styles$3.tokenInfo, _v$6 = styles$3.tokenAmount, _v$7 = styles$3.tokenChain, _v$8 = styles$3.arrow, _v$9 = styles$3.tokenCol, _v$0 = styles$3.tokenIconWrap, _v$1 = styles$3.chainBadge, _v$10 = styles$3.tokenInfo, _v$11 = styles$3.tokenAmount, _v$12 = styles$3.tokenChain;
6071
+ var _v$ = styles$3.header, _v$2 = `${styles$3.tokenCol} ${styles$3.tokenColFrom}`, _v$3 = styles$3.tokenColInner, _v$4 = styles$3.tokenIconWrap, _v$5 = styles$3.chainBadge, _v$6 = styles$3.tokenInfo, _v$7 = styles$3.tokenAmount, _v$8 = styles$3.tokenChain, _v$9 = styles$3.arrow, _v$0 = styles$3.tokenCol, _v$1 = styles$3.tokenColInner, _v$10 = styles$3.tokenIconWrap, _v$11 = styles$3.chainBadge, _v$12 = styles$3.tokenInfo, _v$13 = styles$3.tokenAmount, _v$14 = styles$3.tokenChain;
6050
6072
  _v$ !== _p$.e && className(_el$2, _p$.e = _v$);
6051
6073
  _v$2 !== _p$.t && className(_el$3, _p$.t = _v$2);
6052
6074
  _v$3 !== _p$.a && className(_el$4, _p$.a = _v$3);
@@ -6061,6 +6083,8 @@ function OrderProgress(props) {
6061
6083
  _v$10 !== _p$.u && className(_el$11, _p$.u = _v$10);
6062
6084
  _v$11 !== _p$.c && className(_el$12, _p$.c = _v$11);
6063
6085
  _v$12 !== _p$.w && className(_el$13, _p$.w = _v$12);
6086
+ _v$13 !== _p$.m && className(_el$14, _p$.m = _v$13);
6087
+ _v$14 !== _p$.f && className(_el$15, _p$.f = _v$14);
6064
6088
  return _p$;
6065
6089
  }, {
6066
6090
  e: void 0,
@@ -6076,7 +6100,9 @@ function OrderProgress(props) {
6076
6100
  l: void 0,
6077
6101
  u: void 0,
6078
6102
  c: void 0,
6079
- w: void 0
6103
+ w: void 0,
6104
+ m: void 0,
6105
+ f: void 0
6080
6106
  });
6081
6107
  return _el$2;
6082
6108
  })(), createComponent(Show, {
@@ -6084,37 +6110,37 @@ function OrderProgress(props) {
6084
6110
  return props.providerName;
6085
6111
  },
6086
6112
  get children() {
6087
- var _el$14 = _tmpl$3$5();
6088
- insert(_el$14, createComponent(Show, {
6113
+ var _el$16 = _tmpl$3$5();
6114
+ insert(_el$16, createComponent(Show, {
6089
6115
  get when() {
6090
6116
  return props.providerIcon;
6091
6117
  },
6092
6118
  get children() {
6093
- var _el$15 = _tmpl$2$6();
6119
+ var _el$17 = _tmpl$2$6();
6094
6120
  createRenderEffect((_p$) => {
6095
- var _v$13 = props.providerIcon, _v$14 = props.providerName, _v$15 = styles$3.viaIcon;
6096
- _v$13 !== _p$.e && setAttribute(_el$15, "src", _p$.e = _v$13);
6097
- _v$14 !== _p$.t && setAttribute(_el$15, "alt", _p$.t = _v$14);
6098
- _v$15 !== _p$.a && className(_el$15, _p$.a = _v$15);
6121
+ var _v$15 = props.providerIcon, _v$16 = props.providerName, _v$17 = styles$3.viaIcon;
6122
+ _v$15 !== _p$.e && setAttribute(_el$17, "src", _p$.e = _v$15);
6123
+ _v$16 !== _p$.t && setAttribute(_el$17, "alt", _p$.t = _v$16);
6124
+ _v$17 !== _p$.a && className(_el$17, _p$.a = _v$17);
6099
6125
  return _p$;
6100
6126
  }, {
6101
6127
  e: void 0,
6102
6128
  t: void 0,
6103
6129
  a: void 0
6104
6130
  });
6105
- return _el$15;
6131
+ return _el$17;
6106
6132
  }
6107
6133
  }), null);
6108
- insert(_el$14, () => t("tracking.via", {
6134
+ insert(_el$16, () => t("tracking.via", {
6109
6135
  provider: props.providerName
6110
6136
  }), null);
6111
- createRenderEffect(() => className(_el$14, styles$3.via));
6112
- return _el$14;
6137
+ createRenderEffect(() => className(_el$16, styles$3.via));
6138
+ return _el$16;
6113
6139
  }
6114
6140
  })];
6115
6141
  }
6116
- }), _el$16);
6117
- insert(_el$16, createComponent(For, {
6142
+ }), _el$18);
6143
+ insert(_el$18, createComponent(For, {
6118
6144
  get each() {
6119
6145
  return steps2();
6120
6146
  },
@@ -6126,52 +6152,52 @@ function OrderProgress(props) {
6126
6152
  return `${styles$3.step} ${styles$3.pending}`;
6127
6153
  };
6128
6154
  return (() => {
6129
- var _el$24 = _tmpl$9$4(), _el$25 = _el$24.firstChild, _el$26 = _el$25.nextSibling, _el$27 = _el$26.firstChild, _el$28 = _el$27.nextSibling, _el$29 = _el$28.firstChild;
6130
- insert(_el$25, (() => {
6155
+ var _el$26 = _tmpl$9$4(), _el$27 = _el$26.firstChild, _el$28 = _el$27.nextSibling, _el$29 = _el$28.firstChild, _el$30 = _el$29.nextSibling, _el$31 = _el$30.firstChild;
6156
+ insert(_el$27, (() => {
6131
6157
  var _c$3 = memo(() => !!(step2.status === "completed" && !step2.isWarning));
6132
6158
  return () => _c$3() ? createComponent(check_default, {
6133
6159
  size: 14
6134
6160
  }) : memo(() => !!(step2.status === "active" && step2.isWarning))() ? _tmpl$0$3() : memo(() => step2.status === "active")() ? (() => {
6135
- var _el$33 = _tmpl$3$5();
6136
- createRenderEffect(() => className(_el$33, styles$3.stepSpinner));
6137
- return _el$33;
6138
- })() : memo(() => !!(step2.isWarning && step2.status === "completed"))() ? _tmpl$0$3() : (() => {
6139
- var _el$35 = _tmpl$1$3();
6140
- insert(_el$35, () => index() + 1);
6161
+ var _el$35 = _tmpl$3$5();
6162
+ createRenderEffect(() => className(_el$35, styles$3.stepSpinner));
6141
6163
  return _el$35;
6164
+ })() : memo(() => !!(step2.isWarning && step2.status === "completed"))() ? _tmpl$0$3() : (() => {
6165
+ var _el$37 = _tmpl$1$3();
6166
+ insert(_el$37, () => index() + 1);
6167
+ return _el$37;
6142
6168
  })();
6143
6169
  })());
6144
- insert(_el$27, () => step2.title);
6145
- insert(_el$29, () => step2.subtitle);
6146
- insert(_el$28, createComponent(Show, {
6170
+ insert(_el$29, () => step2.title);
6171
+ insert(_el$31, () => step2.subtitle);
6172
+ insert(_el$30, createComponent(Show, {
6147
6173
  get when() {
6148
6174
  return step2.explorerUrl;
6149
6175
  },
6150
6176
  get children() {
6151
- var _el$30 = _tmpl$5$5(), _el$31 = _el$30.firstChild;
6152
- insert(_el$30, () => t("tracking.viewOnExplorer"), _el$31);
6153
- insert(_el$30, createComponent(external_link_default, {
6177
+ var _el$32 = _tmpl$5$5(), _el$33 = _el$32.firstChild;
6178
+ insert(_el$32, () => t("tracking.viewOnExplorer"), _el$33);
6179
+ insert(_el$32, createComponent(external_link_default, {
6154
6180
  size: 10
6155
6181
  }), null);
6156
6182
  createRenderEffect((_p$) => {
6157
- var _v$24 = step2.explorerUrl, _v$25 = styles$3.stepExplorer;
6158
- _v$24 !== _p$.e && setAttribute(_el$30, "href", _p$.e = _v$24);
6159
- _v$25 !== _p$.t && className(_el$30, _p$.t = _v$25);
6183
+ var _v$26 = step2.explorerUrl, _v$27 = styles$3.stepExplorer;
6184
+ _v$26 !== _p$.e && setAttribute(_el$32, "href", _p$.e = _v$26);
6185
+ _v$27 !== _p$.t && className(_el$32, _p$.t = _v$27);
6160
6186
  return _p$;
6161
6187
  }, {
6162
6188
  e: void 0,
6163
6189
  t: void 0
6164
6190
  });
6165
- return _el$30;
6191
+ return _el$32;
6166
6192
  }
6167
6193
  }), null);
6168
6194
  createRenderEffect((_p$) => {
6169
- var _v$26 = stepClass(), _v$27 = `${styles$3.stepIcon} ${step2.isWarning && (step2.status === "completed" || step2.status === "active") ? styles$3.stepIconWarning : step2.status === "completed" ? styles$3.stepIconCompleted : step2.status === "active" ? styles$3.stepIconActive : styles$3.stepIconPending}`, _v$28 = styles$3.stepBody, _v$29 = styles$3.stepTitle, _v$30 = styles$3.stepSubtitle;
6170
- _v$26 !== _p$.e && className(_el$24, _p$.e = _v$26);
6171
- _v$27 !== _p$.t && className(_el$25, _p$.t = _v$27);
6172
- _v$28 !== _p$.a && className(_el$26, _p$.a = _v$28);
6173
- _v$29 !== _p$.o && className(_el$27, _p$.o = _v$29);
6174
- _v$30 !== _p$.i && className(_el$28, _p$.i = _v$30);
6195
+ var _v$28 = stepClass(), _v$29 = `${styles$3.stepIcon} ${step2.isWarning && (step2.status === "completed" || step2.status === "active") ? styles$3.stepIconWarning : step2.status === "completed" ? styles$3.stepIconCompleted : step2.status === "active" ? styles$3.stepIconActive : styles$3.stepIconPending}`, _v$30 = styles$3.stepBody, _v$31 = styles$3.stepTitle, _v$32 = styles$3.stepSubtitle;
6196
+ _v$28 !== _p$.e && className(_el$26, _p$.e = _v$28);
6197
+ _v$29 !== _p$.t && className(_el$27, _p$.t = _v$29);
6198
+ _v$30 !== _p$.a && className(_el$28, _p$.a = _v$30);
6199
+ _v$31 !== _p$.o && className(_el$29, _p$.o = _v$31);
6200
+ _v$32 !== _p$.i && className(_el$30, _p$.i = _v$32);
6175
6201
  return _p$;
6176
6202
  }, {
6177
6203
  e: void 0,
@@ -6180,7 +6206,7 @@ function OrderProgress(props) {
6180
6206
  o: void 0,
6181
6207
  i: void 0
6182
6208
  });
6183
- return _el$24;
6209
+ return _el$26;
6184
6210
  })();
6185
6211
  }
6186
6212
  }));
@@ -6189,19 +6215,19 @@ function OrderProgress(props) {
6189
6215
  return props.onRetry;
6190
6216
  },
6191
6217
  get children() {
6192
- var _el$17 = _tmpl$4$5(), _el$18 = _el$17.firstChild;
6193
- addEventListener(_el$18, "click", props.onRetry);
6194
- insert(_el$18, () => t("tracking.retry"));
6218
+ var _el$19 = _tmpl$4$5(), _el$20 = _el$19.firstChild;
6219
+ addEventListener(_el$20, "click", props.onRetry);
6220
+ insert(_el$20, () => t("tracking.retry"));
6195
6221
  createRenderEffect((_p$) => {
6196
- var _v$16 = `${styles$3.retry}${props.executionError ? "" : ` ${styles$3.retryHidden}`}`, _v$17 = styles$3.retryBtn;
6197
- _v$16 !== _p$.e && className(_el$17, _p$.e = _v$16);
6198
- _v$17 !== _p$.t && className(_el$18, _p$.t = _v$17);
6222
+ var _v$18 = `${styles$3.retry}${props.executionError ? "" : ` ${styles$3.retryHidden}`}`, _v$19 = styles$3.retryBtn;
6223
+ _v$18 !== _p$.e && className(_el$19, _p$.e = _v$18);
6224
+ _v$19 !== _p$.t && className(_el$20, _p$.t = _v$19);
6199
6225
  return _p$;
6200
6226
  }, {
6201
6227
  e: void 0,
6202
6228
  t: void 0
6203
6229
  });
6204
- return _el$17;
6230
+ return _el$19;
6205
6231
  }
6206
6232
  }), null);
6207
6233
  insert(_el$, createComponent(Show, {
@@ -6209,64 +6235,64 @@ function OrderProgress(props) {
6209
6235
  return isTerminalFailure();
6210
6236
  },
6211
6237
  get children() {
6212
- var _el$19 = _tmpl$7$4(), _el$20 = _el$19.firstChild;
6213
- insert(_el$20, (() => {
6238
+ var _el$21 = _tmpl$7$4(), _el$22 = _el$21.firstChild;
6239
+ insert(_el$22, (() => {
6214
6240
  var _c$ = memo(() => props.order?.status === "refunded");
6215
6241
  return () => _c$() ? t("failure.refundedSubtitle") : t("failure.subtitle");
6216
6242
  })());
6217
- insert(_el$19, createComponent(Show, {
6243
+ insert(_el$21, createComponent(Show, {
6218
6244
  get when() {
6219
6245
  return refundExplorerUrl();
6220
6246
  },
6221
6247
  get children() {
6222
- var _el$21 = _tmpl$5$5(), _el$22 = _el$21.firstChild;
6223
- insert(_el$21, () => t("failure.refundTx"), _el$22);
6224
- insert(_el$21, createComponent(external_link_default, {
6248
+ var _el$23 = _tmpl$5$5(), _el$24 = _el$23.firstChild;
6249
+ insert(_el$23, () => t("failure.refundTx"), _el$24);
6250
+ insert(_el$23, createComponent(external_link_default, {
6225
6251
  size: 10
6226
6252
  }), null);
6227
6253
  createRenderEffect((_p$) => {
6228
- var _v$18 = refundExplorerUrl(), _v$19 = styles$3.failureLink;
6229
- _v$18 !== _p$.e && setAttribute(_el$21, "href", _p$.e = _v$18);
6230
- _v$19 !== _p$.t && className(_el$21, _p$.t = _v$19);
6254
+ var _v$20 = refundExplorerUrl(), _v$21 = styles$3.failureLink;
6255
+ _v$20 !== _p$.e && setAttribute(_el$23, "href", _p$.e = _v$20);
6256
+ _v$21 !== _p$.t && className(_el$23, _p$.t = _v$21);
6231
6257
  return _p$;
6232
6258
  }, {
6233
6259
  e: void 0,
6234
6260
  t: void 0
6235
6261
  });
6236
- return _el$21;
6262
+ return _el$23;
6237
6263
  }
6238
6264
  }), null);
6239
- insert(_el$19, createComponent(Show, {
6265
+ insert(_el$21, createComponent(Show, {
6240
6266
  get when() {
6241
6267
  return props.onNewSwap;
6242
6268
  },
6243
6269
  get children() {
6244
- var _el$23 = _tmpl$6$4();
6245
- addEventListener(_el$23, "click", props.onNewSwap);
6246
- insert(_el$23, (() => {
6270
+ var _el$25 = _tmpl$6$5();
6271
+ addEventListener(_el$25, "click", props.onNewSwap);
6272
+ insert(_el$25, (() => {
6247
6273
  var _c$2 = memo(() => props.mode === "receive");
6248
6274
  return () => _c$2() ? t("success.newPurchase") : t("success.newSwap");
6249
6275
  })());
6250
- createRenderEffect(() => className(_el$23, styles$3.failureBtn));
6251
- return _el$23;
6276
+ createRenderEffect(() => className(_el$25, styles$3.failureBtn));
6277
+ return _el$25;
6252
6278
  }
6253
6279
  }), null);
6254
6280
  createRenderEffect((_p$) => {
6255
- var _v$20 = styles$3.failure, _v$21 = styles$3.failureMessage;
6256
- _v$20 !== _p$.e && className(_el$19, _p$.e = _v$20);
6257
- _v$21 !== _p$.t && className(_el$20, _p$.t = _v$21);
6281
+ var _v$22 = styles$3.failure, _v$23 = styles$3.failureMessage;
6282
+ _v$22 !== _p$.e && className(_el$21, _p$.e = _v$22);
6283
+ _v$23 !== _p$.t && className(_el$22, _p$.t = _v$23);
6258
6284
  return _p$;
6259
6285
  }, {
6260
6286
  e: void 0,
6261
6287
  t: void 0
6262
6288
  });
6263
- return _el$19;
6289
+ return _el$21;
6264
6290
  }
6265
6291
  }), null);
6266
6292
  createRenderEffect((_p$) => {
6267
- var _v$22 = styles$3.progress, _v$23 = styles$3.steps;
6268
- _v$22 !== _p$.e && className(_el$, _p$.e = _v$22);
6269
- _v$23 !== _p$.t && className(_el$16, _p$.t = _v$23);
6293
+ var _v$24 = styles$3.progress, _v$25 = styles$3.steps;
6294
+ _v$24 !== _p$.e && className(_el$, _p$.e = _v$24);
6295
+ _v$25 !== _p$.t && className(_el$18, _p$.t = _v$25);
6270
6296
  return _p$;
6271
6297
  }, {
6272
6298
  e: void 0,
@@ -6281,10 +6307,11 @@ const heroIcon = "tf-73631f";
6281
6307
  const title$2 = "tf-9e3a66";
6282
6308
  const subtitle = "tf-db06d4";
6283
6309
  const receivedCard = "tf-c9a5e1";
6284
- const receivedIcon = "tf-789d4e";
6310
+ const receivedIconWrap = "tf-7b3b5b";
6311
+ const receivedChainBadge = "tf-651299";
6285
6312
  const receivedAmount = "tf-f52291";
6286
6313
  const receivedSymbol = "tf-8cfc86";
6287
- const receivedChain = "tf-4f945b";
6314
+ const receivedChainName = "tf-5f768d";
6288
6315
  const journey = "tf-75f592";
6289
6316
  const journeyToggle = "tf-73910d";
6290
6317
  const journeyChevron = "tf-1afb0a";
@@ -6301,10 +6328,11 @@ const styles$2 = {
6301
6328
  title: title$2,
6302
6329
  subtitle,
6303
6330
  receivedCard,
6304
- receivedIcon,
6331
+ receivedIconWrap,
6332
+ receivedChainBadge,
6305
6333
  receivedAmount,
6306
6334
  receivedSymbol,
6307
- receivedChain,
6335
+ receivedChainName,
6308
6336
  journey,
6309
6337
  journeyToggle,
6310
6338
  "journeyToggle--open": "tf-ae94a0",
@@ -6317,7 +6345,7 @@ const styles$2 = {
6317
6345
  journeyLink,
6318
6346
  primaryBtn
6319
6347
  };
6320
- var _tmpl$$6 = /* @__PURE__ */ template(`<div>`), _tmpl$2$5 = /* @__PURE__ */ template(`<div><span></span><span>`), _tmpl$3$4 = /* @__PURE__ */ template(`<div><span></span><a target=_blank rel="noopener noreferrer"> `), _tmpl$4$4 = /* @__PURE__ */ template(`<div><button><span> <span style="font-family:'JetBrains Mono', monospace;font-weight:600;color:var(--tf-text)"> </span> </span><span>`), _tmpl$5$4 = /* @__PURE__ */ template(`<div part=success data-testid=success-page><div><div></div></div><div data-testid=success-title></div><div></div><div><div><span></span></div><div><span></span></div></div><button data-testid=success-primary-btn>`);
6348
+ var _tmpl$$6 = /* @__PURE__ */ template(`<div><div>`), _tmpl$2$5 = /* @__PURE__ */ template(`<div><span></span><span>`), _tmpl$3$4 = /* @__PURE__ */ template(`<div><span></span><a target=_blank rel="noopener noreferrer"> `), _tmpl$4$4 = /* @__PURE__ */ template(`<div>`), _tmpl$5$4 = /* @__PURE__ */ template(`<div><button><span> <span style=font-family:var(--tf-font-family-mono);font-weight:600;color:var(--tf-text)> </span> </span><span>`), _tmpl$6$4 = /* @__PURE__ */ template(`<div part=success data-testid=success-page><div><div></div></div><div data-testid=success-title></div><div></div><div><div><span></span><span></span></div></div><button data-testid=success-primary-btn>`);
6321
6349
  function TransactionComplete(props) {
6322
6350
  const [detailsOpen, setDetailsOpen] = createSignal(false);
6323
6351
  const receivedAmount2 = () => {
@@ -6354,7 +6382,7 @@ function TransactionComplete(props) {
6354
6382
  const fromChainName = () => getChainName(props.order.fromChainId, props.chainMap);
6355
6383
  const buttonLabel = () => props.mode === "receive" ? t("success.newPurchase") : t("success.newSwap");
6356
6384
  return (() => {
6357
- var _el$ = _tmpl$5$4(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$2.nextSibling, _el$5 = _el$4.nextSibling, _el$6 = _el$5.nextSibling, _el$8 = _el$6.firstChild, _el$9 = _el$8.firstChild, _el$0 = _el$8.nextSibling, _el$1 = _el$0.firstChild, _el$36 = _el$6.nextSibling;
6385
+ var _el$ = _tmpl$6$4(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$2.nextSibling, _el$5 = _el$4.nextSibling, _el$6 = _el$5.nextSibling, _el$9 = _el$6.firstChild, _el$0 = _el$9.firstChild, _el$1 = _el$0.nextSibling, _el$36 = _el$6.nextSibling;
6358
6386
  insert(_el$3, createComponent(AirplaneLogo, {
6359
6387
  size: 28
6360
6388
  }));
@@ -6370,7 +6398,7 @@ function TransactionComplete(props) {
6370
6398
  return props.toToken;
6371
6399
  },
6372
6400
  get children() {
6373
- var _el$7 = _tmpl$$6();
6401
+ var _el$7 = _tmpl$$6(), _el$8 = _el$7.firstChild;
6374
6402
  insert(_el$7, createComponent(TokenIcon, {
6375
6403
  get symbol() {
6376
6404
  return props.toToken.symbol ?? "?";
@@ -6380,32 +6408,42 @@ function TransactionComplete(props) {
6380
6408
  get logoURI() {
6381
6409
  return props.toToken.logoURI;
6382
6410
  }
6411
+ }), _el$8);
6412
+ insert(_el$8, createComponent(ChainDot, {
6413
+ color: null,
6414
+ size: 14,
6415
+ get iconUrl() {
6416
+ return chainIconUrl(props.apiEndpoint, props.order.toChainId);
6417
+ }
6383
6418
  }));
6384
- createRenderEffect(() => className(_el$7, styles$2.receivedIcon));
6419
+ createRenderEffect((_p$) => {
6420
+ var _v$ = styles$2.receivedIconWrap, _v$2 = styles$2.receivedChainBadge;
6421
+ _v$ !== _p$.e && className(_el$7, _p$.e = _v$);
6422
+ _v$2 !== _p$.t && className(_el$8, _p$.t = _v$2);
6423
+ return _p$;
6424
+ }, {
6425
+ e: void 0,
6426
+ t: void 0
6427
+ });
6385
6428
  return _el$7;
6386
6429
  }
6387
- }), _el$8);
6388
- insert(_el$8, createComponent(SignificantNumber, {
6430
+ }), _el$9);
6431
+ insert(_el$9, createComponent(SignificantNumber, {
6389
6432
  get value() {
6390
6433
  return receivedAmount2();
6391
6434
  },
6392
6435
  digits: 8
6393
- }), _el$9);
6394
- insert(_el$9, () => props.toToken?.symbol ?? "");
6395
- insert(_el$0, createComponent(ChainDot, {
6396
- color: null,
6397
- size: 12,
6398
- get iconUrl() {
6399
- return chainIconUrl(props.apiEndpoint, props.order.toChainId);
6400
- }
6401
- }), _el$1);
6402
- insert(_el$1, toChainName);
6436
+ }), _el$0);
6437
+ insert(_el$0, () => props.toToken?.symbol ?? "");
6438
+ insert(_el$1, () => t("success.onChain", {
6439
+ chain: toChainName()
6440
+ }));
6403
6441
  insert(_el$, createComponent(Show, {
6404
6442
  get when() {
6405
6443
  return props.fromToken;
6406
6444
  },
6407
6445
  get children() {
6408
- var _el$10 = _tmpl$4$4(), _el$11 = _el$10.firstChild, _el$12 = _el$11.firstChild, _el$13 = _el$12.firstChild, _el$14 = _el$13.nextSibling, _el$15 = _el$14.firstChild;
6446
+ var _el$10 = _tmpl$5$4(), _el$11 = _el$10.firstChild, _el$12 = _el$11.firstChild, _el$13 = _el$12.firstChild, _el$14 = _el$13.nextSibling, _el$15 = _el$14.firstChild;
6409
6447
  _el$14.nextSibling;
6410
6448
  var _el$17 = _el$12.nextSibling;
6411
6449
  addEventListener(_el$11, "click", () => setDetailsOpen(!detailsOpen()));
@@ -6428,7 +6466,7 @@ function TransactionComplete(props) {
6428
6466
  return detailsOpen();
6429
6467
  },
6430
6468
  get children() {
6431
- var _el$18 = _tmpl$$6();
6469
+ var _el$18 = _tmpl$4$4();
6432
6470
  insert(_el$18, createComponent(Show, {
6433
6471
  get when() {
6434
6472
  return props.order.author;
@@ -6438,10 +6476,10 @@ function TransactionComplete(props) {
6438
6476
  insert(_el$20, () => t("success.sender"));
6439
6477
  insert(_el$21, () => truncateAddress(props.order.author));
6440
6478
  createRenderEffect((_p$) => {
6441
- var _v$ = styles$2.journeyRow, _v$2 = styles$2.journeyLabel, _v$3 = styles$2.journeyValue;
6442
- _v$ !== _p$.e && className(_el$19, _p$.e = _v$);
6443
- _v$2 !== _p$.t && className(_el$20, _p$.t = _v$2);
6444
- _v$3 !== _p$.a && className(_el$21, _p$.a = _v$3);
6479
+ var _v$3 = styles$2.journeyRow, _v$4 = styles$2.journeyLabel, _v$5 = styles$2.journeyValue;
6480
+ _v$3 !== _p$.e && className(_el$19, _p$.e = _v$3);
6481
+ _v$4 !== _p$.t && className(_el$20, _p$.t = _v$4);
6482
+ _v$5 !== _p$.a && className(_el$21, _p$.a = _v$5);
6445
6483
  return _p$;
6446
6484
  }, {
6447
6485
  e: void 0,
@@ -6460,10 +6498,10 @@ function TransactionComplete(props) {
6460
6498
  insert(_el$23, () => t("success.recipient"));
6461
6499
  insert(_el$24, () => truncateAddress(props.order.recipient));
6462
6500
  createRenderEffect((_p$) => {
6463
- var _v$4 = styles$2.journeyRow, _v$5 = styles$2.journeyLabel, _v$6 = styles$2.journeyValue;
6464
- _v$4 !== _p$.e && className(_el$22, _p$.e = _v$4);
6465
- _v$5 !== _p$.t && className(_el$23, _p$.t = _v$5);
6466
- _v$6 !== _p$.a && className(_el$24, _p$.a = _v$6);
6501
+ var _v$6 = styles$2.journeyRow, _v$7 = styles$2.journeyLabel, _v$8 = styles$2.journeyValue;
6502
+ _v$6 !== _p$.e && className(_el$22, _p$.e = _v$6);
6503
+ _v$7 !== _p$.t && className(_el$23, _p$.t = _v$7);
6504
+ _v$8 !== _p$.a && className(_el$24, _p$.a = _v$8);
6467
6505
  return _p$;
6468
6506
  }, {
6469
6507
  e: void 0,
@@ -6485,11 +6523,11 @@ function TransactionComplete(props) {
6485
6523
  size: 10
6486
6524
  }), null);
6487
6525
  createRenderEffect((_p$) => {
6488
- var _v$7 = styles$2.journeyRow, _v$8 = styles$2.journeyLabel, _v$9 = depositExplorerUrl(), _v$0 = styles$2.journeyLink;
6489
- _v$7 !== _p$.e && className(_el$25, _p$.e = _v$7);
6490
- _v$8 !== _p$.t && className(_el$26, _p$.t = _v$8);
6491
- _v$9 !== _p$.a && setAttribute(_el$27, "href", _p$.a = _v$9);
6492
- _v$0 !== _p$.o && className(_el$27, _p$.o = _v$0);
6526
+ var _v$9 = styles$2.journeyRow, _v$0 = styles$2.journeyLabel, _v$1 = depositExplorerUrl(), _v$10 = styles$2.journeyLink;
6527
+ _v$9 !== _p$.e && className(_el$25, _p$.e = _v$9);
6528
+ _v$0 !== _p$.t && className(_el$26, _p$.t = _v$0);
6529
+ _v$1 !== _p$.a && setAttribute(_el$27, "href", _p$.a = _v$1);
6530
+ _v$10 !== _p$.o && className(_el$27, _p$.o = _v$10);
6493
6531
  return _p$;
6494
6532
  }, {
6495
6533
  e: void 0,
@@ -6512,11 +6550,11 @@ function TransactionComplete(props) {
6512
6550
  size: 10
6513
6551
  }), null);
6514
6552
  createRenderEffect((_p$) => {
6515
- var _v$1 = styles$2.journeyRow, _v$10 = styles$2.journeyLabel, _v$11 = fillExplorerUrl(), _v$12 = styles$2.journeyLink;
6516
- _v$1 !== _p$.e && className(_el$29, _p$.e = _v$1);
6517
- _v$10 !== _p$.t && className(_el$30, _p$.t = _v$10);
6518
- _v$11 !== _p$.a && setAttribute(_el$31, "href", _p$.a = _v$11);
6519
- _v$12 !== _p$.o && className(_el$31, _p$.o = _v$12);
6553
+ var _v$11 = styles$2.journeyRow, _v$12 = styles$2.journeyLabel, _v$13 = fillExplorerUrl(), _v$14 = styles$2.journeyLink;
6554
+ _v$11 !== _p$.e && className(_el$29, _p$.e = _v$11);
6555
+ _v$12 !== _p$.t && className(_el$30, _p$.t = _v$12);
6556
+ _v$13 !== _p$.a && setAttribute(_el$31, "href", _p$.a = _v$13);
6557
+ _v$14 !== _p$.o && className(_el$31, _p$.o = _v$14);
6520
6558
  return _p$;
6521
6559
  }, {
6522
6560
  e: void 0,
@@ -6536,10 +6574,10 @@ function TransactionComplete(props) {
6536
6574
  insert(_el$34, () => t("success.provider"));
6537
6575
  insert(_el$35, () => props.providerName);
6538
6576
  createRenderEffect((_p$) => {
6539
- var _v$13 = styles$2.journeyRow, _v$14 = styles$2.journeyLabel, _v$15 = styles$2.journeyValue;
6540
- _v$13 !== _p$.e && className(_el$33, _p$.e = _v$13);
6541
- _v$14 !== _p$.t && className(_el$34, _p$.t = _v$14);
6542
- _v$15 !== _p$.a && className(_el$35, _p$.a = _v$15);
6577
+ var _v$15 = styles$2.journeyRow, _v$16 = styles$2.journeyLabel, _v$17 = styles$2.journeyValue;
6578
+ _v$15 !== _p$.e && className(_el$33, _p$.e = _v$15);
6579
+ _v$16 !== _p$.t && className(_el$34, _p$.t = _v$16);
6580
+ _v$17 !== _p$.a && className(_el$35, _p$.a = _v$17);
6543
6581
  return _p$;
6544
6582
  }, {
6545
6583
  e: void 0,
@@ -6554,10 +6592,10 @@ function TransactionComplete(props) {
6554
6592
  }
6555
6593
  }), null);
6556
6594
  createRenderEffect((_p$) => {
6557
- var _v$16 = styles$2.journey, _v$17 = `${styles$2.journeyToggle}${detailsOpen() ? ` ${styles$2["journeyToggle--open"]}` : ""}`, _v$18 = `${styles$2.journeyChevron}${detailsOpen() ? ` ${styles$2["journeyChevron--open"]}` : ""}`;
6558
- _v$16 !== _p$.e && className(_el$10, _p$.e = _v$16);
6559
- _v$17 !== _p$.t && className(_el$11, _p$.t = _v$17);
6560
- _v$18 !== _p$.a && className(_el$17, _p$.a = _v$18);
6595
+ var _v$18 = styles$2.journey, _v$19 = `${styles$2.journeyToggle}${detailsOpen() ? ` ${styles$2["journeyToggle--open"]}` : ""}`, _v$20 = `${styles$2.journeyChevron}${detailsOpen() ? ` ${styles$2["journeyChevron--open"]}` : ""}`;
6596
+ _v$18 !== _p$.e && className(_el$10, _p$.e = _v$18);
6597
+ _v$19 !== _p$.t && className(_el$11, _p$.t = _v$19);
6598
+ _v$20 !== _p$.a && className(_el$17, _p$.a = _v$20);
6561
6599
  return _p$;
6562
6600
  }, {
6563
6601
  e: void 0,
@@ -6570,17 +6608,17 @@ function TransactionComplete(props) {
6570
6608
  addEventListener(_el$36, "click", props.onNewSwap);
6571
6609
  insert(_el$36, buttonLabel);
6572
6610
  createRenderEffect((_p$) => {
6573
- var _v$19 = styles$2.page, _v$20 = styles$2.hero, _v$21 = styles$2.heroIcon, _v$22 = styles$2.title, _v$23 = styles$2.subtitle, _v$24 = styles$2.receivedCard, _v$25 = styles$2.receivedAmount, _v$26 = styles$2.receivedSymbol, _v$27 = styles$2.receivedChain, _v$28 = styles$2.primaryBtn;
6574
- _v$19 !== _p$.e && className(_el$, _p$.e = _v$19);
6575
- _v$20 !== _p$.t && className(_el$2, _p$.t = _v$20);
6576
- _v$21 !== _p$.a && className(_el$3, _p$.a = _v$21);
6577
- _v$22 !== _p$.o && className(_el$4, _p$.o = _v$22);
6578
- _v$23 !== _p$.i && className(_el$5, _p$.i = _v$23);
6579
- _v$24 !== _p$.n && className(_el$6, _p$.n = _v$24);
6580
- _v$25 !== _p$.s && className(_el$8, _p$.s = _v$25);
6581
- _v$26 !== _p$.h && className(_el$9, _p$.h = _v$26);
6582
- _v$27 !== _p$.r && className(_el$0, _p$.r = _v$27);
6583
- _v$28 !== _p$.d && className(_el$36, _p$.d = _v$28);
6611
+ var _v$21 = styles$2.page, _v$22 = styles$2.hero, _v$23 = styles$2.heroIcon, _v$24 = styles$2.title, _v$25 = styles$2.subtitle, _v$26 = styles$2.receivedCard, _v$27 = styles$2.receivedAmount, _v$28 = styles$2.receivedSymbol, _v$29 = styles$2.receivedChainName, _v$30 = styles$2.primaryBtn;
6612
+ _v$21 !== _p$.e && className(_el$, _p$.e = _v$21);
6613
+ _v$22 !== _p$.t && className(_el$2, _p$.t = _v$22);
6614
+ _v$23 !== _p$.a && className(_el$3, _p$.a = _v$23);
6615
+ _v$24 !== _p$.o && className(_el$4, _p$.o = _v$24);
6616
+ _v$25 !== _p$.i && className(_el$5, _p$.i = _v$25);
6617
+ _v$26 !== _p$.n && className(_el$6, _p$.n = _v$26);
6618
+ _v$27 !== _p$.s && className(_el$9, _p$.s = _v$27);
6619
+ _v$28 !== _p$.h && className(_el$0, _p$.h = _v$28);
6620
+ _v$29 !== _p$.r && className(_el$1, _p$.r = _v$29);
6621
+ _v$30 !== _p$.d && className(_el$36, _p$.d = _v$30);
6584
6622
  return _p$;
6585
6623
  }, {
6586
6624
  e: void 0,
@@ -8696,49 +8734,55 @@ function useWalletConnection(params) {
8696
8734
  if (!adapter) return "evm";
8697
8735
  return adapter.supportedActionTypes.some((t2) => t2.startsWith("solana_")) ? "solana" : "evm";
8698
8736
  };
8699
- onMount(async () => {
8700
- const adapter = params.walletAdapter();
8701
- if (!adapter) return;
8702
- const connected = adapter.isConnected();
8703
- setIsConnected(connected);
8704
- if (connected) {
8705
- const addr = await adapter.getAddress();
8706
- setWalletAddress(addr);
8707
- params.onAddressChange(addr);
8708
- params.callbacks()?.onWalletConnected?.({
8709
- address: addr ?? "",
8710
- chainType: detectChainType()
8711
- });
8712
- }
8713
- const handleWalletConnect = async () => {
8714
- const addr = await adapter.getAddress();
8715
- if (isConnected() && walletAddress2() === addr) return;
8716
- batch(() => {
8717
- setIsConnected(true);
8718
- setWalletAddress(addr);
8719
- params.onAddressChange(addr);
8720
- });
8721
- params.callbacks()?.onWalletConnected?.({
8722
- address: addr ?? "",
8723
- chainType: detectChainType()
8724
- });
8725
- };
8726
- const handleWalletDisconnect = () => {
8727
- if (!isConnected()) return;
8728
- batch(() => {
8729
- setIsConnected(false);
8730
- setWalletAddress(null);
8731
- params.onAddressChange(null);
8732
- });
8733
- params.onDisconnect?.();
8734
- };
8735
- adapter.on("connect", handleWalletConnect);
8736
- adapter.on("disconnect", handleWalletDisconnect);
8737
- onCleanup(() => {
8738
- adapter.off("connect", handleWalletConnect);
8739
- adapter.off("disconnect", handleWalletDisconnect);
8740
- });
8741
- });
8737
+ let cleanupPrev;
8738
+ createEffect(
8739
+ on(params.walletAdapter, (adapter) => {
8740
+ cleanupPrev?.();
8741
+ cleanupPrev = void 0;
8742
+ if (!adapter) return;
8743
+ const connected = adapter.isConnected();
8744
+ setIsConnected(connected);
8745
+ if (connected) {
8746
+ void adapter.getAddress().then((addr) => {
8747
+ setWalletAddress(addr);
8748
+ params.onAddressChange(addr);
8749
+ params.callbacks()?.onWalletConnected?.({
8750
+ address: addr ?? "",
8751
+ chainType: detectChainType()
8752
+ });
8753
+ });
8754
+ }
8755
+ const handleWalletConnect = async () => {
8756
+ const addr = await adapter.getAddress();
8757
+ if (isConnected() && walletAddress2() === addr) return;
8758
+ batch(() => {
8759
+ setIsConnected(true);
8760
+ setWalletAddress(addr);
8761
+ params.onAddressChange(addr);
8762
+ });
8763
+ params.callbacks()?.onWalletConnected?.({
8764
+ address: addr ?? "",
8765
+ chainType: detectChainType()
8766
+ });
8767
+ };
8768
+ const handleWalletDisconnect = () => {
8769
+ if (!isConnected()) return;
8770
+ batch(() => {
8771
+ setIsConnected(false);
8772
+ setWalletAddress(null);
8773
+ params.onAddressChange(null);
8774
+ });
8775
+ params.onDisconnect?.();
8776
+ };
8777
+ adapter.on("connect", handleWalletConnect);
8778
+ adapter.on("disconnect", handleWalletDisconnect);
8779
+ cleanupPrev = () => {
8780
+ adapter.off("connect", handleWalletConnect);
8781
+ adapter.off("disconnect", handleWalletDisconnect);
8782
+ };
8783
+ })
8784
+ );
8785
+ onCleanup(() => cleanupPrev?.());
8742
8786
  const handleConnect = async () => {
8743
8787
  const adapter = params.walletAdapter();
8744
8788
  if (!adapter) {
@@ -8790,10 +8834,12 @@ function useQuoteCountdown(params) {
8790
8834
  }
8791
8835
  function useRecipient(params) {
8792
8836
  const needRecipient = createMemo(() => {
8793
- const from = params.fromToken();
8794
8837
  const to = params.toToken();
8795
- if (!from || !to || !params.isConnected()) return false;
8796
- return isCrossChainSwap(from.chainId, to.chainId);
8838
+ if (!to || !params.isConnected()) return false;
8839
+ const addr = params.walletAddress();
8840
+ if (!addr) return false;
8841
+ const toChainType = getChainType(to.chainId);
8842
+ return !isAddressForChainType(addr, toChainType);
8797
8843
  });
8798
8844
  const recipientDisplay = createMemo(() => {
8799
8845
  const r = params.recipient();
@@ -10693,6 +10739,7 @@ function useReceiveExecution(params) {
10693
10739
  });
10694
10740
  params.setExecPhase("awaiting-wallet");
10695
10741
  let txHash;
10742
+ let signedTransaction;
10696
10743
  if (depositData.kind === "CONTRACT_CALL" && depositData.approvals) {
10697
10744
  for (const approval of depositData.approvals) {
10698
10745
  if (approval.type === "eip1193_request") {
@@ -10711,7 +10758,7 @@ function useReceiveExecution(params) {
10711
10758
  if (approval.deposit) txHash = result.txHash ?? txHash;
10712
10759
  } else if (approval.type === "solana_sendTransaction") {
10713
10760
  const result = await params.walletAdapter().executeWalletAction({
10714
- type: "solana_signAndSendTransaction",
10761
+ type: "solana_signTransaction",
10715
10762
  transaction: approval.transaction
10716
10763
  });
10717
10764
  if (!result.success) {
@@ -10720,22 +10767,30 @@ function useReceiveExecution(params) {
10720
10767
  result.error ?? "Wallet action failed"
10721
10768
  );
10722
10769
  }
10723
- if (approval.deposit) txHash = result.txHash ?? txHash;
10770
+ if (approval.deposit) {
10771
+ signedTransaction = typeof result.data === "string" ? result.data : void 0;
10772
+ }
10724
10773
  }
10725
10774
  }
10726
10775
  }
10727
- if (!txHash) {
10776
+ if (!txHash && !signedTransaction) {
10728
10777
  throw new TokenFlightError(
10729
10778
  ErrorCode.TRANSACTION_FAILED,
10730
- "No deposit transaction hash received"
10779
+ "No deposit transaction received"
10731
10780
  );
10732
10781
  }
10733
10782
  params.setExecPhase("submitting");
10734
- const submitResult = await params.client().submitDeposit({
10735
- quoteId: confirmedQuote.quoteId,
10736
- routeId: confirmedQuote.route.routeId,
10737
- txHash
10738
- });
10783
+ const submitResult = await params.client().submitDeposit(
10784
+ signedTransaction ? {
10785
+ quoteId: confirmedQuote.quoteId,
10786
+ routeId: confirmedQuote.route.routeId,
10787
+ signedTransaction
10788
+ } : {
10789
+ quoteId: confirmedQuote.quoteId,
10790
+ routeId: confirmedQuote.route.routeId,
10791
+ txHash
10792
+ }
10793
+ );
10739
10794
  params.setExecPhase("tracking");
10740
10795
  setTrackingOrderId(submitResult.orderId);
10741
10796
  } catch (err) {
@@ -10953,6 +11008,15 @@ function ReceiveComponent(props) {
10953
11008
  fetchPayTokenQuotes(tokens);
10954
11009
  }
10955
11010
  }));
11011
+ createEffect(on(() => store.recipient(), () => {
11012
+ const tokens = balancePayTokens();
11013
+ const p = phase();
11014
+ if (tokens.length > 0 && (p === "idle" || p === "quoted" || p === "error")) {
11015
+ fetchPayTokenQuotes(tokens);
11016
+ }
11017
+ }, {
11018
+ defer: true
11019
+ }));
10956
11020
  const selectedQuoteRequest = createMemo(() => {
10957
11021
  const token = selectedPayToken();
10958
11022
  if (!token) return null;
@@ -11794,22 +11858,22 @@ function ReceiveComponent(props) {
11794
11858
  return _el$;
11795
11859
  })();
11796
11860
  }
11797
- const css0 = ".tf-2de115{width:100%;padding:14px 0;border-radius:14px;border:none;background:linear-gradient(135deg,var(--tf-primary),color-mix(in srgb,var(--tf-primary) 80%,#000));color:var(--tf-text-on-primary);font-weight:600;font-size:var(--tf-font-xl);cursor:pointer;box-shadow:0 4px 16px var(--tf-primary-glow);letter-spacing:-.01em;font-family:DM Sans,sans-serif;transition:transform .15s ease,opacity .15s ease,box-shadow .15s ease}.tf-2de115:hover{opacity:.95;transform:translateY(-1px);box-shadow:0 6px 20px var(--tf-primary-glow)}.tf-2de115:active{transform:translateY(0)}.tf-47dc2a{background:var(--tf-primary);cursor:wait;opacity:.85}.tf-44b8f1{width:100%;padding:14px 0;border-radius:14px;border:1px solid var(--tf-primary);background:var(--tf-primary-light);color:var(--tf-primary);font-weight:600;font-size:var(--tf-font-xl);cursor:pointer;font-family:DM Sans,sans-serif;transition:transform .15s ease,background .15s ease}.tf-44b8f1:hover{transform:translateY(-1px)}.tf-44b8f1:active{transform:translateY(0)}.tf-04fe16{width:100%;padding:14px 0;border-radius:14px;border:1.5px dashed var(--tf-primary);background:var(--tf-primary-light);color:var(--tf-primary);font-weight:600;font-size:var(--tf-font-xl);cursor:pointer;font-family:DM Sans,sans-serif;transition:transform .15s ease,background .15s ease;animation:tf-d53743 2s ease-in-out infinite}.tf-04fe16:hover{transform:translateY(-1px);background:var(--tf-primary-glow)}.tf-04fe16:active{transform:translateY(0)}.tf-65cf23{width:100%;padding:14px 0;border-radius:14px;text-align:center;background:var(--tf-success-bg);color:var(--tf-success);font-weight:600;font-size:var(--tf-font-xl);display:flex;align-items:center;justify-content:center;gap:8px;border:none}.tf-2f0314{width:100%;padding:14px 0;border-radius:14px;text-align:center;background:var(--tf-error-bg);color:var(--tf-error);font-weight:600;font-size:var(--tf-font-xl);display:flex;align-items:center;justify-content:center;gap:8px;border:none;cursor:pointer}.tf-20b1ac{display:flex;align-items:center;justify-content:center;gap:8px}.tf-e6dae0{display:inline-block;width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.3);border-top-color:var(--tf-text-on-primary, #fff);animation:tf-8a3bc2 .8s linear infinite}.tf-90e712{width:14px;height:14px}";
11798
- const css1$1 = ".tf-59b76a{font-size:var(--tf-font-amount);font-weight:700;line-height:100%;letter-spacing:-.02em;color:var(--tf-text);font-family:DM Sans,sans-serif;background:none;border:none;outline:none;width:100%;min-width:0;text-align:left}.tf-59b76a::-webkit-outer-spin-button,.tf-59b76a::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.tf-59b76a{-moz-appearance:textfield}.tf-59b76a::placeholder{color:var(--tf-text-tertiary)}.tf-a859d8{color:var(--tf-text-tertiary)}";
11799
- const css1 = '@keyframes tf-d36961{to{transform:rotate(360deg)}}.tf-5835df{padding:24px 20px 16px;animation:tf-e061c9 .3s ease both}.tf-9322ae{display:flex;align-items:center;justify-content:center;gap:12px;padding-bottom:20px;margin-bottom:4px;border-bottom:1px solid var(--tf-border-light)}.tf-7d5519{display:flex;align-items:center;gap:8px}.tf-7e8fdf{position:relative;width:32px;height:32px;flex-shrink:0}.tf-37f3cf{position:absolute;bottom:-2px;right:-2px;width:16px;height:16px;border-radius:50%;background:var(--tf-bg);display:flex;align-items:center;justify-content:center;border:1.5px solid var(--tf-bg)}.tf-9401fd{display:flex;flex-direction:column}.tf-832fae{font-family:JetBrains Mono,monospace;font-weight:600;font-size:var(--tf-font-lg);color:var(--tf-text);white-space:nowrap;line-height:1.2}.tf-b557fc{font-size:var(--tf-font-sm);color:var(--tf-text-tertiary);font-weight:500;line-height:1.2}.tf-5953e8{color:var(--tf-text-tertiary);flex-shrink:0}.tf-a168c7{display:flex;align-items:center;justify-content:center;gap:6px;text-align:center;font-size:var(--tf-font-sm);color:var(--tf-text-tertiary);padding-bottom:16px}.tf-062404{width:16px;height:16px;border-radius:4px;object-fit:contain}.tf-26af4c{display:flex;flex-direction:column}.tf-4b9be7{display:flex;gap:12px}.tf-036db2{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:var(--tf-font-base);font-weight:600;z-index:1}.tf-09b7bb{background:var(--tf-success-bg);color:var(--tf-success)}.tf-aef7e0{background:var(--tf-primary-light)}.tf-5c628c{background:var(--tf-input-bg);color:var(--tf-text-tertiary);border:1px solid var(--tf-border-light)}.tf-a5abdf{background:var(--tf-error-bg);color:var(--tf-error)}.tf-9efe7c{width:14px;height:14px;border-radius:50%;border:2px solid var(--tf-primary-light);border-top-color:var(--tf-primary);animation:tf-d36961 .8s linear infinite}.tf-5c7806{border-color:#ff475733;border-top-color:var(--tf-error)}.tf-185719{flex:1;padding-bottom:20px;position:relative}.tf-185719:before{content:"";position:absolute;left:-26px;top:28px;bottom:0;width:2px;background:var(--tf-border-light)}.tf-4b9be7:last-child .tf-185719:before{display:none}.tf-4b9be7:last-child .tf-185719{padding-bottom:4px}.tf-84527b .tf-185719:before{background:var(--tf-success)}.tf-417d35 .tf-185719:before{background:var(--tf-error)}.tf-aad7e9{font-size:var(--tf-font-md);font-weight:600;color:var(--tf-text);line-height:28px}.tf-8de1c6 .tf-aad7e9{color:var(--tf-text-tertiary)}.tf-417d35 .tf-aad7e9{color:var(--tf-error)}.tf-bcb46a{font-size:var(--tf-font-sm);color:var(--tf-text-tertiary);margin-top:2px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tf-16cfdc .tf-bcb46a{color:var(--tf-primary)}.tf-0aa291{font-size:var(--tf-font-sm);color:var(--tf-primary);text-decoration:none;display:inline-flex;align-items:center;gap:3px;transition:opacity .15s}.tf-0aa291:hover{opacity:.7}.tf-234e31{margin-top:20px;padding:16px;border-radius:12px;background:var(--tf-error-alpha, rgba(239, 68, 68, .06));border:1px solid var(--tf-error-bg);text-align:center}.tf-adb588{font-size:var(--tf-font-md);color:var(--tf-text-secondary);line-height:1.5;margin-bottom:12px}.tf-11fa21{display:inline-flex;align-items:center;gap:4px;font-size:var(--tf-font-base);color:var(--tf-primary);text-decoration:none;margin-bottom:12px;transition:opacity .15s}.tf-11fa21:hover{opacity:.7}.tf-4f7573{width:100%;padding:12px;border-radius:12px;background:linear-gradient(135deg,var(--tf-success),color-mix(in srgb,var(--tf-success) 80%,#000));color:var(--tf-text-on-primary);font-size:var(--tf-font-lg);font-weight:600;cursor:pointer;border:none;transition:opacity .2s,transform .15s}.tf-4f7573:hover{opacity:.9;transform:translateY(-1px)}.tf-4f7573:active{transform:scale(.98)}.tf-c918a2{margin-top:16px;text-align:center}.tf-ad7aab{visibility:hidden;pointer-events:none}.tf-1e22cb{width:100%;padding:12px;border-radius:12px;background:var(--tf-bg-secondary);color:var(--tf-text);font-size:var(--tf-font-lg);font-weight:600;cursor:pointer;border:1px solid var(--tf-border);transition:opacity .2s,transform .15s}.tf-1e22cb:hover{opacity:.85;transform:translateY(-1px)}.tf-1e22cb:active{transform:scale(.98)}';
11861
+ const css0 = ".tf-2de115{width:100%;padding:14px 0;border-radius:14px;border:none;background:linear-gradient(135deg,var(--tf-primary),color-mix(in srgb,var(--tf-primary) 80%,#000));color:var(--tf-text-on-primary);font-weight:600;font-size:var(--tf-font-xl);cursor:pointer;box-shadow:0 4px 16px var(--tf-primary-glow);letter-spacing:-.01em;font-family:var(--tf-font-family);transition:transform .15s ease,opacity .15s ease,box-shadow .15s ease}.tf-2de115:hover{opacity:.95;transform:translateY(-1px);box-shadow:0 6px 20px var(--tf-primary-glow)}.tf-2de115:active{transform:translateY(0)}.tf-47dc2a{background:var(--tf-primary);cursor:wait;opacity:.85}.tf-44b8f1{width:100%;padding:14px 0;border-radius:14px;border:1px solid var(--tf-primary);background:var(--tf-primary-light);color:var(--tf-primary);font-weight:600;font-size:var(--tf-font-xl);cursor:pointer;font-family:var(--tf-font-family);transition:transform .15s ease,background .15s ease}.tf-44b8f1:hover{transform:translateY(-1px)}.tf-44b8f1:active{transform:translateY(0)}.tf-04fe16{width:100%;padding:14px 0;border-radius:14px;border:1.5px dashed var(--tf-primary);background:var(--tf-primary-light);color:var(--tf-primary);font-weight:600;font-size:var(--tf-font-xl);cursor:pointer;font-family:var(--tf-font-family);transition:transform .15s ease,background .15s ease;animation:tf-d53743 2s ease-in-out infinite}.tf-04fe16:hover{transform:translateY(-1px);background:var(--tf-primary-glow)}.tf-04fe16:active{transform:translateY(0)}.tf-65cf23{width:100%;padding:14px 0;border-radius:14px;text-align:center;background:var(--tf-success-bg);color:var(--tf-success);font-weight:600;font-size:var(--tf-font-xl);display:flex;align-items:center;justify-content:center;gap:8px;border:none}.tf-2f0314{width:100%;padding:14px 0;border-radius:14px;text-align:center;background:var(--tf-error-bg);color:var(--tf-error);font-weight:600;font-size:var(--tf-font-xl);display:flex;align-items:center;justify-content:center;gap:8px;border:none;cursor:pointer}.tf-20b1ac{display:flex;align-items:center;justify-content:center;gap:8px}.tf-e6dae0{display:inline-block;width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.3);border-top-color:var(--tf-text-on-primary, #fff);animation:tf-8a3bc2 .8s linear infinite}.tf-90e712{width:14px;height:14px}";
11862
+ const css1$1 = ".tf-59b76a{font-size:var(--tf-font-amount);font-weight:700;line-height:100%;letter-spacing:-.02em;color:var(--tf-text);font-family:var(--tf-font-family);background:none;border:none;outline:none;width:100%;min-width:0;text-align:left}.tf-59b76a::-webkit-outer-spin-button,.tf-59b76a::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.tf-59b76a{-moz-appearance:textfield}.tf-59b76a::placeholder{color:var(--tf-text-tertiary)}.tf-a859d8{color:var(--tf-text-tertiary)}";
11863
+ const css1 = '@keyframes tf-d36961{to{transform:rotate(360deg)}}.tf-5835df{padding:24px 20px 16px;animation:tf-e061c9 .3s ease both;overflow:hidden}.tf-9322ae{display:flex;align-items:center;justify-content:center;gap:12px;padding-bottom:20px;margin-bottom:4px;border-bottom:1px solid var(--tf-border-light)}.tf-7d5519{display:flex;align-items:center;justify-content:flex-start;min-width:0;flex:1}.tf-0b8d30{justify-content:flex-end}.tf-bfbd0b{display:flex;align-items:center;gap:8px;min-width:0}.tf-7e8fdf{position:relative;width:32px;height:32px;flex-shrink:0}.tf-37f3cf{position:absolute;bottom:-2px;right:-2px;width:16px;height:16px;border-radius:50%;background:var(--tf-bg);display:flex;align-items:center;justify-content:center;border:1.5px solid var(--tf-bg)}.tf-9401fd{display:flex;flex-direction:column;min-width:0;overflow:hidden}.tf-832fae{font-family:var(--tf-font-family-mono);font-weight:600;font-size:var(--tf-font-lg);color:var(--tf-text);white-space:nowrap;line-height:1.2}.tf-b557fc{font-size:var(--tf-font-sm);color:var(--tf-text-tertiary);font-weight:500;line-height:1.2}.tf-5953e8{color:var(--tf-text-tertiary);flex-shrink:0}.tf-a168c7{display:flex;align-items:center;justify-content:center;gap:6px;text-align:center;font-size:var(--tf-font-sm);color:var(--tf-text-tertiary);padding-bottom:16px}.tf-062404{width:16px;height:16px;border-radius:4px;object-fit:contain}.tf-26af4c{display:flex;flex-direction:column}.tf-4b9be7{display:flex;gap:12px}.tf-036db2{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:var(--tf-font-base);font-weight:600;z-index:1}.tf-09b7bb{background:var(--tf-success-bg);color:var(--tf-success)}.tf-aef7e0{background:var(--tf-primary-light)}.tf-5c628c{background:var(--tf-input-bg);color:var(--tf-text-tertiary);border:1px solid var(--tf-border-light)}.tf-a5abdf{background:var(--tf-error-bg);color:var(--tf-error)}.tf-9efe7c{width:14px;height:14px;border-radius:50%;border:2px solid var(--tf-primary-light);border-top-color:var(--tf-primary);animation:tf-d36961 .8s linear infinite}.tf-5c7806{border-color:#ff475733;border-top-color:var(--tf-error)}.tf-185719{flex:1;min-width:0;padding-bottom:20px;position:relative}.tf-185719:before{content:"";position:absolute;left:-26px;top:28px;bottom:0;width:2px;background:var(--tf-border-light)}.tf-4b9be7:last-child .tf-185719:before{display:none}.tf-4b9be7:last-child .tf-185719{padding-bottom:4px}.tf-84527b .tf-185719:before{background:var(--tf-success)}.tf-417d35 .tf-185719:before{background:var(--tf-error)}.tf-aad7e9{font-size:var(--tf-font-md);font-weight:600;color:var(--tf-text);line-height:28px}.tf-8de1c6 .tf-aad7e9{color:var(--tf-text-tertiary)}.tf-417d35 .tf-aad7e9{color:var(--tf-error)}.tf-bcb46a{font-size:var(--tf-font-sm);color:var(--tf-text-tertiary);margin-top:2px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;word-break:break-word;overflow-wrap:break-word}.tf-16cfdc .tf-bcb46a{color:var(--tf-primary)}.tf-0aa291{font-size:var(--tf-font-sm);color:var(--tf-primary);text-decoration:none;display:inline-flex;align-items:center;gap:3px;transition:opacity .15s}.tf-0aa291:hover{opacity:.7}.tf-234e31{margin-top:20px;padding:16px;border-radius:12px;background:var(--tf-error-alpha, rgba(239, 68, 68, .06));border:1px solid var(--tf-error-bg);text-align:center}.tf-adb588{font-size:var(--tf-font-md);color:var(--tf-text-secondary);line-height:1.5;margin-bottom:12px}.tf-11fa21{display:inline-flex;align-items:center;gap:4px;font-size:var(--tf-font-base);color:var(--tf-primary);text-decoration:none;margin-bottom:12px;transition:opacity .15s}.tf-11fa21:hover{opacity:.7}.tf-4f7573{width:100%;padding:12px;border-radius:12px;background:linear-gradient(135deg,var(--tf-success),color-mix(in srgb,var(--tf-success) 80%,#000));color:var(--tf-text-on-primary);font-size:var(--tf-font-lg);font-weight:600;cursor:pointer;border:none;transition:opacity .2s,transform .15s}.tf-4f7573:hover{opacity:.9;transform:translateY(-1px)}.tf-4f7573:active{transform:scale(.98)}.tf-c918a2{margin-top:16px;text-align:center}.tf-ad7aab{visibility:hidden;pointer-events:none}.tf-1e22cb{width:100%;padding:12px;border-radius:12px;background:var(--tf-bg-secondary);color:var(--tf-text);font-size:var(--tf-font-lg);font-weight:600;cursor:pointer;border:1px solid var(--tf-border);transition:opacity .2s,transform .15s}.tf-1e22cb:hover{opacity:.85;transform:translateY(-1px)}.tf-1e22cb:active{transform:scale(.98)}';
11800
11864
  const css3 = ".tf-216412{display:inline-flex;align-items:center;gap:4px}.tf-52dc68{flex-shrink:0}.tf-fd32be{font-size:var(--tf-font-sm);color:var(--tf-text-secondary);min-width:20px}";
11801
- const css4 = ".tf-1019c2{margin:12px 20px 0;padding:14px;background:var(--tf-primary-light);border-radius:10px;font-size:var(--tf-font-base);color:var(--tf-text-secondary);animation:tf-42889f .25s ease both}.tf-4922f1{display:flex;justify-content:space-between;align-items:center;min-height:16px;margin-bottom:4px}.tf-4922f1:last-child{margin-bottom:0}.tf-57f45f{font-family:JetBrains Mono,monospace;font-size:var(--tf-font-sm)}.tf-a57ec8{display:block;height:131px;box-sizing:border-box}.tf-d74ccc{display:flex;justify-content:space-between;align-items:center;height:22px}.tf-92e7a8{width:68px;height:14px}.tf-d20f50{width:56px}.tf-a9a96f{width:150px;height:14px}.tf-0134eb{width:126px}.tf-91635c{width:80px}.tf-ca1291{cursor:pointer;border-bottom:1px solid var(--tf-border-light);margin-bottom:10px;transition:opacity .15s}.tf-ca1291:hover{opacity:.7}.tf-ca1291 .tf-57f45f{display:inline-flex;align-items:center;gap:4px}.tf-ca1291 .tf-57f45f svg{opacity:.35;flex-shrink:0;transition:opacity .15s}.tf-ca1291:hover .tf-57f45f svg{opacity:.7}.tf-a249b3 .tf-recipient-placeholder{color:var(--tf-error)}.tf-adeddd{border:1px dashed var(--tf-primary);border-radius:var(--tf-radius, 10px);padding:8px 12px;margin-bottom:10px;animation:tf-d990e5 2s ease-in-out infinite}.tf-adeddd .tf-recipient-placeholder{color:var(--tf-primary);font-style:normal}";
11802
- const css6 = ".tf-636daf{width:100%;height:100%;background:var(--tf-bg);display:flex;flex-direction:column;border-radius:20px;overflow:hidden}.tf-fddfab{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--tf-border-light)}.tf-970eb9{font-size:var(--tf-font-2xl);font-weight:600;color:var(--tf-text)}.tf-de123a{background:none;border:none;padding:4px;cursor:pointer;color:var(--tf-text-secondary);display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background .15s}.tf-de123a:hover{background:var(--tf-bg-elevated)}.tf-0445e3{flex:1;padding:20px;display:flex;flex-direction:column;gap:8px}.tf-9a65ec{width:100%;min-height:80px;background:var(--tf-input-bg);border:1px solid var(--tf-border-light);border-radius:12px;padding:12px 14px;font-size:var(--tf-font-lg);font-family:JetBrains Mono,monospace;color:var(--tf-text);outline:none;resize:none;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.tf-9a65ec::placeholder{color:var(--tf-text-tertiary)}.tf-9a65ec:focus{border-color:var(--tf-primary);box-shadow:0 0 0 3px var(--tf-primary-alpha)}.tf-c5ea21{border-color:var(--tf-error)}.tf-c5ea21:focus{border-color:var(--tf-error);box-shadow:0 0 0 3px var(--tf-error-alpha)}.tf-9d4bba{font-size:var(--tf-font-base);color:var(--tf-error);padding:0 2px}.tf-cb9b60{padding:16px 20px 20px}.tf-2cba65{width:100%}.tf-2cba65:disabled{opacity:.5;cursor:not-allowed}";
11865
+ const css4 = ".tf-1019c2{margin:12px 20px 0;padding:14px;background:var(--tf-primary-light);border-radius:10px;font-size:var(--tf-font-base);color:var(--tf-text-secondary);animation:tf-42889f .25s ease both}.tf-4922f1{display:flex;justify-content:space-between;align-items:center;min-height:16px;margin-bottom:4px}.tf-4922f1:last-child{margin-bottom:0}.tf-57f45f{font-family:var(--tf-font-family-mono);font-size:var(--tf-font-sm)}.tf-a57ec8{display:block;height:131px;box-sizing:border-box}.tf-d74ccc{display:flex;justify-content:space-between;align-items:center;height:22px}.tf-92e7a8{width:68px;height:14px}.tf-d20f50{width:56px}.tf-a9a96f{width:150px;height:14px}.tf-0134eb{width:126px}.tf-91635c{width:80px}.tf-ca1291{cursor:pointer;border-bottom:1px solid var(--tf-border-light);margin-bottom:10px;transition:opacity .15s}.tf-ca1291:hover{opacity:.7}.tf-ca1291 .tf-57f45f{display:inline-flex;align-items:center;gap:4px}.tf-ca1291 .tf-57f45f svg{opacity:.35;flex-shrink:0;transition:opacity .15s}.tf-ca1291:hover .tf-57f45f svg{opacity:.7}.tf-a249b3 .tf-recipient-placeholder{color:var(--tf-error)}.tf-adeddd{border:1px dashed var(--tf-primary);border-radius:var(--tf-radius, 10px);padding:8px 12px;margin-bottom:10px;animation:tf-d990e5 2s ease-in-out infinite}.tf-adeddd .tf-recipient-placeholder{color:var(--tf-primary);font-style:normal}";
11866
+ const css6 = ".tf-636daf{width:100%;height:100%;background:var(--tf-bg);display:flex;flex-direction:column;border-radius:20px;overflow:hidden}.tf-fddfab{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--tf-border-light)}.tf-970eb9{font-size:var(--tf-font-2xl);font-weight:600;color:var(--tf-text)}.tf-de123a{background:none;border:none;padding:4px;cursor:pointer;color:var(--tf-text-secondary);display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background .15s}.tf-de123a:hover{background:var(--tf-bg-elevated)}.tf-0445e3{flex:1;padding:20px;display:flex;flex-direction:column;gap:8px}.tf-9a65ec{width:100%;min-height:80px;background:var(--tf-input-bg);border:1px solid var(--tf-border-light);border-radius:12px;padding:12px 14px;font-size:var(--tf-font-lg);font-family:var(--tf-font-family-mono);color:var(--tf-text);outline:none;resize:none;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.tf-9a65ec::placeholder{color:var(--tf-text-tertiary)}.tf-9a65ec:focus{border-color:var(--tf-primary);box-shadow:0 0 0 3px var(--tf-primary-alpha)}.tf-c5ea21{border-color:var(--tf-error)}.tf-c5ea21:focus{border-color:var(--tf-error);box-shadow:0 0 0 3px var(--tf-error-alpha)}.tf-9d4bba{font-size:var(--tf-font-base);color:var(--tf-error);padding:0 2px}.tf-cb9b60{padding:16px 20px 20px}.tf-2cba65{width:100%}.tf-2cba65:disabled{opacity:.5;cursor:not-allowed}";
11803
11867
  const css7 = ".tf-ba406b{display:inline-flex;align-items:baseline}.tf-9d81a4{font-size:.7em;line-height:1;opacity:.85}.tf-7977ef{cursor:help}";
11804
- const css8 = "@keyframes tf-07c947{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.tf-dc5721{padding:18px 20px 0;display:flex;justify-content:space-between;align-items:center}.tf-68123c{display:flex;align-items:center;gap:7px}.tf-43dda9{visibility:hidden}.tf-532d07{width:22px;height:22px;object-fit:contain;flex-shrink:0}.tf-b7936a{font-size:var(--tf-font-xl);font-weight:600;letter-spacing:-.01em}.tf-883305{color:var(--tf-primary)}.tf-6da3db{display:flex;gap:6px;align-items:center;cursor:pointer;background:none;border:none;padding:4px 8px;border-radius:8px;font-family:inherit;transition:background .15s ease}.tf-6da3db:hover{background:var(--tf-surface-hover)}.tf-6da3db:focus-visible{outline:2px solid var(--tf-primary);outline-offset:2px}.tf-d25568{width:8px;height:8px;border-radius:50%;background:var(--tf-primary);box-shadow:0 0 8px var(--tf-primary-glow)}.tf-16ce7d{background:var(--tf-success);box-shadow:0 0 8px var(--tf-success)}.tf-11bb1d{font-size:var(--tf-font-base);color:var(--tf-text-secondary);font-family:JetBrains Mono,monospace}.tf-98d625{padding:14px 20px 0;animation:tf-07c947 .3s ease both}.tf-8b7743{padding:0 20px;animation:tf-07c947 .35s ease both}.tf-677ece{background:var(--tf-input-bg);border-radius:14px;padding:14px 16px;border:1px solid var(--tf-border-light);transition:border-color .2s,background .25s ease,box-shadow .2s ease}.tf-635915{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.tf-b8a04a{display:inline-flex;align-items:center;gap:8px}.tf-0d1ef8{font-size:var(--tf-font-base);color:var(--tf-text-tertiary);font-weight:500;text-align:left}.tf-d04a4e{font-size:var(--tf-font-sm);color:var(--tf-text-tertiary);font-family:JetBrains Mono,monospace}.tf-d7140f{display:flex;justify-content:space-between;align-items:center}.tf-dcd620{display:flex;align-items:center;gap:8px;background:var(--tf-surface);border-radius:10px;padding:6px 12px 6px 8px;height:36px;box-sizing:border-box;border:1px solid var(--tf-border);cursor:pointer;flex-shrink:0;font-family:DM Sans,sans-serif;transition:background .15s ease,border-color .15s ease,transform .1s ease}.tf-dcd620:hover{background:var(--tf-surface-hover);transform:scale(1.02)}.tf-e25a5c{padding:0 12px}.tf-038cf1{font-size:var(--tf-font-lg);font-weight:600;color:var(--tf-text)}.tf-33c9cb{font-size:var(--tf-font-md);font-weight:600;color:var(--tf-primary)}.tf-b1e4a6{font-size:var(--tf-font-xs);color:var(--tf-text-tertiary)}.tf-d168ae{display:flex;justify-content:space-between;align-items:center;margin-top:6px;min-height:16px;font-size:var(--tf-font-base);line-height:100%}.tf-b2b098{margin-top:6px;min-height:16px;display:flex;align-items:center}.tf-92acfd{display:inline-block;min-height:16px;font-size:var(--tf-font-base);line-height:100%;color:var(--tf-text-tertiary)}.tf-bd2f5c{visibility:hidden}.tf-5f8805{font-size:var(--tf-font-sm);font-weight:600;color:var(--tf-primary);background:var(--tf-primary-light);border:none;padding:2px 8px;border-radius:6px;cursor:pointer;font-family:DM Sans,sans-serif}.tf-5f8805:hover{opacity:.8}.tf-af41ab{display:flex;justify-content:center;margin:-6px 0;position:relative;z-index:2}.tf-18c3f4{width:36px;height:36px;padding:0;appearance:none;-webkit-appearance:none;border-radius:10px;background:var(--tf-surface);border:3px solid var(--tf-bg);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #0000000f;font-size:var(--tf-font-lg);color:var(--tf-text-secondary);transition:transform .2s ease,background .15s ease,color .15s ease}.tf-18c3f4:hover{transform:scale(1.1);color:var(--tf-primary)}.tf-18c3f4:active{transform:scale(.95) rotate(180deg)}.tf-a04b23{position:relative;flex-shrink:0}.tf-57762e{position:absolute;bottom:-2px;right:-2px}";
11805
- const css9 = ".tf-140273{width:100%;max-width:400px;border-radius:20px;overflow:hidden;background:var(--tf-bg);border:1px solid var(--tf-border);box-shadow:var(--tf-shadow-lg);font-family:DM Sans,sans-serif;color:var(--tf-text);height:100%;display:flex;flex-direction:column}.tf-45030f{padding:18px 20px 14px;flex-shrink:0}.tf-ce0622{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.tf-0c1692{font-size:var(--tf-font-xl);font-weight:600}.tf-64aa3f{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--tf-text-tertiary);font-size:var(--tf-font-2xl);font-weight:300;background:var(--tf-input-bg);border:none;font-family:DM Sans,sans-serif}.tf-9819ca{display:flex;align-items:center;gap:10px;background:var(--tf-input-bg);border-radius:12px;padding:10px 14px;border:1px solid var(--tf-border-light);transition:border-color .15s}.tf-9819ca.tf-d9fcd6{border-color:var(--tf-primary)}.tf-4ad0e7{color:var(--tf-text-tertiary);font-size:var(--tf-font-lg);flex-shrink:0}.tf-9ea859{flex:1;border:none;background:none;outline:none;font-size:var(--tf-font-lg);color:var(--tf-text);font-family:DM Sans,sans-serif}.tf-9ea859::placeholder{color:var(--tf-text-tertiary)}.tf-25e112{display:flex;gap:4px;margin-top:12px;overflow-x:auto;padding-bottom:2px}.tf-478cb9{display:flex;align-items:center;gap:5px;padding:4px 10px;border-radius:8px;border:none;font-size:var(--tf-font-sm);font-weight:500;cursor:pointer;white-space:nowrap;font-family:DM Sans,sans-serif;background:var(--tf-input-bg);color:var(--tf-text-secondary)}.tf-478cb9.tf-125be5{background:var(--tf-primary-light);color:var(--tf-primary);outline:1px solid var(--tf-primary);outline-offset:-1px}.tf-bb4fb1{height:24px;border-radius:8px;flex-shrink:0}.tf-ad5703{height:1px;background:var(--tf-border);margin:0 20px;flex-shrink:0}.tf-de9986{flex:1;min-height:0;overflow-y:auto;padding:6px 8px}.tf-7ac0fe{display:flex;flex-direction:column}.tf-c6ef08{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:12px}.tf-3643cf{display:flex;align-items:center;gap:12px}.tf-9b3d59{width:36px;height:36px;border-radius:50%}.tf-a4cc17{display:flex;flex-direction:column;gap:6px}.tf-7f1baf{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.tf-9171a2{height:10px}.tf-9171a2.tf-71ea5d{width:88px}.tf-9171a2.tf-dfb33a{width:64px}.tf-9171a2.tf-43fbf4{width:56px}.tf-9171a2.tf-61ca3c{width:44px}.tf-512365{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:12px;cursor:pointer;background:transparent;transition:background .1s;border:none;width:100%;font-family:DM Sans,sans-serif}.tf-512365:hover{background:var(--tf-surface-hover)}.tf-512365.tf-9f601f{background:var(--tf-primary-light)}.tf-a0b0d9{display:flex;align-items:center;gap:12px}.tf-1e7a62{position:relative}.tf-67f18a{position:absolute;bottom:-1px;right:-1px;width:13px;height:13px;border-radius:50%;background:var(--tf-surface);border:1px solid var(--tf-border);display:flex;align-items:center;justify-content:center}.tf-cd76b9{text-align:left;display:flex;flex-direction:column;align-items:flex-start}.tf-8f4efd{font-size:var(--tf-font-lg);font-weight:600;color:var(--tf-text)}.tf-51bf2b{font-size:var(--tf-font-sm);color:var(--tf-text-tertiary)}.tf-87740a{text-align:right}.tf-43fbf4{font-size:var(--tf-font-md);font-weight:500;font-family:JetBrains Mono,monospace}.tf-43fbf4.tf-2ee375{color:var(--tf-text-tertiary)}.tf-61ca3c{font-size:var(--tf-font-sm);color:var(--tf-text-tertiary);font-family:JetBrains Mono,monospace}";
11806
- const css10 = "@keyframes tf-72a7b4{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.95)}to{transform:scale(1);opacity:1}}@keyframes tf-7ca8ca{0%{transform:translateY(0) rotate(0)}to{transform:translateY(-4px) rotate(8deg)}}@keyframes tf-2b6de5{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes tf-5b8ef8{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.tf-e98a9a{padding:28px 20px 24px;display:flex;flex-direction:column;align-items:center;animation:tf-2b6de5 .35s ease both}.tf-1f9019{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--tf-success),#00E6A0);display:flex;align-items:center;justify-content:center;margin-bottom:16px;animation:tf-72a7b4 .6s ease both;box-shadow:0 8px 32px #00c48c40;color:var(--tf-text-on-primary)}.tf-73631f{animation:tf-7ca8ca 2s ease-in-out infinite alternate;display:flex}.tf-9e3a66{font-size:var(--tf-font-heading);font-weight:700;color:var(--tf-text);margin-bottom:4px;letter-spacing:-.01em}.tf-db06d4{font-size:var(--tf-font-md);color:var(--tf-text-secondary);margin-bottom:20px}.tf-c9a5e1{width:100%;padding:20px;border-radius:16px;background:linear-gradient(135deg,#00c48c14,#00e6a00a);border:1px solid rgba(0,196,140,.15);display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:16px;animation:tf-2b6de5 .4s ease .2s both}.tf-789d4e{margin-bottom:4px}.tf-f52291{font-size:var(--tf-font-amount-lg);font-weight:700;color:var(--tf-text);font-family:JetBrains Mono,monospace;letter-spacing:-.02em;display:flex;align-items:baseline;gap:8px}.tf-8cfc86{font-size:var(--tf-font-lg);font-weight:500;color:var(--tf-text-secondary)}.tf-4f945b{font-size:var(--tf-font-sm);color:var(--tf-text-tertiary);font-weight:500;display:flex;align-items:center;gap:5px}.tf-75f592{width:100%;margin-bottom:16px}.tf-73910d{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--tf-input-bg);border:1px solid var(--tf-border-light);border-radius:10px;cursor:pointer;font-size:var(--tf-font-base);font-weight:500;color:var(--tf-text-secondary);font-family:DM Sans,sans-serif;transition:background .15s}.tf-73910d:hover{background:var(--tf-bg-secondary)}.tf-ae94a0{border-radius:10px 10px 0 0}.tf-1afb0a{transition:transform .2s ease;color:var(--tf-text-tertiary)}.tf-7737cf{transform:rotate(180deg)}.tf-92a530{padding:8px 14px 12px;border:1px solid var(--tf-border-light);border-top:none;border-radius:0 0 10px 10px;background:var(--tf-input-bg);animation:tf-5b8ef8 .15s ease both}.tf-6e8c3e{display:flex;justify-content:space-between;align-items:center;font-size:var(--tf-font-sm);padding:5px 0}.tf-4b5396{color:var(--tf-text-tertiary);font-weight:500}.tf-63cca1{color:var(--tf-text-secondary);font-family:JetBrains Mono,monospace;font-size:var(--tf-font-sm);display:flex;align-items:center;gap:4px}.tf-18c122{color:var(--tf-primary);text-decoration:none;font-size:var(--tf-font-sm);font-family:JetBrains Mono,monospace;display:inline-flex;align-items:center;gap:3px;transition:opacity .15s}.tf-18c122:hover{opacity:.7}.tf-d7e813{width:100%;padding:14px 0;border-radius:14px;border:none;background:var(--tf-primary);color:var(--tf-text-on-primary);font-weight:600;font-size:var(--tf-font-xl);cursor:pointer;font-family:DM Sans,sans-serif;box-shadow:0 4px 16px color-mix(in srgb,var(--tf-primary) 25%,transparent);transition:transform .15s ease,opacity .15s ease}.tf-d7e813:hover{opacity:.95;transform:translateY(-1px)}.tf-d7e813:active{transform:translateY(0)}";
11807
- const css11 = ".tf-c63ac0{border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--tf-text-on-primary);font-weight:700;font-family:DM Sans,sans-serif;flex-shrink:0;overflow:hidden}.tf-59aca7{width:100%;height:100%;object-fit:cover;border-radius:50%}.tf-dbfbb3{border-radius:50%;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center}.tf-f89395{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.tf-cdfe94{display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 0 14px;border-top:1px solid var(--tf-border-light);margin:8px 20px 0;text-decoration:none}.tf-7c0c36{font-size:var(--tf-font-sm);color:var(--tf-text-tertiary)}.tf-26d5ea{font-size:var(--tf-font-base);line-height:1}.tf-8b1e15{font-size:var(--tf-font-sm);font-weight:600;letter-spacing:.02em;color:var(--tf-text-secondary)}.tf-3852e5,.tf-b35860{color:var(--tf-primary)}";
11808
- const css12 = "@keyframes tf-80a677{to{transform:rotate(360deg)}}@keyframes tf-d97ff2{0%,to{opacity:1}50%{opacity:.4}}@keyframes tf-c3558b{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes tf-89a83e{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(6px)}}@keyframes tf-ca9155{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes tf-d2dbc4{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes tf-54b7e7{0%,to{border-color:var(--tf-primary)}50%{border-color:var(--tf-primary-light)}}@keyframes tf-194f18{to{transform:rotate(360deg)}}@keyframes tf-cdef4a{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.95)}to{transform:scale(1);opacity:1}}@keyframes tf-fd8795{0%{transform:translateY(0) rotate(0)}to{transform:translateY(-4px) rotate(8deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:host{display:block;font-family:DM Sans,sans-serif;color:var(--tf-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--tf-font-2xs: 10px;--tf-font-xs: 11px;--tf-font-sm: 12px;--tf-font-base: 13px;--tf-font-md: 14px;--tf-font-lg: 15px;--tf-font-xl: 16px;--tf-font-2xl: 17px;--tf-font-heading: 20px;--tf-font-amount: 28px;--tf-font-amount-lg: 24px;--tf-font-amount-sm: 22px}button:focus-visible,a:focus-visible{outline:2px solid var(--tf-primary);outline-offset:2px;border-radius:4px}";
11809
- const css13 = ".tf-1ac2ef{border-radius:6px;background:var(--tf-skeleton);animation:tf-90e981 1.5s infinite}.tf-68a980{position:absolute;inset:0;border-radius:20px;display:flex;align-items:flex-start;z-index:10;overflow:hidden;animation:tf-552c66 .2s ease both}.tf-e7b9c7{width:100%;max-width:400px;min-width:360px;border-radius:20px;overflow:hidden;background:var(--tf-bg);border:1px solid var(--tf-border);box-shadow:var(--tf-shadow-lg);font-family:DM Sans,sans-serif;color:var(--tf-text);position:relative;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease}.tf-b4f391{background:transparent}.tf-118b57{border:none;box-shadow:none}.tf-118b57 .tf-07225e{display:none}.tf-07225e{height:2px;background:linear-gradient(90deg,transparent,var(--tf-primary),transparent);opacity:.6}.tf-d01dff{padding:16px 20px 20px;animation:tf-ed0355 .3s ease .1s both}.tf-5bb68c{padding:12px 20px 0}.tf-04e1e2{margin:12px 20px 0;padding:14px;background:var(--tf-primary-light);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:131px;box-sizing:border-box;animation:tf-b61e63 .25s ease both}.tf-d01908{color:var(--tf-text-tertiary);opacity:.4}.tf-1cc72b{font-size:var(--tf-font-base);color:var(--tf-text-secondary)}.tf-480f1a{padding:0 20px 16px;text-align:center}.tf-480f1a a{font-size:var(--tf-font-base);color:var(--tf-primary);text-decoration:none;font-family:JetBrains Mono,monospace}.tf-bc7950{text-align:center;margin-top:8px;margin-bottom:10px}.tf-bc7950 a{font-size:var(--tf-font-sm);color:var(--tf-primary);text-decoration:none;font-family:JetBrains Mono,monospace}.tf-d9b7b4{display:inline-flex;align-items:center;gap:4px;background:var(--tf-surface);border:1px solid var(--tf-border);border-radius:6px;padding:2px 8px;cursor:pointer;font-size:var(--tf-font-sm);font-family:JetBrains Mono,monospace;color:var(--tf-text-secondary);transition:background .15s,border-color .15s}.tf-d9b7b4:hover{background:var(--tf-surface-hover)}.tf-d9b7b4 svg{opacity:.4;transition:opacity .15s}.tf-d9b7b4:hover svg{opacity:.7}.tf-9398ea{border-style:dashed;border-color:var(--tf-primary)}.tf-9398ea .tf-2d9323{color:var(--tf-primary);font-style:italic;font-family:DM Sans,sans-serif}.tf-4567e1{cursor:default;opacity:.8}.tf-4567e1:hover{background:var(--tf-surface)}.tf-58881e{color:var(--tf-text-tertiary);font-style:italic}";
11868
+ const css8 = "@keyframes tf-07c947{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.tf-dc5721{padding:18px 20px 0;display:flex;justify-content:space-between;align-items:center}.tf-68123c{display:flex;align-items:center;gap:7px}.tf-43dda9{visibility:hidden}.tf-532d07{width:22px;height:22px;object-fit:contain;flex-shrink:0}.tf-b7936a{font-size:var(--tf-font-xl);font-weight:600;letter-spacing:-.01em}.tf-883305{color:var(--tf-primary)}.tf-6da3db{display:flex;gap:6px;align-items:center;cursor:pointer;background:none;border:none;padding:4px 8px;border-radius:8px;font-family:inherit;transition:background .15s ease}.tf-6da3db:hover{background:var(--tf-surface-hover)}.tf-6da3db:focus-visible{outline:2px solid var(--tf-primary);outline-offset:2px}.tf-d25568{width:8px;height:8px;border-radius:50%;background:var(--tf-primary);box-shadow:0 0 8px var(--tf-primary-glow)}.tf-16ce7d{background:var(--tf-success);box-shadow:0 0 8px var(--tf-success)}.tf-11bb1d{font-size:var(--tf-font-base);color:var(--tf-text-secondary);font-family:var(--tf-font-family-mono)}.tf-98d625{padding:14px 20px 0;animation:tf-07c947 .3s ease both}.tf-8b7743{padding:0 20px;animation:tf-07c947 .35s ease both}.tf-677ece{background:var(--tf-input-bg);border-radius:14px;padding:14px 16px;border:1px solid var(--tf-border-light);transition:border-color .2s,background .25s ease,box-shadow .2s ease}.tf-635915{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.tf-b8a04a{display:inline-flex;align-items:center;gap:8px}.tf-0d1ef8{font-size:var(--tf-font-base);color:var(--tf-text-tertiary);font-weight:500;text-align:left}.tf-d04a4e{font-size:var(--tf-font-sm);color:var(--tf-text-tertiary);font-family:var(--tf-font-family-mono)}.tf-d7140f{display:flex;justify-content:space-between;align-items:center}.tf-dcd620{display:flex;align-items:center;gap:8px;background:var(--tf-surface);border-radius:10px;padding:6px 12px 6px 8px;height:36px;box-sizing:border-box;border:1px solid var(--tf-border);cursor:pointer;flex-shrink:0;font-family:var(--tf-font-family);transition:background .15s ease,border-color .15s ease,transform .1s ease}.tf-dcd620:hover{background:var(--tf-surface-hover);transform:scale(1.02)}.tf-e25a5c{padding:0 12px}.tf-038cf1{font-size:var(--tf-font-lg);font-weight:600;color:var(--tf-text)}.tf-33c9cb{font-size:var(--tf-font-md);font-weight:600;color:var(--tf-primary)}.tf-b1e4a6{font-size:var(--tf-font-xs);color:var(--tf-text-tertiary)}.tf-d168ae{display:flex;justify-content:space-between;align-items:center;margin-top:6px;min-height:16px;font-size:var(--tf-font-base);line-height:100%}.tf-b2b098{margin-top:6px;min-height:16px;display:flex;align-items:center}.tf-92acfd{display:inline-block;min-height:16px;font-size:var(--tf-font-base);line-height:100%;color:var(--tf-text-tertiary)}.tf-bd2f5c{visibility:hidden}.tf-5f8805{font-size:var(--tf-font-sm);font-weight:600;color:var(--tf-primary);background:var(--tf-primary-light);border:none;padding:2px 8px;border-radius:6px;cursor:pointer;font-family:var(--tf-font-family)}.tf-5f8805:hover{opacity:.8}.tf-af41ab{display:flex;justify-content:center;margin:-6px 0;position:relative;z-index:2}.tf-18c3f4{width:36px;height:36px;padding:0;appearance:none;-webkit-appearance:none;border-radius:10px;background:var(--tf-surface);border:3px solid var(--tf-bg);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #0000000f;font-size:var(--tf-font-lg);color:var(--tf-text-secondary);transition:transform .2s ease,background .15s ease,color .15s ease}.tf-18c3f4:hover{transform:scale(1.1);color:var(--tf-primary)}.tf-18c3f4:active{transform:scale(.95) rotate(180deg)}.tf-a04b23{position:relative;flex-shrink:0}.tf-57762e{position:absolute;bottom:-2px;right:-2px}";
11869
+ const css9 = ".tf-140273{width:100%;max-width:400px;border-radius:20px;overflow:hidden;background:var(--tf-bg);border:1px solid var(--tf-border);box-shadow:var(--tf-shadow-lg);font-family:var(--tf-font-family);color:var(--tf-text);height:100%;display:flex;flex-direction:column}.tf-45030f{padding:18px 20px 14px;flex-shrink:0}.tf-ce0622{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.tf-0c1692{font-size:var(--tf-font-xl);font-weight:600}.tf-64aa3f{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--tf-text-tertiary);font-size:var(--tf-font-2xl);font-weight:300;background:var(--tf-input-bg);border:none;font-family:var(--tf-font-family)}.tf-9819ca{display:flex;align-items:center;gap:10px;background:var(--tf-input-bg);border-radius:12px;padding:10px 14px;border:1px solid var(--tf-border-light);transition:border-color .15s}.tf-9819ca.tf-d9fcd6{border-color:var(--tf-primary)}.tf-4ad0e7{color:var(--tf-text-tertiary);font-size:var(--tf-font-lg);flex-shrink:0}.tf-9ea859{flex:1;border:none;background:none;outline:none;font-size:var(--tf-font-lg);color:var(--tf-text);font-family:var(--tf-font-family)}.tf-9ea859::placeholder{color:var(--tf-text-tertiary)}.tf-25e112{display:flex;gap:4px;margin-top:12px;overflow-x:auto;padding-bottom:2px}.tf-478cb9{display:flex;align-items:center;gap:5px;padding:4px 10px;border-radius:8px;border:none;font-size:var(--tf-font-sm);font-weight:500;cursor:pointer;white-space:nowrap;font-family:var(--tf-font-family);background:var(--tf-input-bg);color:var(--tf-text-secondary)}.tf-478cb9.tf-125be5{background:var(--tf-primary-light);color:var(--tf-primary);outline:1px solid var(--tf-primary);outline-offset:-1px}.tf-bb4fb1{height:24px;border-radius:8px;flex-shrink:0}.tf-ad5703{height:1px;background:var(--tf-border);margin:0 20px;flex-shrink:0}.tf-de9986{flex:1;min-height:0;overflow-y:auto;padding:6px 8px}.tf-7ac0fe{display:flex;flex-direction:column}.tf-c6ef08{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:12px}.tf-3643cf{display:flex;align-items:center;gap:12px}.tf-9b3d59{width:36px;height:36px;border-radius:50%}.tf-a4cc17{display:flex;flex-direction:column;gap:6px}.tf-7f1baf{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.tf-9171a2{height:10px}.tf-9171a2.tf-71ea5d{width:88px}.tf-9171a2.tf-dfb33a{width:64px}.tf-9171a2.tf-43fbf4{width:56px}.tf-9171a2.tf-61ca3c{width:44px}.tf-512365{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:12px;cursor:pointer;background:transparent;transition:background .1s;border:none;width:100%;font-family:var(--tf-font-family)}.tf-512365:hover{background:var(--tf-surface-hover)}.tf-512365.tf-9f601f{background:var(--tf-primary-light)}.tf-a0b0d9{display:flex;align-items:center;gap:12px}.tf-1e7a62{position:relative}.tf-67f18a{position:absolute;bottom:-1px;right:-1px;width:13px;height:13px;border-radius:50%;background:var(--tf-surface);border:1px solid var(--tf-border);display:flex;align-items:center;justify-content:center}.tf-cd76b9{text-align:left;display:flex;flex-direction:column;align-items:flex-start}.tf-8f4efd{font-size:var(--tf-font-lg);font-weight:600;color:var(--tf-text)}.tf-51bf2b{font-size:var(--tf-font-sm);color:var(--tf-text-tertiary)}.tf-87740a{text-align:right}.tf-43fbf4{color:var(--tf-text);font-size:var(--tf-font-md);font-weight:500;font-family:var(--tf-font-family-mono)}.tf-43fbf4.tf-2ee375{color:var(--tf-text-tertiary)}.tf-61ca3c{font-size:var(--tf-font-sm);color:var(--tf-text-tertiary);font-family:var(--tf-font-family-mono)}";
11870
+ const css10 = "@keyframes tf-72a7b4{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.95)}to{transform:scale(1);opacity:1}}@keyframes tf-7ca8ca{0%{transform:translateY(0) rotate(0)}to{transform:translateY(-4px) rotate(8deg)}}@keyframes tf-2b6de5{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes tf-5b8ef8{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.tf-e98a9a{padding:28px 20px 24px;display:flex;flex-direction:column;align-items:center;animation:tf-2b6de5 .35s ease both}.tf-1f9019{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--tf-success),#00E6A0);display:flex;align-items:center;justify-content:center;margin-bottom:16px;animation:tf-72a7b4 .6s ease both;box-shadow:0 8px 32px #00c48c40;color:var(--tf-text-on-primary)}.tf-73631f{animation:tf-7ca8ca 2s ease-in-out infinite alternate;display:flex}.tf-9e3a66{font-size:var(--tf-font-heading);font-weight:700;color:var(--tf-text);margin-bottom:4px;letter-spacing:-.01em}.tf-db06d4{font-size:var(--tf-font-md);color:var(--tf-text-secondary);margin-bottom:20px}.tf-c9a5e1{width:100%;padding:20px;border-radius:16px;background:linear-gradient(135deg,#00c48c14,#00e6a00a);border:1px solid rgba(0,196,140,.15);display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:16px;animation:tf-2b6de5 .4s ease .2s both}.tf-7b3b5b{position:relative;width:40px;height:40px;margin-bottom:4px}.tf-651299{position:absolute;bottom:-2px;right:-2px;width:16px;height:16px;border-radius:50%;background:var(--tf-bg);display:flex;align-items:center;justify-content:center;border:1.5px solid rgba(0,196,140,.15)}.tf-f52291{font-size:var(--tf-font-amount-lg);font-weight:700;color:var(--tf-text);font-family:var(--tf-font-family-mono);letter-spacing:-.02em;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;justify-content:center}.tf-8cfc86{font-size:var(--tf-font-lg);font-weight:500;color:var(--tf-text-secondary)}.tf-5f768d{font-size:var(--tf-font-sm);font-weight:500;font-family:var(--tf-font-family);color:var(--tf-text-tertiary);letter-spacing:0}.tf-75f592{width:100%;margin-bottom:16px}.tf-73910d{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--tf-input-bg);border:1px solid var(--tf-border-light);border-radius:10px;cursor:pointer;font-size:var(--tf-font-base);font-weight:500;color:var(--tf-text-secondary);font-family:var(--tf-font-family);transition:background .15s}.tf-73910d:hover{background:var(--tf-bg-secondary)}.tf-ae94a0{border-radius:10px 10px 0 0}.tf-1afb0a{transition:transform .2s ease;color:var(--tf-text-tertiary)}.tf-7737cf{transform:rotate(180deg)}.tf-92a530{padding:8px 14px 12px;border:1px solid var(--tf-border-light);border-top:none;border-radius:0 0 10px 10px;background:var(--tf-input-bg);animation:tf-5b8ef8 .15s ease both}.tf-6e8c3e{display:flex;justify-content:space-between;align-items:center;font-size:var(--tf-font-sm);padding:5px 0}.tf-4b5396{color:var(--tf-text-tertiary);font-weight:500}.tf-63cca1{color:var(--tf-text-secondary);font-family:var(--tf-font-family-mono);font-size:var(--tf-font-sm);display:flex;align-items:center;gap:4px}.tf-18c122{color:var(--tf-primary);text-decoration:none;font-size:var(--tf-font-sm);font-family:var(--tf-font-family-mono);display:inline-flex;align-items:center;gap:3px;transition:opacity .15s}.tf-18c122:hover{opacity:.7}.tf-d7e813{width:100%;padding:14px 0;border-radius:14px;border:none;background:var(--tf-primary);color:var(--tf-text-on-primary);font-weight:600;font-size:var(--tf-font-xl);cursor:pointer;font-family:var(--tf-font-family);box-shadow:0 4px 16px color-mix(in srgb,var(--tf-primary) 25%,transparent);transition:transform .15s ease,opacity .15s ease}.tf-d7e813:hover{opacity:.95;transform:translateY(-1px)}.tf-d7e813:active{transform:translateY(0)}";
11871
+ const css11 = ".tf-c63ac0{border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--tf-text-on-primary);font-weight:700;font-family:var(--tf-font-family);flex-shrink:0;overflow:hidden}.tf-59aca7{width:100%;height:100%;object-fit:cover;border-radius:50%}.tf-dbfbb3{border-radius:50%;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center}.tf-f89395{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.tf-cdfe94{display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 0 14px;border-top:1px solid var(--tf-border-light);margin:8px 20px 0;text-decoration:none}.tf-7c0c36{font-size:var(--tf-font-sm);color:var(--tf-text-tertiary)}.tf-26d5ea{font-size:var(--tf-font-base);line-height:1}.tf-8b1e15{font-size:var(--tf-font-sm);font-weight:600;letter-spacing:.02em;color:var(--tf-text-secondary)}.tf-3852e5,.tf-b35860{color:var(--tf-primary)}";
11872
+ const css12 = '@keyframes tf-80a677{to{transform:rotate(360deg)}}@keyframes tf-d97ff2{0%,to{opacity:1}50%{opacity:.4}}@keyframes tf-c3558b{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes tf-89a83e{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(6px)}}@keyframes tf-ca9155{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes tf-d2dbc4{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes tf-54b7e7{0%,to{border-color:var(--tf-primary)}50%{border-color:var(--tf-primary-light)}}@keyframes tf-194f18{to{transform:rotate(360deg)}}@keyframes tf-cdef4a{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.95)}to{transform:scale(1);opacity:1}}@keyframes tf-fd8795{0%{transform:translateY(0) rotate(0)}to{transform:translateY(-4px) rotate(8deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:host{display:block;color:var(--tf-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--tf-font-family: "DM Sans", sans-serif;--tf-font-family-mono: "JetBrains Mono", monospace;font-family:var(--tf-font-family);--tf-font-2xs: 10px;--tf-font-xs: 11px;--tf-font-sm: 12px;--tf-font-base: 13px;--tf-font-md: 14px;--tf-font-lg: 15px;--tf-font-xl: 16px;--tf-font-2xl: 17px;--tf-font-heading: 20px;--tf-font-amount: 28px;--tf-font-amount-lg: 24px;--tf-font-amount-sm: 22px}button:focus-visible,a:focus-visible{outline:2px solid var(--tf-primary);outline-offset:2px;border-radius:4px}';
11873
+ const css13 = ".tf-1ac2ef{border-radius:6px;background:var(--tf-skeleton);animation:tf-90e981 1.5s infinite}.tf-68a980{position:absolute;inset:0;border-radius:20px;display:flex;align-items:flex-start;z-index:10;overflow:hidden;animation:tf-552c66 .2s ease both}.tf-e7b9c7{width:100%;max-width:400px;min-width:360px;border-radius:20px;overflow:hidden;background:var(--tf-bg);border:1px solid var(--tf-border);box-shadow:var(--tf-shadow-lg);font-family:var(--tf-font-family);color:var(--tf-text);position:relative;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease}.tf-b4f391{background:transparent}.tf-118b57{border:none;box-shadow:none}.tf-118b57 .tf-07225e{display:none}.tf-07225e{height:2px;background:linear-gradient(90deg,transparent,var(--tf-primary),transparent);opacity:.6}.tf-d01dff{padding:16px 20px 20px;animation:tf-ed0355 .3s ease .1s both}.tf-5bb68c{padding:12px 20px 0}.tf-04e1e2{margin:12px 20px 0;padding:14px;background:var(--tf-primary-light);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:131px;box-sizing:border-box;animation:tf-b61e63 .25s ease both}.tf-d01908{color:var(--tf-text-tertiary);opacity:.4}.tf-1cc72b{font-size:var(--tf-font-base);color:var(--tf-text-secondary)}.tf-480f1a{padding:0 20px 16px;text-align:center}.tf-480f1a a{font-size:var(--tf-font-base);color:var(--tf-primary);text-decoration:none;font-family:var(--tf-font-family-mono)}.tf-bc7950{text-align:center;margin-top:8px;margin-bottom:10px}.tf-bc7950 a{font-size:var(--tf-font-sm);color:var(--tf-primary);text-decoration:none;font-family:var(--tf-font-family-mono)}.tf-d9b7b4{display:inline-flex;align-items:center;gap:4px;background:var(--tf-surface);border:1px solid var(--tf-border);border-radius:6px;padding:2px 8px;cursor:pointer;font-size:var(--tf-font-sm);font-family:var(--tf-font-family-mono);color:var(--tf-text-secondary);transition:background .15s,border-color .15s}.tf-d9b7b4:hover{background:var(--tf-surface-hover)}.tf-d9b7b4 svg{opacity:.4;transition:opacity .15s}.tf-d9b7b4:hover svg{opacity:.7}.tf-9398ea{border-style:dashed;border-color:var(--tf-primary)}.tf-9398ea .tf-2d9323{color:var(--tf-primary);font-style:italic;font-family:var(--tf-font-family)}.tf-4567e1{cursor:default;opacity:.8}.tf-4567e1:hover{background:var(--tf-surface)}.tf-58881e{color:var(--tf-text-tertiary);font-style:italic}";
11810
11874
  const swapCss = [css0, css1$1, css1, css3, css4, css6, css7, css8, css9, css10, css11, css12, css13].join("\n");
11811
- const css2 = "@keyframes tf-540423{to{transform:rotate(360deg)}}.tf-d61a98{padding:0 20px}.tf-4574e9{height:162px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--tf-border) transparent}.tf-4574e9::-webkit-scrollbar{width:4px}.tf-4574e9::-webkit-scrollbar-track{background:transparent}.tf-4574e9::-webkit-scrollbar-thumb{background:var(--tf-border);border-radius:2px}.tf-2f8db2{display:flex;align-items:center;justify-content:space-between;padding:9px 11px;border-radius:11px;margin-bottom:4px;cursor:pointer;border:1px solid var(--tf-border-light);background:transparent;width:100%;font-family:DM Sans,sans-serif;transition:background .15s ease,border-color .15s ease}.tf-aaf1d0{border-color:var(--tf-primary);outline:.5px solid var(--tf-primary);outline-offset:-1px;background:var(--tf-primary-light)}.tf-328e9e{opacity:.4;cursor:not-allowed}.tf-af2c71{cursor:default;pointer-events:none}.tf-d7d776{width:32px;height:32px;border-radius:50%}.tf-c3e864{display:flex;align-items:center;padding:11px 14px;border-radius:12px;border:1px solid var(--tf-border-light);background:var(--tf-input-bg);cursor:default;pointer-events:none}.tf-44450a{display:flex;flex-direction:column;gap:6px}.tf-6c1e97{height:10px}.tf-2174f1{width:52px}.tf-2d3530{width:40px}.tf-2733a9{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.tf-54150b{width:60px}.tf-7aabe1{width:44px}.tf-c41b7c{display:flex;align-items:center;gap:9px}.tf-142024{position:relative}.tf-3b42da{position:absolute;bottom:-1px;right:-1px;width:11px;height:11px;border-radius:50%;background:var(--tf-surface);border:1px solid var(--tf-border);display:flex;align-items:center;justify-content:center}.tf-b7faa4{text-align:left}.tf-1ae7a3{display:flex;align-items:center;gap:5px}.tf-b949b8{font-size:var(--tf-font-base);font-weight:600;color:var(--tf-text)}.tf-2f811b{font-size:var(--tf-font-2xs);font-weight:700;padding:1px 4px;border-radius:3px;background:var(--tf-success-bg);color:var(--tf-success);letter-spacing:.03em}.tf-6542b9{font-size:var(--tf-font-xs);color:var(--tf-text-tertiary)}.tf-e613ff{text-align:right}.tf-630df3{font-size:var(--tf-font-base);font-weight:600;font-family:JetBrains Mono,monospace;color:var(--tf-text)}.tf-0be2ff{font-size:var(--tf-font-xs);color:var(--tf-text-tertiary);font-family:JetBrains Mono,monospace}.tf-dad192{font-size:var(--tf-font-base);font-weight:600;font-family:JetBrains Mono,monospace;color:var(--tf-text)}.tf-840c29{font-size:var(--tf-font-xs);color:var(--tf-text-tertiary);font-family:JetBrains Mono,monospace}.tf-09818b{display:flex;align-items:center;padding:10px 14px;border-radius:12px;border:1px solid var(--tf-border-light);background:var(--tf-input-bg);cursor:pointer;width:100%;font-family:DM Sans,sans-serif;transition:background .15s ease,border-color .15s ease}.tf-09818b:hover{border-color:var(--tf-primary);background:var(--tf-primary-light)}.tf-c7ba0f{display:flex;align-items:center;gap:9px}.tf-dea0cb{text-align:left}.tf-41931a{display:flex;align-items:center;gap:5px}.tf-3d2f5a{margin-left:auto;text-align:right;margin-right:8px}.tf-9a379d{font-size:var(--tf-font-lg);font-weight:500;font-family:JetBrains Mono,monospace;color:var(--tf-text);letter-spacing:-.02em}.tf-c11354{font-size:var(--tf-font-xs);color:var(--tf-text-tertiary);font-family:JetBrains Mono,monospace}.tf-864468{color:var(--tf-text-tertiary);display:flex;align-items:center;flex-shrink:0;transition:transform .2s ease}.tf-8299cf{flex:1;overflow-y:auto;padding:0 8px 8px;scrollbar-width:thin;scrollbar-color:var(--tf-border) transparent}.tf-176d77{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:12px;cursor:pointer;background:transparent;transition:background .1s;border:none;width:100%;font-family:DM Sans,sans-serif;color:var(--tf-text)}.tf-176d77:hover{background:var(--tf-surface-hover)}.tf-2df5d9{background:var(--tf-primary-light)}.tf-dc503e{opacity:.4;cursor:not-allowed}.tf-ebbc44{display:flex;align-items:center;gap:12px}.tf-5f455f{text-align:left}.tf-15ee78{display:flex;align-items:center;gap:6px}.tf-976d83{font-size:var(--tf-font-lg);font-weight:600;color:var(--tf-text)}.tf-ba2eec{font-size:var(--tf-font-sm);color:var(--tf-text-tertiary)}.tf-a37921{text-align:right}.tf-cf71b6{font-size:var(--tf-font-md);font-weight:600;font-family:JetBrains Mono,monospace;color:var(--tf-text)}.tf-7474a9{font-size:var(--tf-font-sm);color:var(--tf-text-tertiary);font-family:JetBrains Mono,monospace}.tf-772a9c{flex-shrink:0;padding:4px 8px 12px;border-top:1px solid var(--tf-border-light)}.tf-5fb6ad{display:flex;flex-direction:column;align-items:center;justify-content:center;height:197px;gap:8px;padding:16px 20px}.tf-86e8e0{flex-direction:row;gap:10px}.tf-66007c{color:var(--tf-text-tertiary);opacity:.5}.tf-73bbbc{width:24px;height:24px;display:flex;align-items:center;justify-content:center;opacity:.6;color:var(--tf-primary);animation:tf-540423 1s linear infinite}.tf-12c6bb{font-size:var(--tf-font-md);font-weight:600;color:var(--tf-text-secondary)}.tf-7a8fe0{font-size:var(--tf-font-sm);color:var(--tf-text-tertiary);text-align:center;line-height:1.4}.tf-22f94f{display:flex;align-items:center;justify-content:center;gap:4px;padding:4px 0 2px;font-size:var(--tf-font-sm);color:var(--tf-primary);cursor:pointer;font-weight:500;background:none;border:none;width:100%;font-family:DM Sans,sans-serif}";
11812
- const css5 = ".tf-9b71d6{padding:16px 20px 12px;display:flex;justify-content:space-between;align-items:center;gap:7px}.tf-4c9136{padding:0 20px 10px}.tf-febe61{font-size:var(--tf-font-sm);color:var(--tf-text-tertiary);font-weight:500;margin-bottom:6px;text-align:left}.tf-a27aab{display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--tf-input-bg);border-radius:12px;border:1px solid var(--tf-border-light)}.tf-f0b3f5{position:relative;flex-shrink:0}.tf-7a6fbc{position:absolute;bottom:-1px;right:-1px;width:12px;height:12px}.tf-e9e9a1{font-size:var(--tf-font-amount-sm);font-weight:700;letter-spacing:-.02em}.tf-f3baad{font-size:var(--tf-font-lg);font-weight:500;color:var(--tf-text-secondary)}.tf-0131e4{margin-left:auto;font-size:var(--tf-font-sm);color:var(--tf-text-tertiary);font-family:JetBrains Mono,monospace}";
11875
+ const css2 = "@keyframes tf-540423{to{transform:rotate(360deg)}}.tf-d61a98{padding:0 20px}.tf-4574e9{height:162px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--tf-border) transparent}.tf-4574e9::-webkit-scrollbar{width:4px}.tf-4574e9::-webkit-scrollbar-track{background:transparent}.tf-4574e9::-webkit-scrollbar-thumb{background:var(--tf-border);border-radius:2px}.tf-2f8db2{display:flex;align-items:center;justify-content:space-between;padding:9px 11px;border-radius:11px;margin-bottom:4px;cursor:pointer;border:1px solid var(--tf-border-light);background:transparent;width:100%;font-family:var(--tf-font-family);transition:background .15s ease,border-color .15s ease}.tf-aaf1d0{border-color:var(--tf-primary);outline:.5px solid var(--tf-primary);outline-offset:-1px;background:var(--tf-primary-light)}.tf-328e9e{opacity:.4;cursor:not-allowed}.tf-af2c71{cursor:default;pointer-events:none}.tf-d7d776{width:32px;height:32px;border-radius:50%}.tf-c3e864{display:flex;align-items:center;padding:11px 14px;border-radius:12px;border:1px solid var(--tf-border-light);background:var(--tf-input-bg);cursor:default;pointer-events:none}.tf-44450a{display:flex;flex-direction:column;gap:6px}.tf-6c1e97{height:10px}.tf-2174f1{width:52px}.tf-2d3530{width:40px}.tf-2733a9{display:flex;flex-direction:column;align-items:flex-end;gap:6px;margin-left:auto}.tf-54150b{width:60px}.tf-7aabe1{width:44px}.tf-c41b7c{display:flex;align-items:center;gap:9px}.tf-142024{position:relative}.tf-3b42da{position:absolute;bottom:-1px;right:-1px;width:11px;height:11px;border-radius:50%;background:var(--tf-surface);border:1px solid var(--tf-border);display:flex;align-items:center;justify-content:center}.tf-b7faa4{text-align:left}.tf-1ae7a3{display:flex;align-items:center;gap:5px}.tf-b949b8{font-size:var(--tf-font-base);font-weight:600;color:var(--tf-text)}.tf-2f811b{font-size:var(--tf-font-2xs);font-weight:700;padding:1px 4px;border-radius:3px;background:var(--tf-success-bg);color:var(--tf-success);letter-spacing:.03em}.tf-6542b9{font-size:var(--tf-font-xs);color:var(--tf-text-tertiary)}.tf-e613ff{text-align:right}.tf-630df3{font-size:var(--tf-font-base);font-weight:600;font-family:var(--tf-font-family-mono);color:var(--tf-text)}.tf-0be2ff{font-size:var(--tf-font-xs);color:var(--tf-text-tertiary);font-family:var(--tf-font-family-mono)}.tf-dad192{font-size:var(--tf-font-base);font-weight:600;font-family:var(--tf-font-family-mono);color:var(--tf-text)}.tf-840c29{font-size:var(--tf-font-xs);color:var(--tf-text-tertiary);font-family:var(--tf-font-family-mono)}.tf-09818b{display:flex;align-items:center;padding:10px 14px;border-radius:12px;border:1px solid var(--tf-border-light);background:var(--tf-input-bg);cursor:pointer;width:100%;font-family:var(--tf-font-family);transition:background .15s ease,border-color .15s ease}.tf-09818b:hover{border-color:var(--tf-primary);background:var(--tf-primary-light)}.tf-c7ba0f{display:flex;align-items:center;gap:9px}.tf-dea0cb{text-align:left}.tf-41931a{display:flex;align-items:center;gap:5px}.tf-3d2f5a{margin-left:auto;text-align:right;margin-right:8px}.tf-9a379d{font-size:var(--tf-font-lg);font-weight:500;font-family:var(--tf-font-family-mono);color:var(--tf-text);letter-spacing:-.02em}.tf-c11354{font-size:var(--tf-font-xs);color:var(--tf-text-tertiary);font-family:var(--tf-font-family-mono)}.tf-864468{color:var(--tf-text-tertiary);display:flex;align-items:center;flex-shrink:0;transition:transform .2s ease}.tf-8299cf{flex:1;overflow-y:auto;padding:0 8px 8px;scrollbar-width:thin;scrollbar-color:var(--tf-border) transparent}.tf-176d77{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:12px;cursor:pointer;background:transparent;transition:background .1s;border:none;width:100%;font-family:var(--tf-font-family);color:var(--tf-text)}.tf-176d77:hover{background:var(--tf-surface-hover)}.tf-2df5d9{background:var(--tf-primary-light)}.tf-dc503e{opacity:.4;cursor:not-allowed}.tf-ebbc44{display:flex;align-items:center;gap:12px}.tf-5f455f{text-align:left}.tf-15ee78{display:flex;align-items:center;gap:6px}.tf-976d83{font-size:var(--tf-font-lg);font-weight:600;color:var(--tf-text)}.tf-ba2eec{font-size:var(--tf-font-sm);color:var(--tf-text-tertiary)}.tf-a37921{text-align:right}.tf-cf71b6{font-size:var(--tf-font-md);font-weight:600;font-family:var(--tf-font-family-mono);color:var(--tf-text)}.tf-7474a9{font-size:var(--tf-font-sm);color:var(--tf-text-tertiary);font-family:var(--tf-font-family-mono)}.tf-772a9c{flex-shrink:0;padding:4px 8px 12px;border-top:1px solid var(--tf-border-light)}.tf-5fb6ad{display:flex;flex-direction:column;align-items:center;justify-content:center;height:197px;gap:8px;padding:16px 20px}.tf-86e8e0{flex-direction:row;gap:10px}.tf-66007c{color:var(--tf-text-tertiary);opacity:.5}.tf-73bbbc{width:24px;height:24px;display:flex;align-items:center;justify-content:center;opacity:.6;color:var(--tf-primary);animation:tf-540423 1s linear infinite}.tf-12c6bb{font-size:var(--tf-font-md);font-weight:600;color:var(--tf-text-secondary)}.tf-7a8fe0{font-size:var(--tf-font-sm);color:var(--tf-text-tertiary);text-align:center;line-height:1.4}.tf-22f94f{display:flex;align-items:center;justify-content:center;gap:4px;padding:4px 0 2px;font-size:var(--tf-font-sm);color:var(--tf-primary);cursor:pointer;font-weight:500;background:none;border:none;width:100%;font-family:var(--tf-font-family)}";
11876
+ const css5 = ".tf-9b71d6{padding:16px 20px 12px;display:flex;justify-content:space-between;align-items:center;gap:7px}.tf-4c9136{padding:0 20px 10px}.tf-febe61{font-size:var(--tf-font-sm);color:var(--tf-text-tertiary);font-weight:500;margin-bottom:6px;text-align:left}.tf-a27aab{display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--tf-input-bg);border-radius:12px;border:1px solid var(--tf-border-light)}.tf-f0b3f5{position:relative;flex-shrink:0}.tf-7a6fbc{position:absolute;bottom:-1px;right:-1px;width:12px;height:12px}.tf-e9e9a1{font-size:var(--tf-font-amount-sm);font-weight:700;letter-spacing:-.02em}.tf-f3baad{font-size:var(--tf-font-lg);font-weight:500;color:var(--tf-text-secondary)}.tf-0131e4{margin-left:auto;font-size:var(--tf-font-sm);color:var(--tf-text-tertiary);font-family:var(--tf-font-family-mono)}";
11813
11877
  const receiveCss = [css0, css1, css2, css3, css4, css5, css6, css7, css8, css9, css10, css11, css12, css13].join("\n");
11814
11878
  const lightVars = {
11815
11879
  "--tf-bg": "#ffffff",
@@ -12395,6 +12459,10 @@ function parseBooleanProp(value2) {
12395
12459
  }
12396
12460
  const [defaultWalletAdapter, setDefaultWalletAdapter] = createSignal();
12397
12461
  const [defaultCallbacks, setDefaultCallbacks] = createSignal();
12462
+ const [defaultCustomColors, setDefaultCustomColors] = createSignal();
12463
+ const [defaultApiEndpoint, setDefaultApiEndpoint] = createSignal();
12464
+ const [defaultTheme, setDefaultTheme] = createSignal();
12465
+ const [defaultLocale, setDefaultLocale] = createSignal();
12398
12466
  function registerElements(options = {}) {
12399
12467
  if ("walletAdapter" in options) {
12400
12468
  setDefaultWalletAdapter(() => options.walletAdapter);
@@ -12402,6 +12470,18 @@ function registerElements(options = {}) {
12402
12470
  if ("callbacks" in options) {
12403
12471
  setDefaultCallbacks(() => options.callbacks);
12404
12472
  }
12473
+ if ("customColors" in options) {
12474
+ setDefaultCustomColors(() => options.customColors);
12475
+ }
12476
+ if ("apiEndpoint" in options) {
12477
+ setDefaultApiEndpoint(options.apiEndpoint);
12478
+ }
12479
+ if ("theme" in options) {
12480
+ setDefaultTheme(options.theme);
12481
+ }
12482
+ if ("locale" in options) {
12483
+ setDefaultLocale(options.locale);
12484
+ }
12405
12485
  if (typeof customElements === "undefined") return;
12406
12486
  if (!customElements.get("tokenflight-swap")) {
12407
12487
  customElement("tokenflight-swap", {
@@ -12411,8 +12491,8 @@ function registerElements(options = {}) {
12411
12491
  recipient: "",
12412
12492
  "title-text": "",
12413
12493
  "title-image": "",
12414
- theme: "light",
12415
- locale: "en-US",
12494
+ theme: "",
12495
+ locale: "",
12416
12496
  "csp-nonce": "",
12417
12497
  "hide-title": false,
12418
12498
  "hide-powered-by": false,
@@ -12422,14 +12502,14 @@ function registerElements(options = {}) {
12422
12502
  element
12423
12503
  }) => {
12424
12504
  const config = {
12425
- apiEndpoint: props["api-endpoint"] || void 0,
12505
+ apiEndpoint: props["api-endpoint"] || defaultApiEndpoint() || void 0,
12426
12506
  fromToken: props["from-token"] || void 0,
12427
12507
  toToken: props["to-token"] || void 0,
12428
12508
  recipient: props.recipient || void 0,
12429
12509
  titleText: props["title-text"] || void 0,
12430
12510
  titleImageUrl: props["title-image"] || void 0,
12431
- theme: props.theme || "light",
12432
- locale: props.locale || "en-US",
12511
+ theme: props.theme || defaultTheme() || "light",
12512
+ locale: props.locale || defaultLocale() || "en-US",
12433
12513
  hideTitle: parseBooleanProp(props["hide-title"]),
12434
12514
  hidePoweredBy: parseBooleanProp(props["hide-powered-by"]),
12435
12515
  noBackground: parseBooleanProp(props["no-background"]),
@@ -12441,11 +12521,18 @@ function registerElements(options = {}) {
12441
12521
  setSystemDark(vars === darkVars);
12442
12522
  });
12443
12523
  onCleanup(unwatch);
12524
+ const elementCustomColors = element.__customColors;
12444
12525
  const styleContent = createMemo(() => {
12445
- const theme = props.theme || "light";
12526
+ const theme = props.theme || defaultTheme() || "light";
12446
12527
  const isDark = theme === "auto" ? systemDark() : theme === "dark";
12447
12528
  const themeVars = isDark ? darkVars : lightVars;
12448
- return `:host { ${buildCssVarString(themeVars)} }
12529
+ const colors = defaultCustomColors();
12530
+ const merged = colors || elementCustomColors ? {
12531
+ ...themeVars,
12532
+ ...colors,
12533
+ ...elementCustomColors
12534
+ } : themeVars;
12535
+ return `:host { ${buildCssVarString(merged)} }
12449
12536
  ${swapCss}`;
12450
12537
  });
12451
12538
  const elementWalletAdapter = element.__walletAdapter;
@@ -12483,8 +12570,8 @@ ${swapCss}`;
12483
12570
  recipient: "",
12484
12571
  "title-text": "",
12485
12572
  "title-image": "",
12486
- theme: "light",
12487
- locale: "en-US",
12573
+ theme: "",
12574
+ locale: "",
12488
12575
  "csp-nonce": "",
12489
12576
  icon: "",
12490
12577
  "hide-title": false,
@@ -12495,15 +12582,15 @@ ${swapCss}`;
12495
12582
  element
12496
12583
  }) => {
12497
12584
  const config = {
12498
- apiEndpoint: props["api-endpoint"] || void 0,
12585
+ apiEndpoint: props["api-endpoint"] || defaultApiEndpoint() || void 0,
12499
12586
  target: props.target || "",
12500
12587
  amount: props.amount || "",
12501
12588
  fromToken: props["from-token"] || void 0,
12502
12589
  recipient: props.recipient || void 0,
12503
12590
  titleText: props["title-text"] || void 0,
12504
12591
  titleImageUrl: props["title-image"] || void 0,
12505
- theme: props.theme || "light",
12506
- locale: props.locale || "en-US",
12592
+ theme: props.theme || defaultTheme() || "light",
12593
+ locale: props.locale || defaultLocale() || "en-US",
12507
12594
  icon: props.icon || void 0,
12508
12595
  hideTitle: parseBooleanProp(props["hide-title"]),
12509
12596
  hidePoweredBy: parseBooleanProp(props["hide-powered-by"]),
@@ -12516,11 +12603,18 @@ ${swapCss}`;
12516
12603
  setSystemDark(vars === darkVars);
12517
12604
  });
12518
12605
  onCleanup(unwatch);
12606
+ const elementCustomColors = element.__customColors;
12519
12607
  const styleContent = createMemo(() => {
12520
- const theme = props.theme || "light";
12608
+ const theme = props.theme || defaultTheme() || "light";
12521
12609
  const isDark = theme === "auto" ? systemDark() : theme === "dark";
12522
12610
  const themeVars = isDark ? darkVars : lightVars;
12523
- return `:host { ${buildCssVarString(themeVars)} }
12611
+ const colors = defaultCustomColors();
12612
+ const merged = colors || elementCustomColors ? {
12613
+ ...themeVars,
12614
+ ...colors,
12615
+ ...elementCustomColors
12616
+ } : themeVars;
12617
+ return `:host { ${buildCssVarString(merged)} }
12524
12618
  ${receiveCss}`;
12525
12619
  });
12526
12620
  const elementWalletAdapter = element.__walletAdapter;