@tesouro/embedded-components-react 0.5.205 → 0.5.207

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 (59) hide show
  1. package/README.md +1 -1
  2. package/dist/index.d.ts +51 -4
  3. package/dist/index.js +1 -1
  4. package/dist/lib/ReceivablesWidget.d.ts +51 -4
  5. package/dist/lib/ReceivablesWidget.js +1 -1
  6. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index.js +2 -2
  7. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index10.js +84 -2
  8. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index2.js +31 -25
  9. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index.js +1 -1
  10. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index10.js +109 -193
  11. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index11.js +154 -37
  12. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index12.js +193 -135
  13. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index13.js +37 -58
  14. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index14.js +140 -86
  15. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index15.js +42 -47
  16. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index16.js +58 -313
  17. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index17.js +91 -65
  18. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index18.js +108 -102
  19. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index19.js +48 -249
  20. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index20.js +365 -0
  21. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index21.js +75 -0
  22. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index22.js +115 -0
  23. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index23.js +285 -0
  24. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index5.js +1 -1
  25. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index8.js +93 -407
  26. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index9.js +430 -86
  27. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index.js +17 -12
  28. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index10.js +92 -16
  29. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index11.js +3 -1
  30. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index12.js +24 -4
  31. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index13.js +0 -10
  32. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index14.js +2 -0
  33. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index15.js +3 -264
  34. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index16.js +16 -70
  35. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index17.js +1 -424
  36. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index18.js +4 -106
  37. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index19.js +12 -93
  38. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index2.js +5 -179
  39. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index20.js +1 -344
  40. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index21.js +264 -0
  41. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index22.js +72 -0
  42. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index23.js +402 -0
  43. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index24.js +106 -0
  44. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index25.js +249 -0
  45. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index26.js +93 -0
  46. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index27.js +344 -0
  47. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index3.js +195 -32
  48. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index4.js +29 -202
  49. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index5.js +183 -137
  50. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index6.js +157 -20
  51. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index7.js +16 -1
  52. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index8.js +25 -3
  53. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index9.js +4 -3
  54. package/dist/libs/tesouro-embedded-components-react/shared/counterpart-management/feature/dist/index.js +11 -11
  55. package/dist/libs/tesouro-embedded-components-react/shared/data-access/dist/index.js +38 -38
  56. package/dist/libs/tesouro-embedded-components-react/shared/data-access/dist/lib/rest/@tanstack/react-query.gen.js +220 -198
  57. package/dist/libs/tesouro-embedded-components-react/shared/data-access/dist/lib/rest/sdk.gen.js +124 -84
  58. package/dist/libs/tesouro-embedded-components-react/shared/feature/dist/lib/analytics/build-info.js +1 -1
  59. package/package.json +1 -1
