@tesouro/embedded-components-react 0.2.280 → 0.2.282

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 (112) hide show
  1. package/README.md +17 -14
  2. package/dist/experimental/WidgetSuite.d.ts +9 -1
  3. package/dist/experimental/index.d.ts +9 -1
  4. package/dist/index.css +20 -6
  5. package/dist/index.d.ts +46 -23
  6. package/dist/index.js +54 -53
  7. package/dist/lib/AcceptDisclosuresWidget.d.ts +9 -1
  8. package/dist/lib/BalancesWidget.d.ts +8 -0
  9. package/dist/lib/BankAccountOnboardingWidget.d.ts +9 -1
  10. package/dist/lib/BankAccountsWidget.d.ts +9 -1
  11. package/dist/lib/BillPayWidget.d.ts +8 -0
  12. package/dist/lib/BillPayWidget.js +1 -1
  13. package/dist/lib/CardDetailsWidget.d.ts +9 -1
  14. package/dist/lib/CardsWidget.d.ts +9 -1
  15. package/dist/lib/ChartOfAccountsWidget.d.ts +9 -1
  16. package/dist/lib/CounterpartsWidget.d.ts +9 -1
  17. package/dist/lib/CreateCardWidget.d.ts +9 -1
  18. package/dist/lib/ExpenseApprovalPoliciesWidget.d.ts +9 -1
  19. package/dist/lib/ExpenseManagementWidget.d.ts +9 -1
  20. package/dist/lib/ExpenseRequirementsWidget.d.ts +9 -1
  21. package/dist/lib/HelpWidget.d.ts +9 -1
  22. package/dist/lib/InsightsWidget.d.ts +8 -0
  23. package/dist/lib/InvoicingWidget.d.ts +9 -1
  24. package/dist/lib/LinkedAccountsWidget.d.ts +9 -1
  25. package/dist/lib/ProductsWidget.d.ts +9 -1
  26. package/dist/lib/ProfileWidget.d.ts +9 -1
  27. package/dist/lib/ReceiptMatchWidget.d.ts +9 -1
  28. package/dist/lib/ReceivablesWidget.d.ts +9 -1
  29. package/dist/lib/SettingsWidget.d.ts +9 -1
  30. package/dist/lib/TagsWidget.d.ts +9 -1
  31. package/dist/lib/TeamWidget.d.ts +9 -1
  32. package/dist/lib/TransfersWidget.d.ts +8 -0
  33. package/dist/lib/WidgetProvider.d.ts +25 -2
  34. package/dist/lib/WidgetProvider.js +8 -7
  35. package/dist/lib/WidgetProviderPublic.d.ts +8 -0
  36. package/dist/libs/tesouro-embedded-components-react/accept-disclosures-widget/feature/dist/index4.js +3 -2
  37. package/dist/libs/tesouro-embedded-components-react/bank-account-onboarding-widget/feature/dist/index17.js +54 -53
  38. package/dist/libs/tesouro-embedded-components-react/bank-accounts-widget/feature/dist/index8.js +3 -2
  39. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index.js +9 -5
  40. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index10.js +42 -39
  41. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index12.js +69 -54
  42. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index14.js +21 -2
  43. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index15.js +46 -40
  44. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index16.js +81 -1
  45. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index17.js +46 -47
  46. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index18.js +3 -11
  47. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index19.js +2 -8
  48. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index2.js +5 -3
  49. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index20.js +43 -5
  50. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index21.js +1 -102
  51. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index22.js +11 -3
  52. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index23.js +9 -6
  53. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index24.js +4 -5
  54. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index25.js +127 -76
  55. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index27.js +6 -6
  56. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index28.js +7 -111
  57. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index29.js +85 -1
  58. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index3.js +16 -12
  59. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index30.js +2 -24
  60. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index31.js +8 -0
  61. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index32.js +114 -0
  62. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index33.js +1 -0
  63. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index34.js +25 -0
  64. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index5.js +50 -49
  65. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index6.js +1 -1
  66. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index7.js +25 -12
  67. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index8.js +86 -69
  68. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index9.js +2 -1
  69. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index.js +7 -7
  70. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index13.js +17 -16
  71. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index16.js +1 -0
  72. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index21.js +1 -1
  73. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index22.js +89 -124
  74. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index24.js +2 -1
  75. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index25.js +31 -26
  76. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index27.js +1 -1
  77. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index28.js +80 -77
  78. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index36.js +20 -4
  79. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index37.js +228 -6
  80. package/dist/libs/tesouro-embedded-components-react/card-details-widget/feature/dist/index6.js +3 -2
  81. package/dist/libs/tesouro-embedded-components-react/cards-widget/feature/dist/index8.js +3 -2
  82. package/dist/libs/tesouro-embedded-components-react/counterparts-widget/feature/dist/index8.js +3 -2
  83. package/dist/libs/tesouro-embedded-components-react/create-card-widget/feature/dist/index7.js +30 -29
  84. package/dist/libs/tesouro-embedded-components-react/expense-approval-policies-widget/feature/dist/lib/ExpenseApprovalPoliciesWidgetFeature.js +2 -1
  85. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index3.js +3 -2
  86. package/dist/libs/tesouro-embedded-components-react/expense-receipt-match-widget/feature/dist/lib/ReceiptMatchWidget.js +7 -6
  87. package/dist/libs/tesouro-embedded-components-react/expense-requirements-widget/feature/dist/lib/ExpenseRequirementsWidget.js +2 -1
  88. package/dist/libs/tesouro-embedded-components-react/gl-code-table-widget/feature/dist/index8.js +5 -4
  89. package/dist/libs/tesouro-embedded-components-react/help-widget/feature/dist/index3.js +3 -2
  90. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index12.js +3 -2
  91. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index3.js +5 -4
  92. package/dist/libs/tesouro-embedded-components-react/linked-accounts-widget/feature/dist/index9.js +3 -2
  93. package/dist/libs/tesouro-embedded-components-react/products-widget/feature/dist/index8.js +3 -2
  94. package/dist/libs/tesouro-embedded-components-react/profile-widget/feature/dist/index4.js +3 -2
  95. package/dist/libs/tesouro-embedded-components-react/settings-widget/feature/dist/index6.js +3 -2
  96. package/dist/libs/tesouro-embedded-components-react/shared/data-access/dist/index.js +6 -6
  97. package/dist/libs/tesouro-embedded-components-react/shared/data-access/dist/lib/reference-data/useLedgerAccountsQuery.js +53 -11
  98. package/dist/libs/tesouro-embedded-components-react/shared/feature/dist/index.js +5 -5
  99. package/dist/libs/tesouro-embedded-components-react/shared/feature/dist/lib/WidgetProvider/RootWidgetProvider.js +69 -67
  100. package/dist/libs/tesouro-embedded-components-react/shared/feature/dist/lib/WidgetProvider/WidgetProvider.js +158 -132
  101. package/dist/libs/tesouro-embedded-components-react/shared/feature/dist/lib/WidgetProvider/hooks.js +7 -4
  102. package/dist/libs/tesouro-embedded-components-react/shared/feature/dist/lib/WidgetProvider/isDisclosuresAcceptanceRequired.js +20 -0
  103. package/dist/libs/tesouro-embedded-components-react/shared/feature/dist/lib/WidgetProvider/labels.js +6 -1
  104. package/dist/libs/tesouro-embedded-components-react/shared/feature/dist/lib/analytics/build-info.js +1 -1
  105. package/dist/libs/tesouro-embedded-components-react/shared/ui/dist/index.js +9 -9
  106. package/dist/libs/tesouro-embedded-components-react/shared/ui/dist/lib/ErrorState/ErrorState.js +19 -18
  107. package/dist/libs/tesouro-embedded-components-react/tags-widget/feature/dist/index11.js +3 -2
  108. package/dist/libs/tesouro-embedded-components-react/team-widget/feature/dist/index17.js +3 -2
  109. package/dist/libs/tesouro-embedded-components-react/widget-suite/feature/dist/index5.js +1 -1
  110. package/dist/libs/tesouro-embedded-components-react/widget-suite/feature/dist/index6.js +3 -2
  111. package/dist/packages/shared-ui-shadcn/dist/index.js +3445 -3413
  112. package/package.json +1 -1
