@reevit/svelte 0.1.0 → 0.2.2

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,2 @@
1
+ export { loadPaystackScript, loadHubtelScript, loadFlutterwaveScript, loadStripeScript, loadMonnifyScript, openPaystackPopup, openHubtelPopup, openFlutterwaveModal, createStripeInstance, confirmStripePayment, openMonnifyModal, initiateMPesaSTKPush, type PaystackConfig, type HubtelConfig, type FlutterwaveConfig, type StripeConfig, type MonnifyConfig, type MPesaConfig, type MPesaSTKPushResult, } from './loaders';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bridges/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EAGjB,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EAGpB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,kBAAkB,GACxB,MAAM,WAAW,CAAC"}
@@ -0,0 +1,224 @@
1
+ /**
2
+ * PSP Script Loaders
3
+ * Dynamic script loading for PSP popups
4
+ */
5
+ declare global {
6
+ interface Window {
7
+ PaystackPop?: {
8
+ setup: (config: Record<string, unknown>) => {
9
+ openIframe: () => void;
10
+ };
11
+ };
12
+ HubtelCheckout?: {
13
+ initPay: (config: Record<string, unknown>) => void;
14
+ };
15
+ FlutterwaveCheckout?: (config: Record<string, unknown>) => void;
16
+ Stripe?: (publishableKey: string) => StripeInstance;
17
+ MonnifySDK?: {
18
+ initialize: (config: Record<string, unknown>) => void;
19
+ };
20
+ }
21
+ }
22
+ interface StripeInstance {
23
+ elements: () => StripeElements;
24
+ confirmCardPayment: (clientSecret: string, data?: {
25
+ payment_method?: string | {
26
+ card: StripeCardElement;
27
+ };
28
+ }) => Promise<{
29
+ error?: {
30
+ message: string;
31
+ };
32
+ paymentIntent?: {
33
+ id: string;
34
+ status: string;
35
+ };
36
+ }>;
37
+ confirmPayment: (options: {
38
+ elements: StripeElements;
39
+ clientSecret: string;
40
+ confirmParams?: {
41
+ return_url?: string;
42
+ };
43
+ redirect?: 'if_required';
44
+ }) => Promise<{
45
+ error?: {
46
+ message: string;
47
+ };
48
+ paymentIntent?: {
49
+ id: string;
50
+ status: string;
51
+ };
52
+ }>;
53
+ }
54
+ interface StripeElements {
55
+ create: (type: string, options?: Record<string, unknown>) => StripeCardElement;
56
+ getElement: (type: string) => StripeCardElement | null;
57
+ }
58
+ interface StripeCardElement {
59
+ mount: (selector: string | HTMLElement) => void;
60
+ unmount: () => void;
61
+ on: (event: string, handler: (e: any) => void) => void;
62
+ destroy: () => void;
63
+ }
64
+ /**
65
+ * Loads the Paystack inline script
66
+ */
67
+ export declare function loadPaystackScript(): Promise<void>;
68
+ /**
69
+ * Loads the Hubtel checkout script
70
+ */
71
+ export declare function loadHubtelScript(): Promise<void>;
72
+ /**
73
+ * Loads the Flutterwave checkout script
74
+ */
75
+ export declare function loadFlutterwaveScript(): Promise<void>;
76
+ /**
77
+ * Loads the Stripe.js script
78
+ */
79
+ export declare function loadStripeScript(): Promise<void>;
80
+ /**
81
+ * Loads the Monnify SDK script
82
+ */
83
+ export declare function loadMonnifyScript(): Promise<void>;
84
+ export interface PaystackConfig {
85
+ key: string;
86
+ email: string;
87
+ amount: number;
88
+ currency: string;
89
+ ref: string;
90
+ metadata?: Record<string, unknown>;
91
+ onSuccess: (response: {
92
+ reference: string;
93
+ [key: string]: unknown;
94
+ }) => void;
95
+ onClose: () => void;
96
+ }
97
+ export interface HubtelConfig {
98
+ clientId: string;
99
+ purchaseDescription: string;
100
+ amount: number;
101
+ callbackUrl?: string;
102
+ customerPhone?: string;
103
+ customerEmail?: string;
104
+ onSuccess: (response: Record<string, unknown>) => void;
105
+ onClose: () => void;
106
+ }
107
+ export interface FlutterwaveConfig {
108
+ public_key: string;
109
+ tx_ref: string;
110
+ amount: number;
111
+ currency: string;
112
+ customer: {
113
+ email: string;
114
+ phone_number?: string;
115
+ name?: string;
116
+ };
117
+ payment_options?: string;
118
+ customizations?: {
119
+ title?: string;
120
+ description?: string;
121
+ logo?: string;
122
+ };
123
+ callback: (response: {
124
+ transaction_id: number;
125
+ tx_ref: string;
126
+ [key: string]: unknown;
127
+ }) => void;
128
+ onclose: () => void;
129
+ }
130
+ export interface StripeConfig {
131
+ publishableKey: string;
132
+ clientSecret: string;
133
+ appearance?: {
134
+ theme?: 'stripe' | 'night' | 'flat';
135
+ variables?: Record<string, string>;
136
+ };
137
+ onSuccess: (response: {
138
+ paymentIntentId: string;
139
+ status: string;
140
+ }) => void;
141
+ onError: (error: {
142
+ message: string;
143
+ }) => void;
144
+ }
145
+ export interface MonnifyConfig {
146
+ apiKey: string;
147
+ contractCode: string;
148
+ amount: number;
149
+ currency: string;
150
+ reference: string;
151
+ customerName: string;
152
+ customerEmail: string;
153
+ customerPhone?: string;
154
+ paymentDescription?: string;
155
+ isTestMode?: boolean;
156
+ metadata?: Record<string, unknown>;
157
+ onSuccess: (response: {
158
+ transactionReference: string;
159
+ paymentReference: string;
160
+ [key: string]: unknown;
161
+ }) => void;
162
+ onClose: () => void;
163
+ onError?: (error: {
164
+ message: string;
165
+ }) => void;
166
+ }
167
+ export interface MPesaConfig {
168
+ phoneNumber: string;
169
+ amount: number;
170
+ reference: string;
171
+ description?: string;
172
+ onInitiated: () => void;
173
+ onSuccess: (response: {
174
+ transactionId: string;
175
+ [key: string]: unknown;
176
+ }) => void;
177
+ onError: (error: {
178
+ message: string;
179
+ }) => void;
180
+ }
181
+ /**
182
+ * Opens Paystack popup
183
+ */
184
+ export declare function openPaystackPopup(config: PaystackConfig): Promise<void>;
185
+ /**
186
+ * Opens Hubtel popup
187
+ */
188
+ export declare function openHubtelPopup(config: HubtelConfig): Promise<void>;
189
+ /**
190
+ * Opens Flutterwave modal
191
+ */
192
+ export declare function openFlutterwaveModal(config: FlutterwaveConfig): Promise<void>;
193
+ /**
194
+ * Creates a Stripe instance for payment processing
195
+ * Returns the Stripe instance for use with Elements
196
+ */
197
+ export declare function createStripeInstance(publishableKey: string): Promise<StripeInstance>;
198
+ /**
199
+ * Confirms a Stripe PaymentIntent using Elements
200
+ */
201
+ export declare function confirmStripePayment(config: StripeConfig & {
202
+ elements: StripeElements;
203
+ }): Promise<void>;
204
+ /**
205
+ * Opens Monnify payment modal
206
+ */
207
+ export declare function openMonnifyModal(config: MonnifyConfig): Promise<void>;
208
+ /**
209
+ * M-Pesa STK Push
210
+ * Note: M-Pesa uses server-to-server STK Push, the customer receives a prompt on their phone.
211
+ * This function handles the UI state while waiting for the push to be accepted.
212
+ */
213
+ export interface MPesaSTKPushResult {
214
+ status: 'initiated' | 'success' | 'failed' | 'cancelled';
215
+ message?: string;
216
+ transactionId?: string;
217
+ }
218
+ /**
219
+ * Initiates M-Pesa STK Push via your backend
220
+ * The actual push is server-side; this handles the UI flow.
221
+ */
222
+ export declare function initiateMPesaSTKPush(config: MPesaConfig, apiEndpoint: string): Promise<MPesaSTKPushResult>;
223
+ export {};
224
+ //# sourceMappingURL=loaders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loaders.d.ts","sourceRoot":"","sources":["../../src/bridges/loaders.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export { SvelteComponent as default } from 'svelte';
@@ -0,0 +1 @@
1
+ export { SvelteComponent as default } from 'svelte';
@@ -0,0 +1 @@
1
+ export { SvelteComponent as default } from 'svelte';
package/dist/index.d.ts CHANGED
@@ -1,337 +1,8 @@
1
- import { CheckoutState } from '@reevit/core';
2
- import { cn } from '@reevit/core';
3
- import { createInitialState } from '@reevit/core';
4
- import { createReevitClient } from '@reevit/core';
5
- import { detectCountryFromCurrency } from '@reevit/core';
6
- import { detectNetwork } from '@reevit/core';
7
- import { formatAmount } from '@reevit/core';
8
- import { formatPhone } from '@reevit/core';
9
- import { MobileMoneyFormData } from '@reevit/core';
10
- import { MobileMoneyNetwork } from '@reevit/core';
11
- import { PaymentError } from '@reevit/core';
12
- import { PaymentIntent } from '@reevit/core';
13
- import { PaymentMethod } from '@reevit/core';
14
- import { PaymentResult } from '@reevit/core';
15
- import { PSPType } from '@reevit/core';
16
- import { ReevitAction } from '@reevit/core';
17
- import { ReevitAPIClient } from '@reevit/core';
18
- import { ReevitCheckoutCallbacks } from '@reevit/core';
19
- import { ReevitCheckoutConfig } from '@reevit/core';
20
- import { reevitReducer } from '@reevit/core';
21
- import { ReevitState } from '@reevit/core';
22
- import { ReevitTheme } from '@reevit/core';
23
- import { SvelteComponent } from 'svelte';
24
- import { validatePhone } from '@reevit/core';
25
-
26
- export { CheckoutState }
27
-
28
- export { cn }
29
-
30
- /**
31
- * Confirms a Stripe PaymentIntent using Elements
32
- */
33
- export declare function confirmStripePayment(config: StripeConfig & {
34
- elements: StripeElements;
35
- }): Promise<void>;
36
-
37
- export { createInitialState }
38
-
39
- export { createReevitClient }
40
-
41
- /**
42
- * Creates a Svelte-compatible store for managing Reevit checkout state
43
- */
44
- export declare function createReevitStore(options: CreateReevitStoreOptions): {
45
- subscribe: (subscriber: Subscriber<ReevitState>) => Unsubscriber;
46
- initialize: (method?: PaymentMethod) => Promise<void>;
47
- selectMethod: (method: PaymentMethod) => void;
48
- processPayment: (paymentData: Record<string, unknown>) => Promise<void>;
49
- handlePspSuccess: (pspData: Record<string, unknown>) => Promise<void>;
50
- handlePspError: (error: PaymentError) => void;
51
- reset: () => void;
52
- close: () => Promise<void>;
53
- getStatus: () => any;
54
- getPaymentIntent: () => any;
55
- getSelectedMethod: () => any;
56
- getError: () => any;
57
- getResult: () => any;
58
- isLoading: () => boolean;
59
- isReady: () => boolean;
60
- isComplete: () => boolean;
61
- canRetry: () => any;
62
- };
63
-
64
- declare interface CreateReevitStoreOptions {
65
- config: ReevitCheckoutConfig;
66
- onSuccess?: (result: PaymentResult) => void;
67
- onError?: (error: PaymentError) => void;
68
- onClose?: () => void;
69
- onStateChange?: (state: CheckoutState) => void;
70
- apiBaseUrl?: string;
71
- }
72
-
73
- /**
74
- * Creates a Stripe instance for payment processing
75
- * Returns the Stripe instance for use with Elements
76
- */
77
- export declare function createStripeInstance(publishableKey: string): Promise<StripeInstance>;
78
-
79
- export { detectCountryFromCurrency }
80
-
81
- export { detectNetwork }
82
-
83
- export declare interface FlutterwaveConfig {
84
- public_key: string;
85
- tx_ref: string;
86
- amount: number;
87
- currency: string;
88
- customer: {
89
- email: string;
90
- phone_number?: string;
91
- name?: string;
92
- };
93
- payment_options?: string;
94
- customizations?: {
95
- title?: string;
96
- description?: string;
97
- logo?: string;
98
- };
99
- callback: (response: {
100
- transaction_id: number;
101
- tx_ref: string;
102
- [key: string]: unknown;
103
- }) => void;
104
- onclose: () => void;
105
- }
106
-
107
- export { formatAmount }
108
-
109
- export { formatPhone }
110
-
111
- export declare interface HubtelConfig {
112
- clientId: string;
113
- purchaseDescription: string;
114
- amount: number;
115
- callbackUrl?: string;
116
- customerPhone?: string;
117
- customerEmail?: string;
118
- onSuccess: (response: Record<string, unknown>) => void;
119
- onClose: () => void;
120
- }
121
-
122
- /**
123
- * Initiates M-Pesa STK Push via your backend
124
- * The actual push is server-side; this handles the UI flow.
125
- */
126
- export declare function initiateMPesaSTKPush(config: MPesaConfig, apiEndpoint: string): Promise<MPesaSTKPushResult>;
127
-
128
- /**
129
- * Loads the Flutterwave checkout script
130
- */
131
- export declare function loadFlutterwaveScript(): Promise<void>;
132
-
133
- /**
134
- * Loads the Hubtel checkout script
135
- */
136
- export declare function loadHubtelScript(): Promise<void>;
137
-
138
- /**
139
- * Loads the Monnify SDK script
140
- */
141
- export declare function loadMonnifyScript(): Promise<void>;
142
-
143
- /**
144
- * Loads the Paystack inline script
145
- */
146
- export declare function loadPaystackScript(): Promise<void>;
147
-
148
- /**
149
- * Loads the Stripe.js script
150
- */
151
- export declare function loadStripeScript(): Promise<void>;
152
-
153
- export { MobileMoneyFormData }
154
-
155
- export { MobileMoneyNetwork }
156
-
157
- export declare interface MonnifyConfig {
158
- apiKey: string;
159
- contractCode: string;
160
- amount: number;
161
- currency: string;
162
- reference: string;
163
- customerName: string;
164
- customerEmail: string;
165
- customerPhone?: string;
166
- paymentDescription?: string;
167
- isTestMode?: boolean;
168
- metadata?: Record<string, unknown>;
169
- onSuccess: (response: {
170
- transactionReference: string;
171
- paymentReference: string;
172
- [key: string]: unknown;
173
- }) => void;
174
- onClose: () => void;
175
- onError?: (error: {
176
- message: string;
177
- }) => void;
178
- }
179
-
180
- export declare interface MPesaConfig {
181
- phoneNumber: string;
182
- amount: number;
183
- reference: string;
184
- description?: string;
185
- onInitiated: () => void;
186
- onSuccess: (response: {
187
- transactionId: string;
188
- [key: string]: unknown;
189
- }) => void;
190
- onError: (error: {
191
- message: string;
192
- }) => void;
193
- }
194
-
195
- /**
196
- * M-Pesa STK Push
197
- * Note: M-Pesa uses server-to-server STK Push, the customer receives a prompt on their phone.
198
- * This function handles the UI state while waiting for the push to be accepted.
199
- */
200
- export declare interface MPesaSTKPushResult {
201
- status: 'initiated' | 'success' | 'failed' | 'cancelled';
202
- message?: string;
203
- transactionId?: string;
204
- }
205
-
206
- /**
207
- * Opens Flutterwave modal
208
- */
209
- export declare function openFlutterwaveModal(config: FlutterwaveConfig): Promise<void>;
210
-
211
- /**
212
- * Opens Hubtel popup
213
- */
214
- export declare function openHubtelPopup(config: HubtelConfig): Promise<void>;
215
-
216
- /**
217
- * Opens Monnify payment modal
218
- */
219
- export declare function openMonnifyModal(config: MonnifyConfig): Promise<void>;
220
-
221
- /**
222
- * Opens Paystack popup
223
- */
224
- export declare function openPaystackPopup(config: PaystackConfig): Promise<void>;
225
-
226
- export { PaymentError }
227
-
228
- export { PaymentIntent }
229
-
230
- export { PaymentMethod }
231
-
232
- export { PaymentResult }
233
-
234
- export declare interface PaystackConfig {
235
- key: string;
236
- email: string;
237
- amount: number;
238
- currency: string;
239
- ref: string;
240
- metadata?: Record<string, unknown>;
241
- onSuccess: (response: {
242
- reference: string;
243
- [key: string]: unknown;
244
- }) => void;
245
- onClose: () => void;
246
- }
247
-
248
- export { PSPType }
249
-
250
- export { ReevitAction }
251
-
252
- export { ReevitAPIClient }
253
-
254
- export { ReevitCheckoutCallbacks }
255
-
256
- export { ReevitCheckoutConfig }
257
-
258
- export { reevitReducer }
259
-
260
- export { ReevitState }
261
-
262
- export declare type ReevitStore = ReturnType<typeof createReevitStore>;
263
-
264
- export { ReevitTheme }
265
-
266
- declare interface StripeCardElement {
267
- mount: (selector: string | HTMLElement) => void;
268
- unmount: () => void;
269
- on: (event: string, handler: (e: any) => void) => void;
270
- destroy: () => void;
271
- }
272
-
273
- export declare interface StripeConfig {
274
- publishableKey: string;
275
- clientSecret: string;
276
- appearance?: {
277
- theme?: 'stripe' | 'night' | 'flat';
278
- variables?: Record<string, string>;
279
- };
280
- onSuccess: (response: {
281
- paymentIntentId: string;
282
- status: string;
283
- }) => void;
284
- onError: (error: {
285
- message: string;
286
- }) => void;
287
- }
288
-
289
- declare interface StripeElements {
290
- create: (type: string, options?: Record<string, unknown>) => StripeCardElement;
291
- getElement: (type: string) => StripeCardElement | null;
292
- }
293
-
294
- declare interface StripeInstance {
295
- elements: () => StripeElements;
296
- confirmCardPayment: (clientSecret: string, data?: {
297
- payment_method?: string | {
298
- card: StripeCardElement;
299
- };
300
- }) => Promise<{
301
- error?: {
302
- message: string;
303
- };
304
- paymentIntent?: {
305
- id: string;
306
- status: string;
307
- };
308
- }>;
309
- confirmPayment: (options: {
310
- elements: StripeElements;
311
- clientSecret: string;
312
- confirmParams?: {
313
- return_url?: string;
314
- };
315
- redirect?: 'if_required';
316
- }) => Promise<{
317
- error?: {
318
- message: string;
319
- };
320
- paymentIntent?: {
321
- id: string;
322
- status: string;
323
- };
324
- }>;
325
- }
326
-
327
- declare type Subscriber<T> = (value: T) => void;
328
-
329
- export { SvelteComponent as MobileMoneyForm }
330
- export { SvelteComponent as PaymentMethodSelector }
331
- export { SvelteComponent as ReevitCheckout }
332
-
333
- declare type Unsubscriber = () => void;
334
-
335
- export { validatePhone }
336
-
337
- export { }
1
+ export { default as ReevitCheckout } from './components/ReevitCheckout.svelte';
2
+ export { default as PaymentMethodSelector } from './components/PaymentMethodSelector.svelte';
3
+ export { default as MobileMoneyForm } from './components/MobileMoneyForm.svelte';
4
+ export { createReevitStore, type ReevitStore } from './stores';
5
+ export type { PaymentMethod, MobileMoneyNetwork, ReevitCheckoutConfig, ReevitCheckoutCallbacks, CheckoutState, PaymentResult, PaymentError, ReevitTheme, MobileMoneyFormData, PaymentIntent, PSPType, ReevitState, ReevitAction, } from '../../core/dist/index.d.ts';
6
+ export { formatAmount, validatePhone, detectNetwork, formatPhone, detectCountryFromCurrency, cn, ReevitAPIClient, createReevitClient, createInitialState, reevitReducer, } from '../../core/dist/index.d.ts';
7
+ export { loadPaystackScript, loadHubtelScript, loadFlutterwaveScript, loadStripeScript, loadMonnifyScript, openPaystackPopup, openHubtelPopup, openFlutterwaveModal, createStripeInstance, confirmStripePayment, openMonnifyModal, initiateMPesaSTKPush, type PaystackConfig, type HubtelConfig, type FlutterwaveConfig, type StripeConfig, type MonnifyConfig, type MPesaConfig, type MPesaSTKPushResult, } from './bridges';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,cAAc,CAAC;AAGtB,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAC7F,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAGjF,OAAO,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAG/D,YAAY,EACV,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,OAAO,EACP,WAAW,EACX,YAAY,GACb,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,YAAY,EACZ,aAAa,EACb,aAAa,EACb,WAAW,EACX,yBAAyB,EACzB,EAAE,EACF,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,GACd,MAAM,cAAc,CAAC;AAGtB,OAAO,EAEL,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EAGjB,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EAGpB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,kBAAkB,GACxB,MAAM,WAAW,CAAC"}