@clicktap/state 0.12.16 → 0.13.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,147 @@
1
+ import { TypedDocumentNode } from '@graphql-typed-document-node/core';
2
+ import { RequestDocument } from 'graphql-request';
3
+ import { GraphQLClientRequestHeaders } from 'graphql-request/build/esm/types';
4
+ import { DoneActorEvent } from 'xstate';
5
+ /** @todo how do we want to handle quote items? */
6
+ /** @todo is this level of deep partial necessary? */
7
+ export type DeepPartial<T> = {
8
+ [P in keyof T]?: T[P] extends Array<infer U> ? Array<DeepPartial<U>> : T[P] extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T[P] extends Date | Function | RegExp ? T[P] : T[P] extends object ? DeepPartial<T[P]> : T[P];
9
+ };
10
+ export interface QuoteMachineContext {
11
+ quote: {
12
+ id: string | null;
13
+ locale: string | null;
14
+ baseCurrency: string | null;
15
+ currency: string | null;
16
+ currencyConversionRate: number | null;
17
+ dateCreated: Date | null;
18
+ dateLastUpdated: Date | null;
19
+ items: Array<Record<string, any>> | null;
20
+ promotions: Array<Record<string, any>> | null;
21
+ shippingAddresses: {
22
+ available: Array<Record<string, any>>;
23
+ selected: string | null;
24
+ } | null;
25
+ totals: {
26
+ discount: number;
27
+ tax: number;
28
+ shipping: number;
29
+ shippingTax: number;
30
+ subtotal: number;
31
+ grandTotal: number;
32
+ } | null;
33
+ appliedPriceRules: Array<Record<string, any>> | null;
34
+ appliedPromotions: Array<Record<string, any>> | null;
35
+ shippingMethods: Array<Record<string, any>> | null;
36
+ paymentMethods: Array<Record<string, any>> | null;
37
+ storeCredit: Array<Record<string, any>> | null;
38
+ rewards: Array<Record<string, any>> | null;
39
+ giftCards: Array<Record<string, any>> | null;
40
+ };
41
+ endpoints: {
42
+ client?: string;
43
+ server?: string;
44
+ };
45
+ graphql: {
46
+ refresh: {
47
+ document: RequestDocument | TypedDocumentNode<unknown, {}>;
48
+ requestHeaders?: GraphQLClientRequestHeaders | undefined;
49
+ };
50
+ addItems: {
51
+ document: RequestDocument | TypedDocumentNode<unknown, {}>;
52
+ requestHeaders?: GraphQLClientRequestHeaders | undefined;
53
+ };
54
+ };
55
+ errors: Array<string>;
56
+ }
57
+ export interface SetEmptyEvent {
58
+ type: 'SET_EMPTY';
59
+ }
60
+ export interface SetActiveEvent {
61
+ type: 'SET_ACTIVE';
62
+ }
63
+ export interface AddItemsEvent {
64
+ type: 'ADD_ITEMS';
65
+ items: Array<{
66
+ product: {
67
+ sku: string;
68
+ };
69
+ quantity: number;
70
+ }>;
71
+ }
72
+ export interface RemoveItemsEvent {
73
+ type: 'REMOVE_ITEMS';
74
+ items: Array<{
75
+ product: {
76
+ sku: string;
77
+ };
78
+ quantity: number;
79
+ }>;
80
+ }
81
+ export interface ClearItemsEvent {
82
+ type: 'CLEAR_ITEMS';
83
+ }
84
+ export interface RefreshEvent {
85
+ type: 'REFRESH';
86
+ }
87
+ export interface ApplyPromotionEvent {
88
+ type: 'APPLY_PROMOTION';
89
+ }
90
+ export interface RemovePromotionEvent {
91
+ type: 'REMOVE_PROMOTION';
92
+ }
93
+ export interface AddAddressEvent {
94
+ type: 'ADD_ADDRESS';
95
+ }
96
+ export interface RemoveAddressEvent {
97
+ type: 'REMOVE_ADDRESS';
98
+ }
99
+ export interface ApplyPaymentMethodEvent {
100
+ type: 'APPLY_PAYMENT_METHOD';
101
+ }
102
+ export interface AddRewardEvent {
103
+ type: 'ADD_REWARD';
104
+ }
105
+ export interface RemoveRewardEvent {
106
+ type: 'REMOVE_REWARD';
107
+ }
108
+ export interface AddStoreCreditEvent {
109
+ type: 'ADD_STORE_CREDIT';
110
+ }
111
+ export interface RemoveStoreCreditEvent {
112
+ type: 'REMOVE_STORE_CREDIT';
113
+ }
114
+ export interface AddGiftCardEvent {
115
+ type: 'ADD_GIFT_CARD';
116
+ }
117
+ export interface RemoveGiftCardEvent {
118
+ type: 'REMOVE_GIFT_CARD';
119
+ }
120
+ export interface AddItemsSuccessEvent {
121
+ type: 'ADD_ITEMS_SUCCESS';
122
+ quote: Partial<QuoteMachineContext>;
123
+ }
124
+ export interface RemoveItemsSuccessEvent {
125
+ type: 'REMOVE_ITEMS_SUCCESS';
126
+ quote: Partial<QuoteMachineContext>;
127
+ }
128
+ export interface ClearItemsSuccessEvent {
129
+ type: 'CLEAR_ITEMS_SUCCESS';
130
+ }
131
+ export interface RefreshSuccessEvent {
132
+ type: 'REFRESH_SUCCESS';
133
+ quote: Partial<QuoteMachineContext>;
134
+ }
135
+ export type QuoteMachineEvents = SetEmptyEvent | SetActiveEvent | AddItemsEvent | RemoveItemsEvent | ClearItemsEvent | RefreshEvent | ApplyPromotionEvent | RemovePromotionEvent | AddAddressEvent | RemoveAddressEvent | ApplyPaymentMethodEvent | AddRewardEvent | RemoveRewardEvent | AddStoreCreditEvent | RemoveStoreCreditEvent | AddGiftCardEvent | RemoveGiftCardEvent | DoneActorEvent<AddItemsSuccessEvent> | DoneActorEvent<RemoveItemsSuccessEvent> | DoneActorEvent<ClearItemsSuccessEvent> | DoneActorEvent<RefreshSuccessEvent>;
136
+ export type AddItemsResponse = {
137
+ message?: string;
138
+ success: boolean;
139
+ };
140
+ export type RemoveItemsResponse = {
141
+ message?: string;
142
+ success: boolean;
143
+ };
144
+ export type RefreshResponse = {
145
+ message?: string;
146
+ success: boolean;
147
+ };
@@ -6,7 +6,7 @@ export declare const ToastContext: import("react").Context<Actor<import("xstate"
6
6
  [x: string]: import("xstate").ActorRef<import("xstate").CallbackSnapshot<{
7
7
  interval: number;
8
8
  }>, import("./types").TimerTickEvent, import("xstate").EventObject> | undefined;
9
- }, "running" | "paused" | "completed", string, import("xstate").NonReducibleUnknown>, import("./types").TimerTickEvent | import("./types").StartTimerEvent | import("./types").ResumeTimerEvent | import("./types").PauseTimerEvent | import("./types").TimerDurationUpdateEvent | import("./types").ResetTimerEvent, import("xstate").EventObject> | undefined;
9
+ }, "running" | "paused" | "completed", string, import("xstate").NonReducibleUnknown, import("xstate").MetaObject>, import("./types").TimerTickEvent | import("./types").StartTimerEvent | import("./types").ResumeTimerEvent | import("./types").PauseTimerEvent | import("./types").TimerDurationUpdateEvent | import("./types").ResetTimerEvent, import("xstate").EventObject> | undefined;
10
10
  }, {
11
11
  src: "timer";
12
12
  logic: import("xstate").StateMachine<import("./types").TimerContext, import("./types").TimerTickEvent | import("./types").StartTimerEvent | import("./types").ResumeTimerEvent | import("./types").PauseTimerEvent | import("./types").TimerDurationUpdateEvent | import("./types").ResetTimerEvent, {
@@ -22,7 +22,7 @@ export declare const ToastContext: import("react").Context<Actor<import("xstate"
22
22
  }, never, never, never, "running" | "paused" | "completed", string, {
23
23
  initialContext: Partial<import("./types").TimerContext>;
24
24
  initialState?: string | undefined;
25
- }, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").ResolveTypegenMeta<import("xstate").TypegenDisabled, import("./types").TimerTickEvent | import("./types").StartTimerEvent | import("./types").ResumeTimerEvent | import("./types").PauseTimerEvent | import("./types").TimerDurationUpdateEvent | import("./types").ResetTimerEvent, {
25
+ }, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").MetaObject, import("xstate").ResolveTypegenMeta<import("xstate").TypegenDisabled, import("./types").TimerTickEvent | import("./types").StartTimerEvent | import("./types").ResumeTimerEvent | import("./types").PauseTimerEvent | import("./types").TimerDurationUpdateEvent | import("./types").ResetTimerEvent, {
26
26
  src: "tick";
27
27
  logic: import("xstate").CallbackActorLogic<import("./types").TimerTickEvent, {
28
28
  interval: number;
@@ -45,7 +45,7 @@ export declare const ToastContext: import("react").Context<Actor<import("xstate"
45
45
  }, "ITEM_TIMEOUT", {}, string, {
46
46
  initialContext: Partial<import("./types").ToastMachineContext>;
47
47
  initialState?: string | undefined;
48
- }, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").ResolveTypegenMeta<import("xstate").TypegenDisabled, import("./types").ResumeTimerEvent | import("./types").PauseTimerEvent | import("./types").AddItemEvent | import("./types").RemoveItemEvent | import("./types").SetIdleEvent | import("./types").SetActiveEvent | import("./types").TimerDoneEvent, {
48
+ }, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").MetaObject, import("xstate").ResolveTypegenMeta<import("xstate").TypegenDisabled, import("./types").ResumeTimerEvent | import("./types").PauseTimerEvent | import("./types").AddItemEvent | import("./types").RemoveItemEvent | import("./types").SetIdleEvent | import("./types").SetActiveEvent | import("./types").TimerDoneEvent, {
49
49
  src: "timer";
50
50
  logic: import("xstate").StateMachine<import("./types").TimerContext, import("./types").TimerTickEvent | import("./types").StartTimerEvent | import("./types").ResumeTimerEvent | import("./types").PauseTimerEvent | import("./types").TimerDurationUpdateEvent | import("./types").ResetTimerEvent, {
51
51
  [x: string]: import("xstate").ActorRef<import("xstate").CallbackSnapshot<{
@@ -60,7 +60,7 @@ export declare const ToastContext: import("react").Context<Actor<import("xstate"
60
60
  }, never, never, never, "running" | "paused" | "completed", string, {
61
61
  initialContext: Partial<import("./types").TimerContext>;
62
62
  initialState?: string | undefined;
63
- }, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").ResolveTypegenMeta<import("xstate").TypegenDisabled, import("./types").TimerTickEvent | import("./types").StartTimerEvent | import("./types").ResumeTimerEvent | import("./types").PauseTimerEvent | import("./types").TimerDurationUpdateEvent | import("./types").ResetTimerEvent, {
63
+ }, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").MetaObject, import("xstate").ResolveTypegenMeta<import("xstate").TypegenDisabled, import("./types").TimerTickEvent | import("./types").StartTimerEvent | import("./types").ResumeTimerEvent | import("./types").PauseTimerEvent | import("./types").TimerDurationUpdateEvent | import("./types").ResetTimerEvent, {
64
64
  src: "tick";
65
65
  logic: import("xstate").CallbackActorLogic<import("./types").TimerTickEvent, {
66
66
  interval: number;
@@ -86,7 +86,7 @@ export declare const useToast: () => Actor<import("xstate").StateMachine<import(
86
86
  [x: string]: import("xstate").ActorRef<import("xstate").CallbackSnapshot<{
87
87
  interval: number;
88
88
  }>, import("./types").TimerTickEvent, import("xstate").EventObject> | undefined;
89
- }, "running" | "paused" | "completed", string, import("xstate").NonReducibleUnknown>, import("./types").TimerTickEvent | import("./types").StartTimerEvent | import("./types").ResumeTimerEvent | import("./types").PauseTimerEvent | import("./types").TimerDurationUpdateEvent | import("./types").ResetTimerEvent, import("xstate").EventObject> | undefined;
89
+ }, "running" | "paused" | "completed", string, import("xstate").NonReducibleUnknown, import("xstate").MetaObject>, import("./types").TimerTickEvent | import("./types").StartTimerEvent | import("./types").ResumeTimerEvent | import("./types").PauseTimerEvent | import("./types").TimerDurationUpdateEvent | import("./types").ResetTimerEvent, import("xstate").EventObject> | undefined;
90
90
  }, {
91
91
  src: "timer";
92
92
  logic: import("xstate").StateMachine<import("./types").TimerContext, import("./types").TimerTickEvent | import("./types").StartTimerEvent | import("./types").ResumeTimerEvent | import("./types").PauseTimerEvent | import("./types").TimerDurationUpdateEvent | import("./types").ResetTimerEvent, {
@@ -102,7 +102,7 @@ export declare const useToast: () => Actor<import("xstate").StateMachine<import(
102
102
  }, never, never, never, "running" | "paused" | "completed", string, {
103
103
  initialContext: Partial<import("./types").TimerContext>;
104
104
  initialState?: string | undefined;
105
- }, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").ResolveTypegenMeta<import("xstate").TypegenDisabled, import("./types").TimerTickEvent | import("./types").StartTimerEvent | import("./types").ResumeTimerEvent | import("./types").PauseTimerEvent | import("./types").TimerDurationUpdateEvent | import("./types").ResetTimerEvent, {
105
+ }, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").MetaObject, import("xstate").ResolveTypegenMeta<import("xstate").TypegenDisabled, import("./types").TimerTickEvent | import("./types").StartTimerEvent | import("./types").ResumeTimerEvent | import("./types").PauseTimerEvent | import("./types").TimerDurationUpdateEvent | import("./types").ResetTimerEvent, {
106
106
  src: "tick";
107
107
  logic: import("xstate").CallbackActorLogic<import("./types").TimerTickEvent, {
108
108
  interval: number;
@@ -125,7 +125,7 @@ export declare const useToast: () => Actor<import("xstate").StateMachine<import(
125
125
  }, "ITEM_TIMEOUT", {}, string, {
126
126
  initialContext: Partial<import("./types").ToastMachineContext>;
127
127
  initialState?: string | undefined;
128
- }, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").ResolveTypegenMeta<import("xstate").TypegenDisabled, import("./types").ResumeTimerEvent | import("./types").PauseTimerEvent | import("./types").AddItemEvent | import("./types").RemoveItemEvent | import("./types").SetIdleEvent | import("./types").SetActiveEvent | import("./types").TimerDoneEvent, {
128
+ }, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").MetaObject, import("xstate").ResolveTypegenMeta<import("xstate").TypegenDisabled, import("./types").ResumeTimerEvent | import("./types").PauseTimerEvent | import("./types").AddItemEvent | import("./types").RemoveItemEvent | import("./types").SetIdleEvent | import("./types").SetActiveEvent | import("./types").TimerDoneEvent, {
129
129
  src: "timer";
130
130
  logic: import("xstate").StateMachine<import("./types").TimerContext, import("./types").TimerTickEvent | import("./types").StartTimerEvent | import("./types").ResumeTimerEvent | import("./types").PauseTimerEvent | import("./types").TimerDurationUpdateEvent | import("./types").ResetTimerEvent, {
131
131
  [x: string]: import("xstate").ActorRef<import("xstate").CallbackSnapshot<{
@@ -140,7 +140,7 @@ export declare const useToast: () => Actor<import("xstate").StateMachine<import(
140
140
  }, never, never, never, "running" | "paused" | "completed", string, {
141
141
  initialContext: Partial<import("./types").TimerContext>;
142
142
  initialState?: string | undefined;
143
- }, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").ResolveTypegenMeta<import("xstate").TypegenDisabled, import("./types").TimerTickEvent | import("./types").StartTimerEvent | import("./types").ResumeTimerEvent | import("./types").PauseTimerEvent | import("./types").TimerDurationUpdateEvent | import("./types").ResetTimerEvent, {
143
+ }, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").MetaObject, import("xstate").ResolveTypegenMeta<import("xstate").TypegenDisabled, import("./types").TimerTickEvent | import("./types").StartTimerEvent | import("./types").ResumeTimerEvent | import("./types").PauseTimerEvent | import("./types").TimerDurationUpdateEvent | import("./types").ResetTimerEvent, {
144
144
  src: "tick";
145
145
  logic: import("xstate").CallbackActorLogic<import("./types").TimerTickEvent, {
146
146
  interval: number;
package/toast/timer.d.ts CHANGED
@@ -12,7 +12,7 @@ export declare const timerMachine: import("xstate").StateMachine<TimerContext, T
12
12
  }, never, never, never, "running" | "paused" | "completed", string, {
13
13
  initialContext: Partial<TimerContext>;
14
14
  initialState?: string | undefined;
15
- }, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").ResolveTypegenMeta<import("xstate").TypegenDisabled, TimerTickEvent | import("./types").StartTimerEvent | import("./types").ResumeTimerEvent | import("./types").PauseTimerEvent | import("./types").TimerDurationUpdateEvent | import("./types").ResetTimerEvent, {
15
+ }, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").MetaObject, import("xstate").ResolveTypegenMeta<import("xstate").TypegenDisabled, TimerTickEvent | import("./types").StartTimerEvent | import("./types").ResumeTimerEvent | import("./types").PauseTimerEvent | import("./types").TimerDurationUpdateEvent | import("./types").ResetTimerEvent, {
16
16
  src: "tick";
17
17
  logic: import("xstate").CallbackActorLogic<TimerTickEvent, {
18
18
  interval: number;
package/toast/toast.d.ts CHANGED
@@ -4,7 +4,7 @@ export declare const toastMachine: import("xstate").StateMachine<ToastMachineCon
4
4
  [x: string]: import("xstate").ActorRef<import("xstate").CallbackSnapshot<{
5
5
  interval: number;
6
6
  }>, import("./types").TimerTickEvent, import("xstate").EventObject> | undefined;
7
- }, "running" | "paused" | "completed", string, import("xstate").NonReducibleUnknown>, import("./types").TimerTickEvent | import("./types").StartTimerEvent | import("./types").ResumeTimerEvent | import("./types").PauseTimerEvent | import("./types").TimerDurationUpdateEvent | import("./types").ResetTimerEvent, import("xstate").EventObject> | undefined;
7
+ }, "running" | "paused" | "completed", string, import("xstate").NonReducibleUnknown, import("xstate").MetaObject>, import("./types").TimerTickEvent | import("./types").StartTimerEvent | import("./types").ResumeTimerEvent | import("./types").PauseTimerEvent | import("./types").TimerDurationUpdateEvent | import("./types").ResetTimerEvent, import("xstate").EventObject> | undefined;
8
8
  }, {
9
9
  src: "timer";
10
10
  logic: import("xstate").StateMachine<import("./types").TimerContext, import("./types").TimerTickEvent | import("./types").StartTimerEvent | import("./types").ResumeTimerEvent | import("./types").PauseTimerEvent | import("./types").TimerDurationUpdateEvent | import("./types").ResetTimerEvent, {
@@ -20,7 +20,7 @@ export declare const toastMachine: import("xstate").StateMachine<ToastMachineCon
20
20
  }, never, never, never, "running" | "paused" | "completed", string, {
21
21
  initialContext: Partial<import("./types").TimerContext>;
22
22
  initialState?: string | undefined;
23
- }, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").ResolveTypegenMeta<import("xstate").TypegenDisabled, import("./types").TimerTickEvent | import("./types").StartTimerEvent | import("./types").ResumeTimerEvent | import("./types").PauseTimerEvent | import("./types").TimerDurationUpdateEvent | import("./types").ResetTimerEvent, {
23
+ }, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").MetaObject, import("xstate").ResolveTypegenMeta<import("xstate").TypegenDisabled, import("./types").TimerTickEvent | import("./types").StartTimerEvent | import("./types").ResumeTimerEvent | import("./types").PauseTimerEvent | import("./types").TimerDurationUpdateEvent | import("./types").ResetTimerEvent, {
24
24
  src: "tick";