@@ -1,7 +1,45 @@
1
+ "use client";
2
+ "use client";
3
+ "use client";
4
+ "use client";
5
+ import { useAnalyticsTrack as e } from "../../../shared/feature/dist/lib/analytics/hooks.js";
6
+ import "../../../shared/feature/dist/index.js";
7
+ import { BillPayWidgetAnalyticsEvent as t, WIDGET_NAME as n } from "./index19.js";
8
+ import { Payables as r } from "../../../monite-sdk/dist/index431.js";
9
+ import "../../../monite-sdk/dist/index.js";
10
+ import { MoniteRegionProvider as i } from "../../../shared/monite-wrapper/feature/dist/lib/MoniteRegionProvider.js";
11
+ import "../../../shared/monite-wrapper/feature/dist/index.js";
12
+ import { useEffect as a } from "react";
13
+ import { jsx as o } from "react/jsx-runtime";
1
14
  //#region ../../libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index20.js
2
- var e = {
3
- root: "bill-pay-bills-tab",
4
- uploadTray: "bill-pay-upload-tray"
5
- };
15
+ var s = (e) => e;
16
+ function c(n) {
17
+ let i = e();
18
+ return a(() => {
19
+ i(t.Mounted);
20
+ }, [i]), /* @__PURE__ */ o(r, { ...n });
21
+ }
22
+ function l({ baseUrl: e, widgetToken: t, organizationId: r, configClient: a, gatewayRouting: l, linkComponent: u, implementation: d, uiFramework: f, errorFallback: p, onError: m, finopsThemeColors: h, analytics: g, disclosuresAcceptance: _, pageTitleComponent: v = s, ...y }) {
23
+ return /* @__PURE__ */ o(i, {
24
+ widgetName: n,
25
+ baseUrl: e,
26
+ widgetToken: t,
27
+ organizationId: r,
28
+ configClient: a,
29
+ gatewayRouting: l,
30
+ linkComponent: u,
31
+ implementation: d,
32
+ uiFramework: f,
33
+ errorFallback: p,
34
+ onError: m,
35
+ finopsThemeColors: h,
36
+ analytics: g,
37
+ disclosuresAcceptance: _,
38
+ children: /* @__PURE__ */ o(c, {
39
+ ...y,
40
+ pageTitleComponent: v
41
+ })
42
+ });
43
+ }
6
44
  //#endregion
