@tesouro/embedded-components-react 0.3.23 → 0.3.25

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 (85) hide show
  1. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/data-access/dist/index10.js +10 -10
  2. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index11.js +2 -2
  3. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index13.js +2 -2
  4. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index2.js +1 -1
  5. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index25.js +17 -12
  6. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index27.js +1 -0
  7. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index31.js +2 -0
  8. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index32.js +47 -38
  9. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index40.js +108 -93
  10. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index44.js +14 -6
  11. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index46.js +1 -1
  12. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index47.js +1 -0
  13. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index48.js +8 -4
  14. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index59.js +1 -1
  15. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index61.js +1 -1
  16. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index64.js +1 -1
  17. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index68.js +1 -1
  18. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index69.js +1 -0
  19. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index70.js +1 -1
  20. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index73.js +2 -2
  21. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index.js +33 -30
  22. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index18.js +0 -1
  23. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index22.js +2 -40
  24. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index23.js +23 -266
  25. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index25.js +46 -6
  26. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index26.js +273 -45
  27. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index28.js +5 -18
  28. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index29.js +45 -282
  29. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index31.js +19 -13
  30. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index32.js +273 -107
  31. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index34.js +13 -9
  32. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index35.js +113 -92
  33. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index37.js +9 -10
  34. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index38.js +95 -54
  35. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index40.js +9 -50
  36. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index41.js +53 -137
  37. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index43.js +52 -2
  38. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index44.js +138 -37
  39. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index46.js +2 -5
  40. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index47.js +37 -88
  41. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index49.js +5 -2
  42. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index50.js +88 -12
  43. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index52.js +2 -77
  44. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index53.js +11 -253
  45. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index54.js +2 -13
  46. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index55.js +82 -0
  47. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index56.js +264 -8
  48. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index57.js +9 -45
  49. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index58.js +0 -1
  50. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index59.js +7 -36
  51. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index60.js +47 -10
  52. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index61.js +2 -201
  53. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index62.js +39 -3
  54. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index63.js +3 -7
  55. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index64.js +188 -301
  56. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index65.js +3 -10
  57. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index66.js +12 -4
  58. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index67.js +317 -81
  59. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index68.js +10 -0
  60. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index69.js +8 -2
  61. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index70.js +91 -16
  62. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index72.js +1 -1
  63. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index73.js +14 -3
  64. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index74.js +109 -26
  65. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index76.js +3 -3
  66. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index77.js +26 -30
  67. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index79.js +4 -9
  68. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index80.js +30 -102
  69. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index82.js +9 -14
  70. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index83.js +85 -104
  71. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index85.js +10 -11
  72. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index86.js +123 -8
  73. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index87.js +2 -170
  74. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index88.js +18 -2
  75. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index89.js +7 -11
  76. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index90.js +163 -82
  77. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index91.js +1 -1
  78. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index92.js +14 -0
  79. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index93.js +108 -0
  80. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index94.js +2 -0
  81. package/dist/libs/tesouro-embedded-components-react/shared/data-access/dist/index.js +2 -2
  82. package/dist/libs/tesouro-embedded-components-react/shared/data-access/dist/lib/rest/sdk.gen.js +27 -27
  83. package/dist/libs/tesouro-embedded-components-react/shared/feature/dist/lib/analytics/build-info.js +1 -1
  84. package/package.json +1 -1
  85. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index71.js +0 -113
