@orderly.network/ui-order-entry 2.7.4 → 2.8.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,20 +1,19 @@
1
- import Ai, { useId, forwardRef, useState, useImperativeHandle, useEffect, memo, createContext, useContext, useMemo, useRef, useCallback } from 'react';
2
- import { useLocalStorage, usePositionStream, useEventEmitter, useDebouncedCallback, useFeeState, useOrderlyContext, useMemoizedFn, useOrderEntry, useMarginRatio, useComputedLTV, useHoldingStream, useTokensInfo, useIndexPricesStream, useAccount, useTrack, useQuery, useSymbolLeverage, useBoolean, utils } from '@orderly.network/hooks';
1
+ import Hi, { useId, forwardRef, useState, useImperativeHandle, useEffect, memo, createContext, useContext, useMemo, useRef, useCallback } from 'react';
2
+ import { useLocalStorage, utils, usePositionStream, useEventEmitter, useDebouncedCallback, useFeeState, useRwaSymbolsInfoStore, useOrderlyContext, useMemoizedFn, useOrderEntry, useMarginRatio, useComputedLTV, useHoldingStream, useTokensInfo, useIndexPricesStream, useTrack, useQuery, useSymbolLeverage, useBoolean } from '@orderly.network/hooks';
3
3
  import { useTranslation, i18n } from '@orderly.network/i18n';
4
- import { useOrderEntryFormErrorMsg, useAppContext } from '@orderly.network/react-app';
5
- import { EMPTY_LIST, DistributionType, TrailingCallbackType, OrderSide, OrderType, PositionType, BBOOrderType, AccountStatusEnum, TrackerEventName, OrderLevel } from '@orderly.network/types';
6
- import { ExclamationFillIcon, modal, Text, Tooltip, TooltipTrigger, Flex, Input, cn, inputFormatter, Box, registerSimpleDialog, SimpleDialog, Grid, Checkbox, Select, Badge, Divider, textVariants, Button, TokenIcon, DataTable, SimpleDropdownMenu, CaretDownIcon, Switch, useScreen, toast, ThrottledButton, SimpleSheet, PopoverRoot, PopoverTrigger, PopoverContent, InfoCircleIcon, convertValueToPercentage, Slider, SettingFillIcon, EditIcon, useModal } from '@orderly.network/ui';
4
+ import { useOrderEntryFormErrorMsg, useCanTrade } from '@orderly.network/react-app';
5
+ import { EMPTY_LIST, DistributionType, TrailingCallbackType, OrderSide, OrderType, PositionType, BBOOrderType, TrackerEventName, OrderLevel } from '@orderly.network/types';
6
+ import { ExclamationFillIcon, modal, Text, Tooltip, TooltipTrigger, Flex, Input, cn, inputFormatter, Box, registerSimpleDialog, SimpleDialog, Select, Grid, Checkbox, Slider, textVariants, SettingFillIcon, Badge, Divider, Button, TokenIcon, DataTable, SimpleDropdownMenu, CaretDownIcon, Switch, useScreen, toast, ThrottledButton, SimpleSheet, PopoverRoot, PopoverTrigger, PopoverContent, InfoCircleIcon, EditIcon, useModal } from '@orderly.network/ui';
7
7
  import { TPSLPositionTypeWidget, TPSLAdvancedWidget } from '@orderly.network/ui-tpsl';
8
8
  import { Decimal, zero, todpIfNeed, getBBOType, removeTrailingZeros } from '@orderly.network/utils';
9
9
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
10
- import { pick } from 'ramda';
11
10
  import { AuthGuard } from '@orderly.network/ui-connector';
12
11
  import { useScaffoldContext } from '@orderly.network/ui-scaffold';
13
12
  import { account } from '@orderly.network/perp';
14
13
  import { SymbolLeverageSheetId, SymbolLeverageDialogId } from '@orderly.network/ui-leverage';
15
14
 