7
- export { e as billsTabTestIds };
45
+ export { l as BillPayWidgetMonite, l as default };
@@ -1,102 +1 @@
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 { hasAnyScope as t } from "../../../shared/data-access/dist/lib/hasAnyScope.js";
7
- import { Scope as n } from "../../../shared/data-access/dist/lib/scopes.js";
8
- import "../../../shared/data-access/dist/index.js";
9
- import "../../../shared/ui/dist/index.js";
10
- import { formatCalendarDate as r } from "../../../shared/util/dist/lib/formatCalendarDate.js";
11
- import { formatMoneyExact as i } from "../../../shared/util/dist/lib/formatMoneyExact.js";
12
- import { useWidgetConfig as a } from "../../../shared/feature/dist/lib/WidgetProvider/hooks.js";
13
- import "../../../shared/feature/dist/index.js";
14
- import { usePayablesQuery as o } from "../../data-access/dist/index10.js";
15
- import "../../data-access/dist/index.js";
16
- import { AddBillDialog as s } from "../../ui/dist/index10.js";
17
- import { BillsScreen as c } from "../../ui/dist/index38.js";
18
- import "../../ui/dist/index.js";
19
- import { BillCreateDialog as l } from "./index12.js";
20
- import "./index13.js";
21
- import { derivePayableStatus as u } from "./index17.js";
22
- import { BILLS_TAB_LABELS_EN as d } from "./index19.js";
23
- import { billsTabTestIds as f } from "./index20.js";
24
- import { copyTextToClipboard as p } from "./index18.js";
25
- import { useEffect as m, useState as h } from "react";
26
- import { jsx as g, jsxs as _ } from "react/jsx-runtime";
27
- //#region ../../libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index21.js
28
- var v = 10, y = "bills@business-banking.app";
29
- function b({ labels: b, onEnqueueFiles: x, openPayableId: S, onOpenPayableHandled: C }) {
30
- let w = {
31
- ...d,
32
- ...b
33
- }, [T, E] = h(!1), [D, O] = h(), [k, A] = h(!1), [j, M] = h([]), [N, P] = h(v), [F, I] = h(), { initResponse: L } = a(), R = t(L?.scopes, [n.PayableReadOrg]), z = t(L?.scopes, [n.PayableWriteOrg]), B = !L || R, V = !L || z, H = o({
34
- limit: N,
35
- pagination_token: F,
36
- enabled: B
37
- }), U = (H.data?.data ?? []).map((e) => {
38
- let t = u(e.status, e.due_date);
39
- return {
40
- vendorLabel: e.counterpart_raw_data?.name ?? "",
41
- dueDateLabel: r(e.due_date),
42
- amountLabel: i((e.total_amount ?? 0) / 100, { currencyCode: e.currency ?? "USD" }),
43
- status: t.status,
44
- statusTone: t.tone,
45
- onOpen: () => {
46
- O(e.id), A(!0);
47
- }
48
- };
49
- }), W = () => {
50
- E(!1), O(void 0), A(!0);
51
- }, G = (e) => {
52
- E(!1), x?.(e);
53
- }, K = async () => {
54
- await p(y) ? e.success(w.emailCopiedToast) : e.error(w.emailCopyFailedToast);
55
- };
56
- return m(() => {
57
- S && (O(S), A(!0), C?.());
58
- }, [C, S]), /* @__PURE__ */ _("div", {
59
- "data-testid": f.root,
60
- children: [
61
- /* @__PURE__ */ g(c, {
62
- rows: U,
63
- isLoading: H.isLoading || !L,
64
- isError: H.isError,
65
- onRetry: () => H.refetch(),
66
- sorting: j,
67
- onSortingChange: M,
68
- pageSize: N,
69
- onPageSizeChange: P,
70
- hasNextPage: !!H.data?.next_pagination_token,
71
- hasPrevPage: !!H.data?.prev_pagination_token,
72
- onNextPage: () => I(H.data?.next_pagination_token),
73
- onPrevPage: () => I(H.data?.prev_pagination_token),
74
- onCreateClick: V ? () => E(!0) : void 0,
75
- onEnterManually: V ? W : void 0,
76
- onFilesSelected: V ? G : void 0,
77
- emailAddress: y,
78
- onCopyEmail: K,
79
- labels: {
80
- createButton: w.createButton,
81
- addBill: { heading: w.emptyHeading }
82
- }
83
- }),
84
- V ? /* @__PURE__ */ g(s, {
85
- open: T,
86
- onOpenChange: E,
87
- onFilesSelected: G,
88
- onEnterManually: W,
89
- emailAddress: y,
90
- onCopyEmail: K,
91
- labels: { heading: U.length ? w.nonEmptyHeading : w.emptyHeading }
92
- }) : null,
93
- k ? /* @__PURE__ */ g(l, {
94
- open: k,
95
- onOpenChange: A,
96
- payableId: D
97
- }) : null
98
- ]
99
- });
100
- }
101
- //#endregion
102
- export { b as BillsTab, b as default };
1
+ import "./index20.js";
@@ -1,3 +1,11 @@
1
- import "./index19.js";
2
- import "./index20.js";
3
- import "./index21.js";
1
+ //#region ../../libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index22.js
2
+ async function e(e) {
3
+ if (!e.trim()) return !1;
4
+ try {
5
+ return await navigator.clipboard.writeText(e), !0;
6
+ } catch {
7
+ return !1;
8
+ }
9
+ }
10
+ //#endregion
11
+ export { e as copyTextToClipboard };
@@ -1,8 +1,11 @@
1
1
  //#region ../../libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index23.js
