@tesouro/embedded-components-react 0.5.214 → 0.5.215

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 (74) hide show
  1. package/dist/index.d.ts +88 -1
  2. package/dist/index.js +1 -1
  3. package/dist/lib/ReceivablesWidget.d.ts +88 -1
  4. package/dist/lib/ReceivablesWidget.js +1 -1
  5. package/dist/libs/shared/util-validation/dist/index5.js +7 -0
  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/index10.js +63 -67
  8. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index11.js +160 -1
  9. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index12.js +6 -0
  10. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index2.js +32 -25
  11. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index6.js +25 -200
  12. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index7.js +175 -1
  13. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index8.js +1 -101
  14. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/data-access/dist/index9.js +92 -71
  15. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index.js +1 -1
  16. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index10.js +44 -100
  17. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index11.js +93 -421
  18. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index12.js +442 -112
  19. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index13.js +166 -157
  20. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index14.js +150 -204
  21. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index15.js +202 -31
  22. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index16.js +32 -145
  23. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index17.js +145 -37
  24. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index18.js +44 -58
  25. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index19.js +113 -87
  26. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index20.js +58 -116
  27. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index21.js +83 -357
  28. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index22.js +111 -65
  29. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index23.js +449 -99
  30. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index24.js +68 -281
  31. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index25.js +115 -0
  32. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index26.js +314 -0
  33. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index5.js +1 -1
  34. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index6.js +34 -23
  35. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index8.js +444 -92
  36. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index9.js +113 -52
  37. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index.js +18 -14
  38. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index10.js +2 -92
  39. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index11.js +95 -3
  40. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index12.js +3 -24
  41. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index13.js +24 -1
  42. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index14.js +1 -3
  43. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index15.js +1 -1
  44. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index16.js +3 -18
  45. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index17.js +18 -1
  46. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index18.js +0 -3
  47. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index19.js +0 -8
  48. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index20.js +11 -0
  49. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index21.js +1 -264
  50. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index22.js +258 -42
  51. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index23.js +38 -62
  52. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index24.js +61 -463
  53. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index25.js +457 -89
  54. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index26.js +91 -234
  55. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index27.js +89 -82
  56. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index28.js +22 -338
  57. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index29.js +236 -0
  58. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index3.js +26 -204
  59. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index30.js +3 -0
  60. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index31.js +249 -0
  61. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index32.js +93 -0
  62. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index33.js +344 -0
  63. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index4.js +208 -32
  64. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index5.js +29 -202
  65. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index6.js +183 -137
  66. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index7.js +157 -12
  67. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index8.js +10 -19
  68. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index9.js +23 -2
  69. package/dist/libs/tesouro-embedded-components-react/shared/data-access/dist/index.js +40 -40
  70. package/dist/libs/tesouro-embedded-components-react/shared/data-access/dist/lib/rest/@tanstack/react-query.gen.js +167 -156
  71. package/dist/libs/tesouro-embedded-components-react/shared/data-access/dist/lib/rest/sdk.gen.js +66 -34
  72. package/dist/libs/tesouro-embedded-components-react/shared/feature/dist/lib/analytics/build-info.js +1 -1
  73. package/dist/packages/shared-ui-shadcn/dist/index.js +13 -13
  74. package/package.json +1 -1
@@ -1,207 +1,29 @@
1
- import { RECEIVABLE_BILLING_SECTION_LABELS_EN as e } from "./index2.js";
2
1
  //#region ../../libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index3.js