@@ -1,93 +1,329 @@
1
- import { cn as e } from "../../../../../packages/shared-ui-shadcn/dist/index.js";
2
- import { BILL_UPLOAD_STATUS_TRAY_LABELS_EN as t } from "./index65.js";
3
- import { UPLOAD_ITEM_ICON_TONE as n } from "./index66.js";
4
- import { useId as r } from "react";
5
- import { Fragment as i, jsx as a, jsxs as o } from "react/jsx-runtime";
6
- import { CheckCircle2 as s, ChevronDown as c, ChevronRight as l, ChevronUp as u, Loader2 as d, X as f, XCircle as p } from "lucide-react";
1
+ import { Alert as e, AlertTitle as t, Button as n, DataTable as r, DataTableSortableHeader as i, Input as a, Tabs as o, TabsContent as ee, TabsList as te, TabsTrigger as ne } from "../../../../../packages/shared-ui-shadcn/dist/index.js";
2
+ import { EmptyState as s } from "../../../shared/ui/dist/lib/EmptyState/EmptyState.js";
3
+ import { ErrorState as c } from "../../../shared/ui/dist/lib/ErrorState/ErrorState.js";
4
+ import "../../../shared/ui/dist/index.js";
5
+ import { AddBillPanel as l } from "./index7.js";
6
+ import "./index8.js";
7
+ import { BillStatusBadge as u } from "./index20.js";
8
+ import "./index21.js";
9
+ import { DueDateValue as re } from "./index23.js";
10
+ import "./index24.js";
11
+ import { MissingValue as d } from "./index53.js";
12
+ import "./index54.js";
13
+ import { BILLS_SCREEN_LABELS_EN as f, BILLS_SCREEN_UPLOAD_ACCEPT as p } from "./index55.js";
14
+ import { BillDuplicateBadge as ie } from "./index57.js";
15
+ import "./index58.js";
16
+ import { BillsFilterBar as m } from "./index64.js";
17
+ import "./index65.js";
18
+ import { BillColumn as h } from "./index66.js";
19
+ import { useMemo as g } from "react";
20
+ import { jsx as _, jsxs as v } from "react/jsx-runtime";
21
+ import { ChevronRightIcon as y, CopyX as ae, PaperclipIcon as oe, PlusIcon as se, SearchIcon as ce } from "lucide-react";
7
22
  //#region ../../libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index67.js
