@voyantjs/extras-ui 0.84.0 → 0.84.2
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/components/slot-extras-manifest-panel.d.ts +6 -0
- package/dist/components/slot-extras-manifest-panel.d.ts.map +1 -0
- package/dist/components/slot-extras-manifest-panel.js +108 -0
- package/dist/i18n/en.d.ts +19 -0
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +19 -0
- package/dist/i18n/messages.d.ts +19 -0
- package/dist/i18n/messages.d.ts.map +1 -1
- package/dist/i18n/provider.d.ts +38 -0
- package/dist/i18n/provider.d.ts.map +1 -1
- package/dist/i18n/ro.d.ts +19 -0
- package/dist/i18n/ro.d.ts.map +1 -1
- package/dist/i18n/ro.js +19 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/package.json +11 -11
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export interface SlotExtrasManifestPanelProps {
|
|
2
|
+
slotId: string;
|
|
3
|
+
className?: string;
|
|
4
|
+
}
|
|
5
|
+
export declare function SlotExtrasManifestPanel({ slotId, className }: SlotExtrasManifestPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
//# sourceMappingURL=slot-extras-manifest-panel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slot-extras-manifest-panel.d.ts","sourceRoot":"","sources":["../../src/components/slot-extras-manifest-panel.tsx"],"names":[],"mappings":"AAuBA,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,uBAAuB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,4BAA4B,2CA6M1F"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useSlotExtraManifest, useSlotExtraManifestMutation, } from "@voyantjs/extras-react";
|
|
4
|
+
import { Badge, Button } from "@voyantjs/ui/components";
|
|
5
|
+
import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from "@voyantjs/ui/components/table";
|
|
6
|
+
import { cn } from "@voyantjs/ui/lib/utils";
|
|
7
|
+
import { Check, CircleDollarSign, Loader2, X } from "lucide-react";
|
|
8
|
+
import { useExtrasUiMessagesOrDefault } from "../i18n/index.js";
|
|
9
|
+
export function SlotExtrasManifestPanel({ slotId, className }) {
|
|
10
|
+
const messages = useExtrasUiMessagesOrDefault().slotManifest;
|
|
11
|
+
const manifestQuery = useSlotExtraManifest(slotId);
|
|
12
|
+
const mutation = useSlotExtraManifestMutation(slotId);
|
|
13
|
+
const manifest = manifestQuery.data;
|
|
14
|
+
if (manifestQuery.isPending) {
|
|
15
|
+
return (_jsxs("div", { className: cn("flex items-center gap-2 text-sm text-muted-foreground", className), children: [_jsx(Loader2, { className: "size-4 animate-spin", "aria-hidden": "true" }), messages.loading] }));
|
|
16
|
+
}
|
|
17
|
+
if (!manifest || manifest.extras.length === 0) {
|
|
18
|
+
return (_jsx("div", { className: cn("rounded-md border border-dashed p-6 text-sm text-muted-foreground", className), children: messages.emptyExtras }));
|
|
19
|
+
}
|
|
20
|
+
if (manifest.travelers.length === 0) {
|
|
21
|
+
return (_jsx("div", { className: cn("rounded-md border border-dashed p-6 text-sm text-muted-foreground", className), children: messages.emptyTravelers }));
|
|
22
|
+
}
|
|
23
|
+
const selectionByKey = new Map(manifest.selections.map((selection) => [
|
|
24
|
+
selectionKey(selection.travelerId, selection.productExtraId),
|
|
25
|
+
selection,
|
|
26
|
+
]));
|
|
27
|
+
const pending = mutation.setSelection.isPending ||
|
|
28
|
+
mutation.bulkSetSelections.isPending ||
|
|
29
|
+
mutation.bulkUpdateCollections.isPending;
|
|
30
|
+
const setCell = (traveler, extra, selection, selected) => {
|
|
31
|
+
mutation.setSelection.mutate({
|
|
32
|
+
bookingId: traveler.bookingId,
|
|
33
|
+
travelerId: traveler.id,
|
|
34
|
+
productExtraId: extra.id,
|
|
35
|
+
optionExtraConfigId: selection?.optionExtraConfigId ?? null,
|
|
36
|
+
status: selected ? "selected" : "cancelled",
|
|
37
|
+
collectionStatus: selected ? selection?.collectionStatus : "not_required",
|
|
38
|
+
collectionCurrency: selection?.collectionCurrency ?? null,
|
|
39
|
+
collectionAmountCents: selection?.collectionAmountCents ?? null,
|
|
40
|
+
notes: selection?.notes ?? null,
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
const bulkSetExtra = (extra, selected) => {
|
|
44
|
+
mutation.bulkSetSelections.mutate({
|
|
45
|
+
selections: manifest.travelers.map((traveler) => {
|
|
46
|
+
const selection = selectionByKey.get(selectionKey(traveler.id, extra.id));
|
|
47
|
+
return {
|
|
48
|
+
bookingId: traveler.bookingId,
|
|
49
|
+
travelerId: traveler.id,
|
|
50
|
+
productExtraId: extra.id,
|
|
51
|
+
optionExtraConfigId: selection?.optionExtraConfigId ?? null,
|
|
52
|
+
status: selected ? "selected" : "cancelled",
|
|
53
|
+
collectionStatus: selected ? selection?.collectionStatus : "not_required",
|
|
54
|
+
collectionCurrency: selection?.collectionCurrency ?? null,
|
|
55
|
+
collectionAmountCents: selection?.collectionAmountCents ?? null,
|
|
56
|
+
notes: selection?.notes ?? null,
|
|
57
|
+
};
|
|
58
|
+
}),
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
const bulkCollection = (extra, collectionStatus) => {
|
|
62
|
+
const travelerIds = manifest.travelers
|
|
63
|
+
.filter((traveler) => selectionByKey.get(selectionKey(traveler.id, extra.id))?.selected)
|
|
64
|
+
.map((traveler) => traveler.id);
|
|
65
|
+
if (travelerIds.length === 0)
|
|
66
|
+
return;
|
|
67
|
+
mutation.bulkUpdateCollections.mutate({
|
|
68
|
+
productExtraId: extra.id,
|
|
69
|
+
travelerIds,
|
|
70
|
+
collectionStatus,
|
|
71
|
+
});
|
|
72
|
+
};
|
|
73
|
+
return (_jsxs("div", { className: cn("flex flex-col gap-3", className), children: [_jsxs("div", { className: "flex items-center justify-between gap-3", children: [_jsx("h2", { className: "text-sm font-semibold", children: messages.title }), _jsx(Badge, { variant: "outline", children: manifest.extras.length })] }), _jsx("div", { className: "overflow-x-auto rounded-md border", children: _jsxs(Table, { children: [_jsx(TableHeader, { children: _jsxs(TableRow, { children: [_jsx(TableHead, { className: "sticky left-0 z-10 min-w-56 bg-background", children: messages.travelerColumn }), _jsx(TableHead, { className: "min-w-32", children: messages.bookingColumn }), manifest.extras.map((extra) => (_jsx(TableHead, { className: "min-w-56 align-top", children: _jsxs("div", { className: "flex flex-col gap-2 py-1", children: [_jsxs("div", { children: [_jsx("div", { className: "font-medium", children: extra.name }), _jsx("div", { className: "text-xs font-normal text-muted-foreground", children: collectionModeLabel(extra.collectionMode) })] }), _jsxs("div", { className: "flex flex-wrap gap-1", children: [_jsxs(Button, { type: "button", variant: "outline", size: "sm", disabled: pending, onClick: () => bulkSetExtra(extra, true), children: [_jsx(Check, { "data-icon": "inline-start", "aria-hidden": "true" }), messages.selectAll] }), _jsxs(Button, { type: "button", variant: "outline", size: "sm", disabled: pending, onClick: () => bulkSetExtra(extra, false), children: [_jsx(X, { "data-icon": "inline-start", "aria-hidden": "true" }), messages.clearAll] }), extra.collectionMode === "cash_on_trip" ? (_jsxs(Button, { type: "button", variant: "outline", size: "sm", disabled: pending, onClick: () => bulkCollection(extra, "collected"), children: [_jsx(CircleDollarSign, { "data-icon": "inline-start", "aria-hidden": "true" }), messages.markCollected] })) : null] })] }) }, extra.id)))] }) }), _jsx(TableBody, { children: manifest.travelers.map((traveler) => (_jsxs(TableRow, { children: [_jsx(TableCell, { className: "sticky left-0 z-10 bg-background font-medium", children: traveler.fullName }), _jsx(TableCell, { className: "font-mono text-xs", children: traveler.bookingNumber }), manifest.extras.map((extra) => {
|
|
74
|
+
const selection = selectionByKey.get(selectionKey(traveler.id, extra.id));
|
|
75
|
+
const selected = selection?.selected ?? false;
|
|
76
|
+
return (_jsx(TableCell, { children: _jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsxs(Button, { type: "button", variant: selected ? "default" : "outline", size: "sm", disabled: pending, onClick: () => setCell(traveler, extra, selection, !selected), children: [selected ? (_jsx(Check, { "data-icon": "inline-start", "aria-hidden": "true" })) : (_jsx(X, { "data-icon": "inline-start", "aria-hidden": "true" })), selected ? messages.selectedLabel : messages.selectLabel] }), selection ? _jsx(CollectionBadge, { selection: selection }) : null] }) }, extra.id));
|
|
77
|
+
})] }, traveler.id))) })] }) })] }));
|
|
78
|
+
}
|
|
79
|
+
function CollectionBadge({ selection }) {
|
|
80
|
+
const messages = useExtrasUiMessagesOrDefault().slotManifest;
|
|
81
|
+
if (selection.collectionStatus === "collected") {
|
|
82
|
+
return _jsx(Badge, { className: "bg-emerald-600 text-white", children: messages.collectedLabel });
|
|
83
|
+
}
|
|
84
|
+
if (selection.collectionStatus === "pending") {
|
|
85
|
+
return _jsx(Badge, { variant: "secondary", children: messages.pendingLabel });
|
|
86
|
+
}
|
|
87
|
+
if (selection.collectionStatus === "waived") {
|
|
88
|
+
return _jsx(Badge, { variant: "outline", children: messages.waivedLabel });
|
|
89
|
+
}
|
|
90
|
+
return _jsx(Badge, { variant: "outline", children: messages.notRequiredLabel });
|
|
91
|
+
}
|
|
92
|
+
function collectionModeLabel(mode) {
|
|
93
|
+
switch (mode) {
|
|
94
|
+
case "cash_on_trip":
|
|
95
|
+
return "Cash on trip";
|
|
96
|
+
case "external":
|
|
97
|
+
return "External";
|
|
98
|
+
case "included":
|
|
99
|
+
return "Included";
|
|
100
|
+
case "none":
|
|
101
|
+
return "No collection";
|
|
102
|
+
default:
|
|
103
|
+
return "Booking total";
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
function selectionKey(travelerId, productExtraId) {
|
|
107
|
+
return `${travelerId}:${productExtraId}`;
|
|
108
|
+
}
|
package/dist/i18n/en.d.ts
CHANGED
|
@@ -22,5 +22,24 @@ export declare const extrasUiEn: {
|
|
|
22
22
|
other: string;
|
|
23
23
|
};
|
|
24
24
|
};
|
|
25
|
+
slotManifest: {
|
|
26
|
+
title: string;
|
|
27
|
+
emptyExtras: string;
|
|
28
|
+
emptyTravelers: string;
|
|
29
|
+
travelerColumn: string;
|
|
30
|
+
bookingColumn: string;
|
|
31
|
+
selectedLabel: string;
|
|
32
|
+
selectLabel: string;
|
|
33
|
+
cancelLabel: string;
|
|
34
|
+
collectedLabel: string;
|
|
35
|
+
pendingLabel: string;
|
|
36
|
+
waivedLabel: string;
|
|
37
|
+
notRequiredLabel: string;
|
|
38
|
+
markCollected: string;
|
|
39
|
+
markWaived: string;
|
|
40
|
+
selectAll: string;
|
|
41
|
+
clearAll: string;
|
|
42
|
+
loading: string;
|
|
43
|
+
};
|
|
25
44
|
};
|
|
26
45
|
//# sourceMappingURL=en.d.ts.map
|
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":"AAEA,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CK,CAAA"}
|
package/dist/i18n/en.js
CHANGED
|
@@ -22,4 +22,23 @@ export const extrasUiEn = {
|
|
|
22
22
|
other: "Other",
|
|
23
23
|
},
|
|
24
24
|
},
|
|
25
|
+
slotManifest: {
|
|
26
|
+
title: "Extras manifest",
|
|
27
|
+
emptyExtras: "No slot-manifest extras are configured for this product.",
|
|
28
|
+
emptyTravelers: "No active travelers are assigned to this slot.",
|
|
29
|
+
travelerColumn: "Traveler",
|
|
30
|
+
bookingColumn: "Booking",
|
|
31
|
+
selectedLabel: "Selected",
|
|
32
|
+
selectLabel: "Select",
|
|
33
|
+
cancelLabel: "Cancel",
|
|
34
|
+
collectedLabel: "Collected",
|
|
35
|
+
pendingLabel: "Pending",
|
|
36
|
+
waivedLabel: "Waived",
|
|
37
|
+
notRequiredLabel: "No collection",
|
|
38
|
+
markCollected: "Mark collected",
|
|
39
|
+
markWaived: "Waive",
|
|
40
|
+
selectAll: "Select all",
|
|
41
|
+
clearAll: "Clear all",
|
|
42
|
+
loading: "Loading extras...",
|
|
43
|
+
},
|
|
25
44
|
};
|
package/dist/i18n/messages.d.ts
CHANGED
|
@@ -13,5 +13,24 @@ export type ExtrasUiMessages = {
|
|
|
13
13
|
statusLabels: Record<ProductStatus, string>;
|
|
14
14
|
bookingModeLabels: Record<ProductBookingMode, string>;
|
|
15
15
|
};
|
|
16
|
+
slotManifest: {
|
|
17
|
+
title: string;
|
|
18
|
+
emptyExtras: string;
|
|
19
|
+
emptyTravelers: string;
|
|
20
|
+
travelerColumn: string;
|
|
21
|
+
bookingColumn: string;
|
|
22
|
+
selectedLabel: string;
|
|
23
|
+
selectLabel: string;
|
|
24
|
+
cancelLabel: string;
|
|
25
|
+
collectedLabel: string;
|
|
26
|
+
pendingLabel: string;
|
|
27
|
+
waivedLabel: string;
|
|
28
|
+
notRequiredLabel: string;
|
|
29
|
+
markCollected: string;
|
|
30
|
+
markWaived: string;
|
|
31
|
+
selectAll: string;
|
|
32
|
+
clearAll: string;
|
|
33
|
+
loading: string;
|
|
34
|
+
};
|
|
16
35
|
};
|
|
17
36
|
//# sourceMappingURL=messages.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/i18n/messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAE7D,MAAM,MAAM,aAAa,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;AACnD,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA;AAE7D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,EAAE;QACX,QAAQ,EAAE,MAAM,CAAA;QAChB,UAAU,EAAE,MAAM,CAAA;KACnB,CAAA;IACD,eAAe,EAAE;QACf,WAAW,EAAE,MAAM,CAAA;QACnB,OAAO,EAAE,MAAM,CAAA;QACf,KAAK,EAAE,MAAM,CAAA;QACb,YAAY,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;QAC3C,iBAAiB,EAAE,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAA;KACtD,CAAA;CACF,CAAA"}
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/i18n/messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAE7D,MAAM,MAAM,aAAa,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;AACnD,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA;AAE7D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,EAAE;QACX,QAAQ,EAAE,MAAM,CAAA;QAChB,UAAU,EAAE,MAAM,CAAA;KACnB,CAAA;IACD,eAAe,EAAE;QACf,WAAW,EAAE,MAAM,CAAA;QACnB,OAAO,EAAE,MAAM,CAAA;QACf,KAAK,EAAE,MAAM,CAAA;QACb,YAAY,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;QAC3C,iBAAiB,EAAE,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAA;KACtD,CAAA;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,EAAE,MAAM,CAAA;QACnB,cAAc,EAAE,MAAM,CAAA;QACtB,cAAc,EAAE,MAAM,CAAA;QACtB,aAAa,EAAE,MAAM,CAAA;QACrB,aAAa,EAAE,MAAM,CAAA;QACrB,WAAW,EAAE,MAAM,CAAA;QACnB,WAAW,EAAE,MAAM,CAAA;QACnB,cAAc,EAAE,MAAM,CAAA;QACtB,YAAY,EAAE,MAAM,CAAA;QACpB,WAAW,EAAE,MAAM,CAAA;QACnB,gBAAgB,EAAE,MAAM,CAAA;QACxB,aAAa,EAAE,MAAM,CAAA;QACrB,UAAU,EAAE,MAAM,CAAA;QAClB,SAAS,EAAE,MAAM,CAAA;QACjB,QAAQ,EAAE,MAAM,CAAA;QAChB,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;CACF,CAAA"}
|
package/dist/i18n/provider.d.ts
CHANGED
|
@@ -26,6 +26,25 @@ export declare const extrasUiMessageDefinitions: {
|
|
|
26
26
|
other: string;
|
|
27
27
|
};
|
|
28
28
|
};
|
|
29
|
+
slotManifest: {
|
|
30
|
+
title: string;
|
|
31
|
+
emptyExtras: string;
|
|
32
|
+
emptyTravelers: string;
|
|
33
|
+
travelerColumn: string;
|
|
34
|
+
bookingColumn: string;
|
|
35
|
+
selectedLabel: string;
|
|
36
|
+
selectLabel: string;
|
|
37
|
+
cancelLabel: string;
|
|
38
|
+
collectedLabel: string;
|
|
39
|
+
pendingLabel: string;
|
|
40
|
+
waivedLabel: string;
|
|
41
|
+
notRequiredLabel: string;
|
|
42
|
+
markCollected: string;
|
|
43
|
+
markWaived: string;
|
|
44
|
+
selectAll: string;
|
|
45
|
+
clearAll: string;
|
|
46
|
+
loading: string;
|
|
47
|
+
};
|
|
29
48
|
};
|
|
30
49
|
ro: {
|
|
31
50
|
catalogCard: {
|
|
@@ -51,6 +70,25 @@ export declare const extrasUiMessageDefinitions: {
|
|
|
51
70
|
other: string;
|
|
52
71
|
};
|
|
53
72
|
};
|
|
73
|
+
slotManifest: {
|
|
74
|
+
title: string;
|
|
75
|
+
emptyExtras: string;
|
|
76
|
+
emptyTravelers: string;
|
|
77
|
+
travelerColumn: string;
|
|
78
|
+
bookingColumn: string;
|
|
79
|
+
selectedLabel: string;
|
|
80
|
+
selectLabel: string;
|
|
81
|
+
cancelLabel: string;
|
|
82
|
+
collectedLabel: string;
|
|
83
|
+
pendingLabel: string;
|
|
84
|
+
waivedLabel: string;
|
|
85
|
+
notRequiredLabel: string;
|
|
86
|
+
markCollected: string;
|
|
87
|
+
markWaived: string;
|
|
88
|
+
selectAll: string;
|
|
89
|
+
clearAll: string;
|
|
90
|
+
loading: string;
|
|
91
|
+
};
|
|
54
92
|
};
|
|
55
93
|
};
|
|
56
94
|
export type ExtrasUiMessageOverrides = LocaleMessageOverrides<ExtrasUiMessages>;
|
|
@@ -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,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAKrD,eAAO,MAAM,0BAA0B
|
|
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,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAKrD,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGe,CAAA;AAEtD,MAAM,MAAM,wBAAwB,GAAG,sBAAsB,CAAC,gBAAgB,CAAC,CAAA;AAS/E,wBAAgB,uBAAuB,CAAC,EACtC,MAAM,EACN,SAAS,GACV,EAAE;IACD,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACjC,SAAS,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAA;CAC5C,oBAOA;AAED,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,SAAS,GACV,EAAE;IACD,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IAClC,SAAS,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAA;CAC5C,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,CASrC;AAED,wBAAgB,wBAAwB,CAAC,EACvC,QAAQ,EACR,MAAM,EACN,SAAS,GACV,EAAE;IACD,QAAQ,EAAE,SAAS,CAAA;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACjC,SAAS,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAA;CAC5C,2CAWA;AAED,eAAO,MAAM,eAAe,0CAA0B,CAAA;AACtD,eAAO,MAAM,mBAAmB,wBAA8B,CAAA;AAE9D,wBAAgB,wBAAwB,uCAEvC;AAED,wBAAgB,4BAA4B,qBAE3C"}
|
package/dist/i18n/ro.d.ts
CHANGED
|
@@ -22,5 +22,24 @@ export declare const extrasUiRo: {
|
|
|
22
22
|
other: string;
|
|
23
23
|
};
|
|
24
24
|
};
|
|
25
|
+
slotManifest: {
|
|
26
|
+
title: string;
|
|
27
|
+
emptyExtras: string;
|
|
28
|
+
emptyTravelers: string;
|
|
29
|
+
travelerColumn: string;
|
|
30
|
+
bookingColumn: string;
|
|
31
|
+
selectedLabel: string;
|
|
32
|
+
selectLabel: string;
|
|
33
|
+
cancelLabel: string;
|
|
34
|
+
collectedLabel: string;
|
|
35
|
+
pendingLabel: string;
|
|
36
|
+
waivedLabel: string;
|
|
37
|
+
notRequiredLabel: string;
|
|
38
|
+
markCollected: string;
|
|
39
|
+
markWaived: string;
|
|
40
|
+
selectAll: string;
|
|
41
|
+
clearAll: string;
|
|
42
|
+
loading: string;
|
|
43
|
+
};
|
|
25
44
|
};
|
|
26
45
|
//# sourceMappingURL=ro.d.ts.map
|
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":"AAEA,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"ro.d.ts","sourceRoot":"","sources":["../../src/i18n/ro.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CK,CAAA"}
|
package/dist/i18n/ro.js
CHANGED
|
@@ -22,4 +22,23 @@ export const extrasUiRo = {
|
|
|
22
22
|
other: "Altul",
|
|
23
23
|
},
|
|
24
24
|
},
|
|
25
|
+
slotManifest: {
|
|
26
|
+
title: "Manifest extra",
|
|
27
|
+
emptyExtras: "Nu exista extra configurate pentru manifestul acestui produs.",
|
|
28
|
+
emptyTravelers: "Nu exista calatori activi alocati acestui slot.",
|
|
29
|
+
travelerColumn: "Calator",
|
|
30
|
+
bookingColumn: "Rezervare",
|
|
31
|
+
selectedLabel: "Selectat",
|
|
32
|
+
selectLabel: "Selecteaza",
|
|
33
|
+
cancelLabel: "Anuleaza",
|
|
34
|
+
collectedLabel: "Incasat",
|
|
35
|
+
pendingLabel: "In asteptare",
|
|
36
|
+
waivedLabel: "Renuntat",
|
|
37
|
+
notRequiredLabel: "Fara incasare",
|
|
38
|
+
markCollected: "Marcheaza incasat",
|
|
39
|
+
markWaived: "Renunta",
|
|
40
|
+
selectAll: "Selecteaza tot",
|
|
41
|
+
clearAll: "Sterge tot",
|
|
42
|
+
loading: "Se incarca extra...",
|
|
43
|
+
},
|
|
25
44
|
};
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { ProductCombobox } from "./components/product-combobox.js";
|
|
2
|
+
export { SlotExtrasManifestPanel } from "./components/slot-extras-manifest-panel.js";
|
|
2
3
|
export { type ExtrasUiMessageOverrides, type ExtrasUiMessages, ExtrasUiMessagesProvider, extrasUiEn, extrasUiMessageDefinitions, extrasUiRo, getExtrasUiI18n, resolveExtrasUiMessages, useExtrasUiI18n, useExtrasUiI18nOrDefault, useExtrasUiMessages, useExtrasUiMessagesOrDefault, } from "./i18n/index.js";
|
|
3
4
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,wBAAwB,EACxB,UAAU,EACV,0BAA0B,EAC1B,UAAU,EACV,eAAe,EACf,uBAAuB,EACvB,eAAe,EACf,wBAAwB,EACxB,mBAAmB,EACnB,4BAA4B,GAC7B,MAAM,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAA;AACpF,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,wBAAwB,EACxB,UAAU,EACV,0BAA0B,EAC1B,UAAU,EACV,eAAe,EACf,uBAAuB,EACvB,eAAe,EACf,wBAAwB,EACxB,mBAAmB,EACnB,4BAA4B,GAC7B,MAAM,iBAAiB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export { ProductCombobox } from "./components/product-combobox.js";
|
|
2
|
+
export { SlotExtrasManifestPanel } from "./components/slot-extras-manifest-panel.js";
|
|
2
3
|
export { ExtrasUiMessagesProvider, extrasUiEn, extrasUiMessageDefinitions, extrasUiRo, getExtrasUiI18n, resolveExtrasUiMessages, useExtrasUiI18n, useExtrasUiI18nOrDefault, useExtrasUiMessages, useExtrasUiMessagesOrDefault, } from "./i18n/index.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@voyantjs/extras-ui",
|
|
3
|
-
"version": "0.84.
|
|
3
|
+
"version": "0.84.2",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -46,13 +46,13 @@
|
|
|
46
46
|
"react-dom": "^19.0.0",
|
|
47
47
|
"react-hook-form": "^7.60.0",
|
|
48
48
|
"zod": "^4.3.6",
|
|
49
|
-
"@voyantjs/catalog-react": "0.84.
|
|
50
|
-
"@voyantjs/extras-react": "0.84.
|
|
51
|
-
"@voyantjs/products-react": "0.84.
|
|
52
|
-
"@voyantjs/ui": "0.84.
|
|
49
|
+
"@voyantjs/catalog-react": "0.84.2",
|
|
50
|
+
"@voyantjs/extras-react": "0.84.2",
|
|
51
|
+
"@voyantjs/products-react": "0.84.2",
|
|
52
|
+
"@voyantjs/ui": "0.84.2"
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@voyantjs/i18n": "0.84.
|
|
55
|
+
"@voyantjs/i18n": "0.84.2"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
58
|
"@tanstack/react-query": "^5.100.11",
|
|
@@ -66,11 +66,11 @@
|
|
|
66
66
|
"typescript": "^6.0.2",
|
|
67
67
|
"vitest": "^4.1.2",
|
|
68
68
|
"zod": "^4.3.6",
|
|
69
|
-
"@voyantjs/catalog-react": "0.84.
|
|
70
|
-
"@voyantjs/extras-react": "0.84.
|
|
71
|
-
"@voyantjs/i18n": "0.84.
|
|
72
|
-
"@voyantjs/products-react": "0.84.
|
|
73
|
-
"@voyantjs/ui": "0.84.
|
|
69
|
+
"@voyantjs/catalog-react": "0.84.2",
|
|
70
|
+
"@voyantjs/extras-react": "0.84.2",
|
|
71
|
+
"@voyantjs/i18n": "0.84.2",
|
|
72
|
+
"@voyantjs/products-react": "0.84.2",
|
|
73
|
+
"@voyantjs/ui": "0.84.2",
|
|
74
74
|
"@voyantjs/voyant-typescript-config": "0.1.0"
|
|
75
75
|
},
|
|
76
76
|
"files": [
|