@tesouro/embedded-components-react 0.5.204 → 0.5.206

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 (56) hide show
  1. package/README.md +15 -14
  2. package/dist/index.d.ts +49 -4
  3. package/dist/index.js +1 -1
  4. package/dist/lib/ReceivablesWidget.d.ts +49 -4
  5. package/dist/lib/ReceivablesWidget.js +1 -1
  6. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index.js +7 -7
  7. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index2.js +26 -23
  8. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index3.js +79 -2
  9. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index.js +1 -1
  10. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index10.js +88 -193
  11. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index11.js +184 -31
  12. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index12.js +32 -145
  13. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index13.js +150 -47
  14. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index14.js +37 -293
  15. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index15.js +58 -70
  16. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index16.js +86 -99
  17. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index17.js +48 -233
  18. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index18.js +336 -0
  19. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index19.js +75 -0
  20. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index20.js +115 -0
  21. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index21.js +270 -0
  22. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index5.js +1 -1
  23. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index8.js +95 -394
  24. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index9.js +422 -72
  25. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index.js +15 -10
  26. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index10.js +94 -1
  27. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index11.js +3 -4
  28. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index12.js +24 -11
  29. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index13.js +1 -1
  30. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index14.js +3 -264
  31. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index15.js +3 -72
  32. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index16.js +16 -421
  33. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index17.js +1 -106
  34. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index18.js +4 -93
  35. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index19.js +11 -343
  36. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index2.js +5 -159
  37. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index20.js +1 -0
  38. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index21.js +264 -0
  39. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index22.js +72 -0
  40. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index23.js +401 -0
  41. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index24.js +106 -0
  42. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index25.js +93 -0
  43. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index26.js +344 -0
  44. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index3.js +182 -32
  45. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index4.js +27 -154
  46. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index5.js +203 -20
  47. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index6.js +161 -1
  48. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index7.js +16 -3
  49. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index8.js +25 -3
  50. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index9.js +3 -17
  51. package/dist/libs/tesouro-embedded-components-react/shared/data-access/dist/index.js +38 -38
  52. package/dist/libs/tesouro-embedded-components-react/shared/data-access/dist/lib/rest/@tanstack/react-query.gen.js +213 -202
  53. package/dist/libs/tesouro-embedded-components-react/shared/data-access/dist/lib/rest/sdk.gen.js +136 -116
  54. package/dist/libs/tesouro-embedded-components-react/shared/feature/dist/lib/analytics/build-info.js +1 -1
  55. package/dist/packages/shared-ui-shadcn/dist/index.js +1763 -1749
  56. package/package.json +1 -1
@@ -1,161 +1,34 @@
1
- import { Button as e, Checkbox as t, Separator as n, Typography as r, cn as i } from "../../../../../packages/shared-ui-shadcn/dist/index.js";
2
- import { RECEIVABLE_FORM_SHEET_LABELS_EN as a } from "./index2.js";
3
- import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
4
- import { FileText as l, ImageIcon as u, Loader2 as d, Trash2 as f, X as p } 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 } from "../../../../../packages/shared-ui-shadcn/dist/index.js";
2
+ import { RECEIVABLE_ACTION_DIALOG_LABELS_EN as s } from "./index3.js";
3
+ import { jsx as c, jsxs as l } from "react/jsx-runtime";
5
4
  //#region ../../libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index4.js
