@justifi/webcomponents 4.7.1 → 4.7.2-rc.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 (110) hide show
  1. package/dist/cjs/{Payout-68a99ee3.js → Payout-f8240e9c.js} +49 -1
  2. package/dist/cjs/additional-questions-details_5.cjs.entry.js +2 -2
  3. package/dist/cjs/form-control-datepart_2.cjs.entry.js +1 -1
  4. package/dist/cjs/justifi-business-details.cjs.entry.js +16 -12
  5. package/dist/cjs/justifi-business-form-stepped.cjs.entry.js +1 -1
  6. package/dist/cjs/justifi-business-form.cjs.entry.js +1 -1
  7. package/dist/cjs/justifi-business-list.cjs.entry.js +1 -1
  8. package/dist/cjs/justifi-gross-payment-chart.cjs.entry.js +22 -10
  9. package/dist/cjs/justifi-payment-balance-transactions.cjs.entry.js +1 -1
  10. package/dist/cjs/justifi-payment-details.cjs.entry.js +20 -11
  11. package/dist/cjs/justifi-payment-form.cjs.entry.js +16 -6
  12. package/dist/cjs/justifi-payment-method-form.cjs.entry.js +3 -1
  13. package/dist/cjs/justifi-payments-list.cjs.entry.js +22 -23
  14. package/dist/cjs/justifi-payout-details.cjs.entry.js +19 -11
  15. package/dist/cjs/justifi-payouts-list.cjs.entry.js +21 -11
  16. package/dist/cjs/justifi-proceeds-list.cjs.entry.js +1 -1
  17. package/dist/cjs/justifi-refund-form.cjs.entry.js +1 -1
  18. package/dist/cjs/justifi-subaccount-details.cjs.entry.js +3 -5
  19. package/dist/cjs/justifi-subaccounts-list.cjs.entry.js +1 -1
  20. package/dist/cjs/justifi-table_2.cjs.entry.js +4 -4
  21. package/dist/collection/api/Payment.js +49 -1
  22. package/dist/collection/api/mockData/MockPayments.js +21 -21
  23. package/dist/collection/components/business-details/business-details.js +16 -12
  24. package/dist/collection/components/business-details/representative-details/representative-details.js +2 -2
  25. package/dist/collection/components/business-form/business-form-example.js +12 -0
  26. package/dist/collection/components/business-form/business-form-stepped-example.js +12 -0
  27. package/dist/collection/components/business-form/business-form-stepped.stories.js +1 -1
  28. package/dist/collection/components/form/form-control-datepart.js +1 -1
  29. package/dist/collection/components/gross-payment-chart/example.js +12 -0
  30. package/dist/collection/components/gross-payment-chart/gross-payment-chart.js +20 -8
  31. package/dist/collection/components/payment-details/payment-details.js +21 -12
  32. package/dist/collection/components/payment-form/payment-form.js +16 -6
  33. package/dist/collection/components/payments-list/payments-list.js +21 -22
  34. package/dist/collection/components/payout-details/payout-details.js +19 -11
  35. package/dist/collection/components/payouts-list/payouts-list.js +20 -10
  36. package/dist/collection/components/subaccount-details/subaccount-details.js +2 -4
  37. package/dist/collection/components/table/table.css +5 -0
  38. package/dist/collection/components/table/table.js +2 -2
  39. package/dist/components/Payout.js +50 -2
  40. package/dist/components/form-control-datepart2.js +1 -1
  41. package/dist/components/justifi-business-details.js +15 -11
  42. package/dist/components/justifi-gross-payment-chart.js +21 -9
  43. package/dist/components/justifi-payment-details.js +21 -12
  44. package/dist/components/justifi-payment-form.js +16 -6
  45. package/dist/components/justifi-payments-list.js +22 -23
  46. package/dist/components/justifi-payout-details.js +19 -11
  47. package/dist/components/justifi-payouts-list.js +21 -11
  48. package/dist/components/justifi-subaccount-details.js +2 -4
  49. package/dist/components/pagination-menu2.js +1 -1
  50. package/dist/components/payment-method-form.js +3 -1
  51. package/dist/components/representative-details2.js +2 -2
  52. package/dist/components/table.js +3 -3
  53. package/dist/esm/{Payout-fcf16887.js → Payout-586f06a3.js} +50 -2
  54. package/dist/esm/additional-questions-details_5.entry.js +2 -2
  55. package/dist/esm/form-control-datepart_2.entry.js +1 -1
  56. package/dist/esm/justifi-business-details.entry.js +17 -13
  57. package/dist/esm/justifi-business-form-stepped.entry.js +1 -1
  58. package/dist/esm/justifi-business-form.entry.js +1 -1
  59. package/dist/esm/justifi-business-list.entry.js +1 -1
  60. package/dist/esm/justifi-gross-payment-chart.entry.js +22 -10
  61. package/dist/esm/justifi-payment-balance-transactions.entry.js +1 -1
  62. package/dist/esm/justifi-payment-details.entry.js +21 -12
  63. package/dist/esm/justifi-payment-form.entry.js +16 -6
  64. package/dist/esm/justifi-payment-method-form.entry.js +3 -1
  65. package/dist/esm/justifi-payments-list.entry.js +22 -23
  66. package/dist/esm/justifi-payout-details.entry.js +20 -12
  67. package/dist/esm/justifi-payouts-list.entry.js +21 -11
  68. package/dist/esm/justifi-proceeds-list.entry.js +1 -1
  69. package/dist/esm/justifi-refund-form.entry.js +1 -1
  70. package/dist/esm/justifi-subaccount-details.entry.js +4 -6
  71. package/dist/esm/justifi-subaccounts-list.entry.js +1 -1
  72. package/dist/esm/justifi-table_2.entry.js +4 -4
  73. package/dist/types/api/Payment.d.ts +32 -5
  74. package/dist/types/api/Payout.d.ts +2 -2
  75. package/dist/types/components/business-details/business-details.d.ts +0 -1
  76. package/dist/types/components/payment-method-form/payment-method-responses.d.ts +7 -1
  77. package/dist/types/components/payments-list/payments-list.d.ts +1 -3
  78. package/dist/webcomponents/p-0ce6fba2.entry.js +1 -0
  79. package/dist/webcomponents/p-2140e9ba.entry.js +1 -0
  80. package/dist/webcomponents/{p-914d2284.entry.js → p-311250e2.entry.js} +1 -1
  81. package/dist/webcomponents/{p-2306d7aa.entry.js → p-3501b0e8.entry.js} +1 -1
  82. package/dist/webcomponents/{p-29528eca.entry.js → p-3ee831ac.entry.js} +1 -1
  83. package/dist/webcomponents/{p-6075122d.entry.js → p-4214dbb8.entry.js} +1 -1
  84. package/dist/webcomponents/{p-5e78d370.entry.js → p-5df52341.entry.js} +1 -1
  85. package/dist/webcomponents/{p-3b80dc4a.entry.js → p-6a648652.entry.js} +1 -1
  86. package/dist/webcomponents/p-77a8bcea.entry.js +1 -0
  87. package/dist/webcomponents/p-9d46e7f1.entry.js +1 -0
  88. package/dist/webcomponents/p-a1ef6b4c.entry.js +1 -0
  89. package/dist/webcomponents/p-ac8ee442.entry.js +1 -0
  90. package/dist/webcomponents/{p-21998fea.entry.js → p-af771964.entry.js} +1 -1
  91. package/dist/webcomponents/p-bab3fd56.entry.js +1 -0
  92. package/dist/webcomponents/p-bc91044c.entry.js +1 -0
  93. package/dist/webcomponents/{p-98bb3c6a.entry.js → p-c29c587f.entry.js} +1 -1
  94. package/dist/webcomponents/{p-ce2e68df.entry.js → p-d6347f27.entry.js} +3 -3
  95. package/dist/webcomponents/p-d8d1f417.entry.js +1 -0
  96. package/dist/webcomponents/p-e12ab547.js +1 -0
  97. package/dist/webcomponents/{p-5cf9128c.entry.js → p-ed8c9b88.entry.js} +1 -1
  98. package/dist/webcomponents/webcomponents.esm.js +1 -1
  99. package/package.json +3 -2
  100. package/readme.md +38 -10
  101. package/dist/webcomponents/p-0e51a185.entry.js +0 -1
  102. package/dist/webcomponents/p-10210702.entry.js +0 -1
  103. package/dist/webcomponents/p-44271b0c.entry.js +0 -1
  104. package/dist/webcomponents/p-52643813.entry.js +0 -1
  105. package/dist/webcomponents/p-656a6bc8.entry.js +0 -1
  106. package/dist/webcomponents/p-76983a7e.js +0 -1
  107. package/dist/webcomponents/p-884b8cf4.entry.js +0 -1
  108. package/dist/webcomponents/p-a82e7fcd.entry.js +0 -1
  109. package/dist/webcomponents/p-b0fbddb2.entry.js +0 -1
  110. package/dist/webcomponents/p-d89b1a78.entry.js +0 -1
