@trade-it/react 0.2.0 → 1.0.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/index.d.cts CHANGED
@@ -47,9 +47,33 @@ declare enum TradeType {
47
47
  Simple = 0,
48
48
  MultiLeg = 1,
49
49
  }
50
+ /**
51
+ * A brokerage-reported option lifecycle event. Rows carrying an event describe
52
+ * what happened to a contract, so `action` is not meaningful on them.
53
+ */
54
+ //#endregion
55
+ //#region ../../lib/types/src/enums/embedding.enums.d.ts
56
+ /** Version-one messages exchanged between a Trade It frame and its host. */
57
+ declare enum EmbedEventType {
58
+ Ready = "tradeit.ready",
59
+ CloseRequested = "tradeit.close_requested",
60
+ BrokerageConnected = "tradeit.brokerage_connected",
61
+ TradeSubmitted = "tradeit.trade_submitted",
62
+ TradeExecuted = "tradeit.trade_executed",
63
+ Error = "tradeit.error",
64
+ LoginRequired = "tradeit.login_required",
65
+ Authorization = "tradeit.authorization",
66
+ AuthorizationResult = "tradeit.authorization_result",
67
+ }
50
68
  //#endregion
51
69
  //#region ../trade-it-core/src/types.d.ts
52
- type TradeItEventType = 'tradeit.ready' | 'tradeit.close_requested' | 'tradeit.brokerage_connected' | 'tradeit.trade_submitted' | 'tradeit.trade_executed' | 'tradeit.error' | 'tradeit.login_required';
70
+ type TradeItEventType = `${EmbedEventType}`;
71
+ /** OAuth artifacts forwarded to the partner's authenticated backend. */
72
+ interface TradeItAuthorization {
73
+ code: string;
74
+ state: string;
75
+ issuer: string;
76
+ }
53
77
  interface TradeItEvent<TPayload = Record<string, unknown>> {
54
78
  source: 'tradeit';
55
79
  version: 1;
@@ -94,11 +118,7 @@ interface TradeItExitTrigger {
94
118
  value: number;
95
119
  unit: '$' | '%';
96
120
  }
97
- /**
98
- * Query params accepted by Trade It's /t/[ticker] page.
99
- * User-facing config uses descriptive keys; core converts them to the short-key
100
- * query format used by the page parser (tt, t, dir, ot, a, u, lp, sp, tif, tp, sl, ref, legs).
101
- */
121
+ /** Descriptive trade configuration serialized into the page's compact query parameters. */
102
122
  interface TradeItTradeConfigBase {
103
123
  ticker: string;
104
124
  orderType?: OrderType;
@@ -138,7 +158,10 @@ type TradeItConnectLaunch = TradeItLaunch<'connect'>;
138
158
  type TradeItTradeLaunch = TradeItLaunch<'trade'>;
139
159
  //#endregion
140
160
  //#region ../trade-it-core/src/events.d.ts
161
+ /** Validates supported embedded messages before dispatch. */
141
162
  declare function isTradeItEvent(data: unknown): data is TradeItEvent;
163
+ /** Narrows credential events before they can reach an integration callback. */
164
+ declare function isTradeItAuthorization(data: unknown): data is TradeItAuthorization;
142
165
  declare function getTradeItErrorMessage(event: TradeItEvent): string;
143
166
  //#endregion
144
167
  //#region ../trade-it-core/src/url.d.ts
@@ -155,6 +178,8 @@ interface TradeItModalAppearance {
155
178
  title?: string;
156
179
  }
157
180
  interface TradeItModalCallbacks {
181
+ /** Resolve only once your backend has validated the attempt and saved the OAuth tokens. */
182
+ onAuthorization?: (authorization: TradeItAuthorization) => Promise<void>;
158
183
  onOpenChange?: (open: boolean) => void;
159
184
  onEvent?: (event: TradeItEvent) => void;
160
185
  onError?: (error: Error) => void;
@@ -193,4 +218,4 @@ interface UseTradeItReturn {
193
218
  }
194
219
  declare function useTradeIt(defaults?: UseTradeItOptions): UseTradeItReturn;
195
220
  //#endregion
196
- export { LegType, type OpenConnectOptions, type OpenTradeOptions, OrderDirection, OrderType, PositionEffect, TimeInForce, TradeAction, type TradeItConnectLaunch, type TradeItEvent, type TradeItEventType, type TradeItExitTrigger, type TradeItLaunch, TradeItModal, type TradeItModalAppearance, type TradeItModalProps, type TradeItMultiLegTradeConfig, type TradeItMultiLegTradeLegConfig, type TradeItSimpleTradeConfig, type TradeItTradeConfig, type TradeItTradeLaunch, type TradeLinkLegConfig, TradeLinkParam, TradeType, TradeUnit, TriggerUnit, type UseTradeItOptions, getTradeItErrorMessage, getUrlOrigin, isTradeItEvent, resolveLaunchUrl, useTradeIt };
221
+ export { EmbedEventType, LegType, type OpenConnectOptions, type OpenTradeOptions, OrderDirection, OrderType, PositionEffect, TimeInForce, TradeAction, type TradeItAuthorization, type TradeItConnectLaunch, type TradeItEvent, type TradeItEventType, type TradeItExitTrigger, type TradeItLaunch, TradeItModal, type TradeItModalAppearance, type TradeItModalProps, type TradeItMultiLegTradeConfig, type TradeItMultiLegTradeLegConfig, type TradeItSimpleTradeConfig, type TradeItTradeConfig, type TradeItTradeLaunch, type TradeLinkLegConfig, TradeLinkParam, TradeType, TradeUnit, TriggerUnit, type UseTradeItOptions, getTradeItErrorMessage, getUrlOrigin, isTradeItAuthorization, isTradeItEvent, resolveLaunchUrl, useTradeIt };
package/dist/index.d.ts CHANGED
@@ -47,9 +47,33 @@ declare enum TradeType {
47
47
  Simple = 0,
48
48
  MultiLeg = 1,
49
49
  }
50
+ /**
51
+ * A brokerage-reported option lifecycle event. Rows carrying an event describe
52
+ * what happened to a contract, so `action` is not meaningful on them.
53
+ */
54
+ //#endregion
55
+ //#region ../../lib/types/src/enums/embedding.enums.d.ts
56
+ /** Version-one messages exchanged between a Trade It frame and its host. */
57
+ declare enum EmbedEventType {
58
+ Ready = "tradeit.ready",
59
+ CloseRequested = "tradeit.close_requested",
60
+ BrokerageConnected = "tradeit.brokerage_connected",
61
+ TradeSubmitted = "tradeit.trade_submitted",
62
+ TradeExecuted = "tradeit.trade_executed",
63
+ Error = "tradeit.error",
64
+ LoginRequired = "tradeit.login_required",
65
+ Authorization = "tradeit.authorization",
66
+ AuthorizationResult = "tradeit.authorization_result",
67
+ }
50
68
  //#endregion
51
69
  //#region ../trade-it-core/src/types.d.ts
52
- type TradeItEventType = 'tradeit.ready' | 'tradeit.close_requested' | 'tradeit.brokerage_connected' | 'tradeit.trade_submitted' | 'tradeit.trade_executed' | 'tradeit.error' | 'tradeit.login_required';
70
+ type TradeItEventType = `${EmbedEventType}`;
71
+ /** OAuth artifacts forwarded to the partner's authenticated backend. */
72
+ interface TradeItAuthorization {
73
+ code: string;
74
+ state: string;
75
+ issuer: string;
76
+ }
53
77
  interface TradeItEvent<TPayload = Record<string, unknown>> {
54
78
  source: 'tradeit';
55
79
  version: 1;
@@ -94,11 +118,7 @@ interface TradeItExitTrigger {
94
118
  value: number;
95
119
  unit: '$' | '%';
96
120
  }
97
- /**
98
- * Query params accepted by Trade It's /t/[ticker] page.
99
- * User-facing config uses descriptive keys; core converts them to the short-key
100
- * query format used by the page parser (tt, t, dir, ot, a, u, lp, sp, tif, tp, sl, ref, legs).
101
- */
121
+ /** Descriptive trade configuration serialized into the page's compact query parameters. */
102
122
  interface TradeItTradeConfigBase {
103
123
  ticker: string;
104
124
  orderType?: OrderType;
@@ -138,7 +158,10 @@ type TradeItConnectLaunch = TradeItLaunch<'connect'>;
138
158
  type TradeItTradeLaunch = TradeItLaunch<'trade'>;
139
159
  //#endregion
140
160
  //#region ../trade-it-core/src/events.d.ts
161
+ /** Validates supported embedded messages before dispatch. */
141
162
  declare function isTradeItEvent(data: unknown): data is TradeItEvent;
163
+ /** Narrows credential events before they can reach an integration callback. */
164
+ declare function isTradeItAuthorization(data: unknown): data is TradeItAuthorization;
142
165
  declare function getTradeItErrorMessage(event: TradeItEvent): string;
143
166
  //#endregion
144
167
  //#region ../trade-it-core/src/url.d.ts
@@ -155,6 +178,8 @@ interface TradeItModalAppearance {
155
178
  title?: string;
156
179
  }
157
180
  interface TradeItModalCallbacks {
181
+ /** Resolve only once your backend has validated the attempt and saved the OAuth tokens. */
182
+ onAuthorization?: (authorization: TradeItAuthorization) => Promise<void>;
158
183
  onOpenChange?: (open: boolean) => void;
159
184
  onEvent?: (event: TradeItEvent) => void;
160
185
  onError?: (error: Error) => void;
@@ -193,4 +218,4 @@ interface UseTradeItReturn {
193
218
  }
194
219
  declare function useTradeIt(defaults?: UseTradeItOptions): UseTradeItReturn;
195
220
  //#endregion
196
- export { LegType, type OpenConnectOptions, type OpenTradeOptions, OrderDirection, OrderType, PositionEffect, TimeInForce, TradeAction, type TradeItConnectLaunch, type TradeItEvent, type TradeItEventType, type TradeItExitTrigger, type TradeItLaunch, TradeItModal, type TradeItModalAppearance, type TradeItModalProps, type TradeItMultiLegTradeConfig, type TradeItMultiLegTradeLegConfig, type TradeItSimpleTradeConfig, type TradeItTradeConfig, type TradeItTradeLaunch, type TradeLinkLegConfig, TradeLinkParam, TradeType, TradeUnit, TriggerUnit, type UseTradeItOptions, getTradeItErrorMessage, getUrlOrigin, isTradeItEvent, resolveLaunchUrl, useTradeIt };
221
+ export { EmbedEventType, LegType, type OpenConnectOptions, type OpenTradeOptions, OrderDirection, OrderType, PositionEffect, TimeInForce, TradeAction, type TradeItAuthorization, type TradeItConnectLaunch, type TradeItEvent, type TradeItEventType, type TradeItExitTrigger, type TradeItLaunch, TradeItModal, type TradeItModalAppearance, type TradeItModalProps, type TradeItMultiLegTradeConfig, type TradeItMultiLegTradeLegConfig, type TradeItSimpleTradeConfig, type TradeItTradeConfig, type TradeItTradeLaunch, type TradeLinkLegConfig, TradeLinkParam, TradeType, TradeUnit, TriggerUnit, type UseTradeItOptions, getTradeItErrorMessage, getUrlOrigin, isTradeItAuthorization, isTradeItEvent, resolveLaunchUrl, useTradeIt };