@tesouro/embedded-components-react 0.5.200 → 0.5.202

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 (45) hide show
  1. package/dist/index.d.ts +20 -0
  2. package/dist/index.js +1 -1
  3. package/dist/lib/ReceivablesWidget.d.ts +20 -0
  4. package/dist/lib/ReceivablesWidget.js +1 -1
  5. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index.js +6 -6
  6. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index2.js +24 -18
  7. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index4.js +65 -2
  8. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index.js +1 -1
  9. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index10.js +174 -234
  10. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index11.js +32 -65
  11. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index12.js +143 -102
  12. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index13.js +48 -221
  13. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index14.js +303 -0
  14. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index15.js +75 -0
  15. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index16.js +114 -0
  16. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index17.js +237 -0
  17. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index4.js +14 -1
  18. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index5.js +30 -215
  19. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index6.js +211 -370
  20. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index7.js +64 -62
  21. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index8.js +409 -187
  22. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index9.js +73 -40
  23. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index.js +10 -9
  24. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index10.js +0 -9
  25. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index11.js +4 -1
  26. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index12.js +10 -263
  27. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index13.js +1 -72
  28. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index14.js +241 -363
  29. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index15.js +66 -100
  30. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index16.js +406 -76
  31. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index17.js +92 -330
  32. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index18.js +93 -0
  33. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index19.js +344 -0
  34. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index2.js +10 -1
  35. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index4.js +157 -20
  36. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index5.js +24 -1
  37. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index6.js +1 -3
  38. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index7.js +3 -18
  39. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index8.js +2 -0
  40. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index9.js +18 -4
  41. package/dist/libs/tesouro-embedded-components-react/shared/data-access/dist/index.js +37 -37
  42. package/dist/libs/tesouro-embedded-components-react/shared/data-access/dist/lib/rest/@tanstack/react-query.gen.js +54 -54
  43. package/dist/libs/tesouro-embedded-components-react/shared/data-access/dist/lib/rest/sdk.gen.js +115 -94
  44. package/dist/libs/tesouro-embedded-components-react/shared/feature/dist/lib/analytics/build-info.js +1 -1
  45. package/package.json +1 -1
@@ -1,386 +1,264 @@
1
- import { Alert as e, AlertDescription as t, Button as n, Input as r, InputGroup as i, InputGroupAddon as a, InputGroupInput as o, Label as s, RadioGroup as c, RadioGroupItem as l, Select as u, SelectContent as d, SelectItem as f, SelectTrigger as p, SelectValue as m, Sheet as h, SheetContent as g, SheetDescription as _, SheetFooter as v, SheetHeader as y, SheetTitle as b, Spinner as x, Typography as S, cn as C } from "../../../../../packages/shared-ui-shadcn/dist/index.js";
2
- import { RECEIVABLE_FORM_SHEET_LABELS_EN as w } from "./index2.js";
3
- import { ReceivableNotesSection as T } from "./index13.js";
4
- import { useId as ee } from "react";
5
- import { jsx as E, jsxs as D } from "react/jsx-runtime";
6
- import { MinusIcon as O, PlusIcon as k, Trash2Icon as A } from "lucide-react";
1
+ import { Button as e, Sheet as t, SheetContent as n, SheetDescription as r, SheetFooter as i, SheetHeader as a, SheetTitle as o, Typography as s } from "../../../../../packages/shared-ui-shadcn/dist/index.js";
2
+ import { ErrorState as c } from "../../../shared/ui/dist/lib/ErrorState/ErrorState.js";
3
+ import "../../../shared/ui/dist/index.js";
4
+ import { RECEIVABLE_DETAILS_SHEET_LABELS_EN as l } from "./index2.js";
5
+ import { ReceivableStatusBadge as u } from "./index5.js";
6
+ import { Fragment as d, jsx as f, jsxs as p } from "react/jsx-runtime";
7
+ import { DownloadIcon as m } from "lucide-react";
7
8
  //#region ../../libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index14.js
