@benbraide/inlinejs-stripe 2.0.4 → 2.0.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/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
|
});
|