@justifi/webcomponents 4.7.1 → 4.7.2

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 (133) 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 +9 -6
  3. package/dist/cjs/form-control-datepart_2.cjs.entry.js +1 -1
  4. package/dist/cjs/justifi-business-details.cjs.entry.js +17 -13
  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-details.cjs.entry.js +1 -1
  9. package/dist/cjs/justifi-gross-payment-chart.cjs.entry.js +23 -11
  10. package/dist/cjs/justifi-payment-balance-transactions.cjs.entry.js +1 -1
  11. package/dist/cjs/justifi-payment-details.cjs.entry.js +21 -12
  12. package/dist/cjs/justifi-payment-form.cjs.entry.js +16 -6
  13. package/dist/cjs/justifi-payment-method-form.cjs.entry.js +3 -1
  14. package/dist/cjs/justifi-payments-list.cjs.entry.js +22 -23
  15. package/dist/cjs/justifi-payout-details.cjs.entry.js +20 -12
  16. package/dist/cjs/justifi-payouts-list.cjs.entry.js +21 -11
  17. package/dist/cjs/justifi-proceeds-list.cjs.entry.js +1 -1
  18. package/dist/cjs/justifi-refund-form.cjs.entry.js +1 -1
  19. package/dist/cjs/justifi-subaccount-details.cjs.entry.js +4 -6
  20. package/dist/cjs/justifi-subaccounts-list.cjs.entry.js +1 -1
  21. package/dist/cjs/justifi-table_2.cjs.entry.js +4 -4
  22. package/dist/cjs/subaccount-account-details_4.cjs.entry.js +1 -1
  23. package/dist/cjs/subaccount-bank-details.cjs.entry.js +1 -1
  24. package/dist/cjs/subaccount-terms-details.cjs.entry.js +1 -1
  25. package/dist/cjs/{utils-4622829d.js → utils-a47b2e73.js} +4 -4
  26. package/dist/collection/api/Payment.js +49 -1
  27. package/dist/collection/api/mockData/MockPayments.js +21 -21
  28. package/dist/collection/components/business-details/additional-questions-details/additional-questions-details.js +2 -2
  29. package/dist/collection/components/business-details/business-details.js +16 -12
  30. package/dist/collection/components/business-details/owner-details/owner-details.js +4 -1
  31. package/dist/collection/components/business-details/representative-details/representative-details.js +2 -2
  32. package/dist/collection/components/business-form/business-form-example.js +12 -0
  33. package/dist/collection/components/business-form/business-form-stepped-example.js +12 -0
  34. package/dist/collection/components/business-form/business-form-stepped.stories.js +1 -1
  35. package/dist/collection/components/details/utils.js +2 -2
  36. package/dist/collection/components/form/form-control-datepart.js +1 -1
  37. package/dist/collection/components/gross-payment-chart/example.js +12 -0
  38. package/dist/collection/components/gross-payment-chart/gross-payment-chart.js +20 -8
  39. package/dist/collection/components/payment-details/payment-details.js +21 -12
  40. package/dist/collection/components/payment-form/payment-form.js +16 -6
  41. package/dist/collection/components/payments-list/payments-list.js +21 -22
  42. package/dist/collection/components/payout-details/payout-details.js +19 -11
  43. package/dist/collection/components/payouts-list/payouts-list.js +20 -10
  44. package/dist/collection/components/subaccount-details/subaccount-details.js +2 -4
  45. package/dist/collection/components/table/table.css +5 -0
  46. package/dist/collection/components/table/table.js +2 -2
  47. package/dist/components/Payout.js +50 -2
  48. package/dist/components/additional-questions-details2.js +2 -2
  49. package/dist/components/form-control-datepart2.js +1 -1
  50. package/dist/components/justifi-business-details.js +15 -11
  51. package/dist/components/justifi-gross-payment-chart.js +21 -9
  52. package/dist/components/justifi-payment-details.js +21 -12
  53. package/dist/components/justifi-payment-form.js +16 -6
  54. package/dist/components/justifi-payments-list.js +22 -23
  55. package/dist/components/justifi-payout-details.js +19 -11
  56. package/dist/components/justifi-payouts-list.js +21 -11
  57. package/dist/components/justifi-subaccount-details.js +2 -4
  58. package/dist/components/owner-details2.js +4 -1
  59. package/dist/components/pagination-menu2.js +1 -1
  60. package/dist/components/payment-method-form.js +3 -1
  61. package/dist/components/representative-details2.js +2 -2
  62. package/dist/components/table.js +3 -3
  63. package/dist/components/utils.js +4 -4
  64. package/dist/esm/{Payout-fcf16887.js → Payout-586f06a3.js} +50 -2
  65. package/dist/esm/additional-questions-details_5.entry.js +9 -6
  66. package/dist/esm/form-control-datepart_2.entry.js +1 -1
  67. package/dist/esm/justifi-business-details.entry.js +17 -13
  68. package/dist/esm/justifi-business-form-stepped.entry.js +1 -1
  69. package/dist/esm/justifi-business-form.entry.js +1 -1
  70. package/dist/esm/justifi-business-list.entry.js +1 -1
  71. package/dist/esm/justifi-details.entry.js +1 -1
  72. package/dist/esm/justifi-gross-payment-chart.entry.js +23 -11
  73. package/dist/esm/justifi-payment-balance-transactions.entry.js +1 -1
  74. package/dist/esm/justifi-payment-details.entry.js +22 -13
  75. package/dist/esm/justifi-payment-form.entry.js +16 -6
  76. package/dist/esm/justifi-payment-method-form.entry.js +3 -1
  77. package/dist/esm/justifi-payments-list.entry.js +22 -23
  78. package/dist/esm/justifi-payout-details.entry.js +20 -12
  79. package/dist/esm/justifi-payouts-list.entry.js +21 -11
  80. package/dist/esm/justifi-proceeds-list.entry.js +1 -1
  81. package/dist/esm/justifi-refund-form.entry.js +1 -1
  82. package/dist/esm/justifi-subaccount-details.entry.js +4 -6
  83. package/dist/esm/justifi-subaccounts-list.entry.js +1 -1
  84. package/dist/esm/justifi-table_2.entry.js +4 -4
  85. package/dist/esm/subaccount-account-details_4.entry.js +1 -1
  86. package/dist/esm/subaccount-bank-details.entry.js +1 -1
  87. package/dist/esm/subaccount-terms-details.entry.js +1 -1
  88. package/dist/esm/{utils-6352c002.js → utils-d19c2778.js} +4 -4
  89. package/dist/types/api/Payment.d.ts +32 -5
  90. package/dist/types/api/Payout.d.ts +2 -2
  91. package/dist/types/components/business-details/business-details.d.ts +0 -1
  92. package/dist/types/components/payment-method-form/payment-method-responses.d.ts +7 -1
  93. package/dist/types/components/payments-list/payments-list.d.ts +1 -3
  94. package/dist/webcomponents/p-2140e9ba.entry.js +1 -0
  95. package/dist/webcomponents/{p-914d2284.entry.js → p-311250e2.entry.js} +1 -1
  96. package/dist/webcomponents/{p-2306d7aa.entry.js → p-3501b0e8.entry.js} +1 -1
  97. package/dist/webcomponents/{p-5e78d370.entry.js → p-3ed43465.entry.js} +1 -1
  98. package/dist/webcomponents/{p-29528eca.entry.js → p-3ee831ac.entry.js} +1 -1
  99. package/dist/webcomponents/{p-6075122d.entry.js → p-4214dbb8.entry.js} +1 -1
  100. package/dist/webcomponents/p-4852ce94.entry.js +1 -0
  101. package/dist/webcomponents/p-4ec00b55.entry.js +1 -0
  102. package/dist/webcomponents/p-5e6726a8.entry.js +1 -0
  103. package/dist/webcomponents/p-77a8bcea.entry.js +1 -0
  104. package/dist/webcomponents/p-86c23e1e.js +1 -0
  105. package/dist/webcomponents/{p-3fd6ff27.entry.js → p-91757d9f.entry.js} +1 -1
  106. package/dist/webcomponents/{p-984ff1aa.entry.js → p-98e4eae3.entry.js} +1 -1
  107. package/dist/webcomponents/p-9e012e33.entry.js +1 -0
  108. package/dist/webcomponents/p-a1ef6b4c.entry.js +1 -0
  109. package/dist/webcomponents/p-ac8ee442.entry.js +1 -0
  110. package/dist/webcomponents/{p-21998fea.entry.js → p-af771964.entry.js} +1 -1
  111. package/dist/webcomponents/{p-742188d9.entry.js → p-b60a58f4.entry.js} +1 -1
  112. package/dist/webcomponents/p-bc91044c.entry.js +1 -0
  113. package/dist/webcomponents/{p-ce2e68df.entry.js → p-c0f9f6a8.entry.js} +3 -3
  114. package/dist/webcomponents/{p-98bb3c6a.entry.js → p-c29c587f.entry.js} +1 -1
  115. package/dist/webcomponents/p-e12ab547.js +1 -0
  116. package/dist/webcomponents/{p-6444d443.entry.js → p-e7ef2455.entry.js} +1 -1
  117. package/dist/webcomponents/{p-5cf9128c.entry.js → p-ed8c9b88.entry.js} +1 -1
  118. package/dist/webcomponents/p-f2f0aa6e.entry.js +1 -0
  119. package/dist/webcomponents/webcomponents.esm.js +1 -1
  120. package/package.json +3 -2
  121. package/readme.md +38 -10
  122. package/dist/webcomponents/p-0e51a185.entry.js +0 -1
  123. package/dist/webcomponents/p-10210702.entry.js +0 -1
  124. package/dist/webcomponents/p-3b80dc4a.entry.js +0 -1
  125. package/dist/webcomponents/p-44271b0c.entry.js +0 -1
  126. package/dist/webcomponents/p-52643813.entry.js +0 -1
  127. package/dist/webcomponents/p-656a6bc8.entry.js +0 -1
  128. package/dist/webcomponents/p-76983a7e.js +0 -1
  129. package/dist/webcomponents/p-76dffeec.js +0 -1
  130. package/dist/webcomponents/p-884b8cf4.entry.js +0 -1
  131. package/dist/webcomponents/p-a82e7fcd.entry.js +0 -1
  132. package/dist/webcomponents/p-b0fbddb2.entry.js +0 -1
  133. package/dist/webcomponents/p-d89b1a78.entry.js +0 -1
