@velora-dex/widget 0.2.5-dev.8 → 0.3.1

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 (257) hide show
  1. package/dist/components/ui/accordion.js +4 -4
  2. package/dist/components/ui/accordion.js.map +1 -1
  3. package/dist/components/ui/badge.d.ts +1 -1
  4. package/dist/components/ui/button.d.ts +1 -1
  5. package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.js +2 -2
  6. package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.js.map +1 -1
  7. package/dist/components/widget/AppHeader/Activities/hooks.d.ts +5 -1
  8. package/dist/components/widget/AppHeader/Activities/hooks.d.ts.map +1 -1
  9. package/dist/components/widget/AppHeader/Activities/hooks.js +63 -5
  10. package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
  11. package/dist/components/widget/AppHeader/ActivityButton.d.ts.map +1 -1
  12. package/dist/components/widget/AppHeader/ActivityButton.js +76 -36
  13. package/dist/components/widget/AppHeader/ActivityButton.js.map +1 -1
  14. package/dist/components/widget/DexesList/DexItem.js.map +1 -1
  15. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts.map +1 -1
  16. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +20 -18
  17. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  18. package/dist/components/widget/ImportToken/ImportToken.d.ts +2 -0
  19. package/dist/components/widget/ImportToken/ImportToken.d.ts.map +1 -1
  20. package/dist/components/widget/ImportToken/ImportToken.js +4 -1
  21. package/dist/components/widget/ImportToken/ImportToken.js.map +1 -1
  22. package/dist/components/widget/ImportToken/useImportTokenDrawer.d.ts +3 -1
  23. package/dist/components/widget/ImportToken/useImportTokenDrawer.d.ts.map +1 -1
  24. package/dist/components/widget/ImportToken/useImportTokenDrawer.js +23 -21
  25. package/dist/components/widget/ImportToken/useImportTokenDrawer.js.map +1 -1
  26. package/dist/components/widget/OrderExpiryInput/index.d.ts.map +1 -1
  27. package/dist/components/widget/OrderExpiryInput/index.js +14 -13
  28. package/dist/components/widget/OrderExpiryInput/index.js.map +1 -1
  29. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js +1 -1
  30. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js.map +1 -1
  31. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.d.ts +2 -2
  32. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.d.ts.map +1 -1
  33. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js +4 -4
  34. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js.map +1 -1
  35. package/dist/components/widget/Screen/GenericScreen.d.ts.map +1 -1
  36. package/dist/components/widget/Screen/GenericScreen.js +2 -2
  37. package/dist/components/widget/Screen/GenericScreen.js.map +1 -1
  38. package/dist/components/widget/SelectToken/SelectTokenButton.d.ts.map +1 -1
  39. package/dist/components/widget/SelectToken/SelectTokenButton.js +64 -61
  40. package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
  41. package/dist/components/widget/TokenBadge/TokenBadge.js +1 -1
  42. package/dist/components/widget/TokenBadge/TokenBadge.js.map +1 -1
  43. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
  44. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +121 -70
  45. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  46. package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.d.ts.map +1 -1
  47. package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js +17 -21
  48. package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js.map +1 -1
  49. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.d.ts.map +1 -1
  50. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js +24 -28
  51. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js.map +1 -1
  52. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts.map +1 -1
  53. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js +90 -72
  54. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
  55. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.d.ts.map +1 -1
  56. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js +24 -28
  57. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js.map +1 -1
  58. package/dist/components/widget/TradeOverview/Step/Step.d.ts.map +1 -1
  59. package/dist/components/widget/TradeOverview/Step/Step.js +122 -68
  60. package/dist/components/widget/TradeOverview/Step/Step.js.map +1 -1
  61. package/dist/components/widget/TradeOverview/Stepper.d.ts.map +1 -1
  62. package/dist/components/widget/TradeOverview/Stepper.js +46 -26
  63. package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
  64. package/dist/components/widget/TradeOverview/TradeComplete/index.d.ts.map +1 -1
  65. package/dist/components/widget/TradeOverview/TradeComplete/index.js +15 -24
  66. package/dist/components/widget/TradeOverview/TradeComplete/index.js.map +1 -1
  67. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.d.ts.map +1 -1
  68. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js +56 -47
  69. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
  70. package/dist/components/widget/TradeOverview/TradeComplete/utils.d.ts.map +1 -1
  71. package/dist/components/widget/TradeOverview/TradeComplete/utils.js +2 -2
  72. package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
  73. package/dist/components/widget/TradeOverview/TradeDetails.d.ts.map +1 -1
  74. package/dist/components/widget/TradeOverview/TradeDetails.js +143 -98
  75. package/dist/components/widget/TradeOverview/TradeDetails.js.map +1 -1
  76. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.d.ts.map +1 -1
  77. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js +15 -11
  78. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
  79. package/dist/components/widget/TradeOverview/TradeError/index.d.ts.map +1 -1
  80. package/dist/components/widget/TradeOverview/TradeError/index.js +9 -20
  81. package/dist/components/widget/TradeOverview/TradeError/index.js.map +1 -1
  82. package/dist/components/widget/TradeOverview/TradeOverview.d.ts.map +1 -1
  83. package/dist/components/widget/TradeOverview/TradeOverview.js +112 -57
  84. package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
  85. package/dist/components/widget/TradeOverview/motionProps.d.ts +20 -0
  86. package/dist/components/widget/TradeOverview/motionProps.d.ts.map +1 -0
  87. package/dist/components/widget/TradeOverview/motionProps.js +121 -0
  88. package/dist/components/widget/TradeOverview/motionProps.js.map +1 -0
  89. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts +18 -0
  90. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts.map +1 -0
  91. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js +74 -0
  92. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js.map +1 -0
  93. package/dist/configurator/components/FormPropsInputs.d.ts.map +1 -1
  94. package/dist/configurator/components/common/Input.d.ts +2 -1
  95. package/dist/configurator/components/common/Input.d.ts.map +1 -1
  96. package/dist/core/LimitOrderButton.d.ts.map +1 -1
  97. package/dist/core/LimitOrderButton.js +11 -9
  98. package/dist/core/LimitOrderButton.js.map +1 -1
  99. package/dist/core/OtcOrderButton.d.ts.map +1 -1
  100. package/dist/core/OtcOrderButton.js +11 -9
  101. package/dist/core/OtcOrderButton.js.map +1 -1
  102. package/dist/core/TradeFlowScreenButton.js +4 -4
  103. package/dist/core/TradeFlowScreenButton.js.map +1 -1
  104. package/dist/core/across/{isCrosshcainPossible.d.ts → isCrosschainPossible.d.ts} +1 -1
  105. package/dist/core/across/{isCrosshcainPossible.d.ts.map → isCrosschainPossible.d.ts.map} +1 -1
  106. package/dist/core/across/{isCrosshcainPossible.js → isCrosschainPossible.js} +1 -1
  107. package/dist/core/across/{isCrosshcainPossible.js.map → isCrosschainPossible.js.map} +1 -1
  108. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts +1 -2
  109. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
  110. package/dist/core/button/hooks/useWidgetButtonExtraProps.js +90 -61
  111. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  112. package/dist/core/constants.d.ts +1 -0
  113. package/dist/core/constants.d.ts.map +1 -1
  114. package/dist/core/constants.js +2 -1
  115. package/dist/core/constants.js.map +1 -1
  116. package/dist/core/index.d.ts.map +1 -1
  117. package/dist/core/index.js +44 -51
  118. package/dist/core/index.js.map +1 -1
  119. package/dist/core/inputs/hooks/useMaxButtonProps.d.ts +19 -0
  120. package/dist/core/inputs/hooks/useMaxButtonProps.d.ts.map +1 -0
  121. package/dist/core/inputs/hooks/useMaxButtonProps.js +119 -0
  122. package/dist/core/inputs/hooks/useMaxButtonProps.js.map +1 -0
  123. package/dist/core/inputs/hooks/useTokenFromInputProps.d.ts.map +1 -1
  124. package/dist/core/inputs/hooks/useTokenFromInputProps.js +28 -80
  125. package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
  126. package/dist/core/inputs/state/common.d.ts +4 -2
  127. package/dist/core/inputs/state/common.d.ts.map +1 -1
  128. package/dist/core/inputs/state/common.js +4 -6
  129. package/dist/core/inputs/state/common.js.map +1 -1
  130. package/dist/core/inputs/state/inputAmountAtom.d.ts.map +1 -1
  131. package/dist/core/inputs/state/inputAmountAtom.js +1 -1
  132. package/dist/core/inputs/state/inputAmountAtom.js.map +1 -1
  133. package/dist/core/inputs/state/selectedTokenActionsAtom.d.ts.map +1 -1
  134. package/dist/core/inputs/state/selectedTokenActionsAtom.js +18 -3
  135. package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
  136. package/dist/core/inputs/state/setTokenByAddressAtom.d.ts.map +1 -1
  137. package/dist/core/inputs/state/setTokenByAddressAtom.js +15 -7
  138. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  139. package/dist/core/limit/state/deadlineAtom.d.ts +2 -3
  140. package/dist/core/limit/state/deadlineAtom.d.ts.map +1 -1
  141. package/dist/core/limit/state/deadlineAtom.js +1 -2
  142. package/dist/core/limit/state/deadlineAtom.js.map +1 -1
  143. package/dist/core/limit/state/limitInputAmountAtom.js +1 -1
  144. package/dist/core/limit/state/limitInputAmountAtom.js.map +1 -1
  145. package/dist/core/limit/state/selectedTokenActionsAtom.d.ts.map +1 -1
  146. package/dist/core/limit/state/selectedTokenActionsAtom.js +23 -6
  147. package/dist/core/limit/state/selectedTokenActionsAtom.js.map +1 -1
  148. package/dist/core/limit/state/selectedTokenAtom.js +4 -4
  149. package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
  150. package/dist/core/limit/state/utils.d.ts.map +1 -1
  151. package/dist/core/limit/state/utils.js +4 -1
  152. package/dist/core/limit/state/utils.js.map +1 -1
  153. package/dist/core/limit/useLimitRate.d.ts.map +1 -1
  154. package/dist/core/limit/useLimitRate.js +25 -10
  155. package/dist/core/limit/useLimitRate.js.map +1 -1
  156. package/dist/core/limit/useLimitTokenFromInputProps.d.ts.map +1 -1
  157. package/dist/core/limit/useLimitTokenFromInputProps.js +20 -63
  158. package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
  159. package/dist/core/limit/useLimitTokenSwitcherProps.d.ts.map +1 -1
  160. package/dist/core/limit/useLimitTokenSwitcherProps.js +26 -16
  161. package/dist/core/limit/useLimitTokenSwitcherProps.js.map +1 -1
  162. package/dist/core/otc/state/deadlineAtom.d.ts +2 -3
  163. package/dist/core/otc/state/deadlineAtom.d.ts.map +1 -1
  164. package/dist/core/otc/state/deadlineAtom.js +1 -2
  165. package/dist/core/otc/state/deadlineAtom.js.map +1 -1
  166. package/dist/core/otc/state/otcInputAmountAtom.js +1 -1
  167. package/dist/core/otc/state/otcInputAmountAtom.js.map +1 -1
  168. package/dist/core/otc/useOtcTokenFromInputProps.d.ts.map +1 -1
  169. package/dist/core/otc/useOtcTokenFromInputProps.js +21 -64
  170. package/dist/core/otc/useOtcTokenFromInputProps.js.map +1 -1
  171. package/dist/core/screen/hooks/useOnClickOutside.d.ts +1 -1
  172. package/dist/core/screen/hooks/useOnClickOutside.d.ts.map +1 -1
  173. package/dist/core/screen/hooks/useOnClickOutside.js +3 -3
  174. package/dist/core/screen/hooks/useOnClickOutside.js.map +1 -1
  175. package/dist/core/screen/hooks/useRunOnMount.d.ts +2 -0
  176. package/dist/core/screen/hooks/useRunOnMount.d.ts.map +1 -0
  177. package/dist/core/screen/hooks/useRunOnMount.js +28 -0
  178. package/dist/core/screen/hooks/useRunOnMount.js.map +1 -0
  179. package/dist/core/screen/screenByType.d.ts +8 -1
  180. package/dist/core/screen/screenByType.d.ts.map +1 -1
  181. package/dist/core/screen/screenByType.js.map +1 -1
  182. package/dist/core/screen/state/hooks/useScreen.d.ts +5 -0
  183. package/dist/core/screen/state/hooks/useScreen.d.ts.map +1 -0
  184. package/dist/core/screen/state/hooks/useScreen.js +25 -0
  185. package/dist/core/screen/state/hooks/useScreen.js.map +1 -0
  186. package/dist/core/screen/state/hooks/useScreenValue.d.ts +8 -0
  187. package/dist/core/screen/state/hooks/useScreenValue.d.ts.map +1 -0
  188. package/dist/core/screen/state/hooks/useScreenValue.js +42 -0
  189. package/dist/core/screen/state/hooks/useScreenValue.js.map +1 -0
  190. package/dist/core/screen/state/hooks/useSetScreen.d.ts +10 -0
  191. package/dist/core/screen/state/hooks/useSetScreen.d.ts.map +1 -0
  192. package/dist/core/screen/state/hooks/useSetScreen.js +81 -0
  193. package/dist/core/screen/state/hooks/useSetScreen.js.map +1 -0
  194. package/dist/core/screen/state/screenAtom.d.ts +4 -17
  195. package/dist/core/screen/state/screenAtom.d.ts.map +1 -1
  196. package/dist/core/screen/state/screenAtom.js +5 -104
  197. package/dist/core/screen/state/screenAtom.js.map +1 -1
  198. package/dist/core/types.d.ts +1 -1
  199. package/dist/core/types.d.ts.map +1 -1
  200. package/dist/hooks/otc/mutations/useFillOrder.js +2 -1
  201. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  202. package/dist/hooks/swap/prices/delta/orders/utils.d.ts +1 -1
  203. package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
  204. package/dist/hooks/swap/prices/delta/orders/utils.js +2 -2
  205. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  206. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js.map +1 -1
  207. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.d.ts +2 -2
  208. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.d.ts.map +1 -1
  209. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js.map +1 -1
  210. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts +3 -3
  211. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts.map +1 -1
  212. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts +1 -1
  213. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
  214. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js +37 -21
  215. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  216. package/dist/hooks/swap/prices/delta/queries/utils.d.ts +2 -1
  217. package/dist/hooks/swap/prices/delta/queries/utils.d.ts.map +1 -1
  218. package/dist/hooks/swap/prices/delta/queries/utils.js +8 -1
  219. package/dist/hooks/swap/prices/delta/queries/utils.js.map +1 -1
  220. package/dist/hooks/swap/prices/market/mutations/useBuildTx.d.ts +3 -3
  221. package/dist/hooks/swap/prices/market/mutations/useBuildTx.d.ts.map +1 -1
  222. package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
  223. package/dist/hooks/swap/prices/usePricesParams.js +0 -5
  224. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  225. package/dist/hooks/swap/tradeFlow/common/utils.js +4 -1
  226. package/dist/hooks/swap/tradeFlow/common/utils.js.map +1 -1
  227. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +2 -1
  228. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  229. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +26 -10
  230. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  231. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts +1 -0
  232. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts.map +1 -1
  233. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js +16 -14
  234. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  235. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts +11 -1
  236. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts.map +1 -1
  237. package/dist/hooks/swap/tradeFlow/useMarketFlow.js +10 -5
  238. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  239. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts +1 -0
  240. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts.map +1 -1
  241. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js +12 -10
  242. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  243. package/dist/hooks/useClickOutside.d.ts +1 -3
  244. package/dist/hooks/useClickOutside.d.ts.map +1 -1
  245. package/dist/hooks/useClickOutside.js +23 -7
  246. package/dist/hooks/useClickOutside.js.map +1 -1
  247. package/dist/lib/constants/index.d.ts +1 -0
  248. package/dist/lib/constants/index.d.ts.map +1 -1
  249. package/dist/lib/constants/index.js +2 -1
  250. package/dist/lib/constants/index.js.map +1 -1
  251. package/dist/lib/web3/privy/config.js +1 -1
  252. package/dist/lib/web3/wagmi/config.js +1 -1
  253. package/dist/styles.css +45 -14
  254. package/dist/tokens/utils/sorting.d.ts.map +1 -1
  255. package/dist/tokens/utils/sorting.js +3 -0
  256. package/dist/tokens/utils/sorting.js.map +1 -1
  257. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"deadlineAtom.js","sources":["../../../../src/core/otc/state/deadlineAtom.ts"],"sourcesContent":["import { defaultTimeUnit, minTimeUnit } from \"@/core/limit/state/constants\";\nimport type { TimeUnitState } from \"@/core/limit/state/deadlineAtom\";\nimport { getTimeUnitState } from \"@/core/limit/state/utils\";\nimport { useAtomValue } from \"@/core/store\";\nimport { atom, type SetStateAction } from \"jotai\";\nimport type { MarkOptional } from \"ts-essentials\";\n\nexport const timeUnitAtom = atom<\n TimeUnitState,\n [SetStateAction<MarkOptional<TimeUnitState, \"timestamp\">>],\n void\n>(getTimeUnitState(defaultTimeUnit), (get, set, _newState) => {\n const newState =\n typeof _newState === \"function\" ? _newState(get(timeUnitAtom)) : _newState;\n\n let stateToSet = getTimeUnitState(newState);\n\n const minTimeUnitState = getTimeUnitState(minTimeUnit);\n\n const isTimestampInvalid =\n // OTC can have 0 deadline\n stateToSet.timestamp > 0 &&\n stateToSet.timestamp < minTimeUnitState.timestamp;\n const isUnitInvalid =\n stateToSet.label === minTimeUnit.label &&\n stateToSet.value < minTimeUnitState.value;\n\n if (isTimestampInvalid || isUnitInvalid) {\n stateToSet = minTimeUnitState;\n }\n\n set(timeUnitAtom, stateToSet);\n});\n\nexport const deadlineAtom = atom((get) => get(timeUnitAtom).timestamp);\n\nexport const useOtcDeadline = () => {\n return useAtomValue(deadlineAtom);\n};\n"],"names":["timeUnitAtom","atom","getTimeUnitState","defaultTimeUnit","get","set","_newState","newState","stateToSet","minTimeUnitState","minTimeUnit","isTimestampInvalid","timestamp","isUnitInvalid","label","value","deadlineAtom","useOtcDeadline","useAtomValue"],"mappings":";;;;;AAOO,MAAMA,YAAAA,GAAeC,KAI1BC,gBAAAA,CAAiBC,eAAe,GAAG,CAACC,GAAAA,EAAKC,KAAKC,SAAAA,KAAc;AAC5D,EAAA,MAAMC,QAAAA,GACJ,OAAOD,SAAAA,KAAc,UAAA,GAAaA,UAAUF,GAAAA,CAAIJ,YAAY,CAAC,CAAA,GAAIM,SAAAA;AAEnE,EAAA,IAAIE,UAAAA,GAAaN,iBAAiBK,QAAQ,CAAA;AAE1C,EAAA,MAAME,gBAAAA,GAAmBP,iBAAiBQ,WAAW,CAAA;AAErD,EAAA,MAAMC,kBAAAA;AAAAA;AAAAA,IAEJH,UAAAA,CAAWI,SAAAA,GAAY,CAAA,IACvBJ,UAAAA,CAAWI,YAAYH,gBAAAA,CAAiBG;AAAAA,GAAAA;AAC1C,EAAA,MAAMC,gBACJL,UAAAA,CAAWM,KAAAA,KAAUJ,YAAYI,KAAAA,IACjCN,UAAAA,CAAWO,QAAQN,gBAAAA,CAAiBM,KAAAA;AAEtC,EAAA,IAAIJ,sBAAsBE,aAAAA,EAAe;AACvCL,IAAAA,UAAAA,GAAaC,gBAAAA;AAAAA,EACf;AAEAJ,EAAAA,GAAAA,CAAIL,cAAcQ,UAAU,CAAA;AAC9B,CAAC;AAEM,MAAMQ,eAAef,IAAAA,CAAMG,CAAAA,GAAAA,KAAQA,GAAAA,CAAIJ,YAAY,EAAEY,SAAS;AAE9D,MAAMK,iBAAiBA,MAAA;AAAA,EAAA,OACrBC,aAAaF,YAAY,CAAA;AAAC;;;;"}
