@amalaika/form-sdk-package 1.0.1 → 1.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.
Files changed (84) hide show
  1. package/README.md +193 -239
  2. package/dist/cjs/client/index.d.ts +28 -3
  3. package/dist/cjs/client/index.d.ts.map +1 -1
  4. package/dist/cjs/client/index.js +158 -96
  5. package/dist/cjs/client/index.js.map +1 -1
  6. package/dist/cjs/i18n/en.json +7 -0
  7. package/dist/cjs/i18n/fr.json +7 -0
  8. package/dist/cjs/i18n/index.d.ts +2 -0
  9. package/dist/cjs/i18n/index.d.ts.map +1 -0
  10. package/dist/cjs/i18n/index.js +15 -0
  11. package/dist/cjs/i18n/index.js.map +1 -0
  12. package/dist/cjs/i18n/rw.json +7 -0
  13. package/dist/cjs/index.d.ts +3 -2
  14. package/dist/cjs/index.d.ts.map +1 -1
  15. package/dist/cjs/index.js +6 -1
  16. package/dist/cjs/index.js.map +1 -1
  17. package/dist/cjs/integrations/checkout-script.d.ts +10 -0
  18. package/dist/cjs/integrations/checkout-script.d.ts.map +1 -0
  19. package/dist/cjs/integrations/checkout-script.js +38 -0
  20. package/dist/cjs/integrations/checkout-script.js.map +1 -0
  21. package/dist/cjs/integrations/index.d.ts +5 -0
  22. package/dist/cjs/integrations/index.d.ts.map +1 -0
  23. package/dist/cjs/integrations/index.js +49 -0
  24. package/dist/cjs/integrations/index.js.map +1 -0
  25. package/dist/cjs/integrations/mastercard.d.ts +11 -0
  26. package/dist/cjs/integrations/mastercard.d.ts.map +1 -0
  27. package/dist/cjs/integrations/mastercard.js +100 -0
  28. package/dist/cjs/integrations/mastercard.js.map +1 -0
  29. package/dist/cjs/integrations/types.d.ts +31 -0
  30. package/dist/cjs/integrations/types.d.ts.map +1 -0
  31. package/dist/cjs/integrations/types.js +3 -0
  32. package/dist/cjs/integrations/types.js.map +1 -0
  33. package/dist/cjs/state/index.d.ts +12 -1
  34. package/dist/cjs/state/index.d.ts.map +1 -1
  35. package/dist/cjs/state/index.js +26 -2
  36. package/dist/cjs/state/index.js.map +1 -1
  37. package/dist/cjs/types/index.d.ts +55 -2
  38. package/dist/cjs/types/index.d.ts.map +1 -1
  39. package/dist/cjs/utils/index.d.ts +12 -1
  40. package/dist/cjs/utils/index.d.ts.map +1 -1
  41. package/dist/cjs/utils/index.js +39 -0
  42. package/dist/cjs/utils/index.js.map +1 -1
  43. package/dist/esm/client/index.d.ts +28 -3
  44. package/dist/esm/client/index.d.ts.map +1 -1
  45. package/dist/esm/client/index.js +158 -96
  46. package/dist/esm/client/index.js.map +1 -1
  47. package/dist/esm/i18n/en.json +7 -0
  48. package/dist/esm/i18n/fr.json +7 -0
  49. package/dist/esm/i18n/index.d.ts +2 -0
  50. package/dist/esm/i18n/index.d.ts.map +1 -0
  51. package/dist/esm/i18n/index.js +9 -0
  52. package/dist/esm/i18n/index.js.map +1 -0
  53. package/dist/esm/i18n/rw.json +7 -0
  54. package/dist/esm/index.d.ts +3 -2
  55. package/dist/esm/index.d.ts.map +1 -1
  56. package/dist/esm/index.js +2 -1
  57. package/dist/esm/index.js.map +1 -1
  58. package/dist/esm/integrations/checkout-script.d.ts +10 -0
  59. package/dist/esm/integrations/checkout-script.d.ts.map +1 -0
  60. package/dist/esm/integrations/checkout-script.js +35 -0
  61. package/dist/esm/integrations/checkout-script.js.map +1 -0
  62. package/dist/esm/integrations/index.d.ts +5 -0
  63. package/dist/esm/integrations/index.d.ts.map +1 -0
  64. package/dist/esm/integrations/index.js +11 -0
  65. package/dist/esm/integrations/index.js.map +1 -0
  66. package/dist/esm/integrations/mastercard.d.ts +11 -0
  67. package/dist/esm/integrations/mastercard.d.ts.map +1 -0
  68. package/dist/esm/integrations/mastercard.js +97 -0
  69. package/dist/esm/integrations/mastercard.js.map +1 -0
  70. package/dist/esm/integrations/types.d.ts +31 -0
  71. package/dist/esm/integrations/types.d.ts.map +1 -0
  72. package/dist/esm/integrations/types.js +2 -0
  73. package/dist/esm/integrations/types.js.map +1 -0
  74. package/dist/esm/state/index.d.ts +12 -1
  75. package/dist/esm/state/index.d.ts.map +1 -1
  76. package/dist/esm/state/index.js +27 -3
  77. package/dist/esm/state/index.js.map +1 -1
  78. package/dist/esm/types/index.d.ts +55 -2
  79. package/dist/esm/types/index.d.ts.map +1 -1
  80. package/dist/esm/utils/index.d.ts +12 -1
  81. package/dist/esm/utils/index.d.ts.map +1 -1
  82. package/dist/esm/utils/index.js +36 -0
  83. package/dist/esm/utils/index.js.map +1 -1
  84. package/package.json +2 -4