3
- var t = {
4
- draft: "Draft",
5
- issuing: "Issuing",
6
- issued: "Issued",
7
- failed: "Failed",
8
- accepted: "Accepted",
9
- expired: "Expired",
10
- declined: "Declined",
11
- recurring: "Recurring",
12
- partially_paid: "Partially paid",
13
- paid: "Paid",
14
- overdue: "Overdue",
15
- uncollectible: "Written off",
16
- canceled: "Cancelled",
17
- deleted: "Deleted",
18
- unknown: "Unknown"
19
- }, n = {
20
- createButton: "Create",
21
- templateSettingsButton: "Template settings",
22
- searchPlaceholder: "Search by number or customer",
23
- statusFilterAll: "All statuses",
24
- tabInvoices: "Invoices",
25
- tabQuotes: "Quotes",
26
- tabCreditNotes: "Credit notes",
27
- columnDocument: "Document",
28
- columnCustomer: "Customer",
29
- columnStatus: "Status",
30
- columnIssueDate: "Issued",
31
- columnDueDate: "Due",
32
- columnTotal: "Total",
33
- columnAmountDue: "Amount due",
34
- columnActions: "Actions",
35
- openRow: (e) => `View document — ${e}`,
36
- sortByDocument: "Sort by document",
37
- sortByCustomer: "Sort by customer",
38
- sortByStatus: "Sort by status",
39
- sortByIssueDate: "Sort by issue date",
40
- sortByDueDate: "Sort by due date",
41
- sortByTotal: "Sort by total",
42
- actionEdit: "Edit",
43
- actionIssue: "Issue",
44
- actionSend: "Send",
45
- actionRecordPayment: "Record payment",
46
- actionMarkPaid: "Mark as paid",
47
- actionMarkUncollectible: "Mark uncollectible",
48
- actionAccept: "Accept",
49
- actionDecline: "Decline",
50
- actionCancel: "Cancel",
51
- actionClone: "Clone",
52
- actionDelete: "Delete",
53
- emptyTitle: "No receivables yet",
54
- emptyDescription: "Create your first invoice or quote.",
55
- emptyAction: "Create receivable",
56
- filterEmptyTitle: "No receivables found",
57
- filterEmptyDescription: "Try adjusting your search or filters.",
58
- errorTitle: "Failed to load receivables",
59
- errorDescription: "Something went wrong while fetching receivables. Please try again.",
60
- errorRetry: "Try again",
61
- statusBadge: t
62
- }, r = {
63
- ...e,
64
- createTitle: "Create receivable",
65
- editTitle: "Edit receivable",
66
- hiddenDescription: "Create an invoice or quote",
67
- documentTypeLabel: "Document type",
68
- typeInvoice: "Invoice",
69
- typeQuote: "Quote",
70
- customerLabel: "Customer",
71
- customerHint: "Create a customer first if the list is empty.",
72
- currencyLabel: "Currency",
73
- issueDateLabel: "Issue date",
74
- dueDateLabel: "Due date",
75
- lineItemsHeading: "Products and services",
76
- lineItemsDescription: "Add the products and services on this invoice. You'll have the option to save new items to your inventory.",
77
- productLabel: "Item name",
78
- quantityLabel: "Quantity",
79
- unitLabel: "Units",
80
- unitPlaceholder: "Select",
81
- unitNone: "None",
82
- manageUnitsOption: "Manage measure units",
83
- priceLabel: "Price",
84
- taxableLabel: "Taxable",
85
- taxRateLabel: "Tax rate",
86
- taxRatePlaceholder: "e.g. 6.25",
87
- taxRateSuffix: "%",
88
- discountLabel: "Discount",
89
- discountPercentageOption: "%",
90
- discountAmountOptionAriaLabel: "Flat discount",
91
- discountPercentageOptionAriaLabel: "Percentage discount",
92
- subtotalLabel: "Subtotal",
93
- discountTotalLabel: "Discount",
94
- nonTaxableSubtotalLabel: "Non-taxable subtotal",
95
- taxableSubtotalLabel: "Taxable subtotal",
96
- taxTotalLabel: "Tax",
97
- totalLabel: "Total",
98
- decreaseQuantityButton: "Decrease quantity",
99
- increaseQuantityButton: "Increase quantity",
100
- addLineItemButton: "Add item",
101
- removeLineItemButton: "Remove line item",
102
- cancelButton: "Cancel",
103
- createButton: "Create",
104
- updateButton: "Update",
105
- notesHeading: "Notes",
106
- notesDescription: "Provide additional information for your customer.",
107
- optionalSuffix: "(optional)",
108
- openingNoteLabel: "Opening note to the customer",
109
- openingNotePlaceholder: "e.g., As discussed on our call, please find the attached invoice.",
110
- openingNoteDescription: "Appears above your line items. Use it to reference a discussion, agreement, or project.",
111
- closingNoteLabel: "Closing note to the customer",
112
- closingNotePlaceholder: "e.g., Thank you for your business!",
113
- closingNoteDescription: "Appears below your line items. Commonly used for thank you messages or payment instructions.",
114
- bankAccountHeading: "Payment instructions",
115
- bankAccountDescription: "Tells the customer how they can pay you. We'll include the selected info on the invoice",
116
- bankAccountLabel: "Bank account",
117
- bankAccountHint: "Display your bank account number and routing number",
118
- bankAccountSelectorLabel: "Bank account selector",
119
- bankAccountPlaceholder: "Select bank account",
120
- bankAccountAddOption: "Add a new account",
121
- bankAccountFormHeading: "Add a bank account",
122
- bankAccountRoutingNumberLabel: "Routing number",
123
- bankAccountRoutingNumberPlaceholder: "e.g. 123456789",
124
- bankAccountAccountNumberLabel: "Account number",
125
- bankAccountAccountNumberPlaceholder: "e.g. 123456789",
126
- bankAccountHolderNameLabel: "Account holder name",
127
- bankAccountHolderNamePlaceholder: "e.g. James Smith",
128
- bankAccountNicknameLabel: "Account nickname",
129
- bankAccountNicknamePlaceholder: "e.g. Empire Bank Checking",
130
- bankAccountCancelButton: "Cancel",
131
- bankAccountSaveButton: "Save account",
132
- bankAccountRestrictedTitle: "There are no bank accounts on file for this account",
133
- bankAccountRestrictedDescription: "A bank account is required in order to issue invoices. Contact your company admin to set one up.",
134
- attachmentsHeading: "Attachments",
135
- attachmentsDescription: "Associate additional documents with this invoice for your own reference or to share with the customer. e.g. contracts, photos, terms and conditions, etc.",
136
- attachmentsDropPrompt: "Drop your files here, or",
137
- attachmentsBrowseLink: "browse to upload",
138
- attachmentsFormatsHint: "PDF, DOC, JPG, PNG (max. 3MB)",
139
- remindersToggleLabel: "Payment reminders",
140
- remindersDescription: "Send reminders when an invoice is approaching its due date or past due.",
141
- remindersLibraryNote: "New reminders will be saved to your organization's library and can be managed via Invoice settings",
142
- reminderNumberOfDays: "Number of days",
143
- reminderBefore: "BEFORE",
144
- reminderAfter: "AFTER",
145
- reminderDueDate: "due date",
146
- reminderNone: "No reminder",
147
- reminderBeforeDueInputLabel: "Days before due date",
148
- reminderPlaceholder: "e.g., 3",
149
- reminderAddTermButton: "Add",
150
- reminderClearButton: "Clear",
151
- reminderSaveButton: "Save"
152
- }, i = {
153
- hiddenDescription: "Receivable details",
154
- loadingTitle: "Loading...",
155
- errorTitle: "Receivable not found",
156
- errorDescription: "We could not load this receivable. Please try again.",
157
- summaryHeading: "Summary",
158
- lineItemsHeading: "Line items",
159
- activityHeading: "Activity",
160
- mailsHeading: "Email history",
161
- noLineItems: "No line items.",
162
- noActivity: "No activity yet.",
163
- noMails: "No emails sent yet.",
164
- quantityColumn: "Qty",
165
- unitPriceColumn: "Unit price",
166
- totalColumn: "Total",
167
- closeButton: "Close",
168
- downloadPdfButton: "Download PDF",
169
- editButton: "Edit",
170
- issueButton: "Issue",
171
- sendButton: "Send",
172
- acceptButton: "Accept",
173
- declineButton: "Decline",
174
- recordPaymentButton: "Record payment",
175
- markPaidButton: "Mark as paid",
176
- markUncollectibleButton: "Mark uncollectible",
177
- cancelButton: "Cancel document",
178
- cloneButton: "Clone",
179
- deleteButton: "Delete",
180
- statusBadge: t
181
- }, a = {
182
- title: "Send receivable",
183
- description: "Send this document to the customer by email.",
184
- toLabel: "To",
185
- ccLabel: "CC",
186
- bccLabel: "BCC",
187
- subjectLabel: "Subject",
188
- bodyLabel: "Message",
189
- cancelButton: "Cancel",
190
- sendButton: "Send"
191
- }, o = {
192
- title: "Record payment",
193
- description: "Record a full or partial invoice payment.",
194
- modeLabel: "Payment type",
195
- fullPayment: "Full payment",
196
- partialPayment: "Partial payment",
197
- amountPaidLabel: "Amount paid",
198
- paidAtLabel: "Paid at",
199
- commentLabel: "Comment",
200
- cancelButton: "Cancel",
201
- submitButton: "Record payment"
202
- }, s = {
203
- cancelButton: "Cancel",
204
- confirmButton: "Confirm"
2
+ var e = {
3
+ recurrenceRepeatLabel: "Repeat this invoice",
4
+ recurrenceMonthDayLead: "on the",
5
+ recurrenceMonthDayTrail: "day of every month",
6
+ recurrenceWeekdayLead: "on",
7
+ recurrenceStartOnLabel: "Start on",
8
+ recurrenceEndChoiceLead: "and end",
9
+ recurrenceEndCountLead: "and end after",
10
+ recurrenceDatePlaceholder: "Mon DD, YYYY",
11
+ recurrenceCreationModeQuestion: "When an invoice in the series is created, what should happen?",
12
+ recurrenceCreationModeHint: "(You can change this at any time)",
13
+ recurrenceSetUpEmail: "Set up the email"
14
+ }, t = {
15
+ recurrenceEmailTitle: "Email sent with each invoice",
16
+ recurrenceEmailDescription: "The same recipients, subject, and message are used for every invoice in the series.",
17
+ recurrenceEmailTo: "To",
18
+ recurrenceEmailCc: "Cc",
19
+ recurrenceEmailBcc: "Bcc",
20
+ recurrenceEmailSubject: "Subject",
21
+ recurrenceEmailMessage: "Message",
22
+ recurrenceEmailRecipientPlaceholder: "name@example.com",
23
+ recurrenceEmailMessagePlaceholder: "e.g., Thank you for your business",
24
+ recurrenceEmailFootnote: "Each invoice is finalized and emailed automatically on its schedule.",
25
+ recurrenceEmailCancel: "Cancel",
26
+ recurrenceEmailSave: "Save"
205
27
  };
206
28
  //#endregion
207
- export { n as RECEIVABLES_SCREEN_LABELS_EN, s as RECEIVABLE_ACTION_DIALOG_LABELS_EN, i as RECEIVABLE_DETAILS_SHEET_LABELS_EN, r as RECEIVABLE_FORM_SHEET_LABELS_EN, o as RECEIVABLE_PAYMENT_DIALOG_LABELS_EN, a as RECEIVABLE_SEND_DIALOG_LABELS_EN, t as RECEIVABLE_STATUS_BADGE_LABELS_EN };
29
+ export { t as RECEIVABLE_RECURRENCE_EMAIL_DIALOG_LABELS_EN, e as RECEIVABLE_RECURRENCE_SECTION_LABELS_EN };
@@ -0,0 +1,3 @@
1
+ import "./index3.js";
2
+ import "./index27.js";
3
+ import "./index29.js";
@@ -0,0 +1,249 @@
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 "./index4.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/index31.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 };
@@ -0,0 +1,93 @@
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 "./index4.js";
3
+ import { jsx as d, jsxs as f } from "react/jsx-runtime";
4
+ //#region ../../libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index32.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;
10
+ }
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",
23
+ 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
27
+ }),
28
+ /* @__PURE__ */ f("div", {
29
+ className: "ttw:flex ttw:flex-col ttw:gap-1.5",
30
+ children: [
31
+ /* @__PURE__ */ d(c, { children: C.toLabel }),
32
+ /* @__PURE__ */ d(s, {
33
+ value: g.to,
34
+ onChange: (e) => y({ to: e.target.value })
35
+ }),
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 })
62
+ }),
63
+ /* @__PURE__ */ d(p, { message: _?.subject })
64
+ ]
65
+ }),
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
+ ]
77
+ })
78
+ ]
79
+ }),
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
+ ] })
90
+ });
91
+ }
92
+ //#endregion
93
+ export { m as ReceivableSendDialog, m as default };