1
+ {"version":3,"file":"deadlineAtom.js","sources":["../../../../src/core/otc/state/deadlineAtom.ts"],"sourcesContent":["import { defaultTimeUnit, minTimeUnit } from \"@/core/limit/state/constants\";\nimport type { TimeUnitState } from \"@/core/limit/state/deadlineAtom\";\nimport { getTimeUnitState } from \"@/core/limit/state/utils\";\nimport { useAtomValue } from \"@/core/store\";\nimport { atom } from \"jotai\";\nimport type { MarkOptional } from \"ts-essentials\";\n\nexport const timeUnitAtom = atom<\n TimeUnitState,\n [MarkOptional<TimeUnitState, \"timestamp\">],\n void\n>(getTimeUnitState(defaultTimeUnit), (_, set, newState) => {\n let stateToSet = getTimeUnitState(newState);\n\n const minTimeUnitState = getTimeUnitState(minTimeUnit);\n\n const isTimestampInvalid =\n // OTC can have 0 deadline\n stateToSet.timestamp > 0 &&\n stateToSet.timestamp < minTimeUnitState.timestamp;\n const isUnitInvalid =\n stateToSet.label === minTimeUnit.label &&\n stateToSet.value < minTimeUnitState.value;\n\n if (isTimestampInvalid || isUnitInvalid) {\n stateToSet = minTimeUnitState;\n }\n\n set(timeUnitAtom, stateToSet);\n});\n\nexport const deadlineAtom = atom((get) => get(timeUnitAtom).timestamp);\n\nexport const useOtcDeadline = () => {\n return useAtomValue(deadlineAtom);\n};\n"],"names":["timeUnitAtom","atom","getTimeUnitState","defaultTimeUnit","_","set","newState","stateToSet","minTimeUnitState","minTimeUnit","isTimestampInvalid","timestamp","isUnitInvalid","label","value","deadlineAtom","get","useOtcDeadline","useAtomValue"],"mappings":";;;;;AAOO,MAAMA,YAAAA,GAAeC,KAI1BC,gBAAAA,CAAiBC,eAAe,GAAG,CAACC,CAAAA,EAAGC,KAAKC,QAAAA,KAAa;AACzD,EAAA,IAAIC,UAAAA,GAAaL,iBAAiBI,QAAQ,CAAA;AAE1C,EAAA,MAAME,gBAAAA,GAAmBN,iBAAiBO,WAAW,CAAA;AAErD,EAAA,MAAMC,kBAAAA;AAAAA;AAAAA,IAEJH,UAAAA,CAAWI,SAAAA,GAAY,CAAA,IACvBJ,UAAAA,CAAWI,YAAYH,gBAAAA,CAAiBG;AAAAA,GAAAA;AAC1C,EAAA,MAAMC,gBACJL,UAAAA,CAAWM,KAAAA,KAAUJ,YAAYI,KAAAA,IACjCN,UAAAA,CAAWO,QAAQN,gBAAAA,CAAiBM,KAAAA;AAEtC,EAAA,IAAIJ,sBAAsBE,aAAAA,EAAe;AACvCL,IAAAA,UAAAA,GAAaC,gBAAAA;AAAAA,EACf;AAEAH,EAAAA,GAAAA,CAAIL,cAAcO,UAAU,CAAA;AAC9B,CAAC;AAEM,MAAMQ,eAAed,IAAAA,CAAMe,CAAAA,GAAAA,KAAQA,GAAAA,CAAIhB,YAAY,EAAEW,SAAS;AAE9D,MAAMM,iBAAiBA,MAAA;AAAA,EAAA,OACrBC,aAAaH,YAAY,CAAA;AAAC;;;;"}
@@ -10,7 +10,7 @@ const otcPriceAmountAtom = atom((get) => {
10
10
  const priceRates = get(otcPriceRatesAtom);
11
11
  return isReversed ? priceRates.rateReversed : priceRates.rate;
12
12
  });
13
- const otcPayInputAmountAtom = atom("0");
13
+ const otcPayInputAmountAtom = atom("1");
14
14
  const otcReceiveInputAmountAtom = atom("0");
