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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -56,6 +56,7 @@ declare const useOrderEntryScript: (inputs: OrderEntryScriptInputs) => {
56
56
  toggleBBO: () => void;
57
57
  priceInputContainerWidth: number;
58
58
  currentLtv: number;
59
+ fillMiddleValue: () => void;
59
60
  submit: (options?: {
60
61
  resetOnSuccess?: boolean;
61
62
  }) => Promise<{
package/dist/index.d.ts CHANGED
@@ -56,6 +56,7 @@ declare const useOrderEntryScript: (inputs: OrderEntryScriptInputs) => {
56
56
  toggleBBO: () => void;
57
57
  priceInputContainerWidth: number;
58
58
  currentLtv: number;
59
+ fillMiddleValue: () => void;
59
60
  submit: (options?: {
60
61
  resetOnSuccess?: boolean;
61
62
  }) => Promise<{
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var Er = require('react');
3
+ var Sr = require('react');
4
4
  var hooks = require('@orderly.network/hooks');
5
5
  var i18n = require('@orderly.network/i18n');
6
6
  var reactApp = require('@orderly.network/react-app');
@@ -14,15 +14,15 @@ var uiConnector = require('@orderly.network/ui-connector');
14
14
 
15
15
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
16
16
 
17
- var Er__default = /*#__PURE__*/_interopDefault(Er);
17
+ var Sr__default = /*#__PURE__*/_interopDefault(Sr);
18
18
 
19
- var zr=e=>e>=0&&e<50?"oui-text-success":e>=50&&e<80?"oui-text-warning":e>=80?"oui-text-danger":"",st=e=>{let{t}=i18n.useTranslation(),{ltv_threshold:r,negative_usdc_threshold:o,isThresholdLoading:n,holdingData:i=[],currentLtv:a,onConvert:p}=e;return jsxRuntime.jsxs(ui.Flex,{gap:1,className:"oui-w-72 oui-max-w-72",direction:"column",children:[jsxRuntime.jsxs(ui.Flex,{width:"100%",justify:"between",itemAlign:"center",children:[jsxRuntime.jsx(ui.Text,{intensity:36,size:"xs",children:t("common.assets")}),jsxRuntime.jsx(ui.Text,{intensity:36,size:"xs",children:t("transfer.deposit.collateralContribution")})]}),i.map((s,c)=>jsxRuntime.jsxs(ui.Flex,{width:"100%",justify:"between",itemAlign:"center",children:[jsxRuntime.jsx(ui.Text,{intensity:80,size:"xs",children:s.token}),jsxRuntime.jsx(ui.Text,{size:"xs",intensity:80,className:ui.cn(Number(s.collateralContribution)<0&&"oui-text-warning"),children:utils.removeTrailingZeros(s.collateralContribution)})]},`item-${c}`)),jsxRuntime.jsx(ui.Divider,{className:"oui-w-full"}),jsxRuntime.jsxs(ui.Flex,{width:"100%",justify:"between",itemAlign:"center",children:[jsxRuntime.jsx(ui.Text,{intensity:36,size:"xs",children:t("transfer.LTV.currentLTV")}),jsxRuntime.jsxs(ui.Text,{size:"xs",intensity:36,className:ui.cn("oui-select-none",zr(a)),children:[a,"%"]})]}),jsxRuntime.jsx(ui.Text,{className:"oui-py-2",intensity:54,size:"2xs",children:t("transfer.LTV.tooltip",{threshold:n?"-":r,usdcThreshold:n?"-":o})}),jsxRuntime.jsx(ui.Button,{fullWidth:true,size:"md",variant:"outlined",color:"secondary",onClick:p,children:t("transfer.convert.convertAssets")})]})};var jr=()=>{let{data:e,error:t,isLoading:r}=hooks.useQuery("/v1/public/auto_convert_threshold",{errorRetryCount:3});return {ltv_threshold:new utils.Decimal(e?.ltv_threshold??0).mul(100).toNumber(),negative_usdc_threshold:e?.negative_usdc_threshold,isLoading:r,error:t}},at=()=>{let{data:e=[],isLoading:t}=hooks.useHoldingStream(),{ltv_threshold:r,negative_usdc_threshold:o,isLoading:n}=jr(),i=hooks.useTokensInfo(),{data:a}=hooks.useIndexPricesStream(),p=e.map(u=>{let d=i?.find(({token:b})=>b===u.token),g=u.token==="USDC"?1:a?.[`PERP_${u.token}_USDC`]??0,h=d?perp.account.collateralRatio({baseWeight:d.base_weight??0,discountFactor:d.discount_factor??0,collateralQty:u.holding,collateralCap:d?.user_max_qty??u.holding,indexPrice:g}):0,P=perp.account.collateralContribution({collateralQty:u.holding,collateralCap:d?.user_max_qty??u.holding,collateralRatio:h,indexPrice:g});return {...u,collateralContribution:P}}),s=hooks.useComputedLTV(),c=Er.useCallback(async()=>ui.modal.show("ConvertDialogId"),[]);return {holdingData:p,isHoldingLoading:t,ltv_threshold:r,negative_usdc_threshold:o,isThresholdLoading:n,currentLtv:s,onConvert:c}};var Ue=()=>{let e=at();return jsxRuntime.jsx(st,{...e})};var qt=e=>{let{pinned:t,orderTypeExtra:r}=e,{t:o}=i18n.useTranslation(),n=i=>a=>{e.onValueChange&&e.onValueChange("order_type_ext",a?i:"");};return Er.useEffect(()=>{e.onValueChange?.("visible_quantity",e.hidden?0:1);},[e.hidden]),jsxRuntime.jsxs("div",{className:"oui-text-base-contrast-54",children:[jsxRuntime.jsxs(ui.Flex,{justify:t?"start":"between",mb:3,width:t?"unset":"100%",className:"oui-gap-x-2 md:oui-gap-x-3",wrap:"wrap",gapY:1,children:[jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",children:[jsxRuntime.jsx(ui.Checkbox,{"data-testid":"oui-testid-orderEntry-postOnly-checkBox",id:"toggle_order_post_only",className:"oui-peer",color:"white",variant:"radio",disabled:!e.showExtra,checked:r===types.OrderType.POST_ONLY,onCheckedChange:n(types.OrderType.POST_ONLY)}),jsxRuntime.jsx("label",{htmlFor:"toggle_order_post_only",className:ui.cn("oui-text-2xs oui-ml-1 peer-data-[disabled]:oui-text-base-contrast-20","oui-break-normal oui-whitespace-nowrap"),children:o("orderEntry.orderType.postOnly")})]}),jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",children:[jsxRuntime.jsx(ui.Checkbox,{"data-testid":"oui-testid-orderEntry-ioc-checkBox",id:"toggle_order_iov",color:"white",className:"oui-peer",variant:"radio",checked:r===types.OrderType.IOC,onCheckedChange:n(types.OrderType.IOC),disabled:!e.showExtra}),jsxRuntime.jsx("label",{htmlFor:"toggle_order_iov",className:ui.cn("oui-text-2xs oui-ml-1 peer-data-[disabled]:oui-text-base-contrast-20","oui-break-normal oui-whitespace-nowrap"),children:o("orderEntry.orderType.ioc")})]}),jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",children:[jsxRuntime.jsx(ui.Checkbox,{"data-testid":"oui-testid-orderEntry-fox-checkBox",id:"toggle_order_fok",color:"white",variant:"radio",className:"oui-peer",checked:r===types.OrderType.FOK,onCheckedChange:n(types.OrderType.FOK),disabled:!e.showExtra}),jsxRuntime.jsx("label",{htmlFor:"toggle_order_fok",className:ui.cn("oui-text-2xs oui-ml-1 peer-data-[disabled]:oui-text-base-contrast-20","oui-break-normal oui-whitespace-nowrap"),children:o("orderEntry.orderType.fok")})]})]}),jsxRuntime.jsxs(ui.Flex,{gapX:6,children:[jsxRuntime.jsxs(ui.Flex,{children:[jsxRuntime.jsx(ui.Checkbox,{"data-testid":"oui-testid-orderEntry-orderConfirm-checkBox",id:"toggle_order_confirm",color:"white",checked:e.needConfirm,onCheckedChange:i=>{e.setNeedConfirm(!!i);}}),jsxRuntime.jsx("label",{htmlFor:"toggle_order_confirm",className:"oui-text-2xs oui-ml-1",children:o("orderEntry.orderConfirm")})]}),jsxRuntime.jsxs(ui.Flex,{children:[jsxRuntime.jsx(ui.Checkbox,{"data-testid":"oui-testid-orderEntry-hidden-checkBox",id:"toggle_order_hidden",color:"white",checked:e.hidden,onCheckedChange:i=>{e.setHidden(i);}}),jsxRuntime.jsx("label",{htmlFor:"toggle_order_hidden",className:"oui-text-2xs oui-ml-1",children:o("orderEntry.hidden")})]})]}),!t&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Divider,{className:"oui-my-3"}),jsxRuntime.jsxs(ui.Flex,{children:[jsxRuntime.jsx(ui.Switch,{"data-testid":"oui-testid-orderEntry-additional-keepVisible-switch",id:"toggle_order_keep_visible",onCheckedChange:i=>{e.setPinned(i);}}),jsxRuntime.jsx("label",{htmlFor:"toggle_order_keep_visible",className:"oui-text-2xs oui-ml-1",children:o("orderEntry.keepVisible")})]})]})]})};var Ut=()=>({});var ze=e=>{let t=Ut();return jsxRuntime.jsx(qt,{...t,...e})};function Pe(e){let{order_type:t,order_type_ext:r}=e,o=[types.OrderType.ASK,types.OrderType.BID].includes(r);return t?t===types.OrderType.LIMIT&&o:o}function zt(e,t){if([types.BBOOrderType.COUNTERPARTY1,types.BBOOrderType.COUNTERPARTY5].includes(e))return t===types.OrderSide.BUY?types.OrderType.ASK:types.OrderType.BID;if([types.BBOOrderType.QUEUE1,types.BBOOrderType.QUEUE5].includes(e))return t===types.OrderSide.BUY?types.OrderType.BID:types.OrderType.ASK}function Qt(e){if([types.BBOOrderType.COUNTERPARTY1,types.BBOOrderType.QUEUE1].includes(e))return types.OrderLevel.ONE;if([types.BBOOrderType.COUNTERPARTY5,types.BBOOrderType.QUEUE5].includes(e))return types.OrderLevel.FIVE}function Wt(e){let{type:t,side:r,level:o}=e;if(t===types.OrderType.ASK){if(o===types.OrderLevel.ONE)return r===types.OrderSide.BUY?types.BBOOrderType.COUNTERPARTY1:types.BBOOrderType.QUEUE1;if(o===types.OrderLevel.FIVE)return r===types.OrderSide.BUY?types.BBOOrderType.COUNTERPARTY5:types.BBOOrderType.QUEUE5}if(t===types.OrderType.BID){if(o===types.OrderLevel.ONE)return r===types.OrderSide.BUY?types.BBOOrderType.QUEUE1:types.BBOOrderType.COUNTERPARTY1;if(o===types.OrderLevel.FIVE)return r===types.OrderSide.BUY?types.BBOOrderType.QUEUE5:types.BBOOrderType.COUNTERPARTY5}}function Gt(e){let t=e?.data?.rows||[];if(t.length>0){let r=t.length,o=t.filter(n=>n.success).length;return o===r?i18n.i18n.t("orderEntry.scaledOrder.fullySuccessful",{total:r}):o===0?i18n.i18n.t("orderEntry.scaledOrder.allFailed"):i18n.i18n.t("orderEntry.scaledOrder.partiallySuccessful",{successCount:o,total:r})}}var mt=e=>{let{symbolInfo:t,order:r,onConfirm:o,onCancel:n}=e,{quote_dp:i,base_dp:a}=t,{side:p,order_type:s,order_type_ext:c,level:u}=r,{t:d}=i18n.useTranslation(),[g,h]=hooks.useLocalStorage("orderly_order_confirm",true),P=()=>{if(s===types.OrderType.MARKET||s===types.OrderType.STOP_MARKET)return jsxRuntime.jsx(ui.Text,{intensity:80,children:d("common.marketPrice")});if(Pe({order_type:s,order_type_ext:c})){let b=Wt({type:c,side:p,level:u}),O={[types.BBOOrderType.COUNTERPARTY1]:d("orderEntry.bbo.counterparty1"),[types.BBOOrderType.COUNTERPARTY5]:d("orderEntry.bbo.counterparty5"),[types.BBOOrderType.QUEUE1]:d("orderEntry.bbo.queue1"),[types.BBOOrderType.QUEUE5]:d("orderEntry.bbo.queue5")}[b];return jsxRuntime.jsx(ui.Text,{intensity:80,children:O})}return jsxRuntime.jsx(ui.Text.numeral,{unit:"USDC",rule:"price",className:"oui-text-base-contrast",unitClassName:"oui-text-base-contrast-36 oui-ml-1",dp:i,padding:false,children:r.order_price})};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text.formatted,{rule:"symbol",showIcon:true,children:r.symbol}),jsxRuntime.jsxs(ui.Flex,{justify:"end",gapX:1,children:[jsxRuntime.jsx(fo,{type:s}),p===types.OrderSide.BUY?jsxRuntime.jsx(ui.Badge,{color:"buy",size:"sm",children:d("common.buy")}):jsxRuntime.jsx(ui.Badge,{color:"sell",size:"sm",children:d("common.sell")})]})]}),jsxRuntime.jsx(ui.Divider,{className:"oui-my-4"}),jsxRuntime.jsxs("div",{className:ui.textVariants({size:"sm",intensity:54,className:"oui-space-y-1"}),children:[jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{children:d("common.qty")}),jsxRuntime.jsx(ui.Text.numeral,{rule:"price",dp:a,padding:false,className:"oui-text-base-contrast",children:r.order_quantity})]}),r.trigger_price?jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{children:d("common.trigger")}),jsxRuntime.jsx(ui.Text.numeral,{unit:"USDC",rule:"price",className:"oui-text-base-contrast",unitClassName:"oui-text-base-contrast-36 oui-ml-1",dp:i,padding:false,children:r.trigger_price})]}):null,jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{children:d("common.price")}),P()]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{children:d("common.notional")}),jsxRuntime.jsx(ui.Text.numeral,{unit:"USDC",rule:"price",dp:i,padding:false,className:"oui-text-base-contrast",unitClassName:"oui-text-base-contrast-36 oui-ml-1",children:r.total})]})]}),r.tp_trigger_price||r.sl_trigger_price?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Divider,{className:"oui-my-4"}),jsxRuntime.jsxs("div",{className:ui.textVariants({size:"sm",intensity:54,className:"oui-space-y-1"}),children:[r.tp_trigger_price&&jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{children:d("orderEntry.tpMarkPrice")}),jsxRuntime.jsx(ui.Text.numeral,{unit:"USDC",rule:"price",coloring:true,dp:i,padding:false,unitClassName:"oui-text-base-contrast-36 oui-ml-1",children:r.tp_trigger_price})]}),r.sl_trigger_price&&jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{children:d("orderEntry.slMarkPrice")}),jsxRuntime.jsx(ui.Text.numeral,{unit:"USDC",rule:"price",coloring:true,className:"oui-text-trade-loss",unitClassName:"oui-text-base-contrast-36 oui-ml-1",dp:i,padding:false,children:r.sl_trigger_price})]})]})]}):null,jsxRuntime.jsxs(ui.Flex,{gapX:1,pt:4,pb:5,children:[jsxRuntime.jsx(ui.Checkbox,{id:"orderConfirm",color:"white",onCheckedChange:b=>{h(!b);}}),jsxRuntime.jsx("label",{htmlFor:"orderConfirm",className:ui.textVariants({size:"xs",intensity:54}),children:d("orderEntry.disableOrderConfirm")})]}),r.tp_trigger_price||r.sl_trigger_price?jsxRuntime.jsx(ui.Box,{py:3,px:3,className:"oui-text-center",children:jsxRuntime.jsx(ui.Text,{color:"warning",size:"xs",children:d("orderEntry.tpsl.trigger.description")})}):null,jsxRuntime.jsxs(ui.Grid,{cols:2,gapX:3,children:[jsxRuntime.jsx(ui.Button,{color:"secondary",size:"md",onClick:()=>n(),children:d("common.cancel")}),jsxRuntime.jsx(ui.Button,{size:"md",onClick:()=>o(),children:d("common.confirm")})]})]})};mt.displayName="OrderConfirmDialog";var fo=e=>{let{t}=i18n.useTranslation(),r=Er.useMemo(()=>{switch(e.type){case types.OrderType.LIMIT:return t("orderEntry.orderType.limit");case types.OrderType.MARKET:return t("common.marketPrice");case types.OrderType.STOP_LIMIT:return t("orderEntry.orderType.stopLimit");case types.OrderType.STOP_MARKET:return t("orderEntry.orderType.stopMarket");default:return ""}},[e.type]);return jsxRuntime.jsx(ui.Badge,{color:"neutral",size:"sm",children:r})},go=e=>{let{close:t,resolve:r,reject:o,...n}=e;return jsxRuntime.jsx(mt,{...n,onCancel:()=>{o(),t();},onConfirm:()=>{r(),t();}})},pt="orderConfirm";ui.registerSimpleDialog(pt,go,{size:"sm",title:()=>i18n.i18n.t("orderEntry.orderConfirm")});var yt=e=>{let{order:t,symbolInfo:r,dataSource:o,national:n,askAndBid:i,totalQuantity:a}=e,{base:p,quote:s,base_dp:c,quote_dp:u}=r,{t:d}=i18n.useTranslation(),g=()=>{e.reject(),e.close?.();},h=()=>{e.resolve(),e.close?.();},P=Er.useMemo(()=>[{title:d("common.symbol"),dataIndex:"symbol",width:125,render:(b,O)=>jsxRuntime.jsxs(ui.Flex,{gap:2,children:[jsxRuntime.jsx("div",{className:ui.cn("oui-h-[38px] oui-w-1 oui-shrink-0 oui-rounded-[1px]",O.side===types.OrderSide.BUY?"oui-bg-trade-profit":"oui-bg-trade-loss")}),jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",children:[jsxRuntime.jsxs(ui.Flex,{gapX:1,children:[jsxRuntime.jsx(ui.TokenIcon,{symbol:b,className:"oui-size-3"}),jsxRuntime.jsx(ui.Text.formatted,{rule:"symbol",size:"xs",formatString:"base-type",children:b})]}),jsxRuntime.jsx(ui.Badge,{color:"neutral",size:"xs",children:d("orderEntry.orderType.limit")})]})]})},{title:d("common.quantity"),dataIndex:"order_quantity",width:100,render:(b,O)=>jsxRuntime.jsx(ui.Text.numeral,{rule:"price",dp:c,padding:false,color:O.side===types.OrderSide.BUY?"buy":"sell",children:b})},{title:d("common.orderPrice"),dataIndex:"order_price",width:100,render:(b,O)=>{let E=!!(O.side===types.OrderSide.BUY?i?.[0]&&Number(b)>=i?.[0]:i?.[1]&&Number(b)<=i?.[1]);return jsxRuntime.jsxs(ui.Flex,{gapX:1,children:[jsxRuntime.jsx(ui.Text.numeral,{rule:"price",dp:u,children:b}),E&&jsxRuntime.jsx(ui.Tooltip,{content:d("orderEntry.confirmScaledOrder.orderPrice.warning"),className:"oui-w-[240px] oui-text-2xs oui-font-semibold oui-text-base-contrast-80",children:jsxRuntime.jsx(Eo,{className:"oui-text-warning-darken"})})]})}}],[d,r,i,c,u]);return jsxRuntime.jsxs("div",{className:"oui-font-semibold",children:[jsxRuntime.jsx(ui.DataTable,{classNames:{root:ui.cn("oui-bg-base-7","oui-rounded-lg","oui-overflow-hidden",t.orders?.length>=6&&"oui-h-[320px]"),scroll:"!oui-min-h-[130px]"},dataSource:o,columns:P,bordered:true,onRow:()=>({className:ui.cn("oui-h-[50px]")})}),jsxRuntime.jsxs("div",{className:"oui-mb-5 oui-mt-4 oui-text-2xs",children:[jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{children:d("orderEntry.totalOrders")}),jsxRuntime.jsx(ui.Text,{intensity:80,children:t.orders?.length})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",mt:2,children:[jsxRuntime.jsx(ui.Text,{children:d("orderEntry.totalQuantity")}),jsxRuntime.jsx(ui.Text.numeral,{rule:"price",unit:p,dp:c,padding:false,intensity:80,unitClassName:"oui-text-base-contrast-36 oui-ml-1",children:a})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",mt:2,children:[jsxRuntime.jsx(ui.Text,{children:d("common.notional")}),jsxRuntime.jsx(ui.Text.numeral,{rule:"price",unit:s,dp:u,padding:false,intensity:80,unitClassName:"oui-text-base-contrast-36 oui-ml-1",children:n})]})]}),jsxRuntime.jsxs(ui.Grid,{cols:2,gapX:3,children:[jsxRuntime.jsx(ui.Button,{color:"secondary",size:"md",onClick:g,children:d("common.cancel")}),jsxRuntime.jsx(ui.Button,{size:"md",onClick:h,children:d("common.confirm")})]})]})},Eo=Er.forwardRef((e,t)=>jsxRuntime.jsx("svg",{width:"12",height:"13",viewBox:"0 0 12 13",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",ref:t,...e,children:jsxRuntime.jsx("path",{d:"M5.99951 1.50708C3.23811 1.50708 0.999512 3.74558 0.999512 6.50708C0.999512 9.26858 3.23811 11.5071 5.99951 11.5071C8.76091 11.5071 10.9995 9.26858 10.9995 6.50708C10.9995 3.74558 8.76091 1.50708 5.99951 1.50708ZM5.99951 4.00708C6.27566 4.00708 6.49951 4.23108 6.49951 4.50708C6.49951 4.78308 6.27566 5.00708 5.99951 5.00708C5.72336 5.00708 5.49951 4.78308 5.49951 4.50708C5.49951 4.23108 5.72336 4.00708 5.99951 4.00708ZM5.99951 5.50708C6.27566 5.50708 6.49951 5.73108 6.49951 6.00708V8.50708C6.49951 8.78308 6.27566 9.00708 5.99951 9.00708C5.72336 9.00708 5.49951 8.78308 5.49951 8.50708V6.00708C5.49951 5.73108 5.72336 5.50708 5.99951 5.50708Z"})}));function bt(e){let{order:t,symbolInfo:r}=e,o=t.orders,[n,i]=Er.useState(),a=hooks.useEventEmitter(),p=Er.useMemo(()=>o.reduce((u,d)=>u.add(new utils.Decimal(d.order_price).mul(d.order_quantity)),utils.zero).toNumber(),[o]),s=Er.useMemo(()=>o.reduce((u,d)=>u.add(new utils.Decimal(d.order_quantity)),utils.zero).toString(),[o,r.base_dp]);return Er.useEffect(()=>{let c=u=>{let d=u.asks?.[u.asks.length-1]?.[0],g=u.bids?.[0]?.[0];i([d,g]);};return a.on("orderbook:update",c),()=>{a.off("orderbook:update",c);}},[]),{dataSource:o,national:p,askAndBid:n,totalQuantity:s}}var er=e=>{let t=bt(e);return jsxRuntime.jsx(yt,{...e,...t})},We="scaledOrderConfirm";ui.registerSimpleDialog(We,er,{size:"md",title:()=>i18n.i18n.t("orderEntry.confirmScaledOrder"),contentProps:{}});var xt=e=>{let{t}=i18n.useTranslation(),{takerFeeRate:r,makerFeeRate:o}=e;return jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",children:t("common.fees")}),jsxRuntime.jsx(uiConnector.AuthGuard,{fallback:()=>jsxRuntime.jsxs(ui.Text,{size:"2xs",children:[t("portfolio.feeTier.column.taker"),": --% /"," ",t("portfolio.feeTier.column.maker"),": --%"]}),children:jsxRuntime.jsxs(ui.Flex,{gap:1,children:[jsxRuntime.jsxs(ui.Text,{size:"2xs",children:[t("portfolio.feeTier.column.taker"),":"]}),jsxRuntime.jsx(ui.Text,{size:"2xs",className:"oui-text-base-contrast-80",children:r}),jsxRuntime.jsx(ui.Text,{size:"2xs",children:"/"}),jsxRuntime.jsxs(ui.Text,{size:"2xs",children:[t("portfolio.feeTier.column.maker"),":"]}),jsxRuntime.jsx(ui.Text,{size:"2xs",className:"oui-text-base-contrast-80",children:o})]})})]})};var Tt=()=>{let{data:e}=hooks.useAccountInfo(),t=Er.useMemo(()=>{let o=e?.futures_taker_fee_rate;if(!(typeof o>"u"))return `${new utils.Decimal(o).mul(.01).toString()}%`},[e]),r=Er.useMemo(()=>{let o=e?.futures_maker_fee_rate;if(!(typeof o>"u"))return `${new utils.Decimal(o).mul(.01).toString()}%`},[e]);return {takerFeeRate:t,makerFeeRate:r}};var ht=()=>{let e=Tt();return jsxRuntime.jsx(xt,{...e})};var Le=Er.createContext({}),nr=Le.Provider;var ir=e=>{let{t}=i18n.useTranslation(),{className:r,...o}=e,n=()=>{ui.modal.dialog({title:t("common.tips"),size:"sm",content:jsxRuntime.jsx(Uo,{value:e.value})});};return jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",justify:"center",p:2,r:"base",width:"100%",intensity:600,className:ui.cn("oui-t-rounded oui-text-base-contrast-36","oui-border oui-border-solid oui-border-line",r),children:[jsxRuntime.jsx(ui.Text,{size:"2xs",className:"oui-cursor-pointer oui-border-b oui-border-dashed oui-border-line-12",onClick:n,children:t("orderEntry.quantityDistribution")}),jsxRuntime.jsx(zo,{...o})]})},Uo=e=>{let{t}=i18n.useTranslation(),[r,o]=Er.useState(types.DistributionType.FLAT);Er.useEffect(()=>{o([types.DistributionType.FLAT,types.DistributionType.ASCENDING,types.DistributionType.DESCENDING].includes(e.value)?e.value:types.DistributionType.FLAT);},[e.value]);let n=Er.useMemo(()=>[{type:types.DistributionType.FLAT,title:t("orderEntry.distributionType.flat"),description:t("orderEntry.distributionType.flat.description"),formula:`${t("orderEntry.skew")} = 1`,quantity:jsxRuntime.jsx(Qo,{})},{type:types.DistributionType.ASCENDING,title:t("orderEntry.distributionType.ascending"),description:t("orderEntry.distributionType.ascending.description"),formula:`${t("orderEntry.skew")} > 1`,quantity:jsxRuntime.jsx(Wo,{})},{type:types.DistributionType.DESCENDING,title:t("orderEntry.distributionType.descending"),description:t("orderEntry.distributionType.descending.description"),formula:`0 < ${t("orderEntry.skew")} < 1`,quantity:jsxRuntime.jsx(Go,{})}],[]),i=Er.useMemo(()=>n.find(a=>a.type===r),[n,r]);return jsxRuntime.jsxs("div",{className:"oui-text-2xs oui-font-semibold oui-text-base-contrast-54",children:[jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",gapY:1,children:[jsxRuntime.jsx(ui.Text,{intensity:80,children:t("orderEntry.quantityDistribution.description")}),jsxRuntime.jsx(ui.Text,{children:t("orderEntry.quantityDistribution.formula")})]}),jsxRuntime.jsxs(ui.Flex,{intensity:600,p:1,r:"base",mt:3,itemAlign:"start",children:[jsxRuntime.jsx(ui.Flex,{direction:"column",itemAlign:"start",children:n.map(a=>jsxRuntime.jsx(ui.Box,{intensity:r===a.type?500:600,width:78,p:2,className:"oui-cursor-pointer oui-rounded-l",onClick:()=>{o(a.type);},children:jsxRuntime.jsx(ui.Text,{children:a.title})},a.title))}),jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",gapY:1,p:2,intensity:500,width:"100%",className:ui.cn("oui-rounded-r",r===types.DistributionType.FLAT&&"oui-rounded-bl",r===types.DistributionType.ASCENDING&&"oui-rounded-l",r===types.DistributionType.DESCENDING&&"oui-rounded-tl"),children:[jsxRuntime.jsx("div",{children:i?.formula}),jsxRuntime.jsx(ui.Text,{children:i?.description}),jsxRuntime.jsx(ui.Flex,{width:"100%",justify:"center",children:i?.quantity}),jsxRuntime.jsxs(ui.Flex,{width:"100%",gapX:1,justify:"center",children:[jsxRuntime.jsx(ui.Text,{className:"oui-text-base-1",children:t("common.price")}),jsxRuntime.jsx(Yo,{})]})]})]})]})},zo=e=>{let{value:t,onValueChange:r}=e,{t:o}=i18n.useTranslation(),n=a=>p=>{r(a);},i=Er.useMemo(()=>({[types.DistributionType.FLAT]:o("orderEntry.distributionType.flat"),[types.DistributionType.ASCENDING]:o("orderEntry.distributionType.ascending.abbr"),[types.DistributionType.DESCENDING]:o("orderEntry.distributionType.descending.abbr"),[types.DistributionType.CUSTOM]:o("orderEntry.distributionType.custom")}),[o]);return jsxRuntime.jsx(ui.Flex,{className:ui.cn("oui-gap-x-[6px] lg:oui-gap-x-2"),wrap:"wrap",children:Object.values(types.DistributionType).map(a=>jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",children:[jsxRuntime.jsx(ui.Checkbox,{id:`distribution-type-${a}`,color:"white",variant:"radio",checked:t===a,onCheckedChange:n(a)}),jsxRuntime.jsx("label",{htmlFor:`distribution-type-${a}`,className:ui.cn("oui-text-2xs","oui-ml-1","oui-whitespace-nowrap oui-break-normal"),children:i[a]})]},a))})},Qo=()=>jsxRuntime.jsxs("svg",{width:"218",height:"40",viewBox:"0 0 218 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsxRuntime.jsx("rect",{x:"18",y:"18",width:"181",height:"4",fill:"rgb(var(--oui-color-base-2))"}),jsxRuntime.jsx("circle",{cx:"15",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsxRuntime.jsx("circle",{cx:"62",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsxRuntime.jsx("circle",{cx:"109",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsxRuntime.jsx("circle",{cx:"156",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsxRuntime.jsx("circle",{cx:"203",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"})]}),Wo=()=>jsxRuntime.jsxs("svg",{width:"218",height:"40",viewBox:"0 0 218 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsxRuntime.jsx("rect",{x:"18",y:"18",width:"181",height:"4",fill:"rgb(var(--oui-color-base-2))"}),jsxRuntime.jsx("circle",{cx:"15",cy:"20",r:"4.28571",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"1.42857"}),jsxRuntime.jsx("circle",{cx:"62",cy:"20",r:"5.14286",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"1.71429"}),jsxRuntime.jsx("circle",{cx:"109",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsxRuntime.jsx("circle",{cx:"156",cy:"20",r:"6.85714",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2.28571"}),jsxRuntime.jsx("circle",{cx:"203",cy:"20",r:"7.71429",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2.57143"})]}),Go=()=>jsxRuntime.jsxs("svg",{width:"218",height:"40",viewBox:"0 0 218 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsxRuntime.jsx("rect",{width:"181",height:"4",transform:"matrix(-1 0 0 1 200 18)",fill:"rgb(var(--oui-color-base-2))"}),jsxRuntime.jsx("circle",{cx:"5",cy:"5",r:"4.28571",transform:"matrix(-1 0 0 1 208 15)",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"1.42857"}),jsxRuntime.jsx("circle",{cx:"6",cy:"6",r:"5.14286",transform:"matrix(-1 0 0 1 162 14)",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"1.71429"}),jsxRuntime.jsx("circle",{cx:"7",cy:"7",r:"6",transform:"matrix(-1 0 0 1 116 13)",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsxRuntime.jsx("circle",{cx:"8",cy:"8",r:"6.85714",transform:"matrix(-1 0 0 1 70 12)",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2.28571"}),jsxRuntime.jsx("circle",{cx:"9",cy:"9",r:"7.71429",transform:"matrix(-1 0 0 1 24 11)",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2.57143"})]}),Yo=()=>jsxRuntime.jsx("svg",{width:"176",height:"8",viewBox:"0 0 176 8",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{d:"M175.354 4.35355C175.549 4.15829 175.549 3.84171 175.354 3.64645L172.172 0.464466C171.976 0.269204 171.66 0.269204 171.464 0.464466C171.269 0.659728 171.269 0.976311 171.464 1.17157L174.293 4L171.464 6.82843C171.269 7.02369 171.269 7.34027 171.464 7.53553C171.66 7.7308 171.976 7.7308 172.172 7.53553L175.354 4.35355ZM0 4V4.5H175V4V3.5H0V4Z",fill:"rgb(var(--oui-color-base-1))"})});var dr=[.01,.05,.1],cr=Er.forwardRef((e,t)=>{let{t:r}=i18n.useTranslation(),[o,n]=Er.useState(),[i,a]=Er.useState(""),[p,s]=Er.useState(void 0);Er.useImperativeHandle(t,()=>({getValue:()=>i?new utils.Decimal(i)?.toNumber():o})),Er.useEffect(()=>{e.initialValue&&!dr.includes(e.initialValue)?a(e.initialValue.toString()):n(e.initialValue);},[e.initialValue,open]);let c=g=>{n(g),a(""),s(void 0);},u=g=>{if(!g){a(g);return}let h=new utils.Decimal(g);n(void 0),h.gt(3)?(a("3"),s(r("orderEntry.slippage.error.exceed"))):(a(g),s(void 0));},d=e.isMobile?jsxRuntime.jsx("button",{onClick:()=>{ui.modal.alert({title:r("common.tips"),message:jsxRuntime.jsx(ui.Text,{size:"2xs",children:r("orderEntry.slippage.tips")})});},children:jsxRuntime.jsx(ui.ExclamationFillIcon,{className:"oui-text-base-contrast-54",size:16})}):jsxRuntime.jsx(ui.Tooltip,{content:jsxRuntime.jsx(ui.Text,{intensity:80,size:"2xs",children:r("orderEntry.slippage.tips")}),className:"oui-w-[260px] oui-bg-base-6",arrow:{className:"oui-fill-base-6"},children:jsxRuntime.jsx(ui.TooltipTrigger,{children:jsxRuntime.jsx(ui.ExclamationFillIcon,{className:"oui-text-base-contrast-54",size:16})})});return jsxRuntime.jsxs("div",{className:"oui-text-2xs",children:[jsxRuntime.jsxs(ui.Flex,{mb:2,gapX:1,children:[jsxRuntime.jsx(ui.Text,{size:"xs",children:r("orderEntry.slippage")}),d]}),jsxRuntime.jsxs(ui.Flex,{gapX:2,children:[dr.map(g=>jsxRuntime.jsx(rn,{value:g,isActive:o===g,onClick:()=>{c(g);}},g)),jsxRuntime.jsx(ui.Input,{suffix:"%",formatters:[ui.inputFormatter.numberFormatter,ui.inputFormatter.dpFormatter(2)],value:i,onValueChange:u,classNames:{root:ui.cn("oui-rounded-md oui-bg-base-6","oui-h-[40px] oui-w-[74px]"),input:"oui-text-base-contrast",additional:"oui-pl-1"}})]}),!!p&&jsxRuntime.jsx(ui.Box,{mt:5,className:"-oui-mb-5",children:jsxRuntime.jsx(ui.Text,{size:"2xs",color:"danger",children:p})})]})}),rn=({value:e,isActive:t,onClick:r})=>jsxRuntime.jsx(ui.Flex,{intensity:600,justify:"center",itemAlign:"center",r:"md",width:74,height:40,className:ui.cn("oui-cursor-pointer oui-select-none",t&&"oui-bg-primary-light"),onClick:r,children:jsxRuntime.jsxs(ui.Text,{size:"sm",intensity:80,children:[e,"%"]})});var mr=e=>{let{t}=i18n.useTranslation(),[r,{setTrue:o,setFalse:n,toggle:i}]=hooks.useBoolean(false),{isMobile:a}=ui.useScreen(),p=Er.useRef(null),s=()=>{let c=p.current?.getValue();return e.setSlippage(c?c.toString():"1"),n(),Promise.resolve(true)};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.SimpleDialog,{open:r,onOpenChange:i,title:t("common.settings"),contentProps:{size:a?"xs":"sm"},actions:{primary:{disabled:false,label:t("common.save"),onClick:s},secondary:{label:t("common.cancel"),onClick:()=>n()}},children:jsxRuntime.jsx(cr,{ref:p,isMobile:a,initialValue:e.slippage?Number(e.slippage):void 0})}),jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",children:t("orderEntry.slippage")}),jsxRuntime.jsx(uiConnector.AuthGuard,{fallback:()=>jsxRuntime.jsxs(ui.Text,{size:"2xs",children:[t("orderEntry.slippage.est"),": -% / ",t("common.max"),": --%"]}),children:jsxRuntime.jsxs(ui.Flex,{gap:1,children:[jsxRuntime.jsx(ui.Text.numeral,{size:"2xs",rule:"percentages",prefix:`${t("orderEntry.slippage.est")}: `,suffix:` / ${t("common.max")}: `,children:e.estSlippage??0}),jsxRuntime.jsx("button",{className:"oui-text-2xs",onClick:()=>o(),children:jsxRuntime.jsxs(ui.Flex,{className:"oui-gap-0.5",as:"span",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",className:"oui-text-primary",children:`${e.slippage||"-"}%`}),jsxRuntime.jsx(ui.EditIcon,{className:"oui-text-primary oui-hidden md:oui-block",size:12,opacity:1})]})})]})})]})]})};var pr=e=>jsxRuntime.jsx(mr,{...e});var yr=Er.createContext({}),$e=()=>Er.useContext(yr),St=e=>{let{type:t,values:r}=e,[o,n]=hooks.useLocalStorage("TP/SL_Mode","Offset%"),{t:i}=i18n.useTranslation(),a=Er.useMemo(()=>!r.PnL||!e.values.trigger_price?null:jsxRuntime.jsxs(ui.Flex,{children:[jsxRuntime.jsx("span",{className:"oui-text-xs oui-text-base-contrast-54",children:o==="PnL"?i("orderEntry.estRoi"):i("orderEntry.estPnL")}),o==="PnL"?jsxRuntime.jsx(ui.Text.numeral,{rule:"percentages",className:ui.cn("oui-text-xs oui-ml-1",t==="TP"?"oui-text-trade-profit":"oui-text-trade-loss"),children:r.ROI}):jsxRuntime.jsx(ui.Text.numeral,{rule:"price",className:ui.cn("oui-text-xs oui-ml-1",t==="TP"?"oui-text-trade-profit":"oui-text-trade-loss"),children:r.PnL})]}),[o,e.values.PnL,e.values.trigger_price]);return jsxRuntime.jsx(yr.Provider,{value:{mode:o,setMode:n,tipsEle:a},children:e.children})};var xr=e=>{let{type:t,values:r,quote_dp:o}=e,{t:n}=i18n.useTranslation(),{mode:i,setMode:a,tipsEle:p}=$e(),[s,c]=Er.useState(false),[u,d]=Er.useState(false),g=Er.useMemo(()=>{switch(i){case "Offset":return `${t.toLowerCase()}_offset`;case "Offset%":return `${t.toLowerCase()}_offset_percentage`;default:return `${t.toLowerCase()}_pnl`}},[i]),[h,P]=Er.useState(r[i]);Er.useEffect(()=>{u||P(r[i]);},[r,i,u]);let b=Er.useMemo(()=>[{label:n("tpsl.pnl"),value:"PnL",testId:"PnL_menu_item"},{label:n("tpsl.offset"),value:"Offset",testId:"Offset_mneu_item"},{label:`${n("tpsl.offset")}%`,value:"Offset%",testId:"Offset%_menu_item"}],[n]),O=Er.useMemo(()=>({PnL:n("tpsl.pnl"),Offset:n("tpsl.offset"),"Offset%":`${n("tpsl.offset")}%`}),[n]),E=Er.useRef("");return {mode:i,modes:b,modeLabelMap:O,formatter:B=>{let{dp:$=2}=B;return {onRenderBefore:(y,Q)=>(y=`${y}`,t==="SL"&&i==="PnL"&&(y=y.startsWith("-")?y:"-"+y),y===""||y==="-"?"":i==="Offset%"?`${new utils.Decimal(y.replace(new RegExp(E.current.replace(".","\\.")+"$"),"")).mul(100).todp(2,4).toString()}${E.current}`:(i==="Offset"&&(y=utils.todpIfNeed(y,$)),`${y}`)),onSendBefore:y=>{if(/^\-?0{2,}$/.test(y))return "0";if(i==="Offset%"){if(y!==""){y=utils.todpIfNeed(y,2);let Q=y.match(/\.0{0,2}$/);Q?E.current=Q[0]:E.current="",y=new utils.Decimal(y).div(100).toString(),y=`${y}${E.current}`;}}else y=utils.todpIfNeed(y,$);return y===""||y==="-"?"":y}}},onModeChange:B=>{a(B);},onFocus:()=>{c(true),d(true);},onBlur:()=>{c(false),d(false),e.onChange(g,h);},value:h,onValueChange:B=>{P(B),e.onChange(g,B);},quote_dp:o,tips:s?p:void 0}};var _r=e=>{let{mode:t,modes:r,modeLabelMap:o,onModeChange:n,onValueChange:i,quote:a,quote_dp:p,value:s,type:c,tips:u,onFocus:d,onBlur:g}=e,[h,P]=Er.useState(t),[b,O]=Er.useState(t==="Offset%"?"%":a);Er.useEffect(()=>{P(t),O(t==="Offset%"?"%":a);},[t]),Er.useEffect(()=>{P(s?"":t);},[s]);let E=Er.useMemo(()=>`${c.toLowerCase()}_${t.toLowerCase()}`,[]);return jsxRuntime.jsx(ui.Input.tooltip,{prefix:o[h]||h,size:"md",placeholder:b,id:E,align:"right",value:s,tooltip:u,tooltipProps:{content:{side:e.type==="TP"?"top":"bottom"}},"data-testid":e.testIds?.input,autoComplete:"off",onValueChange:i,formatters:[e.formatter({dp:p,mode:t,type:c}),ui.inputFormatter.currencyFormatter],classNames:{root:c==="TP"?"oui-text-trade-profit":"oui-text-trade-loss",additional:"oui-text-base-contrast-54",input:"oui-text-inherit"},onFocus:()=>{P(""),O(""),d();},onBlur:()=>{P(s?"":t),O(t==="Offset%"?"%":a),g();},suffix:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[t==="Offset%"&&!!s&&jsxRuntime.jsx(ui.Text,{size:"2xs",color:"inherit",className:"oui-ml-[2px]",children:"%"}),jsxRuntime.jsx(Ln,{mode:t,modes:r,onModeChange:ee=>n(ee.value),testId:e.testIds?.dropDown})]})})},Ln=e=>jsxRuntime.jsx(ui.SimpleDropdownMenu,{currentValue:e.mode,menu:e.modes,align:"end",size:"xs",className:"oui-min-w-[80px]",onCloseAutoFocus:t=>t.preventDefault(),onSelect:t=>e.onModeChange(t),children:jsxRuntime.jsx("button",{className:"oui-p-2","data-testid":e.testId,children:jsxRuntime.jsx(ui.CaretDownIcon,{size:12,color:"white"})})});var Cr=e=>{let{testIds:t,quote:r,...o}=e,n=xr(o);return jsxRuntime.jsx(_r,{...n,testIds:t,quote:r,type:e.type})};var Sr=e=>{let t=Er__default.default.useRef(null),{t:r}=i18n.useTranslation();return Er.useEffect(()=>{e.orderType!==types.OrderType.LIMIT&&e.orderType!==types.OrderType.MARKET&&e.onSwitchChanged(false);},[e.orderType]),e.orderType!==types.OrderType.LIMIT&&e.orderType!==types.OrderType.MARKET||e.isReduceOnly?null:jsxRuntime.jsxs("div",{children:[jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",gapX:1,children:[jsxRuntime.jsx(ui.Switch,{id:"order_entry_tpsl",className:"oui-h-[14px]",checked:e.switchState,disabled:e.orderType!==types.OrderType.LIMIT&&e.orderType!==types.OrderType.MARKET||e.isReduceOnly,onCheckedChange:o=>{e.onSwitchChanged(o);}}),jsxRuntime.jsx("label",{htmlFor:"order_entry_tpsl",className:"oui-text-xs",children:r("common.tpsl")}),jsxRuntime.jsx(ui.ExclamationFillIcon,{color:"white",size:14,opacity:1,className:"oui-cursor-pointer oui-text-white/[.36] hover:oui-text-white/80",onClick:()=>{ui.modal.dialog({title:r("common.tips"),size:"xs",content:jsxRuntime.jsx(ui.Text,{intensity:54,children:r("orderEntry.tpsl.tips")})});}})]}),jsxRuntime.jsx("div",{className:ui.cn("oui-max-h-0 oui-overflow-hidden oui-transition-all",e.switchState&&"oui-max-h-[100px]"),onTransitionEnd:()=>{t.current?.style.setProperty("opacity",e.switchState?"1":"0");},children:jsxRuntime.jsx(Pr,{ref:t,onChange:e.onChange,values:e.values,errors:e.errors,quote_dp:e.quote_dp})})]})},Pr=Er__default.default.forwardRef((e,t)=>{let{parseErrorMsg:r}=reactApp.useOrderEntryFormErrorMsg(e.errors);return jsxRuntime.jsxs("div",{ref:t,className:"oui-space-y-1 oui-px-px oui-py-2 oui-transition-all",children:[jsxRuntime.jsx(St,{values:e.values.tp,type:"TP",children:jsxRuntime.jsx(vr,{type:"TP",error:r("tp_trigger_price"),onChange:e.onChange,values:e.values.tp,quote_dp:e.quote_dp,testIds:{first:"oui-testid-orderEntry-tpsl-tpPrice-input",second:"oui-testid-orderEntry-tpsl-tpPnl-input",dropDown:"oui-testid-orderEntry-tpsl-tp-dropDown-trigger-button"}})}),jsxRuntime.jsx(St,{values:e.values.sl,type:"SL",children:jsxRuntime.jsx(vr,{type:"SL",error:r("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"}})})]})});Pr.displayName="TPSLInputForm";var Gn=e=>{let{t}=i18n.useTranslation(),{errorMsgVisible:r}=Er.useContext(Le),{tipsEle:o}=$e(),[n,i]=Er.useState(`${e.type} Price`),[a,p]=Er.useState("USDC"),[s,c]=Er.useState(false),[u,d]=Er.useState(false),[g,h]=Er.useState(e.values.trigger_price??"");Er.useEffect(()=>{u||h(e.values.trigger_price??"");},[e.values.trigger_price,u]);let P=Er.useMemo(()=>e.error&&r?e.error:s?o:null,[e.error,r,s,o]),b=K=>{let R=e.type==="TP"?t("tpsl.tpPrice"):t("tpsl.slPrice");return K&&(R=e.type==="TP"?t("tpsl.tp"):t("tpsl.sl")),R},O=K=>{h(K),e.onChange(K);};Er.useEffect(()=>{i(b(e.values.trigger_price)),u||h(e.values.trigger_price??"");},[e.type,e.values.trigger_price]);let E=()=>{i(e.type==="TP"?t("tpsl.tp"):t("tpsl.sl")),p(""),c(true),d(true);},ee=()=>{i(b(e.values.trigger_price)),p("USDC"),c(false),d(false),e.onChange(g);};return jsxRuntime.jsx(ui.Input.tooltip,{"data-testid":e.testId,prefix:n,size:"md",placeholder:a,align:"right",onFocus:E,onBlur:ee,tooltip:P,tooltipProps:{content:{side:e.type==="TP"?"top":"bottom"}},color:e.error?"danger":void 0,autoComplete:"off",value:g,classNames:{additional:"oui-text-base-contrast-54",root:"oui-pr-2 md:oui-pr-3",prefix:"oui-pr-1 md:oui-pr-2"},onValueChange:O,formatters:[ui.inputFormatter.numberFormatter,ui.inputFormatter.dpFormatter(e.quote_dp??2),ui.inputFormatter.currencyFormatter]})},vr=e=>{let t=e.type==="SL"?"sl_trigger_price":"tp_trigger_price";return jsxRuntime.jsxs(ui.Grid,{cols:2,gapX:1,children:[jsxRuntime.jsx(Gn,{testId:e.testIds?.first,type:e.type,error:e.error,values:e.values??"",onChange:r=>{e.onChange(t,r);},quote_dp:e.quote_dp}),jsxRuntime.jsx(Cr,{testIds:{input:e.testIds?.second,dropDown:e.testIds?.dropDown},onChange:e.onChange,quote:"USDC",quote_dp:e.quote_dp,type:e.type,values:{PnL:e.values.PnL,Offset:e.values.Offset,"Offset%":e.values["Offset%"],ROI:e.values.ROI}})]})};var Bt=e=>{let{side:t,formattedOrder:r,setOrderValue:o,symbolInfo:n,maxQty:i,freeCollateral:a,helper:p,submit:s,metaState:c,bboStatus:u,bboType:d,onBBOChange:g,toggleBBO:h,disableFeatures:P,currentLtv:b}=e,{curLeverage:O}=hooks.useLeverage(),{t:E}=i18n.useTranslation(),{isMobile:ee}=ui.useScreen(),{errors:K,validated:R}=c,[H,B]=Er.useState(false),[$,y]=hooks.useLocalStorage("orderly_order_confirm",true),[Q,ve]=hooks.useLocalStorage("orderly-order-additional-pinned",true),[Be,Me]=hooks.useLocalStorage("orderly-order-hidden",false),[fe,rt]=hooks.useLocalStorage("orderly-slippage","1",{parseJSON:_=>!_||_==='""'?"1":JSON.parse(_)}),{parseErrorMsg:Ae}=reactApp.useOrderEntryFormErrorMsg(R?K:null),ot=Er.useMemo(()=>t===types.OrderSide.BUY?E("orderEntry.buyLong"):E("orderEntry.sellShort"),[t,E]);Er.useEffect(()=>{R&&B(true);},[R]),Er.useEffect(()=>{e.disableFeatures?.includes("slippageSetting")||(fe?o("slippage",Number(fe)):o("slippage",void 0));},[fe,e.disableFeatures]),Er.useEffect(()=>{let _=T=>{T.target.closest("#order-entry-submit-button")||B(De=>De&&false);};return H?document.addEventListener("click",_):document.removeEventListener("click",_),()=>{document.removeEventListener("click",_);}},[H]);let nt=()=>{let _=r.order_type===types.OrderType.SCALED;p.validate().then(T=>_?ui.modal.show(We,{order:T,symbolInfo:n,size:ee?"sm":"md"}):$?ui.modal.show(pt,{order:r,symbolInfo:n}):true,T=>(T.slippage&&ui.toast.error(T.slippage.message),B(true),Promise.reject())).then(()=>s({resetOnSuccess:false}).then(T=>{if(!T.success&&T.message)ui.toast.error(T.message);else if(T.success&&_){let Ee=Gt(T);Ee&&ui.toast.success(Ee);}})).catch(T=>{T?.message&&ui.toast.error(T.message);});},Ve=ee&&e.canTrade,it=typeof b=="number"&&!Number.isNaN(b)&&b>0;return jsxRuntime.jsx(nr,{value:{errorMsgVisible:H},children:jsxRuntime.jsxs("div",{className:"oui-space-y-2 oui-text-base-contrast-54 xl:oui-space-y-3",ref:e.containerRef,children:[jsxRuntime.jsxs(ui.Flex,{gapX:2,className:"oui-flex-col oui-gap-y-3 lg:oui-flex-row",children:[jsxRuntime.jsxs("div",{className:ui.cn("oui-grid oui-w-full oui-flex-1 oui-gap-x-2 lg:oui-flex lg:oui-gap-x-[6px]",Ve?"oui-grid-cols-3":"oui-grid-cols-2"),children:[jsxRuntime.jsx(ui.Button,{onClick:()=>{e.setOrderValue("side",types.OrderSide.BUY);},size:"md",fullWidth:true,"data-type":types.OrderSide.BUY,className:ui.cn(t===types.OrderSide.BUY&&e.canTrade?"oui-bg-success-darken hover:oui-bg-success-darken/80 active:oui-bg-success-darken/80":"oui-bg-base-7 oui-text-base-contrast-36 hover:oui-bg-base-6 active:oui-bg-base-6"),"data-testid":"oui-testid-orderEntry-side-buy-button",children:E("common.buy")}),jsxRuntime.jsx(ui.Button,{onClick:()=>{e.setOrderValue("side",types.OrderSide.SELL);},"data-type":types.OrderSide.SELL,fullWidth:true,size:"md",className:ui.cn(t===types.OrderSide.SELL&&e.canTrade?"oui-bg-danger-darken hover:oui-bg-danger-darken/80 active:oui-bg-danger-darken/80":"oui-bg-base-7 oui-text-base-contrast-36 hover:oui-bg-base-6 active:oui-bg-base-6"),"data-testid":"oui-testid-orderEntry-side-sell-button",children:E("common.sell")}),Ve&&jsxRuntime.jsx(ui.Button,{size:"md",fullWidth:true,trailing:jsxRuntime.jsx(ui.CaretRightIcon,{size:12,className:"oui-text-base-contrast-36"}),onClick:()=>{ui.modal.show(uiLeverage.LeverageWidgetWithSheetId,{currentLeverage:O});},className:ui.cn("oui-bg-base-7 oui-text-primary-light hover:oui-bg-base-6 active:oui-bg-base-6"),children:utils.commifyOptional(O,{fix:2})+"x"})]}),jsxRuntime.jsx("div",{className:"oui-w-full lg:oui-flex-1",children:jsxRuntime.jsx(bi,{type:r.order_type,side:t,canTrade:e.canTrade,onChange:_=>{o("order_type",_);}})})]}),jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",justify:"between",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",children:E("common.available")}),jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",justify:"center",gap:1,children:[it&&jsxRuntime.jsx(ui.Tooltip,{className:"oui-bg-base-6 oui-p-2",content:jsxRuntime.jsx(Ue,{}),children:jsxRuntime.jsx(ui.InfoCircleIcon,{className:"oui-cursor-pointer oui-text-warning oui-opacity-80"})}),jsxRuntime.jsx(ui.Text.numeral,{unit:n.quote,size:"2xs",className:"oui-text-base-contrast-80",unitClassName:"oui-ml-1 oui-text-base-contrast-54",dp:2,padding:false,children:e.canTrade?a:0})]})]}),r.order_type===types.OrderType.SCALED?jsxRuntime.jsx(_i,{type:e.type,symbolInfo:n,values:{quantity:r.order_quantity,total:r.total,side:r.side,max_price:r.max_price,min_price:r.min_price,total_orders:r.total_orders,distribution_type:r.distribution_type,skew:r.skew},onChange:(_,T)=>{e.setOrderValue(_,T);},onValuesChange:e.setOrderValues,onBlur:e.onBlur,onFocus:e.onFocus,parseErrorMsg:Ae}):jsxRuntime.jsx(fi,{type:e.type,symbolInfo:n,values:{quantity:r.order_quantity,price:r.order_price,trigger_price:r.trigger_price,total:r.total,level:r.level,side:r.side,order_type_ext:r.order_type_ext},onChange:(_,T)=>{e.setOrderValue(_,T);},onValuesChange:e.setOrderValues,refs:e.refs,onBlur:e.onBlur,onFocus:e.onFocus,bbo:{bboStatus:u,bboType:d,onBBOChange:g,toggleBBO:h},priceInputContainerWidth:e.priceInputContainerWidth,parseErrorMsg:Ae}),jsxRuntime.jsx(yi,{canTrade:e.canTrade,maxQty:i,currentQtyPercentage:e.currentQtyPercentage,value:r.order_quantity?Number(r.order_quantity):0,tick:n.base_tick,dp:n.base_dp,setMaxQty:e.setMaxQty,onValueChange:_=>{o("order_quantity",_);},side:e.side}),jsxRuntime.jsx(ui.ThrottledButton,{fullWidth:true,id:"order-entry-submit-button","data-type":types.OrderSide.BUY,className:ui.cn(t===types.OrderSide.BUY?"orderly-order-entry-submit-button-buy oui-bg-success-darken hover:oui-bg-success-darken/80 active:oui-bg-success-darken/80":"orderly-order-entry-submit-button-sell oui-bg-danger-darken hover:oui-bg-danger-darken/80 active:oui-bg-danger-darken/80"),onClick:()=>{nt();},loading:e.isMutating,disabled:!e.canTrade,children:ot}),jsxRuntime.jsx(xi,{canTrade:e.canTrade,quote:n.quote,estLiqPrice:e.estLiqPrice,estLeverage:e.estLeverage,currentLeverage:e.currentLeverage,slippage:fe,dp:n.quote_dp,setSlippage:rt,estSlippage:e.estSlippage,orderType:r.order_type,disableFeatures:P}),jsxRuntime.jsx(ui.Divider,{className:"oui-w-full"}),jsxRuntime.jsx(Sr,{quote_dp:e.symbolInfo.quote_dp,switchState:e.tpslSwitch,onSwitchChanged:e.setTpslSwitch,orderType:r.order_type,errors:R?K:null,isReduceOnly:r.reduce_only,values:{tp:{trigger_price:r.tp_trigger_price??"",PnL:r.tp_pnl??"",Offset:r.tp_offset??"","Offset%":r.tp_offset_percentage??"",ROI:r.tp_ROI??""},sl:{trigger_price:r.sl_trigger_price??"",PnL:r.sl_pnl??"",Offset:r.sl_offset??"","Offset%":r.sl_offset_percentage??"",ROI:r.sl_ROI??""}},onChange:(_,T)=>{e.setOrderValue(_,T);}}),jsxRuntime.jsxs(ui.Flex,{justify:"between",itemAlign:"center",className:"!oui-mt-0 xl:!oui-mt-3",children:[jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",gapX:1,children:[jsxRuntime.jsx(ui.Switch,{"data-testid":"oui-testid-orderEntry-reduceOnly-switch",className:"oui-h-[14px]",id:"reduceOnly",checked:e.formattedOrder.reduce_only,onCheckedChange:_=>{e.setOrderValue("reduce_only",_);}}),jsxRuntime.jsx("label",{htmlFor:"reduceOnly",className:"oui-text-xs",children:E("orderEntry.reduceOnly")})]}),!Q&&jsxRuntime.jsx(Ti,{pinned:Q,setPinned:ve,needConfirm:$,setNeedConfirm:y,onValueChange:o,orderTypeExtra:r.order_type_ext,showExtra:r.order_type===types.OrderType.LIMIT&&!e.tpslSwitch,hidden:Be,setHidden:Me})]}),Q&&jsxRuntime.jsxs(ui.Box,{p:2,r:"md",intensity:700,position:"relative",children:[jsxRuntime.jsx(ze,{pinned:Q,setPinned:ve,needConfirm:$,setNeedConfirm:y,onValueChange:o,orderTypeExtra:r.order_type_ext,showExtra:r.order_type===types.OrderType.LIMIT&&!e.tpslSwitch,hidden:Be,setHidden:Me}),jsxRuntime.jsx(pi,{onClick:()=>{ve(false);},className:"oui-group oui-absolute oui-right-2 oui-top-2","data-testid":"oui-testid-orderEntry-pinned-button"})]})]})})},Ir="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",pi=e=>{let[t,r]=Er.useState(Ir);return jsxRuntime.jsx("button",{...e,children:jsxRuntime.jsx("svg",{width:16,height:16,viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",onMouseEnter:()=>{r('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:()=>{r(Ir);},className:"oui-text-primary-darken ",children:jsxRuntime.jsx("path",{d:t})})})},fi=e=>{let{type:t,symbolInfo:r,values:o,onFocus:n,onBlur:i,bbo:a,parseErrorMsg:p}=e,{t:s}=i18n.useTranslation(),c=a.bboStatus==="on",u=t===types.OrderType.LIMIT?jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"end",className:"oui-text-2xs",children:[r.quote,jsxRuntime.jsx(ui.Flex,{height:20,px:3,justify:"center",itemAlign:"center",r:"base",className:ui.cn("oui-mt-[2px] oui-cursor-pointer oui-select-none oui-border",a.bboStatus==="on"?"oui-border-primary":"oui-border-line-12",a.bboStatus==="disabled"&&"oui-cursor-not-allowed"),onClick:()=>{a.bboStatus==="disabled"?ui.modal.dialog({title:s("common.tips"),size:"xs",content:jsxRuntime.jsx(ui.Text,{intensity:54,children:s("orderEntry.bbo.disabled.tips")})}):a.toggleBBO();},children:jsxRuntime.jsx(ui.Text,{className:ui.cn(a.bboStatus==="on"&&"oui-text-primary",a.bboStatus==="off"&&"oui-text-base-contrast-54",a.bboStatus==="disabled"&&"oui-text-base-contrast-20"),children:s("orderEntry.bbo")})})]}):r.quote;return jsxRuntime.jsxs("div",{className:"oui-space-y-1",children:[t===types.OrderType.STOP_LIMIT||t===types.OrderType.STOP_MARKET?jsxRuntime.jsx("div",{className:"oui-group",children:jsxRuntime.jsx(J,{label:s("common.trigger"),suffix:r.quote,error:p("trigger_price"),id:"trigger",ref:e.refs.triggerPriceInputRef,value:o.trigger_price,onChange:d=>{e.onChange("trigger_price",d);},formatters:[ui.inputFormatter.dpFormatter(r.quote_dp)],onFocus:n(1),onBlur:i(1)})}):null,t===types.OrderType.LIMIT||t===types.OrderType.STOP_LIMIT?jsxRuntime.jsxs("div",{ref:e.refs.priceInputContainerRef,className:"oui-group oui-relative oui-w-full",children:[jsxRuntime.jsx(J,{label:s("common.price"),suffix:u,id:"price",value:o.price,error:p("order_price"),ref:e.refs.priceInputRef,onChange:d=>{e.onChange("order_price",d);},formatters:[ui.inputFormatter.dpFormatter(r.quote_dp)],onFocus:n(0),onBlur:i(0),readonly:c,classNames:{root:ui.cn(c&&"focus-within:oui-outline-transparent "),input:ui.cn(c&&"oui-cursor-auto")}}),a.bboStatus==="on"&&jsxRuntime.jsx("div",{className:ui.cn("oui-absolute oui-bottom-1 oui-left-0"),children:jsxRuntime.jsx(hi,{value:a.bboType,onChange:a.onBBOChange,contentStyle:{width:e.priceInputContainerWidth}})})]}):null,jsxRuntime.jsxs(ui.Grid,{cols:2,className:"oui-group oui-space-x-1",children:[jsxRuntime.jsx(J,{label:s("common.qty"),suffix:r.base,id:"order_quantity_input",name:"order_quantity_input",className:"!oui-rounded-r",value:o.quantity,error:p("order_quantity"),onChange:d=>{e.onChange("order_quantity",d);},formatters:[ui.inputFormatter.dpFormatter(r.base_dp)],onFocus:n(2),onBlur:i(2)}),jsxRuntime.jsx(J,{label:`${s("common.total")}\u2248`,suffix:r.quote,id:"total",className:"!oui-rounded-l",value:o.total,error:p("total"),onChange:d=>{e.onChange("total",d);},onFocus:n(3),onBlur:i(3),formatters:[ui.inputFormatter.dpFormatter(r.quote_dp)]})]})]})},J=Er.forwardRef((e,t)=>{let{placeholder:r="0"}=e,{errorMsgVisible:o}=Er.useContext(Le);return jsxRuntime.jsx(ui.Input.tooltip,{ref:t,tooltip:o?e.error:void 0,autoComplete:"off",autoFocus:e.autoFocus,size:"lg",placeholder:e.readonly?"":r,id:e.id,name:e.name,color:e.error?"danger":void 0,prefix:jsxRuntime.jsx(gi,{id:e.id,className:e.classNames?.prefix,children:e.label}),suffix:e.suffix,value:e.readonly?"":e.value||"",onValueChange:e.onChange,onFocus:n=>{e.onFocus?.(n);},onBlur:n=>{e.onBlur?.(n);},formatters:e.overrideFormatters||[...e.formatters??[],ui.inputFormatter.numberFormatter,ui.inputFormatter.currencyFormatter,ui.inputFormatter.decimalPointFormatter],classNames:{root:ui.cn("orderly-order-entry oui-relative oui-h-[54px] oui-rounded oui-border oui-border-solid oui-border-line oui-px-2 oui-py-1 group-first:oui-rounded-t-xl group-last:oui-rounded-b-xl",e.className,e.classNames?.root),input:ui.cn("oui-mb-1 oui-mt-5 oui-h-5",e?.classNames?.input),suffix:ui.cn("oui-absolute oui-right-0 oui-top-0 oui-justify-start oui-py-2 oui-text-2xs oui-text-base-contrast-36",e.classNames?.suffix)},readOnly:e.readonly})});J.displayName="CustomInput";var gi=e=>jsxRuntime.jsx("label",{htmlFor:e.id,className:ui.cn("oui-absolute oui-left-2 oui-top-[7px] oui-text-2xs oui-text-base-contrast-36",e.className),children:e.children}),yi=e=>{let{canTrade:t}=e,{t:r}=i18n.useTranslation(),o=Er.useMemo(()=>t?e.side===types.OrderSide.BUY?"buy":"sell":void 0,[e.side,t]),n=Er.useMemo(()=>e.side===types.OrderSide.BUY?r("orderEntry.maxBuy"):r("orderEntry.maxSell"),[e.side,r]);return jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(ui.Slider.single,{disabled:e.maxQty===0||!t,value:e.value,color:o,markCount:4,showTip:true,max:e.maxQty,step:e.tick,onValueChange:e.onValueChange}),jsxRuntime.jsxs(ui.Flex,{justify:"between",className:"oui-pt-1 xl:oui-pt-2",children:[jsxRuntime.jsx(ui.Text.numeral,{rule:"percentages",size:"2xs",color:o,dp:2,padding:false,children:t?e.currentQtyPercentage:0}),jsxRuntime.jsxs(ui.Flex,{children:[jsxRuntime.jsx("button",{className:ui.textVariants({size:"2xs",className:"oui-mr-1"}),onClick:()=>e.setMaxQty(),"data-testid":"oui-testid-orderEntry-maxQty-value-button",children:n}),jsxRuntime.jsx(ui.Text.numeral,{size:"2xs",color:o,dp:e.dp,padding:false,"data-testid":"oui-testid-orderEntry-maxQty-value",children:t?e.maxQty:0})]})]})]})},bi=e=>{let{t}=i18n.useTranslation(),r=Er.useMemo(()=>[{label:t("orderEntry.orderType.limitOrder"),value:types.OrderType.LIMIT},{label:t("orderEntry.orderType.marketOrder"),value:types.OrderType.MARKET},{label:t("orderEntry.orderType.stopLimit"),value:types.OrderType.STOP_LIMIT},{label:t("orderEntry.orderType.stopMarket"),value:types.OrderType.STOP_MARKET},{label:t("orderEntry.orderType.scaledOrder"),value:types.OrderType.SCALED}],[t]),o=Er.useMemo(()=>({[types.OrderType.LIMIT]:t("orderEntry.orderType.limit"),[types.OrderType.MARKET]:t("common.marketPrice"),[types.OrderType.STOP_LIMIT]:t("orderEntry.orderType.stopLimit"),[types.OrderType.STOP_MARKET]:t("orderEntry.orderType.stopMarket"),[types.OrderType.SCALED]:t("orderEntry.orderType.scaledOrder")}),[t]);return jsxRuntime.jsx(ui.Select.options,{testid:"oui-testid-orderEntry-orderType-button",currentValue:e.type,value:e.type,options:r,onValueChange:e.onChange,contentProps:{className:"oui-bg-base-8 oui-w-full"},valueFormatter:(n,i)=>{if(!r.find(s=>s.value===n))return jsxRuntime.jsx(ui.Text,{size:"xs",children:i.placeholder});let p=o[n];return jsxRuntime.jsx(ui.Text,{size:"xs",color:e.canTrade?e.side===types.OrderSide.BUY?"buy":"sell":void 0,children:p})},size:"md"})};function xi(e){let{canTrade:t}=e,{t:r}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:"oui-space-y-[2px] xl:oui-space-y-1",children:[jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",children:r("orderEntry.estLiqPrice")}),jsxRuntime.jsx(ui.Text.numeral,{unit:e.quote,size:"2xs",dp:e.dp,className:"oui-text-base-contrast-80",unitClassName:"oui-ml-1 oui-text-base-contrast-36",children:t?e.estLiqPrice??"--":"--"})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",children:r("leverage.accountLeverage")}),jsxRuntime.jsxs(ui.Flex,{gapX:1,className:ui.textVariants({size:"2xs",intensity:80}),children:[jsxRuntime.jsx(ui.Text.numeral,{unit:t?"x":void 0,children:t?e.currentLeverage??"--":"--"}),e.estLeverage&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{d:"M2.505 4.997c0-.23.186-.416.416-.416H6.07L4.833 3.332l.586-.585 1.964 1.95a.42.42 0 0 1 .122.3.42.42 0 0 1-.122.3l-1.964 1.95-.586-.585L6.07 5.413H2.921a.416.416 0 0 1-.416-.416",fill:"#fff",fillOpacity:".54"})}),jsxRuntime.jsx("span",{children:`${e.estLeverage}x`})]})]})]}),e.orderType===types.OrderType.MARKET&&!e.disableFeatures?.includes("slippageSetting")&&jsxRuntime.jsx(pr,{slippage:e.slippage,setSlippage:e.setSlippage,estSlippage:e.estSlippage}),!e.disableFeatures?.includes("feesInfo")&&jsxRuntime.jsx(ht,{})]})}function Ti(e){let[t,r]=Er.useState(false);return jsxRuntime.jsxs(ui.PopoverRoot,{open:t,onOpenChange:r,children:[jsxRuntime.jsx(ui.PopoverTrigger,{asChild:true,children:jsxRuntime.jsx("button",{"data-testid":"oui-testid-orderEntry-additional-button",onClick:()=>{r(true);},children:jsxRuntime.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",className:"oui-fill-white/[.36] hover:oui-fill-white/80",children:jsxRuntime.jsx("path",{d:"M3.332 2.665a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667V3.332a.667.667 0 0 0-.667-.667zm4 0a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667V3.332a.667.667 0 0 0-.667-.667zm4 0a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667V3.332a.667.667 0 0 0-.667-.667zm-8 4a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667V7.332a.667.667 0 0 0-.667-.667zm4 0a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667V7.332a.667.667 0 0 0-.667-.667zm4 0a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667V7.332a.667.667 0 0 0-.667-.667zm-8 4a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667v-1.333a.667.667 0 0 0-.667-.667zm4 0a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667v-1.333a.667.667 0 0 0-.667-.667zm4 0a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667v-1.333a.667.667 0 0 0-.667-.667z"})})})}),jsxRuntime.jsx(ui.PopoverContent,{side:"top",align:"end",className:"oui-w-[230px]",children:jsxRuntime.jsx(ze,{...e})})]})}var hi=e=>{let{t}=i18n.useTranslation(),r=[{label:t("orderEntry.bbo.counterparty1"),value:types.BBOOrderType.COUNTERPARTY1},{label:t("orderEntry.bbo.counterparty5"),value:types.BBOOrderType.COUNTERPARTY5},{label:t("orderEntry.bbo.queue1"),value:types.BBOOrderType.QUEUE1},{label:t("orderEntry.bbo.queue5"),value:types.BBOOrderType.QUEUE5}];return jsxRuntime.jsx(ui.Select.options,{testid:"oui-testid-orderEntry-bbo-orderType-button",currentValue:e.value,value:e.value,options:r,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:(o,n)=>{let i=r.find(a=>a.value===o);return jsxRuntime.jsx(ui.Box,{children:jsxRuntime.jsx(ui.Text,{size:"sm",children:i?.label})})}})},_i=e=>{let{symbolInfo:t,values:r,onFocus:o,onBlur:n,parseErrorMsg:i}=e,{t:a}=i18n.useTranslation(),p=r.distribution_type===types.DistributionType.CUSTOM;return jsxRuntime.jsxs("div",{className:"oui-space-y-1",children:[jsxRuntime.jsx(J,{label:a("orderEntry.upperPrice"),suffix:t.quote,id:"order_max_price_input",value:r.max_price,error:i("max_price"),onChange:s=>{e.onChange("max_price",s);},formatters:[ui.inputFormatter.dpFormatter(t.quote_dp)],onFocus:o(5),onBlur:n(5),classNames:{root:"oui-rounded-t-xl"}}),jsxRuntime.jsx(J,{label:a("orderEntry.lowerPrice"),suffix:t.quote,id:"order_min_price_input",value:r.min_price,error:i("min_price"),onChange:s=>{e.onChange("min_price",s);},formatters:[ui.inputFormatter.dpFormatter(t.quote_dp)],onFocus:o(4),onBlur:n(4)}),jsxRuntime.jsxs(ui.Grid,{cols:2,className:"oui-group oui-space-x-1",children:[jsxRuntime.jsx(J,{label:a("common.qty"),suffix:t.base,id:"order_quantity_input",name:"order_quantity_input",className:"!oui-rounded-r",value:r.quantity,error:i("order_quantity"),onChange:s=>{e.onChange("order_quantity",s);},formatters:[ui.inputFormatter.dpFormatter(t.base_dp)],onFocus:o(2),onBlur:n(2)}),jsxRuntime.jsx(J,{label:a("orderEntry.totalOrders"),placeholder:"2-20",id:"order_total_orders_input",className:"!oui-rounded-l",value:r.total_orders,error:i("total_orders"),onChange:s=>{e.onChange("total_orders",s);},overrideFormatters:[ui.inputFormatter.numberFormatter,ui.inputFormatter.dpFormatter(0)],onFocus:o(6),onBlur:n(6)})]}),jsxRuntime.jsx(ir,{value:r.distribution_type,onValueChange:s=>{e.onChange("distribution_type",s);},className:ui.cn(!p&&"oui-rounded-b-xl")}),p&&jsxRuntime.jsx(J,{id:"order_skew_input",label:a("orderEntry.skew"),value:r.skew,error:i("skew"),onChange:s=>{e.onChange("skew",s);},onFocus:o(7),onBlur:n(7),overrideFormatters:[ui.inputFormatter.rangeFormatter({min:0,max:100,dp:2}),ui.inputFormatter.dpFormatter(2)],classNames:{root:"oui-rounded-b-xl"}})]})};var At=e=>{let[t,r]=hooks.useLocalStorage("orderly-order-entry-order-type",types.OrderType.LIMIT),[o,n]=hooks.useLocalStorage("orderly-order-entry-order-side",types.OrderSide.BUY),[i,a]=hooks.useLocalStorage("orderly_order_bbo_type",void 0),p=Er.useRef(i),{formattedOrder:s,setValue:c,setValues:u,symbolInfo:d,...g}=hooks.useOrderEntry(e.symbol,{initialOrder:{symbol:e.symbol,order_type:t,side:o}}),[h,P]=hooks.useLocalStorage("orderly-order-entry-tp_sl-switch",false),{state:b}=hooks.useAccount(),{wrongNetwork:O,disabledConnect:E}=reactApp.useAppContext(),ee=Er.useMemo(()=>!O&&!E&&(b.status===types.AccountStatusEnum.EnableTrading||b.status===types.AccountStatusEnum.EnableTradingWithoutConnected),[b.status,O,E]),{currentLeverage:K}=hooks.useMarginRatio(),R=hooks.useEventEmitter(),H=Er.useRef(8),B=Er.useRef(5),$=Er.useRef(null),y=Er.useRef(null),Q=Er.useRef(null),[ve,Be]=Er.useState(0),Me=Er.useMemo(()=>Number(s.order_quantity)>=Number(g.maxQty)?1:ui.convertValueToPercentage(Number(s.order_quantity??0),0,g.maxQty)/100,[s.order_quantity,g.maxQty]),fe=()=>{if(d.base_tick<1||s.order_type===types.OrderType.SCALED||!s.order_quantity)return;let m=hooks.utils.formatNumber(s?.order_quantity,new utils.Decimal(d?.base_tick||"0").toNumber());c("order_quantity",m,{shouldUpdateLastChangedField:false});},rt=m=>C=>{H.current=m,[4,5].includes(H.current)&&(B.current=m);},Ae=m=>C=>{setTimeout(()=>{H.current===m&&(H.current=8);},300),m===2&&fe();},ot=()=>{u({tp_trigger_price:"",sl_trigger_price:""});},nt=()=>{u({order_type_ext:void 0});},Ve=()=>{c("order_quantity",g.maxQty);},it=(m,C,le)=>{if(m==="order_type"&&r(C),m==="side"&&n(C),m==="reduce_only"&&C||m==="order_type"&&(C===types.OrderType.STOP_LIMIT||C===types.OrderType.STOP_MARKET)){let M={tp_trigger_price:"",sl_trigger_price:"",[m]:C};m==="order_type"&&(M.order_type_ext=""),u(M);return}if(m==="order_type"&&C!==types.OrderType.LIMIT){let M={level:void 0,order_type_ext:void 0,[m]:C};u(M);return}if(m==="order_type"&&C===types.OrderType.SCALED){u({distribution_type:types.DistributionType.FLAT,[m]:C});return}c(m,C,le);},_=m=>{P(m),m?nt():ot();},T=Er.useMemo(()=>h||[types.OrderType.POST_ONLY,types.OrderType.IOC,types.OrderType.FOK].includes(s.order_type_ext)?"disabled":i&&s.order_type===types.OrderType.LIMIT?"on":"off",[i,h,s.order_type,s.order_type_ext]),Ee=()=>{i?(a(void 0),u({order_type_ext:void 0,level:void 0})):a(p.current||types.BBOOrderType.COUNTERPARTY1);},De=m=>{a(m),p.current=m;};Er.useEffect(()=>{if(T==="disabled"){let{order_type_ext:m}=s;u({order_type_ext:Pe({order_type_ext:m})?void 0:m,level:void 0});}},[T,s.order_type_ext]),Er.useEffect(()=>{if(T==="on"){let m=zt(i,s.side),C=Qt(i);u({order_type_ext:m,level:C});}},[i,T,s.side]),Er.useEffect(()=>{let m=C=>{c("order_price",C);};return R.on("update:orderPrice",m),()=>{R.off("update:orderPrice",m);}},[]),Er.useEffect(()=>{let m=le=>{setTimeout(()=>{le?.focus();},0);},C=le=>{let M=utils.removeTrailingZeros(le[0]),{order_type:Y,order_type_ext:Mr}=s;if(H.current===1&&(Y===types.OrderType.STOP_LIMIT||Y===types.OrderType.STOP_MARKET)){c("trigger_price",M),m($.current);return}if(Pe({order_type:Y,order_type_ext:Mr})){a(void 0),u({order_type_ext:void 0,level:void 0}),setTimeout(()=>{R.emit("update:orderPrice",M);},0),m(y.current);return}if(Y===types.OrderType.STOP_LIMIT||Y===types.OrderType.LIMIT){c("order_price",M),m(y.current);return}if(Y===types.OrderType.STOP_MARKET){c("trigger_price",M),m($.current);return}if(Y===types.OrderType.MARKET){a(void 0),u({order_type:types.OrderType.LIMIT,order_price:M}),m(y.current);return}if(Y===types.OrderType.SCALED&&B.current){let Ar=B.current===4?"min_price":"max_price";c(Ar,M),m(y.current);return}c("order_price",M),m(y.current);};return R.on("orderbook:item:click",C),()=>{R.off("orderbook:item:click",C);}},[s,d]),Er.useEffect(()=>{let m=Q.current;if(!m)return;let C=new ResizeObserver(le=>{for(let M of le){let Y=M.contentRect.width;Y&&Be(Y);}});return C.observe(m),()=>{C.unobserve(m);}},[Q,s.order_type_ext]),Er.useEffect(()=>{g.reset(),g.resetMetaState();},[e.symbol]),Er.useEffect(()=>{s.order_type===types.OrderType.SCALED&&!s.distribution_type&&c("distribution_type",types.DistributionType.FLAT);},[s.order_type,s.distribution_type]);let Br=hooks.useComputedLTV();return {...g,currentQtyPercentage:Me,side:s.side,type:s.order_type,level:s.level,setOrderValue:it,setOrderValues:u,currentLeverage:K,formattedOrder:s,tpslSwitch:h,setTpslSwitch:_,setMaxQty:Ve,symbolInfo:d,onFocus:rt,onBlur:Ae,refs:{triggerPriceInputRef:$,priceInputRef:y,priceInputContainerRef:Q},canTrade:ee,bboStatus:T,bboType:i,onBBOChange:De,toggleBBO:Ee,priceInputContainerWidth:ve,currentLtv:Br}};var Mi=e=>{let t=At(e);return jsxRuntime.jsx(Bt,{...t,containerRef:e.containerRef,disableFeatures:e.disableFeatures})};
19
+ var $r=e=>e>=0&&e<50?"oui-text-success":e>=50&&e<80?"oui-text-warning":e>=80?"oui-text-danger":"",lt=e=>{let{t}=i18n.useTranslation(),{ltv_threshold:r,negative_usdc_threshold:o,isThresholdLoading:n,holdingData:i=[],currentLtv:s,onConvert:f}=e;return jsxRuntime.jsxs(ui.Flex,{gap:1,className:"oui-w-72 oui-max-w-72",direction:"column",children:[jsxRuntime.jsxs(ui.Flex,{width:"100%",justify:"between",itemAlign:"center",children:[jsxRuntime.jsx(ui.Text,{intensity:36,size:"xs",children:t("common.assets")}),jsxRuntime.jsx(ui.Text,{intensity:36,size:"xs",children:t("transfer.deposit.collateralContribution")})]}),i.map((a,u)=>jsxRuntime.jsxs(ui.Flex,{width:"100%",justify:"between",itemAlign:"center",children:[jsxRuntime.jsx(ui.Text,{intensity:80,size:"xs",children:a.token}),jsxRuntime.jsx(ui.Text,{size:"xs",intensity:80,className:ui.cn(Number(a.collateralContribution)<0&&"oui-text-warning"),children:utils.removeTrailingZeros(a.collateralContribution)})]},`item-${u}`)),jsxRuntime.jsx(ui.Divider,{className:"oui-w-full"}),jsxRuntime.jsxs(ui.Flex,{width:"100%",justify:"between",itemAlign:"center",children:[jsxRuntime.jsx(ui.Text,{intensity:36,size:"xs",children:t("transfer.LTV.currentLTV")}),jsxRuntime.jsxs(ui.Text,{size:"xs",intensity:36,className:ui.cn("oui-select-none",$r(s)),children:[s,"%"]})]}),jsxRuntime.jsx(ui.Text,{className:"oui-py-2",intensity:54,size:"2xs",children:t("transfer.LTV.tooltip",{threshold:n?"-":r,usdcThreshold:n?"-":o})}),jsxRuntime.jsx(ui.Button,{fullWidth:true,size:"md",variant:"outlined",color:"secondary",onClick:f,children:t("transfer.convert.convertAssets")})]})};var io=()=>{let{data:e,error:t,isLoading:r}=hooks.useQuery("/v1/public/auto_convert_threshold",{errorRetryCount:3});return {ltv_threshold:new utils.Decimal(e?.ltv_threshold??0).mul(100).toNumber(),negative_usdc_threshold:e?.negative_usdc_threshold,isLoading:r,error:t}},dt=()=>{let{data:e=[],isLoading:t}=hooks.useHoldingStream(),{ltv_threshold:r,negative_usdc_threshold:o,isLoading:n}=io(),i=hooks.useTokensInfo(),{data:s}=hooks.useIndexPricesStream(),f=e.map(c=>{let d=i?.find(({token:b})=>b===c.token),p=c.token==="USDC"?1:s?.[`PERP_${c.token}_USDC`]??0,_=d?perp.account.collateralRatio({baseWeight:d.base_weight??0,discountFactor:d.discount_factor??0,collateralQty:c.holding,collateralCap:d?.user_max_qty??c.holding,indexPrice:p}):utils.zero,P=perp.account.collateralContribution({collateralQty:c.holding,collateralCap:d?.user_max_qty??c.holding,collateralRatio:_.toNumber(),indexPrice:p});return {...c,collateralContribution:P}}),a=hooks.useComputedLTV(),u=Sr.useCallback(async()=>ui.modal.show("ConvertDialogId"),[]);return {holdingData:f,isHoldingLoading:t,ltv_threshold:r,negative_usdc_threshold:o,isThresholdLoading:n,currentLtv:a,onConvert:u}};var Qe=()=>{let e=dt();return jsxRuntime.jsx(lt,{...e})};var zt=e=>{let{pinned:t,orderTypeExtra:r}=e,{t:o}=i18n.useTranslation(),n=i=>s=>{e.onValueChange&&e.onValueChange("order_type_ext",s?i:"");};return Sr.useEffect(()=>{e.onValueChange?.("visible_quantity",e.hidden?0:1);},[e.hidden]),jsxRuntime.jsxs("div",{className:"oui-text-base-contrast-54",children:[jsxRuntime.jsxs(ui.Flex,{justify:t?"start":"between",mb:3,width:t?"unset":"100%",className:"oui-gap-x-2 md:oui-gap-x-3",wrap:"wrap",gapY:1,children:[jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",children:[jsxRuntime.jsx(ui.Checkbox,{"data-testid":"oui-testid-orderEntry-postOnly-checkBox",id:"toggle_order_post_only",className:"oui-peer",color:"white",variant:"radio",disabled:!e.showExtra,checked:r===types.OrderType.POST_ONLY,onCheckedChange:n(types.OrderType.POST_ONLY)}),jsxRuntime.jsx("label",{htmlFor:"toggle_order_post_only",className:ui.cn("oui-text-2xs oui-ml-1 peer-data-[disabled]:oui-text-base-contrast-20","oui-break-normal oui-whitespace-nowrap"),children:o("orderEntry.orderType.postOnly")})]}),jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",children:[jsxRuntime.jsx(ui.Checkbox,{"data-testid":"oui-testid-orderEntry-ioc-checkBox",id:"toggle_order_iov",color:"white",className:"oui-peer",variant:"radio",checked:r===types.OrderType.IOC,onCheckedChange:n(types.OrderType.IOC),disabled:!e.showExtra}),jsxRuntime.jsx("label",{htmlFor:"toggle_order_iov",className:ui.cn("oui-text-2xs oui-ml-1 peer-data-[disabled]:oui-text-base-contrast-20","oui-break-normal oui-whitespace-nowrap"),children:o("orderEntry.orderType.ioc")})]}),jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",children:[jsxRuntime.jsx(ui.Checkbox,{"data-testid":"oui-testid-orderEntry-fox-checkBox",id:"toggle_order_fok",color:"white",variant:"radio",className:"oui-peer",checked:r===types.OrderType.FOK,onCheckedChange:n(types.OrderType.FOK),disabled:!e.showExtra}),jsxRuntime.jsx("label",{htmlFor:"toggle_order_fok",className:ui.cn("oui-text-2xs oui-ml-1 peer-data-[disabled]:oui-text-base-contrast-20","oui-break-normal oui-whitespace-nowrap"),children:o("orderEntry.orderType.fok")})]})]}),jsxRuntime.jsxs(ui.Flex,{gapX:6,children:[jsxRuntime.jsxs(ui.Flex,{children:[jsxRuntime.jsx(ui.Checkbox,{"data-testid":"oui-testid-orderEntry-orderConfirm-checkBox",id:"toggle_order_confirm",color:"white",checked:e.needConfirm,onCheckedChange:i=>{e.setNeedConfirm(!!i);}}),jsxRuntime.jsx("label",{htmlFor:"toggle_order_confirm",className:"oui-text-2xs oui-ml-1",children:o("orderEntry.orderConfirm")})]}),jsxRuntime.jsxs(ui.Flex,{children:[jsxRuntime.jsx(ui.Checkbox,{"data-testid":"oui-testid-orderEntry-hidden-checkBox",id:"toggle_order_hidden",color:"white",checked:e.hidden,onCheckedChange:i=>{e.setHidden(i);}}),jsxRuntime.jsx("label",{htmlFor:"toggle_order_hidden",className:"oui-text-2xs oui-ml-1",children:o("orderEntry.hidden")})]})]}),!t&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Divider,{className:"oui-my-3"}),jsxRuntime.jsxs(ui.Flex,{children:[jsxRuntime.jsx(ui.Switch,{"data-testid":"oui-testid-orderEntry-additional-keepVisible-switch",id:"toggle_order_keep_visible",onCheckedChange:i=>{e.setPinned(i);}}),jsxRuntime.jsx("label",{htmlFor:"toggle_order_keep_visible",className:"oui-text-2xs oui-ml-1",children:o("orderEntry.keepVisible")})]})]})]})};var Qt=()=>({});var We=e=>{let t=Qt();return jsxRuntime.jsx(zt,{...t,...e})};function Ie(e){let{order_type:t,order_type_ext:r}=e,o=[types.OrderType.ASK,types.OrderType.BID].includes(r);return t?t===types.OrderType.LIMIT&&o:o}function Wt(e,t){if([types.BBOOrderType.COUNTERPARTY1,types.BBOOrderType.COUNTERPARTY5].includes(e))return t===types.OrderSide.BUY?types.OrderType.ASK:types.OrderType.BID;if([types.BBOOrderType.QUEUE1,types.BBOOrderType.QUEUE5].includes(e))return t===types.OrderSide.BUY?types.OrderType.BID:types.OrderType.ASK}function Gt(e){if([types.BBOOrderType.COUNTERPARTY1,types.BBOOrderType.QUEUE1].includes(e))return types.OrderLevel.ONE;if([types.BBOOrderType.COUNTERPARTY5,types.BBOOrderType.QUEUE5].includes(e))return types.OrderLevel.FIVE}function Yt(e){let{type:t,side:r,level:o}=e;if(t===types.OrderType.ASK){if(o===types.OrderLevel.ONE)return r===types.OrderSide.BUY?types.BBOOrderType.COUNTERPARTY1:types.BBOOrderType.QUEUE1;if(o===types.OrderLevel.FIVE)return r===types.OrderSide.BUY?types.BBOOrderType.COUNTERPARTY5:types.BBOOrderType.QUEUE5}if(t===types.OrderType.BID){if(o===types.OrderLevel.ONE)return r===types.OrderSide.BUY?types.BBOOrderType.QUEUE1:types.BBOOrderType.COUNTERPARTY1;if(o===types.OrderLevel.FIVE)return r===types.OrderSide.BUY?types.BBOOrderType.QUEUE5:types.BBOOrderType.COUNTERPARTY5}}function Kt(e){let t=e?.data?.rows||[];if(t.length>0){let r=t.length,o=t.filter(n=>n.success).length;return o===r?i18n.i18n.t("orderEntry.scaledOrder.fullySuccessful",{total:r}):o===0?i18n.i18n.t("orderEntry.scaledOrder.allFailed"):i18n.i18n.t("orderEntry.scaledOrder.partiallySuccessful",{successCount:o,total:r})}}var ft=e=>{let{symbolInfo:t,order:r,onConfirm:o,onCancel:n}=e,{quote_dp:i,base_dp:s}=t,{side:f,order_type:a,order_type_ext:u,level:c}=r,{t:d}=i18n.useTranslation(),[p,_]=hooks.useLocalStorage("orderly_order_confirm",true),P=()=>{if(a===types.OrderType.MARKET||a===types.OrderType.STOP_MARKET)return jsxRuntime.jsx(ui.Text,{intensity:80,children:d("common.marketPrice")});if(Ie({order_type:a,order_type_ext:u})){let b=Yt({type:u,side:f,level:c}),E={[types.BBOOrderType.COUNTERPARTY1]:d("orderEntry.bbo.counterparty1"),[types.BBOOrderType.COUNTERPARTY5]:d("orderEntry.bbo.counterparty5"),[types.BBOOrderType.QUEUE1]:d("orderEntry.bbo.queue1"),[types.BBOOrderType.QUEUE5]:d("orderEntry.bbo.queue5")}[b];return jsxRuntime.jsx(ui.Text,{intensity:80,children:E})}return jsxRuntime.jsx(ui.Text.numeral,{unit:"USDC",rule:"price",className:"oui-text-base-contrast",unitClassName:"oui-text-base-contrast-36 oui-ml-1",dp:i,padding:false,children:r.order_price})};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text.formatted,{rule:"symbol",showIcon:true,children:r.symbol}),jsxRuntime.jsxs(ui.Flex,{justify:"end",gapX:1,children:[jsxRuntime.jsx(Co,{type:a}),f===types.OrderSide.BUY?jsxRuntime.jsx(ui.Badge,{color:"buy",size:"sm",children:d("common.buy")}):jsxRuntime.jsx(ui.Badge,{color:"sell",size:"sm",children:d("common.sell")})]})]}),jsxRuntime.jsx(ui.Divider,{className:"oui-my-4"}),jsxRuntime.jsxs("div",{className:ui.textVariants({size:"sm",intensity:54,className:"oui-space-y-1"}),children:[jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{children:d("common.qty")}),jsxRuntime.jsx(ui.Text.numeral,{rule:"price",dp:s,padding:false,className:"oui-text-base-contrast",children:r.order_quantity})]}),r.trigger_price?jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{children:d("common.trigger")}),jsxRuntime.jsx(ui.Text.numeral,{unit:"USDC",rule:"price",className:"oui-text-base-contrast",unitClassName:"oui-text-base-contrast-36 oui-ml-1",dp:i,padding:false,children:r.trigger_price})]}):null,jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{children:d("common.price")}),P()]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{children:d("common.notional")}),jsxRuntime.jsx(ui.Text.numeral,{unit:"USDC",rule:"price",dp:i,padding:false,className:"oui-text-base-contrast",unitClassName:"oui-text-base-contrast-36 oui-ml-1",children:r.total})]})]}),r.tp_trigger_price||r.sl_trigger_price?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.Divider,{className:"oui-my-4"}),jsxRuntime.jsxs("div",{className:ui.textVariants({size:"sm",intensity:54,className:"oui-space-y-1"}),children:[r.tp_trigger_price&&jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{children:d("orderEntry.tpMarkPrice")}),jsxRuntime.jsx(ui.Text.numeral,{unit:"USDC",rule:"price",coloring:true,dp:i,padding:false,unitClassName:"oui-text-base-contrast-36 oui-ml-1",children:r.tp_trigger_price})]}),r.sl_trigger_price&&jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{children:d("orderEntry.slMarkPrice")}),jsxRuntime.jsx(ui.Text.numeral,{unit:"USDC",rule:"price",coloring:true,className:"oui-text-trade-loss",unitClassName:"oui-text-base-contrast-36 oui-ml-1",dp:i,padding:false,children:r.sl_trigger_price})]})]})]}):null,jsxRuntime.jsxs(ui.Flex,{gapX:1,pt:4,pb:5,children:[jsxRuntime.jsx(ui.Checkbox,{id:"orderConfirm",color:"white",onCheckedChange:b=>{_(!b);}}),jsxRuntime.jsx("label",{htmlFor:"orderConfirm",className:ui.textVariants({size:"xs",intensity:54}),children:d("orderEntry.disableOrderConfirm")})]}),r.tp_trigger_price||r.sl_trigger_price?jsxRuntime.jsx(ui.Box,{py:3,px:3,className:"oui-text-center",children:jsxRuntime.jsx(ui.Text,{color:"warning",size:"xs",children:d("orderEntry.tpsl.trigger.description")})}):null,jsxRuntime.jsxs(ui.Grid,{cols:2,gapX:3,children:[jsxRuntime.jsx(ui.Button,{color:"secondary",size:"md",onClick:()=>n(),children:d("common.cancel")}),jsxRuntime.jsx(ui.Button,{size:"md",onClick:()=>o(),children:d("common.confirm")})]})]})};ft.displayName="OrderConfirmDialog";var Co=e=>{let{t}=i18n.useTranslation(),r=Sr.useMemo(()=>{switch(e.type){case types.OrderType.LIMIT:return t("orderEntry.orderType.limit");case types.OrderType.MARKET:return t("common.marketPrice");case types.OrderType.STOP_LIMIT:return t("orderEntry.orderType.stopLimit");case types.OrderType.STOP_MARKET:return t("orderEntry.orderType.stopMarket");default:return ""}},[e.type]);return jsxRuntime.jsx(ui.Badge,{color:"neutral",size:"sm",children:r})},vo=e=>{let{close:t,resolve:r,reject:o,...n}=e;return jsxRuntime.jsx(ft,{...n,onCancel:()=>{o(),t();},onConfirm:()=>{r(),t();}})},gt="orderConfirm";ui.registerSimpleDialog(gt,vo,{size:"sm",title:()=>i18n.i18n.t("orderEntry.orderConfirm")});var xt=e=>{let{order:t,symbolInfo:r,dataSource:o,national:n,askAndBid:i,totalQuantity:s}=e,{base:f,quote:a,base_dp:u,quote_dp:c}=r,{t:d}=i18n.useTranslation(),p=()=>{e.reject(),e.close?.();},_=()=>{e.resolve(),e.close?.();},P=Sr.useMemo(()=>[{title:d("common.symbol"),dataIndex:"symbol",width:125,render:(b,E)=>jsxRuntime.jsxs(ui.Flex,{gap:2,children:[jsxRuntime.jsx("div",{className:ui.cn("oui-h-[38px] oui-w-1 oui-shrink-0 oui-rounded-[1px]",E.side===types.OrderSide.BUY?"oui-bg-trade-profit":"oui-bg-trade-loss")}),jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",children:[jsxRuntime.jsxs(ui.Flex,{gapX:1,children:[jsxRuntime.jsx(ui.TokenIcon,{symbol:b,className:"oui-size-3"}),jsxRuntime.jsx(ui.Text.formatted,{rule:"symbol",size:"xs",formatString:"base-type",children:b})]}),jsxRuntime.jsx(ui.Badge,{color:"neutral",size:"xs",children:d("orderEntry.orderType.limit")})]})]})},{title:d("common.quantity"),dataIndex:"order_quantity",width:100,render:(b,E)=>jsxRuntime.jsx(ui.Text.numeral,{rule:"price",dp:u,padding:false,color:E.side===types.OrderSide.BUY?"buy":"sell",children:b})},{title:d("common.orderPrice"),dataIndex:"order_price",width:100,render:(b,E)=>{let N=!!(E.side===types.OrderSide.BUY?i?.[0]&&Number(b)>=i?.[0]:i?.[1]&&Number(b)<=i?.[1]);return jsxRuntime.jsxs(ui.Flex,{gapX:1,children:[jsxRuntime.jsx(ui.Text.numeral,{rule:"price",dp:c,children:b}),N&&jsxRuntime.jsx(ui.Tooltip,{content:d("orderEntry.confirmScaledOrder.orderPrice.warning"),className:"oui-w-[240px] oui-text-2xs oui-font-semibold oui-text-base-contrast-80",children:jsxRuntime.jsx(wo,{className:"oui-text-warning-darken"})})]})}}],[d,r,i,u,c]);return jsxRuntime.jsxs("div",{className:"oui-font-semibold",children:[jsxRuntime.jsx(ui.DataTable,{classNames:{root:ui.cn("oui-bg-base-7","oui-rounded-lg","oui-overflow-hidden",t.orders?.length>=6&&"oui-h-[320px]"),scroll:"!oui-min-h-[130px]"},dataSource:o,columns:P,bordered:true,onRow:()=>({className:ui.cn("oui-h-[50px]")})}),jsxRuntime.jsxs("div",{className:"oui-mb-5 oui-mt-4 oui-text-2xs",children:[jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{children:d("orderEntry.totalOrders")}),jsxRuntime.jsx(ui.Text,{intensity:80,children:t.orders?.length})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",mt:2,children:[jsxRuntime.jsx(ui.Text,{children:d("orderEntry.totalQuantity")}),jsxRuntime.jsx(ui.Text.numeral,{rule:"price",unit:f,dp:u,padding:false,intensity:80,unitClassName:"oui-text-base-contrast-36 oui-ml-1",children:s})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",mt:2,children:[jsxRuntime.jsx(ui.Text,{children:d("common.notional")}),jsxRuntime.jsx(ui.Text.numeral,{rule:"price",unit:a,dp:c,padding:false,intensity:80,unitClassName:"oui-text-base-contrast-36 oui-ml-1",children:n})]})]}),jsxRuntime.jsxs(ui.Grid,{cols:2,gapX:3,children:[jsxRuntime.jsx(ui.Button,{color:"secondary",size:"md",onClick:p,children:d("common.cancel")}),jsxRuntime.jsx(ui.Button,{size:"md",onClick:_,children:d("common.confirm")})]})]})},wo=Sr.forwardRef((e,t)=>jsxRuntime.jsx("svg",{width:"12",height:"13",viewBox:"0 0 12 13",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",ref:t,...e,children:jsxRuntime.jsx("path",{d:"M5.99951 1.50708C3.23811 1.50708 0.999512 3.74558 0.999512 6.50708C0.999512 9.26858 3.23811 11.5071 5.99951 11.5071C8.76091 11.5071 10.9995 9.26858 10.9995 6.50708C10.9995 3.74558 8.76091 1.50708 5.99951 1.50708ZM5.99951 4.00708C6.27566 4.00708 6.49951 4.23108 6.49951 4.50708C6.49951 4.78308 6.27566 5.00708 5.99951 5.00708C5.72336 5.00708 5.49951 4.78308 5.49951 4.50708C5.49951 4.23108 5.72336 4.00708 5.99951 4.00708ZM5.99951 5.50708C6.27566 5.50708 6.49951 5.73108 6.49951 6.00708V8.50708C6.49951 8.78308 6.27566 9.00708 5.99951 9.00708C5.72336 9.00708 5.49951 8.78308 5.49951 8.50708V6.00708C5.49951 5.73108 5.72336 5.50708 5.99951 5.50708Z"})}));function Tt(e){let{order:t,symbolInfo:r}=e,o=t.orders,[n,i]=Sr.useState(),s=hooks.useEventEmitter(),f=Sr.useMemo(()=>o.reduce((c,d)=>c.add(new utils.Decimal(d.order_price).mul(d.order_quantity)),utils.zero).toNumber(),[o]),a=Sr.useMemo(()=>o.reduce((c,d)=>c.add(new utils.Decimal(d.order_quantity)),utils.zero).toString(),[o,r.base_dp]);return Sr.useEffect(()=>{let u=c=>{let d=c.asks?.[c.asks.length-1]?.[0],p=c.bids?.[0]?.[0];i([d,p]);};return s.on("orderbook:update",u),()=>{s.off("orderbook:update",u);}},[]),{dataSource:o,national:f,askAndBid:n,totalQuantity:a}}var rr=e=>{let t=Tt(e);return jsxRuntime.jsx(xt,{...e,...t})},Ye="scaledOrderConfirm";ui.registerSimpleDialog(Ye,rr,{size:"md",title:()=>i18n.i18n.t("orderEntry.confirmScaledOrder"),contentProps:{}});var ht=e=>{let{t}=i18n.useTranslation(),{takerFeeRate:r,makerFeeRate:o}=e;return jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",children:t("common.fees")}),jsxRuntime.jsx(uiConnector.AuthGuard,{fallback:()=>jsxRuntime.jsxs(ui.Text,{size:"2xs",children:[t("portfolio.feeTier.column.taker"),": --% /"," ",t("portfolio.feeTier.column.maker"),": --%"]}),children:jsxRuntime.jsxs(ui.Flex,{gap:1,children:[jsxRuntime.jsxs(ui.Text,{size:"2xs",children:[t("portfolio.feeTier.column.taker"),":"]}),jsxRuntime.jsx(ui.Text,{size:"2xs",className:"oui-text-base-contrast-80",children:r}),jsxRuntime.jsx(ui.Text,{size:"2xs",children:"/"}),jsxRuntime.jsxs(ui.Text,{size:"2xs",children:[t("portfolio.feeTier.column.maker"),":"]}),jsxRuntime.jsx(ui.Text,{size:"2xs",className:"oui-text-base-contrast-80",children:o})]})})]})};var _t=()=>{let{data:e}=hooks.useAccountInfo(),t=Sr.useMemo(()=>{let o=e?.futures_taker_fee_rate;if(!(typeof o>"u"))return `${new utils.Decimal(o).mul(.01).toString()}%`},[e]),r=Sr.useMemo(()=>{let o=e?.futures_maker_fee_rate;if(!(typeof o>"u"))return `${new utils.Decimal(o).mul(.01).toString()}%`},[e]);return {takerFeeRate:t,makerFeeRate:r}};var Ct=()=>{let e=_t();return jsxRuntime.jsx(ht,{...e})};var Fe=Sr.createContext({}),sr=Fe.Provider;var ar=e=>{let{t}=i18n.useTranslation(),{className:r,...o}=e,n=()=>{ui.modal.dialog({title:t("common.tips"),size:"sm",content:jsxRuntime.jsx($o,{value:e.value})});};return jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",justify:"center",p:2,r:"base",width:"100%",intensity:600,className:ui.cn("oui-t-rounded oui-text-base-contrast-36","oui-border oui-border-solid oui-border-line",r),children:[jsxRuntime.jsx(ui.Text,{size:"2xs",className:"oui-cursor-pointer oui-border-b oui-border-dashed oui-border-line-12",onClick:n,children:t("orderEntry.quantityDistribution")}),jsxRuntime.jsx(Xo,{...o})]})},$o=e=>{let{t}=i18n.useTranslation(),[r,o]=Sr.useState(types.DistributionType.FLAT);Sr.useEffect(()=>{o([types.DistributionType.FLAT,types.DistributionType.ASCENDING,types.DistributionType.DESCENDING].includes(e.value)?e.value:types.DistributionType.FLAT);},[e.value]);let n=Sr.useMemo(()=>[{type:types.DistributionType.FLAT,title:t("orderEntry.distributionType.flat"),description:t("orderEntry.distributionType.flat.description"),formula:`${t("orderEntry.skew")} = 1`,quantity:jsxRuntime.jsx(jo,{})},{type:types.DistributionType.ASCENDING,title:t("orderEntry.distributionType.ascending"),description:t("orderEntry.distributionType.ascending.description"),formula:`${t("orderEntry.skew")} > 1`,quantity:jsxRuntime.jsx(Zo,{})},{type:types.DistributionType.DESCENDING,title:t("orderEntry.distributionType.descending"),description:t("orderEntry.distributionType.descending.description"),formula:`0 < ${t("orderEntry.skew")} < 1`,quantity:jsxRuntime.jsx(Jo,{})}],[]),i=Sr.useMemo(()=>n.find(s=>s.type===r),[n,r]);return jsxRuntime.jsxs("div",{className:"oui-text-2xs oui-font-semibold oui-text-base-contrast-54",children:[jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",gapY:1,children:[jsxRuntime.jsx(ui.Text,{intensity:80,children:t("orderEntry.quantityDistribution.description")}),jsxRuntime.jsx(ui.Text,{children:t("orderEntry.quantityDistribution.formula")})]}),jsxRuntime.jsxs(ui.Flex,{intensity:600,p:1,r:"base",mt:3,itemAlign:"start",children:[jsxRuntime.jsx(ui.Flex,{direction:"column",itemAlign:"start",children:n.map(s=>jsxRuntime.jsx(ui.Box,{intensity:r===s.type?500:600,width:78,p:2,className:"oui-cursor-pointer oui-rounded-l",onClick:()=>{o(s.type);},children:jsxRuntime.jsx(ui.Text,{children:s.title})},s.title))}),jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"start",gapY:1,p:2,intensity:500,width:"100%",className:ui.cn("oui-rounded-r",r===types.DistributionType.FLAT&&"oui-rounded-bl",r===types.DistributionType.ASCENDING&&"oui-rounded-l",r===types.DistributionType.DESCENDING&&"oui-rounded-tl"),children:[jsxRuntime.jsx("div",{children:i?.formula}),jsxRuntime.jsx(ui.Text,{children:i?.description}),jsxRuntime.jsx(ui.Flex,{width:"100%",justify:"center",children:i?.quantity}),jsxRuntime.jsxs(ui.Flex,{width:"100%",gapX:1,justify:"center",children:[jsxRuntime.jsx(ui.Text,{className:"oui-text-base-1",children:t("common.price")}),jsxRuntime.jsx(en,{})]})]})]})]})},Xo=e=>{let{value:t,onValueChange:r}=e,{t:o}=i18n.useTranslation(),n=s=>f=>{r(s);},i=Sr.useMemo(()=>({[types.DistributionType.FLAT]:o("orderEntry.distributionType.flat"),[types.DistributionType.ASCENDING]:o("orderEntry.distributionType.ascending.abbr"),[types.DistributionType.DESCENDING]:o("orderEntry.distributionType.descending.abbr"),[types.DistributionType.CUSTOM]:o("orderEntry.distributionType.custom")}),[o]);return jsxRuntime.jsx(ui.Flex,{className:ui.cn("oui-gap-x-[6px] lg:oui-gap-x-2"),wrap:"wrap",children:Object.values(types.DistributionType).map(s=>jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",children:[jsxRuntime.jsx(ui.Checkbox,{id:`distribution-type-${s}`,color:"white",variant:"radio",checked:t===s,onCheckedChange:n(s)}),jsxRuntime.jsx("label",{htmlFor:`distribution-type-${s}`,className:ui.cn("oui-text-2xs","oui-ml-1","oui-whitespace-nowrap oui-break-normal"),children:i[s]})]},s))})},jo=()=>jsxRuntime.jsxs("svg",{width:"218",height:"40",viewBox:"0 0 218 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsxRuntime.jsx("rect",{x:"18",y:"18",width:"181",height:"4",fill:"rgb(var(--oui-color-base-2))"}),jsxRuntime.jsx("circle",{cx:"15",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsxRuntime.jsx("circle",{cx:"62",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsxRuntime.jsx("circle",{cx:"109",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsxRuntime.jsx("circle",{cx:"156",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsxRuntime.jsx("circle",{cx:"203",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"})]}),Zo=()=>jsxRuntime.jsxs("svg",{width:"218",height:"40",viewBox:"0 0 218 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsxRuntime.jsx("rect",{x:"18",y:"18",width:"181",height:"4",fill:"rgb(var(--oui-color-base-2))"}),jsxRuntime.jsx("circle",{cx:"15",cy:"20",r:"4.28571",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"1.42857"}),jsxRuntime.jsx("circle",{cx:"62",cy:"20",r:"5.14286",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"1.71429"}),jsxRuntime.jsx("circle",{cx:"109",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsxRuntime.jsx("circle",{cx:"156",cy:"20",r:"6.85714",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2.28571"}),jsxRuntime.jsx("circle",{cx:"203",cy:"20",r:"7.71429",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2.57143"})]}),Jo=()=>jsxRuntime.jsxs("svg",{width:"218",height:"40",viewBox:"0 0 218 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsxRuntime.jsx("rect",{width:"181",height:"4",transform:"matrix(-1 0 0 1 200 18)",fill:"rgb(var(--oui-color-base-2))"}),jsxRuntime.jsx("circle",{cx:"5",cy:"5",r:"4.28571",transform:"matrix(-1 0 0 1 208 15)",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"1.42857"}),jsxRuntime.jsx("circle",{cx:"6",cy:"6",r:"5.14286",transform:"matrix(-1 0 0 1 162 14)",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"1.71429"}),jsxRuntime.jsx("circle",{cx:"7",cy:"7",r:"6",transform:"matrix(-1 0 0 1 116 13)",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsxRuntime.jsx("circle",{cx:"8",cy:"8",r:"6.85714",transform:"matrix(-1 0 0 1 70 12)",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2.28571"}),jsxRuntime.jsx("circle",{cx:"9",cy:"9",r:"7.71429",transform:"matrix(-1 0 0 1 24 11)",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2.57143"})]}),en=()=>jsxRuntime.jsx("svg",{width:"176",height:"8",viewBox:"0 0 176 8",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{d:"M175.354 4.35355C175.549 4.15829 175.549 3.84171 175.354 3.64645L172.172 0.464466C171.976 0.269204 171.66 0.269204 171.464 0.464466C171.269 0.659728 171.269 0.976311 171.464 1.17157L174.293 4L171.464 6.82843C171.269 7.02369 171.269 7.34027 171.464 7.53553C171.66 7.7308 171.976 7.7308 172.172 7.53553L175.354 4.35355ZM0 4V4.5H175V4V3.5H0V4Z",fill:"rgb(var(--oui-color-base-1))"})});var cr=[.01,.05,.1],pr=Sr.forwardRef((e,t)=>{let{t:r}=i18n.useTranslation(),[o,n]=Sr.useState(),[i,s]=Sr.useState(""),[f,a]=Sr.useState(void 0);Sr.useImperativeHandle(t,()=>({getValue:()=>i?new utils.Decimal(i)?.toNumber():o})),Sr.useEffect(()=>{e.initialValue&&!cr.includes(e.initialValue)?s(e.initialValue.toString()):n(e.initialValue);},[e.initialValue,open]);let u=p=>{n(p),s(""),a(void 0);},c=p=>{if(!p){s(p);return}let _=new utils.Decimal(p);n(void 0),_.gt(3)?(s("3"),a(r("orderEntry.slippage.error.exceed"))):(s(p),a(void 0));},d=e.isMobile?jsxRuntime.jsx("button",{onClick:()=>{ui.modal.alert({title:r("common.tips"),message:jsxRuntime.jsx(ui.Text,{size:"2xs",children:r("orderEntry.slippage.tips")})});},children:jsxRuntime.jsx(ui.ExclamationFillIcon,{className:"oui-text-base-contrast-54",size:16})}):jsxRuntime.jsx(ui.Tooltip,{content:jsxRuntime.jsx(ui.Text,{intensity:80,size:"2xs",children:r("orderEntry.slippage.tips")}),className:"oui-w-[260px] oui-bg-base-6",arrow:{className:"oui-fill-base-6"},children:jsxRuntime.jsx(ui.TooltipTrigger,{children:jsxRuntime.jsx(ui.ExclamationFillIcon,{className:"oui-text-base-contrast-54",size:16})})});return jsxRuntime.jsxs("div",{className:"oui-text-2xs",children:[jsxRuntime.jsxs(ui.Flex,{mb:2,gapX:1,children:[jsxRuntime.jsx(ui.Text,{size:"xs",children:r("orderEntry.slippage")}),d]}),jsxRuntime.jsxs(ui.Flex,{gapX:2,children:[cr.map(p=>jsxRuntime.jsx(cn,{value:p,isActive:o===p,onClick:()=>{u(p);}},p)),jsxRuntime.jsx(ui.Input,{suffix:"%",formatters:[ui.inputFormatter.numberFormatter,ui.inputFormatter.dpFormatter(2)],value:i,onValueChange:c,classNames:{root:ui.cn("oui-rounded-md oui-bg-base-6","oui-h-[40px] oui-w-[74px]"),input:"oui-text-base-contrast",additional:"oui-pl-1"}})]}),!!f&&jsxRuntime.jsx(ui.Box,{mt:5,className:"-oui-mb-5",children:jsxRuntime.jsx(ui.Text,{size:"2xs",color:"danger",children:f})})]})}),cn=({value:e,isActive:t,onClick:r})=>jsxRuntime.jsx(ui.Flex,{intensity:600,justify:"center",itemAlign:"center",r:"md",width:74,height:40,className:ui.cn("oui-cursor-pointer oui-select-none",t&&"oui-bg-primary-light"),onClick:r,children:jsxRuntime.jsxs(ui.Text,{size:"sm",intensity:80,children:[e,"%"]})});var fr=e=>{let{t}=i18n.useTranslation(),[r,{setTrue:o,setFalse:n,toggle:i}]=hooks.useBoolean(false),{isMobile:s}=ui.useScreen(),f=Sr.useRef(null),a=()=>{let u=f.current?.getValue();return e.setSlippage(u?u.toString():"1"),n(),Promise.resolve(true)};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ui.SimpleDialog,{open:r,onOpenChange:i,title:t("common.settings"),contentProps:{size:s?"xs":"sm"},actions:{primary:{disabled:false,label:t("common.save"),onClick:a},secondary:{label:t("common.cancel"),onClick:()=>n()}},children:jsxRuntime.jsx(pr,{ref:f,isMobile:s,initialValue:e.slippage?Number(e.slippage):void 0})}),jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",children:t("orderEntry.slippage")}),jsxRuntime.jsx(uiConnector.AuthGuard,{fallback:()=>jsxRuntime.jsxs(ui.Text,{size:"2xs",children:[t("orderEntry.slippage.est"),": -% / ",t("common.max"),": --%"]}),children:jsxRuntime.jsxs(ui.Flex,{gap:1,children:[jsxRuntime.jsx(ui.Text.numeral,{size:"2xs",rule:"percentages",prefix:`${t("orderEntry.slippage.est")}: `,suffix:` / ${t("common.max")}: `,children:e.estSlippage??0}),jsxRuntime.jsx("button",{className:"oui-text-2xs",onClick:()=>o(),children:jsxRuntime.jsxs(ui.Flex,{className:"oui-gap-0.5",as:"span",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",className:"oui-text-primary",children:`${e.slippage||"-"}%`}),jsxRuntime.jsx(ui.EditIcon,{className:"oui-text-primary oui-hidden md:oui-block",size:12,opacity:1})]})})]})})]})]})};var gr=e=>jsxRuntime.jsx(fr,{...e});var xr=Sr.createContext({}),je=()=>Sr.useContext(xr),It=e=>{let{type:t,values:r}=e,[o,n]=hooks.useLocalStorage("TP/SL_Mode","Offset%"),{t:i}=i18n.useTranslation(),s=Sr.useMemo(()=>!r.PnL||!e.values.trigger_price?null:jsxRuntime.jsxs(ui.Flex,{children:[jsxRuntime.jsx("span",{className:"oui-text-xs oui-text-base-contrast-54",children:o==="PnL"?i("orderEntry.estRoi"):i("orderEntry.estPnL")}),o==="PnL"?jsxRuntime.jsx(ui.Text.numeral,{rule:"percentages",className:ui.cn("oui-text-xs oui-ml-1",t==="TP"?"oui-text-trade-profit":"oui-text-trade-loss"),children:r.ROI}):jsxRuntime.jsx(ui.Text.numeral,{rule:"price",className:ui.cn("oui-text-xs oui-ml-1",t==="TP"?"oui-text-trade-profit":"oui-text-trade-loss"),children:r.PnL})]}),[o,e.values.PnL,e.values.trigger_price]);return jsxRuntime.jsx(xr.Provider,{value:{mode:o,setMode:n,tipsEle:s},children:e.children})};var hr=e=>{let{type:t,values:r,quote_dp:o}=e,{t:n}=i18n.useTranslation(),{mode:i,setMode:s,tipsEle:f}=je(),[a,u]=Sr.useState(false),[c,d]=Sr.useState(false),p=Sr.useMemo(()=>{switch(i){case "Offset":return `${t.toLowerCase()}_offset`;case "Offset%":return `${t.toLowerCase()}_offset_percentage`;default:return `${t.toLowerCase()}_pnl`}},[i]),[_,P]=Sr.useState(r[i]);Sr.useEffect(()=>{c||P(r[i]);},[r,i,c]);let b=Sr.useMemo(()=>[{label:n("tpsl.pnl"),value:"PnL",testId:"PnL_menu_item"},{label:n("tpsl.offset"),value:"Offset",testId:"Offset_mneu_item"},{label:`${n("tpsl.offset")}%`,value:"Offset%",testId:"Offset%_menu_item"}],[n]),E=Sr.useMemo(()=>({PnL:n("tpsl.pnl"),Offset:n("tpsl.offset"),"Offset%":`${n("tpsl.offset")}%`}),[n]),N=Sr.useRef("");return {mode:i,modes:b,modeLabelMap:E,formatter:M=>{let{dp:$=2}=M;return {onRenderBefore:(y,X)=>(y=`${y}`,t==="SL"&&i==="PnL"&&(y=y.startsWith("-")?y:"-"+y),y===""||y==="-"?"":i==="Offset%"?`${new utils.Decimal(y.replace(new RegExp(N.current.replace(".","\\.")+"$"),"")).mul(100).todp(2,4).toString()}${N.current}`:(i==="Offset"&&(y=utils.todpIfNeed(y,$)),`${y}`)),onSendBefore:y=>{if(/^\-?0{2,}$/.test(y))return "0";if(i==="Offset%"){if(y!==""){y=utils.todpIfNeed(y,2);let X=y.match(/\.0{0,2}$/);X?N.current=X[0]:N.current="",y=new utils.Decimal(y).div(100).toString(),y=`${y}${N.current}`;}}else y=utils.todpIfNeed(y,$);return y===""||y==="-"?"":y}}},onModeChange:M=>{s(M);},onFocus:()=>{u(true),d(true);},onBlur:()=>{u(false),d(false),e.onChange(p,_);},value:_,onValueChange:M=>{P(M),e.onChange(p,M);},quote_dp:o,tips:a?f:void 0}};var vr=e=>{let{mode:t,modes:r,modeLabelMap:o,onModeChange:n,onValueChange:i,quote:s,quote_dp:f,value:a,type:u,tips:c,onFocus:d,onBlur:p}=e,[_,P]=Sr.useState(t),[b,E]=Sr.useState(t==="Offset%"?"%":s);Sr.useEffect(()=>{P(t),E(t==="Offset%"?"%":s);},[t]),Sr.useEffect(()=>{P(a?"":t);},[a]);let N=Sr.useMemo(()=>`${u.toLowerCase()}_${t.toLowerCase()}`,[]);return jsxRuntime.jsx(ui.Input.tooltip,{prefix:o[_]||_,size:"md",placeholder:b,id:N,align:"right",value:a,tooltip:c,tooltipProps:{content:{side:e.type==="TP"?"top":"bottom"}},"data-testid":e.testIds?.input,autoComplete:"off",onValueChange:i,formatters:[e.formatter({dp:f,mode:t,type:u}),ui.inputFormatter.currencyFormatter],classNames:{root:u==="TP"?"oui-text-trade-profit":"oui-text-trade-loss",additional:"oui-text-base-contrast-54",input:"oui-text-inherit"},onFocus:()=>{P(""),E(""),d();},onBlur:()=>{P(a?"":t),E(t==="Offset%"?"%":s),p();},suffix:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[t==="Offset%"&&!!a&&jsxRuntime.jsx(ui.Text,{size:"2xs",color:"inherit",className:"oui-ml-[2px]",children:"%"}),jsxRuntime.jsx(Vn,{mode:t,modes:r,onModeChange:B=>n(B.value),testId:e.testIds?.dropDown})]})})},Vn=e=>jsxRuntime.jsx(ui.SimpleDropdownMenu,{currentValue:e.mode,menu:e.modes,align:"end",size:"xs",className:"oui-min-w-[80px]",onCloseAutoFocus:t=>t.preventDefault(),onSelect:t=>e.onModeChange(t),children:jsxRuntime.jsx("button",{className:"oui-p-2","data-testid":e.testId,children:jsxRuntime.jsx(ui.CaretDownIcon,{size:12,color:"white"})})});var Er=e=>{let{testIds:t,quote:r,...o}=e,n=hr(o);return jsxRuntime.jsx(vr,{...n,testIds:t,quote:r,type:e.type})};var Ir=e=>{let t=Sr__default.default.useRef(null),{t:r}=i18n.useTranslation();return Sr.useEffect(()=>{e.orderType!==types.OrderType.LIMIT&&e.orderType!==types.OrderType.MARKET&&e.onSwitchChanged(false);},[e.orderType]),e.orderType!==types.OrderType.LIMIT&&e.orderType!==types.OrderType.MARKET||e.isReduceOnly?null:jsxRuntime.jsxs("div",{children:[jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",gapX:1,children:[jsxRuntime.jsx(ui.Switch,{id:"order_entry_tpsl",className:"oui-h-[14px]",checked:e.switchState,disabled:e.orderType!==types.OrderType.LIMIT&&e.orderType!==types.OrderType.MARKET||e.isReduceOnly,onCheckedChange:o=>{e.onSwitchChanged(o);}}),jsxRuntime.jsx("label",{htmlFor:"order_entry_tpsl",className:"oui-text-xs",children:r("common.tpsl")}),jsxRuntime.jsx(ui.ExclamationFillIcon,{color:"white",size:14,opacity:1,className:"oui-cursor-pointer oui-text-white/[.36] hover:oui-text-white/80",onClick:()=>{ui.modal.dialog({title:r("common.tips"),size:"xs",content:jsxRuntime.jsx(ui.Text,{intensity:54,children:r("orderEntry.tpsl.tips")})});}})]}),jsxRuntime.jsx("div",{className:ui.cn("oui-max-h-0 oui-overflow-hidden oui-transition-all",e.switchState&&"oui-max-h-[100px]"),onTransitionEnd:()=>{t.current?.style.setProperty("opacity",e.switchState?"1":"0");},children:jsxRuntime.jsx(Nr,{ref:t,onChange:e.onChange,values:e.values,errors:e.errors,quote_dp:e.quote_dp})})]})},Nr=Sr__default.default.forwardRef((e,t)=>{let{parseErrorMsg:r}=reactApp.useOrderEntryFormErrorMsg(e.errors);return jsxRuntime.jsxs("div",{ref:t,className:"oui-space-y-1 oui-px-px oui-py-2 oui-transition-all",children:[jsxRuntime.jsx(It,{values:e.values.tp,type:"TP",children:jsxRuntime.jsx(Or,{type:"TP",error:r("tp_trigger_price"),onChange:e.onChange,values:e.values.tp,quote_dp:e.quote_dp,testIds:{first:"oui-testid-orderEntry-tpsl-tpPrice-input",second:"oui-testid-orderEntry-tpsl-tpPnl-input",dropDown:"oui-testid-orderEntry-tpsl-tp-dropDown-trigger-button"}})}),jsxRuntime.jsx(It,{values:e.values.sl,type:"SL",children:jsxRuntime.jsx(Or,{type:"SL",error:r("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"}})})]})});Nr.displayName="TPSLInputForm";var Jn=e=>{let{t}=i18n.useTranslation(),{errorMsgVisible:r}=Sr.useContext(Fe),{tipsEle:o}=je(),[n,i]=Sr.useState(`${e.type} Price`),[s,f]=Sr.useState("USDC"),[a,u]=Sr.useState(false),[c,d]=Sr.useState(false),[p,_]=Sr.useState(e.values.trigger_price??"");Sr.useEffect(()=>{c||_(e.values.trigger_price??"");},[e.values.trigger_price,c]);let P=Sr.useMemo(()=>e.error&&r?e.error:a?o:null,[e.error,r,a,o]),b=H=>{let R=e.type==="TP"?t("tpsl.tpPrice"):t("tpsl.slPrice");return H&&(R=e.type==="TP"?t("tpsl.tp"):t("tpsl.sl")),R},E=H=>{_(H),e.onChange(H);};Sr.useEffect(()=>{i(b(e.values.trigger_price)),c||_(e.values.trigger_price??"");},[e.type,e.values.trigger_price]);let N=()=>{i(e.type==="TP"?t("tpsl.tp"):t("tpsl.sl")),f(""),u(true),d(true);},B=()=>{i(b(e.values.trigger_price)),f("USDC"),u(false),d(false),e.onChange(p);};return jsxRuntime.jsx(ui.Input.tooltip,{"data-testid":e.testId,prefix:n,size:"md",placeholder:s,align:"right",onFocus:N,onBlur:B,tooltip:P,tooltipProps:{content:{side:e.type==="TP"?"top":"bottom"}},color:e.error?"danger":void 0,autoComplete:"off",value:p,classNames:{additional:"oui-text-base-contrast-54",root:"oui-pr-2 md:oui-pr-3",prefix:"oui-pr-1 md:oui-pr-2"},onValueChange:E,formatters:[ui.inputFormatter.numberFormatter,ui.inputFormatter.dpFormatter(e.quote_dp??2),ui.inputFormatter.currencyFormatter]})},Or=e=>{let t=e.type==="SL"?"sl_trigger_price":"tp_trigger_price";return jsxRuntime.jsxs(ui.Grid,{cols:2,gapX:1,children:[jsxRuntime.jsx(Jn,{testId:e.testIds?.first,type:e.type,error:e.error,values:e.values??"",onChange:r=>{e.onChange(t,r);},quote_dp:e.quote_dp}),jsxRuntime.jsx(Er,{testIds:{input:e.testIds?.second,dropDown:e.testIds?.dropDown},onChange:e.onChange,quote:"USDC",quote_dp:e.quote_dp,type:e.type,values:{PnL:e.values.PnL,Offset:e.values.Offset,"Offset%":e.values["Offset%"],ROI:e.values.ROI}})]})};var At=e=>{let{side:t,formattedOrder:r,setOrderValue:o,symbolInfo:n,maxQty:i,freeCollateral:s,helper:f,submit:a,metaState:u,bboStatus:c,bboType:d,onBBOChange:p,toggleBBO:_,disableFeatures:P,currentLtv:b,fillMiddleValue:E}=e,{curLeverage:N}=hooks.useLeverage(),{t:B}=i18n.useTranslation(),{isMobile:H}=ui.useScreen(),{errors:R,validated:Y}=u,[M,$]=Sr.useState(false),[y,X]=hooks.useLocalStorage("orderly_order_confirm",true),[fe,Ee]=hooks.useLocalStorage("orderly-order-additional-pinned",true),[Me,Ae]=hooks.useLocalStorage("orderly-order-hidden",false),[ge,nt]=hooks.useLocalStorage("orderly-slippage","1",{parseJSON:x=>!x||x==='""'?"1":JSON.parse(x)}),{parseErrorMsg:Ve}=reactApp.useOrderEntryFormErrorMsg(Y?R:null),it=Sr.useMemo(()=>t===types.OrderSide.BUY?B("orderEntry.buyLong"):B("orderEntry.sellShort"),[t,B]);Sr.useEffect(()=>{Y&&$(true);},[Y]),Sr.useEffect(()=>{e.disableFeatures?.includes("slippageSetting")||(ge?o("slippage",Number(ge)):o("slippage",void 0));},[ge,e.disableFeatures]),Sr.useEffect(()=>{let x=v=>{v.target.closest("#order-entry-submit-button")||$(qe=>qe&&false);};return M?document.addEventListener("click",x):document.removeEventListener("click",x),()=>{document.removeEventListener("click",x);}},[M]);let st=()=>{let x=r.order_type===types.OrderType.SCALED;f.validate().then(v=>x?ui.modal.show(Ye,{order:v,symbolInfo:n,size:H?"sm":"md"}):y?ui.modal.show(gt,{order:r,symbolInfo:n}):true,v=>(v.slippage&&ui.toast.error(B("orderEntry.slippage.error.max")),$(true),Promise.reject())).then(()=>a({resetOnSuccess:false}).then(v=>{if(!v.success&&v.message)ui.toast.error(v.message);else if(v.success&&x){let Oe=Kt(v);Oe&&ui.toast.success(Oe);}})).catch(v=>{v?.message&&ui.toast.error(v.message);});},De=H&&e.canTrade,at=typeof b=="number"&&!Number.isNaN(b)&&b>0;return jsxRuntime.jsx(sr,{value:{errorMsgVisible:M},children:jsxRuntime.jsxs("div",{className:"oui-space-y-2 oui-text-base-contrast-54 xl:oui-space-y-3",ref:e.containerRef,children:[jsxRuntime.jsxs(ui.Flex,{gapX:2,className:"oui-flex-col oui-gap-y-3 lg:oui-flex-row",children:[jsxRuntime.jsxs("div",{className:ui.cn("oui-grid oui-w-full oui-flex-1 oui-gap-x-2 lg:oui-flex lg:oui-gap-x-[6px]",De?"oui-grid-cols-3":"oui-grid-cols-2"),children:[jsxRuntime.jsx(ui.Button,{onClick:()=>{e.setOrderValue("side",types.OrderSide.BUY);},size:"md",fullWidth:true,"data-type":types.OrderSide.BUY,className:ui.cn(t===types.OrderSide.BUY&&e.canTrade?"oui-bg-success-darken hover:oui-bg-success-darken/80 active:oui-bg-success-darken/80":"oui-bg-base-7 oui-text-base-contrast-36 hover:oui-bg-base-6 active:oui-bg-base-6"),"data-testid":"oui-testid-orderEntry-side-buy-button",children:B("common.buy")}),jsxRuntime.jsx(ui.Button,{onClick:()=>{e.setOrderValue("side",types.OrderSide.SELL);},"data-type":types.OrderSide.SELL,fullWidth:true,size:"md",className:ui.cn(t===types.OrderSide.SELL&&e.canTrade?"oui-bg-danger-darken hover:oui-bg-danger-darken/80 active:oui-bg-danger-darken/80":"oui-bg-base-7 oui-text-base-contrast-36 hover:oui-bg-base-6 active:oui-bg-base-6"),"data-testid":"oui-testid-orderEntry-side-sell-button",children:B("common.sell")}),De&&jsxRuntime.jsx(ui.Button,{size:"md",fullWidth:true,trailing:jsxRuntime.jsx(ui.CaretRightIcon,{size:12,className:"oui-text-base-contrast-36"}),onClick:()=>{ui.modal.show(uiLeverage.LeverageWidgetWithSheetId,{currentLeverage:N});},className:ui.cn("oui-bg-base-7 oui-text-primary-light hover:oui-bg-base-6 active:oui-bg-base-6"),children:utils.commifyOptional(N,{fix:2})+"x"})]}),jsxRuntime.jsx("div",{className:"oui-w-full lg:oui-flex-1",children:jsxRuntime.jsx(Oi,{type:r.order_type,side:t,canTrade:e.canTrade,onChange:x=>{o("order_type",x);}})})]}),jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",justify:"between",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",children:B("common.available")}),jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",justify:"center",gap:1,children:[at&&jsxRuntime.jsx(ui.Tooltip,{className:"oui-bg-base-6 oui-p-2",content:jsxRuntime.jsx(Qe,{}),children:jsxRuntime.jsx(ui.InfoCircleIcon,{className:"oui-cursor-pointer oui-text-warning oui-opacity-80"})}),jsxRuntime.jsx(ui.Text.numeral,{unit:n.quote,size:"2xs",className:"oui-text-base-contrast-80",unitClassName:"oui-ml-1 oui-text-base-contrast-54",dp:2,padding:false,children:e.canTrade?s:0})]})]}),r.order_type===types.OrderType.SCALED?jsxRuntime.jsx(Ni,{type:e.type,symbolInfo:n,values:{quantity:r.order_quantity,total:r.total,side:r.side,max_price:r.max_price,min_price:r.min_price,total_orders:r.total_orders,distribution_type:r.distribution_type,skew:r.skew},onChange:(x,v)=>{e.setOrderValue(x,v);},onValuesChange:e.setOrderValues,onBlur:e.onBlur,onFocus:e.onFocus,parseErrorMsg:Ve}):jsxRuntime.jsx(Ci,{type:e.type,symbolInfo:n,values:{quantity:r.order_quantity,price:r.order_price,trigger_price:r.trigger_price,total:r.total,level:r.level,side:r.side,order_type_ext:r.order_type_ext},onChange:(x,v)=>{e.setOrderValue(x,v);},onValuesChange:e.setOrderValues,refs:e.refs,onBlur:e.onBlur,onFocus:e.onFocus,bbo:{bboStatus:c,bboType:d,onBBOChange:p,toggleBBO:_},priceInputContainerWidth:e.priceInputContainerWidth,parseErrorMsg:Ve,fillMiddleValue:E}),jsxRuntime.jsx(Ei,{canTrade:e.canTrade,maxQty:i,currentQtyPercentage:e.currentQtyPercentage,value:r.order_quantity?Number(r.order_quantity):0,tick:n.base_tick,dp:n.base_dp,setMaxQty:e.setMaxQty,onValueChange:x=>{o("order_quantity",x);},side:e.side}),jsxRuntime.jsx(ui.ThrottledButton,{fullWidth:true,id:"order-entry-submit-button","data-type":types.OrderSide.BUY,className:ui.cn(t===types.OrderSide.BUY?"orderly-order-entry-submit-button-buy oui-bg-success-darken hover:oui-bg-success-darken/80 active:oui-bg-success-darken/80":"orderly-order-entry-submit-button-sell oui-bg-danger-darken hover:oui-bg-danger-darken/80 active:oui-bg-danger-darken/80"),onClick:()=>{st();},loading:e.isMutating,disabled:!e.canTrade,children:it}),jsxRuntime.jsx(Si,{canTrade:e.canTrade,quote:n.quote,estLiqPrice:e.estLiqPrice,estLeverage:e.estLeverage,currentLeverage:e.currentLeverage,slippage:ge,dp:n.quote_dp,setSlippage:nt,estSlippage:e.estSlippage,orderType:r.order_type,disableFeatures:P}),jsxRuntime.jsx(ui.Divider,{className:"oui-w-full"}),jsxRuntime.jsx(Ir,{quote_dp:e.symbolInfo.quote_dp,switchState:e.tpslSwitch,onSwitchChanged:e.setTpslSwitch,orderType:r.order_type,errors:Y?R:null,isReduceOnly:r.reduce_only,values:{tp:{trigger_price:r.tp_trigger_price??"",PnL:r.tp_pnl??"",Offset:r.tp_offset??"","Offset%":r.tp_offset_percentage??"",ROI:r.tp_ROI??""},sl:{trigger_price:r.sl_trigger_price??"",PnL:r.sl_pnl??"",Offset:r.sl_offset??"","Offset%":r.sl_offset_percentage??"",ROI:r.sl_ROI??""}},onChange:(x,v)=>{e.setOrderValue(x,v);}}),jsxRuntime.jsxs(ui.Flex,{justify:"between",itemAlign:"center",className:"!oui-mt-0 xl:!oui-mt-3",children:[jsxRuntime.jsxs(ui.Flex,{itemAlign:"center",gapX:1,children:[jsxRuntime.jsx(ui.Switch,{"data-testid":"oui-testid-orderEntry-reduceOnly-switch",className:"oui-h-[14px]",id:"reduceOnly",checked:e.formattedOrder.reduce_only,onCheckedChange:x=>{e.setOrderValue("reduce_only",x);}}),jsxRuntime.jsx("label",{htmlFor:"reduceOnly",className:"oui-text-xs",children:B("orderEntry.reduceOnly")})]}),!fe&&jsxRuntime.jsx(Pi,{pinned:fe,setPinned:Ee,needConfirm:y,setNeedConfirm:X,onValueChange:o,orderTypeExtra:r.order_type_ext,showExtra:r.order_type===types.OrderType.LIMIT&&!e.tpslSwitch,hidden:Me,setHidden:Ae})]}),fe&&jsxRuntime.jsxs(ui.Box,{p:2,r:"md",intensity:700,position:"relative",children:[jsxRuntime.jsx(We,{pinned:fe,setPinned:Ee,needConfirm:y,setNeedConfirm:X,onValueChange:o,orderTypeExtra:r.order_type_ext,showExtra:r.order_type===types.OrderType.LIMIT&&!e.tpslSwitch,hidden:Me,setHidden:Ae}),jsxRuntime.jsx(_i,{onClick:()=>{Ee(false);},className:"oui-group oui-absolute oui-right-2 oui-top-2","data-testid":"oui-testid-orderEntry-pinned-button"})]})]})})},Lr="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",_i=e=>{let[t,r]=Sr.useState(Lr);return jsxRuntime.jsx("button",{...e,children:jsxRuntime.jsx("svg",{width:16,height:16,viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",onMouseEnter:()=>{r('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:()=>{r(Lr);},className:"oui-text-primary-darken ",children:jsxRuntime.jsx("path",{d:t})})})},Ci=e=>{let{type:t,symbolInfo:r,values:o,onFocus:n,onBlur:i,bbo:s,parseErrorMsg:f,fillMiddleValue:a}=e,{t:u}=i18n.useTranslation(),c=s.bboStatus==="on",d=t===types.OrderType.LIMIT?jsxRuntime.jsxs(ui.Flex,{direction:"column",itemAlign:"end",className:"oui-text-2xs",children:[r.quote,jsxRuntime.jsxs(ui.Flex,{justify:"end",itemAlign:"center",gap:2,children:[jsxRuntime.jsx(ui.Flex,{px:3,height:20,justify:"center",itemAlign:"center",r:"base",className:ui.cn("oui-mt-[2px] oui-cursor-pointer oui-select-none oui-border",s.bboStatus==="on"?"oui-border-primary":"oui-border-line-12",s.bboStatus==="disabled"&&"oui-cursor-not-allowed"),onClick:()=>{s.bboStatus==="disabled"?ui.modal.dialog({title:u("common.tips"),size:"xs",content:jsxRuntime.jsx(ui.Text,{intensity:54,children:u("orderEntry.bbo.disabled.tips")})}):s.toggleBBO();},children:jsxRuntime.jsx(ui.Text,{className:ui.cn(s.bboStatus==="on"&&"oui-text-primary",s.bboStatus==="off"&&"oui-text-base-contrast-54",s.bboStatus==="disabled"&&"oui-text-base-contrast-20"),children:u("orderEntry.bbo")})}),jsxRuntime.jsx(ui.Text,{className:ui.cn("oui-select-none","oui-cursor-pointer oui-text-primary"),onClick:a,children:"Mid"})]})]}):r.quote;return jsxRuntime.jsxs("div",{className:"oui-space-y-1",children:[t===types.OrderType.STOP_LIMIT||t===types.OrderType.STOP_MARKET?jsxRuntime.jsx("div",{className:"oui-group",children:jsxRuntime.jsx(ee,{label:u("common.trigger"),suffix:r.quote,error:f("trigger_price"),id:"trigger",ref:e.refs.triggerPriceInputRef,value:o.trigger_price,onChange:p=>{e.onChange("trigger_price",p);},formatters:[ui.inputFormatter.dpFormatter(r.quote_dp)],onFocus:n(1),onBlur:i(1)})}):null,t===types.OrderType.LIMIT||t===types.OrderType.STOP_LIMIT?jsxRuntime.jsxs("div",{ref:e.refs.priceInputContainerRef,className:"oui-group oui-relative oui-w-full",children:[jsxRuntime.jsx(ee,{label:u("common.price"),suffix:d,id:"price",value:o.price,error:f("order_price"),ref:e.refs.priceInputRef,onChange:p=>{e.onChange("order_price",p);},formatters:[ui.inputFormatter.dpFormatter(r.quote_dp)],onFocus:n(0),onBlur:i(0),readonly:c,classNames:{root:ui.cn(c&&"focus-within:oui-outline-transparent "),input:ui.cn(c&&"oui-cursor-auto")}}),s.bboStatus==="on"&&jsxRuntime.jsx("div",{className:ui.cn("oui-absolute oui-bottom-1 oui-left-0"),children:jsxRuntime.jsx(Ii,{value:s.bboType,onChange:s.onBBOChange,contentStyle:{width:e.priceInputContainerWidth}})})]}):null,jsxRuntime.jsxs(ui.Grid,{cols:2,className:"oui-group oui-space-x-1",children:[jsxRuntime.jsx(ee,{label:u("common.qty"),suffix:r.base,id:"order_quantity_input",name:"order_quantity_input",className:"!oui-rounded-r",value:o.quantity,error:f("order_quantity"),onChange:p=>{e.onChange("order_quantity",p);},formatters:[ui.inputFormatter.dpFormatter(r.base_dp)],onFocus:n(2),onBlur:i(2)}),jsxRuntime.jsx(ee,{label:`${u("common.total")}\u2248`,suffix:r.quote,id:"total",className:"!oui-rounded-l",value:o.total,error:f("total"),onChange:p=>{e.onChange("total",p);},onFocus:n(3),onBlur:i(3),formatters:[ui.inputFormatter.dpFormatter(r.quote_dp)]})]})]})},ee=Sr.forwardRef((e,t)=>{let{placeholder:r="0"}=e,{errorMsgVisible:o}=Sr.useContext(Fe);return jsxRuntime.jsx(ui.Input.tooltip,{ref:t,tooltip:o?e.error:void 0,autoComplete:"off",autoFocus:e.autoFocus,size:"lg",placeholder:e.readonly?"":r,id:e.id,name:e.name,color:e.error?"danger":void 0,prefix:jsxRuntime.jsx(vi,{id:e.id,className:e.classNames?.prefix,children:e.label}),suffix:e.suffix,value:e.readonly?"":e.value||"",onValueChange:e.onChange,onFocus:n=>{e.onFocus?.(n);},onBlur:n=>{e.onBlur?.(n);},formatters:e.overrideFormatters||[...e.formatters??[],ui.inputFormatter.numberFormatter,ui.inputFormatter.currencyFormatter,ui.inputFormatter.decimalPointFormatter],classNames:{root:ui.cn("orderly-order-entry oui-relative oui-h-[54px] oui-rounded oui-border oui-border-solid oui-border-line oui-px-2 oui-py-1 group-first:oui-rounded-t-xl group-last:oui-rounded-b-xl",e.className,e.classNames?.root),input:ui.cn("oui-mb-1 oui-mt-5 oui-h-5",e?.classNames?.input),suffix:ui.cn("oui-absolute oui-right-0 oui-top-0 oui-justify-start oui-py-2 oui-text-2xs oui-text-base-contrast-36",e.classNames?.suffix)},readOnly:e.readonly})});ee.displayName="CustomInput";var vi=e=>jsxRuntime.jsx("label",{htmlFor:e.id,className:ui.cn("oui-absolute oui-left-2 oui-top-[7px] oui-text-2xs oui-text-base-contrast-36",e.className),children:e.children}),Ei=e=>{let{canTrade:t}=e,{t:r}=i18n.useTranslation(),o=Sr.useMemo(()=>t?e.side===types.OrderSide.BUY?"buy":"sell":void 0,[e.side,t]),n=Sr.useMemo(()=>e.side===types.OrderSide.BUY?r("orderEntry.maxBuy"):r("orderEntry.maxSell"),[e.side,r]);return jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(ui.Slider.single,{disabled:e.maxQty===0||!t,value:e.value,color:o,markCount:4,showTip:true,max:e.maxQty,step:e.tick,onValueChange:e.onValueChange}),jsxRuntime.jsxs(ui.Flex,{justify:"between",className:"oui-pt-1 xl:oui-pt-2",children:[jsxRuntime.jsx(ui.Text.numeral,{rule:"percentages",size:"2xs",color:o,dp:2,padding:false,children:t?e.currentQtyPercentage:0}),jsxRuntime.jsxs(ui.Flex,{children:[jsxRuntime.jsx("button",{className:ui.textVariants({size:"2xs",className:"oui-mr-1"}),onClick:()=>e.setMaxQty(),"data-testid":"oui-testid-orderEntry-maxQty-value-button",children:n}),jsxRuntime.jsx(ui.Text.numeral,{size:"2xs",color:o,dp:e.dp,padding:false,"data-testid":"oui-testid-orderEntry-maxQty-value",children:t?e.maxQty:0})]})]})]})},Oi=e=>{let{t}=i18n.useTranslation(),r=Sr.useMemo(()=>[{label:t("orderEntry.orderType.limitOrder"),value:types.OrderType.LIMIT},{label:t("orderEntry.orderType.marketOrder"),value:types.OrderType.MARKET},{label:t("orderEntry.orderType.stopLimit"),value:types.OrderType.STOP_LIMIT},{label:t("orderEntry.orderType.stopMarket"),value:types.OrderType.STOP_MARKET},{label:t("orderEntry.orderType.scaledOrder"),value:types.OrderType.SCALED}],[t]),o=Sr.useMemo(()=>({[types.OrderType.LIMIT]:t("orderEntry.orderType.limit"),[types.OrderType.MARKET]:t("common.marketPrice"),[types.OrderType.STOP_LIMIT]:t("orderEntry.orderType.stopLimit"),[types.OrderType.STOP_MARKET]:t("orderEntry.orderType.stopMarket"),[types.OrderType.SCALED]:t("orderEntry.orderType.scaledOrder")}),[t]);return jsxRuntime.jsx(ui.Select.options,{testid:"oui-testid-orderEntry-orderType-button",currentValue:e.type,value:e.type,options:r,onValueChange:e.onChange,contentProps:{className:"oui-bg-base-8 oui-w-full"},valueFormatter:(n,i)=>{if(!r.find(a=>a.value===n))return jsxRuntime.jsx(ui.Text,{size:"xs",children:i.placeholder});let f=o[n];return jsxRuntime.jsx(ui.Text,{size:"xs",color:e.canTrade?e.side===types.OrderSide.BUY?"buy":"sell":void 0,children:f})},size:"md"})};function Si(e){let{canTrade:t}=e,{t:r}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:"oui-space-y-[2px] xl:oui-space-y-1",children:[jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",children:r("orderEntry.estLiqPrice")}),jsxRuntime.jsx(ui.Text.numeral,{unit:e.quote,size:"2xs",dp:e.dp,className:"oui-text-base-contrast-80",unitClassName:"oui-ml-1 oui-text-base-contrast-36",children:t?e.estLiqPrice??"--":"--"})]}),jsxRuntime.jsxs(ui.Flex,{justify:"between",children:[jsxRuntime.jsx(ui.Text,{size:"2xs",children:r("leverage.accountLeverage")}),jsxRuntime.jsxs(ui.Flex,{gapX:1,className:ui.textVariants({size:"2xs",intensity:80}),children:[jsxRuntime.jsx(ui.Text.numeral,{unit:t?"x":void 0,children:t?e.currentLeverage??"--":"--"}),e.estLeverage&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("path",{d:"M2.505 4.997c0-.23.186-.416.416-.416H6.07L4.833 3.332l.586-.585 1.964 1.95a.42.42 0 0 1 .122.3.42.42 0 0 1-.122.3l-1.964 1.95-.586-.585L6.07 5.413H2.921a.416.416 0 0 1-.416-.416",fill:"#fff",fillOpacity:".54"})}),jsxRuntime.jsx("span",{children:`${e.estLeverage}x`})]})]})]}),e.orderType===types.OrderType.MARKET&&!e.disableFeatures?.includes("slippageSetting")&&jsxRuntime.jsx(gr,{slippage:e.slippage,setSlippage:e.setSlippage,estSlippage:e.estSlippage}),!e.disableFeatures?.includes("feesInfo")&&jsxRuntime.jsx(Ct,{})]})}function Pi(e){let[t,r]=Sr.useState(false);return jsxRuntime.jsxs(ui.PopoverRoot,{open:t,onOpenChange:r,children:[jsxRuntime.jsx(ui.PopoverTrigger,{asChild:true,children:jsxRuntime.jsx("button",{"data-testid":"oui-testid-orderEntry-additional-button",onClick:()=>{r(true);},children:jsxRuntime.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",className:"oui-fill-white/[.36] hover:oui-fill-white/80",children:jsxRuntime.jsx("path",{d:"M3.332 2.665a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667V3.332a.667.667 0 0 0-.667-.667zm4 0a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667V3.332a.667.667 0 0 0-.667-.667zm4 0a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667V3.332a.667.667 0 0 0-.667-.667zm-8 4a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667V7.332a.667.667 0 0 0-.667-.667zm4 0a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667V7.332a.667.667 0 0 0-.667-.667zm4 0a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667V7.332a.667.667 0 0 0-.667-.667zm-8 4a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667v-1.333a.667.667 0 0 0-.667-.667zm4 0a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667v-1.333a.667.667 0 0 0-.667-.667zm4 0a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667v-1.333a.667.667 0 0 0-.667-.667z"})})})}),jsxRuntime.jsx(ui.PopoverContent,{side:"top",align:"end",className:"oui-w-[230px]",children:jsxRuntime.jsx(We,{...e})})]})}var Ii=e=>{let{t}=i18n.useTranslation(),r=[{label:t("orderEntry.bbo.counterparty1"),value:types.BBOOrderType.COUNTERPARTY1},{label:t("orderEntry.bbo.counterparty5"),value:types.BBOOrderType.COUNTERPARTY5},{label:t("orderEntry.bbo.queue1"),value:types.BBOOrderType.QUEUE1},{label:t("orderEntry.bbo.queue5"),value:types.BBOOrderType.QUEUE5}];return jsxRuntime.jsx(ui.Select.options,{testid:"oui-testid-orderEntry-bbo-orderType-button",currentValue:e.value,value:e.value,options:r,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:(o,n)=>{let i=r.find(s=>s.value===o);return jsxRuntime.jsx(ui.Box,{children:jsxRuntime.jsx(ui.Text,{size:"sm",children:i?.label})})}})},Ni=e=>{let{symbolInfo:t,values:r,onFocus:o,onBlur:n,parseErrorMsg:i}=e,{t:s}=i18n.useTranslation(),f=r.distribution_type===types.DistributionType.CUSTOM;return jsxRuntime.jsxs("div",{className:"oui-space-y-1",children:[jsxRuntime.jsx(ee,{label:s("orderEntry.upperPrice"),suffix:t.quote,id:"order_max_price_input",value:r.max_price,error:i("max_price"),onChange:a=>{e.onChange("max_price",a);},formatters:[ui.inputFormatter.dpFormatter(t.quote_dp)],onFocus:o(5),onBlur:n(5),classNames:{root:"oui-rounded-t-xl"}}),jsxRuntime.jsx(ee,{label:s("orderEntry.lowerPrice"),suffix:t.quote,id:"order_min_price_input",value:r.min_price,error:i("min_price"),onChange:a=>{e.onChange("min_price",a);},formatters:[ui.inputFormatter.dpFormatter(t.quote_dp)],onFocus:o(4),onBlur:n(4)}),jsxRuntime.jsxs(ui.Grid,{cols:2,className:"oui-group oui-space-x-1",children:[jsxRuntime.jsx(ee,{label:s("common.qty"),suffix:t.base,id:"order_quantity_input",name:"order_quantity_input",className:"!oui-rounded-r",value:r.quantity,error:i("order_quantity"),onChange:a=>{e.onChange("order_quantity",a);},formatters:[ui.inputFormatter.dpFormatter(t.base_dp)],onFocus:o(2),onBlur:n(2)}),jsxRuntime.jsx(ee,{label:s("orderEntry.totalOrders"),placeholder:"2-20",id:"order_total_orders_input",className:"!oui-rounded-l",value:r.total_orders,error:i("total_orders"),onChange:a=>{e.onChange("total_orders",a);},overrideFormatters:[ui.inputFormatter.numberFormatter,ui.inputFormatter.dpFormatter(0)],onFocus:o(6),onBlur:n(6)})]}),jsxRuntime.jsx(ar,{value:r.distribution_type,onValueChange:a=>{e.onChange("distribution_type",a);},className:ui.cn(!f&&"oui-rounded-b-xl")}),f&&jsxRuntime.jsx(ee,{id:"order_skew_input",label:s("orderEntry.skew"),value:r.skew,error:i("skew"),onChange:a=>{e.onChange("skew",a);},onFocus:o(7),onBlur:n(7),overrideFormatters:[ui.inputFormatter.rangeFormatter({min:0,max:100,dp:2}),ui.inputFormatter.dpFormatter(2)],classNames:{root:"oui-rounded-b-xl"}})]})};var Dr=e=>Number.isNaN(Number(e))?0:Number(e),Dt=e=>{let[t,r]=hooks.useLocalStorage("orderly-order-entry-order-type",types.OrderType.LIMIT),[o,n]=hooks.useLocalStorage("orderly-order-entry-order-side",types.OrderSide.BUY),[i,s]=hooks.useLocalStorage("orderly_order_bbo_type",void 0),f=Sr.useRef(i),{formattedOrder:a,setValue:u,setValues:c,symbolInfo:d,...p}=hooks.useOrderEntry(e.symbol,{initialOrder:{symbol:e.symbol,order_type:t,side:o}}),[_,P]=hooks.useLocalStorage("orderly-order-entry-tp_sl-switch",false),{state:b}=hooks.useAccount(),{wrongNetwork:E,disabledConnect:N}=reactApp.useAppContext(),B=Sr.useMemo(()=>!E&&!N&&(b.status===types.AccountStatusEnum.EnableTrading||b.status===types.AccountStatusEnum.EnableTradingWithoutConnected),[b.status,E,N]),{currentLeverage:H}=hooks.useMarginRatio(),R=hooks.useEventEmitter(),Y=Sr.useRef(8),M=Sr.useRef(5),$=Sr.useRef(null),y=Sr.useRef(null),X=Sr.useRef(null),[fe,Ee]=Sr.useState(0),Me=Sr.useMemo(()=>Number(a.order_quantity)>=Number(p.maxQty)?1:ui.convertValueToPercentage(Number(a.order_quantity??0),0,p.maxQty)/100,[a.order_quantity,p.maxQty]),Ae=()=>{if(d.base_tick<1||a.order_type===types.OrderType.SCALED||!a.order_quantity)return;let m=hooks.utils.formatNumber(a?.order_quantity,new utils.Decimal(d?.base_tick||"0").toNumber());u("order_quantity",m,{shouldUpdateLastChangedField:false});},ge=m=>h=>{Y.current=m,[4,5].includes(Y.current)&&(M.current=m);},nt=m=>h=>{setTimeout(()=>{Y.current===m&&(Y.current=8);},300),m===2&&Ae();},Ve=()=>{c({tp_trigger_price:"",sl_trigger_price:""});},it=()=>{c({order_type_ext:void 0});},st=()=>{u("order_quantity",p.maxQty);},De=(m,h,te)=>{if(m==="order_type"&&r(h),m==="side"&&n(h),m==="reduce_only"&&h||m==="order_type"&&(h===types.OrderType.STOP_LIMIT||h===types.OrderType.STOP_MARKET)){let A={tp_trigger_price:"",sl_trigger_price:"",[m]:h};m==="order_type"&&(A.order_type_ext=""),c(A);return}if(m==="order_type"&&h!==types.OrderType.LIMIT){let A={level:void 0,order_type_ext:void 0,[m]:h};c(A);return}if(m==="order_type"&&h===types.OrderType.SCALED){c({distribution_type:types.DistributionType.FLAT,[m]:h});return}u(m,h,te);},at=m=>{P(m),m?it():Ve();},x=Sr.useMemo(()=>_||[types.OrderType.POST_ONLY,types.OrderType.IOC,types.OrderType.FOK].includes(a.order_type_ext)?"disabled":i&&a.order_type===types.OrderType.LIMIT?"on":"off",[_,a.order_type_ext,a.order_type,i]),v=()=>{i?(s(void 0),c({order_type_ext:void 0,level:void 0})):s(f.current||types.BBOOrderType.COUNTERPARTY1);},Oe=m=>{s(m),f.current=m;};Sr.useEffect(()=>{if(x==="disabled"){let{order_type_ext:m}=a;c({order_type_ext:Ie({order_type_ext:m})?void 0:m,level:void 0});}},[x,a.order_type_ext]),Sr.useEffect(()=>{if(x==="on"){let m=Wt(i,a.side),h=Gt(i);c({order_type_ext:m,level:h});}},[i,x,a.side]),Sr.useEffect(()=>{let m=h=>{u("order_price",h);};return R.on("update:orderPrice",m),()=>{R.off("update:orderPrice",m);}},[]),Sr.useEffect(()=>{let m=te=>{setTimeout(()=>{te?.focus();},0);},h=te=>{let A=utils.removeTrailingZeros(te[0]),{order_type:K,order_type_ext:Qr}=a;if(Y.current===1&&(K===types.OrderType.STOP_LIMIT||K===types.OrderType.STOP_MARKET)){u("trigger_price",A),m($.current);return}if(Ie({order_type:K,order_type_ext:Qr})){s(void 0),c({order_type_ext:void 0,level:void 0}),setTimeout(()=>{R.emit("update:orderPrice",A);},0),m(y.current);return}if(K===types.OrderType.STOP_LIMIT||K===types.OrderType.LIMIT){u("order_price",A),m(y.current);return}if(K===types.OrderType.STOP_MARKET){u("trigger_price",A),m($.current);return}if(K===types.OrderType.MARKET){s(void 0),c({order_type:types.OrderType.LIMIT,order_price:A}),m(y.current);return}if(K===types.OrderType.SCALED&&M.current){let Wr=M.current===4?"min_price":"max_price";u(Wr,A),m(y.current);return}u("order_price",A),m(y.current);};return R.on("orderbook:item:click",h),()=>{R.off("orderbook:item:click",h);}},[a,d]),Sr.useEffect(()=>{let m=X.current;if(!m)return;let h=new ResizeObserver(te=>{for(let A of te){let K=A.contentRect.width;K&&Ee(K);}});return h.observe(m),()=>{h.unobserve(m);}},[X,a.order_type_ext]),Sr.useEffect(()=>{p.reset(),p.resetMetaState();},[e.symbol]),Sr.useEffect(()=>{a.order_type===types.OrderType.SCALED&&!a.distribution_type&&u("distribution_type",types.DistributionType.FLAT);},[a.order_type,a.distribution_type]);let qe=hooks.useComputedLTV(),[qr,Ur]=Sr.useState([0,0]),Ue=hooks.useDebouncedCallback(m=>{Ur([m.asks?.[m.asks.length-1]?.[0],m.bids?.[0]?.[0]]);},200);Sr.useEffect(()=>(R.on("orderbook:update",Ue),()=>{R.off("orderbook:update",Ue),Ue.cancel();}),[Ue]);let zr=()=>{if(x==="on"&&v(),a.order_type===types.OrderType.LIMIT){let[m=0,h=0]=qr,te=new utils.Decimal(Dr(m)).add(Dr(h)).div(2).toNumber();u("order_price",te);}};return {...p,currentQtyPercentage:Me,side:a.side,type:a.order_type,level:a.level,setOrderValue:De,setOrderValues:c,currentLeverage:H,formattedOrder:a,tpslSwitch:_,setTpslSwitch:at,setMaxQty:st,symbolInfo:d,onFocus:ge,onBlur:nt,refs:{triggerPriceInputRef:$,priceInputRef:y,priceInputContainerRef:X},canTrade:B,bboStatus:x,bboType:i,onBBOChange:Oe,toggleBBO:v,priceInputContainerWidth:fe,currentLtv:qe,fillMiddleValue:zr}};var Qi=e=>{let t=Dt(e);return jsxRuntime.jsx(At,{...t,containerRef:e.containerRef,disableFeatures:e.disableFeatures})};
20
20
 
21
- exports.AdditionalInfoWidget = ze;
22
- exports.LTVRiskTooltipWidget = Ue;
23
- exports.OrderConfirmDialog = mt;
24
- exports.OrderEntry = Bt;
25
- exports.OrderEntryWidget = Mi;
26
- exports.useOrderEntryScript = At;
21
+ exports.AdditionalInfoWidget = We;
22
+ exports.LTVRiskTooltipWidget = Qe;
23
+ exports.OrderConfirmDialog = ft;
24
+ exports.OrderEntry = At;
25
+ exports.OrderEntryWidget = Qi;
26
+ exports.useOrderEntryScript = Dt;
27
27
  //# sourceMappingURL=out.js.map
28
28
  //# sourceMappingURL=index.js.map