@kodiak-finance/orderly-ui-positions
Version:
189 lines (173 loc) • 6.59 kB
text/typescript
import { OrderType, OrderSide, API } from '@kodiak-finance/orderly-types';
import React$1, { FC } from 'react';
import { PriceMode } from '@kodiak-finance/orderly-hooks';
import * as _kodiak_finance_orderly_ui from '@kodiak-finance/orderly-ui';
import { SortOrder, TableSort, Table } from '@kodiak-finance/orderly-ui';
import { SharePnLConfig } from '@kodiak-finance/orderly-ui-share';
interface PositionsRowContextState {
quantity: string;
price: string;
type: OrderType;
side: OrderSide;
position: API.PositionExt | API.PositionTPSLExt;
updateQuantity: (value: string) => void;
updatePriceChange: (value: string) => void;
updateOrderType: (value: OrderType) => void;
closeOrderData: any;
onSubmit: () => Promise<any>;
submitting: boolean;
tpslOrder?: API.AlgoOrder;
partialTPSLOrder?: API.AlgoOrder;
quoteDp?: number;
baseDp?: number;
baseTick?: number;
errors: any | undefined;
}
declare const usePositionsRowContext: () => PositionsRowContextState;
declare const FundingFeeHistoryUI: FC<{
total: number;
symbol: string;
start_t: string;
end_t: string;
}>;
declare const FundingFeeButton: FC<{
fee: number;
symbol: string;
start_t: string;
end_t: string;
}>;
type SortType = {
sortKey: string;
sortOrder: SortOrder;
};
type PositionsProps = {
pnlNotionalDecimalPrecision?: number;
sharePnLConfig?: SharePnLConfig;
symbol?: string;
calcMode?: PriceMode;
includedPendingOrder?: boolean;
selectedAccount?: string;
onSymbolChange?: (symbol: API.Symbol) => void;
enableSortingStorage?: boolean;
};
type PositionsInstance = {
getRowCount?: () => number;
getDataSource?: () => any[] | null;
};
declare const PositionsWidget: React$1.ForwardRefExoticComponent<PositionsProps & React$1.RefAttributes<PositionsInstance>>;
declare const MobilePositionsWidget: React$1.ForwardRefExoticComponent<PositionsProps & React$1.RefAttributes<PositionsInstance>>;
declare const CombinePositionsWidget: React$1.ForwardRefExoticComponent<PositionsProps & React$1.RefAttributes<PositionsInstance>>;
declare enum PositionsTabName {
Positions = "positions",
PositionHistory = "positionHistory"
}
declare function useTabSort(options: {
storageKey: string;
}): {
tabSort: Record<PositionsTabName, SortType>;
onTabSort: (type: PositionsTabName) => (sort?: SortType) => void;
};
declare function sortList(list: any[], sort?: SortType): any[];
declare function useSort(initialSort?: SortType, onSortChange?: (sort?: SortType) => void): {
sort: SortType | undefined;
onSort: (options?: TableSort) => void;
getSortedList: (list: any[]) => any[];
};
type PositionHistoryProps$1 = {
onSymbolChange?: (symbol: API.Symbol) => void;
symbol?: string;
pnlNotionalDecimalPrecision?: number;
sharePnLConfig?: SharePnLConfig;
enableSortingStorage?: boolean;
};
type PositionHistoryInstance = {
getRowCount?: () => number;
getDataSource?: () => any[] | null;
};
declare const PositionHistoryWidget: React$1.ForwardRefExoticComponent<PositionHistoryProps$1 & React$1.RefAttributes<PositionHistoryInstance>>;
declare const MobilePositionHistoryWidget: React$1.ForwardRefExoticComponent<PositionHistoryProps$1 & {
classNames?: {
root?: string;
content?: string;
cell?: string;
};
onExport?: () => void;
} & React$1.RefAttributes<PositionHistoryInstance>>;
declare const usePositionHistoryScript: (props: PositionHistoryProps$1) => {
dataSource: any[];
isLoading: boolean;
onSymbolChange: ((symbol: API.Symbol) => void) | undefined;
pagination: _kodiak_finance_orderly_ui.PaginationMeta;
filterItems: any[];
onFilter: (filter: {
name: string;
value: any;
}) => void;
symbol: string | undefined;
filterDays: 1 | 7 | 30 | 90 | null;
updateFilterDays: (days: 1 | 7 | 30 | 90) => void;
pnlNotionalDecimalPrecision: number | undefined;
onSort: (options?: _kodiak_finance_orderly_ui.TableSort) => void;
initialSort: SortType | undefined;
};
type PositionHistoryState = ReturnType<typeof usePositionHistoryScript>;
type PositionHistoryProps = PositionHistoryState & {
sharePnLConfig?: SharePnLConfig;
tableRef?: React.RefObject<Table<any>>;
};
declare const PositionHistory: FC<PositionHistoryProps>;
declare const MobilePositionHistory: FC<PositionHistoryState & {
classNames?: {
root?: string;
content?: string;
cell?: string;
};
sharePnLConfig?: SharePnLConfig;
onExport?: () => void;
}>;
type LiquidationProps = {
symbol?: string;
enableLoadMore?: boolean;
};
type LiquidationInstance = {
getRowCount?: () => number;
getDataSource?: () => any[] | null;
};
declare const LiquidationWidget: React$1.ForwardRefExoticComponent<LiquidationProps & React$1.RefAttributes<LiquidationInstance>>;
declare const MobileLiquidationWidget: React$1.ForwardRefExoticComponent<LiquidationProps & {
classNames?: {
root?: string;
content?: string;
cell?: string;
};
onExport?: () => void;
} & React$1.RefAttributes<LiquidationInstance>>;
declare const useLiquidationScript: (props: LiquidationProps) => {
dataSource: any[] | null | undefined;
isLoading: boolean;
loadMore: () => void;
pagination: _kodiak_finance_orderly_ui.PaginationMeta;
dateRange: {
from?: Date;
to?: Date;
};
filterDays: 1 | 7 | 30 | 90 | null;
updateFilterDays: (days: 1 | 7 | 30 | 90) => void;
filterItems: any[];
onFilter: (filter: {
name: string;
value: any;
}) => void;
};
type LiquidationState = ReturnType<typeof useLiquidationScript>;
declare const Liquidation: FC<LiquidationState>;
declare const MobileLiquidation: FC<LiquidationState & {
classNames?: {
root?: string;
content?: string;
cell?: string;
};
onExport?: () => void;
}>;
declare const MarketCloseConfirmID = "MarketCloseConfirmID";
export { CombinePositionsWidget, FundingFeeButton, FundingFeeHistoryUI, Liquidation, type LiquidationInstance, LiquidationWidget, MarketCloseConfirmID, MobileLiquidation, MobileLiquidationWidget, MobilePositionHistory, MobilePositionHistoryWidget, MobilePositionsWidget, PositionHistory, type PositionHistoryInstance, PositionHistoryWidget, type PositionsInstance, type PositionsProps, PositionsTabName, PositionsWidget, type SortType, sortList, useLiquidationScript, usePositionHistoryScript, usePositionsRowContext, useSort, useTabSort };