@tesouro/embedded-components-react 0.5.221 → 0.5.222

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 (32) hide show
  1. package/dist/index.css +84 -0
  2. package/dist/index.d.ts +25 -0
  3. package/dist/index.js +1 -1
  4. package/dist/lib/ReceivablesWidget.d.ts +25 -0
  5. package/dist/lib/ReceivablesWidget.js +1 -1
  6. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index.js +1 -1
  7. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index13.js +18 -1
  8. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index23.js +219 -453
  9. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index24.js +34 -41
  10. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index25.js +463 -32
  11. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index26.js +39 -77
  12. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index27.js +34 -112
  13. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index28.js +75 -310
  14. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index29.js +121 -0
  15. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index30.js +317 -0
  16. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index9.js +30 -27
  17. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index.js +7 -5
  18. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index28.js +2 -28
  19. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index29.js +4 -236
  20. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index30.js +0 -2
  21. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index31.js +90 -239
  22. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index32.js +24 -89
  23. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index33.js +231 -54
  24. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index34.js +3 -353
  25. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index35.js +249 -0
  26. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index36.js +93 -0
  27. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index37.js +59 -0
  28. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index38.js +353 -0
  29. package/dist/libs/tesouro-embedded-components-react/shared/data-access/dist/lib/useMyEntityQuery.js +8 -8
  30. package/dist/libs/tesouro-embedded-components-react/shared/feature/dist/lib/analytics/build-info.js +1 -1
  31. package/package.json +1 -1
  32. package/dist/libs/tesouro-embedded-components-react/invoicing-widget/ui/dist/index27.js +0 -100
@@ -1,82 +1,44 @@
1
- "use client";
2
- "use client";
3
- "use client";
4
- "use client";
5
- import { buildReceivableRows as e, statusFilterOptions as t, typeForTab as n } from "./index12.js";
6
- import { useReceivablesQuery as r } from "../../data-access/dist/index10.js";
7
- import "../../data-access/dist/index.js";
8
- import { useReceivableStatusCards as i } from "./index25.js";
9
- import { useCallback as a, useEffect as o, useMemo as s, useState as c } from "react";
1
+ import { formatMoney as e, getStatusTone as t } from "./index12.js";
10
2
  //#region ../../libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index26.js
