@kodiak-finance/orderly-ui-tpsl 2.8.3 → 2.8.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +10 -10
package/dist/index.js
CHANGED
|
@@ -11,7 +11,7 @@ var orderlyUtils = require('@kodiak-finance/orderly-utils');
|
|
|
11
11
|
var orderlyUiConnector = require('@kodiak-finance/orderly-ui-connector');
|
|
12
12
|
var orderlyPerp = require('@kodiak-finance/orderly-perp');
|
|
13
13
|
|
|
14
|
-
var H=e=>{let{t}=orderlyI18n.useTranslation(),{order:o,symbolLeverage:r}=e,{symbol:s}=o,i=orderlyHooks.useMarkPrice(s),n=orderlyHooks.useIndexPrice(s),a=orderlyHooks.useLeverageBySymbol(r?void 0:s),l=r||a;return jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",itemAlign:"start",className:orderlyUi.cn("oui-w-full oui-gap-3 oui-font-semibold ",e.classNames?.root),children:[jsxRuntime.jsxs(orderlyUi.Flex,{itemAlign:"center",className:orderlyUi.cn("oui-gap-2 ",e.classNames?.symbol),children:[jsxRuntime.jsxs(orderlyUi.Flex,{gap:1,itemAlign:"center",children:[jsxRuntime.jsx(orderlyUi.TokenIcon,{symbol:s,className:"oui-size-5"}),jsxRuntime.jsx(orderlyUi.Text.formatted,{className:"oui-whitespace-nowrap oui-break-normal",rule:"symbol",formatString:"base-type",size:"sm",weight:"semibold",intensity:98,children:s})]}),jsxRuntime.jsxs(orderlyUi.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:[l,"x"]})]}),jsxRuntime.jsxs(orderlyUi.Grid,{cols:2,gapX:2,gapY:1,className:orderlyUi.cn("oui-w-full oui-gap-x-2 ",e.classNames?.container),children:[jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",className:" oui-text-base-contrast-36",children:[jsxRuntime.jsx(orderlyUi.Text,{size:"2xs",children:t("tpsl.advanced.quantity")}),jsxRuntime.jsx(orderlyUi.Text.numeral,{rule:"price",className:"oui-text-base-contrast-80",size:"2xs",dp:e.baseDP??2,children:Number(o.order_quantity)})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",className:"oui-text-base-contrast-36",children:[jsxRuntime.jsx(orderlyUi.Text,{size:"2xs",children:t("tpsl.advanced.lastPrice")}),jsxRuntime.jsx(orderlyUi.Text.numeral,{rule:"price",className:"oui-text-base-contrast-80",size:"2xs",dp:e.quoteDP??2,children:n?.data})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",className:"oui-text-base-contrast-36",children:[jsxRuntime.jsx(orderlyUi.Text,{size:"2xs",children:t("tpsl.advanced.orderPrice")}),jsxRuntime.jsx(orderlyUi.Text.numeral,{rule:"price",className:"oui-text-base-contrast-80",size:"2xs",dp:e.quoteDP??2,children:Number(o.order_price)})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",className:"oui-text-base-contrast-36",children:[jsxRuntime.jsx(orderlyUi.Text,{size:"2xs",children:t("common.markPrice")}),jsxRuntime.jsx(orderlyUi.Text.numeral,{rule:"price",className:"oui-text-base-contrast-80",size:"2xs",dp:e.quoteDP??2,children:i?.data})]})]})]})};var pe=e=>{let{t}=orderlyI18n.useTranslation(),{tp_pnl:o,sl_pnl:r}=e,s=react.useMemo(()=>{let i=jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-base-contrast-36",children:"-- x"});if(o===void 0||r===void 0||orderlyUtils.checkIsNaN(o)||orderlyUtils.checkIsNaN(r))return i;let n=new orderlyUtils.Decimal(o),a=new orderlyUtils.Decimal(r);if(a.isZero()||n.isZero())return i;let l=n.div(a).abs().toNumber().toFixed(2);return jsxRuntime.jsxs(orderlyUi.Flex,{gap:1,itemAlign:"center",className:"oui-text-base-contrast-80",children:[jsxRuntime.jsx(orderlyUi.Text,{children:l}),jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-base-contrast-36",children:"x"})]})},[o,r]);return jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",itemAlign:"start",className:orderlyUi.cn("oui-w-full oui-gap-1 oui-text-2xs oui-text-base-contrast-36",e.className),children:[jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(orderlyUi.Text,{size:"2xs",children:t("tpsl.totalEstTpPnl")}),jsxRuntime.jsx(orderlyUi.Text.numeral,{suffix:jsxRuntime.jsx(orderlyUi.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):"--"})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(orderlyUi.Text,{size:"2xs",children:t("tpsl.totalEstSlPnl")}),r?jsxRuntime.jsx(orderlyUi.Text.numeral,{suffix:jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-base-contrast-36 oui-ml-1",children:"USDC"}),coloring:true,visible:true,size:"2xs",dp:2,children:Number(r)}):jsxRuntime.jsx(orderlyUi.Text,{size:"2xs",children:"-- USDC"})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(orderlyUi.Text,{size:"2xs",children:t("tpsl.riskRewardRatio")}),jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-base-contrast-80",size:"2xs",children:s})]})]})};var it=e=>({disableOrderTypeSelector:e.disableOrderTypeSelector,values:e.values,onChange:e.onChange,type:e.type,quote_dp:e.quote_dp,positionType:e.positionType,errors:e.errors,hideOrderPrice:e.hideOrderPrice,rootOrderPrice:e.rootOrderPrice,symbol:e.symbol,disableEnableCheckbox:e.disableEnableCheckbox,symbolLeverage:e.symbolLeverage,side:e.side});var kt=e=>{let{type:t,values:o}=e,[r,s]=orderlyHooks.useLocalStorage("TP/SL_Mode","Offset%"),[i,n]=react.useState(true),{t:a}=orderlyI18n.useTranslation(),l=react.useMemo(()=>{switch(r){case "Offset":return `${t.toLowerCase()}_offset`;case "Offset%":return `${t.toLowerCase()}_offset_percentage`;default:return `${t.toLowerCase()}_pnl`}},[r]),m=react.useMemo(()=>o[r],[o,r]),f=react.useMemo(()=>[{label:a("tpsl.pnl"),value:"PnL",testId:"PnL_menu_item"},{label:a("tpsl.offset"),value:"Offset",testId:"Offset_mneu_item"},{label:`${a("tpsl.offset")}%`,value:"Offset%",testId:"Offset%_menu_item"}],[a]),u=react.useRef(""),d=p=>{e.onChange(l,p);},g=p=>{let{dp:y=2}=p;return {onRenderBefore:(c,P)=>(c=`${c}`,c===""||c==="-"?"":r==="Offset%"?`${new orderlyUtils.Decimal(c.replace(new RegExp(u.current.replace(".","\\.")+"$"),"")).mul(100).todp(2,4).toString()}${u.current}`:(r==="Offset"&&(c=orderlyUtils.todpIfNeed(c,y)),`${c}`)),onSendBefore:c=>{if(/^\-?0{2,}$/.test(c))return "0";if(r==="Offset%"){if(c!==""){c=orderlyUtils.todpIfNeed(c,2);let P=c.match(/\.0{0,2}$/);P?u.current=P[0]:u.current="",c=new orderlyUtils.Decimal(c).div(100).toString(),c=`${c}${u.current}`;}}else r==="PnL"&&t==="SL"&&i||(c=orderlyUtils.todpIfNeed(c,y));return c===""||c==="-"?"":c}}};return {mode:r,modes:f,type:e.type,formatter:g,onModeChange:p=>{s(p);},value:m,pnl:o.PnL,onValueChange:d,quote_dp:e.quote_dp,setFocus:n}};var zt=e=>{let{mode:t,modes:o,onModeChange:r,onValueChange:s,quote:i,quote_dp:n,value:a,pnl:l}=e,{t:m}=orderlyI18n.useTranslation(),[f,u]=react.useState(t),[d,g]=react.useState(t==="Offset%"?"%":i),p=react.useMemo(()=>{let y=Number(l);if(isNaN(y)||y===0)return "";if(y>0)return "oui-text-trade-profit";if(y<0)return "oui-text-trade-loss"},[l]);return react.useEffect(()=>{let y=o.find(c=>c.value===t)?.label;u(y),g(t==="Offset%"?"%":i);},[t,o]),jsxRuntime.jsx(orderlyUi.Input,{prefix:f,size:{initial:"lg",lg:"md"},placeholder:d,align:"right",value:a,"data-testid":e.testId,autoComplete:"off",onValueChange:s,formatters:[e.formatter({dp:n,mode:t}),orderlyUi.inputFormatter.currencyFormatter,orderlyUi.inputFormatter.decimalPointFormatter],classNames:{input:orderlyUi.cn("oui-text-2xs",p),prefix:"oui-text-base-contrast-54 oui-text-2xs",root:"oui-outline-line-12 focus-within:oui-outline-primary-light"},onFocus:()=>{g(""),e.setFocus(true);},onBlur:()=>{g(t==="Offset%"?"%":i),e.setFocus(false);},suffix:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[t==="Offset%"&&!!a&&jsxRuntime.jsx(orderlyUi.Text,{size:"2xs",color:"inherit",className:orderlyUi.cn("oui-ml-[2px]",p),children:"%"}),jsxRuntime.jsx(Fo,{mode:t,modes:o,onModeChange:y=>r(y.value)})]})})},Fo=e=>jsxRuntime.jsx(orderlyUi.SimpleDropdownMenu,{currentValue:e.mode,menu:e.modes,align:"end",size:"xs",className:"oui-min-w-[80px]",onSelect:t=>e.onModeChange(t),children:jsxRuntime.jsx("button",{className:"oui-p-2",children:jsxRuntime.jsx(orderlyUi.CaretDownIcon,{size:12,color:"white"})})});var Qt=e=>{let{testId:t,quote:o,...r}=e,s=kt(r);return jsxRuntime.jsx(zt,{...s,testId:t,quote:o})};var Kt=e=>{let{t}=orderlyI18n.useTranslation(),o=[{label:t("orderEntry.orderType.limitOrder"),value:orderlyTypes.OrderType.LIMIT},{label:t("orderEntry.orderType.marketOrder"),value:orderlyTypes.OrderType.MARKET}];return jsxRuntime.jsx(orderlyUi.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:(r,s)=>{let i={[orderlyTypes.OrderType.LIMIT]:t("orderEntry.orderType.limit"),[orderlyTypes.OrderType.MARKET]:t("common.marketPrice")}[r];return jsxRuntime.jsx(orderlyUi.Text,{size:"2xs",children:i})}})};var lt=e=>{let[t,o]=react.useState("USDC"),{t:r}=orderlyI18n.useTranslation();return jsxRuntime.jsx(orderlyUi.Input.tooltip,{"data-testid":`oui-testid-tpsl-popUp-${e.type.toLowerCase()}-input`,prefix:e.label??r("common.markPrice"),size:{initial:"lg",lg:"md"},tooltip:e.error,placeholder:t,disabled:e.disabled,align:"right",autoComplete:"off",inputMode:"decimal",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:[orderlyUi.inputFormatter.numberFormatter,orderlyUi.inputFormatter.dpFormatter(e.quote_dp),orderlyUi.inputFormatter.currencyFormatter,orderlyUi.inputFormatter.decimalPointFormatter]})};var at=e=>{let{t}=orderlyI18n.useTranslation(),{getErrorMsg:o}=orderlyReactApp.useOrderEntryFormErrorMsg(e.errors),{values:r,positionType:s}=e,i=orderlyHooks.useLeverageBySymbol(e.symbolLeverage?void 0:e.symbol),n=e.symbolLeverage||i,a=react.useMemo(()=>{if(!n||isNaN(Number(n)))return null;let l=null;if(!e.rootOrderPrice||!r.trigger_price&&!r.order_price)return null;let m=new orderlyUtils.Decimal(0);if(r.order_type===orderlyTypes.OrderType.MARKET){if(!r.trigger_price)return null;m=new orderlyUtils.Decimal(r.trigger_price);}else if(r.order_type===orderlyTypes.OrderType.LIMIT){if(!r.order_price)return null;m=new orderlyUtils.Decimal(r.order_price);}let f=new orderlyUtils.Decimal(e.rootOrderPrice),u=orderlyUtils.getTPSLDirection({side:e.side,type:e.type,closePrice:m.toNumber(),orderPrice:f.toNumber()});return l=m.minus(f).div(f).mul(n).abs().mul(100).mul(u).toNumber(),l},[r,e.rootOrderPrice,i,e.type,e.side]);return jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",itemAlign:"start",justify:"start",className:"oui-w-full",children:[jsxRuntime.jsxs(orderlyUi.Flex,{className:"oui-w-full",itemAlign:"center",justify:"start",children:[!e.disableEnableCheckbox&&jsxRuntime.jsx(orderlyUi.Checkbox,{"data-testid":`oui-testid-orderEntry-${e.type}-enable-checkBox`,id:`enable_${e.type}`,color:"white",checked:r.enable,onCheckedChange:l=>{e.onChange(`${e.type}_enable`,!!l);}}),jsxRuntime.jsx("label",{htmlFor:`enable_${e.type}`,className:orderlyUi.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")})]}),jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",gap:2,itemAlign:"start",className:orderlyUi.cn("oui-w-full oui-pt-2",r.enable?"":"oui-hidden"),children:[jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",itemAlign:"start",className:"oui-w-full oui-gap-0.5",children:[jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-2xs oui-text-base-contrast-54",children:t("tpsl.advanced.triggerPrice")}),jsxRuntime.jsxs(orderlyUi.Grid,{cols:2,gap:2,className:"oui-w-full oui-px-0.5",children:[jsxRuntime.jsx(lt,{type:`${e.type} price`,value:r.trigger_price,error:o(`${e.type}_trigger_price`),onValueChange:l=>{e.onChange(`${e.type}_trigger_price`,l);},quote_dp:e.quote_dp}),jsxRuntime.jsx(Qt,{type:e.type==="tp"?"TP":"SL",onChange:(l,m)=>{e.onChange(l,m);},quote:"USDC",quote_dp:2,values:r})]})]}),jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",className:orderlyUi.cn("oui-w-full oui-gap-0.5",e.hideOrderPrice?"oui-hidden":""),itemAlign:"start",children:[jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-2xs oui-text-base-contrast-54",children:t("tpsl.advanced.orderPrice")}),jsxRuntime.jsxs(orderlyUi.Grid,{cols:2,gap:2,className:"oui-w-full oui-px-0.5",children:[jsxRuntime.jsx(lt,{disabled:s===orderlyTypes.PositionType.FULL||r.order_type===orderlyTypes.OrderType.MARKET,type:"order price",label:r.order_type===orderlyTypes.OrderType.LIMIT?t("tpsl.advanced.limit"):t("tpsl.advanced.market"),value:r.order_price,error:o(`${e.type}_order_price`),onValueChange:l=>{e.onChange(`${e.type}_order_price`,l);},quote_dp:e.quote_dp}),jsxRuntime.jsx(Kt,{disabled:s===orderlyTypes.PositionType.FULL||e.disableOrderTypeSelector,type:r.order_type,onChange:l=>{e.onChange(`${e.type}_order_type`,l);}})]})]})]}),jsxRuntime.jsx(jo,{price:r.order_type===orderlyTypes.OrderType.MARKET?r.trigger_price:r.order_price,orderType:r.order_type,pnl:r.PnL,roi:a,dp:e.quote_dp,className:"oui-mt-1"})]})},jo=e=>{let{t}=orderlyI18n.useTranslation(),{price:o,pnl:r,roi:s,dp:i,className:n,orderType:a}=e;return !s||!o||!r?null:jsxRuntime.jsx(orderlyUi.Text,{className:orderlyUi.cn("oui-text-2xs oui-text-base-contrast-36",n),children:jsxRuntime.jsx(orderlyI18n.Trans,{i18nKey:"tpsl.advanced.ROI",components:[jsxRuntime.jsx(react.Fragment,{children:jsxRuntime.jsx(orderlyUi.Text.numeral,{className:"oui-px-1 oui-text-base-contrast",dp:i,suffix:jsxRuntime.jsx(orderlyUi.Text,{className:"oui-pl-0.5",children:"USDC"}),children:o})},"price"),jsxRuntime.jsx(react.Fragment,{children:jsxRuntime.jsx(orderlyUi.Text,{className:"oui-px-1 oui-text-base-contrast",children:a===orderlyTypes.OrderType.MARKET?t("common.market"):t("common.limit")})},"orderType"),jsxRuntime.jsx(react.Fragment,{children:jsxRuntime.jsx(orderlyUi.Text.numeral,{coloring:true,className:"oui-whitespace-nowrap oui-px-1",dp:2,suffix:jsxRuntime.jsx(orderlyUi.Text,{className:"oui-pl-0.5",children:"USDC"}),children:r})},"pnl"),jsxRuntime.jsx(react.Fragment,{children:jsxRuntime.jsx(orderlyUi.Text.numeral,{coloring:true,className:"oui-whitespace-nowrap oui-px-1",dp:2,suffix:"%",children:s})},"roi")]})})};var $=e=>{let t=it(e);return jsxRuntime.jsx(at,{...t})};var Ht=e=>({value:e.value,onChange:e.onChange,disableSelector:e.disableSelector});var ti="position_type",Zt=e=>{let{t}=orderlyI18n.useTranslation(),o=[{label:t("tpsl.positionType.partial"),value:orderlyTypes.PositionType.PARTIAL},{label:t("tpsl.positionType.full"),value:orderlyTypes.PositionType.FULL}];return jsxRuntime.jsxs(orderlyUi.Flex,{gap:1,itemAlign:"center",justify:"start",children:[jsxRuntime.jsx(orderlyUi.Tooltip,{className:"oui-w-[280px] oui-p-3",content:e.value===orderlyTypes.PositionType.FULL?t("tpsl.positionType.full.tips"):t("tpsl.positionType.partial.tips"),children:jsxRuntime.jsx(orderlyUi.ExclamationFillIcon,{className:"oui-cursor-pointer oui-text-base-contrast-54",size:12})}),e.disableSelector?e.value===orderlyTypes.PositionType.FULL?jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-2xs oui-font-semibold oui-text-base-contrast-54",children:t("tpsl.positionType.full")}):jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-2xs oui-font-semibold oui-text-base-contrast-54",children:t("tpsl.positionType.partial")}):jsxRuntime.jsx(orderlyUi.Select.options,{value:e.value,options:o,onValueChange:r=>{e.onChange(ti,r);},size:"xs",classNames:{trigger:" oui-bg-transparent oui-border-0 oui-w-auto oui-px-0"},contentProps:{className:" oui-bg-base-8 oui-border-0"}})]})};var Y=e=>{let t=Ht(e);return jsxRuntime.jsx(Zt,{...t})};var Ue=react.memo(e=>{let{maxQty:t,base_dp:o,baseTick:r,quantity:s}=e,i=react.useRef(null),{t:n}=orderlyI18n.useTranslation(),[a,l]=react.useState(0),m=d=>{let g=d;Number(d)>t&&(g=t.toString()),r>0&&e.onQuantityChange?.(orderlyHooks.utils.formatNumber(g,r)??d);},f=d=>{l(d);let g=new orderlyUtils.Decimal(d).div(100).mul(t).toFixed(o,orderlyUtils.Decimal.ROUND_DOWN);m(g);};react.useEffect(()=>{let d=Math.min(Number(s||0),t),g=new orderlyUtils.Decimal(d).div(t).mul(100).toDecimalPlaces(2,orderlyUtils.Decimal.ROUND_DOWN).toNumber();l(g);},[s,t]);let u=e.quantity.toString().length>0?e.errorMsg:void 0;return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(orderlyUi.Flex,{gap:2,children:jsxRuntime.jsx("div",{className:"oui-flex-1",children:jsxRuntime.jsx(orderlyUi.Input.tooltip,{"data-testid":"oui-testid-tpsl-popUp-quantity-input",ref:i,prefix:n("common.quantity"),size:{initial:"md",lg:"sm"},align:"right",value:e.quantity,autoComplete:"off",classNames:{prefix:"oui-text-base-contrast-54",root:orderlyUi.cn("oui-bg-base-5 oui-outline-line-12",u&&"oui-outline-danger")},tooltipProps:{content:{className:"oui-bg-base-6 oui-text-base-contrast-80"},arrow:{className:"oui-fill-base-6"}},tooltip:u,color:u?"danger":void 0,formatters:[orderlyUi.inputFormatter.dpFormatter(e.base_dp),orderlyUi.inputFormatter.numberFormatter,orderlyUi.inputFormatter.currencyFormatter,orderlyUi.inputFormatter.decimalPointFormatter],onValueChange:d=>{e.onQuantityChange?.(d);let g=Number(d);if(g&&g>e.maxQty){let p=e.maxQty;e.onQuantityChange?.(p),i.current?.blur();}},onBlur:d=>m(d.target.value),suffix:jsxRuntime.jsx("span",{className:"oui-px-3 oui-text-2xs oui-text-base-contrast-54",children:e.base})})})}),jsxRuntime.jsx(orderlyUi.Flex,{mt:2,itemAlign:"center",height:"15px",children:jsxRuntime.jsx(orderlyUi.Slider,{min:0,max:100,markCount:5,showTip:true,value:[a],color:"primary",onValueChange:d=>{f(d[0]);}})}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",children:[jsxRuntime.jsx(orderlyUi.Text.numeral,{color:"primary",size:"2xs",suffix:"%",children:a}),jsxRuntime.jsxs(orderlyUi.Flex,{itemAlign:"center",gap:1,children:[jsxRuntime.jsx("button",{className:"oui-leading-none",style:{lineHeight:0},onClick:()=>{e.onQuantityChange?.(e.maxQty);},children:jsxRuntime.jsx(orderlyUi.Text,{color:"primary",size:"2xs",children:n("common.max")})}),jsxRuntime.jsx(orderlyUi.Text.numeral,{rule:"price",size:"2xs",intensity:54,tick:e.baseTick,children:e.maxQty})]})]})]})});var er=e=>{let{TPSL_OrderEntity:t,symbolInfo:o,onCancel:r,onComplete:s,status:i,position:n,setValues:a,onClose:l,isEditing:m}=e,{errors:f,validated:u}=e.metaState,{t:d}=orderlyI18n.useTranslation(),{isMobile:g}=orderlyUi.useScreen(),{getErrorMsg:p}=orderlyReactApp.useOrderEntryFormErrorMsg(f);if(!n)return null;let y=()=>t.position_type===orderlyTypes.PositionType.FULL?null:jsxRuntime.jsx(orderlyUi.Box,{className:"oui-px-0.5",children:jsxRuntime.jsx(Ue,{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:u?p("quantity"):void 0})});return jsxRuntime.jsxs("div",{id:"orderly-tp_sl-order-edit-content",children:[jsxRuntime.jsx(orderlyUi.ScrollArea,{className:orderlyUi.cn(g&&"oui-h-[calc(100vh-200px)]"),children:jsxRuntime.jsxs("div",{className:"oui-px-2",children:[jsxRuntime.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}),jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",justify:"start",itemAlign:"start",gap:3,className:"oui-mb-3 oui-w-full",children:[!m&&jsxRuntime.jsx(Y,{disableSelector:true,value:t.position_type??orderlyTypes.PositionType.PARTIAL,onChange:(c,P)=>{e.setOrderValue(c,P);}}),t.position_type===orderlyTypes.PositionType.FULL&&jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-2xs oui-text-warning",children:d("tpsl.positionType.full.tips.market")})]}),y(),jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",itemAlign:"start",justify:"start",gap:6,className:"oui-mt-3 oui-w-full",children:[jsxRuntime.jsx($,{symbol:n.symbol,rootOrderPrice:n.average_open_price.toString(),type:"tp",side:n.position_qty>0?orderlyTypes.OrderSide.BUY:orderlyTypes.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??orderlyTypes.OrderType.MARKET},hideOrderPrice:t.position_type===orderlyTypes.PositionType.FULL,errors:u?f:null,disableOrderTypeSelector:m,quote_dp:o("quote_dp"),positionType:t.position_type??orderlyTypes.PositionType.PARTIAL,onChange:(c,P)=>{e.setOrderValue(c,P);},symbolLeverage:n.leverage}),jsxRuntime.jsx($,{symbol:n.symbol,rootOrderPrice:n.average_open_price.toString(),type:"sl",side:n.position_qty>0?orderlyTypes.OrderSide.BUY:orderlyTypes.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??orderlyTypes.OrderType.MARKET},hideOrderPrice:t.position_type===orderlyTypes.PositionType.FULL,errors:u?f:null,quote_dp:o("quote_dp"),positionType:t.position_type??orderlyTypes.PositionType.PARTIAL,disableOrderTypeSelector:m,onChange:(c,P)=>{e.setOrderValue(c,P);},symbolLeverage:n.leverage})]}),jsxRuntime.jsx(pe,{tp_pnl:t.tp_pnl,sl_pnl:t.sl_pnl,className:"oui-my-3"})]})}),jsxRuntime.jsxs(orderlyUi.Grid,{px:2,cols:2,gap:3,mt:4,children:[jsxRuntime.jsx(orderlyUi.Button,{size:"md",color:"secondary","data-testid":"tpsl-cancel",onClick:()=>{e.close?.();},children:d("common.cancel")}),jsxRuntime.jsx(orderlyUi.ThrottledButton,{size:"md","data-testid":"tpsl-confirm",disabled:i.isCreateMutating,loading:i.isCreateMutating||i.isUpdateMutating,onClick:()=>{e.onSubmit().then(()=>{e.close?.(),s?.();}).catch(c=>{});},children:d("common.confirm")})]})]})};var vi=e=>{let{tpPrice:t,slPrice:o}=e,{t:r}=orderlyI18n.useTranslation();return t&&o?jsxRuntime.jsx(orderlyUi.Badge,{size:"xs",color:"neutral",children:r("common.tpsl")}):t?jsxRuntime.jsx(orderlyUi.Badge,{size:"xs",color:"neutral",children:r("tpsl.tp")}):o?jsxRuntime.jsx(orderlyUi.Badge,{size:"xs",color:"neutral",children:r("tpsl.sl")}):null},Ne=e=>{let{symbol:t,tpPrice:o,slPrice:r,qty:s,maxQty:i,side:n,quoteDP:a,baseDP:l,isEditing:m,isPositionTPSL:f,orderInfo:u}=e,{t:d}=orderlyI18n.useTranslation(),[g,p]=orderlyHooks.useLocalStorage("orderly_order_confirm",true),y=()=>u.position_type===orderlyTypes.PositionType.FULL?jsxRuntime.jsx(orderlyUi.Text,{children:d("tpsl.positionType.full")}):jsxRuntime.jsx(orderlyUi.Text,{children:d("tpsl.positionType.partial")}),c=({price:N,isOrderPrice:O,isEnable:w,colorType:oe})=>w?!N&&O?jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-base-contrast-36",children:d("common.market")}):jsxRuntime.jsx(orderlyUi.Text.numeral,{unit:"USDC",rule:"price",className:orderlyUi.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:a,padding:false,children:N}):jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-base-contrast-36",children:"-- USDC"}),P=f;return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[m&&jsxRuntime.jsx(orderlyUi.Text,{as:"div",size:"2xs",intensity:80,className:"oui-mb-3",children:d("tpsl.agreement",{symbol:orderlyUtils.transSymbolformString(t)})}),jsxRuntime.jsxs(orderlyUi.Flex,{pb:4,children:[jsxRuntime.jsx(orderlyUi.Box,{grow:true,children:jsxRuntime.jsx(orderlyUi.Text.formatted,{rule:"symbol",formatString:"base-type",size:"base",showIcon:true,as:"div",intensity:80,children:t})}),jsxRuntime.jsxs(orderlyUi.Flex,{gap:1,children:[P&&jsxRuntime.jsx(orderlyUi.Badge,{size:"xs",color:"primary",children:d("common.position")}),jsxRuntime.jsx(vi,{tpPrice:o,slPrice:r}),n===orderlyTypes.OrderSide.SELL?jsxRuntime.jsx(orderlyUi.Badge,{size:"xs",color:"success",children:d("common.buy")}):jsxRuntime.jsx(orderlyUi.Badge,{size:"xs",color:"danger",children:d("common.sell")})]})]}),jsxRuntime.jsx(orderlyUi.Divider,{}),u.tp_trigger_price||u.sl_trigger_price?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(orderlyUi.Divider,{className:"oui-my-4"}),jsxRuntime.jsxs("div",{className:orderlyUi.textVariants({size:"sm",intensity:54,className:"oui-space-y-1 oui-w-full oui-flex oui-flex-col oui-gap-3"}),children:[jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-base-contrast",children:y()}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",children:[jsxRuntime.jsx(orderlyUi.Text,{children:d("common.orderQty")}),jsxRuntime.jsx(orderlyUi.Text.numeral,{rule:"price",dp:l,padding:false,className:"oui-text-base-contrast",children:u.quantity??"-"})]}),jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",justify:"between",itemAlign:"start",gap:1,className:"oui-w-full",children:[jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(orderlyUi.Text,{children:d("tpsl.tpTriggerPrice")})," ",c({price:u.tp_trigger_price??"",isOrderPrice:false,isEnable:!!u.tp_trigger_price,colorType:"TP"})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(orderlyUi.Text,{children:d("tpsl.tpOrderPrice")}),c({price:u.tp_order_price??"",isOrderPrice:true,isEnable:!!u.tp_trigger_price,colorType:"TP"})]})]}),jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",justify:"between",itemAlign:"start",gap:1,className:"oui-w-full",children:[jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(orderlyUi.Text,{children:d("tpsl.slTriggerPrice")}),c({price:u.sl_trigger_price??"",isOrderPrice:false,isEnable:!!u.sl_trigger_price,colorType:"SL"})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(orderlyUi.Text,{children:d("tpsl.slOrderPrice")}),c({price:u.sl_order_price??"",isOrderPrice:true,isEnable:!!u.sl_trigger_price,colorType:"SL"})]})]})]})]}):null,jsxRuntime.jsx(orderlyUi.Box,{pt:2,children:jsxRuntime.jsxs(orderlyUi.Flex,{gap:1,children:[jsxRuntime.jsx(orderlyUi.Checkbox,{id:"disabledConfirm",color:"white",checked:!g,onCheckedChange:N=>{p(!N);}}),jsxRuntime.jsx("label",{htmlFor:"disabledConfirm",className:orderlyUi.textVariants({size:"xs",intensity:54,className:"oui-ml-1"}),children:d("orderEntry.disableOrderConfirm")})]})})]})};var mr=e=>{let{symbol:t,order:o,isEditing:r,positionType:s,triggerPrice:i,type:n,withTriggerPrice:a}=e,{t:l}=orderlyI18n.useTranslation();if(r&&!o)throw new orderlyTypes.SDKError("order is required when isEditing is true");let m=orderlyHooks.useSymbolsInfo();react.useRef(orderlyTypes.AlgoOrderRootType.TP_SL);let [{rows:u}]=orderlyHooks.usePositionStream(),[d]=orderlyHooks.useLocalStorage("orderly_order_confirm",true),g=u.find(x=>x.symbol===t);react.useEffect(()=>{g||e.close?.();},[g]);let [p,{submit:y,deleteOrder:c,setValue:P,setValues:N,validate:O,metaState:w,errors:oe,isCreateMutating:be,isUpdateMutating:ie}]=orderlyHooks.useTPSLOrder({symbol:t,position_qty:g?.position_qty??0,average_open_price:g?.average_open_price??0},{defaultOrder:o,positionType:i?orderlyTypes.PositionType.PARTIAL:s,tpslEnable:{tp_enable:a?n==="tp":true,sl_enable:a?n==="sl":true},isEditing:r}),tt=x=>{P("quantity",x);},k=(x,L)=>{P(x,L);},h=(x,L)=>{P(x,L);},wt=react.useMemo(()=>Math.abs(Number(g?.position_qty)),[g?.position_qty]);react.useMemo(()=>{let x=o?.algo_type===orderlyTypes.AlgoOrderRootType.POSITIONAL_TP_SL?wt:o?.quantity,L=0;if((Number(p.quantity)!==x||!r&&p.quantity)&&(L=1),o&&r){let{tp_trigger_price:rt,sl_trigger_price:W}=orderlyHooks.utils.findTPSLFromOrder(o),{tp_order_price:Dt,sl_order_price:Et}=orderlyHooks.utils.findTPSLOrderPriceFromOrder(o);rt!==Number(p.tp_trigger_price)&&typeof typeof p.tp_trigger_price<"u"&&(L=2),W!==Number(p.sl_trigger_price)&&typeof p.sl_trigger_price<"u"&&(L=3),typeof p.tp_order_price<"u"&&Dt!==orderlyTypes.OrderType.MARKET&&Dt!==Number(p.tp_order_price)&&(L=4),typeof p.sl_order_price<"u"&&Et!==orderlyTypes.OrderType.MARKET&&Et!==Number(p.sl_order_price)&&(L=5);}return L===1&&!p.tp_trigger_price&&!p.sl_trigger_price&&(L=-1),L},[p.tp_trigger_price,p.tp_order_price,p.sl_trigger_price,p.sl_order_price,p.quantity,o,r]);react.useEffect(()=>{a&&i&&(P(n==="tp"?"tp_trigger_price":"sl_trigger_price",i),e.qty&&P("quantity",e.qty));},[n,i,e.qty]);let lo=()=>o?.algo_order_id&&o?.symbol?c(o?.algo_order_id,o?.symbol):Promise.reject("order id or symbol is invalid"),ao=(x,L)=>{if(!d)return Promise.resolve(true);let rt=Math.abs(Number(g?.position_qty));return `${x.tp_trigger_price??""}`.length===0&&`${x.sl_trigger_price??""}`.length===0?orderlyUi.modal.confirm({title:l("orders.cancelOrder"),content:l("tpsl.cancelOrder.description"),onOk:()=>L.cancel()}).then(()=>true,()=>Promise.reject(false)):orderlyUi.modal.confirm({title:l("tpsl.confirmOrder"),onOk:async()=>{try{let W=await L.submit({accountId:g?.account_id});return W.success?W:(W.message&&orderlyUi.toast.error(W.message),!1)}catch(W){return W?.message&&orderlyUi.toast.error(W.message),false}},classNames:{body:"!oui-pb-0"},content:jsxRuntime.jsx(Ne,{isPositionTPSL:s===orderlyTypes.PositionType.FULL,isEditing:r,symbol:x.symbol,qty:Number(x.quantity),maxQty:rt,tpPrice:Number(x.tp_trigger_price),slPrice:Number(x.sl_trigger_price),side:x.side,orderInfo:x,quoteDP:m[t]("quote_dp")??2,baseDP:m[t]("base_dp")??2})}).then(()=>true,()=>Promise.reject(false))},uo=async()=>{try{if(await O())return d?ao(p,{position:g,submit:y,cancel:lo}):y({accountId:g?.account_id}).then(()=>!0).catch(L=>{throw L?.message&&orderlyUi.toast.error(L.message),!1})}catch(x){return Promise.reject(x)}};return {isEditing:r,symbolInfo:m[t],maxQty:wt,setQuantity:orderlyHooks.useMemoizedFn(tt),orderQuantity:p.quantity,TPSL_OrderEntity:p,setOrderValue:P,setPnL:h,setOrderPrice:k,onSubmit:uo,metaState:w,errors:oe,status:{isCreateMutating:be,isUpdateMutating:ie},position:g,setValues:N}};var he=e=>{let{onCancel:t,onComplete:o,...r}=e,s=mr(r);return jsxRuntime.jsx(er,{...s,onCancel:t,onComplete:o,close:r.close})},ze="TPSLSheetId",fe="TPSLDialogId";orderlyUi.registerSimpleSheet(ze,he);orderlyUi.registerSimpleDialog(fe,he,{classNames:{content:"oui-w-[420px]"}});var Hi=e=>{let{position:t,order:o,baseDP:r,quoteDP:s,buttonProps:i,isEditing:n}=e,[a]=orderlyHooks.useLocalStorage("orderly_order_confirm",true),{t:l}=orderlyI18n.useTranslation(),m=n?o?.algo_type===orderlyTypes.AlgoOrderRootType.POSITIONAL_TP_SL:void 0;return jsxRuntime.jsx(orderlyUi.Box,{onClick:()=>{orderlyUi.modal.show(fe,{order:o,symbol:t.symbol,baseDP:r,quoteDP:s,positionType:m?orderlyTypes.PositionType.FULL:orderlyTypes.PositionType.PARTIAL,isEditing:n});},className:"oui-cursor-pointer",children:e.children||jsxRuntime.jsx(orderlyUi.Button,{variant:"outlined",size:"sm",color:"secondary",...i,children:e.label})})};var Xi=e=>{let{position:t,order:o,symbolInfo:r,isEditing:s}=e,{resolve:i,hide:n,updateArgs:a}=orderlyUi.useModal(),l=s?o?.algo_type===orderlyTypes.AlgoOrderRootType.POSITIONAL_TP_SL:void 0;return jsxRuntime.jsx(jsxRuntime.Fragment,{children:jsxRuntime.jsx(he,{...e,positionType:e.positionType??(l?orderlyTypes.PositionType.FULL:orderlyTypes.PositionType.PARTIAL),onCancel:()=>{n();}})})};var br=e=>{let{t}=orderlyI18n.useTranslation(),{errors:o,validated:r}=e.metaState,{formattedOrder:s,setValue:i,symbolInfo:n,setValues:a}=e,[l,m]=react.useState({enable:true,order_type:s.tp_order_type??orderlyTypes.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,u]=react.useState({enable:true,order_type:s.sl_order_type??orderlyTypes.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 react.useEffect(()=>{m(d=>({...d,enable:s.tp_enable??true,order_type:s.tp_order_type??orderlyTypes.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]),react.useEffect(()=>{u(d=>({...d,enable:s.sl_enable??true,order_type:s.sl_order_type??orderlyTypes.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]),jsxRuntime.jsxs("div",{className:"oui-rounded-[16px] oui-py-3 oui-flex oui-flex-col oui-justify-between oui-h-full",children:[jsxRuntime.jsx("div",{className:"oui-px-3",children:jsxRuntime.jsxs(orderlyUi.Flex,{className:"oui-mb-5 oui-cursor-pointer oui-text-base oui-text-base-contrast-80",gap:1,itemAlign:"center",onClick:e.onClose,children:[jsxRuntime.jsx(os,{className:" oui-text-base-contrast-80"}),jsxRuntime.jsx(orderlyUi.Text,{children:t("tpsl.advanced.title")})]})}),jsxRuntime.jsxs(orderlyUi.ScrollArea,{className:"oui-flex-1",children:[jsxRuntime.jsx("div",{className:"oui-px-3",children:jsxRuntime.jsx(H,{order:s,baseDP:n.base_dp,quoteDP:n.quote_dp,symbolLeverage:e.symbolLeverage})}),jsxRuntime.jsx(orderlyUi.Divider,{className:"oui-my-3"}),jsxRuntime.jsxs("div",{className:"oui-px-3",children:[jsxRuntime.jsxs(orderlyUi.Flex,{className:"oui-gap-[6px]",children:[jsxRuntime.jsx(orderlyUi.Button,{onClick:()=>{i("side",orderlyTypes.OrderSide.BUY);},size:"sm",fullWidth:true,"data-type":orderlyTypes.OrderSide.BUY,className:orderlyUi.cn(s.side===orderlyTypes.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")}),jsxRuntime.jsx(orderlyUi.Button,{onClick:()=>{i("side",orderlyTypes.OrderSide.SELL);},"data-type":orderlyTypes.OrderSide.SELL,fullWidth:true,size:"sm",className:orderlyUi.cn(s.side===orderlyTypes.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")})]}),jsxRuntime.jsxs("div",{className:"oui-py-3",children:[jsxRuntime.jsx(Y,{value:s.position_type??orderlyTypes.PositionType.PARTIAL,onChange:(d,g)=>{if(g===orderlyTypes.PositionType.FULL){a({position_type:orderlyTypes.PositionType.FULL,tp_order_type:orderlyTypes.OrderType.MARKET,tp_order_price:void 0,sl_order_type:orderlyTypes.OrderType.MARKET,sl_order_price:void 0});return}i("position_type",g);}}),s.position_type===orderlyTypes.PositionType.FULL&&jsxRuntime.jsxs(orderlyUi.Flex,{justify:"start",itemAlign:"start",gap:2,className:"oui-mt-3 oui-w-full",children:[jsxRuntime.jsx("div",{className:"oui-relative oui-top-[7px] oui-size-1 oui-rounded-full oui-bg-[#D25f00]"}),jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-2xs oui-text-[#D25f00]",children:t("tpsl.positionType.full.tips.market")})]})]}),jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",gap:6,children:[jsxRuntime.jsx($,{rootOrderPrice:s.order_price,symbol:n.symbol,type:"tp",side:s.side,values:l,errors:r?o:null,quote_dp:n.quote_dp,hideOrderPrice:s.position_type===orderlyTypes.PositionType.FULL,onChange:(d,g)=>{i(d,g);},positionType:s.position_type??orderlyTypes.PositionType.PARTIAL,symbolLeverage:e.symbolLeverage}),jsxRuntime.jsx($,{rootOrderPrice:s.order_price,symbol:n.symbol,type:"sl",side:s.side,values:f,hideOrderPrice:s.position_type===orderlyTypes.PositionType.FULL,errors:r?o:null,quote_dp:n.quote_dp,positionType:s.position_type??orderlyTypes.PositionType.PARTIAL,onChange:(d,g)=>{i(d,g);},symbolLeverage:e.symbolLeverage})]}),jsxRuntime.jsx(pe,{tp_pnl:s.tp_pnl,sl_pnl:s.sl_pnl,className:"oui-mt-6"})]})]}),jsxRuntime.jsxs(orderlyUi.Flex,{className:"oui-mt-6 oui-px-3",gap:2,children:[jsxRuntime.jsx(orderlyUi.Button,{size:"md",fullWidth:true,color:"gray",variant:"outlined",className:"oui-text-base-contrast-36",onClick:e.onClose,children:t("common.cancel")}),jsxRuntime.jsx(orderlyUi.Button,{size:"md",fullWidth:true,color:"success",className:orderlyUi.cn(s.side===orderlyTypes.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")})]})]})},os=e=>jsxRuntime.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 14 14",fill:"currentColor",...e,children:jsxRuntime.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 Sr=(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},Or=e=>{let{order:t,setOrderValue:o,onClose:r}=e,[s,i]=react.useState(null),{formattedOrder:n,setValue:a,setValues:l,helper:m,symbolInfo:f,metaState:u,...d}=orderlyHooks.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??orderlyTypes.PositionType.PARTIAL,trigger_price:t.trigger_price,tp_enable:Sr(t,"tp"),sl_enable:Sr(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:a,setValues:l,onSubmit:()=>{m.validate().then(()=>{e.onSubmit(n);}).catch(p=>{});},onClose:r,metaState:u,symbolLeverage:e.symbolLeverage}};var Ir=e=>{let t=Or({order:e.order,setOrderValue:e.setOrderValue,onSubmit:e.onSubmit,onClose:e.onClose,symbolLeverage:e.symbolLeverage});return jsxRuntime.jsx(br,{...t})},ds="TPSLAdvancedSheetId",us="TPSLAdvancedDialogId";orderlyUi.registerSimpleSheet(ds,Ir,{title:()=>orderlyI18n.i18n.t("common.settings")});orderlyUi.registerSimpleDialog(us,Ir,{title:()=>orderlyI18n.i18n.t("common.settings")});var Nr=e=>{let{position:t}=e,o=t.symbol,r=orderlyHooks.useSymbolsInfo()[o],{isMobile:s}=orderlyUi.useScreen(),{t:i}=orderlyI18n.useTranslation(),[n,a]=react.useState([]),[l,m]=react.useState([]),[f,{cancelAlgoOrder:u,cancelPostionOrdersByTypes:d,refresh:g}]=orderlyHooks.useOrderStream({symbol:t.symbol,status:orderlyTypes.OrderStatus.INCOMPLETE,includes:[orderlyTypes.AlgoOrderRootType.POSITIONAL_TP_SL,orderlyTypes.AlgoOrderRootType.TP_SL],size:500},{keeplive:true}),p=async O=>await u(O.algo_order_id,O.symbol),y=async()=>await d(o,[orderlyTypes.AlgoOrderRootType.TP_SL]),c=({order:O,positionType:w,isEditing:oe})=>{let be=s?ze:fe;orderlyUi.modal.show(be,{order:O,symbol:t.symbol,positionType:w,isEditing:oe});},P=(O,w)=>{c({order:O,positionType:w,isEditing:true});},N=O=>{c({positionType:O,isEditing:false});};return react.useEffect(()=>{if(f){let{fullPositionOrder:O,partialPositionOrders:w}=orderlyHooks.findPositionTPSLFromOrders(f,o);a(O?[O]:[]),m(w??[]);}},[f,o]),{symbolInfo:r,position:t,symbol:o,fullPositionOrders:n,partialPositionOrders:l,cancelPostionOrdersByTypes:d,onCancelOrder:p,onCancelAllTPSLOrders:y,editTPSLOrder:P,addTPSLOrder:N}};var hr=react.createContext({}),Cr=e=>{let t=orderlyHooks.useSymbolsInfo()[e.symbol];return jsxRuntime.jsx(hr.Provider,{value:{base_dp:t("base_dp"),quote_dp:t("quote_dp"),position:e.position},children:e.children})},X=()=>react.useContext(hr);var C=e=>jsxRuntime.jsx(orderlyUi.Flex,{direction:"column",justify:"center",itemAlign:"start",className:"oui-text-2xs oui-h-[36px]",children:e.children});var gt=({order:e})=>{let{position:t,base_dp:o,quote_dp:r}=X(),{tp_trigger_price:s,sl_trigger_price:i}=orderlyHooks.findTPSLFromOrder(e),n,a,l=new orderlyUtils.Decimal(e.quantity).eq(0)?t.position_qty:e.quantity,m=t.position_qty>0?orderlyTypes.OrderSide.BUY:orderlyTypes.OrderSide.SELL,f=t?.average_open_price;if(s){let u=orderlyUtils.getTPSLDirection({side:m,type:"tp",closePrice:s,orderPrice:f});n=new orderlyUtils.Decimal(orderlyPerp.positions.unrealizedPnL({qty:l,openPrice:f,markPrice:s})).abs().mul(u).toNumber();}if(i){let u=orderlyUtils.getTPSLDirection({side:m,type:"sl",closePrice:i,orderPrice:f});a=new orderlyUtils.Decimal(orderlyPerp.positions.unrealizedPnL({qty:l,openPrice:f,markPrice:i})).abs().mul(u).toNumber();}return jsxRuntime.jsxs(orderlyUi.Flex,{gap:2,direction:"column",justify:"between",itemAlign:"start",className:"oui-text-2xs",children:[n&&jsxRuntime.jsx(C,{children:jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:2,rm:orderlyUtils.Decimal.ROUND_DOWN,coloring:true,padding:false,children:n})}),a&&jsxRuntime.jsx(C,{children:jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:2,rm:orderlyUtils.Decimal.ROUND_DOWN,coloring:true,padding:false,children:a})})]})};var ft=({order:e})=>{let{quote_dp:t}=X(),{tp_order_price:o,sl_order_price:r}=orderlyHooks.findTPSLOrderPriceFromOrder(e),{t:s}=orderlyI18n.useTranslation();return jsxRuntime.jsxs(orderlyUi.Flex,{gap:2,direction:"column",justify:"between",itemAlign:"start",className:"oui-text-2xs",children:[o&&jsxRuntime.jsx(C,{children:o===orderlyTypes.OrderType.MARKET?jsxRuntime.jsx(orderlyUi.Text,{children:s("common.market")}):jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:t,rm:orderlyUtils.Decimal.ROUND_DOWN,padding:false,children:o})}),r&&jsxRuntime.jsx(C,{children:r===orderlyTypes.OrderType.MARKET?jsxRuntime.jsx(orderlyUi.Text,{children:s("common.market")}):jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:t,rm:orderlyUtils.Decimal.ROUND_DOWN,padding:false,children:r})})]})};var yt=({order:e})=>{let{position:t,base_dp:o}=X(),{tp_trigger_price:r,sl_trigger_price:s}=orderlyHooks.findTPSLFromOrder(e),i=react.useMemo(()=>e.quantity===0?-t.position_qty:t.position_qty>0?-e.quantity:e.quantity,[e.quantity,t.position_qty]);return jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",justify:"start",itemAlign:"start",className:"oui-h-full oui-text-2xs",children:[jsxRuntime.jsx(C,{children:jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:o,rm:orderlyUtils.Decimal.ROUND_DOWN,padding:false,children:i})}),r&&s&&jsxRuntime.jsx(C,{children:jsxRuntime.jsx("div",{})})]})};var Tt=({order:e})=>{let{quote_dp:t}=X(),{tp_trigger_price:o,sl_trigger_price:r}=orderlyHooks.findTPSLFromOrder(e),{t:s}=orderlyI18n.useTranslation();return jsxRuntime.jsxs(orderlyUi.Flex,{gap:1,direction:"column",justify:"between",itemAlign:"start",className:"oui-text-2xs",children:[o&&jsxRuntime.jsx(C,{children:jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",justify:"start",itemAlign:"start",children:[jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-base-contrast-36",children:s("common.market")}),jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:t,rm:orderlyUtils.Decimal.ROUND_DOWN,padding:false,children:o})]})}),r&&jsxRuntime.jsx(C,{children:jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",justify:"start",itemAlign:"start",children:[jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-base-contrast-36",children:s("common.market")}),jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:t,rm:orderlyUtils.Decimal.ROUND_DOWN,padding:false,children:r})]})})]})};var xt=({order:e})=>{let{tp_trigger_price:t,sl_trigger_price:o}=orderlyHooks.findTPSLFromOrder(e),{t:r}=orderlyI18n.useTranslation();return jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",justify:"between",itemAlign:"start",className:"oui-text-2xs",children:[t&&jsxRuntime.jsx(C,{children:jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-trade-profit",children:r("tpsl.tp")})}),o&&jsxRuntime.jsx(C,{children:jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-trade-loss",children:r("tpsl.sl")})})]})};var He=e=>{let{t}=orderlyI18n.useTranslation(),{isMobile:o}=orderlyUi.useScreen(),{onCancelOrder:r}=e;return react.useMemo(()=>{let i=[{title:t("tpsl.tpslDetail.qty"),dataIndex:"quantity",width:70,className:"oui-py-2",render:(a,l)=>jsxRuntime.jsx(yt,{order:l})},{title:t("tpsl.tpslDetail.type"),dataIndex:"type",width:35,className:"oui-pl-1 oui-py-2",render:(a,l)=>jsxRuntime.jsx(xt,{order:l})},{title:t("tpsl.tpslDetail.trigger"),dataIndex:"trigger",width:70,className:"oui-pl-1 oui-py-2",render:(a,l)=>jsxRuntime.jsx(Tt,{order:l})},{title:t("tpsl.tpslDetail.price"),dataIndex:"price",width:70,className:"oui-py-2",render:(a,l)=>jsxRuntime.jsx(ft,{order:l})},{title:jsxRuntime.jsx(orderlyUi.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:jsxRuntime.jsx(orderlyUi.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:(a,l)=>jsxRuntime.jsx(gt,{order:l})}],n=[{title:t("tpsl.tpslDetail.qty"),dataIndex:"quantity",width:70,className:orderlyUi.cn(" oui-py-2 !oui-pl-5"),render:(a,l)=>jsxRuntime.jsx(yt,{order:l})},{title:t("tpsl.tpslDetail.type"),dataIndex:"type",width:35,className:"oui-pl-1 oui-py-2",render:(a,l)=>jsxRuntime.jsx(xt,{order:l})},{title:t("tpsl.tpslDetail.trigger"),dataIndex:"trigger",width:70,className:"oui-pl-1 oui-py-2",render:(a,l)=>jsxRuntime.jsx(Tt,{order:l})},{title:t("tpsl.tpslDetail.price"),dataIndex:"price",width:70,className:"oui-pl-1 oui-py-2",render:(a,l)=>jsxRuntime.jsx(ft,{order:l})},{title:jsxRuntime.jsx(orderlyUi.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:jsxRuntime.jsx(orderlyUi.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:(a,l)=>jsxRuntime.jsx(gt,{order:l})},{title:"",dataIndex:"delete",width:50,className:orderlyUi.cn("oui-py-2 !oui-pr-5"),render:(a,l)=>jsxRuntime.jsx(Xs,{order:l,onCancelOrder:r})}];return o?i:n},[t,o])};var Zs=e=>{let{size:t=18}=e;return jsxRuntime.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,viewBox:"0 0 18 18",fill:"currentColor",...e,children:jsxRuntime.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"})})},Xs=e=>{let[t,o]=react.useState(false);return jsxRuntime.jsx(orderlyUi.ThrottledButton,{size:"sm",loading:t,variant:"text",color:"gray",onClick:r=>{r.stopPropagation(),o(true),e.onCancelOrder?.(e.order).then(()=>{},s=>{orderlyUi.toast.error(s.message);}).finally(()=>{o(false);});},children:jsxRuntime.jsx(Zs,{className:"oui-text-base-contrast-54 hover:oui-text-base-contrast oui-cursor-pointer"})})};var St=e=>{let{orders:t}=e,o=He({onCancelOrder:e.onCancelOrder});return jsxRuntime.jsx(orderlyUiConnector.AuthGuardDataTable,{columns:o,dataSource:t,className:"oui-bg-transparent oui-text-2xs",bordered:true,classNames:{root:orderlyUi.cn(e.className),header:"!oui-bg-base-8",scroll:orderlyUi.cn(!t||t.length===0?"!oui-min-h-[170px]":"!oui-min-h-[100px]")},onRow:r=>({className:orderlyUi.cn("oui-h-[53px] oui-cursor-svg-edit !oui-border-none !oui-p-0"),onClick:()=>{e.editTPSLOrder(r);}})})};var Ot=e=>{let{t}=orderlyI18n.useTranslation(),{orders:o}=e,r=He({onCancelOrder:()=>Promise.resolve()}),s=react.useMemo(()=>o.reduce((i,n)=>(i[n.algo_order_id]=true,i),{}),[o]);return jsxRuntime.jsx(orderlyUiConnector.AuthGuardDataTable,{columns:r,dataSource:o,expanded:s,bordered:true,getRowCanExpand:()=>true,expandRowRender:i=>jsxRuntime.jsxs(orderlyUi.Flex,{gap:2,justify:"end",children:[jsxRuntime.jsx(orderlyUi.Button,{variant:"outlined",size:"sm",color:"gray",className:"oui-h-6 oui-text-2xs oui-text-base-contrast-54",onClick:()=>e.editTPSLOrder(i.original),children:t("common.edit")}),jsxRuntime.jsx(dn,{order:i.original,onCancelOrder:e.canCancelOrder})]}),className:"oui-bg-transparent oui-px-2 oui-text-2xs",classNames:{scroll:orderlyUi.cn(!o||o.length===0?"!oui-min-h-[170px]":"!oui-min-h-[100px]")},onRow:()=>({className:orderlyUi.cn("oui-h-[53px] oui-cursor-svg-edit !oui-border-none !oui-p-0")}),generatedRowKey:i=>i.algo_order_id})},dn=e=>{let[t,o]=react.useState(false),{t:r}=orderlyI18n.useTranslation();return jsxRuntime.jsx(orderlyUi.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(()=>{},i=>{orderlyUi.toast.error(i.message);}).finally(()=>{o(false);});},children:r("common.delete")})};var Kr=e=>{let{isMobile:t}=orderlyUi.useScreen(),{position:o,fullPositionOrders:r,partialPositionOrders:s,onCancelOrder:i,onCancelAllTPSLOrders:n,editTPSLOrder:a,addTPSLOrder:l,symbolInfo:m}=e;return jsxRuntime.jsx(orderlyUi.Box,{children:jsxRuntime.jsxs(orderlyUi.ScrollArea,{className:orderlyUi.cn(t&&"oui-h-[calc(100vh-100px)]"),children:[jsxRuntime.jsx(H,{order:{symbol:o.symbol,order_quantity:o.position_qty.toString(),order_price:o.average_open_price.toString()},symbolLeverage:o.leverage,baseDP:m("base_dp"),quoteDP:m("quote_dp"),classNames:{root:orderlyUi.cn("oui-mb-6 oui-gap-3 oui-px-5"),container:"oui-gap-x-[30px]"}}),jsxRuntime.jsx(yn,{position:o,orders:r,onCancelOrder:i,onCancelAllTPSLOrders:n,editTPSLOrder:a,addTPSLOrder:l}),jsxRuntime.jsx(Pn,{position:o,orders:s,onCancelOrder:i,onCancelAllTPSLOrders:n,editTPSLOrder:a,addTPSLOrder:l})]})})},yn=e=>{let[t,o]=react.useState(true),{orders:r}=e,{isMobile:s}=orderlyUi.useScreen();return jsxRuntime.jsxs(orderlyUi.Box,{className:"oui-mt-6",children:[jsxRuntime.jsxs(orderlyUi.Box,{className:orderlyUi.cn("oui-flex oui-items-center oui-justify-between oui-px-5"),children:[jsxRuntime.jsx(Gr,{positionType:orderlyTypes.PositionType.FULL,open:t,onOpenChange:o}),r&&r.length===0&&jsxRuntime.jsx(orderlyUi.Flex,{gap:2,children:jsxRuntime.jsx($r,{positionType:orderlyTypes.PositionType.FULL,position:e.position,addTPSLOrder:e.addTPSLOrder})})]}),jsxRuntime.jsx(orderlyUi.Box,{className:orderlyUi.cn("oui-overflow-hidden oui-transition-[height] oui-duration-150",t?"oui-h-auto":"oui-h-0 oui-pb-4"),children:s?jsxRuntime.jsx(Ot,{orders:r,editTPSLOrder:i=>e.editTPSLOrder(i,orderlyTypes.PositionType.FULL),canCancelOrder:e.onCancelOrder}):jsxRuntime.jsx(St,{orders:r,editTPSLOrder:i=>{e.editTPSLOrder(i,orderlyTypes.PositionType.FULL);},onCancelOrder:e.onCancelOrder})})]})},Pn=e=>{let[t,o]=react.useState(true),{orders:r}=e,{isMobile:s}=orderlyUi.useScreen();return jsxRuntime.jsxs(orderlyUi.Box,{className:"oui-pt-6",children:[jsxRuntime.jsxs(orderlyUi.Box,{className:orderlyUi.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:[jsxRuntime.jsx(Gr,{positionType:orderlyTypes.PositionType.PARTIAL,open:t,onOpenChange:o}),jsxRuntime.jsxs(orderlyUi.Flex,{gap:2,children:[jsxRuntime.jsx($r,{positionType:orderlyTypes.PositionType.PARTIAL,position:e.position,addTPSLOrder:e.addTPSLOrder}),r&&r.length>0&&jsxRuntime.jsx(_n,{canCancelAll:r&&r.length>0,onCancelAllTPSLOrders:e.onCancelAllTPSLOrders})]})]}),jsxRuntime.jsx(orderlyUi.Box,{className:orderlyUi.cn("oui-overflow-hidden oui-transition-[height] oui-duration-150",t?"oui-h-auto":"oui-h-0 oui-pb-4"),children:s?jsxRuntime.jsx(Ot,{orders:r,editTPSLOrder:i=>e.editTPSLOrder(i,orderlyTypes.PositionType.PARTIAL),canCancelOrder:e.onCancelOrder}):jsxRuntime.jsx(St,{className:"oui-h-[300px]",orders:r,editTPSLOrder:i=>{e.editTPSLOrder(i,orderlyTypes.PositionType.PARTIAL);},onCancelOrder:e.onCancelOrder})})]})},Gr=e=>{let{t}=orderlyI18n.useTranslation();return jsxRuntime.jsxs(orderlyUi.Flex,{gap:1,itemAlign:"center",justify:"start",className:"oui-text-2xs",children:[jsxRuntime.jsxs(orderlyUi.Flex,{itemAlign:"center",justify:"start",gap:1,className:"oui-cursor-pointer",onClick:()=>e.onOpenChange(!e.open),children:[jsxRuntime.jsx(orderlyUi.ChevronDownIcon,{size:12,color:"white",className:orderlyUi.cn("oui-cursor-pointer oui-transition-transform",e.open&&"oui-rotate-180")}),e.positionType===orderlyTypes.PositionType.FULL?jsxRuntime.jsx(orderlyUi.Text,{children:t("tpsl.positionType.full")}):jsxRuntime.jsx(orderlyUi.Text,{children:t("tpsl.positionType.partial")})]}),jsxRuntime.jsx(orderlyUi.Tooltip,{className:"oui-w-[280px] oui-p-3",content:e.positionType===orderlyTypes.PositionType.FULL?t("tpsl.positionType.full.tips"):t("tpsl.positionType.partial.tips"),children:jsxRuntime.jsx(orderlyUi.ExclamationFillIcon,{className:"oui-cursor-pointer oui-text-base-contrast-54",size:12})})]})},$r=e=>{let{t}=orderlyI18n.useTranslation();return jsxRuntime.jsx(orderlyUi.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")})},_n=e=>{let[t,o]=react.useState(false),{t:r}=orderlyI18n.useTranslation();return jsxRuntime.jsx(orderlyUi.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=>{orderlyUi.toast.error(s.message);}).finally(()=>{o(false);});},children:r("tpsl.cancelAll")})};var Hr=e=>{let t=Nr(e);return jsxRuntime.jsx(Cr,{symbol:e.position.symbol,position:e.position,children:jsxRuntime.jsx(Kr,{...t})})},bn="TPSLDetailDialogId ",Sn="TPSLDetailSheetId";orderlyUi.registerSimpleDialog(bn,Hr,{classNames:{content:"oui-w-[420px] lg:oui-pt-4 lg:oui-pb-2 !oui-px-0",body:"lg:oui-py-0"}});orderlyUi.registerSimpleSheet(Sn,Hr,{classNames:{content:"!oui-p-0"}});var ht=e=>{let {type:t,triggerPrice:o,symbol:r}=e,s=orderlyHooks.useSymbolsInfo(),[{rows:i},n]=orderlyHooks.usePositionStream(r),a=i?.[0];react.useRef(orderlyTypes.AlgoOrderRootType.TP_SL);let [m]=orderlyHooks.useLocalStorage("orderly_order_confirm",true),{t:f}=orderlyI18n.useTranslation(),[u,{submit:d,deleteOrder:g,setValue:p,setValues:y,validate:c,errors:P,isCreateMutating:N,isUpdateMutating:O}]=orderlyHooks.useTPSLOrder({symbol:r,position_qty:a?.position_qty,average_open_price:a?.average_open_price},{defaultOrder:void 0,positionType:orderlyTypes.PositionType.PARTIAL,tpslEnable:{tp_enable:t==="tp",sl_enable:t==="sl"},isEditing:false}),w=k=>{p("quantity",k);},oe=(k,h)=>{p(k,h);},be=(k,h)=>{p(k,h);},ie=react.useMemo(()=>Math.abs(Number(a.position_qty)),[a.position_qty]);react.useEffect(()=>{ie&&(p("quantity",ie),p(t==="tp"?"tp_trigger_price":"sl_trigger_price",o??""));},[t,o,ie]);let tt=async()=>{try{if(await c())return m?orderlyUi.modal.confirm({title:f("tpsl.confirmOrder"),onOk:async()=>{try{let h=await d({accountId:a.account_id});return h.success?h:(h.message&&orderlyUi.toast.error(h.message),!1)}catch(h){return h?.message&&orderlyUi.toast.error(h.message),!1}},classNames:{body:"!oui-pb-0"},content:jsxRuntime.jsx(Ne,{isPositionTPSL:!1,isEditing:!1,symbol:r,qty:Number(u.quantity),maxQty:ie,tpPrice:Number(u.tp_trigger_price),slPrice:Number(u.sl_trigger_price),side:u.side,orderInfo:u,quoteDP:s[r]("quote_dp"),baseDP:s[r]("base_dp")})}).then(()=>!0,()=>Promise.reject(!1)):d({accountId:a.account_id}).then(()=>!0).catch(h=>{throw h?.message&&orderlyUi.toast.error(h.message),!1})}catch(k){return Promise.reject(k)}};return {symbolInfo:s[r],maxQty:ie,setQuantity:orderlyHooks.useMemoizedFn(w),orderQuantity:u.quantity,isPosition:false,TPSL_OrderEntity:u,setOrderValue:p,setPnL:be,setOrderPrice:oe,onSubmit:tt,errors:P,status:{isCreateMutating:N,isUpdateMutating:O},position:a,setValues:y,type:t,triggerPrice:o}};var Ct=e=>{let{type:t,triggerPrice:o,errors:r,TPSL_OrderEntity:s}=e,{t:i}=orderlyI18n.useTranslation(),{getErrorMsg:n}=orderlyReactApp.useOrderEntryFormErrorMsg(r),a=jsxRuntime.jsxs(orderlyUi.Flex,{width:"100%",itemAlign:"center",gap:3,mt:4,children:[jsxRuntime.jsx(orderlyUi.Button,{color:"gray",onClick:()=>{e.onComplete?.(),e.close?.();},fullWidth:true,className:"oui-text-sm",size:"md",children:i("common.cancel")},"secondary"),jsxRuntime.jsx(orderlyUi.Button,{onClick:()=>{e.onSubmit().then(()=>{e.onComplete?.(),e.close?.();});},fullWidth:true,className:"oui-text-sm",size:"md",children:i("common.confirm")},"primary")]}),l=()=>{let f=n("tp_trigger_price"),u=n("sl_trigger_price"),d="";return f&&t==="tp"&&(d=f),u&&t==="sl"&&(d=u),d?jsxRuntime.jsxs(orderlyUi.Flex,{justify:"start",itemAlign:"start",gap:2,className:"oui-mt-2 oui-w-full",children:[jsxRuntime.jsx("div",{className:"oui-relative oui-top-[7px] oui-size-1 oui-rounded-full oui-bg-danger"}),jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-danger",children:d})]}):null},m=()=>{let{tp_pnl:f,sl_pnl:u}=s;return t==="sl"?jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(orderlyUi.Text,{size:"2xs",children:i("tpsl.totalEstSlPnl")}),u?jsxRuntime.jsx(orderlyUi.Text.numeral,{suffix:jsxRuntime.jsx(orderlyUi.Text,{className:"oui-ml-1 oui-text-base-contrast-36",children:"USDC"}),coloring:true,visible:true,size:"2xs",dp:2,children:Number(u)}):jsxRuntime.jsx(orderlyUi.Text,{size:"2xs",children:"-- USDC"})]}):jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(orderlyUi.Text,{size:"2xs",children:i("tpsl.totalEstTpPnl")}),jsxRuntime.jsx(orderlyUi.Text.numeral,{suffix:jsxRuntime.jsx(orderlyUi.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 jsxRuntime.jsxs(orderlyUi.Box,{className:"oui-w-full oui-px-0.5",children:[jsxRuntime.jsx(Ue,{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}),jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",itemAlign:"start",className:orderlyUi.cn("oui-mt-4 oui-w-full oui-gap-1 oui-text-xs oui-text-base-contrast-36"),children:[jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(orderlyUi.Text,{size:"xs",children:i("tpsl.advanced.triggerPrice")}),jsxRuntime.jsx(orderlyUi.Text.numeral,{className:"oui-text-base-contrast",suffix:jsxRuntime.jsx(orderlyUi.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):"--"})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(orderlyUi.Text,{size:"xs",children:i("tpsl.advanced.orderPrice")}),jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-base-contrast",size:"xs",children:i("tpsl.advanced.market")})]}),m()]}),l(),jsxRuntime.jsx(orderlyUi.Divider,{className:"oui-my-3 oui-w-full"}),jsxRuntime.jsx(orderlyUi.Flex,{itemAlign:"center",onClick:()=>{e.close?.(),e.showAdvancedTPSLDialog?.({qty:Number(s.quantity)});},className:"oui-pb-4",children:jsxRuntime.jsx(orderlyUi.Text,{color:"primary",className:"oui-cursor-pointer oui-text-sm",children:i("tpsl.advancedSetting")})}),a]})};var vt=e=>{let{close:t,onComplete:o,showAdvancedTPSLDialog:r}=e,s=ht(e);return jsxRuntime.jsx(Ct,{...s,close:t,onComplete:o,showAdvancedTPSLDialog:r})},Zr="TPSLSimpleSheetId",Xr="TPSLSimpleDialogId";orderlyUi.registerSimpleSheet(Zr,vt,{classNames:{}});orderlyUi.registerSimpleDialog(Xr,vt,{classNames:{content:"oui-w-[420px]"}});function Yn(e){let t=e.child_orders[0],o=t.algo_type===orderlyTypes.AlgoOrderRootType.TP_SL?orderlyTypes.PositionType.PARTIAL:orderlyTypes.PositionType.FULL,r=t.child_orders.find(n=>n.algo_type===orderlyTypes.AlgoOrderType.TAKE_PROFIT&&n.trigger_price),s=t.child_orders.find(n=>n.algo_type===orderlyTypes.AlgoOrderType.STOP_LOSS&&n.trigger_price),i={};return r&&(i.tp_trigger_price=r.trigger_price?.toString(),i.tp_order_type=typeof r.type=="string"?r.type.replace("_ORDER",""):void 0,i.tp_order_type===orderlyTypes.OrderType.LIMIT&&(i.tp_order_price=r.price?.toString())),s&&(i.sl_trigger_price=s.trigger_price?.toString(),i.sl_order_type=typeof s.type=="string"?s.type.replace("_ORDER",""):void 0,i.sl_order_type===orderlyTypes.OrderType.LIMIT&&(i.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:!!r?.trigger_price,sl_enable:!!s?.trigger_price},tpslPriceInfo:i,tpInfo:{orderId:r?.algo_order_id},slInfo:{orderId:s?.algo_order_id}}}function Xe(e,t){if(t==null)return true;if(isNaN(Number(t)))return false;let o=new orderlyUtils.Decimal(Number(e));return !new orderlyUtils.Decimal(Number(t)).eq(o)}var to=e=>{if(!e.order)throw new orderlyTypes.SDKError("order is required for editBracketOrder");let{baseInfo:t,tpslPriceInfo:o,tpInfo:r,slInfo:s}=Yn(e.order),[i,{isMutating:n}]=orderlyHooks.useMutation("/v1/algo/order","PUT"),{formattedOrder:a,setValue:l,setValues:m,metaState:f,symbolInfo:u,helper:d}=orderlyHooks.useOrderEntry(e.order.symbol,{initialOrder:t}),g=e.order.symbol,p=react.useMemo(()=>{let c=false,{tp_order_price:P,sl_order_price:N,tp_trigger_price:O,sl_trigger_price:w}=a;return o.tp_trigger_price&&(c=c||Xe(o.tp_trigger_price,O??0)),o.tp_order_price&&(c=c||Xe(o.tp_order_price,P??0)),o.sl_trigger_price&&(c=c||Xe(o.sl_trigger_price,w??0)),o.sl_order_price&&(c=c||Xe(o.sl_order_price,N??0)),c},[o,a.tp_order_price,a.sl_order_price,a.tp_trigger_price,a.sl_trigger_price]);return react.useEffect(()=>{m({...o});},[e.order,m]),{symbol:g,symbolInfo:u,formattedOrder:a,setValue:l,setValues:m,metaState:f,onSubmit:async()=>d.validate().then(()=>{let c={order_id:r.orderId,algo_type:orderlyTypes.AlgoOrderType.TAKE_PROFIT,trigger_price:a.tp_trigger_price,reduce_only:true};a.tp_order_type===orderlyTypes.OrderType.LIMIT&&(c.price=a.tp_order_price);let P={order_id:s.orderId,algo_type:orderlyTypes.AlgoOrderType.STOP_LOSS,trigger_price:a.sl_trigger_price,reduce_only:true};a.sl_order_type===orderlyTypes.OrderType.LIMIT&&(P.price=a.sl_order_price);let N=[];return r.orderId&&N.push(c),s.orderId&&N.push(P),i({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:p}};var so=e=>{let{t}=orderlyI18n.useTranslation(),{errors:o,validated:r}=e.metaState,{isMobile:s}=orderlyUi.useScreen(),{formattedOrder:i,setValue:n,symbol:a,symbolInfo:l,setValues:m}=e,[f,u]=react.useState({enable:true,order_type:i.tp_order_type??orderlyTypes.OrderType.MARKET,order_price:i.tp_order_price??"",trigger_price:i.tp_trigger_price??"",PnL:i.tp_pnl??"",Offset:i.tp_offset??"","Offset%":i.tp_offset_percentage??"",ROI:i.tp_ROI??""}),[d,g]=react.useState({enable:true,order_type:i.sl_order_type??orderlyTypes.OrderType.MARKET,order_price:i.sl_order_price??"",trigger_price:i.sl_trigger_price??"",PnL:i.sl_pnl??"",Offset:i.sl_offset??"","Offset%":i.sl_offset_percentage??"",ROI:i.sl_ROI??""});return react.useEffect(()=>{u(p=>({...p,enable:i.tp_enable??true,order_type:i.tp_order_type??orderlyTypes.OrderType.MARKET,order_price:i.tp_order_price??"",trigger_price:i.tp_trigger_price??"",PnL:i.tp_pnl??"",Offset:i.tp_offset??"","Offset%":i.tp_offset_percentage??"",ROI:i.tp_ROI??""}));},[i]),react.useEffect(()=>{g(p=>({...p,enable:i.sl_enable??true,order_type:i.sl_order_type??orderlyTypes.OrderType.MARKET,order_price:i.sl_order_price??"",trigger_price:i.sl_trigger_price??"",PnL:i.sl_pnl??"",Offset:i.sl_offset??"","Offset%":i.sl_offset_percentage??"",ROI:i.sl_ROI??""}));},[i]),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsxs(orderlyUi.ScrollArea,{className:orderlyUi.cn("oui-flex-1",s&&"oui-h-[calc(100vh-200px)]"),children:[jsxRuntime.jsx("div",{className:"",children:jsxRuntime.jsx(H,{order:{symbol:a,order_quantity:i.order_quantity,order_price:i.order_price},baseDP:l.base_dp,quoteDP:l.quote_dp})}),jsxRuntime.jsx(orderlyUi.Divider,{className:"oui-my-3"}),jsxRuntime.jsxs("div",{className:"",children:[jsxRuntime.jsxs("div",{className:"oui-py-3",children:[jsxRuntime.jsx(Y,{value:i.position_type??orderlyTypes.PositionType.PARTIAL,disableSelector:true,onChange:(p,y)=>{if(y===orderlyTypes.PositionType.FULL){m({position_type:orderlyTypes.PositionType.FULL,tp_order_type:orderlyTypes.OrderType.MARKET,tp_order_price:void 0,sl_order_type:orderlyTypes.OrderType.MARKET,sl_order_price:void 0});return}n("position_type",y);}}),i.position_type===orderlyTypes.PositionType.FULL&&jsxRuntime.jsxs(orderlyUi.Flex,{justify:"start",itemAlign:"start",gap:2,className:"oui-mt-3 oui-w-full",children:[jsxRuntime.jsx("div",{className:"oui-relative oui-top-[7px] oui-size-1 oui-rounded-full oui-bg-[#D25f00]"}),jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-2xs oui-text-[#D25f00]",children:t("tpsl.positionType.full.tips.market")})]})]}),jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",gap:6,children:[i.tp_enable&&jsxRuntime.jsx($,{disableEnableCheckbox:true,disableOrderTypeSelector:true,rootOrderPrice:i.order_price,symbol:l.symbol,type:"tp",side:i.side,values:f,errors:r?o:null,quote_dp:l.quote_dp,hideOrderPrice:i.position_type===orderlyTypes.PositionType.FULL,onChange:(p,y)=>{n(p,y);},positionType:i.position_type??orderlyTypes.PositionType.PARTIAL}),i.sl_enable&&i.tp_enable&&jsxRuntime.jsx(orderlyUi.Divider,{className:"oui-w-full"}),i.sl_enable&&jsxRuntime.jsx($,{disableEnableCheckbox:true,disableOrderTypeSelector:true,rootOrderPrice:i.order_price,symbol:l.symbol,type:"sl",side:i.side,values:d,hideOrderPrice:i.position_type===orderlyTypes.PositionType.FULL,errors:r?o:null,quote_dp:l.quote_dp,positionType:i.position_type??orderlyTypes.PositionType.PARTIAL,onChange:(p,y)=>{n(p,y);}})]}),jsxRuntime.jsx(pe,{tp_pnl:i.tp_pnl,sl_pnl:i.sl_pnl,className:"oui-mt-6"})]})]}),jsxRuntime.jsx(orderlyUi.Flex,{itemAlign:"center",gap:3,mt:5,width:"100%",justify:"center",children:jsxRuntime.jsx(orderlyUi.ThrottledButton,{className:"oui-w-[184px]","data-testid":"tpsl-confirm",disabled:!e.isPriceChanged,loading:e.isMutating,onClick:()=>{e.onSubmit().then(()=>{e.onClose?.();}).catch(p=>{});},children:t("common.confirm")})})]})};var no=e=>{let t=to({order:e.order});return jsxRuntime.jsx(so,{...t,onClose:e.close})},sl="EditBracketOrderSheetId",nl="EditBracketOrderDialogId";orderlyUi.registerSimpleSheet(sl,no);orderlyUi.registerSimpleDialog(nl,no,{classNames:{content:"oui-w-[420px]"}});
|
|
14
|
+
var H=e=>{let{t}=orderlyI18n.useTranslation(),{order:o,symbolLeverage:r}=e,{symbol:s}=o,i=orderlyHooks.useMarkPrice(s),n=orderlyHooks.useIndexPrice(s),a=orderlyHooks.useLeverageBySymbol(r?void 0:s),l=r||a;return jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",itemAlign:"start",className:orderlyUi.cn("oui-w-full oui-gap-3 oui-font-semibold ",e.classNames?.root),children:[jsxRuntime.jsxs(orderlyUi.Flex,{itemAlign:"center",className:orderlyUi.cn("oui-gap-2 ",e.classNames?.symbol),children:[jsxRuntime.jsxs(orderlyUi.Flex,{gap:1,itemAlign:"center",children:[jsxRuntime.jsx(orderlyUi.TokenIcon,{symbol:s,className:"oui-size-5"}),jsxRuntime.jsx(orderlyUi.Text.formatted,{className:"oui-whitespace-nowrap oui-break-normal",rule:"symbol",formatString:"base-type",size:"sm",weight:"semibold",intensity:98,children:s})]}),jsxRuntime.jsxs(orderlyUi.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:[l,"x"]})]}),jsxRuntime.jsxs(orderlyUi.Grid,{cols:2,gapX:2,gapY:1,className:orderlyUi.cn("oui-w-full oui-gap-x-2 ",e.classNames?.container),children:[jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",className:" oui-text-base-contrast-36",children:[jsxRuntime.jsx(orderlyUi.Text,{size:"2xs",children:t("tpsl.advanced.quantity")}),jsxRuntime.jsx(orderlyUi.Text.numeral,{rule:"price",className:"oui-text-base-contrast-80",size:"2xs",dp:e.baseDP??2,children:Number(o.order_quantity)})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",className:"oui-text-base-contrast-36",children:[jsxRuntime.jsx(orderlyUi.Text,{size:"2xs",children:t("tpsl.advanced.lastPrice")}),jsxRuntime.jsx(orderlyUi.Text.numeral,{rule:"price",className:"oui-text-base-contrast-80",size:"2xs",dp:e.quoteDP??2,children:n?.data})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",className:"oui-text-base-contrast-36",children:[jsxRuntime.jsx(orderlyUi.Text,{size:"2xs",children:t("tpsl.advanced.orderPrice")}),jsxRuntime.jsx(orderlyUi.Text.numeral,{rule:"price",className:"oui-text-base-contrast-80",size:"2xs",dp:e.quoteDP??2,children:Number(o.order_price)})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",className:"oui-text-base-contrast-36",children:[jsxRuntime.jsx(orderlyUi.Text,{size:"2xs",children:t("common.markPrice")}),jsxRuntime.jsx(orderlyUi.Text.numeral,{rule:"price",className:"oui-text-base-contrast-80",size:"2xs",dp:e.quoteDP??2,children:i?.data})]})]})]})};var pe=e=>{let{t}=orderlyI18n.useTranslation(),{tp_pnl:o,sl_pnl:r}=e,s=react.useMemo(()=>{let i=jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-base-contrast-36",children:"-- x"});if(o===void 0||r===void 0||orderlyUtils.checkIsNaN(o)||orderlyUtils.checkIsNaN(r))return i;let n=new orderlyUtils.Decimal(o),a=new orderlyUtils.Decimal(r);if(a.isZero()||n.isZero())return i;let l=n.div(a).abs().toNumber().toFixed(2);return jsxRuntime.jsxs(orderlyUi.Flex,{gap:1,itemAlign:"center",className:"oui-text-base-contrast-80",children:[jsxRuntime.jsx(orderlyUi.Text,{children:l}),jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-base-contrast-36",children:"x"})]})},[o,r]);return jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",itemAlign:"start",className:orderlyUi.cn("oui-w-full oui-gap-1 oui-text-2xs oui-text-base-contrast-36",e.className),children:[jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(orderlyUi.Text,{size:"2xs",children:t("tpsl.totalEstTpPnl")}),jsxRuntime.jsx(orderlyUi.Text.numeral,{suffix:jsxRuntime.jsx(orderlyUi.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):"--"})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(orderlyUi.Text,{size:"2xs",children:t("tpsl.totalEstSlPnl")}),r?jsxRuntime.jsx(orderlyUi.Text.numeral,{suffix:jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-base-contrast-36 oui-ml-1",children:"USDC"}),coloring:true,visible:true,size:"2xs",dp:2,children:Number(r)}):jsxRuntime.jsx(orderlyUi.Text,{size:"2xs",children:"-- USDC"})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(orderlyUi.Text,{size:"2xs",children:t("tpsl.riskRewardRatio")}),jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-base-contrast-80",size:"2xs",children:s})]})]})};var it=e=>({disableOrderTypeSelector:e.disableOrderTypeSelector,values:e.values,onChange:e.onChange,type:e.type,quote_dp:e.quote_dp,positionType:e.positionType,errors:e.errors,hideOrderPrice:e.hideOrderPrice,rootOrderPrice:e.rootOrderPrice,symbol:e.symbol,disableEnableCheckbox:e.disableEnableCheckbox,symbolLeverage:e.symbolLeverage,side:e.side});var kt=e=>{let{type:t,values:o}=e,[r,s]=orderlyHooks.useLocalStorage("TP/SL_Mode","Offset%"),[i,n]=react.useState(true),{t:a}=orderlyI18n.useTranslation(),l=react.useMemo(()=>{switch(r){case "Offset":return `${t.toLowerCase()}_offset`;case "Offset%":return `${t.toLowerCase()}_offset_percentage`;default:return `${t.toLowerCase()}_pnl`}},[r]),m=react.useMemo(()=>o[r],[o,r]),f=react.useMemo(()=>[{label:a("tpsl.pnl"),value:"PnL",testId:"PnL_menu_item"},{label:a("tpsl.offset"),value:"Offset",testId:"Offset_mneu_item"},{label:`${a("tpsl.offset")}%`,value:"Offset%",testId:"Offset%_menu_item"}],[a]),u=react.useRef(""),d=p=>{e.onChange(l,p);},g=p=>{let{dp:y=2}=p;return {onRenderBefore:(c,P)=>(c=`${c}`,c===""||c==="-"?"":r==="Offset%"?`${new orderlyUtils.Decimal(c.replace(new RegExp(u.current.replace(".","\\.")+"$"),"")).mul(100).todp(2,4).toString()}${u.current}`:(r==="Offset"&&(c=orderlyUtils.todpIfNeed(c,y)),`${c}`)),onSendBefore:c=>{if(/^\-?0{2,}$/.test(c))return "0";if(r==="Offset%"){if(c!==""){c=orderlyUtils.todpIfNeed(c,2);let P=c.match(/\.0{0,2}$/);P?u.current=P[0]:u.current="",c=new orderlyUtils.Decimal(c).div(100).toString(),c=`${c}${u.current}`;}}else r==="PnL"&&t==="SL"&&i||(c=orderlyUtils.todpIfNeed(c,y));return c===""||c==="-"?"":c}}};return {mode:r,modes:f,type:e.type,formatter:g,onModeChange:p=>{s(p);},value:m,pnl:o.PnL,onValueChange:d,quote_dp:e.quote_dp,setFocus:n}};var zt=e=>{let{mode:t,modes:o,onModeChange:r,onValueChange:s,quote:i,quote_dp:n,value:a,pnl:l}=e,{t:m}=orderlyI18n.useTranslation(),[f,u]=react.useState(t),[d,g]=react.useState(t==="Offset%"?"%":i),p=react.useMemo(()=>{let y=Number(l);if(isNaN(y)||y===0)return "";if(y>0)return "oui-text-trade-profit";if(y<0)return "oui-text-trade-loss"},[l]);return react.useEffect(()=>{let y=o.find(c=>c.value===t)?.label;u(y),g(t==="Offset%"?"%":i);},[t,o]),jsxRuntime.jsx(orderlyUi.Input,{prefix:f,size:{initial:"lg",lg:"md"},placeholder:d,align:"right",value:a,"data-testid":e.testId,autoComplete:"off",onValueChange:s,formatters:[e.formatter({dp:n,mode:t}),orderlyUi.inputFormatter.currencyFormatter,orderlyUi.inputFormatter.decimalPointFormatter],classNames:{input:orderlyUi.cn("oui-text-2xs",p),prefix:"oui-text-base-contrast-54 oui-text-2xs",root:"oui-outline-line-12 focus-within:oui-outline-primary-light"},onFocus:()=>{g(""),e.setFocus(true);},onBlur:()=>{g(t==="Offset%"?"%":i),e.setFocus(false);},suffix:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[t==="Offset%"&&!!a&&jsxRuntime.jsx(orderlyUi.Text,{size:"2xs",color:"inherit",className:orderlyUi.cn("oui-ml-[2px]",p),children:"%"}),jsxRuntime.jsx(Fo,{mode:t,modes:o,onModeChange:y=>r(y.value)})]})})},Fo=e=>jsxRuntime.jsx(orderlyUi.SimpleDropdownMenu,{currentValue:e.mode,menu:e.modes,align:"end",size:"xs",className:"oui-min-w-[80px]",onSelect:t=>e.onModeChange(t),children:jsxRuntime.jsx("button",{className:"oui-p-2",children:jsxRuntime.jsx(orderlyUi.CaretDownIcon,{size:12,color:"white"})})});var Qt=e=>{let{testId:t,quote:o,...r}=e,s=kt(r);return jsxRuntime.jsx(zt,{...s,testId:t,quote:o})};var Kt=e=>{let{t}=orderlyI18n.useTranslation(),o=[{label:t("orderEntry.orderType.limitOrder"),value:orderlyTypes.OrderType.LIMIT},{label:t("orderEntry.orderType.marketOrder"),value:orderlyTypes.OrderType.MARKET}];return jsxRuntime.jsx(orderlyUi.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:(r,s)=>{let i={[orderlyTypes.OrderType.LIMIT]:t("orderEntry.orderType.limit"),[orderlyTypes.OrderType.MARKET]:t("common.marketPrice")}[r];return jsxRuntime.jsx(orderlyUi.Text,{size:"2xs",children:i})}})};var lt=e=>{let[t,o]=react.useState("USDC"),{t:r}=orderlyI18n.useTranslation();return jsxRuntime.jsx(orderlyUi.Input.tooltip,{"data-testid":`oui-testid-tpsl-popUp-${e.type.toLowerCase()}-input`,prefix:e.label??r("common.markPrice"),size:{initial:"lg",lg:"md"},tooltip:e.error,placeholder:t,disabled:e.disabled,align:"right",autoComplete:"off",inputMode:"decimal",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:[orderlyUi.inputFormatter.numberFormatter,orderlyUi.inputFormatter.dpFormatter(e.quote_dp),orderlyUi.inputFormatter.currencyFormatter,orderlyUi.inputFormatter.decimalPointFormatter]})};var at=e=>{let{t}=orderlyI18n.useTranslation(),{getErrorMsg:o}=orderlyReactApp.useOrderEntryFormErrorMsg(e.errors),{values:r,positionType:s}=e,i=orderlyHooks.useLeverageBySymbol(e.symbolLeverage?void 0:e.symbol),n=e.symbolLeverage||i,a=react.useMemo(()=>{if(!n||isNaN(Number(n)))return null;let l=null;if(!e.rootOrderPrice||!r.trigger_price&&!r.order_price)return null;let m=new orderlyUtils.Decimal(0);if(r.order_type===orderlyTypes.OrderType.MARKET){if(!r.trigger_price)return null;m=new orderlyUtils.Decimal(r.trigger_price);}else if(r.order_type===orderlyTypes.OrderType.LIMIT){if(!r.order_price)return null;m=new orderlyUtils.Decimal(r.order_price);}let f=new orderlyUtils.Decimal(e.rootOrderPrice),u=orderlyUtils.getTPSLDirection({side:e.side,type:e.type,closePrice:m.toNumber(),orderPrice:f.toNumber()});return l=m.minus(f).div(f).mul(n).abs().mul(100).mul(u).toNumber(),l},[r,e.rootOrderPrice,i,e.type,e.side]);return jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",itemAlign:"start",justify:"start",className:"oui-w-full",children:[jsxRuntime.jsxs(orderlyUi.Flex,{className:"oui-w-full",itemAlign:"center",justify:"start",children:[!e.disableEnableCheckbox&&jsxRuntime.jsx(orderlyUi.Checkbox,{"data-testid":`oui-testid-orderEntry-${e.type}-enable-checkBox`,id:`enable_${e.type}`,color:"white",checked:r.enable,onCheckedChange:l=>{e.onChange(`${e.type}_enable`,!!l);}}),jsxRuntime.jsx("label",{htmlFor:`enable_${e.type}`,className:orderlyUi.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")})]}),jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",gap:2,itemAlign:"start",className:orderlyUi.cn("oui-w-full oui-pt-2",r.enable?"":"oui-hidden"),children:[jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",itemAlign:"start",className:"oui-w-full oui-gap-0.5",children:[jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-2xs oui-text-base-contrast-54",children:t("tpsl.advanced.triggerPrice")}),jsxRuntime.jsxs(orderlyUi.Grid,{cols:2,gap:2,className:"oui-w-full oui-px-0.5",children:[jsxRuntime.jsx(lt,{type:`${e.type} price`,value:r.trigger_price,error:o(`${e.type}_trigger_price`),onValueChange:l=>{e.onChange(`${e.type}_trigger_price`,l);},quote_dp:e.quote_dp}),jsxRuntime.jsx(Qt,{type:e.type==="tp"?"TP":"SL",onChange:(l,m)=>{e.onChange(l,m);},quote:"USDC",quote_dp:2,values:r})]})]}),jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",className:orderlyUi.cn("oui-w-full oui-gap-0.5",e.hideOrderPrice?"oui-hidden":""),itemAlign:"start",children:[jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-2xs oui-text-base-contrast-54",children:t("tpsl.advanced.orderPrice")}),jsxRuntime.jsxs(orderlyUi.Grid,{cols:2,gap:2,className:"oui-w-full oui-px-0.5",children:[jsxRuntime.jsx(lt,{disabled:s===orderlyTypes.PositionType.FULL||r.order_type===orderlyTypes.OrderType.MARKET,type:"order price",label:r.order_type===orderlyTypes.OrderType.LIMIT?t("tpsl.advanced.limit"):t("tpsl.advanced.market"),value:r.order_price,error:o(`${e.type}_order_price`),onValueChange:l=>{e.onChange(`${e.type}_order_price`,l);},quote_dp:e.quote_dp}),jsxRuntime.jsx(Kt,{disabled:s===orderlyTypes.PositionType.FULL||e.disableOrderTypeSelector,type:r.order_type,onChange:l=>{e.onChange(`${e.type}_order_type`,l);}})]})]})]}),jsxRuntime.jsx(jo,{price:r.order_type===orderlyTypes.OrderType.MARKET?r.trigger_price:r.order_price,orderType:r.order_type,pnl:r.PnL,roi:a,dp:e.quote_dp,className:"oui-mt-1"})]})},jo=e=>{let{t}=orderlyI18n.useTranslation(),{price:o,pnl:r,roi:s,dp:i,className:n,orderType:a}=e;return !s||!o||!r?null:jsxRuntime.jsx(orderlyUi.Text,{className:orderlyUi.cn("oui-text-2xs oui-text-base-contrast-36",n),children:jsxRuntime.jsx(orderlyI18n.Trans,{i18nKey:"tpsl.advanced.ROI",components:[jsxRuntime.jsx(react.Fragment,{children:jsxRuntime.jsx(orderlyUi.Text.numeral,{className:"oui-px-1 oui-text-base-contrast",dp:i,suffix:jsxRuntime.jsx(orderlyUi.Text,{className:"oui-pl-0.5",children:"USDC"}),children:o})},"price"),jsxRuntime.jsx(react.Fragment,{children:jsxRuntime.jsx(orderlyUi.Text,{className:"oui-px-1 oui-text-base-contrast",children:a===orderlyTypes.OrderType.MARKET?t("common.market"):t("common.limit")})},"orderType"),jsxRuntime.jsx(react.Fragment,{children:jsxRuntime.jsx(orderlyUi.Text.numeral,{coloring:true,className:"oui-whitespace-nowrap oui-px-1",dp:2,suffix:jsxRuntime.jsx(orderlyUi.Text,{className:"oui-pl-0.5",children:"USDC"}),children:r})},"pnl"),jsxRuntime.jsx(react.Fragment,{children:jsxRuntime.jsx(orderlyUi.Text.numeral,{coloring:true,className:"oui-whitespace-nowrap oui-px-1",dp:2,suffix:"%",children:s})},"roi")]})})};var $=e=>{let t=it(e);return jsxRuntime.jsx(at,{...t})};var Ht=e=>({value:e.value,onChange:e.onChange,disableSelector:e.disableSelector});var ti="position_type",Zt=e=>{let{t}=orderlyI18n.useTranslation(),o=[{label:t("tpsl.positionType.partial"),value:orderlyTypes.PositionType.PARTIAL},{label:t("tpsl.positionType.full"),value:orderlyTypes.PositionType.FULL}];return jsxRuntime.jsxs(orderlyUi.Flex,{gap:1,itemAlign:"center",justify:"start",children:[jsxRuntime.jsx(orderlyUi.Tooltip,{className:"oui-w-[280px] oui-p-3",content:e.value===orderlyTypes.PositionType.FULL?t("tpsl.positionType.full.tips"):t("tpsl.positionType.partial.tips"),children:jsxRuntime.jsx(orderlyUi.ExclamationFillIcon,{className:"oui-cursor-pointer oui-text-base-contrast-54",size:12})}),e.disableSelector?e.value===orderlyTypes.PositionType.FULL?jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-2xs oui-font-semibold oui-text-base-contrast-54",children:t("tpsl.positionType.full")}):jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-2xs oui-font-semibold oui-text-base-contrast-54",children:t("tpsl.positionType.partial")}):jsxRuntime.jsx(orderlyUi.Select.options,{value:e.value,options:o,onValueChange:r=>{e.onChange(ti,r);},size:"xs",classNames:{trigger:" oui-bg-transparent oui-border-0 oui-w-auto oui-px-0"},contentProps:{className:" oui-bg-base-8 oui-border-0"}})]})};var Y=e=>{let t=Ht(e);return jsxRuntime.jsx(Zt,{...t})};var Ue=react.memo(e=>{let{maxQty:t,base_dp:o,baseTick:r,quantity:s}=e,i=react.useRef(null),{t:n}=orderlyI18n.useTranslation(),[a,l]=react.useState(0),m=d=>{let g=d;Number(d)>t&&(g=t.toString()),r>0&&e.onQuantityChange?.(orderlyHooks.utils.formatNumber(g,r)??d);},f=d=>{l(d);let g=new orderlyUtils.Decimal(d).div(100).mul(t).toFixed(o,orderlyUtils.Decimal.ROUND_DOWN);m(g);};react.useEffect(()=>{let d=Math.min(Number(s||0),t),g=new orderlyUtils.Decimal(d).div(t).mul(100).toDecimalPlaces(2,orderlyUtils.Decimal.ROUND_DOWN).toNumber();l(g);},[s,t]);let u=e.quantity.toString().length>0?e.errorMsg:void 0;return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(orderlyUi.Flex,{gap:2,children:jsxRuntime.jsx("div",{className:"oui-flex-1",children:jsxRuntime.jsx(orderlyUi.Input.tooltip,{"data-testid":"oui-testid-tpsl-popUp-quantity-input",ref:i,prefix:n("common.quantity"),size:{initial:"md",lg:"sm"},align:"right",value:e.quantity,autoComplete:"off",inputMode:"decimal",classNames:{prefix:"oui-text-base-contrast-54",root:orderlyUi.cn("oui-bg-base-5 oui-outline-line-12",u&&"oui-outline-danger")},tooltipProps:{content:{className:"oui-bg-base-6 oui-text-base-contrast-80"},arrow:{className:"oui-fill-base-6"}},tooltip:u,color:u?"danger":void 0,formatters:[orderlyUi.inputFormatter.dpFormatter(e.base_dp),orderlyUi.inputFormatter.numberFormatter,orderlyUi.inputFormatter.currencyFormatter,orderlyUi.inputFormatter.decimalPointFormatter],onValueChange:d=>{e.onQuantityChange?.(d);let g=Number(d);if(g&&g>e.maxQty){let p=e.maxQty;e.onQuantityChange?.(p),i.current?.blur();}},onBlur:d=>m(d.target.value),suffix:jsxRuntime.jsx("span",{className:"oui-px-3 oui-text-2xs oui-text-base-contrast-54",children:e.base})})})}),jsxRuntime.jsx(orderlyUi.Flex,{mt:2,itemAlign:"center",height:"15px",children:jsxRuntime.jsx(orderlyUi.Slider,{min:0,max:100,markCount:5,showTip:true,value:[a],color:"primary",onValueChange:d=>{f(d[0]);}})}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",children:[jsxRuntime.jsx(orderlyUi.Text.numeral,{color:"primary",size:"2xs",suffix:"%",children:a}),jsxRuntime.jsxs(orderlyUi.Flex,{itemAlign:"center",gap:1,children:[jsxRuntime.jsx("button",{className:"oui-leading-none",style:{lineHeight:0},onClick:()=>{e.onQuantityChange?.(e.maxQty);},children:jsxRuntime.jsx(orderlyUi.Text,{color:"primary",size:"2xs",children:n("common.max")})}),jsxRuntime.jsx(orderlyUi.Text.numeral,{rule:"price",size:"2xs",intensity:54,tick:e.baseTick,children:e.maxQty})]})]})]})});var er=e=>{let{TPSL_OrderEntity:t,symbolInfo:o,onCancel:r,onComplete:s,status:i,position:n,setValues:a,onClose:l,isEditing:m}=e,{errors:f,validated:u}=e.metaState,{t:d}=orderlyI18n.useTranslation(),{isMobile:g}=orderlyUi.useScreen(),{getErrorMsg:p}=orderlyReactApp.useOrderEntryFormErrorMsg(f);if(!n)return null;let y=()=>t.position_type===orderlyTypes.PositionType.FULL?null:jsxRuntime.jsx(orderlyUi.Box,{className:"oui-px-0.5",children:jsxRuntime.jsx(Ue,{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:u?p("quantity"):void 0})});return jsxRuntime.jsxs("div",{id:"orderly-tp_sl-order-edit-content",children:[jsxRuntime.jsx(orderlyUi.ScrollArea,{className:orderlyUi.cn(g&&"oui-h-[calc(100vh-200px)]"),children:jsxRuntime.jsxs("div",{className:"oui-px-2",children:[jsxRuntime.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}),jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",justify:"start",itemAlign:"start",gap:3,className:"oui-mb-3 oui-w-full",children:[!m&&jsxRuntime.jsx(Y,{disableSelector:true,value:t.position_type??orderlyTypes.PositionType.PARTIAL,onChange:(c,P)=>{e.setOrderValue(c,P);}}),t.position_type===orderlyTypes.PositionType.FULL&&jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-2xs oui-text-warning",children:d("tpsl.positionType.full.tips.market")})]}),y(),jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",itemAlign:"start",justify:"start",gap:6,className:"oui-mt-3 oui-w-full",children:[jsxRuntime.jsx($,{symbol:n.symbol,rootOrderPrice:n.average_open_price.toString(),type:"tp",side:n.position_qty>0?orderlyTypes.OrderSide.BUY:orderlyTypes.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??orderlyTypes.OrderType.MARKET},hideOrderPrice:t.position_type===orderlyTypes.PositionType.FULL,errors:u?f:null,disableOrderTypeSelector:m,quote_dp:o("quote_dp"),positionType:t.position_type??orderlyTypes.PositionType.PARTIAL,onChange:(c,P)=>{e.setOrderValue(c,P);},symbolLeverage:n.leverage}),jsxRuntime.jsx($,{symbol:n.symbol,rootOrderPrice:n.average_open_price.toString(),type:"sl",side:n.position_qty>0?orderlyTypes.OrderSide.BUY:orderlyTypes.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??orderlyTypes.OrderType.MARKET},hideOrderPrice:t.position_type===orderlyTypes.PositionType.FULL,errors:u?f:null,quote_dp:o("quote_dp"),positionType:t.position_type??orderlyTypes.PositionType.PARTIAL,disableOrderTypeSelector:m,onChange:(c,P)=>{e.setOrderValue(c,P);},symbolLeverage:n.leverage})]}),jsxRuntime.jsx(pe,{tp_pnl:t.tp_pnl,sl_pnl:t.sl_pnl,className:"oui-my-3"})]})}),jsxRuntime.jsxs(orderlyUi.Grid,{px:2,cols:2,gap:3,mt:4,children:[jsxRuntime.jsx(orderlyUi.Button,{size:"md",color:"secondary","data-testid":"tpsl-cancel",onClick:()=>{e.close?.();},children:d("common.cancel")}),jsxRuntime.jsx(orderlyUi.ThrottledButton,{size:"md","data-testid":"tpsl-confirm",disabled:i.isCreateMutating,loading:i.isCreateMutating||i.isUpdateMutating,onClick:()=>{e.onSubmit().then(()=>{e.close?.(),s?.();}).catch(c=>{});},children:d("common.confirm")})]})]})};var vi=e=>{let{tpPrice:t,slPrice:o}=e,{t:r}=orderlyI18n.useTranslation();return t&&o?jsxRuntime.jsx(orderlyUi.Badge,{size:"xs",color:"neutral",children:r("common.tpsl")}):t?jsxRuntime.jsx(orderlyUi.Badge,{size:"xs",color:"neutral",children:r("tpsl.tp")}):o?jsxRuntime.jsx(orderlyUi.Badge,{size:"xs",color:"neutral",children:r("tpsl.sl")}):null},Ne=e=>{let{symbol:t,tpPrice:o,slPrice:r,qty:s,maxQty:i,side:n,quoteDP:a,baseDP:l,isEditing:m,isPositionTPSL:f,orderInfo:u}=e,{t:d}=orderlyI18n.useTranslation(),[g,p]=orderlyHooks.useLocalStorage("orderly_order_confirm",true),y=()=>u.position_type===orderlyTypes.PositionType.FULL?jsxRuntime.jsx(orderlyUi.Text,{children:d("tpsl.positionType.full")}):jsxRuntime.jsx(orderlyUi.Text,{children:d("tpsl.positionType.partial")}),c=({price:N,isOrderPrice:O,isEnable:w,colorType:oe})=>w?!N&&O?jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-base-contrast-36",children:d("common.market")}):jsxRuntime.jsx(orderlyUi.Text.numeral,{unit:"USDC",rule:"price",className:orderlyUi.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:a,padding:false,children:N}):jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-base-contrast-36",children:"-- USDC"}),P=f;return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[m&&jsxRuntime.jsx(orderlyUi.Text,{as:"div",size:"2xs",intensity:80,className:"oui-mb-3",children:d("tpsl.agreement",{symbol:orderlyUtils.transSymbolformString(t)})}),jsxRuntime.jsxs(orderlyUi.Flex,{pb:4,children:[jsxRuntime.jsx(orderlyUi.Box,{grow:true,children:jsxRuntime.jsx(orderlyUi.Text.formatted,{rule:"symbol",formatString:"base-type",size:"base",showIcon:true,as:"div",intensity:80,children:t})}),jsxRuntime.jsxs(orderlyUi.Flex,{gap:1,children:[P&&jsxRuntime.jsx(orderlyUi.Badge,{size:"xs",color:"primary",children:d("common.position")}),jsxRuntime.jsx(vi,{tpPrice:o,slPrice:r}),n===orderlyTypes.OrderSide.SELL?jsxRuntime.jsx(orderlyUi.Badge,{size:"xs",color:"success",children:d("common.buy")}):jsxRuntime.jsx(orderlyUi.Badge,{size:"xs",color:"danger",children:d("common.sell")})]})]}),jsxRuntime.jsx(orderlyUi.Divider,{}),u.tp_trigger_price||u.sl_trigger_price?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(orderlyUi.Divider,{className:"oui-my-4"}),jsxRuntime.jsxs("div",{className:orderlyUi.textVariants({size:"sm",intensity:54,className:"oui-space-y-1 oui-w-full oui-flex oui-flex-col oui-gap-3"}),children:[jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-base-contrast",children:y()}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",children:[jsxRuntime.jsx(orderlyUi.Text,{children:d("common.orderQty")}),jsxRuntime.jsx(orderlyUi.Text.numeral,{rule:"price",dp:l,padding:false,className:"oui-text-base-contrast",children:u.quantity??"-"})]}),jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",justify:"between",itemAlign:"start",gap:1,className:"oui-w-full",children:[jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(orderlyUi.Text,{children:d("tpsl.tpTriggerPrice")})," ",c({price:u.tp_trigger_price??"",isOrderPrice:false,isEnable:!!u.tp_trigger_price,colorType:"TP"})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(orderlyUi.Text,{children:d("tpsl.tpOrderPrice")}),c({price:u.tp_order_price??"",isOrderPrice:true,isEnable:!!u.tp_trigger_price,colorType:"TP"})]})]}),jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",justify:"between",itemAlign:"start",gap:1,className:"oui-w-full",children:[jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(orderlyUi.Text,{children:d("tpsl.slTriggerPrice")}),c({price:u.sl_trigger_price??"",isOrderPrice:false,isEnable:!!u.sl_trigger_price,colorType:"SL"})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(orderlyUi.Text,{children:d("tpsl.slOrderPrice")}),c({price:u.sl_order_price??"",isOrderPrice:true,isEnable:!!u.sl_trigger_price,colorType:"SL"})]})]})]})]}):null,jsxRuntime.jsx(orderlyUi.Box,{pt:2,children:jsxRuntime.jsxs(orderlyUi.Flex,{gap:1,children:[jsxRuntime.jsx(orderlyUi.Checkbox,{id:"disabledConfirm",color:"white",checked:!g,onCheckedChange:N=>{p(!N);}}),jsxRuntime.jsx("label",{htmlFor:"disabledConfirm",className:orderlyUi.textVariants({size:"xs",intensity:54,className:"oui-ml-1"}),children:d("orderEntry.disableOrderConfirm")})]})})]})};var mr=e=>{let{symbol:t,order:o,isEditing:r,positionType:s,triggerPrice:i,type:n,withTriggerPrice:a}=e,{t:l}=orderlyI18n.useTranslation();if(r&&!o)throw new orderlyTypes.SDKError("order is required when isEditing is true");let m=orderlyHooks.useSymbolsInfo();react.useRef(orderlyTypes.AlgoOrderRootType.TP_SL);let [{rows:u}]=orderlyHooks.usePositionStream(),[d]=orderlyHooks.useLocalStorage("orderly_order_confirm",true),g=u.find(x=>x.symbol===t);react.useEffect(()=>{g||e.close?.();},[g]);let [p,{submit:y,deleteOrder:c,setValue:P,setValues:N,validate:O,metaState:w,errors:oe,isCreateMutating:be,isUpdateMutating:ie}]=orderlyHooks.useTPSLOrder({symbol:t,position_qty:g?.position_qty??0,average_open_price:g?.average_open_price??0},{defaultOrder:o,positionType:i?orderlyTypes.PositionType.PARTIAL:s,tpslEnable:{tp_enable:a?n==="tp":true,sl_enable:a?n==="sl":true},isEditing:r}),tt=x=>{P("quantity",x);},k=(x,L)=>{P(x,L);},h=(x,L)=>{P(x,L);},wt=react.useMemo(()=>Math.abs(Number(g?.position_qty)),[g?.position_qty]);react.useMemo(()=>{let x=o?.algo_type===orderlyTypes.AlgoOrderRootType.POSITIONAL_TP_SL?wt:o?.quantity,L=0;if((Number(p.quantity)!==x||!r&&p.quantity)&&(L=1),o&&r){let{tp_trigger_price:rt,sl_trigger_price:W}=orderlyHooks.utils.findTPSLFromOrder(o),{tp_order_price:Dt,sl_order_price:Et}=orderlyHooks.utils.findTPSLOrderPriceFromOrder(o);rt!==Number(p.tp_trigger_price)&&typeof typeof p.tp_trigger_price<"u"&&(L=2),W!==Number(p.sl_trigger_price)&&typeof p.sl_trigger_price<"u"&&(L=3),typeof p.tp_order_price<"u"&&Dt!==orderlyTypes.OrderType.MARKET&&Dt!==Number(p.tp_order_price)&&(L=4),typeof p.sl_order_price<"u"&&Et!==orderlyTypes.OrderType.MARKET&&Et!==Number(p.sl_order_price)&&(L=5);}return L===1&&!p.tp_trigger_price&&!p.sl_trigger_price&&(L=-1),L},[p.tp_trigger_price,p.tp_order_price,p.sl_trigger_price,p.sl_order_price,p.quantity,o,r]);react.useEffect(()=>{a&&i&&(P(n==="tp"?"tp_trigger_price":"sl_trigger_price",i),e.qty&&P("quantity",e.qty));},[n,i,e.qty]);let lo=()=>o?.algo_order_id&&o?.symbol?c(o?.algo_order_id,o?.symbol):Promise.reject("order id or symbol is invalid"),ao=(x,L)=>{if(!d)return Promise.resolve(true);let rt=Math.abs(Number(g?.position_qty));return `${x.tp_trigger_price??""}`.length===0&&`${x.sl_trigger_price??""}`.length===0?orderlyUi.modal.confirm({title:l("orders.cancelOrder"),content:l("tpsl.cancelOrder.description"),onOk:()=>L.cancel()}).then(()=>true,()=>Promise.reject(false)):orderlyUi.modal.confirm({title:l("tpsl.confirmOrder"),onOk:async()=>{try{let W=await L.submit({accountId:g?.account_id});return W.success?W:(W.message&&orderlyUi.toast.error(W.message),!1)}catch(W){return W?.message&&orderlyUi.toast.error(W.message),false}},classNames:{body:"!oui-pb-0"},content:jsxRuntime.jsx(Ne,{isPositionTPSL:s===orderlyTypes.PositionType.FULL,isEditing:r,symbol:x.symbol,qty:Number(x.quantity),maxQty:rt,tpPrice:Number(x.tp_trigger_price),slPrice:Number(x.sl_trigger_price),side:x.side,orderInfo:x,quoteDP:m[t]("quote_dp")??2,baseDP:m[t]("base_dp")??2})}).then(()=>true,()=>Promise.reject(false))},uo=async()=>{try{if(await O())return d?ao(p,{position:g,submit:y,cancel:lo}):y({accountId:g?.account_id}).then(()=>!0).catch(L=>{throw L?.message&&orderlyUi.toast.error(L.message),!1})}catch(x){return Promise.reject(x)}};return {isEditing:r,symbolInfo:m[t],maxQty:wt,setQuantity:orderlyHooks.useMemoizedFn(tt),orderQuantity:p.quantity,TPSL_OrderEntity:p,setOrderValue:P,setPnL:h,setOrderPrice:k,onSubmit:uo,metaState:w,errors:oe,status:{isCreateMutating:be,isUpdateMutating:ie},position:g,setValues:N}};var he=e=>{let{onCancel:t,onComplete:o,...r}=e,s=mr(r);return jsxRuntime.jsx(er,{...s,onCancel:t,onComplete:o,close:r.close})},ze="TPSLSheetId",fe="TPSLDialogId";orderlyUi.registerSimpleSheet(ze,he);orderlyUi.registerSimpleDialog(fe,he,{classNames:{content:"oui-w-[420px]"}});var Hi=e=>{let{position:t,order:o,baseDP:r,quoteDP:s,buttonProps:i,isEditing:n}=e,[a]=orderlyHooks.useLocalStorage("orderly_order_confirm",true),{t:l}=orderlyI18n.useTranslation(),m=n?o?.algo_type===orderlyTypes.AlgoOrderRootType.POSITIONAL_TP_SL:void 0;return jsxRuntime.jsx(orderlyUi.Box,{onClick:()=>{orderlyUi.modal.show(fe,{order:o,symbol:t.symbol,baseDP:r,quoteDP:s,positionType:m?orderlyTypes.PositionType.FULL:orderlyTypes.PositionType.PARTIAL,isEditing:n});},className:"oui-cursor-pointer",children:e.children||jsxRuntime.jsx(orderlyUi.Button,{variant:"outlined",size:"sm",color:"secondary",...i,children:e.label})})};var Xi=e=>{let{position:t,order:o,symbolInfo:r,isEditing:s}=e,{resolve:i,hide:n,updateArgs:a}=orderlyUi.useModal(),l=s?o?.algo_type===orderlyTypes.AlgoOrderRootType.POSITIONAL_TP_SL:void 0;return jsxRuntime.jsx(jsxRuntime.Fragment,{children:jsxRuntime.jsx(he,{...e,positionType:e.positionType??(l?orderlyTypes.PositionType.FULL:orderlyTypes.PositionType.PARTIAL),onCancel:()=>{n();}})})};var br=e=>{let{t}=orderlyI18n.useTranslation(),{errors:o,validated:r}=e.metaState,{formattedOrder:s,setValue:i,symbolInfo:n,setValues:a}=e,[l,m]=react.useState({enable:true,order_type:s.tp_order_type??orderlyTypes.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,u]=react.useState({enable:true,order_type:s.sl_order_type??orderlyTypes.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 react.useEffect(()=>{m(d=>({...d,enable:s.tp_enable??true,order_type:s.tp_order_type??orderlyTypes.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]),react.useEffect(()=>{u(d=>({...d,enable:s.sl_enable??true,order_type:s.sl_order_type??orderlyTypes.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]),jsxRuntime.jsxs("div",{className:"oui-rounded-[16px] oui-py-3 oui-flex oui-flex-col oui-justify-between oui-h-full",children:[jsxRuntime.jsx("div",{className:"oui-px-3",children:jsxRuntime.jsxs(orderlyUi.Flex,{className:"oui-mb-5 oui-cursor-pointer oui-text-base oui-text-base-contrast-80",gap:1,itemAlign:"center",onClick:e.onClose,children:[jsxRuntime.jsx(os,{className:" oui-text-base-contrast-80"}),jsxRuntime.jsx(orderlyUi.Text,{children:t("tpsl.advanced.title")})]})}),jsxRuntime.jsxs(orderlyUi.ScrollArea,{className:"oui-flex-1",children:[jsxRuntime.jsx("div",{className:"oui-px-3",children:jsxRuntime.jsx(H,{order:s,baseDP:n.base_dp,quoteDP:n.quote_dp,symbolLeverage:e.symbolLeverage})}),jsxRuntime.jsx(orderlyUi.Divider,{className:"oui-my-3"}),jsxRuntime.jsxs("div",{className:"oui-px-3",children:[jsxRuntime.jsxs(orderlyUi.Flex,{className:"oui-gap-[6px]",children:[jsxRuntime.jsx(orderlyUi.Button,{onClick:()=>{i("side",orderlyTypes.OrderSide.BUY);},size:"sm",fullWidth:true,"data-type":orderlyTypes.OrderSide.BUY,className:orderlyUi.cn(s.side===orderlyTypes.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")}),jsxRuntime.jsx(orderlyUi.Button,{onClick:()=>{i("side",orderlyTypes.OrderSide.SELL);},"data-type":orderlyTypes.OrderSide.SELL,fullWidth:true,size:"sm",className:orderlyUi.cn(s.side===orderlyTypes.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")})]}),jsxRuntime.jsxs("div",{className:"oui-py-3",children:[jsxRuntime.jsx(Y,{value:s.position_type??orderlyTypes.PositionType.PARTIAL,onChange:(d,g)=>{if(g===orderlyTypes.PositionType.FULL){a({position_type:orderlyTypes.PositionType.FULL,tp_order_type:orderlyTypes.OrderType.MARKET,tp_order_price:void 0,sl_order_type:orderlyTypes.OrderType.MARKET,sl_order_price:void 0});return}i("position_type",g);}}),s.position_type===orderlyTypes.PositionType.FULL&&jsxRuntime.jsxs(orderlyUi.Flex,{justify:"start",itemAlign:"start",gap:2,className:"oui-mt-3 oui-w-full",children:[jsxRuntime.jsx("div",{className:"oui-relative oui-top-[7px] oui-size-1 oui-rounded-full oui-bg-[#D25f00]"}),jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-2xs oui-text-[#D25f00]",children:t("tpsl.positionType.full.tips.market")})]})]}),jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",gap:6,children:[jsxRuntime.jsx($,{rootOrderPrice:s.order_price,symbol:n.symbol,type:"tp",side:s.side,values:l,errors:r?o:null,quote_dp:n.quote_dp,hideOrderPrice:s.position_type===orderlyTypes.PositionType.FULL,onChange:(d,g)=>{i(d,g);},positionType:s.position_type??orderlyTypes.PositionType.PARTIAL,symbolLeverage:e.symbolLeverage}),jsxRuntime.jsx($,{rootOrderPrice:s.order_price,symbol:n.symbol,type:"sl",side:s.side,values:f,hideOrderPrice:s.position_type===orderlyTypes.PositionType.FULL,errors:r?o:null,quote_dp:n.quote_dp,positionType:s.position_type??orderlyTypes.PositionType.PARTIAL,onChange:(d,g)=>{i(d,g);},symbolLeverage:e.symbolLeverage})]}),jsxRuntime.jsx(pe,{tp_pnl:s.tp_pnl,sl_pnl:s.sl_pnl,className:"oui-mt-6"})]})]}),jsxRuntime.jsxs(orderlyUi.Flex,{className:"oui-mt-6 oui-px-3",gap:2,children:[jsxRuntime.jsx(orderlyUi.Button,{size:"md",fullWidth:true,color:"gray",variant:"outlined",className:"oui-text-base-contrast-36",onClick:e.onClose,children:t("common.cancel")}),jsxRuntime.jsx(orderlyUi.Button,{size:"md",fullWidth:true,color:"success",className:orderlyUi.cn(s.side===orderlyTypes.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")})]})]})},os=e=>jsxRuntime.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 14 14",fill:"currentColor",...e,children:jsxRuntime.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 Sr=(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},Or=e=>{let{order:t,setOrderValue:o,onClose:r}=e,[s,i]=react.useState(null),{formattedOrder:n,setValue:a,setValues:l,helper:m,symbolInfo:f,metaState:u,...d}=orderlyHooks.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??orderlyTypes.PositionType.PARTIAL,trigger_price:t.trigger_price,tp_enable:Sr(t,"tp"),sl_enable:Sr(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:a,setValues:l,onSubmit:()=>{m.validate().then(()=>{e.onSubmit(n);}).catch(p=>{});},onClose:r,metaState:u,symbolLeverage:e.symbolLeverage}};var Ir=e=>{let t=Or({order:e.order,setOrderValue:e.setOrderValue,onSubmit:e.onSubmit,onClose:e.onClose,symbolLeverage:e.symbolLeverage});return jsxRuntime.jsx(br,{...t})},ds="TPSLAdvancedSheetId",us="TPSLAdvancedDialogId";orderlyUi.registerSimpleSheet(ds,Ir,{title:()=>orderlyI18n.i18n.t("common.settings")});orderlyUi.registerSimpleDialog(us,Ir,{title:()=>orderlyI18n.i18n.t("common.settings")});var Nr=e=>{let{position:t}=e,o=t.symbol,r=orderlyHooks.useSymbolsInfo()[o],{isMobile:s}=orderlyUi.useScreen(),{t:i}=orderlyI18n.useTranslation(),[n,a]=react.useState([]),[l,m]=react.useState([]),[f,{cancelAlgoOrder:u,cancelPostionOrdersByTypes:d,refresh:g}]=orderlyHooks.useOrderStream({symbol:t.symbol,status:orderlyTypes.OrderStatus.INCOMPLETE,includes:[orderlyTypes.AlgoOrderRootType.POSITIONAL_TP_SL,orderlyTypes.AlgoOrderRootType.TP_SL],size:500},{keeplive:true}),p=async O=>await u(O.algo_order_id,O.symbol),y=async()=>await d(o,[orderlyTypes.AlgoOrderRootType.TP_SL]),c=({order:O,positionType:w,isEditing:oe})=>{let be=s?ze:fe;orderlyUi.modal.show(be,{order:O,symbol:t.symbol,positionType:w,isEditing:oe});},P=(O,w)=>{c({order:O,positionType:w,isEditing:true});},N=O=>{c({positionType:O,isEditing:false});};return react.useEffect(()=>{if(f){let{fullPositionOrder:O,partialPositionOrders:w}=orderlyHooks.findPositionTPSLFromOrders(f,o);a(O?[O]:[]),m(w??[]);}},[f,o]),{symbolInfo:r,position:t,symbol:o,fullPositionOrders:n,partialPositionOrders:l,cancelPostionOrdersByTypes:d,onCancelOrder:p,onCancelAllTPSLOrders:y,editTPSLOrder:P,addTPSLOrder:N}};var hr=react.createContext({}),Cr=e=>{let t=orderlyHooks.useSymbolsInfo()[e.symbol];return jsxRuntime.jsx(hr.Provider,{value:{base_dp:t("base_dp"),quote_dp:t("quote_dp"),position:e.position},children:e.children})},X=()=>react.useContext(hr);var C=e=>jsxRuntime.jsx(orderlyUi.Flex,{direction:"column",justify:"center",itemAlign:"start",className:"oui-text-2xs oui-h-[36px]",children:e.children});var gt=({order:e})=>{let{position:t,base_dp:o,quote_dp:r}=X(),{tp_trigger_price:s,sl_trigger_price:i}=orderlyHooks.findTPSLFromOrder(e),n,a,l=new orderlyUtils.Decimal(e.quantity).eq(0)?t.position_qty:e.quantity,m=t.position_qty>0?orderlyTypes.OrderSide.BUY:orderlyTypes.OrderSide.SELL,f=t?.average_open_price;if(s){let u=orderlyUtils.getTPSLDirection({side:m,type:"tp",closePrice:s,orderPrice:f});n=new orderlyUtils.Decimal(orderlyPerp.positions.unrealizedPnL({qty:l,openPrice:f,markPrice:s})).abs().mul(u).toNumber();}if(i){let u=orderlyUtils.getTPSLDirection({side:m,type:"sl",closePrice:i,orderPrice:f});a=new orderlyUtils.Decimal(orderlyPerp.positions.unrealizedPnL({qty:l,openPrice:f,markPrice:i})).abs().mul(u).toNumber();}return jsxRuntime.jsxs(orderlyUi.Flex,{gap:2,direction:"column",justify:"between",itemAlign:"start",className:"oui-text-2xs",children:[n&&jsxRuntime.jsx(C,{children:jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:2,rm:orderlyUtils.Decimal.ROUND_DOWN,coloring:true,padding:false,children:n})}),a&&jsxRuntime.jsx(C,{children:jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:2,rm:orderlyUtils.Decimal.ROUND_DOWN,coloring:true,padding:false,children:a})})]})};var ft=({order:e})=>{let{quote_dp:t}=X(),{tp_order_price:o,sl_order_price:r}=orderlyHooks.findTPSLOrderPriceFromOrder(e),{t:s}=orderlyI18n.useTranslation();return jsxRuntime.jsxs(orderlyUi.Flex,{gap:2,direction:"column",justify:"between",itemAlign:"start",className:"oui-text-2xs",children:[o&&jsxRuntime.jsx(C,{children:o===orderlyTypes.OrderType.MARKET?jsxRuntime.jsx(orderlyUi.Text,{children:s("common.market")}):jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:t,rm:orderlyUtils.Decimal.ROUND_DOWN,padding:false,children:o})}),r&&jsxRuntime.jsx(C,{children:r===orderlyTypes.OrderType.MARKET?jsxRuntime.jsx(orderlyUi.Text,{children:s("common.market")}):jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:t,rm:orderlyUtils.Decimal.ROUND_DOWN,padding:false,children:r})})]})};var yt=({order:e})=>{let{position:t,base_dp:o}=X(),{tp_trigger_price:r,sl_trigger_price:s}=orderlyHooks.findTPSLFromOrder(e),i=react.useMemo(()=>e.quantity===0?-t.position_qty:t.position_qty>0?-e.quantity:e.quantity,[e.quantity,t.position_qty]);return jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",justify:"start",itemAlign:"start",className:"oui-h-full oui-text-2xs",children:[jsxRuntime.jsx(C,{children:jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:o,rm:orderlyUtils.Decimal.ROUND_DOWN,padding:false,children:i})}),r&&s&&jsxRuntime.jsx(C,{children:jsxRuntime.jsx("div",{})})]})};var Tt=({order:e})=>{let{quote_dp:t}=X(),{tp_trigger_price:o,sl_trigger_price:r}=orderlyHooks.findTPSLFromOrder(e),{t:s}=orderlyI18n.useTranslation();return jsxRuntime.jsxs(orderlyUi.Flex,{gap:1,direction:"column",justify:"between",itemAlign:"start",className:"oui-text-2xs",children:[o&&jsxRuntime.jsx(C,{children:jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",justify:"start",itemAlign:"start",children:[jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-base-contrast-36",children:s("common.market")}),jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:t,rm:orderlyUtils.Decimal.ROUND_DOWN,padding:false,children:o})]})}),r&&jsxRuntime.jsx(C,{children:jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",justify:"start",itemAlign:"start",children:[jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-base-contrast-36",children:s("common.market")}),jsxRuntime.jsx(orderlyUi.Text.numeral,{dp:t,rm:orderlyUtils.Decimal.ROUND_DOWN,padding:false,children:r})]})})]})};var xt=({order:e})=>{let{tp_trigger_price:t,sl_trigger_price:o}=orderlyHooks.findTPSLFromOrder(e),{t:r}=orderlyI18n.useTranslation();return jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",justify:"between",itemAlign:"start",className:"oui-text-2xs",children:[t&&jsxRuntime.jsx(C,{children:jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-trade-profit",children:r("tpsl.tp")})}),o&&jsxRuntime.jsx(C,{children:jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-trade-loss",children:r("tpsl.sl")})})]})};var He=e=>{let{t}=orderlyI18n.useTranslation(),{isMobile:o}=orderlyUi.useScreen(),{onCancelOrder:r}=e;return react.useMemo(()=>{let i=[{title:t("tpsl.tpslDetail.qty"),dataIndex:"quantity",width:70,className:"oui-py-2",render:(a,l)=>jsxRuntime.jsx(yt,{order:l})},{title:t("tpsl.tpslDetail.type"),dataIndex:"type",width:35,className:"oui-pl-1 oui-py-2",render:(a,l)=>jsxRuntime.jsx(xt,{order:l})},{title:t("tpsl.tpslDetail.trigger"),dataIndex:"trigger",width:70,className:"oui-pl-1 oui-py-2",render:(a,l)=>jsxRuntime.jsx(Tt,{order:l})},{title:t("tpsl.tpslDetail.price"),dataIndex:"price",width:70,className:"oui-py-2",render:(a,l)=>jsxRuntime.jsx(ft,{order:l})},{title:jsxRuntime.jsx(orderlyUi.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:jsxRuntime.jsx(orderlyUi.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:(a,l)=>jsxRuntime.jsx(gt,{order:l})}],n=[{title:t("tpsl.tpslDetail.qty"),dataIndex:"quantity",width:70,className:orderlyUi.cn(" oui-py-2 !oui-pl-5"),render:(a,l)=>jsxRuntime.jsx(yt,{order:l})},{title:t("tpsl.tpslDetail.type"),dataIndex:"type",width:35,className:"oui-pl-1 oui-py-2",render:(a,l)=>jsxRuntime.jsx(xt,{order:l})},{title:t("tpsl.tpslDetail.trigger"),dataIndex:"trigger",width:70,className:"oui-pl-1 oui-py-2",render:(a,l)=>jsxRuntime.jsx(Tt,{order:l})},{title:t("tpsl.tpslDetail.price"),dataIndex:"price",width:70,className:"oui-pl-1 oui-py-2",render:(a,l)=>jsxRuntime.jsx(ft,{order:l})},{title:jsxRuntime.jsx(orderlyUi.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:jsxRuntime.jsx(orderlyUi.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:(a,l)=>jsxRuntime.jsx(gt,{order:l})},{title:"",dataIndex:"delete",width:50,className:orderlyUi.cn("oui-py-2 !oui-pr-5"),render:(a,l)=>jsxRuntime.jsx(Xs,{order:l,onCancelOrder:r})}];return o?i:n},[t,o])};var Zs=e=>{let{size:t=18}=e;return jsxRuntime.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:t,viewBox:"0 0 18 18",fill:"currentColor",...e,children:jsxRuntime.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"})})},Xs=e=>{let[t,o]=react.useState(false);return jsxRuntime.jsx(orderlyUi.ThrottledButton,{size:"sm",loading:t,variant:"text",color:"gray",onClick:r=>{r.stopPropagation(),o(true),e.onCancelOrder?.(e.order).then(()=>{},s=>{orderlyUi.toast.error(s.message);}).finally(()=>{o(false);});},children:jsxRuntime.jsx(Zs,{className:"oui-text-base-contrast-54 hover:oui-text-base-contrast oui-cursor-pointer"})})};var St=e=>{let{orders:t}=e,o=He({onCancelOrder:e.onCancelOrder});return jsxRuntime.jsx(orderlyUiConnector.AuthGuardDataTable,{columns:o,dataSource:t,className:"oui-bg-transparent oui-text-2xs",bordered:true,classNames:{root:orderlyUi.cn(e.className),header:"!oui-bg-base-8",scroll:orderlyUi.cn(!t||t.length===0?"!oui-min-h-[170px]":"!oui-min-h-[100px]")},onRow:r=>({className:orderlyUi.cn("oui-h-[53px] oui-cursor-svg-edit !oui-border-none !oui-p-0"),onClick:()=>{e.editTPSLOrder(r);}})})};var Ot=e=>{let{t}=orderlyI18n.useTranslation(),{orders:o}=e,r=He({onCancelOrder:()=>Promise.resolve()}),s=react.useMemo(()=>o.reduce((i,n)=>(i[n.algo_order_id]=true,i),{}),[o]);return jsxRuntime.jsx(orderlyUiConnector.AuthGuardDataTable,{columns:r,dataSource:o,expanded:s,bordered:true,getRowCanExpand:()=>true,expandRowRender:i=>jsxRuntime.jsxs(orderlyUi.Flex,{gap:2,justify:"end",children:[jsxRuntime.jsx(orderlyUi.Button,{variant:"outlined",size:"sm",color:"gray",className:"oui-h-6 oui-text-2xs oui-text-base-contrast-54",onClick:()=>e.editTPSLOrder(i.original),children:t("common.edit")}),jsxRuntime.jsx(dn,{order:i.original,onCancelOrder:e.canCancelOrder})]}),className:"oui-bg-transparent oui-px-2 oui-text-2xs",classNames:{scroll:orderlyUi.cn(!o||o.length===0?"!oui-min-h-[170px]":"!oui-min-h-[100px]")},onRow:()=>({className:orderlyUi.cn("oui-h-[53px] oui-cursor-svg-edit !oui-border-none !oui-p-0")}),generatedRowKey:i=>i.algo_order_id})},dn=e=>{let[t,o]=react.useState(false),{t:r}=orderlyI18n.useTranslation();return jsxRuntime.jsx(orderlyUi.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(()=>{},i=>{orderlyUi.toast.error(i.message);}).finally(()=>{o(false);});},children:r("common.delete")})};var Kr=e=>{let{isMobile:t}=orderlyUi.useScreen(),{position:o,fullPositionOrders:r,partialPositionOrders:s,onCancelOrder:i,onCancelAllTPSLOrders:n,editTPSLOrder:a,addTPSLOrder:l,symbolInfo:m}=e;return jsxRuntime.jsx(orderlyUi.Box,{children:jsxRuntime.jsxs(orderlyUi.ScrollArea,{className:orderlyUi.cn(t&&"oui-h-[calc(100vh-100px)]"),children:[jsxRuntime.jsx(H,{order:{symbol:o.symbol,order_quantity:o.position_qty.toString(),order_price:o.average_open_price.toString()},symbolLeverage:o.leverage,baseDP:m("base_dp"),quoteDP:m("quote_dp"),classNames:{root:orderlyUi.cn("oui-mb-6 oui-gap-3 oui-px-5"),container:"oui-gap-x-[30px]"}}),jsxRuntime.jsx(yn,{position:o,orders:r,onCancelOrder:i,onCancelAllTPSLOrders:n,editTPSLOrder:a,addTPSLOrder:l}),jsxRuntime.jsx(Pn,{position:o,orders:s,onCancelOrder:i,onCancelAllTPSLOrders:n,editTPSLOrder:a,addTPSLOrder:l})]})})},yn=e=>{let[t,o]=react.useState(true),{orders:r}=e,{isMobile:s}=orderlyUi.useScreen();return jsxRuntime.jsxs(orderlyUi.Box,{className:"oui-mt-6",children:[jsxRuntime.jsxs(orderlyUi.Box,{className:orderlyUi.cn("oui-flex oui-items-center oui-justify-between oui-px-5"),children:[jsxRuntime.jsx(Gr,{positionType:orderlyTypes.PositionType.FULL,open:t,onOpenChange:o}),r&&r.length===0&&jsxRuntime.jsx(orderlyUi.Flex,{gap:2,children:jsxRuntime.jsx($r,{positionType:orderlyTypes.PositionType.FULL,position:e.position,addTPSLOrder:e.addTPSLOrder})})]}),jsxRuntime.jsx(orderlyUi.Box,{className:orderlyUi.cn("oui-overflow-hidden oui-transition-[height] oui-duration-150",t?"oui-h-auto":"oui-h-0 oui-pb-4"),children:s?jsxRuntime.jsx(Ot,{orders:r,editTPSLOrder:i=>e.editTPSLOrder(i,orderlyTypes.PositionType.FULL),canCancelOrder:e.onCancelOrder}):jsxRuntime.jsx(St,{orders:r,editTPSLOrder:i=>{e.editTPSLOrder(i,orderlyTypes.PositionType.FULL);},onCancelOrder:e.onCancelOrder})})]})},Pn=e=>{let[t,o]=react.useState(true),{orders:r}=e,{isMobile:s}=orderlyUi.useScreen();return jsxRuntime.jsxs(orderlyUi.Box,{className:"oui-pt-6",children:[jsxRuntime.jsxs(orderlyUi.Box,{className:orderlyUi.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:[jsxRuntime.jsx(Gr,{positionType:orderlyTypes.PositionType.PARTIAL,open:t,onOpenChange:o}),jsxRuntime.jsxs(orderlyUi.Flex,{gap:2,children:[jsxRuntime.jsx($r,{positionType:orderlyTypes.PositionType.PARTIAL,position:e.position,addTPSLOrder:e.addTPSLOrder}),r&&r.length>0&&jsxRuntime.jsx(_n,{canCancelAll:r&&r.length>0,onCancelAllTPSLOrders:e.onCancelAllTPSLOrders})]})]}),jsxRuntime.jsx(orderlyUi.Box,{className:orderlyUi.cn("oui-overflow-hidden oui-transition-[height] oui-duration-150",t?"oui-h-auto":"oui-h-0 oui-pb-4"),children:s?jsxRuntime.jsx(Ot,{orders:r,editTPSLOrder:i=>e.editTPSLOrder(i,orderlyTypes.PositionType.PARTIAL),canCancelOrder:e.onCancelOrder}):jsxRuntime.jsx(St,{className:"oui-h-[300px]",orders:r,editTPSLOrder:i=>{e.editTPSLOrder(i,orderlyTypes.PositionType.PARTIAL);},onCancelOrder:e.onCancelOrder})})]})},Gr=e=>{let{t}=orderlyI18n.useTranslation();return jsxRuntime.jsxs(orderlyUi.Flex,{gap:1,itemAlign:"center",justify:"start",className:"oui-text-2xs",children:[jsxRuntime.jsxs(orderlyUi.Flex,{itemAlign:"center",justify:"start",gap:1,className:"oui-cursor-pointer",onClick:()=>e.onOpenChange(!e.open),children:[jsxRuntime.jsx(orderlyUi.ChevronDownIcon,{size:12,color:"white",className:orderlyUi.cn("oui-cursor-pointer oui-transition-transform",e.open&&"oui-rotate-180")}),e.positionType===orderlyTypes.PositionType.FULL?jsxRuntime.jsx(orderlyUi.Text,{children:t("tpsl.positionType.full")}):jsxRuntime.jsx(orderlyUi.Text,{children:t("tpsl.positionType.partial")})]}),jsxRuntime.jsx(orderlyUi.Tooltip,{className:"oui-w-[280px] oui-p-3",content:e.positionType===orderlyTypes.PositionType.FULL?t("tpsl.positionType.full.tips"):t("tpsl.positionType.partial.tips"),children:jsxRuntime.jsx(orderlyUi.ExclamationFillIcon,{className:"oui-cursor-pointer oui-text-base-contrast-54",size:12})})]})},$r=e=>{let{t}=orderlyI18n.useTranslation();return jsxRuntime.jsx(orderlyUi.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")})},_n=e=>{let[t,o]=react.useState(false),{t:r}=orderlyI18n.useTranslation();return jsxRuntime.jsx(orderlyUi.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=>{orderlyUi.toast.error(s.message);}).finally(()=>{o(false);});},children:r("tpsl.cancelAll")})};var Hr=e=>{let t=Nr(e);return jsxRuntime.jsx(Cr,{symbol:e.position.symbol,position:e.position,children:jsxRuntime.jsx(Kr,{...t})})},bn="TPSLDetailDialogId ",Sn="TPSLDetailSheetId";orderlyUi.registerSimpleDialog(bn,Hr,{classNames:{content:"oui-w-[420px] lg:oui-pt-4 lg:oui-pb-2 !oui-px-0",body:"lg:oui-py-0"}});orderlyUi.registerSimpleSheet(Sn,Hr,{classNames:{content:"!oui-p-0"}});var ht=e=>{let {type:t,triggerPrice:o,symbol:r}=e,s=orderlyHooks.useSymbolsInfo(),[{rows:i},n]=orderlyHooks.usePositionStream(r),a=i?.[0];react.useRef(orderlyTypes.AlgoOrderRootType.TP_SL);let [m]=orderlyHooks.useLocalStorage("orderly_order_confirm",true),{t:f}=orderlyI18n.useTranslation(),[u,{submit:d,deleteOrder:g,setValue:p,setValues:y,validate:c,errors:P,isCreateMutating:N,isUpdateMutating:O}]=orderlyHooks.useTPSLOrder({symbol:r,position_qty:a?.position_qty,average_open_price:a?.average_open_price},{defaultOrder:void 0,positionType:orderlyTypes.PositionType.PARTIAL,tpslEnable:{tp_enable:t==="tp",sl_enable:t==="sl"},isEditing:false}),w=k=>{p("quantity",k);},oe=(k,h)=>{p(k,h);},be=(k,h)=>{p(k,h);},ie=react.useMemo(()=>Math.abs(Number(a.position_qty)),[a.position_qty]);react.useEffect(()=>{ie&&(p("quantity",ie),p(t==="tp"?"tp_trigger_price":"sl_trigger_price",o??""));},[t,o,ie]);let tt=async()=>{try{if(await c())return m?orderlyUi.modal.confirm({title:f("tpsl.confirmOrder"),onOk:async()=>{try{let h=await d({accountId:a.account_id});return h.success?h:(h.message&&orderlyUi.toast.error(h.message),!1)}catch(h){return h?.message&&orderlyUi.toast.error(h.message),!1}},classNames:{body:"!oui-pb-0"},content:jsxRuntime.jsx(Ne,{isPositionTPSL:!1,isEditing:!1,symbol:r,qty:Number(u.quantity),maxQty:ie,tpPrice:Number(u.tp_trigger_price),slPrice:Number(u.sl_trigger_price),side:u.side,orderInfo:u,quoteDP:s[r]("quote_dp"),baseDP:s[r]("base_dp")})}).then(()=>!0,()=>Promise.reject(!1)):d({accountId:a.account_id}).then(()=>!0).catch(h=>{throw h?.message&&orderlyUi.toast.error(h.message),!1})}catch(k){return Promise.reject(k)}};return {symbolInfo:s[r],maxQty:ie,setQuantity:orderlyHooks.useMemoizedFn(w),orderQuantity:u.quantity,isPosition:false,TPSL_OrderEntity:u,setOrderValue:p,setPnL:be,setOrderPrice:oe,onSubmit:tt,errors:P,status:{isCreateMutating:N,isUpdateMutating:O},position:a,setValues:y,type:t,triggerPrice:o}};var Ct=e=>{let{type:t,triggerPrice:o,errors:r,TPSL_OrderEntity:s}=e,{t:i}=orderlyI18n.useTranslation(),{getErrorMsg:n}=orderlyReactApp.useOrderEntryFormErrorMsg(r),a=jsxRuntime.jsxs(orderlyUi.Flex,{width:"100%",itemAlign:"center",gap:3,mt:4,children:[jsxRuntime.jsx(orderlyUi.Button,{color:"gray",onClick:()=>{e.onComplete?.(),e.close?.();},fullWidth:true,className:"oui-text-sm",size:"md",children:i("common.cancel")},"secondary"),jsxRuntime.jsx(orderlyUi.Button,{onClick:()=>{e.onSubmit().then(()=>{e.onComplete?.(),e.close?.();});},fullWidth:true,className:"oui-text-sm",size:"md",children:i("common.confirm")},"primary")]}),l=()=>{let f=n("tp_trigger_price"),u=n("sl_trigger_price"),d="";return f&&t==="tp"&&(d=f),u&&t==="sl"&&(d=u),d?jsxRuntime.jsxs(orderlyUi.Flex,{justify:"start",itemAlign:"start",gap:2,className:"oui-mt-2 oui-w-full",children:[jsxRuntime.jsx("div",{className:"oui-relative oui-top-[7px] oui-size-1 oui-rounded-full oui-bg-danger"}),jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-danger",children:d})]}):null},m=()=>{let{tp_pnl:f,sl_pnl:u}=s;return t==="sl"?jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(orderlyUi.Text,{size:"2xs",children:i("tpsl.totalEstSlPnl")}),u?jsxRuntime.jsx(orderlyUi.Text.numeral,{suffix:jsxRuntime.jsx(orderlyUi.Text,{className:"oui-ml-1 oui-text-base-contrast-36",children:"USDC"}),coloring:true,visible:true,size:"2xs",dp:2,children:Number(u)}):jsxRuntime.jsx(orderlyUi.Text,{size:"2xs",children:"-- USDC"})]}):jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(orderlyUi.Text,{size:"2xs",children:i("tpsl.totalEstTpPnl")}),jsxRuntime.jsx(orderlyUi.Text.numeral,{suffix:jsxRuntime.jsx(orderlyUi.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 jsxRuntime.jsxs(orderlyUi.Box,{className:"oui-w-full oui-px-0.5",children:[jsxRuntime.jsx(Ue,{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}),jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",itemAlign:"start",className:orderlyUi.cn("oui-mt-4 oui-w-full oui-gap-1 oui-text-xs oui-text-base-contrast-36"),children:[jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(orderlyUi.Text,{size:"xs",children:i("tpsl.advanced.triggerPrice")}),jsxRuntime.jsx(orderlyUi.Text.numeral,{className:"oui-text-base-contrast",suffix:jsxRuntime.jsx(orderlyUi.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):"--"})]}),jsxRuntime.jsxs(orderlyUi.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(orderlyUi.Text,{size:"xs",children:i("tpsl.advanced.orderPrice")}),jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-base-contrast",size:"xs",children:i("tpsl.advanced.market")})]}),m()]}),l(),jsxRuntime.jsx(orderlyUi.Divider,{className:"oui-my-3 oui-w-full"}),jsxRuntime.jsx(orderlyUi.Flex,{itemAlign:"center",onClick:()=>{e.close?.(),e.showAdvancedTPSLDialog?.({qty:Number(s.quantity)});},className:"oui-pb-4",children:jsxRuntime.jsx(orderlyUi.Text,{color:"primary",className:"oui-cursor-pointer oui-text-sm",children:i("tpsl.advancedSetting")})}),a]})};var vt=e=>{let{close:t,onComplete:o,showAdvancedTPSLDialog:r}=e,s=ht(e);return jsxRuntime.jsx(Ct,{...s,close:t,onComplete:o,showAdvancedTPSLDialog:r})},Zr="TPSLSimpleSheetId",Xr="TPSLSimpleDialogId";orderlyUi.registerSimpleSheet(Zr,vt,{classNames:{}});orderlyUi.registerSimpleDialog(Xr,vt,{classNames:{content:"oui-w-[420px]"}});function Yn(e){let t=e.child_orders[0],o=t.algo_type===orderlyTypes.AlgoOrderRootType.TP_SL?orderlyTypes.PositionType.PARTIAL:orderlyTypes.PositionType.FULL,r=t.child_orders.find(n=>n.algo_type===orderlyTypes.AlgoOrderType.TAKE_PROFIT&&n.trigger_price),s=t.child_orders.find(n=>n.algo_type===orderlyTypes.AlgoOrderType.STOP_LOSS&&n.trigger_price),i={};return r&&(i.tp_trigger_price=r.trigger_price?.toString(),i.tp_order_type=typeof r.type=="string"?r.type.replace("_ORDER",""):void 0,i.tp_order_type===orderlyTypes.OrderType.LIMIT&&(i.tp_order_price=r.price?.toString())),s&&(i.sl_trigger_price=s.trigger_price?.toString(),i.sl_order_type=typeof s.type=="string"?s.type.replace("_ORDER",""):void 0,i.sl_order_type===orderlyTypes.OrderType.LIMIT&&(i.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:!!r?.trigger_price,sl_enable:!!s?.trigger_price},tpslPriceInfo:i,tpInfo:{orderId:r?.algo_order_id},slInfo:{orderId:s?.algo_order_id}}}function Xe(e,t){if(t==null)return true;if(isNaN(Number(t)))return false;let o=new orderlyUtils.Decimal(Number(e));return !new orderlyUtils.Decimal(Number(t)).eq(o)}var to=e=>{if(!e.order)throw new orderlyTypes.SDKError("order is required for editBracketOrder");let{baseInfo:t,tpslPriceInfo:o,tpInfo:r,slInfo:s}=Yn(e.order),[i,{isMutating:n}]=orderlyHooks.useMutation("/v1/algo/order","PUT"),{formattedOrder:a,setValue:l,setValues:m,metaState:f,symbolInfo:u,helper:d}=orderlyHooks.useOrderEntry(e.order.symbol,{initialOrder:t}),g=e.order.symbol,p=react.useMemo(()=>{let c=false,{tp_order_price:P,sl_order_price:N,tp_trigger_price:O,sl_trigger_price:w}=a;return o.tp_trigger_price&&(c=c||Xe(o.tp_trigger_price,O??0)),o.tp_order_price&&(c=c||Xe(o.tp_order_price,P??0)),o.sl_trigger_price&&(c=c||Xe(o.sl_trigger_price,w??0)),o.sl_order_price&&(c=c||Xe(o.sl_order_price,N??0)),c},[o,a.tp_order_price,a.sl_order_price,a.tp_trigger_price,a.sl_trigger_price]);return react.useEffect(()=>{m({...o});},[e.order,m]),{symbol:g,symbolInfo:u,formattedOrder:a,setValue:l,setValues:m,metaState:f,onSubmit:async()=>d.validate().then(()=>{let c={order_id:r.orderId,algo_type:orderlyTypes.AlgoOrderType.TAKE_PROFIT,trigger_price:a.tp_trigger_price,reduce_only:true};a.tp_order_type===orderlyTypes.OrderType.LIMIT&&(c.price=a.tp_order_price);let P={order_id:s.orderId,algo_type:orderlyTypes.AlgoOrderType.STOP_LOSS,trigger_price:a.sl_trigger_price,reduce_only:true};a.sl_order_type===orderlyTypes.OrderType.LIMIT&&(P.price=a.sl_order_price);let N=[];return r.orderId&&N.push(c),s.orderId&&N.push(P),i({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:p}};var so=e=>{let{t}=orderlyI18n.useTranslation(),{errors:o,validated:r}=e.metaState,{isMobile:s}=orderlyUi.useScreen(),{formattedOrder:i,setValue:n,symbol:a,symbolInfo:l,setValues:m}=e,[f,u]=react.useState({enable:true,order_type:i.tp_order_type??orderlyTypes.OrderType.MARKET,order_price:i.tp_order_price??"",trigger_price:i.tp_trigger_price??"",PnL:i.tp_pnl??"",Offset:i.tp_offset??"","Offset%":i.tp_offset_percentage??"",ROI:i.tp_ROI??""}),[d,g]=react.useState({enable:true,order_type:i.sl_order_type??orderlyTypes.OrderType.MARKET,order_price:i.sl_order_price??"",trigger_price:i.sl_trigger_price??"",PnL:i.sl_pnl??"",Offset:i.sl_offset??"","Offset%":i.sl_offset_percentage??"",ROI:i.sl_ROI??""});return react.useEffect(()=>{u(p=>({...p,enable:i.tp_enable??true,order_type:i.tp_order_type??orderlyTypes.OrderType.MARKET,order_price:i.tp_order_price??"",trigger_price:i.tp_trigger_price??"",PnL:i.tp_pnl??"",Offset:i.tp_offset??"","Offset%":i.tp_offset_percentage??"",ROI:i.tp_ROI??""}));},[i]),react.useEffect(()=>{g(p=>({...p,enable:i.sl_enable??true,order_type:i.sl_order_type??orderlyTypes.OrderType.MARKET,order_price:i.sl_order_price??"",trigger_price:i.sl_trigger_price??"",PnL:i.sl_pnl??"",Offset:i.sl_offset??"","Offset%":i.sl_offset_percentage??"",ROI:i.sl_ROI??""}));},[i]),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsxs(orderlyUi.ScrollArea,{className:orderlyUi.cn("oui-flex-1",s&&"oui-h-[calc(100vh-200px)]"),children:[jsxRuntime.jsx("div",{className:"",children:jsxRuntime.jsx(H,{order:{symbol:a,order_quantity:i.order_quantity,order_price:i.order_price},baseDP:l.base_dp,quoteDP:l.quote_dp})}),jsxRuntime.jsx(orderlyUi.Divider,{className:"oui-my-3"}),jsxRuntime.jsxs("div",{className:"",children:[jsxRuntime.jsxs("div",{className:"oui-py-3",children:[jsxRuntime.jsx(Y,{value:i.position_type??orderlyTypes.PositionType.PARTIAL,disableSelector:true,onChange:(p,y)=>{if(y===orderlyTypes.PositionType.FULL){m({position_type:orderlyTypes.PositionType.FULL,tp_order_type:orderlyTypes.OrderType.MARKET,tp_order_price:void 0,sl_order_type:orderlyTypes.OrderType.MARKET,sl_order_price:void 0});return}n("position_type",y);}}),i.position_type===orderlyTypes.PositionType.FULL&&jsxRuntime.jsxs(orderlyUi.Flex,{justify:"start",itemAlign:"start",gap:2,className:"oui-mt-3 oui-w-full",children:[jsxRuntime.jsx("div",{className:"oui-relative oui-top-[7px] oui-size-1 oui-rounded-full oui-bg-[#D25f00]"}),jsxRuntime.jsx(orderlyUi.Text,{className:"oui-text-2xs oui-text-[#D25f00]",children:t("tpsl.positionType.full.tips.market")})]})]}),jsxRuntime.jsxs(orderlyUi.Flex,{direction:"column",gap:6,children:[i.tp_enable&&jsxRuntime.jsx($,{disableEnableCheckbox:true,disableOrderTypeSelector:true,rootOrderPrice:i.order_price,symbol:l.symbol,type:"tp",side:i.side,values:f,errors:r?o:null,quote_dp:l.quote_dp,hideOrderPrice:i.position_type===orderlyTypes.PositionType.FULL,onChange:(p,y)=>{n(p,y);},positionType:i.position_type??orderlyTypes.PositionType.PARTIAL}),i.sl_enable&&i.tp_enable&&jsxRuntime.jsx(orderlyUi.Divider,{className:"oui-w-full"}),i.sl_enable&&jsxRuntime.jsx($,{disableEnableCheckbox:true,disableOrderTypeSelector:true,rootOrderPrice:i.order_price,symbol:l.symbol,type:"sl",side:i.side,values:d,hideOrderPrice:i.position_type===orderlyTypes.PositionType.FULL,errors:r?o:null,quote_dp:l.quote_dp,positionType:i.position_type??orderlyTypes.PositionType.PARTIAL,onChange:(p,y)=>{n(p,y);}})]}),jsxRuntime.jsx(pe,{tp_pnl:i.tp_pnl,sl_pnl:i.sl_pnl,className:"oui-mt-6"})]})]}),jsxRuntime.jsx(orderlyUi.Flex,{itemAlign:"center",gap:3,mt:5,width:"100%",justify:"center",children:jsxRuntime.jsx(orderlyUi.ThrottledButton,{className:"oui-w-[184px]","data-testid":"tpsl-confirm",disabled:!e.isPriceChanged,loading:e.isMutating,onClick:()=>{e.onSubmit().then(()=>{e.onClose?.();}).catch(p=>{});},children:t("common.confirm")})})]})};var no=e=>{let t=to({order:e.order});return jsxRuntime.jsx(so,{...t,onClose:e.close})},sl="EditBracketOrderSheetId",nl="EditBracketOrderDialogId";orderlyUi.registerSimpleSheet(sl,no);orderlyUi.registerSimpleDialog(nl,no,{classNames:{content:"oui-w-[420px]"}});
|
|
15
15
|
|
|
16
16
|
exports.ArrowRightIcon = os;
|
|
17
17
|
exports.EditBracketOrderDialogId = nl;
|