@tesouro/embedded-components-react 0.5.258 → 0.5.259

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 (62) hide show
  1. package/README.md +2 -1
  2. package/dist/index.css +109 -9
  3. package/dist/index.d.ts +41 -10
  4. package/dist/lib/ReceivablesWidget.d.ts +41 -10
  5. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index.js +11 -10
  6. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index10.js +42 -94
  7. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index11.js +91 -76
  8. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index12.js +67 -173
  9. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index13.js +186 -17
  10. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index14.js +27 -0
  11. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index4.js +28 -72
  12. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index5.js +128 -53
  13. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index6.js +66 -28
  14. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index7.js +28 -34
  15. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index8.js +24 -168
  16. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index9.js +173 -44
  17. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/ReceivablesWidget.js +274 -267
  18. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/helpers.js +99 -95
  19. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/labels.js +1 -0
  20. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/paymentTerms.js +28 -25
  21. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/preview.js +49 -43
  22. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/unsavedChanges.js +13 -0
  23. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/useReceivableActions.js +4 -4
  24. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/useReceivableActionsModal.js +2 -2
  25. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/useReceivableAttachmentUploads.js +1 -1
  26. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/useReceivableBankAccount.js +77 -72
  27. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/useReceivableDetails.js +4 -4
  28. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/useReceivableForm.js +363 -295
  29. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/useReceivableIssuePreflight.js +1 -1
  30. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/useReceivablePaymentRecord.js +1 -1
  31. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/useReceivablePreview.js +36 -21
  32. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/useReceivableReminders.js +1 -1
  33. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/useReceivableStatusCards.js +1 -1
  34. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/useReceivablesTable.js +1 -1
  35. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index.js +12 -10
  36. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index13.js +21 -14
  37. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index15.js +1 -1
  38. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index16.js +1 -1
  39. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index20.js +68 -64
  40. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index38.js +383 -379
  41. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index40.js +22 -0
  42. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index41.js +8 -2
  43. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index43.js +258 -1
  44. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index44.js +2 -100
  45. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index45.js +95 -23
  46. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index46.js +23 -231
  47. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index47.js +237 -3
  48. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index48.js +3 -249
  49. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index49.js +234 -78
  50. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index50.js +87 -53
  51. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index51.js +49 -349
  52. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index52.js +359 -0
  53. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index53.js +45 -0
  54. package/dist/libs/tesouro-embedded-components-react/shared/data-access/dist/index.js +40 -40
  55. package/dist/libs/tesouro-embedded-components-react/shared/data-access/dist/lib/rest/@tanstack/react-query.gen.js +247 -214
  56. package/dist/libs/tesouro-embedded-components-react/shared/data-access/dist/lib/rest/sdk.gen.js +175 -147
  57. package/dist/libs/tesouro-embedded-components-react/shared/feature/dist/lib/analytics/build-info.js +1 -1
  58. package/dist/libs/tesouro-embedded-components-react/shared/product-catalog/feature/dist/index.js +12 -12
  59. package/dist/libs/tesouro-embedded-components-react/shared/product-catalog/ui/dist/index2.js +2 -1
  60. package/dist/libs/tesouro-embedded-components-react/shared/product-catalog/ui/dist/index6.js +109 -89
  61. package/package.json +1 -1
  62. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index42.js +0 -4
@@ -1,249 +1,3 @@
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 "./index13.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/index48.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 };
1
+ import "./index12.js";
2
+ import "./index45.js";
3
+ import "./index47.js";
@@ -1,93 +1,249 @@
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 "./index13.js";
3
- import { jsx as d, jsxs as f } from "react/jsx-runtime";
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_DIALOG_LABELS_EN as s } from "./index13.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";
4
6
  //#region ../../libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index49.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;
7
+ function p(e) {
8
+ e.key === "Enter" && e.preventDefault();
10
9
  }
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",
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",
23
77
  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
78
+ l.caption && /* @__PURE__ */ u(o, {
79
+ variant: "caption",
80
+ color: "muted",
81
+ children: l.caption
27
82
  }),
28
- /* @__PURE__ */ f("div", {
29
- className: "ttw:flex ttw:flex-col ttw:gap-1.5",
83
+ /* @__PURE__ */ d("div", {
84
+ className: "ttw:flex ttw:items-center ttw:gap-2.5",
30
85
  children: [
31
- /* @__PURE__ */ d(c, { children: C.toLabel }),
32
- /* @__PURE__ */ d(s, {
33
- value: g.to,
34
- onChange: (e) => y({ to: e.target.value })
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
35
98
  }),
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 })
99
+ /* @__PURE__ */ u(o, {
100
+ variant: "body2",
101
+ children: l.unitLabel
62
102
  }),
63
- /* @__PURE__ */ d(p, { message: _?.subject })
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
+ })
64
112
  ]
65
113
  }),
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
- ]
114
+ l.error && /* @__PURE__ */ u(o, {
115
+ id: f,
116
+ variant: "caption",
117
+ color: "destructive",
118
+ children: l.error
77
119
  })
78
120
  ]
79
121
  }),
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
- ] })
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
+ })] })]
90
246
  });
91
247
  }
92
248
  //#endregion
93
- export { m as ReceivableSendDialog, m as default };
249
+ export { b as ReceivableRemindersSection };