@tesouro/embedded-components-react 0.5.230 → 0.5.231

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.css +10 -0
  2. package/dist/index.d.ts +22 -21
  3. package/dist/index.js +2 -2
  4. package/dist/lib/ExpenseManagementWidget.d.ts +22 -21
  5. package/dist/lib/ExpenseManagementWidget.js +1 -1
  6. package/dist/lib/UploadReceiptWidget.d.ts +2 -2
  7. package/dist/lib/UploadReceiptWidget.js +2 -2
  8. package/dist/lib/WidgetSuite.d.ts +17 -15
  9. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/approval-policies/feature/dist/index.js +3 -0
  10. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/approval-policies/feature/dist/index2.js +5 -0
  11. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{feature/dist/index24.js → approval-policies/feature/dist/index3.js} +7 -7
  12. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{feature/dist/index25.js → approval-policies/feature/dist/index4.js} +1 -1
  13. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{feature/dist/index26.js → approval-policies/feature/dist/index5.js} +1 -1
  14. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{feature/dist/index27.js → approval-policies/feature/dist/index6.js} +53 -53
  15. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/approval-policies/ui/dist/index.js +8 -0
  16. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{ui/dist/lib/ExpenseApprovalPoliciesWidget/lib/types.js → approval-policies/ui/dist/index2.js} +1 -1
  17. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{ui/dist/lib/ExpenseApprovalPoliciesWidget/lib/labels.js → approval-policies/ui/dist/index3.js} +1 -1
  18. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{ui/dist/lib/ExpenseApprovalPoliciesWidget/lib/conditionLabel.js → approval-policies/ui/dist/index4.js} +1 -1
  19. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{ui/dist/lib/ExpenseApprovalPoliciesWidget/lib/EmptyApprovalRules.js → approval-policies/ui/dist/index5.js} +3 -3
  20. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{ui/dist/lib/ExpenseApprovalPoliciesWidget/lib/ApprovalRuleCard.js → approval-policies/ui/dist/index6.js} +5 -5
  21. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{ui/dist/lib/ExpenseApprovalPoliciesWidget/lib/ApprovalRuleForm.js → approval-policies/ui/dist/index7.js} +4 -4
  22. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{ui/dist/lib/ExpenseApprovalPoliciesWidget/lib/ExpenseApprovalsPage.js → approval-policies/ui/dist/index8.js} +7 -7
  23. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/index.js +18 -19
  24. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/invalidation.js +2 -0
  25. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/{index20.js → lib/invalidateTransactionViews.js} +4 -4
  26. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/{index10.js → lib/queryKeys.js} +4 -4
  27. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/{index5.js → lib/useEntityUsersByIdsQuery.js} +6 -6
  28. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/{index8.js → lib/useExpenseHistoryQuery.js} +6 -6
  29. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/{index7.js → lib/useExpenseLedgerAccountsQuery.js} +3 -3
  30. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/{index17.js → lib/useExpenseReceiptsCountQuery.js} +5 -5
  31. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/{index16.js → lib/useExpenseTransactionIdsQuery.js} +2 -2
  32. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/{index15.js → lib/useExpenseTransactionsCountQuery.js} +5 -5
  33. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/{index19.js → lib/useGetApprovalRequestsQuery.js} +5 -5
  34. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/{index9.js → lib/useGetTransactionQuery.js} +5 -5
  35. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/{index3.js → lib/useGetTransactionsQuery.js} +5 -5
  36. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/lib/useHasDirectReportsQuery.js +34 -0
  37. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/{index4.js → lib/useOrganizationDepartmentsQuery.js} +6 -6
  38. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/{index6.js → lib/useOrganizationLocationsQuery.js} +6 -6
  39. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/{index11.js → lib/usePatchReceiptMutation.js} +7 -7
  40. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/{index14.js → lib/useTrackReceiptMatching.js} +7 -7
  41. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/{index21.js → lib/useTransactionReviewMutations.js} +6 -6
  42. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/{index18.js → lib/useTransactionValidationsQuery.js} +5 -5
  43. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/{index13.js → lib/useUploadReceiptMutation.js} +7 -7
  44. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index.js +10 -10
  45. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index10.js +77 -160
  46. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index11.js +356 -63
  47. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index12.js +36 -71
  48. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index13.js +130 -344
  49. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index14.js +223 -36
  50. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index15.js +192 -137
  51. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index16.js +11 -227
  52. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index17.js +81 -186
  53. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index18.js +37 -11
  54. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index19.js +309 -82
  55. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index2.js +30 -87
  56. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index20.js +1 -39
  57. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index3.js +3 -2
  58. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index5.js +23 -257
  59. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index6.js +18 -2
  60. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index7.js +160 -59
  61. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index8.js +62 -28
  62. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index9.js +28 -18
  63. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/receipt-match/data-access/dist/index.js +3 -0
  64. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{data-access → receipt-match/data-access}/dist/index2.js +5 -5
  65. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/receipt-match/data-access/dist/index3.js +40 -0
  66. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/receipt-match/feature/dist/index.js +2 -0
  67. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/receipt-match/feature/dist/index2.js +256 -0
  68. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/receipt-match/feature/dist/index3.js +5 -0
  69. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/receipt-match/feature/dist/index4.js +65 -0
  70. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/receipt-match/ui/dist/index.js +8 -0
  71. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{ui/dist/lib/ReceiptMatchWidget/lib/labels.js → receipt-match/ui/dist/index2.js} +1 -1
  72. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{ui/dist/lib/ReceiptMatchWidget/lib/ReceiptInboxItem.js → receipt-match/ui/dist/index3.js} +3 -3
  73. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{ui/dist/lib/ReceiptMatchWidget/lib/ReceiptInboxStep.js → receipt-match/ui/dist/index4.js} +6 -6
  74. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{ui/dist/lib/ReceiptMatchWidget/lib/TransactionsMatchStep.js → receipt-match/ui/dist/index5.js} +27 -27
  75. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{ui/dist/lib/ReceiptMatchWidget/lib/MatchConfirmationStep.js → receipt-match/ui/dist/index6.js} +3 -3
  76. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{ui/dist/lib/ReceiptMatchWidget/lib/ReceiptMatchSidebar.js → receipt-match/ui/dist/index7.js} +6 -6
  77. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{ui/dist/lib/ReceiptMatchWidget/lib/ReceiptMatchLauncher.js → receipt-match/ui/dist/index8.js} +1 -1
  78. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/index.js +9 -28
  79. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ExpenseStatusBadge/ExpenseStatusBadge.js +7 -12
  80. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ExpenseStatusBadge/badgeTones.js +1 -7
  81. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ExpensesScreen/ExpensesScreen.js +61 -55
  82. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ExpensesScreen/labels.js +2 -1
  83. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ExpensesTransactionsTable/ExpensesTransactionsTable.js +42 -44
  84. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/FileViewer/FileViewer.js +6 -6
  85. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/TransactionDetails/TransactionDetails.js +137 -138
  86. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/TransactionDetailsActions/TransactionDetailsActions.js +82 -80
  87. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/{ui → util}/dist/lib/isPdf.js +1 -1
  88. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/util/dist/lib/widgetName.js +4 -0
  89. package/dist/libs/tesouro-embedded-components-react/settings-widget/feature/dist/index5.js +1 -1
  90. package/dist/libs/tesouro-embedded-components-react/shared/feature/dist/lib/analytics/build-info.js +1 -1
  91. package/dist/libs/tesouro-embedded-components-react/shared/util/dist/lib/formatTimestampDate.js +13 -0
  92. package/dist/libs/tesouro-embedded-components-react/upload-receipt-widget/feature/dist/index.js +4 -0
  93. package/dist/libs/tesouro-embedded-components-react/upload-receipt-widget/feature/dist/index2.js +91 -0
  94. package/dist/libs/tesouro-embedded-components-react/upload-receipt-widget/ui/dist/index.js +4 -0
  95. package/dist/libs/tesouro-embedded-components-react/{expense-management-widget/ui/dist/lib/UploadReceiptWidget/labels.js → upload-receipt-widget/ui/dist/index2.js} +1 -1
  96. package/dist/libs/tesouro-embedded-components-react/{expense-management-widget/ui/dist/lib/UploadReceiptWidget/UploadReceiptButton.js → upload-receipt-widget/ui/dist/index3.js} +3 -3
  97. package/dist/libs/tesouro-embedded-components-react/{expense-management-widget/ui/dist/lib/UploadReceiptWidget/UploadReceiptModal.js → upload-receipt-widget/ui/dist/index4.js} +3 -3
  98. package/dist/libs/tesouro-embedded-components-react/widget-suite/feature/dist/index11.js +1 -1
  99. package/package.json +1 -1
  100. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/index12.js +0 -39
  101. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index21.js +0 -297
  102. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index22.js +0 -1
  103. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index23.js +0 -4
  104. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ExpenseStatusBadge/labels.js +0 -13
