@lightspeed/online-payments-sdk 1.5.0 → 1.6.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/cjs/v1/EventBroadcaster.js +3 -0
- package/dist/cjs/v1/stripe/shared.js +15 -2
- package/dist/cjs/version.js +1 -1
- package/dist/v1/EventBroadcaster.d.ts +4 -1
- package/dist/v1/EventBroadcaster.js +3 -0
- package/dist/v1/stripe/shared.d.ts +2 -0
- package/dist/v1/stripe/shared.js +15 -2
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
|
@@ -33,6 +33,9 @@ var EventBroadcaster = /** @class */ (function () {
|
|
|
33
33
|
if ('paymentMethodType' in event && event.paymentMethodType) {
|
|
34
34
|
externalEvent.paymentMethodType = event.paymentMethodType;
|
|
35
35
|
}
|
|
36
|
+
if ('saveCheckboxChecked' in event && event.saveCheckboxChecked !== undefined) {
|
|
37
|
+
externalEvent.saveCheckboxChecked = event.saveCheckboxChecked;
|
|
38
|
+
}
|
|
36
39
|
return externalEvent;
|
|
37
40
|
};
|
|
38
41
|
EventBroadcaster.prototype.registerMiddleware = function (middleware) {
|
|
@@ -222,17 +222,22 @@ function createPaymentElement(elements, options, mountElement, eventBroadcaster)
|
|
|
222
222
|
* When addressElement is provided (payment form): emits "Complete" only when BOTH elements are complete,
|
|
223
223
|
* and "Incomplete" when at least one element becomes incomplete.
|
|
224
224
|
* When addressElement is not provided (MOTO form): emits based on payment element completion only.
|
|
225
|
+
* Also includes the current save-payment-method checkbox state (when present) on every Change event,
|
|
226
|
+
* and emits a Change event when that checkbox state changes.
|
|
225
227
|
*/
|
|
226
228
|
function setupChangeEventHandler(paymentElement, eventBroadcaster, addressElement) {
|
|
227
229
|
var paymentComplete = false;
|
|
228
230
|
var addressComplete = !addressElement; // If no address element, consider it complete
|
|
229
231
|
var previousComplete = null;
|
|
230
232
|
var previousMethodType;
|
|
233
|
+
var previousSaveCheckboxState; // Track save checkbox state
|
|
231
234
|
var emitChangeEvent = function () {
|
|
232
235
|
var complete = paymentComplete && addressComplete;
|
|
233
236
|
previousComplete = complete;
|
|
234
|
-
eventBroadcaster.publish(__assign({ status: 'Change', code: complete ? 'Complete' : 'Incomplete' }, (previousMethodType && {
|
|
237
|
+
eventBroadcaster.publish(__assign(__assign({ status: 'Change', code: complete ? 'Complete' : 'Incomplete' }, (previousMethodType && {
|
|
235
238
|
paymentMethodType: previousMethodType,
|
|
239
|
+
})), (previousSaveCheckboxState !== undefined && {
|
|
240
|
+
saveCheckboxChecked: previousSaveCheckboxState,
|
|
236
241
|
})));
|
|
237
242
|
};
|
|
238
243
|
paymentElement.on('change', function (event) {
|
|
@@ -244,7 +249,15 @@ function setupChangeEventHandler(paymentElement, eventBroadcaster, addressElemen
|
|
|
244
249
|
if (methodType !== undefined) {
|
|
245
250
|
previousMethodType = methodType;
|
|
246
251
|
}
|
|
247
|
-
|
|
252
|
+
// Check for save checkbox state from Stripe's value object
|
|
253
|
+
// The value object may contain a `savePaymentMethod` property
|
|
254
|
+
var saveCheckboxChanged = false;
|
|
255
|
+
if (event.value && typeof event.value === 'object' && 'savePaymentMethod' in event.value) {
|
|
256
|
+
var saveCheckboxState = event.value.savePaymentMethod;
|
|
257
|
+
saveCheckboxChanged = previousSaveCheckboxState !== saveCheckboxState;
|
|
258
|
+
previousSaveCheckboxState = saveCheckboxState;
|
|
259
|
+
}
|
|
260
|
+
if (completenessChanged || methodTypeChanged || saveCheckboxChanged) {
|
|
248
261
|
emitChangeEvent();
|
|
249
262
|
}
|
|
250
263
|
});
|
package/dist/cjs/version.js
CHANGED
|
@@ -3,4 +3,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.SDK_VERSION = void 0;
|
|
4
4
|
// This file is auto-generated during the build process
|
|
5
5
|
// DO NOT EDIT MANUALLY - Version is extracted from package.json
|
|
6
|
-
exports.SDK_VERSION = '1.
|
|
6
|
+
exports.SDK_VERSION = '1.6.0';
|
|
@@ -23,13 +23,15 @@ export type ChangeEvent = BaseEvent & {
|
|
|
23
23
|
status: 'Change';
|
|
24
24
|
code: 'Complete' | 'Incomplete';
|
|
25
25
|
paymentMethodType?: string;
|
|
26
|
+
saveCheckboxChecked?: boolean;
|
|
26
27
|
};
|
|
27
28
|
export type ErrorResultEvent = BaseEvent & {
|
|
28
29
|
code: SupportedErrorCodes;
|
|
29
30
|
status: 'Error';
|
|
30
31
|
};
|
|
31
32
|
export type InternalEvent = SucceededResultEvent | PendingResultEvent | DeclinedResultEvent | ErrorResultEvent | ReadyEvent | ChangeEvent;
|
|
32
|
-
|
|
33
|
+
type DistributiveOmit<T, K extends keyof T> = T extends unknown ? Omit<T, K> : never;
|
|
34
|
+
export type Event = DistributiveOmit<InternalEvent, 'loggingEnrichment'>;
|
|
33
35
|
export type EventHandler = (result: Event) => void;
|
|
34
36
|
export type EventMiddleware = (event: InternalEvent) => InternalEvent | void;
|
|
35
37
|
export type EventListeners = Partial<Record<`on${Status}`, EventHandler>>;
|
|
@@ -42,3 +44,4 @@ export declare class EventBroadcaster {
|
|
|
42
44
|
applyMiddlewares(event: InternalEvent): Event;
|
|
43
45
|
publish(event: InternalEvent): void;
|
|
44
46
|
}
|
|
47
|
+
export {};
|
|
@@ -30,6 +30,9 @@ var EventBroadcaster = /** @class */ (function () {
|
|
|
30
30
|
if ('paymentMethodType' in event && event.paymentMethodType) {
|
|
31
31
|
externalEvent.paymentMethodType = event.paymentMethodType;
|
|
32
32
|
}
|
|
33
|
+
if ('saveCheckboxChecked' in event && event.saveCheckboxChecked !== undefined) {
|
|
34
|
+
externalEvent.saveCheckboxChecked = event.saveCheckboxChecked;
|
|
35
|
+
}
|
|
33
36
|
return externalEvent;
|
|
34
37
|
};
|
|
35
38
|
EventBroadcaster.prototype.registerMiddleware = function (middleware) {
|
|
@@ -41,6 +41,8 @@ export declare function createPaymentElement(elements: StripeElements, options:
|
|
|
41
41
|
* When addressElement is provided (payment form): emits "Complete" only when BOTH elements are complete,
|
|
42
42
|
* and "Incomplete" when at least one element becomes incomplete.
|
|
43
43
|
* When addressElement is not provided (MOTO form): emits based on payment element completion only.
|
|
44
|
+
* Also includes the current save-payment-method checkbox state (when present) on every Change event,
|
|
45
|
+
* and emits a Change event when that checkbox state changes.
|
|
44
46
|
*/
|
|
45
47
|
export declare function setupChangeEventHandler(paymentElement: StripePaymentElement, eventBroadcaster: EventBroadcaster, addressElement?: StripeAddressElement | null): void;
|
|
46
48
|
/**
|
package/dist/v1/stripe/shared.js
CHANGED
|
@@ -210,17 +210,22 @@ export function createPaymentElement(elements, options, mountElement, eventBroad
|
|
|
210
210
|
* When addressElement is provided (payment form): emits "Complete" only when BOTH elements are complete,
|
|
211
211
|
* and "Incomplete" when at least one element becomes incomplete.
|
|
212
212
|
* When addressElement is not provided (MOTO form): emits based on payment element completion only.
|
|
213
|
+
* Also includes the current save-payment-method checkbox state (when present) on every Change event,
|
|
214
|
+
* and emits a Change event when that checkbox state changes.
|
|
213
215
|
*/
|
|
214
216
|
export function setupChangeEventHandler(paymentElement, eventBroadcaster, addressElement) {
|
|
215
217
|
var paymentComplete = false;
|
|
216
218
|
var addressComplete = !addressElement; // If no address element, consider it complete
|
|
217
219
|
var previousComplete = null;
|
|
218
220
|
var previousMethodType;
|
|
221
|
+
var previousSaveCheckboxState; // Track save checkbox state
|
|
219
222
|
var emitChangeEvent = function () {
|
|
220
223
|
var complete = paymentComplete && addressComplete;
|
|
221
224
|
previousComplete = complete;
|
|
222
|
-
eventBroadcaster.publish(__assign({ status: 'Change', code: complete ? 'Complete' : 'Incomplete' }, (previousMethodType && {
|
|
225
|
+
eventBroadcaster.publish(__assign(__assign({ status: 'Change', code: complete ? 'Complete' : 'Incomplete' }, (previousMethodType && {
|
|
223
226
|
paymentMethodType: previousMethodType,
|
|
227
|
+
})), (previousSaveCheckboxState !== undefined && {
|
|
228
|
+
saveCheckboxChecked: previousSaveCheckboxState,
|
|
224
229
|
})));
|
|
225
230
|
};
|
|
226
231
|
paymentElement.on('change', function (event) {
|
|
@@ -232,7 +237,15 @@ export function setupChangeEventHandler(paymentElement, eventBroadcaster, addres
|
|
|
232
237
|
if (methodType !== undefined) {
|
|
233
238
|
previousMethodType = methodType;
|
|
234
239
|
}
|
|
235
|
-
|
|
240
|
+
// Check for save checkbox state from Stripe's value object
|
|
241
|
+
// The value object may contain a `savePaymentMethod` property
|
|
242
|
+
var saveCheckboxChanged = false;
|
|
243
|
+
if (event.value && typeof event.value === 'object' && 'savePaymentMethod' in event.value) {
|
|
244
|
+
var saveCheckboxState = event.value.savePaymentMethod;
|
|
245
|
+
saveCheckboxChanged = previousSaveCheckboxState !== saveCheckboxState;
|
|
246
|
+
previousSaveCheckboxState = saveCheckboxState;
|
|
247
|
+
}
|
|
248
|
+
if (completenessChanged || methodTypeChanged || saveCheckboxChanged) {
|
|
236
249
|
emitChangeEvent();
|
|
237
250
|
}
|
|
238
251
|
});
|
package/dist/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const SDK_VERSION = "1.
|
|
1
|
+
export declare const SDK_VERSION = "1.6.0";
|
package/dist/version.js
CHANGED
package/package.json
CHANGED