@tesouro/embedded-components-react 0.5.169 → 0.5.171

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 (129) hide show
  1. package/dist/index.css +39 -17
  2. package/dist/index.js +1 -1
  3. package/dist/lib/BillPayWidget.js +1 -1
  4. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/data-access/dist/index.js +11 -11
  5. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/data-access/dist/index17.js +95 -80
  6. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/data-access/dist/index7.js +37 -11
  7. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index.js +13 -15
  8. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index10.js +56 -67
  9. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index11.js +4 -43
  10. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index12.js +6 -115
  11. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index13.js +202 -63
  12. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index14.js +2 -4
  13. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index15.js +1 -1
  14. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index19.js +84 -4
  15. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index20.js +3 -84
  16. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index21.js +5 -4
  17. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index22.js +4 -5
  18. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index23.js +32 -3
  19. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index24.js +36 -30
  20. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index25.js +167 -35
  21. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index26.js +40 -164
  22. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index27.js +1 -49
  23. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index28.js +50 -1
  24. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index29.js +11 -45
  25. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index30.js +8 -13
  26. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index31.js +14 -8
  27. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index32.js +59 -7
  28. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index33.js +8 -64
  29. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index34.js +24 -8
  30. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index35.js +150 -18
  31. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index36.js +9 -152
  32. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index37.js +25 -9
  33. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index38.js +19 -21
  34. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index39.js +32 -14
  35. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index40.js +14 -39
  36. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index41.js +8 -16
  37. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index42.js +4 -8
  38. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index43.js +98 -4
  39. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index44.js +68 -83
  40. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index45.js +3 -83
  41. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index46.js +143 -3
  42. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index47.js +44 -143
  43. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index48.js +114 -45
  44. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index49.js +189 -111
  45. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index5.js +13 -0
  46. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index50.js +72 -186
  47. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index51.js +31 -76
  48. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index52.js +89 -32
  49. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index53.js +406 -83
  50. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index54.js +12 -411
  51. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index55.js +84 -12
  52. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index56.js +67 -72
  53. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index57.js +222 -73
  54. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index58.js +37 -223
  55. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index59.js +245 -37
  56. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index6.js +5 -23
  57. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index60.js +23 -252
  58. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index61.js +626 -21
  59. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index62.js +4 -586
  60. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index63.js +45 -4
  61. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index64.js +256 -41
  62. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index65.js +3 -263
  63. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index66.js +4 -3
  64. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index67.js +44 -2
  65. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index68.js +1 -46
  66. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index69.js +8 -1
  67. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index7.js +22 -57
  68. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index70.js +11 -6
  69. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index71.js +130 -11
  70. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index72.js +3 -132
  71. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index73.js +6 -3
  72. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index74.js +129 -3
  73. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index75.js +8 -124
  74. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index76.js +7 -8
  75. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index77.js +82 -8
  76. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index78.js +19 -48
  77. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index79.js +20 -21
  78. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index8.js +14 -6
  79. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index80.js +28 -19
  80. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index81.js +82 -27
  81. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index82.js +47 -83
  82. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index83.js +260 -47
  83. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index84.js +24 -251
  84. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index85.js +382 -25
  85. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index86.js +294 -144
  86. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index87.js +4 -223
  87. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index88.js +7 -4
  88. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index89.js +112 -5
  89. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index9.js +37 -5
  90. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index90.js +1 -114
  91. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index91.js +26 -0
  92. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index.js +18 -21
  93. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index100.js +126 -10
  94. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index101.js +1 -105
  95. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index102.js +33 -2
  96. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index103.js +7 -28
  97. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index104.js +126 -73
  98. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index105.js +1 -1
  99. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index106.js +11 -30
  100. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index107.js +106 -8
  101. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index108.js +2 -181
  102. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index109.js +10 -2
  103. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index110.js +50 -12
  104. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index111.js +2 -108
  105. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index38.js +6 -0
  106. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index46.js +8 -4
  107. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index73.js +8 -1
  108. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index74.js +154 -23
  109. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index83.js +1 -0
  110. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index84.js +343 -250
  111. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index90.js +5 -123
  112. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index91.js +28 -26
  113. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index92.js +2 -94
  114. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index93.js +7 -2
  115. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index94.js +32 -5
  116. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index95.js +2 -30
  117. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index96.js +12 -2
  118. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index97.js +104 -5
  119. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index98.js +2 -34
  120. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index99.js +31 -2
  121. package/dist/libs/tesouro-embedded-components-react/shared/feature/dist/lib/analytics/build-info.js +1 -1
  122. package/dist/libs/tesouro-embedded-components-react/widget-suite/feature/dist/index8.js +1 -1
  123. package/dist/packages/shared-ui-shadcn/dist/index.js +2458 -2284
  124. package/package.json +2 -1
  125. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index92.js +0 -27
  126. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index112.js +0 -2
  127. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index113.js +0 -10
  128. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index114.js +0 -52
  129. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index115.js +0 -2
