@orderly.network/trading 2.0.1-preview.3 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +28 -28
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +4 -4
- package/dist/index.mjs.map +1 -1
- package/package.json +17 -17
package/dist/index.js
CHANGED
|
@@ -12,7 +12,7 @@ var utils = require('@orderly.network/utils');
|
|
|
12
12
|
var uiConnector = require('@orderly.network/ui-connector');
|
|
13
13
|
var uiTransfer = require('@orderly.network/ui-transfer');
|
|
14
14
|
var uiLeverage = require('@orderly.network/ui-leverage');
|
|
15
|
-
var
|
|
15
|
+
var Bu = require('@uiw/react-split');
|
|
16
16
|
var uiChainSelector = require('@orderly.network/ui-chain-selector');
|
|
17
17
|
var uiTradingview = require('@orderly.network/ui-tradingview');
|
|
18
18
|
var uiOrderEntry = require('@orderly.network/ui-order-entry');
|
|
@@ -21,39 +21,39 @@ var uiScaffold = require('@orderly.network/ui-scaffold');
|
|
|
21
21
|
|
|
22
22
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
23
23
|
|
|
24
|
-
var
|
|
24
|
+
var Bu__default = /*#__PURE__*/_interopDefault(Bu);
|
|
25
25
|
|
|
26
|
-
var E=e=>{let[t,o]=hooks.useLocalStorage("unPnlPriceBasis","markPrice"),[i,r]=hooks.useLocalStorage("pnlNotionalDecimalPrecision",e?.pnlNotionalDecimalPrecision??2),[n,a]=hooks.useLocalStorage("showAllSymbol",!0),[s,l]=hooks.useLocalStorage("hideAssets",!1);return {unPnlPriceBasis:t,setUnPnlPriceBasic:o,pnlNotionalDecimalPrecision:i,setPnlNotionalDecimalPrecision:r,showAllSymbol:n,setShowAllSymbol:a,hideAssets:s,setHideAssets:l}};var Ie=e=>{let{showAllSymbol:t}=E(),[o]=hooks.usePositionStream(t?void 0:e),i=react.useMemo(()=>o.rows?.length,[o.rows?.length]);return {positionCount:reactApp.useDataTap(i)??0}};var Re=e=>{let {showAllSymbol:t}=E();`orderly_${uiOrders.TabType.pending}_pageSize`;`orderly_${uiOrders.TabType.tp_sl}_pageSize`;let [r,{total:n}]=hooks.useOrderStream({symbol:t?void 0:e,status:types.OrderStatus.INCOMPLETE,excludes:[types.AlgoOrderRootType.POSITIONAL_TP_SL,types.AlgoOrderRootType.TP_SL],size:500},{keeplive:!0}),[a,{total:s}]=hooks.useOrderStream({symbol:t?void 0:e,status:types.OrderStatus.INCOMPLETE,includes:[types.AlgoOrderRootType.POSITIONAL_TP_SL,types.AlgoOrderRootType.TP_SL],size:500},{keeplive:!0}),l=reactApp.useDataTap(n)??0,c=reactApp.useDataTap(s)??0;return {pendingOrderCount:l,tpSlOrderCount:c}};var _e=e=>({base_dp:e("base_dp"),quote_dp:e("quote_dp"),base_tick:e("base_tick"),base:e("base"),quote:e("quote")});var Ni=react.createContext({}),B=()=>react.useContext(Ni),ki=e=>{let t=hooks.useSymbolsInfo()[e.symbol];return jsxRuntime.jsx(Ni.Provider,{value:{...e,tabletMediaQuery:types.MEDIA_TABLET,symbolInfo:{..._e(t),symbol:e.symbol}},children:e.children})};var Di=e=>{let{current:t,tabletMediaQuery:o,pnlNotionalDecimalPrecision:i,sharePnLConfig:r,symbol:n,includedPendingOrder:a}=e,s=E({pnlNotionalDecimalPrecision:i}),{onSymbolChange:l}=B(),{positionCount:c}=Ie(e.symbol),{pendingOrderCount:u,tpSlOrderCount:m}=Re(e.symbol);return {current:t,tabletMediaQuery:o,sharePnLConfig:r,symbol:n,calcMode:s.unPnlPriceBasis,includedPendingOrder:a,...s,positionCount:c,pendingOrderCount:u,tpSlOrderCount:m,onSymbolChange:l}};var zt=e=>hooks.useMediaQuery(e.tabletMediaQuery)?jsxRuntime.jsx(jn,{...e}):jsxRuntime.jsx(ea,{...e}),jn=e=>jsxRuntime.jsxs(ui$1.Flex,{direction:"column",gap:2,width:"100%",itemAlign:"start",p:2,className:"oui-bg-base-9 oui-rounded-b-xl",children:[jsxRuntime.jsxs(ui$1.Flex,{width:"100%",justify:"between",children:[jsxRuntime.jsx(Bi,{classNames:{label:"oui-text-2xs oui-text-base-contrast-54",root:"oui-text-sm"},...e}),jsxRuntime.jsx(Li,{classNames:{label:"oui-text-2xs oui-text-base-contrast-54",root:"oui-text-sm"},...e})]}),jsxRuntime.jsx(ui$1.Divider,{className:"oui-w-full"}),jsxRuntime.jsxs(ui$1.Flex,{className:"oui-gap-[2px] oui-cursor-pointer",children:[jsxRuntime.jsx(ui$1.Checkbox,{id:"oui-checkbox-showAllInstruments",color:"white",checked:e.showAllSymbol,onCheckedChange:t=>{e.setShowAllSymbol(t);}}),jsxRuntime.jsx("label",{className:"oui-text-2xs oui-text-base-contrast-54 oui-cursor-pointer",htmlFor:"oui-checkbox-showAllInstruments",children:"Show all trading pairs"})]})]}),ea=e=>jsxRuntime.jsxs(ui$1.Flex,{py:2,px:3,gap:6,width:"100%",justify:"start",children:[jsxRuntime.jsx(Bi,{...e,classNames:{label:"oui-text-base-contrast-54"}}),jsxRuntime.jsx(Li,{...e,classNames:{label:"oui-text-base-contrast-54"}})]}),Bi=e=>{let t=typeof e.unrealPnL=="number"?e.unrealPnL>=0?"oui-text-trade-profit":"oui-text-trade-loss":"oui-text-base-contrast-80",o=typeof e.unrealPnL=="number"&&e.unrealPnlROI?e.unrealPnlROI>=0?"oui-text-success-darken":"oui-text-danger-darken":"oui-text-base-contrast-80";return jsxRuntime.jsx(ui$1.Statistic,{label:"Unreal. PnL",classNames:e.classNames,children:jsxRuntime.jsxs(ui$1.Flex,{gap:1,children:[jsxRuntime.jsx(ui$1.Text.numeral,{dp:e.pnlNotionalDecimalPrecision,rm:utils.Decimal.ROUND_DOWN,intensity:80,className:t,children:e.unrealPnL??"--"}),typeof e.unrealPnlROI<"u"&&jsxRuntime.jsx(ui$1.Text.numeral,{prefix:"(",suffix:")",rule:"percentages",size:"2xs",dp:e.pnlNotionalDecimalPrecision,rm:utils.Decimal.ROUND_DOWN,className:o,children:e.unrealPnlROI})]})})},Li=e=>jsxRuntime.jsx(ui$1.Statistic,{label:"Notional",classNames:e.classNames,children:jsxRuntime.jsx(ui$1.Text.numeral,{dp:e.pnlNotionalDecimalPrecision,rm:utils.Decimal.ROUND_DOWN,intensity:80,children:e.notional??"--"})});var Ai=e=>{let{pnlNotionalDecimalPrecision:t,unPnlPriceBasis:o,symbol:i,tabletMediaQuery:r}=e,n=o,[a]=hooks.usePositionStream(i,{calcMode:n}),s=reactApp.useDataTap(a.aggregated),l=s?.total_unreal_pnl,c=s?.unrealPnlROI,u=s?.notional,{showAllSymbol:m,setShowAllSymbol:d}=E();return {pnlNotionalDecimalPrecision:t,unrealPnL:l,unrealPnlROI:c,notional:u,tabletMediaQuery:r,showAllSymbol:m,setShowAllSymbol:d}};var Ee=e=>{let t=Ai(e);return jsxRuntime.jsx(zt,{...t})};var Wt=e=>{let[t,o]=react.useState(!1);return jsxRuntime.jsxs(ui$1.Flex,{gap:0,children:[jsxRuntime.jsxs(ui$1.Flex,{gap:1,children:[jsxRuntime.jsx(ui$1.Checkbox,{id:"oui-checkbox-showAllInstruments",color:"white",checked:e.showAllSymbol,onCheckedChange:i=>{e.setShowAllSymbol(i);}}),jsxRuntime.jsx("label",{className:"oui-text-xs oui-text-base-contrast-54 oui-cursor-pointer",htmlFor:"oui-checkbox-showAllInstruments",children:"Show all trading pairs"})]}),jsxRuntime.jsxs(ui$1.DropdownMenuRoot,{open:t,onOpenChange:o,children:[jsxRuntime.jsx(ui$1.DropdownMenuTrigger,{asChild:!0,children:jsxRuntime.jsx(ui$1.Button,{size:"xs",type:"button",variant:"contained",className:"oui-bg-transparent hover:oui-bg-transparent",children:jsxRuntime.jsx(ui$1.SettingFillIcon,{size:16,color:"white",opacity:1,className:"oui-text-white/[.36] hover:oui-text-white/80"})})}),jsxRuntime.jsx(ui$1.DropdownMenuContent,{className:"oui-px-5 oui-py-3 oui-w-[360px]",alignOffset:2,align:"end",children:jsxRuntime.jsxs("div",{className:"oui-flex oui-flex-col oui-text-sm",children:[jsxRuntime.jsx(ui$1.Text,{className:"oui-text-base oui-pb-3",children:"Portfolio Settings"}),jsxRuntime.jsx(ui$1.Divider,{}),jsxRuntime.jsx(ui$1.Text,{className:"oui-pb-3 oui-text-base-contrast-54 oui-mt-2",children:"Decimal Precision for PnL & Notional"}),jsxRuntime.jsx(da,{value:e.pnlNotionalDecimalPrecision,onValueChange:i=>{e.setPnlNotionalDecimalPrecision(i),o(!1);}}),jsxRuntime.jsx(ui$1.Divider,{className:"oui-my-3"}),jsxRuntime.jsx(ui$1.Text,{className:"oui-pb-3 oui-text-base-contrast-54 oui-mt-2",children:"Unrealized PnL Price Basis"}),jsxRuntime.jsx(ma,{value:e.unPnlPriceBasis,onValueChange:i=>{e.setUnPnlPriceBasic(i),o(!1);}})]})})]})]})},ma=e=>{let{value:t,onValueChange:o}=e;return jsxRuntime.jsxs(ui$1.Flex,{gap:2,children:[jsxRuntime.jsx(He,{sel:t==="markPrice",label:"Mark price",value:"markPrice",onCheckChange:o}),jsxRuntime.jsx(He,{sel:t==="lastPrice",label:"Last price",value:"lastPrice",onCheckChange:o})]})},da=e=>{let{value:t,onValueChange:o}=e;return jsxRuntime.jsxs(ui$1.Flex,{gap:2,children:[jsxRuntime.jsx(He,{sel:t===0,label:1,value:0,onCheckChange:o}),jsxRuntime.jsx(He,{sel:t===1,label:.1,value:1,onCheckChange:o}),jsxRuntime.jsx(He,{sel:t===2,label:.01,value:2,onCheckChange:o})]})},He=e=>{let{sel:t,label:o,value:i,onCheckChange:r}=e;return jsxRuntime.jsxs(ui$1.Flex,{onClick:n=>{r(i),n.stopPropagation();},gap:1,className:"oui-cursor-pointer",children:[t?jsxRuntime.jsx(fa,{}):jsxRuntime.jsx(ga,{}),jsxRuntime.jsx(ui$1.Text,{size:"2xs",intensity:t?98:54,children:o})]})},fa=()=>jsxRuntime.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",className:"oui-fill-white",children:[jsxRuntime.jsx("path",{d:"M8.01 1.333a6.667 6.667 0 1 0 0 13.333 6.667 6.667 0 0 0 0-13.333m0 1.333a5.334 5.334 0 1 1-.001 10.667 5.334 5.334 0 0 1 0-10.667",fill:"#fff",fillOpacity:".36"}),jsxRuntime.jsx("circle",{cx:"8",cy:"8",r:"3.333"})]}),ga=()=>jsxRuntime.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{d:"M8.01 1.333a6.667 6.667 0 1 0 0 13.333 6.667 6.667 0 0 0 0-13.333m0 1.333a5.334 5.334 0 1 1-.001 10.667 5.334 5.334 0 0 1 0-10.667",fill:"#fff",fillOpacity:".54"})});var Oi=e=>{let{pnlNotionalDecimalPrecision:t,setPnlNotionalDecimalPrecision:o,unPnlPriceBasis:i,setUnPnlPriceBasic:r,showAllSymbol:n,setShowAllSymbol:a}=e;return {pnlNotionalDecimalPrecision:t,setPnlNotionalDecimalPrecision:o,unPnlPriceBasis:i,setUnPnlPriceBasic:r,showAllSymbol:n,setShowAllSymbol:a}};var Et=e=>{let t=Oi(e);return jsxRuntime.jsx(Wt,{...t})};var Vt=e=>jsxRuntime.jsxs(ui$1.Tabs,{defaultValue:e.current||"Positions",variant:"contained",trailing:jsxRuntime.jsx(Et,{pnlNotionalDecimalPrecision:e.pnlNotionalDecimalPrecision,setPnlNotionalDecimalPrecision:e.setPnlNotionalDecimalPrecision,unPnlPriceBasis:e.unPnlPriceBasis,setUnPnlPriceBasic:e.setUnPnlPriceBasic,showAllSymbol:e.showAllSymbol,setShowAllSymbol:e.setShowAllSymbol}),size:"lg",className:"oui-h-full",classNames:{tabsContent:"oui-h-[calc(100%_-_32px)]"},children:[jsxRuntime.jsx(ui$1.TabPanel,{testid:"oui-testid-dataList-position-tab",value:"Positions",title:(e.positionCount??0)>0?`Positions(${e.positionCount})`:"Positions",children:jsxRuntime.jsx(Pa,{...e})}),jsxRuntime.jsx(ui$1.TabPanel,{testid:"oui-testid-dataList-pending-tab",value:"Pending",title:(e.pendingOrderCount??0)>0?`Pending(${e.pendingOrderCount})`:"Pending",children:jsxRuntime.jsx(uiOrders.DesktopOrderListWidget,{type:uiOrders.TabType.pending,ordersStatus:types.OrderStatus.INCOMPLETE,symbol:e.showAllSymbol?void 0:e.symbol,onSymbolChange:e.onSymbolChange,testIds:{tableBody:"oui-testid-dataList-pending-table-body"}})}),jsxRuntime.jsx(ui$1.TabPanel,{testid:"oui-testid-dataList-tpsl-tab",value:"TP/SL",title:(e.tpSlOrderCount??0)>0?`TP/SL(${e.tpSlOrderCount})`:"TP/SL",children:jsxRuntime.jsx(uiOrders.DesktopOrderListWidget,{type:uiOrders.TabType.tp_sl,ordersStatus:types.OrderStatus.INCOMPLETE,symbol:e.showAllSymbol?void 0:e.symbol,onSymbolChange:e.onSymbolChange,testIds:{tableBody:"oui-testid-dataList-tpsl-table-body"}})}),jsxRuntime.jsx(ui$1.TabPanel,{testid:"oui-testid-dataList-filled-tab",value:"Filled",title:"Filled",children:jsxRuntime.jsx(uiOrders.DesktopOrderListWidget,{type:uiOrders.TabType.filled,symbol:e.showAllSymbol?void 0:e.symbol,pnlNotionalDecimalPrecision:e.pnlNotionalDecimalPrecision,ordersStatus:types.OrderStatus.FILLED,onSymbolChange:e.onSymbolChange,testIds:{tableBody:"oui-testid-dataList-filled-table-body"}})}),jsxRuntime.jsx(ui$1.TabPanel,{testid:"oui-testid-dataList-positionHistory-tab",value:"Position history",title:"Position history",children:jsxRuntime.jsx(uiPositions.PositionHistoryWidget,{symbol:e.showAllSymbol?void 0:e.symbol,onSymbolChange:e.onSymbolChange})}),jsxRuntime.jsx(ui$1.TabPanel,{testid:"oui-testid-dataList-orderHistory-tab",value:"Order history",title:"Order history",children:jsxRuntime.jsx(uiOrders.DesktopOrderListWidget,{type:uiOrders.TabType.orderHistory,pnlNotionalDecimalPrecision:e.pnlNotionalDecimalPrecision,symbol:e.showAllSymbol?void 0:e.symbol,onSymbolChange:e.onSymbolChange,testIds:{tableBody:"oui-testid-dataList-orderHistory-table-body"}})}),jsxRuntime.jsx(ui$1.TabPanel,{testid:"oui-testid-dataList-liquidation-tab",value:"Liquidation",title:"Liquidation",children:jsxRuntime.jsx(uiPositions.LiquidationWidget,{symbol:e.showAllSymbol?void 0:e.symbol})})]}),Pa=e=>jsxRuntime.jsxs(ui$1.Flex,{direction:"column",width:"100%",height:"100%",children:[jsxRuntime.jsx(Ee,{pnlNotionalDecimalPrecision:e.pnlNotionalDecimalPrecision,symbol:e.showAllSymbol?void 0:e.symbol,unPnlPriceBasis:e.unPnlPriceBasis,tabletMediaQuery:e.tabletMediaQuery}),jsxRuntime.jsx(ui$1.Divider,{className:"oui-w-full"}),jsxRuntime.jsx(ui$1.Box,{className:"oui-h-[calc(100%_-_60px)]",width:"100%",children:jsxRuntime.jsx(uiPositions.PositionsWidget,{symbol:e.showAllSymbol?void 0:e.symbol,pnlNotionalDecimalPrecision:e.pnlNotionalDecimalPrecision,sharePnLConfig:e.sharePnLConfig,calcMode:e.calcMode,includedPendingOrder:e.includedPendingOrder,onSymbolChange:e.onSymbolChange})})]});var qt=e=>{let t=Di({...e});return jsxRuntime.jsx(Vt,{...t})};var Qt=e=>jsxRuntime.jsxs(ui$1.Box,{className:ui$1.cn("oui-grid oui-grid-rows=[auto,1fr] oui-h-full oui-w-full",e.classNames?.root),style:e.style,children:[jsxRuntime.jsx(ui$1.Box,{className:"oui-pr-1",children:jsxRuntime.jsx(Da,{base:e.base,quote:e.quote,className:e.classNames?.listHeader})}),jsxRuntime.jsx(Fa,{data:e.data,isLoading:e.isLoading,baseDp:e.baseDp,quoteDp:e.quoteDp,classNames:e.classNames?.listItem,className:e.classNames?.list})]}),Wi=e=>{let{key:t,left:o,mid:i,right:r,classNames:n}=e;return jsxRuntime.jsxs(ui$1.Grid,{cols:3,gapX:2,width:"100%",className:ui$1.cn("oui-text-xs oui-tabular-nums",n?.root),children:[jsxRuntime.jsx("div",{className:ui$1.cn("oui-flex-1",n?.left),children:o}),jsxRuntime.jsx("div",{className:ui$1.cn("oui-flex-1",n?.mid),children:i}),jsxRuntime.jsx("div",{className:ui$1.cn("oui-flex-1 oui-text-right",n?.right),children:r})]},t)},Da=e=>jsxRuntime.jsx(Wi,{left:"Time",mid:`Price(${e.quote})`,right:`Qty(${e.base})`,classNames:{root:ui$1.cn("oui-text-base-contrast-54 oui-h-[32px] oui-sticky",e.className)}}),Fa=e=>jsxRuntime.jsx(ui$1.ListView,{dataSource:e.data,className:ui$1.cn("oui-last-trades-list","oui-w-full oui-h-full",e.className,"oui-overflow-auto"),contentClassName:"!oui-space-y-0 oui-pr-[-4px]",renderItem:(t,o)=>jsxRuntime.jsx(Wi,{left:jsxRuntime.jsx(ui$1.Text.formatted,{rule:"date",formatString:"HH:mm:ss",children:t?.ts}),mid:utils.commifyOptional(t?.price,{fix:e.quoteDp}),right:utils.commifyOptional(t?.size,{fix:e.baseDp}),classNames:{left:ui$1.cn("oui-text-base-contrast-80",e.classNames?.left),right:ui$1.cn(t.side===types.OrderSide.BUY?"oui-text-trade-profit":"oui-text-trade-loss",e.classNames?.mid),mid:ui$1.cn(t.side===types.OrderSide.BUY?"oui-text-trade-profit":"oui-text-trade-loss",e.classNames?.right)}},o)});var Hi=e=>{let{data:t,isLoading:o}=hooks.useMarketTradeStream(e),i=hooks.useSymbolsInfo()?.[e],r=i?.("base"),n=i?.("quote"),a=i?.("base_dp"),s=i?.("quote_dp");return {base:r,quote:n,data:t,isLoading:o,baseDp:a,quoteDp:s}};var Ne=e=>{let t=Hi(e.symbol);return jsxRuntime.jsx(Qt,{...t,classNames:e.classNames,style:e.style})};function Vi(e){return e.showFaucet?jsxRuntime.jsx(ui$1.Button,{variant:"outlined",fullWidth:!0,size:"md",onClick:e.getFaucet,loading:e.loading,className:"oui-text-primary-light oui-border-primary-light oui-rounded","data-testid":"oui-testid-assetView-getFaucet-button",children:"Get test USDC"}):null}function Qi(){let{connectedChain:e,namespace:t}=hooks.useWalletConnector(),{state:o,account:i}=hooks.useAccount(),r=hooks.useConfig(),n=r.get("operatorUrl"),[a,{isMutating:s}]=hooks.useMutation(`${n}/v1/faucet/usdc`),[l,c]=react.useState(!1),u=react.useMemo(()=>!e||!e.id?!1:o.status===types.AccountStatusEnum.EnableTrading&&utils.isTestnet(parseInt(e.id)),[o,e]);return {getFaucet:()=>{if(l)return;c(!0);let d=`${t===types.ChainNamespace.solana?"100":"1,000"} USDC will be added to your balance. Please note this may take up to 3 minutes. Please check back later.`;return a({chain_id:i.walletAdapter?.chainId.toString(),user_address:o.address,broker_id:r.get("brokerId")}).then(x=>{if(c(!1),x.success)return ui$1.modal.alert({title:"Get test USDC",message:d,onOk:()=>new Promise(y=>y(!0))});x.message&&ui$1.toast.error(x.message);},x=>{ui$1.toast.error(x.message);})},showFaucet:u,loading:l}}function Ut(){let e=Qi();return jsxRuntime.jsx(Vi,{...e})}var rs=()=>{let{state:e}=hooks.useAccount(),{wrongNetwork:t}=reactApp.useAppContext();return react.useMemo(()=>{if(t)return {title:"Wrong Network",description:"Please switch to a supported network to continue.",titleColor:"warning"};switch(e.status){case types.AccountStatusEnum.NotConnected:return {title:"Connect wallet",description:"Please connect your wallet before starting to trade.",titleClsName:"oui-text-transparent oui-bg-clip-text oui-gradient-brand"};case types.AccountStatusEnum.NotSignedIn:return {title:"Sign in",description:"Please sign in before starting to trade.",titleColor:"primary"};case types.AccountStatusEnum.DisabledTrading:return {title:"Enable trading",description:"Enable trading before starting to trade.",titleColor:"primary"};default:return {title:"",description:""}}},[e.status,t])},Zt=({description:e,formula:t})=>jsxRuntime.jsxs("div",{className:"oui-leading-[1.5] oui-text-2xs oui-text-base-contrast-80 oui-min-w-[204px] oui-max-w-[240px]",children:[jsxRuntime.jsx("span",{children:e}),jsxRuntime.jsx(ui$1.Divider,{className:"oui-border-white/10",my:2}),jsxRuntime.jsx("span",{children:t})]}),ns=({totalValue:e,visible:t=!0,onToggleVisibility:o})=>jsxRuntime.jsxs(ui$1.Flex,{direction:"column",gap:1,className:"oui-text-2xs",itemAlign:"center",children:[jsxRuntime.jsx(ui$1.Text.numeral,{visible:t,weight:"bold",size:"2xl",className:ui$1.gradientTextVariants({color:"brand"}),as:"div",padding:!1,dp:2,children:e??"--"}),jsxRuntime.jsxs(ui$1.Flex,{gap:1,itemAlign:"center",children:[jsxRuntime.jsx(ui$1.Text,{size:"2xs",color:"neutral",weight:"semibold",children:"My Assets (USDC)"}),jsxRuntime.jsx("button",{onClick:o,children:t?jsxRuntime.jsx(ui$1.EyeIcon,{size:18,className:"oui-text-base-contrast-54"}):jsxRuntime.jsx(ui$1.EyeCloseIcon,{size:18,className:"oui-text-base-contrast-54"})})]})]}),Kt=({label:e,description:t,formula:o,visible:i,value:r,unit:n,rule:a,isConnected:s,showPercentage:l=!1,placeholder:c})=>jsxRuntime.jsxs(ui$1.Flex,{justify:"between",children:[jsxRuntime.jsx(ui$1.Tooltip,{content:jsxRuntime.jsx(Zt,{description:t,formula:o}),children:jsxRuntime.jsx(ui$1.Text,{size:"2xs",color:"neutral",weight:"semibold",className:"oui-cursor-pointer oui-border-b oui-border-dashed oui-border-line-12",children:e})}),jsxRuntime.jsx(ui$1.Text.numeral,{visible:i,size:"2xs",unit:n,unitClassName:"oui-text-base-contrast-36 oui-ml-0.5",as:"div",rule:a,padding:!1,dp:2,placeholder:c,children:r||"--"})]}),as=({visible:e=!0,freeCollateral:t,marginRatioVal:o,renderMMR:i,isConnected:r})=>{let[n,a]=hooks.useLocalStorage("orderly_entry_asset_list_open",!1),[s,l]=react.useState(n),c=react.useCallback(()=>{l(u=>!u),setTimeout(()=>{a(!s);},0);},[]);return jsxRuntime.jsxs(ui$1.Box,{className:"oui-group",children:[jsxRuntime.jsxs(ui$1.Flex,{justify:"center",gap:1,itemAlign:"center",className:"oui-cursor-pointer",onClick:c,children:[jsxRuntime.jsx(ui$1.Divider,{className:"oui-flex-1"}),jsxRuntime.jsx(ui$1.ChevronDownIcon,{size:12,color:"white",className:ui$1.cn("oui-transition-transform",s&&"oui-rotate-180")}),jsxRuntime.jsx(ui$1.Divider,{className:"oui-flex-1"})]}),jsxRuntime.jsxs(ui$1.Box,{style:{transform:"translateZ(0)"},className:ui$1.cn("oui-space-y-1.5 oui-select-none oui-overflow-hidden","oui-transition-[max-height] oui-duration-150","group-hover:oui-will-change-[max-height]",s?"oui-max-h-[69px]":"oui-max-h-0"),children:[jsxRuntime.jsx(Kt,{label:"Free collateral",description:"Free collateral for placing new orders.",formula:"Free collateral = Total balance + Total unsettlement PnL - Total position initial margin",visible:e,value:t===0?"0":t,unit:"USDC"}),jsxRuntime.jsx(Kt,{label:"Margin ratio",description:"The margin ratio represents the proportion of collateral relative to the total position value.",formula:"Account margin ratio = (Total collateral value / Total position notional) * 100%",visible:e,value:o,isConnected:r,rule:"percentages",showPercentage:!0,placeholder:"--%"}),jsxRuntime.jsx(Kt,{label:"Maintenance margin ratio",description:"The minimum margin ratio required to protect your positions from being liquidated. If the Margin ratio falls below the Maintenance margin ratio, the account will be liquidated.",formula:"Account maintenance margin ratio = Sum(Position notional * Symbol maintenance Margin Ratio) / Total position notional * 100%",visible:e,value:i,rule:"percentages",showPercentage:!0,placeholder:"--%"})]})]})},Yt=({networkId:e,isFirstTimeDeposit:t,totalValue:o,onDeposit:i,onWithdraw:r,toggleVisible:n,visible:a,freeCollateral:s,marginRatioVal:l,renderMMR:c,isConnected:u})=>{let{title:m,description:d,titleColor:x,titleClsName:y}=rs();return jsxRuntime.jsxs(ui$1.Box,{className:"oui-relative",children:[m&&d&&jsxRuntime.jsxs(ui$1.Flex,{direction:"column",gap:1,className:"oui-mb-[32px]",children:[jsxRuntime.jsx(ui$1.Text,{size:"lg",weight:"bold",color:x||"inherit",className:y,children:m}),jsxRuntime.jsx(ui$1.Text,{size:"2xs",color:"neutral",weight:"semibold",className:"oui-text-center",children:d})]}),jsxRuntime.jsx(uiConnector.AuthGuard,{networkId:e,status:types.AccountStatusEnum.EnableTrading,buttonProps:{size:"md",fullWidth:!0},children:t?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui$1.Box,{children:jsxRuntime.jsxs(ui$1.Flex,{direction:"column",gap:1,className:"oui-mb-[32px]",children:[jsxRuntime.jsx(ui$1.Text.gradient,{size:"lg",weight:"bold",color:"brand",children:"Deposit to start trade"}),jsxRuntime.jsx(ui$1.Text,{size:"2xs",color:"neutral",weight:"semibold",children:"You can deposit assets from various networks"})]})}),jsxRuntime.jsxs(ui$1.Button,{"data-testid":"oui-testid-assetView-deposit-button",fullWidth:!0,size:"md",onClick:i,children:[jsxRuntime.jsx(ui$1.ArrowDownShortIcon,{color:"white",opacity:1}),jsxRuntime.jsx(ui$1.Text,{children:"Deposit"})]}),jsxRuntime.jsx(ui$1.Box,{className:"oui-mt-3",children:jsxRuntime.jsx(Ut,{})})]}):jsxRuntime.jsxs(ui$1.Box,{className:"oui-space-y-4",children:[jsxRuntime.jsx(ns,{totalValue:o,visible:a,onToggleVisibility:n}),jsxRuntime.jsx(as,{visible:a,freeCollateral:s,marginRatioVal:l,renderMMR:c,isConnected:u}),jsxRuntime.jsxs(ui$1.Flex,{gap:3,itemAlign:"center",children:[jsxRuntime.jsxs(ui$1.Button,{fullWidth:!0,color:"secondary",size:"md",onClick:r,"data-testid":"oui-testid-assetView-withdraw-button",children:[jsxRuntime.jsx(ui$1.ArrowDownShortIcon,{color:"white",opacity:1,className:"oui-rotate-180"}),jsxRuntime.jsx(ui$1.Text,{children:"Withdraw"})]}),jsxRuntime.jsxs(ui$1.Button,{"data-testid":"oui-testid-assetView-deposit-button",fullWidth:!0,size:"md",onClick:i,children:[jsxRuntime.jsx(ui$1.ArrowDownShortIcon,{color:"white",opacity:1}),jsxRuntime.jsx(ui$1.Text,{children:"Deposit"})]})]}),jsxRuntime.jsx(Ut,{})]})}),jsxRuntime.jsx("div",{className:"oui-pointer-events-none oui-rotate-180 oui-rounded-2xl oui-blur-[200px] oui-top-0 oui-bottom-0 oui-left-0 oui-right-0 oui-absolute",style:{background:"conic-gradient(from -40.91deg at 40.63% 50.41%, rgba(159, 115, 241, 0) -48.92deg, rgba(242, 98, 181, 0) 125.18deg, #5FC5FF 193.41deg, #FFAC89 216.02deg, #8155FF 236.07deg, #789DFF 259.95deg, rgba(159, 115, 241, 0) 311.08deg, rgba(242, 98, 181, 0) 485.18deg)"}})]})};var jt=()=>{let{state:e}=hooks.useAccount(),{wrongNetwork:t}=reactApp.useAppContext(),{totalValue:o}=hooks.useCollateral({dp:2}),i=t||e.status<types.AccountStatusEnum.EnableTrading,r=react.useMemo(()=>{let a=new Date,s=new Date;s.setDate(a.getDate()-90);let l=s.getTime(),c=a.getTime(),u=new URLSearchParams;return u.set("page","1"),u.set("size","5"),u.set("side","DEPOSIT"),u.set("status","COMPLETED"),u.set("startTime",l.toString()),u.set("endTime",c.toString()),`/v1/asset/history?${u.toString()}`},[]),{data:n}=hooks.usePrivateQuery(r,{formatter:a=>a});return {isFirstTimeDeposit:!i&&o===0&&n?.meta?.total===0,totalValue:o}},Yi=()=>{let e=hooks.useAccountInstance(),t=hooks.useMediaQuery(types.MEDIA_TABLET),{isFirstTimeDeposit:o,totalValue:i}=jt(),r=hooks.useConfig("networkId"),{state:n}=hooks.useAccount(),{freeCollateral:a}=hooks.useCollateral({dp:2}),{marginRatio:s,mmr:l}=hooks.useMarginRatio(),c=n.status>=types.AccountStatusEnum.Connected,[{aggregated:u,totalUnrealizedROI:m},d]=hooks.usePositionStream(),x=react.useMemo(()=>Math.min(10,u.notional===0?d.margin_ratio(10):s),[s,u]);react.useMemo(()=>l?new utils.Decimal(l).mul(100).todp(2,0).toFixed(2):"",[l]);let C=react.useCallback(async w=>{let O;return t?O=await ui$1.modal.show(uiTransfer.DepositAndWithdrawWithSheetId,{activeTab:w}):O=await ui$1.modal.show(uiTransfer.DepositAndWithdrawWithDialogId,{activeTab:w}),O},[t]),D=react.useCallback(async()=>C("deposit"),[t]),h=hooks.useEventEmitter(),v=react.useCallback(async()=>C("withdraw"),[t]),b=react.useCallback(async()=>e.settle().catch(w=>{if(w.code===-1104)return ui$1.toast.error("Settlement is only allowed once every 10 minutes. Please try again later."),Promise.reject(w)}).then(w=>(ui$1.toast.success("Settlement requested"),Promise.resolve(w))),[e]),[k,ee]=hooks.useLocalStorage("orderly_assets_visible",!0),M=react.useCallback(()=>{ee(w=>!w);},[k]);hooks.useWalletSubscription({onMessage:w=>{let{side:O,transStatus:_}=w;if(_==="COMPLETED"){let U=`${utils.capitalizeString(O)} completed`;ui$1.toast.success(U);}else if(_==="FAILED"){let U=`${utils.capitalizeString(O)} failed`;ui$1.toast.error(U);}h.emit("wallet:changed",w);}}),hooks.useSettleSubscription({onMessage:w=>{let{status:O}=w;switch(O){case"COMPLETED":ui$1.toast.success("Settlement completed");break;case"FAILED":ui$1.toast.error("Settlement failed");break;}}});let ce=reactApp.useDataTap(a)??void 0,Y=reactApp.useDataTap(x)??void 0,te=reactApp.useDataTap(l)??void 0,Te=reactApp.useDataTap(i)??void 0;return {onDeposit:D,onWithdraw:v,onSettle:b,visible:k,toggleVisible:M,networkId:r,isFirstTimeDeposit:o,totalValue:Te,status:n.status,freeCollateral:ce,marginRatioVal:Y,renderMMR:te,isConnected:c}};var eo=()=>{let e=Yi();return jsxRuntime.jsx(Yt,{...e})};var at=react.createContext({cellHeight:22}),q=()=>react.useContext(at),st=e=>{let[t,o]=react.useState("quantity"),[i,r]=react.useState("quantity");return jsxRuntime.jsx(at.Provider,{value:{cellHeight:e.cellHeight,onItemClick:e.onItemClick,mode:t,totalMode:i||"quantity",depth:e.depth,onModeChange:o,onTotalModeChange:r,showTotal:e.showTotal||!1,pendingOrders:e.pendingOrders,symbolInfo:e.symbolInfo,tabletMediaQuery:e.tabletMediaQuery},children:e.children})};var lt=e=>{let{direction:t=1}=e,o=react.useMemo(()=>{let i=Math.max(e.width,0);return t===0?{transform:`translateX(${i}%)`}:{transform:`translateX(-${i}%)`}},[e.width]);return jsxRuntime.jsx("div",{className:ui$1.cn("oui-absolute oui-right-[-100%] oui-top-0 oui-h-full oui-w-full oui-transition-transform oui-pointer-events-none",t===0&&"oui-left-[-100%]",e.className),style:o})};var tr=e=>{let{cellHeight:t,showTotal:o,onItemClick:i,depth:r,pendingOrders:n}=q(),{symbolInfo:a,currentHover:s}=e,{base_dp:l,quote_dp:c}=a,u=Number.isNaN(e.price)?0:e.accumulated/e.count*100,m=react.useMemo(()=>utils.getPrecisionByNumber(r||`${c}`),[r,c]),d=Number.isNaN(e.accumulated)?"-":e.accumulatedAmount?.toString(),x=react.useMemo(()=>{let y=ui$1.parseNumber(e.price,{dp:m,padding:!0});return n.findIndex(D=>y===ui$1.parseNumber(D,{dp:m,padding:!0}))!==-1},[n,e.price,r]);return jsxRuntime.jsxs("div",{className:"oui-flex oui-flex-row oui-pl-3 oui-tabular-nums oui-justify-between oui-text-base-contrast-80 oui-text-xs oui-relative oui-cursor-pointer",style:{height:`${t}px`},onClick:()=>{Number.isNaN(e.price)||Number.isNaN(e.quantity)||i?.([e.price,e.quantity]);},onMouseEnter:e.onMouseEnter,onMouseLeave:e.onMouseLeave,children:[jsxRuntime.jsxs("div",{className:ui$1.cn("oui-basis-7/12 oui-flex oui-flex-row oui-items-center oui-mr-2",o&&"oui-basis-5/12"),children:[jsxRuntime.jsx("div",{className:ui$1.cn("oui-flex-1 oui-text-left",e.type==="ask"?"oui-text-trade-loss":"oui-text-trade-profit"),children:jsxRuntime.jsx(ui$1.Text.numeral,{dp:m,children:e.price})}),jsxRuntime.jsx("div",{className:"oui-flex-1 oui-text-right oui-text-base-contrast-80",children:jsxRuntime.jsx(ui$1.Text.numeral,{dp:l,children:e.quantity})})]}),jsxRuntime.jsxs("div",{className:ui$1.cn("oui-basis-5/12 oui-flex oui-items-center oui-fex-row oui-overflow-hidden oui-relative oui-justify-end",o&&"oui-basis-7/12"),children:[jsxRuntime.jsx("div",{className:ui$1.cn("oui-flex-1 oui-pr-3 oui-text-right",o&&"oui-pr-3"),children:jsxRuntime.jsx(ui$1.Text.numeral,{dp:l,className:"oui-z-10",children:e.accumulated})}),o&&jsxRuntime.jsx("div",{className:"oui-flex-1 oui-text-right oui-pr-3",children:jsxRuntime.jsx(ui$1.Text.numeral,{dp:2,className:"oui-z-10",children:d})}),jsxRuntime.jsx(lt,{width:u,direction:0,className:e.type==="ask"?"oui-bg-trade-loss/10":"oui-bg-trade-profit/10"})]}),x&&jsxRuntime.jsx("div",{className:ui$1.cn("oui-absolute oui-rounded-full oui-left-[4px] oui-h-[4px] oui-w-[4px] oui-pointer-events-none",e.type==="ask"&&"oui-bg-trade-loss",e.type==="bid"&&"oui-bg-trade-profit"),style:{top:`${t/2-2}px`}}),e.isHover&&jsxRuntime.jsx("div",{className:"oui-absolute oui-bg-white oui-left-0 oui-right-0 oui-top-0 oui-bottom-0 oui-opacity-[.12]"}),s&&jsxRuntime.jsx("div",{className:ui$1.cn("oui-absolute oui-left-0 oui-right-0",e.type==="ask"&&"oui-top-0",e.type==="bid"&&"oui-bottom-0"),children:jsxRuntime.jsx(ui$1.Divider,{lineStyle:"dashed",className:ui$1.cn("oui-w-full",e.type==="bid"&&"oui-border-trade-profit",e.type==="ask"&&"oui-border-trade-loss")})})]})};var ct=e=>{let{data:t,type:o}=e,{symbolInfo:i,depth:r}=q(),n=react.useCallback(()=>{if((t?.length||0)===0)return null;if(o==="ask"){let u=t.findIndex(m=>!Number.isNaN(m[0]));return u!=-1?t[u]:null}else {for(let u=t.length-1;u>=0;u--){let m=t[u];if(!Number.isNaN(m[0]))return m}return null}},[t,o]),a=react.useMemo(()=>r?.toString().includes(".")?r.toString().split(".")[1].length:0,[r]),s=react.useMemo(()=>t.reduce((u,m)=>Math.max(u,m[1]),0),[t]),[l,c]=react.useState(-1);return jsxRuntime.jsx("div",{className:"oui-order-book-list oui-flex oui-flex-col oui-gap-[1px]",children:t.map((u,m)=>jsxRuntime.jsx(Ws,{index:m,item:u,countQty:e.countQty,setHoverIndex:c,hoverIndex:l,type:o,maxQty:s,priceDp:a,symbolInfo:i,findMaxItem:n},m))})},Ws=e=>{let{index:t,item:o,setHoverIndex:i,type:r,maxQty:n,hoverIndex:a,priceDp:s,symbolInfo:l}=e,{base:c,quote:u,base_dp:m,quote_dp:d}=l,x=a!==-1?r==="ask"?t>=a:t<=a:!1,[y,C]=react.useState(!1),D=v=>{if(v===null)return {sumQty:0,sumQtyAmount:0,avgPrice:0};let b={sumQty:0,sumQtyAmount:0};return Number.isNaN(v[2])||(b={sumQty:v[2],sumQtyAmount:v[3]}),{...b,avgPrice:b.sumQtyAmount==0?0:b.sumQtyAmount/b.sumQty}},h=D(o);return h.avgPrice===0&&(h=D(e.findMaxItem())),jsxRuntime.jsxs(ui$1.TooltipRoot,{open:y,onOpenChange:C,children:[jsxRuntime.jsx(ui$1.TooltipTrigger,{children:jsxRuntime.jsx(tr,{background:"",price:o[0],quantity:o[1],accumulated:o[2],count:e.countQty,type:e.type,accumulatedAmount:o[3],maxQty:n,isHover:x,currentHover:a===t,symbolInfo:l,onMouseEnter:()=>{i(t),C(!0);},onMouseLeave:()=>{i(-1),C(!1);}})}),jsxRuntime.jsxs(ui$1.TooltipContent,{className:ui$1.cn("oui-max-w-[400px] oui-w-full oui-text-2xs oui-shadow-md oui-rounded-base oui-p-3 oui-bg-base-6 oui-flex oui-flex-col oui-gap-2"),align:r==="ask"?"end":"start",alignOffset:-25.4,side:"left",sideOffset:2,onPointerEnter:v=>v.preventDefault(),children:[jsxRuntime.jsx(oo,{title:"Avg. Price\u2248",content:h.avgPrice,contentDp:s}),jsxRuntime.jsx(oo,{title:`Sum (${c})`,content:h.sumQty,contentDp:m}),jsxRuntime.jsx(oo,{title:`Sum (${u})`,content:h.sumQtyAmount,contentDp:d}),jsxRuntime.jsx(ui$1.TooltipArrow,{className:"oui-fill-base-6",style:{transform:r==="ask"?"translateX(80%)":"translateX(-80%)"}})]})]})},oo=e=>{let{title:t,content:o,contentDp:i}=e;return jsxRuntime.jsxs("div",{className:"oui-flex oui-flex-row oui-justify-between oui-gap-4",children:[jsxRuntime.jsx("div",{className:"oui-text-base-contrast-36",children:t}),jsxRuntime.jsx("div",{className:"oui-text-right",children:jsxRuntime.jsx(ui$1.Text.numeral,{dp:i,children:o})})]})};var rr=e=>{let{data:t}=e,o=react.useMemo(()=>{let i=Number.NaN,r=t.length-1;for(;Number.isNaN(i)&&r>0;)i=t[r][2],r--;return i},[t]);return jsxRuntime.jsx(ct,{type:"bid",data:t,countQty:o})};var nr=e=>{let{data:t}=e,o=react.useMemo(()=>{let i=Number.NaN,r=t.length,n=0;for(;Number.isNaN(i)&&n<r;)i=t[n][2],n++;return i},[t]);return jsxRuntime.jsx(ct,{type:"ask",data:t,countQty:o})};var mt=e=>{let{markPrice:t=0,lastPrice:o,quote_dp:i,className:r,iconSize:n=18}=e,[a,s]=o,l=s<a,c=s>a;return jsxRuntime.jsxs(ui$1.Flex,{gap:1,className:ui$1.cn(c?"oui-text-trade-profit":l?"oui-text-trade-loss":"",r),children:[jsxRuntime.jsx(ui$1.Text.numeral,{dp:i,intensity:98,children:s}),jsxRuntime.jsxs(ui$1.Box,{width:19,children:[l&&jsxRuntime.jsx(ui$1.ArrowDownShortIcon,{size:n,color:"danger",opacity:1}),c&&jsxRuntime.jsx(ui$1.ArrowUpShortIcon,{size:n,color:"success",opacity:1})]})]})};var dt=e=>hooks.useMediaQuery(e.tabletMediaQuery??types.MEDIA_TABLET)?jsxRuntime.jsx(ol,{...e}):jsxRuntime.jsx(tl,{...e}),tl=e=>{let{quote_dp:t,className:o,iconSize:i=18}=e;return jsxRuntime.jsx(ui$1.Tooltip,{content:"Obtained from a third-party oracle, the mark price is calculated as the median of three prices: the last price, the fair price based on the funding rate basis, and the fair price based on the order books.",className:"oui-max-w-[270px]",children:jsxRuntime.jsxs(ui$1.Flex,{gap:1,className:ui$1.cn("oui-cursor-pointer oui-text-2xs",o),children:[jsxRuntime.jsx(ur,{size:i}),jsxRuntime.jsx(ui$1.Text.numeral,{dp:t,color:"warning",className:"oui-underline oui-text-base oui-decoration-dashed oui-decoration-1 oui-underline-offset-4 oui-decoration-warning-darken",children:e.markPrice})]})})},ol=e=>{let{quote_dp:t,className:o,iconSize:i=18}=e,[r,n]=react.useState(!1);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs(ui$1.Flex,{gap:1,className:ui$1.cn("oui-cursor-pointer oui-text-2xs",o),onClick:()=>{n(!0);},children:[jsxRuntime.jsx(ur,{size:i}),jsxRuntime.jsx(ui$1.Text.numeral,{dp:t,color:"warning",className:"oui-underline oui-decoration-dashed oui-decoration-1 oui-underline-offset-4 oui-decoration-warning-darken",children:e.markPrice})]}),jsxRuntime.jsx(ui$1.SimpleDialog,{size:"xs",open:r,onOpenChange:n,title:"Tips",actions:{primary:{label:"OK",onClick:()=>n(!1)}},children:jsxRuntime.jsx(ui$1.Text,{children:"Obtained from a third-party oracle, the mark price is calculated as the median of three prices: the last price, the fair price based on the funding rate basis, and the fair price based on the order books."})})]})},ur=e=>jsxRuntime.jsx("svg",{width:e.size,height:e.size,viewBox:"0 0 18 18",fill:"currenColor",xmlns:"http://www.w3.org/2000/svg",className:"oui-fill-warning-darken",children:jsxRuntime.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M3.75 1.5a.75.75 0 0 1 .75.75h6a.75.75 0 0 1 .75.75v1.5h3a.75.75 0 0 1 .75.75V12a.75.75 0 0 1-.75.75H7.5a.75.75 0 0 1-.75-.75v-1.5H4.5v5.25a.75.75 0 0 1-1.5 0V2.25a.75.75 0 0 1 .75-.75M4.5 9h5.25V3.75H4.5zm6.75-3v3.75a.75.75 0 0 1-.75.75H8.25v.75h5.25V6z"})});var fr=e=>{let{markPrice:t=0,lastPrice:o,asks:i,bids:r,symbolInfo:n}=e,{showTotal:a,tabletMediaQuery:s}=q();return jsxRuntime.jsxs("div",{className:"oui-flex oui-flex-row oui-pl-3 oui-tabular-nums oui-justify-between oui-text-base-contrast-80 oui-text-xs oui-relative oui-cursor-pointer oui-py-[6px]",children:[jsxRuntime.jsxs("div",{className:ui$1.cn("oui-basis-7/12 oui-flex oui-flex-row oui-items-center oui-mr-2 oui-justify-between",a&&"oui-basis-5/12"),children:[jsxRuntime.jsx(mt,{markPrice:t,lastPrice:o,quote_dp:n.quote_dp,className:"oui-text-base"}),jsxRuntime.jsx(dt,{markPrice:t,quote_dp:n.quote_dp,tabletMediaQuery:s})]}),jsxRuntime.jsx("div",{className:ui$1.cn("oui-basis-5/12 oui-flex oui-items-center oui-fex-row oui-overflow-hidden oui-relative oui-justify-end",a&&"oui-basis-7/12","oui-pr-3"),children:jsxRuntime.jsx(sl,{asks:i,bids:r})})]})},sl=e=>{let{asks:t,bids:o}=e,i=react.useMemo(()=>{if(o.length===0&&t.length===0)return 0;let r=Number.isNaN(o[0][0])?0:o[0][0],n=t.reverse().findIndex(l=>!Number.isNaN(l[0])),a=0;n!==-1&&(a=Number.isNaN(t[n][0])?0:t[n][0]);let s=new utils.Decimal(a).sub(r).div(new utils.Decimal(a).add(r).div(2));return Math.ceil(s.toNumber()*1e6+.1)/1e4},[t,o]);return jsxRuntime.jsx("div",{children:jsxRuntime.jsx(ui$1.Tooltip,{content:"Spread Ratio of the ask1 and bid1.",className:"oui-max-w-[240px]",children:jsxRuntime.jsx(ui$1.Text,{size:"2xs",intensity:36,className:"oui-cursor-pointer oui-underline oui-decoration-dashed oui-decoration-1 oui-underline-offset-4 oui-decoration-base-contrast-36",children:`${i}%`})})})};var gr=e=>{let{showTotal:t}=q();return jsxRuntime.jsxs(ui$1.Flex,{pl:3,justify:"between",className:"oui-py-[6px]",children:[jsxRuntime.jsxs(ui$1.Flex,{gap:1,className:ui$1.cn("oui-basis-7/12",t&&"oui-basis-1/2"),children:[jsxRuntime.jsx(ui$1.Box,{width:"100%",children:jsxRuntime.jsx(gt,{name:"Price",token:e.quote,id:"oui-order-book-header-price"})}),jsxRuntime.jsx(ui$1.Box,{width:"100%",children:jsxRuntime.jsx(gt,{name:"Qty",token:e.base,id:"oui-order-book-header-qty",justifyEnd:!0})})]}),jsxRuntime.jsxs(ui$1.Flex,{gap:1,pr:3,className:ui$1.cn("oui-basis-5/12",t&&"oui-basis-1/2"),children:[jsxRuntime.jsx(ui$1.Box,{width:"100%",children:jsxRuntime.jsx(gt,{name:"Total",token:e.base,id:"oui-order-book-header-total-base",justifyEnd:!0})}),t&&jsxRuntime.jsx(ui$1.Box,{width:"100%",children:jsxRuntime.jsx(gt,{name:"Total",token:e.quote,id:"oui-order-book-header-total-quote",justifyEnd:!0})})]})]})},gt=e=>{let{name:t,token:o,justifyEnd:i=!1}=e;return jsxRuntime.jsxs(ui$1.Flex,{id:e.id,className:ui$1.cn("oui-text-base-contrast-36 oui-text-xs oui-items-end",i&&"oui-justify-end"),children:[jsxRuntime.jsx("span",{children:t}),jsxRuntime.jsx("span",{children:`(${o})`})]})};var hr=e=>{let t=react.useMemo(()=>e.depths.map(o=>({value:o,label:`${o}`})),[e.depths]);return jsxRuntime.jsx(ui$1.Box,{pl:3,width:97,className:"oui-py-[10px]",children:jsxRuntime.jsx(ui$1.Select.options,{options:t,size:"xs",value:e.value,onValueChange:o=>{e.onChange?.(o);}})})};var br=e=>{let{lastPrice:t,markPrice:o,quote:i,base:r,isLoading:n,onDepthChange:a}=e,s=react.useRef(null),[l,c]=react.useState(!1),u=[{left:370,right:600},{left:740,right:800}];return react.useEffect(()=>{let m=new ResizeObserver(x=>{for(let y of x){let {inlineSize:C}=y.borderBoxSize[0];u.reduce((h,v)=>h+(C>=v.left&&C<v.right?1:0),0);c(C>=360);}}),d=s.current;return d&&m.observe(d),()=>{d&&m.unobserve(d);}},[]),jsxRuntime.jsx(st,{cellHeight:e.cellHeight??20,onItemClick:e.onItemClick,depth:e.activeDepth,showTotal:l,pendingOrders:e.pendingOrders||[],symbolInfo:e.symbolInfo,tabletMediaQuery:e.tabletMediaQuery,children:jsxRuntime.jsxs(ui$1.Grid,{cols:1,rows:5,id:"oui-orderbook-desktop",ref:s,className:"oui-grid-rows-[auto,auto,1fr,auto,1fr] oui-relative oui-h-full oui-w-full",children:[jsxRuntime.jsx(hr,{depths:e.depths,value:e.activeDepth,onChange:a}),jsxRuntime.jsx(gr,{quote:i,base:r}),jsxRuntime.jsx(nr,{data:[...e.asks]}),jsxRuntime.jsx(fr,{lastPrice:t,markPrice:o,asks:[...e.asks],bids:[...e.bids],symbolInfo:e.symbolInfo}),jsxRuntime.jsx(rr,{data:[...e.bids]}),n&&jsxRuntime.jsx("div",{className:"oui-absolute oui-left-0 oui-top-0 oui-right-0 oui-bottom-0 oui-z-10 oui-flex oui-items-center oui-justify-center oui-bg-bg-8/70",children:jsxRuntime.jsx(ui$1.Spinner,{})})]})})};var yr=e=>{let{mode:t,onModeChange:o}=q(),i=react.useMemo(()=>t==="amount"?e.quote:e.base,[t,e.quote,e.base]),r=react.useMemo(()=>t==="amount"?"Value":"Qty",[t]);return jsxRuntime.jsxs(ui$1.Flex,{justify:"between",width:"100%",className:"oui-text-base-contrast-36 oui-text-2xs oui-py-[5px]",children:[jsxRuntime.jsxs(ui$1.Flex,{direction:"column",itemAlign:"start",id:"oui-order-book-header-price",children:[jsxRuntime.jsx(ui$1.Text,{children:"Price"}),jsxRuntime.jsx(ui$1.Text,{children:`(${e.quote})`})]}),jsxRuntime.jsxs(ui$1.Flex,{direction:"column",itemAlign:"end",className:"oui-cursor-pointer",onClick:()=>o?.(t==="amount"?"quantity":"amount"),children:[jsxRuntime.jsx(ui$1.Text,{children:r}),jsxRuntime.jsx(ui$1.Text,{children:`(${i})`})]})]})};var wr=e=>{let t=e.accumulated/e.count*100,{cellHeight:o,onItemClick:i,depth:r,showTotal:n,symbolInfo:a}=react.useContext(at),{base_dp:s,quote_dp:l}=a,c=Number.isNaN(e.quantity)?"-":e.mode==="amount"?new utils.Decimal(e.quantity).mul(e.price).toString():e.quantity;n&&(c=e.quantity);let u=react.useMemo(()=>utils.getPrecisionByNumber(r||`${l}`),[r,l]);return jsxRuntime.jsxs(ui$1.Box,{className:ui$1.cn("oui-overflow-hidden oui-relative oui-cursor-pointer oui-tabular-nums oui-text-2xs oui-w-full",n&&"oui-flex-1"),style:{height:`${o}px`},onClick:m=>{Number.isNaN(e.price)||Number.isNaN(e.quantity)||i?.([e.price,e.quantity]);},children:[jsxRuntime.jsxs(ui$1.Flex,{justify:"between",children:[jsxRuntime.jsx(ui$1.Text.numeral,{color:e.type==="bid"?"buy":"sell",dp:u,children:e.price}),jsxRuntime.jsx(ui$1.Text.numeral,{dp:e.mode==="amount"?2:s,className:"oui-text-base-contrast-80",children:c})]}),Number.isNaN(t)||n?null:jsxRuntime.jsx(lt,{width:t,className:e.type==="ask"?"oui-bg-trade-loss/20":"oui-bg-trade-profit/20"})]})};var yt=e=>{let{data:t}=e,{mode:o}=q();return jsxRuntime.jsx(ui$1.Box,{className:"oui-order-book-list oui-flex oui-flex-col oui-gap-[1px] oui-w-full",children:t.map((i,r)=>jsxRuntime.jsx(wr,{background:"",price:i[0],quantity:i[1],accumulated:i[2],count:e.countQty,type:e.type,mode:o},r))})};var vr=e=>{let{data:t}=e,o=react.useMemo(()=>{let i=Number.NaN,r=t.length-1;for(;Number.isNaN(i)&&r>0;)i=t[r][2],r--;return i},[t]);return jsxRuntime.jsx(yt,{type:"bid",data:t,countQty:o})};var Tr=e=>{let{data:t}=e,o=react.useMemo(()=>{let i=Number.NaN,r=t.length,n=0;for(;Number.isNaN(i)&&n<r;)i=t[n][2],n++;return i},[t]);return jsxRuntime.jsx(yt,{type:"ask",data:t,countQty:o})};var kr=e=>{let {symbolInfo:i,tabletMediaQuery:r}=q(),{quote_dp:n}=i;return jsxRuntime.jsxs(ui$1.Flex,{id:"oui-order-book-mark-price",className:"oui-py-[6px]",width:"100%",justify:"between",children:[jsxRuntime.jsx(mt,{markPrice:e.markPrice,lastPrice:e.lastPrice,quote_dp:n,className:"oui-text-sm",iconSize:14}),jsxRuntime.jsx(dt,{markPrice:e.markPrice,quote_dp:n,className:"oui-text-2xs",iconSize:12,tabletMediaQuery:r})]})};var Fr=e=>{let t=react.useMemo(()=>e.depth.map(o=>({value:o,label:`${o}`})),[e.depth]);return jsxRuntime.jsx(ui$1.Box,{id:"oui-order-book-depth",className:"oui-pt-2 oui-w-full",children:jsxRuntime.jsx(ui$1.Picker,{options:t,fullWidth:!0,size:"sm",value:e.value,className:"oui-text-2xs oui-text-base-contrast-54",onValueChange:o=>{e.onChange?.(o);}})})};var mo=e=>{let t=e.data.est_funding_rate,o=e.data.countDown;return jsxRuntime.jsxs(ui$1.Flex,{direction:"column",itemAlign:"start",pb:2,children:[jsxRuntime.jsx(ui$1.Text,{intensity:36,size:"2xs",children:"Pred. funding rate"}),t===null?"--":jsxRuntime.jsxs("div",{className:"orderly-flex orderly-gap-1 oui-text-2xs oui-text-base-contrast-36",children:[jsxRuntime.jsx(ui$1.Text.numeral,{coloring:!0,suffix:"%",dp:4,children:t??"--"}),jsxRuntime.jsx("span",{children:" in"}),jsxRuntime.jsx("span",{children:" "+o})]})]})};var fo=e=>({data:hooks.useFundingRate(e)});var go=e=>{let t=fo(e.symbol);return jsxRuntime.jsx(mo,{...t})};var Ar=e=>{let{lastPrice:t,markPrice:o,quote:i,base:r,isLoading:n,onDepthChange:a}=e,s=`PERP_${e.symbolInfo.base}_${e.symbolInfo.quote}`;return jsxRuntime.jsx(st,{cellHeight:e.cellHeight??20,onItemClick:e.onItemClick,depth:e.activeDepth,pendingOrders:[],showTotal:!1,symbolInfo:e.symbolInfo,tabletMediaQuery:e.tabletMediaQuery,children:jsxRuntime.jsxs(ui$1.Flex,{direction:"column",p:2,id:"oui-orderbook-mobile",className:ui$1.cn("oui-h-full oui-wfull oui-relative",e.className),justify:"start",itemAlign:"start",children:[jsxRuntime.jsx(go,{symbol:s}),jsxRuntime.jsx(yr,{quote:i,base:r}),jsxRuntime.jsx(Tr,{data:e.asks}),jsxRuntime.jsx(kr,{lastPrice:t,markPrice:o}),jsxRuntime.jsx(vr,{data:e.bids}),jsxRuntime.jsx(Fr,{depth:e.depths||[],value:e.activeDepth,onChange:a}),n&&jsxRuntime.jsx("div",{className:"oui-absolute oui-left-0 oui-top-0 oui-right-0 oui-bottom-0 oui-z-10 oui-flex oui-items-center oui-justify-center oui-bg-base-800/70 oui-h-full oui-min-h-[420px]",children:jsxRuntime.jsx(ui$1.Spinner,{})})]})})};var ho=e=>jsxRuntime.jsx(ui$1.Box,{className:"oui-font-semibold",width:"100%",height:"100%",children:e.isMWeb?jsxRuntime.jsx(Ar,{level:e.level,asks:e.asks,bids:e.bids,markPrice:e.markPrice,lastPrice:e.lastPrice,depths:e.depths,activeDepth:e.selDepth,base:e.base,quote:e.quote,isLoading:e.isLoading,onItemClick:e.onItemClick,cellHeight:e.cellHeight,onDepthChange:e.onDepthChange,className:e.className,symbolInfo:e.symbolInfo,tabletMediaQuery:e.tabletMediaQuery}):jsxRuntime.jsx(br,{level:e.level,asks:e.asks,bids:e.bids,markPrice:e.markPrice,lastPrice:e.lastPrice,depths:e.depths,activeDepth:e.selDepth,base:e.base,quote:e.quote,isLoading:e.isLoading,onItemClick:e.onItemClick,cellHeight:e.cellHeight,onDepthChange:e.onDepthChange,className:e.className,pendingOrders:e.pendingOrders,symbolInfo:e.symbolInfo,tabletMediaQuery:e.tabletMediaQuery})});var Qe=20,Ir=104,xo=e=>{let{symbol:t,height:o,tabletMediaQuery:i=types.MEDIA_TABLET}=e,r=hooks.useSymbolsInfo()[e.symbol],[n,a]=react.useState(Qe),[s,l]=react.useState(10),{base:c,quote:u,quote_dp:m}=_e(r),[d,{onDepthChange:x,isLoading:y,onItemClick:C,depth:D,allDepths:h}]=hooks.useOrderbookStream(t,void 0,{level:s}),v=Xl(t);react.useEffect(()=>{if(o){let M=Math.floor((o-Ir)/((Qe+1)*2)),ce=(Qe+1)*2*M,Y=o-Ir-ce;Y>10?a(Qe+Y/M/2):a(Qe),l(M);}},[o]);let b=react.useMemo(()=>typeof D>"u"||typeof m>"u"?void 0:utils.removeTrailingZeros(D),[D,m]),k=react.useMemo(()=>h?.map(M=>utils.removeTrailingZeros(M))||[],[h,m]),ee=hooks.useMediaQuery(i);return {level:s,asks:d?.asks,bids:d?.bids,markPrice:d?.markPrice,lastPrice:d?.middlePrice,depths:k,selDepth:b,base:c,quote:u,isLoading:y,onItemClick:C,cellHeight:n,onDepthChange:x,pendingOrders:v,symbolInfo:_e(r),isMWeb:ee}},Xl=e=>{let[t]=hooks.useOrderStream({status:types.OrderStatus.INCOMPLETE,symbol:e});return react.useMemo(()=>t?.filter(r=>r.symbol===e).reduce((r,n)=>{let a=n.price||n.trigger_price||0;return [...r,a]},[]),[t,e])};var Be=e=>{let t=xo({symbol:e.symbol,height:e.height,tabletMediaQuery:e.tabletMediaQuery});return jsxRuntime.jsx(ho,{...t,className:e.className,tabletMediaQuery:e.tabletMediaQuery})};var yo=e=>{let{riskRate:t,riskRateColor:o,isConnected:i,currentLeverage:r,maxLeverage:n}=e,{isHigh:a,isMedium:s,isLow:l,isDefault:c}=o,{wrongNetwork:u}=reactApp.useAppContext(),m=u?"":a?"oui-text-danger":s?"oui-text-warning-darken":l?ui$1.gradientTextVariants({color:"brand"}):"";return jsxRuntime.jsxs(ui$1.Box,{"data-risk":"",className:"oui-space-y-2",children:[jsxRuntime.jsx(ui$1.Flex,{itemAlign:"center",justify:"start",className:"oui-w-full oui-bg-base-6 oui-rounded-full oui-h-2 oui-px-[1px]",children:jsxRuntime.jsx(ui$1.Box,{className:u?"oui-bg-gradient-to-r oui-opacity-20 oui-from-[#26fefe] oui-via-[#ff7d00] oui-to-[#d92d6b] oui-h-1.5 oui-rounded-full":a?"oui-bg-gradient-to-tr oui-from-[#791438] oui-to-[#ff447c] oui-h-1.5 oui-rounded-full":s?"oui-bg-gradient-to-tr oui-from-[#792e00] oui-to-[#ffb65d] oui-h-1.5 oui-rounded-full":l?"oui-bg-gradient-to-tr oui-from-[#59b0fe] oui-to-[#26fefe] oui-h-1.5 oui-rounded-full":"oui-bg-gradient-to-r oui-opacity-20 oui-from-[#26fefe] oui-via-[#ff7d00] oui-to-[#d92d6b] oui-h-1.5 oui-rounded-full",style:t&&t!=="--"?{width:t}:{width:"100%"}})}),jsxRuntime.jsxs(ui$1.Flex,{className:"oui-gap-2",children:[jsxRuntime.jsxs(ui$1.Flex,{direction:"column",itemAlign:"start",className:"oui-flex-1",children:[jsxRuntime.jsx(ui$1.Tooltip,{content:jsxRuntime.jsx(Zt,{description:"The Risk rate is used to assess the risk level of an account. When the Risk rate reaches 100%, the account will be liquidated",formula:"Risk rate = Maintenance margin ratio / Margin ratio * 100%"}),children:jsxRuntime.jsx(ui$1.Text,{size:"2xs",color:"neutral",weight:"semibold",className:"oui-cursor-pointer oui-border-b oui-border-dashed oui-border-b-white/10",children:"Risk rate"})}),jsxRuntime.jsx(ui$1.Text,{size:"xs",color:"neutral",weight:"semibold",className:ui$1.cn(m),children:t??"--"})]}),jsxRuntime.jsxs(ui$1.Flex,{direction:"column",itemAlign:"end",className:"oui-flex-1",children:[jsxRuntime.jsx(ui$1.Tooltip,{open:!1,content:jsxRuntime.jsx("div",{children:"hint test"}),children:jsxRuntime.jsx(ui$1.Text,{size:"2xs",color:"neutral",weight:"semibold",className:"oui-cursor-pointer",children:"Max account leverage"})}),jsxRuntime.jsxs(ui$1.Flex,{className:"oui-gap-1",children:[jsxRuntime.jsx(ui$1.Text.numeral,{dp:2,padding:!1,suffix:r?"x":void 0,children:r??"--"}),jsxRuntime.jsx("span",{className:"oui-text-base-contrast-54",children:"/"}),jsxRuntime.jsxs("button",{className:"oui-flex oui-items-center oui-gap-1",onClick:()=>{ui$1.modal.show(uiLeverage.LeverageWidgetId,{currentLeverage:5});},"data-testid":"oui-testid-riskRate-leverage-button",children:[jsxRuntime.jsx(ui$1.Text.numeral,{dp:2,padding:!1,suffix:n?"x":void 0,"data-testid":"oui-testid-riskRate-leverage-value",children:n??"--"}),typeof n<"u"&&n!==null&&jsxRuntime.jsx(ui$1.EditIcon,{size:12,color:"white"})]})]})]})]})]})};var su=e=>{if(e===null)return {isHigh:!1,isMedium:!1,isLow:!1,isDefault:!0};let t=e<40,o=e>=40&&e<80,i=e>=80;return {isHigh:i,isMedium:o,isLow:t,isDefault:!t&&!o&&!i}},Er=()=>{let{state:e}=hooks.useAccount(),t=e.status>=types.AccountStatusEnum.EnableTrading,{marginRatio:o,currentLeverage:i,mmr:r}=hooks.useMarginRatio(),[n]=hooks.useLeverage(),a=react.useMemo(()=>!t||o===null||r===null?"--":o===0||r===0?"0%":`${new utils.Decimal(r).div(o).mul(100).todp(2,utils.Decimal.ROUND_UP).toString().replace(/\.?0+$/,"")}%`,[t,o,r]),s=a==="--"?null:parseFloat(a),l=react.useMemo(()=>su(s),[s]),c=reactApp.useDataTap(i),u=reactApp.useDataTap(n);return {riskRate:reactApp.useDataTap(a),riskRateColor:l,isConnected:t,currentLeverage:c,maxLeverage:u}};var Co=()=>{let e=Er();return jsxRuntime.jsx(yo,{...e})};var wo=e=>jsxRuntime.jsx("div",{ref:e.containerRef,className:"oui-h-full",children:(e.containerSize?.width||0)>=572?jsxRuntime.jsx(gu,{...e}):jsxRuntime.jsx(pu,{...e})}),gu=e=>jsxRuntime.jsxs(ui$1.Grid,{cols:2,width:"100%",gap:3,className:"oui-auto-rows-fr",style:{height:e.containerSize?.height},children:[jsxRuntime.jsxs(ui$1.Flex,{direction:"column",itemAlign:"start",pt:3,pb:3,r:"2xl",className:"oui-bg-base-9",children:[jsxRuntime.jsx(qr,{title:"Order book",className:"oui-pl-3 oui-text-sm"}),jsxRuntime.jsx(Be,{symbol:e.symbol,tabletMediaQuery:e.tabletMediaQuery,height:e.containerSize?e.containerSize.height-29-24:void 0})]}),jsxRuntime.jsxs(ui$1.Flex,{direction:"column",itemAlign:"start",py:3,r:"2xl",className:"oui-bg-base-9 oui-h-full",children:[jsxRuntime.jsx(qr,{title:"Last trades",className:"oui-text-sm oui-px-3"}),jsxRuntime.jsx(Ne,{symbol:e.symbol,style:{height:e.containerSize&&e.containerSize.height-29-24},classNames:{listHeader:"oui-px-3",list:"oui-px-3"}})]})]}),pu=e=>jsxRuntime.jsx(ui$1.Box,{pt:3,pb:3,pr:0,r:"2xl",className:"oui-bg-base-9",style:{maxHeight:e.containerSize?.height},children:jsxRuntime.jsxs(ui$1.Tabs,{value:e.tab,variant:"contained",onValueChange:t=>{e.setTab(t);},classNames:{tabsList:"oui-pl-3"},size:"lg",children:[jsxRuntime.jsx(ui$1.TabPanel,{value:"orderBook",title:"Order book",children:jsxRuntime.jsx(Be,{symbol:e.symbol,tabletMediaQuery:e.tabletMediaQuery,height:e.containerSize?e.containerSize.height-29-18:void 0})}),jsxRuntime.jsx(ui$1.TabPanel,{value:"lastTrades",title:"Last trades",children:jsxRuntime.jsx(Ne,{symbol:e.symbol,style:{height:e.containerSize&&e.containerSize.height-29-18},classNames:{root:"oui-pt-[6px]",listHeader:"oui-px-3",list:"oui-px-3"}})})]})}),qr=e=>jsxRuntime.jsx(ui$1.Text,{size:"base",intensity:80,className:ui$1.cn("oui-pb-[5px]",e.className),children:e.title});var Po=e=>{let[t,o]=react.useState(void 0),[i,r]=react.useState("orderBook"),n=react.useRef();return react.useEffect(()=>{let a=new ResizeObserver(l=>{for(let c of l){let{width:u,height:m}=c.contentRect;o({width:u,height:m});}}),s=n.current;return s&&a.observe(s),()=>{s&&a.unobserve(s);}},[]),{symbol:e,containerSize:t,containerRef:n,tab:i,setTab:r}};var vo=e=>{let t=Po(e.symbol);return jsxRuntime.jsx(wo,{tabletMediaQuery:e.tabletMediaQuery,...t})};var $r=e=>{let{onMouseDown:t,mode:o="horizontal",...i}=e;return jsxRuntime.jsx("div",{...i,className:ui$1.cn(e.className,"!oui-transition-none","!oui-shadow-none !oui-bg-transparent","hover:!oui-bg-primary-light hover:!oui-shadow-[0px_0px_4px_0px] hover:!oui-shadow-primary-light/80","active:!oui-bg-primary-light active:!oui-shadow-[0px_0px_4px_0px] active:!oui-shadow-primary-light/80","focus:!oui-bg-primary-light focus:!oui-shadow-[0px_0px_4px_0px] focus:!oui-shadow-primary-light/80",o==="horizontal"?"!oui-w-[2px] !oui-min-w-[2px] !oui-mx-1":"!oui-h-[2px] !oui-min-h-[2px] !oui-my-1"),children:jsxRuntime.jsx("div",{onMouseDown:t,className:ui$1.cn("!oui-transition-none",o==="horizontal"?"after:!oui-w-[2px]":"after:!oui-h-[2px]","after:!oui-bg-transparent after:!oui-shadow-transparent")})})};var wt=e=>{let{onSizeChange:t,...o}=e;return jsxRuntime.jsx(yu__default.default,{...o,lineBar:!0,renderBar:i=>jsxRuntime.jsx($r,{...i,mode:e.mode}),onDragEnd:(i,r,n)=>{t?.(`${r}`);}})};var No=e=>jsxRuntime.jsx("button",{onClick:t=>{ui$1.modal.show(uiChainSelector.ChainSelectorSheetId,{bridgeLessOnly:!1,isWrongNetwork:e.isWrongNetwork}).then(o=>{o?.chainId&&e.setChainId(o?.chainId),ui$1.toast.success("Network switched");},o=>{});},children:jsxRuntime.jsxs(ui$1.Box,{className:"oui-relative oui-rounded-t-[6px] oui-rounded-bl-[6px] oui-rounded-br-[3px] oui-bg-base-5 oui-px-2 oui-h-7 oui-flex oui-items-center",children:[jsxRuntime.jsx(ui$1.ChainIcon,{chainId:e.chainId??e.defaultChainId,size:"2xs"}),jsxRuntime.jsx("div",{className:"oui-absolute oui-right-0 oui-bottom-0",children:jsxRuntime.jsxs("svg",{width:"9",height:"9",viewBox:"0 0 9 9",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsxRuntime.jsx("path",{d:"M9 6V0L0 9h6a3 3 0 0 0 3-3",fill:"url(#a)"}),jsxRuntime.jsx("defs",{children:jsxRuntime.jsxs("linearGradient",{id:"a",x1:"9",y1:"4.5",x2:"0",y2:"4.5",gradientUnits:"userSpaceOnUse",children:[jsxRuntime.jsx("stop",{stopColor:"rgb(var(--oui-gradient-brand-end))"}),jsxRuntime.jsx("stop",{offset:"1",stopColor:"rgb(var(--oui-gradient-brand-start))"})]})})]})})]})});var ko=()=>{let{account:e}=hooks.useAccount(),t=hooks.useConfig(),[o,i]=react.useState(e.chainId);react.useEffect(()=>{i(e.chainId);},[e.chainId]);let r=react.useMemo(()=>{if(o)return utils.isTestnet(Number(o))},[o]),{wrongNetwork:n}=reactApp.useAppContext(),a=t.get("networkId");return {defaultChainId:react.useMemo(()=>a==="testnet"?421614:42161,[]),chainId:o,setChainId:i,isTestnetChain:r,networkId:a,isWrongNetwork:n}};var Do=()=>{let e=ko();return jsxRuntime.jsx(No,{...e})};var Fo=e=>jsxRuntime.jsx(uiConnector.AuthGuard,{buttonProps:{size:"sm"},children:jsxRuntime.jsx(ui$1.Button,{variant:"gradient",size:"sm",className:"oui-max-w-[83px]",onClick:t=>{e.onShowAccountSheet();},children:ui$1.formatAddress(e.address,[4,4])})});var Yr=()=>jsxRuntime.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"oui-rounded-full",children:[jsxRuntime.jsxs("g",{clipPath:"url(#a)",children:[jsxRuntime.jsx("path",{d:"m31.002 14.493-8.326-22.51L.166.31l8.327 22.51z",fill:"#03435D"}),jsxRuntime.jsx("path",{d:"m4.456-8.716-18.03 15.84 15.84 18.03 18.03-15.84z",fill:"#157CF2"}),jsxRuntime.jsx("path",{d:"m17.548 38.67 22.825-7.416-7.416-22.825-22.826 7.416z",fill:"#F3E200"})]}),jsxRuntime.jsx("defs",{children:jsxRuntime.jsx("clipPath",{id:"a",children:jsxRuntime.jsx("rect",{width:"24",height:"24",rx:"12",fill:"#fff"})})})]}),Jr=()=>jsxRuntime.jsx("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{d:"M5.832 2.492A3.333 3.333 0 0 0 2.5 5.826v5a3.333 3.333 0 0 0 3.333 3.333 3.333 3.333 0 0 0 3.334 3.333h5a3.333 3.333 0 0 0 3.333-3.333v-5a3.333 3.333 0 0 0-3.333-3.333 3.333 3.333 0 0 0-3.334-3.334zm8.334 5c.92 0 1.666.746 1.666 1.667v5c0 .92-.746 1.666-1.666 1.666h-5c-.92 0-1.667-.745-1.667-1.666h3.333a3.333 3.333 0 0 0 3.334-3.334z",fill:"rgb(var(--oui-color-primary))"})}),Pt=e=>{let{size:t=20}=e;return jsxRuntime.jsxs("svg",{width:t,height:t,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsxRuntime.jsxs("g",{clipPath:"url(#a)",children:[jsxRuntime.jsx("path",{d:"M10 20c5.542 0 10-4.458 10-10S15.542 0 10 0 0 4.458 0 10s4.458 10 10 10",fill:"#2775CA"}),jsxRuntime.jsx("path",{d:"M13 11.473c0-1.452-.94-1.95-2.82-2.158-1.344-.166-1.613-.498-1.613-1.078s.448-.955 1.343-.955c.806 0 1.254.25 1.478.872.045.124.18.207.313.207h.717c.179 0 .313-.125.313-.29v-.042c-.179-.913-.985-1.618-2.015-1.701v-.996c0-.166-.134-.29-.358-.332h-.671c-.18 0-.314.124-.359.332v.954c-1.343.166-2.194.996-2.194 2.034 0 1.369.896 1.908 2.776 2.116 1.254.207 1.657.456 1.657 1.12s-.627 1.12-1.477 1.12c-1.165 0-1.568-.456-1.702-1.078a.32.32 0 0 0-.313-.25h-.762c-.179 0-.313.125-.313.291v.042c.179 1.037.895 1.784 2.373 1.991v.996c0 .166.134.29.358.332h.672c.18 0 .313-.124.358-.332v-.996C12.105 13.465 13 12.593 13 11.473",fill:"#fff",fillOpacity:".98"}),jsxRuntime.jsx("path",{d:"M7.74 16.57c-3.458-1.215-5.23-4.986-3.945-8.324.665-1.821 2.127-3.208 3.944-3.859.178-.086.266-.216.266-.433v-.607c0-.174-.088-.304-.266-.347-.044 0-.133 0-.177.043-4.21 1.3-6.516 5.68-5.186 9.798.798 2.428 2.704 4.292 5.186 5.072.177.087.355 0 .399-.173.044-.043.044-.087.044-.173v-.608c0-.13-.133-.303-.266-.39m4.698-13.527c-.178-.086-.355 0-.4.174-.043.043-.043.086-.043.173v.607c0 .174.133.347.266.434 3.457 1.213 5.23 4.985 3.944 8.323-.664 1.821-2.127 3.209-3.944 3.859-.178.086-.266.216-.266.433v.607c0 .174.088.304.266.347.044 0 .133 0 .177-.043 4.21-1.3 6.515-5.68 5.186-9.798-.798-2.471-2.748-4.335-5.186-5.116",fill:"#fff"})]}),jsxRuntime.jsx("defs",{children:jsxRuntime.jsx("clipPath",{id:"a",children:jsxRuntime.jsx("path",{fill:"#fff",d:"M0 0h20v20H0z"})})})]})},jr=e=>{return jsxRuntime.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsxRuntime.jsxs("g",{"clip-path":"url(#clip0_6403_64483)",children:[jsxRuntime.jsx("path",{d:"M10.0245 19.9493C15.5198 19.9493 19.9747 15.4944 19.9747 9.99908C19.9747 4.50371 15.5198 0.0488281 10.0245 0.0488281C4.5291 0.0488281 0.0742188 4.50371 0.0742188 9.99908C0.0742188 15.4944 4.5291 19.9493 10.0245 19.9493Z",fill:"url(#paint0_linear_6403_64483)"}),jsxRuntime.jsx("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M14.1553 4.89304C14.2199 4.94541 14.1821 5.04758 14.0989 5.04758H5.95035C5.86716 5.04758 5.82936 4.94541 5.894 4.89304C7.0223 3.97912 8.45953 3.43164 10.0246 3.43164C11.5898 3.43164 13.0269 3.97912 14.1553 4.89304Z",fill:"white"}),jsxRuntime.jsx("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M7.47013 11.7869C7.42315 11.7199 7.34748 11.6777 7.26565 11.6777H3.82985C3.75113 11.6777 3.69375 11.7525 3.71563 11.8281C4.5078 14.565 7.0326 16.566 10.0247 16.566C13.017 16.566 15.5417 14.565 16.3339 11.8281C16.3558 11.7525 16.2984 11.6777 16.2197 11.6777H12.7839C12.702 11.6777 12.6264 11.7199 12.5795 11.7869C12.0155 12.5911 11.0815 13.1167 10.0248 13.1167C8.96803 13.1167 8.03406 12.5911 7.47013 11.7869Z",fill:"white"}),jsxRuntime.jsx("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M12.3347 7.90519C12.3822 7.95756 12.449 7.9891 12.5196 7.9891H16.1137C16.1952 7.9891 16.253 7.90983 16.2261 7.83301C15.9724 7.10689 15.5948 6.43893 15.1187 5.85447C15.074 5.79961 15.0067 5.76855 14.9358 5.76855H5.11323C5.04247 5.76855 4.97512 5.79961 4.93044 5.85447C4.45429 6.43893 4.0767 7.10689 3.82306 7.83301C3.79622 7.90983 3.85398 7.9891 3.93536 7.9891H7.52952C7.60022 7.9891 7.66694 7.95756 7.71445 7.90519C8.28491 7.2763 9.10861 6.88136 10.0246 6.88136C10.9405 6.88136 11.7643 7.2763 12.3347 7.90519Z",fill:"white"}),jsxRuntime.jsx("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M13.1164 10.9586C13.0553 10.9586 13.0118 10.899 13.0284 10.8401C13.1033 10.5722 13.1433 10.2898 13.1433 9.9981C13.1433 9.58758 13.064 9.19556 12.9199 8.83657C12.8954 8.77581 12.9392 8.70801 13.0046 8.70801H16.392C16.4349 8.70801 16.472 8.73831 16.4799 8.78052C16.5538 9.17511 16.5925 9.58216 16.5925 9.9982C16.5925 10.2978 16.5724 10.5926 16.5337 10.8815C16.5277 10.9258 16.4897 10.9586 16.4451 10.9586H13.1164ZM7.02223 10.8401C7.03868 10.899 6.99532 10.9586 6.93421 10.9586H3.60551C3.56084 10.9586 3.52285 10.9258 3.5169 10.8815C3.47807 10.5926 3.45801 10.2978 3.45801 9.9982C3.45801 9.58216 3.4967 9.17511 3.57069 8.78052C3.57859 8.73831 3.61563 8.70801 3.65856 8.70801H7.04593C7.11141 8.70801 7.15516 8.77581 7.13076 8.83657C6.98657 9.19556 6.90722 9.58758 6.90722 9.9981C6.90722 10.2898 6.94728 10.5722 7.02223 10.8401Z",fill:"white"})]}),jsxRuntime.jsxs("defs",{children:[jsxRuntime.jsxs("linearGradient",{id:"paint0_linear_6403_64483",x1:"10.0245",y1:"0.0488561",x2:"10.0245",y2:"19.9493",gradientUnits:"userSpaceOnUse",children:[jsxRuntime.jsx("stop",{"stop-color":"#C750FF"}),jsxRuntime.jsx("stop",{offset:"1","stop-color":"#5800E8"})]}),jsxRuntime.jsx("clipPath",{id:"clip0_6403_64483",children:jsxRuntime.jsx("rect",{width:"20",height:"20",fill:"white"})})]})]})};var Lo=e=>jsxRuntime.jsxs(ui$1.Flex,{direction:"column",gap:4,children:[jsxRuntime.jsx(Iu,{...e}),jsxRuntime.jsx(Ru,{...e}),jsxRuntime.jsx(_u,{...e}),jsxRuntime.jsxs(ui$1.Flex,{gap:3,width:"100%",justify:"center",children:[e.showGetTestUSDC&&jsxRuntime.jsx(ui$1.Button,{variant:"outlined",size:"md",onClick:e.onGetTestUSDC,fullWidth:!0,loading:e.gettingTestUSDC,className:"oui-border-primary-light oui-text-primary-light",children:"Get test USDC"}),jsxRuntime.jsx(ui$1.Button,{variant:"outlined",color:"danger",size:"md",onClick:e.onDisconnect,className:e.showGetTestUSDC?"oui-w-full":"oui-w-[50%]",children:"Disconnect"})]})]}),Iu=e=>jsxRuntime.jsxs(ui$1.Flex,{width:"100%",justify:"between",children:[jsxRuntime.jsxs(ui$1.Flex,{gap:3,children:[jsxRuntime.jsx(Yr,{}),jsxRuntime.jsxs(ui$1.Flex,{direction:"column",justify:"start",itemAlign:"start",className:"oui-gap-[2px]",children:[jsxRuntime.jsx(ui$1.Text.formatted,{rule:"address",children:e.address}),jsxRuntime.jsx(ui$1.Text.formatted,{size:"2xs",intensity:80,prefix:jsxRuntime.jsx("div",{className:"oui-h-1 oui-w-1 oui-rounded-full oui-bg-success oui-pr-1"}),children:e.chainName})]})]}),jsxRuntime.jsx("button",{className:"oui-cursor-pointer",onClick:()=>{e.onCopyAddress();},children:jsxRuntime.jsx(Jr,{})})]}),Ru=e=>jsxRuntime.jsxs(ui$1.Flex,{direction:"column",gap:3,r:"lg",p:3,className:"oui-bg-base-6",width:"100%",children:[jsxRuntime.jsx("button",{onClick:e.onClickReferral,className:"oui-cursor-pointer oui-w-full",children:jsxRuntime.jsxs(ui$1.Flex,{justify:"between",width:"100%",children:[jsxRuntime.jsx(ui$1.Text,{size:"2xs",children:"Referral"}),jsxRuntime.jsx(ui$1.ArrowRightShortIcon,{color:"white",opacity:.98,size:16})]})}),e.isAffiliate&&jsxRuntime.jsxs(ui$1.Flex,{gradient:"primary",p:4,r:"lg",width:"100%",angle:180,justify:"between",children:[jsxRuntime.jsxs(ui$1.Flex,{direction:"column",itemAlign:"start",children:[jsxRuntime.jsx(ui$1.Text,{size:"xs",children:"Affiliate"}),jsxRuntime.jsx(ui$1.Text,{size:"2xs",intensity:54,children:"(30d commission)"})]}),jsxRuntime.jsxs(ui$1.Flex,{className:"oui-gap-[6px]",children:[jsxRuntime.jsx(Pt,{}),jsxRuntime.jsx(ui$1.Text.numeral,{dp:2,padding:!1,rm:utils.Decimal.ROUND_DOWN,rule:"price",children:e.affiliateCommission30D??"--"})]})]}),e.isTrader&&jsxRuntime.jsxs(ui$1.Flex,{gradient:"success",p:4,r:"lg",width:"100%",angle:180,justify:"between",children:[jsxRuntime.jsxs(ui$1.Flex,{direction:"column",itemAlign:"start",children:[jsxRuntime.jsx(ui$1.Text,{size:"xs",children:"Trader"}),jsxRuntime.jsx(ui$1.Text,{size:"2xs",intensity:54,children:"(30d commission)"})]}),jsxRuntime.jsxs(ui$1.Flex,{className:"oui-gap-[6px]",children:[jsxRuntime.jsx(Pt,{}),jsxRuntime.jsx(ui$1.Text.numeral,{dp:2,padding:!1,rm:utils.Decimal.ROUND_DOWN,rule:"price",children:e.traderCommission30D??"--"})]})]})]}),_u=e=>jsxRuntime.jsxs(ui$1.Flex,{direction:"column",gap:3,r:"lg",p:3,className:"oui-bg-base-6",width:"100%",children:[jsxRuntime.jsx("button",{onClick:e.onClickTradingRewards,className:"oui-cursor-pointer oui-w-full",children:jsxRuntime.jsxs(ui$1.Flex,{justify:"between",width:"100%",children:[jsxRuntime.jsxs("span",{className:"oui-text-2xs",children:["Trading rewards",jsxRuntime.jsx(ui$1.Text,{intensity:54,children:" (epoch "}),e.curEpochId,jsxRuntime.jsx(ui$1.Text,{intensity:54,children:" )"})]}),jsxRuntime.jsx(ui$1.ArrowRightShortIcon,{color:"white",opacity:.98,size:16})]})}),jsxRuntime.jsxs(ui$1.Flex,{p:4,r:"lg",width:"100%",angle:180,justify:"between",className:"oui-bg-gradient-to-t oui-from-[#2d0061] oui-to-[#bd6bed]",children:[jsxRuntime.jsx(ui$1.Text,{size:"2xs",intensity:80,children:"My est. rewards"}),jsxRuntime.jsxs(ui$1.Flex,{className:"oui-gap-[6px]",children:[jsxRuntime.jsx(jr,{}),jsxRuntime.jsx(ui$1.Text.numeral,{dp:2,padding:!1,rm:utils.Decimal.ROUND_DOWN,rule:"price",children:e.estRewards})]})]})]});var Mo=e=>{let{account:t,state:o}=hooks.useAccount(),i=t.accountId,r=t.address,n=t.chainId,{hide:a}=ui$1.useModal(),s=hooks.useConfig(),{connectedChain:l,disconnect:c,namespace:u}=hooks.useWalletConnector(),m=react.useMemo(()=>{let w=l?.id;return w===void 0?!1:o.status===types.AccountStatusEnum.EnableTrading&&utils.isTestnet(parseInt(w))},[o.status,l]),d=Yu(),x=s.get("operatorUrl"),y=()=>{navigator.clipboard.writeText(r??""),ui$1.toast.success("Copy success");},{affiliateCommission30D:C,traderCommission30D:D,isAffiliate:h,isTrader:v,onClickReferral:b}=Xu(e.onClickReferral),{curEpochId:k,estRewards:ee,onClickTradingRewards:M}=Zu(e.onClickTradingRewards),ce=async()=>{await c({label:o.connectWallet?.name}),await t.disconnect(),a();},[Y,{isMutating:te}]=hooks.useMutation(`${x}/v1/faucet/usdc`);return {accountId:i,address:r,chainId:n,chainName:d,onCopyAddress:y,affiliateCommission30D:C,onClickReferral:b,isAffiliate:h,isTrader:v,traderCommission30D:D,curEpochId:k,onClickTradingRewards:M,estRewards:ee,onDisconnect:ce,showGetTestUSDC:m,onGetTestUSDC:()=>{if(o.status<types.AccountStatusEnum.EnableTrading)return;let w=`${u===types.ChainNamespace.solana?"100":"1,000"} USDC will be added to your balance. Please note this may take up to 3 minutes. Please check back later.`;return Y({chain_id:t.walletAdapter?.chainId.toString(),user_address:o.address,broker_id:s.get("brokerId")}).then(O=>{if(O.success)return ui$1.modal.alert({title:"Get test USDC",message:w,onOk:()=>Promise.resolve(!0)});O.message&&ui$1.toast.error(O.message);},O=>{ui$1.toast.error(O.message);})},gettingTestUSDC:te}},Xu=e=>{let{data:t,isLoading:o,isAffiliate:i,isTrader:r}=hooks.useReferralInfo(),n=react.useMemo(()=>{if(i)return t?.referrer_info["30d_referrer_rebate"]},[t]),a=react.useMemo(()=>{if(r)return t?.referee_info["30d_referee_rebate"]},[t]);return {onClickReferral:()=>{e?.();},affiliateCommission30D:n,traderCommission30D:a,isAffiliate:i,isTrader:r}},Zu=e=>{let[t]=hooks.useCurEpochEstimate(hooks.TWType.normal),[o,i]=hooks.useEpochInfo(hooks.TWType.normal),r=react.useMemo(()=>i.curEpochInfo?.epoch_id??"--",[i]),n=react.useMemo(()=>typeof t?.est_r_wallet>"u"?"--":t?.est_r_wallet,[t]);return {curEpochId:r,estRewards:n,onClickTradingRewards:()=>{e?.();}}};function Yu(){let{connectedChain:e}=hooks.useWalletConnector(),[t,{findByChainId:o}]=hooks.useChains("mainnet",{pick:"network_infos",filter:r=>r.network_infos?.bridge_enable||r.network_infos?.bridgeless});return react.useMemo(()=>{let r=o(parseInt(e?.id),"network_infos");return r?r.name:"Unknown"},[e,o])}var Oo=e=>{let t=Mo(e);return jsxRuntime.jsx(Lo,{...t})};var Io=()=>{let{referral:e,tradingRewards:t,bottomSheetLeading:o}=B(),{account:i}=hooks.useAccount();return {onShowAccountSheet:()=>{ui$1.modal.sheet({title:"Account",leading:o,content:jsxRuntime.jsx(Oo,{...e,...t})});},address:i.address}};var Ro=()=>{let e=Io();return jsxRuntime.jsx(Fo,{...e})};var Eo=e=>jsxRuntime.jsxs(ui$1.Flex,{gap:3,children:[jsxRuntime.jsxs(ui$1.Flex,{direction:"column",itemAlign:"start",className:"oui-text-[11px] oui-cursor-pointer",onClick:t=>{e.onShowPortfolioSheet();},children:[jsxRuntime.jsxs(ui$1.Flex,{children:[jsxRuntime.jsx(ui$1.Text,{intensity:54,children:"Total value"}),jsxRuntime.jsx("button",{onClick:t=>{t.stopPropagation(),t.preventDefault(),e.setHideAssets(!e.hideAssets);},className:"oui-px-1",children:e.hideAssets?jsxRuntime.jsx(ui$1.EyeIcon,{color:"primary",opacity:1,size:16,className:"oui-text-primary-light"}):jsxRuntime.jsx(ui$1.EyeCloseIcon,{color:"primary",opacity:1,size:16,className:"oui-text-primary-light"})}),jsxRuntime.jsx(lc,{})]}),jsxRuntime.jsx(ui$1.Text.numeral,{suffix:jsxRuntime.jsx(ui$1.Text,{intensity:20,children:"\xA0USDC"}),dp:2,visible:!e.hideAssets,children:e.isEnableTrading?e.total??"--":"--"})]}),!e.wrongNetwork&&e.isEnableTrading&&jsxRuntime.jsx(ui$1.Divider,{direction:"vertical",className:"oui-h-[26px]"}),!e.wrongNetwork&&e.isEnableTrading&&jsxRuntime.jsx(ui$1.Button,{variant:"outlined",onClick:t=>{e.onShowPortfolioSheet();},className:"oui-h-[28px] oui-text-2xs oui-text-primary-light oui-border-primary-light",children:utils.commifyOptional(e.currentLeverage,{fix:2})+"x"})]}),lc=()=>jsxRuntime.jsx("svg",{width:"8",height:"8",viewBox:"0 0 8 8",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{d:"M6.456 3.48a3.5 3.5 0 0 0 .431-.567 9 9 0 0 0 .361-.654l-.648-.66-.107.185q-.071.12-.142.244a3 3 0 0 1-.27.396 1.4 1.4 0 0 1-.318.29.67.67 0 0 1-.38.114q-.307 0-.666-.194t-.742-.42q-.383-.227-.777-.42a1.7 1.7 0 0 0-.771-.194q-.401.001-.72.154a2.1 2.1 0 0 0-.57.404 2.6 2.6 0 0 0-.43.574 5 5 0 0 0-.307.646l.649.66q.165-.437.464-.833.298-.395.742-.396.347 0 .7.194.354.193.721.42.37.227.763.42.396.195.826.195.374.001.665-.155.29-.151.526-.404m.352 2.941a3.5 3.5 0 0 0 .431-.566q.196-.315.361-.654l-.648-.66-.107.184-.142.244a3 3 0 0 1-.27.396 1.4 1.4 0 0 1-.318.29.67.67 0 0 1-.38.115q-.307 0-.666-.195-.36-.193-.742-.42-.383-.226-.778-.42a1.7 1.7 0 0 0-.77-.194q-.401.001-.72.154a2.1 2.1 0 0 0-.57.405 2.6 2.6 0 0 0-.43.574 5 5 0 0 0-.307.646l.649.66q.165-.437.464-.833.297-.395.742-.396.347 0 .7.194.354.193.721.42.369.226.763.42.396.194.826.194.374.001.665-.154.29-.152.526-.404",fill:"#fff",fillOpacity:".54"})});var Ho=()=>{let{account:e}=hooks.useAccount(),t=gc(),o=pc(),[i,r]=react.useState(!1),n=react.useCallback(async()=>e.settle().catch(l=>{if(l.code==-1104)return ui$1.toast.error("Settlement is only allowed once every 10 minutes. Please try again later."),Promise.reject(l);if(l?.code==="ACTION_REJECTED")return ui$1.toast.error("User rejected the request."),Promise.reject(l)}).then(l=>(ui$1.toast.success("Settlement requested"),Promise.resolve(l))),[e]),a=react.useCallback(()=>{ui$1.modal.show(uiTransfer.DepositAndWithdrawWithSheetId,{activeTab:"deposit"});},[]),s=react.useCallback(()=>{ui$1.modal.show(uiTransfer.DepositAndWithdrawWithSheetId,{activeTab:"withdraw"});},[]);return {...t,...o,onSettlePnL:n,onDeposit:a,onWithdraw:s,showSliderTip:i,setShowSliderTip:r}},gc=()=>{let{hideAssets:e,setHideAssets:t}=E(),o=()=>{t(!e);},{totalCollateral:i,freeCollateral:r,totalValue:n,availableBalance:a}=hooks.useCollateral({dp:2});return {hideAssets:e,toggleHideAssets:o,totalCollateral:i,freeCollateral:r,totalValue:n,availableBalance:a}},pc=()=>{let[{aggregated:e,totalUnrealizedROI:t},o]=hooks.usePositionStream(),{marginRatio:i,currentLeverage:r,mmr:n}=hooks.useMarginRatio(),a=react.useMemo(()=>Math.min(10,e.notional===0?o.margin_ratio(10):i),[i,e]),[s,{update:l,config:c,isMutating:u}]=hooks.useLeverage(),m=react.useMemo(()=>c?.map(b=>({label:`${b}x`,value:b}))||[],[c]),[d,x]=react.useState(s??0),y=c?.reduce((b,k)=>Math.max(b,Number(k),0)),C=100/((m?.length||0)-1),D=b=>{x(b);},h=async b=>{try{l({leverage:b}).then(k=>{ui$1.toast.success("Leverage updated");},k=>{ui$1.toast.error(k.message);});}catch{}},v=react.useCallback(b=>{h(b[0]);},[]);return {aggregated:e,totalUnrealizedROI:t,positionsInfo:o,marginRatio:i,marginRatioVal:a,mmr:n,currentLeverage:r,step:C,marks:m,onLeverageChange:D,onValueCommit:v,value:d,maxLeverage:y,onSaveLeverage:h}};function cn(e,t){if(t===null)return {isRed:!1,isYellow:!1,isGreen:!0};let o=t*2,i=e<=o,r=e>o&&e<1,n=e>=1;return {high:i,mid:r,low:n}}var dn=e=>{let{size:t=20,className:o}=e;return jsxRuntime.jsx("div",{className:"oui-flex oui-justify-center oui-items-end",style:{background:"url(/images/riskLevelBg.png)",backgroundSize:"contain",backgroundRepeat:"no-repeat",backgroundPosition:"center bottom",width:`${t}px`,height:"14px"},children:jsxRuntime.jsx("div",{className:ui$1.cn("oui-relative oui-w-[2px] oui-h-[2px] oui-rounded-full oui-bg-white after:oui-block after:oui-content-[''] after:oui-absolute after:oui-right-0 after:oui-w-[10px] after:oui-h-[2px] after:oui-bg-white/50",o)})})};var qo=e=>jsxRuntime.jsxs(ui$1.Flex,{direction:"column",gap:4,width:"100%",children:[jsxRuntime.jsx(Nc,{...e}),jsxRuntime.jsx(ui$1.Divider,{className:"oui-w-full"}),jsxRuntime.jsx(kc,{...e}),jsxRuntime.jsx(Dc,{...e}),jsxRuntime.jsx(Fc,{...e})]}),Nc=e=>{let t=react.useCallback(()=>ui$1.modal.confirm({title:"Settle PnL",content:jsxRuntime.jsx(ui$1.Text,{intensity:54,size:"xs",children:"Are you sure you want to settle your PnL? Settlement will take up to 1 minute before you can withdraw your available balance."}),onCancel:()=>Promise.reject(),onOk:()=>typeof e.onSettlePnL!="function"?Promise.resolve():e.onSettlePnL().catch(i=>{})}),[]),o=e.totalUnrealizedROI>0?"oui-text-success-darken":"oui-text-danger-darken";return jsxRuntime.jsxs(ui$1.Flex,{direction:"column",gap:3,width:"100%",children:[jsxRuntime.jsxs(ui$1.Flex,{direction:"column",itemAlign:"start",width:"100%",children:[jsxRuntime.jsx(ui$1.Text.formatted,{size:"2xs",intensity:36,suffix:e.hideAssets?jsxRuntime.jsx(ui$1.EyeIcon,{opacity:1,size:16,className:"oui-text-primary-light"}):jsxRuntime.jsx(ui$1.EyeCloseIcon,{opacity:1,size:16,className:"oui-text-primary-light"}),onClick:i=>{e.toggleHideAssets();},className:"oui-cursor-pointer",children:"Total value (USDC)"}),jsxRuntime.jsx(ui$1.Text.numeral,{size:"base",dp:2,padding:!1,visible:!e.hideAssets,children:e.totalValue??"--"})]}),jsxRuntime.jsxs(ui$1.Grid,{cols:2,rows:1,width:"100%",children:[jsxRuntime.jsx(ui$1.Statistic,{label:"Unreal. PnL (USDC)",classNames:{label:"oui-text-2xs oui-text-base-contrast-36"},children:jsxRuntime.jsxs(ui$1.Flex,{gap:1,children:[jsxRuntime.jsx(ui$1.Text.numeral,{size:"xs",coloring:!0,dp:2,padding:!1,visible:!e.hideAssets,children:e.aggregated.unrealPnL}),!e.hideAssets&&jsxRuntime.jsx(ui$1.Text.numeral,{size:"xs",dp:2,padding:!1,rule:"percentages",prefix:"(",suffix:")",className:o,children:e.totalUnrealizedROI})]})}),jsxRuntime.jsx(ui$1.Statistic,{label:"Unsettled PnL (USDC)",classNames:{label:"oui-text-2xs oui-text-base-contrast-36"},children:jsxRuntime.jsxs(ui$1.Flex,{justify:"between",width:"100%",children:[jsxRuntime.jsx(ui$1.Text.numeral,{size:"xs",coloring:!0,dp:2,padding:!1,visible:!e.hideAssets,children:e.aggregated.unsettledPnL}),jsxRuntime.jsxs("button",{className:"oui-flex oui-gap-1 oui-items-center",onClick:t,children:[jsxRuntime.jsx(ui$1.RefreshIcon,{opacity:1,size:12,className:"oui-text-primary-light"}),jsxRuntime.jsx(ui$1.Text,{size:"2xs",color:"primary",children:"Settle PnL"})]})]})})]})]})},kc=e=>{let{high:t,mid:o,low:i}=cn(e.marginRatioVal,e.mmr);return jsxRuntime.jsxs(ui$1.Grid,{cols:2,rows:1,width:"100%",children:[jsxRuntime.jsx(ui$1.Statistic,{label:"Margin Ratio",classNames:{label:"oui-text-2xs oui-text-base-contrast-36"},children:jsxRuntime.jsxs(ui$1.Flex,{gap:2,children:[jsxRuntime.jsx(ui$1.Text.numeral,{size:"xs",rule:"percentages",color:"primary",dp:2,padding:!1,visible:!e.hideAssets,children:e.marginRatioVal}),!e.hideAssets&&jsxRuntime.jsx(dn,{className:i?"oui-rotate-0":o?"oui-rotate-90":t?"oui-rotate-180":""})]})}),jsxRuntime.jsx(ui$1.Statistic,{label:"Free / Total Collateral (USDC)",classNames:{label:"oui-text-2xs oui-text-base-contrast-36"},children:jsxRuntime.jsxs(ui$1.Flex,{justify:"start",width:"100%",gap:1,children:[jsxRuntime.jsx(ui$1.Text.numeral,{size:"xs",dp:2,padding:!1,visible:!e.hideAssets,children:e.freeCollateral}),jsxRuntime.jsx(ui$1.Text,{size:"xs",children:"/"}),jsxRuntime.jsx(ui$1.Text.numeral,{size:"xs",dp:2,padding:!1,visible:!e.hideAssets,children:e.totalCollateral})]})})]})},Dc=e=>jsxRuntime.jsxs(ui$1.Flex,{direction:"column",gap:2,width:"100%",children:[jsxRuntime.jsxs(ui$1.Flex,{width:"100%",justify:"between",children:[jsxRuntime.jsx(ui$1.Text,{size:"2xs",intensity:54,children:"Max account leverage"}),jsxRuntime.jsx(ui$1.Text.numeral,{size:"2xs",prefix:jsxRuntime.jsx(ui$1.Text,{size:"2xs",intensity:54,children:"Current: "}),suffix:"x",children:e.currentLeverage??"--"})]}),jsxRuntime.jsx(uiLeverage.LeverageSlider,{value:e.value,maxLeverage:e.maxLeverage,onLeverageChange:e.onLeverageChange,setShowSliderTip:e.setShowSliderTip,showSliderTip:e.showSliderTip,onValueCommit:e.onValueCommit})]});var Fc=e=>jsxRuntime.jsxs(ui$1.Grid,{cols:2,rows:1,gap:3,className:"oui-grid-row-[1fr,1fr]",width:"100%",pt:2,pb:4,children:[jsxRuntime.jsx(ui$1.Button,{icon:jsxRuntime.jsx(ui$1.ArrowUpShortIcon,{color:"white",opacity:.8}),size:"md",fullWidth:!0,className:"oui-bg-base-2 hover:oui-bg-base-2/50",onClick:e.onWithdraw,children:"Withdraw"}),jsxRuntime.jsx(ui$1.Button,{icon:jsxRuntime.jsx(ui$1.ArrowDownShortIcon,{color:"white",opacity:.8}),size:"md",fullWidth:!0,onClick:e.onDeposit,children:"Deposit"})]});var Qo=()=>{let e=Ho();return jsxRuntime.jsx(qo,{...e})};var Uo=()=>{let{bottomSheetLeading:e}=B(),{hideAssets:t,setHideAssets:o}=E(),{wrongNetwork:i}=reactApp.useAppContext(),{state:r}=hooks.useAccount(),{currentLeverage:n}=hooks.useMarginRatio(),{totalValue:a}=hooks.useCollateral(),s=r.status>=types.AccountStatusEnum.EnableTrading,l=()=>{s&&ui$1.modal.sheet({title:"Asset & Margin",leading:e,content:jsxRuntime.jsx(Qo,{})});},c=reactApp.useDataTap(a);return {currentLeverage:n,total:c,hideAssets:t,setHideAssets:o,onShowPortfolioSheet:l,wrongNetwork:i,isEnableTrading:s}};var Go=()=>{let e=Uo();return jsxRuntime.jsx(Eo,{...e})};var Ko=e=>jsxRuntime.jsxs("div",{className:"oui-bg-base-9 oui-border-t oui-border-line-4",children:[jsxRuntime.jsxs(ui$1.Flex,{height:64,gap:1,justify:"between",itemAlign:"center",className:" oui-px-[14px] oui-pt-[7px] ",children:[jsxRuntime.jsx(Go,{}),jsxRuntime.jsxs(ui$1.Flex,{gap:2,children:[!e.wrongNetwork&&jsxRuntime.jsx(Do,{}),jsxRuntime.jsx(Ro,{})]})]}),jsxRuntime.jsx("div",{className:"oui-h-[env(safe-area-inset-bottom)]"})]});var Xo=()=>{let{wrongNetwork:e}=reactApp.useAppContext();return {wrongNetwork:e}};var Zo=()=>{let e=Xo();return jsxRuntime.jsx(Ko,{...e})};var Yo=()=>{let[e,t]=react.useState("chart"),{symbol:o}=B(),[i,r]=react.useState(!0);return {tab:e,setTab:t,symbol:o,toggleContentVisible:()=>{r(a=>!a);},setVisible:r,visible:i}};var hn=e=>jsxRuntime.jsx(Ne,{symbol:e.symbol,classNames:{root:"oui-px-3 ",list:"oui-min-h-[141px] oui-max-h-[202px] oui-w-full",listHeader:"oui-text-xs oui-text-base-contrast-36",listItem:{left:"oui-text-xs",mid:"oui-text-xs",right:"oui-text-xs"}}});var ti=e=>jsxRuntime.jsxs(ui$1.Flex,{direction:"column",gap:2,children:[jsxRuntime.jsx(Me,{title:"Mark price",value:e.ticker?.mark_price,dp:e.symbolInfo.quote_dp}),jsxRuntime.jsx(Me,{title:"Index price",value:e.ticker?.index_price,dp:e.symbolInfo.quote_dp}),jsxRuntime.jsx(Me,{title:"24h volume",value:e.vol_24h,dp:e.symbolInfo.quote_dp,rule:"human",showUSDC:!0}),jsxRuntime.jsx(Me,{title:"24h high",value:e.ticker?.["24h_high"],dp:e.symbolInfo.quote_dp}),jsxRuntime.jsx(Me,{title:"24h low",value:e.ticker?.["24h_low"],dp:e.symbolInfo.quote_dp}),jsxRuntime.jsx(Me,{title:"Open interest",value:e.openInterest,dp:e.symbolInfo.quote_dp,rule:"human",showUSDC:!0})]}),Me=e=>{let{title:t,value:o,showUSDC:i,dp:r,rule:n="price"}=e;return jsxRuntime.jsxs(ui$1.Flex,{justify:"between",width:"100%",className:"oui-text-xs",children:[jsxRuntime.jsx(ui$1.Text,{intensity:36,children:t}),jsxRuntime.jsxs(ui$1.Flex,{gap:1,children:[jsxRuntime.jsx(ui$1.Text.numeral,{rule:n,dp:r,intensity:80,children:o}),i&&jsxRuntime.jsx(ui$1.Text,{intensity:36,children:"USDC"})]})]})};var oi=e=>{let{symbol:t}=e,o=hooks.useTickerStream(t),{symbolInfo:i}=B(),r=react.useMemo(()=>{let a=o?.["24h_close"],s=o?.["24h_volume"];if(a&&s&&!isNaN(a)&&!isNaN(s))return new utils.Decimal(a).mul(s).toFixed(i.quote_dp,utils.Decimal.ROUND_DOWN)},[o]),n=react.useMemo(()=>{let a=o?.mark_price,s=o?.open_interest;if(a&&s&&!isNaN(a))return new utils.Decimal(a).mul(Number(s)).toFixed(i.quote_dp,utils.Decimal.ROUND_DOWN)},[o]);return {ticker:o,symbolInfo:i,vol_24h:r,openInterest:n}};var ii=e=>{let t=oi(e);return jsxRuntime.jsx(ti,{...t})};var ni=e=>{let{tradingViewConfig:t}=B();return jsxRuntime.jsxs(ui$1.Tabs,{variant:"contained",value:e.tab,contentVisible:e.visible,onValueChange:o=>{e.setTab(o),e.setVisible(!0);},className:e.className,classNames:{tabsList:"oui-p-2",tabsContent:"oui-min-h-[176px] oui-max-h-[234px]"},trailing:jsxRuntime.jsx("button",{className:"oui-px-5",onClick:e.toggleContentVisible,children:jsxRuntime.jsx(Xc,{className:e.visible?"oui-rotate-0":"oui-rotate-180"})}),children:[jsxRuntime.jsx(ui$1.TabPanel,{title:"Chart",value:"chart",children:jsxRuntime.jsx("div",{className:"oui-h-[234px] oui-pb-1",children:jsxRuntime.jsx(uiTradingview.TradingviewWidget,{symbol:e.symbol,libraryPath:t?.library_path,mode:3,scriptSRC:t?.scriptSRC,customCssUrl:t?.customCssUrl})})}),jsxRuntime.jsx(ui$1.TabPanel,{title:"Trades",value:"trades",children:jsxRuntime.jsx(hn,{symbol:e.symbol})}),jsxRuntime.jsx(ui$1.TabPanel,{title:"Data",value:"data",children:jsxRuntime.jsx(ui$1.Box,{px:3,children:jsxRuntime.jsx(ii,{symbol:e.symbol})})})]})},Xc=e=>jsxRuntime.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",className:ui$1.cn("oui-fill-base-contrast-54 hover:oui-fill-base-contrast-80",e.className),children:[jsxRuntime.jsx("path",{d:"M5.721 4.585 2.726 6.578a.51.51 0 0 0-.14.7.51.51 0 0 0 .702.14l2.714-1.806 2.715 1.806c.23.153.549.089.702-.14a.51.51 0 0 0-.14-.7L6.283 4.585a.51.51 0 0 0-.562 0"}),jsxRuntime.jsx("defs",{})]});var ai=e=>{let t=Yo();return jsxRuntime.jsx(ni,{className:e.className,...t})};var si=e=>{let[t,o]=react.useState(0),i=react.useRef(null);return react.useEffect(()=>{let r=i.current;if(!r)return;let n=new ResizeObserver(a=>{for(let s of a)o(s.contentRect.height);});return n.observe(r),()=>{n.unobserve(r);}},[]),jsxRuntime.jsxs("div",{className:ui$1.cn("oui-grid oui-grid-cols-[4fr,6fr] oui-gap-1 oui-mx-1 ",e.className),children:[jsxRuntime.jsx("div",{className:"oui-bg-base-9 oui-rounded-xl",style:{height:`${t+16}px`},children:jsxRuntime.jsx(Be,{symbol:e.symbol,height:t?t-44:void 0,tabletMediaQuery:e.tabletMediaQuery})}),jsxRuntime.jsx("div",{className:"oui-bg-base-9 oui-rounded-xl oui-p-2",children:jsxRuntime.jsx(uiOrderEntry.OrderEntryWidget,{symbol:e.symbol,containerRef:i})})]})};var li=()=>{let{symbol:e,tabletMediaQuery:t}=B();return {symbol:e,tabletMediaQuery:t}};var ui=e=>{let t=li();return jsxRuntime.jsx(si,{className:e.className,...t})};var yn=()=>{let{appIcons:e}=reactApp.useAppConfig(),{secondary:t}=e||{};return t?.img?jsxRuntime.jsx("img",{src:t?.img,className:"oui-w-5 oui-h-5"}):t?.component?t.component:null};var ci=e=>{let{symbol:t,sharePnLConfig:o}=e,[i,r]=react.useState("Position"),[n,a]=react.useState("Position history"),{tabletMediaQuery:s,onSymbolChange:l}=B(),c=E(),[u,{cancelAllOrders:m,cancelAllTPSLOrders:d}]=hooks.useOrderStream({}),{positionCount:x}=Ie(t),{pendingOrderCount:y,tpSlOrderCount:C}=Re(t);return {tab:i,setTab:r,subTab:n,setSubTab:a,tabletMediaQuery:s,sharePnLConfig:o,symbol:t,positionCount:x,pendingOrderCount:y,tpSlOrderCount:C,...c,onCloseAll:h=>{let v=h===uiOrders.TabType.pending?"Cancel all pending orders":h===uiOrders.TabType.tp_sl?"Cancel all TP/SL orders":"",b=h===uiOrders.TabType.pending?"Are you sure you want to cancel all of your pending orders?":h===uiOrders.TabType.tp_sl?"Are you sure you want to cancel all of your TP/SL orders?":"";ui$1.modal.confirm({title:v,content:jsxRuntime.jsx(ui$1.Text,{size:"2xs",children:b}),onOk:async()=>{try{return i==="TP/SL"?await d():await m(),Promise.resolve(!0)}catch(k){return k?.message!==void 0&&toast.error(k.message),Promise.resolve(!1)}finally{Promise.resolve();}}});},onSymbolChange:l}};var di=e=>jsxRuntime.jsxs(ui$1.Tabs,{value:e.tab,onValueChange:t=>e.setTab(t),size:"lg",className:e.className,classNames:{tabsList:"oui-bg-base-9 oui-rounded-t-xl oui-p-2 oui-overflow-x-scroll oui-hide-scrollbar"},children:[jsxRuntime.jsx(ui$1.TabPanel,{title:(e.positionCount??0)>0?`Position(${e.positionCount})`:"Position",value:"Position",children:jsxRuntime.jsx(xm,{...e})}),jsxRuntime.jsx(ui$1.TabPanel,{title:(e.pendingOrderCount??0)>0?`Pending(${e.pendingOrderCount})`:"Pending",value:"Pending",children:jsxRuntime.jsx(mi,{type:uiOrders.TabType.pending,ordersStatus:types.OrderStatus.INCOMPLETE,...e})}),jsxRuntime.jsx(ui$1.TabPanel,{title:(e.tpSlOrderCount??0)>0?`TP/SL(${e.tpSlOrderCount})`:"TP/SL",value:"TP/SL",children:jsxRuntime.jsx(mi,{type:uiOrders.TabType.tp_sl,ordersStatus:types.OrderStatus.INCOMPLETE,...e})}),jsxRuntime.jsx(ui$1.TabPanel,{title:"History",value:"History",children:jsxRuntime.jsx(Sm,{...e})}),jsxRuntime.jsx(ui$1.TabPanel,{title:"Liquidation",value:"Liquidation",children:jsxRuntime.jsx(uiPositions.MobileLiquidationWidget,{symbol:e.showAllSymbol?void 0:e.symbol,classNames:{cell:"oui-p-2 oui-bg-base-9 oui-rounded-xl"}})})]}),xm=e=>jsxRuntime.jsxs(ui$1.Flex,{direction:"column",gap:2,children:[jsxRuntime.jsx(Ee,{pnlNotionalDecimalPrecision:e.pnlNotionalDecimalPrecision,symbol:e.showAllSymbol?void 0:e.symbol,unPnlPriceBasis:e.unPnlPriceBasis,tabletMediaQuery:e.tabletMediaQuery}),jsxRuntime.jsx(uiPositions.MobilePositionsWidget,{symbol:e.showAllSymbol?void 0:e.symbol,onSymbolChange:e.onSymbolChange,sharePnLConfig:e.sharePnLConfig,pnlNotionalDecimalPrecision:e.pnlNotionalDecimalPrecision})]}),mi=e=>jsxRuntime.jsxs(ui$1.Flex,{direction:"column",pb:2,width:"100%",children:[jsxRuntime.jsx(ui$1.Divider,{className:"oui-w-full"}),e.type!==uiOrders.TabType.orderHistory&&jsxRuntime.jsx(ym,{...e}),jsxRuntime.jsx(uiOrders.MobileOrderListWidget,{symbol:e.showAllSymbol?void 0:e.symbol,onSymbolChange:e.onSymbolChange,type:e.type,ordersStatus:e.ordersStatus,classNames:{root:"oui-w-full oui-hide-scrollbar oui-overflow-y-hidden",content:"!oui-space-y-1",cell:"oui-py-2 oui-bg-base-9 oui-p-2 oui-rounded-xl"},showFilter:e.type===uiOrders.TabType.orderHistory,filterConfig:{range:{from:void 0,to:void 0}}})]}),ym=e=>jsxRuntime.jsxs(ui$1.Flex,{px:2,py:2,width:"100%",justify:"between",gap:2,className:"oui-rounded-b-xl oui-bg-base-9",children:[jsxRuntime.jsxs(ui$1.Flex,{className:"oui-gap-[2px] oui-cursor-pointer",children:[jsxRuntime.jsx(ui$1.Checkbox,{color:"white",checked:e.showAllSymbol,onCheckedChange:t=>{e.setShowAllSymbol(t);}}),jsxRuntime.jsx(ui$1.Text,{size:"2xs",intensity:54,onClick:()=>{e.setShowAllSymbol(!e.showAllSymbol);},children:"Show all trading pairs"})]}),jsxRuntime.jsx(ui$1.Button,{variant:"outlined",size:"xs",color:"secondary",onClick:t=>{e.onCloseAll(e.type);},children:"Close All"})]}),Sm=e=>jsxRuntime.jsx("div",{className:"oui-min-h-[300px]",children:jsxRuntime.jsxs(ui$1.Tabs,{value:e.subTab,onValueChange:t=>e.setSubTab(t),size:"md",classNames:{tabsList:"oui-bg-base-9 oui-rounded-t-xl oui-p-2"},children:[jsxRuntime.jsx(ui$1.TabPanel,{title:"Position history",value:"Position history",children:jsxRuntime.jsx(uiPositions.MobilePositionHistoryWidget,{symbol:e.showAllSymbol?void 0:e.symbol,onSymbolChange:e.onSymbolChange,classNames:{cell:"oui-p-2 oui-bg-base-9 oui-rounded-xl"}})}),jsxRuntime.jsx(ui$1.TabPanel,{title:"Order history",value:"Order history",children:jsxRuntime.jsx(mi,{type:uiOrders.TabType.orderHistory,...e})})]})});var fi=e=>{let t=ci(e);return jsxRuntime.jsx(di,{...t,className:e.className})};var Pn=e=>{let t=()=>{e.onOpenMarketsSheetChange(!0);},o=jsxRuntime.jsxs(ui$1.Box,{intensity:900,px:3,height:54,children:[jsxRuntime.jsx(markets.TokenInfoBarWidget,{symbol:e.symbol,trailing:jsxRuntime.jsx(yn,{}),onSymbol:t}),jsxRuntime.jsx(ui$1.SimpleSheet,{open:e.openMarketsSheet,onOpenChange:e.onOpenMarketsSheetChange,classNames:{body:"oui-h-full oui-pb-[env(safe-area-inset-bottom)]",content:"oui-w-[280px] !oui-p-0 oui-rounded-bl-[40px] oui-h-full "},contentProps:{side:"left",closeable:!1},children:jsxRuntime.jsx(markets.MarketsSheetWidget,{symbol:e.symbol,onSymbolChange:i=>{e.onOpenMarketsSheetChange(!1),e.onSymbolChange?.(i);}})})]});return jsxRuntime.jsxs("div",{style:{paddingBottom:"calc(64px + env(safe-area-inset-bottom))"},className:"oui-grid oui-grid-rows-[auto,1fr,auto] oui-h-screen oui-gap-1 oui-relative oui-bg-base-10",children:[jsxRuntime.jsx("header",{children:o}),jsxRuntime.jsx("div",{children:jsxRuntime.jsx(uiScaffold.MaintenanceTipsWidget,{})}),jsxRuntime.jsxs("main",{className:"oui-overflow-y-auto oui-hide-scrollbar oui-space-y-1",children:[jsxRuntime.jsx(ai,{className:"oui-mx-1 oui-bg-base-9 oui-rounded-xl"}),jsxRuntime.jsx(ui,{}),jsxRuntime.jsx(fi,{symbol:e.symbol,className:"oui-mx-1 oui-rounded-xl",sharePnLConfig:e.sharePnLConfig})]}),jsxRuntime.jsx("div",{className:"oui-fixed oui-left-0 oui-right-0 oui-bottom-0",children:jsxRuntime.jsx(Zo,{})})]})};var Lt=(e,t,o)=>[react.useMemo(()=>{let n=localStorage.getItem(e);return n?`${n}%`:t},[e,t,o]),n=>{localStorage.setItem(e,n);}];var Nn=()=>{let[e,t]=react.useState(!1),o=B(),[i,r]=react.useState(!1),{state:n}=hooks.useAccount(),{wrongNetwork:a}=reactApp.useAppContext(),{isFirstTimeDeposit:s}=jt(),l=hooks.useMediaQuery("(max-width: 1440px)"),c=hooks.useMediaQuery("(max-width: 1680px)"),[u,m]=hooks.useLocalStorage("orderly_side_markets_collapsed",void 0),[d,x]=hooks.useLocalStorage("orderly_assets_orderEntry_margin_positions",[0,1,2]),[y,C]=hooks.useLocalStorage("orderly_order_entry_side_markets_layout","right"),[D,h]=Lt("orderly_main_split_size",void 0,y),[v,b]=Lt("orderly_datalist_split_size","350px"),[k,ee]=Lt("orderly_orderbook_split_size","280px",y),M=_=>{m(_),r(!0);},ce=(_,U)=>{let W=[...d];if(_===0&&U===W.length-1){W[U]=d[_];for(let H=0;H<W.length-1;H++)W[H]=d[H+1];}else if(_===W.length-1&&U===0){W[U]=d[_];for(let H=1;H<W.length;H++)W[H]=d[H-1];}else [W[_],W[U]]=[W[U],W[_]];x(W);},Y=react.useMemo(()=>!(n.status<types.AccountStatusEnum.EnableTrading||a),[n.status,a]),te=react.useMemo(()=>Y&&!s,[Y,s]),Te=react.useMemo(()=>te?d:[0,1,2],[te,d]),O={collapsed:react.useMemo(()=>u===void 0?l:u,[l,u]),onCollapse:M,layout:y,onLayout:C,orderBookSplitSize:k,setOrderbookSplitSize:ee,dataListSplitSize:v,setDataListSplitSize:b,mainSplitSize:D,setMainSplitSize:h,isMedium:c,animating:i,setAnimating:r,positions:Te,updatePositions:ce,canTrading:Y,showPositionIcon:te,openMarketsSheet:e,onOpenMarketsSheetChange:t};return {...o,...O}};function kn(e){return e?`${100-Math.min(Number(e),100)}`:""}var Dn=e=>jsxRuntime.jsx(Wm,{...e,children:jsxRuntime.jsxs(ui$1.Flex,{className:ui$1.cn("oui-rounded-md","oui-w-[69px] oui-h-[28px]","oui-cursor-pointer oui-transition-all","oui-bg-base-6 hover:oui-bg-base-4","oui-text-base-contrast-54 hover:oui-text-base-contrast-80"),gapX:1,justify:"center",itemAlign:"center",children:[jsxRuntime.jsx(Em,{}),jsxRuntime.jsx(ui$1.Text,{size:"2xs",weight:"semibold",children:"Layout"})]})}),Wm=e=>{let[t,o]=react.useState(!1),i=n=>jsxRuntime.jsxs(ui$1.Flex,{direction:"column",gapY:2,onClick:()=>{e.onLayout?.(n);},className:"oui-group",children:[jsxRuntime.jsx(ui$1.Flex,{justify:n==="right"?"end":"start",className:ui$1.cn("oui-w-[148px] oui-h-[100px]","oui-bg-base-10 oui-rounded-[10px]","oui-border-[4px] oui-border-base-5 group-hover:oui-border-primary-light",e.layout===n&&"!oui-border-primary-light"),children:jsxRuntime.jsx(ui$1.Box,{p:1,children:jsxRuntime.jsx(Hm,{})})}),jsxRuntime.jsxs(ui$1.Text,{size:"2xs",intensity:54,className:ui$1.cn("oui-text-base-contrast-54 group-hover:oui-text-base-contrast-80",e.layout===n&&"oui-text-base-contrast-80"),children:["Advanced (",n,")"]})]}),r=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs(ui$1.Flex,{itemAlign:"center",justify:"between",mt:3,className:"oui-mb-[10px]",children:[jsxRuntime.jsx(ui$1.Text,{size:"base",intensity:98,children:"layout"}),jsxRuntime.jsx(ui$1.CloseIcon,{size:16,className:"oui-text-base-contrast-80 oui-cursor-pointer",opacity:.98,onClick:()=>{o(!1);}})]}),jsxRuntime.jsx(ui$1.Divider,{}),jsxRuntime.jsxs(ui$1.Flex,{gapX:6,mt:5,children:[i("right"),i("left")]})]});return jsxRuntime.jsxs(ui$1.DropdownMenuRoot,{open:t,onOpenChange:o,children:[jsxRuntime.jsx(ui$1.DropdownMenuTrigger,{asChild:!0,children:e.children}),jsxRuntime.jsx(ui$1.DropdownMenuPortal,{children:jsxRuntime.jsx(ui$1.DropdownMenuContent,{onCloseAutoFocus:n=>n.preventDefault(),onClick:n=>n.stopPropagation(),align:"end",className:ui$1.cn("oui-bg-base-8 oui-p-5 oui-pt-0 oui-w-[360px] oui-font-semibold"),children:r})})]})},Em=e=>jsxRuntime.jsx("svg",{width:"17",height:"16",viewBox:"0 0 17 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...e,children:jsxRuntime.jsx("path",{d:"M3.832 1.994c-.736 0-1.333.597-1.333 1.333v9.334c0 .737.597 1.333 1.333 1.333H6.5c.737 0 1.333-.596 1.333-1.333V3.327c0-.736-.596-1.333-1.333-1.333zm6.667 0c-.737 0-1.333.597-1.333 1.333v2.667c0 .737.596 1.333 1.333 1.333h2.667c.736 0 1.333-.596 1.333-1.333V3.327c0-.736-.597-1.333-1.333-1.333zm.437 6.679a2.7 2.7 0 0 0-1.033.607.284.284 0 0 0-.061.339c.222.411-.01.851-.512.876a.29.29 0 0 0-.26.217c-.05.207-.07.38-.07.608 0 .19.02.407.06.599a.28.28 0 0 0 .252.217c.506.044.756.429.53.92a.28.28 0 0 0 .06.321c.296.273.635.466 1.034.59a.285.285 0 0 0 .312-.104c.31-.427.757-.428 1.05 0a.28.28 0 0 0 .313.113 2.8 2.8 0 0 0 1.042-.599.28.28 0 0 0 .06-.33c-.23-.466.035-.894.513-.902a.28.28 0 0 0 .269-.209c.048-.199.06-.372.06-.616q0-.316-.069-.616a.276.276 0 0 0-.27-.217c-.469-.001-.732-.463-.502-.868a.27.27 0 0 0-.053-.339 2.8 2.8 0 0 0-1.059-.607.274.274 0 0 0-.312.112c-.268.417-.77.425-1.033.009a.284.284 0 0 0-.321-.121m.842 1.536a1.111 1.111 0 1 1 0 2.222 1.111 1.111 0 0 1 0-2.222"})}),Hm=e=>jsxRuntime.jsxs("svg",{width:"36",height:"84",viewBox:"0 0 36 84",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsxRuntime.jsx("rect",{width:"36",height:"17",rx:"2",fill:"#181C23"}),jsxRuntime.jsx("rect",{y:"19",width:"36",height:"54",rx:"2",fill:"#181C23"}),jsxRuntime.jsx("rect",{y:"75",width:"36",height:"9",rx:"2",fill:"#181C23"}),jsxRuntime.jsx("rect",{x:"3",y:"79",width:"30",height:"1",rx:"0.5",fill:"url(#paint0_linear_17647_26849)"}),jsxRuntime.jsx("rect",{x:"3",y:"22",width:"14",height:"6",rx:"2",fill:"#008676"}),jsxRuntime.jsx("rect",{x:"19",y:"22",width:"14",height:"6",rx:"2",fill:"#D92D6B"}),jsxRuntime.jsx("rect",{x:"3",y:"11",width:"14",height:"3",rx:"1.5",fill:"#333948"}),jsxRuntime.jsx("rect",{x:"19",y:"11",width:"14",height:"3",rx:"1.5",fill:"#335FFC"}),jsxRuntime.jsx("rect",{x:"3",y:"62",width:"30",height:"8",rx:"2",fill:"#008676"}),jsxRuntime.jsx("defs",{children:jsxRuntime.jsxs("linearGradient",{id:"paint0_linear_17647_26849",x1:"33",y1:"79.5",x2:"3",y2:"79.5",gradientUnits:"userSpaceOnUse",children:[jsxRuntime.jsx("stop",{stopColor:"#59B0FE"}),jsxRuntime.jsx("stop",{offset:"1",stopColor:"#26FEFE"})]})})]});var It=e=>{let{showIndicator:t=!0}=e,[o,i]=react.useState(!1);return jsxRuntime.jsxs(ui$1.Box,{intensity:900,r:"2xl",p:3,width:"100%",className:ui$1.cn("oui-relative",e.className),children:[e.children,jsxRuntime.jsx(ui$1.Tooltip,{open:o,onOpenChange:i,side:"left",align:"start",sideOffset:-4,alignOffset:-4,content:jsxRuntime.jsx(ui$1.Flex,{direction:"column",gapY:2,children:[Km,Xm,Zm].map((r,n)=>jsxRuntime.jsx(r,{className:ui$1.cn("oui-rounded oui-cursor-pointer hover:oui-bg-base-5",e.index===n&&"oui-bg-base-5"),onClick:()=>{e.onLayout?.(e.index,n),i(!1);}},n))}),delayDuration:0,className:ui$1.cn("oui-bg-base-9 oui-rounded","oui-border oui-border-line-12","oui-p-1"),arrow:{className:"oui-fill-transparent"},children:t&&jsxRuntime.jsx("div",{className:"oui-absolute oui-right-[1px] oui-top-[18px]",children:jsxRuntime.jsx($m,{className:ui$1.cn("oui-text-base-contrast-20 hover:oui-text-base-contrast-80","oui-cursor-pointer")})})})]})},$m=e=>jsxRuntime.jsxs("svg",{width:"10",height:"16",viewBox:"0 0 10 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...e,children:[jsxRuntime.jsx("rect",{x:"2",y:"2",width:"6",height:"2",rx:"1"}),jsxRuntime.jsx("rect",{x:"2",y:"7",width:"6",height:"2",rx:"1"}),jsxRuntime.jsx("rect",{x:"2",y:"12",width:"6",height:"2",rx:"1"})]}),Km=e=>jsxRuntime.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...e,children:[jsxRuntime.jsx("rect",{x:"1.333",y:"2.667",width:"13.333",height:"4",rx:"2",fill:"rgb(var(--oui-color-primary))"}),jsxRuntime.jsx("rect",{x:"2.667",y:"12",width:"10.667",height:"1.333",rx:".667",fill:"#fff",fillOpacity:".2"}),jsxRuntime.jsx("rect",{x:"2.667",y:"8.667",width:"10.667",height:"1.333",rx:".667",fill:"#fff",fillOpacity:".2"})]}),Xm=e=>jsxRuntime.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[jsxRuntime.jsx("rect",{x:"1.333",y:"6",width:"13.333",height:"4",rx:"2",fill:"rgb(var(--oui-color-primary))"}),jsxRuntime.jsx("rect",{x:"2.667",y:"12",width:"10.667",height:"1.333",rx:".667",fill:"#fff",fillOpacity:".2"}),jsxRuntime.jsx("rect",{x:"2.667",y:"2.667",width:"10.667",height:"1.333",rx:".667",fill:"#fff",fillOpacity:".2"})]}),Zm=e=>jsxRuntime.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[jsxRuntime.jsx("rect",{x:"1.333",y:"9.333",width:"13.333",height:"4",rx:"2",fill:"rgb(var(--oui-color-primary))"}),jsxRuntime.jsx("rect",{x:"2.667",y:"6",width:"10.667",height:"1.333",rx:".667",fill:"#fff",fillOpacity:".2"}),jsxRuntime.jsx("rect",{x:"2.667",y:"2.667",width:"10.667",height:"1.333",rx:".667",fill:"#fff",fillOpacity:".2"})]});var Fn=e=>{let {collapsed:t,onCollapse:o,layout:i,onLayout:r,orderBookSplitSize:n,setOrderbookSplitSize:a,dataListSplitSize:s,setDataListSplitSize:l,mainSplitSize:c,setMainSplitSize:u,isMedium:m,animating:d,setAnimating:x,positions:y,updatePositions:C,canTrading:D,showPositionIcon:h}=e,v=48,b=29,k=12,ee=54,M=t?70:280,ce=280,Y=360,te=280,Te=732,w=464,_=540,U=D?379:277,W=v+b+ee+w+U+k*4,H=jsxRuntime.jsx(ui$1.Box,{intensity:900,pt:3,r:"2xl",height:"100%",width:M,style:{minWidth:M},className:"oui-transition-all oui-duration-150",onTransitionEnd:()=>{x(!1);},children:!d&&jsxRuntime.jsx(markets.SideMarketsWidget,{collapsed:t,onCollapse:o,symbol:e.symbol,onSymbolChange:e.onSymbolChange})}),An=[jsxRuntime.jsx(It,{className:"oui-border oui-border-line-12",index:y.findIndex(ae=>ae===0),onLayout:C,showIndicator:h,children:jsxRuntime.jsx(eo,{})},"assets"),jsxRuntime.jsx(It,{index:y.findIndex(ae=>ae===1),onLayout:C,showIndicator:h,children:jsxRuntime.jsx(uiOrderEntry.OrderEntryWidget,{symbol:e.symbol})},"orderEntry"),jsxRuntime.jsx(It,{index:y.findIndex(ae=>ae===2),onLayout:C,showIndicator:h,children:jsxRuntime.jsx(Co,{})},"margin")],yi=jsxRuntime.jsx(ui$1.Flex,{gapY:3,direction:"column",height:"100%",style:{minWidth:ce,maxWidth:Y,width:c},children:y.map(ae=>An[ae])}),Mn=react.useMemo(()=>jsxRuntime.jsx(Dn,{layout:i,onLayout:r}),[i,r]),On=jsxRuntime.jsx(ui$1.Box,{intensity:900,r:"2xl",px:3,width:"100%",style:{minHeight:ee,height:ee},children:jsxRuntime.jsx(markets.TokenInfoBarFullWidget,{symbol:e.symbol,onSymbolChange:e.onSymbolChange,trailing:Mn})}),{library_path:In,...Rn}=e.tradingViewConfig,Si=jsxRuntime.jsx(ui$1.Box,{width:"100%",height:"100%",intensity:900,r:"2xl",style:{flex:1,minWidth:_},className:"oui-overflow-hidden",children:jsxRuntime.jsx(uiTradingview.TradingviewWidget,{symbol:e.symbol,...Rn,libraryPath:In})}),_n=jsxRuntime.jsx(ui$1.Box,{intensity:900,r:"2xl",height:"100%",style:{minWidth:te,maxWidth:Te,width:n},className:"oui-overflow-hidden",children:jsxRuntime.jsx(vo,{symbol:e.symbol,tabletMediaQuery:e.tabletMediaQuery})}),zn=jsxRuntime.jsx(ui$1.Box,{intensity:900,r:"2xl",p:3,style:{height:s,minHeight:U},className:"oui-overflow-hidden",children:jsxRuntime.jsx(qt,{current:void 0,tabletMediaQuery:e.tabletMediaQuery,symbol:e.symbol,sharePnLConfig:e.sharePnLConfig})}),Ci=jsxRuntime.jsxs(wt,{style:{flex:1,minHeight:w},onSizeChange:a,children:[m&&i==="right"?jsxRuntime.jsxs(ui$1.Flex,{gap:3,className:"oui-flex-1 oui-overflow-hidden",style:{minWidth:M+_+k},children:[H,Si]}):Si,_n]}),Wn=()=>m&&i==="left"?jsxRuntime.jsxs(ui$1.Flex,{gapX:3,style:{minHeight:w},height:"100%",children:[Ci,H]}):Ci,En=jsxRuntime.jsxs(ui$1.Flex,{direction:"column",className:"oui-flex-1 oui-overflow-hidden",gap:3,style:{minWidth:m?M+_+te+k*2:_+te+k},children:[On,jsxRuntime.jsxs(wt,{className:"oui-w-full !oui-h-[calc(100%_-_54px_-_12px)]",mode:"vertical",onSizeChange:l,children:[Wn(),zn]})]}),Hn=ae=>u(i==="left"?kn(ae):ae);return jsxRuntime.jsxs(ui$1.Flex,{style:{minHeight:W},className:ui$1.cn("oui-min-w-[1440px]",e.className),width:"100%",p:3,gap:3,children:[!m&&i==="right"&&H,jsxRuntime.jsxs(wt,{className:"oui-flex oui-flex-1 oui-overflow-hidden",onSizeChange:Hn,children:[i==="left"&&yi,En,i==="right"&&yi]}),!m&&i==="left"&&H]})};var bi=e=>{let{isMobile:t}=ui$1.useScreen();return t?jsxRuntime.jsx(Pn,{...e}):jsxRuntime.jsx(Fn,{className:"oui-h-[calc(100vh_-_48px_-_29px)] oui-bg-base-10",...e})};var xi=()=>{let e=Nn();return jsxRuntime.jsx(bi,{...e})};var nd=e=>jsxRuntime.jsx(ki,{symbol:e.symbol,tradingViewConfig:e.tradingViewConfig,onSymbolChange:e.onSymbolChange,disableFeatures:e.disableFeatures,overrideFeatures:e.overrideFeatures,referral:e.referral,tradingRewards:e.tradingRewards,bottomSheetLeading:e.bottomSheetLeading,sharePnLConfig:e.sharePnLConfig,children:jsxRuntime.jsx(xi,{})});
|
|
26
|
+
var E=e=>{let[t,o]=hooks.useLocalStorage("unPnlPriceBasis","markPrice"),[i,r]=hooks.useLocalStorage("pnlNotionalDecimalPrecision",e?.pnlNotionalDecimalPrecision??2),[n,a]=hooks.useLocalStorage("showAllSymbol",!0),[s,l]=hooks.useLocalStorage("hideAssets",!1);return {unPnlPriceBasis:t,setUnPnlPriceBasic:o,pnlNotionalDecimalPrecision:i,setPnlNotionalDecimalPrecision:r,showAllSymbol:n,setShowAllSymbol:a,hideAssets:s,setHideAssets:l}};var Ie=e=>{let{showAllSymbol:t}=E(),[o]=hooks.usePositionStream(t?void 0:e),i=react.useMemo(()=>o.rows?.length,[o.rows?.length]);return {positionCount:reactApp.useDataTap(i)??0}};var Re=e=>{let {showAllSymbol:t}=E();`orderly_${uiOrders.TabType.pending}_pageSize`;`orderly_${uiOrders.TabType.tp_sl}_pageSize`;let [r,{total:n}]=hooks.useOrderStream({symbol:t?void 0:e,status:types.OrderStatus.INCOMPLETE,excludes:[types.AlgoOrderRootType.POSITIONAL_TP_SL,types.AlgoOrderRootType.TP_SL],size:500},{keeplive:!0}),[a,{total:s}]=hooks.useOrderStream({symbol:t?void 0:e,status:types.OrderStatus.INCOMPLETE,includes:[types.AlgoOrderRootType.POSITIONAL_TP_SL,types.AlgoOrderRootType.TP_SL],size:500},{keeplive:!0}),l=reactApp.useDataTap(n)??0,c=reactApp.useDataTap(s)??0;return {pendingOrderCount:l,tpSlOrderCount:c}};var _e=e=>({base_dp:e("base_dp"),quote_dp:e("quote_dp"),base_tick:e("base_tick"),base:e("base"),quote:e("quote")});var Li=react.createContext({}),L=()=>react.useContext(Li),Bi=e=>{let t=hooks.useSymbolsInfo()[e.symbol];return jsxRuntime.jsx(Li.Provider,{value:{...e,tabletMediaQuery:types.MEDIA_TABLET,symbolInfo:{..._e(t),symbol:e.symbol}},children:e.children})};var Mi=e=>{let{current:t,tabletMediaQuery:o,pnlNotionalDecimalPrecision:i,sharePnLConfig:r,symbol:n,includedPendingOrder:a}=e,s=E({pnlNotionalDecimalPrecision:i}),{onSymbolChange:l}=L(),{positionCount:c}=Ie(e.symbol),{pendingOrderCount:u,tpSlOrderCount:d}=Re(e.symbol);return {current:t,tabletMediaQuery:o,sharePnLConfig:r,symbol:n,calcMode:s.unPnlPriceBasis,includedPendingOrder:a,...s,positionCount:c,pendingOrderCount:u,tpSlOrderCount:d,onSymbolChange:l}};var Wt=e=>{let{isMobile:t}=ui$1.useScreen();return t?jsxRuntime.jsx(da,{...e}):jsxRuntime.jsx(ma,{...e})},da=e=>jsxRuntime.jsxs(ui$1.Flex,{direction:"column",gap:2,width:"100%",itemAlign:"start",p:2,className:"oui-bg-base-9 oui-rounded-b-xl",children:[jsxRuntime.jsxs(ui$1.Flex,{width:"100%",justify:"between",children:[jsxRuntime.jsx(Oi,{classNames:{label:"oui-text-2xs oui-text-base-contrast-54",root:"oui-text-sm"},...e}),jsxRuntime.jsx(Ii,{classNames:{label:"oui-text-2xs oui-text-base-contrast-54",root:"oui-text-sm"},...e})]}),jsxRuntime.jsx(ui$1.Divider,{className:"oui-w-full"}),jsxRuntime.jsxs(ui$1.Flex,{className:"oui-gap-[2px] oui-cursor-pointer",children:[jsxRuntime.jsx(ui$1.Checkbox,{id:"oui-checkbox-hideOtherSymbols",color:"white",checked:!e.showAllSymbol,onCheckedChange:t=>{e.setShowAllSymbol(!t);}}),jsxRuntime.jsx("label",{className:"oui-text-2xs oui-text-base-contrast-54 oui-cursor-pointer",htmlFor:"oui-checkbox-hideOtherSymbols",children:"Hide other symbols"})]})]}),ma=e=>jsxRuntime.jsxs(ui$1.Flex,{py:2,px:3,gap:6,width:"100%",justify:"start",children:[jsxRuntime.jsx(Oi,{...e,classNames:{label:"oui-text-base-contrast-54"}}),jsxRuntime.jsx(Ii,{...e,classNames:{label:"oui-text-base-contrast-54"}})]}),Oi=e=>{let t=typeof e.unrealPnL=="number"?e.unrealPnL>=0?"oui-text-trade-profit":"oui-text-trade-loss":"oui-text-base-contrast-80",o=typeof e.unrealPnL=="number"&&e.unrealPnlROI?e.unrealPnlROI>=0?"oui-text-success-darken":"oui-text-danger-darken":"oui-text-base-contrast-80";return jsxRuntime.jsx(ui$1.Statistic,{label:"Unreal. PnL",classNames:e.classNames,children:jsxRuntime.jsxs(ui$1.Flex,{gap:1,children:[jsxRuntime.jsx(ui$1.Text.numeral,{dp:e.pnlNotionalDecimalPrecision,rm:utils.Decimal.ROUND_DOWN,intensity:80,className:t,children:e.unrealPnL??"--"}),typeof e.unrealPnlROI<"u"&&jsxRuntime.jsx(ui$1.Text.numeral,{prefix:"(",suffix:")",rule:"percentages",size:"2xs",dp:e.pnlNotionalDecimalPrecision,rm:utils.Decimal.ROUND_DOWN,className:o,children:e.unrealPnlROI})]})})},Ii=e=>jsxRuntime.jsx(ui$1.Statistic,{label:"Notional",classNames:e.classNames,children:jsxRuntime.jsx(ui$1.Text.numeral,{dp:e.pnlNotionalDecimalPrecision,rm:utils.Decimal.ROUND_DOWN,intensity:80,children:e.notional??"--"})});var Ri=e=>{let{pnlNotionalDecimalPrecision:t,unPnlPriceBasis:o,symbol:i}=e,r=o,[n]=hooks.usePositionStream(i,{calcMode:r}),a=reactApp.useDataTap(n.aggregated),s=a?.total_unreal_pnl,l=a?.unrealPnlROI,c=a?.notional,{showAllSymbol:u,setShowAllSymbol:d}=E();return {pnlNotionalDecimalPrecision:t,unrealPnL:s,unrealPnlROI:l,notional:c,showAllSymbol:u,setShowAllSymbol:d}};var Ee=e=>{let t=Ri(e);return jsxRuntime.jsx(Wt,{...t})};var Et=e=>{let[t,o]=react.useState(!1);return jsxRuntime.jsxs(ui$1.Flex,{gap:0,children:[jsxRuntime.jsxs(ui$1.Flex,{gap:1,children:[jsxRuntime.jsx(ui$1.Checkbox,{id:"oui-checkbox-hideOtherSymbols",color:"white",checked:e.hideOtherSymbols,onCheckedChange:i=>{e.setHideOtherSymbols(i);}}),jsxRuntime.jsx("label",{className:"oui-text-xs oui-text-base-contrast-54 oui-cursor-pointer",htmlFor:"oui-checkbox-hideOtherSymbols",children:"Hide other symbols"})]}),jsxRuntime.jsxs(ui$1.DropdownMenuRoot,{open:t,onOpenChange:o,children:[jsxRuntime.jsx(ui$1.DropdownMenuTrigger,{asChild:!0,children:jsxRuntime.jsx(ui$1.Button,{size:"xs",type:"button",variant:"contained",className:"oui-bg-transparent hover:oui-bg-transparent",children:jsxRuntime.jsx(ui$1.SettingFillIcon,{size:16,color:"white",opacity:1,className:"oui-text-white/[.36] hover:oui-text-white/80"})})}),jsxRuntime.jsx(ui$1.DropdownMenuContent,{className:"oui-px-5 oui-py-3 oui-w-[360px]",alignOffset:2,align:"end",children:jsxRuntime.jsxs("div",{className:"oui-flex oui-flex-col oui-text-sm",children:[jsxRuntime.jsx(ui$1.Text,{className:"oui-text-base oui-pb-3",children:"Portfolio Settings"}),jsxRuntime.jsx(ui$1.Divider,{}),jsxRuntime.jsx(ui$1.Text,{className:"oui-pb-3 oui-text-base-contrast-54 oui-mt-2",children:"Decimal Precision for PnL & Notional"}),jsxRuntime.jsx(Pa,{value:e.pnlNotionalDecimalPrecision,onValueChange:i=>{e.setPnlNotionalDecimalPrecision(i),o(!1);}}),jsxRuntime.jsx(ui$1.Divider,{className:"oui-my-3"}),jsxRuntime.jsx(ui$1.Text,{className:"oui-pb-3 oui-text-base-contrast-54 oui-mt-2",children:"Unrealized PnL Price Basis"}),jsxRuntime.jsx(va,{value:e.unPnlPriceBasis,onValueChange:i=>{e.setUnPnlPriceBasic(i),o(!1);}})]})})]})]})},va=e=>{let{value:t,onValueChange:o}=e;return jsxRuntime.jsxs(ui$1.Flex,{gap:2,children:[jsxRuntime.jsx(He,{sel:t==="markPrice",label:"Mark price",value:"markPrice",onCheckChange:o}),jsxRuntime.jsx(He,{sel:t==="lastPrice",label:"Last price",value:"lastPrice",onCheckChange:o})]})},Pa=e=>{let{value:t,onValueChange:o}=e;return jsxRuntime.jsxs(ui$1.Flex,{gap:2,children:[jsxRuntime.jsx(He,{sel:t===0,label:1,value:0,onCheckChange:o}),jsxRuntime.jsx(He,{sel:t===1,label:.1,value:1,onCheckChange:o}),jsxRuntime.jsx(He,{sel:t===2,label:.01,value:2,onCheckChange:o})]})},He=e=>{let{sel:t,label:o,value:i,onCheckChange:r}=e;return jsxRuntime.jsxs(ui$1.Flex,{onClick:n=>{r(i),n.stopPropagation();},gap:1,className:"oui-cursor-pointer",children:[t?jsxRuntime.jsx(Ta,{}):jsxRuntime.jsx(Na,{}),jsxRuntime.jsx(ui$1.Text,{size:"2xs",intensity:t?98:54,children:o})]})},Ta=()=>jsxRuntime.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",className:"oui-fill-white",children:[jsxRuntime.jsx("path",{d:"M8.01 1.333a6.667 6.667 0 1 0 0 13.333 6.667 6.667 0 0 0 0-13.333m0 1.333a5.334 5.334 0 1 1-.001 10.667 5.334 5.334 0 0 1 0-10.667",fill:"#fff",fillOpacity:".36"}),jsxRuntime.jsx("circle",{cx:"8",cy:"8",r:"3.333"})]}),Na=()=>jsxRuntime.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{d:"M8.01 1.333a6.667 6.667 0 1 0 0 13.333 6.667 6.667 0 0 0 0-13.333m0 1.333a5.334 5.334 0 1 1-.001 10.667 5.334 5.334 0 0 1 0-10.667",fill:"#fff",fillOpacity:".54"})});var zi=e=>({...e});var Ht=e=>{let t=zi(e);return jsxRuntime.jsx(Et,{...t})};var qt=e=>jsxRuntime.jsxs(ui$1.Tabs,{defaultValue:e.current||"Positions",variant:"contained",trailing:jsxRuntime.jsx(Ht,{pnlNotionalDecimalPrecision:e.pnlNotionalDecimalPrecision,setPnlNotionalDecimalPrecision:e.setPnlNotionalDecimalPrecision,unPnlPriceBasis:e.unPnlPriceBasis,setUnPnlPriceBasic:e.setUnPnlPriceBasic,hideOtherSymbols:!e.showAllSymbol,setHideOtherSymbols:t=>e.setShowAllSymbol(!t)}),size:"lg",className:"oui-h-full",classNames:{tabsContent:"oui-h-[calc(100%_-_32px)]"},children:[jsxRuntime.jsx(ui$1.TabPanel,{testid:"oui-testid-dataList-position-tab",value:"Positions",title:(e.positionCount??0)>0?`Positions(${e.positionCount})`:"Positions",children:jsxRuntime.jsx(Ia,{...e})}),jsxRuntime.jsx(ui$1.TabPanel,{testid:"oui-testid-dataList-pending-tab",value:"Pending",title:(e.pendingOrderCount??0)>0?`Pending(${e.pendingOrderCount})`:"Pending",children:jsxRuntime.jsx(uiOrders.DesktopOrderListWidget,{type:uiOrders.TabType.pending,ordersStatus:types.OrderStatus.INCOMPLETE,symbol:e.showAllSymbol?void 0:e.symbol,onSymbolChange:e.onSymbolChange,testIds:{tableBody:"oui-testid-dataList-pending-table-body"}})}),jsxRuntime.jsx(ui$1.TabPanel,{testid:"oui-testid-dataList-tpsl-tab",value:"TP/SL",title:(e.tpSlOrderCount??0)>0?`TP/SL(${e.tpSlOrderCount})`:"TP/SL",children:jsxRuntime.jsx(uiOrders.DesktopOrderListWidget,{type:uiOrders.TabType.tp_sl,ordersStatus:types.OrderStatus.INCOMPLETE,symbol:e.showAllSymbol?void 0:e.symbol,onSymbolChange:e.onSymbolChange,testIds:{tableBody:"oui-testid-dataList-tpsl-table-body"}})}),jsxRuntime.jsx(ui$1.TabPanel,{testid:"oui-testid-dataList-filled-tab",value:"Filled",title:"Filled",children:jsxRuntime.jsx(uiOrders.DesktopOrderListWidget,{type:uiOrders.TabType.filled,symbol:e.showAllSymbol?void 0:e.symbol,pnlNotionalDecimalPrecision:e.pnlNotionalDecimalPrecision,ordersStatus:types.OrderStatus.FILLED,onSymbolChange:e.onSymbolChange,testIds:{tableBody:"oui-testid-dataList-filled-table-body"},sharePnLConfig:e.sharePnLConfig})}),jsxRuntime.jsx(ui$1.TabPanel,{testid:"oui-testid-dataList-positionHistory-tab",value:"Position history",title:"Position history",children:jsxRuntime.jsx(uiPositions.PositionHistoryWidget,{pnlNotionalDecimalPrecision:e.pnlNotionalDecimalPrecision,symbol:e.showAllSymbol?void 0:e.symbol,onSymbolChange:e.onSymbolChange})}),jsxRuntime.jsx(ui$1.TabPanel,{testid:"oui-testid-dataList-orderHistory-tab",value:"Order history",title:"Order history",children:jsxRuntime.jsx(uiOrders.DesktopOrderListWidget,{type:uiOrders.TabType.orderHistory,pnlNotionalDecimalPrecision:e.pnlNotionalDecimalPrecision,symbol:e.showAllSymbol?void 0:e.symbol,onSymbolChange:e.onSymbolChange,testIds:{tableBody:"oui-testid-dataList-orderHistory-table-body"},sharePnLConfig:e.sharePnLConfig})}),jsxRuntime.jsx(ui$1.TabPanel,{testid:"oui-testid-dataList-liquidation-tab",value:"Liquidation",title:"Liquidation",children:jsxRuntime.jsx(uiPositions.LiquidationWidget,{symbol:e.showAllSymbol?void 0:e.symbol})})]}),Ia=e=>jsxRuntime.jsxs(ui$1.Flex,{direction:"column",width:"100%",height:"100%",children:[jsxRuntime.jsx(Ee,{pnlNotionalDecimalPrecision:e.pnlNotionalDecimalPrecision,symbol:e.showAllSymbol?void 0:e.symbol,unPnlPriceBasis:e.unPnlPriceBasis}),jsxRuntime.jsx(ui$1.Divider,{className:"oui-w-full"}),jsxRuntime.jsx(ui$1.Box,{className:"oui-h-[calc(100%_-_60px)]",width:"100%",children:jsxRuntime.jsx(uiPositions.PositionsWidget,{symbol:e.showAllSymbol?void 0:e.symbol,pnlNotionalDecimalPrecision:e.pnlNotionalDecimalPrecision,sharePnLConfig:e.sharePnLConfig,calcMode:e.calcMode,includedPendingOrder:e.includedPendingOrder,onSymbolChange:e.onSymbolChange})})]});var Qt=e=>{let t=Mi({...e});return jsxRuntime.jsx(qt,{...t})};var Ut=e=>jsxRuntime.jsxs(ui$1.Box,{className:ui$1.cn("oui-grid oui-grid-rows=[auto,1fr] oui-h-full oui-w-full",e.classNames?.root),style:e.style,children:[jsxRuntime.jsx(ui$1.Box,{className:"oui-pr-1",children:jsxRuntime.jsx(Ea,{base:e.base,quote:e.quote,className:e.classNames?.listHeader})}),jsxRuntime.jsx(Ha,{data:e.data,isLoading:e.isLoading,baseDp:e.baseDp,quoteDp:e.quoteDp,classNames:e.classNames?.listItem,className:e.classNames?.list})]}),qi=e=>{let{key:t,left:o,mid:i,right:r,classNames:n}=e;return jsxRuntime.jsxs(ui$1.Grid,{cols:3,gapX:2,width:"100%",className:ui$1.cn("oui-text-xs oui-tabular-nums",n?.root),children:[jsxRuntime.jsx("div",{className:ui$1.cn("oui-flex-1",n?.left),children:o}),jsxRuntime.jsx("div",{className:ui$1.cn("oui-flex-1",n?.mid),children:i}),jsxRuntime.jsx("div",{className:ui$1.cn("oui-flex-1 oui-text-right",n?.right),children:r})]},t)},Ea=e=>jsxRuntime.jsx(qi,{left:"Time",mid:`Price(${e.quote})`,right:`Qty(${e.base})`,classNames:{root:ui$1.cn("oui-text-base-contrast-54 oui-h-[32px] oui-sticky",e.className)}}),Ha=e=>jsxRuntime.jsx(ui$1.ListView,{dataSource:e.data,className:ui$1.cn("oui-last-trades-list","oui-w-full oui-h-full",e.className,"oui-overflow-auto"),contentClassName:"!oui-space-y-0 oui-pr-[-4px]",renderItem:(t,o)=>jsxRuntime.jsx(qi,{left:jsxRuntime.jsx(ui$1.Text.formatted,{rule:"date",formatString:"HH:mm:ss",children:t?.ts}),mid:utils.commifyOptional(t?.price,{fix:e.quoteDp}),right:utils.commifyOptional(t?.size,{fix:e.baseDp}),classNames:{left:ui$1.cn("oui-text-base-contrast-80",e.classNames?.left),right:ui$1.cn(t.side===types.OrderSide.BUY?"oui-text-trade-profit":"oui-text-trade-loss",e.classNames?.mid),mid:ui$1.cn(t.side===types.OrderSide.BUY?"oui-text-trade-profit":"oui-text-trade-loss",e.classNames?.right)}},o)});var Ui=e=>{let{data:t,isLoading:o}=hooks.useMarketTradeStream(e),i=hooks.useSymbolsInfo()?.[e],r=i?.("base"),n=i?.("quote"),a=i?.("base_dp"),s=i?.("quote_dp");return {base:r,quote:n,data:t,isLoading:o,baseDp:a,quoteDp:s}};var Ne=e=>{let t=Ui(e.symbol);return jsxRuntime.jsx(Ut,{...t,classNames:e.classNames,style:e.style})};function Gi(e){return e.showFaucet?jsxRuntime.jsx(ui$1.Button,{variant:"outlined",fullWidth:!0,size:"md",onClick:e.getFaucet,loading:e.loading,className:"oui-text-primary-light oui-border-primary-light oui-rounded","data-testid":"oui-testid-assetView-getFaucet-button",children:"Get test USDC"}):null}function Ki(){let{connectedChain:e,namespace:t}=hooks.useWalletConnector(),{state:o,account:i}=hooks.useAccount(),r=hooks.useConfig(),n=r.get("operatorUrl"),[a,{isMutating:s}]=hooks.useMutation(`${n}/v1/faucet/usdc`),[l,c]=react.useState(!1),u=react.useMemo(()=>!e||!e.id?!1:o.status===types.AccountStatusEnum.EnableTrading&&utils.isTestnet(parseInt(e.id)),[o,e]);return {getFaucet:()=>{if(l)return;c(!0);let m=`${t===types.ChainNamespace.solana?"100":"1,000"} USDC will be added to your balance. Please note this may take up to 3 minutes. Please check back later.`;return a({chain_id:i.walletAdapter?.chainId.toString(),user_address:o.address,broker_id:r.get("brokerId")}).then(f=>{if(c(!1),f.success)return ui$1.modal.alert({title:"Get test USDC",message:m,onOk:()=>new Promise(h=>h(!0))});f.message&&ui$1.toast.error(f.message);},f=>{ui$1.toast.error(f.message);})},showFaucet:u,loading:l}}function Gt(){let e=Ki();return jsxRuntime.jsx(Gi,{...e})}var hs=()=>{let{state:e}=hooks.useAccount(),{wrongNetwork:t}=reactApp.useAppContext();return react.useMemo(()=>{if(t)return {title:"Wrong Network",description:"Please switch to a supported network to continue.",titleColor:"warning"};switch(e.status){case types.AccountStatusEnum.NotConnected:return {title:"Connect wallet",description:"Please connect your wallet before starting to trade.",titleClsName:"oui-text-transparent oui-bg-clip-text oui-gradient-brand"};case types.AccountStatusEnum.NotSignedIn:return {title:"Sign in",description:"Please sign in before starting to trade.",titleColor:"primary"};case types.AccountStatusEnum.DisabledTrading:return {title:"Enable trading",description:"Enable trading before starting to trade.",titleColor:"primary"};default:return {title:"",description:""}}},[e.status,t])},Xt=({description:e,formula:t})=>jsxRuntime.jsxs("div",{className:"oui-leading-[1.5] oui-text-2xs oui-text-base-contrast-80 oui-min-w-[204px] oui-max-w-[240px]",children:[jsxRuntime.jsx("span",{children:e}),jsxRuntime.jsx(ui$1.Divider,{className:"oui-border-white/10",my:2}),jsxRuntime.jsx("span",{children:t})]}),bs=({totalValue:e,visible:t=!0,onToggleVisibility:o})=>jsxRuntime.jsxs(ui$1.Flex,{direction:"column",gap:1,className:"oui-text-2xs",itemAlign:"center",children:[jsxRuntime.jsx(ui$1.Text.numeral,{visible:t,weight:"bold",size:"2xl",className:ui$1.gradientTextVariants({color:"brand"}),as:"div",padding:!1,dp:2,children:e??"--"}),jsxRuntime.jsxs(ui$1.Flex,{gap:1,itemAlign:"center",children:[jsxRuntime.jsx(ui$1.Text,{size:"2xs",color:"neutral",weight:"semibold",children:"My Assets (USDC)"}),jsxRuntime.jsx("button",{onClick:o,children:t?jsxRuntime.jsx(ui$1.EyeIcon,{size:18,className:"oui-text-base-contrast-54"}):jsxRuntime.jsx(ui$1.EyeCloseIcon,{size:18,className:"oui-text-base-contrast-54"})})]})]}),Yt=({label:e,description:t,formula:o,visible:i,value:r,unit:n,rule:a,isConnected:s,showPercentage:l=!1,placeholder:c})=>jsxRuntime.jsxs(ui$1.Flex,{justify:"between",children:[jsxRuntime.jsx(ui$1.Tooltip,{content:jsxRuntime.jsx(Xt,{description:t,formula:o}),children:jsxRuntime.jsx(ui$1.Text,{size:"2xs",color:"neutral",weight:"semibold",className:"oui-cursor-pointer oui-border-b oui-border-dashed oui-border-line-12",children:e})}),jsxRuntime.jsx(ui$1.Text.numeral,{visible:i,size:"2xs",unit:n,unitClassName:"oui-text-base-contrast-36 oui-ml-0.5",as:"div",rule:a,padding:!1,dp:2,placeholder:c,children:r||"--"})]}),xs=({visible:e=!0,freeCollateral:t,marginRatioVal:o,renderMMR:i,isConnected:r})=>{let[n,a]=hooks.useLocalStorage("orderly_entry_asset_list_open",!1),[s,l]=react.useState(n),c=react.useCallback(()=>{l(u=>!u),setTimeout(()=>{a(!s);},0);},[]);return jsxRuntime.jsxs(ui$1.Box,{className:"oui-group",children:[jsxRuntime.jsxs(ui$1.Flex,{justify:"center",gap:1,itemAlign:"center",className:"oui-cursor-pointer",onClick:c,children:[jsxRuntime.jsx(ui$1.Divider,{className:"oui-flex-1"}),jsxRuntime.jsx(ui$1.ChevronDownIcon,{size:12,color:"white",className:ui$1.cn("oui-transition-transform",s&&"oui-rotate-180")}),jsxRuntime.jsx(ui$1.Divider,{className:"oui-flex-1"})]}),jsxRuntime.jsxs(ui$1.Box,{style:{transform:"translateZ(0)"},className:ui$1.cn("oui-space-y-1.5 oui-select-none oui-overflow-hidden","oui-transition-[max-height] oui-duration-150","group-hover:oui-will-change-[max-height]",s?"oui-max-h-[69px]":"oui-max-h-0"),children:[jsxRuntime.jsx(Yt,{label:"Free collateral",description:"Free collateral for placing new orders.",formula:"Free collateral = Total balance + Total unsettlement PnL - Total position initial margin",visible:e,value:t===0?"0":t,unit:"USDC"}),jsxRuntime.jsx(Yt,{label:"Margin ratio",description:"The margin ratio represents the proportion of collateral relative to the total position value.",formula:"Account margin ratio = (Total collateral value / Total position notional) * 100%",visible:e,value:o,isConnected:r,rule:"percentages",showPercentage:!0,placeholder:"--%"}),jsxRuntime.jsx(Yt,{label:"Maintenance margin ratio",description:"The minimum margin ratio required to protect your positions from being liquidated. If the Margin ratio falls below the Maintenance margin ratio, the account will be liquidated.",formula:"Account maintenance margin ratio = Sum(Position notional * Symbol maintenance Margin Ratio) / Total position notional * 100%",visible:e,value:i,rule:"percentages",showPercentage:!0,placeholder:"--%"})]})]})},Jt=({networkId:e,isFirstTimeDeposit:t,totalValue:o,onDeposit:i,onWithdraw:r,toggleVisible:n,visible:a,freeCollateral:s,marginRatioVal:l,renderMMR:c,isConnected:u})=>{let{title:d,description:m,titleColor:f,titleClsName:h}=hs();return jsxRuntime.jsxs(ui$1.Box,{className:"oui-relative",children:[d&&m&&jsxRuntime.jsxs(ui$1.Flex,{direction:"column",gap:1,className:"oui-mb-[32px]",children:[jsxRuntime.jsx(ui$1.Text,{size:"lg",weight:"bold",color:f||"inherit",className:h,children:d}),jsxRuntime.jsx(ui$1.Text,{size:"2xs",color:"neutral",weight:"semibold",className:"oui-text-center",children:m})]}),jsxRuntime.jsx(uiConnector.AuthGuard,{networkId:e,status:types.AccountStatusEnum.EnableTrading,buttonProps:{size:"md",fullWidth:!0},children:t?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui$1.Box,{children:jsxRuntime.jsxs(ui$1.Flex,{direction:"column",gap:1,className:"oui-mb-[32px]",children:[jsxRuntime.jsx(ui$1.Text.gradient,{size:"lg",weight:"bold",color:"brand",children:"Deposit to start trade"}),jsxRuntime.jsx(ui$1.Text,{size:"2xs",color:"neutral",weight:"semibold",children:"You can deposit assets from various networks"})]})}),jsxRuntime.jsxs(ui$1.Button,{"data-testid":"oui-testid-assetView-deposit-button",fullWidth:!0,size:"md",onClick:i,children:[jsxRuntime.jsx(ui$1.ArrowDownShortIcon,{color:"white",opacity:1}),jsxRuntime.jsx(ui$1.Text,{children:"Deposit"})]}),jsxRuntime.jsx(ui$1.Box,{className:"oui-mt-3",children:jsxRuntime.jsx(Gt,{})})]}):jsxRuntime.jsxs(ui$1.Box,{className:"oui-space-y-4",children:[jsxRuntime.jsx(bs,{totalValue:o,visible:a,onToggleVisibility:n}),jsxRuntime.jsx(xs,{visible:a,freeCollateral:s,marginRatioVal:l,renderMMR:c,isConnected:u}),jsxRuntime.jsxs(ui$1.Flex,{gap:3,itemAlign:"center",children:[jsxRuntime.jsxs(ui$1.Button,{fullWidth:!0,color:"secondary",size:"md",onClick:r,"data-testid":"oui-testid-assetView-withdraw-button",children:[jsxRuntime.jsx(ui$1.ArrowDownShortIcon,{color:"white",opacity:1,className:"oui-rotate-180"}),jsxRuntime.jsx(ui$1.Text,{children:"Withdraw"})]}),jsxRuntime.jsxs(ui$1.Button,{"data-testid":"oui-testid-assetView-deposit-button",fullWidth:!0,size:"md",onClick:i,children:[jsxRuntime.jsx(ui$1.ArrowDownShortIcon,{color:"white",opacity:1}),jsxRuntime.jsx(ui$1.Text,{children:"Deposit"})]})]}),jsxRuntime.jsx(Gt,{})]})}),jsxRuntime.jsx("div",{className:"oui-pointer-events-none oui-rotate-180 oui-rounded-2xl oui-blur-[200px] oui-top-0 oui-bottom-0 oui-left-0 oui-right-0 oui-absolute",style:{background:"conic-gradient(from -40.91deg at 40.63% 50.41%, rgba(159, 115, 241, 0) -48.92deg, rgba(242, 98, 181, 0) 125.18deg, #5FC5FF 193.41deg, #FFAC89 216.02deg, #8155FF 236.07deg, #789DFF 259.95deg, rgba(159, 115, 241, 0) 311.08deg, rgba(242, 98, 181, 0) 485.18deg)"}})]})};var eo=()=>{let{state:e}=hooks.useAccount(),{wrongNetwork:t}=reactApp.useAppContext(),{totalValue:o}=hooks.useCollateral({dp:2}),i=t||e.status<types.AccountStatusEnum.EnableTrading,r=react.useMemo(()=>{let a=new Date,s=new Date;s.setDate(a.getDate()-90);let l=s.getTime(),c=a.getTime(),u=new URLSearchParams;return u.set("page","1"),u.set("size","5"),u.set("side","DEPOSIT"),u.set("status","COMPLETED"),u.set("startTime",l.toString()),u.set("endTime",c.toString()),`/v1/asset/history?${u.toString()}`},[]),{data:n}=hooks.usePrivateQuery(r,{formatter:a=>a});return {isFirstTimeDeposit:!i&&o===0&&n?.meta?.total===0,totalValue:o}},tr=()=>{let e=hooks.useAccountInstance(),t=hooks.useMediaQuery(types.MEDIA_TABLET),{isFirstTimeDeposit:o,totalValue:i}=eo(),r=hooks.useConfig("networkId"),{state:n}=hooks.useAccount(),{freeCollateral:a}=hooks.useCollateral({dp:2}),{marginRatio:s,mmr:l}=hooks.useMarginRatio(),c=n.status>=types.AccountStatusEnum.Connected,[{aggregated:u,totalUnrealizedROI:d},m]=hooks.usePositionStream(),f=react.useMemo(()=>Math.min(10,u.notional===0?m.margin_ratio(10):s),[s,u]);react.useMemo(()=>l?new utils.Decimal(l).mul(100).todp(2,0).toFixed(2):"",[l]);let b=react.useCallback(async w=>{let O;return t?O=await ui$1.modal.show(uiTransfer.DepositAndWithdrawWithSheetId,{activeTab:w}):O=await ui$1.modal.show(uiTransfer.DepositAndWithdrawWithDialogId,{activeTab:w}),O},[t]),k=react.useCallback(async()=>b("deposit"),[t]),y=hooks.useEventEmitter(),P=react.useCallback(async()=>b("withdraw"),[t]),S=react.useCallback(async()=>e.settle().catch(w=>{if(w.code===-1104)return ui$1.toast.error("Settlement is only allowed once every 10 minutes. Please try again later."),Promise.reject(w)}).then(w=>(ui$1.toast.success("Settlement requested"),Promise.resolve(w))),[e]),[D,j]=hooks.useLocalStorage("orderly_assets_visible",!0),A=react.useCallback(()=>{j(w=>!w);},[D]);hooks.useWalletSubscription({onMessage:w=>{let{side:O,transStatus:_}=w;if(_==="COMPLETED"){let U=`${utils.capitalizeString(O)} completed`;ui$1.toast.success(U);}else if(_==="FAILED"){let U=`${utils.capitalizeString(O)} failed`;ui$1.toast.error(U);}y.emit("wallet:changed",w);}}),hooks.useSettleSubscription({onMessage:w=>{let{status:O}=w;switch(O){case"COMPLETED":ui$1.toast.success("Settlement completed");break;case"FAILED":ui$1.toast.error("Settlement failed");break;}}});let ce=reactApp.useDataTap(a)??void 0,X=reactApp.useDataTap(f)??void 0,ee=reactApp.useDataTap(l)??void 0,Te=reactApp.useDataTap(i)??void 0;return {onDeposit:k,onWithdraw:P,onSettle:S,visible:D,toggleVisible:A,networkId:r,isFirstTimeDeposit:o,totalValue:Te,status:n.status,freeCollateral:ce,marginRatioVal:X,renderMMR:ee,isConnected:c}};var to=()=>{let e=tr();return jsxRuntime.jsx(Jt,{...e})};var st=react.createContext({cellHeight:22}),q=()=>react.useContext(st),lt=e=>{let[t,o]=react.useState("quantity"),[i,r]=react.useState("quantity");return jsxRuntime.jsx(st.Provider,{value:{cellHeight:e.cellHeight,onItemClick:e.onItemClick,mode:t,totalMode:i||"quantity",depth:e.depth,onModeChange:o,onTotalModeChange:r,showTotal:e.showTotal||!1,pendingOrders:e.pendingOrders,symbolInfo:e.symbolInfo,tabletMediaQuery:e.tabletMediaQuery},children:e.children})};var ut=e=>{let{direction:t=1}=e,o=react.useMemo(()=>{let i=Math.max(e.width,0);return t===0?{transform:`translateX(${i}%)`}:{transform:`translateX(-${i}%)`}},[e.width]);return jsxRuntime.jsx("div",{className:ui$1.cn("oui-absolute oui-right-[-100%] oui-top-0 oui-h-full oui-w-full oui-transition-transform oui-pointer-events-none",t===0&&"oui-left-[-100%]",e.className),style:o})};var nr=e=>{let{cellHeight:t,showTotal:o,onItemClick:i,depth:r,pendingOrders:n}=q(),{symbolInfo:a,currentHover:s}=e,{base_dp:l,quote_dp:c}=a,u=Number.isNaN(e.price)?0:e.accumulated/e.count*100,d=react.useMemo(()=>utils.getPrecisionByNumber(r||`${c}`),[r,c]),m=Number.isNaN(e.accumulated)?"-":e.accumulatedAmount?.toString(),f=react.useMemo(()=>{let h=ui$1.parseNumber(e.price,{dp:d,padding:!0});return n.findIndex(k=>h===ui$1.parseNumber(k,{dp:d,padding:!0}))!==-1},[n,e.price,r]);return jsxRuntime.jsxs("div",{className:"oui-flex oui-flex-row oui-pl-3 oui-tabular-nums oui-justify-between oui-text-base-contrast-80 oui-text-xs oui-relative oui-cursor-pointer",style:{height:`${t}px`},onClick:()=>{Number.isNaN(e.price)||Number.isNaN(e.quantity)||i?.([e.price,e.quantity]);},onMouseEnter:e.onMouseEnter,onMouseLeave:e.onMouseLeave,children:[jsxRuntime.jsxs("div",{className:ui$1.cn("oui-basis-7/12 oui-flex oui-flex-row oui-items-center oui-mr-2",o&&"oui-basis-5/12"),children:[jsxRuntime.jsx("div",{className:ui$1.cn("oui-flex-1 oui-text-left",e.type==="ask"?"oui-text-trade-loss":"oui-text-trade-profit"),children:jsxRuntime.jsx(ui$1.Text.numeral,{dp:d,children:e.price})}),jsxRuntime.jsx("div",{className:"oui-flex-1 oui-text-right oui-text-base-contrast-80",children:jsxRuntime.jsx(ui$1.Text.numeral,{dp:l,children:e.quantity})})]}),jsxRuntime.jsxs("div",{className:ui$1.cn("oui-basis-5/12 oui-flex oui-items-center oui-fex-row oui-overflow-hidden oui-relative oui-justify-end",o&&"oui-basis-7/12"),children:[jsxRuntime.jsx("div",{className:ui$1.cn("oui-flex-1 oui-pr-3 oui-text-right",o&&"oui-pr-3"),children:jsxRuntime.jsx(ui$1.Text.numeral,{dp:l,className:"oui-z-10",children:e.accumulated})}),o&&jsxRuntime.jsx("div",{className:"oui-flex-1 oui-text-right oui-pr-3",children:jsxRuntime.jsx(ui$1.Text.numeral,{dp:2,className:"oui-z-10",children:m})}),jsxRuntime.jsx(ut,{width:u,direction:0,className:e.type==="ask"?"oui-bg-trade-loss/10":"oui-bg-trade-profit/10"})]}),f&&jsxRuntime.jsx("div",{className:ui$1.cn("oui-absolute oui-rounded-full oui-left-[4px] oui-h-[4px] oui-w-[4px] oui-pointer-events-none",e.type==="ask"&&"oui-bg-trade-loss",e.type==="bid"&&"oui-bg-trade-profit"),style:{top:`${t/2-2}px`}}),e.isHover&&jsxRuntime.jsx("div",{className:"oui-absolute oui-bg-white oui-left-0 oui-right-0 oui-top-0 oui-bottom-0 oui-opacity-[.12]"}),s&&jsxRuntime.jsx("div",{className:ui$1.cn("oui-absolute oui-left-0 oui-right-0",e.type==="ask"&&"oui-top-0",e.type==="bid"&&"oui-bottom-0"),children:jsxRuntime.jsx(ui$1.Divider,{lineStyle:"dashed",className:ui$1.cn("oui-w-full",e.type==="bid"&&"oui-border-trade-profit",e.type==="ask"&&"oui-border-trade-loss")})})]})};var dt=e=>{let{data:t,type:o}=e,{symbolInfo:i,depth:r}=q(),n=react.useCallback(()=>{if((t?.length||0)===0)return null;if(o==="ask"){let u=t.findIndex(d=>!Number.isNaN(d[0]));return u!=-1?t[u]:null}else {for(let u=t.length-1;u>=0;u--){let d=t[u];if(!Number.isNaN(d[0]))return d}return null}},[t,o]),a=react.useMemo(()=>r?.toString().includes(".")?r.toString().split(".")[1].length:0,[r]),s=react.useMemo(()=>t.reduce((u,d)=>Math.max(u,d[1]),0),[t]),[l,c]=react.useState(-1);return jsxRuntime.jsx("div",{className:"oui-order-book-list oui-flex oui-flex-col oui-gap-[1px]",children:t.map((u,d)=>jsxRuntime.jsx(Xs,{index:d,item:u,countQty:e.countQty,setHoverIndex:c,hoverIndex:l,type:o,maxQty:s,priceDp:a,symbolInfo:i,findMaxItem:n},d))})},Xs=e=>{let{index:t,item:o,setHoverIndex:i,type:r,maxQty:n,hoverIndex:a,priceDp:s,symbolInfo:l}=e,{base:c,quote:u,base_dp:d,quote_dp:m}=l,f=a!==-1?r==="ask"?t>=a:t<=a:!1,[h,b]=react.useState(!1),k=P=>{if(P===null)return {sumQty:0,sumQtyAmount:0,avgPrice:0};let S={sumQty:0,sumQtyAmount:0};return Number.isNaN(P[2])||(S={sumQty:P[2],sumQtyAmount:P[3]}),{...S,avgPrice:S.sumQtyAmount==0?0:S.sumQtyAmount/S.sumQty}},y=k(o);return y.avgPrice===0&&(y=k(e.findMaxItem())),jsxRuntime.jsxs(ui$1.TooltipRoot,{open:h,onOpenChange:b,children:[jsxRuntime.jsx(ui$1.TooltipTrigger,{children:jsxRuntime.jsx(nr,{background:"",price:o[0],quantity:o[1],accumulated:o[2],count:e.countQty,type:e.type,accumulatedAmount:o[3],maxQty:n,isHover:f,currentHover:a===t,symbolInfo:l,onMouseEnter:()=>{i(t),b(!0);},onMouseLeave:()=>{i(-1),b(!1);}})}),jsxRuntime.jsxs(ui$1.TooltipContent,{className:ui$1.cn("oui-max-w-[400px] oui-w-full oui-text-2xs oui-shadow-md oui-rounded-base oui-p-3 oui-bg-base-6 oui-flex oui-flex-col oui-gap-2"),align:r==="ask"?"end":"start",alignOffset:-25.4,side:"left",sideOffset:2,onPointerEnter:P=>P.preventDefault(),children:[jsxRuntime.jsx(io,{title:"Avg. Price\u2248",content:y.avgPrice,contentDp:s}),jsxRuntime.jsx(io,{title:`Sum (${c})`,content:y.sumQty,contentDp:d}),jsxRuntime.jsx(io,{title:`Sum (${u})`,content:y.sumQtyAmount,contentDp:m}),jsxRuntime.jsx(ui$1.TooltipArrow,{className:"oui-fill-base-6",style:{transform:r==="ask"?"translateX(80%)":"translateX(-80%)"}})]})]})},io=e=>{let{title:t,content:o,contentDp:i}=e;return jsxRuntime.jsxs("div",{className:"oui-flex oui-flex-row oui-justify-between oui-gap-4",children:[jsxRuntime.jsx("div",{className:"oui-text-base-contrast-36",children:t}),jsxRuntime.jsx("div",{className:"oui-text-right",children:jsxRuntime.jsx(ui$1.Text.numeral,{dp:i,children:o})})]})};var lr=e=>{let{data:t}=e,o=react.useMemo(()=>{let i=Number.NaN,r=t.length-1;for(;Number.isNaN(i)&&r>0;)i=t[r][2],r--;return i},[t]);return jsxRuntime.jsx(dt,{type:"bid",data:t,countQty:o})};var ur=e=>{let{data:t}=e,o=react.useMemo(()=>{let i=Number.NaN,r=t.length,n=0;for(;Number.isNaN(i)&&n<r;)i=t[n][2],n++;return i},[t]);return jsxRuntime.jsx(dt,{type:"ask",data:t,countQty:o})};var mt=e=>{let{markPrice:t=0,lastPrice:o,quote_dp:i,className:r,iconSize:n=18}=e,[a,s]=o,l=s<a,c=s>a;return jsxRuntime.jsxs(ui$1.Flex,{gap:1,className:ui$1.cn(c?"oui-text-trade-profit":l?"oui-text-trade-loss":"",r),children:[jsxRuntime.jsx(ui$1.Text.numeral,{dp:i,intensity:98,children:s}),jsxRuntime.jsxs(ui$1.Box,{width:19,children:[l&&jsxRuntime.jsx(ui$1.ArrowDownShortIcon,{size:n,color:"danger",opacity:1}),c&&jsxRuntime.jsx(ui$1.ArrowUpShortIcon,{size:n,color:"success",opacity:1})]})]})};var ft=e=>hooks.useMediaQuery(e.tabletMediaQuery??types.MEDIA_TABLET)?jsxRuntime.jsx(gl,{...e}):jsxRuntime.jsx(fl,{...e}),fl=e=>{let{quote_dp:t,className:o,iconSize:i=18}=e;return jsxRuntime.jsx(ui$1.Tooltip,{content:"Obtained from a third-party oracle, the mark price is calculated as the median of three prices: the last price, the fair price based on the funding rate basis, and the fair price based on the order books.",className:"oui-max-w-[270px]",children:jsxRuntime.jsxs(ui$1.Flex,{gap:1,className:ui$1.cn("oui-cursor-pointer oui-text-2xs",o),children:[jsxRuntime.jsx(fr,{size:i}),jsxRuntime.jsx(ui$1.Text.numeral,{dp:t,color:"warning",className:"oui-underline oui-text-base oui-decoration-dashed oui-decoration-1 oui-underline-offset-4 oui-decoration-warning-darken",children:e.markPrice})]})})},gl=e=>{let{quote_dp:t,className:o,iconSize:i=18}=e,[r,n]=react.useState(!1);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs(ui$1.Flex,{gap:1,className:ui$1.cn("oui-cursor-pointer oui-text-2xs",o),onClick:()=>{n(!0);},children:[jsxRuntime.jsx(fr,{size:i}),jsxRuntime.jsx(ui$1.Text.numeral,{dp:t,color:"warning",className:"oui-underline oui-decoration-dashed oui-decoration-1 oui-underline-offset-4 oui-decoration-warning-darken",children:e.markPrice})]}),jsxRuntime.jsx(ui$1.SimpleDialog,{size:"xs",open:r,onOpenChange:n,title:"Tips",actions:{primary:{label:"OK",onClick:()=>n(!1)}},children:jsxRuntime.jsx(ui$1.Text,{children:"Obtained from a third-party oracle, the mark price is calculated as the median of three prices: the last price, the fair price based on the funding rate basis, and the fair price based on the order books."})})]})},fr=e=>jsxRuntime.jsx("svg",{width:e.size,height:e.size,viewBox:"0 0 18 18",fill:"currenColor",xmlns:"http://www.w3.org/2000/svg",className:"oui-fill-warning-darken",children:jsxRuntime.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M3.75 1.5a.75.75 0 0 1 .75.75h6a.75.75 0 0 1 .75.75v1.5h3a.75.75 0 0 1 .75.75V12a.75.75 0 0 1-.75.75H7.5a.75.75 0 0 1-.75-.75v-1.5H4.5v5.25a.75.75 0 0 1-1.5 0V2.25a.75.75 0 0 1 .75-.75M4.5 9h5.25V3.75H4.5zm6.75-3v3.75a.75.75 0 0 1-.75.75H8.25v.75h5.25V6z"})});var br=e=>{let{markPrice:t=0,lastPrice:o,asks:i,bids:r,symbolInfo:n}=e,{showTotal:a,tabletMediaQuery:s}=q();return jsxRuntime.jsxs("div",{className:"oui-flex oui-flex-row oui-pl-3 oui-tabular-nums oui-justify-between oui-text-base-contrast-80 oui-text-xs oui-relative oui-cursor-pointer oui-py-[6px]",children:[jsxRuntime.jsxs("div",{className:ui$1.cn("oui-basis-7/12 oui-flex oui-flex-row oui-items-center oui-mr-2 oui-justify-between",a&&"oui-basis-5/12"),children:[jsxRuntime.jsx(mt,{markPrice:t,lastPrice:o,quote_dp:n.quote_dp,className:"oui-text-base"}),jsxRuntime.jsx(ft,{markPrice:t,quote_dp:n.quote_dp,tabletMediaQuery:s})]}),jsxRuntime.jsx("div",{className:ui$1.cn("oui-basis-5/12 oui-flex oui-items-center oui-fex-row oui-overflow-hidden oui-relative oui-justify-end",a&&"oui-basis-7/12","oui-pr-3"),children:jsxRuntime.jsx(yl,{asks:i,bids:r})})]})},yl=e=>{let{asks:t,bids:o}=e,i=react.useMemo(()=>{if(o.length===0&&t.length===0)return 0;let r=Number.isNaN(o[0][0])?0:o[0][0],n=t.reverse().findIndex(l=>!Number.isNaN(l[0])),a=0;n!==-1&&(a=Number.isNaN(t[n][0])?0:t[n][0]);let s=new utils.Decimal(a).sub(r).div(new utils.Decimal(a).add(r).div(2));return Math.ceil(s.toNumber()*1e6+.1)/1e4},[t,o]);return jsxRuntime.jsx("div",{children:jsxRuntime.jsx(ui$1.Tooltip,{content:"Spread Ratio of the ask1 and bid1.",className:"oui-max-w-[240px]",children:jsxRuntime.jsx(ui$1.Text,{size:"2xs",intensity:36,className:"oui-cursor-pointer oui-underline oui-decoration-dashed oui-decoration-1 oui-underline-offset-4 oui-decoration-base-contrast-36",children:`${i}%`})})})};var xr=e=>{let{showTotal:t}=q();return jsxRuntime.jsxs(ui$1.Flex,{pl:3,justify:"between",className:"oui-py-[6px]",children:[jsxRuntime.jsxs(ui$1.Flex,{gap:1,className:ui$1.cn("oui-basis-7/12",t&&"oui-basis-1/2"),children:[jsxRuntime.jsx(ui$1.Box,{width:"100%",children:jsxRuntime.jsx(pt,{name:"Price",token:e.quote,id:"oui-order-book-header-price"})}),jsxRuntime.jsx(ui$1.Box,{width:"100%",children:jsxRuntime.jsx(pt,{name:"Qty",token:e.base,id:"oui-order-book-header-qty",justifyEnd:!0})})]}),jsxRuntime.jsxs(ui$1.Flex,{gap:1,pr:3,className:ui$1.cn("oui-basis-5/12",t&&"oui-basis-1/2"),children:[jsxRuntime.jsx(ui$1.Box,{width:"100%",children:jsxRuntime.jsx(pt,{name:"Total",token:e.base,id:"oui-order-book-header-total-base",justifyEnd:!0})}),t&&jsxRuntime.jsx(ui$1.Box,{width:"100%",children:jsxRuntime.jsx(pt,{name:"Total",token:e.quote,id:"oui-order-book-header-total-quote",justifyEnd:!0})})]})]})},pt=e=>{let{name:t,token:o,justifyEnd:i=!1}=e;return jsxRuntime.jsxs(ui$1.Flex,{id:e.id,className:ui$1.cn("oui-text-base-contrast-36 oui-text-xs oui-items-end",i&&"oui-justify-end"),children:[jsxRuntime.jsx("span",{children:t}),jsxRuntime.jsx("span",{children:`(${o})`})]})};var Sr=e=>{let t=react.useMemo(()=>e.depths.map(o=>({value:o,label:`${o}`})),[e.depths]);return jsxRuntime.jsx(ui$1.Box,{pl:3,width:97,className:"oui-py-[10px]",children:jsxRuntime.jsx(ui$1.Select.options,{options:t,size:"xs",value:e.value,onValueChange:o=>{e.onChange?.(o);}})})};var Cr=e=>{let{lastPrice:t,markPrice:o,quote:i,base:r,isLoading:n,onDepthChange:a}=e,s=react.useRef(null),[l,c]=react.useState(!1),u=[{left:370,right:600},{left:740,right:800}];return react.useEffect(()=>{let d=new ResizeObserver(f=>{for(let h of f){let {inlineSize:b}=h.borderBoxSize[0];u.reduce((y,P)=>y+(b>=P.left&&b<P.right?1:0),0);c(b>=360);}}),m=s.current;return m&&d.observe(m),()=>{m&&d.unobserve(m);}},[]),jsxRuntime.jsx(lt,{cellHeight:e.cellHeight??20,onItemClick:e.onItemClick,depth:e.activeDepth,showTotal:l,pendingOrders:e.pendingOrders||[],symbolInfo:e.symbolInfo,tabletMediaQuery:e.tabletMediaQuery,children:jsxRuntime.jsxs(ui$1.Grid,{cols:1,rows:5,id:"oui-orderbook-desktop",ref:s,className:"oui-grid-rows-[auto,auto,1fr,auto,1fr] oui-relative oui-h-full oui-w-full",children:[jsxRuntime.jsx(Sr,{depths:e.depths,value:e.activeDepth,onChange:a}),jsxRuntime.jsx(xr,{quote:i,base:r}),jsxRuntime.jsx(ur,{data:[...e.asks]}),jsxRuntime.jsx(br,{lastPrice:t,markPrice:o,asks:[...e.asks],bids:[...e.bids],symbolInfo:e.symbolInfo}),jsxRuntime.jsx(lr,{data:[...e.bids]}),n&&jsxRuntime.jsx("div",{className:"oui-absolute oui-left-0 oui-top-0 oui-right-0 oui-bottom-0 oui-z-10 oui-flex oui-items-center oui-justify-center oui-bg-bg-8/70",children:jsxRuntime.jsx(ui$1.Spinner,{})})]})})};var vr=e=>{let{mode:t,onModeChange:o}=q(),i=react.useMemo(()=>t==="amount"?e.quote:e.base,[t,e.quote,e.base]),r=react.useMemo(()=>t==="amount"?"Value":"Qty",[t]);return jsxRuntime.jsxs(ui$1.Flex,{justify:"between",width:"100%",className:"oui-text-base-contrast-36 oui-text-2xs oui-py-[5px]",children:[jsxRuntime.jsxs(ui$1.Flex,{direction:"column",itemAlign:"start",id:"oui-order-book-header-price",children:[jsxRuntime.jsx(ui$1.Text,{children:"Price"}),jsxRuntime.jsx(ui$1.Text,{children:`(${e.quote})`})]}),jsxRuntime.jsxs(ui$1.Flex,{direction:"column",itemAlign:"end",className:"oui-cursor-pointer",onClick:()=>o?.(t==="amount"?"quantity":"amount"),children:[jsxRuntime.jsx(ui$1.Text,{children:r}),jsxRuntime.jsx(ui$1.Text,{children:`(${i})`})]})]})};var Nr=e=>{let t=e.accumulated/e.count*100,{cellHeight:o,onItemClick:i,depth:r,showTotal:n,symbolInfo:a}=react.useContext(st),{base_dp:s,quote_dp:l}=a,c=Number.isNaN(e.quantity)?"-":e.mode==="amount"?new utils.Decimal(e.quantity).mul(e.price).toString():e.quantity;n&&(c=e.quantity);let u=react.useMemo(()=>utils.getPrecisionByNumber(r||`${l}`),[r,l]);return jsxRuntime.jsxs(ui$1.Box,{className:ui$1.cn("oui-overflow-hidden oui-relative oui-cursor-pointer oui-tabular-nums oui-text-2xs oui-w-full",n&&"oui-flex-1"),style:{height:`${o}px`},onClick:d=>{Number.isNaN(e.price)||Number.isNaN(e.quantity)||i?.([e.price,e.quantity]);},children:[jsxRuntime.jsxs(ui$1.Flex,{justify:"between",children:[jsxRuntime.jsx(ui$1.Text.numeral,{color:e.type==="bid"?"buy":"sell",dp:u,children:e.price}),jsxRuntime.jsx(ui$1.Text.numeral,{dp:e.mode==="amount"?2:s,className:"oui-text-base-contrast-80",children:c})]}),Number.isNaN(t)||n?null:jsxRuntime.jsx(ut,{width:t,className:e.type==="ask"?"oui-bg-trade-loss/20":"oui-bg-trade-profit/20"})]})};var St=e=>{let{data:t}=e,{mode:o}=q();return jsxRuntime.jsx(ui$1.Box,{className:"oui-order-book-list oui-flex oui-flex-col oui-gap-[1px] oui-w-full",children:t.map((i,r)=>jsxRuntime.jsx(Nr,{background:"",price:i[0],quantity:i[1],accumulated:i[2],count:e.countQty,type:e.type,mode:o},r))})};var Dr=e=>{let{data:t}=e,o=react.useMemo(()=>{let i=Number.NaN,r=t.length-1;for(;Number.isNaN(i)&&r>0;)i=t[r][2],r--;return i},[t]);return jsxRuntime.jsx(St,{type:"bid",data:t,countQty:o})};var Fr=e=>{let{data:t}=e,o=react.useMemo(()=>{let i=Number.NaN,r=t.length,n=0;for(;Number.isNaN(i)&&n<r;)i=t[n][2],n++;return i},[t]);return jsxRuntime.jsx(St,{type:"ask",data:t,countQty:o})};var Br=e=>{let {symbolInfo:i,tabletMediaQuery:r}=q(),{quote_dp:n}=i;return jsxRuntime.jsxs(ui$1.Flex,{id:"oui-order-book-mark-price",className:"oui-py-[6px]",width:"100%",justify:"between",children:[jsxRuntime.jsx(mt,{markPrice:e.markPrice,lastPrice:e.lastPrice,quote_dp:n,className:"oui-text-sm",iconSize:14}),jsxRuntime.jsx(ft,{markPrice:e.markPrice,quote_dp:n,className:"oui-text-2xs",iconSize:12,tabletMediaQuery:r})]})};var Ar=e=>{let t=react.useMemo(()=>e.depth.map(o=>({value:o,label:`${o}`})),[e.depth]);return jsxRuntime.jsx(ui$1.Box,{id:"oui-order-book-depth",className:"oui-pt-2 oui-w-full",children:jsxRuntime.jsx(ui$1.Picker,{options:t,fullWidth:!0,size:"sm",value:e.value,className:"oui-text-2xs oui-text-base-contrast-54",onValueChange:o=>{e.onChange?.(o);}})})};var fo=e=>{let t=e.data.est_funding_rate,o=e.data.countDown;return jsxRuntime.jsxs(ui$1.Flex,{direction:"column",itemAlign:"start",pb:2,children:[jsxRuntime.jsx(ui$1.Text,{intensity:36,size:"2xs",children:"Pred. funding rate"}),t===null?"--":jsxRuntime.jsxs("div",{className:"orderly-flex orderly-gap-1 oui-text-2xs oui-text-base-contrast-36",children:[jsxRuntime.jsx(ui$1.Text.numeral,{coloring:!0,suffix:"%",dp:4,children:t??"--"}),jsxRuntime.jsx("span",{children:" in"}),jsxRuntime.jsx("span",{children:" "+o})]})]})};var go=e=>({data:hooks.useFundingRate(e)});var po=e=>{let t=go(e.symbol);return jsxRuntime.jsx(fo,{...t})};var Rr=e=>{let{lastPrice:t,markPrice:o,quote:i,base:r,isLoading:n,onDepthChange:a}=e,s=`PERP_${e.symbolInfo.base}_${e.symbolInfo.quote}`;return jsxRuntime.jsx(lt,{cellHeight:e.cellHeight??20,onItemClick:e.onItemClick,depth:e.activeDepth,pendingOrders:[],showTotal:!1,symbolInfo:e.symbolInfo,tabletMediaQuery:e.tabletMediaQuery,children:jsxRuntime.jsxs(ui$1.Flex,{direction:"column",p:2,id:"oui-orderbook-mobile",className:ui$1.cn("oui-h-full oui-wfull oui-relative",e.className),justify:"start",itemAlign:"start",children:[jsxRuntime.jsx(po,{symbol:s}),jsxRuntime.jsx(vr,{quote:i,base:r}),jsxRuntime.jsx(Fr,{data:e.asks}),jsxRuntime.jsx(Br,{lastPrice:t,markPrice:o}),jsxRuntime.jsx(Dr,{data:e.bids}),jsxRuntime.jsx(Ar,{depth:e.depths||[],value:e.activeDepth,onChange:a}),n&&jsxRuntime.jsx("div",{className:"oui-absolute oui-left-0 oui-top-0 oui-right-0 oui-bottom-0 oui-z-10 oui-flex oui-items-center oui-justify-center oui-bg-base-800/70 oui-h-full oui-min-h-[420px]",children:jsxRuntime.jsx(ui$1.Spinner,{})})]})})};var bo=e=>jsxRuntime.jsx(ui$1.Box,{className:"oui-font-semibold",width:"100%",height:"100%",children:e.isMWeb?jsxRuntime.jsx(Rr,{level:e.level,asks:e.asks,bids:e.bids,markPrice:e.markPrice,lastPrice:e.lastPrice,depths:e.depths,activeDepth:e.selDepth,base:e.base,quote:e.quote,isLoading:e.isLoading,onItemClick:e.onItemClick,cellHeight:e.cellHeight,onDepthChange:e.onDepthChange,className:e.className,symbolInfo:e.symbolInfo,tabletMediaQuery:e.tabletMediaQuery}):jsxRuntime.jsx(Cr,{level:e.level,asks:e.asks,bids:e.bids,markPrice:e.markPrice,lastPrice:e.lastPrice,depths:e.depths,activeDepth:e.selDepth,base:e.base,quote:e.quote,isLoading:e.isLoading,onItemClick:e.onItemClick,cellHeight:e.cellHeight,onDepthChange:e.onDepthChange,className:e.className,pendingOrders:e.pendingOrders,symbolInfo:e.symbolInfo,tabletMediaQuery:e.tabletMediaQuery})});var Qe=20,Wr=104,yo=e=>{let{symbol:t,height:o,tabletMediaQuery:i=types.MEDIA_TABLET}=e,r=hooks.useSymbolsInfo()[e.symbol],[n,a]=react.useState(Qe),[s,l]=react.useState(10),{base:c,quote:u,quote_dp:d}=_e(r),[m,{onDepthChange:f,isLoading:h,onItemClick:b,depth:k,allDepths:y}]=hooks.useOrderbookStream(t,void 0,{level:s}),P=su(t);react.useEffect(()=>{if(o){let A=Math.floor((o-Wr)/((Qe+1)*2)),ce=(Qe+1)*2*A,X=o-Wr-ce;X>10?a(Qe+X/A/2):a(Qe),l(A);}},[o]);let S=react.useMemo(()=>typeof k>"u"||typeof d>"u"?void 0:utils.removeTrailingZeros(k),[k,d]),D=react.useMemo(()=>y?.map(A=>utils.removeTrailingZeros(A))||[],[y,d]),j=hooks.useMediaQuery(i);return {level:s,asks:m?.asks,bids:m?.bids,markPrice:m?.markPrice,lastPrice:m?.middlePrice,depths:D,selDepth:S,base:c,quote:u,isLoading:h,onItemClick:b,cellHeight:n,onDepthChange:f,pendingOrders:P,symbolInfo:_e(r),isMWeb:j}},su=e=>{let[t]=hooks.useOrderStream({status:types.OrderStatus.INCOMPLETE,symbol:e});return react.useMemo(()=>t?.filter(r=>r.symbol===e).reduce((r,n)=>{let a=n.price||n.trigger_price||0;return [...r,a]},[]),[t,e])};var Le=e=>{let t=yo({symbol:e.symbol,height:e.height,tabletMediaQuery:e.tabletMediaQuery});return jsxRuntime.jsx(bo,{...t,className:e.className,tabletMediaQuery:e.tabletMediaQuery})};var So=e=>{let{riskRate:t,riskRateColor:o,isConnected:i,currentLeverage:r,maxLeverage:n}=e,{isHigh:a,isMedium:s,isLow:l,isDefault:c}=o,{wrongNetwork:u}=reactApp.useAppContext(),d=u?"":a?"oui-text-danger":s?"oui-text-warning-darken":l?ui$1.gradientTextVariants({color:"brand"}):"";return jsxRuntime.jsxs(ui$1.Box,{"data-risk":"",className:"oui-space-y-2",children:[jsxRuntime.jsx(ui$1.Flex,{itemAlign:"center",justify:"start",className:"oui-w-full oui-bg-base-6 oui-rounded-full oui-h-2 oui-px-[1px]",children:jsxRuntime.jsx(ui$1.Box,{className:u?"oui-bg-gradient-to-r oui-opacity-20 oui-from-[#26fefe] oui-via-[#ff7d00] oui-to-[#d92d6b] oui-h-1.5 oui-rounded-full":a?"oui-bg-gradient-to-tr oui-from-[#791438] oui-to-[#ff447c] oui-h-1.5 oui-rounded-full":s?"oui-bg-gradient-to-tr oui-from-[#792e00] oui-to-[#ffb65d] oui-h-1.5 oui-rounded-full":l?"oui-bg-gradient-to-tr oui-from-[#59b0fe] oui-to-[#26fefe] oui-h-1.5 oui-rounded-full":"oui-bg-gradient-to-r oui-opacity-20 oui-from-[#26fefe] oui-via-[#ff7d00] oui-to-[#d92d6b] oui-h-1.5 oui-rounded-full",style:t&&t!=="--"?{width:t}:{width:"100%"}})}),jsxRuntime.jsxs(ui$1.Flex,{className:"oui-gap-2",children:[jsxRuntime.jsxs(ui$1.Flex,{direction:"column",itemAlign:"start",className:"oui-flex-1",children:[jsxRuntime.jsx(ui$1.Tooltip,{content:jsxRuntime.jsx(Xt,{description:"The Risk rate is used to assess the risk level of an account. When the Risk rate reaches 100%, the account will be liquidated",formula:"Risk rate = Maintenance margin ratio / Margin ratio * 100%"}),children:jsxRuntime.jsx(ui$1.Text,{size:"2xs",color:"neutral",weight:"semibold",className:"oui-cursor-pointer oui-border-b oui-border-dashed oui-border-b-white/10",children:"Risk rate"})}),jsxRuntime.jsx(ui$1.Text,{size:"xs",color:"neutral",weight:"semibold",className:ui$1.cn(d),children:t??"--"})]}),jsxRuntime.jsxs(ui$1.Flex,{direction:"column",itemAlign:"end",className:"oui-flex-1",children:[jsxRuntime.jsx(ui$1.Tooltip,{open:!1,content:jsxRuntime.jsx("div",{children:"hint test"}),children:jsxRuntime.jsx(ui$1.Text,{size:"2xs",color:"neutral",weight:"semibold",className:"oui-cursor-pointer",children:"Max account leverage"})}),jsxRuntime.jsxs(ui$1.Flex,{className:"oui-gap-1",children:[jsxRuntime.jsx(ui$1.Text.numeral,{dp:2,padding:!1,suffix:r?"x":void 0,children:r??"--"}),jsxRuntime.jsx("span",{className:"oui-text-base-contrast-54",children:"/"}),jsxRuntime.jsxs("button",{className:"oui-flex oui-items-center oui-gap-1",onClick:()=>{ui$1.modal.show(uiLeverage.LeverageWidgetId,{currentLeverage:5});},"data-testid":"oui-testid-riskRate-leverage-button",children:[jsxRuntime.jsx(ui$1.Text.numeral,{dp:2,padding:!1,suffix:n?"x":void 0,"data-testid":"oui-testid-riskRate-leverage-value",children:n??"--"}),typeof n<"u"&&n!==null&&jsxRuntime.jsx(ui$1.EditIcon,{size:12,color:"white"})]})]})]})]})]})};var yu=e=>{if(e===null)return {isHigh:!1,isMedium:!1,isLow:!1,isDefault:!0};let t=e<40,o=e>=40&&e<80,i=e>=80;return {isHigh:i,isMedium:o,isLow:t,isDefault:!t&&!o&&!i}},Qr=()=>{let{state:e}=hooks.useAccount(),t=e.status>=types.AccountStatusEnum.EnableTrading,{marginRatio:o,currentLeverage:i,mmr:r}=hooks.useMarginRatio(),[n]=hooks.useLeverage(),a=react.useMemo(()=>!t||o===null||r===null?"--":o===0||r===0?"0%":`${new utils.Decimal(r).div(o).mul(100).todp(2,utils.Decimal.ROUND_UP).toString().replace(/\.?0+$/,"")}%`,[t,o,r]),s=a==="--"?null:parseFloat(a),l=react.useMemo(()=>yu(s),[s]),c=reactApp.useDataTap(i),u=reactApp.useDataTap(n);return {riskRate:reactApp.useDataTap(a),riskRateColor:l,isConnected:t,currentLeverage:c,maxLeverage:u}};var wo=()=>{let e=Qr();return jsxRuntime.jsx(So,{...e})};var vo=e=>jsxRuntime.jsx("div",{ref:e.containerRef,className:"oui-h-full",children:(e.containerSize?.width||0)>=572?jsxRuntime.jsx(Nu,{...e}):jsxRuntime.jsx(ku,{...e})}),Nu=e=>jsxRuntime.jsxs(ui$1.Grid,{cols:2,width:"100%",gap:3,className:"oui-auto-rows-fr",style:{height:e.containerSize?.height},children:[jsxRuntime.jsxs(ui$1.Flex,{direction:"column",itemAlign:"start",pt:3,pb:3,r:"2xl",className:"oui-bg-base-9",children:[jsxRuntime.jsx($r,{title:"Order book",className:"oui-pl-3 oui-text-sm"}),jsxRuntime.jsx(Le,{symbol:e.symbol,tabletMediaQuery:e.tabletMediaQuery,height:e.containerSize?e.containerSize.height-29-24:void 0})]}),jsxRuntime.jsxs(ui$1.Flex,{direction:"column",itemAlign:"start",py:3,r:"2xl",className:"oui-bg-base-9 oui-h-full",children:[jsxRuntime.jsx($r,{title:"Last trades",className:"oui-text-sm oui-px-3"}),jsxRuntime.jsx(Ne,{symbol:e.symbol,style:{height:e.containerSize&&e.containerSize.height-29-24},classNames:{listHeader:"oui-px-3",list:"oui-px-3"}})]})]}),ku=e=>jsxRuntime.jsx(ui$1.Box,{pt:3,pb:3,pr:0,r:"2xl",className:"oui-bg-base-9",style:{maxHeight:e.containerSize?.height},children:jsxRuntime.jsxs(ui$1.Tabs,{value:e.tab,variant:"contained",onValueChange:t=>{e.setTab(t);},classNames:{tabsList:"oui-pl-3"},size:"lg",children:[jsxRuntime.jsx(ui$1.TabPanel,{value:"orderBook",title:"Order book",children:jsxRuntime.jsx(Le,{symbol:e.symbol,tabletMediaQuery:e.tabletMediaQuery,height:e.containerSize?e.containerSize.height-29-18:void 0})}),jsxRuntime.jsx(ui$1.TabPanel,{value:"lastTrades",title:"Last trades",children:jsxRuntime.jsx(Ne,{symbol:e.symbol,style:{height:e.containerSize&&e.containerSize.height-29-18},classNames:{root:"oui-pt-[6px]",listHeader:"oui-px-3",list:"oui-px-3"}})})]})}),$r=e=>jsxRuntime.jsx(ui$1.Text,{size:"base",intensity:80,className:ui$1.cn("oui-pb-[5px]",e.className),children:e.title});var Po=e=>{let[t,o]=react.useState(void 0),[i,r]=react.useState("orderBook"),n=react.useRef();return react.useEffect(()=>{let a=new ResizeObserver(l=>{for(let c of l){let{width:u,height:d}=c.contentRect;o({width:u,height:d});}}),s=n.current;return s&&a.observe(s),()=>{s&&a.unobserve(s);}},[]),{symbol:e,containerSize:t,containerRef:n,tab:i,setTab:r}};var To=e=>{let t=Po(e.symbol);return jsxRuntime.jsx(vo,{tabletMediaQuery:e.tabletMediaQuery,...t})};var Xr=e=>{let{onMouseDown:t,mode:o="horizontal",...i}=e;return jsxRuntime.jsx("div",{...i,className:ui$1.cn(e.className,"!oui-transition-none","!oui-shadow-none !oui-bg-transparent","hover:!oui-bg-primary-light hover:!oui-shadow-[0px_0px_4px_0px] hover:!oui-shadow-primary-light/80","active:!oui-bg-primary-light active:!oui-shadow-[0px_0px_4px_0px] active:!oui-shadow-primary-light/80","focus:!oui-bg-primary-light focus:!oui-shadow-[0px_0px_4px_0px] focus:!oui-shadow-primary-light/80",o==="horizontal"?"!oui-w-[2px] !oui-min-w-[2px] !oui-mx-1":"!oui-h-[2px] !oui-min-h-[2px] !oui-my-1"),children:jsxRuntime.jsx("div",{onMouseDown:t,className:ui$1.cn("!oui-transition-none",o==="horizontal"?"after:!oui-w-[2px]":"after:!oui-h-[2px]","after:!oui-bg-transparent after:!oui-shadow-transparent")})})};var vt=e=>{let{onSizeChange:t,...o}=e;return jsxRuntime.jsx(Bu__default.default,{...o,lineBar:!0,renderBar:i=>jsxRuntime.jsx(Xr,{...i,mode:e.mode}),onDragEnd:(i,r,n)=>{t?.(`${r}`);}})};var ko=e=>jsxRuntime.jsx("button",{onClick:t=>{ui$1.modal.show(uiChainSelector.ChainSelectorSheetId,{bridgeLessOnly:!1,isWrongNetwork:e.isWrongNetwork}).then(o=>{o?.chainId&&e.setChainId(o?.chainId),ui$1.toast.success("Network switched");},o=>{});},children:jsxRuntime.jsxs(ui$1.Box,{className:"oui-relative oui-rounded-t-[6px] oui-rounded-bl-[6px] oui-rounded-br-[3px] oui-bg-base-5 oui-px-2 oui-h-7 oui-flex oui-items-center",children:[jsxRuntime.jsx(ui$1.ChainIcon,{chainId:e.chainId??e.defaultChainId,size:"2xs"}),jsxRuntime.jsx("div",{className:"oui-absolute oui-right-0 oui-bottom-0",children:jsxRuntime.jsxs("svg",{width:"9",height:"9",viewBox:"0 0 9 9",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsxRuntime.jsx("path",{d:"M9 6V0L0 9h6a3 3 0 0 0 3-3",fill:"url(#a)"}),jsxRuntime.jsx("defs",{children:jsxRuntime.jsxs("linearGradient",{id:"a",x1:"9",y1:"4.5",x2:"0",y2:"4.5",gradientUnits:"userSpaceOnUse",children:[jsxRuntime.jsx("stop",{stopColor:"rgb(var(--oui-gradient-brand-end))"}),jsxRuntime.jsx("stop",{offset:"1",stopColor:"rgb(var(--oui-gradient-brand-start))"})]})})]})})]})});var Do=()=>{let{account:e}=hooks.useAccount(),t=hooks.useConfig(),[o,i]=react.useState(e.chainId);react.useEffect(()=>{i(e.chainId);},[e.chainId]);let r=react.useMemo(()=>{if(o)return utils.isTestnet(Number(o))},[o]),{wrongNetwork:n}=reactApp.useAppContext(),a=t.get("networkId");return {defaultChainId:react.useMemo(()=>a==="testnet"?421614:42161,[]),chainId:o,setChainId:i,isTestnetChain:r,networkId:a,isWrongNetwork:n}};var Fo=()=>{let e=Do();return jsxRuntime.jsx(ko,{...e})};var Lo=e=>jsxRuntime.jsx(uiConnector.AuthGuard,{buttonProps:{size:"sm"},children:jsxRuntime.jsx(ui$1.Button,{variant:"gradient",size:"sm",className:"oui-max-w-[83px]",onClick:t=>{e.onShowAccountSheet();},children:ui$1.formatAddress(e.address,[4,4])})});var tn=()=>jsxRuntime.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"oui-rounded-full",children:[jsxRuntime.jsxs("g",{clipPath:"url(#a)",children:[jsxRuntime.jsx("path",{d:"m31.002 14.493-8.326-22.51L.166.31l8.327 22.51z",fill:"#03435D"}),jsxRuntime.jsx("path",{d:"m4.456-8.716-18.03 15.84 15.84 18.03 18.03-15.84z",fill:"#157CF2"}),jsxRuntime.jsx("path",{d:"m17.548 38.67 22.825-7.416-7.416-22.825-22.826 7.416z",fill:"#F3E200"})]}),jsxRuntime.jsx("defs",{children:jsxRuntime.jsx("clipPath",{id:"a",children:jsxRuntime.jsx("rect",{width:"24",height:"24",rx:"12",fill:"#fff"})})})]}),on=()=>jsxRuntime.jsx("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{d:"M5.832 2.492A3.333 3.333 0 0 0 2.5 5.826v5a3.333 3.333 0 0 0 3.333 3.333 3.333 3.333 0 0 0 3.334 3.333h5a3.333 3.333 0 0 0 3.333-3.333v-5a3.333 3.333 0 0 0-3.333-3.333 3.333 3.333 0 0 0-3.334-3.334zm8.334 5c.92 0 1.666.746 1.666 1.667v5c0 .92-.746 1.666-1.666 1.666h-5c-.92 0-1.667-.745-1.667-1.666h3.333a3.333 3.333 0 0 0 3.334-3.334z",fill:"rgb(var(--oui-color-primary))"})}),Pt=e=>{let{size:t=20}=e;return jsxRuntime.jsxs("svg",{width:t,height:t,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsxRuntime.jsxs("g",{clipPath:"url(#a)",children:[jsxRuntime.jsx("path",{d:"M10 20c5.542 0 10-4.458 10-10S15.542 0 10 0 0 4.458 0 10s4.458 10 10 10",fill:"#2775CA"}),jsxRuntime.jsx("path",{d:"M13 11.473c0-1.452-.94-1.95-2.82-2.158-1.344-.166-1.613-.498-1.613-1.078s.448-.955 1.343-.955c.806 0 1.254.25 1.478.872.045.124.18.207.313.207h.717c.179 0 .313-.125.313-.29v-.042c-.179-.913-.985-1.618-2.015-1.701v-.996c0-.166-.134-.29-.358-.332h-.671c-.18 0-.314.124-.359.332v.954c-1.343.166-2.194.996-2.194 2.034 0 1.369.896 1.908 2.776 2.116 1.254.207 1.657.456 1.657 1.12s-.627 1.12-1.477 1.12c-1.165 0-1.568-.456-1.702-1.078a.32.32 0 0 0-.313-.25h-.762c-.179 0-.313.125-.313.291v.042c.179 1.037.895 1.784 2.373 1.991v.996c0 .166.134.29.358.332h.672c.18 0 .313-.124.358-.332v-.996C12.105 13.465 13 12.593 13 11.473",fill:"#fff",fillOpacity:".98"}),jsxRuntime.jsx("path",{d:"M7.74 16.57c-3.458-1.215-5.23-4.986-3.945-8.324.665-1.821 2.127-3.208 3.944-3.859.178-.086.266-.216.266-.433v-.607c0-.174-.088-.304-.266-.347-.044 0-.133 0-.177.043-4.21 1.3-6.516 5.68-5.186 9.798.798 2.428 2.704 4.292 5.186 5.072.177.087.355 0 .399-.173.044-.043.044-.087.044-.173v-.608c0-.13-.133-.303-.266-.39m4.698-13.527c-.178-.086-.355 0-.4.174-.043.043-.043.086-.043.173v.607c0 .174.133.347.266.434 3.457 1.213 5.23 4.985 3.944 8.323-.664 1.821-2.127 3.209-3.944 3.859-.178.086-.266.216-.266.433v.607c0 .174.088.304.266.347.044 0 .133 0 .177-.043 4.21-1.3 6.515-5.68 5.186-9.798-.798-2.471-2.748-4.335-5.186-5.116",fill:"#fff"})]}),jsxRuntime.jsx("defs",{children:jsxRuntime.jsx("clipPath",{id:"a",children:jsxRuntime.jsx("path",{fill:"#fff",d:"M0 0h20v20H0z"})})})]})},rn=e=>{return jsxRuntime.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsxRuntime.jsxs("g",{"clip-path":"url(#clip0_6403_64483)",children:[jsxRuntime.jsx("path",{d:"M10.0245 19.9493C15.5198 19.9493 19.9747 15.4944 19.9747 9.99908C19.9747 4.50371 15.5198 0.0488281 10.0245 0.0488281C4.5291 0.0488281 0.0742188 4.50371 0.0742188 9.99908C0.0742188 15.4944 4.5291 19.9493 10.0245 19.9493Z",fill:"url(#paint0_linear_6403_64483)"}),jsxRuntime.jsx("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M14.1553 4.89304C14.2199 4.94541 14.1821 5.04758 14.0989 5.04758H5.95035C5.86716 5.04758 5.82936 4.94541 5.894 4.89304C7.0223 3.97912 8.45953 3.43164 10.0246 3.43164C11.5898 3.43164 13.0269 3.97912 14.1553 4.89304Z",fill:"white"}),jsxRuntime.jsx("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M7.47013 11.7869C7.42315 11.7199 7.34748 11.6777 7.26565 11.6777H3.82985C3.75113 11.6777 3.69375 11.7525 3.71563 11.8281C4.5078 14.565 7.0326 16.566 10.0247 16.566C13.017 16.566 15.5417 14.565 16.3339 11.8281C16.3558 11.7525 16.2984 11.6777 16.2197 11.6777H12.7839C12.702 11.6777 12.6264 11.7199 12.5795 11.7869C12.0155 12.5911 11.0815 13.1167 10.0248 13.1167C8.96803 13.1167 8.03406 12.5911 7.47013 11.7869Z",fill:"white"}),jsxRuntime.jsx("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M12.3347 7.90519C12.3822 7.95756 12.449 7.9891 12.5196 7.9891H16.1137C16.1952 7.9891 16.253 7.90983 16.2261 7.83301C15.9724 7.10689 15.5948 6.43893 15.1187 5.85447C15.074 5.79961 15.0067 5.76855 14.9358 5.76855H5.11323C5.04247 5.76855 4.97512 5.79961 4.93044 5.85447C4.45429 6.43893 4.0767 7.10689 3.82306 7.83301C3.79622 7.90983 3.85398 7.9891 3.93536 7.9891H7.52952C7.60022 7.9891 7.66694 7.95756 7.71445 7.90519C8.28491 7.2763 9.10861 6.88136 10.0246 6.88136C10.9405 6.88136 11.7643 7.2763 12.3347 7.90519Z",fill:"white"}),jsxRuntime.jsx("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M13.1164 10.9586C13.0553 10.9586 13.0118 10.899 13.0284 10.8401C13.1033 10.5722 13.1433 10.2898 13.1433 9.9981C13.1433 9.58758 13.064 9.19556 12.9199 8.83657C12.8954 8.77581 12.9392 8.70801 13.0046 8.70801H16.392C16.4349 8.70801 16.472 8.73831 16.4799 8.78052C16.5538 9.17511 16.5925 9.58216 16.5925 9.9982C16.5925 10.2978 16.5724 10.5926 16.5337 10.8815C16.5277 10.9258 16.4897 10.9586 16.4451 10.9586H13.1164ZM7.02223 10.8401C7.03868 10.899 6.99532 10.9586 6.93421 10.9586H3.60551C3.56084 10.9586 3.52285 10.9258 3.5169 10.8815C3.47807 10.5926 3.45801 10.2978 3.45801 9.9982C3.45801 9.58216 3.4967 9.17511 3.57069 8.78052C3.57859 8.73831 3.61563 8.70801 3.65856 8.70801H7.04593C7.11141 8.70801 7.15516 8.77581 7.13076 8.83657C6.98657 9.19556 6.90722 9.58758 6.90722 9.9981C6.90722 10.2898 6.94728 10.5722 7.02223 10.8401Z",fill:"white"})]}),jsxRuntime.jsxs("defs",{children:[jsxRuntime.jsxs("linearGradient",{id:"paint0_linear_6403_64483",x1:"10.0245",y1:"0.0488561",x2:"10.0245",y2:"19.9493",gradientUnits:"userSpaceOnUse",children:[jsxRuntime.jsx("stop",{"stop-color":"#C750FF"}),jsxRuntime.jsx("stop",{offset:"1","stop-color":"#5800E8"})]}),jsxRuntime.jsx("clipPath",{id:"clip0_6403_64483",children:jsxRuntime.jsx("rect",{width:"20",height:"20",fill:"white"})})]})]})};var Mo=e=>jsxRuntime.jsxs(ui$1.Flex,{direction:"column",gap:4,children:[jsxRuntime.jsx($u,{...e}),jsxRuntime.jsx(Ku,{...e}),jsxRuntime.jsx(Yu,{...e}),jsxRuntime.jsxs(ui$1.Flex,{gap:3,width:"100%",justify:"center",children:[e.showGetTestUSDC&&jsxRuntime.jsx(ui$1.Button,{variant:"outlined",size:"md",onClick:e.onGetTestUSDC,fullWidth:!0,loading:e.gettingTestUSDC,className:"oui-border-primary-light oui-text-primary-light",children:"Get test USDC"}),jsxRuntime.jsx(ui$1.Button,{variant:"outlined",color:"danger",size:"md",onClick:e.onDisconnect,className:e.showGetTestUSDC?"oui-w-full":"oui-w-[50%]",children:"Disconnect"})]})]}),$u=e=>jsxRuntime.jsxs(ui$1.Flex,{width:"100%",justify:"between",children:[jsxRuntime.jsxs(ui$1.Flex,{gap:3,children:[jsxRuntime.jsx(tn,{}),jsxRuntime.jsxs(ui$1.Flex,{direction:"column",justify:"start",itemAlign:"start",className:"oui-gap-[2px]",children:[jsxRuntime.jsx(ui$1.Text.formatted,{rule:"address",children:e.address}),jsxRuntime.jsx(ui$1.Text.formatted,{size:"2xs",intensity:80,prefix:jsxRuntime.jsx("div",{className:"oui-h-1 oui-w-1 oui-rounded-full oui-bg-success oui-pr-1"}),children:e.chainName})]})]}),jsxRuntime.jsx("button",{className:"oui-cursor-pointer",onClick:()=>{e.onCopyAddress();},children:jsxRuntime.jsx(on,{})})]}),Ku=e=>jsxRuntime.jsxs(ui$1.Flex,{direction:"column",gap:3,r:"lg",p:3,className:"oui-bg-base-6",width:"100%",children:[jsxRuntime.jsx("button",{onClick:e.onClickReferral,className:"oui-cursor-pointer oui-w-full",children:jsxRuntime.jsxs(ui$1.Flex,{justify:"between",width:"100%",children:[jsxRuntime.jsx(ui$1.Text,{size:"2xs",children:"Referral"}),jsxRuntime.jsx(ui$1.ArrowRightShortIcon,{color:"white",opacity:.98,size:16})]})}),e.isAffiliate&&jsxRuntime.jsxs(ui$1.Flex,{gradient:"primary",p:4,r:"lg",width:"100%",angle:180,justify:"between",children:[jsxRuntime.jsxs(ui$1.Flex,{direction:"column",itemAlign:"start",children:[jsxRuntime.jsx(ui$1.Text,{size:"xs",children:"Affiliate"}),jsxRuntime.jsx(ui$1.Text,{size:"2xs",intensity:54,children:"(30d commission)"})]}),jsxRuntime.jsxs(ui$1.Flex,{className:"oui-gap-[6px]",children:[jsxRuntime.jsx(Pt,{}),jsxRuntime.jsx(ui$1.Text.numeral,{dp:2,padding:!1,rm:utils.Decimal.ROUND_DOWN,rule:"price",children:e.affiliateCommission30D??"--"})]})]}),e.isTrader&&jsxRuntime.jsxs(ui$1.Flex,{gradient:"success",p:4,r:"lg",width:"100%",angle:180,justify:"between",children:[jsxRuntime.jsxs(ui$1.Flex,{direction:"column",itemAlign:"start",children:[jsxRuntime.jsx(ui$1.Text,{size:"xs",children:"Trader"}),jsxRuntime.jsx(ui$1.Text,{size:"2xs",intensity:54,children:"(30d commission)"})]}),jsxRuntime.jsxs(ui$1.Flex,{className:"oui-gap-[6px]",children:[jsxRuntime.jsx(Pt,{}),jsxRuntime.jsx(ui$1.Text.numeral,{dp:2,padding:!1,rm:utils.Decimal.ROUND_DOWN,rule:"price",children:e.traderCommission30D??"--"})]})]})]}),Yu=e=>jsxRuntime.jsxs(ui$1.Flex,{direction:"column",gap:3,r:"lg",p:3,className:"oui-bg-base-6",width:"100%",children:[jsxRuntime.jsx("button",{onClick:e.onClickTradingRewards,className:"oui-cursor-pointer oui-w-full",children:jsxRuntime.jsxs(ui$1.Flex,{justify:"between",width:"100%",children:[jsxRuntime.jsxs("span",{className:"oui-text-2xs",children:["Trading rewards",jsxRuntime.jsx(ui$1.Text,{intensity:54,children:" (epoch "}),e.curEpochId,jsxRuntime.jsx(ui$1.Text,{intensity:54,children:" )"})]}),jsxRuntime.jsx(ui$1.ArrowRightShortIcon,{color:"white",opacity:.98,size:16})]})}),jsxRuntime.jsxs(ui$1.Flex,{p:4,r:"lg",width:"100%",angle:180,justify:"between",className:"oui-bg-gradient-to-t oui-from-[#2d0061] oui-to-[#bd6bed]",children:[jsxRuntime.jsx(ui$1.Text,{size:"2xs",intensity:80,children:"My est. rewards"}),jsxRuntime.jsxs(ui$1.Flex,{className:"oui-gap-[6px]",children:[jsxRuntime.jsx(rn,{}),jsxRuntime.jsx(ui$1.Text.numeral,{dp:2,padding:!1,rm:utils.Decimal.ROUND_DOWN,rule:"price",children:e.estRewards})]})]})]});var Oo=e=>{let{account:t,state:o}=hooks.useAccount(),i=t.accountId,r=t.address,n=t.chainId,{hide:a}=ui$1.useModal(),s=hooks.useConfig(),{connectedChain:l,disconnect:c,namespace:u}=hooks.useWalletConnector(),d=react.useMemo(()=>{let w=l?.id;return w===void 0?!1:o.status===types.AccountStatusEnum.EnableTrading&&utils.isTestnet(parseInt(w))},[o.status,l]),m=uc(),f=s.get("operatorUrl"),h=()=>{navigator.clipboard.writeText(r??""),ui$1.toast.success("Copy success");},{affiliateCommission30D:b,traderCommission30D:k,isAffiliate:y,isTrader:P,onClickReferral:S}=sc(e.onClickReferral),{curEpochId:D,estRewards:j,onClickTradingRewards:A}=lc(e.onClickTradingRewards),ce=async()=>{await c({label:o.connectWallet?.name}),await t.disconnect(),a();},[X,{isMutating:ee}]=hooks.useMutation(`${f}/v1/faucet/usdc`);return {accountId:i,address:r,chainId:n,chainName:m,onCopyAddress:h,affiliateCommission30D:b,onClickReferral:S,isAffiliate:y,isTrader:P,traderCommission30D:k,curEpochId:D,onClickTradingRewards:A,estRewards:j,onDisconnect:ce,showGetTestUSDC:d,onGetTestUSDC:()=>{if(o.status<types.AccountStatusEnum.EnableTrading)return;let w=`${u===types.ChainNamespace.solana?"100":"1,000"} USDC will be added to your balance. Please note this may take up to 3 minutes. Please check back later.`;return X({chain_id:t.walletAdapter?.chainId.toString(),user_address:o.address,broker_id:s.get("brokerId")}).then(O=>{if(O.success)return ui$1.modal.alert({title:"Get test USDC",message:w,onOk:()=>Promise.resolve(!0)});O.message&&ui$1.toast.error(O.message);},O=>{ui$1.toast.error(O.message);})},gettingTestUSDC:ee}},sc=e=>{let{data:t,isLoading:o,isAffiliate:i,isTrader:r}=hooks.useReferralInfo(),n=react.useMemo(()=>{if(i)return t?.referrer_info["30d_referrer_rebate"]},[t]),a=react.useMemo(()=>{if(r)return t?.referee_info["30d_referee_rebate"]},[t]);return {onClickReferral:()=>{e?.();},affiliateCommission30D:n,traderCommission30D:a,isAffiliate:i,isTrader:r}},lc=e=>{let[t]=hooks.useCurEpochEstimate(hooks.TWType.normal),[o,i]=hooks.useEpochInfo(hooks.TWType.normal),r=react.useMemo(()=>i.curEpochInfo?.epoch_id??"--",[i]),n=react.useMemo(()=>typeof t?.est_r_wallet>"u"?"--":t?.est_r_wallet,[t]);return {curEpochId:r,estRewards:n,onClickTradingRewards:()=>{e?.();}}};function uc(){let{connectedChain:e}=hooks.useWalletConnector(),[t,{findByChainId:o}]=hooks.useChains("mainnet",{pick:"network_infos",filter:r=>r.network_infos?.bridge_enable||r.network_infos?.bridgeless});return react.useMemo(()=>{let r=o(parseInt(e?.id),"network_infos");return r?r.name:"Unknown"},[e,o])}var Io=e=>{let t=Oo(e);return jsxRuntime.jsx(Mo,{...t})};var Ro=()=>{let{referral:e,tradingRewards:t,bottomSheetLeading:o}=L(),{account:i}=hooks.useAccount();return {onShowAccountSheet:()=>{ui$1.modal.sheet({title:"Account",leading:o,content:jsxRuntime.jsx(Io,{...e,...t})});},address:i.address}};var _o=()=>{let e=Ro();return jsxRuntime.jsx(Lo,{...e})};var Ho=e=>jsxRuntime.jsxs(ui$1.Flex,{gap:3,children:[jsxRuntime.jsxs(ui$1.Flex,{direction:"column",itemAlign:"start",className:"oui-text-[11px] oui-cursor-pointer",onClick:t=>{e.onShowPortfolioSheet();},children:[jsxRuntime.jsxs(ui$1.Flex,{children:[jsxRuntime.jsx(ui$1.Text,{intensity:54,children:"Total value"}),jsxRuntime.jsx("button",{onClick:t=>{t.stopPropagation(),t.preventDefault(),e.setHideAssets(!e.hideAssets);},className:"oui-px-1",children:e.hideAssets?jsxRuntime.jsx(ui$1.EyeIcon,{color:"primary",opacity:1,size:16,className:"oui-text-primary-light"}):jsxRuntime.jsx(ui$1.EyeCloseIcon,{color:"primary",opacity:1,size:16,className:"oui-text-primary-light"})}),jsxRuntime.jsx(Sc,{})]}),jsxRuntime.jsx(ui$1.Text.numeral,{suffix:jsxRuntime.jsx(ui$1.Text,{intensity:20,children:"\xA0USDC"}),dp:2,visible:!e.hideAssets,children:e.isEnableTrading?e.total??"--":"--"})]}),!e.wrongNetwork&&e.isEnableTrading&&jsxRuntime.jsx(ui$1.Divider,{direction:"vertical",className:"oui-h-[26px]"}),!e.wrongNetwork&&e.isEnableTrading&&jsxRuntime.jsx(ui$1.Button,{variant:"outlined",onClick:t=>{e.onShowPortfolioSheet();},className:"oui-h-[28px] oui-text-2xs oui-text-primary-light oui-border-primary-light",children:utils.commifyOptional(e.currentLeverage,{fix:2})+"x"})]}),Sc=()=>jsxRuntime.jsx("svg",{width:"8",height:"8",viewBox:"0 0 8 8",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{d:"M6.456 3.48a3.5 3.5 0 0 0 .431-.567 9 9 0 0 0 .361-.654l-.648-.66-.107.185q-.071.12-.142.244a3 3 0 0 1-.27.396 1.4 1.4 0 0 1-.318.29.67.67 0 0 1-.38.114q-.307 0-.666-.194t-.742-.42q-.383-.227-.777-.42a1.7 1.7 0 0 0-.771-.194q-.401.001-.72.154a2.1 2.1 0 0 0-.57.404 2.6 2.6 0 0 0-.43.574 5 5 0 0 0-.307.646l.649.66q.165-.437.464-.833.298-.395.742-.396.347 0 .7.194.354.193.721.42.37.227.763.42.396.195.826.195.374.001.665-.155.29-.151.526-.404m.352 2.941a3.5 3.5 0 0 0 .431-.566q.196-.315.361-.654l-.648-.66-.107.184-.142.244a3 3 0 0 1-.27.396 1.4 1.4 0 0 1-.318.29.67.67 0 0 1-.38.115q-.307 0-.666-.195-.36-.193-.742-.42-.383-.226-.778-.42a1.7 1.7 0 0 0-.77-.194q-.401.001-.72.154a2.1 2.1 0 0 0-.57.405 2.6 2.6 0 0 0-.43.574 5 5 0 0 0-.307.646l.649.66q.165-.437.464-.833.297-.395.742-.396.347 0 .7.194.354.193.721.42.369.226.763.42.396.194.826.194.374.001.665-.154.29-.152.526-.404",fill:"#fff",fillOpacity:".54"})});var Vo=()=>{let{account:e}=hooks.useAccount(),t=Nc(),o=kc(),[i,r]=react.useState(!1),n=react.useCallback(async()=>e.settle().catch(l=>{if(l.code==-1104)return ui$1.toast.error("Settlement is only allowed once every 10 minutes. Please try again later."),Promise.reject(l);if(l?.code==="ACTION_REJECTED")return ui$1.toast.error("User rejected the request."),Promise.reject(l)}).then(l=>(ui$1.toast.success("Settlement requested"),Promise.resolve(l))),[e]),a=react.useCallback(()=>{ui$1.modal.show(uiTransfer.DepositAndWithdrawWithSheetId,{activeTab:"deposit"});},[]),s=react.useCallback(()=>{ui$1.modal.show(uiTransfer.DepositAndWithdrawWithSheetId,{activeTab:"withdraw"});},[]);return {...t,...o,onSettlePnL:n,onDeposit:a,onWithdraw:s,showSliderTip:i,setShowSliderTip:r}},Nc=()=>{let{hideAssets:e,setHideAssets:t}=E(),o=()=>{t(!e);},{totalCollateral:i,freeCollateral:r,totalValue:n,availableBalance:a}=hooks.useCollateral({dp:2});return {hideAssets:e,toggleHideAssets:o,totalCollateral:i,freeCollateral:r,totalValue:n,availableBalance:a}},kc=()=>{let[{aggregated:e,totalUnrealizedROI:t},o]=hooks.usePositionStream(),{marginRatio:i,currentLeverage:r,mmr:n}=hooks.useMarginRatio(),a=react.useMemo(()=>Math.min(10,e.notional===0?o.margin_ratio(10):i),[i,e]),[s,{update:l,config:c,isMutating:u}]=hooks.useLeverage(),d=react.useMemo(()=>c?.map(S=>({label:`${S}x`,value:S}))||[],[c]),[m,f]=react.useState(s??0),h=c?.reduce((S,D)=>Math.max(S,Number(D),0)),b=100/((d?.length||0)-1),k=S=>{f(S);},y=async S=>{try{l({leverage:S}).then(D=>{ui$1.toast.success("Leverage updated");},D=>{ui$1.toast.error(D.message);});}catch{}},P=react.useCallback(S=>{y(S[0]);},[]);return {aggregated:e,totalUnrealizedROI:t,positionsInfo:o,marginRatio:i,marginRatioVal:a,mmr:n,currentLeverage:r,step:b,marks:d,onLeverageChange:k,onValueCommit:P,value:m,maxLeverage:h,onSaveLeverage:y}};function gn(e,t){if(t===null)return {isRed:!1,isYellow:!1,isGreen:!0};let o=t*2,i=e<=o,r=e>o&&e<1,n=e>=1;return {high:i,mid:r,low:n}}var hn=e=>{let{size:t=20,className:o}=e;return jsxRuntime.jsx("div",{className:"oui-flex oui-justify-center oui-items-end",style:{background:"url(/images/riskLevelBg.png)",backgroundSize:"contain",backgroundRepeat:"no-repeat",backgroundPosition:"center bottom",width:`${t}px`,height:"14px"},children:jsxRuntime.jsx("div",{className:ui$1.cn("oui-relative oui-w-[2px] oui-h-[2px] oui-rounded-full oui-bg-white after:oui-block after:oui-content-[''] after:oui-absolute after:oui-right-0 after:oui-w-[10px] after:oui-h-[2px] after:oui-bg-white/50",o)})})};var Qo=e=>jsxRuntime.jsxs(ui$1.Flex,{direction:"column",gap:4,width:"100%",children:[jsxRuntime.jsx(zc,{...e}),jsxRuntime.jsx(ui$1.Divider,{className:"oui-w-full"}),jsxRuntime.jsx(Wc,{...e}),jsxRuntime.jsx(Ec,{...e}),jsxRuntime.jsx(Hc,{...e})]}),zc=e=>{let t=react.useCallback(()=>ui$1.modal.confirm({title:"Settle PnL",content:jsxRuntime.jsx(ui$1.Text,{intensity:54,size:"xs",children:"Are you sure you want to settle your PnL? Settlement will take up to 1 minute before you can withdraw your available balance."}),onCancel:()=>Promise.reject(),onOk:()=>typeof e.onSettlePnL!="function"?Promise.resolve():e.onSettlePnL().catch(i=>{})}),[]),o=e.totalUnrealizedROI>0?"oui-text-success-darken":"oui-text-danger-darken";return jsxRuntime.jsxs(ui$1.Flex,{direction:"column",gap:3,width:"100%",children:[jsxRuntime.jsxs(ui$1.Flex,{direction:"column",itemAlign:"start",width:"100%",children:[jsxRuntime.jsx(ui$1.Text.formatted,{size:"2xs",intensity:36,suffix:e.hideAssets?jsxRuntime.jsx(ui$1.EyeIcon,{opacity:1,size:16,className:"oui-text-primary-light"}):jsxRuntime.jsx(ui$1.EyeCloseIcon,{opacity:1,size:16,className:"oui-text-primary-light"}),onClick:i=>{e.toggleHideAssets();},className:"oui-cursor-pointer",children:"Total value (USDC)"}),jsxRuntime.jsx(ui$1.Text.numeral,{size:"base",dp:2,padding:!1,visible:!e.hideAssets,children:e.totalValue??"--"})]}),jsxRuntime.jsxs(ui$1.Grid,{cols:2,rows:1,width:"100%",children:[jsxRuntime.jsx(ui$1.Statistic,{label:"Unreal. PnL (USDC)",classNames:{label:"oui-text-2xs oui-text-base-contrast-36"},children:jsxRuntime.jsxs(ui$1.Flex,{gap:1,children:[jsxRuntime.jsx(ui$1.Text.numeral,{size:"xs",coloring:!0,dp:2,padding:!1,visible:!e.hideAssets,children:e.aggregated.unrealPnL}),!e.hideAssets&&jsxRuntime.jsx(ui$1.Text.numeral,{size:"xs",dp:2,padding:!1,rule:"percentages",prefix:"(",suffix:")",className:o,children:e.totalUnrealizedROI})]})}),jsxRuntime.jsx(ui$1.Statistic,{label:"Unsettled PnL (USDC)",classNames:{label:"oui-text-2xs oui-text-base-contrast-36"},children:jsxRuntime.jsxs(ui$1.Flex,{justify:"between",width:"100%",children:[jsxRuntime.jsx(ui$1.Text.numeral,{size:"xs",coloring:!0,dp:2,padding:!1,visible:!e.hideAssets,children:e.aggregated.unsettledPnL}),jsxRuntime.jsxs("button",{className:"oui-flex oui-gap-1 oui-items-center",onClick:t,children:[jsxRuntime.jsx(ui$1.RefreshIcon,{opacity:1,size:12,className:"oui-text-primary-light"}),jsxRuntime.jsx(ui$1.Text,{size:"2xs",color:"primary",children:"Settle PnL"})]})]})})]})]})},Wc=e=>{let{high:t,mid:o,low:i}=gn(e.marginRatioVal,e.mmr);return jsxRuntime.jsxs(ui$1.Grid,{cols:2,rows:1,width:"100%",children:[jsxRuntime.jsx(ui$1.Statistic,{label:"Margin Ratio",classNames:{label:"oui-text-2xs oui-text-base-contrast-36"},children:jsxRuntime.jsxs(ui$1.Flex,{gap:2,children:[jsxRuntime.jsx(ui$1.Text.numeral,{size:"xs",rule:"percentages",color:"primary",dp:2,padding:!1,visible:!e.hideAssets,children:e.marginRatioVal}),!e.hideAssets&&jsxRuntime.jsx(hn,{className:i?"oui-rotate-0":o?"oui-rotate-90":t?"oui-rotate-180":""})]})}),jsxRuntime.jsx(ui$1.Statistic,{label:"Free / Total Collateral (USDC)",classNames:{label:"oui-text-2xs oui-text-base-contrast-36"},children:jsxRuntime.jsxs(ui$1.Flex,{justify:"start",width:"100%",gap:1,children:[jsxRuntime.jsx(ui$1.Text.numeral,{size:"xs",dp:2,padding:!1,visible:!e.hideAssets,children:e.freeCollateral}),jsxRuntime.jsx(ui$1.Text,{size:"xs",children:"/"}),jsxRuntime.jsx(ui$1.Text.numeral,{size:"xs",dp:2,padding:!1,visible:!e.hideAssets,children:e.totalCollateral})]})})]})},Ec=e=>jsxRuntime.jsxs(ui$1.Flex,{direction:"column",gap:2,width:"100%",children:[jsxRuntime.jsxs(ui$1.Flex,{width:"100%",justify:"between",children:[jsxRuntime.jsx(ui$1.Text,{size:"2xs",intensity:54,children:"Max account leverage"}),jsxRuntime.jsx(ui$1.Text.numeral,{size:"2xs",prefix:jsxRuntime.jsx(ui$1.Text,{size:"2xs",intensity:54,children:"Current: "}),suffix:"x",children:e.currentLeverage??"--"})]}),jsxRuntime.jsx(uiLeverage.LeverageSlider,{value:e.value,maxLeverage:e.maxLeverage,onLeverageChange:e.onLeverageChange,setShowSliderTip:e.setShowSliderTip,showSliderTip:e.showSliderTip,onValueCommit:e.onValueCommit})]});var Hc=e=>jsxRuntime.jsxs(ui$1.Grid,{cols:2,rows:1,gap:3,className:"oui-grid-row-[1fr,1fr]",width:"100%",pt:2,pb:4,children:[jsxRuntime.jsx(ui$1.Button,{icon:jsxRuntime.jsx(ui$1.ArrowUpShortIcon,{color:"white",opacity:.8}),size:"md",fullWidth:!0,className:"oui-bg-base-2 hover:oui-bg-base-2/50",onClick:e.onWithdraw,children:"Withdraw"}),jsxRuntime.jsx(ui$1.Button,{icon:jsxRuntime.jsx(ui$1.ArrowDownShortIcon,{color:"white",opacity:.8}),size:"md",fullWidth:!0,onClick:e.onDeposit,children:"Deposit"})]});var Uo=()=>{let e=Vo();return jsxRuntime.jsx(Qo,{...e})};var Go=()=>{let{bottomSheetLeading:e}=L(),{hideAssets:t,setHideAssets:o}=E(),{wrongNetwork:i}=reactApp.useAppContext(),{state:r}=hooks.useAccount(),{currentLeverage:n}=hooks.useMarginRatio(),{totalValue:a}=hooks.useCollateral(),s=r.status>=types.AccountStatusEnum.EnableTrading,l=()=>{s&&ui$1.modal.sheet({title:"Asset & Margin",leading:e,content:jsxRuntime.jsx(Uo,{})});},c=reactApp.useDataTap(a);return {currentLeverage:n,total:c,hideAssets:t,setHideAssets:o,onShowPortfolioSheet:l,wrongNetwork:i,isEnableTrading:s}};var $o=()=>{let e=Go();return jsxRuntime.jsx(Ho,{...e})};var Yo=e=>jsxRuntime.jsxs("div",{className:"oui-bg-base-9 oui-border-t oui-border-line-4",children:[jsxRuntime.jsxs(ui$1.Flex,{height:64,gap:1,justify:"between",itemAlign:"center",className:" oui-px-[14px] oui-pt-[7px] ",children:[jsxRuntime.jsx($o,{}),jsxRuntime.jsxs(ui$1.Flex,{gap:2,children:[!e.wrongNetwork&&jsxRuntime.jsx(Fo,{}),jsxRuntime.jsx(_o,{})]})]}),jsxRuntime.jsx("div",{className:"oui-h-[env(safe-area-inset-bottom)]"})]});var Zo=()=>{let{wrongNetwork:e}=reactApp.useAppContext();return {wrongNetwork:e}};var Xo=()=>{let e=Zo();return jsxRuntime.jsx(Yo,{...e})};var Jo=()=>{let[e,t]=react.useState("chart"),{symbol:o}=L(),[i,r]=react.useState(!0);return {tab:e,setTab:t,symbol:o,toggleContentVisible:()=>{r(a=>!a);},setVisible:r,visible:i}};var Sn=e=>jsxRuntime.jsx(Ne,{symbol:e.symbol,classNames:{root:"oui-px-3 ",list:"oui-min-h-[141px] oui-max-h-[202px] oui-w-full",listHeader:"oui-text-xs oui-text-base-contrast-36",listItem:{left:"oui-text-xs",mid:"oui-text-xs",right:"oui-text-xs"}}});var oi=e=>jsxRuntime.jsxs(ui$1.Flex,{direction:"column",gap:2,children:[jsxRuntime.jsx(Ae,{title:"Mark price",value:e.ticker?.mark_price,dp:e.symbolInfo.quote_dp}),jsxRuntime.jsx(Ae,{title:"Index price",value:e.ticker?.index_price,dp:e.symbolInfo.quote_dp}),jsxRuntime.jsx(Ae,{title:"24h volume",value:e.vol_24h,dp:e.symbolInfo.quote_dp,rule:"human",showUSDC:!0}),jsxRuntime.jsx(Ae,{title:"24h high",value:e.ticker?.["24h_high"],dp:e.symbolInfo.quote_dp}),jsxRuntime.jsx(Ae,{title:"24h low",value:e.ticker?.["24h_low"],dp:e.symbolInfo.quote_dp}),jsxRuntime.jsx(Ae,{title:"Open interest",value:e.openInterest,dp:e.symbolInfo.quote_dp,rule:"human",showUSDC:!0})]}),Ae=e=>{let{title:t,value:o,showUSDC:i,dp:r,rule:n="price"}=e;return jsxRuntime.jsxs(ui$1.Flex,{justify:"between",width:"100%",className:"oui-text-xs",children:[jsxRuntime.jsx(ui$1.Text,{intensity:36,children:t}),jsxRuntime.jsxs(ui$1.Flex,{gap:1,children:[jsxRuntime.jsx(ui$1.Text.numeral,{rule:n,dp:r,intensity:80,children:o}),i&&jsxRuntime.jsx(ui$1.Text,{intensity:36,children:"USDC"})]})]})};var ii=e=>{let{symbol:t}=e,o=hooks.useTickerStream(t),{symbolInfo:i}=L(),r=react.useMemo(()=>{let a=o?.["24h_close"],s=o?.["24h_volume"];if(a&&s&&!isNaN(a)&&!isNaN(s))return new utils.Decimal(a).mul(s).toFixed(i.quote_dp,utils.Decimal.ROUND_DOWN)},[o]),n=react.useMemo(()=>{let a=o?.mark_price,s=o?.open_interest;if(a&&s&&!isNaN(a))return new utils.Decimal(a).mul(Number(s)).toFixed(i.quote_dp,utils.Decimal.ROUND_DOWN)},[o]);return {ticker:o,symbolInfo:i,vol_24h:r,openInterest:n}};var ri=e=>{let t=ii(e);return jsxRuntime.jsx(oi,{...t})};var wn=e=>jsxRuntime.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...e,children:jsxRuntime.jsx("g",{id:"Arrows-expand",children:jsxRuntime.jsx("path",{id:"Vector",d:"M5.9989 1.00708C5.8709 1.00708 5.7369 1.05008 5.6394 1.14758L3.7959 3.00708L4.4989 3.71008L5.4989 2.72607V4.50708C5.4989 4.78308 5.7229 5.00708 5.9989 5.00708C6.2749 5.00708 6.4989 4.78308 6.4989 4.50708V2.72607L7.4989 3.71008L8.2019 3.00708L6.3584 1.14758C6.2604 1.05008 6.1269 1.00708 5.9989 1.00708ZM5.9989 7.00707C5.7229 7.00707 5.4989 7.23107 5.4989 7.50707V9.28808L4.4989 8.30407L3.7959 9.00707L5.6394 10.8666C5.8349 11.0616 6.1629 11.0616 6.3584 10.8666L8.2019 9.00707L7.4989 8.30407L6.4989 9.28808V7.50707C6.4989 7.23107 6.2749 7.00707 5.9989 7.00707Z"})})});function Pn(e){return jsxRuntime.jsxs("div",{className:"oui-pb-1 oui-flex oui-flex-col oui-gap-1",style:{height:e.height},ref:e.boxRef,children:[jsxRuntime.jsx("div",{className:"oui-w-full oui-h-full",children:jsxRuntime.jsx(uiTradingview.TradingviewWidget,{symbol:e.symbol,libraryPath:e.tradingViewConfig?.library_path,mode:3,scriptSRC:e.tradingViewConfig?.scriptSRC,customCssUrl:e.tradingViewConfig?.customCssUrl})}),jsxRuntime.jsx("div",{className:"oui-relative oui-w-full",children:jsxRuntime.jsx("div",{ref:e.dragRef,className:ui$1.cn("oui-h-[1px] oui-absolute oui-left-0 oui-right-0 oui-bottom-0 oui-top-0 oui-z-10 oui-mt-[7px] oui-bg-base-contrast-12",e.dragging&&"oui-bg-primary "),children:jsxRuntime.jsx(wn,{className:ui$1.cn("oui-w-3 oui-h-3 oui-absolute oui-left-1/2 -oui-top-[5px] -oui-translate-y-[0.5px] oui-text-base-contrast-12",e.dragging&&" oui-text-primary")})})})]})}var ad=354,kn=234,sd="TRADINGVIEW_MOBILE_HEIGHT";function Dn(e){let[t,o]=hooks.useLocalStorage(sd,kn),[i,r]=react.useState(!1),n=react.useRef(null),a=react.useRef(null),[s,l]=react.useState(0),c=react.useRef(0),u=react.useCallback(f=>{if(!a.current)return;r(!0);let h=f.touches[0],b=a.current.getBoundingClientRect();f.stopPropagation(),f.preventDefault();let k=h.clientY-b.bottom;c.current=b.top,l(k);},[]),d=react.useCallback(f=>{if(a.current&&i){f.stopPropagation(),f.preventDefault();let b=f.touches[0].clientY-c.current-s;return o(Math.min(Math.max(Math.round(b),kn),ad)),!1}},[i,s]),m=react.useCallback(()=>{r(!1);},[]);return react.useEffect(()=>{let f=n.current;if(f)return f.addEventListener("touchstart",u),()=>{f.removeEventListener("touchstart",u);}},[u]),react.useEffect(()=>(document.addEventListener("touchmove",d,{passive:!1}),document.addEventListener("touchend",m),()=>{document.removeEventListener("touchmove",d),document.removeEventListener("touchend",m);}),[i,d,m]),{...e,height:t,dragging:i,dragRef:n,boxRef:a}}function Fn(e){let t=Dn(e);return jsxRuntime.jsx(Pn,{...t})}var ui=e=>{let{tradingViewConfig:t}=L();return jsxRuntime.jsxs(ui$1.Tabs,{variant:"contained",value:e.tab,contentVisible:e.visible,onValueChange:o=>{e.setTab(o),e.setVisible(!0);},className:e.className,classNames:{tabsList:"oui-p-2",tabsContent:"oui-min-h-[176px] oui-max-h-[396px]"},style:{marginBottom:e.tab==="chart"?"8px":0},trailing:jsxRuntime.jsx("button",{className:"oui-px-5",onClick:e.toggleContentVisible,children:jsxRuntime.jsx(md,{className:e.visible?"oui-rotate-0":"oui-rotate-180"})}),children:[jsxRuntime.jsx(ui$1.TabPanel,{title:"Chart",value:"chart",children:jsxRuntime.jsx(Fn,{symbol:e.symbol,tradingViewConfig:t})}),jsxRuntime.jsx(ui$1.TabPanel,{title:"Trades",value:"trades",children:jsxRuntime.jsx(Sn,{symbol:e.symbol})}),jsxRuntime.jsx(ui$1.TabPanel,{title:"Data",value:"data",children:jsxRuntime.jsx(ui$1.Box,{px:3,children:jsxRuntime.jsx(ri,{symbol:e.symbol})})})]})},md=e=>jsxRuntime.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",className:ui$1.cn("oui-fill-base-contrast-54 hover:oui-fill-base-contrast-80",e.className),children:[jsxRuntime.jsx("path",{d:"M5.721 4.585 2.726 6.578a.51.51 0 0 0-.14.7.51.51 0 0 0 .702.14l2.714-1.806 2.715 1.806c.23.153.549.089.702-.14a.51.51 0 0 0-.14-.7L6.283 4.585a.51.51 0 0 0-.562 0"}),jsxRuntime.jsx("defs",{})]});var ci=e=>{let t=Jo();return jsxRuntime.jsx(ui,{className:e.className,...t})};var di=e=>{let[t,o]=react.useState(0),i=react.useRef(null);return react.useEffect(()=>{let r=i.current;if(!r)return;let n=new ResizeObserver(a=>{for(let s of a)o(s.contentRect.height);});return n.observe(r),()=>{n.unobserve(r);}},[]),jsxRuntime.jsxs("div",{className:ui$1.cn("oui-grid oui-grid-cols-[4fr,6fr] oui-gap-1 oui-mx-1 ",e.className),children:[jsxRuntime.jsx("div",{className:"oui-bg-base-9 oui-rounded-xl",style:{height:`${t+16}px`},children:jsxRuntime.jsx(Le,{symbol:e.symbol,height:t?t-44:void 0,tabletMediaQuery:e.tabletMediaQuery})}),jsxRuntime.jsx("div",{className:"oui-bg-base-9 oui-rounded-xl oui-p-2",children:jsxRuntime.jsx(uiOrderEntry.OrderEntryWidget,{symbol:e.symbol,containerRef:i})})]})};var mi=()=>{let{symbol:e,tabletMediaQuery:t}=L();return {symbol:e,tabletMediaQuery:t}};var fi=e=>{let t=mi();return jsxRuntime.jsx(di,{className:e.className,...t})};var Bn=()=>{let{appIcons:e}=reactApp.useAppConfig(),{secondary:t}=e||{};return t?.img?jsxRuntime.jsx("img",{src:t?.img,className:"oui-w-5 oui-h-5"}):t?.component?t.component:null};var gi=e=>{let{symbol:t,sharePnLConfig:o}=e,[i,r]=react.useState("Position"),[n,a]=react.useState("Position history"),{tabletMediaQuery:s,onSymbolChange:l}=L(),c=E(),[u,{cancelAllOrders:d,cancelAllTPSLOrders:m}]=hooks.useOrderStream({}),{positionCount:f}=Ie(t),{pendingOrderCount:h,tpSlOrderCount:b}=Re(t);return {tab:i,setTab:r,subTab:n,setSubTab:a,tabletMediaQuery:s,sharePnLConfig:o,symbol:t,positionCount:f,pendingOrderCount:h,tpSlOrderCount:b,...c,onCloseAll:y=>{let P=y===uiOrders.TabType.pending?"Cancel all pending orders":y===uiOrders.TabType.tp_sl?"Cancel all TP/SL orders":"",S=y===uiOrders.TabType.pending?"Are you sure you want to cancel all of your pending orders?":y===uiOrders.TabType.tp_sl?"Are you sure you want to cancel all of your TP/SL orders?":"";ui$1.modal.confirm({title:P,content:jsxRuntime.jsx(ui$1.Text,{size:"2xs",children:S}),onOk:async()=>{try{return i==="TP/SL"?await m():await d(),Promise.resolve(!0)}catch(D){return D?.message!==void 0&&toast.error(D.message),Promise.resolve(!1)}finally{Promise.resolve();}}});},onSymbolChange:l}};var hi=e=>jsxRuntime.jsxs(ui$1.Tabs,{value:e.tab,onValueChange:t=>e.setTab(t),size:"lg",className:e.className,classNames:{tabsList:"oui-bg-base-9 oui-rounded-t-xl oui-p-2 oui-overflow-x-scroll oui-hide-scrollbar"},children:[jsxRuntime.jsx(ui$1.TabPanel,{title:(e.positionCount??0)>0?`Position(${e.positionCount})`:"Position",value:"Position",children:jsxRuntime.jsx(Id,{...e})}),jsxRuntime.jsx(ui$1.TabPanel,{title:(e.pendingOrderCount??0)>0?`Pending(${e.pendingOrderCount})`:"Pending",value:"Pending",children:jsxRuntime.jsx(pi,{type:uiOrders.TabType.pending,ordersStatus:types.OrderStatus.INCOMPLETE,...e})}),jsxRuntime.jsx(ui$1.TabPanel,{title:(e.tpSlOrderCount??0)>0?`TP/SL(${e.tpSlOrderCount})`:"TP/SL",value:"TP/SL",children:jsxRuntime.jsx(pi,{type:uiOrders.TabType.tp_sl,ordersStatus:types.OrderStatus.INCOMPLETE,...e})}),jsxRuntime.jsx(ui$1.TabPanel,{title:"History",value:"History",children:jsxRuntime.jsx(_d,{...e})}),jsxRuntime.jsx(ui$1.TabPanel,{title:"Liquidation",value:"Liquidation",children:jsxRuntime.jsx(uiPositions.MobileLiquidationWidget,{enableLoadMore:!0,symbol:e.showAllSymbol?void 0:e.symbol,classNames:{cell:"oui-p-2 oui-bg-base-9 oui-rounded-xl"}})})]}),Id=e=>jsxRuntime.jsxs(ui$1.Flex,{direction:"column",gap:2,children:[jsxRuntime.jsx(Ee,{pnlNotionalDecimalPrecision:e.pnlNotionalDecimalPrecision,symbol:e.showAllSymbol?void 0:e.symbol,unPnlPriceBasis:e.unPnlPriceBasis}),jsxRuntime.jsx(uiPositions.MobilePositionsWidget,{symbol:e.showAllSymbol?void 0:e.symbol,onSymbolChange:e.onSymbolChange,sharePnLConfig:e.sharePnLConfig,pnlNotionalDecimalPrecision:e.pnlNotionalDecimalPrecision})]}),pi=e=>jsxRuntime.jsxs(ui$1.Flex,{direction:"column",pb:2,width:"100%",children:[jsxRuntime.jsx(ui$1.Divider,{className:"oui-w-full"}),e.type!==uiOrders.TabType.orderHistory&&jsxRuntime.jsx(Rd,{...e}),jsxRuntime.jsx(uiOrders.MobileOrderListWidget,{symbol:e.showAllSymbol?void 0:e.symbol,onSymbolChange:e.onSymbolChange,type:e.type,ordersStatus:e.ordersStatus,classNames:{root:"oui-w-full oui-hide-scrollbar oui-overflow-y-hidden",content:"!oui-space-y-1",cell:"oui-py-2 oui-bg-base-9 oui-p-2 oui-rounded-xl"},sharePnLConfig:e.sharePnLConfig,showFilter:e.type===uiOrders.TabType.orderHistory,filterConfig:{range:{from:void 0,to:void 0}}})]}),Rd=e=>jsxRuntime.jsxs(ui$1.Flex,{px:2,py:2,width:"100%",justify:"between",gap:2,className:"oui-rounded-b-xl oui-bg-base-9",children:[jsxRuntime.jsxs(ui$1.Flex,{className:"oui-gap-[2px] oui-cursor-pointer",children:[jsxRuntime.jsx(ui$1.Checkbox,{color:"white",checked:!e.showAllSymbol,onCheckedChange:t=>{e.setShowAllSymbol(!t);}}),jsxRuntime.jsx(ui$1.Text,{size:"2xs",intensity:54,onClick:()=>{e.setShowAllSymbol(!e.showAllSymbol);},children:"Hide other symbols"})]}),jsxRuntime.jsx(ui$1.Button,{variant:"outlined",size:"xs",color:"secondary",onClick:t=>{e.onCloseAll(e.type);},children:"Close All"})]}),_d=e=>jsxRuntime.jsx("div",{className:"oui-min-h-[300px]",children:jsxRuntime.jsxs(ui$1.Tabs,{value:e.subTab,onValueChange:t=>e.setSubTab(t),size:"md",classNames:{tabsList:"oui-bg-base-9 oui-rounded-t-xl oui-p-2"},children:[jsxRuntime.jsx(ui$1.TabPanel,{title:"Position history",value:"Position history",children:jsxRuntime.jsx(uiPositions.MobilePositionHistoryWidget,{symbol:e.showAllSymbol?void 0:e.symbol,onSymbolChange:e.onSymbolChange,classNames:{cell:"oui-p-2 oui-bg-base-9 oui-rounded-xl"}})}),jsxRuntime.jsx(ui$1.TabPanel,{title:"Order history",value:"Order history",children:jsxRuntime.jsx(pi,{type:uiOrders.TabType.orderHistory,...e})})]})});var bi=e=>{let t=gi(e);return jsxRuntime.jsx(hi,{...t,className:e.className})};var In=e=>{let t=()=>{e.onOpenMarketsSheetChange(!0);},o=jsxRuntime.jsxs(ui$1.Box,{intensity:900,px:3,height:54,children:[jsxRuntime.jsx(markets.TokenInfoBarWidget,{symbol:e.symbol,trailing:jsxRuntime.jsx(Bn,{}),onSymbol:t}),jsxRuntime.jsx(ui$1.SimpleSheet,{open:e.openMarketsSheet,onOpenChange:e.onOpenMarketsSheetChange,classNames:{body:"oui-h-full oui-pb-[env(safe-area-inset-bottom)]",content:"oui-w-[280px] !oui-p-0 oui-rounded-bl-[40px] oui-h-full "},contentProps:{side:"left",closeable:!1},children:jsxRuntime.jsx(markets.MarketsSheetWidget,{symbol:e.symbol,onSymbolChange:i=>{e.onOpenMarketsSheetChange(!1),e.onSymbolChange?.(i);}})})]});return jsxRuntime.jsxs("div",{style:{paddingBottom:"calc(64px + env(safe-area-inset-bottom))"},className:"oui-grid oui-grid-rows-[auto,1fr,auto] oui-h-screen oui-gap-1 oui-relative oui-bg-base-10",children:[jsxRuntime.jsx("header",{children:o}),jsxRuntime.jsx("div",{children:jsxRuntime.jsx(uiScaffold.MaintenanceTipsWidget,{})}),jsxRuntime.jsxs("main",{className:"oui-overflow-y-auto oui-hide-scrollbar oui-space-y-1",children:[jsxRuntime.jsx(ci,{className:"oui-mx-1 oui-bg-base-9 oui-rounded-xl"}),jsxRuntime.jsx(fi,{}),jsxRuntime.jsx(bi,{symbol:e.symbol,className:"oui-mx-1 oui-rounded-xl",sharePnLConfig:e.sharePnLConfig})]}),jsxRuntime.jsx("div",{className:"oui-fixed oui-left-0 oui-right-0 oui-bottom-0",children:jsxRuntime.jsx(Xo,{})})]})};var Mt=(e,t,o)=>[react.useMemo(()=>{let n=localStorage.getItem(e);return n?`${n}%`:t},[e,t,o]),n=>{localStorage.setItem(e,n);}];var zn=()=>{let[e,t]=react.useState(!1),o=L(),[i,r]=react.useState(!1),{state:n}=hooks.useAccount(),{wrongNetwork:a}=reactApp.useAppContext(),{isFirstTimeDeposit:s}=eo(),l=hooks.useMediaQuery("(max-width: 1440px)"),c=hooks.useMediaQuery("(max-width: 1680px)"),[u,d]=hooks.useLocalStorage("orderly_side_markets_collapsed",void 0),[m,f]=hooks.useLocalStorage("orderly_assets_orderEntry_margin_positions",[0,1,2]),[h,b]=hooks.useLocalStorage("orderly_order_entry_side_markets_layout","right"),[k,y]=Mt("orderly_main_split_size",void 0,h),[P,S]=Mt("orderly_datalist_split_size","350px"),[D,j]=Mt("orderly_orderbook_split_size","280px",h),A=_=>{d(_),r(!0);},ce=(_,U)=>{let W=[...m];if(_===0&&U===W.length-1){W[U]=m[_];for(let H=0;H<W.length-1;H++)W[H]=m[H+1];}else if(_===W.length-1&&U===0){W[U]=m[_];for(let H=1;H<W.length;H++)W[H]=m[H-1];}else [W[_],W[U]]=[W[U],W[_]];f(W);},X=react.useMemo(()=>!(n.status<types.AccountStatusEnum.EnableTrading||a),[n.status,a]),ee=react.useMemo(()=>X&&!s,[X,s]),Te=react.useMemo(()=>ee?m:[0,1,2],[ee,m]),O={collapsed:react.useMemo(()=>u===void 0?l:u,[l,u]),onCollapse:A,layout:h,onLayout:b,orderBookSplitSize:D,setOrderbookSplitSize:j,dataListSplitSize:P,setDataListSplitSize:S,mainSplitSize:k,setMainSplitSize:y,isMedium:c,animating:i,setAnimating:r,positions:Te,updatePositions:ce,canTrading:X,showPositionIcon:ee,openMarketsSheet:e,onOpenMarketsSheetChange:t};return {...o,...O}};function Wn(e){return e?`${100-Math.min(Number(e),100)}`:""}var En=e=>jsxRuntime.jsx(om,{...e,children:jsxRuntime.jsxs(ui$1.Flex,{className:ui$1.cn("oui-rounded-md","oui-w-[69px] oui-h-[28px]","oui-cursor-pointer oui-transition-all","oui-bg-base-6 hover:oui-bg-base-4","oui-text-base-contrast-54 hover:oui-text-base-contrast-80"),gapX:1,justify:"center",itemAlign:"center",children:[jsxRuntime.jsx(im,{}),jsxRuntime.jsx(ui$1.Text,{size:"2xs",weight:"semibold",children:"Layout"})]})}),om=e=>{let[t,o]=react.useState(!1),i=n=>jsxRuntime.jsxs(ui$1.Flex,{direction:"column",gapY:2,onClick:()=>{e.onLayout?.(n);},className:"oui-group",children:[jsxRuntime.jsx(ui$1.Flex,{justify:n==="right"?"end":"start",className:ui$1.cn("oui-w-[148px] oui-h-[100px]","oui-bg-base-10 oui-rounded-[10px]","oui-border-[4px] oui-border-base-5 group-hover:oui-border-primary-light",e.layout===n&&"!oui-border-primary-light"),children:jsxRuntime.jsx(ui$1.Box,{p:1,children:jsxRuntime.jsx(rm,{})})}),jsxRuntime.jsxs(ui$1.Text,{size:"2xs",intensity:54,className:ui$1.cn("oui-text-base-contrast-54 group-hover:oui-text-base-contrast-80",e.layout===n&&"oui-text-base-contrast-80"),children:["Advanced (",n,")"]})]}),r=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs(ui$1.Flex,{itemAlign:"center",justify:"between",mt:3,className:"oui-mb-[10px]",children:[jsxRuntime.jsx(ui$1.Text,{size:"base",intensity:98,children:"layout"}),jsxRuntime.jsx(ui$1.CloseIcon,{size:16,className:"oui-text-base-contrast-80 oui-cursor-pointer",opacity:.98,onClick:()=>{o(!1);}})]}),jsxRuntime.jsx(ui$1.Divider,{}),jsxRuntime.jsxs(ui$1.Flex,{gapX:6,mt:5,children:[i("right"),i("left")]})]});return jsxRuntime.jsxs(ui$1.DropdownMenuRoot,{open:t,onOpenChange:o,children:[jsxRuntime.jsx(ui$1.DropdownMenuTrigger,{asChild:!0,children:e.children}),jsxRuntime.jsx(ui$1.DropdownMenuPortal,{children:jsxRuntime.jsx(ui$1.DropdownMenuContent,{onCloseAutoFocus:n=>n.preventDefault(),onClick:n=>n.stopPropagation(),align:"end",className:ui$1.cn("oui-bg-base-8 oui-p-5 oui-pt-0 oui-w-[360px] oui-font-semibold"),children:r})})]})},im=e=>jsxRuntime.jsx("svg",{width:"17",height:"16",viewBox:"0 0 17 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...e,children:jsxRuntime.jsx("path",{d:"M3.832 1.994c-.736 0-1.333.597-1.333 1.333v9.334c0 .737.597 1.333 1.333 1.333H6.5c.737 0 1.333-.596 1.333-1.333V3.327c0-.736-.596-1.333-1.333-1.333zm6.667 0c-.737 0-1.333.597-1.333 1.333v2.667c0 .737.596 1.333 1.333 1.333h2.667c.736 0 1.333-.596 1.333-1.333V3.327c0-.736-.597-1.333-1.333-1.333zm.437 6.679a2.7 2.7 0 0 0-1.033.607.284.284 0 0 0-.061.339c.222.411-.01.851-.512.876a.29.29 0 0 0-.26.217c-.05.207-.07.38-.07.608 0 .19.02.407.06.599a.28.28 0 0 0 .252.217c.506.044.756.429.53.92a.28.28 0 0 0 .06.321c.296.273.635.466 1.034.59a.285.285 0 0 0 .312-.104c.31-.427.757-.428 1.05 0a.28.28 0 0 0 .313.113 2.8 2.8 0 0 0 1.042-.599.28.28 0 0 0 .06-.33c-.23-.466.035-.894.513-.902a.28.28 0 0 0 .269-.209c.048-.199.06-.372.06-.616q0-.316-.069-.616a.276.276 0 0 0-.27-.217c-.469-.001-.732-.463-.502-.868a.27.27 0 0 0-.053-.339 2.8 2.8 0 0 0-1.059-.607.274.274 0 0 0-.312.112c-.268.417-.77.425-1.033.009a.284.284 0 0 0-.321-.121m.842 1.536a1.111 1.111 0 1 1 0 2.222 1.111 1.111 0 0 1 0-2.222"})}),rm=e=>jsxRuntime.jsxs("svg",{width:"36",height:"84",viewBox:"0 0 36 84",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsxRuntime.jsx("rect",{width:"36",height:"17",rx:"2",fill:"#181C23"}),jsxRuntime.jsx("rect",{y:"19",width:"36",height:"54",rx:"2",fill:"#181C23"}),jsxRuntime.jsx("rect",{y:"75",width:"36",height:"9",rx:"2",fill:"#181C23"}),jsxRuntime.jsx("rect",{x:"3",y:"79",width:"30",height:"1",rx:"0.5",fill:"url(#paint0_linear_17647_26849)"}),jsxRuntime.jsx("rect",{x:"3",y:"22",width:"14",height:"6",rx:"2",fill:"#008676"}),jsxRuntime.jsx("rect",{x:"19",y:"22",width:"14",height:"6",rx:"2",fill:"#D92D6B"}),jsxRuntime.jsx("rect",{x:"3",y:"11",width:"14",height:"3",rx:"1.5",fill:"#333948"}),jsxRuntime.jsx("rect",{x:"19",y:"11",width:"14",height:"3",rx:"1.5",fill:"#335FFC"}),jsxRuntime.jsx("rect",{x:"3",y:"62",width:"30",height:"8",rx:"2",fill:"#008676"}),jsxRuntime.jsx("defs",{children:jsxRuntime.jsxs("linearGradient",{id:"paint0_linear_17647_26849",x1:"33",y1:"79.5",x2:"3",y2:"79.5",gradientUnits:"userSpaceOnUse",children:[jsxRuntime.jsx("stop",{stopColor:"#59B0FE"}),jsxRuntime.jsx("stop",{offset:"1",stopColor:"#26FEFE"})]})})]});var Rt=e=>{let{showIndicator:t=!0}=e,[o,i]=react.useState(!1);return jsxRuntime.jsxs(ui$1.Box,{intensity:900,r:"2xl",p:3,width:"100%",className:ui$1.cn("oui-relative",e.className),children:[e.children,jsxRuntime.jsx(ui$1.Tooltip,{open:o,onOpenChange:i,side:"left",align:"start",sideOffset:-4,alignOffset:-4,content:jsxRuntime.jsx(ui$1.Flex,{direction:"column",gapY:2,children:[dm,mm,fm].map((r,n)=>jsxRuntime.jsx(r,{className:ui$1.cn("oui-rounded oui-cursor-pointer hover:oui-bg-base-5",e.index===n&&"oui-bg-base-5"),onClick:()=>{e.onLayout?.(e.index,n),i(!1);}},n))}),delayDuration:0,className:ui$1.cn("oui-bg-base-9 oui-rounded","oui-border oui-border-line-12","oui-p-1"),arrow:{className:"oui-fill-transparent"},children:t&&jsxRuntime.jsx("div",{className:"oui-absolute oui-right-[1px] oui-top-[18px]",children:jsxRuntime.jsx(cm,{className:ui$1.cn("oui-text-base-contrast-20 hover:oui-text-base-contrast-80","oui-cursor-pointer")})})})]})},cm=e=>jsxRuntime.jsxs("svg",{width:"10",height:"16",viewBox:"0 0 10 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...e,children:[jsxRuntime.jsx("rect",{x:"2",y:"2",width:"6",height:"2",rx:"1"}),jsxRuntime.jsx("rect",{x:"2",y:"7",width:"6",height:"2",rx:"1"}),jsxRuntime.jsx("rect",{x:"2",y:"12",width:"6",height:"2",rx:"1"})]}),dm=e=>jsxRuntime.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...e,children:[jsxRuntime.jsx("rect",{x:"1.333",y:"2.667",width:"13.333",height:"4",rx:"2",fill:"rgb(var(--oui-color-primary))"}),jsxRuntime.jsx("rect",{x:"2.667",y:"12",width:"10.667",height:"1.333",rx:".667",fill:"#fff",fillOpacity:".2"}),jsxRuntime.jsx("rect",{x:"2.667",y:"8.667",width:"10.667",height:"1.333",rx:".667",fill:"#fff",fillOpacity:".2"})]}),mm=e=>jsxRuntime.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[jsxRuntime.jsx("rect",{x:"1.333",y:"6",width:"13.333",height:"4",rx:"2",fill:"rgb(var(--oui-color-primary))"}),jsxRuntime.jsx("rect",{x:"2.667",y:"12",width:"10.667",height:"1.333",rx:".667",fill:"#fff",fillOpacity:".2"}),jsxRuntime.jsx("rect",{x:"2.667",y:"2.667",width:"10.667",height:"1.333",rx:".667",fill:"#fff",fillOpacity:".2"})]}),fm=e=>jsxRuntime.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[jsxRuntime.jsx("rect",{x:"1.333",y:"9.333",width:"13.333",height:"4",rx:"2",fill:"rgb(var(--oui-color-primary))"}),jsxRuntime.jsx("rect",{x:"2.667",y:"6",width:"10.667",height:"1.333",rx:".667",fill:"#fff",fillOpacity:".2"}),jsxRuntime.jsx("rect",{x:"2.667",y:"2.667",width:"10.667",height:"1.333",rx:".667",fill:"#fff",fillOpacity:".2"})]});var Hn=e=>{let {collapsed:t,onCollapse:o,layout:i,onLayout:r,orderBookSplitSize:n,setOrderbookSplitSize:a,dataListSplitSize:s,setDataListSplitSize:l,mainSplitSize:c,setMainSplitSize:u,isMedium:d,animating:m,setAnimating:f,positions:h,updatePositions:b,canTrading:k,showPositionIcon:y}=e,P=48,S=29,D=12,j=54,A=t?70:280,ce=280,X=360,ee=280,Te=732,w=464,_=540,U=k?379:277,W=P+S+j+w+U+D*4,H=jsxRuntime.jsx(ui$1.Box,{intensity:900,pt:3,r:"2xl",height:"100%",width:A,style:{minWidth:A},className:"oui-transition-all oui-duration-150",onTransitionEnd:()=>{f(!1);},children:!m&&jsxRuntime.jsx(markets.SideMarketsWidget,{collapsed:t,onCollapse:o,symbol:e.symbol,onSymbolChange:e.onSymbolChange})}),Qn=[jsxRuntime.jsx(Rt,{className:"oui-border oui-border-line-12",index:h.findIndex(ae=>ae===0),onLayout:b,showIndicator:y,children:jsxRuntime.jsx(to,{})},"assets"),jsxRuntime.jsx(Rt,{index:h.findIndex(ae=>ae===1),onLayout:b,showIndicator:y,children:jsxRuntime.jsx(uiOrderEntry.OrderEntryWidget,{symbol:e.symbol})},"orderEntry"),jsxRuntime.jsx(Rt,{index:h.findIndex(ae=>ae===2),onLayout:b,showIndicator:y,children:jsxRuntime.jsx(wo,{})},"margin")],vi=jsxRuntime.jsx(ui$1.Flex,{gapY:3,direction:"column",height:"100%",style:{minWidth:ce,maxWidth:X,width:c},children:h.map(ae=>Qn[ae])}),Un=react.useMemo(()=>jsxRuntime.jsx(En,{layout:i,onLayout:r}),[i,r]),Gn=jsxRuntime.jsx(ui$1.Box,{intensity:900,r:"2xl",px:3,width:"100%",style:{minHeight:j,height:j},children:jsxRuntime.jsx(markets.TokenInfoBarFullWidget,{symbol:e.symbol,onSymbolChange:e.onSymbolChange,trailing:Un})}),{library_path:$n,...Kn}=e.tradingViewConfig,Pi=jsxRuntime.jsx(ui$1.Box,{width:"100%",height:"100%",intensity:900,r:"2xl",style:{flex:1,minWidth:_},className:"oui-overflow-hidden",children:jsxRuntime.jsx(uiTradingview.TradingviewWidget,{symbol:e.symbol,...Kn,libraryPath:$n})}),Yn=jsxRuntime.jsx(ui$1.Box,{intensity:900,r:"2xl",height:"100%",style:{minWidth:ee,maxWidth:Te,width:n},className:"oui-overflow-hidden",children:jsxRuntime.jsx(To,{symbol:e.symbol,tabletMediaQuery:e.tabletMediaQuery})}),Zn=jsxRuntime.jsx(ui$1.Box,{intensity:900,r:"2xl",p:3,style:{height:s,minHeight:U},className:"oui-overflow-hidden",children:jsxRuntime.jsx(Qt,{current:void 0,tabletMediaQuery:e.tabletMediaQuery,symbol:e.symbol,sharePnLConfig:e.sharePnLConfig})}),Ti=jsxRuntime.jsxs(vt,{style:{flex:1,minHeight:w},onSizeChange:a,children:[d&&i==="right"?jsxRuntime.jsxs(ui$1.Flex,{gap:3,className:"oui-flex-1 oui-overflow-hidden",style:{minWidth:A+_+D},children:[H,Pi]}):Pi,Yn]}),Xn=()=>d&&i==="left"?jsxRuntime.jsxs(ui$1.Flex,{gapX:3,style:{minHeight:w},height:"100%",children:[Ti,H]}):Ti,Jn=jsxRuntime.jsxs(ui$1.Flex,{direction:"column",className:"oui-flex-1 oui-overflow-hidden",gap:3,style:{minWidth:d?A+_+ee+D*2:_+ee+D},children:[Gn,jsxRuntime.jsxs(vt,{className:"oui-w-full !oui-h-[calc(100%_-_54px_-_12px)]",mode:"vertical",onSizeChange:l,children:[Xn(),Zn]})]}),jn=ae=>u(i==="left"?Wn(ae):ae);return jsxRuntime.jsxs(ui$1.Flex,{style:{minHeight:W},className:ui$1.cn("oui-min-w-[1440px]",e.className),width:"100%",p:3,gap:3,children:[!d&&i==="right"&&H,jsxRuntime.jsxs(vt,{className:"oui-flex oui-flex-1 oui-overflow-hidden",onSizeChange:jn,children:[i==="left"&&vi,Jn,i==="right"&&vi]}),!d&&i==="left"&&H]})};var Ci=e=>{let{isMobile:t}=ui$1.useScreen();return t?jsxRuntime.jsx(In,{...e}):jsxRuntime.jsx(Hn,{className:"oui-h-[calc(100vh_-_48px_-_29px)] oui-bg-base-10",...e})};var wi=()=>{let e=zn();return jsxRuntime.jsx(Ci,{...e})};var wm=e=>jsxRuntime.jsx(Bi,{symbol:e.symbol,tradingViewConfig:e.tradingViewConfig,onSymbolChange:e.onSymbolChange,disableFeatures:e.disableFeatures,overrideFeatures:e.overrideFeatures,referral:e.referral,tradingRewards:e.tradingRewards,bottomSheetLeading:e.bottomSheetLeading,sharePnLConfig:e.sharePnLConfig,children:jsxRuntime.jsx(wi,{})});
|
|
27
27
|
|
|
28
|
-
exports.AssetView =
|
|
29
|
-
exports.AssetViewWidget =
|
|
30
|
-
exports.BottomNavBar =
|
|
31
|
-
exports.BottomNavBarWidget =
|
|
32
|
-
exports.DataList =
|
|
33
|
-
exports.DataListWidget =
|
|
34
|
-
exports.LastTrades =
|
|
28
|
+
exports.AssetView = Jt;
|
|
29
|
+
exports.AssetViewWidget = to;
|
|
30
|
+
exports.BottomNavBar = Yo;
|
|
31
|
+
exports.BottomNavBarWidget = Xo;
|
|
32
|
+
exports.DataList = qt;
|
|
33
|
+
exports.DataListWidget = Qt;
|
|
34
|
+
exports.LastTrades = Ut;
|
|
35
35
|
exports.LastTradesWidget = Ne;
|
|
36
|
-
exports.OrderBook =
|
|
37
|
-
exports.OrderBookAndTrades =
|
|
38
|
-
exports.OrderBookAndTradesWidget =
|
|
39
|
-
exports.OrderBookWidget =
|
|
40
|
-
exports.PortfolioSheet =
|
|
41
|
-
exports.PortfolioSheetWidget =
|
|
42
|
-
exports.RiskRate =
|
|
43
|
-
exports.RiskRateWidget =
|
|
44
|
-
exports.SplitLayout =
|
|
45
|
-
exports.Trading =
|
|
46
|
-
exports.TradingPage =
|
|
47
|
-
exports.TradingPageContext =
|
|
48
|
-
exports.TradingPageProvider =
|
|
49
|
-
exports.TradingWidget =
|
|
50
|
-
exports.useBottomNavBarScript =
|
|
36
|
+
exports.OrderBook = bo;
|
|
37
|
+
exports.OrderBookAndTrades = vo;
|
|
38
|
+
exports.OrderBookAndTradesWidget = To;
|
|
39
|
+
exports.OrderBookWidget = Le;
|
|
40
|
+
exports.PortfolioSheet = Qo;
|
|
41
|
+
exports.PortfolioSheetWidget = Uo;
|
|
42
|
+
exports.RiskRate = So;
|
|
43
|
+
exports.RiskRateWidget = wo;
|
|
44
|
+
exports.SplitLayout = vt;
|
|
45
|
+
exports.Trading = Ci;
|
|
46
|
+
exports.TradingPage = wm;
|
|
47
|
+
exports.TradingPageContext = Li;
|
|
48
|
+
exports.TradingPageProvider = Bi;
|
|
49
|
+
exports.TradingWidget = wi;
|
|
50
|
+
exports.useBottomNavBarScript = Zo;
|
|
51
51
|
exports.useOrderBookAndTradesScript = Po;
|
|
52
|
-
exports.useOrderBookScript =
|
|
52
|
+
exports.useOrderBookScript = yo;
|
|
53
53
|
exports.usePendingOrderCount = Re;
|
|
54
|
-
exports.usePortfolioSheetScript =
|
|
54
|
+
exports.usePortfolioSheetScript = Vo;
|
|
55
55
|
exports.usePositionsCount = Ie;
|
|
56
56
|
exports.useTradingLocalStorage = E;
|
|
57
|
-
exports.useTradingPageContext =
|
|
57
|
+
exports.useTradingPageContext = L;
|
|
58
58
|
//# sourceMappingURL=out.js.map
|
|
59
59
|
//# sourceMappingURL=index.js.map
|