@voyant-travel/finance-react 0.122.1 → 0.124.0
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/dist/checkout-components/collect-payment-dialog.js +1 -1
- package/dist/checkout-components/payment-link-landing-page.js +3 -3
- package/dist/checkout-components/payment-step.js +2 -2
- package/dist/components/supplier-invoice-form-dialog.d.ts +13 -1
- package/dist/components/supplier-invoice-form-dialog.d.ts.map +1 -1
- package/dist/components/supplier-invoice-form-dialog.js +44 -4
- package/dist/components/supplier-invoices-page.d.ts +5 -1
- package/dist/components/supplier-invoices-page.d.ts.map +1 -1
- package/dist/components/supplier-invoices-page.js +2 -2
- package/dist/components/taxes-page.js +3 -3
- package/dist/i18n/en/suppliers.d.ts +5 -0
- package/dist/i18n/en/suppliers.d.ts.map +1 -1
- package/dist/i18n/en/suppliers.js +5 -0
- package/dist/i18n/en.d.ts +5 -0
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/messages/suppliers.d.ts +7 -0
- package/dist/i18n/messages/suppliers.d.ts.map +1 -1
- package/dist/i18n/provider.d.ts +10 -0
- package/dist/i18n/provider.d.ts.map +1 -1
- package/dist/i18n/ro/suppliers.d.ts +5 -0
- package/dist/i18n/ro/suppliers.d.ts.map +1 -1
- package/dist/i18n/ro/suppliers.js +5 -0
- package/dist/i18n/ro.d.ts +5 -0
- package/dist/i18n/ro.d.ts.map +1 -1
- package/package.json +16 -16
|
@@ -115,7 +115,7 @@ function ResultPanel({ result }) {
|
|
|
115
115
|
sessionId: sessionId ?? messages.result.noSession,
|
|
116
116
|
}) }));
|
|
117
117
|
}
|
|
118
|
-
return (_jsxs("div", { className: "flex flex-col gap-4 rounded-
|
|
118
|
+
return (_jsxs("div", { className: "flex flex-col gap-4 rounded-md border bg-card p-5", children: [_jsxs("div", { className: "flex items-center gap-2 text-emerald-700", children: [_jsx(CheckCircle2, { className: "h-5 w-5" }), _jsx("span", { className: "font-medium", children: messages.result.ready })] }), _jsx("p", { className: "text-muted-foreground text-sm", children: messages.result.body }), _jsxs("div", { className: "flex items-center gap-2 rounded-md border bg-muted/30 p-3 font-mono text-xs", children: [_jsx("span", { className: "flex-1 break-all", children: landingUrl }), _jsx("button", { type: "button", "aria-label": messages.result.copyLink, className: "text-muted-foreground hover:text-foreground", onClick: () => {
|
|
119
119
|
navigator.clipboard?.writeText(landingUrl).catch(() => undefined);
|
|
120
120
|
}, children: _jsx(Copy, { className: "h-3.5 w-3.5" }) }), _jsx("a", { href: landingUrl, target: "_blank", rel: "noreferrer", "aria-label": messages.result.openLink, className: "text-muted-foreground hover:text-foreground", children: _jsx(ExternalLink, { className: "h-3.5 w-3.5" }) })] })] }));
|
|
121
121
|
}
|
|
@@ -92,7 +92,7 @@ function CardPanel({ session, onPayByCard, }) {
|
|
|
92
92
|
setStarting(false);
|
|
93
93
|
}
|
|
94
94
|
};
|
|
95
|
-
return (_jsxs("div", { className: "rounded-
|
|
95
|
+
return (_jsxs("div", { className: "rounded-md border bg-card p-5 shadow-sm", children: [_jsx("p", { className: "mb-4 text-muted-foreground text-sm", children: messages.card.description }), _jsxs(Button, { className: "w-full", disabled: starting, onClick: handleClick, children: [starting && _jsx(Loader2, { className: "mr-2 h-4 w-4 animate-spin" }), formatMessage(messages.card.payAmount, {
|
|
96
96
|
amount: i18n.formatCurrency(session.amountCents / 100, session.currency),
|
|
97
97
|
}), !starting && _jsx(ExternalLink, { className: "ml-2 h-4 w-4" })] }), error && (_jsx("p", { className: "mt-3 text-destructive text-xs", children: formatMessage(messages.card.errorAdvice, { message: error }) }))] }));
|
|
98
98
|
}
|
|
@@ -100,7 +100,7 @@ function BankTransferPanel({ session, instructions, }) {
|
|
|
100
100
|
const i18n = useCheckoutUiI18nOrDefault();
|
|
101
101
|
const messages = i18n.messages.paymentLinkLandingPage;
|
|
102
102
|
const reference = instructions.reference ?? session.externalReference ?? session.clientReference ?? session.id;
|
|
103
|
-
return (_jsxs("div", { className: "rounded-
|
|
103
|
+
return (_jsxs("div", { className: "rounded-md border bg-card p-5 shadow-sm", children: [_jsx("p", { className: "mb-4 text-muted-foreground text-sm", children: formatMessage(messages.bank.instructions, {
|
|
104
104
|
amount: i18n.formatCurrency(session.amountCents / 100, session.currency),
|
|
105
105
|
}) }), _jsxs("dl", { className: "grid grid-cols-1 gap-2 text-sm", children: [_jsx(Row, { label: messages.bank.beneficiary, children: instructions.beneficiaryName }), _jsx(Row, { label: messages.bank.iban, copyValue: instructions.iban, children: _jsx("span", { className: "font-mono", children: instructions.iban }) }), instructions.bic && (_jsx(Row, { label: messages.bank.bicSwift, copyValue: instructions.bic, children: _jsx("span", { className: "font-mono", children: instructions.bic }) })), instructions.bankName && _jsx(Row, { label: messages.bank.bank, children: instructions.bankName }), _jsx(Row, { label: messages.bank.reference, copyValue: reference, children: _jsx("span", { className: "font-mono", children: reference }) })] }), instructions.notes && (_jsx("p", { className: "mt-4 text-muted-foreground text-xs", children: instructions.notes }))] }));
|
|
106
106
|
}
|
|
@@ -166,7 +166,7 @@ function TerminalState({ status, reason, onRetry, }) {
|
|
|
166
166
|
}
|
|
167
167
|
function ProcessingState() {
|
|
168
168
|
const messages = useCheckoutUiMessagesOrDefault().paymentLinkLandingPage;
|
|
169
|
-
return (_jsxs("div", { className: "flex flex-col items-center gap-3 rounded-
|
|
169
|
+
return (_jsxs("div", { className: "flex flex-col items-center gap-3 rounded-md border bg-card p-8 text-center", children: [_jsx(Loader2, { className: "h-10 w-10 animate-spin text-muted-foreground" }), _jsx("h2", { className: "font-semibold text-lg", children: messages.processing.title }), _jsx("p", { className: "max-w-md text-muted-foreground text-sm", children: messages.processing.body })] }));
|
|
170
170
|
}
|
|
171
171
|
function defaultDescription(session, messages) {
|
|
172
172
|
return messages.descriptions[session.targetType] ?? messages.descriptions.default;
|
|
@@ -27,7 +27,7 @@ export function PaymentStep({ value, onChange, capabilities, savedMethods, loadi
|
|
|
27
27
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
28
28
|
function SavedMethodsSection({ loading, methods, selectedId, onSelect, }) {
|
|
29
29
|
const messages = useCheckoutUiMessagesOrDefault().paymentStep.savedMethods;
|
|
30
|
-
return (_jsxs("section", { className: "rounded-
|
|
30
|
+
return (_jsxs("section", { className: "rounded-md border bg-card p-5 shadow-sm", children: [_jsxs("header", { className: "mb-3 flex items-center justify-between", children: [_jsx("h3", { className: "font-medium text-sm", children: messages.title }), methods.length > 0 && (_jsx("span", { className: "text-muted-foreground text-xs", children: formatMessage(messages.countOnFile, { count: methods.length }) }))] }), loading ? (_jsx("div", { className: "h-16 animate-pulse rounded-md bg-muted/40" })) : methods.length === 0 ? (_jsx("div", { className: "rounded-md border border-dashed p-4 text-center text-muted-foreground text-xs", children: messages.empty })) : (_jsx("ul", { className: "flex flex-col gap-2", children: methods.map((m) => {
|
|
31
31
|
const selected = selectedId === m.id;
|
|
32
32
|
return (_jsx("li", { children: _jsxs("button", { type: "button", onClick: () => onSelect(m), className: cn("flex w-full items-center gap-3 rounded-md border bg-background p-3 text-left transition-colors", selected
|
|
33
33
|
? "border-primary ring-2 ring-primary/20"
|
|
@@ -71,7 +71,7 @@ function AltMethodsSection({ value, onChange, showNewCard, extraOptions, hideHol
|
|
|
71
71
|
onChange({ type: "extra", optionId: id.slice("extra:".length) });
|
|
72
72
|
}
|
|
73
73
|
};
|
|
74
|
-
return (_jsxs("section", { className: "rounded-
|
|
74
|
+
return (_jsxs("section", { className: "rounded-md border bg-card p-5 shadow-sm", children: [_jsx("header", { className: "mb-3 flex items-center justify-between", children: _jsx("h3", { className: "font-medium text-sm", children: messages.title }) }), _jsxs(RadioGroup, { value: activeId ?? "__none", onValueChange: (v) => {
|
|
75
75
|
if (!v)
|
|
76
76
|
return;
|
|
77
77
|
if (v === "new_card" || v === "hold" || v.startsWith("extra:")) {
|
|
@@ -40,6 +40,18 @@ export interface SupplierInvoiceFormDialogProps {
|
|
|
40
40
|
* when both this and `searchSuppliers` are provided.
|
|
41
41
|
*/
|
|
42
42
|
createSupplier?: (name: string) => Promise<AsyncComboboxOption | null>;
|
|
43
|
+
/**
|
|
44
|
+
* Search the products module for the create dialog's product picker. When
|
|
45
|
+
* provided (create mode only), the operator can attribute the invoice to a
|
|
46
|
+
* product — and, with `listDeparturesForProduct`, to one of its departures.
|
|
47
|
+
* On save this emits a whole-invoice cost allocation seeded from the total.
|
|
48
|
+
*/
|
|
49
|
+
searchProducts?: (query: string) => Promise<AsyncComboboxOption[]>;
|
|
50
|
+
/**
|
|
51
|
+
* List a product's departures for the create dialog's two-step picker (pick
|
|
52
|
+
* product, then departure). Only used alongside `searchProducts`.
|
|
53
|
+
*/
|
|
54
|
+
listDeparturesForProduct?: (productId: string, query: string) => Promise<AsyncComboboxOption[]>;
|
|
43
55
|
}
|
|
44
|
-
export declare function SupplierInvoiceFormDialog({ open, onOpenChange, invoice, onSaved, extractFromFile, searchSuppliers, createSupplier, }: SupplierInvoiceFormDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
56
|
+
export declare function SupplierInvoiceFormDialog({ open, onOpenChange, invoice, onSaved, extractFromFile, searchSuppliers, createSupplier, searchProducts, listDeparturesForProduct, }: SupplierInvoiceFormDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
45
57
|
//# sourceMappingURL=supplier-invoice-form-dialog.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supplier-invoice-form-dialog.d.ts","sourceRoot":"","sources":["../../src/components/supplier-invoice-form-dialog.tsx"],"names":[],"mappings":"AAwBA,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAE3B,MAAM,aAAa,CAAA;AACpB,OAAO,EAAiB,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAY7E;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,MAAM,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAA;IACrC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB;AAED,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,iDAAiD;IACjD,OAAO,CAAC,EAAE,qBAAqB,CAAA;IAC/B,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,yBAAyB,CAAC,CAAA;IACpE;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAA;IACnE;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"supplier-invoice-form-dialog.d.ts","sourceRoot":"","sources":["../../src/components/supplier-invoice-form-dialog.tsx"],"names":[],"mappings":"AAwBA,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAE3B,MAAM,aAAa,CAAA;AACpB,OAAO,EAAiB,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAY7E;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,MAAM,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAA;IACrC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB;AAED,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,iDAAiD;IACjD,OAAO,CAAC,EAAE,qBAAqB,CAAA;IAC/B,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,yBAAyB,CAAC,CAAA;IACpE;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAA;IACnE;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAA;IACtE;;;;;OAKG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAA;IAClE;;;OAGG;IACH,wBAAwB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAA;CAChG;AAuCD,wBAAgB,yBAAyB,CAAC,EACxC,IAAI,EACJ,YAAY,EACZ,OAAO,EACP,OAAO,EACP,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,EACd,wBAAwB,GACzB,EAAE,8BAA8B,2CAkPhC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { formatMessage } from "@voyant-travel/i18n";
|
|
3
3
|
import { Button, Dialog, DialogBody, DialogContent, DialogFooter, DialogHeader, DialogTitle, Input, Label, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, Textarea, } from "@voyant-travel/ui/components";
|
|
4
4
|
import { CurrencyCombobox } from "@voyant-travel/ui/components/currency-combobox";
|
|
@@ -28,9 +28,17 @@ function seed(invoice) {
|
|
|
28
28
|
dueDate: invoice?.dueDate ?? "",
|
|
29
29
|
internalRef: invoice?.internalRef ?? "",
|
|
30
30
|
notes: invoice?.notes ?? "",
|
|
31
|
+
productId: "",
|
|
32
|
+
departureId: "",
|
|
33
|
+
total: "",
|
|
31
34
|
};
|
|
32
35
|
}
|
|
33
|
-
|
|
36
|
+
/** Parse a major-unit amount string ("1250.00") to integer cents. */
|
|
37
|
+
function toCents(major) {
|
|
38
|
+
const n = Number.parseFloat(major);
|
|
39
|
+
return Number.isFinite(n) ? Math.round(n * 100) : 0;
|
|
40
|
+
}
|
|
41
|
+
export function SupplierInvoiceFormDialog({ open, onOpenChange, invoice, onSaved, extractFromFile, searchSuppliers, createSupplier, searchProducts, listDeparturesForProduct, }) {
|
|
34
42
|
const messages = useFinanceUiMessagesOrDefault();
|
|
35
43
|
const t = messages.supplierInvoiceDetail.form;
|
|
36
44
|
const statusLabels = messages.supplierInvoicesPage.statusLabels;
|
|
@@ -46,6 +54,7 @@ export function SupplierInvoiceFormDialog({ open, onOpenChange, invoice, onSaved
|
|
|
46
54
|
try {
|
|
47
55
|
const x = await extractFromFile(file);
|
|
48
56
|
setForm((prev) => ({
|
|
57
|
+
...prev,
|
|
49
58
|
supplierInvoiceNo: x.supplierInvoiceNo ?? prev.supplierInvoiceNo,
|
|
50
59
|
supplierId: x.supplierId ?? prev.supplierId,
|
|
51
60
|
status: x.status ?? prev.status,
|
|
@@ -89,13 +98,44 @@ export function SupplierInvoiceFormDialog({ open, onOpenChange, invoice, onSaved
|
|
|
89
98
|
update.mutate({ id: invoice.id, input: payload }, { onSuccess: (row) => onDone(row?.id ?? invoice.id) });
|
|
90
99
|
}
|
|
91
100
|
else {
|
|
92
|
-
|
|
101
|
+
// Attribute the whole invoice to the picked departure (or, failing that,
|
|
102
|
+
// product) as a single manual cost allocation, seeded with the total.
|
|
103
|
+
const totalCents = toCents(form.total);
|
|
104
|
+
const allocations = form.departureId
|
|
105
|
+
? [
|
|
106
|
+
{
|
|
107
|
+
targetType: "departure",
|
|
108
|
+
departureId: form.departureId,
|
|
109
|
+
amountCents: totalCents,
|
|
110
|
+
splitMethod: "manual",
|
|
111
|
+
},
|
|
112
|
+
]
|
|
113
|
+
: form.productId
|
|
114
|
+
? [
|
|
115
|
+
{
|
|
116
|
+
targetType: "product",
|
|
117
|
+
productId: form.productId,
|
|
118
|
+
amountCents: totalCents,
|
|
119
|
+
splitMethod: "manual",
|
|
120
|
+
},
|
|
121
|
+
]
|
|
122
|
+
: undefined;
|
|
123
|
+
create.mutate({
|
|
124
|
+
...payload,
|
|
125
|
+
...(form.total ? { totalCents } : {}),
|
|
126
|
+
...(allocations ? { allocations } : {}),
|
|
127
|
+
}, { onSuccess: (row) => row && onDone(row.id) });
|
|
93
128
|
}
|
|
94
129
|
};
|
|
95
130
|
return (_jsx(Dialog, { open: open, onOpenChange: onOpenChange, children: _jsxs(DialogContent, { className: "sm:max-w-lg", children: [_jsx(DialogHeader, { children: _jsx(DialogTitle, { children: isEdit ? t.editTitle : messages.supplierInvoicesPage.recordInvoice }) }), _jsxs(DialogBody, { className: "grid grid-cols-2 gap-3", children: [extractFromFile ? (_jsxs("label", { className: "col-span-2 cursor-pointer", children: [_jsxs("span", { className: "inline-flex h-9 items-center gap-2 rounded-md border border-dashed px-3 text-sm font-medium hover:bg-muted", children: [_jsx(Upload, { className: "size-4" }), extracting ? t.extracting : t.extractUpload] }), _jsx("input", { type: "file", className: "sr-only", disabled: extracting, onChange: (e) => {
|
|
96
131
|
void handleExtract(e.target.files?.[0]);
|
|
97
132
|
e.target.value = "";
|
|
98
|
-
} })] })) : null, _jsx(Field, { label: t.supplierInvoiceNo, children: _jsx(Input, { value: form.supplierInvoiceNo, onChange: (e) => set({ supplierInvoiceNo: e.target.value }) }) }), _jsx(Field, { label: t.supplierId, children: searchSuppliers ? (_jsx(AsyncCombobox, { value: form.supplierId || null, onChange: (v) => set({ supplierId: v ?? "" }), search: searchSuppliers, onCreate: createSupplier, createLabel: (name) => formatMessage(t.supplierCreate, { name }), placeholder: t.supplierSearchPlaceholder })) : (_jsx(Input, { value: form.supplierId, onChange: (e) => set({ supplierId: e.target.value }) })) }), _jsx(Field, { label: t.status, children: _jsxs(Select, { value: form.status, onValueChange: (v) => set({ status: v ?? "received" }), children: [_jsx(SelectTrigger, { className: "w-full", children: _jsx(SelectValue, {}) }), _jsx(SelectContent, { children: STATUS_ORDER.map((s) => (_jsx(SelectItem, { value: s, children: statusLabels[s] }, s))) })] }) }), _jsx(Field, { label: t.currency, children: _jsx(CurrencyCombobox, { value: form.currency || null, onChange: (v) => set({ currency: v ?? "" }), className: "w-full" }) }), _jsx(Field, { label: t.issueDate, children: _jsx(DatePicker, { value: form.issueDate || null, onChange: (v) => set({ issueDate: v ?? "" }), className: "w-full" }) }), _jsx(Field, { label: t.dueDate, children: _jsx(DatePicker, { value: form.dueDate || null, onChange: (v) => set({ dueDate: v ?? "" }), className: "w-full" }) }), _jsx(Field, { label: t.
|
|
133
|
+
} })] })) : null, _jsx(Field, { label: t.supplierInvoiceNo, children: _jsx(Input, { value: form.supplierInvoiceNo, onChange: (e) => set({ supplierInvoiceNo: e.target.value }) }) }), _jsx(Field, { label: t.supplierId, children: searchSuppliers ? (_jsx(AsyncCombobox, { value: form.supplierId || null, onChange: (v) => set({ supplierId: v ?? "" }), search: searchSuppliers, onCreate: createSupplier, createLabel: (name) => formatMessage(t.supplierCreate, { name }), placeholder: t.supplierSearchPlaceholder })) : (_jsx(Input, { value: form.supplierId, onChange: (e) => set({ supplierId: e.target.value }) })) }), _jsx(Field, { label: t.status, children: _jsxs(Select, { value: form.status, onValueChange: (v) => set({ status: v ?? "received" }), children: [_jsx(SelectTrigger, { className: "w-full", children: _jsx(SelectValue, {}) }), _jsx(SelectContent, { children: STATUS_ORDER.map((s) => (_jsx(SelectItem, { value: s, children: statusLabels[s] }, s))) })] }) }), _jsx(Field, { label: t.currency, children: _jsx(CurrencyCombobox, { value: form.currency || null, onChange: (v) => set({ currency: v ?? "" }), className: "w-full" }) }), _jsx(Field, { label: t.issueDate, children: _jsx(DatePicker, { value: form.issueDate || null, onChange: (v) => set({ issueDate: v ?? "" }), className: "w-full" }) }), _jsx(Field, { label: t.dueDate, children: _jsx(DatePicker, { value: form.dueDate || null, onChange: (v) => set({ dueDate: v ?? "" }), className: "w-full" }) }), !isEdit && searchProducts ? (_jsxs(_Fragment, { children: [_jsx(Field, { label: t.product, className: "col-span-2", children: _jsx(AsyncCombobox, { value: form.productId || null, onChange: (v) => set({ productId: v ?? "", departureId: "" }), search: searchProducts, placeholder: t.productSearchPlaceholder }) }), listDeparturesForProduct ? (_jsx(Field, { label: t.departure, className: "col-span-2", children: _jsx(AsyncCombobox
|
|
134
|
+
// Remount when the product changes so stale departures from
|
|
135
|
+
// the previous product can't be offered/selected.
|
|
136
|
+
, { value: form.departureId || null, onChange: (v) => set({ departureId: v ?? "" }), disabled: !form.productId, search: (query) => form.productId
|
|
137
|
+
? listDeparturesForProduct(form.productId, query)
|
|
138
|
+
: Promise.resolve([]), placeholder: t.departureSearchPlaceholder }, form.productId || "no-product") })) : null, _jsx(Field, { label: formatMessage(t.totalLabel, { currency: form.currency || "" }), className: "col-span-2", children: _jsx(Input, { inputMode: "decimal", value: form.total, onChange: (e) => set({ total: e.target.value }) }) })] })) : null, _jsx(Field, { label: t.internalRef, className: "col-span-2", children: _jsx(Input, { value: form.internalRef, onChange: (e) => set({ internalRef: e.target.value }) }) }), _jsx(Field, { label: t.notes, className: "col-span-2", children: _jsx(Textarea, { value: form.notes, onChange: (e) => set({ notes: e.target.value }) }) })] }), _jsx(DialogFooter, { children: _jsx(Button, { type: "button", disabled: !canSave || pending, onClick: submit, children: pending ? t.saving : t.save }) })] }) }));
|
|
99
139
|
}
|
|
100
140
|
function Field({ label, className, children, }) {
|
|
101
141
|
return (_jsxs("div", { className: cn("flex flex-col gap-2", className), children: [_jsx(Label, { children: label }), children] }));
|
|
@@ -9,6 +9,10 @@ export interface SupplierInvoicesPageProps {
|
|
|
9
9
|
searchSuppliers?: (query: string) => Promise<AsyncComboboxOption[]>;
|
|
10
10
|
/** Create a supplier inline from the create dialog's supplier picker. */
|
|
11
11
|
createSupplier?: (name: string) => Promise<AsyncComboboxOption | null>;
|
|
12
|
+
/** Search products for the create dialog's product/departure attribution. */
|
|
13
|
+
searchProducts?: (query: string) => Promise<AsyncComboboxOption[]>;
|
|
14
|
+
/** List a product's departures for the create dialog's two-step picker. */
|
|
15
|
+
listDeparturesForProduct?: (productId: string, query: string) => Promise<AsyncComboboxOption[]>;
|
|
12
16
|
}
|
|
13
|
-
export declare function SupplierInvoicesPage({ className, onOpenSupplierInvoice, extractFromFile, searchSuppliers, createSupplier, }?: SupplierInvoicesPageProps): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export declare function SupplierInvoicesPage({ className, onOpenSupplierInvoice, extractFromFile, searchSuppliers, createSupplier, searchProducts, listDeparturesForProduct, }?: SupplierInvoicesPageProps): import("react/jsx-runtime").JSX.Element;
|
|
14
18
|
//# sourceMappingURL=supplier-invoices-page.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supplier-invoices-page.d.ts","sourceRoot":"","sources":["../../src/components/supplier-invoices-page.tsx"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAO9D,OAAO,EACL,KAAK,yBAAyB,EAE/B,MAAM,mCAAmC,CAAA;AA4B1C,MAAM,WAAW,yBAAyB;IACxC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,qBAAqB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5C,yEAAyE;IACzE,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,yBAAyB,CAAC,CAAA;IACpE,gEAAgE;IAChE,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAA;IACnE,yEAAyE;IACzE,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"supplier-invoices-page.d.ts","sourceRoot":"","sources":["../../src/components/supplier-invoices-page.tsx"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAO9D,OAAO,EACL,KAAK,yBAAyB,EAE/B,MAAM,mCAAmC,CAAA;AA4B1C,MAAM,WAAW,yBAAyB;IACxC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,qBAAqB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5C,yEAAyE;IACzE,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,yBAAyB,CAAC,CAAA;IACpE,gEAAgE;IAChE,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAA;IACnE,yEAAyE;IACzE,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAA;IACtE,6EAA6E;IAC7E,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAA;IAClE,2EAA2E;IAC3E,wBAAwB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAA;CAChG;AAID,wBAAgB,oBAAoB,CAAC,EACnC,SAAS,EACT,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,EACd,wBAAwB,GACzB,GAAE,yBAA8B,2CA0LhC"}
|
|
@@ -28,7 +28,7 @@ const STATUS_VARIANT = {
|
|
|
28
28
|
disputed: "destructive",
|
|
29
29
|
void: "outline",
|
|
30
30
|
};
|
|
31
|
-
export function SupplierInvoicesPage({ className, onOpenSupplierInvoice, extractFromFile, searchSuppliers, createSupplier, } = {}) {
|
|
31
|
+
export function SupplierInvoicesPage({ className, onOpenSupplierInvoice, extractFromFile, searchSuppliers, createSupplier, searchProducts, listDeparturesForProduct, } = {}) {
|
|
32
32
|
const t = useFinanceUiMessagesOrDefault().supplierInvoicesPage;
|
|
33
33
|
const [createOpen, setCreateOpen] = useState(false);
|
|
34
34
|
const [search, setSearch] = useState("");
|
|
@@ -59,7 +59,7 @@ export function SupplierInvoicesPage({ className, onOpenSupplierInvoice, extract
|
|
|
59
59
|
}
|
|
60
60
|
setPageIndex(0);
|
|
61
61
|
};
|
|
62
|
-
return (_jsxs("div", { className: cn("flex flex-col gap-6 p-6", className), children: [_jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsxs("div", { children: [_jsx("h1", { className: "text-2xl font-bold tracking-tight", children: t.title }), _jsx("p", { className: "text-sm text-muted-foreground", children: t.description })] }), _jsxs(Button, { onClick: () => setCreateOpen(true), children: [_jsx(Plus, { className: "size-4" }), t.recordInvoice] })] }), _jsx(SupplierInvoiceFormDialog, { open: createOpen, onOpenChange: setCreateOpen, onSaved: (id) => onOpenSupplierInvoice?.(id), extractFromFile: extractFromFile, searchSuppliers: searchSuppliers, createSupplier: createSupplier }), _jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsxs("div", { className: "relative max-w-sm flex-1", children: [_jsx(Search, { className: "absolute left-2 top-1/2 size-4 -translate-y-1/2 text-muted-foreground" }), _jsx(Input, { className: "pl-8", placeholder: t.searchPlaceholder, value: search, onChange: (event) => {
|
|
62
|
+
return (_jsxs("div", { className: cn("flex flex-col gap-6 p-6", className), children: [_jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsxs("div", { children: [_jsx("h1", { className: "text-2xl font-bold tracking-tight", children: t.title }), _jsx("p", { className: "text-sm text-muted-foreground", children: t.description })] }), _jsxs(Button, { onClick: () => setCreateOpen(true), children: [_jsx(Plus, { className: "size-4" }), t.recordInvoice] })] }), _jsx(SupplierInvoiceFormDialog, { open: createOpen, onOpenChange: setCreateOpen, onSaved: (id) => onOpenSupplierInvoice?.(id), extractFromFile: extractFromFile, searchSuppliers: searchSuppliers, createSupplier: createSupplier, searchProducts: searchProducts, listDeparturesForProduct: listDeparturesForProduct }), _jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsxs("div", { className: "relative max-w-sm flex-1", children: [_jsx(Search, { className: "absolute left-2 top-1/2 size-4 -translate-y-1/2 text-muted-foreground" }), _jsx(Input, { className: "pl-8", placeholder: t.searchPlaceholder, value: search, onChange: (event) => {
|
|
63
63
|
setSearch(event.target.value);
|
|
64
64
|
setPageIndex(0);
|
|
65
65
|
} })] }), _jsxs(Select, { value: status, onValueChange: (value) => {
|
|
@@ -99,7 +99,7 @@ function TaxesPageContent({ api }) {
|
|
|
99
99
|
return (_jsx(TaxesPageApiContext.Provider, { value: api, children: _jsxs("div", { className: "flex flex-col gap-6 p-6", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { children: [_jsx("h2", { className: "text-lg font-semibold tracking-tight", children: taxMessages.title }), _jsx("p", { className: "text-sm text-muted-foreground", children: taxMessages.description })] }), _jsxs(Button, { size: "sm", onClick: () => {
|
|
100
100
|
setEditing(undefined);
|
|
101
101
|
setSheetOpen(true);
|
|
102
|
-
}, children: [_jsx(Plus, { className: "mr-1.5 h-3.5 w-3.5" }), taxMessages.addTax] })] }), isPending ? (_jsx(TaxesPageSkeleton, { rows: 5 })) : (_jsx("div", { className: "rounded-
|
|
102
|
+
}, children: [_jsx(Plus, { className: "mr-1.5 h-3.5 w-3.5" }), taxMessages.addTax] })] }), isPending ? (_jsx(TaxesPageSkeleton, { rows: 5 })) : (_jsx("div", { className: "rounded-md border bg-card text-card-foreground shadow-sm", children: rows.length === 0 ? (_jsx("p", { className: "py-12 text-center text-sm text-muted-foreground", children: taxMessages.empty })) : (_jsx("div", { className: "flex flex-col divide-y", children: rows.map((row) => {
|
|
103
103
|
const overrideLines = row.taxClass.lines ?? [];
|
|
104
104
|
return (_jsxs("div", { className: "flex items-center justify-between px-6 py-3", children: [_jsxs("div", { className: "min-w-0", children: [_jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsx("span", { className: "text-sm font-medium", children: row.taxClass.label }), _jsx("span", { className: "font-mono text-xs text-muted-foreground", children: row.taxClass.code }), _jsx(Badge, { variant: "secondary", className: "text-xs", children: taxMessages.taxClassBadge }), overrideLines.length ? (_jsx(Badge, { variant: "outline", className: "text-xs", children: taxMessages.regimeOverrideCount.replace("{count}", String(overrideLines.length)) })) : null] }), _jsxs("div", { className: "mt-1 flex flex-wrap items-center gap-2 text-xs text-muted-foreground", children: [_jsx("span", { children: taxMessages.defaultRegimeLabel }), _jsx("span", { children: row.regime?.name ?? "-" }), _jsx("span", { className: "font-mono", children: row.regime?.code ?? "-" }), _jsx(Badge, { variant: "outline", className: "text-xs", children: formatRate(row.regime?.ratePercent ?? null) }), !row.taxClass.active ? (_jsx(Badge, { variant: "secondary", className: "text-xs", children: taxMessages.inactive })) : null] }), overrideLines.length ? (_jsxs("div", { className: "mt-1 flex flex-wrap items-center gap-1.5 text-xs text-muted-foreground", children: [_jsx("span", { children: taxMessages.regimeOverridesLabel }), overrideLines.map((line) => {
|
|
105
105
|
const regime = regimesById.get(line.regime_id);
|
|
@@ -120,7 +120,7 @@ function TaxesPageContent({ api }) {
|
|
|
120
120
|
}, taxRegimes: taxRegimesQuery.data?.data ?? [] }), _jsxs("div", { className: "mt-2 flex items-center justify-between", children: [_jsxs("div", { children: [_jsx("h2", { className: "text-lg font-semibold tracking-tight", children: taxMessages.policyTitle }), _jsx("p", { className: "text-sm text-muted-foreground", children: taxMessages.policyDescription })] }), _jsxs(Button, { size: "sm", onClick: () => {
|
|
121
121
|
setEditingProfile(undefined);
|
|
122
122
|
setProfileSheetOpen(true);
|
|
123
|
-
}, children: [_jsx(Plus, { className: "mr-1.5 h-3.5 w-3.5" }), taxMessages.addPolicyProfile] })] }), isPending ? null : (_jsx("div", { className: "rounded-
|
|
123
|
+
}, children: [_jsx(Plus, { className: "mr-1.5 h-3.5 w-3.5" }), taxMessages.addPolicyProfile] })] }), isPending ? null : (_jsx("div", { className: "rounded-md border bg-card text-card-foreground shadow-sm", children: (policyProfilesQuery.data?.data ?? []).length === 0 ? (_jsx("p", { className: "py-12 text-center text-sm text-muted-foreground", children: taxMessages.policyEmpty })) : (_jsx("div", { className: "flex flex-col divide-y", children: (policyProfilesQuery.data?.data ?? []).map((profile) => {
|
|
124
124
|
const profileRules = policyRulesByProfileId.get(profile.id) ?? [];
|
|
125
125
|
return (_jsxs("div", { className: "flex flex-col gap-3 px-6 py-4", children: [_jsxs("div", { className: "flex items-start justify-between gap-4", children: [_jsxs("div", { className: "min-w-0", children: [_jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsx("span", { className: "text-sm font-medium", children: profile.name }), _jsx("span", { className: "font-mono text-xs text-muted-foreground", children: profile.code }), profile.jurisdiction ? (_jsx(Badge, { variant: "outline", className: "text-xs", children: profile.jurisdiction })) : null, !profile.active ? (_jsx(Badge, { variant: "secondary", className: "text-xs", children: taxMessages.inactive })) : null] }), profile.description ? (_jsx("p", { className: "mt-1 text-xs text-muted-foreground", children: profile.description })) : null] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsxs(Button, { type: "button", variant: "outline", size: "sm", onClick: () => {
|
|
126
126
|
setEditingRule(undefined);
|
|
@@ -161,5 +161,5 @@ function TaxesPageContent({ api }) {
|
|
|
161
161
|
} })] }) }));
|
|
162
162
|
}
|
|
163
163
|
function TaxesPageSkeleton({ rows }) {
|
|
164
|
-
return (_jsx("div", { className: "rounded-
|
|
164
|
+
return (_jsx("div", { className: "rounded-md border bg-card text-card-foreground shadow-sm", children: _jsx("div", { className: "flex flex-col divide-y", children: Array.from({ length: rows }).map((_, index) => (_jsxs("div", { className: "flex items-center justify-between px-6 py-3", children: [_jsxs("div", { className: "min-w-0 flex-1 space-y-2", children: [_jsx(Skeleton, { className: "h-4 w-48" }), _jsx(Skeleton, { className: "h-3 w-72 max-w-full" })] }), _jsx(Skeleton, { className: "h-8 w-8 rounded-md" })] }, index))) }) }));
|
|
165
165
|
}
|
|
@@ -56,6 +56,11 @@ export declare const supplierInvoiceDetail: {
|
|
|
56
56
|
extracting: string;
|
|
57
57
|
supplierSearchPlaceholder: string;
|
|
58
58
|
supplierCreate: string;
|
|
59
|
+
product: string;
|
|
60
|
+
departure: string;
|
|
61
|
+
productSearchPlaceholder: string;
|
|
62
|
+
departureSearchPlaceholder: string;
|
|
63
|
+
totalLabel: string;
|
|
59
64
|
};
|
|
60
65
|
summary: {
|
|
61
66
|
subtotal: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suppliers.d.ts","sourceRoot":"","sources":["../../../src/i18n/en/suppliers.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BhC,CAAA;AAED,eAAO,MAAM,qBAAqB
|
|
1
|
+
{"version":3,"file":"suppliers.d.ts","sourceRoot":"","sources":["../../../src/i18n/en/suppliers.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BhC,CAAA;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsIjC,CAAA;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BjC,CAAA"}
|
|
@@ -56,6 +56,11 @@ export const supplierInvoiceDetail = {
|
|
|
56
56
|
extracting: "Extracting…",
|
|
57
57
|
supplierSearchPlaceholder: "Search suppliers…",
|
|
58
58
|
supplierCreate: 'Create supplier "{name}"',
|
|
59
|
+
product: "Product",
|
|
60
|
+
departure: "Departure",
|
|
61
|
+
productSearchPlaceholder: "Search products…",
|
|
62
|
+
departureSearchPlaceholder: "Search departures…",
|
|
63
|
+
totalLabel: "Total ({currency})",
|
|
59
64
|
},
|
|
60
65
|
summary: {
|
|
61
66
|
subtotal: "Subtotal",
|
package/dist/i18n/en.d.ts
CHANGED
|
@@ -210,6 +210,11 @@ export declare const financeUiEn: {
|
|
|
210
210
|
extracting: string;
|
|
211
211
|
supplierSearchPlaceholder: string;
|
|
212
212
|
supplierCreate: string;
|
|
213
|
+
product: string;
|
|
214
|
+
departure: string;
|
|
215
|
+
productSearchPlaceholder: string;
|
|
216
|
+
departureSearchPlaceholder: string;
|
|
217
|
+
totalLabel: string;
|
|
213
218
|
};
|
|
214
219
|
summary: {
|
|
215
220
|
subtotal: string;
|
package/dist/i18n/en.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,WAAW
|
|
1
|
+
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBK,CAAA"}
|
|
@@ -52,6 +52,13 @@ export type SupplierInvoiceDetailMessages = {
|
|
|
52
52
|
supplierSearchPlaceholder: string;
|
|
53
53
|
/** Inline "create supplier" row label; `{name}` = typed query. */
|
|
54
54
|
supplierCreate: string;
|
|
55
|
+
/** Product/departure attribution (create mode, shown only when wired). */
|
|
56
|
+
product: string;
|
|
57
|
+
departure: string;
|
|
58
|
+
productSearchPlaceholder: string;
|
|
59
|
+
departureSearchPlaceholder: string;
|
|
60
|
+
/** Invoice total used to seed the departure cost allocation; `{currency}`. */
|
|
61
|
+
totalLabel: string;
|
|
55
62
|
};
|
|
56
63
|
summary: {
|
|
57
64
|
subtotal: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suppliers.d.ts","sourceRoot":"","sources":["../../../src/i18n/messages/suppliers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,wBAAwB,EACxB,kCAAkC,EAClC,qBAAqB,EACtB,MAAM,WAAW,CAAA;AAElB,MAAM,MAAM,4BAA4B,GAAG;IACzC,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,iBAAiB,EAAE,MAAM,CAAA;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAA;IACnD,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAA;QACjB,QAAQ,EAAE,MAAM,CAAA;QAChB,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,MAAM,CAAA;QACb,UAAU,EAAE,MAAM,CAAA;QAClB,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG;IAC1C,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,MAAM,CAAA;KACf,CAAA;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,MAAM,CAAA;QACd,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,IAAI,EAAE;QACJ,SAAS,EAAE,MAAM,CAAA;QACjB,UAAU,EAAE,MAAM,CAAA;QAClB,iBAAiB,EAAE,MAAM,CAAA;QACzB,MAAM,EAAE,MAAM,CAAA;QACd,QAAQ,EAAE,MAAM,CAAA;QAChB,SAAS,EAAE,MAAM,CAAA;QACjB,OAAO,EAAE,MAAM,CAAA;QACf,WAAW,EAAE,MAAM,CAAA;QACnB,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,MAAM,CAAA;QACd,0EAA0E;QAC1E,aAAa,EAAE,MAAM,CAAA;QACrB,UAAU,EAAE,MAAM,CAAA;QAClB,oEAAoE;QACpE,yBAAyB,EAAE,MAAM,CAAA;QACjC,kEAAkE;QAClE,cAAc,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"suppliers.d.ts","sourceRoot":"","sources":["../../../src/i18n/messages/suppliers.ts"],"names":[],"mappings":"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"}
|
package/dist/i18n/provider.d.ts
CHANGED
|
@@ -214,6 +214,11 @@ export declare const financeUiMessageDefinitions: {
|
|
|
214
214
|
extracting: string;
|
|
215
215
|
supplierSearchPlaceholder: string;
|
|
216
216
|
supplierCreate: string;
|
|
217
|
+
product: string;
|
|
218
|
+
departure: string;
|
|
219
|
+
productSearchPlaceholder: string;
|
|
220
|
+
departureSearchPlaceholder: string;
|
|
221
|
+
totalLabel: string;
|
|
217
222
|
};
|
|
218
223
|
summary: {
|
|
219
224
|
subtotal: string;
|
|
@@ -1211,6 +1216,11 @@ export declare const financeUiMessageDefinitions: {
|
|
|
1211
1216
|
extracting: string;
|
|
1212
1217
|
supplierSearchPlaceholder: string;
|
|
1213
1218
|
supplierCreate: string;
|
|
1219
|
+
product: string;
|
|
1220
|
+
departure: string;
|
|
1221
|
+
productSearchPlaceholder: string;
|
|
1222
|
+
departureSearchPlaceholder: string;
|
|
1223
|
+
totalLabel: string;
|
|
1214
1224
|
};
|
|
1215
1225
|
summary: {
|
|
1216
1226
|
subtotal: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/i18n/provider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EAEtB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAKtD,eAAO,MAAM,2BAA2B
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/i18n/provider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -56,6 +56,11 @@ export declare const supplierInvoiceDetail: {
|
|
|
56
56
|
extracting: string;
|
|
57
57
|
supplierSearchPlaceholder: string;
|
|
58
58
|
supplierCreate: string;
|
|
59
|
+
product: string;
|
|
60
|
+
departure: string;
|
|
61
|
+
productSearchPlaceholder: string;
|
|
62
|
+
departureSearchPlaceholder: string;
|
|
63
|
+
totalLabel: string;
|
|
59
64
|
};
|
|
60
65
|
summary: {
|
|
61
66
|
subtotal: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suppliers.d.ts","sourceRoot":"","sources":["../../../src/i18n/ro/suppliers.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BhC,CAAA;AAED,eAAO,MAAM,qBAAqB
|
|
1
|
+
{"version":3,"file":"suppliers.d.ts","sourceRoot":"","sources":["../../../src/i18n/ro/suppliers.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BhC,CAAA;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsIjC,CAAA;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BjC,CAAA"}
|
|
@@ -56,6 +56,11 @@ export const supplierInvoiceDetail = {
|
|
|
56
56
|
extracting: "Se extrage…",
|
|
57
57
|
supplierSearchPlaceholder: "Cauta furnizori…",
|
|
58
58
|
supplierCreate: 'Creeaza furnizorul "{name}"',
|
|
59
|
+
product: "Produs",
|
|
60
|
+
departure: "Plecare",
|
|
61
|
+
productSearchPlaceholder: "Cauta produse…",
|
|
62
|
+
departureSearchPlaceholder: "Cauta plecari…",
|
|
63
|
+
totalLabel: "Total ({currency})",
|
|
59
64
|
},
|
|
60
65
|
summary: {
|
|
61
66
|
subtotal: "Subtotal",
|
package/dist/i18n/ro.d.ts
CHANGED
|
@@ -210,6 +210,11 @@ export declare const financeUiRo: {
|
|
|
210
210
|
extracting: string;
|
|
211
211
|
supplierSearchPlaceholder: string;
|
|
212
212
|
supplierCreate: string;
|
|
213
|
+
product: string;
|
|
214
|
+
departure: string;
|
|
215
|
+
productSearchPlaceholder: string;
|
|
216
|
+
departureSearchPlaceholder: string;
|
|
217
|
+
totalLabel: string;
|
|
213
218
|
};
|
|
214
219
|
summary: {
|
|
215
220
|
subtotal: string;
|
package/dist/i18n/ro.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ro.d.ts","sourceRoot":"","sources":["../../src/i18n/ro.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,WAAW
|
|
1
|
+
{"version":3,"file":"ro.d.ts","sourceRoot":"","sources":["../../src/i18n/ro.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBK,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@voyant-travel/finance-react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.124.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -93,13 +93,13 @@
|
|
|
93
93
|
"recharts": "^3.0.0",
|
|
94
94
|
"sonner": "^2.0.7",
|
|
95
95
|
"zod": "^4.0.0",
|
|
96
|
-
"@voyant-travel/admin": "^0.
|
|
97
|
-
"@voyant-travel/bookings-react": "^0.
|
|
98
|
-
"@voyant-travel/
|
|
99
|
-
"@voyant-travel/
|
|
100
|
-
"@voyant-travel/distribution-react": "^0.
|
|
101
|
-
"@voyant-travel/ui": "^0.
|
|
102
|
-
"@voyant-travel/operations-react": "^0.
|
|
96
|
+
"@voyant-travel/admin": "^0.113.0",
|
|
97
|
+
"@voyant-travel/bookings-react": "^0.124.0",
|
|
98
|
+
"@voyant-travel/finance": "^0.124.0",
|
|
99
|
+
"@voyant-travel/inventory-react": "^0.6.0",
|
|
100
|
+
"@voyant-travel/distribution-react": "^0.114.0",
|
|
101
|
+
"@voyant-travel/ui": "^0.107.0",
|
|
102
|
+
"@voyant-travel/operations-react": "^0.5.0"
|
|
103
103
|
},
|
|
104
104
|
"peerDependenciesMeta": {
|
|
105
105
|
"@tanstack/react-table": {
|
|
@@ -151,16 +151,16 @@
|
|
|
151
151
|
"typescript": "^6.0.2",
|
|
152
152
|
"vitest": "^4.1.2",
|
|
153
153
|
"zod": "^4.3.6",
|
|
154
|
-
"@voyant-travel/
|
|
155
|
-
"@voyant-travel/
|
|
156
|
-
"@voyant-travel/
|
|
157
|
-
"@voyant-travel/
|
|
154
|
+
"@voyant-travel/admin": "^0.113.0",
|
|
155
|
+
"@voyant-travel/bookings-react": "^0.124.0",
|
|
156
|
+
"@voyant-travel/finance": "^0.124.0",
|
|
157
|
+
"@voyant-travel/i18n": "^0.106.1",
|
|
158
|
+
"@voyant-travel/inventory-react": "^0.6.0",
|
|
158
159
|
"@voyant-travel/react": "^0.104.1",
|
|
159
|
-
"@voyant-travel/distribution-react": "^0.
|
|
160
|
+
"@voyant-travel/distribution-react": "^0.114.0",
|
|
161
|
+
"@voyant-travel/ui": "^0.107.0",
|
|
160
162
|
"@voyant-travel/voyant-typescript-config": "^0.1.0",
|
|
161
|
-
"@voyant-travel/operations-react": "^0.
|
|
162
|
-
"@voyant-travel/ui": "^0.106.2",
|
|
163
|
-
"@voyant-travel/i18n": "^0.106.1"
|
|
163
|
+
"@voyant-travel/operations-react": "^0.5.0"
|
|
164
164
|
},
|
|
165
165
|
"files": [
|
|
166
166
|
"dist",
|