@velora-dex/widget 0.2.0 → 0.2.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.
Files changed (203) hide show
  1. package/README.md +3 -3
  2. package/dist/assets/price-impact.svg.js +12 -0
  3. package/dist/assets/price-impact.svg.js.map +1 -0
  4. package/dist/components/ui/accordion.js +1 -1
  5. package/dist/components/ui/accordion.js.map +1 -1
  6. package/dist/components/ui/progress.d.ts.map +1 -1
  7. package/dist/components/ui/progress.js.map +1 -1
  8. package/dist/components/web3/AccountButton.d.ts.map +1 -1
  9. package/dist/components/web3/AccountButton.js +24 -27
  10. package/dist/components/web3/AccountButton.js.map +1 -1
  11. package/dist/components/web3/ConnectedWallet/ConnectedWallet.d.ts.map +1 -1
  12. package/dist/components/web3/ConnectedWallet/ConnectedWallet.js +103 -133
  13. package/dist/components/web3/ConnectedWallet/ConnectedWallet.js.map +1 -1
  14. package/dist/components/widget/AppHeader/AppHeader.d.ts.map +1 -1
  15. package/dist/components/widget/AppHeader/AppHeader.js +39 -33
  16. package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
  17. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts +3 -1
  18. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts.map +1 -1
  19. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +70 -64
  20. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  21. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.d.ts +3 -1
  22. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.d.ts.map +1 -1
  23. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js +39 -21
  24. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js.map +1 -1
  25. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.d.ts.map +1 -1
  26. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js +1 -1
  27. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js.map +1 -1
  28. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js +1 -1
  29. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
  30. package/dist/components/widget/Drawer/index.d.ts.map +1 -1
  31. package/dist/components/widget/Drawer/index.js +119 -54
  32. package/dist/components/widget/Drawer/index.js.map +1 -1
  33. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts.map +1 -1
  34. package/dist/components/widget/Drawer/state/useDrawerControls.js +5 -0
  35. package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
  36. package/dist/components/widget/ImportToken/ImportToken.d.ts.map +1 -1
  37. package/dist/components/widget/ImportToken/ImportToken.js +1 -1
  38. package/dist/components/widget/ImportToken/ImportToken.js.map +1 -1
  39. package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/Controls.js +4 -4
  40. package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/Controls.js.map +1 -1
  41. package/dist/components/widget/LimitOrdersDrawer/LimitOrderListItem.d.ts.map +1 -1
  42. package/dist/components/widget/LimitOrdersDrawer/LimitOrderListItem.js +21 -18
  43. package/dist/components/widget/LimitOrdersDrawer/LimitOrderListItem.js.map +1 -1
  44. package/dist/components/widget/NetworkSwitcher/types.d.ts +1 -0
  45. package/dist/components/widget/NetworkSwitcher/types.d.ts.map +1 -1
  46. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/OtcOrderDetails.d.ts.map +1 -1
  47. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/OtcOrderDetails.js +33 -39
  48. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/OtcOrderDetails.js.map +1 -1
  49. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.d.ts.map +1 -1
  50. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js +1 -1
  51. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js.map +1 -1
  52. package/dist/components/widget/SelectToken/SelectTokenButton.d.ts +6 -2
  53. package/dist/components/widget/SelectToken/SelectTokenButton.d.ts.map +1 -1
  54. package/dist/components/widget/SelectToken/SelectTokenButton.js +117 -109
  55. package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
  56. package/dist/components/widget/SelectToken/types.d.ts +3 -1
  57. package/dist/components/widget/SelectToken/types.d.ts.map +1 -1
  58. package/dist/components/widget/TokenInput/index.d.ts.map +1 -1
  59. package/dist/components/widget/TokenInput/index.js +102 -141
  60. package/dist/components/widget/TokenInput/index.js.map +1 -1
  61. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.d.ts +1 -1
  62. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.d.ts.map +1 -1
  63. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js.map +1 -1
  64. package/dist/configurator/Configurator.d.ts.map +1 -1
  65. package/dist/configurator/components/FormPropsInputs.d.ts +1 -1
  66. package/dist/configurator/components/FormPropsInputs.d.ts.map +1 -1
  67. package/dist/core/ConnectWalletDrawerButton.d.ts.map +1 -1
  68. package/dist/core/ConnectWalletDrawerButton.js +48 -26
  69. package/dist/core/ConnectWalletDrawerButton.js.map +1 -1
  70. package/dist/core/Toaster.js +1 -1
  71. package/dist/core/Toaster.js.map +1 -1
  72. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts +1 -0
  73. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
  74. package/dist/core/button/hooks/useWidgetButtonExtraProps.js +90 -50
  75. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  76. package/dist/core/index.d.ts.map +1 -1
  77. package/dist/core/index.js +98 -90
  78. package/dist/core/index.js.map +1 -1
  79. package/dist/core/inputs/state/common.d.ts +2 -2
  80. package/dist/core/inputs/state/setTokenByAddressAtom.d.ts +1 -14
  81. package/dist/core/inputs/state/setTokenByAddressAtom.d.ts.map +1 -1
  82. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  83. package/dist/core/inputs/state/types.d.ts +15 -0
  84. package/dist/core/inputs/state/types.d.ts.map +1 -0
  85. package/dist/core/limit/state/selectedTokenActionsAtom.d.ts.map +1 -1
  86. package/dist/core/limit/state/selectedTokenActionsAtom.js.map +1 -1
  87. package/dist/core/limit/state/selectedTokenAtom.d.ts.map +1 -1
  88. package/dist/core/limit/state/selectedTokenAtom.js +5 -1
  89. package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
  90. package/dist/core/limit/useLimitTokenToInputProps.d.ts +7 -0
  91. package/dist/core/limit/useLimitTokenToInputProps.d.ts.map +1 -1
  92. package/dist/core/limit/useLimitTokenToInputProps.js +167 -23
  93. package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
  94. package/dist/core/otc/state/selectedTokenAtom.d.ts.map +1 -1
  95. package/dist/core/otc/state/selectedTokenAtom.js +3 -1
  96. package/dist/core/otc/state/selectedTokenAtom.js.map +1 -1
  97. package/dist/core/otc/useOtcTokenToInputProps.d.ts.map +1 -1
  98. package/dist/core/otc/useOtcTokenToInputProps.js +42 -16
  99. package/dist/core/otc/useOtcTokenToInputProps.js.map +1 -1
  100. package/dist/core/state/configActionsAtom.d.ts.map +1 -1
  101. package/dist/core/state/configActionsAtom.js +3 -1
  102. package/dist/core/state/configActionsAtom.js.map +1 -1
  103. package/dist/core/state/configAtom.d.ts +4 -2
  104. package/dist/core/state/configAtom.d.ts.map +1 -1
  105. package/dist/core/state/configAtom.js +4 -2
  106. package/dist/core/state/configAtom.js.map +1 -1
  107. package/dist/core/state/widgetEventsAtom.d.ts.map +1 -1
  108. package/dist/core/state/widgetEventsAtom.js +55 -41
  109. package/dist/core/state/widgetEventsAtom.js.map +1 -1
  110. package/dist/core/swapDetails/fees.d.ts.map +1 -1
  111. package/dist/core/swapDetails/fees.js +4 -2
  112. package/dist/core/swapDetails/fees.js.map +1 -1
  113. package/dist/core/swapDetails/orderRouting.d.ts.map +1 -1
  114. package/dist/core/swapDetails/orderRouting.js +7 -3
  115. package/dist/core/swapDetails/orderRouting.js.map +1 -1
  116. package/dist/core/swapDetails/priceImpact.d.ts +3 -1
  117. package/dist/core/swapDetails/priceImpact.d.ts.map +1 -1
  118. package/dist/core/swapDetails/priceImpact.js +6 -2
  119. package/dist/core/swapDetails/priceImpact.js.map +1 -1
  120. package/dist/core/swapDetails/useSwapDetailsListProps.d.ts.map +1 -1
  121. package/dist/core/swapDetails/useSwapDetailsListProps.js +155 -42
  122. package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
  123. package/dist/core/swapDetails/youGet.d.ts.map +1 -1
  124. package/dist/core/swapDetails/youGet.js +5 -2
  125. package/dist/core/swapDetails/youGet.js.map +1 -1
  126. package/dist/core/types.d.ts +4 -1
  127. package/dist/core/types.d.ts.map +1 -1
  128. package/dist/events/getters/limit.d.ts.map +1 -1
  129. package/dist/events/getters/limit.js +3 -2
  130. package/dist/events/getters/limit.js.map +1 -1
  131. package/dist/events/getters/otc.d.ts.map +1 -1
  132. package/dist/events/getters/otc.js +3 -2
  133. package/dist/events/getters/otc.js.map +1 -1
  134. package/dist/events/getters/swap.d.ts.map +1 -1
  135. package/dist/events/getters/swap.js +3 -2
  136. package/dist/events/getters/swap.js.map +1 -1
  137. package/dist/events/hooks/useOnWalletConnect.d.ts.map +1 -1
  138. package/dist/events/hooks/useOnWalletConnect.js +2 -0
  139. package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
  140. package/dist/events/types/common.d.ts +3 -2
  141. package/dist/events/types/common.d.ts.map +1 -1
  142. package/dist/events/types/connectWallet.d.ts +2 -0
  143. package/dist/events/types/connectWallet.d.ts.map +1 -1
  144. package/dist/events/types/index.d.ts +5 -2
  145. package/dist/events/types/index.d.ts.map +1 -1
  146. package/dist/hooks/otc/mutations/useCancelLimitOrder.d.ts +4 -4
  147. package/dist/hooks/otc/mutations/useCancelLimitOrder.d.ts.map +1 -1
  148. package/dist/hooks/otc/mutations/useCancelLimitOrder.js +2 -2
  149. package/dist/hooks/otc/mutations/useCancelLimitOrder.js.map +1 -1
  150. package/dist/hooks/otc/mutations/useCreateLimitOrder.d.ts +2 -2
  151. package/dist/hooks/otc/mutations/useCreateLimitOrder.d.ts.map +1 -1
  152. package/dist/hooks/otc/mutations/useCreateLimitOrder.js +2 -2
  153. package/dist/hooks/otc/mutations/useCreateLimitOrder.js.map +1 -1
  154. package/dist/hooks/otc/mutations/useFillOrder.d.ts +5 -5
  155. package/dist/hooks/otc/mutations/useFillOrder.d.ts.map +1 -1
  156. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  157. package/dist/hooks/swap/prices/delta/bridge/useBridgedDeposit.d.ts.map +1 -1
  158. package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.d.ts +2 -2
  159. package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.d.ts.map +1 -1
  160. package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.js.map +1 -1
  161. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +2 -2
  162. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
  163. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js +2 -2
  164. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  165. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts +2 -2
  166. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts.map +1 -1
  167. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js.map +1 -1
  168. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts +2 -2
  169. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
  170. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
  171. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
  172. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  173. package/dist/hooks/swap/prices/market/mutations/useBuildTx.d.ts +2 -2
  174. package/dist/hooks/swap/prices/market/mutations/useBuildTx.d.ts.map +1 -1
  175. package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
  176. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  177. package/dist/hooks/swap/prices/useSwapPrices.js +15 -1
  178. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  179. package/dist/hooks/tokens/data/useCombineTokensWithFetched.d.ts +7 -1
  180. package/dist/hooks/tokens/data/useCombineTokensWithFetched.d.ts.map +1 -1
  181. package/dist/hooks/tokens/data/useCombineTokensWithFetched.js +81 -67
  182. package/dist/hooks/tokens/data/useCombineTokensWithFetched.js.map +1 -1
  183. package/dist/hooks/tokens/useAllTokensWithFilter.js +1 -1
  184. package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
  185. package/dist/index.d.ts +5 -1
  186. package/dist/index.d.ts.map +1 -1
  187. package/dist/lib/utils/tradeFlow.d.ts +3 -0
  188. package/dist/lib/utils/tradeFlow.d.ts.map +1 -0
  189. package/dist/lib/utils/tradeFlow.js +12 -0
  190. package/dist/lib/utils/tradeFlow.js.map +1 -0
  191. package/dist/lib/utils/useDateNow.d.ts +2 -0
  192. package/dist/lib/utils/useDateNow.d.ts.map +1 -0
  193. package/dist/lib/utils/useDateNow.js +7 -0
  194. package/dist/lib/utils/useDateNow.js.map +1 -0
  195. package/dist/lib/web3/privy/config.js +1 -1
  196. package/dist/lib/web3/wagmi/config.js +1 -1
  197. package/dist/styles.css +20 -17
  198. package/dist/tokens/state/addImportedTokenAtom.d.ts.map +1 -1
  199. package/dist/tokens/state/addImportedTokenAtom.js +6 -23
  200. package/dist/tokens/state/addImportedTokenAtom.js.map +1 -1
  201. package/package.json +8 -7
  202. package/dist/components/widget/TokenInput/EmptyInput.js +0 -58
  203. package/dist/components/widget/TokenInput/EmptyInput.js.map +0 -1