2
- var e = (e) => [
3
- "bill-pay",
4
- "upload-queue",
5
- e ?? ""
6
- ];
2
+ var e = {
3
+ emptyHeading: "Add your first bill",
4
+ nonEmptyHeading: "Add a bill",
5
+ createButton: "Add bill",
6
+ viewBillTitle: "Bill details",
7
+ emailCopiedToast: "Email address copied to clipboard",
8
+ emailCopyFailedToast: "Could not copy the email address"
9
+ };
7
10
  //#endregion
8
- export { e as billPayUploadQueueKey };
11
+ export { e as BILLS_TAB_LABELS_EN };
@@ -1,9 +1,8 @@
1
1
  //#region ../../libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index24.js
2
2
  var e = {
3
- uploadingSummary: (e) => `Uploading and scanning ${e} ${e === 1 ? "file" : "files"}`,
4
- completeSummary: (e) => `${e} ${e === 1 ? "upload" : "uploads"} complete`,
5
- readyCaption: (e) => `${e} new ${e === 1 ? "bill" : "bills"} ready`,
6
- failedCaption: (e) => `${e} failed to upload`
3
+ root: "bill-pay-bills-tab",
4
+ uploadTray: "bill-pay-upload-tray",
5
+ detailsSheet: "bill-pay-details-sheet"
7
6
  };
8
7
  //#endregion
9
- export { e as BILL_UPLOAD_QUEUE_LABELS_EN };
8
+ export { e as billsTabTestIds };
@@ -2,84 +2,135 @@
2
2
  "use client";
3
3
  "use client";
4
4
  "use client";
5
- import { useEmbedApi as e } from "../../../shared/data-access/dist/lib/EmbedApiContext.js";
6
- import { useUploadPayableFromFileMutation as t } from "../../data-access/dist/index7.js";
7
- import { usePayableOcrQueries as n } from "../../data-access/dist/index9.js";
5
+ import { toast as e } from "../../../../../packages/shared-ui-shadcn/dist/index.js";
6
+ import { hasAnyScope as t } from "../../../shared/data-access/dist/lib/hasAnyScope.js";
7
+ import { Scope as n } from "../../../shared/data-access/dist/lib/scopes.js";
8
+ import "../../../shared/data-access/dist/index.js";
9
+ import "../../../shared/ui/dist/index.js";
10
+ import { formatCalendarDate as r } from "../../../shared/util/dist/lib/formatCalendarDate.js";
11
+ import { formatMoneyExact as ee } from "../../../shared/util/dist/lib/formatMoneyExact.js";
12
+ import { useWidgetConfig as i } from "../../../shared/feature/dist/lib/WidgetProvider/hooks.js";
13
+ import "../../../shared/feature/dist/index.js";
14
+ import { usePayablesQuery as a } from "../../data-access/dist/index10.js";
8
15
  import "../../data-access/dist/index.js";
