@benbraide/inlinejs-stripe 2.0.4 → 2.0.6
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/inlinejs-stripe.js +109 -46
- package/dist/inlinejs-stripe.min.js +1 -1
- package/lib/common/components/detail.d.ts +3 -6
- package/lib/common/components/detail.js +2 -6
- package/lib/common/components/field.d.ts +4 -5
- package/lib/common/components/field.js +10 -17
- package/lib/common/components/generic-field.d.ts +15 -0
- package/lib/common/components/generic-field.js +54 -0
- package/lib/common/components/payment-method.d.ts +3 -8
- package/lib/common/components/payment-method.js +2 -8
- package/lib/common/components/stripe.d.ts +5 -2
- package/lib/common/components/stripe.js +31 -15
- package/lib/common/types.d.ts +7 -1
- package/lib/esm/components/detail.d.ts +3 -6
- package/lib/esm/components/detail.js +3 -7
- package/lib/esm/components/field.d.ts +4 -5
- package/lib/esm/components/field.js +12 -19
- package/lib/esm/components/generic-field.d.ts +15 -0
- package/lib/esm/components/generic-field.js +50 -0
- package/lib/esm/components/payment-method.d.ts +3 -8
- package/lib/esm/components/payment-method.js +3 -9
- package/lib/esm/components/stripe.d.ts +5 -2
- package/lib/esm/components/stripe.js +31 -15
- package/lib/esm/types.d.ts +7 -1
- package/package.json +1 -1
package/dist/inlinejs-stripe.js
CHANGED
@@ -7301,18 +7301,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
7301
7301
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
7302
7302
|
exports.StripeDetailElementCompact = exports.StripeDetailElement = void 0;
|
7303
7303
|
const inlinejs_element_1 = __webpack_require__(/*! @benbraide/inlinejs-element */ "./node_modules/@benbraide/inlinejs-element/lib/esm/index.js");
|
7304
|
-
|
7304
|
+
const generic_field_1 = __webpack_require__(/*! ./generic-field */ "./src/components/generic-field.ts");
|
7305
|
+
class StripeDetailElement extends generic_field_1.StripeGenericField {
|
7305
7306
|
constructor() {
|
7306
7307
|
super();
|
7307
7308
|
this.input = null;
|
7308
7309
|
this.name = '';
|
7309
7310
|
this.value = '';
|
7310
7311
|
}
|
7311
|
-
WaitReady() {
|
7312
|
-
return Promise.resolve();
|
7313
|
-
}
|
7314
|
-
AddChangeListener(listener) { }
|
7315
|
-
RemoveChangeListener(listener) { }
|
7316
7312
|
ToggleFocus(focused) {
|
7317
7313
|
const input = this.GetInput_();
|
7318
7314
|
input && (focused ? input.focus() : input.blur());
|
@@ -7385,7 +7381,8 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
7385
7381
|
exports.StripeFieldElementCompact = exports.StripeFieldElement = void 0;
|
7386
7382
|
const inlinejs_1 = __webpack_require__(/*! @benbraide/inlinejs */ "./node_modules/@benbraide/inlinejs/lib/esm/index.js");
|
7387
7383
|
const inlinejs_element_1 = __webpack_require__(/*! @benbraide/inlinejs-element */ "./node_modules/@benbraide/inlinejs-element/lib/esm/index.js");
|
7388
|
-
|
7384
|
+
const generic_field_1 = __webpack_require__(/*! ./generic-field */ "./src/components/generic-field.ts");
|
7385
|
+
class StripeFieldElement extends generic_field_1.StripeGenericField {
|
7389
7386
|
constructor() {
|
7390
7387
|
super();
|
7391
7388
|
this.stripeField_ = null;
|
@@ -7394,13 +7391,15 @@ class StripeFieldElement extends inlinejs_element_1.CustomElement {
|
|
7394
7391
|
this.lastError_ = null;
|
7395
7392
|
this.readyWaiters_ = new Array();
|
7396
7393
|
this.changeListeners = new Array();
|
7397
|
-
this.stripe = null;
|
7398
7394
|
this.options = null;
|
7399
7395
|
this.type = '';
|
7400
7396
|
this.onready = '';
|
7401
7397
|
this.oncomplete = '';
|
7402
7398
|
this.onerrors = '';
|
7403
7399
|
}
|
7400
|
+
IsInteractive() {
|
7401
|
+
return true;
|
7402
|
+
}
|
7404
7403
|
WaitReady() {
|
7405
7404
|
return new Promise(resolve => {
|
7406
7405
|
this.isReady_ ? resolve() : this.readyWaiters_.push(() => resolve());
|
@@ -7426,16 +7425,12 @@ class StripeFieldElement extends inlinejs_element_1.CustomElement {
|
|
7426
7425
|
}
|
7427
7426
|
HandleElementScopeCreated_(_a, postAttributesCallback) {
|
7428
7427
|
var { scope } = _a, rest = __rest(_a, ["scope"]);
|
7429
|
-
super.HandleElementScopeCreated_(Object.assign({ scope }, rest),
|
7430
|
-
var _a;
|
7431
|
-
(_a = this.GetStripe_()) === null || _a === void 0 ? void 0 : _a.AddStripeField(this);
|
7432
|
-
postAttributesCallback && postAttributesCallback();
|
7433
|
-
});
|
7428
|
+
super.HandleElementScopeCreated_(Object.assign({ scope }, rest), postAttributesCallback);
|
7434
7429
|
scope.AddPostProcessCallback(() => {
|
7435
7430
|
var _a;
|
7436
|
-
(_a = this.GetStripe_()) === null || _a === void 0 ? void 0 : _a.WaitInstance().then((
|
7431
|
+
(_a = this.GetStripe_()) === null || _a === void 0 ? void 0 : _a.WaitInstance().then((details) => {
|
7437
7432
|
var _a;
|
7438
|
-
if (!stripe) {
|
7433
|
+
if (!(details === null || details === void 0 ? void 0 : details.stripe)) {
|
7439
7434
|
return;
|
7440
7435
|
}
|
7441
7436
|
let type = '';
|
@@ -7445,8 +7440,8 @@ class StripeFieldElement extends inlinejs_element_1.CustomElement {
|
|
7445
7440
|
else if (['card', 'cardNumber', 'cardExpiry', 'cardCvc', 'postalCode', 'paymentRequestButton', 'iban', 'idealBank'].includes(this.type)) {
|
7446
7441
|
type = this.type;
|
7447
7442
|
}
|
7448
|
-
if (type) {
|
7449
|
-
this.stripeField_ =
|
7443
|
+
if (type && details.elements) {
|
7444
|
+
this.stripeField_ = details.elements.create(type, (this.options || ((_a = this.GetStripe_()) === null || _a === void 0 ? void 0 : _a.options) || undefined));
|
7450
7445
|
this.stripeField_.on('ready', () => {
|
7451
7446
|
this.isReady_ = true;
|
7452
7447
|
this.onready && (0, inlinejs_1.EvaluateLater)({
|
@@ -7489,13 +7484,7 @@ class StripeFieldElement extends inlinejs_element_1.CustomElement {
|
|
7489
7484
|
this.stripeField_ = null;
|
7490
7485
|
});
|
7491
7486
|
}
|
7492
|
-
GetStripe_() {
|
7493
|
-
return (this.stripe || (0, inlinejs_1.FindAncestor)(this, ancestor => ('AddStripeField' in ancestor)));
|
7494
|
-
}
|
7495
7487
|
}
|
7496
|
-
__decorate([
|
7497
|
-
(0, inlinejs_element_1.Property)({ type: 'object', checkStoredObject: true })
|
7498
|
-
], StripeFieldElement.prototype, "stripe", void 0);
|
7499
7488
|
__decorate([
|
7500
7489
|
(0, inlinejs_element_1.Property)({ type: 'object', checkStoredObject: true })
|
7501
7490
|
], StripeFieldElement.prototype, "options", void 0);
|
@@ -7518,6 +7507,70 @@ function StripeFieldElementCompact() {
|
|
7518
7507
|
exports.StripeFieldElementCompact = StripeFieldElementCompact;
|
7519
7508
|
|
7520
7509
|
|
7510
|
+
/***/ }),
|
7511
|
+
|
7512
|
+
/***/ "./src/components/generic-field.ts":
|
7513
|
+
/*!*****************************************!*\
|
7514
|
+
!*** ./src/components/generic-field.ts ***!
|
7515
|
+
\*****************************************/
|
7516
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
7517
|
+
|
7518
|
+
|
7519
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
7520
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
7521
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
7522
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
7523
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
7524
|
+
};
|
7525
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
7526
|
+
var t = {};
|
7527
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
7528
|
+
t[p] = s[p];
|
7529
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
7530
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
7531
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
7532
|
+
t[p[i]] = s[p[i]];
|
7533
|
+
}
|
7534
|
+
return t;
|
7535
|
+
};
|
7536
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
7537
|
+
exports.StripeGenericField = void 0;
|
7538
|
+
const inlinejs_1 = __webpack_require__(/*! @benbraide/inlinejs */ "./node_modules/@benbraide/inlinejs/lib/esm/index.js");
|
7539
|
+
const inlinejs_element_1 = __webpack_require__(/*! @benbraide/inlinejs-element */ "./node_modules/@benbraide/inlinejs-element/lib/esm/index.js");
|
7540
|
+
class StripeGenericField extends inlinejs_element_1.CustomElement {
|
7541
|
+
constructor() {
|
7542
|
+
super(...arguments);
|
7543
|
+
this.stripe = null;
|
7544
|
+
}
|
7545
|
+
IsInteractive() {
|
7546
|
+
return false;
|
7547
|
+
}
|
7548
|
+
WaitReady() {
|
7549
|
+
return Promise.resolve();
|
7550
|
+
}
|
7551
|
+
AddChangeListener(listener) { }
|
7552
|
+
RemoveChangeListener(listener) { }
|
7553
|
+
ToggleFocus(focused) { }
|
7554
|
+
Reset() { }
|
7555
|
+
AddDetails(details) { }
|
7556
|
+
HandleElementScopeCreated_(_a, postAttributesCallback) {
|
7557
|
+
var { scope } = _a, rest = __rest(_a, ["scope"]);
|
7558
|
+
super.HandleElementScopeCreated_(Object.assign({ scope }, rest), () => {
|
7559
|
+
var _a;
|
7560
|
+
(_a = this.GetStripe_()) === null || _a === void 0 ? void 0 : _a.AddStripeField(this);
|
7561
|
+
postAttributesCallback && postAttributesCallback();
|
7562
|
+
});
|
7563
|
+
}
|
7564
|
+
GetStripe_() {
|
7565
|
+
return (this.stripe || (0, inlinejs_1.FindAncestor)(this, ancestor => ('AddStripeField' in ancestor)));
|
7566
|
+
}
|
7567
|
+
}
|
7568
|
+
__decorate([
|
7569
|
+
(0, inlinejs_element_1.Property)({ type: 'object', checkStoredObject: true })
|
7570
|
+
], StripeGenericField.prototype, "stripe", void 0);
|
7571
|
+
exports.StripeGenericField = StripeGenericField;
|
7572
|
+
|
7573
|
+
|
7521
7574
|
/***/ }),
|
7522
7575
|
|
7523
7576
|
/***/ "./src/components/payment-method.ts":
|
@@ -7536,7 +7589,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
7536
7589
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
7537
7590
|
exports.StripePaymentMenthodElementCompact = exports.StripePaymentMenthodElement = void 0;
|
7538
7591
|
const inlinejs_element_1 = __webpack_require__(/*! @benbraide/inlinejs-element */ "./node_modules/@benbraide/inlinejs-element/lib/esm/index.js");
|
7539
|
-
|
7592
|
+
const generic_field_1 = __webpack_require__(/*! ./generic-field */ "./src/components/generic-field.ts");
|
7593
|
+
class StripePaymentMenthodElement extends generic_field_1.StripeGenericField {
|
7540
7594
|
constructor() {
|
7541
7595
|
super({
|
7542
7596
|
isTemplate: true,
|
@@ -7544,13 +7598,6 @@ class StripePaymentMenthodElement extends inlinejs_element_1.CustomElement {
|
|
7544
7598
|
});
|
7545
7599
|
this.value = '';
|
7546
7600
|
}
|
7547
|
-
WaitReady() {
|
7548
|
-
return Promise.resolve();
|
7549
|
-
}
|
7550
|
-
AddChangeListener(listener) { }
|
7551
|
-
RemoveChangeListener(listener) { }
|
7552
|
-
ToggleFocus(focused) { }
|
7553
|
-
Reset() { }
|
7554
7601
|
AddDetails(details) {
|
7555
7602
|
this.value && (details.method = this.value);
|
7556
7603
|
}
|
@@ -7599,6 +7646,7 @@ class StripeElement extends inlinejs_element_1.CustomElement {
|
|
7599
7646
|
constructor() {
|
7600
7647
|
super();
|
7601
7648
|
this.stripe_ = null;
|
7649
|
+
this.elements_ = null;
|
7602
7650
|
this.mounting_ = false;
|
7603
7651
|
this.mounted_ = false;
|
7604
7652
|
this.isReady_ = false;
|
@@ -7606,6 +7654,7 @@ class StripeElement extends inlinejs_element_1.CustomElement {
|
|
7606
7654
|
this.fields_ = null;
|
7607
7655
|
this.readyFields_ = null;
|
7608
7656
|
this.instanceWaiters_ = new Array();
|
7657
|
+
this.interactiveFields_ = null;
|
7609
7658
|
this.completeFields_ = null;
|
7610
7659
|
this.errorFields_ = null;
|
7611
7660
|
this.options = null;
|
@@ -7622,6 +7671,10 @@ class StripeElement extends inlinejs_element_1.CustomElement {
|
|
7622
7671
|
field.WaitReady().then(() => {
|
7623
7672
|
this.readyFields_ = (this.readyFields_ || []);
|
7624
7673
|
this.readyFields_.push(field);
|
7674
|
+
if (field.IsInteractive()) {
|
7675
|
+
this.interactiveFields_ = (this.interactiveFields_ || []);
|
7676
|
+
this.interactiveFields_.push(field);
|
7677
|
+
}
|
7625
7678
|
(this.fields_ && this.readyFields_ && this.fields_.length <= this.readyFields_.length) && (0, inlinejs_1.JournalTry)(() => {
|
7626
7679
|
this.isReady_ = true;
|
7627
7680
|
this.onready && (0, inlinejs_1.EvaluateLater)({
|
@@ -7639,11 +7692,11 @@ class StripeElement extends inlinejs_element_1.CustomElement {
|
|
7639
7692
|
this.completeFields_ = (this.completeFields_ || []);
|
7640
7693
|
if (data && !this.completeFields_.includes(field)) {
|
7641
7694
|
this.completeFields_.push(field);
|
7642
|
-
changed = !!(this.
|
7695
|
+
changed = !!(this.interactiveFields_ && this.completeFields_.length == this.interactiveFields_.length);
|
7643
7696
|
}
|
7644
7697
|
else if (!data && this.completeFields_.includes(field)) {
|
7645
7698
|
this.completeFields_ = this.completeFields_.filter(x => x !== field);
|
7646
|
-
changed = !!(this.
|
7699
|
+
changed = !!(this.interactiveFields_ && (this.completeFields_.length == (this.interactiveFields_.length - 1)));
|
7647
7700
|
}
|
7648
7701
|
changed && this.oncomplete && (0, inlinejs_1.EvaluateLater)({
|
7649
7702
|
componentId: this.componentId_,
|
@@ -7678,6 +7731,9 @@ class StripeElement extends inlinejs_element_1.CustomElement {
|
|
7678
7731
|
RemoveStripeField(field) {
|
7679
7732
|
this.fields_ && (this.fields_ = this.fields_.filter(x => x !== field));
|
7680
7733
|
this.readyFields_ && (this.readyFields_ = this.readyFields_.filter(x => x !== field));
|
7734
|
+
this.interactiveFields_ && (this.interactiveFields_ = this.interactiveFields_.filter(x => x !== field));
|
7735
|
+
this.completeFields_ && (this.completeFields_ = this.completeFields_.filter(x => x !== field));
|
7736
|
+
this.errorFields_ && (this.errorFields_ = this.errorFields_.filter(x => x !== field));
|
7681
7737
|
}
|
7682
7738
|
FocusNextField(field) {
|
7683
7739
|
if (this.fields_) {
|
@@ -7685,12 +7741,18 @@ class StripeElement extends inlinejs_element_1.CustomElement {
|
|
7685
7741
|
(index >= 0 && index < this.fields_.length - 1) && this.fields_[index + 1].ToggleFocus(true);
|
7686
7742
|
}
|
7687
7743
|
}
|
7744
|
+
GetDetails() {
|
7745
|
+
return {
|
7746
|
+
stripe: this.stripe_,
|
7747
|
+
elements: this.elements_,
|
7748
|
+
};
|
7749
|
+
}
|
7688
7750
|
GetInstance() {
|
7689
7751
|
return this.stripe_;
|
7690
7752
|
}
|
7691
7753
|
WaitInstance() {
|
7692
7754
|
return new Promise(resolve => {
|
7693
|
-
this.mounted_ ? resolve(this.
|
7755
|
+
this.mounted_ ? resolve(this.GetDetails()) : this.instanceWaiters_.push(() => resolve(this.GetDetails()));
|
7694
7756
|
});
|
7695
7757
|
}
|
7696
7758
|
Mount() {
|
@@ -7702,6 +7764,7 @@ class StripeElement extends inlinejs_element_1.CustomElement {
|
|
7702
7764
|
this.mounting_ = false;
|
7703
7765
|
this.mounted_ = true;
|
7704
7766
|
this.stripe_ = Stripe(this.publicKey);
|
7767
|
+
this.elements_ = this.stripe_.elements();
|
7705
7768
|
this.instanceWaiters_.splice(0).forEach(waiter => (0, inlinejs_1.JournalTry)(waiter));
|
7706
7769
|
});
|
7707
7770
|
}
|
@@ -7724,37 +7787,37 @@ class StripeElement extends inlinejs_element_1.CustomElement {
|
|
7724
7787
|
}
|
7725
7788
|
PayOrSetup_(pay, clientSecret, save = false) {
|
7726
7789
|
return new Promise((resolve, reject) => {
|
7727
|
-
this.WaitInstance().then((
|
7790
|
+
this.WaitInstance().then((details) => {
|
7728
7791
|
var _a, _b;
|
7729
|
-
if (!stripe) {
|
7792
|
+
if (!(details === null || details === void 0 ? void 0 : details.stripe)) {
|
7730
7793
|
return resolve(false);
|
7731
7794
|
}
|
7732
|
-
const
|
7733
|
-
(_a = this.fields_) === null || _a === void 0 ? void 0 : _a.forEach(field => field.AddDetails(
|
7734
|
-
if (!
|
7795
|
+
const paymentDetails = {};
|
7796
|
+
(_a = this.fields_) === null || _a === void 0 ? void 0 : _a.forEach(field => field.AddDetails(paymentDetails));
|
7797
|
+
if (!paymentDetails.method) {
|
7735
7798
|
return resolve(false);
|
7736
7799
|
}
|
7737
7800
|
let cardDetails;
|
7738
|
-
if (typeof
|
7801
|
+
if (typeof paymentDetails.method !== 'string') {
|
7739
7802
|
cardDetails = {
|
7740
7803
|
payment_method: {
|
7741
|
-
card:
|
7742
|
-
billing_details:
|
7804
|
+
card: paymentDetails.method,
|
7805
|
+
billing_details: paymentDetails.billingDetails,
|
7743
7806
|
},
|
7744
7807
|
};
|
7745
7808
|
}
|
7746
7809
|
else {
|
7747
7810
|
cardDetails = {
|
7748
|
-
payment_method:
|
7811
|
+
payment_method: paymentDetails.method,
|
7749
7812
|
};
|
7750
7813
|
}
|
7751
7814
|
if (pay) {
|
7752
|
-
((_b =
|
7815
|
+
((_b = paymentDetails.billingDetails) === null || _b === void 0 ? void 0 : _b.email) && (cardDetails.receipt_email = paymentDetails.billingDetails.email);
|
7753
7816
|
save && (cardDetails.setup_future_usage = 'off_session');
|
7754
|
-
stripe.confirmCardPayment(clientSecret, cardDetails).then(resolve).catch(reject);
|
7817
|
+
details.stripe.confirmCardPayment(clientSecret, cardDetails).then(resolve).catch(reject);
|
7755
7818
|
}
|
7756
7819
|
else {
|
7757
|
-
stripe.confirmCardSetup(clientSecret, cardDetails).then(resolve).catch(reject);
|
7820
|
+
details.stripe.confirmCardSetup(clientSecret, cardDetails).then(resolve).catch(reject);
|
7758
7821
|
}
|
7759
7822
|
}).catch(reject);
|
7760
7823
|
});
|