@orderly.network/ui-order-entry 2.6.0 → 2.6.1-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +9 -9
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +3 -3
- package/dist/index.mjs.map +1 -1
- package/package.json +12 -12
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var Yr = require('react');
|
|
4
4
|
var hooks = require('@orderly.network/hooks');
|
|
5
5
|
var i18n = require('@orderly.network/i18n');
|
|
6
6
|
var reactApp = require('@orderly.network/react-app');
|
|
@@ -15,15 +15,15 @@ var uiConnector = require('@orderly.network/ui-connector');
|
|
|
15
15
|
|
|
16
16
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var Yr__default = /*#__PURE__*/_interopDefault(Yr);
|
|
19
19
|
|
|
20
|
-
var po=e=>e>=0&&e<50?"oui-text-success":e>=50&&e<80?"oui-text-warning":e>=80?"oui-text-danger":"",xt=e=>{let{t:r}=i18n.useTranslation(),{ltv_threshold:t,negative_usdc_threshold:i,isThresholdLoading:a,holdingData:s=[],currentLtv:l,onConvert:d}=e;return jsxRuntime.jsxs(ui.Flex,{gap:1,className:"oui-w-72 oui-max-w-72",direction:"column",children:[jsxRuntime.jsxs(ui.Flex,{width:"100%",justify:"between",itemAlign:"center",children:[jsxRuntime.jsx(ui.Text,{intensity:36,size:"xs",children:r("common.assets")}),jsxRuntime.jsx(ui.Text,{intensity:36,size:"xs",children:r("transfer.deposit.collateralContribution")})]}),s.map((f,p)=>jsxRuntime.jsxs(ui.Flex,{width:"100%",justify:"between",itemAlign:"center",children:[jsxRuntime.jsx(ui.Text,{intensity:80,size:"xs",children:f.token}),jsxRuntime.jsx(ui.Text,{size:"xs",intensity:80,className:ui.cn(Number(f.collateralContribution)<0&&"oui-text-warning"),children:utils.removeTrailingZeros(f.collateralContribution)})]},`item-${p}`)),jsxRuntime.jsx(ui.Divider,{className:"oui-w-full"}),jsxRuntime.jsxs(ui.Flex,{width:"100%",justify:"between",itemAlign:"center",children:[jsxRuntime.jsx(ui.Text,{intensity:36,size:"xs",children:r("transfer.LTV.currentLTV")}),jsxRuntime.jsxs(ui.Text,{size:"xs",intensity:36,className:ui.cn("oui-select-none",po(l)),children:[l,"%"]})]}),jsxRuntime.jsx(ui.Text,{className:"oui-py-2",intensity:54,size:"2xs",children:r("transfer.LTV.tooltip",{threshold:a?"-":t,usdcThreshold:a?"-":i})}),jsxRuntime.jsx(ui.Button,{fullWidth:true,size:"md",variant:"outlined",color:"secondary",onClick:d,children:r("transfer.convert.convertAssets")})]})};var vo=()=>{let{data:e,error:r,isLoading:t}=hooks.useQuery("/v1/public/auto_convert_threshold",{errorRetryCount:3});return {ltv_threshold:new utils.Decimal(e?.ltv_threshold??0).mul(100).toNumber(),negative_usdc_threshold:e?.negative_usdc_threshold,isLoading:t,error:r}},Tt=()=>{let{data:e=[],isLoading:r}=hooks.useHoldingStream(),{ltv_threshold:t,negative_usdc_threshold:i,isLoading:a}=vo(),s=hooks.useTokensInfo(),{data:l}=hooks.useIndexPricesStream(),d=e.map(m=>{let g=s?.find(({token:v})=>v===m.token),n=m.token==="USDC"?1:l?.[`PERP_${m.token}_USDC`]??0,_=g?perp.account.collateralRatio({baseWeight:g.base_weight??0,discountFactor:g.discount_factor??0,collateralQty:m.holding,collateralCap:g?.user_max_qty??m.holding,indexPrice:n}):utils.zero,S=perp.account.collateralContribution({collateralQty:m.holding,collateralCap:g?.user_max_qty??m.holding,collateralRatio:_.toNumber(),indexPrice:n});return {...m,collateralContribution:S}}),f=hooks.useComputedLTV(),p=Qr.useCallback(async()=>ui.modal.show("ConvertDialogId"),[]);return {holdingData:d,isHoldingLoading:r,ltv_threshold:t,negative_usdc_threshold:i,isThresholdLoading:a,currentLtv:f,onConvert:p}};var $e=()=>{let e=Tt();return jsxRuntime.jsx(xt,{...e})};var er=e=>{let{pinned:r,orderTypeExtra:t}=e,{t:i}=i18n.useTranslation(),a=s=>l=>{e.onValueChange&&e.onValueChange("order_type_ext",l?s:"");};return Qr.useEffect(()=>{e.onValueChange?.("visible_quantity",e.hidden?0:1);},[e.hidden]),jsxRuntime.jsxs("div",{className:"oui-text-base-contrast-54",children:[jsxRuntime.jsxs(ui.Flex,{justify:r?"start":"between",mb:3,width:r?"unset":"100%",className:"oui-gap-x-2 md:oui-gap-x-3",wrap:"wrap",gapY:1,children:[jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",children:[jsxRuntime.jsx(ui.Checkbox,{"data-testid":"oui-testid-orderEntry-postOnly-checkBox",id:"toggle_order_post_only",className:"oui-peer",color:"white",variant:"radio",disabled:!e.showExtra,checked:t===types.OrderType.POST_ONLY,onCheckedChange:a(types.OrderType.POST_ONLY)}),jsxRuntime.jsx("label",{htmlFor:"toggle_order_post_only",className:ui.cn("oui-text-2xs oui-ml-1 peer-data-[disabled]:oui-text-base-contrast-20","oui-break-normal oui-whitespace-nowrap"),children:i("orderEntry.orderType.postOnly")})]}),jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",children:[jsxRuntime.jsx(ui.Checkbox,{"data-testid":"oui-testid-orderEntry-ioc-checkBox",id:"toggle_order_iov",color:"white",className:"oui-peer",variant:"radio",checked:t===types.OrderType.IOC,onCheckedChange:a(types.OrderType.IOC),disabled:!e.showExtra}),jsxRuntime.jsx("label",{htmlFor:"toggle_order_iov",className:ui.cn("oui-text-2xs oui-ml-1 peer-data-[disabled]:oui-text-base-contrast-20","oui-break-normal oui-whitespace-nowrap"),children:i("orderEntry.orderType.ioc")})]}),jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",children:[jsxRuntime.jsx(ui.Checkbox,{"data-testid":"oui-testid-orderEntry-fox-checkBox",id:"toggle_order_fok",color:"white",variant:"radio",className:"oui-peer",checked:t===types.OrderType.FOK,onCheckedChange:a(types.OrderType.FOK),disabled:!e.showExtra}),jsxRuntime.jsx("label",{htmlFor:"toggle_order_fok",className:ui.cn("oui-text-2xs oui-ml-1 peer-data-[disabled]:oui-text-base-contrast-20","oui-break-normal oui-whitespace-nowrap"),children:i("orderEntry.orderType.fok")})]})]}),jsxRuntime.jsxs(ui.Flex,{gapX:6,children:[jsxRuntime.jsxs(ui.Flex,{children:[jsxRuntime.jsx(ui.Checkbox,{"data-testid":"oui-testid-orderEntry-orderConfirm-checkBox",id:"toggle_order_confirm",color:"white",checked:e.needConfirm,onCheckedChange:s=>{e.setNeedConfirm(!!s);}}),jsxRuntime.jsx("label",{htmlFor:"toggle_order_confirm",className:"oui-text-2xs oui-ml-1",children:i("orderEntry.orderConfirm")})]}),jsxRuntime.jsxs(ui.Flex,{children:[jsxRuntime.jsx(ui.Checkbox,{"data-testid":"oui-testid-orderEntry-hidden-checkBox",id:"toggle_order_hidden",color:"white",checked:e.hidden,onCheckedChange:s=>{e.setHidden(s);}}),jsxRuntime.jsx("label",{htmlFor:"toggle_order_hidden",className:"oui-text-2xs oui-ml-1",children:i("orderEntry.hidden")})]})]}),!r&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Divider,{className:"oui-my-3"}),jsxRuntime.jsxs(ui.Flex,{children:[jsxRuntime.jsx(ui.Switch,{"data-testid":"oui-testid-orderEntry-additional-keepVisible-switch",id:"toggle_order_keep_visible",onCheckedChange:s=>{e.setPinned(s);}}),jsxRuntime.jsx("label",{htmlFor:"toggle_order_keep_visible",className:"oui-text-2xs oui-ml-1",children:i("orderEntry.keepVisible")})]})]})]})};var tr=()=>({});var je=e=>{let r=tr();return jsxRuntime.jsx(er,{...r,...e})};function Ae(e){let{order_type:r,order_type_ext:t}=e,i=[types.OrderType.ASK,types.OrderType.BID].includes(t);return r?r===types.OrderType.LIMIT&&i:i}function rr(e,r){if([types.BBOOrderType.COUNTERPARTY1,types.BBOOrderType.COUNTERPARTY5].includes(e))return r===types.OrderSide.BUY?types.OrderType.ASK:types.OrderType.BID;if([types.BBOOrderType.QUEUE1,types.BBOOrderType.QUEUE5].includes(e))return r===types.OrderSide.BUY?types.OrderType.BID:types.OrderType.ASK}function or(e){if([types.BBOOrderType.COUNTERPARTY1,types.BBOOrderType.QUEUE1].includes(e))return types.OrderLevel.ONE;if([types.BBOOrderType.COUNTERPARTY5,types.BBOOrderType.QUEUE5].includes(e))return types.OrderLevel.FIVE}function ir(e){let{type:r,side:t,level:i}=e;if(r===types.OrderType.ASK){if(i===types.OrderLevel.ONE)return t===types.OrderSide.BUY?types.BBOOrderType.COUNTERPARTY1:types.BBOOrderType.QUEUE1;if(i===types.OrderLevel.FIVE)return t===types.OrderSide.BUY?types.BBOOrderType.COUNTERPARTY5:types.BBOOrderType.QUEUE5}if(r===types.OrderType.BID){if(i===types.OrderLevel.ONE)return t===types.OrderSide.BUY?types.BBOOrderType.QUEUE1:types.BBOOrderType.COUNTERPARTY1;if(i===types.OrderLevel.FIVE)return t===types.OrderSide.BUY?types.BBOOrderType.QUEUE5:types.BBOOrderType.COUNTERPARTY5}}function nr(e){let r=e?.data?.rows||[];if(r.length>0){let t=r.length,i=r.filter(a=>a.success).length;return i===t?i18n.i18n.t("orderEntry.scaledOrder.fullySuccessful",{total:t}):i===0?i18n.i18n.t("orderEntry.scaledOrder.allFailed"):i18n.i18n.t("orderEntry.scaledOrder.partiallySuccessful",{successCount:i,total:t})}}var Et=e=>{let{symbolInfo:r,order:t,onConfirm:i,onCancel:a}=e,{quote_dp:s,base_dp:l}=r,{side:d,order_type:f,order_type_ext:p,level:m,symbol:g}=t,{t:n}=i18n.useTranslation(),[{rows:_},S]=hooks.usePositionStream(g),E=_?.[0]?.position_qty,[R,P]=hooks.useLocalStorage("orderly_order_confirm",true),w=()=>t.position_type===types.PositionType.FULL?jsxRuntime.jsx(ui.Text,{children:n("tpsl.positionType.full")}):jsxRuntime.jsx(ui.Text,{children:n("tpsl.positionType.partial")}),X=()=>{if(f===types.OrderType.MARKET||f===types.OrderType.STOP_MARKET)return jsxRuntime.jsx(ui.Text,{intensity:80,children:n("common.marketPrice")});if(Ae({order_type:f,order_type_ext:p})){let U=ir({type:p,side:d,level:m}),L={[types.BBOOrderType.COUNTERPARTY1]:n("orderEntry.bbo.counterparty1"),[types.BBOOrderType.COUNTERPARTY5]:n("orderEntry.bbo.counterparty5"),[types.BBOOrderType.QUEUE1]:n("orderEntry.bbo.queue1"),[types.BBOOrderType.QUEUE5]:n("orderEntry.bbo.queue5")}[U];return jsxRuntime.jsx(ui.Text,{intensity:80,children:L})}return jsxRuntime.jsx(ui.Text.numeral,{unit:"USDC",rule:"price",className:"oui-text-base-contrast",unitClassName:"oui-text-base-contrast-36 oui-ml-1",dp:s,padding:false,children:t.order_price})},M=({price:U,isOrderPrice:L,isEnable:z,colorType:y})=>z?!U&&L?jsxRuntime.jsx(ui.Text,{className:"oui-text-base-contrast-36",children:n("common.marketPrice")}):jsxRuntime.jsx(ui.Text.numeral,{unit:"USDC",rule:"price",className:ui.cn("oui-text-base-contrast",y==="TP"?"oui-text-trade-profit":"oui-text-trade-loss"),unitClassName:"oui-text-base-contrast-36 oui-ml-1",dp:s,padding:false,children:U}):jsxRuntime.jsx(ui.Text,{className:"oui-text-base-contrast-36",children:"-- USDC"}),ae=Qr.useMemo(()=>{let U=new utils.Decimal(t.order_quantity);return t.position_type===types.PositionType.FULL&&(U=U.plus(new utils.Decimal(E))),jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{children:t.position_type===types.PositionType.FULL?n("common.positionQty"):n("common.orderQty")}),jsxRuntime.jsx(ui.Text.numeral,{rule:"price",dp:l,padding:false,className:"oui-text-base-contrast",children:U.toNumber()})]})},[t,E,n]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text.formatted,{rule:"symbol",showIcon:true,children:t.symbol}),jsxRuntime.jsxs(ui.Flex,{justify:"end",gapX:1,children:[jsxRuntime.jsx(Do,{type:f}),d===types.OrderSide.BUY?jsxRuntime.jsx(ui.Badge,{color:"buy",size:"sm",children:n("common.buy")}):jsxRuntime.jsx(ui.Badge,{color:"sell",size:"sm",children:n("common.sell")})]})]}),jsxRuntime.jsx(ui.Divider,{className:"oui-my-4"}),jsxRuntime.jsxs("div",{className:ui.textVariants({size:"sm",intensity:54,className:"oui-space-y-1"}),children:[jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{children:n("common.orderQty")}),jsxRuntime.jsx(ui.Text.numeral,{rule:"price",dp:l,padding:false,className:"oui-text-base-contrast",children:t.order_quantity})]}),t.trigger_price?jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{children:n("common.trigger")}),jsxRuntime.jsx(ui.Text.numeral,{unit:"USDC",rule:"price",className:"oui-text-base-contrast",unitClassName:"oui-text-base-contrast-36 oui-ml-1",dp:s,padding:false,children:t.trigger_price})]}):null,jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{children:n("common.price")}),X()]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{children:n("common.estTotal")}),jsxRuntime.jsx(ui.Text.numeral,{unit:"USDC",rule:"price",dp:s,padding:false,className:"oui-text-base-contrast",unitClassName:"oui-text-base-contrast-36 oui-ml-1",children:t.total})]})]}),t.tp_trigger_price||t.sl_trigger_price?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Divider,{className:"oui-my-4"}),jsxRuntime.jsxs("div",{className:ui.textVariants({size:"sm",intensity:54,className:"oui-space-y-1 oui-w-full oui-flex oui-flex-col oui-gap-3"}),children:[jsxRuntime.jsx(ui.Text,{className:"oui-text-base-contrast",children:w()}),ae,jsxRuntime.jsxs(ui.Flex,{direction:"column",justify:"between",itemAlign:"start",gap:1,className:"oui-w-full",children:[jsxRuntime.jsxs(ui.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(ui.Text,{children:n("tpsl.tpTriggerPrice")}),M({price:t.tp_trigger_price??"",isOrderPrice:false,isEnable:!!t.tp_trigger_price,colorType:"TP"})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(ui.Text,{children:n("tpsl.tpOrderPrice")}),M({price:t.tp_order_price??"",isOrderPrice:true,isEnable:!!t.tp_trigger_price,colorType:"TP"})]})]}),jsxRuntime.jsxs(ui.Flex,{direction:"column",justify:"between",itemAlign:"start",gap:1,className:"oui-w-full",children:[jsxRuntime.jsxs(ui.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(ui.Text,{children:n("tpsl.slTriggerPrice")}),M({price:t.sl_trigger_price??"",isOrderPrice:false,isEnable:!!t.sl_trigger_price,colorType:"SL"})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(ui.Text,{children:n("tpsl.slOrderPrice")}),M({price:t.sl_order_price??"",isOrderPrice:true,isEnable:!!t.sl_trigger_price,colorType:"SL"})]})]})]})]}):null,jsxRuntime.jsxs(ui.Flex,{gapX:1,pt:4,pb:5,children:[jsxRuntime.jsx(ui.Checkbox,{id:"orderConfirm",color:"white",onCheckedChange:U=>{P(!U);}}),jsxRuntime.jsx("label",{htmlFor:"orderConfirm",className:ui.textVariants({size:"xs",intensity:54}),children:n("orderEntry.disableOrderConfirm")})]}),jsxRuntime.jsxs(ui.Grid,{cols:2,gapX:3,children:[jsxRuntime.jsx(ui.Button,{color:"secondary",size:"md",onClick:()=>a(),children:n("common.cancel")}),jsxRuntime.jsx(ui.Button,{size:"md",onClick:()=>i(),children:n("common.confirm")})]})]})};Et.displayName="OrderConfirmDialog";var Do=e=>{let{t:r}=i18n.useTranslation(),t=Qr.useMemo(()=>{switch(e.type){case types.OrderType.LIMIT:return r("orderEntry.orderType.limit");case types.OrderType.MARKET:return r("common.marketPrice");case types.OrderType.STOP_LIMIT:return r("orderEntry.orderType.stopLimit");case types.OrderType.STOP_MARKET:return r("orderEntry.orderType.stopMarket");default:return ""}},[e.type]);return jsxRuntime.jsx(ui.Badge,{color:"neutral",size:"sm",children:t})},qo=e=>{let{close:r,resolve:t,reject:i,...a}=e;return jsxRuntime.jsx(Et,{...a,onCancel:()=>{i(),r();},onConfirm:()=>{t(),r();}})},St="orderConfirm";ui.registerSimpleDialog(St,qo,{size:"sm",title:()=>i18n.i18n.t("orderEntry.orderConfirm")});var Lt=e=>{let{order:r,symbolInfo:t,dataSource:i,national:a,askAndBid:s,totalQuantity:l}=e,{base:d,quote:f,base_dp:p,quote_dp:m}=t,{t:g}=i18n.useTranslation(),n=()=>{e.reject(),e.close?.();},_=()=>{e.resolve(),e.close?.();},S=Qr.useMemo(()=>[{title:g("common.symbol"),dataIndex:"symbol",width:125,render:(v,E)=>jsxRuntime.jsxs(ui.Flex,{gap:2,children:[jsxRuntime.jsx("div",{className:ui.cn("oui-h-[38px] oui-w-1 oui-shrink-0 oui-rounded-[1px]",E.side===types.OrderSide.BUY?"oui-bg-trade-profit":"oui-bg-trade-loss")}),jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",children:[jsxRuntime.jsxs(ui.Flex,{gapX:1,children:[jsxRuntime.jsx(ui.TokenIcon,{symbol:v,className:"oui-size-3"}),jsxRuntime.jsx(ui.Text.formatted,{rule:"symbol",size:"xs",formatString:"base-type",children:v})]}),jsxRuntime.jsx(ui.Badge,{color:"neutral",size:"xs",children:g("orderEntry.orderType.limit")})]})]})},{title:g("common.quantity"),dataIndex:"order_quantity",width:100,render:(v,E)=>jsxRuntime.jsx(ui.Text.numeral,{rule:"price",dp:p,padding:false,color:E.side===types.OrderSide.BUY?"buy":"sell",children:v})},{title:g("common.orderPrice"),dataIndex:"order_price",width:100,render:(v,E)=>{let R=!!(E.side===types.OrderSide.BUY?s?.[0]&&Number(v)>=s?.[0]:s?.[1]&&Number(v)<=s?.[1]);return jsxRuntime.jsxs(ui.Flex,{gapX:1,children:[jsxRuntime.jsx(ui.Text.numeral,{rule:"price",dp:m,children:v}),R&&jsxRuntime.jsx(ui.Tooltip,{content:g("orderEntry.confirmScaledOrder.orderPrice.warning"),className:"oui-w-[240px] oui-text-2xs oui-font-semibold oui-text-base-contrast-80",children:jsxRuntime.jsx($o,{className:"oui-text-warning-darken"})})]})}}],[g,t,s,p,m]);return jsxRuntime.jsxs("div",{className:"oui-font-semibold",children:[jsxRuntime.jsx(ui.DataTable,{classNames:{root:ui.cn("oui-bg-base-7","oui-rounded-lg","oui-overflow-hidden",r.orders?.length>=6&&"oui-h-[320px]"),scroll:"!oui-min-h-[130px]"},dataSource:i,columns:S,bordered:true,onRow:()=>({className:ui.cn("oui-h-[50px]")})}),jsxRuntime.jsxs("div",{className:"oui-mb-5 oui-mt-4 oui-text-2xs",children:[jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{children:g("orderEntry.totalOrders")}),jsxRuntime.jsx(ui.Text,{intensity:80,children:r.orders?.length})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",mt:2,children:[jsxRuntime.jsx(ui.Text,{children:g("orderEntry.totalQuantity")}),jsxRuntime.jsx(ui.Text.numeral,{rule:"price",unit:d,dp:p,padding:false,intensity:80,unitClassName:"oui-text-base-contrast-36 oui-ml-1",children:l})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",mt:2,children:[jsxRuntime.jsx(ui.Text,{children:g("common.notional")}),jsxRuntime.jsx(ui.Text.numeral,{rule:"price",unit:f,dp:m,padding:false,intensity:80,unitClassName:"oui-text-base-contrast-36 oui-ml-1",children:a})]})]}),jsxRuntime.jsxs(ui.Grid,{cols:2,gapX:3,children:[jsxRuntime.jsx(ui.Button,{color:"secondary",size:"md",onClick:n,children:g("common.cancel")}),jsxRuntime.jsx(ui.Button,{size:"md",onClick:_,children:g("common.confirm")})]})]})},$o=Qr.forwardRef((e,r)=>jsxRuntime.jsx("svg",{width:"12",height:"13",viewBox:"0 0 12 13",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",ref:r,...e,children:jsxRuntime.jsx("path",{d:"M5.99951 1.50708C3.23811 1.50708 0.999512 3.74558 0.999512 6.50708C0.999512 9.26858 3.23811 11.5071 5.99951 11.5071C8.76091 11.5071 10.9995 9.26858 10.9995 6.50708C10.9995 3.74558 8.76091 1.50708 5.99951 1.50708ZM5.99951 4.00708C6.27566 4.00708 6.49951 4.23108 6.49951 4.50708C6.49951 4.78308 6.27566 5.00708 5.99951 5.00708C5.72336 5.00708 5.49951 4.78308 5.49951 4.50708C5.49951 4.23108 5.72336 4.00708 5.99951 4.00708ZM5.99951 5.50708C6.27566 5.50708 6.49951 5.73108 6.49951 6.00708V8.50708C6.49951 8.78308 6.27566 9.00708 5.99951 9.00708C5.72336 9.00708 5.49951 8.78308 5.49951 8.50708V6.00708C5.49951 5.73108 5.72336 5.50708 5.99951 5.50708Z"})}));function It(e){let{order:r,symbolInfo:t}=e,i=r.orders,[a,s]=Qr.useState(),l=hooks.useEventEmitter(),d=Qr.useMemo(()=>i.reduce((m,g)=>m.add(new utils.Decimal(g.order_price).mul(g.order_quantity)),utils.zero).toNumber(),[i]),f=Qr.useMemo(()=>i.reduce((m,g)=>m.add(new utils.Decimal(g.order_quantity)),utils.zero).toString(),[i,t.base_dp]);return Qr.useEffect(()=>{let p=m=>{let g=m.asks?.[m.asks.length-1]?.[0],n=m.bids?.[0]?.[0];s([g,n]);};return l.on("orderbook:update",p),()=>{l.off("orderbook:update",p);}},[]),{dataSource:i,national:d,askAndBid:a,totalQuantity:f}}var yr=e=>{let r=It(e);return jsxRuntime.jsx(Lt,{...e,...r})},Ze="scaledOrderConfirm";ui.registerSimpleDialog(Ze,yr,{size:"md",title:()=>i18n.i18n.t("orderEntry.confirmScaledOrder"),contentProps:{}});var wt=e=>{let{t:r}=i18n.useTranslation(),{takerFeeRate:t,makerFeeRate:i}=e;return jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",children:r("common.fees")}),jsxRuntime.jsx(uiConnector.AuthGuard,{fallback:()=>jsxRuntime.jsxs(ui.Text,{size:"2xs",children:[r("portfolio.feeTier.column.taker"),": --% /"," ",r("portfolio.feeTier.column.maker"),": --%"]}),children:jsxRuntime.jsxs(ui.Flex,{gap:1,children:[jsxRuntime.jsxs(ui.Text,{size:"2xs",children:[r("portfolio.feeTier.column.taker"),":"]}),jsxRuntime.jsx(ui.Text,{size:"2xs",className:"oui-text-base-contrast-80",children:t}),jsxRuntime.jsx(ui.Text,{size:"2xs",children:"/"}),jsxRuntime.jsxs(ui.Text,{size:"2xs",children:[r("portfolio.feeTier.column.maker"),":"]}),jsxRuntime.jsx(ui.Text,{size:"2xs",className:"oui-text-base-contrast-80",children:i})]})})]})};var Ft=()=>{let{data:e}=hooks.useAccountInfo(),r=Qr.useMemo(()=>{let i=e?.futures_taker_fee_rate;if(!(typeof i>"u"))return `${new utils.Decimal(i).mul(.01).toString()}%`},[e]),t=Qr.useMemo(()=>{let i=e?.futures_maker_fee_rate;if(!(typeof i>"u"))return `${new utils.Decimal(i).mul(.01).toString()}%`},[e]);return {takerFeeRate:r,makerFeeRate:t}};var kt=()=>{let e=Ft();return jsxRuntime.jsx(wt,{...e})};var Ve=Qr.createContext({}),_r=Ve.Provider;var hr=e=>{let{t:r}=i18n.useTranslation(),{className:t,...i}=e,a=()=>{ui.modal.dialog({title:r("common.tips"),size:"sm",content:jsxRuntime.jsx(mi,{value:e.value})});};return jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",justify:"center",p:2,r:"base",width:"100%",intensity:600,className:ui.cn("oui-t-rounded oui-text-base-contrast-36","oui-border oui-border-solid oui-border-line",t),children:[jsxRuntime.jsx(ui.Text,{size:"2xs",className:"oui-cursor-pointer oui-border-b oui-border-dashed oui-border-line-12",onClick:a,children:r("orderEntry.quantityDistribution")}),jsxRuntime.jsx(pi,{...i})]})},mi=e=>{let{t:r}=i18n.useTranslation(),[t,i]=Qr.useState(types.DistributionType.FLAT);Qr.useEffect(()=>{i([types.DistributionType.FLAT,types.DistributionType.ASCENDING,types.DistributionType.DESCENDING].includes(e.value)?e.value:types.DistributionType.FLAT);},[e.value]);let a=Qr.useMemo(()=>[{type:types.DistributionType.FLAT,title:r("orderEntry.distributionType.flat"),description:r("orderEntry.distributionType.flat.description"),formula:`${r("orderEntry.skew")} = 1`,quantity:jsxRuntime.jsx(fi,{})},{type:types.DistributionType.ASCENDING,title:r("orderEntry.distributionType.ascending"),description:r("orderEntry.distributionType.ascending.description"),formula:`${r("orderEntry.skew")} > 1`,quantity:jsxRuntime.jsx(gi,{})},{type:types.DistributionType.DESCENDING,title:r("orderEntry.distributionType.descending"),description:r("orderEntry.distributionType.descending.description"),formula:`0 < ${r("orderEntry.skew")} < 1`,quantity:jsxRuntime.jsx(yi,{})}],[]),s=Qr.useMemo(()=>a.find(l=>l.type===t),[a,t]);return jsxRuntime.jsxs("div",{className:"oui-text-2xs oui-font-semibold oui-text-base-contrast-54",children:[jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",gapY:1,children:[jsxRuntime.jsx(ui.Text,{intensity:80,children:r("orderEntry.quantityDistribution.description")}),jsxRuntime.jsx(ui.Text,{children:r("orderEntry.quantityDistribution.formula")})]}),jsxRuntime.jsxs(ui.Flex,{intensity:600,p:1,r:"base",mt:3,itemAlign:"start",children:[jsxRuntime.jsx(ui.Flex,{direction:"column",itemAlign:"start",children:a.map(l=>jsxRuntime.jsx(ui.Box,{intensity:t===l.type?500:600,width:78,p:2,className:"oui-cursor-pointer oui-rounded-l",onClick:()=>{i(l.type);},children:jsxRuntime.jsx(ui.Text,{children:l.title})},l.title))}),jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",gapY:1,p:2,intensity:500,width:"100%",className:ui.cn("oui-rounded-r",t===types.DistributionType.FLAT&&"oui-rounded-bl",t===types.DistributionType.ASCENDING&&"oui-rounded-l",t===types.DistributionType.DESCENDING&&"oui-rounded-tl"),children:[jsxRuntime.jsx("div",{children:s?.formula}),jsxRuntime.jsx(ui.Text,{children:s?.description}),jsxRuntime.jsx(ui.Flex,{width:"100%",justify:"center",children:s?.quantity}),jsxRuntime.jsxs(ui.Flex,{width:"100%",gapX:1,justify:"center",children:[jsxRuntime.jsx(ui.Text,{className:"oui-text-base-1",children:r("common.price")}),jsxRuntime.jsx(bi,{})]})]})]})]})},pi=e=>{let{value:r,onValueChange:t}=e,{t:i}=i18n.useTranslation(),a=l=>d=>{t(l);},s=Qr.useMemo(()=>({[types.DistributionType.FLAT]:i("orderEntry.distributionType.flat"),[types.DistributionType.ASCENDING]:i("orderEntry.distributionType.ascending.abbr"),[types.DistributionType.DESCENDING]:i("orderEntry.distributionType.descending.abbr"),[types.DistributionType.CUSTOM]:i("orderEntry.distributionType.custom")}),[i]);return jsxRuntime.jsx(ui.Flex,{className:ui.cn("oui-gap-x-[6px] lg:oui-gap-x-2"),wrap:"wrap",children:Object.values(types.DistributionType).map(l=>jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",children:[jsxRuntime.jsx(ui.Checkbox,{id:`distribution-type-${l}`,color:"white",variant:"radio",checked:r===l,onCheckedChange:a(l)}),jsxRuntime.jsx("label",{htmlFor:`distribution-type-${l}`,className:ui.cn("oui-text-2xs","oui-ml-1","oui-whitespace-nowrap oui-break-normal"),children:s[l]})]},l))})},fi=()=>jsxRuntime.jsxs("svg",{width:"218",height:"40",viewBox:"0 0 218 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsxRuntime.jsx("rect",{x:"18",y:"18",width:"181",height:"4",fill:"rgb(var(--oui-color-base-2))"}),jsxRuntime.jsx("circle",{cx:"15",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsxRuntime.jsx("circle",{cx:"62",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsxRuntime.jsx("circle",{cx:"109",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsxRuntime.jsx("circle",{cx:"156",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsxRuntime.jsx("circle",{cx:"203",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"})]}),gi=()=>jsxRuntime.jsxs("svg",{width:"218",height:"40",viewBox:"0 0 218 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsxRuntime.jsx("rect",{x:"18",y:"18",width:"181",height:"4",fill:"rgb(var(--oui-color-base-2))"}),jsxRuntime.jsx("circle",{cx:"15",cy:"20",r:"4.28571",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"1.42857"}),jsxRuntime.jsx("circle",{cx:"62",cy:"20",r:"5.14286",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"1.71429"}),jsxRuntime.jsx("circle",{cx:"109",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsxRuntime.jsx("circle",{cx:"156",cy:"20",r:"6.85714",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2.28571"}),jsxRuntime.jsx("circle",{cx:"203",cy:"20",r:"7.71429",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2.57143"})]}),yi=()=>jsxRuntime.jsxs("svg",{width:"218",height:"40",viewBox:"0 0 218 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsxRuntime.jsx("rect",{width:"181",height:"4",transform:"matrix(-1 0 0 1 200 18)",fill:"rgb(var(--oui-color-base-2))"}),jsxRuntime.jsx("circle",{cx:"5",cy:"5",r:"4.28571",transform:"matrix(-1 0 0 1 208 15)",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"1.42857"}),jsxRuntime.jsx("circle",{cx:"6",cy:"6",r:"5.14286",transform:"matrix(-1 0 0 1 162 14)",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"1.71429"}),jsxRuntime.jsx("circle",{cx:"7",cy:"7",r:"6",transform:"matrix(-1 0 0 1 116 13)",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsxRuntime.jsx("circle",{cx:"8",cy:"8",r:"6.85714",transform:"matrix(-1 0 0 1 70 12)",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2.28571"}),jsxRuntime.jsx("circle",{cx:"9",cy:"9",r:"7.71429",transform:"matrix(-1 0 0 1 24 11)",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2.57143"})]}),bi=()=>jsxRuntime.jsx("svg",{width:"176",height:"8",viewBox:"0 0 176 8",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{d:"M175.354 4.35355C175.549 4.15829 175.549 3.84171 175.354 3.64645L172.172 0.464466C171.976 0.269204 171.66 0.269204 171.464 0.464466C171.269 0.659728 171.269 0.976311 171.464 1.17157L174.293 4L171.464 6.82843C171.269 7.02369 171.269 7.34027 171.464 7.53553C171.66 7.7308 171.976 7.7308 172.172 7.53553L175.354 4.35355ZM0 4V4.5H175V4V3.5H0V4Z",fill:"rgb(var(--oui-color-base-1))"})});var Ci=e=>jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:e}),Cr=e=>{let{base:r,quote:t}=e,i=Qr.useMemo(()=>[{name:t},{name:r}],[r,t]);return jsxRuntime.jsx(ui.Select.tokens,{variant:"text",size:"xs",iconSize:"2xs",tokens:i,classNames:{trigger:ui.cn("oui-absolute oui-right-0 oui-top-1","oui-w-full oui-justify-end")},value:e.value,onValueChange:e.onValueChange,valueFormatter:Ci,contentProps:{align:"end",alignOffset:-1,sideOffset:-4,className:"oui-border oui-border-line-6"}})};var Pr=[.01,.05,.1],Lr=Qr.forwardRef((e,r)=>{let{t}=i18n.useTranslation(),[i,a]=Qr.useState(),[s,l]=Qr.useState(""),[d,f]=Qr.useState(void 0);Qr.useImperativeHandle(r,()=>({getValue:()=>s?new utils.Decimal(s)?.toNumber():i})),Qr.useEffect(()=>{e.initialValue&&!Pr.includes(e.initialValue)?l(e.initialValue.toString()):a(e.initialValue);},[e.initialValue,open]);let p=n=>{a(n),l(""),f(void 0);},m=n=>{if(!n){l(n);return}let _=new utils.Decimal(n);a(void 0),_.gt(3)?(l("3"),f(t("orderEntry.slippage.error.exceed"))):(l(n),f(void 0));},g=e.isMobile?jsxRuntime.jsx("button",{onClick:()=>{ui.modal.alert({title:t("common.tips"),message:jsxRuntime.jsx(ui.Text,{size:"2xs",children:t("orderEntry.slippage.tips")})});},children:jsxRuntime.jsx(ui.ExclamationFillIcon,{className:"oui-text-base-contrast-54",size:16})}):jsxRuntime.jsx(ui.Tooltip,{content:jsxRuntime.jsx(ui.Text,{intensity:80,size:"2xs",children:t("orderEntry.slippage.tips")}),className:"oui-w-[260px] oui-bg-base-6",arrow:{className:"oui-fill-base-6"},children:jsxRuntime.jsx(ui.TooltipTrigger,{children:jsxRuntime.jsx(ui.ExclamationFillIcon,{className:"oui-text-base-contrast-54",size:16})})});return jsxRuntime.jsxs("div",{className:"oui-text-2xs",children:[jsxRuntime.jsxs(ui.Flex,{mb:2,gapX:1,children:[jsxRuntime.jsx(ui.Text,{size:"xs",children:t("orderEntry.slippage")}),g]}),jsxRuntime.jsxs(ui.Flex,{gapX:2,children:[Pr.map(n=>jsxRuntime.jsx(Fi,{value:n,isActive:i===n,onClick:()=>{p(n);}},n)),jsxRuntime.jsx(ui.Input,{suffix:"%",formatters:[ui.inputFormatter.numberFormatter,ui.inputFormatter.dpFormatter(2)],value:s,onValueChange:m,classNames:{root:ui.cn("oui-rounded-md oui-bg-base-6","oui-h-[40px] oui-w-[74px]"),input:"oui-text-base-contrast",additional:"oui-pl-1"}})]}),!!d&&jsxRuntime.jsx(ui.Box,{mt:5,className:"-oui-mb-5",children:jsxRuntime.jsx(ui.Text,{size:"2xs",color:"danger",children:d})})]})}),Fi=({value:e,isActive:r,onClick:t})=>jsxRuntime.jsx(ui.Flex,{intensity:600,justify:"center",itemAlign:"center",r:"md",width:74,height:40,className:ui.cn("oui-cursor-pointer oui-select-none",r&&"oui-bg-primary-light"),onClick:t,children:jsxRuntime.jsxs(ui.Text,{size:"sm",intensity:80,children:[e,"%"]})});var Ir=e=>{let{t:r}=i18n.useTranslation(),[t,{setTrue:i,setFalse:a,toggle:s}]=hooks.useBoolean(false),{isMobile:l}=ui.useScreen(),d=Qr.useRef(null),f=()=>{let p=d.current?.getValue();return e.setSlippage(p?p.toString():"1"),a(),Promise.resolve(true)};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.SimpleDialog,{open:t,onOpenChange:s,title:r("common.settings"),contentProps:{size:l?"xs":"sm"},actions:{primary:{disabled:false,label:r("common.save"),onClick:f},secondary:{label:r("common.cancel"),onClick:()=>a()}},children:jsxRuntime.jsx(Lr,{ref:d,isMobile:l,initialValue:e.slippage?Number(e.slippage):void 0})}),jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",children:r("orderEntry.slippage")}),jsxRuntime.jsx(uiConnector.AuthGuard,{fallback:()=>jsxRuntime.jsxs(ui.Text,{size:"2xs",children:[r("orderEntry.slippage.est"),": -% / ",r("common.max"),": --%"]}),children:jsxRuntime.jsxs(ui.Flex,{gap:1,children:[jsxRuntime.jsx(ui.Text.numeral,{size:"2xs",rule:"percentages",prefix:`${r("orderEntry.slippage.est")}: `,suffix:` / ${r("common.max")}: `,children:e.estSlippage??0}),jsxRuntime.jsx("button",{className:"oui-text-2xs",onClick:()=>i(),children:jsxRuntime.jsxs(ui.Flex,{className:"oui-gap-0.5",as:"span",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",className:"oui-text-primary",children:`${e.slippage||"-"}%`}),jsxRuntime.jsx(ui.EditIcon,{className:"oui-text-primary oui-hidden md:oui-block",size:12,opacity:1})]})})]})})]})]})};var wr=e=>jsxRuntime.jsx(Ir,{...e});var Dt=Qr.createContext({}),rt=()=>Qr.useContext(Dt);var kr=e=>{let{type:r,values:t,quote_dp:i}=e,{t:a}=i18n.useTranslation(),[s,l]=Qr.useState(true),{mode:d,setMode:f,tipsEle:p}=rt(),[m,g]=Qr.useState(false),[n,_]=Qr.useState(false),S=Qr.useMemo(()=>{switch(d){case "Offset":return `${r.toLowerCase()}_offset`;case "Offset%":return `${r.toLowerCase()}_offset_percentage`;default:return `${r.toLowerCase()}_pnl`}},[d]),[v,E]=Qr.useState(t[d]);Qr.useEffect(()=>{n||E(t[d]);},[t,d,n]);let R=Qr.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]),P=Qr.useMemo(()=>({PnL:a("tpsl.pnl"),Offset:a("tpsl.offset"),"Offset%":`${a("tpsl.offset")}%`}),[a]),w=Qr.useRef("");return {mode:d,modes:R,modeLabelMap:P,formatter:L=>{let{dp:z=2}=L;return {onRenderBefore:(y,$)=>(y=`${y}`,s&&r==="SL"&&d==="PnL"&&(y=y.startsWith("-")?y:"-"+y),y===""||y==="-"?"":d==="Offset%"?`${new utils.Decimal(y.replace(new RegExp(w.current.replace(".","\\.")+"$"),"")).mul(100).todp(2,4).toString()}${w.current}`:(d==="Offset"&&(y=utils.todpIfNeed(y,z)),`${y}`)),onSendBefore:y=>{if(/^\-?0{2,}$/.test(y))return "0";if(d==="Offset%"){if(y!==""){y=utils.todpIfNeed(y,2);let $=y.match(/\.0{0,2}$/);$?w.current=$[0]:w.current="",y=new utils.Decimal(y).div(100).toString(),y=`${y}${w.current}`;}}else d==="PnL"&&r==="SL"&&s?y=y.startsWith("-")?y:"-"+y:y=utils.todpIfNeed(y,z);return y===""||y==="-"?"":y}}},onModeChange:L=>{f(L);},onFocus:()=>{g(true),_(true);},onBlur:()=>{g(false),_(false),e.onChange(S,v);},value:v,onValueChange:L=>{E(L),e.onChange(S,L);},quote_dp:i,tips:m?p:void 0,setFocus:l}};var Br=e=>{let{mode:r,modes:t,modeLabelMap:i,onModeChange:a,onValueChange:s,quote:l,quote_dp:d,value:f,type:p,tips:m,onFocus:g,onBlur:n,setFocus:_}=e,[S,v]=Qr.useState(r),[E,R]=Qr.useState(r==="Offset%"?"%":l);Qr.useEffect(()=>{v(r),R(r==="Offset%"?"%":l);},[r]),Qr.useEffect(()=>{v(f?"":r);},[f]);let P=Qr.useMemo(()=>`${p.toLowerCase()}_${r.toLowerCase()}`,[]);return jsxRuntime.jsx(ui.Input.tooltip,{prefix:i[S]||S,size:"md",placeholder:E,id:P,align:"right",value:f,tooltip:m,tooltipProps:{content:{side:e.type==="TP"?"top":"bottom"}},"data-testid":e.testIds?.input,autoComplete:"off",onValueChange:s,formatters:[e.formatter({dp:d,mode:r,type:p}),ui.inputFormatter.currencyFormatter],classNames:{root:p==="TP"?"oui-text-trade-profit":"oui-text-trade-loss",additional:"oui-text-base-contrast-54",input:"oui-text-inherit"},onFocus:()=>{v(""),R(""),_(true),g();},onBlur:()=>{v(f?"":r),R(r==="Offset%"?"%":l),n();},suffix:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[r==="Offset%"&&!!f&&jsxRuntime.jsx(ui.Text,{size:"2xs",color:"inherit",className:"oui-ml-[2px]",children:"%"}),jsxRuntime.jsx(en,{mode:r,modes:t,onModeChange:w=>a(w.value),testId:e.testIds?.dropDown})]})})},en=e=>jsxRuntime.jsx(ui.SimpleDropdownMenu,{currentValue:e.mode,menu:e.modes,align:"end",size:"xs",className:"oui-min-w-[80px]",onCloseAutoFocus:r=>r.preventDefault(),onSelect:r=>e.onModeChange(r),children:jsxRuntime.jsx("button",{className:"oui-p-2","data-testid":e.testId,children:jsxRuntime.jsx(ui.CaretDownIcon,{size:12,color:"white"})})});var Mr=e=>{let{testIds:r,quote:t,...i}=e,a=kr(i);return jsxRuntime.jsx(Br,{...a,testIds:r,quote:t,type:e.type})};var zt=e=>{let{type:r,values:t,children:i}=e,[a,s]=hooks.useLocalStorage("TP/SL_Mode","Offset%"),{t:l}=i18n.useTranslation(),d=Qr.useMemo(()=>!t.PnL||!t.trigger_price?null:jsxRuntime.jsxs(ui.Flex,{children:[jsxRuntime.jsx("span",{className:"oui-text-xs oui-text-base-contrast-54",children:a==="PnL"?l("orderEntry.estRoi"):l("orderEntry.estPnL")}),a==="PnL"?jsxRuntime.jsx(ui.Text.numeral,{rule:"percentages",className:ui.cn("oui-ml-1 oui-text-xs",r==="TP"?"oui-text-trade-profit":"oui-text-trade-loss"),children:t.ROI}):jsxRuntime.jsx(ui.Text.numeral,{rule:"price",className:ui.cn("oui-ml-1 oui-text-xs",r==="TP"?"oui-text-trade-profit":"oui-text-trade-loss"),children:t.PnL})]}),[a,t.ROI,t.PnL,t.trigger_price]),f=Qr.useMemo(()=>({mode:a,setMode:s,tipsEle:d}),[a,s,d]);return jsxRuntime.jsx(Dt.Provider,{value:f,children:i})};var Yr=e=>{let r=Qr__default.default.useRef(null),{t}=i18n.useTranslation();return Qr.useEffect(()=>{e.orderType!==types.OrderType.LIMIT&&e.orderType!==types.OrderType.MARKET&&e.onSwitchChanged(false);},[e.orderType]),e.orderType!==types.OrderType.LIMIT&&e.orderType!==types.OrderType.MARKET||e.isReduceOnly?null:jsxRuntime.jsxs("div",{children:[jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",justify:"between",children:[jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",gapX:1,children:[jsxRuntime.jsx(ui.Switch,{id:"order_entry_tpsl",className:"oui-h-[14px]",checked:e.switchState,disabled:e.orderType!==types.OrderType.LIMIT&&e.orderType!==types.OrderType.MARKET||e.isReduceOnly,onCheckedChange:i=>{e.onSwitchChanged(i);}}),jsxRuntime.jsx("label",{htmlFor:"order_entry_tpsl",className:"oui-text-xs",children:t("common.tpsl")})]}),jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",gapX:1,onClick:e.showTPSLAdvanced,className:ui.cn("oui-group oui-invisible",e.switchState&&"oui-visible"),children:[jsxRuntime.jsx(ui.Text,{className:"oui-text-sm oui-cursor-pointer group-hover:oui-text-base-contrast",children:t("tpsl.advanced")}),jsxRuntime.jsx(ui.SettingFillIcon,{size:12,className:"oui-text-base-contrast-54 group-hover:oui-text-base-contrast oui-cursor-pointer",opacity:1,onClick:e.showTPSLAdvanced})]})]}),jsxRuntime.jsx("div",{className:ui.cn("oui-max-h-0 oui-overflow-hidden oui-transition-all",e.switchState&&"oui-max-h-[120px]"),onTransitionEnd:()=>{r.current?.style.setProperty("opacity",e.switchState?"1":"0");},children:jsxRuntime.jsx(Gr,{ref:r,setOrderValue:e.setOrderValue,onChange:e.onChange,values:e.values,errors:e.errors,quote_dp:e.quote_dp})})]})},Gr=Qr__default.default.forwardRef((e,r)=>{let{parseErrorMsg:t}=reactApp.useOrderEntryFormErrorMsg(e.errors);return jsxRuntime.jsxs("div",{ref:r,className:"oui-space-y-1 oui-px-px oui-py-2 oui-transition-all",children:[jsxRuntime.jsx(uiTpsl.TPSLPositionTypeWidget,{value:e.values.position_type,onChange:e.onChange}),jsxRuntime.jsx(zt,{values:e.values.tp,type:"TP",children:jsxRuntime.jsx(zr,{type:"TP",error:t("tp_trigger_price"),onChange:e.onChange,values:e.values.tp,quote_dp:e.quote_dp,testIds:{first:"oui-testid-orderEntry-tpsl-tpPrice-input",second:"oui-testid-orderEntry-tpsl-tpPnl-input",dropDown:"oui-testid-orderEntry-tpsl-tp-dropDown-trigger-button"}})}),jsxRuntime.jsx(zt,{values:e.values.sl,type:"SL",children:jsxRuntime.jsx(zr,{type:"SL",error:t("sl_trigger_price"),onChange:e.onChange,values:e.values.sl,quote_dp:e.quote_dp,testIds:{first:"oui-testid-orderEntry-tpsl-slPrice-input",second:"oui-testid-orderEntry-tpsl-slPnl-input",dropDown:"oui-testid-orderEntry-tpsl-sl-dropDown-trigger-button"}})})]})});Gr.displayName="TPSLInputForm";var xn=e=>{let{t:r}=i18n.useTranslation(),{errorMsgVisible:t}=Qr.useContext(Ve),{tipsEle:i}=rt(),[a,s]=Qr.useState(`${e.type} Price`),[l,d]=Qr.useState("USDC"),[f,p]=Qr.useState(false),[m,g]=Qr.useState(false),[n,_]=Qr.useState(e.values.trigger_price??"");Qr.useEffect(()=>{m||_(e.values.trigger_price??"");},[e.values.trigger_price,m]);let S=Qr.useMemo(()=>e.error&&t?e.error:f?i:null,[e.error,t,f,i]),v=w=>{let X=e.type==="TP"?r("tpsl.tpPrice"):r("tpsl.slPrice");return w&&(X=e.type==="TP"?r("tpsl.tp"):r("tpsl.sl")),X},E=w=>{_(w),e.onChange(w);};Qr.useEffect(()=>{s(v(e.values.trigger_price)),m||_(e.values.trigger_price??"");},[e.type,e.values.trigger_price]);let R=()=>{s(e.type==="TP"?r("tpsl.tp"):r("tpsl.sl")),d(""),p(true),g(true);},P=()=>{s(v(e.values.trigger_price)),d("USDC"),p(false),g(false),e.onChange(n);};return jsxRuntime.jsx(ui.Input.tooltip,{"data-testid":e.testId,prefix:a,size:"md",placeholder:l,align:"right",onFocus:R,onBlur:P,tooltip:S,tooltipProps:{content:{side:e.type==="TP"?"top":"bottom"}},color:e.error?"danger":void 0,autoComplete:"off",value:n,classNames:{additional:"oui-text-base-contrast-54",root:"oui-pr-2 md:oui-pr-3",prefix:"oui-pr-1 md:oui-pr-2"},onValueChange:E,formatters:[ui.inputFormatter.numberFormatter,ui.inputFormatter.dpFormatter(e.quote_dp??2),ui.inputFormatter.currencyFormatter]})},zr=e=>{let r=e.type==="SL"?"sl_trigger_price":"tp_trigger_price";return jsxRuntime.jsxs(ui.Grid,{cols:2,gapX:1,children:[jsxRuntime.jsx(xn,{testId:e.testIds?.first,type:e.type,error:e.error,values:e.values??"",onChange:t=>{e.onChange(r,t);},quote_dp:e.quote_dp}),jsxRuntime.jsx(Mr,{testIds:{input:e.testIds?.second,dropDown:e.testIds?.dropDown},onChange:e.onChange,quote:"USDC",quote_dp:2,type:e.type,values:{PnL:e.values.PnL,Offset:e.values.Offset,"Offset%":e.values["Offset%"],ROI:e.values.ROI}})]})};var Un=[],Ht=e=>{let{side:r,formattedOrder:t,setOrderValue:i,setOrderValues:a,symbolInfo:s,maxQty:l,freeCollateral:d,helper:f,submit:p,metaState:m,bboStatus:g,bboType:n,onBBOChange:_,toggleBBO:S,disableFeatures:v,currentLtv:E,fillMiddleValue:R,soundAlert:P,setSoundAlert:w}=e,{curLeverage:X}=hooks.useLeverage(),{t:M}=i18n.useTranslation(),{isMobile:ae}=ui.useScreen(),[U,L]=Qr.useState(false),{errors:z,validated:y}=m,[$,J]=Qr.useState(false),[fe,Qe]=hooks.useLocalStorage("orderly_order_confirm",true),[Te,Fe]=hooks.useLocalStorage("orderly-order-additional-pinned",true),[dt,le]=Qr.useState(false),[We,Ye]=hooks.useLocalStorage("orderly-order-hidden",false),[_e,ct]=hooks.useLocalStorage("orderly-slippage","1",{parseJSON:u=>!u||u==='""'?"1":JSON.parse(u)}),{notification:mt}=hooks.useOrderlyContext(),Ge=Qr.useId(),{parseErrorMsg:oe}=reactApp.useOrderEntryFormErrorMsg(y?z:null),Ke=Qr.useMemo(()=>r===types.OrderSide.BUY?M("orderEntry.buyLong"):M("orderEntry.sellShort"),[r,M]);Qr.useEffect(()=>{y&&J(true);},[y]),Qr.useEffect(()=>{e.disableFeatures?.includes("slippageSetting")||(_e?i("slippage",Number(_e)):i("slippage",void 0));},[_e,e.disableFeatures]),Qr.useEffect(()=>{let u=C=>{C.target.closest("#order-entry-submit-button")||J(W=>W&&false);};return $?document.addEventListener("click",u):document.removeEventListener("click",u),()=>{document.removeEventListener("click",u);}},[$]);let pt=()=>{let u=t.order_type===types.OrderType.SCALED;f.validate().then(C=>u?ui.modal.show(Ze,{order:C,symbolInfo:s,size:ae?"sm":"md"}):fe?ui.modal.show(St,{order:t,symbolInfo:s}):true,C=>(C.slippage&&ui.toast.error(M("orderEntry.slippage.error.max")),J(true),Promise.reject())).then(()=>p({resetOnSuccess:false}).then(C=>{if(!C.success&&C.message)ui.toast.error(C.message);else if(C.success&&u){let F=nr(C);F&&ui.toast.success(F);}})).catch(C=>{C?.message&&ui.toast.error(C.message);});},ft=()=>{f.validate().then(()=>{le(true);},u=>{let C=new Set(["tp_trigger_price","sl_trigger_price"]);Object.keys(u).every(F=>C.has(F))&&le(true);});},gt=u=>{u.side!==t.side&&i("side",u.side),a({position_type:u.position_type,tp_order_type:u.tp_order_type,tp_pnl:u.tp_pnl,tp_offset:u.tp_offset,tp_offset_percentage:u.tp_offset_percentage,tp_ROI:u.tp_ROI,tp_trigger_price:u.tp_trigger_price,tp_order_price:u.tp_order_price,sl_order_type:u.sl_order_type,sl_trigger_price:u.sl_trigger_price,sl_order_price:u.sl_order_price,sl_pnl:u.sl_pnl,sl_offset:u.sl_offset,sl_offset_percentage:u.sl_offset_percentage,sl_ROI:u.sl_ROI}),le(false),L(true);},yt=()=>{L(false),a({tp_trigger_price:void 0,tp_order_price:void 0,tp_order_type:types.OrderType.MARKET,sl_trigger_price:void 0,sl_order_price:void 0,sl_order_type:types.OrderType.MARKET,tp_pnl:void 0,sl_pnl:void 0,position_type:types.PositionType.FULL});},ge=ae&&e.canTrade,bt=typeof E=="number"&&!Number.isNaN(E)&&E>0;Qr.useEffect(()=>{L(false);},[e.symbol]);let c=Qr.useMemo(()=>({errorMsgVisible:$}),[$]);return jsxRuntime.jsxs(_r,{value:c,children:[jsxRuntime.jsxs("div",{className:"oui-space-y-2 oui-text-base-contrast-54 xl:oui-space-y-3",ref:e.containerRef,children:[jsxRuntime.jsxs(ui.Flex,{gapX:2,className:"oui-flex-col oui-gap-y-3 lg:oui-flex-row",children:[jsxRuntime.jsxs("div",{className:ui.cn("oui-grid oui-w-full oui-flex-1 oui-gap-x-2 lg:oui-flex lg:oui-gap-x-[6px]",ge?"oui-grid-cols-3":"oui-grid-cols-2"),children:[jsxRuntime.jsx(ui.Button,{onClick:()=>{e.setOrderValue("side",types.OrderSide.BUY);},size:"md",fullWidth:true,"data-type":types.OrderSide.BUY,className:ui.cn(r===types.OrderSide.BUY&&e.canTrade?"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:M("common.buy")}),jsxRuntime.jsx(ui.Button,{onClick:()=>{e.setOrderValue("side",types.OrderSide.SELL);},"data-type":types.OrderSide.SELL,fullWidth:true,size:"md",className:ui.cn(r===types.OrderSide.SELL&&e.canTrade?"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:M("common.sell")}),ge&&jsxRuntime.jsx(ui.Button,{size:"md",fullWidth:true,trailing:jsxRuntime.jsx(ui.CaretRightIcon,{size:12,className:"oui-text-base-contrast-36"}),onClick:()=>{ui.modal.show(uiLeverage.LeverageWidgetWithSheetId,{currentLeverage:X});},className:ui.cn("oui-bg-base-7 oui-text-primary-light hover:oui-bg-base-6 active:oui-bg-base-6"),children:utils.commifyOptional(X,{fix:2})+"x"})]}),jsxRuntime.jsx("div",{className:"oui-w-full lg:oui-flex-1",children:jsxRuntime.jsx(Gn,{type:t.order_type,side:r,canTrade:e.canTrade,onChange:u=>{i("order_type",u);}})})]}),jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",justify:"between",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",children:M("common.available")}),jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",justify:"center",gap:1,children:[bt&&jsxRuntime.jsx(ui.Tooltip,{className:"oui-bg-base-6 oui-p-2",content:jsxRuntime.jsx($e,{}),children:jsxRuntime.jsx(ui.InfoCircleIcon,{className:"oui-cursor-pointer oui-text-warning oui-opacity-80"})}),jsxRuntime.jsx(ui.Text.numeral,{unit:s.quote,size:"2xs",className:"oui-text-base-contrast-80",unitClassName:"oui-ml-1 oui-text-base-contrast-54",dp:2,padding:false,children:e.canTrade?d:0})]})]}),t.order_type===types.OrderType.SCALED?jsxRuntime.jsx(Jn,{type:e.type,symbolInfo:s,values:{order_quantity:t.order_quantity,total:t.total,side:t.side,end_price:t.end_price,start_price:t.start_price,total_orders:t.total_orders,distribution_type:t.distribution_type,skew:t.skew},onChange:(u,C)=>{e.setOrderValue(u,C);},onValuesChange:e.setOrderValues,onBlur:e.onBlur,onFocus:e.onFocus,parseErrorMsg:oe,quantityUnit:e.quantityUnit,setQuantityUnit:e.setQuantityUnit,errors:z}):jsxRuntime.jsx(Qn,{type:e.type,symbolInfo:s,values:{order_quantity:t.order_quantity,price:t.order_price,trigger_price:t.trigger_price,total:t.total,level:t.level,side:t.side,order_type_ext:t.order_type_ext},onChange:(u,C)=>{e.setOrderValue(u,C);},onValuesChange:e.setOrderValues,refs:e.refs,onBlur:e.onBlur,onFocus:e.onFocus,bbo:{bboStatus:g,bboType:n,onBBOChange:_,toggleBBO:S},priceInputContainerWidth:e.priceInputContainerWidth,parseErrorMsg:oe,fillMiddleValue:R}),jsxRuntime.jsx(Yn,{canTrade:e.canTrade,maxQty:l,currentQtyPercentage:e.currentQtyPercentage,value:t.order_quantity?Number(t.order_quantity):0,tick:s.base_tick,dp:s.base_dp,setMaxQty:e.setMaxQty,onValueChange:u=>{i("order_quantity",u);},side:e.side}),jsxRuntime.jsx(ui.ThrottledButton,{fullWidth:true,id:"order-entry-submit-button","data-type":types.OrderSide.BUY,className:ui.cn(r===types.OrderSide.BUY?"orderly-order-entry-submit-button-buy oui-bg-success-darken hover:oui-bg-success-darken/80 active:oui-bg-success-darken/80":"orderly-order-entry-submit-button-sell oui-bg-danger-darken hover:oui-bg-danger-darken/80 active:oui-bg-danger-darken/80"),onClick:()=>{pt();},loading:e.isMutating,disabled:!e.canTrade,children:Ke}),jsxRuntime.jsx(jn,{canTrade:e.canTrade,quote:s.quote,estLiqPrice:e.estLiqPrice,estLeverage:e.estLeverage,currentLeverage:e.currentLeverage,slippage:_e,dp:s.quote_dp,setSlippage:ct,estSlippage:e.estSlippage,orderType:t.order_type,disableFeatures:v}),jsxRuntime.jsx(ui.Divider,{className:"oui-w-full"}),U?jsxRuntime.jsx($n,{order:t,symbolInfo:e.symbolInfo,errors:y?z:null,onEdit:()=>{le(true);},onDelete:()=>{yt();}}):jsxRuntime.jsx(Yr,{quote_dp:e.symbolInfo.quote_dp,switchState:e.tpslSwitch,onSwitchChanged:e.setTpslSwitch,orderType:t.order_type,errors:y?z:null,isReduceOnly:t.reduce_only,setOrderValue:e.setOrderValue,values:{position_type:t.position_type??types.PositionType.PARTIAL,tp:{trigger_price:t.tp_trigger_price??"",PnL:t.tp_pnl??"",Offset:t.tp_offset??"","Offset%":t.tp_offset_percentage??"",ROI:t.tp_ROI??""},sl:{trigger_price:t.sl_trigger_price??"",PnL:t.sl_pnl??"",Offset:t.sl_offset??"","Offset%":t.sl_offset_percentage??"",ROI:t.sl_ROI??""}},showTPSLAdvanced:ft,onChange:(u,C)=>{e.setOrderValue(u,C);}}),jsxRuntime.jsxs(ui.Flex,{justify:"between",itemAlign:"center",className:"!oui-mt-0 xl:!oui-mt-3",children:[jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",gapX:1,children:[jsxRuntime.jsx(ui.Switch,{"data-testid":"oui-testid-orderEntry-reduceOnly-switch",className:"oui-h-[14px]",id:"reduceOnly",checked:e.formattedOrder.reduce_only,onCheckedChange:u=>{e.setOrderValue("reduce_only",u);}}),jsxRuntime.jsx("label",{htmlFor:"reduceOnly",className:"oui-text-xs",children:M("orderEntry.reduceOnly")})]}),!Te&&jsxRuntime.jsx(Xn,{pinned:Te,setPinned:Fe,needConfirm:fe,setNeedConfirm:Qe,onValueChange:i,orderTypeExtra:t.order_type_ext,showExtra:t.order_type===types.OrderType.LIMIT&&!e.tpslSwitch,hidden:We,setHidden:Ye})]}),mt?.orderFilled?.media&&jsxRuntime.jsx(ui.Flex,{justify:"between",itemAlign:"center",className:"!oui-mt-0 xl:!oui-mt-3",children:jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",gapX:1,children:[jsxRuntime.jsx(ui.Switch,{className:"oui-h-[14px]",id:Ge,checked:P,onCheckedChange:u=>w(u)}),jsxRuntime.jsx("label",{htmlFor:Ge,className:"oui-text-xs",children:M("orderEntry.soundAlerts")})]})}),Te&&jsxRuntime.jsxs(ui.Box,{p:2,r:"md",intensity:700,position:"relative",children:[jsxRuntime.jsx(je,{pinned:Te,setPinned:Fe,needConfirm:fe,setNeedConfirm:Qe,onValueChange:i,orderTypeExtra:t.order_type_ext,showExtra:t.order_type===types.OrderType.LIMIT&&!e.tpslSwitch,hidden:We,setHidden:Ye}),jsxRuntime.jsx(zn,{onClick:()=>{Fe(false);},className:"oui-absolute oui-right-2 oui-top-2 oui-group","data-testid":"oui-testid-orderEntry-pinned-button"})]})]}),jsxRuntime.jsx(ui.SimpleSheet,{open:dt,onOpenChange:le,classNames:{body:"oui-h-full oui-pb-0 oui-border-none",overlay:"!oui-bg-base-10/60",content:ui.cn("oui-rounded-[16px] oui-border-none !oui-p-0",ae?"oui-inset-y-0 oui-right-0 oui-w-[280px]":"!oui-bottom-[40px] oui-right-3 oui-top-[44px] !oui-h-auto oui-w-[360px]")},contentProps:{side:"right",closeable:false},children:jsxRuntime.jsx(uiTpsl.TPSLAdvancedWidget,{setOrderValue:i,order:t,onSubmit:gt,onClose:()=>{le(false);}})})]})},Hr="M10.007 1.302a.74.74 0 0 0-.486.214c-1.033.989-1.349 1.815-.972 2.948-.88.675-1.437.84-2.536.84-1.503 0-2.484.182-3.152.85v.02a1.583 1.583 0 0 0 0 2.248l1.867 1.882-3.181 3.18c-.26.26-.28.696-.02.956.261.26.699.26.959 0l3.193-3.194 1.87 1.861a1.585 1.585 0 0 0 2.25 0h.02c.668-.667.854-1.523.854-3.144 0-1.03.212-1.758.852-2.523 1.233.361 1.95.015 2.961-.995a.68.68 0 0 0 .188-.48c0-.234-.06-.593-.209-1.04a5.34 5.34 0 0 0-1.312-2.103 5.35 5.35 0 0 0-2.104-1.312c-.448-.15-.808-.208-1.042-.208",zn=e=>{let[r,t]=Qr.useState(Hr);return jsxRuntime.jsx("button",{...e,children:jsxRuntime.jsx("svg",{width:16,height:16,viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",onMouseEnter:()=>{t('M10.008 1.302a.74.74 0 0 0-.486.214c-1.033.989-1.349 1.815-.972 2.948-.88.675-1.437.84-2.536.84-1.503 0-2.484.182-3.152.85v.02a1.583 1.583 0 0 0 0 2.248l1.867 1.882-3.181 3.18c-.26.26-.28.696-.02.956.261.26.699.26.959 0l3.193-3.194 1.87 1.861a1.585 1.585 0 0 0 2.25 0h.02c.668-.667.854-1.523.854-3.144 0-1.03.212-1.758.853-2.523 1.232.361 1.95.015 2.96-.995a.68.68 0 0 0 .188-.48c0-.234-.06-.593-.209-1.04a5.34 5.34 0 0 0-1.312-2.103A5.35 5.35 0 0 0 11.05 1.51c-.448-.15-.808-.208-1.042-.208m.258 1.37c.708.131 1.421.6 1.93 1.107.507.508.94 1.13 1.119 1.945-.636.61-1.026.658-1.662.323a.67.67 0 0 0-.779.117c-1.214 1.213-1.533 2.314-1.533 3.8 0 1.292-.076 1.773-.48 2.206-.113.123-.27.104-.374 0L3.799 7.486a.24.24 0 0 1-.017-.34c.239-.29.769-.515 2.226-.514 1.742.001 2.668-.448 3.812-1.52a.67.67 0 0 0 .125-.77c-.343-.686-.29-1.047.321-1.67"');},onMouseLeave:()=>{t(Hr);},className:"oui-text-primary-darken ",children:jsxRuntime.jsx("path",{d:r})})})},Qn=e=>{let{type:r,symbolInfo:t,values:i,onFocus:a,onBlur:s,bbo:l,parseErrorMsg:d,fillMiddleValue:f}=e,{t:p}=i18n.useTranslation(),m=l.bboStatus==="on",g=r===types.OrderType.LIMIT?jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"end",className:"oui-text-2xs",children:[t.quote,jsxRuntime.jsxs(ui.Flex,{justify:"end",itemAlign:"center",gap:2,children:[jsxRuntime.jsx(ui.Flex,{px:3,height:20,justify:"center",itemAlign:"center",r:"base",className:ui.cn("oui-mt-[2px] oui-cursor-pointer oui-select-none oui-border",l.bboStatus==="on"?"oui-border-primary":"oui-border-line-12",l.bboStatus==="disabled"&&"oui-cursor-not-allowed"),onClick:()=>{l.bboStatus==="disabled"?ui.modal.dialog({title:p("common.tips"),size:"xs",content:jsxRuntime.jsx(ui.Text,{intensity:54,children:p("orderEntry.bbo.disabled.tips")})}):l.toggleBBO();},children:jsxRuntime.jsx(ui.Text,{className:ui.cn(l.bboStatus==="on"&&"oui-text-primary",l.bboStatus==="off"&&"oui-text-base-contrast-54",l.bboStatus==="disabled"&&"oui-text-base-contrast-20"),children:p("orderEntry.bbo")})}),jsxRuntime.jsx(ui.Text,{className:ui.cn("oui-select-none","oui-cursor-pointer oui-text-primary"),onClick:f,children:"Mid"})]})]}):t.quote;return jsxRuntime.jsxs("div",{className:"oui-space-y-1",children:[r===types.OrderType.STOP_LIMIT||r===types.OrderType.STOP_MARKET?jsxRuntime.jsx("div",{className:"oui-group",children:jsxRuntime.jsx(Z,{label:p("common.trigger"),suffix:t.quote,error:d("trigger_price"),id:"trigger",ref:e.refs.triggerPriceInputRef,value:i.trigger_price,onChange:n=>{e.onChange("trigger_price",n);},formatters:[ui.inputFormatter.dpFormatter(t.quote_dp)],onFocus:a(1),onBlur:s(1)})}):null,r===types.OrderType.LIMIT||r===types.OrderType.STOP_LIMIT?jsxRuntime.jsxs("div",{ref:e.refs.priceInputContainerRef,className:"oui-relative oui-w-full oui-group",children:[jsxRuntime.jsx(Z,{label:p("common.price"),suffix:g,id:"price",value:i.price,error:d("order_price"),ref:e.refs.priceInputRef,onChange:n=>{e.onChange("order_price",n);},formatters:[ui.inputFormatter.dpFormatter(t.quote_dp)],onFocus:a(0),onBlur:s(0),readonly:m,classNames:{root:ui.cn(m&&"focus-within:oui-outline-transparent "),input:ui.cn(m&&"oui-cursor-auto")}}),l.bboStatus==="on"&&jsxRuntime.jsx("div",{className:ui.cn("oui-absolute oui-left-0 oui-bottom-1"),children:jsxRuntime.jsx(Zn,{value:l.bboType,onChange:l.onBBOChange,contentStyle:{width:e.priceInputContainerWidth}})})]}):null,jsxRuntime.jsxs(ui.Grid,{cols:2,className:"oui-group oui-space-x-1",children:[jsxRuntime.jsx(Z,{label:p("common.qty"),suffix:t.base,id:"order_quantity_input",name:"order_quantity_input",className:"!oui-rounded-r",value:i.order_quantity,error:d("order_quantity"),onChange:n=>{e.onChange("order_quantity",n);},formatters:[ui.inputFormatter.dpFormatter(t.base_dp)],onFocus:a(2),onBlur:s(2)}),jsxRuntime.jsx(Z,{label:`${p("common.total")}\u2248`,suffix:t.quote,id:"total",className:"!oui-rounded-l",value:i.total,error:d("total"),onChange:n=>{e.onChange("total",n);},onFocus:a(3),onBlur:s(3),formatters:[ui.inputFormatter.dpFormatter(t.quote_dp)]})]})]})},Z=Qr.forwardRef((e,r)=>{let{placeholder:t="0"}=e,{errorMsgVisible:i}=Qr.useContext(Ve);return jsxRuntime.jsx(ui.Input.tooltip,{ref:r,tooltip:i?e.error:void 0,autoComplete:"off",autoFocus:e.autoFocus,size:"lg",placeholder:e.readonly?"":t,id:e.id,name:e.name,color:e.error?"danger":void 0,prefix:jsxRuntime.jsx(Wn,{id:e.id,className:e.classNames?.prefix,children:e.label}),suffix:e.suffix,value:e.readonly?"":e.value||"",onValueChange:e.onChange,onFocus:a=>{e.onFocus?.(a);},onBlur:a=>{e.onBlur?.(a);},formatters:e.overrideFormatters||[...e.formatters??Un,ui.inputFormatter.numberFormatter,ui.inputFormatter.currencyFormatter,ui.inputFormatter.decimalPointFormatter],classNames:{root:ui.cn("orderly-order-entry oui-relative oui-h-[54px] oui-rounded oui-border oui-border-solid oui-border-line oui-px-2 oui-py-1 group-first:oui-rounded-t-xl group-last:oui-rounded-b-xl",e.className,e.classNames?.root),input:ui.cn("oui-mb-1 oui-mt-5 oui-h-5",e?.classNames?.input),suffix:ui.cn("oui-absolute oui-right-0 oui-top-0 oui-justify-start oui-py-2 oui-text-2xs oui-text-base-contrast-36",e.classNames?.suffix)},readOnly:e.readonly})});Z.displayName="CustomInput";var Wn=e=>jsxRuntime.jsx("label",{htmlFor:e.id,className:ui.cn("oui-absolute oui-left-2 oui-top-[7px] oui-text-2xs oui-text-base-contrast-36",e.className),children:e.children}),Yn=e=>{let{canTrade:r}=e,{t}=i18n.useTranslation(),i=Qr.useMemo(()=>r?e.side===types.OrderSide.BUY?"buy":"sell":void 0,[e.side,r]),a=Qr.useMemo(()=>e.side===types.OrderSide.BUY?t("orderEntry.maxBuy"):t("orderEntry.maxSell"),[e.side,t]);return jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(ui.Slider.single,{disabled:e.maxQty===0||!r,value:e.value,color:i,markCount:4,showTip:true,max:e.maxQty,step:e.tick,onValueChange:e.onValueChange}),jsxRuntime.jsxs(ui.Flex,{justify:"between",className:"oui-pt-1 xl:oui-pt-2",children:[jsxRuntime.jsx(ui.Text.numeral,{rule:"percentages",size:"2xs",color:i,dp:2,padding:false,children:r?e.currentQtyPercentage:0}),jsxRuntime.jsxs(ui.Flex,{children:[jsxRuntime.jsx("button",{className:ui.textVariants({size:"2xs",className:"oui-mr-1"}),onClick:()=>e.setMaxQty(),"data-testid":"oui-testid-orderEntry-maxQty-value-button",children:a}),jsxRuntime.jsx(ui.Text.numeral,{size:"2xs",color:i,dp:e.dp,padding:false,"data-testid":"oui-testid-orderEntry-maxQty-value",children:r?e.maxQty:0})]})]})]})},Gn=e=>{let{t:r}=i18n.useTranslation(),t=Qr.useMemo(()=>[{label:r("orderEntry.orderType.limitOrder"),value:types.OrderType.LIMIT},{label:r("orderEntry.orderType.marketOrder"),value:types.OrderType.MARKET},{label:r("orderEntry.orderType.stopLimit"),value:types.OrderType.STOP_LIMIT},{label:r("orderEntry.orderType.stopMarket"),value:types.OrderType.STOP_MARKET},{label:r("orderEntry.orderType.scaledOrder"),value:types.OrderType.SCALED}],[r]),i=Qr.useMemo(()=>({[types.OrderType.LIMIT]:r("orderEntry.orderType.limit"),[types.OrderType.MARKET]:r("common.marketPrice"),[types.OrderType.STOP_LIMIT]:r("orderEntry.orderType.stopLimit"),[types.OrderType.STOP_MARKET]:r("orderEntry.orderType.stopMarket"),[types.OrderType.SCALED]:r("orderEntry.orderType.scaledOrder")}),[r]);return jsxRuntime.jsx(ui.Select.options,{testid:"oui-testid-orderEntry-orderType-button",currentValue:e.type,value:e.type,options:t,onValueChange:e.onChange,contentProps:{className:"oui-bg-base-8 oui-w-full"},valueFormatter:(a,s)=>{if(!t.find(f=>f.value===a))return jsxRuntime.jsx(ui.Text,{size:"xs",children:s.placeholder});let d=i[a];return jsxRuntime.jsx(ui.Text,{size:"xs",color:e.canTrade?e.side===types.OrderSide.BUY?"buy":"sell":void 0,children:d})},size:"md"})},Kn=e=>jsxRuntime.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:e.size,height:e.size,viewBox:"0 0 12 12",fill:"currentColor",...e,children:jsxRuntime.jsx("path",{d:"M5.99903 0.976562C5.44653 0.976562 4.99903 1.42406 4.99903 1.97656H2.49902C2.22302 1.97656 1.99902 2.20056 1.99902 2.47656C1.99902 2.75256 2.22302 2.97656 2.49902 2.97656H9.49903C9.77503 2.97656 9.99903 2.75256 9.99903 2.47656C9.99903 2.20056 9.77503 1.97656 9.49903 1.97656H6.99903C6.99903 1.42406 6.55153 0.976562 5.99903 0.976562ZM2.49902 3.97655V8.97654C2.49902 10.0715 3.40152 10.961 4.49903 10.961L7.51453 10.9765C8.61203 10.9765 9.49903 10.074 9.49903 8.97654V3.97655H2.49902ZM4.99903 5.47655C5.27503 5.47655 5.49903 5.70055 5.49903 5.97655V8.97654C5.49903 9.25254 5.27503 9.47654 4.99903 9.47654C4.72303 9.47654 4.49903 9.25254 4.49903 8.97654V5.97655C4.49903 5.70055 4.72303 5.47655 4.99903 5.47655ZM6.99903 5.47655C7.27503 5.47655 7.49903 5.70055 7.49903 5.97655V8.97654C7.49903 9.25254 7.27503 9.47654 6.99903 9.47654C6.72303 9.47654 6.49903 9.25254 6.49903 8.97654V5.97655C6.49903 5.70055 6.72303 5.47655 6.99903 5.47655Z"})}),Hn=e=>jsxRuntime.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 12 12",width:e.size,height:e.size,fill:"currentColor",...e,children:jsxRuntime.jsx("path",{d:"M8.49779 0.976562C8.36529 0.976562 8.23229 1.02357 8.13829 1.11707C7.86029 1.39507 6.85979 2.39558 6.63779 2.61808L2.13529 7.12059L1.63479 7.62059C1.56529 7.69059 1.52929 7.78958 1.50979 7.88658L1.00979 10.3881C0.939788 10.7381 1.23779 11.0361 1.58779 10.9666C1.90079 10.9036 3.77679 10.5286 4.08929 10.4661C4.18629 10.4466 4.28529 10.4106 4.35529 10.3411L4.85529 9.84059L9.35779 5.33808C9.58029 5.11608 10.5808 4.11506 10.8588 3.83756C10.9523 3.74356 10.9993 3.61056 10.9993 3.47806C10.9993 2.65956 10.7908 2.07456 10.3583 1.63306C9.92179 1.18756 9.33879 0.976562 8.49779 0.976562ZM8.69479 1.98606C9.14629 2.01256 9.43879 2.11608 9.63929 2.32108C9.84429 2.53008 9.97379 2.82008 10.0018 3.26258C9.72779 3.53608 9.32679 3.93106 8.99829 4.25956C8.60179 3.86306 8.11279 3.37407 7.71629 2.97757C8.04529 2.64907 8.42129 2.25956 8.69479 1.98606ZM6.99729 3.69657L8.27929 4.97858L4.49579 8.76207L3.21379 7.48009L6.99729 3.69657ZM2.49479 8.19908L3.77679 9.48107L3.72979 9.52809C3.39979 9.59409 2.73329 9.73359 2.11929 9.85659L2.44779 8.24608L2.49479 8.19908Z"})});function $n(e){let{order:r,symbolInfo:t,onEdit:i,onDelete:a,errors:s}=e,{parseErrorMsg:l}=reactApp.useOrderEntryFormErrorMsg(s),{t:d}=i18n.useTranslation(),f=()=>{let m=l("tp_trigger_price");return r.tp_trigger_price||r.tp_order_price?jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",className:"oui-w-full",gap:4,children:[jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",justify:"between",gapY:1,className:"oui-w-full",children:[jsxRuntime.jsxs(ui.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(ui.Text,{children:d("tpsl.tpTriggerPrice")}),jsxRuntime.jsx(ui.Text.numeral,{suffix:jsxRuntime.jsx(ui.Text,{className:"oui-text-base-contrast-36 oui-ml-1",children:t.quote}),className:"oui-text-base-contrast",dp:t.quote_dp,children:r.tp_trigger_price??""})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(ui.Text,{children:d("tpsl.tpOrderPrice")}),r.tp_order_type===types.OrderType.LIMIT?jsxRuntime.jsx(ui.Text.numeral,{suffix:jsxRuntime.jsx(ui.Text,{className:"oui-text-base-contrast-36 oui-ml-1",children:t.quote}),className:"oui-text-base-contrast",dp:t.quote_dp,children:r.tp_order_price??""}):jsxRuntime.jsx(ui.Text,{className:"oui-text-base-contrast",children:"Market"})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(ui.Text,{children:d("tpsl.totalEstTpPnl")}),jsxRuntime.jsx(ui.Text.numeral,{suffix:jsxRuntime.jsx(ui.Text,{className:"oui-ml-1 oui-text-base-contrast-36",children:t.quote}),coloring:true,dp:2,children:Number(r.tp_pnl)})]})]}),m&&jsxRuntime.jsxs(ui.Flex,{justify:"start",itemAlign:"start",gap:2,className:"oui-w-full",children:[jsxRuntime.jsx("div",{className:"oui-relative oui-top-[7px] oui-w-1 oui-h-1 oui-bg-danger oui-rounded-full"}),jsxRuntime.jsx(ui.Text,{className:"oui-text-danger",children:m})]})]}):null},p=()=>{if(r.sl_trigger_price||r.sl_order_price){let m=l("sl_trigger_price");return jsxRuntime.jsx(ui.Flex,{direction:"column",itemAlign:"start",className:"oui-w-full",gap:4,children:jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",justify:"between",gapY:1,className:"oui-w-full",children:[jsxRuntime.jsxs(ui.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(ui.Text,{children:d("tpsl.slTriggerPrice")}),jsxRuntime.jsx(ui.Text.numeral,{suffix:jsxRuntime.jsx(ui.Text,{className:"oui-text-base-contrast-36 oui-ml-1",children:t.quote}),className:"oui-text-base-contrast",dp:t.quote_dp,children:r.sl_trigger_price??""})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(ui.Text,{children:d("tpsl.slOrderPrice")}),r.sl_order_type===types.OrderType.LIMIT?jsxRuntime.jsx(ui.Text.numeral,{suffix:jsxRuntime.jsx(ui.Text,{className:"oui-text-base-contrast-36 oui-ml-1",children:t.quote}),className:"oui-text-base-contrast",dp:t.quote_dp,children:r.sl_order_price??""}):jsxRuntime.jsx(ui.Text,{className:"oui-text-base-contrast",children:"Market"})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(ui.Text,{children:d("tpsl.totalEstSlPnl")}),jsxRuntime.jsx(ui.Text.numeral,{coloring:true,suffix:jsxRuntime.jsx(ui.Text,{className:"oui-ml-1 oui-text-base-contrast-36",children:t.quote}),dp:2,children:Number(r.sl_pnl)})]}),m&&jsxRuntime.jsxs(ui.Flex,{justify:"start",itemAlign:"start",gap:2,className:"oui-w-full",children:[jsxRuntime.jsx("div",{className:"oui-relative oui-top-[7px] oui-w-1 oui-h-1 oui-bg-danger oui-rounded-full"}),jsxRuntime.jsx(ui.Text,{className:"oui-text-danger",children:m})]})]})})}return null};return jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",className:"oui-w-full oui-text-2xs",gap:4,children:[jsxRuntime.jsxs(ui.Flex,{justify:"between",itemAlign:"start",className:"oui-w-full",children:[jsxRuntime.jsx(ui.Text,{children:d("tpsl.advanced.title")}),jsxRuntime.jsxs(ui.Flex,{gap:2,children:[jsxRuntime.jsx(Kn,{size:12,className:"oui-cursor-pointer oui-text-base-contrast-54 hover:oui-text-base-contrast",opacity:1,onClick:a}),jsxRuntime.jsx(Hn,{size:12,className:"oui-cursor-pointer oui-text-base-contrast-54 hover:oui-text-base-contrast",onClick:i})]})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",itemAlign:"start",className:"oui-w-full",children:[jsxRuntime.jsx(ui.Text,{children:d("tpsl.mode")}),jsxRuntime.jsx(ui.Text,{className:"oui-text-base-contrast",children:r.position_type===types.PositionType.FULL?d("tpsl.fullPosition"):d("tpsl.partialPosition")})]}),f(),p(),jsxRuntime.jsx(ui.Divider,{className:"oui-w-full oui-mb-2"})]})}function jn(e){let{canTrade:r}=e,{t}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:"oui-space-y-[2px] xl:oui-space-y-1",children:[jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",children:t("orderEntry.estLiqPrice")}),jsxRuntime.jsx(ui.Text.numeral,{unit:e.quote,size:"2xs",dp:e.dp,className:"oui-text-base-contrast-80",unitClassName:"oui-ml-1 oui-text-base-contrast-36",children:r?e.estLiqPrice??"--":"--"})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",children:t("leverage.accountLeverage")}),jsxRuntime.jsxs(ui.Flex,{gapX:1,className:ui.textVariants({size:"2xs",intensity:80}),children:[jsxRuntime.jsx(ui.Text.numeral,{unit:r?"x":void 0,children:r?e.currentLeverage??"--":"--"}),e.estLeverage&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{d:"M2.505 4.997c0-.23.186-.416.416-.416H6.07L4.833 3.332l.586-.585 1.964 1.95a.42.42 0 0 1 .122.3.42.42 0 0 1-.122.3l-1.964 1.95-.586-.585L6.07 5.413H2.921a.416.416 0 0 1-.416-.416",fill:"#fff",fillOpacity:".54"})}),jsxRuntime.jsx("span",{children:`${e.estLeverage}x`})]})]})]}),e.orderType===types.OrderType.MARKET&&!e.disableFeatures?.includes("slippageSetting")&&jsxRuntime.jsx(wr,{slippage:e.slippage,setSlippage:e.setSlippage,estSlippage:e.estSlippage}),!e.disableFeatures?.includes("feesInfo")&&jsxRuntime.jsx(kt,{})]})}function Xn(e){let[r,t]=Qr.useState(false);return jsxRuntime.jsxs(ui.PopoverRoot,{open:r,onOpenChange:t,children:[jsxRuntime.jsx(ui.PopoverTrigger,{asChild:true,children:jsxRuntime.jsx("button",{"data-testid":"oui-testid-orderEntry-additional-button",onClick:()=>{t(true);},children:jsxRuntime.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",className:"oui-fill-white/[.36] hover:oui-fill-white/80",children:jsxRuntime.jsx("path",{d:"M3.332 2.665a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667V3.332a.667.667 0 0 0-.667-.667zm4 0a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667V3.332a.667.667 0 0 0-.667-.667zm4 0a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667V3.332a.667.667 0 0 0-.667-.667zm-8 4a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667V7.332a.667.667 0 0 0-.667-.667zm4 0a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667V7.332a.667.667 0 0 0-.667-.667zm4 0a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667V7.332a.667.667 0 0 0-.667-.667zm-8 4a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667v-1.333a.667.667 0 0 0-.667-.667zm4 0a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667v-1.333a.667.667 0 0 0-.667-.667zm4 0a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667v-1.333a.667.667 0 0 0-.667-.667z"})})})}),jsxRuntime.jsx(ui.PopoverContent,{side:"top",align:"end",className:"oui-w-[230px]",children:jsxRuntime.jsx(je,{...e})})]})}var Zn=e=>{let{t:r}=i18n.useTranslation(),t=[{label:r("orderEntry.bbo.counterparty1"),value:types.BBOOrderType.COUNTERPARTY1},{label:r("orderEntry.bbo.counterparty5"),value:types.BBOOrderType.COUNTERPARTY5},{label:r("orderEntry.bbo.queue1"),value:types.BBOOrderType.QUEUE1},{label:r("orderEntry.bbo.queue5"),value:types.BBOOrderType.QUEUE5}];return jsxRuntime.jsx(ui.Select.options,{testid:"oui-testid-orderEntry-bbo-orderType-button",currentValue:e.value,value:e.value,options:t,onValueChange:e.onChange,contentProps:{className:"oui-bg-base-8 oui-w-full",style:e.contentStyle},size:"sm",classNames:{trigger:"oui-border-none oui-bg-transparent"},valueFormatter:(i,a)=>{let s=t.find(l=>l.value===i);return jsxRuntime.jsx(ui.Box,{children:jsxRuntime.jsx(ui.Text,{size:"sm",children:s?.label})})}})},Jn=e=>{let{symbolInfo:r,values:t,onFocus:i,onBlur:a,parseErrorMsg:s,quantityUnit:l,setQuantityUnit:d,errors:f}=e,{base:p,quote:m,base_dp:g,quote_dp:n}=r,{t:_}=i18n.useTranslation(),S=l==="base",v=S?p:m,E=t.distribution_type===types.DistributionType.CUSTOM,R=jsxRuntime.jsx(Cr,{base:p,quote:m,value:v,onValueChange:P=>{d(P===p?"base":"quote");}});return jsxRuntime.jsxs("div",{className:"oui-space-y-1",children:[jsxRuntime.jsx(Z,{label:_("orderEntry.startPrice"),suffix:m,id:"order_start_price_input",value:t.start_price,error:s("start_price"),onChange:P=>{e.onChange("start_price",P);},formatters:[ui.inputFormatter.dpFormatter(n)],onFocus:i(4),onBlur:a(4),classNames:{root:"oui-rounded-t-xl"}}),jsxRuntime.jsx(Z,{label:_("orderEntry.endPrice"),suffix:m,id:"order_end_price_input",value:t.end_price,error:s("end_price"),onChange:P=>{e.onChange("end_price",P);},formatters:[ui.inputFormatter.dpFormatter(n)],onFocus:i(5),onBlur:a(5)}),jsxRuntime.jsxs(ui.Grid,{cols:2,className:"oui-group oui-space-x-1",children:[S?jsxRuntime.jsx(Z,{label:_("common.qty"),suffix:R,id:"order_quantity_input",name:"order_quantity_input",className:"!oui-rounded-r",value:t.order_quantity,error:s("order_quantity",`${f?.order_quantity?.value} ${p}`),onChange:P=>{e.onChange("order_quantity",P);},formatters:[ui.inputFormatter.dpFormatter(g)],onFocus:i(2),onBlur:a(2)}):jsxRuntime.jsx(Z,{label:_("common.qty"),suffix:R,id:"order_total_input",name:"order_total_input",className:"!oui-rounded-r",value:t.total,error:s("order_quantity",`${f?.total?.value} ${m}`),onChange:P=>{e.onChange("total",P);},formatters:[ui.inputFormatter.dpFormatter(n)],onFocus:i(3),onBlur:a(3)}),jsxRuntime.jsx(Z,{label:_("orderEntry.totalOrders"),placeholder:"2-20",id:"order_total_orders_input",className:"!oui-rounded-l",value:t.total_orders,error:s("total_orders"),onChange:P=>{e.onChange("total_orders",P);},overrideFormatters:[ui.inputFormatter.numberFormatter,ui.inputFormatter.dpFormatter(0)],onFocus:i(6),onBlur:a(6)})]}),jsxRuntime.jsx(hr,{value:t.distribution_type,onValueChange:P=>{e.onChange("distribution_type",P);},className:ui.cn(!E&&"oui-rounded-b-xl")}),E&&jsxRuntime.jsx(Z,{id:"order_skew_input",label:_("orderEntry.skew"),value:t.skew,error:s("skew"),onChange:P=>{e.onChange("skew",P);},onFocus:i(7),onBlur:a(7),overrideFormatters:[ui.inputFormatter.rangeFormatter({min:0,max:100,dp:2}),ui.inputFormatter.dpFormatter(2)],classNames:{root:"oui-rounded-b-xl"}})]})};var no=e=>Number.isNaN(Number(e))?0:Number(e),ps="orderly_sound_alert",Xt=e=>{let[r,t]=hooks.useLocalStorage("orderly-order-entry-order-type",types.OrderType.LIMIT),[i,a]=hooks.useLocalStorage("orderly-order-entry-order-side",types.OrderSide.BUY),[s,l]=hooks.useLocalStorage("orderly_order_bbo_type",void 0),[d,f]=hooks.useLocalStorage("orderly_order_quantity_unit","quote"),[p,m]=hooks.useLocalStorage(ps,false),g=Qr.useRef(s),{formattedOrder:n,setValue:_,setValues:S,symbolInfo:v,...E}=hooks.useOrderEntry(e.symbol,{initialOrder:{symbol:e.symbol,order_type:r,position_type:types.PositionType.PARTIAL,side:i}}),[R,P]=hooks.useLocalStorage("orderly-order-entry-tp_sl-switch",false),{state:w}=hooks.useAccount(),{wrongNetwork:X,disabledConnect:M}=reactApp.useAppContext(),ae=Qr.useMemo(()=>!X&&!M&&(w.status===types.AccountStatusEnum.EnableTrading||w.status===types.AccountStatusEnum.EnableTradingWithoutConnected),[w.status,X,M]),{currentLeverage:U}=hooks.useMarginRatio(),L=hooks.useEventEmitter(),z=Qr.useRef(8),y=Qr.useRef(5),$=Qr.useRef(null),J=Qr.useRef(null),fe=Qr.useRef(null),[Qe,Te]=Qr.useState(0),Fe=Qr.useMemo(()=>Number(n.order_quantity)>=Number(E.maxQty)?1:ui.convertValueToPercentage(Number(n.order_quantity??0),0,E.maxQty)/100,[n.order_quantity,E.maxQty]),dt=()=>{if(v.base_tick<1||n.order_type===types.OrderType.SCALED||!n.order_quantity)return;let c=hooks.utils.formatNumber(n?.order_quantity,new utils.Decimal(v?.base_tick||"0").toNumber());_("order_quantity",c,{shouldUpdateLastChangedField:false});},le=c=>u=>{z.current=c,[4,5].includes(z.current)&&(y.current=c);},We=c=>u=>{setTimeout(()=>{z.current===c&&(z.current=8);},300),c===2&&dt();},Ye=()=>{S({tp_trigger_price:"",sl_trigger_price:"",position_type:types.PositionType.FULL});},_e=()=>{S({order_type_ext:void 0,position_type:types.PositionType.FULL});},ct=()=>{_("order_quantity",E.maxQty);},mt=(c,u,C)=>{if(c==="order_type"&&t(u),c==="side"&&a(u),c==="reduce_only"&&u||c==="order_type"&&(u===types.OrderType.STOP_LIMIT||u===types.OrderType.STOP_MARKET)){let F={tp_trigger_price:"",sl_trigger_price:"",[c]:u};c==="order_type"&&(F.order_type_ext=""),S(F);return}if(c==="order_type"&&u!==types.OrderType.LIMIT){let F={level:void 0,order_type_ext:void 0,[c]:u};S(F);return}if(c==="order_type"&&u===types.OrderType.SCALED){S({distribution_type:types.DistributionType.FLAT,[c]:u});return}_(c,u,C);},Ge=c=>{P(c),c?_e():Ye();},oe=Qr.useMemo(()=>R||[types.OrderType.POST_ONLY,types.OrderType.IOC,types.OrderType.FOK].includes(n.order_type_ext)?"disabled":s&&n.order_type===types.OrderType.LIMIT?"on":"off",[R,n.order_type_ext,n.order_type,s]),Ke=()=>{s?(l(void 0),S({order_type_ext:void 0,level:void 0})):l(g.current||types.BBOOrderType.COUNTERPARTY1);},pt=c=>{l(c),g.current=c;};Qr.useEffect(()=>{if(oe==="disabled"){let{order_type_ext:c}=n;S({order_type_ext:Ae({order_type_ext:c})?void 0:c,level:void 0});}},[oe,n.order_type_ext]),Qr.useEffect(()=>{if(oe==="on"){let c=rr(s,n.side),u=or(s);S({order_type_ext:c,level:u});}},[s,oe,n.side]),Qr.useEffect(()=>{let c=u=>{_("order_price",u);};return L.on("update:orderPrice",c),()=>{L.off("update:orderPrice",c);}},[]),Qr.useEffect(()=>{let c=C=>{requestAnimationFrame(()=>{C?.focus();});},u=C=>{let F=utils.removeTrailingZeros(C[0]),{order_type:W,order_type_ext:so}=n;if(z.current===1&&(W===types.OrderType.STOP_LIMIT||W===types.OrderType.STOP_MARKET)){_("trigger_price",F),c($.current);return}if(Ae({order_type:W,order_type_ext:so})){l(void 0),S({order_type_ext:void 0,level:void 0}),requestAnimationFrame(()=>{L.emit("update:orderPrice",F);}),c(J.current);return}if(W===types.OrderType.STOP_LIMIT||W===types.OrderType.LIMIT){_("order_price",F),c(J.current);return}if(W===types.OrderType.STOP_MARKET){_("trigger_price",F),c($.current);return}if(W===types.OrderType.MARKET){l(void 0),S({order_type:types.OrderType.LIMIT,order_price:F}),c(J.current);return}if(W===types.OrderType.SCALED&&y.current){let ao=y.current===4?"start_price":"end_price";_(ao,F),c(J.current);return}_("order_price",F),c(J.current);};return L.on("orderbook:item:click",u),()=>{L.off("orderbook:item:click",u);}},[n,v]),Qr.useEffect(()=>{let c=fe.current;if(!c)return;let u=new ResizeObserver(C=>{for(let F of C){let W=F.contentRect.width;W&&Te(W);}});return u.observe(c),()=>{u.unobserve(c);}},[fe,n.order_type_ext]),Qr.useEffect(()=>{E.reset(),E.resetMetaState();},[e.symbol]),Qr.useEffect(()=>{n.order_type===types.OrderType.SCALED&&!n.distribution_type&&_("distribution_type",types.DistributionType.FLAT);},[n.order_type,n.distribution_type]);let ft=hooks.useComputedLTV(),[gt,yt]=Qr.useState([0,0]),ge=hooks.useDebouncedCallback(c=>{yt([c.asks?.[c.asks.length-1]?.[0],c.bids?.[0]?.[0]]);},200);Qr.useEffect(()=>(L.on("orderbook:update",ge),()=>{L.off("orderbook:update",ge),ge.cancel();}),[ge]);let bt=()=>{if(oe==="on"&&Ke(),n.order_type===types.OrderType.LIMIT){let[c=0,u=0]=gt,C=new utils.Decimal(no(c)).add(no(u)).div(2).toNumber();requestAnimationFrame(()=>{L.emit("update:orderPrice",C);});}};return {...E,currentQtyPercentage:Fe,side:n.side,type:n.order_type,level:n.level,setOrderValue:mt,setOrderValues:S,currentLeverage:U,formattedOrder:n,tpslSwitch:R,setTpslSwitch:Ge,setMaxQty:ct,symbolInfo:v,onFocus:le,onBlur:We,refs:{triggerPriceInputRef:$,priceInputRef:J,priceInputContainerRef:fe},canTrade:ae,bboStatus:oe,bboType:s,onBBOChange:pt,toggleBBO:Ke,priceInputContainerWidth:Qe,currentLtv:ft,fillMiddleValue:bt,quantityUnit:d,setQuantityUnit:f,symbol:e.symbol,soundAlert:p,setSoundAlert:m}};var fs=e=>{let r=Xt(e);return jsxRuntime.jsx(Ht,{...r,containerRef:e.containerRef,disableFeatures:e.disableFeatures})};
|
|
20
|
+
var fo=e=>e>=0&&e<50?"oui-text-success":e>=50&&e<80?"oui-text-warning":e>=80?"oui-text-danger":"",_t=e=>{let{t:r}=i18n.useTranslation(),{ltv_threshold:t,negative_usdc_threshold:i,isThresholdLoading:s,holdingData:n=[],currentLtv:a,onConvert:u}=e;return jsxRuntime.jsxs(ui.Flex,{gap:1,className:"oui-w-72 oui-max-w-72",direction:"column",children:[jsxRuntime.jsxs(ui.Flex,{width:"100%",justify:"between",itemAlign:"center",children:[jsxRuntime.jsx(ui.Text,{intensity:36,size:"xs",children:r("common.assets")}),jsxRuntime.jsx(ui.Text,{intensity:36,size:"xs",children:r("transfer.deposit.collateralContribution")})]}),n.map((g,f)=>jsxRuntime.jsxs(ui.Flex,{width:"100%",justify:"between",itemAlign:"center",children:[jsxRuntime.jsx(ui.Text,{intensity:80,size:"xs",children:g.token}),jsxRuntime.jsx(ui.Text,{size:"xs",intensity:80,className:ui.cn(Number(g.collateralContribution)<0&&"oui-text-warning"),children:utils.removeTrailingZeros(g.collateralContribution)})]},`item-${f}`)),jsxRuntime.jsx(ui.Divider,{className:"oui-w-full"}),jsxRuntime.jsxs(ui.Flex,{width:"100%",justify:"between",itemAlign:"center",children:[jsxRuntime.jsx(ui.Text,{intensity:36,size:"xs",children:r("transfer.LTV.currentLTV")}),jsxRuntime.jsxs(ui.Text,{size:"xs",intensity:36,className:ui.cn("oui-select-none",fo(a)),children:[a,"%"]})]}),jsxRuntime.jsx(ui.Text,{className:"oui-py-2",intensity:54,size:"2xs",children:r("transfer.LTV.tooltip",{threshold:s?"-":t,usdcThreshold:s?"-":i})}),jsxRuntime.jsx(ui.Button,{fullWidth:true,size:"md",variant:"outlined",color:"secondary",onClick:u,children:r("transfer.convert.convertAssets")})]})};var Oo=()=>{let{data:e,error:r,isLoading:t}=hooks.useQuery("/v1/public/auto_convert_threshold",{errorRetryCount:3});return {ltv_threshold:new utils.Decimal(e?.ltv_threshold??0).mul(100).toNumber(),negative_usdc_threshold:e?.negative_usdc_threshold,isLoading:t,error:r}},ht=()=>{let{data:e=[],isLoading:r}=hooks.useHoldingStream(),{ltv_threshold:t,negative_usdc_threshold:i,isLoading:s}=Oo(),n=hooks.useTokensInfo(),{data:a}=hooks.useIndexPricesStream(),u=e.map(p=>{let b=n?.find(({token:h})=>h===p.token),l=p.token==="USDC"?1:a?.[`PERP_${p.token}_USDC`]??0,m=b?perp.account.collateralRatio({baseWeight:b.base_weight??0,discountFactor:b.discount_factor??0,collateralQty:p.holding,collateralCap:b?.user_max_qty??p.holding,indexPrice:l}):utils.zero,S=perp.account.collateralContribution({collateralQty:p.holding,collateralCap:b?.user_max_qty??p.holding,collateralRatio:m.toNumber(),indexPrice:l});return {...p,collateralContribution:S}}),g=hooks.useComputedLTV(),f=Yr.useCallback(async()=>ui.modal.show("ConvertDialogId"),[]);return {holdingData:u,isHoldingLoading:r,ltv_threshold:t,negative_usdc_threshold:i,isThresholdLoading:s,currentLtv:g,onConvert:f}};var Je=()=>{let e=ht();return jsxRuntime.jsx(_t,{...e})};var rr=e=>{let{pinned:r,orderTypeExtra:t}=e,{t:i}=i18n.useTranslation(),s=n=>a=>{e.onValueChange&&e.onValueChange("order_type_ext",a?n:"");};return Yr.useEffect(()=>{e.onValueChange?.("visible_quantity",e.hidden?0:1);},[e.hidden]),jsxRuntime.jsxs("div",{className:"oui-text-base-contrast-54",children:[jsxRuntime.jsxs(ui.Flex,{justify:r?"start":"between",mb:3,width:r?"unset":"100%",className:"oui-gap-x-2 md:oui-gap-x-3",wrap:"wrap",gapY:1,children:[jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",children:[jsxRuntime.jsx(ui.Checkbox,{"data-testid":"oui-testid-orderEntry-postOnly-checkBox",id:"toggle_order_post_only",className:"oui-peer",color:"white",variant:"radio",disabled:!e.showExtra,checked:t===types.OrderType.POST_ONLY,onCheckedChange:s(types.OrderType.POST_ONLY)}),jsxRuntime.jsx("label",{htmlFor:"toggle_order_post_only",className:ui.cn("oui-text-2xs oui-ml-1 peer-data-[disabled]:oui-text-base-contrast-20","oui-break-normal oui-whitespace-nowrap"),children:i("orderEntry.orderType.postOnly")})]}),jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",children:[jsxRuntime.jsx(ui.Checkbox,{"data-testid":"oui-testid-orderEntry-ioc-checkBox",id:"toggle_order_iov",color:"white",className:"oui-peer",variant:"radio",checked:t===types.OrderType.IOC,onCheckedChange:s(types.OrderType.IOC),disabled:!e.showExtra}),jsxRuntime.jsx("label",{htmlFor:"toggle_order_iov",className:ui.cn("oui-text-2xs oui-ml-1 peer-data-[disabled]:oui-text-base-contrast-20","oui-break-normal oui-whitespace-nowrap"),children:i("orderEntry.orderType.ioc")})]}),jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",children:[jsxRuntime.jsx(ui.Checkbox,{"data-testid":"oui-testid-orderEntry-fox-checkBox",id:"toggle_order_fok",color:"white",variant:"radio",className:"oui-peer",checked:t===types.OrderType.FOK,onCheckedChange:s(types.OrderType.FOK),disabled:!e.showExtra}),jsxRuntime.jsx("label",{htmlFor:"toggle_order_fok",className:ui.cn("oui-text-2xs oui-ml-1 peer-data-[disabled]:oui-text-base-contrast-20","oui-break-normal oui-whitespace-nowrap"),children:i("orderEntry.orderType.fok")})]})]}),jsxRuntime.jsxs(ui.Flex,{gapX:6,children:[jsxRuntime.jsxs(ui.Flex,{children:[jsxRuntime.jsx(ui.Checkbox,{"data-testid":"oui-testid-orderEntry-orderConfirm-checkBox",id:"toggle_order_confirm",color:"white",checked:e.needConfirm,onCheckedChange:n=>{e.setNeedConfirm(!!n);}}),jsxRuntime.jsx("label",{htmlFor:"toggle_order_confirm",className:"oui-text-2xs oui-ml-1",children:i("orderEntry.orderConfirm")})]}),jsxRuntime.jsxs(ui.Flex,{children:[jsxRuntime.jsx(ui.Checkbox,{"data-testid":"oui-testid-orderEntry-hidden-checkBox",id:"toggle_order_hidden",color:"white",checked:e.hidden,onCheckedChange:n=>{e.setHidden(n);}}),jsxRuntime.jsx("label",{htmlFor:"toggle_order_hidden",className:"oui-text-2xs oui-ml-1",children:i("orderEntry.hidden")})]})]}),!r&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Divider,{className:"oui-my-3"}),jsxRuntime.jsxs(ui.Flex,{children:[jsxRuntime.jsx(ui.Switch,{"data-testid":"oui-testid-orderEntry-additional-keepVisible-switch",id:"toggle_order_keep_visible",onCheckedChange:n=>{e.setPinned(n);}}),jsxRuntime.jsx("label",{htmlFor:"toggle_order_keep_visible",className:"oui-text-2xs oui-ml-1",children:i("orderEntry.keepVisible")})]})]})]})};var or=()=>({});var et=e=>{let r=or();return jsxRuntime.jsx(rr,{...r,...e})};function Be(e){let{order_type:r,order_type_ext:t}=e,i=[types.OrderType.ASK,types.OrderType.BID].includes(t);return r?r===types.OrderType.LIMIT&&i:i}function ir(e,r){if([types.BBOOrderType.COUNTERPARTY1,types.BBOOrderType.COUNTERPARTY5].includes(e))return r===types.OrderSide.BUY?types.OrderType.ASK:types.OrderType.BID;if([types.BBOOrderType.QUEUE1,types.BBOOrderType.QUEUE5].includes(e))return r===types.OrderSide.BUY?types.OrderType.BID:types.OrderType.ASK}function nr(e){if([types.BBOOrderType.COUNTERPARTY1,types.BBOOrderType.QUEUE1].includes(e))return types.OrderLevel.ONE;if([types.BBOOrderType.COUNTERPARTY5,types.BBOOrderType.QUEUE5].includes(e))return types.OrderLevel.FIVE}function sr(e){let{type:r,side:t,level:i}=e;if(r===types.OrderType.ASK){if(i===types.OrderLevel.ONE)return t===types.OrderSide.BUY?types.BBOOrderType.COUNTERPARTY1:types.BBOOrderType.QUEUE1;if(i===types.OrderLevel.FIVE)return t===types.OrderSide.BUY?types.BBOOrderType.COUNTERPARTY5:types.BBOOrderType.QUEUE5}if(r===types.OrderType.BID){if(i===types.OrderLevel.ONE)return t===types.OrderSide.BUY?types.BBOOrderType.QUEUE1:types.BBOOrderType.COUNTERPARTY1;if(i===types.OrderLevel.FIVE)return t===types.OrderSide.BUY?types.BBOOrderType.QUEUE5:types.BBOOrderType.COUNTERPARTY5}}function ar(e){let r=e?.data?.rows||[];if(r.length>0){let t=r.length,i=r.filter(s=>s.success).length;return i===t?i18n.i18n.t("orderEntry.scaledOrder.fullySuccessful",{total:t}):i===0?i18n.i18n.t("orderEntry.scaledOrder.allFailed"):i18n.i18n.t("orderEntry.scaledOrder.partiallySuccessful",{successCount:i,total:t})}}var Pt=e=>{let{symbolInfo:r,order:t,onConfirm:i,onCancel:s}=e,{quote_dp:n,base_dp:a}=r,{side:u,order_type:g,order_type_ext:f,level:p,symbol:b}=t,{t:l}=i18n.useTranslation(),[{rows:m},S]=hooks.usePositionStream(b),P=m?.[0]?.position_qty,[I,E]=hooks.useLocalStorage("orderly_order_confirm",true),A=()=>t.position_type===types.PositionType.FULL?jsxRuntime.jsx(ui.Text,{children:l("tpsl.positionType.full")}):jsxRuntime.jsx(ui.Text,{children:l("tpsl.positionType.partial")}),$=()=>{if(g===types.OrderType.MARKET||g===types.OrderType.STOP_MARKET)return jsxRuntime.jsx(ui.Text,{intensity:80,children:l("common.marketPrice")});if(Be({order_type:g,order_type_ext:f})){let Q=sr({type:f,side:u,level:p}),q={[types.BBOOrderType.COUNTERPARTY1]:l("orderEntry.bbo.counterparty1"),[types.BBOOrderType.COUNTERPARTY5]:l("orderEntry.bbo.counterparty5"),[types.BBOOrderType.QUEUE1]:l("orderEntry.bbo.queue1"),[types.BBOOrderType.QUEUE5]:l("orderEntry.bbo.queue5")}[Q];return jsxRuntime.jsx(ui.Text,{intensity:80,children:q})}return jsxRuntime.jsx(ui.Text.numeral,{unit:"USDC",rule:"price",className:"oui-text-base-contrast",unitClassName:"oui-text-base-contrast-36 oui-ml-1",dp:n,padding:false,children:t.order_price})},B=({price:Q,isOrderPrice:q,isEnable:M,colorType:y})=>M?!Q&&q?jsxRuntime.jsx(ui.Text,{className:"oui-text-base-contrast-36",children:l("common.marketPrice")}):jsxRuntime.jsx(ui.Text.numeral,{unit:"USDC",rule:"price",className:ui.cn("oui-text-base-contrast",y==="TP"?"oui-text-trade-profit":"oui-text-trade-loss"),unitClassName:"oui-text-base-contrast-36 oui-ml-1",dp:n,padding:false,children:Q}):jsxRuntime.jsx(ui.Text,{className:"oui-text-base-contrast-36",children:"-- USDC"}),oe=Yr.useMemo(()=>{let Q=new utils.Decimal(t.order_quantity);return t.position_type===types.PositionType.FULL&&(Q=Q.plus(new utils.Decimal(P))),jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{children:t.position_type===types.PositionType.FULL?l("common.positionQty"):l("common.orderQty")}),jsxRuntime.jsx(ui.Text.numeral,{rule:"price",dp:a,padding:false,className:"oui-text-base-contrast",children:Q.toNumber()})]})},[t,P,l]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text.formatted,{rule:"symbol",showIcon:true,children:t.symbol}),jsxRuntime.jsxs(ui.Flex,{justify:"end",gapX:1,children:[jsxRuntime.jsx(qo,{type:g}),u===types.OrderSide.BUY?jsxRuntime.jsx(ui.Badge,{color:"buy",size:"sm",children:l("common.buy")}):jsxRuntime.jsx(ui.Badge,{color:"sell",size:"sm",children:l("common.sell")})]})]}),jsxRuntime.jsx(ui.Divider,{className:"oui-my-4"}),jsxRuntime.jsxs("div",{className:ui.textVariants({size:"sm",intensity:54,className:"oui-space-y-1"}),children:[jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{children:l("common.orderQty")}),jsxRuntime.jsx(ui.Text.numeral,{rule:"price",dp:a,padding:false,className:"oui-text-base-contrast",children:t.order_quantity})]}),t.trigger_price?jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{children:l("common.trigger")}),jsxRuntime.jsx(ui.Text.numeral,{unit:"USDC",rule:"price",className:"oui-text-base-contrast",unitClassName:"oui-text-base-contrast-36 oui-ml-1",dp:n,padding:false,children:t.trigger_price})]}):null,jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{children:l("common.price")}),$()]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{children:l("common.estTotal")}),jsxRuntime.jsx(ui.Text.numeral,{unit:"USDC",rule:"price",dp:n,padding:false,className:"oui-text-base-contrast",unitClassName:"oui-text-base-contrast-36 oui-ml-1",children:t.total})]})]}),t.tp_trigger_price||t.sl_trigger_price?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Divider,{className:"oui-my-4"}),jsxRuntime.jsxs("div",{className:ui.textVariants({size:"sm",intensity:54,className:"oui-space-y-1 oui-w-full oui-flex oui-flex-col oui-gap-3"}),children:[jsxRuntime.jsx(ui.Text,{className:"oui-text-base-contrast",children:A()}),oe,jsxRuntime.jsxs(ui.Flex,{direction:"column",justify:"between",itemAlign:"start",gap:1,className:"oui-w-full",children:[jsxRuntime.jsxs(ui.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(ui.Text,{children:l("tpsl.tpTriggerPrice")}),B({price:t.tp_trigger_price??"",isOrderPrice:false,isEnable:!!t.tp_trigger_price,colorType:"TP"})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(ui.Text,{children:l("tpsl.tpOrderPrice")}),B({price:t.tp_order_price??"",isOrderPrice:true,isEnable:!!t.tp_trigger_price,colorType:"TP"})]})]}),jsxRuntime.jsxs(ui.Flex,{direction:"column",justify:"between",itemAlign:"start",gap:1,className:"oui-w-full",children:[jsxRuntime.jsxs(ui.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(ui.Text,{children:l("tpsl.slTriggerPrice")}),B({price:t.sl_trigger_price??"",isOrderPrice:false,isEnable:!!t.sl_trigger_price,colorType:"SL"})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(ui.Text,{children:l("tpsl.slOrderPrice")}),B({price:t.sl_order_price??"",isOrderPrice:true,isEnable:!!t.sl_trigger_price,colorType:"SL"})]})]})]})]}):null,jsxRuntime.jsxs(ui.Flex,{gapX:1,pt:4,pb:5,children:[jsxRuntime.jsx(ui.Checkbox,{id:"orderConfirm",color:"white",onCheckedChange:Q=>{E(!Q);}}),jsxRuntime.jsx("label",{htmlFor:"orderConfirm",className:ui.textVariants({size:"xs",intensity:54}),children:l("orderEntry.disableOrderConfirm")})]}),jsxRuntime.jsxs(ui.Grid,{cols:2,gapX:3,children:[jsxRuntime.jsx(ui.Button,{color:"secondary",size:"md",onClick:()=>s(),children:l("common.cancel")}),jsxRuntime.jsx(ui.Button,{size:"md",onClick:()=>i(),children:l("common.confirm")})]})]})};Pt.displayName="OrderConfirmDialog";var qo=e=>{let{t:r}=i18n.useTranslation(),t=Yr.useMemo(()=>{switch(e.type){case types.OrderType.LIMIT:return r("orderEntry.orderType.limit");case types.OrderType.MARKET:return r("common.marketPrice");case types.OrderType.STOP_LIMIT:return r("orderEntry.orderType.stopLimit");case types.OrderType.STOP_MARKET:return r("orderEntry.orderType.stopMarket");default:return ""}},[e.type]);return jsxRuntime.jsx(ui.Badge,{color:"neutral",size:"sm",children:t})},Uo=e=>{let{close:r,resolve:t,reject:i,...s}=e;return jsxRuntime.jsx(Pt,{...s,onCancel:()=>{i(),r();},onConfirm:()=>{t(),r();}})},Nt="orderConfirm";ui.registerSimpleDialog(Nt,Uo,{size:"sm",title:()=>i18n.i18n.t("orderEntry.orderConfirm")});var wt=e=>{let{order:r,symbolInfo:t,dataSource:i,national:s,askAndBid:n,totalQuantity:a}=e,{base:u,quote:g,base_dp:f,quote_dp:p}=t,{t:b}=i18n.useTranslation(),l=()=>{e.reject(),e.close?.();},m=()=>{e.resolve(),e.close?.();},S=Yr.useMemo(()=>[{title:b("common.symbol"),dataIndex:"symbol",width:125,render:(h,P)=>jsxRuntime.jsxs(ui.Flex,{gap:2,children:[jsxRuntime.jsx("div",{className:ui.cn("oui-h-[38px] oui-w-1 oui-shrink-0 oui-rounded-[1px]",P.side===types.OrderSide.BUY?"oui-bg-trade-profit":"oui-bg-trade-loss")}),jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",children:[jsxRuntime.jsxs(ui.Flex,{gapX:1,children:[jsxRuntime.jsx(ui.TokenIcon,{symbol:h,className:"oui-size-3"}),jsxRuntime.jsx(ui.Text.formatted,{rule:"symbol",size:"xs",formatString:"base-type",children:h})]}),jsxRuntime.jsx(ui.Badge,{color:"neutral",size:"xs",children:b("orderEntry.orderType.limit")})]})]})},{title:b("common.quantity"),dataIndex:"order_quantity",width:100,render:(h,P)=>jsxRuntime.jsx(ui.Text.numeral,{rule:"price",dp:f,padding:false,color:P.side===types.OrderSide.BUY?"buy":"sell",children:h})},{title:b("common.orderPrice"),dataIndex:"order_price",width:100,render:(h,P)=>{let I=!!(P.side===types.OrderSide.BUY?n?.[0]&&Number(h)>=n?.[0]:n?.[1]&&Number(h)<=n?.[1]);return jsxRuntime.jsxs(ui.Flex,{gapX:1,children:[jsxRuntime.jsx(ui.Text.numeral,{rule:"price",dp:p,children:h}),I&&jsxRuntime.jsx(ui.Tooltip,{content:b("orderEntry.confirmScaledOrder.orderPrice.warning"),className:"oui-w-[240px] oui-text-2xs oui-font-semibold oui-text-base-contrast-80",children:jsxRuntime.jsx(jo,{className:"oui-text-warning-darken"})})]})}}],[b,t,n,f,p]);return jsxRuntime.jsxs("div",{className:"oui-font-semibold",children:[jsxRuntime.jsx(ui.DataTable,{classNames:{root:ui.cn("oui-bg-base-7","oui-rounded-lg","oui-overflow-hidden",r.orders?.length>=6&&"oui-h-[320px]"),scroll:"!oui-min-h-[130px]"},dataSource:i,columns:S,bordered:true,onRow:()=>({className:ui.cn("oui-h-[50px]")})}),jsxRuntime.jsxs("div",{className:"oui-mb-5 oui-mt-4 oui-text-2xs",children:[jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{children:b("orderEntry.totalOrders")}),jsxRuntime.jsx(ui.Text,{intensity:80,children:r.orders?.length})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",mt:2,children:[jsxRuntime.jsx(ui.Text,{children:b("orderEntry.totalQuantity")}),jsxRuntime.jsx(ui.Text.numeral,{rule:"price",unit:u,dp:f,padding:false,intensity:80,unitClassName:"oui-text-base-contrast-36 oui-ml-1",children:a})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",mt:2,children:[jsxRuntime.jsx(ui.Text,{children:b("common.notional")}),jsxRuntime.jsx(ui.Text.numeral,{rule:"price",unit:g,dp:p,padding:false,intensity:80,unitClassName:"oui-text-base-contrast-36 oui-ml-1",children:s})]})]}),jsxRuntime.jsxs(ui.Grid,{cols:2,gapX:3,children:[jsxRuntime.jsx(ui.Button,{color:"secondary",size:"md",onClick:l,children:b("common.cancel")}),jsxRuntime.jsx(ui.Button,{size:"md",onClick:m,children:b("common.confirm")})]})]})},jo=Yr.forwardRef((e,r)=>jsxRuntime.jsx("svg",{width:"12",height:"13",viewBox:"0 0 12 13",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",ref:r,...e,children:jsxRuntime.jsx("path",{d:"M5.99951 1.50708C3.23811 1.50708 0.999512 3.74558 0.999512 6.50708C0.999512 9.26858 3.23811 11.5071 5.99951 11.5071C8.76091 11.5071 10.9995 9.26858 10.9995 6.50708C10.9995 3.74558 8.76091 1.50708 5.99951 1.50708ZM5.99951 4.00708C6.27566 4.00708 6.49951 4.23108 6.49951 4.50708C6.49951 4.78308 6.27566 5.00708 5.99951 5.00708C5.72336 5.00708 5.49951 4.78308 5.49951 4.50708C5.49951 4.23108 5.72336 4.00708 5.99951 4.00708ZM5.99951 5.50708C6.27566 5.50708 6.49951 5.73108 6.49951 6.00708V8.50708C6.49951 8.78308 6.27566 9.00708 5.99951 9.00708C5.72336 9.00708 5.49951 8.78308 5.49951 8.50708V6.00708C5.49951 5.73108 5.72336 5.50708 5.99951 5.50708Z"})}));function Ft(e){let{order:r,symbolInfo:t}=e,i=r.orders,[s,n]=Yr.useState(),a=hooks.useEventEmitter(),u=Yr.useMemo(()=>i.reduce((p,b)=>p.add(new utils.Decimal(b.order_price).mul(b.order_quantity)),utils.zero).toNumber(),[i]),g=Yr.useMemo(()=>i.reduce((p,b)=>p.add(new utils.Decimal(b.order_quantity)),utils.zero).toString(),[i,t.base_dp]);return Yr.useEffect(()=>{let f=p=>{let b=p.asks?.[p.asks.length-1]?.[0],l=p.bids?.[0]?.[0];n([b,l]);};return a.on("orderbook:update",f),()=>{a.off("orderbook:update",f);}},[]),{dataSource:i,national:u,askAndBid:s,totalQuantity:g}}var xr=e=>{let r=Ft(e);return jsxRuntime.jsx(wt,{...e,...r})},rt="scaledOrderConfirm";ui.registerSimpleDialog(rt,xr,{size:"md",title:()=>i18n.i18n.t("orderEntry.confirmScaledOrder"),contentProps:{}});var kt=e=>{let{t:r}=i18n.useTranslation(),{takerFeeRate:t,makerFeeRate:i}=e,{widgetConfigs:s}=reactApp.useAppContext(),n=jsxRuntime.jsxs(ui.Flex,{width:"100%",itemAlign:"center",justify:"between",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",children:r("common.fees")}),jsxRuntime.jsx(uiConnector.AuthGuard,{fallback:()=>jsxRuntime.jsxs(ui.Text,{size:"2xs",children:[r("portfolio.feeTier.column.taker"),": --% /"," ",r("portfolio.feeTier.column.maker"),": --%"]}),children:jsxRuntime.jsxs(ui.Flex,{gap:1,children:[jsxRuntime.jsxs(ui.Text,{size:"2xs",children:[r("portfolio.feeTier.column.taker"),":"]}),jsxRuntime.jsx(ui.Text,{size:"2xs",className:"oui-text-base-contrast-80",children:t}),jsxRuntime.jsx(ui.Text,{size:"2xs",children:"/"}),jsxRuntime.jsxs(ui.Text,{size:"2xs",children:[r("portfolio.feeTier.column.maker"),":"]}),jsxRuntime.jsx(ui.Text,{size:"2xs",className:"oui-text-base-contrast-80",children:i})]})})]}),a=s?.orderEntry?.fees?.trailing;return typeof a=="function"?a(n):n};var Rt=()=>{let{data:e}=hooks.useAccountInfo(),r=Yr.useMemo(()=>{let i=e?.futures_taker_fee_rate;if(!(typeof i>"u"))return `${new utils.Decimal(i).mul(.01).toString()}%`},[e]),t=Yr.useMemo(()=>{let i=e?.futures_maker_fee_rate;if(!(typeof i>"u"))return `${new utils.Decimal(i).mul(.01).toString()}%`},[e]);return {takerFeeRate:r,makerFeeRate:t}};var At=()=>{let e=Rt();return jsxRuntime.jsx(kt,{...e})};var De=Yr.createContext({}),Cr=De.Provider;var vr=e=>{let{t:r}=i18n.useTranslation(),{className:t,...i}=e,s=()=>{ui.modal.dialog({title:r("common.tips"),size:"sm",content:jsxRuntime.jsx(fi,{value:e.value})});};return jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",justify:"center",p:2,r:"base",width:"100%",intensity:600,className:ui.cn("oui-t-rounded oui-text-base-contrast-36","oui-border oui-border-solid oui-border-line",t),children:[jsxRuntime.jsx(ui.Text,{size:"2xs",className:"oui-cursor-pointer oui-border-b oui-border-dashed oui-border-line-12",onClick:s,children:r("orderEntry.quantityDistribution")}),jsxRuntime.jsx(gi,{...i})]})},fi=e=>{let{t:r}=i18n.useTranslation(),[t,i]=Yr.useState(types.DistributionType.FLAT);Yr.useEffect(()=>{i([types.DistributionType.FLAT,types.DistributionType.ASCENDING,types.DistributionType.DESCENDING].includes(e.value)?e.value:types.DistributionType.FLAT);},[e.value]);let s=Yr.useMemo(()=>[{type:types.DistributionType.FLAT,title:r("orderEntry.distributionType.flat"),description:r("orderEntry.distributionType.flat.description"),formula:`${r("orderEntry.skew")} = 1`,quantity:jsxRuntime.jsx(yi,{})},{type:types.DistributionType.ASCENDING,title:r("orderEntry.distributionType.ascending"),description:r("orderEntry.distributionType.ascending.description"),formula:`${r("orderEntry.skew")} > 1`,quantity:jsxRuntime.jsx(bi,{})},{type:types.DistributionType.DESCENDING,title:r("orderEntry.distributionType.descending"),description:r("orderEntry.distributionType.descending.description"),formula:`0 < ${r("orderEntry.skew")} < 1`,quantity:jsxRuntime.jsx(xi,{})}],[]),n=Yr.useMemo(()=>s.find(a=>a.type===t),[s,t]);return jsxRuntime.jsxs("div",{className:"oui-text-2xs oui-font-semibold oui-text-base-contrast-54",children:[jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",gapY:1,children:[jsxRuntime.jsx(ui.Text,{intensity:80,children:r("orderEntry.quantityDistribution.description")}),jsxRuntime.jsx(ui.Text,{children:r("orderEntry.quantityDistribution.formula")})]}),jsxRuntime.jsxs(ui.Flex,{intensity:600,p:1,r:"base",mt:3,itemAlign:"start",children:[jsxRuntime.jsx(ui.Flex,{direction:"column",itemAlign:"start",children:s.map(a=>jsxRuntime.jsx(ui.Box,{intensity:t===a.type?500:600,width:78,p:2,className:"oui-cursor-pointer oui-rounded-l",onClick:()=>{i(a.type);},children:jsxRuntime.jsx(ui.Text,{children:a.title})},a.title))}),jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",gapY:1,p:2,intensity:500,width:"100%",className:ui.cn("oui-rounded-r",t===types.DistributionType.FLAT&&"oui-rounded-bl",t===types.DistributionType.ASCENDING&&"oui-rounded-l",t===types.DistributionType.DESCENDING&&"oui-rounded-tl"),children:[jsxRuntime.jsx("div",{children:n?.formula}),jsxRuntime.jsx(ui.Text,{children:n?.description}),jsxRuntime.jsx(ui.Flex,{width:"100%",justify:"center",children:n?.quantity}),jsxRuntime.jsxs(ui.Flex,{width:"100%",gapX:1,justify:"center",children:[jsxRuntime.jsx(ui.Text,{className:"oui-text-base-1",children:r("common.price")}),jsxRuntime.jsx(Ti,{})]})]})]})]})},gi=e=>{let{value:r,onValueChange:t}=e,{t:i}=i18n.useTranslation(),s=a=>u=>{t(a);},n=Yr.useMemo(()=>({[types.DistributionType.FLAT]:i("orderEntry.distributionType.flat"),[types.DistributionType.ASCENDING]:i("orderEntry.distributionType.ascending.abbr"),[types.DistributionType.DESCENDING]:i("orderEntry.distributionType.descending.abbr"),[types.DistributionType.CUSTOM]:i("orderEntry.distributionType.custom")}),[i]);return jsxRuntime.jsx(ui.Flex,{className:ui.cn("oui-gap-x-[6px] lg:oui-gap-x-2"),wrap:"wrap",children:Object.values(types.DistributionType).map(a=>jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",children:[jsxRuntime.jsx(ui.Checkbox,{id:`distribution-type-${a}`,color:"white",variant:"radio",checked:r===a,onCheckedChange:s(a)}),jsxRuntime.jsx("label",{htmlFor:`distribution-type-${a}`,className:ui.cn("oui-text-2xs","oui-ml-1","oui-whitespace-nowrap oui-break-normal"),children:n[a]})]},a))})},yi=()=>jsxRuntime.jsxs("svg",{width:"218",height:"40",viewBox:"0 0 218 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsxRuntime.jsx("rect",{x:"18",y:"18",width:"181",height:"4",fill:"rgb(var(--oui-color-base-2))"}),jsxRuntime.jsx("circle",{cx:"15",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsxRuntime.jsx("circle",{cx:"62",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsxRuntime.jsx("circle",{cx:"109",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsxRuntime.jsx("circle",{cx:"156",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsxRuntime.jsx("circle",{cx:"203",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"})]}),bi=()=>jsxRuntime.jsxs("svg",{width:"218",height:"40",viewBox:"0 0 218 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsxRuntime.jsx("rect",{x:"18",y:"18",width:"181",height:"4",fill:"rgb(var(--oui-color-base-2))"}),jsxRuntime.jsx("circle",{cx:"15",cy:"20",r:"4.28571",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"1.42857"}),jsxRuntime.jsx("circle",{cx:"62",cy:"20",r:"5.14286",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"1.71429"}),jsxRuntime.jsx("circle",{cx:"109",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsxRuntime.jsx("circle",{cx:"156",cy:"20",r:"6.85714",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2.28571"}),jsxRuntime.jsx("circle",{cx:"203",cy:"20",r:"7.71429",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2.57143"})]}),xi=()=>jsxRuntime.jsxs("svg",{width:"218",height:"40",viewBox:"0 0 218 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsxRuntime.jsx("rect",{width:"181",height:"4",transform:"matrix(-1 0 0 1 200 18)",fill:"rgb(var(--oui-color-base-2))"}),jsxRuntime.jsx("circle",{cx:"5",cy:"5",r:"4.28571",transform:"matrix(-1 0 0 1 208 15)",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"1.42857"}),jsxRuntime.jsx("circle",{cx:"6",cy:"6",r:"5.14286",transform:"matrix(-1 0 0 1 162 14)",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"1.71429"}),jsxRuntime.jsx("circle",{cx:"7",cy:"7",r:"6",transform:"matrix(-1 0 0 1 116 13)",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsxRuntime.jsx("circle",{cx:"8",cy:"8",r:"6.85714",transform:"matrix(-1 0 0 1 70 12)",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2.28571"}),jsxRuntime.jsx("circle",{cx:"9",cy:"9",r:"7.71429",transform:"matrix(-1 0 0 1 24 11)",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2.57143"})]}),Ti=()=>jsxRuntime.jsx("svg",{width:"176",height:"8",viewBox:"0 0 176 8",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{d:"M175.354 4.35355C175.549 4.15829 175.549 3.84171 175.354 3.64645L172.172 0.464466C171.976 0.269204 171.66 0.269204 171.464 0.464466C171.269 0.659728 171.269 0.976311 171.464 1.17157L174.293 4L171.464 6.82843C171.269 7.02369 171.269 7.34027 171.464 7.53553C171.66 7.7308 171.976 7.7308 172.172 7.53553L175.354 4.35355ZM0 4V4.5H175V4V3.5H0V4Z",fill:"rgb(var(--oui-color-base-1))"})});var Oi=e=>jsxRuntime.jsx(ui.Text,{size:"2xs",intensity:36,children:e}),Or=e=>{let{base:r,quote:t}=e,i=Yr.useMemo(()=>[{name:t},{name:r}],[r,t]);return jsxRuntime.jsx(ui.Select.tokens,{variant:"text",size:"xs",iconSize:"2xs",tokens:i,classNames:{trigger:ui.cn("oui-absolute oui-right-0 oui-top-1","oui-w-full oui-justify-end")},value:e.value,onValueChange:e.onValueChange,valueFormatter:Oi,contentProps:{align:"end",alignOffset:-1,sideOffset:-4,className:"oui-border oui-border-line-6"}})};var Lr=[.01,.05,.1],wr=Yr.forwardRef((e,r)=>{let{t}=i18n.useTranslation(),[i,s]=Yr.useState(),[n,a]=Yr.useState(""),[u,g]=Yr.useState(void 0);Yr.useImperativeHandle(r,()=>({getValue:()=>n?new utils.Decimal(n)?.toNumber():i})),Yr.useEffect(()=>{e.initialValue&&!Lr.includes(e.initialValue)?a(e.initialValue.toString()):s(e.initialValue);},[e.initialValue,open]);let f=l=>{s(l),a(""),g(void 0);},p=l=>{if(!l){a(l);return}let m=new utils.Decimal(l);s(void 0),m.gt(3)?(a("3"),g(t("orderEntry.slippage.error.exceed"))):(a(l),g(void 0));},b=e.isMobile?jsxRuntime.jsx("button",{onClick:()=>{ui.modal.alert({title:t("common.tips"),message:jsxRuntime.jsx(ui.Text,{size:"2xs",children:t("orderEntry.slippage.tips")})});},children:jsxRuntime.jsx(ui.ExclamationFillIcon,{className:"oui-text-base-contrast-54",size:16})}):jsxRuntime.jsx(ui.Tooltip,{content:jsxRuntime.jsx(ui.Text,{intensity:80,size:"2xs",children:t("orderEntry.slippage.tips")}),className:"oui-w-[260px] oui-bg-base-6",arrow:{className:"oui-fill-base-6"},children:jsxRuntime.jsx(ui.TooltipTrigger,{children:jsxRuntime.jsx(ui.ExclamationFillIcon,{className:"oui-text-base-contrast-54",size:16})})});return jsxRuntime.jsxs("div",{className:"oui-text-2xs",children:[jsxRuntime.jsxs(ui.Flex,{mb:2,gapX:1,children:[jsxRuntime.jsx(ui.Text,{size:"xs",children:t("orderEntry.slippage")}),b]}),jsxRuntime.jsxs(ui.Flex,{gapX:2,children:[Lr.map(l=>jsxRuntime.jsx(Ri,{value:l,isActive:i===l,onClick:()=>{f(l);}},l)),jsxRuntime.jsx(ui.Input,{suffix:"%",formatters:[ui.inputFormatter.numberFormatter,ui.inputFormatter.dpFormatter(2)],value:n,onValueChange:p,classNames:{root:ui.cn("oui-rounded-md oui-bg-base-6","oui-h-[40px] oui-w-[74px]"),input:"oui-text-base-contrast",additional:"oui-pl-1"}})]}),!!u&&jsxRuntime.jsx(ui.Box,{mt:5,className:"-oui-mb-5",children:jsxRuntime.jsx(ui.Text,{size:"2xs",color:"danger",children:u})})]})}),Ri=({value:e,isActive:r,onClick:t})=>jsxRuntime.jsx(ui.Flex,{intensity:600,justify:"center",itemAlign:"center",r:"md",width:74,height:40,className:ui.cn("oui-cursor-pointer oui-select-none",r&&"oui-bg-primary-light"),onClick:t,children:jsxRuntime.jsxs(ui.Text,{size:"sm",intensity:80,children:[e,"%"]})});var Fr=e=>{let{t:r}=i18n.useTranslation(),[t,{setTrue:i,setFalse:s,toggle:n}]=hooks.useBoolean(false),{isMobile:a}=ui.useScreen(),u=Yr.useRef(null),g=()=>{let f=u.current?.getValue();return e.setSlippage(f?f.toString():"1"),s(),Promise.resolve(true)};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.SimpleDialog,{open:t,onOpenChange:n,title:r("common.settings"),contentProps:{size:a?"xs":"sm"},actions:{primary:{disabled:false,label:r("common.save"),onClick:g},secondary:{label:r("common.cancel"),onClick:()=>s()}},children:jsxRuntime.jsx(wr,{ref:u,isMobile:a,initialValue:e.slippage?Number(e.slippage):void 0})}),jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",children:r("orderEntry.slippage")}),jsxRuntime.jsx(uiConnector.AuthGuard,{fallback:()=>jsxRuntime.jsxs(ui.Text,{size:"2xs",children:[r("orderEntry.slippage.est"),": -% / ",r("common.max"),": --%"]}),children:jsxRuntime.jsxs(ui.Flex,{gap:1,children:[jsxRuntime.jsx(ui.Text.numeral,{size:"2xs",rule:"percentages",prefix:`${r("orderEntry.slippage.est")}: `,suffix:` / ${r("common.max")}: `,children:e.estSlippage??0}),jsxRuntime.jsx("button",{className:"oui-text-2xs",onClick:()=>i(),children:jsxRuntime.jsxs(ui.Flex,{className:"oui-gap-0.5",as:"span",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",className:"oui-text-primary",children:`${e.slippage||"-"}%`}),jsxRuntime.jsx(ui.EditIcon,{className:"oui-text-primary oui-hidden md:oui-block",size:12,opacity:1})]})})]})})]})]})};var kr=e=>jsxRuntime.jsx(Fr,{...e});var Ut=Yr.createContext({}),st=()=>Yr.useContext(Ut);var Ar=e=>{let{type:r,values:t,quote_dp:i}=e,{t:s}=i18n.useTranslation(),[n,a]=Yr.useState(true),{mode:u,setMode:g,tipsEle:f}=st(),[p,b]=Yr.useState(false),[l,m]=Yr.useState(false),S=Yr.useMemo(()=>{switch(u){case "Offset":return `${r.toLowerCase()}_offset`;case "Offset%":return `${r.toLowerCase()}_offset_percentage`;default:return `${r.toLowerCase()}_pnl`}},[u]),[h,P]=Yr.useState(t[u]);Yr.useEffect(()=>{l||P(t[u]);},[t,u,l]);let I=Yr.useMemo(()=>[{label:s("tpsl.pnl"),value:"PnL",testId:"PnL_menu_item"},{label:s("tpsl.offset"),value:"Offset",testId:"Offset_mneu_item"},{label:`${s("tpsl.offset")}%`,value:"Offset%",testId:"Offset%_menu_item"}],[s]),E=Yr.useMemo(()=>({PnL:s("tpsl.pnl"),Offset:s("tpsl.offset"),"Offset%":`${s("tpsl.offset")}%`}),[s]),A=Yr.useRef("");return {mode:u,modes:I,modeLabelMap:E,formatter:q=>{let{dp:M=2}=q;return {onRenderBefore:(y,j)=>(y=`${y}`,n&&r==="SL"&&u==="PnL"&&(y=y.startsWith("-")?y:"-"+y),y===""||y==="-"?"":u==="Offset%"?`${new utils.Decimal(y.replace(new RegExp(A.current.replace(".","\\.")+"$"),"")).mul(100).todp(2,4).toString()}${A.current}`:(u==="Offset"&&(y=utils.todpIfNeed(y,M)),`${y}`)),onSendBefore:y=>{if(/^\-?0{2,}$/.test(y))return "0";if(u==="Offset%"){if(y!==""){y=utils.todpIfNeed(y,2);let j=y.match(/\.0{0,2}$/);j?A.current=j[0]:A.current="",y=new utils.Decimal(y).div(100).toString(),y=`${y}${A.current}`;}}else u==="PnL"&&r==="SL"&&n?y=y.startsWith("-")?y:"-"+y:y=utils.todpIfNeed(y,M);return y===""||y==="-"?"":y}}},onModeChange:q=>{g(q);},onFocus:()=>{b(true),m(true);},onBlur:()=>{b(false),m(false),e.onChange(S,h);},value:h,onValueChange:q=>{P(q),e.onChange(S,q);},quote_dp:i,tips:p?f:void 0,setFocus:a}};var Vr=e=>{let{mode:r,modes:t,modeLabelMap:i,onModeChange:s,onValueChange:n,quote:a,quote_dp:u,value:g,type:f,tips:p,onFocus:b,onBlur:l,setFocus:m}=e,[S,h]=Yr.useState(r),[P,I]=Yr.useState(r==="Offset%"?"%":a);Yr.useEffect(()=>{h(r),I(r==="Offset%"?"%":a);},[r]),Yr.useEffect(()=>{h(g?"":r);},[g]);let E=Yr.useMemo(()=>`${f.toLowerCase()}_${r.toLowerCase()}`,[]);return jsxRuntime.jsx(ui.Input.tooltip,{prefix:i[S]||S,size:"md",placeholder:P,id:E,align:"right",value:g,tooltip:p,tooltipProps:{content:{side:e.type==="TP"?"top":"bottom"}},"data-testid":e.testIds?.input,autoComplete:"off",onValueChange:n,formatters:[e.formatter({dp:u,mode:r,type:f}),ui.inputFormatter.currencyFormatter],classNames:{root:f==="TP"?"oui-text-trade-profit":"oui-text-trade-loss",additional:"oui-text-base-contrast-54",input:"oui-text-inherit"},onFocus:()=>{h(""),I(""),m(true),b();},onBlur:()=>{h(g?"":r),I(r==="Offset%"?"%":a),l();},suffix:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[r==="Offset%"&&!!g&&jsxRuntime.jsx(ui.Text,{size:"2xs",color:"inherit",className:"oui-ml-[2px]",children:"%"}),jsxRuntime.jsx(rn,{mode:r,modes:t,onModeChange:A=>s(A.value),testId:e.testIds?.dropDown})]})})},rn=e=>jsxRuntime.jsx(ui.SimpleDropdownMenu,{currentValue:e.mode,menu:e.modes,align:"end",size:"xs",className:"oui-min-w-[80px]",onCloseAutoFocus:r=>r.preventDefault(),onSelect:r=>e.onModeChange(r),children:jsxRuntime.jsx("button",{className:"oui-p-2","data-testid":e.testId,children:jsxRuntime.jsx(ui.CaretDownIcon,{size:12,color:"white"})})});var Dr=e=>{let{testIds:r,quote:t,...i}=e,s=Ar(i);return jsxRuntime.jsx(Vr,{...s,testIds:r,quote:t,type:e.type})};var Wt=e=>{let{type:r,values:t,children:i}=e,[s,n]=hooks.useLocalStorage("TP/SL_Mode","Offset%"),{t:a}=i18n.useTranslation(),u=Yr.useMemo(()=>!t.PnL||!t.trigger_price?null:jsxRuntime.jsxs(ui.Flex,{children:[jsxRuntime.jsx("span",{className:"oui-text-xs oui-text-base-contrast-54",children:s==="PnL"?a("orderEntry.estRoi"):a("orderEntry.estPnL")}),s==="PnL"?jsxRuntime.jsx(ui.Text.numeral,{rule:"percentages",className:ui.cn("oui-ml-1 oui-text-xs",r==="TP"?"oui-text-trade-profit":"oui-text-trade-loss"),children:t.ROI}):jsxRuntime.jsx(ui.Text.numeral,{rule:"price",className:ui.cn("oui-ml-1 oui-text-xs",r==="TP"?"oui-text-trade-profit":"oui-text-trade-loss"),children:t.PnL})]}),[s,t.ROI,t.PnL,t.trigger_price]),g=Yr.useMemo(()=>({mode:s,setMode:n,tipsEle:u}),[s,n,u]);return jsxRuntime.jsx(Ut.Provider,{value:g,children:i})};var Kr=e=>{let r=Yr__default.default.useRef(null),{t}=i18n.useTranslation();return Yr.useEffect(()=>{e.orderType!==types.OrderType.LIMIT&&e.orderType!==types.OrderType.MARKET&&e.onSwitchChanged(false);},[e.orderType]),e.orderType!==types.OrderType.LIMIT&&e.orderType!==types.OrderType.MARKET||e.isReduceOnly?null:jsxRuntime.jsxs("div",{children:[jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",justify:"between",children:[jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",gapX:1,children:[jsxRuntime.jsx(ui.Switch,{id:"order_entry_tpsl",className:"oui-h-[14px]",checked:e.switchState,disabled:e.orderType!==types.OrderType.LIMIT&&e.orderType!==types.OrderType.MARKET||e.isReduceOnly,onCheckedChange:i=>{e.onSwitchChanged(i);}}),jsxRuntime.jsx("label",{htmlFor:"order_entry_tpsl",className:"oui-text-xs",children:t("common.tpsl")})]}),jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",gapX:1,onClick:e.showTPSLAdvanced,className:ui.cn("oui-group oui-invisible",e.switchState&&"oui-visible"),children:[jsxRuntime.jsx(ui.Text,{className:"oui-text-sm oui-cursor-pointer group-hover:oui-text-base-contrast",children:t("tpsl.advanced")}),jsxRuntime.jsx(ui.SettingFillIcon,{size:12,className:"oui-text-base-contrast-54 group-hover:oui-text-base-contrast oui-cursor-pointer",opacity:1,onClick:e.showTPSLAdvanced})]})]}),jsxRuntime.jsx("div",{className:ui.cn("oui-max-h-0 oui-overflow-hidden oui-transition-all",e.switchState&&"oui-max-h-[120px]"),onTransitionEnd:()=>{r.current?.style.setProperty("opacity",e.switchState?"1":"0");},children:jsxRuntime.jsx(Hr,{ref:r,setOrderValue:e.setOrderValue,onChange:e.onChange,values:e.values,errors:e.errors,quote_dp:e.quote_dp})})]})},Hr=Yr__default.default.forwardRef((e,r)=>{let{parseErrorMsg:t}=reactApp.useOrderEntryFormErrorMsg(e.errors);return jsxRuntime.jsxs("div",{ref:r,className:"oui-space-y-1 oui-px-px oui-py-2 oui-transition-all",children:[jsxRuntime.jsx(uiTpsl.TPSLPositionTypeWidget,{value:e.values.position_type,onChange:e.onChange}),jsxRuntime.jsx(Wt,{values:e.values.tp,type:"TP",children:jsxRuntime.jsx(Wr,{type:"TP",error:t("tp_trigger_price"),onChange:e.onChange,values:e.values.tp,quote_dp:e.quote_dp,testIds:{first:"oui-testid-orderEntry-tpsl-tpPrice-input",second:"oui-testid-orderEntry-tpsl-tpPnl-input",dropDown:"oui-testid-orderEntry-tpsl-tp-dropDown-trigger-button"}})}),jsxRuntime.jsx(Wt,{values:e.values.sl,type:"SL",children:jsxRuntime.jsx(Wr,{type:"SL",error:t("sl_trigger_price"),onChange:e.onChange,values:e.values.sl,quote_dp:e.quote_dp,testIds:{first:"oui-testid-orderEntry-tpsl-slPrice-input",second:"oui-testid-orderEntry-tpsl-slPnl-input",dropDown:"oui-testid-orderEntry-tpsl-sl-dropDown-trigger-button"}})})]})});Hr.displayName="TPSLInputForm";var _n=e=>{let{t:r}=i18n.useTranslation(),{errorMsgVisible:t}=Yr.useContext(De),{tipsEle:i}=st(),[s,n]=Yr.useState(`${e.type} Price`),[a,u]=Yr.useState("USDC"),[g,f]=Yr.useState(false),[p,b]=Yr.useState(false),[l,m]=Yr.useState(e.values.trigger_price??"");Yr.useEffect(()=>{p||m(e.values.trigger_price??"");},[e.values.trigger_price,p]);let S=Yr.useMemo(()=>e.error&&t?e.error:g?i:null,[e.error,t,g,i]),h=A=>{let $=e.type==="TP"?r("tpsl.tpPrice"):r("tpsl.slPrice");return A&&($=e.type==="TP"?r("tpsl.tp"):r("tpsl.sl")),$},P=A=>{m(A),e.onChange(A);};Yr.useEffect(()=>{n(h(e.values.trigger_price)),p||m(e.values.trigger_price??"");},[e.type,e.values.trigger_price]);let I=()=>{n(e.type==="TP"?r("tpsl.tp"):r("tpsl.sl")),u(""),f(true),b(true);},E=()=>{n(h(e.values.trigger_price)),u("USDC"),f(false),b(false),e.onChange(l);};return jsxRuntime.jsx(ui.Input.tooltip,{"data-testid":e.testId,prefix:s,size:"md",placeholder:a,align:"right",onFocus:I,onBlur:E,tooltip:S,tooltipProps:{content:{side:e.type==="TP"?"top":"bottom"}},color:e.error?"danger":void 0,autoComplete:"off",value:l,classNames:{additional:"oui-text-base-contrast-54",root:"oui-pr-2 md:oui-pr-3",prefix:"oui-pr-1 md:oui-pr-2"},onValueChange:P,formatters:[ui.inputFormatter.numberFormatter,ui.inputFormatter.dpFormatter(e.quote_dp??2),ui.inputFormatter.currencyFormatter]})},Wr=e=>{let r=e.type==="SL"?"sl_trigger_price":"tp_trigger_price";return jsxRuntime.jsxs(ui.Grid,{cols:2,gapX:1,children:[jsxRuntime.jsx(_n,{testId:e.testIds?.first,type:e.type,error:e.error,values:e.values??"",onChange:t=>{e.onChange(r,t);},quote_dp:e.quote_dp}),jsxRuntime.jsx(Dr,{testIds:{input:e.testIds?.second,dropDown:e.testIds?.dropDown},onChange:e.onChange,quote:"USDC",quote_dp:2,type:e.type,values:{PnL:e.values.PnL,Offset:e.values.Offset,"Offset%":e.values["Offset%"],ROI:e.values.ROI}})]})};var Qn=[],jt=e=>{let{side:r,formattedOrder:t,setOrderValue:i,setOrderValues:s,symbolInfo:n,maxQty:a,freeCollateral:u,helper:g,submit:f,metaState:p,bboStatus:b,bboType:l,onBBOChange:m,toggleBBO:S,disableFeatures:h,currentLtv:P,fillMiddleValue:I,soundAlert:E,setSoundAlert:A}=e,{curLeverage:$}=hooks.useLeverage(),{t:B}=i18n.useTranslation(),{isMobile:oe}=ui.useScreen(),[Q,q]=Yr.useState(false),{errors:M,validated:y}=p,[j,fe]=Yr.useState(false),[J,xe]=hooks.useLocalStorage("orderly_order_confirm",true),[Te,ke]=hooks.useLocalStorage("orderly-order-additional-pinned",true),[ft,ae]=Yr.useState(false),[We,Ye]=hooks.useLocalStorage("orderly-order-hidden",false),[_e,gt]=hooks.useLocalStorage("orderly-slippage","1",{parseJSON:c=>!c||c==='""'?"1":JSON.parse(c)}),{notification:yt}=hooks.useOrderlyContext(),Ge=Yr.useId(),{parseErrorMsg:Ke}=reactApp.useOrderEntryFormErrorMsg(y?M:null),le=Yr.useMemo(()=>r===types.OrderSide.BUY?B("orderEntry.buyLong"):B("orderEntry.sellShort"),[r,B]);Yr.useEffect(()=>{y&&fe(true);},[y]),Yr.useEffect(()=>{e.disableFeatures?.includes("slippageSetting")||(_e?i("slippage",Number(_e)):i("slippage",void 0));},[_e,e.disableFeatures]),Yr.useEffect(()=>{let c=C=>{C.target.closest("#order-entry-submit-button")||fe(Xe=>Xe&&false);};return j?document.addEventListener("click",c):document.removeEventListener("click",c),()=>{document.removeEventListener("click",c);}},[j]);let He=()=>{let c=t.order_type===types.OrderType.SCALED;g.validate().then(C=>c?ui.modal.show(rt,{order:C,symbolInfo:n,size:oe?"sm":"md"}):J?ui.modal.show(Nt,{order:t,symbolInfo:n}):true,C=>(C.slippage&&ui.toast.error(B("orderEntry.slippage.error.max")),fe(true),Promise.reject())).then(()=>f({resetOnSuccess:false}).then(C=>{if(!C.success&&C.message)ui.toast.error(C.message);else if(C.success&&c){let V=ar(C);V&&ui.toast.success(V);}})).catch(C=>{C?.message&&ui.toast.error(C.message);});},bt=()=>{g.validate().then(()=>{ae(true);},c=>{let C=new Set(["tp_trigger_price","sl_trigger_price"]);Object.keys(c).every(V=>C.has(V))&&ae(true);});},xt=c=>{c.side!==t.side&&i("side",c.side),s({position_type:c.position_type,tp_order_type:c.tp_order_type,tp_pnl:c.tp_pnl,tp_offset:c.tp_offset,tp_offset_percentage:c.tp_offset_percentage,tp_ROI:c.tp_ROI,tp_trigger_price:c.tp_trigger_price,tp_order_price:c.tp_order_price,sl_order_type:c.sl_order_type,sl_trigger_price:c.sl_trigger_price,sl_order_price:c.sl_order_price,sl_pnl:c.sl_pnl,sl_offset:c.sl_offset,sl_offset_percentage:c.sl_offset_percentage,sl_ROI:c.sl_ROI}),ae(false),q(true);},Tt=()=>{q(false),s({tp_trigger_price:void 0,tp_order_price:void 0,tp_order_type:types.OrderType.MARKET,sl_trigger_price:void 0,sl_order_price:void 0,sl_order_type:types.OrderType.MARKET,tp_pnl:void 0,sl_pnl:void 0,position_type:types.PositionType.FULL});},$e=oe&&e.canTrade,he=typeof P=="number"&&!Number.isNaN(P)&&P>0;Yr.useEffect(()=>{q(false);},[e.symbol]);let je=!!yt?.orderFilled?.media,d=Te?null:jsxRuntime.jsx(Jn,{pinned:Te,setPinned:ke,needConfirm:J,setNeedConfirm:xe,onValueChange:i,orderTypeExtra:t.order_type_ext,showExtra:t.order_type===types.OrderType.LIMIT&&!e.tpslSwitch,hidden:We,setHidden:Ye}),N=Yr.useMemo(()=>({errorMsgVisible:j}),[j]);return jsxRuntime.jsxs(Cr,{value:N,children:[jsxRuntime.jsxs("div",{className:"oui-space-y-2 oui-text-base-contrast-54 xl:oui-space-y-3",ref:e.containerRef,children:[jsxRuntime.jsxs(ui.Flex,{gapX:2,className:"oui-flex-col oui-gap-y-3 lg:oui-flex-row",children:[jsxRuntime.jsxs("div",{className:ui.cn("oui-grid oui-w-full oui-flex-1 oui-gap-x-2 lg:oui-flex lg:oui-gap-x-[6px]",$e?"oui-grid-cols-3":"oui-grid-cols-2"),children:[jsxRuntime.jsx(ui.Button,{onClick:()=>{e.setOrderValue("side",types.OrderSide.BUY);},size:"md",fullWidth:true,"data-type":types.OrderSide.BUY,className:ui.cn(r===types.OrderSide.BUY&&e.canTrade?"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:B("common.buy")}),jsxRuntime.jsx(ui.Button,{onClick:()=>{e.setOrderValue("side",types.OrderSide.SELL);},"data-type":types.OrderSide.SELL,fullWidth:true,size:"md",className:ui.cn(r===types.OrderSide.SELL&&e.canTrade?"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:B("common.sell")}),$e&&jsxRuntime.jsx(ui.Button,{size:"md",fullWidth:true,trailing:jsxRuntime.jsx(ui.CaretRightIcon,{size:12,className:"oui-text-base-contrast-36"}),onClick:()=>{ui.modal.show(uiLeverage.LeverageWidgetWithSheetId,{currentLeverage:$});},className:ui.cn("oui-bg-base-7 oui-text-primary-light hover:oui-bg-base-6 active:oui-bg-base-6"),children:utils.commifyOptional($,{fix:2})+"x"})]}),jsxRuntime.jsx("div",{className:"oui-w-full lg:oui-flex-1",children:jsxRuntime.jsx(Hn,{type:t.order_type,side:r,canTrade:e.canTrade,onChange:c=>{i("order_type",c);}})})]}),jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",justify:"between",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",children:B("common.available")}),jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",justify:"center",gap:1,children:[he&&jsxRuntime.jsx(ui.Tooltip,{className:"oui-bg-base-6 oui-p-2",content:jsxRuntime.jsx(Je,{}),children:jsxRuntime.jsx(ui.InfoCircleIcon,{className:"oui-cursor-pointer oui-text-warning oui-opacity-80"})}),jsxRuntime.jsx(ui.Text.numeral,{unit:n.quote,size:"2xs",className:"oui-text-base-contrast-80",unitClassName:"oui-ml-1 oui-text-base-contrast-54",dp:2,padding:false,children:e.canTrade?u:0})]})]}),t.order_type===types.OrderType.SCALED?jsxRuntime.jsx(ts,{type:e.type,symbolInfo:n,values:{order_quantity:t.order_quantity,total:t.total,side:t.side,end_price:t.end_price,start_price:t.start_price,total_orders:t.total_orders,distribution_type:t.distribution_type,skew:t.skew},onChange:(c,C)=>{e.setOrderValue(c,C);},onValuesChange:e.setOrderValues,onBlur:e.onBlur,onFocus:e.onFocus,parseErrorMsg:Ke,quantityUnit:e.quantityUnit,setQuantityUnit:e.setQuantityUnit,errors:M}):jsxRuntime.jsx(Yn,{type:e.type,symbolInfo:n,values:{order_quantity:t.order_quantity,price:t.order_price,trigger_price:t.trigger_price,total:t.total,level:t.level,side:t.side,order_type_ext:t.order_type_ext},onChange:(c,C)=>{e.setOrderValue(c,C);},onValuesChange:e.setOrderValues,refs:e.refs,onBlur:e.onBlur,onFocus:e.onFocus,bbo:{bboStatus:b,bboType:l,onBBOChange:m,toggleBBO:S},priceInputContainerWidth:e.priceInputContainerWidth,parseErrorMsg:Ke,fillMiddleValue:I}),jsxRuntime.jsx(Kn,{canTrade:e.canTrade,maxQty:a,currentQtyPercentage:e.currentQtyPercentage,value:t.order_quantity?Number(t.order_quantity):0,tick:n.base_tick,dp:n.base_dp,setMaxQty:e.setMaxQty,onValueChange:c=>{i("order_quantity",c);},side:e.side}),jsxRuntime.jsx(ui.ThrottledButton,{fullWidth:true,id:"order-entry-submit-button","data-type":types.OrderSide.BUY,className:ui.cn(r===types.OrderSide.BUY?"orderly-order-entry-submit-button-buy oui-bg-success-darken hover:oui-bg-success-darken/80 active:oui-bg-success-darken/80":"orderly-order-entry-submit-button-sell oui-bg-danger-darken hover:oui-bg-danger-darken/80 active:oui-bg-danger-darken/80"),onClick:()=>{He();},loading:e.isMutating,disabled:!e.canTrade,children:le}),jsxRuntime.jsx(Zn,{canTrade:e.canTrade,quote:n.quote,estLiqPrice:e.estLiqPrice,estLeverage:e.estLeverage,currentLeverage:e.currentLeverage,slippage:_e,dp:n.quote_dp,setSlippage:gt,estSlippage:e.estSlippage,orderType:t.order_type,disableFeatures:h}),jsxRuntime.jsx(ui.Divider,{className:"oui-w-full"}),Q?jsxRuntime.jsx(Xn,{order:t,symbolInfo:e.symbolInfo,errors:y?M:null,onEdit:()=>{ae(true);},onDelete:()=>{Tt();}}):jsxRuntime.jsx(Kr,{quote_dp:e.symbolInfo.quote_dp,switchState:e.tpslSwitch,onSwitchChanged:e.setTpslSwitch,orderType:t.order_type,errors:y?M:null,isReduceOnly:t.reduce_only,setOrderValue:e.setOrderValue,values:{position_type:t.position_type??types.PositionType.PARTIAL,tp:{trigger_price:t.tp_trigger_price??"",PnL:t.tp_pnl??"",Offset:t.tp_offset??"","Offset%":t.tp_offset_percentage??"",ROI:t.tp_ROI??""},sl:{trigger_price:t.sl_trigger_price??"",PnL:t.sl_pnl??"",Offset:t.sl_offset??"","Offset%":t.sl_offset_percentage??"",ROI:t.sl_ROI??""}},showTPSLAdvanced:bt,onChange:(c,C)=>{e.setOrderValue(c,C);}}),jsxRuntime.jsxs(ui.Flex,{justify:"between",itemAlign:"center",className:"!oui-mt-0 xl:!oui-mt-3",children:[jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",gapX:1,children:[jsxRuntime.jsx(ui.Switch,{"data-testid":"oui-testid-orderEntry-reduceOnly-switch",className:"oui-h-[14px]",id:"reduceOnly",checked:e.formattedOrder.reduce_only,onCheckedChange:c=>{e.setOrderValue("reduce_only",c);}}),jsxRuntime.jsx("label",{htmlFor:"reduceOnly",className:"oui-text-xs",children:B("orderEntry.reduceOnly")})]}),!je&&d]}),je&&jsxRuntime.jsxs(ui.Flex,{justify:"between",itemAlign:"center",className:"!oui-mt-0 xl:!oui-mt-3",children:[jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",gapX:1,children:[jsxRuntime.jsx(ui.Switch,{className:"oui-h-[14px]",id:Ge,checked:E,onCheckedChange:c=>A(c)}),jsxRuntime.jsx("label",{htmlFor:Ge,className:"oui-text-xs",children:B("orderEntry.soundAlerts")})]}),d]}),Te&&jsxRuntime.jsxs(ui.Box,{p:2,r:"md",intensity:700,position:"relative",children:[jsxRuntime.jsx(et,{pinned:Te,setPinned:ke,needConfirm:J,setNeedConfirm:xe,onValueChange:i,orderTypeExtra:t.order_type_ext,showExtra:t.order_type===types.OrderType.LIMIT&&!e.tpslSwitch,hidden:We,setHidden:Ye}),jsxRuntime.jsx(Wn,{onClick:()=>{ke(false);},className:"oui-absolute oui-right-2 oui-top-2 oui-group","data-testid":"oui-testid-orderEntry-pinned-button"})]})]}),jsxRuntime.jsx(ui.SimpleSheet,{open:ft,onOpenChange:ae,classNames:{body:"oui-h-full oui-pb-0 oui-border-none",overlay:"!oui-bg-base-10/60",content:ui.cn("oui-rounded-[16px] oui-border-none !oui-p-0",oe?"oui-inset-y-0 oui-right-0 oui-w-[280px]":"!oui-bottom-[40px] oui-right-3 oui-top-[44px] !oui-h-auto oui-w-[360px]")},contentProps:{side:"right",closeable:false},children:jsxRuntime.jsx(uiTpsl.TPSLAdvancedWidget,{setOrderValue:i,order:t,onSubmit:xt,onClose:()=>{ae(false);}})})]})},jr="M10.007 1.302a.74.74 0 0 0-.486.214c-1.033.989-1.349 1.815-.972 2.948-.88.675-1.437.84-2.536.84-1.503 0-2.484.182-3.152.85v.02a1.583 1.583 0 0 0 0 2.248l1.867 1.882-3.181 3.18c-.26.26-.28.696-.02.956.261.26.699.26.959 0l3.193-3.194 1.87 1.861a1.585 1.585 0 0 0 2.25 0h.02c.668-.667.854-1.523.854-3.144 0-1.03.212-1.758.852-2.523 1.233.361 1.95.015 2.961-.995a.68.68 0 0 0 .188-.48c0-.234-.06-.593-.209-1.04a5.34 5.34 0 0 0-1.312-2.103 5.35 5.35 0 0 0-2.104-1.312c-.448-.15-.808-.208-1.042-.208",Wn=e=>{let[r,t]=Yr.useState(jr);return jsxRuntime.jsx("button",{...e,children:jsxRuntime.jsx("svg",{width:16,height:16,viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",onMouseEnter:()=>{t('M10.008 1.302a.74.74 0 0 0-.486.214c-1.033.989-1.349 1.815-.972 2.948-.88.675-1.437.84-2.536.84-1.503 0-2.484.182-3.152.85v.02a1.583 1.583 0 0 0 0 2.248l1.867 1.882-3.181 3.18c-.26.26-.28.696-.02.956.261.26.699.26.959 0l3.193-3.194 1.87 1.861a1.585 1.585 0 0 0 2.25 0h.02c.668-.667.854-1.523.854-3.144 0-1.03.212-1.758.853-2.523 1.232.361 1.95.015 2.96-.995a.68.68 0 0 0 .188-.48c0-.234-.06-.593-.209-1.04a5.34 5.34 0 0 0-1.312-2.103A5.35 5.35 0 0 0 11.05 1.51c-.448-.15-.808-.208-1.042-.208m.258 1.37c.708.131 1.421.6 1.93 1.107.507.508.94 1.13 1.119 1.945-.636.61-1.026.658-1.662.323a.67.67 0 0 0-.779.117c-1.214 1.213-1.533 2.314-1.533 3.8 0 1.292-.076 1.773-.48 2.206-.113.123-.27.104-.374 0L3.799 7.486a.24.24 0 0 1-.017-.34c.239-.29.769-.515 2.226-.514 1.742.001 2.668-.448 3.812-1.52a.67.67 0 0 0 .125-.77c-.343-.686-.29-1.047.321-1.67"');},onMouseLeave:()=>{t(jr);},className:"oui-text-primary-darken ",children:jsxRuntime.jsx("path",{d:r})})})},Yn=e=>{let{type:r,symbolInfo:t,values:i,onFocus:s,onBlur:n,bbo:a,parseErrorMsg:u,fillMiddleValue:g}=e,{t:f}=i18n.useTranslation(),p=a.bboStatus==="on",b=r===types.OrderType.LIMIT?jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"end",className:"oui-text-2xs",children:[t.quote,jsxRuntime.jsxs(ui.Flex,{justify:"end",itemAlign:"center",gap:2,children:[jsxRuntime.jsx(ui.Flex,{px:3,height:20,justify:"center",itemAlign:"center",r:"base",className:ui.cn("oui-mt-[2px] oui-cursor-pointer oui-select-none oui-border",a.bboStatus==="on"?"oui-border-primary":"oui-border-line-12",a.bboStatus==="disabled"&&"oui-cursor-not-allowed"),onClick:()=>{a.bboStatus==="disabled"?ui.modal.dialog({title:f("common.tips"),size:"xs",content:jsxRuntime.jsx(ui.Text,{intensity:54,children:f("orderEntry.bbo.disabled.tips")})}):a.toggleBBO();},children:jsxRuntime.jsx(ui.Text,{className:ui.cn(a.bboStatus==="on"&&"oui-text-primary",a.bboStatus==="off"&&"oui-text-base-contrast-54",a.bboStatus==="disabled"&&"oui-text-base-contrast-20"),children:f("orderEntry.bbo")})}),jsxRuntime.jsx(ui.Text,{className:ui.cn("oui-select-none","oui-cursor-pointer oui-text-primary"),onClick:g,children:"Mid"})]})]}):t.quote;return jsxRuntime.jsxs("div",{className:"oui-space-y-1",children:[r===types.OrderType.STOP_LIMIT||r===types.OrderType.STOP_MARKET?jsxRuntime.jsx("div",{className:"oui-group",children:jsxRuntime.jsx(Z,{label:f("common.trigger"),suffix:t.quote,error:u("trigger_price"),id:"trigger",ref:e.refs.triggerPriceInputRef,value:i.trigger_price,onChange:l=>{e.onChange("trigger_price",l);},formatters:[ui.inputFormatter.dpFormatter(t.quote_dp)],onFocus:s(1),onBlur:n(1)})}):null,r===types.OrderType.LIMIT||r===types.OrderType.STOP_LIMIT?jsxRuntime.jsxs("div",{ref:e.refs.priceInputContainerRef,className:"oui-relative oui-w-full oui-group",children:[jsxRuntime.jsx(Z,{label:f("common.price"),suffix:b,id:"price",value:i.price,error:u("order_price"),ref:e.refs.priceInputRef,onChange:l=>{e.onChange("order_price",l);},formatters:[ui.inputFormatter.dpFormatter(t.quote_dp)],onFocus:s(0),onBlur:n(0),readonly:p,classNames:{root:ui.cn(p&&"focus-within:oui-outline-transparent "),input:ui.cn(p&&"oui-cursor-auto")}}),a.bboStatus==="on"&&jsxRuntime.jsx("div",{className:ui.cn("oui-absolute oui-left-0 oui-bottom-1"),children:jsxRuntime.jsx(es,{value:a.bboType,onChange:a.onBBOChange,contentStyle:{width:e.priceInputContainerWidth}})})]}):null,jsxRuntime.jsxs(ui.Grid,{cols:2,className:"oui-group oui-space-x-1",children:[jsxRuntime.jsx(Z,{label:f("common.qty"),suffix:t.base,id:"order_quantity_input",name:"order_quantity_input",className:"!oui-rounded-r",value:i.order_quantity,error:u("order_quantity"),onChange:l=>{e.onChange("order_quantity",l);},formatters:[ui.inputFormatter.dpFormatter(t.base_dp)],onFocus:s(2),onBlur:n(2)}),jsxRuntime.jsx(Z,{label:`${f("common.total")}\u2248`,suffix:t.quote,id:"total",className:"!oui-rounded-l",value:i.total,error:u("total"),onChange:l=>{e.onChange("total",l);},onFocus:s(3),onBlur:n(3),formatters:[ui.inputFormatter.dpFormatter(t.quote_dp)]})]})]})},Z=Yr.forwardRef((e,r)=>{let{placeholder:t="0"}=e,{errorMsgVisible:i}=Yr.useContext(De);return jsxRuntime.jsx(ui.Input.tooltip,{ref:r,tooltip:i?e.error:void 0,autoComplete:"off",autoFocus:e.autoFocus,size:"lg",placeholder:e.readonly?"":t,id:e.id,name:e.name,color:e.error?"danger":void 0,prefix:jsxRuntime.jsx(Gn,{id:e.id,className:e.classNames?.prefix,children:e.label}),suffix:e.suffix,value:e.readonly?"":e.value||"",onValueChange:e.onChange,onFocus:s=>{e.onFocus?.(s);},onBlur:s=>{e.onBlur?.(s);},formatters:e.overrideFormatters||[...e.formatters??Qn,ui.inputFormatter.numberFormatter,ui.inputFormatter.currencyFormatter,ui.inputFormatter.decimalPointFormatter],classNames:{root:ui.cn("orderly-order-entry oui-relative oui-h-[54px] oui-rounded oui-border oui-border-solid oui-border-line oui-px-2 oui-py-1 group-first:oui-rounded-t-xl group-last:oui-rounded-b-xl",e.className,e.classNames?.root),input:ui.cn("oui-mb-1 oui-mt-5 oui-h-5",e?.classNames?.input),suffix:ui.cn("oui-absolute oui-right-0 oui-top-0 oui-justify-start oui-py-2 oui-text-2xs oui-text-base-contrast-36",e.classNames?.suffix)},readOnly:e.readonly})});Z.displayName="CustomInput";var Gn=e=>jsxRuntime.jsx("label",{htmlFor:e.id,className:ui.cn("oui-absolute oui-left-2 oui-top-[7px] oui-text-2xs oui-text-base-contrast-36",e.className),children:e.children}),Kn=e=>{let{canTrade:r}=e,{t}=i18n.useTranslation(),i=Yr.useMemo(()=>r?e.side===types.OrderSide.BUY?"buy":"sell":void 0,[e.side,r]),s=Yr.useMemo(()=>e.side===types.OrderSide.BUY?t("orderEntry.maxBuy"):t("orderEntry.maxSell"),[e.side,t]);return jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(ui.Slider.single,{disabled:e.maxQty===0||!r,value:e.value,color:i,markCount:4,showTip:true,max:e.maxQty,step:e.tick,onValueChange:e.onValueChange}),jsxRuntime.jsxs(ui.Flex,{justify:"between",className:"oui-pt-1 xl:oui-pt-2",children:[jsxRuntime.jsx(ui.Text.numeral,{rule:"percentages",size:"2xs",color:i,dp:2,padding:false,children:r?e.currentQtyPercentage:0}),jsxRuntime.jsxs(ui.Flex,{children:[jsxRuntime.jsx("button",{className:ui.textVariants({size:"2xs",className:"oui-mr-1"}),onClick:()=>e.setMaxQty(),"data-testid":"oui-testid-orderEntry-maxQty-value-button",children:s}),jsxRuntime.jsx(ui.Text.numeral,{size:"2xs",color:i,dp:e.dp,padding:false,"data-testid":"oui-testid-orderEntry-maxQty-value",children:r?e.maxQty:0})]})]})]})},Hn=e=>{let{t:r}=i18n.useTranslation(),t=Yr.useMemo(()=>[{label:r("orderEntry.orderType.limitOrder"),value:types.OrderType.LIMIT},{label:r("orderEntry.orderType.marketOrder"),value:types.OrderType.MARKET},{label:r("orderEntry.orderType.stopLimit"),value:types.OrderType.STOP_LIMIT},{label:r("orderEntry.orderType.stopMarket"),value:types.OrderType.STOP_MARKET},{label:r("orderEntry.orderType.scaledOrder"),value:types.OrderType.SCALED}],[r]),i=Yr.useMemo(()=>({[types.OrderType.LIMIT]:r("orderEntry.orderType.limit"),[types.OrderType.MARKET]:r("common.marketPrice"),[types.OrderType.STOP_LIMIT]:r("orderEntry.orderType.stopLimit"),[types.OrderType.STOP_MARKET]:r("orderEntry.orderType.stopMarket"),[types.OrderType.SCALED]:r("orderEntry.orderType.scaledOrder")}),[r]);return jsxRuntime.jsx(ui.Select.options,{testid:"oui-testid-orderEntry-orderType-button",currentValue:e.type,value:e.type,options:t,onValueChange:e.onChange,contentProps:{className:"oui-bg-base-8 oui-w-full"},valueFormatter:(s,n)=>{if(!t.find(g=>g.value===s))return jsxRuntime.jsx(ui.Text,{size:"xs",children:n.placeholder});let u=i[s];return jsxRuntime.jsx(ui.Text,{size:"xs",color:e.canTrade?e.side===types.OrderSide.BUY?"buy":"sell":void 0,children:u})},size:"md"})},$n=e=>jsxRuntime.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:e.size,height:e.size,viewBox:"0 0 12 12",fill:"currentColor",...e,children:jsxRuntime.jsx("path",{d:"M5.99903 0.976562C5.44653 0.976562 4.99903 1.42406 4.99903 1.97656H2.49902C2.22302 1.97656 1.99902 2.20056 1.99902 2.47656C1.99902 2.75256 2.22302 2.97656 2.49902 2.97656H9.49903C9.77503 2.97656 9.99903 2.75256 9.99903 2.47656C9.99903 2.20056 9.77503 1.97656 9.49903 1.97656H6.99903C6.99903 1.42406 6.55153 0.976562 5.99903 0.976562ZM2.49902 3.97655V8.97654C2.49902 10.0715 3.40152 10.961 4.49903 10.961L7.51453 10.9765C8.61203 10.9765 9.49903 10.074 9.49903 8.97654V3.97655H2.49902ZM4.99903 5.47655C5.27503 5.47655 5.49903 5.70055 5.49903 5.97655V8.97654C5.49903 9.25254 5.27503 9.47654 4.99903 9.47654C4.72303 9.47654 4.49903 9.25254 4.49903 8.97654V5.97655C4.49903 5.70055 4.72303 5.47655 4.99903 5.47655ZM6.99903 5.47655C7.27503 5.47655 7.49903 5.70055 7.49903 5.97655V8.97654C7.49903 9.25254 7.27503 9.47654 6.99903 9.47654C6.72303 9.47654 6.49903 9.25254 6.49903 8.97654V5.97655C6.49903 5.70055 6.72303 5.47655 6.99903 5.47655Z"})}),jn=e=>jsxRuntime.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 12 12",width:e.size,height:e.size,fill:"currentColor",...e,children:jsxRuntime.jsx("path",{d:"M8.49779 0.976562C8.36529 0.976562 8.23229 1.02357 8.13829 1.11707C7.86029 1.39507 6.85979 2.39558 6.63779 2.61808L2.13529 7.12059L1.63479 7.62059C1.56529 7.69059 1.52929 7.78958 1.50979 7.88658L1.00979 10.3881C0.939788 10.7381 1.23779 11.0361 1.58779 10.9666C1.90079 10.9036 3.77679 10.5286 4.08929 10.4661C4.18629 10.4466 4.28529 10.4106 4.35529 10.3411L4.85529 9.84059L9.35779 5.33808C9.58029 5.11608 10.5808 4.11506 10.8588 3.83756C10.9523 3.74356 10.9993 3.61056 10.9993 3.47806C10.9993 2.65956 10.7908 2.07456 10.3583 1.63306C9.92179 1.18756 9.33879 0.976562 8.49779 0.976562ZM8.69479 1.98606C9.14629 2.01256 9.43879 2.11608 9.63929 2.32108C9.84429 2.53008 9.97379 2.82008 10.0018 3.26258C9.72779 3.53608 9.32679 3.93106 8.99829 4.25956C8.60179 3.86306 8.11279 3.37407 7.71629 2.97757C8.04529 2.64907 8.42129 2.25956 8.69479 1.98606ZM6.99729 3.69657L8.27929 4.97858L4.49579 8.76207L3.21379 7.48009L6.99729 3.69657ZM2.49479 8.19908L3.77679 9.48107L3.72979 9.52809C3.39979 9.59409 2.73329 9.73359 2.11929 9.85659L2.44779 8.24608L2.49479 8.19908Z"})});function Xn(e){let{order:r,symbolInfo:t,onEdit:i,onDelete:s,errors:n}=e,{parseErrorMsg:a}=reactApp.useOrderEntryFormErrorMsg(n),{t:u}=i18n.useTranslation(),g=()=>{let p=a("tp_trigger_price");return r.tp_trigger_price||r.tp_order_price?jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",className:"oui-w-full",gap:4,children:[jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",justify:"between",gapY:1,className:"oui-w-full",children:[jsxRuntime.jsxs(ui.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(ui.Text,{children:u("tpsl.tpTriggerPrice")}),jsxRuntime.jsx(ui.Text.numeral,{suffix:jsxRuntime.jsx(ui.Text,{className:"oui-text-base-contrast-36 oui-ml-1",children:t.quote}),className:"oui-text-base-contrast",dp:t.quote_dp,children:r.tp_trigger_price??""})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(ui.Text,{children:u("tpsl.tpOrderPrice")}),r.tp_order_type===types.OrderType.LIMIT?jsxRuntime.jsx(ui.Text.numeral,{suffix:jsxRuntime.jsx(ui.Text,{className:"oui-text-base-contrast-36 oui-ml-1",children:t.quote}),className:"oui-text-base-contrast",dp:t.quote_dp,children:r.tp_order_price??""}):jsxRuntime.jsx(ui.Text,{className:"oui-text-base-contrast",children:"Market"})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(ui.Text,{children:u("tpsl.totalEstTpPnl")}),jsxRuntime.jsx(ui.Text.numeral,{suffix:jsxRuntime.jsx(ui.Text,{className:"oui-ml-1 oui-text-base-contrast-36",children:t.quote}),coloring:true,dp:2,children:Number(r.tp_pnl)})]})]}),p&&jsxRuntime.jsxs(ui.Flex,{justify:"start",itemAlign:"start",gap:2,className:"oui-w-full",children:[jsxRuntime.jsx("div",{className:"oui-relative oui-top-[7px] oui-w-1 oui-h-1 oui-bg-danger oui-rounded-full"}),jsxRuntime.jsx(ui.Text,{className:"oui-text-danger",children:p})]})]}):null},f=()=>{if(r.sl_trigger_price||r.sl_order_price){let p=a("sl_trigger_price");return jsxRuntime.jsx(ui.Flex,{direction:"column",itemAlign:"start",className:"oui-w-full",gap:4,children:jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",justify:"between",gapY:1,className:"oui-w-full",children:[jsxRuntime.jsxs(ui.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(ui.Text,{children:u("tpsl.slTriggerPrice")}),jsxRuntime.jsx(ui.Text.numeral,{suffix:jsxRuntime.jsx(ui.Text,{className:"oui-text-base-contrast-36 oui-ml-1",children:t.quote}),className:"oui-text-base-contrast",dp:t.quote_dp,children:r.sl_trigger_price??""})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(ui.Text,{children:u("tpsl.slOrderPrice")}),r.sl_order_type===types.OrderType.LIMIT?jsxRuntime.jsx(ui.Text.numeral,{suffix:jsxRuntime.jsx(ui.Text,{className:"oui-text-base-contrast-36 oui-ml-1",children:t.quote}),className:"oui-text-base-contrast",dp:t.quote_dp,children:r.sl_order_price??""}):jsxRuntime.jsx(ui.Text,{className:"oui-text-base-contrast",children:"Market"})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",className:"oui-w-full",children:[jsxRuntime.jsx(ui.Text,{children:u("tpsl.totalEstSlPnl")}),jsxRuntime.jsx(ui.Text.numeral,{coloring:true,suffix:jsxRuntime.jsx(ui.Text,{className:"oui-ml-1 oui-text-base-contrast-36",children:t.quote}),dp:2,children:Number(r.sl_pnl)})]}),p&&jsxRuntime.jsxs(ui.Flex,{justify:"start",itemAlign:"start",gap:2,className:"oui-w-full",children:[jsxRuntime.jsx("div",{className:"oui-relative oui-top-[7px] oui-w-1 oui-h-1 oui-bg-danger oui-rounded-full"}),jsxRuntime.jsx(ui.Text,{className:"oui-text-danger",children:p})]})]})})}return null};return jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",className:"oui-w-full oui-text-2xs",gap:4,children:[jsxRuntime.jsxs(ui.Flex,{justify:"between",itemAlign:"start",className:"oui-w-full",children:[jsxRuntime.jsx(ui.Text,{children:u("tpsl.advanced.title")}),jsxRuntime.jsxs(ui.Flex,{gap:2,children:[jsxRuntime.jsx($n,{size:12,className:"oui-cursor-pointer oui-text-base-contrast-54 hover:oui-text-base-contrast",opacity:1,onClick:s}),jsxRuntime.jsx(jn,{size:12,className:"oui-cursor-pointer oui-text-base-contrast-54 hover:oui-text-base-contrast",onClick:i})]})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",itemAlign:"start",className:"oui-w-full",children:[jsxRuntime.jsx(ui.Text,{children:u("tpsl.mode")}),jsxRuntime.jsx(ui.Text,{className:"oui-text-base-contrast",children:r.position_type===types.PositionType.FULL?u("tpsl.fullPosition"):u("tpsl.partialPosition")})]}),g(),f(),jsxRuntime.jsx(ui.Divider,{className:"oui-w-full oui-mb-2"})]})}function Zn(e){let{canTrade:r}=e,{t}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:"oui-space-y-[2px] xl:oui-space-y-1",children:[jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",children:t("orderEntry.estLiqPrice")}),jsxRuntime.jsx(ui.Text.numeral,{unit:e.quote,size:"2xs",dp:e.dp,className:"oui-text-base-contrast-80",unitClassName:"oui-ml-1 oui-text-base-contrast-36",children:r?e.estLiqPrice??"--":"--"})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",children:t("leverage.accountLeverage")}),jsxRuntime.jsxs(ui.Flex,{gapX:1,className:ui.textVariants({size:"2xs",intensity:80}),children:[jsxRuntime.jsx(ui.Text.numeral,{unit:r?"x":void 0,children:r?e.currentLeverage??"--":"--"}),e.estLeverage&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{d:"M2.505 4.997c0-.23.186-.416.416-.416H6.07L4.833 3.332l.586-.585 1.964 1.95a.42.42 0 0 1 .122.3.42.42 0 0 1-.122.3l-1.964 1.95-.586-.585L6.07 5.413H2.921a.416.416 0 0 1-.416-.416",fill:"#fff",fillOpacity:".54"})}),jsxRuntime.jsx("span",{children:`${e.estLeverage}x`})]})]})]}),e.orderType===types.OrderType.MARKET&&!e.disableFeatures?.includes("slippageSetting")&&jsxRuntime.jsx(kr,{slippage:e.slippage,setSlippage:e.setSlippage,estSlippage:e.estSlippage}),!e.disableFeatures?.includes("feesInfo")&&jsxRuntime.jsx(At,{})]})}var Jn=e=>{let[r,t]=Yr.useState(false);return jsxRuntime.jsxs(ui.PopoverRoot,{open:r,onOpenChange:t,children:[jsxRuntime.jsx(ui.PopoverTrigger,{asChild:true,children:jsxRuntime.jsx("button",{"data-testid":"oui-testid-orderEntry-additional-button",onClick:()=>{t(true);},children:jsxRuntime.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",className:"oui-fill-white/[.36] hover:oui-fill-white/80",children:jsxRuntime.jsx("path",{d:"M3.332 2.665a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667V3.332a.667.667 0 0 0-.667-.667zm4 0a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667V3.332a.667.667 0 0 0-.667-.667zm4 0a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667V3.332a.667.667 0 0 0-.667-.667zm-8 4a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667V7.332a.667.667 0 0 0-.667-.667zm4 0a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667V7.332a.667.667 0 0 0-.667-.667zm4 0a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667V7.332a.667.667 0 0 0-.667-.667zm-8 4a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667v-1.333a.667.667 0 0 0-.667-.667zm4 0a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667v-1.333a.667.667 0 0 0-.667-.667zm4 0a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667v-1.333a.667.667 0 0 0-.667-.667z"})})})}),jsxRuntime.jsx(ui.PopoverContent,{side:"top",align:"end",className:"oui-w-[230px]",children:jsxRuntime.jsx(et,{...e})})]})},es=e=>{let{t:r}=i18n.useTranslation(),t=[{label:r("orderEntry.bbo.counterparty1"),value:types.BBOOrderType.COUNTERPARTY1},{label:r("orderEntry.bbo.counterparty5"),value:types.BBOOrderType.COUNTERPARTY5},{label:r("orderEntry.bbo.queue1"),value:types.BBOOrderType.QUEUE1},{label:r("orderEntry.bbo.queue5"),value:types.BBOOrderType.QUEUE5}];return jsxRuntime.jsx(ui.Select.options,{testid:"oui-testid-orderEntry-bbo-orderType-button",currentValue:e.value,value:e.value,options:t,onValueChange:e.onChange,contentProps:{className:"oui-bg-base-8 oui-w-full",style:e.contentStyle},size:"sm",classNames:{trigger:"oui-border-none oui-bg-transparent"},valueFormatter:(i,s)=>{let n=t.find(a=>a.value===i);return jsxRuntime.jsx(ui.Box,{children:jsxRuntime.jsx(ui.Text,{size:"sm",children:n?.label})})}})},ts=e=>{let{symbolInfo:r,values:t,onFocus:i,onBlur:s,parseErrorMsg:n,quantityUnit:a,setQuantityUnit:u,errors:g}=e,{base:f,quote:p,base_dp:b,quote_dp:l}=r,{t:m}=i18n.useTranslation(),S=a==="base",h=S?f:p,P=t.distribution_type===types.DistributionType.CUSTOM,I=jsxRuntime.jsx(Or,{base:f,quote:p,value:h,onValueChange:E=>{u(E===f?"base":"quote");}});return jsxRuntime.jsxs("div",{className:"oui-space-y-1",children:[jsxRuntime.jsx(Z,{label:m("orderEntry.startPrice"),suffix:p,id:"order_start_price_input",value:t.start_price,error:n("start_price"),onChange:E=>{e.onChange("start_price",E);},formatters:[ui.inputFormatter.dpFormatter(l)],onFocus:i(4),onBlur:s(4),classNames:{root:"oui-rounded-t-xl"}}),jsxRuntime.jsx(Z,{label:m("orderEntry.endPrice"),suffix:p,id:"order_end_price_input",value:t.end_price,error:n("end_price"),onChange:E=>{e.onChange("end_price",E);},formatters:[ui.inputFormatter.dpFormatter(l)],onFocus:i(5),onBlur:s(5)}),jsxRuntime.jsxs(ui.Grid,{cols:2,className:"oui-group oui-space-x-1",children:[S?jsxRuntime.jsx(Z,{label:m("common.qty"),suffix:I,id:"order_quantity_input",name:"order_quantity_input",className:"!oui-rounded-r",value:t.order_quantity,error:n("order_quantity",`${g?.order_quantity?.value} ${f}`),onChange:E=>{e.onChange("order_quantity",E);},formatters:[ui.inputFormatter.dpFormatter(b)],onFocus:i(2),onBlur:s(2)}):jsxRuntime.jsx(Z,{label:m("common.qty"),suffix:I,id:"order_total_input",name:"order_total_input",className:"!oui-rounded-r",value:t.total,error:n("order_quantity",`${g?.total?.value} ${p}`),onChange:E=>{e.onChange("total",E);},formatters:[ui.inputFormatter.dpFormatter(l)],onFocus:i(3),onBlur:s(3)}),jsxRuntime.jsx(Z,{label:m("orderEntry.totalOrders"),placeholder:"2-20",id:"order_total_orders_input",className:"!oui-rounded-l",value:t.total_orders,error:n("total_orders"),onChange:E=>{e.onChange("total_orders",E);},overrideFormatters:[ui.inputFormatter.numberFormatter,ui.inputFormatter.dpFormatter(0)],onFocus:i(6),onBlur:s(6)})]}),jsxRuntime.jsx(vr,{value:t.distribution_type,onValueChange:E=>{e.onChange("distribution_type",E);},className:ui.cn(!P&&"oui-rounded-b-xl")}),P&&jsxRuntime.jsx(Z,{id:"order_skew_input",label:m("orderEntry.skew"),value:t.skew,error:n("skew"),onChange:E=>{e.onChange("skew",E);},onFocus:i(7),onBlur:s(7),overrideFormatters:[ui.inputFormatter.rangeFormatter({min:0,max:100,dp:2}),ui.inputFormatter.dpFormatter(2)],classNames:{root:"oui-rounded-b-xl"}})]})};var ao=e=>Number.isNaN(Number(e))?0:Number(e),ys="orderly_order_sound_alert",Jt=e=>{let[r,t]=hooks.useLocalStorage("orderly-order-entry-order-type",types.OrderType.LIMIT),[i,s]=hooks.useLocalStorage("orderly-order-entry-order-side",types.OrderSide.BUY),[n,a]=hooks.useLocalStorage("orderly_order_bbo_type",void 0),[u,g]=hooks.useLocalStorage("orderly_order_quantity_unit","quote"),{notification:f}=hooks.useOrderlyContext(),[p,b]=hooks.useLocalStorage(ys,f?.orderFilled?.defaultOpen??false),l=Yr.useRef(n),{formattedOrder:m,setValue:S,setValues:h,symbolInfo:P,...I}=hooks.useOrderEntry(e.symbol,{initialOrder:{symbol:e.symbol,order_type:r,position_type:types.PositionType.PARTIAL,side:i}}),[E,A]=hooks.useLocalStorage("orderly-order-entry-tp_sl-switch",false),{state:$}=hooks.useAccount(),{wrongNetwork:B,disabledConnect:oe}=reactApp.useAppContext(),Q=Yr.useMemo(()=>!B&&!oe&&($.status===types.AccountStatusEnum.EnableTrading||$.status===types.AccountStatusEnum.EnableTradingWithoutConnected),[$.status,B,oe]),{currentLeverage:q}=hooks.useMarginRatio(),M=hooks.useEventEmitter(),y=Yr.useRef(8),j=Yr.useRef(5),fe=Yr.useRef(null),J=Yr.useRef(null),xe=Yr.useRef(null),[Te,ke]=Yr.useState(0),ft=Yr.useMemo(()=>Number(m.order_quantity)>=Number(I.maxQty)?1:ui.convertValueToPercentage(Number(m.order_quantity??0),0,I.maxQty)/100,[m.order_quantity,I.maxQty]),ae=()=>{if(P.base_tick<1||m.order_type===types.OrderType.SCALED||!m.order_quantity)return;let d=hooks.utils.formatNumber(m?.order_quantity,new utils.Decimal(P?.base_tick||"0").toNumber());S("order_quantity",d,{shouldUpdateLastChangedField:false});},We=d=>N=>{y.current=d,[4,5].includes(y.current)&&(j.current=d);},Ye=d=>N=>{setTimeout(()=>{y.current===d&&(y.current=8);},300),d===2&&ae();},_e=()=>{h({tp_trigger_price:"",sl_trigger_price:"",position_type:types.PositionType.FULL});},gt=()=>{h({order_type_ext:void 0,position_type:types.PositionType.FULL});},yt=()=>{S("order_quantity",I.maxQty);},Ge=(d,N,c)=>{if(d==="order_type"&&t(N),d==="side"&&s(N),d==="reduce_only"&&N||d==="order_type"&&(N===types.OrderType.STOP_LIMIT||N===types.OrderType.STOP_MARKET)){let C={tp_trigger_price:"",sl_trigger_price:"",[d]:N};d==="order_type"&&(C.order_type_ext=""),h(C);return}if(d==="order_type"&&N!==types.OrderType.LIMIT){let C={level:void 0,order_type_ext:void 0,[d]:N};h(C);return}if(d==="order_type"&&N===types.OrderType.SCALED){h({distribution_type:types.DistributionType.FLAT,[d]:N});return}S(d,N,c);},Ke=d=>{A(d),d?gt():_e();},le=Yr.useMemo(()=>E||[types.OrderType.POST_ONLY,types.OrderType.IOC,types.OrderType.FOK].includes(m.order_type_ext)?"disabled":n&&m.order_type===types.OrderType.LIMIT?"on":"off",[E,m.order_type_ext,m.order_type,n]),He=()=>{n?(a(void 0),h({order_type_ext:void 0,level:void 0})):a(l.current||types.BBOOrderType.COUNTERPARTY1);},bt=d=>{a(d),l.current=d;};Yr.useEffect(()=>{if(le==="disabled"){let{order_type_ext:d}=m;h({order_type_ext:Be({order_type_ext:d})?void 0:d,level:void 0});}},[le,m.order_type_ext]),Yr.useEffect(()=>{if(le==="on"){let d=ir(n,m.side),N=nr(n);h({order_type_ext:d,level:N});}},[n,le,m.side]),Yr.useEffect(()=>{let d=N=>{S("order_price",N);};return M.on("update:orderPrice",d),()=>{M.off("update:orderPrice",d);}},[]),Yr.useEffect(()=>{let d=c=>{requestAnimationFrame(()=>{c?.focus();});},N=c=>{let C=utils.removeTrailingZeros(c[0]),{order_type:V,order_type_ext:Xe}=m;if(y.current===1&&(V===types.OrderType.STOP_LIMIT||V===types.OrderType.STOP_MARKET)){S("trigger_price",C),d(fe.current);return}if(Be({order_type:V,order_type_ext:Xe})){a(void 0),h({order_type_ext:void 0,level:void 0}),requestAnimationFrame(()=>{M.emit("update:orderPrice",C);}),d(J.current);return}if(V===types.OrderType.STOP_LIMIT||V===types.OrderType.LIMIT){S("order_price",C),d(J.current);return}if(V===types.OrderType.STOP_MARKET){S("trigger_price",C),d(fe.current);return}if(V===types.OrderType.MARKET){a(void 0),h({order_type:types.OrderType.LIMIT,order_price:C}),d(J.current);return}if(V===types.OrderType.SCALED&&j.current){let lo=j.current===4?"start_price":"end_price";S(lo,C),d(J.current);return}S("order_price",C),d(J.current);};return M.on("orderbook:item:click",N),()=>{M.off("orderbook:item:click",N);}},[m,P]),Yr.useEffect(()=>{let d=xe.current;if(!d)return;let N=new ResizeObserver(c=>{for(let C of c){let V=C.contentRect.width;V&&ke(V);}});return N.observe(d),()=>{N.unobserve(d);}},[xe,m.order_type_ext]),Yr.useEffect(()=>{I.reset(),I.resetMetaState();},[e.symbol]),Yr.useEffect(()=>{m.order_type===types.OrderType.SCALED&&!m.distribution_type&&S("distribution_type",types.DistributionType.FLAT);},[m.order_type,m.distribution_type]);let xt=hooks.useComputedLTV(),[Tt,$e]=Yr.useState([0,0]),he=hooks.useDebouncedCallback(d=>{$e([d.asks?.[d.asks.length-1]?.[0],d.bids?.[0]?.[0]]);},200);Yr.useEffect(()=>(M.on("orderbook:update",he),()=>{M.off("orderbook:update",he),he.cancel();}),[he]);let je=()=>{if(le==="on"&&He(),m.order_type===types.OrderType.LIMIT){let[d=0,N=0]=Tt,c=new utils.Decimal(ao(d)).add(ao(N)).div(2).toNumber();requestAnimationFrame(()=>{M.emit("update:orderPrice",c);});}};return {...I,currentQtyPercentage:ft,side:m.side,type:m.order_type,level:m.level,setOrderValue:Ge,setOrderValues:h,currentLeverage:q,formattedOrder:m,tpslSwitch:E,setTpslSwitch:Ke,setMaxQty:yt,symbolInfo:P,onFocus:We,onBlur:Ye,refs:{triggerPriceInputRef:fe,priceInputRef:J,priceInputContainerRef:xe},canTrade:Q,bboStatus:le,bboType:n,onBBOChange:bt,toggleBBO:He,priceInputContainerWidth:Te,currentLtv:xt,fillMiddleValue:je,quantityUnit:u,setQuantityUnit:g,symbol:e.symbol,soundAlert:p,setSoundAlert:b}};var bs=e=>{let r=Jt(e);return jsxRuntime.jsx(jt,{...r,containerRef:e.containerRef,disableFeatures:e.disableFeatures})};
|
|
21
21
|
|
|
22
|
-
exports.AdditionalInfoWidget =
|
|
23
|
-
exports.LTVRiskTooltipWidget =
|
|
24
|
-
exports.OrderConfirmDialog =
|
|
25
|
-
exports.OrderEntry =
|
|
26
|
-
exports.OrderEntryWidget =
|
|
27
|
-
exports.useOrderEntryScript =
|
|
22
|
+
exports.AdditionalInfoWidget = et;
|
|
23
|
+
exports.LTVRiskTooltipWidget = Je;
|
|
24
|
+
exports.OrderConfirmDialog = Pt;
|
|
25
|
+
exports.OrderEntry = jt;
|
|
26
|
+
exports.OrderEntryWidget = bs;
|
|
27
|
+
exports.useOrderEntryScript = Jt;
|
|
28
28
|
//# sourceMappingURL=out.js.map
|
|
29
29
|
//# sourceMappingURL=index.js.map
|