@orderly.network/ui-order-entry 2.6.0-alpha.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.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import Qr, { forwardRef, createContext, useState, useImperativeHandle, useEffect, useContext, useMemo, useRef, useId, useCallback } from 'react';
1
+ import Yr, { forwardRef, createContext, useState, useImperativeHandle, useEffect, useContext, useMemo, useRef, useId, useCallback } from 'react';
2
2
  import { useLocalStorage, usePositionStream, useEventEmitter, useLeverage, useOrderlyContext, useOrderEntry, useAccount, useMarginRatio, useComputedLTV, useDebouncedCallback, useHoldingStream, useTokensInfo, useIndexPricesStream, utils, useQuery, useBoolean, useAccountInfo } from '@orderly.network/hooks';
3
3
  import { i18n, useTranslation } from '@orderly.network/i18n';
4
4
  import { useOrderEntryFormErrorMsg, useAppContext } from '@orderly.network/react-app';
@@ -11,8 +11,8 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
11
11
  import { account } from '@orderly.network/perp';
12
12
  import { AuthGuard } from '@orderly.network/ui-connector';
13
13
 
14
- 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}=useTranslation(),{ltv_threshold:t,negative_usdc_threshold:i,isThresholdLoading:a,holdingData:s=[],currentLtv:l,onConvert:d}=e;return jsxs(Flex,{gap:1,className:"oui-w-72 oui-max-w-72",direction:"column",children:[jsxs(Flex,{width:"100%",justify:"between",itemAlign:"center",children:[jsx(Text,{intensity:36,size:"xs",children:r("common.assets")}),jsx(Text,{intensity:36,size:"xs",children:r("transfer.deposit.collateralContribution")})]}),s.map((f,p)=>jsxs(Flex,{width:"100%",justify:"between",itemAlign:"center",children:[jsx(Text,{intensity:80,size:"xs",children:f.token}),jsx(Text,{size:"xs",intensity:80,className:cn(Number(f.collateralContribution)<0&&"oui-text-warning"),children:removeTrailingZeros(f.collateralContribution)})]},`item-${p}`)),jsx(Divider,{className:"oui-w-full"}),jsxs(Flex,{width:"100%",justify:"between",itemAlign:"center",children:[jsx(Text,{intensity:36,size:"xs",children:r("transfer.LTV.currentLTV")}),jsxs(Text,{size:"xs",intensity:36,className:cn("oui-select-none",po(l)),children:[l,"%"]})]}),jsx(Text,{className:"oui-py-2",intensity:54,size:"2xs",children:r("transfer.LTV.tooltip",{threshold:a?"-":t,usdcThreshold:a?"-":i})}),jsx(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}=useQuery("/v1/public/auto_convert_threshold",{errorRetryCount:3});return {ltv_threshold:new 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}=useHoldingStream(),{ltv_threshold:t,negative_usdc_threshold:i,isLoading:a}=vo(),s=useTokensInfo(),{data:l}=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?account.collateralRatio({baseWeight:g.base_weight??0,discountFactor:g.discount_factor??0,collateralQty:m.holding,collateralCap:g?.user_max_qty??m.holding,indexPrice:n}):zero,S=account.collateralContribution({collateralQty:m.holding,collateralCap:g?.user_max_qty??m.holding,collateralRatio:_.toNumber(),indexPrice:n});return {...m,collateralContribution:S}}),f=useComputedLTV(),p=useCallback(async()=>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 jsx(xt,{...e})};var er=e=>{let{pinned:r,orderTypeExtra:t}=e,{t:i}=useTranslation(),a=s=>l=>{e.onValueChange&&e.onValueChange("order_type_ext",l?s:"");};return useEffect(()=>{e.onValueChange?.("visible_quantity",e.hidden?0:1);},[e.hidden]),jsxs("div",{className:"oui-text-base-contrast-54",children:[jsxs(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:[jsxs(Flex,{itemAlign:"center",children:[jsx(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===OrderType.POST_ONLY,onCheckedChange:a(OrderType.POST_ONLY)}),jsx("label",{htmlFor:"toggle_order_post_only",className: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")})]}),jsxs(Flex,{itemAlign:"center",children:[jsx(Checkbox,{"data-testid":"oui-testid-orderEntry-ioc-checkBox",id:"toggle_order_iov",color:"white",className:"oui-peer",variant:"radio",checked:t===OrderType.IOC,onCheckedChange:a(OrderType.IOC),disabled:!e.showExtra}),jsx("label",{htmlFor:"toggle_order_iov",className: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")})]}),jsxs(Flex,{itemAlign:"center",children:[jsx(Checkbox,{"data-testid":"oui-testid-orderEntry-fox-checkBox",id:"toggle_order_fok",color:"white",variant:"radio",className:"oui-peer",checked:t===OrderType.FOK,onCheckedChange:a(OrderType.FOK),disabled:!e.showExtra}),jsx("label",{htmlFor:"toggle_order_fok",className: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")})]})]}),jsxs(Flex,{gapX:6,children:[jsxs(Flex,{children:[jsx(Checkbox,{"data-testid":"oui-testid-orderEntry-orderConfirm-checkBox",id:"toggle_order_confirm",color:"white",checked:e.needConfirm,onCheckedChange:s=>{e.setNeedConfirm(!!s);}}),jsx("label",{htmlFor:"toggle_order_confirm",className:"oui-text-2xs oui-ml-1",children:i("orderEntry.orderConfirm")})]}),jsxs(Flex,{children:[jsx(Checkbox,{"data-testid":"oui-testid-orderEntry-hidden-checkBox",id:"toggle_order_hidden",color:"white",checked:e.hidden,onCheckedChange:s=>{e.setHidden(s);}}),jsx("label",{htmlFor:"toggle_order_hidden",className:"oui-text-2xs oui-ml-1",children:i("orderEntry.hidden")})]})]}),!r&&jsxs(Fragment,{children:[jsx(Divider,{className:"oui-my-3"}),jsxs(Flex,{children:[jsx(Switch,{"data-testid":"oui-testid-orderEntry-additional-keepVisible-switch",id:"toggle_order_keep_visible",onCheckedChange:s=>{e.setPinned(s);}}),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 jsx(er,{...r,...e})};function Ae(e){let{order_type:r,order_type_ext:t}=e,i=[OrderType.ASK,OrderType.BID].includes(t);return r?r===OrderType.LIMIT&&i:i}function rr(e,r){if([BBOOrderType.COUNTERPARTY1,BBOOrderType.COUNTERPARTY5].includes(e))return r===OrderSide.BUY?OrderType.ASK:OrderType.BID;if([BBOOrderType.QUEUE1,BBOOrderType.QUEUE5].includes(e))return r===OrderSide.BUY?OrderType.BID:OrderType.ASK}function or(e){if([BBOOrderType.COUNTERPARTY1,BBOOrderType.QUEUE1].includes(e))return OrderLevel.ONE;if([BBOOrderType.COUNTERPARTY5,BBOOrderType.QUEUE5].includes(e))return OrderLevel.FIVE}function ir(e){let{type:r,side:t,level:i}=e;if(r===OrderType.ASK){if(i===OrderLevel.ONE)return t===OrderSide.BUY?BBOOrderType.COUNTERPARTY1:BBOOrderType.QUEUE1;if(i===OrderLevel.FIVE)return t===OrderSide.BUY?BBOOrderType.COUNTERPARTY5:BBOOrderType.QUEUE5}if(r===OrderType.BID){if(i===OrderLevel.ONE)return t===OrderSide.BUY?BBOOrderType.QUEUE1:BBOOrderType.COUNTERPARTY1;if(i===OrderLevel.FIVE)return t===OrderSide.BUY?BBOOrderType.QUEUE5: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.t("orderEntry.scaledOrder.fullySuccessful",{total:t}):i===0?i18n.t("orderEntry.scaledOrder.allFailed"):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}=useTranslation(),[{rows:_},S]=usePositionStream(g),E=_?.[0]?.position_qty,[R,P]=useLocalStorage("orderly_order_confirm",true),w=()=>t.position_type===PositionType.FULL?jsx(Text,{children:n("tpsl.positionType.full")}):jsx(Text,{children:n("tpsl.positionType.partial")}),X=()=>{if(f===OrderType.MARKET||f===OrderType.STOP_MARKET)return jsx(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={[BBOOrderType.COUNTERPARTY1]:n("orderEntry.bbo.counterparty1"),[BBOOrderType.COUNTERPARTY5]:n("orderEntry.bbo.counterparty5"),[BBOOrderType.QUEUE1]:n("orderEntry.bbo.queue1"),[BBOOrderType.QUEUE5]:n("orderEntry.bbo.queue5")}[U];return jsx(Text,{intensity:80,children:L})}return jsx(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?jsx(Text,{className:"oui-text-base-contrast-36",children:n("common.marketPrice")}):jsx(Text.numeral,{unit:"USDC",rule:"price",className: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}):jsx(Text,{className:"oui-text-base-contrast-36",children:"-- USDC"}),ae=useMemo(()=>{let U=new Decimal(t.order_quantity);return t.position_type===PositionType.FULL&&(U=U.plus(new Decimal(E))),jsxs(Flex,{justify:"between",children:[jsx(Text,{children:t.position_type===PositionType.FULL?n("common.positionQty"):n("common.orderQty")}),jsx(Text.numeral,{rule:"price",dp:l,padding:false,className:"oui-text-base-contrast",children:U.toNumber()})]})},[t,E,n]);return jsxs(Fragment,{children:[jsxs(Flex,{justify:"between",children:[jsx(Text.formatted,{rule:"symbol",showIcon:true,children:t.symbol}),jsxs(Flex,{justify:"end",gapX:1,children:[jsx(Do,{type:f}),d===OrderSide.BUY?jsx(Badge,{color:"buy",size:"sm",children:n("common.buy")}):jsx(Badge,{color:"sell",size:"sm",children:n("common.sell")})]})]}),jsx(Divider,{className:"oui-my-4"}),jsxs("div",{className:textVariants({size:"sm",intensity:54,className:"oui-space-y-1"}),children:[jsxs(Flex,{justify:"between",children:[jsx(Text,{children:n("common.orderQty")}),jsx(Text.numeral,{rule:"price",dp:l,padding:false,className:"oui-text-base-contrast",children:t.order_quantity})]}),t.trigger_price?jsxs(Flex,{justify:"between",children:[jsx(Text,{children:n("common.trigger")}),jsx(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,jsxs(Flex,{justify:"between",children:[jsx(Text,{children:n("common.price")}),X()]}),jsxs(Flex,{justify:"between",children:[jsx(Text,{children:n("common.estTotal")}),jsx(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?jsxs(Fragment,{children:[jsx(Divider,{className:"oui-my-4"}),jsxs("div",{className:textVariants({size:"sm",intensity:54,className:"oui-space-y-1 oui-w-full oui-flex oui-flex-col oui-gap-3"}),children:[jsx(Text,{className:"oui-text-base-contrast",children:w()}),ae,jsxs(Flex,{direction:"column",justify:"between",itemAlign:"start",gap:1,className:"oui-w-full",children:[jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:n("tpsl.tpTriggerPrice")}),M({price:t.tp_trigger_price??"",isOrderPrice:false,isEnable:!!t.tp_trigger_price,colorType:"TP"})]}),jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:n("tpsl.tpOrderPrice")}),M({price:t.tp_order_price??"",isOrderPrice:true,isEnable:!!t.tp_trigger_price,colorType:"TP"})]})]}),jsxs(Flex,{direction:"column",justify:"between",itemAlign:"start",gap:1,className:"oui-w-full",children:[jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:n("tpsl.slTriggerPrice")}),M({price:t.sl_trigger_price??"",isOrderPrice:false,isEnable:!!t.sl_trigger_price,colorType:"SL"})]}),jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:n("tpsl.slOrderPrice")}),M({price:t.sl_order_price??"",isOrderPrice:true,isEnable:!!t.sl_trigger_price,colorType:"SL"})]})]})]})]}):null,jsxs(Flex,{gapX:1,pt:4,pb:5,children:[jsx(Checkbox,{id:"orderConfirm",color:"white",onCheckedChange:U=>{P(!U);}}),jsx("label",{htmlFor:"orderConfirm",className:textVariants({size:"xs",intensity:54}),children:n("orderEntry.disableOrderConfirm")})]}),jsxs(Grid,{cols:2,gapX:3,children:[jsx(Button,{color:"secondary",size:"md",onClick:()=>a(),children:n("common.cancel")}),jsx(Button,{size:"md",onClick:()=>i(),children:n("common.confirm")})]})]})};Et.displayName="OrderConfirmDialog";var Do=e=>{let{t:r}=useTranslation(),t=useMemo(()=>{switch(e.type){case OrderType.LIMIT:return r("orderEntry.orderType.limit");case OrderType.MARKET:return r("common.marketPrice");case OrderType.STOP_LIMIT:return r("orderEntry.orderType.stopLimit");case OrderType.STOP_MARKET:return r("orderEntry.orderType.stopMarket");default:return ""}},[e.type]);return jsx(Badge,{color:"neutral",size:"sm",children:t})},qo=e=>{let{close:r,resolve:t,reject:i,...a}=e;return jsx(Et,{...a,onCancel:()=>{i(),r();},onConfirm:()=>{t(),r();}})},St="orderConfirm";registerSimpleDialog(St,qo,{size:"sm",title:()=>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}=useTranslation(),n=()=>{e.reject(),e.close?.();},_=()=>{e.resolve(),e.close?.();},S=useMemo(()=>[{title:g("common.symbol"),dataIndex:"symbol",width:125,render:(v,E)=>jsxs(Flex,{gap:2,children:[jsx("div",{className:cn("oui-h-[38px] oui-w-1 oui-shrink-0 oui-rounded-[1px]",E.side===OrderSide.BUY?"oui-bg-trade-profit":"oui-bg-trade-loss")}),jsxs(Flex,{direction:"column",itemAlign:"start",children:[jsxs(Flex,{gapX:1,children:[jsx(TokenIcon,{symbol:v,className:"oui-size-3"}),jsx(Text.formatted,{rule:"symbol",size:"xs",formatString:"base-type",children:v})]}),jsx(Badge,{color:"neutral",size:"xs",children:g("orderEntry.orderType.limit")})]})]})},{title:g("common.quantity"),dataIndex:"order_quantity",width:100,render:(v,E)=>jsx(Text.numeral,{rule:"price",dp:p,padding:false,color:E.side===OrderSide.BUY?"buy":"sell",children:v})},{title:g("common.orderPrice"),dataIndex:"order_price",width:100,render:(v,E)=>{let R=!!(E.side===OrderSide.BUY?s?.[0]&&Number(v)>=s?.[0]:s?.[1]&&Number(v)<=s?.[1]);return jsxs(Flex,{gapX:1,children:[jsx(Text.numeral,{rule:"price",dp:m,children:v}),R&&jsx(Tooltip,{content:g("orderEntry.confirmScaledOrder.orderPrice.warning"),className:"oui-w-[240px] oui-text-2xs oui-font-semibold oui-text-base-contrast-80",children:jsx($o,{className:"oui-text-warning-darken"})})]})}}],[g,t,s,p,m]);return jsxs("div",{className:"oui-font-semibold",children:[jsx(DataTable,{classNames:{root: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:cn("oui-h-[50px]")})}),jsxs("div",{className:"oui-mb-5 oui-mt-4 oui-text-2xs",children:[jsxs(Flex,{justify:"between",children:[jsx(Text,{children:g("orderEntry.totalOrders")}),jsx(Text,{intensity:80,children:r.orders?.length})]}),jsxs(Flex,{justify:"between",mt:2,children:[jsx(Text,{children:g("orderEntry.totalQuantity")}),jsx(Text.numeral,{rule:"price",unit:d,dp:p,padding:false,intensity:80,unitClassName:"oui-text-base-contrast-36 oui-ml-1",children:l})]}),jsxs(Flex,{justify:"between",mt:2,children:[jsx(Text,{children:g("common.notional")}),jsx(Text.numeral,{rule:"price",unit:f,dp:m,padding:false,intensity:80,unitClassName:"oui-text-base-contrast-36 oui-ml-1",children:a})]})]}),jsxs(Grid,{cols:2,gapX:3,children:[jsx(Button,{color:"secondary",size:"md",onClick:n,children:g("common.cancel")}),jsx(Button,{size:"md",onClick:_,children:g("common.confirm")})]})]})},$o=forwardRef((e,r)=>jsx("svg",{width:"12",height:"13",viewBox:"0 0 12 13",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",ref:r,...e,children: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]=useState(),l=useEventEmitter(),d=useMemo(()=>i.reduce((m,g)=>m.add(new Decimal(g.order_price).mul(g.order_quantity)),zero).toNumber(),[i]),f=useMemo(()=>i.reduce((m,g)=>m.add(new Decimal(g.order_quantity)),zero).toString(),[i,t.base_dp]);return 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 jsx(Lt,{...e,...r})},Ze="scaledOrderConfirm";registerSimpleDialog(Ze,yr,{size:"md",title:()=>i18n.t("orderEntry.confirmScaledOrder"),contentProps:{}});var wt=e=>{let{t:r}=useTranslation(),{takerFeeRate:t,makerFeeRate:i}=e;return jsxs(Flex,{justify:"between",children:[jsx(Text,{size:"2xs",children:r("common.fees")}),jsx(AuthGuard,{fallback:()=>jsxs(Text,{size:"2xs",children:[r("portfolio.feeTier.column.taker"),": --% /"," ",r("portfolio.feeTier.column.maker"),": --%"]}),children:jsxs(Flex,{gap:1,children:[jsxs(Text,{size:"2xs",children:[r("portfolio.feeTier.column.taker"),":"]}),jsx(Text,{size:"2xs",className:"oui-text-base-contrast-80",children:t}),jsx(Text,{size:"2xs",children:"/"}),jsxs(Text,{size:"2xs",children:[r("portfolio.feeTier.column.maker"),":"]}),jsx(Text,{size:"2xs",className:"oui-text-base-contrast-80",children:i})]})})]})};var Ft=()=>{let{data:e}=useAccountInfo(),r=useMemo(()=>{let i=e?.futures_taker_fee_rate;if(!(typeof i>"u"))return `${new Decimal(i).mul(.01).toString()}%`},[e]),t=useMemo(()=>{let i=e?.futures_maker_fee_rate;if(!(typeof i>"u"))return `${new Decimal(i).mul(.01).toString()}%`},[e]);return {takerFeeRate:r,makerFeeRate:t}};var kt=()=>{let e=Ft();return jsx(wt,{...e})};var Ve=createContext({}),_r=Ve.Provider;var hr=e=>{let{t:r}=useTranslation(),{className:t,...i}=e,a=()=>{modal.dialog({title:r("common.tips"),size:"sm",content:jsx(mi,{value:e.value})});};return jsxs(Flex,{direction:"column",itemAlign:"start",justify:"center",p:2,r:"base",width:"100%",intensity:600,className:cn("oui-t-rounded oui-text-base-contrast-36","oui-border oui-border-solid oui-border-line",t),children:[jsx(Text,{size:"2xs",className:"oui-cursor-pointer oui-border-b oui-border-dashed oui-border-line-12",onClick:a,children:r("orderEntry.quantityDistribution")}),jsx(pi,{...i})]})},mi=e=>{let{t:r}=useTranslation(),[t,i]=useState(DistributionType.FLAT);useEffect(()=>{i([DistributionType.FLAT,DistributionType.ASCENDING,DistributionType.DESCENDING].includes(e.value)?e.value:DistributionType.FLAT);},[e.value]);let a=useMemo(()=>[{type:DistributionType.FLAT,title:r("orderEntry.distributionType.flat"),description:r("orderEntry.distributionType.flat.description"),formula:`${r("orderEntry.skew")} = 1`,quantity:jsx(fi,{})},{type:DistributionType.ASCENDING,title:r("orderEntry.distributionType.ascending"),description:r("orderEntry.distributionType.ascending.description"),formula:`${r("orderEntry.skew")} > 1`,quantity:jsx(gi,{})},{type:DistributionType.DESCENDING,title:r("orderEntry.distributionType.descending"),description:r("orderEntry.distributionType.descending.description"),formula:`0 < ${r("orderEntry.skew")} < 1`,quantity:jsx(yi,{})}],[]),s=useMemo(()=>a.find(l=>l.type===t),[a,t]);return jsxs("div",{className:"oui-text-2xs oui-font-semibold oui-text-base-contrast-54",children:[jsxs(Flex,{direction:"column",itemAlign:"start",gapY:1,children:[jsx(Text,{intensity:80,children:r("orderEntry.quantityDistribution.description")}),jsx(Text,{children:r("orderEntry.quantityDistribution.formula")})]}),jsxs(Flex,{intensity:600,p:1,r:"base",mt:3,itemAlign:"start",children:[jsx(Flex,{direction:"column",itemAlign:"start",children:a.map(l=>jsx(Box,{intensity:t===l.type?500:600,width:78,p:2,className:"oui-cursor-pointer oui-rounded-l",onClick:()=>{i(l.type);},children:jsx(Text,{children:l.title})},l.title))}),jsxs(Flex,{direction:"column",itemAlign:"start",gapY:1,p:2,intensity:500,width:"100%",className:cn("oui-rounded-r",t===DistributionType.FLAT&&"oui-rounded-bl",t===DistributionType.ASCENDING&&"oui-rounded-l",t===DistributionType.DESCENDING&&"oui-rounded-tl"),children:[jsx("div",{children:s?.formula}),jsx(Text,{children:s?.description}),jsx(Flex,{width:"100%",justify:"center",children:s?.quantity}),jsxs(Flex,{width:"100%",gapX:1,justify:"center",children:[jsx(Text,{className:"oui-text-base-1",children:r("common.price")}),jsx(bi,{})]})]})]})]})},pi=e=>{let{value:r,onValueChange:t}=e,{t:i}=useTranslation(),a=l=>d=>{t(l);},s=useMemo(()=>({[DistributionType.FLAT]:i("orderEntry.distributionType.flat"),[DistributionType.ASCENDING]:i("orderEntry.distributionType.ascending.abbr"),[DistributionType.DESCENDING]:i("orderEntry.distributionType.descending.abbr"),[DistributionType.CUSTOM]:i("orderEntry.distributionType.custom")}),[i]);return jsx(Flex,{className:cn("oui-gap-x-[6px] lg:oui-gap-x-2"),wrap:"wrap",children:Object.values(DistributionType).map(l=>jsxs(Flex,{itemAlign:"center",children:[jsx(Checkbox,{id:`distribution-type-${l}`,color:"white",variant:"radio",checked:r===l,onCheckedChange:a(l)}),jsx("label",{htmlFor:`distribution-type-${l}`,className:cn("oui-text-2xs","oui-ml-1","oui-whitespace-nowrap oui-break-normal"),children:s[l]})]},l))})},fi=()=>jsxs("svg",{width:"218",height:"40",viewBox:"0 0 218 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsx("rect",{x:"18",y:"18",width:"181",height:"4",fill:"rgb(var(--oui-color-base-2))"}),jsx("circle",{cx:"15",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsx("circle",{cx:"62",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsx("circle",{cx:"109",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsx("circle",{cx:"156",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),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=()=>jsxs("svg",{width:"218",height:"40",viewBox:"0 0 218 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsx("rect",{x:"18",y:"18",width:"181",height:"4",fill:"rgb(var(--oui-color-base-2))"}),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"}),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"}),jsx("circle",{cx:"109",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),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"}),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=()=>jsxs("svg",{width:"218",height:"40",viewBox:"0 0 218 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsx("rect",{width:"181",height:"4",transform:"matrix(-1 0 0 1 200 18)",fill:"rgb(var(--oui-color-base-2))"}),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"}),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"}),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"}),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"}),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=()=>jsx("svg",{width:"176",height:"8",viewBox:"0 0 176 8",fill:"none",xmlns:"http://www.w3.org/2000/svg",children: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=>jsx(Text,{size:"2xs",intensity:36,children:e}),Cr=e=>{let{base:r,quote:t}=e,i=useMemo(()=>[{name:t},{name:r}],[r,t]);return jsx(Select.tokens,{variant:"text",size:"xs",iconSize:"2xs",tokens:i,classNames:{trigger: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=forwardRef((e,r)=>{let{t}=useTranslation(),[i,a]=useState(),[s,l]=useState(""),[d,f]=useState(void 0);useImperativeHandle(r,()=>({getValue:()=>s?new Decimal(s)?.toNumber():i})),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 Decimal(n);a(void 0),_.gt(3)?(l("3"),f(t("orderEntry.slippage.error.exceed"))):(l(n),f(void 0));},g=e.isMobile?jsx("button",{onClick:()=>{modal.alert({title:t("common.tips"),message:jsx(Text,{size:"2xs",children:t("orderEntry.slippage.tips")})});},children:jsx(ExclamationFillIcon,{className:"oui-text-base-contrast-54",size:16})}):jsx(Tooltip,{content:jsx(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:jsx(TooltipTrigger,{children:jsx(ExclamationFillIcon,{className:"oui-text-base-contrast-54",size:16})})});return jsxs("div",{className:"oui-text-2xs",children:[jsxs(Flex,{mb:2,gapX:1,children:[jsx(Text,{size:"xs",children:t("orderEntry.slippage")}),g]}),jsxs(Flex,{gapX:2,children:[Pr.map(n=>jsx(Fi,{value:n,isActive:i===n,onClick:()=>{p(n);}},n)),jsx(Input,{suffix:"%",formatters:[inputFormatter.numberFormatter,inputFormatter.dpFormatter(2)],value:s,onValueChange:m,classNames:{root:cn("oui-rounded-md oui-bg-base-6","oui-h-[40px] oui-w-[74px]"),input:"oui-text-base-contrast",additional:"oui-pl-1"}})]}),!!d&&jsx(Box,{mt:5,className:"-oui-mb-5",children:jsx(Text,{size:"2xs",color:"danger",children:d})})]})}),Fi=({value:e,isActive:r,onClick:t})=>jsx(Flex,{intensity:600,justify:"center",itemAlign:"center",r:"md",width:74,height:40,className:cn("oui-cursor-pointer oui-select-none",r&&"oui-bg-primary-light"),onClick:t,children:jsxs(Text,{size:"sm",intensity:80,children:[e,"%"]})});var Ir=e=>{let{t:r}=useTranslation(),[t,{setTrue:i,setFalse:a,toggle:s}]=useBoolean(false),{isMobile:l}=useScreen(),d=useRef(null),f=()=>{let p=d.current?.getValue();return e.setSlippage(p?p.toString():"1"),a(),Promise.resolve(true)};return jsxs(Fragment,{children:[jsx(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:jsx(Lr,{ref:d,isMobile:l,initialValue:e.slippage?Number(e.slippage):void 0})}),jsxs(Flex,{justify:"between",children:[jsx(Text,{size:"2xs",children:r("orderEntry.slippage")}),jsx(AuthGuard,{fallback:()=>jsxs(Text,{size:"2xs",children:[r("orderEntry.slippage.est"),": -% / ",r("common.max"),": --%"]}),children:jsxs(Flex,{gap:1,children:[jsx(Text.numeral,{size:"2xs",rule:"percentages",prefix:`${r("orderEntry.slippage.est")}: `,suffix:` / ${r("common.max")}: `,children:e.estSlippage??0}),jsx("button",{className:"oui-text-2xs",onClick:()=>i(),children:jsxs(Flex,{className:"oui-gap-0.5",as:"span",children:[jsx(Text,{size:"2xs",className:"oui-text-primary",children:`${e.slippage||"-"}%`}),jsx(EditIcon,{className:"oui-text-primary oui-hidden md:oui-block",size:12,opacity:1})]})})]})})]})]})};var wr=e=>jsx(Ir,{...e});var Dt=createContext({}),rt=()=>useContext(Dt);var kr=e=>{let{type:r,values:t,quote_dp:i}=e,{t:a}=useTranslation(),[s,l]=useState(true),{mode:d,setMode:f,tipsEle:p}=rt(),[m,g]=useState(false),[n,_]=useState(false),S=useMemo(()=>{switch(d){case "Offset":return `${r.toLowerCase()}_offset`;case "Offset%":return `${r.toLowerCase()}_offset_percentage`;default:return `${r.toLowerCase()}_pnl`}},[d]),[v,E]=useState(t[d]);useEffect(()=>{n||E(t[d]);},[t,d,n]);let R=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=useMemo(()=>({PnL:a("tpsl.pnl"),Offset:a("tpsl.offset"),"Offset%":`${a("tpsl.offset")}%`}),[a]),w=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 Decimal(y.replace(new RegExp(w.current.replace(".","\\.")+"$"),"")).mul(100).todp(2,4).toString()}${w.current}`:(d==="Offset"&&(y=todpIfNeed(y,z)),`${y}`)),onSendBefore:y=>{if(/^\-?0{2,}$/.test(y))return "0";if(d==="Offset%"){if(y!==""){y=todpIfNeed(y,2);let $=y.match(/\.0{0,2}$/);$?w.current=$[0]:w.current="",y=new Decimal(y).div(100).toString(),y=`${y}${w.current}`;}}else d==="PnL"&&r==="SL"&&s?y=y.startsWith("-")?y:"-"+y:y=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]=useState(r),[E,R]=useState(r==="Offset%"?"%":l);useEffect(()=>{v(r),R(r==="Offset%"?"%":l);},[r]),useEffect(()=>{v(f?"":r);},[f]);let P=useMemo(()=>`${p.toLowerCase()}_${r.toLowerCase()}`,[]);return jsx(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}),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:jsxs(Fragment,{children:[r==="Offset%"&&!!f&&jsx(Text,{size:"2xs",color:"inherit",className:"oui-ml-[2px]",children:"%"}),jsx(en,{mode:r,modes:t,onModeChange:w=>a(w.value),testId:e.testIds?.dropDown})]})})},en=e=>jsx(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:jsx("button",{className:"oui-p-2","data-testid":e.testId,children:jsx(CaretDownIcon,{size:12,color:"white"})})});var Mr=e=>{let{testIds:r,quote:t,...i}=e,a=kr(i);return jsx(Br,{...a,testIds:r,quote:t,type:e.type})};var zt=e=>{let{type:r,values:t,children:i}=e,[a,s]=useLocalStorage("TP/SL_Mode","Offset%"),{t:l}=useTranslation(),d=useMemo(()=>!t.PnL||!t.trigger_price?null:jsxs(Flex,{children:[jsx("span",{className:"oui-text-xs oui-text-base-contrast-54",children:a==="PnL"?l("orderEntry.estRoi"):l("orderEntry.estPnL")}),a==="PnL"?jsx(Text.numeral,{rule:"percentages",className:cn("oui-ml-1 oui-text-xs",r==="TP"?"oui-text-trade-profit":"oui-text-trade-loss"),children:t.ROI}):jsx(Text.numeral,{rule:"price",className: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=useMemo(()=>({mode:a,setMode:s,tipsEle:d}),[a,s,d]);return jsx(Dt.Provider,{value:f,children:i})};var Yr=e=>{let r=Qr.useRef(null),{t}=useTranslation();return useEffect(()=>{e.orderType!==OrderType.LIMIT&&e.orderType!==OrderType.MARKET&&e.onSwitchChanged(false);},[e.orderType]),e.orderType!==OrderType.LIMIT&&e.orderType!==OrderType.MARKET||e.isReduceOnly?null:jsxs("div",{children:[jsxs(Flex,{itemAlign:"center",justify:"between",children:[jsxs(Flex,{itemAlign:"center",gapX:1,children:[jsx(Switch,{id:"order_entry_tpsl",className:"oui-h-[14px]",checked:e.switchState,disabled:e.orderType!==OrderType.LIMIT&&e.orderType!==OrderType.MARKET||e.isReduceOnly,onCheckedChange:i=>{e.onSwitchChanged(i);}}),jsx("label",{htmlFor:"order_entry_tpsl",className:"oui-text-xs",children:t("common.tpsl")})]}),jsxs(Flex,{itemAlign:"center",gapX:1,onClick:e.showTPSLAdvanced,className:cn("oui-group oui-invisible",e.switchState&&"oui-visible"),children:[jsx(Text,{className:"oui-text-sm oui-cursor-pointer group-hover:oui-text-base-contrast",children:t("tpsl.advanced")}),jsx(SettingFillIcon,{size:12,className:"oui-text-base-contrast-54 group-hover:oui-text-base-contrast oui-cursor-pointer",opacity:1,onClick:e.showTPSLAdvanced})]})]}),jsx("div",{className: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:jsx(Gr,{ref:r,setOrderValue:e.setOrderValue,onChange:e.onChange,values:e.values,errors:e.errors,quote_dp:e.quote_dp})})]})},Gr=Qr.forwardRef((e,r)=>{let{parseErrorMsg:t}=useOrderEntryFormErrorMsg(e.errors);return jsxs("div",{ref:r,className:"oui-space-y-1 oui-px-px oui-py-2 oui-transition-all",children:[jsx(TPSLPositionTypeWidget,{value:e.values.position_type,onChange:e.onChange}),jsx(zt,{values:e.values.tp,type:"TP",children: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"}})}),jsx(zt,{values:e.values.sl,type:"SL",children: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}=useTranslation(),{errorMsgVisible:t}=useContext(Ve),{tipsEle:i}=rt(),[a,s]=useState(`${e.type} Price`),[l,d]=useState("USDC"),[f,p]=useState(false),[m,g]=useState(false),[n,_]=useState(e.values.trigger_price??"");useEffect(()=>{m||_(e.values.trigger_price??"");},[e.values.trigger_price,m]);let S=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);};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 jsx(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:[inputFormatter.numberFormatter,inputFormatter.dpFormatter(e.quote_dp??2),inputFormatter.currencyFormatter]})},zr=e=>{let r=e.type==="SL"?"sl_trigger_price":"tp_trigger_price";return jsxs(Grid,{cols:2,gapX:1,children:[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}),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}=useLeverage(),{t:M}=useTranslation(),{isMobile:ae}=useScreen(),[U,L]=useState(false),{errors:z,validated:y}=m,[$,J]=useState(false),[fe,Qe]=useLocalStorage("orderly_order_confirm",true),[Te,Fe]=useLocalStorage("orderly-order-additional-pinned",true),[dt,le]=useState(false),[We,Ye]=useLocalStorage("orderly-order-hidden",false),[_e,ct]=useLocalStorage("orderly-slippage","1",{parseJSON:u=>!u||u==='""'?"1":JSON.parse(u)}),{notification:mt}=useOrderlyContext(),Ge=useId(),{parseErrorMsg:oe}=useOrderEntryFormErrorMsg(y?z:null),Ke=useMemo(()=>r===OrderSide.BUY?M("orderEntry.buyLong"):M("orderEntry.sellShort"),[r,M]);useEffect(()=>{y&&J(true);},[y]),useEffect(()=>{e.disableFeatures?.includes("slippageSetting")||(_e?i("slippage",Number(_e)):i("slippage",void 0));},[_e,e.disableFeatures]),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===OrderType.SCALED;f.validate().then(C=>u?modal.show(Ze,{order:C,symbolInfo:s,size:ae?"sm":"md"}):fe?modal.show(St,{order:t,symbolInfo:s}):true,C=>(C.slippage&&toast.error(M("orderEntry.slippage.error.max")),J(true),Promise.reject())).then(()=>p({resetOnSuccess:false}).then(C=>{if(!C.success&&C.message)toast.error(C.message);else if(C.success&&u){let F=nr(C);F&&toast.success(F);}})).catch(C=>{C?.message&&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:OrderType.MARKET,sl_trigger_price:void 0,sl_order_price:void 0,sl_order_type:OrderType.MARKET,tp_pnl:void 0,sl_pnl:void 0,position_type:PositionType.FULL});},ge=ae&&e.canTrade,bt=typeof E=="number"&&!Number.isNaN(E)&&E>0;useEffect(()=>{L(false);},[e.symbol]);let c=useMemo(()=>({errorMsgVisible:$}),[$]);return jsxs(_r,{value:c,children:[jsxs("div",{className:"oui-space-y-2 oui-text-base-contrast-54 xl:oui-space-y-3",ref:e.containerRef,children:[jsxs(Flex,{gapX:2,className:"oui-flex-col oui-gap-y-3 lg:oui-flex-row",children:[jsxs("div",{className: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:[jsx(Button,{onClick:()=>{e.setOrderValue("side",OrderSide.BUY);},size:"md",fullWidth:true,"data-type":OrderSide.BUY,className:cn(r===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")}),jsx(Button,{onClick:()=>{e.setOrderValue("side",OrderSide.SELL);},"data-type":OrderSide.SELL,fullWidth:true,size:"md",className:cn(r===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&&jsx(Button,{size:"md",fullWidth:true,trailing:jsx(CaretRightIcon,{size:12,className:"oui-text-base-contrast-36"}),onClick:()=>{modal.show(LeverageWidgetWithSheetId,{currentLeverage:X});},className:cn("oui-bg-base-7 oui-text-primary-light hover:oui-bg-base-6 active:oui-bg-base-6"),children:commifyOptional(X,{fix:2})+"x"})]}),jsx("div",{className:"oui-w-full lg:oui-flex-1",children:jsx(Gn,{type:t.order_type,side:r,canTrade:e.canTrade,onChange:u=>{i("order_type",u);}})})]}),jsxs(Flex,{itemAlign:"center",justify:"between",children:[jsx(Text,{size:"2xs",children:M("common.available")}),jsxs(Flex,{itemAlign:"center",justify:"center",gap:1,children:[bt&&jsx(Tooltip,{className:"oui-bg-base-6 oui-p-2",content:jsx($e,{}),children:jsx(InfoCircleIcon,{className:"oui-cursor-pointer oui-text-warning oui-opacity-80"})}),jsx(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===OrderType.SCALED?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}):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}),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}),jsx(ThrottledButton,{fullWidth:true,id:"order-entry-submit-button","data-type":OrderSide.BUY,className:cn(r===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}),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}),jsx(Divider,{className:"oui-w-full"}),U?jsx($n,{order:t,symbolInfo:e.symbolInfo,errors:y?z:null,onEdit:()=>{le(true);},onDelete:()=>{yt();}}):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??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);}}),jsxs(Flex,{justify:"between",itemAlign:"center",className:"!oui-mt-0 xl:!oui-mt-3",children:[jsxs(Flex,{itemAlign:"center",gapX:1,children:[jsx(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);}}),jsx("label",{htmlFor:"reduceOnly",className:"oui-text-xs",children:M("orderEntry.reduceOnly")})]}),!Te&&jsx(Xn,{pinned:Te,setPinned:Fe,needConfirm:fe,setNeedConfirm:Qe,onValueChange:i,orderTypeExtra:t.order_type_ext,showExtra:t.order_type===OrderType.LIMIT&&!e.tpslSwitch,hidden:We,setHidden:Ye})]}),mt?.orderFilled?.media&&jsx(Flex,{justify:"between",itemAlign:"center",className:"!oui-mt-0 xl:!oui-mt-3",children:jsxs(Flex,{itemAlign:"center",gapX:1,children:[jsx(Switch,{className:"oui-h-[14px]",id:Ge,checked:P,onCheckedChange:u=>w(u)}),jsx("label",{htmlFor:Ge,className:"oui-text-xs",children:M("orderEntry.soundAlerts")})]})}),Te&&jsxs(Box,{p:2,r:"md",intensity:700,position:"relative",children:[jsx(je,{pinned:Te,setPinned:Fe,needConfirm:fe,setNeedConfirm:Qe,onValueChange:i,orderTypeExtra:t.order_type_ext,showExtra:t.order_type===OrderType.LIMIT&&!e.tpslSwitch,hidden:We,setHidden:Ye}),jsx(zn,{onClick:()=>{Fe(false);},className:"oui-absolute oui-right-2 oui-top-2 oui-group","data-testid":"oui-testid-orderEntry-pinned-button"})]})]}),jsx(SimpleSheet,{open:dt,onOpenChange:le,classNames:{body:"oui-h-full oui-pb-0 oui-border-none",overlay:"!oui-bg-base-10/60",content: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:jsx(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]=useState(Hr);return jsx("button",{...e,children: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: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}=useTranslation(),m=l.bboStatus==="on",g=r===OrderType.LIMIT?jsxs(Flex,{direction:"column",itemAlign:"end",className:"oui-text-2xs",children:[t.quote,jsxs(Flex,{justify:"end",itemAlign:"center",gap:2,children:[jsx(Flex,{px:3,height:20,justify:"center",itemAlign:"center",r:"base",className: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"?modal.dialog({title:p("common.tips"),size:"xs",content:jsx(Text,{intensity:54,children:p("orderEntry.bbo.disabled.tips")})}):l.toggleBBO();},children:jsx(Text,{className: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")})}),jsx(Text,{className:cn("oui-select-none","oui-cursor-pointer oui-text-primary"),onClick:f,children:"Mid"})]})]}):t.quote;return jsxs("div",{className:"oui-space-y-1",children:[r===OrderType.STOP_LIMIT||r===OrderType.STOP_MARKET?jsx("div",{className:"oui-group",children: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:[inputFormatter.dpFormatter(t.quote_dp)],onFocus:a(1),onBlur:s(1)})}):null,r===OrderType.LIMIT||r===OrderType.STOP_LIMIT?jsxs("div",{ref:e.refs.priceInputContainerRef,className:"oui-relative oui-w-full oui-group",children:[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:[inputFormatter.dpFormatter(t.quote_dp)],onFocus:a(0),onBlur:s(0),readonly:m,classNames:{root:cn(m&&"focus-within:oui-outline-transparent "),input:cn(m&&"oui-cursor-auto")}}),l.bboStatus==="on"&&jsx("div",{className:cn("oui-absolute oui-left-0 oui-bottom-1"),children:jsx(Zn,{value:l.bboType,onChange:l.onBBOChange,contentStyle:{width:e.priceInputContainerWidth}})})]}):null,jsxs(Grid,{cols:2,className:"oui-group oui-space-x-1",children:[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:[inputFormatter.dpFormatter(t.base_dp)],onFocus:a(2),onBlur:s(2)}),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:[inputFormatter.dpFormatter(t.quote_dp)]})]})]})},Z=forwardRef((e,r)=>{let{placeholder:t="0"}=e,{errorMsgVisible:i}=useContext(Ve);return jsx(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: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,inputFormatter.numberFormatter,inputFormatter.currencyFormatter,inputFormatter.decimalPointFormatter],classNames:{root: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:cn("oui-mb-1 oui-mt-5 oui-h-5",e?.classNames?.input),suffix: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=>jsx("label",{htmlFor:e.id,className: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}=useTranslation(),i=useMemo(()=>r?e.side===OrderSide.BUY?"buy":"sell":void 0,[e.side,r]),a=useMemo(()=>e.side===OrderSide.BUY?t("orderEntry.maxBuy"):t("orderEntry.maxSell"),[e.side,t]);return jsxs("div",{children:[jsx(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}),jsxs(Flex,{justify:"between",className:"oui-pt-1 xl:oui-pt-2",children:[jsx(Text.numeral,{rule:"percentages",size:"2xs",color:i,dp:2,padding:false,children:r?e.currentQtyPercentage:0}),jsxs(Flex,{children:[jsx("button",{className:textVariants({size:"2xs",className:"oui-mr-1"}),onClick:()=>e.setMaxQty(),"data-testid":"oui-testid-orderEntry-maxQty-value-button",children:a}),jsx(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}=useTranslation(),t=useMemo(()=>[{label:r("orderEntry.orderType.limitOrder"),value:OrderType.LIMIT},{label:r("orderEntry.orderType.marketOrder"),value:OrderType.MARKET},{label:r("orderEntry.orderType.stopLimit"),value:OrderType.STOP_LIMIT},{label:r("orderEntry.orderType.stopMarket"),value:OrderType.STOP_MARKET},{label:r("orderEntry.orderType.scaledOrder"),value:OrderType.SCALED}],[r]),i=useMemo(()=>({[OrderType.LIMIT]:r("orderEntry.orderType.limit"),[OrderType.MARKET]:r("common.marketPrice"),[OrderType.STOP_LIMIT]:r("orderEntry.orderType.stopLimit"),[OrderType.STOP_MARKET]:r("orderEntry.orderType.stopMarket"),[OrderType.SCALED]:r("orderEntry.orderType.scaledOrder")}),[r]);return jsx(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 jsx(Text,{size:"xs",children:s.placeholder});let d=i[a];return jsx(Text,{size:"xs",color:e.canTrade?e.side===OrderSide.BUY?"buy":"sell":void 0,children:d})},size:"md"})},Kn=e=>jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:e.size,height:e.size,viewBox:"0 0 12 12",fill:"currentColor",...e,children: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=>jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 12 12",width:e.size,height:e.size,fill:"currentColor",...e,children: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}=useOrderEntryFormErrorMsg(s),{t:d}=useTranslation(),f=()=>{let m=l("tp_trigger_price");return r.tp_trigger_price||r.tp_order_price?jsxs(Flex,{direction:"column",itemAlign:"start",className:"oui-w-full",gap:4,children:[jsxs(Flex,{direction:"column",itemAlign:"start",justify:"between",gapY:1,className:"oui-w-full",children:[jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:d("tpsl.tpTriggerPrice")}),jsx(Text.numeral,{suffix:jsx(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??""})]}),jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:d("tpsl.tpOrderPrice")}),r.tp_order_type===OrderType.LIMIT?jsx(Text.numeral,{suffix:jsx(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??""}):jsx(Text,{className:"oui-text-base-contrast",children:"Market"})]}),jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:d("tpsl.totalEstTpPnl")}),jsx(Text.numeral,{suffix:jsx(Text,{className:"oui-ml-1 oui-text-base-contrast-36",children:t.quote}),coloring:true,dp:2,children:Number(r.tp_pnl)})]})]}),m&&jsxs(Flex,{justify:"start",itemAlign:"start",gap:2,className:"oui-w-full",children:[jsx("div",{className:"oui-relative oui-top-[7px] oui-w-1 oui-h-1 oui-bg-danger oui-rounded-full"}),jsx(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 jsx(Flex,{direction:"column",itemAlign:"start",className:"oui-w-full",gap:4,children:jsxs(Flex,{direction:"column",itemAlign:"start",justify:"between",gapY:1,className:"oui-w-full",children:[jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:d("tpsl.slTriggerPrice")}),jsx(Text.numeral,{suffix:jsx(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??""})]}),jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:d("tpsl.slOrderPrice")}),r.sl_order_type===OrderType.LIMIT?jsx(Text.numeral,{suffix:jsx(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??""}):jsx(Text,{className:"oui-text-base-contrast",children:"Market"})]}),jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:d("tpsl.totalEstSlPnl")}),jsx(Text.numeral,{coloring:true,suffix:jsx(Text,{className:"oui-ml-1 oui-text-base-contrast-36",children:t.quote}),dp:2,children:Number(r.sl_pnl)})]}),m&&jsxs(Flex,{justify:"start",itemAlign:"start",gap:2,className:"oui-w-full",children:[jsx("div",{className:"oui-relative oui-top-[7px] oui-w-1 oui-h-1 oui-bg-danger oui-rounded-full"}),jsx(Text,{className:"oui-text-danger",children:m})]})]})})}return null};return jsxs(Flex,{direction:"column",itemAlign:"start",className:"oui-w-full oui-text-2xs",gap:4,children:[jsxs(Flex,{justify:"between",itemAlign:"start",className:"oui-w-full",children:[jsx(Text,{children:d("tpsl.advanced.title")}),jsxs(Flex,{gap:2,children:[jsx(Kn,{size:12,className:"oui-cursor-pointer oui-text-base-contrast-54 hover:oui-text-base-contrast",opacity:1,onClick:a}),jsx(Hn,{size:12,className:"oui-cursor-pointer oui-text-base-contrast-54 hover:oui-text-base-contrast",onClick:i})]})]}),jsxs(Flex,{justify:"between",itemAlign:"start",className:"oui-w-full",children:[jsx(Text,{children:d("tpsl.mode")}),jsx(Text,{className:"oui-text-base-contrast",children:r.position_type===PositionType.FULL?d("tpsl.fullPosition"):d("tpsl.partialPosition")})]}),f(),p(),jsx(Divider,{className:"oui-w-full oui-mb-2"})]})}function jn(e){let{canTrade:r}=e,{t}=useTranslation();return jsxs("div",{className:"oui-space-y-[2px] xl:oui-space-y-1",children:[jsxs(Flex,{justify:"between",children:[jsx(Text,{size:"2xs",children:t("orderEntry.estLiqPrice")}),jsx(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??"--":"--"})]}),jsxs(Flex,{justify:"between",children:[jsx(Text,{size:"2xs",children:t("leverage.accountLeverage")}),jsxs(Flex,{gapX:1,className:textVariants({size:"2xs",intensity:80}),children:[jsx(Text.numeral,{unit:r?"x":void 0,children:r?e.currentLeverage??"--":"--"}),e.estLeverage&&jsxs(Fragment,{children:[jsx("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",xmlns:"http://www.w3.org/2000/svg",children: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"})}),jsx("span",{children:`${e.estLeverage}x`})]})]})]}),e.orderType===OrderType.MARKET&&!e.disableFeatures?.includes("slippageSetting")&&jsx(wr,{slippage:e.slippage,setSlippage:e.setSlippage,estSlippage:e.estSlippage}),!e.disableFeatures?.includes("feesInfo")&&jsx(kt,{})]})}function Xn(e){let[r,t]=useState(false);return jsxs(PopoverRoot,{open:r,onOpenChange:t,children:[jsx(PopoverTrigger,{asChild:true,children:jsx("button",{"data-testid":"oui-testid-orderEntry-additional-button",onClick:()=>{t(true);},children: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: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"})})})}),jsx(PopoverContent,{side:"top",align:"end",className:"oui-w-[230px]",children:jsx(je,{...e})})]})}var Zn=e=>{let{t:r}=useTranslation(),t=[{label:r("orderEntry.bbo.counterparty1"),value:BBOOrderType.COUNTERPARTY1},{label:r("orderEntry.bbo.counterparty5"),value:BBOOrderType.COUNTERPARTY5},{label:r("orderEntry.bbo.queue1"),value:BBOOrderType.QUEUE1},{label:r("orderEntry.bbo.queue5"),value:BBOOrderType.QUEUE5}];return jsx(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 jsx(Box,{children:jsx(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:_}=useTranslation(),S=l==="base",v=S?p:m,E=t.distribution_type===DistributionType.CUSTOM,R=jsx(Cr,{base:p,quote:m,value:v,onValueChange:P=>{d(P===p?"base":"quote");}});return jsxs("div",{className:"oui-space-y-1",children:[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:[inputFormatter.dpFormatter(n)],onFocus:i(4),onBlur:a(4),classNames:{root:"oui-rounded-t-xl"}}),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:[inputFormatter.dpFormatter(n)],onFocus:i(5),onBlur:a(5)}),jsxs(Grid,{cols:2,className:"oui-group oui-space-x-1",children:[S?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:[inputFormatter.dpFormatter(g)],onFocus:i(2),onBlur:a(2)}):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:[inputFormatter.dpFormatter(n)],onFocus:i(3),onBlur:a(3)}),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:[inputFormatter.numberFormatter,inputFormatter.dpFormatter(0)],onFocus:i(6),onBlur:a(6)})]}),jsx(hr,{value:t.distribution_type,onValueChange:P=>{e.onChange("distribution_type",P);},className:cn(!E&&"oui-rounded-b-xl")}),E&&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:[inputFormatter.rangeFormatter({min:0,max:100,dp:2}),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]=useLocalStorage("orderly-order-entry-order-type",OrderType.LIMIT),[i,a]=useLocalStorage("orderly-order-entry-order-side",OrderSide.BUY),[s,l]=useLocalStorage("orderly_order_bbo_type",void 0),[d,f]=useLocalStorage("orderly_order_quantity_unit","quote"),[p,m]=useLocalStorage(ps,false),g=useRef(s),{formattedOrder:n,setValue:_,setValues:S,symbolInfo:v,...E}=useOrderEntry(e.symbol,{initialOrder:{symbol:e.symbol,order_type:r,position_type:PositionType.PARTIAL,side:i}}),[R,P]=useLocalStorage("orderly-order-entry-tp_sl-switch",false),{state:w}=useAccount(),{wrongNetwork:X,disabledConnect:M}=useAppContext(),ae=useMemo(()=>!X&&!M&&(w.status===AccountStatusEnum.EnableTrading||w.status===AccountStatusEnum.EnableTradingWithoutConnected),[w.status,X,M]),{currentLeverage:U}=useMarginRatio(),L=useEventEmitter(),z=useRef(8),y=useRef(5),$=useRef(null),J=useRef(null),fe=useRef(null),[Qe,Te]=useState(0),Fe=useMemo(()=>Number(n.order_quantity)>=Number(E.maxQty)?1:convertValueToPercentage(Number(n.order_quantity??0),0,E.maxQty)/100,[n.order_quantity,E.maxQty]),dt=()=>{if(v.base_tick<1||n.order_type===OrderType.SCALED||!n.order_quantity)return;let c=utils.formatNumber(n?.order_quantity,new 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:PositionType.FULL});},_e=()=>{S({order_type_ext:void 0,position_type: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===OrderType.STOP_LIMIT||u===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!==OrderType.LIMIT){let F={level:void 0,order_type_ext:void 0,[c]:u};S(F);return}if(c==="order_type"&&u===OrderType.SCALED){S({distribution_type:DistributionType.FLAT,[c]:u});return}_(c,u,C);},Ge=c=>{P(c),c?_e():Ye();},oe=useMemo(()=>R||[OrderType.POST_ONLY,OrderType.IOC,OrderType.FOK].includes(n.order_type_ext)?"disabled":s&&n.order_type===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||BBOOrderType.COUNTERPARTY1);},pt=c=>{l(c),g.current=c;};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]),useEffect(()=>{if(oe==="on"){let c=rr(s,n.side),u=or(s);S({order_type_ext:c,level:u});}},[s,oe,n.side]),useEffect(()=>{let c=u=>{_("order_price",u);};return L.on("update:orderPrice",c),()=>{L.off("update:orderPrice",c);}},[]),useEffect(()=>{let c=C=>{requestAnimationFrame(()=>{C?.focus();});},u=C=>{let F=removeTrailingZeros(C[0]),{order_type:W,order_type_ext:so}=n;if(z.current===1&&(W===OrderType.STOP_LIMIT||W===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===OrderType.STOP_LIMIT||W===OrderType.LIMIT){_("order_price",F),c(J.current);return}if(W===OrderType.STOP_MARKET){_("trigger_price",F),c($.current);return}if(W===OrderType.MARKET){l(void 0),S({order_type:OrderType.LIMIT,order_price:F}),c(J.current);return}if(W===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]),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]),useEffect(()=>{E.reset(),E.resetMetaState();},[e.symbol]),useEffect(()=>{n.order_type===OrderType.SCALED&&!n.distribution_type&&_("distribution_type",DistributionType.FLAT);},[n.order_type,n.distribution_type]);let ft=useComputedLTV(),[gt,yt]=useState([0,0]),ge=useDebouncedCallback(c=>{yt([c.asks?.[c.asks.length-1]?.[0],c.bids?.[0]?.[0]]);},200);useEffect(()=>(L.on("orderbook:update",ge),()=>{L.off("orderbook:update",ge),ge.cancel();}),[ge]);let bt=()=>{if(oe==="on"&&Ke(),n.order_type===OrderType.LIMIT){let[c=0,u=0]=gt,C=new 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 jsx(Ht,{...r,containerRef:e.containerRef,disableFeatures:e.disableFeatures})};
14
+ 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}=useTranslation(),{ltv_threshold:t,negative_usdc_threshold:i,isThresholdLoading:s,holdingData:n=[],currentLtv:a,onConvert:u}=e;return jsxs(Flex,{gap:1,className:"oui-w-72 oui-max-w-72",direction:"column",children:[jsxs(Flex,{width:"100%",justify:"between",itemAlign:"center",children:[jsx(Text,{intensity:36,size:"xs",children:r("common.assets")}),jsx(Text,{intensity:36,size:"xs",children:r("transfer.deposit.collateralContribution")})]}),n.map((g,f)=>jsxs(Flex,{width:"100%",justify:"between",itemAlign:"center",children:[jsx(Text,{intensity:80,size:"xs",children:g.token}),jsx(Text,{size:"xs",intensity:80,className:cn(Number(g.collateralContribution)<0&&"oui-text-warning"),children:removeTrailingZeros(g.collateralContribution)})]},`item-${f}`)),jsx(Divider,{className:"oui-w-full"}),jsxs(Flex,{width:"100%",justify:"between",itemAlign:"center",children:[jsx(Text,{intensity:36,size:"xs",children:r("transfer.LTV.currentLTV")}),jsxs(Text,{size:"xs",intensity:36,className:cn("oui-select-none",fo(a)),children:[a,"%"]})]}),jsx(Text,{className:"oui-py-2",intensity:54,size:"2xs",children:r("transfer.LTV.tooltip",{threshold:s?"-":t,usdcThreshold:s?"-":i})}),jsx(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}=useQuery("/v1/public/auto_convert_threshold",{errorRetryCount:3});return {ltv_threshold:new 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}=useHoldingStream(),{ltv_threshold:t,negative_usdc_threshold:i,isLoading:s}=Oo(),n=useTokensInfo(),{data:a}=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?account.collateralRatio({baseWeight:b.base_weight??0,discountFactor:b.discount_factor??0,collateralQty:p.holding,collateralCap:b?.user_max_qty??p.holding,indexPrice:l}):zero,S=account.collateralContribution({collateralQty:p.holding,collateralCap:b?.user_max_qty??p.holding,collateralRatio:m.toNumber(),indexPrice:l});return {...p,collateralContribution:S}}),g=useComputedLTV(),f=useCallback(async()=>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 jsx(_t,{...e})};var rr=e=>{let{pinned:r,orderTypeExtra:t}=e,{t:i}=useTranslation(),s=n=>a=>{e.onValueChange&&e.onValueChange("order_type_ext",a?n:"");};return useEffect(()=>{e.onValueChange?.("visible_quantity",e.hidden?0:1);},[e.hidden]),jsxs("div",{className:"oui-text-base-contrast-54",children:[jsxs(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:[jsxs(Flex,{itemAlign:"center",children:[jsx(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===OrderType.POST_ONLY,onCheckedChange:s(OrderType.POST_ONLY)}),jsx("label",{htmlFor:"toggle_order_post_only",className: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")})]}),jsxs(Flex,{itemAlign:"center",children:[jsx(Checkbox,{"data-testid":"oui-testid-orderEntry-ioc-checkBox",id:"toggle_order_iov",color:"white",className:"oui-peer",variant:"radio",checked:t===OrderType.IOC,onCheckedChange:s(OrderType.IOC),disabled:!e.showExtra}),jsx("label",{htmlFor:"toggle_order_iov",className: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")})]}),jsxs(Flex,{itemAlign:"center",children:[jsx(Checkbox,{"data-testid":"oui-testid-orderEntry-fox-checkBox",id:"toggle_order_fok",color:"white",variant:"radio",className:"oui-peer",checked:t===OrderType.FOK,onCheckedChange:s(OrderType.FOK),disabled:!e.showExtra}),jsx("label",{htmlFor:"toggle_order_fok",className: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")})]})]}),jsxs(Flex,{gapX:6,children:[jsxs(Flex,{children:[jsx(Checkbox,{"data-testid":"oui-testid-orderEntry-orderConfirm-checkBox",id:"toggle_order_confirm",color:"white",checked:e.needConfirm,onCheckedChange:n=>{e.setNeedConfirm(!!n);}}),jsx("label",{htmlFor:"toggle_order_confirm",className:"oui-text-2xs oui-ml-1",children:i("orderEntry.orderConfirm")})]}),jsxs(Flex,{children:[jsx(Checkbox,{"data-testid":"oui-testid-orderEntry-hidden-checkBox",id:"toggle_order_hidden",color:"white",checked:e.hidden,onCheckedChange:n=>{e.setHidden(n);}}),jsx("label",{htmlFor:"toggle_order_hidden",className:"oui-text-2xs oui-ml-1",children:i("orderEntry.hidden")})]})]}),!r&&jsxs(Fragment,{children:[jsx(Divider,{className:"oui-my-3"}),jsxs(Flex,{children:[jsx(Switch,{"data-testid":"oui-testid-orderEntry-additional-keepVisible-switch",id:"toggle_order_keep_visible",onCheckedChange:n=>{e.setPinned(n);}}),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 jsx(rr,{...r,...e})};function Be(e){let{order_type:r,order_type_ext:t}=e,i=[OrderType.ASK,OrderType.BID].includes(t);return r?r===OrderType.LIMIT&&i:i}function ir(e,r){if([BBOOrderType.COUNTERPARTY1,BBOOrderType.COUNTERPARTY5].includes(e))return r===OrderSide.BUY?OrderType.ASK:OrderType.BID;if([BBOOrderType.QUEUE1,BBOOrderType.QUEUE5].includes(e))return r===OrderSide.BUY?OrderType.BID:OrderType.ASK}function nr(e){if([BBOOrderType.COUNTERPARTY1,BBOOrderType.QUEUE1].includes(e))return OrderLevel.ONE;if([BBOOrderType.COUNTERPARTY5,BBOOrderType.QUEUE5].includes(e))return OrderLevel.FIVE}function sr(e){let{type:r,side:t,level:i}=e;if(r===OrderType.ASK){if(i===OrderLevel.ONE)return t===OrderSide.BUY?BBOOrderType.COUNTERPARTY1:BBOOrderType.QUEUE1;if(i===OrderLevel.FIVE)return t===OrderSide.BUY?BBOOrderType.COUNTERPARTY5:BBOOrderType.QUEUE5}if(r===OrderType.BID){if(i===OrderLevel.ONE)return t===OrderSide.BUY?BBOOrderType.QUEUE1:BBOOrderType.COUNTERPARTY1;if(i===OrderLevel.FIVE)return t===OrderSide.BUY?BBOOrderType.QUEUE5: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.t("orderEntry.scaledOrder.fullySuccessful",{total:t}):i===0?i18n.t("orderEntry.scaledOrder.allFailed"):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}=useTranslation(),[{rows:m},S]=usePositionStream(b),P=m?.[0]?.position_qty,[I,E]=useLocalStorage("orderly_order_confirm",true),A=()=>t.position_type===PositionType.FULL?jsx(Text,{children:l("tpsl.positionType.full")}):jsx(Text,{children:l("tpsl.positionType.partial")}),$=()=>{if(g===OrderType.MARKET||g===OrderType.STOP_MARKET)return jsx(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={[BBOOrderType.COUNTERPARTY1]:l("orderEntry.bbo.counterparty1"),[BBOOrderType.COUNTERPARTY5]:l("orderEntry.bbo.counterparty5"),[BBOOrderType.QUEUE1]:l("orderEntry.bbo.queue1"),[BBOOrderType.QUEUE5]:l("orderEntry.bbo.queue5")}[Q];return jsx(Text,{intensity:80,children:q})}return jsx(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?jsx(Text,{className:"oui-text-base-contrast-36",children:l("common.marketPrice")}):jsx(Text.numeral,{unit:"USDC",rule:"price",className: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}):jsx(Text,{className:"oui-text-base-contrast-36",children:"-- USDC"}),oe=useMemo(()=>{let Q=new Decimal(t.order_quantity);return t.position_type===PositionType.FULL&&(Q=Q.plus(new Decimal(P))),jsxs(Flex,{justify:"between",children:[jsx(Text,{children:t.position_type===PositionType.FULL?l("common.positionQty"):l("common.orderQty")}),jsx(Text.numeral,{rule:"price",dp:a,padding:false,className:"oui-text-base-contrast",children:Q.toNumber()})]})},[t,P,l]);return jsxs(Fragment,{children:[jsxs(Flex,{justify:"between",children:[jsx(Text.formatted,{rule:"symbol",showIcon:true,children:t.symbol}),jsxs(Flex,{justify:"end",gapX:1,children:[jsx(qo,{type:g}),u===OrderSide.BUY?jsx(Badge,{color:"buy",size:"sm",children:l("common.buy")}):jsx(Badge,{color:"sell",size:"sm",children:l("common.sell")})]})]}),jsx(Divider,{className:"oui-my-4"}),jsxs("div",{className:textVariants({size:"sm",intensity:54,className:"oui-space-y-1"}),children:[jsxs(Flex,{justify:"between",children:[jsx(Text,{children:l("common.orderQty")}),jsx(Text.numeral,{rule:"price",dp:a,padding:false,className:"oui-text-base-contrast",children:t.order_quantity})]}),t.trigger_price?jsxs(Flex,{justify:"between",children:[jsx(Text,{children:l("common.trigger")}),jsx(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,jsxs(Flex,{justify:"between",children:[jsx(Text,{children:l("common.price")}),$()]}),jsxs(Flex,{justify:"between",children:[jsx(Text,{children:l("common.estTotal")}),jsx(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?jsxs(Fragment,{children:[jsx(Divider,{className:"oui-my-4"}),jsxs("div",{className:textVariants({size:"sm",intensity:54,className:"oui-space-y-1 oui-w-full oui-flex oui-flex-col oui-gap-3"}),children:[jsx(Text,{className:"oui-text-base-contrast",children:A()}),oe,jsxs(Flex,{direction:"column",justify:"between",itemAlign:"start",gap:1,className:"oui-w-full",children:[jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:l("tpsl.tpTriggerPrice")}),B({price:t.tp_trigger_price??"",isOrderPrice:false,isEnable:!!t.tp_trigger_price,colorType:"TP"})]}),jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:l("tpsl.tpOrderPrice")}),B({price:t.tp_order_price??"",isOrderPrice:true,isEnable:!!t.tp_trigger_price,colorType:"TP"})]})]}),jsxs(Flex,{direction:"column",justify:"between",itemAlign:"start",gap:1,className:"oui-w-full",children:[jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:l("tpsl.slTriggerPrice")}),B({price:t.sl_trigger_price??"",isOrderPrice:false,isEnable:!!t.sl_trigger_price,colorType:"SL"})]}),jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:l("tpsl.slOrderPrice")}),B({price:t.sl_order_price??"",isOrderPrice:true,isEnable:!!t.sl_trigger_price,colorType:"SL"})]})]})]})]}):null,jsxs(Flex,{gapX:1,pt:4,pb:5,children:[jsx(Checkbox,{id:"orderConfirm",color:"white",onCheckedChange:Q=>{E(!Q);}}),jsx("label",{htmlFor:"orderConfirm",className:textVariants({size:"xs",intensity:54}),children:l("orderEntry.disableOrderConfirm")})]}),jsxs(Grid,{cols:2,gapX:3,children:[jsx(Button,{color:"secondary",size:"md",onClick:()=>s(),children:l("common.cancel")}),jsx(Button,{size:"md",onClick:()=>i(),children:l("common.confirm")})]})]})};Pt.displayName="OrderConfirmDialog";var qo=e=>{let{t:r}=useTranslation(),t=useMemo(()=>{switch(e.type){case OrderType.LIMIT:return r("orderEntry.orderType.limit");case OrderType.MARKET:return r("common.marketPrice");case OrderType.STOP_LIMIT:return r("orderEntry.orderType.stopLimit");case OrderType.STOP_MARKET:return r("orderEntry.orderType.stopMarket");default:return ""}},[e.type]);return jsx(Badge,{color:"neutral",size:"sm",children:t})},Uo=e=>{let{close:r,resolve:t,reject:i,...s}=e;return jsx(Pt,{...s,onCancel:()=>{i(),r();},onConfirm:()=>{t(),r();}})},Nt="orderConfirm";registerSimpleDialog(Nt,Uo,{size:"sm",title:()=>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}=useTranslation(),l=()=>{e.reject(),e.close?.();},m=()=>{e.resolve(),e.close?.();},S=useMemo(()=>[{title:b("common.symbol"),dataIndex:"symbol",width:125,render:(h,P)=>jsxs(Flex,{gap:2,children:[jsx("div",{className:cn("oui-h-[38px] oui-w-1 oui-shrink-0 oui-rounded-[1px]",P.side===OrderSide.BUY?"oui-bg-trade-profit":"oui-bg-trade-loss")}),jsxs(Flex,{direction:"column",itemAlign:"start",children:[jsxs(Flex,{gapX:1,children:[jsx(TokenIcon,{symbol:h,className:"oui-size-3"}),jsx(Text.formatted,{rule:"symbol",size:"xs",formatString:"base-type",children:h})]}),jsx(Badge,{color:"neutral",size:"xs",children:b("orderEntry.orderType.limit")})]})]})},{title:b("common.quantity"),dataIndex:"order_quantity",width:100,render:(h,P)=>jsx(Text.numeral,{rule:"price",dp:f,padding:false,color:P.side===OrderSide.BUY?"buy":"sell",children:h})},{title:b("common.orderPrice"),dataIndex:"order_price",width:100,render:(h,P)=>{let I=!!(P.side===OrderSide.BUY?n?.[0]&&Number(h)>=n?.[0]:n?.[1]&&Number(h)<=n?.[1]);return jsxs(Flex,{gapX:1,children:[jsx(Text.numeral,{rule:"price",dp:p,children:h}),I&&jsx(Tooltip,{content:b("orderEntry.confirmScaledOrder.orderPrice.warning"),className:"oui-w-[240px] oui-text-2xs oui-font-semibold oui-text-base-contrast-80",children:jsx(jo,{className:"oui-text-warning-darken"})})]})}}],[b,t,n,f,p]);return jsxs("div",{className:"oui-font-semibold",children:[jsx(DataTable,{classNames:{root: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:cn("oui-h-[50px]")})}),jsxs("div",{className:"oui-mb-5 oui-mt-4 oui-text-2xs",children:[jsxs(Flex,{justify:"between",children:[jsx(Text,{children:b("orderEntry.totalOrders")}),jsx(Text,{intensity:80,children:r.orders?.length})]}),jsxs(Flex,{justify:"between",mt:2,children:[jsx(Text,{children:b("orderEntry.totalQuantity")}),jsx(Text.numeral,{rule:"price",unit:u,dp:f,padding:false,intensity:80,unitClassName:"oui-text-base-contrast-36 oui-ml-1",children:a})]}),jsxs(Flex,{justify:"between",mt:2,children:[jsx(Text,{children:b("common.notional")}),jsx(Text.numeral,{rule:"price",unit:g,dp:p,padding:false,intensity:80,unitClassName:"oui-text-base-contrast-36 oui-ml-1",children:s})]})]}),jsxs(Grid,{cols:2,gapX:3,children:[jsx(Button,{color:"secondary",size:"md",onClick:l,children:b("common.cancel")}),jsx(Button,{size:"md",onClick:m,children:b("common.confirm")})]})]})},jo=forwardRef((e,r)=>jsx("svg",{width:"12",height:"13",viewBox:"0 0 12 13",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",ref:r,...e,children: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]=useState(),a=useEventEmitter(),u=useMemo(()=>i.reduce((p,b)=>p.add(new Decimal(b.order_price).mul(b.order_quantity)),zero).toNumber(),[i]),g=useMemo(()=>i.reduce((p,b)=>p.add(new Decimal(b.order_quantity)),zero).toString(),[i,t.base_dp]);return 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 jsx(wt,{...e,...r})},rt="scaledOrderConfirm";registerSimpleDialog(rt,xr,{size:"md",title:()=>i18n.t("orderEntry.confirmScaledOrder"),contentProps:{}});var kt=e=>{let{t:r}=useTranslation(),{takerFeeRate:t,makerFeeRate:i}=e,{widgetConfigs:s}=useAppContext(),n=jsxs(Flex,{width:"100%",itemAlign:"center",justify:"between",children:[jsx(Text,{size:"2xs",children:r("common.fees")}),jsx(AuthGuard,{fallback:()=>jsxs(Text,{size:"2xs",children:[r("portfolio.feeTier.column.taker"),": --% /"," ",r("portfolio.feeTier.column.maker"),": --%"]}),children:jsxs(Flex,{gap:1,children:[jsxs(Text,{size:"2xs",children:[r("portfolio.feeTier.column.taker"),":"]}),jsx(Text,{size:"2xs",className:"oui-text-base-contrast-80",children:t}),jsx(Text,{size:"2xs",children:"/"}),jsxs(Text,{size:"2xs",children:[r("portfolio.feeTier.column.maker"),":"]}),jsx(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}=useAccountInfo(),r=useMemo(()=>{let i=e?.futures_taker_fee_rate;if(!(typeof i>"u"))return `${new Decimal(i).mul(.01).toString()}%`},[e]),t=useMemo(()=>{let i=e?.futures_maker_fee_rate;if(!(typeof i>"u"))return `${new Decimal(i).mul(.01).toString()}%`},[e]);return {takerFeeRate:r,makerFeeRate:t}};var At=()=>{let e=Rt();return jsx(kt,{...e})};var De=createContext({}),Cr=De.Provider;var vr=e=>{let{t:r}=useTranslation(),{className:t,...i}=e,s=()=>{modal.dialog({title:r("common.tips"),size:"sm",content:jsx(fi,{value:e.value})});};return jsxs(Flex,{direction:"column",itemAlign:"start",justify:"center",p:2,r:"base",width:"100%",intensity:600,className:cn("oui-t-rounded oui-text-base-contrast-36","oui-border oui-border-solid oui-border-line",t),children:[jsx(Text,{size:"2xs",className:"oui-cursor-pointer oui-border-b oui-border-dashed oui-border-line-12",onClick:s,children:r("orderEntry.quantityDistribution")}),jsx(gi,{...i})]})},fi=e=>{let{t:r}=useTranslation(),[t,i]=useState(DistributionType.FLAT);useEffect(()=>{i([DistributionType.FLAT,DistributionType.ASCENDING,DistributionType.DESCENDING].includes(e.value)?e.value:DistributionType.FLAT);},[e.value]);let s=useMemo(()=>[{type:DistributionType.FLAT,title:r("orderEntry.distributionType.flat"),description:r("orderEntry.distributionType.flat.description"),formula:`${r("orderEntry.skew")} = 1`,quantity:jsx(yi,{})},{type:DistributionType.ASCENDING,title:r("orderEntry.distributionType.ascending"),description:r("orderEntry.distributionType.ascending.description"),formula:`${r("orderEntry.skew")} > 1`,quantity:jsx(bi,{})},{type:DistributionType.DESCENDING,title:r("orderEntry.distributionType.descending"),description:r("orderEntry.distributionType.descending.description"),formula:`0 < ${r("orderEntry.skew")} < 1`,quantity:jsx(xi,{})}],[]),n=useMemo(()=>s.find(a=>a.type===t),[s,t]);return jsxs("div",{className:"oui-text-2xs oui-font-semibold oui-text-base-contrast-54",children:[jsxs(Flex,{direction:"column",itemAlign:"start",gapY:1,children:[jsx(Text,{intensity:80,children:r("orderEntry.quantityDistribution.description")}),jsx(Text,{children:r("orderEntry.quantityDistribution.formula")})]}),jsxs(Flex,{intensity:600,p:1,r:"base",mt:3,itemAlign:"start",children:[jsx(Flex,{direction:"column",itemAlign:"start",children:s.map(a=>jsx(Box,{intensity:t===a.type?500:600,width:78,p:2,className:"oui-cursor-pointer oui-rounded-l",onClick:()=>{i(a.type);},children:jsx(Text,{children:a.title})},a.title))}),jsxs(Flex,{direction:"column",itemAlign:"start",gapY:1,p:2,intensity:500,width:"100%",className:cn("oui-rounded-r",t===DistributionType.FLAT&&"oui-rounded-bl",t===DistributionType.ASCENDING&&"oui-rounded-l",t===DistributionType.DESCENDING&&"oui-rounded-tl"),children:[jsx("div",{children:n?.formula}),jsx(Text,{children:n?.description}),jsx(Flex,{width:"100%",justify:"center",children:n?.quantity}),jsxs(Flex,{width:"100%",gapX:1,justify:"center",children:[jsx(Text,{className:"oui-text-base-1",children:r("common.price")}),jsx(Ti,{})]})]})]})]})},gi=e=>{let{value:r,onValueChange:t}=e,{t:i}=useTranslation(),s=a=>u=>{t(a);},n=useMemo(()=>({[DistributionType.FLAT]:i("orderEntry.distributionType.flat"),[DistributionType.ASCENDING]:i("orderEntry.distributionType.ascending.abbr"),[DistributionType.DESCENDING]:i("orderEntry.distributionType.descending.abbr"),[DistributionType.CUSTOM]:i("orderEntry.distributionType.custom")}),[i]);return jsx(Flex,{className:cn("oui-gap-x-[6px] lg:oui-gap-x-2"),wrap:"wrap",children:Object.values(DistributionType).map(a=>jsxs(Flex,{itemAlign:"center",children:[jsx(Checkbox,{id:`distribution-type-${a}`,color:"white",variant:"radio",checked:r===a,onCheckedChange:s(a)}),jsx("label",{htmlFor:`distribution-type-${a}`,className:cn("oui-text-2xs","oui-ml-1","oui-whitespace-nowrap oui-break-normal"),children:n[a]})]},a))})},yi=()=>jsxs("svg",{width:"218",height:"40",viewBox:"0 0 218 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsx("rect",{x:"18",y:"18",width:"181",height:"4",fill:"rgb(var(--oui-color-base-2))"}),jsx("circle",{cx:"15",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsx("circle",{cx:"62",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsx("circle",{cx:"109",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsx("circle",{cx:"156",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),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=()=>jsxs("svg",{width:"218",height:"40",viewBox:"0 0 218 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsx("rect",{x:"18",y:"18",width:"181",height:"4",fill:"rgb(var(--oui-color-base-2))"}),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"}),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"}),jsx("circle",{cx:"109",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),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"}),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=()=>jsxs("svg",{width:"218",height:"40",viewBox:"0 0 218 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsx("rect",{width:"181",height:"4",transform:"matrix(-1 0 0 1 200 18)",fill:"rgb(var(--oui-color-base-2))"}),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"}),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"}),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"}),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"}),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=()=>jsx("svg",{width:"176",height:"8",viewBox:"0 0 176 8",fill:"none",xmlns:"http://www.w3.org/2000/svg",children: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=>jsx(Text,{size:"2xs",intensity:36,children:e}),Or=e=>{let{base:r,quote:t}=e,i=useMemo(()=>[{name:t},{name:r}],[r,t]);return jsx(Select.tokens,{variant:"text",size:"xs",iconSize:"2xs",tokens:i,classNames:{trigger: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=forwardRef((e,r)=>{let{t}=useTranslation(),[i,s]=useState(),[n,a]=useState(""),[u,g]=useState(void 0);useImperativeHandle(r,()=>({getValue:()=>n?new Decimal(n)?.toNumber():i})),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 Decimal(l);s(void 0),m.gt(3)?(a("3"),g(t("orderEntry.slippage.error.exceed"))):(a(l),g(void 0));},b=e.isMobile?jsx("button",{onClick:()=>{modal.alert({title:t("common.tips"),message:jsx(Text,{size:"2xs",children:t("orderEntry.slippage.tips")})});},children:jsx(ExclamationFillIcon,{className:"oui-text-base-contrast-54",size:16})}):jsx(Tooltip,{content:jsx(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:jsx(TooltipTrigger,{children:jsx(ExclamationFillIcon,{className:"oui-text-base-contrast-54",size:16})})});return jsxs("div",{className:"oui-text-2xs",children:[jsxs(Flex,{mb:2,gapX:1,children:[jsx(Text,{size:"xs",children:t("orderEntry.slippage")}),b]}),jsxs(Flex,{gapX:2,children:[Lr.map(l=>jsx(Ri,{value:l,isActive:i===l,onClick:()=>{f(l);}},l)),jsx(Input,{suffix:"%",formatters:[inputFormatter.numberFormatter,inputFormatter.dpFormatter(2)],value:n,onValueChange:p,classNames:{root:cn("oui-rounded-md oui-bg-base-6","oui-h-[40px] oui-w-[74px]"),input:"oui-text-base-contrast",additional:"oui-pl-1"}})]}),!!u&&jsx(Box,{mt:5,className:"-oui-mb-5",children:jsx(Text,{size:"2xs",color:"danger",children:u})})]})}),Ri=({value:e,isActive:r,onClick:t})=>jsx(Flex,{intensity:600,justify:"center",itemAlign:"center",r:"md",width:74,height:40,className:cn("oui-cursor-pointer oui-select-none",r&&"oui-bg-primary-light"),onClick:t,children:jsxs(Text,{size:"sm",intensity:80,children:[e,"%"]})});var Fr=e=>{let{t:r}=useTranslation(),[t,{setTrue:i,setFalse:s,toggle:n}]=useBoolean(false),{isMobile:a}=useScreen(),u=useRef(null),g=()=>{let f=u.current?.getValue();return e.setSlippage(f?f.toString():"1"),s(),Promise.resolve(true)};return jsxs(Fragment,{children:[jsx(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:jsx(wr,{ref:u,isMobile:a,initialValue:e.slippage?Number(e.slippage):void 0})}),jsxs(Flex,{justify:"between",children:[jsx(Text,{size:"2xs",children:r("orderEntry.slippage")}),jsx(AuthGuard,{fallback:()=>jsxs(Text,{size:"2xs",children:[r("orderEntry.slippage.est"),": -% / ",r("common.max"),": --%"]}),children:jsxs(Flex,{gap:1,children:[jsx(Text.numeral,{size:"2xs",rule:"percentages",prefix:`${r("orderEntry.slippage.est")}: `,suffix:` / ${r("common.max")}: `,children:e.estSlippage??0}),jsx("button",{className:"oui-text-2xs",onClick:()=>i(),children:jsxs(Flex,{className:"oui-gap-0.5",as:"span",children:[jsx(Text,{size:"2xs",className:"oui-text-primary",children:`${e.slippage||"-"}%`}),jsx(EditIcon,{className:"oui-text-primary oui-hidden md:oui-block",size:12,opacity:1})]})})]})})]})]})};var kr=e=>jsx(Fr,{...e});var Ut=createContext({}),st=()=>useContext(Ut);var Ar=e=>{let{type:r,values:t,quote_dp:i}=e,{t:s}=useTranslation(),[n,a]=useState(true),{mode:u,setMode:g,tipsEle:f}=st(),[p,b]=useState(false),[l,m]=useState(false),S=useMemo(()=>{switch(u){case "Offset":return `${r.toLowerCase()}_offset`;case "Offset%":return `${r.toLowerCase()}_offset_percentage`;default:return `${r.toLowerCase()}_pnl`}},[u]),[h,P]=useState(t[u]);useEffect(()=>{l||P(t[u]);},[t,u,l]);let I=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=useMemo(()=>({PnL:s("tpsl.pnl"),Offset:s("tpsl.offset"),"Offset%":`${s("tpsl.offset")}%`}),[s]),A=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 Decimal(y.replace(new RegExp(A.current.replace(".","\\.")+"$"),"")).mul(100).todp(2,4).toString()}${A.current}`:(u==="Offset"&&(y=todpIfNeed(y,M)),`${y}`)),onSendBefore:y=>{if(/^\-?0{2,}$/.test(y))return "0";if(u==="Offset%"){if(y!==""){y=todpIfNeed(y,2);let j=y.match(/\.0{0,2}$/);j?A.current=j[0]:A.current="",y=new Decimal(y).div(100).toString(),y=`${y}${A.current}`;}}else u==="PnL"&&r==="SL"&&n?y=y.startsWith("-")?y:"-"+y:y=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]=useState(r),[P,I]=useState(r==="Offset%"?"%":a);useEffect(()=>{h(r),I(r==="Offset%"?"%":a);},[r]),useEffect(()=>{h(g?"":r);},[g]);let E=useMemo(()=>`${f.toLowerCase()}_${r.toLowerCase()}`,[]);return jsx(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}),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:jsxs(Fragment,{children:[r==="Offset%"&&!!g&&jsx(Text,{size:"2xs",color:"inherit",className:"oui-ml-[2px]",children:"%"}),jsx(rn,{mode:r,modes:t,onModeChange:A=>s(A.value),testId:e.testIds?.dropDown})]})})},rn=e=>jsx(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:jsx("button",{className:"oui-p-2","data-testid":e.testId,children:jsx(CaretDownIcon,{size:12,color:"white"})})});var Dr=e=>{let{testIds:r,quote:t,...i}=e,s=Ar(i);return jsx(Vr,{...s,testIds:r,quote:t,type:e.type})};var Wt=e=>{let{type:r,values:t,children:i}=e,[s,n]=useLocalStorage("TP/SL_Mode","Offset%"),{t:a}=useTranslation(),u=useMemo(()=>!t.PnL||!t.trigger_price?null:jsxs(Flex,{children:[jsx("span",{className:"oui-text-xs oui-text-base-contrast-54",children:s==="PnL"?a("orderEntry.estRoi"):a("orderEntry.estPnL")}),s==="PnL"?jsx(Text.numeral,{rule:"percentages",className:cn("oui-ml-1 oui-text-xs",r==="TP"?"oui-text-trade-profit":"oui-text-trade-loss"),children:t.ROI}):jsx(Text.numeral,{rule:"price",className: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=useMemo(()=>({mode:s,setMode:n,tipsEle:u}),[s,n,u]);return jsx(Ut.Provider,{value:g,children:i})};var Kr=e=>{let r=Yr.useRef(null),{t}=useTranslation();return useEffect(()=>{e.orderType!==OrderType.LIMIT&&e.orderType!==OrderType.MARKET&&e.onSwitchChanged(false);},[e.orderType]),e.orderType!==OrderType.LIMIT&&e.orderType!==OrderType.MARKET||e.isReduceOnly?null:jsxs("div",{children:[jsxs(Flex,{itemAlign:"center",justify:"between",children:[jsxs(Flex,{itemAlign:"center",gapX:1,children:[jsx(Switch,{id:"order_entry_tpsl",className:"oui-h-[14px]",checked:e.switchState,disabled:e.orderType!==OrderType.LIMIT&&e.orderType!==OrderType.MARKET||e.isReduceOnly,onCheckedChange:i=>{e.onSwitchChanged(i);}}),jsx("label",{htmlFor:"order_entry_tpsl",className:"oui-text-xs",children:t("common.tpsl")})]}),jsxs(Flex,{itemAlign:"center",gapX:1,onClick:e.showTPSLAdvanced,className:cn("oui-group oui-invisible",e.switchState&&"oui-visible"),children:[jsx(Text,{className:"oui-text-sm oui-cursor-pointer group-hover:oui-text-base-contrast",children:t("tpsl.advanced")}),jsx(SettingFillIcon,{size:12,className:"oui-text-base-contrast-54 group-hover:oui-text-base-contrast oui-cursor-pointer",opacity:1,onClick:e.showTPSLAdvanced})]})]}),jsx("div",{className: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:jsx(Hr,{ref:r,setOrderValue:e.setOrderValue,onChange:e.onChange,values:e.values,errors:e.errors,quote_dp:e.quote_dp})})]})},Hr=Yr.forwardRef((e,r)=>{let{parseErrorMsg:t}=useOrderEntryFormErrorMsg(e.errors);return jsxs("div",{ref:r,className:"oui-space-y-1 oui-px-px oui-py-2 oui-transition-all",children:[jsx(TPSLPositionTypeWidget,{value:e.values.position_type,onChange:e.onChange}),jsx(Wt,{values:e.values.tp,type:"TP",children: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"}})}),jsx(Wt,{values:e.values.sl,type:"SL",children: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}=useTranslation(),{errorMsgVisible:t}=useContext(De),{tipsEle:i}=st(),[s,n]=useState(`${e.type} Price`),[a,u]=useState("USDC"),[g,f]=useState(false),[p,b]=useState(false),[l,m]=useState(e.values.trigger_price??"");useEffect(()=>{p||m(e.values.trigger_price??"");},[e.values.trigger_price,p]);let S=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);};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 jsx(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:[inputFormatter.numberFormatter,inputFormatter.dpFormatter(e.quote_dp??2),inputFormatter.currencyFormatter]})},Wr=e=>{let r=e.type==="SL"?"sl_trigger_price":"tp_trigger_price";return jsxs(Grid,{cols:2,gapX:1,children:[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}),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:$}=useLeverage(),{t:B}=useTranslation(),{isMobile:oe}=useScreen(),[Q,q]=useState(false),{errors:M,validated:y}=p,[j,fe]=useState(false),[J,xe]=useLocalStorage("orderly_order_confirm",true),[Te,ke]=useLocalStorage("orderly-order-additional-pinned",true),[ft,ae]=useState(false),[We,Ye]=useLocalStorage("orderly-order-hidden",false),[_e,gt]=useLocalStorage("orderly-slippage","1",{parseJSON:c=>!c||c==='""'?"1":JSON.parse(c)}),{notification:yt}=useOrderlyContext(),Ge=useId(),{parseErrorMsg:Ke}=useOrderEntryFormErrorMsg(y?M:null),le=useMemo(()=>r===OrderSide.BUY?B("orderEntry.buyLong"):B("orderEntry.sellShort"),[r,B]);useEffect(()=>{y&&fe(true);},[y]),useEffect(()=>{e.disableFeatures?.includes("slippageSetting")||(_e?i("slippage",Number(_e)):i("slippage",void 0));},[_e,e.disableFeatures]),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===OrderType.SCALED;g.validate().then(C=>c?modal.show(rt,{order:C,symbolInfo:n,size:oe?"sm":"md"}):J?modal.show(Nt,{order:t,symbolInfo:n}):true,C=>(C.slippage&&toast.error(B("orderEntry.slippage.error.max")),fe(true),Promise.reject())).then(()=>f({resetOnSuccess:false}).then(C=>{if(!C.success&&C.message)toast.error(C.message);else if(C.success&&c){let V=ar(C);V&&toast.success(V);}})).catch(C=>{C?.message&&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:OrderType.MARKET,sl_trigger_price:void 0,sl_order_price:void 0,sl_order_type:OrderType.MARKET,tp_pnl:void 0,sl_pnl:void 0,position_type:PositionType.FULL});},$e=oe&&e.canTrade,he=typeof P=="number"&&!Number.isNaN(P)&&P>0;useEffect(()=>{q(false);},[e.symbol]);let je=!!yt?.orderFilled?.media,d=Te?null:jsx(Jn,{pinned:Te,setPinned:ke,needConfirm:J,setNeedConfirm:xe,onValueChange:i,orderTypeExtra:t.order_type_ext,showExtra:t.order_type===OrderType.LIMIT&&!e.tpslSwitch,hidden:We,setHidden:Ye}),N=useMemo(()=>({errorMsgVisible:j}),[j]);return jsxs(Cr,{value:N,children:[jsxs("div",{className:"oui-space-y-2 oui-text-base-contrast-54 xl:oui-space-y-3",ref:e.containerRef,children:[jsxs(Flex,{gapX:2,className:"oui-flex-col oui-gap-y-3 lg:oui-flex-row",children:[jsxs("div",{className: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:[jsx(Button,{onClick:()=>{e.setOrderValue("side",OrderSide.BUY);},size:"md",fullWidth:true,"data-type":OrderSide.BUY,className:cn(r===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")}),jsx(Button,{onClick:()=>{e.setOrderValue("side",OrderSide.SELL);},"data-type":OrderSide.SELL,fullWidth:true,size:"md",className:cn(r===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&&jsx(Button,{size:"md",fullWidth:true,trailing:jsx(CaretRightIcon,{size:12,className:"oui-text-base-contrast-36"}),onClick:()=>{modal.show(LeverageWidgetWithSheetId,{currentLeverage:$});},className:cn("oui-bg-base-7 oui-text-primary-light hover:oui-bg-base-6 active:oui-bg-base-6"),children:commifyOptional($,{fix:2})+"x"})]}),jsx("div",{className:"oui-w-full lg:oui-flex-1",children:jsx(Hn,{type:t.order_type,side:r,canTrade:e.canTrade,onChange:c=>{i("order_type",c);}})})]}),jsxs(Flex,{itemAlign:"center",justify:"between",children:[jsx(Text,{size:"2xs",children:B("common.available")}),jsxs(Flex,{itemAlign:"center",justify:"center",gap:1,children:[he&&jsx(Tooltip,{className:"oui-bg-base-6 oui-p-2",content:jsx(Je,{}),children:jsx(InfoCircleIcon,{className:"oui-cursor-pointer oui-text-warning oui-opacity-80"})}),jsx(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===OrderType.SCALED?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}):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}),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}),jsx(ThrottledButton,{fullWidth:true,id:"order-entry-submit-button","data-type":OrderSide.BUY,className:cn(r===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}),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}),jsx(Divider,{className:"oui-w-full"}),Q?jsx(Xn,{order:t,symbolInfo:e.symbolInfo,errors:y?M:null,onEdit:()=>{ae(true);},onDelete:()=>{Tt();}}):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??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);}}),jsxs(Flex,{justify:"between",itemAlign:"center",className:"!oui-mt-0 xl:!oui-mt-3",children:[jsxs(Flex,{itemAlign:"center",gapX:1,children:[jsx(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);}}),jsx("label",{htmlFor:"reduceOnly",className:"oui-text-xs",children:B("orderEntry.reduceOnly")})]}),!je&&d]}),je&&jsxs(Flex,{justify:"between",itemAlign:"center",className:"!oui-mt-0 xl:!oui-mt-3",children:[jsxs(Flex,{itemAlign:"center",gapX:1,children:[jsx(Switch,{className:"oui-h-[14px]",id:Ge,checked:E,onCheckedChange:c=>A(c)}),jsx("label",{htmlFor:Ge,className:"oui-text-xs",children:B("orderEntry.soundAlerts")})]}),d]}),Te&&jsxs(Box,{p:2,r:"md",intensity:700,position:"relative",children:[jsx(et,{pinned:Te,setPinned:ke,needConfirm:J,setNeedConfirm:xe,onValueChange:i,orderTypeExtra:t.order_type_ext,showExtra:t.order_type===OrderType.LIMIT&&!e.tpslSwitch,hidden:We,setHidden:Ye}),jsx(Wn,{onClick:()=>{ke(false);},className:"oui-absolute oui-right-2 oui-top-2 oui-group","data-testid":"oui-testid-orderEntry-pinned-button"})]})]}),jsx(SimpleSheet,{open:ft,onOpenChange:ae,classNames:{body:"oui-h-full oui-pb-0 oui-border-none",overlay:"!oui-bg-base-10/60",content: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:jsx(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]=useState(jr);return jsx("button",{...e,children: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: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}=useTranslation(),p=a.bboStatus==="on",b=r===OrderType.LIMIT?jsxs(Flex,{direction:"column",itemAlign:"end",className:"oui-text-2xs",children:[t.quote,jsxs(Flex,{justify:"end",itemAlign:"center",gap:2,children:[jsx(Flex,{px:3,height:20,justify:"center",itemAlign:"center",r:"base",className: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"?modal.dialog({title:f("common.tips"),size:"xs",content:jsx(Text,{intensity:54,children:f("orderEntry.bbo.disabled.tips")})}):a.toggleBBO();},children:jsx(Text,{className: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")})}),jsx(Text,{className:cn("oui-select-none","oui-cursor-pointer oui-text-primary"),onClick:g,children:"Mid"})]})]}):t.quote;return jsxs("div",{className:"oui-space-y-1",children:[r===OrderType.STOP_LIMIT||r===OrderType.STOP_MARKET?jsx("div",{className:"oui-group",children: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:[inputFormatter.dpFormatter(t.quote_dp)],onFocus:s(1),onBlur:n(1)})}):null,r===OrderType.LIMIT||r===OrderType.STOP_LIMIT?jsxs("div",{ref:e.refs.priceInputContainerRef,className:"oui-relative oui-w-full oui-group",children:[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:[inputFormatter.dpFormatter(t.quote_dp)],onFocus:s(0),onBlur:n(0),readonly:p,classNames:{root:cn(p&&"focus-within:oui-outline-transparent "),input:cn(p&&"oui-cursor-auto")}}),a.bboStatus==="on"&&jsx("div",{className:cn("oui-absolute oui-left-0 oui-bottom-1"),children:jsx(es,{value:a.bboType,onChange:a.onBBOChange,contentStyle:{width:e.priceInputContainerWidth}})})]}):null,jsxs(Grid,{cols:2,className:"oui-group oui-space-x-1",children:[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:[inputFormatter.dpFormatter(t.base_dp)],onFocus:s(2),onBlur:n(2)}),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:[inputFormatter.dpFormatter(t.quote_dp)]})]})]})},Z=forwardRef((e,r)=>{let{placeholder:t="0"}=e,{errorMsgVisible:i}=useContext(De);return jsx(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: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,inputFormatter.numberFormatter,inputFormatter.currencyFormatter,inputFormatter.decimalPointFormatter],classNames:{root: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:cn("oui-mb-1 oui-mt-5 oui-h-5",e?.classNames?.input),suffix: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=>jsx("label",{htmlFor:e.id,className: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}=useTranslation(),i=useMemo(()=>r?e.side===OrderSide.BUY?"buy":"sell":void 0,[e.side,r]),s=useMemo(()=>e.side===OrderSide.BUY?t("orderEntry.maxBuy"):t("orderEntry.maxSell"),[e.side,t]);return jsxs("div",{children:[jsx(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}),jsxs(Flex,{justify:"between",className:"oui-pt-1 xl:oui-pt-2",children:[jsx(Text.numeral,{rule:"percentages",size:"2xs",color:i,dp:2,padding:false,children:r?e.currentQtyPercentage:0}),jsxs(Flex,{children:[jsx("button",{className:textVariants({size:"2xs",className:"oui-mr-1"}),onClick:()=>e.setMaxQty(),"data-testid":"oui-testid-orderEntry-maxQty-value-button",children:s}),jsx(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}=useTranslation(),t=useMemo(()=>[{label:r("orderEntry.orderType.limitOrder"),value:OrderType.LIMIT},{label:r("orderEntry.orderType.marketOrder"),value:OrderType.MARKET},{label:r("orderEntry.orderType.stopLimit"),value:OrderType.STOP_LIMIT},{label:r("orderEntry.orderType.stopMarket"),value:OrderType.STOP_MARKET},{label:r("orderEntry.orderType.scaledOrder"),value:OrderType.SCALED}],[r]),i=useMemo(()=>({[OrderType.LIMIT]:r("orderEntry.orderType.limit"),[OrderType.MARKET]:r("common.marketPrice"),[OrderType.STOP_LIMIT]:r("orderEntry.orderType.stopLimit"),[OrderType.STOP_MARKET]:r("orderEntry.orderType.stopMarket"),[OrderType.SCALED]:r("orderEntry.orderType.scaledOrder")}),[r]);return jsx(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 jsx(Text,{size:"xs",children:n.placeholder});let u=i[s];return jsx(Text,{size:"xs",color:e.canTrade?e.side===OrderSide.BUY?"buy":"sell":void 0,children:u})},size:"md"})},$n=e=>jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:e.size,height:e.size,viewBox:"0 0 12 12",fill:"currentColor",...e,children: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=>jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 12 12",width:e.size,height:e.size,fill:"currentColor",...e,children: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}=useOrderEntryFormErrorMsg(n),{t:u}=useTranslation(),g=()=>{let p=a("tp_trigger_price");return r.tp_trigger_price||r.tp_order_price?jsxs(Flex,{direction:"column",itemAlign:"start",className:"oui-w-full",gap:4,children:[jsxs(Flex,{direction:"column",itemAlign:"start",justify:"between",gapY:1,className:"oui-w-full",children:[jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:u("tpsl.tpTriggerPrice")}),jsx(Text.numeral,{suffix:jsx(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??""})]}),jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:u("tpsl.tpOrderPrice")}),r.tp_order_type===OrderType.LIMIT?jsx(Text.numeral,{suffix:jsx(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??""}):jsx(Text,{className:"oui-text-base-contrast",children:"Market"})]}),jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:u("tpsl.totalEstTpPnl")}),jsx(Text.numeral,{suffix:jsx(Text,{className:"oui-ml-1 oui-text-base-contrast-36",children:t.quote}),coloring:true,dp:2,children:Number(r.tp_pnl)})]})]}),p&&jsxs(Flex,{justify:"start",itemAlign:"start",gap:2,className:"oui-w-full",children:[jsx("div",{className:"oui-relative oui-top-[7px] oui-w-1 oui-h-1 oui-bg-danger oui-rounded-full"}),jsx(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 jsx(Flex,{direction:"column",itemAlign:"start",className:"oui-w-full",gap:4,children:jsxs(Flex,{direction:"column",itemAlign:"start",justify:"between",gapY:1,className:"oui-w-full",children:[jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:u("tpsl.slTriggerPrice")}),jsx(Text.numeral,{suffix:jsx(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??""})]}),jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:u("tpsl.slOrderPrice")}),r.sl_order_type===OrderType.LIMIT?jsx(Text.numeral,{suffix:jsx(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??""}):jsx(Text,{className:"oui-text-base-contrast",children:"Market"})]}),jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:u("tpsl.totalEstSlPnl")}),jsx(Text.numeral,{coloring:true,suffix:jsx(Text,{className:"oui-ml-1 oui-text-base-contrast-36",children:t.quote}),dp:2,children:Number(r.sl_pnl)})]}),p&&jsxs(Flex,{justify:"start",itemAlign:"start",gap:2,className:"oui-w-full",children:[jsx("div",{className:"oui-relative oui-top-[7px] oui-w-1 oui-h-1 oui-bg-danger oui-rounded-full"}),jsx(Text,{className:"oui-text-danger",children:p})]})]})})}return null};return jsxs(Flex,{direction:"column",itemAlign:"start",className:"oui-w-full oui-text-2xs",gap:4,children:[jsxs(Flex,{justify:"between",itemAlign:"start",className:"oui-w-full",children:[jsx(Text,{children:u("tpsl.advanced.title")}),jsxs(Flex,{gap:2,children:[jsx($n,{size:12,className:"oui-cursor-pointer oui-text-base-contrast-54 hover:oui-text-base-contrast",opacity:1,onClick:s}),jsx(jn,{size:12,className:"oui-cursor-pointer oui-text-base-contrast-54 hover:oui-text-base-contrast",onClick:i})]})]}),jsxs(Flex,{justify:"between",itemAlign:"start",className:"oui-w-full",children:[jsx(Text,{children:u("tpsl.mode")}),jsx(Text,{className:"oui-text-base-contrast",children:r.position_type===PositionType.FULL?u("tpsl.fullPosition"):u("tpsl.partialPosition")})]}),g(),f(),jsx(Divider,{className:"oui-w-full oui-mb-2"})]})}function Zn(e){let{canTrade:r}=e,{t}=useTranslation();return jsxs("div",{className:"oui-space-y-[2px] xl:oui-space-y-1",children:[jsxs(Flex,{justify:"between",children:[jsx(Text,{size:"2xs",children:t("orderEntry.estLiqPrice")}),jsx(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??"--":"--"})]}),jsxs(Flex,{justify:"between",children:[jsx(Text,{size:"2xs",children:t("leverage.accountLeverage")}),jsxs(Flex,{gapX:1,className:textVariants({size:"2xs",intensity:80}),children:[jsx(Text.numeral,{unit:r?"x":void 0,children:r?e.currentLeverage??"--":"--"}),e.estLeverage&&jsxs(Fragment,{children:[jsx("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",xmlns:"http://www.w3.org/2000/svg",children: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"})}),jsx("span",{children:`${e.estLeverage}x`})]})]})]}),e.orderType===OrderType.MARKET&&!e.disableFeatures?.includes("slippageSetting")&&jsx(kr,{slippage:e.slippage,setSlippage:e.setSlippage,estSlippage:e.estSlippage}),!e.disableFeatures?.includes("feesInfo")&&jsx(At,{})]})}var Jn=e=>{let[r,t]=useState(false);return jsxs(PopoverRoot,{open:r,onOpenChange:t,children:[jsx(PopoverTrigger,{asChild:true,children:jsx("button",{"data-testid":"oui-testid-orderEntry-additional-button",onClick:()=>{t(true);},children: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: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"})})})}),jsx(PopoverContent,{side:"top",align:"end",className:"oui-w-[230px]",children:jsx(et,{...e})})]})},es=e=>{let{t:r}=useTranslation(),t=[{label:r("orderEntry.bbo.counterparty1"),value:BBOOrderType.COUNTERPARTY1},{label:r("orderEntry.bbo.counterparty5"),value:BBOOrderType.COUNTERPARTY5},{label:r("orderEntry.bbo.queue1"),value:BBOOrderType.QUEUE1},{label:r("orderEntry.bbo.queue5"),value:BBOOrderType.QUEUE5}];return jsx(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 jsx(Box,{children:jsx(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}=useTranslation(),S=a==="base",h=S?f:p,P=t.distribution_type===DistributionType.CUSTOM,I=jsx(Or,{base:f,quote:p,value:h,onValueChange:E=>{u(E===f?"base":"quote");}});return jsxs("div",{className:"oui-space-y-1",children:[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:[inputFormatter.dpFormatter(l)],onFocus:i(4),onBlur:s(4),classNames:{root:"oui-rounded-t-xl"}}),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:[inputFormatter.dpFormatter(l)],onFocus:i(5),onBlur:s(5)}),jsxs(Grid,{cols:2,className:"oui-group oui-space-x-1",children:[S?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:[inputFormatter.dpFormatter(b)],onFocus:i(2),onBlur:s(2)}):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:[inputFormatter.dpFormatter(l)],onFocus:i(3),onBlur:s(3)}),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:[inputFormatter.numberFormatter,inputFormatter.dpFormatter(0)],onFocus:i(6),onBlur:s(6)})]}),jsx(vr,{value:t.distribution_type,onValueChange:E=>{e.onChange("distribution_type",E);},className:cn(!P&&"oui-rounded-b-xl")}),P&&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:[inputFormatter.rangeFormatter({min:0,max:100,dp:2}),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]=useLocalStorage("orderly-order-entry-order-type",OrderType.LIMIT),[i,s]=useLocalStorage("orderly-order-entry-order-side",OrderSide.BUY),[n,a]=useLocalStorage("orderly_order_bbo_type",void 0),[u,g]=useLocalStorage("orderly_order_quantity_unit","quote"),{notification:f}=useOrderlyContext(),[p,b]=useLocalStorage(ys,f?.orderFilled?.defaultOpen??false),l=useRef(n),{formattedOrder:m,setValue:S,setValues:h,symbolInfo:P,...I}=useOrderEntry(e.symbol,{initialOrder:{symbol:e.symbol,order_type:r,position_type:PositionType.PARTIAL,side:i}}),[E,A]=useLocalStorage("orderly-order-entry-tp_sl-switch",false),{state:$}=useAccount(),{wrongNetwork:B,disabledConnect:oe}=useAppContext(),Q=useMemo(()=>!B&&!oe&&($.status===AccountStatusEnum.EnableTrading||$.status===AccountStatusEnum.EnableTradingWithoutConnected),[$.status,B,oe]),{currentLeverage:q}=useMarginRatio(),M=useEventEmitter(),y=useRef(8),j=useRef(5),fe=useRef(null),J=useRef(null),xe=useRef(null),[Te,ke]=useState(0),ft=useMemo(()=>Number(m.order_quantity)>=Number(I.maxQty)?1:convertValueToPercentage(Number(m.order_quantity??0),0,I.maxQty)/100,[m.order_quantity,I.maxQty]),ae=()=>{if(P.base_tick<1||m.order_type===OrderType.SCALED||!m.order_quantity)return;let d=utils.formatNumber(m?.order_quantity,new 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:PositionType.FULL});},gt=()=>{h({order_type_ext:void 0,position_type: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===OrderType.STOP_LIMIT||N===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!==OrderType.LIMIT){let C={level:void 0,order_type_ext:void 0,[d]:N};h(C);return}if(d==="order_type"&&N===OrderType.SCALED){h({distribution_type:DistributionType.FLAT,[d]:N});return}S(d,N,c);},Ke=d=>{A(d),d?gt():_e();},le=useMemo(()=>E||[OrderType.POST_ONLY,OrderType.IOC,OrderType.FOK].includes(m.order_type_ext)?"disabled":n&&m.order_type===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||BBOOrderType.COUNTERPARTY1);},bt=d=>{a(d),l.current=d;};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]),useEffect(()=>{if(le==="on"){let d=ir(n,m.side),N=nr(n);h({order_type_ext:d,level:N});}},[n,le,m.side]),useEffect(()=>{let d=N=>{S("order_price",N);};return M.on("update:orderPrice",d),()=>{M.off("update:orderPrice",d);}},[]),useEffect(()=>{let d=c=>{requestAnimationFrame(()=>{c?.focus();});},N=c=>{let C=removeTrailingZeros(c[0]),{order_type:V,order_type_ext:Xe}=m;if(y.current===1&&(V===OrderType.STOP_LIMIT||V===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===OrderType.STOP_LIMIT||V===OrderType.LIMIT){S("order_price",C),d(J.current);return}if(V===OrderType.STOP_MARKET){S("trigger_price",C),d(fe.current);return}if(V===OrderType.MARKET){a(void 0),h({order_type:OrderType.LIMIT,order_price:C}),d(J.current);return}if(V===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]),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]),useEffect(()=>{I.reset(),I.resetMetaState();},[e.symbol]),useEffect(()=>{m.order_type===OrderType.SCALED&&!m.distribution_type&&S("distribution_type",DistributionType.FLAT);},[m.order_type,m.distribution_type]);let xt=useComputedLTV(),[Tt,$e]=useState([0,0]),he=useDebouncedCallback(d=>{$e([d.asks?.[d.asks.length-1]?.[0],d.bids?.[0]?.[0]]);},200);useEffect(()=>(M.on("orderbook:update",he),()=>{M.off("orderbook:update",he),he.cancel();}),[he]);let je=()=>{if(le==="on"&&He(),m.order_type===OrderType.LIMIT){let[d=0,N=0]=Tt,c=new 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 jsx(jt,{...r,containerRef:e.containerRef,disableFeatures:e.disableFeatures})};
15
15
 
16
- export { je as AdditionalInfoWidget, $e as LTVRiskTooltipWidget, Et as OrderConfirmDialog, Ht as OrderEntry, fs as OrderEntryWidget, Xt as useOrderEntryScript };
16
+ export { et as AdditionalInfoWidget, Je as LTVRiskTooltipWidget, Pt as OrderConfirmDialog, jt as OrderEntry, bs as OrderEntryWidget, Jt as useOrderEntryScript };
17
17
  //# sourceMappingURL=out.js.map
18
18
  //# sourceMappingURL=index.mjs.map