@@ -1,229 +1,13 @@
1
- import { DATE_PRESETS as e, resolveDatePreset as t } from "./index15.js";
2
- import { useCallback as n, useMemo as r, useState as i } from "react";
3
- import { formatISO as a } from "date-fns";
4
1
  //#region ../../libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index16.js
5
- var o = [
6
- {
7
- value: "capture",
8
- label: "Capture"
9
- },
10
- {
11
- value: "refund",
12
- label: "Refund"
13
- },
14
- {
15
- value: "cash_withdrawal",
16
- label: "Cash withdrawal"
17
- },
18
- {
19
- value: "fee",
20
- label: "Fee"
21
- }
22
- ], s = [
23
- {
24
- value: "created",
25
- label: "Created"
26
- },
27
- {
28
- value: "processing",
29
- label: "Processing"
30
- },
31
- {
32
- value: "succeeded",
33
- label: "Succeeded"
34
- },
35
- {
36
- value: "declined",
37
- label: "Declined"
38
- },
39
- {
40
- value: "refunded",
41
- label: "Refunded"
42
- },
43
- {
44
- value: "failed",
45
- label: "Failed"
46
- }
47
- ], c = [
48
- {
49
- value: "new",
50
- label: "New"
51
- },
52
- {
53
- value: "approve_in_progress",
54
- label: "Approve in progress"
55
- },
56
- {
57
- value: "approved",
58
- label: "Approved"
59
- },
60
- {
61
- value: "rejected",
62
- label: "Rejected"
63
- },
64
- {
65
- value: "canceled",
66
- label: "Canceled"
67
- }
68
- ];
69
- function l() {
70
- return {
71
- datePreset: void 0,
72
- dateFrom: void 0,
73
- dateTo: void 0,
74
- paymentStatus: [],
75
- approvalStatus: [],
76
- types: [],
77
- teamMemberIds: [],
78
- amountMode: "any",
79
- amountMin: "",
80
- amountMax: "",
81
- amountFlowDirection: "any",
82
- cardOnly: !1,
83
- search: ""
84
- };
85
- }
86
- function u() {
87
- let [u, d] = i(l), f = r(() => {
88
- let e = {};
89
- if (u.dateFrom && (e.created_at__gt = a(u.dateFrom)), u.dateTo && (e.created_at__lt = a(u.dateTo)), u.paymentStatus.length && (e.payment_processing_status__in = u.paymentStatus), u.approvalStatus.length && (e.expense_status__in = u.approvalStatus), u.types.length && (e.type__in = u.types.flatMap((e) => e.split(","))), u.teamMemberIds.length && (e.entity_user_id__in = u.teamMemberIds), u.cardOnly && (e.payment_method__in = ["card"]), u.amountMode !== "any") {
90
- let t = parseFloat(u.amountMin), n = parseFloat(u.amountMax);
91
- if (u.amountMode === "exact") {
92
- if (!Number.isNaN(t)) {
93
- let n = Math.round(t * 100);
94
- e.amount__gt = n - 1, e.amount__lt = n + 1;
95
- }
96
- } else Number.isNaN(t) || (e.amount__gt = Math.round(t * 100)), Number.isNaN(n) || (e.amount__lt = Math.round(n * 100));
97
- }
98
- return u.search && (e.merchant_name__icontains = u.search), e;
99
- }, [u]), p = r(() => {
100
- let e = 0;
101
- return u.paymentStatus.length && e++, u.approvalStatus.length && e++, u.types.length && e++, u.teamMemberIds.length && e++, u.cardOnly && e++, u.amountMode !== "any" && e++, u.search && e++, e;
102
- }, [u]), m = r(() => {
103
- let t = [];
104
- if (u.datePreset || u.dateFrom || u.dateTo) {
105
- let n = u.datePreset ? e.find((e) => e.value === u.datePreset)?.label ?? "Custom range" : "Custom range";
106
- t.push({
107
- key: "date",
108
- label: `Date: ${n}`
109
- });
110
- }
111
- return u.paymentStatus.length && t.push({
112
- key: "paymentStatus",
113
- label: "Payment Status",
114
- count: u.paymentStatus.length
115
- }), u.approvalStatus.length && t.push({
116
- key: "approvalStatus",
117
- label: "Approval Status",
118
- count: u.approvalStatus.length
119
- }), u.types.length && t.push({
120
- key: "type",
121
- label: "Type",
122
- count: u.types.length
123
- }), u.teamMemberIds.length && t.push({
124
- key: "teamMember",
125
- label: "Team member",
126
- count: u.teamMemberIds.length
127
- }), u.cardOnly && t.push({
128
- key: "card",
129
- label: "Card only"
130
- }), u.amountMode !== "any" && t.push({
131
- key: "amount",
132
- label: "Amount"
133
- }), u.search && t.push({
134
- key: "search",
135
- label: `Search: ${u.search}`
136
- }), t;
137
- }, [u]), h = n((e) => {
138
- let { from: n, to: r } = t(e);
139
- d((t) => ({
140
- ...t,
141
- datePreset: e,
142
- dateFrom: n,
143
- dateTo: r
144
- }));
145
- }, []), g = n((e, t) => {
146
- d((n) => ({
147
- ...n,
148
- datePreset: void 0,
149
- dateFrom: e,
150
- dateTo: t
151
- }));
152
- }, []), _ = n((e) => {
153
- d((t) => ({
154
- ...t,
155
- approvalStatus: e
156
- }));
157
- }, []), v = n((e) => {
158
- switch (e) {
159
- case "date":
160
- d((e) => ({
161
- ...e,
162
- datePreset: void 0,
163
- dateFrom: void 0,
164
- dateTo: void 0
165
- }));
166
- break;
167
- case "paymentStatus":
168
- d((e) => ({
169
- ...e,
170
- paymentStatus: []
171
- }));
172
- break;
173
- case "approvalStatus":
174
- d((e) => ({
175
- ...e,
176
- approvalStatus: []
177
- }));
178
- break;
179
- case "type":
180
- d((e) => ({
181
- ...e,
182
- types: []
183
- }));
184
- break;
185
- case "teamMember":
186
- d((e) => ({
187
- ...e,
188
- teamMemberIds: []
189
- }));
190
- break;
191
- case "card":
192
- d((e) => ({
193
- ...e,
194
- cardOnly: !1
195
- }));
196
- break;
197
- case "amount":
198
- d((e) => ({
199
- ...e,
200
- amountMode: "any",
201
- amountMin: "",
202
- amountMax: ""
203
- }));
204
- break;
205
- case "search": d((e) => ({
206
- ...e,
207
- search: ""
208
- }));
209
- }
210
- }, []), y = n(() => d(l()), []);
211
- return {
212
- state: u,
213
- setState: d,
214
- queryParams: f,
215
- activeFilterCount: p,
216
- activeChips: m,
217
- datePresets: e,
218
- paymentStatusOptions: [...s],
219
- approvalStatusOptions: [...c],
220
- typeOptions: [...o],
221
- setDatePreset: h,
222
- setDateRange: g,
223
- setApprovalStatus: _,
224
- clearFilter: v,
225
- clearAll: y
226
- };
227
- }
2
+ var e = {
3
+ newTransactionsMessage: (e) => `${e === 1 ? `${e} transaction` : `${e} transactions`} to be submitted for approval.`,
4
+ rejectedTransactionsMessage: (e) => `${e === 1 ? `${e} transaction has` : `${e} transactions have`} been rejected.`,
5
+ pendingApprovalMessage: (e) => `${e === 1 ? `${e} transaction` : `${e} transactions`} in need of approval.`,
6
+ unmatchedReceiptsMessage: (e) => `${e === 1 ? `${e} receipt needs` : `${e} receipts need`} to be matched.`,
7
+ newTransactionsReviewAriaLabel: "Review transactions to submit",
8
+ rejectedTransactionsReviewAriaLabel: "Review rejected transactions",
9
+ pendingApprovalReviewAriaLabel: "Review transactions pending approval",
10
+ unmatchedReceiptsReviewAriaLabel: "Review unmatched receipts"
11
+ };
228
12
  //#endregion
