@tesouro/embedded-components-react 0.5.279 → 0.5.280

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 (104) hide show
  1. package/dist/index.d.ts +21 -6
  2. package/dist/lib/ReceivablesWidget.d.ts +21 -6
  3. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index.js +14 -13
  4. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index10.js +24 -168
  5. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index11.js +173 -44
  6. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index12.js +42 -94
  7. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index13.js +91 -76
  8. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index14.js +67 -173
  9. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index15.js +186 -17
  10. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index16.js +27 -0
  11. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index3.js +11 -13
  12. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index4.js +42 -27
  13. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index5.js +28 -132
  14. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index6.js +137 -16
  15. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index7.js +16 -62
  16. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index8.js +66 -28
  17. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index9.js +28 -34
  18. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/ReceivableAttachmentsSection.js +1 -1
  19. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/ReceivableCustomerSection.js +38 -0
  20. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/ReceivablesWidget.js +304 -287
  21. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/auditHistory/labels.js +1 -1
  22. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/customer.js +58 -0
  23. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/helpers.js +15 -15
  24. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/labels.js +14 -6
  25. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/paymentTerms.js +1 -1
  26. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/permissions.js +2 -1
  27. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/preview.js +62 -62
  28. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/recurrence.js +41 -35
  29. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/reminders.js +1 -1
  30. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/totals.js +21 -13
  31. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/useReceivableActions.js +124 -124
  32. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/useReceivableActionsModal.js +11 -11
  33. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/useReceivableAttachmentUploads.js +13 -13
  34. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/useReceivableBankAccount.js +1 -1
  35. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/useReceivableCustomerPicker.js +109 -0
  36. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/useReceivableDetails.js +6 -6
  37. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/useReceivableForm.js +520 -476
  38. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/useReceivableIssuePreflight.js +10 -10
  39. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/useReceivablePaymentRecord.js +6 -6
  40. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/useReceivablePaymentTerms.js +1 -1
  41. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/useReceivablePreview.js +1 -1
  42. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/useReceivableRecurrence.js +92 -77
  43. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/useReceivableReminders.js +11 -11
  44. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/useReceivableStatusCards.js +1 -1
  45. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/useReceivablesTable.js +4 -4
  46. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/useReceivablesWidget.js +79 -75
  47. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/lib/ReceivablesWidget/useSendReceivableWithPaymentLink.js +3 -3
  48. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index.js +26 -23
  49. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index12.js +9 -25
  50. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index13.js +26 -228
  51. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index14.js +227 -52
  52. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index15.js +50 -212
  53. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index16.js +193 -138
  54. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index17.js +157 -12
  55. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index18.js +10 -19
  56. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index19.js +23 -2
  57. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index20.js +2 -116
  58. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index21.js +118 -3
  59. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index22.js +3 -39
  60. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index23.js +209 -53
  61. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index24.js +2 -23
  62. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index25.js +36 -7
  63. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index26.js +53 -77
  64. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index27.js +17 -35
  65. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index28.js +8 -18
  66. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index29.js +73 -37
  67. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index30.js +36 -26
  68. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index31.js +17 -19
  69. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index32.js +39 -8
  70. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index33.js +26 -33
  71. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index34.js +20 -14
  72. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index35.js +8 -24
  73. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index36.js +34 -84
  74. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index37.js +14 -492
  75. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index38.js +28 -2
  76. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index39.js +79 -39
  77. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index40.js +490 -68
  78. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index41.js +2 -487
  79. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index42.js +41 -217
  80. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index43.js +70 -21
  81. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index44.js +440 -5
  82. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index45.js +224 -0
  83. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index46.js +21 -263
  84. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index47.js +8 -2
  85. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index49.js +261 -24
  86. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index50.js +2 -237
  87. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index51.js +100 -3
  88. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index52.js +21 -242
  89. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index53.js +226 -82
  90. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index54.js +3 -60
  91. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index55.js +233 -178
  92. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index56.js +85 -37
  93. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index57.js +60 -0
  94. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index58.js +194 -0
  95. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index59.js +45 -0
  96. package/dist/libs/tesouro-embedded-components-react/shared/counterpart-management/feature/dist/index.js +9 -9
  97. package/dist/libs/tesouro-embedded-components-react/shared/counterpart-management/feature/dist/lib/CounterpartSelector.js +2 -23
  98. package/dist/libs/tesouro-embedded-components-react/shared/counterpart-management/feature/dist/lib/useCounterpartSelector.js +2 -51
  99. package/dist/libs/tesouro-embedded-components-react/shared/counterpart-management/ui/dist/index.js +8 -8
  100. package/dist/libs/tesouro-embedded-components-react/shared/counterpart-management/ui/dist/index15.js +4 -80
  101. package/dist/libs/tesouro-embedded-components-react/shared/counterpart-management/ui/dist/index2.js +10 -22
  102. package/dist/libs/tesouro-embedded-components-react/shared/feature/dist/lib/analytics/build-info.js +1 -1
  103. package/package.json +1 -1
  104. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index48.js +0 -100
