@lightspeed/online-payments-sdk 1.1.5 → 1.1.6
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/stripe/shared.js +1 -5
- package/dist/cjs/v1/stripe/themes.js +17 -1
- package/dist/cjs/v1/stripe/widget.js +7 -7
- package/dist/cjs/v1/stripe/widgets/moto.js +1 -1
- package/dist/cjs/v1/stripe/widgets/payment.js +1 -1
- package/dist/v1/stripe/shared.d.ts +1 -1
- package/dist/v1/stripe/shared.js +1 -5
- package/dist/v1/stripe/themes.d.ts +8 -0
- package/dist/v1/stripe/themes.js +15 -1
- package/dist/v1/stripe/widget.js +7 -7
- package/dist/v1/stripe/widgets/moto.js +1 -1
- package/dist/v1/stripe/widgets/payment.js +1 -1
- package/package.json +1 -1
- package/styles/lightspeed-global-styles.css +0 -8
|
@@ -181,11 +181,7 @@ function createCustomTermsElement() {
|
|
|
181
181
|
/**
|
|
182
182
|
* Create and mount payment element
|
|
183
183
|
*/
|
|
184
|
-
function createPaymentElement(elements, options, mountElement, eventBroadcaster
|
|
185
|
-
// Apply theme class to mount element (generic approach)
|
|
186
|
-
if (theme) {
|
|
187
|
-
mountElement.classList.add("lsp-theme-".concat(theme));
|
|
188
|
-
}
|
|
184
|
+
function createPaymentElement(elements, options, mountElement, eventBroadcaster) {
|
|
189
185
|
var paymentElement = elements.create('payment', options);
|
|
190
186
|
paymentElement.on('ready', function () {
|
|
191
187
|
return eventBroadcaster.publish({ status: 'Ready', code: 'Ready' });
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.THEME_COLORS = void 0;
|
|
4
|
+
exports.applyThemeClass = applyThemeClass;
|
|
5
|
+
exports.removeThemeClass = removeThemeClass;
|
|
4
6
|
exports.getThemeConfig = getThemeConfig;
|
|
5
7
|
/**
|
|
6
8
|
* Theme color constants for styling containers
|
|
@@ -16,6 +18,20 @@ exports.THEME_COLORS = {
|
|
|
16
18
|
* ID for the injected theme stylesheet element
|
|
17
19
|
*/
|
|
18
20
|
var THEME_STYLESHEET_ID = 'lsp-theme-styles';
|
|
21
|
+
/**
|
|
22
|
+
* Apply theme class to an element
|
|
23
|
+
*/
|
|
24
|
+
function applyThemeClass(element, theme) {
|
|
25
|
+
element.classList.add("lsp-theme-".concat(theme));
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Remove theme class from an element
|
|
29
|
+
*/
|
|
30
|
+
function removeThemeClass(element, theme) {
|
|
31
|
+
if (theme) {
|
|
32
|
+
element.classList.remove("lsp-theme-".concat(theme));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
19
35
|
/**
|
|
20
36
|
* Inject theme stylesheets into the document head
|
|
21
37
|
* Each theme can define its own container styling
|
|
@@ -26,7 +42,7 @@ function ensureThemeStylesheet() {
|
|
|
26
42
|
}
|
|
27
43
|
var styleElement = document.createElement('style');
|
|
28
44
|
styleElement.id = THEME_STYLESHEET_ID;
|
|
29
|
-
styleElement.textContent = "\n /* Dark theme styles for the mount element */\n .lsp-theme-dark {\n background-color: ".concat(exports.THEME_COLORS.DARK.BACKGROUND, " !important;\n color: ").concat(exports.THEME_COLORS.DARK.TEXT, " !important;\n }\n /* Dark theme styles for Stripe custom terms elements */\n .lsp-theme-dark .stripe-terms-triangle {\n color: ").concat(exports.THEME_COLORS.DARK.TEXT, " !important;\n }\n .lsp-theme-dark .stripe-custom-terms-text {\n color: ").concat(exports.THEME_COLORS.DARK.TEXT, " !important;\n }\n .lsp-theme-dark .stripe-expandable-terms-content p {\n color: ").concat(exports.THEME_COLORS.DARK.TEXT, " !important;\n }\n
|
|
45
|
+
styleElement.textContent = "\n /* Dark theme styles for the mount element */\n .lsp-theme-dark {\n background-color: ".concat(exports.THEME_COLORS.DARK.BACKGROUND, " !important;\n color: ").concat(exports.THEME_COLORS.DARK.TEXT, " !important;\n }\n /* Dark theme styles for Stripe custom terms elements */\n .lsp-theme-dark .stripe-terms-triangle {\n color: ").concat(exports.THEME_COLORS.DARK.TEXT, " !important;\n }\n .lsp-theme-dark .stripe-custom-terms-text {\n color: ").concat(exports.THEME_COLORS.DARK.TEXT, " !important;\n }\n .lsp-theme-dark .stripe-expandable-terms-content p {\n color: ").concat(exports.THEME_COLORS.DARK.TEXT, " !important;\n }\n ");
|
|
30
46
|
document.head.appendChild(styleElement);
|
|
31
47
|
}
|
|
32
48
|
/**
|
|
@@ -40,6 +40,7 @@ exports.StripeWidget = void 0;
|
|
|
40
40
|
exports.mount = mount;
|
|
41
41
|
var payment_1 = require("./widgets/payment");
|
|
42
42
|
var moto_1 = require("./widgets/moto");
|
|
43
|
+
var themes_1 = require("./themes");
|
|
43
44
|
/**
|
|
44
45
|
* Main mount function that delegates to appropriate widget based on session type
|
|
45
46
|
*/
|
|
@@ -49,6 +50,10 @@ function mount(mountElement, session, eventBroadcaster, defaultValues, theme) {
|
|
|
49
50
|
return __generator(this, function (_b) {
|
|
50
51
|
switch (_b.label) {
|
|
51
52
|
case 0:
|
|
53
|
+
// Apply theme class to mount element
|
|
54
|
+
if (theme) {
|
|
55
|
+
(0, themes_1.applyThemeClass)(mountElement, theme);
|
|
56
|
+
}
|
|
52
57
|
sessionType = session.metadata.sessionType;
|
|
53
58
|
_b.label = 1;
|
|
54
59
|
case 1:
|
|
@@ -75,19 +80,14 @@ function mount(mountElement, session, eventBroadcaster, defaultValues, theme) {
|
|
|
75
80
|
case 7:
|
|
76
81
|
originalUnmount_1 = widgetController.unmount;
|
|
77
82
|
widgetController.unmount = function () {
|
|
78
|
-
|
|
79
|
-
if (theme) {
|
|
80
|
-
mountElement.classList.remove("lsp-theme-".concat(theme));
|
|
81
|
-
}
|
|
83
|
+
(0, themes_1.removeThemeClass)(mountElement, theme);
|
|
82
84
|
originalUnmount_1();
|
|
83
85
|
};
|
|
84
86
|
return [2 /*return*/, widgetController];
|
|
85
87
|
case 8:
|
|
86
88
|
error_1 = _b.sent();
|
|
87
89
|
// Clean up theme class if mounting fails
|
|
88
|
-
|
|
89
|
-
mountElement.classList.remove("lsp-theme-".concat(theme));
|
|
90
|
-
}
|
|
90
|
+
(0, themes_1.removeThemeClass)(mountElement, theme);
|
|
91
91
|
throw error_1;
|
|
92
92
|
case 9: return [2 /*return*/];
|
|
93
93
|
}
|
|
@@ -51,7 +51,7 @@ function mountMotoWidget(mountElement, session, eventBroadcaster, defaultValues,
|
|
|
51
51
|
case 1:
|
|
52
52
|
_a = _c.sent(), stripe = _a.stripe, elements = _a.elements;
|
|
53
53
|
paymentOptions = (0, shared_1.createPaymentElementOptions)(defaultValues, theme);
|
|
54
|
-
_b = (0, shared_1.createPaymentElement)(elements, paymentOptions, mountElement, eventBroadcaster
|
|
54
|
+
_b = (0, shared_1.createPaymentElement)(elements, paymentOptions, mountElement, eventBroadcaster), paymentElement = _b.element, paymentContainer = _b.container, customTermsContainer = _b.customTermsContainer;
|
|
55
55
|
return [2 /*return*/, {
|
|
56
56
|
unmount: function () {
|
|
57
57
|
(0, shared_1.cleanupElements)(paymentElement, null, paymentContainer, null, customTermsContainer);
|
|
@@ -52,7 +52,7 @@ function mountPaymentWidget(mountElement, session, eventBroadcaster, defaultValu
|
|
|
52
52
|
addressOptions = (0, shared_1.createAddressElementOptions)(defaultValues);
|
|
53
53
|
_b = (0, shared_1.createAddressElement)(elements, addressOptions, mountElement), addressElement = _b.element, addressContainer = _b.container;
|
|
54
54
|
paymentOptions = (0, shared_1.createPaymentElementOptions)(defaultValues, theme, true);
|
|
55
|
-
_c = (0, shared_1.createPaymentElement)(elements, paymentOptions, mountElement, eventBroadcaster
|
|
55
|
+
_c = (0, shared_1.createPaymentElement)(elements, paymentOptions, mountElement, eventBroadcaster), paymentElement = _c.element, paymentContainer = _c.container, customTermsContainer = _c.customTermsContainer;
|
|
56
56
|
return [2 /*return*/, {
|
|
57
57
|
unmount: function () {
|
|
58
58
|
(0, shared_1.cleanupElements)(paymentElement, addressElement, paymentContainer, addressContainer, customTermsContainer);
|
|
@@ -30,7 +30,7 @@ export declare function createAddressElementOptions(defaultValues?: DefaultValue
|
|
|
30
30
|
/**
|
|
31
31
|
* Create and mount payment element
|
|
32
32
|
*/
|
|
33
|
-
export declare function createPaymentElement(elements: StripeElements, options: StripePaymentElementOptions, mountElement: HTMLElement, eventBroadcaster: EventBroadcaster
|
|
33
|
+
export declare function createPaymentElement(elements: StripeElements, options: StripePaymentElementOptions, mountElement: HTMLElement, eventBroadcaster: EventBroadcaster): {
|
|
34
34
|
element: StripePaymentElement;
|
|
35
35
|
container: HTMLElement;
|
|
36
36
|
customTermsContainer: HTMLElement;
|
package/dist/v1/stripe/shared.js
CHANGED
|
@@ -170,11 +170,7 @@ function createCustomTermsElement() {
|
|
|
170
170
|
/**
|
|
171
171
|
* Create and mount payment element
|
|
172
172
|
*/
|
|
173
|
-
export function createPaymentElement(elements, options, mountElement, eventBroadcaster
|
|
174
|
-
// Apply theme class to mount element (generic approach)
|
|
175
|
-
if (theme) {
|
|
176
|
-
mountElement.classList.add("lsp-theme-".concat(theme));
|
|
177
|
-
}
|
|
173
|
+
export function createPaymentElement(elements, options, mountElement, eventBroadcaster) {
|
|
178
174
|
var paymentElement = elements.create('payment', options);
|
|
179
175
|
paymentElement.on('ready', function () {
|
|
180
176
|
return eventBroadcaster.publish({ status: 'Ready', code: 'Ready' });
|
|
@@ -10,6 +10,14 @@ export declare const THEME_COLORS: {
|
|
|
10
10
|
readonly TEXT: "#ffffff";
|
|
11
11
|
};
|
|
12
12
|
};
|
|
13
|
+
/**
|
|
14
|
+
* Apply theme class to an element
|
|
15
|
+
*/
|
|
16
|
+
export declare function applyThemeClass(element: HTMLElement, theme: PaymentWidgetTheme): void;
|
|
17
|
+
/**
|
|
18
|
+
* Remove theme class from an element
|
|
19
|
+
*/
|
|
20
|
+
export declare function removeThemeClass(element: HTMLElement, theme?: PaymentWidgetTheme): void;
|
|
13
21
|
/**
|
|
14
22
|
* Theme configuration for Stripe Elements appearance
|
|
15
23
|
*/
|
package/dist/v1/stripe/themes.js
CHANGED
|
@@ -12,6 +12,20 @@ export var THEME_COLORS = {
|
|
|
12
12
|
* ID for the injected theme stylesheet element
|
|
13
13
|
*/
|
|
14
14
|
var THEME_STYLESHEET_ID = 'lsp-theme-styles';
|
|
15
|
+
/**
|
|
16
|
+
* Apply theme class to an element
|
|
17
|
+
*/
|
|
18
|
+
export function applyThemeClass(element, theme) {
|
|
19
|
+
element.classList.add("lsp-theme-".concat(theme));
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Remove theme class from an element
|
|
23
|
+
*/
|
|
24
|
+
export function removeThemeClass(element, theme) {
|
|
25
|
+
if (theme) {
|
|
26
|
+
element.classList.remove("lsp-theme-".concat(theme));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
15
29
|
/**
|
|
16
30
|
* Inject theme stylesheets into the document head
|
|
17
31
|
* Each theme can define its own container styling
|
|
@@ -22,7 +36,7 @@ function ensureThemeStylesheet() {
|
|
|
22
36
|
}
|
|
23
37
|
var styleElement = document.createElement('style');
|
|
24
38
|
styleElement.id = THEME_STYLESHEET_ID;
|
|
25
|
-
styleElement.textContent = "\n /* Dark theme styles for the mount element */\n .lsp-theme-dark {\n background-color: ".concat(THEME_COLORS.DARK.BACKGROUND, " !important;\n color: ").concat(THEME_COLORS.DARK.TEXT, " !important;\n }\n /* Dark theme styles for Stripe custom terms elements */\n .lsp-theme-dark .stripe-terms-triangle {\n color: ").concat(THEME_COLORS.DARK.TEXT, " !important;\n }\n .lsp-theme-dark .stripe-custom-terms-text {\n color: ").concat(THEME_COLORS.DARK.TEXT, " !important;\n }\n .lsp-theme-dark .stripe-expandable-terms-content p {\n color: ").concat(THEME_COLORS.DARK.TEXT, " !important;\n }\n
|
|
39
|
+
styleElement.textContent = "\n /* Dark theme styles for the mount element */\n .lsp-theme-dark {\n background-color: ".concat(THEME_COLORS.DARK.BACKGROUND, " !important;\n color: ").concat(THEME_COLORS.DARK.TEXT, " !important;\n }\n /* Dark theme styles for Stripe custom terms elements */\n .lsp-theme-dark .stripe-terms-triangle {\n color: ").concat(THEME_COLORS.DARK.TEXT, " !important;\n }\n .lsp-theme-dark .stripe-custom-terms-text {\n color: ").concat(THEME_COLORS.DARK.TEXT, " !important;\n }\n .lsp-theme-dark .stripe-expandable-terms-content p {\n color: ").concat(THEME_COLORS.DARK.TEXT, " !important;\n }\n ");
|
|
26
40
|
document.head.appendChild(styleElement);
|
|
27
41
|
}
|
|
28
42
|
/**
|
package/dist/v1/stripe/widget.js
CHANGED
|
@@ -36,6 +36,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
36
36
|
};
|
|
37
37
|
import { mountPaymentWidget } from './widgets/payment';
|
|
38
38
|
import { mountMotoWidget } from './widgets/moto';
|
|
39
|
+
import { applyThemeClass, removeThemeClass } from './themes';
|
|
39
40
|
/**
|
|
40
41
|
* Main mount function that delegates to appropriate widget based on session type
|
|
41
42
|
*/
|
|
@@ -45,6 +46,10 @@ export function mount(mountElement, session, eventBroadcaster, defaultValues, th
|
|
|
45
46
|
return __generator(this, function (_b) {
|
|
46
47
|
switch (_b.label) {
|
|
47
48
|
case 0:
|
|
49
|
+
// Apply theme class to mount element
|
|
50
|
+
if (theme) {
|
|
51
|
+
applyThemeClass(mountElement, theme);
|
|
52
|
+
}
|
|
48
53
|
sessionType = session.metadata.sessionType;
|
|
49
54
|
_b.label = 1;
|
|
50
55
|
case 1:
|
|
@@ -71,19 +76,14 @@ export function mount(mountElement, session, eventBroadcaster, defaultValues, th
|
|
|
71
76
|
case 7:
|
|
72
77
|
originalUnmount_1 = widgetController.unmount;
|
|
73
78
|
widgetController.unmount = function () {
|
|
74
|
-
|
|
75
|
-
if (theme) {
|
|
76
|
-
mountElement.classList.remove("lsp-theme-".concat(theme));
|
|
77
|
-
}
|
|
79
|
+
removeThemeClass(mountElement, theme);
|
|
78
80
|
originalUnmount_1();
|
|
79
81
|
};
|
|
80
82
|
return [2 /*return*/, widgetController];
|
|
81
83
|
case 8:
|
|
82
84
|
error_1 = _b.sent();
|
|
83
85
|
// Clean up theme class if mounting fails
|
|
84
|
-
|
|
85
|
-
mountElement.classList.remove("lsp-theme-".concat(theme));
|
|
86
|
-
}
|
|
86
|
+
removeThemeClass(mountElement, theme);
|
|
87
87
|
throw error_1;
|
|
88
88
|
case 9: return [2 /*return*/];
|
|
89
89
|
}
|
|
@@ -48,7 +48,7 @@ export function mountMotoWidget(mountElement, session, eventBroadcaster, default
|
|
|
48
48
|
case 1:
|
|
49
49
|
_a = _c.sent(), stripe = _a.stripe, elements = _a.elements;
|
|
50
50
|
paymentOptions = createPaymentElementOptions(defaultValues, theme);
|
|
51
|
-
_b = createPaymentElement(elements, paymentOptions, mountElement, eventBroadcaster
|
|
51
|
+
_b = createPaymentElement(elements, paymentOptions, mountElement, eventBroadcaster), paymentElement = _b.element, paymentContainer = _b.container, customTermsContainer = _b.customTermsContainer;
|
|
52
52
|
return [2 /*return*/, {
|
|
53
53
|
unmount: function () {
|
|
54
54
|
cleanupElements(paymentElement, null, paymentContainer, null, customTermsContainer);
|
|
@@ -49,7 +49,7 @@ export function mountPaymentWidget(mountElement, session, eventBroadcaster, defa
|
|
|
49
49
|
addressOptions = createAddressElementOptions(defaultValues);
|
|
50
50
|
_b = createAddressElement(elements, addressOptions, mountElement), addressElement = _b.element, addressContainer = _b.container;
|
|
51
51
|
paymentOptions = createPaymentElementOptions(defaultValues, theme, true);
|
|
52
|
-
_c = createPaymentElement(elements, paymentOptions, mountElement, eventBroadcaster
|
|
52
|
+
_c = createPaymentElement(elements, paymentOptions, mountElement, eventBroadcaster), paymentElement = _c.element, paymentContainer = _c.container, customTermsContainer = _c.customTermsContainer;
|
|
53
53
|
return [2 /*return*/, {
|
|
54
54
|
unmount: function () {
|
|
55
55
|
cleanupElements(paymentElement, addressElement, paymentContainer, addressContainer, customTermsContainer);
|
package/package.json
CHANGED
|
@@ -20,10 +20,6 @@
|
|
|
20
20
|
text-decoration: underline;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
.stripe-custom-terms-text a:hover {
|
|
24
|
-
color: #0a2540;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
23
|
/* Expandable terms toggle */
|
|
28
24
|
.stripe-expandable-terms-toggle {
|
|
29
25
|
color: #635bff;
|
|
@@ -31,10 +27,6 @@
|
|
|
31
27
|
text-decoration: underline;
|
|
32
28
|
}
|
|
33
29
|
|
|
34
|
-
.stripe-expandable-terms-toggle:hover {
|
|
35
|
-
color: #0a2540;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
30
|
.stripe-terms-triangle {
|
|
39
31
|
display: inline-block;
|
|
40
32
|
font-size: 10px;
|