@kodiak-finance/orderly-ui-order-entry 2.8.11 → 2.8.12-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +9 -9
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +5 -5
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +12 -12
package/dist/index.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { useLocalStorage, usePositionStream, useEventEmitter, useDebouncedCallback, useFeeState, useOrderlyContext, useMemoizedFn, useLeverageBySymbol, useOrderEntry, useMarginRatio, useComputedLTV, useHoldingStream, useTokensInfo, useIndexPricesStream, useAccount, useTrack, useQuery, useSymbolLeverage, useBoolean, utils } from '@kodiak-finance/orderly-hooks';
|
|
1
|
+
import Ai, { useId, forwardRef, useState, useImperativeHandle, useEffect, createContext, useContext, memo, useMemo, useRef, useCallback } from 'react';
|
|
2
|
+
import { useLocalStorage, usePositionStream, useEventEmitter, useDebouncedCallback, useFeeState, useOrderlyContext, useMemoizedFn, useLeverageBySymbol, useOrderEntry, usePositionStore, useEffectiveLeverage, useMarginRatio, useComputedLTV, useHoldingStream, useTokensInfo, useIndexPricesStream, useAccount, useTrack, useQuery, useSymbolLeverage, useBoolean, utils } from '@kodiak-finance/orderly-hooks';
|
|
3
3
|
import { useTranslation, i18n } from '@kodiak-finance/orderly-i18n';
|
|
4
4
|
import { useOrderEntryFormErrorMsg, useAppContext } from '@kodiak-finance/orderly-react-app';
|
|
5
5
|
import { EMPTY_LIST, DistributionType, TrailingCallbackType, OrderSide, OrderType, PositionType, BBOOrderType, AccountStatusEnum, TrackerEventName, OrderLevel } from '@kodiak-finance/orderly-types';
|
|
6
|
-
import { ExclamationFillIcon, modal, Text, Tooltip, TooltipTrigger, Flex, Input, cn
|
|
6
|
+
import { ExclamationFillIcon, modal, Text, Tooltip, TooltipTrigger, Flex, Input, cn, inputFormatter, Box, registerSimpleDialog, Grid, Checkbox, Select, Badge, Divider, textVariants, Button, TokenIcon, DataTable, SimpleDropdownMenu, CaretDownIcon, Switch, useScreen, toast, ThrottledButton, SimpleSheet, PopoverRoot, PopoverTrigger, PopoverContent, InfoCircleIcon, convertValueToPercentage, Slider, SettingFillIcon, SimpleDialog, EditIcon } from '@kodiak-finance/orderly-ui';
|
|
7
7
|
import { TPSLPositionTypeWidget, TPSLAdvancedWidget } from '@kodiak-finance/orderly-ui-tpsl';
|
|
8
8
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
9
9
|
import { pick } from 'ramda';
|
|
@@ -12,8 +12,8 @@ import { Decimal, zero, todpIfNeed, getBBOType, removeTrailingZeros } from '@kod
|
|
|
12
12
|
import { account } from '@kodiak-finance/orderly-perp';
|
|
13
13
|
import { SymbolLeverageSheetId, SymbolLeverageDialogId } from '@kodiak-finance/orderly-ui-leverage';
|
|
14
14
|
|
|
15
|
-
var De=e=>{let{pinned:t,orderTypeExtra:r}=e,{t:o}=useTranslation(),i=n=>s=>{e.onValueChange&&e.onValueChange("order_type_ext",s?n:"");};return useEffect(()=>{e.onValueChange?.("visible_quantity",e.hidden?0:1);},[e.hidden]),jsxs("div",{className:"oui-text-base-contrast-54",children:[jsxs(Flex,{justify:t?"start":"between",mb:3,width:t?"unset":"100%",className:"oui-gap-x-2 md:oui-gap-x-3",wrap:"wrap",gapY:1,children:[jsxs(Flex,{itemAlign:"center",children:[jsx(Checkbox,{"data-testid":"oui-testid-orderEntry-postOnly-checkBox",id:"toggle_order_post_only",className:"oui-peer",color:"white",variant:"radio",disabled:!e.showExtra,checked:r===OrderType.POST_ONLY,onCheckedChange:i(OrderType.POST_ONLY)}),jsx("label",{htmlFor:"toggle_order_post_only",className:cn$1("oui-ml-1 oui-text-2xs peer-data-[disabled]:oui-text-base-contrast-20","oui-whitespace-nowrap oui-break-normal"),children:o("orderEntry.orderType.postOnly")})]}),jsxs(Flex,{itemAlign:"center",children:[jsx(Checkbox,{"data-testid":"oui-testid-orderEntry-ioc-checkBox",id:"toggle_order_iov",color:"white",className:"oui-peer",variant:"radio",checked:r===OrderType.IOC,onCheckedChange:i(OrderType.IOC),disabled:!e.showExtra}),jsx("label",{htmlFor:"toggle_order_iov",className:cn$1("oui-ml-1 oui-text-2xs peer-data-[disabled]:oui-text-base-contrast-20","oui-whitespace-nowrap oui-break-normal"),children:o("orderEntry.orderType.ioc")})]}),jsxs(Flex,{itemAlign:"center",children:[jsx(Checkbox,{"data-testid":"oui-testid-orderEntry-fox-checkBox",id:"toggle_order_fok",color:"white",variant:"radio",className:"oui-peer",checked:r===OrderType.FOK,onCheckedChange:i(OrderType.FOK),disabled:!e.showExtra}),jsx("label",{htmlFor:"toggle_order_fok",className:cn$1("oui-ml-1 oui-text-2xs peer-data-[disabled]:oui-text-base-contrast-20","oui-whitespace-nowrap oui-break-normal"),children:o("orderEntry.orderType.fok")})]})]}),jsxs(Flex,{gapX:6,children:[jsxs(Flex,{children:[jsx(Checkbox,{"data-testid":"oui-testid-orderEntry-orderConfirm-checkBox",id:"toggle_order_confirm",color:"white",checked:e.needConfirm,onCheckedChange:n=>{e.setNeedConfirm(!!n);}}),jsx("label",{htmlFor:"toggle_order_confirm",className:"oui-ml-1 oui-text-2xs",children:o("orderEntry.orderConfirm")})]}),jsxs(Flex,{children:[jsx(Checkbox,{"data-testid":"oui-testid-orderEntry-hidden-checkBox",id:"toggle_order_hidden",color:"white",checked:e.hidden,onCheckedChange:n=>{e.setHidden(n);}}),jsx("label",{htmlFor:"toggle_order_hidden",className:"oui-ml-1 oui-text-2xs",children:o("orderEntry.hidden")})]})]}),!t&&jsxs(Fragment,{children:[jsx(Divider,{className:"oui-my-3"}),jsxs(Flex,{children:[jsx(Switch,{"data-testid":"oui-testid-orderEntry-additional-keepVisible-switch",id:"toggle_order_keep_visible",onCheckedChange:n=>{e.setPinned(n);}}),jsx("label",{htmlFor:"toggle_order_keep_visible",className:"oui-ml-1 oui-text-2xs",children:o("orderEntry.keepVisible")})]})]})]})};function Yr(e){let[t,r]=useState(false);return jsxs(PopoverRoot,{open:t,onOpenChange:r,children:[jsx(PopoverTrigger,{asChild:true,children:jsx("button",{"data-testid":"oui-testid-orderEntry-additional-button",onClick:()=>{r(true);},children:jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",className:"oui-fill-white/[.36] hover:oui-fill-white/80",children:jsx("path",{d:"M3.332 2.665a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667V3.332a.667.667 0 0 0-.667-.667zm4 0a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667V3.332a.667.667 0 0 0-.667-.667zm4 0a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667V3.332a.667.667 0 0 0-.667-.667zm-8 4a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667V7.332a.667.667 0 0 0-.667-.667zm4 0a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667V7.332a.667.667 0 0 0-.667-.667zm4 0a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667V7.332a.667.667 0 0 0-.667-.667zm-8 4a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667v-1.333a.667.667 0 0 0-.667-.667zm4 0a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667v-1.333a.667.667 0 0 0-.667-.667zm4 0a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667v-1.333a.667.667 0 0 0-.667-.667z"})})})}),jsx(PopoverContent,{side:"top",align:"end",className:"oui-w-[230px]",children:jsx(De,{...e})})]})}var $r="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",Zr=e=>{let[t,r]=useState($r);return jsx("button",{...e,children:jsx("svg",{width:16,height:16,viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",focusable:false,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($r);},className:"oui-text-primary-darken",children:jsx("path",{d:t})})})};function Xr(e){let{order:t,symbolInfo:r,onEdit:o,onDelete:i,errors:n}=e,{getErrorMsg:s}=useOrderEntryFormErrorMsg(n),{t:a}=useTranslation(),l=()=>{let p=s("tp_trigger_price");return t.tp_trigger_price||t.tp_order_price?jsxs(Flex,{direction:"column",itemAlign:"start",className:"oui-w-full",gap:4,children:[jsxs(Flex,{direction:"column",itemAlign:"start",justify:"between",gapY:1,className:"oui-w-full",children:[jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:a("tpsl.tpTriggerPrice")}),jsx(Text.numeral,{suffix:jsx(Text,{className:"oui-ml-1 oui-text-base-contrast-36",children:r.quote}),className:"oui-text-base-contrast",dp:r.quote_dp,children:t.tp_trigger_price??""})]}),jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:a("tpsl.tpOrderPrice")}),t.tp_order_type===OrderType.LIMIT?jsx(Text.numeral,{suffix:jsx(Text,{className:"oui-ml-1 oui-text-base-contrast-36",children:r.quote}),className:"oui-text-base-contrast",dp:r.quote_dp,children:t.tp_order_price??""}):jsx(Text,{className:"oui-text-base-contrast",children:"Market"})]}),jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:a("tpsl.totalEstTpPnl")}),jsx(Text.numeral,{suffix:jsx(Text,{className:"oui-ml-1 oui-text-base-contrast-36",children:r.quote}),coloring:true,dp:2,children:Number(t.tp_pnl)})]})]}),p&&jsxs(Flex,{justify:"start",itemAlign:"start",gap:2,className:"oui-w-full",children:[jsx("div",{className:"oui-relative oui-top-[7px] oui-size-1 oui-rounded-full oui-bg-danger"}),jsx(Text,{className:"oui-text-danger",children:p})]})]}):null},c=()=>{if(t.sl_trigger_price||t.sl_order_price){let p=s("sl_trigger_price");return jsx(Flex,{direction:"column",itemAlign:"start",className:"oui-w-full",gap:4,children:jsxs(Flex,{direction:"column",itemAlign:"start",justify:"between",gapY:1,className:"oui-w-full",children:[jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:a("tpsl.slTriggerPrice")}),jsx(Text.numeral,{suffix:jsx(Text,{className:"oui-ml-1 oui-text-base-contrast-36",children:r.quote}),className:"oui-text-base-contrast",dp:r.quote_dp,children:t.sl_trigger_price??""})]}),jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:a("tpsl.slOrderPrice")}),t.sl_order_type===OrderType.LIMIT?jsx(Text.numeral,{suffix:jsx(Text,{className:"oui-ml-1 oui-text-base-contrast-36",children:r.quote}),className:"oui-text-base-contrast",dp:r.quote_dp,children:t.sl_order_price??""}):jsx(Text,{className:"oui-text-base-contrast",children:"Market"})]}),jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:a("tpsl.totalEstSlPnl")}),jsx(Text.numeral,{coloring:true,suffix:jsx(Text,{className:"oui-ml-1 oui-text-base-contrast-36",children:r.quote}),dp:2,children:Number(t.sl_pnl)})]}),p&&jsxs(Flex,{justify:"start",itemAlign:"start",gap:2,className:"oui-w-full",children:[jsx("div",{className:"oui-relative oui-top-[7px] oui-size-1 oui-rounded-full oui-bg-danger"}),jsx(Text,{className:"oui-text-danger",children:p})]})]})})}return null};return jsxs(Flex,{direction:"column",itemAlign:"start",className:"oui-w-full oui-text-2xs",gap:4,children:[jsxs(Flex,{justify:"between",itemAlign:"start",className:"oui-w-full",children:[jsx(Text,{children:a("tpsl.advanced.title")}),jsxs(Flex,{gap:2,children:[jsx(dn,{size:12,className:"oui-cursor-pointer oui-text-base-contrast-54 hover:oui-text-base-contrast",opacity:1,onClick:i}),jsx(cn,{size:12,className:"oui-cursor-pointer oui-text-base-contrast-54 hover:oui-text-base-contrast",onClick:o})]})]}),jsxs(Flex,{justify:"between",itemAlign:"start",className:"oui-w-full",children:[jsx(Text,{children:a("tpsl.mode")}),jsx(Text,{className:"oui-text-base-contrast",children:t.position_type===PositionType.FULL?a("tpsl.fullPosition"):a("tpsl.partialPosition")})]}),l(),c(),jsx(Divider,{className:"oui-mb-2 oui-w-full"})]})}var dn=e=>jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:e.size,height:e.size,viewBox:"0 0 12 12",fill:"currentColor",...e,children:jsx("path",{d:"M5.99903 0.976562C5.44653 0.976562 4.99903 1.42406 4.99903 1.97656H2.49902C2.22302 1.97656 1.99902 2.20056 1.99902 2.47656C1.99902 2.75256 2.22302 2.97656 2.49902 2.97656H9.49903C9.77503 2.97656 9.99903 2.75256 9.99903 2.47656C9.99903 2.20056 9.77503 1.97656 9.49903 1.97656H6.99903C6.99903 1.42406 6.55153 0.976562 5.99903 0.976562ZM2.49902 3.97655V8.97654C2.49902 10.0715 3.40152 10.961 4.49903 10.961L7.51453 10.9765C8.61203 10.9765 9.49903 10.074 9.49903 8.97654V3.97655H2.49902ZM4.99903 5.47655C5.27503 5.47655 5.49903 5.70055 5.49903 5.97655V8.97654C5.49903 9.25254 5.27503 9.47654 4.99903 9.47654C4.72303 9.47654 4.49903 9.25254 4.49903 8.97654V5.97655C4.49903 5.70055 4.72303 5.47655 4.99903 5.47655ZM6.99903 5.47655C7.27503 5.47655 7.49903 5.70055 7.49903 5.97655V8.97654C7.49903 9.25254 7.27503 9.47654 6.99903 9.47654C6.72303 9.47654 6.49903 9.25254 6.49903 8.97654V5.97655C6.49903 5.70055 6.72303 5.47655 6.99903 5.47655Z"})}),cn=e=>jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 12 12",width:e.size,height:e.size,fill:"currentColor",...e,children:jsx("path",{d:"M8.49779 0.976562C8.36529 0.976562 8.23229 1.02357 8.13829 1.11707C7.86029 1.39507 6.85979 2.39558 6.63779 2.61808L2.13529 7.12059L1.63479 7.62059C1.56529 7.69059 1.52929 7.78958 1.50979 7.88658L1.00979 10.3881C0.939788 10.7381 1.23779 11.0361 1.58779 10.9666C1.90079 10.9036 3.77679 10.5286 4.08929 10.4661C4.18629 10.4466 4.28529 10.4106 4.35529 10.3411L4.85529 9.84059L9.35779 5.33808C9.58029 5.11608 10.5808 4.11506 10.8588 3.83756C10.9523 3.74356 10.9993 3.61056 10.9993 3.47806C10.9993 2.65956 10.7908 2.07456 10.3583 1.63306C9.92179 1.18756 9.33879 0.976562 8.49779 0.976562ZM8.69479 1.98606C9.14629 2.01256 9.43879 2.11608 9.63929 2.32108C9.84429 2.53008 9.97379 2.82008 10.0018 3.26258C9.72779 3.53608 9.32679 3.93106 8.99829 4.25956C8.60179 3.86306 8.11279 3.37407 7.71629 2.97757C8.04529 2.64907 8.42129 2.25956 8.69479 1.98606ZM6.99729 3.69657L8.27929 4.97858L4.49579 8.76207L3.21379 7.48009L6.99729 3.69657ZM2.49479 8.19908L3.77679 9.48107L3.72979 9.52809C3.39979 9.59409 2.73329 9.73359 2.11929 9.85659L2.44779 8.24608L2.49479 8.19908Z"})});var Je=ki.forwardRef((e,t)=>{let r=useId();return jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:14,height:14,viewBox:"0 0 14 14",fill:"currentColor",ref:t,focusable:false,...e,children:[jsx("path",{d:"M6.16411 1.53106C6.61974 1.07566 7.35888 1.07551 7.81442 1.53106L8.48833 2.20496C8.6797 2.39624 8.93064 2.51452 9.19755 2.54106L9.3132 2.54676H10.2662C10.9104 2.54691 11.4328 3.06926 11.4329 3.71343V4.66647C11.4329 4.97589 11.5559 5.27312 11.7747 5.49191L12.4492 6.16582C12.9047 6.62142 12.9047 7.36054 12.4492 7.81613L11.7753 8.49004L11.6972 8.57549C11.5272 8.78302 11.433 9.04426 11.4329 9.31491V10.2685L11.4272 10.3876C11.3715 10.9366 10.9348 11.373 10.3859 11.4289L10.2662 11.4352H9.3132L9.19755 11.4409C8.93066 11.4674 8.67969 11.5857 8.48833 11.777L7.81442 12.4509L7.72555 12.5306C7.29789 12.8795 6.68066 12.8794 6.25297 12.5306L6.16411 12.4509L5.4902 11.777C5.29887 11.5857 5.04786 11.4675 4.78097 11.4409L4.66533 11.4352H3.71171L3.59265 11.4289C3.04358 11.3731 2.60705 10.9367 2.55131 10.3876L2.54505 10.2685V9.31491C2.54499 9.04416 2.45089 8.78306 2.28072 8.57549L2.20325 8.49004L1.52934 7.81613C1.10213 7.38905 1.07534 6.71297 1.44902 6.25469L1.52934 6.16582L2.20382 5.49191C2.42248 5.27314 2.54505 4.97579 2.54505 4.66647V3.71343C2.54513 3.10945 3.00442 2.61221 3.59265 2.55246L3.71171 2.54676H4.66533L4.78097 2.54106C5.00968 2.51826 5.22694 2.4281 5.40475 2.28244L5.4902 2.20496L6.16411 1.53106ZM6.31507 3.02983C5.87756 3.46727 5.28401 3.71336 4.66533 3.71343H3.71171V4.66647C3.71171 5.28521 3.46614 5.87922 3.02869 6.31678L2.35421 6.99069L3.02812 7.6646C3.46577 8.10214 3.71164 8.69607 3.71171 9.31491V10.2685H4.66533C5.28396 10.2686 5.87757 10.5142 6.31507 10.9515L6.98898 11.6255L7.66289 10.9515C8.10045 10.5141 8.69446 10.2685 9.3132 10.2685H10.2662V9.31491C10.2663 8.69604 10.5127 8.10214 10.9504 7.6646L11.6243 6.99069L10.9498 6.31678C10.5122 5.8792 10.2662 5.28531 10.2662 4.66647V3.71343H9.3132C8.69438 3.71343 8.10047 3.46739 7.66289 3.02983L6.98898 2.35592L6.31507 3.02983ZM8.52934 4.64255C8.7571 4.41479 9.12639 4.41489 9.35421 4.64255C9.58202 4.87035 9.58202 5.23961 9.35421 5.46742L5.4657 9.35593C5.2379 9.58372 4.86863 9.58373 4.64083 9.35593C4.41318 9.12811 4.41308 8.75881 4.64083 8.53106L8.52934 4.64255ZM8.66435 7.83265C9.1245 7.83272 9.49777 8.2059 9.49777 8.66607C9.49769 9.12616 9.12445 9.49941 8.66435 9.49948C8.20419 9.49948 7.83101 9.12621 7.83094 8.66607C7.83094 8.20586 8.20415 7.83265 8.66435 7.83265ZM5.33126 4.49956C5.79141 4.49963 6.16468 4.87282 6.16468 5.33298C6.1646 5.79307 5.79136 6.16575 5.33126 6.16582C4.87111 6.16582 4.49793 5.79311 4.49785 5.33298C4.49785 4.87277 4.87106 4.49956 5.33126 4.49956Z",fill:`url(#${r})`}),jsx("defs",{children:jsxs("linearGradient",{id:r,x1:"12.7908",y1:"6.99084",x2:"1.1875",y2:"6.99084",gradientUnits:"userSpaceOnUse",children:[jsx("stop",{stopColor:"rgb(var(--oui-gradient-brand-end))"}),jsx("stop",{stopColor:"rgb(var(--oui-gradient-brand-start))",offset:1})]})})]})});process.env.NODE_ENV!=="production"&&(Je.displayName="EffectiveFee");var xn=e=>{let{content:t}=e,{isMobile:r}=useScreen(),{t:o}=useTranslation();return r?jsx(Je,{onClick:()=>{modal.dialog({title:o("common.tips"),content:t});}}):jsx(Tooltip,{content:t,className:"oui-p-1.5 oui-text-base-contrast-54",children:jsx(Je,{className:"oui-cursor-pointer"})})},Dt=e=>{let{t}=useTranslation(),{effectiveTakerFee:r,effectiveMakerFee:o}=e;return jsxs(Flex,{itemAlign:"center",justify:"between",width:"100%",gap:1,children:[jsxs(Flex,{width:"100%",itemAlign:"center",justify:"between",children:[jsx(Text,{className:"oui-truncate",size:"2xs",children:t("common.fees")}),jsx(AuthGuard,{fallback:()=>jsxs(Text,{className:"oui-truncate",size:"2xs",children:[t("portfolio.feeTier.column.taker"),": --% /"," ",t("portfolio.feeTier.column.maker"),": --%"]}),children:jsxs(Flex,{gap:1,children:[jsxs(Text,{className:"oui-truncate",size:"2xs",children:[t("portfolio.feeTier.column.taker"),":"]}),jsx(Text,{size:"2xs",className:"oui-text-base-contrast-80",children:r}),jsx(Text,{size:"2xs",children:"/"}),jsxs(Text,{className:"oui-truncate",size:"2xs",children:[t("portfolio.feeTier.column.maker"),":"]}),jsx(Text,{size:"2xs",className:"oui-text-base-contrast-80",children:o})]})})]}),jsx(xn,{content:t("portfolio.feeTier.effectiveFee.tooltip")})]})};var zt=e=>jsx(Dt,{...e});var Qt=e=>{let{t}=useTranslation(),{takerFee:r,makerFee:o}=e;return jsx(Flex,{itemAlign:"center",justify:"between",width:"100%",gap:1,children:jsxs(Flex,{width:"100%",itemAlign:"center",justify:"between",children:[jsx(Text,{className:"oui-truncate",size:"2xs",children:t("common.fees")}),jsx(AuthGuard,{fallback:()=>jsxs(Text,{className:"oui-truncate",size:"2xs",children:[t("portfolio.feeTier.column.taker"),": --% /"," ",t("portfolio.feeTier.column.maker"),": --%"]}),children:jsxs(Flex,{gap:1,children:[jsxs(Text,{className:"oui-truncate",size:"2xs",children:[t("portfolio.feeTier.column.taker"),":"]}),jsx(Text,{size:"2xs",className:"oui-text-base-contrast-80",children:r}),jsx(Text,{size:"2xs",children:"/"}),jsxs(Text,{className:"oui-truncate",size:"2xs",children:[t("portfolio.feeTier.column.maker"),":"]}),jsx(Text,{size:"2xs",className:"oui-text-base-contrast-80",children:o})]})})]})})};var Gt=e=>jsx(Qt,{...e});var Pn=e=>typeof e<"u"&&e!==null,Wt=()=>{let{refereeRebate:e,...t}=useFeeState();return Pn(e)?jsx(zt,{...pick(["effectiveTakerFee","effectiveMakerFee"],t)}):jsx(Gt,{...pick(["takerFee","makerFee"],t)})};var so=[.01,.05,.1],lo=forwardRef((e,t)=>{let{t:r}=useTranslation(),[o,i]=useState(),[n,s]=useState(""),[a,l]=useState(void 0);useImperativeHandle(t,()=>({getValue:()=>n?new Decimal(n)?.toNumber():o})),useEffect(()=>{e.initialValue&&!so.includes(e.initialValue)?s(e.initialValue.toString()):i(e.initialValue);},[e.initialValue,open]);let c=m=>{i(m),s(""),l(void 0);},p=m=>{if(!m){s(m);return}let d=new Decimal(m);i(void 0),d.gt(3)?(s("3"),l(r("orderEntry.slippage.error.exceed"))):(s(m),l(void 0));},u=e.isMobile?jsx("button",{onClick:()=>{modal.alert({title:r("common.tips"),message:jsx(Text,{size:"2xs",children:r("orderEntry.slippage.tips")})});},children:jsx(ExclamationFillIcon,{className:"oui-text-base-contrast-54",size:16})}):jsx(Tooltip,{content:jsx(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:jsx(TooltipTrigger,{children:jsx(ExclamationFillIcon,{className:"oui-text-base-contrast-54",size:16})})});return jsxs("div",{className:"oui-text-2xs",children:[jsxs(Flex,{mb:2,gapX:1,children:[jsx(Text,{size:"xs",children:r("orderEntry.slippage")}),u]}),jsxs(Flex,{gapX:2,children:[so.map(m=>jsx(Rn,{value:m,isActive:o===m,onClick:()=>{c(m);}},m)),jsx(Input,{suffix:"%",formatters:[inputFormatter.numberFormatter,inputFormatter.dpFormatter(2)],value:n,onValueChange:p,classNames:{root:cn$1("oui-rounded-md oui-bg-base-6","oui-h-[40px] oui-w-[74px]"),input:"oui-text-base-contrast",additional:"oui-pl-1"}})]}),!!a&&jsx(Box,{mt:5,className:"-oui-mb-5",children:jsx(Text,{size:"2xs",color:"danger",children:a})})]})}),Rn=({value:e,isActive:t,onClick:r})=>jsx(Flex,{intensity:600,justify:"center",itemAlign:"center",r:"md",width:74,height:40,className:cn$1("oui-cursor-pointer oui-select-none",t&&"oui-bg-primary-light"),onClick:r,children:jsxs(Text,{size:"sm",intensity:80,children:[e,"%"]})});var uo=e=>{let{t}=useTranslation(),[r,{setTrue:o,setFalse:i,toggle:n}]=useBoolean(false),{isMobile:s}=useScreen(),a=useRef(null),l=()=>{let c=a.current?.getValue();return e.setSlippage(c?c.toString():"1"),i(),Promise.resolve(true)};return jsxs(Fragment,{children:[jsx(SimpleDialog,{open:r,onOpenChange:n,title:t("common.settings"),contentProps:{size:s?"xs":"sm"},actions:{primary:{disabled:false,label:t("common.save"),onClick:l},secondary:{label:t("common.cancel"),onClick:()=>i()}},children:jsx(lo,{ref:a,isMobile:s,initialValue:e.slippage?Number(e.slippage):void 0})}),jsxs(Flex,{justify:"between",children:[jsx(Text,{size:"2xs",children:t("orderEntry.slippage")}),jsx(AuthGuard,{fallback:()=>jsxs(Text,{size:"2xs",children:[t("orderEntry.slippage.est"),": -% / ",t("common.max"),": --%"]}),children:jsxs(Flex,{gap:1,children:[jsx(Text.numeral,{size:"2xs",rule:"percentages",prefix:`${t("orderEntry.slippage.est")}: `,suffix:` / ${t("common.max")}: `,children:e.estSlippage??0}),jsx("button",{className:"oui-text-2xs",onClick:()=>o(),children:jsxs(Flex,{className:"oui-gap-0.5",as:"span",children:[jsx(Text,{size:"2xs",className:"oui-text-primary",children:`${e.slippage||"-"}%`}),jsx(EditIcon,{className:"oui-text-primary oui-hidden md:oui-block",size:12,opacity:1})]})})]})})]})]})};var co=e=>jsx(uo,{...e});function fo(e){let{canTrade:t,disableFeatures:r,orderType:o}=e,{t:i}=useTranslation();return jsxs("div",{className:"oui-space-y-[2px] xl:oui-space-y-1",children:[jsxs(Flex,{justify:"between",children:[jsx(Text,{size:"2xs",children:i("orderEntry.estLiqPrice")}),jsx(Text.numeral,{unit:e.quote,size:"2xs",dp:e.dp,className:"oui-text-base-contrast-80",unitClassName:"oui-ml-1 oui-text-base-contrast-36",children:t?e.estLiqPrice??"--":"--"})]}),o===OrderType.MARKET&&!r?.includes("slippageSetting")&&jsx(co,{slippage:e.slippage,setSlippage:e.setSlippage,estSlippage:e.estSlippage}),!r?.includes("feesInfo")&&jsx(Wt,{})]})}var jn=e=>e>=0&&e<50?"oui-text-success":e>=50&&e<80?"oui-text-warning":e>=80?"oui-text-danger":"",$t=e=>{let{t}=useTranslation(),{ltv_threshold:r,negative_usdc_threshold:o,isThresholdLoading:i,holdingData:n=[],currentLtv:s,onConvert:a}=e;return jsxs(Flex,{gap:1,className:"oui-w-72 oui-max-w-72",direction:"column",children:[jsxs(Flex,{width:"100%",justify:"between",itemAlign:"center",children:[jsx(Text,{intensity:36,size:"xs",children:t("common.assets")}),jsx(Text,{intensity:36,size:"xs",children:t("transfer.deposit.collateralContribution")})]}),n.map((l,c)=>jsxs(Flex,{width:"100%",justify:"between",itemAlign:"center",children:[jsx(Text,{intensity:80,size:"xs",children:l.token}),jsx(Text,{size:"xs",intensity:80,className:cn$1(Number(l.collateralContribution)<0&&"oui-text-warning"),children:removeTrailingZeros(l.collateralContribution)})]},`item-${c}`)),jsx(Divider,{className:"oui-w-full"}),jsxs(Flex,{width:"100%",justify:"between",itemAlign:"center",children:[jsx(Text,{intensity:36,size:"xs",children:t("transfer.LTV.currentLTV")}),jsxs(Text,{size:"xs",intensity:36,className:cn$1("oui-select-none",jn(s)),children:[s,"%"]})]}),jsx(Text,{className:"oui-py-2",intensity:54,size:"2xs",children:t("transfer.LTV.tooltip",{threshold:i?"-":r,usdcThreshold:i?"-":o})}),jsx(Button,{fullWidth:true,size:"md",variant:"outlined",color:"secondary",onClick:a,children:t("transfer.convert.convertAssets")})]})};var as=()=>{let{data:e,error:t,isLoading:r}=useQuery("/v1/public/auto_convert_threshold",{errorRetryCount:3});return {ltv_threshold:new Decimal(e?.ltv_threshold??0).mul(100).toNumber(),negative_usdc_threshold:e?.negative_usdc_threshold,isLoading:r,error:t}},Zt=()=>{let{data:e=[],isLoading:t}=useHoldingStream(),{ltv_threshold:r,negative_usdc_threshold:o,isLoading:i}=as(),n=useTokensInfo(),{getIndexPrice:s}=useIndexPricesStream(),a=e.map(p=>{let u=n?.find(({token:T})=>T===p.token),m=s(p.token),d=u?account.collateralRatio({baseWeight:u.base_weight??0,discountFactor:u.discount_factor??0,collateralQty:p.holding,collateralCap:u?.user_max_qty??p.holding,indexPrice:m}):zero,C=account.collateralContribution({collateralQty:p.holding,collateralCap:u?.user_max_qty??p.holding,collateralRatio:d.toNumber(),indexPrice:m});return {...p,collateralContribution:C}}),l=useComputedLTV(),c=useCallback(async()=>modal.show("ConvertDialogId"),[]);return {holdingData:a,isHoldingLoading:t,ltv_threshold:r,negative_usdc_threshold:o,isThresholdLoading:i,currentLtv:l,onConvert:c}};var it=()=>{let e=Zt();return jsx($t,{...e})};var _o=e=>{let{canTrade:t,currentLtv:r,quote:o,freeCollateral:i}=e,{t:n}=useTranslation(),s=useMemo(()=>typeof r=="number"&&!Number.isNaN(r)&&r>0,[r]);return jsxs(Flex,{itemAlign:"center",justify:"between",children:[jsx(Text,{size:"2xs",children:n("common.available")}),jsxs(Flex,{itemAlign:"center",justify:"center",gap:1,children:[s&&jsx(Tooltip,{className:"oui-bg-base-6 oui-p-2",content:jsx(it,{}),children:jsx(InfoCircleIcon,{className:"oui-cursor-pointer oui-text-warning oui-opacity-80"})}),jsx(Text.numeral,{unit:o,size:"2xs",className:"oui-text-base-contrast-80",unitClassName:"oui-ml-1 oui-text-base-contrast-54",dp:2,padding:false,children:t?i:0})]})]})};function Fe(e){let{order_type:t,order_type_ext:r}=e,o=[OrderType.ASK,OrderType.BID].includes(r);return t?t===OrderType.LIMIT&&o:o}function Oo(e,t){if([BBOOrderType.COUNTERPARTY1,BBOOrderType.COUNTERPARTY5].includes(e))return t===OrderSide.BUY?OrderType.ASK:OrderType.BID;if([BBOOrderType.QUEUE1,BBOOrderType.QUEUE5].includes(e))return t===OrderSide.BUY?OrderType.BID:OrderType.ASK}function Po(e){if([BBOOrderType.COUNTERPARTY1,BBOOrderType.QUEUE1].includes(e))return OrderLevel.ONE;if([BBOOrderType.COUNTERPARTY5,BBOOrderType.QUEUE5].includes(e))return OrderLevel.FIVE}function ho(e){let t=e?.data?.rows||[];if(t.length>0){let r=t.length,o=t.filter(i=>i.success).length;return o===r?i18n.t("orderEntry.scaledOrder.fullySuccessful",{total:r}):o===0?i18n.t("orderEntry.scaledOrder.allFailed"):i18n.t("orderEntry.scaledOrder.partiallySuccessful",{successCount:o,total:r})}}var Xt=e=>Number.isNaN(Number(e))?0:Number(e);var rr=e=>{let{symbolInfo:t,order:r,onConfirm:o,onCancel:i}=e,{quote:n,quote_dp:s,base_dp:a}=t,{side:l,order_type:c,order_type_ext:p,level:u,symbol:m}=r,{t:d}=useTranslation(),[{rows:C}]=usePositionStream(m),O=C?.[0]?.position_qty,[h,L]=useLocalStorage("orderly_order_confirm",true),E=()=>r.position_type===PositionType.FULL?jsx(Text,{children:d("tpsl.positionType.full")}):jsx(Text,{children:d("tpsl.positionType.partial")}),Z=()=>{if(c===OrderType.MARKET||c===OrderType.STOP_MARKET)return jsx(Text,{intensity:80,children:d("common.marketPrice")});if(Fe({order_type:c,order_type_ext:p})){let B=getBBOType({type:p,side:l,level:u}),j={[BBOOrderType.COUNTERPARTY1]:d("orderEntry.bbo.counterparty1"),[BBOOrderType.COUNTERPARTY5]:d("orderEntry.bbo.counterparty5"),[BBOOrderType.QUEUE1]:d("orderEntry.bbo.queue1"),[BBOOrderType.QUEUE5]:d("orderEntry.bbo.queue5")}[B];return jsx(Text,{intensity:80,children:j})}return jsx(Text.numeral,{unit:n,rule:"price",className:"oui-text-base-contrast",unitClassName:"oui-text-base-contrast-36 oui-ml-1",dp:s,padding:false,children:r.order_price})},F=({price:B,isOrderPrice:j,isEnable:ie,colorType:xe})=>ie?!B&&j?jsx(Text,{className:"oui-text-base-contrast-36",children:d("common.marketPrice")}):jsx(Text.numeral,{unit:"USDC",rule:"price",className:cn$1("oui-text-base-contrast",xe==="TP"?"oui-text-trade-profit":"oui-text-trade-loss"),unitClassName:"oui-text-base-contrast-36 oui-ml-1",dp:s,padding:false,children:B}):jsx(Text,{className:"oui-text-base-contrast-36",children:"-- USDC"}),ue=()=>{if(!O||!r.order_quantity)return null;let B=new Decimal(r.order_quantity);return r.position_type===PositionType.FULL&&(B=B.plus(new Decimal(O??0))),jsxs(Flex,{justify:"between",children:[jsx(Text,{children:r.position_type===PositionType.FULL?d("common.positionQty"):d("common.orderQty")}),jsx(Text.numeral,{rule:"price",dp:a,padding:false,className:"oui-text-base-contrast",children:B.toNumber()})]})},ye=()=>{if(c===OrderType.TRAILING_STOP){let{activated_price:B,callback_value:j,callback_rate:ie}=r,xe=ie?jsxs(Flex,{justify:"between",children:[jsx(Text,{children:d("orderEntry.trailingRate")}),jsxs(Text,{className:"oui-text-base-contrast",children:[ie,"%"]})]}):jsx(st,{title:d("orderEntry.trailingValue"),value:j,unit:n,dp:s});return jsxs(Fragment,{children:[B&&jsx(st,{title:d("common.triggerPrice"),value:B,unit:n,dp:s}),xe]})}return jsxs(Fragment,{children:[jsxs(Flex,{justify:"between",children:[jsx(Text,{children:d("common.price")}),Z()]}),jsx(st,{title:d("common.estTotal"),value:r.total,unit:n,dp:s})]})},U=jsxs(Flex,{justify:"between",children:[jsx(Text.formatted,{rule:"symbol",showIcon:true,children:r.symbol}),jsxs(Flex,{justify:"end",gapX:1,children:[jsx(Os,{type:c}),l===OrderSide.BUY?jsx(Badge,{color:"buy",size:"sm",children:d("common.buy")}):jsx(Badge,{color:"sell",size:"sm",children:d("common.sell")})]})]}),K=jsxs(Flex,{justify:"between",children:[jsx(Text,{children:d("common.orderQty")}),jsx(Text.numeral,{rule:"price",dp:a,padding:false,className:"oui-text-base-contrast",children:r.order_quantity})]}),f=(c===OrderType.STOP_LIMIT||c===OrderType.STOP_MARKET&&r.trigger_price)&&jsx(st,{title:d("common.trigger"),value:r.trigger_price,unit:n,dp:s}),Y=(r.tp_trigger_price||r.sl_trigger_price)&&jsxs(Fragment,{children:[jsx(Divider,{className:"oui-my-4"}),jsxs("div",{className:textVariants({size:"sm",intensity:54,className:"oui-space-y-1 oui-w-full oui-flex oui-flex-col oui-gap-3"}),children:[jsx(Text,{className:"oui-text-base-contrast",children:E()}),ue(),jsxs(Flex,{direction:"column",justify:"between",itemAlign:"start",gap:1,className:"oui-w-full",children:[jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:d("tpsl.tpTriggerPrice")}),F({price:r.tp_trigger_price??"",isOrderPrice:false,isEnable:!!r.tp_trigger_price,colorType:"TP"})]}),jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:d("tpsl.tpOrderPrice")}),F({price:r.tp_order_price??"",isOrderPrice:true,isEnable:!!r.tp_trigger_price,colorType:"TP"})]})]}),jsxs(Flex,{direction:"column",justify:"between",itemAlign:"start",gap:1,className:"oui-w-full",children:[jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:d("tpsl.slTriggerPrice")}),F({price:r.sl_trigger_price??"",isOrderPrice:false,isEnable:!!r.sl_trigger_price,colorType:"SL"})]}),jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:d("tpsl.slOrderPrice")}),F({price:r.sl_order_price??"",isOrderPrice:true,isEnable:!!r.sl_trigger_price,colorType:"SL"})]})]})]})]}),de=jsxs(Flex,{gapX:1,pt:4,pb:5,children:[jsx(Checkbox,{id:"orderConfirm",color:"white",onCheckedChange:B=>{L(!B);}}),jsx("label",{htmlFor:"orderConfirm",className:textVariants({size:"xs",intensity:54}),children:d("orderEntry.disableOrderConfirm")})]}),be=jsxs(Grid,{cols:2,gapX:3,children:[jsx(Button,{color:"secondary",size:"md",onClick:()=>i(),children:d("common.cancel")}),jsx(Button,{size:"md",onClick:()=>o(),children:d("common.confirm")})]});return jsxs(Fragment,{children:[U,jsx(Divider,{className:"oui-my-4"}),jsxs("div",{className:textVariants({size:"sm",intensity:54,className:"oui-space-y-1"}),children:[K,f,ye()]}),Y,de,be]})},st=e=>{let{title:t,value:r,unit:o,dp:i}=e;return jsxs(Flex,{justify:"between",children:[jsx(Text,{children:t}),jsx(Text.numeral,{unit:o,rule:"price",dp:i,padding:false,className:"oui-text-base-contrast",unitClassName:"oui-text-base-contrast-36 oui-ml-1",children:r})]})};rr.displayName="OrderConfirmDialog";var Os=e=>{let{t}=useTranslation(),r=useMemo(()=>{switch(e.type){case OrderType.LIMIT:return t("orderEntry.orderType.limit");case OrderType.MARKET:return t("common.marketPrice");case OrderType.STOP_LIMIT:return t("orderEntry.orderType.stopLimit");case OrderType.STOP_MARKET:return t("orderEntry.orderType.stopMarket");case OrderType.TRAILING_STOP:return t("orderEntry.orderType.trailingStop");default:return ""}},[e.type]);return jsx(Badge,{color:"neutral",size:"sm",children:r})},Ps=e=>{let{close:t,resolve:r,reject:o,...i}=e;return jsx(rr,{...i,onCancel:()=>{o(),t();},onConfirm:()=>{r(),t();}})},or="orderConfirm";registerSimpleDialog(or,Ps,{size:"sm",title:()=>i18n.t("orderEntry.orderConfirm")});var sr=e=>{let{order:t,symbolInfo:r,dataSource:o,national:i,askAndBid:n,totalQuantity:s}=e,{base:a,quote:l,base_dp:c,quote_dp:p}=r,{t:u}=useTranslation(),m=()=>{e.reject(),e.close?.();},d=()=>{e.resolve(),e.close?.();},C=useMemo(()=>[{title:u("common.symbol"),dataIndex:"symbol",width:125,render:(T,O)=>jsxs(Flex,{gap:2,children:[jsx("div",{className:cn$1("oui-h-[38px] oui-w-1 oui-shrink-0 oui-rounded-[1px]",O.side===OrderSide.BUY?"oui-bg-trade-profit":"oui-bg-trade-loss")}),jsxs(Flex,{direction:"column",itemAlign:"start",children:[jsxs(Flex,{gapX:1,children:[jsx(TokenIcon,{symbol:T,className:"oui-size-3"}),jsx(Text.formatted,{rule:"symbol",size:"xs",formatString:"base-type",children:T})]}),jsx(Badge,{color:"neutral",size:"xs",children:u("orderEntry.orderType.limit")})]})]})},{title:u("common.quantity"),dataIndex:"order_quantity",width:100,render:(T,O)=>jsx(Text.numeral,{rule:"price",dp:c,padding:false,color:O.side===OrderSide.BUY?"buy":"sell",children:T})},{title:u("common.orderPrice"),dataIndex:"order_price",width:100,render:(T,O)=>{let h=!!(O.side===OrderSide.BUY?n?.[0]&&Number(T)>=n?.[0]:n?.[1]&&Number(T)<=n?.[1]);return jsxs(Flex,{gapX:1,children:[jsx(Text.numeral,{rule:"price",dp:p,children:T}),h&&jsx(Tooltip,{content:u("orderEntry.confirmScaledOrder.orderPrice.warning"),className:"oui-w-[240px] oui-text-2xs oui-font-semibold oui-text-base-contrast-80",children:jsx(ws,{className:"oui-text-warning-darken"})})]})}}],[u,r,n,c,p]);return jsxs("div",{className:"oui-font-semibold",children:[jsx(DataTable,{classNames:{root:cn$1("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:C,bordered:true,onRow:()=>({className:cn$1("oui-h-[50px]")})}),jsxs("div",{className:"oui-mb-5 oui-mt-4 oui-text-2xs",children:[jsxs(Flex,{justify:"between",children:[jsx(Text,{children:u("orderEntry.totalOrders")}),jsx(Text,{intensity:80,children:t.orders?.length})]}),jsxs(Flex,{justify:"between",mt:2,children:[jsx(Text,{children:u("orderEntry.totalQuantity")}),jsx(Text.numeral,{rule:"price",unit:a,dp:c,padding:false,intensity:80,unitClassName:"oui-text-base-contrast-36 oui-ml-1",children:s})]}),jsxs(Flex,{justify:"between",mt:2,children:[jsx(Text,{children:u("common.notional")}),jsx(Text.numeral,{rule:"price",unit:l,dp:p,padding:false,intensity:80,unitClassName:"oui-text-base-contrast-36 oui-ml-1",children:i})]})]}),jsxs(Grid,{cols:2,gapX:3,children:[jsx(Button,{color:"secondary",size:"md",onClick:m,children:u("common.cancel")}),jsx(Button,{size:"md",onClick:d,children:u("common.confirm")})]})]})},ws=forwardRef((e,t)=>jsx("svg",{width:"12",height:"13",viewBox:"0 0 12 13",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",ref:t,...e,children:jsx("path",{d:"M5.99951 1.50708C3.23811 1.50708 0.999512 3.74558 0.999512 6.50708C0.999512 9.26858 3.23811 11.5071 5.99951 11.5071C8.76091 11.5071 10.9995 9.26858 10.9995 6.50708C10.9995 3.74558 8.76091 1.50708 5.99951 1.50708ZM5.99951 4.00708C6.27566 4.00708 6.49951 4.23108 6.49951 4.50708C6.49951 4.78308 6.27566 5.00708 5.99951 5.00708C5.72336 5.00708 5.49951 4.78308 5.49951 4.50708C5.49951 4.23108 5.72336 4.00708 5.99951 4.00708ZM5.99951 5.50708C6.27566 5.50708 6.49951 5.73108 6.49951 6.00708V8.50708C6.49951 8.78308 6.27566 9.00708 5.99951 9.00708C5.72336 9.00708 5.49951 8.78308 5.49951 8.50708V6.00708C5.49951 5.73108 5.72336 5.50708 5.99951 5.50708Z"})}));function lt(){let e=useEventEmitter(),[t,r]=useState([0,0]),o=useDebouncedCallback(i=>{let n=i.asks?.[i.asks.length-1]?.[0],s=i.bids?.[0]?.[0];r([n,s]);},200);return useEffect(()=>(e.on("orderbook:update",o),()=>{e.off("orderbook:update",o),o.cancel();}),[o]),t}function ar(e){let{order:t,symbolInfo:r}=e,o=t.orders,i=lt(),n=useMemo(()=>o.reduce((l,c)=>l.add(new Decimal(c.order_price).mul(c.order_quantity)),zero).toNumber(),[o]),s=useMemo(()=>o.reduce((l,c)=>l.add(new Decimal(c.order_quantity)),zero).toString(),[o,r.base_dp]);return {dataSource:o,national:n,askAndBid:i,totalQuantity:s}}var Ro=e=>{let t=ar(e);return jsx(sr,{...e,...t})},ut="scaledOrderConfirm";registerSimpleDialog(ut,Ro,{size:"md",title:()=>i18n.t("orderEntry.confirmScaledOrder"),contentProps:{}});var Mo=e=>{let{t}=useTranslation(),r=useMemo(()=>[{label:t("orderEntry.orderType.limitOrder"),value:OrderType.LIMIT},{label:t("orderEntry.orderType.marketOrder"),value:OrderType.MARKET},{label:t("orderEntry.orderType.stopLimit"),value:OrderType.STOP_LIMIT},{label:t("orderEntry.orderType.stopMarket"),value:OrderType.STOP_MARKET},{label:t("orderEntry.orderType.scaledOrder"),value:OrderType.SCALED},{label:t("orderEntry.orderType.trailingStop"),value:OrderType.TRAILING_STOP}],[t]),o=useMemo(()=>({[OrderType.LIMIT]:t("orderEntry.orderType.limit"),[OrderType.MARKET]:t("common.marketPrice"),[OrderType.STOP_LIMIT]:t("orderEntry.orderType.stopLimit"),[OrderType.STOP_MARKET]:t("orderEntry.orderType.stopMarket"),[OrderType.SCALED]:t("orderEntry.orderType.scaledOrder"),[OrderType.TRAILING_STOP]:t("orderEntry.orderType.trailingStop")}),[t]);return jsx(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"},classNames:{trigger:"oui-bg-base-6 oui-border-line"},valueFormatter:(i,n)=>{if(!r.find(l=>l.value===i))return jsx(Text,{size:"xs",children:n.placeholder});let a=o[i];return jsx(Text,{size:"xs",color:e.canTrade?e.side===OrderSide.BUY?"buy":"sell":void 0,children:a})},size:"md"})};var Do=e=>{let{symbol:t,side:r,symbolLeverage:o}=e,{isMobile:i}=useScreen(),{maxLeverage:n}=useSymbolLeverage(t),s=o||n,a=()=>{let l=i?SymbolLeverageSheetId:SymbolLeverageDialogId;modal.show(l,{symbol:t,side:r,curLeverage:s});};return jsxs(Flex,{justify:"center",itemAlign:"center",gapX:1,className:cn$1("oui-h-8","oui-rounded oui-border oui-border-line oui-bg-base-6","oui-cursor-pointer oui-select-none oui-text-xs oui-font-semibold oui-text-base-contrast-54"),onClick:a,children:[jsx(Text,{children:"Cross"}),jsx(Text.numeral,{dp:0,rm:Decimal.ROUND_DOWN,unit:"X",children:s})]})};function Uo(e){let{canTrade:t,side:r,order_type:o,setOrderValue:i}=e,{t:n}=useTranslation();return jsxs(Fragment,{children:[jsxs("div",{className:cn$1("oui-grid oui-w-full oui-flex-1 oui-gap-x-2 lg:oui-flex lg:oui-gap-x-[6px]","oui-grid-cols-2"),children:[jsx(Button,{onClick:()=>{e.setOrderValue("side",OrderSide.BUY);},size:"md",fullWidth:true,"data-type":OrderSide.BUY,className:cn$1(r===OrderSide.BUY&&t?"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:n("common.buy")}),jsx(Button,{onClick:()=>{e.setOrderValue("side",OrderSide.SELL);},"data-type":OrderSide.SELL,fullWidth:true,size:"md",className:cn$1(r===OrderSide.SELL&&e.canTrade?"oui-bg-danger-darken hover:oui-bg-danger-darken/80 active:oui-bg-danger-darken/80":"oui-bg-base-7 oui-text-base-contrast-36 hover:oui-bg-base-6 active:oui-bg-base-6"),"data-testid":"oui-testid-orderEntry-side-sell-button",children:n("common.sell")})]}),jsxs("div",{className:cn$1("oui-grid oui-gap-x-2 lg:oui-flex lg:oui-gap-x-[6px]","oui-grid-cols-2"),children:[jsx("div",{className:"oui-w-full",children:jsx(Mo,{type:o,side:r,canTrade:t,onChange:s=>{i("order_type",s);}})}),jsx("div",{className:"oui-w-full",children:jsx(Do,{symbol:e.symbol,side:e.side,symbolLeverage:e.symbolLeverage})})]})]})}var dr=createContext({}),v=()=>useContext(dr);var Qo=e=>{let{errorMsgVisible:t,symbolInfo:r,onFocus:o,onBlur:i,getErrorMsg:n,setOrderValue:s,setOrderValues:a,currentFocusInput:l,errors:c,priceInputRef:p,priceInputContainerRef:u,triggerPriceInputRef:m,activatedPriceInputRef:d}=e,C=useMemo(()=>({errorMsgVisible:t,symbolInfo:r,onFocus:o,onBlur:i,getErrorMsg:n,setOrderValue:s,setOrderValues:a,currentFocusInput:l,errors:c,priceInputRef:p,priceInputContainerRef:u,triggerPriceInputRef:m,activatedPriceInputRef:d}),[t,r,o,i,n,s,a,l,c,p,u,m,d]);return jsx(dr.Provider,{value:C,children:e.children})};var I=forwardRef((e,t)=>{let{placeholder:r="0",inputMode:o}=e,{errorMsgVisible:i}=v();return jsx(Input.tooltip,{ref:t,tooltip:i?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:jsx(la,{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);},inputMode:o,formatters:e.overrideFormatters||[...e.formatters??EMPTY_LIST,inputFormatter.numberFormatter,inputFormatter.currencyFormatter,inputFormatter.decimalPointFormatter],classNames:{root:cn$1("orderly-order-entry oui-relative oui-h-[54px] oui-rounded oui-border oui-border-solid oui-border-line oui-px-2 oui-py-1 group-first:oui-rounded-t-xl group-last:oui-rounded-b-xl",e.className,e.classNames?.root),input:cn$1("oui-mb-1 oui-mt-5 oui-h-5",e?.classNames?.input),suffix:cn$1("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})});I.displayName="CustomInput";var la=e=>jsx("label",{htmlFor:e.id,className:cn$1("oui-absolute oui-left-2 oui-top-[7px] oui-text-2xs oui-text-base-contrast-36",e.className),children:e.children});var Go=e=>{let{t}=useTranslation(),r=useMemo(()=>[{label:t("orderEntry.bbo.counterparty1"),value:BBOOrderType.COUNTERPARTY1},{label:t("orderEntry.bbo.counterparty5"),value:BBOOrderType.COUNTERPARTY5},{label:t("orderEntry.bbo.queue1"),value:BBOOrderType.QUEUE1},{label:t("orderEntry.bbo.queue5"),value:BBOOrderType.QUEUE5}],[]);return jsx(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,i)=>{let n=r.find(s=>s.value===o);return jsx(Box,{children:jsx(Text,{size:"sm",children:n?.label})})}})};var Ho=e=>{let{quote:t,bbo:r,fillMiddleValue:o}=e,{t:i}=useTranslation();return jsxs(Flex,{direction:"column",itemAlign:"end",className:cn$1("oui-order-entry-limit-price-input-suffix","oui-text-2xs"),children:[t,jsxs(Flex,{justify:"end",itemAlign:"center",gap:2,children:[jsx(Flex,{px:3,height:20,justify:"center",itemAlign:"center",r:"base",className:cn$1("oui-mt-[2px] oui-cursor-pointer oui-select-none oui-border",r.bboStatus==="on"?"oui-border-primary":"oui-border-line-12",r.bboStatus==="disabled"&&"oui-cursor-not-allowed"),onClick:()=>{r.bboStatus==="disabled"?modal.dialog({title:i("common.tips"),size:"xs",content:jsx(Text,{intensity:54,children:i("orderEntry.bbo.disabled.tips")})}):r.toggleBBO();},children:jsx(Text,{className:cn$1(r.bboStatus==="on"&&"oui-text-primary",r.bboStatus==="off"&&"oui-text-base-contrast-54",r.bboStatus==="disabled"&&"oui-text-base-contrast-20"),children:i("orderEntry.bbo")})}),jsx(Text,{className:cn$1("oui-select-none","oui-cursor-pointer oui-text-primary"),onClick:o,children:"Mid"})]})]})};var Ko=e=>{let{bbo:t}=e,{t:r}=useTranslation(),{symbolInfo:o,onFocus:i,onBlur:n,getErrorMsg:s,setOrderValue:a,priceInputRef:l,priceInputContainerRef:c}=v(),{quote:p,quote_dp:u}=o,m=t.bboStatus==="on",d=e.order_type===OrderType.LIMIT?jsx(Ho,{quote:p,bbo:t,fillMiddleValue:e.fillMiddleValue}):p;return jsxs("div",{ref:c,className:"oui-group oui-relative oui-w-full",children:[jsx(I,{id:"order_price_input",name:"order_price_input",label:r("common.price"),suffix:d,value:e.order_price,onChange:C=>{a("order_price",C);},error:s("order_price"),formatters:[inputFormatter.dpFormatter(u)],onFocus:i(1),onBlur:n(1),readonly:m,inputMode:"decimal",ref:l,classNames:{root:cn$1(m&&"focus-within:oui-outline-transparent "),input:cn$1(m&&"oui-cursor-auto")}}),t.bboStatus==="on"&&jsx("div",{className:cn$1("oui-absolute oui-bottom-1 oui-left-0"),children:jsx(Go,{value:t.bboType,onChange:t.onBBOChange,contentStyle:{width:e.priceInputContainerWidth}})})]})};var He=memo(e=>{let{t}=useTranslation(),{symbolInfo:r,onFocus:o,onBlur:i,getErrorMsg:n,setOrderValue:s}=v(),{base:a,quote:l,base_dp:c,quote_dp:p}=r;return jsxs(Grid,{cols:2,className:"oui-group oui-space-x-1",children:[jsx(I,{id:"order_quantity_input",name:"order_quantity_input",label:t("common.qty"),suffix:a,error:n("order_quantity"),value:e.order_quantity,onChange:u=>{s("order_quantity",u);},formatters:[inputFormatter.dpFormatter(c)],onFocus:o(3),onBlur:i(3),inputMode:"decimal",className:"!oui-rounded-r oui-rounded-bl-xl"}),jsx(I,{id:"order_total_input",name:"order_total_input",label:`${t("common.total")}\u2248`,suffix:l,error:n("total"),value:e.total,onChange:u=>{s("total",u);},formatters:[inputFormatter.dpFormatter(p)],onFocus:o(4),onBlur:i(4),inputMode:"decimal",className:"!oui-rounded-bl oui-rounded-br-xl"})]})});He.displayName="QtyAndTotalInput";var Zo=memo(e=>{let{t}=useTranslation(),{setOrderValue:r}=v(),o=()=>{modal.dialog({title:t("common.tips"),size:"sm",content:jsx(Fa,{value:e.distribution_type})});};return jsxs(Flex,{direction:"column",itemAlign:"start",justify:"center",p:2,r:"base",width:"100%",intensity:600,className:cn$1("oui-t-rounded oui-text-base-contrast-36","oui-border oui-border-solid oui-border-line",e.className),children:[jsx(Text,{size:"2xs",className:"oui-cursor-pointer oui-border-b oui-border-dashed oui-border-line-12",onClick:o,children:t("orderEntry.quantityDistribution")}),jsx(Na,{value:e.distribution_type,onValueChange:i=>{r("distribution_type",i);}})]})}),Fa=e=>{let{t}=useTranslation(),[r,o]=useState(DistributionType.FLAT);useEffect(()=>{o([DistributionType.FLAT,DistributionType.ASCENDING,DistributionType.DESCENDING].includes(e.value)?e.value:DistributionType.FLAT);},[e.value]);let i=useMemo(()=>[{type:DistributionType.FLAT,title:t("orderEntry.distributionType.flat"),description:t("orderEntry.distributionType.flat.description"),formula:`${t("orderEntry.skew")} = 1`,quantity:jsx(ka,{})},{type:DistributionType.ASCENDING,title:t("orderEntry.distributionType.ascending"),description:t("orderEntry.distributionType.ascending.description"),formula:`${t("orderEntry.skew")} > 1`,quantity:jsx(wa,{})},{type:DistributionType.DESCENDING,title:t("orderEntry.distributionType.descending"),description:t("orderEntry.distributionType.descending.description"),formula:`0 < ${t("orderEntry.skew")} < 1`,quantity:jsx(Ra,{})}],[]),n=useMemo(()=>i.find(s=>s.type===r),[i,r]);return jsxs("div",{className:"oui-text-2xs oui-font-semibold oui-text-base-contrast-54",children:[jsxs(Flex,{direction:"column",itemAlign:"start",gapY:1,children:[jsx(Text,{intensity:80,children:t("orderEntry.quantityDistribution.description")}),jsx(Text,{children:t("orderEntry.quantityDistribution.formula")})]}),jsxs(Flex,{intensity:600,p:1,r:"base",mt:3,itemAlign:"start",children:[jsx(Flex,{direction:"column",itemAlign:"start",children:i.map(s=>jsx(Box,{intensity:r===s.type?500:600,width:78,p:2,className:"oui-cursor-pointer oui-rounded-l",onClick:()=>{o(s.type);},children:jsx(Text,{children:s.title})},s.title))}),jsxs(Flex,{direction:"column",itemAlign:"start",gapY:1,p:2,intensity:500,width:"100%",className:cn$1("oui-rounded-r",r===DistributionType.FLAT&&"oui-rounded-bl",r===DistributionType.ASCENDING&&"oui-rounded-l",r===DistributionType.DESCENDING&&"oui-rounded-tl"),children:[jsx("div",{children:n?.formula}),jsx(Text,{children:n?.description}),jsx(Flex,{width:"100%",justify:"center",children:n?.quantity}),jsxs(Flex,{width:"100%",gapX:1,justify:"center",children:[jsx(Text,{className:"oui-text-base-1",children:t("common.price")}),jsx(Aa,{})]})]})]})]})},Na=e=>{let{value:t,onValueChange:r}=e,{t:o}=useTranslation(),i=s=>a=>{r(s);},n=useMemo(()=>({[DistributionType.FLAT]:o("orderEntry.distributionType.flat"),[DistributionType.ASCENDING]:o("orderEntry.distributionType.ascending.abbr"),[DistributionType.DESCENDING]:o("orderEntry.distributionType.descending.abbr"),[DistributionType.CUSTOM]:o("orderEntry.distributionType.custom")}),[o]);return jsx(Flex,{className:cn$1("oui-gap-x-[6px] lg:oui-gap-x-2"),wrap:"wrap",children:Object.values(DistributionType).map(s=>jsxs(Flex,{itemAlign:"center",children:[jsx(Checkbox,{id:`distribution-type-${s}`,color:"white",variant:"radio",checked:t===s,onCheckedChange:i(s)}),jsx("label",{htmlFor:`distribution-type-${s}`,className:cn$1("oui-text-2xs","oui-ml-1","oui-whitespace-nowrap oui-break-normal"),children:n[s]})]},s))})},ka=()=>jsxs("svg",{width:"218",height:"40",viewBox:"0 0 218 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsx("rect",{x:"18",y:"18",width:"181",height:"4",fill:"rgb(var(--oui-color-base-2))"}),jsx("circle",{cx:"15",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsx("circle",{cx:"62",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsx("circle",{cx:"109",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsx("circle",{cx:"156",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsx("circle",{cx:"203",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"})]}),wa=()=>jsxs("svg",{width:"218",height:"40",viewBox:"0 0 218 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsx("rect",{x:"18",y:"18",width:"181",height:"4",fill:"rgb(var(--oui-color-base-2))"}),jsx("circle",{cx:"15",cy:"20",r:"4.28571",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"1.42857"}),jsx("circle",{cx:"62",cy:"20",r:"5.14286",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"1.71429"}),jsx("circle",{cx:"109",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsx("circle",{cx:"156",cy:"20",r:"6.85714",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2.28571"}),jsx("circle",{cx:"203",cy:"20",r:"7.71429",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2.57143"})]}),Ra=()=>jsxs("svg",{width:"218",height:"40",viewBox:"0 0 218 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsx("rect",{width:"181",height:"4",transform:"matrix(-1 0 0 1 200 18)",fill:"rgb(var(--oui-color-base-2))"}),jsx("circle",{cx:"5",cy:"5",r:"4.28571",transform:"matrix(-1 0 0 1 208 15)",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"1.42857"}),jsx("circle",{cx:"6",cy:"6",r:"5.14286",transform:"matrix(-1 0 0 1 162 14)",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"1.71429"}),jsx("circle",{cx:"7",cy:"7",r:"6",transform:"matrix(-1 0 0 1 116 13)",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsx("circle",{cx:"8",cy:"8",r:"6.85714",transform:"matrix(-1 0 0 1 70 12)",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2.28571"}),jsx("circle",{cx:"9",cy:"9",r:"7.71429",transform:"matrix(-1 0 0 1 24 11)",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2.57143"})]}),Aa=()=>jsx("svg",{width:"176",height:"8",viewBox:"0 0 176 8",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsx("path",{d:"M175.354 4.35355C175.549 4.15829 175.549 3.84171 175.354 3.64645L172.172 0.464466C171.976 0.269204 171.66 0.269204 171.464 0.464466C171.269 0.659728 171.269 0.976311 171.464 1.17157L174.293 4L171.464 6.82843C171.269 7.02369 171.269 7.34027 171.464 7.53553C171.66 7.7308 171.976 7.7308 172.172 7.53553L175.354 4.35355ZM0 4V4.5H175V4V3.5H0V4Z",fill:"rgb(var(--oui-color-base-1))"})});var _r=memo(e=>{let{t}=useTranslation(),{symbolInfo:r,onFocus:o,onBlur:i,getErrorMsg:n,setOrderValue:s}=v(),{quote:a,quote_dp:l}=r;return jsxs(Fragment,{children:[jsx(I,{label:t("orderEntry.startPrice"),suffix:a,id:"order_start_price_input",value:e.start_price,error:n("start_price"),onChange:c=>{s("start_price",c);},formatters:[inputFormatter.dpFormatter(l)],onFocus:o(5),onBlur:i(5),inputMode:"decimal",classNames:{root:"oui-rounded-t-xl"}}),jsx(I,{label:t("orderEntry.endPrice"),suffix:a,id:"order_end_price_input",value:e.end_price,error:n("end_price"),onChange:c=>{s("end_price",c);},formatters:[inputFormatter.dpFormatter(l)],onFocus:o(6),onBlur:i(6),inputMode:"decimal"})]})});_r.displayName="ScaledPriceInput";var Ga=e=>jsx(Text,{size:"2xs",intensity:36,children:e}),Jo=e=>{let{base:t,quote:r}=e,o=useMemo(()=>[{name:r},{name:t}],[t,r]);return jsx(Select.tokens,{variant:"text",size:"xs",iconSize:"2xs",tokens:o,classNames:{trigger:cn$1("oui-absolute oui-right-0 oui-top-1","oui-w-full oui-justify-end")},value:e.value,onValueChange:e.onValueChange,valueFormatter:Ga,contentProps:{align:"end",alignOffset:-1,sideOffset:-4,className:"oui-border oui-border-line-6"}})};var ri=memo(e=>{let{t}=useTranslation(),{errors:r,symbolInfo:o,onFocus:i,onBlur:n,getErrorMsg:s,setOrderValue:a}=v(),[l,c]=useLocalStorage("orderly_order_quantity_unit","quote"),{base:p,quote:u,base_dp:m,quote_dp:d}=o,C=l==="base",O=jsx(Jo,{base:p,quote:u,value:C?p:u,onValueChange:h=>{c(h===p?"base":"quote");}});return C?jsx(I,{label:t("common.qty"),suffix:O,id:"order_quantity_input",name:"order_quantity_input",className:"!oui-rounded-r",value:e.order_quantity,error:s("order_quantity",`${r?.order_quantity?.value} ${p}`),onChange:h=>{a("order_quantity",h);},formatters:[inputFormatter.dpFormatter(m)],onFocus:i(3),onBlur:n(3),inputMode:"decimal"}):jsx(I,{label:t("common.qty"),suffix:O,id:"order_total_input",name:"order_total_input",className:"!oui-rounded-r",value:e.total,error:s("order_quantity",`${r?.total?.value} ${u}`),onChange:h=>{a("total",h);},formatters:[inputFormatter.dpFormatter(d)],onFocus:i(4),onBlur:n(4),inputMode:"decimal"})});var ii=memo(e=>{let{t}=useTranslation(),{onFocus:r,onBlur:o,getErrorMsg:i,setOrderValue:n}=v();return jsx(I,{id:"order_skew_input",label:t("orderEntry.skew"),value:e.skew,error:i("skew"),onChange:s=>{n("skew",s);},onFocus:r(8),onBlur:o(8),inputMode:"decimal",overrideFormatters:[inputFormatter.rangeFormatter({min:0,max:100,dp:2}),inputFormatter.dpFormatter(2)],classNames:{root:"oui-rounded-b-xl"}})});var si=memo(e=>{let{t}=useTranslation(),{onFocus:r,onBlur:o,getErrorMsg:i,setOrderValue:n}=v();return jsx(I,{label:t("orderEntry.totalOrders"),placeholder:"2-20",id:"order_total_orders_input",className:"!oui-rounded-l",value:e.total_orders,error:i("total_orders"),onChange:s=>{n("total_orders",s);},overrideFormatters:[inputFormatter.numberFormatter,inputFormatter.dpFormatter(0)],onFocus:r(7),onBlur:o(7),inputMode:"numeric"})});var li=e=>{let{values:t}=e,r=t.distribution_type===DistributionType.CUSTOM;return jsxs("div",{className:"oui-space-y-1",children:[jsx(_r,{start_price:t.start_price,end_price:t.end_price}),jsxs(Grid,{cols:2,className:"oui-group oui-space-x-1",children:[jsx(ri,{order_quantity:t.order_quantity,total:t.total}),jsx(si,{total_orders:t.total_orders})]}),jsx(Zo,{distribution_type:t.distribution_type,className:cn$1(!r&&"oui-rounded-b-xl")}),r&&jsx(ii,{skew:t.skew})]})};var Or=memo(e=>{let{t}=useTranslation(),{symbolInfo:r,onFocus:o,onBlur:i,getErrorMsg:n,setOrderValue:s,triggerPriceInputRef:a}=v();return jsx("div",{className:"oui-group",children:jsx("div",{className:"oui-group",children:jsx(I,{ref:a,id:"order_trigger_price_input",name:"order_trigger_price_input",label:t("common.trigger"),suffix:r.quote,value:e.trigger_price,onChange:l=>{s("trigger_price",l);},error:n("trigger_price"),formatters:[inputFormatter.dpFormatter(r.quote_dp)],onFocus:o(2),onBlur:i(2),inputMode:"decimal"})})})});Or.displayName="TriggerPriceInput";var Pr=memo(e=>{let{t}=useTranslation(),{symbolInfo:r,onFocus:o,onBlur:i,getErrorMsg:n,setOrderValue:s,activatedPriceInputRef:a}=v();return jsx("div",{className:"oui-group",children:jsx(I,{ref:a,id:"order_activated_price_input",name:"order_activated_price_input",label:t("common.triggerPrice"),placeholder:`0 (${t("common.optional")})`,suffix:r.quote,error:n("activated_price"),value:e.activated_price,onChange:l=>{s("activated_price",l);},formatters:[inputFormatter.dpFormatter(r.quote_dp)],onFocus:o(9),onBlur:i(9),inputMode:"decimal"})})});Pr.displayName="ActivePriceInput";var pl=[1,2,3,5],hr=memo(e=>{let{setOrderValue:t}=v();return jsx(Flex,{gapX:2,className:e.className,children:pl.map(r=>{let o=r.toString(),i=e.callback_rate===o;return jsx(Flex,{justify:"center",itemAlign:"center",width:46,height:18,className:cn$1("oui-cursor-pointer oui-select-none","oui-rounded oui-border",i?"oui-border-base-contrast-36":"oui-border-line-12"),onClick:()=>{t("callback_rate",o),e.onClick?.(o);},children:jsxs(Text,{size:"2xs",intensity:i?80:36,weight:"semibold",children:[r,"%"]})},r)})})});hr.displayName="CallbackRatePercentages";var Er=memo(e=>{let{quote:t}=e,r=useMemo(()=>[{label:t,value:TrailingCallbackType.VALUE},{label:"%",value:TrailingCallbackType.RATE}],[t]);return jsx(Select.options,{variant:"text",size:"xs",options:r,classNames:{trigger:cn$1("oui-absolute oui-right-0 oui-top-1","oui-w-[124px] oui-justify-end","oui-text-base-contrast-36")},value:e.value,onValueChange:e.onValueChange,contentProps:{align:"end",alignOffset:-1,sideOffset:-4,className:"oui-border oui-border-line-6"}})});Er.displayName="trailingCallbackSelect";var Ir=memo(e=>{let{callback_value:t,callback_rate:r}=e,{t:o}=useTranslation(),{symbolInfo:i,onFocus:n,onBlur:s,getErrorMsg:a,setOrderValue:l,setOrderValues:c}=v(),{quote:p,quote_dp:u}=i,m=useRef(),d=useRef(),[C,T]=useLocalStorage("orderly_order_trailing_callback_type",TrailingCallbackType.VALUE),O=useCallback(L=>{T(L),L===TrailingCallbackType.RATE?(m.current=t,c({callback_value:"",callback_rate:d.current})):(d.current=r,c({callback_value:m.current,callback_rate:""}));},[t,r]),h=jsx(Er,{quote:p,value:C,onValueChange:O});return C===TrailingCallbackType.RATE?jsxs("div",{className:"oui-relative",children:[jsx(I,{id:"order_callback_rate_input",name:"order_callback_rate_input",label:o("orderEntry.trailingRate"),suffix:h,error:a("callback_rate"),value:r,onChange:L=>{l("callback_rate",L);},formatters:[inputFormatter.dpFormatter(1)],onFocus:L=>{n(11)(L);},onBlur:L=>{s(11)(L);},inputMode:"decimal",classNames:{root:"oui-h-[68px]",input:"oui-mb-5",prefix:"!oui-top-1"}}),jsx(hr,{className:"oui-absolute oui-bottom-1 oui-left-2",callback_rate:r})]}):jsx(I,{id:"order_callback_value_input",name:"order_callback_value_input",label:o("orderEntry.trailingValue"),suffix:h,error:a("callback_value"),value:t,onChange:L=>{l("callback_value",L);},formatters:[inputFormatter.dpFormatter(u)],onFocus:n(10),onBlur:s(10),inputMode:"decimal",classNames:{input:"!oui-mb-[6px]",prefix:"!oui-top-1"}})});Ir.displayName="TrailingCallbackInput";var gi=e=>{let{values:t}=e;return jsxs(Fragment,{children:[jsx(Pr,{activated_price:t.activated_price}),jsx(Ir,{callback_value:t.callback_value,callback_rate:t.callback_rate}),jsx(He,{order_quantity:t.order_quantity,total:t.total})]})};function yi(e){let{values:t}=e,r=t.order_type;if(r===OrderType.SCALED)return jsx(li,{values:t});if(r===OrderType.TRAILING_STOP)return jsx(gi,{values:t});let o=r===OrderType.STOP_LIMIT||r===OrderType.STOP_MARKET,i=r===OrderType.LIMIT||r===OrderType.STOP_LIMIT,n=o&&jsx(Or,{trigger_price:t.trigger_price}),s=i&&jsx(Ko,{order_type:t.order_type,order_price:t.order_price,bbo:e.bbo,fillMiddleValue:e.fillMiddleValue,priceInputContainerWidth:e.priceInputContainerWidth});return jsxs("div",{className:"oui-space-y-1",children:[n,s,jsx(He,{order_quantity:t.order_quantity,total:t.total})]})}var _i=e=>{let{canTrade:t,order_quantity:r,maxQty:o}=e,{t:i}=useTranslation(),n=useMemo(()=>t?e.side===OrderSide.BUY?"buy":"sell":void 0,[e.side,t]),s=useMemo(()=>e.side===OrderSide.BUY?i("orderEntry.maxBuy"):i("orderEntry.maxSell"),[e.side,i]),a=useMemo(()=>r?Number(r):0,[r]),l=useMemo(()=>r?Number(r)>=Number(o)?1:convertValueToPercentage(Number(r??0),0,o)/100:0,[r,o]);return jsxs("div",{children:[jsx(Slider.single,{disabled:o===0||!t,value:a,color:n,markCount:4,showTip:true,max:o,step:e.tick,onValueChange:e.onValueChange}),jsxs(Flex,{justify:"between",className:"oui-pt-1 xl:oui-pt-2",children:[jsx(Text.numeral,{rule:"percentages",size:"2xs",color:n,dp:2,padding:false,children:t?l:0}),jsxs(Flex,{children:[jsx("button",{className:textVariants({size:"2xs",className:"oui-mr-1"}),onClick:()=>e.setMaxQty(),"data-testid":"oui-testid-orderEntry-maxQty-value-button",children:s}),jsx(Text.numeral,{size:"2xs",color:n,dp:e.dp,padding:false,"data-testid":"oui-testid-orderEntry-maxQty-value",children:t?o:0})]})]})]})};var Nr=createContext({}),_t=()=>useContext(Nr);var vi=e=>{let{type:t,values:r,quote_dp:o}=e,{t:i}=useTranslation(),[n,s]=useState(true),{mode:a,setMode:l,tipsEle:c}=_t(),[p,u]=useState(false),[m,d]=useState(false),C=useMemo(()=>{switch(a){case "Offset":return `${t.toLowerCase()}_offset`;case "Offset%":return `${t.toLowerCase()}_offset_percentage`;default:return `${t.toLowerCase()}_pnl`}},[a]),[T,O]=useState(r[a]);useEffect(()=>{m||O(r[a]);},[r,a,m]);let h=useMemo(()=>[{label:i("tpsl.pnl"),value:"PnL",testId:"PnL_menu_item"},{label:i("tpsl.offset"),value:"Offset",testId:"Offset_mneu_item"},{label:`${i("tpsl.offset")}%`,value:"Offset%",testId:"Offset%_menu_item"}],[i]),L=useMemo(()=>({PnL:i("tpsl.pnl"),Offset:i("tpsl.offset"),"Offset%":`${i("tpsl.offset")}%`}),[i]),E=useRef("");return {mode:a,modes:h,modeLabelMap:L,formatter:U=>{let{dp:K=2}=U;return {onRenderBefore:(f,Y)=>(f=`${f}`,n&&t==="SL"&&a==="PnL"&&(f=f.startsWith("-")?f:"-"+f),f===""||f==="-"?"":a==="Offset%"?`${new Decimal(f.replace(new RegExp(E.current.replace(".","\\.")+"$"),"")).mul(100).todp(2,4).toString()}${E.current}`:(a==="Offset"&&(f=todpIfNeed(f,K)),`${f}`)),onSendBefore:f=>{if(/^\-?0{2,}$/.test(f))return "0";if(a==="Offset%"){if(f!==""){f=todpIfNeed(f,2);let Y=f.match(/\.0{0,2}$/);Y?E.current=Y[0]:E.current="",f=new Decimal(f).div(100).toString(),f=`${f}${E.current}`;}}else a==="PnL"&&t==="SL"&&n?f=f.startsWith("-")?f:"-"+f:f=todpIfNeed(f,K);return f===""||f==="-"?"":f}}},onModeChange:U=>{l(U);},onFocus:()=>{u(true),d(true);},onBlur:()=>{u(false),d(false),e.onChange(C,T);},value:T,onValueChange:U=>{O(U),e.onChange(C,U);},quote_dp:o,tips:p?c:void 0,setFocus:s}};var hi=e=>{let{mode:t,modes:r,modeLabelMap:o,onModeChange:i,onValueChange:n,quote:s,quote_dp:a,value:l,type:c,tips:p,onFocus:u,onBlur:m,setFocus:d}=e,[C,T]=useState(t),[O,h]=useState(t==="Offset%"?"%":s);useEffect(()=>{T(t),h(t==="Offset%"?"%":s);},[t]),useEffect(()=>{T(l?"":t);},[l]);let L=useMemo(()=>`${c.toLowerCase()}_${t.toLowerCase()}`,[]);return jsx(Input.tooltip,{prefix:o[C]||C,size:"md",placeholder:O,id:L,align:"right",value:l,tooltip:p,tooltipProps:{content:{side:e.type==="TP"?"top":"bottom"}},"data-testid":e.testIds?.input,autoComplete:"off",inputMode:"decimal",onValueChange:n,formatters:[e.formatter({dp:a,mode:t,type:c}),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:()=>{T(""),h(""),d(true),u();},onBlur:()=>{T(l?"":t),h(t==="Offset%"?"%":s),m();},suffix:jsxs(Fragment,{children:[t==="Offset%"&&!!l&&jsx(Text,{size:"2xs",color:"inherit",className:"oui-ml-[2px]",children:"%"}),jsx(Ql,{mode:t,modes:r,onModeChange:E=>i(E.value),testId:e.testIds?.dropDown})]})})},Ql=e=>jsx(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:jsx("button",{className:"oui-p-2","data-testid":e.testId,children:jsx(CaretDownIcon,{size:12,color:"white"})})});var Ei=e=>{let{testIds:t,quote:r,...o}=e,i=vi(o);return jsx(hi,{...i,testIds:t,quote:r,type:e.type})};var Rr=e=>{let{type:t,values:r,children:o}=e,[i,n]=useLocalStorage("TP/SL_Mode","Offset%"),{t:s}=useTranslation(),a=useMemo(()=>!r.PnL||!r.trigger_price?null:jsxs(Flex,{children:[jsx("span",{className:"oui-text-xs oui-text-base-contrast-54",children:i==="PnL"?s("orderEntry.estRoi"):s("orderEntry.estPnL")}),i==="PnL"?jsx(Text.numeral,{rule:"percentages",className:cn$1("oui-ml-1 oui-text-xs",t==="TP"?"oui-text-trade-profit":"oui-text-trade-loss"),children:r.ROI}):jsx(Text.numeral,{rule:"price",className:cn$1("oui-ml-1 oui-text-xs",t==="TP"?"oui-text-trade-profit":"oui-text-trade-loss"),children:r.PnL})]}),[i,r.ROI,r.PnL,r.trigger_price]),l=useMemo(()=>({mode:i,setMode:n,tipsEle:a}),[i,n,a]);return jsx(Nr.Provider,{value:l,children:o})};var Ri=e=>{let t=ki.useRef(null),{t:r}=useTranslation();return useEffect(()=>{e.orderType!==OrderType.LIMIT&&e.orderType!==OrderType.MARKET&&e.onSwitchChanged(false);},[e.orderType]),e.orderType!==OrderType.LIMIT&&e.orderType!==OrderType.MARKET||e.isReduceOnly?null:jsxs("div",{children:[jsxs(Flex,{itemAlign:"center",justify:"between",children:[jsxs(Flex,{itemAlign:"center",gapX:1,children:[jsx(Switch,{id:"order_entry_tpsl",className:"oui-h-[14px]",checked:e.switchState,disabled:e.orderType!==OrderType.LIMIT&&e.orderType!==OrderType.MARKET||e.isReduceOnly,onCheckedChange:o=>{e.onSwitchChanged(o);}}),jsx("label",{htmlFor:"order_entry_tpsl",className:"oui-text-xs",children:r("common.tpsl")})]}),jsxs(Flex,{itemAlign:"center",gapX:1,onClick:e.showTPSLAdvanced,className:cn$1("oui-group oui-invisible",e.switchState&&"oui-visible"),children:[jsx(Text,{className:"oui-text-sm oui-cursor-pointer group-hover:oui-text-base-contrast",children:r("tpsl.advanced")}),jsx(SettingFillIcon,{size:12,className:"oui-text-base-contrast-54 group-hover:oui-text-base-contrast oui-cursor-pointer",opacity:1,onClick:e.showTPSLAdvanced})]})]}),jsx("div",{className:cn$1("oui-max-h-0 oui-overflow-hidden oui-transition-all",e.switchState&&"oui-max-h-[120px]"),onTransitionEnd:()=>{t.current?.style.setProperty("opacity",e.switchState?"1":"0");},children:jsx(Ai,{ref:t,setOrderValue:e.setOrderValue,onChange:e.onChange,values:e.values,errors:e.errors,quote_dp:e.quote_dp})})]})},Ai=ki.forwardRef((e,t)=>{let{getErrorMsg:r}=useOrderEntryFormErrorMsg(e.errors);return jsxs("div",{ref:t,className:"oui-space-y-1 oui-px-px oui-py-2 oui-transition-all",children:[jsx(TPSLPositionTypeWidget,{value:e.values.position_type,onChange:e.onChange}),jsx(Rr,{values:e.values.tp,type:"TP",children:jsx(Ni,{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"}})}),jsx(Rr,{values:e.values.sl,type:"SL",children:jsx(Ni,{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"}})})]})});Ai.displayName="TPSLInputForm";var nu=e=>{let{t}=useTranslation(),{errorMsgVisible:r}=v(),{tipsEle:o}=_t(),[i,n]=useState(`${e.type} Price`),[s,a]=useState("USDC"),[l,c]=useState(false),[p,u]=useState(false),[m,d]=useState(e.values.trigger_price??"");useEffect(()=>{p||d(e.values.trigger_price??"");},[e.values.trigger_price,p]);let C=useMemo(()=>e.error&&r?e.error:l?o:null,[e.error,r,l,o]),T=E=>{let Z=e.type==="TP"?t("tpsl.tpPrice"):t("tpsl.slPrice");return E&&(Z=e.type==="TP"?t("tpsl.tp"):t("tpsl.sl")),Z},O=E=>{d(E),e.onChange(E);};useEffect(()=>{n(T(e.values.trigger_price)),p||d(e.values.trigger_price??"");},[e.type,e.values.trigger_price]);let h=()=>{n(e.type==="TP"?t("tpsl.tp"):t("tpsl.sl")),a(""),c(true),u(true);},L=()=>{n(T(e.values.trigger_price)),a("USDC"),c(false),u(false),e.onChange(m);};return jsx(Input.tooltip,{"data-testid":e.testId,prefix:i,size:"md",placeholder:s,align:"right",onFocus:h,onBlur:L,tooltip:C,tooltipProps:{content:{side:e.type==="TP"?"top":"bottom"}},color:e.error?"danger":void 0,autoComplete:"off",inputMode:"decimal",value:m,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:[inputFormatter.numberFormatter,inputFormatter.dpFormatter(e.quote_dp??2),inputFormatter.currencyFormatter]})},Ni=e=>jsxs(Grid,{cols:2,gapX:1,children:[jsx(nu,{testId:e.testIds?.first,type:e.type,error:e.error,values:e.values??"",onChange:t=>{e.onChange(e.type==="SL"?"sl_trigger_price":"tp_trigger_price",t);},quote_dp:e.quote_dp}),jsx(Ei,{testIds:{input:e.testIds?.second,dropDown:e.testIds?.dropDown},onChange:e.onChange,quote:"USDC",quote_dp:2,type:e.type,values:{PnL:e.values.PnL,Offset:e.values.Offset,"Offset%":e.values["Offset%"],ROI:e.values.ROI}})]});var zr=e=>{let{side:t,formattedOrder:r,setOrderValue:o,setOrderValues:i,symbolInfo:n,maxQty:s,freeCollateral:a,helper:l,submit:c,metaState:p,bboStatus:u,bboType:m,onBBOChange:d,toggleBBO:C,disableFeatures:T,currentLtv:O,fillMiddleValue:h,soundAlert:L,setSoundAlert:E,currentFocusInput:Z}=e,{t:F}=useTranslation(),{isMobile:ue}=useScreen(),[ye,U]=useState(false),{errors:K,validated:f}=p,[Y,de]=useState(false),[be,B]=useLocalStorage("orderly_order_confirm",true),[j,ie]=useLocalStorage("orderly-order-additional-pinned",true),[xe,ce]=useState(false),[Nt,kt]=useLocalStorage("orderly-order-hidden",false),[he,wt]=useLocalStorage("orderly-slippage","1",{parseJSON:y=>!y||y==='""'?"1":JSON.parse(y)}),{notification:Rt}=useOrderlyContext(),Ze=useId(),{getErrorMsg:At}=useOrderEntryFormErrorMsg(f?K:null),_=useMemo(()=>t===OrderSide.BUY?F("orderEntry.buyLong"):F("orderEntry.sellShort"),[t,F]);useEffect(()=>{f&&de(true);},[f]),useEffect(()=>{T?.includes("slippageSetting")||(he?o("slippage",Number(he)):o("slippage",void 0));},[he,T]),useEffect(()=>{let y=R=>{R.target.closest("#order-entry-submit-button")||de(Kr=>Kr&&false);};return Y?document.addEventListener("click",y):document.removeEventListener("click",y),()=>{document.removeEventListener("click",y);}},[Y]);let k=useMemoizedFn(async()=>{let y=r.order_type===OrderType.SCALED;l.validate().then(R=>y?modal.show(ut,{order:R,symbolInfo:n,size:ue?"sm":"md"}):be?modal.show(or,{order:r,symbolInfo:n}):true,R=>(R.slippage&&toast.error(F("orderEntry.slippage.error.max")),de(true),Promise.reject())).then(()=>c({resetOnSuccess:false}).then(R=>{if(!R.success&&R.message)toast.error(R.message);else if(R.success&&y){let Ve=ho(R);Ve&&toast.success(Ve);}})).catch(R=>{R?.message&&toast.error(R.message);});}),ne=async()=>{if(r.reduce_only&&s===0)return modal.confirm({title:F("orderEntry.reduceOnly.reminder"),content:F("orderEntry.reduceOnly.reminder.content"),okLabel:F("orderEntry.placeOrderNow"),onOk:async()=>(o("reduce_only",false),requestAnimationFrame(()=>{e.resetMetaState(),k();}),Promise.resolve(true)),onCancel:async()=>Promise.resolve(false)});k();},D=()=>{l.validate().then(()=>{ce(true);},y=>{let R=new Set(["tp_trigger_price","sl_trigger_price"]);Object.keys(y).every(Ve=>R.has(Ve))&&ce(true);});},X=y=>{y.side!==r.side&&o("side",y.side),i({position_type:y.position_type,tp_order_type:y.tp_order_type,tp_pnl:y.tp_pnl,tp_offset:y.tp_offset,tp_offset_percentage:y.tp_offset_percentage,tp_ROI:y.tp_ROI,tp_trigger_price:y.tp_trigger_price,tp_order_price:y.tp_order_price,sl_order_type:y.sl_order_type,sl_trigger_price:y.sl_trigger_price,sl_order_price:y.sl_order_price,sl_pnl:y.sl_pnl,sl_offset:y.sl_offset,sl_offset_percentage:y.sl_offset_percentage,sl_ROI:y.sl_ROI}),ce(false),U(true);},Bt=()=>{U(false),i({tp_trigger_price:void 0,tp_order_price:void 0,tp_order_type:OrderType.MARKET,sl_trigger_price:void 0,sl_order_price:void 0,sl_order_type:OrderType.MARKET,tp_pnl:void 0,sl_pnl:void 0,position_type:PositionType.FULL});};useEffect(()=>{U(false);},[e.symbol]);let je=!!Rt?.orderFilled?.media,Wr={pinned:j,setPinned:ie,needConfirm:be,setNeedConfirm:B,hidden:Nt,setHidden:kt,onValueChange:o,orderTypeExtra:r.order_type_ext,showExtra:r.order_type===OrderType.LIMIT&&!e.tpslSwitch},Hr=!j&&jsx(Yr,{...Wr});return jsxs(Qo,{errors:K,errorMsgVisible:Y,symbolInfo:n,onFocus:e.onFocus,onBlur:e.onBlur,getErrorMsg:At,setOrderValue:o,setOrderValues:i,currentFocusInput:Z.current,priceInputRef:e.priceInputRef,priceInputContainerRef:e.priceInputContainerRef,triggerPriceInputRef:e.triggerPriceInputRef,activatedPriceInputRef:e.activatedPriceInputRef,children:[jsxs("div",{className:"oui-space-y-2 oui-text-base-contrast-54 xl:oui-space-y-3",ref:e.containerRef,children:[jsx(Uo,{symbol:e.symbol,canTrade:e.canTrade,side:t,order_type:r.order_type,setOrderValue:o,symbolLeverage:e.symbolLeverage}),jsx(_o,{currentLtv:O,canTrade:e.canTrade,quote:n?.quote,freeCollateral:a}),jsx(yi,{values:r,priceInputContainerWidth:e.priceInputContainerWidth,fillMiddleValue:h,bbo:{bboStatus:u,bboType:m,onBBOChange:d,toggleBBO:C}}),jsx(_i,{canTrade:e.canTrade,maxQty:s,order_quantity:r.order_quantity,tick:n.base_tick,dp:n.base_dp,setMaxQty:e.setMaxQty,onValueChange:y=>{o("order_quantity",y);},side:e.side}),jsx(ThrottledButton,{fullWidth:true,id:"order-entry-submit-button","data-type":OrderSide.BUY,className:cn$1(t===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:ne,loading:e.isMutating,disabled:!e.canTrade,children:_}),jsx(fo,{canTrade:e.canTrade,quote:n.quote,estLiqPrice:e.estLiqPrice,estLeverage:e.estLeverage,currentLeverage:e.currentLeverage,slippage:he,dp:n.quote_dp,setSlippage:wt,estSlippage:e.estSlippage,orderType:r.order_type,disableFeatures:T}),jsx(Divider,{className:"oui-w-full"}),ye?jsx(Xr,{order:r,symbolInfo:e.symbolInfo,errors:f?K:null,onEdit:()=>{ce(true);},onDelete:()=>{Bt();}}):jsx(Ri,{quote_dp:e.symbolInfo.quote_dp,switchState:e.tpslSwitch,onSwitchChanged:e.setTpslSwitch,orderType:r.order_type,errors:f?K:null,isReduceOnly:r.reduce_only,setOrderValue:o,values:{position_type:r.position_type??PositionType.PARTIAL,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??""}},showTPSLAdvanced:D,onChange:(y,R)=>{o(y,R);}}),jsxs(Flex,{justify:"between",itemAlign:"center",className:"!oui-mt-0 xl:!oui-mt-3",children:[jsxs(Flex,{itemAlign:"center",gapX:1,children:[jsx(Switch,{"data-testid":"oui-testid-orderEntry-reduceOnly-switch",className:"oui-h-[14px]",id:"reduceOnly",checked:r.reduce_only,onCheckedChange:y=>{o("reduce_only",y);}}),jsx("label",{htmlFor:"reduceOnly",className:"oui-text-xs",children:F("orderEntry.reduceOnly")})]}),!je&&Hr]}),je&&jsxs(Flex,{justify:"between",itemAlign:"center",className:"!oui-mt-0 xl:!oui-mt-3",children:[jsxs(Flex,{itemAlign:"center",gapX:1,children:[jsx(Switch,{className:"oui-h-[14px]",id:Ze,checked:L,onCheckedChange:y=>E(y)}),jsx("label",{htmlFor:Ze,className:"oui-text-xs",children:F("orderEntry.soundAlerts")})]}),Hr]}),j&&jsxs(Box,{p:2,r:"md",intensity:700,position:"relative",children:[jsx(De,{...Wr}),jsx(Zr,{onClick:()=>{ie(false);},className:"oui-group oui-absolute oui-right-2 oui-top-2","data-testid":"oui-testid-orderEntry-pinned-button"})]})]}),jsx(SimpleSheet,{open:xe,onOpenChange:ce,classNames:{body:"oui-h-full oui-pb-0 oui-border-none",overlay:"!oui-bg-base-10/60",content:cn$1("oui-rounded-[16px] oui-border-none !oui-p-0",ue?"oui-inset-y-0 oui-right-0 oui-w-[280px]":"!oui-bottom-[40px] oui-right-3 oui-top-[44px] !oui-h-auto oui-w-[360px]")},contentProps:{side:"right",closeable:false},children:jsx(TPSLAdvancedWidget,{setOrderValue:o,order:r,onSubmit:X,onClose:()=>{ce(false);},symbolLeverage:e.symbolLeverage})})]})};function Di({tpslSwitch:e,order_type:t,order_type_ext:r,side:o,setOrderValues:i}){let[n,s]=useLocalStorage("orderly_order_bbo_type",void 0),a=useRef(n),{track:l}=useTrack(),c=useMemo(()=>e||[OrderType.POST_ONLY,OrderType.IOC,OrderType.FOK].includes(r)?"disabled":n&&t===OrderType.LIMIT?"on":"off",[e,r,t,n]),p=()=>{l(TrackerEventName.clickBBOButton),n?(s(void 0),i({order_type_ext:void 0,level:void 0})):s(a.current||BBOOrderType.COUNTERPARTY1);},u=m=>{s(m),a.current=m;};return useEffect(()=>{c==="disabled"&&i({order_type_ext:Fe({order_type_ext:r})?void 0:r,level:void 0});},[c,r]),useEffect(()=>{if(c==="on"){let m=Oo(n,o),d=Po(n);i({order_type_ext:m,level:d});}},[n,c,o]),{bboStatus:c,bboType:n,setBBOType:s,onBBOChange:u,toggleBBO:p}}function Ui(){let{state:e}=useAccount(),{wrongNetwork:t,disabledConnect:r}=useAppContext();return useMemo(()=>!t&&!r&&(e.status===AccountStatusEnum.EnableTrading||e.status===AccountStatusEnum.EnableTradingWithoutConnected),[e.status,t,r])}function Wi(e){let{base_tick:t,order_type:r,order_quantity:o,setValue:i}=e,n=useRef(0),s=useRef(6),a=()=>{if(t<1||r===OrderType.SCALED||!o)return;let p=utils.formatNumber(o,new Decimal(t||"0").toNumber());i("order_quantity",p,{shouldUpdateLastChangedField:false});},l=p=>u=>{n.current=p,[5,6].includes(n.current)&&(s.current=p);},c=p=>u=>{setTimeout(()=>{n.current===p&&(n.current=0);},300),p===3&&a();};return {currentFocusInput:n,lastScaledOrderPriceInput:s,onFocus:useMemoizedFn(l),onBlur:useMemoizedFn(c)}}function Hi({order_type_ext:e}){let[t,r]=useState(0),o=useRef(null);return useEffect(()=>{let i=o.current;if(!i)return;let n=new ResizeObserver(s=>{for(let a of s){let l=a.contentRect.width;l&&r(l);}});return n.observe(i),()=>{n.unobserve(i);}},[o,e]),{priceInputContainerRef:o,priceInputContainerWidth:t}}var Qu="orderly_order_sound_alert",Gr=e=>{let{symbol:t}=e,[r,o]=useLocalStorage("orderly-order-entry-order-type",OrderType.LIMIT),[i,n]=useLocalStorage("orderly-order-entry-order-side",OrderSide.BUY),s=useLeverageBySymbol(t),{notification:a}=useOrderlyContext(),[l,c]=useLocalStorage(Qu,a?.orderFilled?.defaultOpen??false),p=Ui(),{formattedOrder:u,setValue:m,setValues:d,symbolInfo:C,...T}=useOrderEntry(t,{initialOrder:{symbol:t,order_type:r,position_type:PositionType.PARTIAL,side:i}}),[O,h]=useLocalStorage("orderly-order-entry-tp_sl-switch",false),{currentLeverage:L}=useMarginRatio(),E=useEventEmitter(),Z=useRef(null),F=useRef(null),ue=useRef(null),{bboStatus:ye,bboType:U,setBBOType:K,onBBOChange:f,toggleBBO:Y}=Di({tpslSwitch:O,order_type:u.order_type,order_type_ext:u.order_type_ext,side:u.side,setOrderValues:d}),{currentFocusInput:de,lastScaledOrderPriceInput:be,onFocus:B,onBlur:j}=Wi({base_tick:C?.base_tick,order_type:u.order_type,order_quantity:u.order_quantity,setValue:m}),ie=()=>{d({tp_trigger_price:"",sl_trigger_price:"",position_type:PositionType.FULL});},xe=()=>{d({order_type_ext:void 0,position_type:PositionType.FULL});},ce=()=>{m("order_quantity",T.maxQty);},Nt=useMemoizedFn((_,k,ne)=>{if(_==="order_type"&&o(k),_==="side"&&n(k),_==="reduce_only"&&k||_==="order_type"&&(k===OrderType.STOP_LIMIT||k===OrderType.STOP_MARKET)){let D={tp_trigger_price:"",sl_trigger_price:"",[_]:k};_==="order_type"&&(D.order_type_ext=""),d(D);return}if(_==="order_type"&&k!==OrderType.LIMIT){let D={level:void 0,order_type_ext:void 0,[_]:k};d(D);return}if(_==="order_type"&&k===OrderType.SCALED){d({distribution_type:DistributionType.FLAT,[_]:k});return}m(_,k,ne);}),kt=_=>{h(_),_?xe():ie();};useEffect(()=>{let _=k=>{m("order_price",k);};return E.on("update:orderPrice",_),()=>{E.off("update:orderPrice",_);}},[]),useEffect(()=>{let _=ne=>{requestAnimationFrame(()=>{ne?.focus();});},k=ne=>{let D=removeTrailingZeros(ne[0]),{order_type:X,order_type_ext:Bt}=u;if(de.current===2&&(X===OrderType.STOP_LIMIT||X===OrderType.STOP_MARKET)){m("trigger_price",D),_(Z.current);return}if(Fe({order_type:X,order_type_ext:Bt})){K(void 0),d({order_type_ext:void 0,level:void 0}),requestAnimationFrame(()=>{E.emit("update:orderPrice",D);}),_(F.current);return}if(X===OrderType.STOP_LIMIT||X===OrderType.LIMIT){m("order_price",D),_(F.current);return}if(X===OrderType.STOP_MARKET){m("trigger_price",D),_(Z.current);return}if(X===OrderType.MARKET){K(void 0),d({order_type:OrderType.LIMIT,order_price:D}),_(F.current);return}if(X===OrderType.SCALED&&be.current){let je=be.current===5?"start_price":"end_price";m(je,D),_(F.current);return}if(X===OrderType.TRAILING_STOP){m("activated_price",D),_(ue.current);return}m("order_price",D),_(F.current);};return E.on("orderbook:item:click",k),()=>{E.off("orderbook:item:click",k);}},[u,C]),useEffect(()=>{T.reset(),T.resetMetaState();},[t]),useEffect(()=>{u.order_type===OrderType.SCALED&&!u.distribution_type&&m("distribution_type",DistributionType.FLAT);},[u.order_type,u.distribution_type]);let he=useComputedLTV(),wt=lt(),Rt=()=>{if(ye==="on"&&Y(),u.order_type===OrderType.LIMIT){let[_=0,k=0]=wt,ne=new Decimal(Xt(_)).add(Xt(k)).div(2).toNumber();requestAnimationFrame(()=>{E.emit("update:orderPrice",ne);});}},{priceInputContainerRef:Ze,priceInputContainerWidth:At}=Hi({order_type_ext:u.order_type_ext});return {...T,side:u.side,type:u.order_type,level:u.level,formattedOrder:u,setOrderValue:Nt,setOrderValues:d,currentLeverage:L,tpslSwitch:O,setTpslSwitch:kt,setMaxQty:ce,symbolInfo:C,onFocus:B,onBlur:j,priceInputRef:F,priceInputContainerRef:Ze,priceInputContainerWidth:At,triggerPriceInputRef:Z,activatedPriceInputRef:ue,canTrade:p,bboStatus:ye,bboType:U,onBBOChange:f,toggleBBO:Y,currentLtv:he,fillMiddleValue:Rt,symbol:t,soundAlert:l,setSoundAlert:c,currentFocusInput:de,symbolLeverage:s}};var Gu=e=>{let t=Gr(e);return jsx(zr,{...t,containerRef:e.containerRef,disableFeatures:e.disableFeatures})};
|
|
15
|
+
var De=e=>{let{pinned:t,orderTypeExtra:r}=e,{t:o}=useTranslation(),i=n=>s=>{e.onValueChange&&e.onValueChange("order_type_ext",s?n:"");};return useEffect(()=>{e.onValueChange?.("visible_quantity",e.hidden?0:1);},[e.hidden]),jsxs("div",{className:"oui-text-base-contrast-54",children:[jsxs(Flex,{justify:t?"start":"between",mb:3,width:t?"unset":"100%",className:"oui-gap-x-2 md:oui-gap-x-3",wrap:"wrap",gapY:1,children:[jsxs(Flex,{itemAlign:"center",children:[jsx(Checkbox,{"data-testid":"oui-testid-orderEntry-postOnly-checkBox",id:"toggle_order_post_only",className:"oui-peer",color:"white",variant:"radio",disabled:!e.showExtra,checked:r===OrderType.POST_ONLY,onCheckedChange:i(OrderType.POST_ONLY)}),jsx("label",{htmlFor:"toggle_order_post_only",className:cn("oui-ml-1 oui-text-2xs peer-data-[disabled]:oui-text-base-contrast-20","oui-whitespace-nowrap oui-break-normal"),children:o("orderEntry.orderType.postOnly")})]}),jsxs(Flex,{itemAlign:"center",children:[jsx(Checkbox,{"data-testid":"oui-testid-orderEntry-ioc-checkBox",id:"toggle_order_iov",color:"white",className:"oui-peer",variant:"radio",checked:r===OrderType.IOC,onCheckedChange:i(OrderType.IOC),disabled:!e.showExtra}),jsx("label",{htmlFor:"toggle_order_iov",className:cn("oui-ml-1 oui-text-2xs peer-data-[disabled]:oui-text-base-contrast-20","oui-whitespace-nowrap oui-break-normal"),children:o("orderEntry.orderType.ioc")})]}),jsxs(Flex,{itemAlign:"center",children:[jsx(Checkbox,{"data-testid":"oui-testid-orderEntry-fox-checkBox",id:"toggle_order_fok",color:"white",variant:"radio",className:"oui-peer",checked:r===OrderType.FOK,onCheckedChange:i(OrderType.FOK),disabled:!e.showExtra}),jsx("label",{htmlFor:"toggle_order_fok",className:cn("oui-ml-1 oui-text-2xs peer-data-[disabled]:oui-text-base-contrast-20","oui-whitespace-nowrap oui-break-normal"),children:o("orderEntry.orderType.fok")})]})]}),jsxs(Flex,{gapX:6,children:[jsxs(Flex,{children:[jsx(Checkbox,{"data-testid":"oui-testid-orderEntry-orderConfirm-checkBox",id:"toggle_order_confirm",color:"white",checked:e.needConfirm,onCheckedChange:n=>{e.setNeedConfirm(!!n);}}),jsx("label",{htmlFor:"toggle_order_confirm",className:"oui-ml-1 oui-text-2xs",children:o("orderEntry.orderConfirm")})]}),jsxs(Flex,{children:[jsx(Checkbox,{"data-testid":"oui-testid-orderEntry-hidden-checkBox",id:"toggle_order_hidden",color:"white",checked:e.hidden,onCheckedChange:n=>{e.setHidden(n);}}),jsx("label",{htmlFor:"toggle_order_hidden",className:"oui-ml-1 oui-text-2xs",children:o("orderEntry.hidden")})]})]}),!t&&jsxs(Fragment,{children:[jsx(Divider,{className:"oui-my-3"}),jsxs(Flex,{children:[jsx(Switch,{"data-testid":"oui-testid-orderEntry-additional-keepVisible-switch",id:"toggle_order_keep_visible",onCheckedChange:n=>{e.setPinned(n);}}),jsx("label",{htmlFor:"toggle_order_keep_visible",className:"oui-ml-1 oui-text-2xs",children:o("orderEntry.keepVisible")})]})]})]})};function Zr(e){let[t,r]=useState(false);return jsxs(PopoverRoot,{open:t,onOpenChange:r,children:[jsx(PopoverTrigger,{asChild:true,children:jsx("button",{"data-testid":"oui-testid-orderEntry-additional-button",onClick:()=>{r(true);},children:jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",className:"oui-fill-white/[.36] hover:oui-fill-white/80",children:jsx("path",{d:"M3.332 2.665a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667V3.332a.667.667 0 0 0-.667-.667zm4 0a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667V3.332a.667.667 0 0 0-.667-.667zm4 0a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667V3.332a.667.667 0 0 0-.667-.667zm-8 4a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667V7.332a.667.667 0 0 0-.667-.667zm4 0a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667V7.332a.667.667 0 0 0-.667-.667zm4 0a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667V7.332a.667.667 0 0 0-.667-.667zm-8 4a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667v-1.333a.667.667 0 0 0-.667-.667zm4 0a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667v-1.333a.667.667 0 0 0-.667-.667zm4 0a.667.667 0 0 0-.667.667v1.333c0 .368.299.667.667.667h1.333a.667.667 0 0 0 .667-.667v-1.333a.667.667 0 0 0-.667-.667z"})})})}),jsx(PopoverContent,{side:"top",align:"end",className:"oui-w-[230px]",children:jsx(De,{...e})})]})}var Xr="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",jr=e=>{let[t,r]=useState(Xr);return jsx("button",{...e,children:jsx("svg",{width:16,height:16,viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",focusable:false,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(Xr);},className:"oui-text-primary-darken",children:jsx("path",{d:t})})})};function eo(e){let{order:t,symbolInfo:r,onEdit:o,onDelete:i,errors:n}=e,{getErrorMsg:s}=useOrderEntryFormErrorMsg(n),{t:a}=useTranslation(),l=()=>{let p=s("tp_trigger_price");return t.tp_trigger_price||t.tp_order_price?jsxs(Flex,{direction:"column",itemAlign:"start",className:"oui-w-full",gap:4,children:[jsxs(Flex,{direction:"column",itemAlign:"start",justify:"between",gapY:1,className:"oui-w-full",children:[jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:a("tpsl.tpTriggerPrice")}),jsx(Text.numeral,{suffix:jsx(Text,{className:"oui-ml-1 oui-text-base-contrast-36",children:r.quote}),className:"oui-text-base-contrast",dp:r.quote_dp,children:t.tp_trigger_price??""})]}),jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:a("tpsl.tpOrderPrice")}),t.tp_order_type===OrderType.LIMIT?jsx(Text.numeral,{suffix:jsx(Text,{className:"oui-ml-1 oui-text-base-contrast-36",children:r.quote}),className:"oui-text-base-contrast",dp:r.quote_dp,children:t.tp_order_price??""}):jsx(Text,{className:"oui-text-base-contrast",children:"Market"})]}),jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:a("tpsl.totalEstTpPnl")}),jsx(Text.numeral,{suffix:jsx(Text,{className:"oui-ml-1 oui-text-base-contrast-36",children:r.quote}),coloring:true,dp:2,children:Number(t.tp_pnl)})]})]}),p&&jsxs(Flex,{justify:"start",itemAlign:"start",gap:2,className:"oui-w-full",children:[jsx("div",{className:"oui-relative oui-top-[7px] oui-size-1 oui-rounded-full oui-bg-danger"}),jsx(Text,{className:"oui-text-danger",children:p})]})]}):null},c=()=>{if(t.sl_trigger_price||t.sl_order_price){let p=s("sl_trigger_price");return jsx(Flex,{direction:"column",itemAlign:"start",className:"oui-w-full",gap:4,children:jsxs(Flex,{direction:"column",itemAlign:"start",justify:"between",gapY:1,className:"oui-w-full",children:[jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:a("tpsl.slTriggerPrice")}),jsx(Text.numeral,{suffix:jsx(Text,{className:"oui-ml-1 oui-text-base-contrast-36",children:r.quote}),className:"oui-text-base-contrast",dp:r.quote_dp,children:t.sl_trigger_price??""})]}),jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:a("tpsl.slOrderPrice")}),t.sl_order_type===OrderType.LIMIT?jsx(Text.numeral,{suffix:jsx(Text,{className:"oui-ml-1 oui-text-base-contrast-36",children:r.quote}),className:"oui-text-base-contrast",dp:r.quote_dp,children:t.sl_order_price??""}):jsx(Text,{className:"oui-text-base-contrast",children:"Market"})]}),jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:a("tpsl.totalEstSlPnl")}),jsx(Text.numeral,{coloring:true,suffix:jsx(Text,{className:"oui-ml-1 oui-text-base-contrast-36",children:r.quote}),dp:2,children:Number(t.sl_pnl)})]}),p&&jsxs(Flex,{justify:"start",itemAlign:"start",gap:2,className:"oui-w-full",children:[jsx("div",{className:"oui-relative oui-top-[7px] oui-size-1 oui-rounded-full oui-bg-danger"}),jsx(Text,{className:"oui-text-danger",children:p})]})]})})}return null};return jsxs(Flex,{direction:"column",itemAlign:"start",className:"oui-w-full oui-text-2xs",gap:4,children:[jsxs(Flex,{justify:"between",itemAlign:"start",className:"oui-w-full",children:[jsx(Text,{children:a("tpsl.advanced.title")}),jsxs(Flex,{gap:2,children:[jsx(mn,{size:12,className:"oui-cursor-pointer oui-text-base-contrast-54 hover:oui-text-base-contrast",opacity:1,onClick:i}),jsx(fn,{size:12,className:"oui-cursor-pointer oui-text-base-contrast-54 hover:oui-text-base-contrast",onClick:o})]})]}),jsxs(Flex,{justify:"between",itemAlign:"start",className:"oui-w-full",children:[jsx(Text,{children:a("tpsl.mode")}),jsx(Text,{className:"oui-text-base-contrast",children:t.position_type===PositionType.FULL?a("tpsl.fullPosition"):a("tpsl.partialPosition")})]}),l(),c(),jsx(Divider,{className:"oui-mb-2 oui-w-full"})]})}var mn=e=>jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:e.size,height:e.size,viewBox:"0 0 12 12",fill:"currentColor",...e,children:jsx("path",{d:"M5.99903 0.976562C5.44653 0.976562 4.99903 1.42406 4.99903 1.97656H2.49902C2.22302 1.97656 1.99902 2.20056 1.99902 2.47656C1.99902 2.75256 2.22302 2.97656 2.49902 2.97656H9.49903C9.77503 2.97656 9.99903 2.75256 9.99903 2.47656C9.99903 2.20056 9.77503 1.97656 9.49903 1.97656H6.99903C6.99903 1.42406 6.55153 0.976562 5.99903 0.976562ZM2.49902 3.97655V8.97654C2.49902 10.0715 3.40152 10.961 4.49903 10.961L7.51453 10.9765C8.61203 10.9765 9.49903 10.074 9.49903 8.97654V3.97655H2.49902ZM4.99903 5.47655C5.27503 5.47655 5.49903 5.70055 5.49903 5.97655V8.97654C5.49903 9.25254 5.27503 9.47654 4.99903 9.47654C4.72303 9.47654 4.49903 9.25254 4.49903 8.97654V5.97655C4.49903 5.70055 4.72303 5.47655 4.99903 5.47655ZM6.99903 5.47655C7.27503 5.47655 7.49903 5.70055 7.49903 5.97655V8.97654C7.49903 9.25254 7.27503 9.47654 6.99903 9.47654C6.72303 9.47654 6.49903 9.25254 6.49903 8.97654V5.97655C6.49903 5.70055 6.72303 5.47655 6.99903 5.47655Z"})}),fn=e=>jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 12 12",width:e.size,height:e.size,fill:"currentColor",...e,children:jsx("path",{d:"M8.49779 0.976562C8.36529 0.976562 8.23229 1.02357 8.13829 1.11707C7.86029 1.39507 6.85979 2.39558 6.63779 2.61808L2.13529 7.12059L1.63479 7.62059C1.56529 7.69059 1.52929 7.78958 1.50979 7.88658L1.00979 10.3881C0.939788 10.7381 1.23779 11.0361 1.58779 10.9666C1.90079 10.9036 3.77679 10.5286 4.08929 10.4661C4.18629 10.4466 4.28529 10.4106 4.35529 10.3411L4.85529 9.84059L9.35779 5.33808C9.58029 5.11608 10.5808 4.11506 10.8588 3.83756C10.9523 3.74356 10.9993 3.61056 10.9993 3.47806C10.9993 2.65956 10.7908 2.07456 10.3583 1.63306C9.92179 1.18756 9.33879 0.976562 8.49779 0.976562ZM8.69479 1.98606C9.14629 2.01256 9.43879 2.11608 9.63929 2.32108C9.84429 2.53008 9.97379 2.82008 10.0018 3.26258C9.72779 3.53608 9.32679 3.93106 8.99829 4.25956C8.60179 3.86306 8.11279 3.37407 7.71629 2.97757C8.04529 2.64907 8.42129 2.25956 8.69479 1.98606ZM6.99729 3.69657L8.27929 4.97858L4.49579 8.76207L3.21379 7.48009L6.99729 3.69657ZM2.49479 8.19908L3.77679 9.48107L3.72979 9.52809C3.39979 9.59409 2.73329 9.73359 2.11929 9.85659L2.44779 8.24608L2.49479 8.19908Z"})});var et=Ai.forwardRef((e,t)=>{let r=useId();return jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:14,height:14,viewBox:"0 0 14 14",fill:"currentColor",ref:t,focusable:false,...e,children:[jsx("path",{d:"M6.16411 1.53106C6.61974 1.07566 7.35888 1.07551 7.81442 1.53106L8.48833 2.20496C8.6797 2.39624 8.93064 2.51452 9.19755 2.54106L9.3132 2.54676H10.2662C10.9104 2.54691 11.4328 3.06926 11.4329 3.71343V4.66647C11.4329 4.97589 11.5559 5.27312 11.7747 5.49191L12.4492 6.16582C12.9047 6.62142 12.9047 7.36054 12.4492 7.81613L11.7753 8.49004L11.6972 8.57549C11.5272 8.78302 11.433 9.04426 11.4329 9.31491V10.2685L11.4272 10.3876C11.3715 10.9366 10.9348 11.373 10.3859 11.4289L10.2662 11.4352H9.3132L9.19755 11.4409C8.93066 11.4674 8.67969 11.5857 8.48833 11.777L7.81442 12.4509L7.72555 12.5306C7.29789 12.8795 6.68066 12.8794 6.25297 12.5306L6.16411 12.4509L5.4902 11.777C5.29887 11.5857 5.04786 11.4675 4.78097 11.4409L4.66533 11.4352H3.71171L3.59265 11.4289C3.04358 11.3731 2.60705 10.9367 2.55131 10.3876L2.54505 10.2685V9.31491C2.54499 9.04416 2.45089 8.78306 2.28072 8.57549L2.20325 8.49004L1.52934 7.81613C1.10213 7.38905 1.07534 6.71297 1.44902 6.25469L1.52934 6.16582L2.20382 5.49191C2.42248 5.27314 2.54505 4.97579 2.54505 4.66647V3.71343C2.54513 3.10945 3.00442 2.61221 3.59265 2.55246L3.71171 2.54676H4.66533L4.78097 2.54106C5.00968 2.51826 5.22694 2.4281 5.40475 2.28244L5.4902 2.20496L6.16411 1.53106ZM6.31507 3.02983C5.87756 3.46727 5.28401 3.71336 4.66533 3.71343H3.71171V4.66647C3.71171 5.28521 3.46614 5.87922 3.02869 6.31678L2.35421 6.99069L3.02812 7.6646C3.46577 8.10214 3.71164 8.69607 3.71171 9.31491V10.2685H4.66533C5.28396 10.2686 5.87757 10.5142 6.31507 10.9515L6.98898 11.6255L7.66289 10.9515C8.10045 10.5141 8.69446 10.2685 9.3132 10.2685H10.2662V9.31491C10.2663 8.69604 10.5127 8.10214 10.9504 7.6646L11.6243 6.99069L10.9498 6.31678C10.5122 5.8792 10.2662 5.28531 10.2662 4.66647V3.71343H9.3132C8.69438 3.71343 8.10047 3.46739 7.66289 3.02983L6.98898 2.35592L6.31507 3.02983ZM8.52934 4.64255C8.7571 4.41479 9.12639 4.41489 9.35421 4.64255C9.58202 4.87035 9.58202 5.23961 9.35421 5.46742L5.4657 9.35593C5.2379 9.58372 4.86863 9.58373 4.64083 9.35593C4.41318 9.12811 4.41308 8.75881 4.64083 8.53106L8.52934 4.64255ZM8.66435 7.83265C9.1245 7.83272 9.49777 8.2059 9.49777 8.66607C9.49769 9.12616 9.12445 9.49941 8.66435 9.49948C8.20419 9.49948 7.83101 9.12621 7.83094 8.66607C7.83094 8.20586 8.20415 7.83265 8.66435 7.83265ZM5.33126 4.49956C5.79141 4.49963 6.16468 4.87282 6.16468 5.33298C6.1646 5.79307 5.79136 6.16575 5.33126 6.16582C4.87111 6.16582 4.49793 5.79311 4.49785 5.33298C4.49785 4.87277 4.87106 4.49956 5.33126 4.49956Z",fill:`url(#${r})`}),jsx("defs",{children:jsxs("linearGradient",{id:r,x1:"12.7908",y1:"6.99084",x2:"1.1875",y2:"6.99084",gradientUnits:"userSpaceOnUse",children:[jsx("stop",{stopColor:"rgb(var(--oui-gradient-brand-end))"}),jsx("stop",{stopColor:"rgb(var(--oui-gradient-brand-start))",offset:1})]})})]})});process.env.NODE_ENV!=="production"&&(et.displayName="EffectiveFee");var Cn=e=>{let{content:t}=e,{isMobile:r}=useScreen(),{t:o}=useTranslation();return r?jsx(et,{onClick:()=>{modal.dialog({title:o("common.tips"),content:t});}}):jsx(Tooltip,{content:t,className:"oui-p-1.5 oui-text-base-contrast-54",children:jsx(et,{className:"oui-cursor-pointer"})})},Qt=e=>{let{t}=useTranslation(),{effectiveTakerFee:r,effectiveMakerFee:o}=e;return jsxs(Flex,{itemAlign:"center",justify:"between",width:"100%",gap:1,children:[jsxs(Flex,{width:"100%",itemAlign:"center",justify:"between",children:[jsx(Text,{className:"oui-truncate",size:"2xs",children:t("common.fees")}),jsx(AuthGuard,{fallback:()=>jsxs(Text,{className:"oui-truncate",size:"2xs",children:[t("portfolio.feeTier.column.taker"),": --% /"," ",t("portfolio.feeTier.column.maker"),": --%"]}),children:jsxs(Flex,{gap:1,children:[jsxs(Text,{className:"oui-truncate",size:"2xs",children:[t("portfolio.feeTier.column.taker"),":"]}),jsx(Text,{size:"2xs",className:"oui-text-base-contrast-80",children:r}),jsx(Text,{size:"2xs",children:"/"}),jsxs(Text,{className:"oui-truncate",size:"2xs",children:[t("portfolio.feeTier.column.maker"),":"]}),jsx(Text,{size:"2xs",className:"oui-text-base-contrast-80",children:o})]})})]}),jsx(Cn,{content:t("portfolio.feeTier.effectiveFee.tooltip")})]})};var Gt=e=>jsx(Qt,{...e});var Ht=e=>{let{t}=useTranslation(),{takerFee:r,makerFee:o}=e;return jsx(Flex,{itemAlign:"center",justify:"between",width:"100%",gap:1,children:jsxs(Flex,{width:"100%",itemAlign:"center",justify:"between",children:[jsx(Text,{className:"oui-truncate",size:"2xs",children:t("common.fees")}),jsx(AuthGuard,{fallback:()=>jsxs(Text,{className:"oui-truncate",size:"2xs",children:[t("portfolio.feeTier.column.taker"),": --% /"," ",t("portfolio.feeTier.column.maker"),": --%"]}),children:jsxs(Flex,{gap:1,children:[jsxs(Text,{className:"oui-truncate",size:"2xs",children:[t("portfolio.feeTier.column.taker"),":"]}),jsx(Text,{size:"2xs",className:"oui-text-base-contrast-80",children:r}),jsx(Text,{size:"2xs",children:"/"}),jsxs(Text,{className:"oui-truncate",size:"2xs",children:[t("portfolio.feeTier.column.maker"),":"]}),jsx(Text,{size:"2xs",className:"oui-text-base-contrast-80",children:o})]})})]})})};var Kt=e=>jsx(Ht,{...e});var Sn=e=>typeof e<"u"&&e!==null,Yt=()=>{let{refereeRebate:e,...t}=useFeeState();return Sn(e)?jsx(Gt,{...pick(["effectiveTakerFee","effectiveMakerFee"],t)}):jsx(Kt,{...pick(["takerFee","makerFee"],t)})};var lo=[.01,.05,.1],co=forwardRef((e,t)=>{let{t:r}=useTranslation(),[o,i]=useState(),[n,s]=useState(""),[a,l]=useState(void 0);useImperativeHandle(t,()=>({getValue:()=>n?new Decimal(n)?.toNumber():o})),useEffect(()=>{e.initialValue&&!lo.includes(e.initialValue)?s(e.initialValue.toString()):i(e.initialValue);},[e.initialValue,open]);let c=m=>{i(m),s(""),l(void 0);},p=m=>{if(!m){s(m);return}let d=new Decimal(m);i(void 0),d.gt(3)?(s("3"),l(r("orderEntry.slippage.error.exceed"))):(s(m),l(void 0));},u=e.isMobile?jsx("button",{onClick:()=>{modal.alert({title:r("common.tips"),message:jsx(Text,{size:"2xs",children:r("orderEntry.slippage.tips")})});},children:jsx(ExclamationFillIcon,{className:"oui-text-base-contrast-54",size:16})}):jsx(Tooltip,{content:jsx(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:jsx(TooltipTrigger,{children:jsx(ExclamationFillIcon,{className:"oui-text-base-contrast-54",size:16})})});return jsxs("div",{className:"oui-text-2xs",children:[jsxs(Flex,{mb:2,gapX:1,children:[jsx(Text,{size:"xs",children:r("orderEntry.slippage")}),u]}),jsxs(Flex,{gapX:2,children:[lo.map(m=>jsx(Mn,{value:m,isActive:o===m,onClick:()=>{c(m);}},m)),jsx(Input,{suffix:"%",formatters:[inputFormatter.numberFormatter,inputFormatter.dpFormatter(2)],value:n,onValueChange:p,classNames:{root:cn("oui-rounded-md oui-bg-base-6","oui-h-[40px] oui-w-[74px]"),input:"oui-text-base-contrast",additional:"oui-pl-1"}})]}),!!a&&jsx(Box,{mt:5,className:"-oui-mb-5",children:jsx(Text,{size:"2xs",color:"danger",children:a})})]})}),Mn=({value:e,isActive:t,onClick:r})=>jsx(Flex,{intensity:600,justify:"center",itemAlign:"center",r:"md",width:74,height:40,className:cn("oui-cursor-pointer oui-select-none",t&&"oui-bg-primary-light"),onClick:r,children:jsxs(Text,{size:"sm",intensity:80,children:[e,"%"]})});var po=e=>{let{t}=useTranslation(),[r,{setTrue:o,setFalse:i,toggle:n}]=useBoolean(false),{isMobile:s}=useScreen(),a=useRef(null),l=()=>{let c=a.current?.getValue();return e.setSlippage(c?c.toString():"1"),i(),Promise.resolve(true)};return jsxs(Fragment,{children:[jsx(SimpleDialog,{open:r,onOpenChange:n,title:t("common.settings"),contentProps:{size:s?"xs":"sm"},actions:{primary:{disabled:false,label:t("common.save"),onClick:l},secondary:{label:t("common.cancel"),onClick:()=>i()}},children:jsx(co,{ref:a,isMobile:s,initialValue:e.slippage?Number(e.slippage):void 0})}),jsxs(Flex,{justify:"between",children:[jsx(Text,{size:"2xs",children:t("orderEntry.slippage")}),jsx(AuthGuard,{fallback:()=>jsxs(Text,{size:"2xs",children:[t("orderEntry.slippage.est"),": -% / ",t("common.max"),": --%"]}),children:jsxs(Flex,{gap:1,children:[jsx(Text.numeral,{size:"2xs",rule:"percentages",prefix:`${t("orderEntry.slippage.est")}: `,suffix:` / ${t("common.max")}: `,children:e.estSlippage??0}),jsx("button",{className:"oui-text-2xs",onClick:()=>o(),children:jsxs(Flex,{className:"oui-gap-0.5",as:"span",children:[jsx(Text,{size:"2xs",className:"oui-text-primary",children:`${e.slippage||"-"}%`}),jsx(EditIcon,{className:"oui-text-primary oui-hidden md:oui-block",size:12,opacity:1})]})})]})})]})]})};var mo=e=>jsx(po,{...e});function yo(e){let{canTrade:t,disableFeatures:r,orderType:o}=e,{t:i}=useTranslation();return jsxs("div",{className:"oui-space-y-[2px] xl:oui-space-y-1",children:[jsxs(Flex,{justify:"between",children:[jsx(Text,{size:"2xs",children:i("orderEntry.estLiqPrice")}),jsx(Text.numeral,{unit:e.quote,size:"2xs",dp:e.dp,className:"oui-text-base-contrast-80",unitClassName:"oui-ml-1 oui-text-base-contrast-36",children:t?e.estLiqPrice??"--":"--"})]}),o===OrderType.MARKET&&!r?.includes("slippageSetting")&&jsx(mo,{slippage:e.slippage,setSlippage:e.setSlippage,estSlippage:e.estSlippage}),!r?.includes("feesInfo")&&jsx(Yt,{})]})}var es=e=>e>=0&&e<50?"oui-text-success":e>=50&&e<80?"oui-text-warning":e>=80?"oui-text-danger":"",jt=e=>{let{t}=useTranslation(),{ltv_threshold:r,negative_usdc_threshold:o,isThresholdLoading:i,holdingData:n=[],currentLtv:s,onConvert:a}=e;return jsxs(Flex,{gap:1,className:"oui-w-72 oui-max-w-72",direction:"column",children:[jsxs(Flex,{width:"100%",justify:"between",itemAlign:"center",children:[jsx(Text,{intensity:36,size:"xs",children:t("common.assets")}),jsx(Text,{intensity:36,size:"xs",children:t("transfer.deposit.collateralContribution")})]}),n.map((l,c)=>jsxs(Flex,{width:"100%",justify:"between",itemAlign:"center",children:[jsx(Text,{intensity:80,size:"xs",children:l.token}),jsx(Text,{size:"xs",intensity:80,className:cn(Number(l.collateralContribution)<0&&"oui-text-warning"),children:removeTrailingZeros(l.collateralContribution)})]},`item-${c}`)),jsx(Divider,{className:"oui-w-full"}),jsxs(Flex,{width:"100%",justify:"between",itemAlign:"center",children:[jsx(Text,{intensity:36,size:"xs",children:t("transfer.LTV.currentLTV")}),jsxs(Text,{size:"xs",intensity:36,className:cn("oui-select-none",es(s)),children:[s,"%"]})]}),jsx(Text,{className:"oui-py-2",intensity:54,size:"2xs",children:t("transfer.LTV.tooltip",{threshold:i?"-":r,usdcThreshold:i?"-":o})}),jsx(Button,{fullWidth:true,size:"md",variant:"outlined",color:"secondary",onClick:a,children:t("transfer.convert.convertAssets")})]})};var ds=()=>{let{data:e,error:t,isLoading:r}=useQuery("/v1/public/auto_convert_threshold",{errorRetryCount:3});return {ltv_threshold:new Decimal(e?.ltv_threshold??0).mul(100).toNumber(),negative_usdc_threshold:e?.negative_usdc_threshold,isLoading:r,error:t}},Jt=()=>{let{data:e=[],isLoading:t}=useHoldingStream(),{ltv_threshold:r,negative_usdc_threshold:o,isLoading:i}=ds(),n=useTokensInfo(),{getIndexPrice:s}=useIndexPricesStream(),a=e.map(p=>{let u=n?.find(({token:T})=>T===p.token),m=s(p.token),d=u?account.collateralRatio({baseWeight:u.base_weight??0,discountFactor:u.discount_factor??0,collateralQty:p.holding,collateralCap:u?.user_max_qty??p.holding,indexPrice:m}):zero,C=account.collateralContribution({collateralQty:p.holding,collateralCap:u?.user_max_qty??p.holding,collateralRatio:d.toNumber(),indexPrice:m});return {...p,collateralContribution:C}}),l=useComputedLTV(),c=useCallback(async()=>modal.show("ConvertDialogId"),[]);return {holdingData:a,isHoldingLoading:t,ltv_threshold:r,negative_usdc_threshold:o,isThresholdLoading:i,currentLtv:l,onConvert:c}};var nt=()=>{let e=Jt();return jsx(jt,{...e})};var vo=e=>{let{canTrade:t,currentLtv:r,quote:o,freeCollateral:i}=e,{t:n}=useTranslation(),s=useMemo(()=>typeof r=="number"&&!Number.isNaN(r)&&r>0,[r]);return jsxs(Flex,{itemAlign:"center",justify:"between",children:[jsx(Text,{size:"2xs",children:n("common.available")}),jsxs(Flex,{itemAlign:"center",justify:"center",gap:1,children:[s&&jsx(Tooltip,{className:"oui-bg-base-6 oui-p-2",content:jsx(nt,{}),children:jsx(InfoCircleIcon,{className:"oui-cursor-pointer oui-text-warning oui-opacity-80"})}),jsx(Text.numeral,{unit:o,size:"2xs",className:"oui-text-base-contrast-80",unitClassName:"oui-ml-1 oui-text-base-contrast-54",dp:2,padding:false,children:t?i:0})]})]})};function Fe(e){let{order_type:t,order_type_ext:r}=e,o=[OrderType.ASK,OrderType.BID].includes(r);return t?t===OrderType.LIMIT&&o:o}function ho(e,t){if([BBOOrderType.COUNTERPARTY1,BBOOrderType.COUNTERPARTY5].includes(e))return t===OrderSide.BUY?OrderType.ASK:OrderType.BID;if([BBOOrderType.QUEUE1,BBOOrderType.QUEUE5].includes(e))return t===OrderSide.BUY?OrderType.BID:OrderType.ASK}function Eo(e){if([BBOOrderType.COUNTERPARTY1,BBOOrderType.QUEUE1].includes(e))return OrderLevel.ONE;if([BBOOrderType.COUNTERPARTY5,BBOOrderType.QUEUE5].includes(e))return OrderLevel.FIVE}function So(e){let t=e?.data?.rows||[];if(t.length>0){let r=t.length,o=t.filter(i=>i.success).length;return o===r?i18n.t("orderEntry.scaledOrder.fullySuccessful",{total:r}):o===0?i18n.t("orderEntry.scaledOrder.allFailed"):i18n.t("orderEntry.scaledOrder.partiallySuccessful",{successCount:o,total:r})}}var tr=e=>Number.isNaN(Number(e))?0:Number(e);var nr=e=>{let{symbolInfo:t,order:r,onConfirm:o,onCancel:i}=e,{quote:n,quote_dp:s,base_dp:a}=t,{side:l,order_type:c,order_type_ext:p,level:u,symbol:m}=r,{t:d}=useTranslation(),[{rows:C}]=usePositionStream(m),v=C?.[0]?.position_qty,[h,I]=useLocalStorage("orderly_order_confirm",true),N=()=>r.position_type===PositionType.FULL?jsx(Text,{children:d("tpsl.positionType.full")}):jsx(Text,{children:d("tpsl.positionType.partial")}),ne=()=>{if(c===OrderType.MARKET||c===OrderType.STOP_MARKET)return jsx(Text,{intensity:80,children:d("common.marketPrice")});if(Fe({order_type:c,order_type_ext:p})){let A=getBBOType({type:p,side:l,level:u}),$={[BBOOrderType.COUNTERPARTY1]:d("orderEntry.bbo.counterparty1"),[BBOOrderType.COUNTERPARTY5]:d("orderEntry.bbo.counterparty5"),[BBOOrderType.QUEUE1]:d("orderEntry.bbo.queue1"),[BBOOrderType.QUEUE5]:d("orderEntry.bbo.queue5")}[A];return jsx(Text,{intensity:80,children:$})}return jsx(Text.numeral,{unit:n,rule:"price",className:"oui-text-base-contrast",unitClassName:"oui-text-base-contrast-36 oui-ml-1",dp:s,padding:false,children:r.order_price})},M=({price:A,isOrderPrice:$,isEnable:J,colorType:be})=>J?!A&&$?jsx(Text,{className:"oui-text-base-contrast-36",children:d("common.marketPrice")}):jsx(Text.numeral,{unit:"USDC",rule:"price",className:cn("oui-text-base-contrast",be==="TP"?"oui-text-trade-profit":"oui-text-trade-loss"),unitClassName:"oui-text-base-contrast-36 oui-ml-1",dp:s,padding:false,children:A}):jsx(Text,{className:"oui-text-base-contrast-36",children:"-- USDC"}),K=()=>{if(!v||!r.order_quantity)return null;let A=new Decimal(r.order_quantity);return r.position_type===PositionType.FULL&&(A=A.plus(new Decimal(v??0))),jsxs(Flex,{justify:"between",children:[jsx(Text,{children:r.position_type===PositionType.FULL?d("common.positionQty"):d("common.orderQty")}),jsx(Text.numeral,{rule:"price",dp:a,padding:false,className:"oui-text-base-contrast",children:A.toNumber()})]})},de=()=>{if(c===OrderType.TRAILING_STOP){let{activated_price:A,callback_value:$,callback_rate:J}=r,be=J?jsxs(Flex,{justify:"between",children:[jsx(Text,{children:d("orderEntry.trailingRate")}),jsxs(Text,{className:"oui-text-base-contrast",children:[J,"%"]})]}):jsx(at,{title:d("orderEntry.trailingValue"),value:$,unit:n,dp:s});return jsxs(Fragment,{children:[A&&jsx(at,{title:d("common.triggerPrice"),value:A,unit:n,dp:s}),be]})}return jsxs(Fragment,{children:[jsxs(Flex,{justify:"between",children:[jsx(Text,{children:d("common.price")}),ne()]}),jsx(at,{title:d("common.estTotal"),value:r.total,unit:n,dp:s})]})},k=jsxs(Flex,{justify:"between",children:[jsx(Text.formatted,{rule:"symbol",showIcon:true,children:r.symbol}),jsxs(Flex,{justify:"end",gapX:1,children:[jsx(Es,{type:c}),l===OrderSide.BUY?jsx(Badge,{color:"buy",size:"sm",children:d("common.buy")}):jsx(Badge,{color:"sell",size:"sm",children:d("common.sell")})]})]}),Y=jsxs(Flex,{justify:"between",children:[jsx(Text,{children:d("common.orderQty")}),jsx(Text.numeral,{rule:"price",dp:a,padding:false,className:"oui-text-base-contrast",children:r.order_quantity})]}),f=(c===OrderType.STOP_LIMIT||c===OrderType.STOP_MARKET&&r.trigger_price)&&jsx(at,{title:d("common.trigger"),value:r.trigger_price,unit:n,dp:s}),j=(r.tp_trigger_price||r.sl_trigger_price)&&jsxs(Fragment,{children:[jsx(Divider,{className:"oui-my-4"}),jsxs("div",{className:textVariants({size:"sm",intensity:54,className:"oui-space-y-1 oui-w-full oui-flex oui-flex-col oui-gap-3"}),children:[jsx(Text,{className:"oui-text-base-contrast",children:N()}),K(),jsxs(Flex,{direction:"column",justify:"between",itemAlign:"start",gap:1,className:"oui-w-full",children:[jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:d("tpsl.tpTriggerPrice")}),M({price:r.tp_trigger_price??"",isOrderPrice:false,isEnable:!!r.tp_trigger_price,colorType:"TP"})]}),jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:d("tpsl.tpOrderPrice")}),M({price:r.tp_order_price??"",isOrderPrice:true,isEnable:!!r.tp_trigger_price,colorType:"TP"})]})]}),jsxs(Flex,{direction:"column",justify:"between",itemAlign:"start",gap:1,className:"oui-w-full",children:[jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:d("tpsl.slTriggerPrice")}),M({price:r.sl_trigger_price??"",isOrderPrice:false,isEnable:!!r.sl_trigger_price,colorType:"SL"})]}),jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:d("tpsl.slOrderPrice")}),M({price:r.sl_order_price??"",isOrderPrice:true,isEnable:!!r.sl_trigger_price,colorType:"SL"})]})]})]})]}),ce=jsxs(Flex,{gapX:1,pt:4,pb:5,children:[jsx(Checkbox,{id:"orderConfirm",color:"white",onCheckedChange:A=>{I(!A);}}),jsx("label",{htmlFor:"orderConfirm",className:textVariants({size:"xs",intensity:54}),children:d("orderEntry.disableOrderConfirm")})]}),Pe=jsxs(Grid,{cols:2,gapX:3,children:[jsx(Button,{color:"secondary",size:"md",onClick:()=>i(),children:d("common.cancel")}),jsx(Button,{size:"md",onClick:()=>o(),children:d("common.confirm")})]});return jsxs(Fragment,{children:[k,jsx(Divider,{className:"oui-my-4"}),jsxs("div",{className:textVariants({size:"sm",intensity:54,className:"oui-space-y-1"}),children:[Y,f,de()]}),j,ce,Pe]})},at=e=>{let{title:t,value:r,unit:o,dp:i}=e;return jsxs(Flex,{justify:"between",children:[jsx(Text,{children:t}),jsx(Text.numeral,{unit:o,rule:"price",dp:i,padding:false,className:"oui-text-base-contrast",unitClassName:"oui-text-base-contrast-36 oui-ml-1",children:r})]})};nr.displayName="OrderConfirmDialog";var Es=e=>{let{t}=useTranslation(),r=useMemo(()=>{switch(e.type){case OrderType.LIMIT:return t("orderEntry.orderType.limit");case OrderType.MARKET:return t("common.marketPrice");case OrderType.STOP_LIMIT:return t("orderEntry.orderType.stopLimit");case OrderType.STOP_MARKET:return t("orderEntry.orderType.stopMarket");case OrderType.TRAILING_STOP:return t("orderEntry.orderType.trailingStop");default:return ""}},[e.type]);return jsx(Badge,{color:"neutral",size:"sm",children:r})},Ss=e=>{let{close:t,resolve:r,reject:o,...i}=e;return jsx(nr,{...i,onCancel:()=>{o(),t();},onConfirm:()=>{r(),t();}})},sr="orderConfirm";registerSimpleDialog(sr,Ss,{size:"sm",title:()=>i18n.t("orderEntry.orderConfirm")});var ur=e=>{let{order:t,symbolInfo:r,dataSource:o,national:i,askAndBid:n,totalQuantity:s}=e,{base:a,quote:l,base_dp:c,quote_dp:p}=r,{t:u}=useTranslation(),m=()=>{e.reject(),e.close?.();},d=()=>{e.resolve(),e.close?.();},C=useMemo(()=>[{title:u("common.symbol"),dataIndex:"symbol",width:125,render:(T,v)=>jsxs(Flex,{gap:2,children:[jsx("div",{className:cn("oui-h-[38px] oui-w-1 oui-shrink-0 oui-rounded-[1px]",v.side===OrderSide.BUY?"oui-bg-trade-profit":"oui-bg-trade-loss")}),jsxs(Flex,{direction:"column",itemAlign:"start",children:[jsxs(Flex,{gapX:1,children:[jsx(TokenIcon,{symbol:T,className:"oui-size-3"}),jsx(Text.formatted,{rule:"symbol",size:"xs",formatString:"base-type",children:T})]}),jsx(Badge,{color:"neutral",size:"xs",children:u("orderEntry.orderType.limit")})]})]})},{title:u("common.quantity"),dataIndex:"order_quantity",width:100,render:(T,v)=>jsx(Text.numeral,{rule:"price",dp:c,padding:false,color:v.side===OrderSide.BUY?"buy":"sell",children:T})},{title:u("common.orderPrice"),dataIndex:"order_price",width:100,render:(T,v)=>{let h=!!(v.side===OrderSide.BUY?n?.[0]&&Number(T)>=n?.[0]:n?.[1]&&Number(T)<=n?.[1]);return jsxs(Flex,{gapX:1,children:[jsx(Text.numeral,{rule:"price",dp:p,children:T}),h&&jsx(Tooltip,{content:u("orderEntry.confirmScaledOrder.orderPrice.warning"),className:"oui-w-[240px] oui-text-2xs oui-font-semibold oui-text-base-contrast-80",children:jsx(Bs,{className:"oui-text-warning-darken"})})]})}}],[u,r,n,c,p]);return jsxs("div",{className:"oui-font-semibold",children:[jsx(DataTable,{classNames:{root: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:C,bordered:true,onRow:()=>({className:cn("oui-h-[50px]")})}),jsxs("div",{className:"oui-mb-5 oui-mt-4 oui-text-2xs",children:[jsxs(Flex,{justify:"between",children:[jsx(Text,{children:u("orderEntry.totalOrders")}),jsx(Text,{intensity:80,children:t.orders?.length})]}),jsxs(Flex,{justify:"between",mt:2,children:[jsx(Text,{children:u("orderEntry.totalQuantity")}),jsx(Text.numeral,{rule:"price",unit:a,dp:c,padding:false,intensity:80,unitClassName:"oui-text-base-contrast-36 oui-ml-1",children:s})]}),jsxs(Flex,{justify:"between",mt:2,children:[jsx(Text,{children:u("common.notional")}),jsx(Text.numeral,{rule:"price",unit:l,dp:p,padding:false,intensity:80,unitClassName:"oui-text-base-contrast-36 oui-ml-1",children:i})]})]}),jsxs(Grid,{cols:2,gapX:3,children:[jsx(Button,{color:"secondary",size:"md",onClick:m,children:u("common.cancel")}),jsx(Button,{size:"md",onClick:d,children:u("common.confirm")})]})]})},Bs=forwardRef((e,t)=>jsx("svg",{width:"12",height:"13",viewBox:"0 0 12 13",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",ref:t,...e,children:jsx("path",{d:"M5.99951 1.50708C3.23811 1.50708 0.999512 3.74558 0.999512 6.50708C0.999512 9.26858 3.23811 11.5071 5.99951 11.5071C8.76091 11.5071 10.9995 9.26858 10.9995 6.50708C10.9995 3.74558 8.76091 1.50708 5.99951 1.50708ZM5.99951 4.00708C6.27566 4.00708 6.49951 4.23108 6.49951 4.50708C6.49951 4.78308 6.27566 5.00708 5.99951 5.00708C5.72336 5.00708 5.49951 4.78308 5.49951 4.50708C5.49951 4.23108 5.72336 4.00708 5.99951 4.00708ZM5.99951 5.50708C6.27566 5.50708 6.49951 5.73108 6.49951 6.00708V8.50708C6.49951 8.78308 6.27566 9.00708 5.99951 9.00708C5.72336 9.00708 5.49951 8.78308 5.49951 8.50708V6.00708C5.49951 5.73108 5.72336 5.50708 5.99951 5.50708Z"})}));function ut(){let e=useEventEmitter(),[t,r]=useState([0,0]),o=useDebouncedCallback(i=>{let n=i.asks?.[i.asks.length-1]?.[0],s=i.bids?.[0]?.[0];r([n,s]);},200);return useEffect(()=>(e.on("orderbook:update",o),()=>{e.off("orderbook:update",o),o.cancel();}),[o]),t}function dr(e){let{order:t,symbolInfo:r}=e,o=t.orders,i=ut(),n=useMemo(()=>o.reduce((l,c)=>l.add(new Decimal(c.order_price).mul(c.order_quantity)),zero).toNumber(),[o]),s=useMemo(()=>o.reduce((l,c)=>l.add(new Decimal(c.order_quantity)),zero).toString(),[o,r.base_dp]);return {dataSource:o,national:n,askAndBid:i,totalQuantity:s}}var Bo=e=>{let t=dr(e);return jsx(ur,{...e,...t})},dt="scaledOrderConfirm";registerSimpleDialog(dt,Bo,{size:"md",title:()=>i18n.t("orderEntry.confirmScaledOrder"),contentProps:{}});var Mo=({result:e,hasOrderQty:t,className:r})=>{if(!e||!e.isConstrained||!t)return null;let{selectedLeverage:o,effectiveLeverage:i,constraintMessage:n}=e,s=a=>Math.floor(new Decimal(a).toNumber());return jsx(Tooltip,{title:n||"Effective leverage is constrained by position size",side:"top",children:jsxs(Flex,{className:cn("oui-rounded oui-border oui-border-orange-500/50 oui-bg-orange-500/10","oui-px-3 oui-py-2","oui-gap-x-2",r),itemAlign:"center",children:[jsx("span",{className:"oui-text-orange-400 oui-text-sm",children:"\u26A0\uFE0F"}),jsx("div",{className:"oui-flex-1",children:jsxs(Text,{size:"xs",intensity:80,children:["Selected:"," ",jsxs("span",{className:"oui-font-semibold oui-line-through",children:[s(o),"x"]})," \u2192 ","Effective:"," ",jsxs("span",{className:"oui-font-semibold oui-text-orange-400",children:[s(i),"x"]})]})})]})})};var Do=e=>{let{t}=useTranslation(),r=useMemo(()=>[{label:t("orderEntry.orderType.limitOrder"),value:OrderType.LIMIT},{label:t("orderEntry.orderType.marketOrder"),value:OrderType.MARKET},{label:t("orderEntry.orderType.stopLimit"),value:OrderType.STOP_LIMIT},{label:t("orderEntry.orderType.stopMarket"),value:OrderType.STOP_MARKET},{label:t("orderEntry.orderType.scaledOrder"),value:OrderType.SCALED},{label:t("orderEntry.orderType.trailingStop"),value:OrderType.TRAILING_STOP}],[t]),o=useMemo(()=>({[OrderType.LIMIT]:t("orderEntry.orderType.limit"),[OrderType.MARKET]:t("common.marketPrice"),[OrderType.STOP_LIMIT]:t("orderEntry.orderType.stopLimit"),[OrderType.STOP_MARKET]:t("orderEntry.orderType.stopMarket"),[OrderType.SCALED]:t("orderEntry.orderType.scaledOrder"),[OrderType.TRAILING_STOP]:t("orderEntry.orderType.trailingStop")}),[t]);return jsx(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"},classNames:{trigger:"oui-bg-base-6 oui-border-line"},valueFormatter:(i,n)=>{if(!r.find(l=>l.value===i))return jsx(Text,{size:"xs",children:n.placeholder});let a=o[i];return jsx(Text,{size:"xs",color:e.canTrade?e.side===OrderSide.BUY?"buy":"sell":void 0,children:a})},size:"md"})};var Qo=e=>{let{symbol:t,side:r,symbolLeverage:o}=e,{isMobile:i}=useScreen(),{maxLeverage:n}=useSymbolLeverage(t),s=o||n,a=()=>{let l=i?SymbolLeverageSheetId:SymbolLeverageDialogId;modal.show(l,{symbol:t,side:r,curLeverage:s});};return jsxs(Flex,{justify:"center",itemAlign:"center",gapX:1,className:cn("oui-h-8","oui-rounded oui-border oui-border-line oui-bg-base-6","oui-cursor-pointer oui-select-none oui-text-xs oui-font-semibold oui-text-base-contrast-54"),onClick:a,children:[jsx(Text,{children:"Cross"}),jsx(Text.numeral,{dp:0,rm:Decimal.ROUND_DOWN,unit:"X",children:s})]})};function Wo(e){let{canTrade:t,side:r,order_type:o,setOrderValue:i}=e,{t:n}=useTranslation();return jsxs(Fragment,{children:[jsxs("div",{className:cn("oui-grid oui-w-full oui-flex-1 oui-gap-x-2 lg:oui-flex lg:oui-gap-x-[6px]","oui-grid-cols-2"),children:[jsx(Button,{onClick:()=>{e.setOrderValue("side",OrderSide.BUY);},size:"md",fullWidth:true,"data-type":OrderSide.BUY,className:cn(r===OrderSide.BUY&&t?"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:n("common.buy")}),jsx(Button,{onClick:()=>{e.setOrderValue("side",OrderSide.SELL);},"data-type":OrderSide.SELL,fullWidth:true,size:"md",className:cn(r===OrderSide.SELL&&e.canTrade?"oui-bg-danger-darken hover:oui-bg-danger-darken/80 active:oui-bg-danger-darken/80":"oui-bg-base-7 oui-text-base-contrast-36 hover:oui-bg-base-6 active:oui-bg-base-6"),"data-testid":"oui-testid-orderEntry-side-sell-button",children:n("common.sell")})]}),jsxs("div",{className:cn("oui-grid oui-gap-x-2 lg:oui-flex lg:oui-gap-x-[6px]","oui-grid-cols-2"),children:[jsx("div",{className:"oui-w-full",children:jsx(Do,{type:o,side:r,canTrade:t,onChange:s=>{i("order_type",s);}})}),jsx("div",{className:"oui-w-full",children:jsx(Qo,{symbol:e.symbol,side:e.side,symbolLeverage:e.symbolLeverage})})]})]})}var fr=createContext({}),O=()=>useContext(fr);var Ho=e=>{let{errorMsgVisible:t,symbolInfo:r,onFocus:o,onBlur:i,getErrorMsg:n,setOrderValue:s,setOrderValues:a,currentFocusInput:l,errors:c,priceInputRef:p,priceInputContainerRef:u,triggerPriceInputRef:m,activatedPriceInputRef:d}=e,C=useMemo(()=>({errorMsgVisible:t,symbolInfo:r,onFocus:o,onBlur:i,getErrorMsg:n,setOrderValue:s,setOrderValues:a,currentFocusInput:l,errors:c,priceInputRef:p,priceInputContainerRef:u,triggerPriceInputRef:m,activatedPriceInputRef:d}),[t,r,o,i,n,s,a,l,c,p,u,m,d]);return jsx(fr.Provider,{value:C,children:e.children})};var S=forwardRef((e,t)=>{let{placeholder:r="0",inputMode:o}=e,{errorMsgVisible:i}=O();return jsx(Input.tooltip,{ref:t,tooltip:i?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:jsx(ya,{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);},inputMode:o,formatters:e.overrideFormatters||[...e.formatters??EMPTY_LIST,inputFormatter.numberFormatter,inputFormatter.currencyFormatter,inputFormatter.decimalPointFormatter],classNames:{root:cn("orderly-order-entry oui-relative oui-h-[54px] oui-rounded oui-border oui-border-solid oui-border-line oui-px-2 oui-py-1 group-first:oui-rounded-t-xl group-last:oui-rounded-b-xl",e.className,e.classNames?.root),input:cn("oui-mb-1 oui-mt-5 oui-h-5",e?.classNames?.input),suffix:cn("oui-absolute oui-right-0 oui-top-0 oui-justify-start oui-py-2 oui-text-2xs oui-text-base-contrast-36",e.classNames?.suffix)},readOnly:e.readonly})});S.displayName="CustomInput";var ya=e=>jsx("label",{htmlFor:e.id,className:cn("oui-absolute oui-left-2 oui-top-[7px] oui-text-2xs oui-text-base-contrast-36",e.className),children:e.children});var Ko=e=>{let{t}=useTranslation(),r=useMemo(()=>[{label:t("orderEntry.bbo.counterparty1"),value:BBOOrderType.COUNTERPARTY1},{label:t("orderEntry.bbo.counterparty5"),value:BBOOrderType.COUNTERPARTY5},{label:t("orderEntry.bbo.queue1"),value:BBOOrderType.QUEUE1},{label:t("orderEntry.bbo.queue5"),value:BBOOrderType.QUEUE5}],[]);return jsx(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,i)=>{let n=r.find(s=>s.value===o);return jsx(Box,{children:jsx(Text,{size:"sm",children:n?.label})})}})};var $o=e=>{let{quote:t,bbo:r,fillMiddleValue:o}=e,{t:i}=useTranslation();return jsxs(Flex,{direction:"column",itemAlign:"end",className:cn("oui-order-entry-limit-price-input-suffix","oui-text-2xs"),children:[t,jsxs(Flex,{justify:"end",itemAlign:"center",gap:2,children:[jsx(Flex,{px:3,height:20,justify:"center",itemAlign:"center",r:"base",className:cn("oui-mt-[2px] oui-cursor-pointer oui-select-none oui-border",r.bboStatus==="on"?"oui-border-primary":"oui-border-line-12",r.bboStatus==="disabled"&&"oui-cursor-not-allowed"),onClick:()=>{r.bboStatus==="disabled"?modal.dialog({title:i("common.tips"),size:"xs",content:jsx(Text,{intensity:54,children:i("orderEntry.bbo.disabled.tips")})}):r.toggleBBO();},children:jsx(Text,{className:cn(r.bboStatus==="on"&&"oui-text-primary",r.bboStatus==="off"&&"oui-text-base-contrast-54",r.bboStatus==="disabled"&&"oui-text-base-contrast-20"),children:i("orderEntry.bbo")})}),jsx(Text,{className:cn("oui-select-none","oui-cursor-pointer oui-text-primary"),onClick:o,children:"Mid"})]})]})};var Zo=e=>{let{bbo:t}=e,{t:r}=useTranslation(),{symbolInfo:o,onFocus:i,onBlur:n,getErrorMsg:s,setOrderValue:a,priceInputRef:l,priceInputContainerRef:c}=O(),{quote:p,quote_dp:u}=o,m=t.bboStatus==="on",d=e.order_type===OrderType.LIMIT?jsx($o,{quote:p,bbo:t,fillMiddleValue:e.fillMiddleValue}):p;return jsxs("div",{ref:c,className:"oui-group oui-relative oui-w-full",children:[jsx(S,{id:"order_price_input",name:"order_price_input",label:r("common.price"),suffix:d,value:e.order_price,onChange:C=>{a("order_price",C);},error:s("order_price"),formatters:[inputFormatter.dpFormatter(u)],onFocus:i(1),onBlur:n(1),readonly:m,inputMode:"decimal",ref:l,classNames:{root:cn(m&&"focus-within:oui-outline-transparent "),input:cn(m&&"oui-cursor-auto")}}),t.bboStatus==="on"&&jsx("div",{className:cn("oui-absolute oui-bottom-1 oui-left-0"),children:jsx(Ko,{value:t.bboType,onChange:t.onBBOChange,contentStyle:{width:e.priceInputContainerWidth}})})]})};var He=memo(e=>{let{t}=useTranslation(),{symbolInfo:r,onFocus:o,onBlur:i,getErrorMsg:n,setOrderValue:s}=O(),{base:a,quote:l,base_dp:c,quote_dp:p}=r;return jsxs(Grid,{cols:2,className:"oui-group oui-space-x-1",children:[jsx(S,{id:"order_quantity_input",name:"order_quantity_input",label:t("common.qty"),suffix:a,error:n("order_quantity"),value:e.order_quantity,onChange:u=>{s("order_quantity",u);},formatters:[inputFormatter.dpFormatter(c)],onFocus:o(3),onBlur:i(3),inputMode:"decimal",className:"!oui-rounded-r oui-rounded-bl-xl"}),jsx(S,{id:"order_total_input",name:"order_total_input",label:`${t("common.total")}\u2248`,suffix:l,error:n("total"),value:e.total,onChange:u=>{s("total",u);},formatters:[inputFormatter.dpFormatter(p)],onFocus:o(4),onBlur:i(4),inputMode:"decimal",className:"!oui-rounded-bl oui-rounded-br-xl"})]})});He.displayName="QtyAndTotalInput";var Jo=memo(e=>{let{t}=useTranslation(),{setOrderValue:r}=O(),o=()=>{modal.dialog({title:t("common.tips"),size:"sm",content:jsx(Va,{value:e.distribution_type})});};return jsxs(Flex,{direction:"column",itemAlign:"start",justify:"center",p:2,r:"base",width:"100%",intensity:600,className:cn("oui-t-rounded oui-text-base-contrast-36","oui-border oui-border-solid oui-border-line",e.className),children:[jsx(Text,{size:"2xs",className:"oui-cursor-pointer oui-border-b oui-border-dashed oui-border-line-12",onClick:o,children:t("orderEntry.quantityDistribution")}),jsx(qa,{value:e.distribution_type,onValueChange:i=>{r("distribution_type",i);}})]})}),Va=e=>{let{t}=useTranslation(),[r,o]=useState(DistributionType.FLAT);useEffect(()=>{o([DistributionType.FLAT,DistributionType.ASCENDING,DistributionType.DESCENDING].includes(e.value)?e.value:DistributionType.FLAT);},[e.value]);let i=useMemo(()=>[{type:DistributionType.FLAT,title:t("orderEntry.distributionType.flat"),description:t("orderEntry.distributionType.flat.description"),formula:`${t("orderEntry.skew")} = 1`,quantity:jsx(Da,{})},{type:DistributionType.ASCENDING,title:t("orderEntry.distributionType.ascending"),description:t("orderEntry.distributionType.ascending.description"),formula:`${t("orderEntry.skew")} > 1`,quantity:jsx(za,{})},{type:DistributionType.DESCENDING,title:t("orderEntry.distributionType.descending"),description:t("orderEntry.distributionType.descending.description"),formula:`0 < ${t("orderEntry.skew")} < 1`,quantity:jsx(Ua,{})}],[]),n=useMemo(()=>i.find(s=>s.type===r),[i,r]);return jsxs("div",{className:"oui-text-2xs oui-font-semibold oui-text-base-contrast-54",children:[jsxs(Flex,{direction:"column",itemAlign:"start",gapY:1,children:[jsx(Text,{intensity:80,children:t("orderEntry.quantityDistribution.description")}),jsx(Text,{children:t("orderEntry.quantityDistribution.formula")})]}),jsxs(Flex,{intensity:600,p:1,r:"base",mt:3,itemAlign:"start",children:[jsx(Flex,{direction:"column",itemAlign:"start",children:i.map(s=>jsx(Box,{intensity:r===s.type?500:600,width:78,p:2,className:"oui-cursor-pointer oui-rounded-l",onClick:()=>{o(s.type);},children:jsx(Text,{children:s.title})},s.title))}),jsxs(Flex,{direction:"column",itemAlign:"start",gapY:1,p:2,intensity:500,width:"100%",className:cn("oui-rounded-r",r===DistributionType.FLAT&&"oui-rounded-bl",r===DistributionType.ASCENDING&&"oui-rounded-l",r===DistributionType.DESCENDING&&"oui-rounded-tl"),children:[jsx("div",{children:n?.formula}),jsx(Text,{children:n?.description}),jsx(Flex,{width:"100%",justify:"center",children:n?.quantity}),jsxs(Flex,{width:"100%",gapX:1,justify:"center",children:[jsx(Text,{className:"oui-text-base-1",children:t("common.price")}),jsx(Qa,{})]})]})]})]})},qa=e=>{let{value:t,onValueChange:r}=e,{t:o}=useTranslation(),i=s=>a=>{r(s);},n=useMemo(()=>({[DistributionType.FLAT]:o("orderEntry.distributionType.flat"),[DistributionType.ASCENDING]:o("orderEntry.distributionType.ascending.abbr"),[DistributionType.DESCENDING]:o("orderEntry.distributionType.descending.abbr"),[DistributionType.CUSTOM]:o("orderEntry.distributionType.custom")}),[o]);return jsx(Flex,{className:cn("oui-gap-x-[6px] lg:oui-gap-x-2"),wrap:"wrap",children:Object.values(DistributionType).map(s=>jsxs(Flex,{itemAlign:"center",children:[jsx(Checkbox,{id:`distribution-type-${s}`,color:"white",variant:"radio",checked:t===s,onCheckedChange:i(s)}),jsx("label",{htmlFor:`distribution-type-${s}`,className:cn("oui-text-2xs","oui-ml-1","oui-whitespace-nowrap oui-break-normal"),children:n[s]})]},s))})},Da=()=>jsxs("svg",{width:"218",height:"40",viewBox:"0 0 218 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsx("rect",{x:"18",y:"18",width:"181",height:"4",fill:"rgb(var(--oui-color-base-2))"}),jsx("circle",{cx:"15",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsx("circle",{cx:"62",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsx("circle",{cx:"109",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsx("circle",{cx:"156",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsx("circle",{cx:"203",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"})]}),za=()=>jsxs("svg",{width:"218",height:"40",viewBox:"0 0 218 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsx("rect",{x:"18",y:"18",width:"181",height:"4",fill:"rgb(var(--oui-color-base-2))"}),jsx("circle",{cx:"15",cy:"20",r:"4.28571",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"1.42857"}),jsx("circle",{cx:"62",cy:"20",r:"5.14286",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"1.71429"}),jsx("circle",{cx:"109",cy:"20",r:"6",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsx("circle",{cx:"156",cy:"20",r:"6.85714",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2.28571"}),jsx("circle",{cx:"203",cy:"20",r:"7.71429",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2.57143"})]}),Ua=()=>jsxs("svg",{width:"218",height:"40",viewBox:"0 0 218 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsx("rect",{width:"181",height:"4",transform:"matrix(-1 0 0 1 200 18)",fill:"rgb(var(--oui-color-base-2))"}),jsx("circle",{cx:"5",cy:"5",r:"4.28571",transform:"matrix(-1 0 0 1 208 15)",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"1.42857"}),jsx("circle",{cx:"6",cy:"6",r:"5.14286",transform:"matrix(-1 0 0 1 162 14)",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"1.71429"}),jsx("circle",{cx:"7",cy:"7",r:"6",transform:"matrix(-1 0 0 1 116 13)",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2"}),jsx("circle",{cx:"8",cy:"8",r:"6.85714",transform:"matrix(-1 0 0 1 70 12)",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2.28571"}),jsx("circle",{cx:"9",cy:"9",r:"7.71429",transform:"matrix(-1 0 0 1 24 11)",fill:"rgb(var(--oui-color-base-2))",stroke:"rgb(var(--oui-color-base-5))",strokeWidth:"2.57143"})]}),Qa=()=>jsx("svg",{width:"176",height:"8",viewBox:"0 0 176 8",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsx("path",{d:"M175.354 4.35355C175.549 4.15829 175.549 3.84171 175.354 3.64645L172.172 0.464466C171.976 0.269204 171.66 0.269204 171.464 0.464466C171.269 0.659728 171.269 0.976311 171.464 1.17157L174.293 4L171.464 6.82843C171.269 7.02369 171.269 7.34027 171.464 7.53553C171.66 7.7308 171.976 7.7308 172.172 7.53553L175.354 4.35355ZM0 4V4.5H175V4V3.5H0V4Z",fill:"rgb(var(--oui-color-base-1))"})});var Pr=memo(e=>{let{t}=useTranslation(),{symbolInfo:r,onFocus:o,onBlur:i,getErrorMsg:n,setOrderValue:s}=O(),{quote:a,quote_dp:l}=r;return jsxs(Fragment,{children:[jsx(S,{label:t("orderEntry.startPrice"),suffix:a,id:"order_start_price_input",value:e.start_price,error:n("start_price"),onChange:c=>{s("start_price",c);},formatters:[inputFormatter.dpFormatter(l)],onFocus:o(5),onBlur:i(5),inputMode:"decimal",classNames:{root:"oui-rounded-t-xl"}}),jsx(S,{label:t("orderEntry.endPrice"),suffix:a,id:"order_end_price_input",value:e.end_price,error:n("end_price"),onChange:c=>{s("end_price",c);},formatters:[inputFormatter.dpFormatter(l)],onFocus:o(6),onBlur:i(6),inputMode:"decimal"})]})});Pr.displayName="ScaledPriceInput";var ja=e=>jsx(Text,{size:"2xs",intensity:36,children:e}),ri=e=>{let{base:t,quote:r}=e,o=useMemo(()=>[{name:r},{name:t}],[t,r]);return jsx(Select.tokens,{variant:"text",size:"xs",iconSize:"2xs",tokens:o,classNames:{trigger:cn("oui-absolute oui-right-0 oui-top-1","oui-w-full oui-justify-end")},value:e.value,onValueChange:e.onValueChange,valueFormatter:ja,contentProps:{align:"end",alignOffset:-1,sideOffset:-4,className:"oui-border oui-border-line-6"}})};var ni=memo(e=>{let{t}=useTranslation(),{errors:r,symbolInfo:o,onFocus:i,onBlur:n,getErrorMsg:s,setOrderValue:a}=O(),[l,c]=useLocalStorage("orderly_order_quantity_unit","quote"),{base:p,quote:u,base_dp:m,quote_dp:d}=o,C=l==="base",v=jsx(ri,{base:p,quote:u,value:C?p:u,onValueChange:h=>{c(h===p?"base":"quote");}});return C?jsx(S,{label:t("common.qty"),suffix:v,id:"order_quantity_input",name:"order_quantity_input",className:"!oui-rounded-r",value:e.order_quantity,error:s("order_quantity",`${r?.order_quantity?.value} ${p}`),onChange:h=>{a("order_quantity",h);},formatters:[inputFormatter.dpFormatter(m)],onFocus:i(3),onBlur:n(3),inputMode:"decimal"}):jsx(S,{label:t("common.qty"),suffix:v,id:"order_total_input",name:"order_total_input",className:"!oui-rounded-r",value:e.total,error:s("order_quantity",`${r?.total?.value} ${u}`),onChange:h=>{a("total",h);},formatters:[inputFormatter.dpFormatter(d)],onFocus:i(4),onBlur:n(4),inputMode:"decimal"})});var ai=memo(e=>{let{t}=useTranslation(),{onFocus:r,onBlur:o,getErrorMsg:i,setOrderValue:n}=O();return jsx(S,{id:"order_skew_input",label:t("orderEntry.skew"),value:e.skew,error:i("skew"),onChange:s=>{n("skew",s);},onFocus:r(8),onBlur:o(8),inputMode:"decimal",overrideFormatters:[inputFormatter.rangeFormatter({min:0,max:100,dp:2}),inputFormatter.dpFormatter(2)],classNames:{root:"oui-rounded-b-xl"}})});var ui=memo(e=>{let{t}=useTranslation(),{onFocus:r,onBlur:o,getErrorMsg:i,setOrderValue:n}=O();return jsx(S,{label:t("orderEntry.totalOrders"),placeholder:"2-20",id:"order_total_orders_input",className:"!oui-rounded-l",value:e.total_orders,error:i("total_orders"),onChange:s=>{n("total_orders",s);},overrideFormatters:[inputFormatter.numberFormatter,inputFormatter.dpFormatter(0)],onFocus:r(7),onBlur:o(7),inputMode:"numeric"})});var ci=e=>{let{values:t}=e,r=t.distribution_type===DistributionType.CUSTOM;return jsxs("div",{className:"oui-space-y-1",children:[jsx(Pr,{start_price:t.start_price,end_price:t.end_price}),jsxs(Grid,{cols:2,className:"oui-group oui-space-x-1",children:[jsx(ni,{order_quantity:t.order_quantity,total:t.total}),jsx(ui,{total_orders:t.total_orders})]}),jsx(Jo,{distribution_type:t.distribution_type,className:cn(!r&&"oui-rounded-b-xl")}),r&&jsx(ai,{skew:t.skew})]})};var Sr=memo(e=>{let{t}=useTranslation(),{symbolInfo:r,onFocus:o,onBlur:i,getErrorMsg:n,setOrderValue:s,triggerPriceInputRef:a}=O();return jsx("div",{className:"oui-group",children:jsx("div",{className:"oui-group",children:jsx(S,{ref:a,id:"order_trigger_price_input",name:"order_trigger_price_input",label:t("common.trigger"),suffix:r.quote,value:e.trigger_price,onChange:l=>{s("trigger_price",l);},error:n("trigger_price"),formatters:[inputFormatter.dpFormatter(r.quote_dp)],onFocus:o(2),onBlur:i(2),inputMode:"decimal"})})})});Sr.displayName="TriggerPriceInput";var Ir=memo(e=>{let{t}=useTranslation(),{symbolInfo:r,onFocus:o,onBlur:i,getErrorMsg:n,setOrderValue:s,activatedPriceInputRef:a}=O();return jsx("div",{className:"oui-group",children:jsx(S,{ref:a,id:"order_activated_price_input",name:"order_activated_price_input",label:t("common.triggerPrice"),placeholder:`0 (${t("common.optional")})`,suffix:r.quote,error:n("activated_price"),value:e.activated_price,onChange:l=>{s("activated_price",l);},formatters:[inputFormatter.dpFormatter(r.quote_dp)],onFocus:o(9),onBlur:i(9),inputMode:"decimal"})})});Ir.displayName="ActivePriceInput";var _l=[1,2,3,5],Lr=memo(e=>{let{setOrderValue:t}=O();return jsx(Flex,{gapX:2,className:e.className,children:_l.map(r=>{let o=r.toString(),i=e.callback_rate===o;return jsx(Flex,{justify:"center",itemAlign:"center",width:46,height:18,className:cn("oui-cursor-pointer oui-select-none","oui-rounded oui-border",i?"oui-border-base-contrast-36":"oui-border-line-12"),onClick:()=>{t("callback_rate",o),e.onClick?.(o);},children:jsxs(Text,{size:"2xs",intensity:i?80:36,weight:"semibold",children:[r,"%"]})},r)})})});Lr.displayName="CallbackRatePercentages";var Fr=memo(e=>{let{quote:t}=e,r=useMemo(()=>[{label:t,value:TrailingCallbackType.VALUE},{label:"%",value:TrailingCallbackType.RATE}],[t]);return jsx(Select.options,{variant:"text",size:"xs",options:r,classNames:{trigger:cn("oui-absolute oui-right-0 oui-top-1","oui-w-[124px] oui-justify-end","oui-text-base-contrast-36")},value:e.value,onValueChange:e.onValueChange,contentProps:{align:"end",alignOffset:-1,sideOffset:-4,className:"oui-border oui-border-line-6"}})});Fr.displayName="trailingCallbackSelect";var kr=memo(e=>{let{callback_value:t,callback_rate:r}=e,{t:o}=useTranslation(),{symbolInfo:i,onFocus:n,onBlur:s,getErrorMsg:a,setOrderValue:l,setOrderValues:c}=O(),{quote:p,quote_dp:u}=i,m=useRef(),d=useRef(),[C,T]=useLocalStorage("orderly_order_trailing_callback_type",TrailingCallbackType.VALUE),v=useCallback(I=>{T(I),I===TrailingCallbackType.RATE?(m.current=t,c({callback_value:"",callback_rate:d.current})):(d.current=r,c({callback_value:m.current,callback_rate:""}));},[t,r]),h=jsx(Fr,{quote:p,value:C,onValueChange:v});return C===TrailingCallbackType.RATE?jsxs("div",{className:"oui-relative",children:[jsx(S,{id:"order_callback_rate_input",name:"order_callback_rate_input",label:o("orderEntry.trailingRate"),suffix:h,error:a("callback_rate"),value:r,onChange:I=>{l("callback_rate",I);},formatters:[inputFormatter.dpFormatter(1)],onFocus:I=>{n(11)(I);},onBlur:I=>{s(11)(I);},inputMode:"decimal",classNames:{root:"oui-h-[68px]",input:"oui-mb-5",prefix:"!oui-top-1"}}),jsx(Lr,{className:"oui-absolute oui-bottom-1 oui-left-2",callback_rate:r})]}):jsx(S,{id:"order_callback_value_input",name:"order_callback_value_input",label:o("orderEntry.trailingValue"),suffix:h,error:a("callback_value"),value:t,onChange:I=>{l("callback_value",I);},formatters:[inputFormatter.dpFormatter(u)],onFocus:n(10),onBlur:s(10),inputMode:"decimal",classNames:{input:"!oui-mb-[6px]",prefix:"!oui-top-1"}})});kr.displayName="TrailingCallbackInput";var xi=e=>{let{values:t}=e;return jsxs(Fragment,{children:[jsx(Ir,{activated_price:t.activated_price}),jsx(kr,{callback_value:t.callback_value,callback_rate:t.callback_rate}),jsx(He,{order_quantity:t.order_quantity,total:t.total})]})};function Ti(e){let{values:t}=e,r=t.order_type;if(r===OrderType.SCALED)return jsx(ci,{values:t});if(r===OrderType.TRAILING_STOP)return jsx(xi,{values:t});let o=r===OrderType.STOP_LIMIT||r===OrderType.STOP_MARKET,i=r===OrderType.LIMIT||r===OrderType.STOP_LIMIT,n=o&&jsx(Sr,{trigger_price:t.trigger_price}),s=i&&jsx(Zo,{order_type:t.order_type,order_price:t.order_price,bbo:e.bbo,fillMiddleValue:e.fillMiddleValue,priceInputContainerWidth:e.priceInputContainerWidth});return jsxs("div",{className:"oui-space-y-1",children:[n,s,jsx(He,{order_quantity:t.order_quantity,total:t.total})]})}var Oi=e=>{let{canTrade:t,order_quantity:r,maxQty:o}=e,{t:i}=useTranslation(),n=useMemo(()=>t?e.side===OrderSide.BUY?"buy":"sell":void 0,[e.side,t]),s=useMemo(()=>e.side===OrderSide.BUY?i("orderEntry.maxBuy"):i("orderEntry.maxSell"),[e.side,i]),a=useMemo(()=>r?Number(r):0,[r]),l=useMemo(()=>r?Number(r)>=Number(o)?1:convertValueToPercentage(Number(r??0),0,o)/100:0,[r,o]);return jsxs("div",{children:[jsx(Slider.single,{disabled:o===0||!t,value:a,color:n,markCount:4,showTip:true,max:o,step:e.tick,onValueChange:e.onValueChange}),jsxs(Flex,{justify:"between",className:"oui-pt-1 xl:oui-pt-2",children:[jsx(Text.numeral,{rule:"percentages",size:"2xs",color:n,dp:2,padding:false,children:t?l:0}),jsxs(Flex,{children:[jsx("button",{className:textVariants({size:"2xs",className:"oui-mr-1"}),onClick:()=>e.setMaxQty(),"data-testid":"oui-testid-orderEntry-maxQty-value-button",children:s}),jsx(Text.numeral,{size:"2xs",color:n,dp:e.dp,padding:false,"data-testid":"oui-testid-orderEntry-maxQty-value",children:t?o:0})]})]})]})};var Ar=createContext({}),vt=()=>useContext(Ar);var hi=e=>{let{type:t,values:r,quote_dp:o}=e,{t:i}=useTranslation(),[n,s]=useState(true),{mode:a,setMode:l,tipsEle:c}=vt(),[p,u]=useState(false),[m,d]=useState(false),C=useMemo(()=>{switch(a){case "Offset":return `${t.toLowerCase()}_offset`;case "Offset%":return `${t.toLowerCase()}_offset_percentage`;default:return `${t.toLowerCase()}_pnl`}},[a]),[T,v]=useState(r[a]);useEffect(()=>{m||v(r[a]);},[r,a,m]);let h=useMemo(()=>[{label:i("tpsl.pnl"),value:"PnL",testId:"PnL_menu_item"},{label:i("tpsl.offset"),value:"Offset",testId:"Offset_mneu_item"},{label:`${i("tpsl.offset")}%`,value:"Offset%",testId:"Offset%_menu_item"}],[i]),I=useMemo(()=>({PnL:i("tpsl.pnl"),Offset:i("tpsl.offset"),"Offset%":`${i("tpsl.offset")}%`}),[i]),N=useRef("");return {mode:a,modes:h,modeLabelMap:I,formatter:k=>{let{dp:Y=2}=k;return {onRenderBefore:(f,j)=>(f=`${f}`,n&&t==="SL"&&a==="PnL"&&(f=f.startsWith("-")?f:"-"+f),f===""||f==="-"?"":a==="Offset%"?`${new Decimal(f.replace(new RegExp(N.current.replace(".","\\.")+"$"),"")).mul(100).todp(2,4).toString()}${N.current}`:(a==="Offset"&&(f=todpIfNeed(f,Y)),`${f}`)),onSendBefore:f=>{if(/^\-?0{2,}$/.test(f))return "0";if(a==="Offset%"){if(f!==""){f=todpIfNeed(f,2);let j=f.match(/\.0{0,2}$/);j?N.current=j[0]:N.current="",f=new Decimal(f).div(100).toString(),f=`${f}${N.current}`;}}else a==="PnL"&&t==="SL"&&n?f=f.startsWith("-")?f:"-"+f:f=todpIfNeed(f,Y);return f===""||f==="-"?"":f}}},onModeChange:k=>{l(k);},onFocus:()=>{u(true),d(true);},onBlur:()=>{u(false),d(false),e.onChange(C,T);},value:T,onValueChange:k=>{v(k),e.onChange(C,k);},quote_dp:o,tips:p?c:void 0,setFocus:s}};var Ii=e=>{let{mode:t,modes:r,modeLabelMap:o,onModeChange:i,onValueChange:n,quote:s,quote_dp:a,value:l,type:c,tips:p,onFocus:u,onBlur:m,setFocus:d}=e,[C,T]=useState(t),[v,h]=useState(t==="Offset%"?"%":s);useEffect(()=>{T(t),h(t==="Offset%"?"%":s);},[t]),useEffect(()=>{T(l?"":t);},[l]);let I=useMemo(()=>`${c.toLowerCase()}_${t.toLowerCase()}`,[]);return jsx(Input.tooltip,{prefix:o[C]||C,size:"md",placeholder:v,id:I,align:"right",value:l,tooltip:p,tooltipProps:{content:{side:e.type==="TP"?"top":"bottom"}},"data-testid":e.testIds?.input,autoComplete:"off",inputMode:"decimal",onValueChange:n,formatters:[e.formatter({dp:a,mode:t,type:c}),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:()=>{T(""),h(""),d(true),u();},onBlur:()=>{T(l?"":t),h(t==="Offset%"?"%":s),m();},suffix:jsxs(Fragment,{children:[t==="Offset%"&&!!l&&jsx(Text,{size:"2xs",color:"inherit",className:"oui-ml-[2px]",children:"%"}),jsx(Xl,{mode:t,modes:r,onModeChange:N=>i(N.value),testId:e.testIds?.dropDown})]})})},Xl=e=>jsx(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:jsx("button",{className:"oui-p-2","data-testid":e.testId,children:jsx(CaretDownIcon,{size:12,color:"white"})})});var Li=e=>{let{testIds:t,quote:r,...o}=e,i=hi(o);return jsx(Ii,{...i,testIds:t,quote:r,type:e.type})};var Vr=e=>{let{type:t,values:r,children:o}=e,[i,n]=useLocalStorage("TP/SL_Mode","Offset%"),{t:s}=useTranslation(),a=useMemo(()=>!r.PnL||!r.trigger_price?null:jsxs(Flex,{children:[jsx("span",{className:"oui-text-xs oui-text-base-contrast-54",children:i==="PnL"?s("orderEntry.estRoi"):s("orderEntry.estPnL")}),i==="PnL"?jsx(Text.numeral,{rule:"percentages",className:cn("oui-ml-1 oui-text-xs",t==="TP"?"oui-text-trade-profit":"oui-text-trade-loss"),children:r.ROI}):jsx(Text.numeral,{rule:"price",className:cn("oui-ml-1 oui-text-xs",t==="TP"?"oui-text-trade-profit":"oui-text-trade-loss"),children:r.PnL})]}),[i,r.ROI,r.PnL,r.trigger_price]),l=useMemo(()=>({mode:i,setMode:n,tipsEle:a}),[i,n,a]);return jsx(Ar.Provider,{value:l,children:o})};var Mi=e=>{let t=Ai.useRef(null),{t:r}=useTranslation();return useEffect(()=>{e.orderType!==OrderType.LIMIT&&e.orderType!==OrderType.MARKET&&e.onSwitchChanged(false);},[e.orderType]),e.orderType!==OrderType.LIMIT&&e.orderType!==OrderType.MARKET||e.isReduceOnly?null:jsxs("div",{children:[jsxs(Flex,{itemAlign:"center",justify:"between",children:[jsxs(Flex,{itemAlign:"center",gapX:1,children:[jsx(Switch,{id:"order_entry_tpsl",className:"oui-h-[14px]",checked:e.switchState,disabled:e.orderType!==OrderType.LIMIT&&e.orderType!==OrderType.MARKET||e.isReduceOnly,onCheckedChange:o=>{e.onSwitchChanged(o);}}),jsx("label",{htmlFor:"order_entry_tpsl",className:"oui-text-xs",children:r("common.tpsl")})]}),jsxs(Flex,{itemAlign:"center",gapX:1,onClick:e.showTPSLAdvanced,className:cn("oui-group oui-invisible",e.switchState&&"oui-visible"),children:[jsx(Text,{className:"oui-text-sm oui-cursor-pointer group-hover:oui-text-base-contrast",children:r("tpsl.advanced")}),jsx(SettingFillIcon,{size:12,className:"oui-text-base-contrast-54 group-hover:oui-text-base-contrast oui-cursor-pointer",opacity:1,onClick:e.showTPSLAdvanced})]})]}),jsx("div",{className:cn("oui-max-h-0 oui-overflow-hidden oui-transition-all",e.switchState&&"oui-max-h-[120px]"),onTransitionEnd:()=>{t.current?.style.setProperty("opacity",e.switchState?"1":"0");},children:jsx(Vi,{ref:t,setOrderValue:e.setOrderValue,onChange:e.onChange,values:e.values,errors:e.errors,quote_dp:e.quote_dp})})]})},Vi=Ai.forwardRef((e,t)=>{let{getErrorMsg:r}=useOrderEntryFormErrorMsg(e.errors);return jsxs("div",{ref:t,className:"oui-space-y-1 oui-px-px oui-py-2 oui-transition-all",children:[jsx(TPSLPositionTypeWidget,{value:e.values.position_type,onChange:e.onChange}),jsx(Vr,{values:e.values.tp,type:"TP",children:jsx(Ri,{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"}})}),jsx(Vr,{values:e.values.sl,type:"SL",children:jsx(Ri,{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"}})})]})});Vi.displayName="TPSLInputForm";var mu=e=>{let{t}=useTranslation(),{errorMsgVisible:r}=O(),{tipsEle:o}=vt(),[i,n]=useState(`${e.type} Price`),[s,a]=useState("USDC"),[l,c]=useState(false),[p,u]=useState(false),[m,d]=useState(e.values.trigger_price??"");useEffect(()=>{p||d(e.values.trigger_price??"");},[e.values.trigger_price,p]);let C=useMemo(()=>e.error&&r?e.error:l?o:null,[e.error,r,l,o]),T=N=>{let ne=e.type==="TP"?t("tpsl.tpPrice"):t("tpsl.slPrice");return N&&(ne=e.type==="TP"?t("tpsl.tp"):t("tpsl.sl")),ne},v=N=>{d(N),e.onChange(N);};useEffect(()=>{n(T(e.values.trigger_price)),p||d(e.values.trigger_price??"");},[e.type,e.values.trigger_price]);let h=()=>{n(e.type==="TP"?t("tpsl.tp"):t("tpsl.sl")),a(""),c(true),u(true);},I=()=>{n(T(e.values.trigger_price)),a("USDC"),c(false),u(false),e.onChange(m);};return jsx(Input.tooltip,{"data-testid":e.testId,prefix:i,size:"md",placeholder:s,align:"right",onFocus:h,onBlur:I,tooltip:C,tooltipProps:{content:{side:e.type==="TP"?"top":"bottom"}},color:e.error?"danger":void 0,autoComplete:"off",inputMode:"decimal",value:m,classNames:{additional:"oui-text-base-contrast-54",root:"oui-pr-2 md:oui-pr-3",prefix:"oui-pr-1 md:oui-pr-2"},onValueChange:v,formatters:[inputFormatter.numberFormatter,inputFormatter.dpFormatter(e.quote_dp??2),inputFormatter.currencyFormatter]})},Ri=e=>jsxs(Grid,{cols:2,gapX:1,children:[jsx(mu,{testId:e.testIds?.first,type:e.type,error:e.error,values:e.values??"",onChange:t=>{e.onChange(e.type==="SL"?"sl_trigger_price":"tp_trigger_price",t);},quote_dp:e.quote_dp}),jsx(Li,{testIds:{input:e.testIds?.second,dropDown:e.testIds?.dropDown},onChange:e.onChange,quote:"USDC",quote_dp:2,type:e.type,values:{PnL:e.values.PnL,Offset:e.values.Offset,"Offset%":e.values["Offset%"],ROI:e.values.ROI}})]});var Wr=e=>{let{side:t,formattedOrder:r,setOrderValue:o,setOrderValues:i,symbolInfo:n,maxQty:s,freeCollateral:a,helper:l,submit:c,metaState:p,bboStatus:u,bboType:m,onBBOChange:d,toggleBBO:C,disableFeatures:T,currentLtv:v,fillMiddleValue:h,soundAlert:I,setSoundAlert:N,currentFocusInput:ne}=e,{t:M}=useTranslation(),{isMobile:K}=useScreen(),[de,k]=useState(false),{errors:Y,validated:f}=p,[j,ce]=useState(false),[Pe,A]=useLocalStorage("orderly_order_confirm",true),[$,J]=useLocalStorage("orderly-order-additional-pinned",true),[be,pe]=useState(false),[wt,Rt]=useLocalStorage("orderly-order-hidden",false),[he,At]=useLocalStorage("orderly-slippage","1",{parseJSON:g=>!g||g==='""'?"1":JSON.parse(g)}),{notification:Bt}=useOrderlyContext(),Ze=useId(),{getErrorMsg:Mt}=useOrderEntryFormErrorMsg(f?Y:null),Vt=useMemo(()=>t===OrderSide.BUY?M("orderEntry.buyLong"):M("orderEntry.sellShort"),[t,M]);useEffect(()=>{f&&ce(true);},[f]),useEffect(()=>{T?.includes("slippageSetting")||(he?o("slippage",Number(he)):o("slippage",void 0));},[he,T]),useEffect(()=>{let g=B=>{B.target.closest("#order-entry-submit-button")||ce($r=>$r&&false);};return j?document.addEventListener("click",g):document.removeEventListener("click",g),()=>{document.removeEventListener("click",g);}},[j]);let Xe=useMemoizedFn(async()=>{let g=r.order_type===OrderType.SCALED;l.validate().then(B=>g?modal.show(dt,{order:B,symbolInfo:n,size:K?"sm":"md"}):Pe?modal.show(sr,{order:r,symbolInfo:n}):true,B=>(B.slippage&&toast.error(M("orderEntry.slippage.error.max")),ce(true),Promise.reject())).then(()=>c({resetOnSuccess:false}).then(B=>{if(!B.success&&B.message)toast.error(B.message);else if(B.success&&g){let Ve=So(B);Ve&&toast.success(Ve);}})).catch(B=>{B?.message&&toast.error(B.message);});}),qt=async()=>{if(r.reduce_only&&s===0)return modal.confirm({title:M("orderEntry.reduceOnly.reminder"),content:M("orderEntry.reduceOnly.reminder.content"),okLabel:M("orderEntry.placeOrderNow"),onOk:async()=>(o("reduce_only",false),requestAnimationFrame(()=>{e.resetMetaState(),Xe();}),Promise.resolve(true)),onCancel:async()=>Promise.resolve(false)});Xe();},_=()=>{l.validate().then(()=>{pe(true);},g=>{let B=new Set(["tp_trigger_price","sl_trigger_price"]);Object.keys(g).every(Ve=>B.has(Ve))&&pe(true);});},F=g=>{g.side!==r.side&&o("side",g.side),i({position_type:g.position_type,tp_order_type:g.tp_order_type,tp_pnl:g.tp_pnl,tp_offset:g.tp_offset,tp_offset_percentage:g.tp_offset_percentage,tp_ROI:g.tp_ROI,tp_trigger_price:g.tp_trigger_price,tp_order_price:g.tp_order_price,sl_order_type:g.sl_order_type,sl_trigger_price:g.sl_trigger_price,sl_order_price:g.sl_order_price,sl_pnl:g.sl_pnl,sl_offset:g.sl_offset,sl_offset_percentage:g.sl_offset_percentage,sl_ROI:g.sl_ROI}),pe(false),k(true);},se=()=>{k(false),i({tp_trigger_price:void 0,tp_order_price:void 0,tp_order_type:OrderType.MARKET,sl_trigger_price:void 0,sl_order_price:void 0,sl_order_type:OrderType.MARKET,tp_pnl:void 0,sl_pnl:void 0,position_type:PositionType.FULL});};useEffect(()=>{k(false);},[e.symbol]);let V=!!Bt?.orderFilled?.media,Z={pinned:$,setPinned:J,needConfirm:Pe,setNeedConfirm:A,hidden:wt,setHidden:Rt,onValueChange:o,orderTypeExtra:r.order_type_ext,showExtra:r.order_type===OrderType.LIMIT&&!e.tpslSwitch},je=!$&&jsx(Zr,{...Z});return jsxs(Ho,{errors:Y,errorMsgVisible:j,symbolInfo:n,onFocus:e.onFocus,onBlur:e.onBlur,getErrorMsg:Mt,setOrderValue:o,setOrderValues:i,currentFocusInput:ne.current,priceInputRef:e.priceInputRef,priceInputContainerRef:e.priceInputContainerRef,triggerPriceInputRef:e.triggerPriceInputRef,activatedPriceInputRef:e.activatedPriceInputRef,children:[jsxs("div",{className:"oui-space-y-2 oui-text-base-contrast-54 xl:oui-space-y-3",ref:e.containerRef,children:[jsx(Wo,{symbol:e.symbol,canTrade:e.canTrade,side:t,order_type:r.order_type,setOrderValue:o,symbolLeverage:e.symbolLeverage}),jsx(Mo,{result:e.effectiveLeverageResult,hasOrderQty:!!r.order_quantity}),jsx(vo,{currentLtv:v,canTrade:e.canTrade,quote:n?.quote,freeCollateral:a}),jsx(Ti,{values:r,priceInputContainerWidth:e.priceInputContainerWidth,fillMiddleValue:h,bbo:{bboStatus:u,bboType:m,onBBOChange:d,toggleBBO:C}}),jsx(Oi,{canTrade:e.canTrade,maxQty:s,order_quantity:r.order_quantity,tick:n.base_tick,dp:n.base_dp,setMaxQty:e.setMaxQty,onValueChange:g=>{o("order_quantity",g);},side:e.side}),jsx(ThrottledButton,{fullWidth:true,id:"order-entry-submit-button","data-type":OrderSide.BUY,className:cn(t===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:qt,loading:e.isMutating,disabled:!e.canTrade,children:Vt}),jsx(yo,{canTrade:e.canTrade,quote:n.quote,estLiqPrice:e.estLiqPrice,estLeverage:e.estLeverage,currentLeverage:e.currentLeverage,slippage:he,dp:n.quote_dp,setSlippage:At,estSlippage:e.estSlippage,orderType:r.order_type,disableFeatures:T}),jsx(Divider,{className:"oui-w-full"}),de?jsx(eo,{order:r,symbolInfo:e.symbolInfo,errors:f?Y:null,onEdit:()=>{pe(true);},onDelete:()=>{se();}}):jsx(Mi,{quote_dp:e.symbolInfo.quote_dp,switchState:e.tpslSwitch,onSwitchChanged:e.setTpslSwitch,orderType:r.order_type,errors:f?Y:null,isReduceOnly:r.reduce_only,setOrderValue:o,values:{position_type:r.position_type??PositionType.PARTIAL,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??""}},showTPSLAdvanced:_,onChange:(g,B)=>{o(g,B);}}),jsxs(Flex,{justify:"between",itemAlign:"center",className:"!oui-mt-0 xl:!oui-mt-3",children:[jsxs(Flex,{itemAlign:"center",gapX:1,children:[jsx(Switch,{"data-testid":"oui-testid-orderEntry-reduceOnly-switch",className:"oui-h-[14px]",id:"reduceOnly",checked:r.reduce_only,onCheckedChange:g=>{o("reduce_only",g);}}),jsx("label",{htmlFor:"reduceOnly",className:"oui-text-xs",children:M("orderEntry.reduceOnly")})]}),!V&&je]}),V&&jsxs(Flex,{justify:"between",itemAlign:"center",className:"!oui-mt-0 xl:!oui-mt-3",children:[jsxs(Flex,{itemAlign:"center",gapX:1,children:[jsx(Switch,{className:"oui-h-[14px]",id:Ze,checked:I,onCheckedChange:g=>N(g)}),jsx("label",{htmlFor:Ze,className:"oui-text-xs",children:M("orderEntry.soundAlerts")})]}),je]}),$&&jsxs(Box,{p:2,r:"md",intensity:700,position:"relative",children:[jsx(De,{...Z}),jsx(jr,{onClick:()=>{J(false);},className:"oui-group oui-absolute oui-right-2 oui-top-2","data-testid":"oui-testid-orderEntry-pinned-button"})]})]}),jsx(SimpleSheet,{open:be,onOpenChange:pe,classNames:{body:"oui-h-full oui-pb-0 oui-border-none",overlay:"!oui-bg-base-10/60",content:cn("oui-rounded-[16px] oui-border-none !oui-p-0",K?"oui-inset-y-0 oui-right-0 oui-w-[280px]":"!oui-bottom-[40px] oui-right-3 oui-top-[44px] !oui-h-auto oui-w-[360px]")},contentProps:{side:"right",closeable:false},children:jsx(TPSLAdvancedWidget,{setOrderValue:o,order:r,onSubmit:F,onClose:()=>{pe(false);},symbolLeverage:e.symbolLeverage})})]})};function Qi({tpslSwitch:e,order_type:t,order_type_ext:r,side:o,setOrderValues:i}){let[n,s]=useLocalStorage("orderly_order_bbo_type",void 0),a=useRef(n),{track:l}=useTrack(),c=useMemo(()=>e||[OrderType.POST_ONLY,OrderType.IOC,OrderType.FOK].includes(r)?"disabled":n&&t===OrderType.LIMIT?"on":"off",[e,r,t,n]),p=()=>{l(TrackerEventName.clickBBOButton),n?(s(void 0),i({order_type_ext:void 0,level:void 0})):s(a.current||BBOOrderType.COUNTERPARTY1);},u=m=>{s(m),a.current=m;};return useEffect(()=>{c==="disabled"&&i({order_type_ext:Fe({order_type_ext:r})?void 0:r,level:void 0});},[c,r]),useEffect(()=>{if(c==="on"){let m=ho(n,o),d=Eo(n);i({order_type_ext:m,level:d});}},[n,c,o]),{bboStatus:c,bboType:n,setBBOType:s,onBBOChange:u,toggleBBO:p}}function Wi(){let{state:e}=useAccount(),{wrongNetwork:t,disabledConnect:r}=useAppContext();return useMemo(()=>!t&&!r&&(e.status===AccountStatusEnum.EnableTrading||e.status===AccountStatusEnum.EnableTradingWithoutConnected),[e.status,t,r])}function Yi(e){let{base_tick:t,order_type:r,order_quantity:o,setValue:i}=e,n=useRef(0),s=useRef(6),a=()=>{if(t<1||r===OrderType.SCALED||!o)return;let p=utils.formatNumber(o,new Decimal(t||"0").toNumber());i("order_quantity",p,{shouldUpdateLastChangedField:false});},l=p=>u=>{n.current=p,[5,6].includes(n.current)&&(s.current=p);},c=p=>u=>{setTimeout(()=>{n.current===p&&(n.current=0);},300),p===3&&a();};return {currentFocusInput:n,lastScaledOrderPriceInput:s,onFocus:useMemoizedFn(l),onBlur:useMemoizedFn(c)}}function $i({order_type_ext:e}){let[t,r]=useState(0),o=useRef(null);return useEffect(()=>{let i=o.current;if(!i)return;let n=new ResizeObserver(s=>{for(let a of s){let l=a.contentRect.width;l&&r(l);}});return n.observe(i),()=>{n.unobserve(i);}},[o,e]),{priceInputContainerRef:o,priceInputContainerWidth:t}}var Ju="orderly_order_sound_alert",Yr=e=>{let{symbol:t}=e,[r,o]=useLocalStorage("orderly-order-entry-order-type",OrderType.LIMIT),[i,n]=useLocalStorage("orderly-order-entry-order-side",OrderSide.BUY),s=useLeverageBySymbol(t),{notification:a}=useOrderlyContext(),[l,c]=useLocalStorage(Ju,a?.orderFilled?.defaultOpen??false),p=Wi(),{formattedOrder:u,setValue:m,setValues:d,symbolInfo:C,...T}=useOrderEntry(t,{initialOrder:{symbol:t,order_type:r,position_type:PositionType.PARTIAL,side:i}}),v=usePositionStore(_=>_.positions[t]?.rows?.[0]),h=v?.position_qty?Number(v.position_qty):0,I=useEffectiveLeverage({symbol:t,positionQty:h,positionPrice:v?.mark_price?Number(v.mark_price):void 0,orderQty:u?.order_quantity?Number(u.order_quantity):void 0,orderPrice:u?.order_price?Number(u.order_price):void 0,selectedLeverage:s}),[N,ne]=useLocalStorage("orderly-order-entry-tp_sl-switch",false),{currentLeverage:M}=useMarginRatio(),K=useEventEmitter(),de=useRef(null),k=useRef(null),Y=useRef(null),{bboStatus:f,bboType:j,setBBOType:ce,onBBOChange:Pe,toggleBBO:A}=Qi({tpslSwitch:N,order_type:u.order_type,order_type_ext:u.order_type_ext,side:u.side,setOrderValues:d}),{currentFocusInput:$,lastScaledOrderPriceInput:J,onFocus:be,onBlur:pe}=Yi({base_tick:C?.base_tick,order_type:u.order_type,order_quantity:u.order_quantity,setValue:m}),wt=()=>{d({tp_trigger_price:"",sl_trigger_price:"",position_type:PositionType.FULL});},Rt=()=>{d({order_type_ext:void 0,position_type:PositionType.FULL});},he=()=>{m("order_quantity",T.maxQty);},At=useMemoizedFn((_,F,se)=>{if(_==="order_type"&&o(F),_==="side"&&n(F),_==="reduce_only"&&F||_==="order_type"&&(F===OrderType.STOP_LIMIT||F===OrderType.STOP_MARKET)){let V={tp_trigger_price:"",sl_trigger_price:"",[_]:F};_==="order_type"&&(V.order_type_ext=""),d(V);return}if(_==="order_type"&&F!==OrderType.LIMIT){let V={level:void 0,order_type_ext:void 0,[_]:F};d(V);return}if(_==="order_type"&&F===OrderType.SCALED){d({distribution_type:DistributionType.FLAT,[_]:F});return}m(_,F,se);}),Bt=_=>{ne(_),_?Rt():wt();};useEffect(()=>{let _=F=>{m("order_price",F);};return K.on("update:orderPrice",_),()=>{K.off("update:orderPrice",_);}},[]),useEffect(()=>{let _=se=>{requestAnimationFrame(()=>{se?.focus();});},F=se=>{let V=removeTrailingZeros(se[0]),{order_type:Z,order_type_ext:je}=u;if($.current===2&&(Z===OrderType.STOP_LIMIT||Z===OrderType.STOP_MARKET)){m("trigger_price",V),_(de.current);return}if(Fe({order_type:Z,order_type_ext:je})){ce(void 0),d({order_type_ext:void 0,level:void 0}),requestAnimationFrame(()=>{K.emit("update:orderPrice",V);}),_(k.current);return}if(Z===OrderType.STOP_LIMIT||Z===OrderType.LIMIT){m("order_price",V),_(k.current);return}if(Z===OrderType.STOP_MARKET){m("trigger_price",V),_(de.current);return}if(Z===OrderType.MARKET){ce(void 0),d({order_type:OrderType.LIMIT,order_price:V}),_(k.current);return}if(Z===OrderType.SCALED&&J.current){let g=J.current===5?"start_price":"end_price";m(g,V),_(k.current);return}if(Z===OrderType.TRAILING_STOP){m("activated_price",V),_(Y.current);return}m("order_price",V),_(k.current);};return K.on("orderbook:item:click",F),()=>{K.off("orderbook:item:click",F);}},[u,C]),useEffect(()=>{T.reset(),T.resetMetaState();},[t]),useEffect(()=>{u.order_type===OrderType.SCALED&&!u.distribution_type&&m("distribution_type",DistributionType.FLAT);},[u.order_type,u.distribution_type]);let Ze=useComputedLTV(),Mt=ut(),Vt=()=>{if(f==="on"&&A(),u.order_type===OrderType.LIMIT){let[_=0,F=0]=Mt,se=new Decimal(tr(_)).add(tr(F)).div(2).toNumber();requestAnimationFrame(()=>{K.emit("update:orderPrice",se);});}},{priceInputContainerRef:Xe,priceInputContainerWidth:qt}=$i({order_type_ext:u.order_type_ext});return {...T,side:u.side,type:u.order_type,level:u.level,formattedOrder:u,setOrderValue:At,setOrderValues:d,currentLeverage:M,tpslSwitch:N,setTpslSwitch:Bt,setMaxQty:he,symbolInfo:C,onFocus:be,onBlur:pe,priceInputRef:k,priceInputContainerRef:Xe,priceInputContainerWidth:qt,triggerPriceInputRef:de,activatedPriceInputRef:Y,canTrade:p,bboStatus:f,bboType:j,onBBOChange:Pe,toggleBBO:A,currentLtv:Ze,fillMiddleValue:Vt,symbol:t,soundAlert:l,setSoundAlert:c,currentFocusInput:$,symbolLeverage:s,effectiveLeverageResult:I}};var ed=e=>{let t=Yr(e);return jsx(Wr,{...t,containerRef:e.containerRef,disableFeatures:e.disableFeatures})};
|
|
16
16
|
|
|
17
|
-
export { De as AdditionalInfo,
|
|
17
|
+
export { De as AdditionalInfo, Yt as FeesWidget, nt as LTVRiskTooltipWidget, nr as OrderConfirmDialog, Wr as OrderEntry, ed as OrderEntryWidget, Yr as useOrderEntryScript };
|
|
18
18
|
//# sourceMappingURL=out.js.map
|
|
19
19
|
//# sourceMappingURL=index.mjs.map
|