11
- var l = [];
12
- function u({ activeTab: u, messages: f, statusLabels: p }) {
13
- let [m, h] = c([]), [g, _] = c(10), [v, y] = c(), [b, x] = c(""), [S, C] = c(""), [w, T] = c("all");
14
- o(() => {
15
- y(void 0), T("all");
16
- }, [u]), o(() => {
17
- let e = setTimeout(() => {
18
- C(b), y(void 0);
19
- }, 300);
20
- return () => clearTimeout(e);
21
- }, [b]);
22
- let E = m[0]?.id, D = E ? d[E] : void 0, O = m[0] ? m[0].desc ? "desc" : "asc" : void 0, k = r({
23
- type: n(u),
24
- limit: g,
25
- pagination_token: v,
26
- search_text: S || void 0,
27
- status: w === "all" ? void 0 : w,
28
- ...D ? {
29
- sort: D,
30
- order: O
31
- } : {}
32
- }), A = i({
33
- enabled: u === "invoices",
34
- statusFilter: w,
35
- messages: f,
36
- statusLabels: p
37
- }), j = k.data?.data ?? l, M = s(() => new Map(j.map((e) => [e.id, e])), [j]), N = a((e) => M.get(e), [M]), P = s(() => e({
38
- receivables: j,
39
- messages: f
40
- }), [f, j]), F = !!S || w !== "all", I = a((e) => {
41
- let t = typeof e == "function" ? e(m) : e;
42
- h(t), y(void 0);
43
- }, [m]), L = a((e) => {
44
- _(e), y(void 0);
45
- }, []), R = a((e) => {
46
- T(e), y(void 0);
47
- }, []), z = a(() => y(k.data?.next_pagination_token ?? void 0), [k.data?.next_pagination_token]), B = a(() => y(k.data?.prev_pagination_token ?? void 0), [k.data?.prev_pagination_token]), V = a(() => {
48
- k.refetch();
49
- }, [k]);
3
+ var n = [
4
+ "draft",
5
+ "issued",
6
+ "overdue",
7
+ "partially_paid",
8
+ "paid",
9
+ "recurring",
10
+ "canceled",
11
+ "uncollectible"
12
+ ];
13
+ function r(e) {
14
+ let t = n.indexOf(e);
15
+ return t === -1 ? n.length : t;
16
+ }
17
+ function i({ counts: n, amounts: i, statusFilter: a, statusLabels: o, fallback: s }) {
18
+ let c = new Map(Object.entries(o)), l = new Map(i.map((e) => [e.dimension_value, e.metric_value])), u = n.flatMap((e) => e.dimension_value ? [{
19
+ status: e.dimension_value,
20
+ count: e.metric_value
21
+ }] : []), d = u.filter(({ status: e }) => e !== "recurring").reduce((e, { count: t }) => e + t, 0);
50
22
  return {
51
- rows: P,
52
- isLoading: k.isLoading,
53
- isError: k.isError,
54
- sorting: m,
55
- onSortingChange: I,
56
- pageSize: g,
57
- onPageSizeChange: L,
58
- hasNextPage: !!k.data?.next_pagination_token,
59
- hasPrevPage: !!k.data?.prev_pagination_token,
60
- onNextPage: z,
61
- onPrevPage: B,
62
- searchValue: b,
63
- onSearchChange: x,
64
- statusFilter: w,
65
- statusOptions: t(),
66
- onStatusFilterChange: R,
67
- statusCards: A,
68
- isFiltering: F,
69
- onRetry: V,
70
- getReceivableById: N
23
+ kind: "ready",
24
+ all: {
25
+ value: "all",
26
+ countLabel: String(d),
27
+ selected: a === "all"
28
+ },
29
+ statuses: [...u].sort((e, t) => r(e.status) - r(t.status)).map(({ status: n, count: r }) => ({
30
+ value: n,
31
+ statusLabel: c.get(n) ?? o.unknown,
32
+ statusTone: t(n),
33
+ countLabel: String(r),
34
+ amountLabel: e({
35
+ amount: l.get(n) ?? 0,
36
+ currency: "USD",
37
+ fallback: s
38
+ }),
39
+ selected: a === n
40
+ }))
71
41
  };
72
42
  }
73
- var d = {
74
- documentLabel: "document_id",
75
- customerLabel: "counterpart_name",
76
- status: "status",
77
- issueDateLabel: "issue_date",
78
- dueDateLabel: "due_date",
79
- totalLabel: "total_amount"
80
- };
81
43
  //#endregion
82
- export { u as useReceivablesTable };
44
+ export { i as buildReceivableStatusCardsView };
@@ -2,120 +2,42 @@
2
2
  "use client";
3
3
  "use client";
4
4
  "use client";
5
- import { useAnalyticsTrack as e } from "../../../shared/feature/dist/lib/analytics/hooks.js";
6
- import "../../../shared/feature/dist/index.js";
7
- import { ReceivablesWidgetAnalyticsEvent as t } from "./index2.js";
8
- import { RECEIVABLE_STATUS_BADGE_LABELS_EN as n } from "../../ui/dist/index4.js";
9
- import "../../ui/dist/index.js";
10
- import { coerceEnabledTabs as r, resolveInitialTab as i, tabForType as a, typeForTab as o } from "./index12.js";
11
- import { RECEIVABLE_MESSAGE_LABELS_EN as s } from "./index13.js";
12
- import { useReceivableActions as c } from "./index15.js";
13
- import { useReceivableDetails as l } from "./index16.js";
14
- import { hasSelectedText as u } from "../../../shared/product-catalog/feature/dist/lib/helpers.js";
15
- import "../../../shared/product-catalog/feature/dist/index.js";
16
- import { useReceivableForm as d } from "./index23.js";
17
- import { useReceivablesTable as f } from "./index26.js";
18
- import { useCallback as p, useEffect as m, useMemo as h, useState as g } from "react";
5
+ import { useReceivablesAnalyticsQuery as e } from "../../data-access/dist/index12.js";
6
+ import "../../data-access/dist/index.js";
7
+ import { buildReceivableStatusCardsView as t } from "./index26.js";
8
+ import { useMemo as n } from "react";
19
9
  //#region ../../libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index27.js
20
- function _({ counterpartMessageLabels: _, defaultTab: v, embeddedBankName: y, enabledTabs: b, messageLabels: x, onReceivableCreated: S, onReceivableOpened: C, screenLabels: w }) {
21
- let T = e();
22
- m(() => {
23
- T(t.Mounted);
24
- }, [T]);
25
- let E = h(() => ({
26
- ...s,
27
- ...x
28
- }), [x]), D = w?.statusBadge, O = h(() => ({
29
- ...n,
30
- ...D
31
- }), [D]), k = h(() => r(b), [b]), [A, j] = g(() => i({
32
- defaultTab: v,
33
- enabledTabs: k
34
- })), [M, N] = g(), [P, F] = g(!1);
35
- m(() => {
36
- k.includes(A) || j(i({
37
- defaultTab: v,
38
- enabledTabs: k
39
- }));
10
+ function r({ enabled: r, statusFilter: i, messages: a, statusLabels: o }) {
11
+ let s = e({
12
+ enabled: r,
13
+ dimension: "status",
14
+ metric: "id",
15
+ aggregation_function: "count",
16
+ type: "invoice"
17
+ }), c = e({
18
+ enabled: r,
19
+ dimension: "status",
20
+ metric: "total_amount",
21
+ aggregation_function: "summary",
22
+ type: "invoice"
23
+ }), l = s.data?.data, u = c.data?.data, d = s.isPending || c.isPending;
24
+ return n(() => {
25
+ if (r) return d ? { kind: "loading" } : t({
26
+ counts: l ?? [],
27
+ amounts: u ?? [],
28
+ statusFilter: i,
29
+ statusLabels: o,
30
+ fallback: a.notAvailable
31
+ });
40
32
  }, [
41
- A,
42
- v,
43
- k
33
+ u,
34
+ l,
35
+ r,
36
+ d,
37
+ a.notAvailable,
38
+ i,
39
+ o
44
40
  ]);
45
- let I = p((e, t) => {
46
- j(a(t)), N(e), F(!0), S?.(e, t);
47
- }, [S]), L = f({
48
- activeTab: A,
49
- messages: E,
50
- statusLabels: O
51
- }), R = l({
52
- selectedReceivableId: M,
53
- enabled: P,
54
- messages: E
55
- }), z = d({
56
- messages: E,
57
- counterpartMessageLabels: _,
58
- embeddedBankName: y,
59
- onCreated: I
60
- }), B = p(() => {
61
- let e = o(A);
62
- z.openCreate(e === "quote" ? "quote" : "invoice");
63
- }, [A, z.openCreate]), V = c({
64
- selectedReceivable: R.receivable,
65
- messages: E,
66
- onCreated: I,
67
- onDeleted: (e) => {
68
- e === M && (N(void 0), F(!1));
69
- }
70
- }), H = p((e) => {
71
- u() || (N(e.id), F(!0), C?.(e.id, e.type));
72
- }, [C]);
73
- return {
74
- activeTab: A,
75
- enabledTabs: k,
76
- setActiveTab: j,
77
- table: L,
78
- details: R,
79
- detailsOpen: P,
80
- closeDetails: p(() => {
81
- F(!1), N(void 0);
82
- }, []),
83
- form: z,
84
- openCreate: B,
85
- actions: V,
86
- handleRowClick: H,
87
- handleActionClick: p((e, t) => {
88
- let n = L.getReceivableById(t.id);
89
- if (e === "edit") {
90
- if (n) {
91
- z.openEdit(n);
92
- return;
93
- }
94
- N(t.id), F(!0);
95
- return;
96
- }
97
- N(t.id), V.openAction(e, t, n ?? null);
98
- }, [
99
- V,
100
- z.openEdit,
101
- L.getReceivableById
102
- ]),
103
- handleDetailsActionClick: p((e, t) => {
104
- if (e === "edit") {
105
- R.receivable && (z.openEdit(R.receivable), F(!1));
106
- return;
107
- }
108
- V.openAction(e, {
109
- id: t.id,
110
- title: t.title,
111
- type: t.type
112
- }, R.receivable ?? null);
113
- }, [
114
- V,
115
- R.receivable,
116
- z.openEdit
117
- ])
118
- };
119
41
  }
120
42
  //#endregion
121
- export { _ as useReceivablesWidget };
43
+ export { r as useReceivableStatusCards };
@@ -2,316 +2,81 @@
2
2
  "use client";
3
3
  "use client";
4
4
  "use client";
5
- import { Calendar as e, Skeleton as t } from "../../../../../packages/shared-ui-shadcn/dist/index.js";
6
- import { EmbeddedToaster as n } from "../../../shared/ui/dist/lib/EmbeddedToaster.js";
7
- import "../../../shared/ui/dist/index.js";
8
- import { useAnalyticsTrack as r } from "../../../shared/feature/dist/lib/analytics/hooks.js";
9
- import { WidgetProvider as i } from "../../../shared/feature/dist/lib/WidgetProvider/WidgetProvider.js";
10
- import "../../../shared/feature/dist/index.js";
11
- import { CounterpartFormSheet as a } from "../../../shared/counterpart-management/ui/dist/index9.js";
12
- import { CounterpartSelector as o } from "../../../shared/counterpart-management/feature/dist/lib/CounterpartSelector.js";
13
- import "../../../shared/counterpart-management/feature/dist/index.js";
14
- import { ReceivablesWidgetAnalyticsEvent as s, WIDGET_NAME as c } from "./index2.js";
15
- import { PAGE_SIZE_OPTIONS as l } from "./index4.js";
16
- import { ReceivableActionDialog as u } from "../../ui/dist/index5.js";
17
- import { ReceivableBankAccountSection as d } from "../../ui/dist/index6.js";
18
- import { ReceivableBillingSection as f } from "../../ui/dist/index11.js";
19
- import { ReceivableDetailsSheet as p } from "../../ui/dist/index22.js";
20
- import { ReceivableFormSheet as m } from "../../ui/dist/index25.js";
21
- import { ReceivablePaymentDialog as h } from "../../ui/dist/index26.js";
22
- import { ReceivableRecurrenceEmailDialog as g } from "../../ui/dist/index27.js";
23
- import { ReceivableRecurrenceSection as _ } from "../../ui/dist/index29.js";
24
- import { ReceivableRemindersSection as v } from "../../ui/dist/index31.js";
25
- import { ReceivableSendDialog as y } from "../../ui/dist/index32.js";
26
- import { ReceivablesScreen as b } from "../../ui/dist/index34.js";
27
- import "../../ui/dist/index.js";
28
- import { ReceivableAttachmentsSection as x } from "./index5.js";
29
- import { MeasureUnitsManagerContainer as S } from "../../../shared/product-catalog/feature/dist/lib/MeasureUnitsManagerContainer.js";
30
- import { ProductSelector as C } from "../../../shared/product-catalog/feature/dist/lib/ProductSelector.js";
31
- import "../../../shared/product-catalog/feature/dist/index.js";
32
- import { useReceivablesWidget as w } from "./index27.js";
33
- import { useEffect as T, useId as E, useState as D } from "react";
34
- import { Fragment as O, jsx as k, jsxs as A } from "react/jsx-runtime";
5
+ import { buildReceivableRows as e, statusFilterOptions as t, typeForTab as n } from "./index12.js";
6
+ import { useReceivablesQuery as r } from "../../data-access/dist/index10.js";
7
+ import "../../data-access/dist/index.js";
8
+ import { useReceivableStatusCards as i } from "./index27.js";
9
+ import { useCallback as a, useEffect as o, useMemo as s, useState as c } from "react";
35
10
  //#region ../../libs/tesouro-embedded-components-react/invoicing-widget/feature/dist/index28.js
36
- function j({ counterpartFormLabels: i, counterpartMessageLabels: c, defaultTab: j, detailsLabels: M, embeddedBankName: N, enabledTabs: P, formLabels: F, measureUnitDeleteLabels: I, measureUnitsLabels: L, messageLabels: R, onReceivableCreated: z, onReceivableOpened: B, onTemplateSettingsClick: V, pageSizeOptions: H = l, paymentLabels: U, productMessageLabels: W, screenLabels: G, sendLabels: K, actionLabels: q }) {
37
- let J = r();
38
- T(() => {
39
- J(s.Mounted);
40
- }, [J]);
41
- let Y = w({
42
- counterpartMessageLabels: c,
43
- defaultTab: j,
44
- embeddedBankName: N,
45
- enabledTabs: P,
46
- messageLabels: R,
47
- onReceivableCreated: z,
48
- onReceivableOpened: B,
49
- screenLabels: G
50
- }), [X, Z] = D(!1), Q = E(), $ = E(), ee = E(), te = E();
51
- return /* @__PURE__ */ A(O, { children: [
52
- /* @__PURE__ */ k(n, {}),
53
- /* @__PURE__ */ k(b, {
54
- rows: Y.table.rows,
55
- activeTab: Y.activeTab,
56
- enabledTabs: Y.enabledTabs,
57
- onTabChange: Y.setActiveTab,
58
- isLoading: Y.table.isLoading,
59
- isError: Y.table.isError,
60
- sorting: Y.table.sorting,
61
- onSortingChange: Y.table.onSortingChange,
62
- pageSize: Y.table.pageSize,
63
- onPageSizeChange: Y.table.onPageSizeChange,
64
- pageSizeOptions: H,
65
- hasNextPage: Y.table.hasNextPage,
66
- hasPrevPage: Y.table.hasPrevPage,
67
- onNextPage: Y.table.onNextPage,
68
- onPrevPage: Y.table.onPrevPage,
69
- searchValue: Y.table.searchValue,
70
- onSearchChange: Y.table.onSearchChange,
71
- statusFilter: Y.table.statusFilter,
72
- statusOptions: Y.table.statusOptions,
73
- onStatusFilterChange: Y.table.onStatusFilterChange,
74
- statusCards: Y.table.statusCards,
75
- onStatusCardSelect: Y.table.onStatusFilterChange,
76
- isFiltering: Y.table.isFiltering,
77
- onCreateClick: Y.openCreate,
78
- onTemplateSettingsClick: V,
79
- onRowClick: Y.handleRowClick,
80
- onActionClick: Y.handleActionClick,
81
- onRetry: Y.table.onRetry,
82
- labels: G
83
- }),
84
- /* @__PURE__ */ k(m, {
85
- open: Y.form.open,
86
- onOpenChange: (e) => {
87
- e || Y.form.close();
88
- },
89
- mode: Y.form.mode,
90
- values: Y.form.sheetValues,
91
- errors: Y.form.errors,
92
- currencyOptions: Y.form.currencyOptions,
93
- unitOptions: Y.form.lineItemUnitOptions,
94
- currencySymbol: Y.form.currencySymbol,
95
- lineItemControls: Y.form.lineItemControls,
96
- autoFocusLineItemId: Y.form.autoFocusLineItemId,
97
- lineItemsLoading: Y.form.lineItemsLoading,
98
- inProgress: Y.form.isSubmitting,
99
- customerSelector: /* @__PURE__ */ k(o, {
100
- mode: "customer",
101
- value: Y.form.values.customerId || void 0,
102
- onValueChange: (e) => Y.form.updateValues({ customerId: e }),
103
- onCreateClick: Y.form.openCounterpartCreate
104
- }),
105
- renderProductSelector: (e, t) => /* @__PURE__ */ k(C, {
106
- ...t,
107
- inputValue: e.name,
108
- selectedProductId: Y.form.values.lineItems.find((t) => t.id === e.id)?.productId || void 0,
109
- currency: Y.form.values.currency,
110
- maxLength: 100,
111
- onInputValueChange: (t) => Y.form.updateLineItem(e.id, { name: t }),
112
- onProductSelect: (t) => Y.form.selectProduct(e.id, t)
113
- }),
114
- onChange: Y.form.updateValues,
115
- onLineItemChange: Y.form.updateLineItem,
116
- onLineItemCommit: Y.form.commitLineItem,
117
- onLineItemQuantityStep: Y.form.stepLineItem,
118
- onTaxRateCommit: Y.form.commitTaxRate,
119
- onDiscountFocus: Y.form.focusDiscount,
120
- onDiscountCommit: Y.form.commitDiscount,
121
- totals: Y.form.totalsView,
122
- onManageUnits: () => Z(!0),
123
- onAddLineItem: Y.form.addLineItem,
124
- onRemoveLineItem: Y.form.removeLineItem,
125
- showDueDateField: Y.form.showDueDateField,
126
- billingSection: Y.form.showBillingSection && /* @__PURE__ */ k(f, {
127
- idPrefix: Q,
128
- paymentTerms: Y.form.paymentTerms.view,
129
- paymentTermsError: Y.form.errors.paymentTermsId,
130
- disabled: Y.form.isSubmitting,
131
- onPaymentTermsChange: Y.form.paymentTerms.select,
132
- onCustomDatePickerOpenChange: Y.form.paymentTerms.changeCustomDatePickerOpen,
133
- customDateCalendar: /* @__PURE__ */ k(e, {
134
- mode: "single",
135
- captionLayout: "dropdown",
136
- ...Y.form.paymentTerms.calendar,
137
- onSelect: Y.form.paymentTerms.selectCustomDate
138
- }),
139
- recurrenceSection: Y.form.showRecurrenceSection && (Y.form.recurrenceLoading ? /* @__PURE__ */ k(t, { className: "ttw:h-9 ttw:w-full" }) : /* @__PURE__ */ k(_, {
140
- idPrefix: $,
141
- view: Y.form.recurrence.view,
142
- disabled: Y.form.isSubmitting,
143
- onFrequencyChange: Y.form.recurrence.changeFrequency,
144
- onMonthDayChange: Y.form.recurrence.changeMonthDay,
145
- onWeekdayChange: Y.form.recurrence.changeWeekday,
146
- onStartDateChange: Y.form.recurrence.changeStartDate,
147
- onEndModeChange: Y.form.recurrence.changeEndMode,
148
- onEndDateChange: Y.form.recurrence.changeEndDate,
149
- onMaxOccurrencesChange: Y.form.recurrence.changeMaxOccurrences,
150
- onCreationModeChange: Y.form.recurrence.changeCreationMode,
151
- onSetUpEmailClick: Y.form.recurrence.setUpEmail,
152
- emailDialog: /* @__PURE__ */ k(g, {
153
- idPrefix: $,
154
- view: Y.form.recurrence.emailView,
155
- onOpenChange: Y.form.recurrence.changeEmailOpen,
156
- onChange: Y.form.recurrence.changeEmail,
157
- onSave: Y.form.recurrence.saveEmail,
158
- labels: F
159
- }),
160
- labels: F
161
- })),
162
- labels: F
163
- }),
164
- remindersSection: Y.form.reminders.view && /* @__PURE__ */ k(v, {
165
- idPrefix: te,
166
- view: Y.form.reminders.view,
167
- onToggle: Y.form.reminders.toggle,
168
- onPaymentReminderSelect: Y.form.reminders.selectPaymentReminder,
169
- onOverdueReminderSelect: Y.form.reminders.selectOverdueReminder,
170
- onBeforeDueInputChange: Y.form.reminders.changeBeforeDueInput,
171
- onBeforeDueSave: Y.form.reminders.saveBeforeDue,
172
- onOverdueTermChange: Y.form.reminders.changeOverdueTerm,
173
- onOverdueAddTerm: Y.form.reminders.addOverdueTerm,
174
- onOverdueClear: Y.form.reminders.clearOverdueTerms,
175
- onOverdueSave: Y.form.reminders.saveOverdue,
176
- labels: F
177
- }),
178
- bankAccountSection: /* @__PURE__ */ k(d, {
179
- idPrefix: ee,
180
- view: Y.form.bankAccount.view,
181
- disabled: Y.form.isSubmitting,
182
- onAccountSelect: Y.form.bankAccount.selectAccount,
183
- onAddAccountClick: Y.form.bankAccount.openAddAccount,
184
- onFormChange: Y.form.bankAccount.updateAccountForm,
185
- onFormSave: Y.form.bankAccount.saveAccount,
186
- onFormCancel: Y.form.bankAccount.cancelAddAccount,
187
- labels: F
188
- }),
189
- attachmentsSection: Y.form.attachmentsView && /* @__PURE__ */ k(x, {
190
- view: Y.form.attachmentsView,
191
- disabled: Y.form.isSubmitting,
192
- onFilesSelect: Y.form.selectAttachmentFiles,
193
- onIncludeInEmailChange: Y.form.setAttachmentIncludeInEmail,
194
- onRemove: Y.form.removeAttachment,
195
- labels: F
196
- }),
197
- cancelDisabled: Y.form.attachmentsUploading,
198
- saveDisabled: Y.form.saveDisabled,
199
- submitLabel: Y.form.submitLabel,
200
- onSubmit: Y.form.submit,
201
- onCancel: Y.form.close,
202
- labels: F
203
- }),
204
- /* @__PURE__ */ k(p, {
205
- open: Y.detailsOpen,
206
- onOpenChange: (e) => {
207
- e || Y.closeDetails();
208
- },
209
- details: Y.details.detailsView,
210
- isLoading: Y.details.isLoading,
211
- isError: Y.details.isError,
212
- onActionClick: Y.handleDetailsActionClick,
213
- onClose: Y.closeDetails,
214
- labels: M
215
- }),
216
- /* @__PURE__ */ k(y, {
217
- open: Y.actions.sendOpen,
218
- onOpenChange: (e) => {
219
- e || Y.actions.closeSend();
220
- },
221
- values: Y.actions.sendValues,
222
- errors: Y.actions.sendErrors,
223
- inProgress: Y.actions.sendInProgress,
224
- onChange: (e) => Y.actions.setSendValues((t) => ({
225
- ...t,
226
- ...e
227
- })),
228
- onSubmit: Y.actions.submitSend,
229
- onCancel: Y.actions.closeSend,
230
- labels: K
231
- }),
232
- /* @__PURE__ */ k(h, {
233
- open: Y.actions.paymentOpen,
234
- onOpenChange: (e) => {
235
- e || Y.actions.closePayment();
236
- },
237
- values: Y.actions.paymentValues,
238
- errors: Y.actions.paymentErrors,
239
- inProgress: Y.actions.paymentInProgress,
240
- onChange: (e) => Y.actions.setPaymentValues((t) => ({
241
- ...t,
242
- ...e
243
- })),
244
- onSubmit: Y.actions.submitPayment,
245
- onCancel: Y.actions.closePayment,
246
- labels: U
247
- }),
248
- Y.actions.actionDialog && /* @__PURE__ */ k(u, {
249
- open: !!Y.actions.actionTarget,
250
- onOpenChange: (e) => {
251
- e || Y.actions.closeAction();
252
- },
253
- title: Y.actions.actionDialog.title,
254
- description: Y.actions.actionDialog.description,
255
- confirmLabel: Y.actions.actionDialog.confirmLabel,
256
- destructive: Y.actions.actionDialog.destructive,
257
- error: Y.actions.actionError,
258
- inProgress: Y.actions.actionInProgress,
259
- onConfirm: Y.actions.confirmAction,
260
- onCancel: Y.actions.closeAction,
261
- labels: q
262
- }),
263
- /* @__PURE__ */ k(a, {
264
- open: Y.form.counterpartView === "create",
265
- onOpenChange: (e) => {
266
- e || Y.form.counterpartForm.close();
267
- },
268
- mode: "create",
269
- values: Y.form.counterpartForm.values,
270
- errors: Y.form.counterpartForm.errors,
271
- stateOptions: Y.form.stateOptions,
272
- inProgress: Y.form.counterpartForm.isSubmitting,
273
- onChange: (e) => Y.form.counterpartForm.setValues((t) => ({
274
- ...t,
275
- ...e
276
- })),
277
- onAddressChange: (e) => Y.form.counterpartForm.setValues((t) => ({
278
- ...t,
279
- address: {
280
- ...t.address,
281
- ...e
282
- }
283
- })),
284
- onSubmit: Y.form.counterpartForm.submit,
285
- onCancel: Y.form.counterpartForm.close,
286
- labels: i
287
- }),
288
- /* @__PURE__ */ k(S, {
289
- open: X,
290
- onClose: () => Z(!1),
291
- managerLabels: L,
292
- deleteLabels: I,
293
- messageLabels: W
294
- })
295
- ] });
296
- }
297
- function M({ baseUrl: e, widgetToken: t, organizationId: n, configClient: r, gatewayRouting: a, linkComponent: o, implementation: s, uiFramework: l, errorFallback: u, onError: d, analytics: f, disclosuresAcceptance: p, providerLabels: m, ...h }) {
298
- return /* @__PURE__ */ k(i, {
299
- widgetName: c,
300
- baseUrl: e,
301
- widgetToken: t,
302
- organizationId: n,
303
- configClient: r,
304
- gatewayRouting: a,
305
- linkComponent: o,
306
- implementation: s,
307
- uiFramework: l,
308
- errorFallback: u,
309
- onError: d,
310
- analytics: f,
311
- disclosuresAcceptance: p,
312
- providerLabels: m,
313
- children: /* @__PURE__ */ k(j, { ...h })
314
- });
11
+ var l = [];
12
+ function u({ activeTab: u, messages: f, statusLabels: p }) {
13
+ let [m, h] = c([]), [g, _] = c(10), [v, y] = c(), [b, x] = c(""), [S, C] = c(""), [w, T] = c("all");
14
+ o(() => {
15
+ y(void 0), T("all");
16
+ }, [u]), o(() => {
17
+ let e = setTimeout(() => {
18
+ C(b), y(void 0);
19
+ }, 300);
20
+ return () => clearTimeout(e);
21
+ }, [b]);
22
+ let E = m[0]?.id, D = E ? d[E] : void 0, O = m[0] ? m[0].desc ? "desc" : "asc" : void 0, k = r({
23
+ type: n(u),
24
+ limit: g,
25
+ pagination_token: v,
26
+ search_text: S || void 0,
27
+ status: w === "all" ? void 0 : w,
28
+ ...D ? {
29
+ sort: D,
30
+ order: O
31
+ } : {}
32
+ }), A = i({
33
+ enabled: u === "invoices",
34
+ statusFilter: w,
35
+ messages: f,
36
+ statusLabels: p
37
+ }), j = k.data?.data ?? l, M = s(() => new Map(j.map((e) => [e.id, e])), [j]), N = a((e) => M.get(e), [M]), P = s(() => e({
38
+ receivables: j,
39
+ messages: f
40
+ }), [f, j]), F = !!S || w !== "all", I = a((e) => {
41
+ let t = typeof e == "function" ? e(m) : e;
42
+ h(t), y(void 0);
43
+ }, [m]), L = a((e) => {
44
+ _(e), y(void 0);
45
+ }, []), R = a((e) => {
46
+ T(e), y(void 0);
47
+ }, []), z = a(() => y(k.data?.next_pagination_token ?? void 0), [k.data?.next_pagination_token]), B = a(() => y(k.data?.prev_pagination_token ?? void 0), [k.data?.prev_pagination_token]), V = a(() => {
48
+ k.refetch();
49
+ }, [k]);
50
+ return {
51
+ rows: P,
52
+ isLoading: k.isLoading,
53
+ isError: k.isError,
54
+ sorting: m,
55
+ onSortingChange: I,
56
+ pageSize: g,
57
+ onPageSizeChange: L,
58
+ hasNextPage: !!k.data?.next_pagination_token,
59
+ hasPrevPage: !!k.data?.prev_pagination_token,
60
+ onNextPage: z,
61
+ onPrevPage: B,
62
+ searchValue: b,
63
+ onSearchChange: x,
64
+ statusFilter: w,
65
+ statusOptions: t(),
66
+ onStatusFilterChange: R,
67
+ statusCards: A,
68
+ isFiltering: F,
69
+ onRetry: V,
70
+ getReceivableById: N
71
+ };
315
72
  }
73
+ var d = {
74
+ documentLabel: "document_id",
75
+ customerLabel: "counterpart_name",
76
+ status: "status",
77
+ issueDateLabel: "issue_date",
78
+ dueDateLabel: "due_date",
79
+ totalLabel: "total_amount"
80
+ };
316
81
  //#endregion
317
- export { M as ReceivablesWidget, M as default };
82
+ export { u as useReceivablesTable };