@@ -1,83 +1,232 @@
1
- import { BILL_CREATE_MESSAGE_LABELS_EN as e } from "./index50.js";
2
- import { isPersistableLineItem as t, parseMoneyToMinorUnits as n, parseQuantity as r } from "./index56.js";
1
+ "use client";
2
+ "use client";
3
+ "use client";
4
+ "use client";
5
+ import { toast as e } from "../../../../../packages/shared-ui-shadcn/dist/index.js";
6
+ import "../../../shared/ui/dist/index.js";
7
+ import { extractApiErrorMessage as t } from "../../../shared/util/dist/lib/apiErrors.js";
8
+ import { useReplacePayableLineItemsMutation as n } from "../../data-access/dist/index10.js";
9
+ import { useCreatePayableMutation as r, useDeletePayableFileMutation as i, useSubmitPayableForApprovalMutation as a, useUpdatePayableMutation as o, useValidatePayableMutation as s } from "../../data-access/dist/index13.js";
10
+ import "../../data-access/dist/index.js";
11
+ import { BILL_CREATE_MESSAGE_LABELS_EN as c } from "./index49.js";
12
+ import { encodeFileToBase64 as l } from "./index54.js";
13
+ import { mapBillFormToPayload as u, mapLineItemsToPayload as ee, mapPayableAmountFieldsToPayload as te } from "./index55.js";
14
+ import { validateBillCompleteness as ne, validateBillTotalIsPayable as d, validateBillTotals as re, validateBillValues as f, validateLineItems as p, validateStoredAmountDue as m } from "./index56.js";
15
+ import { useCallback as h, useRef as ie, useState as g } from "react";
3
16
  //#region ../../libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index57.js
