@tesouro/embedded-components-react 0.3.24 → 0.3.26

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 (80) hide show
  1. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index11.js +2 -2
  2. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index13.js +2 -2
  3. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index2.js +1 -1
  4. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index25.js +17 -12
  5. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index27.js +1 -0
  6. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index32.js +1 -1
  7. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index44.js +5 -5
  8. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index46.js +1 -1
  9. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index47.js +1 -0
  10. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index48.js +8 -4
  11. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index59.js +1 -1
  12. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index61.js +1 -1
  13. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index64.js +1 -1
  14. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index68.js +1 -1
  15. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index69.js +1 -0
  16. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index70.js +1 -1
  17. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index73.js +2 -2
  18. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index.js +33 -30
  19. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index18.js +0 -1
  20. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index22.js +2 -40
  21. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index23.js +23 -266
  22. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index25.js +46 -6
  23. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index26.js +273 -45
  24. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index28.js +5 -18
  25. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index29.js +45 -282
  26. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index31.js +19 -13
  27. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index32.js +273 -107
  28. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index34.js +13 -9
  29. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index35.js +113 -92
  30. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index37.js +9 -10
  31. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index38.js +95 -54
  32. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index40.js +9 -50
  33. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index41.js +53 -137
  34. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index43.js +52 -2
  35. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index44.js +138 -37
  36. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index46.js +2 -5
  37. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index47.js +37 -88
  38. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index49.js +5 -2
  39. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index50.js +88 -12
  40. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index52.js +2 -77
  41. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index53.js +11 -253
  42. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index54.js +2 -13
  43. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index55.js +82 -0
  44. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index56.js +264 -8
  45. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index57.js +9 -45
  46. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index58.js +0 -1
  47. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index59.js +7 -36
  48. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index60.js +47 -10
  49. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index61.js +2 -201
  50. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index62.js +39 -3
  51. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index63.js +3 -7
  52. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index64.js +188 -301
  53. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index65.js +3 -10
  54. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index66.js +12 -4
  55. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index67.js +317 -81
  56. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index68.js +10 -0
  57. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index69.js +8 -2
  58. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index70.js +91 -16
  59. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index72.js +1 -1
  60. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index73.js +14 -3
  61. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index74.js +109 -26
  62. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index76.js +3 -3
  63. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index77.js +26 -30
  64. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index79.js +4 -9
  65. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index80.js +30 -102
  66. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index82.js +9 -14
  67. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index83.js +85 -104
  68. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index85.js +10 -11
  69. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index86.js +123 -8
  70. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index87.js +2 -170
  71. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index88.js +18 -2
  72. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index89.js +7 -11
  73. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index90.js +158 -96
  74. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index91.js +1 -1
  75. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index92.js +14 -0
  76. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index93.js +108 -0
  77. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index94.js +2 -0
  78. package/dist/libs/tesouro-embedded-components-react/shared/feature/dist/lib/analytics/build-info.js +1 -1
  79. package/package.json +1 -1
  80. 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 };