@tesouro/embedded-components-react 0.5.211 → 0.5.212

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 (33) hide show
  1. package/dist/index.d.ts +16 -0
  2. package/dist/index.js +1 -1
  3. package/dist/lib/ReceivablesWidget.d.ts +16 -0
  4. package/dist/lib/ReceivablesWidget.js +1 -1
  5. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index.js +1 -1
  6. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index10.js +113 -109
  7. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index11.js +416 -132
  8. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index12.js +113 -211
  9. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index13.js +154 -37
  10. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index14.js +193 -135
  11. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index15.js +32 -37
  12. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index16.js +150 -58
  13. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index17.js +35 -89
  14. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index18.js +58 -116
  15. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index19.js +96 -47
  16. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index20.js +103 -347
  17. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index21.js +364 -64
  18. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index22.js +66 -106
  19. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index23.js +105 -275
  20. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index24.js +288 -0
  21. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index6.js +76 -61
  22. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index9.js +48 -422
  23. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index.js +5 -5
  24. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index22.js +38 -62
  25. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index23.js +61 -391
  26. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index24.js +457 -89
  27. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index25.js +91 -234
  28. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index26.js +234 -78
  29. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index27.js +80 -331
  30. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index28.js +344 -0
  31. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index3.js +10 -0
  32. package/dist/libs/tesouro-embedded-components-react/shared/feature/dist/lib/analytics/build-info.js +1 -1
  33. 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 "./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/index28.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 };
@@ -85,6 +85,16 @@ var t = {
85
85
  taxRateLabel: "Tax rate",
86
86
  taxRatePlaceholder: "e.g. 6.25",
87
87
  taxRateSuffix: "%",
88
+ discountLabel: "Discount",
89
+ discountPercentageOption: "%",
90
+ discountAmountOptionAriaLabel: "Flat discount",
91
+ discountPercentageOptionAriaLabel: "Percentage discount",
92
+ subtotalLabel: "Subtotal",
93
+ discountTotalLabel: "Discount",
94
+ nonTaxableSubtotalLabel: "Non-taxable subtotal",
95
+ taxableSubtotalLabel: "Taxable subtotal",
96
+ taxTotalLabel: "Tax",
97
+ totalLabel: "Total",
88
98
  decreaseQuantityButton: "Decrease quantity",
89
99
  increaseQuantityButton: "Increase quantity",
90
100
  addLineItemButton: "Add item",
@@ -1,5 +1,5 @@
1
1
  //#region ../../libs/tesouro-embedded-components-react/shared/feature/dist/lib/analytics/build-info.js
2
- var e = "@tesouro/embedded-components-react", t = "0.5.211", n = "ea3f3633a5ea51e5204678d4b51f968b1c3a39d6", r = Object.freeze({
2
+ var e = "@tesouro/embedded-components-react", t = "0.5.212", n = "0b70f6a62df0f661c045850cb8b926740e88a4f6", r = Object.freeze({
3
3
  library_name: e,
4
4
  library_version: t,
5
5
  library_sha: n
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tesouro/embedded-components-react",
3
- "version": "0.5.211",
3
+ "version": "0.5.212",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "packageDepSync": {