229
- export { c as EM_APPROVAL_STATUS_OPTIONS, s as EM_PAYMENT_STATUS_OPTIONS, o as EM_TYPE_OPTIONS, u as useExpensesTransactionsFilter };
13
+ export { e as DEFAULT_ACTION_ITEM_LABELS };
@@ -4,193 +4,88 @@
4
4
  "use client";
5
5
  import { useWidgetConfig as e, useWidgetLoading as t } from "../../../shared/feature/dist/lib/WidgetProvider/hooks.js";
6
6
  import "../../../shared/feature/dist/index.js";
7
- import { useGetTransactionsQuery as n } from "../../data-access/dist/index3.js";
8
- import { useOrganizationDepartmentsQuery as r } from "../../data-access/dist/index4.js";
9
- import { useEntityUsersByIdsQuery as ee } from "../../data-access/dist/index5.js";
7
+ import { useExpenseTransactionsCountQuery as n } from "../../data-access/dist/lib/useExpenseTransactionsCountQuery.js";
8
+ import { useExpenseTransactionIdsQuery as r } from "../../data-access/dist/lib/useExpenseTransactionIdsQuery.js";
9
+ import { useExpenseReceiptsCountQuery as i } from "../../data-access/dist/lib/useExpenseReceiptsCountQuery.js";
10
10
  import "../../data-access/dist/index.js";
