@kodiak-finance/orderly-ui-positions 2.8.14-prerelease.1 → 2.8.15-rc.0
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.d.mts +12 -29
- package/dist/index.d.ts +12 -29
- package/dist/index.js +23 -23
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +7 -7
- package/dist/index.mjs.map +1 -1
- package/package.json +13 -13
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var orderlyUi = require('@kodiak-finance/orderly-ui');
|
|
4
|
-
var
|
|
4
|
+
var Dr = require('react');
|
|
5
5
|
var orderlyI18n = require('@kodiak-finance/orderly-i18n');
|
|
6
6
|
var orderlyTypes = require('@kodiak-finance/orderly-types');
|
|
7
7
|
var orderlyUtils = require('@kodiak-finance/orderly-utils');
|
|
@@ -18,30 +18,30 @@ var dateFns = require('date-fns');
|
|
|
18
18
|
|
|
19
19
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
20
20
|
|
|
21
|
-
var
|
|
21
|
+
var Dr__default = /*#__PURE__*/_interopDefault(Dr);
|
|
22
22
|
|
|
23
|
-
var Wo=t=>{let{hideCloseIcon:e=false}=t;return jsxRuntime.jsxs("div",{className:"oui-relative oui-w-full oui-border-b oui-border-line-4 oui-pb-3",children:[jsxRuntime.jsx(orderlyUi.Text,{size:"base",children:t.title}),!e&&jsxRuntime.jsx("button",{onClick:t.onClose,className:"oui-absolute oui-right-0 oui-top-0 oui-p-2 oui-text-base-contrast-54 hover:oui-text-base-contrast-80",children:jsxRuntime.jsx(orderlyUi.CloseIcon,{size:18,color:"white"})})]})},me=t=>{let{t:e}=orderlyI18n.useTranslation();return jsxRuntime.jsxs(orderlyUi.Flex,{id:"oui-positions-confirm-footer",gap:2,width:"100%",className:"oui-mt-3 oui-pb-1",children:[jsxRuntime.jsx(orderlyUi.Button,{id:"oui-positions-confirm-footer-cancel-button",color:"secondary",fullWidth:true,onClick:t.onCancel,size:"md",children:e("common.cancel")}),jsxRuntime.jsx(orderlyUi.ThrottledButton,{id:"oui-positions-confirm-footer-confirm-button",onClick:t.onConfirm,fullWidth:true,loading:t.submitting,disabled:t.disabled,size:"md",children:e("common.confirm")})]})},Xn=t=>{let{quantity:e,price:o,quoteDp:i,side:r}=t,{t:n}=orderlyI18n.useTranslation(),s=Bt.useMemo(()=>o&&e?new orderlyUtils.Decimal(o).mul(e).toFixed(i,orderlyUtils.Decimal.ROUND_DOWN):"--",[o,e]);return jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",gap:1,width:"100%",className:"oui-text-sm oui-text-base-contrast-54",py:5,children:[jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",width:"100%",gap:1,children:[jsxRuntime.jsx(orderlyUi.Text,{children:n("common.qty")}),jsxRuntime.jsx(orderlyUi.Text,{color:r===orderlyTypes.OrderSide.BUY?"success":"danger",children:e})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",width:"100%",gap:1,children:[jsxRuntime.jsx(orderlyUi.Text,{children:n("common.price")}),jsxRuntime.jsx(orderlyUi.Text.formatted,{intensity:98,suffix:jsxRuntime.jsx(orderlyUi.Text,{intensity:54,children:"USDC"}),children:o})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",width:"100%",gap:1,children:[jsxRuntime.jsx(orderlyUi.Text,{children:n("common.notional")}),jsxRuntime.jsx(orderlyUi.Text.formatted,{intensity:98,suffix:jsxRuntime.jsx(orderlyUi.Text,{intensity:54,children:"USDC"}),children:s})]})]})},Rt=t=>{let{t:e}=orderlyI18n.useTranslation(),o=()=>{(t?.onClose??t.close)?.();};return jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",className:t.classNames?.root,children:[jsxRuntime.jsx(Wo,{onClose:o,title:e("positions.marketClose"),hideCloseIcon:t.hideCloseIcon}),jsxRuntime.jsx(orderlyUi.Text,{intensity:54,size:"sm",className:"oui-my-5",children:e("positions.marketClose.description",{quantity:orderlyUtils.commifyOptional(t.quantity),base:t.base})}),jsxRuntime.jsx(me,{onCancel:o,onConfirm:async()=>{await t.onConfirm?.(),o();},submitting:t.submitting})]})},ce=t=>{let{order:e,quoteDp:o,quantity:i,price:r}=t,{side:n}=e,{t:s}=orderlyI18n.useTranslation(),a=()=>{t.onClose?.();};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Wo,{onClose:a,title:s("positions.limitClose"),hideCloseIcon:t.hideCloseIcon}),jsxRuntime.jsx(orderlyUi.Box,{mt:5,children:jsxRuntime.jsx(orderlyUi.Text,{intensity:54,size:"sm",children:s("positions.limitClose.description",{quantity:orderlyUtils.commify(t.quantity),base:t.base})})}),jsxRuntime.jsxs(orderlyUi.Flex,{gap:2,mb:4,mt:5,justify:"between",children:[jsxRuntime.jsx(orderlyUi.Text.formatted,{rule:"symbol",formatString:"base-type",size:"base",showIcon:true,children:e.symbol}),jsxRuntime.jsxs(orderlyUi.Flex,{gap:1,children:[jsxRuntime.jsx(orderlyUi.Badge,{color:"neutral",size:"xs",children:s("orderEntry.orderType.limit")}),jsxRuntime.jsx(orderlyUi.Badge,{color:n===orderlyTypes.OrderSide.BUY?"success":"danger",size:"xs",children:n===orderlyTypes.OrderSide.BUY?s("common.buy"):s("common.sell")})]})]}),jsxRuntime.jsx(orderlyUi.Divider,{className:"oui-w-full"}),jsxRuntime.jsx(Xn,{className:"oui-text-sm",price:r,quantity:i,side:e.side,quoteDp:o??2}),jsxRuntime.jsx(me,{onCancel:a,onConfirm:t.onConfirm,submitting:t.submitting})]})};var Ue=Bt.createContext({}),et=()=>Bt.useContext(Ue);function $o(t,e){let o=Bt.useRef(),i=Bt.useRef(e);i.current=e,Bt.useEffect(()=>{let r={root:null,rootMargin:"0px",threshold:0},n=s=>{s.forEach(a=>{a.isIntersecting&&i.current?.();});};return o.current=new IntersectionObserver(n,r),()=>{o.current?.disconnect();}},[]),Bt.useEffect(()=>{o.current?.observe(t.current);},[]);}var Ko=t=>{let e=Bt.useRef(null),{onEndReached:o}=t;return $o(e,()=>{o?.();}),jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[t.children,jsxRuntime.jsx("div",{ref:e,className:"oui-relative oui-invisible oui-h-[25px] oui-bg-red-400 oui-top-[-300px]"})]})};var Vo=60,de=({total:t,symbol:e,start_t:o,end_t:i})=>{let{t:r}=orderlyI18n.useTranslation(),{isMobile:n}=orderlyUi.useScreen(),{isLoading:s,data:a,setSize:l}=orderlyHooks.usePrivateInfiniteQuery((d,f)=>(!f||(f.length??0)<Vo)&&d>0?null:`/v1/funding_fee/history?page=${d+1}&size=${Vo}&symbol=${e}&start_t=${o}&end_t=${i}`,{revalidateFirstPage:false}),u=Bt.useCallback(()=>{l(d=>d+1);},[l]),c=Bt.useMemo(()=>Array.isArray(a)?a.flat().map(d=>({...d,funding_fee:-d.funding_fee})):[],[a]),m=Bt.useMemo(()=>n?jsxRuntime.jsx(cr,{data:c??orderlyTypes.EMPTY_LIST,isLoading:s,loadMore:u}):jsxRuntime.jsx(mr,{data:c??orderlyTypes.EMPTY_LIST,isLoading:s,loadMore:u}),[n,c,s]);return jsxRuntime.jsxs("div",{children:[jsxRuntime.jsxs(orderlyUi.Grid,{cols:2,gapX:3,className:"oui-sticky oui-top-0 oui-z-10 oui-bg-base-8 oui-py-4",children:[jsxRuntime.jsx("div",{className:"oui-rounded-lg oui-border oui-border-line-6 oui-bg-base-9 oui-p-3",children:jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",gap:1,itemAlign:"start",children:[jsxRuntime.jsx("span",{className:"oui-text-2xs oui-text-base-contrast-36",children:r("common.symbol")}),jsxRuntime.jsx(orderlyUi.Text.formatted,{rule:"symbol",className:"oui-font-semibold",intensity:98,children:e})]})}),jsxRuntime.jsx("div",{className:"oui-rounded-lg oui-border oui-border-line-6 oui-bg-base-9 oui-p-3",children:jsxRuntime.jsx(orderlyUi.Statistic,{label:`${r("funding.fundingFee")} (USDC)`,valueProps:{ignoreDP:true,coloring:true,showIdentifier:true},children:t})})]}),m]})},mr=({isLoading:t,data:e,loadMore:o})=>{let{t:i}=orderlyI18n.useTranslation(),r=Bt.useMemo(()=>[{title:i("common.time"),dataIndex:"created_time",width:120,render:n=>jsxRuntime.jsx(orderlyUi.Text.formatted,{rule:"date",children:n})},{title:i("funding.fundingRate"),dataIndex:"funding_rate",formatter:n=>new orderlyUtils.Decimal(n).mul(100).toString(),render:n=>jsxRuntime.jsx("span",{children:`${n}%`})},{title:i("funding.paymentType"),dataIndex:"payment_type",formatter:n=>i(n==="Pay"?"funding.paymentType.paid":"funding.paymentType.received"),render:n=>jsxRuntime.jsx("span",{children:n})},{title:`${i("funding.fundingFee")} (USDC)`,dataIndex:"funding_fee",render:n=>jsxRuntime.jsx(orderlyUi.Text.numeral,{rule:"price",coloring:true,showIdentifier:true,ignoreDP:true,children:n})}],[i]);return jsxRuntime.jsx("div",{className:"oui-h-[calc(80vh_-_132px_-_8px)] oui-overflow-y-auto",children:jsxRuntime.jsx(Ko,{onEndReached:o,children:jsxRuntime.jsx(orderlyUi.DataTable,{classNames:{root:orderlyUi.cn("oui-h-auto oui-bg-base-8 oui-text-sm")},columns:r,dataSource:e??orderlyTypes.EMPTY_LIST,loading:t})})})},cr=({data:t,isLoading:e,loadMore:o})=>{let i=Bt.useCallback(r=>jsxRuntime.jsx(dr,{item:r}),[]);return jsxRuntime.jsx("div",{className:"oui-h-[calc(80vh_-_104px)] oui-overflow-y-auto",children:jsxRuntime.jsx(orderlyUi.ListView,{dataSource:t,renderItem:i,isLoading:e,contentClassName:"oui-space-y-0",loadMore:o})})},dr=({item:t})=>{let{t:e}=orderlyI18n.useTranslation();return jsxRuntime.jsxs("div",{className:"oui-flex oui-flex-col oui-space-y-2 oui-border-t oui-border-line-6 oui-py-2",children:[jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",children:[jsxRuntime.jsx(orderlyUi.Statistic,{label:e("funding.fundingRate"),classNames:{label:"oui-text-2xs"},valueProps:{ignoreDP:true,rule:"percentages",className:"oui-text-xs"},children:t.funding_rate}),jsxRuntime.jsx(orderlyUi.Statistic,{label:e("common.amount"),className:"oui-items-end",classNames:{label:"oui-text-2xs"},valueProps:{ignoreDP:true,coloring:true,as:"div",className:"oui-text-xs",showIdentifier:true},children:t.funding_fee})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",children:[jsxRuntime.jsx(orderlyUi.Text.formatted,{rule:"date",className:"oui-text-base-contrast-36",size:"2xs",children:t.created_time}),jsxRuntime.jsx(orderlyUi.Text,{size:"sm",intensity:80,children:t.payment_type==="Pay"?e("funding.paymentType.paid"):e("funding.paymentType.received")})]})]})};var mt=({fee:t,symbol:e,start_t:o,end_t:i})=>{let{t:r}=orderlyI18n.useTranslation(),[n,{setTrue:s,setFalse:a}]=orderlyHooks.useBoolean(false),{isMobile:l}=orderlyUi.useScreen();return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("button",{onClick:s,children:jsxRuntime.jsx(orderlyUi.Text.numeral,{rule:"price",coloring:true,showIdentifier:true,ignoreDP:true,className:"oui-border-b oui-border-line-16 oui-border-dashed oui-py-0.5",children:t})}),l?jsxRuntime.jsx(orderlyUi.SimpleSheet,{open:n,onOpenChange:a,title:r("funding.fundingFee"),classNames:{body:"oui-max-h-[80vh] oui-py-0"},children:jsxRuntime.jsx(de,{total:t,symbol:e,start_t:o,end_t:i})}):jsxRuntime.jsx(orderlyUi.SimpleDialog,{open:n,onOpenChange:a,title:r("funding.fundingFee"),classNames:{content:"lg:oui-max-w-[640px]",body:"oui-max-h-[80vh] oui-bg-base-8 lg:oui-py-0"},children:jsxRuntime.jsx(de,{total:t,symbol:e,start_t:o,end_t:i})})]})};var vr=(t,e)=>{let o=orderlyHooks.useConfig("apiBaseUrl");return i=>(r,n,s)=>{try{return i(r,async l=>{let u=Array.isArray(l)?l[0]:l,c=`${o}${u}`,m=t.signer,d={method:"GET",url:u},f=await m.sign(d,orderlyUtils.getTimestamp()),y=Array.isArray(e)?e:[e];return Promise.all(y.map(g=>n(c,{headers:{...f,"orderly-account-id":g}})))},s)}catch(a){throw a}}},Yo=(t,e)=>{let{formatter:o,accountId:i,...r}=e||{},{state:n,account:s}=orderlyHooks.useAccount(),a=Array.isArray(e?.use)?e?.use??[]:[],l=Array.isArray(i)?i:[i],u=l.filter(Boolean).length&&(n.status>=orderlyTypes.AccountStatusEnum.EnableTrading||n.status===orderlyTypes.AccountStatusEnum.EnableTradingWithoutConnected);return orderlyHooks.useSWR(()=>u?[t,l]:null,(c,m)=>orderlyHooks.fetcher(c,m,{formatter:o}),{...r,use:[...a,vr(s,l)],onError:()=>{}})};var Zo=t=>{let{symbol:e,calcMode:o,includedPendingOrder:i,pnlNotionalDecimalPrecision:r,sharePnLConfig:n,onSymbolChange:s,selectedAccount:a}=t,{pagination:l,setPage:u}=orderlyUi.usePagination({pageSize:50});Bt.useEffect(()=>{u(1);},[e]);let c=orderlyHooks.useSymbolsInfo(),{state:m}=orderlyHooks.useAccount(),[d,,{isLoading:f}]=orderlyHooks.usePositionStream(e,{calcMode:o,includedPendingOrder:i}),{data:y=[],isLoading:g,mutate:b}=orderlyHooks.usePrivateQuery("/v1/client/aggregate/positions",{errorRetryCount:3}),{data:v=[],isLoading:D}=Yo("/v1/client/info",{accountId:y.map(_=>_.account_id),revalidateOnFocus:false}),S=immer.produce(y.filter(_=>_.account_id!==m.mainAccountId),_=>{for(let p of _){let $=c[p.symbol],X=orderlyPerp.positions.notional(p.position_qty,p.mark_price),h=v.find(Be=>Be.account_id===p.account_id),z=orderlyPerp.positions.MMR({baseMMR:$?.("base_mmr"),baseIMR:$?.("base_imr"),IMRFactor:h?.imr_factor[p.symbol]??0,positionNotional:X,IMR_factor_power:4/5}),re=orderlyPerp.positions.maintenanceMargin({positionQty:p.position_qty,markPrice:p.mark_price,MMR:z}),se=orderlyPerp.positions.unrealizedPnL({qty:p.position_qty,openPrice:p?.average_open_price,markPrice:p.mark_price}),ze=p.leverage||1,Vt=orderlyPerp.account.IMR({maxLeverage:ze,baseIMR:$?.("base_imr"),IMR_Factor:h?.imr_factor[p.symbol]??0,positionNotional:X,ordersNotional:0,IMR_factor_power:4/5}),ae=orderlyPerp.positions.unrealizedPnLROI({positionQty:p.position_qty,openPrice:p.average_open_price,IMR:Vt,unrealizedPnL:se}),le=0,qt=0;p.index_price&&(le=orderlyPerp.positions.unrealizedPnL({qty:p.position_qty,openPrice:p?.average_open_price,markPrice:p.index_price}),qt=orderlyPerp.positions.unrealizedPnLROI({positionQty:p.position_qty,openPrice:p.average_open_price,IMR:Vt,unrealizedPnL:le})),p.mmr=z,p.mm=re,p.notional=X,p.unrealized_pnl=se,p.unrealized_pnl_ROI=ae,p.unrealized_pnl_ROI_index=qt;}}),M=orderlyReactApp.useDataTap([...d?.rows,...S].filter(_=>_.position_qty!==0))??[],E=Bt.useMemo(()=>!a||a==="All accounts"?M:M.filter(_=>a==="Main accounts"?_.account_id===m.mainAccountId||!_.account_id:_.account_id===a),[M,a,m.mainAccountId]),Q=Bt.useMemo(()=>Er(E,{mainAccountId:m.mainAccountId,subAccounts:m.subAccounts}),[E,m.mainAccountId,m.subAccounts]),ut=Bt.useMemo(()=>f||g||D,[f,g,D]);return {tableData:Q,isLoading:ut,pnlNotionalDecimalPrecision:r,sharePnLConfig:n,symbol:e,onSymbolChange:s,pagination:l,mutatePositions:b}},Er=(t,e)=>{let{mainAccountId:o="",subAccounts:i=[]}=e,r=new Map;for(let n of t){let s=n.account_id||o,a=i.find(l=>l.id===s);r.has(s)?r.get(s)?.children?.push(n):r.set(s,{id:s,description:s===o?orderlyI18n.i18n.t("common.mainAccount"):a?.description||orderlyUi.formatAddress(a?.id||""),children:[n]});}return {expanded:Array.from(r.keys()),dataSource:Array.from(r.values())}};var pe="orderly_trading_positions_sort";var zr=(t,e)=>{if(t==null&&e==null)return 0;if(t==null)return 1;if(e==null)return -1;let o=String(t).trim(),i=String(e).trim(),r=Number(o),n=Number(i),s=!isNaN(r)&&isFinite(r)&&/^-?\d*\.?\d+([eE][+-]?\d+)?$/.test(o),a=!isNaN(n)&&isFinite(n)&&/^-?\d*\.?\d+([eE][+-]?\d+)?$/.test(i);if(s&&a)return r-n;let l=/^\d{4}-\d{2}-\d{2}/.test(o)||/^\d{13}$/.test(o),u=/^\d{4}-\d{2}-\d{2}/.test(i)||/^\d{13}$/.test(i);if(l&&u){let c=new Date(t),m=new Date(e);if(!isNaN(c.getTime())&&!isNaN(m.getTime()))return c.getTime()-m.getTime()}return o.localeCompare(i,void 0,{sensitivity:"base",numeric:false})};function jo(t,e){let{sortKey:o,sortOrder:i}=e||{},r=[...t||[]];return o&&i&&r.sort((n,s)=>{let a=zr(n[o],s[o]);return i==="desc"?-a:a}),r}function Yt(t,e){let[o,i]=Bt.useState(t),r=Bt.useCallback(s=>{let a=s?{sortKey:s.sortKey,sortOrder:s.sort}:void 0;i(a),e?.(a);},[]),n=Bt.useCallback(s=>jo(s,o),[o]);return {sort:o,onSort:r,getSortedList:n}}var fe=(o=>(o.Positions="positions",o.PositionHistory="positionHistory",o))(fe||{});function Zt(t){let[e,o]=orderlyHooks.useSessionStorage(t.storageKey,{positions:{sortKey:"unrealized_pnl",sortOrder:"desc"},positionHistory:{sortKey:"close_timestamp",sortOrder:"desc"}}),i=Bt.useCallback(r=>n=>{o({...e,[r]:n});},[e,o]);return {tabSort:e,onTabSort:i}}var Ze=t=>{let{symbol:e,calcMode:o,includedPendingOrder:i,pnlNotionalDecimalPrecision:r,sharePnLConfig:n,onSymbolChange:s,enableSortingStorage:a=true}=t,{pagination:l,setPage:u}=orderlyUi.usePagination({pageSize:50}),{tabSort:c,onTabSort:m}=Zt({storageKey:pe}),{onSort:d,getSortedList:f,sort:y}=Yt(a?c?.positions:void 0,a?m("positions"):void 0);Bt__default.default.useEffect(()=>{u(1);},[e]);let[g,,{isLoading:b}]=orderlyHooks.usePositionStream(e,{calcMode:o,includedPendingOrder:i}),v=orderlyReactApp.useDataTap(g?.rows,{fallbackData:[]})??void 0;return {dataSource:f(v||[]),isLoading:b,pnlNotionalDecimalPrecision:r,sharePnLConfig:n,symbol:e,onSymbolChange:s,pagination:l,onSort:d,initialSort:a?c?.positions:void 0}};var Je=Bt.createContext({}),K=()=>Bt.useContext(Je);var Ft=t=>{let{symbol:e,children:o}=t,i=orderlyHooks.useSymbolsInfo()[e],r=Bt.useMemo(()=>({symbol:e,base_dp:i("base_dp"),quote_dp:i("quote_dp"),base_tick:i("base_tick"),quote_tick:i("quote_tick"),base:i("base"),quote:i("quote"),origin:i(),quote_max:i("quote_max"),quote_min:i("quote_min")}),[e,i]);return jsxRuntime.jsx(Je.Provider,{value:r,children:o})};var ge=t=>{let{t:e}=orderlyI18n.useTranslation();return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(orderlyUi.Slider,{showTip:true,markCount:4,value:[t.value],color:"primary",onValueChange:o=>{t.onValueChange(o[0]);}}),jsxRuntime.jsxs(orderlyUi.Flex,{width:"100%",justify:"between",children:[jsxRuntime.jsx(orderlyUi.Text,{color:"primary",size:"2xs",children:`${t.value}%`}),jsxRuntime.jsxs(orderlyUi.Flex,{gap:1,onClick:t.onMax,className:"oui-cursor-pointer",children:[jsxRuntime.jsx(orderlyUi.Text,{size:"2xs",color:"primary",children:e("common.max")}),jsxRuntime.jsx(orderlyUi.Text.numeral,{intensity:54,size:"2xs",dp:t.base_dp,padding:false,children:t.max})]})]})]})};var oo=t=>{let{base:e,base_dp:o,quote:i,quote_dp:r,sheetOpen:n,setSheetOpen:s,dialogOpen:a,setDialogOpen:l,quantity:u,price:c,submitting:m,priceErrorMsg:d,quantityErrorMsg:f,disabled:y,isMarketClose:g,position:b,maxQty:v,isBuy:D}=t,{t:S}=orderlyI18n.useTranslation(),M=S(g?"positions.marketClose":"positions.limitClose"),E=S(g?"orderEntry.orderType.market":"orderEntry.orderType.limit"),Q=D?jsxRuntime.jsx(orderlyUi.Badge,{color:"success",size:"xs",children:S("common.buy")}):jsxRuntime.jsx(orderlyUi.Badge,{color:"danger",size:"xs",children:S("common.sell")}),ut=jsxRuntime.jsxs(orderlyUi.Flex,{width:"100%",justify:"between",children:[jsxRuntime.jsx(orderlyUi.Text.formatted,{rule:"symbol",showIcon:true,children:b.symbol}),jsxRuntime.jsxs(orderlyUi.Flex,{gap:1,children:[jsxRuntime.jsx(orderlyUi.Badge,{color:"neutral",size:"xs",children:E}),Q]})]}),_=jsxRuntime.jsxs(orderlyUi.Flex,{width:"100%",justify:"between",children:[jsxRuntime.jsx(orderlyUi.Text,{intensity:54,children:S("common.lastPrice")}),jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:r,suffix:jsxRuntime.jsxs(orderlyUi.Text,{intensity:36,children:[" ",i]}),children:b.mark_price})]}),p=!g&&jsxRuntime.jsx(jsxRuntime.Fragment,{children:jsxRuntime.jsxs(orderlyUi.Flex,{width:"100%",direction:"column",gap:2,children:[jsxRuntime.jsx(orderlyUi.Input.tooltip,{prefix:S("common.price"),suffix:i,align:"right",fullWidth:true,autoComplete:"off",inputMode:"decimal",formatters:[orderlyUi.inputFormatter.numberFormatter,orderlyUi.inputFormatter.dpFormatter(r)],triggerClassName:"oui-w-full",tooltip:d,color:d?"danger":void 0,value:c,onValueChange:t.updatePriceChange,classNames:{prefix:"oui-text-base-contrast-54",suffix:"oui-text-base-contrast-54",root:orderlyUi.cn("oui-w-full oui-outline-line-12",d?"oui-outline-danger":void 0)}}),jsxRuntime.jsx(orderlyUi.Input.tooltip,{prefix:S("common.quantity"),suffix:e,align:"right",fullWidth:true,autoComplete:"off",inputMode:"decimal",formatters:[orderlyUi.inputFormatter.numberFormatter,orderlyUi.inputFormatter.dpFormatter(o)],triggerClassName:"oui-w-full",tooltip:f,color:f?"danger":void 0,value:u,onBlur:()=>t.formatQuantityToBaseTick(u),onValueChange:t.updateQuantity,classNames:{prefix:"oui-text-base-contrast-54",suffix:"oui-text-base-contrast-54",root:orderlyUi.cn("oui-w-full oui-outline-line-12",f?"oui-outline-danger":void 0)}})]})}),$=jsxRuntime.jsx(ge,{value:t.sliderValue,onValueChange:t.onSliderValueChange,base_dp:o,max:v,onMax:t.onMax}),X=jsxRuntime.jsxs(orderlyUi.Flex,{width:"100%",gap:3,mt:2,children:[jsxRuntime.jsx(orderlyUi.Button,{fullWidth:true,color:"secondary",onClick:t.onCloseSheet,children:S("common.cancel")}),jsxRuntime.jsx(orderlyUi.ThrottledButton,{fullWidth:true,disabled:m||y,loading:m,onClick:h=>{h.stopPropagation(),h.preventDefault(),t.onDoubleConfirm();},children:S("common.confirm")})]});return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(orderlyUi.Button,{variant:"outlined",color:"secondary",size:"sm",className:"oui-border-base-contrast-36",onClick:h=>{h.stopPropagation(),h.preventDefault(),s(true);},children:M}),jsxRuntime.jsx(orderlyUi.SimpleSheet,{title:M,open:n,onOpenChange:s,children:jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",gap:3,width:"100%",itemAlign:"start",className:"oui-text-sm",children:[ut,jsxRuntime.jsx(orderlyUi.Divider,{className:"oui-w-full"}),_,p,$,X]})}),jsxRuntime.jsx(orderlyUi.SimpleDialog,{open:a,onOpenChange:l,size:"xs",children:g?jsxRuntime.jsx(Rt,{base:e,quantity:u,submitting:m,onClose:t.onCloseDialog,onConfirm:t.onConfirm,hideCloseIcon:true}):jsxRuntime.jsx(ce,{base:e,quoteDp:r,quantity:u,price:c,submitting:m,order:t.closeOrderData,onClose:t.onCloseDialog,onConfirm:t.onConfirm,hideCloseIcon:true})})]})};var io=t=>{let{position:e,base:o,base_dp:i,quote_dp:r,price:n,quantity:s,submitting:a,dialogOpen:l,setDialogOpen:u,isMarketClose:c,popoverOpen:m,setPopoverOpen:d,maxQty:f,quantityErrorMsg:y,priceErrorMsg:g,isEntirePosition:b}=t,{t:v}=orderlyI18n.useTranslation(),D=jsxRuntime.jsxs(orderlyUi.Flex,{width:"100%",gap:2,mb:1,children:[jsxRuntime.jsx(orderlyUi.Input.tooltip,{ref:t.quantityInputRef,prefix:v("common.quantity"),suffix:b?jsxRuntime.jsx(orderlyUi.Text,{size:"2xs",intensity:54,className:"oui-cursor-pointer oui-px-3",onClick:t.onEntirePosition,children:v("tpsl.entirePosition")}):o,align:"right",size:"md",fullWidth:true,autoComplete:"off",inputMode:"decimal",formatters:[orderlyUi.inputFormatter.numberFormatter,orderlyUi.inputFormatter.dpFormatter(i)],triggerClassName:"oui-w-full",tooltip:y,color:y?"danger":void 0,value:b?"":s,onBlur:()=>t.formatQuantityToBaseTick(s),onValueChange:t.updateQuantity,classNames:{prefix:"oui-text-base-contrast-54",suffix:"oui-text-base-contrast-54",root:orderlyUi.cn("oui-w-full oui-outline-line-12",y?"oui-outline-danger":void 0)}}),jsxRuntime.jsx(orderlyUi.Button,{onClick:t.onMax,size:"md",variant:"outlined",className:orderlyUi.cn("oui-text-2xs",b?"oui-border-primary-light oui-text-primary-light hover:oui-bg-primary-light/20":"oui-border-line-12 oui-bg-base-6 oui-text-base-contrast-54 hover:oui-bg-base-5"),children:v("common.position")})]}),S=jsxRuntime.jsx(orderlyUi.Select.options,{variant:"text",size:"md",options:[{label:v("orderEntry.orderType.limit"),value:orderlyTypes.OrderType.LIMIT},{label:v("orderEntry.orderType.market"),value:orderlyTypes.OrderType.MARKET}],classNames:{trigger:"oui-w-[--radix-select-content-available-width]"},value:t.type,onValueChange:Q=>{t.updateOrderType(Q);},contentProps:{align:"end",className:"oui-border oui-border-line-6"}}),M=c,E=jsxRuntime.jsx(orderlyUi.Input.tooltip,{suffix:S,size:"md",fullWidth:true,autoComplete:"off",inputMode:"decimal",formatters:[orderlyUi.inputFormatter.numberFormatter,orderlyUi.inputFormatter.dpFormatter(r)],triggerClassName:"oui-w-full",tooltip:g,color:g?"danger":void 0,value:n,onValueChange:t.updatePriceChange,placeholder:M?"--":"",disabled:M,classNames:{prefix:"oui-text-base-contrast-54",suffix:"oui-text-base-contrast-54",root:orderlyUi.cn("oui-w-full oui-outline-line-12",g?"oui-outline-danger":void 0,M?"focus-within:oui-outline-line-12":void 0)}});return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs(orderlyUi.PopoverRoot,{open:m,onOpenChange:d,children:[jsxRuntime.jsx(orderlyUi.PopoverTrigger,{asChild:true,onClick:()=>{d(true);},children:jsxRuntime.jsx(orderlyUi.Button,{variant:"outlined",size:"sm",color:"secondary",children:v("positions.column.close")})}),jsxRuntime.jsx(orderlyUi.PopoverContent,{className:orderlyUi.cn("oui-w-[360px] oui-p-5",m?"oui-visible":"oui-invisible"),align:"end",side:"top",onOpenAutoFocus:Q=>Q.preventDefault(),children:jsxRuntime.jsxs(orderlyUi.Flex,{gapY:2,direction:"column",children:[D,jsxRuntime.jsx(ge,{value:t.sliderValue,onValueChange:t.onSliderValueChange,base_dp:i,max:f,onMax:t.onMax}),jsxRuntime.jsx(orderlyUi.Divider,{my:2,intensity:8,className:"oui-w-full"}),E,jsxRuntime.jsx(me,{onConfirm:t.onDoubleConfirm,onCancel:t.onClosePopover,submitting:a,disabled:t.disabled})]})})]}),jsxRuntime.jsx(orderlyUi.SimpleDialog,{open:l,onOpenChange:u,size:"sm",children:c?jsxRuntime.jsx(Rt,{base:o,quantity:s,submitting:a,onClose:t.onCloseDialog,onConfirm:t.onConfirm,classNames:{root:"oui-items-start"},hideCloseIcon:true}):jsxRuntime.jsx(ce,{base:o,quoteDp:r,quantity:s,price:n,submitting:a,order:t.closeOrderData,onClose:t.onCloseDialog,onConfirm:t.onConfirm,hideCloseIcon:true})})]})};var no=t=>{let[e,o]=Bt.useState(false),[i,r]=Bt.useState(false),[n,s]=Bt.useState(false),[a,l]=Bt.useState(100),u=Bt.useRef(null),[c]=orderlyHooks.useLocalStorage("orderly_order_confirm",true),{position:m,onSubmit:d,price:f,quantity:y,closeOrderData:g,submitting:b,updatePriceChange:v,updateOrderType:D,updateQuantity:S,errors:M,baseTick:E,type:Q}=et(),{quote_dp:ut,base_dp:_,base:p,quote:$}=K(),{getErrorMsg:X}=orderlyReactApp.useOrderEntryFormErrorMsg(M),h=m.position_qty>0,z=Math.abs(m.position_qty),re=t.type||Q,se=re===orderlyTypes.OrderType.MARKET,ze=z?.toString()===y.toString();Bt.useEffect(()=>{e&&D(t.type);},[t.type,e]);let{priceErrorMsg:Vt,quantityErrorMsg:ae}=Bt.useMemo(()=>({priceErrorMsg:X("order_price"),quantityErrorMsg:X("order_quantity")}),[M]),le=!!(Vt||ae),qt=Bt.useCallback(bt=>{if(E&&E>0){let Gt=orderlyHooks.utils.formatNumber(bt,E)??bt;S(Gt);}},[E,S]),Be=Bt.useCallback(bt=>{l(bt);let Gt=new orderlyUtils.Decimal(bt).div(100).mul(z).toFixed(_,orderlyUtils.Decimal.ROUND_DOWN);qt(Gt);},[z,_,qt]);Bt.useEffect(()=>{let bt=Math.min(Number(y||0),z),Gt=new orderlyUtils.Decimal(bt).div(z).mul(100).toDecimalPlaces(2,orderlyUtils.Decimal.ROUND_DOWN).toNumber();l(Gt);},[y]);let On=Bt.useCallback(()=>{S(z?.toString());},[z,S]),We=Bt.useCallback(()=>d().then(bt=>{o(false),r(false),s(false);}),[d]),An=Bt.useCallback(()=>c?(r(true),Promise.resolve()):We(),[We,c]),kn=Bt.useCallback(()=>{o(false);},[]),En=Bt.useCallback(()=>{r(false);},[]),Hn=Bt.useCallback(()=>{s(false);},[]),zn=Bt.useCallback(()=>{S("0"),u.current?.focus(),setTimeout(()=>{u.current?.setSelectionRange(0,1);},0);},[S]);return {position:m,closeOrderData:g,quote_dp:ut,base_dp:_,base:p,quote:$,price:f,quantity:y,submitting:b,onConfirm:We,onDoubleConfirm:An,updatePriceChange:v,updateQuantity:S,formatQuantityToBaseTick:qt,updateOrderType:D,sliderValue:a,onSliderValueChange:Be,priceErrorMsg:Vt,quantityErrorMsg:ae,disabled:le,isMarketClose:se,maxQty:z,onMax:On,isBuy:h,isEntirePosition:ze,type:re,quantityInputRef:u,onEntirePosition:zn,sheetOpen:e,onCloseSheet:kn,setSheetOpen:o,dialogOpen:i,setDialogOpen:r,onCloseDialog:En,popoverOpen:n,setPopoverOpen:s,onClosePopover:Hn}};var kt=t=>{let e=no(t),{isMobile:o}=orderlyUi.useScreen();return o?jsxRuntime.jsx(oo,{...e}):jsxRuntime.jsx(io,{...e})};var It=()=>{let{position:t,baseDp:e,quoteDp:o,tpslOrder:i}=et(),{isMobile:r}=orderlyUi.useScreen();return jsxRuntime.jsx(orderlyUi.EditIcon,{onClick:()=>{let s=r?orderlyUiTpsl.TPSLDetailSheetId:orderlyUiTpsl.TPSLDetailDialogId;orderlyUi.modal.show(s,{order:i,position:t,baseDP:e,quoteDP:o});},opacity:1,className:"oui-cursor-pointer oui-text-base-contrast-54",size:16})},dt=t=>{let{position:e,baseDp:o,quoteDp:i,tpslOrder:r}=et(),[n]=orderlyHooks.useLocalStorage("orderly_order_confirm",true),{t:s}=orderlyI18n.useTranslation(),{isMobile:a}=orderlyUi.useScreen(),l=()=>{let u=a?orderlyUiTpsl.TPSLSheetId:orderlyUiTpsl.TPSLDialogId,c={symbol:e.symbol,baseDP:o,quoteDP:i,isEditing:false,positionType:t.positionType};orderlyUi.modal.show(u,c);};return jsxRuntime.jsx(orderlyUi.Text,{className:orderlyUi.cn("oui-cursor-pointer oui-text-base-contrast",a&&"oui-text-base-contrast-80"),onClick:l,children:s("tpsl.add")})},we=t=>{let{symbol:e,leverage:o}=t,i=()=>{orderlyUi.modal.show(t.modalId,{symbol:e,curLeverage:o});};return jsxRuntime.jsxs("div",{className:orderlyUi.cn("oui-flex oui-h-[18px] oui-items-center oui-gap-1","oui-cursor-pointer oui-rounded oui-bg-line-6 oui-pl-2 oui-pr-1","oui-text-2xs oui-font-semibold oui-text-base-contrast-36"),onClick:i,children:[jsxRuntime.jsx(orderlyUi.Text,{children:"Cross"}),o?jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:0,rm:orderlyUtils.Decimal.ROUND_DOWN,size:"2xs",unit:"X",children:o}):jsxRuntime.jsx(Ls,{symbol:e}),jsxRuntime.jsx(orderlyUi.ChevronRightIcon,{size:14,opacity:1,className:"oui-text-base-contrast-36"})]})},Ls=({symbol:t})=>{let e=orderlyHooks.useLeverageBySymbol(t);return jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:0,rm:orderlyUtils.Decimal.ROUND_DOWN,size:"2xs",unit:"X",children:e||1})};var fi=t=>{let e=K();return jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:e.base_dp,rm:orderlyUtils.Decimal.ROUND_DOWN,padding:false,coloring:true,children:t})};var ve=t=>{let{tick:e="quote_dp",children:o,...i}=t,r=K();if(!r)throw new Error("NumeralWithCtx must be used inside SymbolProvider");return jsxRuntime.jsx(orderlyUi.Text.numeral,{as:"span",dp:r[e],...i,children:o})};var gi=t=>{let{orderNum:e,tpTriggerPrice:o,slTriggerPrice:i,direction:r="column"}=t,{partialTPSLOrder:n,quoteDp:s,baseDp:a}=et(),l=orderlyHooks.useSymbolsInfo(),{t:u}=orderlyI18n.useTranslation(),c=Bt.useMemo(()=>{let d=[];return n?.symbol?(o&&d.push(jsxRuntime.jsx(orderlyUi.Text.formatted,{className:orderlyUi.cn("oui-text-trade-profit oui-gap-0 oui-decoration-white/20"),rule:"price",dp:l[n.symbol]("quote_dp",2),children:o,prefix:!i||r==="column"?jsxRuntime.jsx(orderlyUi.Text,{intensity:54,children:`${u("tpsl.tp")} - `}):""},"tp")),i&&d.push(jsxRuntime.jsx(orderlyUi.Text.formatted,{className:orderlyUi.cn("oui-text-trade-loss oui-gap-0 oui-decoration-white/20 "),rule:"price",dp:l[n.symbol]("quote_dp",2),prefix:jsxRuntime.jsx(orderlyUi.Text,{intensity:54,children:`${u("tpsl.sl")} - `}),children:i},"sl")),d.length===0?jsxRuntime.jsx(dt,{positionType:orderlyTypes.PositionType.PARTIAL}):(d.length===2&&r==="row"&&d.splice(1,0,jsxRuntime.jsx(orderlyUi.Text,{children:"/"},"split")),d)):jsxRuntime.jsx(dt,{positionType:orderlyTypes.PositionType.PARTIAL})},[o,i,n?.symbol,u]),m=Array.isArray(c)?!!c.length:!c;return jsxRuntime.jsxs(orderlyUi.Flex,{className:"oui-gap-[6px]",children:[jsxRuntime.jsx("div",{className:orderlyUi.cn("oui-inline-flex oui-text-base-contrast-36",r==="column"?"oui-flex-col":"oui-flex-row oui-gap-1"),children:c}),m&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs(orderlyUi.Text,{className:"oui-text-base-contrast-54",children:["(",e,")"]}),jsxRuntime.jsx(It,{})]})]})};var lo=t=>t.sharePnLConfig?jsxRuntime.jsx("button",{type:"button",onClick:e=>{e.stopPropagation(),t.showModal();},children:jsxRuntime.jsx(orderlyUi.ShareIcon,{color:"white",opacity:.54,size:t.iconSize??16})}):null;var Pi=t=>{let{position:e,sharePnLConfig:o,iconSize:i}=t,{getFirstRefCode:r}=orderlyHooks.useReferralInfo(),n=orderlyHooks.useSymbolsInfo(),{data:s}=orderlyHooks.useAccountInfo(),a=Bt.useMemo(()=>r()?.code,[r]),l=orderlyHooks.useLeverageBySymbol(e.symbol),u=()=>{let m=e.netPnL||0,d=Math.abs(e.avg_open_price),f=Math.abs(e.closed_position_qty),y,g=n[e.symbol],b=g("base_imr"),v=g("imr_factor");if(m!==0&&f!==0&&d!==0&&s?.max_leverage&&b&&v){let D=orderlyPerp.positions.notional(f,d),S=e.leverage?e.leverage:s.max_leverage,M=orderlyPerp.account.IMR({maxLeverage:S,baseIMR:b,IMR_Factor:v,positionNotional:D,ordersNotional:0,IMR_factor_power:4/5}),E=orderlyPerp.positions.unrealizedPnLROI({positionQty:f,openPrice:d,IMR:M,unrealizedPnL:m});y=new orderlyUtils.Decimal(E*100).toFixed(2,orderlyUtils.Decimal.ROUND_DOWN);}return {side:e.side,pnl:m,roi:y,openPrice:d,closePrice:Math.abs(e.avg_close_price),openTime:e.open_timestamp,closeTime:e.close_timestamp,quantity:e.closed_position_qty}};return {iconSize:i,sharePnLConfig:o,showModal:()=>{let m=t.isPositionHistory?u():{side:e.position_qty>0?"LONG":"SHORT",pnl:e.unrealized_pnl,roi:new orderlyUtils.Decimal(e.unrealized_pnl_ROI*100).toFixed(2,orderlyUtils.Decimal.ROUND_DOWN),openPrice:Math.abs(e.average_open_price),markPrice:e.mark_price,openTime:e.timestamp,quantity:e.position_qty};orderlyUi.modal.show(t.modalId,{pnl:{entity:{symbol:e.symbol,leverage:e.leverage||l,...m},refCode:a,...o}});}}};var ft=t=>{let e=Pi(t);return jsxRuntime.jsx(lo,{...e})};var Ti=t=>{let{stopLossPrice:e,takeProfitPrice:o}=t,{tpslOrder:i,position:r}=et();return jsxRuntime.jsx(oa,{stopLossPrice:e,takeProfitPrice:o,direction:"column",order:i,position:r,tooltip:true})},_i=t=>{let{qty:e,price:o,entryPrice:i,orderSide:r,orderType:n,symbolInfo:s}=t,a=orderlyHooks.utils.priceToPnl({qty:e,price:o,entryPrice:i,orderSide:r,orderType:n},{symbol:s}),l=n===orderlyTypes.AlgoOrderType.TAKE_PROFIT?"TP":"SL";return jsxRuntime.jsxs(orderlyUi.Flex,{children:[jsxRuntime.jsx(orderlyUi.Text,{intensity:54,className:"oui-mr-1",children:`${l} PnL:`}),jsxRuntime.jsx(orderlyUi.Text.formatted,{rule:"price",className:a===0?"oui-text-base-contrast-36":a>0?"oui-text-trade-profit oui-gap-0":"oui-text-trade-loss oui-gap-0",prefix:jsxRuntime.jsx(orderlyUi.Text,{children:a===0?"":a>0?"+":"-"}),suffix:jsxRuntime.jsx(orderlyUi.Text,{intensity:36,className:"oui-ml-1",children:"USDC"}),children:`${Math.abs(a)}`})]})},oa=t=>{let{direction:e="row",order:o,position:i}=t,r=orderlyHooks.useSymbolsInfo(),{t:n}=orderlyI18n.useTranslation(),s=Bt.useMemo(()=>{let c=[];if(!t.tooltip||!o||!i)return;let m=o.quantity;return m===0&&o.child_orders[0].type==="CLOSE_POSITION"&&(m=i.position_qty),t.takeProfitPrice&&c.push(jsxRuntime.jsx(_i,{qty:m,price:t.takeProfitPrice,entryPrice:i.average_open_price,orderSide:o.side,orderType:orderlyTypes.AlgoOrderType.TAKE_PROFIT,symbolInfo:r[o.symbol]()},"tp")),t.stopLossPrice&&c.push(jsxRuntime.jsx(_i,{qty:m,price:t.stopLossPrice,entryPrice:i.average_open_price,orderSide:o.side,orderType:orderlyTypes.AlgoOrderType.STOP_LOSS,symbolInfo:r[o.symbol]()},"sl")),jsxRuntime.jsx("div",{children:c})},[t.takeProfitPrice,t.stopLossPrice,i?.average_open_price,o?.side,o?.quantity,o?.algo_type]),a=Bt.useMemo(()=>{let c=[];if(!o?.symbol)return jsxRuntime.jsx(dt,{positionType:orderlyTypes.PositionType.FULL});return t.takeProfitPrice&&c.push(jsxRuntime.jsx(orderlyUi.Text.formatted,{className:orderlyUi.cn("oui-text-trade-profit oui-gap-0 oui-decoration-white/20"),rule:"price",dp:r[o.symbol]("quote_dp",2),children:t.takeProfitPrice,prefix:!t.stopLossPrice||e==="column"?jsxRuntime.jsx(orderlyUi.Text,{intensity:54,children:`${n("tpsl.tp")} - `}):""},"tp")),t.stopLossPrice&&c.push(jsxRuntime.jsx(orderlyUi.Text.formatted,{className:orderlyUi.cn("oui-text-trade-loss oui-gap-0 oui-decoration-white/20 "),rule:"price",dp:r[o.symbol]("quote_dp",2),children:t.stopLossPrice,prefix:!t.takeProfitPrice||e==="column"?jsxRuntime.jsx(orderlyUi.Text,{intensity:54,children:`${n("tpsl.sl")} - `}):""},"sl")),c.length===0?jsxRuntime.jsx(dt,{positionType:orderlyTypes.PositionType.FULL}):(c.length===2&&e==="row"&&c.splice(1,0,jsxRuntime.jsx(orderlyUi.Text,{children:"/"},"split")),c)},[t.takeProfitPrice,t.stopLossPrice,o?.symbol,n]),l=jsxRuntime.jsx("div",{className:orderlyUi.cn("oui-inline-flex oui-text-base-contrast-36",t.direction==="column"?"oui-flex-col":"oui-flex-row oui-gap-1",t.className),children:a}),u=Array.isArray(a)?!!a.length:!a;return t.tooltip?jsxRuntime.jsxs(orderlyUi.Flex,{gapX:2,children:[jsxRuntime.jsx(orderlyUi.Tooltip,{content:s,children:l}),u&&jsxRuntime.jsx(It,{})]}):l};var Ii=t=>{let[e,o]=orderlyHooks.useLocalStorage("unPnlPriceBasis","markPrice"),{t:i}=orderlyI18n.useTranslation();return jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",gap:3,className:"oui-text-base-contrast-54 oui-items-start",children:[jsxRuntime.jsx(orderlyUi.Text,{children:i("positions.column.unrealPnl.tooltip")}),jsxRuntime.jsx(orderlyUi.Divider,{className:"oui-w-full"}),jsxRuntime.jsx("div",{className:"oui-mb-0",children:i("positions.column.unrealPnl.priceBasis")}),jsxRuntime.jsx(ra,{value:e,onValueChange:o})]})},ra=t=>{let{value:e,onValueChange:o}=t,{t:i}=orderlyI18n.useTranslation();return jsxRuntime.jsxs(orderlyUi.Flex,{gap:2,children:[jsxRuntime.jsx(vi,{sel:e==="markPrice",label:i("common.markPrice"),value:"markPrice",onCheckChange:o}),jsxRuntime.jsx(vi,{sel:e==="lastPrice",label:i("common.lastPrice"),value:"lastPrice",onCheckChange:o})]})},vi=t=>{let{sel:e,label:o,value:i,onCheckChange:r}=t;return jsxRuntime.jsxs(orderlyUi.Flex,{onClick:n=>{r(i),n.stopPropagation();},gap:1,className:"oui-cursor-pointer",children:[e?jsxRuntime.jsx(sa,{}):jsxRuntime.jsx(aa,{}),jsxRuntime.jsx(orderlyUi.Text,{size:"xs",intensity:e?98:54,children:o})]})},sa=()=>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"})]}),aa=()=>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 po=t=>{let{pnlNotionalDecimalPrecision:e,sharePnLConfig:o,onSymbolChange:i}=t,{t:r}=orderlyI18n.useTranslation(),n=Bt.useRef(Date.now().toString());return Bt.useMemo(()=>[{title:r("common.symbol"),dataIndex:"symbol",fixed:"left",width:140,onSort:(a,l)=>a.symbol?.localeCompare(l.symbol||""),render:(a,l)=>jsxRuntime.jsxs(orderlyUi.Flex,{gap:2,children:[jsxRuntime.jsx(orderlyUi.Box,{width:4,height:20,className:orderlyUi.cn("oui-h-[38px] oui-rounded-[1px]",l.position_qty>0?"oui-bg-trade-profit":"oui-bg-trade-loss")}),jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",itemAlign:"start",children:[jsxRuntime.jsx(orderlyUi.Text.formatted,{formatString:"base-type",className:"oui-cursor-pointer",onClick:u=>{i?.({symbol:a}),u.stopPropagation(),u.preventDefault();},children:`${a.split("_")[1]}-PERP`}),jsxRuntime.jsx(we,{symbol:a,leverage:l.leverage,modalId:orderlyUiLeverage.SymbolLeverageDialogId})]})]})},{title:r("common.quantity"),dataIndex:"position_qty",onSort:(a,l)=>a.position_qty-l.position_qty,width:120,className:"oui-pl-6",render:fi},{title:r("common.avgOpen"),className:"oui-h-[48px]",width:120,onSort:true,dataIndex:"average_open_price",render:a=>jsxRuntime.jsx(ve,{rm:orderlyUtils.Decimal.ROUND_DOWN,children:a})},{title:r("common.markPrice"),dataIndex:"mark_price",width:120,onSort:true,className:"oui-h-[48px]",render:a=>jsxRuntime.jsx(ve,{rm:orderlyUtils.Decimal.ROUND_DOWN,children:a})},{title:jsxRuntime.jsx(orderlyUi.Tooltip,{className:"oui-max-w-[280px] oui-bg-base-8 oui-p-3 oui-text-2xs oui-text-base-contrast-54",content:r("positions.column.liqPrice.tooltip"),children:jsxRuntime.jsx(orderlyUi.Text,{children:r("positions.column.liqPrice")})}),plantTextTitle:r("positions.column.liqPrice"),width:100,onSort:true,dataIndex:"est_liq_price",render:a=>Number(a)===0?"--":jsxRuntime.jsx(ve,{rm:orderlyUtils.Decimal.ROUND_DOWN,className:Number(a)>0?"oui-text-warning-light":"",children:a??"--"})},{title:jsxRuntime.jsx(orderlyUi.HoverCard,{content:jsxRuntime.jsx(Ii,{}),side:"top",align:"center",className:"oui-max-w-[280px] oui-text-2xs",children:jsxRuntime.jsx(orderlyUi.Text,{children:r("common.unrealizedPnl")})}),plantTextTitle:r("common.unrealizedPnl"),dataIndex:"unrealized_pnl",width:180,onSort:true,rule:"price",numeralProps:{coloring:true},render:(a,l)=>jsxRuntime.jsxs(orderlyUi.Flex,{gap:2,children:[jsxRuntime.jsxs(orderlyUi.Flex,{children:[jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:e,rm:orderlyUtils.Decimal.ROUND_DOWN,coloring:true,className:"oui-font-semibold",children:a}),jsxRuntime.jsx(orderlyUi.Text.numeral,{rule:"percentages",dp:e,rm:orderlyUtils.Decimal.ROUND_DOWN,coloring:true,className:"oui-font-semibold",prefix:"(",suffix:")",children:l.unrealized_pnl_ROI})]}),jsxRuntime.jsx(ft,{position:l,sharePnLConfig:o,modalId:orderlyUiShare.SharePnLDialogId})]})},{title:r("common.fullTPSL"),dataIndex:"full_tpsl",width:150,render:(a,l)=>jsxRuntime.jsx(Ti,{stopLossPrice:l.full_tp_sl?.sl_trigger_price,takeProfitPrice:l.full_tp_sl?.tp_trigger_price})},{title:r("common.partialTPSL"),dataIndex:"partial_tpsl",width:150,render:(a,l)=>jsxRuntime.jsx(gi,{orderNum:l.partial_tp_sl?.order_num,tpTriggerPrice:l.partial_tp_sl?.tp_trigger_price,slTriggerPrice:l.partial_tp_sl?.sl_trigger_price})},{title:r("common.notional"),dataIndex:"notional",className:"oui-h-[48px]",width:100,onSort:true,render:a=>jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:e,children:a})},{title:jsxRuntime.jsx(orderlyUi.Tooltip,{className:"oui-max-w-[280px] oui-bg-base-8 oui-p-3 oui-text-2xs oui-text-base-contrast-54",content:jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",gap:3,className:"oui-rounded-sm oui-bg-base-8 oui-text-base-contrast-54",children:[jsxRuntime.jsx("span",{children:r("positions.column.margin.tooltip")}),jsxRuntime.jsx(orderlyUi.Divider,{className:"oui-w-full"}),jsxRuntime.jsx("span",{children:r("positions.column.margin.formula")})]}),children:jsxRuntime.jsx(orderlyUi.Text,{children:r("positions.column.margin")})}),plantTextTitle:r("positions.column.margin"),dataIndex:"mm",onSort:true,width:100,rule:"price",render:a=>jsxRuntime.jsx(orderlyUi.Text.numeral,{children:a})},{title:r("funding.fundingFee"),dataIndex:"fundingFee",width:100,render:(a,l)=>jsxRuntime.jsx(mt,{fee:a,symbol:l.symbol,start_t:l.timestamp.toString(),end_t:n.current})},{title:null,dataIndex:"close_position",align:"right",width:70,fixed:"right",render(){return jsxRuntime.jsx(orderlyUi.Flex,{gapX:2,justify:"end",children:jsxRuntime.jsx(kt,{})})}}],[e,o,r])};var Ri=t=>{let{item:e}=t,o=e.position_qty>0,{t:i}=orderlyI18n.useTranslation();return jsxRuntime.jsx(orderlyUi.Text.formatted,{rule:"symbol",formatString:"base-type",size:"2xs",suffix:jsxRuntime.jsxs("div",{className:"oui-flex oui-items-center oui-gap-1",children:[jsxRuntime.jsx(orderlyUi.Badge,{color:o?"success":"danger",size:"xs",children:i(o?"common.long":"common.short")}),jsxRuntime.jsx(we,{symbol:e.symbol,leverage:e.leverage,modalId:orderlyUiLeverage.SymbolLeverageSheetId})]}),showIcon:true,onClick:()=>{t.onSymbolChange?.({symbol:e.symbol});},children:e.symbol})},Mi=t=>{let{item:e}=t,{t:o}=orderlyI18n.useTranslation();return jsxRuntime.jsxs(orderlyUi.Flex,{gap:3,children:[jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",className:"oui-text-2xs",itemAlign:"end",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(orderlyUi.Text,{intensity:36,children:o("common.unrealizedPnl")}),jsxRuntime.jsx(orderlyUi.Text,{intensity:20,children:"(USDC)"})]}),jsxRuntime.jsx(orderlyUi.Text.numeral,{size:"xs",dp:t.pnlNotionalDecimalPrecision,rm:orderlyUtils.Decimal.ROUND_DOWN,coloring:true,className:"orderly-font-semibold",suffix:jsxRuntime.jsx(orderlyUi.Text.numeral,{rule:"percentages",dp:t.pnlNotionalDecimalPrecision,rm:orderlyUtils.Decimal.ROUND_DOWN,prefix:"(",suffix:")",className:orderlyUi.cn("oui-ml-1",e.unrealized_pnl_ROI>0?"oui-text-success-darken":"oui-text-danger-darken"),children:e.unrealized_pnl_ROI}),children:e.unrealized_pnl})]}),jsxRuntime.jsx(ft,{position:e,sharePnLConfig:t.sharePnLConfig,modalId:orderlyUiShare.SharePnLBottomSheetId,iconSize:12})]})},Oi=t=>{let{item:e}=t,{t:o}=orderlyI18n.useTranslation();return jsxRuntime.jsx(orderlyUi.Statistic,{label:o("common.qty"),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:t.base_dp,padding:false,coloring:true,children:e.position_qty})})},Ai=t=>{let{item:e}=t,{t:o}=orderlyI18n.useTranslation();return jsxRuntime.jsx(orderlyUi.Statistic,{label:jsxRuntime.jsxs("span",{children:[o("positions.column.margin"),jsxRuntime.jsx(orderlyUi.Text,{intensity:20,children:"(USDC)"})]}),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:t.quote_dp,intensity:80,children:e.mm})})},ki=t=>{let{item:e}=t,{t:o}=orderlyI18n.useTranslation();return jsxRuntime.jsx(orderlyUi.Statistic,{align:"end",label:jsxRuntime.jsxs("span",{children:[o("common.notional"),jsxRuntime.jsx(orderlyUi.Text,{intensity:20,children:"(USDC)"})]}),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:t.quote_dp,intensity:80,children:e.notional})})},Ei=t=>{let{item:e}=t,{t:o}=orderlyI18n.useTranslation();return jsxRuntime.jsx(orderlyUi.Statistic,{label:o("common.avgOpen"),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:t.quote_dp,rm:orderlyUtils.Decimal.ROUND_DOWN,intensity:80,children:e.average_open_price})})},Hi=t=>{let{item:e}=t,{t:o}=orderlyI18n.useTranslation();return jsxRuntime.jsx(orderlyUi.Statistic,{label:o("common.markPrice"),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:t.quote_dp,rm:orderlyUtils.Decimal.ROUND_DOWN,intensity:80,children:e.mark_price})})},zi=t=>{let{item:e}=t,{t:o}=orderlyI18n.useTranslation(),i=e.est_liq_price&&e.est_liq_price>0?e.est_liq_price:"-";return jsxRuntime.jsx(orderlyUi.Statistic,{label:o("positions.column.liqPrice"),align:"end",classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:t.quote_dp,rm:orderlyUtils.Decimal.ROUND_DOWN,color:"warning",children:i})})},Bi=t=>{let{item:e}=t,{t:o}=orderlyI18n.useTranslation(),i=Bt.useMemo(()=>e.full_tp_sl?.tp_trigger_price==null&&e.full_tp_sl?.sl_trigger_price==null?jsxRuntime.jsx(dt,{positionType:orderlyTypes.PositionType.FULL}):jsxRuntime.jsxs(orderlyUi.Flex,{className:"oui-gap-[2px]",children:[e.full_tp_sl?.tp_trigger_price&&jsxRuntime.jsx(orderlyUi.Text.numeral,{color:"buy",children:e.full_tp_sl.tp_trigger_price}),e.full_tp_sl?.sl_trigger_price&&"/",e.full_tp_sl?.sl_trigger_price&&jsxRuntime.jsx(orderlyUi.Text.numeral,{color:"sell",children:e.full_tp_sl.sl_trigger_price}),jsxRuntime.jsx(It,{})]}),[e.full_tp_sl]),r=Bt.useMemo(()=>e.partial_tp_sl?.tp_trigger_price==null&&e.partial_tp_sl?.sl_trigger_price==null?jsxRuntime.jsx(dt,{positionType:orderlyTypes.PositionType.PARTIAL}):jsxRuntime.jsxs(orderlyUi.Flex,{className:"oui-gap-[2px]",itemAlign:"center",children:[e.partial_tp_sl?.tp_trigger_price&&jsxRuntime.jsx(orderlyUi.Text.numeral,{color:"buy",children:e.partial_tp_sl.tp_trigger_price}),e.partial_tp_sl?.sl_trigger_price&&"/",e.partial_tp_sl?.sl_trigger_price&&jsxRuntime.jsx(orderlyUi.Text.numeral,{color:"sell",children:e.partial_tp_sl.sl_trigger_price}),jsxRuntime.jsx(orderlyUi.Text,{children:`(${e.partial_tp_sl?.order_num})`}),jsxRuntime.jsx(It,{})]}),[e.partial_tp_sl]);return jsxRuntime.jsxs(orderlyUi.Grid,{cols:2,rows:1,gap:2,width:"100%",children:[jsxRuntime.jsxs(orderlyUi.Flex,{className:"oui-text-2xs oui-text-base-contrast-36",direction:"column",itemAlign:"start",children:[jsxRuntime.jsxs(orderlyUi.Text,{children:[o("common.fullTPSL"),": "]}),i]}),jsxRuntime.jsxs(orderlyUi.Flex,{className:"oui-text-2xs oui-text-base-contrast-36 oui-grid-cols-end",direction:"column",itemAlign:"end",children:[jsxRuntime.jsxs(orderlyUi.Text,{children:[o("common.partialTPSL"),": "]}),r]})]})},Wi=t=>{let{t:e}=orderlyI18n.useTranslation(),o=Bt.useRef(Date.now().toString());return jsxRuntime.jsxs(orderlyUi.Flex,{justify:"end",className:"oui-w-full oui-text-2xs",children:[jsxRuntime.jsxs(orderlyUi.Text,{intensity:36,children:[e("funding.fundingFee"),": "]}),jsxRuntime.jsx(mt,{fee:t.item.fundingFee,symbol:t.item.symbol,start_t:t.item.timestamp.toString(),end_t:o.current})]})};var fo=t=>{let{className:e,...o}=t,i=jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",width:"100%",children:[jsxRuntime.jsx(Ri,{...t}),jsxRuntime.jsx(Mi,{...t})]}),r=jsxRuntime.jsxs(orderlyUi.Grid,{cols:3,rows:2,gap:2,width:"100%",children:[jsxRuntime.jsx(Oi,{...t}),jsxRuntime.jsx(Ai,{...t}),jsxRuntime.jsx(ki,{...t}),jsxRuntime.jsx(Ei,{...t}),jsxRuntime.jsx(Hi,{...t}),jsxRuntime.jsx(zi,{...t})]}),n=jsxRuntime.jsxs(orderlyUi.Grid,{width:"100%",gap:2,cols:2,rows:1,children:[jsxRuntime.jsx(kt,{type:orderlyTypes.OrderType.LIMIT}),jsxRuntime.jsx(kt,{type:orderlyTypes.OrderType.MARKET})]});return jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",width:"100%",gap:2,p:2,r:"xl",itemAlign:"start",className:orderlyUi.cn(e,"oui-bg-base-9"),children:[i,jsxRuntime.jsx(orderlyUi.Divider,{intensity:6,className:"oui-w-full"}),r,jsxRuntime.jsx(Bi,{...o}),jsxRuntime.jsx(Wi,{...o}),n]})};var yo=t=>{let e=K();return {...t,...e}};var go=t=>{let e=yo(t);return jsxRuntime.jsx(fo,{...e,className:t.className})};var Le=t=>{let{position:e,children:o,mutatePositions:i}=t,{t:r}=orderlyI18n.useTranslation(),[n,s]=Bt.useState(Math.abs(e.position_qty).toString()),[a,l]=Bt.useState(""),[u,c]=Bt.useState(orderlyTypes.OrderType.MARKET);Bt.useEffect(()=>{s(Math.abs(e.position_qty).toString());},[e.position_qty]);let m=e.symbol,d=orderlyHooks.useSymbolsInfo(),f=d?.[m],y=f("quote_dp"),g=f("base_dp"),b=f("base_tick"),{side:v,closeOrderData:D,submit:S,isMutating:M,errors:E,calculate:Q}=orderlyHooks.usePositionClose({position:e,order:{type:u,quantity:n,price:a}}),ut=Bt.useCallback(h=>{let z=Q({},"order_quantity",h,e.mark_price,f());s(z.order_quantity);},[Q,d,e.mark_price]),_=Bt.useCallback(h=>{let z=Q({},"order_price",h,e.mark_price,f());l(z.order_price);},[Q,d,e.mark_price]),p=Bt.useCallback(h=>{c(h),l(h===orderlyTypes.OrderType.LIMIT?e.mark_price?.toString():"");},[e.mark_price]),$=Bt.useCallback(async()=>{if(Number(n)>f("base_max")){orderlyUi.toast.error(jsxRuntime.jsxs("div",{children:[r("positions.limitClose.errors.exceed.title"),jsxRuntime.jsx("br",{}),jsxRuntime.jsx("div",{className:"oui-break-normal",children:r("positions.limitClose.errors.exceed.description",{quantity:n,symbol:La(m,"base"),maxQuantity:f("base_max")})})]}));return}return S().then(h=>{if(h.success)return i?.(),h;throw h.message&&orderlyUi.toast.error(h.message),true}).catch(h=>(h.message&&orderlyUi.toast.error(h.message),false))},[S]),X=Bt.useMemo(()=>({quantity:n,price:a,type:u,side:v,position:e,updatePriceChange:_,updateQuantity:ut,updateOrderType:p,tpslOrder:e.full_tp_sl?.algo_order,partialTPSLOrder:e.partial_tp_sl?.algo_order,onSubmit:$,submitting:M,closeOrderData:D,quoteDp:y,baseDp:g,baseTick:b,errors:E}),[n,a,u,v,e,_,ut,p,$,M,D,y,g,b,E]);return jsxRuntime.jsx(Ue.Provider,{value:X,children:o})};function La(t,e="base"){let o=t.split("_"),i=o[0],r=o[1],n=o[2];return (e??"base-quote").replace("type",i).replace("base",r).replace("quote",n)}var Yi=t=>{let{pnlNotionalDecimalPrecision:e,sharePnLConfig:o,pagination:i,isLoading:r,dataSource:n,onSymbolChange:s,tableRef:a}=t,l=po({pnlNotionalDecimalPrecision:e,sharePnLConfig:o,onSymbolChange:s});return jsxRuntime.jsx(orderlyUi.Flex,{direction:"column",width:"100%",height:"100%",gap:3,children:jsxRuntime.jsx(orderlyUiConnector.AuthGuardDataTable,{loading:r,id:"oui-desktop-positions-content",columns:l,bordered:true,dataSource:n,generatedRowKey:u=>u.symbol,renderRowContainer:(u,c,m)=>jsxRuntime.jsx(Ft,{symbol:u.symbol,children:jsxRuntime.jsx(Le,{position:u,children:m})}),manualPagination:false,pagination:i,manualSorting:true,onSort:t.onSort,initialSort:t.initialSort?{sortKey:t.initialSort.sortKey,sort:t.initialSort.sortOrder}:void 0,features:[orderlyUi.TableFeatures.DownloadFeature],getTableInstance:u=>{a&&(a.current=u);},testIds:{body:"oui-testid-dataList-position-tab-body"}})})},Zi=t=>{let{pnlNotionalDecimalPrecision:e,sharePnLConfig:o,dataSource:i,onSymbolChange:r}=t;return jsxRuntime.jsx(orderlyUi.ListView,{className:"oui-hide-scrollbar oui-w-full oui-space-y-0 oui-overflow-y-hidden",contentClassName:"!oui-space-y-1",dataSource:i,renderItem:(n,s)=>jsxRuntime.jsx(Ft,{symbol:n.symbol,children:jsxRuntime.jsx(Le,{position:n,children:jsxRuntime.jsx(go,{item:n,index:s,pnlNotionalDecimalPrecision:e,sharePnLConfig:o,onSymbolChange:r})})})})},Ji=t=>{let{pnlNotionalDecimalPrecision:e,sharePnLConfig:o,pagination:i,isLoading:r,tableData:n,onSymbolChange:s,mutatePositions:a,tableRef:l}=t,u=po({pnlNotionalDecimalPrecision:e,sharePnLConfig:o,onSymbolChange:s}),{dataSource:c=[]}=n;return jsxRuntime.jsx(orderlyUi.Flex,{direction:"column",width:"100%",height:"100%",gap:3,children:jsxRuntime.jsx(orderlyUiConnector.AuthGuardDataTable,{bordered:true,loading:r,id:"oui-desktop-positions-content",columns:u,dataSource:c,expanded:true,getSubRows:m=>m.children,generatedRowKey:m=>m.id,onCell:(m,d)=>{if((d.children??[]).length>0)return {children:m.id==="symbol"?jsxRuntime.jsx(orderlyUi.Badge,{color:"neutral",size:"xs",children:d?.description||orderlyUi.formatAddress(d?.id)}):null}},renderRowContainer:(m,d,f)=>m.symbol?jsxRuntime.jsx(Ft,{symbol:m.symbol,children:jsxRuntime.jsx(Le,{position:m,mutatePositions:a,children:f})}):f,manualPagination:false,pagination:i,features:[orderlyUi.TableFeatures.DownloadFeature],getTableInstance:m=>{l&&(l.current=m);},testIds:{body:"oui-testid-dataList-position-tab-body"}})})};var tn=Bt.forwardRef((t,e)=>{let o=Ze(t),i=Bt__default.default.useRef(null);return Bt__default.default.useImperativeHandle(e,()=>({getRowCount:()=>i.current?.getRowCount?.()??0,getDataSource:()=>o.dataSource??null}),[o.dataSource]),jsxRuntime.jsx(Yi,{...o,tableRef:i})});tn.displayName="PositionsWidget";var en=Bt__default.default.forwardRef((t,e)=>{let o=Ze(t);return Bt__default.default.useImperativeHandle(e,()=>({getRowCount:()=>o.dataSource?.length??0,getDataSource:()=>o.dataSource??null}),[o.dataSource]),jsxRuntime.jsx(Zi,{...o})});en.displayName="MobilePositionsWidget";var on=Bt.forwardRef((t,e)=>{let o=Zo(t),i=Bt__default.default.useRef(null);return Bt__default.default.useImperativeHandle(e,()=>({getRowCount:()=>i.current?.getRowCount?.()??0,getDataSource:()=>null})),jsxRuntime.jsx(Ji,{...o,tableRef:i})});on.displayName="CombinePositionsWidget";var sn=t=>{let{onSymbolChange:e,pnlNotionalDecimalPrecision:o}=t,{t:i}=orderlyI18n.useTranslation();return Bt.useMemo(()=>[{title:i("common.symbol"),dataIndex:"symbol",fixed:"left",width:200,onSort:(n,s)=>n.symbol?.localeCompare(s.symbol||""),render:(n,s)=>jsxRuntime.jsx(Ba,{record:s,onSymbolChange:e})},{title:i("positions.history.column.closed&maxClosed"),dataIndex:"close_maxClose",width:200,render:(n,s)=>jsxRuntime.jsx(Wa,{record:s})},{title:i("positions.history.column.netPnl"),dataIndex:"netPnL",width:140,onSort:(n,s)=>n.netPnL==null||s.netPnL==null?-1:(n.netPnL??0)-(s.netPnL??0),render:(n,s)=>jsxRuntime.jsxs(orderlyUi.Flex,{gapX:1,children:[jsxRuntime.jsx(Qa,{record:s,pnlNotionalDecimalPrecision:o}),jsxRuntime.jsx(ft,{position:s,sharePnLConfig:t.sharePnLConfig,modalId:orderlyUiShare.SharePnLDialogId,isPositionHistory:true})]})},{title:i("common.avgPrice"),dataIndex:"avg_open",width:140,render:(n,s)=>{let a=s.avg_open_price!=null?Math.abs(s.avg_open_price):"--",{quote_dp:l}=K();return jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:l,padding:false,children:a})}},{title:i("common.avgClose"),dataIndex:"avg_close",width:175,render:(n,s)=>{let a=s.avg_close_price!=null?Math.abs(s.avg_close_price):"--",{quote_dp:l}=K();return jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:l,padding:false,children:a})}},{title:i("funding.fundingFee"),dataIndex:"accumulated_funding_fee",render:(n,s)=>jsxRuntime.jsx(mt,{fee:-n,symbol:s.symbol,start_t:s.open_timestamp.toString(),end_t:s.close_timestamp?.toString()})},{title:i("positions.history.column.timeOpened"),dataIndex:"open_timestamp",width:175,onSort:true,render:(n,s)=>jsxRuntime.jsx(orderlyUi.Text.formatted,{rule:"date",formatString:"yyyy-MM-dd HH:mm:ss",children:s.open_timestamp})},{title:i("positions.history.column.timeClosed"),dataIndex:"close_timestamp",width:175,onSort:true,render:(n,s)=>s.position_status=="closed"&&s.close_timestamp?jsxRuntime.jsx(orderlyUi.Text.formatted,{rule:"date",formatString:"yyyy-MM-dd HH:mm:ss",children:s.close_timestamp??"--"}):"--"},{title:i("positions.history.column.updatedTime"),dataIndex:"last_update_time",width:175,onSort:true,render:(n,s)=>jsxRuntime.jsx(orderlyUi.Text.formatted,{rule:"date",formatString:"yyyy-MM-dd HH:mm:ss",children:s.last_update_time})}],[o,i])},Ba=t=>{let{record:e,onSymbolChange:o}=t,{t:i}=orderlyI18n.useTranslation(),r=Bt.useMemo(()=>{let n=[],s=e.position_status,a=()=>s==="closed"?i("positions.history.status.closed"):s==="partial_closed"?i("positions.history.status.partialClosed"):orderlyUi.capitalizeFirstLetter(s.replace("_"," "));return n.push(jsxRuntime.jsx(orderlyUi.Badge,{color:s!=="closed"?"primaryLight":"neutral",size:"xs",className:"oui-whitespace-nowrap oui-break-normal",children:a()},`status-${s}`)),e.type==="adl"?n.push(jsxRuntime.jsx(orderlyUi.Badge,{color:"danger",size:"xs",children:i("positions.history.type.adl")},`type-${e.type}`)):e.type==="liquidated"&&n.push(jsxRuntime.jsx(orderlyUi.Tooltip,{className:"oui-min-w-[204px] oui-bg-base-5",arrow:{className:"oui-fill-base-5"},content:jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",itemAlign:"start",className:"oui-text-2xs",children:[e.liquidation_id!=null&&jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",width:"100%",gap:2,children:[jsxRuntime.jsx(orderlyUi.Text,{intensity:54,children:i("positions.history.liquidated.liquidationId")}),jsxRuntime.jsx(orderlyUi.Text,{intensity:98,children:e.liquidation_id})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",width:"100%",gap:2,children:[jsxRuntime.jsx(orderlyUi.Text,{intensity:54,children:i("positions.history.liquidated.liquidatorFee")}),jsxRuntime.jsxs(orderlyUi.Text,{color:"lose",children:[e.liquidator_fee>0&&"-",orderlyUtils.commifyOptional(e.liquidator_fee)]})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",width:"100%",gap:2,children:[jsxRuntime.jsx(orderlyUi.Text,{intensity:54,children:i("positions.history.liquidated.insFundFee")}),jsxRuntime.jsxs(orderlyUi.Text,{color:"lose",children:[e.insurance_fund_fee>0&&"-",orderlyUtils.commifyOptional(e.insurance_fund_fee)]})]})]}),children:jsxRuntime.jsx("div",{children:jsxRuntime.jsx(orderlyUi.Badge,{size:"xs",color:"danger",className:"oui-cursor-pointer",children:jsxRuntime.jsx("span",{className:"oui-underline oui-decoration-dashed oui-decoration-1",children:i("positions.history.type.liquidated")})})})},`type-${e.type}`)),n.push(jsxRuntime.jsx(Ua,{symbol:e.symbol,leverage:e.leverage},`leverage-${e.symbol}`)),n},[e,i]);return jsxRuntime.jsxs(orderlyUi.Flex,{gap:2,height:48,children:[jsxRuntime.jsx(orderlyUi.Box,{width:4,height:38,className:orderlyUi.cn("oui-shrink-0 oui-rounded-[1px]",e.side==="LONG"?"oui-bg-trade-profit":"oui-bg-trade-loss")}),jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",itemAlign:"start",children:[jsxRuntime.jsx(orderlyUi.Text.formatted,{formatString:"base-type",className:"oui-cursor-pointer",onClick:n=>{o?.({symbol:e.symbol}),n.stopPropagation(),n.preventDefault();},children:`${e.symbol.split("_")[1]}-PERP`}),jsxRuntime.jsx(orderlyUi.Flex,{gap:1,children:r})]})]})},Wa=t=>{let{record:e}=t,{base_dp:o}=K();return jsxRuntime.jsxs(orderlyUi.Flex,{gap:1,direction:"column",itemAlign:"start",className:"oui-truncate",children:[jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:o,padding:false,children:Math.abs(e.closed_position_qty)}),jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:o,padding:false,className:"oui-truncate",children:Math.abs(e.max_position_qty)})]})},Qa=t=>{let{record:e,pnlNotionalDecimalPrecision:o}=t,{t:i}=orderlyI18n.useTranslation(),r=e.netPnL!=null?e.netPnL:void 0,n=()=>jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:o,color:e.netPnL!=null?e.netPnL>0?"profit":"lose":void 0,className:r==null?"":"oui-cursor-pointer oui-border-b oui-border-dashed oui-border-line-12",children:r??"--"});return e.netPnL==null?n():jsxRuntime.jsx(orderlyUi.Tooltip,{delayDuration:200,content:jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",itemAlign:"start",className:"oui-text-2xs",children:[jsxRuntime.jsx(orderlyUi.Text,{intensity:80,children:i("positions.history.column.netPnl")}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",width:"100%",gap:2,children:[jsxRuntime.jsx(orderlyUi.Text,{intensity:54,children:i("common.realizedPnl")}),jsxRuntime.jsx(orderlyUi.Text,{color:e.realized_pnl>=0?"profit":"lose",className:"oui-cursor-pointer",children:orderlyUtils.commifyOptional(e.realized_pnl)})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",width:"100%",gap:2,children:[jsxRuntime.jsx(orderlyUi.Text,{intensity:54,children:i("funding.fundingFee")}),jsxRuntime.jsx(orderlyUi.Text,{color:e.accumulated_funding_fee>0?"lose":"profit",className:"oui-cursor-pointer",children:orderlyUtils.commifyOptional(-e.accumulated_funding_fee)})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",width:"100%",gap:2,children:[jsxRuntime.jsx(orderlyUi.Text,{intensity:54,children:i("positions.history.netPnl.tradingFee")}),jsxRuntime.jsx(orderlyUi.Text,{color:e.trading_fee>0?"lose":"profit",className:"oui-cursor-pointer",children:orderlyUtils.commifyOptional(-e.trading_fee)})]})]}),className:"oui-min-w-[204px] oui-bg-base-5",arrow:{className:"oui-fill-base-5"},children:jsxRuntime.jsx("div",{children:n()})})},Ua=t=>{let{symbol:e,leverage:o}=t;return jsxRuntime.jsx(orderlyUi.Badge,{color:"neutral",size:"xs",children:o?jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:0,size:"2xs",unit:"X",children:o}):jsxRuntime.jsx($a,{symbol:e})})},$a=({symbol:t})=>{let e=orderlyHooks.useMaxLeverage(t);return jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:0,size:"2xs",unit:"X",children:e})};function B(t){if(t==null)return t;let e=new Date(t);return e.setHours(0,0,0,0),e}function W(t){if(t==null)return t;let e=new Date(t);return e.setHours(23,59,59,999),e}var Wt=t=>({from:B(t.from),to:W(t.to??t.from)}),Qt=(t,e)=>t.getTime()===e.getTime();var Me=t=>{let{onSymbolChange:e,symbol:o,pnlNotionalDecimalPrecision:i,enableSortingStorage:r=true}=t,{state:n}=orderlyHooks.useAccount(),{tabSort:s,onTabSort:a}=Zt({storageKey:pe}),{onSort:l,getSortedList:u}=Yt(r?s?.positionHistory:void 0,r?a("positionHistory"):void 0),{data:c,isLoading:m}=orderlyHooks.usePrivateQuery(o?`/v1/position_history?symbol=${o}&limit=1000`:"/v1/position_history?limit=1000",{formatter(_){return (_.rows??null)?.map(p=>{if(p.realized_pnl!=null&&p.accumulated_funding_fee!=null&&p.trading_fee!=null){let $=p.realized_pnl-p.accumulated_funding_fee-p.trading_fee;return {...p,netPnL:$}}return p})},revalidateOnFocus:true}),{pagination:d,setPage:f}=orderlyUi.usePagination({pageSize:10}),{status:y,side:g,dateRange:b,filterDays:v,updateFilterDays:D,filterItems:S,onFilter:M}=tl();Bt.useEffect(()=>{f(1);},[y,g,b,v,o]);let E=Bt.useMemo(()=>c==null?c:c.filter(_=>{let p=g==="all"?true:_.side.toLowerCase()===g.toLowerCase(),$=y==="all"?true:_.position_status.toLowerCase()===y.toLowerCase(),X=_?.last_update_time??_.open_timestamp,h=b.from&&b.to?X>=b.from.getTime()&&X<=b.to.getTime():true,z=o?_.symbol==o:true;return p&&$&&h&&z}),[y,g,b,c,o]),Q=orderlyReactApp.useDataTap(E,{accountStatus:n.status===orderlyTypes.AccountStatusEnum.EnableTradingWithoutConnected?orderlyTypes.AccountStatusEnum.EnableTradingWithoutConnected:orderlyTypes.AccountStatusEnum.EnableTrading,fallbackData:[]});return {dataSource:u(Q||[]),isLoading:m,onSymbolChange:e,pagination:d,filterItems:S,onFilter:M,symbol:o,filterDays:v,updateFilterDays:D,pnlNotionalDecimalPrecision:i,onSort:l,initialSort:r?s?.positionHistory:void 0}},tl=()=>{let{t}=orderlyI18n.useTranslation(),[e,o]=Bt.useState("all"),[i,r]=Bt.useState("all"),n=Wt({to:W(new Date),from:B(dateFns.subDays(new Date,89))}),[s,a]=Bt.useState(90),[l,u]=Bt.useState(n),c=y=>{a(y),u({from:B(dateFns.subDays(new Date,y-1)),to:W(new Date)});},m=y=>{if(y.name==="side"&&r(y.value),y.name==="status"&&o(y.value),y.name==="dateRange"){let g=Wt(y.value);if(u(g),g.from&&g.to){let b=Math.abs(dateFns.differenceInDays(g.from,g.to))+1,D={1:{from:B(new Date),to:W(new Date)},7:{from:B(dateFns.subDays(new Date,6)),to:W(new Date)},30:{from:B(dateFns.subDays(new Date,29)),to:W(new Date)},90:{from:B(dateFns.subDays(new Date,89)),to:W(new Date)}}[b];D&&Qt(D.from,g.from)&&Qt(D.to,g.to)?a(b):a(null);}}},{isMobile:d}=orderlyUi.useScreen();return {filterItems:Bt.useMemo(()=>{let y={type:"select",name:"side",options:[{label:t("common.side.all"),value:"all"},{label:t("common.buy"),value:"LONG"},{label:t("common.sell"),value:"SHORT"}],value:i},g={type:"range",name:"dateRange",value:l,fromDate:B(dateFns.subDays(new Date,89)),toDate:W(new Date)},b={type:"select",name:"status",options:[{label:t("common.status.all"),value:"all"},{label:t("positions.history.status.closed"),value:"closed"},{label:t("positions.history.status.partialClosed"),value:"partial_closed"}],value:e};return d?[y,b]:[y,b,g]},[i,e,l]),onFilter:m,side:i,dateRange:l,status:e,filterDays:s,updateFilterDays:c}};var un=t=>{let{side:e,symbol:o}=t.item,{t:i}=orderlyI18n.useTranslation(),r=e==="LONG";return jsxRuntime.jsx(orderlyUi.Text.formatted,{intensity:80,rule:"symbol",formatString:"base-type",size:"sm",prefix:jsxRuntime.jsx(orderlyUi.Badge,{color:r?"success":"danger",size:"xs",children:i(r?"common.buy":"common.sell")}),onClick:()=>{t.onSymbolChange?.({symbol:o});},children:o})};var mn=t=>{let{item:e}=t,{t:o}=orderlyI18n.useTranslation(),i=()=>{orderlyUi.modal.alert({title:o("positions.liquidation"),message:jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",width:"100%",gap:2,className:"oui-text-2xs oui-text-base-contrast-54",children:[e.liquidation_id!=null&&jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",width:"100%",children:[jsxRuntime.jsx(orderlyUi.Text,{children:o("positions.history.liquidated.liquidationId")}),jsxRuntime.jsx(orderlyUi.Text,{intensity:98,children:e.liquidation_id})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",width:"100%",children:[jsxRuntime.jsx(orderlyUi.Text,{children:o("positions.history.liquidated.liquidatorFee")}),jsxRuntime.jsxs(orderlyUi.Text,{color:"lose",children:[e.liquidator_fee>0&&"-",orderlyUtils.commifyOptional(e.liquidator_fee)]})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",width:"100%",children:[jsxRuntime.jsx(orderlyUi.Text,{children:o("positions.history.liquidated.insFundFee")}),jsxRuntime.jsxs(orderlyUi.Text,{color:"lose",children:[e.insurance_fund_fee>0&&"-",orderlyUtils.commifyOptional(e.insurance_fund_fee)]})]})]})});},r=Bt.useMemo(()=>{let n=[],s=e.position_status,a=()=>s==="closed"?o("positions.history.status.closed"):s==="partial_closed"?o("positions.history.status.partialClosed"):orderlyUi.capitalizeFirstLetter(s.replace("_"," "));return n.push(jsxRuntime.jsx(orderlyUi.Badge,{color:s!=="closed"?"primaryLight":"neutral",size:"xs",children:a()},1)),e.type==="adl"?n.push(jsxRuntime.jsx(orderlyUi.Badge,{color:"danger",size:"xs",children:o("positions.history.type.adl")},2)):e.type==="liquidated"&&n.push(jsxRuntime.jsx(orderlyUi.Badge,{size:"xs",color:"danger",className:"oui-cursor-pointer",onClick:i,children:jsxRuntime.jsx("span",{className:"oui-underline oui-decoration-dashed oui-decoration-1",children:o("positions.history.type.liquidated")})},3)),n},[e]);return jsxRuntime.jsx(orderlyUi.Flex,{gap:1,children:r})},cn=t=>{let{item:e}=t,{t:o}=orderlyI18n.useTranslation(),i=e.closed_position_qty!=null?Math.abs(e.closed_position_qty):"--";return jsxRuntime.jsx(orderlyUi.Statistic,{label:jsxRuntime.jsx(orderlyUi.Text,{children:o("positions.history.column.closed")}),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:t.base_dp,padding:false,coloring:true,intensity:80,children:i})})},dn=t=>{let{item:e}=t,{t:o}=orderlyI18n.useTranslation(),i=e.max_position_qty!=null?Math.abs(e.max_position_qty):"--";return jsxRuntime.jsx(orderlyUi.Statistic,{label:jsxRuntime.jsx(orderlyUi.Text,{children:o("positions.history.column.maxClosed")}),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:t.base_dp,padding:false,coloring:true,intensity:80,children:i})})},pn=t=>{let{item:e}=t,o=e.avg_open_price!=null?Math.abs(e.avg_open_price):"--",{t:i}=orderlyI18n.useTranslation();return jsxRuntime.jsx(orderlyUi.Statistic,{label:jsxRuntime.jsxs(orderlyUi.Flex,{gap:1,children:[i("common.avgOpen"),jsxRuntime.jsx(orderlyUi.Text,{intensity:20,children:"(USDC)"})]}),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:t.quote_dp,padding:false,coloring:true,intensity:80,children:o})})},fn=t=>{let{item:e}=t,o=e.avg_close_price!=null?Math.abs(e.avg_close_price):"--",{t:i}=orderlyI18n.useTranslation();return jsxRuntime.jsx(orderlyUi.Statistic,{label:jsxRuntime.jsxs(orderlyUi.Flex,{gap:1,children:[i("common.avgClose"),jsxRuntime.jsx(orderlyUi.Text,{intensity:20,children:"(USDC)"})]}),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:t.quote_dp,padding:false,coloring:true,intensity:80,children:o})})},yn=t=>{let{item:e}=t,{t:o}=orderlyI18n.useTranslation();return jsxRuntime.jsx(orderlyUi.Statistic,{label:jsxRuntime.jsx(orderlyUi.Text,{children:o("positions.history.column.timeOpened")}),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},align:"end",children:jsxRuntime.jsx(orderlyUi.Text.formatted,{intensity:80,formatString:"yyyy-MM-dd HH:mm:ss",rule:"date",children:e.open_timestamp})})},gn=t=>{let{item:e}=t,{t:o}=orderlyI18n.useTranslation(),i=e.position_status=="closed"&&e.close_timestamp?jsxRuntime.jsx(orderlyUi.Text.formatted,{intensity:80,formatString:"yyyy-MM-dd HH:mm:ss",rule:"date",children:e.close_timestamp}):"--";return jsxRuntime.jsx(orderlyUi.Statistic,{label:jsxRuntime.jsx(orderlyUi.Text,{children:o("positions.history.column.timeClosed")}),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},align:"end",children:i})},xn=t=>{let{t:e}=orderlyI18n.useTranslation();return jsxRuntime.jsxs(orderlyUi.Flex,{justify:"end",className:"oui-text-2xs oui-w-full oui-py-2 oui-gap-1 oui-gap-1",children:[jsxRuntime.jsxs(orderlyUi.Text,{intensity:36,children:[e("funding.fundingFee"),": "]}),jsxRuntime.jsx(mt,{fee:-t.item.accumulated_funding_fee,symbol:t.item.symbol,start_t:t.item.open_timestamp.toString(),end_t:t.item.close_timestamp?.toString()})]})};var To=t=>jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",width:"100%",gap:2,itemAlign:"start",className:t.classNames?.root,children:[jsxRuntime.jsx(ul,{...t}),jsxRuntime.jsx(orderlyUi.Divider,{intensity:6,className:"oui-w-full"}),jsxRuntime.jsx(ml,{...t})]}),ul=t=>{let{t:e}=orderlyI18n.useTranslation(),o=()=>{let{item:i}=t;orderlyUi.modal.alert({title:e("positions.history.column.netPnl"),message:jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",width:"100%",gap:2,className:"oui-text-2xs oui-text-base-contrast-54",children:[jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",width:"100%",gap:2,children:[jsxRuntime.jsx(orderlyUi.Text,{intensity:54,children:e("common.realizedPnl")}),jsxRuntime.jsx(orderlyUi.Text,{color:i.realized_pnl>=0?"profit":"lose",children:orderlyUtils.commifyOptional(i.realized_pnl)})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",width:"100%",gap:2,children:[jsxRuntime.jsx(orderlyUi.Text,{intensity:54,children:e("funding.fundingFee")}),jsxRuntime.jsx(orderlyUi.Text,{color:i.accumulated_funding_fee>0?"lose":"profit",children:orderlyUtils.commifyOptional(-i.accumulated_funding_fee)})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",width:"100%",gap:2,children:[jsxRuntime.jsx(orderlyUi.Text,{intensity:54,children:e("positions.history.netPnl.tradingFee")}),jsxRuntime.jsx(orderlyUi.Text,{color:i.trading_fee>0?"lose":"profit",children:orderlyUtils.commifyOptional(-i.trading_fee)})]})]})});};return jsxRuntime.jsxs(orderlyUi.Flex,{gap:1,width:"100%",children:[jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",itemAlign:"start",className:"oui-flex-1",gap:1,children:[jsxRuntime.jsx(un,{...t}),jsxRuntime.jsx(mn,{...t})]}),jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",itemAlign:"end",className:"oui-flex-1",children:[jsxRuntime.jsx(orderlyUi.Text,{size:"2xs",intensity:36,children:e("positions.history.column.netPnl")}),jsxRuntime.jsxs(orderlyUi.Flex,{gapX:1,children:[jsxRuntime.jsx("button",{onClick:o,children:jsxRuntime.jsx(orderlyUi.Text.numeral,{size:"xs",coloring:true,children:t.item.netPnL??"--"})}),jsxRuntime.jsx(ft,{position:t.item,sharePnLConfig:t.sharePnLConfig,modalId:orderlyUiShare.SharePnLBottomSheetId,iconSize:12,isPositionHistory:true})]})]})]})},ml=t=>jsxRuntime.jsxs("div",{className:"oui-w-full",children:[jsxRuntime.jsxs(orderlyUi.Grid,{cols:3,rows:2,width:"100%",gap:0,className:"oui-grid-cols-[1fr,1fr,135px]",children:[jsxRuntime.jsx(cn,{...t}),jsxRuntime.jsx(dn,{...t}),jsxRuntime.jsx(yn,{...t}),jsxRuntime.jsx(pn,{...t}),jsxRuntime.jsx(fn,{...t}),jsxRuntime.jsx(gn,{...t})]}),jsxRuntime.jsx(xn,{...t})]});var wo=t=>{let e=K();return {...t,...e}};var vo=t=>{let e=wo(t);return jsxRuntime.jsx(To,{...e})};var Io=t=>{let{onSymbolChange:e,pagination:o,pnlNotionalDecimalPrecision:i,tableRef:r}=t,n=sn({onSymbolChange:e,pnlNotionalDecimalPrecision:i,sharePnLConfig:t.sharePnLConfig}),{t:s}=orderlyI18n.useTranslation(),a=Bt.useMemo(()=>({1:s("common.select.1d"),7:s("common.select.7d"),30:s("common.select.30d"),90:s("common.select.90d")}),[s]);return jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",width:"100%",height:"100%",itemAlign:"start",children:[jsxRuntime.jsxs(orderlyUi.Flex,{gap:3,children:[t.filterItems.length>0&&jsxRuntime.jsx(orderlyUi.DataFilter,{items:t.filterItems,onFilter:l=>{t.onFilter(l);}}),[1,7,30,90].map(l=>jsxRuntime.jsxs("button",{className:"oui-relative oui-px-2 oui-py-[2px] oui-text-sm",children:[jsxRuntime.jsx("div",{className:"oui-z-10",children:jsxRuntime.jsx(orderlyUi.Text.gradient,{color:t.filterDays===l?"brand":void 0,className:orderlyUi.cn("oui-whitespace-nowrap oui-break-normal",t.filterDays!==l?"oui-text-base-contrast-54":""),children:a[l]||`${l}D`})}),jsxRuntime.jsx("div",{className:"oui-absolute oui-inset-0 oui-rounded oui-opacity-[.12] oui-gradient-primary",onClick:()=>{t.updateFilterDays(l);}})]},`item-${l}`))]}),jsxRuntime.jsx(orderlyUiConnector.AuthGuardDataTable,{loading:t.isLoading,id:"oui-desktop-positions-content",columns:n,bordered:true,dataSource:t.dataSource,generatedRowKey:l=>`${l.symbol}_${l.position_id}`,renderRowContainer:(l,u,c)=>jsxRuntime.jsx(Ft,{symbol:l.symbol,children:c}),manualPagination:false,pagination:o,manualSorting:true,onSort:t.onSort,initialSort:t.initialSort?{sortKey:t.initialSort.sortKey,sort:t.initialSort.sortOrder}:void 0,features:[orderlyUi.TableFeatures.DownloadFeature],getTableInstance:l=>{r&&(r.current=l);},testIds:{body:"oui-testid-dataList-positionHistory-tab-body"},classNames:{root:"!oui-h-[calc(100%_-_49px)]"}})]})},Do=t=>{let{t:e}=orderlyI18n.useTranslation();return jsxRuntime.jsxs(orderlyUi.Grid,{cols:1,rows:2,className:"oui-w-full oui-grid-rows-[auto,1fr]",gap:1,children:[jsxRuntime.jsxs(orderlyUi.Flex,{gap:2,p:2,justify:"between",itemAlign:"center",className:"oui-rounded-b-xl oui-bg-base-9",children:[jsxRuntime.jsx(orderlyUi.DataFilter,{className:"oui-border-none oui-py-0",items:t.filterItems,onFilter:o=>{t.onFilter(o);}}),t.onExport&&jsxRuntime.jsx(orderlyUi.Button,{variant:"outlined",size:"xs",color:"secondary",onClick:t.onExport,children:e("common.export")||"Export CSV"})]}),jsxRuntime.jsx(orderlyUi.ListView,{className:orderlyUi.cn("oui-hide-scrollbar oui-w-full oui-space-y-0 oui-overflow-y-hidden",t.classNames?.root),contentClassName:orderlyUi.cn("!oui-space-y-1",t.classNames?.content),dataSource:t.dataSource,renderItem:(o,i)=>jsxRuntime.jsx(Ft,{symbol:o.symbol,children:jsxRuntime.jsx(vo,{item:o,index:i,onSymbolChange:t.onSymbolChange,classNames:{root:t.classNames?.cell},sharePnLConfig:t.sharePnLConfig})})})]})};var Sn=Bt.forwardRef((t,e)=>{let o=Me(t),i=Bt__default.default.useRef(null);return Bt__default.default.useImperativeHandle(e,()=>({getRowCount:()=>i.current?.getRowCount?.()??0,getDataSource:()=>o.dataSource??null}),[o.dataSource]),jsxRuntime.jsx(Io,{...o,sharePnLConfig:t.sharePnLConfig,tableRef:i})});Sn.displayName="PositionHistoryWidget";var Sl=Bt__default.default.forwardRef((t,e)=>{let{classNames:o,onExport:i,...r}=t,n=Me(r);return Bt__default.default.useImperativeHandle(e,()=>({getRowCount:()=>n.dataSource?.length??0,getDataSource:()=>n.dataSource??null}),[n.dataSource]),jsxRuntime.jsx(Do,{...n,classNames:o,sharePnLConfig:t.sharePnLConfig,onExport:i})});var _n=t=>jsxRuntime.jsx(orderlyUi.Tooltip,{className:"oui-w-[275px] oui-bg-base-6",content:t.tooltip,arrow:{className:"oui-fill-base-6"},children:jsxRuntime.jsx("button",{className:"oui-border-b oui-border-dashed oui-border-line-12",children:t.label})}),hn=t=>{let{t:e}=orderlyI18n.useTranslation();return Bt.useMemo(()=>[{title:e("common.time"),dataIndex:"timestamp",width:202,render:i=>jsxRuntime.jsx(orderlyUi.Text.formatted,{rule:"date",formatString:"yyyy-MM-dd HH:mm:ss",children:i})},{title:e("positions.Liquidation.column.liquidationId"),dataIndex:"liquidation_id",width:120,render:i=>jsxRuntime.jsx(orderlyUi.Text,{children:i})},{title:e("common.symbol"),dataIndex:"Symbol",render:(i,r)=>jsxRuntime.jsx(orderlyUi.Flex,{direction:"column",itemAlign:"start",children:r.positions_by_perp?.map(n=>jsxRuntime.jsx(orderlyUi.Text.formatted,{rule:"symbol",formatString:"base-quote",children:n.symbol},n.symbol))})},{title:e("positions.Liquidation.column.markPrice"),dataIndex:"Price_(USDC)",render:(i,r)=>jsxRuntime.jsx(orderlyUi.Flex,{direction:"column",itemAlign:"start",children:r.positions_by_perp?.map(n=>jsxRuntime.jsx(Lo,{value:n.mark_price,type:"quote"},n.symbol))})},{title:e("common.quantity"),dataIndex:"Quantity",render:(i,r)=>jsxRuntime.jsx(orderlyUi.Flex,{direction:"column",itemAlign:"start",children:r.positions_by_perp?.map(n=>jsxRuntime.jsx(Lo,{value:n.position_qty,type:"base"},n.symbol))})},{title:jsxRuntime.jsx(_n,{tooltip:e("positions.Liquidation.col.tooltip.feeRate"),label:e("positions.Liquidation.column.liquidationFeeRate")}),dataIndex:"liquidationFeeRate",render:i=>jsxRuntime.jsx(orderlyUi.Text.numeral,{rule:"percentages",children:i})},{title:jsxRuntime.jsx(_n,{tooltip:e("positions.Liquidation.col.tooltip.fee"),label:e("positions.Liquidation.column.liquidationFee")}),dataIndex:"abs_liquidation_fee",width:100,render:(i,r)=>jsxRuntime.jsx(orderlyUi.Flex,{direction:"column",itemAlign:"start",children:r.positions_by_perp?.map(n=>jsxRuntime.jsx(Lo,{value:n.abs_liquidation_fee,type:"quote"},n.symbol))})},{title:"",dataIndex:"actions",align:"right",width:40,render:(i,r,n,s)=>{let a=s.row.getIsExpanded();return jsxRuntime.jsx("button",{className:"oui-p-2",onClick:()=>{s.row.getToggleExpandedHandler()();},children:jsxRuntime.jsx(wl,{className:a?"oui-rotate-180":""})})}}],[e])},Lo=t=>jsxRuntime.jsx(orderlyUi.Text,{children:orderlyUtils.commifyOptional(t.value)}),wl=t=>jsxRuntime.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t.className,children:jsxRuntime.jsx("path",{d:"M3.884 6.02a.67.67 0 0 0-.436.27.68.68 0 0 0 .187.933L7.63 9.88a.68.68 0 0 0 .749 0l3.994-2.657a.68.68 0 0 0 .187-.934.68.68 0 0 0-.936-.186L8.003 8.51l-3.62-2.407a.65.65 0 0 0-.499-.084",fill:"#fff",fillOpacity:".54"})});var qo=t=>jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",width:"100%",gap:2,itemAlign:"start",className:orderlyUi.cn("oui-rounded-xl oui-bg-base-9 oui-p-2",t.classNames?.root),children:[jsxRuntime.jsx(Il,{...t}),jsxRuntime.jsx(orderlyUi.Divider,{}),jsxRuntime.jsx(Dl,{...t})]},t.item.timestamp),Il=t=>{let{t:e}=orderlyI18n.useTranslation();return jsxRuntime.jsxs(orderlyUi.Flex,{width:"100%",justify:"between",itemAlign:"start",children:[jsxRuntime.jsx(orderlyUi.Flex,{direction:"column",itemAlign:"start",gap:1,children:jsxRuntime.jsx(orderlyUi.Flex,{gap:2,itemAlign:"center",children:jsxRuntime.jsx(orderlyUi.Flex,{direction:"column",gap:1,itemAlign:"start",children:jsxRuntime.jsx(orderlyUi.Text.formatted,{rule:"symbol",formatString:"base-quote",size:"xs",intensity:80,children:t.item.positions_by_perp?.[0]?.symbol||""})})})}),jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",itemAlign:"end",children:[jsxRuntime.jsx(orderlyUi.Text,{size:"2xs",intensity:36,children:jsxRuntime.jsx(orderlyUi.Text.formatted,{rule:"date",formatString:"yyyy-MM-dd HH:mm:ss",children:t.item.timestamp})}),jsxRuntime.jsxs(orderlyUi.Text,{size:"2xs",intensity:36,children:[`${e("positions.Liquidation.column.liquidationId")}: `,jsxRuntime.jsx(orderlyUi.Text,{as:"span",intensity:80,children:t.item.liquidation_id})]})]})]})},Dl=t=>{let e=t.item.positions_by_perp?.[0],{t:o}=orderlyI18n.useTranslation(),i=Bt.useMemo(()=>isNaN(t.item?.margin_ratio)?"--":`${new orderlyUtils.Decimal(t.item.margin_ratio).mul(100).todp(2,orderlyUtils.Decimal.ROUND_DOWN).toNumber()}%`,[t.item?.margin_ratio]);return e?jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",width:"100%",gap:1,children:[jsxRuntime.jsxs(orderlyUi.Flex,{gap:2,width:"100%",children:[jsxRuntime.jsx(Tt,{label:o("positions.Liquidation.column.markPrice"),value:orderlyUtils.commifyOptional(e.transfer_price),className:"oui-flex-1"}),jsxRuntime.jsx(Tt,{label:o("common.quantity"),value:orderlyUtils.commifyOptional(e.position_qty),className:"oui-flex-1"}),jsxRuntime.jsx(Tt,{label:o("positions.Liquidation.column.liquidationFeeRate"),value:t.item.liquidationFeeRate,className:"oui-flex-1",align:"end"})]}),jsxRuntime.jsxs(orderlyUi.Flex,{gap:2,width:"100%",children:[jsxRuntime.jsx(Tt,{label:o("positions.Liquidation.column.liquidationFee"),value:orderlyUtils.commifyOptional(e.abs_liquidation_fee),className:"oui-flex-1"}),jsxRuntime.jsx(Tt,{label:o("positions.Liquidation.expand.label.mr"),value:i,className:"oui-flex-1"}),jsxRuntime.jsx(Tt,{label:o("positions.Liquidation.expand.label.mmr"),value:t.item.formatted_account_mmr?`${t.item.formatted_account_mmr}%`:"--",className:"oui-flex-1",align:"end"})]}),jsxRuntime.jsxs(orderlyUi.Flex,{gap:2,width:"100%",children:[jsxRuntime.jsx(Tt,{label:o("positions.Liquidation.expand.label.collateral"),value:orderlyUtils.commifyOptional(t.item.collateral_value),className:"oui-flex-1"}),jsxRuntime.jsx(Tt,{label:o("positions.Liquidation.expand.label.notional"),value:orderlyUtils.commifyOptional(t.item.position_notional),className:"oui-flex-1"}),jsxRuntime.jsx("div",{className:"oui-flex-1 oui-opacity-0"})," "]})]}):null},Tt=({label:t,value:e,className:o,align:i="start"})=>jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",itemAlign:i,className:o,children:[jsxRuntime.jsx(orderlyUi.Text,{size:"2xs",intensity:36,children:t}),jsxRuntime.jsx(orderlyUi.Text,{size:"xs",intensity:80,children:e})]});var Ro=t=>({...t});var Mo=t=>{let{classNames:e,...o}=t,i=Ro(o);return jsxRuntime.jsx(qo,{classNames:e,...i})};var ko=t=>{let[e,o]=Bt.useState({}),i=hn();return jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",width:"100%",height:"100%",itemAlign:"start",children:[jsxRuntime.jsxs(orderlyUi.Flex,{gap:3,children:[t.filterItems.length>0&&jsxRuntime.jsx(orderlyUi.DataFilter,{items:t.filterItems,onFilter:r=>{t.onFilter(r);}}),[1,7,30,90].map(r=>jsxRuntime.jsxs("button",{className:"oui-relative oui-px-2 oui-py-[2px] oui-text-sm",children:[jsxRuntime.jsx("div",{className:"oui-z-10",children:jsxRuntime.jsx(orderlyUi.Text.gradient,{color:t.filterDays===r?"brand":void 0,className:t.filterDays!==r?"oui-text-base-contrast-54":"",children:`${r}D`})}),jsxRuntime.jsx("div",{className:"oui-absolute oui-inset-0 oui-rounded oui-opacity-[.12] oui-gradient-primary",onClick:()=>{t.updateFilterDays(r);}})]},`item-${r}`))]}),jsxRuntime.jsx(orderlyUiConnector.AuthGuardDataTable,{loading:t.isLoading,id:"oui-desktop-liquidation-content",columns:i,bordered:true,dataSource:t.dataSource,generatedRowKey:r=>`${r.liquidation_id}`,pagination:t.pagination,testIds:{body:"oui-testid-dataList-liquidation-tab-body"},classNames:{root:"!oui-h-[calc(100%_-_49px)]"},expanded:e,onExpandedChange:o,getRowCanExpand:()=>true,expandRowRender:r=>jsxRuntime.jsx(El,{record:r.original})})]})},Ee=t=>jsxRuntime.jsx("th",{className:"oui-h-10 oui-border-b oui-border-line oui-text-left oui-text-base-contrast-36",children:jsxRuntime.jsx(orderlyUi.Tooltip,{content:t.tooltip,className:"oui-w-[275px] oui-bg-base-6",side:t.side,arrow:{className:"oui-fill-base-6"},children:jsxRuntime.jsx("button",{className:"oui-border-b oui-border-dashed oui-border-line-12",children:t.label})})}),El=t=>{let{margin_ratio:e,account_mmr:o,collateral_value:i,position_notional:r}=t.record,{t:n}=orderlyI18n.useTranslation();return jsxRuntime.jsx("div",{className:"oui-w-full oui-bg-base-8 oui-px-6",children:jsxRuntime.jsxs("table",{className:"oui-w-full",children:[jsxRuntime.jsx("thead",{children:jsxRuntime.jsxs("tr",{children:[jsxRuntime.jsx(Ee,{tooltip:n("positions.Liquidation.expand.tooltip.mr"),label:n("positions.Liquidation.expand.label.mr"),side:"left"}),jsxRuntime.jsx(Ee,{tooltip:n("positions.Liquidation.expand.tooltip.mmr"),label:n("positions.Liquidation.expand.label.mmr")}),jsxRuntime.jsx(Ee,{tooltip:n("positions.Liquidation.expand.tooltip.collateral"),label:n("positions.Liquidation.expand.label.collateral")}),jsxRuntime.jsx(Ee,{tooltip:n("positions.Liquidation.expand.tooltip.notional"),label:n("positions.Liquidation.expand.label.notional")})]})}),jsxRuntime.jsx("tbody",{children:jsxRuntime.jsxs("tr",{children:[jsxRuntime.jsx("td",{className:"oui-h-10",children:jsxRuntime.jsx(orderlyUi.Text.numeral,{rule:"percentages",children:e})}),jsxRuntime.jsx("td",{className:"oui-h-10",children:jsxRuntime.jsx(orderlyUi.Text.numeral,{rule:"percentages",children:o})}),jsxRuntime.jsx("td",{className:"oui-h-10",children:orderlyUtils.commifyOptional(i)}),jsxRuntime.jsx("td",{className:"oui-h-10",children:orderlyUtils.commifyOptional(r)})]})})]})})},Eo=t=>{let{t:e}=orderlyI18n.useTranslation();return jsxRuntime.jsxs(orderlyUi.Grid,{cols:1,rows:2,className:"oui-w-full oui-grid-rows-[auto,1fr]",gap:1,children:[jsxRuntime.jsxs(orderlyUi.Flex,{gap:2,p:2,justify:"between",itemAlign:"center",className:"oui-rounded-b-xl oui-bg-base-9",children:[jsxRuntime.jsx(orderlyUi.DataFilter,{className:"oui-border-none oui-py-0",items:t.filterItems,onFilter:o=>{t.onFilter(o);}}),t.onExport&&jsxRuntime.jsx(orderlyUi.Button,{variant:"outlined",size:"xs",color:"secondary",onClick:t.onExport,children:e("common.export")||"Export CSV"})]}),jsxRuntime.jsx(orderlyUi.ListView,{className:orderlyUi.cn("oui-hide-scrollbar oui-w-full oui-space-y-0 oui-overflow-y-hidden",t.classNames?.root),contentClassName:orderlyUi.cn("!oui-space-y-1",t.classNames?.content),dataSource:t.dataSource,loadMore:t.loadMore,renderItem:(o,i)=>jsxRuntime.jsx(Mo,{item:o,index:i,classNames:{root:t.classNames?.cell}})})]})};var He=t=>{let{symbol:e,enableLoadMore:o}=t,{page:i,pageSize:r,setPage:n,pagination:s,parsePagination:a}=orderlyUi.usePagination({pageSize:10}),{dateRange:l,filterDays:u,updateFilterDays:c,filterItems:m,onFilter:d}=Kl();Bt.useEffect(()=>{n(1);},[e,l,u]);let[f,{meta:y,isLoading:g,loadMore:b}]=$l({page:o?void 0:i,size:r,symbol:e,start_t:l.from!=null?l.from.getTime():void 0,end_t:l.to!=null?l.to.getTime():void 0});return {dataSource:orderlyReactApp.useDataTap(f,{fallbackData:[]}),isLoading:g,loadMore:b,pagination:a(y),dateRange:l,filterDays:u,updateFilterDays:c,filterItems:m,onFilter:d}},$l=t=>{let e=orderlyHooks.usePrivateInfiniteQuery(Vl(t),{initialSize:1,formatter:s=>s,revalidateOnFocus:true}),o=Bt.useMemo(()=>e.data?.[0]?.meta,[e.data?.[0]]),i=Bt.useMemo(()=>e.data?.map(s=>s.rows?.map(a=>{let l=null,u=a.positions_by_perp[0];return u&&(l=new orderlyUtils.Decimal(u.liquidator_fee).add(u.insurance_fund_fee).toNumber()),{...a,symbol:u?.symbol,transfer_price:u?.transfer_price,position_qty:u?.position_qty,abs_liquidation_fee:u?.abs_liquidation_fee,formatted_account_mmr:isNaN(a.account_mmr)?null:new orderlyUtils.Decimal(a.account_mmr).mul(100).toFixed(2).toString(),liquidationFeeRate:l}}))?.flat(),[e.data]),r=e.isLoading;return [i,{meta:o,isLoading:r,loadMore:()=>{e.setSize(e.size+1);}}]},Kl=()=>{let t=Wt({to:W(new Date),from:B(dateFns.subDays(new Date,89))}),[e,o]=Bt.useState(90),[i,r]=Bt.useState(t),n=u=>{o(u),r({from:B(dateFns.subDays(new Date,u-1)),to:W(new Date)});},s=u=>{if(u.name==="dateRange"){let c=Wt(u.value);if(r(c),c.from&&c.to){let m=Math.abs(dateFns.differenceInDays(c.from,c.to))+1,f={1:{from:B(new Date),to:W(new Date)},7:{from:B(dateFns.subDays(new Date,6)),to:W(new Date)},30:{from:B(dateFns.subDays(new Date,29)),to:W(new Date)},90:{from:B(dateFns.subDays(new Date,89)),to:W(new Date)}}[m];f&&Qt(f.from,c.from)&&Qt(f.to,c.to)?o(m):o(null);}}},{isMobile:a}=orderlyUi.useScreen();return {filterItems:Bt.useMemo(()=>{let u={type:"range",name:"dateRange",value:i,fromDate:B(dateFns.subDays(new Date,89)),toDate:W(new Date)};return a?[u]:[u]},[i]),onFilter:s,dateRange:i,filterDays:e,updateFilterDays:n}},Vl=t=>(e,o)=>{if(o&&!o.rows?.length)return null;let{symbol:i,size:r=10,page:n,end_t:s,start_t:a}=t,l=new URLSearchParams([["size",r.toString()],["page",`${e+1}`]]);return n&&l.set("page",`${n}`),i&&l.set("symbol",i),s&&l.set("end_t",`${s}`),a&&l.set("start_t",`${a}`),`/v1/liquidations?${l.toString()}`};var Gl=Bt.forwardRef((t,e)=>{let o=He(t);return Bt__default.default.useImperativeHandle(e,()=>({getRowCount:()=>o.dataSource?.length??0,getDataSource:()=>o.dataSource??null}),[o.dataSource]),jsxRuntime.jsx(ko,{...o})}),Xl=Bt.forwardRef((t,e)=>{let{classNames:o,onExport:i,...r}=t,n=He(r);return Bt__default.default.useImperativeHandle(e,()=>({getRowCount:()=>n.dataSource?.length??0,getDataSource:()=>n.dataSource??null}),[n.dataSource]),jsxRuntime.jsx(Eo,{classNames:o,...n,onExport:i})});var Zl="MarketCloseConfirmID";orderlyUi.registerSimpleDialog(Zl,Rt,{size:"md",closable:false});
|
|
23
|
+
var zo=t=>{let{hideCloseIcon:e=false}=t;return jsxRuntime.jsxs("div",{className:"oui-relative oui-w-full oui-border-b oui-border-line-4 oui-pb-3",children:[jsxRuntime.jsx(orderlyUi.Text,{size:"base",children:t.title}),!e&&jsxRuntime.jsx("button",{onClick:t.onClose,className:"oui-absolute oui-right-0 oui-top-0 oui-p-2 oui-text-base-contrast-54 hover:oui-text-base-contrast-80",children:jsxRuntime.jsx(orderlyUi.CloseIcon,{size:18,color:"white"})})]})},le=t=>{let{t:e}=orderlyI18n.useTranslation();return jsxRuntime.jsxs(orderlyUi.Flex,{id:"oui-positions-confirm-footer",gap:2,width:"100%",className:"oui-mt-3 oui-pb-1",children:[jsxRuntime.jsx(orderlyUi.Button,{id:"oui-positions-confirm-footer-cancel-button",color:"secondary",fullWidth:true,onClick:t.onCancel,size:"md",children:e("common.cancel")}),jsxRuntime.jsx(orderlyUi.ThrottledButton,{id:"oui-positions-confirm-footer-confirm-button",onClick:t.onConfirm,fullWidth:true,loading:t.submitting,disabled:t.disabled,size:"md",children:e("common.confirm")})]})},An=t=>{let{quantity:e,price:o,quoteDp:i,side:r}=t,{t:n}=orderlyI18n.useTranslation(),a=Dr.useMemo(()=>o&&e?new orderlyUtils.Decimal(o).mul(e).toFixed(i,orderlyUtils.Decimal.ROUND_DOWN):"--",[o,e]);return jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",gap:1,width:"100%",className:"oui-text-sm oui-text-base-contrast-54",py:5,children:[jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",width:"100%",gap:1,children:[jsxRuntime.jsx(orderlyUi.Text,{children:n("common.qty")}),jsxRuntime.jsx(orderlyUi.Text,{color:r===orderlyTypes.OrderSide.BUY?"success":"danger",children:e})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",width:"100%",gap:1,children:[jsxRuntime.jsx(orderlyUi.Text,{children:n("common.price")}),jsxRuntime.jsx(orderlyUi.Text.formatted,{intensity:98,suffix:jsxRuntime.jsx(orderlyUi.Text,{intensity:54,children:"USDC"}),children:o})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",width:"100%",gap:1,children:[jsxRuntime.jsx(orderlyUi.Text,{children:n("common.notional")}),jsxRuntime.jsx(orderlyUi.Text.formatted,{intensity:98,suffix:jsxRuntime.jsx(orderlyUi.Text,{intensity:54,children:"USDC"}),children:a})]})]})},Rt=t=>{let{t:e}=orderlyI18n.useTranslation(),o=()=>{(t?.onClose??t.close)?.();};return jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",className:t.classNames?.root,children:[jsxRuntime.jsx(zo,{onClose:o,title:e("positions.marketClose"),hideCloseIcon:t.hideCloseIcon}),jsxRuntime.jsx(orderlyUi.Text,{intensity:54,size:"sm",className:"oui-my-5",children:e("positions.marketClose.description",{quantity:orderlyUtils.commifyOptional(t.quantity),base:t.base})}),jsxRuntime.jsx(le,{onCancel:o,onConfirm:async()=>{await t.onConfirm?.(),o();},submitting:t.submitting})]})},ue=t=>{let{order:e,quoteDp:o,quantity:i,price:r}=t,{side:n}=e,{t:a}=orderlyI18n.useTranslation(),s=()=>{t.onClose?.();};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(zo,{onClose:s,title:a("positions.limitClose"),hideCloseIcon:t.hideCloseIcon}),jsxRuntime.jsx(orderlyUi.Box,{mt:5,children:jsxRuntime.jsx(orderlyUi.Text,{intensity:54,size:"sm",children:a("positions.limitClose.description",{quantity:orderlyUtils.commify(t.quantity),base:t.base})})}),jsxRuntime.jsxs(orderlyUi.Flex,{gap:2,mb:4,mt:5,justify:"between",children:[jsxRuntime.jsx(orderlyUi.Text.formatted,{rule:"symbol",formatString:"base-type",size:"base",showIcon:true,children:e.symbol}),jsxRuntime.jsxs(orderlyUi.Flex,{gap:1,children:[jsxRuntime.jsx(orderlyUi.Badge,{color:"neutral",size:"xs",children:a("orderEntry.orderType.limit")}),jsxRuntime.jsx(orderlyUi.Badge,{color:n===orderlyTypes.OrderSide.BUY?"success":"danger",size:"xs",children:n===orderlyTypes.OrderSide.BUY?a("common.buy"):a("common.sell")})]})]}),jsxRuntime.jsx(orderlyUi.Divider,{className:"oui-w-full"}),jsxRuntime.jsx(An,{className:"oui-text-sm",price:r,quantity:i,side:e.side,quoteDp:o??2}),jsxRuntime.jsx(le,{onCancel:s,onConfirm:t.onConfirm,submitting:t.submitting})]})};var We=Dr.createContext({}),tt=()=>Dr.useContext(We);function Qo(t,e){let o=Dr.useRef(),i=Dr.useRef(e);i.current=e,Dr.useEffect(()=>{let r={root:null,rootMargin:"0px",threshold:0},n=a=>{a.forEach(s=>{s.isIntersecting&&i.current?.();});};return o.current=new IntersectionObserver(n,r),()=>{o.current?.disconnect();}},[]),Dr.useEffect(()=>{o.current?.observe(t.current);},[]);}var Uo=t=>{let e=Dr.useRef(null),{onEndReached:o}=t;return Qo(e,()=>{o?.();}),jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[t.children,jsxRuntime.jsx("div",{ref:e,className:"oui-relative oui-invisible oui-h-[25px] oui-bg-red-400 oui-top-[-300px]"})]})};var $o=60,me=({total:t,symbol:e,start_t:o,end_t:i})=>{let{t:r}=orderlyI18n.useTranslation(),{isMobile:n}=orderlyUi.useScreen(),{isLoading:a,data:s,setSize:l}=orderlyHooks.usePrivateInfiniteQuery((d,x)=>(!x||(x.length??0)<$o)&&d>0?null:`/v1/funding_fee/history?page=${d+1}&size=${$o}&symbol=${e}&start_t=${o}&end_t=${i}`,{revalidateFirstPage:false}),m=Dr.useCallback(()=>{l(d=>d+1);},[l]),u=Dr.useMemo(()=>Array.isArray(s)?s.flat().map(d=>({...d,funding_fee:-d.funding_fee})):[],[s]),c=Dr.useMemo(()=>n?jsxRuntime.jsx(Jn,{data:u??orderlyTypes.EMPTY_LIST,isLoading:a,loadMore:m}):jsxRuntime.jsx(Zn,{data:u??orderlyTypes.EMPTY_LIST,isLoading:a,loadMore:m}),[n,u,a]);return jsxRuntime.jsxs("div",{children:[jsxRuntime.jsxs(orderlyUi.Grid,{cols:2,gapX:3,className:"oui-sticky oui-top-0 oui-z-10 oui-bg-base-8 oui-py-4",children:[jsxRuntime.jsx("div",{className:"oui-rounded-lg oui-border oui-border-line-6 oui-bg-base-9 oui-p-3",children:jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",gap:1,itemAlign:"start",children:[jsxRuntime.jsx("span",{className:"oui-text-2xs oui-text-base-contrast-36",children:r("common.symbol")}),jsxRuntime.jsx(orderlyUi.Text.formatted,{rule:"symbol",className:"oui-font-semibold",intensity:98,children:e})]})}),jsxRuntime.jsx("div",{className:"oui-rounded-lg oui-border oui-border-line-6 oui-bg-base-9 oui-p-3",children:jsxRuntime.jsx(orderlyUi.Statistic,{label:`${r("funding.fundingFee")} (USDC)`,valueProps:{ignoreDP:true,coloring:true,showIdentifier:true},children:t})})]}),c]})},Zn=({isLoading:t,data:e,loadMore:o})=>{let{t:i}=orderlyI18n.useTranslation(),r=Dr.useMemo(()=>[{title:i("common.time"),dataIndex:"created_time",width:120,render:n=>jsxRuntime.jsx(orderlyUi.Text.formatted,{rule:"date",children:n})},{title:i("funding.fundingRate"),dataIndex:"funding_rate",formatter:n=>new orderlyUtils.Decimal(n).mul(100).toString(),render:n=>jsxRuntime.jsx("span",{children:`${n}%`})},{title:i("funding.paymentType"),dataIndex:"payment_type",formatter:n=>i(n==="Pay"?"funding.paymentType.paid":"funding.paymentType.received"),render:n=>jsxRuntime.jsx("span",{children:n})},{title:`${i("funding.fundingFee")} (USDC)`,dataIndex:"funding_fee",render:n=>jsxRuntime.jsx(orderlyUi.Text.numeral,{rule:"price",coloring:true,showIdentifier:true,ignoreDP:true,children:n})}],[i]);return jsxRuntime.jsx("div",{className:"oui-h-[calc(80vh_-_132px_-_8px)] oui-overflow-y-auto",children:jsxRuntime.jsx(Uo,{onEndReached:o,children:jsxRuntime.jsx(orderlyUi.DataTable,{classNames:{root:orderlyUi.cn("oui-h-auto oui-bg-base-8 oui-text-sm")},columns:r,dataSource:e??orderlyTypes.EMPTY_LIST,loading:t})})})},Jn=({data:t,isLoading:e,loadMore:o})=>{let i=Dr.useCallback(r=>jsxRuntime.jsx(jn,{item:r}),[]);return jsxRuntime.jsx("div",{className:"oui-h-[calc(80vh_-_104px)] oui-overflow-y-auto",children:jsxRuntime.jsx(orderlyUi.ListView,{dataSource:t,renderItem:i,isLoading:e,contentClassName:"oui-space-y-0",loadMore:o})})},jn=({item:t})=>{let{t:e}=orderlyI18n.useTranslation();return jsxRuntime.jsxs("div",{className:"oui-flex oui-flex-col oui-space-y-2 oui-border-t oui-border-line-6 oui-py-2",children:[jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",children:[jsxRuntime.jsx(orderlyUi.Statistic,{label:e("funding.fundingRate"),classNames:{label:"oui-text-2xs"},valueProps:{ignoreDP:true,rule:"percentages",className:"oui-text-xs"},children:t.funding_rate}),jsxRuntime.jsx(orderlyUi.Statistic,{label:e("common.amount"),className:"oui-items-end",classNames:{label:"oui-text-2xs"},valueProps:{ignoreDP:true,coloring:true,as:"div",className:"oui-text-xs",showIdentifier:true},children:t.funding_fee})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",children:[jsxRuntime.jsx(orderlyUi.Text.formatted,{rule:"date",className:"oui-text-base-contrast-36",size:"2xs",children:t.created_time}),jsxRuntime.jsx(orderlyUi.Text,{size:"sm",intensity:80,children:t.payment_type==="Pay"?e("funding.paymentType.paid"):e("funding.paymentType.received")})]})]})};var mt=({fee:t,symbol:e,start_t:o,end_t:i})=>{let{t:r}=orderlyI18n.useTranslation(),[n,{setTrue:a,setFalse:s}]=orderlyHooks.useBoolean(false),{isMobile:l}=orderlyUi.useScreen();return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("button",{onClick:a,children:jsxRuntime.jsx(orderlyUi.Text.numeral,{rule:"price",coloring:true,showIdentifier:true,ignoreDP:true,className:"oui-border-b oui-border-line-16 oui-border-dashed oui-py-0.5",children:t})}),l?jsxRuntime.jsx(orderlyUi.SimpleSheet,{open:n,onOpenChange:s,title:r("funding.fundingFee"),classNames:{body:"oui-max-h-[80vh] oui-py-0"},children:jsxRuntime.jsx(me,{total:t,symbol:e,start_t:o,end_t:i})}):jsxRuntime.jsx(orderlyUi.SimpleDialog,{open:n,onOpenChange:s,title:r("funding.fundingFee"),classNames:{content:"lg:oui-max-w-[640px]",body:"oui-max-h-[80vh] oui-bg-base-8 lg:oui-py-0"},children:jsxRuntime.jsx(me,{total:t,symbol:e,start_t:o,end_t:i})})]})};var pr=(t,e)=>{let o=orderlyHooks.useConfig("apiBaseUrl");return i=>(r,n,a)=>{try{return i(r,async l=>{let m=Array.isArray(l)?l[0]:l,u=`${o}${m}`,c=t.signer,d={method:"GET",url:m},x=await c.sign(d,orderlyUtils.getTimestamp()),f=Array.isArray(e)?e:[e];return Promise.all(f.map(y=>n(u,{headers:{...x,"orderly-account-id":y}})))},a)}catch(s){throw s}}},Vo=(t,e)=>{let{formatter:o,accountId:i,...r}=e||{},{state:n,account:a}=orderlyHooks.useAccount(),s=Array.isArray(e?.use)?e?.use??[]:[],l=Array.isArray(i)?i:[i],m=l.filter(Boolean).length&&(n.status>=orderlyTypes.AccountStatusEnum.EnableTrading||n.status===orderlyTypes.AccountStatusEnum.EnableTradingWithoutConnected);return orderlyHooks.useSWR(()=>m?[t,l]:null,(u,c)=>orderlyHooks.fetcher(u,c,{formatter:o}),{...r,use:[...s,pr(a,l)],onError:()=>{}})};var Xo=t=>{let{symbol:e,calcMode:o,includedPendingOrder:i,pnlNotionalDecimalPrecision:r,sharePnLConfig:n,onSymbolChange:a,selectedAccount:s}=t,{pagination:l,setPage:m}=orderlyUi.usePagination({pageSize:50});Dr.useEffect(()=>{m(1);},[e]);let u=orderlyHooks.useSymbolsInfo(),{state:c}=orderlyHooks.useAccount(),[d,,{isLoading:x}]=orderlyHooks.usePositionStream(e,{calcMode:o,includedPendingOrder:i}),{data:f=[],isLoading:y,mutate:b}=orderlyHooks.usePrivateQuery("/v1/client/aggregate/positions",{errorRetryCount:3}),{data:N=[],isLoading:D}=Vo("/v1/client/info",{accountId:f.map(_=>_.account_id),revalidateOnFocus:false}),C=immer.produce(f.filter(_=>_.account_id!==c.mainAccountId),_=>{for(let p of _){let $=u[p.symbol],X=orderlyPerp.positions.notional(p.position_qty,p.mark_price),h=N.find(He=>He.account_id===p.account_id),z=orderlyPerp.positions.MMR({baseMMR:$?.("base_mmr"),baseIMR:$?.("base_imr"),IMRFactor:h?.imr_factor[p.symbol]??0,positionNotional:X,IMR_factor_power:4/5}),ie=orderlyPerp.positions.maintenanceMargin({positionQty:p.position_qty,markPrice:p.mark_price,MMR:z}),ne=orderlyPerp.positions.unrealizedPnL({qty:p.position_qty,openPrice:p?.average_open_price,markPrice:p.mark_price}),Ee=p.leverage||1,Kt=orderlyPerp.account.IMR({maxLeverage:Ee,baseIMR:$?.("base_imr"),IMR_Factor:h?.imr_factor[p.symbol]??0,positionNotional:X,ordersNotional:0,IMR_factor_power:4/5}),re=orderlyPerp.positions.unrealizedPnLROI({positionQty:p.position_qty,openPrice:p.average_open_price,IMR:Kt,unrealizedPnL:ne}),se=0,qt=0;p.index_price&&(se=orderlyPerp.positions.unrealizedPnL({qty:p.position_qty,openPrice:p?.average_open_price,markPrice:p.index_price}),qt=orderlyPerp.positions.unrealizedPnLROI({positionQty:p.position_qty,openPrice:p.average_open_price,IMR:Kt,unrealizedPnL:se})),p.mmr=z,p.mm=ie,p.notional=X,p.unrealized_pnl=ne,p.unrealized_pnl_ROI=re,p.unrealized_pnl_ROI_index=qt;}}),M=orderlyReactApp.useDataTap([...d?.rows,...C].filter(_=>_.position_qty!==0))??[],E=Dr.useMemo(()=>!s||s==="All accounts"?M:M.filter(_=>s==="Main accounts"?_.account_id===c.mainAccountId||!_.account_id:_.account_id===s),[M,s,c.mainAccountId]),Q=Dr.useMemo(()=>Fr(E,{mainAccountId:c.mainAccountId,subAccounts:c.subAccounts}),[E,c.mainAccountId,c.subAccounts]),ut=Dr.useMemo(()=>x||y||D,[x,y,D]);return {tableData:Q,isLoading:ut,pnlNotionalDecimalPrecision:r,sharePnLConfig:n,symbol:e,onSymbolChange:a,pagination:l,mutatePositions:b}},Fr=(t,e)=>{let{mainAccountId:o="",subAccounts:i=[]}=e,r=new Map;for(let n of t){let a=n.account_id||o,s=i.find(l=>l.id===a);r.has(a)?r.get(a)?.children?.push(n):r.set(a,{id:a,description:a===o?orderlyI18n.i18n.t("common.mainAccount"):s?.description||orderlyUi.formatAddress(s?.id||""),children:[n]});}return {expanded:Array.from(r.keys()),dataSource:Array.from(r.values())}};var ce="orderly_trading_positions_sort";var wr=(t,e)=>{if(t==null&&e==null)return 0;if(t==null)return 1;if(e==null)return -1;let o=String(t).trim(),i=String(e).trim(),r=Number(o),n=Number(i),a=!isNaN(r)&&isFinite(r)&&/^-?\d*\.?\d+([eE][+-]?\d+)?$/.test(o),s=!isNaN(n)&&isFinite(n)&&/^-?\d*\.?\d+([eE][+-]?\d+)?$/.test(i);if(a&&s)return r-n;let l=/^\d{4}-\d{2}-\d{2}/.test(o)||/^\d{13}$/.test(o),m=/^\d{4}-\d{2}-\d{2}/.test(i)||/^\d{13}$/.test(i);if(l&&m){let u=new Date(t),c=new Date(e);if(!isNaN(u.getTime())&&!isNaN(c.getTime()))return u.getTime()-c.getTime()}return o.localeCompare(i,void 0,{sensitivity:"base",numeric:false})};function Zo(t,e){let{sortKey:o,sortOrder:i}=e||{},r=[...t||[]];return o&&i&&r.sort((n,a)=>{let s=wr(n[o],a[o]);return i==="desc"?-s:s}),r}function Xt(t,e){let[o,i]=Dr.useState(t),r=Dr.useCallback(a=>{let s=a?{sortKey:a.sortKey,sortOrder:a.sort}:void 0;i(s),e?.(s);},[]),n=Dr.useCallback(a=>Zo(a,o),[o]);return {sort:o,onSort:r,getSortedList:n}}var de=(o=>(o.Positions="positions",o.PositionHistory="positionHistory",o))(de||{});function Yt(t){let[e,o]=orderlyHooks.useSessionStorage(t.storageKey,{positions:{sortKey:"unrealized_pnl",sortOrder:"desc"},positionHistory:{sortKey:"close_timestamp",sortOrder:"desc"}}),i=Dr.useCallback(r=>n=>{o({...e,[r]:n});},[e,o]);return {tabSort:e,onTabSort:i}}var Xe=t=>{let{symbol:e,calcMode:o,includedPendingOrder:i,pnlNotionalDecimalPrecision:r,sharePnLConfig:n,onSymbolChange:a,enableSortingStorage:s=true}=t,{pagination:l,setPage:m}=orderlyUi.usePagination({pageSize:50}),{tabSort:u,onTabSort:c}=Yt({storageKey:ce}),{onSort:d,getSortedList:x,sort:f}=Xt(s?u?.positions:void 0,s?c("positions"):void 0);Dr__default.default.useEffect(()=>{m(1);},[e]);let[y,,{isLoading:b}]=orderlyHooks.usePositionStream(e,{calcMode:o,includedPendingOrder:i}),N=orderlyReactApp.useDataTap(y?.rows,{fallbackData:[]})??void 0;return {dataSource:x(N||[]),isLoading:b,pnlNotionalDecimalPrecision:r,sharePnLConfig:n,symbol:e,onSymbolChange:a,pagination:l,onSort:d,initialSort:s?u?.positions:void 0}};var Ye=Dr.createContext({}),K=()=>Dr.useContext(Ye);var Nt=t=>{let{symbol:e,children:o}=t,i=orderlyHooks.useSymbolsInfo()[e],r=Dr.useMemo(()=>({symbol:e,base_dp:i("base_dp"),quote_dp:i("quote_dp"),base_tick:i("base_tick"),quote_tick:i("quote_tick"),base:i("base"),quote:i("quote"),origin:i(),quote_max:i("quote_max"),quote_min:i("quote_min")}),[e,i]);return jsxRuntime.jsx(Ye.Provider,{value:r,children:o})};var fe=t=>{let{t:e}=orderlyI18n.useTranslation();return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(orderlyUi.Slider,{showTip:true,markCount:4,value:[t.value],color:"primary",onValueChange:o=>{t.onValueChange(o[0]);}}),jsxRuntime.jsxs(orderlyUi.Flex,{width:"100%",justify:"between",children:[jsxRuntime.jsx(orderlyUi.Text,{color:"primary",size:"2xs",children:`${t.value}%`}),jsxRuntime.jsxs(orderlyUi.Flex,{gap:1,onClick:t.onMax,className:"oui-cursor-pointer",children:[jsxRuntime.jsx(orderlyUi.Text,{size:"2xs",color:"primary",children:e("common.max")}),jsxRuntime.jsx(orderlyUi.Text.numeral,{intensity:54,size:"2xs",dp:t.base_dp,padding:false,children:t.max})]})]})]})};var to=t=>{let{base:e,base_dp:o,quote:i,quote_dp:r,sheetOpen:n,setSheetOpen:a,dialogOpen:s,setDialogOpen:l,quantity:m,price:u,submitting:c,priceErrorMsg:d,quantityErrorMsg:x,disabled:f,isMarketClose:y,position:b,maxQty:N,isBuy:D}=t,{t:C}=orderlyI18n.useTranslation(),M=C(y?"positions.marketClose":"positions.limitClose"),E=C(y?"orderEntry.orderType.market":"orderEntry.orderType.limit"),Q=D?jsxRuntime.jsx(orderlyUi.Badge,{color:"success",size:"xs",children:C("common.buy")}):jsxRuntime.jsx(orderlyUi.Badge,{color:"danger",size:"xs",children:C("common.sell")}),ut=jsxRuntime.jsxs(orderlyUi.Flex,{width:"100%",justify:"between",children:[jsxRuntime.jsx(orderlyUi.Text.formatted,{rule:"symbol",showIcon:true,children:b.symbol}),jsxRuntime.jsxs(orderlyUi.Flex,{gap:1,children:[jsxRuntime.jsx(orderlyUi.Badge,{color:"neutral",size:"xs",children:E}),Q]})]}),_=jsxRuntime.jsxs(orderlyUi.Flex,{width:"100%",justify:"between",children:[jsxRuntime.jsx(orderlyUi.Text,{intensity:54,children:C("common.lastPrice")}),jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:r,suffix:jsxRuntime.jsxs(orderlyUi.Text,{intensity:36,children:[" ",i]}),children:b.mark_price})]}),p=!y&&jsxRuntime.jsx(jsxRuntime.Fragment,{children:jsxRuntime.jsxs(orderlyUi.Flex,{width:"100%",direction:"column",gap:2,children:[jsxRuntime.jsx(orderlyUi.Input.tooltip,{prefix:C("common.price"),suffix:i,align:"right",fullWidth:true,autoComplete:"off",inputMode:"decimal",formatters:[orderlyUi.inputFormatter.numberFormatter,orderlyUi.inputFormatter.dpFormatter(r)],triggerClassName:"oui-w-full",tooltip:d,color:d?"danger":void 0,value:u,onValueChange:t.updatePriceChange,classNames:{prefix:"oui-text-base-contrast-54",suffix:"oui-text-base-contrast-54",root:orderlyUi.cn("oui-w-full oui-outline-line-12",d?"oui-outline-danger":void 0)}}),jsxRuntime.jsx(orderlyUi.Input.tooltip,{prefix:C("common.quantity"),suffix:e,align:"right",fullWidth:true,autoComplete:"off",inputMode:"decimal",formatters:[orderlyUi.inputFormatter.numberFormatter,orderlyUi.inputFormatter.dpFormatter(o)],triggerClassName:"oui-w-full",tooltip:x,color:x?"danger":void 0,value:m,onBlur:()=>t.formatQuantityToBaseTick(m),onValueChange:t.updateQuantity,classNames:{prefix:"oui-text-base-contrast-54",suffix:"oui-text-base-contrast-54",root:orderlyUi.cn("oui-w-full oui-outline-line-12",x?"oui-outline-danger":void 0)}})]})}),$=jsxRuntime.jsx(fe,{value:t.sliderValue,onValueChange:t.onSliderValueChange,base_dp:o,max:N,onMax:t.onMax}),X=jsxRuntime.jsxs(orderlyUi.Flex,{width:"100%",gap:3,mt:2,children:[jsxRuntime.jsx(orderlyUi.Button,{fullWidth:true,color:"secondary",onClick:t.onCloseSheet,children:C("common.cancel")}),jsxRuntime.jsx(orderlyUi.ThrottledButton,{fullWidth:true,disabled:c||f,loading:c,onClick:h=>{h.stopPropagation(),h.preventDefault(),t.onDoubleConfirm();},children:C("common.confirm")})]});return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(orderlyUi.Button,{variant:"outlined",color:"secondary",size:"sm",className:"oui-border-base-contrast-36",onClick:h=>{h.stopPropagation(),h.preventDefault(),a(true);},children:M}),jsxRuntime.jsx(orderlyUi.SimpleSheet,{title:M,open:n,onOpenChange:a,children:jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",gap:3,width:"100%",itemAlign:"start",className:"oui-text-sm",children:[ut,jsxRuntime.jsx(orderlyUi.Divider,{className:"oui-w-full"}),_,p,$,X]})}),jsxRuntime.jsx(orderlyUi.SimpleDialog,{open:s,onOpenChange:l,size:"xs",children:y?jsxRuntime.jsx(Rt,{base:e,quantity:m,submitting:c,onClose:t.onCloseDialog,onConfirm:t.onConfirm,hideCloseIcon:true}):jsxRuntime.jsx(ue,{base:e,quoteDp:r,quantity:m,price:u,submitting:c,order:t.closeOrderData,onClose:t.onCloseDialog,onConfirm:t.onConfirm,hideCloseIcon:true})})]})};var eo=t=>{let{position:e,base:o,base_dp:i,quote_dp:r,price:n,quantity:a,submitting:s,dialogOpen:l,setDialogOpen:m,isMarketClose:u,popoverOpen:c,setPopoverOpen:d,maxQty:x,quantityErrorMsg:f,priceErrorMsg:y,isEntirePosition:b}=t,{t:N}=orderlyI18n.useTranslation(),D=jsxRuntime.jsxs(orderlyUi.Flex,{width:"100%",gap:2,mb:1,children:[jsxRuntime.jsx(orderlyUi.Input.tooltip,{ref:t.quantityInputRef,prefix:N("common.quantity"),suffix:b?jsxRuntime.jsx(orderlyUi.Text,{size:"2xs",intensity:54,className:"oui-cursor-pointer oui-px-3",onClick:t.onEntirePosition,children:N("tpsl.entirePosition")}):o,align:"right",size:"md",fullWidth:true,autoComplete:"off",inputMode:"decimal",formatters:[orderlyUi.inputFormatter.numberFormatter,orderlyUi.inputFormatter.dpFormatter(i)],triggerClassName:"oui-w-full",tooltip:f,color:f?"danger":void 0,value:b?"":a,onBlur:()=>t.formatQuantityToBaseTick(a),onValueChange:t.updateQuantity,classNames:{prefix:"oui-text-base-contrast-54",suffix:"oui-text-base-contrast-54",root:orderlyUi.cn("oui-w-full oui-outline-line-12",f?"oui-outline-danger":void 0)}}),jsxRuntime.jsx(orderlyUi.Button,{onClick:t.onMax,size:"md",variant:"outlined",className:orderlyUi.cn("oui-text-2xs",b?"oui-border-primary-light oui-text-primary-light hover:oui-bg-primary-light/20":"oui-border-line-12 oui-bg-base-6 oui-text-base-contrast-54 hover:oui-bg-base-5"),children:N("common.position")})]}),C=jsxRuntime.jsx(orderlyUi.Select.options,{variant:"text",size:"md",options:[{label:N("orderEntry.orderType.limit"),value:orderlyTypes.OrderType.LIMIT},{label:N("orderEntry.orderType.market"),value:orderlyTypes.OrderType.MARKET}],classNames:{trigger:"oui-w-[--radix-select-content-available-width]"},value:t.type,onValueChange:Q=>{t.updateOrderType(Q);},contentProps:{align:"end",className:"oui-border oui-border-line-6"}}),M=u,E=jsxRuntime.jsx(orderlyUi.Input.tooltip,{suffix:C,size:"md",fullWidth:true,autoComplete:"off",inputMode:"decimal",formatters:[orderlyUi.inputFormatter.numberFormatter,orderlyUi.inputFormatter.dpFormatter(r)],triggerClassName:"oui-w-full",tooltip:y,color:y?"danger":void 0,value:n,onValueChange:t.updatePriceChange,placeholder:M?"--":"",disabled:M,classNames:{prefix:"oui-text-base-contrast-54",suffix:"oui-text-base-contrast-54",root:orderlyUi.cn("oui-w-full oui-outline-line-12",y?"oui-outline-danger":void 0,M?"focus-within:oui-outline-line-12":void 0)}});return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs(orderlyUi.PopoverRoot,{open:c,onOpenChange:d,children:[jsxRuntime.jsx(orderlyUi.PopoverTrigger,{asChild:true,onClick:()=>{d(true);},children:jsxRuntime.jsx(orderlyUi.Button,{variant:"outlined",size:"sm",color:"secondary",children:N("positions.column.close")})}),jsxRuntime.jsx(orderlyUi.PopoverContent,{className:orderlyUi.cn("oui-w-[360px] oui-p-5",c?"oui-visible":"oui-invisible"),align:"end",side:"top",onOpenAutoFocus:Q=>Q.preventDefault(),children:jsxRuntime.jsxs(orderlyUi.Flex,{gapY:2,direction:"column",children:[D,jsxRuntime.jsx(fe,{value:t.sliderValue,onValueChange:t.onSliderValueChange,base_dp:i,max:x,onMax:t.onMax}),jsxRuntime.jsx(orderlyUi.Divider,{my:2,intensity:8,className:"oui-w-full"}),E,jsxRuntime.jsx(le,{onConfirm:t.onDoubleConfirm,onCancel:t.onClosePopover,submitting:s,disabled:t.disabled})]})})]}),jsxRuntime.jsx(orderlyUi.SimpleDialog,{open:l,onOpenChange:m,size:"sm",children:u?jsxRuntime.jsx(Rt,{base:o,quantity:a,submitting:s,onClose:t.onCloseDialog,onConfirm:t.onConfirm,classNames:{root:"oui-items-start"},hideCloseIcon:true}):jsxRuntime.jsx(ue,{base:o,quoteDp:r,quantity:a,price:n,submitting:s,order:t.closeOrderData,onClose:t.onCloseDialog,onConfirm:t.onConfirm,hideCloseIcon:true})})]})};var oo=t=>{let[e,o]=Dr.useState(false),[i,r]=Dr.useState(false),[n,a]=Dr.useState(false),[s,l]=Dr.useState(100),m=Dr.useRef(null),[u]=orderlyHooks.useLocalStorage("orderly_order_confirm",true),{position:c,onSubmit:d,price:x,quantity:f,closeOrderData:y,submitting:b,updatePriceChange:N,updateOrderType:D,updateQuantity:C,errors:M,baseTick:E,type:Q}=tt(),{quote_dp:ut,base_dp:_,base:p,quote:$}=K(),{getErrorMsg:X}=orderlyReactApp.useOrderEntryFormErrorMsg(M),h=c.position_qty>0,z=Math.abs(c.position_qty),ie=t.type||Q,ne=ie===orderlyTypes.OrderType.MARKET,Ee=z?.toString()===f.toString();Dr.useEffect(()=>{e&&D(t.type);},[t.type,e]);let{priceErrorMsg:Kt,quantityErrorMsg:re}=Dr.useMemo(()=>({priceErrorMsg:X("order_price"),quantityErrorMsg:X("order_quantity")}),[M]),se=!!(Kt||re),qt=Dr.useCallback(bt=>{if(E&&E>0){let Gt=orderlyHooks.utils.formatNumber(bt,E)??bt;C(Gt);}},[E,C]),He=Dr.useCallback(bt=>{l(bt);let Gt=new orderlyUtils.Decimal(bt).div(100).mul(z).toFixed(_,orderlyUtils.Decimal.ROUND_DOWN);qt(Gt);},[z,_,qt]);Dr.useEffect(()=>{let bt=Math.min(Number(f||0),z),Gt=new orderlyUtils.Decimal(bt).div(z).mul(100).toDecimalPlaces(2,orderlyUtils.Decimal.ROUND_DOWN).toNumber();l(Gt);},[f]);let _n=Dr.useCallback(()=>{C(z?.toString());},[z,C]),ze=Dr.useCallback(()=>d().then(bt=>{o(false),r(false),a(false);}),[d]),hn=Dr.useCallback(()=>u?(r(true),Promise.resolve()):ze(),[ze,u]),Tn=Dr.useCallback(()=>{o(false);},[]),Fn=Dr.useCallback(()=>{r(false);},[]),Nn=Dr.useCallback(()=>{a(false);},[]),wn=Dr.useCallback(()=>{C("0"),m.current?.focus(),setTimeout(()=>{m.current?.setSelectionRange(0,1);},0);},[C]);return {position:c,closeOrderData:y,quote_dp:ut,base_dp:_,base:p,quote:$,price:x,quantity:f,submitting:b,onConfirm:ze,onDoubleConfirm:hn,updatePriceChange:N,updateQuantity:C,formatQuantityToBaseTick:qt,updateOrderType:D,sliderValue:s,onSliderValueChange:He,priceErrorMsg:Kt,quantityErrorMsg:re,disabled:se,isMarketClose:ne,maxQty:z,onMax:_n,isBuy:h,isEntirePosition:Ee,type:ie,quantityInputRef:m,onEntirePosition:wn,sheetOpen:e,onCloseSheet:Tn,setSheetOpen:o,dialogOpen:i,setDialogOpen:r,onCloseDialog:Fn,popoverOpen:n,setPopoverOpen:a,onClosePopover:Nn}};var kt=t=>{let e=oo(t),{isMobile:o}=orderlyUi.useScreen();return o?jsxRuntime.jsx(to,{...e}):jsxRuntime.jsx(eo,{...e})};var vt=()=>{let{position:t,baseDp:e,quoteDp:o,tpslOrder:i}=tt(),{isMobile:r}=orderlyUi.useScreen();return jsxRuntime.jsx(orderlyUi.EditIcon,{onClick:()=>{let a=r?orderlyUiTpsl.TPSLDetailSheetId:orderlyUiTpsl.TPSLDetailDialogId;orderlyUi.modal.show(a,{order:i,position:t,baseDP:e,quoteDP:o});},opacity:1,className:"oui-cursor-pointer oui-text-base-contrast-54",size:16})},dt=t=>{let{position:e,baseDp:o,quoteDp:i,tpslOrder:r}=tt(),[n]=orderlyHooks.useLocalStorage("orderly_order_confirm",true),{t:a}=orderlyI18n.useTranslation(),{isMobile:s}=orderlyUi.useScreen(),l=()=>{let m=s?orderlyUiTpsl.TPSLSheetId:orderlyUiTpsl.TPSLDialogId,u={symbol:e.symbol,baseDP:o,quoteDP:i,isEditing:false,positionType:t.positionType};orderlyUi.modal.show(m,u);};return jsxRuntime.jsx(orderlyUi.Text,{className:orderlyUi.cn("oui-cursor-pointer oui-text-base-contrast",s&&"oui-text-base-contrast-80"),onClick:l,children:a("tpsl.add")})},he=t=>{let{symbol:e,leverage:o}=t,i=()=>{orderlyUi.modal.show(t.modalId,{symbol:e,curLeverage:o});};return jsxRuntime.jsxs("div",{className:orderlyUi.cn("oui-flex oui-h-[18px] oui-items-center oui-gap-1","oui-cursor-pointer oui-rounded oui-bg-line-6 oui-pl-2 oui-pr-1","oui-text-2xs oui-font-semibold oui-text-base-contrast-36"),onClick:i,children:[jsxRuntime.jsx(orderlyUi.Text,{children:"Cross"}),o?jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:0,rm:orderlyUtils.Decimal.ROUND_DOWN,size:"2xs",unit:"X",children:o}):jsxRuntime.jsx(bs,{symbol:e}),jsxRuntime.jsx(orderlyUi.ChevronRightIcon,{size:14,opacity:1,className:"oui-text-base-contrast-36"})]})},bs=({symbol:t})=>{let e=orderlyHooks.useLeverageBySymbol(t);return jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:0,rm:orderlyUtils.Decimal.ROUND_DOWN,size:"2xs",unit:"X",children:e||1})};var di=t=>{let e=K();return jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:e.base_dp,rm:orderlyUtils.Decimal.ROUND_DOWN,padding:false,coloring:true,children:t})};var Te=t=>{let{tick:e="quote_dp",children:o,...i}=t,r=K();if(!r)throw new Error("NumeralWithCtx must be used inside SymbolProvider");return jsxRuntime.jsx(orderlyUi.Text.numeral,{as:"span",dp:r[e],...i,children:o})};var fi=t=>{let{orderNum:e,tpTriggerPrice:o,slTriggerPrice:i,direction:r="column"}=t,{partialTPSLOrder:n,quoteDp:a,baseDp:s}=tt(),l=orderlyHooks.useSymbolsInfo(),{t:m}=orderlyI18n.useTranslation(),u=Dr.useMemo(()=>{let d=[];return n?.symbol?(o&&d.push(jsxRuntime.jsx(orderlyUi.Text.formatted,{className:orderlyUi.cn("oui-text-trade-profit oui-gap-0 oui-decoration-white/20"),rule:"price",dp:l[n.symbol]("quote_dp",2),children:o,prefix:!i||r==="column"?jsxRuntime.jsx(orderlyUi.Text,{intensity:54,children:`${m("tpsl.tp")} - `}):""},"tp")),i&&d.push(jsxRuntime.jsx(orderlyUi.Text.formatted,{className:orderlyUi.cn("oui-text-trade-loss oui-gap-0 oui-decoration-white/20 "),rule:"price",dp:l[n.symbol]("quote_dp",2),prefix:jsxRuntime.jsx(orderlyUi.Text,{intensity:54,children:`${m("tpsl.sl")} - `}),children:i},"sl")),d.length===0?jsxRuntime.jsx(dt,{positionType:orderlyTypes.PositionType.PARTIAL}):(d.length===2&&r==="row"&&d.splice(1,0,jsxRuntime.jsx(orderlyUi.Text,{children:"/"},"split")),d)):jsxRuntime.jsx(dt,{positionType:orderlyTypes.PositionType.PARTIAL})},[o,i,n?.symbol,m]),c=Array.isArray(u)?!!u.length:!u;return jsxRuntime.jsxs(orderlyUi.Flex,{className:"oui-gap-[6px]",children:[jsxRuntime.jsx("div",{className:orderlyUi.cn("oui-inline-flex oui-text-base-contrast-36",r==="column"?"oui-flex-col":"oui-flex-row oui-gap-1"),children:u}),c&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs(orderlyUi.Text,{className:"oui-text-base-contrast-54",children:["(",e,")"]}),jsxRuntime.jsx(vt,{})]})]})};var so=t=>t.sharePnLConfig?jsxRuntime.jsx("button",{type:"button",onClick:e=>{e.stopPropagation(),t.showModal();},children:jsxRuntime.jsx(orderlyUi.ShareIcon,{color:"white",opacity:.54,size:t.iconSize??16})}):null;var xi=t=>{let{position:e,sharePnLConfig:o,iconSize:i}=t,{getFirstRefCode:r}=orderlyHooks.useReferralInfo(),n=orderlyHooks.useSymbolsInfo(),{data:a}=orderlyHooks.useAccountInfo(),s=Dr.useMemo(()=>r()?.code,[r]),l=orderlyHooks.useLeverageBySymbol(e.symbol),m=()=>{let c=e.netPnL||0,d=Math.abs(e.avg_open_price),x=Math.abs(e.closed_position_qty),f,y=n[e.symbol],b=y("base_imr"),N=y("imr_factor");if(c!==0&&x!==0&&d!==0&&a?.max_leverage&&b&&N){let D=orderlyPerp.positions.notional(x,d),C=e.leverage?e.leverage:a.max_leverage,M=orderlyPerp.account.IMR({maxLeverage:C,baseIMR:b,IMR_Factor:N,positionNotional:D,ordersNotional:0,IMR_factor_power:4/5}),E=orderlyPerp.positions.unrealizedPnLROI({positionQty:x,openPrice:d,IMR:M,unrealizedPnL:c});f=new orderlyUtils.Decimal(E*100).toFixed(2,orderlyUtils.Decimal.ROUND_DOWN);}return {side:e.side,pnl:c,roi:f,openPrice:d,closePrice:Math.abs(e.avg_close_price),openTime:e.open_timestamp,closeTime:e.close_timestamp,quantity:e.closed_position_qty}};return {iconSize:i,sharePnLConfig:o,showModal:()=>{let c=t.isPositionHistory?m():{side:e.position_qty>0?"LONG":"SHORT",pnl:e.unrealized_pnl,roi:new orderlyUtils.Decimal(e.unrealized_pnl_ROI*100).toFixed(2,orderlyUtils.Decimal.ROUND_DOWN),openPrice:Math.abs(e.average_open_price),markPrice:e.mark_price,openTime:e.timestamp,quantity:e.position_qty};orderlyUi.modal.show(t.modalId,{pnl:{entity:{symbol:e.symbol,leverage:e.leverage||l,...c},refCode:s,...o}});}}};var ft=t=>{let e=xi(t);return jsxRuntime.jsx(so,{...e})};var _i=t=>{let{stopLossPrice:e,takeProfitPrice:o}=t,{tpslOrder:i,position:r}=tt();return jsxRuntime.jsx(Qs,{stopLossPrice:e,takeProfitPrice:o,direction:"column",order:i,position:r,tooltip:true})},Ci=t=>{let{qty:e,price:o,entryPrice:i,orderSide:r,orderType:n,symbolInfo:a}=t,s=orderlyHooks.utils.priceToPnl({qty:e,price:o,entryPrice:i,orderSide:r,orderType:n},{symbol:a}),l=n===orderlyTypes.AlgoOrderType.TAKE_PROFIT?"TP":"SL";return jsxRuntime.jsxs(orderlyUi.Flex,{children:[jsxRuntime.jsx(orderlyUi.Text,{intensity:54,className:"oui-mr-1",children:`${l} PnL:`}),jsxRuntime.jsx(orderlyUi.Text.formatted,{rule:"price",className:s===0?"oui-text-base-contrast-36":s>0?"oui-text-trade-profit oui-gap-0":"oui-text-trade-loss oui-gap-0",prefix:jsxRuntime.jsx(orderlyUi.Text,{children:s===0?"":s>0?"+":"-"}),suffix:jsxRuntime.jsx(orderlyUi.Text,{intensity:36,className:"oui-ml-1",children:"USDC"}),children:`${Math.abs(s)}`})]})},Qs=t=>{let{direction:e="row",order:o,position:i}=t,r=orderlyHooks.useSymbolsInfo(),{t:n}=orderlyI18n.useTranslation(),a=Dr.useMemo(()=>{let u=[];if(!t.tooltip||!o||!i)return;let c=o.quantity;return c===0&&o.child_orders[0].type==="CLOSE_POSITION"&&(c=i.position_qty),t.takeProfitPrice&&u.push(jsxRuntime.jsx(Ci,{qty:c,price:t.takeProfitPrice,entryPrice:i.average_open_price,orderSide:o.side,orderType:orderlyTypes.AlgoOrderType.TAKE_PROFIT,symbolInfo:r[o.symbol]()},"tp")),t.stopLossPrice&&u.push(jsxRuntime.jsx(Ci,{qty:c,price:t.stopLossPrice,entryPrice:i.average_open_price,orderSide:o.side,orderType:orderlyTypes.AlgoOrderType.STOP_LOSS,symbolInfo:r[o.symbol]()},"sl")),jsxRuntime.jsx("div",{children:u})},[t.takeProfitPrice,t.stopLossPrice,i?.average_open_price,o?.side,o?.quantity,o?.algo_type]),s=Dr.useMemo(()=>{let u=[];if(!o?.symbol)return jsxRuntime.jsx(dt,{positionType:orderlyTypes.PositionType.FULL});return t.takeProfitPrice&&u.push(jsxRuntime.jsx(orderlyUi.Text.formatted,{className:orderlyUi.cn("oui-text-trade-profit oui-gap-0 oui-decoration-white/20"),rule:"price",dp:r[o.symbol]("quote_dp",2),children:t.takeProfitPrice,prefix:!t.stopLossPrice||e==="column"?jsxRuntime.jsx(orderlyUi.Text,{intensity:54,children:`${n("tpsl.tp")} - `}):""},"tp")),t.stopLossPrice&&u.push(jsxRuntime.jsx(orderlyUi.Text.formatted,{className:orderlyUi.cn("oui-text-trade-loss oui-gap-0 oui-decoration-white/20 "),rule:"price",dp:r[o.symbol]("quote_dp",2),children:t.stopLossPrice,prefix:!t.takeProfitPrice||e==="column"?jsxRuntime.jsx(orderlyUi.Text,{intensity:54,children:`${n("tpsl.sl")} - `}):""},"sl")),u.length===0?jsxRuntime.jsx(dt,{positionType:orderlyTypes.PositionType.FULL}):(u.length===2&&e==="row"&&u.splice(1,0,jsxRuntime.jsx(orderlyUi.Text,{children:"/"},"split")),u)},[t.takeProfitPrice,t.stopLossPrice,o?.symbol,n]),l=jsxRuntime.jsx("div",{className:orderlyUi.cn("oui-inline-flex oui-text-base-contrast-36",t.direction==="column"?"oui-flex-col":"oui-flex-row oui-gap-1",t.className),children:s}),m=Array.isArray(s)?!!s.length:!s;return t.tooltip?jsxRuntime.jsxs(orderlyUi.Flex,{gapX:2,children:[jsxRuntime.jsx(orderlyUi.Tooltip,{content:a,children:l}),m&&jsxRuntime.jsx(vt,{})]}):l};var wi=t=>{let[e,o]=orderlyHooks.useLocalStorage("unPnlPriceBasis","markPrice"),{t:i}=orderlyI18n.useTranslation();return jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",gap:3,className:"oui-text-base-contrast-54 oui-items-start",children:[jsxRuntime.jsx(orderlyUi.Text,{children:i("positions.column.unrealPnl.tooltip")}),jsxRuntime.jsx(orderlyUi.Divider,{className:"oui-w-full"}),jsxRuntime.jsx("div",{className:"oui-mb-0",children:i("positions.column.unrealPnl.priceBasis")}),jsxRuntime.jsx(Ks,{value:e,onValueChange:o})]})},Ks=t=>{let{value:e,onValueChange:o}=t,{t:i}=orderlyI18n.useTranslation();return jsxRuntime.jsxs(orderlyUi.Flex,{gap:2,children:[jsxRuntime.jsx(Ti,{sel:e==="markPrice",label:i("common.markPrice"),value:"markPrice",onCheckChange:o}),jsxRuntime.jsx(Ti,{sel:e==="lastPrice",label:i("common.lastPrice"),value:"lastPrice",onCheckChange:o})]})},Ti=t=>{let{sel:e,label:o,value:i,onCheckChange:r}=t;return jsxRuntime.jsxs(orderlyUi.Flex,{onClick:n=>{r(i),n.stopPropagation();},gap:1,className:"oui-cursor-pointer",children:[e?jsxRuntime.jsx(Gs,{}):jsxRuntime.jsx(Vs,{}),jsxRuntime.jsx(orderlyUi.Text,{size:"xs",intensity:e?98:54,children:o})]})},Gs=()=>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"})]}),Vs=()=>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 mo=t=>{let{pnlNotionalDecimalPrecision:e,sharePnLConfig:o,onSymbolChange:i}=t,{t:r}=orderlyI18n.useTranslation(),n=Dr.useRef(Date.now().toString());return Dr.useMemo(()=>[{title:r("common.symbol"),dataIndex:"symbol",fixed:"left",width:140,onSort:(s,l)=>s.symbol?.localeCompare(l.symbol||""),render:(s,l)=>jsxRuntime.jsxs(orderlyUi.Flex,{gap:2,children:[jsxRuntime.jsx(orderlyUi.Box,{width:4,height:20,className:orderlyUi.cn("oui-h-[38px] oui-rounded-[1px]",l.position_qty>0?"oui-bg-trade-profit":"oui-bg-trade-loss")}),jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",itemAlign:"start",children:[jsxRuntime.jsx(orderlyUi.Text.formatted,{formatString:"base-type",className:"oui-cursor-pointer",onClick:m=>{i?.({symbol:s}),m.stopPropagation(),m.preventDefault();},children:`${s.split("_")[1]}-PERP`}),jsxRuntime.jsx(he,{symbol:s,leverage:l.leverage,modalId:orderlyUiLeverage.SymbolLeverageDialogId})]})]})},{title:r("common.quantity"),dataIndex:"position_qty",onSort:(s,l)=>s.position_qty-l.position_qty,width:120,className:"oui-pl-6",render:di},{title:r("common.avgOpen"),className:"oui-h-[48px]",width:120,onSort:true,dataIndex:"average_open_price",render:s=>jsxRuntime.jsx(Te,{rm:orderlyUtils.Decimal.ROUND_DOWN,children:s})},{title:r("common.markPrice"),dataIndex:"mark_price",width:120,onSort:true,className:"oui-h-[48px]",render:s=>jsxRuntime.jsx(Te,{rm:orderlyUtils.Decimal.ROUND_DOWN,children:s})},{title:jsxRuntime.jsx(orderlyUi.Tooltip,{className:"oui-max-w-[280px] oui-bg-base-8 oui-p-3 oui-text-2xs oui-text-base-contrast-54",content:r("positions.column.liqPrice.tooltip"),children:jsxRuntime.jsx(orderlyUi.Text,{children:r("positions.column.liqPrice")})}),width:100,onSort:true,dataIndex:"est_liq_price",render:s=>Number(s)===0?"--":jsxRuntime.jsx(Te,{rm:orderlyUtils.Decimal.ROUND_DOWN,className:Number(s)>0?"oui-text-warning-light":"",children:s??"--"})},{title:jsxRuntime.jsx(orderlyUi.HoverCard,{content:jsxRuntime.jsx(wi,{}),side:"top",align:"center",className:"oui-max-w-[280px] oui-text-2xs",children:jsxRuntime.jsx(orderlyUi.Text,{children:r("common.unrealizedPnl")})}),dataIndex:"unrealized_pnl",width:180,onSort:true,rule:"price",numeralProps:{coloring:true},render:(s,l)=>jsxRuntime.jsxs(orderlyUi.Flex,{gap:2,children:[jsxRuntime.jsxs(orderlyUi.Flex,{children:[jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:e,rm:orderlyUtils.Decimal.ROUND_DOWN,coloring:true,className:"oui-font-semibold",children:s}),jsxRuntime.jsx(orderlyUi.Text.numeral,{rule:"percentages",dp:e,rm:orderlyUtils.Decimal.ROUND_DOWN,coloring:true,className:"oui-font-semibold",prefix:"(",suffix:")",children:l.unrealized_pnl_ROI})]}),jsxRuntime.jsx(ft,{position:l,sharePnLConfig:o,modalId:orderlyUiShare.SharePnLDialogId})]})},{title:r("common.fullTPSL"),dataIndex:"full_tpsl",width:150,render:(s,l)=>jsxRuntime.jsx(_i,{stopLossPrice:l.full_tp_sl?.sl_trigger_price,takeProfitPrice:l.full_tp_sl?.tp_trigger_price})},{title:r("common.partialTPSL"),dataIndex:"partial_tpsl",width:150,render:(s,l)=>jsxRuntime.jsx(fi,{orderNum:l.partial_tp_sl?.order_num,tpTriggerPrice:l.partial_tp_sl?.tp_trigger_price,slTriggerPrice:l.partial_tp_sl?.sl_trigger_price})},{title:r("common.notional"),dataIndex:"notional",className:"oui-h-[48px]",width:100,onSort:true,render:s=>jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:e,children:s})},{title:jsxRuntime.jsx(orderlyUi.Tooltip,{className:"oui-max-w-[280px] oui-bg-base-8 oui-p-3 oui-text-2xs oui-text-base-contrast-54",content:jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",gap:3,className:"oui-rounded-sm oui-bg-base-8 oui-text-base-contrast-54",children:[jsxRuntime.jsx("span",{children:r("positions.column.margin.tooltip")}),jsxRuntime.jsx(orderlyUi.Divider,{className:"oui-w-full"}),jsxRuntime.jsx("span",{children:r("positions.column.margin.formula")})]}),children:jsxRuntime.jsx(orderlyUi.Text,{children:r("positions.column.margin")})}),dataIndex:"mm",onSort:true,width:100,rule:"price",render:s=>jsxRuntime.jsx(orderlyUi.Text.numeral,{children:s})},{title:r("funding.fundingFee"),dataIndex:"fundingFee",width:100,render:(s,l)=>jsxRuntime.jsx(mt,{fee:s,symbol:l.symbol,start_t:l.timestamp.toString(),end_t:n.current})},{title:null,dataIndex:"close_position",align:"right",width:70,fixed:"right",render(){return jsxRuntime.jsx(orderlyUi.Flex,{gapX:2,justify:"end",children:jsxRuntime.jsx(kt,{})})}}],[e,o,r])};var Li=t=>{let{item:e}=t,o=e.position_qty>0,{t:i}=orderlyI18n.useTranslation();return jsxRuntime.jsx(orderlyUi.Text.formatted,{rule:"symbol",formatString:"base-type",size:"2xs",suffix:jsxRuntime.jsxs("div",{className:"oui-flex oui-items-center oui-gap-1",children:[jsxRuntime.jsx(orderlyUi.Badge,{color:o?"success":"danger",size:"xs",children:i(o?"common.long":"common.short")}),jsxRuntime.jsx(he,{symbol:e.symbol,leverage:e.leverage,modalId:orderlyUiLeverage.SymbolLeverageSheetId})]}),showIcon:true,onClick:()=>{t.onSymbolChange?.({symbol:e.symbol});},children:e.symbol})},qi=t=>{let{item:e}=t,{t:o}=orderlyI18n.useTranslation();return jsxRuntime.jsxs(orderlyUi.Flex,{gap:3,children:[jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",className:"oui-text-2xs",itemAlign:"end",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(orderlyUi.Text,{intensity:36,children:o("common.unrealizedPnl")}),jsxRuntime.jsx(orderlyUi.Text,{intensity:20,children:"(USDC)"})]}),jsxRuntime.jsx(orderlyUi.Text.numeral,{size:"xs",dp:t.pnlNotionalDecimalPrecision,rm:orderlyUtils.Decimal.ROUND_DOWN,coloring:true,className:"orderly-font-semibold",suffix:jsxRuntime.jsx(orderlyUi.Text.numeral,{rule:"percentages",dp:t.pnlNotionalDecimalPrecision,rm:orderlyUtils.Decimal.ROUND_DOWN,prefix:"(",suffix:")",className:orderlyUi.cn("oui-ml-1",e.unrealized_pnl_ROI>0?"oui-text-success-darken":"oui-text-danger-darken"),children:e.unrealized_pnl_ROI}),children:e.unrealized_pnl})]}),jsxRuntime.jsx(ft,{position:e,sharePnLConfig:t.sharePnLConfig,modalId:orderlyUiShare.SharePnLBottomSheetId,iconSize:12})]})},Ri=t=>{let{item:e}=t,{t:o}=orderlyI18n.useTranslation();return jsxRuntime.jsx(orderlyUi.Statistic,{label:o("common.qty"),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:t.base_dp,padding:false,coloring:true,children:e.position_qty})})},Mi=t=>{let{item:e}=t,{t:o}=orderlyI18n.useTranslation();return jsxRuntime.jsx(orderlyUi.Statistic,{label:jsxRuntime.jsxs("span",{children:[o("positions.column.margin"),jsxRuntime.jsx(orderlyUi.Text,{intensity:20,children:"(USDC)"})]}),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:t.quote_dp,intensity:80,children:e.mm})})},Oi=t=>{let{item:e}=t,{t:o}=orderlyI18n.useTranslation();return jsxRuntime.jsx(orderlyUi.Statistic,{align:"end",label:jsxRuntime.jsxs("span",{children:[o("common.notional"),jsxRuntime.jsx(orderlyUi.Text,{intensity:20,children:"(USDC)"})]}),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:t.quote_dp,intensity:80,children:e.notional})})},Ai=t=>{let{item:e}=t,{t:o}=orderlyI18n.useTranslation();return jsxRuntime.jsx(orderlyUi.Statistic,{label:o("common.avgOpen"),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:t.quote_dp,rm:orderlyUtils.Decimal.ROUND_DOWN,intensity:80,children:e.average_open_price})})},ki=t=>{let{item:e}=t,{t:o}=orderlyI18n.useTranslation();return jsxRuntime.jsx(orderlyUi.Statistic,{label:o("common.markPrice"),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:t.quote_dp,rm:orderlyUtils.Decimal.ROUND_DOWN,intensity:80,children:e.mark_price})})},Ei=t=>{let{item:e}=t,{t:o}=orderlyI18n.useTranslation(),i=e.est_liq_price&&e.est_liq_price>0?e.est_liq_price:"-";return jsxRuntime.jsx(orderlyUi.Statistic,{label:o("positions.column.liqPrice"),align:"end",classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:t.quote_dp,rm:orderlyUtils.Decimal.ROUND_DOWN,color:"warning",children:i})})},Hi=t=>{let{item:e}=t,{t:o}=orderlyI18n.useTranslation(),i=Dr.useMemo(()=>e.full_tp_sl?.tp_trigger_price==null&&e.full_tp_sl?.sl_trigger_price==null?jsxRuntime.jsx(dt,{positionType:orderlyTypes.PositionType.FULL}):jsxRuntime.jsxs(orderlyUi.Flex,{className:"oui-gap-[2px]",children:[e.full_tp_sl?.tp_trigger_price&&jsxRuntime.jsx(orderlyUi.Text.numeral,{color:"buy",children:e.full_tp_sl.tp_trigger_price}),e.full_tp_sl?.sl_trigger_price&&"/",e.full_tp_sl?.sl_trigger_price&&jsxRuntime.jsx(orderlyUi.Text.numeral,{color:"sell",children:e.full_tp_sl.sl_trigger_price}),jsxRuntime.jsx(vt,{})]}),[e.full_tp_sl]),r=Dr.useMemo(()=>e.partial_tp_sl?.tp_trigger_price==null&&e.partial_tp_sl?.sl_trigger_price==null?jsxRuntime.jsx(dt,{positionType:orderlyTypes.PositionType.PARTIAL}):jsxRuntime.jsxs(orderlyUi.Flex,{className:"oui-gap-[2px]",itemAlign:"center",children:[e.partial_tp_sl?.tp_trigger_price&&jsxRuntime.jsx(orderlyUi.Text.numeral,{color:"buy",children:e.partial_tp_sl.tp_trigger_price}),e.partial_tp_sl?.sl_trigger_price&&"/",e.partial_tp_sl?.sl_trigger_price&&jsxRuntime.jsx(orderlyUi.Text.numeral,{color:"sell",children:e.partial_tp_sl.sl_trigger_price}),jsxRuntime.jsx(orderlyUi.Text,{children:`(${e.partial_tp_sl?.order_num})`}),jsxRuntime.jsx(vt,{})]}),[e.partial_tp_sl]);return jsxRuntime.jsxs(orderlyUi.Grid,{cols:2,rows:1,gap:2,width:"100%",children:[jsxRuntime.jsxs(orderlyUi.Flex,{className:"oui-text-2xs oui-text-base-contrast-36",direction:"column",itemAlign:"start",children:[jsxRuntime.jsxs(orderlyUi.Text,{children:[o("common.fullTPSL"),": "]}),i]}),jsxRuntime.jsxs(orderlyUi.Flex,{className:"oui-text-2xs oui-text-base-contrast-36 oui-grid-cols-end",direction:"column",itemAlign:"end",children:[jsxRuntime.jsxs(orderlyUi.Text,{children:[o("common.partialTPSL"),": "]}),r]})]})},zi=t=>{let{t:e}=orderlyI18n.useTranslation(),o=Dr.useRef(Date.now().toString());return jsxRuntime.jsxs(orderlyUi.Flex,{justify:"end",className:"oui-w-full oui-text-2xs",children:[jsxRuntime.jsxs(orderlyUi.Text,{intensity:36,children:[e("funding.fundingFee"),": "]}),jsxRuntime.jsx(mt,{fee:t.item.fundingFee,symbol:t.item.symbol,start_t:t.item.timestamp.toString(),end_t:o.current})]})};var co=t=>{let{className:e,...o}=t,i=jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",width:"100%",children:[jsxRuntime.jsx(Li,{...t}),jsxRuntime.jsx(qi,{...t})]}),r=jsxRuntime.jsxs(orderlyUi.Grid,{cols:3,rows:2,gap:2,width:"100%",children:[jsxRuntime.jsx(Ri,{...t}),jsxRuntime.jsx(Mi,{...t}),jsxRuntime.jsx(Oi,{...t}),jsxRuntime.jsx(Ai,{...t}),jsxRuntime.jsx(ki,{...t}),jsxRuntime.jsx(Ei,{...t})]}),n=jsxRuntime.jsxs(orderlyUi.Grid,{width:"100%",gap:2,cols:2,rows:1,children:[jsxRuntime.jsx(kt,{type:orderlyTypes.OrderType.LIMIT}),jsxRuntime.jsx(kt,{type:orderlyTypes.OrderType.MARKET})]});return jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",width:"100%",gap:2,p:2,r:"xl",itemAlign:"start",className:orderlyUi.cn(e,"oui-bg-base-9"),children:[i,jsxRuntime.jsx(orderlyUi.Divider,{intensity:6,className:"oui-w-full"}),r,jsxRuntime.jsx(Hi,{...o}),jsxRuntime.jsx(zi,{...o}),n]})};var po=t=>{let e=K();return {...t,...e}};var fo=t=>{let e=po(t);return jsxRuntime.jsx(co,{...e,className:t.className})};var Ie=t=>{let{position:e,children:o,mutatePositions:i}=t,{t:r}=orderlyI18n.useTranslation(),[n,a]=Dr.useState(Math.abs(e.position_qty).toString()),[s,l]=Dr.useState(""),[m,u]=Dr.useState(orderlyTypes.OrderType.MARKET);Dr.useEffect(()=>{a(Math.abs(e.position_qty).toString());},[e.position_qty]);let c=e.symbol,d=orderlyHooks.useSymbolsInfo(),x=d?.[c],f=x("quote_dp"),y=x("base_dp"),b=x("base_tick"),{side:N,closeOrderData:D,submit:C,isMutating:M,errors:E,calculate:Q}=orderlyHooks.usePositionClose({position:e,order:{type:m,quantity:n,price:s}}),ut=Dr.useCallback(h=>{let z=Q({},"order_quantity",h,e.mark_price,x());a(z.order_quantity);},[Q,d,e.mark_price]),_=Dr.useCallback(h=>{let z=Q({},"order_price",h,e.mark_price,x());l(z.order_price);},[Q,d,e.mark_price]),p=Dr.useCallback(h=>{u(h),l(h===orderlyTypes.OrderType.LIMIT?e.mark_price?.toString():"");},[e.mark_price]),$=Dr.useCallback(async()=>{if(Number(n)>x("base_max")){orderlyUi.toast.error(jsxRuntime.jsxs("div",{children:[r("positions.limitClose.errors.exceed.title"),jsxRuntime.jsx("br",{}),jsxRuntime.jsx("div",{className:"oui-break-normal",children:r("positions.limitClose.errors.exceed.description",{quantity:n,symbol:ba(c,"base"),maxQuantity:x("base_max")})})]}));return}return C().then(h=>{if(h.success)return i?.(),h;throw h.message&&orderlyUi.toast.error(h.message),true}).catch(h=>(h.message&&orderlyUi.toast.error(h.message),false))},[C]),X=Dr.useMemo(()=>({quantity:n,price:s,type:m,side:N,position:e,updatePriceChange:_,updateQuantity:ut,updateOrderType:p,tpslOrder:e.full_tp_sl?.algo_order,partialTPSLOrder:e.partial_tp_sl?.algo_order,onSubmit:$,submitting:M,closeOrderData:D,quoteDp:f,baseDp:y,baseTick:b,errors:E}),[n,s,m,N,e,_,ut,p,$,M,D,f,y,b,E]);return jsxRuntime.jsx(We.Provider,{value:X,children:o})};function ba(t,e="base"){let o=t.split("_"),i=o[0],r=o[1],n=o[2];return (e??"base-quote").replace("type",i).replace("base",r).replace("quote",n)}var Ki=t=>{let{pnlNotionalDecimalPrecision:e,sharePnLConfig:o,pagination:i,isLoading:r,dataSource:n,onSymbolChange:a}=t,s=mo({pnlNotionalDecimalPrecision:e,sharePnLConfig:o,onSymbolChange:a});return jsxRuntime.jsx(orderlyUiConnector.AuthGuardDataTable,{loading:r,id:"oui-desktop-positions-content",columns:s,bordered:true,dataSource:n,generatedRowKey:l=>l.symbol,renderRowContainer:(l,m,u)=>jsxRuntime.jsx(Nt,{symbol:l.symbol,children:jsxRuntime.jsx(Ie,{position:l,children:u})}),manualPagination:false,pagination:i,manualSorting:true,onSort:t.onSort,initialSort:t.initialSort?{sortKey:t.initialSort.sortKey,sort:t.initialSort.sortOrder}:void 0,testIds:{body:"oui-testid-dataList-position-tab-body"}})},Gi=t=>{let{pnlNotionalDecimalPrecision:e,sharePnLConfig:o,dataSource:i,onSymbolChange:r}=t;return jsxRuntime.jsx(orderlyUi.ListView,{className:"oui-hide-scrollbar oui-w-full oui-space-y-0 oui-overflow-y-hidden",contentClassName:"!oui-space-y-1",dataSource:i,renderItem:(n,a)=>jsxRuntime.jsx(Nt,{symbol:n.symbol,children:jsxRuntime.jsx(Ie,{position:n,children:jsxRuntime.jsx(fo,{item:n,index:a,pnlNotionalDecimalPrecision:e,sharePnLConfig:o,onSymbolChange:r})})})})},Vi=t=>{let{pnlNotionalDecimalPrecision:e,sharePnLConfig:o,pagination:i,isLoading:r,tableData:n,onSymbolChange:a,mutatePositions:s}=t,l=mo({pnlNotionalDecimalPrecision:e,sharePnLConfig:o,onSymbolChange:a}),{dataSource:m=[]}=n;return jsxRuntime.jsx(orderlyUiConnector.AuthGuardDataTable,{bordered:true,loading:r,id:"oui-desktop-positions-content",columns:l,dataSource:m,expanded:true,getSubRows:u=>u.children,generatedRowKey:u=>u.id,onCell:(u,c)=>{if((c.children??[]).length>0)return {children:u.id==="symbol"?jsxRuntime.jsx(orderlyUi.Badge,{color:"neutral",size:"xs",children:c?.description||orderlyUi.formatAddress(c?.id)}):null}},renderRowContainer:(u,c,d)=>u.symbol?jsxRuntime.jsx(Nt,{symbol:u.symbol,children:jsxRuntime.jsx(Ie,{position:u,mutatePositions:s,children:d})}):d,manualPagination:false,pagination:i,testIds:{body:"oui-testid-dataList-position-tab-body"}})};var ha=t=>{let e=Xe(t);return jsxRuntime.jsx(Ki,{...e})},Ta=t=>{let e=Xe(t);return jsxRuntime.jsx(Gi,{...e})},Fa=t=>{let e=Xo(t);return jsxRuntime.jsx(Vi,{...e})};var Zi=t=>{let{onSymbolChange:e,pnlNotionalDecimalPrecision:o}=t,{t:i}=orderlyI18n.useTranslation();return Dr.useMemo(()=>[{title:i("common.symbol"),dataIndex:"symbol",fixed:"left",width:200,onSort:(n,a)=>n.symbol?.localeCompare(a.symbol||""),render:(n,a)=>jsxRuntime.jsx(La,{record:a,onSymbolChange:e})},{title:i("positions.history.column.closed&maxClosed"),dataIndex:"close_maxClose",width:200,render:(n,a)=>jsxRuntime.jsx(qa,{record:a})},{title:i("positions.history.column.netPnl"),dataIndex:"netPnL",width:140,onSort:(n,a)=>n.netPnL==null||a.netPnL==null?-1:(n.netPnL??0)-(a.netPnL??0),render:(n,a)=>jsxRuntime.jsxs(orderlyUi.Flex,{gapX:1,children:[jsxRuntime.jsx(Ra,{record:a,pnlNotionalDecimalPrecision:o}),jsxRuntime.jsx(ft,{position:a,sharePnLConfig:t.sharePnLConfig,modalId:orderlyUiShare.SharePnLDialogId,isPositionHistory:true})]})},{title:i("common.avgPrice"),dataIndex:"avg_open",width:140,render:(n,a)=>{let s=a.avg_open_price!=null?Math.abs(a.avg_open_price):"--",{quote_dp:l}=K();return jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:l,padding:false,children:s})}},{title:i("common.avgClose"),dataIndex:"avg_close",width:175,render:(n,a)=>{let s=a.avg_close_price!=null?Math.abs(a.avg_close_price):"--",{quote_dp:l}=K();return jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:l,padding:false,children:s})}},{title:i("funding.fundingFee"),dataIndex:"accumulated_funding_fee",render:(n,a)=>jsxRuntime.jsx(mt,{fee:-n,symbol:a.symbol,start_t:a.open_timestamp.toString(),end_t:a.close_timestamp?.toString()})},{title:i("positions.history.column.timeOpened"),dataIndex:"open_timestamp",width:175,onSort:true,render:(n,a)=>jsxRuntime.jsx(orderlyUi.Text.formatted,{rule:"date",formatString:"yyyy-MM-dd HH:mm:ss",children:a.open_timestamp})},{title:i("positions.history.column.timeClosed"),dataIndex:"close_timestamp",width:175,onSort:true,render:(n,a)=>a.position_status=="closed"&&a.close_timestamp?jsxRuntime.jsx(orderlyUi.Text.formatted,{rule:"date",formatString:"yyyy-MM-dd HH:mm:ss",children:a.close_timestamp??"--"}):"--"},{title:i("positions.history.column.updatedTime"),dataIndex:"last_update_time",width:175,onSort:true,render:(n,a)=>jsxRuntime.jsx(orderlyUi.Text.formatted,{rule:"date",formatString:"yyyy-MM-dd HH:mm:ss",children:a.last_update_time})}],[o,i])},La=t=>{let{record:e,onSymbolChange:o}=t,{t:i}=orderlyI18n.useTranslation(),r=Dr.useMemo(()=>{let n=[],a=e.position_status,s=()=>a==="closed"?i("positions.history.status.closed"):a==="partial_closed"?i("positions.history.status.partialClosed"):orderlyUi.capitalizeFirstLetter(a.replace("_"," "));return n.push(jsxRuntime.jsx(orderlyUi.Badge,{color:a!=="closed"?"primaryLight":"neutral",size:"xs",className:"oui-whitespace-nowrap oui-break-normal",children:s()},`status-${a}`)),e.type==="adl"?n.push(jsxRuntime.jsx(orderlyUi.Badge,{color:"danger",size:"xs",children:i("positions.history.type.adl")},`type-${e.type}`)):e.type==="liquidated"&&n.push(jsxRuntime.jsx(orderlyUi.Tooltip,{className:"oui-min-w-[204px] oui-bg-base-5",arrow:{className:"oui-fill-base-5"},content:jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",itemAlign:"start",className:"oui-text-2xs",children:[e.liquidation_id!=null&&jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",width:"100%",gap:2,children:[jsxRuntime.jsx(orderlyUi.Text,{intensity:54,children:i("positions.history.liquidated.liquidationId")}),jsxRuntime.jsx(orderlyUi.Text,{intensity:98,children:e.liquidation_id})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",width:"100%",gap:2,children:[jsxRuntime.jsx(orderlyUi.Text,{intensity:54,children:i("positions.history.liquidated.liquidatorFee")}),jsxRuntime.jsxs(orderlyUi.Text,{color:"lose",children:[e.liquidator_fee>0&&"-",orderlyUtils.commifyOptional(e.liquidator_fee)]})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",width:"100%",gap:2,children:[jsxRuntime.jsx(orderlyUi.Text,{intensity:54,children:i("positions.history.liquidated.insFundFee")}),jsxRuntime.jsxs(orderlyUi.Text,{color:"lose",children:[e.insurance_fund_fee>0&&"-",orderlyUtils.commifyOptional(e.insurance_fund_fee)]})]})]}),children:jsxRuntime.jsx("div",{children:jsxRuntime.jsx(orderlyUi.Badge,{size:"xs",color:"danger",className:"oui-cursor-pointer",children:jsxRuntime.jsx("span",{className:"oui-underline oui-decoration-dashed oui-decoration-1",children:i("positions.history.type.liquidated")})})})},`type-${e.type}`)),n.push(jsxRuntime.jsx(Ma,{symbol:e.symbol,leverage:e.leverage},`leverage-${e.symbol}`)),n},[e,i]);return jsxRuntime.jsxs(orderlyUi.Flex,{gap:2,height:48,children:[jsxRuntime.jsx(orderlyUi.Box,{width:4,height:38,className:orderlyUi.cn("oui-shrink-0 oui-rounded-[1px]",e.side==="LONG"?"oui-bg-trade-profit":"oui-bg-trade-loss")}),jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",itemAlign:"start",children:[jsxRuntime.jsx(orderlyUi.Text.formatted,{formatString:"base-type",className:"oui-cursor-pointer",onClick:n=>{o?.({symbol:e.symbol}),n.stopPropagation(),n.preventDefault();},children:`${e.symbol.split("_")[1]}-PERP`}),jsxRuntime.jsx(orderlyUi.Flex,{gap:1,children:r})]})]})},qa=t=>{let{record:e}=t,{base_dp:o}=K();return jsxRuntime.jsxs(orderlyUi.Flex,{gap:1,direction:"column",itemAlign:"start",className:"oui-truncate",children:[jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:o,padding:false,children:Math.abs(e.closed_position_qty)}),jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:o,padding:false,className:"oui-truncate",children:Math.abs(e.max_position_qty)})]})},Ra=t=>{let{record:e,pnlNotionalDecimalPrecision:o}=t,{t:i}=orderlyI18n.useTranslation(),r=e.netPnL!=null?e.netPnL:void 0,n=()=>jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:o,color:e.netPnL!=null?e.netPnL>0?"profit":"lose":void 0,className:r==null?"":"oui-cursor-pointer oui-border-b oui-border-dashed oui-border-line-12",children:r??"--"});return e.netPnL==null?n():jsxRuntime.jsx(orderlyUi.Tooltip,{delayDuration:200,content:jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",itemAlign:"start",className:"oui-text-2xs",children:[jsxRuntime.jsx(orderlyUi.Text,{intensity:80,children:i("positions.history.column.netPnl")}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",width:"100%",gap:2,children:[jsxRuntime.jsx(orderlyUi.Text,{intensity:54,children:i("common.realizedPnl")}),jsxRuntime.jsx(orderlyUi.Text,{color:e.realized_pnl>=0?"profit":"lose",className:"oui-cursor-pointer",children:orderlyUtils.commifyOptional(e.realized_pnl)})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",width:"100%",gap:2,children:[jsxRuntime.jsx(orderlyUi.Text,{intensity:54,children:i("funding.fundingFee")}),jsxRuntime.jsx(orderlyUi.Text,{color:e.accumulated_funding_fee>0?"lose":"profit",className:"oui-cursor-pointer",children:orderlyUtils.commifyOptional(-e.accumulated_funding_fee)})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",width:"100%",gap:2,children:[jsxRuntime.jsx(orderlyUi.Text,{intensity:54,children:i("positions.history.netPnl.tradingFee")}),jsxRuntime.jsx(orderlyUi.Text,{color:e.trading_fee>0?"lose":"profit",className:"oui-cursor-pointer",children:orderlyUtils.commifyOptional(-e.trading_fee)})]})]}),className:"oui-min-w-[204px] oui-bg-base-5",arrow:{className:"oui-fill-base-5"},children:jsxRuntime.jsx("div",{children:n()})})},Ma=t=>{let{symbol:e,leverage:o}=t;return jsxRuntime.jsx(orderlyUi.Badge,{color:"neutral",size:"xs",children:o?jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:0,size:"2xs",unit:"X",children:o}):jsxRuntime.jsx(Oa,{symbol:e})})},Oa=({symbol:t})=>{let e=orderlyHooks.useMaxLeverage(t);return jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:0,size:"2xs",unit:"X",children:e})};function B(t){if(t==null)return t;let e=new Date(t);return e.setHours(0,0,0,0),e}function W(t){if(t==null)return t;let e=new Date(t);return e.setHours(23,59,59,999),e}var Bt=t=>({from:B(t.from),to:W(t.to??t.from)}),Wt=(t,e)=>t.getTime()===e.getTime();var qe=t=>{let{onSymbolChange:e,symbol:o,pnlNotionalDecimalPrecision:i,enableSortingStorage:r=true}=t,{state:n}=orderlyHooks.useAccount(),{tabSort:a,onTabSort:s}=Yt({storageKey:ce}),{onSort:l,getSortedList:m}=Xt(r?a?.positionHistory:void 0,r?s("positionHistory"):void 0),{data:u,isLoading:c}=orderlyHooks.usePrivateQuery(o?`/v1/position_history?symbol=${o}&limit=1000`:"/v1/position_history?limit=1000",{formatter(_){return (_.rows??null)?.map(p=>{if(p.realized_pnl!=null&&p.accumulated_funding_fee!=null&&p.trading_fee!=null){let $=p.realized_pnl-p.accumulated_funding_fee-p.trading_fee;return {...p,netPnL:$}}return p})},revalidateOnFocus:true}),{pagination:d,setPage:x}=orderlyUi.usePagination({pageSize:10}),{status:f,side:y,dateRange:b,filterDays:N,updateFilterDays:D,filterItems:C,onFilter:M}=Ua();Dr.useEffect(()=>{x(1);},[f,y,b,N,o]);let E=Dr.useMemo(()=>u==null?u:u.filter(_=>{let p=y==="all"?true:_.side.toLowerCase()===y.toLowerCase(),$=f==="all"?true:_.position_status.toLowerCase()===f.toLowerCase(),X=_?.last_update_time??_.open_timestamp,h=b.from&&b.to?X>=b.from.getTime()&&X<=b.to.getTime():true,z=o?_.symbol==o:true;return p&&$&&h&&z}),[f,y,b,u,o]),Q=orderlyReactApp.useDataTap(E,{accountStatus:n.status===orderlyTypes.AccountStatusEnum.EnableTradingWithoutConnected?orderlyTypes.AccountStatusEnum.EnableTradingWithoutConnected:orderlyTypes.AccountStatusEnum.EnableTrading,fallbackData:[]});return {dataSource:m(Q||[]),isLoading:c,onSymbolChange:e,pagination:d,filterItems:C,onFilter:M,symbol:o,filterDays:N,updateFilterDays:D,pnlNotionalDecimalPrecision:i,onSort:l,initialSort:r?a?.positionHistory:void 0}},Ua=()=>{let{t}=orderlyI18n.useTranslation(),[e,o]=Dr.useState("all"),[i,r]=Dr.useState("all"),n=Bt({to:W(new Date),from:B(dateFns.subDays(new Date,89))}),[a,s]=Dr.useState(90),[l,m]=Dr.useState(n),u=f=>{s(f),m({from:B(dateFns.subDays(new Date,f-1)),to:W(new Date)});},c=f=>{if(f.name==="side"&&r(f.value),f.name==="status"&&o(f.value),f.name==="dateRange"){let y=Bt(f.value);if(m(y),y.from&&y.to){let b=Math.abs(dateFns.differenceInDays(y.from,y.to))+1,D={1:{from:B(new Date),to:W(new Date)},7:{from:B(dateFns.subDays(new Date,6)),to:W(new Date)},30:{from:B(dateFns.subDays(new Date,29)),to:W(new Date)},90:{from:B(dateFns.subDays(new Date,89)),to:W(new Date)}}[b];D&&Wt(D.from,y.from)&&Wt(D.to,y.to)?s(b):s(null);}}},{isMobile:d}=orderlyUi.useScreen();return {filterItems:Dr.useMemo(()=>{let f={type:"select",name:"side",options:[{label:t("common.side.all"),value:"all"},{label:t("common.buy"),value:"LONG"},{label:t("common.sell"),value:"SHORT"}],value:i},y={type:"range",name:"dateRange",value:l,fromDate:B(dateFns.subDays(new Date,89)),toDate:W(new Date)},b={type:"select",name:"status",options:[{label:t("common.status.all"),value:"all"},{label:t("positions.history.status.closed"),value:"closed"},{label:t("positions.history.status.partialClosed"),value:"partial_closed"}],value:e};return d?[f,b]:[f,b,y]},[i,e,l]),onFilter:c,side:i,dateRange:l,status:e,filterDays:a,updateFilterDays:u}};var tn=t=>{let{side:e,symbol:o}=t.item,{t:i}=orderlyI18n.useTranslation(),r=e==="LONG";return jsxRuntime.jsx(orderlyUi.Text.formatted,{intensity:80,rule:"symbol",formatString:"base-type",size:"sm",prefix:jsxRuntime.jsx(orderlyUi.Badge,{color:r?"success":"danger",size:"xs",children:i(r?"common.buy":"common.sell")}),onClick:()=>{t.onSymbolChange?.({symbol:o});},children:o})};var en=t=>{let{item:e}=t,{t:o}=orderlyI18n.useTranslation(),i=()=>{orderlyUi.modal.alert({title:o("positions.liquidation"),message:jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",width:"100%",gap:2,className:"oui-text-2xs oui-text-base-contrast-54",children:[e.liquidation_id!=null&&jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",width:"100%",children:[jsxRuntime.jsx(orderlyUi.Text,{children:o("positions.history.liquidated.liquidationId")}),jsxRuntime.jsx(orderlyUi.Text,{intensity:98,children:e.liquidation_id})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",width:"100%",children:[jsxRuntime.jsx(orderlyUi.Text,{children:o("positions.history.liquidated.liquidatorFee")}),jsxRuntime.jsxs(orderlyUi.Text,{color:"lose",children:[e.liquidator_fee>0&&"-",orderlyUtils.commifyOptional(e.liquidator_fee)]})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",width:"100%",children:[jsxRuntime.jsx(orderlyUi.Text,{children:o("positions.history.liquidated.insFundFee")}),jsxRuntime.jsxs(orderlyUi.Text,{color:"lose",children:[e.insurance_fund_fee>0&&"-",orderlyUtils.commifyOptional(e.insurance_fund_fee)]})]})]})});},r=Dr.useMemo(()=>{let n=[],a=e.position_status,s=()=>a==="closed"?o("positions.history.status.closed"):a==="partial_closed"?o("positions.history.status.partialClosed"):orderlyUi.capitalizeFirstLetter(a.replace("_"," "));return n.push(jsxRuntime.jsx(orderlyUi.Badge,{color:a!=="closed"?"primaryLight":"neutral",size:"xs",children:s()},1)),e.type==="adl"?n.push(jsxRuntime.jsx(orderlyUi.Badge,{color:"danger",size:"xs",children:o("positions.history.type.adl")},2)):e.type==="liquidated"&&n.push(jsxRuntime.jsx(orderlyUi.Badge,{size:"xs",color:"danger",className:"oui-cursor-pointer",onClick:i,children:jsxRuntime.jsx("span",{className:"oui-underline oui-decoration-dashed oui-decoration-1",children:o("positions.history.type.liquidated")})},3)),n},[e]);return jsxRuntime.jsx(orderlyUi.Flex,{gap:1,children:r})},on=t=>{let{item:e}=t,{t:o}=orderlyI18n.useTranslation(),i=e.closed_position_qty!=null?Math.abs(e.closed_position_qty):"--";return jsxRuntime.jsx(orderlyUi.Statistic,{label:jsxRuntime.jsx(orderlyUi.Text,{children:o("positions.history.column.closed")}),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:t.base_dp,padding:false,coloring:true,intensity:80,children:i})})},nn=t=>{let{item:e}=t,{t:o}=orderlyI18n.useTranslation(),i=e.max_position_qty!=null?Math.abs(e.max_position_qty):"--";return jsxRuntime.jsx(orderlyUi.Statistic,{label:jsxRuntime.jsx(orderlyUi.Text,{children:o("positions.history.column.maxClosed")}),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:t.base_dp,padding:false,coloring:true,intensity:80,children:i})})},rn=t=>{let{item:e}=t,o=e.avg_open_price!=null?Math.abs(e.avg_open_price):"--",{t:i}=orderlyI18n.useTranslation();return jsxRuntime.jsx(orderlyUi.Statistic,{label:jsxRuntime.jsxs(orderlyUi.Flex,{gap:1,children:[i("common.avgOpen"),jsxRuntime.jsx(orderlyUi.Text,{intensity:20,children:"(USDC)"})]}),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:t.quote_dp,padding:false,coloring:true,intensity:80,children:o})})},sn=t=>{let{item:e}=t,o=e.avg_close_price!=null?Math.abs(e.avg_close_price):"--",{t:i}=orderlyI18n.useTranslation();return jsxRuntime.jsx(orderlyUi.Statistic,{label:jsxRuntime.jsxs(orderlyUi.Flex,{gap:1,children:[i("common.avgClose"),jsxRuntime.jsx(orderlyUi.Text,{intensity:20,children:"(USDC)"})]}),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:t.quote_dp,padding:false,coloring:true,intensity:80,children:o})})},an=t=>{let{item:e}=t,{t:o}=orderlyI18n.useTranslation();return jsxRuntime.jsx(orderlyUi.Statistic,{label:jsxRuntime.jsx(orderlyUi.Text,{children:o("positions.history.column.timeOpened")}),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},align:"end",children:jsxRuntime.jsx(orderlyUi.Text.formatted,{intensity:80,formatString:"yyyy-MM-dd HH:mm:ss",rule:"date",children:e.open_timestamp})})},ln=t=>{let{item:e}=t,{t:o}=orderlyI18n.useTranslation(),i=e.position_status=="closed"&&e.close_timestamp?jsxRuntime.jsx(orderlyUi.Text.formatted,{intensity:80,formatString:"yyyy-MM-dd HH:mm:ss",rule:"date",children:e.close_timestamp}):"--";return jsxRuntime.jsx(orderlyUi.Statistic,{label:jsxRuntime.jsx(orderlyUi.Text,{children:o("positions.history.column.timeClosed")}),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},align:"end",children:i})},un=t=>{let{t:e}=orderlyI18n.useTranslation();return jsxRuntime.jsxs(orderlyUi.Flex,{justify:"end",className:"oui-text-2xs oui-w-full oui-py-2 oui-gap-1 oui-gap-1",children:[jsxRuntime.jsxs(orderlyUi.Text,{intensity:36,children:[e("funding.fundingFee"),": "]}),jsxRuntime.jsx(mt,{fee:-t.item.accumulated_funding_fee,symbol:t.item.symbol,start_t:t.item.open_timestamp.toString(),end_t:t.item.close_timestamp?.toString()})]})};var _o=t=>jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",width:"100%",gap:2,itemAlign:"start",className:t.classNames?.root,children:[jsxRuntime.jsx(ja,{...t}),jsxRuntime.jsx(orderlyUi.Divider,{intensity:6,className:"oui-w-full"}),jsxRuntime.jsx(tl,{...t})]}),ja=t=>{let{t:e}=orderlyI18n.useTranslation(),o=()=>{let{item:i}=t;orderlyUi.modal.alert({title:e("positions.history.column.netPnl"),message:jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",width:"100%",gap:2,className:"oui-text-2xs oui-text-base-contrast-54",children:[jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",width:"100%",gap:2,children:[jsxRuntime.jsx(orderlyUi.Text,{intensity:54,children:e("common.realizedPnl")}),jsxRuntime.jsx(orderlyUi.Text,{color:i.realized_pnl>=0?"profit":"lose",children:orderlyUtils.commifyOptional(i.realized_pnl)})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",width:"100%",gap:2,children:[jsxRuntime.jsx(orderlyUi.Text,{intensity:54,children:e("funding.fundingFee")}),jsxRuntime.jsx(orderlyUi.Text,{color:i.accumulated_funding_fee>0?"lose":"profit",children:orderlyUtils.commifyOptional(-i.accumulated_funding_fee)})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",width:"100%",gap:2,children:[jsxRuntime.jsx(orderlyUi.Text,{intensity:54,children:e("positions.history.netPnl.tradingFee")}),jsxRuntime.jsx(orderlyUi.Text,{color:i.trading_fee>0?"lose":"profit",children:orderlyUtils.commifyOptional(-i.trading_fee)})]})]})});};return jsxRuntime.jsxs(orderlyUi.Flex,{gap:1,width:"100%",children:[jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",itemAlign:"start",className:"oui-flex-1",gap:1,children:[jsxRuntime.jsx(tn,{...t}),jsxRuntime.jsx(en,{...t})]}),jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",itemAlign:"end",className:"oui-flex-1",children:[jsxRuntime.jsx(orderlyUi.Text,{size:"2xs",intensity:36,children:e("positions.history.column.netPnl")}),jsxRuntime.jsxs(orderlyUi.Flex,{gapX:1,children:[jsxRuntime.jsx("button",{onClick:o,children:jsxRuntime.jsx(orderlyUi.Text.numeral,{size:"xs",coloring:true,children:t.item.netPnL??"--"})}),jsxRuntime.jsx(ft,{position:t.item,sharePnLConfig:t.sharePnLConfig,modalId:orderlyUiShare.SharePnLBottomSheetId,iconSize:12,isPositionHistory:true})]})]})]})},tl=t=>jsxRuntime.jsxs("div",{className:"oui-w-full",children:[jsxRuntime.jsxs(orderlyUi.Grid,{cols:3,rows:2,width:"100%",gap:0,className:"oui-grid-cols-[1fr,1fr,135px]",children:[jsxRuntime.jsx(on,{...t}),jsxRuntime.jsx(nn,{...t}),jsxRuntime.jsx(an,{...t}),jsxRuntime.jsx(rn,{...t}),jsxRuntime.jsx(sn,{...t}),jsxRuntime.jsx(ln,{...t})]}),jsxRuntime.jsx(un,{...t})]});var ho=t=>{let e=K();return {...t,...e}};var To=t=>{let e=ho(t);return jsxRuntime.jsx(_o,{...e})};var wo=t=>{let{onSymbolChange:e,pagination:o,pnlNotionalDecimalPrecision:i}=t,r=Zi({onSymbolChange:e,pnlNotionalDecimalPrecision:i,sharePnLConfig:t.sharePnLConfig}),{t:n}=orderlyI18n.useTranslation(),a=Dr.useMemo(()=>({1:n("common.select.1d"),7:n("common.select.7d"),30:n("common.select.30d"),90:n("common.select.90d")}),[n]);return jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",width:"100%",height:"100%",itemAlign:"start",children:[jsxRuntime.jsxs(orderlyUi.Flex,{gap:3,children:[t.filterItems.length>0&&jsxRuntime.jsx(orderlyUi.DataFilter,{items:t.filterItems,onFilter:s=>{t.onFilter(s);}}),[1,7,30,90].map(s=>jsxRuntime.jsxs("button",{className:"oui-relative oui-px-2 oui-py-[2px] oui-text-sm",children:[jsxRuntime.jsx("div",{className:"oui-z-10",children:jsxRuntime.jsx(orderlyUi.Text.gradient,{color:t.filterDays===s?"brand":void 0,className:orderlyUi.cn("oui-whitespace-nowrap oui-break-normal",t.filterDays!==s?"oui-text-base-contrast-54":""),children:a[s]||`${s}D`})}),jsxRuntime.jsx("div",{className:"oui-absolute oui-inset-0 oui-rounded oui-opacity-[.12] oui-gradient-primary",onClick:()=>{t.updateFilterDays(s);}})]},`item-${s}`))]}),jsxRuntime.jsx(orderlyUiConnector.AuthGuardDataTable,{loading:t.isLoading,id:"oui-desktop-positions-content",columns:r,bordered:true,dataSource:t.dataSource,generatedRowKey:s=>`${s.symbol}_${s.position_id}`,renderRowContainer:(s,l,m)=>jsxRuntime.jsx(Nt,{symbol:s.symbol,children:m}),manualPagination:false,pagination:o,manualSorting:true,onSort:t.onSort,initialSort:t.initialSort?{sortKey:t.initialSort.sortKey,sort:t.initialSort.sortOrder}:void 0,testIds:{body:"oui-testid-dataList-positionHistory-tab-body"},classNames:{root:"!oui-h-[calc(100%_-_49px)]"}})]})},vo=t=>jsxRuntime.jsxs(orderlyUi.Grid,{cols:1,rows:2,className:"oui-w-full oui-grid-rows-[auto,1fr]",gap:1,children:[jsxRuntime.jsx(orderlyUi.Flex,{gap:2,p:2,className:"oui-rounded-b-xl oui-bg-base-9",children:jsxRuntime.jsx(orderlyUi.DataFilter,{className:"oui-border-none oui-py-0",items:t.filterItems,onFilter:e=>{t.onFilter(e);}})}),jsxRuntime.jsx(orderlyUi.ListView,{className:orderlyUi.cn("oui-hide-scrollbar oui-w-full oui-space-y-0 oui-overflow-y-hidden",t.classNames?.root),contentClassName:orderlyUi.cn("!oui-space-y-1",t.classNames?.content),dataSource:t.dataSource,renderItem:(e,o)=>jsxRuntime.jsx(Nt,{symbol:e.symbol,children:jsxRuntime.jsx(To,{item:e,index:o,onSymbolChange:t.onSymbolChange,classNames:{root:t.classNames?.cell},sharePnLConfig:t.sharePnLConfig})})})]});var ll=t=>{let e=qe(t);return jsxRuntime.jsx(wo,{...e,sharePnLConfig:t.sharePnLConfig})},ul=t=>{let{classNames:e,...o}=t,i=qe(o);return jsxRuntime.jsx(vo,{...i,classNames:e,sharePnLConfig:t.sharePnLConfig})};var dn=t=>jsxRuntime.jsx(orderlyUi.Tooltip,{className:"oui-w-[275px] oui-bg-base-6",content:t.tooltip,arrow:{className:"oui-fill-base-6"},children:jsxRuntime.jsx("button",{className:"oui-border-b oui-border-dashed oui-border-line-12",children:t.label})}),pn=t=>{let{t:e}=orderlyI18n.useTranslation();return Dr.useMemo(()=>[{title:e("common.time"),dataIndex:"timestamp",width:202,render:i=>jsxRuntime.jsx(orderlyUi.Text.formatted,{rule:"date",formatString:"yyyy-MM-dd HH:mm:ss",children:i})},{title:e("positions.Liquidation.column.liquidationId"),dataIndex:"liquidation_id",width:120,render:i=>jsxRuntime.jsx(orderlyUi.Text,{children:i})},{title:e("common.symbol"),dataIndex:"Symbol",render:(i,r)=>jsxRuntime.jsx(orderlyUi.Flex,{direction:"column",itemAlign:"start",children:r.positions_by_perp?.map(n=>jsxRuntime.jsx(orderlyUi.Text.formatted,{rule:"symbol",formatString:"base-quote",children:n.symbol},n.symbol))})},{title:e("positions.Liquidation.column.markPrice"),dataIndex:"Price_(USDC)",render:(i,r)=>jsxRuntime.jsx(orderlyUi.Flex,{direction:"column",itemAlign:"start",children:r.positions_by_perp?.map(n=>jsxRuntime.jsx(Io,{value:n.mark_price,type:"quote"},n.symbol))})},{title:e("common.quantity"),dataIndex:"Quantity",render:(i,r)=>jsxRuntime.jsx(orderlyUi.Flex,{direction:"column",itemAlign:"start",children:r.positions_by_perp?.map(n=>jsxRuntime.jsx(Io,{value:n.position_qty,type:"base"},n.symbol))})},{title:jsxRuntime.jsx(dn,{tooltip:e("positions.Liquidation.col.tooltip.feeRate"),label:e("positions.Liquidation.column.liquidationFeeRate")}),dataIndex:"liquidationFeeRate",render:i=>jsxRuntime.jsx(orderlyUi.Text.numeral,{rule:"percentages",children:i})},{title:jsxRuntime.jsx(dn,{tooltip:e("positions.Liquidation.col.tooltip.fee"),label:e("positions.Liquidation.column.liquidationFee")}),dataIndex:"abs_liquidation_fee",width:100,render:(i,r)=>jsxRuntime.jsx(orderlyUi.Flex,{direction:"column",itemAlign:"start",children:r.positions_by_perp?.map(n=>jsxRuntime.jsx(Io,{value:n.abs_liquidation_fee,type:"quote"},n.symbol))})},{title:"",dataIndex:"actions",align:"right",width:40,render:(i,r,n,a)=>{let s=a.row.getIsExpanded();return jsxRuntime.jsx("button",{className:"oui-p-2",onClick:()=>{a.row.getToggleExpandedHandler()();},children:jsxRuntime.jsx(fl,{className:s?"oui-rotate-180":""})})}}],[e])},Io=t=>jsxRuntime.jsx(orderlyUi.Text,{children:orderlyUtils.commifyOptional(t.value)}),fl=t=>jsxRuntime.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t.className,children:jsxRuntime.jsx("path",{d:"M3.884 6.02a.67.67 0 0 0-.436.27.68.68 0 0 0 .187.933L7.63 9.88a.68.68 0 0 0 .749 0l3.994-2.657a.68.68 0 0 0 .187-.934.68.68 0 0 0-.936-.186L8.003 8.51l-3.62-2.407a.65.65 0 0 0-.499-.084",fill:"#fff",fillOpacity:".54"})});var Do=t=>jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",width:"100%",gap:2,itemAlign:"start",className:orderlyUi.cn("oui-rounded-xl oui-bg-base-9 oui-p-2",t.classNames?.root),children:[jsxRuntime.jsx(bl,{...t}),jsxRuntime.jsx(orderlyUi.Divider,{}),jsxRuntime.jsx(Pl,{...t})]},t.item.timestamp),bl=t=>{let{t:e}=orderlyI18n.useTranslation();return jsxRuntime.jsxs(orderlyUi.Flex,{width:"100%",justify:"between",itemAlign:"start",children:[jsxRuntime.jsx(orderlyUi.Flex,{direction:"column",itemAlign:"start",gap:1,children:jsxRuntime.jsx(orderlyUi.Flex,{gap:2,itemAlign:"center",children:jsxRuntime.jsx(orderlyUi.Flex,{direction:"column",gap:1,itemAlign:"start",children:jsxRuntime.jsx(orderlyUi.Text.formatted,{rule:"symbol",formatString:"base-quote",size:"xs",intensity:80,children:t.item.positions_by_perp?.[0]?.symbol||""})})})}),jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",itemAlign:"end",children:[jsxRuntime.jsx(orderlyUi.Text,{size:"2xs",intensity:36,children:jsxRuntime.jsx(orderlyUi.Text.formatted,{rule:"date",formatString:"yyyy-MM-dd HH:mm:ss",children:t.item.timestamp})}),jsxRuntime.jsxs(orderlyUi.Text,{size:"2xs",intensity:36,children:[`${e("positions.Liquidation.column.liquidationId")}: `,jsxRuntime.jsx(orderlyUi.Text,{as:"span",intensity:80,children:t.item.liquidation_id})]})]})]})},Pl=t=>{let e=t.item.positions_by_perp?.[0],{t:o}=orderlyI18n.useTranslation(),i=Dr.useMemo(()=>isNaN(t.item?.margin_ratio)?"--":`${new orderlyUtils.Decimal(t.item.margin_ratio).mul(100).todp(2,orderlyUtils.Decimal.ROUND_DOWN).toNumber()}%`,[t.item?.margin_ratio]);return e?jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",width:"100%",gap:1,children:[jsxRuntime.jsxs(orderlyUi.Flex,{gap:2,width:"100%",children:[jsxRuntime.jsx(Tt,{label:o("positions.Liquidation.column.markPrice"),value:orderlyUtils.commifyOptional(e.transfer_price),className:"oui-flex-1"}),jsxRuntime.jsx(Tt,{label:o("common.quantity"),value:orderlyUtils.commifyOptional(e.position_qty),className:"oui-flex-1"}),jsxRuntime.jsx(Tt,{label:o("positions.Liquidation.column.liquidationFeeRate"),value:t.item.liquidationFeeRate,className:"oui-flex-1",align:"end"})]}),jsxRuntime.jsxs(orderlyUi.Flex,{gap:2,width:"100%",children:[jsxRuntime.jsx(Tt,{label:o("positions.Liquidation.column.liquidationFee"),value:orderlyUtils.commifyOptional(e.abs_liquidation_fee),className:"oui-flex-1"}),jsxRuntime.jsx(Tt,{label:o("positions.Liquidation.expand.label.mr"),value:i,className:"oui-flex-1"}),jsxRuntime.jsx(Tt,{label:o("positions.Liquidation.expand.label.mmr"),value:t.item.formatted_account_mmr?`${t.item.formatted_account_mmr}%`:"--",className:"oui-flex-1",align:"end"})]}),jsxRuntime.jsxs(orderlyUi.Flex,{gap:2,width:"100%",children:[jsxRuntime.jsx(Tt,{label:o("positions.Liquidation.expand.label.collateral"),value:orderlyUtils.commifyOptional(t.item.collateral_value),className:"oui-flex-1"}),jsxRuntime.jsx(Tt,{label:o("positions.Liquidation.expand.label.notional"),value:orderlyUtils.commifyOptional(t.item.position_notional),className:"oui-flex-1"}),jsxRuntime.jsx("div",{className:"oui-flex-1 oui-opacity-0"})," "]})]}):null},Tt=({label:t,value:e,className:o,align:i="start"})=>jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",itemAlign:i,className:o,children:[jsxRuntime.jsx(orderlyUi.Text,{size:"2xs",intensity:36,children:t}),jsxRuntime.jsx(orderlyUi.Text,{size:"xs",intensity:80,children:e})]});var Lo=t=>({...t});var qo=t=>{let{classNames:e,...o}=t,i=Lo(o);return jsxRuntime.jsx(Do,{classNames:e,...i})};var Oo=t=>{let[e,o]=Dr.useState({}),i=pn();return jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",width:"100%",height:"100%",itemAlign:"start",children:[jsxRuntime.jsxs(orderlyUi.Flex,{gap:3,children:[t.filterItems.length>0&&jsxRuntime.jsx(orderlyUi.DataFilter,{items:t.filterItems,onFilter:r=>{t.onFilter(r);}}),[1,7,30,90].map(r=>jsxRuntime.jsxs("button",{className:"oui-relative oui-px-2 oui-py-[2px] oui-text-sm",children:[jsxRuntime.jsx("div",{className:"oui-z-10",children:jsxRuntime.jsx(orderlyUi.Text.gradient,{color:t.filterDays===r?"brand":void 0,className:t.filterDays!==r?"oui-text-base-contrast-54":"",children:`${r}D`})}),jsxRuntime.jsx("div",{className:"oui-absolute oui-inset-0 oui-rounded oui-opacity-[.12] oui-gradient-primary",onClick:()=>{t.updateFilterDays(r);}})]},`item-${r}`))]}),jsxRuntime.jsx(orderlyUiConnector.AuthGuardDataTable,{loading:t.isLoading,id:"oui-desktop-liquidation-content",columns:i,bordered:true,dataSource:t.dataSource,generatedRowKey:r=>`${r.liquidation_id}`,pagination:t.pagination,testIds:{body:"oui-testid-dataList-liquidation-tab-body"},classNames:{root:"!oui-h-[calc(100%_-_49px)]"},expanded:e,onExpandedChange:o,getRowCanExpand:()=>true,expandRowRender:r=>jsxRuntime.jsx(wl,{record:r.original})})]})},Ae=t=>jsxRuntime.jsx("th",{className:"oui-h-10 oui-border-b oui-border-line oui-text-left oui-text-base-contrast-36",children:jsxRuntime.jsx(orderlyUi.Tooltip,{content:t.tooltip,className:"oui-w-[275px] oui-bg-base-6",side:t.side,arrow:{className:"oui-fill-base-6"},children:jsxRuntime.jsx("button",{className:"oui-border-b oui-border-dashed oui-border-line-12",children:t.label})})}),wl=t=>{let{margin_ratio:e,account_mmr:o,collateral_value:i,position_notional:r}=t.record,{t:n}=orderlyI18n.useTranslation();return jsxRuntime.jsx("div",{className:"oui-w-full oui-bg-base-8 oui-px-6",children:jsxRuntime.jsxs("table",{className:"oui-w-full",children:[jsxRuntime.jsx("thead",{children:jsxRuntime.jsxs("tr",{children:[jsxRuntime.jsx(Ae,{tooltip:n("positions.Liquidation.expand.tooltip.mr"),label:n("positions.Liquidation.expand.label.mr"),side:"left"}),jsxRuntime.jsx(Ae,{tooltip:n("positions.Liquidation.expand.tooltip.mmr"),label:n("positions.Liquidation.expand.label.mmr")}),jsxRuntime.jsx(Ae,{tooltip:n("positions.Liquidation.expand.tooltip.collateral"),label:n("positions.Liquidation.expand.label.collateral")}),jsxRuntime.jsx(Ae,{tooltip:n("positions.Liquidation.expand.tooltip.notional"),label:n("positions.Liquidation.expand.label.notional")})]})}),jsxRuntime.jsx("tbody",{children:jsxRuntime.jsxs("tr",{children:[jsxRuntime.jsx("td",{className:"oui-h-10",children:jsxRuntime.jsx(orderlyUi.Text.numeral,{rule:"percentages",children:e})}),jsxRuntime.jsx("td",{className:"oui-h-10",children:jsxRuntime.jsx(orderlyUi.Text.numeral,{rule:"percentages",children:o})}),jsxRuntime.jsx("td",{className:"oui-h-10",children:orderlyUtils.commifyOptional(i)}),jsxRuntime.jsx("td",{className:"oui-h-10",children:orderlyUtils.commifyOptional(r)})]})})]})})},Ao=t=>jsxRuntime.jsxs(orderlyUi.Grid,{cols:1,rows:2,className:"oui-w-full oui-grid-rows-[auto,1fr]",gap:1,children:[jsxRuntime.jsx(orderlyUi.Flex,{gap:2,p:2,className:"oui-rounded-b-xl oui-bg-base-9",children:jsxRuntime.jsx(orderlyUi.DataFilter,{className:"oui-border-none oui-py-0",items:t.filterItems,onFilter:e=>{t.onFilter(e);}})}),jsxRuntime.jsx(orderlyUi.ListView,{className:orderlyUi.cn("oui-hide-scrollbar oui-w-full oui-space-y-0 oui-overflow-y-hidden",t.classNames?.root),contentClassName:orderlyUi.cn("!oui-space-y-1",t.classNames?.content),dataSource:t.dataSource,loadMore:t.loadMore,renderItem:(e,o)=>jsxRuntime.jsx(qo,{item:e,index:o,classNames:{root:t.classNames?.cell}})})]});var ke=t=>{let{symbol:e,enableLoadMore:o}=t,{page:i,pageSize:r,setPage:n,pagination:a,parsePagination:s}=orderlyUi.usePagination({pageSize:10}),{dateRange:l,filterDays:m,updateFilterDays:u,filterItems:c,onFilter:d}=Ol();Dr.useEffect(()=>{n(1);},[e,l,m]);let[x,{meta:f,isLoading:y,loadMore:b}]=Ml({page:o?void 0:i,size:r,symbol:e,start_t:l.from!=null?l.from.getTime():void 0,end_t:l.to!=null?l.to.getTime():void 0});return {dataSource:orderlyReactApp.useDataTap(x,{fallbackData:[]}),isLoading:y,loadMore:b,pagination:s(f),dateRange:l,filterDays:m,updateFilterDays:u,filterItems:c,onFilter:d}},Ml=t=>{let e=orderlyHooks.usePrivateInfiniteQuery(Al(t),{initialSize:1,formatter:a=>a,revalidateOnFocus:true}),o=Dr.useMemo(()=>e.data?.[0]?.meta,[e.data?.[0]]),i=Dr.useMemo(()=>e.data?.map(a=>a.rows?.map(s=>{let l=null,m=s.positions_by_perp[0];return m&&(l=new orderlyUtils.Decimal(m.liquidator_fee).add(m.insurance_fund_fee).toNumber()),{...s,formatted_account_mmr:isNaN(s.account_mmr)?null:new orderlyUtils.Decimal(s.account_mmr).mul(100).toFixed(2).toString(),liquidationFeeRate:l}}))?.flat(),[e.data]),r=e.isLoading;return [i,{meta:o,isLoading:r,loadMore:()=>{e.setSize(e.size+1);}}]},Ol=()=>{let t=Bt({to:W(new Date),from:B(dateFns.subDays(new Date,89))}),[e,o]=Dr.useState(90),[i,r]=Dr.useState(t),n=m=>{o(m),r({from:B(dateFns.subDays(new Date,m-1)),to:W(new Date)});},a=m=>{if(m.name==="dateRange"){let u=Bt(m.value);if(r(u),u.from&&u.to){let c=Math.abs(dateFns.differenceInDays(u.from,u.to))+1,x={1:{from:B(new Date),to:W(new Date)},7:{from:B(dateFns.subDays(new Date,6)),to:W(new Date)},30:{from:B(dateFns.subDays(new Date,29)),to:W(new Date)},90:{from:B(dateFns.subDays(new Date,89)),to:W(new Date)}}[c];x&&Wt(x.from,u.from)&&Wt(x.to,u.to)?o(c):o(null);}}},{isMobile:s}=orderlyUi.useScreen();return {filterItems:Dr.useMemo(()=>{let m={type:"range",name:"dateRange",value:i,fromDate:B(dateFns.subDays(new Date,89)),toDate:W(new Date)};return s?[m]:[m]},[i]),onFilter:a,dateRange:i,filterDays:e,updateFilterDays:n}},Al=t=>(e,o)=>{if(o&&!o.rows?.length)return null;let{symbol:i,size:r=10,page:n,end_t:a,start_t:s}=t,l=new URLSearchParams([["size",r.toString()],["page",`${e+1}`]]);return n&&l.set("page",`${n}`),i&&l.set("symbol",i),a&&l.set("end_t",`${a}`),s&&l.set("start_t",`${s}`),`/v1/liquidations?${l.toString()}`};var kl=t=>{let e=ke(t);return jsxRuntime.jsx(Oo,{...e})},El=t=>{let{classNames:e,...o}=t,i=ke(o);return jsxRuntime.jsx(Ao,{classNames:e,...i})};var zl="MarketCloseConfirmID";orderlyUi.registerSimpleDialog(zl,Rt,{size:"md",closable:false});
|
|
24
24
|
|
|
25
|
-
exports.CombinePositionsWidget =
|
|
25
|
+
exports.CombinePositionsWidget = Fa;
|
|
26
26
|
exports.FundingFeeButton = mt;
|
|
27
|
-
exports.FundingFeeHistoryUI =
|
|
28
|
-
exports.Liquidation =
|
|
29
|
-
exports.LiquidationWidget =
|
|
30
|
-
exports.MarketCloseConfirmID =
|
|
31
|
-
exports.MobileLiquidation =
|
|
32
|
-
exports.MobileLiquidationWidget =
|
|
33
|
-
exports.MobilePositionHistory =
|
|
34
|
-
exports.MobilePositionHistoryWidget =
|
|
35
|
-
exports.MobilePositionsWidget =
|
|
36
|
-
exports.PositionHistory =
|
|
37
|
-
exports.PositionHistoryWidget =
|
|
38
|
-
exports.PositionsTabName =
|
|
39
|
-
exports.PositionsWidget =
|
|
40
|
-
exports.sortList =
|
|
41
|
-
exports.useLiquidationScript =
|
|
42
|
-
exports.usePositionHistoryScript =
|
|
43
|
-
exports.usePositionsRowContext =
|
|
44
|
-
exports.useSort =
|
|
45
|
-
exports.useTabSort =
|
|
27
|
+
exports.FundingFeeHistoryUI = me;
|
|
28
|
+
exports.Liquidation = Oo;
|
|
29
|
+
exports.LiquidationWidget = kl;
|
|
30
|
+
exports.MarketCloseConfirmID = zl;
|
|
31
|
+
exports.MobileLiquidation = Ao;
|
|
32
|
+
exports.MobileLiquidationWidget = El;
|
|
33
|
+
exports.MobilePositionHistory = vo;
|
|
34
|
+
exports.MobilePositionHistoryWidget = ul;
|
|
35
|
+
exports.MobilePositionsWidget = Ta;
|
|
36
|
+
exports.PositionHistory = wo;
|
|
37
|
+
exports.PositionHistoryWidget = ll;
|
|
38
|
+
exports.PositionsTabName = de;
|
|
39
|
+
exports.PositionsWidget = ha;
|
|
40
|
+
exports.sortList = Zo;
|
|
41
|
+
exports.useLiquidationScript = ke;
|
|
42
|
+
exports.usePositionHistoryScript = qe;
|
|
43
|
+
exports.usePositionsRowContext = tt;
|
|
44
|
+
exports.useSort = Xt;
|
|
45
|
+
exports.useTabSort = Yt;
|
|
46
46
|
//# sourceMappingURL=out.js.map
|
|
47
47
|
//# sourceMappingURL=index.js.map
|