@@ -1,8 +1,8 @@
1
1
  import { h } from "@stencil/core";
2
2
  export const LoadingState = (h("main", { part: "detail-loading-state", class: "p-4 d-flex justify-content-center text-center", style: { fontSize: '1.2rem' } }, h("div", { part: "detail-loading-spinner", class: "spinner-border spinner-border-sm", role: "status" }, h("span", { class: "visually-hidden" }, "Loading..."))));
3
3
  export const ErrorState = (errorMessage) => (h("main", { part: "detail-empty-state", class: "p-4 d-flex justify-content-center text-center", style: { fontSize: '1.2rem' } }, h("div", null, errorMessage)));
4
- export const DetailSection = ({ sectionTitle }, children) => (h("div", { part: "detail-section", class: "mt-4" }, h("h5", { part: "detail-section-title" }, sectionTitle), h("hr", null), h("div", { class: "d-flex flex-column justify-content-center gap-2 text-nowrap" }, children)));
5
- export const DetailItem = ({ title, value, }) => title && value ? (h("div", { class: "d-flex gap-2" }, h("span", { part: "detail-section-item-title", class: "fw-bold flex-1" }, title), h("span", { part: "detail-section-item-data", class: "flex-1", innerHTML: value }))) : null;
4
+ export const DetailSection = ({ sectionTitle }, children) => (h("div", { part: "detail-section", class: "mt-4" }, h("h5", { part: "detail-section-title" }, sectionTitle), h("hr", null), h("div", { class: "d-table gap-2 w-100" }, children)));
5
+ export const DetailItem = ({ title, value, }) => title && value ? (h("div", { class: "d-table-row gap-2" }, h("span", { part: "detail-section-item-title", class: "fw-bold d-table-cell px-2" }, title), h("span", { part: "detail-section-item-data", class: "flex-1 d-table-cell px-2 text-wrap", innerHTML: value }))) : null;
6
6
  export const EntityHeadInfoItem = ({ title, value, classes, }) => (h("div", { part: "detail-head-info-item", class: `d-flex flex-column ${classes}` }, h("span", { part: "detail-head-info-item-title", class: "fw-bold border-1 border-bottom ps-2 pe-2" }, title), h("span", { part: "detail-head-info-item-data", class: "pt-2 ps-2 pe-2" }, value)));
7
7
  export const EntityHeadInfo = ({ title, slot, badge }, children) => (h("div", { slot: slot, part: "detail-head", class: "p-2" }, h("div", { class: "d-flex flex-row align-items-center gap-2 mb-2" }, h("h1", { class: "m-0", part: "detail-title" }, title), badge), h("div", { part: "detail-head-info", class: "d-flex flex-row align-items-top" }, children)));
8
8
  export const CodeBlock = ({ metadata }) => metadata && Object.keys(metadata).length ? (h("div", { class: 'mt-4' }, h("pre", { part: "detail-metadata", class: "p-2", "aria-label": "metadata content" }, h("code", null, JSON.stringify(metadata, null, 2))))) : null;
@@ -47,7 +47,7 @@ export class DatePartInput {
47
47
  }
48
48
  updateInput(newValue) {
49
49
  if (this.imask) {
50
- this.imask.value = newValue;
50
+ this.imask.value = String(newValue);
51
51
  }
52
52
  }