@@ -1,161 +1,216 @@
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_DIALOG_LABELS_EN as a } from "./index13.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 { 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_DIALOG_LABELS_EN as v } from "./index14.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";
5
5
  //#region ../../libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index16.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", {
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, error: o, disabled: c, onAccountSelect: l, onAddAccountClick: T, onFormChange: D, onFormSave: O, onFormCancel: k, labels: A }) {
103
+ let j = {
104
+ ...v,
105
+ ...A
106
+ }, M = `${i}-bank-account`;
107
+ return /* @__PURE__ */ x("div", {
12
108
  className: "ttw:flex ttw:flex-col ttw:gap-2.5 ttw:rounded-xl ttw:border ttw:border-border ttw:p-6",
13
109
  children: [
14
- /* @__PURE__ */ c("div", {
110
+ /* @__PURE__ */ x("div", {
15
111
  className: "ttw:flex ttw:flex-col ttw:gap-2.5 ttw:pb-4",
16
- children: [/* @__PURE__ */ s(r, {
112
+ children: [/* @__PURE__ */ b(_, {
17
113
  variant: "h4",
18
- children: E.attachmentsHeading
19
- }), /* @__PURE__ */ s(r, {
114
+ children: j.bankAccountHeading
115
+ }), /* @__PURE__ */ b(_, {
20
116
  variant: "body2",
21
117
  color: "muted",
22
118
  className: "ttw:font-medium",
23
- children: E.attachmentsDescription
119
+ children: j.bankAccountDescription
24
120
  })]
25
121
  }),
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
- })]
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: [
125
+ /* @__PURE__ */ x("div", {
126
+ className: "ttw:flex ttw:flex-col ttw:gap-1",
127
+ children: [/* @__PURE__ */ b(_, {
128
+ variant: "body2",
129
+ children: j.bankAccountLabel
130
+ }), /* @__PURE__ */ b(_, {
131
+ variant: "caption",
132
+ color: "muted",
133
+ children: j.bankAccountHint
69
134
  })]
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",
135
+ }),
136
+ a.kind === "loading" ? /* @__PURE__ */ b(g, { className: "ttw:h-9 ttw:w-full ttw:rounded-md" }) : /* @__PURE__ */ x(u, {
137
+ disabled: c,
138
+ value: a.selected?.value ?? "",
139
+ onValueChange: (e) => {
140
+ if (e === w) {
141
+ T();
142
+ return;
143
+ }
144
+ l(e);
145
+ },
146
+ children: [/* @__PURE__ */ b(m, {
147
+ id: M,
148
+ className: "ttw:w-full",
149
+ "aria-label": j.bankAccountSelectorLabel,
150
+ "aria-invalid": !!o,
151
+ children: /* @__PURE__ */ b(h, {
152
+ placeholder: j.bankAccountPlaceholder,
153
+ children: a.selected && /* @__PURE__ */ x("span", {
154
+ className: "ttw:flex ttw:min-w-0 ttw:flex-1 ttw:items-center ttw:justify-between ttw:gap-2",
155
+ children: [/* @__PURE__ */ b("span", {
156
+ className: "ttw:truncate",
157
+ children: a.selected.label
158
+ }), a.selected.sourceLabel && /* @__PURE__ */ b(r, {
159
+ variant: "secondary",
160
+ className: "ttw:shrink-0",
161
+ children: a.selected.sourceLabel
162
+ })]
163
+ })
164
+ })
165
+ }), /* @__PURE__ */ x(d, { children: [a.options.map((e) => /* @__PURE__ */ b(f, {
166
+ value: e.value,
167
+ children: /* @__PURE__ */ x("span", {
168
+ className: "ttw:flex ttw:min-w-0 ttw:flex-1 ttw:items-center ttw:justify-between ttw:gap-2",
169
+ children: [/* @__PURE__ */ b("span", {
78
170
  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
171
+ children: e.label
172
+ }), e.sourceLabel && /* @__PURE__ */ b("span", {
173
+ className: "ttw:shrink-0 ttw:text-muted-foreground",
174
+ children: e.sourceLabel
89
175
  })]
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
176
  })
132
- ]
177
+ }, e.value)), a.canAddAccount && /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b(p, {}), /* @__PURE__ */ x(f, {
178
+ value: w,
179
+ className: "ttw:font-semibold ttw:text-primary ttw:hover:text-primary ttw:focus:text-primary",
180
+ children: [/* @__PURE__ */ b(S, { className: "ttw:text-primary" }), j.bankAccountAddOption]
181
+ })] })] })]
133
182
  }),
134
- /* @__PURE__ */ s(r, {
135
- variant: "caption",
136
- color: "muted",
137
- children: E.attachmentsFormatsHint
138
- })
183
+ /* @__PURE__ */ b(s, { errors: o ? [{ message: o }] : [] })
139
184
  ]
140
185
  }),