@@ -0,0 +1,249 @@
1
+ import { Button as e, Input as t, Label as n, RadioGroup as r, RadioGroupItem as i, Switch as a, Typography as o } from "../../../../../packages/shared-ui-shadcn/dist/index.js";
2
+ import { RECEIVABLE_FORM_SHEET_LABELS_EN as s } from "./index3.js";
3
+ import { Fragment as c } from "react";
4
+ import { Fragment as l, jsx as u, jsxs as d } from "react/jsx-runtime";
5
+ import { PlusIcon as f } from "lucide-react";
6
+ //#region ../../libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index25.js
7
+ function p(e) {
8
+ e.key === "Enter" && e.preventDefault();
9
+ }
10
+ var m = "ttw:border ttw:border-border ttw:rounded-lg ttw:min-h-28 ttw:p-2.5 ttw:flex ttw:w-full ttw:flex-col ttw:gap-4 ttw:xl:w-1/2";
11
+ function h({ id: e, value: t, label: r }) {
12
+ return /* @__PURE__ */ d("li", {
13
+ className: "ttw:flex ttw:items-center ttw:gap-2",
14
+ children: [/* @__PURE__ */ u(i, {
15
+ value: t,
16
+ id: e
17
+ }), /* @__PURE__ */ u(n, {
18
+ htmlFor: e,
19
+ className: "ttw:text-sm ttw:font-normal ttw:leading-snug",
20
+ children: r
21
+ })]
22
+ });
23
+ }
24
+ function g({ idPrefix: e, options: t, selectedId: n, noneLabel: i, onSelect: a }) {
25
+ return /* @__PURE__ */ u(r, {
26
+ className: "ttw:contents",
27
+ value: n,
28
+ onValueChange: a,
29
+ children: /* @__PURE__ */ d("ul", {
30
+ className: "ttw:flex ttw:flex-col ttw:gap-3",
31
+ children: [/* @__PURE__ */ u(h, {
32
+ id: `${e}-none`,
33
+ value: "",
34
+ label: i
35
+ }), t.map((t) => /* @__PURE__ */ u(h, {
36
+ id: `${e}-${t.value}`,
37
+ value: t.value,
38
+ label: t.label
39
+ }, t.value))]
40
+ })
41
+ });
42
+ }
43
+ function _({ direction: e, directionClassName: t, labels: n }) {
44
+ return /* @__PURE__ */ d(o, {
45
+ variant: "body2",
46
+ children: [
47
+ n.reminderNumberOfDays,
48
+ " ",
49
+ /* @__PURE__ */ u("span", {
50
+ className: t,
51
+ children: e
52
+ }),
53
+ " ",
54
+ n.reminderDueDate
55
+ ]
56
+ });
57
+ }
58
+ function v({ idPrefix: n, view: r, labels: i, onSelect: a, onInputChange: s, onSave: c }) {
59
+ let { create: l } = r, f = `${n}-error`;
60
+ return /* @__PURE__ */ d("div", {
61
+ className: m,
62
+ children: [
63
+ /* @__PURE__ */ u(_, {
64
+ direction: i.reminderBefore,
65
+ directionClassName: "ttw:text-green-700 ttw:font-bold",
66
+ labels: i
67
+ }),
68
+ /* @__PURE__ */ u(g, {
69
+ idPrefix: `${n}-option`,
70
+ options: r.options,
71
+ selectedId: r.selectedId,
72
+ noneLabel: i.reminderNone,
73
+ onSelect: a
74
+ }),
75
+ l && /* @__PURE__ */ d("div", {
76
+ className: "ttw:flex ttw:flex-col ttw:gap-2.5",
77
+ children: [
78
+ l.caption && /* @__PURE__ */ u(o, {
79
+ variant: "caption",
80
+ color: "muted",
81
+ children: l.caption
82
+ }),
83
+ /* @__PURE__ */ d("div", {
84
+ className: "ttw:flex ttw:items-center ttw:gap-2.5",
85
+ children: [
86
+ /* @__PURE__ */ u(t, {
87
+ type: "text",
88
+ inputMode: "numeric",
89
+ value: l.value,
90
+ onChange: (e) => s(e.target.value),
91
+ onKeyDown: p,
92
+ disabled: l.inputDisabled,
93
+ className: "ttw:text-right ttw:w-full ttw:p-1.5 ttw:max-w-56",
94
+ placeholder: i.reminderPlaceholder,
95
+ "aria-label": i.reminderBeforeDueInputLabel,
96
+ "aria-invalid": !!l.error,
97
+ "aria-describedby": l.error ? f : void 0
98
+ }),
99
+ /* @__PURE__ */ u(o, {
100
+ variant: "body2",
101
+ children: l.unitLabel
102
+ }),
103
+ /* @__PURE__ */ u(e, {
104
+ type: "button",
105
+ variant: "secondary",
106
+ className: "ttw:hover:brightness-95 ttw:text-secondary-foreground ttw:text-xs",
107
+ disabled: l.saveDisabled,
108
+ loading: l.isSaving,
109
+ onClick: c,
110
+ children: i.reminderSaveButton
111
+ })
112
+ ]
113
+ }),
114
+ l.error && /* @__PURE__ */ u(o, {
115
+ id: f,
116
+ variant: "caption",
117
+ color: "destructive",
118
+ children: l.error
119
+ })
120
+ ]
121
+ }),
122
+ r.warning && /* @__PURE__ */ u(o, {
123
+ variant: "body2",
124
+ className: "ttw:text-amber-700",
125
+ children: r.warning
126
+ })
127
+ ]
128
+ });
129
+ }
130
+ function y({ idPrefix: n, view: r, labels: i, onSelect: a, onTermChange: s, onAddTerm: l, onClear: h, onSave: v }) {
131
+ let { create: y } = r;
132
+ return /* @__PURE__ */ d("div", {
133
+ className: m,
134
+ children: [
135
+ /* @__PURE__ */ u(_, {
136
+ direction: i.reminderAfter,
137
+ directionClassName: "ttw:text-destructive ttw:font-bold",
138
+ labels: i
139
+ }),
140
+ /* @__PURE__ */ u(g, {
141
+ idPrefix: `${n}-option`,
142
+ options: r.options,
143
+ selectedId: r.selectedId,
144
+ noneLabel: i.reminderNone,
145
+ onSelect: a
146
+ }),
147
+ y && /* @__PURE__ */ d("div", {
148
+ className: "ttw:flex ttw:flex-col ttw:gap-2.5",
149
+ children: [
150
+ /* @__PURE__ */ u(o, {
151
+ variant: "caption",
152
+ color: "muted",
153
+ children: y.caption
154
+ }),
155
+ /* @__PURE__ */ d("div", {
156
+ className: "ttw:flex ttw:items-center ttw:gap-2.5",
157
+ children: [y.terms.map((e, n) => /* @__PURE__ */ d(c, { children: [/* @__PURE__ */ u(t, {
158
+ type: "text",
159
+ inputMode: "numeric",
160
+ value: e.value,
161
+ onChange: (e) => s(n, e.target.value),
162
+ onKeyDown: p,
163
+ disabled: y.inputsDisabled,
164
+ className: "ttw:text-right ttw:w-15 ttw:p-1.5",
165
+ placeholder: e.showPlaceholder ? i.reminderPlaceholder : void 0,
166
+ "aria-label": e.ariaLabel
167
+ }), /* @__PURE__ */ u(o, {
168
+ variant: "body2",
169
+ children: e.unitLabel
170
+ })] }, n)), y.showAddTerm && /* @__PURE__ */ d(e, {
171
+ type: "button",
172
+ variant: "ghost",
173
+ className: "ttw:text-xs ttw:text-primary ttw:hover:text-primary",
174
+ disabled: y.addTermDisabled,
175
+ onClick: l,
176
+ children: [/* @__PURE__ */ u(f, {}), i.reminderAddTermButton]
177
+ })]
178
+ }),
179
+ /* @__PURE__ */ d("div", {
180
+ className: "ttw:flex ttw:items-center ttw:gap-2.5",
181
+ children: [/* @__PURE__ */ u(e, {
182
+ type: "button",
183
+ variant: "ghost",
184
+ className: "ttw:text-xs",
185
+ disabled: y.clearDisabled,
186
+ onClick: h,
187
+ children: i.reminderClearButton
188
+ }), /* @__PURE__ */ u(e, {
189
+ type: "button",
190
+ variant: "secondary",
191
+ className: "ttw:hover:brightness-95 ttw:text-secondary-foreground ttw:text-xs",
192
+ disabled: y.saveDisabled,
193
+ loading: y.isSaving,
194
+ onClick: v,
195
+ children: i.reminderSaveButton
196
+ })]
197
+ })
198
+ ]
199
+ })
200
+ ]
201
+ });
202
+ }
203
+ function b({ idPrefix: e, view: t, onToggle: n, onPaymentReminderSelect: r, onOverdueReminderSelect: i, onBeforeDueInputChange: c, onBeforeDueSave: f, onOverdueTermChange: p, onOverdueAddTerm: m, onOverdueClear: h, onOverdueSave: g, labels: _ }) {
204
+ let b = {
205
+ ...s,
206
+ ..._
207
+ }, { cards: x } = t;
208
+ return /* @__PURE__ */ d("section", {
209
+ className: "ttw:flex ttw:flex-col ttw:gap-6",
210
+ children: [/* @__PURE__ */ d("div", {
211
+ className: "ttw:flex ttw:items-center ttw:gap-3",
212
+ children: [/* @__PURE__ */ u(a, {
213
+ checked: t.checked,
214
+ disabled: t.toggleDisabled,
215
+ onCheckedChange: n,
216
+ "aria-label": b.remindersToggleLabel
217
+ }), /* @__PURE__ */ u(o, {
218
+ variant: "body2",
219
+ children: b.remindersDescription
220
+ })]
221
+ }), x && /* @__PURE__ */ d(l, { children: [/* @__PURE__ */ d("div", {
222
+ className: "ttw:flex ttw:flex-col ttw:gap-4 ttw:w-full ttw:xl:flex-row",
223
+ children: [x.beforeDue && /* @__PURE__ */ u(v, {
224
+ idPrefix: `${e}-before`,
225
+ view: x.beforeDue,
226
+ labels: b,
227
+ onSelect: r,
228
+ onInputChange: c,
229
+ onSave: f
230
+ }), /* @__PURE__ */ u(y, {
231
+ idPrefix: `${e}-overdue`,
232
+ view: x.overdue,
233
+ labels: b,
234
+ onSelect: i,
235
+ onTermChange: p,
236
+ onAddTerm: m,
237
+ onClear: h,
238
+ onSave: g
239
+ })]
240
+ }), /* @__PURE__ */ u(o, {
241
+ variant: "body2",
242
+ color: "muted",
243
+ className: "ttw:font-medium",
244
+ children: b.remindersLibraryNote
245
+ })] })]
246
+ });
247
+ }
248
+ //#endregion
249
+ export { b as ReceivableRemindersSection };
@@ -0,0 +1,93 @@
1
+ import { Button as e, Dialog as t, DialogContent as n, DialogDescription as r, DialogFooter as i, DialogHeader as a, DialogTitle as o, Input as s, Label as c, Textarea as l } from "../../../../../packages/shared-ui-shadcn/dist/index.js";
2
+ import { RECEIVABLE_SEND_DIALOG_LABELS_EN as u } from "./index3.js";
3
+ import { jsx as d, jsxs as f } from "react/jsx-runtime";
4
+ //#region ../../libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index26.js
5
+ function p({ message: e }) {
6
+ return e ? /* @__PURE__ */ d("p", {
7
+ className: "ttw:text-sm ttw:text-destructive",
8
+ children: e
9
+ }) : null;
10
+ }
11
+ function m({ open: m, onOpenChange: h, values: g, errors: _, inProgress: v, onChange: y, onSubmit: b, onCancel: x, labels: S }) {
12
+ let C = {
13
+ ...u,
14
+ ...S
15
+ };
16
+ return /* @__PURE__ */ d(t, {
17
+ open: m,
18
+ onOpenChange: h,
19
+ children: /* @__PURE__ */ f(n, { children: [
20
+ /* @__PURE__ */ f(a, { children: [/* @__PURE__ */ d(o, { children: C.title }), /* @__PURE__ */ d(r, { children: C.description })] }),
21
+ /* @__PURE__ */ f("div", {
22
+ className: "ttw:flex ttw:flex-col ttw:gap-4",
23
+ children: [
24
+ _?.form && /* @__PURE__ */ d("p", {
25
+ className: "ttw:rounded-md ttw:bg-destructive/10 ttw:px-3 ttw:py-2 ttw:text-sm ttw:text-destructive",
26
+ children: _.form
27
+ }),
28
+ /* @__PURE__ */ f("div", {
29
+ className: "ttw:flex ttw:flex-col ttw:gap-1.5",
30
+ children: [
31
+ /* @__PURE__ */ d(c, { children: C.toLabel }),
32
+ /* @__PURE__ */ d(s, {
33
+ value: g.to,
34
+ onChange: (e) => y({ to: e.target.value })
35
+ }),
36
+ /* @__PURE__ */ d(p, { message: _?.to })
37
+ ]
38
+ }),
39
+ /* @__PURE__ */ f("div", {
40
+ className: "ttw:grid ttw:grid-cols-2 ttw:gap-4",
41
+ children: [/* @__PURE__ */ f("div", {
42
+ className: "ttw:flex ttw:flex-col ttw:gap-1.5",
43
+ children: [/* @__PURE__ */ d(c, { children: C.ccLabel }), /* @__PURE__ */ d(s, {
44
+ value: g.cc,
45
+ onChange: (e) => y({ cc: e.target.value })
46
+ })]
47
+ }), /* @__PURE__ */ f("div", {
48
+ className: "ttw:flex ttw:flex-col ttw:gap-1.5",
49
+ children: [/* @__PURE__ */ d(c, { children: C.bccLabel }), /* @__PURE__ */ d(s, {
50
+ value: g.bcc,
51
+ onChange: (e) => y({ bcc: e.target.value })
52
+ })]
53
+ })]
54
+ }),
55
+ /* @__PURE__ */ f("div", {
56
+ className: "ttw:flex ttw:flex-col ttw:gap-1.5",
57
+ children: [
58
+ /* @__PURE__ */ d(c, { children: C.subjectLabel }),
59
+ /* @__PURE__ */ d(s, {
60
+ value: g.subject,
61
+ onChange: (e) => y({ subject: e.target.value })
62
+ }),
63
+ /* @__PURE__ */ d(p, { message: _?.subject })
64
+ ]
65
+ }),
66
+ /* @__PURE__ */ f("div", {
67
+ className: "ttw:flex ttw:flex-col ttw:gap-1.5",
68
+ children: [
69
+ /* @__PURE__ */ d(c, { children: C.bodyLabel }),
70
+ /* @__PURE__ */ d(l, {
71
+ rows: 6,
72
+ value: g.body,
73
+ onChange: (e) => y({ body: e.target.value })
74
+ }),
75
+ /* @__PURE__ */ d(p, { message: _?.body })
76
+ ]
77
+ })
78
+ ]
79
+ }),
80
+ /* @__PURE__ */ f(i, { children: [/* @__PURE__ */ d(e, {
81
+ variant: "ghost",
82
+ onClick: x,
83
+ children: C.cancelButton
84
+ }), /* @__PURE__ */ d(e, {
85
+ loading: v,
86
+ onClick: b,
87
+ children: C.sendButton
88
+ })] })
89
+ ] })
90
+ });
91
+ }
92
+ //#endregion
93
+ export { m as ReceivableSendDialog, m as default };
@@ -0,0 +1,344 @@
1
+ import { Button as e, DataTable as t, DropdownMenu as n, DropdownMenuContent as r, DropdownMenuItem as i, DropdownMenuTrigger as a, Input as o, Select as s, SelectContent as c, SelectItem as l, SelectTrigger as u, SelectValue as d, Tabs as f, TabsList as p, TabsTrigger as m } from "../../../../../packages/shared-ui-shadcn/dist/index.js";
2
+ import { EmptyState as h } from "../../../shared/ui/dist/lib/EmptyState/EmptyState.js";
3
+ import { ErrorState as g } from "../../../shared/ui/dist/lib/ErrorState/ErrorState.js";
4
+ import "../../../shared/ui/dist/index.js";
5
+ import { RECEIVABLES_SCREEN_LABELS_EN as _ } from "./index3.js";
6
+ import { ReceivableStatusBadge as v } from "./index12.js";
7
+ import { jsx as y, jsxs as b } from "react/jsx-runtime";
8
+ import { ArrowDownIcon as x, ArrowUpDownIcon as S, ArrowUpIcon as C, MoreHorizontalIcon as w, PlusIcon as T, SearchIcon as E, SettingsIcon as D } from "lucide-react";
9
+ //#region ../../libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index27.js
10
+ var O = [
11
+ 10,
12
+ 25,
13
+ 50,
14
+ 100
15
+ ], k = "all";
16
+ function A({ label: t, ariaLabel: n, column: r }) {
17
+ let i = r.getIsSorted();
18
+ return /* @__PURE__ */ b("div", {
19
+ className: "ttw:flex ttw:items-center ttw:gap-2 ttw:text-inherit",
20
+ children: [t, /* @__PURE__ */ y(e, {
21
+ variant: "ghost",
22
+ size: "icon-sm",
23
+ "aria-label": n,
24
+ onClick: () => r.toggleSorting(i === "asc"),
25
+ children: y(i === "asc" ? C : i === "desc" ? x : S, { className: "ttw:size-4" })
26
+ })]
27
+ });
28
+ }
29
+ function j({ labels: e, searchValue: t, onSearchChange: n, statusFilter: r, statusOptions: i, onStatusFilterChange: a }) {
30
+ return /* @__PURE__ */ b("div", {
31
+ className: "ttw:flex ttw:flex-wrap ttw:items-center ttw:gap-2 ttw:px-4",
32
+ children: [/* @__PURE__ */ b("div", {
33
+ className: "ttw:relative ttw:w-80",
34
+ children: [/* @__PURE__ */ y(E, { 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__ */ y(o, {
35
+ className: "ttw:pl-9",
36
+ placeholder: e.searchPlaceholder,
37
+ value: t,
38
+ onChange: (e) => n(e.target.value)
39
+ })]
40
+ }), /* @__PURE__ */ b(s, {
41
+ value: r,
42
+ onValueChange: a,
43
+ children: [/* @__PURE__ */ y(u, {
44
+ "aria-label": e.columnStatus,
45
+ className: "ttw:w-48",
46
+ children: /* @__PURE__ */ y(d, {})
47
+ }), /* @__PURE__ */ b(c, { children: [/* @__PURE__ */ y(l, {
48
+ value: k,
49
+ children: e.statusFilterAll
50
+ }), i.map((t) => /* @__PURE__ */ y(l, {
51
+ value: t.value,
52
+ children: N(t, e.statusBadge)
53
+ }, t.value))] })]
54
+ })]
55
+ });
56
+ }
57
+ function M({ enabled: e, label: t, action: n, row: r, onActionClick: a, variant: o }) {
58
+ return e ? /* @__PURE__ */ y(i, {
59
+ variant: o,
60
+ onClick: (e) => {
61
+ e.stopPropagation(), a(n, r);
62
+ },
63
+ children: t
64
+ }) : null;
65
+ }
66
+ function N(e, t) {
67
+ return t[e.value] ?? e.label;
68
+ }
69
+ function P({ rows: i, activeTab: o, enabledTabs: s, onTabChange: c, isLoading: l, isError: u, sorting: d, onSortingChange: x, pageSize: S, onPageSizeChange: C, pageSizeOptions: E = O, pageInfo: k, hasNextPage: N, hasPrevPage: P, onNextPage: F, onPrevPage: I, searchValue: L, onSearchChange: R, statusFilter: z, statusOptions: B, onStatusFilterChange: V, isFiltering: H, onCreateClick: U, onTemplateSettingsClick: W, onRowClick: G, onActionClick: K, onRetry: q, labels: J }) {
70
+ let Y = {
71
+ ..._,
72
+ ...J,
73
+ statusBadge: {
74
+ ..._.statusBadge,
75
+ ...J?.statusBadge
76
+ }
77
+ };
78
+ return /* @__PURE__ */ b("div", {
79
+ className: "ttw:flex ttw:flex-col ttw:gap-4",
80
+ children: [/* @__PURE__ */ b("div", {
81
+ className: "ttw:flex ttw:flex-wrap ttw:items-center ttw:justify-between ttw:gap-3",
82
+ children: [/* @__PURE__ */ y("div", {
83
+ className: "ttw:flex ttw:items-center ttw:gap-3",
84
+ children: /* @__PURE__ */ y(f, {
85
+ value: o,
86
+ onValueChange: (e) => c(e),
87
+ children: /* @__PURE__ */ b(p, { children: [
88
+ s.includes("invoices") && /* @__PURE__ */ y(m, {
89
+ value: "invoices",
90
+ children: Y.tabInvoices
91
+ }),
92
+ s.includes("quotes") && /* @__PURE__ */ y(m, {
93
+ value: "quotes",
94
+ children: Y.tabQuotes
95
+ }),
96
+ s.includes("credit_notes") && /* @__PURE__ */ y(m, {
97
+ value: "credit_notes",
98
+ children: Y.tabCreditNotes
99
+ })
100
+ ] })
101
+ })
102
+ }), /* @__PURE__ */ b("div", {
103
+ className: "ttw:flex ttw:items-center ttw:gap-2",
104
+ children: [W && /* @__PURE__ */ b(e, {
105
+ variant: "outline",
106
+ onClick: W,
107
+ children: [/* @__PURE__ */ y(D, { className: "ttw:size-4" }), Y.templateSettingsButton]
108
+ }), /* @__PURE__ */ b(e, {
109
+ onClick: U,
110
+ children: [/* @__PURE__ */ y(T, { className: "ttw:size-4" }), Y.createButton]
111
+ })]
112
+ })]
113
+ }), u ? /* @__PURE__ */ y(g, {
114
+ title: Y.errorTitle,
115
+ description: Y.errorDescription,
116
+ retryLabel: q ? Y.errorRetry : void 0,
117
+ onRetry: q
118
+ }) : /* @__PURE__ */ y(t, {
119
+ columns: [
120
+ {
121
+ accessorKey: "documentLabel",
122
+ enableSorting: !0,
123
+ header: ({ column: e }) => /* @__PURE__ */ y(A, {
124
+ column: e,
125
+ label: Y.columnDocument,
126
+ ariaLabel: Y.sortByDocument
127
+ }),
128
+ cell: ({ row: e }) => /* @__PURE__ */ b("div", {
129
+ className: "ttw:flex ttw:flex-col ttw:gap-1",
130
+ children: [/* @__PURE__ */ y("span", {
131
+ className: "ttw:font-medium",
132
+ children: e.original.documentLabel
133
+ }), /* @__PURE__ */ y("span", {
134
+ className: "ttw:text-xs ttw:text-muted-foreground",
135
+ children: e.original.type === "credit_note" ? Y.tabCreditNotes : e.original.type === "quote" ? Y.tabQuotes : Y.tabInvoices
136
+ })]
137
+ }),
138
+ minSize: 180
139
+ },
140
+ {
141
+ accessorKey: "customerLabel",
142
+ enableSorting: !0,
143
+ header: ({ column: e }) => /* @__PURE__ */ y(A, {
144
+ column: e,
145
+ label: Y.columnCustomer,
146
+ ariaLabel: Y.sortByCustomer
147
+ }),
148
+ minSize: 180
149
+ },
150
+ {
151
+ accessorKey: "status",
152
+ header: ({ column: e }) => /* @__PURE__ */ y(A, {
153
+ column: e,
154
+ label: Y.columnStatus,
155
+ ariaLabel: Y.sortByStatus
156
+ }),
157
+ cell: ({ row: e }) => /* @__PURE__ */ y(v, {
158
+ status: e.original.status,
159
+ tone: e.original.statusTone,
160
+ labels: Y.statusBadge
161
+ })
162
+ },
163
+ {
164
+ accessorKey: "issueDateLabel",
165
+ enableSorting: !0,
166
+ header: ({ column: e }) => /* @__PURE__ */ y(A, {
167
+ column: e,
168
+ label: Y.columnIssueDate,
169
+ ariaLabel: Y.sortByIssueDate
170
+ })
171
+ },
172
+ {
173
+ accessorKey: "dueDateLabel",
174
+ enableSorting: !0,
175
+ header: ({ column: e }) => /* @__PURE__ */ y(A, {
176
+ column: e,
177
+ label: Y.columnDueDate,
178
+ ariaLabel: Y.sortByDueDate
179
+ })
180
+ },
181
+ {
182
+ accessorKey: "totalLabel",
183
+ enableSorting: !0,
184
+ header: ({ column: e }) => /* @__PURE__ */ y("div", {
185
+ className: "ttw:flex ttw:justify-end",
186
+ children: /* @__PURE__ */ y(A, {
187
+ column: e,
188
+ label: Y.columnTotal,
189
+ ariaLabel: Y.sortByTotal
190
+ })
191
+ }),
192
+ cell: ({ row: e }) => /* @__PURE__ */ y("div", {
193
+ className: "ttw:text-right",
194
+ children: e.original.totalLabel
195
+ })
196
+ },
197
+ {
198
+ accessorKey: "amountDueLabel",
199
+ header: () => /* @__PURE__ */ y("div", {
200
+ className: "ttw:text-right",
201
+ children: Y.columnAmountDue
202
+ }),
203
+ cell: ({ row: e }) => /* @__PURE__ */ y("div", {
204
+ className: "ttw:text-right",
205
+ children: e.original.amountDueLabel
206
+ })
207
+ },
208
+ {
209
+ id: "actions",
210
+ header: () => /* @__PURE__ */ y("span", {
211
+ className: "ttw:sr-only",
212
+ children: Y.columnActions
213
+ }),
214
+ cell: ({ row: t }) => /* @__PURE__ */ y("div", {
215
+ className: "ttw:flex ttw:justify-end",
216
+ children: /* @__PURE__ */ b(n, { children: [/* @__PURE__ */ y(a, {
217
+ asChild: !0,
218
+ children: /* @__PURE__ */ y(e, {
219
+ variant: "ghost",
220
+ size: "icon-sm",
221
+ "aria-label": Y.columnActions,
222
+ onClick: (e) => e.stopPropagation(),
223
+ children: /* @__PURE__ */ y(w, { className: "ttw:size-4" })
224
+ })
225
+ }), /* @__PURE__ */ b(r, {
226
+ align: "end",
227
+ children: [
228
+ /* @__PURE__ */ y(M, {
229
+ enabled: t.original.actions.edit,
230
+ label: Y.actionEdit,
231
+ action: "edit",
232
+ row: t.original,
233
+ onActionClick: K
234
+ }),
235
+ /* @__PURE__ */ y(M, {
236
+ enabled: t.original.actions.issue,
237
+ label: Y.actionIssue,
238
+ action: "issue",
239
+ row: t.original,
240
+ onActionClick: K
241
+ }),
242
+ /* @__PURE__ */ y(M, {
243
+ enabled: t.original.actions.send,
244
+ label: Y.actionSend,
245
+ action: "send",
246
+ row: t.original,
247
+ onActionClick: K
248
+ }),
249
+ /* @__PURE__ */ y(M, {
250
+ enabled: t.original.actions.recordPayment,
251
+ label: Y.actionRecordPayment,
252
+ action: "recordPayment",
253
+ row: t.original,
254
+ onActionClick: K
255
+ }),
256
+ /* @__PURE__ */ y(M, {
257
+ enabled: t.original.actions.markPaid,
258
+ label: Y.actionMarkPaid,
259
+ action: "markPaid",
260
+ row: t.original,
261
+ onActionClick: K
262
+ }),
263
+ /* @__PURE__ */ y(M, {
264
+ enabled: t.original.actions.markUncollectible,
265
+ label: Y.actionMarkUncollectible,
266
+ action: "markUncollectible",
267
+ row: t.original,
268
+ onActionClick: K
269
+ }),
270
+ /* @__PURE__ */ y(M, {
271
+ enabled: t.original.actions.accept,
272
+ label: Y.actionAccept,
273
+ action: "accept",
274
+ row: t.original,
275
+ onActionClick: K
276
+ }),
277
+ /* @__PURE__ */ y(M, {
278
+ enabled: t.original.actions.decline,
279
+ label: Y.actionDecline,
280
+ action: "decline",
281
+ row: t.original,
282
+ onActionClick: K
283
+ }),
284
+ /* @__PURE__ */ y(M, {
285
+ enabled: t.original.actions.cancel,
286
+ label: Y.actionCancel,
287
+ action: "cancel",
288
+ row: t.original,
289
+ onActionClick: K
290
+ }),
291
+ /* @__PURE__ */ y(M, {
292
+ enabled: t.original.actions.clone,
293
+ label: Y.actionClone,
294
+ action: "clone",
295
+ row: t.original,
296
+ onActionClick: K
297
+ }),
298
+ /* @__PURE__ */ y(M, {
299
+ enabled: t.original.actions.delete,
300
+ label: Y.actionDelete,
301
+ action: "delete",
302
+ row: t.original,
303
+ onActionClick: K,
304
+ variant: "destructive"
305
+ })
306
+ ]
307
+ })] })
308
+ }),
309
+ size: 72
310
+ }
311
+ ],
312
+ data: i,
313
+ isLoading: l,
314
+ sorting: d,
315
+ onSortingChange: x,
316
+ pageSize: S,
317
+ onPageSizeChange: C,
318
+ pageSizeOptions: E,
319
+ pageInfo: k,
320
+ hasNextPage: N,
321
+ hasPrevPage: P,
322
+ onNextPage: F,
323
+ onPrevPage: I,
324
+ onRowClick: G,
325
+ rowAriaLabel: (e) => Y.openRow(e.documentLabel),
326
+ filterComponent: /* @__PURE__ */ y(j, {
327
+ labels: Y,
328
+ searchValue: L,
329
+ onSearchChange: R,
330
+ statusFilter: z,
331
+ statusOptions: B,
332
+ onStatusFilterChange: V
333
+ }),
334
+ children: /* @__PURE__ */ y(h, {
335
+ title: H ? Y.filterEmptyTitle : Y.emptyTitle,
336
+ description: H ? Y.filterEmptyDescription : Y.emptyDescription,
337
+ actionLabel: H ? void 0 : Y.emptyAction,
338
+ onAction: H ? void 0 : U
339
+ })
340
+ })]
341
+ });
342
+ }
343
+ //#endregion
344
+ export { P as ReceivablesScreen, P as default };