@@ -26,6 +26,54 @@ var PaymentDisputedStatuses;
26
26
  PaymentDisputedStatuses["lost"] = "lost";
27
27
  PaymentDisputedStatuses["open"] = "open";
28
28
  })(PaymentDisputedStatuses || (PaymentDisputedStatuses = {}));
29
+ class PaymentMethod {
30
+ constructor(paymentMethod) {
31
+ this.card = paymentMethod.card ? new Card(paymentMethod.card) : undefined;
32
+ this.bank_account = paymentMethod.bank_account
33
+ ? new BankAccount(paymentMethod.bank_account)
34
+ : undefined;
35
+ }
36
+ get payersName() {
37
+ if (this.card) {
38
+ return this.card.name;
39
+ }
40
+ else if (this.bank_account) {
41
+ return this.bank_account.name;
42
+ }
43
+ return null;
44
+ }
45
+ get lastFourDigits() {
46
+ if (this.card) {
47
+ return `**** ${this.card.acct_last_four}`;
48
+ }
49
+ else if (this.bank_account) {
50
+ return `**** ${this.bank_account.acct_last_four}`;
51
+ }
52
+ return null;
53
+ }
54
+ }
55
+ class BankAccount {
56
+ constructor(bankAccount) {
57
+ this.id = bankAccount.id;
58
+ this.acct_last_four = bankAccount.acct_last_four;
59
+ this.name = bankAccount.name;
60
+ this.brand = bankAccount.brand;
61
+ this.token = bankAccount.token;
62
+ this.created_at = bankAccount.created_at;
63
+ this.updated_at = bankAccount.updated_at;
64
+ }
65
+ }
66
+ class Card {
67
+ constructor(card) {
68
+ this.id = card.id || '';
69
+ this.acct_last_four = card.acct_last_four;
70
+ this.name = card.name;
71
+ this.brand = card.brand;
72
+ this.token = card.token;
73
+ this.created_at = card.created_at;
74
+ this.updated_at = card.updated_at;
75
+ }
76
+ }
29
77
  class Payment {
30
78
  constructor(payment) {
31
79
  this.id = payment.id;
@@ -46,7 +94,7 @@ class Payment {
46
94
  this.fee_amount = payment.fee_amount;
47
95
  this.is_test = payment.is_test;
48
96
  this.metadata = payment.metadata;
49
- this.payment_method = payment.payment_method;
97
+ this.payment_method = new PaymentMethod(payment.payment_method);
50
98
  this.payment_intent_id = payment.payment_intent_id;
51
99
  this.refunded = payment.refunded;
52
100
  this.status = payment.status;
@@ -69,8 +69,8 @@ const JustifiRepresentativeDetails = class {
69
69
  this.representative = undefined;
70
70
  }
71
71
  render() {
72
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
73
- return (index.h(index.Host, null, index.h(utils.DetailSection, { sectionTitle: "Representative Details" }, index.h("div", { class: "row gy-3" }, index.h("div", { class: "col-12 col-md-6" }, index.h(utils.DetailItem, { title: "Name", value: (_a = this.representative) === null || _a === void 0 ? void 0 : _a.name }), index.h(utils.DetailItem, { title: "ID", value: (_b = this.representative) === null || _b === void 0 ? void 0 : _b.id }), index.h(utils.DetailItem, { title: "Representative Address", value: (_c = this.representative) === null || _c === void 0 ? void 0 : _c.address.line1 }), index.h(utils.DetailItem, { title: "Representative Created At", value: utils$1.formatMediumDate((_d = this.representative) === null || _d === void 0 ? void 0 : _d.created_at) })), index.h("div", { class: "col-12 col-md-6" }, index.h(utils.DetailItem, { title: "Title", value: (_e = this.representative) === null || _e === void 0 ? void 0 : _e.title }), index.h(utils.DetailItem, { title: "Is Owner?", value: (_f = this.representative) === null || _f === void 0 ? void 0 : _f.is_owner.toString() }), index.h(utils.DetailItem, { title: "Date Of Birth", value: utils$1.formatMediumDate(new Date(Number((_g = this.representative) === null || _g === void 0 ? void 0 : _g.dob_year), Number((_h = this.representative) === null || _h === void 0 ? void 0 : _h.dob_month) - 1, Number((_j = this.representative) === null || _j === void 0 ? void 0 : _j.dob_day))) }), index.h(utils.DetailItem, { title: "Email", value: (_k = this.representative) === null || _k === void 0 ? void 0 : _k.email }), index.h(utils.DetailItem, { title: "Phone", value: (_l = this.representative) === null || _l === void 0 ? void 0 : _l.phone }), index.h(utils.DetailItem, { title: "Representative Updated At", value: utils$1.formatMediumDate((_m = this.representative) === null || _m === void 0 ? void 0 : _m.updated_at) }))))));
72
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
73
+ return (index.h(index.Host, null, index.h(utils.DetailSection, { sectionTitle: "Representative Details" }, index.h("div", { class: "row gy-3" }, index.h("div", { class: "col-12 col-md-6" }, index.h(utils.DetailItem, { title: "Name", value: (_a = this.representative) === null || _a === void 0 ? void 0 : _a.name }), index.h(utils.DetailItem, { title: "ID", value: (_b = this.representative) === null || _b === void 0 ? void 0 : _b.id }), index.h(utils.DetailItem, { title: "Representative Address", value: (_c = this.representative) === null || _c === void 0 ? void 0 : _c.address.line1 }), index.h(utils.DetailItem, { title: "Created At", value: ((_d = this.representative) === null || _d === void 0 ? void 0 : _d.created_at) && utils$1.formatMediumDate((_e = this.representative) === null || _e === void 0 ? void 0 : _e.created_at) })), index.h("div", { class: "col-12 col-md-6" }, index.h(utils.DetailItem, { title: "Title", value: (_f = this.representative) === null || _f === void 0 ? void 0 : _f.title }), index.h(utils.DetailItem, { title: "Is Owner?", value: (_g = this.representative) === null || _g === void 0 ? void 0 : _g.is_owner.toString() }), index.h(utils.DetailItem, { title: "Date Of Birth", value: this.representative && utils$1.formatMediumDate(new Date(Number((_h = this.representative) === null || _h === void 0 ? void 0 : _h.dob_year), Number((_j = this.representative) === null || _j === void 0 ? void 0 : _j.dob_month) - 1, Number((_k = this.representative) === null || _k === void 0 ? void 0 : _k.dob_day))) }), index.h(utils.DetailItem, { title: "Email", value: (_l = this.representative) === null || _l === void 0 ? void 0 : _l.email }), index.h(utils.DetailItem, { title: "Phone", value: (_m = this.representative) === null || _m === void 0 ? void 0 : _m.phone }), index.h(utils.DetailItem, { title: "Updated At", value: this.representative && utils$1.formatMediumDate((_o = this.representative) === null || _o === void 0 ? void 0 : _o.updated_at) }))))));
74
74
  }
75
75
  };
76
76
  JustifiRepresentativeDetails.style = representativeDetailsCss;
@@ -57,7 +57,7 @@ const DatePartInput = class {
57
57
  }
58
58
  updateInput(newValue) {
59
59
  if (this.imask) {
60
- this.imask.value = newValue;
60
+ this.imask.value = String(newValue);
61
61
  }
62
62
  }
63
63
  disconnectedCallback() {
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-c5ace247.js');
6
6
  const Api = require('./Api-548eaa62.js');
7
7
  require('./Pagination-cae1dcbd.js');
8
- require('./Payout-68a99ee3.js');
8
+ require('./Payout-f8240e9c.js');
9
9
  const utils = require('./utils-4622829d.js');
10
10
  const config = require('./config-a156df17.js');
11
11
 
@@ -26,15 +26,16 @@ const BusinessDetails = class {
26
26
  this.renderState = RENDER_STATES.LOADING;
27
27
  this.errorMessage = 'An error ocurred.';
28
28
  this.fetchBusiness = this.fetchBusiness.bind(this);
29
- this.setError = this.setError.bind(this);
30
29
  }
31
30
  async componentWillLoad() {
32
31
  if (!this.authToken) {
33
- this.setError('Missing auth-token. The form will not be functional without it.');
32
+ this.errorMessage = 'Missing auth-token. The form will not be functional without it.';
33
+ console.error(this.errorMessage);
34
34
  return;
35
35
  }
36
36
  if (!this.businessId) {
37
- this.setError('Missing business-id. The form will not be functional without it.');
37
+ this.errorMessage = 'Missing business-id. The form will not be functional without it.';
38
+ console.error(this.errorMessage);
38
39
  return;
39
40
  }
40
41
  this.api = Api.Api(this.authToken, config.config.proxyApiOrigin);
@@ -45,27 +46,30 @@ const BusinessDetails = class {
45
46
  try {
46
47
  const response = await this.api.get(`entities/business/${businessId}`);
47
48
  if (response.error) {
48
- this.setError(response.error.message);
49
+ this.errorMessage = `${this.errorMessage}: ${response.error}`;
50
+ console.error(this.errorMessage);
51
+ this.renderState = RENDER_STATES.ERROR;
49
52
  return;
50
53
  }
51
54
  this.business = response.data;
52
55
  this.renderState = RENDER_STATES.READY;
53
56
  }
54
57
  catch (error) {
55
- this.setError(error);
58
+ this.errorMessage = `${this.errorMessage}: ${error}`;
59
+ console.error(this.errorMessage);
60
+ this.renderState = RENDER_STATES.ERROR;
61
+ }
62
+ finally {
63
+ this.renderState = RENDER_STATES.READY;
56
64
  }
57
- }
58
- setError(error) {
59
- this.errorMessage = error || this.errorMessage;
60
- this.renderState = RENDER_STATES.ERROR;
61
65
  }
62
66
  render() {
63
67
  var _a, _b, _c;
64
68
  if (this.renderState === RENDER_STATES.LOADING) {
65
- return utils.LoadingState;
69
+ return index.h(index.Host, null, utils.LoadingState);
66
70
  }
67
71
  if (this.renderState === RENDER_STATES.ERROR) {
68
- return utils.ErrorState(this.errorMessage);
72
+ return index.h(index.Host, null, utils.ErrorState(this.errorMessage));
69
73
  }
70
74
  return (index.h(index.Host, null, index.h("generic-info-details", { business: this.business }), index.h("legal-address-details", { legalAddress: (_a = this.business) === null || _a === void 0 ? void 0 : _a.legal_address }), index.h("representative-details", { representative: (_b = this.business) === null || _b === void 0 ? void 0 : _b.representative }), index.h("owner-details", { owners: (_c = this.business) === null || _c === void 0 ? void 0 : _c.owners }), index.h("additional-questions-details", { business: this.business })));
71
75
  }
@@ -7,7 +7,7 @@ const form = require('./form-1e732a9d.js');
7
7
  const businessFormSchema = require('./business-form-schema-fe831c30.js');
8
8
  const Api = require('./Api-548eaa62.js');
9
9
  require('./Pagination-cae1dcbd.js');
10
- require('./Payout-68a99ee3.js');
10
+ require('./Payout-f8240e9c.js');
11
11
  const helpers = require('./helpers-c505d861.js');
12
12
  const config = require('./config-a156df17.js');
13
13
  require('./index.esm-91ec051e.js');
@@ -7,7 +7,7 @@ const form = require('./form-1e732a9d.js');
7
7
  const businessFormSchema = require('./business-form-schema-fe831c30.js');
8
8
  const Api = require('./Api-548eaa62.js');
9
9
  require('./Pagination-cae1dcbd.js');
10
- require('./Payout-68a99ee3.js');
10
+ require('./Payout-f8240e9c.js');
11
11
  const helpers = require('./helpers-c505d861.js');
12
12
  const config = require('./config-a156df17.js');
13
13
  require('./index.esm-91ec051e.js');
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-c5ace247.js');
6
6
  const Api = require('./Api-548eaa62.js');
7
7
  const Pagination = require('./Pagination-cae1dcbd.js');
8
- require('./Payout-68a99ee3.js');
8
+ require('./Payout-f8240e9c.js');
9
9
  const utils = require('./utils-13d069be.js');
10
10
  const config = require('./config-a156df17.js');
11
11
 
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-c5ace247.js');
6
6
  const Api = require('./Api-548eaa62.js');
7
7
  require('./Pagination-cae1dcbd.js');
8
- require('./Payout-68a99ee3.js');
8
+ require('./Payout-f8240e9c.js');
9
9
  const utils = require('./utils-13d069be.js');
10
10
  const utils$1 = require('./utils-4622829d.js');
11
11
  const config = require('./config-a156df17.js');
@@ -10994,15 +10994,27 @@ const GrossPaymentChart = class {
10994
10994
  return;
10995
10995
  }
10996
10996
  this.loading = true;
10997
- const api = Api.Api(this.authToken, config.config.proxyApiOrigin);
10998
- const endpoint = `account/${this.accountId}/reports/gross_volume`;
10999
- const response = await api.get(endpoint);
11000
- if (!response.error) {
11001
- this.total = response === null || response === void 0 ? void 0 : response.data.total;
11002
- this.dates = response === null || response === void 0 ? void 0 : response.data.dates.reverse();
11003
- this.endDate = this.dates[this.dates.length - 1].date;
11004
- }
11005
- this.loading = false;
10997
+ try {
10998
+ const api = Api.Api(this.authToken, config.config.proxyApiOrigin);
10999
+ const endpoint = `account/${this.accountId}/reports/gross_volume`;
11000
+ const response = await api.get(endpoint);
11001
+ if (!response.error) {
11002
+ this.total = response === null || response === void 0 ? void 0 : response.data.total;
11003
+ this.dates = response === null || response === void 0 ? void 0 : response.data.dates.reverse();
11004
+ this.endDate = this.dates[this.dates.length - 1].date;
11005
+ }
11006
+ else {
11007
+ this.errorMessage = `Error trying to fetch data : ${response.error}`;
11008
+ console.error(this.errorMessage);
11009
+ }
11010
+ }
11011
+ catch (error) {
11012
+ this.errorMessage = `Error trying to fetch data : ${error}`;
11013
+ console.error(this.errorMessage);
11014
+ }
11015
+ finally {
11016
+ this.loading = false;
11017
+ }
11006
11018
  }
11007
11019
  renderChart() {
11008
11020
  if (this.chart) {
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-c5ace247.js');
6
6
  const Api = require('./Api-548eaa62.js');
7
7
  const Pagination = require('./Pagination-cae1dcbd.js');
8
- const Payout = require('./Payout-68a99ee3.js');
8
+ const Payout = require('./Payout-f8240e9c.js');
9
9
  const utils = require('./utils-13d069be.js');
10
10
  const config = require('./config-a156df17.js');
11
11
 
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-c5ace247.js');
6
6
  const Api = require('./Api-548eaa62.js');
7
7
  require('./Pagination-cae1dcbd.js');
8
- require('./Payout-68a99ee3.js');
8
+ const Payout = require('./Payout-f8240e9c.js');
9
9
  const utils$1 = require('./utils-13d069be.js');
10
10
  const utils = require('./utils-4622829d.js');
11
11
  const config = require('./config-a156df17.js');
@@ -28,26 +28,35 @@ const PaymentDetails = class {
28
28
  this.fetchData();
29
29
  }
30
30
  async fetchData() {
31
- this.errorMessage = '';
32
31
  if (!this.paymentId || !this.authToken) {
33
32
  this.errorMessage = "Can not fetch any data without a PaymentID and an AuthToken";
34
33
  this.loading = false;
35
34
  return;
36
35
  }
37
36
  this.loading = true;
38
- const endpoint = `payments/${this.paymentId}`;
39
- const response = await Api.Api(this.authToken, config.config.proxyApiOrigin).get(endpoint);
40
- if (!response.error) {
41
- this.payment = response.data;
37
+ try {
38
+ const endpoint = `payments/${this.paymentId}`;
39
+ const response = await Api.Api(this.authToken, config.config.proxyApiOrigin).get(endpoint);
40
+ if (!response.error) {
41
+ this.payment = new Payout.Payment(response.data);
42
+ }
43
+ else {
44
+ const responseError = typeof response.error === 'string' ? response.error : response.error.message;
45
+ this.errorMessage = `Error trying to fetch data : ${responseError}`;
46
+ console.error(this.errorMessage);
47
+ }
42
48
  }
43
- else {
44
- this.errorMessage = typeof response.error === 'string' ? response.error : response.error.message;
49
+ catch (error) {
50
+ this.errorMessage = `Error trying to fetch data : ${error}`;
51
+ console.error(this.errorMessage);
52
+ }
53
+ finally {
54
+ this.loading = false;
45
55
  }
46
- this.loading = false;
47
56
  }
48
57
  render() {
49
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1;
50
- return (index.h(index.Host, null, this.loading && utils.LoadingState, !this.loading && this.errorMessage && utils.ErrorState(this.errorMessage), !this.loading && this.payment && (index.h("justifi-details", { "error-message": this.errorMessage }, index.h(utils.EntityHeadInfo, { slot: "head-info", badge: index.h("span", { slot: 'badge', innerHTML: utils$1.MapPaymentStatusToBadge((_a = this.payment) === null || _a === void 0 ? void 0 : _a.status) }), title: `${utils$1.formatCurrency(this.payment.amount)} ${this.payment.currency.toUpperCase()}` }, index.h(utils.EntityHeadInfoItem, { classes: "border-1 border-end", title: "Updated At", value: `${utils$1.formatDate((_b = this.payment) === null || _b === void 0 ? void 0 : _b.updated_at)} ${utils$1.formatTime((_c = this.payment) === null || _c === void 0 ? void 0 : _c.updated_at)}` }), index.h(utils.EntityHeadInfoItem, { classes: "border-1 border-end", title: "Created At", value: `${utils$1.formatDate((_d = this.payment) === null || _d === void 0 ? void 0 : _d.created_at)} ${utils$1.formatTime((_e = this.payment) === null || _e === void 0 ? void 0 : _e.created_at)}` }), index.h(utils.EntityHeadInfoItem, { title: "ID", value: (_f = this.payment) === null || _f === void 0 ? void 0 : _f.id })), index.h("div", { slot: 'detail-sections' }, index.h(utils.DetailSection, { sectionTitle: "Details" }, index.h(utils.DetailItem, { title: "Amount", value: utils$1.formatCurrency((_g = this.payment) === null || _g === void 0 ? void 0 : _g.amount) }), index.h(utils.DetailItem, { title: "Fees", value: utils$1.formatCurrency((_h = this.payment) === null || _h === void 0 ? void 0 : _h.fee_amount) }), index.h(utils.DetailItem, { title: "Refunded", value: utils$1.formatCurrency((_j = this.payment) === null || _j === void 0 ? void 0 : _j.amount_refunded) }), index.h(utils.DetailItem, { title: "Net", value: utils$1.formatCurrency((_k = this.payment) === null || _k === void 0 ? void 0 : _k.balance) }), index.h(utils.DetailItem, { title: "Status", value: utils$1.MapPaymentStatusToBadge((_l = this.payment) === null || _l === void 0 ? void 0 : _l.status) }), index.h(utils.DetailItem, { title: "Payment ID", value: (_m = this.payment) === null || _m === void 0 ? void 0 : _m.id }), index.h(utils.DetailItem, { title: "Processing Fees", value: utils$1.formatCurrency((_o = this.payment) === null || _o === void 0 ? void 0 : _o.fee_amount) }), index.h(utils.DetailItem, { title: "Statement Descriptor", value: (_p = this.payment) === null || _p === void 0 ? void 0 : _p.statement_descriptor }), index.h(utils.DetailItem, { title: "Description", value: (_q = this.payment) === null || _q === void 0 ? void 0 : _q.description })), ((_r = this.payment) === null || _r === void 0 ? void 0 : _r.payment_method.card) && (index.h(utils.DetailSection, { sectionTitle: "Payment Method" }, index.h(utils.DetailItem, { title: "ID", value: (_s = this.payment) === null || _s === void 0 ? void 0 : _s.payment_method.card.id }), index.h(utils.DetailItem, { title: "Payment Type", value: "Card" }), index.h(utils.DetailItem, { title: "Last 4 Numbers", value: (_t = this.payment) === null || _t === void 0 ? void 0 : _t.payment_method.card.acct_last_four }), index.h(utils.DetailItem, { title: "Brand", value: (_u = this.payment) === null || _u === void 0 ? void 0 : _u.payment_method.card.brand }), index.h(utils.DetailItem, { title: "Cardholder", value: (_v = this.payment) === null || _v === void 0 ? void 0 : _v.payment_method.card.name }))), ((_w = this.payment) === null || _w === void 0 ? void 0 : _w.payment_method.bank_account) && (index.h(utils.DetailSection, { sectionTitle: "Payment Method" }, index.h(utils.DetailItem, { title: "ID", value: (_x = this.payment) === null || _x === void 0 ? void 0 : _x.payment_method.bank_account.id }), index.h(utils.DetailItem, { title: "Last 4 Numbers", value: (_y = this.payment) === null || _y === void 0 ? void 0 : _y.payment_method.bank_account.acct_last_four }), index.h(utils.DetailItem, { title: "Bank Name", value: (_z = this.payment) === null || _z === void 0 ? void 0 : _z.payment_method.bank_account.bank_name }), index.h(utils.DetailItem, { title: "Account Owner", value: (_0 = this.payment) === null || _0 === void 0 ? void 0 : _0.payment_method.bank_account.account_owner_name }))), index.h(utils.DetailSection, { sectionTitle: 'Metadata' }, index.h(utils.CodeBlock, { metadata: (_1 = this.payment) === null || _1 === void 0 ? void 0 : _1.metadata })))))));
58
+ return (index.h(index.Host, null, this.loading && utils.LoadingState, !this.loading && this.errorMessage && utils.ErrorState(this.errorMessage), !this.loading && !this.errorMessage &&
59
+ this.payment && (index.h("justifi-details", { "error-message": this.errorMessage }, index.h(utils.EntityHeadInfo, { slot: "head-info", badge: index.h("span", { slot: 'badge', innerHTML: utils$1.MapPaymentStatusToBadge(this.payment.status) }), title: `${utils$1.formatCurrency(this.payment.amount)} ${this.payment.currency.toUpperCase()}` }, index.h(utils.EntityHeadInfoItem, { classes: "border-1 border-end", title: "Updated At", value: `${utils$1.formatDate(this.payment.updated_at)} ${utils$1.formatTime(this.payment.updated_at)}` }), index.h(utils.EntityHeadInfoItem, { classes: "border-1 border-end", title: "Created At", value: `${utils$1.formatDate(this.payment.created_at)} ${utils$1.formatTime(this.payment.created_at)}` }), index.h(utils.EntityHeadInfoItem, { title: "ID", value: this.payment.id })), index.h("div", { slot: 'detail-sections' }, index.h(utils.DetailSection, { sectionTitle: "Details" }, index.h(utils.DetailItem, { title: "Amount", value: utils$1.formatCurrency(this.payment.amount) }), index.h(utils.DetailItem, { title: "Fees", value: utils$1.formatCurrency(this.payment.fee_amount) }), index.h(utils.DetailItem, { title: "Refunded", value: utils$1.formatCurrency(this.payment.amount_refunded) }), index.h(utils.DetailItem, { title: "Net", value: utils$1.formatCurrency(this.payment.balance) }), index.h(utils.DetailItem, { title: "Status", value: utils$1.MapPaymentStatusToBadge(this.payment.status) }), index.h(utils.DetailItem, { title: "Payment ID", value: this.payment.id }), index.h(utils.DetailItem, { title: "Processing Fees", value: utils$1.formatCurrency(this.payment.fee_amount) }), index.h(utils.DetailItem, { title: "Statement Descriptor", value: this.payment.statement_descriptor }), index.h(utils.DetailItem, { title: "Description", value: this.payment.description })), this.payment.payment_method.card && (index.h(utils.DetailSection, { sectionTitle: "Payment Method" }, index.h(utils.DetailItem, { title: "ID", value: this.payment.payment_method.card.id }), index.h(utils.DetailItem, { title: "Payment Type", value: "Card" }), index.h(utils.DetailItem, { title: "Last 4 Numbers", value: this.payment.payment_method.lastFourDigits }), index.h(utils.DetailItem, { title: "Brand", value: utils$1.snakeCaseToHumanReadable(this.payment.payment_method.card.brand) }), index.h(utils.DetailItem, { title: "Cardholder", value: this.payment.payment_method.payersName }))), this.payment.payment_method.bank_account && (index.h(utils.DetailSection, { sectionTitle: "Payment Method" }, index.h(utils.DetailItem, { title: "ID", value: this.payment.payment_method.bank_account.id }), index.h(utils.DetailItem, { title: "Last 4 Numbers", value: this.payment.payment_method.lastFourDigits }), index.h(utils.DetailItem, { title: "Bank Name", value: this.payment.payment_method.bank_account.brand }), index.h(utils.DetailItem, { title: "Account Owner", value: this.payment.payment_method.payersName }))), index.h(utils.DetailSection, { sectionTitle: 'Metadata' }, index.h(utils.CodeBlock, { metadata: this.payment.metadata })))))));
51
60
  }
52
61
  static get watchers() { return {
53
62
  "paymentId": ["updateOnPropChange"],
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-c5ace247.js');
6
6
  require('./Pagination-cae1dcbd.js');
7
- const Payout = require('./Payout-68a99ee3.js');
7
+ const Payout = require('./Payout-f8240e9c.js');
8
8
  const utils = require('./utils-13d069be.js');
9
9
 
10
10
  const paymentFormCss = ":root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13, 110, 253;--bs-secondary-rgb:108, 117, 125;--bs-success-rgb:25, 135, 84;--bs-info-rgb:13, 202, 240;--bs-warning-rgb:255, 193, 7;--bs-danger-rgb:220, 53, 69;--bs-light-rgb:248, 249, 250;--bs-dark-rgb:33, 37, 41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255, 255, 255;--bs-black-rgb:0, 0, 0;--bs-font-sans-serif:system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";--bs-font-monospace:SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33, 37, 41;--bs-body-bg:#fff;--bs-body-bg-rgb:255, 255, 255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0, 0, 0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33, 37, 41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233, 236, 239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33, 37, 41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248, 249, 250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13, 110, 253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10, 88, 202;--bs-code-color:#d63384;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222, 226, 230;--bs-body-bg:#212529;--bs-body-bg-rgb:33, 37, 41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255, 255, 255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222, 226, 230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52, 58, 64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222, 226, 230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43, 48, 53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110, 168, 254;--bs-link-hover-color-rgb:139, 185, 254;--bs-code-color:#e685b5;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}.spinner-grow,.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg) }}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.clearfix::after{display:block;clear:both;content:\"\"}.text-bg-primary{color:#fff !important;background-color:RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-secondary{color:#fff !important;background-color:RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-success{color:#fff !important;background-color:RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-info{color:#000 !important;background-color:RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-warning{color:#000 !important;background-color:RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-danger{color:#fff !important;background-color:RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-light{color:#000 !important;background-color:RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-dark{color:#fff !important;background-color:RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important}.link-primary{color:RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-primary:hover,.link-primary:focus{color:RGBA(10, 88, 202, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important}.link-secondary{color:RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-secondary:hover,.link-secondary:focus{color:RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important}.link-success{color:RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-success:hover,.link-success:focus{color:RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important}.link-info{color:RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-info:hover,.link-info:focus{color:RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important}.link-warning{color:RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-warning:hover,.link-warning:focus{color:RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important}.link-danger{color:RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-danger:hover,.link-danger:focus{color:RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important}.link-light{color:RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-light:hover,.link-light:focus{color:RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important}.link-dark{color:RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-dark:hover,.link-dark:focus{color:RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-body-emphasis:hover,.link-body-emphasis:focus{color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:0.375rem;align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));text-underline-offset:0.25em;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:0.2s ease-in-out transform}@media (prefers-reduced-motion: reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi,.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform, translate3d(0.25em, 0, 0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:\"\"}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media (min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.visually-hidden:not(caption),.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute !important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:\"\"}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:0.25}*,*::before,*::after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0, 0, 0, 0)}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:0.25}h6,h5,h4,h3,h2,h1{margin-top:0;margin-bottom:0.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + 0.9vw)}@media (min-width: 1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + 0.6vw)}@media (min-width: 1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + 0.3vw)}@media (min-width: 1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:0.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:0.875em}mark{padding:0.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:0.75em;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}a{color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:0.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:0.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:0.1875rem 0.375rem;font-size:0.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:0.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:0.5rem;padding-bottom:0.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none !important}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:0.5rem;font-size:calc(1.275rem + 0.3vw);line-height:inherit}@media (min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none !important}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-0.5 * var(--bs-gutter-x));margin-left:calc(-0.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * 0.5);padding-left:calc(var(--bs-gutter-x) * 0.5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width: 576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width: 768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width: 992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width: 1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width: 1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49, 132, 253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130, 138, 145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60, 153, 110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11, 172, 204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217, 164, 6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225, 83, 97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211, 212, 213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66, 70, 73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13, 110, 253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108, 117, 125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25, 135, 84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13, 202, 240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255, 193, 7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220, 53, 69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248, 249, 250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33, 37, 41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:49, 132, 253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.spinner-grow,.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg) }}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}:host{font-family:system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;display:block}justifi-payment-method-form{display:block;margin-left:calc(var(--jfi-layout-padding) * -1);margin-right:calc(var(--jfi-layout-padding) * -1)}*::part(label){color:var(--jfi-form-label-color);font-family:var(--jfi-form-label-font-family);font-weight:var(--jfi-form-label-font-weight);font-size:var(--jfi-form-label-font-size);margin:var(--jfi-form-label-margin)}*::part(input){font-family:var(--jfi-layout-font-family);background-color:var(--jfi-form-control-background-color);border-color:var(--jfi-form-control-border-color);border-width:var(--jfi-form-control-border-width);border-bottom-width:var(--jfi-form-control-border-bottom-width);border-left-width:var(--jfi-form-control-border-left-width);border-right-width:var(--jfi-form-control-border-right-width);border-top-width:var(--jfi-form-control-border-top-width);border-radius:var(--jfi-form-control-border-radius);border-style:var(--jfi-form-control-border-style);box-shadow:var(--jfi-form-control-box-shadow);color:var(--jfi-form-control-color);font-size:var(--jfi-form-control-font-size);font-weight:var(--jfi-form-control-font-weight);line-height:var(--jfi-form-control-line-height);margin:var(--jfi-form-control-margin);padding:var(--jfi-form-control-padding)}*::part(input):focus{color:var(--jfi-form-control-color-focus);border-color:var(--jfi-form-control-border-color-focus);box-shadow:var(--jfi-form-control-box-shadow-focus)}*::part(input-invalid){border-color:var(--jfi-form-control-border-color-error);box-shadow:var(--jfi-form-control-box-shadow-error)}*::part(input-invalid):focus{border-color:var(--jfi-form-control-border-color-error);box-shadow:var(--jfi-form-control-box-shadow-error-focus)}.jfi-submit-button{font-family:var(--jfi-layout-font-family);color:var(--jfi-submit-button-color);background-color:var(--jfi-submit-button-background-color);border-color:var(--jfi-submit-button-border-color);padding:var(--jfi-submit-button-padding);font-size:var(--jfi-submit-button-font-size);border-radius:var(--jfi-submit-button-border-radius);width:var(--jfi-submit-button-width);box-shadow:var(--jfi-submit-button-box-shadow)}.jfi-submit-button:hover{color:var(--jfi-submit-button-color-hover);background-color:var(--jfi-submit-button-background-color-hover);border-color:var(--jfi-submit-button-border-color-hover)}.jfi-submit-button:focus{color:var(--jfi-submit-button-color-focus);background-color:var(--jfi-submit-button-background-color-focus);border-color:var(--jfi-submit-button-border-color-focus)}.btn.jfi-submit-button:active{color:var(--jfi-submit-button-color-active);background-color:var(--jfi-submit-button-background-color-active);border-color:var(--jfi-submit-button-border-color-active)}.btn.jfi-submit-button-loading{min-width:75px;color:var(--jfi-submit-button-color-loading);background-color:var(--jfi-submit-button-background-color-loading);border-color:var(--jfi-submit-button-border-color-loading)}.btn.jfi-submit-button-loading .spinner-border{border-top-color:var(--jfi-submit-button-color-loading);border-bottom-color:var(--jfi-submit-button-color-loading);border-left-color:var(--jfi-submit-button-color-loading)}";
@@ -73,11 +73,21 @@ const PaymentForm = class {
73
73
  if (!billingFormValidation.isValid || !paymentMethodFormValidation.isValid)
74
74
  return;
75
75
  this.isLoading = true;
76
- const billingFormFieldValues = await this.billingFormRef.getValues();
77
- const paymentMethodData = Object.assign({ email: this.email }, billingFormFieldValues);
78
- const tokenizeResponse = await this.paymentMethodFormRef.tokenize(this.clientId, paymentMethodData, this.accountId);
79
- this.submitted.emit(tokenizeResponse);
80
- this.isLoading = false;
76
+ try {
77
+ const billingFormFieldValues = await this.billingFormRef.getValues();
78
+ const paymentMethodData = Object.assign({ email: this.email }, billingFormFieldValues);
79
+ const tokenizeResponse = await this.paymentMethodFormRef.tokenize(this.clientId, paymentMethodData, this.accountId);
80
+ if (tokenizeResponse.error) {
81
+ console.error(`An error occured submitting the form: ${tokenizeResponse.error.message}`);
82
+ }
83
+ this.submitted.emit(tokenizeResponse);
84
+ }
85
+ catch (error) {
86
+ console.error(`An error occured submitting the form: ${error}`);
87
+ }
88
+ finally {
89
+ this.isLoading = false;
90
+ }
81
91
  }
82
92
  render() {
83
93
  return (index.h(index.Host, null, index.h("form", { class: "row gy-3" }, this.allowedPaymentMethodTypes.length > 1 && (index.h("div", { class: "col-12" }, index.h("justifi-payment-method-selector", { paymentMethodTypes: this.allowedPaymentMethodTypes, selectedPaymentMethodType: this.selectedPaymentMethodType }))), index.h("div", { class: "col-12" }, index.h("justifi-payment-method-form", { "payment-method-form-type": this.selectedPaymentMethodType, "iframe-origin": this.iframeOrigin, ref: el => {
@@ -1494,7 +1494,7 @@ const MessageEventType = {
1494
1494
  };
1495
1495
 
1496
1496
  const name = "@justifi/webcomponents";
1497
- const version = "4.7.1";
1497
+ const version = "4.7.2-rc.0";
1498
1498
  const description = "JustiFi Web Components";
1499
1499
  const main = "dist/index.cjs.js";
1500
1500
  const module$1 = "dist/components/index.js";
@@ -1506,6 +1506,7 @@ const repository = {
1506
1506
  type: "git",
1507
1507
  url: "git+https://github.com/justifi-tech/web-component-library.git"
1508
1508
  };
1509
+ const homepage = "https://storybook.justifi.ai/?path=/docs/introduction--docs";
1509
1510
  const publishConfig = {
1510
1511
  registry: "https://registry.npmjs.org"
1511
1512
  };
@@ -1583,6 +1584,7 @@ const packageJson = {
1583
1584
  collection: collection,
1584
1585
  "collection:main": "dist/collection/index.js",
1585
1586
  repository: repository,
1587
+ homepage: homepage,
1586
1588
  publishConfig: publishConfig,
1587
1589
  files: files,
1588
1590
  scripts: scripts,
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-c5ace247.js');
6
6
  const Api = require('./Api-548eaa62.js');
7
7
  const Pagination = require('./Pagination-cae1dcbd.js');
8
- const Payout = require('./Payout-68a99ee3.js');
8
+ const Payout = require('./Payout-f8240e9c.js');
9
9
  const utils = require('./utils-13d069be.js');
10
10
  const config = require('./config-a156df17.js');
11
11
 
@@ -47,28 +47,27 @@ const PaymentsList = class {
47
47
  return;
48
48
  }
49
49
  this.loading = true;
50
- const api = Api.Api(this.authToken, config.config.proxyApiOrigin);
51
- const endpoint = `account/${this.accountId}/payments`;
52
- const response = await api.get(endpoint, this.params);
53
- if (!response.error) {
54
- this.paging = Object.assign(Object.assign({}, this.paging), response.page_info);
55
- const data = (_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.map(dataItem => new Payout.Payment(dataItem));
56
- this.payments = data;
50
+ try {
51
+ const api = Api.Api(this.authToken, config.config.proxyApiOrigin);
52
+ const endpoint = `account/${this.accountId}/payments`;
53
+ const response = await api.get(endpoint, this.params);
54
+ if (!response.error) {
55
+ this.paging = Object.assign(Object.assign({}, this.paging), response.page_info);
56
+ const data = (_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.map(dataItem => new Payout.Payment(dataItem));
57
+ this.payments = data;
58
+ }
59
+ else {
60
+ const responseError = typeof response.error === 'string' ? response.error : response.error.message;
61
+ console.error(`Error fetching payments: ${responseError}`);
62
+ this.errorMessage = 'No results';
63
+ }
57
64
  }
58
- else {
59
- this.errorMessage = typeof response.error === 'string' ? response.error : response.error.message;
65
+ catch (error) {
66
+ console.error(`Error fetching payments: ${error.message}`);
67
+ this.errorMessage = 'No results';
60
68
  }
61
- this.loading = false;
62
- }
63
- getPaymentMethod(paymentMethod) {
64
- return paymentMethod.card || paymentMethod.bank_account;
65
- }
66
- getPaymentMethodName(paymentMethod) {
67
- if (paymentMethod.card) {
68
- return paymentMethod.card.name;
69
- }
70
- else {
71
- return paymentMethod.bank_account.account_owner_name;
69
+ finally {
70
+ this.loading = false;
72
71
  }
73
72
  }
74
73
  render() {
@@ -96,8 +95,8 @@ const PaymentsList = class {
96
95
  },
97
96
  utils.formatCurrency(payment.amount),
98
97
  payment.description,
99
- this.getPaymentMethodName(payment.payment_method),
100
- this.getPaymentMethod(payment.payment_method).acct_last_four,
98
+ payment.payment_method.payersName,
99
+ payment.payment_method.lastFourDigits,
101
100
  {
102
101
  type: 'inner',
103
102
  value: utils.MapPaymentStatusToBadge(payment.status)
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-c5ace247.js');
6
6
  const Api = require('./Api-548eaa62.js');
7
7
  require('./Pagination-cae1dcbd.js');
8
- require('./Payout-68a99ee3.js');
8
+ const Payout = require('./Payout-f8240e9c.js');
9
9
  const utils$1 = require('./utils-13d069be.js');
10
10
  const utils = require('./utils-4622829d.js');
11
11
  const config = require('./config-a156df17.js');
@@ -35,21 +35,29 @@ const PaymentDetails = class {
35
35
  return;
36
36
  }
37
37
  this.loading = true;
38
- const endpoint = `payouts/${this.payoutId}`;
39
- const response = await Api.Api(this.authToken, config.config.proxyApiOrigin).get(endpoint);
40
- if (!response.error) {
41
- this.payout = response.data;
38
+ try {
39
+ const endpoint = `payouts/${this.payoutId}`;
40
+ const response = await Api.Api(this.authToken, config.config.proxyApiOrigin).get(endpoint);
41
+ if (!response.error) {
42
+ this.payout = new Payout.Payout(response.data);
43
+ }
44
+ else {
45
+ const responseError = typeof response.error === 'string' ? response.error : response.error.message;
46
+ this.errorMessage = `Error fetching payout details: ${responseError}`;
47
+ console.error(this.errorMessage);
48
+ }
42
49
  }
43
- else {
44
- this.errorMessage = typeof response.error === 'string' ? response.error : response.error.message;
50
+ catch (error) {
51
+ this.errorMessage = `Error fetching payout details: ${error}`;
52
+ console.error(this.errorMessage);
53
+ }
54
+ finally {
55
+ this.loading = false;
45
56
  }
46
- this.loading = false;
47
57
  }
48
58
  render() {
49
59
  var _a;
50
- return (index.h(index.Host, null, this.loading ? utils.LoadingState :
51
- !this.payout ? utils.ErrorState(this.errorMessage) :
52
- index.h("justifi-details", { "error-message": this.errorMessage }, index.h(utils.EntityHeadInfo, { slot: "head-info", badge: index.h("span", { slot: 'badge', innerHTML: utils$1.MapPayoutStatusToBadge((_a = this.payout) === null || _a === void 0 ? void 0 : _a.status) }), title: `${utils$1.formatCurrency(this.payout.amount)} ${this.payout.currency.toUpperCase()}` }, index.h(utils.EntityHeadInfoItem, { classes: "border-1 border-end", title: "Updated At", value: `${utils$1.formatDate(this.payout.updated_at)} ${utils$1.formatTime(this.payout.updated_at)}` }), index.h(utils.EntityHeadInfoItem, { classes: "border-1 border-end", title: "Created At", value: `${utils$1.formatDate(this.payout.created_at)} ${utils$1.formatTime(this.payout.created_at)}` }), index.h(utils.EntityHeadInfoItem, { title: "ID", value: this.payout.id })), index.h("div", { slot: 'detail-sections' }, index.h(utils.DetailSection, { sectionTitle: "Details" }, index.h(utils.DetailItem, { title: "Date paid", value: utils$1.formatDate(this.payout.deposits_at) }), index.h(utils.DetailItem, { title: "Statement Description", value: this.payout.description }), index.h(utils.DetailItem, { title: "Payout Method", value: this.payout.delivery_method }), index.h(utils.DetailItem, { title: "Amount", value: utils$1.formatCurrency(this.payout.amount) }), index.h(utils.DetailItem, { title: "Fee", value: utils$1.formatCurrency(this.payout.fees_total) })), index.h(utils.DetailSection, { sectionTitle: "Account" }, index.h(utils.DetailItem, { title: "ID", value: this.payout.account_id }), index.h(utils.DetailItem, { title: "Account Type", value: this.payout.bank_account.account_type }), index.h(utils.DetailItem, { title: "Institution", value: this.payout.bank_account.account_type }), index.h(utils.DetailItem, { title: "Routing Number", value: this.payout.bank_account.routing_number }), index.h(utils.DetailItem, { title: "Account Number", value: this.payout.bank_account.account_number_last4 })), index.h(utils.DetailSection, { sectionTitle: 'Metadata' }, index.h(utils.CodeBlock, { metadata: this.payout.metadata }))))));
60
+ return (index.h(index.Host, null, this.loading && utils.LoadingState, !this.loading && this.errorMessage && utils.ErrorState(this.errorMessage), !this.loading && this.payout && (index.h("justifi-details", { "error-message": this.errorMessage }, index.h(utils.EntityHeadInfo, { slot: "head-info", badge: index.h("span", { slot: 'badge', innerHTML: utils$1.MapPayoutStatusToBadge((_a = this.payout) === null || _a === void 0 ? void 0 : _a.status) }), title: `${utils$1.formatCurrency(this.payout.amount)} ${this.payout.currency.toUpperCase()}` }, index.h(utils.EntityHeadInfoItem, { classes: "border-1 border-end", title: "Updated At", value: `${utils$1.formatDate(this.payout.updated_at)} ${utils$1.formatTime(this.payout.updated_at)}` }), index.h(utils.EntityHeadInfoItem, { classes: "border-1 border-end", title: "Created At", value: `${utils$1.formatDate(this.payout.created_at)} ${utils$1.formatTime(this.payout.created_at)}` }), index.h(utils.EntityHeadInfoItem, { title: "ID", value: this.payout.id })), index.h("div", { slot: 'detail-sections' }, index.h(utils.DetailSection, { sectionTitle: "Details" }, index.h(utils.DetailItem, { title: "Date paid", value: utils$1.formatDate(this.payout.deposits_at) }), index.h(utils.DetailItem, { title: "Statement Description", value: this.payout.description }), index.h(utils.DetailItem, { title: "Payout Method", value: this.payout.delivery_method }), index.h(utils.DetailItem, { title: "Amount", value: utils$1.formatCurrency(this.payout.amount) }), index.h(utils.DetailItem, { title: "Fee", value: utils$1.formatCurrency(this.payout.fees_total) })), index.h(utils.DetailSection, { sectionTitle: "Account" }, index.h(utils.DetailItem, { title: "ID", value: this.payout.account_id }), index.h(utils.DetailItem, { title: "Account Type", value: this.payout.bank_account.account_type }), index.h(utils.DetailItem, { title: "Institution", value: this.payout.bank_account.account_type }), index.h(utils.DetailItem, { title: "Routing Number", value: this.payout.bank_account.routing_number }), index.h(utils.DetailItem, { title: "Account Number", value: this.payout.bank_account.account_number_last4 })), index.h(utils.DetailSection, { sectionTitle: 'Metadata' }, index.h(utils.CodeBlock, { metadata: this.payout.metadata })))))));
53
61
  }
54
62
  static get watchers() { return {
55
63
  "payoutId": ["updateOnPropChange"],