@orderly.network/ui-positions 2.5.2 → 2.5.3-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -62,7 +62,7 @@ declare const usePositionHistoryScript: (props: PositionHistoryProps$1) => {
62
62
  value: any;
63
63
  }) => void;
64
64
  symbol: string | undefined;
65
- filterDays: 1 | 30 | 7 | 90 | null;
65
+ filterDays: 1 | 7 | 30 | 90 | null;
66
66
  updateFilterDays: (days: 1 | 7 | 30 | 90) => void;
67
67
  pnlNotionalDecimalPrecision: number | undefined;
68
68
  };
@@ -103,7 +103,7 @@ declare const useLiquidationScript: (props: LiquidationProps) => {
103
103
  from?: Date;
104
104
  to?: Date;
105
105
  };
106
- filterDays: 1 | 30 | 7 | 90 | null;
106
+ filterDays: 1 | 7 | 30 | 90 | null;
107
107
  updateFilterDays: (days: 1 | 7 | 30 | 90) => void;
108
108
  filterItems: any[];
109
109
  onFilter: (filter: {
package/dist/index.d.ts CHANGED
@@ -62,7 +62,7 @@ declare const usePositionHistoryScript: (props: PositionHistoryProps$1) => {
62
62
  value: any;
63
63
  }) => void;
64
64
  symbol: string | undefined;
65
- filterDays: 1 | 30 | 7 | 90 | null;
65
+ filterDays: 1 | 7 | 30 | 90 | null;
66
66
  updateFilterDays: (days: 1 | 7 | 30 | 90) => void;
67
67
  pnlNotionalDecimalPrecision: number | undefined;
68
68
  };
@@ -103,7 +103,7 @@ declare const useLiquidationScript: (props: LiquidationProps) => {
103
103
  from?: Date;
104
104
  to?: Date;
105
105
  };
106
- filterDays: 1 | 30 | 7 | 90 | null;
106
+ filterDays: 1 | 7 | 30 | 90 | null;
107
107
  updateFilterDays: (days: 1 | 7 | 30 | 90) => void;
108
108
  filterItems: any[];
