@orderly.network/trading 3.1.2 → 3.1.3-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -13,6 +13,19 @@ import * as _orderly_network_hooks from '@orderly.network/hooks';
13
13
  import { SliderMarks } from '@orderly.network/ui';
14
14
  import * as react_jsx_runtime from 'react/jsx-runtime';
15
15
 
16
+ /** Interceptor target for the desktop data-list tabs; plugins append custom tabs after the built-in ones. */
17
+ declare const DataListDesktopTabsTarget = "Trading.DataList.Desktop.Tabs";
18
+ interface DataListDesktopTabItem {
19
+ /** Unique tab id (also its `value` in the Tabs context). */
20
+ id: string;
21
+ title: React__default.ReactNode;
22
+ content: React__default.ReactNode;
23
+ }
24
+ interface DataListDesktopTabsProps {
25
+ items: DataListDesktopTabItem[];
26
+ }
27
+ declare const InjectableDataListDesktopTabs: React__default.ComponentType<DataListDesktopTabsProps>;
28
+
16
29
  type layoutInfo = {
17
30
  width?: number;
18
31
  height?: number;
@@ -183,6 +196,16 @@ declare const useAccountScript: () => {
183
196
  };
184
197
  type AccountState = ReturnType<typeof useAccountScript>;
185
198
 
199
+ interface DataListMobileTabItem {
200
+ /** Unique tab id (also its `value` in the Tabs context). */
201
+ id: string;
202
+ title: React__default.ReactNode;
203
+ content: React__default.ReactNode;
204
+ }
205
+ interface DataListMobileTabsProps {
206
+ items: DataListMobileTabItem[];
207
+ }
208
+
186
209
  type LayoutPosition = "left" | "right";
187
210
 
188
211
  type TradingState = ReturnType<typeof useTradingScript>;
@@ -253,6 +276,8 @@ type DesktopLayoutProps = TradingState & {
253
276
  className?: string;
254
277
  };
255
278
 
279
+ type MobileLayoutProps = TradingState;
280
+
256
281
  /**
257
282
  * Module augmentation: maps interceptor target paths to their component props types.
258
283
  * Import from @orderly.network/trading to enable typed props in
@@ -264,7 +289,10 @@ declare module "@orderly.network/plugin-core" {
264
289
  "Account.MobileAccountMenu": AccountState;
265
290
  "OrderBook.Desktop.Asks": Props$1;
266
291
  "OrderBook.Desktop.Bids": Props;
292
+ "Trading.DataList.Desktop.Tabs": DataListDesktopTabsProps;
293
+ "Trading.DataList.Mobile.Tabs": DataListMobileTabsProps;
267
294
  "Trading.Layout.Desktop": DesktopLayoutProps;
295
+ "Trading.Layout.Mobile": MobileLayoutProps;
268
296
  "Trading.SymbolInfoBar.Desktop": SymbolInfoBarFullProps;
269
297
  }
270
298
  }
@@ -635,4 +663,4 @@ declare const usePendingOrderCount: (symbol?: string) => {
635
663
  tpSlOrderCount: number;
636
664
  };
637
665
 
638
- export { type AccountState, AssetView, AssetViewWidget, BottomNavBar, BottomNavBarWidget, type BuySellRatio, BuySellRatioBar, DataList, DataListWidget, type DesktopLayoutProps, FundingRate, FundingRateDialogId, FundingRateModal, type FundingRateModalState, FundingRateModalWidget, FundingRateSheetId, FundingRateWidget, LastTrades, LastTradesWidget, OrderBook, OrderBookAndTrades, OrderBookAndTradesWidget, type Props$1 as OrderBookDesktopAsksProps, type Props as OrderBookDesktopBidsProps, OrderBookProvider, OrderBookWidget, PortfolioSheet, PortfolioSheetWidget, type ReferralProps, RiskRate, RiskRateWidget, type ShareOptions, SplitLayout, Trading, TradingPage, TradingPageContext, type TradingPageProps, TradingPageProvider, type TradingRewardsProps, TradingWidget, useBottomNavBarScript, useFundingRateModalScript, useFundingRateScript, useOrderBookAndTradesScript, useOrderBookContext, useOrderBookScript, usePendingOrderCount, usePortfolioSheetScript, usePositionsCount, useTradingLocalStorage, useTradingPageContext, useTradingScript };
666
+ export { type AccountState, AssetView, AssetViewWidget, BottomNavBar, BottomNavBarWidget, type BuySellRatio, BuySellRatioBar, DataList, type DataListDesktopTabItem, type DataListDesktopTabsProps, DataListDesktopTabsTarget, DataListWidget, type DesktopLayoutProps, FundingRate, FundingRateDialogId, FundingRateModal, type FundingRateModalState, FundingRateModalWidget, FundingRateSheetId, FundingRateWidget, InjectableDataListDesktopTabs, LastTrades, LastTradesWidget, OrderBook, OrderBookAndTrades, OrderBookAndTradesWidget, type Props$1 as OrderBookDesktopAsksProps, type Props as OrderBookDesktopBidsProps, OrderBookProvider, OrderBookWidget, PortfolioSheet, PortfolioSheetWidget, type ReferralProps, RiskRate, RiskRateWidget, type ShareOptions, SplitLayout, Trading, TradingPage, TradingPageContext, type TradingPageProps, TradingPageProvider, type TradingRewardsProps, TradingWidget, useBottomNavBarScript, useFundingRateModalScript, useFundingRateScript, useOrderBookAndTradesScript, useOrderBookContext, useOrderBookScript, usePendingOrderCount, usePortfolioSheetScript, usePositionsCount, useTradingLocalStorage, useTradingPageContext, useTradingScript };
package/dist/index.d.ts CHANGED
@@ -13,6 +13,19 @@ import * as _orderly_network_hooks from '@orderly.network/hooks';
13
13
  import { SliderMarks } from '@orderly.network/ui';
14
14
  import * as react_jsx_runtime from 'react/jsx-runtime';
15
15
 
16
+ /** Interceptor target for the desktop data-list tabs; plugins append custom tabs after the built-in ones. */
17
+ declare const DataListDesktopTabsTarget = "Trading.DataList.Desktop.Tabs";
18
+ interface DataListDesktopTabItem {
19
+ /** Unique tab id (also its `value` in the Tabs context). */
20
+ id: string;
21
+ title: React__default.ReactNode;
22
+ content: React__default.ReactNode;
23
+ }
24
+ interface DataListDesktopTabsProps {
25
+ items: DataListDesktopTabItem[];
26
+ }
27
+ declare const InjectableDataListDesktopTabs: React__default.ComponentType<DataListDesktopTabsProps>;
28
+
16
29
  type layoutInfo = {
17
30
  width?: number;
18
31
  height?: number;
@@ -183,6 +196,16 @@ declare const useAccountScript: () => {
183
196
  };
184
197
  type AccountState = ReturnType<typeof useAccountScript>;
185
198
 
199
+ interface DataListMobileTabItem {
200
+ /** Unique tab id (also its `value` in the Tabs context). */
201
+ id: string;
202
+ title: React__default.ReactNode;
203
+ content: React__default.ReactNode;
204
+ }
205
+ interface DataListMobileTabsProps {
206
+ items: DataListMobileTabItem[];
207
+ }
208
+
186
209
  type LayoutPosition = "left" | "right";
187
210
 
188
211
  type TradingState = ReturnType<typeof useTradingScript>;
@@ -253,6 +276,8 @@ type DesktopLayoutProps = TradingState & {
253
276
  className?: string;
254
277
  };
255
278
 
279
+ type MobileLayoutProps = TradingState;
280
+
256
281
  /**
257
282
  * Module augmentation: maps interceptor target paths to their component props types.
258
283
  * Import from @orderly.network/trading to enable typed props in
@@ -264,7 +289,10 @@ declare module "@orderly.network/plugin-core" {
264
289
  "Account.MobileAccountMenu": AccountState;
265
290
  "OrderBook.Desktop.Asks": Props$1;
266
291
  "OrderBook.Desktop.Bids": Props;
292
+ "Trading.DataList.Desktop.Tabs": DataListDesktopTabsProps;
293
+ "Trading.DataList.Mobile.Tabs": DataListMobileTabsProps;
267
294
  "Trading.Layout.Desktop": DesktopLayoutProps;
295
+ "Trading.Layout.Mobile": MobileLayoutProps;
268
296
  "Trading.SymbolInfoBar.Desktop": SymbolInfoBarFullProps;
269
297
  }
270
298
  }
@@ -635,4 +663,4 @@ declare const usePendingOrderCount: (symbol?: string) => {
635
663
  tpSlOrderCount: number;
636
664
  };
637
665
 
638
- export { type AccountState, AssetView, AssetViewWidget, BottomNavBar, BottomNavBarWidget, type BuySellRatio, BuySellRatioBar, DataList, DataListWidget, type DesktopLayoutProps, FundingRate, FundingRateDialogId, FundingRateModal, type FundingRateModalState, FundingRateModalWidget, FundingRateSheetId, FundingRateWidget, LastTrades, LastTradesWidget, OrderBook, OrderBookAndTrades, OrderBookAndTradesWidget, type Props$1 as OrderBookDesktopAsksProps, type Props as OrderBookDesktopBidsProps, OrderBookProvider, OrderBookWidget, PortfolioSheet, PortfolioSheetWidget, type ReferralProps, RiskRate, RiskRateWidget, type ShareOptions, SplitLayout, Trading, TradingPage, TradingPageContext, type TradingPageProps, TradingPageProvider, type TradingRewardsProps, TradingWidget, useBottomNavBarScript, useFundingRateModalScript, useFundingRateScript, useOrderBookAndTradesScript, useOrderBookContext, useOrderBookScript, usePendingOrderCount, usePortfolioSheetScript, usePositionsCount, useTradingLocalStorage, useTradingPageContext, useTradingScript };
666
+ export { type AccountState, AssetView, AssetViewWidget, BottomNavBar, BottomNavBarWidget, type BuySellRatio, BuySellRatioBar, DataList, type DataListDesktopTabItem, type DataListDesktopTabsProps, DataListDesktopTabsTarget, DataListWidget, type DesktopLayoutProps, FundingRate, FundingRateDialogId, FundingRateModal, type FundingRateModalState, FundingRateModalWidget, FundingRateSheetId, FundingRateWidget, InjectableDataListDesktopTabs, LastTrades, LastTradesWidget, OrderBook, OrderBookAndTrades, OrderBookAndTradesWidget, type Props$1 as OrderBookDesktopAsksProps, type Props as OrderBookDesktopBidsProps, OrderBookProvider, OrderBookWidget, PortfolioSheet, PortfolioSheetWidget, type ReferralProps, RiskRate, RiskRateWidget, type ShareOptions, SplitLayout, Trading, TradingPage, TradingPageContext, type TradingPageProps, TradingPageProvider, type TradingRewardsProps, TradingWidget, useBottomNavBarScript, useFundingRateModalScript, useFundingRateScript, useOrderBookAndTradesScript, useOrderBookContext, useOrderBookScript, usePendingOrderCount, usePortfolioSheetScript, usePositionsCount, useTradingLocalStorage, useTradingPageContext, useTradingScript };
package/dist/index.js CHANGED
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
+ var ui = require('@orderly.network/ui');
4
+ var jsxRuntime = require('react/jsx-runtime');
3
5
  var hooks = require('@orderly.network/hooks');
4
6
  var React12 = require('react');
5
7
  var reactApp = require('@orderly.network/react-app');
6
8
  var types = require('@orderly.network/types');
7
9
  var i18n = require('@orderly.network/i18n');
8
- var ui = require('@orderly.network/ui');
9
- var jsxRuntime = require('react/jsx-runtime');
10
10
  var uiPositions = require('@orderly.network/ui-positions');
11
11
  var utils = require('@orderly.network/utils');
12
12
  var portfolio = require('@orderly.network/portfolio');
@@ -38,6 +38,17 @@ var __export = (target, all) => {
38
38
  for (var name in all)
39
39
  __defProp(target, name, { get: all[name], enumerable: true });
40
40
  };
41
+ exports.DataListDesktopTabsTarget = void 0; var DataListDesktopTabs; exports.InjectableDataListDesktopTabs = void 0;
42
+ var init_dataList_injectable = __esm({
43
+ "src/components/desktop/dataList/dataList.injectable.tsx"() {
44
+ exports.DataListDesktopTabsTarget = "Trading.DataList.Desktop.Tabs";
45
+ DataListDesktopTabs = ({ items }) => /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: items.map((tab) => /* @__PURE__ */ jsxRuntime.jsx(ui.TabPanel, { value: tab.id, title: tab.title, children: tab.content }, tab.id)) });
46
+ exports.InjectableDataListDesktopTabs = ui.injectable(
47
+ DataListDesktopTabs,
48
+ exports.DataListDesktopTabsTarget
49
+ );
50
+ }
51
+ });
41
52
  exports.useTradingLocalStorage = void 0;
