@tesouro/embedded-components-react 0.5.187 → 0.5.188
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.
- package/README.md +19 -9
- package/dist/index.css +110 -0
- package/dist/index.d.ts +233 -60
- package/dist/index.js +6 -6
- package/dist/lib/ExpenseManagementWidget.d.ts +189 -11
- package/dist/lib/ExpenseManagementWidget.js +1 -1
- package/dist/lib/UploadReceiptWidget.js +1 -1
- package/dist/lib/WidgetSuite.d.ts +213 -16
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/index.js +17 -3
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/index10.js +36 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/index11.js +71 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/index12.js +39 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/index13.js +32 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/index14.js +110 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/index15.js +33 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/index16.js +19 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/index17.js +33 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/index18.js +28 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/index19.js +35 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/index20.js +28 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/index21.js +164 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/index4.js +25 -18
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/index5.js +20 -34
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/index6.js +16 -20
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/index7.js +16 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/index8.js +32 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/data-access/dist/index9.js +26 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index.js +10 -7
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index10.js +162 -59
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index11.js +64 -16
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index12.js +73 -2
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index13.js +348 -42
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index14.js +42 -1
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index15.js +143 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index16.js +229 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index17.js +196 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index18.js +13 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index19.js +91 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index2.js +89 -2
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index20.js +39 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index21.js +297 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index22.js +1 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index23.js +4 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index24.js +256 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index25.js +22 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index26.js +10 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index27.js +223 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index3.js +2 -254
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index4.js +4 -20
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index5.js +262 -8
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index6.js +2 -221
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index7.js +54 -80
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index8.js +24 -254
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/feature/dist/index9.js +18 -2
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/index.js +34 -13
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/AccordionItemCard/AccordionItemCard.js +549 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/AccordionItemCard/labels.js +38 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ActionItemsList/ActionItemsList.js +64 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ActionItemsList/labels.js +7 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ExpenseStatusBadge/ExpenseStatusBadge.js +18 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ExpenseStatusBadge/badgeTones.js +16 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ExpenseStatusBadge/labels.js +13 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ExpensesHeader/ExpensesHeader.js +37 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ExpensesHeader/labels.js +7 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ExpensesScreen/ExpensesScreen.js +112 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ExpensesScreen/labels.js +11 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ExpensesTransactionsFilterBar/ExpensesTransactionsFilterBar.js +158 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ExpensesTransactionsFilterBar/labels.js +18 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ExpensesTransactionsTable/ExpensesTransactionsTable.js +148 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ExpensesTransactionsTable/labels.js +18 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/FileViewer/FileViewer.js +107 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/FileViewer/PdfFileViewer.js +37 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/FileViewer/labels.js +11 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ReceiptMatchWidget/lib/ReceiptMatchLauncher.js +2 -24
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ReceiptMatchWidget/lib/ReceiptMatchSidebar.js +1 -1
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ReceiptMatchWidget/lib/TransactionsMatchStep.js +62 -65
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ReceiptMatchWidget/lib/labels.js +1 -4
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/TransactionDetails/DeleteReceiptDialog/DeleteReceiptDialog.js +31 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/TransactionDetails/DeleteReceiptDialog/labels.js +9 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/TransactionDetails/TransactionDetails.js +268 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/TransactionDetails/labels.js +21 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/TransactionDetailsActions/BulkProgress.js +26 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/TransactionDetailsActions/TransactionDetailsActions.js +142 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/TransactionDetailsActions/labels.js +20 -0
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/isPdf.js +7 -0
- package/dist/libs/tesouro-embedded-components-react/settings-widget/feature/dist/index5.js +2 -2
- package/dist/libs/tesouro-embedded-components-react/shared/data-access/dist/index.js +36 -36
- package/dist/libs/tesouro-embedded-components-react/shared/data-access/dist/lib/rest/@tanstack/react-query.gen.js +268 -206
- package/dist/libs/tesouro-embedded-components-react/shared/data-access/dist/lib/rest/sdk.gen.js +218 -113
- package/dist/libs/tesouro-embedded-components-react/shared/feature/dist/lib/analytics/build-info.js +1 -1
- package/dist/libs/tesouro-embedded-components-react/shared/util/dist/lib/formatCalendarDate.js +4 -4
- package/dist/libs/tesouro-embedded-components-react/widget-suite/feature/dist/index11.js +16 -14
- package/dist/libs/tesouro-embedded-components-react/widget-suite/feature/dist/index4.js +1 -2
- package/package.json +1 -1
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ExpenseManagementWidgetUi/ExpenseManagementWidgetUi.js +0 -71
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ExpenseManagementWidgetUi/index.js +0 -2
- package/dist/libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ExpenseManagementWidgetUi/labels.js +0 -10
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
//#region ../../libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ExpenseStatusBadge/badgeTones.js
|
|
2
|
+
var e = {
|
|
3
|
+
danger: "ttw:border-pink-100 ttw:bg-pink-100 ttw:text-pink-700 ttw:hover:bg-pink-100",
|
|
4
|
+
info: "ttw:border-sky-100 ttw:bg-sky-100 ttw:text-sky-700 ttw:hover:bg-sky-100",
|
|
5
|
+
neutral: "ttw:border-zinc-100 ttw:bg-zinc-100 ttw:text-zinc-700 ttw:hover:bg-zinc-100",
|
|
6
|
+
success: "ttw:border-green-100 ttw:bg-green-100 ttw:text-green-700 ttw:hover:bg-green-100",
|
|
7
|
+
warning: "ttw:border-amber-100 ttw:bg-amber-100 ttw:text-amber-700 ttw:hover:bg-amber-100"
|
|
8
|
+
}, t = {
|
|
9
|
+
new: "info",
|
|
10
|
+
approve_in_progress: "neutral",
|
|
11
|
+
approved: "success",
|
|
12
|
+
rejected: "danger",
|
|
13
|
+
canceled: "danger"
|
|
14
|
+
};
|
|
15
|
+
//#endregion
|
|
16
|
+
export { e as EXPENSE_BADGE_TONE_CLASS_NAME, t as EXPENSE_STATUS_TONE };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
//#region ../../libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ExpenseStatusBadge/labels.js
|
|
2
|
+
var e = {
|
|
3
|
+
new: "Ready to submit",
|
|
4
|
+
approve_in_progress: "In review",
|
|
5
|
+
approved: "Approved",
|
|
6
|
+
rejected: "Rejected",
|
|
7
|
+
canceled: "Canceled",
|
|
8
|
+
unknown: "Unknown",
|
|
9
|
+
readyToSubmit: "Ready to submit",
|
|
10
|
+
missingInfo: "Missing info"
|
|
11
|
+
};
|
|
12
|
+
//#endregion
|
|
13
|
+
export { e as EXPENSE_STATUS_BADGE_LABELS_EN };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use client";
|
|
3
|
+
"use client";
|
|
4
|
+
"use client";
|
|
5
|
+
import { Typography as e } from "../../../../../../../packages/shared-ui-shadcn/dist/index.js";
|
|
6
|
+
import { EXPENSES_HEADER_LABELS_EN as t } from "./labels.js";
|
|
7
|
+
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
8
|
+
//#region ../../libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ExpensesHeader/ExpensesHeader.js
|
|
9
|
+
function i({ labels: i, bankDisplayName: a, bankLogoSrc: o, bankLogoAlt: s, isBankingTaglineVisible: c = !1 }) {
|
|
10
|
+
let l = {
|
|
11
|
+
...t,
|
|
12
|
+
...i
|
|
13
|
+
};
|
|
14
|
+
return !c || !a ? null : /* @__PURE__ */ n("header", {
|
|
15
|
+
className: "ttw:mb-4",
|
|
16
|
+
children: /* @__PURE__ */ r("div", {
|
|
17
|
+
className: "ttw:flex ttw:flex-wrap ttw:items-center ttw:gap-1",
|
|
18
|
+
children: [/* @__PURE__ */ n(e, {
|
|
19
|
+
component: "span",
|
|
20
|
+
variant: "body1",
|
|
21
|
+
color: "muted",
|
|
22
|
+
children: l.bankingTaglinePrefix
|
|
23
|
+
}), o ? /* @__PURE__ */ n("img", {
|
|
24
|
+
src: o,
|
|
25
|
+
alt: s ?? a,
|
|
26
|
+
className: "ttw:block ttw:h-auto ttw:max-w-[120px]"
|
|
27
|
+
}) : /* @__PURE__ */ n(e, {
|
|
28
|
+
component: "span",
|
|
29
|
+
variant: "body1",
|
|
30
|
+
color: "muted",
|
|
31
|
+
children: a
|
|
32
|
+
})]
|
|
33
|
+
})
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
//#endregion
|
|
37
|
+
export { i as ExpensesHeader, i as default };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
//#region ../../libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ExpensesHeader/labels.js
|
|
2
|
+
var e = {
|
|
3
|
+
bankingTaglinePrefix: "Business Banking provided by",
|
|
4
|
+
settingsButtonAriaLabel: "Expense settings"
|
|
5
|
+
};
|
|
6
|
+
//#endregion
|
|
7
|
+
export { e as EXPENSES_HEADER_LABELS_EN };
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use client";
|
|
3
|
+
"use client";
|
|
4
|
+
"use client";
|
|
5
|
+
import { Badge as e, Button as t, Tabs as n, TabsContent as r, TabsList as i, TabsTrigger as a } from "../../../../../../../packages/shared-ui-shadcn/dist/index.js";
|
|
6
|
+
import { EXPENSES_HEADER_LABELS_EN as o } from "../ExpensesHeader/labels.js";
|
|
7
|
+
import { ExpensesHeader as s } from "../ExpensesHeader/ExpensesHeader.js";
|
|
8
|
+
import { DEFAULT_LABELS as c } from "./labels.js";
|
|
9
|
+
import { jsx as l, jsxs as u } from "react/jsx-runtime";
|
|
10
|
+
import { SettingsIcon as d } from "lucide-react";
|
|
11
|
+
//#region ../../libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ExpensesScreen/ExpensesScreen.js
|
|
12
|
+
function f({ labels: f, header: p, headerLabels: m, myTransactionsContent: h, teamTransactionsContent: g, myTransactionsCount: _, teamTransactionsCount: v, policiesContent: y, requirementsContent: b, matchingContent: x, activeTab: S, onActiveTabChange: C }) {
|
|
13
|
+
let w = {
|
|
14
|
+
...c,
|
|
15
|
+
...f
|
|
16
|
+
}, T = {
|
|
17
|
+
...o,
|
|
18
|
+
...m
|
|
19
|
+
}, { onSettingsClick: E, actions: D, ...O } = p ?? {}, k = !!(E || D), A = g ? "team-transactions" : "my-transactions";
|
|
20
|
+
return /* @__PURE__ */ u("section", {
|
|
21
|
+
className: "ttw:w-full ttw:space-y-4",
|
|
22
|
+
children: [/* @__PURE__ */ l(s, {
|
|
23
|
+
...O,
|
|
24
|
+
labels: m
|
|
25
|
+
}), /* @__PURE__ */ u(n, {
|
|
26
|
+
defaultValue: A,
|
|
27
|
+
value: S,
|
|
28
|
+
onValueChange: C,
|
|
29
|
+
children: [
|
|
30
|
+
/* @__PURE__ */ u("div", {
|
|
31
|
+
className: "ttw:flex ttw:flex-wrap ttw:items-center ttw:justify-between ttw:gap-2",
|
|
32
|
+
children: [/* @__PURE__ */ u(i, {
|
|
33
|
+
variant: "line",
|
|
34
|
+
className: "ttw:flex ttw:flex-wrap ttw:justify-start",
|
|
35
|
+
children: [
|
|
36
|
+
g ? /* @__PURE__ */ u(a, {
|
|
37
|
+
value: "team-transactions",
|
|
38
|
+
className: "ttw:gap-2",
|
|
39
|
+
children: [w.teamTransactionsTab, v ? /* @__PURE__ */ l(e, {
|
|
40
|
+
variant: "default",
|
|
41
|
+
className: "ttw:h-4.5 ttw:min-w-4.5 ttw:rounded-full ttw:px-1.5",
|
|
42
|
+
"aria-label": `${v} ${w.tabCountAriaSuffix}`,
|
|
43
|
+
children: v
|
|
44
|
+
}) : null]
|
|
45
|
+
}) : null,
|
|
46
|
+
/* @__PURE__ */ u(a, {
|
|
47
|
+
value: "my-transactions",
|
|
48
|
+
className: "ttw:gap-2",
|
|
49
|
+
children: [w.myTransactionsTab, _ ? /* @__PURE__ */ l(e, {
|
|
50
|
+
variant: "default",
|
|
51
|
+
className: "ttw:h-4.5 ttw:min-w-4.5 ttw:rounded-full ttw:px-1.5",
|
|
52
|
+
"aria-label": `${_} ${w.tabCountAriaSuffix}`,
|
|
53
|
+
children: _
|
|
54
|
+
}) : null]
|
|
55
|
+
}),
|
|
56
|
+
y ? /* @__PURE__ */ l(a, {
|
|
57
|
+
value: "policies",
|
|
58
|
+
children: w.policiesTab
|
|
59
|
+
}) : null,
|
|
60
|
+
b ? /* @__PURE__ */ l(a, {
|
|
61
|
+
value: "requirements",
|
|
62
|
+
children: w.requirementsTab
|
|
63
|
+
}) : null,
|
|
64
|
+
x ? /* @__PURE__ */ l(a, {
|
|
65
|
+
value: "matching",
|
|
66
|
+
children: w.matchingTab
|
|
67
|
+
}) : null
|
|
68
|
+
]
|
|
69
|
+
}), k ? /* @__PURE__ */ u("div", {
|
|
70
|
+
className: "ttw:flex ttw:flex-wrap ttw:items-center ttw:gap-2",
|
|
71
|
+
children: [E ? /* @__PURE__ */ l(t, {
|
|
72
|
+
type: "button",
|
|
73
|
+
variant: "outline",
|
|
74
|
+
size: "icon",
|
|
75
|
+
className: "ttw:h-10 ttw:cursor-pointer ttw:rounded-xl ttw:border-border",
|
|
76
|
+
"aria-label": T.settingsButtonAriaLabel,
|
|
77
|
+
onClick: E,
|
|
78
|
+
children: /* @__PURE__ */ l(d, { className: "ttw:size-4.5" })
|
|
79
|
+
}) : null, D]
|
|
80
|
+
}) : null]
|
|
81
|
+
}),
|
|
82
|
+
/* @__PURE__ */ l(r, {
|
|
83
|
+
value: "my-transactions",
|
|
84
|
+
className: "ttw:pt-2",
|
|
85
|
+
children: h
|
|
86
|
+
}),
|
|
87
|
+
g ? /* @__PURE__ */ l(r, {
|
|
88
|
+
value: "team-transactions",
|
|
89
|
+
className: "ttw:pt-2",
|
|
90
|
+
children: g
|
|
91
|
+
}) : null,
|
|
92
|
+
y ? /* @__PURE__ */ l(r, {
|
|
93
|
+
value: "policies",
|
|
94
|
+
className: "ttw:pt-2",
|
|
95
|
+
children: y
|
|
96
|
+
}) : null,
|
|
97
|
+
b ? /* @__PURE__ */ l(r, {
|
|
98
|
+
value: "requirements",
|
|
99
|
+
className: "ttw:pt-2",
|
|
100
|
+
children: b
|
|
101
|
+
}) : null,
|
|
102
|
+
x ? /* @__PURE__ */ l(r, {
|
|
103
|
+
value: "matching",
|
|
104
|
+
className: "ttw:pt-2",
|
|
105
|
+
children: x
|
|
106
|
+
}) : null
|
|
107
|
+
]
|
|
108
|
+
})]
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
//#endregion
|
|
112
|
+
export { f as ExpensesScreen, f as default };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
//#region ../../libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ExpensesScreen/labels.js
|
|
2
|
+
var e = {
|
|
3
|
+
myTransactionsTab: "My transactions",
|
|
4
|
+
teamTransactionsTab: "Team transactions",
|
|
5
|
+
policiesTab: "Policies",
|
|
6
|
+
requirementsTab: "Requirements",
|
|
7
|
+
matchingTab: "Matching",
|
|
8
|
+
tabCountAriaSuffix: "items"
|
|
9
|
+
};
|
|
10
|
+
//#endregion
|
|
11
|
+
export { e as DEFAULT_LABELS };
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use client";
|
|
3
|
+
"use client";
|
|
4
|
+
"use client";
|
|
5
|
+
import { AmountFilter as e, DateRangePicker as t, FilterBar as n, FilterMenuButton as r, FilterTag as i, MultiSelectFilter as a, Popover as o, PopoverContent as s, PopoverTrigger as c, SearchInput as l, useFilterPanel as u } from "../../../../../../../packages/shared-ui-shadcn/dist/index.js";
|
|
6
|
+
import { EXPENSES_TRANSACTIONS_FILTER_BAR_LABELS_EN as d } from "./labels.js";
|
|
7
|
+
import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
|
|
8
|
+
import { ListFilter as h } from "lucide-react";
|
|
9
|
+
//#region ../../libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ExpensesTransactionsFilterBar/ExpensesTransactionsFilterBar.js
|
|
10
|
+
var g = {
|
|
11
|
+
date: "ttw:w-auto",
|
|
12
|
+
paymentStatus: "ttw:w-56",
|
|
13
|
+
approvalStatus: "ttw:w-56",
|
|
14
|
+
type: "ttw:w-64",
|
|
15
|
+
teamMember: "ttw:w-64",
|
|
16
|
+
amount: "ttw:w-64"
|
|
17
|
+
};
|
|
18
|
+
function _(_) {
|
|
19
|
+
let v = {
|
|
20
|
+
...d,
|
|
21
|
+
..._.labels
|
|
22
|
+
}, { showTeamMemberFilter: y = !0, showCardOnlyFilter: b = !0 } = _, x = u(), S = [
|
|
23
|
+
{
|
|
24
|
+
id: "date",
|
|
25
|
+
label: v.fieldDate
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
id: "paymentStatus",
|
|
29
|
+
label: v.fieldPaymentStatus
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
id: "approvalStatus",
|
|
33
|
+
label: v.fieldApprovalStatus
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
id: "type",
|
|
37
|
+
label: v.fieldType
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
id: "teamMember",
|
|
41
|
+
label: v.fieldTeamMember
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
id: "amount",
|
|
45
|
+
label: v.fieldAmount
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
id: "card",
|
|
49
|
+
label: v.fieldCardOnly
|
|
50
|
+
}
|
|
51
|
+
].filter((e) => (e.id !== "teamMember" || y) && (e.id !== "card" || b)), C = x.isMenuOpen || !!x.activePanelId, w = x.activePanelId && g[x.activePanelId] || "ttw:w-52", T = _.allPresets.map((e) => ({
|
|
52
|
+
value: e.value,
|
|
53
|
+
label: e.label,
|
|
54
|
+
group: e.group
|
|
55
|
+
})), E = (e) => {
|
|
56
|
+
e || (x.closeMenu(), x.closePanel());
|
|
57
|
+
}, D = (e) => {
|
|
58
|
+
e === "card" ? (_.onCardToggle(), x.closeMenu()) : x.openPanel(e);
|
|
59
|
+
};
|
|
60
|
+
return /* @__PURE__ */ p(n, {
|
|
61
|
+
className: "ttw:pl-4",
|
|
62
|
+
searchSlot: /* @__PURE__ */ p(l, {
|
|
63
|
+
value: _.searchValue,
|
|
64
|
+
onChange: (e) => _.onSearchChange(e.target.value),
|
|
65
|
+
placeholder: v.searchPlaceholder,
|
|
66
|
+
"aria-label": v.searchAriaLabel,
|
|
67
|
+
className: "ttw:min-w-56"
|
|
68
|
+
}),
|
|
69
|
+
menuSlot: /* @__PURE__ */ m(o, {
|
|
70
|
+
open: C,
|
|
71
|
+
onOpenChange: E,
|
|
72
|
+
children: [/* @__PURE__ */ p(c, {
|
|
73
|
+
asChild: !0,
|
|
74
|
+
children: /* @__PURE__ */ p(r, {
|
|
75
|
+
activeCount: _.activeFilterCount,
|
|
76
|
+
onClick: x.toggleMenu,
|
|
77
|
+
"aria-label": v.filtersButtonAriaLabel
|
|
78
|
+
})
|
|
79
|
+
}), /* @__PURE__ */ m(s, {
|
|
80
|
+
align: "start",
|
|
81
|
+
className: `ttw:p-0 ${w}`,
|
|
82
|
+
children: [
|
|
83
|
+
x.isMenuOpen ? /* @__PURE__ */ p("div", {
|
|
84
|
+
className: "ttw:p-1",
|
|
85
|
+
children: S.map((e) => /* @__PURE__ */ m("button", {
|
|
86
|
+
type: "button",
|
|
87
|
+
className: "ttw:flex ttw:items-center ttw:gap-2 ttw:w-full ttw:px-2 ttw:py-1.5 ttw:rounded-md ttw:text-xs ttw:font-medium ttw:hover:bg-accent ttw:transition-colors ttw:cursor-pointer",
|
|
88
|
+
onClick: () => D(e.id),
|
|
89
|
+
children: [
|
|
90
|
+
/* @__PURE__ */ p(h, { className: "ttw:size-4 ttw:text-muted-foreground ttw:shrink-0" }),
|
|
91
|
+
e.label,
|
|
92
|
+
e.id === "card" && _.cardOnly ? /* @__PURE__ */ p("span", {
|
|
93
|
+
className: "ttw:ml-auto ttw:text-xs ttw:text-indigo-600 ttw:font-semibold",
|
|
94
|
+
children: v.cardOnlyOn
|
|
95
|
+
}) : null
|
|
96
|
+
]
|
|
97
|
+
}, e.id))
|
|
98
|
+
}) : null,
|
|
99
|
+
x.activePanelId === "date" ? /* @__PURE__ */ p(t, {
|
|
100
|
+
from: _.dateFrom,
|
|
101
|
+
to: _.dateTo,
|
|
102
|
+
onRangeChange: _.onDateRangeChange,
|
|
103
|
+
selectedPreset: _.selectedDatePreset,
|
|
104
|
+
onPresetChange: _.onDatePresetChange,
|
|
105
|
+
presets: T,
|
|
106
|
+
labels: { fieldLabel: v.dateRangeFieldLabel }
|
|
107
|
+
}) : null,
|
|
108
|
+
x.activePanelId === "paymentStatus" ? /* @__PURE__ */ p(a, {
|
|
109
|
+
options: _.paymentStatusOptions,
|
|
110
|
+
selectedValues: _.selectedPaymentStatus,
|
|
111
|
+
onSelectionChange: _.onPaymentStatusChange
|
|
112
|
+
}) : null,
|
|
113
|
+
x.activePanelId === "approvalStatus" ? /* @__PURE__ */ p(a, {
|
|
114
|
+
options: _.approvalStatusOptions,
|
|
115
|
+
selectedValues: _.selectedApprovalStatus,
|
|
116
|
+
onSelectionChange: _.onApprovalStatusChange
|
|
117
|
+
}) : null,
|
|
118
|
+
x.activePanelId === "type" ? /* @__PURE__ */ p(a, {
|
|
119
|
+
options: _.typeOptions,
|
|
120
|
+
selectedValues: _.selectedTypes,
|
|
121
|
+
onSelectionChange: _.onTypeChange
|
|
122
|
+
}) : null,
|
|
123
|
+
x.activePanelId === "teamMember" ? /* @__PURE__ */ p(a, {
|
|
124
|
+
options: _.teamMemberOptions,
|
|
125
|
+
selectedValues: _.selectedTeamMembers,
|
|
126
|
+
onSelectionChange: _.onTeamMembersChange,
|
|
127
|
+
hasMore: _.teamMemberHasMore,
|
|
128
|
+
onLoadMore: _.onTeamMembersLoadMore
|
|
129
|
+
}) : null,
|
|
130
|
+
x.activePanelId === "amount" ? /* @__PURE__ */ p(e, {
|
|
131
|
+
mode: _.amountMode,
|
|
132
|
+
onModeChange: _.onAmountModeChange,
|
|
133
|
+
min: _.amountMin,
|
|
134
|
+
max: _.amountMax,
|
|
135
|
+
onMinChange: _.onAmountMinChange,
|
|
136
|
+
onMaxChange: _.onAmountMaxChange,
|
|
137
|
+
showFlowDirection: !0,
|
|
138
|
+
flowDirection: _.amountFlowDirection,
|
|
139
|
+
onFlowDirectionChange: _.onAmountFlowDirectionChange
|
|
140
|
+
}) : null
|
|
141
|
+
]
|
|
142
|
+
})]
|
|
143
|
+
}),
|
|
144
|
+
activeChipsSlot: /* @__PURE__ */ m(f, { children: [_.activeChips.map((e) => /* @__PURE__ */ p(i, {
|
|
145
|
+
label: e.label,
|
|
146
|
+
count: e.count,
|
|
147
|
+
variant: "default",
|
|
148
|
+
onDismiss: () => _.onDismissChip(e.key)
|
|
149
|
+
}, e.key)), _.activeFilterCount > 0 ? /* @__PURE__ */ p("button", {
|
|
150
|
+
type: "button",
|
|
151
|
+
className: "ttw:text-xs ttw:text-muted-foreground ttw:hover:text-foreground ttw:transition-colors ttw:cursor-pointer ttw:whitespace-nowrap",
|
|
152
|
+
onClick: _.onClearAll,
|
|
153
|
+
children: v.clearAll
|
|
154
|
+
}) : null] })
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
//#endregion
|
|
158
|
+
export { _ as ExpensesTransactionsFilterBar, _ as default };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
//#region ../../libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ExpensesTransactionsFilterBar/labels.js
|
|
2
|
+
var e = {
|
|
3
|
+
searchPlaceholder: "Search merchant...",
|
|
4
|
+
searchAriaLabel: "Search transactions by merchant",
|
|
5
|
+
filtersButtonAriaLabel: "Filters",
|
|
6
|
+
clearAll: "Clear all",
|
|
7
|
+
dateRangeFieldLabel: "Date range",
|
|
8
|
+
cardOnlyOn: "On",
|
|
9
|
+
fieldDate: "Date",
|
|
10
|
+
fieldPaymentStatus: "Payment Status",
|
|
11
|
+
fieldApprovalStatus: "Approval Status",
|
|
12
|
+
fieldType: "Type",
|
|
13
|
+
fieldTeamMember: "Team member",
|
|
14
|
+
fieldAmount: "Amount",
|
|
15
|
+
fieldCardOnly: "Card only"
|
|
16
|
+
};
|
|
17
|
+
//#endregion
|
|
18
|
+
export { e as EXPENSES_TRANSACTIONS_FILTER_BAR_LABELS_EN };
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use client";
|
|
3
|
+
"use client";
|
|
4
|
+
"use client";
|
|
5
|
+
import { Button as e, DataTable as t, DataTableSortableHeader as n } from "../../../../../../../packages/shared-ui-shadcn/dist/index.js";
|
|
6
|
+
import { ExpenseStatusBadge as r } from "../ExpenseStatusBadge/ExpenseStatusBadge.js";
|
|
7
|
+
import { EXPENSES_TRANSACTIONS_TABLE_LABELS_EN as i } from "./labels.js";
|
|
8
|
+
import { useMemo as a } from "react";
|
|
9
|
+
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
10
|
+
import { Loader2 as c, Plus as l, ReceiptIcon as u } from "lucide-react";
|
|
11
|
+
//#region ../../libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ExpensesTransactionsTable/ExpensesTransactionsTable.js
|
|
12
|
+
function d({ labels: d, statusBadgeLabels: f, rows: p, isLoading: m, sorting: h, onSortingChange: g, pageSize: _, onPageSizeChange: v, pageSizeOptions: y, hasNextPage: b, hasPrevPage: x, onNextPage: S, onPrevPage: C, pageInfo: w, filterComponent: T, emptyState: E, showCardholderColumn: D = !0, showDepartmentColumn: O = !0, onAddReceiptClick: k, uploadingReceiptId: A, onRowClick: j }) {
|
|
13
|
+
let M = {
|
|
14
|
+
...i,
|
|
15
|
+
...d
|
|
16
|
+
}, N = j ? {
|
|
17
|
+
onRowClick: (e) => j(e.id),
|
|
18
|
+
rowAriaLabel: (e) => M.rowAriaLabel(e.merchantLabel, e.amountLabel)
|
|
19
|
+
} : {}, P = a(() => {
|
|
20
|
+
let t = [
|
|
21
|
+
{
|
|
22
|
+
id: "startedAt",
|
|
23
|
+
header: ({ column: e }) => /* @__PURE__ */ o(n, {
|
|
24
|
+
column: e,
|
|
25
|
+
title: M.dateColumn
|
|
26
|
+
}),
|
|
27
|
+
enableSorting: !0,
|
|
28
|
+
cell: ({ row: e }) => /* @__PURE__ */ o("span", {
|
|
29
|
+
className: "ttw:whitespace-nowrap",
|
|
30
|
+
children: e.original.dateLabel
|
|
31
|
+
})
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
id: "status",
|
|
35
|
+
header: M.statusColumn,
|
|
36
|
+
enableSorting: !1,
|
|
37
|
+
cell: ({ row: e }) => /* @__PURE__ */ o(r, {
|
|
38
|
+
status: e.original.status,
|
|
39
|
+
hasValidationErrors: e.original.hasValidationErrors,
|
|
40
|
+
labels: f
|
|
41
|
+
})
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
accessorKey: "merchantLabel",
|
|
45
|
+
header: M.merchantColumn,
|
|
46
|
+
enableSorting: !1,
|
|
47
|
+
cell: ({ row: e }) => /* @__PURE__ */ o("div", {
|
|
48
|
+
className: "ttw:truncate",
|
|
49
|
+
children: e.original.merchantLabel
|
|
50
|
+
})
|
|
51
|
+
}
|
|
52
|
+
];
|
|
53
|
+
return D && t.push({
|
|
54
|
+
accessorKey: "cardholderLabel",
|
|
55
|
+
header: M.cardholderColumn,
|
|
56
|
+
enableSorting: !1,
|
|
57
|
+
cell: ({ row: e }) => /* @__PURE__ */ o("span", {
|
|
58
|
+
className: "ttw:inline-block ttw:w-[95%] ttw:truncate",
|
|
59
|
+
children: e.original.cardholderLabel
|
|
60
|
+
})
|
|
61
|
+
}), t.push({
|
|
62
|
+
accessorKey: "cardLabel",
|
|
63
|
+
header: M.cardColumn,
|
|
64
|
+
enableSorting: !1,
|
|
65
|
+
cell: ({ row: e }) => /* @__PURE__ */ s("div", {
|
|
66
|
+
className: "ttw:flex ttw:items-center ttw:gap-1",
|
|
67
|
+
children: [/* @__PURE__ */ o("span", {
|
|
68
|
+
className: "ttw:text-zinc-500",
|
|
69
|
+
children: e.original.cardLabel
|
|
70
|
+
}), e.original.cardFormatLabel ? /* @__PURE__ */ o("span", {
|
|
71
|
+
className: "ttw:rounded-sm ttw:bg-zinc-100 ttw:text-[10px] ttw:text-zinc-700 ttw:p-1",
|
|
72
|
+
children: e.original.cardFormatLabel
|
|
73
|
+
}) : null]
|
|
74
|
+
})
|
|
75
|
+
}), O && t.push({
|
|
76
|
+
accessorKey: "departmentLabel",
|
|
77
|
+
header: M.departmentColumn,
|
|
78
|
+
enableSorting: !1,
|
|
79
|
+
cell: ({ row: e }) => /* @__PURE__ */ o("span", {
|
|
80
|
+
className: "ttw:whitespace-nowrap",
|
|
81
|
+
children: e.original.departmentLabel
|
|
82
|
+
})
|
|
83
|
+
}), t.push({
|
|
84
|
+
id: "receipt",
|
|
85
|
+
header: M.receiptColumn,
|
|
86
|
+
enableSorting: !1,
|
|
87
|
+
cell: ({ row: t }) => {
|
|
88
|
+
if (t.original.hasReceipt) return /* @__PURE__ */ o(u, {
|
|
89
|
+
className: t.original.isReceiptHighlighted ? "ttw:size-4 ttw:text-purple-700" : "ttw:size-4",
|
|
90
|
+
role: "img",
|
|
91
|
+
"aria-label": M.receiptPresentAriaLabel
|
|
92
|
+
});
|
|
93
|
+
if (!k) return null;
|
|
94
|
+
let n = t.original.id === A;
|
|
95
|
+
return /* @__PURE__ */ o(e, {
|
|
96
|
+
type: "button",
|
|
97
|
+
variant: "outline",
|
|
98
|
+
size: "icon-sm",
|
|
99
|
+
"aria-label": n ? M.addingReceiptAriaLabel : M.addReceiptAriaLabel,
|
|
100
|
+
disabled: n,
|
|
101
|
+
onClick: (e) => {
|
|
102
|
+
e.stopPropagation(), k(t.original.id);
|
|
103
|
+
},
|
|
104
|
+
children: n ? /* @__PURE__ */ o(c, { className: "ttw:size-4 ttw:animate-spin" }) : /* @__PURE__ */ o(l, { className: "ttw:size-4" })
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
}, {
|
|
108
|
+
id: "amount",
|
|
109
|
+
header: ({ column: e }) => /* @__PURE__ */ o(n, {
|
|
110
|
+
column: e,
|
|
111
|
+
title: M.amountColumn
|
|
112
|
+
}),
|
|
113
|
+
enableSorting: !0,
|
|
114
|
+
cell: ({ row: e }) => /* @__PURE__ */ o("span", {
|
|
115
|
+
className: "ttw:font-medium ttw:whitespace-nowrap",
|
|
116
|
+
children: e.original.amountLabel
|
|
117
|
+
})
|
|
118
|
+
}), t;
|
|
119
|
+
}, [
|
|
120
|
+
M,
|
|
121
|
+
f,
|
|
122
|
+
D,
|
|
123
|
+
O,
|
|
124
|
+
k,
|
|
125
|
+
A
|
|
126
|
+
]);
|
|
127
|
+
return /* @__PURE__ */ o(t, {
|
|
128
|
+
columns: P,
|
|
129
|
+
data: p,
|
|
130
|
+
sorting: h,
|
|
131
|
+
onSortingChange: g,
|
|
132
|
+
pageSize: _,
|
|
133
|
+
onPageSizeChange: v,
|
|
134
|
+
pageSizeOptions: y,
|
|
135
|
+
hasNextPage: b,
|
|
136
|
+
hasPrevPage: x,
|
|
137
|
+
onNextPage: S,
|
|
138
|
+
onPrevPage: C,
|
|
139
|
+
pageInfo: w,
|
|
140
|
+
filterComponent: T,
|
|
141
|
+
isLoading: m,
|
|
142
|
+
getRowId: (e) => e.id,
|
|
143
|
+
...N,
|
|
144
|
+
children: E
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
//#endregion
|
|
148
|
+
export { d as ExpensesTransactionsTable, d as default };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
//#region ../../libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/ExpensesTransactionsTable/labels.js
|
|
2
|
+
var e = {
|
|
3
|
+
dateColumn: "Date",
|
|
4
|
+
statusColumn: "Status",
|
|
5
|
+
merchantColumn: "Merchant",
|
|
6
|
+
cardholderColumn: "Cardholder",
|
|
7
|
+
cardColumn: "Card",
|
|
8
|
+
departmentColumn: "Department",
|
|
9
|
+
receiptColumn: "Receipt",
|
|
10
|
+
amountColumn: "Amount",
|
|
11
|
+
receiptPresentAriaLabel: "Receipt attached",
|
|
12
|
+
receiptMissingAriaLabel: "No receipt attached",
|
|
13
|
+
addReceiptAriaLabel: "Add receipt",
|
|
14
|
+
addingReceiptAriaLabel: "Adding receipt",
|
|
15
|
+
rowAriaLabel: (e, t) => `Review expense — ${e}, ${t}`
|
|
16
|
+
};
|
|
17
|
+
//#endregion
|
|
18
|
+
export { e as EXPENSES_TRANSACTIONS_TABLE_LABELS_EN };
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use client";
|
|
3
|
+
"use client";
|
|
4
|
+
"use client";
|
|
5
|
+
import { Button as e, DropdownMenu as t, DropdownMenuContent as n, DropdownMenuItem as r, DropdownMenuTrigger as i, cn as a } from "../../../../../../../packages/shared-ui-shadcn/dist/index.js";
|
|
6
|
+
import { isPdf as o } from "../isPdf.js";
|
|
7
|
+
import { FILE_VIEWER_LABELS_EN as s } from "./labels.js";
|
|
8
|
+
import { PdfFileViewer as c } from "./PdfFileViewer.js";
|
|
9
|
+
import { useState as l } from "react";
|
|
10
|
+
import { jsx as u, jsxs as d } from "react/jsx-runtime";
|
|
11
|
+
import { Download as f, MoreVertical as p, Trash2 as m, ZoomIn as h, ZoomOut as g } from "lucide-react";
|
|
12
|
+
//#region ../../libs/tesouro-embedded-components-react/expense-management-widget/ui/dist/lib/FileViewer/FileViewer.js
|
|
13
|
+
var _ = .25, v = .5, y = 3;
|
|
14
|
+
function b({ url: b, className: x, isPreview: S, showDeleteOption: C, onDeleteClick: w, labels: T }) {
|
|
15
|
+
let [E, D] = l(1), O = {
|
|
16
|
+
...s,
|
|
17
|
+
...T
|
|
18
|
+
}, k = () => D((e) => Math.max(v, e - _)), A = () => D((e) => Math.min(y, e + _)), j = a("ttw:h-full ttw:w-full", !o(b) && "ttw:object-contain", S && o(b) && "ttw:pointer-events-none ttw:border-none"), M = o(b) ? /* @__PURE__ */ u(c, {
|
|
19
|
+
url: b,
|
|
20
|
+
scale: E,
|
|
21
|
+
title: O.filePreview,
|
|
22
|
+
className: j
|
|
23
|
+
}) : /* @__PURE__ */ u("img", {
|
|
24
|
+
src: b,
|
|
25
|
+
alt: O.filePreview,
|
|
26
|
+
className: j
|
|
27
|
+
});
|
|
28
|
+
return S ? M : /* @__PURE__ */ d("div", {
|
|
29
|
+
className: a("ttw:relative ttw:flex-1 ttw:overflow-hidden ttw:rounded-md ttw:bg-background", x),
|
|
30
|
+
children: [/* @__PURE__ */ u("div", {
|
|
31
|
+
className: "ttw:absolute ttw:inset-0 ttw:overflow-auto",
|
|
32
|
+
children: /* @__PURE__ */ u("div", {
|
|
33
|
+
className: "ttw:box-border ttw:p-6",
|
|
34
|
+
style: o(b) ? void 0 : {
|
|
35
|
+
width: `${E * 100}%`,
|
|
36
|
+
height: `${E * 100}%`
|
|
37
|
+
},
|
|
38
|
+
children: M
|
|
39
|
+
})
|
|
40
|
+
}), /* @__PURE__ */ d("div", {
|
|
41
|
+
className: "ttw:absolute ttw:bottom-4 ttw:left-4 ttw:right-4 ttw:z-10 ttw:flex ttw:items-center ttw:justify-between",
|
|
42
|
+
children: [/* @__PURE__ */ d("div", {
|
|
43
|
+
className: "ttw:flex ttw:items-center ttw:rounded-[14px] ttw:border ttw:border-border ttw:bg-background",
|
|
44
|
+
children: [
|
|
45
|
+
/* @__PURE__ */ u(e, {
|
|
46
|
+
type: "button",
|
|
47
|
+
variant: "ghost",
|
|
48
|
+
size: "icon-sm",
|
|
49
|
+
"aria-label": O.zoomOut,
|
|
50
|
+
onClick: k,
|
|
51
|
+
disabled: E <= v,
|
|
52
|
+
className: "ttw:rounded-none ttw:rounded-bl-[14px] ttw:rounded-tl-[14px]",
|
|
53
|
+
children: /* @__PURE__ */ u(g, {
|
|
54
|
+
className: "ttw:size-4",
|
|
55
|
+
"aria-hidden": !0
|
|
56
|
+
})
|
|
57
|
+
}),
|
|
58
|
+
/* @__PURE__ */ u("div", { className: "ttw:w-px ttw:self-stretch ttw:bg-border" }),
|
|
59
|
+
/* @__PURE__ */ u(e, {
|
|
60
|
+
type: "button",
|
|
61
|
+
variant: "ghost",
|
|
62
|
+
size: "icon-sm",
|
|
63
|
+
"aria-label": O.zoomIn,
|
|
64
|
+
onClick: A,
|
|
65
|
+
disabled: E >= y,
|
|
66
|
+
className: "ttw:rounded-none ttw:rounded-br-[14px] ttw:rounded-tr-[14px]",
|
|
67
|
+
children: /* @__PURE__ */ u(h, {
|
|
68
|
+
className: "ttw:size-4",
|
|
69
|
+
"aria-hidden": !0
|
|
70
|
+
})
|
|
71
|
+
})
|
|
72
|
+
]
|
|
73
|
+
}), /* @__PURE__ */ d(t, { children: [/* @__PURE__ */ u(i, {
|
|
74
|
+
asChild: !0,
|
|
75
|
+
children: /* @__PURE__ */ u(e, {
|
|
76
|
+
type: "button",
|
|
77
|
+
variant: "ghost",
|
|
78
|
+
size: "icon-sm",
|
|
79
|
+
"aria-label": O.moreActions,
|
|
80
|
+
className: "ttw:bg-background",
|
|
81
|
+
children: /* @__PURE__ */ u(p, {
|
|
82
|
+
className: "ttw:size-4",
|
|
83
|
+
"aria-hidden": !0
|
|
84
|
+
})
|
|
85
|
+
})
|
|
86
|
+
}), /* @__PURE__ */ d(n, {
|
|
87
|
+
align: "end",
|
|
88
|
+
children: [/* @__PURE__ */ u(r, {
|
|
89
|
+
asChild: !0,
|
|
90
|
+
children: /* @__PURE__ */ d("a", {
|
|
91
|
+
href: b,
|
|
92
|
+
download: !0,
|
|
93
|
+
target: "_blank",
|
|
94
|
+
rel: "noreferrer",
|
|
95
|
+
children: [/* @__PURE__ */ u(f, { "aria-hidden": !0 }), O.downloadAttachment]
|
|
96
|
+
})
|
|
97
|
+
}), C && /* @__PURE__ */ d(r, {
|
|
98
|
+
variant: "destructive",
|
|
99
|
+
onClick: w,
|
|
100
|
+
children: [/* @__PURE__ */ u(m, { "aria-hidden": !0 }), O.deleteAttachment]
|
|
101
|
+
})]
|
|
102
|
+
})] })]
|
|
103
|
+
})]
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
//#endregion
|
|
107
|
+
export { b as FileViewer, b as default };
|