25
25
  logic: import("xstate").CallbackActorLogic<import("./types").TimerTickEvent, {
26
26
  interval: number;
@@ -43,7 +43,7 @@ export declare const toastMachine: import("xstate").StateMachine<ToastMachineCon
43
43
  }, "ITEM_TIMEOUT", {}, string, {
44
44
  initialContext: Partial<ToastMachineContext>;
45
45
  initialState?: string | undefined;
46
- }, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").ResolveTypegenMeta<import("xstate").TypegenDisabled, import("./types").ResumeTimerEvent | import("./types").PauseTimerEvent | import("./types").AddItemEvent | import("./types").RemoveItemEvent | import("./types").SetIdleEvent | import("./types").SetActiveEvent | import("./types").TimerDoneEvent, {
46
+ }, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").MetaObject, import("xstate").ResolveTypegenMeta<import("xstate").TypegenDisabled, import("./types").ResumeTimerEvent | import("./types").PauseTimerEvent | import("./types").AddItemEvent | import("./types").RemoveItemEvent | import("./types").SetIdleEvent | import("./types").SetActiveEvent | import("./types").TimerDoneEvent, {
47
47
  src: "timer";
48
48
  logic: import("xstate").StateMachine<import("./types").TimerContext, import("./types").TimerTickEvent | import("./types").StartTimerEvent | import("./types").ResumeTimerEvent | import("./types").PauseTimerEvent | import("./types").TimerDurationUpdateEvent | import("./types").ResetTimerEvent, {
49
49
  [x: string]: import("xstate").ActorRef<import("xstate").CallbackSnapshot<{
@@ -58,7 +58,7 @@ export declare const toastMachine: import("xstate").StateMachine<ToastMachineCon
58
58
  }, never, never, never, "running" | "paused" | "completed", string, {
59
59
  initialContext: Partial<import("./types").TimerContext>;
60
60
  initialState?: string | undefined;
61
- }, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").ResolveTypegenMeta<import("xstate").TypegenDisabled, import("./types").TimerTickEvent | import("./types").StartTimerEvent | import("./types").ResumeTimerEvent | import("./types").PauseTimerEvent | import("./types").TimerDurationUpdateEvent | import("./types").ResetTimerEvent, {
61
+ }, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").MetaObject, import("xstate").ResolveTypegenMeta<import("xstate").TypegenDisabled, import("./types").TimerTickEvent | import("./types").StartTimerEvent | import("./types").ResumeTimerEvent | import("./types").PauseTimerEvent | import("./types").TimerDurationUpdateEvent | import("./types").ResetTimerEvent, {
62
62
  src: "tick";
63
63
  logic: import("xstate").CallbackActorLogic<import("./types").TimerTickEvent, {
64
64
  interval: number;