@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.
@@ -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,5 @@
1
+ /**
2
+ * Authentication state type definitions
3
+ * Used by authentication hooks and components in frontend applications
4
+ */
5
+ export {};
@@ -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,5 @@
1
+ /**
2
+ * Blueberry-specific type definitions
3
+ * These interfaces are used in the Blueberry dashboard application
4
+ */
5
+ export {};
@@ -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,5 @@
1
+ /**
2
+ * Shared component interfaces for UI patterns
3
+ * Addresses component prop duplications across frontend applications
4
+ */
5
+ export {};
@@ -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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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Dashboard component interfaces
3
+ * Phase 1: Core dashboard interfaces only
4
+ */
5
+ export {};
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
@@ -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,5 @@
1
+ /**
2
+ * Shared instrument filtering interfaces
3
+ * Addresses critical duplication between trading pages in frontend applications
4
+ */
5
+ export {};
@@ -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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Navigation-related type definitions
3
+ * Used by navigation components and hooks in frontend applications
4
+ */
5
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cranberry-money/shared-types",
3
- "version": "8.0.0",
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": ">=4.9.1",
30
+ "@cranberry-money/shared-constants": ">=8.0.0",
31
31
  "typescript": ">=5.0.0"
32
32
  },
33
33
  "keywords": [