4
- var i = /^(?:\d{1,3}(?:,\d{3})+(?:\.\d+)?|\d+(?:\.\d+)?|\.\d+)$/, a = 255, o = 10, s = 5, c = 30, l = 864e5;
5
- function u() {
6
- let e = /* @__PURE__ */ new Date();
7
- return Date.UTC(e.getFullYear(), e.getMonth(), e.getDate());
17
+ var _ = {
18
+ document_id: "invoiceNumber",
19
+ issued_at: "invoiceDate",
20
+ due_date: "dueDate",
21
+ counterpart_id: "vendor",
22
+ purchase_order_number: "poNumber"
23
+ }, v = { tax_amount: "tax" };
24
+ function y(e) {
25
+ return e.type === "type_error.none.not_allowed" || e.msg === "none is not an allowed value";
8
26
  }
9
- function d() {
10
- let e = new Date(u());
11
- return e.setUTCFullYear(e.getUTCFullYear() - o), e;
27
+ var ae = "pending-vendor";
28
+ function b(e) {
29
+ return !!t(e)?.includes("line_items_enabled");
12
30
  }
13
- function f(e) {
14
- let t = new Date(e);
15
- if (Number.isNaN(t.getTime())) return !1;
16
- let n = new Date(u() + c * l);
17
- return t < d() || t > n;
31
+ function x(e) {
32
+ return !!t(e)?.includes("A vendor could not be linked or created for this payable");
18
33
  }
19
- function p(e) {
20
- let t = new Date(e);
21
- if (Number.isNaN(t.getTime())) return !1;
22
- let n = new Date(u());
23
- return n.setUTCFullYear(n.getUTCFullYear() + s), t < d() || t > n;
24
- }
25
- function m(t, n = e) {
26
- let r = {};
27
- return t.poNumber.length > a && (r.poNumber = n.poNumberTooLong), Object.keys(r).length ? r : void 0;
28
- }
29
- function h(e) {
30
- let t = e.trim();
31
- return !t || n(t) !== null ? !0 : i.test(t) ? Number(t.replaceAll(",", "")) === 0 : !1;
32
- }
33
- function g(t, i = e) {
34
- let a = {};
35
- for (let e of t) {
36
- let t = n(e.price), o = n(e.amount), s = {};
37
- e.price.trim() && t === null && (s.price = i.unreadableMoney), e.amount.trim() && o === null && (s.amount = i.unreadableMoney), r(e.quantity) === null && (e.quantity.trim() || t !== null || o !== null) && (s.quantity = i.unusableQuantity), Object.keys(s).length && (a[e.id] = s);
34
+ function S(e, t = c) {
35
+ let n = {}, r = {}, i = [];
36
+ for (let a of e) {
37
+ let e = a.loc[0] ?? t.unknownValidationField, o = _[e], s = v[e], c = y(a) ? t.requiredField : a.msg;
38
+ o ? n[o] = c : s ? r[s] = c : i.push(t.unmappedValidationError(e, c));
38
39
  }
39
- return Object.keys(a).length ? a : void 0;
40
- }
41
- function _(i, a, o, s = e) {
42
- let c = {};
43
- a || (c.vendor = s.requiredField), i.invoiceNumber.trim() || (c.invoiceNumber = s.requiredField);
44
- let l = i.invoiceDate.trim(), u = i.dueDate.trim();
45
- l ? f(l) && (c.invoiceDate = s.implausibleInvoiceDate) : c.invoiceDate = s.requiredField, u ? p(u) ? c.dueDate = s.implausibleDueDate : l && u < l && (c.dueDate = s.dueBeforeInvoiceDate) : c.dueDate = s.requiredField;
46
- let d = {};
47
- return o.forEach((e, i) => {
48
- if (i > 0 && !t(e)) return;
49
- let a = {};
50
- e.description.trim() || (a.description = s.requiredField), r(e.quantity) === null && (a.quantity = s.requiredField), n(e.price) === null && n(e.amount) === null && (a.price = s.requiredField, a.amount = s.requiredField), Object.keys(a).length && (d[e.id] = a);
51
- }), {
52
- formErrors: Object.keys(c).length ? c : void 0,
53
- lineItemErrors: Object.keys(d).length ? d : void 0
40
+ return i.length && (n.form = i.join(" ")), {
41
+ formErrors: n,
42
+ totalsErrors: Object.keys(r).length ? r : void 0
54
43
  };
55
44
  }
56
- function v(e) {
57
- let t = e.trim();
58
- if (!t) return !0;
59
- let n = t.startsWith("-") ? t.slice(1) : t;
60
- return i.test(n) ? Number(t.replaceAll(",", "")) <= 0 : !1;
61
- }
62
- function y(e, t) {
63
- if (n(e) === null) return v(e) ? t.totalNotGreaterThanZero : t.unreadableTotal;
64
- }
65
- function b(t, n = e) {
66
- let r = y(t, n);
67
- return r ? { total: r } : void 0;
68
- }
69
- function x(t, r = e) {
70
- if (t === void 0) return;
71
- let i = n(t);
72
- if (i !== null) return i > 0 ? void 0 : { total: r.totalNotGreaterThanZero };
45
+ function C(e, t) {
46
+ if (!e && !t) return;
47
+ let n = {}, r = /* @__PURE__ */ new Set([...Object.keys(e ?? {}), ...Object.keys(t ?? {})]);
48
+ for (let i of r) n[i] = {
49
+ ...e?.[i],
50
+ ...t?.[i]
51
+ };
52
+ return n;
73
53
  }
74
- function S(t, n, r, i = e) {
75
- let a = {};
76
- if (h(t) || (a.discount = i.unreadableDiscount), h(n) || (a.tax = i.unreadableTax), r !== void 0) {
77
- let e = y(r, i);
78
- e && (a.total = e);
79
- }
80
- return Object.keys(a).length ? a : void 0;
54
+ function w({ payableId: t, form: _, counterpartId: v, isVendorPending: y, clearCounterpart: w, prepareVendorForSave: T, onSaved: E, onPayableCreated: D, readSavedStatus: O, onDraftSaved: k, onFinalized: A, labels: j }) {
55
+ let M = {
56
+ ...c,
57
+ ...j
58
+ }, [N, P] = g(), F = t ?? N, [I, L] = g(), R = h(() => L(void 0), []), [z, B] = g(!1), oe = h(() => B(!0), []), [V, H] = g(), U = ie(!1), [se, ce] = g(0), W = h(() => ce((e) => e + 1), []), G = r(), K = i(), q = o(), J = n(), Y = s(), X = a(), Z = h(() => _.isTotalsDirty ? re(_.discount, _.tax, _.totalOverride, M) : void 0, [_, M]), Q = h(() => {
59
+ let t = f(_.values, M), n = p(_.lineItems, M), r = Z();
60
+ return _.setErrors(t), _.setLineItemErrors(n), _.setTotalsErrors(r), !t && !n && !r || (n && e.error(M.lineItemsNeedAttention), W(), !1);
61
+ }, [
62
+ _,
63
+ M,
64
+ W,
65
+ Z
66
+ ]), $ = h(async (e, t) => {
67
+ let n = !F && I ? {
68
+ base64EncodedFile: await l(I),
69
+ fileName: I.name
70
+ } : void 0, r = _.isTotalsDirty ? {
71
+ discount: _.discount,
72
+ tax: _.tax,
73
+ total: _.totalOverride
74
+ } : void 0, i = u({
75
+ values: _.values,
76
+ initialLineItems: F ? void 0 : _.lineItems,
77
+ counterpartId: t ?? v,
78
+ clearCounterpart: w,
79
+ counterpartBankAccountId: e,
80
+ currentTotals: {
81
+ discount: _.discount,
82
+ tax: _.tax,
83
+ total: _.totalOverride
84
+ },
85
+ lineItems: _.lineItems,
86
+ editedTotals: r,
87
+ document: n
88
+ }), a = F;
89
+ if (a ? await q.mutateAsync({
90
+ path: { payable_id: a },
91
+ body: i
92
+ }) : (a = (await G.mutateAsync({ body: i }))?.id, a && (P(a), D?.(a), n && L(void 0))), !a) throw Error("Payable was created without an id");
93
+ if (z) {
94
+ try {
95
+ await K.mutateAsync({ path: { payable_id: a } });
96
+ } catch {}
97
+ B(!1);
98
+ }
99
+ return await J.mutateAsync({
100
+ path: { payable_id: a },
101
+ body: { data: ee(_.lineItems) }
102
+ }), r && await q.mutateAsync({
103
+ path: { payable_id: a },
104
+ body: te({
105
+ lineItems: _.lineItems,
106
+ editedTotals: r
107
+ })
108
+ }), a;
109
+ }, [
110
+ v,
111
+ w,
112
+ G,
113
+ K,
114
+ z,
115
+ _.discount,
116
+ _.isTotalsDirty,
117
+ _.lineItems,
118
+ _.tax,
119
+ _.totalOverride,
120
+ _.values,
121
+ D,
122
+ F,
123
+ J,
124
+ I,
125
+ q
126
+ ]), le = h(async () => {
127
+ F && (await K.mutateAsync({ path: { payable_id: F } }), B(!1));
128
+ }, [K, F]);
129
+ return {
130
+ saveDraft: h(async () => {
131
+ if (!U.current && Q()) {
132
+ U.current = !0, H("draft");
133
+ try {
134
+ let t = await T?.();
135
+ if (t && !t.ok) return;
136
+ let n = await $(t?.counterpartBankAccountId, t?.counterpartId);
137
+ _.setErrors(void 0), E?.(n), k?.(n);
138
+ let r = await O?.();
139
+ return e.success(r === "draft" ? M.submittedDemoted : M.draftSaved), n;
140
+ } catch (e) {
141
+ _.setSaveFailureMessage(b(e) ? M.discountTaxBlockedByLineItems : M.saveFailed), W();
142
+ return;
143
+ } finally {
144
+ H(void 0), U.current = !1;
145
+ }
146
+ }
147
+ }, [
148
+ _,
149
+ Q,
150
+ M.discountTaxBlockedByLineItems,
151
+ M.draftSaved,
152
+ M.saveFailed,
153
+ M.submittedDemoted,
154
+ k,
155
+ E,
156
+ O,
157
+ T,
158
+ $,
159
+ W
160
+ ]),
161
+ finalize: h(async () => {
162
+ if (U.current) return;
163
+ let t = p(_.lineItems, M), n = f(_.values, M), r = Z(), i = d(_.total, M), a = _.isTotalsDirty ? m(_.totalOverride, M) : void 0, o = r || i || a ? {
164
+ ...a,
165
+ ...i,
166
+ ...r
167
+ } : void 0, { formErrors: s, lineItemErrors: c } = ne(_.values, v ?? (y ? ae : void 0), _.lineItems, M), l = C(c, t);
168
+ _.setLineItemErrors(l), _.setTotalsErrors(o);
169
+ let u = {
170
+ ...s,
171
+ ...n
172
+ };
173
+ if (_.setErrors(Object.keys(u).length ? u : void 0), t && e.error(M.lineItemsNeedAttention), l || o || Object.keys(u).length) {
174
+ W();
175
+ return;
176
+ }
177
+ U.current = !0, H("finalize");
178
+ try {
179
+ let t;
180
+ try {
181
+ let e = await T?.();
182
+ if (e && !e.ok) return;
183
+ t = await $(e?.counterpartBankAccountId, e?.counterpartId);
184
+ } catch (e) {
185
+ _.setSaveFailureMessage(b(e) ? M.discountTaxBlockedByLineItems : M.saveFailed), W();
186
+ return;
187
+ }
188
+ E?.(t);
189
+ try {
190
+ let n = await Y.mutateAsync({ path: { payable_id: t } });
191
+ if (n.validation_errors.length) {
192
+ let e = S(n.validation_errors, M);
193
+ _.setErrors(e.formErrors), _.setTotalsErrors(e.totalsErrors), W();
194
+ return;
195
+ }
196
+ await X.mutateAsync({ path: { payable_id: t } }), _.setErrors(void 0), A?.(t), e.success(M.billFinalized);
197
+ } catch (e) {
198
+ x(e) ? _.setErrors({ vendor: M.vendorResolutionFailed }) : _.setSaveFailureMessage(M.finalizeFailed), W();
199
+ }
200
+ } finally {
201
+ H(void 0), U.current = !1;
202
+ }
203
+ }, [
204
+ v,
205
+ y,
206
+ _,
207
+ M,
208
+ A,
209
+ E,
210
+ T,
211
+ $,
212
+ W,
213
+ X,
214
+ Z,
215
+ Y
216
+ ]),
217
+ payableId: F,
218
+ isSavingDraft: V === "draft",
219
+ isFinalizing: V === "finalize",
220
+ stagedFile: I,
221
+ stageFile: L,
222
+ clearStagedFile: R,
223
+ scrollToErrorToken: se,
224
+ isFileDeletionPending: z,
225
+ requestFileDeletion: oe,
226
+ detachFileNow: le,
227
+ isDeletingFile: K.isPending,
228
+ hasFileDeletionFailed: K.isError
229
+ };
81
230
  }
82
231
  //#endregion
83
- export { h as isReadableMoneyOrZero, _ as validateBillCompleteness, b as validateBillTotalIsPayable, S as validateBillTotals, m as validateBillValues, g as validateLineItems, x as validateStoredAmountDue };
232
+ export { S as mapValidationErrorsToForm, w as useBillCreateController };
@@ -1,232 +1,46 @@
1
- "use client";
2
- "use client";
3
- "use client";
4
- "use client";
5
- import { toast as e } from "../../../../../packages/shared-ui-shadcn/dist/index.js";
6
- import "../../../shared/ui/dist/index.js";
7
- import { extractApiErrorMessage as t } from "../../../shared/util/dist/lib/apiErrors.js";
8
- import { useReplacePayableLineItemsMutation as n } from "../../data-access/dist/index10.js";
9
- import { useCreatePayableMutation as r, useDeletePayableFileMutation as i, useSubmitPayableForApprovalMutation as a, useUpdatePayableMutation as o, useValidatePayableMutation as s } from "../../data-access/dist/index13.js";
10
- import "../../data-access/dist/index.js";
11
- import { BILL_CREATE_MESSAGE_LABELS_EN as c } from "./index50.js";
12
- import { encodeFileToBase64 as l } from "./index55.js";
13
- import { mapBillFormToPayload as u, mapLineItemsToPayload as ee, mapPayableAmountFieldsToPayload as te } from "./index56.js";
14
- import { validateBillCompleteness as ne, validateBillTotalIsPayable as d, validateBillTotals as re, validateBillValues as f, validateLineItems as p, validateStoredAmountDue as m } from "./index57.js";
15
- import { useCallback as h, useRef as ie, useState as g } from "react";
1
+ import { resolveLineItemAmountMinorUnits as e } from "./index41.js";
2
+ import { resolveLineItemQuantity as t } from "./index42.js";
16
3
  //#region ../../libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index58.js
17
- var _ = {
18
- document_id: "invoiceNumber",
19
- issued_at: "invoiceDate",
20
- due_date: "dueDate",
21
- counterpart_id: "vendor",
22
- purchase_order_number: "poNumber"
23
- }, v = { tax_amount: "tax" };
24
- function y(e) {
25
- return e.type === "type_error.none.not_allowed" || e.msg === "none is not an allowed value";
4
+ function n() {
5
+ return {
6
+ id: crypto.randomUUID(),
7
+ description: "",
8
+ glCode: "",
9
+ quantity: "1",
10
+ price: "",
11
+ amount: ""
12
+ };
26
13
  }
27
- var ae = "pending-vendor";
28
- function b(e) {
29
- return !!t(e)?.includes("line_items_enabled");
14
+ function r(e) {
15
+ return typeof e == "number" ? (e / 100).toFixed(2) : "";
30
16
  }
31
- function x(e) {
32
- return !!t(e)?.includes("A vendor could not be linked or created for this payable");
17
+ function i(e) {
18
+ return typeof e == "string" ? e : "";
33
19
  }
34
- function S(e, t = c) {
35
- let n = {}, r = {}, i = [];
36
- for (let a of e) {
37
- let e = a.loc[0] ?? t.unknownValidationField, o = _[e], s = v[e], c = y(a) ? t.requiredField : a.msg;
38
- o ? n[o] = c : s ? r[s] = c : i.push(t.unmappedValidationError(e, c));
39
- }
40
- return i.length && (n.form = i.join(" ")), {
41
- formErrors: n,
42
- totalsErrors: Object.keys(r).length ? r : void 0
43
- };
44
- }
45
- function C(e, t) {
46
- if (!e && !t) return;
47
- let n = {}, r = /* @__PURE__ */ new Set([...Object.keys(e ?? {}), ...Object.keys(t ?? {})]);
48
- for (let i of r) n[i] = {
49
- ...e?.[i],
50
- ...t?.[i]
51
- };
52
- return n;
20
+ function a(e) {
21
+ return e.total_amount ?? e.amount_due ?? void 0;
53
22
  }
54
- function w({ payableId: t, form: _, counterpartId: v, isVendorPending: y, clearCounterpart: w, prepareVendorForSave: T, onSaved: E, onPayableCreated: D, readSavedStatus: O, onDraftSaved: k, onFinalized: A, labels: j }) {
55
- let M = {
56
- ...c,
57
- ...j
58
- }, [N, P] = g(), F = t ?? N, [I, L] = g(), R = h(() => L(void 0), []), [z, B] = g(!1), oe = h(() => B(!0), []), [V, H] = g(), U = ie(!1), [se, ce] = g(0), W = h(() => ce((e) => e + 1), []), G = r(), K = i(), q = o(), J = n(), Y = s(), X = a(), Z = h(() => _.isTotalsDirty ? re(_.discount, _.tax, _.totalOverride, M) : void 0, [_, M]), Q = h(() => {
59
- let t = f(_.values, M), n = p(_.lineItems, M), r = Z();
60
- return _.setErrors(t), _.setLineItemErrors(n), _.setTotalsErrors(r), !t && !n && !r || (n && e.error(M.lineItemsNeedAttention), W(), !1);
61
- }, [
62
- _,
63
- M,
64
- W,
65
- Z
66
- ]), $ = h(async (e, t) => {
67
- let n = !F && I ? {
68
- base64EncodedFile: await l(I),
69
- fileName: I.name
70
- } : void 0, r = _.isTotalsDirty ? {
71
- discount: _.discount,
72
- tax: _.tax,
73
- total: _.totalOverride
74
- } : void 0, i = u({
75
- values: _.values,
76
- initialLineItems: F ? void 0 : _.lineItems,
77
- counterpartId: t ?? v,
78
- clearCounterpart: w,
79
- counterpartBankAccountId: e,
80
- currentTotals: {
81
- discount: _.discount,
82
- tax: _.tax,
83
- total: _.totalOverride
84
- },
85
- lineItems: _.lineItems,
86
- editedTotals: r,
87
- document: n
88
- }), a = F;
89
- if (a ? await q.mutateAsync({
90
- path: { payable_id: a },
91
- body: i
92
- }) : (a = (await G.mutateAsync({ body: i }))?.id, a && (P(a), D?.(a), n && L(void 0))), !a) throw Error("Payable was created without an id");
93
- if (z) {
94
- try {
95
- await K.mutateAsync({ path: { payable_id: a } });
96
- } catch {}
97
- B(!1);
98
- }
99
- return await J.mutateAsync({
100
- path: { payable_id: a },
101
- body: { data: ee(_.lineItems) }
102
- }), r && await q.mutateAsync({
103
- path: { payable_id: a },
104
- body: te({
105
- lineItems: _.lineItems,
106
- editedTotals: r
107
- })
108
- }), a;
109
- }, [
110
- v,
111
- w,
112
- G,
113
- K,
114
- z,
115
- _.discount,
116
- _.isTotalsDirty,
117
- _.lineItems,
118
- _.tax,
119
- _.totalOverride,
120
- _.values,
121
- D,
122
- F,
123
- J,
124
- I,
125
- q
126
- ]), le = h(async () => {
127
- F && (await K.mutateAsync({ path: { payable_id: F } }), B(!1));
128
- }, [K, F]);
23
+ function o({ payable: o, lineItems: s }) {
24
+ let c = {
25
+ invoiceNumber: o.document_id ?? "",
26
+ invoiceDate: o.issued_at ?? "",
27
+ dueDate: o.due_date ?? "",
28
+ poNumber: i(o.purchase_order_number)
29
+ }, l = s.map((n) => ({
30
+ id: n.id,
31
+ description: n.name ?? "",
32
+ glCode: n.ledger_account_id ?? "",
33
+ quantity: String(t(n)),
34
+ price: r(n.unit_price),
35
+ amount: r(e(n))
36
+ })), u = a(o);
129
37
  return {
130
- saveDraft: h(async () => {
131
- if (!U.current && Q()) {
132
- U.current = !0, H("draft");
133
- try {
134
- let t = await T?.();
135
- if (t && !t.ok) return;
136
- let n = await $(t?.counterpartBankAccountId, t?.counterpartId);
137
- _.setErrors(void 0), E?.(n), k?.(n);
138
- let r = await O?.();
139
- return e.success(r === "draft" ? M.submittedDemoted : M.draftSaved), n;
140
- } catch (e) {
141
- _.setSaveFailureMessage(b(e) ? M.discountTaxBlockedByLineItems : M.saveFailed), W();
142
- return;
143
- } finally {
144
- H(void 0), U.current = !1;
145
- }
146
- }
147
- }, [
148
- _,
149
- Q,
150
- M.discountTaxBlockedByLineItems,
151
- M.draftSaved,
152
- M.saveFailed,
153
- M.submittedDemoted,
154
- k,
155
- E,
156
- O,
157
- T,
158
- $,
159
- W
160
- ]),
161
- finalize: h(async () => {
162
- if (U.current) return;
163
- let t = p(_.lineItems, M), n = f(_.values, M), r = Z(), i = d(_.total, M), a = _.isTotalsDirty ? m(_.totalOverride, M) : void 0, o = r || i || a ? {
164
- ...a,
165
- ...i,
166
- ...r
167
- } : void 0, { formErrors: s, lineItemErrors: c } = ne(_.values, v ?? (y ? ae : void 0), _.lineItems, M), l = C(c, t);
168
- _.setLineItemErrors(l), _.setTotalsErrors(o);
169
- let u = {
170
- ...s,
171
- ...n
172
- };
173
- if (_.setErrors(Object.keys(u).length ? u : void 0), t && e.error(M.lineItemsNeedAttention), l || o || Object.keys(u).length) {
174
- W();
175
- return;
176
- }
177
- U.current = !0, H("finalize");
178
- try {
179
- let t;
180
- try {
181
- let e = await T?.();
182
- if (e && !e.ok) return;
183
- t = await $(e?.counterpartBankAccountId, e?.counterpartId);
184
- } catch (e) {
185
- _.setSaveFailureMessage(b(e) ? M.discountTaxBlockedByLineItems : M.saveFailed), W();
186
- return;
187
- }
188
- E?.(t);
189
- try {
190
- let n = await Y.mutateAsync({ path: { payable_id: t } });
191
- if (n.validation_errors.length) {
192
- let e = S(n.validation_errors, M);
193
- _.setErrors(e.formErrors), _.setTotalsErrors(e.totalsErrors), W();
194
- return;
195
- }
196
- await X.mutateAsync({ path: { payable_id: t } }), _.setErrors(void 0), A?.(t), e.success(M.billFinalized);
197
- } catch (e) {
198
- x(e) ? _.setErrors({ vendor: M.vendorResolutionFailed }) : _.setSaveFailureMessage(M.finalizeFailed), W();
199
- }
200
- } finally {
201
- H(void 0), U.current = !1;
202
- }
203
- }, [
204
- v,
205
- y,
206
- _,
207
- M,
208
- A,
209
- E,
210
- T,
211
- $,
212
- W,
213
- X,
214
- Z,
215
- Y
216
- ]),
217
- payableId: F,
218
- isSavingDraft: V === "draft",
219
- isFinalizing: V === "finalize",
220
- stagedFile: I,
221
- stageFile: L,
222
- clearStagedFile: R,
223
- scrollToErrorToken: se,
224
- isFileDeletionPending: z,
225
- requestFileDeletion: oe,
226
- detachFileNow: le,
227
- isDeletingFile: K.isPending,
228
- hasFileDeletionFailed: K.isError
38
+ values: c,
39
+ lineItems: l.length ? l : [n()],
40
+ discount: r(o.discount),
41
+ tax: r(o.tax_amount),
42
+ total: u ? r(u) : ""
229
43
  };
230
44
  }
231
45
  //#endregion
232
- export { S as mapValidationErrorsToForm, w as useBillCreateController };
46
+ export { n as emptyLineItem, o as mapPayableToBillForm };