@tesouro/embedded-components-react 0.2.304 → 0.2.306

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 (63) hide show
  1. package/dist/index.d.ts +9 -9
  2. package/dist/index.js +31 -31
  3. package/dist/lib/ExpenseApprovalPoliciesWidget.js +2 -2
  4. package/dist/lib/ExpenseManagementWidget.d.ts +24 -24
  5. package/dist/lib/ExpenseManagementWidget.js +1 -1
  6. package/dist/lib/ReceiptMatchWidget.js +2 -2
  7. package/dist/lib/UploadReceiptWidget.d.ts +2 -2
  8. package/dist/lib/UploadReceiptWidget.js +2 -2
  9. package/dist/libs/tesouro-embedded-components-react/{expense-receipt-match-widget → expense-management-widget}/data-access/dist/index2.js +1 -1
  10. package/dist/libs/tesouro-embedded-components-react/{expense-receipt-match-widget → expense-management-widget}/data-access/dist/index3.js +1 -1
  11. package/dist/libs/tesouro-embedded-components-react/{expense-receipt-match-widget → expense-management-widget}/data-access/dist/index4.js +1 -1
  12. package/dist/libs/tesouro-embedded-components-react/{expense-receipt-match-widget → expense-management-widget}/data-access/dist/index5.js +1 -1
  13. package/dist/libs/tesouro-embedded-components-react/{expense-receipt-match-widget → expense-management-widget}/data-access/dist/index6.js +1 -1
  14. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index.js +6 -2
  15. package/dist/libs/tesouro-embedded-components-react/{expense-receipt-match-widget/feature/dist/lib/useReceiptMatch.js → expense-management-widget/feature/dist/index10.js} +12 -12
  16. package/dist/libs/tesouro-embedded-components-react/{expense-receipt-match-widget/feature/dist/lib/analytics/events.js → expense-management-widget/feature/dist/index11.js} +1 -1
  17. package/dist/libs/tesouro-embedded-components-react/{expense-receipt-match-widget/feature/dist/lib/ReceiptMatchWidget.js → expense-management-widget/feature/dist/index12.js} +10 -10
  18. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index2.js +2 -2
  19. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index3.js +251 -46
  20. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index4.js +22 -1
  21. package/dist/libs/tesouro-embedded-components-react/{expense-approval-policies-widget/feature/dist/lib/ExpenseApprovalPoliciesWidgetFeature.js → expense-management-widget/feature/dist/index5.js} +19 -20
  22. package/dist/libs/tesouro-embedded-components-react/{expense-upload-receipt-widget/feature/dist/lib/UploadReceiptWidget.js → expense-management-widget/feature/dist/index6.js} +8 -8
  23. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index7.js +4 -0
  24. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index8.js +49 -0
  25. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index9.js +1 -0
  26. package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/index.js +17 -1
  27. package/dist/libs/tesouro-embedded-components-react/{expense-approval-policies-widget/ui/dist/index6.js → expense-management-widget/ui/dist/lib/ExpenseApprovalPoliciesWidget/lib/ApprovalRuleCard.js} +5 -5
  28. package/dist/libs/tesouro-embedded-components-react/{expense-approval-policies-widget/ui/dist/index7.js → expense-management-widget/ui/dist/lib/ExpenseApprovalPoliciesWidget/lib/ApprovalRuleForm.js} +4 -4
  29. package/dist/libs/tesouro-embedded-components-react/{expense-approval-policies-widget/ui/dist/index5.js → expense-management-widget/ui/dist/lib/ExpenseApprovalPoliciesWidget/lib/EmptyApprovalRules.js} +3 -3
  30. package/dist/libs/tesouro-embedded-components-react/{expense-approval-policies-widget/ui/dist/index8.js → expense-management-widget/ui/dist/lib/ExpenseApprovalPoliciesWidget/lib/ExpenseApprovalsPage.js} +7 -7
  31. package/dist/libs/tesouro-embedded-components-react/{expense-approval-policies-widget/ui/dist/index4.js → expense-management-widget/ui/dist/lib/ExpenseApprovalPoliciesWidget/lib/conditionLabel.js} +1 -1
  32. package/dist/libs/tesouro-embedded-components-react/{expense-approval-policies-widget/ui/dist/index3.js → expense-management-widget/ui/dist/lib/ExpenseApprovalPoliciesWidget/lib/labels.js} +1 -1
  33. package/dist/libs/tesouro-embedded-components-react/{expense-approval-policies-widget/ui/dist/index2.js → expense-management-widget/ui/dist/lib/ExpenseApprovalPoliciesWidget/lib/types.js} +1 -1
  34. package/dist/libs/tesouro-embedded-components-react/{expense-receipt-match-widget/ui/dist/index6.js → expense-management-widget/ui/dist/lib/ReceiptMatchWidget/lib/MatchConfirmationStep.js} +3 -3
  35. package/dist/libs/tesouro-embedded-components-react/{expense-receipt-match-widget/ui/dist/index3.js → expense-management-widget/ui/dist/lib/ReceiptMatchWidget/lib/ReceiptInboxItem.js} +3 -3
  36. package/dist/libs/tesouro-embedded-components-react/{expense-receipt-match-widget/ui/dist/index4.js → expense-management-widget/ui/dist/lib/ReceiptMatchWidget/lib/ReceiptInboxStep.js} +4 -4
  37. package/dist/libs/tesouro-embedded-components-react/{expense-receipt-match-widget/ui/dist/index7.js → expense-management-widget/ui/dist/lib/ReceiptMatchWidget/lib/ReceiptMatchSidebar.js} +6 -6
  38. package/dist/libs/tesouro-embedded-components-react/{expense-receipt-match-widget/ui/dist/index5.js → expense-management-widget/ui/dist/lib/ReceiptMatchWidget/lib/TransactionsMatchStep.js} +3 -3
  39. package/dist/libs/tesouro-embedded-components-react/{expense-receipt-match-widget/ui/dist/index2.js → expense-management-widget/ui/dist/lib/ReceiptMatchWidget/lib/labels.js} +1 -1
  40. package/dist/libs/tesouro-embedded-components-react/{expense-upload-receipt-widget/ui/dist/index3.js → expense-management-widget/ui/dist/lib/UploadReceiptWidget/UploadReceiptButton.js} +3 -3
  41. package/dist/libs/tesouro-embedded-components-react/{expense-upload-receipt-widget/ui/dist/index4.js → expense-management-widget/ui/dist/lib/UploadReceiptWidget/UploadReceiptModal.js} +3 -3
  42. package/dist/libs/tesouro-embedded-components-react/{expense-upload-receipt-widget/ui/dist/index2.js → expense-management-widget/ui/dist/lib/UploadReceiptWidget/labels.js} +1 -1
  43. package/dist/libs/tesouro-embedded-components-react/settings-widget/feature/dist/index5.js +2 -2
  44. package/dist/libs/tesouro-embedded-components-react/shared/approval-policy/data-access/dist/index.js +2 -2
  45. package/dist/libs/tesouro-embedded-components-react/shared/approval-policy/data-access/dist/lib/approvalPoliciesApi.js +52 -46
  46. package/dist/libs/tesouro-embedded-components-react/shared/approval-policy/data-access/dist/lib/queryKeys.js +6 -3
  47. package/dist/libs/tesouro-embedded-components-react/shared/approval-policy/feature/dist/lib/useApprovalPolicyRules.js +2 -2
  48. package/dist/libs/tesouro-embedded-components-react/shared/feature/dist/lib/analytics/build-info.js +1 -1
  49. package/package.json +1 -1
  50. package/dist/libs/tesouro-embedded-components-react/expense-approval-policies-widget/data-access/dist/index.js +0 -4
  51. package/dist/libs/tesouro-embedded-components-react/expense-approval-policies-widget/data-access/dist/index2.js +0 -11
  52. package/dist/libs/tesouro-embedded-components-react/expense-approval-policies-widget/data-access/dist/index3.js +0 -94
  53. package/dist/libs/tesouro-embedded-components-react/expense-approval-policies-widget/data-access/dist/index4.js +0 -7
  54. package/dist/libs/tesouro-embedded-components-react/expense-approval-policies-widget/feature/dist/index.js +0 -3
  55. package/dist/libs/tesouro-embedded-components-react/expense-approval-policies-widget/feature/dist/lib/analytics/events.js +0 -4
  56. package/dist/libs/tesouro-embedded-components-react/expense-approval-policies-widget/feature/dist/lib/labels.js +0 -22
  57. package/dist/libs/tesouro-embedded-components-react/expense-approval-policies-widget/feature/dist/lib/useApprovalPolicies.js +0 -255
  58. package/dist/libs/tesouro-embedded-components-react/expense-approval-policies-widget/ui/dist/index.js +0 -8
  59. package/dist/libs/tesouro-embedded-components-react/expense-receipt-match-widget/feature/dist/index.js +0 -2
  60. package/dist/libs/tesouro-embedded-components-react/expense-receipt-match-widget/ui/dist/index.js +0 -7
  61. package/dist/libs/tesouro-embedded-components-react/expense-upload-receipt-widget/feature/dist/index.js +0 -2
  62. package/dist/libs/tesouro-embedded-components-react/expense-upload-receipt-widget/ui/dist/index.js +0 -4
  63. /package/dist/libs/tesouro-embedded-components-react/{expense-receipt-match-widget → expense-management-widget}/data-access/dist/index.js +0 -0