@@ -1,9 +1,10 @@
1
- import { firstValueFrom } from "rxjs";
2
- import { ajax, AjaxError } from "rxjs/ajax";
1
+ import { getAllFields, resolveIntegrations, getVisibleFieldIds } from "../utils/index.js";
2
+ import { getIntegrationHandler, loadCheckoutScript } from "../integrations/index.js";
3
3
  const DEFAULT_API_BASE = "https://api.eventsfactory.rw/api";
4
4
  const DEFAULT_ERROR_MESSAGES = {
5
5
  fetchTickets: "Failed to fetch tickets",
6
6
  fetchTicketById: "Ticket not found",
7
+ fetchPublicTicket: "Ticket not found",
7
8
  fetchLanguages: "Failed to fetch languages",
8
9
  fetchForm: "Form not found",
9
10
  authorizeUpload: "Upload authorization failed",
@@ -22,10 +23,20 @@ function getHeaders(locale, origin, noCache) {
22
23
  headers["Cache-Control"] = "no-cache";
23
24
  return headers;
24
25
  }
26
+ class HttpError extends Error {
27
+ status;
28
+ body;
29
+ constructor(status, body, message) {
30
+ super(message ?? `Request failed with status ${status}`);
31
+ this.name = "HttpError";
32
+ this.status = status;
33
+ this.body = body;
34
+ }
35
+ }
25
36
  function extractErrorMessage(error, fallback, status) {
26
37
  let message = fallback;
27
- if (error instanceof AjaxError) {
28
- const body = error.response;
38
+ if (error instanceof HttpError) {
39
+ const body = error.body;
29
40
  message = body?.message || fallback;
30
41
  }
31
42
  else if (error instanceof Error) {
@@ -44,6 +55,8 @@ export class EventFormClient {
44
55
  cacheConfig;
45
56
  noCache;
46
57
  interceptors;
58
+ mastercardCheckoutUrl;
59
+ merchantName;
47
60
  cache = new Map();
48
61
  locale;
49
62
  constructor(config) {
@@ -64,6 +77,8 @@ export class EventFormClient {
64
77
  };
65
78
  this.noCache = config.noCache ?? false;
66
79
  this.interceptors = config.interceptors;
80
+ this.mastercardCheckoutUrl = config.mastercardCheckoutUrl;
81
+ this.merchantName = config.merchantName;
67
82
  }
68
83
  setLocale(locale) {
69
84
  this.locale = locale;
@@ -71,6 +86,15 @@ export class EventFormClient {
71
86
  getLocale() {
72
87
  return this.locale;
73
88
  }
89
+ /**
90
+ * Preload the Mastercard Checkout.js script so it's ready when payment starts.
91
+ * Call this early (e.g. on page load) to avoid skeleton delay.
92
+ */
93
+ preloadCheckoutScript() {
94
+ const url = this.mastercardCheckoutUrl
95
+ ?? "https://ap-gateway.mastercard.com/static/checkout/checkout.min.js";
96
+ return loadCheckoutScript(url);
97
+ }
74
98
  clearCache() {
75
99
  this.cache.clear();
76
100
  }
@@ -118,19 +142,64 @@ export class EventFormClient {
118
142
  }
119
143
  return error;
120
144
  }
145
+ throwMapped(error, fallback) {
146
+ const processed = this.applyErrorInterceptor(error);
147
+ const status = processed instanceof HttpError ? processed.status : 0;
148
+ throw new Error(extractErrorMessage(processed, fallback, status), { cause: error });
149
+ }
150
+ async cachedGet(url, locale, fallback) {
151
+ const cached = this.getCached(url);
152
+ if (cached)
153
+ return cached;
154
+ try {
155
+ const res = await this.executeRequest({
156
+ url,
157
+ method: "GET",
158
+ headers: getHeaders(locale, this.origin, this.noCache),
159
+ timeout: this.timeout,
160
+ });
161
+ const data = this.applyResponseInterceptor(res.data);
162
+ this.setCache(url, data);
163
+ return data;
164
+ }
165
+ catch (error) {
166
+ this.throwMapped(error, fallback);
167
+ }
168
+ }
121
169
  isRetryable(error) {
122
- if (error instanceof AjaxError) {
170
+ if (error instanceof HttpError) {
123
171
  return error.status >= 500 || error.status === 0;
124
172
  }
125
- return !(error instanceof AjaxError);
173
+ return true;
126
174
  }
127
175
  async executeRequest(config) {
128
176
  const intercepted = this.applyRequestInterceptor(config);
129
177
  let lastError;
130
178
  for (let attempt = 0; attempt <= this.retryConfig.maxRetries; attempt++) {
131
179
  try {
132
- const result = await firstValueFrom(ajax({ ...intercepted, crossDomain: true }));
133
- return result;
180
+ const controller = new AbortController();
181
+ const timeoutId = intercepted.timeout
182
+ ? setTimeout(() => controller.abort(), intercepted.timeout)
183
+ : undefined;
184
+ const isFormData = typeof FormData !== "undefined" && intercepted.body instanceof FormData;
185
+ const fetchInit = {
186
+ method: intercepted.method,
187
+ headers: intercepted.headers,
188
+ signal: controller.signal,
189
+ };
190
+ if (intercepted.body !== undefined) {
191
+ fetchInit.body = isFormData
192
+ ? intercepted.body
193
+ : JSON.stringify(intercepted.body);
194
+ }
195
+ const res = await fetch(intercepted.url, fetchInit);
196
+ if (timeoutId)
197
+ clearTimeout(timeoutId);
198
+ const body = await res.json();
199
+ if (!res.ok) {
200
+ throw new HttpError(res.status, body);
201
+ }
202
+ return body;
134
203
  }
135
204
  catch (error) {
136
205
  lastError = error;
@@ -151,49 +220,15 @@ export class EventFormClient {
151
220
  url.searchParams.set("locale", effectiveLocale);
152
221
  if (options?.name)
153
222
  url.searchParams.set("name", options.name);
154
- const urlStr = url.toString();
155
- const cached = this.getCached(urlStr);
156
- if (cached)
157
- return cached;
158
- try {
159
- const res = await this.executeRequest({
160
- url: urlStr,
161
- method: "GET",
162
- headers: getHeaders(effectiveLocale, this.origin, this.noCache),
163
- timeout: this.timeout,
164
- });
165
- const data = this.applyResponseInterceptor(res.response.data);
166
- this.setCache(urlStr, data);
167
- return data;
168
- }
169
- catch (error) {
170
- const processed = this.applyErrorInterceptor(error);
171
- const status = processed instanceof AjaxError ? processed.status : 0;
172
- throw new Error(extractErrorMessage(processed, this.messages.fetchTickets, status), { cause: error });
173
- }
223
+ return this.cachedGet(url.toString(), effectiveLocale, this.messages.fetchTickets);
174
224
  }
175
225
  async fetchTicketById(id, locale) {
176
226
  const effectiveLocale = locale ?? this.locale;
177
- const urlStr = `${this.apiBase}/events/tickets/${id}`;
178
- const cached = this.getCached(urlStr);
179
- if (cached)
180
- return cached;
181
- try {
182
- const res = await this.executeRequest({
183
- url: urlStr,
184
- method: "GET",
185
- headers: getHeaders(effectiveLocale, this.origin, this.noCache),
186
- timeout: this.timeout,
187
- });
188
- const data = this.applyResponseInterceptor(res.response.data);
189
- this.setCache(urlStr, data);
190
- return data;
191
- }
192
- catch (error) {
193
- const processed = this.applyErrorInterceptor(error);
194
- const status = processed instanceof AjaxError ? processed.status : 0;
195
- throw new Error(extractErrorMessage(processed, this.messages.fetchTicketById, status), { cause: error });
196
- }
227
+ return this.cachedGet(`${this.apiBase}/events/tickets/${id}/public`, effectiveLocale, this.messages.fetchTicketById);
228
+ }
229
+ async fetchPublicTicket(id, locale) {
230
+ const effectiveLocale = locale ?? this.locale;
231
+ return this.cachedGet(`${this.apiBase}/tickets/${id}/public`, effectiveLocale, this.messages.fetchPublicTicket);
197
232
  }
198
233
  async fetchLanguages() {
199
234
  const urlStr = `${this.apiBase}/events/onboarding/main-info/${this.apiKey}/languages`;
@@ -207,39 +242,18 @@ export class EventFormClient {
207
242
  timeout: this.timeout,
208
243
  headers: getHeaders(undefined, this.origin, this.noCache),
209
244
  });
210
- const sorted = res.response.data.sort((a, b) => a.isDefault === b.isDefault ? 0 : a.isDefault ? -1 : 1);
245
+ const sorted = res.data.sort((a, b) => a.isDefault === b.isDefault ? 0 : a.isDefault ? -1 : 1);
211
246
  const data = this.applyResponseInterceptor(sorted.map((l) => l.languageCode));
212
247
  this.setCache(urlStr, data);
213
248
  return data;
214
249
  }
215
250
  catch (error) {
216
- const processed = this.applyErrorInterceptor(error);
217
- const status = processed instanceof AjaxError ? processed.status : 0;
218
- throw new Error(extractErrorMessage(processed, this.messages.fetchLanguages, status), { cause: error });
251
+ this.throwMapped(error, this.messages.fetchLanguages);
219
252
  }
220
253
  }
221
254
  async fetchForm(ticketId, locale) {
222
255
  const effectiveLocale = locale ?? this.locale;
223
- const urlStr = `${this.apiBase}/application/forms/ticketing/${ticketId}/public`;
224
- const cached = this.getCached(urlStr);
225
- if (cached)
226
- return cached;
227
- try {
228
- const res = await this.executeRequest({
229
- url: urlStr,
230
- method: "GET",
231
- headers: getHeaders(effectiveLocale, this.origin, this.noCache),
232
- timeout: this.timeout,
233
- });
234
- const data = this.applyResponseInterceptor(res.response.data);
235
- this.setCache(urlStr, data);
236
- return data;
237
- }
238
- catch (error) {
239
- const processed = this.applyErrorInterceptor(error);
240
- const status = processed instanceof AjaxError ? processed.status : 0;
241
- throw new Error(extractErrorMessage(processed, this.messages.fetchForm, status), { cause: error });
242
- }
256
+ return this.cachedGet(`${this.apiBase}/application/forms/ticketing/${ticketId}/public`, effectiveLocale, this.messages.fetchForm);
243
257
  }
244
258
  async authorizeUpload(formId, fieldId, file, locale) {
245
259
  const effectiveLocale = locale ?? this.locale;
@@ -259,12 +273,10 @@ export class EventFormClient {
259
273
  },
260
274
  timeout: this.timeout,
261
275
  });
262
- return this.applyResponseInterceptor(res.response.data.uploadToken);
276
+ return this.applyResponseInterceptor(res.data.uploadToken);
263
277
  }
264
278
  catch (error) {
265
- const processed = this.applyErrorInterceptor(error);
266
- const status = processed instanceof AjaxError ? processed.status : 0;
267
- throw new Error(extractErrorMessage(processed, this.messages.authorizeUpload, status), { cause: error });
279
+ this.throwMapped(error, this.messages.authorizeUpload);
268
280
  }
269
281
  }
270
282
  async uploadFile(formId, token, file, locale) {
@@ -280,39 +292,89 @@ export class EventFormClient {
280
292
  body,
281
293
  timeout: this.timeout,
282
294
  });
283
- return this.applyResponseInterceptor(res.response.data.url);
295
+ return this.applyResponseInterceptor(res.data.url);
284
296
  }
285
297
  catch (error) {
286
- const processed = this.applyErrorInterceptor(error);
287
- const status = processed instanceof AjaxError ? processed.status : 0;
288
- throw new Error(extractErrorMessage(processed, this.messages.uploadFile, status), { cause: error });
298
+ this.throwMapped(error, this.messages.uploadFile);
289
299
  }
290
300
  }
291
- async submitForm(formId, data, context) {
301
+ /**
302
+ * Submits the form to the backend first, then conditionally runs payment
303
+ * integrations if the response indicates payment is required.
304
+ *
305
+ * If an integration fails after submission, the failure is returned in the
306
+ * result (not thrown), since the submission is already saved on the backend.
307
+ */
308
+ async submitForm(form, data, context) {
292
309
  const effectiveLocale = context.locale ?? this.locale;
310
+ const headers = getHeaders(effectiveLocale, this.origin, this.noCache);
311
+ const settled = [];
312
+ let submission;
293
313
  try {
314
+ const body = {
315
+ data,
316
+ eventId: context.eventId,
317
+ resourceType: this.resourceType,
318
+ resourceId: context.ticketId,
319
+ attendanceType: context.attendanceType ?? undefined,
320
+ };
321
+ if (context.additionalAttendees?.length) {
322
+ body.additionalAttendees = context.additionalAttendees;
323
+ }
294
324
  const res = await this.executeRequest({
295
- url: `${this.apiBase}/application/forms/${formId}/submissions`,
325
+ url: `${this.apiBase}/application/forms/${form.id}/submissions`,
296
326
  method: "POST",
297
- headers: {
298
- ...getHeaders(effectiveLocale, this.origin, this.noCache),
299
- "Content-Type": "application/json",
300
- },
301
- body: {
302
- data,
303
- eventId: context.eventId,
304
- resourceType: this.resourceType,
305
- resourceId: context.ticketId,
306
- },
327
+ headers: { ...headers, "Content-Type": "application/json" },
328
+ body,
307
329
  timeout: this.timeout,
308
330
  });
309
- this.applyResponseInterceptor(res.response);
331
+ submission = this.applyResponseInterceptor(res.data);
310
332
  }
311
333
  catch (error) {
312
- const processed = this.applyErrorInterceptor(error);
313
- const status = processed instanceof AjaxError ? processed.status : 0;
314
- throw new Error(extractErrorMessage(processed, this.messages.submitForm, status), { cause: error });
334
+ this.throwMapped(error, this.messages.submitForm);
335
+ }
336
+ if (submission.payment?.requiresPayment) {
337
+ const allFields = getAllFields(form.schema);
338
+ const visibleIds = getVisibleFieldIds(allFields, data);
339
+ const visibleFields = allFields.filter((f) => visibleIds.has(f.id));
340
+ const pending = resolveIntegrations(visibleFields, data);
341
+ for (const entry of pending) {
342
+ const handler = await getIntegrationHandler(entry.methodName);
343
+ if (!handler) {
344
+ settled.push({
345
+ ...entry,
346
+ result: { success: false, error: `Unknown integration method: ${entry.methodName}` },
347
+ });
348
+ continue;
349
+ }
350
+ try {
351
+ const result = await handler({
352
+ apiBase: this.apiBase,
353
+ headers,
354
+ methodName: entry.methodName,
355
+ formData: data,
356
+ eventId: context.eventId,
357
+ resourceId: context.ticketId,
358
+ resourceType: this.resourceType,
359
+ locale: effectiveLocale,
360
+ sessionId: submission.payment.session_id,
361
+ orderId: submission.payment.order_id,
362
+ containerId: context.containerId,
363
+ checkoutUrl: this.mastercardCheckoutUrl,
364
+ merchantName: this.merchantName,
365
+ });
366
+ settled.push({ ...entry, result });
367
+ }
368
+ catch (err) {
369
+ const errorMessage = err instanceof Error ? err.message : "Integration failed";
370
+ settled.push({
371
+ ...entry,
372
+ result: { success: false, error: errorMessage },
373
+ });
374
+ }
375
+ }
315
376
  }
377
+ return { submission, integrations: settled };
316
378
  }
317
379
  }
318
380
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ {
2
+ "mastercard_not_configured": "Mastercard payment gateway is not configured yet",
3
+ "mastercard_payment_failed": "Payment failed. Please try again",
4
+ "mastercard_cancelled": "Payment cancelled by user",
5
+ "mastercard_script_load_failed": "Failed to load payment gateway. Please refresh and try again",
6
+ "mastercard_missing_session": "Payment session information is missing"
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "mastercard_not_configured": "La passerelle de paiement Mastercard n'est pas encore configurée",
3
+ "mastercard_payment_failed": "Le paiement a échoué. Veuillez réessayer",
4
+ "mastercard_cancelled": "Paiement annulé par l'utilisateur",
5
+ "mastercard_script_load_failed": "Échec du chargement de la passerelle de paiement. Veuillez rafraîchir et réessayer",
6
+ "mastercard_missing_session": "Les informations de session de paiement sont manquantes"
7
+ }
@@ -0,0 +1,2 @@
1
+ export declare function t(key: string, locale?: string): string;
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/i18n/index.ts"],"names":[],"mappings":"AAMA,wBAAgB,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAGtD"}
@@ -0,0 +1,9 @@
1
+ import en from "./en.json";
2
+ import fr from "./fr.json";
3
+ import rw from "./rw.json";
4
+ const catalogs = { en, fr, rw };
5
+ export function t(key, locale) {
6
+ const lang = locale ?? "en";
7
+ return catalogs[lang]?.[key] ?? catalogs.en[key] ?? key;
8
+ }
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/i18n/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,WAAW,CAAC;AAC3B,OAAO,EAAE,MAAM,WAAW,CAAC;AAC3B,OAAO,EAAE,MAAM,WAAW,CAAC;AAE3B,MAAM,QAAQ,GAA2C,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAExE,MAAM,UAAU,CAAC,CAAC,GAAW,EAAE,MAAe;IAC5C,MAAM,IAAI,GAAG,MAAM,IAAI,IAAI,CAAC;IAC5B,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;AAC1D,CAAC"}
@@ -0,0 +1,7 @@
1
+ {
2
+ "mastercard_not_configured": "Ubwishyu bwa Mastercard ntiburacungurwa",
3
+ "mastercard_payment_failed": "Kwishyura byanze. Ongera ugerageze",
4
+ "mastercard_cancelled": "Kwishyura byahagaritswe n'ukoresha",
5
+ "mastercard_script_load_failed": "Gufungura ubwishyu byanze. Ongera ugerageze nyuma yo gusubiramo",
6
+ "mastercard_missing_session": "Amakuru y'ubwishyu abuze"
7
+ }
@@ -1,5 +1,6 @@
1
1
  export { EventFormClient } from "./client/index.js";
2
- export { getAllFields, isFieldVisible, getVisibleFieldIds, validateField, validateForm, } from "./utils/index.js";
2
+ export { getAllFields, isFieldVisible, getVisibleFieldIds, validateField, validateForm, hasIntegration, getIntegrationMethod, resolveIntegrations, } from "./utils/index.js";
3
3
  export { FormStateManager } from "./state/index.js";
4
- export type { ErrorMessages, EventFormConfig, FieldOption, FieldDefinition, StepDefinition, FormSchema, FormData, ApiResponse, TicketTranslation, Ticket, ValidationResult, } from "./types/index.js";
4
+ export { loadCheckoutScript } from "./integrations/index.js";
5
+ export type { AdditionalAttendee, ErrorMessages, EventFormConfig, FieldOption, FieldDefinition, StepDefinition, FormSchema, FormData, ApiResponse, TicketTranslation, Ticket, ValidationResult, IntegrationResult, ResolvedIntegration, PaymentInfo, SubmissionResponse, } from "./types/index.js";
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EACL,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,YAAY,GACb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,YAAY,EACV,aAAa,EACb,eAAe,EACf,WAAW,EACX,eAAe,EACf,cAAc,EACd,UAAU,EACV,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,MAAM,EACN,gBAAgB,GACjB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EACL,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,cAAc,EACd,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,YAAY,EACV,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,WAAW,EACX,eAAe,EACf,cAAc,EACd,UAAU,EACV,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,MAAM,EACN,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,kBAAkB,GACnB,MAAM,kBAAkB,CAAC"}
package/dist/esm/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export { EventFormClient } from "./client/index.js";
2
- export { getAllFields, isFieldVisible, getVisibleFieldIds, validateField, validateForm, } from "./utils/index.js";
2
+ export { getAllFields, isFieldVisible, getVisibleFieldIds, validateField, validateForm, hasIntegration, getIntegrationMethod, resolveIntegrations, } from "./utils/index.js";
3
3
  export { FormStateManager } from "./state/index.js";
4
+ export { loadCheckoutScript } from "./integrations/index.js";
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EACL,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,YAAY,GACb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EACL,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,cAAc,EACd,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,10 @@
1
+ declare global {
2
+ interface Window {
3
+ Checkout?: {
4
+ configure: (config: Record<string, unknown>) => void;
5
+ showEmbeddedPage: (target: string) => void;
6
+ };
7
+ }
8
+ }
9
+ export declare function loadCheckoutScript(scriptUrl: string): Promise<void>;
10
+ //# sourceMappingURL=checkout-script.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkout-script.d.ts","sourceRoot":"","sources":["../../../src/integrations/checkout-script.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,QAAQ,CAAC,EAAE;YACT,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;YACrD,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;SAC5C,CAAC;KACH;CACF;AAMD,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoCnE"}
@@ -0,0 +1,35 @@
1
+ const SCRIPT_LOAD_TIMEOUT_MS = 15_000;
2
+ let scriptLoadPromise = null;
3
+ export function loadCheckoutScript(scriptUrl) {
4
+ if (scriptLoadPromise)
5
+ return scriptLoadPromise;
6
+ if (window.Checkout)
7
+ return Promise.resolve();
8
+ scriptLoadPromise = new Promise((resolve, reject) => {
9
+ if (typeof document === "undefined") {
10
+ reject(new Error("Cannot load script in non-browser environment"));
11
+ return;
12
+ }
13
+ const script = document.createElement("script");
14
+ script.src = scriptUrl;
15
+ script.setAttribute("data-error", "errorCallback");
16
+ script.setAttribute("data-cancel", "cancelCallback");
17
+ script.setAttribute("data-complete", "completeCallback");
18
+ const timeout = setTimeout(() => {
19
+ scriptLoadPromise = null;
20
+ reject(new Error("Script load timed out"));
21
+ }, SCRIPT_LOAD_TIMEOUT_MS);
22
+ script.onload = () => {
23
+ clearTimeout(timeout);
24
+ resolve();
25
+ };
26
+ script.onerror = () => {
27
+ clearTimeout(timeout);
28
+ scriptLoadPromise = null;
29
+ reject(new Error("Failed to load Mastercard Checkout script"));
30
+ };
31
+ document.head.appendChild(script);
32
+ });
33
+ return scriptLoadPromise;
34
+ }
35
+ //# sourceMappingURL=checkout-script.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkout-script.js","sourceRoot":"","sources":["../../../src/integrations/checkout-script.ts"],"names":[],"mappings":"AASA,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAEtC,IAAI,iBAAiB,GAAyB,IAAI,CAAC;AAEnD,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,IAAI,iBAAiB;QAAE,OAAO,iBAAiB,CAAC;IAChD,IAAI,MAAM,CAAC,QAAQ;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAE9C,iBAAiB,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACxD,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC,CAAC;YACnE,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,CAAC,GAAG,GAAG,SAAS,CAAC;QACvB,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QACnD,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;QACrD,MAAM,CAAC,YAAY,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;QAEzD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,iBAAiB,GAAG,IAAI,CAAC;YACzB,MAAM,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAC7C,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAE3B,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE;YACnB,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QAEF,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE;YACpB,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,iBAAiB,GAAG,IAAI,CAAC;YACzB,MAAM,CAAC,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC,CAAC;QACjE,CAAC,CAAC;QAEF,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,OAAO,iBAAiB,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { IntegrationHandler } from "./types.js";
2
+ export declare function getIntegrationHandler(methodName: string): Promise<IntegrationHandler | undefined>;
3
+ export { loadCheckoutScript } from "./checkout-script.js";
4
+ export type { IntegrationHandler, IntegrationHandlerParams } from "./types.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/integrations/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAOrD,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAIzC;AAED,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,11 @@
1
+ const registry = {
2
+ mastercard_payment_gateway: () => import("./mastercard.js").then((m) => m.mastercardPaymentGateway),
3
+ };
4
+ export async function getIntegrationHandler(methodName) {
5
+ const loader = registry[methodName];
6
+ if (!loader)
7
+ return undefined;
8
+ return loader();
9
+ }
10
+ export { loadCheckoutScript } from "./checkout-script.js";
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integrations/index.ts"],"names":[],"mappings":"AAEA,MAAM,QAAQ,GAAsD;IAClE,0BAA0B,EAAE,GAAG,EAAE,CAC/B,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC;CACpE,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,UAAkB;IAElB,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,OAAO,MAAM,EAAE,CAAC;AAClB,CAAC;AAED,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { IntegrationResult } from "../types/index.js";
2
+ import type { IntegrationHandlerParams } from "./types.js";
3
+ declare global {
4
+ interface Window {
5
+ completeCallback?: (result: Record<string, unknown>) => void;
6
+ errorCallback?: (error: Record<string, unknown>) => void;
7
+ cancelCallback?: () => void;
8
+ }
9
+ }
10
+ export declare function mastercardPaymentGateway(params: IntegrationHandlerParams): Promise<IntegrationResult>;
11
+ //# sourceMappingURL=mastercard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mastercard.d.ts","sourceRoot":"","sources":["../../../src/integrations/mastercard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAG3D,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;QAC7D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;QACzD,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;KAC7B;CACF;AAyDD,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CAqE5B"}