@tesouro/embedded-components-react 0.3.19 → 0.3.20

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 (58) hide show
  1. package/dist/index.js +1 -1
  2. package/dist/lib/BillPayWidget.js +1 -1
  3. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index.js +4 -4
  4. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index10.js +2 -2
  5. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index29.js +1 -1
  6. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index41.js +1 -1
  7. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index56.js +1 -1
  8. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index58.js +14 -1
  9. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index60.js +4 -1
  10. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index61.js +3 -1
  11. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index62.js +28 -97
  12. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index63.js +81 -176
  13. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index64.js +50 -4
  14. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index65.js +250 -5
  15. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index66.js +106 -107
  16. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index67.js +209 -1
  17. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index68.js +3 -24
  18. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index69.js +8 -0
  19. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index7.js +2 -2
  20. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index70.js +114 -0
  21. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index71.js +1 -0
  22. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index72.js +25 -0
  23. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index.js +21 -17
  24. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index52.js +2 -0
  25. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index59.js +36 -11
  26. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index60.js +10 -283
  27. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index61.js +199 -8
  28. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index62.js +3 -8
  29. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index63.js +14 -91
  30. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index64.js +314 -0
  31. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index65.js +10 -2
  32. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index66.js +4 -14
  33. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index67.js +85 -105
  34. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index69.js +2 -7
  35. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index70.js +16 -28
  36. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index71.js +113 -2
  37. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index72.js +2 -7
  38. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index73.js +5 -32
  39. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index74.js +30 -2
  40. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index75.js +2 -12
  41. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index76.js +5 -104
  42. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index77.js +34 -2
  43. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index78.js +2 -18
  44. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index79.js +9 -7
  45. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index80.js +81 -145
  46. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index81.js +1 -1
  47. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index82.js +15 -11
  48. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index83.js +8 -87
  49. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index84.js +170 -2
  50. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index85.js +2 -0
  51. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index86.js +14 -0
  52. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index87.js +89 -0
  53. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index88.js +2 -0
  54. package/dist/libs/tesouro-embedded-components-react/shared/feature/dist/lib/analytics/build-info.js +1 -1
  55. package/dist/libs/tesouro-embedded-components-react/widget-suite/feature/dist/index7.js +1 -1
  56. package/dist/packages/shared-ui-shadcn/dist/index.js +16 -11
  57. package/package.json +1 -1
  58. package/dist/libs/tesouro-embedded-components-react/bill-pay-widget/ui/dist/index68.js +0 -2
@@ -1,8 +1,253 @@
1
+ "use client";
2
+ "use client";
3
+ "use client";
4
+ "use client";
5
+ import { formatMoneyExact as e } from "../../../shared/util/dist/lib/formatMoneyExact.js";
6
+ import { BillsFilterField as t } from "../../ui/dist/index60.js";
7
+ import "../../ui/dist/index.js";
8
+ import "../../data-access/dist/index.js";
9
+ import { getCounterpartName as n } from "../../../shared/counterpart-management/feature/dist/lib/helpers.js";
10
+ import { useCounterpartsQuery as r } from "../../../shared/counterpart-management/data-access/dist/index3.js";
11
+ import "../../../shared/counterpart-management/feature/dist/index.js";
12
+ import { BILL_STATUS_FILTER_ORDER as i, billStatusFilterApiValues as a } from "./index62.js";
13
+ import { BillsDatePreset as o, resolveDatePreset as s } from "./index63.js";
14
+ import { BILLS_FILTER_LABELS_EN as c } from "./index64.js";
15
+ import { useCallback as l, useEffect as u, useMemo as d, useState as f } from "react";
16
+ import { format as p, formatISO as m } from "date-fns";
1
17
  //#region ../../libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index65.js