141
- m.countLimitMessage && /* @__PURE__ */ s(r, {
142
- variant: "body2",
143
- role: "alert",
144
- className: "ttw:text-destructive",
145
- children: m.countLimitMessage
186
+ a.kind === "form" && /* @__PURE__ */ x("div", {
187
+ className: "ttw:flex ttw:flex-col ttw:gap-2",
188
+ "data-invalid": o ? !0 : void 0,
189
+ children: [/* @__PURE__ */ b(E, {
190
+ idPrefix: i,
191
+ values: a.values,
192
+ errors: a.errors,
193
+ canCancel: a.canCancel,
194
+ isSaving: a.isSaving,
195
+ labels: j,
196
+ onChange: D,
197
+ onSave: O,
198
+ onCancel: k
199
+ }), /* @__PURE__ */ b(s, { errors: o ? [{ message: o }] : [] })]
146
200
  }),
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)
201
+ a.kind === "restricted" && /* @__PURE__ */ x(e, {
202
+ className: "ttw:border-transparent ttw:bg-yellow-50 ttw:text-yellow-900 ttw:dark:bg-yellow-950 ttw:dark:text-yellow-100",
203
+ children: [
204
+ /* @__PURE__ */ b(C, {}),
205
+ /* @__PURE__ */ b(n, { children: j.bankAccountRestrictedTitle }),
206
+ /* @__PURE__ */ b(t, {
207
+ className: "ttw:text-current",
208
+ children: j.bankAccountRestrictedDescription
209
+ })
210
+ ]
156
211
  })
157
212
  ]
158
213
  });
159
214
  }
160
215
  //#endregion
161
- export { m as ReceivableAttachmentsSection };
216
+ export { D as ReceivableBankAccountSection };
@@ -1,16 +1,161 @@
1
- import { jsx as e, jsxs as t } from "react/jsx-runtime";
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_DIALOG_LABELS_EN as a } from "./index14.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";
2
5
  //#region ../../libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index17.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
- })]
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
+ ]
13
158
  });
14
159
  }
15
160
  //#endregion
16
- export { n as OptionRow };
161
+ export { m as ReceivableAttachmentsSection };
@@ -1,25 +1,16 @@
1
- import { cn as e } from "../../../../../packages/shared-ui-shadcn/dist/index.js";
2
- import { OptionRow as t } from "./index17.js";
3
- import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
- import { CalendarIcon as i } from "lucide-react";
1
+ import { jsx as e, jsxs as t } from "react/jsx-runtime";
5
2
  //#region ../../libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index18.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", {
3
+ function n({ option: n }) {
4
+ return /* @__PURE__ */ t("span", {
11
5
  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", {
6
+ children: [/* @__PURE__ */ e("span", {
7
+ className: "ttw:truncate",
8
+ children: n.label
9
+ }), n.dueDateLabel && /* @__PURE__ */ e("span", {
19
10
  className: "ttw:shrink-0 ttw:text-xs ttw:text-muted-foreground",
20
- children: o.paymentTermsCustomDate
11
+ children: n.dueDateLabel
21
12
  })]
22
- }) : a?.kind === "term" ? /* @__PURE__ */ n(t, { option: a.option }) : null;
13
+ });
23
14
  }
24
15
  //#endregion
25
- export { a as SelectionValue };
16
+ export { n as OptionRow };
@@ -1,4 +1,25 @@
1
+ import { cn as e } from "../../../../../packages/shared-ui-shadcn/dist/index.js";
2
+ import { OptionRow as t } from "./index18.js";
3
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
+ import { CalendarIcon as i } from "lucide-react";
1
5
  //#region ../../libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index19.js
2
- var e = "receipt_due", t = "custom";
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
+ }
3
24
  //#endregion
4
- export { t as RECEIVABLE_PAYMENT_TERMS_CUSTOM_DATE, e as RECEIVABLE_PAYMENT_TERMS_RECEIPT_DUE };
25
+ export { a as SelectionValue };