@orderly.network/ui-order-entry 3.0.0-beta.1 → 3.0.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1,10 +1,65 @@
1
+ import * as _orderly_network_types from '@orderly.network/types';
2
+ import { MarginMode, OrderSide, OrderType, OrderLevel, OrderlyOrder, API } from '@orderly.network/types';
1
3
  import * as react from 'react';
2
4
  import react__default, { FC } from 'react';
3
- import * as _orderly_network_types from '@orderly.network/types';
4
- import { OrderSide, OrderType, OrderLevel, OrderlyOrder, API, MarginMode } from '@orderly.network/types';
5
5
  import * as _orderly_network_hooks from '@orderly.network/hooks';
6
6
  import * as react_jsx_runtime from 'react/jsx-runtime';
7
7
 
8
+ /** Props exposed for plugin interceptors targeting OrderType tabs area. */
9
+ type OrderEntryTypeTabsProps = {
10
+ type: OrderType;
11
+ side: OrderSide;
12
+ canTrade: boolean;
13
+ onChange: (type: OrderType) => void;
14
+ marketOrderDisabled?: boolean;
15
+ marketOrderDisabledTooltip?: string;
16
+ };
17
+ /** Props exposed for plugin interceptors targeting Buy/Sell switch area. */
18
+ type OrderEntryBuySellSwitchProps = {
19
+ side: OrderSide;
20
+ canTrade: boolean;
21
+ onSideChange: (side: OrderSide) => void;
22
+ };
23
+ /** Props exposed for plugin interceptors targeting Available balance row. */
24
+ type OrderEntryAvailableProps = {
25
+ currentLtv: number;
26
+ canTrade: boolean;
27
+ quote?: string;
28
+ freeCollateral: number;
29
+ marginMode?: MarginMode;
30
+ };
31
+ /** Props exposed for plugin interceptors targeting quantity slider area. */
32
+ type OrderEntryQuantitySliderProps = {
33
+ canTrade: boolean;
34
+ side: OrderSide;
35
+ order_quantity?: string;
36
+ maxQty: number;
37
+ };
38
+ /** Props exposed for plugin interceptors targeting submit+asset-info section. */
39
+ type OrderEntrySubmitSectionProps = {
40
+ buttonLabel: string;
41
+ side: OrderSide;
42
+ canTrade: boolean;
43
+ isMutating: boolean;
44
+ onSubmit: () => void;
45
+ assetInfo: {
46
+ canTrade: boolean;
47
+ quote: string;
48
+ estLiqPrice: number | null;
49
+ estLiqPriceDistance: number | null;
50
+ estLeverage: number | null;
51
+ currentLeverage: number | null;
52
+ slippage: string;
53
+ dp: number;
54
+ setSlippage: (slippage: string) => void;
55
+ estSlippage: number | null;
56
+ orderType: OrderType;
57
+ disableFeatures?: ("slippageSetting" | "feesInfo")[];
58
+ symbol: string;
59
+ side: OrderSide;
60
+ };
61
+ };
62
+
8
63
  declare enum InputType {
9
64
  NONE = 0,
10
65
  PRICE = 1,// price input focus
@@ -47,7 +102,11 @@ declare const useOrderEntryScript: (inputs: OrderEntryScriptInputs) => {
47
102
  setOrderValue: (this: unknown, key: string, value: unknown, options?: {
48
103
  shouldUpdateLastChangedField?: boolean;
49
104
  } | undefined) => void;
105
+ manualSetOrderValue: (this: unknown, key: string, value: unknown, options?: {
106
+ shouldUpdateLastChangedField?: boolean;
107
+ } | undefined) => void;
50
108
  setOrderValues: (values: Partial<_orderly_network_types.OrderlyOrder>) => void;
109
+ setOrderValuesRaw: (values: Partial<_orderly_network_types.OrderlyOrder>) => void;
51
110
  currentLeverage: number | null;
52
111
  symbolLeverage: number | undefined;
53
112
  marginMode: _orderly_network_types.MarginMode;
@@ -73,6 +132,9 @@ declare const useOrderEntryScript: (inputs: OrderEntryScriptInputs) => {
73
132
  soundAlert: any;
74
133
  setSoundAlert: (value: boolean) => void;
75
134
  currentFocusInput: react.MutableRefObject<InputType>;
135
+ walletAddress: string | undefined;
136
+ isPermissionlessListing: boolean;
137
+ isSymbolPostOnly: boolean;
76
138
  submit: (options?: {
77
139
  resetOnSuccess?: boolean;
78
140
  }) => Promise<{
@@ -114,6 +176,23 @@ type OrderEntryProps = OrderEntryScriptReturn & {
114
176
  };
115
177
  declare const OrderEntry: react__default.FC<OrderEntryProps>;
116
178
 
179
+ /**
180
+ * Module augmentation: maps OrderEntry interceptor target paths to props types.
181
+ * Import from @orderly.network/ui-order-entry to enable typed props in
182
+ * createInterceptor("Trading.OrderEntry.*", (Original, props, api) => ...).
183
+ */
184
+
185
+ declare module "@orderly.network/plugin-core" {
186
+ interface InterceptorTargetPropsMap {
187
+ OrderEntry: OrderEntryProps;
188
+ "Trading.OrderEntry.Available": OrderEntryAvailableProps;
189
+ "Trading.OrderEntry.BuySellSwitch": OrderEntryBuySellSwitchProps;
190
+ "Trading.OrderEntry.QuantitySlider": OrderEntryQuantitySliderProps;
191
+ "Trading.OrderEntry.SubmitSection": OrderEntrySubmitSectionProps;
192
+ "Trading.OrderEntry.TypeTabs": OrderEntryTypeTabsProps;
193
+ }
194
+ }
195
+
117
196
  declare const OrderEntryWidget: react__default.FC<OrderEntryScriptInputs & {
118
197
  containerRef?: react__default.RefObject<HTMLDivElement>;
119
198
  disableFeatures?: ("slippageSetting" | "feesInfo")[];
@@ -151,4 +230,11 @@ declare const FeesWidget: react__default.FC<{
151
230
  symbol: string;
152
231
  }>;
153
232
 
154
- export { AdditionalInfo, FeesWidget, LTVRiskTooltipWidget, OrderConfirmDialog, OrderEntry, OrderEntryWidget, useOrderEntryScript };
233
+ type SymbolBadgeProps = {
234
+ symbol: string;
235
+ className?: string;
236
+ size?: "xs" | "sm" | "md" | "lg";
237
+ };
238
+ declare const SymbolBadge: FC<SymbolBadgeProps>;
239
+
240
+ export { AdditionalInfo, FeesWidget, LTVRiskTooltipWidget, OrderConfirmDialog, OrderEntry, OrderEntryWidget, SymbolBadge, useOrderEntryScript };
package/dist/index.d.ts CHANGED
@@ -1,10 +1,65 @@
1
+ import * as _orderly_network_types from '@orderly.network/types';
2
+ import { MarginMode, OrderSide, OrderType, OrderLevel, OrderlyOrder, API } from '@orderly.network/types';
1
3
  import * as react from 'react';
2
4
  import react__default, { FC } from 'react';
3
- import * as _orderly_network_types from '@orderly.network/types';
4
- import { OrderSide, OrderType, OrderLevel, OrderlyOrder, API, MarginMode } from '@orderly.network/types';
5
5
  import * as _orderly_network_hooks from '@orderly.network/hooks';
6
6
  import * as react_jsx_runtime from 'react/jsx-runtime';
7
7
 
8
+ /** Props exposed for plugin interceptors targeting OrderType tabs area. */
9
+ type OrderEntryTypeTabsProps = {
10
+ type: OrderType;
11
+ side: OrderSide;
12
+ canTrade: boolean;
13
+ onChange: (type: OrderType) => void;
14
+ marketOrderDisabled?: boolean;
15
+ marketOrderDisabledTooltip?: string;
16
+ };
17
+ /** Props exposed for plugin interceptors targeting Buy/Sell switch area. */
18
+ type OrderEntryBuySellSwitchProps = {
19
+ side: OrderSide;
20
+ canTrade: boolean;
21
+ onSideChange: (side: OrderSide) => void;
22
+ };
23
+ /** Props exposed for plugin interceptors targeting Available balance row. */
24
+ type OrderEntryAvailableProps = {
25
+ currentLtv: number;
26
+ canTrade: boolean;
27
+ quote?: string;
28
+ freeCollateral: number;
29
+ marginMode?: MarginMode;
30
+ };
31
+ /** Props exposed for plugin interceptors targeting quantity slider area. */
32
+ type OrderEntryQuantitySliderProps = {
33
+ canTrade: boolean;
34
+ side: OrderSide;
35
+ order_quantity?: string;
36
+ maxQty: number;
37
+ };
38
+ /** Props exposed for plugin interceptors targeting submit+asset-info section. */
39
+ type OrderEntrySubmitSectionProps = {
40
+ buttonLabel: string;
41
+ side: OrderSide;
42
+ canTrade: boolean;
43
+ isMutating: boolean;
44
+ onSubmit: () => void;
45
+ assetInfo: {
46
+ canTrade: boolean;
47
+ quote: string;
48
+ estLiqPrice: number | null;
49
+ estLiqPriceDistance: number | null;
50
+ estLeverage: number | null;
51
+ currentLeverage: number | null;
52
+ slippage: string;
53
+ dp: number;
54
+ setSlippage: (slippage: string) => void;
55
+ estSlippage: number | null;
56
+ orderType: OrderType;
57
+ disableFeatures?: ("slippageSetting" | "feesInfo")[];
58
+ symbol: string;
59
+ side: OrderSide;
60
+ };
61
+ };
62
+
8
63
  declare enum InputType {
9
64
  NONE = 0,
10
65
  PRICE = 1,// price input focus
@@ -47,7 +102,11 @@ declare const useOrderEntryScript: (inputs: OrderEntryScriptInputs) => {
47
102
  setOrderValue: (this: unknown, key: string, value: unknown, options?: {
48
103
  shouldUpdateLastChangedField?: boolean;
49
104
  } | undefined) => void;
105
+ manualSetOrderValue: (this: unknown, key: string, value: unknown, options?: {
106
+ shouldUpdateLastChangedField?: boolean;
107
+ } | undefined) => void;
50
108
  setOrderValues: (values: Partial<_orderly_network_types.OrderlyOrder>) => void;
109
+ setOrderValuesRaw: (values: Partial<_orderly_network_types.OrderlyOrder>) => void;
51
110
  currentLeverage: number | null;
52
111
  symbolLeverage: number | undefined;
53
112
  marginMode: _orderly_network_types.MarginMode;
@@ -73,6 +132,9 @@ declare const useOrderEntryScript: (inputs: OrderEntryScriptInputs) => {
73
132
  soundAlert: any;
74
133
  setSoundAlert: (value: boolean) => void;
75
134
  currentFocusInput: react.MutableRefObject<InputType>;
135
+ walletAddress: string | undefined;
136
+ isPermissionlessListing: boolean;
137
+ isSymbolPostOnly: boolean;
76
138
  submit: (options?: {
77
139
  resetOnSuccess?: boolean;
78
140
  }) => Promise<{
@@ -114,6 +176,23 @@ type OrderEntryProps = OrderEntryScriptReturn & {
114
176
  };
115
177
  declare const OrderEntry: react__default.FC<OrderEntryProps>;
116
178
 
179
+ /**
180
+ * Module augmentation: maps OrderEntry interceptor target paths to props types.
181
+ * Import from @orderly.network/ui-order-entry to enable typed props in
182
+ * createInterceptor("Trading.OrderEntry.*", (Original, props, api) => ...).
183
+ */
184
+
185
+ declare module "@orderly.network/plugin-core" {
186
+ interface InterceptorTargetPropsMap {
187
+ OrderEntry: OrderEntryProps;
188
+ "Trading.OrderEntry.Available": OrderEntryAvailableProps;
189
+ "Trading.OrderEntry.BuySellSwitch": OrderEntryBuySellSwitchProps;
190
+ "Trading.OrderEntry.QuantitySlider": OrderEntryQuantitySliderProps;
191
+ "Trading.OrderEntry.SubmitSection": OrderEntrySubmitSectionProps;
192
+ "Trading.OrderEntry.TypeTabs": OrderEntryTypeTabsProps;
193
+ }
194
+ }
195
+
117
196
  declare const OrderEntryWidget: react__default.FC<OrderEntryScriptInputs & {
118
197
  containerRef?: react__default.RefObject<HTMLDivElement>;
119
198
  disableFeatures?: ("slippageSetting" | "feesInfo")[];
@@ -151,4 +230,11 @@ declare const FeesWidget: react__default.FC<{
151
230
  symbol: string;
152
231
  }>;
153
232
 
154
- export { AdditionalInfo, FeesWidget, LTVRiskTooltipWidget, OrderConfirmDialog, OrderEntry, OrderEntryWidget, useOrderEntryScript };
233
+ type SymbolBadgeProps = {
234
+ symbol: string;
235
+ className?: string;
236
+ size?: "xs" | "sm" | "md" | "lg";
237
+ };
238
+ declare const SymbolBadge: FC<SymbolBadgeProps>;
239
+
240
+ export { AdditionalInfo, FeesWidget, LTVRiskTooltipWidget, OrderConfirmDialog, OrderEntry, OrderEntryWidget, SymbolBadge, useOrderEntryScript };