@voyantjs/suppliers-ui 0.15.0 → 0.17.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/README.md CHANGED
@@ -11,3 +11,17 @@ pnpm add @voyantjs/suppliers-ui @voyantjs/suppliers-react @voyantjs/ui @tanstack
11
11
  `@voyantjs/ui` provides the design-system primitives. `@voyantjs/suppliers-react` provides the data-layer hooks. Both are required peers.
12
12
 
13
13
  All components accept a `className` prop and merge it with `cn()`. Wrap or compose to extend; use the registry copy-paste path (`npx shadcn add @voyant/...`) for components you want to fork outright.
14
+
15
+ ## I18n
16
+
17
+ Components render English by default. To localize them, wrap your UI in
18
+ `SuppliersUiMessagesProvider` and import only the locales your app supports.
19
+
20
+ ```tsx
21
+ import { SuppliersUiMessagesProvider } from "@voyantjs/suppliers-ui"
22
+ import { suppliersUiEn } from "@voyantjs/suppliers-ui/i18n/en"
23
+ import { suppliersUiRo } from "@voyantjs/suppliers-ui/i18n/ro"
24
+ ```
25
+
26
+ English-only apps should import only `./i18n/en`. Bilingual apps can import
27
+ `./i18n/en` and `./i18n/ro`.
@@ -1,4 +1,4 @@
1
- import { type SupplierRate, type SupplierService } from "@voyantjs/suppliers-react";
1
+ import type { SupplierRate, SupplierService } from "@voyantjs/suppliers-react";
2
2
  export declare function SupplierServiceRow({ service, rates, expanded, onToggle, onEdit, onDelete, onAddRate, onEditRate, onDeleteRate, }: {
3
3
  service: SupplierService;
4
4
  rates: SupplierRate[];
@@ -1 +1 @@
1
- {"version":3,"file":"supplier-service-row.d.ts","sourceRoot":"","sources":["../../src/components/supplier-service-row.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,eAAe,EACrB,MAAM,2BAA2B,CAAA;AAIlC,wBAAgB,kBAAkB,CAAC,EACjC,OAAO,EACP,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,SAAS,EACT,UAAU,EACV,YAAY,GACb,EAAE;IACD,OAAO,EAAE,eAAe,CAAA;IACxB,KAAK,EAAE,YAAY,EAAE,CAAA;IACrB,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,UAAU,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAA;IACxC,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;CACvC,2CAiHA"}
1
+ {"version":3,"file":"supplier-service-row.d.ts","sourceRoot":"","sources":["../../src/components/supplier-service-row.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAM9E,wBAAgB,kBAAkB,CAAC,EACjC,OAAO,EACP,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,SAAS,EACT,UAAU,EACV,YAAY,GACb,EAAE;IACD,OAAO,EAAE,eAAe,CAAA;IACxB,KAAK,EAAE,YAAY,EAAE,CAAA;IACrB,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,UAAU,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAA;IACxC,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;CACvC,2CAsJA"}
@@ -1,11 +1,13 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { formatAmount, formatUnit, } from "@voyantjs/suppliers-react";
3
2
  import { Badge, Button } from "@voyantjs/ui/components";
4
3
  import { ChevronDown, ChevronRight, Pencil, Plus, Trash2 } from "lucide-react";
4
+ import { useSuppliersUiI18nOrDefault } from "../i18n";
5
5
  export function SupplierServiceRow({ service, rates, expanded, onToggle, onEdit, onDelete, onAddRate, onEditRate, onDeleteRate, }) {
6
- return (_jsxs("div", { className: "rounded-md border", children: [_jsxs("div", { className: "flex items-center gap-3 p-3", children: [_jsx("button", { type: "button", onClick: onToggle, className: "text-muted-foreground hover:text-foreground", children: expanded ? _jsx(ChevronDown, { className: "h-4 w-4" }) : _jsx(ChevronRight, { className: "h-4 w-4" }) }), _jsxs("div", { className: "flex-1", children: [_jsx("span", { className: "text-sm font-medium", children: service.name }), _jsxs("div", { className: "mt-0.5 flex items-center gap-2", children: [_jsx(Badge, { variant: "outline", className: "text-xs capitalize", children: service.serviceType }), service.duration ? (_jsx("span", { className: "text-xs text-muted-foreground", children: service.duration })) : null, service.capacity ? (_jsxs("span", { className: "text-xs text-muted-foreground", children: ["max ", service.capacity, " pax"] })) : null, !service.active ? (_jsx(Badge, { variant: "secondary", className: "text-xs", children: "Inactive" })) : null] })] }), _jsxs("div", { className: "flex items-center gap-1", children: [_jsx(Button, { variant: "ghost", size: "sm", onClick: onEdit, children: _jsx(Pencil, { className: "h-3.5 w-3.5" }) }), _jsx(Button, { variant: "ghost", size: "sm", onClick: onDelete, children: _jsx(Trash2, { className: "h-3.5 w-3.5" }) })] })] }), expanded ? (_jsxs("div", { className: "border-t bg-muted/30 p-3", children: [_jsxs("div", { className: "mb-2 flex items-center justify-between", children: [_jsx("p", { className: "text-xs font-medium uppercase tracking-wide text-muted-foreground", children: "Rates" }), _jsxs(Button, { variant: "outline", size: "sm", onClick: onAddRate, children: [_jsx(Plus, { className: "mr-1 h-3 w-3" }), "Add Rate"] })] }), rates.length === 0 ? (_jsx("p", { className: "py-2 text-center text-xs text-muted-foreground", children: "No rates yet." })) : (_jsx("div", { className: "rounded border bg-background", children: _jsxs("table", { className: "w-full text-xs", children: [_jsx("thead", { children: _jsxs("tr", { className: "border-b text-muted-foreground", children: [_jsx("th", { className: "p-2 text-left font-medium", children: "Name" }), _jsx("th", { className: "p-2 text-left font-medium", children: "Amount" }), _jsx("th", { className: "p-2 text-left font-medium", children: "Unit" }), _jsx("th", { className: "p-2 text-left font-medium", children: "Valid" }), _jsx("th", { className: "p-2 text-left font-medium", children: "Pax" }), _jsx("th", { className: "w-16 p-2" })] }) }), _jsx("tbody", { children: rates.map((rate) => (_jsxs("tr", { className: "border-b last:border-b-0", children: [_jsx("td", { className: "p-2", children: rate.name }), _jsx("td", { className: "p-2 font-mono", children: formatAmount(rate.amountCents, rate.currency) }), _jsx("td", { className: "p-2 capitalize", children: formatUnit(rate.unit) }), _jsx("td", { className: "p-2", children: rate.validFrom || rate.validTo
7
- ? `${rate.validFrom ?? "..."} ${rate.validTo ?? "..."}`
8
- : "-" }), _jsx("td", { className: "p-2", children: rate.minPax || rate.maxPax
9
- ? `${rate.minPax ?? "?"}-${rate.maxPax ?? "?"}`
10
- : "-" }), _jsx("td", { className: "p-2", children: _jsxs("div", { className: "flex items-center gap-1", children: [_jsx("button", { type: "button", onClick: () => onEditRate(rate), className: "text-muted-foreground hover:text-foreground", children: _jsx(Pencil, { className: "h-3 w-3" }) }), _jsx("button", { type: "button", onClick: () => onDeleteRate(rate.id), className: "text-muted-foreground hover:text-destructive", children: _jsx(Trash2, { className: "h-3 w-3" }) })] }) })] }, rate.id))) })] }) }))] })) : null] }));
6
+ const i18n = useSuppliersUiI18nOrDefault();
7
+ const { messages } = i18n;
8
+ return (_jsxs("div", { className: "rounded-md border", children: [_jsxs("div", { className: "flex items-center gap-3 p-3", children: [_jsx("button", { type: "button", onClick: onToggle, className: "text-muted-foreground hover:text-foreground", children: expanded ? _jsx(ChevronDown, { className: "h-4 w-4" }) : _jsx(ChevronRight, { className: "h-4 w-4" }) }), _jsxs("div", { className: "flex-1", children: [_jsx("span", { className: "text-sm font-medium", children: service.name }), _jsxs("div", { className: "mt-0.5 flex items-center gap-2", children: [_jsx(Badge, { variant: "outline", className: "text-xs", children: messages.common.serviceTypeLabels[service.serviceType] }), service.duration ? (_jsx("span", { className: "text-xs text-muted-foreground", children: service.duration })) : null, service.capacity ? (_jsx("span", { className: "text-xs text-muted-foreground", children: messages.common.maxPax.replace("{count}", String(service.capacity)) })) : null, !service.active ? (_jsx(Badge, { variant: "secondary", className: "text-xs", children: messages.common.inactive })) : null] })] }), _jsxs("div", { className: "flex items-center gap-1", children: [_jsx(Button, { variant: "ghost", size: "sm", onClick: onEdit, "aria-label": messages.common.edit, title: messages.common.edit, children: _jsx(Pencil, { className: "h-3.5 w-3.5" }) }), _jsx(Button, { variant: "ghost", size: "sm", onClick: onDelete, "aria-label": messages.common.delete, title: messages.common.delete, children: _jsx(Trash2, { className: "h-3.5 w-3.5" }) })] })] }), expanded ? (_jsxs("div", { className: "border-t bg-muted/30 p-3", children: [_jsxs("div", { className: "mb-2 flex items-center justify-between", children: [_jsx("p", { className: "text-xs font-medium uppercase tracking-wide text-muted-foreground", children: messages.supplierServiceRow.rates }), _jsxs(Button, { variant: "outline", size: "sm", onClick: onAddRate, children: [_jsx(Plus, { className: "mr-1 h-3 w-3" }), messages.supplierServiceRow.addRate] })] }), rates.length === 0 ? (_jsx("p", { className: "py-2 text-center text-xs text-muted-foreground", children: messages.supplierServiceRow.noRates })) : (_jsx("div", { className: "rounded border bg-background", children: _jsxs("table", { className: "w-full text-xs", children: [_jsx("thead", { children: _jsxs("tr", { className: "border-b text-muted-foreground", children: [_jsx("th", { className: "p-2 text-left font-medium", children: messages.supplierServiceRow.columns.name }), _jsx("th", { className: "p-2 text-left font-medium", children: messages.supplierServiceRow.columns.amount }), _jsx("th", { className: "p-2 text-left font-medium", children: messages.supplierServiceRow.columns.unit }), _jsx("th", { className: "p-2 text-left font-medium", children: messages.supplierServiceRow.columns.valid }), _jsx("th", { className: "p-2 text-left font-medium", children: messages.supplierServiceRow.columns.pax }), _jsx("th", { className: "w-16 p-2" })] }) }), _jsx("tbody", { children: rates.map((rate) => (_jsxs("tr", { className: "border-b last:border-b-0", children: [_jsx("td", { className: "p-2", children: rate.name }), _jsx("td", { className: "p-2 font-mono", children: i18n.formatCurrency(rate.amountCents / 100, rate.currency) }), _jsx("td", { className: "p-2", children: messages.common.rateUnitLabels[rate.unit] }), _jsx("td", { className: "p-2", children: rate.validFrom || rate.validTo
9
+ ? `${rate.validFrom ?? messages.supplierServiceRow.validFallback} — ${rate.validTo ?? messages.supplierServiceRow.validFallback}`
10
+ : messages.common.none }), _jsx("td", { className: "p-2", children: rate.minPax || rate.maxPax
11
+ ? `${rate.minPax ?? messages.common.unknown}-${rate.maxPax ?? messages.common.unknown}`
12
+ : messages.common.none }), _jsx("td", { className: "p-2", children: _jsxs("div", { className: "flex items-center gap-1", children: [_jsx("button", { type: "button", onClick: () => onEditRate(rate), "aria-label": messages.common.edit, title: messages.common.edit, className: "text-muted-foreground hover:text-foreground", children: _jsx(Pencil, { className: "h-3 w-3" }) }), _jsx("button", { type: "button", onClick: () => onDeleteRate(rate.id), "aria-label": messages.common.delete, title: messages.common.delete, className: "text-muted-foreground hover:text-destructive", children: _jsx(Trash2, { className: "h-3 w-3" }) })] }) })] }, rate.id))) })] }) }))] })) : null] }));
11
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"suppliers-page.d.ts","sourceRoot":"","sources":["../../src/components/suppliers-page.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AA+CzD,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,cAAc,EACd,QAAQ,EACR,UAAU,EACV,IAAI,EACJ,KAAK,EACL,SAAS,GACV,EAAE;IACD,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAA;IACxC,IAAI,EAAE,QAAQ,EAAE,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,2CAuCA"}
1
+ {"version":3,"file":"suppliers-page.d.ts","sourceRoot":"","sources":["../../src/components/suppliers-page.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AA+DzD,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,cAAc,EACd,QAAQ,EACR,UAAU,EACV,IAAI,EACJ,KAAK,EACL,SAAS,GACV,EAAE;IACD,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAA;IACxC,IAAI,EAAE,QAAQ,EAAE,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,2CA0CA"}
@@ -4,37 +4,45 @@ import { Badge, Button, Input } from "@voyantjs/ui/components";
4
4
  import { DataTable } from "@voyantjs/ui/components/data-table";
5
5
  import { DataTableColumnHeader } from "@voyantjs/ui/components/data-table-column-header";
6
6
  import { Loader2, Plus, Search } from "lucide-react";
7
- const columns = [
8
- {
9
- accessorKey: "name",
10
- header: ({ column }) => _jsx(DataTableColumnHeader, { column: column, title: "Name" }),
11
- },
12
- {
13
- accessorKey: "type",
14
- header: ({ column }) => _jsx(DataTableColumnHeader, { column: column, title: "Type" }),
15
- cell: ({ row }) => (_jsx(Badge, { variant: "outline", className: "capitalize", children: row.original.type })),
16
- },
17
- {
18
- accessorKey: "status",
19
- header: ({ column }) => _jsx(DataTableColumnHeader, { column: column, title: "Status" }),
20
- cell: ({ row }) => (_jsx(Badge, { variant: statusVariant[row.original.status] ?? "secondary", className: "capitalize", children: row.original.status })),
21
- },
22
- {
23
- accessorKey: "city",
24
- header: ({ column }) => _jsx(DataTableColumnHeader, { column: column, title: "City" }),
25
- cell: ({ row }) => row.original.city ?? "-",
26
- },
27
- {
28
- accessorKey: "country",
29
- header: ({ column }) => _jsx(DataTableColumnHeader, { column: column, title: "Country" }),
30
- cell: ({ row }) => row.original.country ?? "-",
31
- },
32
- {
33
- accessorKey: "defaultCurrency",
34
- header: ({ column }) => _jsx(DataTableColumnHeader, { column: column, title: "Currency" }),
35
- cell: ({ row }) => row.original.defaultCurrency ?? "-",
36
- },
37
- ];
7
+ import { useSuppliersUiMessagesOrDefault } from "../i18n";
8
+ function useSupplierColumns() {
9
+ const messages = useSuppliersUiMessagesOrDefault();
10
+ return [
11
+ {
12
+ accessorKey: "name",
13
+ header: ({ column }) => (_jsx(DataTableColumnHeader, { column: column, title: messages.suppliersPage.columns.name })),
14
+ },
15
+ {
16
+ accessorKey: "type",
17
+ header: ({ column }) => (_jsx(DataTableColumnHeader, { column: column, title: messages.suppliersPage.columns.type })),
18
+ cell: ({ row }) => (_jsx(Badge, { variant: "outline", children: messages.common.supplierTypeLabels[row.original.type] })),
19
+ },
20
+ {
21
+ accessorKey: "status",
22
+ header: ({ column }) => (_jsx(DataTableColumnHeader, { column: column, title: messages.suppliersPage.columns.status })),
23
+ cell: ({ row }) => (_jsx(Badge, { variant: statusVariant[row.original.status] ?? "secondary", children: messages.common.supplierStatusLabels[row.original.status] })),
24
+ },
25
+ {
26
+ accessorKey: "city",
27
+ header: ({ column }) => (_jsx(DataTableColumnHeader, { column: column, title: messages.suppliersPage.columns.city })),
28
+ cell: ({ row }) => row.original.city ?? messages.common.none,
29
+ },
30
+ {
31
+ accessorKey: "country",
32
+ header: ({ column }) => (_jsx(DataTableColumnHeader, { column: column, title: messages.suppliersPage.columns.country })),
33
+ cell: ({ row }) => row.original.country ?? messages.common.none,
34
+ },
35
+ {
36
+ accessorKey: "defaultCurrency",
37
+ header: ({ column }) => (_jsx(DataTableColumnHeader, { column: column, title: messages.suppliersPage.columns.currency })),
38
+ cell: ({ row }) => row.original.defaultCurrency ?? messages.common.none,
39
+ },
40
+ ];
41
+ }
38
42
  export function SuppliersPage({ search, onSearchChange, onCreate, onRowClick, rows, total, isPending, }) {
39
- return (_jsxs("div", { className: "flex flex-col gap-6 p-6", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { children: [_jsx("h1", { className: "text-2xl font-bold tracking-tight", children: "Suppliers" }), _jsx("p", { className: "text-sm text-muted-foreground", children: "Manage your hotels, transfers, guides, and service providers." })] }), _jsxs(Button, { onClick: onCreate, children: [_jsx(Plus, { className: "mr-2 h-4 w-4" }), "New Supplier"] })] }), _jsxs("div", { className: "relative max-w-sm", children: [_jsx(Search, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground" }), _jsx(Input, { placeholder: "Search suppliers...", value: search, onChange: (event) => onSearchChange(event.target.value), className: "pl-9" })] }), isPending ? (_jsx("div", { className: "flex items-center justify-center py-12", children: _jsx(Loader2, { className: "h-6 w-6 animate-spin text-muted-foreground" }) })) : (_jsx(DataTable, { columns: columns, data: rows, onRowClick: (row) => onRowClick(row.original) })), _jsxs("p", { className: "text-sm text-muted-foreground", children: ["Showing ", rows.length, " of ", total, " suppliers"] })] }));
43
+ const messages = useSuppliersUiMessagesOrDefault();
44
+ const columns = useSupplierColumns();
45
+ return (_jsxs("div", { className: "flex flex-col gap-6 p-6", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { children: [_jsx("h1", { className: "text-2xl font-bold tracking-tight", children: messages.suppliersPage.title }), _jsx("p", { className: "text-sm text-muted-foreground", children: messages.suppliersPage.description })] }), _jsxs(Button, { onClick: onCreate, children: [_jsx(Plus, { className: "mr-2 h-4 w-4" }), messages.suppliersPage.create] })] }), _jsxs("div", { className: "relative max-w-sm", children: [_jsx(Search, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground" }), _jsx(Input, { placeholder: messages.suppliersPage.searchPlaceholder, value: search, onChange: (event) => onSearchChange(event.target.value), className: "pl-9" })] }), isPending ? (_jsx("div", { className: "flex items-center justify-center py-12", children: _jsx(Loader2, { className: "h-6 w-6 animate-spin text-muted-foreground" }) })) : (_jsx(DataTable, { columns: columns, data: rows, onRowClick: (row) => onRowClick(row.original) })), _jsx("p", { className: "text-sm text-muted-foreground", children: messages.suppliersPage.summary
46
+ .replace("{shown}", String(rows.length))
47
+ .replace("{total}", String(total)) })] }));
40
48
  }
@@ -0,0 +1,70 @@
1
+ export declare const suppliersUiEn: {
2
+ common: {
3
+ edit: string;
4
+ delete: string;
5
+ add: string;
6
+ open: string;
7
+ inactive: string;
8
+ none: string;
9
+ unknown: string;
10
+ maxPax: string;
11
+ supplierTypeLabels: {
12
+ hotel: string;
13
+ transfer: string;
14
+ guide: string;
15
+ experience: string;
16
+ airline: string;
17
+ restaurant: string;
18
+ other: string;
19
+ };
20
+ supplierStatusLabels: {
21
+ active: string;
22
+ inactive: string;
23
+ pending: string;
24
+ };
25
+ serviceTypeLabels: {
26
+ accommodation: string;
27
+ transfer: string;
28
+ experience: string;
29
+ guide: string;
30
+ meal: string;
31
+ other: string;
32
+ };
33
+ rateUnitLabels: {
34
+ per_person: string;
35
+ per_group: string;
36
+ per_night: string;
37
+ per_vehicle: string;
38
+ flat: string;
39
+ };
40
+ };
41
+ suppliersPage: {
42
+ title: string;
43
+ description: string;
44
+ create: string;
45
+ searchPlaceholder: string;
46
+ summary: string;
47
+ columns: {
48
+ name: string;
49
+ type: string;
50
+ status: string;
51
+ city: string;
52
+ country: string;
53
+ currency: string;
54
+ };
55
+ };
56
+ supplierServiceRow: {
57
+ rates: string;
58
+ addRate: string;
59
+ noRates: string;
60
+ columns: {
61
+ name: string;
62
+ amount: string;
63
+ unit: string;
64
+ valid: string;
65
+ pax: string;
66
+ };
67
+ validFallback: string;
68
+ };
69
+ };
70
+ //# sourceMappingURL=en.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoEK,CAAA"}
@@ -0,0 +1,69 @@
1
+ export const suppliersUiEn = {
2
+ common: {
3
+ edit: "Edit",
4
+ delete: "Delete",
5
+ add: "Add",
6
+ open: "Open",
7
+ inactive: "Inactive",
8
+ none: "-",
9
+ unknown: "?",
10
+ maxPax: "max {count} pax",
11
+ supplierTypeLabels: {
12
+ hotel: "Hotel",
13
+ transfer: "Transfer",
14
+ guide: "Guide",
15
+ experience: "Experience",
16
+ airline: "Airline",
17
+ restaurant: "Restaurant",
18
+ other: "Other",
19
+ },
20
+ supplierStatusLabels: {
21
+ active: "Active",
22
+ inactive: "Inactive",
23
+ pending: "Pending",
24
+ },
25
+ serviceTypeLabels: {
26
+ accommodation: "Accommodation",
27
+ transfer: "Transfer",
28
+ experience: "Experience",
29
+ guide: "Guide",
30
+ meal: "Meal",
31
+ other: "Other",
32
+ },
33
+ rateUnitLabels: {
34
+ per_person: "Per person",
35
+ per_group: "Per group",
36
+ per_night: "Per night",
37
+ per_vehicle: "Per vehicle",
38
+ flat: "Flat",
39
+ },
40
+ },
41
+ suppliersPage: {
42
+ title: "Suppliers",
43
+ description: "Manage your hotels, transfers, guides, and service providers.",
44
+ create: "New Supplier",
45
+ searchPlaceholder: "Search suppliers...",
46
+ summary: "Showing {shown} of {total} suppliers",
47
+ columns: {
48
+ name: "Name",
49
+ type: "Type",
50
+ status: "Status",
51
+ city: "City",
52
+ country: "Country",
53
+ currency: "Currency",
54
+ },
55
+ },
56
+ supplierServiceRow: {
57
+ rates: "Rates",
58
+ addRate: "Add Rate",
59
+ noRates: "No rates yet.",
60
+ columns: {
61
+ name: "Name",
62
+ amount: "Amount",
63
+ unit: "Unit",
64
+ valid: "Valid",
65
+ pax: "Pax",
66
+ },
67
+ validFallback: "...",
68
+ },
69
+ };
@@ -0,0 +1,5 @@
1
+ export { suppliersUiEn } from "./en";
2
+ export type { SupplierRateUnit, SupplierServiceType, SupplierStatus, SuppliersUiMessages, SupplierType, } from "./messages";
3
+ export { getSuppliersUiI18n, resolveSuppliersUiMessages, type SuppliersUiMessageOverrides, SuppliersUiMessagesProvider, suppliersUiMessageDefinitions, useSuppliersUiI18n, useSuppliersUiI18nOrDefault, useSuppliersUiMessages, useSuppliersUiMessagesOrDefault, } from "./provider";
4
+ export { suppliersUiRo } from "./ro";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,MAAM,CAAA;AACpC,YAAY,EACV,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,YAAY,GACb,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,KAAK,2BAA2B,EAChC,2BAA2B,EAC3B,6BAA6B,EAC7B,kBAAkB,EAClB,2BAA2B,EAC3B,sBAAsB,EACtB,+BAA+B,GAChC,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,aAAa,EAAE,MAAM,MAAM,CAAA"}
@@ -0,0 +1,3 @@
1
+ export { suppliersUiEn } from "./en";
2
+ export { getSuppliersUiI18n, resolveSuppliersUiMessages, SuppliersUiMessagesProvider, suppliersUiMessageDefinitions, useSuppliersUiI18n, useSuppliersUiI18nOrDefault, useSuppliersUiMessages, useSuppliersUiMessagesOrDefault, } from "./provider";
3
+ export { suppliersUiRo } from "./ro";
@@ -0,0 +1,50 @@
1
+ import type { Supplier, SupplierRate, SupplierService } from "@voyantjs/suppliers-react";
2
+ export type SupplierType = Supplier["type"];
3
+ export type SupplierStatus = Supplier["status"];
4
+ export type SupplierServiceType = SupplierService["serviceType"];
5
+ export type SupplierRateUnit = SupplierRate["unit"];
6
+ export type SuppliersUiMessages = {
7
+ common: {
8
+ edit: string;
9
+ delete: string;
10
+ add: string;
11
+ open: string;
12
+ inactive: string;
13
+ none: string;
14
+ unknown: string;
15
+ maxPax: string;
16
+ supplierTypeLabels: Record<SupplierType, string>;
17
+ supplierStatusLabels: Record<SupplierStatus, string>;
18
+ serviceTypeLabels: Record<SupplierServiceType, string>;
19
+ rateUnitLabels: Record<SupplierRateUnit, string>;
20
+ };
21
+ suppliersPage: {
22
+ title: string;
23
+ description: string;
24
+ create: string;
25
+ searchPlaceholder: string;
26
+ summary: string;
27
+ columns: {
28
+ name: string;
29
+ type: string;
30
+ status: string;
31
+ city: string;
32
+ country: string;
33
+ currency: string;
34
+ };
35
+ };
36
+ supplierServiceRow: {
37
+ rates: string;
38
+ addRate: string;
39
+ noRates: string;
40
+ columns: {
41
+ name: string;
42
+ amount: string;
43
+ unit: string;
44
+ valid: string;
45
+ pax: string;
46
+ };
47
+ validFallback: string;
48
+ };
49
+ };
50
+ //# sourceMappingURL=messages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/i18n/messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAExF,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;AAC3C,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;AAC/C,MAAM,MAAM,mBAAmB,GAAG,eAAe,CAAC,aAAa,CAAC,CAAA;AAChE,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;AAEnD,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,MAAM,CAAA;QACd,GAAG,EAAE,MAAM,CAAA;QACX,IAAI,EAAE,MAAM,CAAA;QACZ,QAAQ,EAAE,MAAM,CAAA;QAChB,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,MAAM,CAAA;QACf,MAAM,EAAE,MAAM,CAAA;QACd,kBAAkB,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;QAChD,oBAAoB,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;QACpD,iBAAiB,EAAE,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAA;QACtD,cAAc,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAA;KACjD,CAAA;IACD,aAAa,EAAE;QACb,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,EAAE,MAAM,CAAA;QACnB,MAAM,EAAE,MAAM,CAAA;QACd,iBAAiB,EAAE,MAAM,CAAA;QACzB,OAAO,EAAE,MAAM,CAAA;QACf,OAAO,EAAE;YACP,IAAI,EAAE,MAAM,CAAA;YACZ,IAAI,EAAE,MAAM,CAAA;YACZ,MAAM,EAAE,MAAM,CAAA;YACd,IAAI,EAAE,MAAM,CAAA;YACZ,OAAO,EAAE,MAAM,CAAA;YACf,QAAQ,EAAE,MAAM,CAAA;SACjB,CAAA;KACF,CAAA;IACD,kBAAkB,EAAE;QAClB,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;QACf,OAAO,EAAE,MAAM,CAAA;QACf,OAAO,EAAE;YACP,IAAI,EAAE,MAAM,CAAA;YACZ,MAAM,EAAE,MAAM,CAAA;YACd,IAAI,EAAE,MAAM,CAAA;YACZ,KAAK,EAAE,MAAM,CAAA;YACb,GAAG,EAAE,MAAM,CAAA;SACZ,CAAA;QACD,aAAa,EAAE,MAAM,CAAA;KACtB,CAAA;CACF,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,162 @@
1
+ import { type LocaleMessageOverrides, type PackageI18nValue } from "@voyantjs/i18n";
2
+ import type { ReactNode } from "react";
3
+ import type { SuppliersUiMessages } from "./messages";
4
+ export declare const suppliersUiMessageDefinitions: {
5
+ en: {
6
+ common: {
7
+ edit: string;
8
+ delete: string;
9
+ add: string;
10
+ open: string;
11
+ inactive: string;
12
+ none: string;
13
+ unknown: string;
14
+ maxPax: string;
15
+ supplierTypeLabels: {
16
+ hotel: string;
17
+ transfer: string;
18
+ guide: string;
19
+ experience: string;
20
+ airline: string;
21
+ restaurant: string;
22
+ other: string;
23
+ };
24
+ supplierStatusLabels: {
25
+ active: string;
26
+ inactive: string;
27
+ pending: string;
28
+ };
29
+ serviceTypeLabels: {
30
+ accommodation: string;
31
+ transfer: string;
32
+ experience: string;
33
+ guide: string;
34
+ meal: string;
35
+ other: string;
36
+ };
37
+ rateUnitLabels: {
38
+ per_person: string;
39
+ per_group: string;
40
+ per_night: string;
41
+ per_vehicle: string;
42
+ flat: string;
43
+ };
44
+ };
45
+ suppliersPage: {
46
+ title: string;
47
+ description: string;
48
+ create: string;
49
+ searchPlaceholder: string;
50
+ summary: string;
51
+ columns: {
52
+ name: string;
53
+ type: string;
54
+ status: string;
55
+ city: string;
56
+ country: string;
57
+ currency: string;
58
+ };
59
+ };
60
+ supplierServiceRow: {
61
+ rates: string;
62
+ addRate: string;
63
+ noRates: string;
64
+ columns: {
65
+ name: string;
66
+ amount: string;
67
+ unit: string;
68
+ valid: string;
69
+ pax: string;
70
+ };
71
+ validFallback: string;
72
+ };
73
+ };
74
+ ro: {
75
+ common: {
76
+ edit: string;
77
+ delete: string;
78
+ add: string;
79
+ open: string;
80
+ inactive: string;
81
+ none: string;
82
+ unknown: string;
83
+ maxPax: string;
84
+ supplierTypeLabels: {
85
+ hotel: string;
86
+ transfer: string;
87
+ guide: string;
88
+ experience: string;
89
+ airline: string;
90
+ restaurant: string;
91
+ other: string;
92
+ };
93
+ supplierStatusLabels: {
94
+ active: string;
95
+ inactive: string;
96
+ pending: string;
97
+ };
98
+ serviceTypeLabels: {
99
+ accommodation: string;
100
+ transfer: string;
101
+ experience: string;
102
+ guide: string;
103
+ meal: string;
104
+ other: string;
105
+ };
106
+ rateUnitLabels: {
107
+ per_person: string;
108
+ per_group: string;
109
+ per_night: string;
110
+ per_vehicle: string;
111
+ flat: string;
112
+ };
113
+ };
114
+ suppliersPage: {
115
+ title: string;
116
+ description: string;
117
+ create: string;
118
+ searchPlaceholder: string;
119
+ summary: string;
120
+ columns: {
121
+ name: string;
122
+ type: string;
123
+ status: string;
124
+ city: string;
125
+ country: string;
126
+ currency: string;
127
+ };
128
+ };
129
+ supplierServiceRow: {
130
+ rates: string;
131
+ addRate: string;
132
+ noRates: string;
133
+ columns: {
134
+ name: string;
135
+ amount: string;
136
+ unit: string;
137
+ valid: string;
138
+ pax: string;
139
+ };
140
+ validFallback: string;
141
+ };
142
+ };
143
+ };
144
+ export type SuppliersUiMessageOverrides = LocaleMessageOverrides<SuppliersUiMessages>;
145
+ export declare function resolveSuppliersUiMessages({ locale, overrides, }: {
146
+ locale: string | null | undefined;
147
+ overrides?: SuppliersUiMessageOverrides | null;
148
+ }): SuppliersUiMessages;
149
+ export declare function getSuppliersUiI18n({ locale, overrides, }: {
150
+ locale?: string | null | undefined;
151
+ overrides?: SuppliersUiMessageOverrides | null;
152
+ }): PackageI18nValue<SuppliersUiMessages>;
153
+ export declare function SuppliersUiMessagesProvider({ children, locale, overrides, }: {
154
+ children: ReactNode;
155
+ locale: string | null | undefined;
156
+ overrides?: SuppliersUiMessageOverrides | null;
157
+ }): import("react/jsx-runtime").JSX.Element;
158
+ export declare const useSuppliersUiI18n: () => PackageI18nValue<SuppliersUiMessages>;
159
+ export declare const useSuppliersUiMessages: () => SuppliersUiMessages;
160
+ export declare function useSuppliersUiI18nOrDefault(): PackageI18nValue<SuppliersUiMessages>;
161
+ export declare function useSuppliersUiMessagesOrDefault(): SuppliersUiMessages;
162
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +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,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAKrD,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGe,CAAA;AAEzD,MAAM,MAAM,2BAA2B,GAAG,sBAAsB,CAAC,mBAAmB,CAAC,CAAA;AASrF,wBAAgB,0BAA0B,CAAC,EACzC,MAAM,EACN,SAAS,GACV,EAAE;IACD,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACjC,SAAS,CAAC,EAAE,2BAA2B,GAAG,IAAI,CAAA;CAC/C,uBAOA;AAED,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EACN,SAAS,GACV,EAAE;IACD,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IAClC,SAAS,CAAC,EAAE,2BAA2B,GAAG,IAAI,CAAA;CAC/C,GAAG,gBAAgB,CAAC,mBAAmB,CAAC,CASxC;AAED,wBAAgB,2BAA2B,CAAC,EAC1C,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,2BAA2B,GAAG,IAAI,CAAA;CAC/C,2CAWA;AAED,eAAO,MAAM,kBAAkB,6CAA6B,CAAA;AAC5D,eAAO,MAAM,sBAAsB,2BAAiC,CAAA;AAEpE,wBAAgB,2BAA2B,0CAE1C;AAED,wBAAgB,+BAA+B,wBAE9C"}
@@ -0,0 +1,44 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { createLocaleFormatters, createPackageMessagesContext, resolvePackageMessages, } from "@voyantjs/i18n";
4
+ import { suppliersUiEn } from "./en";
5
+ import { suppliersUiRo } from "./ro";
6
+ const fallbackLocale = "en";
7
+ export const suppliersUiMessageDefinitions = {
8
+ en: suppliersUiEn,
9
+ ro: suppliersUiRo,
10
+ };
11
+ const suppliersUiContext = createPackageMessagesContext("SuppliersUiMessages");
12
+ const defaultSuppliersUiI18n = {
13
+ messages: suppliersUiEn,
14
+ ...createLocaleFormatters(fallbackLocale),
15
+ };
16
+ export function resolveSuppliersUiMessages({ locale, overrides, }) {
17
+ return resolvePackageMessages({
18
+ definitions: suppliersUiMessageDefinitions,
19
+ fallbackLocale,
20
+ locale,
21
+ overrides,
22
+ });
23
+ }
24
+ export function getSuppliersUiI18n({ locale, overrides, }) {
25
+ const resolvedLocale = locale ?? fallbackLocale;
26
+ return {
27
+ messages: resolveSuppliersUiMessages({
28
+ locale: resolvedLocale,
29
+ overrides,
30
+ }),
31
+ ...createLocaleFormatters(resolvedLocale),
32
+ };
33
+ }
34
+ export function SuppliersUiMessagesProvider({ children, locale, overrides, }) {
35
+ return (_jsx(suppliersUiContext.ResolvedMessagesProvider, { definitions: suppliersUiMessageDefinitions, fallbackLocale: fallbackLocale, locale: locale, overrides: overrides, children: children }));
36
+ }
37
+ export const useSuppliersUiI18n = suppliersUiContext.useI18n;
38
+ export const useSuppliersUiMessages = suppliersUiContext.useMessages;
39
+ export function useSuppliersUiI18nOrDefault() {
40
+ return suppliersUiContext.useOptionalI18n() ?? defaultSuppliersUiI18n;
41
+ }
42
+ export function useSuppliersUiMessagesOrDefault() {
43
+ return useSuppliersUiI18nOrDefault().messages;
44
+ }
@@ -0,0 +1,70 @@
1
+ export declare const suppliersUiRo: {
2
+ common: {
3
+ edit: string;
4
+ delete: string;
5
+ add: string;
6
+ open: string;
7
+ inactive: string;
8
+ none: string;
9
+ unknown: string;
10
+ maxPax: string;
11
+ supplierTypeLabels: {
12
+ hotel: string;
13
+ transfer: string;
14
+ guide: string;
15
+ experience: string;
16
+ airline: string;
17
+ restaurant: string;
18
+ other: string;
19
+ };
20
+ supplierStatusLabels: {
21
+ active: string;
22
+ inactive: string;
23
+ pending: string;
24
+ };
25
+ serviceTypeLabels: {
26
+ accommodation: string;
27
+ transfer: string;
28
+ experience: string;
29
+ guide: string;
30
+ meal: string;
31
+ other: string;
32
+ };
33
+ rateUnitLabels: {
34
+ per_person: string;
35
+ per_group: string;
36
+ per_night: string;
37
+ per_vehicle: string;
38
+ flat: string;
39
+ };
40
+ };
41
+ suppliersPage: {
42
+ title: string;
43
+ description: string;
44
+ create: string;
45
+ searchPlaceholder: string;
46
+ summary: string;
47
+ columns: {
48
+ name: string;
49
+ type: string;
50
+ status: string;
51
+ city: string;
52
+ country: string;
53
+ currency: string;
54
+ };
55
+ };
56
+ supplierServiceRow: {
57
+ rates: string;
58
+ addRate: string;
59
+ noRates: string;
60
+ columns: {
61
+ name: string;
62
+ amount: string;
63
+ unit: string;
64
+ valid: string;
65
+ pax: string;
66
+ };
67
+ validFallback: string;
68
+ };
69
+ };
70
+ //# sourceMappingURL=ro.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ro.d.ts","sourceRoot":"","sources":["../../src/i18n/ro.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoEK,CAAA"}
@@ -0,0 +1,69 @@
1
+ export const suppliersUiRo = {
2
+ common: {
3
+ edit: "Editeaza",
4
+ delete: "Sterge",
5
+ add: "Adauga",
6
+ open: "Deschide",
7
+ inactive: "Inactiv",
8
+ none: "-",
9
+ unknown: "?",
10
+ maxPax: "maxim {count} pax",
11
+ supplierTypeLabels: {
12
+ hotel: "Hotel",
13
+ transfer: "Transfer",
14
+ guide: "Ghid",
15
+ experience: "Experienta",
16
+ airline: "Companie aeriana",
17
+ restaurant: "Restaurant",
18
+ other: "Altul",
19
+ },
20
+ supplierStatusLabels: {
21
+ active: "Activ",
22
+ inactive: "Inactiv",
23
+ pending: "In asteptare",
24
+ },
25
+ serviceTypeLabels: {
26
+ accommodation: "Cazare",
27
+ transfer: "Transfer",
28
+ experience: "Experienta",
29
+ guide: "Ghid",
30
+ meal: "Masa",
31
+ other: "Altul",
32
+ },
33
+ rateUnitLabels: {
34
+ per_person: "Per persoana",
35
+ per_group: "Per grup",
36
+ per_night: "Per noapte",
37
+ per_vehicle: "Per vehicul",
38
+ flat: "Fix",
39
+ },
40
+ },
41
+ suppliersPage: {
42
+ title: "Furnizori",
43
+ description: "Gestioneaza hotelurile, transferurile, ghizii si furnizorii de servicii.",
44
+ create: "Furnizor Nou",
45
+ searchPlaceholder: "Cauta furnizori...",
46
+ summary: "Afisezi {shown} din {total} furnizori",
47
+ columns: {
48
+ name: "Nume",
49
+ type: "Tip",
50
+ status: "Status",
51
+ city: "Oras",
52
+ country: "Tara",
53
+ currency: "Moneda",
54
+ },
55
+ },
56
+ supplierServiceRow: {
57
+ rates: "Tarife",
58
+ addRate: "Adauga Tarif",
59
+ noRates: "Nu exista inca tarife.",
60
+ columns: {
61
+ name: "Nume",
62
+ amount: "Suma",
63
+ unit: "Unitate",
64
+ valid: "Valabil",
65
+ pax: "Pax",
66
+ },
67
+ validFallback: "...",
68
+ },
69
+ };
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export { SupplierServiceRow } from "./components/supplier-service-row";
2
2
  export { SuppliersPage } from "./components/suppliers-page";
3
+ export { getSuppliersUiI18n, resolveSuppliersUiMessages, type SuppliersUiMessageOverrides, type SuppliersUiMessages, SuppliersUiMessagesProvider, suppliersUiEn, suppliersUiMessageDefinitions, suppliersUiRo, useSuppliersUiI18n, useSuppliersUiI18nOrDefault, useSuppliersUiMessages, useSuppliersUiMessagesOrDefault, } from "./i18n";
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,KAAK,2BAA2B,EAChC,KAAK,mBAAmB,EACxB,2BAA2B,EAC3B,aAAa,EACb,6BAA6B,EAC7B,aAAa,EACb,kBAAkB,EAClB,2BAA2B,EAC3B,sBAAsB,EACtB,+BAA+B,GAChC,MAAM,QAAQ,CAAA"}
package/dist/index.js CHANGED
@@ -1,2 +1,3 @@
1
1
  export { SupplierServiceRow } from "./components/supplier-service-row";
2
2
  export { SuppliersPage } from "./components/suppliers-page";
3
+ export { getSuppliersUiI18n, resolveSuppliersUiMessages, SuppliersUiMessagesProvider, suppliersUiEn, suppliersUiMessageDefinitions, suppliersUiRo, useSuppliersUiI18n, useSuppliersUiI18nOrDefault, useSuppliersUiMessages, useSuppliersUiMessagesOrDefault, } from "./i18n";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voyantjs/suppliers-ui",
3
- "version": "0.15.0",
3
+ "version": "0.17.0",
4
4
  "license": "FSL-1.1-Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -14,6 +14,18 @@
14
14
  "types": "./dist/index.d.ts",
15
15
  "import": "./dist/index.js"
16
16
  },
17
+ "./i18n": {
18
+ "types": "./dist/i18n/index.d.ts",
19
+ "import": "./dist/i18n/index.js"
20
+ },
21
+ "./i18n/en": {
22
+ "types": "./dist/i18n/en.d.ts",
23
+ "import": "./dist/i18n/en.js"
24
+ },
25
+ "./i18n/ro": {
26
+ "types": "./dist/i18n/ro.d.ts",
27
+ "import": "./dist/i18n/ro.js"
28
+ },
17
29
  "./components/*": {
18
30
  "types": "./dist/components/*.d.ts",
19
31
  "import": "./dist/components/*.js"
@@ -24,8 +36,11 @@
24
36
  "@tanstack/react-table": "^8.0.0",
25
37
  "react": "^19.0.0",
26
38
  "react-dom": "^19.0.0",
27
- "@voyantjs/suppliers-react": "0.15.0",
28
- "@voyantjs/ui": "0.15.0"
39
+ "@voyantjs/suppliers-react": "0.17.0",
40
+ "@voyantjs/ui": "0.17.0"
41
+ },
42
+ "dependencies": {
43
+ "@voyantjs/i18n": "0.17.0"
29
44
  },
30
45
  "devDependencies": {
31
46
  "@tanstack/react-query": "^5.96.2",
@@ -37,9 +52,10 @@
37
52
  "react-dom": "^19.2.4",
38
53
  "typescript": "^6.0.2",
39
54
  "vitest": "^4.1.2",
40
- "@voyantjs/suppliers-react": "0.15.0",
55
+ "@voyantjs/suppliers-react": "0.17.0",
56
+ "@voyantjs/ui": "0.17.0",
41
57
  "@voyantjs/voyant-typescript-config": "0.1.0",
42
- "@voyantjs/ui": "0.15.0"
58
+ "@voyantjs/i18n": "0.17.0"
43
59
  },
44
60
  "files": [
45
61
  "dist"