2
- var e = {
3
- bills: "Bills",
4
- vendors: "Vendors",
5
- settings: "Settings"
18
+ var h = {
19
+ Date: "date",
20
+ Status: "status",
21
+ Amount: "amount",
22
+ Vendor: "vendor",
23
+ Attachment: "attachment"
24
+ }, g = 50, _ = 300, v = "MMM d, yyyy", y = 864e5, b = {
25
+ [t.IssueDate]: "issued_at",
26
+ [t.DueDate]: "due_date",
27
+ [t.AddedOn]: "created_at"
28
+ }, x = {
29
+ [o.Today]: "current",
30
+ [o.ThisWeek]: "current",
31
+ [o.ThisMonth]: "current",
32
+ [o.ThisQuarter]: "current",
33
+ [o.ThisYear]: "current",
34
+ [o.Yesterday]: "past",
35
+ [o.LastWeek]: "past",
36
+ [o.LastMonth]: "past",
37
+ [o.Last30Days]: "past",
38
+ [o.Last90Days]: "past",
39
+ [o.LastQuarter]: "past",
40
+ [o.LastYear]: "past"
6
41
  };
42
+ function S() {
43
+ return {
44
+ dateField: t.DueDate,
45
+ statuses: [],
46
+ amountMode: "any",
47
+ amountMin: "",
48
+ amountMax: "",
49
+ vendorIds: []
50
+ };
51
+ }
52
+ function C(e) {
53
+ let t = Number.parseFloat(e);
54
+ return Number.isFinite(t) ? Math.round(t * 100) : void 0;
55
+ }
56
+ function w({ offersStatusFilter: o = !1, offersVendorFilter: w = !0, isVendorFilterPaused: T = !1, onFiltersChange: E, labels: D } = {}) {
57
+ let O = d(() => ({
58
+ ...c,
59
+ ...D,
60
+ presets: {
61
+ ...c.presets,
62
+ ...D?.presets
63
+ },
64
+ statuses: {
65
+ ...c.statuses,
66
+ ...D?.statuses
67
+ },
68
+ dateFieldNames: {
69
+ ...c.dateFieldNames,
70
+ ...D?.dateFieldNames
71
+ }
72
+ }), [D]), [k, A] = f(S), [j, M] = f({}), [N, P] = f(""), [F, I] = f(""), L = l((e) => {
73
+ A((t) => ({
74
+ ...t,
75
+ ...e
76
+ })), E?.();
77
+ }, [E]);
78
+ u(() => {
79
+ w || A((e) => e.vendorIds.length === 0 ? e : (E?.(), {
80
+ ...e,
81
+ vendorIds: []
82
+ }));
83
+ }, [w, E]), u(() => {
84
+ o || A((e) => e.statuses.length === 0 ? e : (E?.(), {
85
+ ...e,
86
+ statuses: []
87
+ }));
88
+ }, [o, E]), u(() => {
89
+ let e = setTimeout(() => I(N.trim()), _);
90
+ return () => clearTimeout(e);
91
+ }, [N]);
92
+ let R = r({
93
+ enabled: w && !T,
94
+ is_vendor: !0,
95
+ sort: "counterpart_name",
96
+ order: "asc",
97
+ limit: g,
98
+ counterpart_name__icontains: F || void 0
99
+ }), z = d(() => (R.data?.data ?? []).map((e) => ({
100
+ value: e.id,
101
+ label: n(e)
102
+ })), [R.data?.data]), B = d(() => i.map((e) => ({
103
+ value: e,
104
+ label: O.statuses[e]
105
+ })), [O.statuses]), V = d(() => Object.entries(x).map(([e, t]) => ({
106
+ value: e,
107
+ label: O.presets[e],
108
+ group: t === "current" ? O.presetGroupCurrent : O.presetGroupPast
109
+ })), [
110
+ O.presetGroupCurrent,
111
+ O.presetGroupPast,
112
+ O.presets
113
+ ]), H = d(() => {
114
+ let e = {}, t = b[k.dateField], n = (e) => Date.UTC(e.getFullYear(), e.getMonth(), e.getDate());
115
+ if (k.dateFrom && (e[`${t}__gte`] = t === "created_at" ? new Date(n(k.dateFrom)).toISOString() : m(k.dateFrom, { representation: "date" })), k.dateTo && (t === "created_at" ? e.created_at__lt = new Date(n(k.dateTo) + y).toISOString() : e[`${t}__lte`] = m(k.dateTo, { representation: "date" })), k.statuses.length > 0 && (e.status__in = a(k.statuses)), k.amountMode !== "any") {
116
+ let t = "total_amount__gte", n = "total_amount__lte", r = C(k.amountMin), i = C(k.amountMax);
117
+ k.amountMode === "exact" ? r !== void 0 && (e[t] = r, e[n] = r) : (r !== void 0 && (e[t] = r), i !== void 0 && (e[n] = i));
118
+ }
119
+ return k.vendorIds.length > 0 && (e.counterpart_id__in = [...k.vendorIds]), k.hasFile !== void 0 && (e.has_file = k.hasFile), e;
120
+ }, [k]), U = d(() => {
121
+ let t = [], n = (e) => p(e, v), r = (e) => {
122
+ let [t, ...n] = e;
123
+ return t ? n.length === 0 ? t : O.moreSelected(t, n.length) : "";
124
+ };
125
+ if (k.dateFrom || k.dateTo) {
126
+ let e = (k.datePreset ? O.presets[k.datePreset] : void 0) ?? (k.dateFrom && k.dateTo ? O.dateRange(n(k.dateFrom), n(k.dateTo)) : k.dateFrom ? O.dateFrom(n(k.dateFrom)) : O.dateTo(n(k.dateTo)));
127
+ t.push({
128
+ key: h.Date,
129
+ label: O.dateChip(O.dateFieldNames[k.dateField], e)
130
+ });
131
+ }
132
+ if (k.statuses.length > 0 && t.push({
133
+ key: h.Status,
134
+ label: O.statusChip(r(k.statuses.map((e) => O.statuses[e] ?? e)))
135
+ }), k.vendorIds.length > 0 && t.push({
136
+ key: h.Vendor,
137
+ label: O.vendorChip(r(k.vendorIds.map((e) => j[e] ?? e)))
138
+ }), k.amountMode !== "any") {
139
+ let n = (t) => {
140
+ let n = Number.parseFloat(t);
141
+ return Number.isFinite(n) ? e(n, { currencyCode: "USD" }) : "";
142
+ }, r = n(k.amountMin), i = n(k.amountMax), a = k.amountMode === "exact" ? r : r && i ? O.amountBetween(r, i) : r ? O.amountAtLeast(r) : i ? O.amountAtMost(i) : "";
143
+ a && t.push({
144
+ key: h.Amount,
145
+ label: O.amountChip(a)
146
+ });
147
+ }
148
+ return k.hasFile !== void 0 && t.push({
149
+ key: h.Attachment,
150
+ label: k.hasFile ? O.attachmentChipHas : O.attachmentChipNone
151
+ }), t;
152
+ }, [
153
+ O,
154
+ k,
155
+ j
156
+ ]), W = l((e) => {
157
+ switch (e) {
158
+ case h.Date:
159
+ L({
160
+ datePreset: void 0,
161
+ dateFrom: void 0,
162
+ dateTo: void 0
163
+ });
164
+ break;
165
+ case h.Status:
166
+ L({ statuses: [] });
167
+ break;
168
+ case h.Vendor:
169
+ L({ vendorIds: [] });
170
+ break;
171
+ case h.Amount:
172
+ L({
173
+ amountMode: "any",
174
+ amountMin: "",
175
+ amountMax: ""
176
+ });
177
+ break;
178
+ case h.Attachment: L({ hasFile: void 0 });
179
+ }
180
+ }, [L]), G = l(() => {
181
+ A(S()), E?.();
182
+ }, [E]), K = l((e) => {
183
+ M((t) => {
184
+ let n = { ...t };
185
+ for (let t of z) e.includes(t.value) && (n[t.value] = t.label);
186
+ return n;
187
+ }), L({ vendorIds: e });
188
+ }, [L, z]);
189
+ return {
190
+ filterBarProps: {
191
+ fields: [...d(() => [
192
+ ...w ? [t.Vendor] : [],
193
+ t.IssueDate,
194
+ t.DueDate,
195
+ ...o ? [t.Status] : [],
196
+ t.TotalAmount,
197
+ t.AddedOn,
198
+ t.Attachment
199
+ ], [o, w])],
200
+ activeFilterCount: U.length,
201
+ chips: U,
202
+ onRemoveChip: W,
203
+ onClearAll: G,
204
+ dateField: k.dateField,
205
+ onDateFieldChange: (e) => {
206
+ let t = !!(k.dateFrom || k.dateTo);
207
+ A((t) => ({
208
+ ...t,
209
+ dateField: e
210
+ })), t && E?.();
211
+ },
212
+ datePresets: V,
213
+ selectedDatePreset: k.datePreset,
214
+ dateFrom: k.dateFrom,
215
+ dateTo: k.dateTo,
216
+ onDateRangeChange: ({ from: e, to: t }) => L({
217
+ datePreset: void 0,
218
+ dateFrom: e,
219
+ dateTo: t
220
+ }),
221
+ onDatePresetChange: (e) => {
222
+ let n = /* @__PURE__ */ new Date(), r = k.dateField === t.AddedOn ? new Date(n.getUTCFullYear(), n.getUTCMonth(), n.getUTCDate()) : n, { from: i, to: a } = s(e, r);
223
+ L({
224
+ datePreset: e,
225
+ dateFrom: i,
226
+ dateTo: a
227
+ });
228
+ },
229
+ statusOptions: B,
230
+ selectedStatuses: k.statuses,
231
+ onStatusChange: (e) => L({ statuses: e }),
232
+ amountMode: k.amountMode,
233
+ onAmountModeChange: (e) => L({ amountMode: e }),
234
+ amountMin: k.amountMin,
235
+ amountMax: k.amountMax,
236
+ onAmountMinChange: (e) => L({ amountMin: e }),
237
+ onAmountMaxChange: (e) => L({ amountMax: e }),
238
+ vendorOptions: z,
239
+ selectedVendors: k.vendorIds,
240
+ onVendorChange: K,
241
+ vendorSearchValue: N,
242
+ onVendorSearchChange: P,
243
+ isVendorLoading: R.isLoading || T,
244
+ isVendorError: R.isError,
245
+ hasAttachment: k.hasFile,
246
+ onHasAttachmentChange: (e) => L({ hasFile: e })
247
+ },
248
+ query: H,
249
+ isFilterActive: U.length > 0
250
+ };
251
+ }
7
252
  //#endregion
8
- export { e as DEFAULT_TABS_LABELS };
253
+ export { h as BillsFilterChipKey, w as useBillsFilters };
@@ -2,113 +2,112 @@
2
2
  "use client";
3
3
  "use client";
4
4
  "use client";
5
- import { hasAnyScope as e } from "../../../shared/data-access/dist/lib/hasAnyScope.js";
6
- import { Scope as t } from "../../../shared/data-access/dist/lib/scopes.js";
7
- import "../../../shared/data-access/dist/index.js";
8
- import { EmbeddedToaster as n } from "../../../shared/ui/dist/lib/EmbeddedToaster.js";
9
- import "../../../shared/ui/dist/index.js";
10
- import { useAnalyticsTrack as r } from "../../../shared/feature/dist/lib/analytics/hooks.js";
11
- import { WidgetProvider as i } from "../../../shared/feature/dist/lib/WidgetProvider/WidgetProvider.js";
12
- import { useWidgetConfig as a } from "../../../shared/feature/dist/lib/WidgetProvider/hooks.js";
13
- import "../../../shared/feature/dist/index.js";
14
- import { BillPayWidgetUi as o } from "../../ui/dist/index44.js";
15
- import { BillUploadStatusTray as s } from "../../ui/dist/index63.js";
16
- import "../../ui/dist/index.js";
17
- import { ApprovalPoliciesSettings as c } from "../../../shared/approval-policy/feature/dist/lib/ApprovalPoliciesSettings.js";
18
- import "../../../shared/approval-policy/feature/dist/index.js";
19
- import { useBillUploadQueue as l } from "./index52.js";
20
- import "./index53.js";
21
- import { billsTabTestIds as u } from "./index61.js";
22
- import { BillsTab as d } from "./index63.js";
23
- import "./index64.js";
24
- import { BillPayWidgetAnalyticsEvent as f, WIDGET_NAME as p } from "./index47.js";
25
- import { DEFAULT_TABS_LABELS as m } from "./index65.js";
26
- import { CounterpartsWidget as h } from "../../../counterparts-widget/feature/dist/index8.js";
27
- import "../../../counterparts-widget/feature/dist/index.js";
28
- import { useCallback as g, useEffect as _, useState as v } from "react";
29
- import { Fragment as y, jsx as b, jsxs as x } from "react/jsx-runtime";
5
+ import { formatCalendarDate as e } from "../../../shared/util/dist/lib/formatCalendarDate.js";
6
+ import { formatMoneyExact as t } from "../../../shared/util/dist/lib/formatMoneyExact.js";
7
+ import { resolveVendorName as n } from "./index3.js";
8
+ import { usePayablesQuery as r, usePayablesTotalCountQuery as i } from "../../data-access/dist/index13.js";
9
+ import "../../data-access/dist/index.js";
10
+ import { derivePayableStatus as a } from "./index22.js";
11
+ import { BillQueue as o, DEFAULT_BILL_QUEUE as s, billQueueColumns as c, billQueueHasScheduledPayment as l, billQueueOffersAddPanel as u, billQueueStatuses as d, billSortColumnId as f, billSortField as p } from "./index58.js";
12
+ import { useBillsFilters as m } from "./index65.js";
13
+ import { useCallback as h, useEffect as g, useMemo as _, useState as v } from "react";
30
14
  //#region ../../libs/tesouro-embedded-components-react/bill-pay-widget/feature/dist/index66.js
31
- var S = {
32
- Bills: "bills",
33
- Vendors: "vendors",
34
- Settings: "settings"
35
- }, C = [
36
- S.Bills,
37
- S.Vendors,
38
- S.Settings
39
- ];
40
- function w({ labels: i, tabsLabels: p, approvalPolicyLabels: w, approvalPolicyComponentLabels: T, vendorLabels: E, poweredByBankName: D }) {
41
- let O = r();
42
- _(() => {
43
- O(f.Mounted);
44
- }, [O]);
45
- let k = {
46
- ...m,
47
- ...p
48
- }, { initResponse: A } = a(), j = e(A?.scopes, [t.ApprovalPolicyWriteOrg]), M = !A || j, [N, P] = v(S.Bills), [F, I] = v(), L = g((e) => {
49
- P(S.Bills), I(e);
50
- }, []), R = l({ onOpenBill: L }), z = [{
51
- id: S.Bills,
52
- label: k.bills,
53
- content: /* @__PURE__ */ b(d, {
54
- onEnqueueFiles: R.enqueue,
55
- openPayableId: F,
56
- onOpenPayableHandled: () => I(void 0),
57
- poweredByBankName: D
58
- })
59
- }, {
60
- id: S.Vendors,
61
- label: k.vendors,
62
- content: /* @__PURE__ */ b(h, {
63
- ...E,
64
- counterpartType: "vendor",
65
- onViewAllDocuments: () => P(S.Bills)
66
- })
67
- }];
68
- M && z.push({
69
- id: S.Settings,
70
- label: k.settings,
71
- content: /* @__PURE__ */ b(c, {
72
- labels: w,
73
- componentLabels: T
74
- })
75
- });
76
- let B = z.some((e) => e.id === N) ? N : C.find((e) => z.some((t) => t.id === e)) ?? z[0]?.id ?? "";
77
- return /* @__PURE__ */ x(y, { children: [
78
- /* @__PURE__ */ b(n, {}),
79
- /* @__PURE__ */ b(o, {
80
- labels: i,
81
- tabs: z,
82
- selectedTabId: B,
83
- onTabChange: P
84
- }),
85
- R.isVisible ? /* @__PURE__ */ b(s, {
86
- sections: R.sections,
87
- summaryLabel: R.summaryLabel,
88
- collapsed: R.collapsed,
89
- onToggleCollapsed: R.onToggleCollapsed,
90
- onClose: R.onClose,
91
- testId: u.uploadTray
92
- }) : null
93
- ] });
94
- }
95
- function T({ baseUrl: e, widgetToken: t, organizationId: n, configClient: r, gatewayRouting: a, linkComponent: o, implementation: s, uiFramework: c, errorFallback: l, onError: u, analytics: d, disclosuresAcceptance: f, ...m }) {
96
- return /* @__PURE__ */ b(i, {
97
- widgetName: p,
98
- baseUrl: e,
99
- widgetToken: t,
100
- organizationId: n,
101
- configClient: r,
102
- gatewayRouting: a,
103
- linkComponent: o,
104
- implementation: s,
105
- uiFramework: c,
106
- errorFallback: l,
107
- onError: u,
108
- analytics: d,
109
- disclosuresAcceptance: f,
110
- children: /* @__PURE__ */ b(w, { ...m })
111
- });
15
+ var y = 10, b = [{
16
+ id: "addedOnLabel",
17
+ desc: !0
18
+ }];
19
+ function x({ enabled: x = !0, canReadVendors: S = !0, isVendorFilterPaused: C = !1, filterLabels: w, onOpenBill: T, duplicateBillIds: E, duplicateBadgeLabel: D, attachmentLabel: O }) {
20
+ let [k, A] = v(s), [j, M] = v(b), [N, P] = v(y), [F, I] = v(), [L, R] = v(""), [z, B] = v(""), V = h(() => I(void 0), []);
21
+ g(() => {
22
+ let e = setTimeout(() => {
23
+ B(L), V();
24
+ }, 300);
25
+ return () => clearTimeout(e);
26
+ }, [L, V]);
27
+ let H = m({
28
+ offersStatusFilter: k === o.All,
29
+ offersVendorFilter: S,
30
+ isVendorFilterPaused: C,
31
+ labels: w,
32
+ onFiltersChange: V
33
+ }), U = j[0], W = p(U?.id), G = r({
34
+ ...H.query,
35
+ limit: N,
36
+ pagination_token: F,
37
+ status__in: d(k) ?? H.query.status__in,
38
+ has_scheduled_payment: l(k),
39
+ counterpart_name__icontains: z || void 0,
40
+ sort: W,
41
+ order: W ? U?.desc ? "desc" : "asc" : void 0,
42
+ enabled: x
43
+ }), K = G.data?.data.length === 0, q = i({ enabled: x && K }), J = !K || (q.data?.count ?? 1) > 0, Y = _(() => new Set(E), [E]), X = _(() => (G.data?.data ?? []).map((r) => {
44
+ let i = a({
45
+ apiStatus: r.status,
46
+ dueDate: r.due_date,
47
+ scheduledPaymentDate: r.scheduled_payment_date
48
+ }), o = r.amount_due ?? r.total_amount, s = (e) => e == null ? "" : t(e / 100, { currencyCode: r.currency ?? "USD" });
49
+ return {
50
+ vendorLabel: n(r),
51
+ issueDateLabel: e(r.issued_at),
52
+ dueDateLabel: e(r.due_date),
53
+ scheduledDateLabel: e(r.scheduled_payment_date),
54
+ paidDateLabel: e(r.paid_at?.slice(0, 10)),
55
+ amountDueLabel: s(o),
56
+ amountPaidLabel: s(r.amount_paid),
57
+ amountScheduledLabel: s(r.amount_to_pay ?? o),
58
+ totalAmountLabel: s(r.total_amount),
59
+ attachment: r.file_id ? { label: O } : void 0,
60
+ status: i.status,
61
+ statusTone: i.tone,
62
+ addedOnLabel: e(r.created_at?.slice(0, 10)),
63
+ duplicateBadge: Y.has(r.id) ? {
64
+ label: D,
65
+ tone: "warning"
66
+ } : void 0,
67
+ onOpen: () => T(r.id, i.status === "draft")
68
+ };
69
+ }), [
70
+ G.data?.data,
71
+ Y,
72
+ D,
73
+ O,
74
+ T
75
+ ]), Z = h((e) => {
76
+ let t = e;
77
+ A(t), M((e) => {
78
+ let n = e[0]?.id;
79
+ return n ? c(t).some((e) => f(e) === n) ? e : b : e;
80
+ }), V();
81
+ }, [V]), Q = h((e) => {
82
+ M((t) => typeof e == "function" ? e(t) : e), V();
83
+ }, [V]), $ = h((e) => {
84
+ P(e), V();
85
+ }, [V]), ee = h(() => I(G.data?.next_pagination_token ?? void 0), [G.data?.next_pagination_token]), te = h(() => I(G.data?.prev_pagination_token ?? void 0), [G.data?.prev_pagination_token]), ne = h(() => {
86
+ G.refetch();
87
+ }, [G.refetch]);
88
+ return {
89
+ rows: X,
90
+ isLoading: G.isFetching || K && q.isLoading,
91
+ isError: G.isError,
92
+ onRetry: ne,
93
+ selectedFilterTabId: k,
94
+ onFilterTabChange: Z,
95
+ searchValue: L,
96
+ onSearchChange: R,
97
+ hasAnyBills: J,
98
+ isSearchActive: z.length > 0 || H.isFilterActive,
99
+ filterBarProps: H.filterBarProps,
100
+ visibleColumns: c(k),
101
+ showAddPanelWhenEmpty: u(k),
102
+ sorting: j,
103
+ onSortingChange: Q,
104
+ pageSize: N,
105
+ onPageSizeChange: $,
106
+ hasNextPage: !!G.data?.next_pagination_token,
107
+ hasPrevPage: !!G.data?.prev_pagination_token,
108
+ onNextPage: ee,
109
+ onPrevPage: te
110
+ };
112
111
  }
113
112
  //#endregion
114
- export { T as BillPayWidgetNative, T as default };
113
+ export { x as useBillsTable };