@velora-dex/widget 0.2.5-dev.6 → 0.2.5-dev.7

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 (245) hide show
  1. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
  2. package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.d.ts.map +1 -1
  3. package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.js +43 -42
  4. package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.js.map +1 -1
  5. package/dist/components/widget/AppHeader/Activities/Drawers.d.ts +2 -1
  6. package/dist/components/widget/AppHeader/Activities/Drawers.d.ts.map +1 -1
  7. package/dist/components/widget/AppHeader/Activities/Drawers.js +30 -32
  8. package/dist/components/widget/AppHeader/Activities/Drawers.js.map +1 -1
  9. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts +1 -3
  10. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts.map +1 -1
  11. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +114 -97
  12. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  13. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.d.ts +3 -1
  14. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.d.ts.map +1 -1
  15. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js +17 -14
  16. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js.map +1 -1
  17. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts +1 -2
  18. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts.map +1 -1
  19. package/dist/components/widget/Drawer/state/useDrawerControls.js +16 -17
  20. package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
  21. package/dist/components/widget/OrderExpiryInput/index.d.ts.map +1 -1
  22. package/dist/components/widget/OrderExpiryInput/index.js +76 -73
  23. package/dist/components/widget/OrderExpiryInput/index.js.map +1 -1
  24. package/dist/components/widget/ReceiverAddress/state/subscriptions.d.ts.map +1 -1
  25. package/dist/components/widget/ReceiverAddress/state/subscriptions.js +3 -0
  26. package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
  27. package/dist/components/widget/ReceiverAddress/types.d.ts +2 -1
  28. package/dist/components/widget/ReceiverAddress/types.d.ts.map +1 -1
  29. package/dist/components/widget/Screen/GenericScreen.d.ts.map +1 -1
  30. package/dist/components/widget/Screen/GenericScreen.js +9 -8
  31. package/dist/components/widget/Screen/GenericScreen.js.map +1 -1
  32. package/dist/components/widget/Screen/ScreenContainer.d.ts.map +1 -1
  33. package/dist/components/widget/Screen/ScreenContainer.js +7 -31
  34. package/dist/components/widget/Screen/ScreenContainer.js.map +1 -1
  35. package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.d.ts.map +1 -1
  36. package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js +5 -0
  37. package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js.map +1 -1
  38. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.d.ts +3 -2
  39. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.d.ts.map +1 -1
  40. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
  41. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
  42. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  43. package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.d.ts.map +1 -1
  44. package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js.map +1 -1
  45. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.d.ts +1 -1
  46. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.d.ts.map +1 -1
  47. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js +1 -1
  48. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js.map +1 -1
  49. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts.map +1 -1
  50. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
  51. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.d.ts +1 -1
  52. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.d.ts.map +1 -1
  53. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js +1 -1
  54. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js.map +1 -1
  55. package/dist/components/widget/TradeOverview/utils/preWrap.d.ts +3 -3
  56. package/dist/components/widget/TradeOverview/utils/preWrap.d.ts.map +1 -1
  57. package/dist/components/widget/TradeOverview/utils/preWrap.js.map +1 -1
  58. package/dist/configurator/Configurator.d.ts.map +1 -1
  59. package/dist/configurator/components/FormPropsInputs.d.ts.map +1 -1
  60. package/dist/configurator/components/common/ButtonGroup.d.ts +12 -0
  61. package/dist/configurator/components/common/ButtonGroup.d.ts.map +1 -0
  62. package/dist/core/LimitOrderButton.d.ts.map +1 -1
  63. package/dist/core/LimitOrderButton.js +49 -23
  64. package/dist/core/LimitOrderButton.js.map +1 -1
  65. package/dist/core/Updaters.d.ts.map +1 -1
  66. package/dist/core/Updaters.js +22 -1
  67. package/dist/core/Updaters.js.map +1 -1
  68. package/dist/core/across/isCrosshcainPossible.d.ts +10 -0
  69. package/dist/core/across/isCrosshcainPossible.d.ts.map +1 -0
  70. package/dist/core/across/isCrosshcainPossible.js +41 -0
  71. package/dist/core/across/isCrosshcainPossible.js.map +1 -0
  72. package/dist/core/across/utils.d.ts +7 -3
  73. package/dist/core/across/utils.d.ts.map +1 -1
  74. package/dist/core/across/utils.js +10 -7
  75. package/dist/core/across/utils.js.map +1 -1
  76. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
  77. package/dist/core/button/hooks/useWidgetButtonExtraProps.js +56 -33
  78. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  79. package/dist/core/index.d.ts.map +1 -1
  80. package/dist/core/index.js +72 -17
  81. package/dist/core/index.js.map +1 -1
  82. package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
  83. package/dist/core/inputs/hooks/useTokenToInputProps.js +76 -66
  84. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  85. package/dist/core/inputs/state/common.d.ts +15 -3
  86. package/dist/core/inputs/state/common.d.ts.map +1 -1
  87. package/dist/core/inputs/state/common.js +51 -12
  88. package/dist/core/inputs/state/common.js.map +1 -1
  89. package/dist/core/inputs/state/selectedTokenActionsAtom.d.ts.map +1 -1
  90. package/dist/core/inputs/state/selectedTokenActionsAtom.js +33 -44
  91. package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
  92. package/dist/core/inputs/state/setTokenByAddressAtom.d.ts +1 -1
  93. package/dist/core/inputs/state/setTokenByAddressAtom.d.ts.map +1 -1
  94. package/dist/core/inputs/state/setTokenByAddressAtom.js +85 -21
  95. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  96. package/dist/core/inputs/state/types.d.ts +9 -1
  97. package/dist/core/inputs/state/types.d.ts.map +1 -1
  98. package/dist/core/limit/state/deadlineAtom.d.ts +10 -2
  99. package/dist/core/limit/state/deadlineAtom.d.ts.map +1 -1
  100. package/dist/core/limit/state/deadlineAtom.js +15 -8
  101. package/dist/core/limit/state/deadlineAtom.js.map +1 -1
  102. package/dist/core/limit/state/isCrosschainAtom.d.ts +3 -0
  103. package/dist/core/limit/state/isCrosschainAtom.d.ts.map +1 -0
  104. package/dist/core/limit/state/isCrosschainAtom.js +13 -0
  105. package/dist/core/limit/state/isCrosschainAtom.js.map +1 -0
  106. package/dist/core/limit/state/limitInputActionsAtom.d.ts +4 -1
  107. package/dist/core/limit/state/limitInputActionsAtom.d.ts.map +1 -1
  108. package/dist/core/limit/state/limitInputActionsAtom.js +6 -2
  109. package/dist/core/limit/state/limitInputActionsAtom.js.map +1 -1
  110. package/dist/core/limit/state/limitInputAmountAtom.js +1 -1
  111. package/dist/core/limit/state/limitInputAmountAtom.js.map +1 -1
  112. package/dist/core/limit/state/limitTokenAtoms.d.ts +10 -0
  113. package/dist/core/limit/state/limitTokenAtoms.d.ts.map +1 -0
  114. package/dist/core/limit/state/limitTokenAtoms.js +17 -0
  115. package/dist/core/limit/state/limitTokenAtoms.js.map +1 -0
  116. package/dist/core/limit/state/receiverAddressAtom.d.ts +7 -0
  117. package/dist/core/limit/state/receiverAddressAtom.d.ts.map +1 -0
  118. package/dist/core/limit/state/receiverAddressAtom.js +40 -0
  119. package/dist/core/limit/state/receiverAddressAtom.js.map +1 -0
  120. package/dist/core/limit/state/selectedTokenActionsAtom.d.ts.map +1 -1
  121. package/dist/core/limit/state/selectedTokenActionsAtom.js +94 -18
  122. package/dist/core/limit/state/selectedTokenActionsAtom.js.map +1 -1
  123. package/dist/core/limit/state/selectedTokenAtom.d.ts +0 -9
  124. package/dist/core/limit/state/selectedTokenAtom.d.ts.map +1 -1
  125. package/dist/core/limit/state/selectedTokenAtom.js +53 -21
  126. package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
  127. package/dist/core/limit/state/utils.d.ts +9 -1
  128. package/dist/core/limit/state/utils.d.ts.map +1 -1
  129. package/dist/core/limit/state/utils.js +44 -2
  130. package/dist/core/limit/state/utils.js.map +1 -1
  131. package/dist/core/limit/useLimitRate.d.ts +9 -0
  132. package/dist/core/limit/useLimitRate.d.ts.map +1 -1
  133. package/dist/core/limit/useLimitRate.js +145 -8
  134. package/dist/core/limit/useLimitRate.js.map +1 -1
  135. package/dist/core/limit/useLimitTokenFromInputProps.js +1 -1
  136. package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
  137. package/dist/core/limit/useLimitTokenSwitcherProps.js +1 -1
  138. package/dist/core/limit/useLimitTokenSwitcherProps.js.map +1 -1
  139. package/dist/core/limit/useLimitTokenToInputProps.d.ts.map +1 -1
  140. package/dist/core/limit/useLimitTokenToInputProps.js +132 -72
  141. package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
  142. package/dist/core/otc/state/deadlineAtom.d.ts +8 -3
  143. package/dist/core/otc/state/deadlineAtom.d.ts.map +1 -1
  144. package/dist/core/otc/state/deadlineAtom.js +16 -10
  145. package/dist/core/otc/state/deadlineAtom.js.map +1 -1
  146. package/dist/core/otc/state/otcInputActionsAtom.d.ts +4 -1
  147. package/dist/core/otc/state/otcInputActionsAtom.d.ts.map +1 -1
  148. package/dist/core/otc/state/otcInputActionsAtom.js +6 -2
  149. package/dist/core/otc/state/otcInputActionsAtom.js.map +1 -1
  150. package/dist/core/screen/hooks/useOnClickOutside.d.ts +2 -0
  151. package/dist/core/screen/hooks/useOnClickOutside.d.ts.map +1 -0
  152. package/dist/core/screen/hooks/useOnClickOutside.js +30 -0
  153. package/dist/core/screen/hooks/useOnClickOutside.js.map +1 -0
  154. package/dist/core/screen/screenByType.d.ts +1 -3
  155. package/dist/core/screen/screenByType.d.ts.map +1 -1
  156. package/dist/core/state/chainToAtom.d.ts +2 -0
  157. package/dist/core/state/chainToAtom.d.ts.map +1 -1
  158. package/dist/core/state/chainToAtom.js +37 -7
  159. package/dist/core/state/chainToAtom.js.map +1 -1
  160. package/dist/core/state/configEffectAtom.d.ts +0 -3
  161. package/dist/core/state/configEffectAtom.d.ts.map +1 -1
  162. package/dist/core/state/configEffectAtom.js +49 -37
  163. package/dist/core/state/configEffectAtom.js.map +1 -1
  164. package/dist/core/state/enabledChainsAtom.d.ts +3 -0
  165. package/dist/core/state/enabledChainsAtom.d.ts.map +1 -1
  166. package/dist/core/state/enabledChainsAtom.js.map +1 -1
  167. package/dist/core/state/getSelectableDestChains.d.ts +8 -0
  168. package/dist/core/state/getSelectableDestChains.d.ts.map +1 -0
  169. package/dist/core/state/getSelectableDestChains.js +34 -0
  170. package/dist/core/state/getSelectableDestChains.js.map +1 -0
  171. package/dist/events/getters/limit.d.ts.map +1 -1
  172. package/dist/events/getters/limit.js +5 -2
  173. package/dist/events/getters/limit.js.map +1 -1
  174. package/dist/events/hooks/useOnPriceUpdates.d.ts.map +1 -1
  175. package/dist/events/hooks/useOnPriceUpdates.js +37 -25
  176. package/dist/events/hooks/useOnPriceUpdates.js.map +1 -1
  177. package/dist/events/types/formInput.d.ts +1 -1
  178. package/dist/events/types/formInput.d.ts.map +1 -1
  179. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.d.ts +2 -0
  180. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.d.ts.map +1 -0
  181. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js +24 -0
  182. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js.map +1 -0
  183. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.d.ts +6 -0
  184. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.d.ts.map +1 -0
  185. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js +9 -0
  186. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js.map +1 -0
  187. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.d.ts +4 -0
  188. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.d.ts.map +1 -0
  189. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.js +12 -0
  190. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.js.map +1 -0
  191. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts +19 -0
  192. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts.map +1 -0
  193. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.d.ts +4 -0
  194. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.d.ts.map +1 -0
  195. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.js +81 -0
  196. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.js.map +1 -0
  197. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +3 -0
  198. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  199. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +2 -1
  200. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  201. package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
  202. package/dist/hooks/swap/prices/usePricesParams.js +8 -12
  203. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  204. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts.map +1 -1
  205. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
  206. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +2 -0
  207. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
  208. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +54 -21
  209. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  210. package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js +1 -1
  211. package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js.map +1 -1
  212. package/dist/hooks/tokens/useAllTokensWithFilter.d.ts +3 -1
  213. package/dist/hooks/tokens/useAllTokensWithFilter.d.ts.map +1 -1
  214. package/dist/hooks/tokens/useAllTokensWithFilter.js +25 -22
  215. package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
  216. package/dist/hooks/tokens/useTokensFromAcross.d.ts +3 -1
  217. package/dist/hooks/tokens/useTokensFromAcross.d.ts.map +1 -1
  218. package/dist/hooks/tokens/useTokensFromAcross.js +36 -25
  219. package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
  220. package/dist/hooks/useAvailableCrosses.d.ts +7 -2
  221. package/dist/hooks/useAvailableCrosses.d.ts.map +1 -1
  222. package/dist/hooks/useAvailableCrosses.js +39 -25
  223. package/dist/hooks/useAvailableCrosses.js.map +1 -1
  224. package/dist/hooks/useBridgeInfo.d.ts +4 -1
  225. package/dist/hooks/useBridgeInfo.d.ts.map +1 -1
  226. package/dist/hooks/useBridgeInfo.js +26 -11
  227. package/dist/hooks/useBridgeInfo.js.map +1 -1
  228. package/dist/hooks/useClickOutside.d.ts +1 -1
  229. package/dist/hooks/useClickOutside.d.ts.map +1 -1
  230. package/dist/hooks/useClickOutside.js +27 -13
  231. package/dist/hooks/useClickOutside.js.map +1 -1
  232. package/dist/hooks/useIsCrosschainPossible.d.ts +3 -1
  233. package/dist/hooks/useIsCrosschainPossible.d.ts.map +1 -1
  234. package/dist/hooks/useIsCrosschainPossible.js +33 -22
  235. package/dist/hooks/useIsCrosschainPossible.js.map +1 -1
  236. package/dist/hooks/useSelectableDestChains.d.ts +5 -1
  237. package/dist/hooks/useSelectableDestChains.d.ts.map +1 -1
  238. package/dist/hooks/useSelectableDestChains.js +42 -36
  239. package/dist/hooks/useSelectableDestChains.js.map +1 -1
  240. package/dist/styles.css +3 -0
  241. package/package.json +2 -2
  242. package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.d.ts +0 -15
  243. package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.d.ts.map +0 -1
  244. package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.js +0 -92
  245. package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.js.map +0 -1
