@blockend/widget 1.0.29 → 1.0.30

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 (220) hide show
  1. package/dist/{AllRoutes-BI6S1_ce.js → AllRoutes-N9u-0kyk.js} +10 -10
  2. package/dist/{AllRoutes-BI6S1_ce.js.map → AllRoutes-N9u-0kyk.js.map} +1 -1
  3. package/dist/{Box-C4LEcE1L.js → Box-DPSoUHKG.js} +3 -3
  4. package/dist/{Box-C4LEcE1L.js.map → Box-DPSoUHKG.js.map} +1 -1
  5. package/dist/{EstGas-Cy36QY2c.js → EstGas-9QzcUupH.js} +9 -9
  6. package/dist/{EstGas-Cy36QY2c.js.map → EstGas-9QzcUupH.js.map} +1 -1
  7. package/dist/{Grow-CFWtr3jQ.js → Grow-sm7uQW-H.js} +3 -3
  8. package/dist/{Grow-CFWtr3jQ.js.map → Grow-sm7uQW-H.js.map} +1 -1
  9. package/dist/{InputComp-GOXzP194.js → InputComp-BNsmXy6D.js} +5 -5
  10. package/dist/{InputComp-GOXzP194.js.map → InputComp-BNsmXy6D.js.map} +1 -1
  11. package/dist/{LoadRoute-BHtVlgUz.js → LoadRoute-DFIoO0Wm.js} +6 -6
  12. package/dist/{LoadRoute-BHtVlgUz.js.map → LoadRoute-DFIoO0Wm.js.map} +1 -1
  13. package/dist/{QuotesProgress-BX0_rKsx.js → QuotesProgress-C4vn322J.js} +2 -2
  14. package/dist/{QuotesProgress-BX0_rKsx.js.map → QuotesProgress-C4vn322J.js.map} +1 -1
  15. package/dist/{SwapAsset-CA5olUCO.js → SwapAsset-kKtvzzJ_.js} +2 -2
  16. package/dist/{SwapAsset-CA5olUCO.js.map → SwapAsset-kKtvzzJ_.js.map} +1 -1
  17. package/dist/{Tooltip-CSAPQuVZ.js → Tooltip-c1DRaAxV.js} +4 -4
  18. package/dist/{Tooltip-CSAPQuVZ.js.map → Tooltip-c1DRaAxV.js.map} +1 -1
  19. package/dist/{TxnButton-DwYxxAGp.js → TxnButton-BmcX_BPz.js} +5 -5
  20. package/dist/{TxnButton-DwYxxAGp.js.map → TxnButton-BmcX_BPz.js.map} +1 -1
  21. package/dist/{add-BRLysQx_.js → add-BDjkKnDN.js} +2 -2
  22. package/dist/{add-BRLysQx_.js.map → add-BDjkKnDN.js.map} +1 -1
  23. package/dist/{all-wallets-CTMqIWCX.js → all-wallets-CrBep7Gl.js} +2 -2
  24. package/dist/{all-wallets-CTMqIWCX.js.map → all-wallets-CrBep7Gl.js.map} +1 -1
  25. package/dist/{app-store-Cp0kt5bI.js → app-store-CwaPvoXY.js} +2 -2
  26. package/dist/{app-store-Cp0kt5bI.js.map → app-store-CwaPvoXY.js.map} +1 -1
  27. package/dist/{apple-CME2ahHH.js → apple-BA8mnYrP.js} +2 -2
  28. package/dist/{apple-CME2ahHH.js.map → apple-BA8mnYrP.js.map} +1 -1
  29. package/dist/{arrow-bottom-DQGzC3_L.js → arrow-bottom-BXdMFUAl.js} +2 -2
  30. package/dist/{arrow-bottom-DQGzC3_L.js.map → arrow-bottom-BXdMFUAl.js.map} +1 -1
  31. package/dist/{arrow-bottom-circle-DCCfea9l.js → arrow-bottom-circle-DFT4mXIU.js} +2 -2
  32. package/dist/{arrow-bottom-circle-DCCfea9l.js.map → arrow-bottom-circle-DFT4mXIU.js.map} +1 -1
  33. package/dist/{arrow-left-BZEB8Yi0.js → arrow-left-BzkeYnqg.js} +2 -2
  34. package/dist/{arrow-left-BZEB8Yi0.js.map → arrow-left-BzkeYnqg.js.map} +1 -1
  35. package/dist/{arrow-right-D3oUWug-.js → arrow-right-DiUAWQjY.js} +2 -2
  36. package/dist/{arrow-right-D3oUWug-.js.map → arrow-right-DiUAWQjY.js.map} +1 -1
  37. package/dist/{arrow-top-L0jwd_xN.js → arrow-top-86AMrjF7.js} +2 -2
  38. package/dist/{arrow-top-L0jwd_xN.js.map → arrow-top-86AMrjF7.js.map} +1 -1
  39. package/dist/{bank-CWIhPnb7.js → bank-DN5JAJkK.js} +2 -2
  40. package/dist/{bank-CWIhPnb7.js.map → bank-DN5JAJkK.js.map} +1 -1
  41. package/dist/{basic-i5EtkmJ-.js → basic-Bn5vs8SQ.js} +4 -4
  42. package/dist/{basic-i5EtkmJ-.js.map → basic-Bn5vs8SQ.js.map} +1 -1
  43. package/dist/{browser-Dwg8HqzU.js → browser-CIEc-DNj.js} +2 -2
  44. package/dist/{browser-Dwg8HqzU.js.map → browser-CIEc-DNj.js.map} +1 -1
  45. package/dist/{card-D8HhV5PJ.js → card-D0J873mK.js} +2 -2
  46. package/dist/{card-D8HhV5PJ.js.map → card-D0J873mK.js.map} +1 -1
  47. package/dist/{ccip-D0D8fhs0.js → ccip-DOQk8pZb.js} +2 -2
  48. package/dist/{ccip-D0D8fhs0.js.map → ccip-DOQk8pZb.js.map} +1 -1
  49. package/dist/{checkmark-bold-jUylCJzk.js → checkmark-bold-Cvmc9tJb.js} +2 -2
  50. package/dist/{checkmark-bold-jUylCJzk.js.map → checkmark-bold-Cvmc9tJb.js.map} +1 -1
  51. package/dist/{checkmark-Cc68r5tO.js → checkmark-mvlF9aX8.js} +2 -2
  52. package/dist/{checkmark-Cc68r5tO.js.map → checkmark-mvlF9aX8.js.map} +1 -1
  53. package/dist/{chevron-bottom-Cj1CTTCf.js → chevron-bottom-CWsU0Wj4.js} +2 -2
  54. package/dist/{chevron-bottom-Cj1CTTCf.js.map → chevron-bottom-CWsU0Wj4.js.map} +1 -1
  55. package/dist/{chevron-left-CPWAs3g3.js → chevron-left-DZoyyvkH.js} +2 -2
  56. package/dist/{chevron-left-CPWAs3g3.js.map → chevron-left-DZoyyvkH.js.map} +1 -1
  57. package/dist/{chevron-right-CXLbBw3Y.js → chevron-right-Db1S8IpK.js} +2 -2
  58. package/dist/{chevron-right-CXLbBw3Y.js.map → chevron-right-Db1S8IpK.js.map} +1 -1
  59. package/dist/{chevron-top-B_SRovV4.js → chevron-top-BG2-jrhN.js} +2 -2
  60. package/dist/{chevron-top-B_SRovV4.js.map → chevron-top-BG2-jrhN.js.map} +1 -1
  61. package/dist/{chrome-store-BixbajoM.js → chrome-store-bZ30Z8RD.js} +2 -2
  62. package/dist/{chrome-store-BixbajoM.js.map → chrome-store-bZ30Z8RD.js.map} +1 -1
  63. package/dist/{clock-BZEB38B_.js → clock-BQCJkpsN.js} +2 -2
  64. package/dist/{clock-BZEB38B_.js.map → clock-BQCJkpsN.js.map} +1 -1
  65. package/dist/{close-Bs6-HBTK.js → close-0442yxHv.js} +2 -2
  66. package/dist/{close-Bs6-HBTK.js.map → close-0442yxHv.js.map} +1 -1
  67. package/dist/{coinPlaceholder-C9y61i8X.js → coinPlaceholder-npHsRGpi.js} +2 -2
  68. package/dist/{coinPlaceholder-C9y61i8X.js.map → coinPlaceholder-npHsRGpi.js.map} +1 -1
  69. package/dist/{compass-C2avtXZS.js → compass-CA-2HVOX.js} +2 -2
  70. package/dist/{compass-C2avtXZS.js.map → compass-CA-2HVOX.js.map} +1 -1
  71. package/dist/{copy-DzOdZkxr.js → copy-DZVC8Hxi.js} +2 -2
  72. package/dist/{copy-DzOdZkxr.js.map → copy-DZVC8Hxi.js.map} +1 -1
  73. package/dist/{core-BZZXuuw4.js → core-h4B-syrK.js} +5 -5
  74. package/dist/{core-BZZXuuw4.js.map → core-h4B-syrK.js.map} +1 -1
  75. package/dist/{cursor-Bf9iHI7p.js → cursor-BmgVIdd4.js} +2 -2
  76. package/dist/{cursor-Bf9iHI7p.js.map → cursor-BmgVIdd4.js.map} +1 -1
  77. package/dist/{cursor-transparent-BQEiF2ok.js → cursor-transparent-wVQvgZAK.js} +2 -2
  78. package/dist/{cursor-transparent-BQEiF2ok.js.map → cursor-transparent-wVQvgZAK.js.map} +1 -1
  79. package/dist/{desktop-DPmyWqG5.js → desktop-DTAJIXTO.js} +2 -2
  80. package/dist/{desktop-DPmyWqG5.js.map → desktop-DTAJIXTO.js.map} +1 -1
  81. package/dist/{disconnect-BQidkD6w.js → disconnect-D8Si5N8S.js} +2 -2
  82. package/dist/{disconnect-BQidkD6w.js.map → disconnect-D8Si5N8S.js.map} +1 -1
  83. package/dist/{discord-DR24fGID.js → discord-tQYw47cV.js} +2 -2
  84. package/dist/{discord-DR24fGID.js.map → discord-tQYw47cV.js.map} +1 -1
  85. package/dist/{down-BkvG-2GJ.js → down-BgR5p6bw.js} +3 -3
  86. package/dist/{down-BkvG-2GJ.js.map → down-BgR5p6bw.js.map} +1 -1
  87. package/dist/{etherscan-Dy60oIzl.js → etherscan-CjqNGBR7.js} +2 -2
  88. package/dist/{etherscan-Dy60oIzl.js.map → etherscan-CjqNGBR7.js.map} +1 -1
  89. package/dist/{exclamation-triangle-HP7NPTKs.js → exclamation-triangle-BhHXY1hF.js} +2 -2
  90. package/dist/{exclamation-triangle-HP7NPTKs.js.map → exclamation-triangle-BhHXY1hF.js.map} +1 -1
  91. package/dist/{extension-BS31sO85.js → extension-y15WoviO.js} +2 -2
  92. package/dist/{extension-BS31sO85.js.map → extension-y15WoviO.js.map} +1 -1
  93. package/dist/{external-link-CEik-VMT.js → external-link--gR7z0qt.js} +2 -2
  94. package/dist/{external-link-CEik-VMT.js.map → external-link--gR7z0qt.js.map} +1 -1
  95. package/dist/{facebook-CnyQ7n75.js → facebook-DlX8IWwq.js} +2 -2
  96. package/dist/{facebook-CnyQ7n75.js.map → facebook-DlX8IWwq.js.map} +1 -1
  97. package/dist/{farcaster-BZgF-Vb2.js → farcaster-CFzTYTRj.js} +2 -2
  98. package/dist/{farcaster-BZgF-Vb2.js.map → farcaster-CFzTYTRj.js.map} +1 -1
  99. package/dist/{filters-DL1O0psz.js → filters-BO_y5jSy.js} +2 -2
  100. package/dist/{filters-DL1O0psz.js.map → filters-BO_y5jSy.js.map} +1 -1
  101. package/dist/{getChainIds-rITF5AhT.js → getChainIds-BW6u6K7g.js} +3 -3
  102. package/dist/{getChainIds-rITF5AhT.js.map → getChainIds-BW6u6K7g.js.map} +1 -1
  103. package/dist/{getCosmosAddress-F3cVcEo_.js → getCosmosAddress-Q91DQZPn.js} +3 -3
  104. package/dist/{getCosmosAddress-F3cVcEo_.js.map → getCosmosAddress-Q91DQZPn.js.map} +1 -1
  105. package/dist/{github-Dy9CoSia.js → github-B9QjqzQj.js} +2 -2
  106. package/dist/{github-Dy9CoSia.js.map → github-B9QjqzQj.js.map} +1 -1
  107. package/dist/{google-7E1gDtp8.js → google-D9CK21nC.js} +2 -2
  108. package/dist/{google-7E1gDtp8.js.map → google-D9CK21nC.js.map} +1 -1
  109. package/dist/{hamburger-9OL86eJ4.js → hamburger-DdXejR_U.js} +6 -6
  110. package/dist/{hamburger-9OL86eJ4.js.map → hamburger-DdXejR_U.js.map} +1 -1
  111. package/dist/{help-circle-Di1WCQ0a.js → help-circle-Qf3YDcg6.js} +2 -2
  112. package/dist/{help-circle-Di1WCQ0a.js.map → help-circle-Qf3YDcg6.js.map} +1 -1
  113. package/dist/{id-DlvuSRLo.js → id-VtdZj5EJ.js} +2 -2
  114. package/dist/{id-DlvuSRLo.js.map → id-VtdZj5EJ.js.map} +1 -1
  115. package/dist/{image-C9KlwGkO.js → image-Bb6NRqAG.js} +2 -2
  116. package/dist/{image-C9KlwGkO.js.map → image-Bb6NRqAG.js.map} +1 -1
  117. package/dist/{index-B6VkUEzI.js → index-A4USEaqO.js} +5 -5
  118. package/dist/{index-B6VkUEzI.js.map → index-A4USEaqO.js.map} +1 -1
  119. package/dist/{index-C1fUkQoq.js → index-BnNGphMQ.js} +4 -4
  120. package/dist/{index-C1fUkQoq.js.map → index-BnNGphMQ.js.map} +1 -1
  121. package/dist/{index-DE9MrcCA.js → index-CLkRz935.js} +11 -11
  122. package/dist/{index-DE9MrcCA.js.map → index-CLkRz935.js.map} +1 -1
  123. package/dist/{index-eXI3V1wT.js → index-CMYftxmy.js} +16 -16
  124. package/dist/{index-eXI3V1wT.js.map → index-CMYftxmy.js.map} +1 -1
  125. package/dist/{index-y2Y2qgCq.js → index-D0RbVaC6.js} +2 -2
  126. package/dist/{index-y2Y2qgCq.js.map → index-D0RbVaC6.js.map} +1 -1
  127. package/dist/{index-DNJCXmwW.js → index-D44jBo43.js} +9 -9
  128. package/dist/{index-DNJCXmwW.js.map → index-D44jBo43.js.map} +1 -1
  129. package/dist/{index-BvFG_JxR.js → index-DQPPcv1z.js} +5 -5
  130. package/dist/{index-BvFG_JxR.js.map → index-DQPPcv1z.js.map} +1 -1
  131. package/dist/{index-BMWxmSCJ.js → index-DYHhV8Ah.js} +13 -13
  132. package/dist/{index-BMWxmSCJ.js.map → index-DYHhV8Ah.js.map} +1 -1
  133. package/dist/{index-VUHSKS3s.js → index-Di4O_5cO.js} +79 -79
  134. package/dist/{index-VUHSKS3s.js.map → index-Di4O_5cO.js.map} +1 -1
  135. package/dist/{index-CtB45It1.js → index-HAMZ-tBE.js} +6 -6
  136. package/dist/{index-CtB45It1.js.map → index-HAMZ-tBE.js.map} +1 -1
  137. package/dist/{index-DbHvtB3i.js → index-h0B0Ds4O.js} +3 -3
  138. package/dist/{index-DbHvtB3i.js.map → index-h0B0Ds4O.js.map} +1 -1
  139. package/dist/{index.es-B6KbDmBT.js → index.es-CoUIS9Di.js} +3 -3
  140. package/dist/{index.es-B6KbDmBT.js.map → index.es-CoUIS9Di.js.map} +1 -1
  141. package/dist/{index.es-CHo7m7wp.js → index.es-DvgvELOO.js} +2 -2
  142. package/dist/{index.es-CHo7m7wp.js.map → index.es-DvgvELOO.js.map} +1 -1
  143. package/dist/index.es.js +1 -1
  144. package/dist/{info-N9u4Be4B.js → info-C-7imdlv.js} +2 -2
  145. package/dist/{info-N9u4Be4B.js.map → info-C-7imdlv.js.map} +1 -1
  146. package/dist/{info-circle-jE7Eeb9-.js → info-circle-CojbxQCA.js} +2 -2
  147. package/dist/{info-circle-jE7Eeb9-.js.map → info-circle-CojbxQCA.js.map} +1 -1
  148. package/dist/{lightbulb-CWBMlL9o.js → lightbulb-DrfSirtI.js} +2 -2
  149. package/dist/{lightbulb-CWBMlL9o.js.map → lightbulb-DrfSirtI.js.map} +1 -1
  150. package/dist/{mail-EzqVrU-i.js → mail-yuNzffmW.js} +2 -2
  151. package/dist/{mail-EzqVrU-i.js.map → mail-yuNzffmW.js.map} +1 -1
  152. package/dist/{mobile-BazcfAsN.js → mobile-B68qFJIJ.js} +2 -2
  153. package/dist/{mobile-BazcfAsN.js.map → mobile-B68qFJIJ.js.map} +1 -1
  154. package/dist/{more-C23jMq4d.js → more-B5F7-jLe.js} +2 -2
  155. package/dist/{more-C23jMq4d.js.map → more-B5F7-jLe.js.map} +1 -1
  156. package/dist/{network-placeholder-CAju_EVM.js → network-placeholder-C0IP4D1c.js} +2 -2
  157. package/dist/{network-placeholder-CAju_EVM.js.map → network-placeholder-C0IP4D1c.js.map} +1 -1
  158. package/dist/{nftPlaceholder-ChYvzDe-.js → nftPlaceholder-DUEpu8vC.js} +2 -2
  159. package/dist/{nftPlaceholder-ChYvzDe-.js.map → nftPlaceholder-DUEpu8vC.js.map} +1 -1
  160. package/dist/{off-CA_nOLym.js → off-kgcptPTJ.js} +2 -2
  161. package/dist/{off-CA_nOLym.js.map → off-kgcptPTJ.js.map} +1 -1
  162. package/dist/{play-store-CPUqc7g0.js → play-store-CpkQM7Tf.js} +2 -2
  163. package/dist/{play-store-CPUqc7g0.js.map → play-store-CpkQM7Tf.js.map} +1 -1
  164. package/dist/{plus-Bl0Y3tA2.js → plus-WJX5o6br.js} +2 -2
  165. package/dist/{plus-Bl0Y3tA2.js.map → plus-WJX5o6br.js.map} +1 -1
  166. package/dist/{qr-code-Bqo_W-ph.js → qr-code-DYSpZOBK.js} +2 -2
  167. package/dist/{qr-code-Bqo_W-ph.js.map → qr-code-DYSpZOBK.js.map} +1 -1
  168. package/dist/{recycle-horizontal-DgnidGUB.js → recycle-horizontal-nN1xwykO.js} +2 -2
  169. package/dist/{recycle-horizontal-DgnidGUB.js.map → recycle-horizontal-nN1xwykO.js.map} +1 -1
  170. package/dist/{refresh-BqGHqal4.js → refresh-BDlbkeKx.js} +2 -2
  171. package/dist/{refresh-BqGHqal4.js.map → refresh-BDlbkeKx.js.map} +1 -1
  172. package/dist/{reown-logo-xvbDZLtY.js → reown-logo--P11S5yl.js} +2 -2
  173. package/dist/{reown-logo-xvbDZLtY.js.map → reown-logo--P11S5yl.js.map} +1 -1
  174. package/dist/{search-6B7pLyuM.js → search-DBF3vwq7.js} +2 -2
  175. package/dist/{search-6B7pLyuM.js.map → search-DBF3vwq7.js.map} +1 -1
  176. package/dist/{secp256k1-CwqBHRCR.js → secp256k1-CBD0agkt.js} +2 -2
  177. package/dist/{secp256k1-CwqBHRCR.js.map → secp256k1-CBD0agkt.js.map} +1 -1
  178. package/dist/{send-D2rd7Ly5.js → send-pvA8KHBc.js} +2 -2
  179. package/dist/{send-D2rd7Ly5.js.map → send-pvA8KHBc.js.map} +1 -1
  180. package/dist/{shareicon-YFyFHOcy.js → shareicon-BdQizUDb.js} +3 -3
  181. package/dist/{shareicon-YFyFHOcy.js.map → shareicon-BdQizUDb.js.map} +1 -1
  182. package/dist/{swapHorizontal-BBItVna7.js → swapHorizontal-BI2PzZwN.js} +2 -2
  183. package/dist/{swapHorizontal-BBItVna7.js.map → swapHorizontal-BI2PzZwN.js.map} +1 -1
  184. package/dist/{swapHorizontalBold-Dubgd9Y6.js → swapHorizontalBold-CWlwK-F6.js} +2 -2
  185. package/dist/{swapHorizontalBold-Dubgd9Y6.js.map → swapHorizontalBold-CWlwK-F6.js.map} +1 -1
  186. package/dist/{swapHorizontalMedium-CSxG6lVR.js → swapHorizontalMedium-BmLVJu35.js} +2 -2
  187. package/dist/{swapHorizontalMedium-CSxG6lVR.js.map → swapHorizontalMedium-BmLVJu35.js.map} +1 -1
  188. package/dist/{swapHorizontalRoundedBold-D34PL1Bh.js → swapHorizontalRoundedBold-Bu7b_4Tq.js} +2 -2
  189. package/dist/{swapHorizontalRoundedBold-D34PL1Bh.js.map → swapHorizontalRoundedBold-Bu7b_4Tq.js.map} +1 -1
  190. package/dist/{swapVertical-0r7UQskA.js → swapVertical-9yVsysvS.js} +2 -2
  191. package/dist/{swapVertical-0r7UQskA.js.map → swapVertical-9yVsysvS.js.map} +1 -1
  192. package/dist/{telegram-ovAow9nb.js → telegram-0bWPCnom.js} +2 -2
  193. package/dist/{telegram-ovAow9nb.js.map → telegram-0bWPCnom.js.map} +1 -1
  194. package/dist/{three-dots-DOcV-lq9.js → three-dots-V6GJeVIa.js} +2 -2
  195. package/dist/{three-dots-DOcV-lq9.js.map → three-dots-V6GJeVIa.js.map} +1 -1
  196. package/dist/{twitch-PNh7HEjQ.js → twitch-BnXJxO5H.js} +2 -2
  197. package/dist/{twitch-PNh7HEjQ.js.map → twitch-BnXJxO5H.js.map} +1 -1
  198. package/dist/{twitterIcon-4OA21RFU.js → twitterIcon-DKgyPicl.js} +2 -2
  199. package/dist/{twitterIcon-4OA21RFU.js.map → twitterIcon-DKgyPicl.js.map} +1 -1
  200. package/dist/{unsupportedProp-14IykURU.js → unsupportedProp-DvjrBqjA.js} +2 -2
  201. package/dist/{unsupportedProp-14IykURU.js.map → unsupportedProp-DvjrBqjA.js.map} +1 -1
  202. package/dist/{useRegisterError-jG_k_Jbu.js → useRegisterError-DTDRNbyK.js} +2 -2
  203. package/dist/{useRegisterError-jG_k_Jbu.js.map → useRegisterError-DTDRNbyK.js.map} +1 -1
  204. package/dist/{verify-BcPkDFSa.js → verify-6SHEYxKY.js} +2 -2
  205. package/dist/{verify-BcPkDFSa.js.map → verify-6SHEYxKY.js.map} +1 -1
  206. package/dist/{verify-filled-BM4sK3jx.js → verify-filled-V7PkY7fi.js} +2 -2
  207. package/dist/{verify-filled-BM4sK3jx.js.map → verify-filled-V7PkY7fi.js.map} +1 -1
  208. package/dist/{w3m-modal-Dy5Q9QNU.js → w3m-modal-DeL22Ji8.js} +3 -3
  209. package/dist/{w3m-modal-Dy5Q9QNU.js.map → w3m-modal-DeL22Ji8.js.map} +1 -1
  210. package/dist/{wallet-Dtk34v-h.js → wallet-CyIBiiAv.js} +2 -2
  211. package/dist/{wallet-Dtk34v-h.js.map → wallet-CyIBiiAv.js.map} +1 -1
  212. package/dist/{wallet-placeholder-_pPhYgGm.js → wallet-placeholder-Dy4jQvK8.js} +2 -2
  213. package/dist/{wallet-placeholder-_pPhYgGm.js.map → wallet-placeholder-Dy4jQvK8.js.map} +1 -1
  214. package/dist/{walletconnect-BxzjxGSG.js → walletconnect-CL5PuqLp.js} +2 -2
  215. package/dist/{walletconnect-BxzjxGSG.js.map → walletconnect-CL5PuqLp.js.map} +1 -1
  216. package/dist/{warning-circle-Bugxi3FB.js → warning-circle-BbG3KGtg.js} +2 -2
  217. package/dist/{warning-circle-Bugxi3FB.js.map → warning-circle-BbG3KGtg.js.map} +1 -1
  218. package/dist/{x-P3PsrJCO.js → x-BKSfqvJ-.js} +2 -2
  219. package/dist/{x-P3PsrJCO.js.map → x-BKSfqvJ-.js.map} +1 -1
  220. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"AllRoutes-BI6S1_ce.js","sources":["../node_modules/@mui/utils/esm/scrollLeft/scrollLeft.js","../node_modules/@mui/material/Tab/tabClasses.js","../node_modules/@mui/material/Tab/Tab.js","../node_modules/@mui/material/internal/svg-icons/KeyboardArrowLeft.js","../node_modules/@mui/material/internal/svg-icons/KeyboardArrowRight.js","../node_modules/@mui/material/internal/animate.js","../node_modules/@mui/material/Tabs/ScrollbarSize.js","../node_modules/@mui/material/TabScrollButton/tabScrollButtonClasses.js","../node_modules/@mui/material/TabScrollButton/TabScrollButton.js","../node_modules/@mui/material/Tabs/tabsClasses.js","../node_modules/@mui/material/Tabs/Tabs.js","../node_modules/@mui/lab/TabContext/TabContext.js","../node_modules/@mui/lab/TabList/TabList.js","../node_modules/@mui/lab/TabPanel/tabPanelClasses.js","../node_modules/@mui/lab/TabPanel/TabPanel.js","../src/Components/Tooltip/Routes/index.jsx","../src/Components/Svg/maxop.js","../src/Components/Svg/lowgas.js","../src/Components/Svg/fastest.js","../src/Components/WidgetForm/TabComp/maxOutput.js","../src/Components/WidgetForm/TabComp/lowestGas.js","../src/Components/WidgetForm/TabComp/fastest.js","../src/Components/WidgetForm/TabComp/index.jsx","../src/Components/Svg/routesBack.js","../src/Components/WidgetForm/AllRoutes.js"],"sourcesContent":["// Source from https://github.com/alitaheri/normalize-scroll-left\nlet cachedType;\n\n/**\n * Based on the jquery plugin https://github.com/othree/jquery.rtl-scroll-type\n *\n * Types of scrollLeft, assuming scrollWidth=100 and direction is rtl.\n *\n * Type | <- Most Left | Most Right -> | Initial\n * ---------------- | ------------ | ------------- | -------\n * default | 0 | 100 | 100\n * negative (spec*) | -100 | 0 | 0\n * reverse | 100 | 0 | 0\n *\n * Edge 85: default\n * Safari 14: negative\n * Chrome 85: negative\n * Firefox 81: negative\n * IE11: reverse\n *\n * spec* https://drafts.csswg.org/cssom-view/#dom-window-scroll\n */\nexport function detectScrollType() {\n if (cachedType) {\n return cachedType;\n }\n const dummy = document.createElement('div');\n const container = document.createElement('div');\n container.style.width = '10px';\n container.style.height = '1px';\n dummy.appendChild(container);\n dummy.dir = 'rtl';\n dummy.style.fontSize = '14px';\n dummy.style.width = '4px';\n dummy.style.height = '1px';\n dummy.style.position = 'absolute';\n dummy.style.top = '-1000px';\n dummy.style.overflow = 'scroll';\n document.body.appendChild(dummy);\n cachedType = 'reverse';\n if (dummy.scrollLeft > 0) {\n cachedType = 'default';\n } else {\n dummy.scrollLeft = 1;\n if (dummy.scrollLeft === 0) {\n cachedType = 'negative';\n }\n }\n document.body.removeChild(dummy);\n return cachedType;\n}\n\n// Based on https://stackoverflow.com/a/24394376\nexport function getNormalizedScrollLeft(element, direction) {\n const scrollLeft = element.scrollLeft;\n\n // Perform the calculations only when direction is rtl to avoid messing up the ltr behavior\n if (direction !== 'rtl') {\n return scrollLeft;\n }\n const type = detectScrollType();\n switch (type) {\n case 'negative':\n return element.scrollWidth - element.clientWidth + scrollLeft;\n case 'reverse':\n return element.scrollWidth - element.clientWidth - scrollLeft;\n default:\n return scrollLeft;\n }\n}","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTabUtilityClass(slot) {\n return generateUtilityClass('MuiTab', slot);\n}\nconst tabClasses = generateUtilityClasses('MuiTab', ['root', 'labelIcon', 'textColorInherit', 'textColorPrimary', 'textColorSecondary', 'selected', 'disabled', 'fullWidth', 'wrapped', 'iconWrapper']);\nexport default tabClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disabled\", \"disableFocusRipple\", \"fullWidth\", \"icon\", \"iconPosition\", \"indicator\", \"label\", \"onChange\", \"onClick\", \"onFocus\", \"selected\", \"selectionFollowsFocus\", \"textColor\", \"value\", \"wrapped\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport ButtonBase from '../ButtonBase';\nimport capitalize from '../utils/capitalize';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport styled from '../styles/styled';\nimport unsupportedProp from '../utils/unsupportedProp';\nimport tabClasses, { getTabUtilityClass } from './tabClasses';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n textColor,\n fullWidth,\n wrapped,\n icon,\n label,\n selected,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', icon && label && 'labelIcon', `textColor${capitalize(textColor)}`, fullWidth && 'fullWidth', wrapped && 'wrapped', selected && 'selected', disabled && 'disabled'],\n iconWrapper: ['iconWrapper']\n };\n return composeClasses(slots, getTabUtilityClass, classes);\n};\nconst TabRoot = styled(ButtonBase, {\n name: 'MuiTab',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.label && ownerState.icon && styles.labelIcon, styles[`textColor${capitalize(ownerState.textColor)}`], ownerState.fullWidth && styles.fullWidth, ownerState.wrapped && styles.wrapped, {\n [`& .${tabClasses.iconWrapper}`]: styles.iconWrapper\n }];\n }\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.button, {\n maxWidth: 360,\n minWidth: 90,\n position: 'relative',\n minHeight: 48,\n flexShrink: 0,\n padding: '12px 16px',\n overflow: 'hidden',\n whiteSpace: 'normal',\n textAlign: 'center'\n}, ownerState.label && {\n flexDirection: ownerState.iconPosition === 'top' || ownerState.iconPosition === 'bottom' ? 'column' : 'row'\n}, {\n lineHeight: 1.25\n}, ownerState.icon && ownerState.label && {\n minHeight: 72,\n paddingTop: 9,\n paddingBottom: 9,\n [`& > .${tabClasses.iconWrapper}`]: _extends({}, ownerState.iconPosition === 'top' && {\n marginBottom: 6\n }, ownerState.iconPosition === 'bottom' && {\n marginTop: 6\n }, ownerState.iconPosition === 'start' && {\n marginRight: theme.spacing(1)\n }, ownerState.iconPosition === 'end' && {\n marginLeft: theme.spacing(1)\n })\n}, ownerState.textColor === 'inherit' && {\n color: 'inherit',\n opacity: 0.6,\n // same opacity as theme.palette.text.secondary\n [`&.${tabClasses.selected}`]: {\n opacity: 1\n },\n [`&.${tabClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n }\n}, ownerState.textColor === 'primary' && {\n color: (theme.vars || theme).palette.text.secondary,\n [`&.${tabClasses.selected}`]: {\n color: (theme.vars || theme).palette.primary.main\n },\n [`&.${tabClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n }\n}, ownerState.textColor === 'secondary' && {\n color: (theme.vars || theme).palette.text.secondary,\n [`&.${tabClasses.selected}`]: {\n color: (theme.vars || theme).palette.secondary.main\n },\n [`&.${tabClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n }\n}, ownerState.fullWidth && {\n flexShrink: 1,\n flexGrow: 1,\n flexBasis: 0,\n maxWidth: 'none'\n}, ownerState.wrapped && {\n fontSize: theme.typography.pxToRem(12)\n}));\nconst Tab = /*#__PURE__*/React.forwardRef(function Tab(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiTab'\n });\n const {\n className,\n disabled = false,\n disableFocusRipple = false,\n // eslint-disable-next-line react/prop-types\n fullWidth,\n icon: iconProp,\n iconPosition = 'top',\n // eslint-disable-next-line react/prop-types\n indicator,\n label,\n onChange,\n onClick,\n onFocus,\n // eslint-disable-next-line react/prop-types\n selected,\n // eslint-disable-next-line react/prop-types\n selectionFollowsFocus,\n // eslint-disable-next-line react/prop-types\n textColor = 'inherit',\n value,\n wrapped = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n disabled,\n disableFocusRipple,\n selected,\n icon: !!iconProp,\n iconPosition,\n label: !!label,\n fullWidth,\n textColor,\n wrapped\n });\n const classes = useUtilityClasses(ownerState);\n const icon = iconProp && label && /*#__PURE__*/React.isValidElement(iconProp) ? /*#__PURE__*/React.cloneElement(iconProp, {\n className: clsx(classes.iconWrapper, iconProp.props.className)\n }) : iconProp;\n const handleClick = event => {\n if (!selected && onChange) {\n onChange(event, value);\n }\n if (onClick) {\n onClick(event);\n }\n };\n const handleFocus = event => {\n if (selectionFollowsFocus && !selected && onChange) {\n onChange(event, value);\n }\n if (onFocus) {\n onFocus(event);\n }\n };\n return /*#__PURE__*/_jsxs(TabRoot, _extends({\n focusRipple: !disableFocusRipple,\n className: clsx(classes.root, className),\n ref: ref,\n role: \"tab\",\n \"aria-selected\": selected,\n disabled: disabled,\n onClick: handleClick,\n onFocus: handleFocus,\n ownerState: ownerState,\n tabIndex: selected ? 0 : -1\n }, other, {\n children: [iconPosition === 'top' || iconPosition === 'start' ? /*#__PURE__*/_jsxs(React.Fragment, {\n children: [icon, label]\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [label, icon]\n }), indicator]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Tab.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * This prop isn't supported.\n * Use the `component` prop if you need to change the children structure.\n */\n children: unsupportedProp,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n *\n * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure\n * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * The icon to display.\n */\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.string]),\n /**\n * The position of the icon relative to the label.\n * @default 'top'\n */\n iconPosition: PropTypes.oneOf(['bottom', 'end', 'start', 'top']),\n /**\n * The label element.\n */\n label: PropTypes.node,\n /**\n * @ignore\n */\n onChange: PropTypes.func,\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * You can provide your own value. Otherwise, we fallback to the child position index.\n */\n value: PropTypes.any,\n /**\n * Tab labels appear in a single row.\n * They can use a second line if needed.\n * @default false\n */\n wrapped: PropTypes.bool\n} : void 0;\nexport default Tab;","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z\"\n}), 'KeyboardArrowLeft');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z\"\n}), 'KeyboardArrowRight');","function easeInOutSin(time) {\n return (1 + Math.sin(Math.PI * time - Math.PI / 2)) / 2;\n}\nexport default function animate(property, element, to, options = {}, cb = () => {}) {\n const {\n ease = easeInOutSin,\n duration = 300 // standard\n } = options;\n let start = null;\n const from = element[property];\n let cancelled = false;\n const cancel = () => {\n cancelled = true;\n };\n const step = timestamp => {\n if (cancelled) {\n cb(new Error('Animation cancelled'));\n return;\n }\n if (start === null) {\n start = timestamp;\n }\n const time = Math.min(1, (timestamp - start) / duration);\n element[property] = ease(time) * (to - from) + from;\n if (time >= 1) {\n requestAnimationFrame(() => {\n cb(null);\n });\n return;\n }\n requestAnimationFrame(step);\n };\n if (from === to) {\n cb(new Error('Element already at target position'));\n return cancel;\n }\n requestAnimationFrame(step);\n return cancel;\n}","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"onChange\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from '../utils/debounce';\nimport { ownerWindow, unstable_useEnhancedEffect as useEnhancedEffect } from '../utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst styles = {\n width: 99,\n height: 99,\n position: 'absolute',\n top: -9999,\n overflow: 'scroll'\n};\n\n/**\n * @ignore - internal component.\n * The component originates from https://github.com/STORIS/react-scrollbar-size.\n * It has been moved into the core in order to minimize the bundle size.\n */\nexport default function ScrollbarSize(props) {\n const {\n onChange\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const scrollbarHeight = React.useRef();\n const nodeRef = React.useRef(null);\n const setMeasurements = () => {\n scrollbarHeight.current = nodeRef.current.offsetHeight - nodeRef.current.clientHeight;\n };\n useEnhancedEffect(() => {\n const handleResize = debounce(() => {\n const prevHeight = scrollbarHeight.current;\n setMeasurements();\n if (prevHeight !== scrollbarHeight.current) {\n onChange(scrollbarHeight.current);\n }\n });\n const containerWindow = ownerWindow(nodeRef.current);\n containerWindow.addEventListener('resize', handleResize);\n return () => {\n handleResize.clear();\n containerWindow.removeEventListener('resize', handleResize);\n };\n }, [onChange]);\n React.useEffect(() => {\n setMeasurements();\n onChange(scrollbarHeight.current);\n }, [onChange]);\n return /*#__PURE__*/_jsx(\"div\", _extends({\n style: styles\n }, other, {\n ref: nodeRef\n }));\n}\nprocess.env.NODE_ENV !== \"production\" ? ScrollbarSize.propTypes = {\n onChange: PropTypes.func.isRequired\n} : void 0;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTabScrollButtonUtilityClass(slot) {\n return generateUtilityClass('MuiTabScrollButton', slot);\n}\nconst tabScrollButtonClasses = generateUtilityClasses('MuiTabScrollButton', ['root', 'vertical', 'horizontal', 'disabled']);\nexport default tabScrollButtonClasses;","'use client';\n\n/* eslint-disable jsx-a11y/aria-role */\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"slots\", \"slotProps\", \"direction\", \"orientation\", \"disabled\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport KeyboardArrowLeft from '../internal/svg-icons/KeyboardArrowLeft';\nimport KeyboardArrowRight from '../internal/svg-icons/KeyboardArrowRight';\nimport ButtonBase from '../ButtonBase';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport styled from '../styles/styled';\nimport tabScrollButtonClasses, { getTabScrollButtonUtilityClass } from './tabScrollButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n orientation,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', orientation, disabled && 'disabled']\n };\n return composeClasses(slots, getTabScrollButtonUtilityClass, classes);\n};\nconst TabScrollButtonRoot = styled(ButtonBase, {\n name: 'MuiTabScrollButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.orientation && styles[ownerState.orientation]];\n }\n})(({\n ownerState\n}) => _extends({\n width: 40,\n flexShrink: 0,\n opacity: 0.8,\n [`&.${tabScrollButtonClasses.disabled}`]: {\n opacity: 0\n }\n}, ownerState.orientation === 'vertical' && {\n width: '100%',\n height: 40,\n '& svg': {\n transform: `rotate(${ownerState.isRtl ? -90 : 90}deg)`\n }\n}));\nconst TabScrollButton = /*#__PURE__*/React.forwardRef(function TabScrollButton(inProps, ref) {\n var _slots$StartScrollBut, _slots$EndScrollButto;\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiTabScrollButton'\n });\n const {\n className,\n slots = {},\n slotProps = {},\n direction\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const isRtl = useRtl();\n const ownerState = _extends({\n isRtl\n }, props);\n const classes = useUtilityClasses(ownerState);\n const StartButtonIcon = (_slots$StartScrollBut = slots.StartScrollButtonIcon) != null ? _slots$StartScrollBut : KeyboardArrowLeft;\n const EndButtonIcon = (_slots$EndScrollButto = slots.EndScrollButtonIcon) != null ? _slots$EndScrollButto : KeyboardArrowRight;\n const startButtonIconProps = useSlotProps({\n elementType: StartButtonIcon,\n externalSlotProps: slotProps.startScrollButtonIcon,\n additionalProps: {\n fontSize: 'small'\n },\n ownerState\n });\n const endButtonIconProps = useSlotProps({\n elementType: EndButtonIcon,\n externalSlotProps: slotProps.endScrollButtonIcon,\n additionalProps: {\n fontSize: 'small'\n },\n ownerState\n });\n return /*#__PURE__*/_jsx(TabScrollButtonRoot, _extends({\n component: \"div\",\n className: clsx(classes.root, className),\n ref: ref,\n role: null,\n ownerState: ownerState,\n tabIndex: null\n }, other, {\n children: direction === 'left' ? /*#__PURE__*/_jsx(StartButtonIcon, _extends({}, startButtonIconProps)) : /*#__PURE__*/_jsx(EndButtonIcon, _extends({}, endButtonIconProps))\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabScrollButton.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The direction the button should indicate.\n */\n direction: PropTypes.oneOf(['left', 'right']).isRequired,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * The component orientation (layout flow direction).\n */\n orientation: PropTypes.oneOf(['horizontal', 'vertical']).isRequired,\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n * @default {}\n */\n slotProps: PropTypes.shape({\n endScrollButtonIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n startScrollButtonIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n EndScrollButtonIcon: PropTypes.elementType,\n StartScrollButtonIcon: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default TabScrollButton;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTabsUtilityClass(slot) {\n return generateUtilityClass('MuiTabs', slot);\n}\nconst tabsClasses = generateUtilityClasses('MuiTabs', ['root', 'vertical', 'flexContainer', 'flexContainerVertical', 'centered', 'scroller', 'fixed', 'scrollableX', 'scrollableY', 'hideScrollbar', 'scrollButtons', 'scrollButtonsHideMobile', 'indicator']);\nexport default tabsClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"aria-label\", \"aria-labelledby\", \"action\", \"centered\", \"children\", \"className\", \"component\", \"allowScrollButtonsMobile\", \"indicatorColor\", \"onChange\", \"orientation\", \"ScrollButtonComponent\", \"scrollButtons\", \"selectionFollowsFocus\", \"slots\", \"slotProps\", \"TabIndicatorProps\", \"TabScrollButtonProps\", \"textColor\", \"value\", \"variant\", \"visibleScrollbar\"];\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport useTheme from '../styles/useTheme';\nimport debounce from '../utils/debounce';\nimport { getNormalizedScrollLeft, detectScrollType } from '../utils/scrollLeft';\nimport animate from '../internal/animate';\nimport ScrollbarSize from './ScrollbarSize';\nimport TabScrollButton from '../TabScrollButton';\nimport useEventCallback from '../utils/useEventCallback';\nimport tabsClasses, { getTabsUtilityClass } from './tabsClasses';\nimport ownerDocument from '../utils/ownerDocument';\nimport ownerWindow from '../utils/ownerWindow';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst nextItem = (list, item) => {\n if (list === item) {\n return list.firstChild;\n }\n if (item && item.nextElementSibling) {\n return item.nextElementSibling;\n }\n return list.firstChild;\n};\nconst previousItem = (list, item) => {\n if (list === item) {\n return list.lastChild;\n }\n if (item && item.previousElementSibling) {\n return item.previousElementSibling;\n }\n return list.lastChild;\n};\nconst moveFocus = (list, currentFocus, traversalFunction) => {\n let wrappedOnce = false;\n let nextFocus = traversalFunction(list, currentFocus);\n while (nextFocus) {\n // Prevent infinite loop.\n if (nextFocus === list.firstChild) {\n if (wrappedOnce) {\n return;\n }\n wrappedOnce = true;\n }\n\n // Same logic as useAutocomplete.js\n const nextFocusDisabled = nextFocus.disabled || nextFocus.getAttribute('aria-disabled') === 'true';\n if (!nextFocus.hasAttribute('tabindex') || nextFocusDisabled) {\n // Move to the next element.\n nextFocus = traversalFunction(list, nextFocus);\n } else {\n nextFocus.focus();\n return;\n }\n }\n};\nconst useUtilityClasses = ownerState => {\n const {\n vertical,\n fixed,\n hideScrollbar,\n scrollableX,\n scrollableY,\n centered,\n scrollButtonsHideMobile,\n classes\n } = ownerState;\n const slots = {\n root: ['root', vertical && 'vertical'],\n scroller: ['scroller', fixed && 'fixed', hideScrollbar && 'hideScrollbar', scrollableX && 'scrollableX', scrollableY && 'scrollableY'],\n flexContainer: ['flexContainer', vertical && 'flexContainerVertical', centered && 'centered'],\n indicator: ['indicator'],\n scrollButtons: ['scrollButtons', scrollButtonsHideMobile && 'scrollButtonsHideMobile'],\n scrollableX: [scrollableX && 'scrollableX'],\n hideScrollbar: [hideScrollbar && 'hideScrollbar']\n };\n return composeClasses(slots, getTabsUtilityClass, classes);\n};\nconst TabsRoot = styled('div', {\n name: 'MuiTabs',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${tabsClasses.scrollButtons}`]: styles.scrollButtons\n }, {\n [`& .${tabsClasses.scrollButtons}`]: ownerState.scrollButtonsHideMobile && styles.scrollButtonsHideMobile\n }, styles.root, ownerState.vertical && styles.vertical];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n overflow: 'hidden',\n minHeight: 48,\n // Add iOS momentum scrolling for iOS < 13.0\n WebkitOverflowScrolling: 'touch',\n display: 'flex'\n}, ownerState.vertical && {\n flexDirection: 'column'\n}, ownerState.scrollButtonsHideMobile && {\n [`& .${tabsClasses.scrollButtons}`]: {\n [theme.breakpoints.down('sm')]: {\n display: 'none'\n }\n }\n}));\nconst TabsScroller = styled('div', {\n name: 'MuiTabs',\n slot: 'Scroller',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.scroller, ownerState.fixed && styles.fixed, ownerState.hideScrollbar && styles.hideScrollbar, ownerState.scrollableX && styles.scrollableX, ownerState.scrollableY && styles.scrollableY];\n }\n})(({\n ownerState\n}) => _extends({\n position: 'relative',\n display: 'inline-block',\n flex: '1 1 auto',\n whiteSpace: 'nowrap'\n}, ownerState.fixed && {\n overflowX: 'hidden',\n width: '100%'\n}, ownerState.hideScrollbar && {\n // Hide dimensionless scrollbar on macOS\n scrollbarWidth: 'none',\n // Firefox\n '&::-webkit-scrollbar': {\n display: 'none' // Safari + Chrome\n }\n}, ownerState.scrollableX && {\n overflowX: 'auto',\n overflowY: 'hidden'\n}, ownerState.scrollableY && {\n overflowY: 'auto',\n overflowX: 'hidden'\n}));\nconst FlexContainer = styled('div', {\n name: 'MuiTabs',\n slot: 'FlexContainer',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.flexContainer, ownerState.vertical && styles.flexContainerVertical, ownerState.centered && styles.centered];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex'\n}, ownerState.vertical && {\n flexDirection: 'column'\n}, ownerState.centered && {\n justifyContent: 'center'\n}));\nconst TabsIndicator = styled('span', {\n name: 'MuiTabs',\n slot: 'Indicator',\n overridesResolver: (props, styles) => styles.indicator\n})(({\n ownerState,\n theme\n}) => _extends({\n position: 'absolute',\n height: 2,\n bottom: 0,\n width: '100%',\n transition: theme.transitions.create()\n}, ownerState.indicatorColor === 'primary' && {\n backgroundColor: (theme.vars || theme).palette.primary.main\n}, ownerState.indicatorColor === 'secondary' && {\n backgroundColor: (theme.vars || theme).palette.secondary.main\n}, ownerState.vertical && {\n height: '100%',\n width: 2,\n right: 0\n}));\nconst TabsScrollbarSize = styled(ScrollbarSize)({\n overflowX: 'auto',\n overflowY: 'hidden',\n // Hide dimensionless scrollbar on macOS\n scrollbarWidth: 'none',\n // Firefox\n '&::-webkit-scrollbar': {\n display: 'none' // Safari + Chrome\n }\n});\nconst defaultIndicatorStyle = {};\nlet warnedOnceTabPresent = false;\nconst Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiTabs'\n });\n const theme = useTheme();\n const isRtl = useRtl();\n const {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n action,\n centered = false,\n children: childrenProp,\n className,\n component = 'div',\n allowScrollButtonsMobile = false,\n indicatorColor = 'primary',\n onChange,\n orientation = 'horizontal',\n ScrollButtonComponent = TabScrollButton,\n scrollButtons = 'auto',\n selectionFollowsFocus,\n slots = {},\n slotProps = {},\n TabIndicatorProps = {},\n TabScrollButtonProps = {},\n textColor = 'primary',\n value,\n variant = 'standard',\n visibleScrollbar = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const scrollable = variant === 'scrollable';\n const vertical = orientation === 'vertical';\n const scrollStart = vertical ? 'scrollTop' : 'scrollLeft';\n const start = vertical ? 'top' : 'left';\n const end = vertical ? 'bottom' : 'right';\n const clientSize = vertical ? 'clientHeight' : 'clientWidth';\n const size = vertical ? 'height' : 'width';\n const ownerState = _extends({}, props, {\n component,\n allowScrollButtonsMobile,\n indicatorColor,\n orientation,\n vertical,\n scrollButtons,\n textColor,\n variant,\n visibleScrollbar,\n fixed: !scrollable,\n hideScrollbar: scrollable && !visibleScrollbar,\n scrollableX: scrollable && !vertical,\n scrollableY: scrollable && vertical,\n centered: centered && !scrollable,\n scrollButtonsHideMobile: !allowScrollButtonsMobile\n });\n const classes = useUtilityClasses(ownerState);\n const startScrollButtonIconProps = useSlotProps({\n elementType: slots.StartScrollButtonIcon,\n externalSlotProps: slotProps.startScrollButtonIcon,\n ownerState\n });\n const endScrollButtonIconProps = useSlotProps({\n elementType: slots.EndScrollButtonIcon,\n externalSlotProps: slotProps.endScrollButtonIcon,\n ownerState\n });\n if (process.env.NODE_ENV !== 'production') {\n if (centered && scrollable) {\n console.error('MUI: You can not use the `centered={true}` and `variant=\"scrollable\"` properties ' + 'at the same time on a `Tabs` component.');\n }\n }\n const [mounted, setMounted] = React.useState(false);\n const [indicatorStyle, setIndicatorStyle] = React.useState(defaultIndicatorStyle);\n const [displayStartScroll, setDisplayStartScroll] = React.useState(false);\n const [displayEndScroll, setDisplayEndScroll] = React.useState(false);\n const [updateScrollObserver, setUpdateScrollObserver] = React.useState(false);\n const [scrollerStyle, setScrollerStyle] = React.useState({\n overflow: 'hidden',\n scrollbarWidth: 0\n });\n const valueToIndex = new Map();\n const tabsRef = React.useRef(null);\n const tabListRef = React.useRef(null);\n const getTabsMeta = () => {\n const tabsNode = tabsRef.current;\n let tabsMeta;\n if (tabsNode) {\n const rect = tabsNode.getBoundingClientRect();\n // create a new object with ClientRect class props + scrollLeft\n tabsMeta = {\n clientWidth: tabsNode.clientWidth,\n scrollLeft: tabsNode.scrollLeft,\n scrollTop: tabsNode.scrollTop,\n scrollLeftNormalized: getNormalizedScrollLeft(tabsNode, isRtl ? 'rtl' : 'ltr'),\n scrollWidth: tabsNode.scrollWidth,\n top: rect.top,\n bottom: rect.bottom,\n left: rect.left,\n right: rect.right\n };\n }\n let tabMeta;\n if (tabsNode && value !== false) {\n const children = tabListRef.current.children;\n if (children.length > 0) {\n const tab = children[valueToIndex.get(value)];\n if (process.env.NODE_ENV !== 'production') {\n if (!tab) {\n console.error([`MUI: The \\`value\\` provided to the Tabs component is invalid.`, `None of the Tabs' children match with \"${value}\".`, valueToIndex.keys ? `You can provide one of the following values: ${Array.from(valueToIndex.keys()).join(', ')}.` : null].join('\\n'));\n }\n }\n tabMeta = tab ? tab.getBoundingClientRect() : null;\n if (process.env.NODE_ENV !== 'production') {\n if (process.env.NODE_ENV !== 'test' && !warnedOnceTabPresent && tabMeta && tabMeta.width === 0 && tabMeta.height === 0 &&\n // if the whole Tabs component is hidden, don't warn\n tabsMeta.clientWidth !== 0) {\n tabsMeta = null;\n console.error(['MUI: The `value` provided to the Tabs component is invalid.', `The Tab with this \\`value\\` (\"${value}\") is not part of the document layout.`, \"Make sure the tab item is present in the document or that it's not `display: none`.\"].join('\\n'));\n warnedOnceTabPresent = true;\n }\n }\n }\n }\n return {\n tabsMeta,\n tabMeta\n };\n };\n const updateIndicatorState = useEventCallback(() => {\n const {\n tabsMeta,\n tabMeta\n } = getTabsMeta();\n let startValue = 0;\n let startIndicator;\n if (vertical) {\n startIndicator = 'top';\n if (tabMeta && tabsMeta) {\n startValue = tabMeta.top - tabsMeta.top + tabsMeta.scrollTop;\n }\n } else {\n startIndicator = isRtl ? 'right' : 'left';\n if (tabMeta && tabsMeta) {\n const correction = isRtl ? tabsMeta.scrollLeftNormalized + tabsMeta.clientWidth - tabsMeta.scrollWidth : tabsMeta.scrollLeft;\n startValue = (isRtl ? -1 : 1) * (tabMeta[startIndicator] - tabsMeta[startIndicator] + correction);\n }\n }\n const newIndicatorStyle = {\n [startIndicator]: startValue,\n // May be wrong until the font is loaded.\n [size]: tabMeta ? tabMeta[size] : 0\n };\n\n // IE11 support, replace with Number.isNaN\n // eslint-disable-next-line no-restricted-globals\n if (isNaN(indicatorStyle[startIndicator]) || isNaN(indicatorStyle[size])) {\n setIndicatorStyle(newIndicatorStyle);\n } else {\n const dStart = Math.abs(indicatorStyle[startIndicator] - newIndicatorStyle[startIndicator]);\n const dSize = Math.abs(indicatorStyle[size] - newIndicatorStyle[size]);\n if (dStart >= 1 || dSize >= 1) {\n setIndicatorStyle(newIndicatorStyle);\n }\n }\n });\n const scroll = (scrollValue, {\n animation = true\n } = {}) => {\n if (animation) {\n animate(scrollStart, tabsRef.current, scrollValue, {\n duration: theme.transitions.duration.standard\n });\n } else {\n tabsRef.current[scrollStart] = scrollValue;\n }\n };\n const moveTabsScroll = delta => {\n let scrollValue = tabsRef.current[scrollStart];\n if (vertical) {\n scrollValue += delta;\n } else {\n scrollValue += delta * (isRtl ? -1 : 1);\n // Fix for Edge\n scrollValue *= isRtl && detectScrollType() === 'reverse' ? -1 : 1;\n }\n scroll(scrollValue);\n };\n const getScrollSize = () => {\n const containerSize = tabsRef.current[clientSize];\n let totalSize = 0;\n const children = Array.from(tabListRef.current.children);\n for (let i = 0; i < children.length; i += 1) {\n const tab = children[i];\n if (totalSize + tab[clientSize] > containerSize) {\n // If the first item is longer than the container size, then only scroll\n // by the container size.\n if (i === 0) {\n totalSize = containerSize;\n }\n break;\n }\n totalSize += tab[clientSize];\n }\n return totalSize;\n };\n const handleStartScrollClick = () => {\n moveTabsScroll(-1 * getScrollSize());\n };\n const handleEndScrollClick = () => {\n moveTabsScroll(getScrollSize());\n };\n\n // TODO Remove <ScrollbarSize /> as browser support for hiding the scrollbar\n // with CSS improves.\n const handleScrollbarSizeChange = React.useCallback(scrollbarWidth => {\n setScrollerStyle({\n overflow: null,\n scrollbarWidth\n });\n }, []);\n const getConditionalElements = () => {\n const conditionalElements = {};\n conditionalElements.scrollbarSizeListener = scrollable ? /*#__PURE__*/_jsx(TabsScrollbarSize, {\n onChange: handleScrollbarSizeChange,\n className: clsx(classes.scrollableX, classes.hideScrollbar)\n }) : null;\n const scrollButtonsActive = displayStartScroll || displayEndScroll;\n const showScrollButtons = scrollable && (scrollButtons === 'auto' && scrollButtonsActive || scrollButtons === true);\n conditionalElements.scrollButtonStart = showScrollButtons ? /*#__PURE__*/_jsx(ScrollButtonComponent, _extends({\n slots: {\n StartScrollButtonIcon: slots.StartScrollButtonIcon\n },\n slotProps: {\n startScrollButtonIcon: startScrollButtonIconProps\n },\n orientation: orientation,\n direction: isRtl ? 'right' : 'left',\n onClick: handleStartScrollClick,\n disabled: !displayStartScroll\n }, TabScrollButtonProps, {\n className: clsx(classes.scrollButtons, TabScrollButtonProps.className)\n })) : null;\n conditionalElements.scrollButtonEnd = showScrollButtons ? /*#__PURE__*/_jsx(ScrollButtonComponent, _extends({\n slots: {\n EndScrollButtonIcon: slots.EndScrollButtonIcon\n },\n slotProps: {\n endScrollButtonIcon: endScrollButtonIconProps\n },\n orientation: orientation,\n direction: isRtl ? 'left' : 'right',\n onClick: handleEndScrollClick,\n disabled: !displayEndScroll\n }, TabScrollButtonProps, {\n className: clsx(classes.scrollButtons, TabScrollButtonProps.className)\n })) : null;\n return conditionalElements;\n };\n const scrollSelectedIntoView = useEventCallback(animation => {\n const {\n tabsMeta,\n tabMeta\n } = getTabsMeta();\n if (!tabMeta || !tabsMeta) {\n return;\n }\n if (tabMeta[start] < tabsMeta[start]) {\n // left side of button is out of view\n const nextScrollStart = tabsMeta[scrollStart] + (tabMeta[start] - tabsMeta[start]);\n scroll(nextScrollStart, {\n animation\n });\n } else if (tabMeta[end] > tabsMeta[end]) {\n // right side of button is out of view\n const nextScrollStart = tabsMeta[scrollStart] + (tabMeta[end] - tabsMeta[end]);\n scroll(nextScrollStart, {\n animation\n });\n }\n });\n const updateScrollButtonState = useEventCallback(() => {\n if (scrollable && scrollButtons !== false) {\n setUpdateScrollObserver(!updateScrollObserver);\n }\n });\n React.useEffect(() => {\n const handleResize = debounce(() => {\n // If the Tabs component is replaced by Suspense with a fallback, the last\n // ResizeObserver's handler that runs because of the change in the layout is trying to\n // access a dom node that is no longer there (as the fallback component is being shown instead).\n // See https://github.com/mui/material-ui/issues/33276\n // TODO: Add tests that will ensure the component is not failing when\n // replaced by Suspense with a fallback, once React is updated to version 18\n if (tabsRef.current) {\n updateIndicatorState();\n }\n });\n let resizeObserver;\n\n /**\n * @type {MutationCallback}\n */\n const handleMutation = records => {\n records.forEach(record => {\n record.removedNodes.forEach(item => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.unobserve(item);\n });\n record.addedNodes.forEach(item => {\n var _resizeObserver2;\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.observe(item);\n });\n });\n handleResize();\n updateScrollButtonState();\n };\n const win = ownerWindow(tabsRef.current);\n win.addEventListener('resize', handleResize);\n let mutationObserver;\n if (typeof ResizeObserver !== 'undefined') {\n resizeObserver = new ResizeObserver(handleResize);\n Array.from(tabListRef.current.children).forEach(child => {\n resizeObserver.observe(child);\n });\n }\n if (typeof MutationObserver !== 'undefined') {\n mutationObserver = new MutationObserver(handleMutation);\n mutationObserver.observe(tabListRef.current, {\n childList: true\n });\n }\n return () => {\n var _mutationObserver, _resizeObserver3;\n handleResize.clear();\n win.removeEventListener('resize', handleResize);\n (_mutationObserver = mutationObserver) == null || _mutationObserver.disconnect();\n (_resizeObserver3 = resizeObserver) == null || _resizeObserver3.disconnect();\n };\n }, [updateIndicatorState, updateScrollButtonState]);\n\n /**\n * Toggle visibility of start and end scroll buttons\n * Using IntersectionObserver on first and last Tabs.\n */\n React.useEffect(() => {\n const tabListChildren = Array.from(tabListRef.current.children);\n const length = tabListChildren.length;\n if (typeof IntersectionObserver !== 'undefined' && length > 0 && scrollable && scrollButtons !== false) {\n const firstTab = tabListChildren[0];\n const lastTab = tabListChildren[length - 1];\n const observerOptions = {\n root: tabsRef.current,\n threshold: 0.99\n };\n const handleScrollButtonStart = entries => {\n setDisplayStartScroll(!entries[0].isIntersecting);\n };\n const firstObserver = new IntersectionObserver(handleScrollButtonStart, observerOptions);\n firstObserver.observe(firstTab);\n const handleScrollButtonEnd = entries => {\n setDisplayEndScroll(!entries[0].isIntersecting);\n };\n const lastObserver = new IntersectionObserver(handleScrollButtonEnd, observerOptions);\n lastObserver.observe(lastTab);\n return () => {\n firstObserver.disconnect();\n lastObserver.disconnect();\n };\n }\n return undefined;\n }, [scrollable, scrollButtons, updateScrollObserver, childrenProp == null ? void 0 : childrenProp.length]);\n React.useEffect(() => {\n setMounted(true);\n }, []);\n React.useEffect(() => {\n updateIndicatorState();\n });\n React.useEffect(() => {\n // Don't animate on the first render.\n scrollSelectedIntoView(defaultIndicatorStyle !== indicatorStyle);\n }, [scrollSelectedIntoView, indicatorStyle]);\n React.useImperativeHandle(action, () => ({\n updateIndicator: updateIndicatorState,\n updateScrollButtons: updateScrollButtonState\n }), [updateIndicatorState, updateScrollButtonState]);\n const indicator = /*#__PURE__*/_jsx(TabsIndicator, _extends({}, TabIndicatorProps, {\n className: clsx(classes.indicator, TabIndicatorProps.className),\n ownerState: ownerState,\n style: _extends({}, indicatorStyle, TabIndicatorProps.style)\n }));\n let childIndex = 0;\n const children = React.Children.map(childrenProp, child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"MUI: The Tabs component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n }\n }\n const childValue = child.props.value === undefined ? childIndex : child.props.value;\n valueToIndex.set(childValue, childIndex);\n const selected = childValue === value;\n childIndex += 1;\n return /*#__PURE__*/React.cloneElement(child, _extends({\n fullWidth: variant === 'fullWidth',\n indicator: selected && !mounted && indicator,\n selected,\n selectionFollowsFocus,\n onChange,\n textColor,\n value: childValue\n }, childIndex === 1 && value === false && !child.props.tabIndex ? {\n tabIndex: 0\n } : {}));\n });\n const handleKeyDown = event => {\n const list = tabListRef.current;\n const currentFocus = ownerDocument(list).activeElement;\n // Keyboard navigation assumes that [role=\"tab\"] are siblings\n // though we might warn in the future about nested, interactive elements\n // as a a11y violation\n const role = currentFocus.getAttribute('role');\n if (role !== 'tab') {\n return;\n }\n let previousItemKey = orientation === 'horizontal' ? 'ArrowLeft' : 'ArrowUp';\n let nextItemKey = orientation === 'horizontal' ? 'ArrowRight' : 'ArrowDown';\n if (orientation === 'horizontal' && isRtl) {\n // swap previousItemKey with nextItemKey\n previousItemKey = 'ArrowRight';\n nextItemKey = 'ArrowLeft';\n }\n switch (event.key) {\n case previousItemKey:\n event.preventDefault();\n moveFocus(list, currentFocus, previousItem);\n break;\n case nextItemKey:\n event.preventDefault();\n moveFocus(list, currentFocus, nextItem);\n break;\n case 'Home':\n event.preventDefault();\n moveFocus(list, null, nextItem);\n break;\n case 'End':\n event.preventDefault();\n moveFocus(list, null, previousItem);\n break;\n default:\n break;\n }\n };\n const conditionalElements = getConditionalElements();\n return /*#__PURE__*/_jsxs(TabsRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref,\n as: component\n }, other, {\n children: [conditionalElements.scrollButtonStart, conditionalElements.scrollbarSizeListener, /*#__PURE__*/_jsxs(TabsScroller, {\n className: classes.scroller,\n ownerState: ownerState,\n style: {\n overflow: scrollerStyle.overflow,\n [vertical ? `margin${isRtl ? 'Left' : 'Right'}` : 'marginBottom']: visibleScrollbar ? undefined : -scrollerStyle.scrollbarWidth\n },\n ref: tabsRef,\n children: [/*#__PURE__*/_jsx(FlexContainer, {\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-orientation\": orientation === 'vertical' ? 'vertical' : null,\n className: classes.flexContainer,\n ownerState: ownerState,\n onKeyDown: handleKeyDown,\n ref: tabListRef,\n role: \"tablist\",\n children: children\n }), mounted && indicator]\n }), conditionalElements.scrollButtonEnd]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Tabs.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Callback fired when the component mounts.\n * This is useful when you want to trigger an action programmatically.\n * It supports two actions: `updateIndicator()` and `updateScrollButtons()`\n *\n * @param {object} actions This object contains all possible actions\n * that can be triggered programmatically.\n */\n action: refType,\n /**\n * If `true`, the scroll buttons aren't forced hidden on mobile.\n * By default the scroll buttons are hidden on mobile and takes precedence over `scrollButtons`.\n * @default false\n */\n allowScrollButtonsMobile: PropTypes.bool,\n /**\n * The label for the Tabs as a string.\n */\n 'aria-label': PropTypes.string,\n /**\n * An id or list of ids separated by a space that label the Tabs.\n */\n 'aria-labelledby': PropTypes.string,\n /**\n * If `true`, the tabs are centered.\n * This prop is intended for large views.\n * @default false\n */\n centered: PropTypes.bool,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Determines the color of the indicator.\n * @default 'primary'\n */\n indicatorColor: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary']), PropTypes.string]),\n /**\n * Callback fired when the value changes.\n *\n * @param {React.SyntheticEvent} event The event source of the callback. **Warning**: This is a generic event not a change event.\n * @param {any} value We default to the index of the child (number)\n */\n onChange: PropTypes.func,\n /**\n * The component orientation (layout flow direction).\n * @default 'horizontal'\n */\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n /**\n * The component used to render the scroll buttons.\n * @default TabScrollButton\n */\n ScrollButtonComponent: PropTypes.elementType,\n /**\n * Determine behavior of scroll buttons when tabs are set to scroll:\n *\n * - `auto` will only present them when not all the items are visible.\n * - `true` will always present them.\n * - `false` will never present them.\n *\n * By default the scroll buttons are hidden on mobile.\n * This behavior can be disabled with `allowScrollButtonsMobile`.\n * @default 'auto'\n */\n scrollButtons: PropTypes /* @typescript-to-proptypes-ignore */.oneOf(['auto', false, true]),\n /**\n * If `true` the selected tab changes on focus. Otherwise it only\n * changes on activation.\n */\n selectionFollowsFocus: PropTypes.bool,\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n * @default {}\n */\n slotProps: PropTypes.shape({\n endScrollButtonIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n startScrollButtonIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n EndScrollButtonIcon: PropTypes.elementType,\n StartScrollButtonIcon: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Props applied to the tab indicator element.\n * @default {}\n */\n TabIndicatorProps: PropTypes.object,\n /**\n * Props applied to the [`TabScrollButton`](/material-ui/api/tab-scroll-button/) element.\n * @default {}\n */\n TabScrollButtonProps: PropTypes.object,\n /**\n * Determines the color of the `Tab`.\n * @default 'primary'\n */\n textColor: PropTypes.oneOf(['inherit', 'primary', 'secondary']),\n /**\n * The value of the currently selected `Tab`.\n * If you don't want any selected `Tab`, you can set this prop to `false`.\n */\n value: PropTypes.any,\n /**\n * Determines additional display behavior of the tabs:\n *\n * - `scrollable` will invoke scrolling properties and allow for horizontally\n * scrolling (or swiping) of the tab bar.\n * - `fullWidth` will make the tabs grow to use all the available space,\n * which should be used for small views, like on mobile.\n * - `standard` will render the default state.\n * @default 'standard'\n */\n variant: PropTypes.oneOf(['fullWidth', 'scrollable', 'standard']),\n /**\n * If `true`, the scrollbar is visible. It can be useful when displaying\n * a long vertical list of tabs.\n * @default false\n */\n visibleScrollbar: PropTypes.bool\n} : void 0;\nexport default Tabs;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\n\n/**\n * @type {React.Context<{ idPrefix: string; value: string } | null>}\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Context = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== 'production') {\n Context.displayName = 'TabContext';\n}\nfunction useUniquePrefix() {\n const [id, setId] = React.useState(null);\n React.useEffect(() => {\n setId(`mui-p-${Math.round(Math.random() * 1e5)}`);\n }, []);\n return id;\n}\nexport default function TabContext(props) {\n const {\n children,\n value\n } = props;\n const idPrefix = useUniquePrefix();\n const context = React.useMemo(() => {\n return {\n idPrefix,\n value\n };\n }, [idPrefix, value]);\n return /*#__PURE__*/_jsx(Context.Provider, {\n value: context,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? TabContext.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * The value of the currently selected `Tab`.\n */\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired\n} : void 0;\n\n/**\n * @returns {unknown}\n */\nexport function useTabContext() {\n return React.useContext(Context);\n}\nexport function getPanelId(context, value) {\n const {\n idPrefix\n } = context;\n if (idPrefix === null) {\n return null;\n }\n return `${context.idPrefix}-P-${value}`;\n}\nexport function getTabId(context, value) {\n const {\n idPrefix\n } = context;\n if (idPrefix === null) {\n return null;\n }\n return `${context.idPrefix}-T-${value}`;\n}","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Tabs from '@mui/material/Tabs';\nimport { useTabContext, getTabId, getPanelId } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabList = /*#__PURE__*/React.forwardRef(function TabList(props, ref) {\n const {\n children: childrenProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const context = useTabContext();\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n const children = React.Children.map(childrenProp, child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n return /*#__PURE__*/React.cloneElement(child, {\n // SOMEDAY: `Tabs` will set those themselves\n 'aria-controls': getPanelId(context, child.props.value),\n id: getTabId(context, child.props.value)\n });\n });\n return /*#__PURE__*/_jsx(Tabs, _extends({}, other, {\n ref: ref,\n value: context.value,\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabList.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * A list of `<Tab />` elements.\n */\n children: PropTypes.node\n} : void 0;\nexport default TabList;","import generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nexport function getTabPanelUtilityClass(slot) {\n return generateUtilityClass('MuiTabPanel', slot);\n}\nconst tabPanelClasses = generateUtilityClasses('MuiTabPanel', ['root']);\nexport default tabPanelClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { getTabPanelUtilityClass } from './tabPanelClasses';\nimport { getPanelId, getTabId, useTabContext } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTabPanelUtilityClass, classes);\n};\nconst TabPanelRoot = styled('div', {\n name: 'MuiTabPanel',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n padding: theme.spacing(3)\n}));\nconst TabPanel = /*#__PURE__*/React.forwardRef(function TabPanel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTabPanel'\n });\n const {\n children,\n className,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props);\n const classes = useUtilityClasses(ownerState);\n const context = useTabContext();\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n const id = getPanelId(context, value);\n const tabId = getTabId(context, value);\n return /*#__PURE__*/_jsx(TabPanelRoot, _extends({\n \"aria-labelledby\": tabId,\n className: clsx(classes.root, className),\n hidden: value !== context.value,\n id: id,\n ref: ref,\n role: \"tabpanel\",\n ownerState: ownerState\n }, other, {\n children: value === context.value && children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabPanel.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The `value` of the corresponding `Tab`. Must use the index of the `Tab` when\n * no `value` was passed to `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\nexport default TabPanel;","import Tooltip from \"@mui/material/Tooltip\";\n\nexport default function Routes({ name, children }) {\n return (\n <Tooltip\n componentsProps={{\n tooltip: {\n sx: {\n bgcolor: \"var(--tw-background-container)\",\n \"& .MuiTooltip-arrow\": {\n color: \"var(--tw-bg-container)\",\n },\n border: \"1px solid var(--tw-border-primary)\",\n color: \"var(--tw-text-primary)\",\n boxShadow: \"0px 0px 6.1px 0px #0000001A\",\n },\n },\n }}\n slotProps={{\n popper: {\n modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [0, -14],\n },\n },\n ],\n },\n }}\n className=\"bw-text-text-button\"\n title={name}\n placement=\"top\"\n >\n {children}\n </Tooltip>\n );\n}\n","import React from \"react\";\n\nfunction Maxop({ fill, spinnerColor, stopColor }) {\n return (\n <svg\n width=\"100%\"\n height=\"100%\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect\n x=\"0.820312\"\n y=\"1.4248\"\n width=\"14\"\n height=\"14\"\n rx=\"7\"\n fill={fill}\n stroke=\"url(#paint0_linear_739_20205)\"\n />\n <path\n d=\"M7.34417 5.19093C7.49384 4.73028 8.14555 4.73028 8.29522 5.19093L8.53764 5.937C8.73845 6.55504 9.31438 6.97348 9.96422 6.97348H10.7487C11.233 6.97348 11.4344 7.59329 11.0426 7.87799L10.4079 8.33908C9.8822 8.72105 9.66222 9.3981 9.86303 10.0161L10.1054 10.7622C10.2551 11.2229 9.72788 11.6059 9.33602 11.3212L8.70137 10.8601C8.17564 10.4782 7.46375 10.4782 6.93802 10.8601L6.30337 11.3212C5.91152 11.6059 5.38428 11.2229 5.53395 10.7622L5.77637 10.0161C5.97718 9.3981 5.75719 8.72105 5.23146 8.33908L4.59681 7.87799C4.20496 7.59329 4.40635 6.97348 4.89071 6.97348H5.67517C6.32501 6.97348 6.90094 6.55504 7.10176 5.937L7.34417 5.19093Z\"\n stroke=\"black\"\n />\n <path\n d=\"M7.34417 5.19093C7.49384 4.73028 8.14555 4.73028 8.29522 5.19093L8.53764 5.937C8.73845 6.55504 9.31438 6.97348 9.96422 6.97348H10.7487C11.233 6.97348 11.4344 7.59329 11.0426 7.87799L10.4079 8.33908C9.8822 8.72105 9.66222 9.3981 9.86303 10.0161L10.1054 10.7622C10.2551 11.2229 9.72788 11.6059 9.33602 11.3212L8.70137 10.8601C8.17564 10.4782 7.46375 10.4782 6.93802 10.8601L6.30337 11.3212C5.91152 11.6059 5.38428 11.2229 5.53395 10.7622L5.77637 10.0161C5.97718 9.3981 5.75719 8.72105 5.23146 8.33908L4.59681 7.87799C4.20496 7.59329 4.40635 6.97348 4.89071 6.97348H5.67517C6.32501 6.97348 6.90094 6.55504 7.10176 5.937L7.34417 5.19093Z\"\n stroke=\"url(#paint1_linear_739_20205)\"\n />\n <path\n d=\"M7.34417 5.19093C7.49384 4.73028 8.14555 4.73028 8.29522 5.19093L8.53764 5.937C8.73845 6.55504 9.31438 6.97348 9.96422 6.97348H10.7487C11.233 6.97348 11.4344 7.59329 11.0426 7.87799L10.4079 8.33908C9.8822 8.72105 9.66222 9.3981 9.86303 10.0161L10.1054 10.7622C10.2551 11.2229 9.72788 11.6059 9.33602 11.3212L8.70137 10.8601C8.17564 10.4782 7.46375 10.4782 6.93802 10.8601L6.30337 11.3212C5.91152 11.6059 5.38428 11.2229 5.53395 10.7622L5.77637 10.0161C5.97718 9.3981 5.75719 8.72105 5.23146 8.33908L4.59681 7.87799C4.20496 7.59329 4.40635 6.97348 4.89071 6.97348H5.67517C6.32501 6.97348 6.90094 6.55504 7.10176 5.937L7.34417 5.19093Z\"\n stroke=\"black\"\n stroke-opacity=\"0.2\"\n />\n <defs>\n <linearGradient\n id=\"paint0_linear_739_20205\"\n x1=\"18.1645\"\n y1=\"6.26376\"\n x2=\"-8.973\"\n y2=\"6.2369\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color={spinnerColor ? spinnerColor : \"#2CFFE4\"} />\n <stop offset=\"1\" stop-color={stopColor ? stopColor : \"#A45EFF\"} />\n </linearGradient>\n <linearGradient\n id=\"paint1_linear_739_20205\"\n x1=\"10.9776\"\n y1=\"10.0041\"\n x2=\"1.99984\"\n y2=\"2.87371\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color={spinnerColor ? spinnerColor : \"#2CFFE4\"} />\n <stop offset=\"1\" stop-color={stopColor ? stopColor : \"#A45EFF\"} />\n </linearGradient>\n </defs>\n </svg>\n );\n}\n\nexport default Maxop;\n","import React from \"react\";\n\nfunction LowgasSvg({ fill }) {\n return (\n <svg\n width=\"100%\"\n height=\"100%\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect\n x=\"0.839844\"\n y=\"0.938477\"\n width=\"14\"\n height=\"14\"\n rx=\"7\"\n fill={fill}\n />\n <rect\n x=\"0.839844\"\n y=\"0.938477\"\n width=\"14\"\n height=\"14\"\n rx=\"7\"\n fill={fill}\n />\n <rect\n x=\"0.839844\"\n y=\"0.938477\"\n width=\"14\"\n height=\"14\"\n rx=\"7\"\n stroke=\"#69AEF2\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M10.7198 5.55386C10.7352 5.56138 10.7489 5.57121 10.762 5.58393C10.7654 5.5874 10.7682 5.59087 10.7711 5.59434C10.9357 5.72676 11.1002 5.87653 11.2198 6.05696C11.3519 6.25646 11.4253 6.48719 11.3809 6.76072C11.3621 6.87522 11.3194 6.97526 11.2545 7.06373C11.2078 7.12677 11.1509 7.18228 11.0837 7.23085C11.0803 7.31933 11.0791 7.40607 11.0791 7.49223C11.0797 7.60269 11.0831 7.71661 11.0894 7.83342C11.1036 8.10752 11.1441 8.38393 11.1845 8.65804C11.2278 8.95296 11.271 9.24556 11.2824 9.55031C11.2978 9.94065 11.2522 10.2616 11.1253 10.4883C10.9841 10.7416 10.7546 10.8769 10.4164 10.8647C10.0126 10.8572 9.76438 10.6271 9.6522 10.202C9.55427 9.8302 9.56907 9.29934 9.6801 8.63144C9.67669 8.10231 9.60893 7.70157 9.47455 7.43152C9.38686 7.25514 9.26785 7.13833 9.11753 7.08282V10.5478C9.1665 10.5715 9.21091 10.6039 9.24849 10.6427C9.33504 10.7306 9.38914 10.8526 9.38914 10.9867V11.3326C9.38914 11.4199 9.3191 11.491 9.23312 11.491H5.23414C5.14816 11.491 5.07812 11.4199 5.07812 11.3326V10.9867C5.07812 10.8526 5.13222 10.7312 5.21877 10.6427C5.24553 10.6155 5.27571 10.5912 5.30817 10.571V5.2254C5.30817 4.99409 5.40098 4.78417 5.55074 4.63209C5.70049 4.48 5.90719 4.38574 6.13495 4.38574H8.28619C8.51452 4.38574 8.72236 4.48058 8.87268 4.63324C9.023 4.78591 9.11639 4.99698 9.11639 5.22945V6.75378C9.39312 6.81507 9.60437 6.99492 9.75128 7.28984C9.90901 7.60615 9.98759 8.05952 9.98986 8.64647C9.98986 8.65572 9.9893 8.66498 9.98759 8.67365H9.98816C9.88282 9.30224 9.86573 9.79261 9.95228 10.1205C10.0246 10.3963 10.1772 10.5455 10.4215 10.549H10.4243C10.6327 10.5559 10.7711 10.4784 10.8525 10.3321C10.9488 10.1598 10.9823 9.89554 10.9693 9.56246C10.9584 9.28026 10.9157 8.99286 10.8736 8.70372C10.8326 8.42499 10.7916 8.14395 10.7762 7.84903C10.77 7.7328 10.7665 7.61425 10.766 7.49166C10.7654 7.39451 10.7671 7.29851 10.7711 7.20425C10.4801 6.94519 10.303 6.68612 10.2484 6.42821C10.1966 6.1836 10.2512 5.94882 10.4192 5.72445C10.2911 5.63539 10.1607 5.56253 10.0286 5.50413C9.84808 5.42432 9.84694 5.41738 9.6579 5.38616C9.57306 5.37228 9.51554 5.29074 9.52921 5.20458C9.54288 5.11842 9.62316 5.06001 9.70801 5.07389C9.9221 5.10916 9.94773 5.12304 10.1533 5.21383C10.3486 5.30057 10.5371 5.41218 10.7198 5.55386ZM10.668 5.91817C10.5593 6.06621 10.5228 6.21425 10.5547 6.36344C10.5929 6.54386 10.7255 6.73585 10.9465 6.93883C10.9687 6.91859 10.9886 6.89719 11.0051 6.87464C11.0399 6.8278 11.0632 6.77286 11.0729 6.71041C11.1025 6.52767 11.0518 6.37096 10.9607 6.23333C10.8855 6.11941 10.7808 6.01416 10.668 5.91817ZM6.32286 5.1109H8.13472C8.22868 5.1109 8.31409 5.14964 8.37615 5.21268C8.38014 5.2173 8.38469 5.22135 8.38868 5.22655C8.44334 5.28843 8.47694 5.36997 8.47694 5.45786V6.63176C8.47694 6.72718 8.43879 6.8145 8.37672 6.87695C8.31523 6.9394 8.22982 6.97873 8.13529 6.97873H6.32286C6.22947 6.97873 6.14463 6.9394 6.082 6.87695L6.08143 6.87753C6.01993 6.81507 5.98121 6.72776 5.98121 6.63234V5.45729C5.98121 5.36187 6.01936 5.27513 6.08143 5.2121C6.08598 5.20805 6.08997 5.20342 6.09509 5.19995C6.15602 5.14444 6.23574 5.1109 6.32286 5.1109ZM8.9746 10.8324C8.97005 10.8329 8.96606 10.8329 8.96151 10.8329H5.49152C5.47216 10.8416 5.45451 10.8537 5.4397 10.8688C5.40952 10.8994 5.39073 10.9416 5.39073 10.9885V11.1758H9.0771V10.9885C9.0771 10.9422 9.05831 10.9 9.02813 10.8688C9.01276 10.8532 8.99453 10.841 8.9746 10.8324Z\"\n fill=\"#69AEF2\"\n />\n </svg>\n );\n}\n\nexport default LowgasSvg;\n","import React from \"react\";\n\nfunction FastestSvg({ fill }) {\n return (\n <svg\n width=\"100%\"\n height=\"100%\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect\n x=\"1.16797\"\n y=\"0.666992\"\n width=\"14\"\n height=\"14\"\n rx=\"7\"\n fill={fill}\n />\n <rect\n x=\"1.16797\"\n y=\"0.666992\"\n width=\"14\"\n height=\"14\"\n rx=\"7\"\n fill={fill}\n />\n <rect\n x=\"1.16797\"\n y=\"0.666992\"\n width=\"14\"\n height=\"14\"\n rx=\"7\"\n stroke=\"#FFC700\"\n />\n <path\n d=\"M4.61719 8.06204L10.1435 3.3252L7.77508 6.48309H12.1172L4.61719 12.0094L8.16982 8.06204H4.61719Z\"\n fill=\"#FFC700\"\n />\n </svg>\n );\n}\n\nexport default FastestSvg;\n","import truncate from \"../../../utils/truncate\";\nimport images from \"../../../images\";\nimport React, { useState, useEffect } from \"react\";\nimport useStore from \"../../../zustand/store\";\nimport Step from \"../../Svg/step\";\nimport ClockIcon from \"../../Svg/clockIcon\";\nimport Gas from \"../../Svg/gas\";\nimport Routes from \"../../Tooltip/Routes\";\nimport Maxop from \"../../Svg/maxop\";\nimport LowgasSvg from \"../../Svg/lowgas\";\nimport FastestSvg from \"../../Svg/fastest\";\nimport formatNumber from \"../../../utils/formatNumber\";\nimport OutputValueComp from \"../../OutputValueComp\";\nimport fixString from \"../../../utils/fixString\";\nfunction GasField({ gasImg, item, fromChain }) {\n const [gas, setGas] = useState({});\n useEffect(() => {\n let tempGasObj = { amountInUSD: 0 };\n item?.fee?.forEach((item) => {\n if (item.source == \"FROM_SOURCE_WALLET\") {\n tempGasObj.amountInUSD += Number(item.amountInUSD);\n }\n });\n setGas(tempGasObj);\n }, [item]);\n return (\n <div className=\"bw-flex bw-text-sm bw-items-center bw-gap-x-1\">\n <Gas fill={\"var(--tw-text-secondary)\"} />\n <p>${fixString(gas?.amountInUSD || 0, 6) || 0}</p>\n </div>\n );\n}\nexport default function MaxOutput({ routes, handleShowAllRoutes, handleRoutesData, convertVal, fromChain, toChain, sort }) {\n const configuration = useStore((state) => state.configuration);\n const { gasnew, clockicon, step, maxop, lowgas, fast, defaultCoin } = images;\n const [recommendedGas, setRecommendedGas] = useState({});\n const [recommendedTime, setRecommendedTime] = useState({});\n function handleOpCalc(item, arr, i) {\n let minOpAmount = truncate(item?.minOutputAmountDisplay * item?.to?.lastPrice || 0, 4);\n let outputAmount = item.outputAmountDisplay * (convertVal || 0);\n let opVal = outputAmount || 0;\n let lastLength = (arr[arr.length - 1].outputAmountDisplay || \"\") * convertVal;\n let firstLength = (arr[0].outputAmountDisplay || \"\") * convertVal;\n let firstOpVal = sort == \"asc\" ? lastLength : firstLength;\n let lastOpVal = sort == \"asc\" ? firstLength : lastLength;\n if ((i == 0 && sort !== \"asc\") || (i == arr.length - 1 && sort == \"asc\")) {\n return {\n val: (\n <p className=\"bw-text-[10px] bw-text-text-secondary bw-font-normal\">\n <span className=\"bw-text-text-greentext\">{`+$${fixString(formatNumber(firstOpVal - lastOpVal), 12)}`}</span> Higher Output\n </p>\n ),\n isMax: true,\n };\n } else if ((i == arr.length - 1 && sort !== \"asc\") || (i === 0 && sort == \"asc\")) {\n return {\n val: (\n <p className=\"bw-text-[10px] bw-text-text-secondary bw-font-normal\">\n <span className={`${firstOpVal - lastOpVal === 0 ? \"bw-text-text-greentext\" : \"bw-bg-background-container\"}`}>{`-$${fixString(formatNumber(firstOpVal - lastOpVal), 12)}`}</span> {firstOpVal - lastOpVal === 0 ? \"Higher Output\" : \"Less Output\"}\n </p>\n ),\n isMax: firstOpVal - lastOpVal === 0 ? true : false,\n };\n } else {\n return {\n val: (\n <p className=\"bw-text-[10px] bw-text-text-secondary bw-font-normal\">\n <span className={`${firstOpVal - opVal === 0 ? \"bw-text-text-greentext\" : \"bw-bg-background-container\"}`}>{`-$${fixString(formatNumber(firstOpVal - opVal), 12)}`}</span> {firstOpVal - opVal === 0 ? \"Higher Output\" : \"Less Output\"}\n </p>\n ),\n isMax: firstOpVal - opVal === 0 ? true : false,\n };\n }\n }\n\n return (\n <div>\n <div className=\"bw-h-[410px] bw-pt-2 bw-overflow-y-auto\">\n {routes.data?.data?.quotes\n ?.sort((a, b) => {\n let opVal1 = Number(a.outputAmountDisplay || 0);\n let opVal2 = Number(b.outputAmountDisplay || 0);\n if (sort === \"asc\") {\n return opVal1 - opVal2;\n } else {\n return opVal2 - opVal1;\n }\n })\n .map((item, i, arr) => {\n const calculatedOpVal = handleOpCalc(item, arr, i);\n let outputVal = item?.outputAmountDisplay || \"\";\n let logoUrl = item?.providerDetails?.logoUrl?.length ? item?.providerDetails?.logoUrl : defaultCoin;\n return (\n <div\n key={i}\n onClick={() => {\n handleRoutesData(item);\n handleShowAllRoutes();\n }}\n className=\"bw-mb-4\"\n >\n <div\n style={{\n boxShadow: (configuration && configuration.customTheme && configuration.customTheme?.shadow?.boxShadow) || \"1px 1px 7px rgba(0, 0, 0, 0.15)\",\n }}\n className={` bw-w-[93%] bw-mt-3 bw-cursor-pointer bw-ml-auto bw-mr-2 bw-flex bw-mb-8 bw-items-center bw-px-2 bw-relative bw-rounded-lg bw-pt-3 bw-pb-3 bw-border bw-border-border-primary`}\n >\n <div className=\"bw-absolute bw-flex bw-items-center bw-gap-x-1 bw-bottom-[-10%] bw-self-center bw-right-[47%]\">\n {item.tags?.includes(\"BEST_OUTPUT\") ? (\n <Routes name={\"Max Output\"}>\n <div className=\"bw-w-[20px] bw-h-[20px]\">\n <Maxop fill={\"var(--tw-background-container)\"} />\n </div>\n </Routes>\n ) : (\n <></>\n )}\n {item.tags?.includes(\"CHEAP\") ? (\n <Routes name={\"Lowest Gas\"}>\n <div className=\"bw-w-[20px] bw-h-[20px]\">\n <LowgasSvg fill={\"var(--tw-background-container)\"} />\n </div>\n </Routes>\n ) : (\n <></>\n )}\n {item.tags?.includes(\"FAST\") ? (\n <div className=\"bw-w-[20px] bw-h-[20px]\">\n <FastestSvg fill={\"var(--tw-background-container)\"} />\n </div>\n ) : (\n <></>\n )}\n </div>\n\n <div className=\"bw-w-[35px] bw-h-[35px] bw-absolute bw-z-50 bw-left-[-5%] bw-top-[-16%]\">\n <img src={logoUrl} className=\"bw-rounded-lg \" width={35} height={35} />\n </div>\n <div className=\"bw-absolute bw-text-[10px] bw-text-text-primary bw-font-normal bw-left-5 bw-top-1\">\n <span className={`${calculatedOpVal.color}`}>{calculatedOpVal?.val}</span>{\" \"}\n </div>\n <div className=\"bw-flex bw-w-full bw-mt-4 bw-justify-between bw-items-center\">\n <div>\n <p className=\"bw-text-xs bw-font-semibold bw-text-text-primary\">{item?.providerDetails?.name || \"\"}</p>\n\n <p className=\"bw-text-xs bw-font-normal bw-my-1 bw-text-text-secondary\">\n via{\" \"}\n {item?.protocolsUsed?.length > 2\n ? item?.protocolsUsed.slice(0, 2).map((item, i, arr) => {\n return i == arr.length - 1 ? item : `${item + \" >> \"}`;\n }) + `+${item?.protocolsUsed?.length - 2}`\n : item?.protocolsUsed.map((item, i, arr) => {\n return i == arr.length - 1 ? item : `${item + \" >> \"}`;\n })}{\" \"}\n </p>\n <div className=\"bw-flex bw-items-center bw-gap-x-1\">\n <div className=\"bw-flex bw-items-center bw-gap-x-1\">\n <Step fill={\"var(--tw-text-secondary)\"} />\n <p className=\"bw-text-xs bw-font-normal bw-text-text-secondary\">{item.steps.length} Step</p>\n </div>\n <div className=\"bw-text-xs bw-font-normal bw-text-text-secondary\"> Slippage {item.slippage / 100}%</div>\n </div>\n </div>\n </div>\n <div className=\"bw-flex bw-flex-col bw-justify-between bw-w-full bw-items-end\">\n <div className=\"bw-flex bw-items-center bw-gap-x-2\">\n <div className={` bw-relative bw-rounded-[50%] bw-w-[21px] bw-h-[21px] bw-border bw-border-border-primary ${!item.to?.image ? \"\" : \"bw-bg-background-coin\"}`}>\n {item.to?.image ? <img src={item.to.image} width={20} height={20} alt=\"img\" className=\"bw-rounded-[50%] bw-max-w-[20px] bw-max-h-[20px] bw-object-contain\" /> : <img src={defaultCoin} width={20} height={20} alt=\"img\" className=\"bw-rounded-[50%]\" />}\n <div className={`bw-bg-background-coin bw-absolute bw-bottom-[-30%] bw-right-[-15%] bw-rounded-[50%] bw-w-[12px] bw-h-[12px] bw-border bw-border-border-primary ${!toChain?.image ? \"\" : \"bw-bg-background-coin\"}`}> {toChain?.image ? <img src={toChain.image} width={11} height={11} className=\"bw-rounded-[50%]\" alt=\"img\" /> : <img src={defaultCoin} width={11} height={11} className=\"bw-rounded-[50%]\" alt=\"img\" />}</div>\n </div>\n <p className=\"bw-text-lg bw-break-words bw-font-medium bw-text-text-primary\">\n <OutputValueComp value={outputVal} decimal={12} />\n </p>\n </div>\n <div className=\"bw-flex bw-text-xs bw-font-normal bw-mb-2 bw-items-center bw-gap-x-1\">\n <p className=\"bw-text-text-secondary\">\n $\n <OutputValueComp value={(item.outputAmountDisplay * convertVal)?.toString() || \"\"} decimal={10} />\n </p>\n </div>\n <div className=\"bw-text-sm bw-flex bw-items-center bw-gap-x-2 bw-font-medium bw-text-text-secondary\">\n <div className=\"bw-flex bw-text-sm bw-items-center bw-gap-x-1\">\n <ClockIcon fill={\"var(--tw-text-secondary)\"} />\n <p> {item.estimatedTimeInSeconds >= 90 ? `${Math.round(truncate((item.estimatedTimeInSeconds || 60) / 60, 2) || 0)}min` : `${item?.estimatedTimeInSeconds || 60} secs`}</p>\n </div>\n <GasField item={item} gasImg={gasnew} fromChain={fromChain} />\n </div>\n </div>\n </div>\n </div>\n );\n })}\n </div>\n </div>\n );\n}\n","import truncate from \"../../../utils/truncate\";\nimport images from \"../../../images\";\nimport React, { useState, useEffect } from \"react\";\nimport useStore from \"../../../zustand/store\";\nimport Gas from \"../../Svg/gas\";\nimport ClockIcon from \"../../Svg/clockIcon\";\nimport Step from \"../../Svg/step\";\nimport Routes from \"../../Tooltip/Routes\";\nimport Maxop from \"../../Svg/maxop\";\nimport LowgasSvg from \"../../Svg/lowgas\";\nimport FastestSvg from \"../../Svg/fastest\";\nimport fixChar from \"../../../utils/fixChar\";\nimport formatNumber from \"../../../utils/formatNumber\";\nimport OutputValueComp from \"../../OutputValueComp\";\nimport fixString from \"../../../utils/fixString\";\nfunction GasField({ gasImg, item, fromChain }) {\n const [gas, setGas] = useState({});\n useEffect(() => {\n let tempGasObj = { amountInUSD: 0 };\n item?.fee?.forEach((item) => {\n if (item.source == \"FROM_SOURCE_WALLET\") {\n tempGasObj.amountInUSD += Number(item.amountInUSD);\n }\n });\n setGas(tempGasObj);\n }, [item]);\n\n return (\n <div className=\"bw-flex bw-text-sm bw-items-center bw-gap-x-1\">\n <Gas fill={\"var(--tw-text-secondary)\"} />\n <p>${fixString(gas?.amountInUSD || 0, 6) || 0}</p>\n </div>\n );\n}\nexport default function LowerGas({ routes, handleShowAllRoutes, handleRoutesData, convertVal, fromChain, sort, toChain }) {\n const { gasnew, clockicon, step, fast, maxop, lowgas, defaultCoin } = images;\n const [recommendedOp, setRecommendedOp] = useState({});\n const [recommendedTime, setRecommendedTime] = useState({});\n const configuration = useStore((state) => state.configuration);\n function handleOpCalc(item, arr, i) {\n let tempGasObj = { amountInUSD: 0 };\n item?.fee?.forEach((item) => {\n if (item.source == \"FROM_SOURCE_WALLET\") {\n tempGasObj.amountInUSD += Number(item.amountInUSD);\n }\n });\n let gasVal = tempGasObj.amountInUSD;\n let tempGasObj1 = { amountInUSD: 0 };\n let gasFirstFee = arr[0].fee?.forEach((item) => {\n if (item.source == \"FROM_SOURCE_WALLET\") {\n tempGasObj1.amountInUSD += Number(item.amountInUSD);\n }\n });\n\n let tempGasObj2 = { amountInUSD: 0 };\n arr[arr.length - 1].fee?.forEach((item) => {\n if (item.source == \"FROM_SOURCE_WALLET\") {\n tempGasObj2.amountInUSD += Number(item.amountInUSD);\n }\n });\n let gasFirstVal = sort === \"desc\" ? tempGasObj2.amountInUSD : tempGasObj1.amountInUSD;\n let gasLastVal = sort === \"desc\" ? tempGasObj1.amountInUSD : tempGasObj2.amountInUSD;\n if ((i == 0 && sort !== \"desc\") || (i == arr.length - 1 && sort == \"desc\")) {\n return {\n val: (\n <p className=\"bw-text-[10px] bw-text-text-secondary bw-font-normal\">\n <span className=\"bw-text-text-greentext\">{`$${truncate(gasLastVal - gasFirstVal, 4)}`}</span> Cheaper\n </p>\n ),\n isMax: true,\n };\n } else if (i === 0 && sort !== \"desc\") {\n return {\n val: (\n <p className=\"bw-text-[10px] bw-text-text-secondary bw-font-normal\">\n <span className={`${truncate(gasFirstVal - gasLastVal, 4) === 0 ? \"bw-text-text-greentext\" : \"bw-bg-background-container\"}`}>{`$${truncate(gasFirstVal - gasLastVal, 4)}`}</span> {truncate(gasFirstVal - gasLastVal, 4) === 0 ? \"Cheaper\" : \"Higher\"}\n </p>\n ),\n isMax: truncate(gasFirstVal - gasLastVal, 4) === 0 ? true : false,\n };\n } else if (i == arr.length - 1 && sort == \"desc\") {\n return {\n val: (\n <p className=\"bw-text-[10px] bw-text-text-secondary bw-font-normal\">\n <span className={`${truncate(gasLastVal - gasFirstVal, 4) === 0 ? \"bw-text-text-greentext\" : \"bw-bg-background-container\"}`}>{`$${truncate(gasLastVal - gasFirstVal, 4)}`}</span> {truncate(gasLastVal - gasFirstVal, 4) ? \"Cheaper\" : \"Higher\"}\n </p>\n ),\n isMax: truncate(gasLastVal - gasFirstVal, 4) === 0 ? true : false,\n };\n } else {\n return {\n val: (\n <p className=\"bw-text-[10px] bw-text-text-secondary bw-font-normal\">\n <span className={`${truncate(gasVal - gasFirstVal, 4) === 0 ? \"bw-text-text-greentext\" : \"bw-bg-background-container\"}`}>{`$${truncate(gasVal - gasFirstVal, 4)}`}</span> {truncate(gasVal - gasFirstVal, 4) ? \"Cheaper\" : \"Higher\"}\n </p>\n ),\n isMax: truncate(gasVal - gasFirstVal, 4) === 0 ? true : false,\n };\n }\n }\n // useEffect(() => {\n // let time = { val: 100000, id: \"\" };\n // let op = { val: 0, id: \"\" };\n // routes.data?.data?.quotes.forEach((item) => {\n // let timeparse = Math.round(\n // truncate((item.estimatedTimeInSeconds || 60) / 60, 2) || 0\n // );\n\n // if (timeparse < time.val) {\n // time = { val: timeparse, id: item._id };\n // }\n // let opParse = truncate(\n // Number(item.minOutputAmount || item.outputAmountDisplay),\n // 4\n // );\n // if (opParse > op.val) {\n // op = { val: opParse, id: item._id };\n // }\n // });\n // setRecommendedOp(op);\n // setRecommendedTime(time);\n // }, [routes]);\n return (\n <div>\n <div className=\"bw-h-[410px] bw-pt-2 bw-overflow-y-auto\">\n {routes?.data?.data?.quotes\n ?.sort((a, b) => {\n let tempVal1 = { amountInUSD: 0 };\n a?.fee?.forEach((item) => {\n if (item.source == \"FROM_SOURCE_WALLET\") {\n tempVal1.amountInUSD += Number(item.amountInUSD);\n }\n });\n let tempVal2 = { amountInUSD: 0 };\n b?.fee?.forEach((item) => {\n if (item.source == \"FROM_SOURCE_WALLET\") {\n tempVal2.amountInUSD += Number(item.amountInUSD);\n }\n });\n let opVal1 = tempVal1.amountInUSD;\n let opVal2 = tempVal2.amountInUSD;\n if (sort === \"asc\") {\n return opVal1 - opVal2;\n } else if (sort === \"none\") {\n return opVal1 - opVal2;\n } else {\n return opVal2 - opVal1;\n }\n })\n .map((item, i, arr) => {\n const calculatedOpVal = handleOpCalc(item, arr, i);\n let outputVal = item?.outputAmountDisplay || \"\";\n let logoUrl = item?.providerDetails?.logoUrl?.length ? item?.providerDetails?.logoUrl : defaultCoin;\n return (\n <div\n key={i}\n onClick={() => {\n handleRoutesData(item);\n handleShowAllRoutes();\n }}\n className=\"bw-mb-4\"\n >\n <div\n style={{\n boxShadow: (configuration && configuration.customTheme && configuration.customTheme?.shadow?.boxShadow) || \"1px 1px 7px rgba(0, 0, 0, 0.15)\",\n }}\n className={` bw-w-[93%] bw-mt-3 bw-cursor-pointer bw-ml-auto bw-mr-2 bw-flex bw-mb-8 bw-items-center bw-px-2 bw-relative bw-rounded-lg bw-pt-3 bw-pb-3 bw-border bw-border-border-primary`}\n >\n <div className=\"bw-absolute bw-flex bw-items-center bw-gap-x-1 bw-bottom-[-10%] bw-self-center bw-right-[47%]\">\n {item.tags?.includes(\"CHEAP\") ? (\n <Routes name={\"Lowest Gas\"}>\n <div className=\"bw-w-[20px] bw-h-[20px]\">\n <LowgasSvg fill={\"var(--tw-background-container)\"} />\n </div>\n </Routes>\n ) : (\n <></>\n )}\n {item.tags?.includes(\"BEST_OUTPUT\") ? (\n <Routes name={\"Max Output\"}>\n <div className=\"bw-w-[20px] bw-h-[20px]\">\n <Maxop fill={\"var(--tw-background-container)\"} />\n </div>\n </Routes>\n ) : (\n <></>\n )}\n {item.tags?.includes(\"FAST\") ? (\n <Routes name={\"Fastest\"}>\n <div className=\"bw-w-[20px] bw-h-[20px]\">\n <FastestSvg fill={\"var(--tw-background-container)\"} />\n </div>\n </Routes>\n ) : (\n <></>\n )}\n </div>\n\n <div className=\"bw-w-[35px] bw-h-[35px] bw-absolute bw-z-50 bw-left-[-5%] bw-top-[-16%]\">\n <img src={logoUrl} className=\"bw-rounded-lg \" width={35} height={35} />\n </div>\n <div className=\"bw-absolute bw-text-[10px] bw-text-text-primary bw-font-normal bw-left-5 bw-top-1\">\n <span className={`${calculatedOpVal.color}`}>{calculatedOpVal?.val}</span>{\" \"}\n </div>\n <div className=\"bw-flex bw-w-full bw-mt-4 bw-justify-between bw-items-center\">\n <div>\n <p className=\"bw-text-xs bw-font-semibold bw-text-text-primary\">{item?.providerDetails?.name || \"\"}</p>\n\n <p className=\"bw-text-xs bw-font-normal bw-my-1 bw-text-text-secondary\">\n via{\" \"}\n {item?.protocolsUsed?.length > 2\n ? item?.protocolsUsed.slice(0, 2).map((item, i, arr) => {\n return i == arr.length - 1 ? item : `${item + \" >> \"}`;\n }) + `+${item?.protocolsUsed?.length - 2}`\n : item?.protocolsUsed.map((item, i, arr) => {\n return i == arr.length - 1 ? item : `${item + \" >> \"}`;\n })}{\" \"}\n </p>\n <div className=\"bw-flex bw-items-center bw-gap-x-1\">\n <div className=\"bw-flex bw-items-center bw-gap-x-1\">\n <Step fill={\"var(--tw-text-secondary)\"} />\n <p className=\"bw-text-xs bw-font-normal bw-text-text-secondary\">{item.steps.length} Step</p>\n </div>\n <div className=\"bw-text-xs bw-font-normal bw-text-text-secondary\"> Slippage {item.slippage / 100}%</div>\n </div>\n </div>\n </div>\n <div className=\"bw-flex bw-flex-col bw-justify-between bw-w-full bw-items-end\">\n <div className=\"bw-flex bw-items-center bw-gap-x-2\">\n <div className={` bw-relative bw-rounded-[50%] bw-w-[21px] bw-h-[21px] bw-border bw-border-border-primary ${!item.to?.image ? \"\" : \"bw-bg-background-coin\"}`}>\n {item.to?.image ? <img src={item.to.image} width={20} height={20} alt=\"img\" className=\"bw-rounded-[50%] bw-max-w-[20px] bw-max-h-[20px] bw-object-contain\" /> : <img src={defaultCoin} width={20} height={20} alt=\"img\" className=\"bw-rounded-[50%]\" />}\n <div className={` bw-absolute bw-bottom-[-30%] bw-right-[-15%] bw-rounded-[50%] bw-w-[12px] bw-h-[12px] bw-border bw-border-border-primary ${!toChain?.image ? \"\" : \"bw-bg-background-coin\"}`}> {toChain?.image ? <img src={toChain.image} width={11} height={11} className=\"bw-rounded-[50%]\" alt=\"img\" /> : <img src={defaultCoin} width={11} height={11} className=\"bw-rounded-[50%]\" alt=\"img\" />}</div>\n </div>\n <p className=\"bw-text-lg bw-break-words bw-font-medium bw-text-text-primary\">\n <OutputValueComp value={outputVal} decimal={12} />\n </p>\n </div>\n <div className=\"bw-flex bw-text-xs bw-font-normal bw-mb-2 bw-items-center bw-gap-x-1\">\n <p className=\"bw-text-text-secondary\">\n $\n <OutputValueComp value={((item.outputAmountDisplay || \"\") * convertVal)?.toString() || \"\"} decimal={10} />\n </p>\n </div>\n <div className=\"bw-text-sm bw-flex bw-items-center bw-gap-x-2 bw-font-medium bw-text-text-secondary\">\n <div className=\"bw-flex bw-text-sm bw-items-center bw-gap-x-1\">\n <ClockIcon fill={\"var(--tw-text-secondary)\"} />\n <p> {item.estimatedTimeInSeconds >= 90 ? `${Math.round(truncate((item.estimatedTimeInSeconds || 60) / 60, 2) || 0)}min` : `${item?.estimatedTimeInSeconds || 60} secs`}</p>\n </div>\n <GasField item={item} gasImg={gasnew} fromChain={fromChain} />\n </div>\n </div>\n </div>\n </div>\n );\n })}\n </div>\n </div>\n );\n}\n","import truncate from \"../../../utils/truncate\";\nimport images from \"../../../images\";\nimport React, { useState, useEffect } from \"react\";\nimport useStore from \"../../../zustand/store\";\nimport Gas from \"../../Svg/gas\";\nimport ClockIcon from \"../../Svg/clockIcon\";\nimport Step from \"../../Svg/step\";\nimport Routes from \"../../Tooltip/Routes\";\nimport Maxop from \"../../Svg/maxop\";\nimport LowgasSvg from \"../../Svg/lowgas\";\nimport FastestSvg from \"../../Svg/fastest\";\nimport fixChar from \"../../../utils/fixChar\";\nimport formatNumber from \"../../../utils/formatNumber\";\nimport fixString from \"../../../utils/fixString\";\nimport OutputValueComp from \"../../OutputValueComp\";\nfunction GasField({ gasImg, item, fromChain }) {\n const [gas, setGas] = useState({});\n useEffect(() => {\n let tempGasObj = { amountInUSD: 0 };\n item?.fee?.forEach((item) => {\n if (item.source == \"FROM_SOURCE_WALLET\") {\n tempGasObj.amountInUSD += Number(item.amountInUSD);\n }\n });\n setGas(tempGasObj);\n }, [item]);\n return (\n <div className=\"bw-flex bw-text-sm bw-items-center bw-gap-x-1\">\n <Gas fill={\"var(--tw-text-secondary)\"} />\n <p>${fixString(gas?.amountInUSD || 0, 6) || 0}</p>\n </div>\n );\n}\nexport default function Fastest({ routes, handleShowAllRoutes, handleRoutesData, convertVal, fromChain, sort, toChain }) {\n const { gasnew, clockicon, step, maxop, fast, lowgas, defaultCoin } = images;\n const [recommendedGas, setRecommendedGas] = useState({});\n const [recommendedOp, setRecommendedOp] = useState({});\n const configuration = useStore((state) => state.configuration);\n function handleOpCalc(item, arr, i) {\n let opVal = truncate((item.estimatedTimeInSeconds || 60) / 60, 2) || 0;\n\n let firstOpVal = sort == \"asc\" ? truncate((arr[arr.length - 1].estimatedTimeInSeconds || 60) / 60, 2) || 0 : truncate((arr[0].estimatedTimeInSeconds || 60) / 60, 2) || 0;\n\n let lastOpVal = sort == \"asc\" ? truncate((arr[0].estimatedTimeInSeconds || 60) / 60, 2) || 0 : truncate((arr[arr.length - 1].estimatedTimeInSeconds || 60) / 60, 2) || 0;\n\n if ((i == 0 && sort !== \"asc\") || (i == arr.length - 1 && sort == \"asc\")) {\n return {\n val: (\n <p className=\"bw-text-[10px] bw-text-text-secondary bw-font-normal\">\n <span className=\"bw-text-text-greentext\">{`+${truncate(lastOpVal - firstOpVal || 0, 2)} Mins`}</span> Faster\n </p>\n ),\n isMax: true,\n };\n } else if ((i == arr.length - 1 && sort !== \"asc\") || (i === 0 && sort == \"asc\")) {\n return {\n val: (\n <p className=\"bw-text-[10px] bw-text-text-secondary bw-font-normal\">\n <span className={`${firstOpVal - lastOpVal === 0 ? \"bw-text-text-greentext\" : \"bw-bg-background-container\"}`}>{`${truncate(lastOpVal - firstOpVal, 2)} Mins`}</span> {firstOpVal - lastOpVal === 0 ? \"Faster\" : \"Slower\"}\n </p>\n ),\n isMax: firstOpVal - lastOpVal === 0 ? true : false,\n };\n } else {\n return {\n val: (\n <p className=\"bw-text-[10px] bw-text-text-secondary bw-font-normal\">\n <span className={`${firstOpVal - opVal === 0 ? \"bw-text-text-greentext\" : \"bw-bg-background-container\"}`}>{`${truncate(opVal - firstOpVal, 2)} Mins`}</span> {firstOpVal - opVal === 0 ? \"Faster\" : \"Slower\"}\n </p>\n ),\n isMax: firstOpVal - opVal === 0 ? true : false,\n };\n }\n }\n return (\n <div>\n <div className=\"bw-h-[410px] bw-pt-2 bw-overflow-y-auto\">\n {routes.data?.data?.quotes\n ?.sort((a, b) => {\n let opVal1 = truncate((a.estimatedTimeInSeconds || 60) / 60, 2) || 0;\n\n let opVal2 = truncate((b.estimatedTimeInSeconds || 60) / 60, 2) || 0;\n if (sort === \"asc\") {\n return opVal2 - opVal1;\n } else {\n return opVal1 - opVal2;\n }\n })\n .map((item, i, arr) => {\n const calculatedOpVal = handleOpCalc(item, arr, i);\n let outputVal = item?.outputAmountDisplay || \"\";\n let logoUrl = item?.providerDetails?.logoUrl?.length ? item?.providerDetails?.logoUrl : defaultCoin;\n return (\n <div\n key={i}\n onClick={() => {\n handleRoutesData(item);\n handleShowAllRoutes();\n }}\n className=\"bw-mb-4\"\n >\n <div\n style={{\n boxShadow: (configuration && configuration.customTheme && configuration.customTheme?.shadow?.boxShadow) || \"1px 1px 7px rgba(0, 0, 0, 0.15)\",\n }}\n className={` bw-w-[93%] bw-mt-3 bw-cursor-pointer bw-ml-auto bw-mr-2 bw-flex bw-mb-8 bw-items-center bw-px-2 bw-relative bw-rounded-lg bw-pt-3 bw-pb-3 bw-border bw-border-border-primary`}\n >\n <div className=\"bw-absolute bw-flex bw-items-center bw-gap-x-1 bw-bottom-[-10%] bw-self-center bw-right-[47%]\">\n {item.tags?.includes(\"FAST\") ? (\n <Routes name={\"Fastest\"}>\n <div className=\"bw-w-[20px] bw-h-[20px]\">\n <FastestSvg fill={\"var(--tw-background-container)\"} />\n </div>\n </Routes>\n ) : (\n <></>\n )}\n {item.tags?.includes(\"CHEAP\") ? (\n <Routes name={\"Lowest Gas\"}>\n <div className=\"bw-w-[20px] bw-h-[20px]\">\n <LowgasSvg fill={\"var(--tw-background-container)\"} />\n </div>\n </Routes>\n ) : (\n <></>\n )}\n {item.tags?.includes(\"BEST_OUTPUT\") ? (\n <Routes name={\"Max Output\"}>\n <div className=\"bw-w-[20px] bw-h-[20px]\">\n <Maxop fill={\"var(--tw-background-container)\"} />\n </div>\n </Routes>\n ) : (\n <></>\n )}\n </div>\n\n <div className=\"bw-w-[35px] bw-h-[35px] bw-absolute bw-z-50 bw-left-[-5%] bw-top-[-16%]\">\n <img src={logoUrl} className=\"bw-rounded-lg \" width={35} height={35} />\n </div>\n <div className=\"bw-absolute bw-text-[10px] bw-text-text-primary bw-font-normal bw-left-5 bw-top-1\">\n <span className={`${calculatedOpVal.color}`}>{calculatedOpVal?.val}</span>{\" \"}\n </div>\n <div className=\"bw-flex bw-w-full bw-mt-4 bw-justify-between bw-items-center\">\n <div>\n <p className=\"bw-text-xs bw-font-semibold bw-text-text-primary\">{item?.providerDetails?.name || \"\"}</p>\n\n <p className=\"bw-text-xs bw-font-normal bw-my-1 bw-text-text-secondary\">\n via{\" \"}\n {item?.protocolsUsed?.length > 2\n ? item?.protocolsUsed.slice(0, 2).map((item, i, arr) => {\n return i == arr.length - 1 ? item : `${item + \" >> \"}`;\n }) + `+${item?.protocolsUsed?.length - 2}`\n : item?.protocolsUsed.map((item, i, arr) => {\n return i == arr.length - 1 ? item : `${item + \" >> \"}`;\n })}{\" \"}\n </p>\n <div className=\"bw-flex bw-items-center bw-gap-x-1\">\n <div className=\"bw-flex bw-items-center bw-gap-x-1\">\n <Step fill={\"var(--tw-text-secondary)\"} />\n <p className=\"bw-text-xs bw-font-normal bw-text-text-secondary\">{item.steps.length} Step</p>\n </div>\n <div className=\"bw-text-xs bw-font-normal bw-text-text-secondary\"> Slippage {item.slippage / 100}%</div>\n </div>\n </div>\n </div>\n <div className=\"bw-flex bw-flex-col bw-justify-between bw-w-full bw-items-end\">\n <div className=\"bw-flex bw-items-center bw-gap-x-2\">\n <div className={` bw-relative bw-rounded-[50%] bw-w-[21px] bw-h-[21px] bw-border bw-border-border-primary ${!item?.to?.image ? \"\" : \"bw-bg-background-coin\"}`}>\n {item.to?.image ? <img src={item.to.image} width={20} height={20} alt=\"img\" className=\"bw-rounded-[50%] bw-max-w-[20px] bw-max-h-[20px] bw-object-contain\" /> : <img src={defaultCoin} width={20} height={20} alt=\"img\" className=\"bw-rounded-[50%]\" />}\n <div className={` bw-absolute bw-bottom-[-30%] bw-right-[-15%] bw-rounded-[50%] bw-w-[12px] bw-h-[12px] bw-border bw-border-border-primary ${!toChain?.image ? \"\" : \"bw-bg-background-coin\"}`}> {toChain?.image ? <img src={toChain.image} width={11} height={11} className=\"bw-rounded-[50%]\" alt=\"img\" /> : <img src={defaultCoin} width={11} height={11} className=\"bw-rounded-[50%]\" alt=\"img\" />}</div>\n </div>\n <p className=\"bw-text-lg bw-break-words bw-font-medium bw-text-text-primary\">\n <OutputValueComp value={outputVal} decimal={12} />\n </p>\n </div>\n <div className=\"bw-flex bw-text-xs bw-font-normal bw-mb-2 bw-items-center bw-gap-x-1\">\n <p className=\"bw-text-text-secondary\">\n $\n <OutputValueComp value={((item.outputAmountDisplay || \"\") * convertVal)?.toString() || \"\"} decimal={10} />\n </p>\n </div>\n <div className=\"bw-text-sm bw-flex bw-items-center bw-gap-x-2 bw-font-medium bw-text-text-secondary\">\n <div className=\"bw-flex bw-text-sm bw-items-center bw-gap-x-1\">\n <ClockIcon fill={\"var(--tw-text-secondary)\"} />\n <p>{item.estimatedTimeInSeconds >= 90 ? `${Math.round(truncate((item.estimatedTimeInSeconds || 60) / 60, 2)) || 0}min` : `${item?.estimatedTimeInSeconds || 60} secs`}</p>\n </div>\n <GasField item={item} gasImg={gasnew} fromChain={fromChain} />\n </div>\n </div>\n </div>\n </div>\n );\n })}\n </div>\n </div>\n );\n}\n","import Box from \"@mui/material/Box\";\nimport Tab from \"@mui/material/Tab\";\nimport TabContext from \"@mui/lab/TabContext\";\nimport TabList from \"@mui/lab/TabList\";\nimport TabPanel from \"@mui/lab/TabPanel\";\nimport React, { useState } from \"react\";\nimport images from \"../../../images\";\nimport SortUp from \"../../Svg/sortUp\";\nimport SortDown from \"../../Svg/sortDown\";\nimport MaxOutput from \"./maxOutput\";\nimport LowestGas from \"./lowestGas\";\nimport Fastest from \"./fastest\";\nimport Maxop from \"../../Svg/maxop\";\nimport FastestSvg from \"../../Svg/fastest\";\nimport LowgasSvg from \"../../Svg/lowgas\";\nimport useStore from \"../../../zustand/store\";\nconst Label1 = React.memo(function ({ maxOpSort, value }) {\n const { maxop } = images;\n const configuration = useStore((state) => state.configuration);\n return (\n <div className=\"bw-flex bw-items-center bw-gap-x-2\">\n <div className=\"bw-w-[16px] bw-h-[16px]\">\n <Maxop\n fill={\"var(--tw-background-container)\"}\n spinnerColor={configuration?.gradientStyle?.spinnerColor}\n stopColor={configuration?.gradientStyle?.stopColor}\n />\n </div>\n <span\n className={`bw-text-xs ${\n value == 1\n ? \"bw-text-text-primary bw-font-medium\"\n : \"bw-text-text-secondary bw-font-medium\"\n }`}\n >\n Max Output\n </span>\n <div className=\"bw-flex bw-gap-y-[2px] bw-items-center bw-flex-col bw-justify-center\">\n <SortUp\n isSelected={maxOpSort == \"asc\" ? true : false}\n fill={\"var(--tw-text-primary)\"}\n />\n <SortDown\n fill={\"var(--tw-text-primary)\"}\n isSelected={maxOpSort == \"desc\" ? true : false}\n />\n </div>\n </div>\n );\n});\nconst Label2 = React.memo(function ({ lowestGasSort, value }) {\n const { fast } = images;\n return (\n <div className=\"bw-flex bw-items-center bw-gap-x-2\">\n <div className=\"bw-w-[16px] bw-h-[16px]\">\n <LowgasSvg fill={\"var(--tw-background-container)\"} />\n </div>\n <span\n className={`bw-text-xs ${\n value == 2\n ? \"bw-text-text-primary bw-font-medium\"\n : \"bw-text-text-secondary bw-font-medium\"\n }`}\n >\n Lowest Gas\n </span>\n <div className=\"bw-flex bw-gap-y-[2px] bw-items-center bw-flex-col bw-justify-center\">\n <SortUp\n fill={\"var(--tw-text-primary)\"}\n isSelected={lowestGasSort === \"asc\" ? true : false}\n />\n <SortDown\n fill={\"var(--tw-text-primary)\"}\n isSelected={lowestGasSort === \"desc\" ? true : false}\n />\n </div>\n </div>\n );\n});\nconst Label3 = React.memo(function ({ fastestSort, value }) {\n const { lowgas } = images;\n return (\n <div className=\"bw-flex bw-items-center bw-gap-x-2\">\n <div className=\"bw-w-[16px] bw-h-[16px]\">\n <FastestSvg fill={\"var(--tw-background-container)\"} />\n </div>\n <span\n className={`bw-text-xs ${\n value == 3\n ? \"bw-text-text-primary bw-font-medium\"\n : \"bw-text-text-secondary bw-font-medium\"\n }`}\n >\n Fastest\n </span>\n <div className=\"bw-flex bw-gap-y-[2px] bw-items-center bw-flex-col bw-justify-center\">\n <SortUp\n fill={\"var(--tw-text-primary)\"}\n isSelected={fastestSort === \"asc\" ? true : false}\n />\n <SortDown\n fill={\"var(--tw-text-primary)\"}\n isSelected={fastestSort === \"desc\" ? true : false}\n />\n </div>\n </div>\n );\n});\nexport default function TabComp({\n routes,\n handleShowAllRoutes,\n handleRoutesData,\n convertVal,\n fromChain,\n toChain,\n}) {\n const [value, setValue] = useState(\"1\");\n const [maxOpSort, setMaxOpSort] = useState(\"none\");\n const [lowestGasSort, setLowestGasSort] = useState(\"none\");\n const [fastestSort, setFastestSort] = useState(\"none\");\n const configuration = useStore((state) => state.configuration);\n function handleValue(e, val) {\n setValue(val);\n }\n\n return (\n <TabContext value={value}>\n <Box\n sx={(theme) => ({\n borderBottom: 1,\n borderColor: \"var(--tw-border-primary)\",\n width: \"max-content\",\n [theme.breakpoints.down(\"sm\")]: { width: \"100%\", overflowX: \"auto\" },\n\n marginX: \"auto\",\n })}\n >\n <TabList\n TabIndicatorProps={{\n style: { background: \"var(--tw-text-secondary)\" },\n }}\n sx={(theme) => ({\n width: \"max-content\",\n [theme.breakpoints.down(\"sm\")]: {\n width: \"100%\",\n overflowX: \"auto\",\n },\n })}\n onChange={handleValue}\n aria-label=\"lab API tabs example\"\n >\n <Tab\n onClick={() => {\n if (value == \"1\")\n setMaxOpSort((prev) => {\n if (prev == \"none\") {\n return \"asc\";\n } else if (prev === \"asc\") {\n return \"desc\";\n } else {\n return \"none\";\n }\n });\n else return true;\n }}\n disableRipple\n sx={(theme) => ({\n textTransform: \"none\",\n paddingBottom: \"0px\",\n fontFamily: configuration?.customTheme?.fontFamily || \"lato\",\n width: \"120px\",\n paddingX: \"5px\",\n [theme.breakpoints.down(\"sm\")]: {\n minWidth: \"33%\",\n paddingX: \"auto\",\n },\n })}\n label={<Label1 maxOpSort={maxOpSort} value={value} />}\n value=\"1\"\n />\n <Tab\n onClick={() => {\n if (value == \"2\")\n setLowestGasSort((prev) => {\n if (prev == \"none\") {\n return \"asc\";\n } else if (prev === \"asc\") {\n return \"desc\";\n } else {\n return \"none\";\n }\n });\n else return true;\n }}\n disableRipple\n sx={(theme) => ({\n textTransform: \"none\",\n paddingBottom: \"0px\",\n fontFamily: configuration?.customTheme?.fontFamily || \"lato\",\n width: \"120px\",\n paddingX: \"5px\",\n paddingLeft: \"10px\",\n [theme.breakpoints.down(\"sm\")]: {\n minWidth: \"33%\",\n paddingX: \"auto\",\n paddingLeft: \"auto\",\n },\n })}\n label={<Label2 lowestGasSort={lowestGasSort} value={value} />}\n value=\"2\"\n />\n <Tab\n onClick={() => {\n if (value == \"3\")\n setFastestSort((prev) => {\n if (prev == \"none\") {\n return \"asc\";\n } else if (prev === \"asc\") {\n return \"desc\";\n } else {\n return \"none\";\n }\n });\n else return true;\n }}\n disableRipple\n sx={(theme) => ({\n textTransform: \"none\",\n paddingBottom: \"0px\",\n fontFamily: configuration?.customTheme?.fontFamily || \"lato\",\n width: \"110px\",\n paddingX: \"5px\",\n [theme.breakpoints.down(\"sm\")]: {\n minWidth: \"33%\",\n paddingX: \"auto\",\n },\n })}\n label={<Label3 fastestSort={fastestSort} value={value} />}\n value=\"3\"\n />\n </TabList>\n </Box>\n <TabPanel\n sx={{ paddingLeft: \"0px\", paddingRight: \"0px\", paddingTop: \"10px\" }}\n value=\"1\"\n >\n <MaxOutput\n routes={routes}\n handleRoutesData={handleRoutesData}\n handleShowAllRoutes={handleShowAllRoutes}\n convertVal={convertVal}\n fromChain={fromChain}\n sort={maxOpSort}\n toChain={toChain}\n />\n </TabPanel>\n <TabPanel\n sx={{ paddingLeft: \"0px\", paddingRight: \"0px\", paddingTop: \"10px\" }}\n value=\"2\"\n >\n <LowestGas\n routes={routes}\n handleRoutesData={handleRoutesData}\n handleShowAllRoutes={handleShowAllRoutes}\n convertVal={convertVal}\n fromChain={fromChain}\n sort={lowestGasSort}\n toChain={toChain}\n />\n </TabPanel>\n <TabPanel\n sx={{ paddingLeft: \"0px\", paddingRight: \"0px\", paddingTop: \"10px\" }}\n value=\"3\"\n >\n <Fastest\n routes={routes}\n handleRoutesData={handleRoutesData}\n handleShowAllRoutes={handleShowAllRoutes}\n convertVal={convertVal}\n fromChain={fromChain}\n sort={fastestSort}\n toChain={toChain}\n />\n </TabPanel>\n </TabContext>\n );\n}\n","\n\n\nexport default function RoutesBack({fill1,fill2}){\n return <svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"12.4758\" cy=\"12.4774\" r=\"11.9774\" transform=\"rotate(90 12.4758 12.4774)\" stroke={fill1}/>\n <path d=\"M14.4375 6.27832L8.45786 12.258L14.4122 18.2121\" stroke={fill2} stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n}","import truncate from \"../../utils/truncate\";\nimport TabComp from \"./TabComp\";\nimport RoutesBack from \"../Svg/routesBack\";\nimport useStore from \"../../zustand/store\";\nimport images from \"../../images\";\nimport fixString from \"../../utils/formatNumber\";\nexport default function AllRoutes({ routes, handleShowAllRoutes, handleRoutesData, convertVal, amount }) {\n const fromChain = useStore((state) => state.fromChain);\n const fromCoin = useStore((state) => state.fromCoin);\n const toChain = useStore((state) => state.toChain);\n const { defaultCoin } = images;\n return (\n <div>\n <div className=\"bw-flex bw-w-full bw-relative bw-justify-between bw-mb-2\">\n <div className=\"bw-flex bw-items-start bw-gap-x-3\">\n <button\n onClick={() => {\n handleShowAllRoutes();\n }}\n className=\"bw-mt-1\"\n >\n <RoutesBack fill1={\"var(--tw-background-secondary)\"} fill2={\"var(--tw-text-secondary)\"} />\n </button>\n <div className=\"bw-text-lg bw-font-normal bw-text-text-secondary\">\n <div className=\"\">\n <span className=\"\">{routes.data?.data?.quotes?.length || 0}</span> Routes For\n </div>{\" \"}\n <p className=\"bw-text-xs bw-font-bold bw-mt-2\">{`${fromCoin?.coin} on ${fromChain?.chain}`}</p>\n </div>\n </div>\n <div className=\" bw-flex bw-items-center bw-gap-x-2\">\n <div>\n <p className=\"bw-text-2xl bw-font-bold bw-mb-2 bw-leading-none bw-text-right bw-text-text-primary\">{amount}</p>\n <p className=\"bw-text-sm bw-font-bold bw-text-right bw-text-text-secondary\">${fixString(amount * fromCoin?.lastPrice || 0, 10)}</p>\n </div>\n <div className=\" bw-bg-background-coin bw-flex bw-justify-center bw-items-center bw-mb-2 bw-relative bw-rounded-[50%] bw-w-[35px] bw-h-[35px] bw-border bw-border-border-primary\">\n {fromCoin?.image ? <img src={fromCoin.image} width={34} height={34} alt=\"img\" className=\"bw-rounded-[50%] bw-max-w-[34px] bw-max-h-[34px] bw-object-contain bw-min-w-[34px] bw-h-[34px]\" /> : <img src={defaultCoin} width={34} height={34} alt=\"img\" className=\"bw-rounded-[50%] bw-min-w-[34px] bw-h-[34px]\" />}\n <div className=\"bw-bg-background-coin bw-absolute bw-bottom-[-30%] bw-right-4 bw-rounded-[50%] bw-w-[19px] bw-h-[19px] bw-border bw-border-border-primary\"> {fromCoin?.image ? <img src={fromChain.image} width={18} height={18} className=\"bw-rounded-[50%]\" alt=\"img\" /> : <img src={defaultCoin} width={18} height={18} className=\"bw-rounded-[50%]\" alt=\"img\" />}</div>\n </div>\n </div>\n </div>\n <TabComp routes={routes} handleShowAllRoutes={handleShowAllRoutes} handleRoutesData={handleRoutesData} convertVal={convertVal} fromChain={fromChain} toChain={toChain} />\n </div>\n );\n}\n"],"names":["_excluded","useUtilityClasses","styles","Tab","_jsxs","process","_jsx","TabScrollButton","Tabs","children","conditionalElements","isFragment","TabList","TabPanel","GasField","item","_a","_b","_c","i","arr","React","LowestGas","fixString"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]}
1
+ {"version":3,"file":"AllRoutes-N9u-0kyk.js","sources":["../node_modules/@mui/utils/esm/scrollLeft/scrollLeft.js","../node_modules/@mui/material/Tab/tabClasses.js","../node_modules/@mui/material/Tab/Tab.js","../node_modules/@mui/material/internal/svg-icons/KeyboardArrowLeft.js","../node_modules/@mui/material/internal/svg-icons/KeyboardArrowRight.js","../node_modules/@mui/material/internal/animate.js","../node_modules/@mui/material/Tabs/ScrollbarSize.js","../node_modules/@mui/material/TabScrollButton/tabScrollButtonClasses.js","../node_modules/@mui/material/TabScrollButton/TabScrollButton.js","../node_modules/@mui/material/Tabs/tabsClasses.js","../node_modules/@mui/material/Tabs/Tabs.js","../node_modules/@mui/lab/TabContext/TabContext.js","../node_modules/@mui/lab/TabList/TabList.js","../node_modules/@mui/lab/TabPanel/tabPanelClasses.js","../node_modules/@mui/lab/TabPanel/TabPanel.js","../src/Components/Tooltip/Routes/index.jsx","../src/Components/Svg/maxop.js","../src/Components/Svg/lowgas.js","../src/Components/Svg/fastest.js","../src/Components/WidgetForm/TabComp/maxOutput.js","../src/Components/WidgetForm/TabComp/lowestGas.js","../src/Components/WidgetForm/TabComp/fastest.js","../src/Components/WidgetForm/TabComp/index.jsx","../src/Components/Svg/routesBack.js","../src/Components/WidgetForm/AllRoutes.js"],"sourcesContent":["// Source from https://github.com/alitaheri/normalize-scroll-left\nlet cachedType;\n\n/**\n * Based on the jquery plugin https://github.com/othree/jquery.rtl-scroll-type\n *\n * Types of scrollLeft, assuming scrollWidth=100 and direction is rtl.\n *\n * Type | <- Most Left | Most Right -> | Initial\n * ---------------- | ------------ | ------------- | -------\n * default | 0 | 100 | 100\n * negative (spec*) | -100 | 0 | 0\n * reverse | 100 | 0 | 0\n *\n * Edge 85: default\n * Safari 14: negative\n * Chrome 85: negative\n * Firefox 81: negative\n * IE11: reverse\n *\n * spec* https://drafts.csswg.org/cssom-view/#dom-window-scroll\n */\nexport function detectScrollType() {\n if (cachedType) {\n return cachedType;\n }\n const dummy = document.createElement('div');\n const container = document.createElement('div');\n container.style.width = '10px';\n container.style.height = '1px';\n dummy.appendChild(container);\n dummy.dir = 'rtl';\n dummy.style.fontSize = '14px';\n dummy.style.width = '4px';\n dummy.style.height = '1px';\n dummy.style.position = 'absolute';\n dummy.style.top = '-1000px';\n dummy.style.overflow = 'scroll';\n document.body.appendChild(dummy);\n cachedType = 'reverse';\n if (dummy.scrollLeft > 0) {\n cachedType = 'default';\n } else {\n dummy.scrollLeft = 1;\n if (dummy.scrollLeft === 0) {\n cachedType = 'negative';\n }\n }\n document.body.removeChild(dummy);\n return cachedType;\n}\n\n// Based on https://stackoverflow.com/a/24394376\nexport function getNormalizedScrollLeft(element, direction) {\n const scrollLeft = element.scrollLeft;\n\n // Perform the calculations only when direction is rtl to avoid messing up the ltr behavior\n if (direction !== 'rtl') {\n return scrollLeft;\n }\n const type = detectScrollType();\n switch (type) {\n case 'negative':\n return element.scrollWidth - element.clientWidth + scrollLeft;\n case 'reverse':\n return element.scrollWidth - element.clientWidth - scrollLeft;\n default:\n return scrollLeft;\n }\n}","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTabUtilityClass(slot) {\n return generateUtilityClass('MuiTab', slot);\n}\nconst tabClasses = generateUtilityClasses('MuiTab', ['root', 'labelIcon', 'textColorInherit', 'textColorPrimary', 'textColorSecondary', 'selected', 'disabled', 'fullWidth', 'wrapped', 'iconWrapper']);\nexport default tabClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disabled\", \"disableFocusRipple\", \"fullWidth\", \"icon\", \"iconPosition\", \"indicator\", \"label\", \"onChange\", \"onClick\", \"onFocus\", \"selected\", \"selectionFollowsFocus\", \"textColor\", \"value\", \"wrapped\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport ButtonBase from '../ButtonBase';\nimport capitalize from '../utils/capitalize';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport styled from '../styles/styled';\nimport unsupportedProp from '../utils/unsupportedProp';\nimport tabClasses, { getTabUtilityClass } from './tabClasses';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n textColor,\n fullWidth,\n wrapped,\n icon,\n label,\n selected,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', icon && label && 'labelIcon', `textColor${capitalize(textColor)}`, fullWidth && 'fullWidth', wrapped && 'wrapped', selected && 'selected', disabled && 'disabled'],\n iconWrapper: ['iconWrapper']\n };\n return composeClasses(slots, getTabUtilityClass, classes);\n};\nconst TabRoot = styled(ButtonBase, {\n name: 'MuiTab',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.label && ownerState.icon && styles.labelIcon, styles[`textColor${capitalize(ownerState.textColor)}`], ownerState.fullWidth && styles.fullWidth, ownerState.wrapped && styles.wrapped, {\n [`& .${tabClasses.iconWrapper}`]: styles.iconWrapper\n }];\n }\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.button, {\n maxWidth: 360,\n minWidth: 90,\n position: 'relative',\n minHeight: 48,\n flexShrink: 0,\n padding: '12px 16px',\n overflow: 'hidden',\n whiteSpace: 'normal',\n textAlign: 'center'\n}, ownerState.label && {\n flexDirection: ownerState.iconPosition === 'top' || ownerState.iconPosition === 'bottom' ? 'column' : 'row'\n}, {\n lineHeight: 1.25\n}, ownerState.icon && ownerState.label && {\n minHeight: 72,\n paddingTop: 9,\n paddingBottom: 9,\n [`& > .${tabClasses.iconWrapper}`]: _extends({}, ownerState.iconPosition === 'top' && {\n marginBottom: 6\n }, ownerState.iconPosition === 'bottom' && {\n marginTop: 6\n }, ownerState.iconPosition === 'start' && {\n marginRight: theme.spacing(1)\n }, ownerState.iconPosition === 'end' && {\n marginLeft: theme.spacing(1)\n })\n}, ownerState.textColor === 'inherit' && {\n color: 'inherit',\n opacity: 0.6,\n // same opacity as theme.palette.text.secondary\n [`&.${tabClasses.selected}`]: {\n opacity: 1\n },\n [`&.${tabClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n }\n}, ownerState.textColor === 'primary' && {\n color: (theme.vars || theme).palette.text.secondary,\n [`&.${tabClasses.selected}`]: {\n color: (theme.vars || theme).palette.primary.main\n },\n [`&.${tabClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n }\n}, ownerState.textColor === 'secondary' && {\n color: (theme.vars || theme).palette.text.secondary,\n [`&.${tabClasses.selected}`]: {\n color: (theme.vars || theme).palette.secondary.main\n },\n [`&.${tabClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n }\n}, ownerState.fullWidth && {\n flexShrink: 1,\n flexGrow: 1,\n flexBasis: 0,\n maxWidth: 'none'\n}, ownerState.wrapped && {\n fontSize: theme.typography.pxToRem(12)\n}));\nconst Tab = /*#__PURE__*/React.forwardRef(function Tab(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiTab'\n });\n const {\n className,\n disabled = false,\n disableFocusRipple = false,\n // eslint-disable-next-line react/prop-types\n fullWidth,\n icon: iconProp,\n iconPosition = 'top',\n // eslint-disable-next-line react/prop-types\n indicator,\n label,\n onChange,\n onClick,\n onFocus,\n // eslint-disable-next-line react/prop-types\n selected,\n // eslint-disable-next-line react/prop-types\n selectionFollowsFocus,\n // eslint-disable-next-line react/prop-types\n textColor = 'inherit',\n value,\n wrapped = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n disabled,\n disableFocusRipple,\n selected,\n icon: !!iconProp,\n iconPosition,\n label: !!label,\n fullWidth,\n textColor,\n wrapped\n });\n const classes = useUtilityClasses(ownerState);\n const icon = iconProp && label && /*#__PURE__*/React.isValidElement(iconProp) ? /*#__PURE__*/React.cloneElement(iconProp, {\n className: clsx(classes.iconWrapper, iconProp.props.className)\n }) : iconProp;\n const handleClick = event => {\n if (!selected && onChange) {\n onChange(event, value);\n }\n if (onClick) {\n onClick(event);\n }\n };\n const handleFocus = event => {\n if (selectionFollowsFocus && !selected && onChange) {\n onChange(event, value);\n }\n if (onFocus) {\n onFocus(event);\n }\n };\n return /*#__PURE__*/_jsxs(TabRoot, _extends({\n focusRipple: !disableFocusRipple,\n className: clsx(classes.root, className),\n ref: ref,\n role: \"tab\",\n \"aria-selected\": selected,\n disabled: disabled,\n onClick: handleClick,\n onFocus: handleFocus,\n ownerState: ownerState,\n tabIndex: selected ? 0 : -1\n }, other, {\n children: [iconPosition === 'top' || iconPosition === 'start' ? /*#__PURE__*/_jsxs(React.Fragment, {\n children: [icon, label]\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [label, icon]\n }), indicator]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Tab.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * This prop isn't supported.\n * Use the `component` prop if you need to change the children structure.\n */\n children: unsupportedProp,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n *\n * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure\n * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * The icon to display.\n */\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.string]),\n /**\n * The position of the icon relative to the label.\n * @default 'top'\n */\n iconPosition: PropTypes.oneOf(['bottom', 'end', 'start', 'top']),\n /**\n * The label element.\n */\n label: PropTypes.node,\n /**\n * @ignore\n */\n onChange: PropTypes.func,\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * You can provide your own value. Otherwise, we fallback to the child position index.\n */\n value: PropTypes.any,\n /**\n * Tab labels appear in a single row.\n * They can use a second line if needed.\n * @default false\n */\n wrapped: PropTypes.bool\n} : void 0;\nexport default Tab;","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z\"\n}), 'KeyboardArrowLeft');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z\"\n}), 'KeyboardArrowRight');","function easeInOutSin(time) {\n return (1 + Math.sin(Math.PI * time - Math.PI / 2)) / 2;\n}\nexport default function animate(property, element, to, options = {}, cb = () => {}) {\n const {\n ease = easeInOutSin,\n duration = 300 // standard\n } = options;\n let start = null;\n const from = element[property];\n let cancelled = false;\n const cancel = () => {\n cancelled = true;\n };\n const step = timestamp => {\n if (cancelled) {\n cb(new Error('Animation cancelled'));\n return;\n }\n if (start === null) {\n start = timestamp;\n }\n const time = Math.min(1, (timestamp - start) / duration);\n element[property] = ease(time) * (to - from) + from;\n if (time >= 1) {\n requestAnimationFrame(() => {\n cb(null);\n });\n return;\n }\n requestAnimationFrame(step);\n };\n if (from === to) {\n cb(new Error('Element already at target position'));\n return cancel;\n }\n requestAnimationFrame(step);\n return cancel;\n}","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"onChange\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from '../utils/debounce';\nimport { ownerWindow, unstable_useEnhancedEffect as useEnhancedEffect } from '../utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst styles = {\n width: 99,\n height: 99,\n position: 'absolute',\n top: -9999,\n overflow: 'scroll'\n};\n\n/**\n * @ignore - internal component.\n * The component originates from https://github.com/STORIS/react-scrollbar-size.\n * It has been moved into the core in order to minimize the bundle size.\n */\nexport default function ScrollbarSize(props) {\n const {\n onChange\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const scrollbarHeight = React.useRef();\n const nodeRef = React.useRef(null);\n const setMeasurements = () => {\n scrollbarHeight.current = nodeRef.current.offsetHeight - nodeRef.current.clientHeight;\n };\n useEnhancedEffect(() => {\n const handleResize = debounce(() => {\n const prevHeight = scrollbarHeight.current;\n setMeasurements();\n if (prevHeight !== scrollbarHeight.current) {\n onChange(scrollbarHeight.current);\n }\n });\n const containerWindow = ownerWindow(nodeRef.current);\n containerWindow.addEventListener('resize', handleResize);\n return () => {\n handleResize.clear();\n containerWindow.removeEventListener('resize', handleResize);\n };\n }, [onChange]);\n React.useEffect(() => {\n setMeasurements();\n onChange(scrollbarHeight.current);\n }, [onChange]);\n return /*#__PURE__*/_jsx(\"div\", _extends({\n style: styles\n }, other, {\n ref: nodeRef\n }));\n}\nprocess.env.NODE_ENV !== \"production\" ? ScrollbarSize.propTypes = {\n onChange: PropTypes.func.isRequired\n} : void 0;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTabScrollButtonUtilityClass(slot) {\n return generateUtilityClass('MuiTabScrollButton', slot);\n}\nconst tabScrollButtonClasses = generateUtilityClasses('MuiTabScrollButton', ['root', 'vertical', 'horizontal', 'disabled']);\nexport default tabScrollButtonClasses;","'use client';\n\n/* eslint-disable jsx-a11y/aria-role */\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"slots\", \"slotProps\", \"direction\", \"orientation\", \"disabled\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport KeyboardArrowLeft from '../internal/svg-icons/KeyboardArrowLeft';\nimport KeyboardArrowRight from '../internal/svg-icons/KeyboardArrowRight';\nimport ButtonBase from '../ButtonBase';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport styled from '../styles/styled';\nimport tabScrollButtonClasses, { getTabScrollButtonUtilityClass } from './tabScrollButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n orientation,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', orientation, disabled && 'disabled']\n };\n return composeClasses(slots, getTabScrollButtonUtilityClass, classes);\n};\nconst TabScrollButtonRoot = styled(ButtonBase, {\n name: 'MuiTabScrollButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.orientation && styles[ownerState.orientation]];\n }\n})(({\n ownerState\n}) => _extends({\n width: 40,\n flexShrink: 0,\n opacity: 0.8,\n [`&.${tabScrollButtonClasses.disabled}`]: {\n opacity: 0\n }\n}, ownerState.orientation === 'vertical' && {\n width: '100%',\n height: 40,\n '& svg': {\n transform: `rotate(${ownerState.isRtl ? -90 : 90}deg)`\n }\n}));\nconst TabScrollButton = /*#__PURE__*/React.forwardRef(function TabScrollButton(inProps, ref) {\n var _slots$StartScrollBut, _slots$EndScrollButto;\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiTabScrollButton'\n });\n const {\n className,\n slots = {},\n slotProps = {},\n direction\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const isRtl = useRtl();\n const ownerState = _extends({\n isRtl\n }, props);\n const classes = useUtilityClasses(ownerState);\n const StartButtonIcon = (_slots$StartScrollBut = slots.StartScrollButtonIcon) != null ? _slots$StartScrollBut : KeyboardArrowLeft;\n const EndButtonIcon = (_slots$EndScrollButto = slots.EndScrollButtonIcon) != null ? _slots$EndScrollButto : KeyboardArrowRight;\n const startButtonIconProps = useSlotProps({\n elementType: StartButtonIcon,\n externalSlotProps: slotProps.startScrollButtonIcon,\n additionalProps: {\n fontSize: 'small'\n },\n ownerState\n });\n const endButtonIconProps = useSlotProps({\n elementType: EndButtonIcon,\n externalSlotProps: slotProps.endScrollButtonIcon,\n additionalProps: {\n fontSize: 'small'\n },\n ownerState\n });\n return /*#__PURE__*/_jsx(TabScrollButtonRoot, _extends({\n component: \"div\",\n className: clsx(classes.root, className),\n ref: ref,\n role: null,\n ownerState: ownerState,\n tabIndex: null\n }, other, {\n children: direction === 'left' ? /*#__PURE__*/_jsx(StartButtonIcon, _extends({}, startButtonIconProps)) : /*#__PURE__*/_jsx(EndButtonIcon, _extends({}, endButtonIconProps))\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabScrollButton.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The direction the button should indicate.\n */\n direction: PropTypes.oneOf(['left', 'right']).isRequired,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * The component orientation (layout flow direction).\n */\n orientation: PropTypes.oneOf(['horizontal', 'vertical']).isRequired,\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n * @default {}\n */\n slotProps: PropTypes.shape({\n endScrollButtonIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n startScrollButtonIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n EndScrollButtonIcon: PropTypes.elementType,\n StartScrollButtonIcon: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default TabScrollButton;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTabsUtilityClass(slot) {\n return generateUtilityClass('MuiTabs', slot);\n}\nconst tabsClasses = generateUtilityClasses('MuiTabs', ['root', 'vertical', 'flexContainer', 'flexContainerVertical', 'centered', 'scroller', 'fixed', 'scrollableX', 'scrollableY', 'hideScrollbar', 'scrollButtons', 'scrollButtonsHideMobile', 'indicator']);\nexport default tabsClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"aria-label\", \"aria-labelledby\", \"action\", \"centered\", \"children\", \"className\", \"component\", \"allowScrollButtonsMobile\", \"indicatorColor\", \"onChange\", \"orientation\", \"ScrollButtonComponent\", \"scrollButtons\", \"selectionFollowsFocus\", \"slots\", \"slotProps\", \"TabIndicatorProps\", \"TabScrollButtonProps\", \"textColor\", \"value\", \"variant\", \"visibleScrollbar\"];\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport useTheme from '../styles/useTheme';\nimport debounce from '../utils/debounce';\nimport { getNormalizedScrollLeft, detectScrollType } from '../utils/scrollLeft';\nimport animate from '../internal/animate';\nimport ScrollbarSize from './ScrollbarSize';\nimport TabScrollButton from '../TabScrollButton';\nimport useEventCallback from '../utils/useEventCallback';\nimport tabsClasses, { getTabsUtilityClass } from './tabsClasses';\nimport ownerDocument from '../utils/ownerDocument';\nimport ownerWindow from '../utils/ownerWindow';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst nextItem = (list, item) => {\n if (list === item) {\n return list.firstChild;\n }\n if (item && item.nextElementSibling) {\n return item.nextElementSibling;\n }\n return list.firstChild;\n};\nconst previousItem = (list, item) => {\n if (list === item) {\n return list.lastChild;\n }\n if (item && item.previousElementSibling) {\n return item.previousElementSibling;\n }\n return list.lastChild;\n};\nconst moveFocus = (list, currentFocus, traversalFunction) => {\n let wrappedOnce = false;\n let nextFocus = traversalFunction(list, currentFocus);\n while (nextFocus) {\n // Prevent infinite loop.\n if (nextFocus === list.firstChild) {\n if (wrappedOnce) {\n return;\n }\n wrappedOnce = true;\n }\n\n // Same logic as useAutocomplete.js\n const nextFocusDisabled = nextFocus.disabled || nextFocus.getAttribute('aria-disabled') === 'true';\n if (!nextFocus.hasAttribute('tabindex') || nextFocusDisabled) {\n // Move to the next element.\n nextFocus = traversalFunction(list, nextFocus);\n } else {\n nextFocus.focus();\n return;\n }\n }\n};\nconst useUtilityClasses = ownerState => {\n const {\n vertical,\n fixed,\n hideScrollbar,\n scrollableX,\n scrollableY,\n centered,\n scrollButtonsHideMobile,\n classes\n } = ownerState;\n const slots = {\n root: ['root', vertical && 'vertical'],\n scroller: ['scroller', fixed && 'fixed', hideScrollbar && 'hideScrollbar', scrollableX && 'scrollableX', scrollableY && 'scrollableY'],\n flexContainer: ['flexContainer', vertical && 'flexContainerVertical', centered && 'centered'],\n indicator: ['indicator'],\n scrollButtons: ['scrollButtons', scrollButtonsHideMobile && 'scrollButtonsHideMobile'],\n scrollableX: [scrollableX && 'scrollableX'],\n hideScrollbar: [hideScrollbar && 'hideScrollbar']\n };\n return composeClasses(slots, getTabsUtilityClass, classes);\n};\nconst TabsRoot = styled('div', {\n name: 'MuiTabs',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${tabsClasses.scrollButtons}`]: styles.scrollButtons\n }, {\n [`& .${tabsClasses.scrollButtons}`]: ownerState.scrollButtonsHideMobile && styles.scrollButtonsHideMobile\n }, styles.root, ownerState.vertical && styles.vertical];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n overflow: 'hidden',\n minHeight: 48,\n // Add iOS momentum scrolling for iOS < 13.0\n WebkitOverflowScrolling: 'touch',\n display: 'flex'\n}, ownerState.vertical && {\n flexDirection: 'column'\n}, ownerState.scrollButtonsHideMobile && {\n [`& .${tabsClasses.scrollButtons}`]: {\n [theme.breakpoints.down('sm')]: {\n display: 'none'\n }\n }\n}));\nconst TabsScroller = styled('div', {\n name: 'MuiTabs',\n slot: 'Scroller',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.scroller, ownerState.fixed && styles.fixed, ownerState.hideScrollbar && styles.hideScrollbar, ownerState.scrollableX && styles.scrollableX, ownerState.scrollableY && styles.scrollableY];\n }\n})(({\n ownerState\n}) => _extends({\n position: 'relative',\n display: 'inline-block',\n flex: '1 1 auto',\n whiteSpace: 'nowrap'\n}, ownerState.fixed && {\n overflowX: 'hidden',\n width: '100%'\n}, ownerState.hideScrollbar && {\n // Hide dimensionless scrollbar on macOS\n scrollbarWidth: 'none',\n // Firefox\n '&::-webkit-scrollbar': {\n display: 'none' // Safari + Chrome\n }\n}, ownerState.scrollableX && {\n overflowX: 'auto',\n overflowY: 'hidden'\n}, ownerState.scrollableY && {\n overflowY: 'auto',\n overflowX: 'hidden'\n}));\nconst FlexContainer = styled('div', {\n name: 'MuiTabs',\n slot: 'FlexContainer',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.flexContainer, ownerState.vertical && styles.flexContainerVertical, ownerState.centered && styles.centered];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex'\n}, ownerState.vertical && {\n flexDirection: 'column'\n}, ownerState.centered && {\n justifyContent: 'center'\n}));\nconst TabsIndicator = styled('span', {\n name: 'MuiTabs',\n slot: 'Indicator',\n overridesResolver: (props, styles) => styles.indicator\n})(({\n ownerState,\n theme\n}) => _extends({\n position: 'absolute',\n height: 2,\n bottom: 0,\n width: '100%',\n transition: theme.transitions.create()\n}, ownerState.indicatorColor === 'primary' && {\n backgroundColor: (theme.vars || theme).palette.primary.main\n}, ownerState.indicatorColor === 'secondary' && {\n backgroundColor: (theme.vars || theme).palette.secondary.main\n}, ownerState.vertical && {\n height: '100%',\n width: 2,\n right: 0\n}));\nconst TabsScrollbarSize = styled(ScrollbarSize)({\n overflowX: 'auto',\n overflowY: 'hidden',\n // Hide dimensionless scrollbar on macOS\n scrollbarWidth: 'none',\n // Firefox\n '&::-webkit-scrollbar': {\n display: 'none' // Safari + Chrome\n }\n});\nconst defaultIndicatorStyle = {};\nlet warnedOnceTabPresent = false;\nconst Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiTabs'\n });\n const theme = useTheme();\n const isRtl = useRtl();\n const {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n action,\n centered = false,\n children: childrenProp,\n className,\n component = 'div',\n allowScrollButtonsMobile = false,\n indicatorColor = 'primary',\n onChange,\n orientation = 'horizontal',\n ScrollButtonComponent = TabScrollButton,\n scrollButtons = 'auto',\n selectionFollowsFocus,\n slots = {},\n slotProps = {},\n TabIndicatorProps = {},\n TabScrollButtonProps = {},\n textColor = 'primary',\n value,\n variant = 'standard',\n visibleScrollbar = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const scrollable = variant === 'scrollable';\n const vertical = orientation === 'vertical';\n const scrollStart = vertical ? 'scrollTop' : 'scrollLeft';\n const start = vertical ? 'top' : 'left';\n const end = vertical ? 'bottom' : 'right';\n const clientSize = vertical ? 'clientHeight' : 'clientWidth';\n const size = vertical ? 'height' : 'width';\n const ownerState = _extends({}, props, {\n component,\n allowScrollButtonsMobile,\n indicatorColor,\n orientation,\n vertical,\n scrollButtons,\n textColor,\n variant,\n visibleScrollbar,\n fixed: !scrollable,\n hideScrollbar: scrollable && !visibleScrollbar,\n scrollableX: scrollable && !vertical,\n scrollableY: scrollable && vertical,\n centered: centered && !scrollable,\n scrollButtonsHideMobile: !allowScrollButtonsMobile\n });\n const classes = useUtilityClasses(ownerState);\n const startScrollButtonIconProps = useSlotProps({\n elementType: slots.StartScrollButtonIcon,\n externalSlotProps: slotProps.startScrollButtonIcon,\n ownerState\n });\n const endScrollButtonIconProps = useSlotProps({\n elementType: slots.EndScrollButtonIcon,\n externalSlotProps: slotProps.endScrollButtonIcon,\n ownerState\n });\n if (process.env.NODE_ENV !== 'production') {\n if (centered && scrollable) {\n console.error('MUI: You can not use the `centered={true}` and `variant=\"scrollable\"` properties ' + 'at the same time on a `Tabs` component.');\n }\n }\n const [mounted, setMounted] = React.useState(false);\n const [indicatorStyle, setIndicatorStyle] = React.useState(defaultIndicatorStyle);\n const [displayStartScroll, setDisplayStartScroll] = React.useState(false);\n const [displayEndScroll, setDisplayEndScroll] = React.useState(false);\n const [updateScrollObserver, setUpdateScrollObserver] = React.useState(false);\n const [scrollerStyle, setScrollerStyle] = React.useState({\n overflow: 'hidden',\n scrollbarWidth: 0\n });\n const valueToIndex = new Map();\n const tabsRef = React.useRef(null);\n const tabListRef = React.useRef(null);\n const getTabsMeta = () => {\n const tabsNode = tabsRef.current;\n let tabsMeta;\n if (tabsNode) {\n const rect = tabsNode.getBoundingClientRect();\n // create a new object with ClientRect class props + scrollLeft\n tabsMeta = {\n clientWidth: tabsNode.clientWidth,\n scrollLeft: tabsNode.scrollLeft,\n scrollTop: tabsNode.scrollTop,\n scrollLeftNormalized: getNormalizedScrollLeft(tabsNode, isRtl ? 'rtl' : 'ltr'),\n scrollWidth: tabsNode.scrollWidth,\n top: rect.top,\n bottom: rect.bottom,\n left: rect.left,\n right: rect.right\n };\n }\n let tabMeta;\n if (tabsNode && value !== false) {\n const children = tabListRef.current.children;\n if (children.length > 0) {\n const tab = children[valueToIndex.get(value)];\n if (process.env.NODE_ENV !== 'production') {\n if (!tab) {\n console.error([`MUI: The \\`value\\` provided to the Tabs component is invalid.`, `None of the Tabs' children match with \"${value}\".`, valueToIndex.keys ? `You can provide one of the following values: ${Array.from(valueToIndex.keys()).join(', ')}.` : null].join('\\n'));\n }\n }\n tabMeta = tab ? tab.getBoundingClientRect() : null;\n if (process.env.NODE_ENV !== 'production') {\n if (process.env.NODE_ENV !== 'test' && !warnedOnceTabPresent && tabMeta && tabMeta.width === 0 && tabMeta.height === 0 &&\n // if the whole Tabs component is hidden, don't warn\n tabsMeta.clientWidth !== 0) {\n tabsMeta = null;\n console.error(['MUI: The `value` provided to the Tabs component is invalid.', `The Tab with this \\`value\\` (\"${value}\") is not part of the document layout.`, \"Make sure the tab item is present in the document or that it's not `display: none`.\"].join('\\n'));\n warnedOnceTabPresent = true;\n }\n }\n }\n }\n return {\n tabsMeta,\n tabMeta\n };\n };\n const updateIndicatorState = useEventCallback(() => {\n const {\n tabsMeta,\n tabMeta\n } = getTabsMeta();\n let startValue = 0;\n let startIndicator;\n if (vertical) {\n startIndicator = 'top';\n if (tabMeta && tabsMeta) {\n startValue = tabMeta.top - tabsMeta.top + tabsMeta.scrollTop;\n }\n } else {\n startIndicator = isRtl ? 'right' : 'left';\n if (tabMeta && tabsMeta) {\n const correction = isRtl ? tabsMeta.scrollLeftNormalized + tabsMeta.clientWidth - tabsMeta.scrollWidth : tabsMeta.scrollLeft;\n startValue = (isRtl ? -1 : 1) * (tabMeta[startIndicator] - tabsMeta[startIndicator] + correction);\n }\n }\n const newIndicatorStyle = {\n [startIndicator]: startValue,\n // May be wrong until the font is loaded.\n [size]: tabMeta ? tabMeta[size] : 0\n };\n\n // IE11 support, replace with Number.isNaN\n // eslint-disable-next-line no-restricted-globals\n if (isNaN(indicatorStyle[startIndicator]) || isNaN(indicatorStyle[size])) {\n setIndicatorStyle(newIndicatorStyle);\n } else {\n const dStart = Math.abs(indicatorStyle[startIndicator] - newIndicatorStyle[startIndicator]);\n const dSize = Math.abs(indicatorStyle[size] - newIndicatorStyle[size]);\n if (dStart >= 1 || dSize >= 1) {\n setIndicatorStyle(newIndicatorStyle);\n }\n }\n });\n const scroll = (scrollValue, {\n animation = true\n } = {}) => {\n if (animation) {\n animate(scrollStart, tabsRef.current, scrollValue, {\n duration: theme.transitions.duration.standard\n });\n } else {\n tabsRef.current[scrollStart] = scrollValue;\n }\n };\n const moveTabsScroll = delta => {\n let scrollValue = tabsRef.current[scrollStart];\n if (vertical) {\n scrollValue += delta;\n } else {\n scrollValue += delta * (isRtl ? -1 : 1);\n // Fix for Edge\n scrollValue *= isRtl && detectScrollType() === 'reverse' ? -1 : 1;\n }\n scroll(scrollValue);\n };\n const getScrollSize = () => {\n const containerSize = tabsRef.current[clientSize];\n let totalSize = 0;\n const children = Array.from(tabListRef.current.children);\n for (let i = 0; i < children.length; i += 1) {\n const tab = children[i];\n if (totalSize + tab[clientSize] > containerSize) {\n // If the first item is longer than the container size, then only scroll\n // by the container size.\n if (i === 0) {\n totalSize = containerSize;\n }\n break;\n }\n totalSize += tab[clientSize];\n }\n return totalSize;\n };\n const handleStartScrollClick = () => {\n moveTabsScroll(-1 * getScrollSize());\n };\n const handleEndScrollClick = () => {\n moveTabsScroll(getScrollSize());\n };\n\n // TODO Remove <ScrollbarSize /> as browser support for hiding the scrollbar\n // with CSS improves.\n const handleScrollbarSizeChange = React.useCallback(scrollbarWidth => {\n setScrollerStyle({\n overflow: null,\n scrollbarWidth\n });\n }, []);\n const getConditionalElements = () => {\n const conditionalElements = {};\n conditionalElements.scrollbarSizeListener = scrollable ? /*#__PURE__*/_jsx(TabsScrollbarSize, {\n onChange: handleScrollbarSizeChange,\n className: clsx(classes.scrollableX, classes.hideScrollbar)\n }) : null;\n const scrollButtonsActive = displayStartScroll || displayEndScroll;\n const showScrollButtons = scrollable && (scrollButtons === 'auto' && scrollButtonsActive || scrollButtons === true);\n conditionalElements.scrollButtonStart = showScrollButtons ? /*#__PURE__*/_jsx(ScrollButtonComponent, _extends({\n slots: {\n StartScrollButtonIcon: slots.StartScrollButtonIcon\n },\n slotProps: {\n startScrollButtonIcon: startScrollButtonIconProps\n },\n orientation: orientation,\n direction: isRtl ? 'right' : 'left',\n onClick: handleStartScrollClick,\n disabled: !displayStartScroll\n }, TabScrollButtonProps, {\n className: clsx(classes.scrollButtons, TabScrollButtonProps.className)\n })) : null;\n conditionalElements.scrollButtonEnd = showScrollButtons ? /*#__PURE__*/_jsx(ScrollButtonComponent, _extends({\n slots: {\n EndScrollButtonIcon: slots.EndScrollButtonIcon\n },\n slotProps: {\n endScrollButtonIcon: endScrollButtonIconProps\n },\n orientation: orientation,\n direction: isRtl ? 'left' : 'right',\n onClick: handleEndScrollClick,\n disabled: !displayEndScroll\n }, TabScrollButtonProps, {\n className: clsx(classes.scrollButtons, TabScrollButtonProps.className)\n })) : null;\n return conditionalElements;\n };\n const scrollSelectedIntoView = useEventCallback(animation => {\n const {\n tabsMeta,\n tabMeta\n } = getTabsMeta();\n if (!tabMeta || !tabsMeta) {\n return;\n }\n if (tabMeta[start] < tabsMeta[start]) {\n // left side of button is out of view\n const nextScrollStart = tabsMeta[scrollStart] + (tabMeta[start] - tabsMeta[start]);\n scroll(nextScrollStart, {\n animation\n });\n } else if (tabMeta[end] > tabsMeta[end]) {\n // right side of button is out of view\n const nextScrollStart = tabsMeta[scrollStart] + (tabMeta[end] - tabsMeta[end]);\n scroll(nextScrollStart, {\n animation\n });\n }\n });\n const updateScrollButtonState = useEventCallback(() => {\n if (scrollable && scrollButtons !== false) {\n setUpdateScrollObserver(!updateScrollObserver);\n }\n });\n React.useEffect(() => {\n const handleResize = debounce(() => {\n // If the Tabs component is replaced by Suspense with a fallback, the last\n // ResizeObserver's handler that runs because of the change in the layout is trying to\n // access a dom node that is no longer there (as the fallback component is being shown instead).\n // See https://github.com/mui/material-ui/issues/33276\n // TODO: Add tests that will ensure the component is not failing when\n // replaced by Suspense with a fallback, once React is updated to version 18\n if (tabsRef.current) {\n updateIndicatorState();\n }\n });\n let resizeObserver;\n\n /**\n * @type {MutationCallback}\n */\n const handleMutation = records => {\n records.forEach(record => {\n record.removedNodes.forEach(item => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.unobserve(item);\n });\n record.addedNodes.forEach(item => {\n var _resizeObserver2;\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.observe(item);\n });\n });\n handleResize();\n updateScrollButtonState();\n };\n const win = ownerWindow(tabsRef.current);\n win.addEventListener('resize', handleResize);\n let mutationObserver;\n if (typeof ResizeObserver !== 'undefined') {\n resizeObserver = new ResizeObserver(handleResize);\n Array.from(tabListRef.current.children).forEach(child => {\n resizeObserver.observe(child);\n });\n }\n if (typeof MutationObserver !== 'undefined') {\n mutationObserver = new MutationObserver(handleMutation);\n mutationObserver.observe(tabListRef.current, {\n childList: true\n });\n }\n return () => {\n var _mutationObserver, _resizeObserver3;\n handleResize.clear();\n win.removeEventListener('resize', handleResize);\n (_mutationObserver = mutationObserver) == null || _mutationObserver.disconnect();\n (_resizeObserver3 = resizeObserver) == null || _resizeObserver3.disconnect();\n };\n }, [updateIndicatorState, updateScrollButtonState]);\n\n /**\n * Toggle visibility of start and end scroll buttons\n * Using IntersectionObserver on first and last Tabs.\n */\n React.useEffect(() => {\n const tabListChildren = Array.from(tabListRef.current.children);\n const length = tabListChildren.length;\n if (typeof IntersectionObserver !== 'undefined' && length > 0 && scrollable && scrollButtons !== false) {\n const firstTab = tabListChildren[0];\n const lastTab = tabListChildren[length - 1];\n const observerOptions = {\n root: tabsRef.current,\n threshold: 0.99\n };\n const handleScrollButtonStart = entries => {\n setDisplayStartScroll(!entries[0].isIntersecting);\n };\n const firstObserver = new IntersectionObserver(handleScrollButtonStart, observerOptions);\n firstObserver.observe(firstTab);\n const handleScrollButtonEnd = entries => {\n setDisplayEndScroll(!entries[0].isIntersecting);\n };\n const lastObserver = new IntersectionObserver(handleScrollButtonEnd, observerOptions);\n lastObserver.observe(lastTab);\n return () => {\n firstObserver.disconnect();\n lastObserver.disconnect();\n };\n }\n return undefined;\n }, [scrollable, scrollButtons, updateScrollObserver, childrenProp == null ? void 0 : childrenProp.length]);\n React.useEffect(() => {\n setMounted(true);\n }, []);\n React.useEffect(() => {\n updateIndicatorState();\n });\n React.useEffect(() => {\n // Don't animate on the first render.\n scrollSelectedIntoView(defaultIndicatorStyle !== indicatorStyle);\n }, [scrollSelectedIntoView, indicatorStyle]);\n React.useImperativeHandle(action, () => ({\n updateIndicator: updateIndicatorState,\n updateScrollButtons: updateScrollButtonState\n }), [updateIndicatorState, updateScrollButtonState]);\n const indicator = /*#__PURE__*/_jsx(TabsIndicator, _extends({}, TabIndicatorProps, {\n className: clsx(classes.indicator, TabIndicatorProps.className),\n ownerState: ownerState,\n style: _extends({}, indicatorStyle, TabIndicatorProps.style)\n }));\n let childIndex = 0;\n const children = React.Children.map(childrenProp, child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"MUI: The Tabs component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n }\n }\n const childValue = child.props.value === undefined ? childIndex : child.props.value;\n valueToIndex.set(childValue, childIndex);\n const selected = childValue === value;\n childIndex += 1;\n return /*#__PURE__*/React.cloneElement(child, _extends({\n fullWidth: variant === 'fullWidth',\n indicator: selected && !mounted && indicator,\n selected,\n selectionFollowsFocus,\n onChange,\n textColor,\n value: childValue\n }, childIndex === 1 && value === false && !child.props.tabIndex ? {\n tabIndex: 0\n } : {}));\n });\n const handleKeyDown = event => {\n const list = tabListRef.current;\n const currentFocus = ownerDocument(list).activeElement;\n // Keyboard navigation assumes that [role=\"tab\"] are siblings\n // though we might warn in the future about nested, interactive elements\n // as a a11y violation\n const role = currentFocus.getAttribute('role');\n if (role !== 'tab') {\n return;\n }\n let previousItemKey = orientation === 'horizontal' ? 'ArrowLeft' : 'ArrowUp';\n let nextItemKey = orientation === 'horizontal' ? 'ArrowRight' : 'ArrowDown';\n if (orientation === 'horizontal' && isRtl) {\n // swap previousItemKey with nextItemKey\n previousItemKey = 'ArrowRight';\n nextItemKey = 'ArrowLeft';\n }\n switch (event.key) {\n case previousItemKey:\n event.preventDefault();\n moveFocus(list, currentFocus, previousItem);\n break;\n case nextItemKey:\n event.preventDefault();\n moveFocus(list, currentFocus, nextItem);\n break;\n case 'Home':\n event.preventDefault();\n moveFocus(list, null, nextItem);\n break;\n case 'End':\n event.preventDefault();\n moveFocus(list, null, previousItem);\n break;\n default:\n break;\n }\n };\n const conditionalElements = getConditionalElements();\n return /*#__PURE__*/_jsxs(TabsRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref,\n as: component\n }, other, {\n children: [conditionalElements.scrollButtonStart, conditionalElements.scrollbarSizeListener, /*#__PURE__*/_jsxs(TabsScroller, {\n className: classes.scroller,\n ownerState: ownerState,\n style: {\n overflow: scrollerStyle.overflow,\n [vertical ? `margin${isRtl ? 'Left' : 'Right'}` : 'marginBottom']: visibleScrollbar ? undefined : -scrollerStyle.scrollbarWidth\n },\n ref: tabsRef,\n children: [/*#__PURE__*/_jsx(FlexContainer, {\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-orientation\": orientation === 'vertical' ? 'vertical' : null,\n className: classes.flexContainer,\n ownerState: ownerState,\n onKeyDown: handleKeyDown,\n ref: tabListRef,\n role: \"tablist\",\n children: children\n }), mounted && indicator]\n }), conditionalElements.scrollButtonEnd]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Tabs.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Callback fired when the component mounts.\n * This is useful when you want to trigger an action programmatically.\n * It supports two actions: `updateIndicator()` and `updateScrollButtons()`\n *\n * @param {object} actions This object contains all possible actions\n * that can be triggered programmatically.\n */\n action: refType,\n /**\n * If `true`, the scroll buttons aren't forced hidden on mobile.\n * By default the scroll buttons are hidden on mobile and takes precedence over `scrollButtons`.\n * @default false\n */\n allowScrollButtonsMobile: PropTypes.bool,\n /**\n * The label for the Tabs as a string.\n */\n 'aria-label': PropTypes.string,\n /**\n * An id or list of ids separated by a space that label the Tabs.\n */\n 'aria-labelledby': PropTypes.string,\n /**\n * If `true`, the tabs are centered.\n * This prop is intended for large views.\n * @default false\n */\n centered: PropTypes.bool,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Determines the color of the indicator.\n * @default 'primary'\n */\n indicatorColor: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary']), PropTypes.string]),\n /**\n * Callback fired when the value changes.\n *\n * @param {React.SyntheticEvent} event The event source of the callback. **Warning**: This is a generic event not a change event.\n * @param {any} value We default to the index of the child (number)\n */\n onChange: PropTypes.func,\n /**\n * The component orientation (layout flow direction).\n * @default 'horizontal'\n */\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n /**\n * The component used to render the scroll buttons.\n * @default TabScrollButton\n */\n ScrollButtonComponent: PropTypes.elementType,\n /**\n * Determine behavior of scroll buttons when tabs are set to scroll:\n *\n * - `auto` will only present them when not all the items are visible.\n * - `true` will always present them.\n * - `false` will never present them.\n *\n * By default the scroll buttons are hidden on mobile.\n * This behavior can be disabled with `allowScrollButtonsMobile`.\n * @default 'auto'\n */\n scrollButtons: PropTypes /* @typescript-to-proptypes-ignore */.oneOf(['auto', false, true]),\n /**\n * If `true` the selected tab changes on focus. Otherwise it only\n * changes on activation.\n */\n selectionFollowsFocus: PropTypes.bool,\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n * @default {}\n */\n slotProps: PropTypes.shape({\n endScrollButtonIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n startScrollButtonIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n EndScrollButtonIcon: PropTypes.elementType,\n StartScrollButtonIcon: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Props applied to the tab indicator element.\n * @default {}\n */\n TabIndicatorProps: PropTypes.object,\n /**\n * Props applied to the [`TabScrollButton`](/material-ui/api/tab-scroll-button/) element.\n * @default {}\n */\n TabScrollButtonProps: PropTypes.object,\n /**\n * Determines the color of the `Tab`.\n * @default 'primary'\n */\n textColor: PropTypes.oneOf(['inherit', 'primary', 'secondary']),\n /**\n * The value of the currently selected `Tab`.\n * If you don't want any selected `Tab`, you can set this prop to `false`.\n */\n value: PropTypes.any,\n /**\n * Determines additional display behavior of the tabs:\n *\n * - `scrollable` will invoke scrolling properties and allow for horizontally\n * scrolling (or swiping) of the tab bar.\n * - `fullWidth` will make the tabs grow to use all the available space,\n * which should be used for small views, like on mobile.\n * - `standard` will render the default state.\n * @default 'standard'\n */\n variant: PropTypes.oneOf(['fullWidth', 'scrollable', 'standard']),\n /**\n * If `true`, the scrollbar is visible. It can be useful when displaying\n * a long vertical list of tabs.\n * @default false\n */\n visibleScrollbar: PropTypes.bool\n} : void 0;\nexport default Tabs;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\n\n/**\n * @type {React.Context<{ idPrefix: string; value: string } | null>}\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Context = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== 'production') {\n Context.displayName = 'TabContext';\n}\nfunction useUniquePrefix() {\n const [id, setId] = React.useState(null);\n React.useEffect(() => {\n setId(`mui-p-${Math.round(Math.random() * 1e5)}`);\n }, []);\n return id;\n}\nexport default function TabContext(props) {\n const {\n children,\n value\n } = props;\n const idPrefix = useUniquePrefix();\n const context = React.useMemo(() => {\n return {\n idPrefix,\n value\n };\n }, [idPrefix, value]);\n return /*#__PURE__*/_jsx(Context.Provider, {\n value: context,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? TabContext.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * The value of the currently selected `Tab`.\n */\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired\n} : void 0;\n\n/**\n * @returns {unknown}\n */\nexport function useTabContext() {\n return React.useContext(Context);\n}\nexport function getPanelId(context, value) {\n const {\n idPrefix\n } = context;\n if (idPrefix === null) {\n return null;\n }\n return `${context.idPrefix}-P-${value}`;\n}\nexport function getTabId(context, value) {\n const {\n idPrefix\n } = context;\n if (idPrefix === null) {\n return null;\n }\n return `${context.idPrefix}-T-${value}`;\n}","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Tabs from '@mui/material/Tabs';\nimport { useTabContext, getTabId, getPanelId } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabList = /*#__PURE__*/React.forwardRef(function TabList(props, ref) {\n const {\n children: childrenProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const context = useTabContext();\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n const children = React.Children.map(childrenProp, child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n return /*#__PURE__*/React.cloneElement(child, {\n // SOMEDAY: `Tabs` will set those themselves\n 'aria-controls': getPanelId(context, child.props.value),\n id: getTabId(context, child.props.value)\n });\n });\n return /*#__PURE__*/_jsx(Tabs, _extends({}, other, {\n ref: ref,\n value: context.value,\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabList.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * A list of `<Tab />` elements.\n */\n children: PropTypes.node\n} : void 0;\nexport default TabList;","import generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nexport function getTabPanelUtilityClass(slot) {\n return generateUtilityClass('MuiTabPanel', slot);\n}\nconst tabPanelClasses = generateUtilityClasses('MuiTabPanel', ['root']);\nexport default tabPanelClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { getTabPanelUtilityClass } from './tabPanelClasses';\nimport { getPanelId, getTabId, useTabContext } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTabPanelUtilityClass, classes);\n};\nconst TabPanelRoot = styled('div', {\n name: 'MuiTabPanel',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n padding: theme.spacing(3)\n}));\nconst TabPanel = /*#__PURE__*/React.forwardRef(function TabPanel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTabPanel'\n });\n const {\n children,\n className,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props);\n const classes = useUtilityClasses(ownerState);\n const context = useTabContext();\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n const id = getPanelId(context, value);\n const tabId = getTabId(context, value);\n return /*#__PURE__*/_jsx(TabPanelRoot, _extends({\n \"aria-labelledby\": tabId,\n className: clsx(classes.root, className),\n hidden: value !== context.value,\n id: id,\n ref: ref,\n role: \"tabpanel\",\n ownerState: ownerState\n }, other, {\n children: value === context.value && children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabPanel.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The `value` of the corresponding `Tab`. Must use the index of the `Tab` when\n * no `value` was passed to `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\nexport default TabPanel;","import Tooltip from \"@mui/material/Tooltip\";\n\nexport default function Routes({ name, children }) {\n return (\n <Tooltip\n componentsProps={{\n tooltip: {\n sx: {\n bgcolor: \"var(--tw-background-container)\",\n \"& .MuiTooltip-arrow\": {\n color: \"var(--tw-bg-container)\",\n },\n border: \"1px solid var(--tw-border-primary)\",\n color: \"var(--tw-text-primary)\",\n boxShadow: \"0px 0px 6.1px 0px #0000001A\",\n },\n },\n }}\n slotProps={{\n popper: {\n modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [0, -14],\n },\n },\n ],\n },\n }}\n className=\"bw-text-text-button\"\n title={name}\n placement=\"top\"\n >\n {children}\n </Tooltip>\n );\n}\n","import React from \"react\";\n\nfunction Maxop({ fill, spinnerColor, stopColor }) {\n return (\n <svg\n width=\"100%\"\n height=\"100%\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect\n x=\"0.820312\"\n y=\"1.4248\"\n width=\"14\"\n height=\"14\"\n rx=\"7\"\n fill={fill}\n stroke=\"url(#paint0_linear_739_20205)\"\n />\n <path\n d=\"M7.34417 5.19093C7.49384 4.73028 8.14555 4.73028 8.29522 5.19093L8.53764 5.937C8.73845 6.55504 9.31438 6.97348 9.96422 6.97348H10.7487C11.233 6.97348 11.4344 7.59329 11.0426 7.87799L10.4079 8.33908C9.8822 8.72105 9.66222 9.3981 9.86303 10.0161L10.1054 10.7622C10.2551 11.2229 9.72788 11.6059 9.33602 11.3212L8.70137 10.8601C8.17564 10.4782 7.46375 10.4782 6.93802 10.8601L6.30337 11.3212C5.91152 11.6059 5.38428 11.2229 5.53395 10.7622L5.77637 10.0161C5.97718 9.3981 5.75719 8.72105 5.23146 8.33908L4.59681 7.87799C4.20496 7.59329 4.40635 6.97348 4.89071 6.97348H5.67517C6.32501 6.97348 6.90094 6.55504 7.10176 5.937L7.34417 5.19093Z\"\n stroke=\"black\"\n />\n <path\n d=\"M7.34417 5.19093C7.49384 4.73028 8.14555 4.73028 8.29522 5.19093L8.53764 5.937C8.73845 6.55504 9.31438 6.97348 9.96422 6.97348H10.7487C11.233 6.97348 11.4344 7.59329 11.0426 7.87799L10.4079 8.33908C9.8822 8.72105 9.66222 9.3981 9.86303 10.0161L10.1054 10.7622C10.2551 11.2229 9.72788 11.6059 9.33602 11.3212L8.70137 10.8601C8.17564 10.4782 7.46375 10.4782 6.93802 10.8601L6.30337 11.3212C5.91152 11.6059 5.38428 11.2229 5.53395 10.7622L5.77637 10.0161C5.97718 9.3981 5.75719 8.72105 5.23146 8.33908L4.59681 7.87799C4.20496 7.59329 4.40635 6.97348 4.89071 6.97348H5.67517C6.32501 6.97348 6.90094 6.55504 7.10176 5.937L7.34417 5.19093Z\"\n stroke=\"url(#paint1_linear_739_20205)\"\n />\n <path\n d=\"M7.34417 5.19093C7.49384 4.73028 8.14555 4.73028 8.29522 5.19093L8.53764 5.937C8.73845 6.55504 9.31438 6.97348 9.96422 6.97348H10.7487C11.233 6.97348 11.4344 7.59329 11.0426 7.87799L10.4079 8.33908C9.8822 8.72105 9.66222 9.3981 9.86303 10.0161L10.1054 10.7622C10.2551 11.2229 9.72788 11.6059 9.33602 11.3212L8.70137 10.8601C8.17564 10.4782 7.46375 10.4782 6.93802 10.8601L6.30337 11.3212C5.91152 11.6059 5.38428 11.2229 5.53395 10.7622L5.77637 10.0161C5.97718 9.3981 5.75719 8.72105 5.23146 8.33908L4.59681 7.87799C4.20496 7.59329 4.40635 6.97348 4.89071 6.97348H5.67517C6.32501 6.97348 6.90094 6.55504 7.10176 5.937L7.34417 5.19093Z\"\n stroke=\"black\"\n stroke-opacity=\"0.2\"\n />\n <defs>\n <linearGradient\n id=\"paint0_linear_739_20205\"\n x1=\"18.1645\"\n y1=\"6.26376\"\n x2=\"-8.973\"\n y2=\"6.2369\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color={spinnerColor ? spinnerColor : \"#2CFFE4\"} />\n <stop offset=\"1\" stop-color={stopColor ? stopColor : \"#A45EFF\"} />\n </linearGradient>\n <linearGradient\n id=\"paint1_linear_739_20205\"\n x1=\"10.9776\"\n y1=\"10.0041\"\n x2=\"1.99984\"\n y2=\"2.87371\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stop-color={spinnerColor ? spinnerColor : \"#2CFFE4\"} />\n <stop offset=\"1\" stop-color={stopColor ? stopColor : \"#A45EFF\"} />\n </linearGradient>\n </defs>\n </svg>\n );\n}\n\nexport default Maxop;\n","import React from \"react\";\n\nfunction LowgasSvg({ fill }) {\n return (\n <svg\n width=\"100%\"\n height=\"100%\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect\n x=\"0.839844\"\n y=\"0.938477\"\n width=\"14\"\n height=\"14\"\n rx=\"7\"\n fill={fill}\n />\n <rect\n x=\"0.839844\"\n y=\"0.938477\"\n width=\"14\"\n height=\"14\"\n rx=\"7\"\n fill={fill}\n />\n <rect\n x=\"0.839844\"\n y=\"0.938477\"\n width=\"14\"\n height=\"14\"\n rx=\"7\"\n stroke=\"#69AEF2\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M10.7198 5.55386C10.7352 5.56138 10.7489 5.57121 10.762 5.58393C10.7654 5.5874 10.7682 5.59087 10.7711 5.59434C10.9357 5.72676 11.1002 5.87653 11.2198 6.05696C11.3519 6.25646 11.4253 6.48719 11.3809 6.76072C11.3621 6.87522 11.3194 6.97526 11.2545 7.06373C11.2078 7.12677 11.1509 7.18228 11.0837 7.23085C11.0803 7.31933 11.0791 7.40607 11.0791 7.49223C11.0797 7.60269 11.0831 7.71661 11.0894 7.83342C11.1036 8.10752 11.1441 8.38393 11.1845 8.65804C11.2278 8.95296 11.271 9.24556 11.2824 9.55031C11.2978 9.94065 11.2522 10.2616 11.1253 10.4883C10.9841 10.7416 10.7546 10.8769 10.4164 10.8647C10.0126 10.8572 9.76438 10.6271 9.6522 10.202C9.55427 9.8302 9.56907 9.29934 9.6801 8.63144C9.67669 8.10231 9.60893 7.70157 9.47455 7.43152C9.38686 7.25514 9.26785 7.13833 9.11753 7.08282V10.5478C9.1665 10.5715 9.21091 10.6039 9.24849 10.6427C9.33504 10.7306 9.38914 10.8526 9.38914 10.9867V11.3326C9.38914 11.4199 9.3191 11.491 9.23312 11.491H5.23414C5.14816 11.491 5.07812 11.4199 5.07812 11.3326V10.9867C5.07812 10.8526 5.13222 10.7312 5.21877 10.6427C5.24553 10.6155 5.27571 10.5912 5.30817 10.571V5.2254C5.30817 4.99409 5.40098 4.78417 5.55074 4.63209C5.70049 4.48 5.90719 4.38574 6.13495 4.38574H8.28619C8.51452 4.38574 8.72236 4.48058 8.87268 4.63324C9.023 4.78591 9.11639 4.99698 9.11639 5.22945V6.75378C9.39312 6.81507 9.60437 6.99492 9.75128 7.28984C9.90901 7.60615 9.98759 8.05952 9.98986 8.64647C9.98986 8.65572 9.9893 8.66498 9.98759 8.67365H9.98816C9.88282 9.30224 9.86573 9.79261 9.95228 10.1205C10.0246 10.3963 10.1772 10.5455 10.4215 10.549H10.4243C10.6327 10.5559 10.7711 10.4784 10.8525 10.3321C10.9488 10.1598 10.9823 9.89554 10.9693 9.56246C10.9584 9.28026 10.9157 8.99286 10.8736 8.70372C10.8326 8.42499 10.7916 8.14395 10.7762 7.84903C10.77 7.7328 10.7665 7.61425 10.766 7.49166C10.7654 7.39451 10.7671 7.29851 10.7711 7.20425C10.4801 6.94519 10.303 6.68612 10.2484 6.42821C10.1966 6.1836 10.2512 5.94882 10.4192 5.72445C10.2911 5.63539 10.1607 5.56253 10.0286 5.50413C9.84808 5.42432 9.84694 5.41738 9.6579 5.38616C9.57306 5.37228 9.51554 5.29074 9.52921 5.20458C9.54288 5.11842 9.62316 5.06001 9.70801 5.07389C9.9221 5.10916 9.94773 5.12304 10.1533 5.21383C10.3486 5.30057 10.5371 5.41218 10.7198 5.55386ZM10.668 5.91817C10.5593 6.06621 10.5228 6.21425 10.5547 6.36344C10.5929 6.54386 10.7255 6.73585 10.9465 6.93883C10.9687 6.91859 10.9886 6.89719 11.0051 6.87464C11.0399 6.8278 11.0632 6.77286 11.0729 6.71041C11.1025 6.52767 11.0518 6.37096 10.9607 6.23333C10.8855 6.11941 10.7808 6.01416 10.668 5.91817ZM6.32286 5.1109H8.13472C8.22868 5.1109 8.31409 5.14964 8.37615 5.21268C8.38014 5.2173 8.38469 5.22135 8.38868 5.22655C8.44334 5.28843 8.47694 5.36997 8.47694 5.45786V6.63176C8.47694 6.72718 8.43879 6.8145 8.37672 6.87695C8.31523 6.9394 8.22982 6.97873 8.13529 6.97873H6.32286C6.22947 6.97873 6.14463 6.9394 6.082 6.87695L6.08143 6.87753C6.01993 6.81507 5.98121 6.72776 5.98121 6.63234V5.45729C5.98121 5.36187 6.01936 5.27513 6.08143 5.2121C6.08598 5.20805 6.08997 5.20342 6.09509 5.19995C6.15602 5.14444 6.23574 5.1109 6.32286 5.1109ZM8.9746 10.8324C8.97005 10.8329 8.96606 10.8329 8.96151 10.8329H5.49152C5.47216 10.8416 5.45451 10.8537 5.4397 10.8688C5.40952 10.8994 5.39073 10.9416 5.39073 10.9885V11.1758H9.0771V10.9885C9.0771 10.9422 9.05831 10.9 9.02813 10.8688C9.01276 10.8532 8.99453 10.841 8.9746 10.8324Z\"\n fill=\"#69AEF2\"\n />\n </svg>\n );\n}\n\nexport default LowgasSvg;\n","import React from \"react\";\n\nfunction FastestSvg({ fill }) {\n return (\n <svg\n width=\"100%\"\n height=\"100%\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect\n x=\"1.16797\"\n y=\"0.666992\"\n width=\"14\"\n height=\"14\"\n rx=\"7\"\n fill={fill}\n />\n <rect\n x=\"1.16797\"\n y=\"0.666992\"\n width=\"14\"\n height=\"14\"\n rx=\"7\"\n fill={fill}\n />\n <rect\n x=\"1.16797\"\n y=\"0.666992\"\n width=\"14\"\n height=\"14\"\n rx=\"7\"\n stroke=\"#FFC700\"\n />\n <path\n d=\"M4.61719 8.06204L10.1435 3.3252L7.77508 6.48309H12.1172L4.61719 12.0094L8.16982 8.06204H4.61719Z\"\n fill=\"#FFC700\"\n />\n </svg>\n );\n}\n\nexport default FastestSvg;\n","import truncate from \"../../../utils/truncate\";\nimport images from \"../../../images\";\nimport React, { useState, useEffect } from \"react\";\nimport useStore from \"../../../zustand/store\";\nimport Step from \"../../Svg/step\";\nimport ClockIcon from \"../../Svg/clockIcon\";\nimport Gas from \"../../Svg/gas\";\nimport Routes from \"../../Tooltip/Routes\";\nimport Maxop from \"../../Svg/maxop\";\nimport LowgasSvg from \"../../Svg/lowgas\";\nimport FastestSvg from \"../../Svg/fastest\";\nimport formatNumber from \"../../../utils/formatNumber\";\nimport OutputValueComp from \"../../OutputValueComp\";\nimport fixString from \"../../../utils/fixString\";\nfunction GasField({ gasImg, item, fromChain }) {\n const [gas, setGas] = useState({});\n useEffect(() => {\n let tempGasObj = { amountInUSD: 0 };\n item?.fee?.forEach((item) => {\n if (item.source == \"FROM_SOURCE_WALLET\") {\n tempGasObj.amountInUSD += Number(item.amountInUSD);\n }\n });\n setGas(tempGasObj);\n }, [item]);\n return (\n <div className=\"bw-flex bw-text-sm bw-items-center bw-gap-x-1\">\n <Gas fill={\"var(--tw-text-secondary)\"} />\n <p>${fixString(gas?.amountInUSD || 0, 6) || 0}</p>\n </div>\n );\n}\nexport default function MaxOutput({ routes, handleShowAllRoutes, handleRoutesData, convertVal, fromChain, toChain, sort }) {\n const configuration = useStore((state) => state.configuration);\n const { gasnew, clockicon, step, maxop, lowgas, fast, defaultCoin } = images;\n const [recommendedGas, setRecommendedGas] = useState({});\n const [recommendedTime, setRecommendedTime] = useState({});\n function handleOpCalc(item, arr, i) {\n let minOpAmount = truncate(item?.minOutputAmountDisplay * item?.to?.lastPrice || 0, 4);\n let outputAmount = item.outputAmountDisplay * (convertVal || 0);\n let opVal = outputAmount || 0;\n let lastLength = (arr[arr.length - 1].outputAmountDisplay || \"\") * convertVal;\n let firstLength = (arr[0].outputAmountDisplay || \"\") * convertVal;\n let firstOpVal = sort == \"asc\" ? lastLength : firstLength;\n let lastOpVal = sort == \"asc\" ? firstLength : lastLength;\n if ((i == 0 && sort !== \"asc\") || (i == arr.length - 1 && sort == \"asc\")) {\n return {\n val: (\n <p className=\"bw-text-[10px] bw-text-text-secondary bw-font-normal\">\n <span className=\"bw-text-text-greentext\">{`+$${fixString(formatNumber(firstOpVal - lastOpVal), 12)}`}</span> Higher Output\n </p>\n ),\n isMax: true,\n };\n } else if ((i == arr.length - 1 && sort !== \"asc\") || (i === 0 && sort == \"asc\")) {\n return {\n val: (\n <p className=\"bw-text-[10px] bw-text-text-secondary bw-font-normal\">\n <span className={`${firstOpVal - lastOpVal === 0 ? \"bw-text-text-greentext\" : \"bw-bg-background-container\"}`}>{`-$${fixString(formatNumber(firstOpVal - lastOpVal), 12)}`}</span> {firstOpVal - lastOpVal === 0 ? \"Higher Output\" : \"Less Output\"}\n </p>\n ),\n isMax: firstOpVal - lastOpVal === 0 ? true : false,\n };\n } else {\n return {\n val: (\n <p className=\"bw-text-[10px] bw-text-text-secondary bw-font-normal\">\n <span className={`${firstOpVal - opVal === 0 ? \"bw-text-text-greentext\" : \"bw-bg-background-container\"}`}>{`-$${fixString(formatNumber(firstOpVal - opVal), 12)}`}</span> {firstOpVal - opVal === 0 ? \"Higher Output\" : \"Less Output\"}\n </p>\n ),\n isMax: firstOpVal - opVal === 0 ? true : false,\n };\n }\n }\n\n return (\n <div>\n <div className=\"bw-h-[410px] bw-pt-2 bw-overflow-y-auto\">\n {routes.data?.data?.quotes\n ?.sort((a, b) => {\n let opVal1 = Number(a.outputAmountDisplay || 0);\n let opVal2 = Number(b.outputAmountDisplay || 0);\n if (sort === \"asc\") {\n return opVal1 - opVal2;\n } else {\n return opVal2 - opVal1;\n }\n })\n .map((item, i, arr) => {\n const calculatedOpVal = handleOpCalc(item, arr, i);\n let outputVal = item?.outputAmountDisplay || \"\";\n let logoUrl = item?.providerDetails?.logoUrl?.length ? item?.providerDetails?.logoUrl : defaultCoin;\n return (\n <div\n key={i}\n onClick={() => {\n handleRoutesData(item);\n handleShowAllRoutes();\n }}\n className=\"bw-mb-4\"\n >\n <div\n style={{\n boxShadow: (configuration && configuration.customTheme && configuration.customTheme?.shadow?.boxShadow) || \"1px 1px 7px rgba(0, 0, 0, 0.15)\",\n }}\n className={` bw-w-[93%] bw-mt-3 bw-cursor-pointer bw-ml-auto bw-mr-2 bw-flex bw-mb-8 bw-items-center bw-px-2 bw-relative bw-rounded-lg bw-pt-3 bw-pb-3 bw-border bw-border-border-primary`}\n >\n <div className=\"bw-absolute bw-flex bw-items-center bw-gap-x-1 bw-bottom-[-10%] bw-self-center bw-right-[47%]\">\n {item.tags?.includes(\"BEST_OUTPUT\") ? (\n <Routes name={\"Max Output\"}>\n <div className=\"bw-w-[20px] bw-h-[20px]\">\n <Maxop fill={\"var(--tw-background-container)\"} />\n </div>\n </Routes>\n ) : (\n <></>\n )}\n {item.tags?.includes(\"CHEAP\") ? (\n <Routes name={\"Lowest Gas\"}>\n <div className=\"bw-w-[20px] bw-h-[20px]\">\n <LowgasSvg fill={\"var(--tw-background-container)\"} />\n </div>\n </Routes>\n ) : (\n <></>\n )}\n {item.tags?.includes(\"FAST\") ? (\n <div className=\"bw-w-[20px] bw-h-[20px]\">\n <FastestSvg fill={\"var(--tw-background-container)\"} />\n </div>\n ) : (\n <></>\n )}\n </div>\n\n <div className=\"bw-w-[35px] bw-h-[35px] bw-absolute bw-z-50 bw-left-[-5%] bw-top-[-16%]\">\n <img src={logoUrl} className=\"bw-rounded-lg \" width={35} height={35} />\n </div>\n <div className=\"bw-absolute bw-text-[10px] bw-text-text-primary bw-font-normal bw-left-5 bw-top-1\">\n <span className={`${calculatedOpVal.color}`}>{calculatedOpVal?.val}</span>{\" \"}\n </div>\n <div className=\"bw-flex bw-w-full bw-mt-4 bw-justify-between bw-items-center\">\n <div>\n <p className=\"bw-text-xs bw-font-semibold bw-text-text-primary\">{item?.providerDetails?.name || \"\"}</p>\n\n <p className=\"bw-text-xs bw-font-normal bw-my-1 bw-text-text-secondary\">\n via{\" \"}\n {item?.protocolsUsed?.length > 2\n ? item?.protocolsUsed.slice(0, 2).map((item, i, arr) => {\n return i == arr.length - 1 ? item : `${item + \" >> \"}`;\n }) + `+${item?.protocolsUsed?.length - 2}`\n : item?.protocolsUsed.map((item, i, arr) => {\n return i == arr.length - 1 ? item : `${item + \" >> \"}`;\n })}{\" \"}\n </p>\n <div className=\"bw-flex bw-items-center bw-gap-x-1\">\n <div className=\"bw-flex bw-items-center bw-gap-x-1\">\n <Step fill={\"var(--tw-text-secondary)\"} />\n <p className=\"bw-text-xs bw-font-normal bw-text-text-secondary\">{item.steps.length} Step</p>\n </div>\n <div className=\"bw-text-xs bw-font-normal bw-text-text-secondary\"> Slippage {item.slippage / 100}%</div>\n </div>\n </div>\n </div>\n <div className=\"bw-flex bw-flex-col bw-justify-between bw-w-full bw-items-end\">\n <div className=\"bw-flex bw-items-center bw-gap-x-2\">\n <div className={` bw-relative bw-rounded-[50%] bw-w-[21px] bw-h-[21px] bw-border bw-border-border-primary ${!item.to?.image ? \"\" : \"bw-bg-background-coin\"}`}>\n {item.to?.image ? <img src={item.to.image} width={20} height={20} alt=\"img\" className=\"bw-rounded-[50%] bw-max-w-[20px] bw-max-h-[20px] bw-object-contain\" /> : <img src={defaultCoin} width={20} height={20} alt=\"img\" className=\"bw-rounded-[50%]\" />}\n <div className={`bw-bg-background-coin bw-absolute bw-bottom-[-30%] bw-right-[-15%] bw-rounded-[50%] bw-w-[12px] bw-h-[12px] bw-border bw-border-border-primary ${!toChain?.image ? \"\" : \"bw-bg-background-coin\"}`}> {toChain?.image ? <img src={toChain.image} width={11} height={11} className=\"bw-rounded-[50%]\" alt=\"img\" /> : <img src={defaultCoin} width={11} height={11} className=\"bw-rounded-[50%]\" alt=\"img\" />}</div>\n </div>\n <p className=\"bw-text-lg bw-break-words bw-font-medium bw-text-text-primary\">\n <OutputValueComp value={outputVal} decimal={12} />\n </p>\n </div>\n <div className=\"bw-flex bw-text-xs bw-font-normal bw-mb-2 bw-items-center bw-gap-x-1\">\n <p className=\"bw-text-text-secondary\">\n $\n <OutputValueComp value={(item.outputAmountDisplay * convertVal)?.toString() || \"\"} decimal={10} />\n </p>\n </div>\n <div className=\"bw-text-sm bw-flex bw-items-center bw-gap-x-2 bw-font-medium bw-text-text-secondary\">\n <div className=\"bw-flex bw-text-sm bw-items-center bw-gap-x-1\">\n <ClockIcon fill={\"var(--tw-text-secondary)\"} />\n <p> {item.estimatedTimeInSeconds >= 90 ? `${Math.round(truncate((item.estimatedTimeInSeconds || 60) / 60, 2) || 0)}min` : `${item?.estimatedTimeInSeconds || 60} secs`}</p>\n </div>\n <GasField item={item} gasImg={gasnew} fromChain={fromChain} />\n </div>\n </div>\n </div>\n </div>\n );\n })}\n </div>\n </div>\n );\n}\n","import truncate from \"../../../utils/truncate\";\nimport images from \"../../../images\";\nimport React, { useState, useEffect } from \"react\";\nimport useStore from \"../../../zustand/store\";\nimport Gas from \"../../Svg/gas\";\nimport ClockIcon from \"../../Svg/clockIcon\";\nimport Step from \"../../Svg/step\";\nimport Routes from \"../../Tooltip/Routes\";\nimport Maxop from \"../../Svg/maxop\";\nimport LowgasSvg from \"../../Svg/lowgas\";\nimport FastestSvg from \"../../Svg/fastest\";\nimport fixChar from \"../../../utils/fixChar\";\nimport formatNumber from \"../../../utils/formatNumber\";\nimport OutputValueComp from \"../../OutputValueComp\";\nimport fixString from \"../../../utils/fixString\";\nfunction GasField({ gasImg, item, fromChain }) {\n const [gas, setGas] = useState({});\n useEffect(() => {\n let tempGasObj = { amountInUSD: 0 };\n item?.fee?.forEach((item) => {\n if (item.source == \"FROM_SOURCE_WALLET\") {\n tempGasObj.amountInUSD += Number(item.amountInUSD);\n }\n });\n setGas(tempGasObj);\n }, [item]);\n\n return (\n <div className=\"bw-flex bw-text-sm bw-items-center bw-gap-x-1\">\n <Gas fill={\"var(--tw-text-secondary)\"} />\n <p>${fixString(gas?.amountInUSD || 0, 6) || 0}</p>\n </div>\n );\n}\nexport default function LowerGas({ routes, handleShowAllRoutes, handleRoutesData, convertVal, fromChain, sort, toChain }) {\n const { gasnew, clockicon, step, fast, maxop, lowgas, defaultCoin } = images;\n const [recommendedOp, setRecommendedOp] = useState({});\n const [recommendedTime, setRecommendedTime] = useState({});\n const configuration = useStore((state) => state.configuration);\n function handleOpCalc(item, arr, i) {\n let tempGasObj = { amountInUSD: 0 };\n item?.fee?.forEach((item) => {\n if (item.source == \"FROM_SOURCE_WALLET\") {\n tempGasObj.amountInUSD += Number(item.amountInUSD);\n }\n });\n let gasVal = tempGasObj.amountInUSD;\n let tempGasObj1 = { amountInUSD: 0 };\n let gasFirstFee = arr[0].fee?.forEach((item) => {\n if (item.source == \"FROM_SOURCE_WALLET\") {\n tempGasObj1.amountInUSD += Number(item.amountInUSD);\n }\n });\n\n let tempGasObj2 = { amountInUSD: 0 };\n arr[arr.length - 1].fee?.forEach((item) => {\n if (item.source == \"FROM_SOURCE_WALLET\") {\n tempGasObj2.amountInUSD += Number(item.amountInUSD);\n }\n });\n let gasFirstVal = sort === \"desc\" ? tempGasObj2.amountInUSD : tempGasObj1.amountInUSD;\n let gasLastVal = sort === \"desc\" ? tempGasObj1.amountInUSD : tempGasObj2.amountInUSD;\n if ((i == 0 && sort !== \"desc\") || (i == arr.length - 1 && sort == \"desc\")) {\n return {\n val: (\n <p className=\"bw-text-[10px] bw-text-text-secondary bw-font-normal\">\n <span className=\"bw-text-text-greentext\">{`$${truncate(gasLastVal - gasFirstVal, 4)}`}</span> Cheaper\n </p>\n ),\n isMax: true,\n };\n } else if (i === 0 && sort !== \"desc\") {\n return {\n val: (\n <p className=\"bw-text-[10px] bw-text-text-secondary bw-font-normal\">\n <span className={`${truncate(gasFirstVal - gasLastVal, 4) === 0 ? \"bw-text-text-greentext\" : \"bw-bg-background-container\"}`}>{`$${truncate(gasFirstVal - gasLastVal, 4)}`}</span> {truncate(gasFirstVal - gasLastVal, 4) === 0 ? \"Cheaper\" : \"Higher\"}\n </p>\n ),\n isMax: truncate(gasFirstVal - gasLastVal, 4) === 0 ? true : false,\n };\n } else if (i == arr.length - 1 && sort == \"desc\") {\n return {\n val: (\n <p className=\"bw-text-[10px] bw-text-text-secondary bw-font-normal\">\n <span className={`${truncate(gasLastVal - gasFirstVal, 4) === 0 ? \"bw-text-text-greentext\" : \"bw-bg-background-container\"}`}>{`$${truncate(gasLastVal - gasFirstVal, 4)}`}</span> {truncate(gasLastVal - gasFirstVal, 4) ? \"Cheaper\" : \"Higher\"}\n </p>\n ),\n isMax: truncate(gasLastVal - gasFirstVal, 4) === 0 ? true : false,\n };\n } else {\n return {\n val: (\n <p className=\"bw-text-[10px] bw-text-text-secondary bw-font-normal\">\n <span className={`${truncate(gasVal - gasFirstVal, 4) === 0 ? \"bw-text-text-greentext\" : \"bw-bg-background-container\"}`}>{`$${truncate(gasVal - gasFirstVal, 4)}`}</span> {truncate(gasVal - gasFirstVal, 4) ? \"Cheaper\" : \"Higher\"}\n </p>\n ),\n isMax: truncate(gasVal - gasFirstVal, 4) === 0 ? true : false,\n };\n }\n }\n // useEffect(() => {\n // let time = { val: 100000, id: \"\" };\n // let op = { val: 0, id: \"\" };\n // routes.data?.data?.quotes.forEach((item) => {\n // let timeparse = Math.round(\n // truncate((item.estimatedTimeInSeconds || 60) / 60, 2) || 0\n // );\n\n // if (timeparse < time.val) {\n // time = { val: timeparse, id: item._id };\n // }\n // let opParse = truncate(\n // Number(item.minOutputAmount || item.outputAmountDisplay),\n // 4\n // );\n // if (opParse > op.val) {\n // op = { val: opParse, id: item._id };\n // }\n // });\n // setRecommendedOp(op);\n // setRecommendedTime(time);\n // }, [routes]);\n return (\n <div>\n <div className=\"bw-h-[410px] bw-pt-2 bw-overflow-y-auto\">\n {routes?.data?.data?.quotes\n ?.sort((a, b) => {\n let tempVal1 = { amountInUSD: 0 };\n a?.fee?.forEach((item) => {\n if (item.source == \"FROM_SOURCE_WALLET\") {\n tempVal1.amountInUSD += Number(item.amountInUSD);\n }\n });\n let tempVal2 = { amountInUSD: 0 };\n b?.fee?.forEach((item) => {\n if (item.source == \"FROM_SOURCE_WALLET\") {\n tempVal2.amountInUSD += Number(item.amountInUSD);\n }\n });\n let opVal1 = tempVal1.amountInUSD;\n let opVal2 = tempVal2.amountInUSD;\n if (sort === \"asc\") {\n return opVal1 - opVal2;\n } else if (sort === \"none\") {\n return opVal1 - opVal2;\n } else {\n return opVal2 - opVal1;\n }\n })\n .map((item, i, arr) => {\n const calculatedOpVal = handleOpCalc(item, arr, i);\n let outputVal = item?.outputAmountDisplay || \"\";\n let logoUrl = item?.providerDetails?.logoUrl?.length ? item?.providerDetails?.logoUrl : defaultCoin;\n return (\n <div\n key={i}\n onClick={() => {\n handleRoutesData(item);\n handleShowAllRoutes();\n }}\n className=\"bw-mb-4\"\n >\n <div\n style={{\n boxShadow: (configuration && configuration.customTheme && configuration.customTheme?.shadow?.boxShadow) || \"1px 1px 7px rgba(0, 0, 0, 0.15)\",\n }}\n className={` bw-w-[93%] bw-mt-3 bw-cursor-pointer bw-ml-auto bw-mr-2 bw-flex bw-mb-8 bw-items-center bw-px-2 bw-relative bw-rounded-lg bw-pt-3 bw-pb-3 bw-border bw-border-border-primary`}\n >\n <div className=\"bw-absolute bw-flex bw-items-center bw-gap-x-1 bw-bottom-[-10%] bw-self-center bw-right-[47%]\">\n {item.tags?.includes(\"CHEAP\") ? (\n <Routes name={\"Lowest Gas\"}>\n <div className=\"bw-w-[20px] bw-h-[20px]\">\n <LowgasSvg fill={\"var(--tw-background-container)\"} />\n </div>\n </Routes>\n ) : (\n <></>\n )}\n {item.tags?.includes(\"BEST_OUTPUT\") ? (\n <Routes name={\"Max Output\"}>\n <div className=\"bw-w-[20px] bw-h-[20px]\">\n <Maxop fill={\"var(--tw-background-container)\"} />\n </div>\n </Routes>\n ) : (\n <></>\n )}\n {item.tags?.includes(\"FAST\") ? (\n <Routes name={\"Fastest\"}>\n <div className=\"bw-w-[20px] bw-h-[20px]\">\n <FastestSvg fill={\"var(--tw-background-container)\"} />\n </div>\n </Routes>\n ) : (\n <></>\n )}\n </div>\n\n <div className=\"bw-w-[35px] bw-h-[35px] bw-absolute bw-z-50 bw-left-[-5%] bw-top-[-16%]\">\n <img src={logoUrl} className=\"bw-rounded-lg \" width={35} height={35} />\n </div>\n <div className=\"bw-absolute bw-text-[10px] bw-text-text-primary bw-font-normal bw-left-5 bw-top-1\">\n <span className={`${calculatedOpVal.color}`}>{calculatedOpVal?.val}</span>{\" \"}\n </div>\n <div className=\"bw-flex bw-w-full bw-mt-4 bw-justify-between bw-items-center\">\n <div>\n <p className=\"bw-text-xs bw-font-semibold bw-text-text-primary\">{item?.providerDetails?.name || \"\"}</p>\n\n <p className=\"bw-text-xs bw-font-normal bw-my-1 bw-text-text-secondary\">\n via{\" \"}\n {item?.protocolsUsed?.length > 2\n ? item?.protocolsUsed.slice(0, 2).map((item, i, arr) => {\n return i == arr.length - 1 ? item : `${item + \" >> \"}`;\n }) + `+${item?.protocolsUsed?.length - 2}`\n : item?.protocolsUsed.map((item, i, arr) => {\n return i == arr.length - 1 ? item : `${item + \" >> \"}`;\n })}{\" \"}\n </p>\n <div className=\"bw-flex bw-items-center bw-gap-x-1\">\n <div className=\"bw-flex bw-items-center bw-gap-x-1\">\n <Step fill={\"var(--tw-text-secondary)\"} />\n <p className=\"bw-text-xs bw-font-normal bw-text-text-secondary\">{item.steps.length} Step</p>\n </div>\n <div className=\"bw-text-xs bw-font-normal bw-text-text-secondary\"> Slippage {item.slippage / 100}%</div>\n </div>\n </div>\n </div>\n <div className=\"bw-flex bw-flex-col bw-justify-between bw-w-full bw-items-end\">\n <div className=\"bw-flex bw-items-center bw-gap-x-2\">\n <div className={` bw-relative bw-rounded-[50%] bw-w-[21px] bw-h-[21px] bw-border bw-border-border-primary ${!item.to?.image ? \"\" : \"bw-bg-background-coin\"}`}>\n {item.to?.image ? <img src={item.to.image} width={20} height={20} alt=\"img\" className=\"bw-rounded-[50%] bw-max-w-[20px] bw-max-h-[20px] bw-object-contain\" /> : <img src={defaultCoin} width={20} height={20} alt=\"img\" className=\"bw-rounded-[50%]\" />}\n <div className={` bw-absolute bw-bottom-[-30%] bw-right-[-15%] bw-rounded-[50%] bw-w-[12px] bw-h-[12px] bw-border bw-border-border-primary ${!toChain?.image ? \"\" : \"bw-bg-background-coin\"}`}> {toChain?.image ? <img src={toChain.image} width={11} height={11} className=\"bw-rounded-[50%]\" alt=\"img\" /> : <img src={defaultCoin} width={11} height={11} className=\"bw-rounded-[50%]\" alt=\"img\" />}</div>\n </div>\n <p className=\"bw-text-lg bw-break-words bw-font-medium bw-text-text-primary\">\n <OutputValueComp value={outputVal} decimal={12} />\n </p>\n </div>\n <div className=\"bw-flex bw-text-xs bw-font-normal bw-mb-2 bw-items-center bw-gap-x-1\">\n <p className=\"bw-text-text-secondary\">\n $\n <OutputValueComp value={((item.outputAmountDisplay || \"\") * convertVal)?.toString() || \"\"} decimal={10} />\n </p>\n </div>\n <div className=\"bw-text-sm bw-flex bw-items-center bw-gap-x-2 bw-font-medium bw-text-text-secondary\">\n <div className=\"bw-flex bw-text-sm bw-items-center bw-gap-x-1\">\n <ClockIcon fill={\"var(--tw-text-secondary)\"} />\n <p> {item.estimatedTimeInSeconds >= 90 ? `${Math.round(truncate((item.estimatedTimeInSeconds || 60) / 60, 2) || 0)}min` : `${item?.estimatedTimeInSeconds || 60} secs`}</p>\n </div>\n <GasField item={item} gasImg={gasnew} fromChain={fromChain} />\n </div>\n </div>\n </div>\n </div>\n );\n })}\n </div>\n </div>\n );\n}\n","import truncate from \"../../../utils/truncate\";\nimport images from \"../../../images\";\nimport React, { useState, useEffect } from \"react\";\nimport useStore from \"../../../zustand/store\";\nimport Gas from \"../../Svg/gas\";\nimport ClockIcon from \"../../Svg/clockIcon\";\nimport Step from \"../../Svg/step\";\nimport Routes from \"../../Tooltip/Routes\";\nimport Maxop from \"../../Svg/maxop\";\nimport LowgasSvg from \"../../Svg/lowgas\";\nimport FastestSvg from \"../../Svg/fastest\";\nimport fixChar from \"../../../utils/fixChar\";\nimport formatNumber from \"../../../utils/formatNumber\";\nimport fixString from \"../../../utils/fixString\";\nimport OutputValueComp from \"../../OutputValueComp\";\nfunction GasField({ gasImg, item, fromChain }) {\n const [gas, setGas] = useState({});\n useEffect(() => {\n let tempGasObj = { amountInUSD: 0 };\n item?.fee?.forEach((item) => {\n if (item.source == \"FROM_SOURCE_WALLET\") {\n tempGasObj.amountInUSD += Number(item.amountInUSD);\n }\n });\n setGas(tempGasObj);\n }, [item]);\n return (\n <div className=\"bw-flex bw-text-sm bw-items-center bw-gap-x-1\">\n <Gas fill={\"var(--tw-text-secondary)\"} />\n <p>${fixString(gas?.amountInUSD || 0, 6) || 0}</p>\n </div>\n );\n}\nexport default function Fastest({ routes, handleShowAllRoutes, handleRoutesData, convertVal, fromChain, sort, toChain }) {\n const { gasnew, clockicon, step, maxop, fast, lowgas, defaultCoin } = images;\n const [recommendedGas, setRecommendedGas] = useState({});\n const [recommendedOp, setRecommendedOp] = useState({});\n const configuration = useStore((state) => state.configuration);\n function handleOpCalc(item, arr, i) {\n let opVal = truncate((item.estimatedTimeInSeconds || 60) / 60, 2) || 0;\n\n let firstOpVal = sort == \"asc\" ? truncate((arr[arr.length - 1].estimatedTimeInSeconds || 60) / 60, 2) || 0 : truncate((arr[0].estimatedTimeInSeconds || 60) / 60, 2) || 0;\n\n let lastOpVal = sort == \"asc\" ? truncate((arr[0].estimatedTimeInSeconds || 60) / 60, 2) || 0 : truncate((arr[arr.length - 1].estimatedTimeInSeconds || 60) / 60, 2) || 0;\n\n if ((i == 0 && sort !== \"asc\") || (i == arr.length - 1 && sort == \"asc\")) {\n return {\n val: (\n <p className=\"bw-text-[10px] bw-text-text-secondary bw-font-normal\">\n <span className=\"bw-text-text-greentext\">{`+${truncate(lastOpVal - firstOpVal || 0, 2)} Mins`}</span> Faster\n </p>\n ),\n isMax: true,\n };\n } else if ((i == arr.length - 1 && sort !== \"asc\") || (i === 0 && sort == \"asc\")) {\n return {\n val: (\n <p className=\"bw-text-[10px] bw-text-text-secondary bw-font-normal\">\n <span className={`${firstOpVal - lastOpVal === 0 ? \"bw-text-text-greentext\" : \"bw-bg-background-container\"}`}>{`${truncate(lastOpVal - firstOpVal, 2)} Mins`}</span> {firstOpVal - lastOpVal === 0 ? \"Faster\" : \"Slower\"}\n </p>\n ),\n isMax: firstOpVal - lastOpVal === 0 ? true : false,\n };\n } else {\n return {\n val: (\n <p className=\"bw-text-[10px] bw-text-text-secondary bw-font-normal\">\n <span className={`${firstOpVal - opVal === 0 ? \"bw-text-text-greentext\" : \"bw-bg-background-container\"}`}>{`${truncate(opVal - firstOpVal, 2)} Mins`}</span> {firstOpVal - opVal === 0 ? \"Faster\" : \"Slower\"}\n </p>\n ),\n isMax: firstOpVal - opVal === 0 ? true : false,\n };\n }\n }\n return (\n <div>\n <div className=\"bw-h-[410px] bw-pt-2 bw-overflow-y-auto\">\n {routes.data?.data?.quotes\n ?.sort((a, b) => {\n let opVal1 = truncate((a.estimatedTimeInSeconds || 60) / 60, 2) || 0;\n\n let opVal2 = truncate((b.estimatedTimeInSeconds || 60) / 60, 2) || 0;\n if (sort === \"asc\") {\n return opVal2 - opVal1;\n } else {\n return opVal1 - opVal2;\n }\n })\n .map((item, i, arr) => {\n const calculatedOpVal = handleOpCalc(item, arr, i);\n let outputVal = item?.outputAmountDisplay || \"\";\n let logoUrl = item?.providerDetails?.logoUrl?.length ? item?.providerDetails?.logoUrl : defaultCoin;\n return (\n <div\n key={i}\n onClick={() => {\n handleRoutesData(item);\n handleShowAllRoutes();\n }}\n className=\"bw-mb-4\"\n >\n <div\n style={{\n boxShadow: (configuration && configuration.customTheme && configuration.customTheme?.shadow?.boxShadow) || \"1px 1px 7px rgba(0, 0, 0, 0.15)\",\n }}\n className={` bw-w-[93%] bw-mt-3 bw-cursor-pointer bw-ml-auto bw-mr-2 bw-flex bw-mb-8 bw-items-center bw-px-2 bw-relative bw-rounded-lg bw-pt-3 bw-pb-3 bw-border bw-border-border-primary`}\n >\n <div className=\"bw-absolute bw-flex bw-items-center bw-gap-x-1 bw-bottom-[-10%] bw-self-center bw-right-[47%]\">\n {item.tags?.includes(\"FAST\") ? (\n <Routes name={\"Fastest\"}>\n <div className=\"bw-w-[20px] bw-h-[20px]\">\n <FastestSvg fill={\"var(--tw-background-container)\"} />\n </div>\n </Routes>\n ) : (\n <></>\n )}\n {item.tags?.includes(\"CHEAP\") ? (\n <Routes name={\"Lowest Gas\"}>\n <div className=\"bw-w-[20px] bw-h-[20px]\">\n <LowgasSvg fill={\"var(--tw-background-container)\"} />\n </div>\n </Routes>\n ) : (\n <></>\n )}\n {item.tags?.includes(\"BEST_OUTPUT\") ? (\n <Routes name={\"Max Output\"}>\n <div className=\"bw-w-[20px] bw-h-[20px]\">\n <Maxop fill={\"var(--tw-background-container)\"} />\n </div>\n </Routes>\n ) : (\n <></>\n )}\n </div>\n\n <div className=\"bw-w-[35px] bw-h-[35px] bw-absolute bw-z-50 bw-left-[-5%] bw-top-[-16%]\">\n <img src={logoUrl} className=\"bw-rounded-lg \" width={35} height={35} />\n </div>\n <div className=\"bw-absolute bw-text-[10px] bw-text-text-primary bw-font-normal bw-left-5 bw-top-1\">\n <span className={`${calculatedOpVal.color}`}>{calculatedOpVal?.val}</span>{\" \"}\n </div>\n <div className=\"bw-flex bw-w-full bw-mt-4 bw-justify-between bw-items-center\">\n <div>\n <p className=\"bw-text-xs bw-font-semibold bw-text-text-primary\">{item?.providerDetails?.name || \"\"}</p>\n\n <p className=\"bw-text-xs bw-font-normal bw-my-1 bw-text-text-secondary\">\n via{\" \"}\n {item?.protocolsUsed?.length > 2\n ? item?.protocolsUsed.slice(0, 2).map((item, i, arr) => {\n return i == arr.length - 1 ? item : `${item + \" >> \"}`;\n }) + `+${item?.protocolsUsed?.length - 2}`\n : item?.protocolsUsed.map((item, i, arr) => {\n return i == arr.length - 1 ? item : `${item + \" >> \"}`;\n })}{\" \"}\n </p>\n <div className=\"bw-flex bw-items-center bw-gap-x-1\">\n <div className=\"bw-flex bw-items-center bw-gap-x-1\">\n <Step fill={\"var(--tw-text-secondary)\"} />\n <p className=\"bw-text-xs bw-font-normal bw-text-text-secondary\">{item.steps.length} Step</p>\n </div>\n <div className=\"bw-text-xs bw-font-normal bw-text-text-secondary\"> Slippage {item.slippage / 100}%</div>\n </div>\n </div>\n </div>\n <div className=\"bw-flex bw-flex-col bw-justify-between bw-w-full bw-items-end\">\n <div className=\"bw-flex bw-items-center bw-gap-x-2\">\n <div className={` bw-relative bw-rounded-[50%] bw-w-[21px] bw-h-[21px] bw-border bw-border-border-primary ${!item?.to?.image ? \"\" : \"bw-bg-background-coin\"}`}>\n {item.to?.image ? <img src={item.to.image} width={20} height={20} alt=\"img\" className=\"bw-rounded-[50%] bw-max-w-[20px] bw-max-h-[20px] bw-object-contain\" /> : <img src={defaultCoin} width={20} height={20} alt=\"img\" className=\"bw-rounded-[50%]\" />}\n <div className={` bw-absolute bw-bottom-[-30%] bw-right-[-15%] bw-rounded-[50%] bw-w-[12px] bw-h-[12px] bw-border bw-border-border-primary ${!toChain?.image ? \"\" : \"bw-bg-background-coin\"}`}> {toChain?.image ? <img src={toChain.image} width={11} height={11} className=\"bw-rounded-[50%]\" alt=\"img\" /> : <img src={defaultCoin} width={11} height={11} className=\"bw-rounded-[50%]\" alt=\"img\" />}</div>\n </div>\n <p className=\"bw-text-lg bw-break-words bw-font-medium bw-text-text-primary\">\n <OutputValueComp value={outputVal} decimal={12} />\n </p>\n </div>\n <div className=\"bw-flex bw-text-xs bw-font-normal bw-mb-2 bw-items-center bw-gap-x-1\">\n <p className=\"bw-text-text-secondary\">\n $\n <OutputValueComp value={((item.outputAmountDisplay || \"\") * convertVal)?.toString() || \"\"} decimal={10} />\n </p>\n </div>\n <div className=\"bw-text-sm bw-flex bw-items-center bw-gap-x-2 bw-font-medium bw-text-text-secondary\">\n <div className=\"bw-flex bw-text-sm bw-items-center bw-gap-x-1\">\n <ClockIcon fill={\"var(--tw-text-secondary)\"} />\n <p>{item.estimatedTimeInSeconds >= 90 ? `${Math.round(truncate((item.estimatedTimeInSeconds || 60) / 60, 2)) || 0}min` : `${item?.estimatedTimeInSeconds || 60} secs`}</p>\n </div>\n <GasField item={item} gasImg={gasnew} fromChain={fromChain} />\n </div>\n </div>\n </div>\n </div>\n );\n })}\n </div>\n </div>\n );\n}\n","import Box from \"@mui/material/Box\";\nimport Tab from \"@mui/material/Tab\";\nimport TabContext from \"@mui/lab/TabContext\";\nimport TabList from \"@mui/lab/TabList\";\nimport TabPanel from \"@mui/lab/TabPanel\";\nimport React, { useState } from \"react\";\nimport images from \"../../../images\";\nimport SortUp from \"../../Svg/sortUp\";\nimport SortDown from \"../../Svg/sortDown\";\nimport MaxOutput from \"./maxOutput\";\nimport LowestGas from \"./lowestGas\";\nimport Fastest from \"./fastest\";\nimport Maxop from \"../../Svg/maxop\";\nimport FastestSvg from \"../../Svg/fastest\";\nimport LowgasSvg from \"../../Svg/lowgas\";\nimport useStore from \"../../../zustand/store\";\nconst Label1 = React.memo(function ({ maxOpSort, value }) {\n const { maxop } = images;\n const configuration = useStore((state) => state.configuration);\n return (\n <div className=\"bw-flex bw-items-center bw-gap-x-2\">\n <div className=\"bw-w-[16px] bw-h-[16px]\">\n <Maxop\n fill={\"var(--tw-background-container)\"}\n spinnerColor={configuration?.gradientStyle?.spinnerColor}\n stopColor={configuration?.gradientStyle?.stopColor}\n />\n </div>\n <span\n className={`bw-text-xs ${\n value == 1\n ? \"bw-text-text-primary bw-font-medium\"\n : \"bw-text-text-secondary bw-font-medium\"\n }`}\n >\n Max Output\n </span>\n <div className=\"bw-flex bw-gap-y-[2px] bw-items-center bw-flex-col bw-justify-center\">\n <SortUp\n isSelected={maxOpSort == \"asc\" ? true : false}\n fill={\"var(--tw-text-primary)\"}\n />\n <SortDown\n fill={\"var(--tw-text-primary)\"}\n isSelected={maxOpSort == \"desc\" ? true : false}\n />\n </div>\n </div>\n );\n});\nconst Label2 = React.memo(function ({ lowestGasSort, value }) {\n const { fast } = images;\n return (\n <div className=\"bw-flex bw-items-center bw-gap-x-2\">\n <div className=\"bw-w-[16px] bw-h-[16px]\">\n <LowgasSvg fill={\"var(--tw-background-container)\"} />\n </div>\n <span\n className={`bw-text-xs ${\n value == 2\n ? \"bw-text-text-primary bw-font-medium\"\n : \"bw-text-text-secondary bw-font-medium\"\n }`}\n >\n Lowest Gas\n </span>\n <div className=\"bw-flex bw-gap-y-[2px] bw-items-center bw-flex-col bw-justify-center\">\n <SortUp\n fill={\"var(--tw-text-primary)\"}\n isSelected={lowestGasSort === \"asc\" ? true : false}\n />\n <SortDown\n fill={\"var(--tw-text-primary)\"}\n isSelected={lowestGasSort === \"desc\" ? true : false}\n />\n </div>\n </div>\n );\n});\nconst Label3 = React.memo(function ({ fastestSort, value }) {\n const { lowgas } = images;\n return (\n <div className=\"bw-flex bw-items-center bw-gap-x-2\">\n <div className=\"bw-w-[16px] bw-h-[16px]\">\n <FastestSvg fill={\"var(--tw-background-container)\"} />\n </div>\n <span\n className={`bw-text-xs ${\n value == 3\n ? \"bw-text-text-primary bw-font-medium\"\n : \"bw-text-text-secondary bw-font-medium\"\n }`}\n >\n Fastest\n </span>\n <div className=\"bw-flex bw-gap-y-[2px] bw-items-center bw-flex-col bw-justify-center\">\n <SortUp\n fill={\"var(--tw-text-primary)\"}\n isSelected={fastestSort === \"asc\" ? true : false}\n />\n <SortDown\n fill={\"var(--tw-text-primary)\"}\n isSelected={fastestSort === \"desc\" ? true : false}\n />\n </div>\n </div>\n );\n});\nexport default function TabComp({\n routes,\n handleShowAllRoutes,\n handleRoutesData,\n convertVal,\n fromChain,\n toChain,\n}) {\n const [value, setValue] = useState(\"1\");\n const [maxOpSort, setMaxOpSort] = useState(\"none\");\n const [lowestGasSort, setLowestGasSort] = useState(\"none\");\n const [fastestSort, setFastestSort] = useState(\"none\");\n const configuration = useStore((state) => state.configuration);\n function handleValue(e, val) {\n setValue(val);\n }\n\n return (\n <TabContext value={value}>\n <Box\n sx={(theme) => ({\n borderBottom: 1,\n borderColor: \"var(--tw-border-primary)\",\n width: \"max-content\",\n [theme.breakpoints.down(\"sm\")]: { width: \"100%\", overflowX: \"auto\" },\n\n marginX: \"auto\",\n })}\n >\n <TabList\n TabIndicatorProps={{\n style: { background: \"var(--tw-text-secondary)\" },\n }}\n sx={(theme) => ({\n width: \"max-content\",\n [theme.breakpoints.down(\"sm\")]: {\n width: \"100%\",\n overflowX: \"auto\",\n },\n })}\n onChange={handleValue}\n aria-label=\"lab API tabs example\"\n >\n <Tab\n onClick={() => {\n if (value == \"1\")\n setMaxOpSort((prev) => {\n if (prev == \"none\") {\n return \"asc\";\n } else if (prev === \"asc\") {\n return \"desc\";\n } else {\n return \"none\";\n }\n });\n else return true;\n }}\n disableRipple\n sx={(theme) => ({\n textTransform: \"none\",\n paddingBottom: \"0px\",\n fontFamily: configuration?.customTheme?.fontFamily || \"lato\",\n width: \"120px\",\n paddingX: \"5px\",\n [theme.breakpoints.down(\"sm\")]: {\n minWidth: \"33%\",\n paddingX: \"auto\",\n },\n })}\n label={<Label1 maxOpSort={maxOpSort} value={value} />}\n value=\"1\"\n />\n <Tab\n onClick={() => {\n if (value == \"2\")\n setLowestGasSort((prev) => {\n if (prev == \"none\") {\n return \"asc\";\n } else if (prev === \"asc\") {\n return \"desc\";\n } else {\n return \"none\";\n }\n });\n else return true;\n }}\n disableRipple\n sx={(theme) => ({\n textTransform: \"none\",\n paddingBottom: \"0px\",\n fontFamily: configuration?.customTheme?.fontFamily || \"lato\",\n width: \"120px\",\n paddingX: \"5px\",\n paddingLeft: \"10px\",\n [theme.breakpoints.down(\"sm\")]: {\n minWidth: \"33%\",\n paddingX: \"auto\",\n paddingLeft: \"auto\",\n },\n })}\n label={<Label2 lowestGasSort={lowestGasSort} value={value} />}\n value=\"2\"\n />\n <Tab\n onClick={() => {\n if (value == \"3\")\n setFastestSort((prev) => {\n if (prev == \"none\") {\n return \"asc\";\n } else if (prev === \"asc\") {\n return \"desc\";\n } else {\n return \"none\";\n }\n });\n else return true;\n }}\n disableRipple\n sx={(theme) => ({\n textTransform: \"none\",\n paddingBottom: \"0px\",\n fontFamily: configuration?.customTheme?.fontFamily || \"lato\",\n width: \"110px\",\n paddingX: \"5px\",\n [theme.breakpoints.down(\"sm\")]: {\n minWidth: \"33%\",\n paddingX: \"auto\",\n },\n })}\n label={<Label3 fastestSort={fastestSort} value={value} />}\n value=\"3\"\n />\n </TabList>\n </Box>\n <TabPanel\n sx={{ paddingLeft: \"0px\", paddingRight: \"0px\", paddingTop: \"10px\" }}\n value=\"1\"\n >\n <MaxOutput\n routes={routes}\n handleRoutesData={handleRoutesData}\n handleShowAllRoutes={handleShowAllRoutes}\n convertVal={convertVal}\n fromChain={fromChain}\n sort={maxOpSort}\n toChain={toChain}\n />\n </TabPanel>\n <TabPanel\n sx={{ paddingLeft: \"0px\", paddingRight: \"0px\", paddingTop: \"10px\" }}\n value=\"2\"\n >\n <LowestGas\n routes={routes}\n handleRoutesData={handleRoutesData}\n handleShowAllRoutes={handleShowAllRoutes}\n convertVal={convertVal}\n fromChain={fromChain}\n sort={lowestGasSort}\n toChain={toChain}\n />\n </TabPanel>\n <TabPanel\n sx={{ paddingLeft: \"0px\", paddingRight: \"0px\", paddingTop: \"10px\" }}\n value=\"3\"\n >\n <Fastest\n routes={routes}\n handleRoutesData={handleRoutesData}\n handleShowAllRoutes={handleShowAllRoutes}\n convertVal={convertVal}\n fromChain={fromChain}\n sort={fastestSort}\n toChain={toChain}\n />\n </TabPanel>\n </TabContext>\n );\n}\n","\n\n\nexport default function RoutesBack({fill1,fill2}){\n return <svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"12.4758\" cy=\"12.4774\" r=\"11.9774\" transform=\"rotate(90 12.4758 12.4774)\" stroke={fill1}/>\n <path d=\"M14.4375 6.27832L8.45786 12.258L14.4122 18.2121\" stroke={fill2} stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n}","import truncate from \"../../utils/truncate\";\nimport TabComp from \"./TabComp\";\nimport RoutesBack from \"../Svg/routesBack\";\nimport useStore from \"../../zustand/store\";\nimport images from \"../../images\";\nimport fixString from \"../../utils/formatNumber\";\nexport default function AllRoutes({ routes, handleShowAllRoutes, handleRoutesData, convertVal, amount }) {\n const fromChain = useStore((state) => state.fromChain);\n const fromCoin = useStore((state) => state.fromCoin);\n const toChain = useStore((state) => state.toChain);\n const { defaultCoin } = images;\n return (\n <div>\n <div className=\"bw-flex bw-w-full bw-relative bw-justify-between bw-mb-2\">\n <div className=\"bw-flex bw-items-start bw-gap-x-3\">\n <button\n onClick={() => {\n handleShowAllRoutes();\n }}\n className=\"bw-mt-1\"\n >\n <RoutesBack fill1={\"var(--tw-background-secondary)\"} fill2={\"var(--tw-text-secondary)\"} />\n </button>\n <div className=\"bw-text-lg bw-font-normal bw-text-text-secondary\">\n <div className=\"\">\n <span className=\"\">{routes.data?.data?.quotes?.length || 0}</span> Routes For\n </div>{\" \"}\n <p className=\"bw-text-xs bw-font-bold bw-mt-2\">{`${fromCoin?.coin} on ${fromChain?.chain}`}</p>\n </div>\n </div>\n <div className=\" bw-flex bw-items-center bw-gap-x-2\">\n <div>\n <p className=\"bw-text-2xl bw-font-bold bw-mb-2 bw-leading-none bw-text-right bw-text-text-primary\">{amount}</p>\n <p className=\"bw-text-sm bw-font-bold bw-text-right bw-text-text-secondary\">${fixString(amount * fromCoin?.lastPrice || 0, 10)}</p>\n </div>\n <div className=\" bw-bg-background-coin bw-flex bw-justify-center bw-items-center bw-mb-2 bw-relative bw-rounded-[50%] bw-w-[35px] bw-h-[35px] bw-border bw-border-border-primary\">\n {fromCoin?.image ? <img src={fromCoin.image} width={34} height={34} alt=\"img\" className=\"bw-rounded-[50%] bw-max-w-[34px] bw-max-h-[34px] bw-object-contain bw-min-w-[34px] bw-h-[34px]\" /> : <img src={defaultCoin} width={34} height={34} alt=\"img\" className=\"bw-rounded-[50%] bw-min-w-[34px] bw-h-[34px]\" />}\n <div className=\"bw-bg-background-coin bw-absolute bw-bottom-[-30%] bw-right-4 bw-rounded-[50%] bw-w-[19px] bw-h-[19px] bw-border bw-border-border-primary\"> {fromCoin?.image ? <img src={fromChain.image} width={18} height={18} className=\"bw-rounded-[50%]\" alt=\"img\" /> : <img src={defaultCoin} width={18} height={18} className=\"bw-rounded-[50%]\" alt=\"img\" />}</div>\n </div>\n </div>\n </div>\n <TabComp routes={routes} handleShowAllRoutes={handleShowAllRoutes} handleRoutesData={handleRoutesData} convertVal={convertVal} fromChain={fromChain} toChain={toChain} />\n </div>\n );\n}\n"],"names":["_excluded","useUtilityClasses","styles","Tab","_jsxs","process","_jsx","TabScrollButton","Tabs","children","conditionalElements","isFragment","TabList","TabPanel","GasField","item","_a","_b","_c","i","arr","React","LowestGas","fixString"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]}