@@ -5,44 +5,62 @@ import { TokenListBody } from './TokenListBody.js';
5
5
  import { useCombineTokensWithFetched } from '../../../../../hooks/tokens/data/useCombineTokensWithFetched.js';
6
6
 
7
7
  const RegularTokenList = (t0) => {
8
- const $ = distExports.c(8);
8
+ const $ = distExports.c(13);
9
9
  const {
10
10
  tokenFilter,
11
11
  onSelectToken,
12
12
  forcedChainId,
13
+ selectableChains,
13
14
  className,
14
- withETH
15
+ withETH,
16
+ singleChainTokensOnly
15
17
  } = t0;
16
- let t1;
17
- if ($[0] !== forcedChainId || $[1] !== tokenFilter || $[2] !== withETH) {
18
- t1 = {
18
+ const t1 = !singleChainTokensOnly;
19
+ let t2;
20
+ if ($[0] !== forcedChainId || $[1] !== t1 || $[2] !== tokenFilter || $[3] !== withETH) {
21
+ t2 = {
19
22
  tokenFilter,
20
23
  forcedChainId,
21
- searchOnOtherChainsIfNothingFound: true,
24
+ searchOnOtherChainsIfNothingFound: t1,
22
25
  withETH
23
26
  };
24
27
  $[0] = forcedChainId;
25
- $[1] = tokenFilter;
26
- $[2] = withETH;
27
- $[3] = t1;
28
+ $[1] = t1;
29
+ $[2] = tokenFilter;
30
+ $[3] = withETH;
31
+ $[4] = t2;
32
+ } else {
33
+ t2 = $[4];
34
+ }
35
+ const allTokenRows = useAllTokensWithFilter(t2);
36
+ let t3;
37
+ if ($[5] !== allTokenRows || $[6] !== selectableChains || $[7] !== tokenFilter) {
38
+ t3 = {
39
+ allTokenRows,
40
+ tokenFilter,
41
+ selectableChains
42
+ };
43
+ $[5] = allTokenRows;
44
+ $[6] = selectableChains;
45
+ $[7] = tokenFilter;
46
+ $[8] = t3;
28
47
  } else {
29
- t1 = $[3];
48
+ t3 = $[8];
30
49
  }
31
- const allTokenRows = useAllTokensWithFilter(t1);
32
50
  const {
33
51
  tokenRowsCombined
34
- } = useCombineTokensWithFetched(allTokenRows, tokenFilter);
35
- let t2;
36
- if ($[4] !== className || $[5] !== onSelectToken || $[6] !== tokenRowsCombined) {
37
- t2 = /* @__PURE__ */ jsx(TokenListBody, { onSelect: onSelectToken, tokenRows: tokenRowsCombined, className });
38
- $[4] = className;
39
- $[5] = onSelectToken;
40
- $[6] = tokenRowsCombined;
41
- $[7] = t2;
52
+ } = useCombineTokensWithFetched(t3);
53
+ let t4;
54
+ if ($[9] !== className || $[10] !== onSelectToken || $[11] !== tokenRowsCombined) {
55
+ t4 = /* @__PURE__ */ jsx(TokenListBody, { onSelect: onSelectToken, tokenRows: tokenRowsCombined, className });
56
+ $[9] = className;
57
+ $[10] = onSelectToken;
58
+ $[11] = tokenRowsCombined;
59
+ $[12] = t4;
42
60
  } else {
43
- t2 = $[7];
61
+ t4 = $[12];
44
62
  }
45
- return t2;
63
+ return t4;
46
64
  };
47
65
 
48
66
  export { RegularTokenList };
@@ -1 +1 @@
1
- {"version":3,"file":"RegularTokenList.js","sources":["../../../../../../src/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.tsx"],"sourcesContent":["import { useAllTokensWithFilter } from \"@/hooks/tokens/useAllTokensWithFilter\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { TokenListBody } from \"./TokenListBody\";\nimport { useCombineTokensWithFetched } from \"@/hooks/tokens/data/useCombineTokensWithFetched\";\nimport type { TokenRowForFetchedToken } from \"./TokenListRow\";\n\nexport type RegularTokenListProps = {\n onSelectToken: (token: TokenRowForFetchedToken) => void;\n tokenFilter: string;\n forcedChainId?: SupportedChainId;\n className?: string;\n withETH?: boolean;\n};\n\nexport const RegularTokenList = ({\n tokenFilter,\n onSelectToken,\n forcedChainId,\n className,\n withETH,\n}: RegularTokenListProps) => {\n const allTokenRows = useAllTokensWithFilter({\n tokenFilter,\n forcedChainId,\n searchOnOtherChainsIfNothingFound: true,\n withETH,\n });\n\n const { tokenRowsCombined } = useCombineTokensWithFetched(\n allTokenRows,\n tokenFilter\n );\n\n return (\n <TokenListBody\n onSelect={onSelectToken}\n tokenRows={tokenRowsCombined}\n className={className}\n />\n );\n};\n"],"names":["RegularTokenList","t0","$","_c","tokenFilter","onSelectToken","forcedChainId","className","withETH","t1","searchOnOtherChainsIfNothingFound","allTokenRows","useAllTokensWithFilter","tokenRowsCombined","useCombineTokensWithFetched","t2"],"mappings":";;;;;;AAcO,MAAMA,mBAAmBC,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAC,WAAAA;AAAAA,IAAAC,aAAAA;AAAAA,IAAAC,aAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAP,EAAAA;AAMT,EAAA,IAAAQ,EAAAA;AAAA,EAAA,IAAAP,CAAAA,CAAA,CAAA,CAAA,KAAAI,aAAAA,IAAAJ,CAAAA,QAAAE,WAAAA,IAAAF,CAAAA,CAAA,CAAA,CAAA,KAAAM,OAAAA,EAAA;AACsBC,IAAAA,EAAAA,GAAA;AAAA,MAAAL,WAAAA;AAAAA,MAAAE,aAAAA;AAAAA,MAAAI,iCAAAA,EAGP,IAAA;AAAA,MAAIF;AAAAA,KAEzC;AAACN,IAAAA,CAAAA,MAAAI,aAAAA;AAAAJ,IAAAA,CAAAA,MAAAE,WAAAA;AAAAF,IAAAA,CAAAA,MAAAM,OAAAA;AAAAN,IAAAA,CAAAA,MAAAO,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAP,EAAA,CAAA,CAAA;AAAA,EAAA;AALD,EAAA,MAAAS,YAAAA,GAAqBC,uBAAuBH,EAK3C,CAAA;AAED,EAAA,MAAA;AAAA,IAAAI;AAAAA,GAAA,GAA8BC,2BAAAA,CAC5BH,YAAAA,EACAP,WACF,CAAA;AAAE,EAAA,IAAAW,EAAAA;AAAA,EAAA,IAAAb,CAAAA,CAAA,CAAA,CAAA,KAAAK,SAAAA,IAAAL,CAAAA,QAAAG,aAAAA,IAAAH,CAAAA,CAAA,CAAA,CAAA,KAAAW,iBAAAA,EAAA;AAGAE,IAAAA,EAAAA,uBAAC,aAAA,EAAA,EACWV,QAAAA,iBACCQ,SAAAA,qBACAN,SAAAA,EAAS,CAAA;AACpBL,IAAAA,CAAAA,MAAAK,SAAAA;AAAAL,IAAAA,CAAAA,MAAAG,aAAAA;AAAAH,IAAAA,CAAAA,MAAAW,iBAAAA;AAAAX,IAAAA,CAAAA,MAAAa,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAJFa,EAAAA;AAIE;;;;"}
1
+ {"version":3,"file":"RegularTokenList.js","sources":["../../../../../../src/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.tsx"],"sourcesContent":["import { useAllTokensWithFilter } from \"@/hooks/tokens/useAllTokensWithFilter\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { TokenListBody } from \"./TokenListBody\";\nimport { useCombineTokensWithFetched } from \"@/hooks/tokens/data/useCombineTokensWithFetched\";\nimport type { TokenRowForFetchedToken } from \"./TokenListRow\";\n\nexport type RegularTokenListProps = {\n onSelectToken: (token: TokenRowForFetchedToken) => void;\n tokenFilter: string;\n forcedChainId?: SupportedChainId;\n selectableChains?: SupportedChainId[];\n className?: string;\n withETH?: boolean;\n singleChainTokensOnly?: boolean; // don't search on other chains if nothing found\n};\n\nexport const RegularTokenList = ({\n tokenFilter,\n onSelectToken,\n forcedChainId,\n selectableChains,\n className,\n withETH,\n singleChainTokensOnly,\n}: RegularTokenListProps) => {\n const allTokenRows = useAllTokensWithFilter({\n tokenFilter,\n forcedChainId,\n searchOnOtherChainsIfNothingFound: !singleChainTokensOnly,\n withETH,\n });\n\n const { tokenRowsCombined } = useCombineTokensWithFetched({\n allTokenRows,\n tokenFilter,\n // disallow fetching on other chains if singleChainTokensOnly is true\n selectableChains,\n });\n\n return (\n <TokenListBody\n onSelect={onSelectToken}\n tokenRows={tokenRowsCombined}\n className={className}\n />\n );\n};\n"],"names":["RegularTokenList","t0","$","_c","tokenFilter","onSelectToken","forcedChainId","selectableChains","className","withETH","singleChainTokensOnly","t1","t2","searchOnOtherChainsIfNothingFound","allTokenRows","useAllTokensWithFilter","t3","tokenRowsCombined","useCombineTokensWithFetched","t4"],"mappings":";;;;;;AAgBO,MAAMA,mBAAmBC,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAC,WAAAA;AAAAA,IAAAC,aAAAA;AAAAA,IAAAC,aAAAA;AAAAA,IAAAC,gBAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAT,EAAAA;AAYM,EAAA,MAAAU,MAACD,qBAAAA;AAAqB,EAAA,IAAAE,EAAAA;AAAA,EAAA,IAAAV,CAAAA,CAAA,CAAA,CAAA,KAAAI,aAAAA,IAAAJ,EAAA,CAAA,CAAA,KAAAS,EAAAA,IAAAT,CAAAA,CAAA,CAAA,CAAA,KAAAE,WAAAA,IAAAF,CAAAA,QAAAO,OAAAA,EAAA;AAHfG,IAAAA,EAAAA,GAAA;AAAA,MAAAR,WAAAA;AAAAA,MAAAE,aAAAA;AAAAA,MAAAO,iCAAAA,EAGPF,EAAAA;AAAAA,MAAsBF;AAAAA,KAE3D;AAACP,IAAAA,CAAAA,MAAAI,aAAAA;AAAAJ,IAAAA,CAAAA,MAAAS,EAAAA;AAAAT,IAAAA,CAAAA,MAAAE,WAAAA;AAAAF,IAAAA,CAAAA,MAAAO,OAAAA;AAAAP,IAAAA,CAAAA,MAAAU,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAV,EAAA,CAAA,CAAA;AAAA,EAAA;AALD,EAAA,MAAAY,YAAAA,GAAqBC,uBAAuBH,EAK3C,CAAA;AAAE,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAAd,CAAAA,CAAA,CAAA,CAAA,KAAAY,YAAAA,IAAAZ,CAAAA,QAAAK,gBAAAA,IAAAL,CAAAA,CAAA,CAAA,CAAA,KAAAE,WAAAA,EAAA;AAEuDY,IAAAA,EAAAA,GAAA;AAAA,MAAAF,YAAAA;AAAAA,MAAAV,WAAAA;AAAAA,MAAAG;AAAAA,KAK1D;AAACL,IAAAA,CAAAA,MAAAY,YAAAA;AAAAZ,IAAAA,CAAAA,MAAAK,gBAAAA;AAAAL,IAAAA,CAAAA,MAAAE,WAAAA;AAAAF,IAAAA,CAAAA,MAAAc,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAd,EAAA,CAAA,CAAA;AAAA,EAAA;AALD,EAAA,MAAA;AAAA,IAAAe;AAAAA,GAAA,GAA8BC,4BAA4BF,EAKzD,CAAA;AAAE,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAAjB,CAAAA,CAAA,CAAA,CAAA,KAAAM,SAAAA,IAAAN,CAAAA,SAAAG,aAAAA,IAAAH,CAAAA,CAAA,EAAA,CAAA,KAAAe,iBAAAA,EAAA;AAGDE,IAAAA,EAAAA,uBAAC,aAAA,EAAA,EACWd,QAAAA,iBACCY,SAAAA,qBACAT,SAAAA,EAAS,CAAA;AACpBN,IAAAA,CAAAA,MAAAM,SAAAA;AAAAN,IAAAA,CAAAA,OAAAG,aAAAA;AAAAH,IAAAA,CAAAA,OAAAe,iBAAAA;AAAAf,IAAAA,CAAAA,OAAAiB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAjB,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAJFiB,EAAAA;AAIE;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"TokenListBody.d.ts","sourceRoot":"","sources":["../../../../../../src/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.tsx"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC7B,MAAM,gBAAgB,CAAC;AAExB,KAAK,kBAAkB,GAAG;IACxB,SAAS,EAAE,uBAAuB,EAAE,CAAC;IACrC,QAAQ,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,kDAK3B,kBAAkB,4CAepB,CAAC"}
1
+ {"version":3,"file":"TokenListBody.d.ts","sourceRoot":"","sources":["../../../../../../src/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.tsx"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC7B,MAAM,gBAAgB,CAAC;AAExB,KAAK,kBAAkB,GAAG;IACxB,SAAS,EAAE,uBAAuB,EAAE,CAAC;IACrC,QAAQ,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,kDAK3B,kBAAkB,4CAmBpB,CAAC"}
@@ -26,7 +26,7 @@ const TokenListBody = (t0) => {
26
26
  const {
27
27
  row
28
28
  } = t32;
29
- return /* @__PURE__ */ jsx(RendererByType, { row, onSelect });
29
+ return /* @__PURE__ */ jsx(RendererByType, { row, onSelect }, `${row.address}-${row.network}`);
30
30
  };
31
31
  $[2] = onSelect;
32
32
  $[3] = t2;
@@ -1 +1 @@
1
- {"version":3,"file":"TokenListBody.js","sources":["../../../../../../src/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.tsx"],"sourcesContent":["import { RowVirtualizerFixed } from \"@/components/widget/RowVirtualizer/RowVirtualizerFixed\";\n\nimport { cn } from \"@/lib/utils\";\n\nimport {\n RendererByType,\n type RowRendererProps,\n type TokenRowForFetchedToken,\n} from \"./TokenListRow\";\n\ntype TokenListBodyProps = {\n tokenRows: TokenRowForFetchedToken[];\n onSelect: RowRendererProps[\"onSelect\"];\n visibleRows?: number;\n className?: string;\n};\n\nexport const TokenListBody = ({\n tokenRows,\n onSelect,\n visibleRows,\n className,\n}: TokenListBodyProps) => {\n return (\n <RowVirtualizerFixed<TokenRowForFetchedToken>\n rowHeight={56}\n visibleRows={visibleRows} // 56*6 = 336px, to fit into fullCover drawer (when container has padding, + search field + TokenCloud)\n containerClassName={cn(\n \"w-full [scrollbar-gutter:stable_both-edges]\",\n className\n )}\n rows={tokenRows}\n rowRenderer={({ row }) => (\n <RendererByType row={row} onSelect={onSelect} />\n )}\n />\n );\n};\n"],"names":["TokenListBody","t0","$","_c","tokenRows","onSelect","visibleRows","className","t1","cn","t2","t3","row"],"mappings":";;;;;;AAiBO,MAAMA,gBAAgBC,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAC,SAAAA;AAAAA,IAAAC,QAAAA;AAAAA,IAAAC,WAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAN,EAAAA;AAKT,EAAA,IAAAO,EAAAA;AAAA,EAAA,IAAAN,CAAAA,QAAAK,SAAAA,EAAA;AAKKC,IAAAA,EAAAA,GAAAC,EAAAA,CAClB,+CACAF,SACF,CAAA;AAACL,IAAAA,CAAAA,MAAAK,SAAAA;AAAAL,IAAAA,CAAAA,MAAAM,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAN,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAQ,EAAAA;AAAA,EAAA,IAAAR,CAAAA,QAAAG,QAAAA,EAAA;AAEYK,IAAAA,EAAAA,GAAAC,CAAAA,GAAAA,KAAA;AAAC,MAAA,MAAA;AAAA,QAAAC;AAAAA,OAAA,GAAAD,GAAAA;AAAO,MAAA,uBACnB,GAAA,CAAC,cAAA,EAAA,EAAoBC,GAAAA,EAAeP,QAAAA,EAAQ,CAAA;AAAA,IAAI,CAAA;AACjDH,IAAAA,CAAAA,MAAAG,QAAAA;AAAAH,IAAAA,CAAAA,MAAAQ,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAR,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAS,EAAAA;AAAA,EAAA,IAAAT,CAAAA,CAAA,CAAA,CAAA,KAAAM,EAAAA,IAAAN,EAAA,CAAA,CAAA,KAAAQ,EAAAA,IAAAR,CAAAA,CAAA,CAAA,CAAA,KAAAE,SAAAA,IAAAF,CAAAA,QAAAI,WAAAA,EAAA;AAVHK,IAAAA,EAAAA,mBAAA,GAAA,CAAC,mBAAA,EAAA,EACY,SAAA,EAAA,EAAA,EACEL,WAAAA,EACO,oBAAAE,EAAAA,EAIdJ,IAAAA,EAAAA,SAAAA,EACO,WAAA,EAAAM,EAAAA,EAEZ,CAAA;AACDR,IAAAA,CAAAA,MAAAM,EAAAA;AAAAN,IAAAA,CAAAA,MAAAQ,EAAAA;AAAAR,IAAAA,CAAAA,MAAAE,SAAAA;AAAAF,IAAAA,CAAAA,MAAAI,WAAAA;AAAAJ,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAXFS,EAAAA;AAWE;;;;"}
1
+ {"version":3,"file":"TokenListBody.js","sources":["../../../../../../src/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.tsx"],"sourcesContent":["import { RowVirtualizerFixed } from \"@/components/widget/RowVirtualizer/RowVirtualizerFixed\";\n\nimport { cn } from \"@/lib/utils\";\n\nimport {\n RendererByType,\n type RowRendererProps,\n type TokenRowForFetchedToken,\n} from \"./TokenListRow\";\n\ntype TokenListBodyProps = {\n tokenRows: TokenRowForFetchedToken[];\n onSelect: RowRendererProps[\"onSelect\"];\n visibleRows?: number;\n className?: string;\n};\n\nexport const TokenListBody = ({\n tokenRows,\n onSelect,\n visibleRows,\n className,\n}: TokenListBodyProps) => {\n return (\n <RowVirtualizerFixed<TokenRowForFetchedToken>\n rowHeight={56}\n visibleRows={visibleRows} // 56*6 = 336px, to fit into fullCover drawer (when container has padding, + search field + TokenCloud)\n containerClassName={cn(\n \"w-full [scrollbar-gutter:stable_both-edges]\",\n className\n )}\n rows={tokenRows}\n rowRenderer={({ row }) => (\n <RendererByType\n row={row}\n onSelect={onSelect}\n key={`${row.address}-${row.network}`}\n />\n )}\n />\n );\n};\n"],"names":["TokenListBody","t0","$","_c","tokenRows","onSelect","visibleRows","className","t1","cn","t2","t3","row","address","network"],"mappings":";;;;;;AAiBO,MAAMA,gBAAgBC,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAC,SAAAA;AAAAA,IAAAC,QAAAA;AAAAA,IAAAC,WAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAN,EAAAA;AAKT,EAAA,IAAAO,EAAAA;AAAA,EAAA,IAAAN,CAAAA,QAAAK,SAAAA,EAAA;AAKKC,IAAAA,EAAAA,GAAAC,EAAAA,CAClB,+CACAF,SACF,CAAA;AAACL,IAAAA,CAAAA,MAAAK,SAAAA;AAAAL,IAAAA,CAAAA,MAAAM,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAN,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAQ,EAAAA;AAAA,EAAA,IAAAR,CAAAA,QAAAG,QAAAA,EAAA;AAEYK,IAAAA,EAAAA,GAAAC,CAAAA,GAAAA,KAAA;AAAC,MAAA,MAAA;AAAA,QAAAC;AAAAA,OAAA,GAAAD,GAAAA;AAAO,MAAA,uBACnB,GAAA,CAAC,cAAA,EAAA,EACMC,GAAAA,EACKP,QAAAA,EAAAA,EACL,CAAA,EAAGO,IAAGC,OAAQ,CAAA,CAAA,EAAID,GAAAA,CAAGE,OAAQ,CAAA,CAAE,CAAA;AAAA,IACpC,CAAA;AACHZ,IAAAA,CAAAA,MAAAG,QAAAA;AAAAH,IAAAA,CAAAA,MAAAQ,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAR,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAS,EAAAA;AAAA,EAAA,IAAAT,CAAAA,CAAA,CAAA,CAAA,KAAAM,EAAAA,IAAAN,EAAA,CAAA,CAAA,KAAAQ,EAAAA,IAAAR,CAAAA,CAAA,CAAA,CAAA,KAAAE,SAAAA,IAAAF,CAAAA,QAAAI,WAAAA,EAAA;AAdHK,IAAAA,EAAAA,mBAAA,GAAA,CAAC,mBAAA,EAAA,EACY,SAAA,EAAA,EAAA,EACEL,WAAAA,EACO,oBAAAE,EAAAA,EAIdJ,IAAAA,EAAAA,SAAAA,EACO,WAAA,EAAAM,EAAAA,EAMZ,CAAA;AACDR,IAAAA,CAAAA,MAAAM,EAAAA;AAAAN,IAAAA,CAAAA,MAAAQ,EAAAA;AAAAR,IAAAA,CAAAA,MAAAE,SAAAA;AAAAF,IAAAA,CAAAA,MAAAI,WAAAA;AAAAJ,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAfFS,EAAAA;AAeE;;;;"}
@@ -144,7 +144,7 @@ const DefaultRowRenderer = (t0) => {
144
144
  }
145
145
  let t9;
146
146
  if ($[19] !== t5 || $[20] !== t8) {
147
- t9 = /* @__PURE__ */ jsxs("div", { className: "w-full", children: [
147
+ t9 = /* @__PURE__ */ jsxs("div", { className: "flex-1", children: [
148
148
  t5,
149
149
  t8
150
150
  ] });
@@ -1 +1 @@
1
- {"version":3,"file":"TokenListRow.js","sources":["../../../../../../src/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.tsx"],"sourcesContent":["import type { Token, TokenMaybeWithUsdBalance } from \"@/tokens/state/types\";\nimport { TokenBadge } from \"@/components/widget/TokenBadge/TokenBadge\";\nimport { formatUnits } from \"viem\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { formatFiatPrice } from \"@/lib/utils/formatFiatPrice\";\nimport { Button } from \"@/components/ui/button\";\nimport type { JSX } from \"react\";\nimport type { Prettify } from \"ts-essentials\";\n\nexport type TokenRowForFetchedToken = Prettify<\n TokenMaybeWithUsdBalance & {\n fetchedOnChain?: true;\n }\n>;\n\nexport type RowRendererProps = {\n row: TokenRowForFetchedToken;\n onSelect?: (token: Token) => void;\n};\n\nexport type RowRenderer = (props: RowRendererProps) => JSX.Element;\n\ntype BaseRowRenderer = (\n props: RowRendererProps & {\n afterBadge?: React.ReactNode;\n }\n) => JSX.Element;\n\nconst BaseRenderer: BaseRowRenderer = ({ row, onSelect, afterBadge }) => {\n return (\n <div className=\"h-full px-[11px]\">\n <div\n className=\"px-2 rounded-sm hover:bg-contrast-9 dark:hover:bg-contrast-2 h-full flex items-center gap-2 hover:cursor-pointer\"\n onClick={\n onSelect\n ? () => {\n onSelect(row);\n }\n : undefined\n }\n >\n <TokenBadge\n address={row.address}\n img={row.img}\n chainId={row.network}\n showNetworkIcon\n classes={{ logo: \"size-[24px]\" }}\n />\n {afterBadge}\n </div>\n </div>\n );\n};\n\ntype DefaultRenderer = (\n props: RowRendererProps & {\n afterBalance?: React.ReactNode;\n }\n) => JSX.Element;\n\nconst DefaultRowRenderer: DefaultRenderer = ({\n row,\n onSelect,\n afterBalance,\n}) => {\n const formattedBalance = row.balance\n ? formatUnits(BigInt(row.balance), row.decimals)\n : undefined;\n\n const balanceToDisplay = formattedBalance\n ? toDecimalTrimmed(formattedBalance)\n : \"0\";\n\n const formattedUsdBalance = row.usdBalance\n ? formatFiatPrice(row.usdBalance)\n : undefined;\n\n const usdBalanceToDisplay =\n formattedUsdBalance === undefined\n ? \"$0\" // no usd prices or token.balance is zero\n : formattedUsdBalance === \"$0.00\"\n ? \"<$0.01\" // usd balance is less than 0.01\n : formattedUsdBalance;\n\n return (\n <BaseRenderer\n row={row}\n onSelect={onSelect}\n afterBadge={\n <>\n <div className=\"w-full\">\n <div className=\"flex items-center justify-between text-sm text-contrast-3\">\n <div className=\"dark:text-contrast-6 font-medium\">\n {row.symbol}\n </div>\n <div className=\"font-geist-mono dark:text-contrast-7 font-medium\">\n {balanceToDisplay}\n </div>\n </div>\n <div className=\"text-contrast-5 dark:text-contrast-5 flex items-center justify-between text-[10px]\">\n <div>{row.name}</div>\n <div className=\"font-geist-mono\">{usdBalanceToDisplay}</div>\n </div>\n </div>\n {afterBalance}\n </>\n }\n />\n );\n};\n\nconst FetchedTokenRenderer: RowRenderer = ({ row, onSelect }) => {\n return (\n <DefaultRowRenderer\n row={row}\n afterBalance={\n <Button\n onClick={onSelect ? () => onSelect(row) : undefined}\n variant={\"secondary\"}\n size=\"sm\"\n className=\"ml-2 flex-shrink-0 uppercase\"\n >\n Import\n </Button>\n }\n />\n );\n};\n\nexport const RendererByType = (props: RowRendererProps) => {\n const Renderer = props.row.fetchedOnChain\n ? FetchedTokenRenderer\n : DefaultRowRenderer;\n return <Renderer {...props} />;\n};\n"],"names":["BaseRenderer","t0","$","_c","row","onSelect","afterBadge","t1","undefined","t2","Symbol","for","logo","t3","address","img","network","t4","DefaultRowRenderer","afterBalance","balance","decimals","formattedBalance","formatUnits","BigInt","toDecimalTrimmed","balanceToDisplay","usdBalance","formatFiatPrice","formattedUsdBalance","usdBalanceToDisplay","symbol","t5","t6","name","t7","t8","t9","t10","t11","FetchedTokenRenderer","RendererByType","props","Renderer","fetchedOnChain"],"mappings":"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"}
1
+ {"version":3,"file":"TokenListRow.js","sources":["../../../../../../src/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.tsx"],"sourcesContent":["import type { Token, TokenMaybeWithUsdBalance } from \"@/tokens/state/types\";\nimport { TokenBadge } from \"@/components/widget/TokenBadge/TokenBadge\";\nimport { formatUnits } from \"viem\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { formatFiatPrice } from \"@/lib/utils/formatFiatPrice\";\nimport { Button } from \"@/components/ui/button\";\nimport type { JSX } from \"react\";\nimport type { Prettify } from \"ts-essentials\";\n\nexport type TokenRowForFetchedToken = Prettify<\n TokenMaybeWithUsdBalance & {\n fetchedOnChain?: true;\n }\n>;\n\nexport type RowRendererProps = {\n row: TokenRowForFetchedToken;\n onSelect?: (token: Token) => void;\n};\n\nexport type RowRenderer = (props: RowRendererProps) => JSX.Element;\n\ntype BaseRowRenderer = (\n props: RowRendererProps & {\n afterBadge?: React.ReactNode;\n }\n) => JSX.Element;\n\nconst BaseRenderer: BaseRowRenderer = ({ row, onSelect, afterBadge }) => {\n return (\n <div className=\"h-full px-[11px]\">\n <div\n className=\"px-2 rounded-sm hover:bg-contrast-9 dark:hover:bg-contrast-2 h-full flex items-center gap-2 hover:cursor-pointer\"\n onClick={\n onSelect\n ? () => {\n onSelect(row);\n }\n : undefined\n }\n >\n <TokenBadge\n address={row.address}\n img={row.img}\n chainId={row.network}\n showNetworkIcon\n classes={{ logo: \"size-[24px]\" }}\n />\n {afterBadge}\n </div>\n </div>\n );\n};\n\ntype DefaultRenderer = (\n props: RowRendererProps & {\n afterBalance?: React.ReactNode;\n }\n) => JSX.Element;\n\nconst DefaultRowRenderer: DefaultRenderer = ({\n row,\n onSelect,\n afterBalance,\n}) => {\n const formattedBalance = row.balance\n ? formatUnits(BigInt(row.balance), row.decimals)\n : undefined;\n\n const balanceToDisplay = formattedBalance\n ? toDecimalTrimmed(formattedBalance)\n : \"0\";\n\n const formattedUsdBalance = row.usdBalance\n ? formatFiatPrice(row.usdBalance)\n : undefined;\n\n const usdBalanceToDisplay =\n formattedUsdBalance === undefined\n ? \"$0\" // no usd prices or token.balance is zero\n : formattedUsdBalance === \"$0.00\"\n ? \"<$0.01\" // usd balance is less than 0.01\n : formattedUsdBalance;\n\n return (\n <BaseRenderer\n row={row}\n onSelect={onSelect}\n afterBadge={\n <>\n <div className=\"flex-1\">\n <div className=\"flex items-center justify-between text-sm text-contrast-3\">\n <div className=\"dark:text-contrast-6 font-medium\">\n {row.symbol}\n </div>\n <div className=\"font-geist-mono dark:text-contrast-7 font-medium\">\n {balanceToDisplay}\n </div>\n </div>\n <div className=\"text-contrast-5 dark:text-contrast-5 flex items-center justify-between text-[10px]\">\n <div>{row.name}</div>\n <div className=\"font-geist-mono\">{usdBalanceToDisplay}</div>\n </div>\n </div>\n {afterBalance}\n </>\n }\n />\n );\n};\n\nconst FetchedTokenRenderer: RowRenderer = ({ row, onSelect }) => {\n return (\n <DefaultRowRenderer\n row={row}\n afterBalance={\n <Button\n onClick={onSelect ? () => onSelect(row) : undefined}\n variant={\"secondary\"}\n size=\"sm\"\n className=\"ml-2 flex-shrink-0 uppercase\"\n >\n Import\n </Button>\n }\n />\n );\n};\n\nexport const RendererByType = (props: RowRendererProps) => {\n const Renderer = props.row.fetchedOnChain\n ? FetchedTokenRenderer\n : DefaultRowRenderer;\n return <Renderer {...props} />;\n};\n"],"names":["BaseRenderer","t0","$","_c","row","onSelect","afterBadge","t1","undefined","t2","Symbol","for","logo","t3","address","img","network","t4","DefaultRowRenderer","afterBalance","balance","decimals","formattedBalance","formatUnits","BigInt","toDecimalTrimmed","balanceToDisplay","usdBalance","formatFiatPrice","formattedUsdBalance","usdBalanceToDisplay","symbol","t5","t6","name","t7","t8","t9","t10","t11","FetchedTokenRenderer","RendererByType","props","Renderer","fetchedOnChain"],"mappings":";;;;;;;;AA4BA,MAAMA,eAAgCC,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAC,GAAAA;AAAAA,IAAAC,QAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAL,EAAAA;AAA6B,EAAA,IAAAM,EAAAA;AAAA,EAAA,IAAAL,EAAA,CAAA,CAAA,KAAAG,YAAAH,CAAAA,QAAAE,GAAAA,EAAA;AAM1DG,IAAAA,EAAAA,GAAAF,WAAA,MAAA;AAEMA,MAAAA,QAAAA,CAASD,GAAG,CAAA;AAAA,IAAC,CAAA,GAFnBI,MAAAA;AAIaN,IAAAA,CAAAA,MAAAG,QAAAA;AAAAH,IAAAA,CAAAA,MAAAE,GAAAA;AAAAF,IAAAA,CAAAA,MAAAK,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAL,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAO,EAAAA;AAAA,EAAA,IAAAP,EAAA,CAAA,CAAA,KAAAQ,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAQJF,IAAAA,EAAAA,GAAA;AAAA,MAAAG,IAAAA,EAAQ;AAAA,KAAc;AAACV,IAAAA,CAAAA,MAAAO,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAP,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAW,EAAAA;AAAA,EAAA,IAAAX,CAAAA,CAAA,CAAA,CAAA,KAAAE,GAAAA,CAAAU,WAAAZ,CAAAA,CAAA,CAAA,CAAA,KAAAE,GAAAA,CAAAW,GAAAA,IAAAb,CAAAA,CAAA,CAAA,CAAA,KAAAE,IAAAY,OAAAA,EAAA;AALlCH,IAAAA,EAAAA,uBAAC,UAAA,EAAA,EACU,OAAA,EAAAT,GAAAA,CAAGU,SACP,GAAA,EAAAV,GAAAA,CAAGW,GAAAA,EACC,OAAA,EAAAX,GAAAA,CAAGY,OAAAA,EACZ,eAAA,EAAA,IAAA,EACS,SAAAP,EAAAA,EAAuB,CAAA;AAChCP,IAAAA,CAAAA,CAAA,CAAA,IAAAE,GAAAA,CAAAU,OAAAA;AAAAZ,IAAAA,CAAAA,CAAA,CAAA,IAAAE,GAAAA,CAAAW,GAAAA;AAAAb,IAAAA,CAAAA,CAAA,CAAA,IAAAE,GAAAA,CAAAY,OAAAA;AAAAd,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAe,EAAAA;AAAA,EAAA,IAAAf,CAAAA,CAAA,CAAA,CAAA,KAAAI,UAAAA,IAAAJ,CAAAA,QAAAK,EAAAA,IAAAL,CAAAA,CAAA,EAAA,CAAA,KAAAW,EAAAA,EAAA;AAjBNI,IAAAA,EAAAA,mBAAA,GAAA,CAAA,SAAe,SAAA,EAAA,kBAAA,EACb,+BAAA,KAAA,EAAA,EACY,SAAA,EAAA,kHAAA,EAER,OAAA,EAAAV,EAAAA,EAOFM,QAAAA,EAAAA;AAAAA,MAAAA,EAAAA;AAAAA,MAOCP;AAAAA,KAAAA,EACH,CAAA,EACF,CAAA;AAAMJ,IAAAA,CAAAA,MAAAI,UAAAA;AAAAJ,IAAAA,CAAAA,MAAAK,EAAAA;AAAAL,IAAAA,CAAAA,OAAAW,EAAAA;AAAAX,IAAAA,CAAAA,OAAAe,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAf,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OApBNe,EAAAA;AAoBM,CAAA;AAUV,MAAMC,qBAAsCjB,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAC,GAAAA;AAAAA,IAAAC,QAAAA;AAAAA,IAAAc;AAAAA,GAAA,GAAAlB,EAAAA;AAI5C,EAAA,IAAAM,EAAAA;AAAA,EAAA,IAAAL,CAAAA,CAAA,CAAA,CAAA,KAAAE,GAAAA,CAAAgB,WAAAlB,CAAAA,CAAA,CAAA,CAAA,KAAAE,GAAAA,CAAAiB,QAAAA,EAAA;AACC,IAAA,MAAAC,gBAAAA,GAAyBlB,GAAAA,CAAGgB,OAAAA,GACxBG,WAAAA,CAAYC,MAAAA,CAAOpB,IAAGgB,OAAQ,CAAA,EAAGhB,GAAAA,CAAGiB,QAC5B,CAAA,GAFab,MAAAA;AAIAD,IAAAA,EAAAA,GAAAe,gBAAAA,GACrBG,gBAAAA,CAAiBH,gBACf,CAAA,GAFmB,GAAA;AAElBpB,IAAAA,CAAAA,CAAA,CAAA,IAAAE,GAAAA,CAAAgB,OAAAA;AAAAlB,IAAAA,CAAAA,CAAA,CAAA,IAAAE,GAAAA,CAAAiB,QAAAA;AAAAnB,IAAAA,CAAAA,MAAAK,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAL,EAAA,CAAA,CAAA;AAAA,EAAA;AAFP,EAAA,MAAAwB,gBAAAA,GAAyBnB,EAAAA;AAEjB,EAAA,IAAAE,EAAAA;AAAA,EAAA,IAAAP,CAAAA,CAAA,CAAA,CAAA,KAAAE,GAAAA,CAAAuB,UAAAA,EAAA;AAEoBlB,IAAAA,EAAAA,GAAAL,GAAAA,CAAGuB,UAAAA,GAC3BC,eAAAA,CAAgBxB,GAAAA,CAAGuB,UACX,CAAA,GAFgBnB,MAAAA;AAEfN,IAAAA,CAAAA,CAAA,CAAA,IAAAE,GAAAA,CAAAuB,UAAAA;AAAAzB,IAAAA,CAAAA,MAAAO,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAP,EAAA,CAAA,CAAA;AAAA,EAAA;AAFb,EAAA,MAAA2B,mBAAAA,GAA4BpB,EAAAA;AAI5B,EAAA,MAAAqB,sBACED,mBAAAA,KAAwBrB,MAAAA,GAAxB,IAAA,GAEIqB,mBAAAA,KAAwB,UAAxB,QAAA,GAAAA,mBAAAA;AAEsB,EAAA,IAAAhB,EAAAA;AAAA,EAAA,IAAAX,CAAAA,CAAA,CAAA,CAAA,KAAAE,GAAAA,CAAA2B,MAAAA,EAAA;AAUhBlB,IAAAA,EAAAA,mBAAA,GAAA,CAAA,KAAA,EAAA,EAAe,SAAA,EAAA,kCAAA,EACZT,cAAG2B,MAAAA,EACN,CAAA;AAAM7B,IAAAA,CAAAA,CAAA,CAAA,IAAAE,GAAAA,CAAA2B,MAAAA;AAAA7B,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAe,EAAAA;AAAA,EAAA,IAAAf,CAAAA,QAAAwB,gBAAAA,EAAA;AACNT,IAAAA,EAAAA,mBAAA,GAAA,CAAA,KAAA,EAAA,EAAe,SAAA,EAAA,kDAAA,EACZS,QAAAA,EAAAA,gBAAAA,EACH,CAAA;AAAMxB,IAAAA,CAAAA,MAAAwB,gBAAAA;AAAAxB,IAAAA,CAAAA,MAAAe,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAf,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAA8B,EAAAA;AAAA,EAAA,IAAA9B,EAAA,CAAA,CAAA,KAAAW,MAAAX,CAAAA,SAAAe,EAAAA,EAAA;AANRe,IAAAA,EAAAA,mBAAA,IAAA,CAAA,KAAA,EAAA,EAAe,SAAA,EAAA,2DAAA,EACbnB,QAAAA,EAAAA;AAAAA,MAAAA,EAAAA;AAAAA,MAGAI;AAAAA,KAAAA,EAGF,CAAA;AAAMf,IAAAA,CAAAA,MAAAW,EAAAA;AAAAX,IAAAA,CAAAA,OAAAe,EAAAA;AAAAf,IAAAA,CAAAA,OAAA8B,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA9B,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAA+B,EAAAA;AAAA,EAAA,IAAA/B,CAAAA,CAAA,EAAA,CAAA,KAAAE,GAAAA,CAAA8B,IAAAA,EAAA;AAEJD,IAAAA,EAAAA,mBAAA,GAAA,CAAA,KAAA,EAAA,EAAM7B,QAAAA,EAAAA,GAAAA,CAAG8B,IAAAA,EAAM,CAAA;AAAMhC,IAAAA,CAAAA,CAAA,EAAA,IAAAE,GAAAA,CAAA8B,IAAAA;AAAAhC,IAAAA,CAAAA,OAAA+B,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA/B,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAiC,EAAAA;AAAA,EAAA,IAAAjC,CAAAA,SAAA4B,mBAAAA,EAAA;AACrBK,IAAAA,EAAAA,mBAAA,GAAA,CAAA,KAAA,EAAA,EAAe,SAAA,EAAA,iBAAA,EAAmBL,QAAAA,EAAAA,mBAAAA,EAAoB,CAAA;AAAM5B,IAAAA,CAAAA,OAAA4B,mBAAAA;AAAA5B,IAAAA,CAAAA,OAAAiC,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAjC,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAkC,EAAAA;AAAA,EAAA,IAAAlC,EAAA,EAAA,CAAA,KAAA+B,MAAA/B,CAAAA,SAAAiC,EAAAA,EAAA;AAF9DC,IAAAA,EAAAA,mBAAA,IAAA,CAAA,KAAA,EAAA,EAAe,SAAA,EAAA,oFAAA,EACbH,QAAAA,EAAAA;AAAAA,MAAAA,EAAAA;AAAAA,MACAE;AAAAA,KAAAA,EACF,CAAA;AAAMjC,IAAAA,CAAAA,OAAA+B,EAAAA;AAAA/B,IAAAA,CAAAA,OAAAiC,EAAAA;AAAAjC,IAAAA,CAAAA,OAAAkC,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAlC,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAmC,EAAAA;AAAA,EAAA,IAAAnC,EAAA,EAAA,CAAA,KAAA8B,MAAA9B,CAAAA,SAAAkC,EAAAA,EAAA;AAZRC,IAAAA,EAAAA,mBAAA,IAAA,CAAA,KAAA,EAAA,EAAe,SAAA,EAAA,QAAA,EACbL,QAAAA,EAAAA;AAAAA,MAAAA,EAAAA;AAAAA,MAQAI;AAAAA,KAAAA,EAIF,CAAA;AAAMlC,IAAAA,CAAAA,OAAA8B,EAAAA;AAAA9B,IAAAA,CAAAA,OAAAkC,EAAAA;AAAAlC,IAAAA,CAAAA,OAAAmC,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAnC,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAoC,GAAAA;AAAA,EAAA,IAAApC,EAAA,EAAA,CAAA,KAAAiB,gBAAAjB,CAAAA,SAAAmC,EAAAA,EAAA;AAdRC,IAAAA,GAAAA,oCACED,QAAAA,EAAAA;AAAAA,MAAAA,EAAAA;AAAAA,MAcClB;AAAAA,KAAAA,EAAY,CAAA;AACZjB,IAAAA,CAAAA,OAAAiB,YAAAA;AAAAjB,IAAAA,CAAAA,OAAAmC,EAAAA;AAAAnC,IAAAA,CAAAA,OAAAoC,GAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAApC,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAqC,GAAAA;AAAA,EAAA,IAAArC,CAAAA,CAAA,EAAA,CAAA,KAAAG,QAAAA,IAAAH,CAAAA,SAAAE,GAAAA,IAAAF,CAAAA,CAAA,EAAA,CAAA,KAAAoC,GAAAA,EAAA;AApBPC,IAAAA,GAAAA,uBAAC,YAAA,EAAA,EACMnC,GAAAA,EACKC,QAAAA,EAER,YAAAiC,GAAAA,EAgBG,CAAA;AAELpC,IAAAA,CAAAA,OAAAG,QAAAA;AAAAH,IAAAA,CAAAA,OAAAE,GAAAA;AAAAF,IAAAA,CAAAA,OAAAoC,GAAAA;AAAApC,IAAAA,CAAAA,OAAAqC,GAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAArC,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAtBFqC,GAAAA;AAsBE,CAAA;AAIN,MAAMC,uBAAoCvC,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAC,GAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAJ,EAAAA;AAAiB,EAAA,IAAAM,EAAAA;AAAA,EAAA,IAAAL,EAAA,CAAA,CAAA,KAAAG,YAAAH,CAAAA,QAAAE,GAAAA,EAAA;AAMzCG,IAAAA,EAAAA,GAAAF,QAAAA,GAAA,MAAiBA,QAAAA,CAASD,GAAG,CAAA,GAA7BI,MAAAA;AAA0CN,IAAAA,CAAAA,MAAAG,QAAAA;AAAAH,IAAAA,CAAAA,MAAAE,GAAAA;AAAAF,IAAAA,CAAAA,MAAAK,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAL,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAO,EAAAA;AAAA,EAAA,IAAAP,CAAAA,QAAAK,EAAAA,EAAA;AADrDE,IAAAA,EAAAA,mBAAA,GAAA,CAAC,MAAA,EAAA,EACU,OAAA,EAAAF,EAAAA,EACA,OAAA,EAAA,aACJ,IAAA,EAAA,IAAA,EACK,SAAA,EAAA,8BAAA,EACX,QAAA,EAAA,QAAA,EAED,CAAA;AAASL,IAAAA,CAAAA,MAAAK,EAAAA;AAAAL,IAAAA,CAAAA,MAAAO,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAP,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAW,EAAAA;AAAA,EAAA,IAAAX,EAAA,CAAA,CAAA,KAAAE,OAAAF,CAAAA,QAAAO,EAAAA,EAAA;AAVbI,IAAAA,EAAAA,mBAAA,GAAA,CAAC,kBAAA,EAAA,EACMT,GAAAA,EAEH,YAAA,EAAAK,EAAAA,EAOS,CAAA;AAEXP,IAAAA,CAAAA,MAAAE,GAAAA;AAAAF,IAAAA,CAAAA,MAAAO,EAAAA;AAAAP,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAZFW,EAAAA;AAYE,CAAA;AAIC,MAAM4B,iBAAiBC,CAAAA,KAAAA,KAAA;AAAA,EAAA,MAAAxC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAC5B,EAAA,MAAAwC,QAAAA,GAAiBD,KAAAA,CAAKtC,GAAAA,CAAIwC,cAAAA,GAATJ,oBAAAA,GAAAtB,kBAAAA;AAEM,EAAA,IAAAjB,EAAAA;AAAA,EAAA,IAAAC,EAAA,CAAA,CAAA,KAAAyC,YAAAzC,CAAAA,QAAAwC,KAAAA,EAAA;AAChBzC,IAAAA,EAAAA,mBAAA,GAAA,CAAC,QAAA,EAAA,EAAQ,GAAKyC,KAAAA,EAAK,CAAA;AAAIxC,IAAAA,CAAAA,MAAAyC,QAAAA;AAAAzC,IAAAA,CAAAA,MAAAwC,KAAAA;AAAAxC,IAAAA,CAAAA,MAAAD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAC,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAAvBD,EAAAA;AAAuB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/Drawer/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EAOP,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD,KAAK,qBAAqB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,GAAG;IACjE,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,sBAAsB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAcF,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,SAAS,EAAE,UAAU,EACrB,KAAK,EACL,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,QAAQ,EACR,sBAAsB,EACtB,MAAM,EACN,WAAmB,EACnB,cAAqB,EAAE,+CAA+C;AACtE,GAAG,KAAK,EACT,EAAE,qBAAqB,2CA0EvB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/Drawer/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EAOP,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD,KAAK,qBAAqB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,GAAG;IACjE,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,sBAAsB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,SAAS,EAAE,UAAU,EACrB,KAAK,EACL,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,QAAQ,EACR,sBAAsB,EACtB,MAAM,EACN,WAAmB,EACnB,cAAqB,EAAE,+CAA+C;AACtE,GAAG,KAAK,EACT,EAAE,qBAAqB,2CA+EvB"}
@@ -4,12 +4,8 @@ import { DrawerHeader, DrawerTitle, DrawerClose, Drawer, DrawerDescription, Draw
4
4
  import { useContainerAtom } from '../../../core/state/containerAtom.js';
5
5
  import { ArrowLeft, XIcon } from 'lucide-react';
6
6
 
7
- function isElementVisibleInViewport(element) {
8
- const rect = element.getBoundingClientRect();
9
- return rect.top <= window.innerHeight && rect.bottom >= 0 && rect.left <= window.innerWidth && rect.right >= 0;
10
- }
11
7
  function ControlledDrawer(t0) {
12
- const $ = distExports.c(35);
8
+ const $ = distExports.c(40);
13
9
  let _container;
14
10
  let children;
15
11
  let closeButtonReplacement;
@@ -28,7 +24,7 @@ function ControlledDrawer(t0) {
28
24
  title: t52,
29
25
  description: t62,
30
26
  showCloseButton: t72,
31
- showGoBackButton: t8,
27
+ showGoBackButton: t82,
32
28
  onGoBack: t9,
33
29
  closeButtonReplacement: t10,
34
30
  logger,
@@ -41,7 +37,7 @@ function ControlledDrawer(t0) {
41
37
  title = t52;
42
38
  description = t62;
43
39
  showCloseButton = t72;
44
- showGoBackButton = t8;
40
+ showGoBackButton = t82;
45
41
  onGoBack = t9;
46
42
  closeButtonReplacement = t10;
47
43
  t1 = t11;
@@ -78,78 +74,147 @@ function ControlledDrawer(t0) {
78
74
  const container = _container || drawerContainer;
79
75
  const shouldShowHeader = !!(showGoBackButton || title || showCloseButton || closeButtonReplacement);
80
76
  let t3;
81
- if ($[12] !== props || $[13] !== scrollIntoView) {
82
- t3 = scrollIntoView ? (event) => {
83
- if (props.open && !isElementVisibleInViewport(event.currentTarget)) {
84
- event.currentTarget.scrollIntoView({
85
- behavior: "smooth",
86
- block: "nearest",
87
- inline: "nearest"
88
- });
77
+ if ($[12] !== drawerContainer || $[13] !== props) {
78
+ t3 = () => {
79
+ if (drawerContainer && !props.open) {
80
+ restoreContainer.onAnimationStart(drawerContainer);
89
81
  }
90
- } : void 0;
91
- $[12] = props;
92
- $[13] = scrollIntoView;
82
+ };
83
+ $[12] = drawerContainer;
84
+ $[13] = props;
93
85
  $[14] = t3;
94
86
  } else {
95
87
  t3 = $[14];
96
88
  }
97
89
  let t4;
98
- if ($[15] !== closeButtonReplacement || $[16] !== onGoBack || $[17] !== props || $[18] !== shouldShowHeader || $[19] !== showCloseButton || $[20] !== showGoBackButton || $[21] !== title) {
99
- t4 = shouldShowHeader ? /* @__PURE__ */ jsx(DrawerHeader, { children: /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
90
+ if ($[15] !== drawerContainer || $[16] !== props || $[17] !== scrollIntoView) {
91
+ t4 = (event) => {
92
+ if (drawerContainer) {
93
+ maybeMoveIntoPage({
94
+ element: event.currentTarget,
95
+ open: props.open,
96
+ drawerContainer
97
+ });
98
+ restoreContainer.onAnimationEnd(drawerContainer);
99
+ }
100
+ if (scrollIntoView && props.open) {
101
+ maybeScrollIntoView(event.currentTarget);
102
+ }
103
+ };
104
+ $[15] = drawerContainer;
105
+ $[16] = props;
106
+ $[17] = scrollIntoView;
107
+ $[18] = t4;
108
+ } else {
109
+ t4 = $[18];
110
+ }
111
+ let t5;
112
+ if ($[19] !== closeButtonReplacement || $[20] !== onGoBack || $[21] !== props || $[22] !== shouldShowHeader || $[23] !== showCloseButton || $[24] !== showGoBackButton || $[25] !== title) {
113
+ t5 = shouldShowHeader ? /* @__PURE__ */ jsx(DrawerHeader, { children: /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
100
114
  /* @__PURE__ */ jsxs(DrawerTitle, { className: "flex items-center gap-5 font-medium text-lg text-contrast-4 dark:text-contrast-7", children: [
101
115
  showGoBackButton && /* @__PURE__ */ jsx(ArrowLeft, { className: "ring-offset-background cursor-pointer size-4 focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground dark:text-contrast-5 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0", onClick: onGoBack || props.onClose }),
102
116
  title
103
117
  ] }),
104
118
  closeButtonReplacement ?? (showCloseButton && /* @__PURE__ */ jsx(DrawerClose, { className: "ring-offset-background cursor-pointer focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground dark:text-contrast-5 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", onClick: props.onClose, children: /* @__PURE__ */ jsx(XIcon, {}) }))
105
119
  ] }) }) : /* @__PURE__ */ jsx(DrawerTitle, { className: "sr-only" });
106
- $[15] = closeButtonReplacement;
107
- $[16] = onGoBack;
108
- $[17] = props;
109
- $[18] = shouldShowHeader;
110
- $[19] = showCloseButton;
111
- $[20] = showGoBackButton;
112
- $[21] = title;
113
- $[22] = t4;
120
+ $[19] = closeButtonReplacement;
121
+ $[20] = onGoBack;
122
+ $[21] = props;
123
+ $[22] = shouldShowHeader;
124
+ $[23] = showCloseButton;
125
+ $[24] = showGoBackButton;
126
+ $[25] = title;
127
+ $[26] = t5;
114
128
  } else {
115
- t4 = $[22];
129
+ t5 = $[26];
116
130
  }
117
- let t5;
118
- if ($[23] !== description) {
119
- t5 = /* @__PURE__ */ jsx(DrawerDescription, { children: description });
120
- $[23] = description;
121
- $[24] = t5;
131
+ let t6;
132
+ if ($[27] !== description) {
133
+ t6 = /* @__PURE__ */ jsx(DrawerDescription, { children: description });
134
+ $[27] = description;
135
+ $[28] = t6;
122
136
  } else {
123
- t5 = $[24];
137
+ t6 = $[28];
124
138
  }
125
- let t6;
126
- if ($[25] !== children || $[26] !== t3 || $[27] !== t4 || $[28] !== t5) {
127
- t6 = /* @__PURE__ */ jsx(DrawerPortal, { children: /* @__PURE__ */ jsxs(DrawerContent, { className: "absolute p-0 bg-contrast-8 dark:bg-contrast-1", onAnimationEnd: t3, children: [
128
- t4,
139
+ let t7;
140
+ if ($[29] !== children || $[30] !== t3 || $[31] !== t4 || $[32] !== t5 || $[33] !== t6) {
141
+ t7 = /* @__PURE__ */ jsx(DrawerPortal, { children: /* @__PURE__ */ jsxs(DrawerContent, { className: "absolute p-0 bg-contrast-8 dark:bg-contrast-1", onAnimationStart: t3, onAnimationEnd: t4, children: [
129
142
  t5,
143
+ t6,
130
144
  children
131
145
  ] }) });
132
- $[25] = children;
133
- $[26] = t3;
134
- $[27] = t4;
135
- $[28] = t5;
136
- $[29] = t6;
137
- } else {
138
- t6 = $[29];
139
- }
140
- let t7;
141
- if ($[30] !== container || $[31] !== dismissible || $[32] !== props || $[33] !== t6) {
142
- t7 = /* @__PURE__ */ jsx(Drawer, { ...props, container, dismissible, modal: false, children: t6 });
143
- $[30] = container;
144
- $[31] = dismissible;
145
- $[32] = props;
146
+ $[29] = children;
147
+ $[30] = t3;
148
+ $[31] = t4;
149
+ $[32] = t5;
146
150
  $[33] = t6;
147
151
  $[34] = t7;
148
152
  } else {
149
153
  t7 = $[34];
150
154
  }
151
- return t7;
155
+ let t8;
156
+ if ($[35] !== container || $[36] !== dismissible || $[37] !== props || $[38] !== t7) {
157
+ t8 = /* @__PURE__ */ jsx(Drawer, { ...props, container, dismissible, modal: false, children: t7 });
158
+ $[35] = container;
159
+ $[36] = dismissible;
160
+ $[37] = props;
161
+ $[38] = t7;
162
+ $[39] = t8;
163
+ } else {
164
+ t8 = $[39];
165
+ }
166
+ return t8;
167
+ }
168
+ function isElementAbovePage(element) {
169
+ const rect = element.getBoundingClientRect();
170
+ const diff = Math.ceil(rect.top + window.scrollY);
171
+ const isAbove = diff < 0;
172
+ const overlap = isAbove ? Math.abs(diff) : 0;
173
+ return {
174
+ overlap,
175
+ isAbove
176
+ };
177
+ }
178
+ function maybeMoveIntoPage({
179
+ element,
180
+ open,
181
+ drawerContainer
182
+ }) {
183
+ if (open) {
184
+ const {
185
+ isAbove,
186
+ overlap
187
+ } = isElementAbovePage(element);
188
+ if (isAbove) {
189
+ drawerContainer.style.translate = `0 ${overlap}px`;
190
+ }
191
+ } else {
192
+ drawerContainer.style.translate = "";
193
+ }
194
+ }
195
+ function isElementVisibleInViewport(element) {
196
+ const rect = element.getBoundingClientRect();
197
+ return rect.top <= window.innerHeight && rect.bottom >= 0 && rect.left <= window.innerWidth && rect.right >= 0;
198
+ }
199
+ function maybeScrollIntoView(element) {
200
+ if (isElementVisibleInViewport(element)) {
201
+ return;
202
+ }
203
+ element.scrollIntoView({
204
+ behavior: "smooth",
205
+ block: "nearest",
206
+ inline: "nearest"
207
+ });
152
208
  }
209
+ const restoreContainer = {
210
+ onAnimationStart: (drawerContainer) => {
211
+ drawerContainer.style.translate = "";
212
+ drawerContainer.style.transition = "none";
213
+ },
214
+ onAnimationEnd: (drawerContainer) => {
215
+ drawerContainer.style.transition = "";
216
+ }
217
+ };
153
218
 
154
219
  export { ControlledDrawer };
155
220
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/widget/Drawer/index.tsx"],"sourcesContent":["import {\n Drawer,\n DrawerClose,\n DrawerContent,\n DrawerHeader,\n DrawerTitle,\n DrawerPortal,\n DrawerDescription,\n} from \"@/components/ui/drawer\";\nimport { useContainerAtom } from \"@/core/state/containerAtom\";\nimport type { LoggerInstance } from \"@/lib/utils/logger\";\nimport { XIcon, ArrowLeft } from \"lucide-react\";\n\ntype ControlledDrawerProps = React.ComponentProps<typeof Drawer> & {\n open: boolean;\n children?: React.ReactNode;\n container?: HTMLElement | null;\n title?: string;\n description?: string;\n showGoBackButton?: boolean;\n onGoBack?: () => void;\n showCloseButton?: boolean;\n logger?: LoggerInstance;\n closeButtonReplacement?: React.ReactNode;\n scrollIntoView?: boolean;\n};\n\n// Helper function to check if an element is visible in the viewport\nfunction isElementVisibleInViewport(element: HTMLElement): boolean {\n const rect = element.getBoundingClientRect();\n\n return (\n rect.top <= window.innerHeight &&\n rect.bottom >= 0 &&\n rect.left <= window.innerWidth &&\n rect.right >= 0\n );\n}\n\nexport function ControlledDrawer({\n children,\n container: _container,\n title,\n description,\n showCloseButton,\n showGoBackButton,\n onGoBack,\n closeButtonReplacement,\n logger,\n dismissible = false,\n scrollIntoView = true, // If Drawer Opened offscreen, scroll into view\n ...props\n}: ControlledDrawerProps) {\n const drawerContainer = useContainerAtom();\n const container = _container || drawerContainer;\n\n const shouldShowHeader = !!(\n showGoBackButton ||\n title ||\n showCloseButton ||\n closeButtonReplacement\n );\n\n return (\n <Drawer\n {...props}\n container={container}\n dismissible={dismissible}\n modal={false}\n >\n <DrawerPortal>\n <DrawerContent\n className=\"absolute p-0 bg-contrast-8 dark:bg-contrast-1\"\n onAnimationEnd={\n scrollIntoView\n ? (event) => {\n // only after animated to Open state to prevent jiggle\n if (\n props.open &&\n !isElementVisibleInViewport(event.currentTarget)\n ) {\n // On short screens a Drawer may open offscreen and not be noticable\n event.currentTarget.scrollIntoView({\n behavior: \"smooth\",\n block: \"nearest\",\n inline: \"nearest\",\n });\n }\n }\n : undefined\n }\n >\n {shouldShowHeader ? (\n <DrawerHeader>\n <div className=\"flex items-center justify-between\">\n <DrawerTitle className=\"flex items-center gap-5 font-medium text-lg text-contrast-4 dark:text-contrast-7\">\n {showGoBackButton && (\n <ArrowLeft\n className=\"ring-offset-background cursor-pointer size-4 focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground dark:text-contrast-5 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0\"\n onClick={onGoBack || props.onClose}\n />\n )}\n {title}\n </DrawerTitle>\n {closeButtonReplacement ??\n (showCloseButton && (\n <DrawerClose\n className=\"ring-offset-background cursor-pointer focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground dark:text-contrast-5 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\"\n onClick={props.onClose}\n >\n <XIcon />\n </DrawerClose>\n ))}\n </div>\n </DrawerHeader>\n ) : (\n // workaround to avoid \"DialogContent requires a DialogTitle for the component to be accessible for screen reader users\"\n // error if !shouldShowHeader\n <DrawerTitle className=\"sr-only\" />\n )}\n <DrawerDescription>{description}</DrawerDescription>\n {children}\n </DrawerContent>\n </DrawerPortal>\n </Drawer>\n );\n}\n"],"names":["isElementVisibleInViewport","element","rect","getBoundingClientRect","top","window","innerHeight","bottom","left","innerWidth","right","ControlledDrawer","t0","$","_c","_container","children","closeButtonReplacement","description","onGoBack","props","showCloseButton","showGoBackButton","t1","t2","title","t3","container","t4","t5","t6","t7","t8","t9","t10","logger","dismissible","t11","scrollIntoView","t12","t13","undefined","drawerContainer","useContainerAtom","shouldShowHeader","event","open","currentTarget","behavior","block","inline","onClose"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/widget/Drawer/index.tsx"],"sourcesContent":["import {\n Drawer,\n DrawerClose,\n DrawerContent,\n DrawerHeader,\n DrawerTitle,\n DrawerPortal,\n DrawerDescription,\n} from \"@/components/ui/drawer\";\nimport { useContainerAtom } from \"@/core/state/containerAtom\";\nimport type { LoggerInstance } from \"@/lib/utils/logger\";\nimport { XIcon, ArrowLeft } from \"lucide-react\";\n\ntype ControlledDrawerProps = React.ComponentProps<typeof Drawer> & {\n open: boolean;\n children?: React.ReactNode;\n container?: HTMLElement | null;\n title?: string;\n description?: string;\n showGoBackButton?: boolean;\n onGoBack?: () => void;\n showCloseButton?: boolean;\n logger?: LoggerInstance;\n closeButtonReplacement?: React.ReactNode;\n scrollIntoView?: boolean;\n};\n\nexport function ControlledDrawer({\n children,\n container: _container,\n title,\n description,\n showCloseButton,\n showGoBackButton,\n onGoBack,\n closeButtonReplacement,\n logger,\n dismissible = false,\n scrollIntoView = true, // If Drawer Opened offscreen, scroll into view\n ...props\n}: ControlledDrawerProps) {\n const drawerContainer = useContainerAtom();\n const container = _container || drawerContainer;\n\n const shouldShowHeader = !!(\n showGoBackButton ||\n title ||\n showCloseButton ||\n closeButtonReplacement\n );\n\n return (\n <Drawer\n {...props}\n container={container}\n dismissible={dismissible}\n modal={false}\n >\n <DrawerPortal>\n <DrawerContent\n className=\"absolute p-0 bg-contrast-8 dark:bg-contrast-1\"\n onAnimationStart={() => {\n if (drawerContainer && !props.open) {\n // restore container to bottom\n restoreContainer.onAnimationStart(drawerContainer);\n }\n }}\n onAnimationEnd={(event) => {\n if (drawerContainer) {\n maybeMoveIntoPage({\n element: event.currentTarget,\n open: props.open,\n drawerContainer,\n });\n // restore normal transition if it was set to none\n restoreContainer.onAnimationEnd(drawerContainer);\n }\n\n // only after animated to Open state to prevent jiggle\n if (scrollIntoView && props.open) {\n // On short screens a Drawer may open offscreen and not be noticable\n maybeScrollIntoView(event.currentTarget);\n }\n }}\n >\n {shouldShowHeader ? (\n <DrawerHeader>\n <div className=\"flex items-center justify-between\">\n <DrawerTitle className=\"flex items-center gap-5 font-medium text-lg text-contrast-4 dark:text-contrast-7\">\n {showGoBackButton && (\n <ArrowLeft\n className=\"ring-offset-background cursor-pointer size-4 focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground dark:text-contrast-5 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0\"\n onClick={onGoBack || props.onClose}\n />\n )}\n {title}\n </DrawerTitle>\n {closeButtonReplacement ??\n (showCloseButton && (\n <DrawerClose\n className=\"ring-offset-background cursor-pointer focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground dark:text-contrast-5 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\"\n onClick={props.onClose}\n >\n <XIcon />\n </DrawerClose>\n ))}\n </div>\n </DrawerHeader>\n ) : (\n // workaround to avoid \"DialogContent requires a DialogTitle for the component to be accessible for screen reader users\"\n // error if !shouldShowHeader\n <DrawerTitle className=\"sr-only\" />\n )}\n <DrawerDescription>{description}</DrawerDescription>\n {children}\n </DrawerContent>\n </DrawerPortal>\n </Drawer>\n );\n}\n\n// Helper function to check if an element is above the page (not viewport)\nfunction isElementAbovePage(element: Element) {\n const rect = element.getBoundingClientRect();\n const diff = Math.ceil(rect.top + window.scrollY);\n const isAbove = diff < 0;\n const overlap = isAbove ? Math.abs(diff) : 0;\n return {\n overlap,\n isAbove,\n };\n}\n\ntype MaybeMoveIntoPageProps = {\n element: Element;\n open: boolean;\n drawerContainer: HTMLElement;\n};\n\nfunction maybeMoveIntoPage({\n element,\n open,\n drawerContainer,\n}: MaybeMoveIntoPageProps) {\n if (open) {\n const { isAbove, overlap } = isElementAbovePage(element);\n if (isAbove) {\n drawerContainer.style.translate = `0 ${overlap}px`;\n }\n } else {\n drawerContainer.style.translate = \"\";\n }\n}\n\n// Helper function to check if an element is visible in the viewport\nfunction isElementVisibleInViewport(element: Element): boolean {\n const rect = element.getBoundingClientRect();\n\n return (\n rect.top <= window.innerHeight &&\n rect.bottom >= 0 &&\n rect.left <= window.innerWidth &&\n rect.right >= 0\n );\n}\n\nfunction maybeScrollIntoView(element: Element) {\n if (isElementVisibleInViewport(element)) {\n return;\n }\n element.scrollIntoView({\n behavior: \"smooth\",\n block: \"nearest\",\n inline: \"nearest\",\n });\n}\n\nconst restoreContainer = {\n onAnimationStart: (drawerContainer: HTMLElement) => {\n // restore container to bottom\n drawerContainer.style.translate = \"\";\n // set transition to snap container to bottom, looks better when not animated, because drawer is already closing\n drawerContainer.style.transition = \"none\";\n },\n onAnimationEnd: (drawerContainer: HTMLElement) => {\n // restore normal transition if it was set to none\n drawerContainer.style.transition = \"\";\n },\n};\n"],"names":["ControlledDrawer","t0","$","_c","_container","children","closeButtonReplacement","description","onGoBack","props","showCloseButton","showGoBackButton","t1","t2","title","t3","container","t4","t5","t6","t7","t8","t9","t10","logger","dismissible","t11","scrollIntoView","t12","t13","undefined","drawerContainer","useContainerAtom","shouldShowHeader","open","restoreContainer","onAnimationStart","event","maybeMoveIntoPage","element","currentTarget","onAnimationEnd","maybeScrollIntoView","onClose","isElementAbovePage","rect","getBoundingClientRect","diff","Math","ceil","top","window","scrollY","isAbove","overlap","abs","style","translate","isElementVisibleInViewport","innerHeight","bottom","left","innerWidth","right","behavior","block","inline","transition"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDrawerControls.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/Drawer/state/useDrawerControls.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIzD,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,MAAM,EAAE,cAAc,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAChB,uBAAuB,GACvB,yBAAyB,GACzB,yBAAyB,GACzB,6BAA6B,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,GACxD,uBAAuB,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,GAClD,iBAAiB,GACjB,uBAAuB,GACvB,mBAAmB,GACnB,yBAAyB,GACzB,uBAAuB,GACvB,4BAA4B,GAC5B,qBAAqB,GACrB,qBAAqB,GACrB,mBAAmB,GACnB,mBAAmB,GACnB,eAAe,GACf,sCAAsC,GACtC,uBAAuB,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,GAClD,mBAAmB,CAAC;AAExB,eAAO,MAAM,cAAc;;CAA8B,CAAC;AAE1D,eAAO,MAAM,eAAe,QAAO,QAAQ,GAAG,IAE7C,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,mDAI/B;IACD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;CACpB,KAAG,cAyCH,CAAC;AAqBF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,kCAAkC,QAAO;IACpD,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACrD,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;CAsEvB,CAAC"}
1
+ {"version":3,"file":"useDrawerControls.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/Drawer/state/useDrawerControls.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIzD,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,MAAM,EAAE,cAAc,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAChB,uBAAuB,GACvB,yBAAyB,GACzB,yBAAyB,GACzB,6BAA6B,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,GACxD,uBAAuB,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,GAClD,iBAAiB,GACjB,uBAAuB,GACvB,mBAAmB,GACnB,yBAAyB,GACzB,uBAAuB,GACvB,4BAA4B,GAC5B,qBAAqB,GACrB,qBAAqB,GACrB,mBAAmB,GACnB,mBAAmB,GACnB,eAAe,GACf,sCAAsC,GACtC,uBAAuB,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,GAClD,mBAAmB,CAAC;AAExB,eAAO,MAAM,cAAc;;CAA8B,CAAC;AAU1D,eAAO,MAAM,eAAe,QAAO,QAAQ,GAAG,IAE7C,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,mDAI/B;IACD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;CACpB,KAAG,cAyCH,CAAC;AAqBF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,kCAAkC,QAAO;IACpD,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACrD,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;CAsEvB,CAAC"}
@@ -5,6 +5,11 @@ import { atom, useAtomValue, useAtom } from 'jotai';
5
5
  import { useRef, useLayoutEffect } from 'react';
6
6
 
7
7
  const openDrawerAtom = atom(null);
8
+ openDrawerAtom.onMount = (set) => {
9
+ return () => {
10
+ set(null);
11
+ };
12
+ };
8
13
  const useOpenDrawerId = () => {
9
14
  return useAtomValue(openDrawerAtom);
10
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useDrawerControls.js","sources":["../../../../../src/components/widget/Drawer/state/useDrawerControls.ts"],"sourcesContent":["import { DRAWER_HEIGHT } from \"@/core/constants\";\nimport { useLogger } from \"@/core/logger\";\nimport type { LoggerInstance } from \"@/lib/utils/logger\";\nimport { atom, useAtom, useAtomValue } from \"jotai\";\nimport { useLayoutEffect, useRef } from \"react\";\n\nexport type DrawerControls = {\n open: boolean;\n onOpen: () => void;\n onClose: () => void;\n onOpenChange: (open: boolean) => void;\n logger: LoggerInstance;\n};\n\nexport type DrawerId =\n | \"account-button-drawer\"\n | \"trade-parameters-drawer\"\n | \"receiver-address-drawer\"\n | `empty-select-token-drawer-${\"from\" | \"to\" | undefined}`\n | `select-token-drawer-${\"from\" | \"to\" | undefined}`\n | \"wrap-eth-drawer\"\n | \"connect-wallet-drawer\"\n | \"trade-flow-drawer\"\n | \"limit-order-flow-drawer\"\n | \"otc-order-flow-drawer\"\n | \"fill-otc-order-flow-drawer\"\n | \"limit-orders-drawer\" // @TODO Activities cleanup\n | \"limit-order-details\" // @TODO Activities cleanup\n | \"otc-orders-drawer\" // @TODO Activities cleanup\n | \"otc-order-details\" // @TODO Activities cleanup\n | \"order-details\"\n | \"fill-order-review-and-confirm-drawer\"\n | `import-token-drawer-${\"from\" | \"to\" | undefined}`\n | \"activities-drawer\";\n\nexport const openDrawerAtom = atom<DrawerId | null>(null);\n\nexport const useOpenDrawerId = (): DrawerId | null => {\n return useAtomValue(openDrawerAtom);\n};\n\nexport const useDrawerControls = ({\n onOpen: _onOpen,\n onClose: _onClose,\n drawerId,\n}: {\n onOpen?: () => void;\n onClose?: () => void;\n drawerId: DrawerId;\n}): DrawerControls => {\n const [openDrawer, setOpenDrawer] = useAtom(openDrawerAtom);\n\n const open = openDrawer === drawerId;\n\n const logger = useLogger(drawerId);\n\n const onOpen = () => {\n logger.info(\"onOpen\");\n setOpenDrawer(drawerId);\n _onOpen?.();\n };\n const onClose = () => {\n logger.info(\"onClose\");\n setOpenDrawer((currentOpenDrawer) => {\n // only reset openDrawer if closing the drawer that is currently open,\n // so that we don't interfere with other drawers that are opening at the same time\n if (currentOpenDrawer === drawerId) {\n return null;\n }\n return currentOpenDrawer;\n });\n _onClose?.();\n };\n\n const onOpenChange = (open: boolean) => {\n if (open) {\n onOpen();\n } else {\n onClose();\n }\n };\n\n return {\n open,\n // expect onOpenChange not to be triggered for a controlled <Drawer open={open}/>.\n onOpenChange,\n onOpen,\n onClose,\n logger,\n };\n};\n\n/**\n * Drawer IDs that should be considered full-cover drawers.\n *\n * When a full-cover drawer opens, the widget container height is transitioned to a fixed WIDGET_HEIGHT_CLASSNAME height.\n * When the drawer closes, the widget container height is transitioned back to the natural height.\n */\nconst fullCoverDrawers = new Set<DrawerId>([\n \"trade-flow-drawer\",\n \"limit-order-flow-drawer\",\n \"otc-order-flow-drawer\",\n \"fill-otc-order-flow-drawer\",\n \"select-token-drawer-from\",\n \"select-token-drawer-to\",\n \"empty-select-token-drawer-from\",\n \"empty-select-token-drawer-to\",\n]);\n\nconst transition = \"height 0.3s ease-in-out\";\n\n/**\n * Hook that manages smooth height transitions for the main widget container when full-cover drawers open/close.\n *\n * When a full-cover drawer opens, this hook smoothly animates the widget height from its natural height\n * to a fixed WIDGET_HEIGHT_CLASSNAME height. When the drawer closes, it animates back to the original height and then\n * resets to auto for natural sizing.\n *\n * This prevents jarring height jumps and provides a polished user experience during drawer interactions.\n *\n * @returns {Object} containerRef - React ref that should be attached to the widget container element\n *\n * @example\n * const { containerRef } = useDrawerContainerHeightTransition();\n * return <div ref={containerRef} className=\"widget-container\">...</div>\n */\nexport const useDrawerContainerHeightTransition = (): {\n containerRef: React.RefObject<HTMLDivElement | null>;\n drawerId: DrawerId | null;\n isDrawerFullCover: boolean;\n isDrawerOpen: boolean;\n} => {\n const containerRef = useRef<HTMLDivElement>(null);\n const previousHeightRef = useRef<number | null>(null);\n\n const currentDrawerId = useOpenDrawerId();\n const isDrawerFullCover =\n !!currentDrawerId && fullCoverDrawers.has(currentDrawerId);\n\n useLayoutEffect(() => {\n if (containerRef.current) {\n const container = containerRef.current;\n\n if (isDrawerFullCover) {\n // Get current height\n const currentHeight = container.scrollHeight;\n // widget will be fully covered by the drawer, won't see the transition\n const shouldSkipTransition = currentHeight <= DRAWER_HEIGHT;\n if (shouldSkipTransition) {\n return;\n }\n previousHeightRef.current = currentHeight;\n container.style.overflow = \"hidden\";\n\n // Set current height first (no transition)\n container.style.transition = \"none\";\n container.style.height = `${currentHeight}px`;\n\n // Use requestAnimationFrame to ensure the first height is painted\n requestAnimationFrame(() => {\n // Enable transition and set target height\n container.style.transition = transition;\n container.style.height = `${DRAWER_HEIGHT}px`;\n });\n } else if (previousHeightRef.current !== null) {\n // Only transition back if we have a previous height\n container.style.transition = transition;\n container.style.height = `${previousHeightRef.current}px`;\n previousHeightRef.current = null;\n\n // After transition completes, reset to auto\n const onTransitionEnd = (event: TransitionEvent) => {\n if (\n event.target === container &&\n event.propertyName === \"height\" &&\n event.type === \"transitionend\"\n ) {\n container.style.height = \"auto\";\n container.style.transition = \"\";\n container.style.overflow = \"\";\n\n container.removeEventListener(\"transitionend\", onTransitionEnd);\n }\n };\n container.addEventListener(\"transitionend\", onTransitionEnd);\n\n return () => {\n // cleanup just in case\n container.removeEventListener(\"transitionend\", onTransitionEnd);\n };\n }\n }\n }, [isDrawerFullCover]);\n\n return {\n containerRef,\n drawerId: currentDrawerId,\n isDrawerFullCover,\n isDrawerOpen: !!currentDrawerId,\n };\n};\n"],"names":["openDrawerAtom","atom","useOpenDrawerId","useAtomValue","useDrawerControls","t0","$","_c","onOpen","_onOpen","onClose","_onClose","drawerId","openDrawer","setOpenDrawer","useAtom","open","logger","useLogger","t1","info","t2","currentOpenDrawer","t3","open_0","onOpenChange","t4","fullCoverDrawers","Set","transition","useDrawerContainerHeightTransition","containerRef","useRef","previousHeightRef","currentDrawerId","has","isDrawerFullCover","current","container","currentHeight","scrollHeight","shouldSkipTransition","DRAWER_HEIGHT","style","overflow","height","requestAnimationFrame","onTransitionEnd","event","target","propertyName","type","removeEventListener","addEventListener","useLayoutEffect","isDrawerOpen"],"mappings":"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"}
1
+ {"version":3,"file":"useDrawerControls.js","sources":["../../../../../src/components/widget/Drawer/state/useDrawerControls.ts"],"sourcesContent":["import { DRAWER_HEIGHT } from \"@/core/constants\";\nimport { useLogger } from \"@/core/logger\";\nimport type { LoggerInstance } from \"@/lib/utils/logger\";\nimport { atom, useAtom, useAtomValue } from \"jotai\";\nimport { useLayoutEffect, useRef } from \"react\";\n\nexport type DrawerControls = {\n open: boolean;\n onOpen: () => void;\n onClose: () => void;\n onOpenChange: (open: boolean) => void;\n logger: LoggerInstance;\n};\n\nexport type DrawerId =\n | \"account-button-drawer\"\n | \"trade-parameters-drawer\"\n | \"receiver-address-drawer\"\n | `empty-select-token-drawer-${\"from\" | \"to\" | undefined}`\n | `select-token-drawer-${\"from\" | \"to\" | undefined}`\n | \"wrap-eth-drawer\"\n | \"connect-wallet-drawer\"\n | \"trade-flow-drawer\"\n | \"limit-order-flow-drawer\"\n | \"otc-order-flow-drawer\"\n | \"fill-otc-order-flow-drawer\"\n | \"limit-orders-drawer\" // @TODO Activities cleanup\n | \"limit-order-details\" // @TODO Activities cleanup\n | \"otc-orders-drawer\" // @TODO Activities cleanup\n | \"otc-order-details\" // @TODO Activities cleanup\n | \"order-details\"\n | \"fill-order-review-and-confirm-drawer\"\n | `import-token-drawer-${\"from\" | \"to\" | undefined}`\n | \"activities-drawer\";\n\nexport const openDrawerAtom = atom<DrawerId | null>(null);\n\nopenDrawerAtom.onMount = (set) => {\n return () => {\n // Reset open drawer on unmount to prevent stuck open drawers on remount.\n // This happens, for example, on route change in the UI with any drawer open.\n set(null);\n };\n};\n\nexport const useOpenDrawerId = (): DrawerId | null => {\n return useAtomValue(openDrawerAtom);\n};\n\nexport const useDrawerControls = ({\n onOpen: _onOpen,\n onClose: _onClose,\n drawerId,\n}: {\n onOpen?: () => void;\n onClose?: () => void;\n drawerId: DrawerId;\n}): DrawerControls => {\n const [openDrawer, setOpenDrawer] = useAtom(openDrawerAtom);\n\n const open = openDrawer === drawerId;\n\n const logger = useLogger(drawerId);\n\n const onOpen = () => {\n logger.info(\"onOpen\");\n setOpenDrawer(drawerId);\n _onOpen?.();\n };\n const onClose = () => {\n logger.info(\"onClose\");\n setOpenDrawer((currentOpenDrawer) => {\n // only reset openDrawer if closing the drawer that is currently open,\n // so that we don't interfere with other drawers that are opening at the same time\n if (currentOpenDrawer === drawerId) {\n return null;\n }\n return currentOpenDrawer;\n });\n _onClose?.();\n };\n\n const onOpenChange = (open: boolean) => {\n if (open) {\n onOpen();\n } else {\n onClose();\n }\n };\n\n return {\n open,\n // expect onOpenChange not to be triggered for a controlled <Drawer open={open}/>.\n onOpenChange,\n onOpen,\n onClose,\n logger,\n };\n};\n\n/**\n * Drawer IDs that should be considered full-cover drawers.\n *\n * When a full-cover drawer opens, the widget container height is transitioned to a fixed WIDGET_HEIGHT_CLASSNAME height.\n * When the drawer closes, the widget container height is transitioned back to the natural height.\n */\nconst fullCoverDrawers = new Set<DrawerId>([\n \"trade-flow-drawer\",\n \"limit-order-flow-drawer\",\n \"otc-order-flow-drawer\",\n \"fill-otc-order-flow-drawer\",\n \"select-token-drawer-from\",\n \"select-token-drawer-to\",\n \"empty-select-token-drawer-from\",\n \"empty-select-token-drawer-to\",\n]);\n\nconst transition = \"height 0.3s ease-in-out\";\n\n/**\n * Hook that manages smooth height transitions for the main widget container when full-cover drawers open/close.\n *\n * When a full-cover drawer opens, this hook smoothly animates the widget height from its natural height\n * to a fixed WIDGET_HEIGHT_CLASSNAME height. When the drawer closes, it animates back to the original height and then\n * resets to auto for natural sizing.\n *\n * This prevents jarring height jumps and provides a polished user experience during drawer interactions.\n *\n * @returns {Object} containerRef - React ref that should be attached to the widget container element\n *\n * @example\n * const { containerRef } = useDrawerContainerHeightTransition();\n * return <div ref={containerRef} className=\"widget-container\">...</div>\n */\nexport const useDrawerContainerHeightTransition = (): {\n containerRef: React.RefObject<HTMLDivElement | null>;\n drawerId: DrawerId | null;\n isDrawerFullCover: boolean;\n isDrawerOpen: boolean;\n} => {\n const containerRef = useRef<HTMLDivElement>(null);\n const previousHeightRef = useRef<number | null>(null);\n\n const currentDrawerId = useOpenDrawerId();\n const isDrawerFullCover =\n !!currentDrawerId && fullCoverDrawers.has(currentDrawerId);\n\n useLayoutEffect(() => {\n if (containerRef.current) {\n const container = containerRef.current;\n\n if (isDrawerFullCover) {\n // Get current height\n const currentHeight = container.scrollHeight;\n // widget will be fully covered by the drawer, won't see the transition\n const shouldSkipTransition = currentHeight <= DRAWER_HEIGHT;\n if (shouldSkipTransition) {\n return;\n }\n previousHeightRef.current = currentHeight;\n container.style.overflow = \"hidden\";\n\n // Set current height first (no transition)\n container.style.transition = \"none\";\n container.style.height = `${currentHeight}px`;\n\n // Use requestAnimationFrame to ensure the first height is painted\n requestAnimationFrame(() => {\n // Enable transition and set target height\n container.style.transition = transition;\n container.style.height = `${DRAWER_HEIGHT}px`;\n });\n } else if (previousHeightRef.current !== null) {\n // Only transition back if we have a previous height\n container.style.transition = transition;\n container.style.height = `${previousHeightRef.current}px`;\n previousHeightRef.current = null;\n\n // After transition completes, reset to auto\n const onTransitionEnd = (event: TransitionEvent) => {\n if (\n event.target === container &&\n event.propertyName === \"height\" &&\n event.type === \"transitionend\"\n ) {\n container.style.height = \"auto\";\n container.style.transition = \"\";\n container.style.overflow = \"\";\n\n container.removeEventListener(\"transitionend\", onTransitionEnd);\n }\n };\n container.addEventListener(\"transitionend\", onTransitionEnd);\n\n return () => {\n // cleanup just in case\n container.removeEventListener(\"transitionend\", onTransitionEnd);\n };\n }\n }\n }, [isDrawerFullCover]);\n\n return {\n containerRef,\n drawerId: currentDrawerId,\n isDrawerFullCover,\n isDrawerOpen: !!currentDrawerId,\n };\n};\n"],"names":["openDrawerAtom","atom","onMount","set","useOpenDrawerId","useAtomValue","useDrawerControls","t0","$","_c","onOpen","_onOpen","onClose","_onClose","drawerId","openDrawer","setOpenDrawer","useAtom","open","logger","useLogger","t1","info","t2","currentOpenDrawer","t3","open_0","onOpenChange","t4","fullCoverDrawers","Set","transition","useDrawerContainerHeightTransition","containerRef","useRef","previousHeightRef","currentDrawerId","has","isDrawerFullCover","current","container","currentHeight","scrollHeight","shouldSkipTransition","DRAWER_HEIGHT","style","overflow","height","requestAnimationFrame","onTransitionEnd","event","target","propertyName","type","removeEventListener","addEventListener","useLayoutEffect","isDrawerOpen"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ImportToken.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/ImportToken/ImportToken.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAMtD,KAAK,gBAAgB,GAAG,sBAAsB,GAAG;IAC/C,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,OAAO,gBAAgB,4CAiElD,CAAC"}
1
+ {"version":3,"file":"ImportToken.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/ImportToken/ImportToken.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAMtD,KAAK,gBAAgB,GAAG,sBAAsB,GAAG;IAC/C,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,OAAO,gBAAgB,4CAkElD,CAAC"}