11
- import { entityUserLabel as te } from "./index4.js";
12
- import { mapTransactionRow as ne } from "./index14.js";
13
- import { useExpensesTransactionsFilter as i } from "./index16.js";
14
- import { useCallback as a, useMemo as o, useState as s } from "react";
11
+ import { canWriteExpenses as a, hasApproverPermission as o } from "./index5.js";
12
+ import { DEFAULT_ACTION_ITEM_LABELS as s } from "./index16.js";
13
+ import { createElement as c } from "react";
14
+ import { Ban as l, DollarSign as u, Receipt as d } from "lucide-react";
15
15
  //#region ../../libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index17.js
16
- var re = [
17
- 10,
18
- 25,
19
- 50,
20
- 100
21
- ], ie = 10, c = {
22
- startedAt: "started_at",
23
- amount: "merchant_amount"
24
- }, ae = c.startedAt, l = [{
25
- id: "startedAt",
26
- desc: !0
27
- }], u = [
28
- "capture",
29
- "refund",
30
- "cash_withdrawal",
31
- "fee"
32
- ];
33
- function d({ scope: d, cardholderByUserId: p }) {
34
- let { initResponse: m } = e(), h = t(), g = m?.userId ?? void 0, [oe, _] = s(), [v, se] = s(ie), [y, ce] = s(l), { state: b, setState: x, queryParams: le, activeFilterCount: ue, activeChips: S, datePresets: C, paymentStatusOptions: w, approvalStatusOptions: T, typeOptions: E, setDatePreset: D, setDateRange: O, setApprovalStatus: k, clearFilter: A, clearAll: j } = i(), M = a(() => _(void 0), []), N = a((e) => (...t) => {
35
- e(...t), M();
36
- }, [M]), P = a((e) => {
37
- ce(e), M();
38
- }, [M]), F = a((e) => {
39
- se(e), M();
40
- }, [M]), I = a(N((e) => {
41
- x((t) => ({
42
- ...t,
43
- search: e
44
- }));
45
- }), [N, x]), L = a(N((e) => {
46
- x((t) => ({
47
- ...t,
48
- paymentStatus: e
49
- }));
50
- }), [N, x]), R = a(N((e) => {
51
- x((t) => ({
52
- ...t,
53
- approvalStatus: e
54
- }));
55
- }), [N, x]), z = a(N((e) => {
56
- x((t) => ({
57
- ...t,
58
- types: e
59
- }));
60
- }), [N, x]), B = a(N((e) => {
61
- x((t) => ({
62
- ...t,
63
- teamMemberIds: e
64
- }));
65
- }), [N, x]), V = a(N((e) => {
66
- x((t) => ({
67
- ...t,
68
- amountMode: e
69
- }));
70
- }), [N, x]), de = a(N((e) => {
71
- x((t) => ({
72
- ...t,
73
- amountMin: e
74
- }));
75
- }), [N, x]), H = a(N((e) => {
76
- x((t) => ({
77
- ...t,
78
- amountMax: e
79
- }));
80
- }), [N, x]), fe = a(N((e) => {
81
- x((t) => ({
82
- ...t,
83
- amountFlowDirection: e
84
- }));
85
- }), [N, x]), pe = a(N(() => {
86
- x((e) => ({
87
- ...e,
88
- cardOnly: !e.cardOnly
89
- }));
90
- }), [N, x]), me = a(N((e) => {
91
- O(e.from, e.to);
92
- }), [N, O]), he = a(N((e) => {
93
- D(e);
94
- }), [N, D]), ge = a(N((e) => {
95
- A(e);
96
- }), [N, A]), _e = a(N(() => {
97
- j();
98
- }), [N, j]), ve = a(N((e) => {
99
- k([e]);
100
- }), [N, k]), U = !h && (d === "team" || !!g), W = f(d, g, le), ye = W.type__in ?? [...u], G = y[0], K = G ? c[G.id] : void 0, be = (K ? !G.desc : !1) == (K === "merchant_amount") ? "desc" : "asc", { data: q, isLoading: xe, isFetching: J } = n({
101
- enabled: U,
102
- limit: v,
103
- pagination_token: oe,
104
- sort: K ?? ae,
105
- order: be,
106
- ...W,
107
- type__in: ye
108
- }), Se = o(() => {
109
- let e = [];
110
- for (let t of q?.data ?? []) t.department_id && !e.includes(t.department_id) && e.push(t.department_id);
111
- return e;
112
- }, [q]), Y = r({ enabled: d === "team" && Se.length > 0 }), X = o(() => {
113
- let e = /* @__PURE__ */ new Map();
114
- for (let t of Y.data?.data ?? []) e.set(t.id, t.name);
115
- return e;
116
- }, [Y.data]), Z = o(() => {
117
- let e = [];
118
- for (let t of q?.data ?? []) t.entity_user_id && !e.includes(t.entity_user_id) && e.push(t.entity_user_id);
119
- return e;
120
- }, [q]), Q = ee({
121
- ids: Z,
122
- enabled: d === "team" && Z.length > 0
123
- }), $ = o(() => {
124
- let e = new Map(p);
125
- for (let t of Q.data?.data ?? []) e.set(t.id, te(t));
126
- return e;
127
- }, [p, Q.data]);
128
- return {
129
- rows: o(() => (q?.data ?? []).map((e) => ne(e, {
130
- cardholderLabel: e.entity_user_id ? $.get(e.entity_user_id) : void 0,
131
- departmentLabel: e.department_id ? X.get(e.department_id) : void 0
132
- })), [
133
- q,
134
- $,
135
- X
136
- ]),
137
- isLoading: U && (xe || J),
138
- sorting: y,
139
- onSortingChange: P,
140
- pageSize: v,
141
- onPageSizeChange: F,
142
- pageSizeOptions: re,
143
- hasNextPage: !!q?.next_pagination_token,
144
- hasPrevPage: !!q?.prev_pagination_token,
145
- onNextPage: () => _(q?.next_pagination_token ?? void 0),
146
- onPrevPage: () => _(q?.prev_pagination_token ?? void 0),
147
- searchValue: b.search,
148
- onSearchChange: I,
149
- activeFilterCount: ue,
150
- activeChips: S,
151
- onDismissChip: ge,
152
- onClearAll: _e,
153
- allPresets: C,
154
- selectedDatePreset: b.datePreset,
155
- dateFrom: b.dateFrom,
156
- dateTo: b.dateTo,
157
- onDateRangeChange: me,
158
- onDatePresetChange: he,
159
- paymentStatusOptions: w,
160
- selectedPaymentStatus: b.paymentStatus,
161
- onPaymentStatusChange: L,
162
- approvalStatusOptions: T,
163
- selectedApprovalStatus: b.approvalStatus,
164
- onApprovalStatusChange: R,
165
- typeOptions: E,
166
- selectedTypes: b.types,
167
- onTypeChange: z,
168
- amountMode: b.amountMode,
169
- onAmountModeChange: V,
170
- amountMin: b.amountMin,
171
- amountMax: b.amountMax,
172
- onAmountMinChange: de,
173
- onAmountMaxChange: H,
174
- amountFlowDirection: b.amountFlowDirection,
175
- onAmountFlowDirectionChange: fe,
176
- selectedTeamMembers: b.teamMemberIds,
177
- onTeamMembersChange: B,
178
- cardOnly: b.cardOnly,
179
- onCardToggle: pe,
180
- setApprovalStatusFilter: ve,
181
- showCardholderColumn: d === "team",
182
- showDepartmentColumn: d === "team"
183
- };
184
- }
185
- function f(e, t, n) {
186
- if (e === "mine") {
187
- let e = { ...n };
188
- return delete e.entity_user_id__in, {
189
- ...e,
190
- entity_user_id__in: t ? [t] : void 0
191
- };
192
- }
193
- return n;
16
+ var f = "ttw:size-4";
17
+ function p({ scope: p, isTeamVisible: m = !0, onReviewNewTransactions: h, onReviewRejectedTransactions: g, onReviewPendingApproval: _, onReviewUnmatchedReceipts: v }) {
18
+ let { initResponse: y } = e(), b = t(), x = y?.userId ?? void 0, S = y?.scopes, C = a(S), w = o(S), T = p === "mine", E = p === "team" && m, D = !b && !!x, O = n({
19
+ enabled: D && C,
20
+ entity_user_id__in: x ? [x] : void 0,
21
+ expense_status__in: ["new"]
22
+ }), k = n({
23
+ enabled: D && T && C,
24
+ entity_user_id__in: x ? [x] : void 0,
25
+ expense_status__in: ["rejected"]
26
+ }), A = i({
27
+ enabled: D && C,
28
+ has_transaction: !1,
29
+ created_by_entity_user_id: x
30
+ }), j = n({
31
+ enabled: D && E && C,
32
+ expense_status__in: ["rejected"]
33
+ }), M = n({
34
+ enabled: D && E && w,
35
+ expense_status__in: ["approve_in_progress"],
36
+ has_validation_errors: !1
37
+ }), N = r({
38
+ enabled: D && C && !!O.count,
39
+ entity_user_id__in: x ? [x] : void 0,
40
+ expense_status__in: ["new"]
41
+ }), P = r({
42
+ enabled: D && T && C && !!k.count,
43
+ entity_user_id__in: x ? [x] : void 0,
44
+ expense_status__in: ["rejected"]
45
+ }), F = r({
46
+ enabled: D && E && C && !!j.count,
47
+ expense_status__in: ["rejected"]
48
+ }), I = r({
49
+ enabled: D && E && w && !!M.count,
50
+ expense_status__in: ["approve_in_progress"],
51
+ has_validation_errors: !1
52
+ }), L = [], R = (e) => e.isSuccess && e.transactionIds.length > 0;
53
+ return C && O.count && R(N) && L.push({
54
+ id: "new-transactions",
55
+ message: s.newTransactionsMessage(O.count),
56
+ icon: c(u, { className: f }),
57
+ tone: "success",
58
+ onReview: () => h(N.transactionIds),
59
+ reviewAriaLabel: s.newTransactionsReviewAriaLabel
60
+ }), T && C && k.count && R(P) && L.push({
61
+ id: "rejected-transactions-mine",
62
+ message: s.rejectedTransactionsMessage(k.count),
63
+ icon: c(l, { className: f }),
64
+ tone: "danger",
65
+ onReview: () => g(P.transactionIds),
66
+ reviewAriaLabel: s.rejectedTransactionsReviewAriaLabel
67
+ }), E && C && j.count && R(F) && L.push({
68
+ id: "rejected-transactions-team",
69
+ message: s.rejectedTransactionsMessage(j.count),
70
+ icon: c(l, { className: f }),
71
+ tone: "danger",
72
+ onReview: () => g(F.transactionIds),
73
+ reviewAriaLabel: s.rejectedTransactionsReviewAriaLabel
74
+ }), E && w && M.count && R(I) && L.push({
75
+ id: "pending-approval",
76
+ message: s.pendingApprovalMessage(M.count),
77
+ icon: c(u, { className: f }),
78
+ tone: "success",
79
+ onReview: () => _(I.transactionIds),
80
+ reviewAriaLabel: s.pendingApprovalReviewAriaLabel
81
+ }), C && A.count && L.push({
82
+ id: "unmatched-receipts",
83
+ message: s.unmatchedReceiptsMessage(A.count),
84
+ icon: c(d, { className: f }),
85
+ tone: "info",
86
+ onReview: v,
87
+ reviewAriaLabel: s.unmatchedReceiptsReviewAriaLabel
88
+ }), L;
194
89
  }
195
90
  //#endregion
196
- export { d as useExpensesTransactions };
91
+ export { p as useExpenseActionItems };
@@ -1,13 +1,39 @@
1
+ "use client";
2
+ "use client";
3
+ "use client";
4
+ "use client";
5
+ import { useWidgetConfig as e, useWidgetLoading as t } from "../../../shared/feature/dist/lib/WidgetProvider/hooks.js";
6
+ import "../../../shared/feature/dist/index.js";
7
+ import { useExpenseTransactionsCountQuery as n } from "../../data-access/dist/lib/useExpenseTransactionsCountQuery.js";
8
+ import { useExpenseReceiptsCountQuery as r } from "../../data-access/dist/lib/useExpenseReceiptsCountQuery.js";
9
+ import "../../data-access/dist/index.js";
10
+ import { hasApproverPermission as i } from "./index5.js";
1
11
  //#region ../../libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index18.js
2
- var e = {
3
- newTransactionsMessage: (e) => `${e === 1 ? `${e} transaction` : `${e} transactions`} to be submitted for approval.`,
4
- rejectedTransactionsMessage: (e) => `${e === 1 ? `${e} transaction has` : `${e} transactions have`} been rejected.`,
5
- pendingApprovalMessage: (e) => `${e === 1 ? `${e} transaction` : `${e} transactions`} in need of approval.`,
6
- unmatchedReceiptsMessage: (e) => `${e === 1 ? `${e} receipt needs` : `${e} receipts need`} to be matched.`,
7
- newTransactionsReviewAriaLabel: "Review transactions to submit",
8
- rejectedTransactionsReviewAriaLabel: "Review rejected transactions",
9
- pendingApprovalReviewAriaLabel: "Review transactions pending approval",
10
- unmatchedReceiptsReviewAriaLabel: "Review unmatched receipts"
11
- };
12
+ function a({ isTeamVisible: a = !0 } = {}) {
13
+ let { initResponse: o } = e(), s = t(), c = o?.userId ?? void 0, l = o?.scopes, u = i(l) && a, d = !s && !!c, f = n({
14
+ enabled: d,
15
+ entity_user_id__in: c ? [c] : void 0,
16
+ expense_status__in: ["new"]
17
+ }), p = n({
18
+ enabled: d,
19
+ entity_user_id__in: c ? [c] : void 0,
20
+ expense_status__in: ["rejected"]
21
+ }), m = r({
22
+ enabled: d,
23
+ has_transaction: !1,
24
+ created_by_entity_user_id: c
25
+ }), h = n({
26
+ enabled: d && u,
27
+ expense_status__in: ["rejected"]
28
+ }), g = n({
29
+ enabled: d && u,
30
+ expense_status__in: ["approve_in_progress"],
31
+ has_validation_errors: !1
32
+ }), _ = (f.count ?? 0) + (p.count ?? 0) + (m.count ?? 0), v = (f.count ?? 0) + (h.count ?? 0) + (g.count ?? 0) + (m.count ?? 0);
33
+ return {
34
+ myTransactionsCount: _ ? String(_) : void 0,
35
+ teamTransactionsCount: u && v ? String(v) : void 0
36
+ };
37
+ }
12
38
  //#endregion
13
- export { e as DEFAULT_ACTION_ITEM_LABELS };
39
+ export { a as useExpenseTabBadgeCounts };