8
- var j = "__none__", M = "__manage__";
9
- function N({ message: e }) {
10
- return e ? /* @__PURE__ */ E("p", {
11
- className: "ttw:text-sm ttw:text-destructive",
12
- children: e
13
- }) : null;
14
- }
15
- function P({ formId: e, lineItem: t, errors: r, controls: s, focusOnMount: c, canRemove: l, unitOptions: h, currencySymbol: g, labels: _, renderProductSelector: v, onChange: y, onCommit: b, onQuantityStep: x, onManageUnits: S, onRemove: w }) {
16
- let T = `${e}-line-${t.id}`;
17
- return /* @__PURE__ */ D("li", {
18
- className: "ttw:flex ttw:h-9 ttw:items-center ttw:gap-2.5",
19
- children: [
20
- /* @__PURE__ */ E("div", {
21
- className: "ttw:min-w-30 ttw:flex-1",
22
- children: v(t, {
23
- inputId: `${T}-name`,
24
- invalid: !!r?.name,
25
- focusOnMount: c
26
- })
27
- }),
28
- /* @__PURE__ */ D("div", {
29
- className: C("ttw:flex ttw:h-9 ttw:w-26 ttw:min-w-26 ttw:items-center ttw:rounded-md ttw:border ttw:border-input ttw:shadow-xs", r?.quantity && "ttw:border-destructive"),
30
- children: [
31
- /* @__PURE__ */ E("button", {
32
- type: "button",
33
- "aria-label": _.decreaseQuantityButton,
34
- disabled: s ? !s.canDecreaseQuantity : !1,
35
- className: "ttw:flex ttw:size-6 ttw:shrink-0 ttw:items-center ttw:justify-center ttw:rounded-sm ttw:text-muted-foreground ttw:hover:bg-accent ttw:disabled:pointer-events-none ttw:disabled:opacity-50",
36
- onClick: () => x(-1),
37
- children: /* @__PURE__ */ E(O, { className: "ttw:size-3.5" })
38
- }),
39
- /* @__PURE__ */ E("input", {
40
- id: `${T}-quantity`,
41
- "aria-label": _.quantityLabel,
42
- "aria-invalid": !!r?.quantity || void 0,
43
- type: "text",
44
- inputMode: "decimal",
45
- className: "ttw:h-full ttw:w-full ttw:min-w-0 ttw:bg-transparent ttw:px-0 ttw:text-center ttw:text-sm ttw:outline-none",
46
- value: t.quantity,
47
- onChange: (e) => y({ quantity: e.target.value }),
48
- onBlur: () => b("quantity")
49
- }),
50
- /* @__PURE__ */ E("button", {
51
- type: "button",
52
- "aria-label": _.increaseQuantityButton,
53
- disabled: s ? !s.canIncreaseQuantity : !1,
54
- className: "ttw:flex ttw:size-6 ttw:shrink-0 ttw:items-center ttw:justify-center ttw:rounded-sm ttw:text-muted-foreground ttw:hover:bg-accent ttw:disabled:pointer-events-none ttw:disabled:opacity-50",
55
- onClick: () => x(1),
56
- children: /* @__PURE__ */ E(k, { className: "ttw:size-3.5" })
57
- })
58
- ]
59
- }),
60
- /* @__PURE__ */ D(u, {
61
- value: t.unit || j,
62
- onValueChange: (e) => {
63
- if (e === M) {
64
- S?.();
65
- return;
66
- }
67
- y({ unit: e === j ? "" : e });
68
- },
69
- children: [/* @__PURE__ */ E(p, {
70
- id: `${T}-unit`,
71
- "aria-label": _.unitLabel,
72
- "aria-invalid": !!r?.measureUnit || void 0,
73
- className: "ttw:w-22",
74
- children: /* @__PURE__ */ E(m, {
75
- className: "ttw:truncate",
76
- placeholder: _.unitPlaceholder
77
- })
78
- }), /* @__PURE__ */ D(d, { children: [
79
- S && /* @__PURE__ */ D(f, {
80
- value: M,
81
- className: "ttw:font-semibold ttw:text-primary ttw:hover:text-primary ttw:focus:text-primary",
82
- children: [/* @__PURE__ */ E(k, { className: "ttw:text-primary" }), _.manageUnitsOption]
83
- }),
84
- /* @__PURE__ */ E(f, {
85
- value: j,
86
- children: _.unitNone
87
- }),
88
- h.map((e) => /* @__PURE__ */ E(f, {
89
- value: e.value,
90
- children: e.label
91
- }, e.value))
92
- ] })]
93
- }),
94
- /* @__PURE__ */ D(i, {
95
- className: "ttw:w-full ttw:max-w-41 ttw:min-w-29",
96
- children: [/* @__PURE__ */ E(a, {
97
- align: "inline-start",
98
- children: g
99
- }), /* @__PURE__ */ E(o, {
100
- id: `${T}-price`,
101
- "aria-label": _.priceLabel,
102
- "aria-invalid": !!r?.price || void 0,
103
- "data-has-start-addon": !0,
104
- type: "text",
105
- inputMode: "decimal",
106
- className: "ttw:text-right",
107
- value: t.price,
108
- onChange: (e) => y({ price: e.target.value }),
109
- onBlur: () => b("price")
110
- })]
111
- }),
112
- l && /* @__PURE__ */ E(n, {
113
- type: "button",
114
- variant: "ghost",
115
- size: "sm",
116
- "aria-label": _.removeLineItemButton,
117
- className: "ttw:w-10 ttw:rounded-none ttw:border-l ttw:border-border ttw:pl-4 ttw:text-muted-foreground ttw:hover:bg-transparent ttw:hover:text-destructive ttw:has-[>svg]:pr-0",
118
- onClick: w,
119
- children: /* @__PURE__ */ E(A, {})
120
- })
121
- ]
9
+ function h({ title: e, children: t }) {
10
+ return /* @__PURE__ */ p("section", {
11
+ className: "ttw:flex ttw:flex-col ttw:gap-3",
12
+ children: [/* @__PURE__ */ f(s, {
13
+ variant: "body2",
14
+ className: "ttw:font-semibold",
15
+ children: e
16
+ }), t]
122
17
  });
123
18
  }
124
- function F({ open: i, onOpenChange: a, mode: o = "create", values: C, errors: O, currencyOptions: A, paymentTermsOptions: j, unitOptions: M, currencySymbol: F, lineItemControls: I, autoFocusLineItemId: L, lineItemsLoading: R, inProgress: z, customerSelector: te, renderProductSelector: B, onChange: V, onLineItemChange: H, onLineItemCommit: U, onLineItemQuantityStep: W, onManageUnits: G, onAddLineItem: K, onRemoveLineItem: q, onSubmit: J, onCancel: Y, labels: X }) {
125
- let Z = {
126
- ...w,
127
- ...X
128
- }, Q = ee(), $ = o === "edit", ne = C.type === "invoice" || o === "edit", re = $ ? "ttw:grid ttw:grid-cols-3 ttw:gap-4" : "ttw:grid ttw:grid-cols-2 ttw:gap-4";
129
- return /* @__PURE__ */ E(h, {
130
- open: i,
131
- onOpenChange: a,
132
- children: /* @__PURE__ */ D(g, {
19
+ function g({ open: s, onOpenChange: g, details: _, isLoading: v, isError: y, onActionClick: b, onClose: x, labels: S }) {
20
+ let C = {
21
+ ...l,
22
+ ...S,
23
+ statusBadge: {
24
+ ...l.statusBadge,
25
+ ...S?.statusBadge
26
+ }
27
+ };
28
+ return /* @__PURE__ */ f(t, {
29
+ open: s,
30
+ onOpenChange: g,
31
+ children: /* @__PURE__ */ p(n, {
133
32
  className: "ttw:w-180 ttw:overflow-y-auto ttw:sm:max-w-180",
134
33
  children: [
135
- /* @__PURE__ */ D(y, { children: [/* @__PURE__ */ E(b, { children: o === "edit" ? Z.editTitle : Z.createTitle }), /* @__PURE__ */ E(_, {
34
+ /* @__PURE__ */ p(a, { children: [/* @__PURE__ */ f(o, { children: v ? C.loadingTitle : _?.title }), /* @__PURE__ */ f(r, {
136
35
  className: "ttw:sr-only",
137
- children: Z.hiddenDescription
36
+ children: C.hiddenDescription
138
37
  })] }),
139
- /* @__PURE__ */ E("form", {
140
- id: Q,
141
- onSubmit: (e) => {
142
- e.preventDefault(), e.stopPropagation(), J();
143
- },
144
- children: /* @__PURE__ */ D("div", {
145
- className: "ttw:flex ttw:flex-col ttw:gap-5 ttw:px-6 ttw:pb-6",
146
- children: [
147
- O?.form && /* @__PURE__ */ E("p", {
148
- role: "alert",
149
- className: "ttw:rounded-md ttw:bg-destructive/10 ttw:px-3 ttw:py-2 ttw:text-sm ttw:text-destructive",
150
- children: O.form
151
- }),
152
- /* @__PURE__ */ D("div", {
153
- className: "ttw:flex ttw:flex-col ttw:gap-1.5",
154
- children: [
155
- /* @__PURE__ */ E(s, { children: Z.documentTypeLabel }),
156
- /* @__PURE__ */ D(c, {
157
- className: "ttw:flex ttw:flex-row ttw:gap-6",
158
- disabled: o === "edit",
159
- value: C.type,
160
- onValueChange: (e) => V({ type: e }),
161
- children: [/* @__PURE__ */ D("div", {
162
- className: "ttw:flex ttw:items-center ttw:gap-2",
163
- children: [/* @__PURE__ */ E(l, {
164
- value: "invoice",
165
- id: `${Q}-invoice`
166
- }), /* @__PURE__ */ E(s, {
167
- htmlFor: `${Q}-invoice`,
168
- children: Z.typeInvoice
169
- })]
170
- }), /* @__PURE__ */ D("div", {
171
- className: "ttw:flex ttw:items-center ttw:gap-2",
172
- children: [/* @__PURE__ */ E(l, {
173
- value: "quote",
174
- id: `${Q}-quote`
175
- }), /* @__PURE__ */ E(s, {
176
- htmlFor: `${Q}-quote`,
177
- children: Z.typeQuote
178
- })]
179
- })]
180
- }),
181
- /* @__PURE__ */ E(N, { message: O?.type })
182
- ]
183
- }),
184
- /* @__PURE__ */ D("div", {
185
- className: "ttw:flex ttw:flex-col ttw:gap-1.5",
186
- children: [
187
- /* @__PURE__ */ E(s, { children: Z.customerLabel }),
188
- te,
189
- /* @__PURE__ */ E("p", {
38
+ /* @__PURE__ */ f("div", {
39
+ className: "ttw:flex ttw:flex-col ttw:gap-6 ttw:px-6 ttw:pb-6",
40
+ children: y ? /* @__PURE__ */ f(c, {
41
+ title: C.errorTitle,
42
+ description: C.errorDescription
43
+ }) : _ ? /* @__PURE__ */ p(d, { children: [
44
+ /* @__PURE__ */ p("div", {
45
+ className: "ttw:flex ttw:flex-wrap ttw:items-center ttw:justify-between ttw:gap-3",
46
+ children: [/* @__PURE__ */ p("div", {
47
+ className: "ttw:flex ttw:flex-col ttw:gap-1",
48
+ children: [/* @__PURE__ */ f("span", {
49
+ className: "ttw:text-sm ttw:text-muted-foreground",
50
+ children: _.customerLabel
51
+ }), /* @__PURE__ */ p("div", {
52
+ className: "ttw:flex ttw:items-center ttw:gap-2",
53
+ children: [/* @__PURE__ */ f(u, {
54
+ status: _.status,
55
+ tone: _.statusTone,
56
+ labels: C.statusBadge
57
+ }), /* @__PURE__ */ f("span", {
58
+ className: "ttw:text-sm ttw:font-medium",
59
+ children: _.totalLabel
60
+ })]
61
+ })]
62
+ }), _.pdfUrl && /* @__PURE__ */ f(e, {
63
+ asChild: !0,
64
+ variant: "outline",
65
+ children: /* @__PURE__ */ p("a", {
66
+ href: _.pdfUrl,
67
+ target: "_blank",
68
+ rel: "noreferrer",
69
+ children: [/* @__PURE__ */ f(m, { className: "ttw:size-4" }), C.downloadPdfButton]
70
+ })
71
+ })]
72
+ }),
73
+ /* @__PURE__ */ f(h, {
74
+ title: C.summaryHeading,
75
+ children: /* @__PURE__ */ f("dl", {
76
+ className: "ttw:grid ttw:grid-cols-2 ttw:gap-x-6 ttw:gap-y-3",
77
+ children: _.summaryItems.map((e) => /* @__PURE__ */ p("div", {
78
+ className: "ttw:flex ttw:flex-col",
79
+ children: [/* @__PURE__ */ f("dt", {
190
80
  className: "ttw:text-xs ttw:text-muted-foreground",
191
- children: Z.customerHint
192
- }),
193
- /* @__PURE__ */ E(N, { message: O?.customerId })
194
- ]
195
- }),
196
- /* @__PURE__ */ D("div", {
197
- className: re,
198
- children: [
199
- /* @__PURE__ */ D("div", {
200
- className: "ttw:flex ttw:flex-col ttw:gap-1.5",
201
- children: [
202
- /* @__PURE__ */ E(s, {
203
- htmlFor: `${Q}-currency`,
204
- children: Z.currencyLabel
205
- }),
206
- /* @__PURE__ */ D(u, {
207
- value: C.currency,
208
- onValueChange: (e) => V({ currency: e }),
209
- children: [/* @__PURE__ */ E(p, {
210
- id: `${Q}-currency`,
211
- children: /* @__PURE__ */ E(m, {})
212
- }), /* @__PURE__ */ E(d, { children: A.map((e) => /* @__PURE__ */ E(f, {
213
- value: e.value,
214
- children: e.label
215
- }, e.value)) })]
81
+ children: e.label
82
+ }), /* @__PURE__ */ f("dd", {
83
+ className: "ttw:text-sm ttw:font-medium",
84
+ children: e.value
85
+ })]
86
+ }, e.label))
87
+ })
88
+ }),
89
+ /* @__PURE__ */ f(h, {
90
+ title: C.lineItemsHeading,
91
+ children: _.lineItems.length === 0 ? /* @__PURE__ */ f("p", {
92
+ className: "ttw:text-sm ttw:text-muted-foreground",
93
+ children: C.noLineItems
94
+ }) : /* @__PURE__ */ f("div", {
95
+ className: "ttw:overflow-hidden ttw:rounded-md ttw:border",
96
+ children: /* @__PURE__ */ p("table", {
97
+ className: "ttw:w-full ttw:text-sm",
98
+ children: [/* @__PURE__ */ f("thead", {
99
+ className: "ttw:bg-muted/50",
100
+ children: /* @__PURE__ */ p("tr", { children: [
101
+ /* @__PURE__ */ f("th", {
102
+ className: "ttw:p-2 ttw:text-left",
103
+ children: C.lineItemsHeading
216
104
  }),
217
- /* @__PURE__ */ E(N, { message: O?.currency })
218
- ]
219
- }),
220
- $ && /* @__PURE__ */ D("div", {
221
- className: "ttw:flex ttw:flex-col ttw:gap-1.5",
222
- children: [
223
- /* @__PURE__ */ E(s, {
224
- htmlFor: `${Q}-issue-date`,
225
- children: Z.issueDateLabel
105
+ /* @__PURE__ */ f("th", {
106
+ className: "ttw:p-2 ttw:text-right",
107
+ children: C.quantityColumn
226
108
  }),
227
- /* @__PURE__ */ E(r, {
228
- id: `${Q}-issue-date`,
229
- type: "date",
230
- value: C.issueDate,
231
- onChange: (e) => V({ issueDate: e.target.value })
109
+ /* @__PURE__ */ f("th", {
110
+ className: "ttw:p-2 ttw:text-right",
111
+ children: C.unitPriceColumn
232
112
  }),
233
- /* @__PURE__ */ E(N, { message: O?.issueDate })
234
- ]
235
- }),
236
- /* @__PURE__ */ D("div", {
237
- className: "ttw:flex ttw:flex-col ttw:gap-1.5",
113
+ /* @__PURE__ */ f("th", {
114
+ className: "ttw:p-2 ttw:text-right",
115
+ children: C.totalColumn
116
+ })
117
+ ] })
118
+ }), /* @__PURE__ */ f("tbody", { children: _.lineItems.map((e) => /* @__PURE__ */ p("tr", {
119
+ className: "ttw:border-t",
238
120
  children: [
239
- /* @__PURE__ */ E(s, {
240
- htmlFor: `${Q}-due-date`,
241
- children: Z.dueDateLabel
121
+ /* @__PURE__ */ f("td", {
122
+ className: "ttw:p-2",
123
+ children: e.name
124
+ }),
125
+ /* @__PURE__ */ f("td", {
126
+ className: "ttw:p-2 ttw:text-right",
127
+ children: e.quantityLabel
242
128
  }),
243
- /* @__PURE__ */ E(r, {
244
- id: `${Q}-due-date`,
245
- type: "date",
246
- value: C.dueDate,
247
- onChange: (e) => V({ dueDate: e.target.value })
129
+ /* @__PURE__ */ f("td", {
130
+ className: "ttw:p-2 ttw:text-right",
131
+ children: e.unitPriceLabel
248
132
  }),
249
- /* @__PURE__ */ E(N, { message: O?.dueDate })
133
+ /* @__PURE__ */ f("td", {
134
+ className: "ttw:p-2 ttw:text-right",
135
+ children: e.totalLabel
136
+ })
250
137
  ]
251
- })
252
- ]
253
- }),
254
- ne && /* @__PURE__ */ D("div", {
255
- className: "ttw:flex ttw:flex-col ttw:gap-1.5",
256
- children: [
257
- /* @__PURE__ */ E(s, {
258
- htmlFor: `${Q}-payment-terms`,
259
- children: Z.paymentTermsLabel
260
- }),
261
- /* @__PURE__ */ D(u, {
262
- value: C.paymentTermsId || void 0,
263
- onValueChange: (e) => V({ paymentTermsId: e === "__none__" ? "" : e }),
264
- children: [/* @__PURE__ */ E(p, {
265
- id: `${Q}-payment-terms`,
266
- children: /* @__PURE__ */ E(m, { placeholder: Z.paymentTermsPlaceholder })
267
- }), /* @__PURE__ */ D(d, { children: [/* @__PURE__ */ E(f, {
268
- value: "__none__",
269
- children: Z.paymentTermsNone
270
- }), j.map((e) => /* @__PURE__ */ E(f, {
271
- value: e.value,
272
- children: e.label
273
- }, e.value))] })]
274
- }),
275
- /* @__PURE__ */ E(N, { message: O?.paymentTermsId })
276
- ]
277
- }),
278
- /* @__PURE__ */ D("div", {
279
- className: "ttw:flex ttw:flex-col ttw:gap-2.5 ttw:rounded-xl ttw:border ttw:border-border ttw:p-6",
280
- children: [
281
- /* @__PURE__ */ D("div", {
282
- className: "ttw:flex ttw:flex-col ttw:gap-2.5 ttw:pb-4",
283
- children: [/* @__PURE__ */ E(S, {
284
- variant: "h4",
285
- children: Z.lineItemsHeading
286
- }), /* @__PURE__ */ E(S, {
287
- variant: "body2",
288
- color: "muted",
289
- className: "ttw:font-medium",
290
- children: Z.lineItemsDescription
291
- })]
292
- }),
293
- O?.lineItemsSummary?.length ? /* @__PURE__ */ E(e, {
294
- variant: "destructive",
295
- className: "ttw:mb-2",
296
- children: /* @__PURE__ */ E(t, { children: /* @__PURE__ */ E("ul", { children: O.lineItemsSummary.map((e) => /* @__PURE__ */ E("li", { children: e }, e)) }) })
297
- }) : null,
298
- /* @__PURE__ */ D("ul", {
299
- className: "ttw:flex ttw:flex-col ttw:gap-2.5",
300
- children: [/* @__PURE__ */ D("li", {
301
- "aria-hidden": !0,
302
- className: "ttw:flex ttw:h-5 ttw:items-center ttw:gap-2.5 ttw:text-sm ttw:leading-5 ttw:font-medium",
303
- children: [
304
- /* @__PURE__ */ E("span", {
305
- className: "ttw:inline-flex ttw:min-w-30 ttw:flex-1 ttw:whitespace-nowrap",
306
- children: Z.productLabel
307
- }),
308
- /* @__PURE__ */ E("span", {
309
- className: "ttw:w-24 ttw:min-w-24",
310
- children: Z.quantityLabel
311
- }),
312
- /* @__PURE__ */ E("span", {
313
- className: "ttw:w-20.5 ttw:min-w-20.5",
314
- children: Z.unitLabel
315
- }),
316
- /* @__PURE__ */ E("span", {
317
- className: "ttw:w-full ttw:max-w-41 ttw:min-w-29",
318
- children: Z.priceLabel
319
- }),
320
- C.lineItems.length > 1 && /* @__PURE__ */ E("span", { className: "ttw:w-10 ttw:min-w-10" })
321
- ]
322
- }), R ? /* @__PURE__ */ E("li", {
323
- className: "ttw:flex ttw:h-9 ttw:items-center ttw:justify-center",
324
- children: /* @__PURE__ */ E(x, { className: "ttw:size-5" })
325
- }) : C.lineItems.map((e) => /* @__PURE__ */ E(P, {
326
- formId: Q,
327
- lineItem: e,
328
- errors: O?.lineItems?.[e.id],
329
- controls: I?.[e.id],
330
- focusOnMount: e.id === L,
331
- canRemove: C.lineItems.length > 1,
332
- unitOptions: M,
333
- currencySymbol: F,
334
- labels: Z,
335
- renderProductSelector: B,
336
- onChange: (t) => H(e.id, t),
337
- onCommit: (t) => U(e.id, t),
338
- onQuantityStep: (t) => W(e.id, t),
339
- onManageUnits: G,
340
- onRemove: () => q(e.id)
341
- }, e.id))]
342
- }),
343
- /* @__PURE__ */ D(n, {
344
- type: "button",
345
- variant: "ghost",
346
- className: "ttw:w-fit ttw:text-primary ttw:hover:text-primary",
347
- onClick: K,
348
- children: [/* @__PURE__ */ E(k, { className: "ttw:size-5 ttw:text-primary" }), Z.addLineItemButton]
349
- })
350
- ]
351
- }),
352
- /* @__PURE__ */ E(T, {
353
- idPrefix: Q,
354
- openingNote: C.openingNote,
355
- closingNote: C.closingNote,
356
- openingNoteError: O?.openingNote,
357
- closingNoteError: O?.closingNote,
358
- disabled: z,
359
- onOpeningNoteChange: (e) => V({ openingNote: e }),
360
- onClosingNoteChange: (e) => V({ closingNote: e }),
361
- labels: Z
138
+ }, e.id)) })]
139
+ })
140
+ })
141
+ }),
142
+ /* @__PURE__ */ f(h, {
143
+ title: C.activityHeading,
144
+ children: _.activityItems.length === 0 ? /* @__PURE__ */ f("p", {
145
+ className: "ttw:text-sm ttw:text-muted-foreground",
146
+ children: C.noActivity
147
+ }) : /* @__PURE__ */ f("div", {
148
+ className: "ttw:flex ttw:flex-col ttw:gap-3",
149
+ children: _.activityItems.map((e) => /* @__PURE__ */ p("div", {
150
+ className: "ttw:flex ttw:flex-col",
151
+ children: [
152
+ /* @__PURE__ */ f("span", {
153
+ className: "ttw:text-sm ttw:font-medium",
154
+ children: e.title
155
+ }),
156
+ /* @__PURE__ */ f("span", {
157
+ className: "ttw:text-sm ttw:text-muted-foreground",
158
+ children: e.description
159
+ }),
160
+ /* @__PURE__ */ f("span", {
161
+ className: "ttw:text-xs ttw:text-muted-foreground",
162
+ children: e.timestampLabel
163
+ })
164
+ ]
165
+ }, e.id))
166
+ })
167
+ }),
168
+ /* @__PURE__ */ f(h, {
169
+ title: C.mailsHeading,
170
+ children: _.mailItems.length === 0 ? /* @__PURE__ */ f("p", {
171
+ className: "ttw:text-sm ttw:text-muted-foreground",
172
+ children: C.noMails
173
+ }) : /* @__PURE__ */ f("div", {
174
+ className: "ttw:flex ttw:flex-col ttw:gap-3",
175
+ children: _.mailItems.map((e) => /* @__PURE__ */ p("div", {
176
+ className: "ttw:flex ttw:flex-col",
177
+ children: [
178
+ /* @__PURE__ */ f("span", {
179
+ className: "ttw:text-sm ttw:font-medium",
180
+ children: e.statusLabel
181
+ }),
182
+ /* @__PURE__ */ f("span", {
183
+ className: "ttw:text-sm ttw:text-muted-foreground",
184
+ children: e.recipientsLabel
185
+ }),
186
+ /* @__PURE__ */ f("span", {
187
+ className: "ttw:text-xs ttw:text-muted-foreground",
188
+ children: e.sentAtLabel
189
+ })
190
+ ]
191
+ }, e.id))
362
192
  })
363
- ]
364
- })
193
+ })
194
+ ] }) : null
365
195
  }),
366
- /* @__PURE__ */ E(v, { children: /* @__PURE__ */ D("div", {
367
- className: "ttw:flex ttw:justify-end ttw:gap-2",
368
- children: [/* @__PURE__ */ E(n, {
369
- type: "button",
370
- variant: "ghost",
371
- onClick: Y,
372
- children: Z.cancelButton
373
- }), /* @__PURE__ */ E(n, {
374
- type: "submit",
375
- form: Q,
376
- loading: z,
377
- disabled: R,
378
- children: o === "edit" ? Z.updateButton : Z.createButton
379
- })]
196
+ /* @__PURE__ */ f(i, { children: _ && /* @__PURE__ */ p("div", {
197
+ className: "ttw:flex ttw:flex-wrap ttw:justify-end ttw:gap-2",
198
+ children: [
199
+ _.actions.edit && /* @__PURE__ */ f(e, {
200
+ variant: "outline",
201
+ onClick: () => b("edit", _),
202
+ children: C.editButton
203
+ }),
204
+ _.actions.issue && /* @__PURE__ */ f(e, {
205
+ onClick: () => b("issue", _),
206
+ children: C.issueButton
207
+ }),
208
+ _.actions.send && /* @__PURE__ */ f(e, {
209
+ variant: "outline",
210
+ onClick: () => b("send", _),
211
+ children: C.sendButton
212
+ }),
213
+ _.actions.accept && /* @__PURE__ */ f(e, {
214
+ onClick: () => b("accept", _),
215
+ children: C.acceptButton
216
+ }),
217
+ _.actions.decline && /* @__PURE__ */ f(e, {
218
+ variant: "outline",
219
+ onClick: () => b("decline", _),
220
+ children: C.declineButton
221
+ }),
222
+ _.actions.recordPayment && /* @__PURE__ */ f(e, {
223
+ variant: "outline",
224
+ onClick: () => b("recordPayment", _),
225
+ children: C.recordPaymentButton
226
+ }),
227
+ _.actions.markPaid && /* @__PURE__ */ f(e, {
228
+ variant: "outline",
229
+ onClick: () => b("markPaid", _),
230
+ children: C.markPaidButton
231
+ }),
232
+ _.actions.markUncollectible && /* @__PURE__ */ f(e, {
233
+ variant: "outline",
234
+ onClick: () => b("markUncollectible", _),
235
+ children: C.markUncollectibleButton
236
+ }),
237
+ _.actions.cancel && /* @__PURE__ */ f(e, {
238
+ variant: "outline",
239
+ onClick: () => b("cancel", _),
240
+ children: C.cancelButton
241
+ }),
242
+ _.actions.clone && /* @__PURE__ */ f(e, {
243
+ variant: "outline",
244
+ onClick: () => b("clone", _),
245
+ children: C.cloneButton
246
+ }),
247
+ _.actions.delete && /* @__PURE__ */ f(e, {
248
+ variant: "destructive",
249
+ onClick: () => b("delete", _),
250
+ children: C.deleteButton
251
+ }),
252
+ /* @__PURE__ */ f(e, {
253
+ variant: "ghost",
254
+ onClick: x,
255
+ children: C.closeButton
256
+ })
257
+ ]
380
258
  }) })
381
259
  ]
382
260
  })
383
261
  });
384
262
  }
385
263
  //#endregion
386
- export { F as ReceivableFormSheet, F as default };
264
+ export { g as ReceivableDetailsSheet, g as default };