@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
@@ -1,249 +1,106 @@
1
- import { Button as e, Input as t, Label as n, RadioGroup as r, RadioGroupItem as i, Switch as a, Typography as o } from "../../../../../packages/shared-ui-shadcn/dist/index.js";
2
- import { RECEIVABLE_FORM_SHEET_LABELS_EN as s } from "./index3.js";
3
- import { Fragment as c } from "react";
4
- import { Fragment as l, jsx as u, jsxs as d } from "react/jsx-runtime";
5
- import { PlusIcon as f } from "lucide-react";
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, RadioGroup as l, RadioGroupItem as u, Textarea as d } from "../../../../../packages/shared-ui-shadcn/dist/index.js";
2
+ import { RECEIVABLE_PAYMENT_DIALOG_LABELS_EN as f } from "./index3.js";
3
+ import { jsx as p, jsxs as m } from "react/jsx-runtime";
6
4
  //#region ../../libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index25.js
7
- function p(e) {
8
- e.key === "Enter" && e.preventDefault();
5
+ function h({ message: e }) {
6
+ return e ? /* @__PURE__ */ p("p", {
7
+ className: "ttw:text-sm ttw:text-destructive",
8
+ children: e
9
+ }) : null;
9
10
  }
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",
11
+ function g({ open: g, onOpenChange: _, values: v, errors: y, inProgress: b, onChange: x, onSubmit: S, onCancel: C, labels: w }) {
12
+ let T = {
13
+ ...f,
14
+ ...w
15
+ };
16
+ return /* @__PURE__ */ p(t, {
17
+ open: g,
18
+ onOpenChange: _,
19
+ children: /* @__PURE__ */ m(n, { children: [
20
+ /* @__PURE__ */ m(a, { children: [/* @__PURE__ */ p(o, { children: T.title }), /* @__PURE__ */ p(r, { children: T.description })] }),
21
+ /* @__PURE__ */ m("div", {
22
+ className: "ttw:flex ttw:flex-col ttw:gap-4",
77
23
  children: [
78
- l.caption && /* @__PURE__ */ u(o, {
79
- variant: "caption",
80
- color: "muted",
81
- children: l.caption
24
+ y?.form && /* @__PURE__ */ p("p", {
25
+ className: "ttw:rounded-md ttw:bg-destructive/10 ttw:px-3 ttw:py-2 ttw:text-sm ttw:text-destructive",
26
+ children: y.form
27
+ }),
28
+ /* @__PURE__ */ m("div", {
29
+ className: "ttw:flex ttw:flex-col ttw:gap-1.5",
30
+ children: [/* @__PURE__ */ p(c, { children: T.modeLabel }), /* @__PURE__ */ m(l, {
31
+ className: "ttw:flex ttw:flex-row ttw:gap-6",
32
+ value: v.mode,
33
+ onValueChange: (e) => x({ mode: e }),
34
+ children: [/* @__PURE__ */ m("div", {
35
+ className: "ttw:flex ttw:items-center ttw:gap-2",
36
+ children: [/* @__PURE__ */ p(u, {
37
+ value: "full",
38
+ id: "receivable-payment-full"
39
+ }), /* @__PURE__ */ p(c, {
40
+ htmlFor: "receivable-payment-full",
41
+ children: T.fullPayment
42
+ })]
43
+ }), /* @__PURE__ */ m("div", {
44
+ className: "ttw:flex ttw:items-center ttw:gap-2",
45
+ children: [/* @__PURE__ */ p(u, {
46
+ value: "partial",
47
+ id: "receivable-payment-partial"
48
+ }), /* @__PURE__ */ p(c, {
49
+ htmlFor: "receivable-payment-partial",
50
+ children: T.partialPayment
51
+ })]
52
+ })]
53
+ })]
82
54
  }),
83
- /* @__PURE__ */ d("div", {
84
- className: "ttw:flex ttw:items-center ttw:gap-2.5",
55
+ v.mode === "partial" && /* @__PURE__ */ m("div", {
56
+ className: "ttw:flex ttw:flex-col ttw:gap-1.5",
85
57
  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
58
+ /* @__PURE__ */ p(c, { children: T.amountPaidLabel }),
59
+ /* @__PURE__ */ p(s, {
60
+ inputMode: "decimal",
61
+ value: v.amountPaid,
62
+ onChange: (e) => x({ amountPaid: e.target.value })
98
63
  }),
99
- /* @__PURE__ */ u(o, {
100
- variant: "body2",
101
- children: l.unitLabel
64
+ /* @__PURE__ */ p(h, { message: y?.amountPaid })
65
+ ]
66
+ }),
67
+ v.mode === "full" && /* @__PURE__ */ m("div", {
68
+ className: "ttw:flex ttw:flex-col ttw:gap-1.5",
69
+ children: [
70
+ /* @__PURE__ */ p(c, { children: T.paidAtLabel }),
71
+ /* @__PURE__ */ p(s, {
72
+ type: "date",
73
+ value: v.paidAt,
74
+ onChange: (e) => x({ paidAt: e.target.value })
102
75
  }),
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
- })
76
+ /* @__PURE__ */ p(h, { message: y?.paidAt })
112
77
  ]
113
78
  }),
114
- l.error && /* @__PURE__ */ u(o, {
115
- id: f,
116
- variant: "caption",
117
- color: "destructive",
118
- children: l.error
79
+ /* @__PURE__ */ m("div", {
80
+ className: "ttw:flex ttw:flex-col ttw:gap-1.5",
81
+ children: [
82
+ /* @__PURE__ */ p(c, { children: T.commentLabel }),
83
+ /* @__PURE__ */ p(d, {
84
+ rows: 3,
85
+ value: v.comment,
86
+ onChange: (e) => x({ comment: e.target.value })
87
+ }),
88
+ /* @__PURE__ */ p(h, { message: y?.comment })
89
+ ]
119
90
  })
120
91
  ]
121
92
  }),
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
- })] })]
93
+ /* @__PURE__ */ m(i, { children: [/* @__PURE__ */ p(e, {
94
+ variant: "ghost",
95
+ onClick: C,
96
+ children: T.cancelButton
97
+ }), /* @__PURE__ */ p(e, {
98
+ loading: b,
99
+ onClick: S,
100
+ children: T.submitButton
101
+ })] })
102
+ ] })
246
103
  });
247
104
  }
248
105
  //#endregion
249
- export { b as ReceivableRemindersSection };
106
+ export { g as ReceivablePaymentDialog, g as default };
@@ -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 "./index3.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_SHEET_LABELS_EN as s } from "./index3.js";
3
+ import { Fragment as c } from "react";
4
+ import { Fragment as l, jsx as u, jsxs as d } from "react/jsx-runtime";
5
+ import { PlusIcon as f } from "lucide-react";
4
6
  //#region ../../libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index26.js
5
- function p({ message: e }) {
6
- return e ? /* @__PURE__ */ d("p", {
7
- className: "ttw:text-sm ttw:text-destructive",
8
- children: e
9
- }) : null;
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 };