@orderly.network/ui-tpsl 2.8.0-alpha.0 → 2.8.1-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,16 +1,16 @@
1
1
  import { utils, useSymbolsInfo, usePositionStream, useLocalStorage, useTPSLOrder, useMemoizedFn, useOrderEntry, useOrderStream, findPositionTPSLFromOrders, useMutation, useMarkPrice, useIndexPrice, useLeverageBySymbol, findTPSLFromOrder, findTPSLOrderPriceFromOrder } from '@orderly.network/hooks';
2
2
  import { useTranslation, i18n, Trans } from '@orderly.network/i18n';
3
3
  import { SDKError, AlgoOrderRootType, PositionType, OrderType, OrderSide, OrderStatus, AlgoOrderType } from '@orderly.network/types';
4
- import { Flex, Input, inputFormatter, cn, Slider, Text, registerSimpleSheet, registerSimpleDialog, useScreen, ScrollArea, Grid, Button, ThrottledButton, Divider, Box, toast, TokenIcon, modal, Tooltip, ExclamationFillIcon, Select, Checkbox, ChevronDownIcon, Badge, textVariants, SimpleDropdownMenu, CaretDownIcon, useModal } from '@orderly.network/ui';
4
+ import { Flex, Input, inputFormatter, cn, Slider, Text, registerSimpleSheet, registerSimpleDialog, useScreen, ScrollArea, Grid, Button, ThrottledButton, Divider, Box, toast, TokenIcon, modal, Tooltip, ExclamationFillIcon, Select, ChevronDownIcon, Badge, textVariants, Checkbox, SimpleDropdownMenu, CaretDownIcon, useModal } from '@orderly.network/ui';
5
5
  import { useOrderEntryFormErrorMsg } from '@orderly.network/react-app';
6
6
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
7
7
  import { memo, useRef, useState, useEffect, createContext, useMemo, Fragment as Fragment$1, useContext } from 'react';
8
- import { Decimal, checkIsNaN, transSymbolformString, getTPSLDirection, todpIfNeed } from '@orderly.network/utils';
8
+ import { Decimal, checkIsNaN, transSymbolformString, getTPSLDirection, formatNum, todpIfNeed } from '@orderly.network/utils';
9
9
  import { order, positions } from '@orderly.network/perp';
10
10
  import { AuthGuardDataTable } from '@orderly.network/ui-connector';
11
11
 