@@ -1,255 +0,0 @@
1
- import { useEmbedApi as e } from "../../../../shared/data-access/dist/lib/EmbedApiContext.js";
2
- import "../../../../shared/data-access/dist/index.js";
3
- import { AmountConditionType as t, ApprovalOutcomeType as n } from "../../../ui/dist/index2.js";
4
- import "../../../ui/dist/index.js";
5
- import { useDeleteApprovalPoliciesIdMutation as r, useGetApprovalPoliciesQuery as i, usePatchApprovalPoliciesIdMutation as a, usePostApprovalPoliciesMutation as o } from "../../../data-access/dist/index3.js";
6
- import "../../../data-access/dist/index.js";
7
- import { useCallback as s, useEffect as c, useRef as l, useState as u } from "react";
8
- //#region ../../libs/tesouro-embedded-components-react/expense-approval-policies-widget/feature/dist/lib/useApprovalPolicies.js
9
- var d = "{event_name == 'submitted_for_approval'}";
10
- function f(e, n, r) {
11
- switch (e) {
12
- case t.All: return { all: [d] };
13
- case t.LessThan: return { all: [d, {
14
- operator: "<",
15
- left_operand: { name: "transaction.amount" },
16
- right_operand: (r ?? 0) * 100
17
- }] };
18
- case t.GreaterThanOrEqual: return { all: [d, {
19
- operator: ">=",
20
- left_operand: { name: "transaction.amount" },
21
- right_operand: (n ?? 0) * 100
22
- }] };
23
- case t.InRange: return { all: [
24
- d,
25
- {
26
- operator: ">=",
27
- left_operand: { name: "transaction.amount" },
28
- right_operand: (n ?? 0) * 100
29
- },
30
- {
31
- operator: "<",
32
- left_operand: { name: "transaction.amount" },
33
- right_operand: (r ?? 0) * 100
34
- }
35
- ] };
36
- }
37
- }
38
- function p(e, t) {
39
- let r = ["{Transactions.approve(transaction.id)}"], i = ["{Transactions.reject(transaction.id)}"];
40
- if (e === n.AutoApprove) return ["{Transactions.approve(transaction.id)}"];
41
- let a = t.map((e) => e.id), o = a.includes("reporting_manager"), s = a.filter((e) => e !== "reporting_manager");
42
- if (o) {
43
- let e = [{
44
- call: "ApprovalRequests.request_approval_from_reporting_manager",
45
- params: { required_approval_count: 1 }
46
- }];
47
- return s.length > 0 && e.push({
48
- call: "ApprovalRequests.request_approval_by_role",
49
- params: {
50
- role_ids: s,
51
- required_approval_count: 1
52
- }
53
- }), [{
54
- if: { any: e },
55
- then: r,
56
- else: i
57
- }];
58
- }
59
- return [{
60
- if: { all: [{
61
- call: "ApprovalRequests.request_approval_by_role",
62
- params: {
63
- role_ids: s,
64
- required_approval_count: 1
65
- }
66
- }] },
67
- then: r,
68
- else: i
69
- }];
70
- }
71
- function m(e) {
72
- switch (e.conditionType) {
73
- case t.All: return "All expenses";
74
- case t.LessThan: return `Less than $${e.maxAmount ?? 0}`;
75
- case t.GreaterThanOrEqual: return `$${e.minAmount ?? 0} or more`;
76
- case t.InRange: return `$${e.minAmount ?? 0}–$${e.maxAmount ?? 0}`;
77
- }
78
- }
79
- function h(e) {
80
- if (e === !0 || e == null) return { conditionType: t.All };
81
- if (typeof e == "object" && !Array.isArray(e) && "all" in e) {
82
- let n = e.all, r, i;
83
- for (let e of n) {
84
- if (typeof e != "object" || !e || !("operator" in e)) continue;
85
- let t = e;
86
- if (t.left_operand?.name !== "transaction.amount") continue;
87
- let n = Number(t.right_operand) / 100;
88
- t.operator === ">=" && (r = n), t.operator === "<" && (i = n), t.operator === "<=" && (i = n);
89
- }
90
- return r !== void 0 && i !== void 0 ? {
91
- conditionType: t.InRange,
92
- minAmount: r,
93
- maxAmount: i
94
- } : r === void 0 ? i === void 0 ? { conditionType: t.All } : {
95
- conditionType: t.LessThan,
96
- maxAmount: i
97
- } : {
98
- conditionType: t.GreaterThanOrEqual,
99
- minAmount: r
100
- };
101
- }
102
- if (typeof e != "string") return { conditionType: t.All };
103
- let n = e.replace(/^\{(.*)\}$/, "$1").trim().replace(/^event_name\s*==\s*["'][^'"]*["']\s*&&\s*/, "").trim(), r = n.match(/(?:transaction\.)?amount\s*>=\s*([\d.]+)\s*&&\s*(?:transaction\.)?amount\s*<\s*([\d.]+)/);
104
- if (r) return {
105
- conditionType: t.InRange,
106
- minAmount: Number(r[1]),
107
- maxAmount: Number(r[2])
108
- };
109
- let i = n.match(/^(?:transaction\.)?amount\s*<\s*([\d.]+)$/);
110
- if (i) return {
111
- conditionType: t.LessThan,
112
- maxAmount: Number(i[1])
113
- };
114
- let a = n.match(/^(?:transaction\.)?amount\s*>=\s*([\d.]+)$/);
115
- return a ? {
116
- conditionType: t.GreaterThanOrEqual,
117
- minAmount: Number(a[1])
118
- } : { conditionType: t.All };
119
- }
120
- function g(e, t = {}) {
121
- let r = (e) => e.filter((e) => e === "reporting_manager" || e in t).map((e) => ({
122
- id: e,
123
- label: t[e] ?? e
124
- })), i = e[0];
125
- if (typeof i == "object" && i && !Array.isArray(i) && "if" in i) {
126
- let e = i.if, t = Array.isArray(e?.all) ? e.all : [], a = Array.isArray(e?.any) ? e.any : [];
127
- if (t.length === 0 && a.length === 0) return {
128
- outcome: n.AutoApprove,
129
- approvers: []
130
- };
131
- let o = /* @__PURE__ */ new Set();
132
- for (let e of a) if (typeof e == "object" && e && "call" in e) {
133
- let t = String(e.call ?? "");
134
- if (t.includes("request_approval_from_reporting_manager") && o.add("reporting_manager"), t.includes("request_approval_by_role")) {
135
- let t = e.params?.role_ids;
136
- Array.isArray(t) && t.forEach((e) => o.add(String(e)));
137
- }
138
- }
139
- if (o.size > 0) return {
140
- outcome: n.RequireApproval,
141
- approvers: r([...o])
142
- };
143
- for (let e of t) if (typeof e == "object" && e && "call" in e) {
144
- let t = e, i = String(t.call ?? "");
145
- if (i.includes("request_approval_from_reporting_manager")) return {
146
- outcome: n.RequireApproval,
147
- approvers: r(["reporting_manager"])
148
- };
149
- if (i.includes("request_approval_by_role")) {
150
- let e = t.params?.role_ids;
151
- return {
152
- outcome: n.RequireApproval,
153
- approvers: r(Array.isArray(e) ? e.map((e) => String(e)) : [])
154
- };
155
- }
156
- }
157
- return {
158
- outcome: n.RequireApproval,
159
- approvers: []
160
- };
161
- }
162
- let a = null, o = [];
163
- if (typeof i == "string") a = i;
164
- else if (typeof i == "object" && i && !Array.isArray(i)) {
165
- let e = i;
166
- a = String(e.call ?? e.event_name ?? "");
167
- let t = e.params;
168
- if (typeof t == "object" && t) {
169
- let e = t;
170
- "role_ids" in e && Array.isArray(e.role_ids) && (o = e.role_ids.map((e) => String(e)));
171
- }
172
- }
173
- return !a || a.includes("Transactions.approve") ? {
174
- outcome: n.AutoApprove,
175
- approvers: []
176
- } : a.includes("request_approval_from_reporting_manager") ? {
177
- outcome: n.RequireApproval,
178
- approvers: r(["reporting_manager"])
179
- } : a.includes("request_approval_by_role") ? {
180
- outcome: n.RequireApproval,
181
- approvers: r(o)
182
- } : {
183
- outcome: n.RequireApproval,
184
- approvers: []
185
- };
186
- }
187
- function _(e, t = {}) {
188
- return {
189
- id: e.id,
190
- ...h(e.trigger),
191
- ...g(e.script, t)
192
- };
193
- }
194
- function v(t = {}) {
195
- let { widgetToken: n, organizationId: d } = e(), h = !!(n && d), [g, v] = u("idle"), y = l(null), b = i(), x = o(), S = a(), C = r(), w = (b.data?.data.map((e) => _(e, t)) ?? []).sort((e, t) => (e.minAmount ?? 0) - (t.minAmount ?? 0));
196
- c(() => () => {
197
- y.current && clearTimeout(y.current);
198
- }, []);
199
- let T = () => {
200
- y.current = setTimeout(() => v("idle"), 3e3);
201
- }, E = s(async (e) => {
202
- if (!h) return !1;
203
- y.current && clearTimeout(y.current), v("saving");
204
- let t = b.data?.data.map((e) => e.priority ?? 0) ?? [], n = Math.max(0, ...t) + 1;
205
- try {
206
- return await x.mutateAsync({ body: {
207
- object_type: "transaction",
208
- name: m(e),
209
- trigger: f(e.conditionType, e.minAmount, e.maxAmount),
210
- script: p(e.outcome, e.approvers),
211
- priority: n
212
- } }), v("success"), T(), !0;
213
- } catch {
214
- return v("error"), !1;
215
- }
216
- }, [
217
- h,
218
- x.mutateAsync,
219
- b.data
220
- ]), D = s(async (e, t) => {
221
- if (!h) return !1;
222
- y.current && clearTimeout(y.current), v("saving");
223
- try {
224
- return await S.mutateAsync({
225
- path: { approval_policy_id: e },
226
- body: {
227
- name: m(t),
228
- trigger: f(t.conditionType, t.minAmount, t.maxAmount),
229
- script: p(t.outcome, t.approvers)
230
- }
231
- }), v("success"), T(), !0;
232
- } catch {
233
- return v("error"), !1;
234
- }
235
- }, [h, S.mutateAsync]), O = s(async (e) => {
236
- if (h) {
237
- y.current && clearTimeout(y.current), v("saving");
238
- try {
239
- await C.mutateAsync({ path: { approval_policy_id: e } }), v("success"), T();
240
- } catch {
241
- v("error");
242
- }
243
- }
244
- }, [h, C.mutateAsync]);
245
- return {
246
- rules: w,
247
- isLoading: b.isFetching,
248
- saveStatus: g,
249
- createRule: E,
250
- updateRule: D,
251
- deleteRule: O
252
- };
253
- }
254
- //#endregion
255
- export { p as buildScript, f as buildTrigger, _ as parsePolicy, v as useApprovalPolicies };
@@ -1,8 +0,0 @@
1
- import { AmountConditionType as e, ApprovalOutcomeType as t } from "./index2.js";
2
- import { ApprovalRuleToastLabels as n } from "./index3.js";
3
- import "./index4.js";
4
- import "./index5.js";
5
- import "./index6.js";
6
- import "./index7.js";
7
- import { ExpenseApprovalsPage as r } from "./index8.js";
8
- export { e as AmountConditionType, t as ApprovalOutcomeType, n as ApprovalRuleToastLabels, r as ExpenseApprovalsPage };
@@ -1,2 +0,0 @@
1
- import { ReceiptMatchWidget as e } from "./lib/ReceiptMatchWidget.js";
2
- export { e as ReceiptMatchWidget };
@@ -1,7 +0,0 @@
1
- import { ReceiptMatchLabels as e } from "./index2.js";
2
- import "./index3.js";
3
- import "./index4.js";
4
- import "./index5.js";
5
- import "./index6.js";
6
- import { ReceiptMatchSidebar as t } from "./index7.js";
7
- export { e as ReceiptMatchLabels, t as ReceiptMatchSidebar };
@@ -1,2 +0,0 @@
1
- import { UploadReceiptWidget as e } from "./lib/UploadReceiptWidget.js";
2
- export { e as UploadReceiptWidget };
@@ -1,4 +0,0 @@
1
- import { UploadReceiptToastLabels as e } from "./index2.js";
2
- import { UploadReceiptButton as t } from "./index3.js";
3
- import { UploadReceiptModal as n } from "./index4.js";
4
- export { t as UploadReceiptButton, n as UploadReceiptModal, e as UploadReceiptToastLabels };