15
15
  const otcPayInputAmountWeiAtom = atom((get) => {
16
16
  const tokenFrom = get(otcTokenFromAtom);
@@ -1 +1 @@
1
- {"version":3,"file":"otcInputAmountAtom.js","sources":["../../../../src/core/otc/state/otcInputAmountAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { parseUnits } from \"viem\";\nimport { otcTokenFromAtom, otcTokenToAtom } from \"./selectedTokenAtom\";\nimport { zeroRates } from \"@/core/limit/state/constants\";\nimport type { PriceRates } from \"@/core/limit/types\";\nimport { isOtcPriceReversedAtom } from \"./isOtcPriceReversedAtom\";\n\nexport const otcPriceRatesAtom = atom<PriceRates>(zeroRates);\n\nexport const otcPriceAmountAtom = atom((get) => {\n const isReversed = get(isOtcPriceReversedAtom);\n const priceRates = get(otcPriceRatesAtom);\n return isReversed ? priceRates.rateReversed : priceRates.rate;\n});\n\nexport const otcPayInputAmountAtom = atom(\"0\");\n\nexport const otcReceiveInputAmountAtom = atom(\"0\");\n\nexport const otcPayInputAmountWeiAtom = atom((get) => {\n // amountWei derived from otcPayInputAmountAtom\n const tokenFrom = get(otcTokenFromAtom);\n const payInputAmount = get(otcPayInputAmountAtom);\n return parseUnits(payInputAmount, tokenFrom.decimals).toString();\n});\n\nexport const otcReceiveInputAmountWeiAtom = atom((get) => {\n // amountWei derived from otcReceiveInputAmountAtom\n const tokenTo = get(otcTokenToAtom);\n if (tokenTo) {\n const receiveInputAmount = get(otcReceiveInputAmountAtom);\n return parseUnits(receiveInputAmount, tokenTo.decimals).toString();\n }\n});\n"],"names":["otcPriceRatesAtom","atom","zeroRates","otcPriceAmountAtom","get","isReversed","isOtcPriceReversedAtom","priceRates","rateReversed","rate","otcPayInputAmountAtom","otcReceiveInputAmountAtom","otcPayInputAmountWeiAtom","tokenFrom","otcTokenFromAtom","payInputAmount","parseUnits","decimals","toString","otcReceiveInputAmountWeiAtom","tokenTo","otcTokenToAtom","receiveInputAmount"],"mappings":";;;;;;AAOO,MAAMA,iBAAAA,GAAoBC,KAAiBC,SAAS;AAEpD,MAAMC,kBAAAA,GAAqBF,KAAMG,CAAAA,GAAAA,KAAQ;AAC9C,EAAA,MAAMC,UAAAA,GAAaD,IAAIE,sBAAsB,CAAA;AAC7C,EAAA,MAAMC,UAAAA,GAAaH,IAAIJ,iBAAiB,CAAA;AACxC,EAAA,OAAOK,UAAAA,GAAaE,UAAAA,CAAWC,YAAAA,GAAeD,UAAAA,CAAWE,IAAAA;AAC3D,CAAC;AAEM,MAAMC,qBAAAA,GAAwBT,KAAK,GAAG;AAEtC,MAAMU,yBAAAA,GAA4BV,KAAK,GAAG;AAE1C,MAAMW,wBAAAA,GAA2BX,KAAMG,CAAAA,GAAAA,KAAQ;AAEpD,EAAA,MAAMS,SAAAA,GAAYT,IAAIU,gBAAgB,CAAA;AACtC,EAAA,MAAMC,cAAAA,GAAiBX,IAAIM,qBAAqB,CAAA;AAChD,EAAA,OAAOM,UAAAA,CAAWD,cAAAA,EAAgBF,SAAAA,CAAUI,QAAQ,EAAEC,QAAAA,EAAS;AACjE,CAAC;AAEM,MAAMC,4BAAAA,GAA+BlB,KAAMG,CAAAA,GAAAA,KAAQ;AAExD,EAAA,MAAMgB,OAAAA,GAAUhB,IAAIiB,cAAc,CAAA;AAClC,EAAA,IAAID,OAAAA,EAAS;AACX,IAAA,MAAME,kBAAAA,GAAqBlB,IAAIO,yBAAyB,CAAA;AACxD,IAAA,OAAOK,UAAAA,CAAWM,kBAAAA,EAAoBF,OAAAA,CAAQH,QAAQ,EAAEC,QAAAA,EAAS;AAAA,EACnE;AACF,CAAC;;;;"}
1
+ {"version":3,"file":"otcInputAmountAtom.js","sources":["../../../../src/core/otc/state/otcInputAmountAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { parseUnits } from \"viem\";\nimport { otcTokenFromAtom, otcTokenToAtom } from \"./selectedTokenAtom\";\nimport { zeroRates } from \"@/core/limit/state/constants\";\nimport type { PriceRates } from \"@/core/limit/types\";\nimport { isOtcPriceReversedAtom } from \"./isOtcPriceReversedAtom\";\n\nexport const otcPriceRatesAtom = atom<PriceRates>(zeroRates);\n\nexport const otcPriceAmountAtom = atom((get) => {\n const isReversed = get(isOtcPriceReversedAtom);\n const priceRates = get(otcPriceRatesAtom);\n return isReversed ? priceRates.rateReversed : priceRates.rate;\n});\n\nexport const otcPayInputAmountAtom = atom(\"1\");\n\nexport const otcReceiveInputAmountAtom = atom(\"0\");\n\nexport const otcPayInputAmountWeiAtom = atom((get) => {\n // amountWei derived from otcPayInputAmountAtom\n const tokenFrom = get(otcTokenFromAtom);\n const payInputAmount = get(otcPayInputAmountAtom);\n return parseUnits(payInputAmount, tokenFrom.decimals).toString();\n});\n\nexport const otcReceiveInputAmountWeiAtom = atom((get) => {\n // amountWei derived from otcReceiveInputAmountAtom\n const tokenTo = get(otcTokenToAtom);\n if (tokenTo) {\n const receiveInputAmount = get(otcReceiveInputAmountAtom);\n return parseUnits(receiveInputAmount, tokenTo.decimals).toString();\n }\n});\n"],"names":["otcPriceRatesAtom","atom","zeroRates","otcPriceAmountAtom","get","isReversed","isOtcPriceReversedAtom","priceRates","rateReversed","rate","otcPayInputAmountAtom","otcReceiveInputAmountAtom","otcPayInputAmountWeiAtom","tokenFrom","otcTokenFromAtom","payInputAmount","parseUnits","decimals","toString","otcReceiveInputAmountWeiAtom","tokenTo","otcTokenToAtom","receiveInputAmount"],"mappings":";;;;;;AAOO,MAAMA,iBAAAA,GAAoBC,KAAiBC,SAAS;AAEpD,MAAMC,kBAAAA,GAAqBF,KAAMG,CAAAA,GAAAA,KAAQ;AAC9C,EAAA,MAAMC,UAAAA,GAAaD,IAAIE,sBAAsB,CAAA;AAC7C,EAAA,MAAMC,UAAAA,GAAaH,IAAIJ,iBAAiB,CAAA;AACxC,EAAA,OAAOK,UAAAA,GAAaE,UAAAA,CAAWC,YAAAA,GAAeD,UAAAA,CAAWE,IAAAA;AAC3D,CAAC;AAEM,MAAMC,qBAAAA,GAAwBT,KAAK,GAAG;AAEtC,MAAMU,yBAAAA,GAA4BV,KAAK,GAAG;AAE1C,MAAMW,wBAAAA,GAA2BX,KAAMG,CAAAA,GAAAA,KAAQ;AAEpD,EAAA,MAAMS,SAAAA,GAAYT,IAAIU,gBAAgB,CAAA;AACtC,EAAA,MAAMC,cAAAA,GAAiBX,IAAIM,qBAAqB,CAAA;AAChD,EAAA,OAAOM,UAAAA,CAAWD,cAAAA,EAAgBF,SAAAA,CAAUI,QAAQ,EAAEC,QAAAA,EAAS;AACjE,CAAC;AAEM,MAAMC,4BAAAA,GAA+BlB,KAAMG,CAAAA,GAAAA,KAAQ;AAExD,EAAA,MAAMgB,OAAAA,GAAUhB,IAAIiB,cAAc,CAAA;AAClC,EAAA,IAAID,OAAAA,EAAS;AACX,IAAA,MAAME,kBAAAA,GAAqBlB,IAAIO,yBAAyB,CAAA;AACxD,IAAA,OAAOK,UAAAA,CAAWM,kBAAAA,EAAoBF,OAAAA,CAAQH,QAAQ,EAAEC,QAAAA,EAAS;AAAA,EACnE;AACF,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useOtcTokenFromInputProps.d.ts","sourceRoot":"","sources":["../../../src/core/otc/useOtcTokenFromInputProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAyM5E,eAAO,MAAM,kBAAkB,QAAO,eAAe,CAAC,SAAS,CAG9D,CAAC;AAEF,eAAO,MAAM,yBAAyB,QAAO,eAyB5C,CAAC"}
1
+ {"version":3,"file":"useOtcTokenFromInputProps.d.ts","sourceRoot":"","sources":["../../../src/core/otc/useOtcTokenFromInputProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AA4K5E,eAAO,MAAM,kBAAkB,QAAO,eAAe,CAAC,SAAS,CAG9D,CAAC;AAEF,eAAO,MAAM,yBAAyB,QAAO,eAyB5C,CAAC"}
@@ -11,9 +11,6 @@ import { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from '../../lib/constants/time.js'
11
11
  import { toDecimalTrimmed } from '../../lib/utils/toDecimal.js';
12
12
  import { useGenericTokenAllowance } from '../../hooks/tokens/allowance/useGenericTokenAllowance.js';
13
13
  import { useIsInsufficientBalanceToFillOtcOrder } from '../../hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js';
14
- import { useGasPrices } from '../../hooks/gas/useGasPrices.js';
15
- import { isETH } from '../../tokens/utils/eth.js';
16
- import Big from 'big.js';
17
14
  import { WRAP_ETH_GAS_LIMIT_INACCURATE } from '../../lib/constants/index.js';
18
15
  import { useUnsupportedOtcChain } from './useOtcNotSupported.js';
19
16
  import { selectOtcTokenFromAtom } from './state/selectedTokenActionsAtom.js';
@@ -23,6 +20,7 @@ import { getInsufficientBalanceToFillOrderMessage } from '../../lib/utils/delta.
23
20
  import { useOTCOrderRequiredAllowance } from '../../hooks/otc/queries/useLimitOrderRequiredBalance.js';
24
21
  import { useEnabledSrcChainsWithOTC } from '../state/enabledChainsAtom.js';
25
22
  import { switchChain } from '../../lib/web3/wagmi/switchChain.js';
23
+ import { useMaxButtonPropsBase } from '../inputs/hooks/useMaxButtonProps.js';
26
24
 
27
25
  const useOtcTokenFromAmountProps = () => {
28
26
  const $ = distExports.c(8);
@@ -165,80 +163,39 @@ const useTokenConditionalProps = (t0) => {
165
163
  return t8;
166
164
  };
167
165
  const useMaxButtonProps = (t0) => {
168
- const $ = distExports.c(13);
166
+ const $ = distExports.c(6);
169
167
  const {
170
168
  tokenFrom
171
169
  } = t0;
172
- const setCurrentOtcInput = useSetAtom(currentOtcInputAtom);
170
+ const setCurrentLimitInput = useSetAtom(currentOtcInputAtom);
173
171
  const setPayInputAmount = useSetAtom(otcPayInputAmountAtom);
174
172
  let t1;
175
- if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
176
- t1 = {
177
- refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS
173
+ if ($[0] !== setCurrentLimitInput || $[1] !== setPayInputAmount) {
174
+ t1 = (balanceUnit) => {
175
+ setCurrentLimitInput("from");
176
+ setPayInputAmount(balanceUnit);
178
177
  };
179
- $[0] = t1;
178
+ $[0] = setCurrentLimitInput;
179
+ $[1] = setPayInputAmount;
180
+ $[2] = t1;
180
181
  } else {
181
- t1 = $[0];
182
+ t1 = $[2];
182
183
  }
184
+ const onClick = t1;
183
185
  let t2;
184
- if ($[1] !== tokenFrom) {
186
+ if ($[3] !== onClick || $[4] !== tokenFrom) {
185
187
  t2 = {
186
- token: tokenFrom,
187
- queryOptions: t1
188
- };
189
- $[1] = tokenFrom;
190
- $[2] = t2;
191
- } else {
192
- t2 = $[2];
193
- }
194
- const {
195
- balanceUnit
196
- } = useTokenBalance(t2);
197
- const {
198
- data: gasPrices
199
- } = useGasPrices();
200
- const hasBalance = !!balanceUnit && balanceUnit !== "0";
201
- const showMaxButton = hasBalance;
202
- let t3;
203
- if ($[3] !== balanceUnit || $[4] !== gasPrices?.legacyPrices || $[5] !== hasBalance || $[6] !== setCurrentOtcInput || $[7] !== setPayInputAmount || $[8] !== tokenFrom) {
204
- t3 = () => {
205
- setCurrentOtcInput("from");
206
- if (hasBalance) {
207
- if (!isETH(tokenFrom)) {
208
- setPayInputAmount(balanceUnit);
209
- return;
210
- }
211
- const gasPriceMultiplier = gasPrices?.legacyPrices.instant;
212
- if (gasPriceMultiplier) {
213
- const gasFeeETH = Big(WRAP_ETH_GAS_LIMIT_INACCURATE).mul(gasPriceMultiplier).div(1e9);
214
- const balanceWithDeductedGas = Big(balanceUnit).minus(gasFeeETH);
215
- setPayInputAmount(balanceWithDeductedGas.toString());
216
- }
217
- }
218
- };
219
- $[3] = balanceUnit;
220
- $[4] = gasPrices?.legacyPrices;
221
- $[5] = hasBalance;
222
- $[6] = setCurrentOtcInput;
223
- $[7] = setPayInputAmount;
224
- $[8] = tokenFrom;
225
- $[9] = t3;
226
- } else {
227
- t3 = $[9];
228
- }
229
- let t4;
230
- if ($[10] !== showMaxButton || $[11] !== t3) {
231
- t4 = {
232
- showMaxButton,
233
- onMaxClick: t3
188
+ tokenFrom,
189
+ gasLimit: WRAP_ETH_GAS_LIMIT_INACCURATE,
190
+ onClick
234
191
  };
235
- $[10] = showMaxButton;
236
- $[11] = t3;
237
- $[12] = t4;
192
+ $[3] = onClick;
193
+ $[4] = tokenFrom;
194
+ $[5] = t2;
238
195
  } else {
239
- t4 = $[12];
196
+ t2 = $[5];
240
197
  }
241
- return t4;
198
+ return useMaxButtonPropsBase(t2);
242
199
  };
243
200
  const useTokenFromBalanceUnit = () => {
244
201
  const $ = distExports.c(5);
@@ -1 +1 @@
1
- {"version":3,"file":"useOtcTokenFromInputProps.js","sources":["../../../src/core/otc/useOtcTokenFromInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\nimport { useAtomValue, useSetAtom } from \"@/core/store\";\nimport { setOtcPayAmountAtom } from \"./state/otcInputActionsAtom\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type {\n TokenInputAmountProps,\n TokenInputExtraProps,\n} from \"../inputs/hooks/types\";\nimport { useLogger } from \"../logger\";\nimport {\n otcPayInputAmountAtom,\n otcPayInputAmountWeiAtom,\n} from \"./state/otcInputAmountAtom\";\nimport { useChainId } from \"wagmi\";\nimport { currentOtcInputAtom } from \"./state/currentOtcInputAtom\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useGenericTokenAllowance } from \"@/hooks/tokens/allowance/useGenericTokenAllowance\";\nimport { useIsInsufficientBalanceToFillOtcOrder } from \"@/hooks/tokens/balances/useIsLimitOrderInsufficientBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { useGasPrices } from \"@/hooks/gas/useGasPrices\";\nimport { isETH } from \"@/tokens/utils/eth\";\nimport Big from \"big.js\";\nimport { WRAP_ETH_GAS_LIMIT_INACCURATE } from \"@/lib/constants\";\nimport { useUnsupportedOtcChain } from \"./useOtcNotSupported\";\nimport { selectOtcTokenFromAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useOtcTokenFrom } from \"./state/selectedTokenAtom\";\nimport { formatTokenAmount } from \"@/lib/utils/formatTokenBalance\";\nimport { getInsufficientBalanceToFillOrderMessage } from \"@/lib/utils/delta\";\nimport { useOTCOrderRequiredAllowance } from \"@/hooks/otc/queries/useLimitOrderRequiredBalance\";\nimport { useEnabledSrcChainsWithOTC } from \"../state/enabledChainsAtom\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\n\nconst useOtcTokenFromAmountProps = (): MarkRequired<\n TokenInputAmountProps,\n \"token\"\n> => {\n const logger = useLogger(\"OTC::TokenFrom::AmountProps\");\n const tokenFrom = useOtcTokenFrom();\n\n const amountValue = useAtomValue(otcPayInputAmountAtom);\n const setAmountValue = useSetAtom(setOtcPayAmountAtom);\n\n const tokenBalanceUnit = useTokenFromBalanceUnit();\n\n return {\n amount: amountValue,\n tokenBalanceUnit,\n token: tokenFrom,\n onAmountChange: (values) => {\n logger.log(\"onAmountChange::values\", values);\n setAmountValue(values.value);\n },\n };\n};\n\ntype UseTokenConditionalPropsInput = {\n amountWei: string;\n tokenFrom: Token;\n};\n\nconst useTokenConditionalProps = ({\n amountWei,\n tokenFrom,\n}: UseTokenConditionalPropsInput): Required<\n Pick<\n TokenInputProps,\n \"insufficientBalanceMessageProps\" | \"tokenBadgePropsOverride\"\n >\n> => {\n const spenderContractType = \"AugustusRFQ\";\n\n // amount required to cover allowance of current Orders + amount for the new Order\n const { combinedAllowance: srcCombinedAllowance } =\n useOTCOrderRequiredAllowance({\n tokenAddress: tokenFrom.address,\n amount: amountWei,\n enabled: spenderContractType === \"AugustusRFQ\",\n });\n\n const tokenAllowance = useGenericTokenAllowance({\n token: tokenFrom,\n spenderContractType: \"AugustusRFQ\",\n amountToApproveInWei: srcCombinedAllowance,\n });\n\n const {\n isInsufficientBalance,\n isInsufficientBalanceToFill,\n requiredBalanceToFillUnit,\n } = useIsInsufficientBalanceToFillOtcOrder();\n\n const requiredBalanceToFillFormatted =\n isInsufficientBalanceToFill && requiredBalanceToFillUnit\n ? formatTokenAmount(requiredBalanceToFillUnit)\n : undefined;\n\n return {\n tokenBadgePropsOverride: {\n lockIcon:\n !isInsufficientBalance &&\n !isInsufficientBalanceToFill &&\n tokenAllowance.needsApproval,\n },\n insufficientBalanceMessageProps: {\n token: tokenFrom,\n shouldDisplay: isInsufficientBalance || isInsufficientBalanceToFill,\n messageOverride: requiredBalanceToFillFormatted\n ? getInsufficientBalanceToFillOrderMessage(\n tokenFrom,\n requiredBalanceToFillFormatted\n )\n : undefined,\n },\n };\n};\n\nconst useMaxButtonProps = ({ tokenFrom }: { tokenFrom: Token }) => {\n const setCurrentOtcInput = useSetAtom(currentOtcInputAtom);\n const setPayInputAmount = useSetAtom(otcPayInputAmountAtom);\n\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n const { data: gasPrices } = useGasPrices();\n\n const hasBalance = !!balanceUnit && balanceUnit !== \"0\";\n const showMaxButton = hasBalance;\n\n return {\n showMaxButton,\n onMaxClick: () => {\n setCurrentOtcInput(\"from\");\n\n if (hasBalance) {\n if (!isETH(tokenFrom)) {\n setPayInputAmount(balanceUnit);\n return;\n }\n\n // if ETH in OTC form then it's wrapping\n const gasPriceMultiplier = gasPrices?.legacyPrices.instant;\n if (gasPriceMultiplier) {\n const gasFeeETH = Big(WRAP_ETH_GAS_LIMIT_INACCURATE)\n .mul(gasPriceMultiplier)\n .div(1e9);\n const balanceWithDeductedGas = Big(balanceUnit).minus(gasFeeETH);\n\n setPayInputAmount(balanceWithDeductedGas.toString());\n }\n }\n },\n };\n};\n\nconst useTokenFromBalanceUnit = () => {\n const tokenFrom = useOtcTokenFrom();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\nconst useExtraProps = (): TokenInputExtraProps => {\n const appChainId = useChainId();\n const enabledChainsWithOTC = useEnabledSrcChainsWithOTC();\n\n const setCurrentInput = useSetAtom(currentOtcInputAtom);\n\n return {\n networkSwitcherProps: {\n classes: {\n // to be able to switch network if on unsupported chain\n root: \"pointer-events-auto\",\n },\n networks: enabledChainsWithOTC,\n selectedNetwork: appChainId,\n allOption: false,\n onSelect: (chainId) => chainId !== \"all\" && switchChain({ chainId }),\n disabled: enabledChainsWithOTC.length <= 1,\n },\n tokenType: \"from\" as const,\n onFocus: () => setCurrentInput(\"from\"),\n label: (\n <>\n <span>Pay</span> <span className=\"text-contrast-5\">on</span>\n </>\n ),\n };\n};\n\nconst disabledClasses = {\n root: \"pointer-events-none\",\n};\n\nexport const useOtcInputClasses = (): TokenInputProps[\"classes\"] => {\n const unsupportedChain = useUnsupportedOtcChain();\n if (unsupportedChain) return disabledClasses;\n};\n\nexport const useOtcTokenFromInputProps = (): TokenInputProps => {\n const amountProps = useOtcTokenFromAmountProps();\n const extraProps = useExtraProps();\n\n const payInputAmountWei = useAtomValue(otcPayInputAmountWeiAtom);\n\n const tokenConditionalProps = useTokenConditionalProps({\n amountWei: payInputAmountWei,\n tokenFrom: amountProps.token,\n });\n\n const maxButtonProps = useMaxButtonProps({ tokenFrom: amountProps.token });\n\n const setTokenFrom = useSetAtom(selectOtcTokenFromAtom);\n\n const classes = useOtcInputClasses();\n\n return {\n ...amountProps,\n ...extraProps,\n ...tokenConditionalProps,\n ...maxButtonProps,\n onTokenSelect: setTokenFrom,\n classes,\n };\n};\n"],"names":["useOtcTokenFromAmountProps","$","_c","logger","useLogger","tokenFrom","useOtcTokenFrom","amountValue","useAtomValue","otcPayInputAmountAtom","setAmountValue","useSetAtom","setOtcPayAmountAtom","tokenBalanceUnit","useTokenFromBalanceUnit","t0","values","log","value","t1","amount","token","onAmountChange","useTokenConditionalProps","amountWei","address","tokenAddress","enabled","combinedAllowance","srcCombinedAllowance","useOTCOrderRequiredAllowance","t2","spenderContractType","amountToApproveInWei","tokenAllowance","useGenericTokenAllowance","isInsufficientBalance","isInsufficientBalanceToFill","requiredBalanceToFillUnit","useIsInsufficientBalanceToFillOtcOrder","t3","t4","t5","t6","requiredBalanceToFillFormatted","formatTokenAmount","undefined","t7","needsApproval","lockIcon","getInsufficientBalanceToFillOrderMessage","shouldDisplay","messageOverride","t8","tokenBadgePropsOverride","insufficientBalanceMessageProps","useMaxButtonProps","setCurrentOtcInput","currentOtcInputAtom","setPayInputAmount","Symbol","for","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","queryOptions","balanceUnit","useTokenBalance","data","gasPrices","useGasPrices","hasBalance","showMaxButton","legacyPrices","isETH","gasPriceMultiplier","instant","gasFeeETH","Big","WRAP_ETH_GAS_LIMIT_INACCURATE","mul","div","balanceWithDeductedGas","minus","toString","onMaxClick","toDecimalTrimmed","useExtraProps","appChainId","useChainId","enabledChainsWithOTC","useEnabledSrcChainsWithOTC","setCurrentInput","root","length","classes","networks","selectedNetwork","allOption","onSelect","_temp","disabled","networkSwitcherProps","tokenType","onFocus","label","disabledClasses","useOtcInputClasses","unsupportedChain","useUnsupportedOtcChain","useOtcTokenFromInputProps","amountProps","extraProps","payInputAmountWei","otcPayInputAmountWeiAtom","tokenConditionalProps","maxButtonProps","setTokenFrom","selectOtcTokenFromAtom","onTokenSelect","chainId","switchChain"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,MAAMA,6BAA6BA,MAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAIjC,EAAA,MAAAC,MAAAA,GAAeC,UAAU,6BAA6B,CAAA;AACtD,EAAA,MAAAC,YAAkBC,eAAAA,EAAgB;AAElC,EAAA,MAAAC,WAAAA,GAAoBC,aAAaC,qBAAqB,CAAA;AACtD,EAAA,MAAAC,cAAAA,GAAuBC,WAAWC,mBAAmB,CAAA;AAErD,EAAA,MAAAC,mBAAyBC,uBAAAA,EAAwB;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAd,EAAA,CAAA,CAAA,KAAAE,UAAAF,CAAAA,QAAAS,cAAAA,EAAA;AAMjCK,IAAAA,EAAAA,GAAAC,CAAAA,MAAAA,KAAA;AACdb,MAAAA,MAAAA,CAAMc,GAAAA,CAAK,0BAA0BD,MAAM,CAAA;AAC3CN,MAAAA,cAAAA,CAAeM,OAAME,KAAM,CAAA;AAAA,IAAC,CAAA;AAC7BjB,IAAAA,CAAAA,MAAAE,MAAAA;AAAAF,IAAAA,CAAAA,MAAAS,cAAAA;AAAAT,IAAAA,CAAAA,MAAAc,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAd,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAkB,EAAAA;AAAA,EAAA,IAAAlB,CAAAA,CAAA,CAAA,CAAA,KAAAM,WAAAA,IAAAN,EAAA,CAAA,CAAA,KAAAc,EAAAA,IAAAd,CAAAA,CAAA,CAAA,CAAA,KAAAY,gBAAAA,IAAAZ,CAAAA,QAAAI,SAAAA,EAAA;AAPIc,IAAAA,EAAAA,GAAA;AAAA,MAAAC,MAAAA,EACGb,WAAAA;AAAAA,MAAWM,gBAAAA;AAAAA,MAAAQ,KAAAA,EAEZhB,SAAAA;AAAAA,MAASiB,cAAAA,EACAP;AAAAA,KAIlB;AAACd,IAAAA,CAAAA,MAAAM,WAAAA;AAAAN,IAAAA,CAAAA,MAAAc,EAAAA;AAAAd,IAAAA,CAAAA,MAAAY,gBAAAA;AAAAZ,IAAAA,CAAAA,MAAAI,SAAAA;AAAAJ,IAAAA,CAAAA,MAAAkB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAlB,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OARMkB,EAAAA;AAQN,CAAA;AAQH,MAAMI,2BAA2BR,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAd,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAsB,SAAAA;AAAAA,IAAAnB;AAAAA,GAAA,GAAAU,EAAAA;AAGF,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAAlB,CAAAA,QAAAuB,SAAAA,IAAAvB,EAAA,CAAA,CAAA,KAAAI,UAAAoB,OAAAA,EAAA;AAUCN,IAAAA,EAAAA,GAAA;AAAA,MAAAO,cACbrB,SAAAA,CAASoB,OAAAA;AAAAA,MAAQL,MAAAA,EACvBI,SAAAA;AAAAA,MAASG,OAAAA,EACR;AAAA,KACX;AAAC1B,IAAAA,CAAAA,MAAAuB,SAAAA;AAAAvB,IAAAA,CAAAA,CAAA,CAAA,IAAAI,SAAAA,CAAAoB,OAAAA;AAAAxB,IAAAA,CAAAA,MAAAkB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAlB,EAAA,CAAA,CAAA;AAAA,EAAA;AALH,EAAA,MAAA;AAAA,IAAA2B,iBAAAA,EAAAC;AAAAA,GAAA,GACEC,6BAA6BX,EAI5B,CAAA;AAAE,EAAA,IAAAY,EAAAA;AAAA,EAAA,IAAA9B,EAAA,CAAA,CAAA,KAAA4B,wBAAA5B,CAAAA,QAAAI,SAAAA,EAAA;AAE2C0B,IAAAA,EAAAA,GAAA;AAAA,MAAAV,KAAAA,EACvChB,SAAAA;AAAAA,MAAS2B,mBAAAA,EACK,aAAA;AAAA,MAAaC,oBAAAA,EACZJ;AAAAA,KACxB;AAAC5B,IAAAA,CAAAA,MAAA4B,oBAAAA;AAAA5B,IAAAA,CAAAA,MAAAI,SAAAA;AAAAJ,IAAAA,CAAAA,MAAA8B,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA9B,EAAA,CAAA,CAAA;AAAA,EAAA;AAJD,EAAA,MAAAiC,cAAAA,GAAuBC,yBAAyBJ,EAI/C,CAAA;AAED,EAAA,MAAA;AAAA,IAAAK,qBAAAA;AAAAA,IAAAC,2BAAAA;AAAAA,IAAAC;AAAAA,MAIIC,sCAAAA,EAAuC;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAA1C,EAAA,CAAA,CAAA,KAAAmC,yBAAAnC,CAAAA,CAAA,CAAA,MAAAoC,2BAAAA,IAAApC,CAAAA,CAAA,CAAA,CAAA,KAAAqC,yBAAAA,IAAArC,EAAA,CAAA,CAAA,KAAAiC,kBAAAjC,CAAAA,SAAAI,SAAAA,EAAA;AAE7C,IAAA,MAAAuC,8BAAAA,GACEP,2BAAAA,IAAAC,yBAAAA,GACIO,iBAAAA,CAAkBP,yBACV,CAAA,GAFZQ,MAAAA;AAOI,IAAA,MAAAC,GAAAA,IAACX,qBAAAA,IAAD,CACCC,+BACDH,cAAAA,CAAcc,aAAAA;AAAc,IAAA,IAAA/C,CAAAA,SAAA8C,GAAAA,EAAA;AAJPJ,MAAAA,EAAAA,GAAA;AAAA,QAAAM,QAAAA,EAErBF;AAAAA,OAGJ;AAAC9C,MAAAA,CAAAA,OAAA8C,GAAAA;AAAA9C,MAAAA,CAAAA,OAAA0C,EAAAA;AAAAA,IAAA,CAAA,MAAA;AAAAA,MAAAA,EAAAA,GAAA1C,EAAA,EAAA,CAAA;AAAA,IAAA;AAEQI,IAAAA,EAAAA,GAAAA,SAAAA;AACQoC,IAAAA,EAAAA,GAAAL,qBAAAA,IAAAC,2BAAAA;AACEK,IAAAA,EAAAA,GAAAE,8BAAAA,GACbM,wCAAAA,CACE7C,SAAAA,EACAuC,8BAEM,CAAA,GALKE,MAAAA;AAKJ7C,IAAAA,CAAAA,MAAAmC,qBAAAA;AAAAnC,IAAAA,CAAAA,MAAAoC,2BAAAA;AAAApC,IAAAA,CAAAA,MAAAqC,yBAAAA;AAAArC,IAAAA,CAAAA,MAAAiC,cAAAA;AAAAjC,IAAAA,CAAAA,OAAAI,SAAAA;AAAAJ,IAAAA,CAAAA,OAAAuC,EAAAA;AAAAvC,IAAAA,CAAAA,OAAAwC,EAAAA;AAAAxC,IAAAA,CAAAA,OAAAyC,EAAAA;AAAAzC,IAAAA,CAAAA,OAAA0C,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAH,IAAAA,EAAAA,GAAAvC,EAAA,EAAA,CAAA;AAAAwC,IAAAA,EAAAA,GAAAxC,EAAA,EAAA,CAAA;AAAAyC,IAAAA,EAAAA,GAAAzC,EAAA,EAAA,CAAA;AAAA0C,IAAAA,EAAAA,GAAA1C,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAA8C,EAAAA;AAAA,EAAA,IAAA9C,CAAAA,CAAA,EAAA,CAAA,KAAAuC,EAAAA,IAAAvC,CAAAA,SAAAwC,EAAAA,IAAAxC,CAAAA,CAAA,EAAA,CAAA,KAAAyC,EAAAA,EAAA;AARkBK,IAAAA,EAAAA,GAAA;AAAA,MAAA1B,KAAAA,EACxBhB,EAAAA;AAAAA,MAAS8C,aAAAA,EACDV,EAAAA;AAAAA,MAAoDW,eAAAA,EAClDV;AAAAA,KAMnB;AAACzC,IAAAA,CAAAA,OAAAuC,EAAAA;AAAAvC,IAAAA,CAAAA,OAAAwC,EAAAA;AAAAxC,IAAAA,CAAAA,OAAAyC,EAAAA;AAAAzC,IAAAA,CAAAA,OAAA8C,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA9C,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAoD,EAAAA;AAAA,EAAA,IAAApD,EAAA,EAAA,CAAA,KAAA0C,MAAA1C,CAAAA,SAAA8C,EAAAA,EAAA;AAhBIM,IAAAA,EAAAA,GAAA;AAAA,MAAAC,uBAAAA,EACoBX,EAAAA;AAAAA,MAKxBY,+BAAAA,EACgCR;AAAAA,KAUnC;AAAC9C,IAAAA,CAAAA,OAAA0C,EAAAA;AAAA1C,IAAAA,CAAAA,OAAA8C,EAAAA;AAAA9C,IAAAA,CAAAA,OAAAoD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAApD,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAjBMoD,EAAAA;AAiBN,CAAA;AAGH,MAAMG,oBAAoBzC,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAd,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAG;AAAAA,GAAA,GAAAU,EAAAA;AACzB,EAAA,MAAA0C,kBAAAA,GAA2B9C,WAAW+C,mBAAmB,CAAA;AACzD,EAAA,MAAAC,iBAAAA,GAA0BhD,WAAWF,qBAAqB,CAAA;AAAE,EAAA,IAAAU,EAAAA;AAAA,EAAA,IAAAlB,EAAA,CAAA,CAAA,KAAA2D,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAI5C1C,IAAAA,EAAAA,GAAA;AAAA,MAAA2C,eAAAA,EAAmBC;AAAAA,KAAmC;AAAC9D,IAAAA,CAAAA,MAAAkB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAlB,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAA8B,EAAAA;AAAA,EAAA,IAAA9B,CAAAA,QAAAI,SAAAA,EAAA;AAF/B0B,IAAAA,EAAAA,GAAA;AAAA,MAAAV,KAAAA,EAC/BhB,SAAAA;AAAAA,MAAS2D,YAAAA,EACF7C;AAAAA,KAChB;AAAClB,IAAAA,CAAAA,MAAAI,SAAAA;AAAAJ,IAAAA,CAAAA,MAAA8B,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA9B,EAAA,CAAA,CAAA;AAAA,EAAA;AAHD,EAAA,MAAA;AAAA,IAAAgE;AAAAA,GAAA,GAAwBC,gBAAgBnC,EAGvC,CAAA;AAED,EAAA,MAAA;AAAA,IAAAoC,IAAAA,EAAAC;AAAAA,MAA4BC,YAAAA,EAAa;AAEzC,EAAA,MAAAC,UAAAA,GAAmB,CAAC,CAACL,WAAAA,IAAeA,WAAAA,KAAgB,GAAA;AACpD,EAAA,MAAAM,aAAAA,GAAsBD,UAAAA;AAAW,EAAA,IAAA9B,EAAAA;AAAA,EAAA,IAAAvC,CAAAA,CAAA,CAAA,CAAA,KAAAgE,WAAAA,IAAAhE,CAAAA,QAAAmE,SAAAA,EAAAI,YAAAA,IAAAvE,CAAAA,CAAA,CAAA,CAAA,KAAAqE,cAAArE,CAAAA,CAAA,CAAA,CAAA,KAAAwD,kBAAAA,IAAAxD,CAAAA,QAAA0D,iBAAAA,IAAA1D,CAAAA,CAAA,CAAA,CAAA,KAAAI,SAAAA,EAAA;AAInBmC,IAAAA,EAAAA,GAAAA,MAAA;AACViB,MAAAA,kBAAAA,CAAmB,MAAM,CAAA;AAEzB,MAAA,IAAIa,UAAAA,EAAU;AACZ,QAAA,IAAI,CAACG,KAAAA,CAAMpE,SAAS,CAAA,EAAC;AACnBsD,UAAAA,iBAAAA,CAAkBM,WAAW,CAAA;AAAC,UAAA;AAAA,QAAA;AAKhC,QAAA,MAAAS,kBAAAA,GAA2BN,WAASI,YAAAA,CAAsBG,OAAAA;AAC1D,QAAA,IAAID,kBAAAA,EAAkB;AACpB,UAAA,MAAAE,SAAAA,GAAkBC,IAAIC,6BAA6B,CAAA,CAACC,IAC7CL,kBAAkB,CAAA,CAACM,IACnB,GAAG,CAAA;AACV,UAAA,MAAAC,sBAAAA,GAA+BJ,GAAAA,CAAIZ,WAAW,CAAA,CAACiB,MAAON,SAAS,CAAA;AAE/DjB,UAAAA,iBAAAA,CAAkBsB,sBAAAA,CAAsBE,UAAW,CAAA;AAAA,QAAC;AAAA,MACrD;AAAA,IACF,CAAA;AACFlF,IAAAA,CAAAA,MAAAgE,WAAAA;AAAAhE,IAAAA,CAAAA,CAAA,CAAA,IAAAmE,SAAAA,EAAAI,YAAAA;AAAAvE,IAAAA,CAAAA,MAAAqE,UAAAA;AAAArE,IAAAA,CAAAA,MAAAwD,kBAAAA;AAAAxD,IAAAA,CAAAA,MAAA0D,iBAAAA;AAAA1D,IAAAA,CAAAA,MAAAI,SAAAA;AAAAJ,IAAAA,CAAAA,MAAAuC,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAvC,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAwC,EAAAA;AAAA,EAAA,IAAAxC,EAAA,EAAA,CAAA,KAAAsE,iBAAAtE,CAAAA,SAAAuC,EAAAA,EAAA;AAtBIC,IAAAA,EAAAA,GAAA;AAAA,MAAA8B,aAAAA;AAAAA,MAAAa,UAAAA,EAEO5C;AAAAA,KAqBd;AAACvC,IAAAA,CAAAA,OAAAsE,aAAAA;AAAAtE,IAAAA,CAAAA,OAAAuC,EAAAA;AAAAvC,IAAAA,CAAAA,OAAAwC,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAxC,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAvBMwC,EAAAA;AAuBN,CAAA;AAGH,MAAM3B,0BAA0BA,MAAA;AAAA,EAAA,MAAAb,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAC9B,EAAA,MAAAG,YAAkBC,eAAAA,EAAgB;AAAE,EAAA,IAAAS,EAAAA;AAAA,EAAA,IAAAd,EAAA,CAAA,CAAA,KAAA2D,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAIpB9C,IAAAA,EAAAA,GAAA;AAAA,MAAA+C,eAAAA,EAAmBC;AAAAA,KAAmC;AAAC9D,IAAAA,CAAAA,MAAAc,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAd,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAkB,EAAAA;AAAA,EAAA,IAAAlB,CAAAA,QAAAI,SAAAA,EAAA;AAF/Bc,IAAAA,EAAAA,GAAA;AAAA,MAAAE,KAAAA,EAC/BhB,SAAAA;AAAAA,MAAS2D,YAAAA,EACFjD;AAAAA,KAChB;AAACd,IAAAA,CAAAA,MAAAI,SAAAA;AAAAJ,IAAAA,CAAAA,MAAAkB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAlB,EAAA,CAAA,CAAA;AAAA,EAAA;AAHD,EAAA,MAAA;AAAA,IAAAgE;AAAAA,GAAA,GAAwBC,gBAAgB/C,EAGvC,CAAA;AAAE,EAAA,IAAAY,EAAAA;AAAA,EAAA,IAAA9B,CAAAA,QAAAgE,WAAAA,EAAA;AAEIlC,IAAAA,EAAAA,GAAAsD,iBAAiBpB,WAAW,CAAA;AAAChE,IAAAA,CAAAA,MAAAgE,WAAAA;AAAAhE,IAAAA,CAAAA,MAAA8B,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA9B,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAA7B8B,EAAAA;AAA6B,CAAA;AAGtC,MAAMuD,gBAAgBA,MAAA;AAAA,EAAA,MAAArF,CAAAA,GAAAC,cAAA,EAAA,CAAA;AACpB,EAAA,MAAAqF,aAAmBC,UAAAA,EAAW;AAC9B,EAAA,MAAAC,uBAA6BC,0BAAAA,EAA2B;AAExD,EAAA,MAAAC,eAAAA,GAAwBhF,WAAW+C,mBAAmB,CAAA;AAAE,EAAA,IAAA3C,EAAAA;AAAA,EAAA,IAAAd,EAAA,CAAA,CAAA,KAAA2D,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAI3C9C,IAAAA,EAAAA,GAAA;AAAA,MAAA6E,IAAAA,EAED;AAAA,KACR;AAAC3F,IAAAA,CAAAA,MAAAc,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAd,EAAA,CAAA,CAAA;AAAA,EAAA;AAKS,EAAA,MAAAkB,EAAAA,GAAAsE,qBAAoBI,MAAAA,IAAW,CAAA;AAAC,EAAA,IAAA9D,EAAAA;AAAA,EAAA,IAAA9B,CAAAA,CAAA,CAAA,CAAA,KAAAsF,UAAAA,IAAAtF,CAAAA,QAAAwF,oBAAAA,IAAAxF,CAAAA,CAAA,CAAA,CAAA,KAAAkB,EAAAA,EAAA;AATtBY,IAAAA,EAAAA,GAAA;AAAA,MAAA+D,OAAAA,EACX/E,EAAAA;AAAAA,MAGRgF,QAAAA,EACSN,oBAAAA;AAAAA,MAAoBO,eAAAA,EACbT,UAAAA;AAAAA,MAAUU,SAAAA,EAChB,KAAA;AAAA,MAAKC,QAAAA,EACNC,KAAAA;AAAAA,MAA0DC,QAAAA,EAC1DjF;AAAAA,KACZ;AAAClB,IAAAA,CAAAA,MAAAsF,UAAAA;AAAAtF,IAAAA,CAAAA,MAAAwF,oBAAAA;AAAAxF,IAAAA,CAAAA,MAAAkB,EAAAA;AAAAlB,IAAAA,CAAAA,MAAA8B,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA9B,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAuC,EAAAA;AAAA,EAAA,IAAAvC,CAAAA,QAAA0F,eAAAA,EAAA;AAEQnD,IAAAA,EAAAA,GAAAA,MAAMmD,gBAAgB,MAAM,CAAA;AAAC1F,IAAAA,CAAAA,MAAA0F,eAAAA;AAAA1F,IAAAA,CAAAA,MAAAuC,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAvC,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAwC,EAAAA;AAAA,EAAA,IAAAxC,EAAA,CAAA,CAAA,KAAA2D,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAGlCpB,IAAAA,EAAAA,mBAAA,GAAA,CAAA,UAAM,QAAA,EAAA,KAAA,EAAG,CAAA;AAAOxC,IAAAA,CAAAA,MAAAwC,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAxC,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAyC,EAAAA;AAAA,EAAA,IAAAzC,EAAA,CAAA,CAAA,KAAA2D,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AADlBnB,IAAAA,EAAAA,mBAAA,IAAA,CAAA,QAAA,EAAA,EACED,QAAAA,EAAAA;AAAAA,MAAAA,EAAAA;AAAAA,MAAgB,GAAA;AAAA,sBAAC,GAAA,CAAA,MAAA,EAAA,EAAgB,SAAA,EAAA,iBAAA,EAAkB,QAAA,EAAA,IAAA,EAAE;AAAA,KAAA,EAAO,CAAA;AAC3DxC,IAAAA,CAAAA,MAAAyC,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAzC,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAA0C,EAAAA;AAAA,EAAA,IAAA1C,EAAA,CAAA,CAAA,KAAA8B,MAAA9B,CAAAA,SAAAuC,EAAAA,EAAA;AAjBAG,IAAAA,EAAAA,GAAA;AAAA,MAAA0D,oBAAAA,EACiBtE,EAAAA;AAAAA,MAUrBuE,SAAAA,EACU,MAAA;AAAA,MAAeC,OAAAA,EACjB/D,EAAAA;AAAAA,MAA6BgE,KAAAA,EAEpC9D;AAAAA,KAIJ;AAACzC,IAAAA,CAAAA,MAAA8B,EAAAA;AAAA9B,IAAAA,CAAAA,OAAAuC,EAAAA;AAAAvC,IAAAA,CAAAA,OAAA0C,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA1C,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAnBM0C,EAAAA;AAmBN,CAAA;AAGH,MAAM8D,eAAAA,GAAkB;AAAA,EACtBb,IAAAA,EAAM;AACR,CAAA;AAEO,MAAMc,qBAAqBA,MAAA;AAChC,EAAA,MAAAC,mBAAyBC,sBAAAA,EAAuB;AAChD,EAAA,IAAID,gBAAAA,EAAgB;AAAA,IAAA,OAASF,eAAAA;AAAAA,EAAe;AAAC;AAGxC,MAAMI,4BAA4BA,MAAA;AAAA,EAAA,MAAA5G,CAAAA,GAAAC,cAAA,EAAA,CAAA;AACvC,EAAA,MAAA4G,cAAoB9G,0BAAAA,EAA2B;AAC/C,EAAA,MAAA+G,aAAmBzB,aAAAA,EAAc;AAEjC,EAAA,MAAA0B,iBAAAA,GAA0BxG,aAAayG,wBAAwB,CAAA;AAAE,EAAA,IAAAlG,EAAAA;AAAA,EAAA,IAAAd,CAAAA,QAAA6G,WAAAA,CAAAzF,SAAApB,CAAAA,QAAA+G,iBAAAA,EAAA;AAEVjG,IAAAA,EAAAA,GAAA;AAAA,MAAAS,SAAAA,EAC1CwF,iBAAAA;AAAAA,MAAiB3G,WACjByG,WAAAA,CAAWzF;AAAAA,KACxB;AAACpB,IAAAA,CAAAA,CAAA,CAAA,IAAA6G,WAAAA,CAAAzF,KAAAA;AAAApB,IAAAA,CAAAA,MAAA+G,iBAAAA;AAAA/G,IAAAA,CAAAA,MAAAc,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAd,EAAA,CAAA,CAAA;AAAA,EAAA;AAHD,EAAA,MAAAiH,qBAAAA,GAA8B3F,yBAAyBR,EAGtD,CAAA;AAAE,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAAlB,CAAAA,CAAA,CAAA,CAAA,KAAA6G,WAAAA,CAAAzF,KAAAA,EAAA;AAEsCF,IAAAA,EAAAA,GAAA;AAAA,MAAAd,WAAayG,WAAAA,CAAWzF;AAAAA,KAAO;AAACpB,IAAAA,CAAAA,CAAA,CAAA,IAAA6G,WAAAA,CAAAzF,KAAAA;AAAApB,IAAAA,CAAAA,MAAAkB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAlB,EAAA,CAAA,CAAA;AAAA,EAAA;AAAzE,EAAA,MAAAkH,cAAAA,GAAuB3D,kBAAkBrC,EAAgC,CAAA;AAEzE,EAAA,MAAAiG,YAAAA,GAAqBzG,WAAW0G,sBAAsB,CAAA;AAEtD,EAAA,MAAAvB,UAAgBY,kBAAAA,EAAmB;AAAE,EAAA,IAAA3E,EAAAA;AAAA,EAAA,IAAA9B,CAAAA,QAAA6G,WAAAA,IAAA7G,EAAA,CAAA,CAAA,KAAA6F,OAAAA,IAAA7F,CAAAA,CAAA,CAAA,CAAA,KAAA8G,cAAA9G,CAAAA,CAAA,CAAA,CAAA,KAAAkH,cAAAA,IAAAlH,CAAAA,QAAAmH,YAAAA,IAAAnH,CAAAA,CAAA,EAAA,CAAA,KAAAiH,qBAAAA,EAAA;AAE9BnF,IAAAA,EAAAA,GAAA;AAAA,MAAA,GACF+E,WAAAA;AAAAA,MAAW,GACXC,UAAAA;AAAAA,MAAU,GACVG,qBAAAA;AAAAA,MAAqB,GACrBC,cAAAA;AAAAA,MAAcG,aAAAA,EACFF,YAAAA;AAAAA,MAAYtB;AAAAA,KAE7B;AAAC7F,IAAAA,CAAAA,MAAA6G,WAAAA;AAAA7G,IAAAA,CAAAA,MAAA6F,OAAAA;AAAA7F,IAAAA,CAAAA,MAAA8G,UAAAA;AAAA9G,IAAAA,CAAAA,MAAAkH,cAAAA;AAAAlH,IAAAA,CAAAA,MAAAmH,YAAAA;AAAAnH,IAAAA,CAAAA,OAAAiH,qBAAAA;AAAAjH,IAAAA,CAAAA,OAAA8B,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA9B,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAPM8B,EAAAA;AAON;AA7DmB,SAAAoE,MAAAoB,OAAAA,EAAA;AAAA,EAAA,OAeOA,OAAAA,KAAY,SAASC,WAAAA,CAAY;AAAA,IAAAD;AAAAA,GAAW,CAAA;AAAC;;;;"}
1
+ {"version":3,"file":"useOtcTokenFromInputProps.js","sources":["../../../src/core/otc/useOtcTokenFromInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\nimport { useAtomValue, useSetAtom } from \"@/core/store\";\nimport { setOtcPayAmountAtom } from \"./state/otcInputActionsAtom\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type {\n TokenInputAmountProps,\n TokenInputExtraProps,\n} from \"../inputs/hooks/types\";\nimport { useLogger } from \"../logger\";\nimport {\n otcPayInputAmountAtom,\n otcPayInputAmountWeiAtom,\n} from \"./state/otcInputAmountAtom\";\nimport { useChainId } from \"wagmi\";\nimport { currentOtcInputAtom } from \"./state/currentOtcInputAtom\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useGenericTokenAllowance } from \"@/hooks/tokens/allowance/useGenericTokenAllowance\";\nimport { useIsInsufficientBalanceToFillOtcOrder } from \"@/hooks/tokens/balances/useIsLimitOrderInsufficientBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { WRAP_ETH_GAS_LIMIT_INACCURATE } from \"@/lib/constants\";\nimport { useUnsupportedOtcChain } from \"./useOtcNotSupported\";\nimport { selectOtcTokenFromAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useOtcTokenFrom } from \"./state/selectedTokenAtom\";\nimport { formatTokenAmount } from \"@/lib/utils/formatTokenBalance\";\nimport { getInsufficientBalanceToFillOrderMessage } from \"@/lib/utils/delta\";\nimport { useOTCOrderRequiredAllowance } from \"@/hooks/otc/queries/useLimitOrderRequiredBalance\";\nimport { useEnabledSrcChainsWithOTC } from \"../state/enabledChainsAtom\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\nimport { useMaxButtonPropsBase } from \"../inputs/hooks/useMaxButtonProps\";\n\nconst useOtcTokenFromAmountProps = (): MarkRequired<\n TokenInputAmountProps,\n \"token\"\n> => {\n const logger = useLogger(\"OTC::TokenFrom::AmountProps\");\n const tokenFrom = useOtcTokenFrom();\n\n const amountValue = useAtomValue(otcPayInputAmountAtom);\n const setAmountValue = useSetAtom(setOtcPayAmountAtom);\n\n const tokenBalanceUnit = useTokenFromBalanceUnit();\n\n return {\n amount: amountValue,\n tokenBalanceUnit,\n token: tokenFrom,\n onAmountChange: (values) => {\n logger.log(\"onAmountChange::values\", values);\n setAmountValue(values.value);\n },\n };\n};\n\ntype UseTokenConditionalPropsInput = {\n amountWei: string;\n tokenFrom: Token;\n};\n\nconst useTokenConditionalProps = ({\n amountWei,\n tokenFrom,\n}: UseTokenConditionalPropsInput): Required<\n Pick<\n TokenInputProps,\n \"insufficientBalanceMessageProps\" | \"tokenBadgePropsOverride\"\n >\n> => {\n const spenderContractType = \"AugustusRFQ\";\n\n // amount required to cover allowance of current Orders + amount for the new Order\n const { combinedAllowance: srcCombinedAllowance } =\n useOTCOrderRequiredAllowance({\n tokenAddress: tokenFrom.address,\n amount: amountWei,\n enabled: spenderContractType === \"AugustusRFQ\",\n });\n\n const tokenAllowance = useGenericTokenAllowance({\n token: tokenFrom,\n spenderContractType: \"AugustusRFQ\",\n amountToApproveInWei: srcCombinedAllowance,\n });\n\n const {\n isInsufficientBalance,\n isInsufficientBalanceToFill,\n requiredBalanceToFillUnit,\n } = useIsInsufficientBalanceToFillOtcOrder();\n\n const requiredBalanceToFillFormatted =\n isInsufficientBalanceToFill && requiredBalanceToFillUnit\n ? formatTokenAmount(requiredBalanceToFillUnit)\n : undefined;\n\n return {\n tokenBadgePropsOverride: {\n lockIcon:\n !isInsufficientBalance &&\n !isInsufficientBalanceToFill &&\n tokenAllowance.needsApproval,\n },\n insufficientBalanceMessageProps: {\n token: tokenFrom,\n shouldDisplay: isInsufficientBalance || isInsufficientBalanceToFill,\n messageOverride: requiredBalanceToFillFormatted\n ? getInsufficientBalanceToFillOrderMessage(\n tokenFrom,\n requiredBalanceToFillFormatted\n )\n : undefined,\n },\n };\n};\n\nconst useMaxButtonProps = ({ tokenFrom }: { tokenFrom: Token }) => {\n const setCurrentLimitInput = useSetAtom(currentOtcInputAtom);\n const setPayInputAmount = useSetAtom(otcPayInputAmountAtom);\n\n const gasLimit = WRAP_ETH_GAS_LIMIT_INACCURATE;\n const onClick = (balanceUnit: string) => {\n setCurrentLimitInput(\"from\");\n setPayInputAmount(balanceUnit);\n };\n\n return useMaxButtonPropsBase({ tokenFrom, gasLimit, onClick });\n};\n\nconst useTokenFromBalanceUnit = () => {\n const tokenFrom = useOtcTokenFrom();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\nconst useExtraProps = (): TokenInputExtraProps => {\n const appChainId = useChainId();\n const enabledChainsWithOTC = useEnabledSrcChainsWithOTC();\n\n const setCurrentInput = useSetAtom(currentOtcInputAtom);\n\n return {\n networkSwitcherProps: {\n classes: {\n // to be able to switch network if on unsupported chain\n root: \"pointer-events-auto\",\n },\n networks: enabledChainsWithOTC,\n selectedNetwork: appChainId,\n allOption: false,\n onSelect: (chainId) => chainId !== \"all\" && switchChain({ chainId }),\n disabled: enabledChainsWithOTC.length <= 1,\n },\n tokenType: \"from\" as const,\n onFocus: () => setCurrentInput(\"from\"),\n label: (\n <>\n <span>Pay</span> <span className=\"text-contrast-5\">on</span>\n </>\n ),\n };\n};\n\nconst disabledClasses = {\n root: \"pointer-events-none\",\n};\n\nexport const useOtcInputClasses = (): TokenInputProps[\"classes\"] => {\n const unsupportedChain = useUnsupportedOtcChain();\n if (unsupportedChain) return disabledClasses;\n};\n\nexport const useOtcTokenFromInputProps = (): TokenInputProps => {\n const amountProps = useOtcTokenFromAmountProps();\n const extraProps = useExtraProps();\n\n const payInputAmountWei = useAtomValue(otcPayInputAmountWeiAtom);\n\n const tokenConditionalProps = useTokenConditionalProps({\n amountWei: payInputAmountWei,\n tokenFrom: amountProps.token,\n });\n\n const maxButtonProps = useMaxButtonProps({ tokenFrom: amountProps.token });\n\n const setTokenFrom = useSetAtom(selectOtcTokenFromAtom);\n\n const classes = useOtcInputClasses();\n\n return {\n ...amountProps,\n ...extraProps,\n ...tokenConditionalProps,\n ...maxButtonProps,\n onTokenSelect: setTokenFrom,\n classes,\n };\n};\n"],"names":["useOtcTokenFromAmountProps","$","_c","logger","useLogger","tokenFrom","useOtcTokenFrom","amountValue","useAtomValue","otcPayInputAmountAtom","setAmountValue","useSetAtom","setOtcPayAmountAtom","tokenBalanceUnit","useTokenFromBalanceUnit","t0","values","log","value","t1","amount","token","onAmountChange","useTokenConditionalProps","amountWei","address","tokenAddress","enabled","combinedAllowance","srcCombinedAllowance","useOTCOrderRequiredAllowance","t2","spenderContractType","amountToApproveInWei","tokenAllowance","useGenericTokenAllowance","isInsufficientBalance","isInsufficientBalanceToFill","requiredBalanceToFillUnit","useIsInsufficientBalanceToFillOtcOrder","t3","t4","t5","t6","requiredBalanceToFillFormatted","formatTokenAmount","undefined","t7","needsApproval","lockIcon","getInsufficientBalanceToFillOrderMessage","shouldDisplay","messageOverride","t8","tokenBadgePropsOverride","insufficientBalanceMessageProps","useMaxButtonProps","setCurrentLimitInput","currentOtcInputAtom","setPayInputAmount","balanceUnit","onClick","gasLimit","WRAP_ETH_GAS_LIMIT_INACCURATE","useMaxButtonPropsBase","Symbol","for","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","queryOptions","useTokenBalance","toDecimalTrimmed","useExtraProps","appChainId","useChainId","enabledChainsWithOTC","useEnabledSrcChainsWithOTC","setCurrentInput","root","length","classes","networks","selectedNetwork","allOption","onSelect","_temp","disabled","networkSwitcherProps","tokenType","onFocus","label","disabledClasses","useOtcInputClasses","unsupportedChain","useUnsupportedOtcChain","useOtcTokenFromInputProps","amountProps","extraProps","payInputAmountWei","otcPayInputAmountWeiAtom","tokenConditionalProps","maxButtonProps","setTokenFrom","selectOtcTokenFromAtom","onTokenSelect","chainId","switchChain"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare function useOnClickOutside(containerRef: React.RefObject<HTMLDivElement | null>): void;
1
+ export declare function useCloseScreenOnClickOutside(containerRef: React.RefObject<HTMLDivElement | null>): void;
2
2
  //# sourceMappingURL=useOnClickOutside.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useOnClickOutside.d.ts","sourceRoot":"","sources":["../../../../src/core/screen/hooks/useOnClickOutside.ts"],"names":[],"mappings":"AAIA,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,QAQrD"}
1
+ {"version":3,"file":"useOnClickOutside.d.ts","sourceRoot":"","sources":["../../../../src/core/screen/hooks/useOnClickOutside.ts"],"names":[],"mappings":"AAIA,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,QAQrD"}
@@ -1,9 +1,9 @@
1
1
  import { d as distExports } from '../../../_virtual/index.js';
2
2
  import { useClickOutside } from '../../../hooks/useClickOutside.js';
3
- import { useScreen } from '../state/screenAtom.js';
3
+ import { useScreen } from '../state/hooks/useScreen.js';
4
4
  import { screenTypesClosableByOutsideClick } from '../screenByType.js';
5
5
 
6
- function useOnClickOutside(containerRef) {
6
+ function useCloseScreenOnClickOutside(containerRef) {
7
7
  const $ = distExports.c(3);
8
8
  const {
9
9
  screen,
@@ -26,5 +26,5 @@ function useOnClickOutside(containerRef) {
26
26
  useClickOutside(containerRef, t0);
27
27
  }
28
28
 
29
- export { useOnClickOutside };
29
+ export { useCloseScreenOnClickOutside };
30
30
  //# sourceMappingURL=useOnClickOutside.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useOnClickOutside.js","sources":["../../../../src/core/screen/hooks/useOnClickOutside.ts"],"sourcesContent":["import { useClickOutside } from \"@/hooks/useClickOutside\";\nimport { useScreen } from \"../state/screenAtom\";\nimport { screenTypesClosableByOutsideClick } from \"../screenByType\";\n\nexport function useOnClickOutside(\n containerRef: React.RefObject<HTMLDivElement | null>\n) {\n const { screen, closeScreen } = useScreen();\n useClickOutside(containerRef, () => {\n const screenType = screen?.screenType;\n if (screenType && screenTypesClosableByOutsideClick.includes(screenType))\n closeScreen();\n });\n}\n"],"names":["useOnClickOutside","containerRef","$","_c","screen","closeScreen","useScreen","t0","screenType","screenTypesClosableByOutsideClick","includes","useClickOutside"],"mappings":";;;;;AAIO,SAAAA,kBAAAC,YAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAGL,EAAA,MAAA;AAAA,IAAAC,MAAAA;AAAAA,IAAAC;AAAAA,MAAgCC,SAAAA,EAAU;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAL,CAAAA,QAAAG,WAAAA,IAAAH,EAAA,CAAA,CAAA,KAAAE,QAAAI,UAAAA,EAAA;AACdD,IAAAA,EAAAA,GAAAA,MAAA;AAC5B,MAAA,MAAAC,aAAmBJ,MAAAA,EAAMI,UAAAA;AACzB,MAAA,IAAIA,UAAAA,IAAcC,iCAAAA,CAAiCC,QAAAA,CAAUF,UAAU,CAAA,EAAC;AACtEH,QAAAA,WAAAA,EAAY;AAAA,MAAC;AAAA,IAAC,CAAA;AACjBH,IAAAA,CAAAA,MAAAG,WAAAA;AAAAH,IAAAA,CAAAA,CAAA,CAAA,IAAAE,MAAAA,EAAAI,UAAAA;AAAAN,IAAAA,CAAAA,MAAAK,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAL,EAAA,CAAA,CAAA;AAAA,EAAA;AAJDS,EAAAA,eAAAA,CAAgBV,cAAcM,EAI7B,CAAA;AAAC;;;;"}
1
+ {"version":3,"file":"useOnClickOutside.js","sources":["../../../../src/core/screen/hooks/useOnClickOutside.ts"],"sourcesContent":["import { useClickOutside } from \"@/hooks/useClickOutside\";\nimport { useScreen } from \"../state/hooks/useScreen\";\nimport { screenTypesClosableByOutsideClick } from \"../screenByType\";\n\nexport function useCloseScreenOnClickOutside(\n containerRef: React.RefObject<HTMLDivElement | null>,\n) {\n const { screen, closeScreen } = useScreen();\n useClickOutside(containerRef, () => {\n const screenType = screen?.screenType;\n if (screenType && screenTypesClosableByOutsideClick.includes(screenType))\n closeScreen();\n });\n}\n"],"names":["useCloseScreenOnClickOutside","containerRef","$","_c","screen","closeScreen","useScreen","t0","screenType","screenTypesClosableByOutsideClick","includes","useClickOutside"],"mappings":";;;;;AAIO,SAAAA,6BAAAC,YAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAGL,EAAA,MAAA;AAAA,IAAAC,MAAAA;AAAAA,IAAAC;AAAAA,MAAgCC,SAAAA,EAAU;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAL,CAAAA,QAAAG,WAAAA,IAAAH,EAAA,CAAA,CAAA,KAAAE,QAAAI,UAAAA,EAAA;AACdD,IAAAA,EAAAA,GAAAA,MAAA;AAC5B,MAAA,MAAAC,aAAmBJ,MAAAA,EAAMI,UAAAA;AACzB,MAAA,IAAIA,UAAAA,IAAcC,iCAAAA,CAAiCC,QAAAA,CAAUF,UAAU,CAAA,EAAC;AACtEH,QAAAA,WAAAA,EAAY;AAAA,MAAC;AAAA,IAAC,CAAA;AACjBH,IAAAA,CAAAA,MAAAG,WAAAA;AAAAH,IAAAA,CAAAA,CAAA,CAAA,IAAAE,MAAAA,EAAAI,UAAAA;AAAAN,IAAAA,CAAAA,MAAAK,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAL,EAAA,CAAA,CAAA;AAAA,EAAA;AAJDS,EAAAA,eAAAA,CAAgBV,cAAcM,EAI7B,CAAA;AAAC;;;;"}
@@ -0,0 +1,2 @@
1
+ export declare function useRunOnMount(func: () => void): void;
2
+ //# sourceMappingURL=useRunOnMount.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRunOnMount.d.ts","sourceRoot":"","sources":["../../../../src/core/screen/hooks/useRunOnMount.ts"],"names":[],"mappings":"AAEA,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,IAAI,GAAG,IAAI,CASpD"}
@@ -0,0 +1,28 @@
1
+ import { d as distExports } from '../../../_virtual/index.js';
2
+ import { useRef, useEffect } from 'react';
3
+
4
+ function useRunOnMount(func) {
5
+ const $ = distExports.c(3);
6
+ const hasRunRef = useRef(false);
7
+ let t0;
8
+ let t1;
9
+ if ($[0] !== func) {
10
+ t0 = () => {
11
+ if (!hasRunRef.current) {
12
+ func();
13
+ hasRunRef.current = true;
14
+ }
15
+ };
16
+ t1 = [func];
17
+ $[0] = func;
18
+ $[1] = t0;
19
+ $[2] = t1;
20
+ } else {
21
+ t0 = $[1];
22
+ t1 = $[2];
23
+ }
24
+ useEffect(t0, t1);
25
+ }
26
+
27
+ export { useRunOnMount };
28
+ //# sourceMappingURL=useRunOnMount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRunOnMount.js","sources":["../../../../src/core/screen/hooks/useRunOnMount.ts"],"sourcesContent":["import { useEffect, useRef } from \"react\";\n\nexport function useRunOnMount(func: () => void): void {\n const hasRunRef = useRef(false);\n\n useEffect(() => {\n if (!hasRunRef.current) {\n func();\n hasRunRef.current = true;\n }\n }, [func]); // only run on mount, once\n}\n"],"names":["useRunOnMount","func","$","_c","hasRunRef","useRef","t0","t1","current","useEffect"],"mappings":";;;AAEO,SAAAA,cAAAC,IAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACL,EAAA,MAAAC,SAAAA,GAAkBC,OAAO,KAAK,CAAA;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAL,CAAAA,QAAAD,IAAAA,EAAA;AAEtBK,IAAAA,EAAAA,GAAAA,MAAA;AACR,MAAA,IAAI,CAACF,UAASI,OAAAA,EAAQ;AACpBP,QAAAA,IAAAA,EAAK;AACLG,QAAAA,SAAAA,CAASI,OAAAA,GAAW,IAAA;AAAA,MAAH;AAAA,IAClB,CAAA;AACAD,IAAAA,EAAAA,GAAA,CAACN,IAAI,CAAA;AAACC,IAAAA,CAAAA,MAAAD,IAAAA;AAAAC,IAAAA,CAAAA,MAAAI,EAAAA;AAAAJ,IAAAA,CAAAA,MAAAK,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAD,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAAK,IAAAA,EAAAA,GAAAL,EAAA,CAAA,CAAA;AAAA,EAAA;AALTO,EAAAA,SAAAA,CAAUH,IAKPC,EAAM,CAAA;AAAC;;;;"}
@@ -3,5 +3,12 @@ export declare const screenByType: {
3
3
  tradeOverview: ({ flowType, flowProps, }: import('../../components/widget/TradeOverview/TradeOverviewScreen').TradeOverviewScreenProps) => import("react/jsx-runtime").JSX.Element;
4
4
  activities: () => import("react/jsx-runtime").JSX.Element;
5
5
  };
6
- export declare const screenTypesClosableByOutsideClick: (keyof typeof screenByType)[];
6
+ export type ScreenType = keyof typeof screenByType;
7
+ export type FilledScreenState = {
8
+ [Type in ScreenType]: {
9
+ screenType: Type;
10
+ screenProps: React.ComponentProps<(typeof screenByType)[Type]>;
11
+ };
12
+ }[ScreenType];
13
+ export declare const screenTypesClosableByOutsideClick: ScreenType[];
7
14
  //# sourceMappingURL=screenByType.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"screenByType.d.ts","sourceRoot":"","sources":["../../../src/core/screen/screenByType.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,YAAY;;;;CAIxB,CAAC;AAEF,eAAO,MAAM,iCAAiC,EAAE,CAAC,MAAM,OAAO,YAAY,CAAC,EAC5C,CAAC"}
1
+ {"version":3,"file":"screenByType.d.ts","sourceRoot":"","sources":["../../../src/core/screen/screenByType.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,YAAY;;;;CAIxB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,YAAY,CAAC;AAInD,MAAM,MAAM,iBAAiB,GAAG;KAC7B,IAAI,IAAI,UAAU,GAAG;QACpB,UAAU,EAAE,IAAI,CAAC;QACjB,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;KAChE;CACF,CAAC,UAAU,CAAC,CAAC;AAEd,eAAO,MAAM,iCAAiC,EAAE,UAAU,EAGzD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"screenByType.js","sources":["../../../src/core/screen/screenByType.ts"],"sourcesContent":["import { ActivitiesScreen } from \"@/components/widget/AppHeader/Activities/ActivitiesScreen\";\nimport { SelectTokenScreen } from \"@/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog\";\nimport { TradeOverviewScreen } from \"@/components/widget/TradeOverview/TradeOverviewScreen\";\n\nexport const screenByType = {\n selectToken: SelectTokenScreen,\n tradeOverview: TradeOverviewScreen,\n activities: ActivitiesScreen,\n};\n\nexport const screenTypesClosableByOutsideClick: (keyof typeof screenByType)[] =\n [\"selectToken\", \"activities\"];\n"],"names":["screenByType","selectToken","SelectTokenScreen","tradeOverview","TradeOverviewScreen","activities","ActivitiesScreen","screenTypesClosableByOutsideClick"],"mappings":";;;;AAIO,MAAMA,YAAAA,GAAe;AAAA,EAC1BC,WAAAA,EAAaC,iBAAAA;AAAAA,EACbC,aAAAA,EAAeC,mBAAAA;AAAAA,EACfC,UAAAA,EAAYC;AACd;AAEO,MAAMC,iCAAAA,GACX,CAAC,aAAA,EAAe,YAAY;;;;"}
1
+ {"version":3,"file":"screenByType.js","sources":["../../../src/core/screen/screenByType.ts"],"sourcesContent":["import { ActivitiesScreen } from \"@/components/widget/AppHeader/Activities/ActivitiesScreen\";\nimport { SelectTokenScreen } from \"@/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog\";\nimport { TradeOverviewScreen } from \"@/components/widget/TradeOverview/TradeOverviewScreen\";\n\nexport const screenByType = {\n selectToken: SelectTokenScreen,\n tradeOverview: TradeOverviewScreen,\n activities: ActivitiesScreen,\n};\n\nexport type ScreenType = keyof typeof screenByType;\n\n// makes a union with exactly matching `{screenType, screenProps: {[screenType]: screenTypeProps}}`,\n// so that setScreen can only be used with one specific screenType per call\nexport type FilledScreenState = {\n [Type in ScreenType]: {\n screenType: Type;\n screenProps: React.ComponentProps<(typeof screenByType)[Type]>;\n };\n}[ScreenType];\n\nexport const screenTypesClosableByOutsideClick: ScreenType[] = [\n \"selectToken\",\n \"activities\",\n];\n"],"names":["screenByType","selectToken","SelectTokenScreen","tradeOverview","TradeOverviewScreen","activities","ActivitiesScreen","screenTypesClosableByOutsideClick"],"mappings":";;;;AAIO,MAAMA,YAAAA,GAAe;AAAA,EAC1BC,WAAAA,EAAaC,iBAAAA;AAAAA,EACbC,aAAAA,EAAeC,mBAAAA;AAAAA,EACfC,UAAAA,EAAYC;AACd;AAaO,MAAMC,iCAAAA,GAAkD,CAC7D,aAAA,EACA,YAAY;;;;"}
@@ -0,0 +1,5 @@
1
+ import { UseScreenValueResult } from './useScreenValue';
2
+ import { UseSetScreenResult } from './useSetScreen';
3
+ export type UseScreenResult = UseScreenValueResult & UseSetScreenResult;
4
+ export declare const useScreen: () => UseScreenResult;
5
+ //# sourceMappingURL=useScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useScreen.d.ts","sourceRoot":"","sources":["../../../../../src/core/screen/state/hooks/useScreen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAgB,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEvE,MAAM,MAAM,eAAe,GAAG,oBAAoB,GAAG,kBAAkB,CAAC;AAExE,eAAO,MAAM,SAAS,QAAO,eAQ5B,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { d as distExports } from '../../../../_virtual/index.js';
2
+ import { useScreenValue } from './useScreenValue.js';
3
+ import { useSetScreen } from './useSetScreen.js';
4
+
5
+ const useScreen = () => {
6
+ const $ = distExports.c(3);
7
+ const screenValue = useScreenValue();
8
+ const setScreen = useSetScreen();
9
+ let t0;
10
+ if ($[0] !== screenValue || $[1] !== setScreen) {
11
+ t0 = {
12
+ ...screenValue,
13
+ ...setScreen
14
+ };
15
+ $[0] = screenValue;
16
+ $[1] = setScreen;
17
+ $[2] = t0;
18
+ } else {
19
+ t0 = $[2];
20
+ }
21
+ return t0;
22
+ };
23
+
24
+ export { useScreen };
25
+ //# sourceMappingURL=useScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useScreen.js","sources":["../../../../../src/core/screen/state/hooks/useScreen.ts"],"sourcesContent":["import { useScreenValue, type UseScreenValueResult } from \"./useScreenValue\";\nimport { useSetScreen, type UseSetScreenResult } from \"./useSetScreen\";\n\nexport type UseScreenResult = UseScreenValueResult & UseSetScreenResult;\n\nexport const useScreen = (): UseScreenResult => {\n const screenValue = useScreenValue();\n const setScreen = useSetScreen();\n\n return {\n ...screenValue,\n ...setScreen,\n };\n};\n"],"names":["useScreen","$","_c","screenValue","useScreenValue","setScreen","useSetScreen","t0"],"mappings":";;;;AAKO,MAAMA,YAAYA,MAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACvB,EAAA,MAAAC,cAAoBC,cAAAA,EAAe;AACnC,EAAA,MAAAC,YAAkBC,YAAAA,EAAa;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAN,EAAA,CAAA,CAAA,KAAAE,eAAAF,CAAAA,QAAAI,SAAAA,EAAA;AAE1BE,IAAAA,EAAAA,GAAA;AAAA,MAAA,GACFJ,WAAAA;AAAAA,MAAW,GACXE;AAAAA,KACL;AAACJ,IAAAA,CAAAA,MAAAE,WAAAA;AAAAF,IAAAA,CAAAA,MAAAI,SAAAA;AAAAJ,IAAAA,CAAAA,MAAAM,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAN,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAHMM,EAAAA;AAGN;;;;"}
@@ -0,0 +1,8 @@
1
+ import { FilledScreenState } from '../../screenByType';
2
+ import { JSX } from 'react';
3
+ export type UseScreenValueResult = {
4
+ screen: FilledScreenState | null;
5
+ screenElement: JSX.Element | null;
6
+ };
7
+ export declare const useScreenValue: () => UseScreenValueResult;
8
+ //# sourceMappingURL=useScreenValue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useScreenValue.d.ts","sourceRoot":"","sources":["../../../../../src/core/screen/state/hooks/useScreenValue.tsx"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAGjC,MAAM,MAAM,oBAAoB,GAAG;IAEjC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACjC,aAAa,EAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,cAAc,QAAO,oBAejC,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { d as distExports } from '../../../../_virtual/index.js';
3
+ import { useAtomValue } from '../../../store.js';
4
+ import { screenByType } from '../../screenByType.js';
5
+ import 'react';
6
+ import { screenAtom } from '../screenAtom.js';
7
+
8
+ const useScreenValue = () => {
9
+ const $ = distExports.c(6);
10
+ const screen = useAtomValue(screenAtom);
11
+ let screenElement = null;
12
+ if (screen?.screenType) {
13
+ const ScreenComp = screenByType[screen.screenType];
14
+ const t02 = screen.screenProps;
15
+ let t1;
16
+ if ($[0] !== ScreenComp || $[1] !== t02) {
17
+ t1 = /* @__PURE__ */ jsx(ScreenComp, { ...t02 });
18
+ $[0] = ScreenComp;
19
+ $[1] = t02;
20
+ $[2] = t1;
21
+ } else {
22
+ t1 = $[2];
23
+ }
24
+ screenElement = t1;
25
+ }
26
+ let t0;
27
+ if ($[3] !== screen || $[4] !== screenElement) {
28
+ t0 = {
29
+ screen,
30
+ screenElement
31
+ };
32
+ $[3] = screen;
33
+ $[4] = screenElement;
34
+ $[5] = t0;
35
+ } else {
36
+ t0 = $[5];
37
+ }
38
+ return t0;
39
+ };
40
+
41
+ export { useScreenValue };
42
+ //# sourceMappingURL=useScreenValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useScreenValue.js","sources":["../../../../../src/core/screen/state/hooks/useScreenValue.tsx"],"sourcesContent":["import { useAtomValue } from \"@/core/store\";\nimport { screenByType, type FilledScreenState } from \"../../screenByType\";\nimport { type JSX } from \"react\";\nimport { screenAtom } from \"../screenAtom\";\n\nexport type UseScreenValueResult = {\n // allow to destructure without \"screenType\" in screen.screenProps checks\n screen: FilledScreenState | null;\n screenElement: JSX.Element | null;\n};\n\nexport const useScreenValue = (): UseScreenValueResult => {\n const screen = useAtomValue(screenAtom);\n\n let screenElement: JSX.Element | null = null;\n if (screen?.screenType) {\n const ScreenComp = screenByType[screen.screenType];\n // no way to match the type of the screen props to the component and to screenType without one check for each screenType\n /* eslint-disable-next-line @typescript-eslint/no-explicit-any */\n screenElement = <ScreenComp {...(screen.screenProps as any)} />;\n }\n\n return {\n screen,\n screenElement,\n };\n};\n"],"names":["useScreenValue","$","_c","screen","useAtomValue","screenAtom","screenElement","screenType","ScreenComp","screenByType","t0","screenProps","t1"],"mappings":";;;;;;;AAWO,MAAMA,iBAAiBA,MAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAC5B,EAAA,MAAAC,MAAAA,GAAeC,aAAaC,UAAU,CAAA;AAEtC,EAAA,IAAAC,aAAAA,GAAwC,IAAA;AACxC,EAAA,IAAIH,QAAMI,UAAAA,EAAY;AACpB,IAAA,MAAAC,UAAAA,GAAmBC,YAAAA,CAAaN,MAAAA,CAAMI,UAAW,CAAA;AAGhB,IAAA,MAAAG,MAAAP,MAAAA,CAAMQ,WAAAA;AAAmB,IAAA,IAAAC,EAAAA;AAAA,IAAA,IAAAX,EAAA,CAAA,CAAA,KAAAO,cAAAP,CAAAA,QAAAS,GAAAA,EAAA;AAA1CE,MAAAA,EAAAA,mBAAA,GAAA,CAAC,UAAA,EAAA,EAAU,GAAMF,GAAAA,EAAyB,CAAA;AAAKT,MAAAA,CAAAA,MAAAO,UAAAA;AAAAP,MAAAA,CAAAA,MAAAS,GAAAA;AAAAT,MAAAA,CAAAA,MAAAW,EAAAA;AAAAA,IAAA,CAAA,MAAA;AAAAA,MAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,IAAA;AAA/DK,IAAAA,aAAAA,GAAgBA,EAAAA;AAAAA,EAAH;AACd,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAAT,EAAA,CAAA,CAAA,KAAAE,UAAAF,CAAAA,QAAAK,aAAAA,EAAA;AAEMI,IAAAA,EAAAA,GAAA;AAAA,MAAAP,MAAAA;AAAAA,MAAAG;AAAAA,KAGP;AAACL,IAAAA,CAAAA,MAAAE,MAAAA;AAAAF,IAAAA,CAAAA,MAAAK,aAAAA;AAAAL,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAHMS,EAAAA;AAGN;;;;"}
@@ -0,0 +1,10 @@
1
+ import { SelectTokenScreenProps } from '../../../../components/widget/Dialog/SelectTokenDialog/SelectTokenDialog';
2
+ import { TradeOverviewScreenProps } from '../../../../components/widget/TradeOverview/TradeOverviewScreen';
3
+ export type UseSetScreenResult = {
4
+ showSelectTokenScreen: (screenProps: SelectTokenScreenProps) => void;
5
+ showTradeOverviewScreen: (screenProps: TradeOverviewScreenProps) => void;
6
+ showActivitiesScreen: () => void;
7
+ closeScreen: () => void;
8
+ };
9
+ export declare const useSetScreen: () => UseSetScreenResult;
10
+ //# sourceMappingURL=useSetScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSetScreen.d.ts","sourceRoot":"","sources":["../../../../../src/core/screen/state/hooks/useSetScreen.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gEAAgE,CAAC;AAC7G,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uDAAuD,CAAC;AAGtG,MAAM,MAAM,kBAAkB,GAAG;IAC/B,qBAAqB,EAAE,CAAC,WAAW,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACrE,uBAAuB,EAAE,CAAC,WAAW,EAAE,wBAAwB,KAAK,IAAI,CAAC;IACzE,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB,CAAC;AAGF,eAAO,MAAM,YAAY,QAAO,kBAsC/B,CAAC"}
@@ -0,0 +1,81 @@
1
+ import { d as distExports } from '../../../../_virtual/index.js';
2
+ import { useSetAtom } from '../../../store.js';
3
+ import { screenAtom } from '../screenAtom.js';
4
+
5
+ const useSetScreen = () => {
6
+ const $ = distExports.c(13);
7
+ const setScreen = useSetAtom(screenAtom);
8
+ let t0;
9
+ if ($[0] !== setScreen) {
10
+ t0 = () => {
11
+ setScreen(null);
12
+ };
13
+ $[0] = setScreen;
14
+ $[1] = t0;
15
+ } else {
16
+ t0 = $[1];
17
+ }
18
+ const closeScreen = t0;
19
+ let t1;
20
+ if ($[2] !== setScreen) {
21
+ t1 = (screenProps) => {
22
+ setScreen({
23
+ screenType: "selectToken",
24
+ screenProps
25
+ });
26
+ };
27
+ $[2] = setScreen;
28
+ $[3] = t1;
29
+ } else {
30
+ t1 = $[3];
31
+ }
32
+ const showSelectTokenScreen = t1;
33
+ let t2;
34
+ if ($[4] !== setScreen) {
35
+ t2 = (screenProps_0) => {
36
+ setScreen({
37
+ screenType: "tradeOverview",
38
+ screenProps: screenProps_0
39
+ });
40
+ };
41
+ $[4] = setScreen;
42
+ $[5] = t2;
43
+ } else {
44
+ t2 = $[5];
45
+ }
46
+ const showTradeOverviewScreen = t2;
47
+ let t3;
48
+ if ($[6] !== setScreen) {
49
+ t3 = () => {
50
+ setScreen({
51
+ screenType: "activities",
52
+ screenProps: {}
53
+ });
54
+ };
55
+ $[6] = setScreen;
56
+ $[7] = t3;
57
+ } else {
58
+ t3 = $[7];
59
+ }
60
+ const showActivitiesScreen = t3;
61
+ let t4;
62
+ if ($[8] !== closeScreen || $[9] !== showActivitiesScreen || $[10] !== showSelectTokenScreen || $[11] !== showTradeOverviewScreen) {
63
+ t4 = {
64
+ closeScreen,
65
+ showSelectTokenScreen,
66
+ showTradeOverviewScreen,
67
+ showActivitiesScreen
68
+ };
69
+ $[8] = closeScreen;
70
+ $[9] = showActivitiesScreen;
71
+ $[10] = showSelectTokenScreen;
72
+ $[11] = showTradeOverviewScreen;
73
+ $[12] = t4;
74
+ } else {
75
+ t4 = $[12];
76
+ }
77
+ return t4;
78
+ };
79
+
80
+ export { useSetScreen };
81
+ //# sourceMappingURL=useSetScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSetScreen.js","sources":["../../../../../src/core/screen/state/hooks/useSetScreen.ts"],"sourcesContent":["import { useSetAtom } from \"@/core/store\";\nimport type { SelectTokenScreenProps } from \"@/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog\";\nimport type { TradeOverviewScreenProps } from \"@/components/widget/TradeOverview/TradeOverviewScreen\";\nimport { screenAtom } from \"../screenAtom\";\n\nexport type UseSetScreenResult = {\n showSelectTokenScreen: (screenProps: SelectTokenScreenProps) => void;\n showTradeOverviewScreen: (screenProps: TradeOverviewScreenProps) => void;\n showActivitiesScreen: () => void;\n closeScreen: () => void;\n};\n\n// Uses useSetAtom to avoid subscribing to atom changes (only provides setters, not values)\nexport const useSetScreen = (): UseSetScreenResult => {\n const setScreen = useSetAtom(screenAtom);\n\n const closeScreen = () => {\n setScreen(null);\n };\n\n const showSelectTokenScreen: UseSetScreenResult[\"showSelectTokenScreen\"] = (\n screenProps,\n ) => {\n setScreen({\n screenType: \"selectToken\",\n screenProps,\n });\n };\n\n const showTradeOverviewScreen: UseSetScreenResult[\"showTradeOverviewScreen\"] =\n (screenProps) => {\n setScreen({\n screenType: \"tradeOverview\",\n screenProps,\n });\n };\n\n const showActivitiesScreen: UseSetScreenResult[\"showActivitiesScreen\"] =\n () => {\n setScreen({\n screenType: \"activities\",\n screenProps: {},\n });\n };\n\n return {\n closeScreen,\n showSelectTokenScreen,\n showTradeOverviewScreen,\n showActivitiesScreen,\n };\n};\n"],"names":["useSetScreen","$","_c","setScreen","useSetAtom","screenAtom","t0","closeScreen","t1","screenProps","screenType","showSelectTokenScreen","t2","screenProps_0","showTradeOverviewScreen","t3","showActivitiesScreen","t4"],"mappings":"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"}