@@ -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 } from \"jotai\";\nimport { useAtom, useAtomValue } from \"@/core/store\";\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 | \"wrap-eth-drawer\"\n | \"connect-wallet-drawer\"\n | \"order-details\"\n | \"fill-order-review-and-confirm-drawer\"\n | `import-token-drawer-${\"from\" | \"to\" | undefined}`;\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\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
+ {"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 } from \"jotai\";\nimport { useAtom, useAtomValue } from \"@/core/store\";\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 | \"wrap-eth-drawer\"\n | \"connect-wallet-drawer\"\n | \"order-details\"\n | \"fill-order-review-and-confirm-drawer\"\n | `import-token-drawer-${\"from\" | \"to\" | undefined}`;\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\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): {\n drawerId: DrawerId | null;\n isDrawerFullCover: boolean;\n isDrawerOpen: boolean;\n} => {\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 }, [containerRef, isDrawerFullCover]);\n\n return {\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","previousHeightRef","useRef","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":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/OrderExpiryInput/index.tsx"],"names":[],"mappings":"AAgIA,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,OAAO,GAAG,KAAK,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,OAAO,qBAAqB,4CAW5D,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/OrderExpiryInput/index.tsx"],"names":[],"mappings":"AA4IA,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,OAAO,GAAG,KAAK,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,OAAO,qBAAqB,4CAW5D,CAAC"}
@@ -7,7 +7,8 @@ import { ChevronIcon } from '../Icon/ChevronIcon.js';
7
7
  import { useAtom } from '../../../core/store.js';
8
8
  import { timeUnitAtom } from '../../../core/limit/state/deadlineAtom.js';
9
9
  import { timeUnitAtom as timeUnitAtom$1 } from '../../../core/otc/state/deadlineAtom.js';
10
- import { neverTimeUnit, timeUnits, minTimeUnit } from '../../../core/limit/state/constants.js';
10
+ import { neverTimeUnit, minTimeUnit, timeUnits } from '../../../core/limit/state/constants.js';
11
+ import { useState, useEffect } from 'react';
11
12
 
12
13
  const TimeUnitsDropdown = (t0) => {
13
14
  const $ = distExports.c(19);
@@ -97,100 +98,102 @@ const TimeUnitsDropdown = (t0) => {
97
98
  return t6;
98
99
  };
99
100
  const TimeUnitInput = (t0) => {
100
- const $ = distExports.c(18);
101
+ const $ = distExports.c(20);
101
102
  const {
102
103
  type
103
104
  } = t0;
104
105
  const isLimit = type === "limit";
105
106
  const [timeUnitObject, setTimeUnitObject] = useAtom(isLimit ? timeUnitAtom : timeUnitAtom$1);
106
- let t1;
107
- if ($[0] !== setTimeUnitObject) {
108
- t1 = (currentTimeUnitObject) => {
109
- setTimeUnitObject((prev) => {
110
- if (prev.label === currentTimeUnitObject.label) {
111
- return prev;
112
- }
113
- return currentTimeUnitObject;
114
- });
115
- };
116
- $[0] = setTimeUnitObject;
117
- $[1] = t1;
118
- } else {
119
- t1 = $[1];
120
- }
121
- const onTimeUnitChange = t1;
122
- let t2;
123
- if ($[2] !== isLimit || $[3] !== setTimeUnitObject) {
124
- t2 = (values) => {
125
- const floatValue = values.floatValue;
126
- if (floatValue === neverTimeUnit.value && !isLimit) {
127
- setTimeUnitObject(neverTimeUnit);
107
+ const onValueChange = (t1, sourceInfo) => {
108
+ const {
109
+ floatValue
110
+ } = t1;
111
+ if (sourceInfo.source === "prop") {
112
+ return;
113
+ }
114
+ setValue(floatValue ?? 0);
115
+ if (floatValue === neverTimeUnit.value && !isLimit) {
116
+ setTimeUnitObject(neverTimeUnit);
117
+ } else {
118
+ if (floatValue !== void 0) {
119
+ setTimeUnitObject((prev) => ({
120
+ label: prev.label,
121
+ value: floatValue
122
+ }));
128
123
  } else {
129
- if (floatValue !== void 0) {
130
- setTimeUnitObject((prev_0) => {
131
- if (prev_0.value === floatValue) {
132
- return prev_0;
133
- }
134
- return {
135
- ...prev_0,
136
- value: floatValue
137
- };
138
- });
139
- } else {
140
- setTimeUnitObject(minTimeUnit);
141
- }
124
+ setTimeUnitObject(minTimeUnit);
142
125
  }
126
+ }
127
+ };
128
+ const [value, t2] = useState(timeUnitObject.value);
129
+ const setValue = t2;
130
+ let t3;
131
+ if ($[0] !== setValue || $[1] !== timeUnitObject.value) {
132
+ t3 = () => {
133
+ setValue(timeUnitObject.value);
143
134
  };
144
- $[2] = isLimit;
145
- $[3] = setTimeUnitObject;
146
- $[4] = t2;
135
+ $[0] = setValue;
136
+ $[1] = timeUnitObject.value;
137
+ $[2] = t3;
147
138
  } else {
148
- t2 = $[4];
139
+ t3 = $[2];
149
140
  }
150
- const onValueChange = t2;
151
- let t3;
152
- if ($[5] !== onValueChange || $[6] !== timeUnitObject.label || $[7] !== timeUnitObject.value) {
153
- t3 = timeUnitObject.label !== neverTimeUnit.label && /* @__PURE__ */ jsx(NumericFormat, { className: "min-w-0 w-full text-lg font-geist-mono text-contrast-3 dark:text-contrast-8", placeholder: "0", value: timeUnitObject.value, onValueChange, decimalScale: 0, allowNegative: false, allowLeadingZeros: false, customInput: UnstyledInput, thousandSeparator: true });
141
+ let t4;
142
+ if ($[3] !== timeUnitObject.value) {
143
+ t4 = [timeUnitObject.value];
144
+ $[3] = timeUnitObject.value;
145
+ $[4] = t4;
146
+ } else {
147
+ t4 = $[4];
148
+ }
149
+ useEffect(t3, t4);
150
+ let t5;
151
+ if ($[5] !== onValueChange || $[6] !== setValue || $[7] !== timeUnitObject.label || $[8] !== timeUnitObject.value || $[9] !== value) {
152
+ t5 = timeUnitObject.label !== neverTimeUnit.label && /* @__PURE__ */ jsx(NumericFormat, { className: "min-w-0 w-full text-lg font-geist-mono text-contrast-3 dark:text-contrast-8", placeholder: "0", value, onValueChange, decimalScale: 0, allowNegative: false, allowLeadingZeros: false, customInput: UnstyledInput, thousandSeparator: true, onBlur: () => {
153
+ setValue(timeUnitObject.value);
154
+ } });
154
155
  $[5] = onValueChange;
155
- $[6] = timeUnitObject.label;
156
- $[7] = timeUnitObject.value;
157
- $[8] = t3;
156
+ $[6] = setValue;
157
+ $[7] = timeUnitObject.label;
158
+ $[8] = timeUnitObject.value;
159
+ $[9] = value;
160
+ $[10] = t5;
158
161
  } else {
159
- t3 = $[8];
162
+ t5 = $[10];
160
163
  }
161
- let t4;
162
- if ($[9] === Symbol.for("react.memo_cache_sentinel")) {
163
- t4 = {
164
+ let t6;
165
+ if ($[11] === Symbol.for("react.memo_cache_sentinel")) {
166
+ t6 = {
164
167
  trigger: "w-full min-h-[28px]"
165
168
  };
166
- $[9] = t4;
169
+ $[11] = t6;
167
170
  } else {
168
- t4 = $[9];
171
+ t6 = $[11];
169
172
  }
170
- let t5;
171
- if ($[10] !== onTimeUnitChange || $[11] !== timeUnitObject.label || $[12] !== timeUnitObject.value || $[13] !== type) {
172
- t5 = /* @__PURE__ */ jsx(TimeUnitsDropdown, { selectedTimeUnit: timeUnitObject.label, onSelect: onTimeUnitChange, expiryTimeValue: timeUnitObject.value, classes: t4, type });
173
- $[10] = onTimeUnitChange;
174
- $[11] = timeUnitObject.label;
175
- $[12] = timeUnitObject.value;
176
- $[13] = type;
177
- $[14] = t5;
173
+ let t7;
174
+ if ($[12] !== setTimeUnitObject || $[13] !== timeUnitObject.label || $[14] !== type || $[15] !== value) {
175
+ t7 = /* @__PURE__ */ jsx(TimeUnitsDropdown, { selectedTimeUnit: timeUnitObject.label, onSelect: setTimeUnitObject, expiryTimeValue: value, classes: t6, type });
176
+ $[12] = setTimeUnitObject;
177
+ $[13] = timeUnitObject.label;
178
+ $[14] = type;
179
+ $[15] = value;
180
+ $[16] = t7;
178
181
  } else {
179
- t5 = $[14];
182
+ t7 = $[16];
180
183
  }
181
- let t6;
182
- if ($[15] !== t3 || $[16] !== t5) {
183
- t6 = /* @__PURE__ */ jsxs("div", { className: "flex justify-between items-center flex-1", children: [
184
- t3,
185
- t5
184
+ let t8;
185
+ if ($[17] !== t5 || $[18] !== t7) {
186
+ t8 = /* @__PURE__ */ jsxs("div", { className: "flex justify-between items-center flex-1", children: [
187
+ t5,
188
+ t7
186
189
  ] });
187
- $[15] = t3;
188
- $[16] = t5;
189
- $[17] = t6;
190
+ $[17] = t5;
191
+ $[18] = t7;
192
+ $[19] = t8;
190
193
  } else {
191
- t6 = $[17];
194
+ t8 = $[19];
192
195
  }
193
- return t6;
196
+ return t8;
194
197
  };
195
198
  const OrderExpiryInput = (props) => {
196
199
  const $ = distExports.c(3);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/widget/OrderExpiryInput/index.tsx"],"sourcesContent":["import { UnstyledInput } from \"@/components/ui/input\";\nimport { NumericFormat, type NumericFormatProps } from \"react-number-format\";\nimport { DropdownWithItems } from \"../Dropdown/DropdownWithItems\";\nimport type { DropdownItem, DropdownWithItemsProps } from \"../Dropdown/types\";\nimport { ChevronIcon } from \"../Icon/ChevronIcon\";\nimport { useAtom } from \"@/core/store\";\nimport {\n timeUnitAtom as limitTimeUnitAtom,\n type TimeUnit,\n type TimeUnitObject,\n} from \"@/core/limit/state/deadlineAtom\";\nimport { timeUnitAtom as otcTimeUnitAtom } from \"@/core/otc/state/deadlineAtom\";\nimport {\n minTimeUnit,\n neverTimeUnit,\n timeUnits,\n} from \"@/core/limit/state/constants\";\n\ntype TimeUnitsDropdownProps = {\n expiryTimeValue: number;\n selectedTimeUnit: TimeUnit;\n onSelect: (timeUnit: TimeUnitObject) => void;\n classes?: DropdownWithItemsProps[\"classes\"];\n type: OrderExpiryInputProps[\"type\"];\n};\n\nconst TimeUnitsDropdown: React.FC<TimeUnitsDropdownProps> = ({\n expiryTimeValue,\n selectedTimeUnit,\n onSelect,\n classes,\n type,\n}) => {\n const isLimit = type === \"limit\";\n const specificTimeUnits = isLimit\n ? timeUnits.filter((item) => item.label !== \"never\")\n : timeUnits; // OTC can have 0 deadline\n\n const items = specificTimeUnits.map<DropdownItem>((item) => ({\n label: item.label,\n onSelect: () => {\n onSelect(item);\n },\n className: \"capitalize\",\n selected: item.label === selectedTimeUnit,\n }));\n\n const label =\n expiryTimeValue > 1 || selectedTimeUnit === neverTimeUnit.label\n ? selectedTimeUnit\n : selectedTimeUnit.slice(0, -1); // \"days\" -> \"day\"\n\n const menuTrigger = (\n <div className=\"flex justify-between items-center gap-1.5 text-contrast-3 dark:text-contrast-7 text-sm cursor-pointer\">\n <span className=\"capitalize\">{label}</span>\n <ChevronIcon width={12} height={12} className=\"pt-[2px]\" />\n </div>\n );\n\n return (\n <DropdownWithItems\n items={items}\n menuTrigger={menuTrigger}\n classes={classes}\n align=\"end\"\n />\n );\n};\n\nconst TimeUnitInput = ({ type }: OrderExpiryInputProps) => {\n const isLimit = type === \"limit\";\n const [timeUnitObject, setTimeUnitObject] = useAtom(\n isLimit ? limitTimeUnitAtom : otcTimeUnitAtom\n );\n\n const onTimeUnitChange = (currentTimeUnitObject: TimeUnitObject) => {\n setTimeUnitObject((prev) => {\n if (prev.label === currentTimeUnitObject.label) {\n return prev;\n }\n\n return currentTimeUnitObject;\n });\n };\n\n const onValueChange: NumericFormatProps[\"onValueChange\"] = (values) => {\n const floatValue = values.floatValue;\n\n if (floatValue === neverTimeUnit.value && !isLimit) {\n setTimeUnitObject(neverTimeUnit);\n } else if (floatValue !== undefined) {\n setTimeUnitObject((prev) => {\n if (prev.value === floatValue) return prev;\n return { ...prev, value: floatValue };\n });\n } else {\n setTimeUnitObject(minTimeUnit);\n }\n };\n\n return (\n <div className=\"flex justify-between items-center flex-1\">\n {timeUnitObject.label !== neverTimeUnit.label && (\n <NumericFormat\n className=\"min-w-0 w-full text-lg font-geist-mono text-contrast-3 dark:text-contrast-8\"\n placeholder=\"0\"\n value={timeUnitObject.value}\n onValueChange={onValueChange}\n decimalScale={0}\n allowNegative={false}\n allowLeadingZeros={false}\n customInput={UnstyledInput}\n thousandSeparator\n />\n )}\n <TimeUnitsDropdown\n selectedTimeUnit={timeUnitObject.label}\n onSelect={onTimeUnitChange}\n expiryTimeValue={timeUnitObject.value}\n classes={{\n trigger: \"w-full min-h-[28px]\",\n }}\n type={type}\n />\n </div>\n );\n};\n\ntype OrderExpiryInputProps = {\n type: \"limit\" | \"otc\";\n};\n\nexport const OrderExpiryInput = (props: OrderExpiryInputProps) => {\n return (\n <div className=\"flex flex-col gap-[8px] p-4 border-1 rounded-[12px] border-transparent transition-all focus-within:border-primary-azul-1 bg-contrast-8 dark:bg-contrast-2\">\n <div className=\"flex items-center justify-between text-xs text-contrast-3 dark:text-contrast-7\">\n <span>Order Expiry</span>\n </div>\n <div className=\"flex items-center justify-between gap-1.5\">\n <TimeUnitInput {...props} />\n </div>\n </div>\n );\n};\n"],"names":["TimeUnitsDropdown","t0","$","_c","expiryTimeValue","selectedTimeUnit","onSelect","classes","type","isLimit","t1","specificTimeUnits","timeUnits","filter","_temp","t2","item_0","label","item","className","selected","map","items","neverTimeUnit","slice","t3","t4","Symbol","for","t5","menuTrigger","t6","TimeUnitInput","timeUnitObject","setTimeUnitObject","useAtom","limitTimeUnitAtom","otcTimeUnitAtom","currentTimeUnitObject","prev","onTimeUnitChange","values","floatValue","value","undefined","prev_0","minTimeUnit","onValueChange","UnstyledInput","trigger","OrderExpiryInput","props"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/widget/OrderExpiryInput/index.tsx"],"sourcesContent":["import { UnstyledInput } from \"@/components/ui/input\";\nimport { NumericFormat, type NumericFormatProps } from \"react-number-format\";\nimport { DropdownWithItems } from \"../Dropdown/DropdownWithItems\";\nimport type { DropdownItem, DropdownWithItemsProps } from \"../Dropdown/types\";\nimport { ChevronIcon } from \"../Icon/ChevronIcon\";\nimport { useAtom } from \"@/core/store\";\nimport {\n timeUnitAtom as limitTimeUnitAtom,\n type TimeUnit,\n type TimeUnitObject,\n} from \"@/core/limit/state/deadlineAtom\";\nimport { timeUnitAtom as otcTimeUnitAtom } from \"@/core/otc/state/deadlineAtom\";\nimport {\n minTimeUnit,\n neverTimeUnit,\n timeUnits,\n} from \"@/core/limit/state/constants\";\nimport { useEffect, useState } from \"react\";\n\ntype TimeUnitsDropdownProps = {\n expiryTimeValue: number;\n selectedTimeUnit: TimeUnit;\n onSelect: (timeUnit: TimeUnitObject) => void;\n classes?: DropdownWithItemsProps[\"classes\"];\n type: OrderExpiryInputProps[\"type\"];\n};\n\nconst TimeUnitsDropdown: React.FC<TimeUnitsDropdownProps> = ({\n expiryTimeValue,\n selectedTimeUnit,\n onSelect,\n classes,\n type,\n}) => {\n const isLimit = type === \"limit\";\n const specificTimeUnits = isLimit\n ? timeUnits.filter((item) => item.label !== \"never\")\n : timeUnits; // OTC can have 0 deadline\n\n const items = specificTimeUnits.map<DropdownItem>((item) => ({\n label: item.label,\n onSelect: () => {\n onSelect(item);\n },\n className: \"capitalize\",\n selected: item.label === selectedTimeUnit,\n }));\n\n const label =\n expiryTimeValue > 1 || selectedTimeUnit === neverTimeUnit.label\n ? selectedTimeUnit\n : selectedTimeUnit.slice(0, -1); // \"days\" -> \"day\"\n\n const menuTrigger = (\n <div className=\"flex justify-between items-center gap-1.5 text-contrast-3 dark:text-contrast-7 text-sm cursor-pointer\">\n <span className=\"capitalize\">{label}</span>\n <ChevronIcon width={12} height={12} className=\"pt-[2px]\" />\n </div>\n );\n\n return (\n <DropdownWithItems\n items={items}\n menuTrigger={menuTrigger}\n classes={classes}\n align=\"end\"\n />\n );\n};\n\nconst TimeUnitInput = ({ type }: OrderExpiryInputProps) => {\n const isLimit = type === \"limit\";\n const [timeUnitObject, setTimeUnitObject] = useAtom(\n isLimit ? limitTimeUnitAtom : otcTimeUnitAtom\n );\n\n const onValueChange: NumericFormatProps[\"onValueChange\"] = (\n { floatValue },\n sourceInfo\n ) => {\n // source=\"event\" when changed by user input\n // source=\"prop\" when changed by prop update\n // do not respond to external value changes (e.g. when setting orderDeadline from inputProps)\n if (sourceInfo.source === \"prop\") return;\n\n setValue(floatValue ?? 0);\n\n if (floatValue === neverTimeUnit.value && !isLimit) {\n setTimeUnitObject(neverTimeUnit);\n } else if (floatValue !== undefined) {\n setTimeUnitObject((prev) => ({\n label: prev.label,\n value: floatValue,\n }));\n } else {\n setTimeUnitObject(minTimeUnit);\n }\n };\n\n // Use localValue to reflect user input immediately, even if it's temporarily invalid (e.g., empty or below minimum).\n // The atom enforces validation (e.g., minimum expiry for limit), but the input field doesn't update if the atom's value doesn't change.\n // This allows the user to see what they type, even if the atom silently corrects the value (e.g., always setting 10min for limit orders).\n // And at the same time, onBlur resets the input field to the atom's value to ensure consistency.\n const [value, setValue] = useState(timeUnitObject.value);\n // Sync local value when atom value changes (e.g., from inputProps)\n useEffect(() => {\n setValue(timeUnitObject.value);\n }, [timeUnitObject.value]);\n\n return (\n <div className=\"flex justify-between items-center flex-1\">\n {timeUnitObject.label !== neverTimeUnit.label && (\n <NumericFormat\n className=\"min-w-0 w-full text-lg font-geist-mono text-contrast-3 dark:text-contrast-8\"\n placeholder=\"0\"\n value={value}\n onValueChange={onValueChange}\n decimalScale={0}\n allowNegative={false}\n allowLeadingZeros={false}\n customInput={UnstyledInput}\n thousandSeparator\n onBlur={() => {\n setValue(timeUnitObject.value);\n }}\n />\n )}\n <TimeUnitsDropdown\n selectedTimeUnit={timeUnitObject.label}\n onSelect={setTimeUnitObject}\n expiryTimeValue={value}\n classes={{\n trigger: \"w-full min-h-[28px]\",\n }}\n type={type}\n />\n </div>\n );\n};\n\ntype OrderExpiryInputProps = {\n type: \"limit\" | \"otc\";\n};\n\nexport const OrderExpiryInput = (props: OrderExpiryInputProps) => {\n return (\n <div className=\"flex flex-col gap-[8px] p-4 border-1 rounded-[12px] border-transparent transition-all focus-within:border-primary-azul-1 bg-contrast-8 dark:bg-contrast-2\">\n <div className=\"flex items-center justify-between text-xs text-contrast-3 dark:text-contrast-7\">\n <span>Order Expiry</span>\n </div>\n <div className=\"flex items-center justify-between gap-1.5\">\n <TimeUnitInput {...props} />\n </div>\n </div>\n );\n};\n"],"names":["TimeUnitsDropdown","t0","$","_c","expiryTimeValue","selectedTimeUnit","onSelect","classes","type","isLimit","t1","specificTimeUnits","timeUnits","filter","_temp","t2","item_0","label","item","className","selected","map","items","neverTimeUnit","slice","t3","t4","Symbol","for","t5","menuTrigger","t6","TimeUnitInput","timeUnitObject","setTimeUnitObject","useAtom","limitTimeUnitAtom","otcTimeUnitAtom","onValueChange","sourceInfo","floatValue","source","setValue","value","undefined","prev","minTimeUnit","useState","useEffect","UnstyledInput","trigger","t7","t8","OrderExpiryInput","props"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/ReceiverAddress/state/subscriptions.ts"],"names":[],"mappings":"AAgBA,wBAAgB,yBAAyB,iDA6CxC"}
1
+ {"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/ReceiverAddress/state/subscriptions.ts"],"names":[],"mappings":"AAiBA,wBAAgB,yBAAyB,iDA+CxC"}
@@ -8,6 +8,7 @@ import { jotaiStore } from '../../../../core/store.js';
8
8
  import { accountAtom } from '../../../../lib/web3/wagmi/external.js';
9
9
  import { resetOrdersCountAtom } from '../../AppHeader/state/showMoreAtom.js';
10
10
  import { enabledSrcChainsAtom } from '../../../../core/state/enabledChainsAtom.js';
11
+ import { limitReceiverAddressAtom } from '../../../../core/limit/state/receiverAddressAtom.js';
11
12
 
12
13
  function subscribeToAccountChanges() {
13
14
  return watchAccount(wagmiConfig, {
@@ -18,6 +19,7 @@ function subscribeToAccountChanges() {
18
19
  const enabledSrcChains = jotaiStore.get(enabledSrcChainsAtom);
19
20
  if (!address || chainId === void 0 || !isSupportedChainId(chainId) || !enabledSrcChains.includes(chainId)) {
20
21
  jotaiStore.set(receiverAddressAtom, void 0);
22
+ jotaiStore.set(limitReceiverAddressAtom, void 0);
21
23
  return;
22
24
  }
23
25
  jotaiStore.set(accountAtom, address);
@@ -41,6 +43,7 @@ function subscribeToAccountChanges() {
41
43
  })
42
44
  });
43
45
  jotaiStore.set(receiverAddressAtom, isEOA ? address : void 0);
46
+ jotaiStore.set(limitReceiverAddressAtom, isEOA ? address : void 0);
44
47
  }
45
48
  });
46
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"subscriptions.js","sources":["../../../../../src/components/widget/ReceiverAddress/state/subscriptions.ts"],"sourcesContent":["import { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { watchAccount } from \"@wagmi/core\";\nimport { receiverAddressAtom } from \"./receiverAddressAtom\";\n\nimport { queryClient } from \"@/lib/queryClient\";\n\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\nimport {\n constructIsContractAtAddressQueryKey,\n getIsContractAtAddress,\n} from \"@/hooks/getCode/query\";\nimport { jotaiStore } from \"@/core/store\";\nimport { accountAtom } from \"@/lib/web3/wagmi/external\";\nimport { resetOrdersCountAtom } from \"../../AppHeader/state/showMoreAtom\";\nimport { enabledSrcChainsAtom } from \"@/core/state/enabledChainsAtom\";\n\nexport function subscribeToAccountChanges() {\n // subscribes to wallet account changes\n // config.subscribe(() => getAccount(config), onChange)\n return watchAccount(wagmiConfig, {\n onChange: async ({ address, chainId }) => {\n const enabledSrcChains = jotaiStore.get(enabledSrcChainsAtom);\n\n // reset the receiver address if the address is not valid or chainId is not supported\n if (\n !address ||\n chainId === undefined ||\n !isSupportedChainId(chainId) ||\n !enabledSrcChains.includes(chainId)\n ) {\n jotaiStore.set(receiverAddressAtom, undefined);\n return;\n }\n\n // internal account atom to trigger atomEffects\n jotaiStore.set(accountAtom, address);\n // reset activities pagination\n jotaiStore.set(resetOrdersCountAtom);\n\n if (chainId !== wagmiConfig.state.chainId)\n // wallet chainId takes precedence\n wagmiConfig.setState((prev) => ({ ...prev, chainId }));\n\n const queryKey = constructIsContractAtAddressQueryKey({\n chainId,\n address,\n });\n\n const { isEOA } = await queryClient.ensureQueryData({\n queryKey,\n queryFn: () =>\n getIsContractAtAddress({\n address,\n chainId,\n }),\n });\n\n // save if address is EOA, otherwise reset\n jotaiStore.set(receiverAddressAtom, isEOA ? address : undefined);\n },\n });\n}\n"],"names":["subscribeToAccountChanges","watchAccount","wagmiConfig","onChange","address","chainId","enabledSrcChains","jotaiStore","get","enabledSrcChainsAtom","undefined","isSupportedChainId","includes","set","receiverAddressAtom","accountAtom","resetOrdersCountAtom","state","setState","prev","queryKey","constructIsContractAtAddressQueryKey","isEOA","queryClient","ensureQueryData","queryFn","getIsContractAtAddress"],"mappings":";;;;;;;;;;;AAgBO,SAASA,yBAAAA,GAA4B;AAG1C,EAAA,OAAOC,aAAaC,WAAAA,EAAa;AAAA,IAC/BC,UAAU,OAAO;AAAA,MAAEC,OAAAA;AAAAA,MAASC;AAAAA,KAAQ,KAAM;AACxC,MAAA,MAAMC,gBAAAA,GAAmBC,UAAAA,CAAWC,GAAAA,CAAIC,oBAAoB,CAAA;AAG5D,MAAA,IACE,CAACL,OAAAA,IACDC,OAAAA,KAAYK,MAAAA,IACZ,CAACC,kBAAAA,CAAmBN,OAAO,CAAA,IAC3B,CAACC,gBAAAA,CAAiBM,QAAAA,CAASP,OAAO,CAAA,EAClC;AACAE,QAAAA,UAAAA,CAAWM,GAAAA,CAAIC,qBAAqBJ,MAAS,CAAA;AAC7C,QAAA;AAAA,MACF;AAGAH,MAAAA,UAAAA,CAAWM,GAAAA,CAAIE,aAAaX,OAAO,CAAA;AAEnCG,MAAAA,UAAAA,CAAWM,IAAIG,oBAAoB,CAAA;AAEnC,MAAA,IAAIX,OAAAA,KAAYH,YAAYe,KAAAA,CAAMZ,OAAAA;AAEhCH,QAAAA,WAAAA,CAAYgB,SAAUC,CAAAA,IAAAA,MAAU;AAAA,UAAE,GAAGA,IAAAA;AAAAA,UAAMd;AAAAA,SAAQ,CAAE,CAAA;AAEvD,MAAA,MAAMe,WAAWC,oCAAAA,CAAqC;AAAA,QACpDhB,OAAAA;AAAAA,QACAD;AAAAA,OACD,CAAA;AAED,MAAA,MAAM;AAAA,QAAEkB;AAAAA,OAAM,GAAI,MAAMC,WAAAA,CAAYC,eAAAA,CAAgB;AAAA,QAClDJ,QAAAA;AAAAA,QACAK,OAAAA,EAASA,MACPC,sBAAAA,CAAuB;AAAA,UACrBtB,OAAAA;AAAAA,UACAC;AAAAA,SACD;AAAA,OACJ,CAAA;AAGDE,MAAAA,UAAAA,CAAWM,GAAAA,CAAIC,mBAAAA,EAAqBQ,KAAAA,GAAQlB,OAAAA,GAAUM,MAAS,CAAA;AAAA,IACjE;AAAA,GACD,CAAA;AACH;;;;"}
1
+ {"version":3,"file":"subscriptions.js","sources":["../../../../../src/components/widget/ReceiverAddress/state/subscriptions.ts"],"sourcesContent":["import { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { watchAccount } from \"@wagmi/core\";\nimport { receiverAddressAtom } from \"./receiverAddressAtom\";\n\nimport { queryClient } from \"@/lib/queryClient\";\n\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\nimport {\n constructIsContractAtAddressQueryKey,\n getIsContractAtAddress,\n} from \"@/hooks/getCode/query\";\nimport { jotaiStore } from \"@/core/store\";\nimport { accountAtom } from \"@/lib/web3/wagmi/external\";\nimport { resetOrdersCountAtom } from \"../../AppHeader/state/showMoreAtom\";\nimport { enabledSrcChainsAtom } from \"@/core/state/enabledChainsAtom\";\nimport { limitReceiverAddressAtom } from \"@/core/limit/state/receiverAddressAtom\";\n\nexport function subscribeToAccountChanges() {\n // subscribes to wallet account changes\n // config.subscribe(() => getAccount(config), onChange)\n return watchAccount(wagmiConfig, {\n onChange: async ({ address, chainId }) => {\n const enabledSrcChains = jotaiStore.get(enabledSrcChainsAtom);\n\n // reset the receiver address if the address is not valid or chainId is not supported\n if (\n !address ||\n chainId === undefined ||\n !isSupportedChainId(chainId) ||\n !enabledSrcChains.includes(chainId)\n ) {\n jotaiStore.set(receiverAddressAtom, undefined);\n jotaiStore.set(limitReceiverAddressAtom, undefined);\n return;\n }\n\n // internal account atom to trigger atomEffects\n jotaiStore.set(accountAtom, address);\n // reset activities pagination\n jotaiStore.set(resetOrdersCountAtom);\n\n if (chainId !== wagmiConfig.state.chainId)\n // wallet chainId takes precedence\n wagmiConfig.setState((prev) => ({ ...prev, chainId }));\n\n const queryKey = constructIsContractAtAddressQueryKey({\n chainId,\n address,\n });\n\n const { isEOA } = await queryClient.ensureQueryData({\n queryKey,\n queryFn: () =>\n getIsContractAtAddress({\n address,\n chainId,\n }),\n });\n\n // save if address is EOA, otherwise reset\n jotaiStore.set(receiverAddressAtom, isEOA ? address : undefined);\n jotaiStore.set(limitReceiverAddressAtom, isEOA ? address : undefined);\n },\n });\n}\n"],"names":["subscribeToAccountChanges","watchAccount","wagmiConfig","onChange","address","chainId","enabledSrcChains","jotaiStore","get","enabledSrcChainsAtom","undefined","isSupportedChainId","includes","set","receiverAddressAtom","limitReceiverAddressAtom","accountAtom","resetOrdersCountAtom","state","setState","prev","queryKey","constructIsContractAtAddressQueryKey","isEOA","queryClient","ensureQueryData","queryFn","getIsContractAtAddress"],"mappings":";;;;;;;;;;;;AAiBO,SAASA,yBAAAA,GAA4B;AAG1C,EAAA,OAAOC,aAAaC,WAAAA,EAAa;AAAA,IAC/BC,UAAU,OAAO;AAAA,MAAEC,OAAAA;AAAAA,MAASC;AAAAA,KAAQ,KAAM;AACxC,MAAA,MAAMC,gBAAAA,GAAmBC,UAAAA,CAAWC,GAAAA,CAAIC,oBAAoB,CAAA;AAG5D,MAAA,IACE,CAACL,OAAAA,IACDC,OAAAA,KAAYK,MAAAA,IACZ,CAACC,kBAAAA,CAAmBN,OAAO,CAAA,IAC3B,CAACC,gBAAAA,CAAiBM,QAAAA,CAASP,OAAO,CAAA,EAClC;AACAE,QAAAA,UAAAA,CAAWM,GAAAA,CAAIC,qBAAqBJ,MAAS,CAAA;AAC7CH,QAAAA,UAAAA,CAAWM,GAAAA,CAAIE,0BAA0BL,MAAS,CAAA;AAClD,QAAA;AAAA,MACF;AAGAH,MAAAA,UAAAA,CAAWM,GAAAA,CAAIG,aAAaZ,OAAO,CAAA;AAEnCG,MAAAA,UAAAA,CAAWM,IAAII,oBAAoB,CAAA;AAEnC,MAAA,IAAIZ,OAAAA,KAAYH,YAAYgB,KAAAA,CAAMb,OAAAA;AAEhCH,QAAAA,WAAAA,CAAYiB,SAAUC,CAAAA,IAAAA,MAAU;AAAA,UAAE,GAAGA,IAAAA;AAAAA,UAAMf;AAAAA,SAAQ,CAAE,CAAA;AAEvD,MAAA,MAAMgB,WAAWC,oCAAAA,CAAqC;AAAA,QACpDjB,OAAAA;AAAAA,QACAD;AAAAA,OACD,CAAA;AAED,MAAA,MAAM;AAAA,QAAEmB;AAAAA,OAAM,GAAI,MAAMC,WAAAA,CAAYC,eAAAA,CAAgB;AAAA,QAClDJ,QAAAA;AAAAA,QACAK,OAAAA,EAASA,MACPC,sBAAAA,CAAuB;AAAA,UACrBvB,OAAAA;AAAAA,UACAC;AAAAA,SACD;AAAA,OACJ,CAAA;AAGDE,MAAAA,UAAAA,CAAWM,GAAAA,CAAIC,mBAAAA,EAAqBS,KAAAA,GAAQnB,OAAAA,GAAUM,MAAS,CAAA;AAC/DH,MAAAA,UAAAA,CAAWM,GAAAA,CAAIE,wBAAAA,EAA0BQ,KAAAA,GAAQnB,OAAAA,GAAUM,MAAS,CAAA;AAAA,IACtE;AAAA,GACD,CAAA;AACH;;;;"}
@@ -1,6 +1,7 @@
1
1
  import { WithClasses } from '../../../types/withClasses';
2
2
  import { UseReceiverAddressReturn } from './state/types';
3
+ import { TradeMode } from '../../../core/state/tradeModeAtom';
3
4
  export type ReceiverAddressProps = UseReceiverAddressReturn & {
4
- type: "otc" | "swap";
5
+ type: TradeMode;
5
6
  } & WithClasses<"root">;
6
7
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/ReceiverAddress/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAE9D,MAAM,MAAM,oBAAoB,GAAG,wBAAwB,GAAG;IAC5D,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;CACtB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/ReceiverAddress/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D,MAAM,MAAM,oBAAoB,GAAG,wBAAwB,GAAG;IAC5D,IAAI,EAAE,SAAS,CAAC;CACjB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"GenericScreen.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/Screen/GenericScreen.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE/C,KAAK,kBAAkB,GAAG,iBAAiB,CACzC;IACE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,sBAAsB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,GAAG,WAAW,CAAC,MAAM,CAAC,CACxB,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,2GAS3B,kBAAkB,4CAyCpB,CAAC"}
1
+ {"version":3,"file":"GenericScreen.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/Screen/GenericScreen.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE/C,KAAK,kBAAkB,GAAG,iBAAiB,CACzC;IACE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,sBAAsB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,GAAG,WAAW,CAAC,MAAM,CAAC,CACxB,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,2GAS3B,kBAAkB,4CA8CpB,CAAC"}
@@ -16,6 +16,7 @@ const GenericScreen = (t0) => {
16
16
  title
17
17
  } = t0;
18
18
  const _showBackButton = showBackButton && onGoBack;
19
+ const _showCloseButton = showCloseButton && onClose;
19
20
  const shouldShowHeader = !!(_showBackButton || title || showCloseButton || closeButtonReplacement);
20
21
  const t1 = classes?.root;
21
22
  let t2;
@@ -27,20 +28,20 @@ const GenericScreen = (t0) => {
27
28
  t2 = $[1];
28
29
  }
29
30
  let t3;
30
- if ($[2] !== _showBackButton || $[3] !== closeButtonReplacement || $[4] !== onClose || $[5] !== onGoBack || $[6] !== shouldShowHeader || $[7] !== showCloseButton || $[8] !== title) {
31
+ if ($[2] !== _showBackButton || $[3] !== _showCloseButton || $[4] !== closeButtonReplacement || $[5] !== onClose || $[6] !== onGoBack || $[7] !== shouldShowHeader || $[8] !== title) {
31
32
  t3 = shouldShowHeader && /* @__PURE__ */ jsxs("div", { className: "pb-4 pt-6 px-6 flex items-center justify-between", children: [
32
33
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-5 font-medium text-lg text-contrast-4 dark:text-contrast-7", children: [
33
- _showBackButton && /* @__PURE__ */ jsx(ArrowLeft, { className: "ring-offset-background cursor-pointer focus:ring-ring 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 }),
34
+ _showBackButton && /* @__PURE__ */ jsx("button", { children: /* @__PURE__ */ jsx(ArrowLeft, { className: "ring-offset-background cursor-pointer focus:ring-ring 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 }) }),
34
35
  title
35
36
  ] }),
36
- closeButtonReplacement ?? (showCloseButton && /* @__PURE__ */ jsx("div", { className: "ring-offset-background cursor-pointer focus:ring-ring 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: onClose, children: /* @__PURE__ */ jsx(XIcon, {}) }))
37
+ closeButtonReplacement ?? (_showCloseButton && /* @__PURE__ */ jsx("button", { children: /* @__PURE__ */ jsx("div", { className: "ring-offset-background cursor-pointer focus:ring-ring 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: onClose, children: /* @__PURE__ */ jsx(XIcon, {}) }) }))
37
38
  ] });
38
39
  $[2] = _showBackButton;
39
- $[3] = closeButtonReplacement;
40
- $[4] = onClose;
41
- $[5] = onGoBack;
42
- $[6] = shouldShowHeader;
43
- $[7] = showCloseButton;
40
+ $[3] = _showCloseButton;
41
+ $[4] = closeButtonReplacement;
42
+ $[5] = onClose;
43
+ $[6] = onGoBack;
44
+ $[7] = shouldShowHeader;
44
45
  $[8] = title;
45
46
  $[9] = t3;
46
47
  } else {
@@ -1 +1 @@
1
- {"version":3,"file":"GenericScreen.js","sources":["../../../../src/components/widget/Screen/GenericScreen.tsx"],"sourcesContent":["// import { DrawerHeader, DrawerTitle } from \"@/components/ui/drawer\";\nimport { cn } from \"@/lib/utils\";\nimport type { WithClasses } from \"@/types/withClasses\";\nimport { ArrowLeft, XIcon } from \"lucide-react\";\nimport type { PropsWithChildren } from \"react\";\n\ntype GenericScreenProps = PropsWithChildren<\n {\n title?: string;\n showBackButton?: boolean;\n showCloseButton?: boolean;\n closeButtonReplacement?: React.ReactNode;\n onGoBack?: () => void;\n onClose?: () => void;\n } & WithClasses<\"root\">\n>;\n\nexport const GenericScreen = ({\n children,\n classes,\n showBackButton,\n showCloseButton,\n closeButtonReplacement,\n onGoBack,\n onClose,\n title,\n}: GenericScreenProps) => {\n const _showBackButton = showBackButton && onGoBack;\n const shouldShowHeader = !!(\n _showBackButton ||\n title ||\n showCloseButton ||\n closeButtonReplacement\n );\n\n return (\n <div\n className={cn(\n \"bg-contrast-8 dark:bg-contrast-2 border border-contrast-7 dark:border-contrast-4 rounded-xxl min-w-[375px] w-full\",\n classes?.root\n )}\n >\n {shouldShowHeader && (\n <div className=\"pb-4 pt-6 px-6 flex items-center justify-between\">\n <div className=\"flex items-center gap-5 font-medium text-lg text-contrast-4 dark:text-contrast-7\">\n {_showBackButton && (\n <ArrowLeft\n className=\"ring-offset-background cursor-pointer focus:ring-ring 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}\n />\n )}\n {title}\n </div>\n {closeButtonReplacement ??\n (showCloseButton && (\n <div\n className=\"ring-offset-background cursor-pointer focus:ring-ring 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={onClose}\n >\n <XIcon />\n </div>\n ))}\n </div>\n )}\n {children}\n </div>\n );\n};\n"],"names":["GenericScreen","t0","$","_c","children","classes","showBackButton","showCloseButton","closeButtonReplacement","onGoBack","onClose","title","_showBackButton","shouldShowHeader","t1","root","t2","cn","t3","t4"],"mappings":"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"}
1
+ {"version":3,"file":"GenericScreen.js","sources":["../../../../src/components/widget/Screen/GenericScreen.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils\";\nimport type { WithClasses } from \"@/types/withClasses\";\nimport { ArrowLeft, XIcon } from \"lucide-react\";\nimport type { PropsWithChildren } from \"react\";\n\ntype GenericScreenProps = PropsWithChildren<\n {\n title?: string;\n showBackButton?: boolean;\n showCloseButton?: boolean;\n closeButtonReplacement?: React.ReactNode;\n onGoBack?: () => void;\n onClose?: () => void;\n } & WithClasses<\"root\">\n>;\n\nexport const GenericScreen = ({\n children,\n classes,\n showBackButton,\n showCloseButton,\n closeButtonReplacement,\n onGoBack,\n onClose,\n title,\n}: GenericScreenProps) => {\n const _showBackButton = showBackButton && onGoBack;\n const _showCloseButton = showCloseButton && onClose;\n const shouldShowHeader = !!(\n _showBackButton ||\n title ||\n showCloseButton ||\n closeButtonReplacement\n );\n\n return (\n <div\n className={cn(\n \"bg-contrast-8 dark:bg-contrast-2 border border-contrast-7 dark:border-contrast-4 rounded-xxl min-w-[375px] w-full\",\n classes?.root\n )}\n >\n {shouldShowHeader && (\n <div className=\"pb-4 pt-6 px-6 flex items-center justify-between\">\n <div className=\"flex items-center gap-5 font-medium text-lg text-contrast-4 dark:text-contrast-7\">\n {_showBackButton && (\n <button>\n <ArrowLeft\n className=\"ring-offset-background cursor-pointer focus:ring-ring 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}\n />\n </button>\n )}\n {title}\n </div>\n {closeButtonReplacement ??\n (_showCloseButton && (\n <button>\n <div\n className=\"ring-offset-background cursor-pointer focus:ring-ring 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={onClose}\n >\n <XIcon />\n </div>\n </button>\n ))}\n </div>\n )}\n {children}\n </div>\n );\n};\n"],"names":["GenericScreen","t0","$","_c","children","classes","showBackButton","showCloseButton","closeButtonReplacement","onGoBack","onClose","title","_showBackButton","_showCloseButton","shouldShowHeader","t1","root","t2","cn","t3","t4"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScreenContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/Screen/ScreenContainer.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,mBAAmB,GAAI,eAEjC;IACD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,4CAUA,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,eAEtC;IACD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,4CAgBA,CAAC"}
1
+ {"version":3,"file":"ScreenContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/Screen/ScreenContainer.tsx"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,GAAI,eAEjC;IACD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,4CAUA,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,eAEtC;IACD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,4CAEA,CAAC"}
@@ -1,8 +1,5 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { d as distExports } from '../../../_virtual/index.js';
3
- import { screenTypesClosableByOutsideClick } from '../../../core/screen/screenByType.js';
4
- import { useScreen } from '../../../core/screen/state/screenAtom.js';
5
- import { useClickOutside } from '../../../hooks/useClickOutside.js';
6
3
 
7
4
  const MainScreenContainer = (t0) => {
8
5
  const $ = distExports.c(2);
@@ -20,40 +17,19 @@ const MainScreenContainer = (t0) => {
20
17
  return t1;
21
18
  };
22
19
  const SecondaryScreenContainer = (t0) => {
23
- const $ = distExports.c(6);
20
+ const $ = distExports.c(2);
24
21
  const {
25
22
  children
26
23
  } = t0;
27
- const {
28
- screen,
29
- closeScreen
30
- } = useScreen();
31
24
  let t1;
32
- if ($[0] !== closeScreen || $[1] !== screen?.screenType) {
33
- t1 = () => {
34
- const screenType = screen?.screenType;
35
- if (screenType && screenTypesClosableByOutsideClick.includes(screenType)) {
36
- closeScreen();
37
- }
38
- };
39
- $[0] = closeScreen;
40
- $[1] = screen?.screenType;
41
- $[2] = t1;
42
- } else {
43
- t1 = $[2];
44
- }
45
- const onClickOutside = t1;
46
- const ref = useClickOutside(onClickOutside);
47
- let t2;
48
- if ($[3] !== children || $[4] !== ref) {
49
- t2 = /* @__PURE__ */ jsx("div", { ref, className: "relative z-2", children });
50
- $[3] = children;
51
- $[4] = ref;
52
- $[5] = t2;
25
+ if ($[0] !== children) {
26
+ t1 = /* @__PURE__ */ jsx("div", { className: "relative z-2", children });
27
+ $[0] = children;
28
+ $[1] = t1;
53
29
  } else {
54
- t2 = $[5];
30
+ t1 = $[1];
55
31
  }
56
- return t2;
32
+ return t1;
57
33
  };
58
34
 
59
35
  export { MainScreenContainer, SecondaryScreenContainer };
@@ -1 +1 @@
1
- {"version":3,"file":"ScreenContainer.js","sources":["../../../../src/components/widget/Screen/ScreenContainer.tsx"],"sourcesContent":["import { screenTypesClosableByOutsideClick } from \"@/core/screen/screenByType\";\nimport { useScreen } from \"@/core/screen/state/screenAtom\";\nimport { useClickOutside } from \"@/hooks/useClickOutside\";\n\nexport const MainScreenContainer = ({\n children,\n}: {\n children?: React.ReactNode;\n}) => {\n return (\n <div\n className={\n \"relative flex flex-col pt-[24px] px-[24px] pb-[18px] bg-contrast-9 dark:bg-contrast-3 border border-contrast-7 dark:border-contrast-4 rounded-xxl\"\n }\n >\n {children}\n </div>\n );\n};\n\nexport const SecondaryScreenContainer = ({\n children,\n}: {\n children?: React.ReactNode;\n}) => {\n const { screen, closeScreen } = useScreen();\n\n const onClickOutside = () => {\n const screenType = screen?.screenType;\n if (screenType && screenTypesClosableByOutsideClick.includes(screenType))\n closeScreen();\n };\n\n const ref = useClickOutside<HTMLDivElement>(onClickOutside);\n\n return (\n <div ref={ref} className=\"relative z-2\">\n {children}\n </div>\n );\n};\n"],"names":["MainScreenContainer","t0","$","_c","children","t1","SecondaryScreenContainer","screen","closeScreen","useScreen","screenType","screenTypesClosableByOutsideClick","includes","onClickOutside","ref","useClickOutside","t2"],"mappings":";;;;;;AAIO,MAAMA,sBAAsBC,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAC;AAAAA,GAAA,GAAAH,EAAAA;AAInC,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAAH,CAAAA,QAAAE,QAAAA,EAAA;AAEGC,IAAAA,EAAAA,mBAAA,GAAA,CAAA,KAAA,EAAA,EAEI,SAAA,EAAA,mJAAA,EAGDD,QAAAA,EACH,CAAA;AAAMF,IAAAA,CAAAA,MAAAE,QAAAA;AAAAF,IAAAA,CAAAA,MAAAG,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAH,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OANNG,EAAAA;AAMM;AAIH,MAAMC,2BAA2BL,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAC;AAAAA,GAAA,GAAAH,EAAAA;AAKvC,EAAA,MAAA;AAAA,IAAAM,MAAAA;AAAAA,IAAAC;AAAAA,MAAgCC,SAAAA,EAAU;AAAE,EAAA,IAAAJ,EAAAA;AAAA,EAAA,IAAAH,CAAAA,QAAAM,WAAAA,IAAAN,EAAA,CAAA,CAAA,KAAAK,QAAAG,UAAAA,EAAA;AAErBL,IAAAA,EAAAA,GAAAA,MAAA;AACrB,MAAA,MAAAK,aAAmBH,MAAAA,EAAMG,UAAAA;AACzB,MAAA,IAAIA,UAAAA,IAAcC,iCAAAA,CAAiCC,QAAAA,CAAUF,UAAU,CAAA,EAAC;AACtEF,QAAAA,WAAAA,EAAY;AAAA,MAAC;AAAA,IAAC,CAAA;AACjBN,IAAAA,CAAAA,MAAAM,WAAAA;AAAAN,IAAAA,CAAAA,CAAA,CAAA,IAAAK,MAAAA,EAAAG,UAAAA;AAAAR,IAAAA,CAAAA,MAAAG,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAH,EAAA,CAAA,CAAA;AAAA,EAAA;AAJD,EAAA,MAAAW,cAAAA,GAAuBR,EAAAA;AAMvB,EAAA,MAAAS,GAAAA,GAAYC,gBAAgCF,cAAc,CAAA;AAAE,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAAd,EAAA,CAAA,CAAA,KAAAE,YAAAF,CAAAA,QAAAY,GAAAA,EAAA;AAG1DE,IAAAA,EAAAA,mBAAA,GAAA,CAAA,KAAA,EAAA,EAAUF,GAAAA,EAAe,SAAA,EAAA,gBACtBV,QAAAA,EACH,CAAA;AAAMF,IAAAA,CAAAA,MAAAE,QAAAA;AAAAF,IAAAA,CAAAA,MAAAY,GAAAA;AAAAZ,IAAAA,CAAAA,MAAAc,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAd,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAFNc,EAAAA;AAEM;;;;"}
1
+ {"version":3,"file":"ScreenContainer.js","sources":["../../../../src/components/widget/Screen/ScreenContainer.tsx"],"sourcesContent":["export const MainScreenContainer = ({\n children,\n}: {\n children?: React.ReactNode;\n}) => {\n return (\n <div\n className={\n \"relative flex flex-col pt-[24px] px-[24px] pb-[18px] bg-contrast-9 dark:bg-contrast-3 border border-contrast-7 dark:border-contrast-4 rounded-xxl\"\n }\n >\n {children}\n </div>\n );\n};\n\nexport const SecondaryScreenContainer = ({\n children,\n}: {\n children?: React.ReactNode;\n}) => {\n return <div className=\"relative z-2\">{children}</div>;\n};\n"],"names":["MainScreenContainer","t0","$","_c","children","t1","SecondaryScreenContainer"],"mappings":";;;AAAO,MAAMA,sBAAsBC,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAC;AAAAA,GAAA,GAAAH,EAAAA;AAInC,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAAH,CAAAA,QAAAE,QAAAA,EAAA;AAEGC,IAAAA,EAAAA,mBAAA,GAAA,CAAA,KAAA,EAAA,EAEI,SAAA,EAAA,mJAAA,EAGDD,QAAAA,EACH,CAAA;AAAMF,IAAAA,CAAAA,MAAAE,QAAAA;AAAAF,IAAAA,CAAAA,MAAAG,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAH,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OANNG,EAAAA;AAMM;AAIH,MAAMC,2BAA2BL,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAC;AAAAA,GAAA,GAAAH,EAAAA;AAIxC,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAAH,CAAAA,QAAAE,QAAAA,EAAA;AACQC,IAAAA,EAAAA,mBAAA,GAAA,CAAA,KAAA,EAAA,EAAe,SAAA,EAAA,cAAA,EAAgBD,QAAAA,EAAS,CAAA;AAAMF,IAAAA,CAAAA,MAAAE,QAAAA;AAAAF,IAAAA,CAAAA,MAAAG,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAH,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAA9CG,EAAAA;AAA8C;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"swapModeActionsAtom.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGxC,eAAO,MAAM,eAAe;;CAgB1B,CAAC"}
1
+ {"version":3,"file":"swapModeActionsAtom.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAKxC,eAAO,MAAM,eAAe;;CAoB1B,CAAC"}
@@ -6,6 +6,8 @@ import { deltaEnabledOnAPI } from '../../../../lib/constants/delta.js';
6
6
  import { wagmiConfig } from '../../../../lib/web3/wagmi/config.js';
7
7
  import { swapTokenToAtom } from '../../../../core/inputs/state/selectedTokenAtom.js';
8
8
  import { userSwapModeAtom } from './swapModeAtom.js';
9
+ import { limitTokenToAtom } from '../../../../core/limit/state/limitTokenAtoms.js';
10
+ import { isLimitCrossChainAtom } from '../../../../core/limit/state/isCrosschainAtom.js';
9
11
 
10
12
  const setSwapModeAtom = atom(null, (get, set, mode) => {
11
13
  if (mode === "delta") {
@@ -19,6 +21,9 @@ const setSwapModeAtom = atom(null, (get, set, mode) => {
19
21
  if (get(isCrossChainAtom)) {
20
22
  set(swapTokenToAtom, void 0);
21
23
  }
24
+ if (get(isLimitCrossChainAtom)) {
25
+ set(limitTokenToAtom, void 0);
26
+ }
22
27
  set(userSwapModeAtom, mode);
23
28
  set(deltaParamAtom, false);
24
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"swapModeActionsAtom.js","sources":["../../../../../src/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { deltaParamAtom } from \"../../TradeParameters/state/deltaParamAtom\";\nimport { widgetConfigAtom } from \"@/core/state/configAtom\";\nimport { isCrossChainAtom } from \"@/core/state/isCrosschainAtom\";\nimport { deltaEnabledOnAPI } from \"@/lib/constants/delta\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { swapTokenToAtom } from \"@/core/inputs/state/selectedTokenAtom\";\nimport type { SwapMode } from \"./types\";\nimport { userSwapModeAtom } from \"./swapModeAtom\";\n\nexport const setSwapModeAtom = atom(null, (get, set, mode: SwapMode) => {\n if (mode === \"delta\") {\n const enabledInConfig = get(widgetConfigAtom).enableDelta;\n const enabledOnAPI = deltaEnabledOnAPI[wagmiConfig.state.chainId];\n\n if (enabledInConfig && enabledOnAPI) {\n set(userSwapModeAtom, mode);\n set(deltaParamAtom, true);\n }\n } else {\n if (get(isCrossChainAtom)) {\n set(swapTokenToAtom, undefined);\n }\n set(userSwapModeAtom, mode);\n set(deltaParamAtom, false);\n }\n});\n"],"names":["setSwapModeAtom","atom","get","set","mode","enabledInConfig","widgetConfigAtom","enableDelta","enabledOnAPI","deltaEnabledOnAPI","wagmiConfig","state","chainId","userSwapModeAtom","deltaParamAtom","isCrossChainAtom","swapTokenToAtom","undefined"],"mappings":";;;;;;;;;AAUO,MAAMA,kBAAkBC,IAAAA,CAAK,IAAA,EAAM,CAACC,GAAAA,EAAKC,KAAKC,IAAAA,KAAmB;AACtE,EAAA,IAAIA,SAAS,OAAA,EAAS;AACpB,IAAA,MAAMC,eAAAA,GAAkBH,GAAAA,CAAII,gBAAgB,CAAA,CAAEC,WAAAA;AAC9C,IAAA,MAAMC,YAAAA,GAAeC,iBAAAA,CAAkBC,WAAAA,CAAYC,KAAAA,CAAMC,OAAO,CAAA;AAEhE,IAAA,IAAIP,mBAAmBG,YAAAA,EAAc;AACnCL,MAAAA,GAAAA,CAAIU,kBAAkBT,IAAI,CAAA;AAC1BD,MAAAA,GAAAA,CAAIW,gBAAgB,IAAI,CAAA;AAAA,IAC1B;AAAA,EACF,CAAA,MAAO;AACL,IAAA,IAAIZ,GAAAA,CAAIa,gBAAgB,CAAA,EAAG;AACzBZ,MAAAA,GAAAA,CAAIa,iBAAiBC,MAAS,CAAA;AAAA,IAChC;AACAd,IAAAA,GAAAA,CAAIU,kBAAkBT,IAAI,CAAA;AAC1BD,IAAAA,GAAAA,CAAIW,gBAAgB,KAAK,CAAA;AAAA,EAC3B;AACF,CAAC;;;;"}
1
+ {"version":3,"file":"swapModeActionsAtom.js","sources":["../../../../../src/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { deltaParamAtom } from \"../../TradeParameters/state/deltaParamAtom\";\nimport { widgetConfigAtom } from \"@/core/state/configAtom\";\nimport { isCrossChainAtom } from \"@/core/state/isCrosschainAtom\";\nimport { deltaEnabledOnAPI } from \"@/lib/constants/delta\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { swapTokenToAtom } from \"@/core/inputs/state/selectedTokenAtom\";\nimport type { SwapMode } from \"./types\";\nimport { userSwapModeAtom } from \"./swapModeAtom\";\nimport { limitTokenToAtom } from \"@/core/limit/state/limitTokenAtoms\";\nimport { isLimitCrossChainAtom } from \"@/core/limit/state/isCrosschainAtom\";\n\nexport const setSwapModeAtom = atom(null, (get, set, mode: SwapMode) => {\n if (mode === \"delta\") {\n const enabledInConfig = get(widgetConfigAtom).enableDelta;\n const enabledOnAPI = deltaEnabledOnAPI[wagmiConfig.state.chainId];\n\n if (enabledInConfig && enabledOnAPI) {\n set(userSwapModeAtom, mode);\n set(deltaParamAtom, true);\n }\n } else {\n // delta mode disabled, reset tokenTo\n if (get(isCrossChainAtom)) {\n set(swapTokenToAtom, undefined);\n }\n if (get(isLimitCrossChainAtom)) {\n set(limitTokenToAtom, undefined);\n }\n set(userSwapModeAtom, mode);\n set(deltaParamAtom, false);\n }\n});\n"],"names":["setSwapModeAtom","atom","get","set","mode","enabledInConfig","widgetConfigAtom","enableDelta","enabledOnAPI","deltaEnabledOnAPI","wagmiConfig","state","chainId","userSwapModeAtom","deltaParamAtom","isCrossChainAtom","swapTokenToAtom","undefined","isLimitCrossChainAtom","limitTokenToAtom"],"mappings":";;;;;;;;;;;AAYO,MAAMA,kBAAkBC,IAAAA,CAAK,IAAA,EAAM,CAACC,GAAAA,EAAKC,KAAKC,IAAAA,KAAmB;AACtE,EAAA,IAAIA,SAAS,OAAA,EAAS;AACpB,IAAA,MAAMC,eAAAA,GAAkBH,GAAAA,CAAII,gBAAgB,CAAA,CAAEC,WAAAA;AAC9C,IAAA,MAAMC,YAAAA,GAAeC,iBAAAA,CAAkBC,WAAAA,CAAYC,KAAAA,CAAMC,OAAO,CAAA;AAEhE,IAAA,IAAIP,mBAAmBG,YAAAA,EAAc;AACnCL,MAAAA,GAAAA,CAAIU,kBAAkBT,IAAI,CAAA;AAC1BD,MAAAA,GAAAA,CAAIW,gBAAgB,IAAI,CAAA;AAAA,IAC1B;AAAA,EACF,CAAA,MAAO;AAEL,IAAA,IAAIZ,GAAAA,CAAIa,gBAAgB,CAAA,EAAG;AACzBZ,MAAAA,GAAAA,CAAIa,iBAAiBC,MAAS,CAAA;AAAA,IAChC;AACA,IAAA,IAAIf,GAAAA,CAAIgB,qBAAqB,CAAA,EAAG;AAC9Bf,MAAAA,GAAAA,CAAIgB,kBAAkBF,MAAS,CAAA;AAAA,IACjC;AACAd,IAAAA,GAAAA,CAAIU,kBAAkBT,IAAI,CAAA;AAC1BD,IAAAA,GAAAA,CAAIW,gBAAgB,KAAK,CAAA;AAAA,EAC3B;AACF,CAAC;;;;"}
@@ -1,3 +1,4 @@
1
- export declare const swapSideAtom: import('jotai').Atom<"SELL" | "BUY">;
2
- export declare const useSwapSide: () => "SELL" | "BUY";
1
+ import { SwapSideUnion } from '@velora-dex/sdk';
2
+ export declare const swapSideAtom: import('jotai').Atom<SwapSideUnion>;
3
+ export declare const useSwapSide: () => SwapSideUnion;
3
4
  //# sourceMappingURL=swapSideAtom.d.ts.map