9
- import { billPayUploadQueueKey as r } from "./index23.js";
10
- import { BILL_UPLOAD_QUEUE_LABELS_EN as i } from "./index24.js";
11
- import { useCallback as a, useEffect as o, useMemo as s, useState as c } from "react";
12
- import { useQuery as l, useQueryClient as u } from "@tanstack/react-query";
16
+ import { AddBillDialog as te } from "../../ui/dist/index10.js";
17
+ import { BillsScreen as ne } from "../../ui/dist/index38.js";
18
+ import "../../ui/dist/index.js";
19
+ import { BillCreateDialog as o } from "./index12.js";
20
+ import "./index13.js";
21
+ import { derivePayableStatus as s } from "./index15.js";
22
+ import { BillDetailsContainer as c } from "./index17.js";
23
+ import "./index18.js";
24
+ import { BILLS_TAB_LABELS_EN as l } from "./index23.js";
25
+ import { billsTabTestIds as u } from "./index24.js";
26
+ import { copyTextToClipboard as d } from "./index22.js";
27
+ import { useEffect as re, useState as f } from "react";
28
+ import { jsx as p, jsxs as m } from "react/jsx-runtime";
13
29
  //#region ../../libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index25.js
14
- function d({ onOpenBill: d, labels: f } = {}) {
15
- let p = {
16
- ...i,
17
- ...f
18
- }, { organizationId: m } = e(), h = u(), g = s(() => r(m), [m]), _ = t(), [v, y] = c(!1), { data: b = [] } = l({
19
- queryKey: g,
20
- queryFn: () => h.getQueryData(g) ?? [],
21
- staleTime: Infinity,
22
- gcTime: Infinity,
23
- initialData: []
24
- }), x = a((e, t) => {
25
- h.setQueryData(g, (n) => (n ?? []).map((n) => n.localId === e ? {
26
- ...n,
27
- ...t
28
- } : n));
29
- }, [h, g]), S = a((e) => {
30
- y(!1);
31
- for (let t of e) {
32
- let e = crypto.randomUUID();
33
- h.setQueryData(g, (n) => [...n ?? [], {
34
- localId: e,
35
- fileName: t.name,
36
- status: "uploading"
37
- }]), _.mutateAsync({ file: t }).then((t) => x(e, { payableId: t?.id })).catch(() => x(e, { status: "failed" }));
38
- }
39
- }, [
40
- x,
41
- h,
42
- g,
43
- _
44
- ]), C = n({ payableIds: b.filter((e) => e.status === "uploading" && e.payableId).map((e) => e.payableId) });
45
- o(() => {
46
- for (let { payableId: e, ocrStatus: t, isError: n } of C) {
47
- let r = b.find((t) => t.payableId === e && t.status === "uploading");
48
- r && (t === "success" ? x(r.localId, { status: "ready" }) : (n || t === "error" || t === "canceled") && x(r.localId, { status: "failed" }));
49
- }
50
- }, [
51
- b,
52
- C,
53
- x
54
- ]);
55
- let w = b.filter((e) => e.status === "uploading"), T = b.filter((e) => e.status === "ready"), E = b.filter((e) => e.status === "failed"), D = (e) => ({
56
- id: e.localId,
57
- fileName: e.fileName,
58
- status: e.status,
59
- onOpen: e.status === "ready" && e.payableId && d ? () => d(e.payableId) : void 0
60
- }), O = w.length ? [{
61
- id: "in-progress",
62
- items: b.map(D)
63
- }] : [...T.length ? [{
64
- id: "ready",
65
- caption: p.readyCaption(T.length),
66
- items: T.map(D)
67
- }] : [], ...E.length ? [{
68
- id: "failed",
69
- caption: p.failedCaption(E.length),
70
- items: E.map(D)
71
- }] : []], k = w.length ? p.uploadingSummary(b.length) : T.length ? p.completeSummary(T.length) : p.failedCaption(E.length), A = a(() => {
72
- h.setQueryData(g, []);
73
- }, [h, g]);
74
- return {
75
- enqueue: S,
76
- sections: O,
77
- summaryLabel: k,
78
- collapsed: v,
79
- onToggleCollapsed: a(() => y((e) => !e), []),
80
- onClose: A,
81
- isVisible: b.length > 0
30
+ var ie = 10, h = "bills@business-banking.app", g = {
31
+ vendorLabel: "counterpart_name",
32
+ dueDateLabel: "due_date",
33
+ amountLabel: "amount",
34
+ status: "status"
35
+ }, _ = "created_at", v = "desc";
36
+ function y({ labels: y, onEnqueueFiles: b, openPayableId: x, onOpenPayableHandled: S }) {
37
+ let C = {
38
+ ...l,
39
+ ...y
40
+ }, [w, T] = f(!1), [ae, E] = f(), [D, O] = f(!1), [k, A] = f(), [j, M] = f(!1), [N, P] = f(!1), [F, I] = f([]), [L, R] = f(ie), [z, B] = f(), { initResponse: V } = i(), H = t(V?.scopes, [n.PayableReadOrg]), U = t(V?.scopes, [n.PayableWriteOrg]), W = !V || H, G = !V || U, [K] = F, q = K ? g[K.id] : void 0, J = a({
41
+ limit: L,
42
+ pagination_token: z,
43
+ sort: q ?? _,
44
+ order: q ? K.desc ? "desc" : "asc" : v,
45
+ enabled: W
46
+ }), Y = () => B(void 0), oe = (e) => {
47
+ I(e), Y();
48
+ }, se = (e) => {
49
+ R(e), Y();
50
+ }, X = (J.data?.data ?? []).map((e) => {
51
+ let t = s(e.status, e.due_date);
52
+ return {
53
+ vendorLabel: e.counterpart_raw_data?.name ?? "",
54
+ dueDateLabel: r(e.due_date),
55
+ amountLabel: ee((e.total_amount ?? 0) / 100, { currencyCode: e.currency ?? "USD" }),
56
+ status: t.status,
57
+ statusTone: t.tone,
58
+ onOpen: () => {
59
+ if (e.status === "draft" && G) {
60
+ E(e.id), O(!0);
61
+ return;
62
+ }
63
+ A(e.id), M(!0);
64
+ }
65
+ };
66
+ }), ce = () => {
67
+ M(!1), P(!0);
68
+ }, Z = () => {
69
+ T(!1), E(void 0), O(!0);
70
+ }, Q = (e) => {
71
+ T(!1), b?.(e);
72
+ }, $ = async () => {
73
+ await d(h) ? e.success(C.emailCopiedToast) : e.error(C.emailCopyFailedToast);
82
74
  };
75
+ return re(() => {
76
+ x && (E(x), O(!0), S?.());
77
+ }, [S, x]), /* @__PURE__ */ m("div", {
78
+ "data-testid": u.root,
79
+ children: [
80
+ /* @__PURE__ */ p(ne, {
81
+ rows: X,
82
+ isLoading: J.isLoading || !V,
83
+ isError: J.isError,
84
+ onRetry: () => J.refetch(),
85
+ sorting: F,
86
+ onSortingChange: oe,
87
+ pageSize: L,
88
+ onPageSizeChange: se,
89
+ hasNextPage: !!J.data?.next_pagination_token,
90
+ hasPrevPage: !!J.data?.prev_pagination_token,
91
+ onNextPage: () => B(J.data?.next_pagination_token),
92
+ onPrevPage: () => B(J.data?.prev_pagination_token),
93
+ onCreateClick: G ? () => T(!0) : void 0,
94
+ onEnterManually: G ? Z : void 0,
95
+ onFilesSelected: G ? Q : void 0,
96
+ emailAddress: h,
97
+ onCopyEmail: $,
98
+ labels: {
99
+ createButton: C.createButton,
100
+ addBill: { heading: C.emptyHeading }
101
+ }
102
+ }),
103
+ G ? /* @__PURE__ */ p(te, {
104
+ open: w,
105
+ onOpenChange: T,
106
+ onFilesSelected: Q,
107
+ onEnterManually: Z,
108
+ emailAddress: h,
109
+ onCopyEmail: $,
110
+ labels: { heading: X.length ? C.nonEmptyHeading : C.emptyHeading }
111
+ }) : null,
112
+ D ? /* @__PURE__ */ p(o, {
113
+ open: D,
114
+ onOpenChange: O,
115
+ payableId: ae
116
+ }) : null,
117
+ j ? /* @__PURE__ */ p(c, {
118
+ open: j,
119
+ onOpenChange: M,
120
+ payableId: k,
121
+ onClose: () => M(!1),
122
+ onExpand: ce,
123
+ testId: u.detailsSheet
124
+ }) : null,
125
+ N ? /* @__PURE__ */ p(o, {
126
+ open: N,
127
+ onOpenChange: P,
128
+ payableId: k,
129
+ readOnly: !0,
130
+ copy: { readOnlyTitle: C.viewBillTitle }
131
+ }) : null
132
+ ]
133
+ });
83
134
  }
84
135
  //#endregion
85
- export { d as useBillUploadQueue };
136
+ export { y as BillsTab, y as default };
@@ -1,8 +1,8 @@
1
1
  //#region ../../libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index27.js
2
- var e = {
3
- bills: "Bills",
4
- vendors: "Vendors",
5
- settings: "Settings"
6
- };
2
+ var e = (e) => [
3
+ "bill-pay",
4
+ "upload-queue",
5
+ e ?? ""
6
+ ];
7
7
  //#endregion
8
- export { e as DEFAULT_TABS_LABELS };
8
+ export { e as billPayUploadQueueKey };
@@ -1,113 +1,9 @@
1
- "use client";
2
- "use client";
3
- "use client";
4
- "use client";
5
- import { hasAnyScope as e } from "../../../shared/data-access/dist/lib/hasAnyScope.js";
6
- import { Scope as t } from "../../../shared/data-access/dist/lib/scopes.js";
7
- import "../../../shared/data-access/dist/index.js";
8
- import { EmbeddedToaster as n } from "../../../shared/ui/dist/lib/EmbeddedToaster.js";
9
- import "../../../shared/ui/dist/index.js";
10
- import { useAnalyticsTrack as r } from "../../../shared/feature/dist/lib/analytics/hooks.js";
11
- import { WidgetProvider as i } from "../../../shared/feature/dist/lib/WidgetProvider/WidgetProvider.js";
12
- import { useWidgetConfig as a } from "../../../shared/feature/dist/lib/WidgetProvider/hooks.js";
13
- import "../../../shared/feature/dist/index.js";
14
- import { BillPayWidgetUi as o } from "../../ui/dist/index31.js";
15
- import { BillUploadStatusTray as s } from "../../ui/dist/index41.js";
16
- import "../../ui/dist/index.js";
17
- import { billsTabTestIds as c } from "./index20.js";
18
- import { BillsTab as l } from "./index21.js";
19
- import "./index22.js";
20
- import { useBillUploadQueue as u } from "./index25.js";
21
- import "./index26.js";
22
- import { BillPayWidgetAnalyticsEvent as d, WIDGET_NAME as f } from "./index14.js";
23
- import { DEFAULT_TABS_LABELS as p } from "./index27.js";
24
- import { ApprovalPoliciesSettings as m } from "../../../shared/approval-policy/feature/dist/lib/ApprovalPoliciesSettings.js";
25
- import "../../../shared/approval-policy/feature/dist/index.js";
26
- import { CounterpartsWidget as h } from "../../../counterparts-widget/feature/dist/index8.js";
27
- import "../../../counterparts-widget/feature/dist/index.js";
28
- import { useCallback as g, useEffect as _, useState as v } from "react";
29
- import { Fragment as y, jsx as b, jsxs as x } from "react/jsx-runtime";
30
1
  //#region ../../libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index28.js
31
- var S = {
32
- Bills: "bills",
33
- Vendors: "vendors",
34
- Settings: "settings"
35
- }, C = [
36
- S.Bills,
37
- S.Vendors,
38
- S.Settings
39
- ];
40
- function w({ labels: i, tabsLabels: f, approvalPolicyLabels: w, approvalPolicyComponentLabels: T, vendorLabels: E }) {
41
- let D = r();
42
- _(() => {
43
- D(d.Mounted);
44
- }, [D]);
45
- let O = {
46
- ...p,
47
- ...f
48
- }, { initResponse: k } = a(), A = e(k?.scopes, [t.ApprovalPolicyWriteOrg]), j = !k || A, [M, N] = v(S.Bills), [P, F] = v(), I = g((e) => {
49
- N(S.Bills), F(e);
50
- }, []), L = u({ onOpenBill: I }), R = [{
51
- id: S.Bills,
52
- label: O.bills,
53
- content: /* @__PURE__ */ b(l, {
54
- onEnqueueFiles: L.enqueue,
55
- openPayableId: P,
56
- onOpenPayableHandled: () => F(void 0)
57
- })
58
- }, {
59
- id: S.Vendors,
60
- label: O.vendors,
61
- content: /* @__PURE__ */ b(h, {
62
- ...E,
63
- counterpartType: "vendor",
64
- showTitle: !1,
65
- onViewAllDocuments: () => N(S.Bills)
66
- })
67
- }];
68
- j && R.push({
69
- id: S.Settings,
70
- label: O.settings,
71
- content: /* @__PURE__ */ b(m, {
72
- labels: w,
73
- componentLabels: T
74
- })
75
- });
76
- let z = R.some((e) => e.id === M) ? M : C.find((e) => R.some((t) => t.id === e)) ?? R[0]?.id ?? "";
77
- return /* @__PURE__ */ x(y, { children: [
78
- /* @__PURE__ */ b(n, {}),
79
- /* @__PURE__ */ b(o, {
80
- labels: i,
81
- tabs: R,
82
- selectedTabId: z,
83
- onTabChange: N
84
- }),
85
- L.isVisible ? /* @__PURE__ */ b(s, {
86
- sections: L.sections,
87
- summaryLabel: L.summaryLabel,
88
- collapsed: L.collapsed,
89
- onToggleCollapsed: L.onToggleCollapsed,
90
- onClose: L.onClose,
91
- testId: c.uploadTray
92
- }) : null
93
- ] });
94
- }
95
- function T({ baseUrl: e, widgetToken: t, organizationId: n, configClient: r, gatewayRouting: a, linkComponent: o, implementation: s, uiFramework: c, errorFallback: l, onError: u, analytics: d, ...p }) {
96
- return /* @__PURE__ */ b(i, {
97
- widgetName: f,
98
- baseUrl: e,
99
- widgetToken: t,
100
- organizationId: n,
101
- configClient: r,
102
- gatewayRouting: a,
103
- linkComponent: o,
104
- implementation: s,
105
- uiFramework: c,
106
- errorFallback: l,
107
- onError: u,
108
- analytics: d,
109
- children: /* @__PURE__ */ b(w, { ...p })
110
- });
111
- }
2
+ var e = {
3
+ uploadingSummary: (e) => `Uploading and scanning ${e} ${e === 1 ? "file" : "files"}`,
4
+ completeSummary: (e) => `${e} ${e === 1 ? "upload" : "uploads"} complete`,
5
+ readyCaption: (e) => `${e} new ${e === 1 ? "bill" : "bills"} ready`,
6
+ failedCaption: (e) => `${e} failed to upload`
7
+ };
112
8
  //#endregion
113
- export { T as BillPayWidgetNative, T as default };
9
+ export { e as BILL_UPLOAD_QUEUE_LABELS_EN };
@@ -1 +1,85 @@
1
- import "./index28.js";
1
+ "use client";
2
+ "use client";
3
+ "use client";
4
+ "use client";
5
+ import { useEmbedApi as e } from "../../../shared/data-access/dist/lib/EmbedApiContext.js";
6
+ import { useUploadPayableFromFileMutation as t } from "../../data-access/dist/index7.js";
7
+ import { usePayableOcrQueries as n } from "../../data-access/dist/index9.js";
8
+ import "../../data-access/dist/index.js";
9
+ import { billPayUploadQueueKey as r } from "./index27.js";
10
+ import { BILL_UPLOAD_QUEUE_LABELS_EN as i } from "./index28.js";
11
+ import { useCallback as a, useEffect as o, useMemo as s, useState as c } from "react";
12
+ import { useQuery as l, useQueryClient as u } from "@tanstack/react-query";
13
+ //#region ../../libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index29.js
14
+ function d({ onOpenBill: d, labels: f } = {}) {
15
+ let p = {
16
+ ...i,
17
+ ...f
18
+ }, { organizationId: m } = e(), h = u(), g = s(() => r(m), [m]), _ = t(), [v, y] = c(!1), { data: b = [] } = l({
19
+ queryKey: g,
20
+ queryFn: () => h.getQueryData(g) ?? [],
21
+ staleTime: Infinity,
22
+ gcTime: Infinity,
23
+ initialData: []
24
+ }), x = a((e, t) => {
25
+ h.setQueryData(g, (n) => (n ?? []).map((n) => n.localId === e ? {
26
+ ...n,
27
+ ...t
28
+ } : n));
29
+ }, [h, g]), S = a((e) => {
30
+ y(!1);
31
+ for (let t of e) {
32
+ let e = crypto.randomUUID();
33
+ h.setQueryData(g, (n) => [...n ?? [], {
34
+ localId: e,
35
+ fileName: t.name,
36
+ status: "uploading"
37
+ }]), _.mutateAsync({ file: t }).then((t) => x(e, { payableId: t?.id })).catch(() => x(e, { status: "failed" }));
38
+ }
39
+ }, [
40
+ x,
41
+ h,
42
+ g,
43
+ _
44
+ ]), C = n({ payableIds: b.filter((e) => e.status === "uploading" && e.payableId).map((e) => e.payableId) });
45
+ o(() => {
46
+ for (let { payableId: e, ocrStatus: t, isError: n } of C) {
47
+ let r = b.find((t) => t.payableId === e && t.status === "uploading");
48
+ r && (t === "success" ? x(r.localId, { status: "ready" }) : (n || t === "error" || t === "canceled") && x(r.localId, { status: "failed" }));
49
+ }
50
+ }, [
51
+ b,
52
+ C,
53
+ x
54
+ ]);
55
+ let w = b.filter((e) => e.status === "uploading"), T = b.filter((e) => e.status === "ready"), E = b.filter((e) => e.status === "failed"), D = (e) => ({
56
+ id: e.localId,
57
+ fileName: e.fileName,
58
+ status: e.status,
59
+ onOpen: e.status === "ready" && e.payableId && d ? () => d(e.payableId) : void 0
60
+ }), O = w.length ? [{
61
+ id: "in-progress",
62
+ items: b.map(D)
63
+ }] : [...T.length ? [{
64
+ id: "ready",
65
+ caption: p.readyCaption(T.length),
66
+ items: T.map(D)
67
+ }] : [], ...E.length ? [{
68
+ id: "failed",
69
+ caption: p.failedCaption(E.length),
70
+ items: E.map(D)
71
+ }] : []], k = w.length ? p.uploadingSummary(b.length) : T.length ? p.completeSummary(T.length) : p.failedCaption(E.length), A = a(() => {
72
+ h.setQueryData(g, []);
73
+ }, [h, g]);
74
+ return {
75
+ enqueue: S,
76
+ sections: O,
77
+ summaryLabel: k,
78
+ collapsed: v,
79
+ onToggleCollapsed: a(() => y((e) => !e), []),
80
+ onClose: A,
81
+ isVisible: b.length > 0
82
+ };
83
+ }
84
+ //#endregion
85
+ export { d as useBillUploadQueue };