16
- var ze=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 $r(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(ze,{...e})})]})}var Zr="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",Xr=e=>{let[t,r]=useState(Zr);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(Zr);},className:"oui-text-primary-darken",children:jsx("path",{d:t})})})};function Jr(e){let{order:t,symbolInfo:r,onEdit:o,onDelete:i,errors:n}=e,{getErrorMsg:s}=useOrderEntryFormErrorMsg(n),{t:a}=useTranslation(),u=()=>{let l=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)})]})]}),l&&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:l})]})]}):null},d=()=>{if(t.sl_trigger_price||t.sl_order_price){let l=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)})]}),l&&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:l})]})]})})}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(Tn,{size:12,className:"oui-cursor-pointer oui-text-base-contrast-54 hover:oui-text-base-contrast",opacity:1,onClick:i}),jsx(_n,{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")})]}),u(),d(),jsx(Divider,{className:"oui-mb-2 oui-w-full"})]})}var Tn=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"})}),_n=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=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"&&(Je.displayName="EffectiveFee");var to=({routerAdapter:e,onClose:t})=>{let{t:r}=useTranslation();return jsxs(Text,{size:"2xs",className:"oui-whitespace-normal oui-break-words",children:[r("portfolio.feeTier.effectiveFee.tooltip")," ",jsx("a",{href:"/rewards/affiliate",onClick:o=>{o.preventDefault(),e?.onRouteChange({href:"/rewards/affiliate",name:r("portfolio.feeTier.effectiveFee.tooltipLink")}),t?.();},className:"oui-cursor-pointer oui-border-none oui-bg-transparent oui-p-0 oui-text-2xs oui-underline hover:oui-text-base-contrast-80",children:r("portfolio.feeTier.effectiveFee.tooltipLink")})]})},Ln=({routerAdapter:e})=>{let{hide:t}=useModal();return jsx(to,{routerAdapter:e,onClose:t})},Fn=e=>{let{routerAdapter:t}=e,{isMobile:r}=useScreen(),{t:o}=useTranslation();return r?jsx(Je,{onClick:()=>{modal.dialog({size:"sm",title:o("common.tips"),content:jsx(Ln,{routerAdapter:t})});}}):jsx(Tooltip,{content:jsx(to,{routerAdapter:t}),className:"oui-p-1.5 oui-text-base-contrast-54",children:jsx(Je,{className:"oui-cursor-pointer"})})},zt=e=>{let{t}=useTranslation(),{routerAdapter:r}=useScaffoldContext(),{effectiveTakerFee:o,effectiveMakerFee:i}=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:o}),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:i})]})})]}),jsx(Fn,{routerAdapter:r})]})};var Ut=e=>jsx(zt,{...e});var Wt=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(Wt,{...e});var Bn=e=>typeof e<"u"&&e!==null,Ht=()=>{let{refereeRebate:e,...t}=useFeeState();return Bn(e)?jsx(Ut,{...pick(["effectiveTakerFee","effectiveMakerFee"],t)}):jsx(Gt,{...pick(["takerFee","makerFee"],t)})};var ao=[.01,.05,.1],uo=forwardRef((e,t)=>{let{t:r}=useTranslation(),[o,i]=useState(),[n,s]=useState(""),[a,u]=useState(void 0);useImperativeHandle(t,()=>({getValue:()=>n?new Decimal(n)?.toNumber():o})),useEffect(()=>{e.initialValue&&!ao.includes(e.initialValue)?s(e.initialValue.toString()):i(e.initialValue);},[e.initialValue,open]);let d=p=>{i(p),s(""),u(void 0);},l=p=>{if(!p){s(p);return}let m=new Decimal(p);i(void 0),m.gt(3)?(s("3"),u(r("orderEntry.slippage.error.exceed"))):(s(p),u(void 0));},c=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")}),c]}),jsxs(Flex,{gapX:2,children:[ao.map(p=>jsx(Hn,{value:p,isActive:o===p,onClick:()=>{d(p);}},p)),jsx(Input,{suffix:"%",formatters:[inputFormatter.numberFormatter,inputFormatter.dpFormatter(2)],value:n,onValueChange:l,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})})]})}),Hn=({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 co=e=>{let{t}=useTranslation(),[r,{setTrue:o,setFalse:i,toggle:n}]=useBoolean(false),{isMobile:s}=useScreen(),a=useRef(null),u=()=>{let d=a.current?.getValue();return e.setSlippage(d?d.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:u},secondary:{label:t("common.cancel"),onClick:()=>i()}},children:jsx(uo,{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(co,{...e});function go(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(Ht,{})]})}var us=e=>e>=0&&e<50?"oui-text-success":e>=50&&e<80?"oui-text-warning":e>=80?"oui-text-danger":"",Zt=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((u,d)=>jsxs(Flex,{width:"100%",justify:"between",itemAlign:"center",children:[jsx(Text,{intensity:80,size:"xs",children:u.token}),jsx(Text,{size:"xs",intensity:80,className:cn(Number(u.collateralContribution)<0&&"oui-text-warning"),children:removeTrailingZeros(u.collateralContribution)})]},`item-${d}`)),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",us(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 Ts=()=>{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}},Xt=()=>{let{data:e=[],isLoading:t}=useHoldingStream(),{ltv_threshold:r,negative_usdc_threshold:o,isLoading:i}=Ts(),n=useTokensInfo(),{getIndexPrice:s}=useIndexPricesStream(),a=e.map(l=>{let c=n?.find(({token:T})=>T===l.token),p=s(l.token),m=c?account.collateralRatio({baseWeight:c.base_weight??0,discountFactor:c.discount_factor??0,collateralQty:l.holding,collateralCap:c?.user_max_qty??l.holding,indexPrice:p}):zero,C=account.collateralContribution({collateralQty:l.holding,collateralCap:c?.user_max_qty??l.holding,collateralRatio:m.toNumber(),indexPrice:p});return {...l,collateralContribution:C}}),u=useComputedLTV(),d=useCallback(async()=>modal.show("ConvertDialogId"),[]);return {holdingData:a,isHoldingLoading:t,ltv_threshold:r,negative_usdc_threshold:o,isThresholdLoading:i,currentLtv:u,onConvert:d}};var it=()=>{let e=Xt();return jsx(Zt,{...e})};var Co=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 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 Po(e){if([BBOOrderType.COUNTERPARTY1,BBOOrderType.QUEUE1].includes(e))return OrderLevel.ONE;if([BBOOrderType.COUNTERPARTY5,BBOOrderType.QUEUE5].includes(e))return OrderLevel.FIVE}function Eo(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 Jt=e=>Number.isNaN(Number(e))?0:Number(e);var or=e=>{let{symbolInfo:t,order:r,onConfirm:o,onCancel:i}=e,{quote:n,quote_dp:s,base_dp:a}=t,{side:u,order_type:d,order_type_ext:l,level:c,symbol:p}=r,{t:m}=useTranslation(),[{rows:C}]=usePositionStream(p),P=C?.[0]?.position_qty,[E,v]=useLocalStorage("orderly_order_confirm",true),N=()=>r.position_type===PositionType.FULL?jsx(Text,{children:m("tpsl.positionType.full")}):jsx(Text,{children:m("tpsl.positionType.partial")}),z=()=>{if(d===OrderType.MARKET||d===OrderType.STOP_MARKET)return jsx(Text,{intensity:80,children:m("common.marketPrice")});if(Fe({order_type:d,order_type_ext:l})){let w=getBBOType({type:l,side:u,level:c}),ee={[BBOOrderType.COUNTERPARTY1]:m("orderEntry.bbo.counterparty1"),[BBOOrderType.COUNTERPARTY5]:m("orderEntry.bbo.counterparty5"),[BBOOrderType.QUEUE1]:m("orderEntry.bbo.queue1"),[BBOOrderType.QUEUE5]:m("orderEntry.bbo.queue5")}[w];return jsx(Text,{intensity:80,children:ee})}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})},j=({price:w,isOrderPrice:ee,isEnable:me,colorType:ae})=>me?!w&&ee?jsx(Text,{className:"oui-text-base-contrast-36",children:m("common.marketPrice")}):jsx(Text.numeral,{unit:"USDC",rule:"price",className:cn("oui-text-base-contrast",ae==="TP"?"oui-text-trade-profit":"oui-text-trade-loss"),unitClassName:"oui-text-base-contrast-36 oui-ml-1",dp:s,padding:false,children:w}):jsx(Text,{className:"oui-text-base-contrast-36",children:"-- USDC"}),se=()=>{if(!P||!r.order_quantity)return null;let w=new Decimal(r.order_quantity);return r.position_type===PositionType.FULL&&(w=w.plus(new Decimal(P??0))),jsxs(Flex,{justify:"between",children:[jsx(Text,{children:r.position_type===PositionType.FULL?m("common.positionQty"):m("common.orderQty")}),jsx(Text.numeral,{rule:"price",dp:a,padding:false,className:"oui-text-base-contrast",children:w.toNumber()})]})},U=()=>{if(d===OrderType.TRAILING_STOP){let{activated_price:w,callback_value:ee,callback_rate:me}=r,ae=me?jsxs(Flex,{justify:"between",children:[jsx(Text,{children:m("orderEntry.trailingRate")}),jsxs(Text,{className:"oui-text-base-contrast",children:[me,"%"]})]}):jsx(st,{title:m("orderEntry.trailingValue"),value:ee,unit:n,dp:s});return jsxs(Fragment,{children:[w&&jsx(st,{title:m("common.triggerPrice"),value:w,unit:n,dp:s}),ae]})}return jsxs(Fragment,{children:[jsxs(Flex,{justify:"between",children:[jsx(Text,{children:m("common.price")}),z()]}),jsx(st,{title:m("common.estTotal"),value:r.total,unit:n,dp:s})]})},Q=jsxs(Flex,{justify:"between",children:[jsx(Text.formatted,{rule:"symbol",showIcon:true,children:r.symbol}),jsxs(Flex,{justify:"end",gapX:1,children:[jsx(As,{type:d}),u===OrderSide.BUY?jsx(Badge,{color:"buy",size:"sm",children:m("common.buy")}):jsx(Badge,{color:"sell",size:"sm",children:m("common.sell")})]})]}),ce=jsxs(Flex,{justify:"between",children:[jsx(Text,{children:m("common.orderQty")}),jsx(Text.numeral,{rule:"price",dp:a,padding:false,className:"oui-text-base-contrast",children:r.order_quantity})]}),f=(d===OrderType.STOP_LIMIT||d===OrderType.STOP_MARKET&&r.trigger_price)&&jsx(st,{title:m("common.trigger"),value:r.trigger_price,unit:n,dp:s}),H=(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()}),se(),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:m("tpsl.tpTriggerPrice")}),j({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:m("tpsl.tpOrderPrice")}),j({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:m("tpsl.slTriggerPrice")}),j({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:m("tpsl.slOrderPrice")}),j({price:r.sl_order_price??"",isOrderPrice:true,isEnable:!!r.sl_trigger_price,colorType:"SL"})]})]})]})]}),J=jsxs(Flex,{gapX:1,pt:4,pb:5,children:[jsx(Checkbox,{id:"orderConfirm",color:"white",onCheckedChange:w=>{v(!w);}}),jsx("label",{htmlFor:"orderConfirm",className:textVariants({size:"xs",intensity:54}),children:m("orderEntry.disableOrderConfirm")})]}),Te=jsxs(Grid,{cols:2,gapX:3,children:[jsx(Button,{color:"secondary",size:"md",onClick:()=>i(),children:m("common.cancel")}),jsx(Button,{size:"md",onClick:()=>o(),children:m("common.confirm")})]});return jsxs(Fragment,{children:[Q,jsx(Divider,{className:"oui-my-4"}),jsxs("div",{className:textVariants({size:"sm",intensity:54,className:"oui-space-y-1"}),children:[ce,f,U()]}),H,J,Te]})},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})]})};or.displayName="OrderConfirmDialog";var As=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})},Bs=e=>{let{close:t,resolve:r,reject:o,...i}=e;return jsx(or,{...i,onCancel:()=>{o(),t();},onConfirm:()=>{r(),t();}})},ir="orderConfirm";registerSimpleDialog(ir,Bs,{size:"sm",title:()=>i18n.t("orderEntry.orderConfirm")});var wo=memo(e=>{let{t}=useTranslation();return jsx(SimpleDialog,{open:e.open,title:t("orderEntry.orderConfirm"),closable:true,onOpenChange:e.onOpenChange,size:"sm",actions:{primary:{label:t("orderEntry.placeOrderNow"),className:"oui-text-sm oui-font-semibold oui-w-[100%] oui-h-8",onClick:()=>(e.onConfirm(),Promise.resolve())},secondary:{label:t("common.cancel"),className:"oui-text-sm oui-font-semibold oui-w-[100%] oui-h-8",onClick:()=>(e.onOpenChange(false),Promise.resolve())}},children:jsx("div",{className:"oui-text-2xs lg:oui-text-sm",children:t("orderEntry.maxQty.reminder.content",{maxQty:`${e.maxQty} ${e.base}`})})})});var ar=e=>{let{order:t,symbolInfo:r,dataSource:o,national:i,askAndBid:n,totalQuantity:s}=e,{base:a,quote:u,base_dp:d,quote_dp:l}=r,{t:c}=useTranslation(),p=()=>{e.reject(),e.close?.();},m=()=>{e.resolve(),e.close?.();},C=useMemo(()=>[{title:c("common.symbol"),dataIndex:"symbol",width:125,render:(T,P)=>jsxs(Flex,{gap:2,children:[jsx("div",{className:cn("oui-h-[38px] oui-w-1 oui-shrink-0 oui-rounded-[1px]",P.side===OrderSide.BUY?"oui-bg-trade-profit":"oui-bg-trade-loss")}),jsxs(Flex,{direction:"column",itemAlign:"start",children:[jsxs(Flex,{gapX:1,children:[jsx(TokenIcon,{symbol:T,className:"oui-size-3"}),jsx(Text.formatted,{rule:"symbol",size:"xs",formatString:"base-type",children:T})]}),jsx(Badge,{color:"neutral",size:"xs",children:c("orderEntry.orderType.limit")})]})]})},{title:c("common.quantity"),dataIndex:"order_quantity",width:100,render:(T,P)=>jsx(Text.numeral,{rule:"price",dp:d,padding:false,color:P.side===OrderSide.BUY?"buy":"sell",children:T})},{title:c("common.orderPrice"),dataIndex:"order_price",width:100,render:(T,P)=>{let E=!!(P.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:l,children:T}),E&&jsx(Tooltip,{content:c("orderEntry.confirmScaledOrder.orderPrice.warning"),className:"oui-w-[240px] oui-text-2xs oui-font-semibold oui-text-base-contrast-80",children:jsx(Ys,{className:"oui-text-warning-darken"})})]})}}],[c,r,n,d,l]);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:c("orderEntry.totalOrders")}),jsx(Text,{intensity:80,children:t.orders?.length})]}),jsxs(Flex,{justify:"between",mt:2,children:[jsx(Text,{children:c("orderEntry.totalQuantity")}),jsx(Text.numeral,{rule:"price",unit:a,dp:d,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:c("common.notional")}),jsx(Text.numeral,{rule:"price",unit:u,dp:l,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:p,children:c("common.cancel")}),jsx(Button,{size:"md",onClick:m,children:c("common.confirm")})]})]})},Ys=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 lr(e){let{order:t,symbolInfo:r}=e,o=t.orders,i=lt(),n=useMemo(()=>o.reduce((u,d)=>u.add(new Decimal(d.order_price).mul(d.order_quantity)),zero).toNumber(),[o]),s=useMemo(()=>o.reduce((u,d)=>u.add(new Decimal(d.order_quantity)),zero).toString(),[o,r.base_dp]);return {dataSource:o,national:n,askAndBid:i,totalQuantity:s}}var Mo=e=>{let t=lr(e);return jsx(ar,{...e,...t})},ut="scaledOrderConfirm";registerSimpleDialog(ut,Mo,{size:"md",title:()=>i18n.t("orderEntry.confirmScaledOrder"),contentProps:{}});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(u=>u.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 u=i?SymbolLeverageSheetId:SymbolLeverageDialogId;modal.show(u,{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 Go(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 cr=createContext({}),O=()=>useContext(cr);var Ho=e=>{let{errorMsgVisible:t,symbolInfo:r,onFocus:o,onBlur:i,getErrorMsg:n,setOrderValue:s,setOrderValues:a,currentFocusInput:u,errors:d,priceInputRef:l,priceInputContainerRef:c,triggerPriceInputRef:p,activatedPriceInputRef:m}=e,C=useMemo(()=>({errorMsgVisible:t,symbolInfo:r,onFocus:o,onBlur:i,getErrorMsg:n,setOrderValue:s,setOrderValues:a,currentFocusInput:u,errors:d,priceInputRef:l,priceInputContainerRef:c,triggerPriceInputRef:p,activatedPriceInputRef:m}),[t,r,o,i,n,s,a,u,d,l,c,p,m]);return jsx(cr.Provider,{value:C,children:e.children})};var I=forwardRef((e,t)=>{let{placeholder:r="0"}=e,{errorMsgVisible:o}=O();return jsx(Input.tooltip,{ref:t,tooltip:o?e.error:void 0,autoComplete:"off",autoFocus:e.autoFocus,size:"lg",placeholder:e.readonly?"":r,id:e.id,name:e.name,color:e.error?"danger":void 0,prefix:jsx(Oa,{id:e.id,className:e.classNames?.prefix,children:e.label}),suffix:e.suffix,value:e.readonly?"":e.value||"",onValueChange:e.onChange,onFocus:i=>{e.onFocus?.(i);},onBlur:i=>{e.onBlur?.(i);},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})});I.displayName="CustomInput";var Oa=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:u,priceInputContainerRef:d}=O(),{quote:l,quote_dp:c}=o,p=t.bboStatus==="on",m=e.order_type===OrderType.LIMIT?jsx($o,{quote:l,bbo:t,fillMiddleValue:e.fillMiddleValue}):l;return jsxs("div",{ref:d,className:"oui-group oui-relative oui-w-full",children:[jsx(I,{id:"order_price_input",name:"order_price_input",label:r("common.price"),suffix:m,value:e.order_price,onChange:C=>{a("order_price",C);},error:s("order_price"),formatters:[inputFormatter.dpFormatter(c)],onFocus:i(1),onBlur:n(1),readonly:p,ref:u,classNames:{root:cn(p&&"focus-within:oui-outline-transparent "),input:cn(p&&"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 Ke=memo(e=>{let{t}=useTranslation(),{symbolInfo:r,onFocus:o,onBlur:i,getErrorMsg:n,setOrderValue:s}=O(),{base:a,quote:u,base_dp:d,quote_dp:l}=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:c=>{s("order_quantity",c);},formatters:[inputFormatter.dpFormatter(d)],onFocus:o(3),onBlur:i(3),className:"!oui-rounded-r"}),jsx(I,{id:"order_total_input",name:"order_total_input",label:`${t("common.total")}\u2248`,suffix:u,error:n("total"),value:e.total,onChange:c=>{s("total",c);},formatters:[inputFormatter.dpFormatter(l)],onFocus:o(4),onBlur:i(4)})]})});Ke.displayName="QtyAndTotalInput";var Jo=memo(e=>{let{t}=useTranslation(),{setOrderValue:r}=O(),o=()=>{modal.dialog({title:t("common.tips"),size:"sm",content:jsx(Ga,{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(Ha,{value:e.distribution_type,onValueChange:i=>{r("distribution_type",i);}})]})}),Ga=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(Ya,{})},{type:DistributionType.DESCENDING,title:t("orderEntry.distributionType.descending"),description:t("orderEntry.distributionType.descending.description"),formula:`0 < ${t("orderEntry.skew")} < 1`,quantity:jsx($a,{})}],[]),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(Za,{})]})]})]})]})},Ha=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))})},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"})]}),Ya=()=>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"})]}),$a=()=>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"})]}),Za=()=>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 Cr=memo(e=>{let{t}=useTranslation(),{symbolInfo:r,onFocus:o,onBlur:i,getErrorMsg:n,setOrderValue:s}=O(),{quote:a,quote_dp:u}=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:d=>{s("start_price",d);},formatters:[inputFormatter.dpFormatter(u)],onFocus:o(5),onBlur:i(5),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:d=>{s("end_price",d);},formatters:[inputFormatter.dpFormatter(u)],onFocus:o(6),onBlur:i(6)})]})});Cr.displayName="ScaledPriceInput";var nl=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:nl,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(),[u,d]=useLocalStorage("orderly_order_quantity_unit","quote"),{base:l,quote:c,base_dp:p,quote_dp:m}=o,C=u==="base",P=jsx(ri,{base:l,quote:c,value:C?l:c,onValueChange:E=>{d(E===l?"base":"quote");}});return C?jsx(I,{label:t("common.qty"),suffix:P,id:"order_quantity_input",name:"order_quantity_input",className:"!oui-rounded-r",value:e.order_quantity,error:s("order_quantity",`${r?.order_quantity?.value} ${l}`),onChange:E=>{a("order_quantity",E);},formatters:[inputFormatter.dpFormatter(p)],onFocus:i(3),onBlur:n(3)}):jsx(I,{label:t("common.qty"),suffix:P,id:"order_total_input",name:"order_total_input",className:"!oui-rounded-r",value:e.total,error:s("order_quantity",`${r?.total?.value} ${c}`),onChange:E=>{a("total",E);},formatters:[inputFormatter.dpFormatter(m)],onFocus:i(4),onBlur:n(4)})});var ai=memo(e=>{let{t}=useTranslation(),{onFocus:r,onBlur:o,getErrorMsg:i,setOrderValue:n}=O();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),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(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)})});var ci=e=>{let{values:t}=e,r=t.distribution_type===DistributionType.CUSTOM;return jsxs("div",{className:"oui-space-y-1",children:[jsx(Cr,{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 hr=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(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:u=>{s("trigger_price",u);},error:n("trigger_price"),formatters:[inputFormatter.dpFormatter(r.quote_dp)],onFocus:o(2),onBlur:i(2)})})})});hr.displayName="TriggerPriceInput";var Pr=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(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:u=>{s("activated_price",u);},formatters:[inputFormatter.dpFormatter(r.quote_dp)],onFocus:o(9),onBlur:i(9)})})});Pr.displayName="ActivePriceInput";var Sl=[1,2,3,5],Er=memo(e=>{let{setOrderValue:t}=O();return jsx(Flex,{gapX:2,className:e.className,children:Sl.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)})})});Er.displayName="CallbackRatePercentages";var Sr=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"}})});Sr.displayName="trailingCallbackSelect";var Lr=memo(e=>{let{callback_value:t,callback_rate:r}=e,{t:o}=useTranslation(),{symbolInfo:i,onFocus:n,onBlur:s,getErrorMsg:a,setOrderValue:u,setOrderValues:d}=O(),{quote:l,quote_dp:c}=i,p=useRef(),m=useRef(),[C,T]=useLocalStorage("orderly_order_trailing_callback_type",TrailingCallbackType.VALUE),P=useCallback(v=>{T(v),v===TrailingCallbackType.RATE?(p.current=t,d({callback_value:"",callback_rate:m.current})):(m.current=r,d({callback_value:p.current,callback_rate:""}));},[t,r]),E=jsx(Sr,{quote:l,value:C,onValueChange:P});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:E,error:a("callback_rate"),value:r,onChange:v=>{u("callback_rate",v);},formatters:[inputFormatter.dpFormatter(1)],onFocus:v=>{n(11)(v);},onBlur:v=>{s(11)(v);},classNames:{root:"oui-h-[68px]",input:"oui-mb-5",prefix:"!oui-top-1"}}),jsx(Er,{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:E,error:a("callback_value"),value:t,onChange:v=>{u("callback_value",v);},formatters:[inputFormatter.dpFormatter(c)],onFocus:n(10),onBlur:s(10),classNames:{input:"!oui-mb-[6px]",prefix:"!oui-top-1"}})});Lr.displayName="TrailingCallbackInput";var xi=e=>{let{values:t}=e;return jsxs(Fragment,{children:[jsx(Pr,{activated_price:t.activated_price}),jsx(Lr,{callback_value:t.callback_value,callback_rate:t.callback_rate}),jsx(Ke,{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(hr,{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(Ke,{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]),u=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?u: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 wr=createContext({}),_t=()=>useContext(wr);var Pi=e=>{let{type:t,values:r,quote_dp:o}=e,{t:i}=useTranslation(),[n,s]=useState(true),{mode:a,setMode:u,tipsEle:d}=_t(),[l,c]=useState(false),[p,m]=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,P]=useState(r[a]);useEffect(()=>{p||P(r[a]);},[r,a,p]);let E=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]),v=useMemo(()=>({PnL:i("tpsl.pnl"),Offset:i("tpsl.offset"),"Offset%":`${i("tpsl.offset")}%`}),[i]),N=useRef("");return {mode:a,modes:E,modeLabelMap:v,formatter:Q=>{let{dp:ce=2}=Q;return {onRenderBefore:(f,H)=>(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,ce)),`${f}`)),onSendBefore:f=>{if(/^\-?0{2,}$/.test(f))return "0";if(a==="Offset%"){if(f!==""){f=todpIfNeed(f,2);let H=f.match(/\.0{0,2}$/);H?N.current=H[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,ce);return f===""||f==="-"?"":f}}},onModeChange:Q=>{u(Q);},onFocus:()=>{c(true),m(true);},onBlur:()=>{c(false),m(false),e.onChange(C,T);},value:T,onValueChange:Q=>{P(Q),e.onChange(C,Q);},quote_dp:o,tips:l?d:void 0,setFocus:s}};var Ii=e=>{let{mode:t,modes:r,modeLabelMap:o,onModeChange:i,onValueChange:n,quote:s,quote_dp:a,value:u,type:d,tips:l,onFocus:c,onBlur:p,setFocus:m}=e,[C,T]=useState(t),[P,E]=useState(t==="Offset%"?"%":s);useEffect(()=>{T(t),E(t==="Offset%"?"%":s);},[t]),useEffect(()=>{T(u?"":t);},[u]);let v=useMemo(()=>`${d.toLowerCase()}_${t.toLowerCase()}`,[]);return jsx(Input.tooltip,{prefix:o[C]||C,size:"md",placeholder:P,id:v,align:"right",value:u,tooltip:l,tooltipProps:{content:{side:e.type==="TP"?"top":"bottom"}},"data-testid":e.testIds?.input,autoComplete:"off",onValueChange:n,formatters:[e.formatter({dp:a,mode:t,type:d}),inputFormatter.currencyFormatter],classNames:{root:d==="TP"?"oui-text-trade-profit":"oui-text-trade-loss",additional:"oui-text-base-contrast-54",input:"oui-text-inherit"},onFocus:()=>{T(""),E(""),m(true),c();},onBlur:()=>{T(u?"":t),E(t==="Offset%"?"%":s),p();},suffix:jsxs(Fragment,{children:[t==="Offset%"&&!!u&&jsx(Text,{size:"2xs",color:"inherit",className:"oui-ml-[2px]",children:"%"}),jsx(iu,{mode:t,modes:r,onModeChange:N=>i(N.value),testId:e.testIds?.dropDown})]})})},iu=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=Pi(o);return jsx(Ii,{...i,testIds:t,quote:r,type:e.type})};var Ar=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]),u=useMemo(()=>({mode:i,setMode:n,tipsEle:a}),[i,n,a]);return jsx(wr.Provider,{value:u,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(Ar,{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(Ar,{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 _u=e=>{let{t}=useTranslation(),{errorMsgVisible:r}=O(),{tipsEle:o}=_t(),[i,n]=useState(`${e.type} Price`),[s,a]=useState("USDC"),[u,d]=useState(false),[l,c]=useState(false),[p,m]=useState(e.values.trigger_price??"");useEffect(()=>{l||m(e.values.trigger_price??"");},[e.values.trigger_price,l]);let C=useMemo(()=>e.error&&r?e.error:u?o:null,[e.error,r,u,o]),T=N=>{let z=e.type==="TP"?t("tpsl.tpPrice"):t("tpsl.slPrice");return N&&(z=e.type==="TP"?t("tpsl.tp"):t("tpsl.sl")),z},P=N=>{m(N),e.onChange(N);};useEffect(()=>{n(T(e.values.trigger_price)),l||m(e.values.trigger_price??"");},[e.type,e.values.trigger_price]);let E=()=>{n(e.type==="TP"?t("tpsl.tp"):t("tpsl.sl")),a(""),d(true),c(true);},v=()=>{n(T(e.values.trigger_price)),a("USDC"),d(false),c(false),e.onChange(p);};return jsx(Input.tooltip,{"data-testid":e.testId,prefix:i,size:"md",placeholder:s,align:"right",onFocus:E,onBlur:v,tooltip:C,tooltipProps:{content:{side:e.type==="TP"?"top":"bottom"}},color:e.error?"danger":void 0,autoComplete:"off",value:p,classNames:{additional:"oui-text-base-contrast-54",root:"oui-pr-2 md:oui-pr-3",prefix:"oui-pr-1 md:oui-pr-2"},onValueChange:P,formatters:[inputFormatter.numberFormatter,inputFormatter.dpFormatter(e.quote_dp??2),inputFormatter.currencyFormatter]})},Ri=e=>jsxs(Grid,{cols:2,gapX:1,children:[jsx(_u,{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 zr=e=>{let{side:t,formattedOrder:r,setOrderValue:o,setOrderValues:i,symbolInfo:n,maxQty:s,freeCollateral:a,helper:u,submit:d,metaState:l,bboStatus:c,bboType:p,onBBOChange:m,toggleBBO:C,disableFeatures:T,currentLtv:P,fillMiddleValue:E,soundAlert:v,setSoundAlert:N,currentFocusInput:z}=e,[j,se]=useState(false),{t:U}=useTranslation(),{isMobile:Q}=useScreen(),[ce,f]=useState(false),{errors:H,validated:J}=l,[Te,w]=useState(false),[ee,me]=useLocalStorage("orderly_order_confirm",true),[ae,Xe]=useLocalStorage("orderly-order-additional-pinned",true),[wt,pe]=useState(false),[kt,Rt]=useLocalStorage("orderly-order-hidden",false),[Ee,At]=useLocalStorage("orderly-slippage","1",{parseJSON:y=>!y||y==='""'?"1":JSON.parse(y)}),{notification:_}=useOrderlyContext(),F=useId(),{getErrorMsg:le}=useOrderEntryFormErrorMsg(J?H:null),q=useMemo(()=>t===OrderSide.BUY?U("orderEntry.buyLong"):U("orderEntry.sellShort"),[t,U]);useEffect(()=>{J&&w(true);},[J]),useEffect(()=>{T?.includes("slippageSetting")||(Ee?o("slippage",Number(Ee)):o("slippage",void 0));},[Ee,T]),useEffect(()=>{let y=A=>{A.target.closest("#order-entry-submit-button")||w(Yr=>Yr&&false);};return Te?document.addEventListener("click",y):document.removeEventListener("click",y),()=>{document.removeEventListener("click",y);}},[Te]);let K=useMemoizedFn(async()=>{let y=r.order_type===OrderType.SCALED;u.validate().then(A=>y?modal.show(ut,{order:A,symbolInfo:n,size:Q?"sm":"md"}):ee?modal.show(ir,{order:r,symbolInfo:n}):true,A=>(A.slippage&&toast.error(U("orderEntry.slippage.error.max")),w(true),Promise.reject())).then(()=>d({resetOnSuccess:false}).then(A=>{if(!A.success&&A.message)toast.error(A.message);else if(A.success&&y){let qe=Eo(A);qe&&toast.success(qe);}})).catch(A=>{A?.message&&toast.error(A.message);});}),Ve=useMemo(()=>new Decimal(s).todp(n.base_dp,Decimal.ROUND_DOWN).toString(),[s,n.base_dp]),Bt=useCallback(()=>{o("order_quantity",Ve),requestAnimationFrame(()=>{K();}),se(false);},[o,Ve]),Ji=async()=>{if(r.reduce_only&&s===0)return modal.confirm({title:U("orderEntry.reduceOnly.reminder"),content:U("orderEntry.reduceOnly.reminder.content"),okLabel:U("orderEntry.placeOrderNow"),onOk:async()=>(o("reduce_only",false),requestAnimationFrame(()=>{e.resetMetaState(),K();}),Promise.resolve(true)),onCancel:async()=>Promise.resolve(false)});s>0&&Number(r.order_quantity)>s?se(true):K();},en=()=>{u.validate().then(()=>{pe(true);},y=>{let A=new Set(["tp_trigger_price","sl_trigger_price"]);Object.keys(y).every(qe=>A.has(qe))&&pe(true);});},tn=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}),pe(false),f(true);},rn=()=>{f(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(()=>{f(false);},[e.symbol]);let Gr=!!_?.orderFilled?.media&&(_?.orderFilled?.displayInOrderEntry??true),Hr={pinned:ae,setPinned:Xe,needConfirm:ee,setNeedConfirm:me,hidden:kt,setHidden:Rt,onValueChange:o,orderTypeExtra:r.order_type_ext,showExtra:r.order_type===OrderType.LIMIT&&!e.tpslSwitch},Kr=!ae&&jsx($r,{...Hr});return jsxs(Ho,{errors:H,errorMsgVisible:Te,symbolInfo:n,onFocus:e.onFocus,onBlur:e.onBlur,getErrorMsg:le,setOrderValue:o,setOrderValues:i,currentFocusInput:z.current,priceInputRef:e.priceInputRef,priceInputContainerRef:e.priceInputContainerRef,triggerPriceInputRef:e.triggerPriceInputRef,activatedPriceInputRef:e.activatedPriceInputRef,children:[jsx(wo,{open:j,onOpenChange:se,maxQty:Ve,onConfirm:Bt,base:n.base}),jsxs("div",{className:"oui-space-y-2 oui-text-base-contrast-54 xl:oui-space-y-3",ref:e.containerRef,children:[jsx(Go,{symbol:e.symbol,canTrade:e.canTrade,side:t,order_type:r.order_type,setOrderValue:o,symbolLeverage:e.symbolLeverage}),jsx(Co,{currentLtv:P,canTrade:e.canTrade,quote:n?.quote,freeCollateral:a}),jsx(Ti,{values:r,priceInputContainerWidth:e.priceInputContainerWidth,fillMiddleValue:E,bbo:{bboStatus:c,bboType:p,onBBOChange:m,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:y=>{o("order_quantity",y);},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:Ji,loading:e.isMutating,disabled:!e.canTrade,children:q}),jsx(go,{canTrade:e.canTrade,quote:n.quote,estLiqPrice:e.estLiqPrice,estLeverage:e.estLeverage,currentLeverage:e.currentLeverage,slippage:Ee,dp:n.quote_dp,setSlippage:At,estSlippage:e.estSlippage,orderType:r.order_type,disableFeatures:T}),jsx(Divider,{className:"oui-w-full"}),ce?jsx(Jr,{order:r,symbolInfo:e.symbolInfo,errors:J?H:null,onEdit:()=>{pe(true);},onDelete:()=>{rn();}}):jsx(Mi,{quote_dp:e.symbolInfo.quote_dp,switchState:e.tpslSwitch,onSwitchChanged:e.setTpslSwitch,orderType:r.order_type,errors:J?H: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:en,onChange:(y,A)=>{o(y,A);}}),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:U("orderEntry.reduceOnly")})]}),!Gr&&Kr]}),Gr&&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:F,checked:v,onCheckedChange:y=>N(y)}),jsx("label",{htmlFor:F,className:"oui-text-xs",children:U("portfolio.setting.soundAlerts")})]}),Kr]}),ae&&jsxs(Box,{p:2,r:"md",intensity:700,position:"relative",children:[jsx(ze,{...Hr}),jsx(Xr,{onClick:()=>{Xe(false);},className:"oui-group oui-absolute oui-right-2 oui-top-2","data-testid":"oui-testid-orderEntry-pinned-button"})]})]}),jsx(SimpleSheet,{open:wt,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",Q?"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:tn,onClose:()=>{pe(false);},symbolLeverage:e.symbolLeverage})})]})};function Gi({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:u}=useTrack(),d=useMemo(()=>e||[OrderType.POST_ONLY,OrderType.IOC,OrderType.FOK].includes(r)?"disabled":n&&t===OrderType.LIMIT?"on":"off",[e,r,t,n]),l=()=>{u(TrackerEventName.clickBBOButton),n?(s(void 0),i({order_type_ext:void 0,level:void 0})):s(a.current||BBOOrderType.COUNTERPARTY1);},c=p=>{s(p),a.current=p;};return useEffect(()=>{d==="disabled"&&i({order_type_ext:Fe({order_type_ext:r})?void 0:r,level:void 0});},[d,r]),useEffect(()=>{if(d==="on"){let p=ho(n,o),m=Po(n);i({order_type_ext:p,level:m});}},[n,d,o]),{bboStatus:d,bboType:n,setBBOType:s,onBBOChange:c,toggleBBO:l}}function Ki(){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 Zi(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 l=utils.formatNumber(o,new Decimal(t||"0").toNumber());i("order_quantity",l,{shouldUpdateLastChangedField:false});},u=l=>c=>{n.current=l,[5,6].includes(n.current)&&(s.current=l);},d=l=>c=>{setTimeout(()=>{n.current===l&&(n.current=0);},300),l===3&&a();};return {currentFocusInput:n,lastScaledOrderPriceInput:s,onFocus:useMemoizedFn(u),onBlur:useMemoizedFn(d)}}function Xi({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 u=a.contentRect.width;u&&r(u);}});return n.observe(i),()=>{n.unobserve(i);}},[o,e]),{priceInputContainerRef:o,priceInputContainerWidth:t}}var od="orderly_order_sound_alert",Wr=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),{notification:s}=useOrderlyContext(),[a,u]=useLocalStorage(od,s?.orderFilled?.defaultOpen??false),d=Ki(),{formattedOrder:l,setValue:c,setValues:p,symbolInfo:m,...C}=useOrderEntry(t,{initialOrder:{symbol:t,order_type:r,position_type:PositionType.PARTIAL,side:i}}),[T,P]=useLocalStorage("orderly-order-entry-tp_sl-switch",false),{currentLeverage:E}=useMarginRatio(),v=useEventEmitter(),N=useRef(null),z=useRef(null),j=useRef(null),{bboStatus:se,bboType:U,setBBOType:Q,onBBOChange:ce,toggleBBO:f}=Gi({tpslSwitch:T,order_type:l.order_type,order_type_ext:l.order_type_ext,side:l.side,setOrderValues:p}),{currentFocusInput:H,lastScaledOrderPriceInput:J,onFocus:Te,onBlur:w}=Zi({base_tick:m?.base_tick,order_type:l.order_type,order_quantity:l.order_quantity,setValue:c}),ee=()=>{p({tp_trigger_price:"",sl_trigger_price:"",position_type:PositionType.FULL});},me=()=>{p({order_type_ext:void 0,position_type:PositionType.FULL});},ae=()=>{c("order_quantity",C.maxQty);},Xe=useMemoizedFn((_,F,le)=>{if(_==="order_type"&&o(F),_==="side"&&n(F),_==="reduce_only"&&F||_==="order_type"&&(F===OrderType.STOP_LIMIT||F===OrderType.STOP_MARKET)){let q={tp_trigger_price:"",sl_trigger_price:"",[_]:F};_==="order_type"&&(q.order_type_ext=""),p(q);return}if(_==="order_type"&&F!==OrderType.LIMIT){let q={level:void 0,order_type_ext:void 0,[_]:F};p(q);return}if(_==="order_type"&&F===OrderType.SCALED){p({distribution_type:DistributionType.FLAT,[_]:F});return}c(_,F,le);}),wt=_=>{P(_),_?me():ee();};useEffect(()=>{let _=F=>{c("order_price",F);};return v.on("update:orderPrice",_),()=>{v.off("update:orderPrice",_);}},[]),useEffect(()=>{let _=le=>{requestAnimationFrame(()=>{le?.focus();});},F=le=>{let q=removeTrailingZeros(le[0]),{order_type:K,order_type_ext:Ve}=l;if(H.current===2&&(K===OrderType.STOP_LIMIT||K===OrderType.STOP_MARKET)){c("trigger_price",q),_(N.current);return}if(Fe({order_type:K,order_type_ext:Ve})){Q(void 0),p({order_type_ext:void 0,level:void 0}),requestAnimationFrame(()=>{v.emit("update:orderPrice",q);}),_(z.current);return}if(K===OrderType.STOP_LIMIT||K===OrderType.LIMIT){c("order_price",q),_(z.current);return}if(K===OrderType.STOP_MARKET){c("trigger_price",q),_(N.current);return}if(K===OrderType.MARKET){Q(void 0),p({order_type:OrderType.LIMIT,order_price:q}),_(z.current);return}if(K===OrderType.SCALED&&J.current){let Bt=J.current===5?"start_price":"end_price";c(Bt,q),_(z.current);return}if(K===OrderType.TRAILING_STOP){c("activated_price",q),_(j.current);return}c("order_price",q),_(z.current);};return v.on("orderbook:item:click",F),()=>{v.off("orderbook:item:click",F);}},[l,m]),useEffect(()=>{C.reset(),C.resetMetaState();},[t]),useEffect(()=>{l.order_type===OrderType.SCALED&&!l.distribution_type&&c("distribution_type",DistributionType.FLAT);},[l.order_type,l.distribution_type]);let pe=useComputedLTV(),kt=lt(),Rt=()=>{if(se==="on"&&f(),l.order_type===OrderType.LIMIT){let[_=0,F=0]=kt,le=new Decimal(Jt(_)).add(Jt(F)).div(2).toNumber();requestAnimationFrame(()=>{v.emit("update:orderPrice",le);});}},{priceInputContainerRef:Ee,priceInputContainerWidth:At}=Xi({order_type_ext:l.order_type_ext});return {...C,side:l.side,type:l.order_type,level:l.level,formattedOrder:l,setOrderValue:Xe,setOrderValues:p,currentLeverage:E,tpslSwitch:T,setTpslSwitch:wt,setMaxQty:ae,symbolInfo:m,onFocus:Te,onBlur:w,priceInputRef:z,priceInputContainerRef:Ee,priceInputContainerWidth:At,triggerPriceInputRef:N,activatedPriceInputRef:j,canTrade:d,bboStatus:se,bboType:U,onBBOChange:ce,toggleBBO:f,currentLtv:pe,fillMiddleValue:Rt,symbol:t,soundAlert:a,setSoundAlert:u,currentFocusInput:H}};var id=e=>{let t=Wr(e);return jsx(zr,{...t,containerRef:e.containerRef,disableFeatures:e.disableFeatures})};
15
+ var Qe=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 io(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(Qe,{...e})})]})}var no="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",so=e=>{let[t,r]=useState(no);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(no);},className:"oui-text-primary-darken",children:jsx("path",{d:t})})})};function lo(e){let{order:t,symbolInfo:r,onEdit:o,onDelete:i,errors:n}=e,{getErrorMsg:s}=useOrderEntryFormErrorMsg(n),{t:a}=useTranslation(),l=()=>{let u=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)})]})]}),u&&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:u})]})]}):null},d=()=>{if(t.sl_trigger_price||t.sl_order_price){let u=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)})]}),u&&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:u})]})]})})}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(Sn,{size:12,className:"oui-cursor-pointer oui-text-base-contrast-54 hover:oui-text-base-contrast",opacity:1,onClick:i}),jsx(In,{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(),d(),jsx(Divider,{className:"oui-mb-2 oui-w-full"})]})}var Sn=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"})}),In=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 tt=Hi.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"&&(tt.displayName="EffectiveFee");var co=({routerAdapter:e,onClose:t})=>{let{t:r}=useTranslation();return jsxs(Text,{size:"2xs",className:"oui-whitespace-normal oui-break-words",children:[r("portfolio.feeTier.effectiveFee.tooltip")," ",jsx("a",{href:"/rewards/affiliate",onClick:o=>{o.preventDefault(),e?.onRouteChange({href:"/rewards/affiliate",name:r("portfolio.feeTier.effectiveFee.tooltipLink")}),t?.();},className:"oui-cursor-pointer oui-border-none oui-bg-transparent oui-p-0 oui-text-2xs oui-underline hover:oui-text-base-contrast-80",children:r("portfolio.feeTier.effectiveFee.tooltipLink")})]})},Mn=({routerAdapter:e})=>{let{hide:t}=useModal();return jsx(co,{routerAdapter:e,onClose:t})},Bn=e=>{let{routerAdapter:t}=e,{isMobile:r}=useScreen(),{t:o}=useTranslation();return r?jsx(tt,{onClick:()=>{modal.dialog({size:"sm",title:o("common.tips"),content:jsx(Mn,{routerAdapter:t})});}}):jsx(Tooltip,{content:jsx(co,{routerAdapter:t}),className:"oui-p-1.5 oui-text-base-contrast-54",children:jsx(tt,{className:"oui-cursor-pointer"})})},Kt=e=>{let{t}=useTranslation(),{routerAdapter:r}=useScaffoldContext(),{taker:o,maker:i}=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("dmm.taker"),": --% / ",t("dmm.maker"),": --%"]}),children:jsxs(Flex,{gap:1,children:[jsxs(Text,{className:"oui-truncate",size:"2xs",children:[t("dmm.taker"),":"]}),jsx(Text,{size:"2xs",className:"oui-text-base-contrast-80",children:o}),jsx(Text,{size:"2xs",children:"/"}),jsxs(Text,{className:"oui-truncate",size:"2xs",children:[t("dmm.maker"),":"]}),jsx(Text,{size:"2xs",className:"oui-text-base-contrast-80",children:i})]})})]}),jsx(Bn,{routerAdapter:r})]})};var $t=e=>jsx(Kt,{...e});var Xt=e=>{let{t}=useTranslation(),{taker:r,maker: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("dmm.taker"),": --% / ",t("dmm.maker"),": --%"]}),children:jsxs(Flex,{gap:1,children:[jsxs(Text,{className:"oui-truncate",size:"2xs",children:[t("dmm.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("dmm.maker"),":"]}),jsx(Text,{size:"2xs",className:"oui-text-base-contrast-80",children:o})]})})]})})};var Zt=e=>jsx(Xt,{...e});var Gn=e=>typeof e<"u"&&e!==null,Jt=({symbol:e})=>{let{refereeRebate:t,...r}=useFeeState(),i=useRwaSymbolsInfoStore()?.[e]!==void 0;return Gn(t)?jsx($t,{taker:i?r.rwaEffectiveTakerFee:r.effectiveTakerFee,maker:i?r.rwaEffectiveMakerFee:r.effectiveMakerFee}):jsx(Zt,{taker:i?r.rwaTakerFee:r.takerFee,maker:i?r.rwaMakerFee:r.makerFee})};var yo=[.01,.05,.1],xo=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&&!yo.includes(e.initialValue)?s(e.initialValue.toString()):i(e.initialValue);},[e.initialValue,open]);let d=p=>{i(p),s(""),l(void 0);},u=p=>{if(!p){s(p);return}let m=new Decimal(p);i(void 0),m.gt(3)?(s("3"),l(r("orderEntry.slippage.error.exceed"))):(s(p),l(void 0));},c=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")}),c]}),jsxs(Flex,{gapX:2,children:[yo.map(p=>jsx(es,{value:p,isActive:o===p,onClick:()=>{d(p);}},p)),jsx(Input,{suffix:"%",formatters:[inputFormatter.numberFormatter,inputFormatter.dpFormatter(2)],value:n,onValueChange:u,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})})]})}),es=({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 To=e=>{let{t}=useTranslation(),[r,{setTrue:o,setFalse:i,toggle:n}]=useBoolean(false),{isMobile:s}=useScreen(),a=useRef(null),l=()=>{let d=a.current?.getValue();return e.setSlippage(d?d.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(xo,{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(To,{...e});function vo(e){let{canTrade:t,disableFeatures:r,orderType:o,symbol:i}=e,{t:n}=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:n("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(Jt,{symbol:e.symbol})]})}var bs=e=>e>=0&&e<50?"oui-text-success":e>=50&&e<80?"oui-text-warning":e>=80?"oui-text-danger":"",or=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,d)=>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-${d}`)),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",bs(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 Is=()=>{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}},ir=()=>{let{data:e=[],isLoading:t}=useHoldingStream(),{ltv_threshold:r,negative_usdc_threshold:o,isLoading:i}=Is(),n=useTokensInfo(),{getIndexPrice:s}=useIndexPricesStream(),a=e.map(u=>{let c=n?.find(({token:f})=>f===u.token),p=s(u.token),m=c?account.collateralRatio({baseWeight:c.base_weight??0,discountFactor:c.discount_factor??0,collateralQty:u.holding,collateralCap:c?.user_max_qty??u.holding,indexPrice:p}):zero,_=account.collateralContribution({collateralQty:u.holding,collateralCap:c?.user_max_qty??u.holding,collateralRatio:m.toNumber(),indexPrice:p});return {...u,collateralContribution:_}}),l=useComputedLTV(),d=useCallback(async()=>modal.show("ConvertDialogId"),[]);return {holdingData:a,isHoldingLoading:t,ltv_threshold:r,negative_usdc_threshold:o,isThresholdLoading:i,currentLtv:l,onConvert:d}};var st=()=>{let e=ir();return jsx(or,{...e})};var Lo=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(st,{}),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 Ne(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 wo(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 ko(e){if([BBOOrderType.COUNTERPARTY1,BBOOrderType.QUEUE1].includes(e))return OrderLevel.ONE;if([BBOOrderType.COUNTERPARTY5,BBOOrderType.QUEUE5].includes(e))return OrderLevel.FIVE}function Ro(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 sr=e=>Number.isNaN(Number(e))?0:Number(e);var dr=e=>{let{symbolInfo:t,order:r,onConfirm:o,onCancel:i}=e,{quote:n,quote_dp:s,base_dp:a}=t,{side:l,order_type:d,order_type_ext:u,level:c,symbol:p}=r,{t:m}=useTranslation(),[{rows:_}]=usePositionStream(p),v=_?.[0]?.position_qty,[O,x]=useLocalStorage("orderly_order_confirm",true),L=()=>r.position_type===PositionType.FULL?jsx(Text,{children:m("tpsl.positionType.full")}):jsx(Text,{children:m("tpsl.positionType.partial")}),U=()=>{if(d===OrderType.MARKET||d===OrderType.STOP_MARKET)return jsx(Text,{intensity:80,children:m("common.marketPrice")});if(Ne({order_type:d,order_type_ext:u})){let w=getBBOType({type:u,side:l,level:c}),te={[BBOOrderType.COUNTERPARTY1]:m("orderEntry.bbo.counterparty1"),[BBOOrderType.COUNTERPARTY5]:m("orderEntry.bbo.counterparty5"),[BBOOrderType.QUEUE1]:m("orderEntry.bbo.queue1"),[BBOOrderType.QUEUE5]:m("orderEntry.bbo.queue5")}[w];return jsx(Text,{intensity:80,children:te})}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})},J=({price:w,isOrderPrice:te,isEnable:pe,colorType:re})=>pe?!w&&te?jsx(Text,{className:"oui-text-base-contrast-36",children:m("common.marketPrice")}):jsx(Text.numeral,{unit:"USDC",rule:"price",className:cn("oui-text-base-contrast",re==="TP"?"oui-text-trade-profit":"oui-text-trade-loss"),unitClassName:"oui-text-base-contrast-36 oui-ml-1",dp:s,padding:false,children:w}):jsx(Text,{className:"oui-text-base-contrast-36",children:"-- USDC"}),ae=()=>{if(!v||!r.order_quantity)return null;let w=new Decimal(r.order_quantity);return r.position_type===PositionType.FULL&&(w=w.plus(new Decimal(v??0))),jsxs(Flex,{justify:"between",children:[jsx(Text,{children:r.position_type===PositionType.FULL?m("common.positionQty"):m("common.orderQty")}),jsx(Text.numeral,{rule:"price",dp:a,padding:false,className:"oui-text-base-contrast",children:w.toNumber()})]})},W=()=>{if(d===OrderType.TRAILING_STOP){let{activated_price:w,callback_value:te,callback_rate:pe}=r,re=pe?jsxs(Flex,{justify:"between",children:[jsx(Text,{children:m("orderEntry.trailingRate")}),jsxs(Text,{className:"oui-text-base-contrast",children:[pe,"%"]})]}):jsx(lt,{title:m("orderEntry.trailingValue"),value:te,unit:n,dp:s});return jsxs(Fragment,{children:[w&&jsx(lt,{title:m("common.triggerPrice"),value:w,unit:n,dp:s}),re]})}return jsxs(Fragment,{children:[jsxs(Flex,{justify:"between",children:[jsx(Text,{children:m("common.price")}),U()]}),jsx(lt,{title:m("common.estTotal"),value:r.total,unit:n,dp:s})]})},B=jsxs(Flex,{justify:"between",children:[jsx(Text.formatted,{rule:"symbol",showIcon:true,children:r.symbol}),jsxs(Flex,{justify:"end",gapX:1,children:[jsx(Us,{type:d}),l===OrderSide.BUY?jsx(Badge,{color:"buy",size:"sm",children:m("common.buy")}):jsx(Badge,{color:"sell",size:"sm",children:m("common.sell")})]})]}),ce=jsxs(Flex,{justify:"between",children:[jsx(Text,{children:m("common.orderQty")}),jsx(Text.numeral,{rule:"price",dp:a,padding:false,className:"oui-text-base-contrast",children:r.order_quantity})]}),g=(d===OrderType.STOP_LIMIT||d===OrderType.STOP_MARKET&&r.trigger_price)&&jsx(lt,{title:m("common.trigger"),value:r.trigger_price,unit:n,dp:s}),H=(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:L()}),ae(),jsxs(Flex,{direction:"column",justify:"between",itemAlign:"start",gap:1,className:"oui-w-full",children:[jsxs(Flex,{justify:"between",className:"oui-w-full",children:[jsx(Text,{children:m("tpsl.tpTriggerPrice")}),J({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:m("tpsl.tpOrderPrice")}),J({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:m("tpsl.slTriggerPrice")}),J({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:m("tpsl.slOrderPrice")}),J({price:r.sl_order_price??"",isOrderPrice:true,isEnable:!!r.sl_trigger_price,colorType:"SL"})]})]})]})]}),ee=jsxs(Flex,{gapX:1,pt:4,pb:5,children:[jsx(Checkbox,{id:"orderConfirm",color:"white",onCheckedChange:w=>{x(!w);}}),jsx("label",{htmlFor:"orderConfirm",className:textVariants({size:"xs",intensity:54}),children:m("orderEntry.disableOrderConfirm")})]}),me=jsxs(Grid,{cols:2,gapX:3,children:[jsx(Button,{color:"secondary",size:"md",onClick:()=>i(),children:m("common.cancel")}),jsx(Button,{size:"md",onClick:()=>o(),children:m("common.confirm")})]});return jsxs(Fragment,{children:[B,jsx(Divider,{className:"oui-my-4"}),jsxs("div",{className:textVariants({size:"sm",intensity:54,className:"oui-space-y-1"}),children:[ce,g,W()]}),H,ee,me]})},lt=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})]})};dr.displayName="OrderConfirmDialog";var Us=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})},Gs=e=>{let{close:t,resolve:r,reject:o,...i}=e;return jsx(dr,{...i,onCancel:()=>{o(),t();},onConfirm:()=>{r(),t();}})},cr="orderConfirm";registerSimpleDialog(cr,Gs,{size:"sm",title:()=>i18n.t("orderEntry.orderConfirm")});var qo=memo(e=>{let{t}=useTranslation();return jsx(SimpleDialog,{open:e.open,title:t("orderEntry.orderConfirm"),closable:true,onOpenChange:e.onOpenChange,size:"sm",actions:{primary:{label:t("orderEntry.placeOrderNow"),className:"oui-text-sm oui-font-semibold oui-w-[100%] oui-h-8",onClick:()=>(e.onConfirm(),Promise.resolve())},secondary:{label:t("common.cancel"),className:"oui-text-sm oui-font-semibold oui-w-[100%] oui-h-8",onClick:()=>(e.onOpenChange(false),Promise.resolve())}},children:jsx("div",{className:"oui-text-2xs lg:oui-text-sm",children:t("orderEntry.maxQty.reminder.content",{maxQty:`${e.maxQty} ${e.base}`})})})});var fr=e=>{let{order:t,symbolInfo:r,dataSource:o,national:i,askAndBid:n,totalQuantity:s}=e,{base:a,quote:l,base_dp:d,quote_dp:u}=r,{t:c}=useTranslation(),p=()=>{e.reject(),e.close?.();},m=()=>{e.resolve(),e.close?.();},_=useMemo(()=>[{title:c("common.symbol"),dataIndex:"symbol",width:125,render:(f,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:f,className:"oui-size-3"}),jsx(Text.formatted,{rule:"symbol",size:"xs",formatString:"base-type",children:f})]}),jsx(Badge,{color:"neutral",size:"xs",children:c("orderEntry.orderType.limit")})]})]})},{title:c("common.quantity"),dataIndex:"order_quantity",width:100,render:(f,v)=>jsx(Text.numeral,{rule:"price",dp:d,padding:false,color:v.side===OrderSide.BUY?"buy":"sell",children:f})},{title:c("common.orderPrice"),dataIndex:"order_price",width:100,render:(f,v)=>{let O=!!(v.side===OrderSide.BUY?n?.[0]&&Number(f)>=n?.[0]:n?.[1]&&Number(f)<=n?.[1]);return jsxs(Flex,{gapX:1,children:[jsx(Text.numeral,{rule:"price",dp:u,children:f}),O&&jsx(Tooltip,{content:c("orderEntry.confirmScaledOrder.orderPrice.warning"),className:"oui-w-[240px] oui-text-2xs oui-font-semibold oui-text-base-contrast-80",children:jsx(ra,{className:"oui-text-warning-darken"})})]})}}],[c,r,n,d,u]);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:_,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:c("orderEntry.totalOrders")}),jsx(Text,{intensity:80,children:t.orders?.length})]}),jsxs(Flex,{justify:"between",mt:2,children:[jsx(Text,{children:c("orderEntry.totalQuantity")}),jsx(Text.numeral,{rule:"price",unit:a,dp:d,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:c("common.notional")}),jsx(Text.numeral,{rule:"price",unit:l,dp:u,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:p,children:c("common.cancel")}),jsx(Button,{size:"md",onClick:m,children:c("common.confirm")})]})]})},ra=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 dt(){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 gr(e){let{order:t,symbolInfo:r}=e,o=t.orders,i=dt(),n=useMemo(()=>o.reduce((l,d)=>l.add(new Decimal(d.order_price).mul(d.order_quantity)),zero).toNumber(),[o]),s=useMemo(()=>o.reduce((l,d)=>l.add(new Decimal(d.order_quantity)),zero).toString(),[o,r.base_dp]);return {dataSource:o,national:n,askAndBid:i,totalQuantity:s}}var Wo=e=>{let t=gr(e);return jsx(fr,{...e,...t})},ct="scaledOrderConfirm";registerSimpleDialog(ct,Wo,{size:"md",title:()=>i18n.t("orderEntry.confirmScaledOrder"),contentProps:{}});var Ko=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 Xo=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 Jo(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(Ko,{type:o,side:r,canTrade:t,onChange:s=>{i("order_type",s);}})}),jsx("div",{className:"oui-w-full",children:jsx(Xo,{symbol:e.symbol,side:e.side,symbolLeverage:e.symbolLeverage})})]})]})}var xr=createContext({}),P=()=>useContext(xr);var ei=e=>{let{errorMsgVisible:t,symbolInfo:r,onFocus:o,onBlur:i,getErrorMsg:n,setOrderValue:s,setOrderValues:a,currentFocusInput:l,errors:d,priceInputRef:u,priceInputContainerRef:c,triggerPriceInputRef:p,activatedPriceInputRef:m,lastQuantityInputType:_,leverage:f}=e,v=useMemo(()=>({errorMsgVisible:t,symbolInfo:r,onFocus:o,onBlur:i,getErrorMsg:n,setOrderValue:s,setOrderValues:a,currentFocusInput:l,errors:d,priceInputRef:u,priceInputContainerRef:c,triggerPriceInputRef:p,activatedPriceInputRef:m,lastQuantityInputType:_,leverage:f}),[t,r,o,i,n,s,a,l,d,u,c,p,m,_,f]);return jsx(xr.Provider,{value:v,children:e.children})};var I=forwardRef((e,t)=>{let{placeholder:r="0"}=e,{errorMsgVisible:o}=P();return jsx(Input.tooltip,{ref:t,tooltip:o?e.error:void 0,autoComplete:"off",autoFocus:e.autoFocus,size:"lg",placeholder:e.readonly?"":r,id:e.id,name:e.name,color:e.error?"danger":void 0,prefix:e.prefix||jsx(Fa,{id:e.id,className:e.classNames?.prefix,children:e.label}),suffix:e.suffix,value:e.readonly?"":e.value||"",onValueChange:e.onChange,onFocus:i=>{e.onFocus?.(i);},onBlur:i=>{e.onBlur?.(i);},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})});I.displayName="CustomInput";var Fa=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 ti=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 oi=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 ii=e=>{let{bbo:t}=e,{t:r}=useTranslation(),{symbolInfo:o,onFocus:i,onBlur:n,getErrorMsg:s,setOrderValue:a,priceInputRef:l,priceInputContainerRef:d}=P(),{quote:u,quote_dp:c}=o,p=t.bboStatus==="on",m=e.order_type===OrderType.LIMIT?jsx(oi,{quote:u,bbo:t,fillMiddleValue:e.fillMiddleValue}):u;return jsxs("div",{ref:d,className:"oui-group oui-relative oui-w-full",children:[jsx(I,{id:"order_price_input",name:"order_price_input",label:r("common.price"),suffix:m,value:e.order_price,onChange:_=>{a("order_price",_);},error:s("order_price"),formatters:[inputFormatter.dpFormatter(c)],onFocus:i(1),onBlur:n(1),readonly:p,ref:l,classNames:{root:cn(p&&"focus-within:oui-outline-transparent "),input:cn(p&&"oui-cursor-auto")}}),t.bboStatus==="on"&&jsx("div",{className:cn("oui-absolute oui-bottom-1 oui-left-0"),children:jsx(ti,{value:t.bboType,onChange:t.onBBOChange,contentStyle:{width:e.priceInputContainerWidth}})})]})};var Sr=memo(e=>{let{t}=useTranslation(),{symbolInfo:r,onFocus:o,onBlur:i,getErrorMsg:n,setOrderValue:s}=P(),{base:a,base_dp:l}=r;return 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:d=>{s("order_quantity",d);},formatters:[inputFormatter.dpFormatter(l)],onFocus:o(3),onBlur:i(3),className:"!oui-rounded-r",classNames:{suffix:"oui-justify-end"}})});Sr.displayName="QuantityInput";var Ir=memo(e=>{let{t}=useTranslation(),r=useMemo(()=>[{label:t("orderEntry.orderSize"),value:"orderSize"},{label:t("orderEntry.initialMargin"),value:"initialMargin"}],[t]);return jsx(Select.options,{size:"xs",value:e.value,valueFormatter:(o,i)=>r.find(s=>s.value===o)?.label+"\u2248",classNames:{trigger:cn("oui-w-auto oui-border-none oui-bg-transparent","oui-absolute oui-left-0 oui-top-[5px] oui-text-2xs oui-text-base-contrast-36")},onValueChange:e.onChange,options:r})});Ir.displayName="TotalTypeSelect";var Lr=memo(e=>{let{t}=useTranslation(),{total:r}=e,[o,i]=useState(""),{symbolInfo:n,onFocus:s,onBlur:a,getErrorMsg:l,setOrderValue:d,leverage:u=1,currentFocusInput:c}=P(),{quote:p}=n,[m,_]=useLocalStorage("orderly_order_total_type","orderSize");useEffect(()=>{if(r){if(c!==6){let O=new Decimal(r).div(u).todp(2).toString();i(O);}}else i("");},[r,u,c]);let f=O=>{let x=O?new Decimal(O).mul(u).toString():"";d("total",x),i(O);},v=jsx(Ir,{value:m,onChange:_});return m==="initialMargin"?jsx(I,{id:"order_margin_input",name:"order_margin_input",label:`${t("orderEntry.initialMargin")}\u2248`,prefix:v,suffix:p,error:l("total")?"initial margin error":"",value:o,onChange:f,formatters:[inputFormatter.dpFormatter(2)],onFocus:s(6),onBlur:a(6),className:"!oui-rounded-l",classNames:{suffix:"oui-justify-end"}}):jsx(I,{id:"order_total_input",name:"order_total_input",label:`${t("orderEntry.orderSize")}\u2248`,prefix:v,suffix:p,error:l("total"),value:e.total,onChange:O=>{d("total",O);},className:"!oui-rounded-l",classNames:{suffix:"oui-justify-end"},formatters:[inputFormatter.dpFormatter(2)],onFocus:s(5),onBlur:a(5)})});Lr.displayName="TotalInput";var Ke=memo(e=>jsxs(Grid,{cols:2,className:"oui-group oui-space-x-1",children:[jsx(Sr,{order_quantity:e.order_quantity}),jsx(Lr,{total:e.total})]}));Ke.displayName="QtyAndTotalInput";var li=memo(e=>{let{t}=useTranslation(),{setOrderValue:r}=P(),o=()=>{modal.dialog({title:t("common.tips"),size:"sm",content:jsx(pl,{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(fl,{value:e.distribution_type,onValueChange:i=>{r("distribution_type",i);}})]})}),pl=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(gl,{})},{type:DistributionType.ASCENDING,title:t("orderEntry.distributionType.ascending"),description:t("orderEntry.distributionType.ascending.description"),formula:`${t("orderEntry.skew")} > 1`,quantity:jsx(yl,{})},{type:DistributionType.DESCENDING,title:t("orderEntry.distributionType.descending"),description:t("orderEntry.distributionType.descending.description"),formula:`0 < ${t("orderEntry.skew")} < 1`,quantity:jsx(bl,{})}],[]),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(xl,{})]})]})]})]})},fl=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))})},gl=()=>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"})]}),yl=()=>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"})]}),bl=()=>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"})]}),xl=()=>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 wr=memo(e=>{let{t}=useTranslation(),{symbolInfo:r,onFocus:o,onBlur:i,getErrorMsg:n,setOrderValue:s}=P(),{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:d=>{s("start_price",d);},formatters:[inputFormatter.dpFormatter(l)],onFocus:o(7),onBlur:i(7),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:d=>{s("end_price",d);},formatters:[inputFormatter.dpFormatter(l)],onFocus:o(8),onBlur:i(8)})]})});wr.displayName="ScaledPriceInput";var Il=e=>jsx(Text,{size:"2xs",intensity:36,children:e}),ci=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:Il,contentProps:{align:"end",alignOffset:-1,sideOffset:-4,className:"oui-border oui-border-line-6"}})};var fi=memo(e=>{let{t}=useTranslation(),{errors:r,symbolInfo:o,onFocus:i,onBlur:n,getErrorMsg:s,setOrderValue:a}=P(),[l,d]=useLocalStorage("orderly_order_quantity_unit","quote"),{base:u,quote:c,base_dp:p,quote_dp:m}=o,_=l==="base",v=jsx(ci,{base:u,quote:c,value:_?u:c,onValueChange:O=>{d(O===u?"base":"quote");}});return _?jsx(I,{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} ${u}`),onChange:O=>{a("order_quantity",O);},formatters:[inputFormatter.dpFormatter(p)],onFocus:i(3),onBlur:n(3)}):jsx(I,{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} ${c}`),onChange:O=>{a("total",O);},formatters:[inputFormatter.dpFormatter(m)],onFocus:i(5),onBlur:n(5)})});var yi=memo(e=>{let{t}=useTranslation(),{onFocus:r,onBlur:o,getErrorMsg:i,setOrderValue:n}=P();return jsx(I,{id:"order_skew_input",label:t("orderEntry.skew"),value:e.skew,error:i("skew"),onChange:s=>{n("skew",s);},onFocus:r(10),onBlur:o(10),overrideFormatters:[inputFormatter.rangeFormatter({min:0,max:100,dp:2}),inputFormatter.dpFormatter(2)],classNames:{root:"oui-rounded-b-xl"}})});var xi=memo(e=>{let{t}=useTranslation(),{onFocus:r,onBlur:o,getErrorMsg:i,setOrderValue:n}=P();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(9),onBlur:o(9)})});var Ci=e=>{let{values:t}=e,r=t.distribution_type===DistributionType.CUSTOM;return jsxs("div",{className:"oui-space-y-1",children:[jsx(wr,{start_price:t.start_price,end_price:t.end_price}),jsxs(Grid,{cols:2,className:"oui-group oui-space-x-1",children:[jsx(fi,{order_quantity:t.order_quantity,total:t.total}),jsx(xi,{total_orders:t.total_orders})]}),jsx(li,{distribution_type:t.distribution_type,className:cn(!r&&"oui-rounded-b-xl")}),r&&jsx(yi,{skew:t.skew})]})};var Rr=memo(e=>{let{t}=useTranslation(),{symbolInfo:r,onFocus:o,onBlur:i,getErrorMsg:n,setOrderValue:s,triggerPriceInputRef:a}=P();return 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)})})});Rr.displayName="TriggerPriceInput";var Ar=memo(e=>{let{t}=useTranslation(),{symbolInfo:r,onFocus:o,onBlur:i,getErrorMsg:n,setOrderValue:s,activatedPriceInputRef:a}=P();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(11),onBlur:i(11)})})});Ar.displayName="ActivePriceInput";var $l=[1,2,3,5],Mr=memo(e=>{let{setOrderValue:t}=P();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)})})});Mr.displayName="CallbackRatePercentages";var Br=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"}})});Br.displayName="trailingCallbackSelect";var Dr=memo(e=>{let{callback_value:t,callback_rate:r}=e,{t:o}=useTranslation(),{symbolInfo:i,onFocus:n,onBlur:s,getErrorMsg:a,setOrderValue:l,setOrderValues:d}=P(),{quote:u,quote_dp:c}=i,p=useRef(),m=useRef(),[_,f]=useLocalStorage("orderly_order_trailing_callback_type",TrailingCallbackType.VALUE),v=useCallback(x=>{f(x),x===TrailingCallbackType.RATE?(p.current=t,d({callback_value:"",callback_rate:m.current})):(m.current=r,d({callback_value:p.current,callback_rate:""}));},[t,r]),O=jsx(Br,{quote:u,value:_,onValueChange:v});return _===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:O,error:a("callback_rate"),value:r,onChange:x=>{l("callback_rate",x);},formatters:[inputFormatter.dpFormatter(1)],onFocus:x=>{n(13)(x);},onBlur:x=>{s(13)(x);},classNames:{root:"oui-h-[68px]",input:"oui-mb-5",prefix:"!oui-top-1"}}),jsx(Mr,{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:O,error:a("callback_value"),value:t,onChange:x=>{l("callback_value",x);},formatters:[inputFormatter.dpFormatter(c)],onFocus:n(12),onBlur:s(12),classNames:{input:"!oui-mb-[6px]",prefix:"!oui-top-1"}})});Dr.displayName="TrailingCallbackInput";var Ei=e=>{let{values:t}=e;return jsxs("div",{className:"oui-space-y-1",children:[jsx(Ar,{activated_price:t.activated_price}),jsx(Dr,{callback_value:t.callback_value,callback_rate:t.callback_rate}),jsx(Ke,{order_quantity:t.order_quantity,total:t.total})]})};function Li(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(Ei,{values:t});let o=r===OrderType.STOP_LIMIT||r===OrderType.STOP_MARKET,i=r===OrderType.LIMIT||r===OrderType.STOP_LIMIT,n=o&&jsx(Rr,{trigger_price:t.trigger_price}),s=i&&jsx(ii,{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(Ke,{order_quantity:t.order_quantity,total:t.total})]})}var gu=0,Ae=100,Qr=memo(e=>{let{canTrade:t,side:r,order_quantity:o,maxQty:i}=e,[n,s]=useState(0),{setOrderValue:a,symbolInfo:l,lastQuantityInputType:d}=P(),{base_dp:u,base_tick:c}=l,{t:p}=useTranslation(),m=useMemo(()=>t?r===OrderSide.BUY?"buy":"sell":void 0,[r,t]),_=useMemo(()=>r===OrderSide.BUY?p("orderEntry.maxBuy"):p("orderEntry.maxSell"),[r,p]),f=x=>{d.current=4,s(x);},v=x=>{let L=new Decimal(x).div(Ae).mul(i).toFixed(u,Decimal.ROUND_DOWN);a("order_quantity",utils.formatNumber(L,c));},O=()=>{f(Ae),n===Ae&&v(Ae);};return useEffect(()=>{d.current===4&&v(n);},[n,i]),useEffect(()=>{let x=()=>o&&Number(o)!==0&&i!==0?new Decimal(Math.min(Number(o),i)).div(i).mul(Ae).todp(2,Decimal.ROUND_DOWN).toNumber():0;d.current!==4&&s(x());},[o,i]),jsxs("div",{children:[jsx(Slider,{disabled:i===0||!t,value:[n],color:m,markCount:4,showTip:true,onValueChange:x=>{f(x[0]);},min:gu,max:Ae}),jsxs(Flex,{justify:"between",className:"oui-pt-1 xl:oui-pt-2",children:[jsx(Text.numeral,{size:"2xs",color:m,dp:2,padding:false,suffix:"%",children:t?n:0}),jsxs(Flex,{children:[jsx("button",{className:textVariants({size:"2xs",className:"oui-mr-1"}),onClick:O,"data-testid":"oui-testid-orderEntry-maxQty-value-button",children:_}),jsx(Text.numeral,{size:"2xs",color:m,dp:u,padding:false,"data-testid":"oui-testid-orderEntry-maxQty-value",children:t?i:0})]})]})]})});Qr.displayName="QuantitySlider";var Ot=({checked:e,onCheckedChange:t,className:r,testId:o="oui-testid-orderEntry-reduceOnly-switch"})=>{let{t:i}=useTranslation();return jsxs(Flex,{itemAlign:"center",gapX:1,className:r,children:[jsx(Switch,{"data-testid":o,className:"oui-h-[14px]",id:"reduceOnly",checked:e,onCheckedChange:t}),jsx("label",{htmlFor:"reduceOnly",className:"oui-text-xs",children:i("orderEntry.reduceOnly")})]})};var Ur=createContext({}),vt=()=>useContext(Ur);var Bi=e=>{let{type:t,values:r,quote_dp:o}=e,{t:i}=useTranslation(),[n,s]=useState(true),{mode:a,setMode:l,tipsEle:d}=vt(),[u,c]=useState(false),[p,m]=useState(false),_=useMemo(()=>{switch(a){case "Offset":return `${t.toLowerCase()}_offset`;case "Offset%":return `${t.toLowerCase()}_offset_percentage`;default:return `${t.toLowerCase()}_pnl`}},[a]),[f,v]=useState(r[a]);useEffect(()=>{p||v(r[a]);},[r,a,p]);let O=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]),x=useMemo(()=>({PnL:i("tpsl.pnl"),Offset:i("tpsl.offset"),"Offset%":`${i("tpsl.offset")}%`}),[i]),L=useRef("");return {mode:a,modes:O,modeLabelMap:x,formatter:B=>{let{dp:ce=2}=B;return {onRenderBefore:(g,H)=>(g=`${g}`,n&&t==="SL"&&a==="PnL"&&(g=g.startsWith("-")?g:"-"+g),g===""||g==="-"?"":a==="Offset%"?`${new Decimal(g.replace(new RegExp(L.current.replace(".","\\.")+"$"),"")).mul(100).todp(2,4).toString()}${L.current}`:(a==="Offset"&&(g=todpIfNeed(g,ce)),`${g}`)),onSendBefore:g=>{if(/^\-?0{2,}$/.test(g))return "0";if(a==="Offset%"){if(g!==""){g=todpIfNeed(g,2);let H=g.match(/\.0{0,2}$/);H?L.current=H[0]:L.current="",g=new Decimal(g).div(100).toString(),g=`${g}${L.current}`;}}else a==="PnL"&&t==="SL"&&n?g=g.startsWith("-")?g:"-"+g:g=todpIfNeed(g,ce);return g===""||g==="-"?"":g}}},onModeChange:B=>{l(B);},onFocus:()=>{c(true),m(true);},onBlur:()=>{c(false),m(false),e.onChange(_,f);},value:f,onValueChange:B=>{v(B),e.onChange(_,B);},quote_dp:o,tips:u?d:void 0,setFocus:s}};var qi=e=>{let{mode:t,modes:r,modeLabelMap:o,onModeChange:i,onValueChange:n,quote:s,quote_dp:a,value:l,type:d,tips:u,onFocus:c,onBlur:p,setFocus:m}=e,[_,f]=useState(t),[v,O]=useState(t==="Offset%"?"%":s);useEffect(()=>{f(t),O(t==="Offset%"?"%":s);},[t]),useEffect(()=>{f(l?"":t);},[l]);let x=useMemo(()=>`${d.toLowerCase()}_${t.toLowerCase()}`,[]);return jsx(Input.tooltip,{prefix:o[_]||_,size:"md",placeholder:v,id:x,align:"right",value:l,tooltip:u,tooltipProps:{content:{side:e.type==="TP"?"top":"bottom"}},"data-testid":e.testIds?.input,autoComplete:"off",onValueChange:n,formatters:[e.formatter({dp:a,mode:t,type:d}),inputFormatter.currencyFormatter],classNames:{root:d==="TP"?"oui-text-trade-profit":"oui-text-trade-loss",additional:"oui-text-base-contrast-54",input:"oui-text-inherit"},onFocus:()=>{f(""),O(""),m(true),c();},onBlur:()=>{f(l?"":t),O(t==="Offset%"?"%":s),p();},suffix:jsxs(Fragment,{children:[t==="Offset%"&&!!l&&jsx(Text,{size:"2xs",color:"inherit",className:"oui-ml-[2px]",children:"%"}),jsx(wu,{mode:t,modes:r,onModeChange:L=>i(L.value),testId:e.testIds?.dropDown})]})})},wu=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 zi=e=>{let{testIds:t,quote:r,...o}=e,i=Bi(o);return jsx(qi,{...i,testIds:t,quote:r,type:e.type})};var Hr=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(Ur.Provider,{value:l,children:o})};var Yi=e=>{let t=Hi.useRef(null),{t:r}=useTranslation(),{isMobile:o}=useScreen();return useEffect(()=>{e.orderType!==OrderType.LIMIT&&e.orderType!==OrderType.MARKET&&e.onSwitchChanged(false);},[e.orderType]),e.orderType!==OrderType.LIMIT&&e.orderType!==OrderType.MARKET||e.isReduceOnly?null:jsxs("div",{children:[jsxs(Flex,{itemAlign:"center",justify:"between",children:[jsxs(Flex,{itemAlign:"center",gapX:1,children:[jsx(Switch,{id:"order_entry_tpsl",className:"oui-h-[14px]",checked:e.switchState,disabled:e.orderType!==OrderType.LIMIT&&e.orderType!==OrderType.MARKET||e.isReduceOnly,onCheckedChange:i=>{e.onSwitchChanged(i);}}),jsx("label",{htmlFor:"order_entry_tpsl",className:"oui-text-xs",children:r("common.tpsl")})]}),jsxs(Flex,{itemAlign:"center",gapX:2,children:[o&&e.reduceOnlyChecked!==void 0&&e.onReduceOnlyChange&&jsx(Ot,{checked:e.reduceOnlyChecked,onCheckedChange:e.onReduceOnlyChange}),!o&&jsx($i,{className:cn("oui-group oui-invisible",e.switchState&&"oui-visible"),showTPSLAdvanced: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(Ki,{ref:t,setOrderValue:e.setOrderValue,onChange:e.onChange,values:e.values,errors:e.errors,quote_dp:e.quote_dp,showTPSLAdvanced:e.showTPSLAdvanced,isMobile:o})})]})},Ki=Hi.forwardRef((e,t)=>{let{getErrorMsg:r}=useOrderEntryFormErrorMsg(e.errors),{t:o}=useTranslation();return jsxs("div",{ref:t,className:"oui-space-y-1 oui-px-px oui-py-2 oui-transition-all",children:[jsxs(Flex,{itemAlign:"center",justify:"between",gapX:2,children:[jsx(TPSLPositionTypeWidget,{value:e.values.position_type,onChange:e.onChange}),e.isMobile&&jsx($i,{showTPSLAdvanced:e.showTPSLAdvanced,isMobile:e.isMobile})]}),jsx(Hr,{values:e.values.tp,type:"TP",children:jsx(Wi,{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(Hr,{values:e.values.sl,type:"SL",children:jsx(Wi,{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"}})})]})});Ki.displayName="TPSLInputForm";var $i=e=>{let{t}=useTranslation();return jsxs(Flex,{itemAlign:"center",gapX:1,onClick:e.showTPSLAdvanced,className:cn("oui-group oui-cursor-pointer",e.className),children:[jsx(Text,{className:cn("oui-cursor-pointer group-hover:oui-text-base-contrast",e.isMobile?"oui-text-2xs":"oui-text-sm"),children:t("tpsl.advanced")}),jsx(SettingFillIcon,{size:12,className:"oui-text-base-contrast-54 group-hover:oui-text-base-contrast oui-cursor-pointer",opacity:1,onClick:e.showTPSLAdvanced})]})},$u=e=>{let{t}=useTranslation(),{errorMsgVisible:r}=P(),{tipsEle:o}=vt(),[i,n]=useState(`${e.type} Price`),[s,a]=useState("USDC"),[l,d]=useState(false),[u,c]=useState(false),[p,m]=useState(e.values.trigger_price??"");useEffect(()=>{u||m(e.values.trigger_price??"");},[e.values.trigger_price,u]);let _=useMemo(()=>e.error&&r?e.error:l?o:null,[e.error,r,l,o]),f=L=>{let U=e.type==="TP"?t("tpsl.tpPrice"):t("tpsl.slPrice");return L&&(U=e.type==="TP"?t("tpsl.tp"):t("tpsl.sl")),U},v=L=>{m(L),e.onChange(L);};useEffect(()=>{n(f(e.values.trigger_price)),u||m(e.values.trigger_price??"");},[e.type,e.values.trigger_price]);let O=()=>{n(e.type==="TP"?t("tpsl.tp"):t("tpsl.sl")),a(""),d(true),c(true);},x=()=>{n(f(e.values.trigger_price)),a("USDC"),d(false),c(false),e.onChange(p);};return jsx(Input.tooltip,{"data-testid":e.testId,prefix:i,size:"md",placeholder:s,align:"right",onFocus:O,onBlur:x,tooltip:_,tooltipProps:{content:{side:e.type==="TP"?"top":"bottom"}},color:e.error?"danger":void 0,autoComplete:"off",value:p,classNames:{additional:"oui-text-base-contrast-54",root:"oui-pr-2 md:oui-pr-3",prefix:"oui-pr-1 md:oui-pr-2"},onValueChange:v,formatters:[inputFormatter.numberFormatter,inputFormatter.dpFormatter(e.quote_dp??2),inputFormatter.currencyFormatter]})},Wi=e=>jsxs(Grid,{cols:2,gapX:1,children:[jsx($u,{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(zi,{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 Xr=e=>{let{side:t,formattedOrder:r,setOrderValue:o,setOrderValues:i,symbolInfo:n,maxQty:s,freeCollateral:a,helper:l,submit:d,metaState:u,bboStatus:c,bboType:p,onBBOChange:m,toggleBBO:_,disableFeatures:f,currentLtv:v,fillMiddleValue:O,soundAlert:x,setSoundAlert:L,currentFocusInput:U}=e,[J,ae]=useState(false),{t:W}=useTranslation(),{isMobile:B}=useScreen(),[ce,g]=useState(false),{errors:H,validated:ee}=u,[me,w]=useState(false),[te,pe]=useLocalStorage("orderly_order_confirm",true),[re,Je]=useLocalStorage("orderly-order-additional-pinned",true),[Bt,fe]=useState(false),[Vt,Dt]=useLocalStorage("orderly-order-hidden",false),[Se,qt]=useLocalStorage("orderly-slippage","1",{parseJSON:b=>!b||b==='""'?"1":JSON.parse(b)}),{notification:h}=useOrderlyContext(),F=useId(),{getErrorMsg:le}=useOrderEntryFormErrorMsg(ee?H:null),z=useMemo(()=>t===OrderSide.BUY?W("orderEntry.buyLong"):W("orderEntry.sellShort"),[t,W]);useEffect(()=>{ee&&w(true);},[ee]),useEffect(()=>{f?.includes("slippageSetting")||(Se?o("slippage",Number(Se)):o("slippage",void 0));},[Se,f]),useEffect(()=>{let b=A=>{A.target.closest("#order-entry-submit-button")||w(oo=>oo&&false);};return me?document.addEventListener("click",b):document.removeEventListener("click",b),()=>{document.removeEventListener("click",b);}},[me]);let Y=useMemoizedFn(async()=>{let b=r.order_type===OrderType.SCALED;l.validate().then(A=>b?modal.show(ct,{order:A,symbolInfo:n,size:B?"sm":"md"}):te?modal.show(cr,{order:r,symbolInfo:n}):true,A=>(A.slippage&&toast.error(W("orderEntry.slippage.error.max")),w(true),Promise.reject())).then(()=>d({resetOnSuccess:false}).then(A=>{if(!A.success&&A.message)toast.error(A.message);else if(A.success&&b){let qe=Ro(A);qe&&toast.success(qe);}})).catch(A=>{A?.message&&toast.error(A.message);});}),De=useMemo(()=>new Decimal(s).todp(n.base_dp,Decimal.ROUND_DOWN).toString(),[s,n.base_dp]),zt=useCallback(()=>{o("order_quantity",De),requestAnimationFrame(()=>{Y();}),ae(false);},[o,De]),an=async()=>{if(r.reduce_only&&s===0)return modal.confirm({title:W("orderEntry.reduceOnly.reminder"),content:W("orderEntry.reduceOnly.reminder.content"),okLabel:W("orderEntry.placeOrderNow"),onOk:async()=>(o("reduce_only",false),requestAnimationFrame(()=>{e.resetMetaState(),Y();}),Promise.resolve(true)),onCancel:async()=>Promise.resolve(false)});s>0&&Number(r.order_quantity)>s?ae(true):Y();},ln=()=>{l.validate().then(()=>{fe(true);},b=>{let A=new Set(["tp_trigger_price","sl_trigger_price"]);Object.keys(b).every(qe=>A.has(qe))&&fe(true);});},un=b=>{b.side!==r.side&&o("side",b.side),i({position_type:b.position_type,tp_order_type:b.tp_order_type,tp_pnl:b.tp_pnl,tp_offset:b.tp_offset,tp_offset_percentage:b.tp_offset_percentage,tp_ROI:b.tp_ROI,tp_trigger_price:b.tp_trigger_price,tp_order_price:b.tp_order_price,sl_order_type:b.sl_order_type,sl_trigger_price:b.sl_trigger_price,sl_order_price:b.sl_order_price,sl_pnl:b.sl_pnl,sl_offset:b.sl_offset,sl_offset_percentage:b.sl_offset_percentage,sl_ROI:b.sl_ROI}),fe(false),g(true);},dn=()=>{g(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(()=>{g(false);},[e.symbol]);let Qt=!!h?.orderFilled?.media&&(h?.orderFilled?.displayInOrderEntry??true),ro={pinned:re,setPinned:Je,needConfirm:te,setNeedConfirm:pe,hidden:Vt,setHidden:Dt,onValueChange:o,orderTypeExtra:r.order_type_ext,showExtra:r.order_type===OrderType.LIMIT&&!e.tpslSwitch},Ut=!re&&jsx(io,{...ro});return jsxs(ei,{errors:H,errorMsgVisible:me,symbolInfo:n,onFocus:e.onFocus,onBlur:e.onBlur,getErrorMsg:le,setOrderValue:o,setOrderValues:i,currentFocusInput:U.current,priceInputRef:e.priceInputRef,priceInputContainerRef:e.priceInputContainerRef,triggerPriceInputRef:e.triggerPriceInputRef,activatedPriceInputRef:e.activatedPriceInputRef,lastQuantityInputType:e.lastQuantityInputType,leverage:e.symbolLeverage,children:[jsx(qo,{open:J,onOpenChange:ae,maxQty:De,onConfirm:zt,base:n.base}),jsxs("div",{className:"oui-space-y-2 oui-text-base-contrast-54 xl:oui-space-y-3",ref:e.containerRef,children:[jsx(Jo,{symbol:e.symbol,canTrade:e.canTrade,side:t,order_type:r.order_type,setOrderValue:o,symbolLeverage:e.symbolLeverage}),jsx(Lo,{currentLtv:v,canTrade:e.canTrade,quote:n?.quote,freeCollateral:a}),jsx(Li,{values:r,priceInputContainerWidth:e.priceInputContainerWidth,fillMiddleValue:O,bbo:{bboStatus:c,bboType:p,onBBOChange:m,toggleBBO:_}}),jsx(Qr,{canTrade:e.canTrade,side:e.side,order_quantity:r.order_quantity,maxQty:s}),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:an,loading:e.isMutating,disabled:!e.canTrade,children:z}),jsx(vo,{canTrade:e.canTrade,quote:n.quote,estLiqPrice:e.estLiqPrice,estLeverage:e.estLeverage,currentLeverage:e.currentLeverage,slippage:Se,dp:n.quote_dp,setSlippage:qt,estSlippage:e.estSlippage,orderType:r.order_type,disableFeatures:f,symbol:e.symbol}),jsx(Divider,{className:"oui-w-full"}),ce?jsx(lo,{order:r,symbolInfo:e.symbolInfo,errors:ee?H:null,onEdit:()=>{fe(true);},onDelete:()=>{dn();}}):jsx(Yi,{quote_dp:e.symbolInfo.quote_dp,switchState:e.tpslSwitch,onSwitchChanged:e.setTpslSwitch,orderType:r.order_type,errors:ee?H:null,isReduceOnly:r.reduce_only,setOrderValue:o,reduceOnlyChecked:r.reduce_only??false,onReduceOnlyChange:b=>{o("reduce_only",b);},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:ln,onChange:(b,A)=>{o(b,A);}}),(!B||r.reduce_only===true)&&jsxs(Flex,{justify:"between",itemAlign:"center",className:"oui-mt-2",children:[jsx(Ot,{checked:r.reduce_only??false,onCheckedChange:b=>{o("reduce_only",b);}}),!Qt&&Ut]}),Qt&&jsxs(Flex,{justify:"between",itemAlign:"center",children:[jsxs(Flex,{itemAlign:"center",gapX:1,children:[jsx(Switch,{className:"oui-h-[14px]",id:F,checked:x,onCheckedChange:b=>L(b)}),jsx("label",{htmlFor:F,className:"oui-text-xs",children:W("portfolio.setting.soundAlerts")})]}),Ut]}),!Qt&&B&&!r.reduce_only&&!re&&jsx(Flex,{className:"oui-w-full",justify:"end",children:Ut}),re&&jsxs(Box,{p:2,r:"md",intensity:700,position:"relative",children:[jsx(Qe,{...ro}),jsx(so,{onClick:()=>{Je(false);},className:"oui-group oui-absolute oui-right-2 oui-top-2","data-testid":"oui-testid-orderEntry-pinned-button"})]})]}),jsx(SimpleSheet,{open:Bt,onOpenChange:fe,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",B?"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:un,onClose:()=>{fe(false);},symbolLeverage:e.symbolLeverage})})]})};function tn({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(),d=useMemo(()=>e||[OrderType.POST_ONLY,OrderType.IOC,OrderType.FOK].includes(r)?"disabled":n&&t===OrderType.LIMIT?"on":"off",[e,r,t,n]),u=()=>{l(TrackerEventName.clickBBOButton),n?(s(void 0),i({order_type_ext:void 0,level:void 0})):s(a.current||BBOOrderType.COUNTERPARTY1);},c=p=>{s(p),a.current=p;};return useEffect(()=>{d==="disabled"&&i({order_type_ext:Ne({order_type_ext:r})?void 0:r,level:void 0});},[d,r]),useEffect(()=>{if(d==="on"){let p=wo(n,o),m=ko(n);i({order_type_ext:p,level:m});}},[n,d,o]),{bboStatus:d,bboType:n,setBBOType:s,onBBOChange:c,toggleBBO:u}}function on(e){let{base_tick:t,order_type:r,order_quantity:o,setValue:i}=e,n=useRef(0),s=useRef(8),a=useRef(0),l=()=>{if(t<1||r===OrderType.SCALED||!o)return;let c=utils.formatNumber(o,new Decimal(t||"0").toNumber());i("order_quantity",c,{shouldUpdateLastChangedField:false});},d=c=>p=>{n.current=c,[7,8].includes(n.current)&&(s.current=c),[3,5,6].includes(c)&&(a.current=c);},u=c=>p=>{setTimeout(()=>{n.current===c&&(n.current=0);},300),c===3&&l();};return {currentFocusInput:n,lastScaledOrderPriceInput:s,lastQuantityInputType:a,onFocus:useMemoizedFn(d),onBlur:useMemoizedFn(u)}}function nn({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 Fd="orderly_order_sound_alert",to=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),{notification:s}=useOrderlyContext(),[a,l]=useLocalStorage(Fd,s?.orderFilled?.defaultOpen??false),d=useCanTrade(),{formattedOrder:u,setValue:c,setValues:p,symbolInfo:m,..._}=useOrderEntry(t,{initialOrder:{symbol:t,order_type:r,position_type:PositionType.PARTIAL,side:i}}),[f,v]=useLocalStorage("orderly-order-entry-tp_sl-switch",false),{currentLeverage:O}=useMarginRatio(),x=useEventEmitter(),L=useRef(null),U=useRef(null),J=useRef(null),{bboStatus:ae,bboType:W,setBBOType:B,onBBOChange:ce,toggleBBO:g}=tn({tpslSwitch:f,order_type:u.order_type,order_type_ext:u.order_type_ext,side:u.side,setOrderValues:p}),{currentFocusInput:H,lastScaledOrderPriceInput:ee,lastQuantityInputType:me,onFocus:w,onBlur:te}=on({base_tick:m?.base_tick,order_type:u.order_type,order_quantity:u.order_quantity,setValue:c}),pe=()=>{p({tp_trigger_price:"",sl_trigger_price:"",position_type:PositionType.FULL});},re=()=>{p({order_type_ext:void 0,position_type:PositionType.FULL});},Je=useMemoizedFn((h,F,le)=>{if(h==="order_type"&&o(F),h==="side"&&n(F),h==="reduce_only"&&F||h==="order_type"&&(F===OrderType.STOP_LIMIT||F===OrderType.STOP_MARKET)){let z={tp_trigger_price:"",sl_trigger_price:"",[h]:F};h==="order_type"&&(z.order_type_ext=""),p(z);return}if(h==="order_type"&&F!==OrderType.LIMIT){let z={level:void 0,order_type_ext:void 0,[h]:F};p(z);return}if(h==="order_type"&&F===OrderType.SCALED){p({distribution_type:DistributionType.FLAT,[h]:F});return}c(h,F,le);}),Bt=h=>{v(h),h?re():pe();};useEffect(()=>{let h=F=>{c("order_price",F);};return x.on("update:orderPrice",h),()=>{x.off("update:orderPrice",h);}},[]),useEffect(()=>{let h=le=>{requestAnimationFrame(()=>{le?.focus();});},F=le=>{let z=removeTrailingZeros(le[0]),{order_type:Y,order_type_ext:De}=u;if(H.current===2&&(Y===OrderType.STOP_LIMIT||Y===OrderType.STOP_MARKET)){c("trigger_price",z),h(L.current);return}if(Ne({order_type:Y,order_type_ext:De})){B(void 0),p({order_type_ext:void 0,level:void 0}),requestAnimationFrame(()=>{x.emit("update:orderPrice",z);}),h(U.current);return}if(Y===OrderType.STOP_LIMIT||Y===OrderType.LIMIT){c("order_price",z),h(U.current);return}if(Y===OrderType.STOP_MARKET){c("trigger_price",z),h(L.current);return}if(Y===OrderType.MARKET){B(void 0),p({order_type:OrderType.LIMIT,order_price:z}),h(U.current);return}if(Y===OrderType.SCALED&&ee.current){let zt=ee.current===7?"start_price":"end_price";c(zt,z),h(U.current);return}if(Y===OrderType.TRAILING_STOP){c("activated_price",z),h(J.current);return}c("order_price",z),h(U.current);};return x.on("orderbook:item:click",F),()=>{x.off("orderbook:item:click",F);}},[u,m]),useEffect(()=>{_.reset(),_.resetMetaState(),me.current=0;},[t]),useEffect(()=>{u.order_type===OrderType.SCALED&&!u.distribution_type&&c("distribution_type",DistributionType.FLAT);},[u.order_type,u.distribution_type]);let fe=useComputedLTV(),Vt=dt(),Dt=()=>{if(ae==="on"&&g(),u.order_type===OrderType.LIMIT){let[h=0,F=0]=Vt,le=new Decimal(sr(h)).add(sr(F)).div(2).toNumber();requestAnimationFrame(()=>{x.emit("update:orderPrice",le);});}},{priceInputContainerRef:Se,priceInputContainerWidth:qt}=nn({order_type_ext:u.order_type_ext});return {..._,side:u.side,type:u.order_type,level:u.level,formattedOrder:u,setOrderValue:Je,setOrderValues:p,currentLeverage:O,tpslSwitch:f,setTpslSwitch:Bt,symbolInfo:m,onFocus:w,onBlur:te,priceInputRef:U,priceInputContainerRef:Se,priceInputContainerWidth:qt,triggerPriceInputRef:L,activatedPriceInputRef:J,lastQuantityInputType:me,canTrade:d,bboStatus:ae,bboType:W,onBBOChange:ce,toggleBBO:g,currentLtv:fe,fillMiddleValue:Dt,symbol:t,soundAlert:a,setSoundAlert:l,currentFocusInput:H}};var wd=e=>{let t=to(e);return jsx(Xr,{...t,containerRef:e.containerRef,disableFeatures:e.disableFeatures})};
17
16
 
18
- export { ze as AdditionalInfo, Ht as FeesWidget, it as LTVRiskTooltipWidget, or as OrderConfirmDialog, zr as OrderEntry, id as OrderEntryWidget, Wr as useOrderEntryScript };
17
+ export { Qe as AdditionalInfo, Jt as FeesWidget, st as LTVRiskTooltipWidget, dr as OrderConfirmDialog, Xr as OrderEntry, wd as OrderEntryWidget, to as useOrderEntryScript };
19
18
  //# sourceMappingURL=out.js.map
20
19
  //# sourceMappingURL=index.mjs.map