6
- function m({ view: m, isDragging: h, disabled: g, inputRef: _, onBrowseClick: v, onDragOver: y, onDragLeave: b, onDrop: x, onFilesSelect: S, onIncludeInEmailChange: C, onRemove: w, labels: T }) {
7
- let E = {
8
- ...a,
9
- ...T
5
+ function u({ open: u, onOpenChange: d, title: f, description: p, confirmLabel: m, destructive: h, error: g, inProgress: _, onConfirm: v, onCancel: y, labels: b }) {
6
+ let x = {
7
+ ...s,
8
+ ...b
10
9
  };
11
- return /* @__PURE__ */ c("div", {
12
- className: "ttw:flex ttw:flex-col ttw:gap-2.5 ttw:rounded-xl ttw:border ttw:border-border ttw:p-6",
13
- children: [
14
- /* @__PURE__ */ c("div", {
15
- className: "ttw:flex ttw:flex-col ttw:gap-2.5 ttw:pb-4",
16
- children: [/* @__PURE__ */ s(r, {
17
- variant: "h4",
18
- children: E.attachmentsHeading
19
- }), /* @__PURE__ */ s(r, {
20
- variant: "body2",
21
- color: "muted",
22
- className: "ttw:font-medium",
23
- children: E.attachmentsDescription
24
- })]
25
- }),
26
- m.showRows && /* @__PURE__ */ c("div", {
27
- className: "ttw:flex ttw:flex-col ttw:gap-2",
28
- children: [m.emailCaption && /* @__PURE__ */ c(o, { children: [/* @__PURE__ */ s(r, {
29
- variant: "caption",
30
- color: "muted",
31
- children: m.emailCaption
32
- }), /* @__PURE__ */ s(n, {})] }), /* @__PURE__ */ c("ul", {
33
- className: "ttw:flex ttw:flex-col ttw:gap-2",
34
- children: [m.attachedRows.map((n) => /* @__PURE__ */ c("li", {
35
- className: "ttw:flex ttw:items-center ttw:gap-2",
36
- children: [/* @__PURE__ */ s(t, {
37
- checked: n.includeInEmail,
38
- disabled: g,
39
- "aria-label": n.includeInEmailLabel,
40
- onCheckedChange: (e) => C(n.id, e === !0)
41
- }), /* @__PURE__ */ c("div", {
42
- className: "ttw:flex ttw:w-full ttw:items-center ttw:gap-3 ttw:rounded-lg ttw:bg-muted ttw:px-2 ttw:py-1",
43
- children: [/* @__PURE__ */ c("div", {
44
- className: "ttw:flex ttw:min-w-0 ttw:flex-1 ttw:items-center ttw:gap-1",
45
- children: [/* @__PURE__ */ s(r, {
46
- variant: "body2",
47
- className: "ttw:truncate",
48
- children: n.name
49
- }), /* @__PURE__ */ c(r, {
50
- variant: "body2",
51
- color: "muted",
52
- className: "ttw:shrink-0",
53
- children: [
54
- "(",
55
- n.sizeLabel,
56
- ")"
57
- ]
58
- })]
59
- }), /* @__PURE__ */ s(e, {
60
- type: "button",
61
- variant: "ghost",
62
- size: "icon",
63
- className: "ttw:size-4",
64
- disabled: g,
65
- "aria-label": n.removeLabel,
66
- onClick: () => w(n.id),
67
- children: /* @__PURE__ */ s(f, { className: "ttw:size-4" })
68
- })]
69
- })]
70
- }, n.id)), m.pendingRows.map((t) => /* @__PURE__ */ c("li", {
71
- className: "ttw:flex ttw:w-full ttw:items-center ttw:gap-3 ttw:rounded-lg ttw:bg-muted ttw:px-2 ttw:py-1",
72
- children: [
73
- t.state === "uploading" ? /* @__PURE__ */ s(d, { className: "ttw:size-5 ttw:shrink-0 ttw:animate-spin ttw:text-muted-foreground" }) : /* @__PURE__ */ s(l, { className: "ttw:size-5 ttw:shrink-0 ttw:text-destructive" }),
74
- /* @__PURE__ */ c("div", {
75
- className: "ttw:flex ttw:min-w-0 ttw:flex-1 ttw:flex-col",
76
- children: [/* @__PURE__ */ s(r, {
77
- variant: "body2",
78
- className: "ttw:truncate",
79
- children: t.name
80
- }), t.state === "uploading" ? /* @__PURE__ */ s(r, {
81
- variant: "caption",
82
- color: "muted",
83
- children: t.message
84
- }) : /* @__PURE__ */ s(r, {
85
- variant: "caption",
86
- role: "alert",
87
- className: "ttw:text-destructive",
88
- children: t.message
89
- })]
90
- }),
91
- /* @__PURE__ */ s(e, {
92
- type: "button",
93
- variant: "ghost",
94
- size: "icon",
95
- disabled: g,
96
- "aria-label": t.removeLabel,
97
- onClick: () => w(t.id),
98
- children: /* @__PURE__ */ s(p, { className: "ttw:size-4" })
99
- })
100
- ]
101
- }, t.id))]
102
- })]
103
- }),
104
- /* @__PURE__ */ c("button", {
105
- type: "button",
106
- disabled: g,
107
- onClick: v,
108
- onDragOver: (e) => {
109
- e.preventDefault(), y();
110
- },
111
- onDragLeave: (e) => {
112
- e.preventDefault(), b();
113
- },
114
- onDrop: (e) => {
115
- e.preventDefault(), x(e.dataTransfer.files);
116
- },
117
- className: i("ttw:flex ttw:w-full ttw:flex-col ttw:items-center ttw:gap-2 ttw:rounded-xl ttw:border ttw:border-dashed ttw:p-6 ttw:text-center ttw:disabled:cursor-not-allowed ttw:disabled:opacity-50", h ? "ttw:border-primary ttw:bg-primary/5" : "ttw:border-border ttw:bg-muted"),
118
- children: [
119
- /* @__PURE__ */ s("span", {
120
- className: "ttw:flex ttw:size-10 ttw:items-center ttw:justify-center ttw:rounded-full ttw:border ttw:border-border",
121
- children: /* @__PURE__ */ s(u, { className: "ttw:size-5 ttw:text-muted-foreground" })
122
- }),
123
- /* @__PURE__ */ c(r, {
124
- variant: "body2",
125
- children: [
126
- E.attachmentsDropPrompt,
127
- " ",
128
- /* @__PURE__ */ s("span", {
129
- className: "ttw:text-primary ttw:underline",
130
- children: E.attachmentsBrowseLink
131
- })
132
- ]
133
- }),
134
- /* @__PURE__ */ s(r, {
135
- variant: "caption",
136
- color: "muted",
137
- children: E.attachmentsFormatsHint
138
- })
139
- ]
140
- }),
141
- m.countLimitMessage && /* @__PURE__ */ s(r, {
142
- variant: "body2",
10
+ return /* @__PURE__ */ c(t, {
11
+ open: u,
12
+ onOpenChange: d,
13
+ children: /* @__PURE__ */ l(n, { children: [
14
+ /* @__PURE__ */ l(a, { children: [/* @__PURE__ */ c(o, { children: f }), /* @__PURE__ */ c(r, { children: p })] }),
15
+ g && /* @__PURE__ */ c("p", {
143
16
  role: "alert",
144
- className: "ttw:text-destructive",
145
- children: m.countLimitMessage
17
+ className: "ttw:rounded-md ttw:bg-destructive/10 ttw:px-3 ttw:py-2 ttw:text-sm ttw:text-destructive",
18
+ children: g
146
19
  }),
147
- /* @__PURE__ */ s("input", {
148
- ref: _,
149
- type: "file",
150
- multiple: !0,
151
- tabIndex: -1,
152
- "aria-hidden": !0,
153
- className: "ttw:sr-only",
154
- accept: m.accept,
155
- onChange: (e) => S(e.target.files)
156
- })
157
- ]
20
+ /* @__PURE__ */ l(i, { children: [/* @__PURE__ */ c(e, {
21
+ variant: "ghost",
22
+ onClick: y,
23
+ children: x.cancelButton
24
+ }), /* @__PURE__ */ c(e, {
25
+ variant: h ? "destructive" : "default",
26
+ loading: _,
27
+ onClick: v,
28
+ children: m ?? x.confirmButton
29
+ })] })
30
+ ] })
158
31
  });
159
32
  }
160
33
  //#endregion
161
- export { m as ReceivableAttachmentsSection };
34
+ export { u as ReceivableActionDialog, u as default };
@@ -1,24 +1,207 @@
1
- import { Badge as e, cn as t } from "../../../../../packages/shared-ui-shadcn/dist/index.js";
2
- import { RECEIVABLE_STATUS_BADGE_LABELS_EN as n } from "./index2.js";
3
- import { jsxs as r } from "react/jsx-runtime";
1
+ import { Alert as e, AlertDescription as t, AlertTitle as n, Badge as r, Button as i, Field as a, FieldContent as o, FieldError as s, FieldLabel as c, Input as l, Select as u, SelectContent as d, SelectItem as f, SelectSeparator as p, SelectTrigger as m, SelectValue as h, Skeleton as g, Typography as _ } from "../../../../../packages/shared-ui-shadcn/dist/index.js";
2
+ import { RECEIVABLE_FORM_SHEET_LABELS_EN as v } from "./index3.js";
3
+ import { Fragment as y, jsx as b, jsxs as x } from "react/jsx-runtime";
4
+ import { PlusIcon as S, TriangleAlertIcon as C } from "lucide-react";
4
5
  //#region ../../libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index5.js
5
- var i = {
6
- danger: "ttw:border-red-200 ttw:bg-red-50 ttw:text-red-700 ttw:hover:bg-red-50",
7
- info: "ttw:border-blue-200 ttw:bg-blue-50 ttw:text-blue-700 ttw:hover:bg-blue-50",
8
- neutral: "ttw:border-border ttw:bg-muted ttw:text-foreground ttw:hover:bg-muted",
9
- success: "ttw:border-emerald-200 ttw:bg-emerald-50 ttw:text-emerald-700 ttw:hover:bg-emerald-50",
10
- warning: "ttw:border-amber-200 ttw:bg-amber-50 ttw:text-amber-800 ttw:hover:bg-amber-50"
11
- };
12
- function a({ status: a, tone: o, labels: s, icon: c }) {
13
- let l = {
14
- ...n,
15
- ...s
16
- }, u = l[a] ?? l.unknown;
17
- return /* @__PURE__ */ r(e, {
18
- variant: "outline",
19
- className: t(c && "ttw:gap-1", i[o]),
20
- children: [c, u]
6
+ var w = "__add_new__";
7
+ function T({ id: e, label: t, optionalSuffix: n, placeholder: r, value: i, error: u, disabled: d, onChange: f }) {
8
+ return /* @__PURE__ */ b(a, { children: /* @__PURE__ */ x(o, { children: [
9
+ /* @__PURE__ */ x(c, {
10
+ htmlFor: e,
11
+ className: "ttw:gap-1",
12
+ children: [t, n && /* @__PURE__ */ b(_, {
13
+ variant: "body2",
14
+ component: "span",
15
+ color: "muted",
16
+ className: "ttw:leading-snug",
17
+ children: n
18
+ })]
19
+ }),
20
+ /* @__PURE__ */ b(l, {
21
+ id: e,
22
+ placeholder: r,
23
+ value: i,
24
+ disabled: d,
25
+ "aria-invalid": !!u,
26
+ onChange: (e) => f(e.target.value),
27
+ onKeyDown: (e) => {
28
+ e.key === "Enter" && e.preventDefault();
29
+ }
30
+ }),
31
+ /* @__PURE__ */ b(s, { errors: u ? [{ message: u }] : [] })
32
+ ] }) });
33
+ }
34
+ function E({ idPrefix: e, values: t, errors: n, canCancel: r, isSaving: a, labels: o, onChange: s, onSave: c, onCancel: l }) {
35
+ return /* @__PURE__ */ x("div", {
36
+ className: "ttw:flex ttw:flex-col ttw:gap-4 ttw:rounded-xl ttw:border ttw:border-border ttw:p-3",
37
+ children: [
38
+ /* @__PURE__ */ b(_, {
39
+ variant: "body2",
40
+ children: o.bankAccountFormHeading
41
+ }),
42
+ /* @__PURE__ */ x("div", {
43
+ className: "ttw:flex ttw:gap-4",
44
+ children: [/* @__PURE__ */ b(T, {
45
+ id: `${e}-routing-number`,
46
+ label: o.bankAccountRoutingNumberLabel,
47
+ placeholder: o.bankAccountRoutingNumberPlaceholder,
48
+ value: t.routingNumber,
49
+ error: n.routingNumber,
50
+ disabled: a,
51
+ onChange: (e) => s({ routingNumber: e })
52
+ }), /* @__PURE__ */ b(T, {
53
+ id: `${e}-account-number`,
54
+ label: o.bankAccountAccountNumberLabel,
55
+ placeholder: o.bankAccountAccountNumberPlaceholder,
56
+ value: t.accountNumber,
57
+ error: n.accountNumber,
58
+ disabled: a,
59
+ onChange: (e) => s({ accountNumber: e })
60
+ })]
61
+ }),
62
+ /* @__PURE__ */ x("div", {
63
+ className: "ttw:flex ttw:gap-4",
64
+ children: [/* @__PURE__ */ b(T, {
65
+ id: `${e}-account-holder-name`,
66
+ label: o.bankAccountHolderNameLabel,
67
+ placeholder: o.bankAccountHolderNamePlaceholder,
68
+ value: t.accountHolderName,
69
+ error: n.accountHolderName,
70
+ disabled: a,
71
+ onChange: (e) => s({ accountHolderName: e })
72
+ }), /* @__PURE__ */ b(T, {
73
+ id: `${e}-account-nickname`,
74
+ label: o.bankAccountNicknameLabel,
75
+ optionalSuffix: o.optionalSuffix,
76
+ placeholder: o.bankAccountNicknamePlaceholder,
77
+ value: t.displayName,
78
+ error: n.displayName,
79
+ disabled: a,
80
+ onChange: (e) => s({ displayName: e })
81
+ })]
82
+ }),
83
+ /* @__PURE__ */ x("div", {
84
+ className: "ttw:flex ttw:gap-4",
85
+ children: [r && /* @__PURE__ */ b(i, {
86
+ type: "button",
87
+ variant: "outline",
88
+ className: "ttw:border-border",
89
+ disabled: a,
90
+ onClick: l,
91
+ children: o.bankAccountCancelButton
92
+ }), /* @__PURE__ */ b(i, {
93
+ type: "button",
94
+ disabled: a,
95
+ onClick: c,
96
+ children: o.bankAccountSaveButton
97
+ })]
98
+ })
99
+ ]
100
+ });
101
+ }
102
+ function D({ idPrefix: i, view: a, disabled: o, onAccountSelect: s, onAddAccountClick: c, onFormChange: l, onFormSave: T, onFormCancel: D, labels: O }) {
103
+ let k = {
104
+ ...v,
105
+ ...O
106
+ }, A = `${i}-bank-account`;
107
+ return /* @__PURE__ */ x("div", {
108
+ className: "ttw:flex ttw:flex-col ttw:gap-2.5 ttw:rounded-xl ttw:border ttw:border-border ttw:p-6",
109
+ children: [
110
+ /* @__PURE__ */ x("div", {
111
+ className: "ttw:flex ttw:flex-col ttw:gap-2.5 ttw:pb-4",
112
+ children: [/* @__PURE__ */ b(_, {
113
+ variant: "h4",
114
+ children: k.bankAccountHeading
115
+ }), /* @__PURE__ */ b(_, {
116
+ variant: "body2",
117
+ color: "muted",
118
+ className: "ttw:font-medium",
119
+ children: k.bankAccountDescription
120
+ })]
121
+ }),
122
+ (a.kind === "loading" || a.kind === "picker") && /* @__PURE__ */ x("div", {
123
+ className: "ttw:flex ttw:flex-col ttw:gap-4 ttw:rounded-xl ttw:border ttw:border-border ttw:p-3",
124
+ children: [/* @__PURE__ */ x("div", {
125
+ className: "ttw:flex ttw:flex-col ttw:gap-1",
126
+ children: [/* @__PURE__ */ b(_, {
127
+ variant: "body2",
128
+ children: k.bankAccountLabel
129
+ }), /* @__PURE__ */ b(_, {
130
+ variant: "caption",
131
+ color: "muted",
132
+ children: k.bankAccountHint
133
+ })]
134
+ }), a.kind === "loading" ? /* @__PURE__ */ b(g, { className: "ttw:h-9 ttw:w-full ttw:rounded-md" }) : /* @__PURE__ */ x(u, {
135
+ disabled: o,
136
+ value: a.selected?.value ?? "",
137
+ onValueChange: (e) => {
138
+ if (e === w) {
139
+ c();
140
+ return;
141
+ }
142
+ s(e);
143
+ },
144
+ children: [/* @__PURE__ */ b(m, {
145
+ id: A,
146
+ className: "ttw:w-full",
147
+ "aria-label": k.bankAccountSelectorLabel,
148
+ children: /* @__PURE__ */ b(h, {
149
+ placeholder: k.bankAccountPlaceholder,
150
+ children: a.selected && /* @__PURE__ */ x("span", {
151
+ className: "ttw:flex ttw:min-w-0 ttw:flex-1 ttw:items-center ttw:justify-between ttw:gap-2",
152
+ children: [/* @__PURE__ */ b("span", {
153
+ className: "ttw:truncate",
154
+ children: a.selected.label
155
+ }), a.selected.sourceLabel && /* @__PURE__ */ b(r, {
156
+ variant: "secondary",
157
+ className: "ttw:shrink-0",
158
+ children: a.selected.sourceLabel
159
+ })]
160
+ })
161
+ })
162
+ }), /* @__PURE__ */ x(d, { children: [a.options.map((e) => /* @__PURE__ */ b(f, {
163
+ value: e.value,
164
+ children: /* @__PURE__ */ x("span", {
165
+ className: "ttw:flex ttw:min-w-0 ttw:flex-1 ttw:items-center ttw:justify-between ttw:gap-2",
166
+ children: [/* @__PURE__ */ b("span", {
167
+ className: "ttw:truncate",
168
+ children: e.label
169
+ }), e.sourceLabel && /* @__PURE__ */ b("span", {
170
+ className: "ttw:shrink-0 ttw:text-muted-foreground",
171
+ children: e.sourceLabel
172
+ })]
173
+ })
174
+ }, e.value)), a.canAddAccount && /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b(p, {}), /* @__PURE__ */ x(f, {
175
+ value: w,
176
+ className: "ttw:font-semibold ttw:text-primary ttw:hover:text-primary ttw:focus:text-primary",
177
+ children: [/* @__PURE__ */ b(S, { className: "ttw:text-primary" }), k.bankAccountAddOption]
178
+ })] })] })]
179
+ })]
180
+ }),
181
+ a.kind === "form" && /* @__PURE__ */ b(E, {
182
+ idPrefix: i,
183
+ values: a.values,
184
+ errors: a.errors,
185
+ canCancel: a.canCancel,
186
+ isSaving: a.isSaving,
187
+ labels: k,
188
+ onChange: l,
189
+ onSave: T,
190
+ onCancel: D
191
+ }),
192
+ a.kind === "restricted" && /* @__PURE__ */ x(e, {
193
+ className: "ttw:border-transparent ttw:bg-yellow-50 ttw:text-yellow-900 ttw:dark:bg-yellow-950 ttw:dark:text-yellow-100",
194
+ children: [
195
+ /* @__PURE__ */ b(C, {}),
196
+ /* @__PURE__ */ b(n, { children: k.bankAccountRestrictedTitle }),
197
+ /* @__PURE__ */ b(t, {
198
+ className: "ttw:text-current",
199
+ children: k.bankAccountRestrictedDescription
200
+ })
201
+ ]
202
+ })
203
+ ]
21
204
  });
22
205
  }
23
206
  //#endregion
24
- export { a as ReceivableStatusBadge, a as default };
207
+ export { D as ReceivableBankAccountSection };
@@ -1 +1,161 @@
1
- import "lucide-react";
1
+ import { Button as e, Checkbox as t, Separator as n, Typography as r, cn as i } from "../../../../../packages/shared-ui-shadcn/dist/index.js";
2
+ import { RECEIVABLE_FORM_SHEET_LABELS_EN as a } from "./index3.js";
3
+ import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
4
+ import { FileText as l, ImageIcon as u, Loader2 as d, Trash2 as f, X as p } from "lucide-react";
5
+ //#region ../../libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index6.js
6
+ function m({ view: m, isDragging: h, disabled: g, inputRef: _, onBrowseClick: v, onDragOver: y, onDragLeave: b, onDrop: x, onFilesSelect: S, onIncludeInEmailChange: C, onRemove: w, labels: T }) {
7
+ let E = {
8
+ ...a,
9
+ ...T
10
+ };
11
+ return /* @__PURE__ */ c("div", {
12
+ className: "ttw:flex ttw:flex-col ttw:gap-2.5 ttw:rounded-xl ttw:border ttw:border-border ttw:p-6",
13
+ children: [
14
+ /* @__PURE__ */ c("div", {
15
+ className: "ttw:flex ttw:flex-col ttw:gap-2.5 ttw:pb-4",
16
+ children: [/* @__PURE__ */ s(r, {
17
+ variant: "h4",
18
+ children: E.attachmentsHeading
19
+ }), /* @__PURE__ */ s(r, {
20
+ variant: "body2",
21
+ color: "muted",
22
+ className: "ttw:font-medium",
23
+ children: E.attachmentsDescription
24
+ })]
25
+ }),
26
+ m.showRows && /* @__PURE__ */ c("div", {
27
+ className: "ttw:flex ttw:flex-col ttw:gap-2",
28
+ children: [m.emailCaption && /* @__PURE__ */ c(o, { children: [/* @__PURE__ */ s(r, {
29
+ variant: "caption",
30
+ color: "muted",
31
+ children: m.emailCaption
32
+ }), /* @__PURE__ */ s(n, {})] }), /* @__PURE__ */ c("ul", {
33
+ className: "ttw:flex ttw:flex-col ttw:gap-2",
34
+ children: [m.attachedRows.map((n) => /* @__PURE__ */ c("li", {
35
+ className: "ttw:flex ttw:items-center ttw:gap-2",
36
+ children: [/* @__PURE__ */ s(t, {
37
+ checked: n.includeInEmail,
38
+ disabled: g,
39
+ "aria-label": n.includeInEmailLabel,
40
+ onCheckedChange: (e) => C(n.id, e === !0)
41
+ }), /* @__PURE__ */ c("div", {
42
+ className: "ttw:flex ttw:w-full ttw:items-center ttw:gap-3 ttw:rounded-lg ttw:bg-muted ttw:px-2 ttw:py-1",
43
+ children: [/* @__PURE__ */ c("div", {
44
+ className: "ttw:flex ttw:min-w-0 ttw:flex-1 ttw:items-center ttw:gap-1",
45
+ children: [/* @__PURE__ */ s(r, {
46
+ variant: "body2",
47
+ className: "ttw:truncate",
48
+ children: n.name
49
+ }), /* @__PURE__ */ c(r, {
50
+ variant: "body2",
51
+ color: "muted",
52
+ className: "ttw:shrink-0",
53
+ children: [
54
+ "(",
55
+ n.sizeLabel,
56
+ ")"
57
+ ]
58
+ })]
59
+ }), /* @__PURE__ */ s(e, {
60
+ type: "button",
61
+ variant: "ghost",
62
+ size: "icon",
63
+ className: "ttw:size-4",
64
+ disabled: g,
65
+ "aria-label": n.removeLabel,
66
+ onClick: () => w(n.id),
67
+ children: /* @__PURE__ */ s(f, { className: "ttw:size-4" })
68
+ })]
69
+ })]
70
+ }, n.id)), m.pendingRows.map((t) => /* @__PURE__ */ c("li", {
71
+ className: "ttw:flex ttw:w-full ttw:items-center ttw:gap-3 ttw:rounded-lg ttw:bg-muted ttw:px-2 ttw:py-1",
72
+ children: [
73
+ t.state === "uploading" ? /* @__PURE__ */ s(d, { className: "ttw:size-5 ttw:shrink-0 ttw:animate-spin ttw:text-muted-foreground" }) : /* @__PURE__ */ s(l, { className: "ttw:size-5 ttw:shrink-0 ttw:text-destructive" }),
74
+ /* @__PURE__ */ c("div", {
75
+ className: "ttw:flex ttw:min-w-0 ttw:flex-1 ttw:flex-col",
76
+ children: [/* @__PURE__ */ s(r, {
77
+ variant: "body2",
78
+ className: "ttw:truncate",
79
+ children: t.name
80
+ }), t.state === "uploading" ? /* @__PURE__ */ s(r, {
81
+ variant: "caption",
82
+ color: "muted",
83
+ children: t.message
84
+ }) : /* @__PURE__ */ s(r, {
85
+ variant: "caption",
86
+ role: "alert",
87
+ className: "ttw:text-destructive",
88
+ children: t.message
89
+ })]
90
+ }),
91
+ /* @__PURE__ */ s(e, {
92
+ type: "button",
93
+ variant: "ghost",
94
+ size: "icon",
95
+ disabled: g,
96
+ "aria-label": t.removeLabel,
97
+ onClick: () => w(t.id),
98
+ children: /* @__PURE__ */ s(p, { className: "ttw:size-4" })
99
+ })
100
+ ]
101
+ }, t.id))]
102
+ })]
103
+ }),
104
+ /* @__PURE__ */ c("button", {
105
+ type: "button",
106
+ disabled: g,
107
+ onClick: v,
108
+ onDragOver: (e) => {
109
+ e.preventDefault(), y();
110
+ },
111
+ onDragLeave: (e) => {
112
+ e.preventDefault(), b();
113
+ },
114
+ onDrop: (e) => {
115
+ e.preventDefault(), x(e.dataTransfer.files);
116
+ },
117
+ className: i("ttw:flex ttw:w-full ttw:flex-col ttw:items-center ttw:gap-2 ttw:rounded-xl ttw:border ttw:border-dashed ttw:p-6 ttw:text-center ttw:disabled:cursor-not-allowed ttw:disabled:opacity-50", h ? "ttw:border-primary ttw:bg-primary/5" : "ttw:border-border ttw:bg-muted"),
118
+ children: [
119
+ /* @__PURE__ */ s("span", {
120
+ className: "ttw:flex ttw:size-10 ttw:items-center ttw:justify-center ttw:rounded-full ttw:border ttw:border-border",
121
+ children: /* @__PURE__ */ s(u, { className: "ttw:size-5 ttw:text-muted-foreground" })
122
+ }),
123
+ /* @__PURE__ */ c(r, {
124
+ variant: "body2",
125
+ children: [
126
+ E.attachmentsDropPrompt,
127
+ " ",
128
+ /* @__PURE__ */ s("span", {
129
+ className: "ttw:text-primary ttw:underline",
130
+ children: E.attachmentsBrowseLink
131
+ })
132
+ ]
133
+ }),
134
+ /* @__PURE__ */ s(r, {
135
+ variant: "caption",
136
+ color: "muted",
137
+ children: E.attachmentsFormatsHint
138
+ })
139
+ ]
140
+ }),
141
+ m.countLimitMessage && /* @__PURE__ */ s(r, {
142
+ variant: "body2",
143
+ role: "alert",
144
+ className: "ttw:text-destructive",
145
+ children: m.countLimitMessage
146
+ }),
147
+ /* @__PURE__ */ s("input", {
148
+ ref: _,
149
+ type: "file",
150
+ multiple: !0,
151
+ tabIndex: -1,
152
+ "aria-hidden": !0,
153
+ className: "ttw:sr-only",
154
+ accept: m.accept,
155
+ onChange: (e) => S(e.target.files)
156
+ })
157
+ ]
158
+ });
159
+ }
160
+ //#endregion
161
+ export { m as ReceivableAttachmentsSection };
@@ -1,3 +1,16 @@
1
- import "../../../../../packages/shared-ui-shadcn/dist/index.js";
2
- import "./index6.js";
3
- import "react/jsx-runtime";
1
+ import { jsx as e, jsxs as t } from "react/jsx-runtime";
2
+ //#region ../../libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index7.js
3
+ function n({ option: n }) {
4
+ return /* @__PURE__ */ t("span", {
5
+ className: "ttw:flex ttw:w-full ttw:min-w-0 ttw:items-center ttw:justify-between ttw:gap-2",
6
+ children: [/* @__PURE__ */ e("span", {
7
+ className: "ttw:truncate",
8
+ children: n.label
9
+ }), n.dueDateLabel && /* @__PURE__ */ e("span", {
10
+ className: "ttw:shrink-0 ttw:text-xs ttw:text-muted-foreground",
11
+ children: n.dueDateLabel
12
+ })]
13
+ });
14
+ }
15
+ //#endregion
16
+ export { n as OptionRow };
@@ -1,3 +1,25 @@
1
- import "../../../../../packages/shared-ui-shadcn/dist/index.js";
2
- import "react/jsx-runtime";
3
- import "lucide-react";
1
+ import { cn as e } from "../../../../../packages/shared-ui-shadcn/dist/index.js";
2
+ import { OptionRow as t } from "./index7.js";
3
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
+ import { CalendarIcon as i } from "lucide-react";
5
+ //#region ../../libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index8.js
6
+ function a({ selection: a, labels: o }) {
7
+ return a?.kind === "receiptDue" ? /* @__PURE__ */ n("span", {
8
+ className: "ttw:truncate",
9
+ children: o.paymentTermsReceiptDue
10
+ }) : a?.kind === "customDate" ? /* @__PURE__ */ r("span", {
11
+ className: "ttw:flex ttw:w-full ttw:min-w-0 ttw:items-center ttw:justify-between ttw:gap-2",
12
+ children: [/* @__PURE__ */ r("span", {
13
+ className: "ttw:flex ttw:min-w-0 ttw:items-center ttw:gap-1.5",
14
+ children: [/* @__PURE__ */ n(i, { className: e("ttw:size-4 ttw:shrink-0", !a.hasDate && "ttw:text-muted-foreground") }), /* @__PURE__ */ n("span", {
15
+ className: e("ttw:truncate", !a.hasDate && "ttw:text-muted-foreground"),
16
+ children: a.dateLabel
17
+ })]
18
+ }), /* @__PURE__ */ n("span", {
19
+ className: "ttw:shrink-0 ttw:text-xs ttw:text-muted-foreground",
20
+ children: o.paymentTermsCustomDate
21
+ })]
22
+ }) : a?.kind === "term" ? /* @__PURE__ */ n(t, { option: a.option }) : null;
23
+ }
24
+ //#endregion
25
+ export { a as SelectionValue };
@@ -1,18 +1,4 @@
1
- import { Button as e } from "../../../../../packages/shared-ui-shadcn/dist/index.js";
2
- import { forwardRef as t } from "react";
3
- import { jsx as n } from "react/jsx-runtime";
4
- import { XIcon as r } from "lucide-react";
5
- t(function({ label: t, onClose: i, variant: a = "ghost", size: o = "icon", onClick: s, ...c }, l) {
6
- return /* @__PURE__ */ n(e, {
7
- ref: l,
8
- variant: a,
9
- size: o,
10
- ...c,
11
- "aria-label": t,
12
- onClick: (e) => {
13
- s?.(e), i();
14
- },
15
- children: /* @__PURE__ */ n(r, { className: "ttw:size-4" })
16
- });
17
- });
1
+ //#region ../../libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index9.js
2
+ var e = "receipt_due", t = "custom";
18
3
  //#endregion
4
+ export { t as RECEIVABLE_PAYMENT_TERMS_CUSTOM_DATE, e as RECEIVABLE_PAYMENT_TERMS_RECEIPT_DUE };