@cranberry-money/shared-types 8.0.0 → 8.2.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/auth-state.d.ts +16 -0
- package/dist/auth-state.d.ts.map +1 -0
- package/dist/auth-state.js +5 -0
- package/dist/blueberry.d.ts +164 -0
- package/dist/blueberry.d.ts.map +1 -0
- package/dist/blueberry.js +5 -0
- package/dist/components.d.ts +52 -0
- package/dist/components.d.ts.map +1 -0
- package/dist/components.js +5 -0
- package/dist/dashboard-components.d.ts +90 -0
- package/dist/dashboard-components.d.ts.map +1 -0
- package/dist/dashboard-components.js +5 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/instrument-filters.d.ts +50 -0
- package/dist/instrument-filters.d.ts.map +1 -0
- package/dist/instrument-filters.js +5 -0
- package/dist/navigation.d.ts +17 -0
- package/dist/navigation.d.ts.map +1 -0
- package/dist/navigation.js +5 -0
- package/package.json +2 -2
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Authentication state type definitions
|
|
3
|
+
* Used by authentication hooks and components in frontend applications
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Represents the current authentication state in the application
|
|
7
|
+
*/
|
|
8
|
+
export interface AuthState {
|
|
9
|
+
readonly isAuthenticated: boolean;
|
|
10
|
+
readonly isLoading: boolean;
|
|
11
|
+
readonly user: {
|
|
12
|
+
readonly hasProfile: boolean;
|
|
13
|
+
readonly profileCompleted: boolean;
|
|
14
|
+
} | null;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=auth-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-state.d.ts","sourceRoot":"","sources":["../src/auth-state.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;QAC7B,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;KACpC,GAAG,IAAI,CAAC;CACV"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Blueberry-specific type definitions
|
|
3
|
+
* These interfaces are used in the Blueberry dashboard application
|
|
4
|
+
*/
|
|
5
|
+
import type { Portfolio, AssetAllocation as ImportedAssetAllocation, AssetHolding, Instrument, Trade, TargetTrade, WithdrawalRequest, WithdrawalAssetLiquidation, DashboardPerformanceData, WithdrawalSummary, BaseInstrumentFilters, CashAccount } from './index';
|
|
6
|
+
import type { Sector } from './reference-data';
|
|
7
|
+
import type { StockExchange } from './reference-data';
|
|
8
|
+
import type { Industry } from './reference-data';
|
|
9
|
+
/**
|
|
10
|
+
* Asset allocation interface for portfolio templates
|
|
11
|
+
* Used for backward compatibility in portfolio template services
|
|
12
|
+
*/
|
|
13
|
+
export interface AssetAllocation {
|
|
14
|
+
instrument: {
|
|
15
|
+
symbol: string;
|
|
16
|
+
name: string;
|
|
17
|
+
};
|
|
18
|
+
percentage: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Simplified allocation state for the asset allocation page
|
|
22
|
+
*/
|
|
23
|
+
export interface AllocationState {
|
|
24
|
+
searchQuery: string;
|
|
25
|
+
selectedInstruments: Set<string>;
|
|
26
|
+
allocations: Record<string, number>;
|
|
27
|
+
showFilters: boolean;
|
|
28
|
+
filters: InstrumentFilters;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Instrument filters with asset allocation specific extension
|
|
32
|
+
*/
|
|
33
|
+
export interface InstrumentFilters extends BaseInstrumentFilters {
|
|
34
|
+
showAllocatedOnly?: boolean;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Available filter options derived from instruments
|
|
38
|
+
*/
|
|
39
|
+
export interface FilterOptions {
|
|
40
|
+
sectors: Sector[];
|
|
41
|
+
exchanges: StockExchange[];
|
|
42
|
+
industries: Industry[];
|
|
43
|
+
loadingSectors: boolean;
|
|
44
|
+
loadingExchanges?: boolean;
|
|
45
|
+
loadingIndustries?: boolean;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Chart data for allocation visualization
|
|
49
|
+
*/
|
|
50
|
+
export interface AllocationChartData {
|
|
51
|
+
instrumentUuid: string;
|
|
52
|
+
symbol: string;
|
|
53
|
+
name: string;
|
|
54
|
+
percentage: number;
|
|
55
|
+
color: string;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Hook return type for the main asset allocation hook
|
|
59
|
+
*/
|
|
60
|
+
export interface UseAssetAllocationReturn {
|
|
61
|
+
state: AllocationState;
|
|
62
|
+
instruments: Instrument[];
|
|
63
|
+
portfolio: Portfolio | null;
|
|
64
|
+
currentAllocations: ImportedAssetAllocation[];
|
|
65
|
+
chartData: AllocationChartData[];
|
|
66
|
+
filteredInstruments: Instrument[];
|
|
67
|
+
filterOptions: FilterOptions;
|
|
68
|
+
isValid: boolean;
|
|
69
|
+
isLoading: boolean;
|
|
70
|
+
isSaving: boolean;
|
|
71
|
+
setSearchQuery: (query: string) => void;
|
|
72
|
+
toggleInstrument: (instrumentUuid: string) => void;
|
|
73
|
+
updateAllocation: (instrumentUuid: string, percentage: number) => void;
|
|
74
|
+
updateFilters: (filters: Partial<InstrumentFilters>) => void;
|
|
75
|
+
applyFilters: () => void;
|
|
76
|
+
toggleFilters: () => void;
|
|
77
|
+
closeFilters: () => void;
|
|
78
|
+
clearFilters: () => void;
|
|
79
|
+
saveAllocations: () => Promise<void>;
|
|
80
|
+
resetAllocations: () => void;
|
|
81
|
+
handleBack: () => void;
|
|
82
|
+
handleSubmit: () => Promise<void>;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Dashboard view component props
|
|
86
|
+
*/
|
|
87
|
+
export interface DashboardViewProps {
|
|
88
|
+
portfolio: Portfolio | undefined;
|
|
89
|
+
allocations: ImportedAssetAllocation[];
|
|
90
|
+
holdings: AssetHolding[];
|
|
91
|
+
trades: Trade[];
|
|
92
|
+
targetTrades: TargetTrade[];
|
|
93
|
+
withdrawalRequests: WithdrawalRequest[];
|
|
94
|
+
withdrawalLiquidations: WithdrawalAssetLiquidation[];
|
|
95
|
+
withdrawalSummary: WithdrawalSummary<WithdrawalAssetLiquidation>;
|
|
96
|
+
performanceData: DashboardPerformanceData | null;
|
|
97
|
+
totalCashBalance: number;
|
|
98
|
+
isLoading: boolean;
|
|
99
|
+
onRefresh?: () => void;
|
|
100
|
+
onRefreshTrades?: () => void;
|
|
101
|
+
onRefreshTargetTrades?: () => void;
|
|
102
|
+
onRefreshCashTransactions?: () => void;
|
|
103
|
+
onRefreshPortfolio?: () => void;
|
|
104
|
+
onRefreshAssets?: () => void;
|
|
105
|
+
onRefreshWithdrawals?: () => void;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Dashboard hook return type
|
|
109
|
+
*/
|
|
110
|
+
export interface UseDashboardReturn {
|
|
111
|
+
portfolio: Portfolio | undefined;
|
|
112
|
+
allocations: ImportedAssetAllocation[];
|
|
113
|
+
holdings: AssetHolding[];
|
|
114
|
+
trades: Trade[];
|
|
115
|
+
targetTrades: TargetTrade[];
|
|
116
|
+
withdrawalRequests: WithdrawalRequest[];
|
|
117
|
+
withdrawalLiquidations: WithdrawalAssetLiquidation[];
|
|
118
|
+
withdrawalSummary: WithdrawalSummary<WithdrawalAssetLiquidation>;
|
|
119
|
+
performanceData: DashboardPerformanceData | null;
|
|
120
|
+
totalCashBalance: number;
|
|
121
|
+
isLoading: boolean;
|
|
122
|
+
isError: boolean;
|
|
123
|
+
error: Error | null;
|
|
124
|
+
onRetry: () => void;
|
|
125
|
+
onRefresh: () => void;
|
|
126
|
+
onRefreshTrades: () => void;
|
|
127
|
+
onRefreshTargetTrades: () => void;
|
|
128
|
+
onRefreshCashTransactions: () => void;
|
|
129
|
+
onRefreshPortfolio: () => void;
|
|
130
|
+
onRefreshAssets: () => void;
|
|
131
|
+
onRefreshWithdrawals: () => void;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Financial summary for target trades
|
|
135
|
+
*/
|
|
136
|
+
export interface FinancialSummary {
|
|
137
|
+
availableCashBalance: number;
|
|
138
|
+
estimatedBuyCost: number;
|
|
139
|
+
estimatedSellValue: number;
|
|
140
|
+
totalWithdrawalAmount: number;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Instrument holding information for target trades
|
|
144
|
+
*/
|
|
145
|
+
export interface InstrumentHolding {
|
|
146
|
+
instrumentUuid: string;
|
|
147
|
+
instrumentSymbol: string;
|
|
148
|
+
instrumentName: string;
|
|
149
|
+
currentPrice: number;
|
|
150
|
+
currentQuantity: number;
|
|
151
|
+
targetQuantity: number;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Cash transactions summary
|
|
155
|
+
*/
|
|
156
|
+
export interface CashSummary {
|
|
157
|
+
totalBalance: number;
|
|
158
|
+
totalDeposits: number;
|
|
159
|
+
totalWithdrawals: number;
|
|
160
|
+
netTransactionAmount: number;
|
|
161
|
+
transactionCount: number;
|
|
162
|
+
availableAccounts: CashAccount[];
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=blueberry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blueberry.d.ts","sourceRoot":"","sources":["../src/blueberry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared component interfaces for UI patterns
|
|
3
|
+
* Addresses component prop duplications across frontend applications
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Base dialog/modal interfaces - standardizes dialog patterns
|
|
7
|
+
*/
|
|
8
|
+
export interface BaseDialogProps {
|
|
9
|
+
readonly isOpen: boolean;
|
|
10
|
+
readonly onClose: () => void;
|
|
11
|
+
}
|
|
12
|
+
export interface BaseModalProps extends BaseDialogProps {
|
|
13
|
+
readonly title?: string;
|
|
14
|
+
readonly closeOnBackdrop?: boolean;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Search field interfaces - addresses search field variations
|
|
18
|
+
*/
|
|
19
|
+
export interface BaseSearchFieldProps {
|
|
20
|
+
readonly onSearch: (query: string) => void;
|
|
21
|
+
readonly placeholder?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface ControlledSearchFieldProps extends BaseSearchFieldProps {
|
|
24
|
+
readonly value: string;
|
|
25
|
+
readonly onClear?: () => void;
|
|
26
|
+
}
|
|
27
|
+
export interface UncontrolledSearchFieldProps extends BaseSearchFieldProps {
|
|
28
|
+
readonly initialValue?: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Summary panel interfaces - addresses similar summary patterns
|
|
32
|
+
*/
|
|
33
|
+
export interface BaseSummaryPanelProps<T> {
|
|
34
|
+
readonly summary: T;
|
|
35
|
+
readonly isLoading?: boolean;
|
|
36
|
+
readonly error?: Error | null;
|
|
37
|
+
readonly onRefresh?: () => void;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Generic loading state props
|
|
41
|
+
*/
|
|
42
|
+
export interface BaseLoadingProps {
|
|
43
|
+
readonly isLoading?: boolean;
|
|
44
|
+
readonly error?: Error | null;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Generic refresh functionality
|
|
48
|
+
*/
|
|
49
|
+
export interface BaseRefreshProps {
|
|
50
|
+
readonly onRefresh?: () => void;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=components.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,0BAA2B,SAAQ,oBAAoB;IACtE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,4BAA6B,SAAQ,oBAAoB;IACxE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACjC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dashboard component interfaces
|
|
3
|
+
* Phase 1: Core dashboard interfaces only
|
|
4
|
+
*/
|
|
5
|
+
import type { Portfolio, AssetAllocation } from './portfolio';
|
|
6
|
+
import type { AssetHolding } from './holdings';
|
|
7
|
+
import type { Trade, TargetTrade } from './trade';
|
|
8
|
+
import type { WithdrawalRequest, WithdrawalAssetLiquidation } from './withdrawal';
|
|
9
|
+
import type { DashboardPerformanceData, WithdrawalSummary } from './dashboard';
|
|
10
|
+
/**
|
|
11
|
+
* Main dashboard view props
|
|
12
|
+
*/
|
|
13
|
+
export interface DashboardViewProps {
|
|
14
|
+
readonly portfolio: Portfolio | undefined;
|
|
15
|
+
readonly allocations: AssetAllocation[];
|
|
16
|
+
readonly holdings: AssetHolding[];
|
|
17
|
+
readonly trades: Trade[];
|
|
18
|
+
readonly targetTrades: TargetTrade[];
|
|
19
|
+
readonly withdrawalRequests: WithdrawalRequest[];
|
|
20
|
+
readonly withdrawalLiquidations: WithdrawalAssetLiquidation[];
|
|
21
|
+
readonly withdrawalSummary: WithdrawalSummary<WithdrawalAssetLiquidation>;
|
|
22
|
+
readonly performanceData: DashboardPerformanceData | null;
|
|
23
|
+
readonly totalCashBalance: number;
|
|
24
|
+
readonly isLoading: boolean;
|
|
25
|
+
readonly onRefresh?: () => void;
|
|
26
|
+
readonly onRefreshTrades?: () => void;
|
|
27
|
+
readonly onRefreshTargetTrades?: () => void;
|
|
28
|
+
readonly onRefreshCashTransactions?: () => void;
|
|
29
|
+
readonly onRefreshPortfolio?: () => void;
|
|
30
|
+
readonly onRefreshAssets?: () => void;
|
|
31
|
+
readonly onRefreshWithdrawals?: () => void;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Dashboard hook return type
|
|
35
|
+
*/
|
|
36
|
+
export interface UseDashboardReturn extends DashboardViewProps {
|
|
37
|
+
readonly isError: boolean;
|
|
38
|
+
readonly error: Error | null;
|
|
39
|
+
readonly onRetry: () => void;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Portfolio summary card props
|
|
43
|
+
*/
|
|
44
|
+
export interface PortfolioSummaryCardProps {
|
|
45
|
+
readonly portfolio: Portfolio | undefined;
|
|
46
|
+
readonly totalCashBalance: number;
|
|
47
|
+
readonly performanceData: DashboardPerformanceData | null;
|
|
48
|
+
readonly isLoading: boolean;
|
|
49
|
+
readonly onRefresh?: () => void;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Recent trades component props
|
|
53
|
+
*/
|
|
54
|
+
export interface RecentTradesProps {
|
|
55
|
+
readonly trades: Trade[];
|
|
56
|
+
readonly isLoading: boolean;
|
|
57
|
+
readonly onRefresh?: () => void;
|
|
58
|
+
readonly onViewAll?: () => void;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Target trades component props
|
|
62
|
+
*/
|
|
63
|
+
export interface TargetTradesProps {
|
|
64
|
+
readonly targetTrades: TargetTrade[];
|
|
65
|
+
readonly isLoading: boolean;
|
|
66
|
+
readonly onRefresh?: () => void;
|
|
67
|
+
readonly onViewAll?: () => void;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Assets overview component props
|
|
71
|
+
*/
|
|
72
|
+
export interface AssetsOverviewProps {
|
|
73
|
+
readonly holdings: AssetHolding[];
|
|
74
|
+
readonly allocations: AssetAllocation[];
|
|
75
|
+
readonly isLoading: boolean;
|
|
76
|
+
readonly onRefresh?: () => void;
|
|
77
|
+
readonly onViewAll?: () => void;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Withdrawal overview component props
|
|
81
|
+
*/
|
|
82
|
+
export interface WithdrawalOverviewProps {
|
|
83
|
+
readonly withdrawalRequests: WithdrawalRequest[];
|
|
84
|
+
readonly withdrawalLiquidations: WithdrawalAssetLiquidation[];
|
|
85
|
+
readonly withdrawalSummary: WithdrawalSummary<WithdrawalAssetLiquidation>;
|
|
86
|
+
readonly isLoading: boolean;
|
|
87
|
+
readonly onRefresh?: () => void;
|
|
88
|
+
readonly onViewAll?: () => void;
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=dashboard-components.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-components.d.ts","sourceRoot":"","sources":["../src/dashboard-components.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -24,4 +24,9 @@ export type { PortfolioTemplate, TargetAssetAllocation, ApplyTemplateResponse }
|
|
|
24
24
|
export type { TaxResidency, TaxResidencyPayload } from './tax-residency';
|
|
25
25
|
export type { DashboardPerformanceData, WithdrawalSummary } from './dashboard';
|
|
26
26
|
export type { BaseFilters, DateRangeFilters, NumericRangeFilters, TradeActionFilters, BaseFiltersDialogProps, BaseTradingPanelProps, } from './filters';
|
|
27
|
+
export type { AuthState } from './auth-state';
|
|
28
|
+
export type { BaseDialogProps, BaseModalProps, BaseSearchFieldProps, ControlledSearchFieldProps, UncontrolledSearchFieldProps, BaseSummaryPanelProps, BaseLoadingProps, BaseRefreshProps, } from './components';
|
|
29
|
+
export type { NavigationItem } from './navigation';
|
|
30
|
+
export type { BaseInstrumentFilters, InstrumentPriceFilters, InstrumentFilters, InstrumentMetadata, BaseInstrumentFiltersDialogProps, } from './instrument-filters';
|
|
31
|
+
export type { AssetAllocation as BlueberryAssetAllocation, AllocationState, InstrumentFilters as BlueberryInstrumentFilters, FilterOptions, AllocationChartData, UseAssetAllocationReturn, DashboardViewProps, UseDashboardReturn, FinancialSummary, InstrumentHolding, CashSummary, } from './blueberry';
|
|
27
32
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared instrument filtering interfaces
|
|
3
|
+
* Addresses critical duplication between trading pages in frontend applications
|
|
4
|
+
*/
|
|
5
|
+
import type { BaseFilters, NumericRangeFilters, BaseFiltersDialogProps } from './filters';
|
|
6
|
+
import type { Sector } from './reference-data';
|
|
7
|
+
import type { StockExchange } from './reference-data';
|
|
8
|
+
import type { Industry } from './reference-data';
|
|
9
|
+
/**
|
|
10
|
+
* Base instrument filtering interface
|
|
11
|
+
*/
|
|
12
|
+
export interface BaseInstrumentFilters extends BaseFilters {
|
|
13
|
+
readonly exchange?: string;
|
|
14
|
+
readonly sector?: string;
|
|
15
|
+
readonly industry?: string;
|
|
16
|
+
readonly isEtf?: boolean;
|
|
17
|
+
readonly isFund?: boolean;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Price range for instruments
|
|
21
|
+
*/
|
|
22
|
+
export type InstrumentPriceFilters = NumericRangeFilters;
|
|
23
|
+
/**
|
|
24
|
+
* Complete instrument filters with price range
|
|
25
|
+
*/
|
|
26
|
+
export interface InstrumentFilters extends BaseInstrumentFilters, InstrumentPriceFilters {
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Instrument metadata for filter dialogs
|
|
30
|
+
*/
|
|
31
|
+
export interface InstrumentMetadata {
|
|
32
|
+
readonly sectors: readonly Sector[];
|
|
33
|
+
readonly exchanges: readonly StockExchange[];
|
|
34
|
+
readonly industries: readonly Industry[];
|
|
35
|
+
readonly loadingSectors: boolean;
|
|
36
|
+
readonly loadingExchanges?: boolean;
|
|
37
|
+
readonly loadingIndustries?: boolean;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Generic instrument filter dialog props
|
|
41
|
+
*/
|
|
42
|
+
export interface BaseInstrumentFiltersDialogProps<T extends BaseInstrumentFilters> extends BaseFiltersDialogProps<T> {
|
|
43
|
+
readonly sectors: readonly Sector[];
|
|
44
|
+
readonly exchanges: readonly StockExchange[];
|
|
45
|
+
readonly industries: readonly Industry[];
|
|
46
|
+
readonly loadingSectors: boolean;
|
|
47
|
+
readonly loadingExchanges?: boolean;
|
|
48
|
+
readonly loadingIndustries?: boolean;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=instrument-filters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instrument-filters.d.ts","sourceRoot":"","sources":["../src/instrument-filters.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAC1F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,WAAW;IACxD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,mBAAmB,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,qBAAqB,EAAE,sBAAsB;CAAG;AAE3F;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,SAAS,aAAa,EAAE,CAAC;IAC7C,QAAQ,CAAC,UAAU,EAAE,SAAS,QAAQ,EAAE,CAAC;IACzC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,gCAAgC,CAAC,CAAC,SAAS,qBAAqB,CAAE,SAAQ,sBAAsB,CAAC,CAAC,CAAC;IAClH,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,SAAS,aAAa,EAAE,CAAC;IAC7C,QAAQ,CAAC,UAAU,EAAE,SAAS,QAAQ,EAAE,CAAC;IACzC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CACtC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Navigation-related type definitions
|
|
3
|
+
* Used by navigation components and hooks in frontend applications
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Navigation item interface
|
|
7
|
+
* Generic icon type to avoid framework-specific dependencies
|
|
8
|
+
*/
|
|
9
|
+
export interface NavigationItem<TIcon = unknown> {
|
|
10
|
+
readonly label: string;
|
|
11
|
+
readonly onClick: () => void;
|
|
12
|
+
readonly icon?: TIcon;
|
|
13
|
+
readonly isButton?: boolean;
|
|
14
|
+
readonly disabled?: boolean;
|
|
15
|
+
readonly variant?: 'default' | 'primary';
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=navigation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../src/navigation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,WAAW,cAAc,CAAC,KAAK,GAAG,OAAO;IAC7C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CAC1C"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cranberry-money/shared-types",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.2.0",
|
|
4
4
|
"description": "Shared TypeScript type definitions for MyPortfolio platform",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"typescript": "^5.0.0"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
30
|
-
"@cranberry-money/shared-constants": ">=
|
|
30
|
+
"@cranberry-money/shared-constants": ">=8.0.0",
|
|
31
31
|
"typescript": ">=5.0.0"
|
|
32
32
|
},
|
|
33
33
|
"keywords": [
|