12
- var H=e=>{let{t}=useTranslation(),{order:o,symbolLeverage:i}=e,{symbol:s}=o,r=useMarkPrice(s),n=useIndexPrice(s),l=useLeverageBySymbol(i?void 0:s),a=i||l;return jsxs(Flex,{direction:"column",itemAlign:"start",className:cn("oui-w-full oui-gap-3 oui-font-semibold ",e.classNames?.root),children:[jsxs(Flex,{itemAlign:"center",className:cn("oui-gap-2 ",e.classNames?.symbol),children:[jsxs(Flex,{gap:1,itemAlign:"center",children:[jsx(TokenIcon,{symbol:s,className:"oui-size-5"}),jsx(Text.formatted,{className:"oui-whitespace-nowrap oui-break-normal",rule:"symbol",formatString:"base-type",size:"sm",weight:"semibold",intensity:98,children:s})]}),jsxs(Text,{size:"2xs",className:"oui-h-[18px] oui-rounded oui-bg-base-7 oui-px-2 oui-font-semibold oui-text-base-contrast-36",children:[a,"x"]})]}),jsxs(Grid,{cols:2,gapX:2,gapY:1,className:cn("oui-w-full oui-gap-x-2 ",e.classNames?.container),children:[jsxs(Flex,{justify:"between",className:" oui-text-base-contrast-36",children:[jsx(Text,{size:"2xs",children:t("tpsl.advanced.quantity")}),jsx(Text.numeral,{rule:"price",className:"oui-text-base-contrast-80",size:"2xs",dp:e.baseDP??2,children:Number(o.order_quantity)})]}),jsxs(Flex,{justify:"between",className:"oui-text-base-contrast-36",children:[jsx(Text,{size:"2xs",children:t("tpsl.advanced.lastPrice")}),jsx(Text.numeral,{rule:"price",className:"oui-text-base-contrast-80",size:"2xs",dp:e.quoteDP??2,children:n?.data})]}),jsxs(Flex,{justify:"between",className:"oui-text-base-contrast-36",children:[jsx(Text,{size:"2xs",children:t("tpsl.advanced.orderPrice")}),jsx(Text.numeral,{rule:"price",className:"oui-text-base-contrast-80",size:"2xs",dp:e.quoteDP??2,children:Number(o.order_price)})]}),jsxs(Flex,{justify:"between",className:"oui-text-base-contrast-36",children:[jsx(Text,{size:"2xs",children:t("common.markPrice")}),jsx(Text.numeral,{rule:"price",className:"oui-text-base-contrast-80",size:"2xs",dp:e.quoteDP??2,children:r?.data})]})]})]})};var ue=e=>{let{t}=useTranslation(),{tp_pnl:o,sl_pnl:i}=e,s=useMemo(()=>{let r=jsx(Text,{className:"oui-text-base-contrast-36",children:"-- x"});if(o===void 0||i===void 0||checkIsNaN(o)||checkIsNaN(i))return r;let n=new Decimal(o),l=new Decimal(i);if(l.isZero()||n.isZero())return r;let a=n.div(l).abs().toNumber().toFixed(2);return jsxs(Flex,{gap:1,itemAlign:"center",className:"oui-text-base-contrast-80",children:[jsx(Text,{children:a}),jsx(Text,{className:"oui-text-base-contrast-36",children:"x"})]})},[o,i]);return jsxs(Flex,{direction:"column",itemAlign:"start",className:cn("oui-w-full oui-gap-1 oui-text-2xs oui-text-base-contrast-36",e.className),children:[jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{size:"2xs",children:t("tpsl.totalEstTpPnl")}),jsx(Text.numeral,{suffix:jsx(Text,{className:"oui-text-base-contrast-36 oui-ml-1",children:"USDC"}),rule:"price",coloring:true,visible:true,size:"2xs",dp:2,children:o?Number(o):"--"})]}),jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{size:"2xs",children:t("tpsl.totalEstSlPnl")}),i?jsx(Text.numeral,{suffix:jsx(Text,{className:"oui-text-base-contrast-36 oui-ml-1",children:"USDC"}),coloring:true,visible:true,size:"2xs",dp:2,children:Number(i)}):jsx(Text,{size:"2xs",children:"-- USDC"})]}),jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{size:"2xs",children:t("tpsl.riskRewardRatio")}),jsx(Text,{className:"oui-text-base-contrast-80",size:"2xs",children:s})]})]})};var ot=e=>{let{values:t,side:o,type:i,rootOrderPrice:s}=e,r=useLeverageBySymbol(e.symbolLeverage?void 0:e.symbol),n=e.symbolLeverage||r,l=useMemo(()=>{if(!n||!s||Number(s)===0)return null;let a;if(t.order_type===OrderType.MARKET?a=t.trigger_price:t.order_type===OrderType.LIMIT&&(a=t.order_price),!a)return null;try{return order.tpslROI({side:o,type:i,closePrice:Number(a),orderPrice:Number(s),leverage:n})*100}catch{return null}},[t,n,s,i,o]);return {...e,roi:l}};var kt=e=>{let{type:t,values:o}=e,[i,s]=useLocalStorage("TP/SL_Mode","Offset%"),[r,n]=useState(true),{t:l}=useTranslation(),a=useMemo(()=>{switch(i){case "Offset":return `${t.toLowerCase()}_offset`;case "Offset%":return `${t.toLowerCase()}_offset_percentage`;default:return `${t.toLowerCase()}_pnl`}},[i]),g=useMemo(()=>o[i],[o,i]),f=useMemo(()=>[{label:l("tpsl.pnl"),value:"PnL",testId:"PnL_menu_item"},{label:l("tpsl.offset"),value:"Offset",testId:"Offset_mneu_item"},{label:`${l("tpsl.offset")}%`,value:"Offset%",testId:"Offset%_menu_item"}],[l]),p=useRef(""),d=u=>{e.onChange(a,u);},m=u=>{let{dp:y=2}=u;return {onRenderBefore:(c,T)=>(c=`${c}`,c===""||c==="-"?"":i==="Offset%"?`${new Decimal(c.replace(new RegExp(p.current.replace(".","\\.")+"$"),"")).mul(100).todp(2,4).toString()}${p.current}`:(i==="Offset"&&(c=todpIfNeed(c,y)),`${c}`)),onSendBefore:c=>{if(/^\-?0{2,}$/.test(c))return "0";if(i==="Offset%"){if(c!==""){c=todpIfNeed(c,2);let T=c.match(/\.0{0,2}$/);T?p.current=T[0]:p.current="",c=new Decimal(c).div(100).toString(),c=`${c}${p.current}`;}}else i==="PnL"&&t==="SL"&&r||(c=todpIfNeed(c,y));return c===""||c==="-"?"":c}}};return {mode:i,modes:f,type:e.type,formatter:m,onModeChange:u=>{s(u);},value:g,pnl:o.PnL,onValueChange:d,quote_dp:e.quote_dp,setFocus:n}};var zt=e=>{let{mode:t,modes:o,onModeChange:i,onValueChange:s,quote:r,quote_dp:n,value:l,pnl:a}=e,{t:g}=useTranslation(),[f,p]=useState(t),[d,m]=useState(t==="Offset%"?"%":r),u=useMemo(()=>{let y=Number(a);if(isNaN(y)||y===0)return "";if(y>0)return "oui-text-trade-profit";if(y<0)return "oui-text-trade-loss"},[a]);return useEffect(()=>{let y=o.find(c=>c.value===t)?.label;p(y),m(t==="Offset%"?"%":r);},[t,o]),jsx(Input,{prefix:f,size:{initial:"lg",lg:"md"},placeholder:d,align:"right",value:l,"data-testid":e.testId,autoComplete:"off",onValueChange:s,formatters:[e.formatter({dp:n,mode:t}),inputFormatter.currencyFormatter,inputFormatter.decimalPointFormatter],classNames:{input:cn("oui-text-2xs",u),prefix:"oui-text-base-contrast-54 oui-text-2xs",root:"oui-outline-line-12 focus-within:oui-outline-primary-light"},onFocus:()=>{m(""),e.setFocus(true);},onBlur:()=>{m(t==="Offset%"?"%":r),e.setFocus(false);},suffix:jsxs(Fragment,{children:[t==="Offset%"&&!!l&&jsx(Text,{size:"2xs",color:"inherit",className:cn("oui-ml-[2px]",u),children:"%"}),jsx(Do,{mode:t,modes:o,onModeChange:y=>i(y.value)})]})})},Do=e=>jsx(SimpleDropdownMenu,{currentValue:e.mode,menu:e.modes,align:"end",size:"xs",className:"oui-min-w-[80px]",onSelect:t=>e.onModeChange(t),children:jsx("button",{className:"oui-p-2",children:jsx(CaretDownIcon,{size:12,color:"white"})})});var Qt=e=>{let{testId:t,quote:o,...i}=e,s=kt(i);return jsx(zt,{...s,testId:t,quote:o})};var Kt=e=>{let{t}=useTranslation(),o=[{label:t("orderEntry.orderType.limitOrder"),value:OrderType.LIMIT},{label:t("orderEntry.orderType.marketOrder"),value:OrderType.MARKET}];return jsx(Select.options,{value:e.type,options:o,disabled:e.disabled,onValueChange:e.onChange,size:"xs",classNames:{trigger:"oui-bg-transparent oui-w-auto oui-outline-line-1 oui-input-root oui-bg-base-6 oui-h-10 lg:oui-h-8 oui-outline-line-12 "},valueFormatter:(i,s)=>{let r={[OrderType.LIMIT]:t("orderEntry.orderType.limit"),[OrderType.MARKET]:t("common.marketPrice")}[i];return jsx(Text,{size:"2xs",children:r})}})};var nt=e=>{let[t,o]=useState("USDC"),{t:i}=useTranslation();return jsx(Input.tooltip,{"data-testid":`oui-testid-tpsl-popUp-${e.type.toLowerCase()}-input`,prefix:e.label??i("common.markPrice"),size:{initial:"lg",lg:"md"},tooltip:e.error,placeholder:t,disabled:e.disabled,align:"right",autoComplete:"off",value:e.value,color:e.error?"danger":void 0,classNames:{input:"oui-text-2xs placeholder:oui-text-2xs",prefix:"oui-text-base-contrast-54 oui-text-2xs",root:"oui-w-full"},onValueChange:e.onValueChange,onFocus:()=>{o("");},onBlur:()=>{o("USDC");},formatters:[inputFormatter.numberFormatter,inputFormatter.dpFormatter(e.quote_dp),inputFormatter.currencyFormatter,inputFormatter.decimalPointFormatter]})};var lt=e=>{let{t}=useTranslation(),{getErrorMsg:o}=useOrderEntryFormErrorMsg(e.errors),{values:i,positionType:s}=e;return jsxs(Flex,{direction:"column",itemAlign:"start",justify:"start",className:"oui-w-full",children:[jsxs(Flex,{className:"oui-w-full",itemAlign:"center",justify:"start",children:[!e.disableEnableCheckbox&&jsx(Checkbox,{"data-testid":`oui-testid-orderEntry-${e.type}-enable-checkBox`,id:`enable_${e.type}`,color:"white",checked:i.enable,onCheckedChange:r=>{e.onChange(`${e.type}_enable`,!!r);}}),jsx("label",{htmlFor:`enable_${e.type}`,className:cn("oui-cursor-pointer oui-text-sm",e.disableEnableCheckbox?"oui-ml-0 oui-text-base-contrast":"oui-ml-1 oui-text-base-contrast-36"),children:e.type==="tp"?t("tpsl.advanced.TP.label"):t("tpsl.advanced.SL.label")})]}),jsxs(Flex,{direction:"column",gap:2,itemAlign:"start",className:cn("oui-w-full oui-pt-2",i.enable?"":"oui-hidden"),children:[jsxs(Flex,{direction:"column",itemAlign:"start",className:"oui-w-full oui-gap-0.5",children:[jsx(Text,{className:"oui-text-2xs oui-text-base-contrast-54",children:t("tpsl.advanced.triggerPrice")}),jsxs(Grid,{cols:2,gap:2,className:"oui-w-full oui-px-0.5",children:[jsx(nt,{type:`${e.type} price`,value:i.trigger_price,error:o(`${e.type}_trigger_price`),onValueChange:r=>{e.onChange(`${e.type}_trigger_price`,r);},quote_dp:e.quote_dp}),jsx(Qt,{type:e.type==="tp"?"TP":"SL",onChange:(r,n)=>{e.onChange(r,n);},quote:"USDC",quote_dp:2,values:i})]})]}),jsxs(Flex,{direction:"column",className:cn("oui-w-full oui-gap-0.5",e.hideOrderPrice?"oui-hidden":""),itemAlign:"start",children:[jsx(Text,{className:"oui-text-2xs oui-text-base-contrast-54",children:t("tpsl.advanced.orderPrice")}),jsxs(Grid,{cols:2,gap:2,className:"oui-w-full oui-px-0.5",children:[jsx(nt,{disabled:s===PositionType.FULL||i.order_type===OrderType.MARKET,type:"order price",label:i.order_type===OrderType.LIMIT?t("tpsl.advanced.limit"):t("tpsl.advanced.market"),value:i.order_price,error:o(`${e.type}_order_price`),onValueChange:r=>{e.onChange(`${e.type}_order_price`,r);},quote_dp:e.quote_dp}),jsx(Kt,{disabled:s===PositionType.FULL||e.disableOrderTypeSelector,type:i.order_type,onChange:r=>{e.onChange(`${e.type}_order_type`,r);}})]})]})]}),jsx($o,{price:i.order_type===OrderType.MARKET?i.trigger_price:i.order_price,orderType:i.order_type,pnl:i.PnL,roi:e.roi,dp:e.quote_dp,className:"oui-mt-1"})]})},$o=e=>{let{t}=useTranslation(),{price:o,pnl:i,roi:s,dp:r,className:n,orderType:l}=e;return !s||!o||!i?null:jsx(Text,{className:cn("oui-text-2xs oui-text-base-contrast-36",n),children:jsx(Trans,{i18nKey:"tpsl.advanced.ROI",components:[jsx(Fragment$1,{children:jsx(Text.numeral,{className:"oui-px-1 oui-text-base-contrast",dp:r,suffix:jsx(Text,{className:"oui-pl-0.5",children:"USDC"}),children:o})},"price"),jsx(Fragment$1,{children:jsx(Text,{className:"oui-px-1 oui-text-base-contrast",children:l===OrderType.MARKET?t("common.market"):t("common.limit")})},"orderType"),jsx(Fragment$1,{children:jsx(Text.numeral,{coloring:true,className:"oui-whitespace-nowrap oui-px-1",dp:2,suffix:jsx(Text,{className:"oui-pl-0.5",children:"USDC"}),children:i})},"pnl"),jsx(Fragment$1,{children:jsx(Text.numeral,{coloring:true,className:"oui-whitespace-nowrap oui-px-1",dp:2,suffix:"%",children:s})},"roi")]})})};var V=e=>{let t=ot(e);return jsx(lt,{...t})};var Ht=e=>({value:e.value,onChange:e.onChange,disableSelector:e.disableSelector});var ei="position_type",Zt=e=>{let{t}=useTranslation(),o=[{label:t("tpsl.partialPosition"),value:PositionType.PARTIAL},{label:t("tpsl.fullPosition"),value:PositionType.FULL}];return jsxs(Flex,{gap:1,itemAlign:"center",justify:"start",children:[jsx(Tooltip,{className:"oui-w-[280px] oui-p-3",content:e.value===PositionType.FULL?t("tpsl.positionType.full.tips"):t("tpsl.positionType.partial.tips"),children:jsx(ExclamationFillIcon,{className:"oui-cursor-pointer oui-text-base-contrast-54",size:12})}),e.disableSelector?e.value===PositionType.FULL?jsx(Text,{className:"oui-text-2xs oui-font-normal oui-text-base-contrast-54",children:t("tpsl.positionType.full")}):jsx(Text,{className:"oui-text-2xs oui-font-normal oui-text-base-contrast-54",children:t("tpsl.positionType.partial")}):jsx(Select.options,{value:e.value,options:o,onValueChange:i=>{e.onChange(ei,i);},size:"xs",classNames:{trigger:" oui-bg-transparent oui-border-0 oui-w-auto oui-px-0 oui-font-normal"},contentProps:{className:" oui-bg-base-8 oui-border-0"}})]})};var Y=e=>{let t=Ht(e);return jsx(Zt,{...t})};var Be=memo(e=>{let{maxQty:t,base_dp:o,baseTick:i,quantity:s}=e,r=useRef(null),{t:n}=useTranslation(),[l,a]=useState(0),g=d=>{let m=d;Number(d)>t&&(m=t.toString()),i>0&&e.onQuantityChange?.(utils.formatNumber(m,i)??d);},f=d=>{a(d);let m=new Decimal(d).div(100).mul(t).toFixed(o,Decimal.ROUND_DOWN);g(m);};useEffect(()=>{let d=Math.min(Number(s||0),t),m=new Decimal(d).div(t).mul(100).toDecimalPlaces(2,Decimal.ROUND_DOWN).toNumber();a(m);},[s,t]);let p=e.quantity.toString().length>0?e.errorMsg:void 0;return jsxs(Fragment,{children:[jsx(Flex,{gap:2,children:jsx("div",{className:"oui-flex-1",children:jsx(Input.tooltip,{"data-testid":"oui-testid-tpsl-popUp-quantity-input",ref:r,prefix:n("common.quantity"),size:{initial:"md",lg:"sm"},align:"right",value:e.quantity,autoComplete:"off",classNames:{prefix:"oui-text-base-contrast-54",root:cn("oui-bg-base-5 oui-outline-line-12",p&&"oui-outline-danger")},tooltipProps:{content:{className:"oui-bg-base-6 oui-text-base-contrast-80"},arrow:{className:"oui-fill-base-6"}},tooltip:p,color:p?"danger":void 0,formatters:[inputFormatter.dpFormatter(e.base_dp),inputFormatter.numberFormatter,inputFormatter.currencyFormatter,inputFormatter.decimalPointFormatter],onValueChange:d=>{e.onQuantityChange?.(d);let m=Number(d);if(m&&m>e.maxQty){let u=e.maxQty;e.onQuantityChange?.(u),r.current?.blur();}},onBlur:d=>g(d.target.value),suffix:jsx("span",{className:"oui-px-3 oui-text-2xs oui-text-base-contrast-54",children:e.base})})})}),jsx(Flex,{mt:2,itemAlign:"center",height:"15px",children:jsx(Slider,{min:0,max:100,markCount:5,showTip:true,value:[l],color:"primary",onValueChange:d=>{f(d[0]);}})}),jsxs(Flex,{justify:"between",children:[jsx(Text.numeral,{color:"primary",size:"2xs",suffix:"%",children:l}),jsxs(Flex,{itemAlign:"center",gap:1,children:[jsx("button",{className:"oui-leading-none",style:{lineHeight:0},onClick:()=>{e.onQuantityChange?.(e.maxQty);},children:jsx(Text,{color:"primary",size:"2xs",children:n("common.max")})}),jsx(Text.numeral,{rule:"price",size:"2xs",intensity:54,tick:e.baseTick,children:e.maxQty})]})]})]})});var er=e=>{let{TPSL_OrderEntity:t,symbolInfo:o,onCancel:i,onComplete:s,status:r,position:n,setValues:l,isEditing:a}=e,{errors:g,validated:f}=e.metaState,{t:p}=useTranslation(),{isMobile:d}=useScreen(),{getErrorMsg:m}=useOrderEntryFormErrorMsg(g);if(!n)return null;let u=()=>t.position_type===PositionType.FULL?null:jsx(Box,{className:"oui-px-0.5",children:jsx(Be,{maxQty:e.maxQty,quantity:e.orderQuantity??e.maxQty,baseTick:o("base_tick"),base_dp:o("base_dp"),onQuantityChange:e.setQuantity,base:o("base"),isEditing:e.isEditing,errorMsg:f?m("quantity"):void 0})});return jsxs("div",{id:"orderly-tp_sl-order-edit-content",children:[jsx(ScrollArea,{className:cn(d&&"oui-h-[calc(100vh-200px)]"),children:jsxs("div",{className:"oui-px-2",children:[jsx(H,{baseDP:o("base_dp"),quoteDP:o("quote_dp"),classNames:{root:"oui-mb-3",container:"oui-gap-x-[30px]"},order:{symbol:n.symbol,order_quantity:n.position_qty.toString(),order_price:n.average_open_price.toString()},symbolLeverage:n.leverage}),jsxs(Flex,{direction:"column",justify:"start",itemAlign:"start",gap:3,className:"oui-mb-3 oui-w-full",children:[!a&&jsx(Y,{disableSelector:true,value:t.position_type??PositionType.PARTIAL,onChange:(y,c)=>{e.setOrderValue(y,c);}}),t.position_type===PositionType.FULL&&jsx(Text,{className:"oui-text-2xs oui-text-warning",children:p("tpsl.positionType.full.tips.market")})]}),u(),jsxs(Flex,{direction:"column",itemAlign:"start",justify:"start",gap:6,className:"oui-mt-3 oui-w-full",children:[jsx(V,{symbol:n.symbol,rootOrderPrice:n.average_open_price.toString(),type:"tp",side:n.position_qty>0?OrderSide.BUY:OrderSide.SELL,values:{enable:t.tp_enable??true,trigger_price:t.tp_trigger_price?.toString()??void 0,PnL:t.tp_pnl?.toString()??void 0,Offset:t.tp_offset?.toString()??void 0,"Offset%":t.tp_offset_percentage?.toString()??void 0,order_price:t.tp_order_price?.toString()??void 0,order_type:t.tp_order_type??OrderType.MARKET},hideOrderPrice:t.position_type===PositionType.FULL,errors:f?g:null,disableOrderTypeSelector:a,quote_dp:o("quote_dp"),positionType:t.position_type??PositionType.PARTIAL,onChange:(y,c)=>{e.setOrderValue(y,c);},symbolLeverage:n.leverage}),jsx(V,{symbol:n.symbol,rootOrderPrice:n.average_open_price.toString(),type:"sl",side:n.position_qty>0?OrderSide.BUY:OrderSide.SELL,values:{enable:t.sl_enable??true,trigger_price:t.sl_trigger_price?.toString()??void 0,PnL:t.sl_pnl?.toString()??void 0,Offset:t.sl_offset?.toString()??void 0,"Offset%":t.sl_offset_percentage?.toString()??void 0,order_price:t.sl_order_price?.toString()??void 0,order_type:t.sl_order_type??OrderType.MARKET},hideOrderPrice:t.position_type===PositionType.FULL,errors:f?g:null,quote_dp:o("quote_dp"),positionType:t.position_type??PositionType.PARTIAL,disableOrderTypeSelector:a,onChange:(y,c)=>{e.setOrderValue(y,c);},symbolLeverage:n.leverage})]}),jsx(ue,{tp_pnl:t.tp_pnl,sl_pnl:t.sl_pnl,className:"oui-my-3"})]})}),jsxs(Grid,{px:2,cols:2,gap:3,mt:4,children:[jsx(Button,{size:"md",color:"secondary","data-testid":"tpsl-cancel",onClick:()=>{e.close?.(),i?.();},children:p("common.cancel")}),jsx(ThrottledButton,{size:"md","data-testid":"tpsl-confirm",disabled:r.isCreateMutating,loading:r.isCreateMutating||r.isUpdateMutating,onClick:()=>{e.onSubmit().then(()=>{e.close?.(),s?.();}).catch(y=>{});},children:p("common.confirm")})]})]})};var Ci=e=>{let{tpPrice:t,slPrice:o}=e,{t:i}=useTranslation();return t&&o?jsx(Badge,{size:"xs",color:"neutral",children:i("common.tpsl")}):t?jsx(Badge,{size:"xs",color:"neutral",children:i("tpsl.tp")}):o?jsx(Badge,{size:"xs",color:"neutral",children:i("tpsl.sl")}):null},Ae=e=>{let{symbol:t,tpPrice:o,slPrice:i,qty:s,maxQty:r,side:n,quoteDP:l,baseDP:a,isEditing:g,isPositionTPSL:f,orderInfo:p}=e,{t:d}=useTranslation(),[m,u]=useLocalStorage("orderly_order_confirm",true),y=()=>p.position_type===PositionType.FULL?jsx(Text,{children:d("tpsl.positionType.full")}):jsx(Text,{children:d("tpsl.positionType.partial")}),c=({price:N,isOrderPrice:O,isEnable:w,colorType:oe})=>w?!N&&O?jsx(Text,{className:"oui-text-base-contrast-36",children:d("common.market")}):jsx(Text.numeral,{unit:"USDC",rule:"price",className:cn("oui-text-base-contrast",oe==="TP"?"oui-text-trade-profit":"oui-text-trade-loss"),unitClassName:"oui-text-base-contrast-36 oui-ml-1",dp:l,padding:false,children:N}):jsx(Text,{className:"oui-text-base-contrast-36",children:"-- USDC"}),T=f;return jsxs(Fragment,{children:[g&&jsx(Text,{as:"div",size:"2xs",intensity:80,className:"oui-mb-3",children:d("tpsl.agreement",{symbol:transSymbolformString(t)})}),jsxs(Flex,{pb:4,children:[jsx(Box,{grow:true,children:jsx(Text.formatted,{rule:"symbol",formatString:"base-type",size:"base",showIcon:true,as:"div",intensity:80,children:t})}),jsxs(Flex,{gap:1,children:[T&&jsx(Badge,{size:"xs",color:"primary",children:d("common.position")}),jsx(Ci,{tpPrice:o,slPrice:i}),n===OrderSide.SELL?jsx(Badge,{size:"xs",color:"success",children:d("common.buy")}):jsx(Badge,{size:"xs",color:"danger",children:d("common.sell")})]})]}),jsx(Divider,{}),p.tp_trigger_price||p.sl_trigger_price?jsxs(Fragment,{children:[jsx(Divider,{className:"oui-my-4"}),jsxs("div",{className:textVariants({size:"sm",intensity:54,className:"oui-space-y-1 oui-w-full oui-flex oui-flex-col oui-gap-3"}),children:[jsx(Text,{className:"oui-text-base-contrast",children:y()}),jsxs(Flex,{justify:"between",children:[jsx(Text,{children:d("common.orderQty")}),jsx(Text.numeral,{rule:"price",dp:a,padding:false,className:"oui-text-base-contrast",children:p.quantity??"-"})]}),jsxs(Flex,{direction:"column",justify:"between",itemAlign:"start",gap:1,className:"oui-w-full",children:[jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:d("tpsl.tpTriggerPrice")})," ",c({price:p.tp_trigger_price??"",isOrderPrice:false,isEnable:!!p.tp_trigger_price,colorType:"TP"})]}),jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:d("tpsl.tpOrderPrice")}),c({price:p.tp_order_price??"",isOrderPrice:true,isEnable:!!p.tp_trigger_price,colorType:"TP"})]})]}),jsxs(Flex,{direction:"column",justify:"between",itemAlign:"start",gap:1,className:"oui-w-full",children:[jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:d("tpsl.slTriggerPrice")}),c({price:p.sl_trigger_price??"",isOrderPrice:false,isEnable:!!p.sl_trigger_price,colorType:"SL"})]}),jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:d("tpsl.slOrderPrice")}),c({price:p.sl_order_price??"",isOrderPrice:true,isEnable:!!p.sl_trigger_price,colorType:"SL"})]})]})]})]}):null,jsx(Box,{pt:2,children:jsxs(Flex,{gap:1,children:[jsx(Checkbox,{id:"disabledConfirm",color:"white",checked:!m,onCheckedChange:N=>{u(!N);}}),jsx("label",{htmlFor:"disabledConfirm",className:textVariants({size:"xs",intensity:54,className:"oui-ml-1"}),children:d("orderEntry.disableOrderConfirm")})]})})]})};var mr=e=>{let{symbol:t,order:o,isEditing:i,positionType:s,triggerPrice:r,type:n,withTriggerPrice:l}=e,{t:a}=useTranslation();if(i&&!o)throw new SDKError("order is required when isEditing is true");let g=useSymbolsInfo();useRef(AlgoOrderRootType.TP_SL);let [{rows:p}]=usePositionStream(),[d]=useLocalStorage("orderly_order_confirm",true),m=p.find(x=>x.symbol===t);useEffect(()=>{m||e.close?.();},[m]);let [u,{submit:y,deleteOrder:c,setValue:T,setValues:N,validate:O,metaState:w,errors:oe,isCreateMutating:xe,isUpdateMutating:ie}]=useTPSLOrder({symbol:t,position_qty:m?.position_qty??0,average_open_price:m?.average_open_price??0},{defaultOrder:o,positionType:r?PositionType.PARTIAL:s,tpslEnable:{tp_enable:l?n==="tp":true,sl_enable:l?n==="sl":true},isEditing:i}),et=x=>{T("quantity",x);},k=(x,L)=>{T(x,L);},h=(x,L)=>{T(x,L);},Ft=useMemo(()=>Math.abs(Number(m?.position_qty)),[m?.position_qty]);useMemo(()=>{let x=o?.algo_type===AlgoOrderRootType.POSITIONAL_TP_SL?Ft:o?.quantity,L=0;if((Number(u.quantity)!==x||!i&&u.quantity)&&(L=1),o&&i){let{tp_trigger_price:tt,sl_trigger_price:K}=utils.findTPSLFromOrder(o),{tp_order_price:wt,sl_order_price:Dt}=utils.findTPSLOrderPriceFromOrder(o);tt!==Number(u.tp_trigger_price)&&typeof typeof u.tp_trigger_price<"u"&&(L=2),K!==Number(u.sl_trigger_price)&&typeof u.sl_trigger_price<"u"&&(L=3),typeof u.tp_order_price<"u"&&wt!==OrderType.MARKET&&wt!==Number(u.tp_order_price)&&(L=4),typeof u.sl_order_price<"u"&&Dt!==OrderType.MARKET&&Dt!==Number(u.sl_order_price)&&(L=5);}return L===1&&!u.tp_trigger_price&&!u.sl_trigger_price&&(L=-1),L},[u.tp_trigger_price,u.tp_order_price,u.sl_trigger_price,u.sl_order_price,u.quantity,o,i]);useEffect(()=>{l&&r&&(T(n==="tp"?"tp_trigger_price":"sl_trigger_price",r),e.qty&&T("quantity",e.qty));},[n,r,e.qty]);let no=()=>o?.algo_order_id&&o?.symbol?c(o?.algo_order_id,o?.symbol):Promise.reject("order id or symbol is invalid"),lo=(x,L)=>{if(!d)return Promise.resolve(true);let tt=Math.abs(Number(m?.position_qty));return `${x.tp_trigger_price??""}`.length===0&&`${x.sl_trigger_price??""}`.length===0?modal.confirm({title:a("orders.cancelOrder"),content:a("tpsl.cancelOrder.description"),onOk:()=>L.cancel()}).then(()=>true,()=>Promise.reject(false)):modal.confirm({title:a("tpsl.confirmOrder"),onOk:async()=>{try{let K=await L.submit({accountId:m?.account_id});return K.success?K:(K.message&&toast.error(K.message),!1)}catch(K){return K?.message&&toast.error(K.message),false}},classNames:{body:"!oui-pb-0"},content:jsx(Ae,{isPositionTPSL:s===PositionType.FULL,isEditing:i,symbol:x.symbol,qty:Number(x.quantity),maxQty:tt,tpPrice:Number(x.tp_trigger_price),slPrice:Number(x.sl_trigger_price),side:x.side,orderInfo:x,quoteDP:g[t]("quote_dp")??2,baseDP:g[t]("base_dp")??2})}).then(()=>true,()=>Promise.reject(false))},ao=async()=>{try{if(await O())return d?lo(u,{position:m,submit:y,cancel:no}):y({accountId:m?.account_id}).then(()=>!0).catch(L=>{throw L?.message&&toast.error(L.message),!1})}catch(x){return Promise.reject(x)}};return {isEditing:i,symbolInfo:g[t],maxQty:Ft,setQuantity:useMemoizedFn(et),orderQuantity:u.quantity,TPSL_OrderEntity:u,setOrderValue:T,setPnL:h,setOrderPrice:k,onSubmit:ao,metaState:w,errors:oe,status:{isCreateMutating:xe,isUpdateMutating:ie},position:m,setValues:N}};var Ne=e=>{let{onCancel:t,onComplete:o,...i}=e,s=mr(i);return jsx(er,{...s,onCancel:t,onComplete:o,close:i.close})},Ve="TPSLSheetId",ge="TPSLDialogId";registerSimpleSheet(Ve,Ne);registerSimpleDialog(ge,Ne,{classNames:{content:"oui-w-[420px]"}});var ji=e=>{let{position:t,order:o,baseDP:i,quoteDP:s,buttonProps:r,isEditing:n}=e,[l]=useLocalStorage("orderly_order_confirm",true),{t:a}=useTranslation(),g=n?o?.algo_type===AlgoOrderRootType.POSITIONAL_TP_SL:void 0;return jsx(Box,{onClick:()=>{modal.show(ge,{order:o,symbol:t.symbol,baseDP:i,quoteDP:s,positionType:g?PositionType.FULL:PositionType.PARTIAL,isEditing:n});},className:"oui-cursor-pointer",children:e.children||jsx(Button,{variant:"outlined",size:"sm",color:"secondary",...r,children:e.label})})};var Zi=e=>{let{order:t,isEditing:o}=e,{hide:i}=useModal(),s=o?t?.algo_type===AlgoOrderRootType.POSITIONAL_TP_SL:void 0;return jsx(Ne,{...e,positionType:e.positionType??(s?PositionType.FULL:PositionType.PARTIAL),onCancel:i})};var xr=e=>{let{t}=useTranslation(),{errors:o,validated:i}=e.metaState,{formattedOrder:s,setValue:r,symbolInfo:n,setValues:l}=e,[a,g]=useState({enable:true,order_type:s.tp_order_type??OrderType.MARKET,order_price:s.tp_order_price??"",trigger_price:s.tp_trigger_price??"",PnL:s.tp_pnl??"",Offset:s.tp_offset??"","Offset%":s.tp_offset_percentage??"",ROI:s.tp_ROI??""}),[f,p]=useState({enable:true,order_type:s.sl_order_type??OrderType.MARKET,order_price:s.sl_order_price??"",trigger_price:s.sl_trigger_price??"",PnL:s.sl_pnl??"",Offset:s.sl_offset??"","Offset%":s.sl_offset_percentage??"",ROI:s.sl_ROI??""});return useEffect(()=>{g(d=>({...d,enable:s.tp_enable??true,order_type:s.tp_order_type??OrderType.MARKET,order_price:s.tp_order_price??"",trigger_price:s.tp_trigger_price??"",PnL:s.tp_pnl??"",Offset:s.tp_offset??"","Offset%":s.tp_offset_percentage??"",ROI:s.tp_ROI??""}));},[s]),useEffect(()=>{p(d=>({...d,enable:s.sl_enable??true,order_type:s.sl_order_type??OrderType.MARKET,order_price:s.sl_order_price??"",trigger_price:s.sl_trigger_price??"",PnL:s.sl_pnl??"",Offset:s.sl_offset??"","Offset%":s.sl_offset_percentage??"",ROI:s.sl_ROI??""}));},[s]),jsxs("div",{className:"oui-rounded-[16px] oui-py-3 oui-flex oui-flex-col oui-justify-between oui-h-full",children:[jsx("div",{className:"oui-px-3",children:jsxs(Flex,{className:"oui-mb-5 oui-cursor-pointer oui-text-base oui-text-base-contrast-80",gap:1,itemAlign:"center",onClick:e.onClose,children:[jsx(rs,{className:" oui-text-base-contrast-80"}),jsx(Text,{children:t("tpsl.advanced.title")})]})}),jsxs(ScrollArea,{className:"oui-flex-1",children:[jsx("div",{className:"oui-px-3",children:jsx(H,{order:s,baseDP:n.base_dp,quoteDP:n.quote_dp,symbolLeverage:e.symbolLeverage})}),jsx(Divider,{className:"oui-my-3"}),jsxs("div",{className:"oui-px-3",children:[jsxs(Flex,{className:"oui-gap-[6px]",children:[jsx(Button,{onClick:()=>{r("side",OrderSide.BUY);},size:"sm",fullWidth:true,"data-type":OrderSide.BUY,className:cn(s.side===OrderSide.BUY?"oui-bg-success-darken hover:oui-bg-success-darken/80 active:oui-bg-success-darken/80":"oui-bg-base-7 oui-text-base-contrast-36 hover:oui-bg-base-6 active:oui-bg-base-6"),"data-testid":"oui-testid-orderEntry-side-buy-button",children:t("common.buy")}),jsx(Button,{onClick:()=>{r("side",OrderSide.SELL);},"data-type":OrderSide.SELL,fullWidth:true,size:"sm",className:cn(s.side===OrderSide.SELL?"oui-bg-danger-darken hover:oui-bg-danger-darken/80 active:oui-bg-danger-darken/80":"oui-bg-base-7 oui-text-base-contrast-36 hover:oui-bg-base-6 active:oui-bg-base-6"),"data-testid":"oui-testid-orderEntry-side-sell-button",children:t("common.sell")})]}),jsxs("div",{className:"oui-py-3",children:[jsx(Y,{value:s.position_type??PositionType.PARTIAL,onChange:(d,m)=>{if(m===PositionType.FULL){l({position_type:PositionType.FULL,tp_order_type:OrderType.MARKET,tp_order_price:void 0,sl_order_type:OrderType.MARKET,sl_order_price:void 0});return}r("position_type",m);}}),s.position_type===PositionType.FULL&&jsxs(Flex,{justify:"start",itemAlign:"start",gap:2,className:"oui-mt-3 oui-w-full",children:[jsx("div",{className:"oui-relative oui-top-[7px] oui-size-1 oui-rounded-full oui-bg-[#D25f00]"}),jsx(Text,{className:"oui-text-2xs oui-text-[#D25f00]",children:t("tpsl.positionType.full.tips.market")})]})]}),jsxs(Flex,{direction:"column",gap:6,children:[jsx(V,{rootOrderPrice:s.order_price,symbol:n.symbol,type:"tp",side:s.side,values:a,errors:i?o:null,quote_dp:n.quote_dp,hideOrderPrice:s.position_type===PositionType.FULL,onChange:(d,m)=>{r(d,m);},positionType:s.position_type??PositionType.PARTIAL,symbolLeverage:e.symbolLeverage}),jsx(V,{rootOrderPrice:s.order_price,symbol:n.symbol,type:"sl",side:s.side,values:f,hideOrderPrice:s.position_type===PositionType.FULL,errors:i?o:null,quote_dp:n.quote_dp,positionType:s.position_type??PositionType.PARTIAL,onChange:(d,m)=>{r(d,m);},symbolLeverage:e.symbolLeverage})]}),jsx(ue,{tp_pnl:s.tp_pnl,sl_pnl:s.sl_pnl,className:"oui-mt-6"})]})]}),jsxs(Flex,{className:"oui-mt-6 oui-px-3",gap:2,children:[jsx(Button,{size:"md",fullWidth:true,color:"gray",variant:"outlined",className:"oui-text-base-contrast-36",onClick:e.onClose,children:t("common.cancel")}),jsx(Button,{size:"md",fullWidth:true,color:"success",className:cn(s.side===OrderSide.SELL?"oui-bg-danger-darken hover:oui-bg-danger-darken/80 active:oui-bg-danger-darken/80":"oui-bg-success-darken hover:oui-bg-success-darken/80 active:oui-bg-success-darken/80"),onClick:e.onSubmit,children:t("tpsl.advanced.submit")})]})]})},rs=e=>jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 14 14",fill:"currentColor",...e,children:jsx("path",{d:"M8.03752 2.9294C7.89169 2.95857 7.74527 3.03207 7.65661 3.16624L5.33145 6.66624C5.20137 6.86224 5.20137 7.12648 5.33145 7.32248L7.65661 10.8225C7.83452 11.0902 8.20669 11.1655 8.47385 10.9864C8.74044 10.8079 8.8151 10.434 8.63719 10.1662L6.53019 6.99408L8.63719 3.82249C8.8151 3.55416 8.74044 3.18082 8.47385 3.00232C8.34027 2.91249 8.18335 2.89965 8.03752 2.9294Z"})});var br=(e,t)=>{if(e.tp_trigger_price||e.sl_trigger_price){if(t==="tp")return !!e.tp_trigger_price;if(t==="sl")return !!e.sl_trigger_price}return true},Sr=e=>{let{order:t,setOrderValue:o,onClose:i}=e,[s,r]=useState(null),{formattedOrder:n,setValue:l,setValues:a,helper:g,symbolInfo:f,metaState:p,...d}=useOrderEntry(t.symbol,{initialOrder:{symbol:t.symbol,order_type:t.order_type,side:t.side,order_price:t.order_price,order_quantity:t.order_quantity,position_type:t.position_type??PositionType.PARTIAL,trigger_price:t.trigger_price,tp_enable:br(t,"tp"),sl_enable:br(t,"sl"),tp_trigger_price:t.tp_trigger_price,sl_trigger_price:t.sl_trigger_price,tp_order_price:t.tp_order_price,sl_order_price:t.sl_order_price,tp_order_type:t.tp_order_type,sl_order_type:t.sl_order_type,sl_pnl:t.sl_pnl,sl_offset:t.sl_offset,sl_offset_percentage:t.sl_offset_percentage,tp_pnl:t.tp_pnl,tp_offset:t.tp_offset,tp_offset_percentage:t.tp_offset_percentage}});return {order:t,formattedOrder:n,symbolInfo:f,setValue:l,setValues:a,onSubmit:()=>{g.validate().then(()=>{e.onSubmit(n);}).catch(u=>{});},onClose:i,metaState:p,symbolLeverage:e.symbolLeverage}};var Lr=e=>{let t=Sr({order:e.order,setOrderValue:e.setOrderValue,onSubmit:e.onSubmit,onClose:e.onClose,symbolLeverage:e.symbolLeverage});return jsx(xr,{...t})},as="TPSLAdvancedSheetId",ds="TPSLAdvancedDialogId";registerSimpleSheet(as,Lr,{title:()=>i18n.t("common.settings")});registerSimpleDialog(ds,Lr,{title:()=>i18n.t("common.settings")});var Ar=e=>{let{position:t}=e,o=t.symbol,i=useSymbolsInfo()[o],{isMobile:s}=useScreen(),{t:r}=useTranslation(),[n,l]=useState([]),[a,g]=useState([]),[f,{cancelAlgoOrder:p,cancelPostionOrdersByTypes:d,refresh:m}]=useOrderStream({symbol:t.symbol,status:OrderStatus.INCOMPLETE,includes:[AlgoOrderRootType.POSITIONAL_TP_SL,AlgoOrderRootType.TP_SL],size:500},{keeplive:true}),u=async O=>await p(O.algo_order_id,O.symbol),y=async()=>await d(o,[AlgoOrderRootType.TP_SL]),c=({order:O,positionType:w,isEditing:oe})=>{let xe=s?Ve:ge;modal.show(xe,{order:O,symbol:t.symbol,positionType:w,isEditing:oe});},T=(O,w)=>{c({order:O,positionType:w,isEditing:true});},N=O=>{c({positionType:O,isEditing:false});};return useEffect(()=>{if(f){let{fullPositionOrder:O,partialPositionOrders:w}=findPositionTPSLFromOrders(f,o);l(O?[O]:[]),g(w??[]);}},[f,o]),{symbolInfo:i,position:t,symbol:o,fullPositionOrders:n,partialPositionOrders:a,cancelPostionOrdersByTypes:d,onCancelOrder:u,onCancelAllTPSLOrders:y,editTPSLOrder:T,addTPSLOrder:N}};var Nr=createContext({}),hr=e=>{let t=useSymbolsInfo()[e.symbol];return jsx(Nr.Provider,{value:{base_dp:t("base_dp"),quote_dp:t("quote_dp"),position:e.position},children:e.children})},X=()=>useContext(Nr);var C=e=>jsx(Flex,{direction:"column",justify:"center",itemAlign:"start",className:"oui-text-2xs oui-h-[36px]",children:e.children});var mt=({order:e})=>{let{position:t,base_dp:o,quote_dp:i}=X(),{tp_trigger_price:s,sl_trigger_price:r}=findTPSLFromOrder(e),n,l,a=new Decimal(e.quantity).eq(0)?t.position_qty:e.quantity,g=t.position_qty>0?OrderSide.BUY:OrderSide.SELL,f=t?.average_open_price;if(s){let p=getTPSLDirection({side:g,type:"tp",closePrice:s,orderPrice:f});n=new Decimal(positions.unrealizedPnL({qty:a,openPrice:f,markPrice:s})).abs().mul(p).toNumber();}if(r){let p=getTPSLDirection({side:g,type:"sl",closePrice:r,orderPrice:f});l=new Decimal(positions.unrealizedPnL({qty:a,openPrice:f,markPrice:r})).abs().mul(p).toNumber();}return jsxs(Flex,{gap:2,direction:"column",justify:"between",itemAlign:"start",className:"oui-text-2xs",children:[n&&jsx(C,{children:jsx(Text.numeral,{dp:2,rm:Decimal.ROUND_DOWN,coloring:true,padding:false,children:n})}),l&&jsx(C,{children:jsx(Text.numeral,{dp:2,rm:Decimal.ROUND_DOWN,coloring:true,padding:false,children:l})})]})};var gt=({order:e})=>{let{quote_dp:t}=X(),{tp_order_price:o,sl_order_price:i}=findTPSLOrderPriceFromOrder(e),{t:s}=useTranslation();return jsxs(Flex,{gap:2,direction:"column",justify:"between",itemAlign:"start",className:"oui-text-2xs",children:[o&&jsx(C,{children:o===OrderType.MARKET?jsx(Text,{children:s("common.market")}):jsx(Text.numeral,{dp:t,rm:Decimal.ROUND_DOWN,padding:false,children:o})}),i&&jsx(C,{children:i===OrderType.MARKET?jsx(Text,{children:s("common.market")}):jsx(Text.numeral,{dp:t,rm:Decimal.ROUND_DOWN,padding:false,children:i})})]})};var ft=({order:e})=>{let{position:t,base_dp:o}=X(),{tp_trigger_price:i,sl_trigger_price:s}=findTPSLFromOrder(e),r=useMemo(()=>e.quantity===0?-t.position_qty:t.position_qty>0?-e.quantity:e.quantity,[e.quantity,t.position_qty]);return jsxs(Flex,{direction:"column",justify:"start",itemAlign:"start",className:"oui-h-full oui-text-2xs",children:[jsx(C,{children:jsx(Text.numeral,{dp:o,rm:Decimal.ROUND_DOWN,padding:false,children:r})}),i&&s&&jsx(C,{children:jsx("div",{})})]})};var _t=({order:e})=>{let{quote_dp:t}=X(),{tp_trigger_price:o,sl_trigger_price:i}=findTPSLFromOrder(e),{t:s}=useTranslation();return jsxs(Flex,{gap:1,direction:"column",justify:"between",itemAlign:"start",className:"oui-text-2xs",children:[o&&jsx(C,{children:jsxs(Flex,{direction:"column",justify:"start",itemAlign:"start",children:[jsx(Text,{className:"oui-text-base-contrast-36",children:s("common.market")}),jsx(Text.numeral,{dp:t,rm:Decimal.ROUND_DOWN,padding:false,children:o})]})}),i&&jsx(C,{children:jsxs(Flex,{direction:"column",justify:"start",itemAlign:"start",children:[jsx(Text,{className:"oui-text-base-contrast-36",children:s("common.market")}),jsx(Text.numeral,{dp:t,rm:Decimal.ROUND_DOWN,padding:false,children:i})]})})]})};var Tt=({order:e})=>{let{tp_trigger_price:t,sl_trigger_price:o}=findTPSLFromOrder(e),{t:i}=useTranslation();return jsxs(Flex,{direction:"column",justify:"between",itemAlign:"start",className:"oui-text-2xs",children:[t&&jsx(C,{children:jsx(Text,{className:"oui-text-trade-profit",children:i("tpsl.tp")})}),o&&jsx(C,{children:jsx(Text,{className:"oui-text-trade-loss",children:i("tpsl.sl")})})]})};var je=e=>{let{t}=useTranslation(),{isMobile:o}=useScreen(),{onCancelOrder:i}=e;return useMemo(()=>{let r=[{title:t("tpsl.tpslDetail.qty"),dataIndex:"quantity",width:70,className:"oui-py-2",render:(l,a)=>jsx(ft,{order:a})},{title:t("tpsl.tpslDetail.type"),dataIndex:"type",width:35,className:"oui-pl-1 oui-py-2",render:(l,a)=>jsx(Tt,{order:a})},{title:t("tpsl.tpslDetail.trigger"),dataIndex:"trigger",width:70,className:"oui-pl-1 oui-py-2",render:(l,a)=>jsx(_t,{order:a})},{title:t("tpsl.tpslDetail.price"),dataIndex:"price",width:70,className:"oui-py-2",render:(l,a)=>jsx(gt,{order:a})},{title:jsx(Tooltip,{className:"oui-max-w-[280px] oui-bg-base-8 oui-p-3 oui-text-2xs oui-text-base-contrast",content:t("tpsl.tpslDetail.estPnl.tooltip"),children:jsx(Text,{className:"oui-underline oui-decoration-dashed oui-underline-offset-2",children:t("tpsl.tpslDetail.estPnl")})}),dataIndex:"estpnl",width:70,className:"!oui-pr-0 oui-py-2",render:(l,a)=>jsx(mt,{order:a})}],n=[{title:t("tpsl.tpslDetail.qty"),dataIndex:"quantity",width:70,className:cn(" oui-py-2 !oui-pl-5"),render:(l,a)=>jsx(ft,{order:a})},{title:t("tpsl.tpslDetail.type"),dataIndex:"type",width:35,className:"oui-pl-1 oui-py-2",render:(l,a)=>jsx(Tt,{order:a})},{title:t("tpsl.tpslDetail.trigger"),dataIndex:"trigger",width:70,className:"oui-pl-1 oui-py-2",render:(l,a)=>jsx(_t,{order:a})},{title:t("tpsl.tpslDetail.price"),dataIndex:"price",width:70,className:"oui-pl-1 oui-py-2",render:(l,a)=>jsx(gt,{order:a})},{title:jsx(Tooltip,{className:"oui-max-w-[280px] oui-bg-base-8 oui-p-3 oui-text-2xs oui-text-base-contrast",content:t("tpsl.tpslDetail.estPnl.tooltip"),children:jsx(Text,{className:"oui-underline oui-decoration-dashed oui-underline-offset-2",children:t("tpsl.tpslDetail.estPnl")})}),dataIndex:"estpnl",width:70,className:"oui-pl-1 oui-py-2",render:(l,a)=>jsx(mt,{order:a})},{title:"",dataIndex:"delete",width:50,className:cn("oui-py-2 !oui-pr-5"),render:(l,a)=>jsx(Zs,{order:a,onCancelOrder:i})}];return o?r:n},[t,o])};var Ys=e=>{let{size:t=18}=e;return jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,viewBox:"0 0 18 18",fill:"currentColor",...e,children:jsx("path",{d:"M5.48081 15.375C5.10681 15.375 4.78731 15.2426 4.52231 14.9777C4.25744 14.7127 4.125 14.3932 4.125 14.0192V4.50004H3.375V3.37505H6.75V2.71167H11.25V3.37505H14.625V4.50004H13.875V14.0192C13.875 14.3981 13.7438 14.7188 13.4813 14.9813C13.2188 15.2438 12.8981 15.375 12.5192 15.375H5.48081ZM12.75 4.50004H5.25V14.0192C5.25 14.0866 5.27162 14.1419 5.31487 14.1852C5.35812 14.2284 5.41344 14.25 5.48081 14.25H12.5192C12.5769 14.25 12.6298 14.226 12.6778 14.1779C12.7259 14.1299 12.75 14.077 12.75 14.0192V4.50004ZM7.053 12.75H8.17781V6.00004H7.053V12.75ZM9.82219 12.75H10.947V6.00004H9.82219V12.75Z"})})},Zs=e=>{let[t,o]=useState(false);return jsx(ThrottledButton,{size:"sm",loading:t,variant:"text",color:"gray",onClick:i=>{i.stopPropagation(),o(true),e.onCancelOrder?.(e.order).then(()=>{},s=>{toast.error(s.message);}).finally(()=>{o(false);});},children:jsx(Ys,{className:"oui-text-base-contrast-54 hover:oui-text-base-contrast oui-cursor-pointer"})})};var bt=e=>{let{orders:t}=e,o=je({onCancelOrder:e.onCancelOrder});return jsx(AuthGuardDataTable,{columns:o,dataSource:t,className:"oui-bg-transparent oui-text-2xs",bordered:true,classNames:{root:cn(e.className),header:"!oui-bg-base-8",scroll:cn(!t||t.length===0?"!oui-min-h-[170px]":"!oui-min-h-[100px]")},onRow:i=>({className:cn("oui-h-[53px] oui-cursor-svg-edit !oui-border-none !oui-p-0"),onClick:()=>{e.editTPSLOrder(i);}})})};var St=e=>{let{t}=useTranslation(),{orders:o}=e,i=je({onCancelOrder:()=>Promise.resolve()}),s=useMemo(()=>o.reduce((r,n)=>(r[n.algo_order_id]=true,r),{}),[o]);return jsx(AuthGuardDataTable,{columns:i,dataSource:o,expanded:s,bordered:true,getRowCanExpand:()=>true,expandRowRender:r=>jsxs(Flex,{gap:2,justify:"end",children:[jsx(Button,{variant:"outlined",size:"sm",color:"gray",className:"oui-h-6 oui-text-2xs oui-text-base-contrast-54",onClick:()=>e.editTPSLOrder(r.original),children:t("common.edit")}),jsx(an,{order:r.original,onCancelOrder:e.canCancelOrder})]}),className:"oui-bg-transparent oui-px-2 oui-text-2xs",classNames:{scroll:cn(!o||o.length===0?"!oui-min-h-[170px]":"!oui-min-h-[100px]")},onRow:()=>({className:cn("oui-h-[53px] oui-cursor-svg-edit !oui-border-none !oui-p-0")}),generatedRowKey:r=>r.algo_order_id})},an=e=>{let[t,o]=useState(false),{t:i}=useTranslation();return jsx(ThrottledButton,{className:"oui-h-6 oui-text-2xs oui-text-base-contrast-54",size:"sm",loading:t,variant:"outlined",color:"gray",onClick:s=>{s.stopPropagation(),o(true),e.onCancelOrder?.(e.order).then(()=>{},r=>{toast.error(r.message);}).finally(()=>{o(false);});},children:i("common.delete")})};var Wr=e=>{let{isMobile:t}=useScreen(),{position:o,fullPositionOrders:i,partialPositionOrders:s,onCancelOrder:r,onCancelAllTPSLOrders:n,editTPSLOrder:l,addTPSLOrder:a,symbolInfo:g}=e;return jsx(Box,{children:jsxs(ScrollArea,{className:cn(t&&"oui-h-[calc(100vh-100px)]"),children:[jsx(H,{order:{symbol:o.symbol,order_quantity:o.position_qty.toString(),order_price:o.average_open_price.toString()},symbolLeverage:o.leverage,baseDP:g("base_dp"),quoteDP:g("quote_dp"),classNames:{root:cn("oui-mb-6 oui-gap-3 oui-px-5"),container:"oui-gap-x-[30px]"}}),jsx(fn,{position:o,orders:i,onCancelOrder:r,onCancelAllTPSLOrders:n,editTPSLOrder:l,addTPSLOrder:a}),jsx(yn,{position:o,orders:s,onCancelOrder:r,onCancelAllTPSLOrders:n,editTPSLOrder:l,addTPSLOrder:a})]})})},fn=e=>{let[t,o]=useState(true),{orders:i}=e,{isMobile:s}=useScreen();return jsxs(Box,{className:"oui-mt-6",children:[jsxs(Box,{className:cn("oui-flex oui-items-center oui-justify-between oui-px-5"),children:[jsx(Kr,{positionType:PositionType.FULL,open:t,onOpenChange:o}),i&&i.length===0&&jsx(Flex,{gap:2,children:jsx(Gr,{positionType:PositionType.FULL,position:e.position,addTPSLOrder:e.addTPSLOrder})})]}),jsx(Box,{className:cn("oui-overflow-hidden oui-transition-[height] oui-duration-150",t?"oui-h-auto":"oui-h-0 oui-pb-4"),children:s?jsx(St,{orders:i,editTPSLOrder:r=>e.editTPSLOrder(r,PositionType.FULL),canCancelOrder:e.onCancelOrder}):jsx(bt,{orders:i,editTPSLOrder:r=>{e.editTPSLOrder(r,PositionType.FULL);},onCancelOrder:e.onCancelOrder})})]})},yn=e=>{let[t,o]=useState(true),{orders:i}=e,{isMobile:s}=useScreen();return jsxs(Box,{className:"oui-pt-6",children:[jsxs(Box,{className:cn("oui-flex oui-items-center oui-justify-between","oui-px-5",s?"oui-flex-col oui-items-start oui-justify-start oui-gap-[11px]":"oui-flex-row oui-items-center oui-justify-between"),children:[jsx(Kr,{positionType:PositionType.PARTIAL,open:t,onOpenChange:o}),jsxs(Flex,{gap:2,children:[jsx(Gr,{positionType:PositionType.PARTIAL,position:e.position,addTPSLOrder:e.addTPSLOrder}),i&&i.length>0&&jsx(Pn,{canCancelAll:i&&i.length>0,onCancelAllTPSLOrders:e.onCancelAllTPSLOrders})]})]}),jsx(Box,{className:cn("oui-overflow-hidden oui-transition-[height] oui-duration-150",t?"oui-h-auto":"oui-h-0 oui-pb-4"),children:s?jsx(St,{orders:i,editTPSLOrder:r=>e.editTPSLOrder(r,PositionType.PARTIAL),canCancelOrder:e.onCancelOrder}):jsx(bt,{className:"oui-h-[300px]",orders:i,editTPSLOrder:r=>{e.editTPSLOrder(r,PositionType.PARTIAL);},onCancelOrder:e.onCancelOrder})})]})},Kr=e=>{let{t}=useTranslation();return jsxs(Flex,{gap:1,itemAlign:"center",justify:"start",className:"oui-text-2xs",children:[jsxs(Flex,{itemAlign:"center",justify:"start",gap:1,className:"oui-cursor-pointer",onClick:()=>e.onOpenChange(!e.open),children:[jsx(ChevronDownIcon,{size:12,color:"white",className:cn("oui-cursor-pointer oui-transition-transform",e.open&&"oui-rotate-180")}),e.positionType===PositionType.FULL?jsx(Text,{children:t("tpsl.positionType.full")}):jsx(Text,{children:t("tpsl.positionType.partial")})]}),jsx(Tooltip,{className:"oui-w-[280px] oui-p-3",content:e.positionType===PositionType.FULL?t("tpsl.positionType.full.tips"):t("tpsl.positionType.partial.tips"),children:jsx(ExclamationFillIcon,{className:"oui-cursor-pointer oui-text-base-contrast-54",size:12})})]})},Gr=e=>{let{t}=useTranslation();return jsx(ThrottledButton,{variant:"outlined",size:"sm",color:"gray",className:"oui-h-6 oui-w-[94px] oui-text-2xs",onClick:()=>{e.addTPSLOrder(e.positionType);},children:t("tpsl.add")})},Pn=e=>{let[t,o]=useState(false),{t:i}=useTranslation();return jsx(ThrottledButton,{loading:t,variant:"outlined",disabled:!e.canCancelAll,size:"sm",color:"gray",className:"oui-h-6 oui-w-[94px] oui-text-2xs disabled:oui-border-base-contrast-16 disabled:oui-bg-transparent disabled:oui-text-base-contrast-20",onClick:()=>{o(true),e.onCancelAllTPSLOrders().then(()=>{},s=>{toast.error(s.message);}).finally(()=>{o(false);});},children:i("tpsl.cancelAll")})};var jr=e=>{let t=Ar(e);return jsx(hr,{symbol:e.position.symbol,position:e.position,children:jsx(Wr,{...t})})},xn="TPSLDetailDialogId ",bn="TPSLDetailSheetId";registerSimpleDialog(xn,jr,{classNames:{content:"oui-w-[420px] lg:oui-pt-4 lg:oui-pb-2 !oui-px-0",body:"lg:oui-py-0"}});registerSimpleSheet(bn,jr,{classNames:{content:"!oui-p-0"}});var Nt=e=>{let {type:t,triggerPrice:o,symbol:i}=e,s=useSymbolsInfo(),[{rows:r},n]=usePositionStream(i),l=r?.[0];useRef(AlgoOrderRootType.TP_SL);let [g]=useLocalStorage("orderly_order_confirm",true),{t:f}=useTranslation(),[p,{submit:d,deleteOrder:m,setValue:u,setValues:y,validate:c,errors:T,isCreateMutating:N,isUpdateMutating:O}]=useTPSLOrder({symbol:i,position_qty:l?.position_qty,average_open_price:l?.average_open_price},{defaultOrder:void 0,positionType:PositionType.PARTIAL,tpslEnable:{tp_enable:t==="tp",sl_enable:t==="sl"},isEditing:false}),w=k=>{u("quantity",k);},oe=(k,h)=>{u(k,h);},xe=(k,h)=>{u(k,h);},ie=useMemo(()=>Math.abs(Number(l.position_qty)),[l.position_qty]);useEffect(()=>{ie&&(u("quantity",ie),u(t==="tp"?"tp_trigger_price":"sl_trigger_price",o??""));},[t,o,ie]);let et=async()=>{try{if(await c())return g?modal.confirm({title:f("tpsl.confirmOrder"),onOk:async()=>{try{let h=await d({accountId:l.account_id});return h.success?h:(h.message&&toast.error(h.message),!1)}catch(h){return h?.message&&toast.error(h.message),!1}},classNames:{body:"!oui-pb-0"},content:jsx(Ae,{isPositionTPSL:!1,isEditing:!1,symbol:i,qty:Number(p.quantity),maxQty:ie,tpPrice:Number(p.tp_trigger_price),slPrice:Number(p.sl_trigger_price),side:p.side,orderInfo:p,quoteDP:s[i]("quote_dp"),baseDP:s[i]("base_dp")})}).then(()=>!0,()=>Promise.reject(!1)):d({accountId:l.account_id}).then(()=>!0).catch(h=>{throw h?.message&&toast.error(h.message),!1})}catch(k){return Promise.reject(k)}};return {symbolInfo:s[i],maxQty:ie,setQuantity:useMemoizedFn(w),orderQuantity:p.quantity,isPosition:false,TPSL_OrderEntity:p,setOrderValue:u,setPnL:xe,setOrderPrice:oe,onSubmit:et,errors:T,status:{isCreateMutating:N,isUpdateMutating:O},position:l,setValues:y,type:t,triggerPrice:o}};var ht=e=>{let{type:t,triggerPrice:o,errors:i,TPSL_OrderEntity:s}=e,{t:r}=useTranslation(),{getErrorMsg:n}=useOrderEntryFormErrorMsg(i),l=jsxs(Flex,{width:"100%",itemAlign:"center",gap:3,mt:4,children:[jsx(Button,{color:"gray",onClick:()=>{e.onComplete?.(),e.close?.();},fullWidth:true,className:"oui-text-sm",size:"md",children:r("common.cancel")},"secondary"),jsx(Button,{onClick:()=>{e.onSubmit().then(()=>{e.onComplete?.(),e.close?.();});},fullWidth:true,className:"oui-text-sm",size:"md",children:r("common.confirm")},"primary")]}),a=()=>{let f=n("tp_trigger_price"),p=n("sl_trigger_price"),d="";return f&&t==="tp"&&(d=f),p&&t==="sl"&&(d=p),d?jsxs(Flex,{justify:"start",itemAlign:"start",gap:2,className:"oui-mt-2 oui-w-full",children:[jsx("div",{className:"oui-relative oui-top-[7px] oui-size-1 oui-rounded-full oui-bg-danger"}),jsx(Text,{className:"oui-text-danger",children:d})]}):null},g=()=>{let{tp_pnl:f,sl_pnl:p}=s;return t==="sl"?jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{size:"2xs",children:r("tpsl.totalEstSlPnl")}),p?jsx(Text.numeral,{suffix:jsx(Text,{className:"oui-ml-1 oui-text-base-contrast-36",children:"USDC"}),coloring:true,visible:true,size:"2xs",dp:2,children:Number(p)}):jsx(Text,{size:"2xs",children:"-- USDC"})]}):jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{size:"2xs",children:r("tpsl.totalEstTpPnl")}),jsx(Text.numeral,{suffix:jsx(Text,{className:"oui-text-base-contrast-36 oui-ml-1",children:"USDC"}),rule:"price",coloring:true,visible:true,size:"2xs",dp:2,children:f?Number(f):"--"})]})};return jsxs(Box,{className:"oui-w-full oui-px-0.5",children:[jsx(Be,{maxQty:e.maxQty,quantity:Number(e.orderQuantity??e.maxQty),baseTick:e.symbolInfo("base_tick"),base_dp:e.symbolInfo("base_dp"),base:e.symbolInfo("base"),isEditing:false,errorMsg:n("quantity"),onQuantityChange:e.setQuantity}),jsxs(Flex,{direction:"column",itemAlign:"start",className:cn("oui-mt-4 oui-w-full oui-gap-1 oui-text-xs oui-text-base-contrast-36"),children:[jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{size:"xs",children:r("tpsl.advanced.triggerPrice")}),jsx(Text.numeral,{className:"oui-text-base-contrast",suffix:jsx(Text,{className:"oui-ml-1 oui-text-xs oui-text-base-contrast-36",children:"USDC"}),rule:"price",size:"xs",dp:e.symbolInfo("quote_dp"),children:o?Number(o):"--"})]}),jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{size:"xs",children:r("tpsl.advanced.orderPrice")}),jsx(Text,{className:"oui-text-base-contrast",size:"xs",children:r("tpsl.advanced.market")})]}),g()]}),a(),jsx(Divider,{className:"oui-my-3 oui-w-full"}),jsx(Flex,{itemAlign:"center",onClick:()=>{e.close?.(),e.showAdvancedTPSLDialog?.({qty:Number(s.quantity)});},className:"oui-pb-4",children:jsx(Text,{color:"primary",className:"oui-cursor-pointer oui-text-sm",children:r("tpsl.advancedSetting")})}),l]})};var Ct=e=>{let{close:t,onComplete:o,showAdvancedTPSLDialog:i}=e,s=Nt(e);return jsx(ht,{...s,close:t,onComplete:o,showAdvancedTPSLDialog:i})},Yr="TPSLSimpleSheetId",Zr="TPSLSimpleDialogId";registerSimpleSheet(Yr,Ct,{classNames:{}});registerSimpleDialog(Zr,Ct,{classNames:{content:"oui-w-[420px]"}});function Hn(e){let t=e.child_orders[0],o=t.algo_type===AlgoOrderRootType.TP_SL?PositionType.PARTIAL:PositionType.FULL,i=t.child_orders.find(n=>n.algo_type===AlgoOrderType.TAKE_PROFIT&&n.trigger_price),s=t.child_orders.find(n=>n.algo_type===AlgoOrderType.STOP_LOSS&&n.trigger_price),r={};return i&&(r.tp_trigger_price=i.trigger_price?.toString(),r.tp_order_type=typeof i.type=="string"?i.type.replace("_ORDER",""):void 0,r.tp_order_type===OrderType.LIMIT&&(r.tp_order_price=i.price?.toString())),s&&(r.sl_trigger_price=s.trigger_price?.toString(),r.sl_order_type=typeof s.type=="string"?s.type.replace("_ORDER",""):void 0,r.sl_order_type===OrderType.LIMIT&&(r.sl_order_price=s.price?.toString())),{baseInfo:{symbol:e.symbol,order_type:e.type,side:e.side,order_price:e.price,order_quantity:e.quantity,position_type:o,tp_enable:!!i?.trigger_price,sl_enable:!!s?.trigger_price},tpslPriceInfo:r,tpInfo:{orderId:i?.algo_order_id},slInfo:{orderId:s?.algo_order_id}}}function Ze(e,t){if(t==null)return true;if(isNaN(Number(t)))return false;let o=new Decimal(Number(e));return !new Decimal(Number(t)).eq(o)}var eo=e=>{if(!e.order)throw new SDKError("order is required for editBracketOrder");let{baseInfo:t,tpslPriceInfo:o,tpInfo:i,slInfo:s}=Hn(e.order),[r,{isMutating:n}]=useMutation("/v1/algo/order","PUT"),{formattedOrder:l,setValue:a,setValues:g,metaState:f,symbolInfo:p,helper:d}=useOrderEntry(e.order.symbol,{initialOrder:t}),m=e.order.symbol,u=useMemo(()=>{let c=false,{tp_order_price:T,sl_order_price:N,tp_trigger_price:O,sl_trigger_price:w}=l;return o.tp_trigger_price&&(c=c||Ze(o.tp_trigger_price,O??0)),o.tp_order_price&&(c=c||Ze(o.tp_order_price,T??0)),o.sl_trigger_price&&(c=c||Ze(o.sl_trigger_price,w??0)),o.sl_order_price&&(c=c||Ze(o.sl_order_price,N??0)),c},[o,l.tp_order_price,l.sl_order_price,l.tp_trigger_price,l.sl_trigger_price]);return useEffect(()=>{g({...o});},[e.order,g]),{symbol:m,symbolInfo:p,formattedOrder:l,setValue:a,setValues:g,metaState:f,onSubmit:async()=>d.validate().then(()=>{let c={order_id:i.orderId,algo_type:AlgoOrderType.TAKE_PROFIT,trigger_price:l.tp_trigger_price,reduce_only:true};l.tp_order_type===OrderType.LIMIT&&(c.price=l.tp_order_price);let T={order_id:s.orderId,algo_type:AlgoOrderType.STOP_LOSS,trigger_price:l.sl_trigger_price,reduce_only:true};l.sl_order_type===OrderType.LIMIT&&(T.price=l.sl_order_price);let N=[];return i.orderId&&N.push(c),s.orderId&&N.push(T),r({order_id:e.order.algo_order_id,child_orders:[{order_id:e.order.child_orders[0].algo_order_id,child_orders:N}]})}),isMutating:n,isPriceChanged:u}};var io=e=>{let{t}=useTranslation(),{errors:o,validated:i}=e.metaState,{isMobile:s}=useScreen(),{formattedOrder:r,setValue:n,symbol:l,symbolInfo:a,setValues:g}=e,[f,p]=useState({enable:true,order_type:r.tp_order_type??OrderType.MARKET,order_price:r.tp_order_price??"",trigger_price:r.tp_trigger_price??"",PnL:r.tp_pnl??"",Offset:r.tp_offset??"","Offset%":r.tp_offset_percentage??"",ROI:r.tp_ROI??""}),[d,m]=useState({enable:true,order_type:r.sl_order_type??OrderType.MARKET,order_price:r.sl_order_price??"",trigger_price:r.sl_trigger_price??"",PnL:r.sl_pnl??"",Offset:r.sl_offset??"","Offset%":r.sl_offset_percentage??"",ROI:r.sl_ROI??""});return useEffect(()=>{p(u=>({...u,enable:r.tp_enable??true,order_type:r.tp_order_type??OrderType.MARKET,order_price:r.tp_order_price??"",trigger_price:r.tp_trigger_price??"",PnL:r.tp_pnl??"",Offset:r.tp_offset??"","Offset%":r.tp_offset_percentage??"",ROI:r.tp_ROI??""}));},[r]),useEffect(()=>{m(u=>({...u,enable:r.sl_enable??true,order_type:r.sl_order_type??OrderType.MARKET,order_price:r.sl_order_price??"",trigger_price:r.sl_trigger_price??"",PnL:r.sl_pnl??"",Offset:r.sl_offset??"","Offset%":r.sl_offset_percentage??"",ROI:r.sl_ROI??""}));},[r]),jsxs("div",{children:[jsxs(ScrollArea,{className:cn("oui-flex-1",s&&"oui-h-[calc(100vh-200px)]"),children:[jsx("div",{className:"",children:jsx(H,{order:{symbol:l,order_quantity:r.order_quantity,order_price:r.order_price},baseDP:a.base_dp,quoteDP:a.quote_dp})}),jsx(Divider,{className:"oui-my-3"}),jsxs("div",{className:"",children:[jsxs("div",{className:"oui-py-3",children:[jsx(Y,{value:r.position_type??PositionType.PARTIAL,disableSelector:true,onChange:(u,y)=>{if(y===PositionType.FULL){g({position_type:PositionType.FULL,tp_order_type:OrderType.MARKET,tp_order_price:void 0,sl_order_type:OrderType.MARKET,sl_order_price:void 0});return}n("position_type",y);}}),r.position_type===PositionType.FULL&&jsxs(Flex,{justify:"start",itemAlign:"start",gap:2,className:"oui-mt-3 oui-w-full",children:[jsx("div",{className:"oui-relative oui-top-[7px] oui-size-1 oui-rounded-full oui-bg-[#D25f00]"}),jsx(Text,{className:"oui-text-2xs oui-text-[#D25f00]",children:t("tpsl.positionType.full.tips.market")})]})]}),jsxs(Flex,{direction:"column",gap:6,children:[r.tp_enable&&jsx(V,{disableEnableCheckbox:true,disableOrderTypeSelector:true,rootOrderPrice:r.order_price,symbol:a.symbol,type:"tp",side:r.side,values:f,errors:i?o:null,quote_dp:a.quote_dp,hideOrderPrice:r.position_type===PositionType.FULL,onChange:(u,y)=>{n(u,y);},positionType:r.position_type??PositionType.PARTIAL}),r.sl_enable&&r.tp_enable&&jsx(Divider,{className:"oui-w-full"}),r.sl_enable&&jsx(V,{disableEnableCheckbox:true,disableOrderTypeSelector:true,rootOrderPrice:r.order_price,symbol:a.symbol,type:"sl",side:r.side,values:d,hideOrderPrice:r.position_type===PositionType.FULL,errors:i?o:null,quote_dp:a.quote_dp,positionType:r.position_type??PositionType.PARTIAL,onChange:(u,y)=>{n(u,y);}})]}),jsx(ue,{tp_pnl:r.tp_pnl,sl_pnl:r.sl_pnl,className:"oui-mt-6"})]})]}),jsx(Flex,{itemAlign:"center",gap:3,mt:5,width:"100%",justify:"center",children:jsx(ThrottledButton,{className:"oui-w-[184px]","data-testid":"tpsl-confirm",disabled:!e.isPriceChanged,loading:e.isMutating,onClick:()=>{e.onSubmit().then(()=>{e.onClose?.();}).catch(u=>{});},children:t("common.confirm")})})]})};var so=e=>{let t=eo({order:e.order});return jsx(io,{...t,onClose:e.close})},il="EditBracketOrderSheetId",sl="EditBracketOrderDialogId";registerSimpleSheet(il,so);registerSimpleDialog(sl,so,{classNames:{content:"oui-w-[420px]"}});
12
+ var H=e=>{let{t}=useTranslation(),{order:r,symbolLeverage:i}=e,{symbol:s}=r,o=useMarkPrice(s),n=useIndexPrice(s),l=useLeverageBySymbol(i?void 0:s),a=i||l;return jsxs(Flex,{direction:"column",itemAlign:"start",className:cn("oui-w-full oui-gap-3 oui-font-semibold ",e.classNames?.root),children:[jsxs(Flex,{itemAlign:"center",className:cn("oui-gap-2 ",e.classNames?.symbol),children:[jsxs(Flex,{gap:1,itemAlign:"center",children:[jsx(TokenIcon,{symbol:s,className:"oui-size-5"}),jsx(Text.formatted,{className:"oui-whitespace-nowrap oui-break-normal",rule:"symbol",formatString:"base-type",size:"sm",weight:"semibold",intensity:98,children:s})]}),jsxs(Text,{size:"2xs",className:"oui-h-[18px] oui-rounded oui-bg-base-7 oui-px-2 oui-font-semibold oui-text-base-contrast-36",children:[a,"x"]})]}),jsxs(Grid,{cols:2,gapX:2,gapY:1,className:cn("oui-w-full oui-gap-x-2 ",e.classNames?.container),children:[jsxs(Flex,{justify:"between",className:" oui-text-base-contrast-36",children:[jsx(Text,{size:"2xs",children:t("common.quantity")}),jsx(Text.numeral,{rule:"price",className:"oui-text-base-contrast-80",size:"2xs",dp:e.baseDP??2,children:Number(r.order_quantity)})]}),jsxs(Flex,{justify:"between",className:"oui-text-base-contrast-36",children:[jsx(Text,{size:"2xs",children:t("common.lastPrice")}),jsx(Text.numeral,{rule:"price",className:"oui-text-base-contrast-80",size:"2xs",dp:e.quoteDP??2,children:n?.data})]}),jsxs(Flex,{justify:"between",className:"oui-text-base-contrast-36",children:[jsx(Text,{size:"2xs",children:t("common.orderPrice")}),jsx(Text.numeral,{rule:"price",className:"oui-text-base-contrast-80",size:"2xs",dp:e.quoteDP??2,children:Number(r.order_price)})]}),jsxs(Flex,{justify:"between",className:"oui-text-base-contrast-36",children:[jsx(Text,{size:"2xs",children:t("common.markPrice")}),jsx(Text.numeral,{rule:"price",className:"oui-text-base-contrast-80",size:"2xs",dp:e.quoteDP??2,children:o?.data})]})]})]})};var pe=e=>{let{t}=useTranslation(),{tp_pnl:r,sl_pnl:i}=e,s=useMemo(()=>{let o=jsx(Text,{className:"oui-text-base-contrast-36",children:"-- x"});if(r===void 0||i===void 0||checkIsNaN(r)||checkIsNaN(i))return o;let n=new Decimal(r),l=new Decimal(i);if(l.isZero()||n.isZero())return o;let a=n.div(l).abs().toNumber().toFixed(2);return jsxs(Flex,{gap:1,itemAlign:"center",className:"oui-text-base-contrast-80",children:[jsx(Text,{children:a}),jsx(Text,{className:"oui-text-base-contrast-36",children:"x"})]})},[r,i]);return jsxs(Flex,{direction:"column",itemAlign:"start",className:cn("oui-w-full oui-gap-1 oui-text-2xs oui-text-base-contrast-36",e.className),children:[jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{size:"2xs",children:t("tpsl.totalEstTpPnl")}),jsx(Text.numeral,{suffix:jsx(Text,{className:"oui-text-base-contrast-36 oui-ml-1",children:"USDC"}),rule:"price",coloring:true,visible:true,size:"2xs",dp:2,children:r?Number(r):"--"})]}),jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{size:"2xs",children:t("tpsl.totalEstSlPnl")}),i?jsx(Text.numeral,{suffix:jsx(Text,{className:"oui-text-base-contrast-36 oui-ml-1",children:"USDC"}),coloring:true,visible:true,size:"2xs",dp:2,children:Number(i)}):jsx(Text,{size:"2xs",children:"-- USDC"})]}),jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{size:"2xs",children:t("tpsl.riskRewardRatio")}),jsx(Text,{className:"oui-text-base-contrast-80",size:"2xs",children:s})]})]})};var tt=e=>{let{values:t,side:r,type:i,rootOrderPrice:s}=e,o=useLeverageBySymbol(e.symbolLeverage?void 0:e.symbol),n=e.symbolLeverage||o,l=useMemo(()=>{if(!n||!s||Number(s)===0)return null;let a;if(t.order_type===OrderType.MARKET?a=t.trigger_price:t.order_type===OrderType.LIMIT&&(a=t.order_price),!a)return null;try{return order.tpslROI({side:r,type:i,closePrice:Number(a),orderPrice:Number(s),leverage:n})*100}catch{return null}},[t,n,s,i,r]);return {...e,roi:l}};var Mt=e=>{let{type:t,values:r}=e,[i,s]=useLocalStorage("TP/SL_Mode","Offset%"),[o,n]=useState(true),{t:l}=useTranslation(),a=useMemo(()=>{switch(i){case "Offset":return `${t.toLowerCase()}_offset`;case "Offset%":return `${t.toLowerCase()}_offset_percentage`;default:return `${t.toLowerCase()}_pnl`}},[i]),g=useMemo(()=>r[i],[r,i]),f=useMemo(()=>[{label:l("tpsl.pnl"),value:"PnL",testId:"PnL_menu_item"},{label:l("tpsl.offset"),value:"Offset",testId:"Offset_mneu_item"},{label:`${l("tpsl.offset")}%`,value:"Offset%",testId:"Offset%_menu_item"}],[l]),p=useRef(""),c=d=>{e.onChange(a,d);},m=d=>{let{dp:y=2}=d;return {onRenderBefore:(u,P)=>(u=`${u}`,u===""||u==="-"?"":i==="Offset%"?`${new Decimal(u.replace(new RegExp(p.current.replace(".","\\.")+"$"),"")).mul(100).todp(2,4).toString()}${p.current}`:(i==="Offset"&&(u=todpIfNeed(u,y)),`${u}`)),onSendBefore:u=>{if(/^\-?0{2,}$/.test(u))return "0";if(i==="Offset%"){if(u!==""){u=todpIfNeed(u,2);let P=u.match(/\.0{0,2}$/);P?p.current=P[0]:p.current="",u=new Decimal(u).div(100).toString(),u=`${u}${p.current}`;}}else i==="PnL"&&t==="SL"&&o||(u=todpIfNeed(u,y));return u===""||u==="-"?"":u}}};return {mode:i,modes:f,type:e.type,formatter:m,onModeChange:d=>{s(d);},value:g,pnl:r.PnL,onValueChange:c,quote_dp:e.quote_dp,setFocus:n}};var Vt=e=>{let{mode:t,modes:r,onModeChange:i,onValueChange:s,quote:o,quote_dp:n,value:l,pnl:a}=e,{t:g}=useTranslation(),[f,p]=useState(t),[c,m]=useState(t==="Offset%"?"%":o),d=useMemo(()=>{let y=Number(a);if(isNaN(y)||y===0)return "";if(y>0)return "oui-text-trade-profit";if(y<0)return "oui-text-trade-loss"},[a]);return useEffect(()=>{let y=r.find(u=>u.value===t)?.label;p(y),m(t==="Offset%"?"%":o);},[t,r]),jsx(Input,{prefix:f,size:{initial:"lg",lg:"md"},placeholder:c,align:"right",value:l,"data-testid":e.testId,autoComplete:"off",onValueChange:s,formatters:[e.formatter({dp:n,mode:t}),inputFormatter.currencyFormatter,inputFormatter.decimalPointFormatter],classNames:{input:cn("oui-text-2xs",d),prefix:"oui-text-base-contrast-54 oui-text-2xs",root:"oui-outline-line-12 focus-within:oui-outline-primary-light"},onFocus:()=>{m(""),e.setFocus(true);},onBlur:()=>{m(t==="Offset%"?"%":o),e.setFocus(false);},suffix:jsxs(Fragment,{children:[t==="Offset%"&&!!l&&jsx(Text,{size:"2xs",color:"inherit",className:cn("oui-ml-[2px]",d),children:"%"}),jsx(Ro,{mode:t,modes:r,onModeChange:y=>i(y.value)})]})})},Ro=e=>jsx(SimpleDropdownMenu,{currentValue:e.mode,menu:e.modes,align:"end",size:"xs",className:"oui-min-w-[80px]",onSelect:t=>e.onModeChange(t),children:jsx("button",{className:"oui-p-2",children:jsx(CaretDownIcon,{size:12,color:"white"})})});var zt=e=>{let{testId:t,quote:r,...i}=e,s=Mt(i);return jsx(Vt,{...s,testId:t,quote:r})};var Wt=e=>{let{t}=useTranslation(),r=[{label:t("orderEntry.orderType.limitOrder"),value:OrderType.LIMIT},{label:t("orderEntry.orderType.marketOrder"),value:OrderType.MARKET}];return jsx(Select.options,{value:e.type,options:r,disabled:e.disabled,onValueChange:e.onChange,size:"xs",classNames:{trigger:"oui-bg-transparent oui-w-auto oui-outline-line-1 oui-input-root oui-bg-base-6 oui-h-10 lg:oui-h-8 oui-outline-line-12 "},valueFormatter:(i,s)=>{let o={[OrderType.LIMIT]:t("orderEntry.orderType.limit"),[OrderType.MARKET]:t("common.marketPrice")}[i];return jsx(Text,{size:"2xs",children:o})}})};var it=e=>{let[t,r]=useState("USDC"),{t:i}=useTranslation();return jsx(Input.tooltip,{"data-testid":`oui-testid-tpsl-popUp-${e.type.toLowerCase()}-input`,prefix:e.label??i("common.markPrice"),size:{initial:"lg",lg:"md"},tooltip:e.error,placeholder:t,disabled:e.disabled,align:"right",autoComplete:"off",value:e.value,color:e.error?"danger":void 0,classNames:{input:"oui-text-2xs placeholder:oui-text-2xs",prefix:"oui-text-base-contrast-54 oui-text-2xs",root:"oui-w-full"},onValueChange:e.onValueChange,onFocus:()=>{r("");},onBlur:()=>{r("USDC");},formatters:[inputFormatter.numberFormatter,inputFormatter.dpFormatter(e.quote_dp),inputFormatter.currencyFormatter,inputFormatter.decimalPointFormatter]})};var st=e=>{let{t}=useTranslation(),{getErrorMsg:r}=useOrderEntryFormErrorMsg(e.errors),{values:i,positionType:s}=e;return jsxs(Flex,{direction:"column",itemAlign:"start",justify:"start",className:"oui-w-full",children:[jsx(Text,{size:"sm",intensity:98,children:e.type==="tp"?t("tpsl.takeProfit"):t("tpsl.stopLoss")}),jsxs(Flex,{direction:"column",gap:2,itemAlign:"start",className:"oui-w-full oui-pt-2",children:[jsxs(Flex,{direction:"column",itemAlign:"start",className:"oui-w-full oui-gap-0.5",children:[jsx(Text,{className:"oui-text-2xs oui-text-base-contrast-54",children:t("common.triggerPrice")}),jsxs(Grid,{cols:2,gap:2,className:"oui-w-full oui-px-0.5",children:[jsx(it,{type:`${e.type} price`,value:i.trigger_price,error:r(`${e.type}_trigger_price`),onValueChange:o=>{e.onChange(`${e.type}_trigger_price`,o);},quote_dp:e.quote_dp}),jsx(zt,{type:e.type==="tp"?"TP":"SL",onChange:(o,n)=>{e.onChange(o,n);},quote:"USDC",quote_dp:2,values:i})]})]}),jsxs(Flex,{direction:"column",className:cn("oui-w-full oui-gap-0.5",e.hideOrderPrice?"oui-hidden":""),itemAlign:"start",children:[jsx(Text,{className:"oui-text-2xs oui-text-base-contrast-54",children:t("common.orderPrice")}),jsxs(Grid,{cols:2,gap:2,className:"oui-w-full oui-px-0.5",children:[jsx(it,{disabled:s===PositionType.FULL||i.order_type===OrderType.MARKET,type:"order price",label:i.order_type===OrderType.LIMIT?t("common.limit"):t("common.market"),value:i.order_price,error:r(`${e.type}_order_price`),onValueChange:o=>{e.onChange(`${e.type}_order_price`,o);},quote_dp:e.quote_dp}),jsx(Wt,{disabled:s===PositionType.FULL||e.disableOrderTypeSelector,type:i.order_type,onChange:o=>{e.onChange(`${e.type}_order_type`,o);}})]})]})]}),jsx(Go,{price:i.order_type===OrderType.MARKET?i.trigger_price:i.order_price,orderType:i.order_type,pnl:i.PnL,roi:e.roi,dp:e.quote_dp,className:"oui-mt-1"})]})},Go=e=>{let{t}=useTranslation(),{price:r,pnl:i,roi:s,dp:o,className:n,orderType:l}=e;return !s||!r||!i?null:jsx(Text,{className:cn("oui-text-2xs oui-text-base-contrast-36",n),children:jsx(Trans,{i18nKey:"tpsl.advanced.ROI",components:[jsx(Fragment$1,{children:jsx(Text.numeral,{className:"oui-px-1 oui-text-base-contrast",dp:o,suffix:jsx(Text,{className:"oui-pl-0.5",children:"USDC"}),children:r})},"price"),jsx(Fragment$1,{children:jsx(Text,{className:"oui-px-1 oui-text-base-contrast",children:l===OrderType.MARKET?t("common.market"):t("common.limit")})},"orderType"),jsx(Fragment$1,{children:jsx(Text.numeral,{coloring:true,className:"oui-whitespace-nowrap oui-px-1",dp:2,suffix:jsx(Text,{className:"oui-pl-0.5",children:"USDC"}),children:i})},"pnl"),jsx(Fragment$1,{children:jsx(Text.numeral,{coloring:true,className:"oui-whitespace-nowrap oui-px-1",dp:2,suffix:"%",children:s})},"roi")]})})};var z=e=>{let t=tt(e);return jsx(st,{...t})};var Ht=e=>({value:e.value,onChange:e.onChange,disableSelector:e.disableSelector});var Jo="position_type",Zt=e=>{let{t}=useTranslation(),r=[{label:t("tpsl.partialPosition"),value:PositionType.PARTIAL},{label:t("tpsl.fullPosition"),value:PositionType.FULL}];return jsxs(Flex,{gap:1,itemAlign:"center",justify:"start",children:[jsx(Tooltip,{className:"oui-w-[280px] oui-p-3",content:e.value===PositionType.FULL?t("tpsl.positionType.full.tips"):t("tpsl.positionType.partial.tips"),children:jsx(ExclamationFillIcon,{className:"oui-cursor-pointer oui-text-base-contrast-54",size:12})}),e.disableSelector?e.value===PositionType.FULL?jsx(Text,{className:"oui-text-2xs oui-font-normal oui-text-base-contrast-54",children:t("tpsl.positionType.full")}):jsx(Text,{className:"oui-text-2xs oui-font-normal oui-text-base-contrast-54",children:t("tpsl.positionType.partial")}):jsx(Select.options,{value:e.value,options:r,onValueChange:i=>{e.onChange(Jo,i);},size:"xs",classNames:{trigger:" oui-bg-transparent oui-border-0 oui-w-auto oui-px-0 oui-font-normal"},contentProps:{className:" oui-bg-base-8 oui-border-0"}})]})};var Y=e=>{let t=Ht(e);return jsx(Zt,{...t})};var Me=memo(e=>{let{maxQty:t,base_dp:r,baseTick:i,quantity:s}=e,o=useRef(null),{t:n}=useTranslation(),[l,a]=useState(0),g=c=>{let m=c;Number(c)>t&&(m=t.toString()),i>0&&e.onQuantityChange?.(utils.formatNumber(m,i)??c);},f=c=>{a(c);let m=new Decimal(c).div(100).mul(t).toFixed(r,Decimal.ROUND_DOWN);g(m);};useEffect(()=>{let c=Math.min(Number(s||0),t),m=new Decimal(c).div(t).mul(100).toDecimalPlaces(2,Decimal.ROUND_DOWN).toNumber();a(m);},[s,t]);let p=e.quantity.toString().length>0?e.errorMsg:void 0;return jsxs(Fragment,{children:[jsx(Flex,{gap:2,children:jsx("div",{className:"oui-flex-1",children:jsx(Input.tooltip,{"data-testid":"oui-testid-tpsl-popUp-quantity-input",ref:o,prefix:n("common.quantity"),size:{initial:"md",lg:"sm"},align:"right",value:e.quantity,autoComplete:"off",classNames:{prefix:"oui-text-base-contrast-54",root:cn("oui-bg-base-5 oui-outline-line-12",p&&"oui-outline-danger")},tooltipProps:{content:{className:"oui-bg-base-6 oui-text-base-contrast-80"},arrow:{className:"oui-fill-base-6"}},tooltip:p,color:p?"danger":void 0,formatters:[inputFormatter.dpFormatter(e.base_dp),inputFormatter.numberFormatter,inputFormatter.currencyFormatter,inputFormatter.decimalPointFormatter],onValueChange:c=>{e.onQuantityChange?.(c);let m=Number(c);if(m&&m>e.maxQty){let d=e.maxQty;e.onQuantityChange?.(d),o.current?.blur();}},onBlur:c=>g(c.target.value),suffix:jsx("span",{className:"oui-px-3 oui-text-2xs oui-text-base-contrast-54",children:e.base})})})}),jsx(Flex,{mt:2,itemAlign:"center",height:"15px",children:jsx(Slider,{min:0,max:100,markCount:5,showTip:true,value:[l],color:"primary",onValueChange:c=>{f(c[0]);}})}),jsxs(Flex,{justify:"between",children:[jsx(Text.numeral,{color:"primary",size:"2xs",suffix:"%",children:l}),jsxs(Flex,{itemAlign:"center",gap:1,children:[jsx("button",{className:"oui-leading-none",style:{lineHeight:0},onClick:()=>{e.onQuantityChange?.(e.maxQty);},children:jsx(Text,{color:"primary",size:"2xs",children:n("common.max")})}),jsx(Text.numeral,{rule:"price",size:"2xs",intensity:54,tick:e.baseTick,children:e.maxQty})]})]})]})});var er=e=>{let{TPSL_OrderEntity:t,symbolInfo:r,onCancel:i,onComplete:s,status:o,position:n,setValues:l,isEditing:a}=e,{errors:g,validated:f}=e.metaState,{t:p}=useTranslation(),{isMobile:c}=useScreen(),{getErrorMsg:m}=useOrderEntryFormErrorMsg(g);if(!n)return null;let d=t.tp_trigger_price||t.sl_trigger_price,y=()=>t.position_type===PositionType.FULL?null:jsx(Box,{className:"oui-px-0.5",children:jsx(Me,{maxQty:e.maxQty,quantity:e.orderQuantity??e.maxQty,baseTick:r("base_tick"),base_dp:r("base_dp"),onQuantityChange:e.setQuantity,base:r("base"),isEditing:e.isEditing,errorMsg:f?m("quantity"):void 0})});return jsxs("div",{id:"orderly-tp_sl-order-edit-content",children:[jsx(ScrollArea,{className:cn(c&&"oui-h-[calc(100vh-200px)]"),children:jsxs("div",{className:"oui-px-2",children:[jsx(H,{baseDP:r("base_dp"),quoteDP:r("quote_dp"),classNames:{root:"oui-mb-3",container:"oui-gap-x-[30px]"},order:{symbol:n.symbol,order_quantity:n.position_qty.toString(),order_price:n.average_open_price.toString()},symbolLeverage:n.leverage}),jsxs(Flex,{direction:"column",justify:"start",itemAlign:"start",gap:3,className:"oui-mb-3 oui-w-full",children:[!a&&jsx(Y,{disableSelector:true,value:t.position_type??PositionType.PARTIAL,onChange:(u,P)=>{e.setOrderValue(u,P);}}),t.position_type===PositionType.FULL&&jsx(Text,{className:"oui-text-2xs oui-text-warning",children:p("tpsl.positionType.full.tips.market")})]}),y(),jsxs(Flex,{direction:"column",itemAlign:"start",justify:"start",gap:6,className:"oui-mt-3 oui-w-full",children:[jsx(z,{symbol:n.symbol,rootOrderPrice:n.average_open_price.toString(),type:"tp",side:n.position_qty>0?OrderSide.BUY:OrderSide.SELL,values:{trigger_price:t.tp_trigger_price?.toString()??void 0,PnL:t.tp_pnl?.toString()??void 0,Offset:t.tp_offset?.toString()??void 0,"Offset%":t.tp_offset_percentage?.toString()??void 0,order_price:t.tp_order_price?.toString()??void 0,order_type:t.tp_order_type??OrderType.MARKET},hideOrderPrice:t.position_type===PositionType.FULL,errors:f?g:null,disableOrderTypeSelector:a,quote_dp:r("quote_dp"),positionType:t.position_type??PositionType.PARTIAL,onChange:(u,P)=>{e.setOrderValue(u,P);},symbolLeverage:n.leverage}),jsx(z,{symbol:n.symbol,rootOrderPrice:n.average_open_price.toString(),type:"sl",side:n.position_qty>0?OrderSide.BUY:OrderSide.SELL,values:{trigger_price:t.sl_trigger_price?.toString()??void 0,PnL:t.sl_pnl?.toString()??void 0,Offset:t.sl_offset?.toString()??void 0,"Offset%":t.sl_offset_percentage?.toString()??void 0,order_price:t.sl_order_price?.toString()??void 0,order_type:t.sl_order_type??OrderType.MARKET},hideOrderPrice:t.position_type===PositionType.FULL,errors:f?g:null,quote_dp:r("quote_dp"),positionType:t.position_type??PositionType.PARTIAL,disableOrderTypeSelector:a,onChange:(u,P)=>{e.setOrderValue(u,P);},symbolLeverage:n.leverage})]}),jsx(pe,{tp_pnl:t.tp_pnl,sl_pnl:t.sl_pnl,className:"oui-my-3"})]})}),jsxs(Grid,{px:2,cols:2,gap:3,mt:4,children:[jsx(Button,{size:"md",color:"secondary","data-testid":"tpsl-cancel",onClick:()=>{e.close?.(),i?.();},children:p("common.cancel")}),jsx(ThrottledButton,{size:"md","data-testid":"tpsl-confirm",disabled:o.isCreateMutating||!d,loading:o.isCreateMutating||o.isUpdateMutating,onClick:()=>{e.onSubmit().then(()=>{e.close?.(),s?.();}).catch(u=>{});},children:p("common.confirm")})]})]})};var hi=e=>{let{tpPrice:t,slPrice:r}=e,{t:i}=useTranslation();return t&&r?jsx(Badge,{size:"xs",color:"neutral",children:i("common.tpsl")}):t?jsx(Badge,{size:"xs",color:"neutral",children:i("tpsl.tp")}):r?jsx(Badge,{size:"xs",color:"neutral",children:i("tpsl.sl")}):null},Ie=e=>{let{symbol:t,tpPrice:r,slPrice:i,qty:s,maxQty:o,side:n,quoteDP:l,baseDP:a,isEditing:g,isPositionTPSL:f,orderInfo:p}=e,{t:c}=useTranslation(),[m,d]=useLocalStorage("orderly_order_confirm",true),y=()=>p.position_type===PositionType.FULL?jsx(Text,{children:c("tpsl.positionType.full")}):jsx(Text,{children:c("tpsl.positionType.partial")}),u=({price:N,isOrderPrice:O,isEnable:w,colorType:oe})=>w?!N&&O?jsx(Text,{className:"oui-text-base-contrast-36",children:c("common.market")}):jsx(Text.numeral,{unit:"USDC",rule:"price",className:cn("oui-text-base-contrast",oe==="TP"?"oui-text-trade-profit":"oui-text-trade-loss"),unitClassName:"oui-text-base-contrast-36 oui-ml-1",dp:l,padding:false,children:N}):jsx(Text,{className:"oui-text-base-contrast-36",children:"-- USDC"}),P=f;return jsxs(Fragment,{children:[g&&jsx(Text,{as:"div",size:"2xs",intensity:80,className:"oui-mb-3",children:c("tpsl.agreement",{symbol:transSymbolformString(t)})}),jsxs(Flex,{pb:4,children:[jsx(Box,{grow:true,children:jsx(Text.formatted,{rule:"symbol",formatString:"base-type",size:"base",showIcon:true,as:"div",intensity:80,children:t})}),jsxs(Flex,{gap:1,children:[P&&jsx(Badge,{size:"xs",color:"primary",children:c("common.position")}),jsx(hi,{tpPrice:r,slPrice:i}),n===OrderSide.SELL?jsx(Badge,{size:"xs",color:"success",children:c("common.buy")}):jsx(Badge,{size:"xs",color:"danger",children:c("common.sell")})]})]}),jsx(Divider,{}),p.tp_trigger_price||p.sl_trigger_price?jsxs(Fragment,{children:[jsx(Divider,{className:"oui-my-4"}),jsxs("div",{className:textVariants({size:"sm",intensity:54,className:"oui-space-y-1 oui-w-full oui-flex oui-flex-col oui-gap-3"}),children:[jsx(Text,{className:"oui-text-base-contrast",children:y()}),jsxs(Flex,{justify:"between",children:[jsx(Text,{children:c("common.orderQty")}),jsx(Text.numeral,{rule:"price",dp:a,padding:false,className:"oui-text-base-contrast",children:p.quantity??"-"})]}),jsxs(Flex,{direction:"column",justify:"between",itemAlign:"start",gap:1,className:"oui-w-full",children:[jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:c("tpsl.tpTriggerPrice")})," ",u({price:p.tp_trigger_price??"",isOrderPrice:false,isEnable:!!p.tp_trigger_price,colorType:"TP"})]}),jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:c("tpsl.tpOrderPrice")}),u({price:p.tp_order_price??"",isOrderPrice:true,isEnable:!!p.tp_trigger_price,colorType:"TP"})]})]}),jsxs(Flex,{direction:"column",justify:"between",itemAlign:"start",gap:1,className:"oui-w-full",children:[jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:c("tpsl.slTriggerPrice")}),u({price:p.sl_trigger_price??"",isOrderPrice:false,isEnable:!!p.sl_trigger_price,colorType:"SL"})]}),jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:c("tpsl.slOrderPrice")}),u({price:p.sl_order_price??"",isOrderPrice:true,isEnable:!!p.sl_trigger_price,colorType:"SL"})]})]})]})]}):null,jsx(Box,{pt:2,children:jsxs(Flex,{gap:1,children:[jsx(Checkbox,{id:"disabledConfirm",color:"white",checked:!m,onCheckedChange:N=>{d(!N);}}),jsx("label",{htmlFor:"disabledConfirm",className:textVariants({size:"xs",intensity:54,className:"oui-ml-1"}),children:c("orderEntry.disableOrderConfirm")})]})})]})};var mr=e=>{let{symbol:t,order:r,isEditing:i,positionType:s,triggerPrice:o,type:n,withTriggerPrice:l}=e,{t:a}=useTranslation();if(i&&!r)throw new SDKError("order is required when isEditing is true");let g=useSymbolsInfo();useRef(AlgoOrderRootType.TP_SL);let [{rows:p}]=usePositionStream(),[c]=useLocalStorage("orderly_order_confirm",true),m=p.find(x=>x.symbol===t);useEffect(()=>{m||e.close?.();},[m]);let [d,{submit:y,deleteOrder:u,setValue:P,setValues:N,validate:O,metaState:w,errors:oe,isCreateMutating:xe,isUpdateMutating:ie}]=useTPSLOrder({symbol:t,position_qty:m?.position_qty??0,average_open_price:m?.average_open_price??0},{defaultOrder:r,positionType:o?PositionType.PARTIAL:s,isEditing:i}),Xe=x=>{P("quantity",x);},k=(x,L)=>{P(x,L);},h=(x,L)=>{P(x,L);},vt=useMemo(()=>Math.abs(Number(m?.position_qty)),[m?.position_qty]);useMemo(()=>{let x=r?.algo_type===AlgoOrderRootType.POSITIONAL_TP_SL?vt:r?.quantity,L=0;if((Number(d.quantity)!==x||!i&&d.quantity)&&(L=1),r&&i){let{tp_trigger_price:Je,sl_trigger_price:G}=utils.findTPSLFromOrder(r),{tp_order_price:Ft,sl_order_price:wt}=utils.findTPSLOrderPriceFromOrder(r);Je!==Number(d.tp_trigger_price)&&typeof typeof d.tp_trigger_price<"u"&&(L=2),G!==Number(d.sl_trigger_price)&&typeof d.sl_trigger_price<"u"&&(L=3),typeof d.tp_order_price<"u"&&Ft!==OrderType.MARKET&&Ft!==Number(d.tp_order_price)&&(L=4),typeof d.sl_order_price<"u"&&wt!==OrderType.MARKET&&wt!==Number(d.sl_order_price)&&(L=5);}return L===1&&!d.tp_trigger_price&&!d.sl_trigger_price&&(L=-1),L},[d.tp_trigger_price,d.tp_order_price,d.sl_trigger_price,d.sl_order_price,d.quantity,r,i]);useEffect(()=>{l&&o&&(P(n==="tp"?"tp_trigger_price":"sl_trigger_price",o),e.qty&&P("quantity",e.qty));},[n,o,e.qty]);let no=()=>r?.algo_order_id&&r?.symbol?u(r?.algo_order_id,r?.symbol):Promise.reject("order id or symbol is invalid"),lo=(x,L)=>{if(!c)return Promise.resolve(true);let Je=Math.abs(Number(m?.position_qty));return `${x.tp_trigger_price??""}`.length===0&&`${x.sl_trigger_price??""}`.length===0?modal.confirm({title:a("orders.cancelOrder"),content:a("tpsl.cancelOrder.description"),onOk:()=>L.cancel()}).then(()=>true,()=>Promise.reject(false)):modal.confirm({title:a("tpsl.confirmOrder"),onOk:async()=>{try{let G=await L.submit({accountId:m?.account_id});return G.success?G:(G.message&&toast.error(G.message),!1)}catch(G){return G?.message&&toast.error(G.message),false}},classNames:{body:"!oui-pb-0"},content:jsx(Ie,{isPositionTPSL:s===PositionType.FULL,isEditing:i,symbol:x.symbol,qty:Number(x.quantity),maxQty:Je,tpPrice:Number(x.tp_trigger_price),slPrice:Number(x.sl_trigger_price),side:x.side,orderInfo:x,quoteDP:g[t]("quote_dp")??2,baseDP:g[t]("base_dp")??2})}).then(()=>true,()=>Promise.reject(false))},ao=async()=>{try{if(await O())return c?lo(d,{position:m,submit:y,cancel:no}):y({accountId:m?.account_id}).then(()=>!0).catch(L=>{throw L?.message&&toast.error(L.message),!1})}catch(x){return Promise.reject(x)}};return {isEditing:i,symbolInfo:g[t],maxQty:vt,setQuantity:useMemoizedFn(Xe),orderQuantity:d.quantity,TPSL_OrderEntity:d,setOrderValue:P,setPnL:h,setOrderPrice:k,onSubmit:ao,metaState:w,errors:oe,status:{isCreateMutating:xe,isUpdateMutating:ie},position:m,setValues:N}};var Ae=e=>{let{onCancel:t,onComplete:r,...i}=e,s=mr(i);return jsx(er,{...s,onCancel:t,onComplete:r,close:i.close})},Be="TPSLSheetId",ge="TPSLDialogId";registerSimpleSheet(Be,Ae);registerSimpleDialog(ge,Ae,{classNames:{content:"oui-w-[420px]"}});var $i=e=>{let{position:t,order:r,baseDP:i,quoteDP:s,buttonProps:o,isEditing:n}=e,[l]=useLocalStorage("orderly_order_confirm",true),{t:a}=useTranslation(),g=n?r?.algo_type===AlgoOrderRootType.POSITIONAL_TP_SL:void 0;return jsx(Box,{onClick:()=>{modal.show(ge,{order:r,symbol:t.symbol,baseDP:i,quoteDP:s,positionType:g?PositionType.FULL:PositionType.PARTIAL,isEditing:n});},className:"oui-cursor-pointer",children:e.children||jsx(Button,{variant:"outlined",size:"sm",color:"secondary",...o,children:e.label})})};var Yi=e=>{let{order:t,isEditing:r}=e,{hide:i}=useModal(),s=r?t?.algo_type===AlgoOrderRootType.POSITIONAL_TP_SL:void 0;return jsx(Ae,{...e,positionType:e.positionType??(s?PositionType.FULL:PositionType.PARTIAL),onCancel:i})};var xr=e=>{let{t}=useTranslation(),{errors:r,validated:i}=e.metaState,{formattedOrder:s,setValue:o,symbolInfo:n,setValues:l}=e,[a,g]=useState({enable:false,order_type:s.tp_order_type??OrderType.MARKET,order_price:s.tp_order_price??"",trigger_price:s.tp_trigger_price??"",PnL:s.tp_pnl??"",Offset:s.tp_offset??"","Offset%":s.tp_offset_percentage??"",ROI:s.tp_ROI??""}),[f,p]=useState({enable:false,order_type:s.sl_order_type??OrderType.MARKET,order_price:s.sl_order_price??"",trigger_price:s.sl_trigger_price??"",PnL:s.sl_pnl??"",Offset:s.sl_offset??"","Offset%":s.sl_offset_percentage??"",ROI:s.sl_ROI??""});useEffect(()=>{g(m=>({...m,order_type:s.tp_order_type??OrderType.MARKET,order_price:s.tp_order_price??"",trigger_price:s.tp_trigger_price??"",PnL:s.tp_pnl??"",Offset:s.tp_offset??"","Offset%":s.tp_offset_percentage??"",ROI:s.tp_ROI??""}));},[s]),useEffect(()=>{p(m=>({...m,order_type:s.sl_order_type??OrderType.MARKET,order_price:s.sl_order_price??"",trigger_price:s.sl_trigger_price??"",PnL:s.sl_pnl??"",Offset:s.sl_offset??"","Offset%":s.sl_offset_percentage??"",ROI:s.sl_ROI??""}));},[s]);let c=s.tp_trigger_price||s.sl_trigger_price;return jsxs("div",{className:"oui-flex oui-h-full oui-flex-col oui-justify-between oui-rounded-[16px] oui-py-3",children:[jsx("div",{className:"oui-px-3",children:jsxs(Flex,{className:"oui-mb-5 oui-cursor-pointer oui-text-base oui-text-base-contrast-80",gap:1,itemAlign:"center",onClick:e.onClose,children:[jsx(ts,{className:" oui-text-base-contrast-80"}),jsx(Text,{children:t("common.tpsl")})]})}),jsxs(ScrollArea,{className:"oui-flex-1",children:[jsx("div",{className:"oui-px-3",children:jsx(H,{order:s,baseDP:n.base_dp,quoteDP:n.quote_dp,symbolLeverage:e.symbolLeverage})}),jsx(Divider,{className:"oui-my-3"}),jsxs("div",{className:"oui-px-3",children:[jsxs(Flex,{className:"oui-gap-[6px]",children:[jsx(Button,{onClick:()=>{o("side",OrderSide.BUY);},size:"sm",fullWidth:true,"data-type":OrderSide.BUY,className:cn(s.side===OrderSide.BUY?"oui-bg-success-darken hover:oui-bg-success-darken/80 active:oui-bg-success-darken/80":"oui-bg-base-7 oui-text-base-contrast-36 hover:oui-bg-base-6 active:oui-bg-base-6"),"data-testid":"oui-testid-orderEntry-side-buy-button",children:t("common.buy")}),jsx(Button,{onClick:()=>{o("side",OrderSide.SELL);},"data-type":OrderSide.SELL,fullWidth:true,size:"sm",className:cn(s.side===OrderSide.SELL?"oui-bg-danger-darken hover:oui-bg-danger-darken/80 active:oui-bg-danger-darken/80":"oui-bg-base-7 oui-text-base-contrast-36 hover:oui-bg-base-6 active:oui-bg-base-6"),"data-testid":"oui-testid-orderEntry-side-sell-button",children:t("common.sell")})]}),jsxs("div",{className:"oui-py-3",children:[jsx(Y,{value:s.position_type??PositionType.PARTIAL,onChange:(m,d)=>{if(d===PositionType.FULL){l({position_type:PositionType.FULL,tp_order_type:OrderType.MARKET,tp_order_price:void 0,sl_order_type:OrderType.MARKET,sl_order_price:void 0});return}o("position_type",d);}}),s.position_type===PositionType.FULL&&jsxs(Flex,{justify:"start",itemAlign:"start",gap:2,className:"oui-mt-3 oui-w-full",children:[jsx("div",{className:"oui-relative oui-top-[7px] oui-size-1 oui-rounded-full oui-bg-[#D25f00]"}),jsx(Text,{className:"oui-text-2xs oui-text-[#D25f00]",children:t("tpsl.positionType.full.tips.market")})]})]}),jsxs(Flex,{direction:"column",gap:6,children:[jsx(z,{rootOrderPrice:s.order_price,symbol:n.symbol,type:"tp",side:s.side,values:a,errors:i?r:null,quote_dp:n.quote_dp,hideOrderPrice:s.position_type===PositionType.FULL,onChange:(m,d)=>{o(m,d);},positionType:s.position_type??PositionType.PARTIAL,symbolLeverage:e.symbolLeverage}),jsx(z,{rootOrderPrice:s.order_price,symbol:n.symbol,type:"sl",side:s.side,values:f,hideOrderPrice:s.position_type===PositionType.FULL,errors:i?r:null,quote_dp:n.quote_dp,positionType:s.position_type??PositionType.PARTIAL,onChange:(m,d)=>{o(m,d);},symbolLeverage:e.symbolLeverage})]}),jsx(pe,{tp_pnl:s.tp_pnl,sl_pnl:s.sl_pnl,className:"oui-mt-6"})]})]}),jsxs(Flex,{className:"oui-mt-6 oui-px-3",gap:2,children:[jsx(Button,{size:"md",fullWidth:true,color:"gray",variant:"outlined",className:"oui-text-base-contrast-36",onClick:e.onClose,children:t("common.cancel")}),jsx(Button,{size:"md",fullWidth:true,color:"success",className:cn(s.side===OrderSide.SELL?"oui-bg-danger-darken hover:oui-bg-danger-darken/80 active:oui-bg-danger-darken/80":"oui-bg-success-darken hover:oui-bg-success-darken/80 active:oui-bg-success-darken/80"),onClick:e.onSubmit,disabled:!c,children:t("tpsl.advanced.submit")})]})]})},ts=e=>jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 14 14",fill:"currentColor",...e,children:jsx("path",{d:"M8.03752 2.9294C7.89169 2.95857 7.74527 3.03207 7.65661 3.16624L5.33145 6.66624C5.20137 6.86224 5.20137 7.12648 5.33145 7.32248L7.65661 10.8225C7.83452 11.0902 8.20669 11.1655 8.47385 10.9864C8.74044 10.8079 8.8151 10.434 8.63719 10.1662L6.53019 6.99408L8.63719 3.82249C8.8151 3.55416 8.74044 3.18082 8.47385 3.00232C8.34027 2.91249 8.18335 2.89965 8.03752 2.9294Z"})});var br=e=>{let{order:t,setOrderValue:r,onClose:i}=e,[s,o]=useState(null),{formattedOrder:n,setValue:l,setValues:a,helper:g,symbolInfo:f,metaState:p,...c}=useOrderEntry(t.symbol,{initialOrder:{symbol:t.symbol,order_type:t.order_type,side:t.side,order_price:t.order_price,order_quantity:t.order_quantity,position_type:t.position_type??PositionType.PARTIAL,trigger_price:t.trigger_price,tp_trigger_price:t.tp_trigger_price,sl_trigger_price:t.sl_trigger_price,tp_order_price:t.tp_order_price,sl_order_price:t.sl_order_price,tp_order_type:t.tp_order_type,sl_order_type:t.sl_order_type,sl_pnl:t.sl_pnl,sl_offset:t.sl_offset,sl_offset_percentage:t.sl_offset_percentage,tp_pnl:t.tp_pnl,tp_offset:t.tp_offset,tp_offset_percentage:t.tp_offset_percentage}});return {order:t,formattedOrder:n,symbolInfo:f,setValue:l,setValues:a,onSubmit:()=>{g.validate().then(()=>{e.onSubmit(n);}).catch(d=>{});},onClose:i,metaState:p,symbolLeverage:e.symbolLeverage}};var Or=e=>{let t=br({order:e.order,setOrderValue:e.setOrderValue,onSubmit:e.onSubmit,onClose:e.onClose,symbolLeverage:e.symbolLeverage});return jsx(xr,{...t})},ls="TPSLAdvancedSheetId",as="TPSLAdvancedDialogId";registerSimpleSheet(ls,Or,{title:()=>i18n.t("common.settings")});registerSimpleDialog(as,Or,{title:()=>i18n.t("common.settings")});var Ir=e=>{let{position:t}=e,r=t.symbol,i=useSymbolsInfo()[r],{isMobile:s}=useScreen(),{t:o}=useTranslation(),[n,l]=useState([]),[a,g]=useState([]),[f,{cancelAlgoOrder:p,cancelPostionOrdersByTypes:c,refresh:m}]=useOrderStream({symbol:t.symbol,status:OrderStatus.INCOMPLETE,includes:[AlgoOrderRootType.POSITIONAL_TP_SL,AlgoOrderRootType.TP_SL],size:500},{keeplive:true}),d=async O=>await p(O.algo_order_id,O.symbol),y=async()=>await c(r,[AlgoOrderRootType.TP_SL]),u=({order:O,positionType:w,isEditing:oe})=>{let xe=s?Be:ge;modal.show(xe,{order:O,symbol:t.symbol,positionType:w,isEditing:oe});},P=(O,w)=>{u({order:O,positionType:w,isEditing:true});},N=O=>{u({positionType:O,isEditing:false});};return useEffect(()=>{if(f){let{fullPositionOrder:O,partialPositionOrders:w}=findPositionTPSLFromOrders(f,r);l(O?[O]:[]),g(w??[]);}},[f,r]),{symbolInfo:i,position:t,symbol:r,fullPositionOrders:n,partialPositionOrders:a,cancelPostionOrdersByTypes:c,onCancelOrder:d,onCancelAllTPSLOrders:y,editTPSLOrder:P,addTPSLOrder:N}};var Ar=createContext({}),Nr=e=>{let t=useSymbolsInfo()[e.symbol];return jsx(Ar.Provider,{value:{base_dp:t("base_dp"),quote_dp:t("quote_dp"),position:e.position},children:e.children})},X=()=>useContext(Ar);var C=e=>jsx(Flex,{direction:"column",justify:"center",itemAlign:"start",className:"oui-text-2xs oui-h-[36px]",children:e.children});var ct=({order:e})=>{let{position:t,base_dp:r,quote_dp:i}=X(),{tp_trigger_price:s,sl_trigger_price:o}=findTPSLFromOrder(e),n,l,a=new Decimal(e.quantity).eq(0)?t.position_qty:e.quantity,g=t.position_qty>0?OrderSide.BUY:OrderSide.SELL,f=t?.average_open_price;if(s){let p=getTPSLDirection({side:g,type:"tp",closePrice:s,orderPrice:f});n=formatNum.pnl(positions.unrealizedPnL({qty:a,openPrice:f,markPrice:s}))?.abs().mul(p).toNumber();}if(o){let p=getTPSLDirection({side:g,type:"sl",closePrice:o,orderPrice:f});l=formatNum.pnl(positions.unrealizedPnL({qty:a,openPrice:f,markPrice:o}))?.abs().mul(p).toNumber();}return jsxs(Flex,{gap:2,direction:"column",justify:"between",itemAlign:"start",className:"oui-text-2xs",children:[n&&jsx(C,{children:jsx(Text.numeral,{dp:2,rm:Decimal.ROUND_DOWN,coloring:true,padding:false,children:n})}),l&&jsx(C,{children:jsx(Text.numeral,{dp:2,rm:Decimal.ROUND_DOWN,coloring:true,padding:false,children:l})})]})};var mt=({order:e})=>{let{quote_dp:t}=X(),{tp_order_price:r,sl_order_price:i}=findTPSLOrderPriceFromOrder(e),{t:s}=useTranslation();return jsxs(Flex,{gap:2,direction:"column",justify:"between",itemAlign:"start",className:"oui-text-2xs",children:[r&&jsx(C,{children:r===OrderType.MARKET?jsx(Text,{children:s("common.market")}):jsx(Text.numeral,{dp:t,rm:Decimal.ROUND_DOWN,padding:false,children:r})}),i&&jsx(C,{children:i===OrderType.MARKET?jsx(Text,{children:s("common.market")}):jsx(Text.numeral,{dp:t,rm:Decimal.ROUND_DOWN,padding:false,children:i})})]})};var gt=({order:e})=>{let{position:t,base_dp:r}=X(),{tp_trigger_price:i,sl_trigger_price:s}=findTPSLFromOrder(e),o=useMemo(()=>e.quantity===0?-t.position_qty:t.position_qty>0?-e.quantity:e.quantity,[e.quantity,t.position_qty]);return jsxs(Flex,{direction:"column",justify:"start",itemAlign:"start",className:"oui-h-full oui-text-2xs",children:[jsx(C,{children:jsx(Text.numeral,{dp:r,rm:Decimal.ROUND_DOWN,padding:false,children:o})}),i&&s&&jsx(C,{children:jsx("div",{})})]})};var Pt=({order:e})=>{let{quote_dp:t}=X(),{tp_trigger_price:r,sl_trigger_price:i}=findTPSLFromOrder(e),{t:s}=useTranslation();return jsxs(Flex,{gap:1,direction:"column",justify:"between",itemAlign:"start",className:"oui-text-2xs",children:[r&&jsx(C,{children:jsxs(Flex,{direction:"column",justify:"start",itemAlign:"start",children:[jsx(Text,{className:"oui-text-base-contrast-36",children:s("common.market")}),jsx(Text.numeral,{dp:t,rm:Decimal.ROUND_DOWN,padding:false,children:r})]})}),i&&jsx(C,{children:jsxs(Flex,{direction:"column",justify:"start",itemAlign:"start",children:[jsx(Text,{className:"oui-text-base-contrast-36",children:s("common.market")}),jsx(Text.numeral,{dp:t,rm:Decimal.ROUND_DOWN,padding:false,children:i})]})})]})};var _t=({order:e})=>{let{tp_trigger_price:t,sl_trigger_price:r}=findTPSLFromOrder(e),{t:i}=useTranslation();return jsxs(Flex,{direction:"column",justify:"between",itemAlign:"start",className:"oui-text-2xs",children:[t&&jsx(C,{children:jsx(Text,{className:"oui-text-trade-profit",children:i("tpsl.tp")})}),r&&jsx(C,{children:jsx(Text,{className:"oui-text-trade-loss",children:i("tpsl.sl")})})]})};var Ge=e=>{let{t}=useTranslation(),{isMobile:r}=useScreen(),{onCancelOrder:i}=e;return useMemo(()=>{let o=[{title:t("tpsl.tpslDetail.qty"),dataIndex:"quantity",width:70,className:"oui-py-2",render:(l,a)=>jsx(gt,{order:a})},{title:t("common.type"),dataIndex:"type",width:35,className:"oui-pl-1 oui-py-2",render:(l,a)=>jsx(_t,{order:a})},{title:t("common.trigger"),dataIndex:"trigger",width:70,className:"oui-pl-1 oui-py-2",render:(l,a)=>jsx(Pt,{order:a})},{title:t("common.price"),dataIndex:"price",width:70,className:"oui-py-2",render:(l,a)=>jsx(mt,{order:a})},{title:jsx(Tooltip,{className:"oui-max-w-[280px] oui-bg-base-8 oui-p-3 oui-text-2xs oui-text-base-contrast",content:t("tpsl.tpslDetail.estPnl.tooltip"),children:jsx(Text,{className:"oui-underline oui-decoration-dashed oui-underline-offset-2",children:t("tpsl.tpslDetail.estPnl")})}),dataIndex:"estpnl",width:70,className:"!oui-pr-0 oui-py-2",render:(l,a)=>jsx(ct,{order:a})}],n=[{title:t("tpsl.tpslDetail.qty"),dataIndex:"quantity",width:70,className:cn(" oui-py-2 !oui-pl-5"),render:(l,a)=>jsx(gt,{order:a})},{title:t("common.type"),dataIndex:"type",width:35,className:"oui-pl-1 oui-py-2",render:(l,a)=>jsx(_t,{order:a})},{title:t("common.trigger"),dataIndex:"trigger",width:70,className:"oui-pl-1 oui-py-2",render:(l,a)=>jsx(Pt,{order:a})},{title:t("common.price"),dataIndex:"price",width:70,className:"oui-pl-1 oui-py-2",render:(l,a)=>jsx(mt,{order:a})},{title:jsx(Tooltip,{className:"oui-max-w-[280px] oui-bg-base-8 oui-p-3 oui-text-2xs oui-text-base-contrast",content:t("tpsl.tpslDetail.estPnl.tooltip"),children:jsx(Text,{className:"oui-underline oui-decoration-dashed oui-underline-offset-2",children:t("tpsl.tpslDetail.estPnl")})}),dataIndex:"estpnl",width:70,className:"oui-pl-1 oui-py-2",render:(l,a)=>jsx(ct,{order:a})},{title:"",dataIndex:"delete",width:50,className:cn("oui-py-2 !oui-pr-5"),render:(l,a)=>jsx(Ys,{order:a,onCancelOrder:i})}];return r?o:n},[t,r])};var Hs=e=>{let{size:t=18}=e;return jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,viewBox:"0 0 18 18",fill:"currentColor",...e,children:jsx("path",{d:"M5.48081 15.375C5.10681 15.375 4.78731 15.2426 4.52231 14.9777C4.25744 14.7127 4.125 14.3932 4.125 14.0192V4.50004H3.375V3.37505H6.75V2.71167H11.25V3.37505H14.625V4.50004H13.875V14.0192C13.875 14.3981 13.7438 14.7188 13.4813 14.9813C13.2188 15.2438 12.8981 15.375 12.5192 15.375H5.48081ZM12.75 4.50004H5.25V14.0192C5.25 14.0866 5.27162 14.1419 5.31487 14.1852C5.35812 14.2284 5.41344 14.25 5.48081 14.25H12.5192C12.5769 14.25 12.6298 14.226 12.6778 14.1779C12.7259 14.1299 12.75 14.077 12.75 14.0192V4.50004ZM7.053 12.75H8.17781V6.00004H7.053V12.75ZM9.82219 12.75H10.947V6.00004H9.82219V12.75Z"})})},Ys=e=>{let[t,r]=useState(false);return jsx(ThrottledButton,{size:"sm",loading:t,variant:"text",color:"gray",onClick:i=>{i.stopPropagation(),r(true),e.onCancelOrder?.(e.order).then(()=>{},s=>{toast.error(s.message);}).finally(()=>{r(false);});},children:jsx(Hs,{className:"oui-text-base-contrast-54 hover:oui-text-base-contrast oui-cursor-pointer"})})};var xt=e=>{let{orders:t}=e,r=Ge({onCancelOrder:e.onCancelOrder});return jsx(AuthGuardDataTable,{columns:r,dataSource:t,className:"oui-bg-transparent oui-text-2xs",bordered:true,classNames:{root:cn(e.className),header:"!oui-bg-base-8",scroll:cn(!t||t.length===0?"!oui-min-h-[170px]":"!oui-min-h-[100px]")},onRow:i=>({className:cn("oui-h-[53px] oui-cursor-svg-edit !oui-border-none !oui-p-0"),onClick:()=>{e.editTPSLOrder(i);}})})};var bt=e=>{let{t}=useTranslation(),{orders:r}=e,i=Ge({onCancelOrder:()=>Promise.resolve()}),s=useMemo(()=>r.reduce((o,n)=>(o[n.algo_order_id]=true,o),{}),[r]);return jsx(AuthGuardDataTable,{columns:i,dataSource:r,expanded:s,bordered:true,getRowCanExpand:()=>true,expandRowRender:o=>jsxs(Flex,{gap:2,justify:"end",children:[jsx(Button,{variant:"outlined",size:"sm",color:"gray",className:"oui-h-6 oui-text-2xs oui-text-base-contrast-54",onClick:()=>e.editTPSLOrder(o.original),children:t("common.edit")}),jsx(ln,{order:o.original,onCancelOrder:e.canCancelOrder})]}),className:"oui-bg-transparent oui-px-2 oui-text-2xs",classNames:{scroll:cn(!r||r.length===0?"!oui-min-h-[170px]":"!oui-min-h-[100px]")},onRow:()=>({className:cn("oui-h-[53px] oui-cursor-svg-edit !oui-border-none !oui-p-0")}),generatedRowKey:o=>o.algo_order_id})},ln=e=>{let[t,r]=useState(false),{t:i}=useTranslation();return jsx(ThrottledButton,{className:"oui-h-6 oui-text-2xs oui-text-base-contrast-54",size:"sm",loading:t,variant:"outlined",color:"gray",onClick:s=>{s.stopPropagation(),r(true),e.onCancelOrder?.(e.order).then(()=>{},o=>{toast.error(o.message);}).finally(()=>{r(false);});},children:i("common.delete")})};var Wr=e=>{let{isMobile:t}=useScreen(),{position:r,fullPositionOrders:i,partialPositionOrders:s,onCancelOrder:o,onCancelAllTPSLOrders:n,editTPSLOrder:l,addTPSLOrder:a,symbolInfo:g}=e;return jsx(Box,{children:jsxs(ScrollArea,{className:cn(t&&"oui-h-[calc(100vh-100px)]"),children:[jsx(H,{order:{symbol:r.symbol,order_quantity:r.position_qty.toString(),order_price:r.average_open_price.toString()},symbolLeverage:r.leverage,baseDP:g("base_dp"),quoteDP:g("quote_dp"),classNames:{root:cn("oui-mb-6 oui-gap-3 oui-px-5"),container:"oui-gap-x-[30px]"}}),jsx(gn,{position:r,orders:i,onCancelOrder:o,onCancelAllTPSLOrders:n,editTPSLOrder:l,addTPSLOrder:a}),jsx(fn,{position:r,orders:s,onCancelOrder:o,onCancelAllTPSLOrders:n,editTPSLOrder:l,addTPSLOrder:a})]})})},gn=e=>{let[t,r]=useState(true),{orders:i}=e,{isMobile:s}=useScreen();return jsxs(Box,{className:"oui-mt-6",children:[jsxs(Box,{className:cn("oui-flex oui-items-center oui-justify-between oui-px-5"),children:[jsx(Kr,{positionType:PositionType.FULL,open:t,onOpenChange:r}),i&&i.length===0&&jsx(Flex,{gap:2,children:jsx(Gr,{positionType:PositionType.FULL,position:e.position,addTPSLOrder:e.addTPSLOrder})})]}),jsx(Box,{className:cn("oui-overflow-hidden oui-transition-[height] oui-duration-150",t?"oui-h-auto":"oui-h-0 oui-pb-4"),children:s?jsx(bt,{orders:i,editTPSLOrder:o=>e.editTPSLOrder(o,PositionType.FULL),canCancelOrder:e.onCancelOrder}):jsx(xt,{orders:i,editTPSLOrder:o=>{e.editTPSLOrder(o,PositionType.FULL);},onCancelOrder:e.onCancelOrder})})]})},fn=e=>{let[t,r]=useState(true),{orders:i}=e,{isMobile:s}=useScreen();return jsxs(Box,{className:"oui-pt-6",children:[jsxs(Box,{className:cn("oui-flex oui-items-center oui-justify-between","oui-px-5",s?"oui-flex-col oui-items-start oui-justify-start oui-gap-[11px]":"oui-flex-row oui-items-center oui-justify-between"),children:[jsx(Kr,{positionType:PositionType.PARTIAL,open:t,onOpenChange:r}),jsxs(Flex,{gap:2,children:[jsx(Gr,{positionType:PositionType.PARTIAL,position:e.position,addTPSLOrder:e.addTPSLOrder}),i&&i.length>0&&jsx(yn,{canCancelAll:i&&i.length>0,onCancelAllTPSLOrders:e.onCancelAllTPSLOrders})]})]}),jsx(Box,{className:cn("oui-overflow-hidden oui-transition-[height] oui-duration-150",t?"oui-h-auto":"oui-h-0 oui-pb-4"),children:s?jsx(bt,{orders:i,editTPSLOrder:o=>e.editTPSLOrder(o,PositionType.PARTIAL),canCancelOrder:e.onCancelOrder}):jsx(xt,{className:"oui-h-[300px]",orders:i,editTPSLOrder:o=>{e.editTPSLOrder(o,PositionType.PARTIAL);},onCancelOrder:e.onCancelOrder})})]})},Kr=e=>{let{t}=useTranslation();return jsxs(Flex,{gap:1,itemAlign:"center",justify:"start",className:"oui-text-2xs",children:[jsxs(Flex,{itemAlign:"center",justify:"start",gap:1,className:"oui-cursor-pointer",onClick:()=>e.onOpenChange(!e.open),children:[jsx(ChevronDownIcon,{size:12,color:"white",className:cn("oui-cursor-pointer oui-transition-transform",e.open&&"oui-rotate-180")}),e.positionType===PositionType.FULL?jsx(Text,{children:t("tpsl.positionType.full")}):jsx(Text,{children:t("tpsl.positionType.partial")})]}),jsx(Tooltip,{className:"oui-w-[280px] oui-p-3",content:e.positionType===PositionType.FULL?t("tpsl.positionType.full.tips"):t("tpsl.positionType.partial.tips"),children:jsx(ExclamationFillIcon,{className:"oui-cursor-pointer oui-text-base-contrast-54",size:12})})]})},Gr=e=>{let{t}=useTranslation();return jsx(ThrottledButton,{variant:"outlined",size:"sm",color:"gray",className:"oui-h-6 oui-w-[94px] oui-text-2xs",onClick:()=>{e.addTPSLOrder(e.positionType);},children:t("tpsl.add")})},yn=e=>{let[t,r]=useState(false),{t:i}=useTranslation();return jsx(ThrottledButton,{loading:t,variant:"outlined",disabled:!e.canCancelAll,size:"sm",color:"gray",className:"oui-h-6 oui-w-[94px] oui-text-2xs disabled:oui-border-base-contrast-16 disabled:oui-bg-transparent disabled:oui-text-base-contrast-20",onClick:()=>{r(true),e.onCancelAllTPSLOrders().then(()=>{},s=>{toast.error(s.message);}).finally(()=>{r(false);});},children:i("tpsl.cancelAll")})};var jr=e=>{let t=Ir(e);return jsx(Nr,{symbol:e.position.symbol,position:e.position,children:jsx(Wr,{...t})})},Tn="TPSLDetailDialogId ",xn="TPSLDetailSheetId";registerSimpleDialog(Tn,jr,{classNames:{content:"oui-w-[420px] lg:oui-pt-4 lg:oui-pb-2 !oui-px-0",body:"lg:oui-py-0"}});registerSimpleSheet(xn,jr,{classNames:{content:"!oui-p-0"}});var At=e=>{let {type:t,triggerPrice:r,symbol:i}=e,s=useSymbolsInfo(),[{rows:o},n]=usePositionStream(i),l=o?.[0];useRef(AlgoOrderRootType.TP_SL);let [g]=useLocalStorage("orderly_order_confirm",true),{t:f}=useTranslation(),[p,{submit:c,deleteOrder:m,setValue:d,setValues:y,validate:u,errors:P,isCreateMutating:N,isUpdateMutating:O}]=useTPSLOrder({symbol:i,position_qty:l?.position_qty,average_open_price:l?.average_open_price},{defaultOrder:void 0,positionType:PositionType.PARTIAL,isEditing:false}),w=k=>{d("quantity",k);},oe=(k,h)=>{d(k,h);},xe=(k,h)=>{d(k,h);},ie=useMemo(()=>Math.abs(Number(l.position_qty)),[l.position_qty]);useEffect(()=>{ie&&(d("quantity",ie),d(t==="tp"?"tp_trigger_price":"sl_trigger_price",r??""));},[t,r,ie]);let Xe=async()=>{try{if(await u())return g?modal.confirm({title:f("tpsl.confirmOrder"),onOk:async()=>{try{let h=await c({accountId:l.account_id});return h.success?h:(h.message&&toast.error(h.message),!1)}catch(h){return h?.message&&toast.error(h.message),!1}},classNames:{body:"!oui-pb-0"},content:jsx(Ie,{isPositionTPSL:!1,isEditing:!1,symbol:i,qty:Number(p.quantity),maxQty:ie,tpPrice:Number(p.tp_trigger_price),slPrice:Number(p.sl_trigger_price),side:p.side,orderInfo:p,quoteDP:s[i]("quote_dp"),baseDP:s[i]("base_dp")})}).then(()=>!0,()=>Promise.reject(!1)):c({accountId:l.account_id}).then(()=>!0).catch(h=>{throw h?.message&&toast.error(h.message),!1})}catch(k){return Promise.reject(k)}};return {symbolInfo:s[i],maxQty:ie,setQuantity:useMemoizedFn(w),orderQuantity:p.quantity,isPosition:false,TPSL_OrderEntity:p,setOrderValue:d,setPnL:xe,setOrderPrice:oe,onSubmit:Xe,errors:P,status:{isCreateMutating:N,isUpdateMutating:O},position:l,setValues:y,type:t,triggerPrice:r}};var Nt=e=>{let{type:t,triggerPrice:r,errors:i,TPSL_OrderEntity:s}=e,{t:o}=useTranslation(),{getErrorMsg:n}=useOrderEntryFormErrorMsg(i),l=jsxs(Flex,{width:"100%",itemAlign:"center",gap:3,mt:4,children:[jsx(Button,{color:"gray",onClick:()=>{e.onComplete?.(),e.close?.();},fullWidth:true,className:"oui-text-sm",size:"md",children:o("common.cancel")},"secondary"),jsx(Button,{onClick:()=>{e.onSubmit().then(()=>{e.onComplete?.(),e.close?.();});},fullWidth:true,className:"oui-text-sm",size:"md",children:o("common.confirm")},"primary")]}),a=()=>{let f=n("tp_trigger_price"),p=n("sl_trigger_price"),c="";return f&&t==="tp"&&(c=f),p&&t==="sl"&&(c=p),c?jsxs(Flex,{justify:"start",itemAlign:"start",gap:2,className:"oui-mt-2 oui-w-full",children:[jsx("div",{className:"oui-relative oui-top-[7px] oui-size-1 oui-rounded-full oui-bg-danger"}),jsx(Text,{className:"oui-text-danger",children:c})]}):null},g=()=>{let{tp_pnl:f,sl_pnl:p}=s;return t==="sl"?jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{size:"2xs",children:o("tpsl.totalEstSlPnl")}),p?jsx(Text.numeral,{suffix:jsx(Text,{className:"oui-ml-1 oui-text-base-contrast-36",children:"USDC"}),coloring:true,visible:true,size:"2xs",dp:2,children:Number(p)}):jsx(Text,{size:"2xs",children:"-- USDC"})]}):jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{size:"2xs",children:o("tpsl.totalEstTpPnl")}),jsx(Text.numeral,{suffix:jsx(Text,{className:"oui-text-base-contrast-36 oui-ml-1",children:"USDC"}),rule:"price",coloring:true,visible:true,size:"2xs",dp:2,children:f?Number(f):"--"})]})};return jsxs(Box,{className:"oui-w-full oui-px-0.5",children:[jsx(Me,{maxQty:e.maxQty,quantity:Number(e.orderQuantity??e.maxQty),baseTick:e.symbolInfo("base_tick"),base_dp:e.symbolInfo("base_dp"),base:e.symbolInfo("base"),isEditing:false,errorMsg:n("quantity"),onQuantityChange:e.setQuantity}),jsxs(Flex,{direction:"column",itemAlign:"start",className:cn("oui-mt-4 oui-w-full oui-gap-1 oui-text-xs oui-text-base-contrast-36"),children:[jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{size:"xs",children:o("common.triggerPrice")}),jsx(Text.numeral,{className:"oui-text-base-contrast",suffix:jsx(Text,{className:"oui-ml-1 oui-text-xs oui-text-base-contrast-36",children:"USDC"}),rule:"price",size:"xs",dp:e.symbolInfo("quote_dp"),children:r?Number(r):"--"})]}),jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{size:"xs",children:o("common.orderPrice")}),jsx(Text,{className:"oui-text-base-contrast",size:"xs",children:o("common.market")})]}),g()]}),a(),jsx(Divider,{className:"oui-my-3 oui-w-full"}),jsx(Flex,{itemAlign:"center",onClick:()=>{e.close?.(),e.showAdvancedTPSLDialog?.({qty:Number(s.quantity)});},className:"oui-pb-4",children:jsx(Text,{color:"primary",className:"oui-cursor-pointer oui-text-sm",children:o("tpsl.advancedSetting")})}),l]})};var ht=e=>{let{close:t,onComplete:r,showAdvancedTPSLDialog:i}=e,s=At(e);return jsx(Nt,{...s,close:t,onComplete:r,showAdvancedTPSLDialog:i})},Yr="TPSLSimpleSheetId",Zr="TPSLSimpleDialogId";registerSimpleSheet(Yr,ht,{classNames:{}});registerSimpleDialog(Zr,ht,{classNames:{content:"oui-w-[420px]"}});function jn(e){let t=e.child_orders[0],r=t.algo_type===AlgoOrderRootType.TP_SL?PositionType.PARTIAL:PositionType.FULL,i=t.child_orders.find(n=>n.algo_type===AlgoOrderType.TAKE_PROFIT&&n.trigger_price),s=t.child_orders.find(n=>n.algo_type===AlgoOrderType.STOP_LOSS&&n.trigger_price),o={};return i&&(o.tp_trigger_price=i.trigger_price?.toString(),o.tp_order_type=typeof i.type=="string"?i.type.replace("_ORDER",""):void 0,o.tp_order_type===OrderType.LIMIT&&(o.tp_order_price=i.price?.toString())),s&&(o.sl_trigger_price=s.trigger_price?.toString(),o.sl_order_type=typeof s.type=="string"?s.type.replace("_ORDER",""):void 0,o.sl_order_type===OrderType.LIMIT&&(o.sl_order_price=s.price?.toString())),{baseInfo:{symbol:e.symbol,order_type:e.type,side:e.side,order_price:e.price,order_quantity:e.quantity,position_type:r},tpslPriceInfo:o,tpInfo:{orderId:i?.algo_order_id},slInfo:{orderId:s?.algo_order_id}}}function He(e,t){if(t==null)return true;if(isNaN(Number(t)))return false;let r=new Decimal(Number(e));return !new Decimal(Number(t)).eq(r)}var eo=e=>{if(!e.order)throw new SDKError("order is required for editBracketOrder");let{baseInfo:t,tpslPriceInfo:r,tpInfo:i,slInfo:s}=jn(e.order),[o,{isMutating:n}]=useMutation("/v1/algo/order","PUT"),{formattedOrder:l,setValue:a,setValues:g,metaState:f,symbolInfo:p,helper:c}=useOrderEntry(e.order.symbol,{initialOrder:t}),m=e.order.symbol,d=useMemo(()=>{let u=false,{tp_order_price:P,sl_order_price:N,tp_trigger_price:O,sl_trigger_price:w}=l;return r.tp_trigger_price&&(u=u||He(r.tp_trigger_price,O??0)),r.tp_order_price&&(u=u||He(r.tp_order_price,P??0)),r.sl_trigger_price&&(u=u||He(r.sl_trigger_price,w??0)),r.sl_order_price&&(u=u||He(r.sl_order_price,N??0)),u},[r,l.tp_order_price,l.sl_order_price,l.tp_trigger_price,l.sl_trigger_price]);return useEffect(()=>{g({...r});},[e.order,g]),{symbol:m,symbolInfo:p,formattedOrder:l,setValue:a,setValues:g,metaState:f,onSubmit:async()=>c.validate().then(()=>{let u={order_id:i.orderId,algo_type:AlgoOrderType.TAKE_PROFIT,trigger_price:l.tp_trigger_price,reduce_only:true};l.tp_order_type===OrderType.LIMIT&&(u.price=l.tp_order_price);let P={order_id:s.orderId,algo_type:AlgoOrderType.STOP_LOSS,trigger_price:l.sl_trigger_price,reduce_only:true};l.sl_order_type===OrderType.LIMIT&&(P.price=l.sl_order_price);let N=[];return i.orderId&&N.push(u),s.orderId&&N.push(P),o({order_id:e.order.algo_order_id,child_orders:[{order_id:e.order.child_orders[0].algo_order_id,child_orders:N}]})}),isMutating:n,isPriceChanged:d}};var io=e=>{let{t}=useTranslation(),{errors:r,validated:i}=e.metaState,{isMobile:s}=useScreen(),{formattedOrder:o,setValue:n,symbol:l,symbolInfo:a,setValues:g}=e,[f,p]=useState({order_type:o.tp_order_type??OrderType.MARKET,order_price:o.tp_order_price??"",trigger_price:o.tp_trigger_price??"",PnL:o.tp_pnl??"",Offset:o.tp_offset??"","Offset%":o.tp_offset_percentage??"",ROI:o.tp_ROI??""}),[c,m]=useState({order_type:o.sl_order_type??OrderType.MARKET,order_price:o.sl_order_price??"",trigger_price:o.sl_trigger_price??"",PnL:o.sl_pnl??"",Offset:o.sl_offset??"","Offset%":o.sl_offset_percentage??"",ROI:o.sl_ROI??""});return useEffect(()=>{p(d=>({...d,order_type:o.tp_order_type??OrderType.MARKET,order_price:o.tp_order_price??"",trigger_price:o.tp_trigger_price??"",PnL:o.tp_pnl??"",Offset:o.tp_offset??"","Offset%":o.tp_offset_percentage??"",ROI:o.tp_ROI??""}));},[o]),useEffect(()=>{m(d=>({...d,order_type:o.sl_order_type??OrderType.MARKET,order_price:o.sl_order_price??"",trigger_price:o.sl_trigger_price??"",PnL:o.sl_pnl??"",Offset:o.sl_offset??"","Offset%":o.sl_offset_percentage??"",ROI:o.sl_ROI??""}));},[o]),jsxs("div",{children:[jsxs(ScrollArea,{className:cn("oui-flex-1",s&&"oui-h-[calc(100vh-200px)]"),children:[jsx("div",{className:"",children:jsx(H,{order:{symbol:l,order_quantity:o.order_quantity,order_price:o.order_price},baseDP:a.base_dp,quoteDP:a.quote_dp})}),jsx(Divider,{className:"oui-my-3"}),jsxs("div",{className:"",children:[jsxs("div",{className:"oui-py-3",children:[jsx(Y,{value:o.position_type??PositionType.PARTIAL,disableSelector:true,onChange:(d,y)=>{if(y===PositionType.FULL){g({position_type:PositionType.FULL,tp_order_type:OrderType.MARKET,tp_order_price:void 0,sl_order_type:OrderType.MARKET,sl_order_price:void 0});return}n("position_type",y);}}),o.position_type===PositionType.FULL&&jsxs(Flex,{justify:"start",itemAlign:"start",gap:2,className:"oui-mt-3 oui-w-full",children:[jsx("div",{className:"oui-relative oui-top-[7px] oui-size-1 oui-rounded-full oui-bg-[#D25f00]"}),jsx(Text,{className:"oui-text-2xs oui-text-[#D25f00]",children:t("tpsl.positionType.full.tips.market")})]})]}),jsxs(Flex,{direction:"column",gap:6,children:[jsx(z,{disableEnableCheckbox:true,disableOrderTypeSelector:true,rootOrderPrice:o.order_price,symbol:a.symbol,type:"tp",side:o.side,values:f,errors:i?r:null,quote_dp:a.quote_dp,hideOrderPrice:o.position_type===PositionType.FULL,onChange:(d,y)=>{n(d,y);},positionType:o.position_type??PositionType.PARTIAL}),jsx(Divider,{className:"oui-w-full"}),jsx(z,{disableEnableCheckbox:true,disableOrderTypeSelector:true,rootOrderPrice:o.order_price,symbol:a.symbol,type:"sl",side:o.side,values:c,hideOrderPrice:o.position_type===PositionType.FULL,errors:i?r:null,quote_dp:a.quote_dp,positionType:o.position_type??PositionType.PARTIAL,onChange:(d,y)=>{n(d,y);}})]}),jsx(pe,{tp_pnl:o.tp_pnl,sl_pnl:o.sl_pnl,className:"oui-mt-6"})]})]}),jsx(Flex,{itemAlign:"center",gap:3,mt:5,width:"100%",justify:"center",children:jsx(ThrottledButton,{className:"oui-w-[184px]","data-testid":"tpsl-confirm",disabled:!e.isPriceChanged,loading:e.isMutating,onClick:()=>{e.onSubmit().then(()=>{e.onClose?.();}).catch(d=>{});},children:t("common.confirm")})})]})};var so=e=>{let t=eo({order:e.order});return jsx(io,{...t,onClose:e.close})},ol="EditBracketOrderSheetId",il="EditBracketOrderDialogId";registerSimpleSheet(ol,so);registerSimpleDialog(il,so,{classNames:{content:"oui-w-[420px]"}});
13
13
 
14
- export { rs as ArrowRightIcon, sl as EditBracketOrderDialogId, il as EditBracketOrderSheetId, so as EditBracketOrderWidget, Ae as PositionTPSLConfirm, ji as PositionTPSLPopover, Zi as PositionTPSLSheet, er as TPSL, ds as TPSLAdvancedDialogId, as as TPSLAdvancedSheetId, xr as TPSLAdvancedUI, Lr as TPSLAdvancedWidget, xn as TPSLDetailDialogId, bn as TPSLDetailSheetId, jr as TPSLDetailWidget, ge as TPSLDialogId, Y as TPSLPositionTypeWidget, Ve as TPSLSheetId, Zr as TPSLSimpleDialogId, ht as TPSLSimpleDialogUI, Ct as TPSLSimpleDialogWidget, Yr as TPSLSimpleSheetId, Ne as TPSLWidget, Sr as useTPSLAdvanced, mr as useTPSLBuilder, Nt as useTPSLSimpleDialog };
14
+ export { ts as ArrowRightIcon, il as EditBracketOrderDialogId, ol as EditBracketOrderSheetId, so as EditBracketOrderWidget, Ie as PositionTPSLConfirm, $i as PositionTPSLPopover, Yi as PositionTPSLSheet, er as TPSL, as as TPSLAdvancedDialogId, ls as TPSLAdvancedSheetId, xr as TPSLAdvancedUI, Or as TPSLAdvancedWidget, Tn as TPSLDetailDialogId, xn as TPSLDetailSheetId, jr as TPSLDetailWidget, ge as TPSLDialogId, Y as TPSLPositionTypeWidget, Be as TPSLSheetId, Zr as TPSLSimpleDialogId, Nt as TPSLSimpleDialogUI, ht as TPSLSimpleDialogWidget, Yr as TPSLSimpleSheetId, Ae as TPSLWidget, br as useTPSLAdvanced, mr as useTPSLBuilder, At as useTPSLSimpleDialog };
15
15
  //# sourceMappingURL=out.js.map
16
16
  //# sourceMappingURL=index.mjs.map