109
109
  onFilter: (filter: {
package/dist/index.js CHANGED
@@ -1,15 +1,15 @@
1
1
  'use strict';
2
2
 
3
3
  var ui = require('@orderly.network/ui');
4
- var yr = require('react');
5
- var hooks = require('@orderly.network/hooks');
4
+ var hr = require('react');
6
5
  var i18n = require('@orderly.network/i18n');
7
- var reactApp = require('@orderly.network/react-app');
8
6
  var types = require('@orderly.network/types');
9
7
  var utils = require('@orderly.network/utils');
10
8
  var jsxRuntime = require('react/jsx-runtime');
9
+ var hooks = require('@orderly.network/hooks');
11
10
  var immer = require('immer');
12
11
  var perp = require('@orderly.network/perp');
12
+ var reactApp = require('@orderly.network/react-app');
13
13
  var uiConnector = require('@orderly.network/ui-connector');
14
14
  var uiShare = require('@orderly.network/ui-share');
15
15
  var uiTpsl = require('@orderly.network/ui-tpsl');
@@ -17,25 +17,25 @@ var dateFns = require('date-fns');
17
17
 
18
18
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
19
19
 
20
- var yr__default = /*#__PURE__*/_interopDefault(yr);
20
+ var hr__default = /*#__PURE__*/_interopDefault(hr);
21
21
 
22
- var Po=yr.createContext({}),O=()=>yr.useContext(Po),xt=t=>{let e=hooks.useSymbolsInfo()[t.symbol];return jsxRuntime.jsx(Po.Provider,{value:{base_dp:e("base_dp"),quote_dp:e("quote_dp"),base_tick:e("base_tick"),quote_tick:e("quote_tick"),base:e("base"),quote:e("quote"),symbol:t.symbol,origin:e(),quote_max:e("quote_max"),quote_min:e("quote_min")},children:t.children})};var So=yr.createContext({}),k=()=>yr.useContext(So),Vt=t=>{let{position:e}=t,{t:o}=i18n.useTranslation(),[i,r]=yr.useState(Math.abs(e.position_qty).toString()),[n,a]=yr.useState(""),[s,l]=yr.useState(types.OrderType.MARKET);yr.useEffect(()=>{r(Math.abs(e.position_qty).toString());},[e.position_qty]);let c=e.symbol,u=hooks.useSymbolsInfo(),m=u?.[c],d=m("quote_dp"),P=m("base_dp"),y=m("base_tick"),{side:b,closeOrderData:_,submit:T,isMutating:F,errors:v,calculate:w}=hooks.usePositionClose({position:e,order:{type:s,quantity:i,price:n}}),V=yr.useCallback(p=>{let G=w({},"order_quantity",p,e.mark_price,m());r(G.order_quantity);},[w,u,e.mark_price]),S=yr.useCallback(p=>{let G=w({},"order_price",p,e.mark_price,m());a(G.order_price);},[w,u,e.mark_price]),A=yr.useCallback((p,G)=>{if(l(p),p===types.OrderType.LIMIT){if(!G)throw new Error(o("orderEntry.orderPrice.error.required"));a(G);}else a("");},[]),R=yr.useCallback(async()=>{if(Number(i)>m("base_max")){ui.toast.error(jsxRuntime.jsxs("div",{children:[o("positions.limitClose.errors.exceed.title"),jsxRuntime.jsx("br",{}),jsxRuntime.jsx("div",{className:"oui-break-normal",children:o("positions.limitClose.errors.exceed.description",{quantity:i,symbol:yn(c,"base"),maxQuantity:m("base_max")})})]}));return}return T().then(p=>{if(p.success)return t.mutatePositions?.(),p;throw p.message&&ui.toast.error(p.message),true}).catch(p=>(p.message&&ui.toast.error(p.message),false))},[T]);return jsxRuntime.jsx(So.Provider,{value:{quantity:i,price:n,type:s,side:b,position:e,updatePriceChange:S,updateQuantity:V,updateOrderType:A,tpslOrder:e.algo_order,onSubmit:R,submitting:F,closeOrderData:_,quoteDp:d,baseDp:P,baseTick:y,errors:v},children:t.children})};function yn(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 Lo=()=>{let[t,e]=yr.useState(false),{onSubmit:o,price:i,quantity:r,closeOrderData:n,type:a,submitting:s,quoteDp:l,errors:c}=k(),{base:u}=O(),[m]=hooks.useLocalStorage("orderly_order_confirm",true),{t:d}=i18n.useTranslation(),{parseErrorMsg:P}=reactApp.useOrderEntryFormErrorMsg(c),y=()=>o().then(()=>{e(false);}),b=()=>{e(false);},_=yr.useMemo(()=>a===types.OrderType.MARKET?!r:!i||!r,[i,r,a]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Button,{variant:"outlined",size:"sm",color:"secondary",disabled:_||s,loading:s,onClick:T=>{T.stopPropagation();let F=P("order_quantity"),v=P("order_price"),w=F||v;if(w){ui.toast.error(w);return}if(!m){o();return}e(true);},children:d("positions.column.close")}),jsxRuntime.jsx(ui.SimpleDialog,{open:t,onOpenChange:e,size:"sm",children:a===types.OrderType.MARKET?jsxRuntime.jsx(At,{base:u,quantity:r,onClose:b,onConfirm:y,submitting:s,classNames:{root:"oui-items-start"},hideCloseIcon:true}):jsxRuntime.jsx(fe,{base:u,quantity:r,price:i,onClose:b,onConfirm:y,submitting:s,quoteDp:l,order:n,hideCloseIcon:true})})]})},Do=t=>{let{hideCloseIcon:e=false}=t;return jsxRuntime.jsxs("div",{className:"oui-pb-3 oui-border-b oui-border-line-4 oui-relative oui-w-full",children:[jsxRuntime.jsx(ui.Text,{size:"base",children:t.title}),!e&&jsxRuntime.jsx("button",{onClick:t.onClose,className:"oui-absolute oui-right-0 oui-top-0 oui-text-base-contrast-54 hover:oui-text-base-contrast-80 oui-p-2",children:jsxRuntime.jsx(ui.CloseIcon,{size:18,color:"white"})})]})},Io=({onCancel:t,onConfirm:e,submitting:o})=>{let{t:i}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Flex,{id:"oui-positions-confirm-footer",gap:2,width:"100%",className:"oui-mt-3 oui-pb-1",children:[jsxRuntime.jsx(ui.Button,{id:"oui-positions-confirm-footer-cancel-button",color:"secondary",fullWidth:true,onClick:t,size:"md",children:i("common.cancel")}),jsxRuntime.jsx(ui.ThrottledButton,{id:"oui-positions-confirm-footer-confirm-button",onClick:e,fullWidth:true,loading:o,size:"md",children:i("common.confirm")})]})},Dn=t=>{let{quantity:e,price:o,quoteDp:i,side:r}=t,{t:n}=i18n.useTranslation(),a=yr.useMemo(()=>o&&e?new utils.Decimal(o).mul(e).toFixed(i,utils.Decimal.ROUND_DOWN):"--",[o,e]);return jsxRuntime.jsxs(ui.Flex,{direction:"column",gap:1,width:"100%",className:"oui-text-sm oui-text-base-contrast-54",py:5,children:[jsxRuntime.jsxs(ui.Flex,{justify:"between",width:"100%",gap:1,children:[jsxRuntime.jsx(ui.Text,{children:n("common.qty")}),jsxRuntime.jsx(ui.Text,{color:r===types.OrderSide.BUY?"success":"danger",children:e})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",width:"100%",gap:1,children:[jsxRuntime.jsx(ui.Text,{children:n("common.price")}),jsxRuntime.jsx(ui.Text.formatted,{intensity:98,suffix:jsxRuntime.jsx(ui.Text,{intensity:54,children:"USDC"}),children:o})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",width:"100%",gap:1,children:[jsxRuntime.jsx(ui.Text,{children:n("common.notional")}),jsxRuntime.jsx(ui.Text.formatted,{intensity:98,suffix:jsxRuntime.jsx(ui.Text,{intensity:54,children:"USDC"}),children:a})]})]})},At=t=>{let{t:e}=i18n.useTranslation(),o=()=>{(t?.onClose??t.close)?.();};return jsxRuntime.jsxs(ui.Flex,{direction:"column",className:t.classNames?.root,children:[jsxRuntime.jsx(Do,{onClose:o,title:e("positions.marketClose"),hideCloseIcon:t.hideCloseIcon}),jsxRuntime.jsx(ui.Text,{intensity:54,size:"sm",className:"oui-my-5",children:e("positions.marketClose.description",{quantity:utils.commifyOptional(t.quantity),base:t.base})}),jsxRuntime.jsx(Io,{onCancel:o,onConfirm:async()=>{await t.onConfirm?.(),o();},submitting:t.submitting})]})},fe=t=>{let{order:e,quoteDp:o,quantity:i,price:r,submitting:n}=t,{side:a}=e,{t:s}=i18n.useTranslation(),l=()=>{t.onClose?.();};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Do,{onClose:l,title:s("positions.limitClose"),hideCloseIcon:t.hideCloseIcon}),jsxRuntime.jsx(ui.Box,{mt:5,children:jsxRuntime.jsx(ui.Text,{intensity:54,size:"sm",children:s("positions.limitClose.description",{quantity:utils.commify(t.quantity),base:t.base})})}),jsxRuntime.jsxs(ui.Flex,{gap:2,mb:4,mt:5,justify:"between",children:[jsxRuntime.jsx(ui.Text.formatted,{rule:"symbol",formatString:"base-type",size:"base",showIcon:true,children:e.symbol}),jsxRuntime.jsxs(ui.Flex,{gap:1,children:[jsxRuntime.jsx(ui.Badge,{color:"neutral",size:"xs",children:s("orderEntry.orderType.limit")}),jsxRuntime.jsx(ui.Badge,{color:a===types.OrderSide.BUY?"success":"danger",size:"xs",children:a===types.OrderSide.BUY?s("common.buy"):s("common.sell")})]})]}),jsxRuntime.jsx(ui.Divider,{className:"oui-w-full"}),jsxRuntime.jsx(Dn,{className:"oui-text-sm",price:r,quantity:i,side:e.side,quoteDp:o??2}),jsxRuntime.jsx(Io,{onCancel:l,onConfirm:t.onConfirm,submitting:t.submitting})]})};function Mo(t,e){let o=yr.useRef(),i=yr.useRef(e);i.current=e,yr.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();}},[]),yr.useEffect(()=>{o.current?.observe(t.current);},[]);}var Ro=t=>{let e=yr.useRef(null),{onEndReached:o}=t;return Mo(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 Gt=({total:t,symbol:e,start_t:o,end_t:i})=>{let{t:r}=i18n.useTranslation(),{isMobile:n}=ui.useScreen(),{isLoading:a,data:s,setSize:l}=hooks.usePrivateInfiniteQuery((d,P)=>P&&!P.length?null:`/v1/funding_fee/history?page=${d}&symbol=${e}&start_t=${o}&end_t=${i}`,{revalidateFirstPage:false}),c=yr.useCallback(()=>{l(d=>d+1);},[l]),u=yr.useMemo(()=>Array.isArray(s)?s.flat().map(d=>({...d,funding_fee:-d.funding_fee})):[],[s]),m=yr.useMemo(()=>n?jsxRuntime.jsx(zn,{data:u??[],isLoading:a,loadMore:c}):jsxRuntime.jsx(En,{data:u??[],isLoading:a,loadMore:c}),[n,u,a]);return jsxRuntime.jsxs("div",{children:[jsxRuntime.jsxs(ui.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(ui.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(ui.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(ui.Statistic,{label:`${r("funding.fundingFee")} (USDC)`,valueProps:{ignoreDP:true,coloring:true,showIdentifier:true},children:t})})]}),m]})},En=({isLoading:t,data:e,loadMore:o})=>{let{t:i}=i18n.useTranslation(),r=yr.useMemo(()=>[{title:i("common.time"),dataIndex:"created_time",width:120,render:n=>jsxRuntime.jsx(ui.Text.formatted,{rule:"date",children:n})},{title:i("funding.fundingRate"),dataIndex:"funding_rate",formatter:n=>new utils.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(ui.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(Ro,{onEndReached:o,children:jsxRuntime.jsx(ui.DataTable,{classNames:{root:ui.cn("oui-h-auto oui-bg-base-8 oui-text-sm")},columns:r,dataSource:e??[],loading:t})})})},zn=({data:t,isLoading:e,loadMore:o})=>{let i=yr.useCallback(r=>jsxRuntime.jsx(Wn,{item:r}),[]);return jsxRuntime.jsx("div",{className:"oui-h-[calc(80vh_-_104px)] oui-overflow-y-auto",children:jsxRuntime.jsx(ui.ListView,{dataSource:t,renderItem:i,isLoading:e,contentClassName:"oui-space-y-0",loadMore:o})})},Wn=({item:t})=>{let{t:e}=i18n.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(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.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(ui.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(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text.formatted,{rule:"date",className:"oui-text-base-contrast-36",size:"2xs",children:t.created_time}),jsxRuntime.jsx(ui.Text,{size:"sm",intensity:80,children:t.payment_type==="Pay"?e("funding.paymentType.paid"):e("funding.paymentType.received")})]})]})};var nt=({fee:t,symbol:e,start_t:o,end_t:i})=>{let{t:r}=i18n.useTranslation(),[n,{setTrue:a,setFalse:s}]=hooks.useBoolean(false),{isMobile:l}=ui.useScreen();return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("button",{onClick:a,children:jsxRuntime.jsx(ui.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(ui.SimpleSheet,{open:n,onOpenChange:s,title:r("funding.fundingFee"),classNames:{body:"oui-max-h-[80vh] oui-py-0"},children:jsxRuntime.jsx(Gt,{total:t,symbol:e,start_t:o,end_t:i})}):jsxRuntime.jsx(ui.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(Gt,{total:t,symbol:e,start_t:o,end_t:i})})]})};var or=(t,e)=>{let o=hooks.useConfig("apiBaseUrl");return i=>(r,n,a)=>{try{return i(r,async l=>{let c=Array.isArray(l)?l[0]:l,u=`${o}${c}`,m=t.signer,d={method:"GET",url:c},P=await m.sign(d,utils.getTimestamp()),y=Array.isArray(e)?e:[e];return Promise.all(y.map(b=>n(u,{headers:{...P,"orderly-account-id":b}})))},a)}catch(s){throw s}}},ko=(t,e)=>{let{formatter:o,accountId:i,...r}=e||{},{state:n,account:a}=hooks.useAccount(),s=Array.isArray(e?.use)?e?.use??[]:[],l=Array.isArray(i)?i:[i],c=l.filter(Boolean).length&&(n.status>=types.AccountStatusEnum.EnableTrading||n.status===types.AccountStatusEnum.EnableTradingWithoutConnected);return hooks.useSWR(()=>c?[t,l]:null,(u,m)=>hooks.fetcher(u,m,{formatter:o}),{...r,use:[...s,or(a,l)],onError:()=>{}})};var Bo=t=>{let{symbol:e,calcMode:o,includedPendingOrder:i,pnlNotionalDecimalPrecision:r,sharePnLConfig:n,onSymbolChange:a,selectedAccount:s}=t,{pagination:l,setPage:c}=ui.usePagination({pageSize:50});yr.useEffect(()=>{c(1);},[e]);let u=hooks.useSymbolsInfo(),{state:m}=hooks.useAccount(),[d,,{isLoading:P}]=hooks.usePositionStream(e,{calcMode:o,includedPendingOrder:i}),{data:y=[],isLoading:b,mutate:_}=hooks.usePrivateQuery("/v1/client/aggregate/positions",{errorRetryCount:3}),{data:T=[],isLoading:F}=ko("/v1/client/info",{accountId:y.map(R=>R.account_id),revalidateOnFocus:false}),v=immer.produce(y.filter(R=>R.account_id!==m.mainAccountId),R=>{for(let p of R){let G=u[p.symbol],Mt=perp.positions.notional(p.position_qty,p.mark_price),Rt=T.find(nn=>nn.account_id===p.account_id),me=perp.positions.MMR({baseMMR:G?.("base_mmr"),baseIMR:G?.("base_imr"),IMRFactor:Rt?.imr_factor[p.symbol]??0,positionNotional:Mt,IMR_factor_power:4/5}),en=perp.positions.maintenanceMargin({positionQty:p.position_qty,markPrice:p.mark_price,MMR:me}),yo=perp.positions.unrealizedPnL({qty:p.position_qty,openPrice:p?.average_open_price,markPrice:p.mark_price}),go=perp.account.IMR({maxLeverage:Rt?.max_leverage??1,baseIMR:G?.("base_imr"),IMR_Factor:Rt?.imr_factor[p.symbol]??0,positionNotional:Mt,ordersNotional:0,IMR_factor_power:4/5}),on=perp.positions.unrealizedPnLROI({positionQty:p.position_qty,openPrice:p.average_open_price,IMR:go,unrealizedPnL:yo}),xo=0,bo=0;p.index_price&&(xo=perp.positions.unrealizedPnL({qty:p.position_qty,openPrice:p?.average_open_price,markPrice:p.index_price}),bo=perp.positions.unrealizedPnLROI({positionQty:p.position_qty,openPrice:p.average_open_price,IMR:go,unrealizedPnL:xo})),p.mmr=me,p.mm=en,p.notional=Mt,p.unrealized_pnl=yo,p.unrealized_pnl_ROI=on,p.unrealized_pnl_ROI_index=bo;}}),w=reactApp.useDataTap([...d?.rows,...v].filter(R=>R.position_qty!==0))??[],V=yr.useMemo(()=>!s||s==="All accounts"?w:w.filter(R=>s==="Main accounts"?R.account_id===m.mainAccountId||!R.account_id:R.account_id===s),[w,s,m.mainAccountId]),S=yr.useMemo(()=>fr(V,{mainAccountId:m.mainAccountId,subAccounts:m.subAccounts}),[V,m.mainAccountId,m.subAccounts]),A=yr.useMemo(()=>P||b||F,[P,b,F]);return {tableData:S,isLoading:A,pnlNotionalDecimalPrecision:r,sharePnLConfig:n,symbol:e,onSymbolChange:a,pagination:l,mutatePositions:_}},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?i18n.i18n.t("common.mainAccount"):s?.description||ui.formatAddress(s?.id||""),children:[n]});}return {expanded:Array.from(r.keys()),dataSource:Array.from(r.values())}};var Ce=t=>{let{symbol:e,calcMode:o,includedPendingOrder:i,pnlNotionalDecimalPrecision:r,sharePnLConfig:n,onSymbolChange:a}=t,{pagination:s,setPage:l}=ui.usePagination({pageSize:50});yr__default.default.useEffect(()=>{l(1);},[e]);let[c,,{isLoading:u}]=hooks.usePositionStream(e,{calcMode:o,includedPendingOrder:i});return {dataSource:reactApp.useDataTap(c?.rows,{fallbackData:[]})??void 0,isLoading:u,pnlNotionalDecimalPrecision:r,sharePnLConfig:n,symbol:e,onSymbolChange:a,pagination:s}};var Eo=()=>{let{position:t,baseDp:e,quoteDp:o,tpslOrder:i}=k(),{t:r}=i18n.useTranslation();return jsxRuntime.jsx(uiTpsl.PositionTPSLPopover,{position:t,order:i,label:r("common.tpsl"),baseDP:e,quoteDP:o,isEditing:false})},zo=()=>{let{position:t,baseDp:e,quoteDp:o,tpslOrder:i}=k();return jsxRuntime.jsx(uiTpsl.PositionTPSLPopover,{position:t,order:i,baseDP:e,quoteDP:o,isEditing:true,children:jsxRuntime.jsx(ui.EditIcon,{opacity:1,className:"oui-cursor-pointer oui-text-base-contrast-54",size:16})})};var Uo=()=>{let{type:t,quoteDp:e,price:o,updatePriceChange:i,updateOrderType:r,position:n}=k(),[,a]=yr.useState(false),{t:s}=i18n.useTranslation();return jsxRuntime.jsxs(ui.DropdownMenuRoot,{children:[jsxRuntime.jsx(ui.Input,{size:"sm",value:t===types.OrderType.LIMIT?o:s("orderEntry.orderType.market"),onValueChange:l=>i(l),formatters:[ui.inputFormatter.numberFormatter,...e?[ui.inputFormatter.dpFormatter(e)]:[]],onFocus:l=>{t===types.OrderType.MARKET&&r(types.OrderType.LIMIT,`${n.mark_price}`),a(true);},onBlur:l=>{setTimeout(()=>{a(false);},100);},suffix:jsxRuntime.jsx(ui.DropdownMenuTrigger,{asChild:true,children:jsxRuntime.jsx("button",{className:"oui-h-full oui-px-1",children:jsxRuntime.jsx(ui.CaretDownIcon,{size:12,color:"white"})})}),classNames:{root:ui.cn("oui-outline-line-12 focus-within:oui-outline-primary-light")}}),jsxRuntime.jsx(ui.DropdownMenuContent,{align:"end",className:"oui-w-[96px] oui-min-w-[96px]",onCloseAutoFocus:l=>l.preventDefault(),children:jsxRuntime.jsx(ui.DropdownMenuGroup,{children:jsxRuntime.jsx(ui.DropdownMenuItem,{size:"xs",onSelect:l=>{r(types.OrderType.MARKET);},children:jsxRuntime.jsx("span",{children:s("common.marketPrice")})})})})]})};var Go=t=>{let[e,o]=yr.useState(false),[i,r]=yr.useState(100),{baseDp:n,updateQuantity:a,quantity:s,baseTick:l}=k();yr.useEffect(()=>{let m=d=>{d.target.closest("[data-popover-root]")||o(false);};return document.addEventListener("click",m),()=>{document.removeEventListener("click",m);}},[]);let c=m=>{u(`${t.value*(m/100)}`);},u=m=>{if(l&&l>0){let d=hooks.utils.formatNumber(m,l)??m;a(d);}};return jsxRuntime.jsxs(ui.PopoverRoot,{children:[jsxRuntime.jsx(ui.PopoverTrigger,{children:jsxRuntime.jsx(ui.Input,{size:"sm",onFocus:()=>{o(true);},classNames:{root:"oui-outline-line-12 "},formatters:[ui.inputFormatter.numberFormatter,...n?[ui.inputFormatter.dpFormatter(n)]:[]],value:s,onBlur:m=>u(m.target.value),onValueChange:m=>{if(a(m),m=="0"||m==""){r(0);return}let d=new utils.Decimal(m).div(t.value).mul(100).abs().toFixed(0,utils.Decimal.ROUND_DOWN);r(Math.min(100,Number(d)));}})}),jsxRuntime.jsx(ui.PopoverContent,{className:"oui-w-[360px] oui-rounded-xl",align:"start",side:"bottom",onOpenAutoFocus:m=>{m.preventDefault();},children:jsxRuntime.jsxs(ui.Flex,{p:1,gap:2,width:"100%",itemAlign:"start",children:[jsxRuntime.jsx(ui.Text,{size:"xs",intensity:98,className:"oui-min-w-[30px]",children:`${i}%`}),jsxRuntime.jsxs(ui.Flex,{direction:"column",width:"100%",gap:2,children:[jsxRuntime.jsx(ui.Slider,{markCount:4,value:[i],onValueChange:m=>{let d=Array.from(m.values());r(d[0]),c(d[0]);}}),jsxRuntime.jsx(Wr,{onClick:m=>{r(m*100),c(m*100);}})]})]})})]})},Wr=t=>{let{t:e}=i18n.useTranslation(),o=[{label:"0%",value:0},{label:"25%",value:.25},{label:"50%",value:.5},{label:"75%",value:.75},{label:e("common.max"),value:1}];return jsxRuntime.jsx(ui.Flex,{gap:2,width:"100%",children:o.map((i,r)=>jsxRuntime.jsx(ui.Button,{variant:"outlined",color:"secondary",size:"xs",onClick:n=>{n.stopPropagation(),t.onClick(i.value);},className:"oui-w-1/5",children:i.label},r))})};var Ko=t=>{let e=O();return jsxRuntime.jsx(ui.Text.numeral,{dp:e.base_dp,rm:utils.Decimal.ROUND_DOWN,padding:false,coloring:true,children:t})},Xo=(t,e)=>jsxRuntime.jsx(Go,{value:e.position_qty}),Yo=t=>jsxRuntime.jsx(Uo,{});var Xt=t=>{let{tick:e="quote_dp",children:o,...i}=t,r=O();if(!r)throw new Error("NumeralWithCtx must be used inside SymbolProvider");return jsxRuntime.jsx(ui.Text.numeral,{as:"span",dp:r[e],...i,children:o})};var we=t=>{if(t.sharePnLConfig==null)return jsxRuntime.jsx(jsxRuntime.Fragment,{});let{position:e}=t,o=()=>{let i=t.isPositionHistory?{side:e.side,pnl:e.netPnL,openPrice:Math.abs(e.avg_open_price),closePrice:Math.abs(e.avg_close_price),openTime:e.open_timestamp,closeTime:e.close_timestamp,quantity:e.closed_position_qty}:{side:e.position_qty>0?"LONG":"SHORT",pnl:e.unrealized_pnl,roi:new utils.Decimal(e.unrealized_pnl_ROI*100).toFixed(2,utils.Decimal.ROUND_DOWN),openPrice:Math.abs(e.average_open_price),markPrice:e.mark_price,openTime:e.timestamp,quantity:e.position_qty};ui.modal.show(t.modalId,{pnl:{entity:{symbol:e.symbol,...i},refCode:t.refCode,...t.sharePnLConfig,leverage:t.isPositionHistory?void 0:t.leverage}});};return jsxRuntime.jsx("button",{type:"button",onClick:i=>{i.stopPropagation(),o();},children:jsxRuntime.jsx(ui.ShareIcon,{color:"white",opacity:.54,size:t.iconSize??16})})};var Zo=t=>{let{sharePnLConfig:e,position:o,modalId:i,iconSize:r,isPositionHistory:n}=t,{getFirstRefCode:a}=hooks.useReferralInfo(),s=yr.useMemo(()=>a()?.code,[a]),l=hooks.useSymbolLeverage(t.position.symbol);return {iconSize:r,position:o,refCode:s,leverage:l,sharePnLConfig:e,modalId:i,isPositionHistory:n}};var rt=t=>{let e=Zo(t);return jsxRuntime.jsx(we,{...e})};var oi=t=>{let{stopLossPrice:e,takeProfitPrice:o}=t,{tpslOrder:i,position:r}=k();return jsxRuntime.jsx(ns,{stopLossPrice:e,takeProfitPrice:o,direction:"column",order:i,position:r,tooltip:true})},ti=t=>{let{qty:e,price:o,entryPrice:i,orderSide:r,orderType:n,symbolInfo:a}=t,s=hooks.utils.priceToPnl({qty:e,price:o,entryPrice:i,orderSide:r,orderType:n},{symbol:a}),l=n===types.AlgoOrderType.TAKE_PROFIT?"TP":"SL";return jsxRuntime.jsxs(ui.Flex,{children:[jsxRuntime.jsx(ui.Text,{intensity:54,className:"oui-mr-1",children:`${l} PnL:`}),jsxRuntime.jsx(ui.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(ui.Text,{children:s===0?"":s>0?"+":"-"}),suffix:jsxRuntime.jsx(ui.Text,{intensity:36,className:"oui-ml-1",children:"USDC"}),children:`${Math.abs(s)}`})]})},ns=t=>{let{direction:e="row",order:o,position:i}=t,r=hooks.useSymbolsInfo(),{t:n}=i18n.useTranslation(),a=yr.useMemo(()=>{let u=[];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&&u.push(jsxRuntime.jsx(ti,{qty:m,price:t.takeProfitPrice,entryPrice:i.average_open_price,orderSide:o.side,orderType:types.AlgoOrderType.TAKE_PROFIT,symbolInfo:r[o.symbol]()},"tp")),t.stopLossPrice&&u.push(jsxRuntime.jsx(ti,{qty:m,price:t.stopLossPrice,entryPrice:i.average_open_price,orderSide:o.side,orderType:types.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=yr.useMemo(()=>{let u=[];if(!o?.symbol)return jsxRuntime.jsx("span",{children:"-"});return t.takeProfitPrice&&u.push(jsxRuntime.jsx(ui.Text.formatted,{className:ui.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(ui.Text,{intensity:54,children:`${n("tpsl.tp")} - `}):""},"tp")),t.stopLossPrice&&u.push(jsxRuntime.jsx(ui.Text.formatted,{className:ui.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(ui.Text,{intensity:54,children:`${n("tpsl.sl")} - `}):""},"sl")),u.length===0?jsxRuntime.jsx(ui.Text,{children:"-"}):(u.length===2&&e==="row"&&u.splice(1,0,jsxRuntime.jsx(ui.Text,{children:"/"},"split")),u)},[t.takeProfitPrice,t.stopLossPrice,o?.symbol,n]),l=jsxRuntime.jsx("div",{className:ui.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}),c=Array.isArray(s)?!!s.length:!s;return t.tooltip?jsxRuntime.jsxs(ui.Flex,{gapX:2,children:[jsxRuntime.jsx(ui.Tooltip,{content:a,children:l}),c&&jsxRuntime.jsx(zo,{})]}):l};var ai=t=>{let[e,o]=hooks.useLocalStorage("unPnlPriceBasis","markPrice"),{t:i}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Flex,{direction:"column",gap:3,className:"oui-text-base-contrast-54 oui-items-start",children:[jsxRuntime.jsx(ui.Text,{children:i("positions.column.unrealPnl.tooltip")}),jsxRuntime.jsx(ui.Divider,{className:"oui-w-full"}),jsxRuntime.jsx("div",{className:"oui-mb-0",children:i("positions.column.unrealPnl.priceBasis")}),jsxRuntime.jsx(as,{value:e,onValueChange:o})]})},as=t=>{let{value:e,onValueChange:o}=t,{t:i}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Flex,{gap:2,children:[jsxRuntime.jsx(ni,{sel:e==="markPrice",label:i("common.markPrice"),value:"markPrice",onCheckChange:o}),jsxRuntime.jsx(ni,{sel:e==="lastPrice",label:i("common.lastPrice"),value:"lastPrice",onCheckChange:o})]})},ni=t=>{let{sel:e,label:o,value:i,onCheckChange:r}=t;return jsxRuntime.jsxs(ui.Flex,{onClick:n=>{r(i),n.stopPropagation();},gap:1,className:"oui-cursor-pointer",children:[e?jsxRuntime.jsx(ls,{}):jsxRuntime.jsx(ms,{}),jsxRuntime.jsx(ui.Text,{size:"xs",intensity:e?98:54,children:o})]})},ls=()=>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"})]}),ms=()=>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 ve=t=>{let{pnlNotionalDecimalPrecision:e,sharePnLConfig:o,onSymbolChange:i}=t,{t:r}=i18n.useTranslation(),n=yr.useRef(Date.now().toString());return yr.useMemo(()=>[{title:r("common.symbol"),dataIndex:"symbol",fixed:"left",width:140,onSort:(s,l)=>s.symbol.localeCompare(l.symbol),render:(s,l)=>jsxRuntime.jsxs(ui.Flex,{gap:2,children:[jsxRuntime.jsx(ui.Box,{width:4,height:20,className:ui.cn("oui-rounded-[1px]",l.position_qty>0?"oui-bg-trade-profit":"oui-bg-trade-loss")}),jsxRuntime.jsx(ui.Text.formatted,{formatString:"base-type",className:"oui-cursor-pointer",onClick:c=>{i?.({symbol:s}),c.stopPropagation(),c.preventDefault();},children:`${s.split("_")[1]}-PERP`})]})},{title:r("common.quantity"),dataIndex:"position_qty",onSort:(s,l)=>s.position_qty-l.position_qty,width:120,className:"oui-pl-6",render:Ko},{title:r("common.avgOpen"),className:"oui-h-[48px]",width:120,onSort:true,dataIndex:"average_open_price",render:s=>jsxRuntime.jsx(Xt,{rm:utils.Decimal.ROUND_DOWN,children:s})},{title:r("common.markPrice"),dataIndex:"mark_price",width:120,onSort:true,className:"oui-h-[48px]",render:s=>jsxRuntime.jsx(Xt,{rm:utils.Decimal.ROUND_DOWN,children:s})},{title:jsxRuntime.jsx(ui.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(ui.Text,{children:r("positions.column.liqPrice")})}),width:100,onSort:true,dataIndex:"est_liq_price",render:s=>Number(s)===0?"--":jsxRuntime.jsx(Xt,{rm:utils.Decimal.ROUND_DOWN,className:Number(s)>0?"oui-text-warning-light":"",children:s??"--"})},{title:jsxRuntime.jsx(ui.HoverCard,{content:jsxRuntime.jsx(ai,{}),side:"top",align:"center",className:"oui-max-w-[280px] oui-text-2xs",children:jsxRuntime.jsx(ui.Text,{children:r("common.unrealizedPnl")})}),dataIndex:"unrealized_pnl",width:180,onSort:true,rule:"price",numeralProps:{coloring:true},render:(s,l)=>jsxRuntime.jsxs(ui.Flex,{gap:2,children:[jsxRuntime.jsxs(ui.Flex,{children:[jsxRuntime.jsx(ui.Text.numeral,{dp:e,rm:utils.Decimal.ROUND_DOWN,coloring:true,className:"oui-font-semibold",children:s}),jsxRuntime.jsx(ui.Text.numeral,{rule:"percentages",dp:e,rm:utils.Decimal.ROUND_DOWN,coloring:true,className:"oui-font-semibold",prefix:"(",suffix:")",children:l.unrealized_pnl_ROI})]}),jsxRuntime.jsx(rt,{position:l,sharePnLConfig:o,modalId:uiShare.SharePnLDialogId})]})},{title:r("common.tpsl"),dataIndex:"__",width:150,render:(s,l)=>jsxRuntime.jsx(oi,{stopLossPrice:l.sl_trigger_price,takeProfitPrice:l.tp_trigger_price})},{title:r("common.notional"),dataIndex:"notional",className:"oui-h-[48px]",width:100,onSort:true,render:s=>jsxRuntime.jsx(ui.Text.numeral,{dp:e,children:s})},{title:jsxRuntime.jsx(ui.Tooltip,{className:"oui-max-w-[280px] oui-bg-base-8 oui-p-3 oui-text-2xs oui-text-base-contrast-54",content:jsxRuntime.jsxs(ui.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(ui.Divider,{className:"oui-w-full"}),jsxRuntime.jsx("span",{children:r("positions.column.margin.formula")})]}),children:jsxRuntime.jsx(ui.Text,{children:r("positions.column.margin")})}),dataIndex:"mm",onSort:true,width:100,rule:"price",render:s=>jsxRuntime.jsx(ui.Text.numeral,{children:s})},{title:r("funding.fundingFee"),dataIndex:"fundingFee",width:100,render:(s,l)=>jsxRuntime.jsx(nt,{fee:s,symbol:l.symbol,start_t:l.timestamp.toString(),end_t:n.current})},{title:r("common.qty"),dataIndex:"close_qty",width:100,fixed:"right",render:Xo},{title:r("common.price"),dataIndex:"close_price",width:100,fixed:"right",render:Yo},{title:null,dataIndex:"close_position",align:"right",width:160,fixed:"right",render(){return jsxRuntime.jsxs(ui.Flex,{gapX:2,justify:"end",children:[jsxRuntime.jsx(Lo,{}),jsxRuntime.jsx(Eo,{})]})}}],[e,o,r])};var qe=t=>{let{item:e,sheetOpen:o,setSheetOpen:i,dialogOpen:r,setDialogOpen:n,updatePriceChange:a,base:s,quantity:l,price:c,onClose:u,onConfirm:m,submitting:d,quote_dp:P,closeOrderData:y,onCloseDialog:b}=t,_=e.position_qty>0,{t:T}=i18n.useTranslation(),{parseErrorMsg:F}=reactApp.useOrderEntryFormErrorMsg(t.errors),v=F("order_quantity"),w=F("order_price"),V=S=>{if(t.baseTick&&t.baseTick>0){let A=hooks.utils.formatNumber(S,t.baseTick)??S;t.updateQuantity(A);}};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Button,{variant:"outlined",color:"secondary",size:"sm",className:"oui-border-base-contrast-36",onClick:()=>{a("limit"),i(true);},children:T("positions.limitClose")}),o&&jsxRuntime.jsx(ui.SimpleSheet,{title:T("positions.limitClose"),open:o,onOpenChange:i,children:jsxRuntime.jsxs(ui.Flex,{direction:"column",gap:3,width:"100%",itemAlign:"start",className:"oui-text-sm",children:[jsxRuntime.jsxs(ui.Flex,{width:"100%",justify:"between",children:[jsxRuntime.jsx(ui.Text.formatted,{rule:"symbol",showIcon:true,children:e.symbol}),jsxRuntime.jsxs(ui.Flex,{gap:1,children:[jsxRuntime.jsx(ui.Badge,{color:"neutral",size:"xs",children:T("orderEntry.orderType.limit")}),_&&jsxRuntime.jsx(ui.Badge,{color:"success",size:"xs",children:T("common.buy")}),!_&&jsxRuntime.jsx(ui.Badge,{color:"danger",size:"xs",children:T("common.sell")})]})]}),jsxRuntime.jsx(ui.Divider,{className:"oui-w-full"}),jsxRuntime.jsxs(ui.Flex,{width:"100%",justify:"between",children:[jsxRuntime.jsx(ui.Text,{intensity:54,children:T("common.lastPrice")}),jsxRuntime.jsx(ui.Text.numeral,{dp:t.item?.symbolInfo?.quote_dp,suffix:jsxRuntime.jsx(ui.Text,{intensity:36,children:" USDC"}),children:t.curMarkPrice})]}),jsxRuntime.jsxs(ui.Flex,{width:"100%",direction:"column",gap:2,children:[jsxRuntime.jsx(ui.Input.tooltip,{prefix:T("common.price"),suffix:t.quote,align:"right",fullWidth:true,autoComplete:"off",formatters:[ui.inputFormatter.numberFormatter,ui.inputFormatter.dpFormatter(t.quote_dp)],triggerClassName:"oui-w-full",tooltip:w,color:w?"danger":void 0,value:t.price,onValueChange:S=>t.updatePriceChange(S),classNames:{prefix:"oui-text-base-contrast-54",suffix:"oui-text-base-contrast-54",root:ui.cn("oui-outline-line-12 oui-w-full",w?"oui-outline-danger":void 0)}}),jsxRuntime.jsx(ui.Input,{prefix:T("common.quantity"),suffix:t.base,align:"right",fullWidth:true,autoComplete:"off",formatters:[ui.inputFormatter.numberFormatter,ui.inputFormatter.dpFormatter(t.base_dp)],value:t.quantity,onBlur:S=>V(S.target.value),onValueChange:S=>{t.updateQuantity(S);let A=new utils.Decimal(S).div(t.item.position_qty).mul(100).toDecimalPlaces(2,utils.Decimal.ROUND_DOWN).toNumber();t.setSliderValue(A);},classNames:{prefix:"oui-text-base-contrast-54",suffix:"oui-text-base-contrast-54",root:ui.cn("oui-outline-line-12 oui-w-full")}}),jsxRuntime.jsx(ui.Slider,{markCount:4,value:[t.sliderValue],color:"primary",onValueChange:S=>{t.setSliderValue(S[0]);let A=new utils.Decimal(S[0]).div(100).mul(t.item.position_qty).toFixed(t.base_dp,utils.Decimal.ROUND_DOWN);V(A);}}),jsxRuntime.jsxs(ui.Flex,{width:"100%",justify:"between",children:[jsxRuntime.jsx(ui.Text,{color:"primary",size:"2xs",children:`${t.sliderValue}%`}),jsxRuntime.jsxs(ui.Flex,{gap:1,children:[jsxRuntime.jsx(ui.Text,{size:"2xs",color:"primary",children:T("common.max")}),jsxRuntime.jsx(ui.Text.numeral,{intensity:54,size:"2xs",children:Math.abs(t.item.position_qty)})]})]})]}),jsxRuntime.jsxs(ui.Flex,{width:"100%",gap:3,mt:2,children:[jsxRuntime.jsx(ui.Button,{fullWidth:true,color:"secondary",onClick:S=>{u();},children:T("common.cancel")}),jsxRuntime.jsx(ui.ThrottledButton,{fullWidth:true,disabled:d,loading:d,onClick:S=>{S.stopPropagation(),S.preventDefault();let A=v||w;if(A){ui.toast.error(A);return}if(!t.orderConfirm){m();return}n(true);},children:T("common.confirm")})]})]})}),r&&jsxRuntime.jsx(ui.SimpleDialog,{open:r,onOpenChange:n,size:"xs",children:jsxRuntime.jsx(fe,{base:s,quantity:l,price:c,onClose:b,onConfirm:m,submitting:d,quoteDp:P,order:y,hideCloseIcon:true})})]})};var Re=t=>{let{state:e}=t,[o,i]=yr.useState(false),[r,n]=yr.useState(false),{onSubmit:a,price:s,quantity:l,closeOrderData:c,submitting:u,updatePriceChange:m,updateOrderType:d,updateQuantity:P,errors:y,baseTick:b}=k(),_=yr.useRef(false),[T,F]=yr.useState(100),[v]=hooks.useLocalStorage("orderly_order_confirm",true),w=()=>a().then(me=>{i(false),n(false);}),V=()=>{i(false);},S=()=>{n(false);},A=hooks.useMarkPricesStream(),R=yr.useMemo(()=>A?.data?.[e.item.symbol]??"--",[A]),{quote_dp:p,base_dp:G,base:Mt,quote:Rt}=O();return yr.useEffect(()=>{!_.current&&R&&o&&(_.current=true,d(types.OrderType.LIMIT,`${R}`));},[_,R,o]),yr.useEffect(()=>{o||(d(types.OrderType.MARKET),_.current=false);},[o]),{...e,sheetOpen:o,setSheetOpen:i,curMarkPrice:R,quote_dp:p,base_dp:G,base:Mt,quote:Rt,baseTick:b,orderConfirm:v,onClose:V,onConfirm:w,price:s,quantity:l,closeOrderData:c,submitting:u,updatePriceChange:m,updateQuantity:P,errors:y,sliderValue:T,setSliderValue:F,dialogOpen:r,setDialogOpen:n,onCloseDialog:S}};var Oe=t=>{let e=Re(t);return jsxRuntime.jsx(qe,{...e})};var ke=t=>{let{t:e}=i18n.useTranslation();return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Button,{variant:"outlined",color:"secondary",size:"sm",className:"oui-border-base-contrast-36",disabled:t.submitting,loading:t.submitting,onClick:o=>{if(o.stopPropagation(),o.preventDefault(),t.updateOrderType(types.OrderType.MARKET),!t.orderConfirm){t.onConfirm();return}t.setDialogOpen(true);},children:e("positions.marketClose")}),jsxRuntime.jsx(ui.SimpleDialog,{open:t.dialogOpen,onOpenChange:t.setDialogOpen,size:"xs",children:jsxRuntime.jsx(At,{base:t.base,quantity:t.quantity,onClose:t.onClose,onConfirm:t.onConfirm,submitting:t.submitting,hideCloseIcon:true})})]})};var Be=t=>{let e=O(),[o,i]=yr.useState(false),{onSubmit:r,quantity:n,submitting:a,updateOrderType:s,updateQuantity:l}=k(),[c]=hooks.useLocalStorage("orderly_order_confirm",true);return {...t,...e,dialogOpen:o,setDialogOpen:i,orderConfirm:c,onSubmit:r,quantity:n,onClose:()=>{i(false);},onConfirm:()=>r().then(d=>{i(false);}),submitting:a,updateOrderType:s,updateQuantity:l}};var He=t=>{let e=Be(t);return jsxRuntime.jsx(ke,{...e})};var Ee=t=>{let{t:e}=i18n.useTranslation();return jsxRuntime.jsx(ui.Button,{variant:"outlined",color:"secondary",size:"sm",className:"oui-border-base-contrast-36",onClick:o=>{o.stopPropagation(),o.preventDefault(),t.openTP_SL();},children:e("common.tpsl")})};var ze=t=>{let e=hooks.useSymbolsInfo()[t.state.item.symbol](),{tpslOrder:o}=k(),{t:i}=i18n.useTranslation();return {openTP_SL:()=>{ui.modal.sheet({title:i("common.tpsl"),content:jsxRuntime.jsx(uiTpsl.PositionTPSLSheet,{position:t.state.item,symbolInfo:e,order:o,isEditing:false})});},...t,...e}};var We=t=>{let e=ze(t);return jsxRuntime.jsx(Ee,{...e})};var fi=t=>{let{item:e}=t,o=e.position_qty>0,{t:i}=i18n.useTranslation();return jsxRuntime.jsx(ui.Text.formatted,{rule:"symbol",formatString:"base-type",size:"2xs",suffix:jsxRuntime.jsx(ui.Badge,{color:o?"success":"danger",size:"xs",children:i(o?"common.long":"common.short")}),showIcon:true,onClick:()=>{t.onSymbolChange?.({symbol:e.symbol});},children:e.symbol})},yi=t=>{let{item:e}=t,{t:o}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Flex,{gap:3,children:[jsxRuntime.jsxs(ui.Flex,{direction:"column",className:"oui-text-2xs",itemAlign:"end",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(ui.Text,{intensity:36,children:o("common.unrealizedPnl")}),jsxRuntime.jsx(ui.Text,{intensity:20,children:"(USDC)"})]}),jsxRuntime.jsx(ui.Text.numeral,{size:"xs",dp:t.pnlNotionalDecimalPrecision,rm:utils.Decimal.ROUND_DOWN,coloring:true,className:"orderly-font-semibold",suffix:jsxRuntime.jsx(ui.Text.numeral,{rule:"percentages",dp:t.pnlNotionalDecimalPrecision,rm:utils.Decimal.ROUND_DOWN,prefix:"(",suffix:")",className:ui.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(rt,{position:e,sharePnLConfig:t.sharePnLConfig,modalId:uiShare.SharePnLBottomSheetId,iconSize:12})]})},gi=t=>{let{item:e}=t,{t:o}=i18n.useTranslation();return jsxRuntime.jsx(ui.Statistic,{label:o("common.qty"),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(ui.Text.numeral,{dp:t.base_dp,padding:false,coloring:true,children:e.position_qty})})},xi=t=>{let{item:e}=t,{t:o}=i18n.useTranslation();return jsxRuntime.jsx(ui.Statistic,{label:jsxRuntime.jsxs("span",{children:[o("positions.column.margin"),jsxRuntime.jsx(ui.Text,{intensity:20,children:"(USDC)"})]}),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(ui.Text.numeral,{dp:t.quote_dp,intensity:80,children:e.mm})})},bi=t=>{let{item:e}=t,{t:o}=i18n.useTranslation();return jsxRuntime.jsx(ui.Statistic,{align:"end",label:jsxRuntime.jsxs("span",{children:[o("common.notional"),jsxRuntime.jsx(ui.Text,{intensity:20,children:"(USDC)"})]}),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(ui.Text.numeral,{dp:t.quote_dp,intensity:80,children:e.notional})})},Pi=t=>{let{item:e}=t,{t:o}=i18n.useTranslation();return jsxRuntime.jsx(ui.Statistic,{label:o("common.avgOpen"),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(ui.Text.numeral,{dp:t.quote_dp,rm:utils.Decimal.ROUND_DOWN,intensity:80,children:e.average_open_price})})},Ci=t=>{let{item:e}=t,{t:o}=i18n.useTranslation();return jsxRuntime.jsx(ui.Statistic,{label:o("common.markPrice"),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(ui.Text.numeral,{dp:t.quote_dp,rm:utils.Decimal.ROUND_DOWN,intensity:80,children:e.mark_price})})},Si=t=>{let{item:e}=t,{t:o}=i18n.useTranslation(),i=e.est_liq_price&&e.est_liq_price>0?e.est_liq_price:"-";return jsxRuntime.jsx(ui.Statistic,{label:o("positions.column.liqPrice"),align:"end",classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(ui.Text.numeral,{dp:t.quote_dp,rm:utils.Decimal.ROUND_DOWN,color:"warning",children:i})})},hi=t=>{let{item:e}=t,{t:o}=i18n.useTranslation();return e.tp_trigger_price==null&&e.sl_trigger_price==null?jsxRuntime.jsx(jsxRuntime.Fragment,{}):jsxRuntime.jsxs(ui.Flex,{className:"oui-text-2xs oui-text-base-contrast-36",children:[jsxRuntime.jsxs(ui.Text,{children:[`${o("common.tpsl")}:`,"\xA0"]}),jsxRuntime.jsxs(ui.Flex,{className:"oui-gap-[2px]",children:[e.tp_trigger_price&&jsxRuntime.jsx(ui.Text.numeral,{color:"buy",children:e.tp_trigger_price}),e.sl_trigger_price&&"/",e.sl_trigger_price&&jsxRuntime.jsx(ui.Text.numeral,{color:"sell",children:e.sl_trigger_price})]})]})},_i=t=>{let{t:e}=i18n.useTranslation(),o=yr.useRef(Date.now().toString());return jsxRuntime.jsxs(ui.Flex,{justify:"end",className:"oui-text-2xs oui-w-full",children:[jsxRuntime.jsxs(ui.Text,{intensity:36,children:[e("funding.fundingFee"),": "]}),jsxRuntime.jsx(nt,{fee:t.item.fundingFee,symbol:t.item.symbol,start_t:t.item.timestamp.toString(),end_t:o.current})]})};var Ue=t=>{let{className:e,...o}=t;return jsxRuntime.jsxs(ui.Flex,{direction:"column",width:"100%",gap:2,p:2,r:"xl",itemAlign:"start",className:ui.cn(e,"oui-bg-base-9"),children:[jsxRuntime.jsx(na,{...o}),jsxRuntime.jsx(ui.Divider,{intensity:6,className:"oui-w-full"}),jsxRuntime.jsx(ra,{...o}),jsxRuntime.jsx(hi,{...o}),jsxRuntime.jsx(_i,{...o}),jsxRuntime.jsx(sa,{...o})]})},na=t=>jsxRuntime.jsxs(ui.Flex,{justify:"between",width:"100%",children:[jsxRuntime.jsx(fi,{...t}),jsxRuntime.jsx(yi,{...t})]}),ra=t=>jsxRuntime.jsxs(ui.Grid,{cols:3,rows:2,gap:2,width:"100%",children:[jsxRuntime.jsx(gi,{...t}),jsxRuntime.jsx(xi,{...t}),jsxRuntime.jsx(bi,{...t}),jsxRuntime.jsx(Pi,{...t}),jsxRuntime.jsx(Ci,{...t}),jsxRuntime.jsx(Si,{...t})]}),sa=t=>jsxRuntime.jsxs(ui.Grid,{width:"100%",gap:2,cols:3,rows:1,children:[jsxRuntime.jsx(We,{state:t}),jsxRuntime.jsx(Oe,{state:t}),jsxRuntime.jsx(He,{state:t})]});var Qe=t=>{let e=O();return {...t,...e}};var $e=t=>{let e=Qe(t);return jsxRuntime.jsx(Ue,{...e,className:t.className})};var Li=t=>{let{pnlNotionalDecimalPrecision:e,sharePnLConfig:o,pagination:i,isLoading:r,dataSource:n,onSymbolChange:a}=t,s=ve({pnlNotionalDecimalPrecision:e,sharePnLConfig:o,onSymbolChange:a});return jsxRuntime.jsx(uiConnector.AuthGuardDataTable,{loading:r,id:"oui-desktop-positions-content",columns:s,bordered:true,dataSource:n,generatedRowKey:l=>l.symbol,renderRowContainer:(l,c,u)=>jsxRuntime.jsx(xt,{symbol:l.symbol,children:jsxRuntime.jsx(Vt,{position:l,children:u})}),manualPagination:false,pagination:i,testIds:{body:"oui-testid-dataList-position-tab-body"}})},Di=t=>{let{pnlNotionalDecimalPrecision:e,sharePnLConfig:o,dataSource:i,onSymbolChange:r}=t;return jsxRuntime.jsx(ui.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(xt,{symbol:n.symbol,children:jsxRuntime.jsx(Vt,{position:n,children:jsxRuntime.jsx($e,{item:n,index:a,pnlNotionalDecimalPrecision:e,sharePnLConfig:o,onSymbolChange:r})})})})},Ii=t=>{let{pnlNotionalDecimalPrecision:e,sharePnLConfig:o,pagination:i,isLoading:r,tableData:n,onSymbolChange:a,mutatePositions:s}=t,l=ve({pnlNotionalDecimalPrecision:e,sharePnLConfig:o,onSymbolChange:a}),{dataSource:c=[]}=n;return jsxRuntime.jsx(uiConnector.AuthGuardDataTable,{bordered:true,loading:r,id:"oui-desktop-positions-content",columns:l,dataSource:c,expanded:true,getSubRows:u=>u.children,generatedRowKey:u=>u.id,onCell:(u,m)=>{if((m.children??[]).length>0)return {children:u.id==="symbol"?jsxRuntime.jsx(ui.Badge,{color:"neutral",size:"xs",children:m?.description||ui.formatAddress(m?.id)}):null}},renderRowContainer:(u,m,d)=>u.symbol?jsxRuntime.jsx(xt,{symbol:u.symbol,children:jsxRuntime.jsx(Vt,{position:u,mutatePositions:s,children:d})}):d,manualPagination:false,pagination:i,testIds:{body:"oui-testid-dataList-position-tab-body"}})};var ca=t=>{let e=Ce(t);return jsxRuntime.jsx(Li,{...e})},da=t=>{let e=Ce(t);return jsxRuntime.jsx(Di,{...e})},pa=t=>{let e=Bo(t);return jsxRuntime.jsx(Ii,{...e})};var qi=t=>{let{onSymbolChange:e,pnlNotionalDecimalPrecision:o}=t,{t:i}=i18n.useTranslation();return yr.useMemo(()=>[{title:i("common.symbol"),dataIndex:"symbol",fixed:"left",width:200,onSort:(n,a)=>n.symbol.localeCompare(a.symbol),render:(n,a)=>jsxRuntime.jsx(ba,{record:a,onSymbolChange:e})},{title:i("positions.history.column.closed&maxClosed"),dataIndex:"close_maxClose",width:200,render:(n,a)=>jsxRuntime.jsx(Pa,{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(ui.Flex,{gapX:1,children:[jsxRuntime.jsx(Ca,{record:a,pnlNotionalDecimalPrecision:o}),jsxRuntime.jsx(rt,{position:a,sharePnLConfig:t.sharePnLConfig,modalId:uiShare.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}=O();return jsxRuntime.jsx(ui.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}=O();return jsxRuntime.jsx(ui.Text.numeral,{dp:l,padding:false,children:s})}},{title:i("funding.fundingFee"),dataIndex:"accumulated_funding_fee",render:(n,a)=>jsxRuntime.jsx(nt,{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(ui.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(ui.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(ui.Text.formatted,{rule:"date",formatString:"yyyy-MM-dd HH:mm:ss",children:a.last_update_time})}],[o,i])},ba=t=>{let{record:e,onSymbolChange:o}=t,{t:i}=i18n.useTranslation(),r=yr.useMemo(()=>{let n=[],a=e.position_status,s=()=>a==="closed"?i("positions.history.status.closed"):a==="partial_closed"?i("positions.history.status.partialClosed"):ui.capitalizeFirstLetter(a.replace("_"," "));return n.push(jsxRuntime.jsx(ui.Badge,{color:a!=="closed"?"primaryLight":"neutral",size:"xs",className:"oui-break-normal oui-whitespace-nowrap",children:s()})),e.type==="adl"?n.push(jsxRuntime.jsx(ui.Badge,{color:"danger",size:"xs",children:i("positions.history.type.adl")})):e.type==="liquidated"&&n.push(jsxRuntime.jsx(ui.Tooltip,{className:"oui-min-w-[204px] oui-bg-base-5",arrow:{className:"oui-fill-base-5"},content:jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",className:"oui-text-2xs",children:[e.liquidation_id!=null&&jsxRuntime.jsxs(ui.Flex,{justify:"between",width:"100%",gap:2,children:[jsxRuntime.jsx(ui.Text,{intensity:54,children:i("positions.history.liquidated.liquidationId")}),jsxRuntime.jsx(ui.Text,{intensity:98,children:e.liquidation_id})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",width:"100%",gap:2,children:[jsxRuntime.jsx(ui.Text,{intensity:54,children:i("positions.history.liquidated.liquidatorFee")}),jsxRuntime.jsxs(ui.Text,{color:"lose",children:[e.liquidator_fee>0&&"-",utils.commifyOptional(e.liquidator_fee)]})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",width:"100%",gap:2,children:[jsxRuntime.jsx(ui.Text,{intensity:54,children:i("positions.history.liquidated.insFundFee")}),jsxRuntime.jsxs(ui.Text,{color:"lose",children:[e.insurance_fund_fee>0&&"-",utils.commifyOptional(e.insurance_fund_fee)]})]})]}),children:jsxRuntime.jsx("div",{children:jsxRuntime.jsx(ui.Badge,{size:"xs",color:"danger",className:"oui-cursor-pointer",children:jsxRuntime.jsx("span",{className:"oui-underline oui-decoration-dashed oui-decoration-[1px]",children:i("positions.history.type.liquidated")})})})})),n},[e,i]);return jsxRuntime.jsxs(ui.Flex,{gap:2,height:48,children:[jsxRuntime.jsx(ui.Box,{width:4,height:38,className:ui.cn("oui-rounded-[1px] oui-shrink-0",e.side==="LONG"?"oui-bg-trade-profit":"oui-bg-trade-loss")}),jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",children:[jsxRuntime.jsx(ui.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(ui.Flex,{gap:1,children:r})]})]})},Pa=t=>{let{record:e}=t,{base_dp:o}=O();return jsxRuntime.jsxs(ui.Flex,{gap:1,direction:"column",itemAlign:"start",className:"oui-overflow-hidden oui-whitespace-nowrap oui-text-ellipsis",children:[jsxRuntime.jsx(ui.Text.numeral,{dp:o,padding:false,children:Math.abs(e.closed_position_qty)}),jsxRuntime.jsx(ui.Text.numeral,{dp:o,padding:false,className:"oui-truncate",children:Math.abs(e.max_position_qty)})]})},Ca=t=>{let{record:e,pnlNotionalDecimalPrecision:o}=t,{t:i}=i18n.useTranslation(),r=e.netPnL!=null?e.netPnL:void 0,n=()=>jsxRuntime.jsx(ui.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(ui.Tooltip,{delayDuration:200,content:jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",className:"oui-text-2xs",children:[jsxRuntime.jsx(ui.Text,{intensity:80,children:i("positions.history.column.netPnl")}),jsxRuntime.jsxs(ui.Flex,{justify:"between",width:"100%",gap:2,children:[jsxRuntime.jsx(ui.Text,{intensity:54,children:i("common.realizedPnl")}),jsxRuntime.jsx(ui.Text,{color:e.realized_pnl>=0?"profit":"lose",className:"oui-cursor-pointer",children:utils.commifyOptional(e.realized_pnl)})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",width:"100%",gap:2,children:[jsxRuntime.jsx(ui.Text,{intensity:54,children:i("funding.fundingFee")}),jsxRuntime.jsx(ui.Text,{color:e.accumulated_funding_fee>0?"lose":"profit",className:"oui-cursor-pointer",children:utils.commifyOptional(-e.accumulated_funding_fee)})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",width:"100%",gap:2,children:[jsxRuntime.jsx(ui.Text,{intensity:54,children:i("positions.history.netPnl.tradingFee")}),jsxRuntime.jsx(ui.Text,{color:e.trading_fee>0?"lose":"profit",className:"oui-cursor-pointer",children:utils.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()})})};function E(t){if(t==null)return t;let e=new Date(t);return e.setHours(0,0,0,0),e}function z(t){if(t==null)return t;let e=new Date(t);return e.setHours(23,59,59,999),e}var Lt=t=>({from:E(t.from),to:z(t.to??t.from)}),Dt=(t,e)=>t.getTime()===e.getTime();var ee=t=>{let{onSymbolChange:e,symbol:o,pnlNotionalDecimalPrecision:i}=t,{state:r}=hooks.useAccount(),{data:n,isLoading:a}=hooks.usePrivateQuery(o?`/v1/position_history?symbol=${o}&limit=1000`:"/v1/position_history?limit=1000",{formatter(F){return (F.rows??null)?.map(v=>{if(v.realized_pnl!=null&&v.accumulated_funding_fee!=null&&v.trading_fee!=null){let w=v.realized_pnl-v.accumulated_funding_fee-v.trading_fee;return {...v,netPnL:w}}return v})},revalidateOnFocus:true}),{pagination:s,setPage:l}=ui.usePagination({pageSize:10}),{status:c,side:u,dateRange:m,filterDays:d,updateFilterDays:P,filterItems:y,onFilter:b}=Ia();yr.useEffect(()=>{l(1);},[c,u,m,d,o]);let _=yr.useMemo(()=>n==null?n:n.filter(F=>{let v=u==="all"?true:F.side.toLowerCase()===u.toLowerCase(),w=c==="all"?true:F.position_status.toLowerCase()===c.toLowerCase(),V=F?.last_update_time??F.open_timestamp,S=m.from&&m.to?V>=m.from.getTime()&&V<=m.to.getTime():true,A=o?F.symbol==o:true;return v&&w&&S&&A}),[c,u,m,n,o]);return {dataSource:reactApp.useDataTap(_,{accountStatus:r.status===types.AccountStatusEnum.EnableTradingWithoutConnected?types.AccountStatusEnum.EnableTradingWithoutConnected:types.AccountStatusEnum.EnableTrading,fallbackData:[]}),isLoading:a,onSymbolChange:e,pagination:s,filterItems:y,onFilter:b,symbol:o,filterDays:d,updateFilterDays:P,pnlNotionalDecimalPrecision:i}},Ia=()=>{let{t}=i18n.useTranslation(),[e,o]=yr.useState("all"),[i,r]=yr.useState("all"),n=Lt({to:z(new Date),from:E(dateFns.subDays(new Date,89))}),[a,s]=yr.useState(90),[l,c]=yr.useState(n),u=y=>{s(y),c({from:E(dateFns.subDays(new Date,y-1)),to:z(new Date)});},m=y=>{if(y.name==="side"&&r(y.value),y.name==="status"&&o(y.value),y.name==="dateRange"){let b=Lt(y.value);if(c(b),b.from&&b.to){let _=Math.abs(dateFns.differenceInDays(b.from,b.to))+1,F={1:{from:E(new Date),to:z(new Date)},7:{from:E(dateFns.subDays(new Date,6)),to:z(new Date)},30:{from:E(dateFns.subDays(new Date,29)),to:z(new Date)},90:{from:E(dateFns.subDays(new Date,89)),to:z(new Date)}}[_];F&&Dt(F.from,b.from)&&Dt(F.to,b.to)?s(_):s(null);}}},{isMobile:d}=ui.useScreen();return {filterItems:yr.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},b={type:"range",name:"dateRange",value:l,fromDate:E(dateFns.subDays(new Date,89)),toDate:z(new Date)},_={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,_]:[y,_,b]},[i,e,l]),onFilter:m,side:i,dateRange:l,status:e,filterDays:a,updateFilterDays:u}};var Oi=t=>{let{side:e,symbol:o}=t.item,{t:i}=i18n.useTranslation(),r=e==="LONG";return jsxRuntime.jsx(ui.Text.formatted,{intensity:80,rule:"symbol",formatString:"base-type",size:"sm",prefix:jsxRuntime.jsx(ui.Badge,{color:r?"success":"danger",size:"xs",children:i(r?"common.buy":"common.sell")}),onClick:()=>{t.onSymbolChange?.({symbol:o});},children:o})};var Ai=t=>{let{item:e}=t,{t:o}=i18n.useTranslation(),i=()=>{ui.modal.alert({title:o("positions.liquidation"),message:jsxRuntime.jsxs(ui.Flex,{direction:"column",width:"100%",gap:2,className:"oui-text-2xs oui-text-base-contrast-54",children:[e.liquidation_id!=null&&jsxRuntime.jsxs(ui.Flex,{justify:"between",width:"100%",children:[jsxRuntime.jsx(ui.Text,{children:o("positions.history.liquidated.liquidationId")}),jsxRuntime.jsx(ui.Text,{intensity:98,children:e.liquidation_id})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",width:"100%",children:[jsxRuntime.jsx(ui.Text,{children:o("positions.history.liquidated.liquidatorFee")}),jsxRuntime.jsxs(ui.Text,{color:"lose",children:[e.liquidator_fee>0&&"-",utils.commifyOptional(e.liquidator_fee)]})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",width:"100%",children:[jsxRuntime.jsx(ui.Text,{children:o("positions.history.liquidated.insFundFee")}),jsxRuntime.jsxs(ui.Text,{color:"lose",children:[e.insurance_fund_fee>0&&"-",utils.commifyOptional(e.insurance_fund_fee)]})]})]})});},r=yr.useMemo(()=>{let n=[],a=e.position_status,s=()=>a==="closed"?o("positions.history.status.closed"):a==="partial_closed"?o("positions.history.status.partialClosed"):ui.capitalizeFirstLetter(a.replace("_"," "));return n.push(jsxRuntime.jsx(ui.Badge,{color:a!=="closed"?"primaryLight":"neutral",size:"xs",children:s()})),e.type==="adl"?n.push(jsxRuntime.jsx(ui.Badge,{color:"danger",size:"xs",children:o("positions.history.type.adl")})):e.type==="liquidated"&&n.push(jsxRuntime.jsx(ui.Badge,{size:"xs",color:"danger",className:"oui-cursor-pointer",onClick:i,children:jsxRuntime.jsx("span",{className:"oui-underline oui-decoration-dashed oui-decoration-[1px]",children:o("positions.history.type.liquidated")})})),n},[e]);return jsxRuntime.jsx(ui.Flex,{gap:1,children:r})},ki=t=>{let{item:e}=t,{t:o}=i18n.useTranslation(),i=e.closed_position_qty!=null?Math.abs(e.closed_position_qty):"--";return jsxRuntime.jsx(ui.Statistic,{label:jsxRuntime.jsx(ui.Text,{children:o("positions.history.column.closed")}),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(ui.Text.numeral,{dp:t.base_dp,padding:false,coloring:true,intensity:80,children:i})})},Bi=t=>{let{item:e}=t,{t:o}=i18n.useTranslation(),i=e.max_position_qty!=null?Math.abs(e.max_position_qty):"--";return jsxRuntime.jsx(ui.Statistic,{label:jsxRuntime.jsx(ui.Text,{children:o("positions.history.column.maxClosed")}),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(ui.Text.numeral,{dp:t.base_dp,padding:false,coloring:true,intensity:80,children:i})})},Hi=t=>{let{item:e}=t,o=e.avg_open_price!=null?Math.abs(e.avg_open_price):"--",{t:i}=i18n.useTranslation();return jsxRuntime.jsx(ui.Statistic,{label:jsxRuntime.jsxs(ui.Flex,{gap:1,children:[i("common.avgOpen"),jsxRuntime.jsx(ui.Text,{intensity:20,children:"(USDC)"})]}),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(ui.Text.numeral,{dp:t.quote_dp,padding:false,coloring:true,intensity:80,children:o})})},Ei=t=>{let{item:e}=t,o=e.avg_close_price!=null?Math.abs(e.avg_close_price):"--",{t:i}=i18n.useTranslation();return jsxRuntime.jsx(ui.Statistic,{label:jsxRuntime.jsxs(ui.Flex,{gap:1,children:[i("common.avgClose"),jsxRuntime.jsx(ui.Text,{intensity:20,children:"(USDC)"})]}),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(ui.Text.numeral,{dp:t.quote_dp,padding:false,coloring:true,intensity:80,children:o})})},zi=t=>{let{item:e}=t,{t:o}=i18n.useTranslation();return jsxRuntime.jsx(ui.Statistic,{label:jsxRuntime.jsx(ui.Text,{children:o("positions.history.column.timeOpened")}),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},align:"end",children:jsxRuntime.jsx(ui.Text.formatted,{intensity:80,formatString:"yyyy-MM-dd HH:mm:ss",rule:"date",children:e.open_timestamp})})},Wi=t=>{let{item:e}=t,{t:o}=i18n.useTranslation(),i=e.position_status=="closed"&&e.close_timestamp?jsxRuntime.jsx(ui.Text.formatted,{intensity:80,formatString:"yyyy-MM-dd HH:mm:ss",rule:"date",children:e.close_timestamp}):"--";return jsxRuntime.jsx(ui.Statistic,{label:jsxRuntime.jsx(ui.Text,{children:o("positions.history.column.timeClosed")}),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},align:"end",children:i})},Ui=t=>{let{t:e}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Flex,{justify:"end",className:"oui-text-2xs oui-w-full oui-py-2 oui-gap-1 oui-gap-1",children:[jsxRuntime.jsxs(ui.Text,{intensity:36,children:[e("funding.fundingFee"),": "]}),jsxRuntime.jsx(nt,{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 Je=t=>jsxRuntime.jsxs(ui.Flex,{direction:"column",width:"100%",gap:2,itemAlign:"start",className:t.classNames?.root,children:[jsxRuntime.jsx(Ba,{...t}),jsxRuntime.jsx(ui.Divider,{intensity:6,className:"oui-w-full"}),jsxRuntime.jsx(Ha,{...t})]}),Ba=t=>{let{t:e}=i18n.useTranslation(),o=()=>{let{item:i}=t;ui.modal.alert({title:e("positions.history.column.netPnl"),message:jsxRuntime.jsxs(ui.Flex,{direction:"column",width:"100%",gap:2,className:"oui-text-2xs oui-text-base-contrast-54",children:[jsxRuntime.jsxs(ui.Flex,{justify:"between",width:"100%",gap:2,children:[jsxRuntime.jsx(ui.Text,{intensity:54,children:e("common.realizedPnl")}),jsxRuntime.jsx(ui.Text,{color:i.realized_pnl>=0?"profit":"lose",children:utils.commifyOptional(i.realized_pnl)})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",width:"100%",gap:2,children:[jsxRuntime.jsx(ui.Text,{intensity:54,children:e("funding.fundingFee")}),jsxRuntime.jsx(ui.Text,{color:i.accumulated_funding_fee>0?"lose":"profit",children:utils.commifyOptional(-i.accumulated_funding_fee)})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",width:"100%",gap:2,children:[jsxRuntime.jsx(ui.Text,{intensity:54,children:e("positions.history.netPnl.tradingFee")}),jsxRuntime.jsx(ui.Text,{color:i.trading_fee>0?"lose":"profit",children:utils.commifyOptional(-i.trading_fee)})]})]})});};return jsxRuntime.jsxs(ui.Flex,{gap:1,width:"100%",children:[jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",className:"oui-flex-1",gap:1,children:[jsxRuntime.jsx(Oi,{...t}),jsxRuntime.jsx(Ai,{...t})]}),jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"end",className:"oui-flex-1",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:e("positions.history.column.netPnl")}),jsxRuntime.jsxs(ui.Flex,{gapX:1,children:[jsxRuntime.jsx("button",{onClick:o,children:jsxRuntime.jsx(ui.Text.numeral,{size:"xs",coloring:true,children:t.item.netPnL??"--"})}),jsxRuntime.jsx(rt,{position:t.item,sharePnLConfig:t.sharePnLConfig,modalId:uiShare.SharePnLBottomSheetId,iconSize:12,isPositionHistory:true})]})]})]})},Ha=t=>jsxRuntime.jsxs("div",{className:"oui-w-full",children:[jsxRuntime.jsxs(ui.Grid,{cols:3,rows:2,width:"100%",gap:0,className:"oui-grid-cols-[1fr,1fr,135px]",children:[jsxRuntime.jsx(ki,{...t}),jsxRuntime.jsx(Bi,{...t}),jsxRuntime.jsx(zi,{...t}),jsxRuntime.jsx(Hi,{...t}),jsxRuntime.jsx(Ei,{...t}),jsxRuntime.jsx(Wi,{...t})]}),jsxRuntime.jsx(Ui,{...t})]});var Ze=t=>{let e=O();return {...t,...e}};var je=t=>{let e=Ze(t);return jsxRuntime.jsx(Je,{...e})};var oo=t=>{let{onSymbolChange:e,pagination:o,pnlNotionalDecimalPrecision:i}=t,r=qi({onSymbolChange:e,pnlNotionalDecimalPrecision:i,sharePnLConfig:t.sharePnLConfig}),{t:n}=i18n.useTranslation(),a=yr.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(ui.Flex,{direction:"column",width:"100%",height:"100%",itemAlign:"start",children:[jsxRuntime.jsxs(ui.Flex,{gap:3,children:[t.filterItems.length>0&&jsxRuntime.jsx(ui.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(ui.Text.gradient,{color:t.filterDays===s?"brand":void 0,className:ui.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(uiConnector.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,c)=>jsxRuntime.jsx(xt,{symbol:s.symbol,children:c}),manualPagination:false,pagination:o,testIds:{body:"oui-testid-dataList-positionHistory-tab-body"},classNames:{root:"!oui-h-[calc(100%_-_49px)]"}})]})},io=t=>jsxRuntime.jsxs(ui.Grid,{cols:1,rows:2,className:"oui-w-full oui-grid-rows-[auto,1fr]",gap:1,children:[jsxRuntime.jsx(ui.Flex,{gap:2,p:2,className:"oui-rounded-b-xl oui-bg-base-9",children:jsxRuntime.jsx(ui.DataFilter,{className:"oui-border-none oui-py-0",items:t.filterItems,onFilter:e=>{t.onFilter(e);}})}),jsxRuntime.jsx(ui.ListView,{className:ui.cn("oui-hide-scrollbar oui-w-full oui-space-y-0 oui-overflow-y-hidden",t.classNames?.root),contentClassName:ui.cn("!oui-space-y-1",t.classNames?.content),dataSource:t.dataSource,renderItem:(e,o)=>jsxRuntime.jsx(xt,{symbol:e.symbol,children:jsxRuntime.jsx(je,{item:e,index:o,onSymbolChange:t.onSymbolChange,classNames:{root:t.classNames?.cell},sharePnLConfig:t.sharePnLConfig})})})]});var Ga=t=>{let e=ee(t);return jsxRuntime.jsx(oo,{...e,sharePnLConfig:t.sharePnLConfig})},Ka=t=>{let{classNames:e,...o}=t,i=ee(o);return jsxRuntime.jsx(io,{...i,classNames:e,sharePnLConfig:t.sharePnLConfig})};var Gi=t=>{let{t:e}=i18n.useTranslation();return yr.useMemo(()=>[{title:e("common.time"),dataIndex:"timestamp",fixed:"left",width:202,render:i=>jsxRuntime.jsx(ui.Text.formatted,{rule:"date",formatString:"yyyy-MM-dd HH:mm:ss",children:i})},{title:e("positions.Liquidation.column.liquidationId"),dataIndex:"liquidation_id",width:202,render:i=>jsxRuntime.jsx(ui.Text,{children:i})},{title:e("positions.Liquidation.column.insFundTransfer"),dataIndex:"transfer_amount_to_insurance_fund",width:202,render:i=>jsxRuntime.jsx(ui.Text,{children:utils.commifyOptional(i)})},{title:e("common.symbol"),dataIndex:"Symbol",width:202,render:(i,r)=>jsxRuntime.jsx(ui.Flex,{direction:"column",itemAlign:"start",children:r.positions_by_perp?.map(n=>jsxRuntime.jsx(ui.Text.formatted,{rule:"symbol",formatString:"base-quote",children:n.symbol}))})},{title:`${e("common.price")} (USDC)`,dataIndex:"Price_(USDC)",width:202,render:(i,r)=>jsxRuntime.jsx(ui.Flex,{direction:"column",itemAlign:"start",children:r.positions_by_perp?.map(n=>jsxRuntime.jsx(no,{value:n.transfer_price,type:"quote"}))})},{title:e("common.quantity"),dataIndex:"Quantity",width:202,render:(i,r)=>jsxRuntime.jsx(ui.Flex,{direction:"column",itemAlign:"start",children:r.positions_by_perp?.map(n=>jsxRuntime.jsx(no,{value:n.position_qty,type:"base"}))})},{title:e("positions.Liquidation.column.liquidationFee"),dataIndex:"abs_liquidation_fee",width:202,render:(i,r)=>jsxRuntime.jsx(ui.Flex,{direction:"column",itemAlign:"start",children:r.positions_by_perp?.map(n=>jsxRuntime.jsx(no,{value:n.abs_liquidation_fee,type:"quote"}))})}],[e])},no=t=>jsxRuntime.jsx(ui.Text,{children:utils.commifyOptional(t.value)});var Ki=t=>{let{t:e}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Flex,{width:"100%",justify:"between",children:[jsxRuntime.jsxs(ui.Flex,{gap:1,children:[jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:e("common.price")}),jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:20,children:"(USDC)"})]}),jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:80,children:utils.commifyOptional(t.transfer_price)})]})},Xi=t=>{let{t:e}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Flex,{width:"100%",justify:"between",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:e("common.quantity")}),jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:80,children:utils.commifyOptional(t.position_qty)})]})},Yi=t=>{let{t:e}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Flex,{width:"100%",justify:"between",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:e("positions.Liquidation.column.liquidationFee")}),jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:80,children:utils.commifyOptional(t.abs_liquidation_fee)})]})};var ao=t=>jsxRuntime.jsxs(ui.Flex,{direction:"column",width:"100%",gap:2,itemAlign:"start",className:t.classNames?.root,children:[jsxRuntime.jsx(el,{...t}),jsxRuntime.jsx(ol,{...t})]},t.item.timestamp),el=t=>{let{t:e}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Flex,{gap:1,width:"100%",children:[jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",className:"oui-flex-1",gap:1,children:[jsxRuntime.jsx(ui.Text.formatted,{size:"2xs",intensity:36,rule:"date",formatString:"yyyy-MM-dd HH:mm:ss",children:t.item.timestamp}),jsxRuntime.jsxs(ui.Flex,{gap:1,children:[jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:`${e("positions.Liquidation.column.liquidationId")}:`}),jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:80,children:` ${t.item.liquidation_id}`})]})]}),jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"end",className:"oui-flex-1",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:`${e("positions.Liquidation.column.insFundTransfer")}:`}),jsxRuntime.jsx(ui.Text,{intensity:80,size:"xs",children:utils.commifyOptional(t.item.transfer_amount_to_insurance_fund)})]})]})},ol=t=>jsxRuntime.jsx(ui.Flex,{direction:"column",width:"100%",children:t.item.positions_by_perp?.map((e,o)=>jsxRuntime.jsx(il,{isLast:o===t.item.positions_by_perp.length-1,...e},`${o}-${e.symbol}`))}),il=t=>jsxRuntime.jsxs(ui.Flex,{width:"100%",itemAlign:"start",className:ui.cn("oui-border-t-[1px] oui-border-line-6 oui-pt-2",!t.isLast&&"oui-pb-2"),children:[jsxRuntime.jsx(ui.Text.formatted,{rule:"symbol",formatString:"base-quote",size:"xs",intensity:80,className:"oui-flex-1",children:t.symbol}),jsxRuntime.jsxs(ui.Grid,{cols:1,rows:3,width:"100%",gap:1,className:"oui-flex-1",children:[jsxRuntime.jsx(Ki,{...t}),jsxRuntime.jsx(Xi,{...t}),jsxRuntime.jsx(Yi,{...t})]})]},t.key);var lo=t=>({...t});var mo=t=>{let{classNames:e,...o}=t,i=lo(o);return jsxRuntime.jsx(ao,{classNames:e,...i})};var co=t=>{let e=Gi();return jsxRuntime.jsxs(ui.Flex,{direction:"column",width:"100%",height:"100%",itemAlign:"start",children:[jsxRuntime.jsxs(ui.Flex,{gap:3,children:[t.filterItems.length>0&&jsxRuntime.jsx(ui.DataFilter,{items:t.filterItems,onFilter:o=>{t.onFilter(o);}}),[1,7,30,90].map(o=>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(ui.Text.gradient,{color:t.filterDays===o?"brand":void 0,className:t.filterDays!==o?"oui-text-base-contrast-54":"",children:`${o}D`})}),jsxRuntime.jsx("div",{className:"oui-absolute oui-inset-0 oui-rounded oui-opacity-[.12] oui-gradient-primary",onClick:()=>{t.updateFilterDays(o);}})]},`item-${o}`))]}),jsxRuntime.jsx(uiConnector.AuthGuardDataTable,{loading:t.isLoading,id:"oui-desktop-liquidation-content",columns:e,bordered:true,dataSource:t.dataSource,generatedRowKey:o=>`${o.liquidation_id}`,pagination:t.pagination,testIds:{body:"oui-testid-dataList-liquidation-tab-body"},classNames:{root:"!oui-h-[calc(100%_-_49px)]"}})]})},po=t=>jsxRuntime.jsxs(ui.Grid,{cols:1,rows:2,className:"oui-w-full oui-grid-rows-[auto,1fr]",gap:1,children:[jsxRuntime.jsx(ui.Flex,{gap:2,p:2,className:"oui-rounded-b-xl oui-bg-base-9",children:jsxRuntime.jsx(ui.DataFilter,{className:"oui-border-none oui-py-0",items:t.filterItems,onFilter:e=>{t.onFilter(e);}})}),jsxRuntime.jsx(ui.ListView,{className:ui.cn("oui-hide-scrollbar oui-w-full oui-space-y-0 oui-overflow-y-hidden",t.classNames?.root),contentClassName:ui.cn("!oui-space-y-1",t.classNames?.content),dataSource:t.dataSource,loadMore:t.loadMore,renderItem:(e,o)=>jsxRuntime.jsx(mo,{item:e,index:o,classNames:{root:t.classNames?.cell}})})]});var le=t=>{let{symbol:e,enableLoadMore:o}=t,{page:i,pageSize:r,setPage:n,pagination:a,parsePagination:s}=ui.usePagination({pageSize:10}),{dateRange:l,filterDays:c,updateFilterDays:u,filterItems:m,onFilter:d}=gl();yr.useEffect(()=>{n(1);},[e,l,c]);let[P,{meta:y,isLoading:b,loadMore:_}]=yl({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:reactApp.useDataTap(P,{fallbackData:[]}),isLoading:b,loadMore:_,pagination:s(y),dateRange:l,filterDays:c,updateFilterDays:u,filterItems:m,onFilter:d}},yl=t=>{let e=hooks.usePrivateInfiniteQuery(xl(t),{initialSize:1,formatter:a=>a,revalidateOnFocus:true}),o=yr.useMemo(()=>e.data?.[0]?.meta,[e.data?.[0]]),i=yr.useMemo(()=>e.data?.map(a=>a.rows)?.flat(),[e.data]),r=e.isLoading;return [i,{meta:o,isLoading:r,loadMore:()=>{e.setSize(e.size+1);}}]},gl=()=>{let t=Lt({to:z(new Date),from:E(dateFns.subDays(new Date,89))}),[e,o]=yr.useState(90),[i,r]=yr.useState(t),n=c=>{o(c),r({from:E(dateFns.subDays(new Date,c-1)),to:z(new Date)});},a=c=>{if(c.name==="dateRange"){let u=Lt(c.value);if(r(u),u.from&&u.to){let m=Math.abs(dateFns.differenceInDays(u.from,u.to))+1,P={1:{from:E(new Date),to:z(new Date)},7:{from:E(dateFns.subDays(new Date,6)),to:z(new Date)},30:{from:E(dateFns.subDays(new Date,29)),to:z(new Date)},90:{from:E(dateFns.subDays(new Date,89)),to:z(new Date)}}[m];P&&Dt(P.from,u.from)&&Dt(P.to,u.to)?o(m):o(null);}}},{isMobile:s}=ui.useScreen();return {filterItems:yr.useMemo(()=>{let c={type:"range",name:"dateRange",value:i,fromDate:E(dateFns.subDays(new Date,89)),toDate:z(new Date)};return s?[c]:[c]},[i]),onFilter:a,dateRange:i,filterDays:e,updateFilterDays:n}},xl=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 bl=t=>{let e=le(t);return jsxRuntime.jsx(co,{...e})},Pl=t=>{let{classNames:e,...o}=t,i=le(o);return jsxRuntime.jsx(po,{classNames:e,...i})};var Sl="MarketCloseConfirmID";ui.registerSimpleDialog(Sl,At,{size:"md",closable:false});
22
+ var ko=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(ui.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(ui.CloseIcon,{size:18,color:"white"})})]})},ne=t=>{let{t:e}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Flex,{id:"oui-positions-confirm-footer",gap:2,width:"100%",className:"oui-mt-3 oui-pb-1",children:[jsxRuntime.jsx(ui.Button,{id:"oui-positions-confirm-footer-cancel-button",color:"secondary",fullWidth:true,onClick:t.onCancel,size:"md",children:e("common.cancel")}),jsxRuntime.jsx(ui.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")})]})},Rn=t=>{let{quantity:e,price:o,quoteDp:i,side:r}=t,{t:n}=i18n.useTranslation(),s=hr.useMemo(()=>o&&e?new utils.Decimal(o).mul(e).toFixed(i,utils.Decimal.ROUND_DOWN):"--",[o,e]);return jsxRuntime.jsxs(ui.Flex,{direction:"column",gap:1,width:"100%",className:"oui-text-sm oui-text-base-contrast-54",py:5,children:[jsxRuntime.jsxs(ui.Flex,{justify:"between",width:"100%",gap:1,children:[jsxRuntime.jsx(ui.Text,{children:n("common.qty")}),jsxRuntime.jsx(ui.Text,{color:r===types.OrderSide.BUY?"success":"danger",children:e})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",width:"100%",gap:1,children:[jsxRuntime.jsx(ui.Text,{children:n("common.price")}),jsxRuntime.jsx(ui.Text.formatted,{intensity:98,suffix:jsxRuntime.jsx(ui.Text,{intensity:54,children:"USDC"}),children:o})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",width:"100%",gap:1,children:[jsxRuntime.jsx(ui.Text,{children:n("common.notional")}),jsxRuntime.jsx(ui.Text.formatted,{intensity:98,suffix:jsxRuntime.jsx(ui.Text,{intensity:54,children:"USDC"}),children:s})]})]})},It=t=>{let{t:e}=i18n.useTranslation(),o=()=>{(t?.onClose??t.close)?.();};return jsxRuntime.jsxs(ui.Flex,{direction:"column",className:t.classNames?.root,children:[jsxRuntime.jsx(ko,{onClose:o,title:e("positions.marketClose"),hideCloseIcon:t.hideCloseIcon}),jsxRuntime.jsx(ui.Text,{intensity:54,size:"sm",className:"oui-my-5",children:e("positions.marketClose.description",{quantity:utils.commifyOptional(t.quantity),base:t.base})}),jsxRuntime.jsx(ne,{onCancel:o,onConfirm:async()=>{await t.onConfirm?.(),o();},submitting:t.submitting})]})},re=t=>{let{order:e,quoteDp:o,quantity:i,price:r}=t,{side:n}=e,{t:s}=i18n.useTranslation(),a=()=>{t.onClose?.();};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ko,{onClose:a,title:s("positions.limitClose"),hideCloseIcon:t.hideCloseIcon}),jsxRuntime.jsx(ui.Box,{mt:5,children:jsxRuntime.jsx(ui.Text,{intensity:54,size:"sm",children:s("positions.limitClose.description",{quantity:utils.commify(t.quantity),base:t.base})})}),jsxRuntime.jsxs(ui.Flex,{gap:2,mb:4,mt:5,justify:"between",children:[jsxRuntime.jsx(ui.Text.formatted,{rule:"symbol",formatString:"base-type",size:"base",showIcon:true,children:e.symbol}),jsxRuntime.jsxs(ui.Flex,{gap:1,children:[jsxRuntime.jsx(ui.Badge,{color:"neutral",size:"xs",children:s("orderEntry.orderType.limit")}),jsxRuntime.jsx(ui.Badge,{color:n===types.OrderSide.BUY?"success":"danger",size:"xs",children:n===types.OrderSide.BUY?s("common.buy"):s("common.sell")})]})]}),jsxRuntime.jsx(ui.Divider,{className:"oui-w-full"}),jsxRuntime.jsx(Rn,{className:"oui-text-sm",price:r,quantity:i,side:e.side,quoteDp:o??2}),jsxRuntime.jsx(ne,{onCancel:a,onConfirm:t.onConfirm,submitting:t.submitting})]})};function zo(t,e){let o=hr.useRef(),i=hr.useRef(e);i.current=e,hr.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();}},[]),hr.useEffect(()=>{o.current?.observe(t.current);},[]);}var Eo=t=>{let e=hr.useRef(null),{onEndReached:o}=t;return zo(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 se=({total:t,symbol:e,start_t:o,end_t:i})=>{let{t:r}=i18n.useTranslation(),{isMobile:n}=ui.useScreen(),{isLoading:s,data:a,setSize:l}=hooks.usePrivateInfiniteQuery((p,P)=>P&&!P.length?null:`/v1/funding_fee/history?page=${p}&symbol=${e}&start_t=${o}&end_t=${i}`,{revalidateFirstPage:false}),m=hr.useCallback(()=>{l(p=>p+1);},[l]),u=hr.useMemo(()=>Array.isArray(a)?a.flat().map(p=>({...p,funding_fee:-p.funding_fee})):[],[a]),c=hr.useMemo(()=>n?jsxRuntime.jsx(Gn,{data:u??[],isLoading:s,loadMore:m}):jsxRuntime.jsx(Vn,{data:u??[],isLoading:s,loadMore:m}),[n,u,s]);return jsxRuntime.jsxs("div",{children:[jsxRuntime.jsxs(ui.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(ui.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(ui.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(ui.Statistic,{label:`${r("funding.fundingFee")} (USDC)`,valueProps:{ignoreDP:true,coloring:true,showIdentifier:true},children:t})})]}),c]})},Vn=({isLoading:t,data:e,loadMore:o})=>{let{t:i}=i18n.useTranslation(),r=hr.useMemo(()=>[{title:i("common.time"),dataIndex:"created_time",width:120,render:n=>jsxRuntime.jsx(ui.Text.formatted,{rule:"date",children:n})},{title:i("funding.fundingRate"),dataIndex:"funding_rate",formatter:n=>new utils.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(ui.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(Eo,{onEndReached:o,children:jsxRuntime.jsx(ui.DataTable,{classNames:{root:ui.cn("oui-h-auto oui-bg-base-8 oui-text-sm")},columns:r,dataSource:e??[],loading:t})})})},Gn=({data:t,isLoading:e,loadMore:o})=>{let i=hr.useCallback(r=>jsxRuntime.jsx(Kn,{item:r}),[]);return jsxRuntime.jsx("div",{className:"oui-h-[calc(80vh_-_104px)] oui-overflow-y-auto",children:jsxRuntime.jsx(ui.ListView,{dataSource:t,renderItem:i,isLoading:e,contentClassName:"oui-space-y-0",loadMore:o})})},Kn=({item:t})=>{let{t:e}=i18n.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(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.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(ui.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(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text.formatted,{rule:"date",className:"oui-text-base-contrast-36",size:"2xs",children:t.created_time}),jsxRuntime.jsx(ui.Text,{size:"sm",intensity:80,children:t.payment_type==="Pay"?e("funding.paymentType.paid"):e("funding.paymentType.received")})]})]})};var at=({fee:t,symbol:e,start_t:o,end_t:i})=>{let{t:r}=i18n.useTranslation(),[n,{setTrue:s,setFalse:a}]=hooks.useBoolean(false),{isMobile:l}=ui.useScreen();return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("button",{onClick:s,children:jsxRuntime.jsx(ui.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(ui.SimpleSheet,{open:n,onOpenChange:a,title:r("funding.fundingFee"),classNames:{body:"oui-max-h-[80vh] oui-py-0"},children:jsxRuntime.jsx(se,{total:t,symbol:e,start_t:o,end_t:i})}):jsxRuntime.jsx(ui.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(se,{total:t,symbol:e,start_t:o,end_t:i})})]})};var lr=(t,e)=>{let o=hooks.useConfig("apiBaseUrl");return i=>(r,n,s)=>{try{return i(r,async l=>{let m=Array.isArray(l)?l[0]:l,u=`${o}${m}`,c=t.signer,p={method:"GET",url:m},P=await c.sign(p,utils.getTimestamp()),f=Array.isArray(e)?e:[e];return Promise.all(f.map(x=>n(u,{headers:{...P,"orderly-account-id":x}})))},s)}catch(a){throw a}}},Uo=(t,e)=>{let{formatter:o,accountId:i,...r}=e||{},{state:n,account:s}=hooks.useAccount(),a=Array.isArray(e?.use)?e?.use??[]:[],l=Array.isArray(i)?i:[i],m=l.filter(Boolean).length&&(n.status>=types.AccountStatusEnum.EnableTrading||n.status===types.AccountStatusEnum.EnableTradingWithoutConnected);return hooks.useSWR(()=>m?[t,l]:null,(u,c)=>hooks.fetcher(u,c,{formatter:o}),{...r,use:[...a,lr(s,l)],onError:()=>{}})};var $o=t=>{let{symbol:e,calcMode:o,includedPendingOrder:i,pnlNotionalDecimalPrecision:r,sharePnLConfig:n,onSymbolChange:s,selectedAccount:a}=t,{pagination:l,setPage:m}=ui.usePagination({pageSize:50});hr.useEffect(()=>{m(1);},[e]);let u=hooks.useSymbolsInfo(),{state:c}=hooks.useAccount(),[p,,{isLoading:P}]=hooks.usePositionStream(e,{calcMode:o,includedPendingOrder:i}),{data:f=[],isLoading:x,mutate:T}=hooks.usePrivateQuery("/v1/client/aggregate/positions",{errorRetryCount:3}),{data:q=[],isLoading:_}=Uo("/v1/client/info",{accountId:f.map(N=>N.account_id),revalidateOnFocus:false}),y=immer.produce(f.filter(N=>N.account_id!==c.mainAccountId),N=>{for(let d of N){let X=u[d.symbol],pt=perp.positions.notional(d.position_qty,d.mark_price),Y=q.find(Ut=>Ut.account_id===d.account_id),J=perp.positions.MMR({baseMMR:X?.("base_mmr"),baseIMR:X?.("base_imr"),IMRFactor:Y?.imr_factor[d.symbol]??0,positionNotional:pt,IMR_factor_power:4/5}),Zt=perp.positions.maintenanceMargin({positionQty:d.position_qty,markPrice:d.mark_price,MMR:J}),jt=perp.positions.unrealizedPnL({qty:d.position_qty,openPrice:d?.average_open_price,markPrice:d.mark_price}),te=perp.account.IMR({maxLeverage:Y?.max_leverage??1,baseIMR:X?.("base_imr"),IMR_Factor:Y?.imr_factor[d.symbol]??0,positionNotional:pt,ordersNotional:0,IMR_factor_power:4/5}),ee=perp.positions.unrealizedPnLROI({positionQty:d.position_qty,openPrice:d.average_open_price,IMR:te,unrealizedPnL:jt}),Qt=0,oe=0;d.index_price&&(Qt=perp.positions.unrealizedPnL({qty:d.position_qty,openPrice:d?.average_open_price,markPrice:d.index_price}),oe=perp.positions.unrealizedPnLROI({positionQty:d.position_qty,openPrice:d.average_open_price,IMR:te,unrealizedPnL:Qt})),d.mmr=J,d.mm=Zt,d.notional=pt,d.unrealized_pnl=jt,d.unrealized_pnl_ROI=ee,d.unrealized_pnl_ROI_index=oe;}}),F=reactApp.useDataTap([...p?.rows,...y].filter(N=>N.position_qty!==0))??[],k=hr.useMemo(()=>!a||a==="All accounts"?F:F.filter(N=>a==="Main accounts"?N.account_id===c.mainAccountId||!N.account_id:N.account_id===a),[F,a,c.mainAccountId]),W=hr.useMemo(()=>Cr(k,{mainAccountId:c.mainAccountId,subAccounts:c.subAccounts}),[k,c.mainAccountId,c.subAccounts]),st=hr.useMemo(()=>P||x||_,[P,x,_]);return {tableData:W,isLoading:st,pnlNotionalDecimalPrecision:r,sharePnLConfig:n,symbol:e,onSymbolChange:s,pagination:l,mutatePositions:T}},Cr=(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?i18n.i18n.t("common.mainAccount"):a?.description||ui.formatAddress(a?.id||""),children:[n]});}return {expanded:Array.from(r.keys()),dataSource:Array.from(r.values())}};var ze=t=>{let{symbol:e,calcMode:o,includedPendingOrder:i,pnlNotionalDecimalPrecision:r,sharePnLConfig:n,onSymbolChange:s}=t,{pagination:a,setPage:l}=ui.usePagination({pageSize:50});hr__default.default.useEffect(()=>{l(1);},[e]);let[m,,{isLoading:u}]=hooks.usePositionStream(e,{calcMode:o,includedPendingOrder:i});return {dataSource:reactApp.useDataTap(m?.rows,{fallbackData:[]})??void 0,isLoading:u,pnlNotionalDecimalPrecision:r,sharePnLConfig:n,symbol:e,onSymbolChange:s,pagination:a}};var Vo=hr.createContext({}),B=()=>hr.useContext(Vo),_t=t=>{let e=hooks.useSymbolsInfo()[t.symbol];return jsxRuntime.jsx(Vo.Provider,{value:{symbol:t.symbol,base_dp:e("base_dp"),quote_dp:e("quote_dp"),base_tick:e("base_tick"),quote_tick:e("quote_tick"),base:e("base"),quote:e("quote"),origin:e(),quote_max:e("quote_max"),quote_min:e("quote_min")},children:t.children})};var le=t=>{let{t:e}=i18n.useTranslation();return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Slider,{showTip:true,markCount:4,value:[t.value],color:"primary",onValueChange:o=>{t.onValueChange(o[0]);}}),jsxRuntime.jsxs(ui.Flex,{width:"100%",justify:"between",children:[jsxRuntime.jsx(ui.Text,{color:"primary",size:"2xs",children:`${t.value}%`}),jsxRuntime.jsxs(ui.Flex,{gap:1,onClick:t.onMax,className:"oui-cursor-pointer",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",color:"primary",children:e("common.max")}),jsxRuntime.jsx(ui.Text.numeral,{intensity:54,size:"2xs",dp:t.base_dp,padding:false,children:t.max})]})]})]})};var Ue=t=>{let{base:e,base_dp:o,quote:i,quote_dp:r,sheetOpen:n,setSheetOpen:s,dialogOpen:a,setDialogOpen:l,quantity:m,price:u,submitting:c,priceErrorMsg:p,quantityErrorMsg:P,disabled:f,isMarketClose:x,position:T,maxQty:q,isBuy:_}=t,{t:y}=i18n.useTranslation(),F=y(x?"positions.marketClose":"positions.limitClose"),k=y(x?"orderEntry.orderType.market":"orderEntry.orderType.limit"),W=_?jsxRuntime.jsx(ui.Badge,{color:"success",size:"xs",children:y("common.buy")}):jsxRuntime.jsx(ui.Badge,{color:"danger",size:"xs",children:y("common.sell")}),st=jsxRuntime.jsxs(ui.Flex,{width:"100%",justify:"between",children:[jsxRuntime.jsx(ui.Text.formatted,{rule:"symbol",showIcon:true,children:T.symbol}),jsxRuntime.jsxs(ui.Flex,{gap:1,children:[jsxRuntime.jsx(ui.Badge,{color:"neutral",size:"xs",children:k}),W]})]}),N=jsxRuntime.jsxs(ui.Flex,{width:"100%",justify:"between",children:[jsxRuntime.jsx(ui.Text,{intensity:54,children:y("common.lastPrice")}),jsxRuntime.jsx(ui.Text.numeral,{dp:r,suffix:jsxRuntime.jsxs(ui.Text,{intensity:36,children:[" ",i]}),children:T.mark_price})]}),d=!x&&jsxRuntime.jsx(jsxRuntime.Fragment,{children:jsxRuntime.jsxs(ui.Flex,{width:"100%",direction:"column",gap:2,children:[jsxRuntime.jsx(ui.Input.tooltip,{prefix:y("common.price"),suffix:i,align:"right",fullWidth:true,autoComplete:"off",formatters:[ui.inputFormatter.numberFormatter,ui.inputFormatter.dpFormatter(r)],triggerClassName:"oui-w-full",tooltip:p,color:p?"danger":void 0,value:u,onValueChange:t.updatePriceChange,classNames:{prefix:"oui-text-base-contrast-54",suffix:"oui-text-base-contrast-54",root:ui.cn("oui-w-full oui-outline-line-12",p?"oui-outline-danger":void 0)}}),jsxRuntime.jsx(ui.Input.tooltip,{prefix:y("common.quantity"),suffix:e,align:"right",fullWidth:true,autoComplete:"off",formatters:[ui.inputFormatter.numberFormatter,ui.inputFormatter.dpFormatter(o)],triggerClassName:"oui-w-full",tooltip:P,color:P?"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:ui.cn("oui-w-full oui-outline-line-12",P?"oui-outline-danger":void 0)}})]})}),X=jsxRuntime.jsx(le,{value:t.sliderValue,onValueChange:t.onSliderValueChange,base_dp:o,max:q,onMax:t.onMax}),pt=jsxRuntime.jsxs(ui.Flex,{width:"100%",gap:3,mt:2,children:[jsxRuntime.jsx(ui.Button,{fullWidth:true,color:"secondary",onClick:t.onCloseSheet,children:y("common.cancel")}),jsxRuntime.jsx(ui.ThrottledButton,{fullWidth:true,disabled:c||f,loading:c,onClick:Y=>{Y.stopPropagation(),Y.preventDefault(),t.onDoubleConfirm();},children:y("common.confirm")})]});return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Button,{variant:"outlined",color:"secondary",size:"sm",className:"oui-border-base-contrast-36",onClick:Y=>{Y.stopPropagation(),Y.preventDefault(),s(true);},children:F}),jsxRuntime.jsx(ui.SimpleSheet,{title:F,open:n,onOpenChange:s,children:jsxRuntime.jsxs(ui.Flex,{direction:"column",gap:3,width:"100%",itemAlign:"start",className:"oui-text-sm",children:[st,jsxRuntime.jsx(ui.Divider,{className:"oui-w-full"}),N,d,X,pt]})}),jsxRuntime.jsx(ui.SimpleDialog,{open:a,onOpenChange:l,size:"xs",children:x?jsxRuntime.jsx(It,{base:e,quantity:m,submitting:c,onClose:t.onCloseDialog,onConfirm:t.onConfirm,hideCloseIcon:true}):jsxRuntime.jsx(re,{base:e,quoteDp:r,quantity:m,price:u,submitting:c,order:t.closeOrderData,onClose:t.onCloseDialog,onConfirm:t.onConfirm,hideCloseIcon:true})})]})};var $e=t=>{let{position:e,base:o,base_dp:i,quote_dp:r,price:n,quantity:s,submitting:a,dialogOpen:l,setDialogOpen:m,isMarketClose:u,popoverOpen:c,setPopoverOpen:p,maxQty:P,quantityErrorMsg:f,priceErrorMsg:x,isEntirePosition:T}=t,{t:q}=i18n.useTranslation(),_=jsxRuntime.jsxs(ui.Flex,{width:"100%",gap:2,mb:1,children:[jsxRuntime.jsx(ui.Input.tooltip,{ref:t.quantityInputRef,prefix:q("common.quantity"),suffix:T?jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:54,className:"oui-cursor-pointer oui-px-3",onClick:t.onEntirePosition,children:q("tpsl.entirePosition")}):o,align:"right",size:"md",fullWidth:true,autoComplete:"off",formatters:[ui.inputFormatter.numberFormatter,ui.inputFormatter.dpFormatter(i)],triggerClassName:"oui-w-full",tooltip:f,color:f?"danger":void 0,value:T?"":s,onBlur:()=>t.formatQuantityToBaseTick(s),onValueChange:t.updateQuantity,classNames:{prefix:"oui-text-base-contrast-54",suffix:"oui-text-base-contrast-54",root:ui.cn("oui-w-full oui-outline-line-12",f?"oui-outline-danger":void 0)}}),jsxRuntime.jsx(ui.Button,{onClick:t.onMax,size:"md",variant:"outlined",className:ui.cn("oui-text-2xs",T?"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:q("common.position")})]}),y=jsxRuntime.jsx(ui.Select.options,{variant:"text",size:"md",options:[{label:q("orderEntry.orderType.limit"),value:types.OrderType.LIMIT},{label:q("orderEntry.orderType.market"),value:types.OrderType.MARKET}],classNames:{trigger:"oui-w-[--radix-select-content-available-width]"},value:t.type,onValueChange:W=>{t.updateOrderType(W);},contentProps:{align:"end",className:"oui-border oui-border-line-6"}}),F=u,k=jsxRuntime.jsx(ui.Input.tooltip,{suffix:y,size:"md",fullWidth:true,autoComplete:"off",formatters:[ui.inputFormatter.numberFormatter,ui.inputFormatter.dpFormatter(r)],triggerClassName:"oui-w-full",tooltip:x,color:x?"danger":void 0,value:n,onValueChange:t.updatePriceChange,placeholder:F?"--":"",disabled:F,classNames:{prefix:"oui-text-base-contrast-54",suffix:"oui-text-base-contrast-54",root:ui.cn("oui-w-full oui-outline-line-12",x?"oui-outline-danger":void 0,F?"focus-within:oui-outline-line-12":void 0)}});return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs(ui.PopoverRoot,{open:c,onOpenChange:p,children:[jsxRuntime.jsx(ui.PopoverTrigger,{asChild:true,onClick:()=>{p(true);},children:jsxRuntime.jsx(ui.Button,{variant:"outlined",size:"sm",color:"secondary",children:q("positions.column.close")})}),jsxRuntime.jsx(ui.PopoverContent,{className:ui.cn("oui-w-[360px] oui-p-5",c?"oui-visible":"oui-invisible"),align:"end",side:"top",onOpenAutoFocus:W=>W.preventDefault(),children:jsxRuntime.jsxs(ui.Flex,{gapY:2,direction:"column",children:[_,jsxRuntime.jsx(le,{value:t.sliderValue,onValueChange:t.onSliderValueChange,base_dp:i,max:P,onMax:t.onMax}),jsxRuntime.jsx(ui.Divider,{my:2,intensity:8,className:"oui-w-full"}),k,jsxRuntime.jsx(ne,{onConfirm:t.onDoubleConfirm,onCancel:t.onClosePopover,submitting:a,disabled:t.disabled})]})})]}),jsxRuntime.jsx(ui.SimpleDialog,{open:l,onOpenChange:m,size:"sm",children:u?jsxRuntime.jsx(It,{base:o,quantity:s,submitting:a,onClose:t.onCloseDialog,onConfirm:t.onConfirm,classNames:{root:"oui-items-start"},hideCloseIcon:true}):jsxRuntime.jsx(re,{base:o,quoteDp:r,quantity:s,price:n,submitting:a,order:t.closeOrderData,onClose:t.onCloseDialog,onConfirm:t.onConfirm,hideCloseIcon:true})})]})};var Ve=hr.createContext({}),Q=()=>hr.useContext(Ve);var Ge=t=>{let[e,o]=hr.useState(false),[i,r]=hr.useState(false),[n,s]=hr.useState(false),[a,l]=hr.useState(100),m=hr.useRef(null),[u]=hooks.useLocalStorage("orderly_order_confirm",true),{position:c,onSubmit:p,price:P,quantity:f,closeOrderData:x,submitting:T,updatePriceChange:q,updateOrderType:_,updateQuantity:y,errors:F,baseTick:k,type:W}=Q(),{quote_dp:st,base_dp:N,base:d,quote:X}=B(),{parseErrorMsg:pt}=reactApp.useOrderEntryFormErrorMsg(F),Y=c.position_qty>0,J=Math.abs(c.position_qty),Zt=t.type||W,jt=Zt===types.OrderType.MARKET,te=J?.toString()===f.toString();hr.useEffect(()=>{e&&_(t.type);},[t.type,e]);let{priceErrorMsg:ee,quantityErrorMsg:Qt}=hr.useMemo(()=>({priceErrorMsg:pt("order_price"),quantityErrorMsg:pt("order_quantity")}),[F]),oe=!!(ee||Qt),Ut=hr.useCallback(ft=>{if(k&&k>0){let $t=hooks.utils.formatNumber(ft,k)??ft;y($t);}},[k,y]),bn=hr.useCallback(ft=>{l(ft);let $t=new utils.Decimal(ft).div(100).mul(J).toFixed(N,utils.Decimal.ROUND_DOWN);Ut($t);},[J,N,Ut]);hr.useEffect(()=>{let ft=Math.min(Number(f||0),J),$t=new utils.Decimal(ft).div(J).mul(100).toDecimalPlaces(2,utils.Decimal.ROUND_DOWN).toNumber();l($t);},[f]);let Pn=hr.useCallback(()=>{y(J?.toString());},[J,y]),Re=hr.useCallback(()=>p().then(ft=>{o(false),r(false),s(false);}),[p]),Cn=hr.useCallback(()=>u?(r(true),Promise.resolve()):Re(),[Re,u]),hn=hr.useCallback(()=>{o(false);},[]),Sn=hr.useCallback(()=>{r(false);},[]),_n=hr.useCallback(()=>{s(false);},[]),Tn=hr.useCallback(()=>{y("0"),m.current?.focus(),setTimeout(()=>{m.current?.setSelectionRange(0,1);},0);},[y]);return {position:c,closeOrderData:x,quote_dp:st,base_dp:N,base:d,quote:X,price:P,quantity:f,submitting:T,onConfirm:Re,onDoubleConfirm:Cn,updatePriceChange:q,updateQuantity:y,formatQuantityToBaseTick:Ut,updateOrderType:_,sliderValue:a,onSliderValueChange:bn,priceErrorMsg:ee,quantityErrorMsg:Qt,disabled:oe,isMarketClose:jt,maxQty:J,onMax:Pn,isBuy:Y,isEntirePosition:te,type:Zt,quantityInputRef:m,onEntirePosition:Tn,sheetOpen:e,onCloseSheet:hn,setSheetOpen:o,dialogOpen:i,setDialogOpen:r,onCloseDialog:Sn,popoverOpen:n,setPopoverOpen:s,onClosePopover:_n}};var qt=t=>{let e=Ge(t),{isMobile:o}=ui.useScreen();return o?jsxRuntime.jsx(Ue,{...e}):jsxRuntime.jsx($e,{...e})};var si=()=>{let{position:t,baseDp:e,quoteDp:o,tpslOrder:i}=Q(),{t:r}=i18n.useTranslation();return jsxRuntime.jsx(uiTpsl.PositionTPSLPopover,{position:t,order:i,label:r("common.tpsl"),baseDP:e,quoteDP:o,isEditing:false})},ai=()=>{let{position:t,baseDp:e,quoteDp:o,tpslOrder:i}=Q();return jsxRuntime.jsx(uiTpsl.PositionTPSLPopover,{position:t,order:i,baseDP:e,quoteDP:o,isEditing:true,children:jsxRuntime.jsx(ui.EditIcon,{opacity:1,className:"oui-cursor-pointer oui-text-base-contrast-54",size:16})})},ge=({symbol:t})=>t?jsxRuntime.jsxs("div",{className:"oui-flex oui-h-[18px] oui-items-center oui-gap-1 oui-rounded oui-bg-white/[0.06] oui-px-2 oui-text-2xs oui-font-semibold oui-text-base-contrast-36",children:[jsxRuntime.jsx(ui.Text,{children:"Cross"}),jsxRuntime.jsx(ns,{symbol:t})]}):null,ns=({symbol:t})=>{let e=hooks.useSymbolLeverage(t);return jsxRuntime.jsx(ui.Text.numeral,{dp:0,size:"2xs",unit:"X",children:e!=="-"?e:"--"})};var mi=()=>{let{type:t,quoteDp:e,price:o,updatePriceChange:i,updateOrderType:r}=Q(),{t:n}=i18n.useTranslation();return jsxRuntime.jsxs(ui.DropdownMenuRoot,{children:[jsxRuntime.jsx(ui.Input,{size:"sm",value:t===types.OrderType.LIMIT?o:n("orderEntry.orderType.market"),onValueChange:s=>i(s),formatters:[ui.inputFormatter.numberFormatter,...e?[ui.inputFormatter.dpFormatter(e)]:[]],onFocus:()=>{t===types.OrderType.MARKET&&r(types.OrderType.LIMIT);},suffix:jsxRuntime.jsx(ui.DropdownMenuTrigger,{asChild:true,children:jsxRuntime.jsx("button",{className:"oui-h-full oui-px-1",children:jsxRuntime.jsx(ui.CaretDownIcon,{size:12,color:"white"})})}),classNames:{root:ui.cn("oui-border oui-border-solid oui-border-white/[0.12] oui-outline-none focus-within:oui-outline-primary-light")}}),jsxRuntime.jsx(ui.DropdownMenuContent,{align:"end",className:"oui-w-[96px] oui-min-w-[96px]",onCloseAutoFocus:s=>s.preventDefault(),children:jsxRuntime.jsx(ui.DropdownMenuGroup,{children:jsxRuntime.jsx(ui.DropdownMenuItem,{size:"xs",onSelect:()=>{r(types.OrderType.MARKET);},children:jsxRuntime.jsx("span",{children:n("common.marketPrice")})})})})]})};var di=t=>{let[e,o]=hr.useState(100),{baseDp:i,updateQuantity:r,quantity:n,baseTick:s}=Q(),a=m=>{l(`${t.value*m}`);},l=m=>{if(s&&s>0){let u=hooks.utils.formatNumber(m,s)??m;r(u);}};return hr.useEffect(()=>{let m=Math.abs(t.value),u=Math.min(Number(n||0),m),c=new utils.Decimal(u).div(m).mul(100).todp(2,utils.Decimal.ROUND_DOWN).toNumber();o(c);},[n,t.value]),jsxRuntime.jsxs(ui.PopoverRoot,{children:[jsxRuntime.jsx(ui.PopoverTrigger,{children:jsxRuntime.jsx(ui.Input,{size:"sm",classNames:{root:"oui-outline-none oui-border oui-border-solid oui-border-white/[0.12] focus-within:oui-outline-primary-light"},formatters:[ui.inputFormatter.numberFormatter,...i?[ui.inputFormatter.dpFormatter(i)]:[]],value:n,onBlur:m=>l(m.target.value),onValueChange:r})}),jsxRuntime.jsx(ui.PopoverContent,{className:"oui-w-[360px] oui-rounded-xl",align:"start",side:"bottom",onOpenAutoFocus:m=>{m.preventDefault();},children:jsxRuntime.jsxs(ui.Flex,{p:1,gap:2,width:"100%",itemAlign:"start",children:[jsxRuntime.jsx(ui.Text,{size:"xs",intensity:98,className:"oui-min-w-[40px]",children:`${e}%`}),jsxRuntime.jsxs(ui.Flex,{direction:"column",width:"100%",gap:2,children:[jsxRuntime.jsx(ui.Slider,{markCount:4,value:[e],onValueChange:m=>{a(m[0]/100);}}),jsxRuntime.jsx(vs,{onClick:a})]})]})})]})},vs=t=>{let{t:e}=i18n.useTranslation(),o=[{label:"0%",value:0},{label:"25%",value:.25},{label:"50%",value:.5},{label:"75%",value:.75},{label:e("common.max"),value:1}];return jsxRuntime.jsx(ui.Flex,{gap:2,width:"100%",children:o.map((i,r)=>jsxRuntime.jsx(ui.Button,{variant:"outlined",color:"secondary",size:"xs",onClick:n=>{n.stopPropagation(),t.onClick(i.value);},className:"oui-w-1/5",children:i.label},r))})};var pi=t=>{let e=B();return jsxRuntime.jsx(ui.Text.numeral,{dp:e.base_dp,rm:utils.Decimal.ROUND_DOWN,padding:false,coloring:true,children:t})},fi=(t,e)=>jsxRuntime.jsx(di,{value:e.position_qty}),yi=t=>jsxRuntime.jsx(mi,{});var be=t=>{let{tick:e="quote_dp",children:o,...i}=t,r=B();if(!r)throw new Error("NumeralWithCtx must be used inside SymbolProvider");return jsxRuntime.jsx(ui.Text.numeral,{as:"span",dp:r[e],...i,children:o})};var Ze=t=>{if(t.sharePnLConfig==null)return jsxRuntime.jsx(jsxRuntime.Fragment,{});let{position:e}=t,o=hooks.useSymbolsInfo(),{data:i}=hooks.useAccountInfo(),r=()=>{let n=t.isPositionHistory?(()=>{let s=e.netPnL||0,a=Math.abs(e.avg_open_price),l=Math.abs(e.closed_position_qty),m;if(s!==0&&l!==0&&a!==0&&i&&typeof t.leverage=="number"){let u=o[e.symbol],c=u("base_imr"),p=i.imr_factor[e.symbol]||1;if(c){let P=perp.positions.notional(l,a),f=perp.account.IMR({maxLeverage:i.max_leverage,baseIMR:c,IMR_Factor:p,positionNotional:P,ordersNotional:0,IMR_factor_power:4/5}),x=perp.positions.unrealizedPnLROI({positionQty:l,openPrice:a,IMR:f,unrealizedPnL:s});m=new utils.Decimal(x*100).toFixed(2,utils.Decimal.ROUND_DOWN);}}return {side:e.side,pnl:s,roi:m,openPrice:a,closePrice:Math.abs(e.avg_close_price),openTime:e.open_timestamp,closeTime:e.close_timestamp,quantity:e.closed_position_qty}})():{side:e.position_qty>0?"LONG":"SHORT",pnl:e.unrealized_pnl,roi:new utils.Decimal(e.unrealized_pnl_ROI*100).toFixed(2,utils.Decimal.ROUND_DOWN),openPrice:Math.abs(e.average_open_price),markPrice:e.mark_price,openTime:e.timestamp,quantity:e.position_qty};ui.modal.show(t.modalId,{pnl:{entity:{symbol:e.symbol,...n},refCode:t.refCode,...t.sharePnLConfig}});};return jsxRuntime.jsx("button",{type:"button",onClick:n=>{n.stopPropagation(),r();},children:jsxRuntime.jsx(ui.ShareIcon,{color:"white",opacity:.54,size:t.iconSize??16})})};var xi=t=>{let{sharePnLConfig:e,position:o,modalId:i,iconSize:r,isPositionHistory:n}=t,{getFirstRefCode:s}=hooks.useReferralInfo(),a=hr.useMemo(()=>s()?.code,[s]),l=hooks.useSymbolLeverage(t.position.symbol);return {iconSize:r,position:o,refCode:a,leverage:l,sharePnLConfig:e,modalId:i,isPositionHistory:n}};var mt=t=>{let e=xi(t);return jsxRuntime.jsx(Ze,{...e})};var hi=t=>{let{stopLossPrice:e,takeProfitPrice:o}=t,{tpslOrder:i,position:r}=Q();return jsxRuntime.jsx(Vs,{stopLossPrice:e,takeProfitPrice:o,direction:"column",order:i,position:r,tooltip:true})},Pi=t=>{let{qty:e,price:o,entryPrice:i,orderSide:r,orderType:n,symbolInfo:s}=t,a=hooks.utils.priceToPnl({qty:e,price:o,entryPrice:i,orderSide:r,orderType:n},{symbol:s}),l=n===types.AlgoOrderType.TAKE_PROFIT?"TP":"SL";return jsxRuntime.jsxs(ui.Flex,{children:[jsxRuntime.jsx(ui.Text,{intensity:54,className:"oui-mr-1",children:`${l} PnL:`}),jsxRuntime.jsx(ui.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(ui.Text,{children:a===0?"":a>0?"+":"-"}),suffix:jsxRuntime.jsx(ui.Text,{intensity:36,className:"oui-ml-1",children:"USDC"}),children:`${Math.abs(a)}`})]})},Vs=t=>{let{direction:e="row",order:o,position:i}=t,r=hooks.useSymbolsInfo(),{t:n}=i18n.useTranslation(),s=hr.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(Pi,{qty:c,price:t.takeProfitPrice,entryPrice:i.average_open_price,orderSide:o.side,orderType:types.AlgoOrderType.TAKE_PROFIT,symbolInfo:r[o.symbol]()},"tp")),t.stopLossPrice&&u.push(jsxRuntime.jsx(Pi,{qty:c,price:t.stopLossPrice,entryPrice:i.average_open_price,orderSide:o.side,orderType:types.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]),a=hr.useMemo(()=>{let u=[];if(!o?.symbol)return jsxRuntime.jsx("span",{children:"-"});return t.takeProfitPrice&&u.push(jsxRuntime.jsx(ui.Text.formatted,{className:ui.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(ui.Text,{intensity:54,children:`${n("tpsl.tp")} - `}):""},"tp")),t.stopLossPrice&&u.push(jsxRuntime.jsx(ui.Text.formatted,{className:ui.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(ui.Text,{intensity:54,children:`${n("tpsl.sl")} - `}):""},"sl")),u.length===0?jsxRuntime.jsx(ui.Text,{children:"-"}):(u.length===2&&e==="row"&&u.splice(1,0,jsxRuntime.jsx(ui.Text,{children:"/"},"split")),u)},[t.takeProfitPrice,t.stopLossPrice,o?.symbol,n]),l=jsxRuntime.jsx("div",{className:ui.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}),m=Array.isArray(a)?!!a.length:!a;return t.tooltip?jsxRuntime.jsxs(ui.Flex,{gapX:2,children:[jsxRuntime.jsx(ui.Tooltip,{content:s,children:l}),m&&jsxRuntime.jsx(ai,{})]}):l};var wi=t=>{let[e,o]=hooks.useLocalStorage("unPnlPriceBasis","markPrice"),{t:i}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Flex,{direction:"column",gap:3,className:"oui-text-base-contrast-54 oui-items-start",children:[jsxRuntime.jsx(ui.Text,{children:i("positions.column.unrealPnl.tooltip")}),jsxRuntime.jsx(ui.Divider,{className:"oui-w-full"}),jsxRuntime.jsx("div",{className:"oui-mb-0",children:i("positions.column.unrealPnl.priceBasis")}),jsxRuntime.jsx(Xs,{value:e,onValueChange:o})]})},Xs=t=>{let{value:e,onValueChange:o}=t,{t:i}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Flex,{gap:2,children:[jsxRuntime.jsx(_i,{sel:e==="markPrice",label:i("common.markPrice"),value:"markPrice",onCheckChange:o}),jsxRuntime.jsx(_i,{sel:e==="lastPrice",label:i("common.lastPrice"),value:"lastPrice",onCheckChange:o})]})},_i=t=>{let{sel:e,label:o,value:i,onCheckChange:r}=t;return jsxRuntime.jsxs(ui.Flex,{onClick:n=>{r(i),n.stopPropagation();},gap:1,className:"oui-cursor-pointer",children:[e?jsxRuntime.jsx(Ys,{}):jsxRuntime.jsx(Js,{}),jsxRuntime.jsx(ui.Text,{size:"xs",intensity:e?98:54,children:o})]})},Ys=()=>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"})]}),Js=()=>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 oo=t=>{let{pnlNotionalDecimalPrecision:e,sharePnLConfig:o,onSymbolChange:i}=t,{t:r}=i18n.useTranslation(),n=hr.useRef(Date.now().toString());return hr.useMemo(()=>[{title:r("common.symbol"),dataIndex:"symbol",fixed:"left",width:140,onSort:(a,l)=>a.symbol.localeCompare(l.symbol),render:(a,l)=>jsxRuntime.jsxs(ui.Flex,{gap:2,children:[jsxRuntime.jsx(ui.Box,{width:4,height:20,className:ui.cn("oui-h-[38px] oui-rounded-[1px]",l.position_qty>0?"oui-bg-trade-profit":"oui-bg-trade-loss")}),jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",children:[jsxRuntime.jsx(ui.Text.formatted,{formatString:"base-type",className:"oui-cursor-pointer",onClick:m=>{i?.({symbol:a}),m.stopPropagation(),m.preventDefault();},children:`${a.split("_")[1]}-PERP`}),jsxRuntime.jsx(ge,{symbol:a})]})]})},{title:r("common.quantity"),dataIndex:"position_qty",onSort:(a,l)=>a.position_qty-l.position_qty,width:120,className:"oui-pl-6",render:pi},{title:r("common.avgOpen"),className:"oui-h-[48px]",width:120,onSort:true,dataIndex:"average_open_price",render:a=>jsxRuntime.jsx(be,{rm:utils.Decimal.ROUND_DOWN,children:a})},{title:r("common.markPrice"),dataIndex:"mark_price",width:120,onSort:true,className:"oui-h-[48px]",render:a=>jsxRuntime.jsx(be,{rm:utils.Decimal.ROUND_DOWN,children:a})},{title:jsxRuntime.jsx(ui.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(ui.Text,{children:r("positions.column.liqPrice")})}),width:100,onSort:true,dataIndex:"est_liq_price",render:a=>Number(a)===0?"--":jsxRuntime.jsx(be,{rm:utils.Decimal.ROUND_DOWN,className:Number(a)>0?"oui-text-warning-light":"",children:a??"--"})},{title:jsxRuntime.jsx(ui.HoverCard,{content:jsxRuntime.jsx(wi,{}),side:"top",align:"center",className:"oui-max-w-[280px] oui-text-2xs",children:jsxRuntime.jsx(ui.Text,{children:r("common.unrealizedPnl")})}),dataIndex:"unrealized_pnl",width:180,onSort:true,rule:"price",numeralProps:{coloring:true},render:(a,l)=>jsxRuntime.jsxs(ui.Flex,{gap:2,children:[jsxRuntime.jsxs(ui.Flex,{children:[jsxRuntime.jsx(ui.Text.numeral,{dp:e,rm:utils.Decimal.ROUND_DOWN,coloring:true,className:"oui-font-semibold",children:a}),jsxRuntime.jsx(ui.Text.numeral,{rule:"percentages",dp:e,rm:utils.Decimal.ROUND_DOWN,coloring:true,className:"oui-font-semibold",prefix:"(",suffix:")",children:l.unrealized_pnl_ROI})]}),jsxRuntime.jsx(mt,{position:l,sharePnLConfig:o,modalId:uiShare.SharePnLDialogId})]})},{title:r("common.tpsl"),dataIndex:"__",width:150,render:(a,l)=>jsxRuntime.jsx(hi,{stopLossPrice:l.sl_trigger_price,takeProfitPrice:l.tp_trigger_price})},{title:r("common.notional"),dataIndex:"notional",className:"oui-h-[48px]",width:100,onSort:true,render:a=>jsxRuntime.jsx(ui.Text.numeral,{dp:e,children:a})},{title:jsxRuntime.jsx(ui.Tooltip,{className:"oui-max-w-[280px] oui-bg-base-8 oui-p-3 oui-text-2xs oui-text-base-contrast-54",content:jsxRuntime.jsxs(ui.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(ui.Divider,{className:"oui-w-full"}),jsxRuntime.jsx("span",{children:r("positions.column.margin.formula")})]}),children:jsxRuntime.jsx(ui.Text,{children:r("positions.column.margin")})}),dataIndex:"mm",onSort:true,width:100,rule:"price",render:a=>jsxRuntime.jsx(ui.Text.numeral,{children:a})},{title:r("funding.fundingFee"),dataIndex:"fundingFee",width:100,render:(a,l)=>jsxRuntime.jsx(at,{fee:a,symbol:l.symbol,start_t:l.timestamp.toString(),end_t:n.current})},{title:r("common.qty"),dataIndex:"close_qty",width:100,fixed:"right",render:fi},{title:r("common.price"),dataIndex:"close_price",width:100,fixed:"right",render:yi},{title:null,dataIndex:"close_position",align:"left",width:136,fixed:"right",render(){return jsxRuntime.jsxs(ui.Flex,{gapX:2,justify:"end",children:[jsxRuntime.jsx(qt,{}),jsxRuntime.jsx(si,{})]})}}],[e,o,r])};var io=t=>{let{t:e}=i18n.useTranslation();return jsxRuntime.jsx(ui.Button,{variant:"outlined",color:"secondary",size:"sm",className:"oui-border-base-contrast-36",onClick:o=>{o.stopPropagation(),o.preventDefault(),t.openTP_SL();},children:e("common.tpsl")})};var no=t=>{let e=hooks.useSymbolsInfo()[t.state.item.symbol](),{tpslOrder:o}=Q(),{t:i}=i18n.useTranslation();return {openTP_SL:()=>{ui.modal.sheet({title:i("common.tpsl"),content:jsxRuntime.jsx(uiTpsl.PositionTPSLSheet,{position:t.state.item,symbolInfo:e,order:o,isEditing:false})});},...t,...e}};var ro=t=>{let e=no(t);return jsxRuntime.jsx(io,{...e})};var Ii=t=>{let{item:e}=t,o=e.position_qty>0,{t:i}=i18n.useTranslation();return jsxRuntime.jsx(ui.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(ui.Badge,{color:o?"success":"danger",size:"xs",children:i(o?"common.long":"common.short")}),jsxRuntime.jsx(ge,{symbol:e.symbol})]}),showIcon:true,onClick:()=>{t.onSymbolChange?.({symbol:e.symbol});},children:e.symbol})},Di=t=>{let{item:e}=t,{t:o}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Flex,{gap:3,children:[jsxRuntime.jsxs(ui.Flex,{direction:"column",className:"oui-text-2xs",itemAlign:"end",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(ui.Text,{intensity:36,children:o("common.unrealizedPnl")}),jsxRuntime.jsx(ui.Text,{intensity:20,children:"(USDC)"})]}),jsxRuntime.jsx(ui.Text.numeral,{size:"xs",dp:t.pnlNotionalDecimalPrecision,rm:utils.Decimal.ROUND_DOWN,coloring:true,className:"orderly-font-semibold",suffix:jsxRuntime.jsx(ui.Text.numeral,{rule:"percentages",dp:t.pnlNotionalDecimalPrecision,rm:utils.Decimal.ROUND_DOWN,prefix:"(",suffix:")",className:ui.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(mt,{position:e,sharePnLConfig:t.sharePnLConfig,modalId:uiShare.SharePnLBottomSheetId,iconSize:12})]})},Ni=t=>{let{item:e}=t,{t:o}=i18n.useTranslation();return jsxRuntime.jsx(ui.Statistic,{label:o("common.qty"),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(ui.Text.numeral,{dp:t.base_dp,padding:false,coloring:true,children:e.position_qty})})},Li=t=>{let{item:e}=t,{t:o}=i18n.useTranslation();return jsxRuntime.jsx(ui.Statistic,{label:jsxRuntime.jsxs("span",{children:[o("positions.column.margin"),jsxRuntime.jsx(ui.Text,{intensity:20,children:"(USDC)"})]}),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(ui.Text.numeral,{dp:t.quote_dp,intensity:80,children:e.mm})})},qi=t=>{let{item:e}=t,{t:o}=i18n.useTranslation();return jsxRuntime.jsx(ui.Statistic,{align:"end",label:jsxRuntime.jsxs("span",{children:[o("common.notional"),jsxRuntime.jsx(ui.Text,{intensity:20,children:"(USDC)"})]}),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(ui.Text.numeral,{dp:t.quote_dp,intensity:80,children:e.notional})})},Ri=t=>{let{item:e}=t,{t:o}=i18n.useTranslation();return jsxRuntime.jsx(ui.Statistic,{label:o("common.avgOpen"),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(ui.Text.numeral,{dp:t.quote_dp,rm:utils.Decimal.ROUND_DOWN,intensity:80,children:e.average_open_price})})},Mi=t=>{let{item:e}=t,{t:o}=i18n.useTranslation();return jsxRuntime.jsx(ui.Statistic,{label:o("common.markPrice"),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(ui.Text.numeral,{dp:t.quote_dp,rm:utils.Decimal.ROUND_DOWN,intensity:80,children:e.mark_price})})},Oi=t=>{let{item:e}=t,{t:o}=i18n.useTranslation(),i=e.est_liq_price&&e.est_liq_price>0?e.est_liq_price:"-";return jsxRuntime.jsx(ui.Statistic,{label:o("positions.column.liqPrice"),align:"end",classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(ui.Text.numeral,{dp:t.quote_dp,rm:utils.Decimal.ROUND_DOWN,color:"warning",children:i})})},Ai=t=>{let{item:e}=t,{t:o}=i18n.useTranslation();return e.tp_trigger_price==null&&e.sl_trigger_price==null?jsxRuntime.jsx(jsxRuntime.Fragment,{}):jsxRuntime.jsxs(ui.Flex,{className:"oui-text-2xs oui-text-base-contrast-36",children:[jsxRuntime.jsxs(ui.Text,{children:[`${o("common.tpsl")}:`,"\xA0"]}),jsxRuntime.jsxs(ui.Flex,{className:"oui-gap-[2px]",children:[e.tp_trigger_price&&jsxRuntime.jsx(ui.Text.numeral,{color:"buy",children:e.tp_trigger_price}),e.sl_trigger_price&&"/",e.sl_trigger_price&&jsxRuntime.jsx(ui.Text.numeral,{color:"sell",children:e.sl_trigger_price})]})]})},ki=t=>{let{t:e}=i18n.useTranslation(),o=hr.useRef(Date.now().toString());return jsxRuntime.jsxs(ui.Flex,{justify:"end",className:"oui-w-full oui-text-2xs",children:[jsxRuntime.jsxs(ui.Text,{intensity:36,children:[e("funding.fundingFee"),": "]}),jsxRuntime.jsx(at,{fee:t.item.fundingFee,symbol:t.item.symbol,start_t:t.item.timestamp.toString(),end_t:o.current})]})};var so=t=>{let{className:e,...o}=t,i=jsxRuntime.jsxs(ui.Flex,{justify:"between",width:"100%",children:[jsxRuntime.jsx(Ii,{...t}),jsxRuntime.jsx(Di,{...t})]}),r=jsxRuntime.jsxs(ui.Grid,{cols:3,rows:2,gap:2,width:"100%",children:[jsxRuntime.jsx(Ni,{...t}),jsxRuntime.jsx(Li,{...t}),jsxRuntime.jsx(qi,{...t}),jsxRuntime.jsx(Ri,{...t}),jsxRuntime.jsx(Mi,{...t}),jsxRuntime.jsx(Oi,{...t})]}),n=jsxRuntime.jsxs(ui.Grid,{width:"100%",gap:2,cols:3,rows:1,children:[jsxRuntime.jsx(ro,{state:t}),jsxRuntime.jsx(qt,{type:types.OrderType.LIMIT}),jsxRuntime.jsx(qt,{type:types.OrderType.MARKET})]});return jsxRuntime.jsxs(ui.Flex,{direction:"column",width:"100%",gap:2,p:2,r:"xl",itemAlign:"start",className:ui.cn(e,"oui-bg-base-9"),children:[i,jsxRuntime.jsx(ui.Divider,{intensity:6,className:"oui-w-full"}),r,jsxRuntime.jsx(Ai,{...o}),jsxRuntime.jsx(ki,{...o}),n]})};var ao=t=>{let e=B();return {...t,...e}};var lo=t=>{let e=ao(t);return jsxRuntime.jsx(so,{...e,className:t.className})};var _e=t=>{let{position:e}=t,{t:o}=i18n.useTranslation(),[i,r]=hr.useState(Math.abs(e.position_qty).toString()),[n,s]=hr.useState(""),[a,l]=hr.useState(types.OrderType.MARKET);hr.useEffect(()=>{r(Math.abs(e.position_qty).toString());},[e.position_qty]);let m=e.symbol,u=hooks.useSymbolsInfo(),c=u?.[m],p=c("quote_dp"),P=c("base_dp"),f=c("base_tick"),{side:x,closeOrderData:T,submit:q,isMutating:_,errors:y,calculate:F}=hooks.usePositionClose({position:e,order:{type:a,quantity:i,price:n}}),k=hr.useCallback(d=>{let X=F({},"order_quantity",d,e.mark_price,c());r(X.order_quantity);},[F,u,e.mark_price]),W=hr.useCallback(d=>{let X=F({},"order_price",d,e.mark_price,c());s(X.order_price);},[F,u,e.mark_price]),st=hr.useCallback(d=>{l(d),s(d===types.OrderType.LIMIT?e.mark_price?.toString():"");},[e.mark_price]),N=hr.useCallback(async()=>{if(Number(i)>c("base_max")){ui.toast.error(jsxRuntime.jsxs("div",{children:[o("positions.limitClose.errors.exceed.title"),jsxRuntime.jsx("br",{}),jsxRuntime.jsx("div",{className:"oui-break-normal",children:o("positions.limitClose.errors.exceed.description",{quantity:i,symbol:va(m,"base"),maxQuantity:c("base_max")})})]}));return}return q().then(d=>{if(d.success)return t.mutatePositions?.(),d;throw d.message&&ui.toast.error(d.message),true}).catch(d=>(d.message&&ui.toast.error(d.message),false))},[q]);return jsxRuntime.jsx(Ve.Provider,{value:{quantity:i,price:n,type:a,side:x,position:e,updatePriceChange:W,updateQuantity:k,updateOrderType:st,tpslOrder:e.algo_order,onSubmit:N,submitting:_,closeOrderData:T,quoteDp:p,baseDp:P,baseTick:f,errors:y},children:t.children})};function va(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 Qi=t=>{let{pnlNotionalDecimalPrecision:e,sharePnLConfig:o,pagination:i,isLoading:r,dataSource:n,onSymbolChange:s}=t,a=oo({pnlNotionalDecimalPrecision:e,sharePnLConfig:o,onSymbolChange:s});return jsxRuntime.jsx(uiConnector.AuthGuardDataTable,{loading:r,id:"oui-desktop-positions-content",columns:a,bordered:true,dataSource:n,generatedRowKey:l=>l.symbol,renderRowContainer:(l,m,u)=>jsxRuntime.jsx(_t,{symbol:l.symbol,children:jsxRuntime.jsx(_e,{position:l,children:u})}),manualPagination:false,pagination:i,testIds:{body:"oui-testid-dataList-position-tab-body"}})},Ui=t=>{let{pnlNotionalDecimalPrecision:e,sharePnLConfig:o,dataSource:i,onSymbolChange:r}=t;return jsxRuntime.jsx(ui.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(_t,{symbol:n.symbol,children:jsxRuntime.jsx(_e,{position:n,children:jsxRuntime.jsx(lo,{item:n,index:s,pnlNotionalDecimalPrecision:e,sharePnLConfig:o,onSymbolChange:r})})})})},$i=t=>{let{pnlNotionalDecimalPrecision:e,sharePnLConfig:o,pagination:i,isLoading:r,tableData:n,onSymbolChange:s,mutatePositions:a}=t,l=oo({pnlNotionalDecimalPrecision:e,sharePnLConfig:o,onSymbolChange:s}),{dataSource:m=[]}=n;return jsxRuntime.jsx(uiConnector.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(ui.Badge,{color:"neutral",size:"xs",children:c?.description||ui.formatAddress(c?.id)}):null}},renderRowContainer:(u,c,p)=>u.symbol?jsxRuntime.jsx(_t,{symbol:u.symbol,children:jsxRuntime.jsx(_e,{position:u,mutatePositions:a,children:p})}):p,manualPagination:false,pagination:i,testIds:{body:"oui-testid-dataList-position-tab-body"}})};var qa=t=>{let e=ze(t);return jsxRuntime.jsx(Qi,{...e})},Ra=t=>{let e=ze(t);return jsxRuntime.jsx(Ui,{...e})},Ma=t=>{let e=$o(t);return jsxRuntime.jsx($i,{...e})};var Ki=t=>{let{onSymbolChange:e,pnlNotionalDecimalPrecision:o}=t,{t:i}=i18n.useTranslation();return hr.useMemo(()=>[{title:i("common.symbol"),dataIndex:"symbol",fixed:"left",width:200,onSort:(n,s)=>n.symbol.localeCompare(s.symbol),render:(n,s)=>jsxRuntime.jsx(Ha,{record:s,onSymbolChange:e})},{title:i("positions.history.column.closed&maxClosed"),dataIndex:"close_maxClose",width:200,render:(n,s)=>jsxRuntime.jsx(za,{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(ui.Flex,{gapX:1,children:[jsxRuntime.jsx(Ea,{record:s,pnlNotionalDecimalPrecision:o}),jsxRuntime.jsx(mt,{position:s,sharePnLConfig:t.sharePnLConfig,modalId:uiShare.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}=B();return jsxRuntime.jsx(ui.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}=B();return jsxRuntime.jsx(ui.Text.numeral,{dp:l,padding:false,children:a})}},{title:i("funding.fundingFee"),dataIndex:"accumulated_funding_fee",render:(n,s)=>jsxRuntime.jsx(at,{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(ui.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(ui.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(ui.Text.formatted,{rule:"date",formatString:"yyyy-MM-dd HH:mm:ss",children:s.last_update_time})}],[o,i])},Ha=t=>{let{record:e,onSymbolChange:o}=t,{t:i}=i18n.useTranslation(),r=hr.useMemo(()=>{let n=[],s=e.position_status,a=()=>s==="closed"?i("positions.history.status.closed"):s==="partial_closed"?i("positions.history.status.partialClosed"):ui.capitalizeFirstLetter(s.replace("_"," "));return n.push(jsxRuntime.jsx(ui.Badge,{color:s!=="closed"?"primaryLight":"neutral",size:"xs",className:"oui-break-normal oui-whitespace-nowrap",children:a()})),e.type==="adl"?n.push(jsxRuntime.jsx(ui.Badge,{color:"danger",size:"xs",children:i("positions.history.type.adl")})):e.type==="liquidated"&&n.push(jsxRuntime.jsx(ui.Tooltip,{className:"oui-min-w-[204px] oui-bg-base-5",arrow:{className:"oui-fill-base-5"},content:jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",className:"oui-text-2xs",children:[e.liquidation_id!=null&&jsxRuntime.jsxs(ui.Flex,{justify:"between",width:"100%",gap:2,children:[jsxRuntime.jsx(ui.Text,{intensity:54,children:i("positions.history.liquidated.liquidationId")}),jsxRuntime.jsx(ui.Text,{intensity:98,children:e.liquidation_id})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",width:"100%",gap:2,children:[jsxRuntime.jsx(ui.Text,{intensity:54,children:i("positions.history.liquidated.liquidatorFee")}),jsxRuntime.jsxs(ui.Text,{color:"lose",children:[e.liquidator_fee>0&&"-",utils.commifyOptional(e.liquidator_fee)]})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",width:"100%",gap:2,children:[jsxRuntime.jsx(ui.Text,{intensity:54,children:i("positions.history.liquidated.insFundFee")}),jsxRuntime.jsxs(ui.Text,{color:"lose",children:[e.insurance_fund_fee>0&&"-",utils.commifyOptional(e.insurance_fund_fee)]})]})]}),children:jsxRuntime.jsx("div",{children:jsxRuntime.jsx(ui.Badge,{size:"xs",color:"danger",className:"oui-cursor-pointer",children:jsxRuntime.jsx("span",{className:"oui-underline oui-decoration-dashed oui-decoration-[1px]",children:i("positions.history.type.liquidated")})})})})),n},[e,i]);return jsxRuntime.jsxs(ui.Flex,{gap:2,height:48,children:[jsxRuntime.jsx(ui.Box,{width:4,height:38,className:ui.cn("oui-rounded-[1px] oui-shrink-0",e.side==="LONG"?"oui-bg-trade-profit":"oui-bg-trade-loss")}),jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",children:[jsxRuntime.jsx(ui.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(ui.Flex,{gap:1,children:r})]})]})},za=t=>{let{record:e}=t,{base_dp:o}=B();return jsxRuntime.jsxs(ui.Flex,{gap:1,direction:"column",itemAlign:"start",className:"oui-overflow-hidden oui-whitespace-nowrap oui-text-ellipsis",children:[jsxRuntime.jsx(ui.Text.numeral,{dp:o,padding:false,children:Math.abs(e.closed_position_qty)}),jsxRuntime.jsx(ui.Text.numeral,{dp:o,padding:false,className:"oui-truncate",children:Math.abs(e.max_position_qty)})]})},Ea=t=>{let{record:e,pnlNotionalDecimalPrecision:o}=t,{t:i}=i18n.useTranslation(),r=e.netPnL!=null?e.netPnL:void 0,n=()=>jsxRuntime.jsx(ui.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(ui.Tooltip,{delayDuration:200,content:jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",className:"oui-text-2xs",children:[jsxRuntime.jsx(ui.Text,{intensity:80,children:i("positions.history.column.netPnl")}),jsxRuntime.jsxs(ui.Flex,{justify:"between",width:"100%",gap:2,children:[jsxRuntime.jsx(ui.Text,{intensity:54,children:i("common.realizedPnl")}),jsxRuntime.jsx(ui.Text,{color:e.realized_pnl>=0?"profit":"lose",className:"oui-cursor-pointer",children:utils.commifyOptional(e.realized_pnl)})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",width:"100%",gap:2,children:[jsxRuntime.jsx(ui.Text,{intensity:54,children:i("funding.fundingFee")}),jsxRuntime.jsx(ui.Text,{color:e.accumulated_funding_fee>0?"lose":"profit",className:"oui-cursor-pointer",children:utils.commifyOptional(-e.accumulated_funding_fee)})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",width:"100%",gap:2,children:[jsxRuntime.jsx(ui.Text,{intensity:54,children:i("positions.history.netPnl.tradingFee")}),jsxRuntime.jsx(ui.Text,{color:e.trading_fee>0?"lose":"profit",className:"oui-cursor-pointer",children:utils.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()})})};function O(t){if(t==null)return t;let e=new Date(t);return e.setHours(0,0,0,0),e}function A(t){if(t==null)return t;let e=new Date(t);return e.setHours(23,59,59,999),e}var kt=t=>({from:O(t.from),to:A(t.to??t.from)}),Bt=(t,e)=>t.getTime()===e.getTime();var Fe=t=>{let{onSymbolChange:e,symbol:o,pnlNotionalDecimalPrecision:i}=t,{state:r}=hooks.useAccount(),{data:n,isLoading:s}=hooks.usePrivateQuery(o?`/v1/position_history?symbol=${o}&limit=1000`:"/v1/position_history?limit=1000",{formatter(_){return (_.rows??null)?.map(y=>{if(y.realized_pnl!=null&&y.accumulated_funding_fee!=null&&y.trading_fee!=null){let F=y.realized_pnl-y.accumulated_funding_fee-y.trading_fee;return {...y,netPnL:F}}return y})},revalidateOnFocus:true}),{pagination:a,setPage:l}=ui.usePagination({pageSize:10}),{status:m,side:u,dateRange:c,filterDays:p,updateFilterDays:P,filterItems:f,onFilter:x}=Ya();hr.useEffect(()=>{l(1);},[m,u,c,p,o]);let T=hr.useMemo(()=>n==null?n:n.filter(_=>{let y=u==="all"?true:_.side.toLowerCase()===u.toLowerCase(),F=m==="all"?true:_.position_status.toLowerCase()===m.toLowerCase(),k=_?.last_update_time??_.open_timestamp,W=c.from&&c.to?k>=c.from.getTime()&&k<=c.to.getTime():true,st=o?_.symbol==o:true;return y&&F&&W&&st}),[m,u,c,n,o]);return {dataSource:reactApp.useDataTap(T,{accountStatus:r.status===types.AccountStatusEnum.EnableTradingWithoutConnected?types.AccountStatusEnum.EnableTradingWithoutConnected:types.AccountStatusEnum.EnableTrading,fallbackData:[]}),isLoading:s,onSymbolChange:e,pagination:a,filterItems:f,onFilter:x,symbol:o,filterDays:p,updateFilterDays:P,pnlNotionalDecimalPrecision:i}},Ya=()=>{let{t}=i18n.useTranslation(),[e,o]=hr.useState("all"),[i,r]=hr.useState("all"),n=kt({to:A(new Date),from:O(dateFns.subDays(new Date,89))}),[s,a]=hr.useState(90),[l,m]=hr.useState(n),u=f=>{a(f),m({from:O(dateFns.subDays(new Date,f-1)),to:A(new Date)});},c=f=>{if(f.name==="side"&&r(f.value),f.name==="status"&&o(f.value),f.name==="dateRange"){let x=kt(f.value);if(m(x),x.from&&x.to){let T=Math.abs(dateFns.differenceInDays(x.from,x.to))+1,_={1:{from:O(new Date),to:A(new Date)},7:{from:O(dateFns.subDays(new Date,6)),to:A(new Date)},30:{from:O(dateFns.subDays(new Date,29)),to:A(new Date)},90:{from:O(dateFns.subDays(new Date,89)),to:A(new Date)}}[T];_&&Bt(_.from,x.from)&&Bt(_.to,x.to)?a(T):a(null);}}},{isMobile:p}=ui.useScreen();return {filterItems:hr.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},x={type:"range",name:"dateRange",value:l,fromDate:O(dateFns.subDays(new Date,89)),toDate:A(new Date)},T={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 p?[f,T]:[f,T,x]},[i,e,l]),onFilter:c,side:i,dateRange:l,status:e,filterDays:s,updateFilterDays:u}};var Ji=t=>{let{side:e,symbol:o}=t.item,{t:i}=i18n.useTranslation(),r=e==="LONG";return jsxRuntime.jsx(ui.Text.formatted,{intensity:80,rule:"symbol",formatString:"base-type",size:"sm",prefix:jsxRuntime.jsx(ui.Badge,{color:r?"success":"danger",size:"xs",children:i(r?"common.buy":"common.sell")}),onClick:()=>{t.onSymbolChange?.({symbol:o});},children:o})};var Zi=t=>{let{item:e}=t,{t:o}=i18n.useTranslation(),i=()=>{ui.modal.alert({title:o("positions.liquidation"),message:jsxRuntime.jsxs(ui.Flex,{direction:"column",width:"100%",gap:2,className:"oui-text-2xs oui-text-base-contrast-54",children:[e.liquidation_id!=null&&jsxRuntime.jsxs(ui.Flex,{justify:"between",width:"100%",children:[jsxRuntime.jsx(ui.Text,{children:o("positions.history.liquidated.liquidationId")}),jsxRuntime.jsx(ui.Text,{intensity:98,children:e.liquidation_id})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",width:"100%",children:[jsxRuntime.jsx(ui.Text,{children:o("positions.history.liquidated.liquidatorFee")}),jsxRuntime.jsxs(ui.Text,{color:"lose",children:[e.liquidator_fee>0&&"-",utils.commifyOptional(e.liquidator_fee)]})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",width:"100%",children:[jsxRuntime.jsx(ui.Text,{children:o("positions.history.liquidated.insFundFee")}),jsxRuntime.jsxs(ui.Text,{color:"lose",children:[e.insurance_fund_fee>0&&"-",utils.commifyOptional(e.insurance_fund_fee)]})]})]})});},r=hr.useMemo(()=>{let n=[],s=e.position_status,a=()=>s==="closed"?o("positions.history.status.closed"):s==="partial_closed"?o("positions.history.status.partialClosed"):ui.capitalizeFirstLetter(s.replace("_"," "));return n.push(jsxRuntime.jsx(ui.Badge,{color:s!=="closed"?"primaryLight":"neutral",size:"xs",children:a()})),e.type==="adl"?n.push(jsxRuntime.jsx(ui.Badge,{color:"danger",size:"xs",children:o("positions.history.type.adl")})):e.type==="liquidated"&&n.push(jsxRuntime.jsx(ui.Badge,{size:"xs",color:"danger",className:"oui-cursor-pointer",onClick:i,children:jsxRuntime.jsx("span",{className:"oui-underline oui-decoration-dashed oui-decoration-[1px]",children:o("positions.history.type.liquidated")})})),n},[e]);return jsxRuntime.jsx(ui.Flex,{gap:1,children:r})},ji=t=>{let{item:e}=t,{t:o}=i18n.useTranslation(),i=e.closed_position_qty!=null?Math.abs(e.closed_position_qty):"--";return jsxRuntime.jsx(ui.Statistic,{label:jsxRuntime.jsx(ui.Text,{children:o("positions.history.column.closed")}),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(ui.Text.numeral,{dp:t.base_dp,padding:false,coloring:true,intensity:80,children:i})})},tn=t=>{let{item:e}=t,{t:o}=i18n.useTranslation(),i=e.max_position_qty!=null?Math.abs(e.max_position_qty):"--";return jsxRuntime.jsx(ui.Statistic,{label:jsxRuntime.jsx(ui.Text,{children:o("positions.history.column.maxClosed")}),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(ui.Text.numeral,{dp:t.base_dp,padding:false,coloring:true,intensity:80,children:i})})},en=t=>{let{item:e}=t,o=e.avg_open_price!=null?Math.abs(e.avg_open_price):"--",{t:i}=i18n.useTranslation();return jsxRuntime.jsx(ui.Statistic,{label:jsxRuntime.jsxs(ui.Flex,{gap:1,children:[i("common.avgOpen"),jsxRuntime.jsx(ui.Text,{intensity:20,children:"(USDC)"})]}),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(ui.Text.numeral,{dp:t.quote_dp,padding:false,coloring:true,intensity:80,children:o})})},on=t=>{let{item:e}=t,o=e.avg_close_price!=null?Math.abs(e.avg_close_price):"--",{t:i}=i18n.useTranslation();return jsxRuntime.jsx(ui.Statistic,{label:jsxRuntime.jsxs(ui.Flex,{gap:1,children:[i("common.avgClose"),jsxRuntime.jsx(ui.Text,{intensity:20,children:"(USDC)"})]}),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},children:jsxRuntime.jsx(ui.Text.numeral,{dp:t.quote_dp,padding:false,coloring:true,intensity:80,children:o})})},nn=t=>{let{item:e}=t,{t:o}=i18n.useTranslation();return jsxRuntime.jsx(ui.Statistic,{label:jsxRuntime.jsx(ui.Text,{children:o("positions.history.column.timeOpened")}),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},align:"end",children:jsxRuntime.jsx(ui.Text.formatted,{intensity:80,formatString:"yyyy-MM-dd HH:mm:ss",rule:"date",children:e.open_timestamp})})},rn=t=>{let{item:e}=t,{t:o}=i18n.useTranslation(),i=e.position_status=="closed"&&e.close_timestamp?jsxRuntime.jsx(ui.Text.formatted,{intensity:80,formatString:"yyyy-MM-dd HH:mm:ss",rule:"date",children:e.close_timestamp}):"--";return jsxRuntime.jsx(ui.Statistic,{label:jsxRuntime.jsx(ui.Text,{children:o("positions.history.column.timeClosed")}),classNames:{root:"oui-text-xs",label:"oui-text-2xs"},align:"end",children:i})},sn=t=>{let{t:e}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Flex,{justify:"end",className:"oui-text-2xs oui-w-full oui-py-2 oui-gap-1 oui-gap-1",children:[jsxRuntime.jsxs(ui.Text,{intensity:36,children:[e("funding.fundingFee"),": "]}),jsxRuntime.jsx(at,{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 bo=t=>jsxRuntime.jsxs(ui.Flex,{direction:"column",width:"100%",gap:2,itemAlign:"start",className:t.classNames?.root,children:[jsxRuntime.jsx(rl,{...t}),jsxRuntime.jsx(ui.Divider,{intensity:6,className:"oui-w-full"}),jsxRuntime.jsx(sl,{...t})]}),rl=t=>{let{t:e}=i18n.useTranslation(),o=()=>{let{item:i}=t;ui.modal.alert({title:e("positions.history.column.netPnl"),message:jsxRuntime.jsxs(ui.Flex,{direction:"column",width:"100%",gap:2,className:"oui-text-2xs oui-text-base-contrast-54",children:[jsxRuntime.jsxs(ui.Flex,{justify:"between",width:"100%",gap:2,children:[jsxRuntime.jsx(ui.Text,{intensity:54,children:e("common.realizedPnl")}),jsxRuntime.jsx(ui.Text,{color:i.realized_pnl>=0?"profit":"lose",children:utils.commifyOptional(i.realized_pnl)})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",width:"100%",gap:2,children:[jsxRuntime.jsx(ui.Text,{intensity:54,children:e("funding.fundingFee")}),jsxRuntime.jsx(ui.Text,{color:i.accumulated_funding_fee>0?"lose":"profit",children:utils.commifyOptional(-i.accumulated_funding_fee)})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",width:"100%",gap:2,children:[jsxRuntime.jsx(ui.Text,{intensity:54,children:e("positions.history.netPnl.tradingFee")}),jsxRuntime.jsx(ui.Text,{color:i.trading_fee>0?"lose":"profit",children:utils.commifyOptional(-i.trading_fee)})]})]})});};return jsxRuntime.jsxs(ui.Flex,{gap:1,width:"100%",children:[jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",className:"oui-flex-1",gap:1,children:[jsxRuntime.jsx(Ji,{...t}),jsxRuntime.jsx(Zi,{...t})]}),jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"end",className:"oui-flex-1",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:e("positions.history.column.netPnl")}),jsxRuntime.jsxs(ui.Flex,{gapX:1,children:[jsxRuntime.jsx("button",{onClick:o,children:jsxRuntime.jsx(ui.Text.numeral,{size:"xs",coloring:true,children:t.item.netPnL??"--"})}),jsxRuntime.jsx(mt,{position:t.item,sharePnLConfig:t.sharePnLConfig,modalId:uiShare.SharePnLBottomSheetId,iconSize:12,isPositionHistory:true})]})]})]})},sl=t=>jsxRuntime.jsxs("div",{className:"oui-w-full",children:[jsxRuntime.jsxs(ui.Grid,{cols:3,rows:2,width:"100%",gap:0,className:"oui-grid-cols-[1fr,1fr,135px]",children:[jsxRuntime.jsx(ji,{...t}),jsxRuntime.jsx(tn,{...t}),jsxRuntime.jsx(nn,{...t}),jsxRuntime.jsx(en,{...t}),jsxRuntime.jsx(on,{...t}),jsxRuntime.jsx(rn,{...t})]}),jsxRuntime.jsx(sn,{...t})]});var Po=t=>{let e=B();return {...t,...e}};var Co=t=>{let e=Po(t);return jsxRuntime.jsx(bo,{...e})};var _o=t=>{let{onSymbolChange:e,pagination:o,pnlNotionalDecimalPrecision:i}=t,r=Ki({onSymbolChange:e,pnlNotionalDecimalPrecision:i,sharePnLConfig:t.sharePnLConfig}),{t:n}=i18n.useTranslation(),s=hr.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(ui.Flex,{direction:"column",width:"100%",height:"100%",itemAlign:"start",children:[jsxRuntime.jsxs(ui.Flex,{gap:3,children:[t.filterItems.length>0&&jsxRuntime.jsx(ui.DataFilter,{items:t.filterItems,onFilter:a=>{t.onFilter(a);}}),[1,7,30,90].map(a=>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(ui.Text.gradient,{color:t.filterDays===a?"brand":void 0,className:ui.cn("oui-whitespace-nowrap oui-break-normal",t.filterDays!==a?"oui-text-base-contrast-54":""),children:s[a]||`${a}D`})}),jsxRuntime.jsx("div",{className:"oui-absolute oui-inset-0 oui-rounded oui-opacity-[.12] oui-gradient-primary",onClick:()=>{t.updateFilterDays(a);}})]},`item-${a}`))]}),jsxRuntime.jsx(uiConnector.AuthGuardDataTable,{loading:t.isLoading,id:"oui-desktop-positions-content",columns:r,bordered:true,dataSource:t.dataSource,generatedRowKey:a=>`${a.symbol}_${a.position_id}`,renderRowContainer:(a,l,m)=>jsxRuntime.jsx(_t,{symbol:a.symbol,children:m}),manualPagination:false,pagination:o,testIds:{body:"oui-testid-dataList-positionHistory-tab-body"},classNames:{root:"!oui-h-[calc(100%_-_49px)]"}})]})},To=t=>jsxRuntime.jsxs(ui.Grid,{cols:1,rows:2,className:"oui-w-full oui-grid-rows-[auto,1fr]",gap:1,children:[jsxRuntime.jsx(ui.Flex,{gap:2,p:2,className:"oui-rounded-b-xl oui-bg-base-9",children:jsxRuntime.jsx(ui.DataFilter,{className:"oui-border-none oui-py-0",items:t.filterItems,onFilter:e=>{t.onFilter(e);}})}),jsxRuntime.jsx(ui.ListView,{className:ui.cn("oui-hide-scrollbar oui-w-full oui-space-y-0 oui-overflow-y-hidden",t.classNames?.root),contentClassName:ui.cn("!oui-space-y-1",t.classNames?.content),dataSource:t.dataSource,renderItem:(e,o)=>jsxRuntime.jsx(_t,{symbol:e.symbol,children:jsxRuntime.jsx(Co,{item:e,index:o,onSymbolChange:t.onSymbolChange,classNames:{root:t.classNames?.cell},sharePnLConfig:t.sharePnLConfig})})})]});var fl=t=>{let e=Fe(t);return jsxRuntime.jsx(_o,{...e,sharePnLConfig:t.sharePnLConfig})},yl=t=>{let{classNames:e,...o}=t,i=Fe(o);return jsxRuntime.jsx(To,{...i,classNames:e,sharePnLConfig:t.sharePnLConfig})};var un=t=>{let{t:e}=i18n.useTranslation();return hr.useMemo(()=>[{title:e("common.time"),dataIndex:"timestamp",fixed:"left",width:202,render:i=>jsxRuntime.jsx(ui.Text.formatted,{rule:"date",formatString:"yyyy-MM-dd HH:mm:ss",children:i})},{title:e("positions.Liquidation.column.liquidationId"),dataIndex:"liquidation_id",width:202,render:i=>jsxRuntime.jsx(ui.Text,{children:i})},{title:e("positions.Liquidation.column.insFundTransfer"),dataIndex:"transfer_amount_to_insurance_fund",width:202,render:i=>jsxRuntime.jsx(ui.Text,{children:utils.commifyOptional(i)})},{title:e("common.symbol"),dataIndex:"Symbol",width:202,render:(i,r)=>jsxRuntime.jsx(ui.Flex,{direction:"column",itemAlign:"start",children:r.positions_by_perp?.map(n=>jsxRuntime.jsx(ui.Text.formatted,{rule:"symbol",formatString:"base-quote",children:n.symbol}))})},{title:`${e("common.price")} (USDC)`,dataIndex:"Price_(USDC)",width:202,render:(i,r)=>jsxRuntime.jsx(ui.Flex,{direction:"column",itemAlign:"start",children:r.positions_by_perp?.map(n=>jsxRuntime.jsx(Fo,{value:n.transfer_price,type:"quote"}))})},{title:e("common.quantity"),dataIndex:"Quantity",width:202,render:(i,r)=>jsxRuntime.jsx(ui.Flex,{direction:"column",itemAlign:"start",children:r.positions_by_perp?.map(n=>jsxRuntime.jsx(Fo,{value:n.position_qty,type:"base"}))})},{title:e("positions.Liquidation.column.liquidationFee"),dataIndex:"abs_liquidation_fee",width:202,render:(i,r)=>jsxRuntime.jsx(ui.Flex,{direction:"column",itemAlign:"start",children:r.positions_by_perp?.map(n=>jsxRuntime.jsx(Fo,{value:n.abs_liquidation_fee,type:"quote"}))})}],[e])},Fo=t=>jsxRuntime.jsx(ui.Text,{children:utils.commifyOptional(t.value)});var cn=t=>{let{t:e}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Flex,{width:"100%",justify:"between",children:[jsxRuntime.jsxs(ui.Flex,{gap:1,children:[jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:e("common.price")}),jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:20,children:"(USDC)"})]}),jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:80,children:utils.commifyOptional(t.transfer_price)})]})},dn=t=>{let{t:e}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Flex,{width:"100%",justify:"between",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:e("common.quantity")}),jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:80,children:utils.commifyOptional(t.position_qty)})]})},pn=t=>{let{t:e}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Flex,{width:"100%",justify:"between",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:e("positions.Liquidation.column.liquidationFee")}),jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:80,children:utils.commifyOptional(t.abs_liquidation_fee)})]})};var Io=t=>jsxRuntime.jsxs(ui.Flex,{direction:"column",width:"100%",gap:2,itemAlign:"start",className:t.classNames?.root,children:[jsxRuntime.jsx(Sl,{...t}),jsxRuntime.jsx(_l,{...t})]},t.item.timestamp),Sl=t=>{let{t:e}=i18n.useTranslation();return jsxRuntime.jsxs(ui.Flex,{gap:1,width:"100%",children:[jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",className:"oui-flex-1",gap:1,children:[jsxRuntime.jsx(ui.Text.formatted,{size:"2xs",intensity:36,rule:"date",formatString:"yyyy-MM-dd HH:mm:ss",children:t.item.timestamp}),jsxRuntime.jsxs(ui.Flex,{gap:1,children:[jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:`${e("positions.Liquidation.column.liquidationId")}:`}),jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:80,children:` ${t.item.liquidation_id}`})]})]}),jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"end",className:"oui-flex-1",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:`${e("positions.Liquidation.column.insFundTransfer")}:`}),jsxRuntime.jsx(ui.Text,{intensity:80,size:"xs",children:utils.commifyOptional(t.item.transfer_amount_to_insurance_fund)})]})]})},_l=t=>jsxRuntime.jsx(ui.Flex,{direction:"column",width:"100%",children:t.item.positions_by_perp?.map((e,o)=>jsxRuntime.jsx(Tl,{isLast:o===t.item.positions_by_perp.length-1,...e},`${o}-${e.symbol}`))}),Tl=t=>jsxRuntime.jsxs(ui.Flex,{width:"100%",itemAlign:"start",className:ui.cn("oui-border-t-[1px] oui-border-line-6 oui-pt-2",!t.isLast&&"oui-pb-2"),children:[jsxRuntime.jsx(ui.Text.formatted,{rule:"symbol",formatString:"base-quote",size:"xs",intensity:80,className:"oui-flex-1",children:t.symbol}),jsxRuntime.jsxs(ui.Grid,{cols:1,rows:3,width:"100%",gap:1,className:"oui-flex-1",children:[jsxRuntime.jsx(cn,{...t}),jsxRuntime.jsx(dn,{...t}),jsxRuntime.jsx(pn,{...t})]})]},t.key);var Do=t=>({...t});var No=t=>{let{classNames:e,...o}=t,i=Do(o);return jsxRuntime.jsx(Io,{classNames:e,...i})};var qo=t=>{let e=un();return jsxRuntime.jsxs(ui.Flex,{direction:"column",width:"100%",height:"100%",itemAlign:"start",children:[jsxRuntime.jsxs(ui.Flex,{gap:3,children:[t.filterItems.length>0&&jsxRuntime.jsx(ui.DataFilter,{items:t.filterItems,onFilter:o=>{t.onFilter(o);}}),[1,7,30,90].map(o=>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(ui.Text.gradient,{color:t.filterDays===o?"brand":void 0,className:t.filterDays!==o?"oui-text-base-contrast-54":"",children:`${o}D`})}),jsxRuntime.jsx("div",{className:"oui-absolute oui-inset-0 oui-rounded oui-opacity-[.12] oui-gradient-primary",onClick:()=>{t.updateFilterDays(o);}})]},`item-${o}`))]}),jsxRuntime.jsx(uiConnector.AuthGuardDataTable,{loading:t.isLoading,id:"oui-desktop-liquidation-content",columns:e,bordered:true,dataSource:t.dataSource,generatedRowKey:o=>`${o.liquidation_id}`,pagination:t.pagination,testIds:{body:"oui-testid-dataList-liquidation-tab-body"},classNames:{root:"!oui-h-[calc(100%_-_49px)]"}})]})},Ro=t=>jsxRuntime.jsxs(ui.Grid,{cols:1,rows:2,className:"oui-w-full oui-grid-rows-[auto,1fr]",gap:1,children:[jsxRuntime.jsx(ui.Flex,{gap:2,p:2,className:"oui-rounded-b-xl oui-bg-base-9",children:jsxRuntime.jsx(ui.DataFilter,{className:"oui-border-none oui-py-0",items:t.filterItems,onFilter:e=>{t.onFilter(e);}})}),jsxRuntime.jsx(ui.ListView,{className:ui.cn("oui-hide-scrollbar oui-w-full oui-space-y-0 oui-overflow-y-hidden",t.classNames?.root),contentClassName:ui.cn("!oui-space-y-1",t.classNames?.content),dataSource:t.dataSource,loadMore:t.loadMore,renderItem:(e,o)=>jsxRuntime.jsx(No,{item:e,index:o,classNames:{root:t.classNames?.cell}})})]});var qe=t=>{let{symbol:e,enableLoadMore:o}=t,{page:i,pageSize:r,setPage:n,pagination:s,parsePagination:a}=ui.usePagination({pageSize:10}),{dateRange:l,filterDays:m,updateFilterDays:u,filterItems:c,onFilter:p}=kl();hr.useEffect(()=>{n(1);},[e,l,m]);let[P,{meta:f,isLoading:x,loadMore:T}]=Al({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:reactApp.useDataTap(P,{fallbackData:[]}),isLoading:x,loadMore:T,pagination:a(f),dateRange:l,filterDays:m,updateFilterDays:u,filterItems:c,onFilter:p}},Al=t=>{let e=hooks.usePrivateInfiniteQuery(Bl(t),{initialSize:1,formatter:s=>s,revalidateOnFocus:true}),o=hr.useMemo(()=>e.data?.[0]?.meta,[e.data?.[0]]),i=hr.useMemo(()=>e.data?.map(s=>s.rows)?.flat(),[e.data]),r=e.isLoading;return [i,{meta:o,isLoading:r,loadMore:()=>{e.setSize(e.size+1);}}]},kl=()=>{let t=kt({to:A(new Date),from:O(dateFns.subDays(new Date,89))}),[e,o]=hr.useState(90),[i,r]=hr.useState(t),n=m=>{o(m),r({from:O(dateFns.subDays(new Date,m-1)),to:A(new Date)});},s=m=>{if(m.name==="dateRange"){let u=kt(m.value);if(r(u),u.from&&u.to){let c=Math.abs(dateFns.differenceInDays(u.from,u.to))+1,P={1:{from:O(new Date),to:A(new Date)},7:{from:O(dateFns.subDays(new Date,6)),to:A(new Date)},30:{from:O(dateFns.subDays(new Date,29)),to:A(new Date)},90:{from:O(dateFns.subDays(new Date,89)),to:A(new Date)}}[c];P&&Bt(P.from,u.from)&&Bt(P.to,u.to)?o(c):o(null);}}},{isMobile:a}=ui.useScreen();return {filterItems:hr.useMemo(()=>{let m={type:"range",name:"dateRange",value:i,fromDate:O(dateFns.subDays(new Date,89)),toDate:A(new Date)};return a?[m]:[m]},[i]),onFilter:s,dateRange:i,filterDays:e,updateFilterDays:n}},Bl=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 Hl=t=>{let e=qe(t);return jsxRuntime.jsx(qo,{...e})},zl=t=>{let{classNames:e,...o}=t,i=qe(o);return jsxRuntime.jsx(Ro,{classNames:e,...i})};var Wl="MarketCloseConfirmID";ui.registerSimpleDialog(Wl,It,{size:"md",closable:false});
23
23
 
24
- exports.CombinePositionsWidget = pa;
25
- exports.FundingFeeButton = nt;
26
- exports.FundingFeeHistoryUI = Gt;
27
- exports.Liquidation = co;
28
- exports.LiquidationWidget = bl;
29
- exports.MarketCloseConfirmID = Sl;
30
- exports.MobileLiquidation = po;
31
- exports.MobileLiquidationWidget = Pl;
32
- exports.MobilePositionHistory = io;
33
- exports.MobilePositionHistoryWidget = Ka;
34
- exports.MobilePositionsWidget = da;
35
- exports.PositionHistory = oo;
36
- exports.PositionHistoryWidget = Ga;
37
- exports.PositionsWidget = ca;
38
- exports.useLiquidationScript = le;
39
- exports.usePositionHistoryScript = ee;
24
+ exports.CombinePositionsWidget = Ma;
25
+ exports.FundingFeeButton = at;
26
+ exports.FundingFeeHistoryUI = se;
27
+ exports.Liquidation = qo;
28
+ exports.LiquidationWidget = Hl;
29
+ exports.MarketCloseConfirmID = Wl;
30
+ exports.MobileLiquidation = Ro;
31
+ exports.MobileLiquidationWidget = zl;
32
+ exports.MobilePositionHistory = To;
33
+ exports.MobilePositionHistoryWidget = yl;
34
+ exports.MobilePositionsWidget = Ra;
35
+ exports.PositionHistory = _o;
36
+ exports.PositionHistoryWidget = fl;
37
+ exports.PositionsWidget = qa;
38
+ exports.useLiquidationScript = qe;
39
+ exports.usePositionHistoryScript = Fe;
40
40
  //# sourceMappingURL=out.js.map
41
41
  //# sourceMappingURL=index.js.map