42
53
  var init_useTradingLocalStorage = __esm({
43
54
  "src/hooks/useTradingLocalStorage.ts"() {
@@ -703,6 +714,7 @@ var init_positionHeader = __esm({
703
714
  var LazySettingWidget, LazyPositionHeaderWidget, PositionsView, LiquidationTab; exports.DataList = void 0;
704
715
  var init_dataList_ui = __esm({
705
716
  "src/components/desktop/dataList/dataList.ui.tsx"() {
717
+ init_dataList_injectable();
706
718
  init_dataList_script();
707
719
  LazySettingWidget = React12__default.default.lazy(
708
720
  () => Promise.resolve().then(() => (init_setting(), setting_exports)).then((mod) => {
@@ -894,7 +906,7 @@ var init_dataList_ui = __esm({
894
906
  )
895
907
  }
896
908
  ];
897
- return /* @__PURE__ */ jsxRuntime.jsx(
909
+ return /* @__PURE__ */ jsxRuntime.jsxs(
898
910
  ui.Tabs,
899
911
  {
900
912
  className: "oui-trading-dataList-tabs oui-h-full",
@@ -916,10 +928,13 @@ var init_dataList_ui = __esm({
916
928
  trigger: "oui-group",
917
929
  tabsContent: "oui-h-[calc(100%_-_32px)]"
918
930
  },
919
- children: tabPanelItems.map((item) => {
920
- const { content, ...rest } = item;
921
- return /* @__PURE__ */ React12.createElement(ui.TabPanel, { ...rest, key: `item-${rest.value}` }, content);
922
- })
931
+ children: [
932
+ tabPanelItems.map((item) => {
933
+ const { content, ...rest } = item;
934
+ return /* @__PURE__ */ React12.createElement(ui.TabPanel, { ...rest, key: `item-${rest.value}` }, content);
935
+ }),
936
+ /* @__PURE__ */ jsxRuntime.jsx(exports.InjectableDataListDesktopTabs, { items: [] })
937
+ ]
923
938
  }
924
939
  );
925
940
  };
@@ -941,12 +956,15 @@ var init_dataList_widget = __esm({
941
956
  var dataList_exports = {};
942
957
  __export(dataList_exports, {
943
958
  DataList: () => exports.DataList,
944
- DataListWidget: () => exports.DataListWidget
959
+ DataListDesktopTabsTarget: () => exports.DataListDesktopTabsTarget,
960
+ DataListWidget: () => exports.DataListWidget,
961
+ InjectableDataListDesktopTabs: () => exports.InjectableDataListDesktopTabs
945
962
  });
946
963
  var init_dataList = __esm({
947
964
  "src/components/desktop/dataList/index.ts"() {
948
965
  init_dataList_ui();
949
966
  init_dataList_widget();
967
+ init_dataList_injectable();
950
968
  }
951
969
  });
952
970
  exports.LastTrades = void 0; var Row, Header, List;
@@ -5879,6 +5897,17 @@ var init_orderBookAndEntry = __esm({
5879
5897
  init_orderBookAndEntry_script();
5880
5898
  }
5881
5899
  });
5900
+ var DataListMobileTabsTarget, DataListMobileTabs, InjectableDataListMobileTabs;
5901
+ var init_dataList_injectable2 = __esm({
5902
+ "src/components/mobile/dataList/dataList.injectable.tsx"() {
5903
+ DataListMobileTabsTarget = "Trading.DataList.Mobile.Tabs";
5904
+ DataListMobileTabs = ({ items }) => /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: items.map((tab) => /* @__PURE__ */ jsxRuntime.jsx(ui.TabPanel, { value: tab.id, title: tab.title, children: tab.content }, tab.id)) });
5905
+ InjectableDataListMobileTabs = ui.injectable(
5906
+ DataListMobileTabs,
5907
+ DataListMobileTabsTarget
5908
+ );
5909
+ }
5910
+ });
5882
5911
  var useDataListScript2, getDialogInfo;
5883
5912
  var init_dataList_script2 = __esm({
5884
5913
  "src/components/mobile/dataList/dataList.script.tsx"() {
@@ -5990,6 +6019,7 @@ var init_dataList_script2 = __esm({
5990
6019
  var LazyPositionHeaderWidget2, SymbolControlHeader, OrdersView, PositionsView2, HistoryTab, DataList2;
5991
6020
  var init_dataList_ui2 = __esm({
5992
6021
  "src/components/mobile/dataList/dataList.ui.tsx"() {
6022
+ init_dataList_injectable2();
5993
6023
  init_dataList_script2();
5994
6024
  LazyPositionHeaderWidget2 = React12__default.default.lazy(
5995
6025
  () => Promise.resolve().then(() => (init_positionHeader(), positionHeader_exports)).then((mod) => {
@@ -6206,7 +6236,7 @@ var init_dataList_ui2 = __esm({
6206
6236
  content: /* @__PURE__ */ jsxRuntime.jsx(portfolio.AssetsModule.AssetsWidget, {})
6207
6237
  }
6208
6238
  ];
6209
- return /* @__PURE__ */ jsxRuntime.jsx(
6239
+ return /* @__PURE__ */ jsxRuntime.jsxs(
6210
6240
  ui.Tabs,
6211
6241
  {
6212
6242
  value: tab,
@@ -6217,10 +6247,13 @@ var init_dataList_ui2 = __esm({
6217
6247
  classNames: {
6218
6248
  tabsList: "oui-bg-base-9 oui-rounded-t-xl oui-p-2 oui-overflow-x-scroll oui-hide-scrollbar"
6219
6249
  },
6220
- children: tabPanelItems.map((item) => {
6221
- const { content, ...rest } = item;
6222
- return /* @__PURE__ */ React12.createElement(ui.TabPanel, { ...rest, key: `item-${rest.value}` }, content);
6223
- })
6250
+ children: [
6251
+ tabPanelItems.map((item) => {
6252
+ const { content, ...rest } = item;
6253
+ return /* @__PURE__ */ React12.createElement(ui.TabPanel, { ...rest, key: `item-${rest.value}` }, content);
6254
+ }),
6255
+ /* @__PURE__ */ jsxRuntime.jsx(InjectableDataListMobileTabs, { items: [] })
6256
+ ]
6224
6257
  }
6225
6258
  );
6226
6259
  };
@@ -6242,7 +6275,9 @@ var init_dataList_widget2 = __esm({
6242
6275
  var dataList_exports2 = {};
6243
6276
  __export(dataList_exports2, {
6244
6277
  DataList: () => DataList2,
6278
+ DataListMobileTabsTarget: () => DataListMobileTabsTarget,
6245
6279
  DataListWidget: () => DataListWidget2,
6280
+ InjectableDataListMobileTabs: () => InjectableDataListMobileTabs,
6246
6281
  useDataListScript: () => useDataListScript2
6247
6282
  });
6248
6283
  var init_dataList2 = __esm({
@@ -6250,6 +6285,7 @@ var init_dataList2 = __esm({
6250
6285
  init_dataList_ui2();
6251
6286
  init_dataList_widget2();
6252
6287
  init_dataList_script2();
6288
+ init_dataList_injectable2();
6253
6289
  }
6254
6290
  });
6255
6291
 
@@ -9155,12 +9191,6 @@ var DesktopLayout4 = (props) => {
9155
9191
  }
9156
9192
  );
9157
9193
  };
9158
-
9159
- // src/pages/trading/trading.injectable.tsx
9160
- var InjectableDesktopLayout = ui.injectable(
9161
- DesktopLayout4,
9162
- "Trading.Layout.Desktop"
9163
- );
9164
9194
  var Countdown = ({
9165
9195
  timeInterval
9166
9196
  }) => {
@@ -9417,11 +9447,21 @@ var MobileLayout4 = (props) => {
9417
9447
  ) })
9418
9448
  ] }) });
9419
9449
  };
9450
+
9451
+ // src/pages/trading/trading.injectable.tsx
9452
+ var InjectableDesktopLayout = ui.injectable(
9453
+ DesktopLayout4,
9454
+ "Trading.Layout.Desktop"
9455
+ );
9456
+ var InjectableMobileLayout = ui.injectable(
9457
+ MobileLayout4,
9458
+ "Trading.Layout.Mobile"
9459
+ );
9420
9460
  var Trading = (props) => {
9421
9461
  const { isMobile } = ui.useScreen();
9422
9462
  const { t } = i18n.useTranslation();
9423
9463
  if (isMobile) {
9424
- return /* @__PURE__ */ jsxRuntime.jsx(MobileLayout4, { ...props });
9464
+ return /* @__PURE__ */ jsxRuntime.jsx(InjectableMobileLayout, { ...props });
9425
9465
  }
9426
9466
  return /* @__PURE__ */ jsxRuntime.jsx(
9427
9467
  InjectableDesktopLayout,