53
53
  disconnectedCallback() {
@@ -0,0 +1,12 @@
1
+ import { head } from '../../../storybook-pages/example-parts';
2
+
3
+ export default `<DOCTYPE html>
4
+ <html dir="ltr" lang="en">
5
+
6
+ ${head('justifi-gross-payment-chart')}
7
+
8
+ <body>
9
+ <justifi-gross-payment-chart></justifi-gross-payment-chart>
10
+ </body>
11
+
12
+ </html>`;
@@ -31,15 +31,27 @@ export class GrossPaymentChart {
31
31
  return;
32
32
  }
33
33
  this.loading = true;
34
- const api = Api(this.authToken, config.proxyApiOrigin);
35
- const endpoint = `account/${this.accountId}/reports/gross_volume`;
36
- const response = await api.get(endpoint);
37
- if (!response.error) {
38
- this.total = response === null || response === void 0 ? void 0 : response.data.total;
39
- this.dates = response === null || response === void 0 ? void 0 : response.data.dates.reverse();
40
- this.endDate = this.dates[this.dates.length - 1].date;
34
+ try {
35
+ const api = Api(this.authToken, config.proxyApiOrigin);
36
+ const endpoint = `account/${this.accountId}/reports/gross_volume`;
37
+ const response = await api.get(endpoint);
38
+ if (!response.error) {
39
+ this.total = response === null || response === void 0 ? void 0 : response.data.total;
40
+ this.dates = response === null || response === void 0 ? void 0 : response.data.dates.reverse();
41
+ this.endDate = this.dates[this.dates.length - 1].date;
42
+ }
43
+ else {
44
+ this.errorMessage = `Error trying to fetch data : ${response.error}`;
45
+ console.error(this.errorMessage);
46
+ }
47
+ }
48
+ catch (error) {
49
+ this.errorMessage = `Error trying to fetch data : ${error}`;
50
+ console.error(this.errorMessage);
51
+ }
52
+ finally {
53
+ this.loading = false;
41
54
  }
42
- this.loading = false;
43
55
  }
44
56
  renderChart() {
45
57
  if (this.chart) {
@@ -1,6 +1,6 @@
1
1
  import { Host, h } from "@stencil/core";
2
- import { Api } from "../../api";
3
- import { MapPaymentStatusToBadge, formatCurrency, formatDate, formatTime } from "../../utils/utils";
2
+ import { Api, Payment } from "../../api";
3
+ import { MapPaymentStatusToBadge, formatCurrency, formatDate, formatTime, snakeCaseToHumanReadable } from "../../utils/utils";
4
4
  import { CodeBlock, DetailItem, DetailSection, EntityHeadInfo, EntityHeadInfoItem, ErrorState, LoadingState } from "../details/utils";
5
5
  import { config } from "../../../config";
6
6
  /**
@@ -42,26 +42,35 @@ export class PaymentDetails {
42
42
  this.fetchData();
43
43
  }
44
44
  async fetchData() {
45
- this.errorMessage = '';
46
45
  if (!this.paymentId || !this.authToken) {
47
46
  this.errorMessage = "Can not fetch any data without a PaymentID and an AuthToken";
48
47
  this.loading = false;
49
48
  return;
50
49
  }
51
50
  this.loading = true;
52
- const endpoint = `payments/${this.paymentId}`;
53
- const response = await Api(this.authToken, config.proxyApiOrigin).get(endpoint);
54
- if (!response.error) {
55
- this.payment = response.data;
51
+ try {
52
+ const endpoint = `payments/${this.paymentId}`;
53
+ const response = await Api(this.authToken, config.proxyApiOrigin).get(endpoint);
54
+ if (!response.error) {
55
+ this.payment = new Payment(response.data);
56
+ }
57
+ else {
58
+ const responseError = typeof response.error === 'string' ? response.error : response.error.message;
59
+ this.errorMessage = `Error trying to fetch data : ${responseError}`;
60
+ console.error(this.errorMessage);
61
+ }
56
62
  }
57
- else {
58
- this.errorMessage = typeof response.error === 'string' ? response.error : response.error.message;
63
+ catch (error) {
64
+ this.errorMessage = `Error trying to fetch data : ${error}`;
65
+ console.error(this.errorMessage);
66
+ }
67
+ finally {
68
+ this.loading = false;
59
69
  }
60
- this.loading = false;
61
70
  }
62
71
  render() {
63
- 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;
64
- return (h(Host, null, this.loading && LoadingState, !this.loading && this.errorMessage && ErrorState(this.errorMessage), !this.loading && this.payment && (h("justifi-details", { "error-message": this.errorMessage }, h(EntityHeadInfo, { slot: "head-info", badge: h("span", { slot: 'badge', innerHTML: MapPaymentStatusToBadge((_a = this.payment) === null || _a === void 0 ? void 0 : _a.status) }), title: `${formatCurrency(this.payment.amount)} ${this.payment.currency.toUpperCase()}` }, h(EntityHeadInfoItem, { classes: "border-1 border-end", title: "Updated At", value: `${formatDate((_b = this.payment) === null || _b === void 0 ? void 0 : _b.updated_at)} ${formatTime((_c = this.payment) === null || _c === void 0 ? void 0 : _c.updated_at)}` }), h(EntityHeadInfoItem, { classes: "border-1 border-end", title: "Created At", value: `${formatDate((_d = this.payment) === null || _d === void 0 ? void 0 : _d.created_at)} ${formatTime((_e = this.payment) === null || _e === void 0 ? void 0 : _e.created_at)}` }), h(EntityHeadInfoItem, { title: "ID", value: (_f = this.payment) === null || _f === void 0 ? void 0 : _f.id })), h("div", { slot: 'detail-sections' }, h(DetailSection, { sectionTitle: "Details" }, h(DetailItem, { title: "Amount", value: formatCurrency((_g = this.payment) === null || _g === void 0 ? void 0 : _g.amount) }), h(DetailItem, { title: "Fees", value: formatCurrency((_h = this.payment) === null || _h === void 0 ? void 0 : _h.fee_amount) }), h(DetailItem, { title: "Refunded", value: formatCurrency((_j = this.payment) === null || _j === void 0 ? void 0 : _j.amount_refunded) }), h(DetailItem, { title: "Net", value: formatCurrency((_k = this.payment) === null || _k === void 0 ? void 0 : _k.balance) }), h(DetailItem, { title: "Status", value: MapPaymentStatusToBadge((_l = this.payment) === null || _l === void 0 ? void 0 : _l.status) }), h(DetailItem, { title: "Payment ID", value: (_m = this.payment) === null || _m === void 0 ? void 0 : _m.id }), h(DetailItem, { title: "Processing Fees", value: formatCurrency((_o = this.payment) === null || _o === void 0 ? void 0 : _o.fee_amount) }), h(DetailItem, { title: "Statement Descriptor", value: (_p = this.payment) === null || _p === void 0 ? void 0 : _p.statement_descriptor }), h(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) && (h(DetailSection, { sectionTitle: "Payment Method" }, h(DetailItem, { title: "ID", value: (_s = this.payment) === null || _s === void 0 ? void 0 : _s.payment_method.card.id }), h(DetailItem, { title: "Payment Type", value: "Card" }), h(DetailItem, { title: "Last 4 Numbers", value: (_t = this.payment) === null || _t === void 0 ? void 0 : _t.payment_method.card.acct_last_four }), h(DetailItem, { title: "Brand", value: (_u = this.payment) === null || _u === void 0 ? void 0 : _u.payment_method.card.brand }), h(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) && (h(DetailSection, { sectionTitle: "Payment Method" }, h(DetailItem, { title: "ID", value: (_x = this.payment) === null || _x === void 0 ? void 0 : _x.payment_method.bank_account.id }), h(DetailItem, { title: "Last 4 Numbers", value: (_y = this.payment) === null || _y === void 0 ? void 0 : _y.payment_method.bank_account.acct_last_four }), h(DetailItem, { title: "Bank Name", value: (_z = this.payment) === null || _z === void 0 ? void 0 : _z.payment_method.bank_account.bank_name }), h(DetailItem, { title: "Account Owner", value: (_0 = this.payment) === null || _0 === void 0 ? void 0 : _0.payment_method.bank_account.account_owner_name }))), h(DetailSection, { sectionTitle: 'Metadata' }, h(CodeBlock, { metadata: (_1 = this.payment) === null || _1 === void 0 ? void 0 : _1.metadata })))))));
72
+ return (h(Host, null, this.loading && LoadingState, !this.loading && this.errorMessage && ErrorState(this.errorMessage), !this.loading && !this.errorMessage &&
73
+ this.payment && (h("justifi-details", { "error-message": this.errorMessage }, h(EntityHeadInfo, { slot: "head-info", badge: h("span", { slot: 'badge', innerHTML: MapPaymentStatusToBadge(this.payment.status) }), title: `${formatCurrency(this.payment.amount)} ${this.payment.currency.toUpperCase()}` }, h(EntityHeadInfoItem, { classes: "border-1 border-end", title: "Updated At", value: `${formatDate(this.payment.updated_at)} ${formatTime(this.payment.updated_at)}` }), h(EntityHeadInfoItem, { classes: "border-1 border-end", title: "Created At", value: `${formatDate(this.payment.created_at)} ${formatTime(this.payment.created_at)}` }), h(EntityHeadInfoItem, { title: "ID", value: this.payment.id })), h("div", { slot: 'detail-sections' }, h(DetailSection, { sectionTitle: "Details" }, h(DetailItem, { title: "Amount", value: formatCurrency(this.payment.amount) }), h(DetailItem, { title: "Fees", value: formatCurrency(this.payment.fee_amount) }), h(DetailItem, { title: "Refunded", value: formatCurrency(this.payment.amount_refunded) }), h(DetailItem, { title: "Net", value: formatCurrency(this.payment.balance) }), h(DetailItem, { title: "Status", value: MapPaymentStatusToBadge(this.payment.status) }), h(DetailItem, { title: "Payment ID", value: this.payment.id }), h(DetailItem, { title: "Processing Fees", value: formatCurrency(this.payment.fee_amount) }), h(DetailItem, { title: "Statement Descriptor", value: this.payment.statement_descriptor }), h(DetailItem, { title: "Description", value: this.payment.description })), this.payment.payment_method.card && (h(DetailSection, { sectionTitle: "Payment Method" }, h(DetailItem, { title: "ID", value: this.payment.payment_method.card.id }), h(DetailItem, { title: "Payment Type", value: "Card" }), h(DetailItem, { title: "Last 4 Numbers", value: this.payment.payment_method.lastFourDigits }), h(DetailItem, { title: "Brand", value: snakeCaseToHumanReadable(this.payment.payment_method.card.brand) }), h(DetailItem, { title: "Cardholder", value: this.payment.payment_method.payersName }))), this.payment.payment_method.bank_account && (h(DetailSection, { sectionTitle: "Payment Method" }, h(DetailItem, { title: "ID", value: this.payment.payment_method.bank_account.id }), h(DetailItem, { title: "Last 4 Numbers", value: this.payment.payment_method.lastFourDigits }), h(DetailItem, { title: "Bank Name", value: this.payment.payment_method.bank_account.brand }), h(DetailItem, { title: "Account Owner", value: this.payment.payment_method.payersName }))), h(DetailSection, { sectionTitle: 'Metadata' }, h(CodeBlock, { metadata: this.payment.metadata })))))));
65
74
  }
66
75
  static get is() { return "justifi-payment-details"; }
67
76
  static get encapsulation() { return "shadow"; }
@@ -63,11 +63,21 @@ export class PaymentForm {
63
63
  if (!billingFormValidation.isValid || !paymentMethodFormValidation.isValid)
64
64
  return;
65
65
  this.isLoading = true;
66
- const billingFormFieldValues = await this.billingFormRef.getValues();
67
- const paymentMethodData = Object.assign({ email: this.email }, billingFormFieldValues);
68
- const tokenizeResponse = await this.paymentMethodFormRef.tokenize(this.clientId, paymentMethodData, this.accountId);
69
- this.submitted.emit(tokenizeResponse);
70
- this.isLoading = false;
66
+ try {
67
+ const billingFormFieldValues = await this.billingFormRef.getValues();
68
+ const paymentMethodData = Object.assign({ email: this.email }, billingFormFieldValues);
69
+ const tokenizeResponse = await this.paymentMethodFormRef.tokenize(this.clientId, paymentMethodData, this.accountId);
70
+ if (tokenizeResponse.error) {
71
+ console.error(`An error occured submitting the form: ${tokenizeResponse.error.message}`);
72
+ }
73
+ this.submitted.emit(tokenizeResponse);
74
+ }
75
+ catch (error) {
76
+ console.error(`An error occured submitting the form: ${error}`);
77
+ }
78
+ finally {
79
+ this.isLoading = false;
80
+ }
71
81
  }
72
82
  render() {
73
83
  return (h(Host, null, h("form", { class: "row gy-3" }, this.allowedPaymentMethodTypes.length > 1 && (h("div", { class: "col-12" }, h("justifi-payment-method-selector", { paymentMethodTypes: this.allowedPaymentMethodTypes, selectedPaymentMethodType: this.selectedPaymentMethodType }))), h("div", { class: "col-12" }, h("justifi-payment-method-form", { "payment-method-form-type": this.selectedPaymentMethodType, "iframe-origin": this.iframeOrigin, ref: el => {
@@ -239,7 +249,7 @@ export class PaymentForm {
239
249
  },
240
250
  "complexType": {
241
251
  "original": "CreatePaymentMethodResponse",
242
- "resolved": "BankAccountCreateResponse | CardCreateResponse",
252
+ "resolved": "BankAccountCreateResponse | CardCreateResponse | PaymentMethodErrorResponse",
243
253
  "references": {
244
254
  "CreatePaymentMethodResponse": {
245
255
  "location": "import",
@@ -55,28 +55,27 @@ export class PaymentsList {
55
55
  return;
56
56
  }
57
57
  this.loading = true;
58
- const api = Api(this.authToken, config.proxyApiOrigin);
59
- const endpoint = `account/${this.accountId}/payments`;
60
- const response = await api.get(endpoint, this.params);
61
- if (!response.error) {
62
- this.paging = Object.assign(Object.assign({}, this.paging), response.page_info);
63
- const data = (_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.map(dataItem => new Payment(dataItem));
64
- this.payments = data;
65
- }
66
- else {
67
- this.errorMessage = typeof response.error === 'string' ? response.error : response.error.message;
58
+ try {
59
+ const api = Api(this.authToken, config.proxyApiOrigin);
60
+ const endpoint = `account/${this.accountId}/payments`;
61
+ const response = await api.get(endpoint, this.params);
62
+ if (!response.error) {
63
+ this.paging = Object.assign(Object.assign({}, this.paging), response.page_info);
64
+ const data = (_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.map(dataItem => new Payment(dataItem));
65
+ this.payments = data;
66
+ }
67
+ else {
68
+ const responseError = typeof response.error === 'string' ? response.error : response.error.message;
69
+ console.error(`Error fetching payments: ${responseError}`);
70
+ this.errorMessage = 'No results';
71
+ }
68
72
  }
69
- this.loading = false;
70
- }
71
- getPaymentMethod(paymentMethod) {
72
- return paymentMethod.card || paymentMethod.bank_account;
73
- }
74
- getPaymentMethodName(paymentMethod) {
75
- if (paymentMethod.card) {
76
- return paymentMethod.card.name;
73
+ catch (error) {
74
+ console.error(`Error fetching payments: ${error.message}`);
75
+ this.errorMessage = 'No results';
77
76
  }
78
- else {
79
- return paymentMethod.bank_account.account_owner_name;
77
+ finally {
78
+ this.loading = false;
80
79
  }
81
80
  }
82
81
  render() {
@@ -104,8 +103,8 @@ export class PaymentsList {
104
103
  },
105
104
  formatCurrency(payment.amount),
106
105
  payment.description,
107
- this.getPaymentMethodName(payment.payment_method),
108
- this.getPaymentMethod(payment.payment_method).acct_last_four,
106
+ payment.payment_method.payersName,
107
+ payment.payment_method.lastFourDigits,
109
108
  {
110
109
  type: 'inner',
111
110
  value: MapPaymentStatusToBadge(payment.status)
@@ -1,5 +1,5 @@
1
1
  import { Host, h } from "@stencil/core";
2
- import { Api } from "../../api";
2
+ import { Api, Payout } from "../../api";
3
3
  import { MapPayoutStatusToBadge, formatCurrency, formatDate, formatTime } from "../../utils/utils";
4
4
  import { CodeBlock, DetailItem, DetailSection, EntityHeadInfo, EntityHeadInfoItem, ErrorState, LoadingState } from "../details/utils";
5
5
  import { config } from "../../../config";
@@ -49,21 +49,29 @@ export class PaymentDetails {
49
49
  return;
50
50
  }
51
51
  this.loading = true;
52
- const endpoint = `payouts/${this.payoutId}`;
53
- const response = await Api(this.authToken, config.proxyApiOrigin).get(endpoint);
54
- if (!response.error) {
55
- this.payout = response.data;
52
+ try {
53
+ const endpoint = `payouts/${this.payoutId}`;
54
+ const response = await Api(this.authToken, config.proxyApiOrigin).get(endpoint);
55
+ if (!response.error) {
56
+ this.payout = new Payout(response.data);
57
+ }
58
+ else {
59
+ const responseError = typeof response.error === 'string' ? response.error : response.error.message;
60
+ this.errorMessage = `Error fetching payout details: ${responseError}`;
61
+ console.error(this.errorMessage);
62
+ }
56
63
  }
57
- else {
58
- this.errorMessage = typeof response.error === 'string' ? response.error : response.error.message;
64
+ catch (error) {
65
+ this.errorMessage = `Error fetching payout details: ${error}`;
66
+ console.error(this.errorMessage);
67
+ }
68
+ finally {
69
+ this.loading = false;
59
70
  }
60
- this.loading = false;
61
71
  }
62
72
  render() {
63
73
  var _a;
64
- return (h(Host, null, this.loading ? LoadingState :
65
- !this.payout ? ErrorState(this.errorMessage) :
66
- h("justifi-details", { "error-message": this.errorMessage }, h(EntityHeadInfo, { slot: "head-info", badge: h("span", { slot: 'badge', innerHTML: MapPayoutStatusToBadge((_a = this.payout) === null || _a === void 0 ? void 0 : _a.status) }), title: `${formatCurrency(this.payout.amount)} ${this.payout.currency.toUpperCase()}` }, h(EntityHeadInfoItem, { classes: "border-1 border-end", title: "Updated At", value: `${formatDate(this.payout.updated_at)} ${formatTime(this.payout.updated_at)}` }), h(EntityHeadInfoItem, { classes: "border-1 border-end", title: "Created At", value: `${formatDate(this.payout.created_at)} ${formatTime(this.payout.created_at)}` }), h(EntityHeadInfoItem, { title: "ID", value: this.payout.id })), h("div", { slot: 'detail-sections' }, h(DetailSection, { sectionTitle: "Details" }, h(DetailItem, { title: "Date paid", value: formatDate(this.payout.deposits_at) }), h(DetailItem, { title: "Statement Description", value: this.payout.description }), h(DetailItem, { title: "Payout Method", value: this.payout.delivery_method }), h(DetailItem, { title: "Amount", value: formatCurrency(this.payout.amount) }), h(DetailItem, { title: "Fee", value: formatCurrency(this.payout.fees_total) })), h(DetailSection, { sectionTitle: "Account" }, h(DetailItem, { title: "ID", value: this.payout.account_id }), h(DetailItem, { title: "Account Type", value: this.payout.bank_account.account_type }), h(DetailItem, { title: "Institution", value: this.payout.bank_account.account_type }), h(DetailItem, { title: "Routing Number", value: this.payout.bank_account.routing_number }), h(DetailItem, { title: "Account Number", value: this.payout.bank_account.account_number_last4 })), h(DetailSection, { sectionTitle: 'Metadata' }, h(CodeBlock, { metadata: this.payout.metadata }))))));
74
+ return (h(Host, null, this.loading && LoadingState, !this.loading && this.errorMessage && ErrorState(this.errorMessage), !this.loading && this.payout && (h("justifi-details", { "error-message": this.errorMessage }, h(EntityHeadInfo, { slot: "head-info", badge: h("span", { slot: 'badge', innerHTML: MapPayoutStatusToBadge((_a = this.payout) === null || _a === void 0 ? void 0 : _a.status) }), title: `${formatCurrency(this.payout.amount)} ${this.payout.currency.toUpperCase()}` }, h(EntityHeadInfoItem, { classes: "border-1 border-end", title: "Updated At", value: `${formatDate(this.payout.updated_at)} ${formatTime(this.payout.updated_at)}` }), h(EntityHeadInfoItem, { classes: "border-1 border-end", title: "Created At", value: `${formatDate(this.payout.created_at)} ${formatTime(this.payout.created_at)}` }), h(EntityHeadInfoItem, { title: "ID", value: this.payout.id })), h("div", { slot: 'detail-sections' }, h(DetailSection, { sectionTitle: "Details" }, h(DetailItem, { title: "Date paid", value: formatDate(this.payout.deposits_at) }), h(DetailItem, { title: "Statement Description", value: this.payout.description }), h(DetailItem, { title: "Payout Method", value: this.payout.delivery_method }), h(DetailItem, { title: "Amount", value: formatCurrency(this.payout.amount) }), h(DetailItem, { title: "Fee", value: formatCurrency(this.payout.fees_total) })), h(DetailSection, { sectionTitle: "Account" }, h(DetailItem, { title: "ID", value: this.payout.account_id }), h(DetailItem, { title: "Account Type", value: this.payout.bank_account.account_type }), h(DetailItem, { title: "Institution", value: this.payout.bank_account.account_type }), h(DetailItem, { title: "Routing Number", value: this.payout.bank_account.routing_number }), h(DetailItem, { title: "Account Number", value: this.payout.bank_account.account_number_last4 })), h(DetailSection, { sectionTitle: 'Metadata' }, h(CodeBlock, { metadata: this.payout.metadata })))))));
67
75
  }
68
76
  static get is() { return "justifi-payout-details"; }
69
77
  static get encapsulation() { return "shadow"; }
@@ -71,18 +71,28 @@ export class PayoutsList {
71
71
  return;
72
72
  }
73
73
  this.loading = true;
74
- const api = Api(this.authToken, config.proxyApiOrigin);
75
- const endpoint = `account/${this.accountId}/payouts`;
76
- const response = await api.get(endpoint, this.params);
77
- if (!response.error) {
78
- this.paging = Object.assign(Object.assign({}, this.paging), response.page_info);
79
- const data = (_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.map(dataItem => new Payout(dataItem));
80
- this.payouts = data;
74
+ try {
75
+ const api = Api(this.authToken, config.proxyApiOrigin);
76
+ const endpoint = `account/${this.accountId}/payouts`;
77
+ const response = await api.get(endpoint, this.params);
78
+ if (!response.error) {
79
+ this.paging = Object.assign(Object.assign({}, this.paging), response.page_info);
80
+ const data = (_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.map(dataItem => new Payout(dataItem));
81
+ this.payouts = data;
82
+ }
83
+ else {
84
+ const responseError = typeof response.error === 'string' ? response.error : response.error.message;
85
+ console.error(`Error fetching payouts: ${responseError}`);
86
+ this.errorMessage = 'No results';
87
+ }
81
88
  }
82
- else {
83
- this.errorMessage = typeof response.error === 'string' ? response.error : response.error.message;
89
+ catch (error) {
90
+ console.error(`Error fetching payouts: ${error}`);
91
+ this.errorMessage = 'No results';
92
+ }
93
+ finally {
94
+ this.loading = false;
84
95
  }
85
- this.loading = false;
86
96
  }
87
97
  render() {
88
98
  return (h(Host, null, h("justifi-table", { rowClickHandler: (e) => {
@@ -55,10 +55,8 @@ export class SubaccountDetails {
55
55
  this.loading = false;
56
56
  }
57
57
  render() {
58
- var _a, _b, _c, _d, _e, _f;
59
- return (h(Host, null, this.loading ? LoadingState :
60
- !this.subaccount || !this.onboardingData ? ErrorState(this.errorMessage) :
61
- h("justifi-details", null, h(EntityHeadInfo, { slot: 'head-info', badge: h("span", { slot: 'badge', innerHTML: MapSubAccountStatusToBadge((_a = this.subaccount) === null || _a === void 0 ? void 0 : _a.status) }), title: (_b = this.subaccount) === null || _b === void 0 ? void 0 : _b.name }, h(EntityHeadInfoItem, { classes: "border-1 border-end", title: "Created At", value: `${formatDate(this.subaccount.created_at)} ${formatTime(this.subaccount.created_at)}` }), h(EntityHeadInfoItem, { classes: "border-1 border-end", title: "Last Updated", value: `${formatDate(this.subaccount.updated_at)} ${formatTime(this.subaccount.updated_at)}` }), h(EntityHeadInfoItem, { title: "ID", value: this.subaccount.id })), h("div", { slot: 'detail-sections' }, h("subaccount-account-details", { subaccount: this.subaccount, onboardingData: this.onboardingData }), h("subaccount-merchant-details", { onboardingData: this.onboardingData }), h("subaccount-representative-details", { data: (_d = (_c = this.onboardingData) === null || _c === void 0 ? void 0 : _c.payload) === null || _d === void 0 ? void 0 : _d.representative }), h("subaccount-owners-details", { data: (_f = (_e = this.onboardingData) === null || _e === void 0 ? void 0 : _e.payload) === null || _f === void 0 ? void 0 : _f.owners })))));
58
+ var _a, _b;
59
+ return (h(Host, null, this.loading && LoadingState, !this.loading && this.errorMessage && ErrorState(this.errorMessage), !this.loading && this.subaccount && this.onboardingData && (h("justifi-details", null, h(EntityHeadInfo, { slot: 'head-info', badge: h("span", { slot: 'badge', innerHTML: MapSubAccountStatusToBadge(this.subaccount.status) }), title: this.subaccount.name }, h(EntityHeadInfoItem, { classes: "border-1 border-end", title: "Created At", value: `${formatDate(this.subaccount.created_at)} ${formatTime(this.subaccount.created_at)}` }), h(EntityHeadInfoItem, { classes: "border-1 border-end", title: "Last Updated", value: `${formatDate(this.subaccount.updated_at)} ${formatTime(this.subaccount.updated_at)}` }), h(EntityHeadInfoItem, { title: "ID", value: this.subaccount.id })), h("div", { slot: 'detail-sections' }, h("subaccount-account-details", { subaccount: this.subaccount, onboardingData: this.onboardingData }), h("subaccount-merchant-details", { onboardingData: this.onboardingData }), h("subaccount-representative-details", { data: (_a = this.onboardingData.payload) === null || _a === void 0 ? void 0 : _a.representative }), h("subaccount-owners-details", { data: (_b = this.onboardingData.payload) === null || _b === void 0 ? void 0 : _b.owners }))))));
62
60
  }
63
61
  static get is() { return "justifi-subaccount-details"; }
64
62
  static get encapsulation() { return "shadow"; }
@@ -8074,4 +8074,9 @@ progress {
8074
8074
  font-weight: 400;
8075
8075
  line-height: 1.5;
8076
8076
  color: #212529;
8077
+ table-layout: fixed;
8078
+ }
8079
+
8080
+ .table-wrapper {
8081
+ overflow-x: scroll;
8077
8082
  }
@@ -29,7 +29,7 @@ export class Table {
29
29
  render() {
30
30
  var _a, _b, _c;
31
31
  return (h(Host, { exportparts: "\n table-head,table-head-row,table-head-cell,table-body,table-row,table-row-even,\n table-row-odd,table-cell,loading-state-cell,loading-state-spinner,error-state,\n empty-state,pagination-bar,arrow,arrow-left,arrow-right,button-disabled,\n previous-button-text,next-button-text\n " }, this.columnData ?
32
- h("table", { class: "table table-hover" }, h("thead", { class: "table-head sticky-top", part: "table-head" }, h("tr", { class: "table-light", part: 'table-head-row' }, (_a = this.columnData) === null || _a === void 0 ? void 0 : _a.map((column) => h("th", { part: "table-head-cell", scope: "col", title: Array.isArray(column) ? column[1] : '' }, !Array.isArray(column) ? column : column[0])))), h("tbody", { class: "table-body", part: 'table-body' }, this.loading ? this.loadingState() :
32
+ h("div", { class: "table-wrapper" }, h("table", { class: "table table-hover" }, h("thead", { class: "table-head sticky-top", part: "table-head" }, h("tr", { class: "table-light text-nowrap", part: 'table-head-row' }, (_a = this.columnData) === null || _a === void 0 ? void 0 : _a.map((column) => h("th", { part: "table-head-cell", scope: "col", title: Array.isArray(column) ? column[1] : '' }, !Array.isArray(column) ? column : column[0])))), h("tbody", { class: "table-body", part: 'table-body' }, this.loading ? this.loadingState() :
33
33
  this.errorMessage ? this.errorState() :
34
34
  this.showEmptyState() ? this.emptyState() :
35
35
  (_b = this.rowData) === null || _b === void 0 ? void 0 : _b.map((data, index) => {
@@ -39,7 +39,7 @@ export class Table {
39
39
  : h("th", { scope: "row", part: "table-cell" }, h("td", { part: "table-cell", innerHTML: dataEntry.value })));
40
40
  })));
41
41
  })), this.paging &&
42
- h("tfoot", { class: "sticky-bottom" }, h("tr", { class: "table-light align-middle" }, h("td", { part: "pagination-bar", colSpan: (_c = this.columnData) === null || _c === void 0 ? void 0 : _c.length }, h("pagination-menu", { paging: this.paging, params: this.params })))))
42
+ h("tfoot", { class: "sticky-bottom" }, h("tr", { class: "table-light align-middle" }, h("td", { part: "pagination-bar", colSpan: (_c = this.columnData) === null || _c === void 0 ? void 0 : _c.length }, h("pagination-menu", { paging: this.paging, params: this.params }))))))
43
43
  :
44
44
  h("div", { "data-test-id": "empty-error-state" }, "Column data is required")));
45
45
  }
@@ -24,6 +24,54 @@ var PaymentDisputedStatuses;
24
24
  PaymentDisputedStatuses["lost"] = "lost";
25
25
  PaymentDisputedStatuses["open"] = "open";
26
26
  })(PaymentDisputedStatuses || (PaymentDisputedStatuses = {}));
27
+ class PaymentMethod {
28
+ constructor(paymentMethod) {
29
+ this.card = paymentMethod.card ? new Card(paymentMethod.card) : undefined;
30
+ this.bank_account = paymentMethod.bank_account
31
+ ? new BankAccount(paymentMethod.bank_account)
32
+ : undefined;
33
+ }
34
+ get payersName() {
35
+ if (this.card) {
36
+ return this.card.name;
37
+ }
38
+ else if (this.bank_account) {
39
+ return this.bank_account.name;
40
+ }
41
+ return null;
42
+ }
43
+ get lastFourDigits() {
44
+ if (this.card) {
45
+ return `**** ${this.card.acct_last_four}`;
46
+ }
47
+ else if (this.bank_account) {
48
+ return `**** ${this.bank_account.acct_last_four}`;
49
+ }
50
+ return null;
51
+ }
52
+ }
53
+ class BankAccount {
54
+ constructor(bankAccount) {
55
+ this.id = bankAccount.id;
56
+ this.acct_last_four = bankAccount.acct_last_four;
57
+ this.name = bankAccount.name;
58
+ this.brand = bankAccount.brand;
59
+ this.token = bankAccount.token;
60
+ this.created_at = bankAccount.created_at;
61
+ this.updated_at = bankAccount.updated_at;
62
+ }
63
+ }
64
+ class Card {
65
+ constructor(card) {
66
+ this.id = card.id || '';
67
+ this.acct_last_four = card.acct_last_four;
68
+ this.name = card.name;
69
+ this.brand = card.brand;
70
+ this.token = card.token;
71
+ this.created_at = card.created_at;
72
+ this.updated_at = card.updated_at;
73
+ }
74
+ }
27
75
  class Payment {
28
76
  constructor(payment) {
29
77
  this.id = payment.id;
@@ -44,7 +92,7 @@ class Payment {
44
92
  this.fee_amount = payment.fee_amount;
45
93
  this.is_test = payment.is_test;
46
94
  this.metadata = payment.metadata;
47
- this.payment_method = payment.payment_method;
95
+ this.payment_method = new PaymentMethod(payment.payment_method);
48
96
  this.payment_intent_id = payment.payment_intent_id;
49
97
  this.refunded = payment.refunded;
50
98
  this.status = payment.status;
@@ -128,4 +176,4 @@ class Payout {
128
176
  }
129
177
  }
130
178
 
131
- export { PaymentBalanceTransaction as P, PaymentMethodTypes as a, Payment as b, PayoutStatuses as c, PayoutStatusesSafeNames as d, Payout as e };
179
+ export { PaymentBalanceTransaction as P, Payment as a, PaymentMethodTypes as b, Payout as c, PayoutStatuses as d, PayoutStatusesSafeNames as e };
@@ -11,8 +11,8 @@ const AdditionalQuestionsDetails = /*@__PURE__*/ proxyCustomElement(class Additi
11
11
  this.business = undefined;
12
12
  }
13
13
  render() {
14
- var _a, _b, _c, _d, _e, _f, _g, _h;
15
- return (h(Host, null, h(DetailSection, { sectionTitle: "Additional Questions" }, h("div", { class: "row gy-3" }, h("div", { class: "col-12 col-md-6" }, h(DetailItem, { title: "Business Revenue", value: (_b = (_a = this.business) === null || _a === void 0 ? void 0 : _a.additional_questions.business_revenue) === null || _b === void 0 ? void 0 : _b.toString() }), h(DetailItem, { title: "Business Payment Volume", value: (_d = (_c = this.business) === null || _c === void 0 ? void 0 : _c.additional_questions.business_payment_volume) === null || _d === void 0 ? void 0 : _d.toString() })), h("div", { class: "col-12 col-md-6" }, h(DetailItem, { title: "Business Dispute Volume", value: (_f = (_e = this.business) === null || _e === void 0 ? void 0 : _e.additional_questions.business_dispute_volume) === null || _f === void 0 ? void 0 : _f.toString() }), h(DetailItem, { title: "Business Receivable Volume", value: (_h = (_g = this.business) === null || _g === void 0 ? void 0 : _g.additional_questions.business_receivable_volume) === null || _h === void 0 ? void 0 : _h.toString() }))))));
14
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
15
+ return (h(Host, null, h(DetailSection, { sectionTitle: "Additional Questions" }, h("div", { class: "row gy-3" }, h("div", { class: "col-12 col-md-6" }, h(DetailItem, { title: "Business Revenue", value: (_c = (_b = (_a = this.business) === null || _a === void 0 ? void 0 : _a.additional_questions) === null || _b === void 0 ? void 0 : _b.business_revenue) === null || _c === void 0 ? void 0 : _c.toString() }), h(DetailItem, { title: "Business Payment Volume", value: (_f = (_e = (_d = this.business) === null || _d === void 0 ? void 0 : _d.additional_questions) === null || _e === void 0 ? void 0 : _e.business_payment_volume) === null || _f === void 0 ? void 0 : _f.toString() })), h("div", { class: "col-12 col-md-6" }, h(DetailItem, { title: "Business Dispute Volume", value: (_j = (_h = (_g = this.business) === null || _g === void 0 ? void 0 : _g.additional_questions) === null || _h === void 0 ? void 0 : _h.business_dispute_volume) === null || _j === void 0 ? void 0 : _j.toString() }), h(DetailItem, { title: "Business Receivable Volume", value: (_m = (_l = (_k = this.business) === null || _k === void 0 ? void 0 : _k.additional_questions) === null || _l === void 0 ? void 0 : _l.business_receivable_volume) === null || _m === void 0 ? void 0 : _m.toString() }))))));
16
16
  }
17
17
  static get style() { return additionalQuestionsDetailsCss; }
18
18
  }, [1, "additional-questions-details", {
@@ -55,7 +55,7 @@ const DatePartInput = /*@__PURE__*/ proxyCustomElement(class DatePartInput exten
55
55
  }
56
56
  updateInput(newValue) {
57
57
  if (this.imask) {
58
- this.imask.value = newValue;
58
+ this.imask.value = String(newValue);
59
59
  }
60
60
  }
61
61
  disconnectedCallback() {
@@ -29,15 +29,16 @@ const BusinessDetails = /*@__PURE__*/ proxyCustomElement(class BusinessDetails e
29
29
  this.renderState = RENDER_STATES.LOADING;
30
30
  this.errorMessage = 'An error ocurred.';
31
31
  this.fetchBusiness = this.fetchBusiness.bind(this);
32
- this.setError = this.setError.bind(this);
33
32
  }
34
33
  async componentWillLoad() {
35
34
  if (!this.authToken) {
36
- this.setError('Missing auth-token. The form will not be functional without it.');
35
+ this.errorMessage = 'Missing auth-token. The form will not be functional without it.';
36
+ console.error(this.errorMessage);
37
37
  return;
38
38
  }
39
39
  if (!this.businessId) {
40
- this.setError('Missing business-id. The form will not be functional without it.');
40
+ this.errorMessage = 'Missing business-id. The form will not be functional without it.';
41
+ console.error(this.errorMessage);
41
42
  return;
42
43
  }
43
44
  this.api = Api(this.authToken, config.proxyApiOrigin);
@@ -48,27 +49,30 @@ const BusinessDetails = /*@__PURE__*/ proxyCustomElement(class BusinessDetails e
48
49
  try {
49
50
  const response = await this.api.get(`entities/business/${businessId}`);
50
51
  if (response.error) {
51
- this.setError(response.error.message);
52
+ this.errorMessage = `${this.errorMessage}: ${response.error}`;
53
+ console.error(this.errorMessage);
54
+ this.renderState = RENDER_STATES.ERROR;
52
55
  return;
53
56
  }
54
57
  this.business = response.data;
55
58
  this.renderState = RENDER_STATES.READY;
56
59
  }
57
60
  catch (error) {
58
- this.setError(error);
61
+ this.errorMessage = `${this.errorMessage}: ${error}`;
62
+ console.error(this.errorMessage);
63
+ this.renderState = RENDER_STATES.ERROR;
64
+ }
65
+ finally {
66
+ this.renderState = RENDER_STATES.READY;
59
67
  }
60
- }
61
- setError(error) {
62
- this.errorMessage = error || this.errorMessage;
63
- this.renderState = RENDER_STATES.ERROR;
64
68
  }
65
69
  render() {
66
70
  var _a, _b, _c;
67
71
  if (this.renderState === RENDER_STATES.LOADING) {
68
- return LoadingState;
72
+ return h(Host, null, LoadingState);
69
73
  }
70
74
  if (this.renderState === RENDER_STATES.ERROR) {
71
- return ErrorState(this.errorMessage);
75
+ return h(Host, null, ErrorState(this.errorMessage));
72
76
  }
73
77
  return (h(Host, null, h("generic-info-details", { business: this.business }), h("legal-address-details", { legalAddress: (_a = this.business) === null || _a === void 0 ? void 0 : _a.legal_address }), h("representative-details", { representative: (_b = this.business) === null || _b === void 0 ? void 0 : _b.representative }), h("owner-details", { owners: (_c = this.business) === null || _c === void 0 ? void 0 : _c.owners }), h("additional-questions-details", { business: this.business })));
74
78
  }
@@ -10992,15 +10992,27 @@ const GrossPaymentChart = /*@__PURE__*/ proxyCustomElement(class GrossPaymentCha
10992
10992
  return;
10993
10993
  }
10994
10994
  this.loading = true;
10995
- const api = Api(this.authToken, config.proxyApiOrigin);
10996
- const endpoint = `account/${this.accountId}/reports/gross_volume`;
10997
- const response = await api.get(endpoint);
10998
- if (!response.error) {
10999
- this.total = response === null || response === void 0 ? void 0 : response.data.total;
11000
- this.dates = response === null || response === void 0 ? void 0 : response.data.dates.reverse();
11001
- this.endDate = this.dates[this.dates.length - 1].date;
11002
- }
11003
- this.loading = false;
10995
+ try {
10996
+ const api = Api(this.authToken, config.proxyApiOrigin);
10997
+ const endpoint = `account/${this.accountId}/reports/gross_volume`;
10998
+ const response = await api.get(endpoint);
10999
+ if (!response.error) {
11000
+ this.total = response === null || response === void 0 ? void 0 : response.data.total;
11001
+ this.dates = response === null || response === void 0 ? void 0 : response.data.dates.reverse();
11002
+ this.endDate = this.dates[this.dates.length - 1].date;
11003
+ }
11004
+ else {
11005
+ this.errorMessage = `Error trying to fetch data : ${response.error}`;
11006
+ console.error(this.errorMessage);
11007
+ }
11008
+ }
11009
+ catch (error) {
11010
+ this.errorMessage = `Error trying to fetch data : ${error}`;
11011
+ console.error(this.errorMessage);
11012
+ }
11013
+ finally {
11014
+ this.loading = false;
11015
+ }
11004
11016
  }
11005
11017
  renderChart() {
11006
11018
  if (this.chart) {