8
- function m({ status: t }) {
9
- let r = e("ttw:size-4", n[t]);
10
- return t === "uploading" ? /* @__PURE__ */ a(d, {
11
- "aria-hidden": !0,
12
- className: e(r, "ttw:animate-spin")
13
- }) : a(t === "ready" ? s : p, {
14
- "aria-hidden": !0,
15
- className: r
16
- });
17
- }
18
- function h({ item: t, labels: n }) {
19
- let s = r(), c = /* @__PURE__ */ o(i, { children: [
20
- /* @__PURE__ */ a(m, { status: t.status }),
21
- /* @__PURE__ */ a("span", {
22
- id: s,
23
+ var le = [
24
+ 10,
25
+ 25,
26
+ 50,
27
+ 100
28
+ ], ue = 240, de = [
29
+ h.Vendor,
30
+ h.IssueDate,
31
+ h.DueDate,
32
+ h.ScheduledDate,
33
+ h.PaidDate,
34
+ h.Status,
35
+ h.AmountDue,
36
+ h.AmountScheduled,
37
+ h.AmountPaid,
38
+ h.TotalAmount,
39
+ h.AddedOn
40
+ ], b = [
41
+ h.Vendor,
42
+ h.DueDate,
43
+ h.Status,
44
+ h.AmountDue,
45
+ h.AddedOn
46
+ ];
47
+ function x({ rows: x, isLoading: S, isError: C, sorting: fe, onSortingChange: pe, pageSize: me, onPageSizeChange: he, pageSizeOptions: w = le, pageInfo: ge, hasNextPage: T, hasPrevPage: E, onNextPage: D, onPrevPage: O, filterTabs: k, selectedFilterTabId: A, onFilterTabChange: j, searchValue: M, onSearchChange: N, filters: P, visibleColumns: F = b, cellTestIds: I, isSearchActive: L, showAddPanelWhenEmpty: _e, emptyState: R, onCreateClick: z, onRetry: B, onFilesSelected: V, maxFiles: H, onEnterManually: U, uploadStatus: W, uploadErrorMessage: G, emailAddress: K, onCopyEmail: q, labels: J, duplicateWarning: Y, onReviewDuplicates: X }) {
48
+ let Z = g(() => ({
49
+ ...f,
50
+ ...J,
51
+ statusBadge: {
52
+ ...f.statusBadge,
53
+ ...J?.statusBadge
54
+ },
55
+ addBill: {
56
+ ...f.addBill,
57
+ ...J?.addBill,
58
+ dropzone: {
59
+ ...f.addBill.dropzone,
60
+ ...J?.addBill?.dropzone
61
+ }
62
+ },
63
+ sortableHeader: {
64
+ ...f.sortableHeader,
65
+ ...J?.sortableHeader
66
+ },
67
+ missingValue: {
68
+ ...f.missingValue,
69
+ ...J?.missingValue
70
+ },
71
+ dueDate: {
72
+ ...f.dueDate,
73
+ ...J?.dueDate
74
+ }
75
+ }), [J]), Q = g(() => {
76
+ let e = (e) => function({ column: t }) {
77
+ return /* @__PURE__ */ _(i, {
78
+ column: t,
79
+ title: e,
80
+ labels: Z.sortableHeader
81
+ });
82
+ }, t = (e, t) => function({ row: n }) {
83
+ return /* @__PURE__ */ _("span", {
84
+ "data-testid": I?.[t],
85
+ children: n.original[e] || /* @__PURE__ */ _(d, { labels: Z.missingValue })
86
+ });
87
+ }, n = function({ row: e }) {
88
+ return /* @__PURE__ */ _("span", {
89
+ "data-testid": I?.[h.DueDate],
90
+ children: /* @__PURE__ */ _(re, {
91
+ value: e.original.dueDateLabel || /* @__PURE__ */ _(d, { labels: Z.missingValue }),
92
+ tone: e.original.dueDateTone,
93
+ labels: Z.dueDate
94
+ })
95
+ });
96
+ }, r = (e, t) => function({ row: n }) {
97
+ return /* @__PURE__ */ _("div", {
98
+ className: "ttw:text-right",
99
+ "data-testid": I?.[t],
100
+ children: n.original[e] || /* @__PURE__ */ _(d, { labels: Z.missingValue })
101
+ });
102
+ }, a = (e) => function() {
103
+ return /* @__PURE__ */ _("div", {
104
+ className: "ttw:text-right",
105
+ children: e
106
+ });
107
+ };
108
+ return {
109
+ [h.Vendor]: {
110
+ accessorKey: "vendorLabel",
111
+ enableSorting: !0,
112
+ minSize: ue,
113
+ header: e(Z.columnVendor),
114
+ cell: ({ row: e }) => /* @__PURE__ */ v("span", {
115
+ className: "ttw:flex ttw:items-center ttw:gap-1.5",
116
+ "data-testid": I?.[h.Vendor],
117
+ children: [e.original.vendorLabel || /* @__PURE__ */ _(d, { labels: Z.missingValue }), e.original.attachment ? /* @__PURE__ */ _(oe, {
118
+ className: "ttw:size-3.5 ttw:shrink-0 ttw:text-muted-foreground",
119
+ "aria-label": e.original.attachment.label,
120
+ role: "img"
121
+ }) : null]
122
+ })
123
+ },
124
+ [h.IssueDate]: {
125
+ accessorKey: "issueDateLabel",
126
+ enableSorting: !0,
127
+ header: e(Z.columnIssueDate),
128
+ cell: t("issueDateLabel", h.IssueDate)
129
+ },
130
+ [h.DueDate]: {
131
+ accessorKey: "dueDateLabel",
132
+ enableSorting: !0,
133
+ header: e(Z.columnDueDate),
134
+ cell: n
135
+ },
136
+ [h.ScheduledDate]: {
137
+ accessorKey: "scheduledDateLabel",
138
+ enableSorting: !0,
139
+ header: e(Z.columnScheduledDate),
140
+ cell: t("scheduledDateLabel", h.ScheduledDate)
141
+ },
142
+ [h.PaidDate]: {
143
+ accessorKey: "paidDateLabel",
144
+ enableSorting: !1,
145
+ header: Z.columnPaidDate,
146
+ cell: t("paidDateLabel", h.PaidDate)
147
+ },
148
+ [h.Status]: {
149
+ accessorKey: "status",
150
+ enableSorting: !1,
151
+ header: Z.columnStatus,
152
+ cell: ({ row: e }) => /* @__PURE__ */ v("div", {
153
+ className: "ttw:flex ttw:items-center ttw:gap-1",
154
+ "data-testid": I?.[h.Status],
155
+ children: [/* @__PURE__ */ _(u, {
156
+ status: e.original.status,
157
+ tone: e.original.statusTone,
158
+ labels: Z.statusBadge
159
+ }), e.original.duplicateBadge ? /* @__PURE__ */ _(ie, { ...e.original.duplicateBadge }) : null]
160
+ })
161
+ },
162
+ [h.AmountDue]: {
163
+ accessorKey: "amountDueLabel",
164
+ enableSorting: !1,
165
+ header: a(Z.columnAmountDue),
166
+ cell: r("amountDueLabel", h.AmountDue)
167
+ },
168
+ [h.AmountScheduled]: {
169
+ accessorKey: "amountScheduledLabel",
170
+ enableSorting: !1,
171
+ header: a(Z.columnAmountScheduled),
172
+ cell: r("amountScheduledLabel", h.AmountScheduled)
173
+ },
174
+ [h.AmountPaid]: {
175
+ accessorKey: "amountPaidLabel",
176
+ enableSorting: !1,
177
+ header: a(Z.columnAmountPaid),
178
+ cell: r("amountPaidLabel", h.AmountPaid)
179
+ },
180
+ [h.TotalAmount]: {
181
+ accessorKey: "totalAmountLabel",
182
+ enableSorting: !1,
183
+ header: a(Z.columnTotalAmount),
184
+ cell: r("totalAmountLabel", h.TotalAmount)
185
+ },
186
+ [h.AddedOn]: {
187
+ accessorKey: "addedOnLabel",
188
+ enableSorting: !0,
189
+ header: e(Z.columnAddedOn),
190
+ cell: t("addedOnLabel", h.AddedOn)
191
+ }
192
+ };
193
+ }, [Z, I]), ve = g(() => [...de.filter((e) => F.includes(e)).map((e) => Q[e]), {
194
+ id: "actions",
195
+ enableSorting: !1,
196
+ header: () => /* @__PURE__ */ _("span", {
23
197
  className: "ttw:sr-only",
24
- children: n.statusLabel(t.status)
25
- }),
26
- /* @__PURE__ */ a("span", {
27
- className: "ttw:flex-1 ttw:truncate ttw:text-left ttw:text-sm ttw:text-foreground",
28
- children: t.fileName
198
+ children: Z.columnActions
29
199
  }),
30
- t.onOpen ? /* @__PURE__ */ a(l, {
31
- "aria-hidden": !0,
32
- className: "ttw:size-4"
33
- }) : null
34
- ] }), u = "ttw:flex ttw:items-center ttw:gap-3 ttw:px-4 ttw:py-2.5";
35
- return t.onOpen ? /* @__PURE__ */ a("button", {
36
- type: "button",
37
- onClick: t.onOpen,
38
- "aria-describedby": s,
39
- "aria-label": n.openItem(t.fileName),
40
- className: e(u, "ttw:w-full ttw:text-muted-foreground ttw:transition-colors ttw:hover:bg-muted/50 ttw:hover:text-foreground"),
41
- children: c
42
- }) : /* @__PURE__ */ a("div", {
43
- "aria-describedby": s,
44
- className: u,
45
- children: c
200
+ cell: ({ row: e }) => /* @__PURE__ */ _("div", {
201
+ className: "ttw:flex ttw:justify-end",
202
+ children: /* @__PURE__ */ _(n, {
203
+ variant: "ghost",
204
+ size: "icon",
205
+ "aria-label": Z.openRow(e.original.vendorLabel || Z.missingValue.missing),
206
+ onClick: (t) => {
207
+ t.stopPropagation(), e.original.onOpen();
208
+ },
209
+ children: /* @__PURE__ */ _(y, { className: "ttw:size-4" })
210
+ })
211
+ })
212
+ }], [
213
+ Q,
214
+ Z,
215
+ F
216
+ ]), ye = !!(z && V) && !S && !C && !L && x.length === 0 && _e === !0, $ = /* @__PURE__ */ v("div", {
217
+ className: "ttw:relative ttw:w-80",
218
+ children: [/* @__PURE__ */ _(ce, { className: "ttw:pointer-events-none ttw:absolute ttw:left-3 ttw:top-1/2 ttw:size-4 ttw:-translate-y-1/2 ttw:text-muted-foreground" }), /* @__PURE__ */ _(a, {
219
+ className: "ttw:pl-9",
220
+ type: "search",
221
+ "aria-label": Z.searchLabel,
222
+ placeholder: Z.searchPlaceholder,
223
+ value: M,
224
+ onChange: (e) => N(e.target.value)
225
+ })]
226
+ }), be = P ? /* @__PURE__ */ _(m, {
227
+ ...P,
228
+ className: "ttw:px-4",
229
+ searchSlot: $
230
+ }) : /* @__PURE__ */ _("div", {
231
+ className: "ttw:flex ttw:flex-wrap ttw:items-center ttw:gap-2 ttw:px-4",
232
+ children: $
46
233
  });
47
- }
48
- function g({ sections: e, summaryLabel: n, collapsed: r, onToggleCollapsed: i, onClose: s, testId: l, labels: d }) {
49
- let p = {
50
- ...t,
51
- ...d
52
- };
53
- return /* @__PURE__ */ o("div", {
54
- className: "ttw:fixed ttw:right-4 ttw:bottom-4 ttw:z-50 ttw:w-96 ttw:max-w-[calc(100vw-2rem)] ttw:overflow-hidden ttw:rounded-lg ttw:border ttw:border-border ttw:bg-card",
55
- "data-testid": l,
56
- children: [/* @__PURE__ */ o("div", {
57
- className: "ttw:flex ttw:items-center ttw:gap-2 ttw:border-b ttw:border-border ttw:bg-muted/40 ttw:px-4 ttw:py-3",
234
+ return /* @__PURE__ */ v("div", {
235
+ className: "ttw:flex ttw:flex-col ttw:gap-3",
236
+ children: [Y ? /* @__PURE__ */ v(e, {
237
+ className: "ttw:[&>svg]:size-6 ttw:flex ttw:items-center ttw:bg-amber-50 ttw:text-amber-700 ttw:border-amber-300",
58
238
  children: [
59
- /* @__PURE__ */ a("span", {
60
- "aria-live": "polite",
61
- className: "ttw:flex-1 ttw:text-base ttw:font-semibold ttw:text-foreground",
62
- children: n
239
+ /* @__PURE__ */ _(ae, {}),
240
+ /* @__PURE__ */ _(t, {
241
+ className: "ttw:flex-1",
242
+ children: Y
63
243
  }),
64
- /* @__PURE__ */ a("button", {
244
+ X ? /* @__PURE__ */ _(n, {
65
245
  type: "button",
66
- onClick: i,
67
- "aria-label": r ? p.expand : p.collapse,
68
- "aria-expanded": !r,
69
- className: "ttw:text-muted-foreground ttw:hover:text-foreground",
70
- children: a(r ? u : c, { className: "ttw:size-4" })
71
- }),
72
- /* @__PURE__ */ a("button", {
73
- type: "button",
74
- onClick: s,
75
- "aria-label": p.close,
76
- className: "ttw:text-muted-foreground ttw:hover:text-foreground",
77
- children: /* @__PURE__ */ a(f, { className: "ttw:size-4" })
78
- })
246
+ variant: "outline",
247
+ className: "ttw:text-foreground",
248
+ onClick: X,
249
+ children: Z.duplicateBillsReviewButton
250
+ }) : null
79
251
  ]
80
- }), r ? null : /* @__PURE__ */ a("div", {
81
- className: "ttw:max-h-96 ttw:overflow-y-auto",
82
- children: e.map((e) => /* @__PURE__ */ o("div", { children: [e.caption ? /* @__PURE__ */ a("p", {
83
- className: "ttw:px-4 ttw:pt-3 ttw:pb-1 ttw:text-xs ttw:text-muted-foreground",
84
- children: e.caption
85
- }) : null, e.items.map((e) => /* @__PURE__ */ a(h, {
86
- item: e,
87
- labels: p
88
- }, e.id))] }, e.id))
252
+ }) : null, /* @__PURE__ */ v(o, {
253
+ value: A,
254
+ onValueChange: j,
255
+ className: "ttw:flex ttw:flex-col ttw:gap-4",
256
+ children: [/* @__PURE__ */ v("div", {
257
+ className: "ttw:flex ttw:flex-wrap ttw:items-center ttw:justify-between ttw:gap-3",
258
+ children: [/* @__PURE__ */ _(te, {
259
+ "aria-label": Z.filterTabsLabel,
260
+ children: k.map((e) => /* @__PURE__ */ v(ne, {
261
+ value: e.id,
262
+ className: "ttw:min-w-28",
263
+ children: [e.icon, e.label]
264
+ }, e.id))
265
+ }), z ? /* @__PURE__ */ v(n, {
266
+ onClick: z,
267
+ children: [/* @__PURE__ */ _(se, { className: "ttw:size-4" }), Z.createButton]
268
+ }) : null]
269
+ }), (() => {
270
+ let e = C ? /* @__PURE__ */ _(c, {
271
+ title: Z.errorTitle,
272
+ description: Z.errorDescription,
273
+ retryLabel: B ? Z.errorRetry : void 0,
274
+ onRetry: B
275
+ }) : ye && z && V ? /* @__PURE__ */ _("div", {
276
+ className: "ttw:rounded-lg ttw:border ttw:border-border ttw:bg-card",
277
+ children: K && q ? /* @__PURE__ */ _(l, {
278
+ emailAddress: K,
279
+ onCopyEmail: q,
280
+ onFilesSelected: V,
281
+ accept: p,
282
+ maxFiles: H,
283
+ uploadStatus: W,
284
+ uploadErrorMessage: G,
285
+ onEnterManually: U ?? z,
286
+ labels: Z.addBill
287
+ }) : /* @__PURE__ */ _(l, {
288
+ onFilesSelected: V,
289
+ accept: p,
290
+ maxFiles: H,
291
+ uploadStatus: W,
292
+ uploadErrorMessage: G,
293
+ onEnterManually: U ?? z,
294
+ labels: Z.addBill
295
+ })
296
+ }) : /* @__PURE__ */ _(r, {
297
+ columns: ve,
298
+ data: x,
299
+ isLoading: S,
300
+ sorting: fe,
301
+ onSortingChange: pe,
302
+ pageSize: me,
303
+ onPageSizeChange: he,
304
+ pageSizeOptions: w,
305
+ pageInfo: ge,
306
+ hasNextPage: T,
307
+ hasPrevPage: E,
308
+ onNextPage: D,
309
+ onPrevPage: O,
310
+ onRowClick: (e) => e.onOpen(),
311
+ filterComponent: be,
312
+ children: L ? /* @__PURE__ */ _(s, {
313
+ title: Z.filteredEmptyTitle,
314
+ description: Z.filteredEmptyDescription
315
+ }) : R ? /* @__PURE__ */ _(s, {
316
+ title: R.title,
317
+ description: R.description
318
+ }) : void 0
319
+ });
320
+ return k.map((t) => /* @__PURE__ */ _(ee, {
321
+ value: t.id,
322
+ children: t.id === A ? e : null
323
+ }, t.id));
324
+ })()]
89
325
  })]
90
326
  });
91
327
  }
92
328
  //#endregion
93
- export { g as BillUploadStatusTray, g as default };
329
+ export { x as BillsScreen, x as default, b as DEFAULT_BILL_COLUMNS };
@@ -0,0 +1,10 @@
1
+ //#region ../../libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index68.js
2
+ var e = {
3
+ collapse: "Collapse upload status",
4
+ expand: "Expand upload status",
5
+ close: "Close upload status",
6
+ statusLabel: (e) => e === "uploading" ? "Uploading" : e === "ready" ? "Ready" : "Failed",
7
+ openItem: (e) => `Open ${e}`
8
+ };
9
+ //#endregion
10
+ export { e as BILL_UPLOAD_STATUS_TRAY_LABELS_EN };
@@ -1,2 +1,8 @@
1
- import "./index65.js";
2
- import "./index67.js";
1
+ //#region ../../libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index69.js
2
+ var e = {
3
+ uploading: "ttw:text-muted-foreground",
4
+ ready: "ttw:text-emerald-600",
5
+ failed: "ttw:text-destructive"
6
+ };
7
+ //#endregion
8
+ export { e as UPLOAD_ITEM_ICON_TONE };
@@ -1,18 +1,93 @@
1
+ import { cn as e } from "../../../../../packages/shared-ui-shadcn/dist/index.js";
2
+ import { BILL_UPLOAD_STATUS_TRAY_LABELS_EN as t } from "./index68.js";
3
+ import { UPLOAD_ITEM_ICON_TONE as n } from "./index69.js";
4
+ import { useId as r } from "react";
5
+ import { Fragment as i, jsx as a, jsxs as o } from "react/jsx-runtime";
6
+ import { CheckCircle2 as s, ChevronDown as c, ChevronRight as l, ChevronUp as u, Loader2 as d, X as f, XCircle as p } from "lucide-react";
1
7
  //#region ../../libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index70.js
2
- var e = {
3
- title: "Possible duplicate files",
4
- descriptionFirstLine: "The following bills may be duplicates of each other.",
5
- descriptionSecondLine: "You can keep or remove duplicates, or view them for more detail before making a decision.",
6
- selectAllRows: "Select all bills",
7
- columnDuplicate: "Duplicate?",
8
- columnVendor: "Vendor",
9
- columnInvoiceNumber: "Invoice number",
10
- columnAmount: "Amount",
11
- columnInvoiceDate: "Invoice date",
12
- columnAddedOn: "Added on",
13
- columnActions: "Actions",
14
- keepSelectedButton: "Keep selected files",
15
- cancelDuplicatesButton: "Cancel duplicates"
16
- };
8
+ function m({ status: t }) {
9
+ let r = e("ttw:size-4", n[t]);
10
+ return t === "uploading" ? /* @__PURE__ */ a(d, {
11
+ "aria-hidden": !0,
12
+ className: e(r, "ttw:animate-spin")
13
+ }) : a(t === "ready" ? s : p, {
14
+ "aria-hidden": !0,
15
+ className: r
16
+ });
17
+ }
18
+ function h({ item: t, labels: n }) {
19
+ let s = r(), c = /* @__PURE__ */ o(i, { children: [
20
+ /* @__PURE__ */ a(m, { status: t.status }),
21
+ /* @__PURE__ */ a("span", {
22
+ id: s,
23
+ className: "ttw:sr-only",
24
+ children: n.statusLabel(t.status)
25
+ }),
26
+ /* @__PURE__ */ a("span", {
27
+ className: "ttw:flex-1 ttw:truncate ttw:text-left ttw:text-sm ttw:text-foreground",
28
+ children: t.fileName
29
+ }),
30
+ t.onOpen ? /* @__PURE__ */ a(l, {
31
+ "aria-hidden": !0,
32
+ className: "ttw:size-4"
33
+ }) : null
34
+ ] }), u = "ttw:flex ttw:items-center ttw:gap-3 ttw:px-4 ttw:py-2.5";
35
+ return t.onOpen ? /* @__PURE__ */ a("button", {
36
+ type: "button",
37
+ onClick: t.onOpen,
38
+ "aria-describedby": s,
39
+ "aria-label": n.openItem(t.fileName),
40
+ className: e(u, "ttw:w-full ttw:text-muted-foreground ttw:transition-colors ttw:hover:bg-muted/50 ttw:hover:text-foreground"),
41
+ children: c
42
+ }) : /* @__PURE__ */ a("div", {
43
+ "aria-describedby": s,
44
+ className: u,
45
+ children: c
46
+ });
47
+ }
48
+ function g({ sections: e, summaryLabel: n, collapsed: r, onToggleCollapsed: i, onClose: s, testId: l, labels: d }) {
49
+ let p = {
50
+ ...t,
51
+ ...d
52
+ };
53
+ return /* @__PURE__ */ o("div", {
54
+ className: "ttw:fixed ttw:right-4 ttw:bottom-4 ttw:z-50 ttw:w-96 ttw:max-w-[calc(100vw-2rem)] ttw:overflow-hidden ttw:rounded-lg ttw:border ttw:border-border ttw:bg-card",
55
+ "data-testid": l,
56
+ children: [/* @__PURE__ */ o("div", {
57
+ className: "ttw:flex ttw:items-center ttw:gap-2 ttw:border-b ttw:border-border ttw:bg-muted/40 ttw:px-4 ttw:py-3",
58
+ children: [
59
+ /* @__PURE__ */ a("span", {
60
+ "aria-live": "polite",
61
+ className: "ttw:flex-1 ttw:text-base ttw:font-semibold ttw:text-foreground",
62
+ children: n
63
+ }),
64
+ /* @__PURE__ */ a("button", {
65
+ type: "button",
66
+ onClick: i,
67
+ "aria-label": r ? p.expand : p.collapse,
68
+ "aria-expanded": !r,
69
+ className: "ttw:text-muted-foreground ttw:hover:text-foreground",
70
+ children: a(r ? u : c, { className: "ttw:size-4" })
71
+ }),
72
+ /* @__PURE__ */ a("button", {
73
+ type: "button",
74
+ onClick: s,
75
+ "aria-label": p.close,
76
+ className: "ttw:text-muted-foreground ttw:hover:text-foreground",
77
+ children: /* @__PURE__ */ a(f, { className: "ttw:size-4" })
78
+ })
79
+ ]
80
+ }), r ? null : /* @__PURE__ */ a("div", {
81
+ className: "ttw:max-h-96 ttw:overflow-y-auto",
82
+ children: e.map((e) => /* @__PURE__ */ o("div", { children: [e.caption ? /* @__PURE__ */ a("p", {
83
+ className: "ttw:px-4 ttw:pt-3 ttw:pb-1 ttw:text-xs ttw:text-muted-foreground",
84
+ children: e.caption
85
+ }) : null, e.items.map((e) => /* @__PURE__ */ a(h, {
86
+ item: e,
87
+ labels: p
88
+ }, e.id))] }, e.id))
89
+ })]
90
+ });
91
+ }
17
92
  //#endregion
18
- export { e as DUPLICATE_BILLS_DIALOG_LABELS_EN };
93
+ export { g as BillUploadStatusTray, g as default };
@@ -1,2 +1,2 @@
1
+ import "./index68.js";
1
2
  import "./index70.js";
2
- import "./index71.js";
@@ -1,7 +1,18 @@
1
1
  //#region ../../libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index73.js
2
2
  var e = {
3
- message: "Data extracted automatically — please review all details to make sure they match",
4
- dismiss: "Dismiss this notice"
3
+ title: "Possible duplicate files",
4
+ descriptionFirstLine: "The following bills may be duplicates of each other.",
5
+ descriptionSecondLine: "You can keep or remove duplicates, or view them for more detail before making a decision.",
6
+ selectAllRows: "Select all bills",
7
+ columnDuplicate: "Duplicate?",
8
+ columnVendor: "Vendor",
9
+ columnInvoiceNumber: "Invoice number",
10
+ columnAmount: "Amount",
11
+ columnInvoiceDate: "Invoice date",
12
+ columnAddedOn: "Added on",
13
+ columnActions: "Actions",
14
+ keepSelectedButton: "Keep selected files",
15
+ cancelDuplicatesButton: "Cancel duplicates"
5
16
  };
6
17
  //#endregion
7
- export { e as EXTRACTION_NOTICE_LABELS_EN };
18
+ export { e as DUPLICATE_BILLS_DIALOG_LABELS_EN };