@tesouro/embedded-components-react 0.5.214 → 0.5.215

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 (74) hide show
  1. package/dist/index.d.ts +88 -1
  2. package/dist/index.js +1 -1
  3. package/dist/lib/ReceivablesWidget.d.ts +88 -1
  4. package/dist/lib/ReceivablesWidget.js +1 -1
  5. package/dist/libs/shared/util-validation/dist/index5.js +7 -0
  6. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index.js +7 -7
  7. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index10.js +63 -67
  8. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index11.js +160 -1
  9. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index12.js +6 -0
  10. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index2.js +32 -25
  11. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index6.js +25 -200
  12. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index7.js +175 -1
  13. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index8.js +1 -101
  14. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index9.js +92 -71
  15. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index.js +1 -1
  16. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index10.js +44 -100
  17. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index11.js +93 -421
  18. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index12.js +442 -112
  19. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index13.js +166 -157
  20. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index14.js +150 -204
  21. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index15.js +202 -31
  22. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index16.js +32 -145
  23. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index17.js +145 -37
  24. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index18.js +44 -58
  25. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index19.js +113 -87
  26. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index20.js +58 -116
  27. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index21.js +83 -357
  28. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index22.js +111 -65
  29. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index23.js +449 -99
  30. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index24.js +68 -281
  31. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index25.js +115 -0
  32. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index26.js +314 -0
  33. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index5.js +1 -1
  34. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index6.js +34 -23
  35. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index8.js +444 -92
  36. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index9.js +113 -52
  37. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index.js +18 -14
  38. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index10.js +2 -92
  39. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index11.js +95 -3
  40. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index12.js +3 -24
  41. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index13.js +24 -1
  42. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index14.js +1 -3
  43. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index15.js +1 -1
  44. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index16.js +3 -18
  45. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index17.js +18 -1
  46. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index18.js +0 -3
  47. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index19.js +0 -8
  48. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index20.js +11 -0
  49. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index21.js +1 -264
  50. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index22.js +258 -42
  51. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index23.js +38 -62
  52. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index24.js +61 -463
  53. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index25.js +457 -89
  54. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index26.js +91 -234
  55. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index27.js +89 -82
  56. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index28.js +22 -338
  57. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index29.js +236 -0
  58. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index3.js +26 -204
  59. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index30.js +3 -0
  60. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index31.js +249 -0
  61. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index32.js +93 -0
  62. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index33.js +344 -0
  63. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index4.js +208 -32
  64. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index5.js +29 -202
  65. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index6.js +183 -137
  66. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index7.js +157 -12
  67. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index8.js +10 -19
  68. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index9.js +23 -2
  69. package/dist/libs/tesouro-embedded-components-react/shared/data-access/dist/index.js +40 -40
  70. package/dist/libs/tesouro-embedded-components-react/shared/data-access/dist/lib/rest/@tanstack/react-query.gen.js +167 -156
  71. package/dist/libs/tesouro-embedded-components-react/shared/data-access/dist/lib/rest/sdk.gen.js +66 -34
  72. package/dist/libs/tesouro-embedded-components-react/shared/feature/dist/lib/analytics/build-info.js +1 -1
  73. package/dist/packages/shared-ui-shadcn/dist/index.js +13 -13
  74. package/package.json +1 -1
@@ -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 "./index4.js";
6
+ import { ReceivableStatusBadge as v } from "./index13.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/index33.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 };
@@ -1,34 +1,210 @@
1
- import { Button as e, Dialog as t, DialogContent as n, DialogDescription as r, DialogFooter as i, DialogHeader as a, DialogTitle as o } from "../../../../../packages/shared-ui-shadcn/dist/index.js";
2
- import { RECEIVABLE_ACTION_DIALOG_LABELS_EN as s } from "./index3.js";
3
- import { jsx as c, jsxs as l } from "react/jsx-runtime";
1
+ import { RECEIVABLE_BILLING_SECTION_LABELS_EN as e } from "./index2.js";
2
+ import { RECEIVABLE_RECURRENCE_EMAIL_DIALOG_LABELS_EN as t, RECEIVABLE_RECURRENCE_SECTION_LABELS_EN as n } from "./index3.js";
4
3
  //#region ../../libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index4.js
5
- function u({ open: u, onOpenChange: d, title: f, description: p, confirmLabel: m, destructive: h, error: g, inProgress: _, onConfirm: v, onCancel: y, labels: b }) {
6
- let x = {
7
- ...s,
8
- ...b
9
- };
10
- return /* @__PURE__ */ c(t, {
11
- open: u,
12
- onOpenChange: d,
13
- children: /* @__PURE__ */ l(n, { children: [
14
- /* @__PURE__ */ l(a, { children: [/* @__PURE__ */ c(o, { children: f }), /* @__PURE__ */ c(r, { children: p })] }),
15
- g && /* @__PURE__ */ c("p", {
16
- role: "alert",
17
- className: "ttw:rounded-md ttw:bg-destructive/10 ttw:px-3 ttw:py-2 ttw:text-sm ttw:text-destructive",
18
- children: g
19
- }),
20
- /* @__PURE__ */ l(i, { children: [/* @__PURE__ */ c(e, {
21
- variant: "ghost",
22
- onClick: y,
23
- children: x.cancelButton
24
- }), /* @__PURE__ */ c(e, {
25
- variant: h ? "destructive" : "default",
26
- loading: _,
27
- onClick: v,
28
- children: m ?? x.confirmButton
29
- })] })
30
- ] })
31
- });
32
- }
4
+ var r = {
5
+ draft: "Draft",
6
+ issuing: "Issuing",
7
+ issued: "Issued",
8
+ failed: "Failed",
9
+ accepted: "Accepted",
10
+ expired: "Expired",
11
+ declined: "Declined",
12
+ recurring: "Recurring",
13
+ partially_paid: "Partially paid",
14
+ paid: "Paid",
15
+ overdue: "Overdue",
16
+ uncollectible: "Written off",
17
+ canceled: "Cancelled",
18
+ deleted: "Deleted",
19
+ unknown: "Unknown"
20
+ }, i = {
21
+ createButton: "Create",
22
+ templateSettingsButton: "Template settings",
23
+ searchPlaceholder: "Search by number or customer",
24
+ statusFilterAll: "All statuses",
25
+ tabInvoices: "Invoices",
26
+ tabQuotes: "Quotes",
27
+ tabCreditNotes: "Credit notes",
28
+ columnDocument: "Document",
29
+ columnCustomer: "Customer",
30
+ columnStatus: "Status",
31
+ columnIssueDate: "Issued",
32
+ columnDueDate: "Due",
33
+ columnTotal: "Total",
34
+ columnAmountDue: "Amount due",
35
+ columnActions: "Actions",
36
+ openRow: (e) => `View document — ${e}`,
37
+ sortByDocument: "Sort by document",
38
+ sortByCustomer: "Sort by customer",
39
+ sortByStatus: "Sort by status",
40
+ sortByIssueDate: "Sort by issue date",
41
+ sortByDueDate: "Sort by due date",
42
+ sortByTotal: "Sort by total",
43
+ actionEdit: "Edit",
44
+ actionIssue: "Issue",
45
+ actionSend: "Send",
46
+ actionRecordPayment: "Record payment",
47
+ actionMarkPaid: "Mark as paid",
48
+ actionMarkUncollectible: "Mark uncollectible",
49
+ actionAccept: "Accept",
50
+ actionDecline: "Decline",
51
+ actionCancel: "Cancel",
52
+ actionClone: "Clone",
53
+ actionDelete: "Delete",
54
+ emptyTitle: "No receivables yet",
55
+ emptyDescription: "Create your first invoice or quote.",
56
+ emptyAction: "Create receivable",
57
+ filterEmptyTitle: "No receivables found",
58
+ filterEmptyDescription: "Try adjusting your search or filters.",
59
+ errorTitle: "Failed to load receivables",
60
+ errorDescription: "Something went wrong while fetching receivables. Please try again.",
61
+ errorRetry: "Try again",
62
+ statusBadge: r
63
+ }, a = {
64
+ ...e,
65
+ ...n,
66
+ ...t,
67
+ createTitle: "Create receivable",
68
+ editTitle: "Edit receivable",
69
+ hiddenDescription: "Create an invoice or quote",
70
+ documentTypeLabel: "Document type",
71
+ typeInvoice: "Invoice",
72
+ typeQuote: "Quote",
73
+ customerLabel: "Customer",
74
+ customerHint: "Create a customer first if the list is empty.",
75
+ currencyLabel: "Currency",
76
+ issueDateLabel: "Issue date",
77
+ dueDateLabel: "Due date",
78
+ lineItemsHeading: "Products and services",
79
+ lineItemsDescription: "Add the products and services on this invoice. You'll have the option to save new items to your inventory.",
80
+ productLabel: "Item name",
81
+ quantityLabel: "Quantity",
82
+ unitLabel: "Units",
83
+ unitPlaceholder: "Select",
84
+ unitNone: "None",
85
+ manageUnitsOption: "Manage measure units",
86
+ priceLabel: "Price",
87
+ taxableLabel: "Taxable",
88
+ taxRateLabel: "Tax rate",
89
+ taxRatePlaceholder: "e.g. 6.25",
90
+ taxRateSuffix: "%",
91
+ discountLabel: "Discount",
92
+ discountPercentageOption: "%",
93
+ discountAmountOptionAriaLabel: "Flat discount",
94
+ discountPercentageOptionAriaLabel: "Percentage discount",
95
+ subtotalLabel: "Subtotal",
96
+ discountTotalLabel: "Discount",
97
+ nonTaxableSubtotalLabel: "Non-taxable subtotal",
98
+ taxableSubtotalLabel: "Taxable subtotal",
99
+ taxTotalLabel: "Tax",
100
+ totalLabel: "Total",
101
+ decreaseQuantityButton: "Decrease quantity",
102
+ increaseQuantityButton: "Increase quantity",
103
+ addLineItemButton: "Add item",
104
+ removeLineItemButton: "Remove line item",
105
+ cancelButton: "Cancel",
106
+ createButton: "Create",
107
+ updateButton: "Update",
108
+ notesHeading: "Notes",
109
+ notesDescription: "Provide additional information for your customer.",
110
+ optionalSuffix: "(optional)",
111
+ openingNoteLabel: "Opening note to the customer",
112
+ openingNotePlaceholder: "e.g., As discussed on our call, please find the attached invoice.",
113
+ openingNoteDescription: "Appears above your line items. Use it to reference a discussion, agreement, or project.",
114
+ closingNoteLabel: "Closing note to the customer",
115
+ closingNotePlaceholder: "e.g., Thank you for your business!",
116
+ closingNoteDescription: "Appears below your line items. Commonly used for thank you messages or payment instructions.",
117
+ bankAccountHeading: "Payment instructions",
118
+ bankAccountDescription: "Tells the customer how they can pay you. We'll include the selected info on the invoice",
119
+ bankAccountLabel: "Bank account",
120
+ bankAccountHint: "Display your bank account number and routing number",
121
+ bankAccountSelectorLabel: "Bank account selector",
122
+ bankAccountPlaceholder: "Select bank account",
123
+ bankAccountAddOption: "Add a new account",
124
+ bankAccountFormHeading: "Add a bank account",
125
+ bankAccountRoutingNumberLabel: "Routing number",
126
+ bankAccountRoutingNumberPlaceholder: "e.g. 123456789",
127
+ bankAccountAccountNumberLabel: "Account number",
128
+ bankAccountAccountNumberPlaceholder: "e.g. 123456789",
129
+ bankAccountHolderNameLabel: "Account holder name",
130
+ bankAccountHolderNamePlaceholder: "e.g. James Smith",
131
+ bankAccountNicknameLabel: "Account nickname",
132
+ bankAccountNicknamePlaceholder: "e.g. Empire Bank Checking",
133
+ bankAccountCancelButton: "Cancel",
134
+ bankAccountSaveButton: "Save account",
135
+ bankAccountRestrictedTitle: "There are no bank accounts on file for this account",
136
+ bankAccountRestrictedDescription: "A bank account is required in order to issue invoices. Contact your company admin to set one up.",
137
+ attachmentsHeading: "Attachments",
138
+ attachmentsDescription: "Associate additional documents with this invoice for your own reference or to share with the customer. e.g. contracts, photos, terms and conditions, etc.",
139
+ attachmentsDropPrompt: "Drop your files here, or",
140
+ attachmentsBrowseLink: "browse to upload",
141
+ attachmentsFormatsHint: "PDF, DOC, JPG, PNG (max. 3MB)",
142
+ remindersToggleLabel: "Payment reminders",
143
+ remindersDescription: "Send reminders when an invoice is approaching its due date or past due.",
144
+ remindersLibraryNote: "New reminders will be saved to your organization's library and can be managed via Invoice settings",
145
+ reminderNumberOfDays: "Number of days",
146
+ reminderBefore: "BEFORE",
147
+ reminderAfter: "AFTER",
148
+ reminderDueDate: "due date",
149
+ reminderNone: "No reminder",
150
+ reminderBeforeDueInputLabel: "Days before due date",
151
+ reminderPlaceholder: "e.g., 3",
152
+ reminderAddTermButton: "Add",
153
+ reminderClearButton: "Clear",
154
+ reminderSaveButton: "Save"
155
+ }, o = {
156
+ hiddenDescription: "Receivable details",
157
+ loadingTitle: "Loading...",
158
+ errorTitle: "Receivable not found",
159
+ errorDescription: "We could not load this receivable. Please try again.",
160
+ summaryHeading: "Summary",
161
+ lineItemsHeading: "Line items",
162
+ activityHeading: "Activity",
163
+ mailsHeading: "Email history",
164
+ noLineItems: "No line items.",
165
+ noActivity: "No activity yet.",
166
+ noMails: "No emails sent yet.",
167
+ quantityColumn: "Qty",
168
+ unitPriceColumn: "Unit price",
169
+ totalColumn: "Total",
170
+ closeButton: "Close",
171
+ downloadPdfButton: "Download PDF",
172
+ editButton: "Edit",
173
+ issueButton: "Issue",
174
+ sendButton: "Send",
175
+ acceptButton: "Accept",
176
+ declineButton: "Decline",
177
+ recordPaymentButton: "Record payment",
178
+ markPaidButton: "Mark as paid",
179
+ markUncollectibleButton: "Mark uncollectible",
180
+ cancelButton: "Cancel document",
181
+ cloneButton: "Clone",
182
+ deleteButton: "Delete",
183
+ statusBadge: r
184
+ }, s = {
185
+ title: "Send receivable",
186
+ description: "Send this document to the customer by email.",
187
+ toLabel: "To",
188
+ ccLabel: "CC",
189
+ bccLabel: "BCC",
190
+ subjectLabel: "Subject",
191
+ bodyLabel: "Message",
192
+ cancelButton: "Cancel",
193
+ sendButton: "Send"
194
+ }, c = {
195
+ title: "Record payment",
196
+ description: "Record a full or partial invoice payment.",
197
+ modeLabel: "Payment type",
198
+ fullPayment: "Full payment",
199
+ partialPayment: "Partial payment",
200
+ amountPaidLabel: "Amount paid",
201
+ paidAtLabel: "Paid at",
202
+ commentLabel: "Comment",
203
+ cancelButton: "Cancel",
204
+ submitButton: "Record payment"
205
+ }, l = {
206
+ cancelButton: "Cancel",
207
+ confirmButton: "Confirm"
208
+ };
33
209
  //#endregion
34
- export { u as ReceivableActionDialog, u as default };
210
+ export { i as RECEIVABLES_SCREEN_LABELS_EN, l as RECEIVABLE_ACTION_DIALOG_LABELS_EN, o as RECEIVABLE_DETAILS_SHEET_LABELS_EN, a as RECEIVABLE_FORM_SHEET_LABELS_EN, c as RECEIVABLE_PAYMENT_DIALOG_LABELS_EN, s as RECEIVABLE_SEND_DIALOG_LABELS_EN, r as RECEIVABLE_STATUS_BADGE_LABELS_EN };